Sesion 11a La capa de red

Anuncio
La Capa de Red
Dr. Ivan Olmos
1
La Capa de Red
Orientada a llevar los paquetes desde el
origen hasta el destino
Aquí, se debe conocer perfectamente el
esquema de la subred para escoger la mejor
ruta
Además, se debe considerar el tráfico, para
que en el caso de que sea necesario,
cambiar la ruta de los datagramas
Dr. Ivan Olmos
2
La Capa de Red
Esta capa se debe de encargar de manejar las
diferencias que pudieran existir entre la red de
origen y la de destino
La capa de red debe ofrecer una interfaz bien
definida a la capa de transporte, en la cual, los
servicios proporcionados deben ser:
Independientes de la tecnología de la subred
La capa de transporte debe estar aislada de la cantidad,
tipo y topologías de las subredes presentes
Las direcciones de la capa de transporte debe tener un
orden uniforme
Dr. Ivan Olmos
3
La Capa de Red
La capa de red se puede diseñar:
Orientada a la conexión
Sin conexión
Los partidarios del servicio sin conexión
involucra a la comunidad de Internet
Por otro lado, los partidarios del servicio con
conexión son las compañías telefónicas
Dr. Ivan Olmos
4
Conexión vs. Sin Conexión
Ambos enfoques actualmente tienen su
representante operativo:
Internet: sin conexión
ATM: con conexión
Internet se ha propagado debido a la gran
flexibilidad que ofrece
ATM actualmente es el esquema de alta
velocidad dominante, aunque de alto costo
Dr. Ivan Olmos
5
Conexión vs. Sin conexión
En el esquema orientado a la conexión, se
establecen circuitos virtuales (los paquetes
siguen la misma ruta marcada por el primero
de ellos)
En el esquema sin conexión, los paquetes
enviados se conocen como datagramas (no
se determinan rutas por adelantado, esto es,
dos datagramas pueden seguir rutas distintas
a su destino)
Dr. Ivan Olmos
6
Conexión vs. Sin conexión
Generalmente las subredes de datagramas
son más robustas y se adaptan mejor a fallas
y congestionamiento
Dr. Ivan Olmos
7
Algoritmos de Enrutamiento
Dr. Ivan Olmos
8
Algoritmos de Enrutamiento
Es aquella parte del software (de la capa de red)
que se encarga de decidir la línea de salida por la
que se transmitirá un paquete de entrada
En una subred de datagramas, ésta decisión se
realiza en cada enrutador para cada paquete de
entrada
En una subred de circuitos virtuales, la decisión se
toma al momento de establecer el camino del
circuito (enrutamiento de sesión)
Dr. Ivan Olmos
9
Algoritmos de Enrutamiento
Deben ofrecer propiedades como:
Corrección
Sencillez
Robustez
Estabilidad
Equitatividad
Optimalidad
Dr. Ivan Olmos
10
Algoritmos de Enrutamiento
Se clasifican en dos grupos:
Algoritmos no adaptables: se calcula las rutas
de flujo desde un principio, las cuales se cargan
en los enrutadores
Algoritmos adaptables: modifican las rutas de
acuerdo a la topología presente en un instante de
tiempo dado, así como consideran el tráfico.
Dichos algoritmos varían de acuerdo a la forma
de obtención de su información así como la
métrica en la cual se basen (distancia, número de
escalas, tiempo de tránsito..)
Dr. Ivan Olmos
11
Algoritmos de Enrutamiento
Para encontrar las rutas más “optimas”, los
algoritmos de enrutamiento hacen uso del
principio de optimación, que dice:
Si un enrutador K se encuentra en la ruta
óptima del enrutador I al enrutador J,
entonces la trayectoria óptima de K a J se
encuentra en la misma ruta
Dr. Ivan Olmos
12
Enrutamiento por Trayectoria Corta
Al manejarse el término “enrutamiento por
trayectoria más corta”, se debe de definir la
métrica bajo la cual se trabaja:
Métrica basada en escalas
Métrica basada en distancia
Métrica basada en el retado de encolamiento
Métrica basada en el tráfico medio
Métrica basada en el ancho de banda
Métrica basada en el costo de comunicación...
Dr. Ivan Olmos
13
Algoritmo de Dijkstra
Para todo x ∈ T | x ≠ A hacer:
1.
L[x] = ∞, C[x] = ∅
•
L[A] = 0, C[A] = A
Sea v = A, T = T – {A}
Si v = Z, finalizar (camino mínimo de A a Z: C[v]
con longitud L[v])
Para cada vértice x adyacente a v | x ∈ T hacer:
2.
3.
4.
5.
L[x] = min {L[x], L[v] + W(v,x)}
Si L[v] + W(v, x) < L[x] hacer:
•
•
C[x] = C[v] ∪ {x}
Dr. Ivan Olmos
14
Algoritmo de Dijkstra
Hacer:
6.
•
•
7.
v = min {L[x] | x ∈ T}
T = T – {v}
Regresar a paso 4
Dr. Ivan Olmos
15
Camino más corto por Inundación
Cada paquete de entrada se envía por todas las
salidas disponibles, excepto la de entrada
Problema: generación de un gran flujo de datos
Solución:
Limitar el número de saltos de un paquete, incluyendo una
variable que lleve el conteo
Control de cada enrutador sobre los paquetes que a
enviado. Para evitar que la lista crezca demasiado, con
una variable se puede establecer hasta que paquete ya se
procesó
Dr. Ivan Olmos
16
Enrutamiento basado en el Flujo
Basado en los siguientes conceptos:
En algunas redes, la tasa media de flujo para
cada par de nodos es estable y predecible
Si se conoce la capacidad y el flujo promedio, es
posible calcular el retardo promedio por medio de
la teoría de colas
De los retardos promedio de todas las líneas, se
obtiene el retardo medio para un paquete de la
subred completa ponderado por el flujo
Dr. Ivan Olmos
17
Enrutamiento basado en el Flujo
Para usar la técnica, se debe conocer:
La topología de la subred
La matriz de trafico Fij (de un enrutador i a un
enrutador j cualquiera)
La matriz de capacidad Cij de cada enlace
Un algoritmo de enrutamiento
El algoritmo de enrutamiento a usar sirve
para determinar las rutas que se usarán para
cada enlace
Dr. Ivan Olmos
18
Enrutamiento Dinámico
Dr. Ivan Olmos
19
Enrutamiento Dinámico
En la práctica, los enrutamientos dinámicos
son los usados actualmente
Existen dos algoritmos muy empleados
Enrutamiento por vector de distancia
Enrutamiento por estado de enlace
Dr. Ivan Olmos
20
Enrutamiento por Vector de Distancia
Cada enrutador mantendrá una tabla en la cual se
da la mejor distancia conocida a cada destino, así
como la línea a usar para llegar ahí
Los enrutadores intercambian sus tablas con sus
vecinos inmediatos, con lo cual mantienen
actualizadas sus tablas
Las entradas en la tabla comprenden la línea de
salida al destino así como la estimación del tiempo
o distancia a ese destino (la métrica puede variar)
Dr. Ivan Olmos
21
Enrutamiento por Vector de Distancia
Nuevo retardo
estimado
B
A
F
C
G
E
I
J
K
D
H
L
A
A
I
H
K
A
B
C
D
E
F
G
H
I
J
K
L
0
24
20
21
8
A
12
36
31
28
20
A
25
18
19
36
28
I
40
27
8
24
20
H
14
7
30
22
17
I
23
20
19
40
30
I
18
31
6
31
18
H
17
20
0
19
12
H
21
0
14
22
10
I
9
11
7
10
0
-
24
22
22
0
6
K
29
33
9
9
15
K
8
10
Retardo del nodo
J al nodo x:
12
6
Línea
Nuevo tabla de
enrutamiento
Enrutamiento por Estado de Enlace
Basado en los siguientes conceptos:
Descubrir a sus vecinos y conocer sus
direcciones de red
Medir el retardo o costo para cada uno de sus
vecinos
Construir un paquete que indique lo que acaba de
aprender
Enviar el paquete a todos los demás enrutadores
Calcular la trayectoria más corta a todos los
demás enrutadores
Dr. Ivan Olmos
23
Enrutamiento por Estado de Enlace
Para conocer quienes son sus vecinos de
un nodo X, se envía un paquete por cada
línea punto a punto que tenga acceso
El enrutador vecino, al recibir dicho mensaje,
genera una respuesta indicando quién es
Un problema que se puede presentar es
cuando dos o más enrutadores están
conectados por medio de una LAN y no por
medio de un enlace punto a punto
Dr. Ivan Olmos
24
Enrutamiento por Estado de Enlace
B
A
B
C
D
E
F
Sec.
Sec.
Sec.
Sec.
Sec.
Sec.
Edad
Edad
Edad
Edad
Edad
Edad
B
4
A
4
B
2
C
3
A
5
B
6
E
5
C
2
D
3
F
7
C
1
D
7
F
6
E
1
F
8
E
8
C
2
4
3
D
A
1
5
E
6
8
7
F
Dr. Ivan Olmos
25
Enrutamiento por Estado de Enlace
Una vez que cada enrutador tenga sus
paquetes construidos, falta distribuirlos
La distribución es un proceso delicado, ya
que puede inducir a inconsistencias,
máquinas inalcanzables, ciclos, etc.
En primera instancia, se puede usar
inundación
Dr. Ivan Olmos
26
Enrutamiento por Estado de Enlace
Para mantener controlada la inundación,
cada paquete mantiene un número de
secuencia, el cual se incrementa en uno al
enviarse por un enrutador
Los enrutadores llevan la secuencia de cada
par (enrutador origen, secuencia), para evitar
reenviar aquellos que ya han sido
procesados
Dr. Ivan Olmos
27
Enrutamiento por Estado de Enlace
Una vez que un enrutador tiene todos los
paquetes completos de todos los
enrutadores, puede construir el grafo de la
subred
Con la información anterior, puede ejecutar el
algoritmo de Dijkstra para localizar las rutas
más óptimas
Dr. Ivan Olmos
28
Enrutamiento Jerárquico
Las subredes generalmente son grandes, por lo que
mantener tablas en un enrutador correspondientes
al resto de los mismos puede llegar a ser
inapropiado
Para evitar este problema, se ha optado por el
enrutamiento jerárquico, en el cual, los
enrutadores solo conocen la forma de enrutar
paquetes dentro de cierta región (de enrutadores),
pero no conocen como hacerlo fuera de ella
Dr. Ivan Olmos
29
Enrutamiento Jerárquico
TABLA COMPLETA PARA 1A
1B
2A 2B
1A
2C
1C
2D
3A
4A
3B
5A
4B
4C
DESTINOS
5B
5E
5C
5D
1B
1B
1
1C
1C
1
2A
1B
2
2B
1B
3
1A
-
-
2C
1B
3
1B
1B
1
2D
1B
4
1C
1C
1
3A
1C
3
2
1B
2
3B
1C
2
3
1C
2
4A
1C
3
4
1C
3
4B
1C
4
5
1C
4
4C
1C
4
5A
1C
4
5B
1C
5
5C
1B
5
5D
1C
6
5E
1C
5
TABLA JERARQUICA
PARA 1A
Enrutamiento para Máquinas Móviles
En la actualidad, con el advenimiento de los
sistemas portátiles, surge la necesidad de
mantenerlos comunicados
Básicamente, podemos identificar dos tipos de
usuarios móviles:
Usuarios migratorios, los cuales se mueven de un lugar a
otro, haciendo uso de la red solo cuando se conectan a
una red local
Usuarios errantes, los cuales hacen su cómputo en
movimiento, manteniendo la conexión en todo momento
Dr. Ivan Olmos
31
Enrutamiento para Máquinas Móviles
En el enrutamiento para máquinas móviles,
se presupone que tienen una localidad base
Una de las formas de enrutar paquetes a
usuarios móviles es enviar los paquetes a su
localidad base y ésta, se encargue de enviar
la información al host móvil, en donde quiera
que se encuentre
Dr. Ivan Olmos
32
Enrutamiento para Máquinas Móviles
Las localidades mantendrán dos tipos de
centinelas:
Agentes foráneos, que llevan el registro de
todos los usuarios que visitan el área
Agentes de base, que llevan el registro de todos
los usuarios móviles cuya base está en el área,
pero que actualmente están visitando otra área
Dr. Ivan Olmos
33
Enrutamiento para Máquinas Móviles
Normalmente, cuando un sistema visita una
localidad, se realiza un proceso de registro
como el siguiente:
Los agentes foráneos regularmente verifican si ha
ingresado un visitante por medio de un mensaje;
si no es así, el visitante puede difundir un paquete
con el objetivo de hacer notar su presencia
Dr. Ivan Olmos
34
Enrutamiento para Máquinas Móviles
El host móvil se registra con el agente foráneo,
dando su dirección base y su dirección de enlace
de datos actual, así como cierta información de
seguridad
El agente foráneo localiza al agente base del host
móvil, mandando la dirección de red del agente
foráneo, así como la información de seguridad
(autenticación)
Dr. Ivan Olmos
35
Enrutamiento para Máquinas Móviles
El agente de base del host móvil verifica la
autenticidad del mensaje con respecto al usuario
móvil
Si supera la condición anterior, el agente foráneo
recibe el reconocimiento del agente de base. Acto
seguido, el agente foráneo registra al usuario
móvil y le hace de su conocimiento el hecho
Dr. Ivan Olmos
36
Algoritmos de Control de
Congestionamiento
Dr. Ivan Olmos
37
Control de Congestionamiento
El congestionamiento se presenta cuando
existen demasiados paquetes en la subred
Estos se pueden originar por varias causas:
Si varios paquetes de varias líneas de entrada de
un enrutador desean salir por una sola línea
La velocidad de las CPU’s de los enrutadores
Líneas con poco ancho de banda (modernización
de solo un segmento de la subred)
Dr. Ivan Olmos
38
Control de Congestionamiento
Las técnicas de control de congestionamiento
suelen confundirse con el control de flujo
En el control de flujo, se implementan algoritmos para
evitar que un emisor rápido sature a un emisor lento
En contraparte, el control de congestionamiento busca que
la subred sea capaz de transportar el tráfico ofrecido
La confusión se origina debido a que algunos
algoritmos de congestionamiento mandan mensajes
pidiendo bajar la velocidad de trans.
Dr. Ivan Olmos
39
Control de Congestionamiento
De manera conceptual, los algoritmos de
control de congestionamiento se dividen en
dos grupos:
Los de ciclo abierto, los cuales tratan de evitar el
problema con un buen diseño
Los de ciclo cerrado, los cuales tratan de resolver
el problema una vez que se ha dado
Dr. Ivan Olmos
40
Métodos de Ciclo Abierto
Dr. Ivan Olmos
41
Conformación de Tráfico
La naturaleza del flujo en una red no es constante,
generalmente se presenta por ráfagas
Si fuera constante, sería fácilmente predecible y,
por ende, se evitarían los congestionamientos
Una forma de atacar el problema es obligar a la
transmisión de los paquetes a una tasa predecible,
como en las redes ATM
A dicha forma de trabajo se conoce como
conformación de tráfico
Dr. Ivan Olmos
42
Conformación de Tráfico
La conformación de tráfico se puede aplicar de
manera natural a las subredes de circuitos, aunque
también se puede adaptar a las subredes de
datagramas
Normalmente se verifica que se cumpla con la tasa
promedio prometida
Para ello, se deben analizar los alcances de los
elementos de interconexión que se usen en la
subred (p.e., la velocidad de los ruteadores)
Dr. Ivan Olmos
43
Algoritmo de Cubeta con Goteo
A los enrutadores se les ve de manera
similar:
Cada enrutador tiene una capacidad para
almacenar marcos
Estos marcos son despachados con cierta
velocidad de salida
Si la velocidad de entrada de marcos es mayor
que la salida, eventualmente se saturará la
memoria del enrutador, provocando que pierda
marcos
Dr. Ivan Olmos
44
Métodos de Ciclo Cerrado
Dr. Ivan Olmos
45
Control de Congestionamiento en
Redes de Circuito Virtual
Una vez que se ha detectado un
congestionamiento en una subred de circuito
virtual, se debe actuar para evitar que
empeore
Una forma es restringir la apertura de nuevos
circuitos, técnica conocida como control de
admisión
Dr. Ivan Olmos
46
Control de Admisión
La idea es simple: si se ha detectado un
congestionamiento, no se establecen
circuitos virtuales nuevos hasta que haya
desaparecido el problema
También se puede optar por establecer
cuidadosamente nuevos circuitos, pero por
rutas no congestionadas
Dr. Ivan Olmos
47
Paquetes de Estrangulamiento
Otra forma de manejar los
congestionamientos es por medio de
paquetes de estrangulamiento (aplicable
tanto a subredes de circuito virtual como de
datagramas)
La idea consiste en verificar, por medio de
una variable, el flujo en un enlace
Dr. Ivan Olmos
48
Paquetes de Estrangulamiento
El host de origen, al recibir el paquete de
estrangulamiento, debe reducir su velocidad en
un determinado porcentaje
El host, una vez que haya reducido su velocidad,
esperará un tiempo aleatorio (durante el cual hará
caso omiso de nuevos paquetes de
estrangulamiento), para posteriormente verificar si
hay más paquetes de estrangulamiento
Si los hay, reduce aún más su velocidad. Si no los
hay, vuelve a la velocidad normal
Dr. Ivan Olmos
49
Paquetes de Estrangulamiento
Notemos que este enfoque no se bloquea
totalmente a un emisor, simplemente se le
obliga a reducir la velocidad de transferencia
Sin embargo, se corre el riesgo que algunos
emisores hagan caso omiso de dicho
mensaje
Dr. Ivan Olmos
50
Paquetes de Estrangulamiento por
Escala
Un problema que tienen los paquetes de
estrangulamiento es el hecho de que solo
van a surtir efecto hasta que hayan llegado al
host origen
Notemos que mientras se propaga dicho
paquete, continuará generándose la misma
cantidad de flujo
Dr. Ivan Olmos
51
Paquetes de Estrangulamiento por
Escala
Una forma alternativa es que, cada vez que
el paquete de estrangulamiento visite un
nodo, este reduzca su velocidad de manera
inmediata
Este enfoque obliga a destinar más memoria
al flujo (ya que del lado del emisor se sigue
manteniendo la velocidad de transferencia);
sin embargo, del lado del receptor, se
disminuye de manera más rápida la carga
Dr. Ivan Olmos
52
Desprendimiento de Carga
Si a pesar de recurrir a todas las artimañas
disponibles, no se puede controlar el
congestionamiento, los enrutadores pueden
recurrir al “desprendimiento de carga”
Esta técnica consiste en tirar o eliminar
aquellos paquetes que los enrutadores ya no
pueden manejar
Dr. Ivan Olmos
53
Descargar