Sesion 10 La Capa de Red - cs.buap.mxiolmos/redes/12_Capa_Red.pdf · La capa de transporte debe...
Transcript of Sesion 10 La Capa de Red - cs.buap.mxiolmos/redes/12_Capa_Red.pdf · La capa de transporte debe...
1
Dr. Ivan Olmos 1
La Capa de Red
Dr. Ivan Olmos 2
La Capa de Red
Orientada a llevar los paquetes desde el origen hasta el destinoAquí, se debe conocer perfectamente el esquema de la subred para escoger la mejor rutaAdemás, se debe considerar el tráfico, para que en el caso de que sea necesario, cambiar la ruta de los datagramas
2
Dr. Ivan Olmos 3
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 destinoLa 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 subredLa capa de transporte debe estar aislada de la cantidad, tipo y topologías de las subredes presentesLas direcciones de la capa de transporte debe tener un orden uniforme
Dr. Ivan Olmos 4
La Capa de Red
La capa de red se puede diseñar:Orientada a la conexiónSin conexión
Los partidarios del servicio sin conexión involucra a la comunidad de InternetPor otro lado, los partidarios del servicio con conexión son las compañías telefónicas
3
Dr. Ivan Olmos 5
El enfoque sin conexión
Se plantea que la única tarea de la capa de red es encaminar bits de un DTE a otro DTESe toma de antemano que la subred es inherentemente inestable, sin importar su diseñoPor lo anterior, se enfocan a que los DTE realicen el control de errores y el control de flujoAdemás, cada paquete debe llevar la dirección de destino completa, con el fin de que estos se pueden encaminar por vías distintas, si es necesario
Dr. Ivan Olmos 6
El enfoque sin conexión
La propuesta de la comunidad de Internet se sustenta en el hecho de que los sistemas de cómputo son más poderosos y económicos, con lo cual el costo de un diseño de una subred no sería muy elevado (no se incluyen las tareas que las computadoras tienen que realizar)
4
Dr. Ivan Olmos 7
El enfoque con conexión
Por otro lado, las empresas telefónicas sostienen lo siguiente:
Antes de enviar datos, se debe establecer una conexión entre el emisor y el receptorAl establecerse la conexión, se puede determinar la calidad de la conexión, así como el costo del servicioLa comunicación es en ambas direcciones y los paquetes se entregan en secuenciaSe proporciona control de flujo
Dr. Ivan Olmos 8
Comentarios
La mayor complejidad en el diseño y la implementación en el esquema orientado a conexión está en la capa de red (subred)La mayor complejidad en el diseño y la implementación en el esquema sin conexión está en la capa de transporte (en cada computadora)
5
Dr. Ivan Olmos 9
Conexión vs. Sin Conexión
Ambos enfoques actualmente tienen su representante operativo:
Internet: sin conexiónATM: con conexión
Internet se ha propagado debido a la gran flexibilidad que ofreceATM actualmente es el esquema de alta velocidad dominante, aunque de alto costo
Dr. Ivan Olmos 10
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)
6
Dr. Ivan Olmos 11
Conexión vs. Sin conexión
Generalmente las subredes de datagramasson más robustas y se adaptan mejor a fallas y congestionamiento
Dr. Ivan Olmos 12
Subredes orientadas a Conexión
Aquí, los enrutadores debe mantener una tabla con todos los circuitos virtuales que estén manejando (se asocia a cada circuito un número)Cada paquete que viaje, tiene que contener un campo para un número de circuito virtual, además de los números de secuencia, sumas de comprobación...
7
Dr. Ivan Olmos 13
Subredes orientadas a Conexión
Cuando un enrutador recibe un paquete, conoce la línea por la cual llegó así como el correspondiente número de circuito virtualCada computadora, al establecer una conexión de red, hace uso de una dirección libre de circuito virtualDichos números de dirección son independientes de un sistema a otro
Dr. Ivan Olmos 14
Subredes orientadas a Conexión
Como cada sistema es capaz de establecer una conexión, se pueden presentar inconvenientes cuando se establecen conexiones al mismo tiempo en los dos extremos que se desean comunicarCada proceso debe indicar cuando ha terminado de usar un circuito virtual, de modo que la dirección pueda purgarse de la tabla de los enrutadores
8
Dr. Ivan Olmos 15
Subredes basadas en Datagramas
En este esquema, los enrutadores tienen una tabla que indica la línea de salida a usar para cada enrutador de destino posibleLos datagramas contienen la dirección de destino completaEn redes grandes, las direcciones pueden ser de varios bytes
Dr. Ivan Olmos 16
Ventajas y Desventajas
Por una parte, el tamaño de las direcciones en cada paquete significa una carga extra de información, que puede llegar a ser muy significativa (datagramas)Por otro lado, en los circuitos virtuales se hace uso de espacios de tabla en los enrutadores⇒ Espacio de memoria del enrutador -
desperdicio del ancho de banda
9
Dr. Ivan Olmos 17
Ventajas y Desventajas
Otro balance es el tiempo que se requiere para establecer un circuito al inicio de la comunicación; más sin embargo, posteriormente los paquetes saben exactamente por donde encaminarse, por lo que no se pierde tiempoEn la subred de datagramas, se requiere un proceso más complejo para decidir por donde se encaminará el paquete
Dr. Ivan Olmos 18
Ventajas y Desventajas
Los circuitos virtuales permiten manejar el problema del congestionamiento en la subredEn una subred de datagramas, es más complicado manejar dicho problemaLos circuitos virtuales son vulnerables, ya que si se cae un enrutador, todos los circuitos virtuales de su tabla dejaran de funcionarPor el contrario, si se cae un enrutador de datagrama, solo se perderán los paquetes que en ese momento se encontraban en el enrutador
10
Dr. Ivan Olmos 19
Algoritmos de Enrutamiento
Dr. Ivan Olmos 20
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 entradaEn una subred de datagramas, ésta decisión se realiza en cada enrutador para cada paquete de entradaEn una subred de circuitos virtuales, la decisión se toma al momento de establecer el camino del circuito (enrutamiento de sesión)
11
Dr. Ivan Olmos 21
Algoritmos de Enrutamiento
Deben ofrecer propiedades como:CorrecciónSencillezRobustezEstabilidadEquitatividadOptimalidad
Dr. Ivan Olmos 22
Algoritmos de Enrutamiento
Los algoritmos deben planearse para soportar los cambios de la topología de la subred así como el tráfico sin requerir la paralización de actividadesTambién se busca minimizar el retardo medio de los paquete así como aumentar al máximo el rendimiento de la red (normalmente se busca minimizar el número de escalas, ya que esta variable influye en un mejor rendimiento y un menor retardo)
12
Dr. Ivan Olmos 23
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 enrutadoresAlgoritmos 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 24
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
13
Dr. Ivan Olmos 25
Algoritmos de Enrutamiento
A partir del principio de optimación, se puede deducir que todas las rutas óptimas a un destino común forman un árbol con raíz en el destino, conocido como árbol de ascensoDichos árboles no necesariamente son únicosLos árboles tienen una gran propiedad: no contienen ciclos
Dr. Ivan Olmos 26
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 escalasMétrica basada en distanciaMétrica basada en el retado de encolamientoMétrica basada en el tráfico medioMétrica basada en el ancho de bandaMétrica basada en el costo de comunicación...
14
Dr. Ivan Olmos 27
Algoritmo de Dijkstra
Uno de los algoritmos más populares para encontrar las trayectorias más cortas (en base a cierta métrica), es el algoritmo de DijkstraEl algoritmo es el siguiente:
Suponga que se desea encontrar la ruta más corta entre el nodo A y el nodo Z de un grafoSea T el conjunto de vértices en el grafo, L[x] la longitud asociada desde A hasta el nodo x, C[x] el camino asociado desde A hasta el nodo x, W(v,x) peso asociado del vértice v al vértice x
Dr. Ivan Olmos 28
Algoritmo de Dijkstra
1. Para todo x ∈ T | x ≠ A hacer:• L[x] = ∞, C[x] = ∅
2. L[A] = 0, C[A] = A3. Sea v = A, T = T – {A}4. Si v = Z, finalizar (camino mínimo de A a Z: C[v]
con longitud L[v])5. Para cada vértice x adyacente a v | x ∈ T hacer:
• L[x] = min {L[x], L[v] + W(v,x)}• Si L[v] + W(v, x) < L[x] hacer:
C[x] = C[v] ∪ {x}
15
Dr. Ivan Olmos 29
Algoritmo de Dijkstra
6. Hacer:• v = min {L[x] | x ∈ T}• T = T – {v}
7. Regresar a paso 4
Dr. Ivan Olmos 30
Algoritmo de Dijkstra
Por ejemplo, sea el siguiente grafo, obtener el camino mínimo de A a D
A
B C
DE F
G H
2 22
2 2
7
3
6 14
2
16
Algoritmo de Dijkstra
ABEFHABEGABEFABEABEFHDABCABA
ABEFHABEGABEFABEABEFHDABCABA
ABEFHABEGABEFABE∅ABCABA
ABEGHABEGABEFABE∅ABCABA
∅ABEGABEFABE∅ABCABA
∅AG∅ABE∅ABCABA
∅AG∅∅∅∅ABA
∅∅∅∅∅∅∅A
C
C
C
C
C
C
C
C
8564
8564
8564
9564
∞564
∞6∞4
∞6∞∞
10
∞
10
∞
∞
∞
∞
9
9
9
9
∞
9
9
2
2
2
2
2
2
2
0
0
0
0
0
0
0
L
L
L
L
L
L
L
8
6
7
4
2
3
5
A
∞
H
∞
F
∞
G
∞
D
∞
B
∞
C
∞
E
0L1
T
Dr. Ivan Olmos 32
Camino más corto por Inundación
Cada paquete de entrada se envía por todas las salidas disponibles, excepto la de entradaProblema: generación de un gran flujo de datosSolución:
Limitar el número de saltos de un paquete, incluyendo una variable que lleve el conteoControl 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ó
17
Dr. Ivan Olmos 33
Camino más corto por Inundación
Una forma más efectiva es la inundación selectiva, en la cual el paquete solo es enviado por las direcciones más cercanas al destinoEn general, la inundación no es eficiente, pero sí muy robustaEn este esquema, siempre se es posible encontrar la ruta más corta, debido a que se prueban todas las rutas posibles en paralelo
Dr. Ivan Olmos 34
Comentario
Tanto el algoritmo de Dijkstra, como el de inundación, consideran exclusivamente la topología y no la cargaUn algoritmo de enrutamiento que considera ambas variables es el enrutamiento basado en el flujo
18
Dr. Ivan Olmos 35
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 predecibleSi se conoce la capacidad y el flujo promedio, es posible calcular el retardo promedio por medio de la teoría de colasDe 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 36
Enrutamiento basado en el Flujo
Para usar la técnica, se debe conocer:La topología de la subredLa matriz de trafico Fij (de un enrutador i a un enrutador j cualquiera)La matriz de capacidad Cij de cada enlaceUn algoritmo de enrutamiento
El algoritmo de enrutamiento a usar sirve para determinar las rutas que se usarán para cada enlace
19
Dr. Ivan Olmos 37
Enrutamiento basado en el Flujo
Por ejemplo, suponga el siguiente grafo, del cual obtenemos la matriz de flujo ilustrada
A
B C
D
E F
20
20
20 20 20
10
10
50
-5
FE4
FD2
FEC4
FB4
FEA
5EF
-3
ECD3
EC2
EFB7
EA
2CEF
3CE
3CD
-8
CB4
CBA
4BF
2BFE
3BFD
8BC
-9
BA
4DF
4AEF
3DCE
7AE
3DC
4ABC
3DFB
9AB
-1
DF BA
1ABFD
-
A B C D E F
A
B
C
D
E
F
Dr. Ivan Olmos 38
Enrutamiento basado en el Flujo
En la matriz anterior, los pesos de cada arco representan la capacidad del enlace (en kbps)Cada entrada de la matriz consta de dos elementos:
El número de paquetes promedio que circula por el enlace y,El camino a seguir desde el origen hasta el destino
20
Dr. Ivan Olmos 39
Enrutamiento basado en el Flujo
En base a la información anterior, se puede obtener el flujo total λ que circula por cada enlaceAdemás, si suponemos un tamaño medio de paquete µ = 800 bits, se puede obtener el número medio de paquetes, µC, para cada enlace
Dr. Ivan Olmos 40
Enrutamiento basado en el Flujo
De esta información, se puede derivar el retardo medio por línea, haciendo uso de la teoría de colas:
T = 1 / (µC - λ)Con toda la información anterior, se puede obtener el retardo promedio considerando toda la subredPara el ejemplo anterior, se tiene la siguiente tabla (el peso representa la relación entre los paquetes que circulan por un enlacen entre el total de los paquetes que circulan por la subred)
21
Dr. Ivan Olmos 41
Enrutamiento basado en el Flujo
0.0985925208EC
0.12267252010BF
0.09822212.5108FD
0.1592062.55013EF
0.13471252011AE
0.07315412.5106CD
0.14677252012BC
8
6
7
4
2
3
5
0.17191252014AB1
PesoTi (mseg)µCi (paq / seg)Ci (kbps)λi (paq / seg)Líneai
Dr. Ivan Olmos 42
Enrutamiento Dinámico
22
Dr. Ivan Olmos 43
Enrutamiento Dinámico
En la práctica, los enrutamientos dinámicos son los usados actualmenteExisten dos algoritmos muy empleados
Enrutamiento por vector de distanciaEnrutamiento por estado de enlace
Dr. Ivan Olmos 44
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 tablasLas 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)
23
Dr. Ivan Olmos 45
Enrutamiento por Vector de Distancia
Por ejemplo, suponga el siguiente grafo, en el cual, a partir del nodo J se desea definir la mejor ruta para llegar al destino GPara ello, el enrutador J debe recibir las tablas de sus vecinos, cada una con las mejores rutas hacia los diversos destinosAdemás, el enrutador J debe ser capaz de calcular el retardo presente en ese instante a cada uno de sus vecinos
Enrutamiento por Vector de Distancia
A B C D
EF G H
I J K L
K159933
K602222
-010711
I1022140
H1219020
H1831631
I30401920
I1722307
H2024827
I28361918
A20283136
29
24
21
17
23
14
25
12
9
40
18
8 A2120240
A A I H K Línea
ABCDEFGHIJKL
Nuevo retardoestimado
Nuevo tabla deenrutamientoRetardo del nodo
J al nodo x:8 10 12 6
24
Dr. Ivan Olmos 47
Enrutamiento por Vector de Distancia
Notemos que los vecinos, de antemano, deben conocer las distancias a todos los nodosPor tanto, se debe tener un proceso previo que calcule dichas distanciasAdemás, se tiene un problema grave, conocido como conteo a infinito
Dr. Ivan Olmos 48
Enrutamiento por Vector de Distancia
v vvvA B C D E
∞ ∞ ∞ ∞ Inicialmente1 ∞ ∞ ∞ Tras 1 intercambio1 2 ∞ ∞ Tras 2 intercambios1 2 3 ∞ Tras 3 intercambios1 2 3 4 Tras 4 intercambios
CASO CUANDOSE DA DE ALTA
EL NODO A
v vvvA B C D E
1 2 3 4 Inicialmente3 2 3 4 Tras 1 intercambio3 4 3 4 Tras 2 intercambios5 4 5 4 Tras 3 intercambios5 6 5 6 Tras 4 intercambiosM M M M M
CASO CUANDOSE DA DE BAJA
EL NODO A
25
Dr. Ivan Olmos 49
Enrutamiento por Vector de Distancia
Para tratar de resolver el problema, se han propuesto algoritmos como el horizonte divididoSin embargo, dichas mejoras no funcionan del todo bien, por lo que éste algoritmo se abandono, dando paso a uno totalmente nuevo, conocido como enrutamiento por estado de enlace
Dr. Ivan Olmos 50
Enrutamiento por Estado de Enlace
Basado en los siguientes conceptos:Descubrir a sus vecinos y conocer sus direcciones de redMedir el retardo o costo para cada uno de sus vecinosConstruir un paquete que indique lo que acaba de aprenderEnviar el paquete a todos los demás enrutadoresCalcular la trayectoria más corta a todos los demás enrutadores
26
Dr. Ivan Olmos 51
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 accesoEl enrutador vecino, al recibir dicho mensaje, genera una respuesta indicando quién esUn 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 52
Enrutamiento por Estado de Enalce
Cada enrutador debe conocer el costo asociado a cada enlaceSi no es así, el enrutador X puede enviar un paquete de eco, el cual, al ser recibido por el enrutador del otro extremo, debe regresarlo lo más pronto posibleCon ello, el enrutador X puede calcular el retardo dividiendo entre dos el tiempo tomado por el paquete de eco
27
Dr. Ivan Olmos 53
Enrutamiento por Estado de Enlace
El tiempo de retardo puede o no considerar la carga de cada enlaceSi se desea considerar, el temporizador del paquete debe iniciarse desde el momento en el cual se forma en la cola para ser enviadoEn caso contrario, dicho temporizador solo se debe activar al momento que el paquete de eco se encuentre al frente de dicha cola
Dr. Ivan Olmos 54
Enrutamiento por Estado de Enlace
Incluir la carga de cada enlace favorece a escoger la línea menos saturada, y por ende, facilitar el flujo de los paquetesSin embargo, puede provocar que varios enrutadores seleccionen casi al mismo tiempo la línea menos saturada, con lo cual, se convertirá en la más suturada, induciendo nuevamente al problema de líneas saturadas
28
Dr. Ivan Olmos 55
Enrutamiento por Estado de Enlace
Una vez recabada la información anterior, se construyen los paquetes a enviar a los vecinos, conteniendo:
Identidad del transmisorNúmero de secuenciaEdadLista de vecinos, citando los retardos asociados
Dr. Ivan Olmos 56
Enrutamiento por Estado de Enlace
A
B C
D
E F
8
7
6
8
1
5
7
3
1
3
2
6
2
4
5
4
EFEF
DCFDCE
EdadEdadEdadEdadEdadEdad
Sec.Sec.Sec.Sec.Sec.Sec.
BACBAB
FEDCBA
4
2
3
5
8
71 6
29
Dr. Ivan Olmos 57
Enrutamiento por Estado de Enlace
Una vez que cada enrutador tenga sus paquetes construidos, falta distribuirlosLa 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 58
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 enrutadorLos enrutadores llevan la secuencia de cada par (enrutador origen, secuencia), para evitar reenviar aquellos que ya han sido procesados
30
Dr. Ivan Olmos 59
Enrutamiento por Estado de Enlace
Para evitar que se agote el número se secuencia (se llegue a su máximo), se suelen emplear números grandes (por ejemplo, 232)Además, existen problemas como:
Un enrutador deje de funcionar, con lo cual, se reiniciará su número de secuenciaSe puede corromper el número de secuencia al momento de ser enviado
Dr. Ivan Olmos 60
Enrutamiento por Estado de Enlace
La solución a dichos problemas es incluir una “edad” a cada paquete; así, después de determinado tiempo, la información proveniente del enrutador será descartada (conteo de forma descendiente)Lo anterior es posible debido a que la generación de paquetes se puede establecer cada 10 minutos, por ejemplo
31
Dr. Ivan Olmos 61
Enrutamiento por Estado de Enlace
Algunas mejoras se pueden hacer a este algoritmo:
Por ejemplo, se puede implementar que, cuando un enrutador reciba un nuevo paquete, no lo envíe inmediatamente; en cambio, se programa para esperar determinado tiempo; si en ese tiempo recibe un nuevo paquete del mismo enrutador origen, compara la secuencia de los paquetes: si son iguales, se descarta el duplicado; en caso contrario, se desecha el paquete más viejo
Dr. Ivan Olmos 62
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 subredCon la información anterior, puede ejecutar el algoritmo de Dijkstra para localizar las rutas más óptimas
32
Dr. Ivan Olmos 63
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 inapropiadoPara evitar este problema, se ha optado por el enrutamiento jerárquico, en el cual, los enrutadores solo conocen la forma de enrutarpaquetes dentro de cierta región (de enrutadores), pero no conocen como hacerlo fuera de ella
Enrutamiento Jerárquico
1A
1B
1C
3A
3B
4A
4B
4C
2A 2B
2C
2D
5B
5A
5E
5D
5C
2A
1C
5E
5D
5C
5B
5A
4C
4B
4A
3B
3A
2D
2C
2B
1B
51C
51B
41C
41C
21C
41B
31B
11C
61C
41C
5
3
1C
31C
3
21B
1
1B
1C
1B
TABLA COMPLETA PARA 1A
41C5
31C4
21C3
21B2
11C1C
11B1B
--1A
DESTINOS
TABLA JERARQUICAPARA 1A
33
Dr. Ivan Olmos 65
Enrutamiento para Máquinas Móviles
En la actualidad, con el advenimiento de los sistemas portátiles, surge la necesidad de mantenerlos comunicadosBá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 localUsuarios errantes, los cuales hacen su cómputo en movimiento, manteniendo la conexión en todo momento
Dr. Ivan Olmos 66
Enrutamiento para Máquinas Móviles
En el enrutamiento para máquinas móviles, se presupone que tienen una localidad baseUna 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
34
Dr. Ivan Olmos 67
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 áreaAgentes 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 68
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
35
Dr. Ivan Olmos 69
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 seguridadEl agente foráneo localiza al agente base del hostmóvil, mandando la dirección de red del agente foráneo, así como la información de seguridad (autenticación)
Dr. Ivan Olmos 70
Enrutamiento para Máquinas Móviles
El agente de base del host móvil verifica la autenticidad del mensaje con respecto al usuario móvilSi 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
36
Dr. Ivan Olmos 71
Enrutamiento para Máquinas Móviles
Con lo anterior, si se generan paquetes para el usuario móvil, el agente de base intercepta dichos paquetes, enviándolos a la nueva localidad (temporal) del usuario móvilEl agente foráneo donde se encuentra el usuario móvil recibirá dichos paquetes, retirará la información añadida por el agente de base y, por medio de un marco de enlace de datos, se lo enviará al usuario móvil
Dr. Ivan Olmos 72
Enrutamiento para Máquinas Móviles
Además, el agente de base le indicará al transmisor que envíe el resto de los paquetes encapsulándolos para el agente foráneo donde se encuentra el usuario móvil
37
Dr. Ivan Olmos 73
Enrutamiento por Difusión
Cuando se desea enviar información a un conjunto de host, será necesario implementar alguna técnica de difusiónHasta el momento, dos técnicas saltan para implementarse:
Envío simultáneo de un paquete a todos los destinos (difusión)Inundación
Dr. Ivan Olmos 74
Enrutamiento por Difusión
Otra forma de difusión es el enrutamiento multidesinoA cada paquete, se le incluye un grupo de destinosCada enrutador, al recibir el paquete, hace una copia del mismo a los destinos indicados (tipo multicast)Además, en las nuevas copias solo se indican los destinos asociados a cada ruta
38
Dr. Ivan Olmos 75
Enrutamiento por Árbol de Extensión
En los árboles de extensión, se conectan de manera lógica los enrutadores de una red, sin contener ciclosSi cada enrutador conoce de manera precisa las ramas del árbol, se pueden hacer copias de paquetes por las mismas, aprovechando muy bien el ancho de banda (no se generan copias innecesarias)
Dr. Ivan Olmos 76
Reenvío por Trayectoria Invertida
En esta técnica, se busca simular el comportamiento de un árbol de extensión, a pesar de no conocerlo explícitamentePara ello, cuando un enrutador recibe un paquete de difusión, verifica si este llegó por la línea preferida. Si es así, significa que el paquete tiene una alta probabilidad de que haya seguido una buena ruta desde el origen
39
Dr. Ivan Olmos 77
Reenvío por Trayectoria Invertida
En tal caso, el enrutador debe colocar una copia en todas las salidas disponibles, excepto por la que llegóEn caso de no recibirse por la ruta habitual, dicho paquete debe ser descartadoCon ello, se está controlando al mismo tiempo el exceso de flujo innecesario en segmentos de la red
Dr. Ivan Olmos 78
Enrutamiento por Multitransmisión
Otra técnica en la cuál se puede enviar información a un grupo de hostAquí es necesario que los host se reúnan en grupos (numerados), acción que deben conocer perfectamente los enrutadoresDe esta forma, cada enrutador conocerá los grupos a los cuales puede acceder
40
Dr. Ivan Olmos 79
Enrutamiento por Multitransmisión
En base a los grupos asociados a cada enrutador, se forman árboles de extensión que cubran cada enrutador de la subredCon ello, cuando se realice una multitransmisión a un grupo o grupos determinados, se seguirán los árboles de extensión para llegar a los destinos
Dr. Ivan Olmos 80
Enrutamiento por Multitransmisión
1, 2
1, 2
11
1
2
2 21, 2
1, 2
1
1
1
2
2 2
41
Dr. Ivan Olmos 81
Algoritmos de Control de Congestionamiento
Dr. Ivan Olmos 82
Control de Congestionamiento
El congestionamiento se presenta cuando existen demasiados paquetes en la subredEstos se pueden originar por varias causas:
Si varios paquetes de varias líneas de entrada de un enrutador desean salir por una sola líneaLa velocidad de las CPU’s de los enrutadoresLíneas con poco ancho de banda (modernización de solo un segmento de la subred)
42
Dr. Ivan Olmos 83
Control de Congestionamiento
Cuando un enrutador, por una causa o por otra, no se puede deshacer de los paquetes con la misma rapidez con que los recibe, tenderá a perder paquetes (la memoria es limitada)El congestionamiento tiende a alimentarse a si mismo y empeorar
Dr. Ivan Olmos 84
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 lentoEn 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.
43
Dr. Ivan Olmos 85
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ñoLos de ciclo cerrado, los cuales tratan de resolver el problema una vez que se ha dado
Dr. Ivan Olmos 86
Control de Congestionamiento
Un punto a decidir es cuando se genera un congestionamiento. Para ello, se toman aspectos como:
Porcentaje de paquetes descartadosLongitud promedio de las colasCantidad de paquetes descartados por el temporizadorRetardo promedio de los paquetes
44
Dr. Ivan Olmos 87
Control de Congestionamiento
Una vez que se ha detectado un congestionamiento, los algoritmos de ciclo cerrado tienen que informar del hecho a los vecinos
Se puede informar con paquetes o,Se puede notificar por medio de algún bit en cada uno de los paquetes de salida
Dr. Ivan Olmos 88
Control de Congestionamiento
De entrada, cuando se piensa en congestionamiento, dos soluciones son las más obvias:
Aumentar los recursos de la subredDisminuir la carga de trabajo
Sin embargo, dichas soluciones, en ocasiones no son viables
45
Dr. Ivan Olmos 89
Métodos de Ciclo Abierto
Dr. Ivan Olmos 90
Prevención
Éstos métodos tratan de alcanzar su meta implementando ciertas políticasPor ejemplo, en la capa de enlace de datos se busca implementar temporizadores que eviten hasta cierto grado precipitar el inicio de una retransmisiónTambién, se busca que los acuses de recibo no generen una carga extra a la red
46
Dr. Ivan Olmos 91
Prevención
En la capa de red, se busca encontrar, por ejemplo, tamaños de colas de espera para los enrutadores, tanto para las líneas de salida como las de entradaLo anterior debe tener en cuenta un tamaño que no induzca a que los paquetes en espera finalicen sus temporizadores
Dr. Ivan Olmos 92
Conformación de Tráfico
La naturaleza del flujo en una red no es constante, generalmente se presenta por ráfagasSi fuera constante, sería fácilmente predecible y, por ende, se evitarían los congestionamientosUna forma de atacar el problema es obligar a la transmisión de los paquetes a una tasa predecible, como en las redes ATMA dicha forma de trabajo se conoce como conformación de tráfico
47
Dr. Ivan Olmos 93
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 datagramasNormalmente se verifica que se cumpla con la tasa promedio prometidaPara 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 94
Algoritmo de Cubeta con Goteo
Es un esquema conceptual en el cual, a los ruteadores de les ve como a una cubeta:
La cubeta tiene cierto agujero en el fondo, por la cual sale de forma constante cierta cantidad de agua, mientras la misma tenga aguaSi la velocidad con la que se introduce agua es mayor a la velocidad del goteo, eventualmente se llenará la cubeta, empezando a derramar agua
48
Dr. Ivan Olmos 95
Algoritmo de Cubeta con Goteo
A los enrutadores se les ve de manera similar:
Cada enrutador tiene una capacidad para almacenar marcosEstos marcos son despachados con cierta velocidad de salidaSi 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 96
Algoritmo de Cubeta con Goteo
Con estas consideraciones, se puede planificar la velocidad de envío de un emisor sin que se produzcan pérdidas en los enrutadoresOtra variante de éste esquema es la cubeta con fichas, la cual permite acelerar el goteo si existen ráfagas de flujo, así como la reservación de transmisión para emisoresUna variante interesante en la cubeta con fichas, es que está solo pierde fichas, no paquetes
49
Dr. Ivan Olmos 97
Métodos de Ciclo Cerrado
Dr. Ivan Olmos 98
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 empeoreUna forma es restringir la apertura de nuevos circuitos, técnica conocida como control de admisión
50
Dr. Ivan Olmos 99
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 problemaTambién se puede optar por establecer cuidadosamente nuevos circuitos, pero por rutas no congestionadas
Dr. Ivan Olmos 100
Control de Admisión
Otra forma alternativa, dentro de los circuitos virtuales, es negociar un acuerdo sobre el volumen y tráfico para cada circuito, con lo cual se reservarán recursos por donde pase el circuitoSin embargo, esta última técnica tiende a desperdiciar recursos
51
Dr. Ivan Olmos 101
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 102
Paquetes de Estrangulamiento
Esta variable oscila en el rango de 0 a 1Cuando se acerca a 1, indica que el flujo para un enlace de salida se está volviendo muy alto. Por tanto, el enrutador debe realizar lo siguiente:
Genera un paquete de estrangulamiento al origen, indicándole que baje el ritmo de transmisiónPor otro lado, marca un bit en el paquete de salida, para evitar que más adelante se generen paquetes de estrangulamiento
52
Dr. Ivan Olmos 103
Paquetes de Estrangulamiento
El host de origen, al recibir el paquete de estrangulamiento, debe reducir su velocidad en un determinado porcentajeEl 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 estrangulamientoSi los hay, reduce aún más su velocidad. Si no los hay, vuelve a la velocidad normal
Dr. Ivan Olmos 104
Paquetes de Estrangulamiento
Notemos que este enfoque no se bloquea totalmente a un emisor, simplemente se le obliga a reducir la velocidad de transferenciaSin embargo, se corre el riesgo que algunos emisores hagan caso omiso de dicho mensaje
53
Dr. Ivan Olmos 105
Encolamiento Justo
Para evitar este problema, se puede optar por simular una cola para cada origen. Así, cuando la línea de salida se encuentre desocupada, se manda el paquete almacenado en la cola correspondienteSin embargo, notemos que los paquetes pueden diferir en tamaño, por lo que los host con paquetes más grandes obtendrán un ancho de banda mayor que los host con paquetes de menor tamaño
Dr. Ivan Olmos 106
Encolamiento Justo Ponderado
Para resolver este problema, se ha propuesto que el enrutador, en vez de mandar paquete por paquete de cada cola, envíe byte a byteDe esta manera, el tamaño de los paquetes será independiente
94 71
52
863
54
Dr. Ivan Olmos 107
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 origenNotemos que mientras se propaga dicho paquete, continuará generándose la misma cantidad de flujo
Dr. Ivan Olmos 108
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 inmediataEste 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
55
Dr. Ivan Olmos 109
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 110
Interredes
56
Dr. Ivan Olmos 111
Interredes
Debido a que se tienen diversas tecnologías de red, surge el problema de cómo comunicar estas tecnologíasCuando se unen dos o más redes, forman una interredSe pueden usar diversos dispositivos de interconexión, los cuales trabajan a diversos niveles (de enlace de datos, de red, ...)
Dr. Ivan Olmos 112
Interredes
Ejemplos de elementos de interconexión son:Repetidores, los cuales se encargan de amplificar una señal de entrada (a nivel físico)Los puentes, los cuales reciben, almacenan y reenvían marcos al nivel de la capa de enlace de datos. Además, tiene la capacidad de hacer cambios menores a los marcos
57
Dr. Ivan Olmos 113
Interredes
Los enrutadores multiprotocolo, son dispositivos que trabajan en la capa de red (conceptualmente son similares a los puentes). Éstos toman un paquete de entrada y lo colocan por alguna línea de salida. Las líneas de salida pueden pertenecer a redes diferentes y usar protocolos distintosExisten otros dispositivos, como las pasarelas de transporte y las de aplicación
Dr. Ivan Olmos 114
Interredes
El manejo de la interconexión de dos redes distintas es complejoDentro de las combinaciones, existe el caso cuando, tanto el host origen como el destino, están en la misma clase de redUna problemática al realizarse el traslado del origen al destino, es que el paquete cruce por distintas clases de red
58
Dr. Ivan Olmos 115
Proceso de Túnel
Por ejemplo, si deseamos enviar un paquete IP de una red Ethernet a otra, se coloca primero el paquete IP en un marco Ethernet; después, al llegar dicho paquete a un enrutador multiprotocolo, éste retira el paquete IP y lo coloca en el campo de carga útil del paquete de red WANDe esta manera, puede viajar a través de toda la subred y, al llegar a la red destino, simplemente desempaquetarlo y entregarlo
Dr. Ivan Olmos 116
Fragmentación
Una complicación adicional surge al trabajar con interredes, ya que estas suelen manejar tamaños de paquetes distintosPara atacar este problema, se pueden llevar a cabo dos esquemas de fragmentación:
TransparenteNo transparente
59
Dr. Ivan Olmos 117
Fragmentación Transparente
En este esquema, cuando un paquete es demasiado grande para enviarse, se fragmenta, pero es reensamblado inmediatamente del otro lado de la líneaDe esta manera, se hace transparente el paso de un paquete a través de la redSin embargo, tiene el inconveniente de que cada elemento de interconexión (pasarelas) debe tener la capacidad de desensamblar y reensamblar paquetes, y no los host
Dr. Ivan Olmos 118
Fragmentación no transparente
Por el contrario, este esquema, desde un inicio, fragmenta al paquete para ser enviados a través de la red, y éste, solo es reensamblado en el destinoAl igual que en el caso anterior, se tienen diversos inconvenientes. Por ejemplo, se aumenta la carga extra, cada host debe tener la capacidad de desensamblar y reensamblar paquetesSin embargo, tiene la ventaja que se se pueden enviar los paquetes por vías alternas y no por una sola vía