EN ESTA PÁGINA
Restricción de acceso TCP para BGP
Descripción de las opciones de seguridad para BGP con TCP
Entre los protocolos de enrutamiento, BGP es único en el uso de TCP como protocolo de transporte. Los pares BGP se establecen mediante configuración manual entre dispositivos de enrutamiento para crear una sesión TCP en el puerto 179. Un dispositivo habilitado para BGP envía periódicamente mensajes keepalive para mantener la conexión.
Con el tiempo, BGP se ha convertido en el protocolo de enrutamiento entre dominios dominante en Internet. Sin embargo, tiene garantías limitadas de estabilidad y seguridad. La configuración de las opciones de seguridad para BGP debe equilibrar las medidas de seguridad adecuadas con costos aceptables. Ningún método ha surgido como superior a otros métodos. Cada administrador de red debe configurar medidas de seguridad que satisfagan las necesidades de la red utilizada.
Para obtener información detallada acerca de los problemas de seguridad asociados con el uso de TCP como protocolo de transporte por parte de BGP, consulte RFC 4272, Análisis de vulnerabilidades de seguridad de BGP.
Consulte también
Ejemplo: Configuración de un filtro para bloquear el acceso TCP a un puerto, excepto desde pares BGP especificados
En este ejemplo se muestra cómo configurar un filtro de firewall sin estado estándar que bloquea todos los intentos de conexión TCP al puerto 179 de todos los solicitantes, excepto de los pares BGP especificados.
Requisitos
No se requiere ninguna configuración especial más allá de la inicialización del dispositivo antes de configurar este ejemplo.
Descripción general
En este ejemplo, se crea un filtro de firewall sin estado que bloquea todos los intentos de conexión TCP al puerto 179 de todos los solicitantes excepto los pares BGP especificados.
El filtro filter_bgp179 de firewall sin estado hace coincidir todos los paquetes desde las interfaces conectadas directamente en el dispositivo A y el dispositivo B hasta el número de puerto de destino 179.
Topología
Figura 1muestra la topología utilizada en este ejemplo. El dispositivo C intenta establecer una conexión TCP con el dispositivo E. El dispositivo E bloquea el intento de conexión. En este ejemplo se muestra la configuración en el dispositivo E.

Configuración
Configuración rápida de CLI
Para configurar rápidamente este ejemplo, copie los siguientes comandos, péguelos en un archivo de texto, elimine los saltos de línea, cambie los detalles necesarios para que coincidan con su configuración de red y, a continuación, copie y pegue los comandos en la CLI en el nivel de [edit] jerarquía.
Dispositivo C
set interfaces ge-1/2/0 unit 10 description to-E set interfaces ge-1/2/0 unit 10 family inet address 10.10.10.10/30 set protocols bgp group external-peers type external set protocols bgp group external-peers peer-as 17 set protocols bgp group external-peers neighbor 10.10.10.9 set routing-options autonomous-system 22
Dispositivo E
set interfaces ge-1/2/0 unit 0 description to-A set interfaces ge-1/2/0 unit 0 family inet address 10.10.10.1/30 set interfaces ge-1/2/1 unit 5 description to-B set interfaces ge-1/2/1 unit 5 family inet address 10.10.10.5/30 set interfaces ge-1/0/0 unit 9 description to-C set interfaces ge-1/0/0 unit 9 family inet address 10.10.10.9/30 set interfaces lo0 unit 2 family inet filter input filter_bgp179 set interfaces lo0 unit 2 family inet address 192.168.0.1/32 set protocols bgp group external-peers type external set protocols bgp group external-peers peer-as 22 set protocols bgp group external-peers neighbor 10.10.10.2 set protocols bgp group external-peers neighbor 10.10.10.6 set protocols bgp group external-peers neighbor 10.10.10.10 set routing-options autonomous-system 17 set firewall family inet filter filter_bgp179 term 1 from source-address 10.10.10.2/32 set firewall family inet filter filter_bgp179 term 1 from source-address 10.10.10.6/32 set firewall family inet filter filter_bgp179 term 1 from destination-port bgp set firewall family inet filter filter_bgp179 term 1 then accept set firewall family inet filter filter_bgp179 term 2 then reject
Configuración del dispositivo E
Procedimiento paso a paso
El ejemplo siguiente requiere que navegue por varios niveles en la jerarquía de configuración. Para obtener información acerca de cómo navegar por la CLI, consulte Uso del editor de CLI en modo de configuración en la Guía del usuario de CLI de Junos OS.
Para configurar el dispositivo E con un filtro de firewall sin estado que bloquee todos los intentos de conexión TCP al puerto 179 de todos los solicitantes, excepto los pares BGP especificados:
Configure las interfaces.
user@E# set interfaces ge-1/2/0 unit 0 description to-A user@E# set interfaces ge-1/2/0 unit 0 family inet address 10.10.10.1/30 user@E# set interfaces ge-1/2/1 unit 5 description to-B user@E# set interfaces ge-1/2/1 unit 5 family inet address 10.10.10.5/30 user@E# set interfaces ge-1/0/0 unit 9 description to-C user@E# set interfaces ge-1/0/0 unit 9 family inet address 10.10.10.9/30
Configure BGP.
[edit protocols bgp group external-peers] user@E# set type external user@E# set peer-as 22 user@E# set neighbor 10.10.10.2 user@E# set neighbor 10.10.10.6 user@E# set neighbor 10.10.10.10
Configure el número de sistema autónomo.
[edit routing-options] user@E# set autonomous-system 17
Defina el término de filtro que acepta intentos de conexión TCP para el puerto 179 de los pares BGP especificados.
[edit firewall family inet filter filter_bgp179] user@E# set term 1 from source-address 10.10.10.2/32 user@E# set term 1 from source-address 10.10.10.6/32 user@E# set term 1 from destination-port bgp user@E# set term 1 then accept
Defina el otro término de filtro para rechazar paquetes de otros orígenes.
[edit firewall family inet filter filter_bgp179] user@E# set term 2 then reject
Aplique el filtro de firewall a la interfaz de circuito cerrado.
[edit interfaces lo0 unit 2 family inet] user@E# set filter input filter_bgp179 user@E# set address 192.168.0.1/32
Resultados
Desde el modo de configuración, ingrese los comandos show firewall, show interfaces, show protocols y show routing-options para confirmar la configuración. Si el resultado no muestra la configuración deseada, repita las instrucciones en este ejemplo para corregir la configuración.
user@E# show firewall family inet { filter filter_bgp179 { term 1 { from { source-address { 10.10.10.2/32; 10.10.10.6/32; } destination-port bgp; } then accept; } term 2 { then { reject; } } } }
user@E# show interfaces lo0 { unit 2 { family inet { filter { input filter_bgp179; } address 192.168.0.1/32; } } } ge-1/2/0 { unit 0 { description to-A; family inet { address 10.10.10.1/30; } } } ge-1/2/1 { unit 5 { description to-B; family inet { address 10.10.10.5/30; } } } ge-1/0/0 { unit 9 { description to-C; family inet { address 10.10.10.9/30; } } }
user@E# show protocols bgp { group external-peers { type external; peer-as 22; neighbor 10.10.10.2; neighbor 10.10.10.6; neighbor 10.10.10.10; } }
user@E# show routing-options autonomous-system 17;
Cuando termine de configurar el dispositivo, ingrese commit en el modo de configuración.
Verificación
Confirme que la configuración funcione correctamente.
- Comprobación de que el filtro está configurado
- Comprobación de las conexiones TCP
- Supervisión del tráfico en las interfaces
Comprobación de que el filtro está configurado
Propósito
Asegúrese de que el filtro aparece en la salida del show firewall filter
comando.
Acción
user@E> show firewall filter filter_bgp179 Filter: filter_bgp179
Comprobación de las conexiones TCP
Propósito
Compruebe las conexiones TCP.
Acción
Desde el modo operativo, ejecute el comando en los dispositivos C y E show system connections extensive
.
El resultado en el dispositivo C muestra el intento de establecer una conexión TCP. El resultado del dispositivo E muestra que las conexiones se establecen únicamente con los dispositivos A y B.
user@C> show system connections extensive | match 10.10.10 tcp4 0 0 10.10.10.9.51872 10.10.10.10.179 SYN_SENT
user@E> show system connections extensive | match 10.10.10 tcp4 0 0 10.10.10.5.179 10.10.10.6.62096 ESTABLISHED tcp4 0 0 10.10.10.6.62096 10.10.10.5.179 ESTABLISHED tcp4 0 0 10.10.10.1.179 10.10.10.2.61506 ESTABLISHED tcp4 0 0 10.10.10.2.61506 10.10.10.1.179 ESTABLISHED
Supervisión del tráfico en las interfaces
Propósito
Utilice el monitor traffic comando para comparar el tráfico de una interfaz que establece una conexión TCP con el tráfico de una interfaz que no establece una conexión TCP.
Acción
Desde el modo operativo, ejecute el monitor traffic comando en la interfaz del dispositivo E al dispositivo B y en la interfaz del dispositivo E al dispositivo C. La siguiente salida de ejemplo comprueba que en el primer ejemplo, se reciben mensajes de confirmación (ack). En el segundo ejemplo, ack los mensajes no se reciben.
user@E> monitor traffic size 1500 interface ge-1/2/1.5 19:02:49.700912 Out IP 10.10.10.5.bgp > 10.10.10.6.62096: P 3330573561:3330573580(19) ack 915601686 win 16384 <nop,nop,timestamp 1869518816 1869504850>: BGP, length: 19 19:02:49.801244 In IP 10.10.10.6.62096 > 10.10.10.5.bgp: . ack 19 win 16384 <nop,nop,timestamp 1869518916 1869518816> 19:03:03.323018 In IP 10.10.10.6.62096 > 10.10.10.5.bgp: P 1:20(19) ack 19 win 16384 <nop,nop,timestamp 1869532439 1869518816>: BGP, length: 19 19:03:03.422418 Out IP 10.10.10.5.bgp > 10.10.10.6.62096: . ack 20 win 16384 <nop,nop,timestamp 1869532539 1869532439> 19:03:17.220162 Out IP 10.10.10.5.bgp > 10.10.10.6.62096: P 19:38(19) ack 20 win 16384 <nop,nop,timestamp 1869546338 1869532439>: BGP, length: 19 19:03:17.320501 In IP 10.10.10.6.62096 > 10.10.10.5.bgp: . ack 38 win 16384 <nop,nop,timestamp 1869546438 1869546338>
user@E> monitor traffic size 1500 interface ge-1/0/0.9 18:54:20.175471 Out IP 10.10.10.9.61335 > 10.10.10.10.bgp: S 573929123:573929123(0) win 16384 <mss 1460,nop,wscale 0,nop,nop,timestamp 1869009240 0,sackOK,eol> 18:54:23.174422 Out IP 10.10.10.9.61335 > 10.10.10.10.bgp: S 573929123:573929123(0) win 16384 <mss 1460,nop,wscale 0,nop,nop,timestamp 1869012240 0,sackOK,eol> 18:54:26.374118 Out IP 10.10.10.9.61335 > 10.10.10.10.bgp: S 573929123:573929123(0) win 16384 <mss 1460,nop,wscale 0,nop,nop,timestamp 1869015440 0,sackOK,eol> 18:54:29.573799 Out IP 10.10.10.9.61335 > 10.10.10.10.bgp: S 573929123:573929123(0) win 16384 <mss 1460,sackOK,eol> 18:54:32.773493 Out IP 10.10.10.9.61335 > 10.10.10.10.bgp: S 573929123:573929123(0) win 16384 <mss 1460,sackOK,eol> 18:54:35.973185 Out IP 10.10.10.9.61335 > 10.10.10.10.bgp: S 573929123:573929123(0) win 16384 <mss 1460,sackOK,eol>
Ejemplo: Configuración de un filtro para limitar el acceso TCP a un puerto basado en una lista de prefijos
En este ejemplo se muestra cómo configurar un filtro de firewall sin estado estándar que limita cierto tráfico TCP y del Protocolo de mensajes de control de Internet (ICMP) destinado al motor de enrutamiento especificando una lista de orígenes de prefijos que contienen pares BGP permitidos.
Requisitos
No se necesita ninguna configuración especial más allá de la inicialización del dispositivo antes de configurar este ejemplo.
Descripción general
En este ejemplo, se crea un filtro de firewall sin estado que bloquea todos los intentos de conexión TCP al puerto 179 de todos los solicitantes, excepto los pares BGP que tienen un prefijo especificado.
Topología
Se crea una lista de prefijos de origen, plist_bgp179, que especifica la lista de prefijos de origen que contienen pares BGP permitidos.
El filtro filter_bgp179 de firewall sin estado hace coincidir todos los paquetes desde la lista plist_bgp179 de prefijos de origen hasta el número de puerto de destino 179.
Configuración
Configuración rápida de CLI
Para configurar rápidamente este ejemplo, copie los siguientes comandos, péguelos en un archivo de texto, elimine los saltos de línea, cambie los detalles necesarios para que coincidan con su configuración de red y, a continuación, copie y pegue los comandos en la CLI en el nivel de [edit] jerarquía.
set policy-options prefix-list plist_bgp179 apply-path "protocols bgp group <*> neighbor <*>" set firewall family inet filter filter_bgp179 term 1 from source-address 0.0.0.0/0 set firewall family inet filter filter_bgp179 term 1 from source-prefix-list plist_bgp179 except set firewall family inet filter filter_bgp179 term 1 from destination-port bgp set firewall family inet filter filter_bgp179 term 1 then reject set firewall family inet filter filter_bgp179 term 2 then accept set interfaces lo0 unit 0 family inet filter input filter_bgp179 set interfaces lo0 unit 0 family inet address 127.0.0.1/32
Configurar el filtro
Procedimiento paso a paso
El ejemplo siguiente requiere que navegue por varios niveles en la jerarquía de configuración. Para obtener información acerca de cómo navegar por la CLI, consulte Uso del editor de CLI en modo de configuración en la Guía del usuario de CLI de Junos OS.
Para configurar el filtro:
Expanda la lista bgp179 de prefijos para incluir todos los prefijos señalados por el grupo del mismo nivel BGP definido por protocols bgp group <*> neighbor <*>.
[edit policy-options prefix-list plist_bgp179] user@host# set apply-path " protocols bgp group <*> neighbor <*>"
Defina el término de filtro que rechaza los intentos de conexión TCP al puerto 179 de todos los solicitantes excepto los pares BGP especificados.
[edit firewall family inet filter filter_bgp179] user@host# set term term1 from source-address 0.0.0.0/0 user@host# set term term1 from source-prefix-list bgp179 except user@host# set term term1 from destination-port bgp user@host# set term term1 then reject
Defina el otro término de filtro para aceptar todos los paquetes.
[edit firewall family inet filter filter_bgp179] user@host# set term term2 then accept
Aplique el filtro de firewall a la interfaz de circuito cerrado.
[edit interfaces lo0 unit 0 family inet] user@host# set filter input filter_bgp179 user@host# set address 127.0.0.1/32
Resultados
Desde el modo de configuración, escriba los comandos , y show policy-options para confirmar la show firewallconfiguración. show interfaces Si el resultado no muestra la configuración deseada, repita las instrucciones en este ejemplo para corregir la configuración.
user@host# show firewall family inet { filter filter_bgp179 { term 1 { from { source-address { 0.0.0.0/0; } source-prefix-list { plist_bgp179 except; } destination-port bgp; } then { reject; } } term 2 { then { accept; } } } }
user@host# show interfaces lo0 { unit 0 { family inet { filter { input filter_bgp179; } address 127.0.0.1/32; } } }
user@host# show policy-options prefix-list plist_bgp179 { apply-path "protocols bgp group <*> neighbor <*>"; }
Cuando termine de configurar el dispositivo, ingrese commit en el modo de configuración.
Verificación
Confirme que la configuración funcione correctamente.
Visualización del filtro de firewall aplicado a la interfaz de circuito cerrado
Propósito
Compruebe que el filtro filter_bgp179 de firewall se aplica al tráfico de entrada IPv4 en la interfaz lo0.0lógica.
Acción
Utilice el show interfaces statistics operational mode
comando para la interfaz lo0.0lógica e incluya la detail opción. En la Protocol inet sección de la sección de salida de comandos, el Input Filters campo muestra el nombre del filtro de firewall sin estado aplicado a la interfaz lógica en la dirección de entrada.
[edit] user@host> show interfaces statistics lo0.0 detail Logical interface lo0.0 (Index 321) (SNMP ifIndex 16) (Generation 130) Flags: SNMP-Traps Encapsulation: Unspecified Traffic statistics: Input bytes : 0 Output bytes : 0 Input packets: 0 Output packets: 0 Local statistics: Input bytes : 0 Output bytes : 0 Input packets: 0 Output packets: 0 Transit statistics: Input bytes : 0 0 bps Output bytes : 0 0 bps Input packets: 0 0 pps Output packets: 0 0 pps Protocol inet, MTU: Unlimited, Generation: 145, Route table: 0 Flags: Sendbcast-pkt-to-re Input Filters: filter_bgp179 Addresses, Flags: Primary Destination: Unspecified, Local: 127.0.0.1, Broadcast: Unspecified, Generation: 138
Ejemplo: Limitar el tamaño del segmento TCP para BGP
En este ejemplo se muestra cómo evitar problemas de vulnerabilidad del Protocolo de mensajes de control de Internet (ICMP) limitando el tamaño del segmento TCP cuando se usa la detección de unidad de transmisión máxima (MTU). El uso de la detección de MTU en rutas TCP es un método para evitar la fragmentación de paquetes BGP.
Requisitos
No se requiere ninguna configuración especial más allá de la inicialización del dispositivo antes de configurar este ejemplo.
Descripción general
TCP negocia un valor de tamaño máximo de segmento (MSS) durante el establecimiento de la conexión de sesión entre dos pares. El valor MSS negociado se basa principalmente en la unidad máxima de transmisión (MTU) de las interfaces a las que están conectados directamente los pares que se comunican. Sin embargo, debido a las variaciones en la MTU de vínculo en la ruta tomada por los paquetes TCP, algunos paquetes de la red que están dentro del valor MSS pueden fragmentarse cuando el tamaño del paquete supera la MTU del vínculo.
Para configurar el valor MSS TCP, incluya la tcp-mss
instrucción con un tamaño de segmento del 1 al 4096.
Si el enrutador recibe un paquete TCP con el bit SYN y la opción MSS establecidas, y la opción MSS especificada en el paquete es mayor que el valor MSS especificado por la tcp-mss
instrucción, el enrutador reemplaza el valor MSS en el paquete con el valor inferior especificado por la tcp-mss
instrucción.
El valor MSS configurado se utiliza como tamaño máximo de segmento para el remitente. La suposición es que el valor MSS TCP utilizado por el remitente para comunicarse con el vecino BGP es el mismo que el valor MSS TCP que el remitente puede aceptar del vecino BGP. Si el valor MSS del vecino BGP es menor que el valor MSS configurado, el valor MSS del vecino BGP se utiliza como tamaño máximo de segmento para el remitente.
Esta característica es compatible con TCP sobre IPv4 y TCP sobre IPv6.
Diagrama de topología
Figura 2muestra la topología utilizada en este ejemplo.

Configuración
Configuración rápida de CLI
Para configurar rápidamente este ejemplo, copie los siguientes comandos, péguelos en un archivo de texto, elimine los saltos de línea, cambie los detalles necesarios para que coincidan con su configuración de red y, a continuación, copie y pegue los comandos en la CLI en el nivel de [edit]
jerarquía.
R0
set interfaces fe-1/2/0 unit 1 family inet address 1.1.0.1/30 set interfaces lo0 unit 1 family inet address 10.255.14.179/32 set protocols bgp group-int tcp-mss 2020 set protocols bgp group int type internal set protocols bgp group int local-address 10.255.14.179 set protocols bgp group int mtu-discovery set protocols bgp group int neighbor 10.255.71.24 tcp-mss 2000 set protocols bgp group int neighbor 10.255.14.177 set protocols bgp group int neighbor 10.0.14.4 tcp-mss 4000 set protocols ospf area 0.0.0.0 interface fe-1/2/0.1 set protocols ospf area 0.0.0.0 interface 10.255.14.179 set routing-options autonomous-system 65000
Procedimiento
Procedimiento paso a paso
El ejemplo siguiente requiere que navegue por varios niveles en la jerarquía de configuración. Para obtener información acerca de cómo navegar por la CLI, consulte Uso del editor de CLI en modo de configuración en la Guía del usuario de CLI de Junos OS.
Para configurar el enrutador R0:
Configure las interfaces.
[edit interfaces] user@R0# set fe-1/2/0 unit 1 family inet address 1.1.0.1/30 user@R0# set lo0 unit 1 family inet address 10.255.14.179/32
Configure un protocolo de puerta de enlace interior (IGP), OSPF en este ejemplo.
[edit protocols ospf area 0.0.0.0] user@R0# set interface fe-1/2/0.1 user@R0# set interface 10.255.14.179
Configure uno o varios grupos BGP.
[edit protocols bgp group int] user@R0# set type internal user@R0# set local-address 10.255.14.179
Configure la detección de MTU para evitar la fragmentación de paquetes.
[edit protocols bgp group int] user@R0# set mtu-discovery
Configure los vecinos BGP, con el MSS TCP establecido globalmente para el grupo o específicamente para los distintos vecinos.
[edit protocols bgo group int] user@R0# set tcp-mss 2020 user@R0# set neighbor 10.255.14.177 user@R0# set neighbor 10.255.71.24 tcp-mss 2000 user@R0# set neighbor 10.0.14.4 tcp-mss 4000
Nota:La configuración de vecino de MSS TCP anula la configuración de grupo.
Configurar el sistema autónomo local.
[edit routing-options] user@R0# set autonomous-system 65000
Resultados
Desde el modo de configuración, escriba los comandos , y show routing-options
para confirmar la show interfaces
configuración. show protocols
Si el resultado no muestra la configuración deseada, repita las instrucciones en este ejemplo para corregir la configuración.
user@R0# show interfaces fe-1/2/0 { unit 1 { family inet { address 1.1.0.1/30; } } } lo0 { unit 1 { family inet { address 10.255.14.179/32; } } }
user@R0# show protocols bgp { group int { type internal; local-address 10.255.14.179; mtu-discovery; tcp-mss 2020; neighbor 10.255.71.24 { tcp-mss 2000; } neighbor 10.255.14.177; neighbor 10.0.14.4 { tcp-mss 4000; } } } ospf { area 0.0.0.0 { interface fe-1/2/0.1; interface 10.255.14.179; } }
user@R0# show routing-options autonomous-system 65000;
Cuando termine de configurar el dispositivo, ingrese commit
en el modo de configuración.
Verificación
Para confirmar que la configuración funciona correctamente, ejecute los siguientes comandos:
show system connections extensive | find <neighbor-address>
, para comprobar el valor de MSS TCP negociado.monitor traffic interface
, para supervisar el tráfico BGP y asegurarse de que el valor MSS TCP configurado se utiliza como opción MSS en el paquete TCP SYN.
Solución de problemas
Cálculo de MSS con MTU Discovery
Problema
Considere un ejemplo en el que dos dispositivos de enrutamiento (R1 y R2) tienen una conexión interna BGP (IBGP). En ambos enrutadores, las interfaces conectadas tienen 4034 como MTU IPv4.
user@R1# show protocols bgp | display set [edit] set protocols bgp group ibgp type internal set protocols bgp group ibgp local-address 45.45.45.2 set protocols bgp group ibgp mtu-discovery set protocols bgp group ibgp neighbor 45.45.45.1
user@R1# run show interfaces xe-0/0/3 extensive | match mtu Link-level type: Ethernet, MTU: 4048, LAN-PHY mode, Speed: 10Gbps, FIFO errors: 0, HS link CRC errors: 0, MTU errors: 0, Resource errors: 0 Protocol inet, MTU: 4034, Generation: 180, Route table: 0 Protocol multiservice, MTU: Unlimited, Generation: 181, Route table: 0
En la siguiente captura de paquetes en el dispositivo R1, el MSS negociado es 3994. En la show system connections extensive
información para MSS, se establece en 2048.
05:50:01.575218 Out Juniper PCAP Flags [Ext], PCAP Extension(s) total length 16 Device Media Type Extension TLV #3, length 1, value: Ethernet (1) Logical Interface Encapsulation Extension TLV #6, length 1, value: Ethernet (14) Device Interface Index Extension TLV #1, length 2, value: 137 Logical Interface Index Extension TLV #4, length 4, value: 69 -----original packet----- 00:21:59:e1:e8:03 > 00:19:e2:20:79:01, ethertype IPv4 (0x0800), length 78: (tos 0xc0, ttl 64, id 53193, offset 0, flags [DF], proto: TCP (6), length: 64) 45.45.45.2.62840 > 45.45.45.1.bgp: S 2939345813:2939345813(0) win 16384 **mss 3994,nop,wscale 0,nop,nop,timestamp 70559970 0,sackOK,eol> 05:50:01.575875 In Juniper PCAP Flags [Ext, no-L2, In], PCAP Extension(s) total length 16 Device Media Type Extension TLV #3, length 1, value: Ethernet (1) Logical Interface Encapsulation Extension TLV #6, length 1, value: Ethernet (14) Device Interface Index Extension TLV #1, length 2, value: 137 Logical Interface Index Extension TLV #4, length 4, value: 69 -----original packet----- PFE proto 2 (ipv4): (tos 0xc0, ttl 255, id 37709, offset 0, flags [DF], proto: TCP (6), length: 64) 45.45.45.1.bgp > 45.45.45.2.62840: S 2634967984:2634967984(0) ack 2939345814 win 16384 **mss 3994,nop,wscale 0,nop,nop,timestamp 174167273 70559970,sackOK,eol>
user@R1# run show system connections extensive | find 45.45 tcp4 0 0 45.45.45.2.62840 45.45.45.1.179 ESTABLISHED sndsbcc: 0 sndsbmbcnt: 0 sndsbmbmax: 131072 sndsblowat: 2048 sndsbhiwat: 16384 rcvsbcc: 0 rcvsbmbcnt: 0 rcvsbmbmax: 131072 rcvsblowat: 1 rcvsbhiwat: 16384 proc id: 19725 proc name: rpd iss: 2939345813 sndup: 2939345972 snduna: 2939345991 sndnxt: 2939345991 sndwnd: 16384 sndmax: 2939345991 sndcwnd: 10240 sndssthresh: 1073725440 irs: 2634967984 rcvup: 2634968162 rcvnxt: 2634968162 rcvadv: 2634984546 rcvwnd: 16384 rtt: 0 srtt: 1538 rttv: 1040 rxtcur: 1200 rxtshift: 0 rtseq: 2939345972 rttmin: 1000 mss: 2048
Solución
Este es el comportamiento esperado con Junos OS. El valor MSS es igual al valor MTU menos los encabezados IP o IPv6 y TCP. Esto significa que el valor de MSS es generalmente 40 bytes menor que la MTU (para IPv4) y 60 bytes menor que la MTU (para IPv6). Este valor se negocia entre los pares. En este ejemplo, es 4034 - 40 = 3994. Junos OS redondea este valor a un múltiplo de 2 KB. El valor es 3994 / 2048 * 2048=2048. Por lo tanto, no es necesario ver el mismo valor MSS con en la show system connections
salida.
3994 / 2048 = 1.95
1,95 se redondea a 1.
1 * 2048 = 2048