¿Por qué BGP se basa en TCP 1027 en lugar de 179?

¿Por qué la dirección externa BGP es el puerto 1027?

Utilizo BGP para conectar el Router1 y el Router2, pero cuando muestro el progreso de TCP :

Router1>show tcp brief TCB Local Address Foreign Address (state) 4E976890 10.0.0.1.179 10.0.0.2.1027 ESTABLISHED 

Decimos que el BGP se basa en el puerto TCP 179. ¿Por qué el BGP del Router2 está en el puerto 1027?

Answer

Un lado de la conexión tendrá un número de puerto arbitrario, el otro estará en 179.

Cisco Press «BGP Fundamentals» tiene una buena explicación ( link )

el vecino con la dirección IP más alta administra El enrutador que inicia la solicitud usa un puerto de origen dinámico, pero el puerto de destino es siempre el 179.

El ejemplo 1-1 muestra una sesión BGP establecida usando el comando show tcp brief para mostrar las sesiones TCP activas entre enrutadores. Observe que el puerto de origen TCP es 179 y el puerto de destino es 59884 en R1, y los puertos son opuestos en R2.

Example 1-1: Established BGP session RP/0/0/CPU0:R1# show tcp brief | exc "LISTEN|CLOSED" PCB VRF-ID Recv-Q Send-Q Local Address Foreign Address State 0x088bcbb8 0x60000000 0 0 10.1.12.1:179 10.1.12.2:59884 ESTAB R2# show tcp brief TCB Local Address Foreign Address (state) EF153B88 10.1.12.2. 59884 10.1.12.1.179 ESTAB 

Esto es igual que cualquier otra conexión TCP: el lado abierto pasivo se sienta y espera en un número de puerto conocido; el lado abierto activo utiliza un puerto arbitrario. Esto hace que sea mucho más fácil administrar enlaces TCP de muchos a muchos.

Comentarios

  • Qué ' ¿Es la forma correcta de proteger estos puertos aleatorios en iptables?
  • La pregunta es acerca de los enrutadores Cisco, ¿qué desea proteger con iptables?
  • @bswinnerton: lo más probable es que solo filtre el tráfico que inicia la conexión (--dport 179) y deje que el mecanismo de seguimiento de la conexión maneje las respuestas (--state ESTABLISHED, por ejemplo?)

Respuesta

Puertos de origen vs destino TCP.

Para dar un ejemplo diferente: los servidores HTTP escuchan en el puerto TCP 80. Por lo tanto, cuando se conecta a un servidor web, automáticamente utilizará TCP / 80 como puerto de destino. Sin embargo, el puerto de origen es aleatorio por encima de 1024.

Exactamente lo mismo sucede con BGP: el cliente (el enrutador que inicia la conexión) se conectará al puerto de destino TCP 179. Pero el puerto de origen para eso la conexión será un puerto alto aleatorio.

Respuesta

En general, el BGP use el puerto TCP 179 como servicio BGP. el cliente conecta el puerto de servicio BGP no hay límite.

como el servidor SSH usa 22 como su puerto, no hay límite para el puerto del cliente.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *