Post on 12-Jun-2015
BGP
Sistema Autónomo
• Un Sistema Autónomo (AS) está formado por un conjunto de routers que tienen:
– Un protocolo de routing común (posiblemente también rutas estáticas)
– Una gestión común
• Normalmente cada ISP tiene al menos un sistema autónomo (a veces varios).
• También las grandes organizaciones (las que están conectadas a más de un proveedor).
• El AS se identifica por un número de 16 bits. Los números de AS los asignan los RIR (Registros Regionales).
• Los valores del 64512 al 65535 están reservados para uso privado (RFC 1930). Equivalen a las direcciones privadas
• Ejemplos de AS: RedIRIS: 766. Univ. Valencia: 65432
Un AS es un grupo de routers que comparten las mismas políticas de enrutamiento, y están bajo un mismo dominio administrativo.
Un AS puede ser una colección de routers corriendo un mismo IGP, o bien, usando variados protocolos de enrutamiento pero dichos routers perteneciendo a una misma organización.
En cualquier caso, el mundo exterior verá al AS como una solo entidad.
Un AS es un conjunto de redes o equipos de redes bajo una misma administración técnica.
Los IGPs operan al interior de un AS.
BGP es usado entre ASs.
BGP garantiza el intercambio de información de enrutamiento libre de loops.
Protocolo de routing externo
(entre ASes): BGP (Border
Gateway Protocol)
• Necesario incluir factores „políticos‟ en el cálculo de rutas entre ASes. Requiere otros protocolos.
• Hasta 1990 se usaba EGP (Exterior Gateway Protocol).
• En 1989 se desarrolló BGP. Hoy se usa la versión 4 (BGP-4 incluye soporte de CIDR)
• Usado por prácticamente todos los proveedores de Internet en la comunicación de rutas entre ASes.
BGP (Border Gateway Protocol)
• Algoritmo de vector distancia modificado: además de la interfaz y el costo se incluye la ruta completa en cada caso.
• El router descubre y descarta las rutas que pasan por él mismo.
Así evita el problema de la cuenta a infinito. • La métrica suele ser la más simple posible: número de saltos. • Permite introducir restricciones o reglas „políticas‟. Una ruta que
viola estas reglas recibe una distancia infinito.
ISP de
tránsito
ISP
nacional
ISP
regional
ISP
local
ISP de
tránsito
ISP de
tránsito
ISP
nacional
ISP
nacional ISP
nacional
ISP
regional ISP
regional ISP
regional ISP
regional
ISP
local
ISP
local
ISP
local
ISP
local
ISP
local
Proveedor
Cliente
Modelo jerárquico de Internet
Aspectos basicos
Cada enrutador que utiliza BGP debe usar un número de AS. Éstos pueden ser privados o públicos.
La Internet Assigned Numbers Authority (IANA) está llevando a cabo una política en que insta a las organizaciones que se conectan a un solo ISP, y que están bajo sus políticas de enrutamiendo, a usar números de AS privados (64512 al 65535).
Estos números de AS privados aparecen sólo dentro de la red del proveedor y son reemplazados por el o los números de AS públicos una vez que estas actualizaciones dejan el AS privado.
BGP le da conectividad a la Internet
Sesiones BGP
Un “BGP peer”, también conocido como “compañero BGP” es un término usado para describir a un router que ha establecido una relación con otro a través de BGP.
2 routers que hayan formado una conexión TCP (puerto 179) para intercambiar información de enrutamiento por medio de BGP, son llamados “BGP Peers”.
Sesiones eBGP
Cuando BGP está corriendo entre vecinos que pertenecen a distintos AS, se dice que entre ellos existe una sesión eBGP.
Compañeros eBGP, por defecto, necesitan estar directamente conectados.
Sesiones iBGP
Cuando BGP está corriendo entre vecinos dentro de un mismo
AS, se dice que han establecido una sesión iBGP.
Tipos de mensajes BGP BGP define los siguientes mensajes:
Open
Se anuncia Holdtime y BGP router ID entre otros parámetros.
Keepalive
Update
Se publican los atributos de un trayecto en particular, así como las rutas o prefijos que pueden ser alcanzados a través de dicho trayecto.
Notification
Se envían cuando se ha detectado un error.
La sesión BGP es cerrada una vez que se ha enviado o recibido.
Tablas usadas por BGP
Tabla de Vecinos o “Neighbor”
Lista los vecinos BGP, es decir, aquellos routers con quienes se ha establecido una sesión iBGP o eBGP.
Tabla BGP (forwarding database)
Lista las redes aprendidas de cada vecino o neighbor.
Puede contener múltiples trayectorias hacia una red en particular.
Contiene los atributos BGP para cada trayectoria.
Tabla de enrutamiento IP
Lista de las mejores trayectorias para cada red. de destino.
Comandos BGP
BGP Terms Comando neighbor
BGP usando direcciones Loopback
Ejemplo: BGP Peering
RouterA# show ip bgp summary BGP router identifier 10.1.1.1, local AS number 65001 BGP table version is 124, main routing table version 124 9 network entries using 1053 bytes of memory 22 path entries using 1144 bytes of memory 12/5 BGP path/bestpath attribute entries using 1488 bytes of memory 6 BGP AS-PATH entries using 144 bytes of memory 0 BGP route-map cache entries using 0 bytes of memory 0 BGP filter-list cache entries using 0 bytes of memory BGP using 3829 total bytes of memory BGP activity 58/49 prefixes, 72/50 paths, scan interval 60 secs Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd 10.1.0.2 4 65001 11 11 124 0 0 00:02:28 8 172.31.1.3 4 64998 21 18 124 0 0 00:01:13 6 172.31.11.4 4 64999 11 10 124 0 0 00:01:11 6
RouterA#sh ip bgp neighbors
BGP neighbor is 172.31.1.3, remote AS 64998, external link
BGP version 4, remote router ID 172.31.2.3
BGP state = Established, up for 00:19:10
Last read 00:00:10, last write 00:00:10, hold time is 180, keepalive
interval is 60 seconds
Neighbor capabilities:
Route refresh: advertised and received(old & new)
Address family IPv4 Unicast: advertised and received
Message statistics:
InQ depth is 0
OutQ depth is 0
Sent Rcvd
Opens: 7 7
Notifications: 0 0
Updates: 13 38
<output omitted>
Ejemplo: Comando show ip bgp neighbors
Ejemplo: Comando show ip bgp router#show ip bgp
BGP table version is 14, local router ID is 172.31.11.1
Status codes: s suppressed, d damped, h history, * valid, > best, i -
internal, r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
*> 10.1.0.0/24 0.0.0.0 0 32768 i
* i 10.1.0.2 0 100 0 i
*> 10.1.1.0/24 0.0.0.0 0 32768 i
*>i10.1.2.0/24 10.1.0.2 0 100 0 i
*> 10.97.97.0/24 172.31.1.3 0 64998 64997 i
* 172.31.11.4 0 64999 64997 i
* i 172.31.11.4 0 100 0 64999 64997 i
*> 10.254.0.0/24 172.31.1.3 0 0 64998 i
* 172.31.11.4 0 64999 64998 i
* i 172.31.1.3 0 100 0 64998 i
r> 172.31.1.0/24 172.31.1.3 0 0 64998 i
r 172.31.11.4 0 64999 64998 i
r i 172.31.1.3 0 100 0 64998 i
*> 172.31.2.0/24 172.31.1.3 0 0 64998 i
<output omitted>
Reseteado de sesiones BGP
Resetando una sesión BGP Cuando se alteran listas de filtrado de rutas o atributos BGP, los
cambios toman efecto inmediatamente, pero sólo la próxima vez que se publique o reciba una actualización referente a esa ruta, la nueva política será usada.
Esto puede tomar un tiempo considerable, por lo cual es necesario forzar a que una actualización se publique o solicite, acelerando el proceso.
Es necesario gatillar una actualización para asegurar que la nueva política sea inmediatamente aplicada a todos los prefijos y rutas en cuestión.
Formas de realizar esto:
Hard reset
Soft reset
Route refresh
Router#
Resetea todas las sesiones BGP presentes
Tabla de forwaring BGP es descartada.
Sesión BGP realiza una transición desde Established a Idle; todo debe ser reaprendido.
Hard Reset de sesiones
clear ip bgp [neighbor-address]
Resetea una sesión en particular.
La sesión BGP realiza una transición desde Established a Idle; todo lo que provino de este vecino debe ser reaprendido.
Menos drástico que clear ip bgp *.
clear ip bgp *
Router#
Router#
Soft Reset de salida
clear ip bgp {*|neighbor-address} [soft out]
Router#
Las rutas aprendidas de ese vecino no se pierden.
El router reenvía toda la información BGP al vecino sin necesidad de resetear la conexión.
La conexión permanece establecida.
Esta opción es altamente recomendada cuando se está cambiando una política de salida.
La opción NO ayuda si se está cambiando una política de entrada.