===== Routeur ===== Cette page vise à décrire très basiquement le but des protocoles utilisés et comment ils ont été mis en place à MiNET. Si vous souhaitez des renseignements exacts sur igmp, pim mld etc, reportez-vous à la documentation cisco notamment. ===Notions de base sur le multicast=== Le multicast est un moyen économique en terme de bande passante pour diffuser des flux importants d'information comme la TV HD sur un réseau à des groupes de clients, le principe étant d'envoyer un seul flux continu en UDP à travers le réseau qui se subdivisera ensuite au niveau des commutateurs en n flux pour n clients. Ces groupes de clients pour un flux donné sont caractérisés par des adresses ip spécifiques de 224.0.0.0 à 239.255.255.255. Le multicast à MiNET repose sur quatre protocoles réseau : **IGMP** qui permet d'échanger les informations d'appartenance aux groupes multicast entre les routeurs et de clients à routeur. A MiNET on s'assure également que l'igmp snooping soit activé de façon à ce que le switch commute bien un flux multicast vers les ports des clients ayant souscrit au groupe. Dans le cas contraire le switch ne se poserait pas de question et enverrait le flux en broadcast vers tous ses ports. **PIM** qui concerne le type de routage des paquets multicast (dense et/ou sparse mode). A MiNET c'est le sparse mode que nous utilisons. Il permet d'élire un routeur en tant que rendez-vous point càd routeur ayant le droit de forward le flux multicast d'un groupe donné. Lorsque qu'un client fait une requête IGMP pour rejoindre un groupe celle ci sera retransmise au routeur RP qui renverra le flux demandé vers le client. Autrement dit on diffuse les flux multicasts sur demande au contraire du dense mode où par défaut on diffuse tous les flux à tout le monde. **CGMP** qui permet de traduire les paquets multicasts au niveau de la couche 2 pour les switchs plus anciens ne pouvant interpréter les paquets igmp. **SAP** qui permet de diffuser les informations de session multicast ==== En ipv4 ==== Pour configurer le multicast sur notre routeur, il faut configurer deux choses : la partie igmp et la partie pim. Pour faire simple, la partie igmp concerne tout ce qui se passe entre nos adhérents et le routeur alors que la partie pim concerne l'interconnexion avec la DISI. La configuration de la partie pim a des impacts sur ce qui se passe entre nos adhérents et le routeur alors que la configuration de l'igmp n'est pas censée influer sur l'interco avec la DISI. ===IGMP=== L'igmp (internet group management protocol) est utilisé pour contrôler la distribution des flux dans un réseau. Ainsi, plutôt que de faire du broadcast et envoyer tous les flux à tout le monde, on crée des groupes d'abonnés à qui on envoie directement les flux. Ce n'est donc plus du broadcast mais du multicast. L'igmp snooping permet de détecter les flux envoyé dans un réseau par des serveurs de diffusion et de les bloquer au niveau du routeur. La commande "mrouter learn cgmp" indique au routeur qu'il doit apprendre (créer) les groupes de diffusion à partir de ce qu'il découvre en snooping. On a alors besoin de configurer le mode pim pour la diffusion vers les autres sous-réseaux. On peut alors configurer le routeur pour qu'il fasse office de proxy pour le multicast inter-vlan et retransmette le multicast dans d'autres vlans. On peut lui demander aussi de transférer les annonces sap. Configuration générale : ip igmp snooping last-member-query-interval 3000 ip igmp snooping vlan 27 mrouter learn cgmp ip igmp snooping vlan 27 immediate-leave ip igmp snooping vlan 41 last-member-query-interval 1000 ip igmp snooping vlan 42 last-member-query-interval 1000 ip igmp snooping vlan 43 last-member-query-interval 1000 ip igmp snooping vlan 44 last-member-query-interval 1000 ip igmp snooping vlan 45 last-member-query-interval 1000 ip igmp snooping vlan 46 immediate-leave ip igmp snooping vlan 46 last-member-query-interval 1000 ip igmp snooping vlan 47 immediate-leave ip igmp snooping vlan 47 last-member-query-interval 1000 no ip igmp filter Configuration du vlan 27 (diffusion de la télé) ip directed-broadcast ip pim sparse-mode ip cgmp proxy ip sap listen Et pour les autres vlans: ip pim sparse-mode ===pim=== Dans la configuration apparaît une ligne pour chaque vlan : ip pim sparse-mode C'est la première étape de la configuration de la partie pim. Ce mode construit des arbres unidirectionnels et permet le passage inter-réseaux du multicast. Ceci est suffisant pour notre réseaux, on diffuse nos flux en interne, c'est tout. Mais là-dessus vient se rajouter la DISI! En effet, ils font aussi du multicast et veulent avoir accès au nôtre. C'est pour cela que la configuration se complexifie et que l'on a besoin de rendez-vous point et donc d'ACL. Rendez-vous point? C'est en fait une manière de dire qui a le contrôle de quel flux. Quand un routeur est RP pour une plage d'ip de multicast et qu'un client sur un autre routeur demande un flux, cet autre routeur va alors savoir qu'il doit faire la demande du flux au routeur qui est RP pour ensuite le forwarder à son client. C'est un moyen de contrôle assez strict des flux. Il faut donc que chaque routeur ne puisse forwarder que les flux dont il est RP. Par défaut, tout est bloqué lorsque l'on active ce mode. On doit donc créer des ACL pour autoriser les flux multicast sur les plages d'ip voulues. On déclare ensuite le routeur RP pour l'ACL créée et le tour est joué. Il faut donc faire très attention à qui contrôle les flux. la coordination avec la DISI est donc importante (même si ils n'ont pas beaucoup de multicast). Commandes (à venir) ==== En ipv6 ==== La solution équivalente à l'igmp en ipv6 est le mld snooping. Le problème actuellement à MiNET est que l'on ne peut séparer le multicast lié à l'ipv6 (icmp : RA par exemple) du multicast de la télé. Mettre en place le mld équivaut actuellement à supprimer les RA pour les adhérents. Ce qui pose problème...