Blue Flower

Rappel
IPv4 codé sur 4 octets
1 octet se code en binaire sur 8 digits (python bin(255) = '0b11111111' )
1 octet se code en hexadecimal sur 2 digits (python hex(255) = '0xff' )

Adresses multicast
IP multicast addresses have been assigned to the IPv4 Class D address space by IANA. The high-order four
bits of a Class D address are 1110. Therefore, host group addresses can be in the range 224.0.0.0 to
239.255.255.255. A multicast address is chosen at the source (sender) for the receivers in a multicast group.

Reserved Link-Local Addresses, 224.0.0.0 to 224.0.0.255 : Reserved for use by network protocols on a local network segment.
Globally Scoped Addresses, 224.0.1.0 to 238.255.255.255 : Reserved to send multicast data between
organizations and across the Internet

For example, Open Shortest Path First (OSPF) uses the IP addresses 224.0.0.5 and 224.0.0.6 to exchange link-state information.
For example, 224.0.1.1 : Network Time Protocol (NTP)

Adresses multicast réservées
224.0.0.1 : tous les hotes du segment capable de recevoir du multicast,
224.0.0.2 : tous les routeurs multicasts,
224.0.0.4 : les routeurs DVMRP,
224.0.0.5 : les routeurs OSPF,
224.0.0.13 : les routeurs PIM ...

IGMP
Les routeurs envoient périodiquement (toutes les 1 ou 2 minutes) un IGMP Host Membership Querie (Type 0x11) sur le group all-hosts (224.0.0.1) avec un TTL de 1

Tous les hostes capablent de traiter le multicast reçoivent cette ``sonde'' et afin qu'ils ne repondent pas tous en même temps, chacun lance un compteur aléatoire pour chaque groupe auprès duquel il est enregistré. Un fois le compteur arrivé a terme, l'hote envoie un IGMP Host Membership Report (TTL 1 Type 0x12) à l'adresse multicast du groupe auquel il participe et pour lequel le compteur viens de se terminer.
Comme le ``Report'' est envoyé au groupe multicast, les autres hotes du segment éventuellement enregistrés sur le même groupe receveront ce report et pourrons ainsi abandonner le compteur et donc de faire eux-même un report auprès du routeur local. Ce dernier continuera de transmettre le flux multicast d'un groupe des l'instant qu'il a au moins une réponse d'un hote concernant le groupe, il n'a pas besoin de savoir combien d'hotes demandent ce flux ni lesquels. Si aucun ``Report'' n'est reçu alors il arrete de transmettre le flux.

IGMP version 2 ajoute un nouveau type de message IGMP Leave Group (Type 0x17) envoyé cette fois ci au groupe all-routers (224.0.0.2) et non au groupe pour lequel il ne desir plus recevoir de flux, ceci afin d'éviter d'encombrer quelques minutes de plus la bande passante par le flux d'un groupe pour lequel il n'y a plus d'hotes interessés. En effet un routeur arrète de transmettre le flux d'un groupe seulement s'il ne reçoit pas de réponse après 3 IGMP Host Membership Querie consécutifs.

Deux versions du protocole PIM :
• PIM en mode dense (“dense mode”)
• PIM en mode clairsemé (“sparce mode”)

Bibliographie :
https://www.telecom-sudparis.eu/s2ia/user/procacci/multicast/multicast-cisco-ext002.html => bien

https://www.ionos.fr/digitalguide/serveur/know-how/multicast/ => pas mal avec une video sur PIM

https://www.metaswitch.com/knowledge-center/reference/what-is-protocol-independent-multicast-pim => pas mal