You are on page 1of 32

Orgenes y Objetivos de BGP Operacin Mensajes, Atributos y Estados Procesos de Seleccin de Rutas

Introduccin a BGP
Javier Ger, Mariano Beir
Facultad de Ingeniera UBA

2 de noviembre de 2010

Introduccin a los Sistemas Distribuidos http://www..uba.ar/materias/7543

Javier Ger, Mariano Beir

Introduccin a BGP

Orgenes y Objetivos de BGP Operacin Mensajes, Atributos y Estados Procesos de Seleccin de Rutas

Temario

Orgenes y Objetivos de BGP Operacin Sesiones EBGP e IBGP RIB (Routing Information Base) Mensajes, Atributos y Estados Procesos de Seleccin de Rutas

Javier Ger, Mariano Beir

Introduccin a BGP

Orgenes y Objetivos de BGP Operacin Mensajes, Atributos y Estados Procesos de Seleccin de Rutas

EGP (External Gateway Protocol)


Entorno originalmente jerrquico No provee proteccin contra bucles (loops) Se enva la tabla de ruteo entera a intervalos regulares

Javier Ger, Mariano Beir

Introduccin a BGP

Orgenes y Objetivos de BGP Operacin Mensajes, Atributos y Estados Procesos de Seleccin de Rutas

Internet
La topologa de Internet cambi a un esquema de proveedores de servicios (ISP) de distintos niveles (tiers)
ISPs locales, regionales, globales

Tambin cambi el propsito de Internet, de una red de investigacin a una red comercial En denitiva, cada vez ms, una topologa asemejable a un grafo y con requerimientos de trnsito ms complejos

Javier Ger, Mariano Beir

Introduccin a BGP

Orgenes y Objetivos de BGP Operacin Mensajes, Atributos y Estados Procesos de Seleccin de Rutas

Entorno complejo (grafo)

Javier Ger, Mariano Beir

Introduccin a BGP

Orgenes y Objetivos de BGP Operacin Mensajes, Atributos y Estados Procesos de Seleccin de Rutas

Objetivos de un protocolo de ruteo de Internet


Qu debe soportar el protocolo de ruteo de Internet? Trabajar con topologas complejas Polticas de ruteo complejas para soportar polticas administrativas de cada ISP Escalar anuncios a cientos de miles de rutas Intercambio conable de informacin BGPv4 cumple con estos requisitos

Javier Ger, Mariano Beir

Introduccin a BGP

Orgenes y Objetivos de BGP Operacin Mensajes, Atributos y Estados Procesos de Seleccin de Rutas

BGP: Miscelneas
BGP es un protocolo del tipo path-vector: secuencia de ASes (1) y direccin del next-hop (2) que conforman una ruta a un cierto destino Transporte conable de la informacin de ruteo en TCP (puerto 179) Anuncios incrementales Aplicacin Protocolo de ruteo? Sistema Autnomo (AS) es un conjunto de routers (equipos de capa 3) bajo una misma autoridad administrativa RFC 4271, del 2006 (actualiz RFC 1771 original de 1995). Varias RFCs con modicaciones
Javier Ger, Mariano Beir Introduccin a BGP

Orgenes y Objetivos de BGP Operacin Mensajes, Atributos y Estados Procesos de Seleccin de Rutas

BGP: RFCs
RFC 4271, A Border Gateway Protocol (BGP-4) (actualiza RFC 1771) RFC 1772, Application of the Border Gateway Protocol in the Internet RFC 1966, BGP Route Reection: An Alternative to Full-Mesh I-BGP RFC 1997, BGP Communities Attribute RFC 2270, Using a Dedicated AS for Sites Homed to a Single Provider RFC 2385, Protection of BGP Sessions through TCP MD5 Signature RFC 2439, BGP Route Flap Damping RFC 2842, Capabilities Advertisement with BGP-4 RFC 2858, Multiprotocol Extensions for BGP-4 RFC 2918, Route Refresh Capability for BGP-4 RFC 3065, AS Confederations for BGP
Javier Ger, Mariano Beir Introduccin a BGP

Orgenes y Objetivos de BGP Operacin Mensajes, Atributos y Estados Procesos de Seleccin de Rutas

Sesiones EBGP e IBGP RIB (Routing Information Base)

Operacin de BGP
BGP permite anunciar informacin de ruteo entre 2 routers Para ello, ambos equipos deben haber establecido una sesin (o conexin lgica) BGP entre ellos, por lo cual se dice que ambos son vecinos (neighbors o peers) Esta sesin BGP se basa en el establecimiento previo de una conexin TCP El tipo de relacin BGP entre ambos est determinada por el AS al cual pertenece cada uno de ellos Cada router toma decisiones sobre la informacin de ruteo recibida Estas decisiones denen, a su vez, la informacin de ruteo que anunciarn
Javier Ger, Mariano Beir Introduccin a BGP

Orgenes y Objetivos de BGP Operacin Mensajes, Atributos y Estados Procesos de Seleccin de Rutas

Sesiones EBGP e IBGP RIB (Routing Information Base)

EBGP
BGP Externo (External BGP). Sesiones BGP Externas Ambos routers en diferentes AS Generalmente entre routers directamente conectados (TTL=1) Anuncia rutas activas aprendidas a travs de sesiones EBGP e IBGP Se actualiza el atributo AS-PATH

Javier Ger, Mariano Beir

Introduccin a BGP

Orgenes y Objetivos de BGP Operacin Mensajes, Atributos y Estados Procesos de Seleccin de Rutas

Sesiones EBGP e IBGP RIB (Routing Information Base)

EBGP (continuacin)

Javier Ger, Mariano Beir

Introduccin a BGP

Orgenes y Objetivos de BGP Operacin Mensajes, Atributos y Estados Procesos de Seleccin de Rutas

Sesiones EBGP e IBGP RIB (Routing Information Base)

IBGP
BGP Interno (Internal BGP). Sesiones BGP Internas Ambos routers en el mismo AS No necesariamente entre routers directamente conectados (No TTL=1) Confa en el IGP para resolver el ruteo entre ambos extremos de la sesin IBGP (considerar ruteo de trco a travs de equipos intermedios) Anuncia rutas activas aprendidas a travs de sesiones EBGP

Javier Ger, Mariano Beir

Introduccin a BGP

Orgenes y Objetivos de BGP Operacin Mensajes, Atributos y Estados Procesos de Seleccin de Rutas

Sesiones EBGP e IBGP RIB (Routing Information Base)

IBGP (continuacin)
Requerimiento de full-mesh (o grafo completo) El AS-PATH se actualiza slo en anuncios entre vecinos EBGP. Por lo tanto, se pierde el control de loops y se evitan anuncios de rutas aprendidas a travs de IBGP a vecinos IBGP.

Javier Ger, Mariano Beir

Introduccin a BGP

Orgenes y Objetivos de BGP Operacin Mensajes, Atributos y Estados Procesos de Seleccin de Rutas

Sesiones EBGP e IBGP RIB (Routing Information Base)

RIB (Routing Information Base)

Javier Ger, Mariano Beir

Introduccin a BGP

Orgenes y Objetivos de BGP Operacin Mensajes, Atributos y Estados Procesos de Seleccin de Rutas

Tipos de Mensaje
Todos estos mensajes tienen un encabezado jo de 19 Bytes (entre otros campos, Tipo de 1 Byte).
Open
Primer mensaje luego del establecimiento de la sesin TCP. Permite negociar parmetros de la sesin BGP. Campos. Versin, AS Local, Holdtime, BGP ID, Parmetros Opcionales.

Keepalive
Slo los 19 Bytes del encabezado se intercambian cada 1/3 del Holdtime negociado. Se envan slo en ausencia de otros mensajes.

Update
Permite intercambiar informacin de ruteo (anunciar nuevas rutas o remover existentes), incluyendo sus atributos. Campos. Longitud de Rutas No Factibles (Unfeasible Routes Length), Rutas Removidas (Withdraw Routes, dupla prejo/longitud), Longitud Total de Atributos (Total Path Attributes Lengtht), Atributos (Path Attributes, formato TLV), NLRI (dupla prejo/longitud).

Notify
Lo enva uno de los peers cuando detecta un error en la sesin BGP y luego cierra tanto esta sesin como la sesin TCP. Campos. Cdigo de Error, Subcdigo de Error, Datos (brinda mayor informacin para ayudar en la operacin). Javier Ger, Mariano Beir Introduccin a BGP

Orgenes y Objetivos de BGP Operacin Mensajes, Atributos y Estados Procesos de Seleccin de Rutas

Formato de un Mensaje Update

Javier Ger, Mariano Beir

Introduccin a BGP

Orgenes y Objetivos de BGP Operacin Mensajes, Atributos y Estados Procesos de Seleccin de Rutas

Atributos
Los atributos se envan en los mensajes de Update usando el formato TLV. El campo Tipo tiene 2 Bytes, conteniendo los Bits:
Bit Opcional (Optional Bit - Bit 0)
0 - Atributo Well-Known. Debe ser reconocido por todas las implementaciones de BGP Discrecional (Discretionary) - Pueden no estar en una ruta en particular Obligatorio (Mandatory) - Deben estar en todas las rutas 1 - Atributo Opcional. Pueden o no ser reconocidos por otras implementaciones

Bit Transitivo (Transitive Bit - 1). Los Atributos Opcionales pueden ser
0 - No transitivos. Pueden ser descartados por aquellas implementaciones que no los reconozcan 1 - Transitivos - Aunque no sean reconocidos por otras implementaciones deben ser readvertidos por las mismas

Bit Parcial (Partial Bit - 2)


Slo para atributos opcionales, el valor 1 indica que al menos un router BGP en el camino no reconoci el atributo

Bit de Longitud Extendida (Extended Length Bit - 3)


Valor 0 implica que el campo Longitud del TLV tiene 1 Octeto, Valor 1 el mismo tiene 2 octetos

Bits No Usados (Unused Bits - 4-7) Cdigo de Tipo (8-15). El tipo de atributo se codica en este campo
Javier Ger, Mariano Beir Introduccin a BGP

Orgenes y Objetivos de BGP Operacin Mensajes, Atributos y Estados Procesos de Seleccin de Rutas

Atributos BGP. Next-Hop


Atributo Well-Known/Obligatorio El valor del campo Tipo es 3 Contiene el valor de la direccin IP del prximo salto hacia el destino Se modica slo en anuncios EBGP Puede dar lugar a una bsqueda recursiva del prximo salto fsico hacia el destino que se instalar en la tabla de rutas

Javier Ger, Mariano Beir

Introduccin a BGP

Orgenes y Objetivos de BGP Operacin Mensajes, Atributos y Estados Procesos de Seleccin de Rutas

Atributos BGP. Local Preference

Atributo Well-Known/Discrecional El valor del campo Tipo es 5 Permite el elegir el punto de salida de una red Slo se anuncia en sesiones IBGP Se preere el valor ms alto

Javier Ger, Mariano Beir

Introduccin a BGP

Orgenes y Objetivos de BGP Operacin Mensajes, Atributos y Estados Procesos de Seleccin de Rutas

Atributos BGP. AS-PATH


Atributo Well-Known/Obligatorio El valor del campo Tipo es 3 Secuencia de ASes que representa las redes que la ruta atraves Se modica slo en anuncios EBGP. El router que anuncia aade su nmero de AS Evita loops y se usa como mtrica (se preere el valor de menor longitud) El atributo se lee de derecha a izquierda
Javier Ger, Mariano Beir Introduccin a BGP

Orgenes y Objetivos de BGP Operacin Mensajes, Atributos y Estados Procesos de Seleccin de Rutas

Atributos BGP. Origin

Atributo Well-Known/Obligatorio El valor del campo Tipo es 1 Origen de la ruta en BGP. El valor lo asigna el primer router que anuncia la ruta Se preere el valor IGP sobre EGP, y ste sobre Incompleto

Javier Ger, Mariano Beir

Introduccin a BGP

Orgenes y Objetivos de BGP Operacin Mensajes, Atributos y Estados Procesos de Seleccin de Rutas

Atributos BGP. MED

Atributo Opcional/No Transitivo El valor del campo Tipo es 4 El atributo no se reenva mas all del AS receptor Es decir, se puede recibir a travs de una sesin EBGP y ser reenviado a travs de sesiones IBGP pero no a travs de otras sesiones EBGP

Javier Ger, Mariano Beir

Introduccin a BGP

Orgenes y Objetivos de BGP Operacin Mensajes, Atributos y Estados Procesos de Seleccin de Rutas

Atributos BGP. Comunidad

Atributo Opcional/Transitivo El valor del campo Tipo es 8 Permite agrupar rutas administrativamente para aplicarles una poltica en comn

Javier Ger, Mariano Beir

Introduccin a BGP

Orgenes y Objetivos de BGP Operacin Mensajes, Atributos y Estados Procesos de Seleccin de Rutas

Estados de BGP
Idle
Estado inicial. Ante un evento de Start se enva el inicio de un sesin TCP, escucha la inicializacin de una sesin TCP (en ambos casos del potencial vecino) y transiciona al estado Connect

Connect/Active
Estados relacionados con el progreso del establecimiento de la sesin TCP. Connect Retry timer

Open Sent
Luego del establecimiento de la sesin TCP, se enva un mensaje BGP Open. Espera el mensaje BGP Open del potencial vecino

Open Conrm
Se recibe (sin errores) el mensaje BGP Open del potencial vecino. Se determina si la sesin es EBGP o IBGP, se negocian holdtime, versin y parmetros opcionales (autenticacin, soporte mltiples NLRI) Finalmente, se enva un keepalive y si se recibe un keepalive del otro extremo se transiciona al estado Established

Established
Conexin BGP completamente establecida (full). Los vecinos (peers o neighbors) estn en condiciones de intercambiar informacin de ruteo

Javier Ger, Mariano Beir

Introduccin a BGP

Orgenes y Objetivos de BGP Operacin Mensajes, Atributos y Estados Procesos de Seleccin de Rutas

Mquina de Estados BGP

Javier Ger, Mariano Beir

Introduccin a BGP

Orgenes y Objetivos de BGP Operacin Mensajes, Atributos y Estados Procesos de Seleccin de Rutas

Seleccin de Rutas en BGP-Cisco


1 2 3

4 5 6

10

Mayor valor de Weight. Atributo especco de Cisco Mayor valor de Local Preference Ruta originada localmente en el router (aprendida de un IGP en el mismo equipo) Menor (longitud) de AS Path Menor valor de Origin Menor valor de Multiple Exit Discriminator (MED). Slo si las rutas se aprendieron del mismo AS Preere rutas EBGP, sobre rutas de confederaciones EBGP y stas sobre rutas IBGP Preere la ruta con el camino ms corto (a travs del IGP) hacia el Next Hop BGP Si las rutas provienen del mismo AS y BGP multipath est habilitado, instalar las rutas de igual costo Si BGP multipath no est habilitado, se preere la ruta con el Router ID ms bajo
Javier Ger, Mariano Beir Introduccin a BGP

Orgenes y Objetivos de BGP Operacin Mensajes, Atributos y Estados Procesos de Seleccin de Rutas

Seleccin de Rutas en BGP-Juniper


1

2 3 4 5

7 8

9 10

El atributo Next Hop debe ser alcanzable desde el router local (debe existir una ruta hacia l en la tabla de rutas). Caso contrario se descarta la ruta Mayor valor de Local Preference Menor (longitud) de AS Path Menor valor de Origin Menor valor de Multiple Exit Discriminator (MED). Slo si las rutas se aprendieron del mismo AS Preere rutas aprendidas de un peer EBGP sobre aquellas aprendidas de un peer IBGP. Si el resto proviene de un peer BGP, ir al Paso 9 Preere la ruta con menor mtrica de IGP hacia el Next Hop BGP Si se estn usando Route Reector para sesiones IBGP se preere la ruta con menor longitud de Cluster-List Preere la ruta del peer con menor menor valor numrico de Router ID Preere la ruta del peer con menor menor valor numrico de direccin IP de peer
Javier Ger, Mariano Beir Introduccin a BGP

Orgenes y Objetivos de BGP Operacin Mensajes, Atributos y Estados Procesos de Seleccin de Rutas

Complemento de RFC 4271


9.3. Route Selection Criteria
Generally, additional rules for comparing routes among several alternatives are outside the scope of this document. There are two exceptions: If the local AS appears in the AS path of the new route being considered, then that new route cannot be viewed as better than any other route (provided that the speaker is congured to accept such routes). If such a route were ever used, a routing loop could result. In order to achieve a successful distributed operation, only routes with a likelihood of stability can be chosen. Thus, an AS SHOULD avoid using unstable routes, and it SHOULD NOT make rapid, spontaneous changes to its choice of route. Quantifying the terms unstable and rapid (from the previous sentence) will require experience, but the principle is clear. Routes that are unstable can be penalized (e.g., by using the procedures described in [RFC2439]).
Javier Ger, Mariano Beir Introduccin a BGP

Orgenes y Objetivos de BGP Operacin Mensajes, Atributos y Estados Procesos de Seleccin de Rutas

Ejemplo I. Conguracin de BGP


usuario@equipo-re0> show configuration protocols bgp hold-time 180; group internal-RR-ipv4 { type internal; local-address 1.1.1.1; family inet { unicast; } authentication-key Encrypted-Password; ## SECRET-DATA export [ from-ospf-to-bgp redes_clientes]; neighbor 2.2.2.2 { import set-local-preference-200; } neighbor 3.3.3.3 { import set-local-preference-300; } } group external-Full-Routing { type external; family inet { unicast; } export FullRouting; neighbor 4.4.4.4 { description Salida_Internet; import [ Filtro-Default Preference-400 ]; peer-as 1234; } } Javier Ger, Mariano Beir Introduccin a BGP

Orgenes y Objetivos de BGP Operacin Mensajes, Atributos y Estados Procesos de Seleccin de Rutas

Ejemplo II. Conguracin de BGP


Equipo#show run | b router bgp router bgp 1111 neighbor Grupo_BGP peer-group neighbor Grupo_BGP remote-as 1111 neighbor Grupo_BGP description Route Reflector VPN-V4 neighbor Grupo_BGP password 7 09327680927360932D neighbor Grupo_BGP update-source Loopback0 neighbor 4.4.4.4 remote-as 1234 neighbor 4.4.4.4 description PEERING RR ROR1-HOR1 neighbor 4.4.4.4 password 7 09327680927360932D neighbor 4.4.4.4 update-source Loopback0 neighbor 4.4.4.4 version 4 neighbor 2.2.2.2 peer-group Grupo_BGP neighbor 2.2.2.2 description Equipo2 neighbor 3.3.3.3 peer-group Grupo_BGP neighbor 3.3.3.3 description Equipo3 ! address-family ipv4 no synchronization redistribute ospf 1 route-map OSPF_TAG->BGP neighbor 4.4.4.4 activate neighbor 4.4.4.4 route-map Filtro-Default in neighbor 2.2.2.2 activate neighbor 3.3.3.3 activate no auto-summary exit-address-family ! Javier Ger, Mariano Beir Introduccin a BGP

Orgenes y Objetivos de BGP Operacin Mensajes, Atributos y Estados Procesos de Seleccin de Rutas

Ejemplo III. Ruta BGP


usuario@equipo-re0> show route protocol bgp 190.20.0.0 extensive inet.0: 337395 destinations, 679194 routes (337395 active, 0 holddown, 0 hidden) 190.20.0.0/16 (2 entries, 1 announced) Nexthop: Self AS path: [3939] 11200 12956 7004 7418 I Communities: 11200:2402 11200:30840 3939:10900 3939:10921 Path 190.20.0.0 from 4.4.4.4 Vector len 4. Val: 1 Preference: 170 *BGP Next hop type: Indirect Next-hop reference count: 371988 Source: 4.4.4.4 Next hop type: Router, Next hop index: 1049212 Next hop: 4.4.5.5 via xe-9/3/0.0, selected Label operation: Push 16106 Next hop: 4.4.5.9 via xe-2/3/0.0 Label operation: Push 16106 Protocol next hop: 9.9.9.9 Indirect next hop: 1502e738 1048749 State: <Active Int Ext> Local AS: 3939 Peer AS: 3939 Age: 4d 2:47:12 Metric: 14052 Metric2: 1 Task: BGP_3939.4.4.4.4+49321 AS path: 11200 12956 7004 7418 I (Originator) Cluster list: 8.8.8.8 AS path: Originator ID: 200.49.159.81 Communities: 11200:2402 11200:30840 3939:10900 3939:10921 Accepted Localpref: 160 Router ID: 4.4.4.4 Javier Ger, Mariano Beir Introduccin a BGP

Orgenes y Objetivos de BGP Operacin Mensajes, Atributos y Estados Procesos de Seleccin de Rutas

Ejemplo IV. Internet Full Table

Groups: 2 Peers: 4 Down peers: 0 Table Tot Paths Act Paths Suppressed History Damp State Pending ___________________________________________________________________________ inet.0 bgp.l3vpn.0 671767 0 329285 0 0 0 0 0 0 0 0 0

Peer AS InPkt OutPkt OutQ Flaps Last Up/Dwn State #Act/Rec/Acc/Damp.. _____________________________________________________________________________________________ 34.34.34.34 3939 14863562 100.100.100.100 3939 28616658 35.35.35.35 3939 341497 bgp.l3vpn.0: 0/0/0/0 200.200.200.200 3939 341610 bgp.l3vpn.0: 0/0/0/0 152221 341624 331817 331837 0 0 0 0 5 0 4 0 13w4d10h 329284/335971/335971/0 0/0/0/0 29w6d13h 1/335796/335796/0 0/0/0/0 17w4d12h Establ 29w6d13h Establ

Javier Ger, Mariano Beir

Introduccin a BGP

You might also like