IPV6
IPV6 > adressage On connaît bien les adresses sur 32 bits et les classes A,B,C des réseaux IP Les plages d’adresses ont été définies en fonction des zones géographiques ( Europe :194-195) ce qui permet le routage entre grands domaines (CIDR classless interdomain routing) Les techniques de NAT ont permis de maintenir la croissance du nombre d’adresses pour les entreprises qui utilisent en interne des adresses privées 10.0.0.0 (A) ou 192.168.0.0 (B) IPV6 définit une adresse 128bits On a une hiérarchie des adresses 48 bits type d’adresse + localisation publique 16 bits localisation privée 64 bits identification de l’interface (machine pour IPV4)
IPV6 > adressage La notation décimale est abandonnée au profit de l’hexa, chaque champ de 16 bits étant séparé par « : » 2001:db8:a88:86a3:0:0:ad1f:8002 On admet cependant que les 32 derniers bits soient sous forme Ipv4 2001:db8:a88:86a3:0:0:173.31.128.2 On désigne les préfixes en indiquant leur longueur ff00::/8 Quand on utilise une adresse IPV6 comme nom on doit la mettre entre crochet [] Les 64 ou les 96 premiers bits sont généralement l’adresse du réseau du client. Il n’y a plus de broadcast Unicast Multicast ff00::/8 Anycast Préfixes
Ipv6 >unicast Adresses particulières 0:0:0:0:0:0:0:0 unspecified 0:0:0:0:0:0:0:1 loopback Local use ( utilisé pour l’autoconfiguration, jamais transmise par les routeurs hors du lien ) FE80::/10 Les 64 bits d’identification peuvent être : autoconfiguré EUI 64, dérivé de l’adresse Mac 48 bits, généré aléatoirement, assigné via DHCP, configuré manuellement ifconfig –au vr0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 inet 192.108.119.159 netmask 0xffffff80 broadcast 192.108.119.255 inet6 fe80::290:27ff:fe17:fc0f%vr0 prefixlen 64 scopeid 0x1 inet6 2001:660:7301:1:290:27ff:fe17:fc0f prefixlen 64 autoconf inet6 2001:688:1f99:1:290:27ff:fe17:fc0f prefixlen 64 autoconf ether 00:90:27:17:fc:0f media: Ethernet autoselect (10baseT/UTP) status: active lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384 inet 127.0.0.1 netmask 0xff000000 inet6 ::1 prefixlen 128 inet6 fe80::1%lo0 prefixlen 64 scopeid 0x3
IPV6 > multicast Adresses multicast ( préfixe ff00::/8) ICMP utilise le multicast
IPV6 > anycast L’adresse anycast est assignée à plus d’une machine Un paquet envoyé à une adresse anycast est dirigé vers la machine la plus procche Généralement il s’agit du routeur le plus proche La seule adresse anycast défini est l’adresse « subnet router »
IPV6 > datagramme Version (Ver) 4 bits. Tant qu'IPv4 et IPv6 coexisteront, les routeurs devront l'examiner pour savoir quel type de datagramme ils routent. Classe de trafic (Traffic Cls) 8 bits. Il sert à distinguer les différents types de trafic pour appliquer les règles de priorité Identificateur de flux (Flow Label) La source affecte un numéro identificateur commun à tous les paquets d'une session. Il permet au routeur de repérer les trames d'un même flux et de leur appliquer des règles identiques. Nb: FL basé sur source/dest, protocol, ports Longueur de données utiles (Payload Length) Calculé sur 2 octets, ce champ indique la longueur des données transportées (Payload) sans l’entête En-tête suivant (Next Header) remplace le champ « Protocole » en IPv4 et indique le plus souvent le protocole de niveau supérieur, encapsulé dans le datagramme IPv6 (exemple : TCP ou UDP).mais aussi des extensions (voir plus loin) Nombre de sauts (Hop Limit) Il est calculé sur 8 bits et remplace le champ « Time to live » d'IPv4. A chaque traversée de routeur, il est décrémenté de 1. Lorsque la valeur atteint 0, le paquet est rejeté, et un signal d'erreur est émis. Le but est d'empêcher qu'un paquet circule indéfiniment sur le réseau. Adresse source et adresse destination ( sur 16 octets) Nb : il n’y a que 7 champs d’info contre 14 en IPv4
IPV6 > datagramme Plus de checksum dans l’entête ( qui devait être mis à jour à chaque décrementation de TTL). Le contrôle d’intégrité doit être assuré au niveau transport ( chacksum devient obligatoire pour UDP, le checksum ICMPv6 porte aussi sur l’entête Plus d’options mais des extensions qui peuvent être ignorées par les routeurs simples Taille fixe Champs alignés sur 64 bits Plus de fragmentation Algorithme PMTU de découverte de la MTU
Options et encapsulation ipv4 Exemple du multicast En Ipv4 le trafic multicast (224) est traité par des mrouteurs On émet le paquet multicast avec l’option « Loose source routing » Le champ option de 40bits comprend 3 champs : code,longueur valeur. On peut mettre une adresse dans la valeur. Cette adresse est permutée par le routeur avec l’adresse destination Inconvénients : traitement très coûteux On encapsule paquet multicast dans un paquet avec protocol=4 ( Ip dans Ip) Inconvénient : rajout d’un en-tête
Extensions ipv6 Proche en proche Options de bourrage ( pour optimiser la longueur) Jumbogramme Router alert ( pour multicast MLD ou RSVP) Destination Tunnelage « léger » Routage par la source Donne une suite de routeurs relais Fragmentation Sécurité AH et ESP
IPV6 >ICMP ICMPV6 a trois fonctions Détection d’erreurs test Configuration automatique Paquet Type :nature du message ( erreur <127) Cause du message Checksum : intégrité du paquet ( calculé avec l’entête IPv6) Des fonctions pour la mobilité (RFC3775) Seront abordées dans la suite
IPV6 > ICMP Découverte du voisinage Router sollicitation (133) Router advertissement (134) Découvrir la présence d’un routeur sur le lien Source IPV6 ou unspecified Destination : FF02::2 (adresse multicast de tous les routeurs) Permet au démarrage de configurer l’interface
IPV6>ICMP Neighbor solicitation (135) Neighbor advertissement ( 136) Permet de découvrir l’adresse Mac d’une adresse Ipv6
IPV6 > ICMP Redirect ( 137)
IPV6 > autoconfiguration Stateful : identique à DHCP Stateless : au démarrage le système a une adresse de lien local ( formée sur l’adresse mac) Y a t’il une autre machine sur ce lien avec la même adresse ? Quel est le préfixe réseau ? Elle envoie des paquets ICMP à destination de sa propre adresse sur le lien . Si elle n’a pas de réponse elle peut l’utiliser La machine informe les routeurs à l’aide d’un paquet de type RS ( router solicitation) Les routeurs répondent par un paquet RA ( router advertissement ) contenant le préfixe du réseau
DNS DNS Enregistrement du type AAAA Reverse DNS En IPv4 une adresse In-addr.arpa est asociée au nom d’hote 192.90.89.78 -> 78.89.90.192.in-addr.arpa. En Ipv6 le suffixe est ip6.arpa. ( ip6.int dans le RFC) 4321.0.1.2.3.4:567:89ab -> b.a.9.8.7.6.5.0.4.0.0.0.3.0.0.0.2.0.0.0.1.2.3.4.ip6.arpa.
Routage > RIP RIPng Multicast tous les routeurs RIP : FF02::9 Route par défaut default-information Originate : à transmettre avec les autres routes Only : à transmettre seulement
Routage > rappel OSPF Découverte des voisins Un routeur OSPF envoie des paquets hello vers multicast 224.0.0.5 Tout routeur OSPF se considère comme destinataire chaque routeur intégre ces paquets dans une base de données d’adjacence. Chaque routeur répond par un paquet unicast Désignation d’un maître (DR) et d’un secours (BDR) L’élu est celui qui a la plus grande priorité avec la plus grande adresse IP Découverte des routes Le DR et un routeur communiquent leurs bases topologiques via des paquets LSA ( link state advertissement) Adresse routeur , coût, numéro de séquence Détermination des routes à utiliser Par l’algorithme SPF Maintenance de la base de données topologique Lorsqu’un routeur détecte un changement dans la topologie( par les paquets hello emis tous les 10 secondes vers les voisins) il émet un paquet LSU (link state update) vers multicast 224.0.0.6 BR et BDR se considérent comme destinataires Le DR « inonde » vers 224.0.05 OSPF distingue des zones (area) reliées à la zone 0 ( backbone). Un routeur en bordure de zones est ABR( area border router) et maintient la topologie de chaque zone http://www.microsoft.com/technet/prodtechnol/windows2000serv/reskit/intwork/inae_ips_lpbo.mspx?mfr=true
Routage > OSPF V3 idem V2 sauf header 16 octets au lieu de 24 et quelques changements dans les champs Router ID n’est pas l’adresse ipv6 : il n’y a pas d’adresse dans l’entête En IPv4 router Id était par convention la plus haute ou la plus basse adresse IP que possédait le routeur OSPF ne trvaille plus au niveau des sous réseaux mais des liens Le champ instance (défaut :0) permet d’avoir plusieurs ospf par lien
Routage > OSPF V3 Adresse multicast des routeurs OSPF : FF02::5 224.0.0.5 en IPV4 Adresse multicast des routeurs maîtres OSPF FF02::6 224.0.0.6 en IPV4 Nouveaux types LSA Link LSA : tous les préfixes IPV6 associés au lien Inter area prefix LSA = routerLSA+Network LSA
Routage > OSPF V3
IPV6 IPV4 Dual stack Interface ethernet0 Ip adress 192.168.99.1 255.255.255.0 Ipv6 adress 2001:db7:213.1/64 eui-64
IPV6 > 6to4 Protocole permettant de transmettre des paquets Ipv6 dans un réseau IPV4 Assignation d’un bloc d’adresse Ipv6 pour chaque machine ayant une adresse Ipv4 On met 0x2002 devant l’adresse Ipv4 Ex :192.142.131.201 -> 2002:C08E:83CA::/48 Encapsulation des paquets Ipv6 dans des paquets Ipv4 On utilise protocol :41 et le paquet Ipv6 est dans les données Routage entre 6to4 et les « vrais » réseaux Ipv6 Il faut une passerelle par défaut son adresse est 2002:c058:6301:: (192.88.99.0/24)
IPV6 > 6to4 Exemple (cisco)
IPV6 > teredo tunneling 6to4 ne convient pas pour les machines derrière des ponts NAT Ipv4 ( la fin du tunnel doit avoir une adresse publique) Ipv6 est encapsulé dans des paquets UDP Un client Teredo a le préfixe 2001:0000::/32 L’adresse Ipv4 et le port sont masqués par un XOR avec 0xfffffff pour prévenir toute velléité du NAT de les traduire dans les données Un serveur Teredo sert à détecter si le Nat derriére lequel on est supporte ou non IPV6 ( il répond et émet des paquets ICMPV6 et a deux adresses Ipv4 publiques) Liste : http://www.sixxs.net/tools/aiccu/brokers/ Un relais Teredo fait la conversion Ipv4/UDP Ipv6 http://www.microsoft.com/technet/prodtechnol/winxppro/maintain/teredo.mspx
IPV6 > 6PE 6PE permet de connecter des réseaux IPV6 via un cœur de réseau MPLS IPv4 Allusion au fait qu’il ne faut que des routeurs de bordure double pile ( PE (provider edge) router IPV6)
IPV6 > 6PE http://www.renater.fr/IMG/pdf/6PE.pdf http://www.cisco.com/application/pdf/en/us/guest/products/ps6553/c1161/cdccont_0900aecd80311dff.pdf