introducción a bgpmaterias.fi.uba.ar/7543/2012-01/download/clase_bgp.pdf · orígenes y objetivos...
Post on 21-Apr-2018
232 Views
Preview:
TRANSCRIPT
Orígenes y Objetivos de BGPOperación
Mensajes, Atributos y EstadosProcesos de Selección de Rutas
Introducción a BGP
Javier Ger, Mariano Beiró
Facultad de Ingeniería UBA
2 de noviembre de 2010
Introducción a los Sistemas Distribuidoshttp://www.fi.uba.ar/materias/7543
Javier Ger, Mariano Beiró Introducción a BGP
Orígenes y Objetivos de BGPOperación
Mensajes, Atributos y EstadosProcesos de Selección de Rutas
Temario
1 Orígenes y Objetivos de BGP
2 OperaciónSesiones EBGP e IBGPRIB (Routing Information Base)
3 Mensajes, Atributos y Estados
4 Procesos de Selección de Rutas
Javier Ger, Mariano Beiró Introducción a BGP
Orígenes y Objetivos de BGPOperación
Mensajes, Atributos y EstadosProcesos de Selección de Rutas
EGP (External Gateway Protocol)
Entorno originalmente jerárquico
No provee protección contra bucles (loops)
Se envía la tabla de ruteo entera a intervalos regulares
Javier Ger, Mariano Beiró Introducción a BGP
Orígenes y Objetivos de BGPOperación
Mensajes, Atributos y EstadosProcesos de Selección de Rutas
Internet
La topología de Internet cambió a un esquema deproveedores de servicios (ISP) de distintos niveles (tiers)
ISPs locales, regionales, globales
También cambió el propósito de Internet, de una red deinvestigación a una red comercial
En definitiva, cada vez más, una topología asemejable aun grafo y con requerimientos de tránsito más complejos
Javier Ger, Mariano Beiró Introducción a BGP
Orígenes y Objetivos de BGPOperación
Mensajes, Atributos y EstadosProcesos de Selección de Rutas
Entorno complejo (grafo)
Javier Ger, Mariano Beiró Introducción a BGP
Orígenes y Objetivos de BGPOperación
Mensajes, Atributos y EstadosProcesos de Selección de Rutas
Objetivos de un protocolo de ruteo de Internet
¿Qué debe soportar el protocolo de ruteo de Internet?
Trabajar con topologías complejas
Políticas de ruteo complejas para soportar políticasadministrativas de cada ISP
Escalar anuncios a cientos de miles de rutas
Intercambio confiable de información
BGPv4 cumple con estos requisitos
Javier Ger, Mariano Beiró Introducción a BGP
Orígenes y Objetivos de BGPOperación
Mensajes, Atributos y EstadosProcesos de Selección de Rutas
BGP: Misceláneas
BGP es un protocolo del tipo path-vector: secuencia deASes (1) y dirección del next-hop (2) que conforman unaruta a un cierto destino
Transporte confiable de la información de ruteo en TCP(puerto 179)
Anuncios incrementales
¿Aplicación ó Protocolo de ruteo?
Sistema Autónomo (AS) es un conjunto de routers(equipos de capa 3) bajo una misma autoridadadministrativa
RFC 4271, del 2006 (actualizó RFC 1771 original de1995). Varias RFCs con modificaciones
Javier Ger, Mariano Beiró Introducción a BGP
Orígenes y Objetivos de BGPOperación
Mensajes, Atributos y EstadosProcesos de Selección 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 Reflection: 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ó Introducción a BGP
Orígenes y Objetivos de BGPOperación
Mensajes, Atributos y EstadosProcesos de Selección de Rutas
Sesiones EBGP e IBGPRIB (Routing Information Base)
Operación de BGP
BGP permite anunciar información de ruteo entre 2 routers
Para ello, ambos equipos deben haber establecido unasesión (o conexión lógica) BGP entre ellos, por lo cual sedice que ambos son vecinos (neighbors o peers)
Esta sesión BGP se basa en el establecimiento previo deuna conexión TCP
El tipo de relación BGP entre ambos está determinada porel AS al cual pertenece cada uno de ellos
Cada router toma decisiones sobre la información de ruteorecibida
Estas decisiones definen, a su vez, la información de ruteoque anunciarán
Javier Ger, Mariano Beiró Introducción a BGP
Orígenes y Objetivos de BGPOperación
Mensajes, Atributos y EstadosProcesos de Selección de Rutas
Sesiones EBGP e IBGPRIB (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 través de sesionesEBGP e IBGP
Se actualiza el atributo AS-PATH
Javier Ger, Mariano Beiró Introducción a BGP
Orígenes y Objetivos de BGPOperación
Mensajes, Atributos y EstadosProcesos de Selección de Rutas
Sesiones EBGP e IBGPRIB (Routing Information Base)
EBGP (continuación)
Javier Ger, Mariano Beiró Introducción a BGP
Orígenes y Objetivos de BGPOperación
Mensajes, Atributos y EstadosProcesos de Selección de Rutas
Sesiones EBGP e IBGPRIB (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)
Confía en el IGP para resolver el ruteo entre ambosextremos de la sesión IBGP (considerar ruteo de tráfico através de equipos intermedios)
Anuncia rutas activas aprendidas a través de sesionesEBGP
Javier Ger, Mariano Beiró Introducción a BGP
Orígenes y Objetivos de BGPOperación
Mensajes, Atributos y EstadosProcesos de Selección de Rutas
Sesiones EBGP e IBGPRIB (Routing Information Base)
IBGP (continuación)
Requerimiento de full-mesh (o grafo completo)El AS-PATH se actualiza sólo en anuncios entre vecinosEBGP. Por lo tanto, se pierde el control de loops y seevitan anuncios de rutas aprendidas a través de IBGP avecinos IBGP.
Javier Ger, Mariano Beiró Introducción a BGP
Orígenes y Objetivos de BGPOperación
Mensajes, Atributos y EstadosProcesos de Selección de Rutas
Sesiones EBGP e IBGPRIB (Routing Information Base)
RIB (Routing Information Base)
Javier Ger, Mariano Beiró Introducción a BGP
Orígenes y Objetivos de BGPOperación
Mensajes, Atributos y EstadosProcesos de Selección de Rutas
Tipos de MensajeTodos estos mensajes tienen un encabezado fijo de 19 Bytes(entre otros campos, Tipo de 1 Byte).
OpenPrimer mensaje luego del establecimiento de la sesión TCP. Permite negociar parámetros de lasesión BGP.Campos. Versión, AS Local, Holdtime, BGP ID, Parámetros Opcionales.
KeepaliveSólo los 19 Bytes del encabezado se intercambian cada 1/3 del Holdtime negociado. Se envíansólo en ausencia de otros mensajes.
UpdatePermite intercambiar información de ruteo (anunciar nuevas rutas o remover existentes),incluyendo sus atributos.Campos. Longitud de Rutas No Factibles (Unfeasible Routes Length), Rutas Removidas (WithdrawRoutes, dupla prefijo/longitud), Longitud Total de Atributos (Total Path Attributes Lengtht), Atributos(Path Attributes, formato TLV), NLRI (dupla prefijo/longitud).
NotifyLo envía uno de los peers cuando detecta un error en la sesión BGP y luego cierra tanto estasesión como la sesión TCP.Campos. Código de Error, Subcódigo de Error, Datos (brinda mayor información para ayudar en laoperación).
Javier Ger, Mariano Beiró Introducción a BGP
Orígenes y Objetivos de BGPOperación
Mensajes, Atributos y EstadosProcesos de Selección de Rutas
Formato de un Mensaje Update
Javier Ger, Mariano Beiró Introducción a BGP
Orígenes y Objetivos de BGPOperación
Mensajes, Atributos y EstadosProcesos de Selección de Rutas
AtributosLos atributos se envían en los mensajes de Update usando elformato 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 particularObligatorio (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 ser0 - No transitivos. Pueden ser descartados por aquellas implementaciones que no los reconozcan1 - Transitivos - Aunque no sean reconocidos por otras implementaciones deben ser readvertidospor las mismas
Bit Parcial (Partial Bit - 2)Sólo para atributos opcionales, el valor 1 indica que al menos un router BGP en el camino noreconoció 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)Código de Tipo (8-15). El tipo de atributo se codifica en este campo
Javier Ger, Mariano Beiró Introducción a BGP
Orígenes y Objetivos de BGPOperación
Mensajes, Atributos y EstadosProcesos de Selección de Rutas
Atributos BGP. Next-Hop
Atributo Well-Known/Obligatorio
El valor del campo Tipo es 3
Contiene el valor de la dirección IP del próximo saltohacia el destino
Se modifica sólo en anuncios EBGP
Puede dar lugar a una búsqueda recursiva del próximosalto físico hacia el destino que se instalará en la tabla derutas
Javier Ger, Mariano Beiró Introducción a BGP
Orígenes y Objetivos de BGPOperación
Mensajes, Atributos y EstadosProcesos de Selección 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
Sólo se anuncia en sesiones IBGP
Se prefiere el valor más alto
Javier Ger, Mariano Beiró Introducción a BGP
Orígenes y Objetivos de BGPOperación
Mensajes, Atributos y EstadosProcesos de Selección 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 rutaatravesó
Se modifica sólo en anuncios EBGP. El router queanuncia añade su número de AS
Evita loops y se usa como métrica (se prefiere el valor demenor longitud)
El atributo se lee de derecha a izquierda
Javier Ger, Mariano Beiró Introducción a BGP
Orígenes y Objetivos de BGPOperación
Mensajes, Atributos y EstadosProcesos de Selección 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 primerrouter que anuncia la ruta
Se prefiere el valor IGP sobre EGP, y éste sobreIncompleto
Javier Ger, Mariano Beiró Introducción a BGP
Orígenes y Objetivos de BGPOperación
Mensajes, Atributos y EstadosProcesos de Selección de Rutas
Atributos BGP. MED
Atributo Opcional/No Transitivo
El valor del campo Tipo es 4
El atributo no se reenvía mas allá del AS receptor
Es decir, se puede recibir a través de una sesión EBGP yserá reenviado a través de sesiones IBGP pero no a travésde otras sesiones EBGP
Javier Ger, Mariano Beiró Introducción a BGP
Orígenes y Objetivos de BGPOperación
Mensajes, Atributos y EstadosProcesos de Selección de Rutas
Atributos BGP. Comunidad
Atributo Opcional/Transitivo
El valor del campo Tipo es 8
Permite agrupar rutas administrativamente para aplicarlesuna política en común
Javier Ger, Mariano Beiró Introducción a BGP
Orígenes y Objetivos de BGPOperación
Mensajes, Atributos y EstadosProcesos de Selección de Rutas
Estados de BGP
IdleEstado inicial. Ante un evento de Start se envía el inicio de un sesión TCP, escucha la inicializaciónde una sesión TCP (en ambos casos del potencial vecino) y transiciona al estado Connect
Connect/ActiveEstados relacionados con el progreso del establecimiento de la sesión TCP. Connect Retry timer
Open SentLuego del establecimiento de la sesión TCP, se envía un mensaje BGP Open. Espera el mensajeBGP Open del potencial vecino
Open ConfirmSe recibe (sin errores) el mensaje BGP Open del potencial vecino. Se determina si la sesión esEBGP o IBGP, se negocian holdtime, versión y parámetros opcionales (autenticación, soportemúltiples NLRI)Finalmente, se envía un keepalive y si se recibe un keepalive del otro extremo se transiciona alestado Established
EstablishedConexión BGP completamente establecida (full). Los vecinos (peers o neighbors) están encondiciones de intercambiar información de ruteo
Javier Ger, Mariano Beiró Introducción a BGP
Orígenes y Objetivos de BGPOperación
Mensajes, Atributos y EstadosProcesos de Selección de Rutas
Máquina de Estados BGP
Javier Ger, Mariano Beiró Introducción a BGP
Orígenes y Objetivos de BGPOperación
Mensajes, Atributos y EstadosProcesos de Selección de Rutas
Selección de Rutas en BGP-Cisco
1 Mayor valor de Weight. Atributo específico de Cisco2 Mayor valor de Local Preference3 Ruta originada localmente en el router (aprendida de un IGP en el
mismo equipo)4 Menor (longitud) de AS Path5 Menor valor de Origin6 Menor valor de Multiple Exit Discriminator (MED). Sólo si las rutas se
aprendieron del mismo AS7 Prefiere rutas EBGP, sobre rutas de confederaciones EBGP y éstas
sobre rutas IBGP8 Prefiere la ruta con el camino más corto (a través del IGP) hacia el
Next Hop BGP9 Si las rutas provienen del mismo AS y BGP multipath está habilitado,
instalar las rutas de igual costo10 Si BGP multipath no está habilitado, se prefiere la ruta con el Router ID
más bajo
Javier Ger, Mariano Beiró Introducción a BGP
Orígenes y Objetivos de BGPOperación
Mensajes, Atributos y EstadosProcesos de Selección de Rutas
Selección de Rutas en BGP-Juniper
1 El atributo Next Hop debe ser alcanzable desde el router local (debeexistir una ruta hacia él en la tabla de rutas). Caso contrario sedescarta la ruta
2 Mayor valor de Local Preference3 Menor (longitud) de AS Path4 Menor valor de Origin5 Menor valor de Multiple Exit Discriminator (MED). Sólo si las rutas se
aprendieron del mismo AS6 Prefiere rutas aprendidas de un peer EBGP sobre aquellas aprendidas
de un peer IBGP. Si el resto proviene de un peer BGP, ir al Paso 97 Prefiere la ruta con menor métrica de IGP hacia el Next Hop BGP8 Si se están usando Route Reflector para sesiones IBGP se prefiere la
ruta con menor longitud de Cluster-List9 Prefiere la ruta del peer con menor menor valor numérico de Router ID
10 Prefiere la ruta del peer con menor menor valor numérico de direcciónIP de peer
Javier Ger, Mariano Beiró Introducción a BGP
Orígenes y Objetivos de BGPOperación
Mensajes, Atributos y EstadosProcesos de Selección de Rutas
Complemento de RFC 4271
9.3. Route Selection CriteriaGenerally, additional rules for comparing routes among several alternativesare outside the scope of this document. There are two exceptions:
If the local AS appears in the AS path of the new route beingconsidered, then that new route cannot be viewed as better than anyother route (provided that the speaker is configured to accept suchroutes). If such a route were ever used, a routing loop could result.
In order to achieve a successful distributed operation, only routes with alikelihood of stability can be chosen. Thus, an AS SHOULD avoid usingunstable routes, and it SHOULD NOT make rapid, spontaneouschanges to its choice of route. Quantifying the terms “unstable” and“rapid” (from the previous sentence) will require experience, but theprinciple is clear. Routes that are unstable can be “penalized” (e.g., byusing the procedures described in [RFC2439]).
Javier Ger, Mariano Beiró Introducción a BGP
Orígenes y Objetivos de BGPOperación
Mensajes, Atributos y EstadosProcesos de Selección de Rutas
Ejemplo I. Configuración de BGP
usuario@equipo-re0> show configuration protocols bgphold-time 180;group internal-RR-ipv4 {
type internal;local-address 1.1.1.1;family inet {
unicast;}authentication-key Encrypted-Password; ## SECRET-DATAexport [ 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;
}}usuario@equipo-re0> show configuration routing-options
Javier Ger, Mariano Beiró Introducción a BGP
Orígenes y Objetivos de BGPOperación
Mensajes, Atributos y EstadosProcesos de Selección de Rutas
Ejemplo II. Configuración de BGP
Equipo#show run | b router bgprouter bgp 1111neighbor Grupo_BGP peer-groupneighbor Grupo_BGP remote-as 1111neighbor Grupo_BGP description Route Reflector VPN-V4neighbor Grupo_BGP password 7 09327680927360932Dneighbor Grupo_BGP update-source Loopback0neighbor 4.4.4.4 remote-as 1234neighbor 4.4.4.4 description PEERING RR ROR1-HOR1neighbor 4.4.4.4 password 7 09327680927360932Dneighbor 4.4.4.4 update-source Loopback0neighbor 4.4.4.4 version 4neighbor 2.2.2.2 peer-group Grupo_BGPneighbor 2.2.2.2 description Equipo2neighbor 3.3.3.3 peer-group Grupo_BGPneighbor 3.3.3.3 description Equipo3!address-family ipv4no synchronizationredistribute ospf 1 route-map OSPF_TAG->BGPneighbor 4.4.4.4 activateneighbor 4.4.4.4 route-map Filtro-Default inneighbor 2.2.2.2 activateneighbor 3.3.3.3 activateno auto-summary
exit-address-family!
Javier Ger, Mariano Beiró Introducción a BGP
Orígenes y Objetivos de BGPOperación
Mensajes, Atributos y EstadosProcesos de Selección de Rutas
Ejemplo III. Ruta BGP
usuario@equipo-re0> show route protocol bgp 190.20.0.0 extensiveinet.0: 337395 destinations, 679194 routes (337395 active, 0 holddown, 0 hidden)190.20.0.0/16 (2 entries, 1 announced)
Nexthop: SelfAS path: [3939] 11200 12956 7004 7418 ICommunities: 11200:2402 11200:30840 3939:10900 3939:10921
Path 190.20.0.0 from 4.4.4.4 Vector len 4. Val: 1
*BGP Preference: 170Next hop type: IndirectNext-hop reference count: 371988Source: 4.4.4.4Next hop type: Router, Next hop index: 1049212Next hop: 4.4.5.5 via xe-9/3/0.0, selectedLabel operation: Push 16106Next hop: 4.4.5.9 via xe-2/3/0.0Label operation: Push 16106Protocol next hop: 9.9.9.9Indirect next hop: 1502e738 1048749State: <Active Int Ext>Local AS: 3939 Peer AS: 3939Age: 4d 2:47:12 Metric: 14052 Metric2: 1Task: BGP_3939.4.4.4.4+49321AS path: 11200 12956 7004 7418 I (Originator) Cluster list: 8.8.8.8AS path: Originator ID: 200.49.159.81Communities: 11200:2402 11200:30840 3939:10900 3939:10921AcceptedLocalpref: 160Router ID: 4.4.4.4
Javier Ger, Mariano Beiró Introducción a BGP
Orígenes y Objetivos de BGPOperación
Mensajes, Atributos y EstadosProcesos de Selección de Rutas
Ejemplo IV. Internet Full Table
Groups: 2 Peers: 4 Down peers: 0Table Tot Paths Act Paths Suppressed History Damp State Pending___________________________________________________________________________
inet.0 671767 329285 0 0 0 0bgp.l3vpn.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 152221 0 5 13w4d10h 329284/335971/335971/0 0/0/0/0100.100.100.100 3939 28616658 341624 0 0 29w6d13h 1/335796/335796/0 0/0/0/035.35.35.35 3939 341497 331817 0 4 17w4d12h Establ
bgp.l3vpn.0: 0/0/0/0200.200.200.200 3939 341610 331837 0 0 29w6d13h Establ
bgp.l3vpn.0: 0/0/0/0
Javier Ger, Mariano Beiró Introducción a BGP
top related