Burt Crépeault :: burt.crepeault@iitelecom.com IPv6 Concepts Burt Crépeault :: burt.crepeault@iitelecom.com www.iitelecom.com IIT??? Titre du cours © Institut international des télécommunications inc., 2004 www.iitelecom.com © Institut international des télécommunications inc., 2004 Février 2004
IPv6 Concepts Session objectives At the end of this session, the participants should be able to: Understand the structure of the IPv6 packet Understand the IPv6 address format Name the different IPv6 addressing types Have a basic understanding of the main IPv6 protocols
Session content The IP version 6 protocol IP version 6 header description Address format Hierarchical addressing Address types Unicast Multicast Neighbour Discovery Protocol Address auto-configuration DNS for IP version 6 Routing protocols
IP version 4 header description 1 6 7 8 9 2 3 4 5 VERS IHL Type of service TOTAL LENGTH IDENTIFICATION FLAGS FRAGMENT OFFSET TIME TO LIVE PROTOCOL HEADER CHECKSUM MIN. 20 BYTES MAX. 60 BYTES Source IP address Destination IP address OPTIONS Padding Vers Identifie la version du protocole IP (version 4). IHL Internet Header Length indique la longueur de l’entête en mots de 32 bits et par le fait même, indique le début des données. La longueur minimum correspond à 5 mots de 32 bits, donc 20 octets. Le longueur maximum est de 60 octets incluant le champ option d’une longueur maximum de 40 octets. Type de service Indique la qualité de service désirée. Le réseau peut offrir le service en fonction de la préséance IP Precedence ce qui signifie qu’en période de congestion, le réseau laissera passer le trafic en dessous d’une certaine préséance. Il existe trois moyens de classifier le trafic : le délai court, la fiabilité et le débit. Longueur totale Longueur du datagramme en octets incluant l’entête et les données. Identification Valeur identificatrice utilisée pour le rassemblement des datagrammes. Flags Indique si le datagramme peut être fragmenté ou non. Fragment offset Indique à quelle portion du datagramme fragmenté ce fragment appartient. Time to live Indique le nombre maximum de routeurs par lesquels le datagramme peut passer. Protocole Indique quel type de protocole est utilisé dans les couches supérieures (TCP, UDP). Header Checksum Vérification de la conformité de l’entête (longueur). Data . . .
IP version 4 structure and classes of address 1 6 7 8 9 2 3 4 5 netid hostid multicast Reserved for future use Class A Class B Class C Class D Class E Adresse IP = 4 Bytes 1 2 3 4 La discussion concernant IP version 4 versus IP version 6 tourne autour de la longueur du champ d’adressage (32 bits versus 128 bits). Mais un facteur tout aussi important est la capacité de fournir une structure d’adressage hiérarchique qui facilite le routage.
IP version 4 addressing architecture 191.56.0.0 193.1.4.0 172.1.0.0 10.0.0.0 168.1.0.0 191.2.0.0 194.2.4.0 191.0.0.0 191.1.0.0 191.1.1.0 191.2.1.0 191.1.2.0 191.2.2.0 191.2.0.0 Addressing by class Hierarchical addressing IP version 4 was designed on the principle of addressing by class Address bits are divided between network ID and host ID IPv4 addressing is not hierarchical. It does not allow the representation of several low-level addresses from the high- level ones A hierarchical addressing system works similarly to the public telephone numbering scheme (country code, regional code, etc.) IP version 4 fut initialement créé selon une structure d’adressage par classe qui divise les bits d’adressage entre le réseau et le système hôte. Cette structure n’est pas hiérarchique, c’est-à-dire qu’elle ne permet pas à une adresse de haut niveau de représenter plusieurs adresses de plus bas niveau. Les systèmes d’adressage hiérarchique fonctionnent de la même façon que le réseau téléphonique (code de pays, code régional) permettant aux commutateurs longue distance d’aiguiller les appels au bon pays et à la bonne région en utilisant seulement une portion du numéro de téléphone. À mesure que l’Internet croît, on se rend compte de la non-efficacité de l’adressage non hiérarchique de IP version 4. Les limitations de l’adressage IP version 4 gênent l’interréseautage autant au niveau local que global. Pour pallier aux déficiences d’IP version 4 au niveau du réseau local, le sous-réseautage a été développé pour permettre une division plus granulaire des grands réseaux. Avec le sous-réseautage, une adresse de réseau peut supporter plusieurs réseaux physiques (une adresse de classe C peut être utilisée pour accéder plusieurs réseaux physiques).
IP version 6 Terminology Node Any device that implements IPv6. Router A node that forwards packets that are not specifically addressed to it. Upper layer The protocol layer immediately above IPv6. For example: transport protocols such as TCP and UDP, control protocols such as ICMP, routing protocols like OSPF and the lower or same level protocols that are tunnelled (encapsulated) in IPv6, such as IPX, AppleTalk, IPv4 or IPv6 itself. Link A communication resource or medium by which nodes can communicate at the link level, i.e., the layer immediately below IPv6. For example: Ethernet (direct or bridged); PPP, X.25, Frame Relay or ATM networks; and same or upper layer protocols that are tunnelled (encapsulated), such as IPv4 or IPv6 itself. Neighbours Nodes that are attached to the same link
IP version 6 Terminology Interface A node’s attachment point to a link Address An IPv6 identifier for an interface or a group of interfaces Packet An IPv6 header and its transported data Link MTU the maximum transmission unit, i.e., maximum packet size in octets, that can be conveyed in one piece over a link Path MTU the minimum link MTU of all the links in a path between a source node and a destination node
Destination IP address Extension header (Optional) IP version 6 Packet 1 6 7 8 9 2 3 4 5 VERS Flow Label Payload Length Next Header Source IP address Hop Limit Destination IP address Extension header (Optional) Traffic Class Data 40 BYTES Une bonne façon de commencer l’étude en profondeur de IP version 6 est de comparer le nouvel entête IP version 6 avec l’entête IP version 4. Les deux entêtes indiquent la version de IP et les adresses de source et de destination, mais l’entête IP version 6 a été considérablement simplifié, ce qui rend le routage plus efficace. Contrairement aux entêtes IP version 4, les entêtes IP version 6 sont d’une longueur fixe de 40 octets. L’efficacité du traitement a été améliorée en réduisant le nombre de champs d’entête requis dans IP version 6. L’entête IP version 4 classique contient 14 champs alors que l’entête IP version 6 en compte 8. En plus du champ « longueur de l’entête », certains autres champs IP version 4 ont été éliminés : Type-of-service, fragment offset, identification, flags, checksum, et header length.
IP version 6 characteristics IPv6 addresses are assigned to interfaces, not nodes: An interface can be assigned more than one IPv6 address Hierarchical routing and improved addressing: 128-bits addresses instead of 32 bits. (~3.4 * 1038) 340,282,366,920,938,463,463,374,607,431,768,211,456 in all! 1030 addresses per person on Earth! Simplified header format: Fixed length – 40 bytes Reduces packet processing costs in routers IP version 6 (IP version 6) est la nouvelle version du protocole Internet devant succéder à la version 4 (IP version 4) [RFC-791]. Les modifications apportées par la version 6 touchent principalement les fonctions suivantes : Routage et adressage améliorés : La longueur des adresses est passée de 32 à 128 bits afin de supporter plus de niveaux d’adressage hiérarchique, plus de nœuds adressables et une auto-configuration simplifiée des adresses. Le caractère évolutif du routage Multicast a été amélioré en ajoutant un champ « scope » aux adresses Multicast. Un nouveau type d’adresse, l’adresse anycast a été ajoutée. Elle est utilisée pour envoyer des paquets à n’importe quel membre d’un groupe de nœuds. Format d’entête simplifié : Certains champs d’entête de la version 4 ont été retirés ou sont devenus optionnels afin de réduire les coûts de traitement associés au transport des paquets et de limiter les coûts de bandes passantes associés à l’entête IP version 6. Support des extensions et des options amélioré : Les modifications apportées à l’encodage des options d’entête IP permettent un réacheminement efficace et moins de contraintes quant aux limites de la longueur des options. Elles permettent aussi une plus grande flexibilité pour l’ajout de nouvelles options. Identification d’une séquence : Une nouvelle caractéristique a été ajoutée permettant le marquage de paquets appartenant à une séquence de paquets pour laquelle l’émetteur a demandé un traitement particulier. Par exemple, cette fonction permet le support d’un service en temps réel ou d’une qualité de service autre que la qualité de service de défaut. Possibilités d’authentification et de confidentialité : Des extensions servant à l’authentification, à l’intégrité et à la confidentialité des données (facultatif) ont été prévues dans la version 6.
IP version 6 characteristics Improved header extensions and options: Options are included by adding a header extension Greatly simplifies adding new options in the future Quality of service and sequence identification: A packet sequence is identified through the use of labels Authentication and encryption IP version 6 (IP version 6) est la nouvelle version du protocole Internet devant succéder à la version 4 (IP version 4) [RFC-791]. Les modifications apportées par la version 6 touchent principalement les fonctions suivantes : Routage et adressage améliorés : La longueur des adresses est passée de 32 à 128 bits afin de supporter plus de niveaux d’adressage hiérarchique, plus de nœuds adressables et une auto-configuration simplifiée des adresses. Le caractère évolutif du routage Multicast a été amélioré en ajoutant un champ « scope » aux adresses Multicast. Un nouveau type d’adresse, l’adresse anycast a été ajoutée. Elle est utilisée pour envoyer des paquets à n’importe quel membre d’un groupe de nœuds. Format d’entête simplifié : Certains champs d’entête de la version 4 ont été retirés ou sont devenus optionnels afin de réduire les coûts de traitement associés au transport des paquets et de limiter les coûts de bandes passantes associés à l’entête IP version 6. Support des extensions et des options amélioré : Les modifications apportées à l’encodage des options d’entête IP permettent un réacheminement efficace et moins de contraintes quant aux limites de la longueur des options. Elles permettent aussi une plus grande flexibilité pour l’ajout de nouvelles options. Identification d’une séquence : Une nouvelle caractéristique a été ajoutée permettant le marquage de paquets appartenant à une séquence de paquets pour laquelle l’émetteur a demandé un traitement particulier. Par exemple, cette fonction permet le support d’un service en temps réel ou d’une qualité de service autre que la qualité de service de défaut. Possibilités d’authentification et de confidentialité : Des extensions servant à l’authentification, à l’intégrité et à la confidentialité des données (facultatif) ont été prévues dans la version 6.
IP version 6 packet compared to the IP version 4 datagram Both headers carry the IP version number and the source and destination addresses Many IP version 4 fields are removed from IP version 6: Type-of-Service, Fragment Offset, Identification, Flags, Checksum and Header Length IP version 6 reduces the need for header fields: IP version 4 header = 14 fields IP version 6 header = 8 fields
IP version 6 packet compared to the IP version 4 datagram The Type of Service (ToS) field functionality in IP version 4 was transferred to 2 new IP version 6 fields: Flow Label and Traffic Class The fragmentation fields of IP version 4 become options in IP version 6 (Offset, Identification and Flags) The Checksum field in IP version 4 was dropped: Data integrity if left to the layer above
Destination IP Address Destination IP Address IP packet - VERS VERS The VERS field indicates the IP version used in this packet New version is 6 1 6 7 8 9 2 3 4 5 VERS Traffic Class Flow Label Payload Lenght Next Header Hop Limit Vers : Version du protocole IP (IP version 6 est 6). Source IP Address Source IP Address Destination IP Address Destination IP Address Data
IP packet - Traffic Class This 8-bit field is used by source nodes and routers to mark or distinguish between different traffic classes or priorities Similar to the TOS field in IP version 4 1 6 7 8 9 2 3 4 5 VERS Traffic Class Flow Label Payload Lenght Next Header Hop Limit Un champ de 8 bits ,appelé « classe de trafic », est disponible dans l’entête IP version 6. Il peut être utilisé par la source et/ou les routeurs pour identifier et distinguer les différentes classes ou priorités des paquets IP version 6. Depuis le début de la ratification de la version IP version 6, certains essais ont été réalisés avec l’utilisation des bits de préséance et de type de service de IP version 4 pour différencier les types de trafic. Le champ « classe de trafic » de l’entête IP version 6 aura une fonction similaire. Source IP Address Source IP Address Destination IP Address Destination IP Address Data
Destination IP Address IP packet - Flow Label Flow Label This 20-bit field indicates that the packet is part of a sequence of packets and requires special attention from the router (RFC 3697) 1 6 7 8 9 2 3 4 5 VERS Traffic Class Flow Label Payload Lenght Next Header Source IP Address Hop Limit Destination IP Address Data Flow Label : Comme le champ priorité, le champ Flow Label est utilisé pour le trafic temps réel. La source utilise les 20 bits du champ pour étiqueter une séquence de paquets qui nécessite une attention particulière du router (IP version 6). La source assigne un numéro aléatoire entre 1 et FFFFF (hex) à une séquence de paquets. Tous les paquets d’une séquence doivent contenir les mêmes adresses de source et de destination, la même priorité et le même Flow Label. Ainsi, ils recevront tous le même traitement tout au long de la route jusqu’à la destination. La combinaison de l’adresse IP et du Flow Label (non égale à 0) identifie le trafic. Un Flow Label égal à « 0 » indique que le paquet n’appartient pas à une séquence spécifique. Cisco transporte l’étiquette (Tag) en tant qu’élément de l’entête IP version 6 (utilise le champ Flow Label de IP version 6 avec une sémantique convenablement modifiée).
IP packet - Payload Length 1 6 7 8 9 2 3 4 5 VERS Traffic Class Flow Label Payload Lenght Next Header Source IP Address Hop Limit Destination IP Address Data This 16-bit field indicates the total length of the packet data, including options (header extensions) 40 bytes PAYLOAD LENGTH The IPv6 header has a fixed, 40-byte length The data field (payload) can contain up to 64kB of data 1 6 7 8 9 2 3 4 5 VERS Traffic Class Flow Label Payload Lenght Next header Source IP Address Hop Limit Destination IP Address Data Une des premières composantes de IP version 4 a être éliminée est le champ « longueur de l’entête » qui n’est plus requis puisque l’entête IP version 6 est de longueur fixe. Le champ « longueur totale » de IP version 4 est devenu le champ Payload Length (40 octets). Le nouveau champ Payload Length peut accommoder des paquets jusqu’à 64K octets. Les paquets plus grands, appelés Jumbo-Grams, peuvent être acheminés par les routeurs si le champ Payload Length indique la valeur « 0 » et qu’une extension d’entête spéciale est ajoutée.
Destination IP Address IP packet - Next Header Next Header Protocols ICMP 1 TCP 6 UDP 17 Extension headers Fragmentation 44 Authentication 51 Indicates the type of header that immediately follows the IPv6 header 1 6 7 8 9 2 3 4 5 VERS Traffic Class Flow Label Payload Lenght Next Header Source IP Address Hop Limit Destination IP Address Data IP version 6 remplace le champ « type de protocole » par un champ « entête suivant » Next Header) qui indique le protocole transporté dans le prochain entête d’extension ou dans le Payload Header (TCP/UDP ou entête optionnel IP version 6). Replaces the Protocol field in IPv4
Extension headers Extension header Extension header Transport header IP version 6 header Extension header Extension header Transport header Data (Payload) The extension headers replace the Options in IP version 4 Most extension headers are not processed by routers until the packet reaches the end of its path Improves router performance with packets containing options Very different from IP version 4, where: All options must be processed by all routers in the path Header has unlimited length, as opposed to 40 option bytes with IPv4 Les champs d’options de la version 4 ont été remplacés, dans la version 6, par des entêtes d’extension flexibles qui s’insèrent après l’entête IP version 6 principale et avant l’entête de transport. Les entêtes d’extension IP version 6 sont facultatifs. Ils offrent des fonctions puissantes permettant d’assurer la sécurité, la fragmentation, le Source Routing, la gestion du réseau et plusieurs autres fonctions. Un paquet IP version 6 peut contenir un nombre quasi illimité d’entêtes d’extension entre l’entête IP version 6 et l’entête du protocole du niveau 4 (ex : le protocole TCP). La plupart des entêtes d’extension IP version 6 ne sont ni examinés, ni traités par les routeurs intermédiaires et ce, jusqu’à la destination finale. Ce procédé améliore la performance des routeurs. En comparaison, avec le protocole IP version 4, toutes les options contenues dans les paquets sont examinées par le routeur. Contrairement à IP version 4, les options IP version 6 sont de longueur arbitraire. Leur taille n’est pas limitée à 40 octets. Cette caractéristique, jumelée à la façon dont les options sont traitées, permettent d’offrir des fonctions supplémentaires non supportées par le protocole IP version 4. Par exemple, les options d’authentification et de confidentialité.
Extension headers New method to process options Extension headers are added after the IPv6 header Extension headers are daisy chained IPv6 Header Next Header = TCP TCP Header + Data IPv6 Header Next Header = Routing Routing Header Next Header = TCP TCP Header + Data IPv6 Header Next Header = Routing Routing Header Next Header = ESP ESP Header Next Header = TCP TCP Header + Data
Extension headers Hop-by-Hop option header (0): Routing header (43): Used to include options that must be processed by routers along the path (ex.: resources reservation using RSVP) Routing header (43): Explicitly defines the route to be used by packets in the network (ex. : Source Routing) Fragmentation header (44): Used to send a packet with a MTU higher than the path MTU Only source nodes can fragment packets with the proper MTU, contrary to IP version 4 where routers did the fragmentation L’entête d’option Hop-by-Hop : Est utilisé pour transporter des informations optionnelles qui doivent être examinées par tous les nœuds sur la route. Cette option est identifiée par la présence d’un « 0 » dans le champ Next Header de l’entête IP version 6. L’entête de routage : Est une incarnation de la fonction Source Routing actuellement supportée par IP version 4. Cet entête optionnel permet à la source de spécifier une liste d’adresses IP qui dictent la route à suivre pour ce paquet. Cette option est indiquée par la présence du nombre « 43 » dans le champ Next Header de l’entête qui précède. L’entête de fragmentation : Est utilisé par une source IP version 6 pour envoyer un paquet plus large que le Path MTU. Contrairement à IP version 4, la fragmentation des paquets IPv6 est réalisée par la source seulement et non par les routeurs présents sur la route. L’entête de fragmentation est indiqué par la présence du nombre « 44 » dans le champ Next Header de l’entête qui précède.
Extension headers Destination Options header (60): Used to transport general purpose option information that will be processed by the destination node Authentication header (51): Allows the verification that a packet was transmitted by the rightful source. Protects against hackers that change the source IP addresses of their traffic to borrow someone else’s identity (IP spoofing) Encrypted Security Payload (ESP) header (50): Allows encryption of the payload data L’entête d’options de destination : Est utilisé pour transporter des informations optionnelles qui seront examinées par le nœud de destination seulement. Cet entête est identifié par la présence du nombre 60 dans le champ Next Header de l’entête précédent. L’entête d’extension d’authentification : Donne, aux applications de réseau, la certitude que le paquet provient d’une source authentique. Cette option vise à combattre les Hackers qui utilisent une adresse IP connue du réseau pour accéder des informations sécurisées. L’entête d’encryption : L’authentification élimine un certain nombre d’intrusions mais n’empêche pas les Hackers de lire les informations qui transitent par Internet ou par le réseau dorsal d’une entreprise. Cette fonction est adressée par le service Encapsulating Security Payload (ESP) de IPv6 qui encode les données.
Next header - Protocols Decimal Keyword Protocol 0 HOPOPT IP version 6 Hop-by-Hop Option 1 ICMP Internet Control Message 2 IGMP Internet Group Management 3 GGP Gateway-to-Gateway 4 IP IP in IP (encapsulation) 5 ST Stream 6 TCP Transmission Control 7 CBT CBT 8 EGP Exterior Gateway Protocol 9 IGP Private Interior Gateway 10 BBN-MON BBN-RCC Monitoring 11 NVP-II Network Voice Protocol 12 PUP PUP 13 ARGUS ARGUS 14 EMCON EMCON 15 XNET Cross Net Debugger 16 CHAOS Chaos 17 UDP User Datagram 18 MUX Multiplexing 19 DCN-MEAS DCN Measurement Subsystems 20 HMP Host Monitoring 21 PRM Packet Radio Measurement 22 XNS-IDP XEROX NS IDP 23 TRUNK-1 Trunk-1 24 TRUNK-2 Trunk-2 25 LEAF-1 Leaf-1 26 LEAF-2 Leaf-2 27 RDP Reliable Data Protocol Decimal Keyword Protocol 28 IRTP Internet Reliable T.P. 29 ISO-TP4 ISO Transport Class 4 30 NETBLT Bulk Data Transfer 31 MFE-NSP MFE Network Services 32 Merit-INP MERIT Internodal Protocol 33 SEP Sequential Exchange 34 3PC Third Party Connect Protocol 35 IDPR Inter-Domain Policy Routing Protocol 36 XTP XTP 37 DDP Datagram Delivery Protocol 38 IDPR-CMTP IDPR Control Message Transport Protocol 39 TP++ TP++ Transport Protocol 40 IL IL Transport Protocol 41 IP version 6 IP version 6 42 SDRP Source Demand Routing Protocol 43 IPv6-Route Routing Header for IP version 6 44 IPv6-FRAG Fragment Header for IP version 6 45 IDRP Inter-Domain Routing Protocol 46 RSVP Reservation Protocol 47 GRE General Routing Encapsulation 48 MHRP Mobile Host Routing Protocol 49 BNA BNA 50 ESP Encap Security Payload for IPv6 51 AH Authentication Header for IPv6 52 I-NLSP Integrated Net Layer Security 53 SWIPE IP with Encryption RFC - 1700.
Next header - Protocols Decimal Keyword Protocol 54 NARP NBMA Address Resolution Protocol 55 MOBILE IP Mobility 56 TLSP Transport Layer Security Protocol using Kryptonet key management 57 SKIP SKIP 58 IPv6-ICMP ICMP for IPv6 59 IPv6-NoNxt No Next Header for IPv6 60 IPv6-Opts Destination Options for IPv6 61 Any host internal protocol 62 CFTP CFTP 63 Any local network 64 SAT-EXPAK SATNET and Backroom EXPAK 65 KRYPTOLAN Kryptolan 66 RVD MIT Remote Virtual Disk Protocol 67 IPPC Internet Pluribus Packet Core 68 Any distributed file system 69 SAT-MON SATNET Monitoring 70 VISA Visa Protocol 71 IPCV Internet Packet Core Utility 72 CPNX Computer Protocol Network Executive 73 CPHB Computer Protocol Heart Beat 74 WSN Wang Span Network 75 PVP Packet Video Protocol 76 BRSAT-MON Backroom SATNET Monitoring 77 SUN-ND SUN ND PROTOCOL-Temporary 78 WB-MON WIDEBAND Monitoring 79 WB-EXPAK WIDEBAND EXPAK Decimal Keyword Protocol 80 ISO-IP ISO Internet Protocol 81 VMTP VMTP 82 SECURE-VMTP SECURE-VMTP 83 VINES VINES 84 TTP TTP 85 NSFNET-IGP NSFNET-IGP 86 DGP Dissimilar Gateway Protocol 87 TCF TCF 88 EIGRP EIGRP 89 OSPFIGP OSPFIGP 90 Sprite-RPC Sprite RPC Protocol 91 LARP Locus Address Resolution Protocol 92 MTP Multicast Transport Protocol 93 AX.25 AX.25 Frames 94 IPIP IP-within-IP Encapsulation Protocol 95 MICP Mobile Internetworking Control 96 SCC-SP Semaphore Communications 97 ETHERIP Ethernet-within-IP Encapsulation 98 ENCAP Encapsulation Header 99 any private encryption scheme 100 GMTP GMTP 101-122 Assigned 123-254 Unassigned 255 Reserved RFC - 1700.
Destination IP Address IP packet - Hop Limit HOP LIMIT TTL=5 TTL=6 TTL=6 TTL=4 TTL=3 TTL=5 TTL=3 TTL=2 TTL=0 TTL=4 TTL=1 1 6 7 8 9 2 3 4 5 VERS Traffic Class Flow Label Payload Lenght Next Header Source IP Address Hop Limit Destination IP Address Data Replaces the Time to Live (TTL) in IP version 4 (in seconds). Most routers will decrement the value by 1 every time, thus the term Hop Limit . Hop limit Ce champ indique, la durée de vie maximum d’un datagramme IP sur un réseau Internet. Les messages qui ne peuvent être livrés à leur destination sont automatiquement détruits lorsque leur durée de vie atteint 0. La durée de vie est gérée par un compteur décrémenté à chaque fois que le datagramme traverse un nœud. Lorsque le compteur atteint « 0 », le paquet est détruit. Voici, par exemple, les valeurs par défaut du champ TTL par produit : Win95 : 32 NT 4.0 : 128
IP packet - Source and Destination addresses 128 bits in length. To save space, the IPv6 address is represented in hexadecimal Source Address indicates where the packet is coming from Destination Address indicates where the packet is going to 1 6 7 8 9 2 3 4 5 VERS Traffic Class Flow Label Payload Lenght Next Header Hop Limit Source IP Address Source IP Address Destination IP Address Destination IP Address Data
IP version 6 address notation in hexadecimal 16 . 128 . 0 . 0 . 0 . 0 . 0 . 0 . 0 . 8 . 8 . 0 . 32 . 12 . 65 . 122 00010000.10000000.00000000.00000000.00000000.00000000.00000000. 00000000.00000000.00001000.00001000.00000000.00100000.00001100.01000001.01111010 00010000 10000000 :00000000 00000000 :00000000 00000000:00000000 00000000:00000000 00001000 :00001000 00000000:00100000 00001100:01000001 01111010 16 bits 16 bits 16 bits 16 bits 16 bits 16 bits 16 bits 16 bits 1080 : 0000 : 0000 : 0000 : 0008 : 0800 : 200C : 417A
IP version 6 address notation Preferred format 16 bits 1080 : 0 : 0 : 0 : 8 : 800 : 200C : 417A Shorthand format 16 bits Il existe deux formats conventionnels de représentation d’adresses IP version 6 : Format préféré : Le format est x :x :x :x :x :x :x :x, les « x » représentant les valeurs hexadécimales des huit blocs de 16 bits de l’adresse. Format abrégé : La méthode d’allocation des adresses IP version 6 montre qu’il est commode de « mettre » des bits à 0 au milieu des adresses. Le format abrégé consiste à éliminer les séries de bits à « 0 ». L’écriture de deux « : : » indique un ou plusieurs groupes de 16 bits à zéro. Le signe « : : » ne peut apparaître qu’une seule fois dans l’adresse. Ce signe peut également être utilisé afin de remplacer les zéros apparaissant au début ou à la fin de l’adresse. Format mixte : Dans un environnement combinant les versions 4 et 6 de IP, il est possible d’utiliser une représentation textuelle de la forme : x :x :x :x :x :x :d.d.d.d, les « x » représentant les valeurs hexadécimales des 6 premiers champs de 16 bits et les « d », les valeurs décimales des 4 derniers champs de 8 bits de l’adresse (correspondant à l’adresse IP version 4). 1080 : : 8 : 800 : 200C : 417A
IPv6 address prefix IP version 6 address Prefix length 16 bits Network Subnet Host Prefix 12AB : 0000 : 0000 : CD30 : 0000 : 0000 : 0000 : 0000 / 64 Prefix length = network + subnet portions Identifies the number of bits in the prefix Prefix notation is identical as the one used in IPv4 for classless inter domain routing (CIDR) In a URL, the IPv6 address is represented inside square brackets: http://[1080::8: 800:200C:417A]:8080/index.html Network browser must be modified Usage of FQDN (Fully Qualified Domain Names) is preferable La représentation textuelle du préfixe d’adresse IP version 6 est similaire à celle du préfixe d’adresse IP version 4 écrit en format CIDR. Le préfixe d’adresse IP version 6 est noté de la façon suivante : IP version 6-adresse/longueur du préfixe La longueur du préfixe, représentée par une valeur décimale, spécifie combien de bits de l’adresse, en partant de la gauche, font partie du préfixe. CIDR : Classless Interdomain Routing
Exercise Which of the addresses below do not represent the following IPv6 address? 12AB :0000 :0000 :CD30 :0000 :0000 :0000 :0000 / 64 12AB : :CD30 :0000 :0000 :0000 :0000 / 64 12AB :0 :0 :CD30 :0 :0 :0 :0 / 64 12AB :0 :0 :CD30 : : / 64 12AB : : CD30 : : /64 12AB :0 :0 :CD30 / 64 12AB :0 :0 :CD3 / 64 12AB : :CD30 / 64 12AB : :CD3 / 64 Les quatres dernières sont incorrectes.
IPv6 address structure Address are allocated to interfaces: No change with regards to IPv4 Each interface is expected to have multiple IPv6 addresses Addresses have a reach: Link Local Site Local Global Global Site-local Link-local
IPv6 address structure An IPv6 address has a limited lifetime Valid Address-Lifetime Stateful mode: The valid address-lifetime value will be assigned by the DHCPv6 server in stateful mode Stateless mode: The valid address-lifetime is calculated based on the Address-Prefix Lifetime (included in the Router Advertisement Message) in stateless mode An IPv6 address for which the valid address-lifetime has expired cannot be used Default : 2592000 seconds (30 days), fixed Preferred Address-Lifetime An IPv6 address for which the preferred address-lifetime has expired is called an Invalid Address. Such addresses can still be used for the current transaction but must not be used for new TCP connections Default value: 604800 seconds (7 days), fixed
IPv6 address structure 128 bits/16 bytes 3 45 bits 16 bits 64 bits FP Global Routing Prefix SLA ID Interface ID « Network » « Subnet » « Host » FP Format Prefix (Address type) SLA ID Site-Level Aggregation Identifier INTERFACE ID Interface Identifier RFC 2374 includes two more hierarchical fields: TLA et NLA. IETF decided to remove the TLA et NLA fields because they are dependant on local policies from service providers Comme illustré, les 3 premiers bits de l’adresse indiquent de quel type d’adresse il s’agit (Unicast, Multicast, etc.). Le RFC 2374 pour les adresses globales aggrégables définit les 13 bits suivants comme étant alloués aux différents « TLA » à travers le monde. Les fournisseurs de plus bas niveau et les abonnés disposent des 32 bits qui suivent. La hiérarchie dépendant des politiques de chaque fournisseur (FSI/ISP), ces champs ont donc été remplacé par un Global Routing Prefix (GRP). C’est tout ce qui importe pour les architectes qui veulent construire des réseaux d’entreprise. Les fournisseurs peuvent diviser le champ d’adresse « NLA » afin de créer leur propre hiérarchie, de façon à représenter la structure actuelle des « ISP », où les petits « ISP » dépendent des « ISP » de plus haut niveau. À la suite de l’identification du « NLA » on retrouve des champs utilisables pour les informations de réseautage de l’abonné : Site Level Aggregator (SLA) et l’identification d’interface. Typiquement, les fournisseurs de services donnent un bloc d’adresses continues aux abonnés qui sont ensuite utilisées par les entreprises afin de créer leur propre adressage local. Les 16 bits du champ « SLA » supportent jusqu’à 65,535 sous-réseaux. Les 64 bits d’identification de l’interface sont habituellement dérivés de l’adresse IEEE de la carte de réseau local installée dans l’équipement.
Address allocation structure Addresses are allocated by IANA : Delegated to the Regional Internet Registries (RIRs). Then delegated to Tier-1 providers: (Also known as Top-level Aggregators (TLA)) Only about a dozen providers can be considered Tier 1 at the top of the IPv4 hierarchy. Next to intermediate providers: (Also known as Next-level Aggregators (NLA)) Then to sites (Also known as Site-level Aggregators (SLA)) Then to subnets… IPv6 Address Space Management www.ripe.net/ripe/docs/ipv6-sparse.html
Address allocation structure IANA allocates addresses to the RIRs RIR allocates /32 networks to the Tier-1 providers (LIR) LIR can allocate any size network to its subordinate ISP (usually /48) ISP/site has 16 bits available for subnets 216 subnets per site = 65536 subnets Remaining 64 bits for the interface identifiers Total = 128 bits. Usage of the first 48 bits is based on policy (therefore it can change with time…) Reference: http://www.ripe.net/ripe/docs/ipv6policy.html
Address allocation structure There are currently four Regional Internet Registries: RIPE NCC Réseaux IP Européens Network Coordination Centre http://www.ripe.net ARIN American Registry for Internet Numbers http://www.arin.net APNIC Asia Pacific Network Information Centre http://www.apnic.net LACNIC Latin American and Caribbean IP address Regional Registry http://lacnic.net To determine under which RIRs a county is covered, use list of country codes (http://www.ripe.net/ripencc/mem-services/general/rir-areas.html).
Hierarchical routing Africa Europe Tier 1 Tier 1 Site Site Site Site Intermediate Provider Intermediate Provider Intermediate Provider Intermediate Provider Intermediate Provider Intermediate Provider Les routeurs du réseau dorsal Internet maintiennent aujourd’hui 40 000 routes et plus. Comme Internet continu de croître, l’application de la hiérarchie de routage de IP version 6, représente la seule méthode viable permettant de garder le contrôle sur la grosseur des tables de routage des routeurs du réseau dorsal d’Internet. Avec l’adressage hiérarchique basé sur les fournisseurs de différents niveaux, les réseaux internes des abonnés peuvent être contactés à travers un ou plusieurs fournisseurs établis à différents niveaux hiérarchiques. IP version 6 a été créé en se basant sur l’expérience acquise avec la version 4. Cette nouvelle version répond aux besoins engendrés par la croissance des plages d’adresses qui peuvent être partitionnées en une hiérarchie de routage efficace et flexible. À la tête de la hiérarchie, plusieurs bureaux internationaux assignent des blocs d’adresses aux « TLA ». Les « TLA » sont essentiellement des points publics de transit où les fournisseurs longues distances et les telcos établissent des points d’interconnexions. Les « TLA » assignent, à leur tour, des blocs d’adresses au niveau hiérarchique suivant soit les Next Level Aggragators (NLA) qui sont de grands fournisseurs Internet ou de grandes entreprises. Dans le cas ou le « NLA » est un fournisseur de services, il assigne ses adresses à ses abonnés. Le routage devient hiérarchique car les « NLA » sous un même « TLA » auront des adresses possédant le même préfixe « TLA ». Les abonnés d’un même fournisseur auront des adresses du même préfixe « NLA ». Cette technique d’adressage hiérarchique permet aux routeurs à travers le globe de bâtir efficacement les tables de routage à l’aide des niveaux hiérarchiques. La route vers le réseau de destination peut rapidement être déterminée avec seulement le préfixe d’adresse « TLA ». Les plages d’adresses hiérarchiques de IP version 6 permettent la décentralisation de l’allocation des adresses. Les fournisseurs de services peuvent allouer des plages d’adresses sans passer par une autorité supérieure, ce qui élimine la bureaucratie en partie responsable du ralentissement de la croissance du réseau Internet. Site Site Site Site Site Site Site Site Tier 1 : Top-Level Aggregator (provider) Intermediate provider : Next-Level Aggregator (provider) Site : Site-Level Aggregator (end-user)
X Types of IPv6 addresses A B C D E A B C D E A B C D E 1) Unicast (point to point) A B C D E 2) Multicast (point to multipoint) A B C D E X 3) Broadcast (point to multipoint) A B C D E Il existe trois types d’adresses IP. 1) Unicast : Une adresse Unicast indique que le paquet IP est destiné à un seul nœud. Si un système désire envoyer le même paquet IP à deux destinations, il doit émettre sur le réseau deux paquets munis de 2 adresses de destination différentes. L’envoi d’un paquet Unicast ne gêne pas les autres hôtes reliés au même réseau. La très grande majorité des communications à ce jour utilise des adresses Unicast. 2) Broadcast : Une adresse de Broadcast indique que le paquet IP est destiné à tous les hôtes d’un même réseau. Lorsqu’un système désire envoyer le même paquet IP à deux destinations ou plus, il émet un seul paquet sur le réseau en utilisant une adresse de Broadcast comme destination. L’envoi de ce type de paquet est très efficace si on désire que tous les hôtes d’un même réseau reçoivent la même information. Mais si le paquet n’est pas destiné à tous les hôtes, tous doivent quand même le traiter pour savoir s’ils doivent le remettre aux couches supérieures. Il y a deux adresses principales de Broadcast : Limitée au réseau local (255.255.255.255); Dirigée vers un réseau local ou externe (ex. : 172.31.255.255/16). 3) Multicast: Une adresse Multicast indique que le paquet IP est destiné à un groupe d’hôtes appartenant à un groupe. Les adresses Multicast peuvent être envoyées sur plusieurs réseau IP. La seule différence entre un paquet IP Multicast et un paquet IP Unicast est la présence d’une « adresse de groupe » dans le champ « adresse de destination » de l’entête IP. Au lieu d’utiliser une adresse de classe A, B ou C, Multicast utilise une adresse de classe D (224.0.0.0 à 239.255.255.255).
Types of IPv6 addresses – RFC 3513 Different types of IPv6 addresses are recognised by their most significant bits, currently defined as follows: Address Type Binary prefix IPv6 Notation Non specified 00...0 (128 bits) ::/128 Loopback 00...1 (128 bits) ::1/128 Multicast 11111111 FF00::/8 Link-local unicast 1111111010 FE80::/10 Site-local unicast 1111111011 FEC0::/10 Global unicast (everything else) In future specifications, it is possible that the global unicast address range be modified to meet different needs. So far however and until further notice, IPv6 implementations must process all the prefixes defined above as global unicast addresses.
Reserved addresses DHCP server Unspecified address Loopback address 0 :0 :0 :0 :0 :0 :0 :0 or :: Used as source address for all IP version 6 packets transmitted by a node that is initializing itself before it obtains an address from the DHCP server Also used for Duplicate Address Detection (DAD) Loopback address 0 :0 :0 :0 :0 :0 :0 :1 or ::1 Used by a node that transmits a packet to itself Serves the same purpose as 127.0.0.1 in IP version 4 L’adresse 0 :0 :0 :0 :0 :0 :0 :0 est appelée Unspecified Address. Elle ne doit jamais être assignée à un nœud. Elle indique l’absence d’adresse. Elle peut être insérée dans le champ d’adresse de source d’un paquet IP version 6 envoyé par un hôte avant qu’il ait obtenu son adresse d’un serveur DHCP. Un paquet IP version 6 ne doit jamais utiliser cette adresse dans le champ d’adresse de destination. On appelle « adresse de bouclage » ou Loopback Address, l’adresse 0 :0 :0 :0 :0 :0 :0 :1. Un nœud IP version 6 utilise cette adresse pour s’envoyer un paquet. Elle ne doit jamais être assignée à un nœud. Elle a été conçue pour être assignée à une interface virtuelle (Loopback Interface). L’adresse de bouclage ne doit évidemment pas être utilisée comme adresse de source ou de destination pour un paquet devant être acheminé sur un réseau.
Link-Local Addresses Switch/Hub Address with a scope that stays within a local link (LAN, subnet) Used for networks that are not connected to the Internet or do not have a router Each node’s interfaces have a private, link-local address that is valid on the network A link-local address is representative of a single network Switch/Hub Les petits sites, composés de quelques machines branchées en réseau local, ne requièrent pas de routeurs ou de Stateful Server pour communiquer. Les Link-Local Addresses se composent d’un préfixe bien connu, identifiant le lien sur lequel les machines se rattachent et du numéro d’identification d’interface, identifiant le système hôte.
Link-Local Addresses Network Host 10 bits 54 bits 64 bits 1111111010 Interface ID Network Host FE80 : 0000 : 0000 : 0000 : 0290 : 27FF : FE17 : FC0F Automatically configured on every interface using the interface’s MAC address FE80 : : <Interface ID> Link-Local addresses are only used locally They are the only ones used on a LAN without a router Their scope does not go beyond the local link Routers will not forward packets with a link-local source or destination addresses Les Link-Local Addresses sont destinées aux besoins internes d’une entreprise et ne sont pas régies ou assignées par une autorité publique.
EUI-64 Interface Identifier RFC 2464 (IP version 6 over Ethernet). Auto-configuration in Stateless mode: EUI-64 Interface Identifier Mac address 00-90-27-17-FC-0F 00 90 27 17 FC 0F 00 90 27 17 FC 0F 00 90 27 FF FE 17 FC 0F FF FE U Universal/Local (U/L) bit 1 = Globally unique 0 = Local scope Les identificateurs d’interfaces doivent comporter 64 bits et doivent respecter le format EUI64 de l’IEEE. Les numéros d’identification d’interface basés sur EUI64 peuvent avoir une portée globale (adresse MAC) ou locale (lien série, tunnel). Il est obligatoire d’inverser le bit « u » (bit universel/local de la terminologie EUI64) lorsque l’identificateur d’interface est formaté à partir de la norme EUI-64. U bit à « 1 » = portée globale U bit à « 0 » = portée locale L’utilisation du bit « u » facilite la configuration manuelle du numéro d’identification d’interface par les administrateurs de réseau. 00 90 27 17 FC 0F FF FE 02 90 27 FF FE 17 FC 0F
Site-Local Addresses Router Subnet A Subnet B Subnet C Switch/Hub Address with a scope within a site (network of subnets) Used in networks that are not connected to the Internet The network is divided in subnets by the router Each node’s interfaces own a private address that is valid for the site Similar to private addresses in IP version 4
Site-Local Addresses Network Subnet Host 10 bits 38 bits 16 bits 1111111011 Subnet ID Interface ID Network Subnet Host FEC0 : 0000 : 0000 : XXXX : 0290 : 27FF : FE17 : FC0F Valid for a site or an organisation Site-Local Addresses are used on private networks that are not connected to the Internet Built from the interface identifier (MAC address) and a 16-bit pre-defined subnet identifier FEC0 : : <Subnet ID> : <Interface Identifier> Therefore: 65,536 possible subnets Routers will not forward outside the network, packets with a site-local source or destination address This address does not have a default value Les Site-Local Addresses sont disponibles pour utilisation interne par les entreprises et ne sont pas assignées par une autorité publique. Elles représentent un moyen flexible d’adressage local ne nécessitant pas d’être globalement unique. Lors du transport, l’ajout d’un préfixe rendra l’adresse globalement unique. Cette technique a l’avantage d’éliminer les changements d’adresses lors du passage d’un ISP à un autre. Ce type d’adressage peut être utilisé pour des applications ayant une portée locale seulement ou lors de l’initialisation d’une station avant qu’elle obtienne une adresse globalement unique.
Aggregatable Global Unicast Address Used for networks that are connected to the internet Each node’s interfaces own a public address valid on the Internet. Internet Tier-1 Intermediate provider Site Router Switch/Hub Subnet A Subnet B Subnet C
Aggregatable Global Unicast Address RFC 2374 Public global address obtained from an Internet service provider 128 bits/16 octets 3 45 bits 16 bits 64 bits FP Global Routing Prefix SLA ID Interface ID « Network » « Subnet » « Host » Comme illustré, les 3 premiers bits de l’adresse indiquent de quel type d’adresse il s’agit (Unicast, Multicast, etc.). Le RFC 2374 pour les adresses globales aggrégables définit les 13 bits suivants comme étant alloués aux différents « TLA » à travers le monde. Les fournisseurs de plus bas niveau et les abonnés disposent des 32 bits qui suivent. La hiérarchie dépendant des politiques de chaque fournisseur (FSI/ISP), ces champs ont donc été remplacé par un Global Routing Prefix (GRP). C’est tout ce qui importe pour les architectes qui veulent construire des réseaux d’entreprise. Les fournisseurs peuvent diviser le champ d’adresse « NLA » afin de créer leur propre hiérarchie, de façon à représenter la structure actuelle des « ISP », où les petits « ISP » dépendent des « ISP » de plus haut niveau. À la suite de l’identification du « NLA » on retrouve des champs utilisables pour les informations de réseautage de l’abonné : Site Level Aggregator (SLA) et l’identification d’interface. Typiquement, les fournisseurs de services donnent un bloc d’adresses continues aux abonnés qui sont ensuite utilisées par les entreprises afin de créer leur propre adressage local. Les 16 bits du champ « SLA » supportent jusqu’à 65,535 sous-réseaux. Les 64 bits d’identification de l’interface sont habituellement dérivés de l’adresse IEEE de la carte de réseau local installée dans l’équipement. FP Format Prefix (Address Types) SLA ID Site-Level Aggregation Identifier INTERFACE ID Interface Identifier
Address types prefixes Allocation Prefix (binary) Portion of the total address space Not assigned (See Note 1) 0000 0000 1/256 Not assigned 0000 0001 Reserved for NSAP (OSI) Allocation 0000 001 1/128 [RFC1888] 0000 01 1/64 0000 1 1/32 0001 1/16 Global Unicast Addresses (see Note 2) 001 1/8 [RFC2374] 010 1/8 011 100 101 110 1110 1111 0 1111 10 1111 110 1/128 1111 1110 0 1/512 Link-Local Unicast Addresses 1111 1110 10 1/1024 Site-Local Unicast Addresses 1111 1110 11 Multicast Addresses 1111 1111 Le type spécifique d’une adresse IP version 6 est indiqué par un champ de longueur variable appelé « Format préfix (FP) ». Des plages d’adresses sont réservées pour les adresses « NSAP » et IPX. Les plages Not assignedes sont réservées pour une utilisation future. Actuellement, 15 % de la plage d’adresses IP version 6 est allouée. La distinction entre une adresse Unicast et une adresse Multicast repose sur le premier octet de l’adresse; la valeur « FF » (11111111) indique une adresse Multicast, tandis que n’importe quelle autre valeur indique une adresse Unicast. Les adresses Anycast partagent la même plage que les adresses Unicast et utilisent la même syntaxe. Addresses that are Unspecified (::), Loopback (::1) and IPv6 Addresses with Embedded IPv4 Addresses are allocated from the space within the 0000 0000 prefix For now, IANA limits IPv6 address allocation to the space within the 001 prefix. The remaining global Unicast address space (approximately 85% of the total IPv6 address space) is reserved for future definition
IPv4-compatible IPv6 address IPv6 addresses with embedded IPv4 addresses are global Unicast addresses that begin with the binary prefix 000. One of the transition methods to IPv6 allows a means for nodes and routers to dynamically create IPv6 tunnels allowing transmission of IPv6 packets over an IPv4 infrastructure. Nodes that implement this technique are assigned a special IPv6 address which transports an IPv4 address in it 32 least significant bits. This type of address is call an IPv4-compatible IPv6 address; its format is shown below: 80 bits 16 bits 32 bits IPv4 address Prefix IPv4ID Host 0000 : 0000 : 0000 : 0000 : 0000 : 0000 : 143.23.234.211 The IPv4 address used inside an IPv4-compatible IPv6 address must be a public, globally routable IPv4 address
IPv4-mapped IPv6 address A second type of IPv6 address transporting an IPv4 is also defined. This time, this type of address is used to represent an IPv4 address for a node that does not support IPv6. This type of address is called an IPv4-mapped IPv6 address; its format is shown below: 80 bits 16 bits 32 bits IPv4 address 1111111111111111 Prefix IPv4ID Host 0000 : 0000 : 0000 : 0000 : 0000 : FFFF : 143.23.234.211
Anycast addresses This address type is assigned to a group of interfaces belonging to different nodes. A packet delivered to an Anycast address is sent to one of the interfaces (the closest one, according to the routing protocol’s measure of distance). Anycast addresses are drawn from the Unicast address space (regardless of the scope). In that respect, they are identical from a syntax perspective and cannot be told apart When a Unicast address is assigned to more than one interface (making it an Anycast address), the nodes on which the address exist must be explicitly configured to respond to that address
Anycast addresses An Anycast address, when used in a route sequence, allows a node to select which of many Internet service providers will carry its traffic. This functionality is often referred as source selected policies. This is implemented by configuring Anycast addresses identifying groups of routers belonging to the service providers (i.e., one Anycast address per Internet service provider) These Anycast addresses can be listed in the IPv6 routing header to force delivery of the packet through one or more providers along the path Another possible use of Anycast addresses is to identify the group of routers attached to a particular subnet, or a group of routers providing access to a particular routing domain
Anycast addresses There is very little experience on large-scale deployment of Anycast addresses and the pitfalls and difficulties associated to it Until more experience is derived from actual deployments, the following restrictions are imposed on the use of Anycast addresses : An Anycast address must never be used as the source address of an IPv6 packet. An Anycast address must never be assigned to a end-user (i.e. it should only be assigned to routers)
Anycast addresses Host Prefix The Subnet-Router Anycast address is predefined and described below: n bits 128 - n bits Subnet prefix Prefix Host 3FFE : 0B00 : 0C18 : 0010 : 0000 The subnet prefix in an Anycast address is the prefix that identifies the link. From a syntax perspective, this Anycast address is identical to an Unicast address on that link, with the host identifier set to zero Packets sent to this Subnet-Router Anycast will be delivered to all routers on the network All routers must support Subnet-Router Anycast addresses for all subnets on which they have one or more interfaces. The Subnet-Router Anycast address is designed for applications that need to communicate for any router in the group
Multicast Unicast Multicast Communication from a node to another Communication from one node to many nodes This function replaces the IPv4 broadcast Multicast
Broadcast vs. Multicast ARP Broadcast in IP version 4 : Uses Ethernet broadcast FF-FF-FF-FF-FF-FF Every node on the broadcast domain process the packet, which affect a node’s performance Multicast solicitation in IP version 6 : Uses the Ethernet multicast format: 33-33-FF-17-FC-0F Packets will not necessarily be processed by every node. Nodes recognise their Multicast address and can decide to accept or reject the packet. This technique improves performance since not all stations will have to answer a broadcast request CPU Le multicasting s’avère un utilitaire important dans plusieurs contextes. Par exemple, il permet aux hôtes et aux routeurs d’envoyer les messages de découvertes du voisinage (Neighbor Discovery Messages) seulement aux machines enregistrées dans un groupe spécifique. Cette technique élimine le traitement inutile des paquets par des machines à qui ils ne sont pas destinés. Le Multicasting peut aussi servir sur un réseau local. En formant des groupes Multicast ont peut créer une adresse de Broadcast de sous-réseau.
Multicast addresses - RFC 2375 Multicast address assignment A packet using a Multicast address is destined to the members of the Multicast group only 8 bits 4 bits 4 bits 112 bits 11111111 Flags Scope Group ID Scope 0000 = 0 = Reserved 0001 = 1 = Interface-local 0010 = 2 = Link-local 0011 = 3 = Reserved 0100 = 4 = Admin-local 0101 = 5 = Site-local 1000 = 8 = Organization 1110 = E = Global 1111 = F = Reserved FF 000T XXXX IP version 6 fournit la possibilité d’adresser un groupe prédéfini d’interfaces à l’aide d’une seule adresse Multicast. Tous les membres du groupe recevront et traiteront le paquet utilisant un adresse de destination Multicast. L’adresse Multicast se compose d’un préfixe de 8 bits toujours à « 1 » (11111111), d’un champ flags de 4 bits, d’un champ « portée » (Scope) de 4 bits et d’un champ d’identification du groupe de 112 bits. Le champ Flags se compose de 3 bits « 0 » suivi par un bit « T » où : T = 0 , indique une adresse Multicast permanente assignée par une entité autorisée. T = 1 , indique une adresse Multicast temporaire. Le Group ID identifie un groupe Multicast permanent ou temporaire, pour une portée donnée. Dans le cas des adresses Multicast permanentes, l’adresse demeure indépendante du champ portée (Scope), mais ce champ limite la portée pour un paquet spécifique. Les adresses « multicast » temporaires sont valides seulement pour une certaine portée, permettant la réutilisation de la même adresse de groupe à un site différent ou du moins pour une portée différente. Les autres portées Not assignedes sont disponibles aux administrateurs pour définir des régions multicast additionnelles. Multicast address Flags T = 0 : permanent « well-known » multicast address, assigned by IANA. T = 1 : temporary
Reserved Multicast addresses 1) All Nodes Multicast Address (Link-local multicast) 2) All Routers Multicast Address (Site-local multicast) 3) Solicited Node Multicast Address
All Nodes Multicast Address 8 bits Flags Scope 112 bits 11111111 0000 0010 Group ID FF 0 2 : 0000 : 0000 : 0000 : 0000 : 0000 : 0000 : 0001 A packet with an All Nodes Multicast Address as destination address (FF02 : :1) will be sent to all nodes on the local-link. FF01:0:0:0:0:0:0:1 All nodes multicast with an interface-local scope is also valid Multicast Ethernet address: 33-33-00-00-00-01 To find all stations on a local-link : ping6 ff02::1
All Routers Multicast Address 8 bits Flags Scope 112 bits 11111111 0000 0010 Group ID FF 0 2 : 0000 : 0000 : 0000 : 0000 : 0000 : 0000 : 0002 A packet with an All Routers Multicast Address as a destination address (FF02::2) will be sent to all routers on the local-link. FF01:0:0:0:0:0:0:2 All routers multicast with an interface-local scope is also valid FF05:0:0:0:0:0:0:2 All routers multicast with a site-local scope is also valid Multicast Ethernet address: 33-33-00-00-00-02
Solicited-Node Multicast Address Used to obtain the layer-2 address of a node : Replaces the broadcast used by the Address Resolution Protocol (ARP) in IP version 4. Also used to detect duplicate addresses (DAD) 3FFE : 0B00 : 0C18 : 0001 : 0290 : 27FF : FE17 : FC0E What is your MAC address? 3FFE : 0B00 : 0C18 : 0001 : 0290 : 27FF : FE17 : FC0E L’adresse Multicast ci-contre représente en pratique une fonction des nœuds possédant une adresse Unicast ou Anycast. La Solicited-Node Multicast Address est formée des 24 bits les moins significatifs de l’adresse combinés au préfixe FF02 :0 :0 :0 :0 :1 :FF00 : :/104. Le résultat devient une adresse Multicast couvrant la plage : FF02 :0 :0 :0 :0 :1 :FF00 :0000 to FF02 :0 :0 :0 :0 :1 :FFFF :FFFF Par exemple, la Solicited Node Multicast Address correspondant à l’adresse IP version 6 4037 : :01 :800 :200E :8C6C est FF02 : :1 :FF0E :8C6C. L’utilisation d’un préfixe commun pour les adresses Multicast permet de réduire le nombre d’adresses Multicast auxquelles un noeud doit se joindre. Un nœud doit traiter les Solicited-Node Multicast Addresses associées à chacune des adresses Unicast et Anycast qui lui sont assignées. 3FFE : 0B00 : 0C18 : 0001 : 0290 : 27FF : FE17 : FC0F
Solicited-Node Multicast Address FF02 :0 :0 :0 :0 :1 :FFXX :XXXX A solicited-node multicast address is formed by adding to the above prefix the 24 least significant bits of the solicited node IPv6 Example: If you are looking for this IPv6 Unicast address (the solicited node): 3FFE : 0B00 : 0C18 : 0001 : 0290 : 27FF : FE17 : FC0F You will build a packet with the following IPv6 Solicited-Node Multicast address FF02 : 0000 : 0000 : 0000 : 0000 : 0001 : FF17 : FC0F Then encapsulate it in the following Multicast Ethernet address: 33-33-FF-17-FC-0F
Addresses required for each node One link-local Unicast address for each interface. One site-local OR global Unicast address. One loopback address. All-Nodes Multicast Address. One solicited-node Multicast address for every Unicast address assigned. One Multicast address for every Multicast group the node is a member of.
Addresses required for each node For example, on a Windows XP workstation: 3 pseudo-interfaces (logical, not physical) Interface 1 (called « Loopback Pseudo–Interface »). Is a pseudo-interface used for the loopback address Interface 2 (called « Automatic Tunnelling Pseudo–Interface »). Is a pseudo–interface used for automatic tunnelling of IPv6 in transition scenarios (See section 3, Transition methods) Interface 3 (called « 6to4 Tunnelling, Pseudo–Interface »). Is a pseudo–interface used for 6to4 tunnelling (See section 3, Transition methods) All the other interfaces are numbered sequentially in the order they were created (can be different from one station to another)
Addresses required for each node For example, on a Windows XP workstation: Interface 4: Ethernet: Local Area Connection uses Neighbor Discovery link–layer address: 00-b0-d0-23-47-33 preferred link–local fe80::2b0:d0ff:fe23:4733, life infinite multicast interface–local ff01::1, 1 refs, not reportable multicast link–local ff02::1, 1 refs, not reportable multicast link–local ff02::1:ff23:4733, 1 refs, last reporter, 6 seconds until report link MTU 1500 (true link MTU 1500) current hop limit 128 reachable time 36500ms (base 30000ms) retransmission interval 1000ms DAD transmits 1 Interface 3: 6to4 Tunneling Pseudo–Interface does not use Neighbor Discovery preferred global 2002:9d3c:89d9::9d3c:89d9, life infinite link MTU 1280 (true link MTU 65515) current hop limit 128 reachable time 0ms (base 0ms) retransmission interval 0ms DAD transmits 0 Interface 2: Automatic Tunneling Pseudo–Interface does not use Neighbor Discovery preferred link–local fe80::200:5efe:157.60.137.217, life infinite preferred global ::157.60.137.217, life infinite link MTU 1280 (true link MTU 65515) current hop limit 128 reachable time 0ms (base 0ms) retransmission interval 0ms DAD transmits 0 Interface 1: Loopback Pseudo–Interface does not use Neighbor Discovery link–layer address: preferred link–local ::1, life infinite preferred link–local fe80::1, life infinite link MTU 1500 (true link MTU 1500) current hop limit 128 reachable time 40500ms (base 30000ms) retransmission interval 1000ms DAD transmits 1
Addresses required for each router Same as on any other node : One link-local Unicast address for each interface. One site-local OR global Unicast address. One loopback address. All-Nodes Multicast Addresses. One solicited-node Multicast address for every Unicast address assigned. One Multicast address for every Multicast group the node is a member of. PLUS The All-Routers Multicast address The « Subnet-Router Anycast » address, for each interface for which the router is configure to act as a router Any other Anycast address assigned to the router
Internet Control Message Protocol ICMP version 6 RFC 2463 Protocol ICMP version 6 (IP version 6 Next Header = 58) Similar to ICMP version 4 IP version 6 header Type Code Checksum Message body 32 bits
ICMP version 6 error messages Type 1 : Destination unreachable code 0 : no route to destination code 1 : communication with destination administratively prohibited code 3 : address unreachable code 4 : port unreachable Type 2 : Packet too big Message contains the MTU. Type 3 : Time exceeded code 0 : hop limit exceeded in transit code 1 : fragment reassembly time exceeded Type 4 : Parameter problem Code 0: erroneous header field encountered Code 1: unrecognized Next Header type encountered Code 2: unrecognized IPv6 option encountered
ICMP Version 6 informational messages Type 128 : Echo request (ping) Message contains an identifier and sequence number Type 129 : Echo reply Type 133 : Router Solicitation Type 134 : Router Advertisement Type 135 : Neighbour Solicitation Type 136 : Neighbour Advertisement Type 137 : Redirect
Neighbour Discovery (ND) Protocol RFC 2461 Replaces ARP in IP version 4, with added functionality Uses ICMPv6 Used to : Find neighbours’ link-local addresses Find routers that are present on the LAN Maintain neighbour accessibility Allows routers to disseminate network information to the other nodes Used by the auto-configuration process All ND messages have a Hop Limit of 255 All messages also have a link-local scope only
Neighbour Discovery (ND) Protocol Functions : Router Discovery : Finds the routers that are on the same local-link (LAN) Prefix Discovery : Allows discovery of the prefix to be used by a node to build its IPv6 address Parameter Discovery : Discovers parameters such as MTU and Hop Limit to be inserted in packets to be sent Address Auto-Configuration : Configures an address for an interface Address Resolution : Similar to ARP: discovers the layer 2 address of a node by only providing an IPv6 address Router Discovery : Comment les systèmes hôtes localisent les routeurs qui résident sur le même réseau. Prefix Discovery : Comment les systèmes hôtes découvrent les préfixes d’adresses. Parameter Discovery : Comment les nœuds découvrent les paramètres de liens tels que le MTU ou autres paramètres Internet comme le Hop Limit pour ensuite les insérer dans les paquets envoyés. Address Autoconfiguration : Comment les nœuds configurent automatiquement une adresse pour une interface. Address Resolution : Comment les nœuds déterminent l’adresse de niveau 2 pour une destination donnée, en ne spécifiant que l’adresse IP de destination.
Neighbour Discovery (ND) Protocol Functions : Next-Hop Determination : Determines if packets destined for a given address can be sent directly to the destination node through layer 2 or must go through the default gateway. Neighbour Unreachability Detection : Determines if a neighbour node is still reachable Duplicate Address Detection : Determines if an auto-configured address is already used by another node Redirect : The router informs a node of the first node to use to reach its destination Next-Hop Determination : Permet de déterminer si les paquets destinés à une adresse donnée doivent être envoyés au routeur de défaut ou directement à la station de destination. Neighbor Unreachability Detection : Comment les nœuds déterminent qu’une station voisine ne peut plus être rejoint. S’il s’agit d’un routeur, une route alternative peut être utilisée. Duplicate Address Detection : Comment un nœud découvre que l’adresse qu’il souhaite utiliser est déjà assignée à un autre nœud. Redirect : Comment un routeur informe un nœud du meilleur prochain nœud à utiliser pour rejoindre la destination.
Neighbour Discovery Messages NDP defines 5 types of ICMP version 6 packets to perform the functions listed before: 1 - Neighbour Solicitation Sent by a node to discover the layer 2 address of a neighbour node Equivalent to the ARP request in IPv4. Packet description: Source address = link-local address Destination address = solicited-node multicast address The data portion also contains the searched-for link-local address ICMP type 135 2 - Neighbour Advertisement Answer to a Neighbour Solicitation. Equivalent to the ARP response in IPv4. Destination address = Requestor address (Neighbour Solicitation) ICMP type 136 Router Solicitation : Quand une interface devient active, l’hôte peut envoyer un message Router Solicitation demandant au routeur de générer des Router Advertisements immédiatement plutôt que d’attendre au prochain temps prévu. Router Advertisement : Les routeurs annoncent leur présence et fournissent différents paramètres de configuration périodiquement ou à la demande d’une station (Router Solicitation). Ces messages contiennent des préfixes utilisés pour la configuration d’adresse, le Hop Limit, etc.
Neighbour Discovery Messages 3 - Router Solicitation : When a node starts, it does not want to wait for the next Router Advertisement. The node asks the router to send a router advertisement immediately. Packet description : Source address = link-local address Destination address = All-routers multicast address (FF02::2) ICMP type 133 4 - Router Advertisement : Routers send periodic advertisement messages (between 4 and 1800 seconds). The advertisement has a limited lifetime (=0 if not the default gateway) Contains one or more prefixes Specifies the address auto-configuration mode: stateful (DHCP) or stateless. Used when an entire site is renumbered Source address = Router link-local address on the link Destination address = All-nodes multicast address (FF02::1) Data = Network prefix, lifetime, default gateway, options ICMP type 134 Neighbor Solicitation : Envoyé par un nœud afin de déterminer l’adresse de niveau 2 d’un nœud voisin, ou pour s’assurer que le nœud voisin est toujours actif, ou pour la détection d’adresses dupliquées. Neighbor Advertisement : La réponse à un message Neighbor Solicitation. Un nœud peut aussi envoyer un message Unsolicited Neighbor Advertisements pour annoncer un changement d’adresse de niveau 2. Redirect : Utilisé par les routeurs pour informer l’hôte d’un meilleur First Hop vers la destination.
Neighbour Discovery Messages 5 - Route change, Redirect The router indicates the best path to follow to reach a destination by specifying the best next hop Similar to ICMP version 4 Redirect Packet description : Source address = Router link-local address on the link Destination address = Host address for which the packets need to be re-routed Data = Next hop (router) address to use ICMP type 137
Auto-configuration - Stateful or Stateless Host Router solicitation message Router Router advertisement message No manual configuration required, the routers specifies the network prefix to use and the default gateway, but not the default DNS server Stateful IPv6 DHCP Server Host DHCP Servers Multicast En utilisant le message Router Advertisement, le routeur peut vérifier quelle méthode d’auto-configuration d’adresse est utilisée (Stateless ou Statefull). Dans le cas de l’auto-configuration Statefull, le système hôte contacte un serveur DHCP ou un serveur d’adresses similaire qui lui assignera une adresse de la liste, entrée manuellement par l’administrateur. Les serveurs DHCP sont très populaires dans les réseaux IP version 4 et le standard sera étendu à IP version 6. Avec l’approche Stateless, un hôte peut automatiquement configurer sa propre adresse sans l’intervention d’un serveur d’adresse ou d’un administrateur de réseau. Le système hôte utilise les informations du message Router Advertisement afin de créer sa propre adresse IP version 6. Ce processus implique la combinaison d’un préfixe valide et de l’adresse de niveau 2 de l’hôte. Tant que l’adresse de niveau 2 est unique et que le préfixe reçu du routeur est valide, la nouvelle adresse IP permettra à l’hôte de communiquer à travers tout le réseau d’entreprise et sur Internet. L’auto-configuration Stateless comporte plusieurs avantages. Par exemple, si une entreprise change de fournisseur Internet, les informations propagées par les routeurs du nouveau fournisseur seront utilisées par les hôtes pour établir leurs nouvelles adresses, sans intervention humaine, à condition que tous les hôtes utilisent IP version 6 et l’auto-configuration Stateless. Unicast The host system contacts a DHCP or similar address assignment server. The server returns a valid address from a pre-configured list.
Stateless Link-Local Address Auto-configuration Host Router solicitation All-routers multicast FF02 : :2 RFC 2462 A host node forms a Link-Local Address as soon as it becomes active The host node sends a router solicitation message using the all-routers Multicast address (FF02::2) and the Ethernet Multicast (33-33-00-00-00-02) No reply will be received if no router is present on the link The host node will then use a Link-Local address (FF80 : : “Interface ID”) The host node uses the Duplicate Address Detection (DAD) method to verify that his auto-configured address is unique. Le processus d’auto-configuration sous IP version 6 commence avec le protocole Neighbor Discovery (NDP). Typiquement, un système hôte débute le processus d’auto-configuration en bâtissant sa propre adresse locale (Link-Local Address). Une fois son adresse formée, le système hôte envoie un message NDP à cette adresse afin de s’assurer qu’elle est bel et bien unique. Si aucun message ICMP ne lui revient, l’adresse est unique. Si l’hôte reçoit un message indiquant que l’adresse est déjà utilisée, il utilisera une nouvelle adresse de niveau 2 pour former une autre adresse locale.
Stateless Site-Local or Global Address Auto-configuration (Step 1) All-routers Multicast FF02 : :2 Router solicitation message Router Host A host node forms a Link-Local Address as soon as it becomes active The host node sends a router solicitation message using the all-routers Multicast address (FF02::2) using the Ethernet Multicast (33-33-00-00-00-02) Le système hôte envoie un message Router Solicitation utilisant le service Multicast de IP version 6. Contrairement au Broadcast ARPs de IP version 4, le message de sollicitation Multicast de IP version 6 n’est pas traité par tous les hôtes du réseau.
Stateless Site-Local or Global Address Auto-configuration (Step 2) Router advertisement, containing the address prefix to use and the path MTU Router Host All-nodes Multicast FF02 : :1 Router returns a router advertisement message, containing the network prefix to use (site-local or global Unicast) : Sends the advertisement to the all-nodes multicast address FF02 : :1, using the Ethernet Multicast (33-33-00-00-00-01) The host node forms a site-local or global Unicast address: Site-local = FEC0 : : <Subnet ID> : <Interface ID> Global = <Network ID> : <Subnet ID> : <Interface ID> The host node uses the Duplicate Address Detection (DAD) method to verify that his configured address is unique. Le routeur répond au message de sollicitation en provenance des systèmes hôtes, par un message Router Advertisement contenant entre autres, les informations de préfixe qui indiquent une plage valide d’adresses pour le sous-réseau. Les routeurs envoient ces messages périodiquement aux groupes Multicast locaux sans avoir reçu de demande spécifique des systèmes hôtes.
Address Resolution - Step 1 Solicited-node Multicast address FF02 : :1 :FFXX :XXXX Neighbour solicitation message Host Target node 3FFE : 0B00 : 0C18 : 0001 : 0290 : 27FF : FE17 : FC0E The IPv6 address of the target node is known (we are looking for it) The requesting host looks in his neighbour cache to verify is the layer 2 address is already available If not available, the requesting host initiates the address resolution process by sending a solicited-node multicast message asking the target node to return its layer 2 address The neighbour solicitation message is sent in solicited-node Multicast mode to the target node: FF02 : :1 :FF17 :FC0E (using MAC address 33-33-FF-17-FC-0E) Une fois que l’adresse du prochain nœud est connue, la source examine sa Neighbor Cache pour connaître les informations de niveau 2. Si les informations ne s’y trouvent pas, la source crée une entrée avec le statut INCOMPLET, initie la procédure de résolution d’adresses, et garde en mémoire les paquets de données en attendant la fin de la procédure de résolution d’adresse. Pour les hôtes supportant le Multicast, la procédure de résolution d’adresse consiste à envoyer un message Neighbor Solicitation et d’attendre la réponse qui parviendra dans un message de format Neighbor Advertisement. Quand la réponse lui parvient, l’hôte enregistre l’adresse de niveau 2 dans la Neighbor Cache et finalement, transmet les paquets en attente. Les nœuds accomplissent la résolution d’adresse en envoyant un message Multicast de type Neighbor Solicitation demandant au nœud cible de retourner son adresse de niveau 2. Ce message est envoyé à la Solicited-Node Multicast Address du nœud cible.
Address Resolution - Step 2 Neighbour Advertisement message, containing the MAC address Host Target node Unicast 3FFE : 0B00 : 0C18 : 0001 : 0290 : 27FF : FE17 : FC0E The target node returns a Neighbour Advertisement Message containing its MAC address, using the requestor’s Unicast address Le nœud cible retourne son adresse de niveau 2 dans un message Unicast de type Neighbor Advertisement. Deux messages seulement sont nécessaires pour que les deux nœuds connaissent leurs adresses respectives de niveau 2 et mettent à jour leurs tables (Neighbor Cache). L’initiateur de la demande insère dans le message son adresse de niveau 2.
Source Address Selection A node on a network has multiple IPv6 addresses. Which one of these will it choose as the source address when sending packets? RFC 3484 Rule 1 : Prefer same addresses (as the destination) Rule 2 : Prefer matching scope (the smallest possible scope) Rule 3 : Avoid deprecated addresses (lifetime exceeded) Rule 4 : Prefer home addresses (over Care-of Addresses CoA) Rule 5 : Prefer outgoing interface (to reach the destination) Rule 6 : Prefer matching label IPv6 native source -> IPv6 native destination 6to4 source -> 6to4 destination IPv4-compatible source -> IPv4-compatible destination IPv4-mapped source -> IPv4-mapped destination Rule 7 : Prefer public addresses (over temporary ones) Rule 8 : Use longest matching prefix (as source address) Some local policies may prevail!
Destination Address Selection Rule 1 : Avoid unreachable destination (using Neighbour Unreachability Detection) Rule 2 : Prefer matching scope (the smallest possible scope) Rule 3 : Avoid deprecated addresses Rule 4 : Prefer home addresses Rule 5 : Prefer matching label IPv6 native source > IPv6 native destination 6to4 source > 6to4 destination IPv4-compatible source > IPv4-compatible destination IPv4-mapped source> IPv4-mapped destination Rule 6 : Prefer higher precedence Rule 7 : Prefer native transport Rule 8 : Prefer smaller scope Rule 9 : Use longest matching prefix Rule 10: Otherwise, leave the order unchanged Some local policies may prevail!
Duplicate Address Detection Solicited-node Multicast address FF02 : :1 :FFXX :XXXX Neighbour Solicitation message Host FE80 : :0290 : 27FF : FE17 : FCCD RFC 2462 The host node initiates an Address Resolution process, asking the solicited neighbour to return its layer 2 (MAC) address. Difference from normal address resolution: the neighbour solicitation message is sent as a solicited-node Multicast using: Its own solicited-node multicast address (FF02 : :1 :FF17 :FCCD) Its own multicast MAC address (33-33-FF-17-FC-CD) If no reply comes, the address is unique Otherwise, the node’s interface is disabled and requires manual attention
MTU discovery process ICMP Packet Too Big FDDI MTU = 4500 FDDI Ethernet MTU = 1500 MTU Discovery Message FDDI MTU = 4500 RFC 1981 In IPv6, routers do not fragment packets. If fragmentation is necessary, it is done by the source node. Nodes transmit packets as big as the local-link can support (link MTU) If the MTU is too big for certain links along the route, a Packet Too Big ICMP datagram will be returned to the source. The source adjusts the MTU and fragments the packet. Minimum MTU is 1280. Dans la version IP version 4, tous les noeuds sur la route ont la capacité de fragmenter les paquets, dépendamment des capacités de transmission des liens impliqués. Cette fonction a été abandonnée dans la version 6. En effet, IP version 6 transfert la fonction de fragmentation et de ré-assemblage des paquets aux noeuds de source et de destination. La fragmentation de paquets n’est pas permise dans les noeuds IP version 6 intermédiaires. L’élimination du champ « fragmentation » améliore le flux du trafic et la performance des routeurs dans la majorité des cas où la fragmentation n’est pas nécessaire. Les réseaux d’aujourd’hui supportent généralement des trames assez larges pour transporter un paquet IP sans avoir recourt à la fragmentation. Dans le cas où la fragmentation s’avèrerait nécessaire, IP version 6 fournit un entête d’extension optionnel utilisé par la source afin de diviser les paquets en plusieurs petits paquets. L’entête de fragmentation IP version 6 contient des champs qui identifient un groupe de fragments comme étant un seul et même paquet et qui leur assigne un numéro de séquence. Puisque les routeurs IP version 6 ne fragmentent plus les paquets, la source devient responsable de fragmenter les paquets de bonne longueur. Pour ce faire, la source doit déterminer l’unité de transmission maximum des liens constituant la route vers la destination (Maximum Transmission Unit-MTU). Les noeuds réalisant la fragmentation déterminent la plus petite unité de transmission sur la route avec le processus MTU Path Discovery (RFC 1191). Typiquement, la source transmet un paquet d’un MTU aussi large que l’interface locale peut supporter. Si le MTU est trop grand pour certains liens sur la route, un message ICMP Datagram Too Big sera retourné à la source. Ce message contiendra le MTU du lien qui ne supportait pas le MTU original. La source ajuste le MTU du paquet à transmettre à la longueur exigée et retransmet le tout. Cette procédure est répétée jusqu’à ce que le paquet atteigne sa destination.
Temporary addresses RFC 3041 An IPv6 address contains the MAC address of a node’s interface This leads to potential security problems and risks RFC 3041 discusses: Random generated interface identifiers (64 least significant bits of the IPv6 address) The definition of these addresses as temporary Recycling of these addresses as required
Host node renumbering RFC 2894 It is possible with IPv6 to modify an entire site addressing plan In the Router Advertisement message, the network prefix lifetime is modified Preferred lifetime = 0 (this prefix must not be used to open new connections) Valid lifetime is decremented towards 0 A new network prefix is announced Host nodes configure a new address based on the new prefix and use it for new connections There is no lost connection! Host nodes always listen to Router Advertisement messages, even after the address auto-configuration process is completed
Router renumbering RFC 2894 Protocol defined to renumber routers in a site New ICMPv6 message type: Type 138 IPSec is used for authentication Very few implementations to date
IP version 6 DNS RFC 1886, 2874 Changes to records: AAAA (RFC 1886 new record type) : Equivalent to the A record type for IPv4 A6 (RFC 2874 new record type) : Covers renumbering scenarios Refers a domain name to an IPv6 address Will eventually replace the “AAAA” record type The first bits in an IPv6 address refer to the provider’s network prefix, which is the same for every host node in a network. Since IPv6 addresses are longer, it is preferable not to register their prefix in the local DNS. The A6 record allows the creation of a reference to the provider’s DNS for that portion of the address. This in turn allows better flexibility in the provider’s and customer’s respective DNS. For example, if a customer changes provider, no change to the local DNS is required, only the reference record pointing to the new provider’s DNS. Le record A6 est utilisé pour représenté un adresse IPv6 sur 128 bits. Lorsqu’une application IPv6 recherche le nom d’un serveur IPv6, elle fera une requête pour un record A6 au serveur DNS. (Note: avec IPv4, les applications font la requête pour un record A (Adresse) pour traduire les noms de domaines en adresses.)
IP version 6 DNS PTR Equivalent to the previous PTR record The upper level DNS domain used for ipv6 was ipv6.int. This level is now ip6.arpa
IP version 6 DNS BIND (Berkeley Internet Name Domain) is one of the Domain Name Service (DNS) implementations Bind 4.9.3 supports AAAA records (only on IPv4 transport) Bind 8.X supports AAAA and IPv4-IPv6 transport (avec patch 8.1.2) Bind 9.X is 100% compatible with IPv6 (supports A6 records) Root Servers: Not currently configured for IPv6 requests However, the AAAA records can be used
Routing protocols Routing protocols must also evolve RIP OSPF BGP4+ IS-IS
RIP RIP (Routing Information Protocol) for IPv6 (or RIPng) RFC 2080 Based on RIPv2, same concept : distance-vector, maximum 15 hops Processes IPv6 prefixes and next-hop addresses Uses Multicast (FF02::9 = all-rip-routers as destination address for the RIP updates) Uses IPv6 transport New UDP port: 521 Version reset to 1 A vast majority (if not all) the IPv6 router implementations support RIP IPv6. The same goes for Unix and Windows XP.
OSPF OSPF (Open Shortest Path First) pour IPv6 RFC 2740 Also known as OSPFv3 Major rewriting to remove all dependencies to IPv4 to obtain a totally protocol independent version Link-local addresses are used IPv6 transport is added The rewriting process caused some availability delays. Solutions are now available from most major equipment vendors
BGP RFC 2283, 2545 BGP4+ IPv6 addresses : Includes multi-protocol extensions to BGP, for new address family types (IPv6 but also VPN, etc.) IPv6 addresses : Address scope can be used in the NEXT_HOP NEXT_HOP et NLRI are expressed in terms of IPv6 address and prefix A majority of equipment vendors support BGP for IPv6. It is used on 6Bone since 1996
Questions? ?
Burt Crépeault :: burt.crepeault@iitelecom.com IPv6 Concepts Burt Crépeault :: burt.crepeault@iitelecom.com www.iitelecom.com IIT??? Titre du cours © Institut international des télécommunications inc., 2004 www.iitelecom.com © Institut international des télécommunications inc., 2004 Février 2004