Vínculos multiacceso: Assert

Post on 13-Jan-2016

28 views 0 download

description

Vers. PIM (4). Tipo (4). Reservado (8). Checksum (16). Dirección codificada de Grupo (variable). Dirección codificada Unicast del origen (variable). Preferencia Métrica (31). R (1). Métrica (32). Vínculos multiacceso: Assert. - PowerPoint PPT Presentation

Transcript of Vínculos multiacceso: Assert

IP Multicast 1999 - grigotti@exa.unicen.edu.ar

1

Vínculos multiacceso: Assert

• Objetivo: Resolver para una entrada en una interfaz multiacceso, el router encargado del reenvío de datagrams multicast

• Formato de frame:

• Objetivo: Resolver para una entrada en una interfaz multiacceso, el router encargado del reenvío de datagrams multicast

• Formato de frame:

Vers.PIM(4)

Tipo(4)

Reservado(8)

Checksum(16)

Dirección codificada de Grupo(variable)

Dirección codificada Unicast del origen(variable)

Preferencia Métrica(31)

R(1)

Métrica(32)

•Dirección de grupo: La del grupo asociado al assert.

•Dirección origen: Dirección del emisor asociado al assert.

•Preferencia métrica: Valor de preferencia asociado al protocolo de ruteo unicast utilizado para determinar métrica.

•Métrica: Al origen. Determinada por el protocolo de ruteo utilizado.

•R: Indica si se refiere a un árbol específico (0) o al compartido (1).

IP Multicast 1999 - grigotti@exa.unicen.edu.ar

2

Vínculos multiacceso: Envío de Assert

• El envío de asserts debe estar limitado por la implementación.

• Al recibirse un datagram multicast por una oif (I) multiacceso de una entrada ( (S,G), (*,G) o (*,*,RP) ).

– Cálculo de métrica (todos unos si no existe ruta al origen).

– Determinación de bit R (Si entrada resultante es (*,G) ).

• Al recibirse un assert por una oif multiacceso.

– Si el router gana la comparación de métricas y se convierte en DF.

• El envío de asserts debe estar limitado por la implementación.

• Al recibirse un datagram multicast por una oif (I) multiacceso de una entrada ( (S,G), (*,G) o (*,*,RP) ).

– Cálculo de métrica (todos unos si no existe ruta al origen).

– Determinación de bit R (Si entrada resultante es (*,G) ).

• Al recibirse un assert por una oif multiacceso.

– Si el router gana la comparación de métricas y se convierte en DF.

IP Multicast 1999 - grigotti@exa.unicen.edu.ar

3

Vínculos multiacceso: Recepción de AssertRecepción a través de una oif:

• Determinar si el router es parte del árbol de distribución

– Bit R = 1, buscar entradas activas (*,G) o (*,*,RP)

– Bit R = 0, buscar entradas activas (S,G), (*,G) o (*,*,RP)

• Determinar si el router está enviando por la interfaz involucrada (oif)

– Comprobar si la interfaz de arribo del assert está en la lista de oifs de la entrada

• Creación de la entrada específica si es necesario

– Creación de una entrada (*,G) si la entrada hallada fue (*,*,RP)

– Creación de una entrada (S,G)RPT=1 si la entrada hallada fue (*,*,RP) o (*,G) y el assert tiene bit R=0

• Evaluación de la métrica recibida

• Acción a tomar

– Router gana (métrica menor)

• Enviar assert por la interfaz, con métrica propia y bit R

– Router pierde

• Eliminar interfaz del conjunto de oifs para la entrada

• Eliminar interfaz de entradas menos específicas si corresponde

Recepción a través de una oif:

• Determinar si el router es parte del árbol de distribución

– Bit R = 1, buscar entradas activas (*,G) o (*,*,RP)

– Bit R = 0, buscar entradas activas (S,G), (*,G) o (*,*,RP)

• Determinar si el router está enviando por la interfaz involucrada (oif)

– Comprobar si la interfaz de arribo del assert está en la lista de oifs de la entrada

• Creación de la entrada específica si es necesario

– Creación de una entrada (*,G) si la entrada hallada fue (*,*,RP)

– Creación de una entrada (S,G)RPT=1 si la entrada hallada fue (*,*,RP) o (*,G) y el assert tiene bit R=0

• Evaluación de la métrica recibida

• Acción a tomar

– Router gana (métrica menor)

• Enviar assert por la interfaz, con métrica propia y bit R

– Router pierde

• Eliminar interfaz del conjunto de oifs para la entrada

• Eliminar interfaz de entradas menos específicas si corresponde

IP Multicast 1999 - grigotti@exa.unicen.edu.ar

4

Vínculos multiacceso: Recepción de AssertRecepción a través de la iif de una entrada:

• Determinar si el router es parte del árbol de distribución

– Bit R = 1, buscar entradas activas (*,G) o (*,*,RP)

– Bit R = 0, buscar entradas activas (S,G)

• Determinar si el router está recibiendo a través de la interfaz involucrada (iif)

– Comprobar si la interfaz de arribo del assert es la iif de la entrada

• Determinar si el emisor del assert es el DF

• Acción a tomar

– Si el emisor es el DF

• Enviar los J/P al DF al emisor del assert en lugar de al anterior router.

• Si cambió el RPF para la entrada, enviar J/P inmediatamente.

• Iniciar assert timer para realizar chequeo RPF unicast.

Recepción a través de la iif de una entrada:

• Determinar si el router es parte del árbol de distribución

– Bit R = 1, buscar entradas activas (*,G) o (*,*,RP)

– Bit R = 0, buscar entradas activas (S,G)

• Determinar si el router está recibiendo a través de la interfaz involucrada (iif)

– Comprobar si la interfaz de arribo del assert es la iif de la entrada

• Determinar si el emisor del assert es el DF

• Acción a tomar

– Si el emisor es el DF

• Enviar los J/P al DF al emisor del assert en lugar de al anterior router.

• Si cambió el RPF para la entrada, enviar J/P inmediatamente.

• Iniciar assert timer para realizar chequeo RPF unicast.

IP Multicast 1999 - grigotti@exa.unicen.edu.ar

5

Envío de datos encapsulados al RP

• Inicialmente un DR encapsula los datagrams multicast y envía al RP

• El RP puede crear un árbol por emisor para el DR.

• En ciertas condiciones, el RP solicita al DR que deje de enviar encapsulado (Register-Stop):

– Recibe Register del DR.

– Ha iniciado un árbol por emisor y ha comenzado a recibir datos por él.

– No tiene downstreams para el grupo.

• Al recibir el Register-Stop, un DR:

– Inicia un timer (S,G), (Register-Supression-Timer); a su fin, vuelve a encapsular al DR.

– Finaliza el envío de datos encapsulados al RP (sólo envía por el árbol especifico si lo hay).

• Inicialmente un DR encapsula los datagrams multicast y envía al RP

• El RP puede crear un árbol por emisor para el DR.

• En ciertas condiciones, el RP solicita al DR que deje de enviar encapsulado (Register-Stop):

– Recibe Register del DR.

– Ha iniciado un árbol por emisor y ha comenzado a recibir datos por él.

– No tiene downstreams para el grupo.

• Al recibir el Register-Stop, un DR:

– Inicia un timer (S,G), (Register-Supression-Timer); a su fin, vuelve a encapsular al DR.

– Finaliza el envío de datos encapsulados al RP (sólo envía por el árbol especifico si lo hay).

IP Multicast 1999 - grigotti@exa.unicen.edu.ar

6

PIM-SM: Register

• Utilizado para enviar datagrams multicast encapsulados al DR

• Formato:

– B: indica si es enviado por un PMBR o por un DR.

– N: indica si el datagram encapsulado es un probe.

• Utilizado para enviar datagrams multicast encapsulados al DR

• Formato:

– B: indica si es enviado por un PMBR o por un DR.

– N: indica si el datagram encapsulado es un probe.

Vers.PIM(4)

Tipo(4)

Reservado(8)

Checksum(16)

Reservado(30)

Paquete de datos Multicast encapsulado(variable)

B(1)

N(1)

IP Multicast 1999 - grigotti@exa.unicen.edu.ar

7

PIM-SM: Register-Stop

• El RP indica al DR que no envía datos encapsulados para un grupo y un emisor determinados.

• Formato:

– Dirección de grupo: El grupo para el cual no se debe encapsular.

– Dirección origen: El emisor para el que no se debe encapsular (todos ceros indica todos los emisores del grupo)

• El RP indica al DR que no envía datos encapsulados para un grupo y un emisor determinados.

• Formato:

– Dirección de grupo: El grupo para el cual no se debe encapsular.

– Dirección origen: El emisor para el que no se debe encapsular (todos ceros indica todos los emisores del grupo)

Vers.PIM(4)

Tipo(4)

Reservado(8)

Checksum(16)

Dirección de grupo codificada(variable)

Dirección (unicast) origen (S) codificada(variable)

IP Multicast 1999 - grigotti@exa.unicen.edu.ar

8

PIM-SM: Dominios, interoperabilidad

• Dominio:

– Conjunto de routers que operan PIM

– Configurados para operar dentro de límites comunes

– Conectado a otros dominios por PMBR

– Conjunto común de RPs, con mapping común (procedimiento de bootstrap)

• Entradas (*,*,RP):

– Representan todos los grupos asociados al RP

– Un datagram (S,G) hará matching con (*,*,RP) si

• No existe entrada (S,G) ni (*,G)

• G está asociado a RP

• PMBR:

– Router que opera PIM y otro protocolo multicast

– Deben enviar al otro dominio todos los datagrams multicast generados internamente (caso de interoperación con protocolos modo denso - DVMRP)

– Deben propagar dentro del dominio los datagrams generados en otros dominios

• Dominio:

– Conjunto de routers que operan PIM

– Configurados para operar dentro de límites comunes

– Conectado a otros dominios por PMBR

– Conjunto común de RPs, con mapping común (procedimiento de bootstrap)

• Entradas (*,*,RP):

– Representan todos los grupos asociados al RP

– Un datagram (S,G) hará matching con (*,*,RP) si

• No existe entrada (S,G) ni (*,G)

• G está asociado a RP

• PMBR:

– Router que opera PIM y otro protocolo multicast

– Deben enviar al otro dominio todos los datagrams multicast generados internamente (caso de interoperación con protocolos modo denso - DVMRP)

– Deben propagar dentro del dominio los datagrams generados en otros dominios

IP Multicast 1999 - grigotti@exa.unicen.edu.ar

9

PIM-SM:Interoperabilidad Difusión de datagrams generados internamente a otros dominios•Un router PMBR inicializa estado para todos los RPs del dominio (*,*,RP)•Envían J/P a los RP (crea árboles de distribución).•Al arribar los datagrams al PMBR, se procesan de acuero al protocolo correspondiente (DVMRP, etc).

R4 R3

R2S1

RP1(G1,G2)

R5 R6

RP2(G3,G4) R8

Unicast a RP

PMBR

R6

PMBR

PMBR

(*,*,RP1)

(*,*,RP1)(*,*,RP1)

(*,*,RP1)

(*,*,RP1)

(S1,G1)

DOMINIO PIM-SM

DOMINIO DVMRP

DOMINIO PIM-SM

S2

Unicast a RP

(S2,G2)

Difusión datagrams

Difusión datagrams

IP Multicast 1999 - grigotti@exa.unicen.edu.ar

10

PIM-SM:Interoperabilidad Difusión de datagrams generados en otros dominiosUn PMBR encapsula y envía Register al RP correspondiente (B=1).El RP almacena para le entrada la dirección del PMBR.Si se recibe un Register de otro PMBR, el RP responde enviando Register-Stop.RP1: Entrada (S1,G1): PMBR=PMBR1

R4 R3

R2S1

RP1(G1,G2)

R5 R6

RP2(G3,G4) R8

Unicast a RP

PMBR1

R6

PMBR

PMBR2

(S1,G1)

DOMINIO PIM-SM

DOMINIO DVMRP

DOMINIO PIM-SM

S2

Unicast a RP

(S1,G1)

S1

Register-Stop

(S1,G1)

IP Multicast 1999 - grigotti@exa.unicen.edu.ar

11

PIM-SM: Encapsulación, detalles

Recepción en un DR de un dg. Multicast desde un host directamente conectado:

• Creación/Modificación de entradas

– No existe entrada (S,G)

• Existe mapping (G en un RP)

• El DR no es RP para G

– Creación de entrada (S,G):

• oif-list: nula o copiada de (*,G) o (*,*,RP) si existen

• interfaz de arribo del datagram excluida de oif-list

• Envío de un J/P (S,G) (RTP=1) si existe entrada (*,G) o (*,*,RP)

• Register-Supression-Timer de la entrada: off

– Existe entrada (S,G)

• Reactivar el timer para vigencia de la entrada.

• Envío de datos

– Si Register-Supression-Timer en off, encapsular paquete y enviar al RP

– Si oif-list de (S,G) no nula, reenviar por las interfaces de salida

Recepción en un DR de un dg. Multicast desde un host directamente conectado:

• Creación/Modificación de entradas

– No existe entrada (S,G)

• Existe mapping (G en un RP)

• El DR no es RP para G

– Creación de entrada (S,G):

• oif-list: nula o copiada de (*,G) o (*,*,RP) si existen

• interfaz de arribo del datagram excluida de oif-list

• Envío de un J/P (S,G) (RTP=1) si existe entrada (*,G) o (*,*,RP)

• Register-Supression-Timer de la entrada: off

– Existe entrada (S,G)

• Reactivar el timer para vigencia de la entrada.

• Envío de datos

– Si Register-Supression-Timer en off, encapsular paquete y enviar al RP

– Si oif-list de (S,G) no nula, reenviar por las interfaces de salida

IP Multicast 1999 - grigotti@exa.unicen.edu.ar

12

PIM-SM: Recepción de Registers

Recepción en un RP de un dg. Multicast encapsulado en un Register:

• Existe entrada (S,G) con SPT=0 y paquete no nulo:

– Enviar paquete

– Dejar SPT = 0

• Existe entrada (S,G) con SPT=1 y paquete no nulo:

– Descartar paquete

– Enviar Register-Stop

• No existe (S,G) pero existe (*,G) y paquete no nulo:

– Enviar el paquete

• No existe (S,G) ni (*,G) pero sí (*,*,RP) y paquete no nulo:

– Se crea entrada (S,G) o (*,G) copiando oiflist de (*,*,RP)

– Se envía el paquete

• No existe entrada

– Se descarta el paquete

– Se envía Register-Stop

Recepción en un RP de un dg. Multicast encapsulado en un Register:

• Existe entrada (S,G) con SPT=0 y paquete no nulo:

– Enviar paquete

– Dejar SPT = 0

• Existe entrada (S,G) con SPT=1 y paquete no nulo:

– Descartar paquete

– Enviar Register-Stop

• No existe (S,G) pero existe (*,G) y paquete no nulo:

– Enviar el paquete

• No existe (S,G) ni (*,G) pero sí (*,*,RP) y paquete no nulo:

– Se crea entrada (S,G) o (*,G) copiando oiflist de (*,*,RP)

– Se envía el paquete

• No existe entrada

– Se descarta el paquete

– Se envía Register-Stop

IP Multicast 1999 - grigotti@exa.unicen.edu.ar

13

PIM-SM: Recepción de Registers

Recepción en un RP de un dg. Multicast encapsulado en un Register:

• Register con Border Bit = 1

– Existe entrada (*,G) o (*,*,RP) y no existe entrada (S,G)

• Crear entrada (S,G) con

– dirección de PMBR = Dirección origen Register y SPT = 0

• Enviar Join a S

• Enviar datagram según oiflist

– Existe entrada (S,G) con SPT = 0 y dirección PMBR coincide

• Reenviar datagram

– Existe entrada (S,G) con SPT = 1 o dirección PMBR no coincide

• Descartar datagram

• Enviar Register-Stop al PMBR que emitió el Register

Recepción en un RP de un dg. Multicast encapsulado en un Register:

• Register con Border Bit = 1

– Existe entrada (*,G) o (*,*,RP) y no existe entrada (S,G)

• Crear entrada (S,G) con

– dirección de PMBR = Dirección origen Register y SPT = 0

• Enviar Join a S

• Enviar datagram según oiflist

– Existe entrada (S,G) con SPT = 0 y dirección PMBR coincide

• Reenviar datagram

– Existe entrada (S,G) con SPT = 1 o dirección PMBR no coincide

• Descartar datagram

• Enviar Register-Stop al PMBR que emitió el Register