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, el BGP es único en el uso de TCP como su 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 de keepalive para mantener la conexión.
Con el tiempo, el BGP se ha convertido en el protocolo de enrutamiento interdominio dominante en Internet. Sin embargo, tiene garantías limitadas de estabilidad y seguridad. La configuración de 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 que se utiliza.
Para obtener información detallada sobre los problemas de seguridad asociados con el uso de TCP como protocolo de transporte por el BGP, consulte RFC 4272, Análisis de vulnerabilidades de seguridad del 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 estándar sin estado que bloquea todos los intentos de conexión TCP de 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 de 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 los dispositivos A y B hasta el número de puerto de destino 179.
Topología
Figura 1 muestra la topología utilizada en este ejemplo. El dispositivo C intenta hacer una conexión TCP al 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, luego, copie y pegue los comandos en la CLI en el [edit] nivel de 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
En el ejemplo siguiente, se requiere navegar por varios niveles en la jerarquía de configuración. Para obtener más información sobre cómo navegar por la CLI, consulte Uso del editor de CLI en el modo de configuración en la Guía del usuario de la 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 de puerto 179 de todos los solicitantes, excepto de 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 del 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 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 otras fuentes.
[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, confirme la configuración ingresando los show firewallcomandos , show interfaces, show protocolsy show routing-options . Si el resultado no muestra la configuración deseada, repita las instrucciones de 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;
Si ha terminado de configurar el dispositivo, ingrese commit desde el modo de configuración.
Verificación
Confirme que la configuración funciona correctamente.
- Comprobación de que el filtro está configurado
- Verificar las conexiones TCP
- Monitoreo 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
Verificar las conexiones TCP
Propósito
Verifique las conexiones TCP.
Acción
Desde el modo operativo, ejecute el comando en los show system connections extensive
dispositivos C y E.
El resultado en el dispositivo C muestra el intento de establecer una conexión TCP. La salida del dispositivo E muestra que las conexiones se establecen solo 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
Monitoreo del tráfico en las interfaces
Propósito
Utilice el monitor traffic comando para comparar el tráfico en una interfaz que establece una conexión TCP con el tráfico en 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. El siguiente resultado de ejemplo verifica que en el primer ejemplo, se reciban mensajes de confirmación (ack). En el segundo ejemplo, ack no se reciben mensajes.
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 estándar sin estado que limite cierto tráfico tcp y de protocolo de mensajes de control de Internet (ICMP) destinado al motor de enrutamiento especificando una lista de fuentes de prefijo que contienen pares de BGP permitidos.
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 de 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 de BGP permitidos.
El filtro filter_bgp179 de firewall sin estado hace coincidir todos los paquetes de la lista plist_bgp179 de prefijos de origen con 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, luego, copie y pegue los comandos en la CLI en el [edit] nivel de 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
Configure el filtro
Procedimiento paso a paso
En el ejemplo siguiente, se requiere navegar por varios niveles en la jerarquía de configuración. Para obtener más información sobre cómo navegar por la CLI, consulte Uso del editor de CLI en el modo de configuración en la Guía del usuario de la CLI de Junos OS.
Para configurar el filtro:
Expanda la lista bgp179 de prefijos para incluir todos los prefijos a los que apunta el grupo de pares bgp definido por protocols bgp group <*> neighbor <*>.
[edit policy-options prefix-list plist_bgp179] user@host# set apply-path " protocolsbgp group <*> neighbor <*>"
Defina el término de filtro que rechaza los intentos de conexión TCP de 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, confirme la configuración ingresando los show firewallcomandos , show interfacesy show policy-options . Si el resultado no muestra la configuración deseada, repita las instrucciones de 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 <*>"; }
Si ha terminado de configurar el dispositivo, ingrese commit desde el modo de configuración.
Verificación
Confirme que la configuración funciona 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 aplique 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 utiliza la detección de la unidad máxima de transmisión (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 de segmento máximo (MSS) durante el establecimiento de conexión de sesión entre dos pares. El valor de MSS negociado se basa principalmente en la unidad de transmisión máxima (MTU) de las interfaces a las que están conectados directamente los pares comunicantes. 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 bien dentro del valor de MSS pueden fragmentarse cuando el tamaño del paquete supera la MTU del vínculo.
Para configurar el valor TCP MSS, 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 el conjunto de opciones MSS, y la opción MSS especificada en el paquete es mayor que el valor MSS especificado por la tcp-mss
instrucción, el enrutador sustituye el valor MSS en el paquete por el valor inferior especificado por la tcp-mss
instrucción.
El valor de MSS configurado se utiliza como el tamaño máximo de segmento para el remitente. La suposición es que el valor TCP MSS utilizado por el remitente para comunicarse con el vecino del BGP es el mismo que el valor TCP MSS que el remitente puede aceptar del vecino del BGP. Si el valor MSS del vecino del BGP es menor que el valor de MSS configurado, el valor MSS del vecino del BGP se utiliza como el tamaño máximo de segmento para el remitente.
Esta función se admite con TCP a través de IPv4 y TCP a través de IPv6.
Diagrama de topología
Figura 2 muestra 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, luego, copie y pegue los comandos en la CLI en el [edit]
nivel de 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
En el ejemplo siguiente, se requiere navegar por varios niveles en la jerarquía de configuración. Para obtener más información sobre cómo navegar por la CLI, consulte Uso del editor de CLI en el modo de configuración en la Guía del usuario de la 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 más 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 del BGP, con el TCP MSS establecido globalmente para el grupo o específicamente para los diversos 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 TCP MSS anula la configuración de grupo.
Configure el sistema autónomo local.
[edit routing-options] user@R0# set autonomous-system 65000
Resultados
Desde el modo de configuración, confirme la configuración ingresando los show interfaces
comandos , show protocols
y show routing-options
. Si el resultado no muestra la configuración deseada, repita las instrucciones de 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;
Si ha terminado de configurar el dispositivo, ingrese commit
desde 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 TCP MSS negociado.monitor traffic interface
, para supervisar el tráfico BGP y para asegurarse de que el valor de TCP MSS configurado se utiliza como la opción MSS en el paquete TCP SYN.
Solución de problemas
Cálculo de MSS con descubrimiento de MTU
Problema
Considere un ejemplo en el que dos dispositivos de enrutamiento (R1 y R2) tienen una conexión bgp interna (IBGP). En ambos enrutadores, las interfaces conectadas tienen 4034 como la 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 de 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 de MSS es igual al valor de MTU menos los encabezados IP o IPv6 y TCP. Esto significa que el valor de MSS generalmente es 40 bytes menos que la MTU (para IPv4) y 60 bytes menos 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 de MSS con en el show system connections
resultado.
3994 / 2048 = 1.95
1,95 se redondea a 1.
1 * 2048 = 2048