Está en la página 1de 96

Version 26/04/15

Computer Networks II

application

Dynamic routing
transport

network

link and multicast


physical
Contenidos
Introduccin
La capa de red
Algoritmos de encaminamiento
Vector distancia
Estado de enlace
Interconectividad

Computer Networks II 2
Introduccin
El objetivo principal de la capa de red es el
encaminamiento, es decir, llevar paquetes desde
el origen al destino a travs de la subred.
La capa de red debe tener informacin de la
topologa de la subred para poder elegir la ruta
ms adecuada.
La capa de red tambin se encarga de la
interconexin de redes heterogneas formando
inter-redes.

Computer Networks II 3
La capa de red
En TCP/IP la capa de red ofrece nicamente un servicio de
conmutacin de paquetes, de almacenamiento y reenvo y
no orientado a conexin.
La interfaz de la capa de red TCP/IP se limita bsicamente a las
primitivas send_packet() y receive_packet().

Computer Networks II 4
Servicio NO orientado a conexin
Los paquetes se colocan en la subred y se encaminan y transportan hasta
el destino de forma individual. Es perfectamente posible que paquetes
consecutivos utilicen rutas distintas.
Una subred de este tipo se conoce como subred de datagramas.

1
4

GW

3
2

Computer Networks II 5
Tabla de encaminamiento
Cada encaminador posee una tabla de encaminamiento.
La tabla indica qu interfaz de salida elegir para llegar a cada uno
de los encaminadores de la subred.

B
C

E
D

El algoritmo que gestiona estas tablas y toma decisiones sobre las rutas
se llama algoritmo de encaminamiento.

Computer Networks II 6
Algoritmos de encaminamiento

Cada vez que llega un paquete, el encaminador:


almacena el paquete.
comprueba la suma de verificacin.
elige una interfaz de salida en base a la tabla de
encaminamiento y la direccin destino del
paquete.
reenva el paquete por la interfaz elegida.

Computer Networks II 7
Algoritmos de encaminamiento

Un algoritmo de encaminamiento debera ser:


exacto
sencillo
robusto (tolerante a fallos)
estable
equitativo
ptimo

Computer Networks II 8
Algoritmos de encaminamiento

No adaptativos. Se basan en informacin obtenida y cargada de


antemano en los encaminadores. Se conoce como encaminamiento
esttico.
Ruta ms corta

Inundacin

Adaptativos. Se basan en mediciones y estimaciones del trfico.


Pueden percibir cambios en la topologa. Esta informacin puede ser
local, de los encaminadores vecinos o de todos los encaminadores
de la subred. Son algoritmos de encaminamiento dinmico.

Computer Networks II 9
Algoritmos de encaminamiento

Esttico
por Ruta ms corta
Inundacin
Dinmico
por Vector Distancia
por Estado del Enlace
Jerrquico
por Difusin
Multicast

Computer Networks II 10
Principio de Optimizacin
Si el encaminador J est en la ruta ptima desde el encaminador I hasta el
encaminador K, entonces la ruta ptima desde J a K tambin est en la
misma ruta, independientemente de la topologa y el trfico de la red.
El grupo de rutas ptimas desde todos los encaminadores a un destino
dado forman un rbol, con raz en el destino, llamado rbol sumidero.
En el siguiente ejemplo, la mtrica utilizada es el nmero de saltos:

subred rbol sumidero


[de: A.S. Tanenbaum, Redes de Computadoras]

Computer Networks II 11
Encaminamiento por la ruta ms corta

1. Se toma un grafo ponderado y normalmente no dirigido, en el que los nodos


son encaminadores y los arcos son lneas de comunicaciones (enlaces)
2. Para determinar la lnea de salida, el algoritmo busca la ruta ms corta al
destino.
3. Cada nodo se etiqueta con la distancia al nodo origen a travs de la mejor
ruta. En principio las etiquetas son tentativas, cuando se comprueba que
son la mejor ruta posible se convierten en etiquetas permanentes.

Computer Networks II 12
Encaminamiento por la ruta ms corta

[de: A.S. Tanenbaum, Redes de Computadoras]

Computer Networks II 13
Encaminamiento por la ruta ms corta

Algoritmo de Dijkstra para calcular la ruta ms corta en un grafo:

#define MAX_NODES 1024 /* maximum number of nodes */


#define INFINITY 1000000000 /* a number larger than every maximum path */
int n, dist[MAX_NODES][MAX_NODES]; /* dist[i][j] is the distance from i to j */
void shortest_path(int s, int t, int path[])
{
struct state { /* the path being worked on */
int predecessor; /* previous node */
int length; /* length from source to this node */
enum {permanent, tentative} label; /* label state */
} state[MAX_NODES];
int i, k, min;
struct state *p;
for (p = &state[0]; p < &state[n]; p++) { /* initialize state */
p->predecessor = -1;
p->length = INFINITY;
p->label = tentative;
}
state[t].length = 0; state[t].label = permanent;

Computer Networks II 14
Encaminamiento por la ruta ms corta

k = t; /* k is the initial working node */


do { /* Is there a better path from k? */
for (i = 0; i < n; i++) /* this graph has n nodes */
if (dist[k][i] != 0 && state[i].label == tentative) {
if (state[k].length + dist[k][i] < state[i].length) {
state[i].predecessor = k;
state[i].length = state[k].length + dist[k][i];
}
}
/* Find the tentatively labeled node with the smallest label. */
k = 0; min = INFINITY;
for (i = 0; i < n; i++)
if (state[i].label == tentative && state[i].length < min) {
min = state[i].length;
k = i;
}
state[k].label = permanent;
} while (k != s);

/* Copy the path into the output array. */


i = 0; k = s;
do {path[i++] = k; k = state[k].predecessor; } while (k >= 0);
}

Computer Networks II 15
Encaminamiento por la ruta ms corta

Ejercicio

Tomando como base el cdigo anterior, escribe una funcin


shortest_path()que calcule la ruta ms corta entre dos nodos de
un grafo, y utilzala en un programa.

Computer Networks II 16
Inundacin
Cada paquete que llega se reenva por todas las lneas de salida
excepto por la que lleg.
Muy eficaz pero muy ineficiente. Genera una gran cantidad de
paquetes duplicados.
Los paquetes seguiran reenvindose indefinidamente de un
encaminador a otro. Soluciones:
Los paquetes deben incorporar un contador. Se descartan al llegar a 0.
Cada encaminador lleva un registro de los paquetes que ha procesado.
La inundacin selectiva es una variante que tiene en cuenta rasgos de la
topologa a nivel global.
A pesar de su ineficiencia se utiliza en algunas aplicaciones muy concretas

Computer Networks II 17
Protocolos de encaminamiento
Los protocolos de encaminamiento permiten a los encaminadores informar
a sus vecinos sobre el estado de la red y de sus cambios.
Pueden utilizar distintas mtricas para calcular la ruta ms corta hacia
el destino. A veces, utilizan una combinacin de varias.
nmero de saltos
distancia geogrfica
retardo medio
tamao de las colas de salida
ancho de banda de la lnea
coste del uso de la lnea
...

Computer Networks II 18
Encaminamiento por vector distancia

Cada encaminador mantiene un tabla que indica la mejor distancia


conocida a cada nodo de la subred y la lnea de salida.
Las tablas se actualizan intercambiando informacin entre
encaminadores.
El encaminador conoce o puede calcular la distancia a sus vecinos.
Problemas:
Convergencia lenta: Las buenas noticias se propagan rpido pero las
malas tardan muchsimo. Esto se conoce como el problema de la
cuenta hasta infinito.
No toma en cuenta el ancho de banda al elegir la ruta.

Computer Networks II 19
Encaminamiento por vector distancia

[de: A.S. Tanenbaum, Redes de Computadoras]

Computer Networks II 20
Encaminamiento por vector distancia

[de: B.A. Forouzan, Transmisin de datos y Redes de Comunicaciones]

Computer Networks II 21
Encaminamiento por vector distancia
inicializacin

[de: B.A. Forouzan, Transmisin de datos y Redes de Comunicaciones]

Computer Networks II 22
Encaminamiento por vector distancia
actualizacin

[de: B.A. Forouzan, Transmisin de datos y Redes de Comunicaciones]

Computer Networks II 23
Encaminamiento por vector distancia
cuenta a infinito

[de: B.A. Forouzan, Transmisin de datos y Redes de Comunicaciones]


Definicin de infinito.
Soluciones

Horizonte dividido.
B no enva informacin a A si vino de A.
Horizonte dividido y retorno envenenado.
Para que A sepa que B tiene informacin sobre X, la enva pero con
coste .

Computer Networks II 24
RIP (Routing Information Protocol)

Es un protocolo de vector distancia.


Infinito = 16.
Mtrica es el contador de saltos.

[de: B.A. Forouzan, Transmisin de datos y Redes de Comunicaciones]

Computer Networks II 25
Encaminamiento por estado del enlace

Cada encaminador debe:


Descubrir a sus vecinos y conocer sus direcciones de red
Medir el coste para cada vecino
Construir un paquete especial con todo lo aprendido
Enviar ese paquete a todos los encaminadores
Calcular la ruta ms corta a todos los encaminadores
El encaminador averigua la identidad de sus vecinos con un
paquete HELLO. La identificacin es globalmente nica.
El encaminador estima el retardo a sus vecinos enviando un
paquete ECHO y midiendo el tiempo de retorno.

Computer Networks II 26
Encaminamiento por estado del enlace

[de: B.A. Forouzan, Transmisin de datos y Redes de Comunicaciones]

Computer Networks II 27
Encaminamiento por estado del enlace

[de: B.A. Forouzan, Transmisin de datos y Redes de Comunicaciones]

Computer Networks II 28
Encaminamiento por estado del enlace

El paquete de estado del enlace contiene:


identidad del emisor
nmero de secuencia
edad
lista de vecinos

[de: A.S. Tanenbaum, Redes de Computadoras]

Computer Networks II 29
Encaminamiento por estado del enlace

Medicin del coste, mediante el paquete HELLO:


Tener en cuenta la carga: el temporizador se inicia al poner el paquete en la
cola.
No tenerla en cuenta: el temporizador se inicia cuando el paquete llega al
frente de la cola.

A
C

B
D

Tener en cuenta el retardo puede provocar que las tablas de


encaminamiento oscilen entre varias rutas posibles.

Computer Networks II 30
Encaminamiento por estado del enlace

Distribucin de la informacin de encaminamiento.


Los encaminadores se intercambian la informacin que han
aprendido (el estado del enlace) por medio de paquetes especiales.
Se utiliza una inundacin controlada para distribuir esos paquetes
El paquete incluye un nmero de secuencia y una edad, de modo que
pueden prevenirse problemas debidos a:
cadas de los encaminadores
corrupcin de los nmeros de secuencia
Estos envos son confirmados

Computer Networks II 31
Encaminamiento por estado del enlace

Conjunto de paquetes de estado de enlace para B (un paquete por fila):

[de: A.S. Tanenbaum, Redes de Computadoras]

El paquete 3 lleg por EAB y tambin por EFB. Slo se debe


reenviar a C, pero se debe confirmar a A y F.
Los paquetes no se retransmiten inmediatamente, se espera un
momento por si llega otro paquete del mismo origen.

Computer Networks II 32
Encaminamiento por estado del enlace

Una vez distribuida la informacin de los enlaces.


Construye el grafo de la subred.
Se calcula la ruta ms corta a cada encaminador.
Se actualizan las tablas de encaminamiento.
El protocolo OSPF (Open Shortest Path First), que se usa
actualmente, usa un algoritmo de estado de enlace.

Computer Networks II 33
Encaminamiento Jerrquico
Problema: El tamao de las tablas de encaminamiento
crece de forma lineal con la subred y eso puede plantear
problemas serios.
El encaminamiento jerrquico intenta solventar este
problema.
La subred se divide en regiones, y dentro de cada regin
se utiliza un encaminamiento habitual.
Los encaminadores de una regin saben como llegar a
otras regiones pero no conocen nada de sus topologas.

Computer Networks II 34
Encaminamiento Jerrquico

[de: A.S. Tanenbaum, Redes de Computadoras]

Computer Networks II 35
Encaminamiento por difusin
Objetivo: Enviar un paquete a un conjunto arbitrario de destinos.
Posibilidades:
El origen enva una copia a cada destino.
Inundacin
Encaminamiento multidestino. El paquete contiene una lista de destinos y
los encaminadores hacen copias del paquete en las lneas apropiadas.
Encaminar a travs del rbol sumidero del encaminador origen. Puede
llegar a todos los encaminadores sin desperdiciar ancho de banda, pero
todos los encaminadores deben conocer todos los rboles sumidero.
Reenvo por ruta invertida. El paquete se reenva slo si lleg por la mejor
ruta de salida.

Computer Networks II 36
Encaminamiento por difusin
Reenvo por ruta invertida

rbol sumidero reenvo por ruta


subred para 'I' invertida

[de: A.S. Tanenbaum, Redes de Computadoras]

Computer Networks II 37
Encaminamiento multicast
Objetivo: Enviar un paquete a un conjunto de destinos,
comparativamente pequeo, y slo a ellos.
El encaminamiento multicast requiere administracin de grupos:
crear, destruir grupos, aadir y eliminar hosts a los grupos, etc.
Los encaminadores deben saber a qu grupos pertenecen sus hosts.
Los encaminadores propagan esa informacin a sus vecinos
recursivamente.
Cuando un encaminador recibe un paquete multicast de uno de sus
hosts examina su rbol de expansin y lo recorta.

Computer Networks II 38
Encaminamiento multicast
Recorte del rbol de expansin conforme a los grupos
A A

subred rbol de expansin para A

A A

rbol recortado para el grupo 1 rbol recortado para el grupo 2

[de: A.S. Tanenbaum, Redes de Computadoras]

Computer Networks II 39
Encaminamiento multicast
Problemas en el clculo de rboles recortados.
Se deben calcular tantos rboles como miembros haya en el grupo
Esto debe hacerse para cada grupo
Si se tienen g grupos y m miembros por grupo se deben calcular un total
de g x m rboles recortados, lo que puede suponer mucha sobrecarga
en trminos de memoria y cmputo.
Como alternativa se pueden utilizar rboles de ncleo (core-based trees).
Se trata de calcular un slo rbol por grupo, que tiene la raz en el ncleo
(un nodo aproximadamente en el centro del grupo).
Para enviar un paquete multicast, el host lo enva al ncleo, que es quin
hace la multidifusin a travs del rbol de ncleo.

Computer Networks II 40
Interconectividad
Otro de los cometidos importantes de la capa de red es la
interconexin de redes heterogneas para formar
interredes
Existen muchas redes diferentes con protocolos diferentes
y todo apunta a que seguir as en el futuro.
Objetivo: Permitir que los usuarios de redes diferentes
puedan comunicarse y acceder a los datos de los dems.
Enviar paquetes de una red a otro diferente puede llegar a
ser muy complicado.

Computer Networks II 41
Interconectividad

[de: A.S. Tanenbaum, Redes de Computadoras]

Computer Networks II 42
Interconectividad

Problemas de interconectividad
Protocolo: IP, IPX, SNA, ATM, AppleTalk
Direccionamiento: plano / jerrquico
Tamao de paquete
Control de flujo
Control de congestin
Seguridad: mecanismos de cifrado
Servicio: Orientado a conexin / No orientado a conexin
Multidifusin

Computer Networks II 43
Interconectividad

La interconexin de redes puede hacerse a varios niveles:


fsico: repetidores, concentradores
enlace: puentes, conmutadores
red: encaminadores multiprotocolo. ej: IP ATM
transporte: pasarelas de transporte. ej: TCP SNA
aplicacin: pasarelas de aplicacin.

paquete
encabezado
terminador
[de: A.S. Tanenbaum, Redes de Computadoras]

Computer Networks II 44
Interconectividad

Interconexin orientada a la conexin


(concatenacin de circuitos virtuales)
Se construyen circuitos virtuales a lo largo de cada subred, de puerta de
enlace a puerta de enlace

[de: A.S. Tanenbaum, Redes de Computadoras]

Computer Networks II 45
Interconectividad

Interconexin no orientada a la conexin


Los paquetes de una conexin no tienen porqu pasar a travs de
las mismas puertas de enlace.
Las conversiones entre protocolos slo son factibles cuando se
son variaciones sencillas.
La traduccin de direcciones entre redes diferentes tampoco es
sencilla porque pueden tener nociones distintas de lo qu es
direccionable

Computer Networks II 46
Interconectividad

[de: A.S. Tanenbaum, Redes de Computadoras]

Computer Networks II 47
Interconectividad
Tneles
Cuando origen y destino utilizan el mismo tipo de red se
puede fabricar un tnel virtual a travs de las redes
intermedias.

[de: A.S. Tanenbaum, Redes de Computadoras]

Computer Networks II 48
Interconectividad
Encaminamiento inter-red
Cada subred independiente se llama Sistema Autnomo (AS)
Cuando hay varios AS interconectados se distingue entre dos niveles de
encaminamiento:

Protocolos de Pasarela Interior: IGP (Interior Gateway Protocol)


Es el que se utiliza dentro de la subred (AS)

Protocolos de Pasarela Exterior:


EGP (External Gateway Protocol)
Es el que se utiliza para enrutar
paquetes entre subredes diferentes

[de: A.S. Tanenbaum, Redes de Computadoras]

Computer Networks II 49
Interconectividad
Fragmentacin
Lmites en el tamao de los paquetes: hardware, SO, protocolo,
estndar, sobrecarga por errores, ocupacin del canal.
Hay gran variedad de tamaos: desde 48B (ATM) hasta 64KB (IP).
Problema: Qu ocurre cuando un paquete de la red A es demasiado
grande para la red B?
Se enruta por otro sitio. Y si el destino est en esa red?
Se negocia el tamao mximo. Por qu ruta?
Se fragmenta el paquete original. Y cuando se re-ensambla?

Computer Networks II 50
Interconectividad
Fragmentacin
Problemas:
Cada fragmento debe ir numerado y debe haber un marca que indique cul
es el ltimo.
Qu pasa si se pierde un fragmento?
Fragmentacin transparente. Al salir de la subred, se monta el paquete.
Esto obliga a que todos los fragmentos sigan la misma ruta.
El gateway debe almacenar los fragmentos hasta que lleguen todos.
Re-ensamblado en destino.
Los fragmentos pueden seguir rutas diferentes y fragmentarse a su vez.
Las retransmisiones se pueden fragmentar de modo diferente.

Computer Networks II 51
Interconectividad
Fragmentacin

paquete original

fragmentos para
MTU=8 bytes

fragmentos para
MTU=5 bytes

[de: A.S. Tanenbaum, Redes de Computadoras]

Computer Networks II 52
Referencias
Se recomienda repasar y profundizar el contenido de este tema utilizando (al
menos) la siguiente bibliografa bsica:
B.F. Transmisin de datos y redes de comunicaciones, cuarta edicin 2007.
Seccin 22.3

Computer Networks II 53
Versin 26/04/15

:: Redes ::

aplicacin

transporte

red
IP multicast
Redes : : IP multicast

enlace

fsica

David Villa <David.Villa@uclm.es> :: http://www.inf-cr.uclm.es/www/dvilla/ 1


Contenidos

Introduccin
Grupos Multicast
IGMP
Enrutamiento Multicast
Redes : : IP multicast

David Villa <David.Villa@uclm.es> :: http://www.inf-cr.uclm.es/www/dvilla/ 2


Introduccin

El envo de datagramas en IP es de dos tipos:


Unicast. Un origen a un solo destino.
Broadcast. Un origen a todos los hosts de la sub-red. Los
encaminadores no permiten que estos datagramas salgan de la
sub-red
Algunos tipos de aplicaciones necesitan un mtodo eficiente
para enviar mensajes a un grupo de nodos en cualquier parte
de la red.
Se trata de evitar que el origen tenga que enviar una copia del
mensaje a cada destino.
Redes : : IP multicast

David Villa <David.Villa@uclm.es> :: http://www.inf-cr.uclm.es/www/dvilla/ 3


Grupos multicast

IP multicast permite el envo de datagramas a un grupo concreto


de nodos.
El grupo completo de nodos se identifica por una nica
direccin IP (una direccin multicast)
Los grupos son dinmicos, los nodos pueden entrar y salir de
un grupo en cualquier momento. Un nodo puede ser miembro de
varios grupos de forma simultnea.
No hay limitaciones en el nmero de nodos que pueden estar un
grupo.
Redes : : IP multicast

David Villa <David.Villa@uclm.es> :: http://www.inf-cr.uclm.es/www/dvilla/ 4


Grupos multicast

Un nodo puede enviar a un grupo sin pertenecer a l.


Los grupos pueden ser permanentes o temporales.
Los grupos permanentes tiene direccin IP fijas asignadas
Los grupos temporales existen slo mientras tengan
miembros.
Redes : : IP multicast

David Villa <David.Villa@uclm.es> :: http://www.inf-cr.uclm.es/www/dvilla/ 5


Direcciones multicast

Todas las direcciones multicast son de clase D.


Cada direccin identifica un grupo multicast: 228 grupos
Algunas direcciones multicast especiales:

224.0.0.0 - Reservado

224.0.0.1 - Todos los hosts de esta red

224.0.0.2 - Todos los enrutadores de esta red

224.0.0.5 - Todos los enrutadores OSPF

224.0.0.11 - Todos los agentes mviles
Redes : : IP multicast

Nota
Lista
Lista de
de direcciones
direcciones IP
IP multicast
multicast asignadas
asignadas estticamente:
estticamente:
http://www.iana.org/assignments/multicast-addresses
http://www.iana.org/assignments/multicast-addresses

David Villa <David.Villa@uclm.es> :: http://www.inf-cr.uclm.es/www/dvilla/ 6


Envo de paquetes multicast

El envo de datagramas IP multicast a otras redes lo realizan


enrutadores multicast. Pueden utilizarse enrutadores
unicast/multicast o se puede usar otros especficos.
Operacin de envo:
Un nodo transmite un paquete IP multicast (en una trama Ethernet
multicast), llegando a todos los miembros del grupo en la sub-red.
Los enrutadores de la sub-red son responsables de hacer llegar ese
paquete a todas las redes en las que haya miembros de ese grupo.
En las redes distantes, el enrutador debe encapsular el paquete sobre una
trama multicast para que llegue a todos los nodos suscritos al grupo.
Redes : : IP multicast

David Villa <David.Villa@uclm.es> :: http://www.inf-cr.uclm.es/www/dvilla/ 7


Multicast en el nivel de enlace

En la LAN, los paquetes IP multicast se encapsulan en tramas muticast.


La direccin fsica multicast se construye a partir de un patrn de 25 bits
ms los 23 bits de la direccin IP del datagrama

IP clase D: 32 bits
23 bits

1110

01:00:5E:0

Ethernet: 48 bits
Redes : : IP multicast

En una WAN donde raramente se soporta multicast, el datagrama multicast


se encapsula en un datagrama unicast (tunneling)

David Villa <David.Villa@uclm.es> :: http://www.inf-cr.uclm.es/www/dvilla/ 8


Ventajas y desventajas

Ventajas
Se ahorra ancho de banda
Disminuye la carga de los servidores
Desventajas
Distribucin no confiable de los paquetes. No se puede usar TCP
Duplicacin de paquetes, debida a errores de enrutamiento
Congestin. Las aplicaciones multicast no pueden implementar un
mecanismo de control como el de TCP.
Redes : : IP multicast

David Villa <David.Villa@uclm.es> :: http://www.inf-cr.uclm.es/www/dvilla/ 9


Protocolo IGMP (Internet Group Management Protocol)

Es un protocolo especfico para la gestin de grupos multicast.


Los nodos de una red local lo utilizan para notificar a los enrutadores multicast
su entrada y salida de los grupos
Formato del mensaje IGMP:

0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1

tiempo mximo
tipo checksum
de respuesta

direccin del grupo


Redes : : IP multicast

tipo: a) pregunta general o especial (0x11), b) informe de membresa (0x16) y


c) salida (0x17)
tiempo mximo: un valor tiempo (en decenas de segundos) en el que una
peticin ser respondida.

David Villa <David.Villa@uclm.es> :: http://www.inf-cr.uclm.es/www/dvilla/ 10


Protocolo IGMP

Formato del mensaje IGMP: tipo:


0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
a) pregunta general o
tiempo mximo
especial (0x11),
tipo checksum
de respuesta b) informe de
direccin del grupo membresa (0x16)
c) salida (0x17)

tiempo mximo: un valor tiempo (en decenas de segundos) en el que una


peticin ser respondida.
Redes : : IP multicast

Encapsulacin:
cabecera datos
IGMP IGMP
cabecera IP
TTL:1 rea de datos IP
cabecera terminador
de trama rea de datos de la trama de la trama

David Villa <David.Villa@uclm.es> :: http://www.inf-cr.uclm.es/www/dvilla/ 11


Protocolo IGMP :: operacin

Los enrutadores multicast utilizan IGMP para aprender las


direcciones de los grupos con miembros en la sub-red
Un enrutador multicast mantiene una lista de grupos.
Cuando un nodo quiere entrar en un grupo enva un paquete de
peticin de suscripcin. Si el nodo sabe que hay otros miembros
activos no enva nada.
Redes : : IP multicast

peticin para entrar en el grupo

0x16 0
direccin del grupo

host o enrutador

David Villa <David.Villa@uclm.es> :: http://www.inf-cr.uclm.es/www/dvilla/ 12


Protocolo IGMP :: salir de un grupo

Cuando un nodo quiere dejar un grupo, enva un mensaje de salida del


grupo a 224.0.0.2 (todos los enrutadores multicast de la sub-red)
Cuando el enrutador interrogador recibe un mensaje de salida enva
un mensaje de pertenencia a ese grupo para averiguar si queda algn
nodo ms, antes de abandonarlo l mismo.

peticin para salir del grupo

0x17 0
direccin del grupo
Redes : : IP multicast

comprobacin especial de membresa

0x11 100
direccin del grupo

David Villa <David.Villa@uclm.es> :: http://www.inf-cr.uclm.es/www/dvilla/ 13


Protocolo IGMP :: mantenimiento de grupos

Un enrutador (el interrogador) enva peridicamente mensajes IGMP de


pertenencia a grupos a la direccin 224.0.0.1. (todos los nodos mcast)
Cuando un nodo recibe ese paquete inicia un temporizador aleatorio para
cada uno de los grupos a los que pertenece.
Cuando el temporizador expira, enva un mensaje de pertenencia.
Si el enrutador no recibe ningn mensaje de pertenencia despus de ese
tiempo, elimina a su vez su suscripcin al grupo.
Redes : : IP multicast

comprobacin general de membresa

0x11 100
0.0.0.0

David Villa <David.Villa@uclm.es> :: http://www.inf-cr.uclm.es/www/dvilla/ 14


Enrutamiento Multicast

Diferencias con el enrutamiento unicast.


Entra un solo datagrama pero puede ser necesario generar copias
que saldrn por varios interfaces.
La tabla de enrutamiento es ms compleja y ms costosa de
mantener.
El datagrama unicast se enruta a travs de un grafo, mientras que
el multicast se enruta a travs de un rbol.
Hay dos clases de rboles
rbol con raz en el origen del paquete
Redes : : IP multicast

rbol compartido

David Villa <David.Villa@uclm.es> :: http://www.inf-cr.uclm.es/www/dvilla/ 15


Enrutamiento Multicast :: rboles

rbol de ncleo

rbol con raz en el origen


Redes : : IP multicast

David Villa <David.Villa@uclm.es> :: http://www.inf-cr.uclm.es/www/dvilla/ 16


Enrutamiento Multicast :: rboles

Tipos de rboles
bidireccionales.
unidireccionales.
Redes : : IP multicast

rbol de ncleo bidireccional

David Villa <David.Villa@uclm.es> :: http://www.inf-cr.uclm.es/www/dvilla/ 17


Enrutamiento Multicast :: rboles

Tipos de rboles
bidireccionales.
unidireccionales.

rbol de ncleo bidireccional

rbol de ncleo unidireccional


Redes : : IP multicast

David Villa <David.Villa@uclm.es> :: http://www.inf-cr.uclm.es/www/dvilla/ 18


Enrutamiento Multicast

La mayora de los protocolos de enrutamiento multicast utilizan la


tcnica RPF (Reverse Path Fordwarding), Reenvo por Ruta
Inversa
La informacin de enrutamiento se puede obtener de la tabla de
enrutamiento unicast o usar una especifica, como DVMRP
(Distance Vector Multiple Routing Protocol)
La transmisin multicast se puede limitar de dos modos:
Con un umbral TTL

Utilizando direcciones con el prefijo 239.0.0.0/8 que no se


transmiten fuera de una red corporativa
Redes : : IP multicast

David Villa <David.Villa@uclm.es> :: http://www.inf-cr.uclm.es/www/dvilla/ 19


Enrutamiento Multicast

Tipos de protocolos:
de modo denso (DVMRP y PIM-DM): Asumen que en cada red
existe, al menos, un receptor activo en cada grupo
de modo disperso (PIM-SM y CBT): En este caso, se asume que la
mayora de las redes no tiene ningn receptor para los grupos
activos.
de estado de enlace (MOSPF): Es como los protocolos de modo
denso, pero el mtodo de actualizacin de las tablas est basado en
OSPF.
Redes : : IP multicast

David Villa <David.Villa@uclm.es> :: http://www.inf-cr.uclm.es/www/dvilla/ 20


Enrutamiento Multicast :: Protocolos de modo denso

Utilizan la inundacin y poda de ramas en la transmisin de


paquetes a un grupo.
Pasado un tiempo, un enrutador vuelve a enviar paquetes
multicast de un grupo podado.
Los enrutadores que han enviado un mensaje de poda, y
desean volver a recibir paquetes del grupo podado, envan un
mensaje injerto
Utilizan rboles con raz en el origen.
Redes : : IP multicast

David Villa <David.Villa@uclm.es> :: http://www.inf-cr.uclm.es/www/dvilla/ 21


Enrutamiento Multicast :: Protocolos de modo disperso

Usan rboles de ncleo.


Los enrutadores suponen que, por defecto, no ningn host interesado
en ningn grupo multicast.
Cuando un enrutador tiene un nodo que pertenece a un grupo, enva
una solicitud al enrutador siguiente con destino en la raz del rbol del
grupo.
Cuando un enrutador no tiene receptores de un grupo concreto, enva
un mensaje de poda al siguiente enrutador hacia la raz del rbol de
ese grupo.
Redes : : IP multicast

David Villa <David.Villa@uclm.es> :: http://www.inf-cr.uclm.es/www/dvilla/ 22


Referencias

Se recomienda repasar y profundizar el contenido de este tema utilizando (al


menos) la siguiente bibliografa bsica:
B.F. Transmisin de datos y redes de comunicaciones, cuarta edicin 2007.
Seccin 21.3 y 22.4.
Redes : : IP multicast

David Villa <David.Villa@uclm.es> :: http://www.inf-cr.uclm.es/www/dvilla/ 23