Beruflich Dokumente
Kultur Dokumente
En qu consiste el encaminamiento?
Routers
Encaminamiento: Definiciones
Objetivo:
Bsqueda de las rutas en una red que, para todo origen y destino, satisfagan una serie de condiciones. Por ejemplo, rutas de mnimo coste econmico, de mnimo retardo, de mxima cadencia eficaz o que satisfagan algn criterio administrativo.
Algoritmo de encaminamiento:
Mtodo mediante el cual se calculan las rutas en una red.
Decisin de Encaminamiento:
Si la red es no orientada a conexin la decisin debe tomarse para cada datagrama. Si es orientada a conexin, nicamente durante el establecimiento del circuito virtual.
Ejemplo de Encaminamiento
Objetivo: Encontrar la ruta de A a B que minimiza el coste del camino.
A
Ejemplos de coste: distancia, capacidad, precio, congestin/retardo,
R1
2
R2
2
R4
3
R6
3 2
R3
R5
R7
R8
Ejemplo de Encaminamiento
En este caso, la solucin es simple por inspeccin
A
R1
2
R2
2
R4
3
R6
3 2
R3
R5
R7
R8
Fuente: http://www.lumeta.com
Propiedades deseables
Optimalidad Estabilidad
10
Tipos de Encaminamiento
Segn QUIN DECIDE el camino a seguir:
Fijado en origen Salto a salto
Segn su ADAPTABILIDAD:
Estticos Cuasi-estticos Adaptativos:
Centralizados Aislados Distribuidos
11
Inundacin (flooding) Patata caliente (hot potato) Routing por el camino ms corto
12
Inundacin
Los encaminadores envan los paquetes por todas las interfaces excepto la de entrada. R1 Ventajas: Simple. Todo posible destino es alcanzable. Inconvenientes: Algunos encaminadores reciben el paquete mltiples veces. Podra haber ciclos si no se usan seqnos. Ineficiente.
Arquitectura de Redes - Universidad de Murcia 13
R1
2
R2
2
R4
3
R6
3 2
R3
R5
R7
R8
14
R2
2
R4
3
R6
2 3
R5 R3
4
R7
R8
La solucin es un spanning tree con R8 como raz del rbol. Tree: No hay ciclos. Spanning: Todos los nodos estn includos. Nmero de envos N-1 (por definicin de rbol). Veremos que los spanning tree tambin sern tiles para encaminar por el camino ms corto.
Arquitectura de Redes - Universidad de Murcia
Source: CS244, Steve McKeown, Stanford University
15
Inconvenientes:
Paquetes podran llegar desordenados Las rutas pueden llegar a ser muy largas Podran producirse ciclos
16
Coste o Distancia:
Tablas de Encaminamiento:
Nodo F
A 2 D
B 1
Destino
Siguiente E C C E E F G
Distancia 8 4 2 6 4 0 1
C 2
5 G 1
A B C D E
F G
17
Estudiaremos algoritmos para calcular el camino ms corto en un grafo (Dijkstra, Bellman-Ford, etc.)
Arquitectura de Redes - Universidad de Murcia 18
R2
2
R4
3
R6
2 3
R5 R3
4
R7
R8
El camino ms corto entre dos nodos, forma parte del spanning tree del destino (ej: R2-R8). Inconvenientes: Throughput limitado (slo 1 camino entre S y D) Adaptacin limitada a cambios para evitar oscilaciones Solucin: Optimal Routing Separa trfico en puntos estratgicos (mltiples caminos) Basado en teora de optimal multi-commodity flows.
Arquitectura de Redes - Universidad de Murcia 19
Principio de Optimalidad
Sea G=(V,E) y sea i,j = [vi,vi+1,..,vj-1,vj] el camino ptimo entre dos vrtices vi,vj V. Entonces, el camino ptimo entre cualquier vk i,j y vj tambin est incluido en ese camino. Demostracin por reduccin al absurdo Consecuencia:
El grupo de caminos ptimos desde los nodos de la red hacia un destino dado, forma un spanning tree cuya raz es el destino
Arquitectura de Redes - Universidad de Murcia 20
R2
2
R4
3
R6
2 3
R5 R3
4
R7
R8
Cualquier subcamino de un camino ms corto es tambin el camino ms corto entre ese par de nodos La solucin es un spanning tree con R8 como raz del rbol. Tree: No hay ciclos. Spanning: Todos los nodos estn includos
Arquitectura de Redes - Universidad de Murcia
Source: CS244, Steve McKeown, Stanford University
21
G 2 F 1
G 2 F 1
22
Dijkstra
Camino ms corto de un nodo al resto
Floyd-Warshall
Camino ms corto de todos a todos
Algoritmo de Bellman-Ford
Dado G=(V,E,w). Calcular el camino ms corto entre el nodo s y el resto.
function BellmanFord(list vertices, list edges, vertex source) for each vertex v in vertices: if v is source then v.distance := 0 else v.distance := infinity v.predecessor := null for i=1 to size(vertices): // |V|-1 iteraciones for each edge uv in edges: // uv es el enlace de u a v if v.distance > u.distance + uv.weight: v.distance := u.distance + uv.weight v.predecessor := u for each edge uv in edges: if v.distance > u.distance + uv.weight: error "Graph contains a negative-weight cycle" Arquitectura de Redes - Universidad de Murcia 24
B
3
4 3
E
2 5 4 2 4 3
0 1
A
1
3 1
D F
2 3 4 5 6
Algoritmo de Dijkstra
Dado G=(V,E,w) | wij 0 wij . Calcular el camino ms corto entre dos nodos s y t.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 function Dijkstra(G, w, s) // Inicializacin for each vertex v in V[G] d[v] := infinity // Distancia inicial no conocida previous[v] := undef // Distancia de la fuente d[s] := 0 S := empty set // Conjunto de vrtices visitados Q := V[G] // Cconjunto de vrtices no visitados while Q is not an empty set u := Extract_Min(Q) // Extraer vrtice con mejor d[u] S := S union {u} // Marcarlo como visitado for each edge (u,v) outgoing from u if d[u] + w(u,v) < d[v] // Relajar (u,v) d[v] := d[u] + w(u,v) previous[v] := u
27
B
3
4 3
E
2 5 4 2 4 3
0 1
A
1
3 1
D F
2 3 4 5 6
28
Comparativa de Algoritmos
Coste comput. Costes Informacin negativos necesaria Implicaciones
Una versin distribuda, necesitara que un nodo enviase informacin de costes y topologa al resto de nodos de la red
Dijkstra
O(V2)
NO
Topologa completa
BellmanFord
O(VxE)
SI
Una versin distribuda slo requerira intercambiar informacin con los vecinos
29
Tolerancia a fallos
Si cae el nodo central, todo el sistema se queda inoperativo
Sobrecarga de control
Enviar el estado de la red a un nodo central es muy ineficiente
Fuente: http://www.lumeta.com
30
Encaminamiento Distribuido
Cada nodo intercambia informacin con otros nodos y a partir de ella cada nodo calcula sus tablas de encaminamiento. Dos tipos:
Vector de distancia. Cada nodo calcula las rutas a todos los destinos a partir de la informacin suministrada por los vecinos topolgicos (visin parcial del estado de la red). Estado de enlaces. Cada nodo informa al resto de nodos del estado de sus enlaces. Con la informacin recibida construye un mapa completo de la red y sobre l ejecuta un algoritmo de clculo de rutas (visin global del estado de la red).
31
Vector de Distancias
Algoritmo de Bellman-Ford Distribuido 1. Sea Xn = (C1,C2,,Ck) donde Cj = costo de Ri a Rj. 2. Inicializar X0 = (, , , , , , ). 3. Cada T segundos, el router Ri enva Xn a sus vecinos. ste es el vector de distancias. 4. Si Ri recibe un camino con costo menor a Rj, actualiza Cj. Por tanto Xn+1 = f(Xn) donde f(.) determina la mejora del siguiente paso. 5. Si Xn+1Xn ir al paso (3). El algoritmo funciona de forma asncrona y distribuida
32
j Router 4 k
Distancia 2
Distancia 2
Distancia 7
Destino: Recibido de j (+3) Recibido de k (+2) Recibido de m (+2) Recibido de n (+7) Vector calculado: Tabla de rutas:
1 12 5 0 6 2 m
2 3 8 5 2 6 j
3 15 3 3 0 5 m
4 3 2 2 7 0 0
5 12 10 19 8 12 k
6 5 7 9 5 8 j
7 6 4 5 8 6 k
8 18 20 22 12 19 n
9 0 5 2 11 3 j
10 7 0 4 3 2 k
11 15 15 7 2 9 n
33
Vector de Distancias
Ejemplo
R1
R2
2
R4
3 2
R6
3 2
R3
R1 R2 R3 R4 R5 R6 R7
R5
R7
R8
R1
R2
2
R4 2
2 R6
2 3
4 R3
R5
R7
R8
34
6, R3 4, R5 4, R8 6, R7 2, R8 2, R8 3, R8
R1
2
4 R2
2
6 R4
3
2 R6
2 3
2 R5
2
3 R7
4 R3
5
R8
Solucin
R1 R2 R3 R4 R5 R6 R7
5, R2 4, R5 4, R8 5, R2 2, R8 2, R8 3, R8
R1
R2
2 4
1
2
R4
3
R6 R7 3 2 R8
35
R3
R5
Bellman-Ford Distribuido
Cuestiones:
1. Cunto tarda en ejecutarse? 2. Cmo sabemos si el algoritmo converge? 3. Qu sucede cuando fallan los routers o cambian los costos de los caminos?
36
Consideremos el clculo de distancas a R4: Time 0 1 2 3 R1 3,R2 3,R2 3,R2 5,R2 R2 2,R3 2,R3 4,R3 4,R3 R3 1, R4 3,R2 3,R2 5,R2 R3 R4 falla
Cuenta a infinito
37
Cuenta a Infinito
Soluciones
1. Configurar infinito = algn entero pequeo (ej. 16). Parar cuando cuenta = 16. 2. Split Horizon: Como R2 recibi el camino de menor costo de R3, ste no anuncia coste alguno a R3 3. Split-horizon with poison reverse: R2 anuncia coste infinito a R3 4. Estos esquemas no son infalibles
38
R1
4
R2
2
R3
3
R4
4 2
R5 B
39
0, A 3, A 4, A 4, A 6, R2 7, R3 9, R5
A R1 R2 R3 R4 R5 B
0, A 3, A 4, A inf 6, R2 7, R3 9, R5
A R1 R2 R3 R4 R5 B
0, A 3, A 4, A inf 6, R2 inf 9, R5
R1
4
R2
2
R3
3
R3 R4 R5 B
R4
4 2
R5 B
A R1 R2 R3 R4 R5 B
A R1 R2 R3 R4 R5 B
A R1 R2 R3 R4 R5 B
A R1 R2 R3 R4 R5 B
0, A 3, A 4, A
15, R5
6, R2 12, B 10, R5
40
D
La red est estable.
41
D
C detecta la cada de D y lo anuncia a A y B.
42
D
A recalcula su vector y establece a B como next hop. Igual en B, que establece a A como next hop.
43
D
C recibe los vectores de A y B hacia D y recalcula su ruta a D. En este ejemplo establece a A como next hop. A y B no se envan vectores de D porque usan split horizon. La informacin expira y se anula la ruta.
Arquitectura de Redes - Universidad de Murcia 44
C anuncia a B su vector hacia D, pero no lo anuncia a A porque usa split horizon. B recalcula su vector. C expira su ruta a D al no recibir nuevos vectores.
Arquitectura de Redes - Universidad de Murcia
45
B anuncia a A su vector hacia D, pero no lo anuncia a C porque usa split horizon. A recalcula su vector. B expira su ruta a D al no recibir nuevos vectores.
Arquitectura de Redes - Universidad de Murcia 46
D
El problema de la cuenta a infinito se reproduce.
47
Enva su LSP por inundacin a todos los routers de la red Recaba los LSPs de todos los dems nodos Convergencia mejor, no hay clculo antes de retransmitir. Calcula las rutas ptimas por el algoritmo de Dijkstra:
Se pone l mismo como raz del rbol, y coloca a sus vecinos Mira los LSP de sus vecinos y despliega el rbol; cuando aparece ms de un camino hacia un nodo se coge el ms corto y se descartan los dems. Las ramas son en principio provisionales. Una rama se confirma cuando es ms corta que todas los dems provisionales.
48
49
B 1
D A/2 E/2
G C/5 F/1
C 2
5 G 1
B/6 D/2
4 F
Secuen
Flags env.LSP
Edad
60 60 60 58 59 62 61
B
0 0 0 0 1 1 1
F
1 1 1 1 0 0 1
G B F G Datos
1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 B/6, D/2 A/6, C/2, E/1 A/2, E/2 B/1, D/2, F/4 C/2, E/4, G/1 C/5, F/1 B/2, F/2, G/5 50
Para mejorar efectividad, se mantienen los LSP hasta que lneas estn desocupadas. Si llega uno nuevo sustituye al anterior. Se utiliza en diversos protocolos de encaminamiento:
Internet: OSPF, IS-IS ATM: PNNI
Arquitectura de Redes - Universidad de Murcia 51
Necesidades de memoria
EE mantiene la topologa completa VD mantiene slo estado para cada vecino
Fiabilidad:
EE puede inundar LSPs incorrectos o corruptos
Se puede hacer robusto al conocer la fuente caminos alternativos
53
Tabla de Encaminamiento
IP Subred
Actualizacin de rutas
54
Encaminamiento en IP
Dos situaciones bsicas:
eA
HostA
eB
HostB
eA
HostA
eR R ipR
HostB
ipA
ipB
ipA
ipB
55
Funcionamiento bsico en IP
La transmisin de datagramas IP entre mquinas conectadas a la misma subred se hace directamente:
Se encapsula el datagrama IP en una trama de subred, se obtiene la direcin fsica y se enva.
Si la mquina destino no est en la misma subred, se enva el datagrama a un router, ste lo reenva al siguiente, y as sucesivamente, hasta alcanzar un router conectado a la misma subred que la mquina destino. Resolucin de Direcciones: se denomina as al proceso de obtencin de una direccin de subred a partir de una direccin IP.
56
Sistemas participantes
La funcin de encaminamiento se realiza principalmente en los routers, aunque en algunas situaciones los hosts deben participar en la toma de decisiones: R1
Ethernet
R2
Host
57
Tablas de Encaminamiento en IP
Cada sistema mantiene una tabla de encaminamiento incluyendo una serie de duplas (red o sistema destino, prximo router).
10.1.1.1 192.3.4.1
Subred 10.0.0.0
10.1.1.2
R1
Subred 192.3.4.0
Tablas Encaminamiento R2
Destino 10.0.0.0 138.4.0.0 192.3.4.0 130.6.0.0 Siguiente 10.1.1.2 (Envo Directo) 138.4.1.2 (Envo Directo) 10.1.1.1 138.4.1.1
R2
138.4.1.2
192.3.4.2 130.6.1.1
R3
Subred 138.4.0.0
58
59
155.54.210.72 = 10011011 00110110 11010010 01001000 AND /23 = AND /16 = AND /17 = 10011011 00110110 11010010 00000000 10011011 00110110 00000000 00000000 10011011 00110110 10000000 00000000
60
Ih = 155.54.211.10
In = 155.54.210.0
Si In est directamente conectada, mandar el datagrama (encapsular, resolver direccin fsica y transmitir trama). Si no, si existe una ruta especfica para Ih, mandar el datagrama al sitio especificado en la ruta. Si no, si existe una ruta especfica para In, mandar el datagrama al sitio especificado en la ruta (longest prefix match). Si no, si existe una ruta por defecto, mandar el datagrama al sitio especificado en la ruta. Si no, Error, destino inalcanzable!. Se genera un mensaje ICMP.
Arquitectura de Redes - Universidad de Murcia 61
Ejercicio.
Calcular las tablas de rutas de R1, R2, R3, R4 y R5
192.1.2.1
192.1.2.2 192.1.2.3 192.1.2.4
Internet
R2 R1
192.1.1.1 192.1.1.3
S 192.1.2.0 R5 192.1.5.0
192.1.1.0
192.1.1.4
192.1.1.2
R3 192.1.3.0 S
192.1.3.3 192.1.3.4
R4
192.1.4.1
192.1.1.5
192.1.3.1 192.1.3.2
192.1.5.1
192.1.4.0
192.1.4.3
S
192.1.4.4 192.1.4.5 192.1.4.2
R6
192.1.6.1 192.1.5.3 192.1.5.4
S
192.1.5.2
192.1.6.0
192.1.6.2 192.1.6.3
62
Clases de Direcciones
En un principio:
1 subred A, B o C) 1 direccin de red IP (clase
Ventaja:
encaminamos en funcin de subredes y no de hosts (encaminamiento jerrquico de 1 nivel)
Problemas:
Explosin del tamao de las tablas de encaminamiento Prdida de direcciones
64
155.54.0.0
130.206.0.0
NSFnet
Espaa
65
Solucin
Compartir clases de direcciones entre varias subredes fsicas: subnetting.
Clase B
66
Subnetting
Parte integral del direccionamiento IP (todo sistema IP debe soportarlo). Consiste en subdividir el campo original de host en:
identificador de subred identificador de host
67
Mscaras de Subred
La divisin entre identificadores subred y sistema se define mediante mscara de subred:
id .de red id. subred id. sistema 0000
direccin mscara
11111111111111111111
255.
Subred: Difusin:
255.
255.
192
Direcciones especiales
id. sistema = 000...0 id. sistema = 111...1
68
Ejemplo Subnetting
Internet
R2 R1
138.4.1.0
138.4.2.0
R5
138.4.5.0
R4
138.4.4.0
R3
138.4.3.0
Una clase B (138.4.0.0) para una Red Local Mscara de subred = 255.255.255.0
Arquitectura de Redes - Universidad de Murcia
Source: Clase de Redes DIT-UPM
69
Ejemplo Subnetting
Dir: 138.4.0.0, Mscara: 255.255.255.0
TOTAL: 256 subredes con 254 hosts cada una
Num
1 2 3 4 .... 256
Dir. Subred
138.4.0.0 138.4.1.0 138.4.2.0 138.4.3.0 138.4.0.1 138.4.1.1 138.4.2.1 138.4.3.1
Primera
138.4.0.254 138.4.1.254 138.4.2.254 138.4.3.254
ltima
138.4.0.255 138.4.1.255 138.4.2.255 138.4.3.255
Broadcast
70
Dir. Subred
138.4.0.0 138.4.0.1
Primera
138.4.0.62 138.4.0.126 138.4.0.190 138.4.0.254 138.4.1.62 138.4.1.126
ltima
138.4.0.63
Broadcast
71
Ejemplo VLSM
192.168.1.64/28 192.168.1.80/28
1 subred de 40 hosts
LAN 2 necesitamos 6 bits para la 10 hosts parte host quedan 2 bits para subredes LAN 1
192.168.1.0/26
LAN 3 10 hosts
192.168.1.96/28
192.168.1.128/28
73
Supernetting (I)
Classless Inter-Domain Routing (CIDR)
Objetivo general:
Eliminar las clases de direcciones para solucionar temporalmente los problemas de direccionamiento y encaminamiento
Propuesta inicial:
Asignacin de varias direcciones clase C contiguas a una misma organizacin
Dirs. Clase C 1 2 64
Direcciones clase B slo para organizaciones que realmente las necesiten (ms de 32 subredes o 4096 hosts)
74
Supernetting (II)
Esquema opuesto a subnetting:
Subnetting: una clase para mltiples subredes Supernetting: varias clases para una organizacin
Asignacin: 194.170.168.0 / 21
direccin
mscara (255.255.248.0)
194
170
168
libre
Agregacin de Rutas
194.170.168.0 / 21 (2048 dirs) 194.170.168.0 / 17 (32.768 dirs)
Internet
Red1
PSI 1
Red2
194.170.176.0 / 22 (1024 dirs)
Red3
76
11000010
10101010
Red3
(194.170.180.0 / 24)
77
78
79
Introduccin
Hemos estudiado algoritmos distribuidos para calcular rutas En las siguientes lecciones, estudiaremos protocolos de encaminamiento
Intra-dominio (RIP, OSPF) Inter-dominios (BGP)
AS400
IGP
AS200
EGP EGP
IGP
IGP
EGP
IGP
AS300
EGP
AS100
80
Encaminamiento en Interredes
Dominio de Encaminamiento o Sistema Autnomo
Conjunto de redes gestionadas por una administracin comn y que comparten una estrategia de encaminamiento comn.
81
Encaminamiento IP
External Gateway Protocol (EGP): protocolo de encaminamiento entre Sistemas Autnomos. Ejemplos: EGP, BGP, IDPR. Internal Gateway Protocol (IGP): protocolo de encaminamiento dentro de un Sistema Autnomo. Ejemplos:
Gateway-to-Gateway Protocol (GGP) Routing Information Protocol (RIP) HELLO (usado en NSFnet) IGRP (propietario de CISCO Systems) Open Short Path First Protocol (OSPF)
82
Compatibilidad
Diferentes SAs pueden utilizar el protocolo de encaminamiento interno que mejor se adapte a sus necesidades
Extensibilidad
Aadir una nueva variante de un protocolo de encaminamiento no obliga a que todos los nodos de Internet lo implementen
Arquitectura de Redes - Universidad de Murcia 83
84
RIP
Routing Information Protocol (RFC 1058) Caractersticas:
Vector de distancia Mtrica = nmero de saltos (de 1 a 15, 16 es )
No ptima, aunque administrador puede ajustar valores de hop count (ej. ms altos en enlace lentos)
Funciona sobre UDP en el puerto 520 Dos tipos de participantes: activos e inactivos
Cada 30 seg. los activos difunden a todos sus vecinos su vector de distancias: conjunto de duplas (dir. IP, distancia). Los pasivos slo escuchan los mensajes RIP y actualizan sus tablas. Si un host participa ha de ser forzosamente pasivo
Arquitectura de Redes - Universidad de Murcia 85
RIP
Caractersticas adicionales:
Emplea histresis en la actualizacin de rutas
Slo se actualizan si mtrica estrictamente mejor
Una ruta es inalcanzable si no se vuelve a anunciar en 180 segundos Dos tipos de paquetes:
Request: enviados por los routers o hosts que acaban de conectarse o cuya informacin ha caducado. Response: enviados peridicamente, en respuesta a un Request o cuando cambia algn coste.
86
Convergencia en RIP
A
Vector de A A B C 0 1 2 A B B
B
Vector de B A B C 1 0 1 A B C
C
Vector de C A B C 2 1 0 B B C
87
Convergencia en RIP
C deja de funcionar; B borra la ruta a C de su VdD
1 1
A
Vector de A A B C 0 1 2 A B B
B
Vector de B A B C 1 0 1 A B C
C
Vector de C A B C 2 1 0 B B C
88
Convergencia en RIP
B vuelve a conocer la ruta hacia C cuando A le enva su VdD
A
Vector de A A B C 0 1 2 A B B
B
Vector de B A B C 1 0 3 A B A
C
Vector de C A B C 2 1 0 B B C
89
Convergencia en RIP
Cuando A recibe el VdD de B incrementa la distancia hacia C en una unidad
A
VdD de A A B C 0 1 4 A B B
B
VdD de B A B C 1 0 3 A B A
C
VdD de C A B C 2 1 0 B B C
A y B intercambiarn una ruta inexistente hasta que la mtrica llegue a infinito (16 en RIP)!
90
Poison Reverse
Anuncia nodos inalcanzables con coste Puede combinarse con triggered updates
Dicha informacin se propaga inmediatamente (no espera a siguiente actualizacin)
91
Etiquetas de rutas
Permite propagar informacin adicional sobre el origen de la ruta (ej. el nmero de SA)
94
Desventajas:
OSPF
Open Shortest Path First (RFC 2328, versin 2) Caractersticas generales:
Desarrollado por IETF para redes IP IP subnetting, CIDR (direcciones + mscaras) Encaminamiento multimtrica Mltiples rutas (balanceo de carga) Encaminamiento jerrquico (AS divididos en reas) Inyeccin de rutas externas Adaptacin a redes locales Soporte para autenticacin
97
OSPF
Estado de Enlace
Objetivo:
reaccionar rpidamente ante cambios topolgicos
Vector de distancias
convergencia lenta
98
OSPF
Jerarqua de reas
Objetivo:
minimizar el trfico OSPF (trfico de control)
reas OSPF
Router Backbone
rea 0 (Backbone) A B
C D rea 1 F
Router Interno
E rea 2
A otros AS
RI
ASBR
Router Frontera De Sistema Autnomo 100
OSPF
Tipos de Routers
Routers internos
slo conectados con redes del mismo rea slo mantienen la base de datos LS del rea
101
OSPF
Tipos de Routers
Routers backbone
conectados con alguna red del rea 0
102
OSPF
Funcionamiento (I)
Protocolo Hello para mantener informacin de los vecinos
mensajes Hello peridicos listan los vecinos conocidos se comprueba bidireccionalidad formacin de adyacencias: relacin entre dos routers OSPF que permite el intercambio de LSAs
no todos los vecinos forman una adyacencia, para reducir sobrecarga de control cuando no es necesaria vecinos adyacentes mantienen sincronizadas sus bases de datos LS, cualquier cambio lo comunican a la adyacencia
103
OSPF
Funcionamiento (II)
Intercambio de Base de Datos para sincronizar LS entre vecinos adyacentes Inundacin de LSAs para distribuir la informacin de estado de enlace dentro del rea
se propaga a travs de las adyacencias todos los nodos del rea tienen la misma visin de la base de datos LS se calculan las rutas intra-rea
104
OSPF
Funcionamiento (III)
Rutas inter-rea
ABR resume la topologa de cada rea a la que est conectado en un LSA tipo 3 (summary network) cada LSA se inunda a travs del backbone, por lo que llega al resto de ABRs estos ABRs tienen informacin topolgica completa del backbone y el resumen del resto de reas, por lo que calculan los caminos a todos los destinos inter-rea el resultado se anuncia dentro de cada rea del ABR, de forma que todos los routers aprenden rutas a todos los destinos del AS
Arquitectura de Redes - Universidad de Murcia 105
OSPF
Funcionamiento (IV)
Rutas externas al AS
ABR genera LSA tipo 4 (summary ASBR) para que los routers de un rea sepan cmo alcanzar los ASBR de otras reas ASBR inunda las rutas hacia destinos fuera del AS por medio de LSA tipo 5 (external), que se propaga en todo el AS
excepcin: stub areas
106
OSPF
Formato de Paquete
Cabecera de Paquete OSPF
16
32
version
type
packet length
Authentication Authentication
108
Protocolo Hello
Mensaje Hello
prioridad intervalo entre Hellos lista de vecinos DR y BDR
Hello
Hello
Hello
Destino: direccin multicast AllSPFRouters (224.0.0.5) Responsable de establecer y mantener las relaciones de vecindad En redes de acceso mltiple (p.ej. Ethernet) con al menos dos routers se encarga de seleccionar:
router designado (DR, designated router) router designado de respaldo (BDR, backup DR)
Arquitectura de Redes - Universidad de Murcia 109
DR
Si cada par de routers en la LAN fueran adyacentes: N * (N - 1) / 2
BDR
DR
110
DR
Funciones
Mantiene adyacencias con el resto de routers de la red de acceso mltiple
se sincronizan las bases de datos LS DR recibe LSAs con destino multicast AllDRouters (224.0.0.6)
Genera LSA tipo 2 (network) para resumir la topologa de la red de acceso mltiple
lista todos los routers conectados inunda el LSA por el rea al que pertenece la red
111
DR
Eleccin
Eleccin por medio del Protocolo Hello
si ya existe un DR se mantiene si no, se selecciona el router de mayor Prioridad (configurada por interfaz) en caso de empate, se selecciona el de mayor Router ID
131.108.3.3
112
BDR
Mantiene adyacencias con el resto de routers de la red de acceso mltiple
se sincronizan las bases de datos LS BDR recibe LSAs con destino multicast AllDRouters (224.0.0.6)
Eleccin por medio del Protocolo Hello En caso de fallo del DR, el BDR asume su funcin
convergencia rpida ante fallos
113
114
- R1 pierde su vecino y borra todas las rutas a la nube - R1 mantiene los LSAs de routers de la nube en la base de datos (hasta maxage = 60 minutos) - Si antes vuelve el link, se intercambian mensajes Database Description, compara los identificadores de LSA que tena y slo solicita los nuevos (LS Request/LS Updata) uso reducido del ancho de banda
Arquitectura de Redes - Universidad de Murcia 115
116
Full
DR
BDR
LSAs slo enviados a routers adyacentes (LS Update). En red multiacceso a direccin AllDRouters. LSAs son asentidos (LS Ack) por los router adyacentes en unicast.
117
Tipos de LSAs
5 tipos de LSA
1) Router LSA: LSP clsico emitido por todo router, con nmero secuencia, age, etc. Describe los enlaces del router. Inundado dentro del rea. 2) Network LSA: emitido por DRs. Contiene la lista de routers conectados a la red multiacceso. Inundado dentro del rea. 3) Network Summary LSA: emitido por ABRs. Describe los destinos alcanzables en el resto de reas. Inundado dentro del rea. 4) ASBR Summary LSA: emitido por ABRs. Describe los ASBRs alcanzables en el resto de reas. Inundado dentro del rea. 5) AS External LSA: emitido por ASBRs. Describe los destinos alcanzables en otro AS. Inundado en todo el AS.
118
Ejemplo LSAs
T1 rea 2 T2 IR T1 T3 T5 rea 0 T3,4,5 T1
ABR
ASBR
A otros AS rea 1
119
1.B
Token Ring
1.A
Token Ring
3.B
3.A
Token Ring
Token Ring
1.C
1.D 2.C
2.A
3.C 3.D
1.A 1.B 1.C 1.D 2.A 2.B 2.C 2.D 3.B 3.A
Token Ring Token Ring
1.B
Token Ring
1.A
2.B
Token Ring
Token Ring
1.C
1.D 2.C
2.A
3.C 3.D
121
4a 4b 5a 5b
External links
4a 4b
5a 5b
4a 4b 5a 5b
4a 4b
5a 5b
3.B ASBR
Token Ring Token Ring
1.B
Token Ring
1.A
Token Ring
3.A
2.B
Token Ring
Token Ring
3.C 3.D
Resmenes de rutas externas se inundan en las reas Los cambios en los enlaces son vistos en todos sitios
Arquitectura de Redes - Universidad de Murcia 122
Cost = 8 ASBR 3 Network Type 1 Next Hop N1 cost 11 R1 N1 cost 10 R3 redistributin de la red N en OSPF con External Cost = 2
Tipo 1: mismas unidades de coste que asume OSPF Tipo 2: un orden de magnitud mayor, para seleccionar el ASBR que anuncia menor coste a un destino fuera del AS
Arquitectura de Redes - Universidad de Murcia 123
124
Enrutamiento Multimtrica
OSPF permite hasta cinco mtricas diferentes simultneas:
Normal (TOS=0x00) nmero de saltos Coste monetario (TOS = 0x02) administrador Fiabilidad (TOS = 0x04) histrico de loss rate Rendimiento (TOS=0x08) velocidad de transmisin Retardo (TOS=0x10) tiempo transmisin + cola
Los routers eligen una mtrica u otra en funcin del campo TOS (Type of Service) de los datagramas IP:
Precedence Dspanning T R trees C 0(uno Los routers en realidad calculan 5 para cada coste)
125
126
128
SA2 Backbone
Campus
Backbone
Backbone Comercial
129
la administracin de un AS aparece a otros ASs como un plan de encaminamiento nico y coherente, presentando una imagen consistente de qu redes son alcanzables a travs de l. RFC 1930: Guidelines for creation, selection, and registration of an Autonomous System
130
132
El Concepto de Peering
transit AS transit AS transit AS
stub AS
peer proveedor peer cliente
stub AS
stub AS
Los peers ofrecen trnsito entre sus respectivos clientes Los peers no ofrecen trnsito entre otros peers El acuerdo de peering puede incluir o no compensacin econmica
Source: Tutorial BGP, Timothy G. Griffin, ICNP 2002
trfico permitido
trfico NO permitido
133
Univ. De Murcia
155.54.0.0/16 El routing esttico es el caso ms comn de conexin a Internet en stub ASs. Esto explica por qu BGP es un misterio para muchos
Arquitectura de Redes - Universidad de Murcia
Source: Tutorial BGP, Timothy G. Griffin, ICNP 2002
134
Los caminos con ciclos se pueden detectar y eliminar de forma local De las diferentes opciones, la poltica local elige el mejor camino (AS path) Cuando un enlace/router falla, el camino se invalida (withdrawn)
Arquitectura de Redes - Universidad de Murcia
Source: Tutorial BGP, Timothy G. Griffin, ICNP 2002
135
Versiones de BGP
1989 : BGP-1 [RFC 1105]
Reemplazo de EGP (1984, RFC 904)
1990 : BGP-2 [RFC 1163] 1991 : BGP-3 [RFC 1267] 1995 : BGP-4 [RFC 1771]
Soporte de Classless Interdomain Routing (CIDR)
136
Funcionamiento Simplificado
Establece sesin con TCP puerto 179
AS1
Sesin BGP
Intercambia todas las rutas activas
AS2
Mientas que la conexin est activa, intercambia mensajes de actualicacin de rutas
Source: Tutorial BGP, Timothy G. Griffin, ICNP 2002
137
138
Atributos BGP
Code --------------------------------ORIGIN AS_PATH NEXT_HOP MULTI_EXIT_DISC LOCAL_PREF ATOMIC_AGGREGATE AGGREGATOR COMMUNITY ORIGINATOR_ID CLUSTER_LIST DPA ADVERTISER RCID_PATH / CLUSTER_ID MP_REACH_NLRI MP_UNREACH_NLRI EXTENDED COMMUNITIES reserved for development
Reference --------[RFC1771] [RFC1771] [RFC1771] [RFC1771] [RFC1771] [RFC1771] [RFC1771] [RFC1997] [RFC2796] [RFC2796] [Chen] [RFC1863] [RFC1863] [RFC2283] [RFC2283] [Rosen]
Atributos ms importnates
No todos han de estar presentes en cada anuncio
139
192.0.2.0/24
192.0.2.0/24
192.0.2.0/24
Dadas mltiples rutas a un mismo prefijo, un BGP peer ha de elegir como mucho una mejor ruta. (Nota: podra rechazarlas todas!)
140
Shortest ASPATH Lowest MED i-BGP < e-BGP Lowest IGP cost to BGP egress Lowest router ID
Romper empates Ingeniera de trfico
141
AS 7018
AT&T
12.127.0.121
AS 6431
AT&T Research
AS 12654
RIPE NCC
Cada vez que un anuncio de ruta cruza una frontera de un AS, el atributo Next Hop se cambia a la direccin IP del router frontera que aunci la ruta.
Arquitectura de Redes - Universidad de Murcia
Source: Tutorial BGP, Timothy G. Griffin, ICNP 2002
142
AS 1
192.0.2.0/30
192.0.2.1
AS 2
+
EGP
destination 135.207.0.0/16 next hop 192.0.2.1
AS1
eBGP
iBGP AS2
Arquitectura de Redes - Universidad de Murcia
Source: Tutorial BGP, Timothy G. Griffin, ICNP 2002
144
145
Route Reflectors
Los RR pasan los mensajes iBGP Update a los peers iBGP Cada RR pasa SLO las mejores rutas Se usan los atributos ORIGINATOR_ID y CLUSTER_LIST para evitar ciclos
RR RR RR
146
Atributo ASPATH
135.207.0.0/16 AS Path = 1755 1239 7018 6341
AS 1129
Global Access
AS 1755
Ebone
AS 1239
Sprint
AS7018
135.207.0.0/16 AS Path = 6341 AT&T
AS 6341
AT&T Research
AS 3549
Global Crossing
135.207.0.0/16
Prefijo Originado Arquitectura de Redes - Universidad de Murcia
Source: Tutorial BGP, Timothy G. Griffin, ICNP 2002
147
AS 4
AS 2
148
AS 1
Arquitectura de Redes - Universidad de Murcia
Source: Tutorial BGP, Timothy G. Griffin, ICNP 2002
149
135.207.0.0/16 ASPATH = 3 2 1
AS 1
135.207.0.0/16
AS 2
AS 3
AS 4
150
AS 4
RedIRIS
AS 3
AS 2 AS 1
13.13.0.0/16
Source: Tutorial BGP, Timothy G. Griffin, ICNP 2002
153
AS 4
AS 3
AS 2
AS 1 13.13.0.0/16
Source: Tutorial BGP, Timothy G. Griffin, ICNP 2002
154
AS 1
enlace primario enlace de backup
AS 65000
155
AS 1
proveedor
AS 3
proveedor
primary link
backup link
multi-homed AS
AS 2
Fuerza al trfico de salida a usar el enlace primario salvo cuando cae.
Arquitectura de Redes - Universidad de Murcia
Source: Tutorial BGP, Timothy G. Griffin, ICNP 2002
156
192.0.2.0/24 ASPATH = 2
192.0.2.0/24 ASPATH = 2 2 2
primario
backup 192.0.2.0/24
cliente
AS 2
Padding forzar (normalmente) a que el trfico entre del AS1 usando el enlace primario.
157
Padding no til
AS 1
proveedor
192.0.2.0/24 ASPATH = 2
AS 3
proveedor
192.0.2.0/24 ASPATH = 2 2 2 2 2 2 2 2 2 2 2 2 2 2
primario
backup 192.0.2.0/24
cliente
AS 2
AS 3 enva el trfico por el enlace de backup porque las rutas hacia clientes tienen preferencia sobre la longitud del ASPATH. En estos casos el padding sirve para balanceo carga.
158
AS 3
proveedor
primario
backup 192.0.2.0/24
Polit. de import. en AS 3: If 3:90 in COMMUNITY then set local preference to 90 If 3:80 in COMMUNITY then set local preference to 80 If 3:70 in COMMUNITY then set local preference to 70
Source: Tutorial BGP, Timothy G. Griffin, ICNP 2002
cliente
AS 2
159
Bibliografa
Bsica
Comer, cap. 4, 8, 10, 14, 15 y 16 Tanenbaum, sec. 5.2 y sec. 5.4
Complementaria
Stevens, cap. 3 y 4 Bertsekas, Sec. 5.1 y 5.2 RFC 2453 (RIPv2) RFC 2328 (OSPFv2) RFC 1771, 1772 (BGP-4) T. Griffin, G. Wilfong, An analysis of BGP convergence properties, ACM SIGCOMM 1999
160