IPV6 - MULTICASTING PRESENTATION Cornel CRISAN Michaël DELOBEAU Olivier VEREMME PRESENTATION Monsieur Jean Yves JEANNAS CNAM-Lille Samedi 13 Mars 2004
Plan de présentation Historique IP Rappels IPv4 Pourquoi une nouvelle version d’IP ? Présentation d’IPv6 Qu’est ce qu’une adresse l’IPv6 Les différents types d’adresse IPv6 Les mécanismes du Multicasting Pourquoi faire du Mulcasting Démonstration Historique IP (Olivier) Quelques dates de l’Internet Protocole Rappels IPv4 Le modèle en couche définie par l’ISO, petits rappels sur la version actuel d’IP Pourquoi une nouvelle version d’IP ? Pourquoi faire évoluer la version d’IP, ce que l’on cherche à améliorer… Présentation d’IPv6 A quoi ressemble cette nouvelle version ? Qu’apporte t’elle ? Qu’es ce qu’une adresse l’IPv6 (Michael) Détail de l’adresse IPv6 Les différents types d’adresse IPv6 Plusieurs type d’adresse IP existe, mais pour quoi ? Et pour quoi faire ? Les mécanismes du Multicasting (Cornel) Comment fonctionne le multicasting Pourquoi faire du Mulcasting A quoi sert ce multicasting, qu’es ce que cela apportera ? Démonstration Démo de connexion à un serveur web en IPv6
Historique 1982 : Création d’IPv4 1983 : Réseaux de recherche d’environ 100 ordinateurs, ouverture aux universités. 1992 : ouverture aux industries de pointe, gouvernement et sociétés commerciales 1993 : épuisement des classes B - Prévision de saturation pour 1994 !!! Aujourd’hui : Épuisement des adresses IP (2008 +/- 3 ans : ALE-wg) Addresss Lifetime Expectation – Workgroup – 1991 – Dans une autre mesure, le développement de nouvelles applications telles audio/vidéo, commerce électronique.... ainsi que le manque de sécurité d'IPv4 viennent justifiés le besoin de créer un nouveau protocole. Pour résoudre ces problèmes, il convenait de faire évoluer l'internet protocol. L'IETF (Internet Engineering Task Force) a créé pour cela un groupe de travail IPng (Internet Protocol New Generation) et publié le livre blanc (RFC 1550) pour définir les fonctionnalités du nouveau protocole.
Rappels TCP/IP Le modèle en couche OSI Niveau Modèle OSI Niveau 4 Couche application Niveau 6 Couche présentation Niveau 5 Couche session Niveau 4 Couche Transport (TCP) Niveau 3 Couche Réseau (IP) Niveau 2 Couche Liaison Données Niveau 1 Couche Physique La couche réseau : permet de gérer les adresses et le routage des données La couche transport : elle est chargée du transport des données et de la gestion des erreurs
L’adresse IPv4 Qu'est-ce qu'une adresse IPv4 ? 194.153.205.206 Comment déchiffrer une adresse IP [xxx]1.[xxx.xxx.xxx]2 1netID (partie reseaux) 2host-ID (partie ordinateur) Qu'est-ce qu'une adresse IP Les ordinateurs communiquent entre eux grâce au protocole TCP/IP qui utilise des numéros de 32 bits, que l'on écrit sous forme de 4 numéros allant de 0 à 255 Ces numéros servent aux ordinateurs du réseau pour se reconnaître, ainsi il ne doit pas exister deux ordinateurs sur le réseau ayant la même adresse IP. C'est l'IANA (Internet Assigned Numbers Agency) qui est chargée d'attribuer ces numéros. . Déchiffrage d'une adresse IP Comme nous l'avons vu une adresse IP est une adresse 32 bits notée sous forme de 4 nombres entiers séparés par des points. On distingue en fait deux parties dans l'adresse IP: une partie des nombres à gauche désigne le réseau (on l'appelle netID) Les nombres de droite désignent les ordinateurs de ce réseau (on l'appelle host-ID)
Les classes de réseaux Classe A : 27 réseaux (128) Réservé : 0.0.0.0 et 127.0.0.0 (localhost) De 1.0.0.0 à 126.0.0.0 Classe B : 214 réseaux (16 384) Réservé : 128.0.0.0 et 191.255.0.0 De 128.0.0.0 à 191.254.0.0 Classe C : 221 réseaux (2 097 152) Réservé : 192.0.0.0 et 223.255.255.0 De 192.0.0.0 à 223.255.254.0 La Classe A de 1.0.0.0 à 127.0.0.0 - 7 bits pour le reseau Dans une adresse IP de classe A, le premier octet représente le réseau. Le bit de poids fort est à zéro, ce qui signifie qu'il y a 27 possibilités de réseaux, c'est-à-dire 128. Toutefois le réseau 0 n'existe pas et le nombre 127 est réservé pour désigner votre machine. Les trois octets de droite représentent les ordinateurs du réseaux, le réseau peut donc contenir : 224-2 = 16777214 ordinateurs. La Classe B de 128.0.0.0 à 191.255.0.0 - 14 bits pour le reseau Dans une adresse IP de classe B, les deux premiers octets représentent le réseau. Les deux premiers bits sont 1 et 0, ce qui signifie qu'il y a 214 possibilités de réseaux, c'est-à-dire 16384. Les deux octets de droite représentent les ordinateurs du réseau, le réseau peut donc contenir : 216-21 = 65534 ordinateurs. La Classe C de 192.0.0.0 à 223.255.255.0 - 21 bits pour le reseau Dans une adresse IP de classe C, les trois premiers octets représentent le réseau. Les trois premiers bits sont 1,1 et 0, ce qui signifie qu'il y a 221 possibilités de réseaux, c'est-à-dire 2097152. L'octet de droite représente les ordinateurs du réseau, le réseau peut donc contenir : 28-21 = 254 ordinateurs. La Classe D de 224.x à 239.x (reservé pour le multicast) La Classe E de 240.x à 254.x (reservé) Attribution des adresses IP Le but de la division des adresses IP en trois classes A,B et C est de faciliter la recherche d'un ordinateur sur le réseau. En effet avec cette notation il est possible de rechercher dans un premier temps le réseau que l'on désire atteindre puis de chercher un ordinateur sur celui-ci. Ainsi l'attribution des adresses IP se fait selon la taille du réseau.
Masques de sous-réseau Le nombre de sous-réseaux dépend du nombre de bits que l'on attribue au réseau. 10.0.0.1 à 10.255.255.254 (masque 255.0.0.0) Binaire [11111111 . 00000000 . 00000000 . 0000000] 172.16.0.1 à 172.31.255.254 (masque 255.255.0.0) Binaire [11111111 . 11111111 . 00000000 . 0000000] 192.168.0.1 à 192.168.255.254 (255.255.255.0) Binaire [11111111 . 11111111 . 11111111 . 0000000] On fabrique un masque contenant des 1 aux emplacements des bits que l'on désire conserver, et des 0 pour ceux que l'on veut rendre égaux à zéro. Une fois ce masque créé, il suffit de faire un ET entre la valeur que l'on désire masquer et le masque afin de garder intacte la partie que l'on désire et annuler le reste. Ainsi, un masque réseau se présente sous la forme de 4 octets séparés par des points (comme une adresse IP), il comprend (dans sa notation binaire) des zéros aux niveau des bits de l'adresse IP que l'on veut annuler (et des 1 au niveau de ceux que l'on désire conserver).
L’épuisement des adresses IPv4 1983 : Réseaux de recherché d’environs 100 ordinateurs, ouverture aux universités 1992 : ouverture aux industries de pointe, gouvernement et sociétés commerciales 1993 : épuisement des classes B - Prévision de saturation pour 1994 !!! Le développement technologique actuelle prévoit donc une saturation des IP pour 2008+/-3ans…
Les problèmes d’IPv4 Espace d’adressage trop petit Explosion des tables de routage Nouvelles fonctionnalités mal intégrées : Multicast Sécurité Mobilité Les 350 millions d'Internautes actuels doivent donc se partager pour la plupart des adresses temporaires. Les fournisseurs d'accès partagent les adresses dont ils disposent en attribuant une adresse temporaire pour la seule durée d'une connexion. Concrètement, votre ordinateur ou votre terminal d'accès à l'Internet, votre téléphone portable n'a jamais la même adresse, ce qui freine beaucoup d'applications comme la téléphonie sur IP ou la visio-conférence. Cela pose également des problèmes dans le développement des applications point à point (telles que Napster), ou encore des applications distribuées sophistiquées telles que les jeux multijoueurs. De plus, aujourd'hui, de nouveaux pays ne peuvent avoir le nombre d'adresses dont ils ont besoin (La Chine par exemple dispose de seulement 8 millions d'adresses IPv4 alors qu'elle a déjà actuellement 50 millions de téléphones et 1,4 milliards d'habitants dont 400 millions d'urbains.) Le multicasting IPv4 envoi un flux de données, tel qu'une émission vidéo, par personne. Pas de sécurité de bout en bout avec l’utilisation du mécanisme de traduction d'adresses (NAT) IPv4 ne sait pas gérer l'inaccessibilité d'un voisin (par exemple lors de la déficience d'un routeur).
Principales mesures d’urgence Allocation exceptionnelle de réseaux de classe B Réutilisation des adresses de classe C CIDR (Classless Internet Domain Routing) Moins de gâchis d’adresses Allouer dans les anciennes classes A & B
Conséquence des mesures d’urgence Force les plans d’adressage privés Les adresses Internet sont utilisées en interne Agrégation de réseaux en un préfixe (CIDR) Utilisation de NAT pour sortir sur Internet CIDR : Classeless Inter Domain Routing = Permet la structuration hérarchique de l’adressage. Permet de router globalement des ensembles de réseaux par agrégation Sur des grands réseaux, les tables de routage explosent des dizaines milliers de routes dans les tables des routeurs de l'Internet les protocoles de routage mettent de plus en plus de temps à calculer leurs tables le découpage en classes d'adresse ne correspond pas à des tailles réelles de sites Avant CIDR 256 classes C consécutives = 256 routes ! l'Internet ne pourrait plus fonctionner ainsi vue sa taille Avec CIDR abandon de la notion de classes d'adresses chaque route devient un numéro de réseau ainsi que masque 194.2/15 représente 512 classes C consécutives 194.2.33/26 représente un morceau de classe C les routes spécifiques sont prises en premier
Ce que les mesures d’urgence ont permis De gagner du temps pour définir une nouvelle version d’IP, IPv6 IPv6 conserve les principes qui font le succès d’IP (modèle de bout en bout, le best Effort…) Corriger certains problèmes d’IPv4
Protocole IPv6 Adresses plus grandes Passage de 32 à 128 bits (plus de 1024 adresses par m2) (IPv4 : 232 = 4 Milliards ; IPv6 : 2128 = 340 * 1036 Nouvel en-tête plus simple et plus évolutif Moins de champs obligatoires, mais une suite d’ en-têtes optionnels évolutive Gestion de l’ auto configuration et de la renumérotation Sans nécessité de configuration manuelle des terminaux Gestion de la mobilité et service de sécurité Pour la sécurité, intégration en natif de IPsec Nouvelles fonctionnalités : Autoconfiguration : 'Plug and Play’ Gestion de la mobilité Renumérotation facile si changement de prestataire Serveurs d'adresses DHCP ( Dynamic Host Configuration Protocol) et SAA (Stateless Address Autoconfiguration) Multipoint (Multicast) natif dans IPv6 pour les routeurs et les postes de travail. Plus besoin de Mbone et mrouted => trafic multipoint banalisé Marquage des flux particuliers : (Flow Label) permet de différencier certains flux de données par rapport aux autres Applications temps réel, Qualité de services (QoS) Priorité au trafic de contrôle Routage à partir de l'adresse source : SDRP (Source Demand Routing Protocol), Il permettra un routage différencié (en Ipv4, le routage est en fonction de l'adresse de destination). Sécurité : Authentification et intégrité des données - en option : confidentialité Les options évolutives : Hop-By-Hop : Transport d'information qui doit être examiné sur chaque noeud du chemin suivi par le datagramme IP End-to-end : Transport d'information qui n'est à examiner que par le destinataire du datagramme Routing : Routage à partir de la source, liste de plusieurs noeuds intermédiaires "à visiter" au cours de l'acheminement du datagramme Fragment : Envoi de paquets plus long que le MTU - Maximum Transmission Unit : 512 -> 1500 octets Authentification : Authentification et intégrité des données Privacy : Chiffrement des données à protéger; datagramme TCP/UDP ou datagramme IPv6 entier, à la demande
Format des Datagrammes IPV6 HEADER : Version (4bits) : Numero de version IP (ici = 4) IHL(4bits) : Contient la taille de l'entête de ce datagramme en mot de 32 bits.La taille maximale d'un datagramme IPv4 est donc de 60 octets. Type of service (8bits) : contient un ensemble de bits indiquant au sous-réseau les services demandés.Par exemple, un bit est réservé pour indiquer la priorité des données contenues dans le datagramme.Si ce sont des données provenant d'un voie numérisée, le delai de transmission doit être court alors que lla transmission de tous les datagrammes n'est pas obligatoire.En pratique ce champs est peu utilisé par les routeurs. Identification : permet de savoir à quel datagramme appartient le fragment de datagramme reçu. TTL : Durée de vie : est utilisé pour limiter la durée de vie d'un datagramme.C'est un compteur qui est décrémenté lors du passage du datagramme dans un routeur. Protocol : définie le protocole de la couche transport à qui le datagramme est destiné.L'dentification des protocoles est définie par la RFC 1700. Options : contient des informations sur la sécurité, le chemin que le datagramme peut prendre, doit prendre ou a pris à travers le sous-réseau. Version (4bits) : Numero de version IP (ici = 6) Traffic Class (8bits) : permet d'annoncer le type de paquet (ou plutôt le comportement souhaité de la part des routeurs). Flow Label (20bits) : est un identifiant permettant de repérer les paquets appartenant à un même flot de données. Payload length (16bits) : contient la longueur des données. Next Header (8bits) : contient un identifiant du protocole de niveau supérieur (TCP, UDP, ...) ou du prochain en-tête. Dans le ces où le DG doit contenir des options, celles-ci sont précisées dans un ou plusieurs en-têtes complémentaires. En particulier, si certaines options doivent être traitées par les routeurs, l'en-tête suivant sera nécessairement du type « Hop by Hop », il indique également au routeur s'il doit analyser ou non les autres en-têtes. Si ce n'est pas le cas, le travail du routeur en sera grandement simplifié. Hop Limit (8bits) : Nombre maximum de « saut » pour chaque paquet, similaire au time-to-live en IPv4. Source address (128bits) : address of the sender. Destination address (128bits) : address of the receiving host.
Encapsulation IPv4 La transition de IPv4 à IPv6 Le principal objectif de la transition vers IPv6 est double. Il doit permettre à des stations de travail implémentant IPv6 et/ou IPv4 de communiquer entre-elles ainsi qu'à des stations et des routeurs IPv6 d'être déployés sur l'Internet de manière incrémentale et à grande échelle. A ceci, un troisième objectif sous-jacent consiste à proposer une transition la plus simple possible pour tous les utilisateurs finaux, les administrateurs de réseaux et les opérateurs réseaux. En effet, la transition vers IPv6 se fera en deux temps. Seront d'abord introduites des stations supportant les deux versions, qui communiqueront en encapsulant les datagrammes IPv6 dans les datagrammes IPv4 (tunneling), de manière à traverser les routeurs en place implémentant IPv4. Puis de nouveaux routeurs (dotés d'un logiciel IPv6) assureront les fonctions d'encapsulation / de désencapsulation ou celles de traduction. Ainsi, ces deux modes de communication seront donc possibles : l'encapsulation des datagrammes et/ou la traduction de l'en-tête IP. Cette étape est particulièrement cruciale, puisqu'elle met en jeu la viabilité même d'Internet.
Qu'est ce qu'une adresse? Deux fonctions distinctes L'identification (sécurité) La localisation (globale:le réseau, locale:la machine) Prix de l'identification et de la localisation Renumérotation Mobilité Identification d'une machine ou d'une interface IPv4, une adresse par interface IPv6, une interface et plusieurs adresses Deux fonctions distinctes La distinction entre les notions d’annuaires, de noms, d’adresses et de routes est comprise depuis longtemps. Cependant, depuis quelques années, au sein de l’Internet la compréhension du rôle d’une adresse réseau à évolué. Dans Internet une adresse sert en fait à deux fonctions : L’identification et la localisation -L’identification est utilisée pendant une connexion par chacun des intervenants pour faire reconnaître son interlocuteur. Cela permet entre autres de s’assurer de l’origine des paquets reçus. Cette vérification se fait dans les pseudo en tête TCP ou dans les associations de sécurité d’IPSEC. La durée de vie minimale d’un identificateur est celle d’une connexion TCP. -La localisation est utilisé pour trouver un intermédiaire qui saura délivrer les paquets. La durée de vie de la fonction de localisation ne varie que si le prestataire IP change, ou si le site est réorganisé. Prix de l’identification et de la localisation En IPv4 l’identification et la localisation sont fondus dans l’adresse IP, unique sur internet. Problématique si on re numérote des machines ou en cas de mobilité puisque la localisation change.. Avec IPv4 l’adresse IP change, et donc l’identification > perte ou renégociation des communications. Identification d’une machine ou d’une interface Autre débat, savoir si on identifie une machine ou une interface. Pas important si c’est une machine simple sur Internet, cela devient différent avec une machine possédant plusieurs adresse ou voir même une machine multi-domiciliée. Pour simplifier les tables de routage si un site possède plusieurs fournisseurs d’accès, il possédera autant de préfixes IPv6. Donc IPv4 une adresse par machine Et IPv6 plusieurs adresses par interface. 2min30
Qu'est ce qu'une adresse? Structuration des adresses et agrégation Augmentation des tables de routage Mauvaise agrégation des adresses Plan de routage IPv4(baisse des coûts, manque d' @) Durée de vie des adresses Adresse allouée, les @ sont prêtées Renumérotation Principe (préférée, dépréciée) La structuration des adresses -L’autre problèmes majeurs de l’IPv4 c’est la croissance incontrôlée des tables de routage. Ce phénomène est dû à une mauvaise « agrégation » des adresses dans les tables. Le vrai problème c’est que les adresse IPV4 sont trop courtes pour être bien structurées. Il faudrait mieux pouvoir décrire les réseaux identifiés par un seul descripteur, mais les adresses déjà allouées par le passé ne le permettent pas. -Adresser un équipement est un processus complexe basé sur un compromis entre la facilité d’attribution et la facilité de gestion. L’idéal pour minimiser les tables de routage serait d’avoir une topologie en arbre, en hiérarchisant au maximum on peut mieux agréger et donc limiter les exceptions. Hors le réseau ressemble plus à une assiette de nouilles… Or aujourd’hui, une représentation valide ne le sera plus demain, donc le plan d’adressage doit être le plus souple possible pour pouvoir s’adapter à l’avenir. -La baisse des coûts en longues distances permet des multi domiciliation (multi homing) des sites pour des raisons de fiabilité(en cas de panne d’un opérateur, le trafic passe ailleurs) ou de performances(aller là où le trafic est le plus important) (ordre d’idées en 1994 le nombre de routes sur Internet était de 15000 en 2001 elle était de 100000, et aujourd’hui je n’en sais rien) Donc pour IPv6 on retient pour l’instant un plan d’adressage hiérarchique comme IPv4, mais le codage sur 128 bits de l’entête permet de bien hiérarchiser IPv6. De plus le grand espace d’adressage disponible dans IPv6 permettra dans le futur d’utiliser de nouveaux modes d’adressages, géographiquement par exemple (plan d’adressage à suivre). Durée de vie des adresses -Les adresses allouées ne sont pas utilisés en continu (le portable connecté épisodiquement au réseau), et pour faciliter le renumérotation d’une machine, les @ IPv6 ne sont pas données mais prêtées. L’attribution est temporaire et une durée de vie est associée à l’adresse (temps d’appartenance à une interface). Quand la durée de vie est épuisée l’@ devient invalide, elle est supprimée de l’interface et devient potentiellement assignable à une autre interface. (durée par défaut 30 jours sur le Web, infini en lien-local. -La renumérotation permet de passer d’une adresse à une autre, mais le changement n’est pas brutal, sinon on couperait les communication TCP en cours. -il existe un mécanisme (obsolescence) qui invalide progressivement une adresse. Le principe utilise le fait qu’une interface peut posséder plusieurs @ en même temps. Il y a trois état après l’allocation l’adresse devient valide et est dite préféré (pas de restrictions)puis elle est déprécié mais encore utilisable (utilisation déconseillée mais possible pas de nouvelle com.), puis elle est invalidé. 3m30
Notation 128 bits en 8 mots de 16 bits ca donne... Simplification FE80:BA98:7654:3210:EBDC:A987:6543:210F Simplification FE80:0000:0000:0000:0400:A987:6543:210F FE80: 0: 0: 0: 400:A987:6543:210F FE80::400:A987:6543:210F Le préfixe FE80:B400:A987:6543:0000:0000:0000:0000/64 Adresse-IPv6 / longueur du prefixe en bits La représentation de l’adresse IPv6 se fait sur un mot de 128 bits, l’adresse est découpée en 8 mots de 16 bits séparés par : le tout écrit en hexadécimal: Voici l’exemple qui est très facile à mémoriser… Simplification Il n’est pas nécessaire d’écrire les zéros en tête des champs En plus plusieurs champs nuls consécutifs peuvent être abrégés par ::, ce qui simplifie encore un peut plus Préfixe La représentation des préfixes en IPv6 est identique à celle utilisée en IPv4 [RFC1519 CIDR] On peut également simplifier avec le préfixe. piège à con 3EDC:BA98:7654:3::/56 = 3EDC:BA98:7654:0000::/56 car 3EDC:BA98:7654:0003::/56 Ca paraît plus complexe qu’IPv4, mais l’attribution répond à des règles très strictes, de plus l’auto-configuration est là pour vous aider. 1m30
Notation et Web URL et port Scoped address (portée de l'adresse) http://2001:1234:12::1:8000/ (ambiguite sur le port) C'est le port par défaut, ou le port 8000? http://[2001:1234:12::1]:8000/ http://[2001:1234:12::1:8000]/ Scoped address (portée de l'adresse) Adresse lien local, site local ou multicast, on ne peut pas designer l'interface de sortie, on doit donc la spécifier ping6 fe80::205:5dff:fe5f:4970%vr1 URL et port Parfois vous devrez manipuler des adresses IPv6 à la main, le caractère : peut créer des ambiguïtés, c’est le cas avec les ports des URL. Exemple sur le slide Pour éviter les problèmes, on rajoute des [ ] donc sur l’exemple on peut voir avec port 8000 sur la premier cas et port par défaut sur le deuxième cas. Scoped address Si vous faite un ping6 d’une adresse sans préciser de port de sortie la réponse est NO ROUTE TO HOST, car la station est incapable de déterminer l’interface de sortie, par contre en rajoutant l’interface de sortie derrière l’adresse, il n’y a plus de problème. 1m30
Les types d'adresses IPv6 – 3 types d'adresses Adressage global UNICAST Designe une interface unique (globale ou locale) MULTICAST Designe un groupe d'interface ANYCAST Designe un groupe d'interface, mais acheminement au plus proche. Adressage global Les types d’adresse. IPv6 reconnaît trois types d’adresses - Le premier des ces types, l’UNICAST, est le plus simple. Une adresse unicast désigne une interface unique, un paquet envoyé à une telle adresse, sera donc remis à l’interface ainsi identifiée. Deux types, celle désignant une machine sur l’Internet sans ambiguïté (globale) et celle qui n’auront qu’une portée locale. (pas de routage sur le Net) - Une adresse MULTICAST désigne un groupe d’interfaces qui en général appartiennent à des nœuds différents pouvant être situés n’importe où dans l’Internet. Lorsqu’un paquet a pour destination une adresse multicast, il est acheminé par le réseau à toutes les interfaces membres du groupe. (remplaçant du broadcast d’IPv4, mais Cornel en parlera après). - L’ANYCAST, est une officialisation de proposition faite pour IPv4 RFC1546 , comme le multicast, on désigne un groupe d’utilisateur, la différence, c’est que lorsque le paquet a pour destination une telle adresse, il est acheminé à un des élements du groupe et non pas à tous. C’est le plus proche qui le recoit (au sens métrique de routage), c’est expérimental (gain de temps sur des requêtes).
Plan d'adressage Affichage du plan d’adressage Remarque sur la place libre Et sur FE80 le link local
Adresse du type plan agrégé Découpe en trois parties une partie publique sur 48 bits une partie site sur 16 bits une partie identifiant d’interface sur 64 bits La partie publique est constituée par l’ensemble des prestataires et des points d’échange de connectivité IP. - un préfixe 2000::/3 identifiant le plan d’adressage Address Aggregatable Global Unicast - Top Level Aggregator sur 13 bits qui représentent les grands opérateurs internationaux.(8192) - une erreur avec 8 bits réservée pour faire évoluer le plan d’adressage - Next Level Aggragator sur 24 bits identifie le site ou le domaine La partie site - Site Level Aggregator sur 16 bits est codée par le responsable de site pour hiérachiser sont site. La partie Identifiant - 24 bits (gauche) identifie le constructeur de la carte (MAC) bits 1….78….24; 7 à 0=Universel; 8 à 0=individuelle à 1=globale (multicast) - 40 bits (droite) si MAC unique on rajoute 16 bits au milieu des 48 bits de la MAC > 24-16-24 les 16 sont toujours pareils. - si il n’y a pas de MAC universel on peut construire l’adresse avec une autre interface ou de manière aléatoire
Adresse en lien local Adresse lien local - La validité est restreinte à un site, un site non connecté à l’Internet peut utiliser ces adresses, il n’a pas besoin de préfixe (même chose que les adresses privés d’IPv4 10.x.y.z) - Si le site est connecté à l’Internet, ces adresses doivent être confinées à l’intérieur du site par les routeurs de sortie du site, donc le dialogue entre deux sites utilisant des adresses site-local doit utiliser des adresses globales L’intérêts des adresses site-local c’est qu’elles ne sont pas modifiées lors de changement de fournisseur de connectivité, donc pas de perturbations locales. Voilà pourquoi y’a plein de zéro dans les adresses locales!!! 1111 = F 1110 = E 1000 = 8 FE80 Link Local Unicast Addresses
Configuration automatique Découverte des voisins Résolution d’adresse Détection d’inaccessibilité NUD Configuration Indication de redirection Exemple du ping6 Un p’tit coup de DHCP discover Un bon coup d’ICMPv6 Et on est bon voisin… Configuration automatique Le protocole de découverte des voisins neighbor discovery permet à un équipement de s’intégrer dans un environnement local. Ca ne sert pas de voisinage réseau, mais cela sert à découvrir les équipements importants (routeurs et stations par exemple). - résolution d’adresse comme ARP d’IPv4 il crée une table de correspondance d’adresse. - Neighbor Unreachability Detection nettoie les tables des voisins qui sont devenues inaccessible (n’existe pas dans IPv4) - configuration découverte des routeurs (idem IPv4) découverte des préfixes (n’existe pas dans IPv4) Détection d’adresses dupliquées encore ARP risques d’erreurs à cause des adresses générées automatiquement Découverte des paramètres taille du MTU, nbre de sauts max autorisés (n’existe pas dans IPv4) - redirection si un routeur connaît une meilleur route (en nombre de sauts). L’intérêts, c’est l’unification des protocoles qui existent dans IPv4 On peut voir l’exemple sous Ethereal à la fin
IPv6 et Systèmes d’Exploitation NT 4.0, 2000 et XP Ça fonctionne voir même en routeur, mais il faut tout faire à la main… Sous 2000, ipv6kit (sp 1 max) Sous XP, \>ipv6 install puis \>ipv6 if Ping6, tracert6, ftp, ttcp, IE… Mac, AIX, Tru64, OpenVMS, HP-UX, Linux Commentaires à chaud…
IPv6 – Multicasting Qu’est–ce que le Multicast ? Historique «one – to – many » ou « many – to – many » Historique IPv4 – 1985 – RFC966 Multicast – 1991 – Steve Deering – thèse « AUDIOCAST » – 1992 – réunion IETF La première motivation pour le développement et déploiement d’IPv6 est d’augmenter l’espace d’adressage IP suite à l’arrivé de la nouvelle vague technologique. (PDA, téléphones cellulaires, etc.) qui ont d’explicités tendances multimédia. D’où le besoin d’un service sur la mesure de la demande… LE MULTICAST – un mécanisme de la couche réseau qui permet à un émetteur d’envoyer un même contenu à un groupe des récepteurs de manière très efficace. Action d ’envoyer un message vers plusieurs récepteurs en effectuant localement une seule opération d ’envoi. Le multicast est basé sur le concept de groupe, un groupe arbitraire d’utilisateurs expriment un intérêt pour un flux particulier des données… ce groupe n’as pas de notions physiques ou géographiques…donc, les hosts peuvent être localisés n’importe où dans Internet… HISTO: Initialement deux modes de transmission primitifs: Unicast : un à un , Broadcast : un à tous Le multicast développé dans les années de jeunesse d’Internet ( IPV4 RFC966 – 1985) a joué rôle très important dans l’évolution d’Internet. Néanmoins, les mécanismes de base de multicast n’ont pas beaucoup changé et sont très similaires pour IPv4 et IPv6. Avec la standardisation et la simplicité d’PV6, de la technologie multicast est devenu beaucoup plus populaire que en IPV4. Beaucoup des fonctionnalités de IPV6 s’appuient sur le mécanismes multicast qui représente un substitut pour le broadcast IPV4. Modèle de Deering __ Séparation entre protocole d’adhésion et Routage
IPv6 – Multicasting Pourquoi le Multicasting ? un groupe d’utilisateurs Applications Multimédia Partage de ressources Gestion de bases de données distribuées une seule adresse IP Minimiser l ’utilisation des ressources du réseau Meilleure gestion du groupe Afin de de définir un seul groupe d’utilisateurs partageant une seule adresse IP. Pourquoi un seul groupe ? Pour pouvoir partager des ressources de plus en plus lourdes (comme des applications multimédia, des bases de données) Et pourquoi une seule adresse IP ? Afin d’optimiser l’utilisation des ressources réseaux, qui seront exploitées par une diversité d’utilisateurs ayant une multitude de besoins. Les Universités proposent des formations à distance permettant aux étudiants de se connecter de n’importe où à n’importe quel moment. Le multicast peut-être utilisé pour de nombreux autres domaines d’activités: UN – VERS – PLUSIEURS Distributions A/V programmés, « Push media », Upgrades, Annonces, Monitoring PLUSIEURS – VERS – PLUSIEURS Conférences multimédia; Ressources synchronises « Shared distributed databases »; Formations à distance avec feed-back; jeux multi-joueur; Tableaux blancs partagés En activant les infrastructures multicast d’autre innovations / utilisations sont possibles.
IPv6 – Multicasting Adresse multicast IPv6 Préfixe ff00:/8 FF Group ID (112 bits) Flags (4 bits) Scope Portée de l’émission (4 bits) 8 bits En IPv4 les groupes multicast ont le plus signifiant byte à 224. En IPv6 les groupes multicast ont les 8 bytes positionnés le préfixe ff00/8. Les 3 bytes suivants ne sont pas positionnés et le byte suivant spécifie si le groupe est transitoire ou permanent. « FLAGS » if the address was allocated by IANA. A ce point des différences commencent à apparaître entre IPv6 et IPv4. Les 4 bits peuvent être utilisés pour spécifier le « scope » d’un groupe multicast. Les valeurs possibles: 0 réservé; 1 node-local scope; 2 link-local scope; 5 site-local scope ; 8 organization-local scope; E global scope En positionnant le scope, c’est possible de limiter la portée d’un packet (en IPv4 – le TTL), autrement dit il est possible de spécifier le numéro maximum des « hops ».
IPv6 – Multicasting Le multicast, contrairement à l’unicast (ftp, http etc), permet de transmettre de l’information d’une source (ou éventuellement plusieurs sources) à plusieurs destinataires. Le multicast permet une optimisation de l’utilisation des ressources réseau, et notamment du backbone. En effet, l’information ne circule qu’une fois sur le backbone, alors qu’une transmission unicast aurait fait transiter la même information autant de fois qu’il y a de destinataires. Envoi Unicast =>Envoi de paquet redondant : inondation; Gourmand en Bande passante L’utilisation des flux unicast pour acheminer les données vers utilisateurs est inefficiente et incontrôlable. Par exemple pour une émission radio sur Internet la station radio doit envoyer / dupliquer les mêmes données à tous les récepteurs intéressés (radio broadcast) La largeur de bande requise pour un flux audio est de 28kb/s est elle devienne 28kb/s * n (où n = numéro auditeurs). Pour 10,000 auditeurs vous auriez besoin de 280Mb/s en largeur de bande.
IPv6 – Multicasting Groupes Multicast Permanent – Transitoire Dynamique – Statique les entités peuvent joindre ou quitter le groupe de façon dynamique Défini – non défini on peut connaître ou non la liste de tous les membres Restreint – sans restriction contrôle d’accès Groupe Permanent @ attribuée par IANA – Internet Assigned Numbers Association DNS en utilisant le domaine mcast.net le groupe permanent existe même s ’il n ’a aucun membre Groupe transitoire Attribution dynamique d ’une adresse multicast le groupe fini lorsque le nombre de participants est zéro
IPv6 – Multicasting Mécanisme à diffusion de groupes Lien local – MLD – Multicast Listener Discovery Protocole de gestion des connexions – hôtes et routers – dans un groupe multicast IPv6 routers – apprendre quels sont les groupes qui ont des membres intéressés Intra – Domaine Protocol Independent Multicast – Sparse Mode, SSM Protocol Independent Multicast – Dense Mode Inter – Domaine – MBGP ou MSDP Les hôtes intéressés pour réceptionner un flux doivent adhérer / devenir membres d’un groupe en utilisant le protocole MLD . Les routeurs IPv6 apprennent, en utilisant MLD, quels sont, pour chaque réseau physique auquel ils sont connectés, les groupes et les membres intéressés pour une émission multicast. Chaque routeur maintient une liste avec les adresses multicast et une minuterie pour chaque adresse. LES PROTOCOLES DE ROUTAGE : Protocol Independent Multicast (PIM) : est un protocole de routage multicast intra-domaine qui peut supporter de grands nombres de groupes et il a été conçu pour établir des arbres de diffusion a travers des WAN. PIM-SM permet une communication efficace entre des membres de groupes éparpillés – le type de groupes le plus souvent rencontré dans des réseaux « wan ». Ce protocole est conçu sur le principe qu’il est inutile de surcharger le réseaux entier par un trafic périodique multicast. Ainsi, PIM-SM limite le trafic multicast afin que seulement les routers intéressés reçoivent les flux. PIMSparse: Réseaux différents avec un nombre réduit de membres très éparpillés. Bande passante réduite PIM Dense: Membres de groupes concentrés sur un espace réduit MBGP - Multicast Border Gateway Protocol – dans le futur proche, le multicast inter-domaine sera géré par la protocole BGMP. C’est un protocole inter-domaineIt utilisé pour gérér les problèmes d’interopérabilité entre les protocoles de routage entre les différents domaines. Multicast Source Discovery Protocol (MSDP) est un mécanisme de connexion de multiples domaines PIM-SM. MSDP permet aux sources multicast d’un groupe d’être connues par tous les Rendezvouz Points (RP) des différents domaines. Les RP sont des points prédéfinis connus dans réseau par tous les « edge-routers » Chaque domaine PIM-SM utilise ses propres RPs. Un RP execute un MSDP à travers TCP pour découvrir des sources multicast d’autres domaines.
IPv6 – Multicasting IPv6 Multicast implémentations Software / Systèmes d’opérations KAME Project BSD USAGI Project Linux MRT Hardware MLDv2, PIM-SM, PIM-SSM Applications ICECAST, ISABEL, RAT, VIC Le monde libre ! La plus grande partie de recherches sont faites avec le « open source » et spécialement avec les Linux BSD. Microsoft a mis aussi à la disposition du grand publique des solutions multicast IPv6 …mais… « Microsoft n'est pas responsable de votre utilisation personnelle du code ou des conséquences que pourrait entraîner cette utilisation. » Le projet japonais avec une participation internationale KAME a été démarré pour développer IPv6 et le multicast sur les plate-formes BSD. USAGI – Universal Playground for IPv6 – un projet de dév. Multicast IPv6 pour Linux. MRT – Multi Thread Routing Toolkit est un projet suite à une collaboration de plusieurs universités américaines Groupe de recherche pour le dév. IPv6 multicast Hardware – tous les grands constructeurs (6WIND, Cisco, NEC…) mettent à disposition des produits de routage avec le code IPv6 multicast disponible. Les routers sont équipes avec: PIM-SM, PIM-SSM,MLDv2 Applications ICECAST – une application « open source » pour les émissions multicast v6… écouter la radio en multicast v6 www.icecast.org ISABEL – application complexe pour le streaming multicast v6 dév. par l’université de Madrid. RAT – Robust Audio Tool – une application dév.pour les test multicast IPV6 sur le MBONE… capable d’émettre des flux audio multicast IPv6 VIC – Video Conferencing Tool – émissions video multicast – « open source » FREE DOWNLOAD sources !
IPv6 – Multicasting Multicast Backbone - Mars 1992 Réseau virtuel qui utilise l ’infrastructure physique existante d’Internet Tunnels reliant des routeurs multicast MBONE MBone (IP Multicast Backbone on the Internet) c’est un ensemble des réseaux multicast compatblés interconnectés. Et comme l’ensemble de backbone routers n’offre pas un support native IP multicast, MBone est construit à l’aide des tunnels à travers les réseaux qui ne supportent pas le routage multicast. Le MBone est un réseau virtuel qui utilise l ’infrastructure physique existante d’Internet. Les mécanismes du MBone sont implémentés au dessus de la couche IP : les routeurs dans Internet ne supporte pas tous le Multicast On construit le MBone par des tunnels entre les routeurs multipoints : encapsulation des paquets multipoint dans les paquets IP classiques Possibilité d ’acheminement sur Internet par des routeurs Unicast MBone : ensemble de tunnels reliant des routeurs multicast connectés à des réseaux locaux capable de supporter le multicast.
IPv6 – Multicasting Multicast et QoS Contrôle de congestion La fiabilité QoS définie par l’émetteur QoS adaptée à la plus basse de tous les membres QoS la plus élevée de tous les membres est transmise La communication Multicast est gourmande en bande passante mais moins coûteuse que de multiples communication Unicast. 0 - téléphone . .10- niveau de priorité très bas
IPv6 – Multicasting Conclusions Multicast – un important service dans le futur Nouvelles perspectives de recherche Voix IP Télévision sur Internet (PIM-SSM) Sécurité de groupe (GKMP) Compression Vidéo et Audio … IPv6 augmente l’espace d’adressage du Multicast Développer les protocoles de QoS Multicast LA TELE ! Les applications de multicast et leur futur sont des facteurs très importants pour le développement et l’évolution d'Internet. La transmission simultanée à plusieurs endroits est une structure de base essentielle qui doit être en service afin de créer un certain genre de transmissions de masse dans l'Internet. Il est très difficile de figurer hors de toutes les manières de mettre en application WebTV ou WebRadio sans possibilités de multicast. Il y a certainement trop de charge si un serveur doit prendre à soin des plusieurs la transmission simultanée en employant l'unicast. Les emplacements d'essai courants peuvent contrôler leur charge par des arrangements spéciaux mais les véritables applications d'affaires ont besoin certainement des dispositifs de multicast. Les aspects techniques les plus importants du multicast d'IP sont cheminement de multicast d'IP et transportent des protocoles. Le protocole efficace de cheminement est nécessaire pour le cheminement de multicast d'IP pour devenir standard dans chaque couteau dans l'Internet. Le protocole fiable, efficace et scalable de transport est nécessaire pour beaucoup d'applications. Le protocole de transport de multicast exige techniquement et il y a beaucoup de différentes approches avec différentes propriétés concernant l'efficacité et le scalability dans de grands et hétérogènes réseaux. Multicast applications and their future are very important factors for Internet content development. Simultaneous transmission to several locations is an essential basic structure that must be in use in order to create some kind of mass transmissions into Internet. It is very hard to figure out any ways to implement WebTV or WebRadio without multicast capabilities. There is certainly too much load if one server must take care of several simultaneous transmission by using unicast. Current test sites can manage their load by special arrangements but true business applications do certainly need multicast features. The most important technical aspects of IP multicast are IP multicast routing and transport protocols. Efficient routing protocol is necessary for IP multicast routing to become standard in every router in internet. Reliable, efficient and scalable transport protocol is necessary for many applications. Multicast transport protocol is technically demanding and there are many different approaches with different properties regarding efficiency and scalability in large and heterogeneous networks.
Conclusion En marche vers la gloire ? Pas de « jour J » dans la migration vers IPv6 mais une lente transition / cohabitation La maison reste ouverte pendant les travaux… En résumé, lors de sa conception, IPv6 devait logiquement être considéré comme l'évolution normale de l'Internet facilitée par son entière compatibilité avec IPv4 et, par conséquent connaître un déploiement stratégique très rapide. Or, la transition vers IPv6 sera vraisemblablement longue et peut-être même douloureuse. En effet les datagrammes IPv6 sont plus simple, mais plus gros, alors va-t-il y avoir saturation des routeurs Internet ? La très forte progression des réseaux et machines installés sur l'Internet (jusqu'à 1012 réseaux et 1015 machines). Des schémas de routage prudents, adaptables à de nombreuses topologies, bénéficiant de performances élevées. Un schéma de transition directe d'IPv4 à IPv6. Un service résistant, en mode datagramme ; mais aussi différentes classes de service. Une autoconfiguration possible. Un fonctionnement sûr. Des noms uniques au niveau mondial. Un accès libre aux différents standards existant. Une diffusion restreinte (multicasting). Des possibilités d'extension. La prise en compte de la mobilité. L'inclusion d'un protocole de contrôle. Des réseaux fermés (tunneling). En résumé, lors de sa conception, IPv6 devait logiquement être considéré comme l'évolution normale de l'Internet facilitée par son entière compatibilité avec IPv4 et, par conséquent connaître un déploiement stratégique très rapide. Or, la transition vers IPv6 sera vraisemblablement longue et peut-être même douloureuse. Elle ne connaîtra pas, dans tous les cas, un phénomène de <<flag day>>, grand jour où tout basculerait, comme espéré initialement. En effet, si dans les organismes de recherche, les travaux sur IPv6 semblent très convaincants, il convient de bénéficier d'un autre soutien et non des moindres, à savoir celui des grands constructeurs.
Petite démo? Installation d’une NetBSD 1.6.1 et IPv6 Gérer par le noyau sans re-compilation depuis 1999 ifconfig vr1 inet6 bla:bla:bla::bla prefixlen 64 alias Up media autoselect Dans rc.conf ip6mode=router ou autohost ou host Installation d’Apache en version 2.X Et vous voilà avec un beau serveur web… Commentaires à chaud…