Você está na página 1de 60

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

1
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

2
El enfoque sin conexión

„ Se plantea que la única tarea de la capa de red es


encaminar bits de un DTE a otro DTE
„ Se toma de antemano que la subred es
inherentemente inestable, sin importar su diseño
„ Por lo anterior, se enfocan a que los DTE realicen el
control de errores y el control de flujo
„ Ademá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 5

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)

Dr. Ivan Olmos 6

3
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 receptor
‰ Al establecerse la conexión, se puede determinar
la calidad de la conexión, así como el costo del
servicio
‰ La comunicación es en ambas direcciones y los
paquetes se entregan en secuencia
‰ Se proporciona control de flujo

Dr. Ivan Olmos 7

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)

Dr. Ivan Olmos 8

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 9

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 10

5
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 11

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...

Dr. Ivan Olmos 12

6
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 virtual
„ Cada computadora, al establecer una
conexión de red, hace uso de una dirección
libre de circuito virtual
„ Dichos números de dirección son
independientes de un sistema a otro

Dr. Ivan Olmos 13

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 comunicar
„ Cada 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

Dr. Ivan Olmos 14

7
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 posible
„ Los datagramas contienen la dirección de
destino completa
„ En redes grandes, las direcciones pueden
ser de varios bytes

Dr. Ivan Olmos 15

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
Dr. Ivan Olmos 16

8
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 tiempo
„ En la subred de datagramas, se requiere un
proceso más complejo para decidir por
donde se encaminará el paquete

Dr. Ivan Olmos 17

Ventajas y Desventajas

„ Los circuitos virtuales permiten manejar el problema


del congestionamiento en la subred
„ En una subred de datagramas, es más complicado
manejar dicho problema
„ Los circuitos virtuales son vulnerables, ya que si se
cae un enrutador, todos los circuitos virtuales de su
tabla dejaran de funcionar
„ Por el contrario, si se cae un enrutador de
datagrama, solo se perderán los paquetes que en
ese momento se encontraban en el enrutador

Dr. Ivan Olmos 18

9
Algoritmos de Enrutamiento

Dr. Ivan Olmos 19

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 20

10
Algoritmos de Enrutamiento

„ Deben ofrecer propiedades como:


‰ Corrección
‰ Sencillez
‰ Robustez
‰ Estabilidad
‰ Equitatividad
‰ Optimalidad

Dr. Ivan Olmos 21

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 actividades
„ Tambié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)

Dr. Ivan Olmos 22

11
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 23

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 24

12
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 ascenso
„ Dichos árboles no necesariamente son
únicos
„ Los árboles tienen una gran propiedad: no
contienen ciclos

Dr. Ivan Olmos 25

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 26

13
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
Dijkstra
„ El algoritmo es el siguiente:
‰ Suponga que se desea encontrar la ruta más
corta entre el nodo A y el nodo Z de un grafo
‰ Sea 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 27

Algoritmo de Dijkstra

1. Para todo x ∈ T | x ≠ A hacer:


• L[x] = ∞, C[x] = ∅
2. L[A] = 0, C[A] = A
3. 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}

Dr. Ivan Olmos 28

14
Algoritmo de Dijkstra

6. Hacer:
• v = min {L[x] | x ∈ T}
• T = T – {v}
7. Regresar a paso 4

Dr. Ivan Olmos 29

Algoritmo de Dijkstra

„ Por ejemplo, sea el siguiente grafo, obtener


el camino mínimo de A a D

B 7 C

2 2 2 3
E 2 F D
A
1 2 2
6
4
G H

Dr. Ivan Olmos 30

15
Algoritmo de Dijkstra
T A B C D E F G H
L 0 ∞ ∞ ∞ ∞ ∞ ∞ ∞
1
C A ∅ ∅ ∅ ∅ ∅ ∅ ∅
L 0 2 ∞ ∞ ∞ ∞ 6 ∞
2
C A AB ∅ ∅ ∅ ∅ AG ∅
L 0 2 9 ∞ 4 ∞ 6 ∞
3
C A AB ABC ∅ ABE ∅ AG ∅
L 0 2 9 ∞ 4 6 5 ∞
4
C A AB ABC ∅ ABE ABEF ABEG ∅
L 0 2 9 ∞ 4 6 5 9
5
C A AB ABC ∅ ABE ABEF ABEG ABEGH
L 0 2 9 ∞ 4 6 5 8
6
C A AB ABC ∅ ABE ABEF ABEG ABEFH
L 0 2 9 10 4 6 5 8
7
C A AB ABC ABEFHD ABE ABEF ABEG ABEFH
L 0 2 9 10 4 6 5 8
8
C A AB ABC ABEFHD ABE ABEF ABEG ABEFH

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 32

16
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
destino
„ En general, la inundación no es eficiente,
pero sí muy robusta
„ En 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 33

Comentario

„ Tanto el algoritmo de Dijkstra, como el de


inundación, consideran exclusivamente la
topología y no la carga
„ Un algoritmo de enrutamiento que considera
ambas variables es el enrutamiento basado
en el flujo

Dr. Ivan Olmos 34

17
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 35

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 36

18
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
9 4 1 7 4
-
A AB ABC ABFD AE AEF

B C 9 8 3 2 4
20 B BA
-
BC BFD BFE BF
20 10 4 8 3 3 2
C -
A D CBA CB CD CE CEF
20 20 20 D 1 3 3 3 4
10 -
DF BA DFB DC DCE DF
E 50 F E 7 2 3 3 5
-
EA EFB EC ECD EF
F
4 4 2 4 5
-
FEA FB FEC FD FE

Dr. Ivan Olmos 37

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

Dr. Ivan Olmos 38

19
Enrutamiento basado en el Flujo

„ En base a la información anterior, se puede


obtener el flujo total λ que circula por cada
enlace
„ Ademá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 39

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 subred
„ Para 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)

Dr. Ivan Olmos 40

20
Enrutamiento basado en el Flujo

i Línea λi (paq / seg) Ci (kbps) µCi (paq / seg) Ti (mseg) Peso

1 AB 14 20 25 91 0.171

2 BC 12 20 25 77 0.146

3 CD 6 10 12.5 154 0.073

4 AE 11 20 25 71 0.134

5 EF 13 50 62.5 20 0.159

6 FD 8 10 12.5 222 0.098

7 BF 10 20 25 67 0.122

8 EC 8 20 25 59 0.098

Dr. Ivan Olmos 41

Enrutamiento Dinámico

Dr. Ivan Olmos 42

21
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 43

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 44

22
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 G
„ Para ello, el enrutador J debe recibir las
tablas de sus vecinos, cada una con las
mejores rutas hacia los diversos destinos
„ Además, el enrutador J debe ser capaz de
calcular el retardo presente en ese instante a
cada uno de sus vecinos

Dr. Ivan Olmos 45

Enrutamiento por Vector de Distancia


Nuevo retardo
estimado
A A I H K Línea

A B C D A 0 24 20 21 8 A

B 12 36 31 28 20 A

C 25 18 19 36 28 I

D 40 27 8 24 20 H
F G
E
H E 14 7 30 22 17 I

F 23 20 19 40 30 I

G 18 31 6 31 18 H

H 17 20 0 19 12 H
J L
I K I 21 0 14 22 10 I

J 9 11 7 10 0 -

K 24 22 22 0 6 K

L 29 33 9 9 15 K

Nuevo tabla de
Retardo del nodo 8 10 12 6 enrutamiento
J al nodo x:

23
Enrutamiento por Vector de Distancia

„ Notemos que los vecinos, de antemano,


deben conocer las distancias a todos los
nodos
„ Por tanto, se debe tener un proceso previo
que calcule dichas distancias
„ Además, se tiene un problema grave,
conocido como conteo a infinito

Dr. Ivan Olmos 47

Enrutamiento por Vector de Distancia


A B C D E
v v v v

∞ ∞ ∞ ∞ Inicialmente
CASO CUANDO 1 ∞ ∞ ∞ Tras 1 intercambio
SE DA DE ALTA 1 2 ∞ ∞ Tras 2 intercambios
EL NODO A 1 2 3 ∞ Tras 3 intercambios
1 2 3 4 Tras 4 intercambios

A B C D E
v v v v
1 2 3 4 Inicialmente
CASO CUANDO 3 2 3 4 Tras 1 intercambio
SE DA DE BAJA 3 4 3 4 Tras 2 intercambios
EL NODO A 5 4 5 4 Tras 3 intercambios
5 6 5 6 Tras 4 intercambios
M M M M M

Dr. Ivan Olmos 48

24
Enrutamiento por Vector de Distancia

„ Para tratar de resolver el problema, se han


propuesto algoritmos como el horizonte
dividido
„ Sin 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 49

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 50

25
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 51

Enrutamiento por Estado de Enalce

„ Cada enrutador debe conocer el costo


asociado a cada enlace
„ Si 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 posible
„ Con ello, el enrutador X puede calcular el
retardo dividiendo entre dos el tiempo
tomado por el paquete de eco

Dr. Ivan Olmos 52

26
Enrutamiento por Estado de Enlace

„ El tiempo de retardo puede o no considerar


la carga de cada enlace
„ Si se desea considerar, el temporizador del
paquete debe iniciarse desde el momento en
el cual se forma en la cola para ser enviado
„ En 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 53

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 paquetes
„ Sin 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

Dr. Ivan Olmos 54

27
Enrutamiento por Estado de Enlace

„ Una vez recabada la información anterior, se


construyen los paquetes a enviar a los
vecinos, conteniendo:
‰ Identidad del transmisor
‰ Número de secuencia
‰ Edad
‰ Lista de vecinos, citando los retardos asociados

Dr. Ivan Olmos 55

Enrutamiento por Estado de Enlace

A B C D E F
B 2 C
Sec. Sec. Sec. Sec. Sec. Sec.
4 3
Edad Edad Edad Edad Edad Edad
A D
1 6 B 4 A 4 B 2 C 3 A 5 B 6
5 7

E 8 F E 5 C 2 D 3 F 7 C 1 D 7

F 6 E 1 F 8 E 8

Dr. Ivan Olmos 56

28
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 57

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 58

29
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 secuencia
‰ Se puede corromper el número de secuencia al
momento de ser enviado

Dr. Ivan Olmos 59

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

Dr. Ivan Olmos 60

30
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 61

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 62

31
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 63

Enrutamiento Jerárquico
TABLA COMPLETA PARA 1A

1B 1B 1

1B 1C 1C 1 TABLA JERARQUICA
2A 2B
2A 1B 2 PARA 1A
1A 2B 1B 3 1A - -
2C
1C 2C 1B 3 1B 1B 1
2D
2D 1B 4 1C 1C 1
3A 1C 3 2 1B 2
3B 1C 2 3 1C 2
4A 1C 3 4 1C 3
3A 4A 5B
4B 1C 4 5 1C 4
5C
3B 4B 5A 4C 1C 4
5D
4C 5E 5A 1C 4
5B 1C 5
5C 1B 5
DESTINOS 5D 1C 6
5E 1C 5

32
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 65

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 66

33
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 67

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 68

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 69

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 70

35
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óvil
„ El 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 71

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

Dr. Ivan Olmos 72

36
Enrutamiento por Difusión

„ Cuando se desea enviar información a un


conjunto de host, será necesario implementar
alguna técnica de difusión
„ Hasta 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 73

Enrutamiento por Difusión

„ Otra forma de difusión es el enrutamiento


multidesino
„ A cada paquete, se le incluye un grupo de
destinos
„ Cada 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

Dr. Ivan Olmos 74

37
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 ciclos
„ Si 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 75

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ícitamente
„ Para 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

Dr. Ivan Olmos 76

38
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 descartado
„ Con ello, se está controlando al mismo
tiempo el exceso de flujo innecesario en
segmentos de la red

Dr. Ivan Olmos 77

Enrutamiento por Multitransmisión

„ Otra técnica en la cuál se puede enviar


información a un grupo de host
„ Aquí es necesario que los host se reúnan en
grupos (numerados), acción que deben
conocer perfectamente los enrutadores
„ De esta forma, cada enrutador conocerá los
grupos a los cuales puede acceder

Dr. Ivan Olmos 78

39
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 subred
„ Con 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 79

Enrutamiento por Multitransmisión

1 1
2 2

1, 2 1, 2
2 2 2
1, 2 1, 2 2

1
1 1
1

Dr. Ivan Olmos 80

40
Algoritmos de Control de
Congestionamiento

Dr. Ivan Olmos 81

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 82

41
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 83

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 84

42
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 85

Control de Congestionamiento

„ Un punto a decidir es cuando se genera un


congestionamiento. Para ello, se toman
aspectos como:
‰ Porcentaje de paquetes descartados
‰ Longitud promedio de las colas
‰ Cantidad de paquetes descartados por el
temporizador
‰ Retardo promedio de los paquetes

Dr. Ivan Olmos 86

43
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 87

Control de Congestionamiento

„ De entrada, cuando se piensa en


congestionamiento, dos soluciones son las
más obvias:
‰ Aumentar los recursos de la subred
‰ Disminuir la carga de trabajo
„ Sin embargo, dichas soluciones, en
ocasiones no son viables

Dr. Ivan Olmos 88

44
Métodos de Ciclo Abierto

Dr. Ivan Olmos 89

Prevención

„ Éstos métodos tratan de alcanzar su meta


implementando ciertas políticas
„ Por ejemplo, en la capa de enlace de datos
se busca implementar temporizadores que
eviten hasta cierto grado precipitar el inicio
de una retransmisión
„ También, se busca que los acuses de recibo
no generen una carga extra a la red

Dr. Ivan Olmos 90

45
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 entrada
„ Lo anterior debe tener en cuenta un tamaño
que no induzca a que los paquetes en espera
finalicen sus temporizadores

Dr. Ivan Olmos 91

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 92

46
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 93

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 agua
‰ Si la velocidad con la que se introduce agua es
mayor a la velocidad del goteo, eventualmente se
llenará la cubeta, empezando a derramar agua

Dr. Ivan Olmos 94

47
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 95

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 enrutadores
„ Otra 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 emisores
„ Una variante interesante en la cubeta con fichas, es
que está solo pierde fichas, no paquetes

Dr. Ivan Olmos 96

48
Métodos de Ciclo Cerrado

Dr. Ivan Olmos 97

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 98

49
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 99

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 circuito
„ Sin embargo, esta última técnica tiende a
desperdiciar recursos

Dr. Ivan Olmos 100

50
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 101

Paquetes de Estrangulamiento

„ Esta variable oscila en el rango de 0 a 1


„ Cuando 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ón
‰ Por otro lado, marca un bit en el paquete de
salida, para evitar que más adelante se generen
paquetes de estrangulamiento
Dr. Ivan Olmos 102

51
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 103

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 104

52
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 correspondiente
„ Sin 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 105

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 byte
„ De esta manera, el tamaño de los paquetes será
independiente

1 4 7 9

2 5

3 6 8

Dr. Ivan Olmos 106

53
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 107

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 108

54
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 109

Interredes

Dr. Ivan Olmos 110

55
Interredes

„ Debido a que se tienen diversas tecnologías


de red, surge el problema de cómo
comunicar estas tecnologías
„ Cuando se unen dos o más redes, forman
una interred
„ Se pueden usar diversos dispositivos de
interconexión, los cuales trabajan a diversos
niveles (de enlace de datos, de red, ...)

Dr. Ivan Olmos 111

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

Dr. Ivan Olmos 112

56
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 distintos
‰ Existen otros dispositivos, como las pasarelas de
transporte y las de aplicación

Dr. Ivan Olmos 113

Interredes

„ El manejo de la interconexión de dos redes


distintas es complejo
„ Dentro de las combinaciones, existe el caso
cuando, tanto el host origen como el destino,
están en la misma clase de red
„ Una problemática al realizarse el traslado del
origen al destino, es que el paquete cruce
por distintas clases de red

Dr. Ivan Olmos 114

57
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 WAN
„ De 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 115

Fragmentación

„ Una complicación adicional surge al trabajar


con interredes, ya que estas suelen manejar
tamaños de paquetes distintos
„ Para atacar este problema, se pueden llevar
a cabo dos esquemas de fragmentación:
‰ Transparente
‰ No transparente

Dr. Ivan Olmos 116

58
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ínea
„ De esta manera, se hace transparente el paso de
un paquete a través de la red
„ Sin 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 117

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 destino
„ Al 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 paquetes
„ Sin embargo, tiene la ventaja que se se pueden
enviar los paquetes por vías alternas y no por una
sola vía

Dr. Ivan Olmos 118

59
SUBRED

INTERRED

INTERRED

60

Você também pode gostar