En redes de acceso múltiple, puede haber rutas paralelas al origen o al punto de reunión. A causa de este hecho, es posible que los miembros de los grupos reciban paquetes duplicados de varios enrutadores. Para evitar el problema, PIM-SM utiliza mensajes de aserción para determinar un retransmisor designado. La figura 10 ilustra esta situación.
Figura 10 Ejemplo de una red que requiere una aserción
En este ejemplo, el enrutador 1, el punto de reunión, reenvía tráfico de multidifusión a sus vecinos, los enrutadores 2 y 3. Estos enrutadores, a su vez, reenvían el tráfico a la red de área local. Considere que el enrutador 3 transmite en primer lugar. El enrutador 2 recibe el paquete de multidifusión en una interfaz que tiene este grupo en la lista de interfaces salientes. El enrutador 2 reenvía el paquete al enrutador 3, lo que significa que éste también ha recibido datos en una interfaz saliente. La recepción de un paquete entrante en una interfaz saliente alerta a los enrutadores del hecho de que otros vecinos PIM-SM en la red de área local también están reenviando tráfico al grupo. Esto significa que los miembros del grupo recibirán datos duplicados.
Para evitar esta situación, los enrutadores emiten mensajes de aserción para seleccionar un único enrutador que reenvíe el tráfico. Los enrutadores de dirección descendente escuchan los mensajes de aserción para conocer el enrutador que se ha elegido y, por tanto, para saber dónde deben enviar los siguientes mensajes de unión. En el ejemplo, el enrutador 4 envía primero mensajes de unión al enrutador 2 mientras que el enrutador 5 envía primero mensajes de unión al enrutador 3. Después de la aserción, todos los mensajes de unión se enviarán al enrutador 2 ó 3, dependiendo de cuál de los dos se convierta en retransmisor designado.
Si todos los enrutadores ejecutan el mismo protocolo de unidifusión, el enrutador con la mejor métrica ganará la aserción. Por ejemplo, si todos los enrutadores utilizan RIP, se elegirá el enrutador con la cuenta de saltos más pequeña. Si las métricas son iguales, se elegirá el enrutador con la dirección IP más alta.
Si los enrutadores ejecutan protocolos de unidifusión diferentes, las métricas no se pueden comparar. Por ejemplo, RIP utiliza una cuenta de saltos como métrica mientras que la métrica de OSPF se basa en la velocidad de la interfaz. En este caso, el valor de prioridad de la métrica determina el enrutador que reenviará el tráfico y el enrutador que eliminará la interfaz. Se pueden configurar las prioridades de la métrica para cada protocolo de unidifusión que se ejecuta en la red. Cuando un enrutador recibe un mensaje de aserción para un grupo, se compara el valor de la prioridad de la métrica en el paquete con el suyo propio. Si son iguales, se pueden comparar las métricas para determinar el enrutador que reenviará el tráfico. Si las prioridades de la métrica son diferentes, se selecciona la que tenga la prioridad de métrica más baja.
Se puede configurar un límite de tráfico (expresado en kilobits) en el enrutador de último salto de forma que, cuando se rebasa el límite de un grupo, el enrutador pasa del árbol de punto de reunión al árbol de ruta de acceso más corta. Cuando ocurre esto, el enrutador designado envía una unión (S, G) hacia el origen del paquete. Esto crea un árbol de ruta de acceso más corta desde el origen, S, hasta el enrutador. El cambio a árbol de ruta de acceso más corta implica la utilización de la ruta de acceso más corta para enviar el tráfico de multidifusión. Según la ubicación del origen en relación al punto de reunión, el paso puede reducir de manera considerable la latencia de la red. Como inconveniente se puede destacar que se debe mantener una mayor cantidad de información de estado en los enrutadores.
Para determinar si se debería producir el cambio, se calcula el total de la velocidad de agregado del tráfico del grupo que fluye en dirección descendente hacia el árbol de punto de reunión en un intervalo periódico determinado. Normalmente, si se rebasa esta velocidad, el siguiente paquete recibido para el grupo ocasiona el cambio (los detalles reales de lo que ocurre y la frecuencia con que se calcula la velocidad de agregado dependen de la implementación. El protocolo no los especifica).
La versión 1 de PIM-SM contaba con dos métodos posibles de determinación del punto de reunión. El primero era un método estático. Se debía configurar cada enrutador hoja con la dirección de un punto de reunión para un grupo o un conjunto de grupos. La segunda opción era dinámica y utilizaba un método conocido como punto de reunión automático.
La versión 2 de PIM-SM difiere de la versión 1. Dispone de un único método que utiliza un enrutador de arranque (BSR) que origina mensajes de arranque (de Bootstrap). Estos mensajes se utilizan para elegir un enrutador de arranque, en caso necesario, y para diseminar la información del punto de reunión. La multidifusión de los mensajes se realiza al grupo ALL-PIM-ROUTERS en cada vínculo.
Se configuran uno o varios enrutadores para que sean candidatos a enrutador de arranque. Si no está claro qué enrutador debe ser el de arranque, los candidatos dirigen anuncios al dominio (mediante Orientación y reenvío de ruta inversa, para que resulte más barato). Se elige el enrutador con la mayor prioridad. Si todas las prioridades son iguales, el candidato con la dirección IP más alta se convierte en enrutador de arranque. Un dominio en este contexto representa un conjunto contiguo de enrutadores que implementan la versión 2 de PIM-SM y que están configurados para funcionar dentro de unos límites comunes que definen los enrutadores de límite de multidifusión PIM (PMBR). En resumen, los PMBR conectan cada dominio PIM al resto de Internet. Para obtener más información, consulte el RFC 2362.
Los enrutadores configurados para ser candidatos a punto de reunión difunden esta información al enrutador de arranque. Es normal que los enrutadores configurados para ser candidatos a enrutador de arranque también se configuren para ser puntos de reunión. El anuncio del candidato a punto de reunión contiene la dirección del enrutador anunciante y el grupo de multidifusión al que puede prestar servicios.
El enrutador de arranque incluye un conjunto de candidatos a punto de reunión (el conjunto de punto de reunión), junto con las direcciones de grupo correspondientes, en los mensajes de arranque que crea periódicamente. Los mensajes de arranque se distribuyen salto a salto por el dominio.
Los enrutadores reciben y almacenan los mensajes de arranque que el enrutador de arranque origina. Cuando un enrutador designado recibe una indicación de pertenencia de IGMP, o un paquete de datos de, un host conectado directamente, para un grupo para el que no tiene una entrada, el enrutador designado utiliza una función hash para asignar la dirección del grupo a uno de los candidatos a punto de reunión que pueden prestar sus servicios al grupo. A continuación, el enrutador designado envía un mensaje de unión o eliminación hacia (o difunde un mensaje de registro a) el punto de reunión.