{"id":687,"date":"2018-06-26T10:24:04","date_gmt":"2018-06-26T08:24:04","guid":{"rendered":"http:\/\/www.igatamus.com\/bgc\/?p=687"},"modified":"2018-06-26T10:25:08","modified_gmt":"2018-06-26T08:25:08","slug":"ipv6-sauvegarde-article-tres-interessant-de-francois-goffinet","status":"publish","type":"post","link":"https:\/\/www.igatamus.com\/bgc\/2018\/06\/26\/ipv6-sauvegarde-article-tres-interessant-de-francois-goffinet\/","title":{"rendered":"IPV6 sauvegarde article tr\u00e8s int\u00e9ressant de Fran\u00e7ois Goffinet"},"content":{"rendered":"<h1 class=\"title\"><\/h1>\n<div class=\"post-meta\"><span class=\"author\"><i class=\"fa fa-user\"><\/i>\u00a0<a href=\"https:\/\/cisco.goffinet.org\/author\/francois\/\">Francois Goffinet<\/a>\u00a0<\/span><span class=\"date\"><i class=\"fa fa-calendar-o\"><\/i>\u00a0Oct 10, 2017\u00a0<\/span><\/div>\n<div class=\"post-entry\">\n<div class=\"kg-card-markdown\">\n<p>Ce document a pour ambition de montrer la finesse et le confort que peut offrir un plan d&rsquo;adressage IPv6. On commencera par d\u00e9finir ces identifiants encore trop peu connus. Ensuite, on apprendra \u00e0 \u00e9crire, \u00e0 simplifier et valider une adresse IPv6. Enfin, on montrera et expliquera comment reconna\u00eetre les diff\u00e9rents types d&rsquo;adresses. On trouvera des informations sur les plans d&rsquo;adressage IPv6.<\/p>\n<p>Ce document poursuit les\u00a0<a href=\"https:\/\/learningnetwork.cisco.com\/community\/certifications\/ccna\/icnd1\/exam-topics\">objectifs ICND1<\/a>\u00a0:<\/p>\n<ul>\n<li>1.12 Identifier le\u00a0<strong>plan d&rsquo;adressage IPv6<\/strong>\u00a0appropri\u00e9 pour satisfaire aux exigences d&rsquo;adressage dans un environnement LAN\/WAN<\/li>\n<li>1.15 Comparer et mettre en contraste\u00a0<strong>les types d&rsquo;adresses IPv6<\/strong>\n<ul>\n<li>1.15.a\u00a0<em>Global unicast<\/em><\/li>\n<li>1.15.b\u00a0<em>Unique local<\/em><\/li>\n<li>1.15.c\u00a0<em>Link local<\/em><\/li>\n<li>1.15.d\u00a0<em>Multicast<\/em><\/li>\n<li>1.15.e\u00a0<em>Modified EUI 64<\/em><\/li>\n<li>1.15.f\u00a0<em>Autoconfiguration<\/em><\/li>\n<li>1.15.g\u00a0<em>Anycast<\/em><\/li>\n<\/ul>\n<\/li>\n<li>1.13 Configurer, v\u00e9rifier et d\u00e9panner l&rsquo;adressage IPv6<\/li>\n<li>1.14 Configurer, v\u00e9rifier le service\u00a0<em>IPv6 Stateless Address Auto Configuration<\/em><\/li>\n<\/ul>\n<h2 id=\"1introductionauxadressesipv6\">1. Introduction aux adresses IPv6<\/h2>\n<h3 id=\"11dfinitionettendueduneadresseipv6\">1.1. D\u00e9finition et \u00e9tendue d&rsquo;une adresse IPv6<\/h3>\n<p>On rappellera utilement que le protocole IPv6 doit \u00eatre activ\u00e9 volontairement sur les interfaces des routeurs Cisco contrairement aux syst\u00e8mes d&rsquo;exploitation courants comme Windows ou Linux pour lesquels IPv6 est activ\u00e9 par d\u00e9faut.<\/p>\n<p>Les adresses IPv6 sont des identifiants uniques d&rsquo;interfaces :<\/p>\n<ul>\n<li>cod\u00e9s sur 128 bits<\/li>\n<li>et not\u00e9s en hexad\u00e9cimal en 8 mots de 16 bits (4 hexas) s\u00e9par\u00e9s par des \u00ab\u00a0:\u00a0\u00bb.<\/li>\n<\/ul>\n<p>Le\u00a0<strong>masque<\/strong>\u00a0identifie la partie fixe d&rsquo;une adresse qui correspond aussi au num\u00e9ro de r\u00e9seau de 64 bits (le pr\u00e9fixe). Le\u00a0<strong>pr\u00e9fixe<\/strong>\u00a0est l&rsquo;\u00e9l\u00e9ment commun \u00e0 toutes les adresses d&rsquo;une m\u00eame plage (au sein d&rsquo;un r\u00e9seau).<\/p>\n<p>Par exemple, pour l&rsquo;adresse \u00ab\u00a0Global Unicat\u00a0\u00bb\u00a0<code>2001:0db8:00f4:0845:ea82:0627:e202:24fe\/64<\/code>\u00a0dans son \u00e9criture extensive :<\/p>\n<pre><code class=\"hljs sql\">2001:0db8:00f4:0845:ea82:0627:e202:24fe\/64\r\n<span class=\"hljs-comment\">---- ---- ---- ---- ---- ---- ---- ---- --<\/span>\r\n16b  16b  16b  16b  16b  16b  16b  16b\r\n<span class=\"hljs-comment\">------------------- ------------------- --<\/span>\r\n    Pr\u00e9fixe          Interface ID       Masque\r\n<\/code><\/pre>\n<p>Le pr\u00e9fixe ou la premi\u00e8re adresse de la plage est\u00a0<code>2001:0db8:00f4:0845::\/64<\/code>. Le\u00a0<code>\/64<\/code>\u00a0correspond aux 64 premiers bits de l&rsquo;adresse que l&rsquo;on peut ais\u00e9ment compter.<\/p>\n<ul>\n<li>Contrairement \u00e0 IPv4, cette premi\u00e8re adresse peut \u00eatre attribu\u00e9e \u00e0 une interface.<\/li>\n<li>Une adresse IPv6 dispose dans 99% des cas d&rsquo;un masque par d\u00e9faut de 64 bits not\u00e9\u00a0<code>\/64<\/code>.<\/li>\n<li>A priori, plus de calcul de masque exotique. La consigne est contraire \u00e0 celle d&rsquo;IPv4 conservatrice : \u00ab\u00a0Jusqu&rsquo;au gaspillage, r\u00e9alisez des connexions en IPv6 !\u00a0\u00bb<\/li>\n<li>Les 64 derniers bits appel\u00e9s identifiants d&rsquo;interface identifient l&rsquo;interface dans le r\u00e9seau.<\/li>\n<\/ul>\n<p>\u00c0 partir de l&rsquo;exemple pr\u00e9c\u00e9dent, la valeur\u00a0<code>ea82:0627:e202:24fe<\/code>\u00a0correspond \u00e0 l&rsquo;identifiant d&rsquo;interface.<\/p>\n<p>La plage du bloc IPv6 s&rsquo;\u00e9tend sur 2<sup>64<\/sup>\u00a0possibilit\u00e9s d&rsquo;adresses, de la premi\u00e8re adresse \u00e0 la derni\u00e8re :<\/p>\n<pre><code class=\"hljs ruby\"><span class=\"hljs-number\">2001<\/span><span class=\"hljs-symbol\">:<\/span>0<span class=\"hljs-symbol\">db8:<\/span><span class=\"hljs-number\">00<\/span><span class=\"hljs-symbol\">f4:<\/span>0845<span class=\"hljs-symbol\">:<\/span><span class=\"hljs-number\">0000<\/span><span class=\"hljs-symbol\">:<\/span><span class=\"hljs-number\">0000<\/span><span class=\"hljs-symbol\">:<\/span><span class=\"hljs-number\">0000<\/span><span class=\"hljs-symbol\">:<\/span><span class=\"hljs-number\">0000<\/span>\/<span class=\"hljs-number\">64<\/span>\r\n<span class=\"hljs-number\">2001<\/span><span class=\"hljs-symbol\">:<\/span>0<span class=\"hljs-symbol\">db8:<\/span><span class=\"hljs-number\">00<\/span><span class=\"hljs-symbol\">f4:<\/span>0845<span class=\"hljs-symbol\">:ffff<\/span><span class=\"hljs-symbol\">:ffff<\/span><span class=\"hljs-symbol\">:ffff<\/span><span class=\"hljs-symbol\">:ffff\/<\/span><span class=\"hljs-number\">64<\/span>\r\n---- ---- ---- ---- ---- ---- ---- ---- --\r\n<span class=\"hljs-number\">16<\/span>b  <span class=\"hljs-number\">16<\/span>b  <span class=\"hljs-number\">16<\/span>b  <span class=\"hljs-number\">16<\/span>b  <span class=\"hljs-number\">16<\/span>b  <span class=\"hljs-number\">16<\/span>b  <span class=\"hljs-number\">16<\/span>b  <span class=\"hljs-number\">16<\/span>b\r\n------------------- ------------------- --\r\n    <span class=\"hljs-constant\">Pr<\/span>\u00e9fixe          <span class=\"hljs-constant\">Interface<\/span> <span class=\"hljs-constant\">ID<\/span>       <span class=\"hljs-constant\">Masque<\/span>\r\n<\/code><\/pre>\n<p>Les 64 premiers bits sont identiques pour toutes les adresses d&rsquo;un m\u00eame bloc (<code>2001:0db8:00f4:0845<\/code>). Les 64 derniers bits varient de\u00a0<code>0000:0000:0000:0000<\/code>\u00a0\u00e0\u00a0<code>ffff:ffff:ffff:ffff<\/code>. Cette derni\u00e8re partie de 64 bits est appel\u00e9e\u00a0<strong>Identifiant d&rsquo;interface (IID Interface Identifier)<\/strong>. Elle sert \u00e0 identifier les interfaces au sein du r\u00e9seau.<\/p>\n<h3 id=\"12ecriturersume\">1.2. Ecriture r\u00e9sum\u00e9e<\/h3>\n<p>Heureusement, on peut r\u00e9sumer l&rsquo;\u00e9criture d&rsquo;une adresse IPv6. Les syst\u00e8mes sont oblig\u00e9s d&rsquo;accepter ces simplifications d&rsquo;\u00e9criture.<\/p>\n<p>Par exemple, pour l&rsquo;adresse \u00ab\u00a0Global Unicat\u00a0\u00bb\u00a0<code>2001:0db8:00f4:0845:ea82:0627:e202:24fe\/64<\/code>\u00a0dans son \u00e9criture extensive :<\/p>\n<pre><code class=\"hljs css\">2001<span class=\"hljs-pseudo\">:0db8<\/span><span class=\"hljs-pseudo\">:00f4<\/span><span class=\"hljs-pseudo\">:0845<\/span><span class=\"hljs-pseudo\">:ea82<\/span><span class=\"hljs-pseudo\">:0627<\/span><span class=\"hljs-pseudo\">:e202<\/span><span class=\"hljs-pseudo\">:24fe<\/span>\r\n<span class=\"hljs-tag\">----<\/span> <span class=\"hljs-tag\">----<\/span> <span class=\"hljs-tag\">----<\/span> <span class=\"hljs-tag\">----<\/span> <span class=\"hljs-tag\">----<\/span> <span class=\"hljs-tag\">----<\/span> <span class=\"hljs-tag\">----<\/span> <span class=\"hljs-tag\">----<\/span>\r\n16<span class=\"hljs-tag\">b<\/span>  16<span class=\"hljs-tag\">b<\/span>  16<span class=\"hljs-tag\">b<\/span>  16<span class=\"hljs-tag\">b<\/span>  16<span class=\"hljs-tag\">b<\/span>  16<span class=\"hljs-tag\">b<\/span>  16<span class=\"hljs-tag\">b<\/span>  16<span class=\"hljs-tag\">b<\/span>\r\n<span class=\"hljs-tag\">-------------------<\/span> <span class=\"hljs-tag\">-------------------<\/span>\r\n    <span class=\"hljs-tag\">Pr<\/span>\u00e9<span class=\"hljs-tag\">fixe<\/span>          <span class=\"hljs-tag\">Interface<\/span> <span class=\"hljs-tag\">ID<\/span>\r\n<\/code><\/pre>\n<p>Voici l&rsquo;\u00e9criture r\u00e9sum\u00e9e qui respecte deux r\u00e8gles faciles \u00e0 retenir :<\/p>\n<ul>\n<li>Les z\u00e9ros en en-t\u00eate de chaque mot peuvent \u00eatre optimis\u00e9s ;<\/li>\n<li>Une seule fois seulement, une suite cons\u00e9cutive de mots tout-\u00e0-z\u00e9ro peut \u00eatre r\u00e9sum\u00e9e par\u00a0<code>::<\/code>.<\/li>\n<\/ul>\n<pre><code class=\"hljs css\">2001<span class=\"hljs-pseudo\">:0db8<\/span><span class=\"hljs-pseudo\">:00f4<\/span><span class=\"hljs-pseudo\">:0845<\/span><span class=\"hljs-pseudo\">:ea82<\/span><span class=\"hljs-pseudo\">:0627<\/span><span class=\"hljs-pseudo\">:e202<\/span><span class=\"hljs-pseudo\">:24fe<\/span>\r\n<\/code><\/pre>\n<pre><code class=\"hljs ruby\"><span class=\"hljs-number\">2001<\/span><span class=\"hljs-symbol\">:-db8<\/span><span class=\"hljs-symbol\">:--f4<\/span><span class=\"hljs-symbol\">:-<\/span><span class=\"hljs-number\">845<\/span><span class=\"hljs-symbol\">:ea82<\/span><span class=\"hljs-symbol\">:-<\/span><span class=\"hljs-number\">627<\/span><span class=\"hljs-symbol\">:e202<\/span><span class=\"hljs-symbol\">:<\/span><span class=\"hljs-number\">24<\/span>fe\r\n<\/code><\/pre>\n<pre><code class=\"hljs css\">2001<span class=\"hljs-pseudo\">:db8<\/span><span class=\"hljs-pseudo\">:f4<\/span><span class=\"hljs-pseudo\">:845<\/span><span class=\"hljs-pseudo\">:ea82<\/span><span class=\"hljs-pseudo\">:627<\/span><span class=\"hljs-pseudo\">:e202<\/span><span class=\"hljs-pseudo\">:24fe<\/span>\r\n<\/code><\/pre>\n<p>Ou encore l&rsquo;adresse\u00a0<code>fe80:0000:0000:0000:bb38:9f98:0241:8a95<\/code>\u00a0peut \u00eatre r\u00e9sum\u00e9e en\u00a0<code>fe80::bb38:9f98:241:8a95<\/code>\u00a0:<\/p>\n<pre><code class=\"hljs css\"><span class=\"hljs-tag\">fe80<\/span><span class=\"hljs-pseudo\">:0000<\/span><span class=\"hljs-pseudo\">:0000<\/span><span class=\"hljs-pseudo\">:0000<\/span><span class=\"hljs-pseudo\">:bb38<\/span><span class=\"hljs-pseudo\">:9f98<\/span><span class=\"hljs-pseudo\">:0241<\/span><span class=\"hljs-pseudo\">:8a95<\/span>\r\n<\/code><\/pre>\n<pre><code class=\"hljs ruby\"><span class=\"hljs-symbol\">fe80:<\/span>----<span class=\"hljs-symbol\">:----<\/span><span class=\"hljs-symbol\">:----<\/span><span class=\"hljs-symbol\">:bb38<\/span><span class=\"hljs-symbol\">:<\/span><span class=\"hljs-number\">9<\/span><span class=\"hljs-symbol\">f98:<\/span>-<span class=\"hljs-number\">241<\/span><span class=\"hljs-symbol\">:<\/span><span class=\"hljs-number\">8<\/span>a95\r\n<\/code><\/pre>\n<pre><code class=\"hljs css\"><span class=\"hljs-tag\">fe80<\/span><span class=\"hljs-pseudo\">::bb38<\/span><span class=\"hljs-pseudo\">:9f98<\/span><span class=\"hljs-pseudo\">:241<\/span><span class=\"hljs-pseudo\">:8a95<\/span>\r\n<\/code><\/pre>\n<h3 id=\"13mthodesdeconfiguration\">1.3. M\u00e9thodes de configuration<\/h3>\n<p>Une adresse IPv6 attribu\u00e9e \u00e0 une interface est constitu\u00e9e d&rsquo;un pr\u00e9fixe de 64 bits et d&rsquo;un identifiant d&rsquo;interface de 64 bits.<\/p>\n<p>Un identifiant d&rsquo;interface peut \u00eatre cr\u00e9\u00e9 de diff\u00e9rentes mani\u00e8res :<\/p>\n<ul>\n<li>statiquement : 2001:db8:14d6:1::1\/64, 2001:db8:14d6:1::254\/64,<\/li>\n<li>par autoconfiguration (SLAAC) en utilisant l&rsquo;une de ces trois m\u00e9thodes :\n<ol>\n<li>MAC EUI-64, par d\u00e9faut (<a href=\"https:\/\/tools.ietf.org\/html\/rfc4862\">RFC 4862<\/a>)<\/li>\n<li>tirage pseudo-al\u00e9atoire, par d\u00e9faut chez Microsoft, Ubuntu, Mac OSX (<a href=\"https:\/\/tools.ietf.org\/html\/rfc4941\">RFC 4941<\/a>)<\/li>\n<li>CGA, peu impl\u00e9ment\u00e9 (<a href=\"https:\/\/tools.ietf.org\/html\/rfc3972\">RFC 3972<\/a>)<\/li>\n<\/ol>\n<\/li>\n<li>dynamiquement : DHCPv6 (<a href=\"https:\/\/tools.ietf.org\/html\/rfc3315\">RFC 3315<\/a>) stateful, si le client est install\u00e9 et activ\u00e9 (par d\u00e9faut sur Microsoft Windows et Mac OSX)<\/li>\n<\/ul>\n<p>Une interface IPv6 peut accepter plusieurs adresses dans un m\u00eame pr\u00e9fixe mais aussi dans des pr\u00e9fixes distincts. L&rsquo;id\u00e9e est d&rsquo;am\u00e9liorer finement les politiques de routage et de filtrage en fonction de ces adresses.<\/p>\n<h3 id=\"14identifiantdinterfacemaceui64modified\">1.4. Identifiant d&rsquo;interface MAC EUI64 \u00ab\u00a0Modified\u00a0\u00bb<\/h3>\n<p>MAC EUI-64 est une est des m\u00e9thodes de configuration automatique des ID d&rsquo;interface qui se fonde sur l&rsquo;adresse MAC IEEE 802 (48 bits).<\/p>\n<p>On passe d&rsquo;une adresse cod\u00e9e sur 48 bits \u00e0 64 bits en ins\u00e9rant 16\u00a0<code>FF:FE<\/code>\u00a0au milieu de l&rsquo;adresse MAC entre les 24 premiers bits et les 24 derniers bits. De plus, la m\u00e9thode exige que le 7i\u00e8me bits de poids fort de l&rsquo;adresse soit invers\u00e9 passant de la valeur \u00ab\u00a0Local\u00a0\u00bb \u00e0 \u00ab\u00a0Universal\u00a0\u00bb d&rsquo;o\u00f9 ce terme \u00ab\u00a0EUI64 Modified\u00a0\u00bb.<\/p>\n<p><img class=\"alignnone\" src=\"https:\/\/cisco.goffinet.org\/content\/images\/2017\/09\/maceui64.jpg\" alt=\"maceui64\" width=\"1146\" height=\"738\" \/><\/p>\n<h2 id=\"2typedadressesipv6\">2. Type d&rsquo;adresses IPv6<\/h2>\n<p>En IPv6, il y a pas mal de nouveaut\u00e9s en mati\u00e8re d&rsquo;adresses :<\/p>\n<ul>\n<li>Le Broadcast dispara\u00eet d&rsquo;IPv6. Il est remplac\u00e9 par l&rsquo;adressage Multicast plus fin.<\/li>\n<li>Une adresse pr\u00e9existe toujours sur chaque interface activ\u00e9e en IPv6.<\/li>\n<li>Les adresses IPv6 r\u00e9tablissent la connectivit\u00e9 globale (publique).<\/li>\n<li>Le NAT en IPv6 ne semble pas indispensable. Il est m\u00eame d\u00e9conseill\u00e9.<\/li>\n<li>Des adresses priv\u00e9es IPv6 restent n\u00e9anmoins utiles pour transporter du trafic priv\u00e9 (sur des lignes priv\u00e9es, dans des tunnels VPN)<\/li>\n<\/ul>\n<p>On trouvera plusieurs types d&rsquo;adresses IPv6.<\/p>\n<p><img src=\"https:\/\/www.lucidchart.com\/publicSegments\/view\/403cb590-8385-4bb1-822f-1b5feca5079f\/image.png\" alt=\"\" \/><\/p>\n<p>On distingue principalement les adresses\u00a0<strong>Unicast<\/strong>\u00a0des adresses\u00a0<strong>Multicast<\/strong>.<\/p>\n<h3 id=\"21adressesunicast\">2.1. Adresses Unicast<\/h3>\n<p>Une adresse Unicast est une adresse qui d\u00e9signe une seule destination.<\/p>\n<p>Parmi les adresses Unicast, on trouve plusieurs classes r\u00e9serv\u00e9es \u00e0 certains usages.<\/p>\n<ul>\n<li>Unspecified\u00a0<code>::\/128<\/code>\u00a0: route non sp\u00e9cifi\u00e9e<\/li>\n<li>Default Route\u00a0<code>::\/0<\/code>\u00a0: route par d\u00e9faut<\/li>\n<li>Node-Local\u00a0<code>::1\/128<\/code>\u00a0: adresse de bouclage<\/li>\n<li><strong>Link-Local<\/strong>\u00a0<code>fe80::\/10<\/code>\u00a0: adresse obligatoire et indispensable au bon fonctionnement du protocole<\/li>\n<li><strong>Global Unicast<\/strong>\u00a0<code>2000::\/3<\/code>\u00a0: adresse publique<\/li>\n<li><strong>Unique Local<\/strong>\u00a0<code>fc00::\/7<\/code>&#8211;<code>fd00::\/8<\/code>\u00a0: adresse priv\u00e9e (al\u00e9atoire)<\/li>\n<\/ul>\n<p>Une adresse\u00a0<strong>Anycast<\/strong>\u00a0ne se distingue pas d&rsquo;une adresse Unicast ; ce terme \u00ab\u00a0Anycast\u00a0\u00bb d\u00e9signe une adresse de livraison qui atteindra sa destination par une technique de routage au plus proche ou au plus efficient.<\/p>\n<h3 id=\"22adressesmulticast\">2.2. Adresses Multicast<\/h3>\n<p>Une adresse Multicast est une adresse qui d\u00e9signe potentiellement plusieurs destinations. Les adresses Multicast remplacent utilement les adresses de Broadcast.<\/p>\n<p>On trouvera deux types d&rsquo;adresse Multicast que l&rsquo;on reconnait par leur pr\u00e9fixe\u00a0<code>FF00::\/8<\/code>\u00a0:<\/p>\n<ul>\n<li>Well-Know Multicast : adresses Multicast bien connues<\/li>\n<li>Solicited-Node Multicast : adresses utilis\u00e9es dans la d\u00e9couverte de voisinage (ND)<\/li>\n<\/ul>\n<h2 id=\"3commentreconnatredesadressesipv6\">3. Comment reconna\u00eetre des adresses IPv6 ?<\/h2>\n<p>Comment reconna\u00eetre les adresses IPv6 d&rsquo;une interface r\u00e9seau ? Une approche pratique orient\u00e9e sur l&rsquo;interpr\u00e9tation des r\u00e9sultats de quelques commandes peut apporter des r\u00e9ponses.\u00a0<code>ifconfig<\/code>,\u00a0<code>ipconfig<\/code>,\u00a0<code>ip addr<\/code>,\u00a0<code>ip link<\/code>,\u00a0<code>ip neigh<\/code>,\u00a0<code>net sh<\/code>\u00a0sont des commandes usuelles.<\/p>\n<p>Le r\u00e9sultat de la commande ipconfig sous Windows 8 illustre trois types d&rsquo;adresses IPv6 unicast (\u00e0 destination d&rsquo;une seule interface) que vous allez n\u00e9cessairement rencontrer dans votre r\u00e9seau :<\/p>\n<ul>\n<li>Link-Local,<\/li>\n<li>Global Unicast et<\/li>\n<li>Unique Local.<\/li>\n<\/ul>\n<pre><code class=\"hljs ruby\"><span class=\"hljs-constant\">Microsoft<\/span> <span class=\"hljs-constant\">Windows<\/span> [<span class=\"hljs-constant\">Version<\/span> <span class=\"hljs-number\">6.3<\/span>.<span class=\"hljs-number\">9600<\/span>]\r\n(c) <span class=\"hljs-number\">2013<\/span> <span class=\"hljs-constant\">Microsoft<\/span> <span class=\"hljs-constant\">Corporation<\/span>. <span class=\"hljs-constant\">All<\/span> rights reserved.\r\n\r\n<span class=\"hljs-constant\">C<\/span><span class=\"hljs-symbol\">:<\/span>\\<span class=\"hljs-constant\">Users<\/span>\\<span class=\"hljs-constant\">User1<\/span>&gt;ipconfig\r\n\r\n<span class=\"hljs-constant\">Windows<\/span> <span class=\"hljs-constant\">IP<\/span> <span class=\"hljs-constant\">Configuration<\/span>\r\n<span class=\"hljs-constant\">Ethernet<\/span> adapter <span class=\"hljs-constant\">Ethernet0<\/span><span class=\"hljs-symbol\">:<\/span>\r\n\r\n<span class=\"hljs-constant\">Connection<\/span>-specific <span class=\"hljs-constant\">DNS<\/span> <span class=\"hljs-constant\">Suffix<\/span>  . <span class=\"hljs-symbol\">:<\/span> lan.org\r\n<span class=\"hljs-constant\">IPv6<\/span> <span class=\"hljs-constant\">Address<\/span>. . . . . . . . . . . <span class=\"hljs-symbol\">:<\/span> <span class=\"hljs-number\">2001<\/span><span class=\"hljs-symbol\">:db8<\/span><span class=\"hljs-symbol\">:acaf<\/span><span class=\"hljs-symbol\">:fd00<\/span><span class=\"hljs-symbol\">:<\/span><span class=\"hljs-symbol\">:<\/span><span class=\"hljs-number\">2<\/span>ae\r\n<span class=\"hljs-constant\">IPv6<\/span> <span class=\"hljs-constant\">Address<\/span>. . . . . . . . . . . <span class=\"hljs-symbol\">:<\/span> <span class=\"hljs-number\">2001<\/span><span class=\"hljs-symbol\">:db8<\/span><span class=\"hljs-symbol\">:acaf<\/span><span class=\"hljs-symbol\">:fd00<\/span><span class=\"hljs-symbol\">:b48a<\/span><span class=\"hljs-symbol\">:c5e2<\/span><span class=\"hljs-symbol\">:e5a3<\/span><span class=\"hljs-symbol\">:<\/span><span class=\"hljs-number\">1<\/span>f3e\r\n<span class=\"hljs-constant\">IPv6<\/span> <span class=\"hljs-constant\">Address<\/span>. . . . . . . . . . . <span class=\"hljs-symbol\">:<\/span> <span class=\"hljs-symbol\">fd26:<\/span><span class=\"hljs-number\">44<\/span><span class=\"hljs-symbol\">e1:<\/span><span class=\"hljs-number\">8<\/span><span class=\"hljs-symbol\">c70:<\/span><span class=\"hljs-symbol\">fd00:<\/span><span class=\"hljs-symbol\">:<\/span><span class=\"hljs-number\">2<\/span>ae\r\n<span class=\"hljs-constant\">IPv6<\/span> <span class=\"hljs-constant\">Address<\/span>. . . . . . . . . . . <span class=\"hljs-symbol\">:<\/span> <span class=\"hljs-symbol\">fd26:<\/span><span class=\"hljs-number\">44<\/span><span class=\"hljs-symbol\">e1:<\/span><span class=\"hljs-number\">8<\/span><span class=\"hljs-symbol\">c70:<\/span><span class=\"hljs-symbol\">fd00:<\/span><span class=\"hljs-symbol\">b48a:<\/span><span class=\"hljs-symbol\">c5e2:<\/span><span class=\"hljs-symbol\">e5a3:<\/span><span class=\"hljs-number\">1<\/span>f3e\r\n<span class=\"hljs-constant\">Temporary<\/span> <span class=\"hljs-constant\">IPv6<\/span> <span class=\"hljs-constant\">Address<\/span>. . . . . . <span class=\"hljs-symbol\">:<\/span> <span class=\"hljs-number\">2001<\/span><span class=\"hljs-symbol\">:db8<\/span><span class=\"hljs-symbol\">:acaf<\/span><span class=\"hljs-symbol\">:fd00<\/span><span class=\"hljs-symbol\">:<\/span><span class=\"hljs-number\">61<\/span><span class=\"hljs-symbol\">a9:<\/span><span class=\"hljs-number\">365<\/span><span class=\"hljs-symbol\">c:<\/span><span class=\"hljs-number\">2<\/span><span class=\"hljs-symbol\">d95:<\/span><span class=\"hljs-number\">898<\/span>\r\n<span class=\"hljs-constant\">Temporary<\/span> <span class=\"hljs-constant\">IPv6<\/span> <span class=\"hljs-constant\">Address<\/span>. . . . . . <span class=\"hljs-symbol\">:<\/span> <span class=\"hljs-symbol\">fd26:<\/span><span class=\"hljs-number\">44<\/span><span class=\"hljs-symbol\">e1:<\/span><span class=\"hljs-number\">8<\/span><span class=\"hljs-symbol\">c70:<\/span><span class=\"hljs-symbol\">fd00:<\/span><span class=\"hljs-number\">61<\/span><span class=\"hljs-symbol\">a9:<\/span><span class=\"hljs-number\">365<\/span><span class=\"hljs-symbol\">c:<\/span><span class=\"hljs-number\">2<\/span><span class=\"hljs-symbol\">d95:<\/span><span class=\"hljs-number\">898<\/span>\r\n<span class=\"hljs-constant\">Link<\/span>-local <span class=\"hljs-constant\">IPv6<\/span> <span class=\"hljs-constant\">Address<\/span> . . . . . <span class=\"hljs-symbol\">:<\/span> <span class=\"hljs-symbol\">fe80:<\/span><span class=\"hljs-symbol\">:b48a<\/span><span class=\"hljs-symbol\">:c5e2<\/span><span class=\"hljs-symbol\">:e5a3<\/span><span class=\"hljs-symbol\">:<\/span><span class=\"hljs-number\">1<\/span>f3e%<span class=\"hljs-number\">3<\/span>\r\n<span class=\"hljs-constant\">IPv4<\/span> <span class=\"hljs-constant\">Address<\/span>. . . . . . . . . . . <span class=\"hljs-symbol\">:<\/span> <span class=\"hljs-number\">192.168<\/span>.<span class=\"hljs-number\">1.195<\/span>\r\n<span class=\"hljs-constant\">Subnet<\/span> <span class=\"hljs-constant\">Mask<\/span> . . . . . . . . . . . <span class=\"hljs-symbol\">:<\/span> <span class=\"hljs-number\">255.255<\/span>.<span class=\"hljs-number\">255.0<\/span>\r\n<span class=\"hljs-constant\">Default<\/span> <span class=\"hljs-constant\">Gateway<\/span> . . . . . . . . . <span class=\"hljs-symbol\">:<\/span> <span class=\"hljs-symbol\">fe80:<\/span><span class=\"hljs-symbol\">:<\/span><span class=\"hljs-number\">12<\/span><span class=\"hljs-symbol\">fe:<\/span><span class=\"hljs-symbol\">edff:<\/span><span class=\"hljs-symbol\">fee5:<\/span>a266%<span class=\"hljs-number\">3<\/span>\r\n <span class=\"hljs-number\">192.168<\/span>.<span class=\"hljs-number\">1.1<\/span>\r\n<\/code><\/pre>\n<p>On pr\u00e9f\u00e9rera franchement la commande \u00ab\u00a0netsh interface ipv6 show address\u00a0\u00bb plus pr\u00e9cise.<\/p>\n<pre><code class=\"hljs ruby\"><span class=\"hljs-constant\">C<\/span><span class=\"hljs-symbol\">:<\/span>\\<span class=\"hljs-constant\">Users<\/span>\\user1&gt;netsh int ipv6 show add\r\n\r\n<span class=\"hljs-constant\">Interface<\/span> <span class=\"hljs-number\">3<\/span><span class=\"hljs-symbol\">:<\/span> <span class=\"hljs-constant\">Ethernet0<\/span>\r\n<span class=\"hljs-constant\">Addr<\/span> <span class=\"hljs-constant\">Type<\/span>  <span class=\"hljs-constant\">DAD<\/span> <span class=\"hljs-constant\">State<\/span>   <span class=\"hljs-constant\">Valid<\/span> <span class=\"hljs-constant\">Life<\/span> <span class=\"hljs-constant\">Pref<\/span>. <span class=\"hljs-constant\">Life<\/span> <span class=\"hljs-constant\">Address<\/span>\r\n---------  ----------- ---------- ---------- ------------------------\r\n<span class=\"hljs-constant\">Dhcp<\/span>       <span class=\"hljs-constant\">Preferred<\/span>    <span class=\"hljs-number\">23<\/span>h15m46s  <span class=\"hljs-number\">23<\/span>h15m46s <span class=\"hljs-number\">2001<\/span><span class=\"hljs-symbol\">:db8<\/span><span class=\"hljs-symbol\">:acaf<\/span><span class=\"hljs-symbol\">:fd00<\/span><span class=\"hljs-symbol\">:<\/span><span class=\"hljs-symbol\">:<\/span><span class=\"hljs-number\">2<\/span>ae\r\n<span class=\"hljs-constant\">Temporary<\/span>  <span class=\"hljs-constant\">Preferred<\/span>     <span class=\"hljs-number\">1<\/span>h53m48s     <span class=\"hljs-number\">23<\/span>m48s <span class=\"hljs-number\">2001<\/span><span class=\"hljs-symbol\">:db8<\/span><span class=\"hljs-symbol\">:acaf<\/span><span class=\"hljs-symbol\">:fd00<\/span><span class=\"hljs-symbol\">:<\/span><span class=\"hljs-number\">61<\/span><span class=\"hljs-symbol\">a9:<\/span><span class=\"hljs-number\">365<\/span><span class=\"hljs-symbol\">c:<\/span><span class=\"hljs-number\">2<\/span><span class=\"hljs-symbol\">d95:<\/span><span class=\"hljs-number\">898<\/span>\r\n<span class=\"hljs-constant\">Public<\/span>     <span class=\"hljs-constant\">Preferred<\/span>     <span class=\"hljs-number\">1<\/span>h53m48s     <span class=\"hljs-number\">23<\/span>m48s <span class=\"hljs-number\">2001<\/span><span class=\"hljs-symbol\">:db8<\/span><span class=\"hljs-symbol\">:acaf<\/span><span class=\"hljs-symbol\">:fd00<\/span><span class=\"hljs-symbol\">:b48a<\/span><span class=\"hljs-symbol\">:c5e2<\/span><span class=\"hljs-symbol\">:e5a3<\/span><span class=\"hljs-symbol\">:<\/span><span class=\"hljs-number\">1<\/span>f3e\r\n<span class=\"hljs-constant\">Dhcp<\/span>       <span class=\"hljs-constant\">Preferred<\/span>    <span class=\"hljs-number\">23<\/span>h15m46s  <span class=\"hljs-number\">23<\/span>h15m46s <span class=\"hljs-symbol\">fd26:<\/span><span class=\"hljs-number\">44<\/span><span class=\"hljs-symbol\">e1:<\/span><span class=\"hljs-number\">8<\/span><span class=\"hljs-symbol\">c70:<\/span><span class=\"hljs-symbol\">fd00:<\/span><span class=\"hljs-symbol\">:<\/span><span class=\"hljs-number\">2<\/span>ae\r\n<span class=\"hljs-constant\">Temporary<\/span>  <span class=\"hljs-constant\">Preferred<\/span>     <span class=\"hljs-number\">1<\/span>h53m48s     <span class=\"hljs-number\">23<\/span>m48s <span class=\"hljs-symbol\">fd26:<\/span><span class=\"hljs-number\">44<\/span><span class=\"hljs-symbol\">e1:<\/span><span class=\"hljs-number\">8<\/span><span class=\"hljs-symbol\">c70:<\/span><span class=\"hljs-symbol\">fd00:<\/span><span class=\"hljs-number\">61<\/span><span class=\"hljs-symbol\">a9:<\/span><span class=\"hljs-number\">365<\/span><span class=\"hljs-symbol\">c:<\/span><span class=\"hljs-number\">2<\/span><span class=\"hljs-symbol\">d95:<\/span><span class=\"hljs-number\">898<\/span>\r\n<span class=\"hljs-constant\">Public<\/span>     <span class=\"hljs-constant\">Preferred<\/span>     <span class=\"hljs-number\">1<\/span>h53m48s     <span class=\"hljs-number\">23<\/span>m48s <span class=\"hljs-symbol\">fd26:<\/span><span class=\"hljs-number\">44<\/span><span class=\"hljs-symbol\">e1:<\/span><span class=\"hljs-number\">8<\/span><span class=\"hljs-symbol\">c70:<\/span><span class=\"hljs-symbol\">fd00:<\/span><span class=\"hljs-symbol\">b48a:<\/span><span class=\"hljs-symbol\">c5e2:<\/span><span class=\"hljs-symbol\">e5a3:<\/span><span class=\"hljs-number\">1<\/span>f3e\r\n<span class=\"hljs-constant\">Other<\/span>      <span class=\"hljs-constant\">Preferred<\/span>     infinite   infinite <span class=\"hljs-symbol\">fe80:<\/span><span class=\"hljs-symbol\">:b48a<\/span><span class=\"hljs-symbol\">:c5e2<\/span><span class=\"hljs-symbol\">:e5a3<\/span><span class=\"hljs-symbol\">:<\/span><span class=\"hljs-number\">1<\/span>f3e%<span class=\"hljs-number\">3<\/span>\r\n<\/code><\/pre>\n<p>Sur votre connexion domestique ou professionnelle vous pourriez compter sept adresses IPv6 comme ici, voire plus encore. Quelles sont-elles ?<\/p>\n<h3 id=\"31adresseipv6unicastlinklocal\">3.1. Adresse IPv6 unicast Link-Local<\/h3>\n<p>On identifiera en premier lieu une adresse Link-Local, obligatoire sur chaque interface activ\u00e9e en IPv6; elle est g\u00e9n\u00e9r\u00e9e automatiquement et elle est cens\u00e9e \u00eatre unique sur le lien. On la reconna\u00eet par son pr\u00e9fixe\u00a0<code>fe80::\/10<\/code>. Cette destination est purement locale sur la liaison de l&rsquo;interface. Les routeurs IPv6 ne transf\u00e8rent pas cette destination. Ici pour cette interface Ethernet0 dont l&rsquo;identifiant d&rsquo;interface est g\u00e9n\u00e9r\u00e9 de mani\u00e8re al\u00e9atoire par Windows :<\/p>\n<pre><code class=\"hljs css\"><span class=\"hljs-tag\">fe80<\/span><span class=\"hljs-pseudo\">::b48a<\/span><span class=\"hljs-pseudo\">:c5e2<\/span><span class=\"hljs-pseudo\">:e5a3<\/span><span class=\"hljs-pseudo\">:1f3e<\/span>%3\r\n<\/code><\/pre>\n<p>Quel est leur usage ? On peut les comparer\u00a0<em>l\u00e9g\u00e8rement<\/em>\u00a0aux adresses APIPA IPv4\u00a0<code>169.254.0.0\/16<\/code>. Mais Neighbor Discovery (ND) indispensable au fonctionnement d&rsquo;IPv6, DHCPv6 (\u00e0 des fins de gestion), les protocoles de routage utilisent aussi ces adresses. Leur usage est devenu un standard. On peut aussi les utiliser pour h\u00e9berger un service local ou pour faire du diagnostic ICMPv6. Attention, une interface ne peut pas fonctionner sans disposer d&rsquo;une telle adresse Link-Local ! Il est obligatoire au sens o\u00f9 elle est indispensable au fonctionnement ult\u00e9rieur d&rsquo;IPv6 sur la connexion. Chaque interface activ\u00e9e en IPv6 doit disposer de ce type d&rsquo;interface.<\/p>\n<p>Aussi, on remarquera le modulo % suivi du chiffre 3. Cette valeur identifie dans Windows l&rsquo;interface ethernet0 sur mon PC. En effet, sur un ordinateur ou sur un routeur disposant de plusieurs interfaces, on trouvera le m\u00eame bloc IPv6\u00a0<code>fe80::\/64<\/code>\u00a0utilis\u00e9 par plusieurs interfaces qui ne transf\u00e8rent pas ce trafic. Elles sont n\u00e9cessairement associ\u00e9es par les syst\u00e8mes avec leur interface de sortie. On trouvera plus bas un exemple avec une sortie Linux.<\/p>\n<h3 id=\"32adresseipv6unicastglobalunicast\">3.2. Adresse IPv6 Unicast Global Unicast<\/h3>\n<p>Ensuite on identifiera plusieurs adresses Global Unicast, soit l&rsquo;\u00e9quivalent de nos adresses IPv4 publiques. On les d\u00e9finira plus pr\u00e9cis\u00e9ment comme des destinations publi\u00e9es sur l&rsquo;Internet. Les routeurs transf\u00e8rent le trafic vers ces destinations. Elles sont donc \u00ab\u00a0globalement routables\u00a0\u00bb. On les identifie par une valeur comprise entre\u00a0<code>0x2000<\/code>\u00a0\u00e0\u00a0<code>0x3FFF<\/code>\u00a0sur les 4 premiers hexas de l&rsquo;adresse. On remarquera qu&rsquo;elles partagent ici le pr\u00e9fixe 2001:db8:acaf:fd00::\/64 (on reconna\u00eetra le pr\u00e9fixe de documentation\u00a0<code>2001:db8::\/32<\/code>. La premi\u00e8re adresse a \u00e9t\u00e9 attribu\u00e9e de mani\u00e8re arbitraire par un service DHCPv6. Les deux suivantes sont des adresses dont l&rsquo;identifiant d&rsquo;interface a \u00e9t\u00e9 g\u00e9n\u00e9r\u00e9 al\u00e9atoirement.<\/p>\n<pre><code class=\"hljs css\">2001<span class=\"hljs-pseudo\">:db8<\/span><span class=\"hljs-pseudo\">:acaf<\/span><span class=\"hljs-pseudo\">:fd00<\/span><span class=\"hljs-pseudo\">::2ae<\/span>\r\n2001<span class=\"hljs-pseudo\">:db8<\/span><span class=\"hljs-pseudo\">:acaf<\/span><span class=\"hljs-pseudo\">:fd00<\/span><span class=\"hljs-pseudo\">:b48a<\/span><span class=\"hljs-pseudo\">:c5e2<\/span><span class=\"hljs-pseudo\">:e5a3<\/span><span class=\"hljs-pseudo\">:1f3e<\/span>\r\n2001<span class=\"hljs-pseudo\">:db8<\/span><span class=\"hljs-pseudo\">:acaf<\/span><span class=\"hljs-pseudo\">:fd00<\/span><span class=\"hljs-pseudo\">:61a9<\/span><span class=\"hljs-pseudo\">:365c<\/span><span class=\"hljs-pseudo\">:2d95<\/span><span class=\"hljs-pseudo\">:898<\/span>\r\n<\/code><\/pre>\n<p>Si l&rsquo;on s&rsquo;attarde sur les deux derni\u00e8res adresses g\u00e9n\u00e9r\u00e9es manifestement de mani\u00e8re al\u00e9atoire, elles disposent de dur\u00e9es de vie limit\u00e9es. L&rsquo;une, la \u00ab\u00a0publique\u00a0\u00bb, sert de destination venant de l&rsquo;Internet (activez et mettez \u00e0 jour vos pare-feu IPv6); l&rsquo;autre, l\u2019adresse\u00a0temporaire sert toujours comme adresse d&rsquo;origine du trafic de l&rsquo;interface pour le trafic \u00e0 destination de l&rsquo;Internet. Dans ce cas, l&rsquo;adresse attribu\u00e9e par DHCPv6 ne peut servir que comme adresse de destination. Je l&rsquo;ai impl\u00e9ment\u00e9e ici \u00e0 des fins de gestion (r\u00e9solution dynamique de noms).<\/p>\n<h3 id=\"33adresseipv6unicastuniquelocalula\">3.3. Adresse IPv6 Unicast Unique Local (ULA)<\/h3>\n<p>De la m\u00eame mani\u00e8re on identifiera un troisi\u00e8me type d&rsquo;adresses : Unique Local Address (ULA). Comparables aux adresses priv\u00e9es IPv4 RFC1918\u00a0<code>10.0.0.0\/8<\/code>,\u00a0<code>172.16.0.0\/12<\/code>\u00a0et\u00a0<code>192.168.0.0\/16<\/code>\u00a0dans le sens o\u00f9 elles\u00a0<strong>ne sont pas<\/strong>\u00ab\u00a0globalement routables\u00a0\u00bb, elles ne connaissent pas de destination sur l&rsquo;Internet. On les reconna\u00eet par leur pr\u00e9fixe\u00a0<code>FD00::\/8<\/code>\u00a0dont les 40 bits suivants ont \u00e9t\u00e9 g\u00e9n\u00e9r\u00e9s al\u00e9atoirement pour compl\u00e9ter un pr\u00e9fixe\u00a0<code>\/48<\/code>.<\/p>\n<p>Cet adressage priv\u00e9 IPv6 est cens\u00e9 \u00eatre unique afin d&rsquo;\u00e9viter un chevauchement d&rsquo;adresses identiques \u00e0 chaque extr\u00e9mit\u00e9 d&rsquo;une connexion VPN par exemple.<\/p>\n<pre><code class=\"hljs css\"><span class=\"hljs-tag\">fd26<\/span><span class=\"hljs-pseudo\">:44e1<\/span><span class=\"hljs-pseudo\">:8c70<\/span><span class=\"hljs-pseudo\">:fd00<\/span><span class=\"hljs-pseudo\">::2ae<\/span>\r\n<span class=\"hljs-tag\">fd26<\/span><span class=\"hljs-pseudo\">:44e1<\/span><span class=\"hljs-pseudo\">:8c70<\/span><span class=\"hljs-pseudo\">:fd00<\/span><span class=\"hljs-pseudo\">:b48a<\/span><span class=\"hljs-pseudo\">:c5e2<\/span><span class=\"hljs-pseudo\">:e5a3<\/span><span class=\"hljs-pseudo\">:1f3e<\/span>\r\n<span class=\"hljs-tag\">fd26<\/span><span class=\"hljs-pseudo\">:44e1<\/span><span class=\"hljs-pseudo\">:8c70<\/span><span class=\"hljs-pseudo\">:fd00<\/span><span class=\"hljs-pseudo\">:61a9<\/span><span class=\"hljs-pseudo\">:365c<\/span><span class=\"hljs-pseudo\">:2d95<\/span><span class=\"hljs-pseudo\">:898<\/span>\r\n<\/code><\/pre>\n<p>Quel pourrait \u00eatre leur usage au XXIe si\u00e8cle avec un adressage global IPv6 aussi large ?<\/p>\n<p>D&rsquo;abord, elles sont recommand\u00e9es par le\u00a0<a href=\"https:\/\/tools.ietf.org\/html\/rfc7084\">RFC7084 \u00ab\u00a0Basic Requirements for IPv6 Customer Edge Routers\u00a0\u00bb<\/a>.<\/p>\n<p>On peut les utiliser pour identifier des destinations priv\u00e9es entre des sites distants entre Paris et Lille, entre Bruxelles et Londres ou entre le b\u00e2timent de la rue du commerce et celui du Boulevard du Nord &#8230; \u00e0 travers des connexions d\u00e9di\u00e9es ou Internet s\u00e9curis\u00e9es par IPSEC &#8230;. En deux mots, faciliter le routage priv\u00e9.<\/p>\n<p>Dans notre exemple, on trouve trois adresses IPv6 ULA : une adresse attribu\u00e9e par un service DHCPv6 et deux al\u00e9atoires.<\/p>\n<p>On remerciera les concepteurs de Microsoft Windows et Apple Mac OS X d&rsquo;offrir une impl\u00e9mentation aussi compl\u00e8te d&rsquo;IPv6.<\/p>\n<p>Pour compl\u00e9ter le propos, on ne manquera pas d&rsquo;observer les param\u00e8tres acquis par une station Linux Debian 7 qui offre un service plus \u00ab\u00a0standard\u00a0\u00bb dans les m\u00eames conditions :<\/p>\n<pre><code class=\"hljs ruby\">root<span class=\"hljs-variable\">@debian<\/span><span class=\"hljs-symbol\">:~<\/span><span class=\"hljs-comment\"># ifconfig<\/span>\r\neth<span class=\"hljs-number\">0<\/span>      <span class=\"hljs-constant\">Link<\/span> <span class=\"hljs-symbol\">encap:<\/span><span class=\"hljs-constant\">Ethernet<\/span>  <span class=\"hljs-constant\">HWaddr<\/span> <span class=\"hljs-symbol\">b8:<\/span><span class=\"hljs-number\">27<\/span><span class=\"hljs-symbol\">:eb<\/span><span class=\"hljs-symbol\">:<\/span><span class=\"hljs-number\">59<\/span><span class=\"hljs-symbol\">:<\/span><span class=\"hljs-number\">70<\/span><span class=\"hljs-symbol\">:f3<\/span>  \r\n          inet <span class=\"hljs-symbol\">adr:<\/span><span class=\"hljs-number\">192.168<\/span>.<span class=\"hljs-number\">1.119<\/span>  <span class=\"hljs-constant\">Bcast<\/span><span class=\"hljs-symbol\">:<\/span><span class=\"hljs-number\">192.168<\/span>.<span class=\"hljs-number\">1.255<\/span>  <span class=\"hljs-constant\">Masque<\/span><span class=\"hljs-symbol\">:<\/span><span class=\"hljs-number\">255.255<\/span>.<span class=\"hljs-number\">255.0<\/span>\r\n          adr <span class=\"hljs-symbol\">inet6:<\/span> <span class=\"hljs-symbol\">fd26:<\/span><span class=\"hljs-number\">44<\/span><span class=\"hljs-symbol\">e1:<\/span><span class=\"hljs-number\">8<\/span><span class=\"hljs-symbol\">c70:<\/span><span class=\"hljs-symbol\">fd00:<\/span><span class=\"hljs-symbol\">ba27:<\/span><span class=\"hljs-symbol\">ebff:<\/span><span class=\"hljs-symbol\">fe59:<\/span><span class=\"hljs-number\">70<\/span>f3\/<span class=\"hljs-number\">64<\/span> <span class=\"hljs-constant\">Scope<\/span><span class=\"hljs-symbol\">:Global<\/span>\r\n          adr <span class=\"hljs-symbol\">inet6:<\/span> <span class=\"hljs-symbol\">fe80:<\/span><span class=\"hljs-symbol\">:ba27<\/span><span class=\"hljs-symbol\">:ebff<\/span><span class=\"hljs-symbol\">:fe59<\/span><span class=\"hljs-symbol\">:<\/span><span class=\"hljs-number\">70<\/span>f3\/<span class=\"hljs-number\">64<\/span> <span class=\"hljs-constant\">Scope<\/span><span class=\"hljs-symbol\">:Lien<\/span>\r\n          adr <span class=\"hljs-symbol\">inet6:<\/span> <span class=\"hljs-number\">2001<\/span><span class=\"hljs-symbol\">:db8<\/span><span class=\"hljs-symbol\">:acaf<\/span><span class=\"hljs-symbol\">:fd00<\/span><span class=\"hljs-symbol\">:ba27<\/span><span class=\"hljs-symbol\">:ebff<\/span><span class=\"hljs-symbol\">:fe59<\/span><span class=\"hljs-symbol\">:<\/span><span class=\"hljs-number\">70<\/span>f3\/<span class=\"hljs-number\">64<\/span> <span class=\"hljs-constant\">Scope<\/span><span class=\"hljs-symbol\">:Global<\/span>\r\n          <span class=\"hljs-constant\">UP<\/span> <span class=\"hljs-constant\">BROADCAST<\/span> <span class=\"hljs-constant\">RUNNING<\/span> <span class=\"hljs-constant\">MULTICAST<\/span>  <span class=\"hljs-constant\">MTU<\/span><span class=\"hljs-symbol\">:<\/span><span class=\"hljs-number\">1500<\/span>  <span class=\"hljs-constant\">Metric<\/span><span class=\"hljs-symbol\">:<\/span><span class=\"hljs-number\">1<\/span>\r\n          <span class=\"hljs-constant\">RX<\/span> <span class=\"hljs-symbol\">packets:<\/span><span class=\"hljs-number\">93310<\/span> <span class=\"hljs-symbol\">errors:<\/span><span class=\"hljs-number\">0<\/span> <span class=\"hljs-symbol\">dropped:<\/span><span class=\"hljs-number\">49<\/span> <span class=\"hljs-symbol\">overruns:<\/span><span class=\"hljs-number\">0<\/span> <span class=\"hljs-symbol\">frame:<\/span><span class=\"hljs-number\">0<\/span>\r\n          <span class=\"hljs-constant\">TX<\/span> <span class=\"hljs-symbol\">packets:<\/span><span class=\"hljs-number\">76990<\/span> <span class=\"hljs-symbol\">errors:<\/span><span class=\"hljs-number\">0<\/span> <span class=\"hljs-symbol\">dropped:<\/span><span class=\"hljs-number\">0<\/span> <span class=\"hljs-symbol\">overruns:<\/span><span class=\"hljs-number\">0<\/span> <span class=\"hljs-symbol\">carrier:<\/span><span class=\"hljs-number\">0<\/span>\r\n          <span class=\"hljs-symbol\">collisions:<\/span><span class=\"hljs-number\">0<\/span> lg file <span class=\"hljs-symbol\">transmission:<\/span><span class=\"hljs-number\">1000<\/span>\r\n          <span class=\"hljs-constant\">RX<\/span> <span class=\"hljs-symbol\">bytes:<\/span><span class=\"hljs-number\">11548535<\/span> (<span class=\"hljs-number\">11.0<\/span> <span class=\"hljs-constant\">MiB<\/span>)  <span class=\"hljs-constant\">TX<\/span> <span class=\"hljs-symbol\">bytes:<\/span><span class=\"hljs-number\">14021689<\/span> (<span class=\"hljs-number\">13.3<\/span> <span class=\"hljs-constant\">MiB<\/span>)\r\n\r\nlo        <span class=\"hljs-constant\">Link<\/span> <span class=\"hljs-symbol\">encap:<\/span><span class=\"hljs-constant\">Boucle<\/span> locale  \r\n          inet <span class=\"hljs-symbol\">adr:<\/span><span class=\"hljs-number\">127.0<\/span>.<span class=\"hljs-number\">0<\/span>.<span class=\"hljs-number\">1<\/span>  <span class=\"hljs-constant\">Masque<\/span><span class=\"hljs-symbol\">:<\/span><span class=\"hljs-number\">255.0<\/span>.<span class=\"hljs-number\">0<\/span>.<span class=\"hljs-number\">0<\/span>\r\n          adr <span class=\"hljs-symbol\">inet6:<\/span> <span class=\"hljs-symbol\">:<\/span><span class=\"hljs-symbol\">:<\/span><span class=\"hljs-number\">1<\/span>\/<span class=\"hljs-number\">128<\/span> <span class=\"hljs-constant\">Scope<\/span><span class=\"hljs-symbol\">:H<\/span>\u00f4te\r\n          <span class=\"hljs-constant\">UP<\/span> <span class=\"hljs-constant\">LOOPBACK<\/span> <span class=\"hljs-constant\">RUNNING<\/span>  <span class=\"hljs-constant\">MTU<\/span><span class=\"hljs-symbol\">:<\/span><span class=\"hljs-number\">65536<\/span>  <span class=\"hljs-constant\">Metric<\/span><span class=\"hljs-symbol\">:<\/span><span class=\"hljs-number\">1<\/span>\r\n          <span class=\"hljs-constant\">RX<\/span> <span class=\"hljs-symbol\">packets:<\/span><span class=\"hljs-number\">17546<\/span> <span class=\"hljs-symbol\">errors:<\/span><span class=\"hljs-number\">0<\/span> <span class=\"hljs-symbol\">dropped:<\/span><span class=\"hljs-number\">0<\/span> <span class=\"hljs-symbol\">overruns:<\/span><span class=\"hljs-number\">0<\/span> <span class=\"hljs-symbol\">frame:<\/span><span class=\"hljs-number\">0<\/span>\r\n          <span class=\"hljs-constant\">TX<\/span> <span class=\"hljs-symbol\">packets:<\/span><span class=\"hljs-number\">17546<\/span> <span class=\"hljs-symbol\">errors:<\/span><span class=\"hljs-number\">0<\/span> <span class=\"hljs-symbol\">dropped:<\/span><span class=\"hljs-number\">0<\/span> <span class=\"hljs-symbol\">overruns:<\/span><span class=\"hljs-number\">0<\/span> <span class=\"hljs-symbol\">carrier:<\/span><span class=\"hljs-number\">0<\/span>\r\n          <span class=\"hljs-symbol\">collisions:<\/span><span class=\"hljs-number\">0<\/span> lg file <span class=\"hljs-symbol\">transmission:<\/span><span class=\"hljs-number\">0<\/span>\r\n          <span class=\"hljs-constant\">RX<\/span> <span class=\"hljs-symbol\">bytes:<\/span><span class=\"hljs-number\">1199358<\/span> (<span class=\"hljs-number\">1.1<\/span> <span class=\"hljs-constant\">MiB<\/span>)  <span class=\"hljs-constant\">TX<\/span> <span class=\"hljs-symbol\">bytes:<\/span><span class=\"hljs-number\">1199358<\/span> (<span class=\"hljs-number\">1.1<\/span> <span class=\"hljs-constant\">MiB<\/span>)\r\n<\/code><\/pre>\n<p>On trouvera sur cet ordinateur deux interfaces eth0 et lo. La sortie donne la port\u00e9e de chaque adresse IPv6.<\/p>\n<h3 id=\"34identifiantdinterfacemaceui64\">3.4. Identifiant d&rsquo;interface MAC-EUI64<\/h3>\n<p>L&rsquo;interface\u00a0<code>eth0<\/code>\u00a0connect\u00e9e au r\u00e9seau local ne d\u00e9marre pas par d\u00e9faut un client DHCPv6, ce n&rsquo;est pas erreur. Sur cette interface, on trouvera les trois types d&rsquo;adresses. Pour chacune, l&rsquo;identifiant d&rsquo;interface est identique. Il est g\u00e9n\u00e9r\u00e9 par la m\u00e9thode MAC-EUI64 (m\u00e9thode par d\u00e9faut). MAC-EUI64 est une m\u00e9thode standardis\u00e9e qui vise \u00e0 obtenir un identifiant d&rsquo;interface de 64 bits \u00e0 partir d&rsquo;une adresse MAC de 48 bits. Aussi, ce n&rsquo;est pas une erreur mais le comportement par d\u00e9faut.<\/p>\n<pre><code class=\"hljs css\"><span class=\"hljs-tag\">fe80<\/span><span class=\"hljs-pseudo\">::ba27<\/span><span class=\"hljs-pseudo\">:ebff<\/span><span class=\"hljs-pseudo\">:fe59<\/span><span class=\"hljs-pseudo\">:70f3<\/span>\r\n2001<span class=\"hljs-pseudo\">:db8<\/span><span class=\"hljs-pseudo\">:acaf<\/span><span class=\"hljs-pseudo\">:fd00<\/span><span class=\"hljs-pseudo\">:ba27<\/span><span class=\"hljs-pseudo\">:ebff<\/span><span class=\"hljs-pseudo\">:fe59<\/span><span class=\"hljs-pseudo\">:70f3<\/span>\r\n<span class=\"hljs-tag\">fd26<\/span><span class=\"hljs-pseudo\">:44e1<\/span><span class=\"hljs-pseudo\">:8c70<\/span><span class=\"hljs-pseudo\">:fd00<\/span><span class=\"hljs-pseudo\">:ba27<\/span><span class=\"hljs-pseudo\">:ebff<\/span><span class=\"hljs-pseudo\">:fe59<\/span><span class=\"hljs-pseudo\">:70f3<\/span>\r\n<\/code><\/pre>\n<p>Avez-vous aper\u00e7u le souci de confidentialit\u00e9 ? On retrouve l&rsquo;adresse MAC de l&rsquo;interface dans l&rsquo;identifiant d&rsquo;interface de cette adresse. Cette portion significative de l&rsquo;adresse permet d&rsquo;identifier de mani\u00e8re certaine l&rsquo;interface quel que soit son pr\u00e9fixe. De plus, les 24 premiers bits de l&rsquo;adresse MAC (ici\u00a0<code>b8:27:eb<\/code>) identifient le mat\u00e9riel; \u00e0 vous de le retrouver.<\/p>\n<p>Soit la m\u00e9thode MAC-EUI64 ins\u00e8re 16 bits manquants\u00a0<strong><code>FFFE<\/code><\/strong>\u00a0apr\u00e8s les 24 premiers bits de l&rsquo;adresse MAC (OUI,\u00a0<em>Organizationally Unique Identifier<\/em>) dont le 7e bit a \u00e9t\u00e9 invers\u00e9 :<\/p>\n<p>de\u00a0<code>b8:27:eb:59:70:f3<\/code>, on passe \u00e0\u00a0<code>ba27:ebff:fe59:70f3<\/code><\/p>\n<p>16 bits ont \u00e9t\u00e9 ajout\u00e9s et la valeur du deuxi\u00e8me hexa est pass\u00e9e de\u00a0<code>8<\/code>\u00a0\u00e0\u00a0<code>a<\/code>\u00a0soit augment\u00e9 de 1 bit. Ce renversement signifie que l&rsquo;adresse est \u00ab\u00a0administr\u00e9e localement\u00a0\u00bb.<\/p>\n<p>Il est possible de modifier ce comportement par d\u00e9faut quel que soit le syst\u00e8me d&rsquo;exploitation.<\/p>\n<h3 id=\"35adresseipv6unicastdebouclageloopback\">3.5. Adresse IPv6 Unicast de bouclage (loopback)<\/h3>\n<p>On distinguera enfin la notion d&rsquo;<em>interface<\/em>\u00a0de bouclage et de celle d&rsquo;<em>adresse<\/em>\u00a0de bouclage. L&rsquo;interface\u00a0<code>lo<\/code>\u00a0ne dispose pas d&rsquo;adresse IPv6 Link-Local : elle ne peut d&rsquo;ailleurs communiquer qu&rsquo;avec elle-m\u00eame. En IPv6, le bouclage indispensable aux syst\u00e8mes d&rsquo;exploitation est adress\u00e9 par une seule adresse sp\u00e9ciale ::1\/128.<\/p>\n<h3 id=\"36commenttoutcelafonctionnetil\">3.6. Comment tout cela fonctionne-t-il ?<\/h3>\n<p>Comment les adresses parviennent-elles \u00e0 se configurer toutes seules ? Le routeur du r\u00e9seau local envoie r\u00e9guli\u00e8rement des messages \u00ab\u00a0Neighbor Discovery\u00a0\u00bb (ND) (ICMPv6 type 134), appel\u00e9s des \u00ab\u00a0Router Advertisements\u00a0\u00bb qui poussent ces param\u00e8tres de configuration aupr\u00e8s des machines du r\u00e9seau local. C&rsquo;est le routeur IPv6 qui configure le r\u00e9seau et de mani\u00e8re tr\u00e8s fine. Les interfaces s&rsquo;autoconfigurent selon la m\u00e9thode SLAAC (<em>Stateless Address Autoconfiguration<\/em>) qui implique un trafic \u00ab\u00a0Neighbor Discovery\u00a0\u00bb (ND) de v\u00e9rification avec l&rsquo;usage des adresses Link-Local et du Multicast (NUD et DAD).<\/p>\n<p>Si le Broadcast disparait, ARP est remplac\u00e9 par ND (ICMPv6). Ce n&rsquo;est pas anodin et cette nouveaut\u00e9 m\u00e9rite attention.<\/p>\n<p>DHCPv6 est un nouveau protocole qui se d\u00e9cline en deux formules (avec et sans \u00e9tat) et qui peut se combiner \u00e0 la m\u00e9thode SLAAC d&rsquo;autoconfiguration bri\u00e8vement d\u00e9crite ci-dessus. Cette derni\u00e8re est juste activ\u00e9e par d\u00e9faut sur tout h\u00f4te IPv6. L&rsquo;usage de DHCPv6 n\u00e9cessite un logiciel client DHCPv6 (d\u00e9j\u00e0 pr\u00e9sent sous Windows et Mac) sur l&rsquo;ordinateur client. Il est conseill\u00e9 d&rsquo;utiliser pleinement DHCPv6 dans un r\u00e9seau bien g\u00e9r\u00e9. Il n&rsquo;y a aucune obligation \u00e0 laisser les h\u00f4tes terminaux s&rsquo;autoconfigurer.<\/p>\n<p>Enfin, c&rsquo;est sans parler des comportements et configurations particuli\u00e8res sur Cisco IOS ou autres ou encore des strat\u00e9gies et techniques de transition, DNS, la s\u00e9curit\u00e9, le d\u00e9veloppement de code avec de l&rsquo;IPv6.<\/p>\n<h3 id=\"37multicast\">3.7. Multicast<\/h3>\n<p>La seconde cat\u00e9gorie d&rsquo;adresses IPv6 sont les adresses Multicast, \u00e0 destination de certaines interfaces sensibles \u00e0 une adresse dans laquelle elles se reconnaissent. Pour ce faire, on dit qu&rsquo;une interface est inscrite dans un groupe Multicast. Une adresse Multicast est une seule adresse de destination \u00e0 laquelle r\u00e9pondent une ou plusieurs interfaces. Une des intentions du Multicast est de remplacer le broadcast (disparu en IPv6) qui identifie toutes les interfaces des h\u00f4tes du r\u00e9seau. Le trafic Multicast est traduit par une adresse MAC\u00a0<code>33:33:00<\/code>\u00a0et sera trait\u00e9 par les commutateurs comme du trafic de broadcast. Une optimisation consisterait \u00e0 d\u00e9ployer des protocoles qui permettent d&rsquo;identifier les ports inscrits dans des groupes Multicast. Toutefois, il semblerait que le nombre de groupes dans lequel pourrait s&rsquo;inscrire chaque interface IPv6 ne permettrait pas aux commutateurs actuels de tenir la charge.<\/p>\n<p>On trouvera\u00a0<strong>deux types d&rsquo;adresses Multicast<\/strong>\u00a0:<\/p>\n<ul>\n<li>Les adresses IPv6\u00a0<strong>Well-Know Multicast<\/strong>, connues d&rsquo;avance, qui identifient des services bien connus,<\/li>\n<li>Les adresses IPv6\u00a0<strong>Solicited-Node Multicast<\/strong>, qui servent \u00e0 joindre une interface dont on veut conna\u00eetre l&rsquo;adresse MAC (Neighbor Solicitation).<\/li>\n<\/ul>\n<p>La commande \u00ab\u00a0<code>netsh interface ipv6 show joins<\/code>\u00a0\u00bb nous pr\u00e9sente les groupes Multicast auxquels l&rsquo;interface ethernet0 a souscrit :<\/p>\n<pre><code class=\"hljs cpp\">C:\\Users\\User1&gt;netsh <span class=\"hljs-keyword\">int<\/span> ipv6 show joins\r\n\r\nInterface <span class=\"hljs-number\">3<\/span>: Ethernet0\r\n\r\nScope       References  Last  Address\r\n----------  ----------  ----  ---------------------------------\r\n<span class=\"hljs-number\">0<\/span>                    <span class=\"hljs-number\">0<\/span>  No    ff01::<span class=\"hljs-number\">1<\/span>\r\n<span class=\"hljs-number\">0<\/span>                    <span class=\"hljs-number\">0<\/span>  No    ff02::<span class=\"hljs-number\">1<\/span>\r\n<span class=\"hljs-number\">0<\/span>                    <span class=\"hljs-number\">4<\/span>  Yes   ff02::c\r\n<span class=\"hljs-number\">0<\/span>                    <span class=\"hljs-number\">1<\/span>  Yes   ff02::<span class=\"hljs-number\">1<\/span>:<span class=\"hljs-number\">3<\/span>\r\n<span class=\"hljs-number\">0<\/span>                    <span class=\"hljs-number\">2<\/span>  Yes   ff02::<span class=\"hljs-number\">1<\/span>:ff00:<span class=\"hljs-number\">2<\/span>ae\r\n<span class=\"hljs-number\">0<\/span>                    <span class=\"hljs-number\">0<\/span>  No    ff02::<span class=\"hljs-number\">1<\/span>:ff3f:<span class=\"hljs-number\">62e6<\/span>\r\n<span class=\"hljs-number\">0<\/span>                    <span class=\"hljs-number\">2<\/span>  Yes   ff02::<span class=\"hljs-number\">1<\/span>:ff95:<span class=\"hljs-number\">898<\/span>\r\n<span class=\"hljs-number\">0<\/span>                    <span class=\"hljs-number\">3<\/span>  Yes   ff02::<span class=\"hljs-number\">1<\/span>:ffa3:<span class=\"hljs-number\">1f<\/span>3e\r\n<\/code><\/pre>\n<p>On reconnait les adresses Multicast par leur pr\u00e9fixe\u00a0<code>ff00::\/8<\/code>.<\/p>\n<h3 id=\"38wellknowmulticast\">3.8. Well-Know Multicast<\/h3>\n<ul>\n<li><code>ff01::1<\/code>\u00a0: tous les noeuds,<\/li>\n<li><code>ff02::1<\/code>\u00a0: tous les noeuds sur le r\u00e9seau local,<\/li>\n<li><code>ff02::2<\/code>\u00a0: tous les routeurs sur le r\u00e9seau local,<\/li>\n<li><code>ff02::5<\/code>\u00a0: tous les routeurs OSPF<\/li>\n<li><code>ff02::6<\/code>\u00a0: tous les routeurs OSPF DR\/BDR<\/li>\n<li><code>ff02::9<\/code>\u00a0: tous les routeurs RIP<\/li>\n<li><code>ff02::a<\/code>\u00a0: tous les routeurs EIGRP<\/li>\n<li><code>ff02::1:2<\/code>\u00a0: tous les serveurs DHCP sur le r\u00e9seau local<\/li>\n<li><code>ff02::fb<\/code>\u00a0: DNS Multicast sur le r\u00e9seau local<\/li>\n<li><code>ff02::101<\/code>\u00a0: Tous les serveurs DNS sur le r\u00e9seau local<\/li>\n<li><code>ff02::c<\/code>\u00a0: SSDP (UPnP sous Windows)<\/li>\n<li><code>ff02::1:3<\/code>\u00a0: Link-local Multicast Name Resolution<\/li>\n<\/ul>\n<h3 id=\"39solicitednodemulticast\">3.9. Solicited-Node Multicast<\/h3>\n<p>Elle sert \u00e0 joindre une interface dont on veut conna\u00eetre l&rsquo;adresse de couche 2. En IPv4, les tables ARP sont remplies gr\u00e2ce \u00e0 des messages ARP Request directement adress\u00e9s en adresse MAC de broadcast\u00a0<code>FF:FF:FF:FF:FF:FF<\/code>. En IPv6 c&rsquo;est ICMPv6 avec des messages Neighbor Solicitation\/Neighbor Advertisements qui remplissent cette fonction. Etant donn\u00e9 que le broadcast n&rsquo;existe plus en IPv6, quelle est l&rsquo;adresse \u00e0 utiliser pour d\u00e9signer en IPv6 et en adresse de couche L2 l&rsquo;h\u00f4te de destination puisqu&rsquo;il s&rsquo;agit justement de prendre connaissance de l&rsquo;adresse L2 ?<\/p>\n<p>Une adresse IPv6 Solicited-Node est compos\u00e9e de 104 bits de pr\u00e9fixe compl\u00e9t\u00e9 par les 24 derniers bits de l&rsquo;adresse IPv6 \u00e0 joindre.<\/p>\n<p>Si l&rsquo;adresse \u00e0 joindre est\u00a0<code>2001:db8:acaf:fd00::2ae<\/code>\u00a0ou\u00a0<code>fd26:44e1:8c70:fd00::2ae<\/code>\u00a0alors l&rsquo;adresse Multicast correspondante est\u00a0<code>ff02::1:ff00:2ae<\/code>.<\/p>\n<p>Dans notre exemple, les 4 adresses IPv6 Solicited-Node Multicast correspondent :<\/p>\n<ul>\n<li>\u00e0 l&rsquo;adresse lien local<\/li>\n<li>aux adresses attribu\u00e9es par DHCPv6<\/li>\n<li>aux adresses autoconfigur\u00e9es publiques<\/li>\n<li>aux adresses autoconfigur\u00e9es temporaire<\/li>\n<\/ul>\n<p>et signifient que l&rsquo;interface r\u00e9pondra \u00e0 toutes ces adresses !<\/p>\n<h3 id=\"310rsum\">3.10. R\u00e9sum\u00e9<\/h3>\n<table>\n<thead>\n<tr>\n<th>Link-Local<\/th>\n<th>Global Unicast<\/th>\n<th>Unique Local<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>L&rsquo;adressage Link-Local (Unicast) se reconna\u00eet par : un pr\u00e9fixe\u00a0<code>FE80::\/10<\/code>\u00a0et un identifiant d&rsquo;interface de 64 bits autoconfigur\u00e9 (MAC-EUI64 ou al\u00e9atoire) ou fix\u00e9 (Cisco)<\/td>\n<td>Pr\u00e9fixe :\u00a0<code>2000::\/3<\/code><\/td>\n<td>Pr\u00e9fixe :\u00a0<code>FD00::\/8<\/code>adressage priv\u00e9 avec 32 bits de pr\u00e9fixe al\u00e9atoire<\/td>\n<\/tr>\n<tr>\n<td>Est obligatoire sur toutes les interfaces quand IPv6 est activ\u00e9<\/td>\n<td>optionnel<\/td>\n<td>optionnel<\/td>\n<\/tr>\n<tr>\n<td>Ces destinations ne sont jamais transf\u00e9r\u00e9es par les routeurs !<\/td>\n<td>Connectivit\u00e9 de bout en bout n\u00e9cessaire<\/td>\n<td>fonctionne dans un interr\u00e9seau priv\u00e9<\/td>\n<\/tr>\n<tr>\n<td>Ces adresses sont utilis\u00e9es dans le trafic de gestion comme ND, RA, dans les protocoles de routage.<\/td>\n<td>Trafic vers l&rsquo;Internet<\/td>\n<td>Trafic sur des lignes priv\u00e9es (physiques ou virtuelles).<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2 id=\"4plansdadressageipv6\">4. Plans d&rsquo;adressage IPv6<\/h2>\n<h3 id=\"41objectifs\">4.1. Objectifs<\/h3>\n<ul>\n<li>Manipuler les bits, octets, mots en hexa<\/li>\n<li>Concevoir des plans d\u2019adressage simples<\/li>\n<li>Concevoir des plans d\u2019adressage hi\u00e9rarchiques et \u00e9volutifs<\/li>\n<li>Adresser une topologie de laboratoire<\/li>\n<\/ul>\n<h3 id=\"42avantagesdunplandadressage\">4.2. Avantages d\u2019un plan d\u2019adressage<\/h3>\n<ul>\n<li>Les tables de routage peuvent \u00eatre r\u00e9duites et \u00eatre plus efficientes dans le processus de d\u00e9cision.<\/li>\n<li>Les politiques de s\u00e9curit\u00e9 peuvent \u00eatre d\u00e9ploy\u00e9es plus facilement.<\/li>\n<li>Des politiques bas\u00e9es sur les applications peuvent \u00eatre d\u00e9ploy\u00e9es.<\/li>\n<li>La gestion et l\u2019approvisionnement du r\u00e9seau peuvent \u00eatre facilit\u00e9s.<\/li>\n<li>Le diagnostic est facilit\u00e9, notamment par une meilleure identification.<\/li>\n<li>Mise \u00e0 l\u2019\u00e9chelle facilit\u00e9e suite \u00e0 l\u2019ajout de p\u00e9riph\u00e9riques ou de sites.<\/li>\n<\/ul>\n<h3 id=\"43butdunplandadressage\">4.3. But d\u2019un plan d\u2019adressage<\/h3>\n<ul>\n<li>Fournir une capacit\u00e9 d\u2019approvisionnement : connecter un nombre ind\u00e9termin\u00e9 de p\u00e9riph\u00e9riques.<\/li>\n<li>Activer (ou non) les capacit\u00e9s de communication des h\u00f4tes : \u00e0 communiquer entre eux (BYOD), communication interr\u00e9seau (VLANs).<\/li>\n<li>Activer (ou non) la communication Internet : on peut orienter\/filtrer le routage de certains pr\u00e9fixes ou de certains h\u00f4tes.<\/li>\n<li>Activer ou non le support d\u2019applications : le filtrage par pr\u00e9fixe permettrait de faciliter le traitement de trafic multim\u00e9dia ou vocal par exemple (VLANs).<\/li>\n<li>Permettre de mieux identifier les h\u00f4tes par niveau, emplacement g\u00e9ographique ou organisationnel, par fonction.<\/li>\n<\/ul>\n<h3 id=\"44principe\">4.4. Principe<\/h3>\n<p>Le donn\u00e9 est toujours le m\u00eame. On dispose d\u2019un bloc d\u2019adresses IP. On le d\u00e9coupe en sous-r\u00e9seaux.<\/p>\n<p>En IPv6 le masque le plus restrictif est un\u00a0<code>\/64<\/code>.<\/p>\n<p>\u00c0 la maison, chaque connexion domestique devrait disposer d&rsquo;une connectivit\u00e9 publique avec un\u00a0<code>\/64<\/code>. Il est probable que vous ayez \u00e0 g\u00e9rer des blocs\u00a0<code>\/48<\/code>\u00a0attribu\u00e9s \u00e0 votre connexion d&rsquo;entreprise.<\/p>\n<p>Avec un bloc\u00a0<code>\/48<\/code>, il reste un mot de 16 bits \u00e0 d\u00e9couper en 1, en 16, en 256 ou en 4096 sous r\u00e9seaux &#8230;<\/p>\n<p>On travaille alors principalement sur le quatri\u00e8me mot d&rsquo;une adresse.<\/p>\n<h3 id=\"45plandadressagesimple\">4.5. Plan d&rsquo;adressage Simple<\/h3>\n<p>On vous livre un bloc fdd4:478f:0611::\/48<\/p>\n<p>On peut \u201cconformer\u201d les adresses IPv4 priv\u00e9es ou adresses IPv6, par exemple :<\/p>\n<ul>\n<li>172.16.1.0\/24 =&gt; fdd4:478f:0611:1::\/64,<\/li>\n<li>172.16.255.0\/24 =&gt; fdd4:478f:0611:255::\/64,<\/li>\n<li>&#8230;<\/li>\n<\/ul>\n<p>On peut utiliser un d\u00e9coupage plat, \u00e0 la vol\u00e9e :<\/p>\n<ul>\n<li>fdd4:478f:0611:0::\/64,<\/li>\n<li>fdd4:478f:0611:1::\/64,<\/li>\n<li>fdd4:478f:0611:2::\/64,<\/li>\n<li>fdd4:478f:0611:3::\/64, &#8230;<\/li>\n<\/ul>\n<h3 id=\"46plandadressage2ou4niveauxgaux\">4.6. Plan d&rsquo;adressage \u00e0 2 ou 4 niveaux \u00e9gaux<\/h3>\n<p>On vous livre un bloc fdd4:478f:0611::\/48<\/p>\n<p>Il reste 16 bits de libres, soit 4 hexas pour plusieurs strat\u00e9gies hi\u00e9rarchiques avec des niveaux g\u00e9ographiques, organisationnels, fonctionnels :<\/p>\n<ul>\n<li>Strat\u00e9gie A : en deux niveaux \u00e9gaux :\n<ul>\n<li>Niveau 1 : 256 r\u00e9seaux (8 bits)\/56<\/li>\n<li>Niveau 2 : 256 r\u00e9seaux (8 bits)\/64<\/li>\n<\/ul>\n<\/li>\n<li>Strat\u00e9gie B : en quatre niveaux \u00e9gaux :\n<ul>\n<li>Niveau 1 : 16 r\u00e9seaux (4 bits) \/52<\/li>\n<li>Niveau 2 : 16 r\u00e9seaux (4 bits) \/56<\/li>\n<li>Niveau 3 : 16 r\u00e9seaux (4 bits) \/60<\/li>\n<li>Niveau 4 : 16 r\u00e9seaux (4 bits) \/64<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>Exemple : Strat\u00e9gie A en deux niveaux \u00e9gaux<\/p>\n<ul>\n<li>fdd4:478f:0611::\/48 fournit 256 r\u00e9seaux fdd4:478f:0611:[0-f][0-f]00:\/56 contenants eux-m\u00eames chacun 256 sous r\u00e9seaux :\n<ul>\n<li>fdd4:478f:0611:00[0-f][0-f]:\/64 ,<\/li>\n<li>fdd4:478f:0611:01[0-f][0-f]:\/64 ,<\/li>\n<li>fdd4:478f:0611:02[0-f][0-f]:\/64 ,<\/li>\n<li>fdd4:478f:0611:03[0-f][0-f]:\/64 ,<\/li>\n<li>&#8230;<\/li>\n<li>fdd4:478f:0611:fd[0-f][0-f]:\/64 ,<\/li>\n<li>fdd4:478f:0611:fe[0-f][0-f]:\/64 ,<\/li>\n<li>fdd4:478f:0611:ff[0-f][0-f]:\/64<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>Exemple : Strat\u00e9gie B en quatre niveaux \u00e9gaux<\/p>\n<p>fdd4:478f:0611::\/48 fournit 16 r\u00e9seaux fdd4:478f:0611:[0-f]000:\/52<\/p>\n<ul>\n<li>Contenants eux-m\u00eames chacun 16 sous r\u00e9seaux fdd4:478f:0611:[0-f][0-f]00:\/56<\/li>\n<li>Contenants eux-m\u00eames chacun 16 sous r\u00e9seaux fdd4:478f:0611:[0-f][0-f][0-f]0:\/52<\/li>\n<li>Contenants eux-m\u00eames chacun 16 sous r\u00e9seaux fdd4:478f:0611:[0-f][0-f][0-f][0-f]:\/64 ,<\/li>\n<\/ul>\n<h3 id=\"47plandadressageplusieursniveaux\">4.7. Plan d&rsquo;adressage \u00e0 plusieurs niveaux<\/h3>\n<p>En trois niveaux :<\/p>\n<ul>\n<li>Niveau 1 : 16 (4 bits)\/52<\/li>\n<li>Niveau 2 : 256 (8 bits)\/60<\/li>\n<li>Niveau 3 : 16 (4 bits)\/64<\/li>\n<\/ul>\n<p>ou encore :<\/p>\n<ul>\n<li>Niveau 1 : 256 (8 bits) \/52<\/li>\n<li>Niveau 2 : 16 (4 bits) \/56<\/li>\n<li>Niveau 3 : 16 (4 bits) \/60<\/li>\n<\/ul>\n<p>On trouvera un exemple de plan d&rsquo;adressage dans le document IPv6 Subnetting &#8211; Overview and Case Study :\u00a0<a href=\"https:\/\/supportforums.cisco.com\/docs\/DOC-17232\">https:\/\/supportforums.cisco.com\/docs\/DOC-17232<\/a><\/p>\n<h3 id=\"48plandadressageenniveauxingaux\">4.8. Plan d\u2019adressage en niveaux in\u00e9gaux<\/h3>\n<p>On vous livre un bloc fdd4:478f:0611::\/48<\/p>\n<p>Vous disposez d\u2019un site de 4 b\u00e2timents disposant de maximum 8 \u00e9tages avec plusieurs dizaines de VLANs (\/64) par \u00e9tage.<br \/>\n4 bits pour les b\u00e2timents et 4 bits pour les \u00e9tages :<\/p>\n<ul>\n<li>B\u00e2timent 1 : 0x0000 &#8211; 0x0FFF\/52\n<ul>\n<li>Etage 1 : 0x0000 &#8211; 0x00FF\/56<\/li>\n<li>Etage 2 : 0x0100 &#8211; 0x01FF\/56<\/li>\n<li>Etage 3 : 0x0200 &#8211; 0x02FF\/56<\/li>\n<\/ul>\n<\/li>\n<li>B\u00e2timent 2 : 0x1000 &#8211; 0x1FFF\/52\n<ul>\n<li>Etage 1 : 0x1000 &#8211; 0x10FF\/56<\/li>\n<li>Etage 2 : 0x1100 &#8211; 0x11FF\/56<\/li>\n<li>Etage 3 : 0x1200 &#8211; 0x12FF\/56<\/li>\n<\/ul>\n<\/li>\n<li>&#8230;<\/li>\n<\/ul>\n<h3 id=\"49attributiontale\">4.9. Attribution \u00e9tal\u00e9e<\/h3>\n<p>\u201cSparse\u201d mode : attribution \u00e9tal\u00e9e<\/p>\n<p>Comme on compte de mani\u00e8re s\u00e9quentielle par la droite soit 0000, 0001, 0010, 0011,\u2026 ou 0, 1, 2, 3, on peut compter par la gauche soit 0000, 1000, 0100, 1100,\u2026 ou 0, 8, 4, c, &#8230; par exemple sur le premier hexa pour fdd4:478f:0611:[0-f]000:\/52 :<\/p>\n<ul>\n<li>fdd4:478f:0611::\/52<\/li>\n<li>fdd4:478f:0611:8000:\/52<\/li>\n<li>fdd4:478f:0611:4000:\/52<\/li>\n<li>fdd4:478f:0611:c000:\/52<\/li>\n<li>fdd4:478f:0611:2000:\/52<\/li>\n<\/ul>\n<p>Plan d\u2019adressage \u00e9volutif r\u00e9el<br \/>\n<a href=\"http:\/\/www.internetsociety.org\/deploy360\/resources\/ipv6-address-planning-guidelines-for-ipv6-address-allocation\/\">http:\/\/www.internetsociety.org\/deploy360\/resources\/ipv6-address-planning-guidelines-for-ipv6-address-allocation\/<\/a><\/p>\n<table>\n<thead>\n<tr>\n<th>Applications<\/th>\n<th>1er Hexa<\/th>\n<th>Regions<\/th>\n<th>2e Hexa<\/th>\n<th>Unit\u00e9 d&rsquo;organisation<\/th>\n<th>3e Hexa<\/th>\n<th>Sites<\/th>\n<th>4e Hexa<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Data<\/td>\n<td>0<\/td>\n<td>Est<\/td>\n<td>0<\/td>\n<td>Direction<\/td>\n<td>0<\/td>\n<td>Site 1<\/td>\n<td>a<\/td>\n<\/tr>\n<tr>\n<td>Voice<\/td>\n<td>8<\/td>\n<td>Nord<\/td>\n<td>8<\/td>\n<td>Marketing<\/td>\n<td>1<\/td>\n<td>Site 2<\/td>\n<td>9<\/td>\n<\/tr>\n<tr>\n<td>Video<\/td>\n<td>4<\/td>\n<td>Ouest<\/td>\n<td>4<\/td>\n<td>Finance<\/td>\n<td>2<\/td>\n<td>Site 3<\/td>\n<td>e<\/td>\n<\/tr>\n<tr>\n<td>Wireless<\/td>\n<td>c<\/td>\n<td>Sud<\/td>\n<td>c<\/td>\n<td>IT<\/td>\n<td>3<\/td>\n<td>&#8211;<\/td>\n<td>&#8211;<\/td>\n<\/tr>\n<tr>\n<td>Management<\/td>\n<td>2<\/td>\n<td>&#8211;<\/td>\n<td>&#8211;<\/td>\n<td>Support commercial<\/td>\n<td>4<\/td>\n<td>&#8211;<\/td>\n<td>&#8211;<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2 id=\"5considrationspratiquessurlesadressesipv6\">5. Consid\u00e9rations pratiques sur les adresses IPv6<\/h2>\n<p>Une connectivit\u00e9 de type entreprise re\u00e7oit un bloc\u00a0<code>\/48<\/code>\u00a0ou\u00a0<code>\/56<\/code>, par exemple\u00a0<code>2001:db8:1ab::\/48<\/code>\u00a0ou\u00a0<code>2001:db8:1ab:cd00::\/56<\/code>.<\/p>\n<p>On divise et organise un bloc fixe\u00a0<code>\/48<\/code>\u00a0en 65536 r\u00e9seaux\u00a0<code>\/64<\/code>\u00a0ou un bloc\u00a0<code>\/56<\/code>\u00a0en 256 r\u00e9seaux\u00a0<code>\/64<\/code>.<\/p>\n<p>Les 64 premiers bits, les 3 ou 4 premiers mots sont ceux du r\u00e9seau (des sous-r\u00e9seaux) de l&rsquo;entreprise, qui ne changent jamais.<\/p>\n<p>Toutes les adresses Unicast doivent avoir un masque de 64 bits. Utiliser un autre masque peut rompre le bon fonctionnement de Neighbor Discovery, Secure Neighbor Discovery (SEND), les Privacy Extensions, Mobile IPv6, Embedded-RP (multicast).<\/p>\n<p>On manipule des donn\u00e9es de 16 bits : \u00ab word \u00bb ou \u00ab mot \u00bb, parfois \u00ab seizet \u00bb voire m\u00eame \u00ab doublet \u00bb et pourquoi pas le \u00ab twoctet \u00bb (Wikipedia FR).<\/p>\n<p>Un service DNS dynamique combin\u00e9 \u00e0 DHCPv6 sera utile dans un LAN contr\u00f4l\u00e9.<\/p>\n<p>Les adresses des routeurs et des serveurs doivent \u00eatre fixes et peuvent \u00eatre simplifi\u00e9es, par exemple\u00a0<code>fe80::88<\/code>\u00a0ou\u00a0<code>2001:0db8:00d6:3000::88<\/code>.<\/p>\n<p>La politique de filtrage du trafic et de s\u00e9curit\u00e9 est un enjeu dans un d\u00e9ploiement d&rsquo;IPv6.<\/p>\n<p>Le dual-stack (la double pile IPv4\/IPv6) est toujours la m\u00e9thode de transition pr\u00e9f\u00e9r\u00e9e.<\/p>\n<p>En conclusion, on constate en IPv6 :<\/p>\n<ul>\n<li>Un fonctionnement similaire \u00e0 IPv4 (pr\u00e9fixe\/h\u00f4tes).<\/li>\n<li>Une question de changement culturel :<\/li>\n<li>On manipule au maximum 16 bits en hexas :\u00a0<em>C&rsquo;est mieux que 32 bits en binaire.<\/em><\/li>\n<li>On peut d\u00e9penser des adresses tant qu&rsquo;on veut :\u00a0<em>on n&rsquo;en manquera plus.<\/em><\/li>\n<li>On utilise les masques de mani\u00e8re extensive (fix\u00e9e \u00e0 maximum \/64 sur les r\u00e9seaux) :\u00a0<em>il ne faut plus manipuler des masques restrictifs et illisibles<\/em><\/li>\n<li>Il s&rsquo;agit d&rsquo;un changement in\u00e9luctable :\u00a0<em>il n&rsquo;y a pas de protocole alternatif qui autorise la croissance de l\u2019Internet<\/em><\/li>\n<\/ul>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u00a0Francois Goffinet\u00a0\u00a0Oct 10, 2017\u00a0 Ce document a pour ambition de montrer la finesse et le confort que peut offrir un plan d&rsquo;adressage IPv6. On commencera par d\u00e9finir ces identifiants encore trop peu connus. Ensuite, on apprendra \u00e0 \u00e9crire, \u00e0 simplifier et valider une adresse IPv6. Enfin, on montrera et expliquera comment reconna\u00eetre les diff\u00e9rents types &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/www.igatamus.com\/bgc\/2018\/06\/26\/ipv6-sauvegarde-article-tres-interessant-de-francois-goffinet\/\" class=\"more-link\">Continuer la lecture<span class=\"screen-reader-text\"> de &laquo;&nbsp;IPV6 sauvegarde article tr\u00e8s int\u00e9ressant de Fran\u00e7ois Goffinet&nbsp;&raquo;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[4,9,12],"tags":[],"_links":{"self":[{"href":"https:\/\/www.igatamus.com\/bgc\/wp-json\/wp\/v2\/posts\/687"}],"collection":[{"href":"https:\/\/www.igatamus.com\/bgc\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.igatamus.com\/bgc\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.igatamus.com\/bgc\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.igatamus.com\/bgc\/wp-json\/wp\/v2\/comments?post=687"}],"version-history":[{"count":2,"href":"https:\/\/www.igatamus.com\/bgc\/wp-json\/wp\/v2\/posts\/687\/revisions"}],"predecessor-version":[{"id":689,"href":"https:\/\/www.igatamus.com\/bgc\/wp-json\/wp\/v2\/posts\/687\/revisions\/689"}],"wp:attachment":[{"href":"https:\/\/www.igatamus.com\/bgc\/wp-json\/wp\/v2\/media?parent=687"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.igatamus.com\/bgc\/wp-json\/wp\/v2\/categories?post=687"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.igatamus.com\/bgc\/wp-json\/wp\/v2\/tags?post=687"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}