Você está na página 1de 78

Protocolos de Enrutamiento

Fausto Vasco

1
Objetivos
• Entender los principales procedimientos de enrutamiento
utilizados en la capa de red.
• Conocer un postulado general para enrutamiento como es el
principio de optimización.
• Diferenciar entre enrutamiento estático y dinámico.
• Protocolos de Enrutamiento
• Sistema Autónomo y clasificación de los protocolos de
enrutamiento.
• Algoritmos y protocolos de pasarela interior
– Vector Distancia
– Ruta más corta primero
• Algoritmos y protocolos de pasarela exterior
– BGP

2
Introducción
• La capa de Red, es la que se encarga de llevar los paquetes de datos
desde el origen (transmisión) hasta el destino (recepción).
• Llegar a destino, en tiempo y forma, puede requerir que el algoritmo de
enrutamiento, que es el encargado de escoger las rutas y las estructuras de
datos, cumpla con ciertas propiedades que aseguren la eficiencia de su
trabajo:
– corrección,
– estabilidad,
– robustez,
– equitatividad,
– sencillez,
– optimalidad.
• La equitatividad y la optimalidad resultan con frecuencia contradictorias,
ya que muchas veces se requiere una concesión entre la eficacia global
(optimización) y la equitatividad; es decir, antes de intentar encontrar un
justo medio entre estas dos, se debe decidir qué es lo que se busca
optimizar.
3
Introducción
• Minimizar el retardo de los paquetes (disminuyendo escalas y
ancho de banda) y maximizar el rendimiento total de la red
sería la combinación más apropiada para un algoritmo de
ruteo.
• Pero otra vez estas dos están en conflicto, ya que operar al
límite (rendimiento) implica congestión, colas y por lo tanto
retardos.

4
Algoritmos de Enrutamiento
• La capa de Red proporciona el direccionamiento lógico que permite que
dos sistemas diferentes que se encuentran en redes lógicas diferentes
determinen una posible ruta para comunicarse.
– Además proporciona los algoritmos que implementan los protocolos
de enrutamiento.
• En la mayoría de las subredes, los paquetes requerirán varias escalas
para completar el viaje.
– La excepción serían las redes de difusión, pero aún aquí es
importante el enrutamiento, ya que el origen y el destino pueden no
estar en la misma red.
• Si la subred usa datagramas entonces la decisión de enrutamiento
debe hacerse cada vez que llega un paquete de datos de entrada.
• Si la subred utiliza circuitos virtuales internamente, las decisiones de
enrutamiento se tomarán sólo al establecerse el circuito.

5
Algoritmos de Enrutamiento: Clasificación
• Los algoritmos de enrutamiento se dividen en dos clases principales:
Adaptables y No Adaptables.

Algoritmos no adaptables.-
• No basan sus decisiones de enrutamiento en mediciones o estimaciones
del tráfico ni en la topología.
• La decisión de qué ruta tomar de I a J se calcula por adelantado, fuera de
línea y se cargan en los routers al iniciar la red.
– Éste procedimiento se llama enrutamiento estáticos.
• Desventaja: no es posible responder a situaciones cambiantes
como saturación, exceso de tráfico o fallo en una línea.
• En un conjunto de redes complejas, se necesita cierto grado de
cooperación “dinámica” entre los dispositivos de enrutamiento.
• Para poder tomar estas decisiones de enrutamiento dinámicas, los
dispositivos involucrados en el enrutamiento deben intercambiar
información.

6
Algoritmos de Enrutamiento: Clasificación

Algoritmos adaptables.-
• En contraste, éstos cambian sus decisiones de enrutamiento para reflejar
los cambios de topología y de tráfico.
• Difieren de los algoritmos estáticos en el lugar de obtención de su
información (ej. localmente, en los routers adyacentes o de todos), el
momento del cambio de sus rutas y la métrica usada para la optimalidad
(ej. distancia, nº de escalas, tiempo estimado del tránsito).
• Este tipo de algoritmos no pueden ser demasiado complejos:
– Son implementados en los routers
– Deben ejecutarse en tiempo real
– Con recursos de CPU y memoria del router

7
Principio de Optimización
• Este postulado establece que, si el enrutador C está en la trayectoria óptima
del enrutador I al enrutador K, entonces la trayectoria óptima de C a K
también está en la misma ruta.
• Haciendo referencia a la figura 1, llamemos r1 a la parte de la ruta de I a
• C, y r2 al resto de la ruta. Si existiera una ruta mejor que r2 entre C y K,
podría concatenarse con r1 para mejorar la ruta entre I y K, contradiciendo
nuestra aseveración de que r1r2 es óptima.

8
Principio de Optimización
• Como consecuencia directa del principio de optimización, el grupo de
trayectorias óptimas de orígenes a un destino dado forma un árbol con
raíz en el destino.
– Ese árbol que se forma, se llama árbol de descenso, donde la métrica
de distancia es el número de escalas.
– El árbol de descenso puede no ser único, pueden existir otros árboles
con las mismas longitudes de trayectoria.
• La meta de todos los algoritmos de enrutamiento es descubrir y usar los
árboles de descenso para todos los enrutadores.

9
Algoritmos Estáticos

10
Enrutamiento por trayectoria más corta

– Esta es una técnica de amplio uso en muchas formas, ya que


es sencilla y fácil de entender.
• Se arma un grafo de la subred en el que cada nodo representa
un enrutador y cada arco del grafo una línea de comunicación
(enlace).
• Para seleccionar la ruta entre un par dado de enrutadores, el
algoritmo simplemente encuentra en el grafo la trayectoria más
corta entre ellos.
– El concepto de trayectoria más corta se debe a que la forma
de medir la longitud de la ruta es usando alguna métrica
(peso relativo que se da a los factores que intervienen en el
cálculo de la distancia en una red).
• Número de saltos, la distancia física, el retraso de transmisión,
ancho de banda, el tráfico promedio, el costo de comunicación, etc.
– Dijkstra (1959)

11
Enrutamiento por trayectoria más corta
• Se conocen varios algoritmos de cálculo de la trayectoria
más corta entre dos nodos de un grafo.
– Cada nodo se etiqueta (entre paréntesis) con su distancia al nodo
de origen a través de la mejor trayectoria conocida.
– Inicialmente no se conocen trayectorias, por lo que todos los nodos
tienen la etiqueta infinito.
• A medida que avanza el algoritmo y se encuentran trayectorias, pueden
cambiar las etiquetas, reflejando mejores trayectorias.
• Una etiqueta puede ser tentativa o permanente.
• Inicialmente todas las etiquetas son tentativas.
– Al descubrirse que una etiqueta representa la trayectoria más corta
posible del origen a ese nodo, se vuelve permanente y no cambia
más.
B 7 C
2 2 3 3
A E 2 F D

6 1 2 2

G 4 H 12
Inundación
• Cada paquete de entrada se envía por cada una de las líneas
de salida, excepto aquella por la que llegó.
– Evidentemente genera grandes cantidades de paquetes duplicados, de
hecho, una cantidad infinita a menos que se tomen algunas medidas para
limitar ese proceso.
• Un contador de escalas contenido en la cabecera de cada paquete, el cual
disminuye en cada escala, descartándose al llegar el contador a cero.
• Idealmente el contador debe inicializarse a la longitud de la trayectoria, es decir,
el diámetro de la subred.
• Una variación de la inundación, un poco más práctica es la
inundación selectiva.
– En este algoritmo, los enrutadores no envían cada paquete de entrada por
todas las líneas, sino sólo por aquellas que van aproximadamente en la
dirección correcta.
• La inundación no es práctica en la mayoría de las aplicaciones,
pero tiene algunos usos. Por ejemplo, en aplicaciones militares y
en las aplicaciones de bases de datos distribuidas

13
Enrutamiento basado en flujo
• Los algoritmos vistos hasta ahora sólo toman en cuenta la
topología; no consideran la carga.
– Si por ejemplo, siempre hay una gran cantidad de tráfico entre un nodo A y
un nodo B, ambos adyacentes, podría ser mejor enrutar el tráfico de ambos
por caminos alternativos un poco más largos tal vez.
• El enrutamiento basado en flujo usa tanto la topología como la
carga para el enrutamiento.
– Para una línea dada, si se conocen la capacidad y el flujo promedio, es
posible calcular el retardo promedio de los paquetes en esa línea a partir de
la teoría de colas.
– De los retardos promedio de todas las líneas, es directo el cálculo de un
promedio ponderado por el flujo para obtener el retardo de paquete medio de
la subred completa.
– El problema de enrutamiento se reduce entonces a encontrar el algoritmo de
enrutamiento que produzca el retardo promedio mínimo para la subred.

14
Enrutamiento basado en flujo
• Para usar esta técnica, debe conocerse por adelantado
cierta información:
– La topología de la subred
– Debe estar dada la matriz de tráfico
– Debe estar disponible la matriz de capacidad, donde se especifica
la capacidad de cada línea en bps.
• Por último, debe escogerse algún algoritmo tentativo de
enrutamiento.

15
Algoritmos Dinámicos

16
Enrutamiento vector de distancia
• Operan haciendo que cada enrutador mantenga una tabla (por
ejemplo, un vector) que da la mejor distancia conocida a cada
destino y la línea (interface) a usar para llegar ahí.
– Estas tablas se actualizan intercambiando información con vecinos.
– Este algoritmo recibe otros nombres como: algoritmo de enrutamiento
Bellman-Ford distribuido y el algoritmo Ford-Fullkerson.
• Cada enrutador mantiene una tabla de enrutamiento indizada por,
y conteniendo un registro de, cada enrutador de la subred.
– Esta entrada comprende dos partes:
• La línea preferida de salida hacia ese destino
• Una estimación del tiempo o distancia a ese destino.
– La métrica usada podría ser la cantidad de saltos, el retardo de tiempo en
milisegundos, el número total de paquetes encolados por la trayectoria, o algo
parecido o una combinación de las mismas.

17
Enrutamiento vector de distancia
• Se supone que cada enrutador conoce la “distancia” a
cada uno de sus vecinos.
– Si la métrica es de escalas, la distancia simplemente es una escala.
– Si la métrica es la longitud de la cola, el enrutador simplemente
examina cada cola.
– Si la métrica es el retardo, el enrutador puede medirlo directamente
con paquetes especiales de ECO que el receptor simplemente marca
con la hora y envía de regreso tan rápido como puede.

18
El problema del conteo a infinito
• Este algoritmo funciona bien en teoría, pero tiene un
problema serio en la práctica: aunque converge en la
respuesta correcta, puede hacerlo lentamente.
– En particular reacciona con rapidez a las buenas noticias, pero con
lentitud ante las malas.
• Consideremos un enrutador cuya mejor ruta al destino X es
larga. Si en el siguiente intercambio el vecino A informa
repentinamente un retardo corto a X, el enrutador simplemente
se conmuta a modo de usar la línea a A para enviar tráfico
hasta X.
– En el intercambio de vectores, se procesan las nuevas noticias.

19
El problema del conteo a infinito
– Para ver la rapidez de propagación de las buenas noticias, considere
la subred de la figura.

• • • • inicialmente

1 • • • Tras 1 intercambio
1 2 • • Tras 2 intercambio
1 2 3 • Tras 3 intercambio
1 2 3 4 Tras 4 intercambio

20
El problema del conteo a infinito
• Considerando ahora la situación en que todas las líneas y enrutadores
están activos inicialmente. Los enrutadores B, C, D y E tienen
distancias a A de 1, 2, 3 y 4, respectivamente.
• De pronto A se desactiva, o bien se corta la línea entre A y B, que de
hecho es la misma cosa desde el punto de vista de B.
• En el primer intercambio de paquetes B no escucha nada de A. C sabe
que tiene una trayectoria hacia A de longitud 2 y avisa a B, sin saber
este último que la trayectoria de C pasa a través de B mismo.

21
Recorte por horizonte dividido (solución)

• Hay muchas soluciones a este problema, pero


ninguna lo soluciona completamente.
– El algoritmo de horizonte dividido dice que una red de destino no
debe ser anunciada por la misma línea por la que fué llegó su
actualización.
– Usando el horizonte dividido, las malas noticias se propagan a
razón de un salto por intercambio.
– Esta velocidad es mucho mejor que sin este algoritmo.

22
Recorte por horizonte dividido (solución)

23
Enrutamiento por estado de enlace
• El concepto de este algoritmo es sencillo y puede describirse en
cinco partes. Cada enrutador debe:
1. Descubrir a sus vecinos y conocer sus direcciones de red.
– Al ponerse en operación un enrutador, su primera tarea es averiguar quiénes
son sus vecinos;
• Paquete HELLO por cada línea punto a punto.
• Se espera que el enrutador del otro extremo envíe de regreso su dirección única.

24
Enrutamiento por estado de enlace
2. Medición del costo de la línea.
– El algoritmo requiere que cada enrutador sepa el estado de cada uno
de sus vecinos.
– La manera más directa de determinar este retardo es enviar un paquete
especial ECO (ECHO) a través de la línea, el cual debe enviar de
regreso inmediatamente el otro lado.
– Si mide el tiempo de ida y vuelta y lo divide entre dos, el enrutador
transmisor puede tener una idea razonable del retardo.
• Para obtener mejores resultados la prueba puede llevarse a cabo varias
veces y usarse el promedio.

25
Enrutamiento por estado de enlace
3. Construcción de los paquetes de estado de enlace.
– Una vez que se ha recabado la información necesaria para el intercambio, el
siguiente paso es que cada enrutador construya un paquete con todos los
datos.
– Este paquete comienza con la identidad del transmisor, seguida de un número
de secuencia, una edad y una lista de vecinos.
– Para cada vecino, se coloca el retardo a ese vecino.

– Es fácil construir los paquetes de estado de enlace.


– La parte difícil es determinar cuándo construirlos.
• Periódicamente, es decir, a intervalos regulares.
• Al ocurrir un evento significativo, como la caída o reactivación de una línea o de un
vecino, o el cambio apreciable de sus propiedades.

26
Enrutamiento por estado de enlace
4. Distribución de los paquetes de estado de enlace.
– La parte más complicada del algoritmo es la distribución confiable de
los paquetes de estado de enlace.
– A medida que se distribuyen e instalan los paquetes los enrutadores
que reciban los primeros cambiarán sus rutas.
– En consecuencia, los distintos enrutadores podrían estar usando
versiones diferentes de la topología, lo que puede conducir a:
• Inconsistencias,
• Ciclos o lazos
• Máquinas inalcanzables, etc.
• El algoritmo que se utiliza para la distribución de los
paquetes de estado de enlace seria inundación.

27
Enrutamiento por estado de enlace
5. Cálculo de nuevas rutas.
– Una vez que un enrutador ha acumulado un grupo completo de
paquetes, puede construir el grafo de la subred completa.
– De hecho, cada enlace se representa dos veces, para cada dirección.
• Los dos valores pueden promediarse o usarse por separado.
– Ahora puede ejecutarse localmente el algoritmo de la trayectoria más
corta posible a todos los destinos.
• Los resultados pueden instalarse en las tablas de enrutamiento, y
reiniciarse la operación normal.
– Para una subred con n enrutadores, cada uno de los cuales tiene k
vecinos, la memoria requerida para almacenar los datos de entrada es
proporcional a nk. (micha memoria en redes grandes)
• Tiempo de cómputo alto.

28
Enrutamiento Jerárquico
• A medida que crece el tamaño de las redes, crecen
proporcionalmente las tablas de enrutamiento del
enrutador. Consumen:
– memoria del enrutador
– tiempo CPU para examinarlas
– ancho de banda para enviar informes
• En cierto momento, la red puede crecer hasta el punto en
que ya no es factible que cada enrutador tenga una
entrada para cada uno de los demás enrutadores
– Æ Enrutamiento jerárquico, como ocurre en la red telefónica.
• Los enrutadores se dividen en regiones o áreas,
• Cada enrutador conoce todos los detalles de la manera de enrutar
paquetes a destinos dentro de su propia región
• Pero no sabe nada de la estructura interna de las otras regiones.
– Cada región es independiente, a fin de liberar a los enrutadores de
una red de la necesidad de conocer la estructura topológica de las
demás. 29
Enrutamiento por Difusión
• En algunas aplicaciones, los host necesitan enviar mensajes a
varios otros host o a todos los demás.
– El envío simultáneo de un paquete a todos los destinos se llama difusión.
– Hay varios métodos para llevarlo a cabo.
• Un método de difusión que no requiere características
especiales de la red es que el origen simplemente envíe copias
del paquete a todos los destinos.
– Desperdicia ancho de banda
– El origen debe tener una lista completa de todos los destinos.
– En la práctica, este es el método menos deseable.
• La inundación es otro candidato pero como técnica de difusión
tiene el mismo problema que como algoritmo de enrutamiento
punto a punto:
– Genera demasiados paquetes y consume demasiado ancho de banda.

30
Enrutamiento por Difusión
• Un tercer algoritmo es el enrutamiento multidestino.
– Con este método cada paquete contiene una lista de destinos
deseados.
– El enrutador genera una copia nueva del paquete para cada línea
de salida, e incluye en cada paquete sólo los destinos que usan la
línea.
– Enrutamiento idéntico al de los paquetes con direccionamiento
individual, excepto que, cuando varios paquetes deben seguir la
misma ruta, uno de ellos paga la tarifa completa y los demás viajan
gratis.

31
Enrutamiento por Difusión
• El último algoritmo de difusión es el árbol de extensión,
este es un subgrupo de la subred que incluye todos los
enrutadores, pero no contiene ciclos.
• Si cada enrutador sabe cuales de sus líneas pertenecen
al árbol de extensión, copia una paquete en cada una de
estas líneas, excepto por la que llegó.
– Excelente uso del ancho de banda
– Cantidad mínima de paquetes
• El único problema es que el enrutador debe tener
conocimiento del árbol de extensión.
• Esta información podría no estar disponible.

32
Sistemas Autónomos
• Un sistema autónomo o AS será la subred que es
administrada por una autoridad común, que tiene:
– Un protocolo de ruteo homogéneo
– Una política común para el intercambio de tráfico con otras redes o
ASs
• En Internet se dan, al menos, dos niveles jerárquicos de
ruteo:
– Dentro de un sistema autónomo (gateway o pasarela interior)
– Entre sistemas autónomos (gateway o pasarela exterior)
• Dado que los requerimientos en unos y en otros son muy
diferentes, se utilizan protocolos de ruteo muy distintos.

33
Protocolos de Enrutamiento IP

34
Enrutamiento
• El enrutamiento es fundamental para cualquier red de datos,
ya que transfiere información a través de una internetwork de
origen a destino.
• El enrutamiento puede ser:
– Estático, utilizando rutas estáticas introducidas por el administrador
– Dinámico, utilizando Protocolos de Enrutamiento
• En cualquier caso son los enrutadores los encargados de llevar
los datos de origen a destino con dicha información, dado que
sus funciones principales son:
– Elección de la mejor ruta
– Conmutación de los paquetes
• Los enrutadores utilizan para esto la Tabla de enrutamiento, la
misma que es alimentada con las líneas o interfaces
directamente conectadas y con la información estática y
dinámicamente aprendida.

35
Rutas Estáticas
• Los enrutadores de ninguna manera pueden garantizar que el paquete
será entregado en el destino.
• El enrutamiento, al realizarse en capa 3, es de mejor esfuerzo y se lleva a
cabo salto a salto o paso a paso.
• Es decir, el enrutador garantiza la entrega del paquete en el siguiente
salto.
Rutas Estáticas
• Las rutas estáticas se utilizan generalmente cuando:
– Se enruta desde una red a una red de conexión única.
– Por seguridad.
– Por ahorro de ancho de banda.

36
Rutas Estáticas

37
Principios de la tabla de enrutamiento

38
Protocolos de Enrutamiento

39
Perspectiva e información básica

40
Propósito de los protocolos de enrutamiento
dinámico
• Un protocolo de enrutamiento es un conjunto de procesos,
algoritmos y mensajes que se usan para intercambiar
información de enrutamiento y completar la tabla de
enrutamiento con la selección de las mejores rutas del protocolo
de enrutamiento.
• El propósito de un protocolo de enrutamiento incluye:
– descubrimiento de redes remotas,
– mantenimiento de información de enrutamiento actualizada,
– selección de la mejor ruta hacia las redes de destino y
– capacidad de encontrar una mejor nueva ruta si la ruta actual deja de estar
disponible.
¿Cuáles son los componentes de un protocolo de enrutamiento?
• Estructuras de datos
• Algoritmo
• Mensajes del protocolo de enrutamiento
41
Enrutamiento: Estático vs. Dinámico

42
Protocolos de Enrutamiento: Clasificación

43
IGP vs. EGP
• Interior Gateway Protocols (IGP): se usan para el enrutamiento de
sistemas intrautónomos
• Exterior Gateway Protocols (EGP): se usan para el enrutamiento de
sistemas interautónomos

44
IGP: Protocolos de enrutamiento según la Clase
• Los protocolos de enrutamiento se clasifican en:
– Protocolos con clase (classful)
– Protocolos sin clase (classless)
Los protocolos de enrutamiento con clase
• Los protocolos de enrutamiento con clase no envían
información de la máscara de subred en las actualizaciones
de enrutamiento.
– No soportan máscaras de longitud variable (VLSM)
– No soportan superneting y el esquema CIDR en general
– No soportan subneting discontinuo
– Como asignan las máscaras?
• Si la red informada es de una clase diferente se aplica la máscara de la
clase.
• Si la red informada es una subred de la misma clase (red), se aplica la
máscara de la interface que lo recibe.

45
IGP: Protocolos de enrutamiento según la Clase
Los protocolos de enrutamiento sin clase
• Los protocolos de enrutamiento sin clase incluyen la
máscara de subred con la dirección de red en las
actualizaciones de enrutamiento.
– Si soportan máscaras de longitud variable (VLSM)
– Si soportan superneting y el esquema CIDR en general
– Si soportan subneting discontinuo

46
Conceptos Básicos
• Convergencia: Se dice que los enrutadores de un AS
han llegado a la convergencia cuando todos manejan
información consistente.
– El tiempo que transcurre hasta alcanzar la convergencia se llama
tiempo de convergencia y es deseable que sea lo menor posible.
• Métrica: Son los parámetros de medida que utilizan los
diferentes protocolos de enrutamiento para decidir que
ruta es mejor que otra.
– Número de saltos o escalas,
– Carga,
– Ancho de banda,
– Demoras acumuladas,
– Confiabilidad del enlace,
– Costo, etc..

47
Conceptos Básicos
• Balanceo de Carga: Cuando las métricas de dos o más
rutas hacia un destino son iguales, el protocolo decide
repartir la carga por igual entre dichas rutas.
– El balanceo de carga puede realizarse ya sea por paquete o por
destino.
• Distancia Administrativa: El enrutador debe decidir en
que protocolo de enrutamiento confía más, esta
decisión la toma en base a la DA.
– Las rutas directamente conectadas: 0
– Las rutas estáticas: 1 por defecto, configurables
– Las rutas dinámicas: valores por defecto para cada protocolo de
enrutamiento, configurables.

48
RIP

• RIP es el protocolo de enrutamiento por vector de distancia más


antiguo.
• Si bien RIP carece de la sofisticación de los protocolos de enrutamiento
más avanzados, su simplicidad y amplia utilización representan el
testimonio de su longevidad.
Características de RIPv1
• RIP es un protocolo de enrutamiento por vector de distancia, classful.
• RIP utiliza el conteo de saltos como su única métrica.
• Las rutas publicadas con conteo de saltos mayores que 15 son
inalcanzables.
• Se transmiten mensajes de actualización cada 30 segundos.
• Transmite la tabla de enrutamiento completa
• Utiliza el puerto UDP 520
49
RIP

50
RIPv2
Características de RIPv2
• La mayoría de las características son similares ya que es el mismo protocolo.
• Mensajes de actualización enviados a una dirección Multicast.
• Máscara de red y siguiente salto incluidos en la información de enrutamiento
• Soporte de VLSM al ser un protocolo classless.
• Soporte de subredes discontinuas
• Soporte de autenticación

51
OSPF

Características de OSFP
• Protocolo de Estado de Enlace (Algoritmo de Djikstra)
• Protocolo de diseño jerárquico.
• Soporte de VLSM y subneting discontinuo
• Su métrica es el costo y es calculada en base al ancho de banda.
• Utiliza el puerto 89 de TCP
• Localiza, mantiene y redescubre vecinos mediante mensajes de “Hello”
• Transmisión confiable de sus mensajes
• Mensajes de actualización enviados a una dirección Multicast.
• Garantiza una topología libre de lazos.
52
OSPF

53
Tipos de Mensajes de OSPF

54
Estados OSPF (OSPF FSM)
• Es necesario entender las relaciones o estados que se
desarrollan entre enrutadores OSPF.
• Las interfaces OSPF pueden estar en uno de los siguientes
siete estados:
1. Down State (sin conexión)
2. Init State (Primer intercambio de paquetes Hello)
3. Two-Way State (Intercambio mutuo de paquetes Hello)
4. ExStart State (Se establece relación Master Slave o se declara DR y BDR,
según la naturaleza de la red)
5. Exchange State (Intercambio de paquetes DBD para compartir información
sumaria)
6. Loading State (Información específica o adicional es requerida y entregada
mediante LSRs y LSUs)
7. Full Adjacency (Convergencia)
• Las relaciones de vecindad de OSPF progresan mediante
estos estados, uno al tiempo en el orden presentado.

55
Parámetros para la Vecindad
• Los enrutadores deben circular por los 7 estados antes
mencionados para alcanzar la relación de FULL-ADJACENCY o
vecindad completa.
• Para esto deben cumplir con varios parámetros de coincidencia:
– Identificación de DR y BDR
– Tipo de Red
– Intervalo de Hello
– Intervalo de Muerte
– Identificador del área (diseño jerárquico de la red)
– Autenticación
– Banderas de Tipo de área
• Intervalo de Hello: Es de 10 segundos en rede multiacceso y redes
punto a punto y de 30 segundos en redes NBMA.
• Intervalo de Muerte: Es 4 veces el período de Hello. Representa el
tiempo que se espera para declarar muerto un vecino si nos e
tiene mensajes de hello por parte del mismo.
56
Tipos de Redes OSPF
• En OSPF, los enrutadores
basados en a que tipo de
redes están conectados,
tratan de logra la adyacencia
con:
– Al menos un enrutador
– Con todos los enrutadores
vecinos
• Los tipos de redes que
existene en IP son:
1. broadcast multiaccess,
2. nonbroadcast multiaccess
(NBMA),
3. point-to-point
4. point-to-multipoint

57
OSPF: Estructura de Datos

• OSPF mantiene 3 bases de datos muy importantes.


– Tabla de Vecinos.- Su primera tarea es lograr vecindades, entonces se
tiene que almacenar cuanto vecino se llegue a conocer
– Tabla de Topología (Link-state Data Base).- OSPF guarda una base de
datos con todas las rutas posibles a todos pos destinos conocidos.
– Tabla de Enrutamiento (Forwarding Data Base).- Luego de correr el
algorimo, se determinan las mejores rutas y se instalan en a tabla de
enrutamiento del protocolo OSPF, la misma que posteriormente es
ofrecida al enrutador para que alimente su tabla de enrutamiento
global.

58
OSPF network types – DR/BDR
• OSPF tiene un sistema para evitar la sobrecarga que significa lograr full
adjacency con todos los otros enrutadores en una red ultiacceso.
• Este sistema restringe quien logra adyacencia con quien empleando:
• Designated router (DR)
1. Logrará la adyacencia con todos los otros enrutadores de la red
2. Interlocutor de la red Æ envía LSAs para todos los otros enrutadores
– Punto de recolección de información
• Back Designated router (BDR)
– Entrega tolerancia a la falla.
No es responsable de actualizar
a todos los otros enrutadores de la red
– BDR mantiene un monitoréo del DR
y su actividad
– BDR tomará el rol de DR si
no detecta actividad de este
• El DR y el BDR se elegirán de acuerdo
al Identificador de Enrutador más alto.
59
DR o adyacencia múltiple

60
Steps in the operation of OSPF

61

61
Steps in the operation of OSPF

62 I need to
update my
routing table

62
Problemas con rede OSPF grades
• Tablas de Topología muy grandes
– Cada enrutador mantiene todas las rutas posibles a todos los destinos
dentro del Area
– LSDB requiere uso de memoria
• Cálculos SPF Frecuentes
– Un cambio de topología causa que cada enrutador re-run SPF para
reconstruir el árbol SPF (grafo) y la tabla de enrutamiento.
– Un enlace flapping afectará el área entera.
– Los recálculos de SPF son realizados para cambios de topología que
ocurran dentro del área.
• Tablas de Enrutamiento grandes
– Mientras más grande es el área, más grande es la tabla de enrutamiento
– Lo cual requiere de mayor cantidad de memoria y mayor tiempo para las
búsquedas.

• Solución: Dividir la red en múltiples areas


63
Creating multiple OSPF areas
• Grandes áreas separadas en áreas más pequeñas, áreas más
manejables. -> enrutamiento jerárquico.
– Estas áreas más pequeñas intercambian información sumaria
(enrutamiento interárea) en lugar de intercambiar cada detalle.
– Los cálculos y operaciones se restringen al área.
• Se obtiene las siguientes ventajas:
– Menor frecuencia de cálculos SPF
– Tablas de Enrutamiento más pequeñas
– Menor sobrecarga de enrutamiento (menor cantidad de mensajes LSU)

64 64
OSPF: Tipos de enrutadores
• Internal:
Internal Enrutador con todas sus interfaces dentro de la misma área
• Backbone:
Backbone Enrutador con al menos una interface en el área 0
• ASBR:
ASBR (AS Boundary Router): Enrutador con al menos una interface
conectada a una red externa al AS (another AS)
• ABR:
ABR (Area Border Router): Enrutador con interfaces conectadas a
múltiples áreas.
– ABRs son el punto de salida del área. ABRs sumarizan la información de
enrutamiento. Un área puede tener uno o más ABRs.

65
OSPF Area types
• Standard area – Acepta actualizaciones de enrutamiento externas
al AS y rutas sumarizadas.
• Backbone area (área de tránsito) – Es la entidad centralizada a
la cual todas las otras áreas están conectadas, siempre es el área
0.
– Es un área estándar de manera obligatoria.
• Stub area – No acepta información sobre rutas externas al AS.
– Si los enrutadores necesitan alcanzar rutas fuera del AS, deberán utilizar
rutas de defecto. Una ruta de defecto es denotada como 0.0.0.0/0.
• Totally stubby area – No acepta rutas externas al AS ni rutas
sumarizadas de otras áreas internas al AS.
– Si los enrutadores necesitan alcanzar rutas fuera del área, deberán utilizar
rutas de defecto.(Característica propietaria).
• Not-so-stubby area (NSSA) – Similar a las stub areas pero
permiten importar rutas externas al AS.

66
BGP
• Típicamente, los EGPs son utilizados para intercambiar información de
enrutamiento entre Ass, por lo tanto sus principales usuarios son ISPs,
Proveedores de servicios en general y grandes usuarios finales.
• Border Gateway Protocol, version 4 (BGP4), es en la actualidad el único
protocolo de gateway exterior en funcionamiento.
• Dada su naturaleza, BGP trabaja con los identificacores de los sistemas
autónomos.
– Al igual que con las direcciones IP, es la IANA la encargada de administrar
dichos identificadores.
– El campo actual es de 16 bits, con lo cual hay 65536 posibles ASs, sin
embargo se ha procedido ya a su
ampliación a 32 bits.

67
Tipos de Sistemas Autónomos
Single Homed
• Es un AS con una sola salida.
• Comúnmente referidos como “stub networks”
• Basta con una ruta de defecto para la salida y una ruta estática para
el regreso de los datos.
• Existen 3 métodos para anunciar las redes de un cliente desde el
punto de vista de un proveedor:
– Configuración estática
– IGP (Publica la topología al ISP)
– EGP (Cliente utiliza una extensión
de las políticas del ISP)

68
Multihomed nontransit ASs
• Un AS es Multihoded siempre que tenga más de una salida a
las redes externas.
– Un AS puedes ser multihomed hacia:
• Un solo proveedor
• Múltiples proveedores
• Un nontransit AS no permite tráfico de tránsito pasando a
través suyo.
– Transit traffic es cualquier tráfico cuyo origen y destino está fuera del
AS.
– Anuncia únicamente sus propias rutas a ambos proveedores
– Los ISPs pueden forzar tráfico a cruzar el AS por rutas estáticas.
• Se debe filtrar el tráfico de entrada.
– Multihomed nontransit en realidad no
necesita BGP, sin embargo recomenda-
do y a veces requerido por los ISPs por
las ventajas de control de propagación
y filtrado del protocolo.
69
Multihomed transit ASs
• Un AS multihomed transit tiene más de una conexión al exterior y
puede utilizarse para tráfico de tránsito por otros ASs.
• Un AS transit puede enrutar tráfico de tránsito corriendo BGP
internamente así los múltiples routers de borde en el mismo AS
pueden compartir la información BGP.
• Cuando BGP corre dentro del AS, se le llama Internal BGP (IBGP).
– Si el rol del enrutador es enrutar tráfico IBGP, se llama transit router.
• Cuando BGP corre entre ASs, se le llama External BGP (EBGP).
– Enrutadores situados en la frontera de un AS y que usan EBGP se les llama
enrutadores border o edge.

70
Operación Básica de BGP: routing updates
• BGP es un estándar definido en el RFC 1772 y otros, intercambia
información de enrutamiento entre ASs y garantiza una ruta libre
de lazos.
– BGP soporta CIDR and agregaciónd e rutas.
– No utiliza métricas.
– Basa sus desicíones de enrutamiento en políticas de red o reglas.
– Manda sus actualizaciones utilizando TCP con el puerto 179.
• Por lo tanto, es inherentemente confiable.
• Para garantizar una selección de rutas loop free, construye un
gráfico de ASs basado en la información intercambiada entre los
enrutadores.
• Construye entonces su árbol de ASs.
– La conexión entre 2 sistemas
construe un path.
– La colección de paths se expresa
como una secuencia de números de
AS llamada AS Path formando una
ruta para alcanzar un destino
específico. 71
BGP message types
• Diferentes mensajes juegan un rol escencial en la operación de
BGP. Cada mensaje incluye un encabezado BGP.
Tipos de Mensajes
• Open Message – Establece la conexión con un peer e incluye
coampos para la versión BGP, el número del AS, hold time, y Router
ID.
• Keepalive Message – (mensaje BGP de 19-byte (header sin datos)
es es enviado periodicamente entre peers para mantener la
conexión y verificar rutas.
• Notification Message – Utilizado por los enrutadores para notificar
errores. Incluye un campo de códigos de error. (troubleshoot).
• Update Message – Contiene toda la información que BGP usa para
construir un gráfico de la inter-red libre de lazos.
– Hay tres componentes básicos en un mensaje de actualización.
• Network-layer reachability information (NLRI)
• Path attributes
• Withdrawn routes.
72
BGP Neighbor Negotiation
• El proceso de negociación de los vecinos BGP neighbor se realiza
mediante varios estados, o stages, los mismos que pueden ser
descritos en términos de una máquina de estados finitos (FSM).
• Son seis los estados de la BGP FSM:

73
Network-layer reachability information (NLRI)

• BGP en lugar de anunciar sus destinos como uan red y su


màscara, BGP los anuncia usando network-layer
reachability information (NLRI), que consiste de prefijos y
longitudes de prefijo.
• El NLRI consiste múltiples instancias de 2-tupla <length,
prefix>.
• Una tupla es un término matemático para un conjunto de
elementos.
• Ejemplo <19, 192.24.160.0>.

74
Path attributes
• Mucho del trabajo al configurar BGP se enfoca en los atributos
de ruta “path attributes”.
• Cada ruta tiene su propio conjunto de atributos que pueden
incluir:
– path information, route preference, next hop, y aggregation information.
• Administradores utilizan estos valores para:
– Reforzar las políticas de enrutamiento, filtrar información de
enrutamiento, preferir ciertas rutas, y hasta personalizar el
comportamiento
• Cada mensaje de actualización tiene una secuencia de
longitud variable de atributos de ruta en el formato
– <attribute type, attribute length, attribute value>.
• No todos los fabricantes implementan BGP para reconocer los
mismos atributos.

75
Path attributes
• Los atributos de ruta se dividen en 4 categorías:
– Well-Known Mandatory
• Deben ser incluidos en todas las implementaciones de BGP; si no está
en el mensaje UPDATE, un mensaje de NOTIFICATION de error se
envía.
– Well Known Discretionary
• Este atributo es reconocido por todas las implementaciones de BGP
pero puede no ser enviado en un mensaje de UPDATE
– Optional Transitive
• Atributo que podría no ser reconocido por todas las implementaciones
de BGP pero si llega debe ser retransmitido a los BGP peers.
– Optional Non-transitive
• Atributo que podría no ser reconocido por todas las implementaciones
de BGP. Si no es reconocido solo se ignora.

76
Path attributes
• Los atributos se utilizan en un orden específico de prioridades y
pesos, en dependencia de la implementación de cada
fabricante.

77
Mayor información

IMAGINAR
Centro de Investigación para la Sociedad de
la Información
P.O.Box: 17-04-10681
Quito-Ecuador
Teléfono: 2400-937
Email: info@imaginar.org
Site: www.imaginar.org

78

Você também pode gostar