IGMP - PowerPoint PPT Presentation

About This Presentation
Title:

IGMP

Description:

Reacci n m s r pida de un router al quedar sin hosts interesados en ... propagar informaci n de pertenencia a grupos entre hosts y routers y routers entre s ... – PowerPoint PPT presentation

Number of Views:149
Avg rating:3.0/5.0
Slides: 20
Provided by: guillerm91
Category:
Tags: igmp | propagar

less

Transcript and Presenter's Notes

Title: IGMP


1
IGMP
  • Host Extensions for IP Multicasting, RFC 1112,
    Agosto 1989. Define
  • Modificaciones en los hosts.
  • Niveles de conformance.
  • IGMPv1.
  • Internet Group Management Protocol, Version 2,
    RFC 2236, Noviembre 1997. Agrega
  • Mecanismos para mejorar la eficiencia
  • Control de la información de control emitida por
    los hosts.
  • Reacción más rápida de un router al quedar sin
    hosts interesados en recibir info para un grupo.
  • Mecanismo de elección de querier en redes
    multiacceso.
  • Internet Group Management Protocol, Version 3,
    draft-ietf-idmr-igmp-v3-00.txt, Noviembre 1997.
    Agrega
  • Capacidad para que las aplicaciones incluyan o
    excluyan S de los grupos.
  • Un API correspondiente.

2
Multicast requerimientos en los hosts
  • Tipos de compatibilidad de los hosts
  • Conformance a nivel 0 no soporta multicast
  • Conformance a nivel 1 soporta envío multicast
  • Conformance a nivel 2 soporta envío y recepción
    multicast
  • Extensiones necesarias
  • Interface de servicio IP
  • Módulo IP
  • Interface servicio módulo de red local
  • Módulo de red local

3
Multicastrequerimientos en los hosts
  • Extensiones para envío
  • Interface del servicio IP
  • Se utiliza el send normal con dirección
    multicast (niveles 1 y 2)
  • Debe permitir especificar TTL (niveles 1 y 2)
  • Para hosts multihomed debe poder especificarse la
    interface (niveles 1 y 2)
  • Debe poder especificarse si se desea loopback de
    multicasts (en caso de que el host sea miembro de
    un grupo al que envía) (sólo nivel 2)
  • Módulo IP
  • Debe reconocer direcciones multicast
  • En función de lo especificado vía interface,
  • no realizar loopbacks
  • Interface del Módulo de red sin cambios
  • Módulo de red
  • Mapeo de direcciones multicast IP a direcciones
    multicast de la red
  • (en caso de Ethernet, dir Eth multicast con
    los 23 últimos bits iguales a
  • dirección IP)

Algoritmo de envío no multicast if
dir_IP_destino es local enviar local a
dir_IP_destino else enviar local a
RouterTo(dir_IP_destin0) Algoritmo de envío
multicast if (dir_IP_destino es local o
dir_IP_destino es multicast) enviar local
a dir_IP_destino else enviar local a
RouterTo(dir_IP_destino)
4
Multicast requerimientos en los hosts
  • Extensiones para recepción
  • Interface del servicio IP
  • Uso de receive normal
  • JoinHostGrp(group_addr, interf) y
    LeaveHostGrp(group_addr, interf)
  • Módulo IP
  • Lista de grupos por interface, cuenta de miembros
    de cada grupo
  • Notificación al Módulo de red de altas y bajas de
    grupos
  • Implementación de IGMP
  • Interface del Módulo de red
  • JoinLocalGroup(IP_group_addr) y
    LeaveLocalGroup(IP_group_addr)
  • Módulo de red
  • Filtro de datagrams (no pasa a nivel superior lo
    que envíz) el loopback se realiza a niveles IP o
    superior

5
IGMPv1
  • IGMP (Internet Group Managment Protocol, RFC
    1112, Ago 1989) Protocolo utilizado para
    propagar información de pertenencia a grupos
    entre hosts y routers y routers entre sí
  • Encapsulado en IP (protocolo 2), pero parte
    integral de IP
  • Formato de frame

VERS Versión del protocolo en este caso,
1. TIPO query (1) enviada por un router
response (0) enviada por un host CHECKSUM
cubre todo el IGMP. Calculado como el de IP DIR.
DE GRUPO Dirección del grupo multicast. Cero en
queries
6
IGMPv1 operación
  • Todos los hosts pertenecen al grupo 224.0.0.1
    los queries IGMP se envían con esta dirección
    los reports a la dirección de grupo anunciada.
  • Un host que se incorpora a un grupo, lo anuncia
    inmediatamente (report)
  • Los routers polean periódicamente (1 minuto) a
    los hosts (query)
  • Un host que recibe un query
  • Para cada grupo al que pertenece, genera un
    tiempo al azar (promedio 10 seg)
  • Cuando el tiempo se cumple, envía el report
    correspondiente al grupo
  • Si antes que se cumpla el tiempo recibe un report
    de otro host para el grupo, no envía el suyo.
  • Un host no anuncia su pertenencia al grupo
    224.0.0.1
  • Si un host recibe un query y tiene un timer
    corriendo para algún grupo, no lo resetea
  • Los routers sólo necesitan conocer los grupos que
    están activos en la red, pero no qué hosts
    pertenecen a cada grupo
  • Si luego de varios queries un router no recibe
    response para un grupo, lo elimina de su tabla
  • Los rotures intercambian información de grupos
    entre sí (pueden usar IGMP)

7
IGMPv1- Diagrama de estados (host)
  • Un host mantiene una tabla con una entrada por
    grupo

Estados - Non memberEstado inicial. Host no
miembro. - Delaying memberHost miembro del
grupo. Tiene un timer para envío de report -
Idle member Host miembro del grupo. Sin timer
corriendo para report.
Timers - timer_rep timer para envío de report.
Eventos join group el host comienza a escuchar
en la dirección de grupo (sólo para el primer
proceso) leave groupel host abandona el grupo
(no queda ningún proceso en el grupo)
recepción_report de otro host, para el mismo
grupo recepción_query query del router (general
para cualquier grupo) timeout timer_rep para el
grupo Acciones enviar report envío de report
IGMP con dirección de grupo (a dirección del
grupo). arrancar timer_rep con un número al
azar, para el grupo en al interfaz. cancelar
timer_rep.
8
IGMPv2
  • Frame IGMPv2
  • Encapsulado en IP, tipo de protocolo 2
  • Enviados con TTL1
  • Enviados con opción Router Alert
  • Formato

Tipo Incluye versión y tipo de IGMPv1 0X11
Query 0X12 Report v1 0X16 Report v2
0X17 Leave Group MRT Tiempo máximo de respuesta
para que los hosts respondan con report
Utilizado sólo en Queries Checksum igual que
v1 Dirección de grupo Grupo al que va dirigido
el mensaje
9
Opción Route Alert
  • Opción IP definida en IP Route Alert Option,
    RFC 2113, febrero 1997.
  • Indica a un router examinar un datagram con más
    detalle.
  • El router podrá ejecutar sobre el datagram,
    funcionalidad adicional a la normal.
  • Permite incorporar nueva funcionalidad de ruteo
  • Gradualmente.
  • Sin cambios en los protocolos.
  • Formato

Copied flag 1 (todos los fragmentos) Option
class 00 (control) Núm. Opción 20
(decimal) Longitud 4 Valor opción 0 Router debe
examinar el datagram 1 a
65535 Reservado
10
IGMPv2 Operación de hosts
  • Inicialmente, al unirse a un grupo
  • emisión de report no solicitado si es primer
    miembro del grupo (varios).
  • Recepción de un Query (general)
  • planificar envío de report en tiempo al azar para
    cada grupo (0,MRT)
  • Recepción de un Query específico
  • planificar envío de report para el grupo en
    tiempo al azar (0, MRT).
  • Recepción de un report para un grupo
  • cancelar envío si hay report por enviar para el
    grupo
  • Al salir de un grupo
  • Si supone ser el último host en el grupo, enviar
    un leave

11
IGMPv2- Operación de hosts. Detalle
  • Un host mantiene una tabla con una entrada por
    grupo

Estados - Non memberEstado inicial. Host no
miembro. - Delaying memberHost miembro del
grupo. Tiene un timer para envío de report -
Idle member Host miembro del grupo. Sin timer
corriendo para report.
Timers - timer_r timer para envío de report p/el
grupo, al recibir un query Acciones - enviar
report envío de report IGMP con dirección de
grupo (a dirección del grupo). V1 o v2 según
estado interfaz. - enviar leave - flag1 si
el host es el último que envió report p/el
grupo. - flag0 si no lo es. - arrancar
timer_r con un número al azar, para el grupo
en la interfaz.(0,MRT) o (0,URT). - reset
timer_r rearrancar timer con nuevo valor.
(0,MRT) - cancelar timer_r .
Eventos - join group el host comienza a
escuchar en la dirección de grupo (sólo para
el primer proceso) - leave groupel host
abandona el grupo (no queda ningún proceso en
el grupo) - recepción_report de otro host, para
el mismo grupo (v1 o v2) - recepción_query
query del router general para
cualquier grupo específico para un
grupo - timeout para el grupo
12
IGMPv2- Elección de Querier. Detalle
Timers gen-query indica cuándo transmitir el
próximo query otro-querier-presente indica
cuando considerar que el querier anterior dejó de
funcionar. Estados - Querier El router
transmite Queries en la red - No-Querier No
los transmite Eventos - timeout gen-query vence
tiempo de envío de query - recibir query de
router ltip se recibe un query de un router
con prioridad para ser querier. - timeout
otro_querier_presentevence el tiempo para
mantener la información de otro router
actuando como querier Acciones - arrancar
timer gen_query - arrancar timer
otro_querier_presente - enviar gen-query (a
dirección todos los sistemas, 224.0.0.1)

13
IGMPv2 Operación del router querier (no querier).
  • (Q) Vencimiento de timer para envío de Query
    general
  • Envío de Query
  • Arranque de timer
  • (Q/NQ) Recepción de un report para un grupo
  • Nueva entrada en tabla si el grupo no registrado
  • Arranque de timer para invalidar entrada (si no
    recibe reports)
  • (Q) Recepción de Leave Group
  • Envío de varios queries específicos regularmente
  • Inhibir transición de Querier a no querier para
    el router
  • Eliminar la entrada si al fin del período no
    recibe report
  • (NQ) Recepción de un Query específico para un
    grupo
  • Si el tiempo restante para la entrada es mayor
    que el que esperará el querier
  • Actualizar tiempo de vida (Last_Member_Quer_Count
    MRT)

14
IGMPv2 Operación del router querier. Detalle.
  • Timers
  • rexmt timer para retransmisión de queries
    específicos para un grupo.
  • host v1indica el tiempo de validez para
    considerar que aún (desde el último report v1)
    hay routers v1 operando en la red
  • timer_g indica el tiempo de validez de la
    entrada para un grupo. (g indica el tiempo de
    validez de la entrada para un grupo luego de
    recibir un leave)
  • Estados
  • Sin miembros estado inicial, no hay aun hosts
    que hayan enviado reports.
  • Con miembros Existe por lo menos un host que ha
    enviado un report para un grupo.
  • Con miembros v1 Algún host corre v1 y ha enviado
    un report de esta versión.
  • Chequeando miembos El router ha recibido un
    leave-group y aún no ha escuchado un report para
    el grupo.
  • Eventos
  • Recepción de reporte v2 emitido para un grupo,
    por un host operando en v2
  • Recepción de reporte v1 igual al anterior, pero
    host v1.
  • Recepción de leave recepción de leave group por
    parte de un host v2.
  • Timeout de timer_g (o g) invalida la entrada
    para un grupo al no recibir reports.
  • Timeout de rexmt timer indica realizar
    retransmisión de un query específico para un
    grupo.
  • Timeout host v1 indica ausencia de hosts v1
    operando en la red como miembros del grupo

15
IGMPv2 Operación del router querier. Detalle.
  • Acciones
  • Arrancar timer_g Se arranca (o resetea) el timer
    que indica el tiempo de validez de la entrada
    para un grupo. Valor Group Membership
    Interval.
  • Arrancar timer_g Se arranca (o resetea) el
    timer que indica el tiempo de validez de la
    entrada para un grupo. Este timer se utiliza en
    caso de recibir un leave (querier) o un query
    específico (no querier).
    Valor para
    querier Last Member Query Interval Last
    Member Query Count Valor no querier Max
    Response Time (del paquete) Last Member
    Query Count
  • Arrancar rexmt timerarranque del timer para
    retransmitir un Query específico para un grupo.
  • Arrancar timer host v1 arranca (y resetea) timer
    para hosts v1. Valor Group Membership Interval.
  • Send Group-specific Query envío de un query para
    un grupo específico (al recibir un leave para el
    grupo). El MRT del paquete es Last Member Query
    Interval.
  • Notify routing indica al protocolo de ruteo que
    hay miembros del grupo en la red
  • Notify-routing- notifica que no hay más miembros
    del grupo.

16
IGMPv2- Operación del router querier. Detalle.

E recepción report v1 A arrancar timer_g A
arrancar timer host v1 A notify routing
E timeout timer_g A notify routing - A clear
timer rexmt
E timeout timer_g A notify routing -
E recepción report v2 A arrancar timer_g A
notify routing
E recepción leave A arrancar timer_g A
arrancar timer rexmt A enviar query GS
E recepción report v2 A arrancar timer_g
E recepción report v1 A arrancar
timer_g A arrancar timer host v1
E recepción report v2 A arrancar
timer_g
E timeout timer rexmt A enviar query
específico A arrancar timer rexmt
E recepción report v1 A arrancar
timer_g A arrancar timer host v1
E timeout host v1
E timeout timer_g A notify routing -
E recepción report v1 A arrancar
timer_g A arrancar timer host v1
E recepción report v2 A arrancar timer_g
17
IGMPv2- Operación de router no Querier. Detalle

18
Compatibilidad v1/v2
  • Host v2 operando en red con querier v1
  • Host detecta querier v1 por Queries con MRT 0
    (toma valor 100, 10 segs).
  • Vence por timer, no por último Query.
  • Host envía reports v1, puede no enviar leave.
  • Router v2 con router v1
  • Los routers v2 deben ser explícitamente
    configurados para funcionar como v1.
  • Router v2 con host v1
  • El router debe detectar miembros v1 en un grupo.
  • Debe ignorar leave group mientras haya hosts v1.
  • Host v2 con host v1
  • El host v2 suprime reports debido tanto a reports
    v2 como v1.

19
IGMPv2 Tiempos y valores por defecto
  • Robustness Variable2. Cantidad de reintentos
    menos 1.
  • Query Interval 125 segs. Intervalo entre dos
    queries generales emitidos por el querier.
  • Query Response Interval 10 segs. Tiempo máximo
    de espera en queries generales por reports.
  • Group Membership Interval Robustness
    Variable Query Interval Query Response
    Interval. Tiempo luego del cual, al no recibir
    reports, el querier decide que no hay mimembros
    del grupo.
  • Other Querier Present Interval Robustness
    Variable Query Interval Query Response
    Interval / 2. Tiempo transcurrido sin ecscuchar
    queries luego del cual un router supone que no
    hay querier.
  • Startup Query Interval Query Interval / 4.
    Tiempo entre queries generales enviados por un
    router en el inicio.
  • Startup Query Count Robustness Variable.
    Número de queries enviados en el inicio.
  • Last Member Query Interval 1 seg. MRT colocado
    en los queries específicos. Tiempo entre
    sucesivos queries específicos.
  • Last Member Query Count Robustness Variable.
    Número de queries específicos enviados al recibir
    un leave.
  • Unsolicited Report Interval 10 seg. Tiempo
    entre envíos sucesivos de un report inicial por
    parte de un host.
  • Verion 1 Router Present Timeout 400 seg.
    Tiempo que debe esperar un host, desde el último
    query v1, para funcionar como v2.
Write a Comment
User Comments (0)
About PowerShow.com