La Capa de Red. La Capa de Red

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 perf...
64 downloads 2 Views 392KB Size
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 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

28

14

Algoritmo de Dijkstra Hacer:

6. • •

7.

v = min {L[x] | x ∈ T} T = T – {v}

Regresar a paso 4

29

Dr. Ivan Olmos

Algoritmo de Dijkstra „

Por ejemplo, sea el siguiente grafo, obtener el camino mínimo de A a D B 2

C

7 2 E

A 1

6

2

F

3

2

D 2

2

4

G

H Dr. Ivan Olmos

30

15

Algoritmo de Dijkstra T 1

2

3

4

5

6

7

8

A

B

C

D

E

F

G

L

0













H ∞

C

A















L

0

2









6



C

A

AB









AG



L

0

2

9



4



6



C

A

AB

ABC



ABE



AG



L

0

2

9



4

6

5



C

A

AB

ABC



ABE

ABEF

ABEG



L

0

2

9



4

6

5

9

C

A

AB

ABC



ABE

ABEF

ABEG

ABEGH

L

0

2

9



4

6

5

8

C

A

AB

ABC



ABE

ABEF

ABEG

ABEFH

L

0

2

9

10

4

6

5

8

C

A

AB

ABC

ABEFHD

ABE

ABEF

ABEG

ABEFH

L

0

2

9

10

4

6

5

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 AB

4 ABC

1 ABFD

7 AE

4 AEF

B

9 BA

-

8 BC

3 BFD

2 BFE

4 BF

C

4 CBA

8 CB

-

3 CD

3 CE

2 CEF

D

1 DF BA

3 DFB

3 DC

-

3 DCE

4 DF

7 EA

2 EFB

3 EC

3 ECD

-

5 EF

4 FEA

4 FB

2 FEC

4 FD

5 FE

-

A B

C

20

20 A

10 20

20 E

D

20 50

10 F

E F

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 45

Dr. Ivan Olmos

Enrutamiento por Vector de Distancia A

B

A

F

C

G

E

I

J

K

D

H

L

A B C D E F G H I J K L

Retardo del nodo J al nodo x:

Nuevo retardo estimado

A

I

H

K

0

24

20

21

8

A

12

36

31

28

20

A

25

18

19

36

28

I

40

27

8

24

20

H I

Línea

14

7

30

22

17

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

12

6

Nuevo tabla de enrutamiento

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

47

Dr. Ivan Olmos

Enrutamiento por Vector de Distancia A CASO CUANDO SE DA DE ALTA EL NODO A

A CASO CUANDO SE DA DE BAJA EL NODO A

B

C

D

E

∞ 1 1 1 1

∞ ∞ 2 2 2

∞ ∞ ∞ 3 3

∞ ∞ ∞ ∞ 4

B

C

D

E

v

v

v

v

v

1 3 3 5 5 M

v

2 2 4 4 6 M

v

3 3 3 5 5 M

Dr. Ivan Olmos

v

4 4 4 4 6 M

Inicialmente Tras 1 intercambio Tras 2 intercambios Tras 3 intercambios Tras 4 intercambios

Inicialmente Tras 1 intercambio Tras 2 intercambios Tras 3 intercambios Tras 4 intercambios M 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

55

Dr. Ivan Olmos

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

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

63

Dr. Ivan Olmos

Enrutamiento Jerárquico TABLA COMPLETA PARA 1A

1B

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

5C

4B

1C

4

5

1C

4

5D

4C

1C

4

5A

1C

4

5B

1C

5

5C

1B

5

5D

1C

6

5E

1C

5

2A 2B

1A

2C

1C

2D

3A

4A 3B

5A

4B 4C

DESTINOS

5B

5E

TABLA JERARQUICA PARA 1A

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

79

Dr. Ivan Olmos

Enrutamiento por Multitransmisión

1

1

2

2

1, 2 1, 2

2

1, 2

2

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

2

5

3

6

7

9

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

Dr. Ivan Olmos

110

Interredes

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