Sei sulla pagina 1di 18
Internet routing BGP Border Gateway Protocol (RFC 1771)

Internet routing

BGP

Border Gateway Protocol (RFC 1771)

Inicios de Internet

Direccionamiento “Classfull”

Desperdicio de direcciones

Demasiadas rutas (2M clases C)

1990’s – CIDR

Reduce desperdicio con Prefijos

Reduce asignación (NAT/PAT)

Reduce tablas de ruteo

Asignación de direcciones

Compañía A Obtiene 198.133.219.16/29

4 Compañía A NA-ISP 1 1 3 2 ARIN (RIR) IANA Obtiene 198.0.0.0/8 Asigna 198.0.0.0/8
4
Compañía A
NA-ISP 1
1
3
2
ARIN (RIR)
IANA
Obtiene 198.0.0.0/8
Asigna 198.0.0.0/8

Asigna

198.133.219.16/29

NA-ISP1

Obtiene 198.133.0.0/16

ARIN necesita un nuevo bloque /8, 198.0.0.0/8 está disponible

Asigna

198.133.0.0/16

Agrupación de rutas 198.133.219.16/29 Compañía A NA-ISP 2 1 ruta para 1 ruta para 198.133.0.0/16
Agrupación de rutas
198.133.219.16/29
Compañía A
NA-ISP 2
1 ruta para
1 ruta para 198.133.0.0/16
1 ruta para 198.0.0.0/8
198.133.219.16/29
NA-ISP 1
Europa
1 ruta para 198.0.0.0/8

Sudamérica

BGP basics

Establece una relación con los vecinos

Configuración explícita (no descubre)

Vecinos remotos (fuera de sus redes conectadas)

Utiliza TCP port 179

Utiliza PAs (Path Attributes) en lugar de métrica para seleccionar el mejor camino

Escalable – no más eficiente

Path Vector (similar a Distance Vector)

ASN (Autonomous System Number)

Identifica a una organización / ISP

ICANN/IANA asigna el BGP ASN

Valor

Descripcion

0

Reservado

1 ~ 64.495

Asignado por IANA

64.496

~ 65.511

Reservado para documentación

64.512

~ 65.534

Uso Privado

65.535

Reservado

Ver dawhois.com

AS_Path PA

Un router BGP publica una ruta (perfix/length) junto con el atributo AS_Path

El AS_Path lista los ASNs que forman parte de la ruta BGP utiliza AS_Path para:

Elegir la mejor ruta (shortest AS_Path)

Prevenir loops (ignora updates con su propio ASN en el path)

Internet

Compañía A

ISP 1 – ASN 1

198.133.219.16/29 ASN 11
198.133.219.16/29
ASN 11

Compañía B

192.31.7.32/29
192.31.7.32/29
192.31.7.32/29
192.31.7.32/29
192.31.7.32/29
– ASN 1 198.133.219.16/29 ASN 11 Compañía B 192.31.7.32/29 ASN 12 I S P 3 –
– ASN 1 198.133.219.16/29 ASN 11 Compañía B 192.31.7.32/29 ASN 12 I S P 3 –
– ASN 1 198.133.219.16/29 ASN 11 Compañía B 192.31.7.32/29 ASN 12 I S P 3 –
– ASN 1 198.133.219.16/29 ASN 11 Compañía B 192.31.7.32/29 ASN 12 I S P 3 –
– ASN 1 198.133.219.16/29 ASN 11 Compañía B 192.31.7.32/29 ASN 12 I S P 3 –
– ASN 1 198.133.219.16/29 ASN 11 Compañía B 192.31.7.32/29 ASN 12 I S P 3 –
– ASN 1 198.133.219.16/29 ASN 11 Compañía B 192.31.7.32/29 ASN 12 I S P 3 –
– ASN 1 198.133.219.16/29 ASN 11 Compañía B 192.31.7.32/29 ASN 12 I S P 3 –

ASN 12

ISP 3 ASN 3

ISP 2 – ASN 2

Ejemplo de AS_Path

Ejemplo de AS_Path ISP 1 – ASN 1 ASN 12 192.31.7.32/29 AS_PATH = (12,2,1) 3 192.31.7.32/29

ISP 1 – ASN 1

ASN 12 192.31.7.32/29 AS_PATH = (12,2,1) 3 192.31.7.32/29 AS_PATH = (12,2,3) 4 192.31.7.32/29 2 1
ASN 12
192.31.7.32/29
AS_PATH = (12,2,1)
3
192.31.7.32/29
AS_PATH = (12,2,3)
4 192.31.7.32/29
2
1
192.31.7.32/29
AS_PATH = (12,2)
192.31.7.32/29
AS_PATH = (12,2,1)
AS_PATH = (12)
2
192.31.7.32/29
AS_PATH = (12,2)

ISP 3 ASN 3

ISP 2 – ASN 2

Ruteo en Internet

B1 Core 1 WAN 1 default default B2 Core 2 WAN 2 default B3 default
B1
Core 1
WAN 1
default
default
B2
Core 2
WAN 2
default
B3
default
E1
ip route 0.0.0.0 0.0.0.0 ISP-1

Internet

Ip route 128.107.0.0 255.255.0.0 E1

Dual-homed Internet

ASN 1000 ISP 1 – ASN 1 E1 E2
ASN 1000
ISP 1 – ASN 1
E1
E2
ASN 1000 ISP 1 – ASN 1 E1 E2 ISP 2 – ASN 2 E1
ASN 1000
ISP 1 – ASN 1
E1
E2
ISP 2 – ASN 2
E1
E2

BGP updates

Default route only: El ISP publica una ruta default, pero ninguna otra

Full updates: El ISP envía su tabla BGP completa (500k rutas)

Partial updates: El ISP envía solo aquellos prefijos con mejor métrica + una ruta default

100k rutas ocupan 70MB !

BGP

BGP opera de manera similar a otros protocolos de ruteo:

Aprende las rutas de sus vecinos

Incorpora esta información en una tabla – la Tabla BGP

Analiza esta tabla para elegir la mejor ruta para cada prefijo y la introduce en la tabla de ruteo

BGP

La configuración mínima que requiere BGP para operar es:

El propio ASN del router

La dirección IP de cada vecino, junto con su ASN

La configuración de ASN local del router debe coincidir con la referencia configurada en el vecino

El BGP RID (Router-ID) debe ser diferente

La dirección IP del vecino referenciada debe ser alcanzable

Tipos de mensajes BGP

Open Utilizado para iniciar la relación de vecindad con otro router. Intercambia parámetros básicos (ASN, MD5) Keepalive Enviado periódicamente para mantener la relación Update Utilizado para intercambiar Pas y Prefix/Lenght (NLRI – Network Layer Reachability Information) Notification Indica un error en BGP, normalmente interrumpe la sesión con el vecino

Mensaje Update

Length (bytes) of withdrawn Routes Section Withdrawn routes (variable) Length of Path Attributes Section Path
Length (bytes) of withdrawn Routes Section
Withdrawn routes (variable)
Length of Path Attributes Section
Path Attributes (variable)
Prefix Length
Prefix Length
Prefix
Prefix
.
.
.

BGP PAs

AS_Path Cantidad de ASNs en el AS Patch Next_Hop Lista el próximo salto utilizado para alcanzar un prefijo Local_Preference Valor numérico (0 ~ 2^32 -1) usado para influenciar la elección de mejor ruta dentro del AS Origin I=prefijo inyectado desde un IGP, E=desde un EGP, ?=incompleto Multi-Exit-Discriminator seteado en un AS, para influenciar la decisión de routers en otros ASs (métrica)

Selección de rutas

El proceso de selección analiza la tabla BGP para identificar aquellas que se incluirán en la tabla de ruteo. Los PAs influyen esta decisión, a saber:

Next_Hop Si no es alcanzable, se descarta Local_Preference Mayor valor, mejor AS_Path Menor valor Origin I > E > ? MED Menor valor