diagnostiquer ipv6

221
xw Fred BOVY ccie 3013 Diagnostiquer IPv6 chez les fournisseurs d’accés 10 Octobre 2010 L’indispensable pour le troubleshooting et le test d’IPv6 Ce document présente tout ce qu’il faut savoir de d’IPv6 pour le troubleshooting et le test d’IPv6 chez les fournisseurs d’accès.

Upload: lalunerougee

Post on 02-Apr-2015

1.215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Diagnostiquer  IPv6

xw

Fred BOVY

ccie 3013

Diagnostiquer IPv6 chez les fournisseurs d’accés

10 Octobre 2010 L’indispensable pour le troubleshooting et le test d’IPv6

Ce document présente tout ce qu’il faut savoir de d’IPv6 pour le

troubleshooting et le test d’IPv6 chez les fournisseurs d’accès.

Page 2: Diagnostiquer  IPv6

SOMMAIRE

PRESENTATION DE L’AUTEUR .........................................................................................6

PREFACE.................................................................................................................................7

LE NOUVEAU PROTOCOLE D’INTERNET.....................................................................8 Installé et préféré par défaut sur windows vista ...................................................................8 Amelioration du Stack ...........................................................................................................9 Outils IPv6 sur Windows.......................................................................................................9

IPconfig ...............................................................................................................................9 Route ..................................................................................................................................10 Ping ....................................................................................................................................10 Tracert ...............................................................................................................................10 Pathping.............................................................................................................................10 Netstat................................................................................................................................11 Netsh interface ipv6 show interface ................................................................................13 Netsh interface ipv6 show address ...................................................................................13 Netsh interface ipv6 show route ......................................................................................13 Netsh interface ipv6 show neighbors ...............................................................................14 Netsh interface ipv6 show destinationcache ...................................................................14

Egalement sous Linux et MAC OSX...................................................................................14 CISCO ...................................................................................................................................16

CEFv6 ................................................................................................................................18

ADRESSAGE IPv6................................................................................................................19 Unicast ..................................................................................................................................19 Addresses d’un host IPv6 ....................................................................................................20 Adresses d’un routeur IPv6 .................................................................................................21

L’EN-TETE IPV6....................................................................................................................22 Valeur du champs Next Header ...........................................................................................23 IPv6 Extension Header .......................................................................................................24 Jumbo Payload option .........................................................................................................25 Router Alert Option ............................................................................................................25 En-tête de Destination Option ...........................................................................................26 Option de Home Adresse.....................................................................................................26 Routing Header.....................................................................................................................26 Fragment Header..................................................................................................................27 Authentication Header ........................................................................................................27 Encapsulating SEcurity Payload Header and trailer...........................................................27

ICMPv6 ..................................................................................................................................27 Messages d’Erreurs ICMPv6 : .............................................................................................28

ICMPv6 Destination Unreachable ...................................................................................28 Packet Too Big .................................................................................................................29 Time Exceeded ..................................................................................................................29 Parameter Problem ...........................................................................................................29

Page 3: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 1

ICMPv6 Informational Messages.......................................................................................30 ICMPv6 Echo Request. Type 128 ...................................................................................30 Echo Reply (ICMPv6 Type 129) ....................................................................................30

Path MTU Discovery ..........................................................................................................31 MLD .....................................................................................................................................31

MLDv1 (RFC2710)...........................................................................................................31 Jumbo Payload option .........................................................................................................33 Router Alert Option ............................................................................................................33 En-tête de Destination Option ...........................................................................................34 Option de Home Adresse.....................................................................................................34 Routing Header.....................................................................................................................34 Fragment Header..................................................................................................................35 Authentication Header ........................................................................................................35 Encapsulating SEcurity Payload Header and trailer”.........................................................35 Multicast Router Discovery (RFC 4286) ...........................................................................36

Multicast Router Advertisement (Type 151)..................................................................36 Multicast Router Solicitation (Type 152) .......................................................................36 Multicast Router Termination (Type 153) .....................................................................36

NEIGHBOR DISCOVERY.................................................................................................36 Neighbor Discovery Messages.............................................................................................39

Router Solicitation ............................................................................................................39 Router Advertisement .......................................................................................................39 Neighbor Solicitation. .......................................................................................................41 Neighbor Advertisement ...................................................................................................41 Redirect ..............................................................................................................................42

Options de Decouverte des Voisins.....................................................................................43 Source Link-Layer address Option ...................................................................................43 Target Link-Layer address Option...................................................................................43 Prefix Information Option...............................................................................................44 Route Information Option ...............................................................................................47 Recursive DNS Server Option...........................................................................................48

ADRESSE AUTOCONFIGURATION...............................................................................48 Stateless Address Autoconfiguration...................................................................................48 Statefull Address Autoconfiguration. ..................................................................................50 DHCPv6 Stateless Autoconfiguration ................................................................................52 DHCP Prefix Delegation (RFC 3769)................................................................................52

DNS.........................................................................................................................................52 Capture d’une requête DNS .................................................................................................52 Capture d’un MAC sur un accès à une Freebox :................................................................53 Capture d’un RA avec divers option (DNS, MTU, etc…) ................................................60

SECURE NEIGHBOR DISCOVERY................................................................................63 Presentation de SEND .........................................................................................................63 Nouvelles Options et messages ND ....................................................................................63

Option CGA.......................................................................................................................63

Page 4: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 2

L’option RSA ....................................................................................................................66 Timestamp Option............................................................................................................66 Nonce Option ....................................................................................................................66 Tableaux Récapitulatif des Options SEND ......................................................................66 ADD ou le contrôle des RA ..............................................................................................68 Exemple d’échange RA/CPS/CPA :..................................................................................68 Logging sur l’hôte (debug ipv6 nd secured) : ...................................................................71

Configuration de SEND .......................................................................................................73

LES PROTOCOLES DE ROUTAGES..............................................................................80 RIPng ....................................................................................................................................80 EIGRPv6 ..............................................................................................................................82 OSPFv3.................................................................................................................................86

Systemes Autonomes, Aires..............................................................................................86 LSA Scope ..........................................................................................................................87 LSA Type...........................................................................................................................88 Exemple d’une base de donnees complete : .....................................................................96 Status global d’OSPF .........................................................................................................97 Interfaces OSPF.................................................................................................................98 Routeur Désigné (DR) et Routeur Désigné Backup (BDR) .............................................98 Voisins et Adjacents OSPF..............................................................................................100

Exemple d’initialisation OSPF..........................................................................................102 OSPF sur les WAN (Frame-Relay, ATM) ........................................................................113

Réseau NON_BROADCAST...........................................................................................113 Réseau BROADCAST......................................................................................................114 Réseau POINT à MULTIPOINT ...................................................................................115 Subinterfaces POINT à POINT ......................................................................................119 OSPF Point to Multipoint ..............................................................................................120 Algorithme du chemin le plus cours ...............................................................................123 La redistribution dans OSPF............................................................................................123 Problèmes pendant l’initialisation .................................................................................124 Le voisin reste bloqué à l’état EXSTART .....................................................................125

ISISv6..................................................................................................................................126 Adaptable à n’importe quel protocole. ..........................................................................126 Un grand nombre de routeur dans une meme aire. ........................................................126 Rafraichissement des LSP. ..............................................................................................126 Développeurs ISIS très actifs. .........................................................................................126 Routage hierarchique à deux niveaux. ............................................................................126 Routeurs Désigné. ............................................................................................................127 L’Algorithme du chemin le plus court (SPF).................................................................127 Configuration et verification d’ISISv6. .........................................................................130

MP-BGP .............................................................................................................................133 Protocole EGP Path Vector ...........................................................................................133 Attributs BGP ..................................................................................................................133 Weigth..............................................................................................................................134 Local Preference .............................................................................................................134

Page 5: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 3

Multi-Exit Discriminator ................................................................................................135 Origin ...............................................................................................................................137 AS-Path ............................................................................................................................138 Next-hop..........................................................................................................................138 Atomic Aggregate ...........................................................................................................140 Aggregator .......................................................................................................................140 Community ......................................................................................................................140 MP_REACH_NLRI MP_UNREACH_NLRI ................................................................141 Exemple ...........................................................................................................................142

Voisins BGP........................................................................................................................143 Couche Transport ...........................................................................................................143 eBGP ou iBGP..................................................................................................................143 Traitement des mises à jour ............................................................................................143 Maillage iBGP ..................................................................................................................144 Etats d’un voisin BGP .....................................................................................................144 Peer Group .......................................................................................................................146 Route Reflector ...............................................................................................................146 Confédération ..................................................................................................................146 La selection du meilleur Chemin ....................................................................................147 Chemins ignorés ..............................................................................................................147 Algorithme de sélection du meilleur chemin .................................................................147 Exemples..........................................................................................................................148 Autre exemple: ................................................................................................................148 Les messages BGP ...........................................................................................................149 NOTIFICATION.............................................................................................................150 KEEPALIVE ...................................................................................................................151 UPDATE .........................................................................................................................151 Multiprotocol BGP..........................................................................................................152 Annonce des routes BGP.................................................................................................152 Route dampening.............................................................................................................152 Exemple ...........................................................................................................................155 Les principales Commandes BGP...................................................................................157 Exemple “debug ip bgp all”.............................................................................................157 Les Processus BGP ..........................................................................................................159 Références........................................................................................................................160

IPV6 SUR LES WAN .........................................................................................................160 Legacy WANs (Frame Relay, ATM) ...............................................................................160 POS (PPP)..........................................................................................................................164

TRANSITION VERS IPv6 .................................................................................................165

IPv6 SUR MPLS POUR IPv4 ...........................................................................................169 Introduction a 6PE ............................................................................................................170 Introduction a 6vPE ..........................................................................................................173

Capture 6VPE ..................................................................................................................177 Exemple de Topologies.....................................................................................................182

Page 6: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 4

Accès à Internet ..............................................................................................................182 InterAS.............................................................................................................................187 Hub and Spoke .................................................................................................................195 Carrier’s Carrier...............................................................................................................200

SERVICE IPv6 MULTICAST............................................................................................204 Rencontre des emetteurs et des recepteurs.......................................................................204

MLD .................................................................................................................................204 PIM Dense Mode ✝ ............................................................................................................206 PIM Sparse Mode...............................................................................................................206 Embedded RP Address........................................................................................................207 Configurer BSR...................................................................................................................207 PIM Source Specific Multicast ..........................................................................................209

MOBILITE...........................................................................................................................210 Mobile IPv6 (RFC 3775) ..................................................................................................210

Introduction .....................................................................................................................210 Optimisation du routage..................................................................................................211 Sécurité .............................................................................................................................211 Une nouvelle En-tête de Mobilité (Mobility Header) ...................................................211 Une nouvelle Option de Destination (Home Address) .................................................212 Quatre nouveaux messages ICMPv6 ..............................................................................212 Terminologie des structures de données.........................................................................212

LA SECURITE DES RESEAUX IPV6...............................................................................213 ICMPv6 ..............................................................................................................................213 En-Tête IPv6 .....................................................................................................................213 NESSUS...............................................................................................................................215

LA GESTION DES RESEAUX ..........................................................................................218 Outils...................................................................................................................................218 Baseline, prévision et capacity planning..........................................................................218 Authentications, Authorizations and Acceès...................................................................218

Page 7: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 5

Page 8: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 6

Troubleshooting IPv6 L ’ I N D I S P E N S A B L E D ’ I P V 6

PRESENTATION DE L’AUTEUR Frédéric BOVY, 46 ans, intervient comme consultant et formateur, expert en réseaux informatiques. Abordant l’informatique par ses aspects techniques dès le début de sa carrière (réseaux, électronique, programmation), son parcours professionnel s’articule ensuite comme suit :

5 ans chez ITS (groupe SITA) : participe à l’évolution de la technologie des terminaux utilisés par les compagnies aériennes vers les reseaux (LAN, TCP/IP) et assure également le support technique pour répondre aux appels d’offres, le suivi de projet et le support des solutions auprès de la clientèle ainsi que le transfert de compétences aux équipes client.

3 ans chez ITS (groupe SITA) : animation de formations pour les techniciens et ingénieurs du groupe à Paris pour l’Europe, le Moyen-Orient et l’Afrique, à New York pour le continent Américain et à Singapour pour la région Asie Pacifique (principalement en anglais). Les formations proposées couvrent les solutions vendues aux compagnies aériennes ainsi que stages Certifiés CISCO. Obtention en 1994 de la certification CISCO Certified System Instructor (CCSI #95003).

2 ans à l’institut Eris : manager des formateurs CISCO. Responsable d’une equipe de formateurs CISCO. Obtention en 1997 et renouvellement depuis cette date, de la certification Cisco

Certified Internetwork Expert, CCIE #3013. 10 ans chez CISCO : consultant (architecture et support) auprès de VIVENDI et EQUANT, puis

expert et chef de projet au sein de l’équipe de développement de l’IOS CISCO pour le dev-test de nouvelles fonctionnalités IPv6. Il prend alors en charge toute la méthodologie des tests.

Disposant de son propre laboratoire CISCO, fort de son expertise technique et de sa capacité à intervenir aussi bien en français qu’en anglais, il intervient aujourd’hui en conseil et formation autour des technologies CISCO.

Compétences et domaines d’intervention Expertise Technique dans les Réseaux CISCO (CCIE #3013, CCSI #95003. Expertises des protocoles de communications IPv4, IPv6, Multicast IP, MPLS, MPLS-VPN, MPLS-TE, MPLS-TE FastReroute. Expertise des protocoles de routages OSPFv2, OSPFv3, ISIS, ISISv6, BGP, MP-BGP). Expertise des techniques de la QoS, des WAN Frame-Relay, ATM. Expertise Commutation Ethernet, VLAN.

Accompagnement du changement lié aux projets (communications, documentation, plan de formation)

Assistance à la maîtrise d’ouvrage (étude préalable, cahier des charges fonctionnelles)

Aide au choix des solutions et de maîtrises d’oeuvre (comparatifs fonctionnels, budgétaires, maquettage et tests)

Formations et Transferts de Compétences (planifications de cursus, développements de cours spécifiques)

Développement de tests (écriture de plan de tests, développements de script en TCL)

Développement de programmes réseaux (en langage C ou scripts TCL)

Page 9: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 7

PREFACE

J’ai écrit ce livre pour partager mon expérience sur IPv6 après avoir travaillé six ans en tant que dev-tester dans une équipe de développement IPv6 chez CISCO. Ce livre n’est pas un livre de plus sur IPv6 mais plutôt un retour d’experience de plusieurs années passées au developpement d’IPv6.

De plus tous les sujets abordes ont rapport a des technologies très largement déployées et sur lesquelles nous avons un bon retour d’expérience.

Chez CISCO je me suis occupé du dev-testing de 6PE/6vPE, Netflow pour IPv6, SEND aisin que de certaines featurettes. Il est donc normal que je couvre ces sujets plus en détails.

Ce livre s’adresse à tous les gens ayant déjà une culture réseaux et en particulier TCP/IP er voulant comprendre l’évolution vers IPv6.

Page 10: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 8

LE NOUVEAU PROTOCOLE D’INTERNET Un champs d’adresses sur 128 bits au lieu de 32 bits. Il est prévu qu ‘en 2010 il n’y

ai plus assez d’adresses IPv4 disponibles pour accueillir les nouveaux clients et ce malgré NAT, VLSM ou CIDR. 128 bits permettent en revanche de donner plusieurs milliers d’adresses à chaque habitant de la planète sans avoir recours à NAT.

En-tête simplifiée. Avec IPv6, certains champs inutiles ont été supprimés pour un traitement plus efficace des paquets IPv6. Plus de checksum. Champs de fragmentation systématique retirés et ajoutés seulement si nécessaire. De plus, les routeurs n’ont plus a fragmenter. Si fragmentation il y a, celle-ci doit intervenir à la source.

Mobilité grandement améliorée. Le protocole Mobile IPv6 est bien plus performant dans sa version IPv6.

Configuration d’adresse automatique avec ou sans DHCPv6.

Découverte du routeur par défaut automatique avec basculement automatique si celui-ci venait à faire défaut.

Nouveau champs d’identification de flux.

IPsec n’est plus une option mais est à présent requis.

De la même façon, IGMP, renomme MLD est maintenant requis. MLDv1 est l’équivalent d’IGMPv2 et MLDv2 l’équivalent d’IGMPv3.

Chaînage des Options. Les options IPv6 sont codées en TLV1. Il est donc possible d’ajouter pratiquement autant d’option qu’on le désire dans une en-tête IPv6.

IGMP n’est plus optionnel mais codé dans ICMPv6 sous le nom de MLD.

Étendue d’Adresse et zone.

IPv6 Scoped Address Architecture RFC 4007

Installé par défaut sur Windows Vista, MAC OSX.

Installé e t préféré par défaut sur windows vis ta The IPv6 header (RFC 2460)

Unicast, multicast, and anycast addressing (RFC 4291)

The Internet Control Message Protocol for IPv6 (ICMPv6) (RFC 4443)

Neighbor Discovery (ND) (RFC 4861)

Multicast Listener Discovery (MLD) (RFC 2710) and MLD version 2 (MLD v2) (RFC3810)

1 Type, Length, Value. Representation permettant d’incorporer tous types d’options.

Page 11: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 9

Stateless address autoconfiguration (RFC 4862)

Amelioration du Stac k De nombreuses améliorations ont étées portées sur IPv4. Pour en citer quelques une, la détection du routeur mort. Neighbor Unreachability Detection peut détecter qu’un voisin est mort. Si ce voisin est le routeur par défaut, le basculement sur un nouveau routeur se fait automatiquement.

Explicit Congestion Notification Support (RFC 3168). Quand un paquet TCP est perdu, le stack TCP ralenti considérablement la transmission. Avec le support du RFC 3168, quand un routeur expérimente de la congestion, il marque les paquets qu’il forwarde pour que les stations ralentissent les transmissions avant que des paquets soient droppés.

Sélection du routeur par défaut et Information des Routes dans les Routers Advertisement (RFC 4191).

Strong host model for both sending and receiving.Vérifie que le trafic IPv6 émis est reçu sur une interface IPv6 est bien l’interface utilisée pour émettre ou recevoir le trafic IPv6.

Support DNS

DHCPv6

Et beaucoup d’autres encore…

Outils IPv6 sur Windows

IPconf ig

Affiche les adresses sur une interface.

Windows IP Configuration Ethernet adapter Local Area Connection: Connection-specific DNS Suffix . : ectasie.example.com IPv6 Address. . . . . . . . . . . : 2001:db8:21da:7:713e:a426:d167:37ab Temporary IPv6 Address. . . . . . : 2001:db8:21da:7:5099:ba54:9881:2e54 Link-local IPv6 Address . . . . . : fe80::713e:a426:d167:37ab%6 IPv4 Address. . . . . . . . . . . : 157.60.14.11 Subnet Mask . . . . . . . . . . . : 255.255.255.0 Default Gateway . . . . . . . . . : fe80::20a:42ff:feb0:5400%6 157.60.14.1 Tunnel adapter Local Area Connection* 6: Connection-specific DNS Suffix . : IPv6 Address. . . . . . . . . . . : 2001:db8:908c:f70f:0:5efe:157.60.14.11 Link-local IPv6 Address . . . . . : fe80::5efe:157.60.14.11%9

Page 12: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 10

Site-local IPv6 Address . . . . . : fec0::6ab4:0:5efe:157.60.14.11%1 Default Gateway . . . . . . . . . : fe80::5efe:131.107.25.1%9 fe80::5efe:131.107.25.2%9 Tunnel adapter Local Area Connection* 7: Media State . . . . . . . . . . . : Media disconnected Connection-specific DNS Suffix . :

Rout e IPv6 Route Table =========================================================================== Active Routes: If Metric Network Destination Gateway 8 286 ::/0 fe80::3cec:bf16:505:eae6 1 306 ::1/128 On-link 8 38 2001:db8::/64 On-link 8 286 2001:db8::4074:2dce:b313:7c65/128 On-link 8 286 2001:db8::b500:734b:fe5b:3945/128 On-link 8 286 fe80::/64 On-link 17 296 fe80::5efe:10.0.0.3/128 On-link 8 286 fe80::b500:734b:fe5b:3945/128 On-link 1 306 ff00::/8 On-link 8 286 ff00::/8 On-link

===========================================================================

Pi ng f:\>ping 2001:db8:1:f282:dd48:ab34:d07c:3914 Pinging 2001:db8:1:f282:dd48:ab34:d07c:3914 from 2001:db8:1:f282:3cec:bf16:505:eae6 with 32 bytes of data: Reply from 2001:db8:1:f282:dd48:ab34:d07c:3914: time<1ms Reply from 2001:db8:1:f282:dd48:ab34:d07c:3914: time<1ms Reply from 2001:db8:1:f282:dd48:ab34:d07c:3914: time<1ms Reply from 2001:db8:1:f282:dd48:ab34:d07c:3914: time<1ms Ping statistics for 2001:db8:1:f282:dd48:ab34:d07c:3914: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds:

Minimum = 0ms, Maximum = 0ms, Average = 0ms

Tracert F:\>tracert 2001:db8:1:f282:dd48:ab34:d07c:3914 Tracing route to 2001:db8:1:f282:dd48:ab34:d07c:3914 over a maximum of 30 hops 1 <1 ms <1 ms <1 ms 2001:db8:1:f241:2b0:d0ff:fea4:243d 2 <1 ms <1 ms <1 ms 2001:db8:1:f2ac:2b0:d0ff:fea5:d347 3 <1 ms <1 ms <1 ms 2001:db8:1:f282:dd48:ab34:d07c:3914 Trace complete.

Pathpi ng F:\>pathping 2001:db8:1:f282:dd48:ab34:d07c:3914

Page 13: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 11

Tracing route to 2001:db8:1:f282:dd48:ab34:d07c:3914 over a maximum of 30 hops 0 server1.example.microsoft.com [2001:db8:1:f282:204:5aff:fe56:1006] 1 2001:db8:1:f282:dd48:ab34:d07c:3914 Computing statistics for 25 seconds... Source to Here This Node/Link Hop RTT Lost/Sent = Pct Lost/Sent = Pct Address 0 server1.example.microsoft.com [2001:db8:1:f282:204:5aff:fe56:1006] 0/ 100 = 0% | 1 0ms 0/ 100 = 0% 0/ 100 = 0% 2001:db8:1:f282:dd48:ab34:d07c: 3914

Trace complete.

Netstat F:\>netstat -s IPv4 Statistics Packets Received = 187107 Received Header Errors = 0 Received Address Errors = 84248 Datagrams Forwarded = 0 Unknown Protocols Received = 0 Received Packets Discarded = 0 Received Packets Delivered = 186194 Output Requests = 27767 Routing Discards = 0 Discarded Output Packets = 0 Output Packet No Route = 0 Reassembly Required = 0 Reassembly Successful = 0 Reassembly Failures = 0 Datagrams Successfully Fragmented = 0 Datagrams Failing Fragmentation = 0 Fragments Created = 0 IPv6 Statistics Packets Received = 53118 Received Header Errors = 0 Received Address Errors = 0 Datagrams Forwarded = 0 Unknown Protocols Received = 0 Received Packets Discarded = 0 Received Packets Delivered = 0 Output Requests = 60695 Routing Discards = 0 Discarded Output Packets = 0 Output Packet No Route = 0 Reassembly Required = 0 Reassembly Successful = 0 Reassembly Failures = 0 Datagrams Successfully Fragmented = 0 Datagrams Failing Fragmentation = 0 Fragments Created = 0 ICMPv4 Statistics

Page 14: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 12

Received Sent Messages 682 881 Errors 0 0 Destination Unreachable 2 201 Time Exceeded 0 0 Parameter Problems 0 0 Source Quenches 0 0 Redirects 0 0 Echos 340 340 Echo Replies 340 340 Timestamps 0 0 Timestamp Replies 0 0 Address Masks 0 0 Address Mask Replies 0 0 ICMPv6 Statistics Errors 0 0 Destination Unreachable 193 0 Echos 4 0 Echo Replies 0 4 MLD Reports 0 6 Router Solicitations 0 7 Router Advertisements 54 0 Neighbor Solicitations 31 32 Neighbor Advertisements 27 31 TCP Statistics for IPv4 Active Opens = 128 Passive Opens = 106 Failed Connection Attempts = 0 Reset Connections = 3 Current Connections = 16 Segments Received = 22708 Segments Sent = 26255 Segments Retransmitted = 37 TCP Statistics for IPv6 Active Opens = 74 Passive Opens = 72 Failed Connection Attempts = 1 Reset Connections = 0 Current Connections = 14 Segments Received = 52809 Segments Sent = 59813 Segments Retransmitted = 3 UDP Statistics for IPv4 Datagrams Received = 160982 No Ports = 2158 Receive Errors = 2 Datagrams Sent = 591 UDP Statistics for IPv6 Datagrams Received = 0

Page 15: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 13

No Ports = 0 Receive Errors = 0 Datagrams Sent = 744

Netsh i nt erfac e ipv6 show i nt erface Idx Met MTU State Name --- --- ----- ----------- ------------------- 1 50 4294967295 enabled Loopback Pseudo-Interface 1 9 50 1280 enabled Local Area Connection* 6 6 20 1500 enabled Local Area Connection 10 50 1280 enabled Local Area Connection* 7 7 10 1500 disabled Local Area Connection 2

Netsh i nt erfac e ipv6 show address Interface 1: Loopback Pseudo-Interface 1 Addr Type DAD State Valid Life Pref. Life Address --------- ----------- ---------- ---------- ------------------------ Other Preferred infinite infinite ::1 Interface 9: Local Area Connection* 6 Addr Type DAD State Valid Life Pref. Life Address --------- ----------- ---------- ---------- ------------------------ Other Deprecated infinite infinite fe80::5efe:1.0.0.127%9 Interface 6: Local Area Connection Addr Type DAD State Valid Life Pref. Life Address --------- ----------- ---------- ---------- ------------------------ Public Preferred 29d23h59m59s 6d23h59m59s 2001:db8:21da:7:1f3e:9e51:2178:b9ob Temporary Preferred 5d19h59m25s 5d19h59m25s 2001:db8:21da:7:a299:85ae:21da:59cc Other Preferred infinite infinite fe80::713e:a426:d167:37ab%6 Interface 10: Local Area Connection* 7 Addr Type DAD State Valid Life Pref. Life Address --------- ----------- ---------- ---------- ------------------------ Other Deprecated infinite infinite fe80::5efe:1.0.0.127%10

Netsh i nt erfac e ipv6 show rout e Publish Type Met Prefix Idx Gateway/Interface Name ------- -------- --- ------------------------ --- ----------------------- No Manual 256 ::/0 8 fe80::3cec:bf16:505:eae6 No Manual 256 ::1/128 1 Loopback Pseudo-Interface 1 No Manual 8 2001:db8::/64 8 Local Area Connection No Manual 256 2001:db8::4074:2dce:b313:7c65/128 8 Local Area Connection No Manual 256 2001:db8::b500:734b:fe5b:3945/128 8 Local Area Connection No Manual 1000 2002::/16 11 Local Area Connection* 7 No Manual 256 fe80::/64 10 Local Area Connection* 9 No Manual 256 fe80::/64 8 Local Area Connection No Manual 256 fe80::100:7f:fffe/128 10 Local Area Connection* 9 No Manual 256 fe80::5efe:10.0.0.3/128 17 Local Area Connection* 6 No Manual 256 fe80::b500:734b:fe5b:3945/128 8 Local Area

Page 16: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 14

Connection No Manual 256 ff00::/8 1 Loopback Pseudo-Interface 1 No Manual 256 ff00::/8 10 Local Area Connection* 9 No Manual 256 ff00::/8 8 Local Area Connection

Netsh i nt erfac e ipv6 show ne ig hbors Interface 1: Loopback Pseudo-Interface 1 Internet Address Physical Address Type -------------------------------------------- ----------------- ----------- ff02::16 Permanent ff02::1:3 Permanent Interface 8: Local Area Connection Internet Address Physical Address Type -------------------------------------------- ----------------- ----------- 2001:db8::3cec:bf16:505:eae6 00-13-72-2b-34-07 Stale (Router) 2001:db8::4074:2dce:b313:7c65 00-00-00-00-00-00 Unreachable 2001:db8::6c4b:bf6d:201a:ccbf 00-00-00-00-00-00 Unreachable fe80::3cec:bf16:505:eae6 00-13-72-2b-34-07 Stale (Router) ff02::16 33-33-00-00-00-16 Permanent Interface 10: Local Area Connection* 9 Internet Address Physical Address Type -------------------------------------------- ----------------- ----------- fe80::b500:734b:fe5b:3945 255.255.255.255:65535 Unreachable ff02::16 255.255.255.255:65535 Permanent

Netsh i nt erfac e ipv6 show de st i nat ioncach e Interface 8: Local Area Connection PMTU Destination Address Next Hop Address ---- --------------------------------------------- ------------------------- 1500 2001:db8::3cec:bf16:505:eae6 2001:db8::3cec:bf16:505:eae6

Egalement sous Linux et MAC OSX Sous Linux, on retrouvera toutes ces commandes et plus encore. Telnet, ftp et autres applications réseaux sont disponibles pour IPv6.

Sous MAC OSX, tous les utilitaires et commandes sont également présents.

Notons sous ces trois Operating Systemes la disponibilité de Wireshark, analyseur de protocole très pratique pour analyser le trafic

Page 17: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 15 Appl

Page 18: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 16

CISCO

CISCO a implémenté IPv6 dans son IOS depuis longtemps maintenant.

Pour plus d’information http://www.cisco.com/ipv6

Les commandes de configurations :

R2(config)#ipv6 ? access-list Configure access lists cef Cisco Express Forwarding for IPv6 cga Configure IPv6 certified generated address dhcp Configure IPv6 DHCP general-prefix Configure a general IPv6 prefix hop-limit Configure hop count limit host Configure static hostnames icmp Configure ICMP parameters inspect Context-based Access Control Engine local Specify local options mfib Multicast Forwarding mld Global mld commands mobile Mobile IPv6 multicast IPv6 multicast multicast-routing Enable IPv6 multicast nat NAT-PT Configuration commands nd Configure IPv6 ND neighbor Neighbor ospf OSPF pim Configure Protocol Independent Multicast port-map Port to application mapping (PAM) configuration commands prefix-list Build a prefix list route Configure static routes router Enable an IPV6 routing process source-route Process packets with source routing header options unicast-routing Enable unicast routing R2(config)#ipv6 R2(config-subif)#IPV6 ? IPv6 interface subcommands: address Configure IPv6 address on interface authentication authentication subcommands bandwidth-percent Set EIGRP bandwidth limit cga Configure cga on the interface dhcp IPv6 DHCP interface subcommands eigrp Configure EIGRP IPv6 on interface enable Enable IPv6 on interface flow Flow related commands hello-interval Configures IP-EIGRP hello interval hold-time Configures IP-EIGRP hold time inspect Apply inspect name mfib Interface Specific MFIB Control mld interface commands mobile Mobile IPv6 mode Interface mode mtu Set IPv6 Maximum Transmission Unit multicast multicast nat Enable IPv6 NAT on interface nd IPv6 interface Neighbor Discovery subcommands next-hop-self Configures IP-EIGRP next-hop-self ospf OSPF interface commands pim PIM interface commands policy Enable IPv6 policy routing redirects Enable sending of ICMP Redirect messages rip Configure RIP routing protocol

Page 19: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 17

router IPv6 Router interface commands split-horizon Perform split horizon summary-address Summary prefix traffic-filter Access control list for packets unnumbered Preferred interface for source address selection unreachables Enable sending of ICMP Unreachable messages verify Enable per packet validation virtual-reassembly IPv6 Enable Virtual Fragment Reassembly R2#show ipv6 traffic IPv6 statistics: Rcvd: 295 total, 251 local destination 0 source-routed, 0 truncated 0 format errors, 0 hop count exceeded 0 bad header, 0 unknown option, 0 bad source 0 unknown protocol, 0 not a router 0 fragments, 0 total reassembled 0 reassembly timeouts, 0 reassembly failures Sent: 278 generated, 0 forwarded 0 fragmented into 0 fragments, 0 failed 0 encapsulation failed, 0 no route, 0 too big 0 RPF drops, 0 RPF suppressed drops Mcast: 276 received, 259 sent ICMP statistics: Rcvd: 49 input, 0 checksum errors, 0 too short 0 unknown info type, 0 unknown error type unreach: 0 routing, 0 admin, 0 neighbor, 0 address, 0 port parameter: 0 error, 0 header, 0 option 0 hopcount expired, 0 reassembly timeout,0 too big 10 echo request, 0 echo reply 0 group query, 0 group report, 0 group reduce 0 router solicit, 20 router advert, 0 redirects 4 neighbor solicit, 5 neighbor advert Sent: 46 output, 0 rate-limited unreach: 0 routing, 0 admin, 0 neighbor, 0 address, 0 port parameter: 0 error, 0 header, 0 option 0 hopcount expired, 0 reassembly timeout,0 too big 0 echo request, 10 echo reply 0 group query, 0 group report, 0 group reduce 0 router solicit, 23 router advert, 0 redirects 7 neighbor solicit, 6 neighbor advert UDP statistics: Rcvd: 212 input, 0 checksum errors, 0 length errors 0 no port, 0 dropped Sent: 212 output TCP statistics: Rcvd: 0 input, 0 checksum errors Sent: 0 output, 0 retransmitted R2# show ipv6 neighbor IPv6 Address Age Link-layer Addr State Interface 2001:DB8:CAFE:11::1 52 ca00.0494.0006 STALE Fa0/1.11 FE80::C800:4FF:FE94:6 44 ca00.0494.0006 STALE Fa0/1.11 R2# sh ipv6 routers Router FE80::C800:4FF:FE94:6 on FastEthernet0/1.11, last update 0 min Hops 64, Lifetime 1800 sec, AddrFlag=0, OtherFlag=0, MTU=1500 HomeAgentFlag=0, Preference=Medium Reachable time 0 (unspecified), Retransmit time 0 (unspecified) Prefix 2001:DB8:CAFE:11::/64 onlink autoconfig Valid lifetime 2592000, preferred lifetime 604800

Page 20: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 18

CEFv6 Lorsqu’on veut tracer le passage d’un paquet dans un routeur CISCO, il faut, une fois qu’on a verifié que la table de routage est bien à jour, que l’on regarde les entrées CEF correspondantes.

La commutation est réalisée par CISCO Express Forwarding (CEFv6) comme CEFv4 pour IPv4. CEF résout toutes les récursions et mets la table de routage sous la forme d’un mtrie, une structure arborescente optimisée pour des lookup performants. La table CEF travaille de concert avec une table d’adjacence où l’on retrouve par exemple les résolutions ARP ou ND pour IPv6 et qui permettent l’encapsulation dans des trames de niveau 2. Pour être capable de faire du troubleshooting, il est nécessaire de maîtriser les base de CEF car une fois les tables de routage mises à jour, l’acheminement des paquets suit les structures CEF.

R1#show ipv6 cef 2001:db8:cafe:10::/64 internal 2001:DB8:CAFE:10::/64, epoch 0, RIB[I], refcount 4, per-destination sharing sources: RIB feature space: IPRM: 0x00038000 ifnums: FastEthernet0/1.11(11): FE80::C801:4FF:FE94:6 path 6822BA1C, path list 6822A77C, share 1/1, type attached nexthop, for IPv6 nexthop FE80::C801:4FF:FE94:6 FastEthernet0/1.11, adjacency IPV6 adj out of FastEthernet0/1.11, addr FE80::C801:4FF:FE94:6 66F91C60 output chain: IPV6 adj out of FastEthernet0/1.11, addr FE80::C801:4FF:FE94:6 66F91C60

Une fois que l’entrée CEFv6 est identifiée, on cherche l’entrée correspondante au next hop dans la table d’adjacences. Dans l’adjacence, on trouve l’origine de la résolution : IPv6 ND et la MAC address du next hop qui va servir à encapsuler le paquet IPv6 dans une trame Ethernet.

☼ Si l’adjacence est Incomplete parce que c’est le premier paquet qui est acheminé vers cette destination, le paquet va être bufferisé en attendant que la résolution soit faite pour cette destination. En IPv4 le paquet qui déclenchait la résolution était droppé c’est pour cela qu’un premier ping vers une destination était toujours passé à 80%. En IPv6 on doit atteindre 100% même si c’est le premier paquet qui a déclenché la résolution.

R1#show adjacency FE80::C801:4FF:FE94:6 Protocol Interface Address IPV6 FastEthernet0/1.11 FE80::C801:4FF:FE94:6(7) R1#show adjacency FE80::C801:4FF:FE94:6 internal Protocol Interface Address IPV6 FastEthernet0/1.11 FE80::C801:4FF:FE94:6(7) 0 packets, 0 bytes epoch 0 sourced in sev-epoch 1 Encap length 18 CA0104940006CA00049400068100000B 86DD IPv6 ND Fast adjacency enabled [OK] L3 mtu 1500 Flags (0x11A9E) Fixup disabled HWIDB/IDB pointers 0x66CCDD10/0x67E58500 IP redirect enabled Switching vector: IPv6 adjacency oce Adjacency pointer 0x66F91C60 Next-hop FE80::C801:4FF:FE94:6

Page 21: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 19

ADRESSAGE IPv6

Avec IPv6, l’adressage se fait sur 128 bits au lieu de 32 pour IPv4 soit 2^128 ou 340,282,366,920,938,463,463,374,607,431,768,211,456 ou encore 3,40 * 1038 adresses possibles !

Pour tous les détails, RFC 4291, IP Version 6 Addressing Architecture.

Une adresse peut être :

Unicast Une adresse sur une interface IPv6. Peut être link local ou globale. Les Site-local ne sont plus employées.

Une interface IPv6 possède au minimum une link-locale, débutant par FE80/10.

L’adresse unspecified :: est utilisée lorsqu’une station ne connaît pas encore son adresse.

La loopback ::1 est une adresse locale toujours Up.

Il est parfois nécessaire de coder une adresse IPv4 dans une adresse IPv6. Cela se fait de la façon suivante : 0 :0 :0 :0 :0 :0 :FFFF :129.144.22.23 ou ::FFFF :129.144.22.23.

Enfin 2001 :DB8 ::/32 est réservée pour la documentation.

Il est possible d’attribuer les 64 bits de poids faible sous la forme d’une adresse EUI-64. On sépare la MAC adresse de l’interface en deux et on ajoute au milieu la séquence 0xFFFE. Le tout donne une adresse sur 64 bits que l’on peut utiliser après l’avoir testée (Duplicate Address Detection) pour configurer la partie ‘host’ de l’adresse IPv6.

Multicast.

Remplace avantageusement le broadcast en IPv6. Commence par FF0x ::

Le x représente le scope de l’adresse. 1=node, 2=link, 4=Admin, 5=Site, 8=Organization, E=Global.

All Nodes Addresses: FF01:0:0:0:0:0:0:1

FF02:0:0:0:0:0:0:1

Page 22: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 20

All Routers Addresses: FF01:0:0:0:0:0:0:2

FF02:0:0:0:0:0:0:2

FF05:0:0:0:0:0:0:2

Solicited-Node Address : FF02 :0 :0 :0 :0 :1 :FFXX :XXXX. Les X représentent les 24 bits de poids faible de l’adresse unicast.

Les adresses IPv6 multicast sont mappés sur des MAC adresses commençant par 33-33 suivi des 32 bits de poids faibles de l’adresse IPv6. Par exemple : l’adresse 33-33-FF-3F-2A-1C corresponds a l’adresse FF02::1:FF3F:2A1C .

IPv6 reprend la quasi totalité des protocoles de IPv4 à de rares exceptions près et quelques améliorations.

Anycast.

Une adresse qui représente un service et qui peut être configurée sur de multiples interfaces. Rien ne permet de la distinguer d’une adresse unicast.

Une adresse est représentée sous la forme :

o x:x:x:x:x:x:x:x

o Chaque x est composé de 1 à 4 digit hexa

o ABCD:EF01:2345:6789:ABCD:EF01:2345:6789

o 2001:DB8:0:0:8:800:200C:417A

Les successions de 0

o 2001:DB8:0:0:8:800:200C:417A

o FF01:0:0:0:0:0:0:101 o 0:0:0:0:0:0:0:1 0:0:0:0:0:0:0:0

peuvent être abrégés sous la forme ::

o 2001:DB8::8::00:200C:417A o FF01::101 o ::1 o ::

On ne peut rencontrer :: qu’une seule fois dans une adresse.

Address es d’un host IPv6 une link-locale pour chaque interface

une ou plusieurs unicast adresse pour chaque interface

une loopback ::1 pour l’interface loopback

Page 23: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 21

Sur chaque interface :

Une interface local scope all-nodes multicast address : FF01 ::1

Une link-local scope all-node multicast address : FF02 ::1

Une solicited-node address pour chaque adresse unicast configurée

Les adresses multicast

Adresses d’un routeur IPv6 une link-locale pour chaque interface

une ou plusieurs unicast adresse pour chaque interface

une loopback ::1 pour l’interface loopback

Sur chaque interface :

Une interface local scope all-nodes multicast address : FF01 ::1, etc…

Exemple d’un routeur CISCO :

R0>sh ipv6 int f1/0 FastEthernet1/0 is up, line protocol is up IPv6 is enabled, link-local address is FE80::C800:6FF:FEA9:1C No Virtual link-local address(es): Global unicast address(es): 2001:DB8:C0A8:A:C800:6FF:FEA9:1C, subnet is 2001:DB8:C0A8:A::/64 [EUI] 2001:DB8:C0A8:B:C800:6FF:FEA9:1C, subnet is 2001:DB8:C0A8:B::/64 [EUI] Joined group address(es): FF02::1 FF02::2 FF02::1:FFA9:1C MTU is 1500 bytes ICMP error messages limited to one every 100 milliseconds ICMP redirects are enabled ICMP unreachables are sent ND DAD is enabled, number of DAD attempts: 1 ND reachable time is 30000 milliseconds (using 30000) ND advertised reachable time is 0 (unspecified) ND advertised retransmit interval is 0 (unspecified) ND router advertisements are sent every 200 seconds ND router advertisements live for 1800 seconds ND advertised default router preference is Medium Hosts use stateless autoconfig for addresses.

Page 24: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 22

L’EN-TÊTE IPV6 L’en-tête IPv6 est considérablement simplifiée par rapport à son ancêtre IPv4.

Le Checksum a été enlevé car il était redondant avec celui de la couche liaison de données et de la couche transport !

Les champs de la fragmentations (fragment ID, fragment Offset, Flags) ont été retirés car celle-ci n’intervient que très rarement. On verra que ces champs pourront être ajoutés si nécessaire. De plus, les routeurs ne sont plus charges de fragmenter. Si celle-ci doit avoir lieue, elle sera faite par la source.

Un chasmp nouveau a été ajouté, le Flow Label, destiné à identifier un flux de données.

Le champs de longueur d’en-tête a été supprimé ainsi que le champs longueur totale. Un champs longueur de la charge utile leurs a été substitué.

Les adresses sont passées de 32 à 128 bits.

L’en-tête IPv6 de base a une longueur de 40 octets contre 20 en IPv4.

Afin de pouvoir ajouter des encapsulations si nécessaires, un pointeur vers l’en-tête suivante vient en remplacement du champs protocole IPv4 qui ne permettait que d’ajouter une en-tête supplémentaire.

Ci-dessous, un paquet IPv6 avec une en-tête Hop-by-hop, un Routing Header et une en-tête TCP :

��������������������

Ver Traffic Class Flow Label

Payload Length Next Header=Hop-By-Hop Hop Limit Source IPv6 Address

Destination IPv6 Address

Next Header=Routing Hdr

Next Header=TCP

TCP Header

Hop-By-Hop

Routing Header

Page 25: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 23

O Un autre exemple dans le paquet capture : Ethernet II, Src: ca:02:42:76:00:08 (ca:02:42:76:00:08), Dst: IPv6mcast_00:01:00:02 (33:33:00:01:00:02) Destination: IPv6mcast_00:01:00:02 (33:33:00:01:00:02) Source: ca:02:42:76:00:08 (ca:02:42:76:00:08) Type: IPv6 (0x86dd) Internet Protocol Version 6 0110 .... = Version: 6 [0110 .... = This field makes the filter "ip.version == 6" possible: 6] .... 1110 0000 .... .... .... .... .... = Traffic class: 0x000000e0 .... .... .... 0000 0000 0000 0000 0000 = Flowlabel: 0x00000000 Payload length: 56 Next header: UDP (0x11) Hop limit: 255 Source: fe80::38b1:e73c:c0f0:4442 (fe80::38b1:e73c:c0f0:4442) Destination: ff02::1:2 (ff02::1:2) User Datagram Protocol, Src Port: dhcpv6-client (546), Dst Port: dhcpv6-server (547) Source port: dhcpv6-client (546) Destination port: dhcpv6-server (547) Length: 56 Checksum: 0x86f0 [validation disabled]

No. Time Source Destination Protocol Info Rel Time 609 3012.904037 2001:db8:c0a8:b:c800:6ff:fea9:1c 2001:db8:c0a8:b:c801:6ff:fea9:1c ECHO Request 0.001951 Frame 609 (114 bytes on wire, 114 bytes captured) Ethernet II, Src: ca:00:06:a9:00:1c (ca:00:06:a9:00:1c), Dst: ca:01:06:a9:00:1c (ca:01:06:a9:00:1c) Internet Protocol Version 6 0110 .... = Version: 6 .... 1010 0000 .... .... .... .... .... = Traffic class: 0x000000a0 .... .... .... 0000 0000 0000 0000 0000 = Flowlabel: 0x00000000 Payload length: 60 Next header: IPv6 hop-by-hop option (0x00) Hop limit: 64 Source: 2001:db8:c0a8:b:c800:6ff:fea9:1c (2001:db8:c0a8:b:c800:6ff:fea9:1c) Destination: 2001:db8:c0a8:b:c801:6ff:fea9:1c (2001:db8:c0a8:b:c801:6ff:fea9:1c) Hop-by-Hop Option Next header: IPv6 destination option (0x3c) Length: 0 (8 bytes) PadN: 6 bytes Destination Option Next header: UDP (0x11) Length: 0 (8 bytes) PadN: 6 bytes User Datagram Protocol, Src Port: 57768 (57768), Dst Port: echo (7) Echo

Valeur du champs Next Header

Value Header

0 Hop-by-Hop

60 Destination Header

43 Routing Header

6 TCP

17 UDP

Page 26: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 24

41 Encapsulated IPv6 Header

58 ICMPv6

44 Fragement Header

60 Destination Option Header

59 No Next Header

51 Authentication Header

50 Encapsulating Security Payload

IPv6 Extension Header RFC 2460 specifie que les extensions IPv6 suivantes doivent être supportées par tous les nodes :

• Hop-by-Hop Options header

• Destination Options header

• Routing header

• Fragment header

• Authentication header

• Encapsulating Security Payload header

Exemple :

Frame 609 (114 bytes on wire, 114 bytes captured) Ethernet II, Src: ca:00:06:a9:00:1c (ca:00:06:a9:00:1c), Dst: ca:01:06:a9:00:1c (ca:01:06:a9:00:1c) Internet Protocol Version 6 0110 .... = Version: 6 .... 1010 0000 .... .... .... .... .... = Traffic class: 0x000000a0 .... .... .... 0000 0000 0000 0000 0000 = Flowlabel: 0x00000000 Payload length: 60 Next header: IPv6 hop-by-hop option (0x00) Hop limit: 64 Source: 2001:db8:c0a8:b:c800:6ff:fea9:1c (2001:db8:c0a8:b:c800:6ff:fea9:1c) Destination: 2001:db8:c0a8:b:c801:6ff:fea9:1c (2001:db8:c0a8:b:c801:6ff:fea9:1c) Hop-by-Hop Option Next header: IPv6 destination option (0x3c) Length: 0 (8 bytes)

Page 27: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 25

PadN: 6 bytes Destination Option Next header: UDP (0x11) Length: 0 (8 bytes) PadN: 6 bytes User Datagram Protocol, Src Port: 57768 (57768), Dst Port: echo (7) Echo

Ordre des en-têtes d’extens ions

1) Hop-by-Hop Options header

2) Destination Options header (quand le routing hdr est présent)

3) Routing header

4) Fragment header

5) Authentication header

6) Encapsulating Security Payload header

7) Destination Options header (pour la destination finale)

Jumbo Payload option L’option Jumbo payload permet de générer des datagram plus grands que les 65,535 octets permis par le champs longueur IPv6. Avec l’option Jumbo Payload la longueur du datagram peut aller jusqu’à 4,294,967,295 octets (RFC2675).

Router Alert Option L’option Router Alert (RFC2711) indique au routeur que le paquet nécessite un traitement spécial. Elle est transportée dans une hop-by-hop option.

Exemple : Frame 3836 (90 bytes on wire, 90 bytes captured) Ethernet II, Src: ca:00:06:a9:00:1c (ca:00:06:a9:00:1c), Dst: IPv6mcast_00:00:00:01 (33:33:00:00:00:01) Destination: IPv6mcast_00:00:00:01 (33:33:00:00:00:01) Source: ca:00:06:a9:00:1c (ca:00:06:a9:00:1c) Type: IPv6 (0x86dd) Internet Protocol Version 6 0110 .... = Version: 6 .... 1110 0000 .... .... .... .... .... = Traffic class: 0x000000e0 .... .... .... 0000 0000 0000 0000 0000 = Flowlabel: 0x00000000 Payload length: 36 Next header: IPv6 hop-by-hop option (0x00) Hop limit: 1 Source: fe80::c800:6ff:fea9:1c (fe80::c800:6ff:fea9:1c)

Page 28: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 26

Destination: ff02::1 (ff02::1) Hop-by-Hop Option Next header: ICMPv6 (0x3a) Length: 0 (8 bytes) Router alert: MLD (4 bytes) PadN: 2 bytes Internet Control Message Protocol v6 Type: 130 (Multicast listener query) Code: 0 Checksum: 0x88d1 [correct] Maximum response delay[ms]: 10000 Multicast Address: :: S Flag: OFF Robustness: 2 QQI: 125

En-tête de Destination Option Si un Routing Header est présent, il spécifie un traitement à chaque destination intermédiaire.

Si il n’y a pas de Routing Header ou si ce header intervient après, cette en-tête spécifie le traitement a la destination finale.

Option de Home Adresse Définit dans le RFC 3775. Est utilisé pour indiquer l’option adresse maison. Home addresse du noeud mobile.

Routing Header Permet de faire du source routing.

Il y a trois types de source routing. Dans le type 0, le paquet est envoyé vers le prochains routeur du chemin. Le champs addresse destination de l’en-tête IPv6 contient son adresse. Et puis dans le routing Header, on a la liste de tous les routeurs à traverser avec un pointeur vers le suivant Le routeur intermédiaire doit donc parcourir la liste des routeurs du chemin avec un pointeur qui lui donne l’adresse du prochain saut. Il remplace le champs adresse destination IPv6 par l’adresse du prochain saut dans l’en-tête de routage. Ce n’était pas le cas en IPv4 ou l’adresse de destination du paquet IPv4 ne changeait pas tout au long du chemin.

Le type 1 est obsolète depuis Janvier 1996.

Les en-têtes de type 2 sont utilisés par mobile IPv6. C’est une version limitée du type 0. Il permet de définir un seul routeur intermédiaire. En pratique il sert à spécifier la home address du mobile node.

☼ Attention, les en-têtes type 0 sont particulièrement puissantes et permettent d’envoyer un paquet vers n’importe quelle destination arbitraire et peut présenter une menace potentielle. Il est recommendé de les interdire sur les réseaux quand aucune application connue ne l’utilise. Ce lien développe un peu plus : http://www.hsc.fr/ressources/breves/ipv6-rt0.html.fr

Page 29: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 27

Frame: + Ethernet: Etype = IPv6 - Ipv6: Next Protocol = ICMPv6, Payload Length = 64 + Versions: IPv6, Internet Protocol, DSCP 0 PayloadLength: 64 (0x40) NextProtocol: IPv6 Routing header, 43(0x2b) HopLimit: 127 (0x7F) SourceAddress: FEC0:0:0:2:2B0:D0FF:FEE9:4133 DestinationAddress: FEC0:0:0:2:260:97FF:FE02:578F - RoutingHeader: NextHeader: ICMPv6 ExtHdrLen: 2(24 bytes) RoutingType: 0 (0x0) SegmentsLeft: 1 (0x1) Reserved: 0 (0x0) RouteAddress: FEC0:0:0:1:260:8FF:FE32:F9D8 + Icmpv6: Echo request, ID = 0x0, Seq = 0x3d1a

Fragment Header Gére la fragmentation à la source uniquement ! Les routeurs n’ont plus le droit de fragmenter un paquet trop gros mais doivent le dropper avec un message ICMPv6 Packet Too Big vers la source donnant le MTU.

Authentication Header Cette en-tete ermet d’authentifier le paquet.

Encapsulating SEcurity Payload Header and trailer Cette en-tete authentifie le paquet et assure la confidentialite des donnees.

ICMPv6

En plus des fonctionalités d’ICMP (RFC 4443), on trouvera ici également. Neighbor Discovery et Multicast Listener Discovery.

En-tête ICMPv6 :

1. Type

2. Code

3. Checksum

Corps du message. Deux types de messages ICMPv6 :

1. Messages d’erreurs

2. Messages d’informations

Page 30: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 28

Messages d’Erreurs ICMPv6 : 1. Destination Unreachable (Type 1)

2. Packet Too Big (Type 2)

3. Time Exceeded (Type 3)

4. Parameter Problem (Type 4)

ICMPv6 Dest i nat io n Unr eachabl e 0 - no route to Destination

1 - Communication avec la destination interdite

2 – Scope problem

3 – Adresse injoignable

4 – Port injoignable

5 – Adresse source interdite à l’entrée ou la sortie

Exemple : Port Unreachable

No. Time Source Src Port Destination Dst Port Protocol Info Cumulative bytes Relative time 318 566.655138 2001:db8::2 56486 2001:db8::1 echo ICMPv6 Unreachable (Port unreachable) 223747 566.655138 Frame 318 (1294 bytes on wire, 1294 bytes captured) Ethernet II, Src: ca:01:01:90:00:08 (ca:01:01:90:00:08), Dst: ca:00:01:90:00:08 (ca:00:01:90:00:08) Internet Protocol Version 6 0110 .... = Version: 6 .... 0000 0000 .... .... .... .... .... = Traffic class: 0x00000000 .... .... .... 0000 0000 0000 0000 0000 = Flowlabel: 0x00000000 Payload length: 1240 Next header: ICMPv6 (0x3a) Hop limit: 64 Source: 2001:db8::2 (2001:db8::2) Destination: 2001:db8::1 (2001:db8::1) Internet Control Message Protocol v6 Type: 1 (Unreachable) Code: 4 (Port unreachable) Checksum: 0x9160 [correct] Internet Protocol Version 6 0110 .... = Version: 6 .... 1100 0000 .... .... .... .... .... = Traffic class: 0x000000c0 .... .... .... 0000 0000 0000 0000 0000 = Flowlabel: 0x00000000 Payload length: 1960 Next header: IPv6 hop-by-hop option (0x00) Hop limit: 64 Source: 2001:db8::1 (2001:db8::1) Destination: 2001:db8::2 (2001:db8::2) Hop-by-Hop Option Next header: IPv6 destination option (0x3c) Length: 0 (8 bytes) PadN: 6 bytes Destination Option Next header: UDP (0x11) Length: 0 (8 bytes)

Page 31: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 29

PadN: 6 bytes User Datagram Protocol, Src Port: 56486 (56486), Dst Port: echo (7) Source port: 56486 (56486) Destination port: echo (7) Length: 1944 Checksum: 0xa5bd [unchecked, not all data available] Echo

Pack et Too Big Si un datagram est trop long pour etre forwarde sur un lien, il est droppe par le routeur et un message ICMPv6 Packet Too Big est envoye a la source avec le MTU disponible.

Frame: + Ethernet: Etype = IPv6 - Ipv6: Next Protocol = ICMPv6, Payload Length = 1240 + Versions: IPv6, Internet Protocol, DSCP 0 PayloadLength: 1240 (0x4D8) NextProtocol: ICMPv6, 58(0x3a) HopLimit: 64 (0x40) SourceAddress: FEC0:0:0:F282:201:2FF:FE44:87D1 DestinationAddress: FEC0:0:0:F282:2B0:D0FF:FEE9:4143 - Icmpv6: Packet too big MessageType: Packet too big, 2(0x2) - PacketTooBig: Code: 0 (0x0) Checksum: 44349 (0xAD3D) MTU: 1280 (0x500) - InvokingPacket: Next Protocol = ICMPv6, Payload Length = 1460 + Versions: IPv6, Internet Protocol, DSCP 0 PayloadLength: 1460 (0x5B4) NextProtocol: ICMPv6, 58(0x3a) HopLimit: 63 (0x3F) SourceAddress: FEC0:0:0:F282:2BC:D0FF:FEE9:4143 DestinationAddress: FEC0:0:0:0:9:0:0:1

Time Exce ed ed

Si le Code = 0. Hop Limit Exceeded in Tansit. Le Hop Limit est descendu à zéro. Le paquet a été droppé et un ICMPv6 Time Exceeded est envoyé vers la source.

Si le Code = 1. Fragment Reassembly Time Exceeded. La station qui réassemble un datagram fragmenté n’y parvient pas dans une limite de 60 secondes.

Paramet er Probl e m

Code 0. Erroneous Header Field Encountered. Une erreur dans un des champs de l’en-tête IPv6.

Code 1. Unrecognized Next Header Type Encountered. Un champs Next Header non reconnu a été rencontré.

Code 2. Option IPv6 non reconnu.

Page 32: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 30

ICMPv6 Informational Messages

ICMPv6 Echo Requ e st. Type 128 Frame 5219 (114 bytes on wire, 114 bytes captured) Ethernet II, Src: ca:00:06:a9:00:1c (ca:00:06:a9:00:1c), Dst: ca:01:06:a9:00:1c (ca:01:06:a9:00:1c) Destination: ca:01:06:a9:00:1c (ca:01:06:a9:00:1c) Source: ca:00:06:a9:00:1c (ca:00:06:a9:00:1c) Type: IPv6 (0x86dd) Internet Protocol Version 6 0110 .... = Version: 6 .... 0000 0000 .... .... .... .... .... = Traffic class: 0x00000000 .... .... .... 0000 0000 0000 0000 0000 = Flowlabel: 0x00000000 Payload length: 60 Next header: ICMPv6 (0x3a) Hop limit: 64 Source: 2001:db8:c0a8:b:c800:6ff:fea9:1c (2001:db8:c0a8:b:c800:6ff:fea9:1c) Destination: 2001:db8:c0a8:b:c801:6ff:fea9:1c (2001:db8:c0a8:b:c801:6ff:fea9:1c) Internet Control Message Protocol v6 Type: 128 (Echo request) Code: 0 Checksum: 0x401b [correct] ID: 0x062b Sequence: 0x0002 Data (52 bytes) 0000 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 ................ 0010 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20 21 .............. ! 0020 22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f 30 31 "#$%&'()*+,-./01 0030 32 33 34 35 2345

Echo Reply (ICMPv6 Type 129)

Frame 5220 (114 bytes on wire, 114 bytes captured) Ethernet II, Src: ca:01:06:a9:00:1c (ca:01:06:a9:00:1c), Dst: ca:00:06:a9:00:1c (ca:00:06:a9:00:1c) Destination: ca:00:06:a9:00:1c (ca:00:06:a9:00:1c) Source: ca:01:06:a9:00:1c (ca:01:06:a9:00:1c) Type: IPv6 (0x86dd) Internet Protocol Version 6 0110 .... = Version: 6 .... 0000 0000 .... .... .... .... .... = Traffic class: 0x00000000 .... .... .... 0000 0000 0000 0000 0000 = Flowlabel: 0x00000000 Payload length: 60 Next header: ICMPv6 (0x3a) Hop limit: 64 Source: 2001:db8:c0a8:b:c801:6ff:fea9:1c (2001:db8:c0a8:b:c801:6ff:fea9:1c) Destination: 2001:db8:c0a8:b:c800:6ff:fea9:1c (2001:db8:c0a8:b:c800:6ff:fea9:1c) Internet Control Message Protocol v6 Type: 129 (Echo reply) Code: 0 Checksum: 0x3f1b [correct] ID: 0x062b Sequence: 0x0002 Data (52 bytes) 0000 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 ................

Page 33: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 31

0010 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20 21 .............. ! 0020 22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f 30 31 "#$%&'()*+,-./01 0030 32 33 34 35 2345 R0>ping 2001:DB8:C0A8:B:C801:6FF:FEA9:1C Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 2001:DB8:C0A8:B:C801:6FF:FEA9:1C, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 8/19/32 ms

Notez que le paquet qui a déclenché la résolution n’est pas droppé comme en IPv4 mais stocké en attendant de pouvoir être transmis. Attention aux attaques potentielles !

Path MTU Discovery La fragmentation est couteuse en terme de CPU pour fragmenter puis pour reassembler. Ce n’est pas le seul inconvenient de la fragmentation. C’est pour cela que la fragmentation doit être évitée au maximum. Dans ce but les nodes IPv6 executent le Path MTU discovery. C’est un simple process. La station commence par envoyer un paquet avec la taille maximum. Si un routeur ne peut pas l’acheminer car le MTU est plus petit, il droppe le paquet et génère un ICMPv6 Packet Too Big avec le MTU. La source essaye alors de générer un paquet avec ce MTU. Si un autre routeur a le même problème, il va a nouveau dropper le paquet et générer un message ICMPv6 paquet too big. Ceci va continuer jusqu’à ce que la station puisse atteindre sa destination et elle connaît alors le MTU pour cette destination. Elle conserve cette information dans un cache et maintenant elle sait envoyer du trafic vers cette destination sans fragmentation.

Attention, certains Firewall filtrent les paquets ICMP et empêchent alors d’exécuter le Path MTU discovery.

MLD IGMP est devenu obligatoire avec IPv6 et a ete rebaptisé MLD, Multicast Listener Discovery.

Tous les messages MLD sont transportés dans des paquets ICMP avec l’adresse link-locale en adresse source et un Hop Limit de 1. De plus les paquets ont une option Hop-by-Hop avec le drapeau Router Alert positionné.

MLDv1 (RFC2710) Les messages suivants sont definis dans MLDv1:

Multicast Listener Querey – Type 130. Ils sont de deux types. Dans le mode requete generale (general query), le champs adresse multicast est a zero et le but est de decouvrir les adresses multicast ecoutees par les stations du reseaux (listener). Dans le mode de requete d’une adresse

Page 34: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 32

specifique, le champ adresse multicast sert a determiner quel sont les membres de cette adresse multicast.

Frame 6102 (90 bytes on wire, 90 bytes captured) Ethernet II, Src: ca:00:06:a9:00:1c (ca:00:06:a9:00:1c), Dst: IPv6mcast_00:00:00:01 (33:33:00:00:00:01) Destination: IPv6mcast_00:00:00:01 (33:33:00:00:00:01) Source: ca:00:06:a9:00:1c (ca:00:06:a9:00:1c) Type: IPv6 (0x86dd) Internet Protocol Version 6 0110 .... = Version: 6 .... 1110 0000 .... .... .... .... .... = Traffic class: 0x000000e0 .... .... .... 0000 0000 0000 0000 0000 = Flowlabel: 0x00000000 Payload length: 36 Next header: IPv6 hop-by-hop option (0x00) Hop limit: 1 Source: fe80::c800:6ff:fea9:1c (fe80::c800:6ff:fea9:1c) Destination: ff02::1 (ff02::1) Hop-by-Hop Option Next header: ICMPv6 (0x3a) Length: 0 (8 bytes) Router alert: MLD (4 bytes) PadN: 2 bytes Internet Control Message Protocol v6 Type: 130 (Multicast listener query) Code: 0 Checksum: 0x88d1 [correct] Maximum response delay[ms]: 10000 Multicast Address: :: S Flag: OFF Robustness: 2 QQI: 125

Multicast Listener Report – Type 131. Permet a une station receptrice (listener) de s’enregistrer a un groupe. Quand une station veut genere un report, elle arme un timer et n’envoit son report qu’a expiration du timer. Si pendant ce temps une autre station a transmis un report la station sait qu’elle n’a plus besoin de genererson propre report.

Multicast Listener Done – Type 132. Emis par un recepteur pour se de-enregistrer pour une adresse multicast. Quand un routerur recoit un Done du dernier recepteur, il efface l’adresse multicast de la liste des multicast a forwarde sur ce lien.

MLDv2 (RFC3810)

MLDv2 est base sur IGMPv3. L’apport de cette version par rapport a la precedente est le filtrage de la source. En d’autre terme, il est possible en plus de s’enregistrer pour recevoir un groupe de multicast donne de specifier la source du flux. Ceci va considerablement simplifier l’ensemble. En effet il n’est plus besoin de RP puisque la source est specifie par le recepteur du flux.

MLDv2 definit deux messages :

Multicast Listener Query – Type 130

Multicast Listener Report Version 2 – Type 143

Les MLD Report Version 2 sont envoyes a l’adresse FF02::16

Frame 6104 (150 bytes on wire, 150 bytes captured)

Page 35: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 33

Ethernet II, Src: ca:00:06:a9:00:1c (ca:00:06:a9:00:1c), Dst: IPv6mcast_00:00:00:16 (33:33:00:00:00:16) Destination: IPv6mcast_00:00:00:16 (33:33:00:00:00:16) Source: ca:00:06:a9:00:1c (ca:00:06:a9:00:1c) Type: IPv6 (0x86dd) Internet Protocol Version 6 0110 .... = Version: 6 .... 1110 0000 .... .... .... .... .... = Traffic class: 0x000000e0 .... .... .... 0000 0000 0000 0000 0000 = Flowlabel: 0x00000000 Payload length: 96 Next header: IPv6 hop-by-hop option (0x00) Hop limit: 1 Source: fe80::c800:6ff:fea9:1c (fe80::c800:6ff:fea9:1c) Destination: ff02::16 (ff02::16) Hop-by-Hop Option Next header: ICMPv6 (0x3a) Length: 0 (8 bytes) Router alert: MLD (4 bytes) PadN: 2 bytes Internet Control Message Protocol v6 Type: 143 (Multicast Listener Report Message v2) Code: 0 (Should always be zero) Checksum: 0xa111 [correct]

Jumbo Payload option L’option Jumbo payload permet de générer des datagram plus grands que les 65,535 octets permis par le champs longueur IPv6. Avec l’option Jumbo Payload la longueur du datagram peut aller jusqu’à 4,294,967,295 octets (RFC2675).

Frame 3836 (90 bytes on wire, 90 bytes captured) Ethernet II, Src: ca:00:06:a9:00:1c (ca:00:06:a9:00:1c), Dst: IPv6mcast_00:00:00:01 (33:33:00:00:00:01) Destination: IPv6mcast_00:00:00:01 (33:33:00:00:00:01) Source: ca:00:06:a9:00:1c (ca:00:06:a9:00:1c) Type: IPv6 (0x86dd) Internet Protocol Version 6 0110 .... = Version: 6 .... 1110 0000 .... .... .... .... .... = Traffic class: 0x000000e0 .... .... .... 0000 0000 0000 0000 0000 = Flowlabel: 0x00000000 Payload length: 36 Next header: IPv6 hop-by-hop option (0x00) Hop limit: 1 Source: fe80::c800:6ff:fea9:1c (fe80::c800:6ff:fea9:1c) Destination: ff02::1 (ff02::1) Hop-by-Hop Option Next header: ICMPv6 (0x3a) Length: 0 (8 bytes) Router alert: MLD (4 bytes) PadN: 2 bytes Internet Control Message Protocol v6 Type: 130 (Multicast listener query) Code: 0 Checksum: 0x88d1 [correct] Maximum response delay[ms]: 10000 Multicast Address: :: S Flag: OFF Robustness: 2 QQI: 125

Router Alert Option

Page 36: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 34

L’option Router Alert (RFC2711) indique au routeur que le paquet nécessite un traitement spécial. Elle est transportée dans une hop-by-hop option. ON y prendra une attention particulière car elles peuvent être utilisée pour des attaques DOS

Exemple :

Frame 3836 (90 bytes on wire, 90 bytes captured) Ethernet II, Src: ca:00:06:a9:00:1c (ca:00:06:a9:00:1c), Dst: IPv6mcast_00:00:00:01 (33:33:00:00:00:01) Destination: IPv6mcast_00:00:00:01 (33:33:00:00:00:01) Source: ca:00:06:a9:00:1c (ca:00:06:a9:00:1c) Type: IPv6 (0x86dd) Internet Protocol Version 6 0110 .... = Version: 6 .... 1110 0000 .... .... .... .... .... = Traffic class: 0x000000e0 .... .... .... 0000 0000 0000 0000 0000 = Flowlabel: 0x00000000 Payload length: 36 Next header: IPv6 hop-by-hop option (0x00) Hop limit: 1 Source: fe80::c800:6ff:fea9:1c (fe80::c800:6ff:fea9:1c) Destination: ff02::1 (ff02::1) Hop-by-Hop Option Next header: ICMPv6 (0x3a) Length: 0 (8 bytes) Router alert: MLD (4 bytes) PadN: 2 bytes Internet Control Message Protocol v6 Type: 130 (Multicast listener query) Code: 0@ Checksum: 0x88d1 [correct] Maximum response delay[ms]: 10000 Multicast Address: :: S Flag: OFF Robustness: 2 QQI: 125

En-tête de Destination Option Si un Routing Header est présent, il spécifie un traitement à chaque destination intermédiaire.

Si il n’y a pas de Routing Header ou si ce header intervient après, cette en-tête spécifie le traitement a la destination finale.

Option de Home Adresse Définit dans le RFC 3775. Est utilisé pour indiquer l’option adresse maison. Home addresse du noeud mobile.

Routing Header Permet de faire du source routing.

Page 37: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 35

Il y a trois types de source routing. Dans le type 0, le paquet est envoyé vers le prochains routeur du chemin. Le champs addresse destination de l’en-tête IPv6 contient son adresse. Et puis dans le routing Header, on a la liste de tous les routeurs à traverser avec un pointeur vers le suivant Le routeur intermédiaire doit donc parourir la liste des routeurs du chemin avec un pointeur qui lui donne l’adresse du prochain saut. Il remplace le champs adresse destination IPv6 par l’adresse du prochain saut dans l’en-tête de routage. Ce n’était pas le cas en IPv4 ou l’adresse de destination du paquet IPv4 ne changeait pas tout au long du chemin.

Le type 1 est obsolète depuis Janvier 1996.

Les en-têtes de type 2 sont utilisés par mobile IPv6. C’est une version limitée du type 0. Il permet de définir un seul routeur intermédiaire. En pratique il sert à spécifier la home address du mobile node.

☼ Attention, les en-têtes type 0 sont particulièrement puissantes et permettent d’envoyer un paquet vers n’importe quelle destination arbitraire et peut présenter une menace potentielle. Il est recommendé de les interdire sur les réseaux quand aucune application connue ne l’utilise. Ce lien développe un peu plus : http://www.hsc.fr/ressources/breves/ipv6-rt0.html.fr

Frame: + Ethernet: Etype = IPv6 - Ipv6: Next Protocol = ICMPv6, Payload Length = 64 + Versions: IPv6, Internet Protocol, DSCP 0 PayloadLength: 64 (0x40) NextProtocol: IPv6 Routing header, 43(0x2b) HopLimit: 127 (0x7F) SourceAddress: FEC0:0:0:2:2B0:D0FF:FEE9:4133 DestinationAddress: FEC0:0:0:2:260:97FF:FE02:578F - RoutingHeader: NextHeader: ICMPv6 ExtHdrLen: 2(24 bytes) RoutingType: 0 (0x0) SegmentsLeft: 1 (0x1) Reserved: 0 (0x0) RouteAddress: FEC0:0:0:1:260:8FF:FE32:F9D8 + Icmpv6: Echo request, ID = 0x0, Seq = 0x3d1a

Fragment Header Gére la fragmentation à la source uniquement ! Les routeurs n’ont plus le droit de fragmenter un paquet trop gros mais doivent le dropper avec un message ICMPv6 Packet Too Big vers la source donnant le MTU.

Authentication Header Cette en-tete permet d’authentifier le paquet.

Encapsulating SEcurity Payload Header and trailer”

Page 38: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 36

Cette en-tete authentifie et sécurise le paquet puis assure la confidentialite des donnees.

Les messages MLDv2 peuvent être en mode Include ou Exclude. En mode Include, on veut recevoir les flux multicast de toutes les sources incluses dans les champs INCLUDE. Dans le mode EXCLUDE, on veut tous les paquets Multicast à l’exception des sources des champs EXCLUDE.

Multicast Router Discovery (RFC 4286) Encore une avancee de IPv6 sur son predecesseur. Les routeurs multicast ont la possibilite de s’annoncer sur le reseau.

3 Nouveaux messages :

Mult icast Rout er Advert i s e m e nt (Type 151) Genere par les routeurs pour annonce que le routage du multicast est disponible. Emis d’une adresse link-locale vers FF02::6A

Mult icast Rout er So l ic itat ion (Type 152) Emis par une station pour soliciter un +,advertisement Emis d’une link-locale vers l’adresses all-routers FF02::2

Mult icast Rout er Termi nat io n (Type 153) Emis par un routeur qui sesse la fonction de routage multicast Emis d’une link-locale vers l’adresse all-snoopers FF02:6A

Tous les messages MRD ont une option Hop-by-Hop avec le bit Router Alert positionne

NEIGHBOR DISCOVERY

ND est utilisé par les nœuds pour :

o Résoudre l’adresse de liaison de donnée d’un nœud voisin vers qui un paquets doit être transmis

o Déterminer quand l’adresse de liaison de donnée d’un voisin a changée

o Déterminer si un voisin est toujours joignable

ND est utilisé par les hôtes pour :

o Découvrir les routeurs voisins

o Autoconfigurer les adresses, les préfixes, les routes et autres paramètres de configuration

ND est utilisé par les routeurs pour :

Page 39: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 37

o Annoncer leurs présences, les paramètres de configuration des hôtes, routes et préfixes on-link

o Informer les hôtes d’une meilleure adresse de next hop pour transmettre les paquets pour une destination spécifique

Les processus ND sont les suivants :

o Découverte des Routeurs et des routes disponibles.

o Les stations ont la possibilite d’adresser une requete sur le lien pour que tous les routeurs se fassent connaître. De plus les routeurs multicast regulierement leurs presence ainsi que les parametres importants du lien tels que le MTU.

o Découverte des préfixes

o Les annonces des routeurs evoques precedemment contiennent les prefix disponibles sur le reseau,

o Découverte des paramètres.

o Les annonces des routeurs evoques precedemment contiennent les parametres tels que le MTU du lien.

o Configuration d’adresse automatique

Avec ND une station n’a besoin de rien d’autre pour se configurer une adresse. En effet, elle va trouver un prefix disponible dans un Router Advertisement et calculer la partie hote de l’adresse a partir de l’adresse MAC de l’interface en suivant le format EUI-64.

On verra que les messages ND continennent des options qui véhiculent ces options.

Résolution d’adresses.

ND est en charge de faire ce que ARP faisait en Ipv4 et plus encore. En effet la gestion du cache des voisins par ND est bien plus optimise que la version Ipv4 correspondante.

Détermination du next-hop

Comme plusieurs prefix peuvent co-exister sur un meme lien, choisir un next-hop est une tache plus complexe.

Detection des voisins injoignables.

La gestion de la table des voisins est sans aucune mesure comparable a ce qui se faisait en Ipv4. Detecter qu’un voisin ne répond plus est une tâche importante. Si ce voisin est le routeur par defaut, detecter qu’il ne reond plus premet de passer sur un routeur backup.

Détection d’adresse dupliquée.

Utiliser des adresses dupliquées dans un reseau produit rapidement des effets catastrophique. Grâce à ND Duplicate Address Detection (DAD) nous pouvons éviter cet écueuil.

Lorsqu’une interface monte, elle doit tester toutes les adresses unicast qui lui sont attribuées. En commançant par la link-locale, elle génère un message Neighbor Solicitation avec sa propre adresse.

Page 40: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 38

Si quelqu’un réponds c’est que cette adresse est deja utilise. Dans le cas contraire, la station envoie un NA our signifier qu’elle en est la proprietaire. En IPv4, les routeurs CISCO envoyaient un gratuitous ARP dans le même but.

Ci-dessous un exemple montrant l’interface FastEthernet1/0 qui demarre sur un routeur CISCO.

*Sep 22 03:55:50.586: %LINK-3-UPDOWN: Interface FastEthernet1/0, changed state to up *Sep 22 03:55:51.586: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet1/0, changed state to up *Sep 22 03:55:51.598: ICMPv6-ND: L2 came up on FastEthernet1/0 *Sep 22 03:55:51.602: IPv6-Addrmgr-ND: DAD request for FE80::C800:6FF:FEA9:1C on FastEthernet1/0 *Sep 22 03:55:51.606: ICMPv6-ND: Sending NS for FE80::C800:6FF:FEA9:1C on FastEthernet1/0 *Sep 22 03:55:51.626: ICMPv6-ND: ND output feature SEND executed on 5 - rc=0 *Sep 22 03:55:51.638: %SYS-5-CONFIG_I: Configured from console by console *Sep 22 03:55:52.610: IPv6-Addrmgr-ND: DAD: FE80::C800:6FF:FEA9:1C is unique. *Sep 22 03:55:52.618: ICMPv6-ND: Sending NA for FE80::C800:6FF:FEA9:1C on FastEthernet1/0 *Sep 22 03:55:52.618: ICMPv6-ND: L3 came up on FastEthernet1/0 *Sep 22 03:55:52.666: IPv6-Addrmgr-ND: DAD request for F:1::1 on FastEthernet1/0 *Sep 22 03:55:52.678: ICMPv6-ND: Sending NS for F:1::1 on FastEthernet1/0 *Sep 22 03:55:52.686: ICMPv6-ND: Linklocal FE80::C :1 800:6FF:FEA9:1C on FastEthernet1/0, Up *Sep 22 03:55:52.686: ICMPv6-ND: Created RA context for FE80::C800:6FF:FEA9:1C *Sep 22 03:55:52.690: ICMPv6-ND: Request to send RA for FE80::C800:6FF:FEA9:1C *Sep 22 03:55:52.698: ICMPv6-ND: Sending RA from FE80::C800:6FF:FEA9:1C to FF02::1 on FastEthernet1/0 *Sep 22 03:55:52.706: ICMPv6-ND: MTU = 1500 *Sep 22 03:55:52.706: ICMPv6-ND: prefix = F:1::/64 onlink autoconfig *Sep 22 03:55:52.710: ICMPv6-ND: 2592000/604800 (valid/preferred) *Sep 22 03:55:52.718: ICMPv6-ND: ND output feature SEND executed on 5 - rc=0 *Sep 22 03:55:52.718: ICMPv6-ND: ND output feature SEND executed on 5 - rc=0 *Sep 22 03:55:52.722: ICMPv6-ND: ND output feature SEND executed on 5 - rc=0 *Sep 22 03:55:53.682: IPv6-Addrmgr-ND: DAD: F:1::1 is unique. *Sep 22 03:55:53.682: ICMPv6-ND: Sending NA for F:1::1 on FastEthernet1/0 *Sep 22 03:55:53.686: ICMPv6-ND: ND output feature SEND executed on 5 - rc=0 *Sep 22 03:55:54.558: ICMPv6-ND: ULP neighbour FE80::C801:6FF:FEA9:1C on FastEthernet1/0 *Sep 22 03:55:54.562: ICMPv6-ND: DELETE -> INCMP: FE80::C801:6FF:FEA9:1C *Sep 22 03:55:54.566: ICMPv6-ND: Sending NS for FE80::C801:6FF:FEA9:1C on FastEthernet1/0 *Sep 22 03:55:54.570: ICMPv6-ND: Set ULP NUD for FE80::C801:6FF:FEA9:1C on FastEthernet1/0 *Sep 22 03:55:54.594: ICMPv6-ND: ND output feature SEND executed on 5 - rc=0 *Sep 22 03:55:54.614: ICMPv6-ND: ND input feature SEND executed on 5 - rc=0 *Sep 22 03:55:54.618: ICMPv6-ND: Received NA for FE80::C801:6FF:FEA9:1C on FastEthernet1/0 from FE80::C801:6FF:FEA9:1C *Sep 22 03:55:54.622: ICMPv6-ND: Neighbour FE80::C801:6FF:FEA9:1C on FastEthernet1/0 : LLA ca01.06a9.001c *Sep 22 03:55:. 54622: ICMPv6-ND: INCMP -> REACH: FE80::C801:6FF:FEA9:1C

Redirect.

Le message redirect permet a un routeur de signaler a un hôte qu’un chemin plus directe existe pour atteindre une destination

Il y a cinq messages ND :

Router Solicitation (Type 133)

Router Advertisement (Type 134)

Neighbor Solicitation (Type 135)

Neighbor Advertisement (Type 136)

Page 41: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 39

Redirect (Type 137)

Les messages ND fournissent des informations supplémentaires telles que les adresses MAC, les prefix réseau on-link, les informations de MTU on-link, les données de redirections, des informations de mobilité et des routes spécifiques.

Pour s’assurer que les messages ND proviennent d’un nœud local, tous les messages ND sont générés avec un hop limit de 255. Quand un message ND est reçu le Hop Limit est vérifié et doit faire 255 sinon il est silencieusement discardé.

Neighbor Discovery Messages

Rout er So l ic itat io n Ce message est envoyé par un host pour obtenir un Router Advertisement des routers voisins.

Au niveau MAC

• L’adresse source est l’adresse MAC de la carte réseau

• L’adresse destination est la MAC adresse de tous les routeurs 33-33-00-00-00-02

Au niveau IPv6

• L’adresse source est soit l’adresse link-locale de l’interface emettrice soit l’addresse non spécifiée .

• L’adresse destination est l’adresse link-locale de tous les routeurs IPv6

Au niveau ICMPv6

• Type 133

• Code 0

• ICMPv6 Checksum

• Source Link-Layer Address option

Rout er Advert is e m e nt Les routeurs emettent des Router Advertisements régulièrement. De plus lorqu’ils recoivent un Router Solicitation , ils répondent immédiatement avec un Router Advertisement.

Dans l’en-tête Ethernet on trouvera :

• Dans la source adresse, la MAC adresse de la carte émettrice.

• L’adresse destination sera 33-33-00-00-00-01

Dans l’en-tête IPv6 :

• La source adresse sera l’adresse link-locale de l’interface emettrice

Page 42: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 40

• L’adresse destination sera l’adresse link-locale all-nodes : FF02::1 ou l’adresse unicast de la station qui a émis le Router Solicitation

• Le Hop Limit sera a 255

Les champs du Router Advertisement seront :

• Type 134

• Code 0

• Checksum la valeur du Checksum ICMPv6

• Current Hop Limit

• Managed Address Configuration Flag. Les stations peuvent utiliser DHCPv6 pour configurer leurs adresses.

• Other Stateful Configuration Flag. Les stations peuvent utiliser DHCPv6 pour récupérer des configurations supplémentaires.

• Default Router Preference

• Reserved

• Router Lifetime

• Retransmission timer

• Source Link-Layer Address Option

• MTU Option

• Prefix Information Ooptions

• Advertisement Interval Option

• Home Agent Information Option

• Route information options

Frame 5801 (118 bytes on wire, 118 bytes captured) Ethernet II, Src: ca:02:06:a9:00:1c (ca:02:06:a9:00:1c), Dst: IPv6mcast_00:00:00:01 (33:33:00:00:00:01) Destination: IPv6mcast_00:00:00:01 (33:33:00:00:00:01) Source: ca:02:06:a9:00:1c (ca:02:06:a9:00:1c) Type: IPv6 (0x86dd) Internet Protocol Version 6 0110 .... = Version: 6 .... 1110 0000 .... .... .... .... .... = Traffic class: 0x000000e0 .... .... .... 0000 0000 0000 0000 0000 = Flowlabel: 0x00000000 Payload length: 64 Next header: ICMPv6 (0x3a) Hop limit: 255 Source: fe80::c802:6ff:fea9:1c (fe80::c802:6ff:fea9:1c) Destination: ff02::1 (ff02::1) Internet Control Message Protocol v6 Type: 134 (Router advertisement) Code: 0 Checksum: 0x90a8 [correct]

Page 43: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 41

Cur hop limit: 64 Flags: 0x00 Router lifetime: 1800 Reachable time: 0 Retrans timer: 0 ICMPv6 Option (Source link-layer address) Type: Source link-layer address (1) Length: 8 Link-layer address: ca:02:06:a9:00:1c ICMPv6 Option (MTU) Type: MTU (5) Length: 8 MTU: 1500 ICMPv6 Option (Prefix information) Type: Prefix information (3) Length: 32 Prefix length: 64 Flags: 0xc0 Valid lifetime: 2592000 Preferred lifetime: 604800 Prefix: 2001:db8:c0a8:b::

Ne ighbor So l ic i tat io n. Type 135

Code 0

Target Address

Source Link-Layer Address Option

Utilisé pour demander à un voisin sa MAC address tout en donnant la sienne.

Frame 5344 (86 bytes on wire, 86 bytes captured) Ethernet II, Src: ca:01:06:a9:00:1c (ca:01:06:a9:00:1c), Dst: ca:00:06:a9:00:1c (ca:00:06:a9:00:1c) Destination: ca:00:06:a9:00:1c (ca:00:06:a9:00:1c) Source: ca:01:06:a9:00:1c (ca:01:06:a9:00:1c) Type: IPv6 (0x86dd) Internet Protocol Version 6 0110 .... = Version: 6 .... 1110 0000 .... .... .... .... .... = Traffic class: 0x000000e0 .... .... .... 0000 0000 0000 0000 0000 = Flowlabel: 0x00000000 Payload length: 32 Next header: ICMPv6 (0x3a) Hop limit: 255 Source: fe80::c801:6ff:fea9:1c (fe80::c801:6ff:fea9:1c) Destination: 2001:db8:c0a8:b:c800:6ff:fea9:1c (2001:db8:c0a8:b:c800:6ff:fea9:1c) Internet Control Message Protocol v6 Type: 135 (Neighbor solicitation) Code: 0 Checksum: 0x6230 [correct] Target: 2001:db8:c0a8:b:c800:6ff:fea9:1c (2001:db8:c0a8:b:c800:6ff:fea9:1c) ICMPv6 Option (Source link-layer address) Type: Source link-layer address (1) Length: 8 Link-layer address: ca:01:06:a9:00:1c

Ne ighbor Advert i s e m e nt

Page 44: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 42

Type 136

Code 0 Router Flag Solicited flag Override Flag Target Address Target Link-Layer Address Option Réponse au Neighbor Sollicitation.

Frame 23 (454 bytes on wire, 454 bytes captured) Ethernet II, Src: ca:02:09:b9:00:08 (ca:02:09:b9:00:08), Dst: ca:01:09:b9:00:08 (ca:01:09:b9:00:08) Internet Protocol Version 6 Internet Control Message Protocol v6 Type: 136 (Neighbor advertisement) Code: 0 Checksum: 0xc988 [correct] Flags: 0x60000000 Target: 2001::347c:26bf:9a38:61c3 (2001::347c:26bf:9a38:61c3) ICMPv6 Option (Target link-layer address) ICMPv6 Option (CGA) ICMPv6 Option (Timestamp) ICMPv6 Option (Nonce) ICMPv6 Option (RSA Signature)

Redir ect Informe un voisin d’un meilleur next hop pour joindre une destination.

Internet Control Message Protocol v6 Type: 137 (Redirect) Code: 0 Checksum: 0xd231 [correct] rfc (2001:db8:c0a8:a:c800:6ff:fea9:1c) Destination: 2001:db8:c0a8:a:c800:6ff:fea9:1c (2001:db8:c0a8:a:c800:6ff:fea9:1c) ICMPv6 Option (Target link-layer address) Type: Target link-layer address (2) Length: 8 Link-layer address: ca:00:06:a9:00:1c ICMPv6 Option (Redirected header) Type: Redirected header (4) Length: 112 Reserved: 0 (correct) Redirected packet Internet Protocol Version 6 0110 .... = Version: 6 .... 0000 0000 .... .... .... .... .... = Traffic class: 0x00000000 .... .... .... 0000 0000 0000 0000 0000 = Flowlabel: 0x00000000 Payload length: 60 Next header: ICMPv6 (0x3a) Hop limit: 63 Source: 2001:db8:c0a8:b::1 (2001:db8:c0a8:b::1) Destination: 2001:db8:c0a8:a:c800:6ff:fea9:1c (2001:db8:c0a8:a:c800:6ff:fea9:1c) Internet Control Message Protocol v6 Type: 128 (Echo request) Code: 0 Checksum: 0xbce7 [correct]

Page 45: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 43

ID: 0x22ef Sequence: 0x0004 Data (52 bytes) 0000 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 ................ 0010 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20 21 22 23 ............ !"# 0020 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f 30 31 32 33 $%&'()*+,-./0123 0030 34 35 36 37 4567

Options de Decouverte des Voisins Comme on vient de le voir, les messages Neighbor Discovery véhiculent des options permettant la découverte automatiques de paramétres réseaux tels que les prefix ou route disponibles sur le lien. Revoyons plus en détail ces options.

So urce Li nk-Layer address Opt io n Frame 56 (118 bytes on wire, 118 bytes captured) Ethernet II, Src: ca:02:06:a9:00:54 (ca:02:06:a9:00:54), Dst: IPv6mcast_00:00:00:01 (33:33:00:00:00:01) Destination: IPv6mcast_00:00:00:01 (33:33:00:00:00:01) Source: ca:02:06:a9:00:54 (ca:02:06:a9:00:54) Type: IPv6 (0x86dd) Internet Protocol Version 6 0110 .... = Version: 6 .... 1110 0000 .... .... .... .... .... = Traffic class: 0x000000e0 .... .... .... 0000 0000 0000 0000 0000 = Flowlabel: 0x00000000 Payload length: 64 Next header: ICMPv6 (0x3a) Hop limit: 255 Source: fe80::c802:6ff:fea9:54 (fe80::c802:6ff:fea9:54) Destination: ff02::1 (ff02::1) Internet Control Message Protocol v6 Type: 134 (Router advertisement) Code: 0 Checksum: 0x9040 [correct] Cur hop limit: 64 Flags: 0x00 Router lifetime: 1800 Reachable time: 0 Retrans timer: 0 ICMPv6 Option (Source link-layer address) Type: Source link-layer address (1) Length: 8 Link-layer address: ca:02:06:a9:00:54 ICMPv6 Option (MTU) Type: MTU (5) Length: 8 MTU: 1500 ICMPv6 Option (Prefix information) Type: Prefix information (3) Length: 32 Prefix length: 64 Flags: 0xc0 Valid lifetime: 2592000 Preferred lifetime: 604800 Prefix: 2001:db8:c0a8:3::

Target Li nk-Layer address Opt io n

Page 46: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 44

Frame 25 (86 bytes on wire, 86 bytes captured) Ethernet II, Src: ca:01:06:a9:00:54 (ca:01:06:a9:00:54), Dst: ca:02:06:a9:00:54 (ca:02:06:a9:00:54) Destination: ca:02:06:a9:00:54 (ca:02:06:a9:00:54) Source: ca:01:06:a9:00:54 (ca:01:06:a9:00:54) Type: IPv6 (0x86dd) Internet Protocol Version 6 0110 .... = Version: 6 .... 1110 0000 .... .... .... .... .... = Traffic class: 0x000000e0 .... .... .... 0000 0000 0000 0000 0000 = Flowlabel: 0x00000000 Payload length: 32 Next header: ICMPv6 (0x3a) Hop limit: 255 Source: fe80::c801:6ff:fea9:54 (fe80::c801:6ff:fea9:54) Destination: fe80::c802:6ff:fea9:54 (fe80::c802:6ff:fea9:54) Internet Control Message Protocol v6 Type: 136 (Neighbor advertisement) Code: 0 Checksum: 0x5f24 [correct] Flags: 0xe0000000 Target: fe80::c801:6ff:fea9:54 (fe80::c801:6ff:fea9:54) ICMPv6 Option (Target link-layer address) Type: Target link-layer address (2) Length: 8 Link-layer address: ca:01:06:a9:00:54

Pref ix Informat ion Opt io n

Cette option est envoyée avec un Router Advertisement pour indiquer les prefix d’adresses et autres informations nécessaires à l’autoconfiguration. Il peut y avoir plusieurs prefixes.

Type. Sa valeur est 3 Length.. La valeur de ce champs est 4. Prefix Length. 8 bits. Sa valeur habituelle est 64. On-Link Flag. 1 bit. Détermine si le préfix qui est sur le lien sur lequel le Router Advertisement a été reçu ou non. Autonomous Flag. 1 bit. Quand il est positionné il indique que le préfix inclus est utilisé pour créer une configuration d’adresse stateless. Router Address flag. Défini dans le RFC 3775 pour Mobile IPv6 Site Prefix Flag.Indique quand il est positionné que le prefix site défini par le champs Prefix et la longueur du champs Site Prefix est utilisé pour mettre à jour la table de prefix site. Reserved1. Valid Lifetime.Ce champs indique combien de secondes une adresse basée sur le prefix inclus et utilisant la configuration d’adresse stateless reste valide Prefered Lifetime. Le nombre de secondes qu’une adresse basée sur le prefix inclus et utilisant l’adresse autoconfigurée stateless reste dans un état préféré avant de passer dans l’état déprécié (deprecated). Une addresse depréciée est toujours reconnu mais on n’encourage pas son utilisation car elle va bientôt disparaître au profit d’une nouvelle adresse. Reserved2 Site Prefix Length. Prefix. Le prefix pour l’adresse IPv6 stateless autoconfiguration. Ce prefix une fois combiné avec avec l’identifier d’interface pour le nœud, créé une adresse IPv6.

Frame 56 (118 bytes on wire, 118 bytes captured) Ethernet II, Src: ca:02:06:a9:00:54 (ca:02:06:a9:00:54), Dst: IPv6mcast_00:00:00:01 (33:33:00:00:00:01)

Page 47: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 45

Destination: IPv6mcast_00:00:00:01 (33:33:00:00:00:01) Source: ca:02:06:a9:00:54 (ca:02:06:a9:00:54) Type: IPv6 (0x86dd) Internet Protocol Version 6 0110 .... = Version: 6 .... 1110 0000 .... .... .... .... .... = Traffic class: 0x000000e0 .... .... .... 0000 0000 0000 0000 0000 = Flowlabel: 0x00000000 Payload length: 64 Next header: ICMPv6 (0x3a) Hop limit: 255 Source: fe80::c802:6ff:fea9:54 (fe80::c802:6ff:fea9:54) Destination: ff02::1 (ff02::1) Internet Control Message Protocol v6 Type: 134 (Router advertisement) Code: 0 Checksum: 0x9040 [correct] Cur hop limit: 64 Flags: 0x00 Router lifetime: 1800 Reachable time: 0 Retrans timer: 0 ICMPv6 Option (Source link-layer address) Type: Source link-layer address (1) Length: 8 Link-layer address: ca:02:06:a9:00:54 ICMPv6 Option (MTU) Type: MTU (5) Length: 8 MTU: 1500 ICMPv6 Option (Prefix information) Type: Prefix information (3) Length: 32 Prefix length: 64 Flags: 0xc0 Valid lifetime: 2592000 Preferred lifetime: 604800 Prefix: 2001:db8:c0a8:3::

Redir ect ed Header Opt io n

Frame 92 (214 bytes on wire, 214 bytes captured) Ethernet II, Src: ca:01:06:a9:00:1c (ca:01:06:a9:00:1c), Dst: ca:02:06:a9:00:1c (ca:02:06:a9:00:1c) Destination: ca:02:06:a9:00:1c (ca:02:06:a9:00:1c) Source: ca:01:06:a9:00:1c (ca:01:06:a9:00:1c) Type: IPv6 (0x86dd) Internet Protocol Version 6 0110 .... = Version: 6 .... 1110 0000 .... .... .... .... .... = Traffic class: 0x000000e0 .... .... .... 0000 0000 0000 0000 0000 = Flowlabel: 0x00000000 Payload length: 160 Next header: ICMPv6 (0x3a) Hop limit: 255 Source: fe80::c801:6ff:fea9:1c (fe80::c801:6ff:fea9:1c) Destination: 2001:db8:c0a8:b::1 (2001:db8:c0a8:b::1) Internet Control Message Protocol v6 Type: 137 (Redirect) Code: 0 Checksum: 0xd231 [correct] Target: 2001:db8:c0a8:a:c800:6ff:fea9:1c (2001:db8:c0a8:a:c800:6ff:fea9:1c)

Page 48: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 46

Destination: 2001:db8:c0a8:a:c800:6ff:fea9:1c (2001:db8:c0a8:a:c800:6ff:fea9:1c) ICMPv6 Option (Target link-layer address) Type: Target link-layer address (2) Length: 8 Link-layer address: ca:00:06:a9:00:1c ICMPv6 Option (Redirected header) Type: Redirected header (4) Length: 112 Reserved: 0 (correct) Redirected packet Internet Protocol Version 6 0110 .... = Version: 6 .... 0000 0000 .... .... .... .... .... = Traffic class: 0x00000000 .... .... .... 0000 0000 0000 0000 0000 = Flowlabel: 0x00000000 Payload length: 60 Next header: ICMPv6 (0x3a) Hop limit: 63 Source: 2001:db8:c0a8:b::1 (2001:db8:c0a8:b::1)

Destination: 2001:db8:c0a8:a:c800:6ff:fea9:1c (2001:db8:c0a8:a:c800:6ff:fea9:1c) Internet Control Message Protocol v6 Type: 128 (Echo request) Code: 0 Checksum: 0xbce7 [correct] ID: 0x22ef Sequence: 0x0004 Data (52 bytes) 0000 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 ................ 0010 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20 21 22 23 ............ !"# 0020 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f 30 31 32 33 $%&'()*+,-./0123 0030 34 35 36 37 4567

MTU Opt io n

Frame 56 (118 bytes on wire, 118 bytes captured) Ethernet II, Src: ca:02:06:a9:00:54 (ca:02:06:a9:00:54), Dst: IPv6mcast_00:00:00:01 (33:33:00:00:00:01) Destination: IPv6mcast_00:00:00:01 (33:33:00:00:00:01) Source: ca:02:06:a9:00:54 (ca:02:06:a9:00:54) Type: IPv6 (0x86dd) Internet Protocol Version 6 0110 .... = Version: 6 .... 1110 0000 .... .... .... .... .... = Traffic class: 0x000000e0 .... .... .... 0000 0000 0000 0000 0000 = Flowlabel: 0x00000000 Payload length: 64 Next header: ICMPv6 (0x3a) Hop limit: 255 Source: fe80::c802:6ff:fea9:54 (fe80::c802:6ff:fea9:54) Destination: ff02::1 (ff02::1) Internet Control Message Protocol v6 Type: 134 (Router advertisement) Code: 0 Checksum: 0x9040 [correct] Cur hop limit: 64 Flags: 0x00 Router lifetime: 1800 Reachable time: 0 Retrans timer: 0 ICMPv6 Option (Source link-layer address) Type: Source link-layer address (1) Length: 8

Page 49: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 47

Link-layer address: ca:02:06:a9:00:54 ICMPv6 Option (MTU) Type: MTU (5) Length: 8 MTU: 1500 ICMPv6 Option (Prefix information) Type: Prefix information (3) Length: 32 Prefix length: 64 Flags: 0xc0 Valid lifetime: 2592000 Preferred lifetime: 604800 Prefix: 2001:db8:c0a8:3::

Rout e Informat io n Opt io n

Le RFC 4191 « Router Preferences and More-Specific Routes » définit 3 types d’hôtes selon leurs capacités à emmagasiner des informations de routage. Voir 3.1. Conceptual Data Structures for Hosts.

Les hôtes de Type A sont les hôtes tels qu’ils sont suggérés dans les modèles conceptuels de Neighbor Discovery RFC 2461 chapitre 5 « CONCEPTUAL MODEL OF A HOST ». Ils ne tiennent pas compte du champs Router Preference ni des routes plus spécifiques introduitent dans le RFC 4191.

Les hôtes de Type B tiennent compte du champs Router Preference mais ignore les routes plus spécifiques.

Les hôtes de Type C utilisent une table de routage à la place d’une liste de routeurs par défaut. Chaque entrée dans la table de routage a les valeurs suivantes : un prefix, une longueur de prefix, une valeur de préférence, un temps de vie et un saut suivant (next hop).

L’option d’information de route est envoyé comme une option dans un Router Advertisement pour spécifier des routes individuelles afin que les hosts puissent mettre à jour leurs tables de routage. Cette option est définie dans le RFC4191.

Le Router Advertisement a été modifié pour transporter une Preference (Prf ou Default Router Preference). 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

| Type | Code | Checksum | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Cur Hop Limit |M|O|H|Prf|Resvd| Router Lifetime | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Reachable Time | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Retrans Timer | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Options ... +-+-+-+-+-+-+-+-+-+-+-+-

Une option possible est l’option « Route Information »

Page 50: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 48

0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | Length | Prefix Length |Resvd|Prf|Resvd| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Route Lifetime | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Prefix (Variable Length) | . . . . +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Type : 24

Length : entier non signé sur 8 bits. Longueur de l’option en unité de 8 octets.

Prefix Length : entier non signé sur 8 bits. Longueur du prefix de 0 à 128.

Reserved1

Preference : entier signé sur 2 bits. Si la valeur réservé 10 est employé il doit être ignoré.

Reserved2

Route Lifetime : entier non signé sur 32 bits. Tout les bits à 1 représente l’infini.

Prefix : Longueur variable. Le prefix annonçé.

Dans les RA, il est également possible d’annoncer des serveur Récursif DNS (RFC 5006):

Recurs ive DNS Server Opt io n 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | Length | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Lifetime | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | : Addresses of IPv6 Recursive DNS Servers : | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Type 25

Length

Reserved

Lifetime devrait être pris tel que MaxRtrAdvInterval <= Lifetime <= 2* MaxRtrAdvInterval

Adresses des serveur recursifs IPv6 DNS

ADRESSE AUTOCONFIGURATION

State les s Address Autoconfiguration

Page 51: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 49

Un hote qui demarre sur le reseau sans adresse IPv6 emets un Router Solicitation.Tous les routeurs qui recoivent cette requete répondent avec un Router Advertisement. Ce RA contient au moins un préfix que l’hôte peut utiliser pour bâtir une adresse IPv6 en accolant la partie hôte augmentée de la séquence FFFE pour obtenir une adresse sur 128 bits. L’hôte teste alors l’adresse avec la procédure Duplicate Address Détection et si l’adresse est unique, il se l’assigne. Ce mécanisme est appelé Stateless Address Autoconfiguration :

Exemple d’interface exécutant le Stateless Address Autoconfiguration :

‘Debug ipv6 nd’

*Sep 23 04:06:46.348: %LINK-3-UPDOWN: Interface FastEthernet2/0, changed state to up *Sep 23 04:06:47.352: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet2/0, changed state to up *Sep 23 04:06:47.368: ICMPv6-ND: L2 came up on FastEthernet2/0 *Sep 23 04:06:47.368: IPv6-Addrmgr-ND: DAD request for FE80::C801:6FF:FEA9:38 on FastEthernet2/0 *Sep 23 04:06:47.376: ICMPv6-ND: Sending NS for FE80::C801:6FF:FEA9:38 on FastEthernet2/0 *Sep 23 04:06:47.388: ICMPv6-ND: ND output feature SEND executed on 7 - rc=0 *Sep 23 04:06:47.632: ICMPv6-ND: Sending RS on FastEthernet2/0 *Sep 23 04:06:47.636: ICMPv6-ND: ND output feature SEND executed on 7 - rc=0 *Sep 23 04:06:47.776: ICMPv6-ND: ND input feature SEND executed on 7 - rc=0 *Sep 23 04:06:47.780: ICMPv6-ND: Received RA from FE80::C802:6FF:FEA9:38 on FastEthernet2/0 *Sep 23 04:06:47.788: ICMPv6-ND: Autoconfiguring F:2::C801:6FF:FEA9:38 on FastEthernet2/0 *Sep 23 04:06:48.376: IPv6-Addrmgr-ND: DAD: FE80::C801:6FF:FEA9:38 is unique. *Sep 23 04:06:48.380: ICMPv6-ND: Sending NA for FE80::C801:6FF:FEA9:38 on FastEthernet2/0 *Sep 23 04:06:48.384: ICMPv6-ND: L3 came up on FastEthernet2/0 *Sep 23 04:06:48.428: IPv6-Addrmgr-ND: DAD request for F:2::C801:6FF:FEA9:38 on FastEthernet2/0 *Sep 23 04:06:48.432: ICMPv6-ND: Sending NS for F:2::C801:6FF:FEA9:38 on FastEthernet2/0 *Sep 23 04:06:48.436: ICMPv6-ND: Linklocal FE80::C801:6FF:FEA9:38 on FastEthernet2/0, Up *Sep 23 04:06:48.440: ICMPv6-ND: Created RA context for FE80::C801:6FF:FEA9:38 *Sep 23 04:06:48.444: ICMPv6-ND: Request to send RA for FE80::C801:6FF:FEA9:38 *Sep 23 04:06:48.444: ICMPv6-ND: Sending RA from FE80::C801:6FF:FEA9:38 to FF02::1 on FastEthernet2/0 *Sep 23 04:06:48.452: ICMPv6-ND: MTU = 1500 *Sep 23 04:06:48.456: ICMPv6-ND: ND output feature SEND executed on 7 - rc=0 *Sep 23 04:06:48.456: ICMPv6-ND: ND output feature SEND executed on 7 - rc=0 *Sep 23 04:06:48.460: ICMPv6-ND: ND output feature SEND executed on 7 - rc=0 *Sep 23 04:06:49.436: IPv6-Addrmgr-ND: DAD: F:2::C801:6FF:FEA9:38 is unique. *Sep 23 04:06:49.440: ICMPv6-ND: Sending NA for F:2::C801:6FF:FEA9:38 on FastEthernet2/0 *Sep 23 04:06:49.444: ICMPv6-ND: ND output feature SEND executed on 7 - rc=0 *Sep 23 04:06:59.808: ICMPv6-ND: ND input feature SEND executed on 5 - rc=0 *Sep 23 04:06:59.808: ICMPv6-ND: Received RA from FE80::C800:6FF:FEA9:1C on FastEthernet1/0 *Sep 23 04:07:04.532: ICMPv6-ND: Request to send RA for FE80::C801:6FF:FEA9:38 *Sep 23 04:07:04.536: ICMPv6-ND: Sending RA from FE80::C801:6FF:FEA9:38 to FF02::1 on FastEthernet2/0 *Sep 23 04:07:04.544: ICMPv6-ND: MTU = 1500 *Sep 23 04:07:04.548: ICMPv6-ND: ND output feature SEND executed on 7 - rc=0 r2(config-if)#do show ipv6 interface f2/0 FastEthernet2/0 is up, line protocol is up IPv6 is enabled, link-local address is FE80::C801:6FF:FEA9:38 No Virtual link-local address(es): Stateless address autoconfig enabled Global unicast address(es): F:2::C801:6FF:FEA9:38, subnet is F:2::/64 [EUI/CAL/PRE] valid lifetime 2591913 preferred lifetime 604713 Joined group address(es): FF02::1 FF02::2 FF02::D

Page 52: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 50

FF02::16 FF02::1:FFA9:38 MTU is 1500 bytes ICMP error messages limited to one every 100 milliseconds ICMP redirects are enabled ICMP unreachables are sent Output features: MFIB Adjacency ND DAD is enabled, number of DAD attempts: 1 ND reachable time is 30000 milliseconds (using 30000) ND advertised reachable time is 0 (unspecified) ND advertised retransmit interval is 0 (unspecified) ND router advertisements are sent every 200 seconds ND router advertisements live for 1800 seconds ND advertised default router preference is Medium Hosts use stateless autoconfig for addresses.

Statefull Address Autoconfiguration. Une autre façon de procéder si un service DHCPv6 est disponible sur le réseau. Les Router Advertisements positionnent un bit pour annoncer que DHCPv6 est disponible et qu’il peut être employé à cet effet. Dans ce cas les hôtes émettent une requête DHCPv6 pour obtenir une adresse IPv6 ainsi que d’autres paramètres tels que l’adresse du serveur DNS du routeur par défaut, etc…

Échange capture Internet Protocol Version 6 0110 .... = Version: 6 [0110 .... = This field makes the filter "ip.version == 6" possible: 6] .... 1110 0000 .... .... .... .... .... = Traffic class: 0x000000e0 .... .... .... 0000 0000 0000 0000 0000 = Flowlabel: 0x00000000 Payload length: 56 Next header: UDP (0x11) Hop limit: 255 Source: fe80::38b1:e73c:c0f0:4442 (fe80::38b1:e73c:c0f0:4442) Destination: ff02::1:2 (ff02::1:2) User Datagram Protocol, Src Port: dhcpv6-client (546), Dst Port: dhcpv6-server (547) Source port: dhcpv6-client (546) Destination port: dhcpv6-server (547) Length: 56 Checksum: 0x86f0 [validation disabled] DHCPv6 Message type: Solicit (1) Transaction-ID: 0x00b33306 Elapsed time option type: 8 option length: 2 elapsed-time: 0 ms Client Identifier option type: 1 option length: 10 DUID type: link-layer address (3) Hardware type: Ethernet (1) Link-layer address: ba:02:42:76:00:08 Option Request option type: 6 option length: 4 Requested Option code: DNS recursive name server (23) Requested Option code: Domain Search List (24) Identity Association for Non-temporary Address option type: 3 option length: 12 IAID: 262145

Page 53: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 51

T1: 0 T2: 0 Internet Protocol Version 6 0110 .... = Version: 6 [0110 .... = This field makes the filter "ip.version == 6" possible: 6] .... 1110 0000 .... .... .... .... .... = Traffic class: 0x000000e0 .... .... .... 0000 0000 0000 0000 0000 = Flowlabel: 0x00000000 Payload length: 102 Next header: UDP (0x11) Hop limit: 255 Source: fe80::2027:9779:3775:5cf8 (fe80::2027:9779:3775:5cf8) Destination: fe80::38b1:e73c:c0f0:4442 (fe80::38b1:e73c:c0f0:4442) User Datagram Protocol, Src Port: dhcpv6-server (547), Dst Port: dhcpv6-client (546) Source port: dhcpv6-server (547) Destination port: dhcpv6-client (546) Length: 102 Checksum: 0x6db3 [validation disabled] DHCPv6 Message type: Advertise (2) Transaction-ID: 0x00b44306 Server Identifier option type: 2 option length: 10 DUID type: link-layer address (3) Hardware type: Ethernet (1) Link-layer address: ca:03:42:76:00:08 Client Identifier option type: 1 option length: 10 DUID type: link-layer address (3) Hardware type: Ethernet (1) Link-layer address: ca:02:42:76:00:08 Identity Association for Non-temporary Address option type: 3 option length: 40 IAID: 262145 T1: 43200 T2: 69120 IA Address option type: 5 option length: 24 IPv6 address: bad:1:2:2d98:8e14:c0b1:6ef5:8548 Preferred lifetime: 86400 Valid lifetime: 172800 Domain Search List option type: 24 option length: 14 DNS Domain Search List Domain: fredbovy.com R4>show ipv6 dhcp This device's DHCPv6 unique identifier(DUID): 00030001CA0342760008 R4>show ipv6 dhcp int FastEthernet0/0 is in server mode Using pool: fred Preference value: 0 Hint from client: ignored Rapid-Commit: disabled R4#show ipv6 dhcp pool DHCPv6 pool: fred Static bindings: Binding for client BADCAF0E IA PD: IA ID

not specified Prefix: DEAD:BEEF::/48 preferred lifetime 604800, valid lifetime 2592000 Address allocation prefix: DEAD:BEEF:1:2:3::/64 valid 172800 preferred 86400 (1 in use, 0 conflicts) Domain name: fredbovy.com Active clients: 1

Page 54: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 52

R4#show ipv6 dhcp bind! Client: FE80::38B1:E73C:C0F0:4442! DUID: 00030001CA0242760008! Username : unassigned! IA NA: IA ID 0x00040001, T1 43200, T2 69120! Address:

DEAD:BEEF:1:2:6090:18A5:E017:DE5C! preferred lifetime 86400, valid lifetime 172800 expires at Aug 11 2010 03:23 PM (172554 seconds) hote#show ipv6 dhcp interface FastEthernet0/0 is in client mode Prefix State is IDLE Address State is OPEN Renew for address will be sent in 11:39:08 List of known servers: Reachable via address: FE80::2027:9779:3775:5CF8 DUID: 00030001CA0342760008 Preference: 0 Configuration parameters: IA NA: IA ID 0x00040001, T1 43200, T2 69120 Address: BAD:1:2:FC64:8ECC:593A:15C3:654/128 preferred lifetime 86400, valid lifetime 172800 expires at Aug 11 2010 02:36 PM (171549 seconds) Domain name: fredbovy.com Information refresh time: 0 Prefix Rapid-Commit: disabled Address Rapid-Commit: disabled Configuration: interface FastEthernet0/0! ipv6 address dhcp

DHCPv6 Statel ess Autoconfiguration Dans ce mode hybride, les adresses sont obtenus grâce au stateless address autoconfiguration mais DHCPv6 est employé pour obtenir des configurations telles que l’adresse du serveur DNS. Notez toutefois qu’il est possible de se passer totalement de DHCPv6 y compris pour les serveurs DNS qui peuvent être annonces par les routeurs dans les Router Advertisements.

DHCP Prefix Delegation (RFC 3769) DHCPv6 permet également d’allouer non pas une adresse mais un bloc d’adresses.

Une fois alloué et reçu, l’administrateur du réseau peut utiliser ce bloc pour configurer plusieurs interfaces.

DNS DNS a dû être mis à jour pour pouvoir véhiculer des adresses IPv6 avec un nouvel enregistrement le AAAA ou quad6.

De plus, il a été également nécessaire de permettre de communiquer entre les nœuds DNS sur IPv6. Ci-dessous un exemple de requête DNS envoyée par un MAC.

Capture d’une requête DNS Frame 107 (110 bytes on wire, 110 bytes captured)

Page 55: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 53

Ethernet II, Src: AppleCom_ed:76:14 (00:14:51:ed:76:14), Dst: IPv6mcast_00:00:00:fb (33:33:00:00:00:fb) Internet Protocol Version 6 0110 .... = Version: 6 .... 0000 0000 .... .... .... .... .... = Traffic class: 0x00000000 .... .... .... 0000 0000 0000 0000 0000 = Flowlabel: 0x00000000 Payload length: 56 Next header: UDP (0x11) Hop limit: 255 Source: fe80::214:51ff:feed:7614 (fe80::214:51ff:feed:7614) Destination: ff02::fb (ff02::fb) User Datagram Protocol, Src Port: mdns (5353), Dst Port: mdns (5353) Source port: mdns (5353) Destination port: mdns (5353) Length: 56 Checksum: 0x8497 [validation disabled] Domain Name System (query) Transaction ID: 0x0000 Flags: 0x0000 (Standard query) Questions: 2 Answer RRs: 0 Authority RRs: 0 Additional RRs: 0 Queries macbookpro-de-fred.local: type AAAA, class IN, "QM" question Name: macbookpro-de-fred.local Type: AAAA (IPv6 address) .000 0000 0000 0001 = Class: IN (0x0001) 0... .... .... .... = "QU" question: False macbookpro-de-fred.local: type A, class IN, "QM" question Name: macbookpro-de-fred.local Type: A (Host address) .000 0000 0000 0001 = Class: IN (0x0001) 0... .... .... .... = "QU" question: False

Capture d’un MAC sur un accès à une Freebox : No. Time Source Src Port Destination Dst Port Protocol Info Cumulative bytes Relative time 105 32.872897 fe80::214:51ff:feed:7614 mdns ff02::fb mdns MDNS Standard query response A, cache flush 192.168.0.20 AAAA, cache flush fe80::214:51ff:feed:7614 AAAA, cache flush 2a01:e35:2f26:d340:214:51ff:feed:7614 170 32.872897 Frame 105 (170 bytes on wire, 170 bytes captured) Ethernet II, Src: AppleCom_ed:76:14 (00:14:51:ed:76:14), Dst: IPv6mcast_00:00:00:fb (33:33:00:00:00:fb) Internet Protocol Version 6 0110 .... = Version: 6 .... 0000 0000 .... .... .... .... .... = Traffic class: 0x00000000 .... .... .... 0000 0000 0000 0000 0000 = Flowlabel: 0x00000000 Payload length: 116 Next header: UDP (0x11) Hop limit: 255 Source: fe80::214:51ff:feed:7614 (fe80::214:51ff:feed:7614) Destination: ff02::fb (ff02::fb) User Datagram Protocol, Src Port: mdns (5353), Dst Port: mdns (5353) Source port: mdns (5353) Destination port: mdns (5353) Length: 116 Checksum: 0x72a0 [validation disabled] Domain Name System (response) [Request In: 1749]

Page 56: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 54

[Time: -555.321708000 seconds] Transaction ID: 0x0000 Flags: 0x8400 (Standard query response, No error) Questions: 0 Answer RRs: 3 Authority RRs: 0 Additional RRs: 0 Answers Frame 107 (110 bytes on wire, 110 bytes captured) Ethernet II, Src: AppleCom_ed:76:14 (00:14:51:ed:76:14), Dst: IPv6mcast_00:00:00:fb (33:33:00:00:00:fb) Internet Protocol Version 6 0110 .... = Version: 6 .... 0000 0000 .... .... .... .... .... = Traffic class: 0x00000000 .... .... .... 0000 0000 0000 0000 0000 = Flowlabel: 0x00000000 Payload length: 56 Next header: UDP (0x11) Hop limit: 255 Source: fe80::214:51ff:feed:7614 (fe80::214:51ff:feed:7614) Destination: ff02::fb (ff02::fb) User Datagram Protocol, Src Port: mdns (5353), Dst Port: mdns (5353) Source port: mdns (5353) Destination port: mdns (5353) Length: 56 Checksum: 0x8497 [validation disabled] Domain Name System (query) Transaction ID: 0x0000 Flags: 0x0000 (Standard query) Questions: 2 Answer RRs: 0 Authority RRs: 0 Additional RRs: 0 Queries macbookpro-de-fred.local: type AAAA, class IN, "QM" question Name: macbookpro-de-fred.local Type: AAAA (IPv6 address) .000 0000 0000 0001 = Class: IN (0x0001) 0... .... .... .... = "QU" question: False macbookpro-de-fred.local: type A, class IN, "QM" question Name: macbookpro-de-fred.local Type: A (Host address) .000 0000 0000 0001 = Class: IN (0x0001) 0... .... .... .... = "QU" question: False No. Time Source Src Port Destination Dst Port Protocol Info Cumulative bytes Relative time 111 33.792031 fe80::207:cbff:fe3e:b6b3 ff02::1:ffed:7614 ICMPv6 Neighbor solicitation 366 33.792031 Frame 111 (86 bytes on wire, 86 bytes captured) Ethernet II, Src: 192.168.0.254 (00:07:cb:3e:b6:b3), Dst: IPv6mcast_ff:ed:76:14 (33:33:ff:ed:76:14) Internet Protocol Version 6 0110 .... = Version: 6 .... 0000 0000 .... .... .... .... .... = Traffic class: 0x00000000 .... .... .... 0000 0000 0000 0000 0000 = Flowlabel: 0x00000000 Payload length: 32 Next header: ICMPv6 (0x3a) Hop limit: 255 Source: fe80::207:cbff:fe3e:b6b3 (fe80::207:cbff:fe3e:b6b3) Destination: ff02::1:ffed:7614 (ff02::1:ffed:7614) Internet Control Message Protocol v6

Page 57: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 55

No. Time Source Src Port Destination Dst Port Protocol Info Cumulative bytes Relative time 141 102.809606 fe80::214:51ff:feed:7614 mdns ff02::fb mdns MDNS Standard query response PTR, cache flush MacBookPro-de-Fred.local 550 102.809606 Frame 141 (184 bytes on wire, 184 bytes captured) Ethernet II, Src: AppleCom_ed:76:14 (00:14:51:ed:76:14), Dst: IPv6mcast_00:00:00:fb (33:33:00:00:00:fb) Internet Protocol Version 6 0110 .... = Version: 6 .... 0000 0000 .... .... .... .... .... = Traffic class: 0x00000000 .... .... .... 0000 0000 0000 0000 0000 = Flowlabel: 0x00000000 Payload length: 130 Next header: UDP (0x11) Hop limit: 255 Source: fe80::214:51ff:feed:7614 (fe80::214:51ff:feed:7614) Destination: ff02::fb (ff02::fb) User Datagram Protocol, Src Port: mdns (5353), Dst Port: mdns (5353) Source port: mdns (5353) Destination port: mdns (5353) Length: 130 Checksum: 0x0d8d [validation disabled] Domain Name System (response) [Request In: 1749] [Time: -485.384999000 seconds] Transaction ID: 0x0000 Flags: 0x8400 (Standard query response, No error) Questions: 0 Answer RRs: 1 Authority RRs: 0 Additional RRs: 0 Answers No. Time Source Src Port Destination Dst Port Protocol Info Cumulative bytes Relative time 143 102.811731 fe80::214:51ff:feed:7614 mdns ff02::fb mdns MDNS Standard query PTR 4.1.6.7.d.e.e.f.f.f.1.5.4.1.2.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.e.f.ip6.arpa, "QM" question 702 102.811731 Frame 143 (152 bytes on wire, 152 bytes captured) Ethernet II, Src: AppleCom_ed:76:14 (00:14:51:ed:76:14), Dst: IPv6mcast_00:00:00:fb (33:33:00:00:00:fb) Internet Protocol Version 6 0110 .... = Version: 6 .... 0000 0000 .... .... .... .... .... = Traffic class: 0x00000000 .... .... .... 0000 0000 0000 0000 0000 = Flowlabel: 0x00000000 Payload length: 98 Next header: UDP (0x11) Hop limit: 255 Source: fe80::214:51ff:feed:7614 (fe80::214:51ff:feed:7614) Destination: ff02::fb (ff02::fb) User Datagram Protocol, Src Port: mdns (5353), Dst Port: mdns (5353) Source port: mdns (5353) Destination port: mdns (5353) Length: 98 Checksum: 0x9a72 [validation disabled] Domain Name System (query) Transaction ID: 0x0000 Flags: 0x0000 (Standard query) Questions: 1 Answer RRs: 0 Authority RRs: 0 Additional RRs: 0

Page 58: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 56

Queries 4.1.6.7.d.e.e.f.f.f.1.5.4.1.2.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.e.f.ip6.arpa: type PTR, class IN, "QM" question Name: 4.1.6.7.d.e.e.f.f.f.1.5.4.1.2.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.e.f.ip6.arpa Type: PTR (Domain name pointer) .000 0000 0000 0001 = Class: IN (0x0001) 0... .... .... .... = "QU" question: False No. Time Source Src Port Destination Dst Port Protocol Info Cumulative bytes Relative time 175 152.987038 fe80::214:51ff:feed:7614 mdns ff02::fb mdns MDNS Standard query response A, cache flush 192.168.0.20 AAAA, cache flush fe80::214:51ff:feed:7614 AAAA, cache flush 2a01:e35:2f26:d340:214:51ff:feed:7614 872 152.987038 Frame 175 (170 bytes on wire, 170 bytes captured) Ethernet II, Src: AppleCom_ed:76:14 (00:14:51:ed:76:14), Dst: IPv6mcast_00:00:00:fb (33:33:00:00:00:fb) Internet Protocol Version 6 0110 .... = Version: 6 .... 0000 0000 .... .... .... .... .... = Traffic class: 0x00000000 .... .... .... 0000 0000 0000 0000 0000 = Flowlabel: 0x00000000 Payload length: 116 Next header: UDP (0x11) Hop limit: 255 Source: fe80::214:51ff:feed:7614 (fe80::214:51ff:feed:7614) Destination: ff02::fb (ff02::fb) User Datagram Protocol, Src Port: mdns (5353), Dst Port: mdns (5353) Source port: mdns (5353) Destination port: mdns (5353) Length: 116 Checksum: 0x72a0 [validation disabled] Domain Name System (response) [Request In: 1749] [Time: -435.207567000 seconds] Transaction ID: 0x0000 Flags: 0x8400 (Standard query response, No error) Questions: 0 Answer RRs: 3 Authority RRs: 0 Additional RRs: 0 Answers No. Time Source Src Port Destination Dst Port Protocol Info Cumulative bytes Relative time 177 152.988915 fe80::214:51ff:feed:7614 mdns ff02::fb mdns MDNS Standard query A macbookpro-de-fred.local, "QM" question AAAA macbookpro-de-fred.local, "QM" question 982 152.988915 Frame 177 (110 bytes on wire, 110 bytes captured) Ethernet II, Src: AppleCom_ed:76:14 (00:14:51:ed:76:14), Dst: IPv6mcast_00:00:00:fb (33:33:00:00:00:fb) Internet Protocol Version 6 0110 .... = Version: 6 .... 0000 0000 .... .... .... .... .... = Traffic class: 0x00000000 .... .... .... 0000 0000 0000 0000 0000 = Flowlabel: 0x00000000 Payload length: 56 Next header: UDP (0x11) Hop limit: 255 Source: fe80::214:51ff:feed:7614 (fe80::214:51ff:feed:7614) Destination: ff02::fb (ff02::fb) User Datagram Protocol, Src Port: mdns (5353), Dst Port: mdns (5353) Source port: mdns (5353) Destination port: mdns (5353)

Page 59: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 57

Length: 56 Checksum: 0x8497 [validation disabled] Domain Name System (query) Transaction ID: 0x0000 Flags: 0x0000 (Standard query) Questions: 2 Answer RRs: 0 Authority RRs: 0 Additional RRs: 0 Queries macbookpro-de-fred.local: type A, class IN, "QM" question Name: macbookpro-de-fred.local Type: A (Host address) .000 0000 0000 0001 = Class: IN (0x0001) 0... .... .... .... = "QU" question: False macbookpro-de-fred.local: type AAAA, class IN, "QM" question Name: macbookpro-de-fred.local Type: AAAA (IPv6 address) .000 0000 0000 0001 = Class: IN (0x0001) 0... .... .... .... = "QU" question: False No. Time Source Src Port Destination Dst Port Protocol Info Cumulative bytes Relative time 970 205.519365 fe80::207:cbff:fe3e:b6b3 ff02::1:ff4d:10d5 ICMPv6 Neighbor solicitation 1072 205.519365 Frame 970 (90 bytes on wire, 90 bytes captured) Ethernet II, Src: 192.168.0.254 (00:07:cb:3e:b6:b3), Dst: IPv6mcast_ff:4d:10:d5 (33:33:ff:4d:10:d5) 802.1Q Virtual LAN, PRI: 0, CFI: 0, ID: 100 Internet Protocol Version 6 0110 .... = Version: 6 .... 0000 0000 .... .... .... .... .... = Traffic class: 0x00000000 .... .... .... 0000 0000 0000 0000 0000 = Flowlabel: 0x00000000 Payload length: 32 Next header: ICMPv6 (0x3a) Hop limit: 255 Source: fe80::207:cbff:fe3e:b6b3 (fe80::207:cbff:fe3e:b6b3) Destination: ff02::1:ff4d:10d5 (ff02::1:ff4d:10d5) Internet Control Message Protocol v6 No. Time Source Src Port Destination Dst Port Protocol Info Cumulative bytes Relative time 990 223.028978 fe80::214:51ff:feed:7614 mdns ff02::fb mdns MDNS Standard query response PTR, cache flush MacBookPro-de-Fred.local 1256 223.028978 Frame 990 (184 bytes on wire, 184 bytes captured) Ethernet II, Src: AppleCom_ed:76:14 (00:14:51:ed:76:14), Dst: IPv6mcast_00:00:00:fb (33:33:00:00:00:fb) Internet Protocol Version 6 0110 .... = Version: 6 .... 0000 0000 .... .... .... .... .... = Traffic class: 0x00000000 .... .... .... 0000 0000 0000 0000 0000 = Flowlabel: 0x00000000 Payload length: 130 Next header: UDP (0x11) Hop limit: 255 Source: fe80::214:51ff:feed:7614 (fe80::214:51ff:feed:7614) Destination: ff02::fb (ff02::fb) User Datagram Protocol, Src Port: mdns (5353), Dst Port: mdns (5353) Source port: mdns (5353) Destination port: mdns (5353) Length: 130 Checksum: 0x0d8d [validation disabled]

Page 60: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 58

Domain Name System (response) [Request In: 1749] [Time: -365.165627000 seconds] Transaction ID: 0x0000 Flags: 0x8400 (Standard query response, No error) Questions: 0 Answer RRs: 1 Authority RRs: 0 Additional RRs: 0 Answers No. Time Source Src Port Destination Dst Port Protocol Info Cumulative bytes Relative time 992 223.030329 fe80::214:51ff:feed:7614 mdns ff02::fb mdns MDNS Standard query PTR 4.1.6.7.d.e.e.f.f.f.1.5.4.1.2.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.e.f.ip6.arpa, "QM" question 1408 223.030329 Frame 992 (152 bytes on wire, 152 bytes captured) Ethernet II, Src: AppleCom_ed:76:14 (00:14:51:ed:76:14), Dst: IPv6mcast_00:00:00:fb (33:33:00:00:00:fb) Internet Protocol Version 6 0110 .... = Version: 6 .... 0000 0000 .... .... .... .... .... = Traffic class: 0x00000000 .... .... .... 0000 0000 0000 0000 0000 = Flowlabel: 0x00000000 Payload length: 98 Next header: UDP (0x11) Hop limit: 255 Source: fe80::214:51ff:feed:7614 (fe80::214:51ff:feed:7614) Destination: ff02::fb (ff02::fb) User Datagram Protocol, Src Port: mdns (5353), Dst Port: mdns (5353) Source port: mdns (5353) Destination port: mdns (5353) Length: 98 Checksum: 0x9a72 [validation disabled] Domain Name System (query) Transaction ID: 0x0000 Flags: 0x0000 (Standard query) Questions: 1 Answer RRs: 0 Authority RRs: 0 Additional RRs: 0 Queries 4.1.6.7.d.e.e.f.f.f.1.5.4.1.2.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.e.f.ip6.arpa: type PTR, class IN, "QM" question Name: 4.1.6.7.d.e.e.f.f.f.1.5.4.1.2.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.e.f.ip6.arpa Type: PTR (Domain name pointer) .000 0000 0000 0001 = Class: IN (0x0001) 0... .... .... .... = "QU" question: False No. Time Source Src Port Destination Dst Port Protocol Info Cumulative bytes Relative time 1104 277.813455 fe80::214:51ff:feed:7614 mdns ff02::fb mdns MDNS Standard query response A, cache flush 192.168.0.20 AAAA, cache flush fe80::214:51ff:feed:7614 AAAA, cache flush 2a01:e35:2f26:d340:214:51ff:feed:7614 1578 277.813455 Frame 1104 (170 bytes on wire, 170 bytes captured) Ethernet II, Src: AppleCom_ed:76:14 (00:14:51:ed:76:14), Dst: IPv6mcast_00:00:00:fb (33:33:00:00:00:fb) Internet Protocol Version 6 0110 .... = Version: 6 .... 0000 0000 .... .... .... .... .... = Traffic class: 0x00000000 .... .... .... 0000 0000 0000 0000 0000 = Flowlabel: 0x00000000

Page 61: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 59

Payload length: 116 Next header: UDP (0x11) Hop limit: 255 Source: fe80::214:51ff:feed:7614 (fe80::214:51ff:feed:7614) Destination: ff02::fb (ff02::fb) User Datagram Protocol, Src Port: mdns (5353), Dst Port: mdns (5353) Source port: mdns (5353) Destination port: mdns (5353) Length: 116 Checksum: 0x72a0 [validation disabled] Domain Name System (response) [Request In: 1749] [Time: -310.381150000 seconds] Transaction ID: 0x0000 Flags: 0x8400 (Standard query response, No error) Questions: 0 Answer RRs: 3 Authority RRs: 0 Additional RRs: 0 Answers No. Time Source Src Port Destination Dst Port Protocol Info Cumulative bytes Relative time 1106 277.815122 fe80::214:51ff:feed:7614 mdns ff02::fb mdns MDNS Standard query A macbookpro-de-fred.local, "QM" question AAAA macbookpro-de-fred.local, "QM" question 1688 277.815122 Frame 1106 (110 bytes on wire, 110 bytes captured) Ethernet II, Src: AppleCom_ed:76:14 (00:14:51:ed:76:14), Dst: IPv6mcast_00:00:00:fb (33:33:00:00:00:fb) Internet Protocol Version 6 0110 .... = Version: 6 .... 0000 0000 .... .... .... .... .... = Traffic class: 0x00000000 .... .... .... 0000 0000 0000 0000 0000 = Flowlabel: 0x00000000 Payload length: 56 Next header: UDP (0x11) Hop limit: 255 Source: fe80::214:51ff:feed:7614 (fe80::214:51ff:feed:7614) Destination: ff02::fb (ff02::fb) User Datagram Protocol, Src Port: mdns (5353), Dst Port: mdns (5353) Source port: mdns (5353) Destination port: mdns (5353) Length: 56 Checksum: 0x8497 [validation disabled] Domain Name System (query) Transaction ID: 0x0000 Flags: 0x0000 (Standard query) Questions: 2 Answer RRs: 0 Authority RRs: 0 Additional RRs: 0 Queries macbookpro-de-fred.local: type A, class IN, "QM" question Name: macbookpro-de-fred.local Type: A (Host address) .000 0000 0000 0001 = Class: IN (0x0001) 0... .... .... .... = "QU" question: False macbookpro-de-fred.local: type AAAA, class IN, "QM" question Name: macbookpro-de-fred.local Type: AAAA (IPv6 address) .000 0000 0000 0001 = Class: IN (0x0001) 0... .... .... .... = "QU" question: False Frame 1433 (158 bytes on wire, 158 bytes captured)

Page 62: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 60

Ethernet II, Src: 192.168.0.254 (00:07:cb:3e:b6:b3), Dst: IPv6mcast_00:00:00:01 (33:33:00:00:00:01) Internet Protocol Version 6 0110 .... = Version: 6 .... 0000 0000 .... .... .... .... .... = Traffic class: 0x00000000 .... .... .... 0000 0000 0000 0000 0000 = Flowlabel: 0x00000000 Payload length: 104 Next header: ICMPv6 (0x3a) Hop limit: 255 Source: fe80::207:cbff:fe3e:b6b3 (fe80::207:cbff:fe3e:b6b3) Destination: ff02::1 (ff02::1) Internet Control Message Protocol v6 No. Time Source Src Port Destination Dst Port Protocol Info Cumulative bytes Relative time 1441 347.855351 fe80::214:51ff:feed:7614 mdns ff02::fb mdns MDNS Standard query response PTR, cache flush MacBookPro-de-Fred.local 2030 347.855351 Frame 1441 (184 bytes on wire, 184 bytes captured) Ethernet II, Src: AppleCom_ed:76:14 (00:14:51:ed:76:14), Dst: IPv6mcast_00:00:00:fb (33:33:00:00:00:fb) Internet Protocol Version 6 0110 .... = Version: 6 .... 0000 0000 .... .... .... .... .... = Traffic class: 0x00000000 .... .... .... 0000 0000 0000 0000 0000 = Flowlabel: 0x00000000 Payload length: 130 Next header: UDP (0x11) Hop limit: 255 Source: fe80::214:51ff:feed:7614 (fe80::214:51ff:feed:7614) Destination: ff02::fb (ff02::fb) User Datagram Protocol, Src Port: mdns (5353), Dst Port: mdns (5353) Source port: mdns (5353) Destination port: mdns (5353) Length: 130 Checksum: 0x0d8d [validation disabled] Domain Name System (response) [Request In: 1749] [Time: -240.339254000 seconds] Transaction ID: 0x0000 Flags: 0x8400 (Standard query response, No error) Questions: 0 Answer RRs: 1 Authority RRs: 0 Additional RRs: 0 Answers

Capture d’un RA avec divers option (DNS, MTU, etc…)

☼ On peut voir dans ces RA que l’on peut se passer de DHCP pour communiquer les adresses des serveurs DNS ou du routeur par défaut. Tout çà peut s’apprendre grâce aux RA qui peuvent être sécurisé grâce à SEND !!!

Frame 346 (158 bytes on wire, 158 bytes captured) Ethernet II, Src: 192.168.0.254 (00:07:cb:3e:b6:b3), Dst: IPv6mcast_00:00:00:01 (33:33:00:00:00:01) Internet Protocol Version 6 Internet Control Message Protocol v6 Type: 134 (Router advertisement)

Page 63: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 61

Code: 0 Checksum: 0xf74b [correct] Cur hop limit: 64 Flags: 0x00 Router lifetime: 1800 Reachable time: 0 Retrans timer: 0 ICMPv6 Option (Prefix information) Type: Prefix information (3) Length: 32 Prefix length: 64 Flags: 0xc0 Valid lifetime: 86400 Preferred lifetime: 86400 Prefix: 2a01:e35:2f26:d340:: ICMPv6 Option (Recursive DNS Server) Type: Recursive DNS Server (25) 544445 Length: 40 Reserved Lifetime: 600 Recursive DNS Servers: dns3.proxad.net (2a01:e00::2) Recursive DNS Servers: dns2.proxad.net (2a01:e00::1) ICMPv6 Option (MTU) Type: MTU (5) Length: 8 MTU: 1480 ICMPv6 Option (Source link-layer address) Type: Source link-layer address (1) Length: 8 Link-layer address: 00:07:cb:3e:b6:b3 Frame 40 (478 bytes on wire, 478 bytes captured) Ethernet II, Src: ca:01:04:94:00:08 (ca:01:04:94:00:08), Dst: IPv6mcast_00:00:00:01 (33:33:00:00:00:01) Destination: IPv6mcast_00:00:00:01 (33:33:00:00:00:01) Source: ca:01:04:94:00:08 (ca:01:04:94:00:08) Type: IPv6 (0x86dd) Internet Protocol Version 6 0110 .... = Version: 6 .... 1110 0000 .... .... .... .... .... = Traffic class: 0x000000e0 .... .... .... 0000 0000 0000 0000 0000 = Flowlabel: 0x00000000 Payload length: 424 Next header: ICMPv6 (0x3a) Hop limit: 255 Source: fe80::2038:148e:b9df:fd6d (fe80::2038:148e:b9df:fd6d) Destination: ff02::1 (ff02::1) Internet Control Message Protocol v6 Type: 134 (Router advertisement) Code: 0 Checksum: 0x90ac [correct] Cur hop limit: 64 Flags: 0x00 Router lifetime: 1800 Reachable time: 0 Retrans timer: 0 ICMPv6 Option (Source link-layer address) Type: Source link-layer address (1)

Page 64: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 62

Length: 8 Link-layer address: ca:01:04:94:00:08 ICMPv6 Option (MTU) Type: MTU (5) Length: 8 MTU: 1500 ICMPv6 Option (Prefix information) Type: Prefix information (3) Length: 32 Prefix length: 64 Flags: 0xc0 Valid lifetime: 2592000 Preferred lifetime: 604800 Prefix: 2001:: ICMPv6 Option (CGA) Type: CGA (11) Length: 192 Pad Length: 1 Reserved CGA: DD7FE101B0999C5650850024ECDD4592FE80000000000000... Padding ICMPv6 Option (Timestamp) Type: Timestamp (13) Length: 16 Reserved Timestamp(number of seconds since January 1, 1970, 00:00 UTC) Timestamp(1/64K fractions of a second) ICMPv6 Option (RSA Signature) Type: RSA Signature (12) Length: 152 Reserved Key Hash: 2B5559355296F787B9A99EB6943AD563 Digital Signature + Padding

Page 65: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 63

SECURE NEIGHBOR DISCOVERY

Presentation de SEND Neighbor Discovery permet d’automatiser un certain nombre de tâches de configurations et par la même le rend vulnérable à de nombreuses attaques. Comme les messages ND doivent avoir un Hop Limit de 255 pour être valide, on aura surtout à craindre les attaques locales quand l’accès au réseau ne peut-être verrouillé comme par exemple avec les accès wireless.

Il était donc nécessaire de sécuriser Neighbor Discovery ce qui a été accompli grâce a SEcure Neighbor Discovery ou SEND.

Pour bien comprendre SEND il est nécessaire d’être familiarisé avec l’architecture PKI et les notions de cryptographie. On se reportera avec intérêt vers les liens suivant pour se familariser avec ces notions si nécessaires :

Clefs Publiques :

http://www.commentcamarche.net/contents/crypto/clepublique.php3

Certificats :

http://www.commentcamarche.net/contents/crypto/certificat.php3

SEND (RFC3971) est composé de deux composants interdépendants : les Cryptographic Generated Address ou CGA (RFC3972) et Address Delegation Authority ou ADD.

Avec CGA, les adresses sont calculées et tout le trafic ND va ensuite être signé grâce à des clefs asymétriques. Ainsi si une station tente de voler une adresse, elle sera incapable de signer correctement les paquets ND rendant la communication impossible. Même si un hacker voulait capturer un paquet pour le rejouer, il ne sera pas capable de mettre à jour le Timestamp et de signer le nouveau paquet.

De la même façon si un routeur tente de s’insérer sur le réseau de façon à intercepter tout le trafic, il ne sera pas capable de fournir un certificat valide à l’host qui refusera alors ce routeur. Les routeurs CISCO savent jouer tous les rôles de ce protocole, du serveur de certificat au routeur en passant par l’hote. On trouve des implémentations SEND sous Linux.

Nouvelles Options et messages ND Pour atteindre le résultat voulu, il a fallu ajouter de nouvelles options a ND ainsi que deux nouveaux messages.

Ces options sont les suivantes :

Opt io n CGA L’option CGA est décrite dans le RFC3972.

Page 66: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 64

Elle contient un paramètre de sécurité (Sec de 0 à 7). C’est ce paramètre qui va programmer le niveau de robustesse contre les attaques de type brute-force. Ce paramètre a été introduit pour que le protocole puisse suivre l’évolution des CPU. En effet, aujourd’hui, configurer un Sec supérieur à 2 rend le calcul du modifier qui va générer les adresses CGA très long. Les routeurs CISCO ont implémenté un garde-fou pour abandonner quand le nombre d’itérations infructueuses dépasse les 60000.

Avec un Sec de 2, on atteint cette limite assez régulièrement. Notez que si le temps de génération du modifier est très long, une attaque brute-force aura des chances plus qu’infime de tomber sur la bonne valeur !

La CGA est associee avec un ensemble de paramètres qui consistent en une clef publique et des paramètres auxiliaires. Deux Hash sont calculés à partir de ces paramètres, hash1 (64bits) et hash2 (112 bits).

Une CGA est une adresse IPv6 qui satisfait les deux conditions suivantes :

o La première valeur, Hash1 est égale à l’identificateur d’interface.

o Les 16*Sec bits les plus significatifs de Hash2 sont zéro.

Cela revient à créer deux masques :

Mask1 (64 bits) = 0x1cffffffffffffff

Mask2 (112 bits) = 0x0000000000000000000000000000 si Sec=0,

0xffff000000000000000000000000 si Sec=1,

0xffffffff00000000000000000000 si Sec=2,

0xffffffffffff0000000000000000 si Sec=3,

0xffffffffffffffff000000000000 si Sec=4,

0xffffffffffffffffffff00000000 si Sec=5,

0xffffffffffffffffffffffff0000 si Sec=6, et

0xffffffffffffffffffffffffffff si Sec=7

Une adresse cryptographiquement générée est une adresse IPv6 qui satisfait les deux équations :

Hash1 & Mask1 == interface identif ier & Mask1

Hash2 & Mask2 == 0x0000000000000000000000000000

Chaque CGA est associée à une structure de données qui a le format suivant :

Modifier (16 octets). Contient un entier sur 128 bits utilise pendant la génération de la CGA.

Subnet Prefix (8 octets). Le 64 bit subnet prefix de la CGA.

Page 67: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 65

Collision Count. Peut être 0, 1 ou 2. Ce champs est mis a jour pendant la génération de la CGA que nous allons voir en détail plus loin. Le process DAD est appelé pour vérifier que l’adresse est unique. Si le count=2 cela veut dire que l’on est tombe 3 fois sur une adresse déjà allouée. Il s’agit probablement d’une attaque et l’on arrête les tentatives. Ceci a été teste en lab en copiant le même modifier sur 4 routeurs

Jan 7 09:40:23: %IPV6_ND-4-DUPLICATE: Duplicate address FE80::C2:3A71:71F2:CB17 on Ethernet0/0 Jan 7 09:40:23: %IPV6_ND-4-DUPLICATE: Duplicate address FE80::847:1745:E31D:F38B on Ethernet0/0 Jan 7 09:40:24: %IPV6_ND-4-DUPLICATE: Duplicate address FE80::18:F205:D13E:EC43 on Ethernet0/0 #show ipv6 interface ethernet0/0 Ethernet0/0 is up, line protocol is up IPv6 is stalled, link-local address is FE80::18:F205:D13E:EC43 [DUP] No Virtual link-local address(es): Global unicast address(es): 2000:1::CDC:14FC:266F:6C56, subnet is 2000:1::/64 [TEN] Joined group address(es): FF02::1 MTU is 1500 bytes ICMP error messages limited to one every 0 milliseconds ICMP redirects are enabled ICMP unreachables are sent ND DAD is enabled, number of DAD attempts: 1 ND reachable time is 30000 milliseconds (using 44471)

Public Key. La clef publique du possesseur de l’adresse.

Extension Field. Pour une utilisation future.

Les deux Hash doivent être calculés en utilisant en entrée tous les paramètres CGA. Les 64 bits de Hash1 sont obtenus en prenant les 64 bits les plus significatifs des 160 bits du hash SHA-1. Pour calculer Hash2, on prends les même paramètres exceptes que le subnet prefix et le collision count sont à zéro. Les 112 bits de Hash2 sont obtenus en prenant les 112 bits les plus significatifs des 160 bits du hash SHA-1.

LA GÉNÉRA TION DU CGA SE PRODUI T AINSI :

1. On donne au modifier une valeur pseudo aléatoire sur 128 bits

2. On concatène de la gauche vers la droite la valeur du modifier, le subnet prefix, le collision count, la clef publique encodée et tous les champs d’extensions optionnels. On execute le SHA-1 sur la concaténation. On prend les 112 bits les plus significatifs du résultat pour obtenir Hash2.

3. Comparer les 16*Sec bits les plus significatifs de Hash2 avec zéro. S’ils sont tous a zéro ou si Sec=0, continuer a l’étape 4. Sinon incrémenter le modifier de 1 et retourner a l’étape 2.

4. Mettre le collision count à zéro.

5. Concaténer le modifier, le subnet prefix, le collision count, la clef publique encodée et les champs d’extensions optionnels. Executer SHA-1 sur la concaténation. Les 64 bits de gauche sont Hash1.

6. Former un identificateur d’interface à partir de Hash1 en prenant le Sec pour les 3 bits les plus à gauche et mettre les bits 6 et 7 (‘u’ et ‘g’) a zéro.

Page 68: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 66

7. Concaténer les 64 bits de subnet prefix et les 64 bits de l’identificateur d’interface pour former une adresse IPv6 sur 128 bits. (RFC3513).

8. Exécuter DAD et si une collision se produit, incrémenter le champs collision count et retourner à l’étape 5. Après trois echec on est probablement victime d’une attaque ou d’une panne ! on arrête et l’on reporte une erreur.

9. Former les paramètres CGA en concaténant de gauche a droite le modifier, le subnet prefix, le collision count, la clef publique encodée et les champs d’extensions optionnels.

L’opt ion RSA

KEY HASH Un champs sur 128 bits contenant les 128 bits les plus significatifs du hash SHA-1 de la clef publique utilisée pour construire la signature. Son propos est d’associer la signature à une clef connue du receveur. Cette clef peut être stocké dans le cache de certificats du receveur dans les options CGA du même message.

DIGI TAL SIGNATURE Une signature PKCS#1 v1.5 construite en utilisant la clef privée de l’émetteur sur la séquence d’octets suivante :

1) Les 128-bit du Message Tag CGA Type [11] dont la valeur pour SEND est 0x086F CA5E 10B2 00C9 9C8C E001 6427 7C08

2) Les 128 bits de l’adresse source de l’en-tête IP

3) Les 128 bits de l’adresse destination de l’en-tête IP

4) Les 8 bits du champ Type et les 16 bits du Checksum de l’en-tête ICMP.

5) L’en-tête NDP commencant a partir de l’octet suivant ICMP jusqu’au début de NDP.

6) Toutes les options NDP précédant la signature RSA.

Timesta mp Opt io n Le but de cette option est de s’assurer qu’aucun paquet ne puisse être rejouer. Cela amene donc la contrainte de synchroniser parfaitement les horloges des routeurs du reseau. NTP est un MUST si vous envisagez SEND.

Nonc e Opt io n Cette option permet de s’assurer qu’une reponse est bien associe a la bonne sollicitation.

Ci-dessous un tables recapitulatif d’ou on trouve les options SEND

Tabl ea ux Récapit u lat i f des Opt io n s SEND

Page 69: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 67

Message

Redirect

RSA

Nonce

Timestamp

CGA

Router Solicitation (RS)

MUST ou envoyee de l’adresse non specifiee ::

MUST ou envoyee de l’adresse non specifiee ::

MUST

MUST

MUST ou envoyee de l’adresse non specifiee ::

Router Advertisement (RA)

MAY. L’option CGA pourrait etre omise dans les RA mais serait rejette par l’implementation CISCO

MUST

MUST pour les sollicited RA

MUST

MAY. L’option CGA pourrait etre omise dans les RA mais serait rejette par l’implementation CISCO

Neighbor Solicitation

(NS)

MUST

MUST

MUST

MUST

MUST

Neighbor Advertisement

(NA)

MUST

MUST

MUST pour les NA sollicites

MUST

MUST

Redirect

MAY

MUST

MUST

MAY

Cryptographically Generated Address (CGA) rends quasi impossible le vol d’adresse ou spoofing. En revanche il n’interdit pas à quelqu’un de se générer une adresse CGA valide et s’inviter dans un réseau comme routeur pour intercepter tout le trafic des utilisateurs.

C’est là que Address Delegation Discovery entre en jeu et rend quasi impossible l’installation d’un routeur pirate. Ceci complique énormément les attaques de type Man in the Middle.

Une fois que CGA est configurée, il faut donc ensuite activer ADD.

On doit configurer des points d’ancrage de confiance (Trust Anchor). Ces points d’ancrage pointent sur un serveur de certificat (CA) ou une autre méthode permettant d’aquerir un certificat. Les routeurs ont besoin d’avoir le certificat du CA et leur propre certificat. Un trust anchor est configuré comme suit sur un routeur CISCO :

crypto pki trustpoint SEND

Page 70: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 68

enrollment url http://192.168.0.1:80

serial-number

revocation-check none

ADD ou l e contrô l e de s RA

Les hôtes ont besoin d’avoir le certificat du serveur de certificats pour pouvoir le comparer avec le certificat du routeur qui s’annonce par un RA. Quand un hôte reçoit un RA, il verifie dans son cache de certificat s’il a un certificat pour ce routeur. S’il n’a pas de certificat pour ce routeur, il genere un CPS ou Certificat Path Solicitation. Le routeur doit répondre avec un CPA qui contient son certificat. L’hôte peut alors comparer le certificat du CA et celui du routeur. Si les deux certificats appartiennent au même domaine de c

onfiance, le RA est accepté et le routeur peut être utilisé par l’hôte. Dans le cas contraire le RA est rejetté et le routeur refusé.

Exempl e d’éc ha ng e RA/CP S/CPA :

Frame 40 (478 bytes on wire, 478 bytes captured) Ethernet II, Src: ca:01:04:94:00:08 (ca:01:04:94:00:08), Dst: IPv6mcast_00:00:00:01 (33:33:00:00:00:01) Destination: IPv6mcast_00:00:00:01 (33:33:00:00:00:01) Source: ca:01:04:94:00:08 (ca:01:04:94:00:08) Type: IPv6 (0x86dd) Internet Protocol Version 6 0110 .... = Version: 6 .... 1110 0000 .... .... .... .... .... = Traffic class: 0x000000e0 .... .... .... 0000 0000 0000 0000 0000 = Flowlabel: 0x00000000 Payload length: 424 Next header: ICMPv6 (0x3a) Hop limit: 255 Source: fe80::2038:148e:b9df:fd6d (fe80::2038:148e:b9df:fd6d) Destination: ff02::1 (ff02::1) Internet Control Message Protocol v6 Type: 134 (Router advertisement) Code: 0 Checksum: 0x90ac [correct] Cur hop limit: 64 Flags: 0x00 Router lifetime: 1800 Reachable time: 0 Retrans timer: 0 ICMPv6 Option (Source link-layer address) Type: Source link-layer address (1) Length: 8 Link-layer address: ca:01:04:94:00:08 ICMPv6 Option (MTU) Type: MTU (5) Length: 8 MTU: 1500 ICMPv6 Option (Prefix information) Type: Prefix information (3) Length: 32 Prefix length: 64 Flags: 0xc0 Valid lifetime: 2592000 Preferred lifetime: 604800 Prefix: 2001:: ICMPv6 Option (CGA) Type: CGA (11) Length: 192

Page 71: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 69

Pad Length: 1 Reserved CGA: DD7FE101B0999C5650850024ECDD4592FE80000000000000... Padding ICMPv6 Option (Timestamp) Type: Timestamp (13) Length: 16 Reserved Timestamp(number of seconds since January 1, 1970, 00:00 UTC) Timestamp(1/64K fractions of a second) ICMPv6 Option (RSA Signature) Type: RSA Signature (12) Length: 152 Reserved Key Hash: 2B5559355296F787B9A99EB6943AD563 Digital Signature + Padding

Frame 41 (158 bytes on wire, 158 bytes captured) Ethernet II, Src: ca:00:04:94:00:08 (ca:00:04:94:00:08), Dst: ca:01:04:94:00:08 (ca:01:04:94:00:08) Destination: ca:01:04:94:00:08 (ca:01:04:94:00:08) Source: ca:00:04:94:00:08 (ca:00:04:94:00:08) Type: IPv6 (0x86dd) Internet Protocol Version 6 0110 .... = Version: 6 .... 1110 0000 .... .... .... .... .... = Traffic class: 0x000000e0 .... .... .... 0000 0000 0000 0000 0000 = Flowlabel: 0x00000000 Payload length: 104 Next header: ICMPv6 (0x3a) Hop limit: 255 Source: fe80::301e:5340:da45:7d1a (fe80::301e:5340:da45:7d1a) Destination: fe80::2038:148e:b9df:fd6d (fe80::2038:148e:b9df:fd6d) Internet Control Message Protocol v6 Type: 148 (Certification Path Solicitation) Code: 0 (Should always be zero) Checksum: 0xacd7 [correct] Certification Path Solicitation Message Identifier: 57261 Component: 65535 ICMPv6 Option (Trust Anchor) Type: Trust Anchor (15) Length: 96 Name Type: DER Encoded X.501 Name (1) Pad Length: 0 DER Encoded X.501 Name: 305A310C300A06035504031303434130310E300C06035504... Name: rdnSequence (0) rdnSequence: 6 items (id-at-countryName=FR,id-at-stateOrProvinceName=fr,id-at-localityName=example,id-at-organizationName=Cisco,id-at-organizationalUnitName=NSSTG,id-at-commonName=CA0) RDNSequence item: 1 item (id-at-commonName=CA0) RDNSequence item: 1 item (id-at-organizationalUnitName=NSSTG) RDNSequence item: 1 item (id-at-organizationName=Cisco) RDNSequence item: 1 item (id-at-localityName=example) RDNSequence item: 1 item (id-at-stateOrProvinceName=fr) RDNSequence item: 1 item (id-at-countryName=FR) Padding

Frame 42 (850 bytes on wire, 850 bytes captured) Ethernet II, Src: ca:01:04:94:00:08 (ca:01:04:94:00:08), Dst: IPv6mcast_ff:45:7d:1a (33:33:ff:45:7d:1a) Destination: IPv6mcast_ff:45:7d:1a (33:33:ff:45:7d:1a) Source: ca:01:04:94:00:08 (ca:01:04:94:00:08) Type: IPv6 (0x86dd) Internet Protocol Version 6 0110 .... = Version: 6 .... 1110 0000 .... .... .... .... .... = Traffic class: 0x000000e0 .... .... .... 0000 0000 0000 0000 0000 = Flowlabel: 0x00000000 Payload length: 796 Next header: ICMPv6 (0x3a) Hop limit: 255

Page 72: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 70

Source: fe80::2038:148e:b9df:fd6d (fe80::2038:148e:b9df:fd6d) Destination: ff02::1:ff45:7d1a (ff02::1:ff45:7d1a) Internet Control Message Protocol v6 Type: 149 (Certification Path Advertisement) Code: 0 (Should always be zero) Checksum: 0xe9c5 [correct] Certification Path Advertisement Message Identifier: 57261 All Components: 1 Component: 0 Reserved ICMPv6 Option (Trust Anchor) Type: Trust Anchor (15) Length: 96 Name Type: DER Encoded X.501 Name (1) Pad Length: 0 DER Encoded X.501 Name: 305A310C300A06035504031303434130310E300C06035504... Name: rdnSequence (0) rdnSequence: 6 items (id-at-countryName=FR,id-at-stateOrProvinceName=fr,id-at-localityName=example,id-at-organizationName=Cisco,id-at-organizationalUnitName=NSSTG,id-at-commonName=CA0) RDNSequence item: 1 item (id-at-commonName=CA0) RDNSequence item: 1 item (id-at-organizationalUnitName=NSSTG) RDNSequence item: 1 item (id-at-organizationName=Cisco) RDNSequence item: 1 item (id-at-localityName=example) RDNSequence item: 1 item (id-at-stateOrProvinceName=fr) RDNSequence item: 1 item (id-at-countryName=FR) Padding ICMPv6 Option (Certificate) Type: Certificate (16) Length: 688 Cert Type: X.509v3 Certificate (1) Reserved Certificate (iso.2.840.113549.1.9.2=R2+id-at-serialNumber=4294967295,id-at-countryName=FR,id-at-stateOrProvinceName=fr,id-at-localityName=example,id-at-organizationName=cisco,id-at-organizationalUnitName=nsstg,id-at-commonName=router) signedCertificate version: v3 (2) serialNumber: 2 signature (md5WithRSAEncryption) Algorithm Id: 1.2.840.113549.1.1.4 (md5WithRSAEncryption) issuer: rdnSequence (0) rdnSequence: 6 items (id-at-countryName=FR,id-at-stateOrProvinceName=fr,id-at-localityName=example,id-at-organizationName=Cisco,id-at-organizationalUnitName=NSSTG,id-at-commonName=CA0) RDNSequence item: 1 item (id-at-commonName=CA0) RDNSequence item: 1 item (id-at-organizationalUnitName=NSSTG) RDNSequence item: 1 item (id-at-organizationName=Cisco) RDNSequence item: 1 item (id-at-localityName=example) RDNSequence item: 1 item (id-at-stateOrProvinceName=fr) RDNSequence item: 1 item (id-at-countryName=FR) validity notBefore: utcTime (0) notAfter: utcTime (0) subject: rdnSequence (0) rdnSequence: 7 items (iso.2.840.113549.1.9.2=R2+id-at-serialNumber=4294967295,id-at-countryName=FR,id-at-stateOrProvinceName=fr,id-at-localityName=example,id-at-organizationName=cisco,id-at-organizationalUnitName=nsstg,id-at-commonName=rou RDNSequence item: 1 item (id-at-commonName=router) RDNSequence item: 1 item (id-at-organizationalUnitName=nsstg) RDNSequence item: 1 item (id-at-organizationName=cisco) RDNSequence item: 1 item (id-at-localityName=example) RDNSequence item: 1 item (id-at-stateOrProvinceName=fr) RDNSequence item: 1 item (id-at-countryName=FR) RDNSequence item: 2 items (iso.2.840.113549.1.9.2=R2+id-at-serialNumber=4294967295) subjectPublicKeyInfo algorithm (rsaEncryption) Algorithm Id: 1.2.840.113549.1.1.1 (rsaEncryption) Padding: 0 subjectPublicKey: 30818902818100A6E427E20dzzzzzzzzzzzzzzzzzzB67B2FDFAF17BD85CB60421A1... extensions: 3 items Extension (id-ce-keyUsage) Extension (id-ce-authorityKeyIdentifier)

Page 73: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 71

Extension (id-ce-subjectKeyIdentifier) algorithmIdentifier (md5WithRSAEncryption) Algorithm Id: 1.2.840.113549.1.1.4 (md5WithRSAEncryption) Padding: 0 encrypted: B85810F2C9640E07AF04B848B761C85C51C4DF9075AE4296... Padding

A la fin de cet échange, le routeur est accepté par l’hôte :

Loggi ng sur l’ hôt e (debug ipv6 nd secur e d) :

*Sep 23 19:25:58.611: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/0, changed state to up *Sep 23 19:26:04.367: SEND: Receive: ND_ROUTER_ADVERT *Sep 23 19:26:04.367: SEND: src FE80::2038:148E:B9DF:FD6D *Sep 23 19:26:04.367: SEND: dst FF02::www *Sep 23 19:26:04.367: SEND: Received at: 0x4C9BA9CC5E8C = 19:26:04 UTC Sep 23 2010 *Sep 23 19:26:04.367: SEND: option 1 len 8: ND_OPT_SOURCE_LINKADDR *Sep 23 19:26:04.367: SEND: option 5 len 8: ND_OPT_MTU *Sep 23 19:26:04.367: SEND: option 3 len 32: ND_OPT_PREFIX_INFORMATION *Sep 23 19:26:04.367: SEND: option 11 len 192: ND_OPT_CGA *Sep 23 19:26:04.367: SEND: option 13 len 16: ND_OPT_TIMESTAMP *Sep 23 19:26:04.367: SEND: option 12 len 152: ND_OPT_RSA *Sep 23 19:26:04.367: SEND: Verifying address FE80::2038:148E:B9DF:FD6D *Sep 23 19:26:04.367: SEND: sec is 1 *Sep 23 19:26:04.367: SEND: keylen is 1024 *Sep 23 19:26:04.367: SEND: Address verified *Sep 23 19:26:04.367: SEND: Timestamp: 0x4C9BA9CC6152 = 19:26:04 UTC Sep 23 2010 *Sep 23 19:26:04.367: SEND: TS opt check RC = 0 *Sep 23 19:26:04.371: SEND: Good signature *Sep 23 19:26:04.371: SEND: RA with prefix option 2001:: *Sep 23 19:26:04.371: SEND: EVENT: IPV6_SEND_CERT_RCV_RA CURRENT STATE: CERT_CREATING *Sep 23 19:26:04.371: SEND: Send : CPS *Sep 23 19:26:04.375: SEND: Adding trustanchor c=FR,st=fr,l=example,o=Cisco,ou=NSSTG,cn=CA0 *Sep 23 19:26:04.375: SEND: adding trustanchor c=FR,st=fr,l=example,o=Cisco,ou=NSSTG,cn=CA0 *Sep 23 19:26:04.375: SEND: option 15 len 96: ND_OPT_TRUST_ANCHOR *Sep 23 19:26:04.375: SEND: action: Start T0 *Sep 23 19:26:04.375: SEND: NEW STATE TR: CERT_PENDING *Sep 23 19:26:04.379: SEND: Send: ND_NEIGHBOR_SOLICIT *Sep 23 19:26:04.379: SEND: src FE80::38B1:E73C:C0F0:4442 *Sep 23 19:26:04.379: SEND: dst FF02::1:FFDF:FD6D *Sep 23 19:26:04.379: SEND: CGA FE80::38B1:E73C:C0F0:4442, 0x12000004 : found *Sep 23 19:26:04.379: SEND: Timestamp: 0x4C9BA9CC6171 = 19:26:04 UTC Sep 23 2010 *Sep 23 19:26:04.379: SEND: Nonce length: 6, value: 112D4624D564 *Sep 23 19:26:04.427: SEND: option 1 len 8: ND_OPT_SOURCE_LINKADDR *Sep 23 19:26:04.427: SEND: option 11 len 192: ND_OPT_CGA *Sep 23 19:26:04.427: SEND: option 13 len 16: ND_OPT_TIMESTAMP *Sep 23 19:26:04.427: SEND: option 14 len 8: ND_OPT_NONCE *Sep 23 19:26:04.427: SEND: option 12 len 152: ND_OPT_RSA *Sep 23 19:26:04.479: SEND: Receive: ND_NEIGHBOR_ADVERT *Sep 23 19:26:04.479: SEND: src FE80::2038:148E:B9DF:FD6D *Sep 23 19:26:04.479: SEND: dst FE80::38B1:E73C:C0F0:4442 *Sep 23 19:26:04.479: SEND: Received at: 0x4C9BA9CC7BC8 = 19:26:04 UTC Sep 23 2010 *Sep 23 19:26:04.479: SEND: option 2 len 8: ND_OPT_TARGET_LINKADDR *Sep 23 19:26:04.479: SEND: option 11 len 192: ND_OPT_CGA *Sep 23 19:26:04.479: SEND: option 13 len 16: ND_OPT_TIMESTAMP *Sep 23 19:26:04.479: SEND: option 14 len 8: ND_OPT_NONCE *Sep 23 19:26:04.479: SEND: option 12 len 152: ND_OPT_RSA *Sep 23 19:26:04.479: SEND: Target: FE80::2038:148E:B9DF:FD6D *Sep 23 19:26:04.479: SEND: Solicit advertisement *Sep 23 19:26:04.479: SEND: Verifying address FE80::2038:148E:B9DF:FD6D *Sep 23 19:26:04.479: SEND: sec is 1 *Sep 23 19:26:04.479: SEND: keylen is 1024 *Sep 23 19:26:04.479: SEND: Address verified *Sep 23 19:26:04.479: SEND: Nonce length: 6, value: 112D4624D564 *Sep 23 19:26:04.479: SEND: Timestamp: 0x4C9BA9CC8008 = 19:26:04 UTC Sep 23 2010 *Sep 23 19:26:04.483: SEND: Good signature *Sep 23 19:26:04.495: SEND: Receive: ND_CERTIFICATE_ADVERT *Sep 23 19:26:04.495: SEND: src FE80::2038:148E:B9DF:FD6D *Sep 23 19:26:04.495: SEND: dst FF02::1:FFF0:4442

Page 74: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 72

*Sep 23 19:26:04.495: SEND: Received at: 0x4C9BA9CC7F0D = 19:26:04 UTC Sep 23 2010 *Sep 23 19:26:04.495: SEND: option 15 len 96: ND_OPT_TRUST_ANCHOR *Sep 23 19:26:04.495: SEND: option 16 len 688: ND_OPT_CERTIFICATE *Sep 23 19:26:04.495: SEND: EVENT: IPV6_SEND_CERT_RCV_CPA CURRENT STATE: CERT_PENDING *Sep 23 19:26:04.495: SEND: action: Store certificate *Sep 23 19:26:04.499: SEND: Certificate keyhash : 2B5559355296F787B9A99EB6943AD563 *Sep 23 19:26:04.507: SEND: Certificate for: hostname=R2+serialNumber=4294967295,c=FR,st=fr,l=example,o=cisco,ou=nsstg,cn=router *Sep 23 19:26:04.507: SEND: Certificate issued by c=FR,st=fr,l=example,o=Cisco,ou=NSSTG,cn=CA0 *Sep 23 19:26:04.507: SEND: Certificate valid from 14:32:38 UTC Jan 27 2010 to 14:32:38 UTC Jan 27 2011 *Sep 23 19:26:04.507: SEND: Certificate has trust anchor c=FR,st=fr,l=example,o=Cisco,ou=NSSTG,cn=CA0 - Storing ... *Sep 23 19:26:04.507: SEND: NEW STATE TR: CERT_PENDING *Sep 23 19:26:04.507: SEND: EVENT: IPV6_SEND_CERT_PEER_CERT CURRENT STATE: CERT_PENDING *Sep 23 19:26:04.507: SEND: action: Check peer key *Sep 23 19:26:04.511: SEND: NEW STATE TR: CERT_PENDING *Sep 23 19:26:04.511: SEND: EVENT: IPV6_SEND_CERT_CHAIN_COMPLETE CURRENT STATE: CERT_PENDING *Sep 23 19:26:04.511: SEND: action: Stop T0 *Sep 23 19:26:04.511: SEND: Verifying certificate *Sep 23 19:26:04.523: SEND: Certificate validated *Sep 23 19:26:04.523: SEND: action: Start T1 *Sep 23 19:26:04.523: SEND: NEW STATE TR: CERT_VALIDATING *Sep 23 19:26:04.527: SEND: EVENT: IPV6_SEND_CERT_VALID_CHAIN CURRENT STATE: CERT_VALIDATING *Sep 23 19:26:04.527: SEND: action: Stop T1 *Sep 23 19:26:04.527: SEND: action: Set trust level in RA then deliver it *Sep 23 19:26:04.527: SEND: action: Deliver RA packet to stack *Sep 23 19:26:04.527: SEND: Deliver RA held in cert DB *Sep 23 19:26:04.527: SEND: action: Start T2 *Sep 23 19:26:04.527: SEND: NEW STATE TR: CERT_VALIDATED

Arrivé à ce point, sur l’hôte on peut lire les commandes suivantes :

hote#show ipv6 nd sec cert Total number of entries: 1 / 32 Hash id RA certcnt certrcv state 2B5559355296F787B9A99EB6943AD563 0x0000BA93 no 1 1 CERT_VALIDATED certificate No 0 subject hostname=R2+serialNumber=4294967295,c=FR,st=fr,l=example,o=cisco,ou=nsstg,cn=router issuer c=FR,st=fr,l=example,o=Cisco,ou=NSSTG,cn=CA0 hote#show crypto pki cert CA Certificate Status: Available Certificate Serial Number (hex): 01 Certificate Usage: Signature Issuer: c=FR st=fr l=example o=Cisco ou=NSSTG cn=CA0 Subject: c=FR st=fr l=example o=Cisco ou=NSSTG cn=CA0 Validity Date: start date: 16:38:21 UTC Jan 26 2010 end date: 16:38:21 UTC Jan 25 2013 Associated Trustpoints: SEND

Page 75: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 73

Storage: nvram:FR#1CA.cer hote#show ipv6 nd secured counters interface f0/0 Received ND messages on FastEthernet0/0: rcvd accept SLLA TLLA PREFIX MTU CGA RSA TS NONCE TA CERT RA 25 24 25 0 25 25 25 25 25 0 0 0 NS 2 2 2 0 0 0 2 2 2 2 0 0 NA 6 6 0 6 0 0 6 6 6 2 0 0 CPA 2 1 0 0 0 0 0 0 0 0 2 2 Dropped ND messages on FastEthernet0/0: Codes CLI : CLI initialted TIMEOUT: Timed out while waiting for rsp drop CLI TIMEOUT RA 1 0 1 CPA 1 1 0 Sent ND messages on FastEthernet0/0: sent aborted SLLA TLLA CGA RSA TS NONCE TA NS 11 0 2 0 10 10 10 10 0 NA 10 0 0 8 10 10 10 2 0 CPS 2 0 0 0 0 0 0 0 2

Configuration de SEND La configuration de SEND se revele assez simple. Sur un hôte il vous faudra générer une paire de clef asymetriques.

hote(config)# crypto key generate rsa label SEND modulus 1024

The name for the keys will be: SEND

% The key modulus size is 1024 bits

% Generating 1024 bit RSA keys, keys will be non-exportable...[OK

hote(config)#

Cette clef va ensuite vous permettre de generer un ‘modifier’ et de configurer le sec-level.

ipv6 cga modifier rsakeypair SEND sec-level 1

Le sec-level permet de configurer le degre de complexite de l’adresse CGA. Une valeur au-dessus de 2 est prohibitive avec les CPU actuels et 2 doit aujourd’hui etre un grand maximum. La valeur de 1 etant recommendée.

Et ce modifier va vous permettre de generer vos adresses CGA. Le processus est entierement documenté dans le RFC3972. Sur un routeur CISCO il est sauvegarder pour permettre de regénerer les CGA.

interface FastEthernet0/0 ip address 192.168.0.3 255.255.255.0 duplex auto

Page 76: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 74

speed auto ipv6 cga rsakeypair SEND ipv6 address FE80:: link-local cga ipv6 address 2001::/64 cga ipv6 nd secured trustanchor SEND end

hote#show ipv6 cga address-db 2001::/64 ::347C:26BF:9A38:61C3 - table 0x0 interface: FastEthernet0/0 (4) modifier: SEND collisions: 0 FE80::/64 ::2894:6C00:84CF:5925 - table 0x12000004 interface: FastEthernet0/0 (4) modifier: SEND collisions: 0 hote#show ipv6 cga modifier-db E25:82FA:F383:228D:299C:2FFC:BCA4:2F12 label: SEND sec level: 1 Addresses: 2001::347C:26BF:9A38:61C3 FE80::2894:6C00:84CF:5925

interface FastEthernet0/0 ip address 192.168.0.3 255.255.255.0 duplex auto speed auto ipv6 cga rsakeypair SEND ipv6 address FE80:: link-local cga ipv6 address 2001::/64 cga ipv6 nd secured trustanchor SEND end hote#show ipv6 int f0/0 FastEthernet0/0 is up, line protocol is up IPv6 is enabled, link-local address is FE80::2894:6C00:84CF:5925 No Virtual link-local address(es): Global unicast address(es): 2001::347C:26BF:9A38:61C3, subnet is 2001::/64 Joined group address(es): FF02::1 FF02::1:FF38:61C3 FF02::1:FFCF:5925 MTU is 1500 bytes ICMP error messages limited to one every 100 milliseconds ICMP redirects are enabled ICMP unreachables are sent ND DAD is enabled, number of DAD attempts: 1 ND reachable time is 30000 milliseconds (using 31054) Default router is FE80::20C1:FDB6:A2FB:E328 on FastEthernet0/0

La commande « debug ipv6 nd secured » peut aider au diagnostique en cas de problème de connectivite apres la configuration de SEND dans votre reseau.

Maintenant pour compéter la configuration vous devez configurer un serveur de certificat et un routeur doté d’un certificat valide. De plus la station hôte devra également avoir le certificat du CA.

Page 77: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 75

D’abord la configuration d’un serveur de certificat. Le serveur de certificat CISCO ne permet pas de delivrer des certificats sur IPv6 et il devra donc etre configure avec IPv4. On veillera a ce que le serveur http soit bien demarré. interface FastEthernet0/0 ip address 192.168.0.3 255.255.255.0 duplex auto speed auto ipv6 cga rsakeypair SEND ipv6 address FE80:: link-local cga ipv6 address 2001::/64 cga ipv6 nd secured trustanchor SEND ! crypto pki server CA issuer-name C=FR, ST=fr, L=example, O=Cisco, OU=NSSTG, CN=CA0 grant auto ! crypto pki trustpoint CA revocation-check crl rsakeypair CA ! CA#sh ip http server status HTTP server status: Enabled HTTP server port: 80 HTTP server active supplementary listener ports: HTTP server authentication method: enable HTTP server digest algorithm: md5 HTTP server access class: 0 HTTP server base path: HTTP server help root: Maximum number of concurrent server connections allowed: 5 Server idle time-out: 180 seconds Server life time-out: 180 seconds Maximum number of requests allowed on a connection: 1 HTTP server active session modules: ALL HTTP secure server capability: Present HTTP secure server status: Disabled HTTP secure server port: 443 HTTP secure server ciphersuite: 3des-ede-cbc-sha des-cbc-sha rc4-128-md5 rc4-128-sha HTTP secure server client authentication: Disabled HTTP secure server trustpoint: HTTP secure server active session modules: ALL

Le serveur etant demarre, on passera a la configuration du routeur :

La configuration CGA du routeur ne sera pas trés differente de celle de l’host. ! crypto pki trustpoint SEND enrollment url http://192.168.0.1:80 serial-number subject-name C=FR, ST=fr, L=example, O=cisco, OU=nsstg, CN=router revocation-check none rsakeypair SEND ! interface FastEthernet0/0 ip address 192.168.0.2 255.255.255.0 duplex auto speed auto ipv6 cga rsakeypair SEND ipv6 address FE80:: link-local cga ipv6 address 2001::/64 cga !

Page 78: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 76

Mais ensuite il sera necessaire de s’authentifier aupres du CA pour obtenir son certificat et puis d’enroller le routeur pour obtenir son propre certificat aupres du CA. On utilisera les deux commandes suivantes :

routeur(config)#crypto pki authenticate SEND

routeur(config)#crypto pki enroll SEND

Si tout s’est bien passé on trouvera les certificats sur le routeur : Routeur#show crypto pki cert Certificate Status: Available Certificate Serial Number (hex): 02 Certificate Usage: General Purpose Issuer: c=FR st=fr l=example o=Cisco ou=NSSTG cn=CA0 Subject: Name: R2 Serial Number: 4294967295 hostname=R2+serialNumber=4294967295 c=FR st=fr l=example o=cisco ou=nsstg cn=router Validity Date: start date: 14:32:38 UTC Jan 27 2010 end date: 14:32:38 UTC Jan 27 2011 Associated Trustpoints: SEND Storage: nvram:FR#2.cer CA Certificate Status: Available Certificate Serial Number (hex): 01 Certificate Usage: Signature Issuer: c=FR st=fr l=example o=Cisco ou=NSSTG cn=CA0 Subject: c=FR st=fr l=example o=Cisco ou=NSSTG cn=CA0 Validity Date: start date: 16:38:21 UTC Jan 26 2010 end date: 16:38:21 UTC Jan 25 2013 Associated Trustpoints: SEND Storage: nvram:FR#1CA.cer

En cas de problème si on doute qu’un paquet n’a pas été émis ou reçu on utilisera la commande ‘show ipv6 nd secured counter interface’:

Page 79: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 77

Routeur#show ipv6 nd sec count int f0/0 Received ND messages on FastEthernet0/0:

rcvd accept SLLA TLLA CGA RSA TS NONCE TA

NS 32 32 32 0 32 32 32 32 0 NA 42 42 0 10 42 42 42 32 0

CPS 33 33 0 0 0 0 0 0 33

Dropped ND messages on FastEthernet0/0:

Sent ND messages on FastEthernet0/0: sent aborted SLLA TLLA PREFIX MTU CGA RSA TS NONCE TA CERT

RA 32 0 32 0 32 32 32 32 32 0 0 0

NS 35 0 32 0 0 0 34 34 34 34 0 0 NA 34 0 0 5 0 0 34 34 34 32 0 0

CPA 33 0 0 0 0 0 0 0 0 0 33 33

Routeur#

Pour l’hote il sera necessaire de s’authentifier uniquement pour obtenir le certificat du CA. ! crypto pki trustpoint SEND enrollment url http://192.168.0.1:80 serial-number revocation-check none ! ! interface FastEthernet0/0 ip address 192.168.0.3 255.255.255.0 duplex auto speed auto ipv6 cga rsakeypair SEND ipv6 address FE80:: link-local cga ipv6 address 2001::/64 cga ipv6 nd secured trustanchor SEND !

hote(config)#crypto pki authenticate SEND

si tout s’est bien pase on pourra verifier le bon fonctionement de l’ensemble par la commande suivante sur l’hote : hote#show crypto pki cert CA Certificate Status: Available Certificate Serial Number (hex): 01 Certificate Usage: Signature Issuer: c=FR st=fr l=example o=Cisco ou=NSSTG cn=CA0 Subject: c=FR st=fr l=example o=Cisco

Page 80: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 78

ou=NSSTG cn=CA0 Validity Date: start date: 16:38:21 UTC Jan 26 2010 end date: 16:38:21 UTC Jan 25 2013 Associated Trustpoints: SEND Storage: nvram:FR#1CA.cer

hote#show ipv6 nd secured certificates Total number of entries: 1 / 32 Hash id RA certcnt certrcv state BB0B277B820860FC7EA93462753773D7 0x0000D25B no 1 1 CERT_VALIDATED certificate No 0 subject serialNumber=4294967295+hostname=routeur,c=FR,st=fr,l=example,o=cisco,ou=nsstg,cn=router issuer c=FR,st=fr,l=example,o=Cisco,ou=NSSTG,cn=CA0

Les commandes de test et de troubleshoting sont les suivantes :

« debug ipv6 nd secured », « show ipv6 nd secured counters ». hote#sh ipv6 nd sec counters int f0/0 Received ND messages on FastEthernet0/0: rcvd accept SLLA TLLA PREFIX MTU CGA RSA TS NONCE TA CERT RA 22 22 22 0 22 22 22 22 22 0 0 0 NS 1 1 1 0 0 0 1 1 1 1 0 0 NA 3 3 0 3 0 0 3 3 3 1 0 0 CPA 1 1 0 0 0 0 0 0 0 0 1 1 Dropped ND messages on FastEthernet0/0: Sent ND messages on FastEthernet0/0: sent aborted SLLA TLLA CGA RSA TS NONCE TA NS 4 0 1 0 3 3 3 3 0 NA 3 0 0 2 3 3 3 1 0 CPS 1 0 0 0 0 0 0 0 1 hote#

☼Commandes de test sont non documentees pour usage interne CISCO : Elles permettent de générer des paquets erronés pour tester que le routeur les traites de la facon appropriee : ipv6 nd secured test <skip,cga,cpa,rsa> <params>

skip <nonce, rsa, cga, Timestamp> cpa <badnumber> cga <prefix, collision, modifier, key> <value> rsa <badsig> Exemple : hote(config-if)#ipv6 nd sec test cga collision 3 hote(config-if)#do ping 2001::3078:21D5:D573:BE9C

Page 81: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 79

Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 2001::3078:21D5:D573:BE9C, timeout is 2

seconds: ..... Success rate is 0 percent (0/5) hote(config-if)# *Sep 20 12:38:49.207: SEND: Receive: ND_NEIGHBOR_SOLICIT *Sep 20 12:38:49.207: SEND: src 2001::347C:26BF:9A38:61C3 *Sep 20 12:38:49.207: SEND: dst FF02::1:FF73:BE9C *Sep 20 12:38:49.207: SEND: Received at: 0x4C9755D93574 = 12:38:49 UTC Sep

20 2010 *Sep 20 12:38:49.207: SEND: option 1 len 8: ND_OPT_SOURCE_LINKADDR *Sep 20 12:38:49.207: SEND: option 11 len 192: ND_OPT_CGA *Sep 20 12:38:49.207: SEND: option 13 len 16: ND_OPT_TIMESTAMP *Sep 20 12:38:49.207: SEND: option 14 len 8: ND_OPT_NONCE *Sep 20 12:38:49.207: SEND: option 12 len 152: ND_OPT_RSA *Sep 20 12:38:49.207: SEND: Target: 2001::3078:21D5:D573:BE9C *Sep 20 12:38:49.207: SEND: Nonce length: 6, value: 7EFC3D1C6309 *Sep 20 12:38:49.207: SEND: Verifying address 2001::347C:26BF:9A38:61C3 *Sep 20 12:38:49.207: SEND: ! Collision count out of range *Sep 20 12:38:49.207: SEND: !CGA option does not verify *Sep 20 12:38:49.207: SEND: ! DROP: ND_NEIGHBOR_SOLICIT src

2001::347C:26BF:9A38:61C3 dst FF02::1:FF73:BE9C reason=7 routeur#und all All possible debugging has been turned off routeur#

Debug sur le host :

*Sep 20 13:08:02.571: SEND: EVENT: IPV6_SEND_CERT_T2_FIRED CURRENT STATE: CERT_VALIDATED *Sep 20 13:08:02.571: SEND: Verifying certificate *Sep 20 13:08:02.619: SEND: Certificate validated *Sep 20 13:08:02.619: SEND: action: Start T1 *Sep 20 13:08:02.619: SEND: NEW STATE TR: CERT_VALIDATING *Sep 20 13:08:02.619: SEND: EVENT: IPV6_SEND_CERT_VALID_CHAIN CURRENT STATE:

CERT_VALIDATING *Sep 20 13:08:02.619: SEND: action: Stop T1 *Sep 20 13:08:02.619: SEND: action: Set trust level in RA then deliver it *Sep 20 13:08:02.623: SEND: action: Deliver RA packet to stack *Sep 20 13:08:02.623: SEND: action: Start T2 *Sep 20 13:08:02.627: SEND: NEW STATE TR: CERT_VALIDATED *Sep 20 13:08:18.391: SEND: Receive: ND_ROUTER_ADVERT *Sep 20 13:08:18.395: SEND: src FE80::20C1:FDB6:A2FB:E328 *Sep 20 13:08:18.395: SEND: dst FF02::1 *Sep 20 13:08:18.399: SEND: Received at: 0x4C975CC26648 = 13:08:18 UTC Sep 20 2010 *Sep 20 13:08:18.403: SEND: option 1 len 8: ND_OPT_SOURCE_LINKADDR *Sep 20 13:08:18.403: SEND: option 5 len 8: ND_OPT_MTU *Sep 20 13:08:18.403: SEND: option 3 len 32: ND_OPT_PREFIX_INFORMATION *Sep 20 13:08:18.407: SEND: option 11 len 192: ND_OPT_CGA *Sep 20 13:08:18.407: SEND: option 13 len 16: ND_OPT_TIMESTAMP *Sep 20 13:08:18.411: SEND: option 12 len 152: ND_OPT_RSA *Sep 20 13:08:18.411: SEND: Verifying address FE80::20C1:FDB6:A2FB:E328 *Sep 20 13:08:18.415: SEND: sec is 1 *Sep 20 13:08:18.419: SEND: keylen is 1024 *Sep 20 13:08:18.419: SEND: Address verified *Sep 20 13:08:18.419: SEND: Timestamp: 0x4C975CBECCE2 = 13:08:14 UTC Sep 20 2010 *Sep 20 13:08:18.419: SEND: TS opt check RC = 0 *Sep 20 13:08:18.423: SEND: Good signature *Sep 20 13:08:18.423: SEND: RA with prefix option 2001:: *Sep 20 13:08:18.423: SEND: EVENT: IPV6_SEND_CERT_RCV_RA CURRENT STATE: CERT_VALIDATED *Sep 20 13:08:18.423: SEND: action: Set trust level in RA then deliver it *Sep 20 13:08:18.423: SEND: action: Deliver RA packet to stack *Sep 20 13:08:18.423: SEND: Deliver RA just received *Sep 20 13:08:18.423: SEND: NEW STATE TR: CERT_VALIDATED

Page 82: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 80

LES PROTOCOLES DE ROUTAGES On retrouve pour IPv6 les protocoles de routages disponibles pour IPv4.

Domaine Algorithme Nom Scalability Convergence Metric Version pour IPv6

IGP Distance-Vector

RIP 15 sauts Lente Nombre de sauts

RIPng

IGP DUAL EIGRP 1000s routers

Rapide Bande passante, delay, fiablité, charge

EIGRPv6

IGP SPF OSPF 1000s routers (100+/area)

Rapide Cout (par defaut dérivé de la BW sur CISCO)

OSPFv3

IGP SPF IS-IS 1000s routers (100+/area)

Rapide Cout (par defaut dérivé de la BW sur CISCO)

ISISv6

EGP Vecteur de Chemin

BGP 1000s routers

Lent Fontion des attributs de chemins

BGPv6

RIPng RIPng defini dans le RFC2080 est directement inspiré de RIPv2 avec toutes ses limitations.

C’est un protocole distance-vector aussi appele routage par rumeur. Le principe d’un tel protocole est d’annoncer regulierement a tous ses voisins ses tables de routage. Ainsi de proche en proche, l’ensemble des routeurs du reseau fini par avoir la totalite des routes disponibles dans leurs tables de routage.

RIPng reste limite a 15 sauts maximum. Il opere au-dessus de UDP et diffuse ses tables de routages vers l’adresse FF02::9 sur le port 521. Par defaut, les tables de routages sont diffuses toutes les 30 secondes. Si une route n’a pas étée rafraichie depuis 180 secondes, elle est considerée comme ayant disparue, son metric est alors positionne a 16 (infini) mais elle demeure dans la table de routage pendant encore 120 secondes apres quoi elle est purgée.

Page 83: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 81

RIPng permet de tagger des routes pour les reconnaitres et leur appliquer un traitement particulier si nécessaire.

RIPng est un protocole tres simple a mettre en œuvre et disponible sur la quasi totalite des routeurs et des hôtes du marché. Les hôtes sont generalement dotés d’un mode silentieux qui leur permet d’ecouter les annonces RIP pour mettre à jour leurs ttables de routage sans en génerer eux-meme.

Commande CISCO IOS pour afficher les parametres de RIP. R2#sh ipv6 rip fred RIP process "fred", port 521, multicast-group FF02::9, pid 279 Administrative distance is 120. Maximum paths is 16 Updates every 30 seconds, expire after 180 Holddown lasts 0 seconds, garbage collect after 120 Split horizon is on; poison reverse is off Default routes are not generated Periodic updates 39, trigger updates 1 Interfaces: FastEthernet0/1.11 Loopback0 Redistribution: None Capture d’un Paquet RIPng No. Time Source Src Port Destination Dst Port Protocol Info Cumulative bytes Relative time 259 82.035629 fe80::c800:4ff:fe94:6 ripng ff02::9 ripng RIPng version 1 Response 964 82.035629 Frame 259 (110 bytes on wire, 110 bytes captured) Ethernet II, Src: ca:00:04:94:00:06 (ca:00:04:94:00:06), Dst: IPv6mcast_00:00:00:09 (33:33:00:00:00:09) Destination: IPv6mcast_00:00:00:09 (33:33:00:00:00:09) Source: ca:00:04:94:00:06 (ca:00:04:94:00:06) Type: 802.1Q Virtual LAN (0x8100) 802.1Q Virtual LAN, PRI: 0, CFI: 0, ID: 11 Internet Protocol Version 6 0110 .... = Version: 6 .... 1110 0000 .... .... .... .... .... = Traffic class: 0x000000e0 .... .... .... 0000 0000 0000 0000 0000 = Flowlabel: 0x00000000 Payload length: 52 Next header: UDP (0x11) Hop limit: 255 Source: fe80::c800:4ff:fe94:6 (fe80::c800:4ff:fe94:6) Destination: ff02::9 (ff02::9) User Datagram Protocol, Src Port: ripng (521), Dst Port: ripng (521) RIPng Command: Response (2) Version: 1 IP Address: 2001:db8:cafe:11::/64, Metric: 1 IP Address: 2001:db8:cafe:11:: Tag: 0x0000 Prefix length: 64 Metric: 1 IP Address: 2001:db8:dead:1::1/128, Metric: 1 IP Address: 2001:db8:dead:1::1 Tag: 0x0000 Prefix length: 128 Metric: 1

« debug ipv6 rip » sur un routeur CISCO

*Sep 25 04:55:28.217: command=2, version=1, mbz=0, #rte=2 *Sep 25 04:55:28.217: tag=0, metric=1, prefix=2001:DB8:CAFE:11::/64 *Sep 25 04:55:28.217: tag=0, metric=1, prefix=2001:DB8:DEAD:1::1/128 *Sep 25 04:55:34.357: RIPng: Sending multicast update on FastEthernet0/1.11 for fred *Sep 25 04:55:34.357: src=FE80::C801:4FF:FE94:6

Page 84: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 82

*Sep 25 04:55:34.357: dst=FF02::9 (FastEthernet0/1.11) *Sep 25 04:55:34.357: sport=521, dport=521, length=72 *Sep 25 04:55:34.357: command=2, version=1, mbz=0, #rte=3 *Sep 25 04:55:34.357: tag=0, metric=1, prefix=2001:DB8:CAFE:11::/64 *Sep 25 04:55:34.357: tag=0, metric=1, prefix=2001:DB8:DEAD:2::1/128 *Sep 25 04:55:34.357: tag=0, metric=1, prefix=2001:DB8:DEAD:11::/64 *Sep 25 04:55:34.357: RIPng: Sending multicast update on Loopback0 for fred *Sep 25 04:55:34.357: src=FE80::C801:4FF:FE94:8 *Sep 25 04:55:34.357: dst=FF02::9 (Loopback0) *Sep 25 04:55:34.357: sport=521, dport=521, length=92 *Sep 25 04:55:34.357: command=2, version=1, mbz=0, #rte=4 *Sep 25 04:55:34.357: tag=0, metric=1, prefix=2001:DB8:CAFE:11::/64 *Sep 25 04:55:34.357: tag=0, metric=1, prefix=2001:DB8:DEAD:2::1/128 *Sep 25 04:55:34.357: tag=0, metric=1, prefix=2001:DB8:DEAD:11::/64 *Sep 25 04:55:34.357: tag=0, metric=2, prefix=2001:DB8:DEAD:1::1/128 *Sep 25 04:55:34.361: RIPng: Packet waiting *Sep 25 04:55:34.361: RIPng: Process fred received own response on Loopback0 *Sep 25 04:55:55.517: RIPng: Packet waiting *Sep 25 04:55:55.517: RIPng: response received from FE80::C800:4FF:FE94:6 on FastEthernet0/1.11 for fred *Sep 25 04:55:55.517: src=FE80::C800:4FF:FE94:6 (FastEthernet0/1.11) *Sep 25 04:55:55.517: dst=FF02::9 *Sep 25 04:55:55.521: sport=521, dport=521, length=52 *Sep 25 04:55:55.521: command=2, version=1, mbz=0, #rte=2 *Sep 25 04:55:55.521: tag=0, metric=1, prefix=2001:DB8:CAFE:11::/64 *Sep 25 04:55:55.521: tag=0, metric=1, prefix=2001:DB8:DEAD:1::1/128 *Sep 25 04:56:01.465: RIPng: Sending multicast update on FastEthernet0/1.11 for fred *Sep 25 04:56:01.465: src=FE80::C801:4FF:FE94:6 *Sep 25 04:56:01.465: dst=FF02::9 (FastEthernet0/1.11) *Sep 25 04:56:01.465: sport=521, dport=521, length=72 *Sep 25 04:56:01.465: command=2, version=1, mbz=0, #rte=3 *Sep 25 04:56:01.465: tag=0, metric=1, prefix=2001:DB8:CAFE:11::/64 *Sep 25 04:56:01.465: tag=0, metric=1, prefix=2001:DB8:DEAD:2::1/128 *Sep 25 04:56:01.465: tag=0, metric=1, prefix=2001:DB8:DEAD:11::/64 *Sep 25 04:56:01.465: RIPng: Sending multicast update on Loopback0 for fred *Sep 25 04:56:01.465: src=FE80::C801:4FF:FE94:8 *Sep 25 04:56:01.465: dst=FF02::9 (Loopback0) *Sep 25 04:56:01.465: sport=521, dport=521, length=92 *Sep 25 04:56:01.465: command=2, version=1, mbz=0, #rte=4 *Sep 25 04:56:01.465: tag=0, metric=1, prefix=2001:DB8:CAFE:11::/64 *Sep 25 04:56:01.465: tag=0, metric=1, prefix=2001:DB8:DEAD:2::1/128 *Sep 25 04:56:01.465: tag=0, metric=1, prefix=2001:DB8:DEAD:11::/64 *Sep 25 04:56:01.465: tag=0, metric=2, prefix=2001:DB8:DEAD:1::1/128 *Sep 25 04:56:01.465: RIPng: Packet waiting *Sep 25 04:56:01.465: RIPng: Process fred received own response on Loopback0

ATTENTION ! RIPng implémente Split-Horizon. Sur une interface WAN on désactivera split horizon ou bien on aura recours aux sub-interfaces.

EIGRPv6 EIGRP est un protocole de routage CISCO qui supporte de nombreux protocoles tels que IP, IPX (Novell), Appletalk, ISO CLNS et donc maintenant IPv6.

☼ EIGRP a été presque entièrement réécrit pour corriger des faiblesses qui le rendait instable sur des reseaux importants. Il est maintenant d’une grande stabilité, tres performant et simple a mettre en œuvre. Attention donc a la version d’EIGRP, la version 0 correspond a l’ancienne version et la version 1 la nouvelle.

Il s’agit d’un protocole hybride, distance-vector a la base et Il est aussi simple a mettre en œuvre qu’un protocole distance-vector mais avec des performances proches d’un link-state.

Page 85: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 83

Un protocole Hello comme celui que l’on trouve sur OSPF ou ISIS permet de tenir a jour une table des voisins EIGRP. Par defaut, ces Hello sont emis toutes les 5 secondes sur les reseaux rapides ou 60 secondes sur les reseauxT1 voir p10lus lent et un voisin est considere comme mort si on ne l’a pas entendu depuis 15 secondes ou 180 secondes pour les reseaux plus lents. On peut le lire en tapant la commande « show ipv6 eigrp interface ».

Affichage d’une interface EIGRP R1#sh ipv6 eigrp int de EIGRP-IPv6 Interfaces for AS(10) Xmit Queue Mean Pacing Time Multicast Pending Interface Peers Un/Reliable SRTT Un/Reliable Flow Timer Routes Lo0 0 0/0 0 0/1 0 0 Hello-interval is 5, Hold-time is 15 Split-horizon is enabled Next xmit serial <none> Un/reliable mcasts: 0/0 Un/reliable ucasts: 0/0 Mcast exceptions: 0 CR packets: 0 ACKs suppressed: 0 Retransmissions sent: 0 Out-of-sequence rcvd: 0 Topology-ids on interface - 0 Authentication mode is not set Fa1/0 1 0/0 1151 0/1 5744 0 Hello-interval is 5, Hold-time is 15 Split-horizon is enabled Next xmit serial <none> Un/reliable mcasts: 0/2 Un/reliable ucasts: 3/2 Mcast exceptions: 0 CR packets: 0 ACKs suppressed: 0 Retransmissions sent: 1 Out-of-sequence rcvd: 1 Topology-ids on interface - 0 Authentication mode is not set Le metric de EIGRP est un metric composite qui peut etre calcule en tenant compte de la bande passante (la plus faible sur le chemin), la somme des delay, la charge du lien, la fiabilite du lien et le MTU qui n’entre pas dans le calcul du metric mais qui peut servir a departager deux routes possibles. Notez egalement que par defaut le Metric ne se base que sur la bande passante la plus faible sur le chemin et la somme des delays.

Affichage des voisins EIGRP R1#show ipv6 eigrp neighbors detail IPv6-EIGRP neighbors for process 10 H Address Interface Hold Uptime SRTT RTO Q Seq (sec) (ms) Cnt Num 0 Link-local address: Fa0/1.11 11 00:00:21 10 200 0 12 FE80::C801:4FF:FE94:6 Version 12.4/1.2, Retrans: 1, Retries: 0

Chaque voisin annonce sa table de routage qui alimente la database topologique du routeur. Cette table de routage est entierement transférée a l’initialisation et puis ensuite seules les mises à jour sont transférées. Comme elle ne seront pas réannoncés régulièrement comme avec un protocole distance-vector, les UPDATE doivent être aquittés. Ci-dessous un exemple de HELLO suivi d’un UPDATE et d’un ACK.

Affichage de la topologie d’EIGRP

R1#sh ipv6 eigrp topology EIGRP-IPv6 Topology Table for AS(10)/ID(192.168.0.11) Codes: P - Passive, A - Active, U - Update, Q - Query, R - Reply, r - reply Status, s - sia Status P CAFE::10/128, 1 successors, FD is 156160

Page 86: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 84

via FE80::C800:6FF:FEA9:1C (156160/128256), FastEthernet1/0 P CAFE::2/128, 1 successors, FD is 128256 via Connected, Loopback0 P 2001:DB8:C0A8:A::/64, 1 successors, FD is 30720 via FE80::C800:6FF:FEA9:1C (30720/28160), FastEthernet1/0 P 2001:DB8:C0A8:B::/64, 1 successors, FD is 28160 via Connected, FastEthernet1/0

La Feasible Distance (FD) est le meilleur metric pour joindre une destination. C’est la route qui est selectionnée pour etre inseree dans la table de routage.

La Reported Distance est la distance reportee par un voisin pour joindre une destination.

Un Feasible Successor est un voisin qui reporte une distance pour une destination plus faible que la Feasible Distance. Si un next hop tombe, le routeur prendra un Feasible Successor pour le remplacer immediatement. Le temps de convergence sera nul. S’il n’y a pas de Feasible Successor, la route passe en status Active et le routeur lance des requêtes vers tous ses voisins pour trouver une nouvelle route vers cette destination. L’algorithme DUAL est en charge de calculer les tables de routages en partant des bases de données topologiques.

Table de Routage sur un routeur Cisco

R1#show ipv6 route IPv6 Routing Table - default - 7 entries Codes: C - Connected, L - Local, S - Static, U - Per-user Static route B - BGP, HA - Home Agent, MR - Mobile Router, R - RIP I1 - ISIS L1, I2 - ISIS L2, IA - ISIS interarea, IS - ISIS summary D - EIGRP, EX - EIGRP external, ND - Neighbor Discovery O - OSPF Intra, OI - OSPF Inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2 ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2 S ::/0 [1/0] via FastEthernet1/0, directly connected D 2001:DB8:C0A8:A::/64 [90/30720] via FE80::C800:6FF:FEA9:1C, FastEthernet1/0 C 2001:DB8:C0A8:B::/64 [0/0] via FastEthernet1/0, directly connected L 2001:DB8:C0A8:B:C801:6FF:FEA9:1C/128 [0/0] via FastEthernet1/0, receive LC CAFE::2/128 [0/0] via Loopback0, receive D CAFE::10/128 [90/156160] via FE80::C800:6FF:FEA9:1C, FastEthernet1/0 L FF00::/8 [0/0] via Null0, receive Capture de trafic EIGRP. Cette version de wireshark n’arrive visiblement pas à décoder les Update IPv6 !

Frame 62312 (98 bytes on wire, 98 bytes captured) Ethernet II, Src: ca:01:04:94:00:06 (ca:01:04:94:00:06), Dst: IPv6mcast_00:00:00:0a (33:33:00:00:00:0a) Destination: IPv6mcast_00:00:00:0a (33:33:00:00:00:0a) Source: ca:01:04:94:00:06 (ca:01:04:94:00:06) Type: 802.1Q Virtual LAN (0x8100) 802.1Q Virtual LAN, PRI: 0, CFI: 0, ID: 10 000. .... .... .... = Priority: 0 ...0 .... .... .... = CFI: 0 .... 0000 0000 1010 = ID: 10 Type: IPv6 (0x86dd) Internet Protocol Version 6 0110 .... = Version: 6

Page 87: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 85

.... 1110 0000 .... .... .... .... .... = Traffic class: 0x000000e0 .... .... .... 0000 0000 0000 0000 0000 = Flowlabel: 0x00000000 Payload length: 40 Next header: EIGRP (0x58) Hop limit: 255 Source: fe80::c801:4ff:fe94:6 (fe80::c801:4ff:fe94:6) Destination: ff02::a (ff02::a) Cisco EIGRP Version = 2 Opcode = 5 (Hello) Checksum = 0xeec2 Flags = 0x00000000 Sequence = 0 Acknowledge = 0 Autonomous System : 10 EIGRP Parameters Type = 0x0001 (EIGRP Parameters) Size = 12 bytes K1 = 1 K2 = 0 K3 = 1 K4 = 0 K5 = 0 Reserved Hold Time = 15 Software Version: IOS=12.4, EIGRP=1.2 Type = 0x0004 (Software Version) Size = 8 bytes IOS release version = 12.4 EIGRP release version = 1.2 Frame 61019 (131 bytes on wire, 131 bytes captured) Ethernet II, Src: ca:00:04:94:00:06 (ca:00:04:94:00:06), Dst: IPv6mcast_00:00:00:0a (33:33:00:00:00:0a) Destination: IPv6mcast_00:00:00:0a (33:33:00:00:00:0a) Source: ca:00:04:94:00:06 (ca:00:04:94:00:06) Type: 802.1Q Virtual LAN (0x8100) 802.1Q Virtual LAN, PRI: 0, CFI: 0, ID: 11 000. .... .... .... = Priority: 0 ...0 .... .... .... = CFI: 0 .... 0000 0000 1011 = ID: 11 Type: IPv6 (0x86dd) Internet Protocol Version 6 0110 .... = Version: 6 .... 1110 0000 .... .... .... .... .... = Traffic class: 0x000000e0 .... .... .... 0000 0000 0000 0000 0000 = Flowlabel: 0x00000000 Payload length: 73 Next header: EIGRP (0x58) Hop limit: 255 Source: fe80::c800:4ff:fe94:6 (fe80::c800:4ff:fe94:6) Destination: ff02::a (ff02::a) Cisco EIGRP Version = 2 Opcode = 1 (Update) Checksum = 0x32a3 Flags = 0x00000000 Sequence = 4 Acknowledge = 0 Autonomous System : 10 Unknown (0x0402) Type = 0x0402 (Unknown) Size = 53 bytes

Page 88: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 86

Src: ca:00:04:94:00:06 (ca:00:04:94:00:06), Dst: ca:01:04:94:00:06 (ca:01:04:94:00:06) Destination: ca:01:04:94:00:06 (ca:01:04:94:00:06) Source: ca:00:04:94:00:06 (ca:00:04:94:00:06) Type: 802.1Q Virtual LAN (0x8100) 802.1Q Virtual LAN, PRI: 0, CFI: 0, ID: 11 000. .... .... .... = Priority: 0 ...0 .... .... .... = CFI: 0 .... 0000 0000 1011 = ID: 11 Type: IPv6 (0x86dd) Inter0net Protocol Version 6z aa 0110 .... = Version: 6 .... 1110 0000 .... .... .... .... .... = Traffic class: 0x000000e0 .... .... .... 0000 0000 0000 0000 0000 = Flowlabel: 0x00000000 Payload length: 20 Next header: EIGRP (0x58) Hop limit: 255 Source: fe80::c800:4ff:fe94:6 (fe80::c800:4ff:fe94:6) Destination: fe80::c801:4ff:fe94:6 (fe80::c801:4ff:fe94:6) Cisco EIGRP Version = 2 Opcode = 5 (Acknowledge) Checksum = 0xfdeb Flags = 0x00000000 Sequence = 0 Acknowledge = 5 Autonomous System : 10 Quelques détails supplémentaire se trouve là : http://cciethebeginning.wordpress.com/2008/06/13/ipv6-eigrp/ Attention EIGRPv6 implémente Split-horizon ! Penser à le désactiver si possible ou utilisez des subinterfaces point-à-point.

OSPFv3 OSPF a ete revu pour gérer IPv6 au mieux. OSPF est un protocole Link State ou protocole par propagande.

Chaque routeur annonce l’état de tous ses liens codés sous la forme de LSA à l’ensemble des autres routeurs. Ces LSA sont inondés de façon a être reçus par tous les autres routeurs. Ils sont stockés dans une base de données topologique.

De cette facon tous les routeurs ont la meme vue du reseau grâce a cette base de donnee commune, chaque routeur calcule un arbre ou il se place a la racine et qui va vers toutes les branches. Cet arbre permet de calculer la table de routage garantie sans boucle. L’algorithme de calcul de l’arbre est le Shortest Path First qui donne son nom au protocole.

Sy st e m e s Auto no me s, Air e s Pour rendre le protocole extensible a volonte, il est possible de diviser le systeme autonome en aires (areas). Une aire aura un role particulier, c’est l’aire 0 ou Backbone. Toutes les aires doivent être directement connectées a l’area 0 grace a un Autonomous Border Router ou ABR. Si une aire ne peut pas se connecter physiquement a l’aire zero, il reste possible de definir des liens virtuels (Virtual Links) vers le backbone. C’est une option souvent rencontre pour backuper une liaison directe au backbone.

Page 89: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 87

☼Remarque importante : Il est intéressant de noter que si le protocole est bien Link State à l’intérieur d’une Area, il est par contre de type Distance-Vector entre les Area. C’est d’ailleurs pour cela que la topologie OSPF ne permet qu’un Backbone (Area 0) sur lequel peuvent se connecter les autres Area via un routeur ABR.

Le routeur ABR a la responsibilté de générer des Interarea Prefix LSA LSA (type 3) et des Interarea Router LSA (type 4). Les Interarea Prefix LSA contiennent les routes d’une Area qui pourront être vues dans les autres Area. Il est possible et même recommendé de summariser autant que possible ces routes pour une plus grande stabilité globale. L’ABR doit aussi générer les Interarea Router LSA pour permettre aux routeurs des area distantes d’atteindre l’Autonomous System Border Router (ASBR) qui redistribue des routes Externes. L’ASBR a la responsabilité d’injecter dans le domaine OSPF des routes Externes à ce domaine. Ces routes Externes seront annoncées dans des LSA type 5 et inondées dans toutes les Area non stub du domaine OSPF. Les routeurs des Area distantes pourront calculer leurs routes vers l’ASBR grâce a linterarea router LSA (type 4).

Les principales differences avec OSPFv2 sont les suivantes :

OSPFv3 (RFC5340) fonctionne par lien et non plus par subnet. En effet en IPv6, plusieurs nœuds peuvent coexister sur un même lien avec des adresses (prefix) différentes et se parler directement sans passer par un routeur.

Les routeurs voisins sont maintenant toujours identifiés par un router id et non plus par une adresse comme c’était le cas pour les réseaux broadcast, NBMA et Point à Multipoint.

Deux nouveaux bits d’options : V6-bit et R-bit. V6-bit est trivial, il signifie que le routeur supporte IPv6. Le R-bit permet à un routeur de participer à OSPF sans être employé en transit s’il n’est pas positionné.

Pour plus de serviceabilite, les Options ont ete enlevées de l’en-tete du LSA, étendues sur 24 bits etdéplacés dans le corps du Router-LSA, Network-LSA, Inter-Area Router LSA et Link-LSA. MOSPF est déprécié.

L’authentification a été retirée d’OSPF. Les champs AuType et Authentification ont ete retiré de l’en-tete OSPF. Il est toujours possible d’utiliser IPSec si l’on veut sécuriser OSPF.

Le champs type LSA a été étendu avec 3 bits encodant l’etendue d’inondation (flooding scope).

La route par défaut est un prefix de longueur 0.

Le Router et le Network LSA n’ont plus aucune information d’adresses et sont independant du protocole.

De nouveaux LSA ont ete ajoutes pour vehiculer les adresses.

LSA Scope LINK-LOCAL SCOPE :

Page 90: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 88

Link-LSA.

AREA SCOPE :

Router-LSA, Network-LSA, Inter-Area-Prefix-LSA, Inter-Area-Router-LSA et Intr-Area-Prefix-LSA.

AS SCOPE : AS-external-LSA

LSA Type

Pour résumer les principaux différents type de LSA :

LSA TYP E 1 OU ROU TER LSA. Contiennent le status et description de tous les liens d’un routeur. En revanche il ne sert plus à transporter des prefix mais uniquement des router-id. Les prefix seront transportés dans un LSA séparé qui fera référence au Routeur LSA.

0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+--+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LS Age |0|0|1| 1 | +-+-+-+--+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Link State ID | +-+-+-+--+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Advertising Router | +-+-+-+--+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LS Sequence Number | +-+-+-+--+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LS Checksum | Length | +-+-+-+--+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 0 |Nt|x|V|E|B| Options | +-+-+-+--+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | 0 | Metric | +-+-+-+--+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Interface ID | +-+-+-+--+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ sssssssssssssssq Neighbor Interface ID | +-+-+-+--+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Neighbor Router ID | +-+-+-+--+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... | +-+-+-+--+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | 0 | Metric | +-+-+-+--+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Interface ID | +-+-+-+--+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Neighbor Interface ID | +-+-+-+--+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Neighbor Router ID | +-+-+-+--+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... | Router-LSA Format

Bit V positionné, il indique que nous sommes l’extrémité d’un lien virtuel.

Bit E positionné, ce routeur est un ASBR et redistribue des routes externes.

Page 91: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 89

Bit B positionné, ce routeur est un ABR2.

Bit x provient de MOSPF (deprecié). Devrait être à zéro et doit être ignoré.

Bit Nt positionné, ce routeur est un NSSA brder routeur qui traduit les NSSA-LSA en External LSA.

Type Description

1 Connexion Point à point vers un autre routeur 2 Connexion à un réseau Transit 3 Réservé 4 Lien Virtuel (Virtual Link)

R0#show ipv6 ospf database router

OSPFv3 Router with ID (192.168.0.10) (Process ID 1) Router Link States (Area 0) LS age: 244 Options: (V6-Bit, E-Bit, R-bit, DC-Bit) LS Type: Router Links Link State ID: 0 Advertising Router: 192.168.0.10 LS Seq Number: 80000002 Checksum: 0xD13A Length: 40 AS Boundary Router Number of Links: 1 Link connected to: a Transit Network Link Metric: 1 Local Interface ID: 4 Neighbor (DR) Interface ID: 4 Neighbor (DR) Router ID: 192.168.0.11 LS age: 1410 Options: (V6-Bit, E-Bit, R-bit, DC-Bit3) LS Type: Router Links Link State ID: 0 Advertising Router: 192.168.0.11 LS Seq Number: 80000002 Checksum: 0xC547 Length: 40 Number of Links: 1 Link connected to: a Transit Network Link Metric: 1

2 Area Boundarry Router. Router interconnectant une area avec le backbone ou Area 0. 3 Si le R-bit est a zero, le routeur ne pourra pas servir de transit. Si le V6-bit est a zero le

routeur ne pourra servir de transit pour les datagrammes IPv6. E-bit est p ositionne si l’aire est capable de router du traffic Externe et enfin le DC-bit est positionne si l’aire supporte les Demand-Circuit comme ISDN par exemple.

Page 92: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 90

Local Interface ID: 4 Neighbor (DR) Interface ID: 4 Neighbor (DR) Router ID: 192.168.0.11

TY P E 2 OU NE T WORK LSA.

Pour les réseaux à accés multiples, Broadcast ou Non Broadcast, il contient la liste de tous les voisins connectés sur ce réseau. Il est généré par le routeur désigné ou DR, élu sur chacun des réseaux multi-accès.

0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LS Age |0|0|1| 2 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Link State ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Advertising Router | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LS Sequence Number | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LS Checksum | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 0 | Options | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Attached Router | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... | Network-LSA Format

OSPFv3 Router with ID (192.168.0.10) (Process ID 1) Net Link States (Area 0) LS age: 1748 Options: (V6-Bit, E-Bit, R-bit, DC-Bit) LS Type: Network Links Link State ID: 4 (Interface ID of Designated Router) Advertising Router: 192.168.0.11 LS Seq Number: 80000001 Checksum: 0x3078 Length: 32 Attached Router: 192.168.0.11 Attached Router: 192.168.0.10

LE LSA TYP E 3 OU IN TER-AREA- PREFIX-LSA. Contient une route éventuellement summarisée pouvant être annoncé vers une autre Area. Il est généré par l’ABR de l’Area.

0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1

Page 93: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 91

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LS Age |0|0|1| 3 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Link State ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Advertising Router | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LS Sequence Number | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LS Checksum | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 0 | Metric | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | PrefixLength | PrefixOptions | 0 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Address Prefix | | ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Inter-Area-Prefix-LSA Format

R1#show ipv6 ospf databas inter-area prefix OSPFv3 Router with ID (192.168.0.11) (Process ID 1) Inter Area Prefix Link States (Area 0) Routing Bit Set on this LSA LS age: 1393 LS Type: Inter Area Prefix Links Link State ID: 0 Advertising Router: 192.168.0.10 LS Seq Number: 80000001 Checksum: 0xA08 Length: 36 Metric: 1 Prefix Address: 2001:BD8:C0A8:2:: Prefix Length: 64, Options: None

LSA TYP E 4 OU IN TER-AREA-ROU TER-LSA LSA. Contient les informations relatives à un routeur ASBR. Il est généré par l’ABR de l’Area et permet au routeurs des autres Area de calculer leurs chemins vers les routes annoncées par cet ASBR.

0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LS Age |0|0|1| 4 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Link State ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Advertising Router | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LS Sequence Number | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LS Checksum | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 0 | Options | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 0 | Metric | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Destination Router ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Page 94: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 92

Inter-Area-Router-LSA Format

R2#show ipv6 ospf database inter-area router OSPFv3 Router with ID (10.10.10.10) (Process ID 1) Inter Area Router Link States (Area 2) Routing Bit Set on this LSA LS age: 309 Options: (V6-Bit, E-Bit, R-bit, DC-Bit) LS Type: Inter Area Router Links Link State ID: 3232235530 Advertising Router: 192.168.0.11 LS Seq Number: 80000001 Checksum: 0x3773 Length: 32 Metric: 1 Destination Router ID: 192.168.0.10

Dans l’exemple ci-dessus, l’ABR qui propage l’adresse de l’ASBR (192.168.0.10) est 192.168.0.11.

LSA TYP E 5 OU EX TERNAL LSA.

Contient une route éventuellement summarisée pouvant être annoncé vers une autre Area. Il est généré par l’ASBR qui redistribue cette route.

0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LS Age |0|1|0| 5 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Link State ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Advertising Router | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LS Sequence Number | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LS Checksum | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |E|F|T| Metric | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | PrefixLength | PrefixOptions | Referenced LS Type | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Address Prefix | | ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +- -+ | | +- Forwarding Address (Optional) -+ | | +- -+ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | External Route Tag (Optional) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Referenced Link State ID (Optional) | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ AS-external-LSA Format

Page 95: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 93

R1#show ipv6 ospf database external

OSPFv3 Router with ID (192.168.0.11) (Process ID 1) Type-5 AS External Link States Routing Bit Set on this LSA LS age: 747 LS Type: AS External Link Link State ID: 0 Advertising Router: 192.168.0.10 LS Seq Number: 80000003 Checksum: 0x9F62 Length: 32 Prefix Address: DEAD:: Prefix Length: 16, Options: None Metric Type: 2 (Larger than any link state path) Metric: 1

LSA TYP E 8 OU LINK-LSA Un nouveau LSA appele Link-LSA a ete introduit. Il a une etendue link-local et n’est jamais diffusé au dela du lien avec lequel il est associé. Il a trois fonctions :

a. Il fournit l’adresse link-locale du routeur aux autres routeurs du lien

b. Il informe les autres routeurs attachés au lien de la liste des prefixes associes au lien

c. Il permettent au routeur de s’assurer une collection de bits d’Options a associer avec le Network-LSA (section A.4.8 pour les details).

R2>show ipv6 ospf database link OSPFv3 Router with ID (10.10.10.10) (Process ID 1) Link (Type-8) Link States (Area 2) LS age: 525 Options: (V6-Bit, E-Bit, R-bit, DC-Bit) LS Type: Link-LSA (Interface: FastEthernet3/0) Link State ID: 8 (Interface ID) Advertising Router: 10.10.10.10 LS Seq Number: 8000001C Checksum: 0x5389 Length: 56 Router Priority: 1 Link Local Address: FE80::C802:6FF:FEA9:54 Number of Prefixes: 1 Prefix Address: 2001:DB8:C0A8:3:: Prefix Length: 64, Options: None LS age: 706 Options: (V6-Bit, E-Bit, R-bit, DC-Bit) LS Type: Link-LSA (Interface: FastEthernet3/0) Link State ID: 8 (Interface ID) Advertising Router: 192.168.0.11 LS Seq Number: 80000014 Checksum: 0x3267 Length: 56 Router Priority: 1 Link Local Address: FE80::C801:6FF:FEA9:54

Page 96: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 94

Number of Prefixes: 1 Prefix Address: 2001:DB8:C0A8:3:: Prefix Length: 64, Options: None

R0>show ipv6 ospf database link OSPFv3 Router with ID (192.168.0.10) (Process ID 1) Link (Type-8) Link States (Area 0) LS age: 446 Options: (V6-Bit, E-Bit, R-bit, DC-Bit) LS Type: Link-LSA (Interface: FastEthernet1/0) Link State ID: 4 (Interface ID) Advertising Router: 192.168.0.10 LS Seq Number: 80000004 Checksum: 0xA63A Length: 56 Router Priority: 1 Link Local Address: FE80::C800:6FF:FEA9:1C Number of Prefixes: 1 Prefix Address: 2001:DB8:C0A8:A:: Prefix Length: 64, Options: None LS age: 540 Options: (V6-Bit, E-Bit, R-bit, DC-Bit) LS Type: Link-LSA (Interface: FastEthernet1/0) Link State ID: 4 (Interface ID) Advertising Router: 192.168.0.11 LS Seq Number: 80000004 Checksum: 0xD607 Length: 56 Router Priority: 1 Link Local Address: FE80::C801:6FF:FEA9:1C Number of Prefixes: 1 Prefix Address: 2001:DB8:C0A8:B:: Prefix Length: 64, Options: None Link (Type-8) Link States (Area 2) LS age: 452 Options: (V6-Bit, E-Bit, R-bit, DC-Bit) LS Type: Link-LSA (Interface: FastEthernet2/0) Link State ID: 6 (Interface ID) Advertising Router: 192.168.0.10 LS Seq Number: 80000003 Checksum: 0xCFDD Length: 56 Router Priority: 1 Link Local Address: FE80::C800:6FF:FEA9:38 Number of Prefixes: 1 Prefix Address: 2001:BD8:C0A8:2:: Prefix Length: 64, Options: None

IN TRA-AREA- PREFIX LSA Un nouveau LSA appele Intra-Area-Prefix-LSA a ete introduit pour vehiculer les adresses qui etaient avant incluse dans les router et network LSA.

On retrouve dans ces LSA les prefix qui se trouvaient dans les routers et les network LSA. De plus on trouvera à quel router ou quel network LSA font référence ces prefix dans ce LSA.

Page 97: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 95

0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LS Age |0|0|1| 9 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Link State ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Advertising Router | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LS Sequence Number | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LS Checksum | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | # Prefixes | Referenced LS Type | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Referenced Link State ID |

PrefixOptions

NU-bit : « no unicast » capability bit.

LA-bit : « Local Address » capability bit.

x-bit : provient de MOSPF. Devrait être initialisé à 0.

+-+-+-+-0+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Referenced Advertising Router | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | PrefixLength | PrefixOptions | Metric | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Address Prefix | | ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | PrefixLength | PrefixOptions | Metric | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Address Prefix | | ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Intra-Area-Prefix LSA Format Intra Area Prefix Link States (Area 0) P-bit : « propagate » bit. Positionné pour les préfix qui doivent être réannoncés par le routeur traducteur NSSA.

DN-bit :Ce bit contrôle un inter-area-prefix-LSA ou un AS-external-LSA

R2>show ipv6 ospf database prefix adv-router 10.1.1.3

Page 98: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 96

OSPFv3 Router with ID (10.1.1.2) (Process ID 1) Intra Area Prefix Link States (Area 0) Routing Bit Set on this LSA LS age: 622 LS Type: Intra-Area-Prefix-LSA Link State ID: 0 Advertising Router: 10.1.1.3 LS Seq Number: 8000000C Checksum: 0x526E Length: 84 Referenced LSA Type: 2001 Referenced Link State ID: 0 Referenced Advertising Router: 10.1.1.3 Number of Prefixes: 3 Prefix Address: CAFE::3 Prefix Length: 128, Options: LA, Metric: 0 Prefix Address: 2001:DB8:F00D:CAFE:3:: Prefix Length: 96, Options: None, Metric: 64 Prefix Address: 2001:DB8:F00D:CAFE:2:: Prefix Length: 96, Options: None, Metric: 64 Routing Bit Set on this LSA LS age: 1876 LS Type: Intra-Area-Prefix-LSA Link State ID: 3072 Advertising Router: 10.1.1.3 LS Seq Number: 80000008 Checksum: 0x4167 Length: 44 Referenced LSA Type: 2002 Referenced Link State ID: 3 Referenced Advertising Router: 10.1.1.3 Number of Prefixes: 1 Prefix Address: 2001:DB8:101:: Prefix Length: 64, Options: None, Metric: 0 On notera que le LSA Type est un Router LSA alors que le LSA type 2001 est un Network LSA.

Exempl e d’une base de donn e e s compl et e : R0> show ipv6 ospf database OSPFv3 Router with ID (192.168.0.10) (Process ID 1) Router Link States (Area 0) ADV Router Age Seq# Fragment ID Link count Bits 192.168.0.10 1150 0x80000008 0 1 B E 192.168.0.11 1220 0x80000009 0 1 B Net Link States (Area 0) ADV Router Age Seq# Link ID Rtr count 192.168.0.11 1353 0x80000007 4 2 Inter Area Prefix Link States (Area 0) ADV Router Age Seq# Prefix 192.168.0.10 1150 0x80000006 2001:BD8:C0A8:2::/64 192.168.0.11 1210 0x80000001 2001:DB8:C0A8:3::/64

Page 99: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 97

Link (Type-8) Link States (Area 0) ADV Router Age Seq# Link ID Interface 192.168.0.10 1150 0x80000007 4 Fa1/0 192.168.0.11 1354 0x80000007 4 Fa1/0 Intra Area Prefix Link States (Area 0) ADV Router Age Seq# Link ID Ref-lstype Ref-LSID 192.168.0.10 1151 0x80000007 0 0x2001 0 192.168.0.11 1354 0x80000009 0 0x2001 0 192.168.0.11 1354 0x80000007 4096 0x2002 4 Router Link States (Area 2) ADV Router Age Seq# Fragment ID Link count Bits 192.168.0.10 1151 0x80000006 0 0 B E Inter Area Prefix Link States (Area 2) ADV Router Age Seq# Prefix 192.168.0.10 1151 0x80000006 CAFE::10/128 192.168.0.10 1151 0x80000006 CAFE::2/128 192.168.0.10 1151 0x80000006 2001:DB8:C0A8:A::/64 192.168.0.10 1151 0x80000006 2001:DB8:C0A8:B::/64 192.168.0.10 1211 0x80000001 2001:DB8:C0A8:3::/64 Link (Type-8) Link States (Area 2) ADV Router Age Seq# Link ID Interface 192.168.0.10 1158 0x80000006 6 Fa2/0 Intra Area Prefix Link States (Area 2) ADV Router Age Seq# Link ID Ref-lstype Ref-LSID 192.168.0.10 1158 0x80000006 0 0x2001 0 Type-5 AS External Link States ADV Router Age Seq# Prefix 192.168.0.10 160 0x80000008 DEAD::/16 R0>

Status g loba l d’ O SPF

La première commande pour vérifier si OSPF est correctement configuré sur le

routeur est « show ipv6 ospf ».

R0>sh ipv6 ospf Routing Process "ospfv3 1" with ID 192.168.0.10 Event-log enabled, Maximum number of events: 1000, Mode: cyclic It is an area border and autonomous system boundary router Redistributing External Routes from, static with metric 1 Initial SPF schedule delay 5000 msecs Minimum hold time between two consecutive SPFs 10000 msecs Maximum wait time between two consecutive SPFs 10000 msecs Minimum LSA interval 5 secs Minimum LSA arrival 1000 msecs LSA group pacing timer 240 secs

Page 100: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 98

Interface flood pacing timer 33 msecs Retransmission pacing timer 66 msecs Number of external LSA 1. Checksum Sum 0x009567 Number of areas in this router is 2. 2 normal 0 stub 0 nssa Graceful restart helper support enabled Reference bandwidth unit is 100 mbps Area BACKBONE(0) Number of interfaces in this area is 2 SPF algorithm executed 5 times Number of LSA 10. Checksum Sum 0x05844C Number of DCbitless LSA 0 Number of indication LSA 0 Number of DoNotAge LSA 0 Flood list length 0 Area 2 Number of interfaces in this area is 1 SPF algorithm executed 2 times Number of LSA 8. Checksum Sum 0x054094 Number of DCbitless LSA 0 Number of indication LSA 0 Number of DoNotAge LSA 0 Flood list length 0

On notera que cette commande donne le nombre d’interfaces configurées pour OSPF.

Une autre information importante est le nombre de fois que l’ algorithme SPF a été exécuté. Cela donne une information très importante sur la stabilité du réseau.

Interface s O SPF

TY P ES DE RÉSEAUX OSPF OSPF distingue deux principaux types de réseaux principaux qui sont point à point et à accès multiple, qui se subdivisent eux-mêmes en deux :

Résea u Po i nt-à-Po i nt e t Po i nt à Mu lt ipo i nt. Les réseaux Point à multipoint sont une extension des point à point comme un faisceau de ces réseaux élémentaires. Dans un réseau Point à point, les deux voisins ont vocations à devenir adjacents ce qui signifie qu’ils vont synchroniser leurs Databases OSPF.

Résea ux à accé s mult ipl e s Broadcast et Non-Broadcast Dans les réseaux à accès multiples non stubs, on aura au minimum deux voisins. Tous les voisins d’un réseau à accès multiple n’ont pas vocation à devenir adjacents. Tous les routeurs du réseau devront être adjacents avec le DR et le BDR.

Rout e ur Dé s ig n é (DR) et Rout e ur D é s ig né Backup (BDR)

Page 101: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 99

Dans les réseaux à accés multiples, un routeur va avoir une position clef, c’est le DR ou routeur désigné. Celui-ci est élu automatiquement en fonction de sa prioritée. Si sa prioritéé est nulle il sera inéligible. Comme il joue un rôle important et doit tenir à jour des états, un backup ou BDR est également élu pour ne pas risquer une coupure trop longue en cas de perte du DR.

De plus, pour ne pas interrompre le bon fonctionement du réseau, si un routeur avec une meilleure priorité démarre après qu’un routeur de priorité plus faible ai été élu, il ne devient pas DR. Il le deviendra si le routeru désigné courant est perdu.

Le DR aura deux rôles :

1) il est responsable de la synchronisation des databases sur le réseau. Ainsi au lieu d’avoir n*(n-1)/2 adjacences sur un réseau de n voisins, nous en aurons n*2 soit une adjacence de chaque routeur vers le DR et le BDR. Celà signifie qu’un voisins qui doit envoyer une mise à jour sur le réseau, l’envoie vers une adresse multicast dédiée au DR et au BDR (FF02 ::6). Le DR doit aquitter et ensuite se charger de réemettre la mise à jour vers tous les routeurs OSPF (FF02 ::5) du réseau puis tenir une liste des routeurs qui ont accusé réception de cet update. Le BDR est en copie de tous les messages envoyés au DR ce qui lui permet de prendre le relai en cas de défection de celui-ci.

2) Il génère un Network-LSA où sont listés tous les voisins sur le réseau. Ainsi les réseaux à accés multiples comme les réseaux Ethernet, Frame-Relay ou ATM sont modélisés comme des réseaux en étoile avec le DR en point central.

CA#sh ipv6 ospf int Serial2/0 is up, line protocol is down Link Local Address FE80::C800:6FF:FEA9:8, Interface ID 8 Area 2, Process ID 1, Instance ID 0, Router ID 192.168.0.1 Network Type NON_BROADCAST, Cost: 64 Transmit Delay is 1 sec, State DOWN, Priority 1 No designated router on this network No backup designated router on this network Timer intervals configured, Hello 30, Dead 120, Wait 120, Retransmit 5 R2#sh ipv6 ospf int FastEthernet3/0 is up, line protocol is up Link Local Address FE80::C802:6FF:FEA9:54, Interface ID 8 Area 2, Process ID 1, Instance ID 0, Router ID 10.10.10.10 Network Type BROADCAST, Cost: 1 Transmit Delay is 1 sec, State BDR, Priority 1 Designated Router (ID) 192.168.0.11, local address FE80::C801:6FF:FEA9:54 Backup Designated router (ID) 10.10.10.10, local address FE80::C802:6FF:FEA9:54 Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5 Hello due in 00:00:07 Graceful restart helper support enabled Index 1/1/1, flood queue length 0 Next 0x0(0)/0x0(0)/0x0(0) Last flood scan length is 2, maximum is 2 Last flood scan time is 0 msec, maximum is 4 msec Neighbor Count is 1, Adjacent neighbor count is 1 Adjacent with neighbor 192.168.0.11 (Designated Router) Suppress hello for 0 neighbor(s)

Page 102: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 100

Résea ux Loopback En plus de ces quatres principaux types de réseaux, on compte aussi les réseaux LOOPBACK pour les interfaces du même nom.

Loopback0 is up, line protocol is up

Internet Address 163.71.50.19/32, Area 0

Process ID 1, Router ID 163.71.50.19, Network Type LOOPBACK, Cost: 1

Loopback interface is treated as a stub Host

Voi s i n s et Adjace nts O SPF

La première étape pour qu’une interface OSPF s’insère dans un réseau OSPF est la découverte du ou des voisins selon le type d’interface/réseau. Cette decouverte se fait grace au Hello protocol. Les routeurs OSPF multicast periodiquement un hello qui contient un certain nombre de parametres OSPF. Pour devenir voisins il faut que ces parametres correspondent. Aussi les premières commandes pour vérifier qu’OSPF a bien démarré sur les routeurs sont « show ipv6 ospf neighbor » et « show ipv6 ospf interface ». Pour aider le troubleshooting et obtenir plus de détails sur la nature du problème on pourra passer les commandes « debug ip ospf events » et « debug ipv6 ospf adj ».

Affichage d’un voisin de routeur CISCO R2>show ipv6 ospf neighbor detail Neighbor 192.168.0.11 In the area 2 via interface FastEthernet3/0 Neighbor: interface-id 8, link-local address FE80::C801:6FF:FEA9:54 Neighbor priority is 1, State is FULL, 6 state changes DR is 192.168.0.11 BDR is 10.10.10.10 Options is 0x000013 in Hello (V6-Bit, E-Bit, R-bit) Options is 0x000013 in DBD (V6-Bit, E-Bit, R-bit) Dead timer due in 00:00:37 Neighbor is up for 03:34:49 Index 1/1/1, retransmission queue length 0, number of retransmission 0 First 0x0(0)/0x0(0)/0x0(0) Next 0x0(0)/0x0(0)/0x0(0) Last retransmission scan length is 0, maximum is 0 Last retransmission scan time is 0 msec, maximum is 0 msec Capturer d’un paquet HELLO Ethernet II, Src: ca:02:06:a9:00:54 (ca:02:06:a9:00:54), Dst: ca:01:06:a9:00:54 (ca:01:06:a9:00:54) Destination: ca:01:06:a9:00:54 (ca:01:06:a9:00:54) Source: ca:02:06:a9:00:54 (ca:02:06:a9:00:54) Type: IPv6 (0x86dd) Internet Protocol Version 6 0110 .... = Version: 6 .... 1110 0000 .... .... .... .... .... = Traffic class: 0x000000e0 .... .... .... 0000 0000 0000 0000 0000 = Flowlabel: 0x00000000 Payload length: 40 Next header: OSPF IGP (0x59) Hop limit: 1 Source: fe80::c802:6ff:fea9:54 (fe80::c802:6ff:fea9:54) Destination: fe80::c801:6ff:fea9:54 (fe80::c801:6ff:fea9:54) Open Shortest Path First OSPF Header

Page 103: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 101

OSPF Version: 3 Message Type: Hello Packet (1) Packet Length: 40 Source OSPF Router: 10.10.10.10 (10.10.10.10) Area ID: 0.0.0.2 Packet Checksum: 0xb876 [correct] Instance ID: 0 (IPv6 unicast AF) Reserved: 0 OSPF Hello Packet Interface ID: 8 Router Priority: 1 Options: 0x000013 (R, E, V6) Hello Interval: 10 seconds Router Dead Interval: 40 seconds Designated Router: 192.168.0.11 Backup Designated Router: 10.10.10.10 Active Neighbor: 192.168.0.11

ROUTEUR DESIGNE (DR E T BDR) Une fois que les routeurs sont voisins, ils vont dans certains cas de figure tenter de devenir adjacents. Deux routeurs sont adjacents s’ils synchronisent leurs bases de donnees. Pour des interfaces point a point ou point a multipoint, les routeurs vont toujours tenter de devenir adjacents. Dans le cas des réseaux a accès multiple c’est un peu plus complique. Sur ce type de reseaux on veut eviter que le nombre d’adjacences croisse selon la formule (n*(n-1))/2, n etant le nombre de voisins. Pour ce faire on va elire un routeur designe qui sera le point centrale d’une etoile virtuelle.

Ce routeur designe sera adjacent avec tous les routeurs du reseau et ara un double role. D’une part il sera responsable de conduire la synchronisation des mises a jour sur le reseaux. D’autre part il sera responsable de generer un Network-LSA de la part du reseau ou tous les routeurs attaches a ce reseau seront listes. Comme ce routeur a une fonction critique, un routeur designe backup (BDR) sera egalement elu. Dans le cas ou le routeur designe (DR) tomberait, le backup serait prêt a reprendre la ou le DR s’etait arrete. Les Routeurs designes ont une adresse multicast commune (FF02::6).

SYNCHRONISATION DES BASES DE DONNEES Une fois que l’on a etabli la communication bi-directionelle avec un voisin avec lequel on doit devenir adjacent, commence la negociation de qui va devenir le maitre (Master) de la synchronisation. Chacun des routeur pense etre le master et positionne le bit Master dans le premier paquet Database Description envoye vers le voisin. Celui qui a le router id le plus haut remporte l’election et devient le master. L’esclave ne positionne plus le bit Master dans la suite des echanges et c’est le Master qui assure la synchronisation des echanges.

Page 104: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 102

Les paquets Database Description servent a s’echanger les en-tetes des LSA presents dans la base de donnees de chacun. Si un routeur recoit une en-tete de LSA plus a jour que la sienne ou pire encore qu’il ne detient pas, il fait la requete a son voisin avec un Link State Request. Le voisin doit alors lui envoyer le LSA complet dans un Link State Update que le receveur doit aquitter avec un Link State Acknowledgement. Ce processus continue jusqu'à ce que les deux voisins possedent les LSA les plus a jours. L’etat FULL est alors atteint.

Les etats que peuvent prendre les voisins sont les suivants :

DOWN : l’interface n’a reçu aucune information d’aucun voisin.

INIT : L’interface a reçu un Hello d’un voisin mais la communication bi directionnelle n’est pas établie.

Two-Way :La communication bi directionnelle avec ce voisin est établi. On se voit dans les hello du voisin. A ce stade sur un réseau à accès multiple, le DR et le BDR serait élu.

Exstart : Les routeurs essayent de se synchroniser pour savoir qui va être le Master des échanges de Database.

Exchange : Les routeurs s’échangent des Database Description qui contiennent les en-tête des LSA présents dans leurs Databases respectives.

Loading : Avec les Database Description paquets reçus précedement les routeurs vérifient si ils ont dans leurs database les LSA bien à jour. Si ce n’est pas le cas ils font la requête des LSA manquant jusqu’à être complétement à jour.

Full : La database OSPF est complétement à jour.

Exemple d’initialisation OSPF Ethernet II, Src: ca:02:06:a9:00:54 (ca:02:06:a9:00:54), Dst: ca:01:06:a9:00:54 (ca:01:06:a9:00:54) Destination: ca:01:06:a9:00:54 (ca:01:06:a9:00:54) Source: ca:02:06:a9:00:54 (ca:02:06:a9:00:54) Type: IPv6 (0x86dd) Internet Protocol Version 6 0110 .... = Version: 6 .... 1110 0000 .... .... .... .... .... = Traffic class: 0x000000e0 .... .... .... 0000 0000 0000 0000 0000 = Flowlabel: 0x00000000 Payload length: 40 Next header: OSPF IGP (0x59) Hop limit: 1 Source: fe80::c802:6ff:fea9:54 (fe80::c802:6ff:fea9:54) Destination: fe80::c801:6ff:fea9:54 (fe80::c801:6ff:fea9:54) Open Shortest Path First OSPF Header OSPF Version: 3 Message Type: Hello Packet (1) Packet Length: 40 Source OSPF Router: 10.10.10.10 (10.10.10.10) Area ID: 0.0.0.2 Packet Checksum: 0xb876 [correct]

Page 105: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 103

Instance ID: 0 (IPv6 unicast AF) Reserved: 0 OSPF Hello Packet Interface ID: 8 Router Priority: 1 Options: 0x000013 (R, E, V6) Hello Interval: 10 seconds Router Dead Interval: 40 seconds Designated Router: 192.168.0.11 Backup Designated Router: 10.10.10.10 Active Neighbor: 192.168.0.11 Ethernet II, Src: ca:01:06:a9:00:54 (ca:01:06:a9:00:54), Dst: ca:02:06:a9:00:54 (ca:02:06:a9:00:54) Destination: ca:02:06:a9:00:54 (ca:02:06:a9:00:54) Source: ca:01:06:a9:00:54 (ca:01:06:a9:00:54) Type: IPv6 (0x86dd) Internet Protocol Version 6 0110 .... = Version: 6 .... 1110 0000 .... .... .... .... .... = Traffic class: 0x000000e0 .... .... .... 0000 0000 0000 0000 0000 = Flowlabel: 0x00000000 Payload length: 28 Next header: OSPF IGP (0x59) Hop limit: 1 Source: fe80::c801:6ff:fea9:54 (fe80::c801:6ff:fea9:54) Destination: fe80::c802:6ff:fea9:54 (fe80::c802:6ff:fea9:54) Open Shortest Path First OSPF Header OSPF Version: 3 Message Type: DB Descr. (2) Packet Length: 28 Source OSPF Router: 192.168.0.11 (192.168.0.11) Area ID: 0.0.0.2 Packet Checksum: 0x9c84 [correct] Instance ID: 0 (IPv6 unicast AF) Reserved: 0 OSPF DB Description Reserved: 0 Options: 0x000013 (R, E, V6) Interface MTU: 1500 Reserved: 0 DB Description: 0x07 (I, M, MS) .... 0... = R: OOBResync bit is NOT set .... .1.. = I: Init bit is SET .... ..1. = M: More bit is SET .... ...1 = MS: Master/Slave bit is SET DD Sequence: 60 Ethernet II, Src: ca:02:06:a9:00:54 (ca:02:06:a9:00:54), Dst: ca:01:06:a9:00:54 (ca:01:06:a9:00:54) Destination: ca:01:06:a9:00:54 (ca:01:06:a9:00:54) Source: ca:02:06:a9:00:54 (ca:02:06:a9:00:54) Type: IPv6 (0x86dd) Internet Protocol Version 6 0110 .... = Version: 6 .... 1110 0000 .... .... .... .... .... = Traffic class: 0x000000e0 .... .... .... 0000 0000 0000 0000 0000 = Flowlabel: 0x00000000 Payload length: 268 Next header: OSPF IGP (0x59) Hop limit: 1 Source: fe80::c802:6ff:fea9:54 (fe80::c802:6ff:fea9:54) Destination: fe80::c801:6ff:fea9:54 (fe80::c801:6ff:fea9:54) Open Shortest Path First OSPF Header OSPF Version: 3 Message Type: DB Descr. (2)

Page 106: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 104

Packet Length: 268 Source OSPF Router: 10.10.10.10 (10.10.10.10) Area ID: 0.0.0.2 Packet Checksum: 0xc0f1 [correct] Instance ID: 0 (IPv6 unicast AF) Reserved: 0 OSPF DB Description Reserved: 0 Options: 0x000013 (R, E, V6) Interface MTU: 1500 Reserved: 0 DB Description: 0x02 (M) .... 0... = R: OOBResync bit is NOT set .... .0.. = I: Init bit is NOT set .... ..1. = M: More bit is SET .... ...0 = MS: Master/Slave bit is NOT set DD Sequence: 60 LSA Header LS Age: 7 seconds Do Not Age: False LSA Type: 0x2001 (Router-LSA) Link State ID: 0.0.0.0 Advertising Router: 10.10.10.10 (10.10.10.10) LS Sequence Number: 0x80000017 LS Checksum: 0x953e Length: 24 LSA Header LS Age: 144 seconds Do Not Age: False LSA Type: 0x2001 (Router-LSA) Link State ID: 0.0.0.0 Advertising Router: 192.168.0.11 (192.168.0.11) LS Sequence Number: 0x80000014 LS Checksum: 0x25cc Length: 40 LSA Header LS Age: 144 seconds Do Not Age: False LSA Type: 0x2002 (Network-LSA) Link State ID: 0.0.0.8 Advertising Router: 192.168.0.11 (192.168.0.11) LS Sequence Number: 0x80000012 LS Checksum: 0x1fbf Length: 32 LSA Header LS Age: 394 seconds Do Not Age: False LSA Type: 0x2003 (Inter-Area-Prefix-LSA) Link State ID: 0.0.0.0 Advertising Router: 192.168.0.11 (192.168.0.11) LS Sequence Number: 0x80000012 LS Checksum: 0x2d21 Length: 44 LSA Header LS Age: 394 seconds Do Not Age: False LSA Type: 0x2003 (Inter-Area-Prefix-LSA) Link State ID: 0.0.0.1 Advertising Router: 192.168.0.11 (192.168.0.11) LS Sequence Number: 0x80000012 LS Checksum: 0xafac Length: 44 LSA Header LS Age: 394 seconds Do Not Age: False LSA Type: 0x2003 (Inter-Area-Prefix-LSA) Link State ID: 0.0.0.2

Page 107: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 105

Advertising Router: 192.168.0.11 (192.168.0.11) LS Sequence Number: 0x80000012 LS Checksum: 0xb65d Length: 36 LSA Header LS Age: 394 seconds Do Not Age: False LSA Type: 0x2003 (Inter-Area-Prefix-LSA) Link State ID: 0.0.0.3 Advertising Router: 192.168.0.11 (192.168.0.11) LS Sequence Number: 0x80000012 LS Checksum: 0xbe53 Length: 36 LSA Header LS Age: 394 seconds Do Not Age: False LSA Type: 0x2003 (Inter-Area-Prefix-LSA) Link State ID: 0.0.0.4 Advertising Router: 192.168.0.11 (192.168.0.11) LS Sequence Number: 0x80000012 LS Checksum: 0xbf3b Length: 36 LSA Header LS Age: 394 seconds Do Not Age: False LSA Type: 0x2004 (Inter-Area-Router-LSA) Link State ID: 192.168.0.10 Advertising Router: 192.168.0.11 (192.168.0.11) LS Sequence Number: 0x80000012 LS Checksum: 0x1584 Length: 32 LSA Header LS Age: 1585 seconds Do Not Age: False LSA Type: 0x4005 (AS-External-LSA) Link State ID: 0.0.0.0 Advertising Router: 192.168.0.10 (192.168.0.10) LS Sequence Number: 0x80000018 LS Checksum: 0x7577 Length: 32 LSA Header LS Age: 394 seconds Do Not Age: False LSA Type: 0x0008 (Link-LSA) Link State ID: 0.0.0.8 Advertising Router: 192.168.0.11 (192.168.0.11) LS Sequence Number: 0x80000013 LS Checksum: 0x3466 Length: 56 LSA Header LS Age: 144 seconds Do Not Age: False LSA Type: 0x2009 (Intra-Area-Prefix-LSA) Link State ID: 0.0.32.0 Advertising Router: 192.168.0.11 (192.168.0.11) LS Sequence Number: 0x80000012 LS Checksum: 0x0947 Length: 44 Frame 29 (342 bytes on wire, 342 bytes captured) Ethernet II, Src: ca:01:06:a9:00:54 (ca:01:06:a9:00:54), Dst: ca:02:06:a9:00:54 (ca:02:06:a9:00:54) Destination: ca:02:06:a9:00:54 (ca:02:06:a9:00:54) Source: ca:01:06:a9:00:54 (ca:01:06:a9:00:54) Type: IPv6 (0x86dd) Internet Protocol Version 6 0110 .... = Version: 6

Page 108: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 106

.... 1110 0000 .... .... .... .... .... = Traffic class: 0x000000e0 .... .... .... 0000 0000 0000 0000 0000 = Flowlabel: 0x00000000 Payload length: 288 Next header: OSPF IGP (0x59) Hop limit: 1 Source: fe80::c801:6ff:fea9:54 (fe80::c801:6ff:fea9:54) Destination: fe80::c802:6ff:fea9:54 (fe80::c802:6ff:fea9:54) Open Shortest Path First OSPF Header OSPF Version: 3 Message Type: DB Descr. (2) Packet Length: 288 Source OSPF Router: 192.168.0.11 (192.168.0.11) Area ID: 0.0.0.2 Packet Checksum: 0x7943 [correct] Instance ID: 0 (IPv6 unicast AF) Reserved: 0 OSPF DB Description Reserved: 0 Options: 0x000013 (R, E, V6) Interface MTU: 1500 Reserved: 0 DB Description: 0x01 (MS) .... 0... = R: OOBResync bit is NOT set .... .0.. = I: Init bit is NOT set .... ..0. = M: More bit is NOT set .... ...1 = MS: Master/Slave bit is SET DD Sequence: 61 LSA Header LS Age: 27 seconds Do Not Age: False LSA Type: 0x2001 (Router-LSA) Link State ID: 0.0.0.0 Advertising Router: 10.10.10.10 (10.10.10.10) LS Sequence Number: 0x80000016 LS Checksum: 0x3ffd Length: 40 LSA Header LS Age: 143 seconds Do Not Age: False LSA Type: 0x2001 (Router-LSA) Link State ID: 0.0.0.02002:C0A8:6301::1> Advertising Router: 192.168.0.11 (192.168.0.11) LS Sequence Number: 0x80000014 LS Checksum: 0x25cc Length: 40 LSA Header LS Age: 143 seconds Do Not Age: False LSA Type: 0x2002 (Network-LSA) Link State ID: 0.0.0.8 Advertising Router: 192.168.0.11 (192.168.0.11) LS Sequence Number: 0x80000012 LS Checksum: 0x1fbf Length: 32 LSA Header LS Age: 393 seconds Do Not Age: False LSA Type: 0x2003 (Inter-Area-Prefix-LSA) Link State ID: 0.0.0.0 Advertising Router: 192.168.0.11 (192.168.0.11) LS Sequence Number: 0x80000012 LS Checksum: 0x2d21 Length: 44 LSA Header LS Age: 393 seconds Do Not Age: False

Page 109: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 107

LSA Type: 0x2003 (Inter-Area-Prefix-LSA) Link State ID: 0.0.0.1 Advertising Router: 192.168.0.11 (192.168.0.11) LS Sequence Number: 0x80000012 LS Checksum: 0xafac Length: 44 LSA Header LS Age: 393 seconds Do Not Age: False LSA Type: 0x2003 (Inter-Area-Prefix-LSA) Link State ID: 0.0.0.2 Advertising Router: 192.168.0.11 (192.168.0.11) LS Sequence Number: 0x80000012 LS Checksum: 0xb65d Length: 36 LSA Header LS Age: 393 seconds Do Not Age: False LSA Type: 0x2003 (Inter-Area-Prefix-LSA) Link State ID: 0.0.0.3 Advertising Router: 192.168.0.11 (192.168.0.11) LS Sequence Number: 0x80000012 LS Checksum: 0xbe53 Length: 36 LSA Header LS Age: 393 seconds Do Not Age: False LSA Type: 0x2003 (Inter-Area-Prefix-LSA) Link State ID: 0.0.0.4 Advertising Router: 192.168.0.11 (192.168.0.11) LS Sequence Number: 0x80000012 LS Checksum: 0xbf3b Length: 36 LSA Header LS Age: 393 seconds Do Not Age: False LSA Type: 0x2004 (Inter-Area-Router-LSA) Link State ID: 192.168.0.10 Advertising Router: 192.168.0.11 (192.168.0.11) LS Sequence Number: 0x80000012 LS Checksum: 0x1584 Length: 32 LSA Header LS Age: 1584 seconds Do Not Age: False LSA Type: 0x4005 (AS-External-LSA) Link State ID: 0.0.0.0 Advertising Router: 192.168.0.10 (192.168.0.10) LS Sequence Number: 0x80000018 LS Checksum: 0x7577 Length: 32 LSA Header LS Age: 22 seconds Do Not Age: False LSA Type: 0x0008 (Link-LSA) Link State ID: 0.0.0.8 Advertising Router: 10.10.10.10 (10.10.10.10) LS Sequence Number: 0x80000018 LS Checksum: 0x5b85 Length: 56 LSA Header LS Age: 393 seconds Do Not Age: False LSA Type: 0x0008 (Link-LSA) Link State ID: 0.0.0.8 Advertising Router: 192.168.0.11 (192.168.0.11) LS Sequence Number: 0x80000013

Page 110: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 108

LS Checksum: 0x3466 Length: 56 LSA Header LS Age: 143 seconds Do Not Age: False LSA Type: 0x2009 (Intra-Area-Prefix-LSA) Link State ID: 0.0.32.0 Advertising Router: 192.168.0.11 (192.168.0.11) LS Sequence Number: 0x80000012 LS Checksum: 0x0947 Length: 44 Frame 30 (82 bytes on wire, 82 bytes captured) Ethernet II, Src: ca:02:06:a9:00:54 (ca:02:06:a9:00:54), Dst: ca:01:06:a9:00:54 (ca:01:06:a9:00:54) Destination: ca:01:06:a9:00:54 (ca:01:06:a9:00:54) Source: ca:02:06:a9:00:54 (ca:02:06:a9:00:54) Type: IPv6 (0x86dd) Internet Protocol Version 6 0110 .... = Version: 6 .... 1110 0000 .... .... .... .... .... = Traffic class: 0x000000e0 .... .... .... 0000 0000 0000 0000 0000 = Flowlabel: 0x00000000 Payload length: 28 Next header: OSPF IGP (0x59) Hop limit: 1 Source: fe80::c802:6ff:fea9:54 (fe80::c802:6ff:fea9:54) Destination: fe80::c801:6ff:fea9:54 (fe80::c801:6ff:fea9:54) Open Shortest Path First OSPF Header OSPF Version: 3 Message Type: DB Descr. (2) Packet Length: 28 Source OSPF Router: 10.10.10.10 (10.10.10.10) Area ID: 0.0.0.2 Packet Checksum: 0x492a [correct] Instance ID: 0 (IPv6 unicast AF) Reserved: 0 OSPF DB Description Reserved: 0 Options: 0x000013 (R, E, V6) Interface MTU: 1500 Reserved: 0 DB Description: 0x00 () .... 0... = R: OOBResync bit is NOT set .... .0.. = I: Init bit is NOT set .... ..0. = M: More bit is NOT set .... ...0 = MS: Master/Slave bit is NOT set DD Sequence: 61 Frame 31 (82 bytes on wire, 82 bytes captured) Ethernet II, Src: ca:01:06:a9:00:54 (ca:01:06:a9:00:54), Dst: ca:02:06:a9:00:54 (ca:02:06:a9:00:54) Destination: ca:02:06:a9:00:54 (ca:02:06:a9:00:54) Source: ca:01:06:a9:00:54 (ca:01:06:a9:00:54) Type: IPv6 (0x86dd) Internet Protocol Version 6 0110 .... = Version: 6 .... 1110 0000 .... .... .... .... .... = Traffic class: 0x000000e0 .... .... .... 0000 0000 0000 0000 0000 = Flowlabel: 0x00000000 Payload length: 28 Next header: OSPF IGP (0x59) Hop limit: 1 Source: fe80::c801:6ff:fea9:54 (fe80::c801:6ff:fea9:54) Destination: fe80::c802:6ff:fea9:54 (fe80::c802:6ff:fea9:54) Open Shortest Path First OSPF Header OSPF Version: 3

Page 111: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 109

Message Type: LS Request (3) Packet Length: 28 Source OSPF Router: 192.168.0.11 (192.168.0.11) Area ID: 0.0.0.2 Packet Checksum: 0x6ea0 [correct] Instance ID: 0 (IPv6 unicast AF) Reserved: 0 Link State Request Reserved: 0 LS Type: Router-LSA (0x2001) Link State ID: 0.0.0.0 Advertising Router: 10.10.10.10 (10.10.10.10) Ethernet II, Src: ca:02:06:a9:00:54 (ca:02:06:a9:00:54), Dst: ca:01:06:a9:00:54 (ca:01:06:a9:00:54) Destination: ca:01:06:a9:00:54 (ca:01:06:a9:00:54) Source: ca:02:06:a9:00:54 (ca:02:06:a9:00:54) Type: IPv6 (0x86dd) Internet Protocol Version 6 0110 .... = Version: 6 .... 1110 0000 .... .... .... .... .... = Traffic class: 0x000000e0 .... .... .... 0000 0000 0000 0000 0000 = Flowlabel: 0x00000000 Payload length: 44 Next header: OSPF IGP (0x59) Hop limit: 1 Source: fe80::c802:6ff:fea9:54 (fe80::c802:6ff:fea9:54) Destination: fe80::c801:6ff:fea9:54 (fe80::c801:6ff:fea9:54) Open Shortest Path First OSPF Header OSPF Version: 3 Message Type: LS Update (4) Packet Length: 44 Source OSPF Router: 10.10.10.10 (10.10.10.10) Area ID: 0.0.0.2 Packet Checksum: 0x0575 [correct] Instance ID: 0 (IPv6 unicast AF) Reserved: 0 LS Update Packet Number of LSAs: 1 Router-LSA (Type: 0x2001) LS Age: 8 seconds Do Not Age: False LSA Type: 0x2001 (Router-LSA) Link State ID: 0.0.0.0 Advertising Router: 10.10.10.10 (10.10.10.10) LS Sequence Number: 0x80000017 LS Checksum: 0x953e Length: 24 Flags: 0x00 () Options: 0x000033 (DC, R, E, V6) Ethernet II, Src: ca:02:06:a9:00:54 (ca:02:06:a9:00:54), Dst: IPv6mcast_00:00:00:05 (33:33:00:00:00:05) Destination: IPv6mcast_00:00:00:05 (33:33:00:00:00:05) Source: ca:02:06:a9:00:54 (ca:02:06:a9:00:54) Type: IPv6 (0x86dd) Internet Protocol Version 6 0110 .... = Version: 6 .... 1110 0000 .... .... .... .... .... = Traffic class: 0x000000e0 .... .... .... 0000 0000 0000 0000 0000 = Flowlabel: 0x00000000 Payload length: 104 Next header: OSPF IGP (0x59) Hop limit: 1 Source: fe80::c802:6ff:fea9:54 (fe80::c802:6ff:fea9:54) Destination: ff02::5 (ff02::5) Open Shortest Path First

Page 112: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 110

OSPF Header OSPF Version: 3 Message Type: LS Update (4) Packet Length: 104 Source OSPF Router: 10.10.10.10 (10.10.10.10) Area ID: 0.0.0.2 Packet Checksum: 0x67e4 [correct] Instance ID: 0 (IPv6 unicast AF) Reserved: 0 LS Update Packet Number of LSAs: 2 Link-LSA (Type: 0x0008) LS Age: 1 seconds Do Not Age: False LSA Type: 0x0008 (Link-LSA) Link State ID: 0.0.0.8 Advertising Router: 10.10.10.10 (10.10.10.10) LS Sequence Number: 0x8000001a LS Checksum: 0x9ee0 Length: 44 Router Priority: 1 Options: 0x000033 (DC, R, E, V6) Link-local Interface Address: fe80::c802:6ff:fea9:54 # prefixes: 0 Router-LSA (Type: 0x2001) LS Age: 1 seconds Do Not Age: False LSA Type: 0x2001 (Router-LSA) Link State ID: 0.0.0.0 Advertising Router: 10.10.10.10 (10.10.10.10) LS Sequence Number: 0x80000018 LS Checksum: 0x3bff Length: 40 Flags: 0x00 () Options: 0x000033 (DC, R, E, V6) Router Interfaces: Type: 2 (Connection to a transit network) Reserved: 0 Metric: 1 Interface ID: 8 Neighbor Interface ID: 8 Neighbor Router ID: 192.168.0.11 Frame 40 (130 bytes on wire, 130 bytes captured) Ethernet II, Src: ca:01:06:a9:00:54 (ca:01:06:a9:00:54), Dst: IPv6mcast_00:00:00:05 (33:33:00:00:00:05) Destination: IPv6mcast_00:00:00:05 (33:33:00:00:00:05) Source: ca:01:06:a9:00:54 (ca:01:06:a9:00:54) Type: IPv6 (0x86dd) Internet Protocol Version 6 0110 .... = Version: 6 .... 1110 0000 .... .... .... .... .... = Traffic class: 0x000000e0 .... .... .... 0000 0000 0000 0000 0000 = Flowlabel: 0x00000000 Payload length: 76 Next header: OSPF IGP (0x59) Hop limit: 1 Source: fe80::c801:6ff:fea9:54 (fe80::c801:6ff:fea9:54) Destination: ff02::5 (ff02::5) Open Shortest Path First OSPF Header OSPF Version: 3ds Message Type: LS Acknowledge (5) Packet Length: 76 Source OSPF Router: 192.168.0.11 (192.168.0.11) Area ID: 0.0.0.2 Packet Checksum: 0x029f [correct] Instance ID: 0 (IPv6 unicast AF)

Page 113: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 111

Reserved: 0 LSA Header LS Age: 8 seconds Do Not Age: False LSA Type: 0x2001 (Router-LSA) Link State ID: 0.0.0.0 Advertising Router: 10.10.10.10 (10.10.10.10) LS Sequence Number: 0x80000017 LS Checksum: 0x953e Length: 24 LSA Header LS Age: 1 seconds Do Not Age: False LSA Type: 0x0008 (Link-LSA) Link State ID: 0.0.0.8 Advertising Router: 10.10.10.10 (10.10.10.10) LS Sequence Number: 0x8000001a LS Checksum: 0x9ee0 Length: 44 LSA Header LS Age: 1 seconds Do Not Age: False LSA Type: 0x2001 (Router-LSA) Link State ID: 0.0.0.0 Advertising Router: 10.10.10.10 (10.10.10.10) LS Sequence Number: 0x80000018 LS Checksum: 0x3bff Length: 40 Frame 43 (130 bytes on wire, 130 bytes captured) Ethernet II, Src: ca:02:06:a9:00:54 (ca:02:06:a9:00:54), Dst: IPv6mcast_00:00:00:05 (33:33:00:00:00:05) Destination: IPv6mcast_00:00:00:05 (33:33:00:00:00:05) Source: ca:02:06:a9:00:54 (ca:02:06:a9:00:54) Type: IPv6 (0x86dd) Internet Protocol Version 6 0110 .... = Version: 6 .... 1110 0000 .... .... .... .... .... = Traffic class: 0x000000e0 .... .... .... 0000 0000 0000 0000 0000 = Flowlabel: 0x00000000 Payload length: 76 Next header: OSPF IGP (0x59) Hop limit: 1 Source: fe80::c802:6ff:fea9:54 (fe80::c802:6ff:fea9:54) Destination: ff02::5 (ff02::5) Open Shortest Path First OSPF Header OSPF Version: 3 Message Type: LS Update (4) Packet Length: 76 Source OSPF Router: 10.10.10.10 (10.10.10.10) Area ID: 0.0.0.2 Packet Checksum: 0x3650 [correct] Instance ID: 0 (IPv6 unicast AF) Reserved: 0 LS Update Packet Number of LSAs: 1 Link-LSA (Type: 0x0008) LS Age: 1 seconds Do Not Age: False LSA Type: 0x0008 (Link-LSA) Link State ID: 0.0.0.8 Advertising Router: 10.10.10.10 (10.10.10.10) LS Sequence Number: 0x8000001b LS Checksum: 0x5588 Length: 56 Router Priority: 1 Options: 0x000033 (DC, R, E, V6)

Page 114: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 112

Link-local Interface Address: fe80::c802:6ff:fea9:54 # prefixes: 1 PrefixLength: 64 PrefixOptions: 0x00 () Reserved: 0 Address Prefix: 2001:db8:c0a8:3:: Frame 45 (94 bytes on wire, 94 bytes captured) Ethernet II, Src: ca:01:06:a9:00:54 (ca:01:06:a9:00:54), Dst: IPv6mcast_00:00:00:05 (33:33:00:00:00:05) Destination: IPv6mcast_00:00:00:05 (33:33:00:00:00:05) Source: ca:01:06:a9:00:54 (ca:01:06:a9:00:54) Type: IPv6 (0x86dd) Internet Protocol Version 6 0110 .... = Version: 6 .... 1110 0000 .... .... .... .... .... = Traffic class: 0x000000e0 .... .... .... 0000 0000 0000 0000 0000 = Flowlabel: 0x00000000 Payload length: 40 Next header: OSPF IGP (0x59) Hop limit: 1 Source: fe80::c801:6ff:fea9:54 (fe80::c801:6ff:fea9:54) Destination: ff02::5 (ff02::5) Open Shortest Path First OSPF Header OSPF Version: 3 Message Type: Hello Packet (1) Packet Length: 40 Source OSPF Router: 192.168.0.11 (192.168.0.11) Area ID: 0.0.0.2 Packet Checksum: 0x85ef [correct] Instance ID: 0 (IPv6 unicast AF) Reserved: 0 OSPF Hello Packet Interface ID: 8 Router Priority: 1 Options: 0x000013 (R, E, V6) Hello Interval: 10 seconds Router Dead Interval: 40 seconds Designated Router: 192.168.0.11 Backup Designated Router: 10.10.10.10 Active Neighbor: 10.10.10.10 Frame 46 (90 bytes on wire, 90 bytes captured) Ethernet II, Src: ca:01:06:a9:00:54 (ca:01:06:a9:00:54), Dst: IPv6mcast_00:00:00:05 (33:33:00:00:00:05) Destination: IPv6mcast_00:00:00:05 (33:33:00:00:00:05) Source: ca:01:06:a9:00:54 (ca:01:06:a9:00:54) Type: IPv6 (0x86dd) Internet Protocol Version 6 0110 .... = Version: 6 .... 1110 0000 .... .... .... .... .... = Traffic class: 0x000000e0 .... .... .... 0000 0000 0000 0000 0000 = Flowlabel: 0x00000000 Payload length: 36 Next header: OSPF IGP (0x59) Hop limit: 1 Source: fe80::c801:6ff:fea9:54 (fe80::c801:6ff:fea9:54) Destination: ff02::5 (ff02::5) Open Shortest Path First OSPF Header OSPF Version: 3 Message Type: LS Acknowledge (5) Packet Length: 36 Source OSPF Router: 192.168.0.11 (192.168.0.11) Area ID: 0.0.0.2 Packet Checksum: 0x861b [correct] Instance ID: 0 (IPv6 unicast AF) Reserved: 0

Page 115: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 113

LSA Header LS Age: 1 seconds Do Not Age: False LSA Type: 0x0008 (Link-LSA) Link State ID: 0.0.0.8 Advertising Router: 10.10.10.10 (10.10.10.10) LS Sequence Number: 0x8000001b LS Checksum: 0x5588 Length: 56

OSPF sur les WAN (Frame-Relay, ATM) Chez CISCO, on aura le choix de configurer IPv6 sur des subinterfaces ou sur l’interface principale.

Sur l’interface principale comme sur une subinterface multipoint, on pourra mapper les voisins IPv6 sur des PVC Frame-Relay. Par défaut, les multicast et les broadcast ne sont pas permis sur les PVC. Pour que les protocoles de routage fonctionnent, il faut alors configurer les voisins manuellement.

Si on permet les multicast et les broacast, alors le réseau se coomportera comme un réseau Ethernet. Attention sur ce type de réseau, les protocoles de routages ont besoin d’un maillage complet car ils pensent tous être directement connectés.

☼ Si on a pas un maillage complet, il vaudra alors mieux utiliser des subinterfaces point-a-point et multipoint et configurer OSPF en réseau point à point et/ou point à multipoint. Le point à multipoint présente l’avantage d’être trés robuste. Tant qu’il existe un chemin possible, il saura s’adapter à la situation ce qui n’est pas le cas des réseaux Broadcast ou Non Broadcast.

Résea u N ON_BR OADCA ST La configuration de mapping du Frame Relay sur IPv6 permet d’autoriser les broadcast ou pas. Si on ne l’a pas autoriée, broadcast et multicast sont interdits sur le Frame-Relay donc attention aux protocoles de routages ! Ils devront absolument être configuré avec une option neighbor qui permet de configurer des voisins en unicast. Au minimum, chaque routeur aura une commande neighbor vers le DR et une commande neighbor vers le BDR. Dans le cas d’OSPF les Hellos seront envoyés à l’adresse indiquée par la commande neighbor au lieu de FF02::5. . Attention, dans ce mode il est important que tous les routeurs connectés sur le réseau au niveau 2 et 3 soient maillés vers tous les autres voisins de ce réseau. Si un PVC entre deux voisins tombe, les routes passant par ces routeurs vont dropper du trafic.

Ci-dessous, un example avec OSPF : interface Serial2/0 no ip address encapsulation frame-relay ipv6 address FE80::3 link-local ipv6 ospf neighbor FE80::1 ipv6 ospf neighbor FE80::2 ipv6 ospf 1 area 0 serial restart-delay 0 frame-relay map ipv6 FE80::2 302 frame-relay map ipv6 FE80::1 301

Page 116: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 114

R3#show ipv6 ospf interface serial 2/0 Serial2/0 is up, line protocol is up Link Local Address FE80::3, Interface ID 7 Area 0, Process ID 1, Instance ID 0, Router ID 10.1.1.3 Network Type NON_BROADCAST, Cost: 64 Transmit Delay is 1 sec, State DR, Priority 1 Designated Router (ID) 10.1.1.3, local address FE80::3 Backup Designated router (ID) 10.1.1.2, local address FE80::2 Timer intervals configured, Hello 30, Dead 120, Wait 120, Retransmit 5 Hello due in 00:00:09 Graceful restart helper support enabled Index 1/3/3, flood queue length 0 Next 0x0(0)/0x0(0)/0x0(0) Last flood scan length is 1, maximum is 2 Last flood scan time is 0 msec, maximum is 0 msec Neighbor Count is 2, Adjacent neighbor count is 2 Adjacent with neighbor 10.1.1.1 Adjacent with neighbor 10.1.1.2 (Backup Designated Router) Suppress hello for 0 neighbor(s) R3#

Résea u BR OAD CAST On peut cependant utiliser une option qui autorise les broadcast et les multicast à passer sur les réseaux WAN comm Frame-Relay et dans ce cas, pour OSPF on pourra changer le type de réseau en BROADCAST. Attention, dans ce mode il est important que tous les routeurs connectés sur le réseau au niveau 2 et 3 soient maillés vers tous les autres voisins de ce réseau. Si un PVC entre deux voisins tombe, les routes passant par ces routeurs vont dropper du trafic.

CONFIGURATION R1(config-if)#do sh run in s2/0 Building configuration... Current configuration : 242 bytes ! interface Serial2/0 no ip address encapsulation frame-relay ipv6 address FE80::1 link-local ipv6 ospf network broadcast ipv6 ospf 1 area 0 frame-relay map ipv6 FE80::3 103 broadcast ! end

IN TERFACE OSPF R1(config-if)#do show ipv6 ospf interface serial2/0 Serial2/0 is up, line protocol is up Link Local Address FE80::1, Interface ID 7 Area 0, Process ID 1, Instance ID 0, Router ID 10.1.1.1 Network Type BROADCAST, Cost: 64 Transmit Delay is 1 sec, State DROTHER, Priority 1 Designated Router (ID) 10.1.1.3, local address FE80::3 Backup Designated router (ID) 10.1.1.3, local address FE80::3 Timer intervals configured, Hello 10, Dead 40, Wait 120, Retransmit 5 Hello due in 00:00:06 Graceful restart helper support enabled Index 1/3/3, flood queue length 0

Page 117: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 115

Next 0x0(0)/0x0(0)/0x0(0) Last flood scan length is 2, maximum is 2 Last flood scan time is 0 msec, maximum is 0 msec Neighbor Count is 2, Adjacent neighbor count is 0 Suppress hello for 0 neighbor(s)

NE T WORK LSA DU RÉSEAU FRAME-RELAY R2#show ipv6 ospf data network OSPFv3 Router with ID (10.1.1.2) (Process ID 1) Net Link States (Area 0) LS age: 1609 Options: (V6-Bit, E-Bit, R-bit, DC-Bit) LS Type: Network Links Link State ID: 7 (Interface ID of Designated Router) Advertising Router: 10.1.1.3 LS Seq Number: 80000001 Checksum: 0x1EA6 Length: 36 Attached Router: 10.1.1.3 Attached Router: 10.1.1.1 Attached Router: 10.1.1.2

TABLE DE ROU TAGE R2#show ipv6 route IPv6 Routing Table - default - 5 entries Codes: C - Connected, L - Local, S - Static, U - Per-user Static route B - BGP, HA - Home Agent, MR - Mobile Router, R - RIP I1 - ISIS L1, I2 - ISIS L2, IA - ISIS interarea, IS - ISIS summary D - EIGRP, EX - EIGRP external, ND - Neighbor Discovery O - OSPF Intra, OI - OSPF Inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2 ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2 O 2001:DB8:101::/64 [110/65] via FE80::3, Serial2/0 O CAFE::1/128 [110/64] via FE80::1, Serial2/0 LC CAFE::2/128 [0/0] via Loopback0, receive O CAFE::3/128 [110/64] via FE80::3, Serial2/0 L FF00::/8 [0/0] via Null0, receive R2#

Résea u P OINT à MULTIPOINT Dans ce mode l’interface est vue comme un faisceau de liaisons point-à-point avec chacun des voisins. Il est d’ailleurs possible de configurer d’un coté le mode point-to-multipoint et en face des routeurs avec une interface point à point.

C’est le modèle le plus fiable, avec les subinterfaces point-à-point trés proches de cette solution, de tous les modèles présentés pour supporter OSPF sur un réseau Frame-Relay ou ATM. C’est le plus fiable car n’importe quel PVC peut tomber sans que çà ne coupe la communication d’autres routeurs que les deux concernés par la coupure.

Page 118: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 116

R1#sh run int s2/0 Building configuration... Current configuration : 252 bytes ! interface Serial2/0 no ip address encapsulation frame-relay ipv6 address FE80::1 link-local ipv6 ospf network point-to-multipoint ipv6 ospf 1 area 0 frame-relay map ipv6 FE80::3 103 broadcast frame-relay map ipv6 FE80::2 102 broadcast ! end R1>show ipv6 ospf int S2/0 Serial2/0 is up, line protocol is up Link Local Address FE80::1, Interface ID 7 Area 0, Process ID 1, Instance ID 0, Router ID 10.1.1.1 Network Type POINT_TO_MULTIPOINT, Cost: 64 Transmit Delay is 1 sec, State POINT_TO_MULTIPOINT, Timer intervals configured, Hello 30, Dead 120, Wait 120, Retransmit 5 Hello due in 00:00:03 Graceful restart helper support enabled Index 1/3/3, flood queue length 0 Next 0x0(0)/0x0(0)/0x0(0) Last flood scan length is 1, maximum is 2 Last flood scan time is 0 msec, maximum is 0 msec Neighbor Count is 2, Adjacent neighbor count is 2 Adjacent with neighbor 10.1.1.2 Adjacent with neighbor 10.1.1.3 Suppress hello for 0 neighbor(s) R1>sh ipv6 route IPv6 Routing Table - default - 7 entries Codes: C - Connected, L - Local, S - Static, U - Per-user Static route B - BGP, HA - Home Agent, MR - Mobile Router, R - RIP I1 - ISIS L1, I2 - ISIS L2, IA - ISIS interarea, IS - ISIS summary D - EIGRP, EX - EIGRP external, ND - Neighbor Discovery O - OSPF Intra, OI - OSPF Inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2 ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2 O 2001:DB8:101::/64 [110/65] via FE80::3, Serial2/0 O 2001:DB8:F00D:CAFE::2/128 [110/64] via FE80::2, Serial2/0 O 2001:DB8:F00D:CAFE::3/128 [110/64] via FE80::3, Serial2/0 LC CAFE::1/128 [0/0] via Loopback0, receive O CAFE::2/128 [110/64] via FE80::2, Serial2/0 O CAFE::3/128 [110/64] via FE80::3, Serial2/0 L FF00::/8 [0/0] via Null0, receive R1>

CAP TURE

No. Time Source Src Port Destination Dst Port Protocol Info Cumulative bytes Relative time

Page 119: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 117

36 84.231682 fe80::3 fe80::1 OSPF DB Descr. 2100 84.231682 Frame 36 (232 bytes on wire, 232 bytes captured) Frame Relay First address octet: 0x18 0001 10.. = Upper DLCI: 0x06 .... ..0. = CR: Response .... ...0 = EA: More Follows Second address octet: 0x71 0111 .... = Second DLCI: 0x07 .... 0... = FECN: False .... .0.. = BECN: False .... ..0. = DE: False .... ...1 = EA: Last Octet DLCI: 103 Type: IPv6 (0x86dd) Internet Protocol Version 6 0110 .... = Version: 6 .... 1110 0000 .... .... .... .... .... = Traffic class: 0x000000e0 .... .... .... 0000 0000 0000 0000 0000 = Flowlabel: 0x00000000 Payload length: 188 Next header: OSPF IGP (0x59) Hop limit: 1 Source: fe80::3 (fe80::3) Destination: fe80::1 (fe80::1) Open Shortest Path First OSPF Header OSPF Version: 3 Message Type: DB Descr. (2) Packet Length: 188 Source OSPF Router: 10.1.1.3 (10.1.1.3) Area ID: 0.0.0.0 (Backbone) Packet Checksum: 0x0968 [correct] Instance ID: 0 (IPv6 unicast AF) Reserved: 0 OSPF DB Description Reserved: 0 Options: 0x000013 (R, E, V6) Interface MTU: 1500 Reserved: 0 DB Description: 0x01 (MS) DD Sequence: 1478 LSA Header LS Age: 1346 seconds Do Not Age: False LSA Type: 0x2001 (Router-LSA) Link State ID: 0.0.0.0 Advertising Router: 10.1.1.1 (10.1.1.1) LS Sequence Number: 0x80000028 LS Checksum: 0x6a97 Length: 56 LSA Header LS Age: 1360 seconds Do Not Age: False LSA Type: 0x2001 (Router-LSA) Link State ID: 0.0.0.0 Advertising Router: 10.1.1.2 (10.1.1.2) LS Sequence Number: 0x80000023 LS Checksum: 0x58ae Length: 56 LSA Header LS Age: 1390 seconds Do Not Age: False LSA Type: 0x2001 (Router-LSA)

Page 120: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 118

Link State ID: 0.0.0.0 Advertising Router: 10.1.1.3 (10.1.1.3) LS Sequence Number: 0x80000020 LS Checksum: 0x32d7 Length: 56 LSA Header LS Age: 1847 seconds Do Not Age: False LSA Type: 0x0008 (Link-LSA) Link State ID: 0.0.0.7 Advertising Router: 10.1.1.1 (10.1.1.1) LS Sequence Number: 0x8000000b LS Checksum: 0xe294 Length: 44 LSA Header LS Age: 1150 seconds Do Not Age: False LSA Type: 0x0008 (Link-LSA) Link State ID: 0.0.0.7 Advertising Router: 10.1.1.3 (10.1.1.3) LS Sequence Number: 0x8000000b LS Checksum: 0x2750 Length: 56 LSA Header LS Age: 102 seconds Do Not Age: False LSA Type: 0x2009 (Intra-Area-Prefix-LSA) Link State ID: 0.0.0.0 Advertising Router: 10.1.1.1 (10.1.1.1) LS Sequence Number: 0x8000001c LS Checksum: 0xe09b Length: 52 LSA Header LS Age: 1105 seconds Do Not Age: False LSA Type: 0x2009 (Intra-Area-Prefix-LSA) Link State ID: 0.0.0.0 Advertising Router: 10.1.1.2 (10.1.1.2) LS Sequence Number: 0x8000001b LS Checksum: 0x2012 Length: 72 LSA Header LS Age: 904 seconds Do Not Age: False LSA Type: 0x2009 (Intra-Area-Prefix-LSA) Link State ID: 0.0.0.0 Advertising Router: 10.1.1.3 (10.1.1.3) LS Sequence Number: 0x8000001c LS Checksum: 0x9e57 Length: 84

Frame 30 (104 bytes on wire, 104 bytes captured) Frame Relay First address octet: 0x18 0001 10.. = Upper DLCI: 0x06 .... ..0. = CR: Response .... ...0 = EA: More Follows Second address octet: 0x71 0111 .... = Second DLCI: 0x07 .... 0... = FECN: False .... .0.. = BECN: False .... ..0. = DE: False .... ...1 = EA: Last Octet DLCI: 103 Control field: U, func=UI (0x03)

Page 121: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 119

NLPID: IPv6 (0x8e) Internet Protocol Vqersion 6 0110 .... = Version: 6 .... 1110 0000 .... .... .... .... .... = Traffic class: 0x000000e0 .... .... .... 0000 0000 0000 0000 0000 = Flowlabel: 0x00000000 Payload length: 60 Next header: OSPF IGP (0x59) Hop limit: 1 Source: fe80::1 (fe80::1) Destination: fe80::3 (fe80::3) Open Shortest Path First OSPF Header OSPF Version: 3 Message Type: LS Update (4) Packet Length: 60 Source OSPF Router: 10.1.1.1 (10.1.1.1) Area ID: 0.0.0.0 (Backbone) Packet Checksum: 0x62b2 [correct] Instance ID: 0 (IPv6 unicast AF) Reserved: 0 LS Update Packet Number of LSAs: 1 Router-LSA (Type: 0x2001) LS Age: 1 seconds Do Not Age: False LSA Type: 0x2001 (Router-LSA) Link State ID: 0.0.0.0 Advertising Router: 10.1.1.1 (10.1.1.1) LS Sequence Number: 0x8000002e LS Checksum: 0xd98f Length: 40 Flags: 0x00 () Options: 0x000033 (DC, R, E, V6) Router Interfaces: Type: 1 (Point-to-point connection to another router) Reserved: 0 Metric: 64 Interface ID: 7 Neighbor Interface ID: 7 Neighbor Router ID: 10.1.1.3

Subi nt erface s P OINT à P OINT Dans ce mode, chaque PVC sera vu par IPv6 comme une interface point-à-point.

IN TERFACE I PV6 E T OSPF R2# show ipv6 interface S2/0.1 Serial2/0.1 is up, line protocol is up IPv6 is enabled, link-local address is FE80::C801:15FF:FED5:8 No Virtual link-local address(es): Global unicast address(es): 2001:DB8:F00D:CAFE:1::2, subnet is 2001:DB8:F00D:CAFE:1::/96 Joined group address(es): FF02::1 FF02::2 FF02::5 FF02::1:FF00:2 FF02::1:FFD5:8 MTU is 1500 bytes ICMP error messages limited to one every 100 milliseconds ICMP redirects are enabled ICMP unreachables are sent

Page 122: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 120

ND DAD is enabled, number of DAD attempts: 1 ND reachable time is 30000 milliseconds (using 30000) Hosts use stateless autoconfig for addresses. R2# show ipv6 ospf interface S2/0.1 Serial2/0.1 is up, line protocol is up Link Local Address FE80::C801:15FF:FED5:8, Interface ID 17 Area 0, Process ID 1, Instance ID 0, Router ID 10.1.1.2 Network Type POINT_TO_POINT, Cost: 64 Transmit Delay is 1 sec, State POINT_TO_POINT, Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5 Hello due in 00:00:03 Graceful restart helper support enabled Index 1/3/3, flood queue length 0 Next 0x0(0)/0x0(0)/0x0(0) Last flood scan length is 1, maximum is 3 Last flood scan time is 0 msec, maximum is 0 msec Neighbor Count is 1, Adjacent neighbor count is 1 Adjacent with neighbor 10.1.1.1 Suppress hello for 0 neighbor(s)

MAP P ING FRAME-RELAY R2#show frame-relay map Serial2/0.1 (up): point-to-point dlci, dlci 201(0xC9,0x3090), broadcast status defined, active Serial2/0.2 (up): point-to-point dlci, dlci 203(0xCB,0x30B0), broadcast status defined, active R2#show frame-relay pvc PVC Statistics for interface Serial2/0 (Frame Relay DTE) Active Inactive Deleted Static Local 2 0 0 0 Switched 0 0 0 0 Unused 0 0 0 0 DLCI = 201, DLCI USAGE = LOCAL, PVC STATUS = ACTIVE, INTERFACE = Serial2/0.1 input pkts 2408 output pkts 2364 in bytes 303340 out bytes 297578 dropped pkts 0 in pkts dropped 0 out pkts dropped 0 out bytes dropped 0 in FECN pkts 0 in BECN pkts 0 out FECN pkts 0 out BECN pkts 0 in DE pkts 0 out DE pkts 0 out bcast pkts 2359 out bcast bytes 297058 5 minute input rate 0 bits/sec, 0 packets/sec 5 minute output rate 0 bits/sec, 0 packets/sec pvc create time 05:32:46, last time pvc status changed 05:32:46 DLCI = 203, DLCI USAGE = LOCAL, PVC STATUS = ACTIVE, INTERFACE = Serial2/0.2 input pkts 2368 output pkts 2352 in bytes 295742 out bytes 295262 dropped pkts 0 in pkts dropped 0 out pkts dropped 0 out bytes dropped 0 in FECN pkts 0 in BECN pkts 0 out FECN pkts 0 out BECN pkts 0 in DE pkts 0 out DE pkts 0 out bcast pkts 2346 out bcast bytes 294658 5 minute input rate 0 bits/sec, 0 packets/sec 5 minute output rate 0 bits/sec, 0 packets/sec pvc create time 06:02:47, last time pvc status changed 06:02:47

O S PF Poi nt to Mult ipo i nt

Page 123: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 121

Ce mode est sans doute le mode le plus robuste sur un réseau maillé. En effet tant qu’il existe un chemin entre deux routeurs sur le même réseau Frame-Relay ou ATM, le trafic l’utilisera. En effet dans ce mode, le routeur a une route host vers chaque voisin.

Il est possible d ‘avoir des routeurs configurés en point à point face a une interface point à multipoint.

Dans ce mode il n’y a pas de DR, le point à multipoint est une extension du point à point. Il va faire voir le réseau maillé comme un réseau à accés multiple mais conservera une route vers chaaeque voisin du réseau.

I PV6 ROU TE R1#sh ipv6 route *Oct 22 08:25:05.562: %SYS-5-CONFIG_I: Configured from console by console IPv6 Routing Table - default - 7 entries Codes: C - Connected, L - Local, S - Static, U - Per-user Static route B - BGP, HA - Home Agent, MR - Mobile Router, R - RIP I1 - ISIS L1, I2 - wwISIS L2, IA - ISIS interarea, IS - ISIS summary D - EIGRP, EX - EIGRP external, ND - Neighbor Discovery O - OSPF Intra, OI - OSPF Inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2 ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2 O 2001:DB8:101::/64 [110/65] via FE80::3, Serial2/0 O 2001:DB8:F00D:CAFE::2/128 [110/64] via FE80::2, Serial2/0 O 2001:DB8:F00D:CAFE::3/128 [110/64] via FE80::3, Serial2/0 LC CAFE::1/128 [0/0] via Loopback0, receive O CAFE::2/128 [110/64] via FE80::2, Serial2/0 O CAFE::3/128 [110/64] via FE80::3, Serial2/0 L FF00::/8 [0/0] via Null0, receive

CONFIG R1#sh run int s2/0 Building configuration... Current configuration : 252 bytes ! interface Serial2/0 no ip address encapsulation frame-relay ipv6 address FE80::1 link-local ipv6 ospf network point-to-multipoint ipv6 ospf 1 area 0 frame-relay map ipv6 FE80::3 103 broadcast frame-relay map ipv6 FE80::2 102 broadcast ! end

FRAME RELAY MAP R1#sh frame-relay map Serial2/0 (up): ipv6 FE80::2 dlci 102(0x66,0x1860), static, broadcast, CISCO, status defined, active Serial2/0 (up): ipv6 FE80::3 dlci 103(0x67,0x1870), static, broadcast,

Page 124: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 122

CISCO, status defined, active

FRAME RELAY PVC R1#sh frame-relay pvc PVC Statistics for interface Serial2/0 (Frame Relay DTE) Active Inactive Deleted Static Local 2 0 0 0 Switched 0 0 0 0 Unused 0 0 0 0 DLCI = 102, DLCI USAGE = LOCAL, PVC STATUS = ACTIVE, INTERFACE = Serial2/0 input pkts 662 output pkts 669 in bytes 60640 out bytes 60984 dropped pkts 0 in pkts dropped 0 out pkts dropped 0 out bytes dropped 0 in FECN pkts 0 in BECN pkts 0 out FECN pkts 0 out BECN pkts 0 in DE pkts 0 out DE pkts 0 out bcast pkts 546 out bcast bytes 48020 5 minute input rate 0 bits/sec, 0 packets/sec 5 minute output rate 0 bits/sec, 0 packets/sec pvc create time 02:50:01, last time pvc status changed 02:50:01 DLCI = 103, DLCI USAGE = LOCAL, PVC STATUS = ACTIVE, INTERFACE = Serial2/0 input pkts 653 output pkts 666 in bytes 60032 out bytes 60208 dropped pkts 0 in pkts dropped 0 out pkts dropped 0 out bytes dropped 0 in FECN pkts 0 in BECN pkts 0 out FECN pkts 0 out BECN pkts 0 in DE pkts 0 out DE pkts 0 out bcast pkts 546 out bcast bytes 48020 5 minute input rate 0 bits/sec, 0 packets/sec 5 minute output rate 0 bits/sec, 0 packets/sec pvc create time 02:50:02, last time pvc status changed 02:50:02

I PV6 ROU TE R1# sh ipv6 ro IPv6 Routing Table - default - 7 entries Codes: C - Connected, L - Local, S - Static, U - Per-user Static route B - BGP, HA - Home Agent, MR - Mobile Router, R - RIP I1 - ISIS L1, I2 - ISIS L2, IA - ISIS interarea, IS - ISIS summary D - EIGRP, EX – E IGRP external, ND - Neighbor Discovery O - OSPF Intra, OI - OSPF Inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2 ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2 O 2001:DB8:101::/64 [110/65] via FE80::3, Serial2/0 O 2001:DB8:F00D:CAFE::2/128 [110/64] via FE80::2, Serial2/0 O 2001:DB8:F00D:CAFE::3/128 [110/64] via FE80::3, Serial2/0 LC CAFE::1/128 [0/0] via Loopback0, receive O CAFE::2/128 [110/64] via FE80::2, Serial2/0 O CAFE::3/128 [110/64] via FE80::3, Serial2/0

Page 125: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 123

L FF00::/8 [0/0] via Null0, receive

IN T SER2/0 R1#sh interfaces Serial 2/0 Serial2/0 is up, line protocol is up Hardware is M8T-X.21 MTU 1500 bytes, BW 1544 Kbit/sec, DLY 20000 usec, reliability 255/255, txload 1/255, rxload 1/255 Encapsulation FRAME-RELAY, crc 16, loopback not set Keepalive set (10 sec) LMI enq sent 3175, LMI stat recvd 3172, LMI upd recvd 0, DTE LMI up LMI enq recvd 0, LMI stat sent 0, LMI upd sent 0 LMI DLCI 0 LMI type is ANSI Annex D frame relay DTE segmentation inactive FR SVC disabled, LAPF state down Broadcast queue 0/64, broadcasts sent/dropped 5980/2, interface broadcasts 4753 Last input 00:00:03, output 00:00:03, output hang never Last clearing of "show interface" counters 08:49:13 Input queue: 0/75/0/0 (size/max/drops/flushes); Total output drops: 0 Queueing strategy: weighted fair Output queue: 0/1000/64/0 (size/max total/threshold/drops) bs Conversations 0/1/256 (active/max active/max total) Reserved Conversations 0/0 (allocated/max allocated) Available Bandwidth 1158 kilobits/sec 5 minute input rate 0 bits/sec, 0 packets/sec 5 minute output rate 0 bits/sec, 0 packets/sec 9377 packets input, 784184 bytes, 0 no buffer Received 0 broadcasts, 0 runts, 0 giants, 0 throttles 0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored, 0 abort 9408 packets output, 783753 bytes, 0 underruns 0 output errors, 0 collisions, 0 interface resets 0 unknown protocol drops 0 output buffer failures, 0 output buffers swapped out 0 carrier transitions DCD=up DSR=up DTR=up RTS=up CTS=up R1#

Algorithm e du che mi n l e pl us cours Une fois que les databases sont synchronisées, chaque routeur execute l’algorithme du SPF.

Dans cet algorithme, chaque routeur se place à la racine de l’arbre et développe des branches vers tous les autres routeurs du réseau. En même temps qu’il deploit ses branches il met à jour sa table de routage. L’OSPF agagné en simplicité. En effet, on ne trouve plus d’adresses codés dans le Link-ID mais sont maintenant dans le corps du LSA. Un routeur est identifié par un LSA. Un lien de transit est identifié par le Router ID du routeur désigné et un Routeur ID. L’algorithme du meilleur chemin est séâré en deux parties. En premier, l’algorithme du SPF est tourné et en deuxième passe adresses réseaux sont ajoutées comme des feuilles de l’arbre.

La redi str ibut io n dan s O SPF

Un routeur OSPF qui redistribue des routes Externes dans OSPF est appelé un Autonomous System Border Router (ASBR). Chaque route redistribuée fait l’objet d’un LSA Type 5 qui sera floodé dans tout le domaine OSPF à l’exception des area Stubs (ne pas confondre avec les réseaux Stubs !).

Page 126: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 124

Par défaut, les routes redistribuées sont des routes Externes Type 2, c’est à dire que le coût interne pour atteindre l’ASBR n’est pas pris en compte et la route redistribuée aura le même coût dans tout le domaine OSPF. Dans ce cas, on ne veut pas que le coût du chemin jusqu’à l’ASBR puisse favoriser une décision concernant une route Externe.

Si on les redistribue comme des routes Externes de type 1, alors on ajoutera le coût pour atteindre l’ASBR au coût de la route redistribuée.

EMAQ-R02-01#sh ip ospf database ex 163.71.50.11

OSPF Router with ID (163.71.50.19) (Process ID 1)

Type-5 AS External Link States

Routing Bit Set on this LSA

LS age: 1050

Options: (No TOS-capability, DC)

LS Type: AS External Link

Link State ID: 163.71.50.11 (External Network Number )

Advertising Router: 163.71.50.20

LS Seq Number: 80000002

Checksum: 0xD570

Length: 36

Network Mask: /32

Metric Type: 2 (Larger than any link state path)

TOS: 0

Metric: 20

Forward Address: 0.0.0.0

External Route Tag: 0

Probl è m e s pe ndant l’ i n i t ia l i sat io n

LE VOISIN NE MON TE PAS On attend un voisin sur une interface qui ne monte pas. « show ip ospf neighbor » n’affiche aucune donnée concernant ce voisin.

Une interface OSPF envoie des HELLO qui contiennent des valeurs qui doivent impérativement concorder entre voisin.

La commande « debug ip ospf event » ou « debug ip ospf adj » permettra de nous aider à découvrir le paramètre fautif. Par example :

000170: Jun 12 15:04:45.419 GMT+1: OSPF: Mismatched hello parameters from

163.71.50.114

000171: Jun 12 15:04:45.419 GMT+1: OSPF: Dead R 40 C 60, Hello R 10 C 10

Page 127: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 125

Ici le problème est un Dead timer reçu de 40 secondes contre un Dead timer configuré de 60 secondes.

Il suffit de corriger le paramètre incompatible pour que le voisin puisse être vu à nouveau par OSPF.

Le vo is i n r e st e bloqué à l’ é tat EXSTART

EMAQ-RSY-01#sh ip ospf neighbor

Neighbor ID Pri State Dead Time Address Interface

163.71.50.21 0 FULL/ - 00:00:34 163.71.50.123 GigabitEthernet1/22

163.71.50.20 0 FULL/ - 00:00:38 163.71.50.121 GigabitEthernet1/21

163.71.50.8 0 EXSTART/ - 00:00:39 163.71.50.114 Port-channel1

163.71.50.19 0 FULL/ - 00:00:36 163.71.50.113 Port-channel2

Aprés un certains nombre de tentatives infructueuse le voisin passera à l’état DOWN.

000209: Jun 12 15:09:40.267 GMT+1: %OSPF-5-ADJCHG: Process 1, Nbr 163.71.50.8 on

Port-channel1 from EXSTART to DOWN, Neighbor Down: Too many retransmissions

EMAQ-RSY-01#show ip ospf neighbor

000210: Jun 12 15:10:40.267 GMT+1: %OSPF-5-ADJCHG: Process 1, Nbr 163.71.50.8 on

Port-channel1 from DOWN to DOWN, Neighbor Down: Ignore timer expired

EMAQ-RSY-01#show ip ospf neighbor

000211: Jun 12 15:12:49.855 GMT+1: %OSPF-5-ADJCHG: Process 1, Nbr 163.71.50.8 on

Port-channel1 from EXSTART to DOWN, Neighbor Down: Too many retransmissions

EMAQ-RSY-01#sh ip ospf ne

Neighbor ID Pri State Dead Time Address Interface

163.71.50.21 0 FULL/ - 00:00:36 163.71.50.123 GigabitEthernet1/22

163.71.50.20 0 FULL/ - 00:00:38 163.71.50.121 GigabitEthernet1/21

163.71.50.8 0 DOWN/ - - 163.71.50.114 Port-channel1

163.71.50.19 0 FULL/ - 00:00:39 163.71.50.113 Port-channel2

EXSTART signifie que le voisin a déjà passé le test de communication bidirectionnelle (Etat 2WAY). C’est a dire que l’on a reçu les Hello de ce voisin et que l’on s’est vu dans ses Hello. L’étape suivante consiste à élire un Master pour conduire la synchronisation des Databases.

Pendant cette négociation, les routeurs vérifient aussi qu’ils ont le même interface MTU. Dans le cas contraire, la négociation reste bloquée à l’état initial EXSTART.

On vérifiera donc que les deux voisins sont bien configurés avec le même MTU sur leurs interfaces commune.

Commande interface « mtu <length> »

Page 128: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 126

LE VOISIN EST FULL MAIS AUCUNE ROU T E N’EST AP PRISE L’adjacence avec le voisin est FULL mais on constate qu’aucune route n’est apprise par ce voisin.

Dans ce cas il faut suspecter une incompatibilité de type de réseaux.

Si un côté est configuré en Point à Point ou Point à Multipoint et l’autre côté en accès multiple type Broadcast ou Non Broadcast, on pourra faire monter une adjacence OSPF si les valeurs des timers correspondent mais le SPF sera incapable de calculer des routes venant de ce voisin.

On vérifiera que deux voisins sont toujours configurés avec des types de réseaux OSPF compatibles.

Commande interface « ip ospf network <type> »

ISISv6 ISIS est un protocole de routage très voisin d’OSPF. Il a été développé pour router le trafic ISO CLNS.

Adaptabl e à n’ i mporte que l protoco l e . Toutefois, grâce a la codification des préfix annoncés en Type Length Value ou TLV, il est très facile de l’adapter a n‘importe quel protocole.

Un grand nombr e de rout e ur dans un e me m e a ir e. Très vite il a été adopté par la communauté IP en raison de sa grande stabilité et sa capacité à accommoder un grand nombre de routeur dans une même area.

Rafra ich i s se m e nt des LSP. Un autre avantage d’ISIS sur OSPF est le paramétrage des rafraîchissements des LSP. En effet avec OSPF le MAXAGE est de une heure et le rafraîchissement des LSA est code en dur toutes les 30 minutes. Lorsque le timer atteint MAXAGE, le LSA est détruit.

Avec ISIS on est plus libre car c’est un compte a rebours. On programme le timers et lorsque celui-ci atteint zéro, le LSP est purge. Il est alors très facile de programmer des valeurs de l’ordre de 18 heures avant un rafraîchissement.

Déve loppe urs ISIS trè s act if s. Les équippes de développement ISIS chez CISCO était très actifs pour délivrer des fonctionalités rendant ISIS très attractif pour les Service Providers. Un exemple de ces fonctionnalités est les Mesh groups pour optimiser le flooding sur un réseau fortement maillé. Aujourd’hui les développeurs OSPF ont rattrappe le retard et il n’y a plus vraiment d’avantage a opter pour l’un plutôt que l’autre.

Routag e h i erarch iqu e à de ux n ivea ux.

Page 129: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 127

ISIS supporte également un routage a deux niveau. On aura les routeurs de niveau 1 qui doivent être connectés a un routeur du Backbone de niveau 2. Les routeurs de niveau 1 connaissent toutes les routes de leur area et ont une route par défaut vers le backbone pour joindre toutes les autres destinations. Je n’ai cependant pas connaissance de réseaux importants qui ont implémente le routage a deux niveaux. ISIS permet de gérer un grand nombre de routeurs dans une même area et il n’y a pas ou très eu de réseau qui justifie la complexité d’un routage a deux niveaux.

Rout e urs Dé s ig n é . Sur les réseaux à accès multiple, on aura également un routeur désigné qui sera élu et dont le role sera de générer à intervalle régulier un CSNP contenant les en-têtes de tous les LSP de l’aire. Ceci pour permettre aux autres routeurs du réseau de vérifier qu’ils possèdent bien la dernière version de tous les LSP.

Si ce n’est pas le cas ils font la demande au routeur désigné qui doit répondre avec le LSP demandé.

Comme le routeur désigné n’a pas d’état à maintenir, il n’est pas utile d’avoir un backup. Si le routeur désigné meurt et qu’on ne l’entend plus emettre ses CSNP, un nouveau routeur désigné sera élu en fonction de sa priorité. Contrairement à OSPF, si un routeur à une meilleur priorité que l0e routeur désigné courant, il devient immédiatement le nouveau routeur désigné.

L’Algorith m e du ch e mi n l e pl u s court (SPF) Pour celui qui veut approfondir sa connaissance en IS-IS, je recommende la lecture du livre « IS-IS Network Design Solutions » aux editions CiscoPress de mon ex collegue Scott Sturgess. Le SPF est un algorithme simple de la théorie des graphes. On part avec trois ensembles : L’esemble des Inconnus (Unknown), des tentative (TENT) et du chemin (PATH). Dans PATH on mettra les routeurs au fur et à mesure qu’on les calcule comme étant le prochain step et dans les TENT, les tentatives.

On prends le premier chemin pour aller vers un point au cout le plus bas. On le met dans PATH et on met tous ses voisins dans TENT. On calcule le point de départ plus le premier routeur et on a son coût.

Voici un example de SPF exécuté pas à pas.

Page 130: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 128

(AC, 1), (AB, 1), (BC, 3), (BD, 2), (CE,1), (DE,3)

On représente chaque LSP avec le Router destination et le cout associé. Exemple : (AC, 1) cout de A vers C est de 1.

Sur chaque ligne, le dernier chiffre est le cout du chemin. Exemple : (AB, 1), (BD, 2) 3 Next-hop B. Le cout du chemin est de 3.

1ere Etape

PATH : (AB, 1) 1

TENT : (AC, 1)

UNK : (BD, 2) , (BC, 3), (CE, 1), (DE, 3)

2eme Etape

PATH : (AB, 1) 1 (AC, 1) 1

Page 131: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 129

TENT : (BC, 3), (CE, 1), (BD, 2)

UNK : (DE, 3)

3eme Etape :

PATH : (AB, 1) 1 (AC, 1),(CE, 1) 2

TENT : (DE, 3), (BC, 3), (BD, 2)

4eme Etape :

PATH : (AB, 1) (AC, 1),(CE, 1) 2 Next-hop C

TENT : (DE, 3)5, (BC, 3)4, (BD, 2)3

5eme Etape :

PATH : (AB, 1), (BD, 2) 3 Next-hop B (AC, 1),(CE, 1) 2

TENT : (DE, 3)5, (BC, 3)4

6eme Etape :

PATH : (AB, 1), (BD, 2) 3 Next-hop B (AC, 1),(CE, 1) 2 Next-hop C

TENT : (DE, 3)5, (BC, 3)4

7eme Etape :

PATH : (AB, 1), (BD, 2) 3 Next-hop B , (BC, 3) 4 Next-hop B (AC, 1), (CE, 1) 2 Next-hop C

TENT : (DE, 3)5

8eme Etape :

PATH : (AB, 1), (BD, 2) 3 Next-hop B, (BC, 3) 4 Next-hop B (AC, 1), (CE, 1), (DE, 3) 5 Next-hop C

Page 132: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 130

Co nf ig urat io n et ver if icat io n d’ISISv6. Pour supporter IPv6, de nouveaux TLV ont été introduits.

Pour configurer ISIS, il faut tout d’abord assigner un net au router avec la commande

router isis net 49.0000.0000.0002.00

Puis aller sur les interfaces ou ISIS doit etre activé et configurer :

interface FastEthernet3/0 ipv6 address DEAD:BEEF::1/64 ipv6 router isis

La première commande pour troubleshooter un soucis avec ISIS est de vérifier que les interfaces sont bien configurées :

R2#show clns int f3/0 FastEthernet3/0 is up, line protocol is up Checksums enabled, MTU 1497, Encapsulation SAP ERPDUs enabled, min. interval 10 msec. CLNS fast switching enabled CLNS SSE switching disabled DEC compatibility mode OFF for this interface Next ESH/ISH in 46 seconds Routing Protocol: IS-IS Circuit Type: level-1-2 Interface number 0x1, local circuit ID 0x2 Level-1 Metric: 10, Priority: 64, Circuit ID: R2.02 DR ID: R2.02 Level-1 IPv6 Metric: 10 Number of active level-1 adjacencies: 1 Level-2 Metric: 10, Priority: 64, Circuit ID: R2.02 DR ID: R2.02 Level-2 IPv6 Metric: 10 Number of active level-2 adjacencies: 1 Next IS-IS LAN Level-1 Hello in 618 milliseconds Next IS-IS LAN Level-2 Hello in 640 milliseconds

La deuxième commande de troubleshooting est « show clns neighbor » afin de vérifier que nous voyons bien nos voisins ISIS sur les bonnes interfaces :

R2#show clns neighbor detail Tag null: System Id Interface SNPA State Holdtime Type Protocol R1 Fa3/0 ca01.06a9.0054 Up 25 L1L2 IS-IS Area Address(es): 49 IPv6 Address(es): FE80::C801:6FF:FEA9:54 Uptime: 00:29:34 NSF capable Interface name: FastEthernet3/0

Page 133: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 131

ISIS utilise un protocole Hello pour découvrir ses voisins. Les messages Hello sont envoyes au MTU de façons a vérifier que les MTU sont bien les même sur toutes les interfaces connectées a ce réseau.

Enfin si tout cela coïncide, vérifier alors la base de donnée ISIS :

R2#show isis database R2.00-00 detail Tag null: IS-IS Level-1 LSP R2.00-00 LSPID LSP Seq Num LSP Checksum LSP Holdtime ATT/P/OL R2.00-00 * 0x00000006 0x5D9D 858 0/0/0 Area Address: 49.0000.00 NLPID: 0x8E Hostname: R2 IPv6 Address: CAFE::2 Metric: 10 IPv6 2001:DB8:C0A8:3::/64 Metric: 10 IPv6 CAFE::2/128 Metric: 10 IS R2.02 IS-IS Level-2 LSP R2.00-00 LSPID LSP Seq Num LSP Checksum LSP Holdtime ATT/P/OL R2.00-00 * 0x00000006 0x02F8 1077 0/0/0 Area Address: 49.0000.00 NLPID: 0x8E Hostname: R2 IPv6 Address: CAFE::2 Metric: 10 IS R2.02 Metric: 10 IPv6 2001:DB8:C0A8:3::/64 Metric: 10 IPv6 CAFE::2/128

Capture d’un Paquets Hello

No. Time Source Src Port Destination Dst Port Protocol Info Cumulative bytes Relative time 73611 21300.587523 ca:01:04:94:00:06 ISIS-all-level-2-IS's ISIS L2 HELLO, System-ID: 0000.0000.0001 40081 21300.587523 Frame 73611 (1518 bytes on wire, 1518 bytes captured) Ethernet II, Src: ca:01:04:94:00:06 (ca:01:04:94:00:06), Dst: ISIS-all-level-2-IS's (01:80:c2:00:00:15) Destination: ISIS-all-level-2-IS's (01:80:c2:00:00:15) Source: ca:01:04:94:00:06 (ca:01:04:94:00:06) Type: 802.1Q Virtual LAN (0x8100) 802.1Q Virtual LAN, PRI: 0, CFI: 0, ID: 11 000. .... .... .... = Priority: 0 ...0 .... .... .... = CFI: 0 .... 0000 0000 1011 = ID: 11 Length: 1500 Logical-Link Control ISO 10589 ISIS InTRA Domain Routeing Information Exchange Protocol Intra Domain Routing Protocol Discriminator: ISIS (0x83) PDU Header Length : 27 Version (==1) : 1 System ID Length : 0 PDU Type : L2 HELLO (R:000) Version2 (==1) : 1 Reserved (==0) : 0 Max.AREAs: (0==3) : 0 ISIS HELLO Circuit type : Level 2 only, reserved(0x00 == 0) System-ID {Sender of PDU} : 0000.0000.0001 Holding timer : 10 PDU length : 1497 Priority : 64, reserved(0x00 == 0) System-ID {Designated IS} : 0000.0000.0001.02 Protocols Supported (1)

Page 134: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 132

Area address(es) (2) IPv6 Interface address(es) (16) IPv6 interface address : fe80::c801:4ff:fe94:6 (fe80::c801:4ff:fe94:6) Restart Signaling (3) IS Neighbor(s) (6) IS Neighbor: ca:00:04:94:00:06 Padding (255) Padding (255) Padding (255) Padding (255) Padding (255) Padding (145) Capture d’un CSNP No. Time Source Src Port Destination Dst Port Protocol Info Cumulative bytes Relative time 73588 21294.498975 ca:01:04:94:00:06 ISIS-all-level-2-IS's ISIS L2 CSNP, Source-ID: 0000.0000.0001.00, Start LSP-ID: 0000.0000.0000.00-00, End LSP-ID: ffff.ffff.ffff.ff-ff 32491 21294.498975 Frame 73588 (104 bytes on wire, 104 bytes captured) Ethernet II, Src: ca:01:04:94:00:06 (ca:01:04:94:00:06), Dst: ISIS-all-level-2-IS's (01:80:c2:00:00:15) Destination: ISIS-all-level-2-IS's (01:80:c2:00:00:15) Source: ca:01:04:94:00:06 (ca:01:04:94:00:06) Type: 802.1Q Virtual LAN (0x8100) 802.1Q Virtual LAN, PRI: 0, CFI: 0, ID: 11 000. .... .... .... = Priority: 0 ...0 .... .... .... = CFI: 0 .... 0000 0000 1011 = ID: 11 Length: 86 Logical-Link Control ISO 10589 ISIS InTRA Domain Routeing Information Exchange Protocol Intra Domain Routing Protocol Discriminator: ISIS (0x83) PDU Header Length : 33 Version (==1) : 1 System ID Length : 0 PDU Type : L2 CSNP (R:000) Version2 (==1) : 1 Reserved (==0) : 0 Max.AREAs: (0==3) : 0 ISO 10589 ISIS Complete Sequence Numbers Protocol Data Unit PDU length: 83 Source-ID: 0000.0000.0001.00 Start LSP-ID: 0000.0000.0000.00-00 End LSP-ID: ffff.ffff.ffff.ff-ff LSP entries (48) LSP-ID: 0000.0000.0001.00-00, Sequence: 0x00000004, Lifetime: 1178s, Checksum: 0xe12e LSP-ID: 0000.0000.0001.02-00, Sequence: 0x00000001, Lifetime: 1176s, Checksum: 0x1abf LSP-ID: 0000.0000.0002.00-00, Sequence: 0x00000003, Lifetime: 1173s, Checksum: 0xbb6f Capture d’un LSP No. Time Source Src Port Destination Dst Port Protocol Info Cumulative bytes Relative time 73481 21270.136758 ca:00:04:94:00:06 ISIS-all-level-2-IS's ISIS L2 LSP, LSP-ID: 0000.0000.0002.00-00, Sequence: 0x00000003, Lifetime: 1199s 10733 21270.136758 Frame 73481 (107 bytes on wire, 107 bytes captured) Ethernet II, Src: ca:00:04:94:00:06 (ca:00:04:94:00:06), Dst: ISIS-all-level-2-IS's (01:80:c2:00:00:15) Destination: ISIS-all-level-2-IS's (01:80:c2:00:00:15) Source: ca:00:04:94:00:06 (ca:00:04:94:00:06) Type: 802.1Q Virtual LAN (0x8100) 802.1Q Virtual LAN, PRI: 0, CFI: 0, ID: 11 000. .... .... .... = Priority: 0 ...0 .... .... .... = CFI: 0 .... 0000 0000 1011 = ID: 11 Length: 89 Logical-Link Control ISO 10589 ISIS InTRA Domain Routeing Information Exchange Protocol Intra Domain Routing Protocol Discriminator: ISIS (0x83) PDU Header Length : 27

Page 135: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 133

Version (==1) : 1 System ID Length : 0 PDU Type : L2 LSP (R:000) Version2 (==1) : 1 Reserved (==0) : 0 Max.AREAs: (0==3) : 0 ISO 10589 ISIS Link State Protocol Data Unit PDU length: 86 Remaining lifetime: 1199 LSP-ID: 0000.0000.0002.00-00 Sequence number: 0x00000003 Checksum: 0xbb6f [correct] Type block(0x03): Partition Repair:0, Attached bits:0, Overload bit:0, IS type:3 0... .... = Partition Repair: Not supported .000 0... = Attachment: 0 .... .0.. = Overload bit: Not Set .... ..11 = Type of Intermediate System: Level 2 (3) Area address(es) (2) Area address (1): 49 Protocols supported (1) NLPID(s): IPv6 (0x8e) Hostname (2) Hostname: R1 IPv6 Interface address(es) (16) IPv6 interface address: 2001:db8:cafe:11::1 (2001:db8:cafe:11::1) IS Reachability (12) Reserved value 0x00, must == 0 IS Neighbor: 0000.0000.0001.02 Default Metric: 10, Internal Delay Metric: Not supported Expense Metric: Not supported Error Metric: Not supported IPv6 reachability (14) IPv6 prefix: 2001:db8:cafe:11::/64, Metric: 10, Distribution: up, internal, no sub-TLVs present IPv6 prefix: 2001:db8:cafe:11::/64 Metric: 10 Distribution: up, internal no sub-TLVs present

MP-BGP BGP4 a ete developpé pour supporter IPv4. Avec le RFC2258, il est devenu multi-protocole et il sait transporter des adresses de n’importe quel protocole. Il fallait egalement que BGP puisse fonctionner sur IPv6 au lieu d’IPv4. Ceci etant devenu possible, BGP sait maintenant s’accomoder de toutes les situations pour lesquelles on veut l’utiliser pour router du trafic IPv6. Que l’on soit dans un environement IPv6 ou les sessions BGP doivent s’etablir sur IPv6 ou si nous sommes dans le cas ou IPv6 doit etre encapsule dans IPv4 pour traverser un internet IPv4 voir meme IPv4 et MPLS.

Protoco l e EGP Path V ector BGP est un protocole de routage à vecteur de chemin (path vector) spécialisé dans le routage entre systèmes autonomes. Il permet donc un routage stratégique entre plusieurs systèmes autonomes. Il est documenté dans le RFC1771.

BGP maintient une table de tous les chemins appris par ses pairs. Cette table est régulièrement parcourue pour vérifier si son contenu doit modifier la table de routage.

Attr ibuts BGP

Page 136: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 134

Les routes sont codées sous la forme d‘une adresse IP destination ou Network Layer Reachability Information (NLRI) et d’un ou plusieurs chemins codés chacun dans des attributs de chemin (path attribute). Les chemins comportent le next hop, la liste des systèmes autonomes traversés ainsi que quelques autres attributs. Ces attributs permettent à l’algorithme de sélection du meilleur chemin de prendre une décision pour chaque destination.

LES CATEGORIES D’A T TRIBU TS Les attributs de chemins BGP se classent dans quatre catégories :

W e l l- known mandatory. L’attribut BGP doit être obligatoirement implémenté (Well-known) et présent dans tous les Updates (Well-known Mandatory)

W e l l- known di scr et ionary. L’attribut BGP doit être obligatoirement implémenté (Well-known) mais pas forcément présent dans tous les Updates (discretionary)

Opt io nal trans i t ive. L’attribut BGP n’est pas présent dans toutes les implémentation (Optional) mais doit être transmis vers un voisin tel quel si il n’est pas compris par un routeur BGP (transitive).

Opt io na l no n-tran s i t ive. L’attribut BGP n’est pas présent dans toutes les implémentation (Optional) et doit être silencieusement ignoré si il n’est pas compris par un routeur BGP (non-transitive).

Les attributs BGP sont les suivants :

W e igth

Le poids (weigth) est un attribut CISCO. Il n’est pas transmis à aucun voisin. La route avec le poids le plus fort sera installée dans la table de routage.

Local Pref er e nc e

Type Code 5, Well-known, discretionary.

Le Local Preference est passé aux voisins BGP. La route avec la meilleure (la plus haute) préférence locale sera installée dans la table de routage. R3#show ip bgp 10.0.0.1 BGP routing table entry for 10.0.0.1/32, version 8 Paths: (2 available, best #1, table default, RIB-failure(17)) Advertised to update-groups: 18 Local 10.0.0.1 (metric 2) from 10.0.0.1 (10.0.0.1)

Origin incomplete, metric 0, localpref 100, valid, internal, best

Local

10.0.0.1 (metric 2) from 10.0.0.2 (10.0.0.2)

Page 137: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 135

Origin incomplete, metric 0, localpref 100, valid, internal Originator: 10.0.0.1, Cluster list: 10.0.0.2

Mult i-Exit Discr i mi nator

Type Code 4, Optional, Non-transitive.

Le MED donne une suggestion de préférence pour qu’un système autonome externe choisisse une route plutôt qu’une autre. L’attribut est positionné dans la route annoncée à un peer BGP.

Ce champs est affichée comme un « metric » dans la commande « show ip bgp » et « show ip route » et il est initialisé à 0. Il peut être changé par une route-map comme la plupart des attributs. R3>show ip bgp 192.192.10.10 BGP routing table entry for 192.192.10.10/32, version 5 Paths: (1 available, best #1, table default) Advertised to update-groups:

Page 138: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 136

Page 139: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 137

17 1 100 192.168.5.4 from 192.168.5.4 (193.10.10.10) Origin EGP, metric 10, localpref 100, valid, external, best R3>sh ip ro 192.192.10.10 Routing entry for 192.192.10.10/32 Known via "bgp 65000", distance 20, metric 10 Tag 1, type external Last update from 192.168.5.4 01:21:39 ago Routing Descriptor Blocks: * 192.168.5.4, from 192.168.5.4, 01:21:39 ago Route metric is 10, traffic share count is 1 AS Hops 2 Route tag 1 MPLS label: none

Or ig i n

Type code 1. Well-known Mandatory.

L’Origin indique comment BGP a appris une route. Elle peut être IGP, EGP ou Incomplete.

Sur un routeur CISCO, IGP lorsque la commande « network » ou « aggregate-address » a été utilisée pour annoncer la route. Incomplete lorsque la route a été redistribuée dans BGP. EGP lorsque la route a été apprise par eBGP. Cette valeur peut être positionnée par un route-map. R3#show ip bgp 10.0.0.1 BGP routing table entry for 10.0.0.1/32, version 8

Page 140: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 138

Paths: (2 available, best #1, table default, RIB-failure(17)) Advertised to update-groups: 18 Local 10.0.0.1 (metric 2) from 10.0.0.1 (10.0.0.1) Origin incomplete, metric 0, localpref 100, valid, internal, best Local 10.0.0.1 (metric 2) from 10.0.0.2 (10.0.0.2) Origin incomplete, metric 0, localpref 100, valid, internal Originator: 10.0.0.1, Cluster list: 10.0.0.2 R3#show ip bgp 192.192.10.10 BGP routing table entry for 192.192.10.10/32, version 5 Paths: (1 available, best #1, table default) Advertised to update-groups: 17 1 100 192.168.5.4 from 192.168.5.4 (193.10.10.10) Origin EGP, metric 10, localpref 100, valid, external, best R1#sh ip bgp 194.0.0.0 BGP routing table entry for 194.0.0.0/8, version 68 Paths: (1 available, best #1, table default) Advertised to update-groups: 3 Local, (aggregated by 65000 10.0.0.1) 0.0.0.0 from 0.0.0.0 (10.0.0.1) Origin IGP, localpref 100, weight 32768, valid, aggregated, local, atomic-aggregate, best Community: 6554500

AS-Path

Type Code 2. Well-known, Mandatory.

L’AS Path est une liste ordonnée (AS_SEQUENCE) des numéros de systèmes autonomes traversés par un chemin. Si BGP reçoit une route vers une adresse et qu’il trouve son propre numéro d’AS dans ce chemin, il rejettera la route ayant détecté une boucle. Si une route est summarisée la liste n’est plus ordonnée (AS_SET).

R3#show ip bgp 192.192.10.10

BGP routing table entry for 192.192.10.10/32, version 5

Paths: (1 available, best #1, table default)

Advertised to update-groups:

17

1 100 192.168.5.4 from 192.168.5.4 (193.10.10.10)

Origin EGP, metric 10, localpref 100, valid, external, best

Next-hop

Type code 3. Well-known, Mandatory.

Un routeur BGP répète à tous ses peers iBGP les routes apprises par un voisin eBGP.

Page 141: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 139

Par défaut il ne modifie pas l’attribut Next Hop avant de relayer la route vers ses voisins iBGP.

Le next hop devant être joignable pour que la route soit utilisable, il faudra veiller à ce que les routeurs qui doivent utiliser cette route puissent joindre ce next hop.

Une alternative consiste à modifier le next hop de façon à ce que le peer iBGP qui relaye la route devienne lui-même le next hop.

Ci-dessous un exemple de chemin avec un Next Hop en rouge, inaccessible, en conséquence la route ne sera pas installée dans la RIB� (table de routage):

R1#show ip bgp 192.192.10.10

BGP routing table entry for 192.192.10.10/32, version 0

Paths: (1 available, no best path)

Not advertised to any peer

1

192.168.5.4 (inaccessible) from 10.0.0.3 (10.0.0.3)

Origin incomplete, metric 0, localpref 100, valid, internal

En effet, ce chemin est appris par iBGP d’un voisin qui l’a lui-même appris par un autre voisin eBGP (ci-dessous) et l’on voit bien que le next hop 192.168.5.4 a été transmis tel quel.

R3#show ip bgp 192.192.10.10

BGP routing table entry for 192.192.10.10/32, version 2

Paths: (1 available, best #1, table default)

Advertised to update-groups:

2

1

192.168.5.4 from 192.168.5.4 (192.168.5.4) Origin incomplete, metric 0, localpref 100, valid, external, best

Il suffit d’utiliser la commande de configuration BGP « neighbor … next-hop-self » pour que le routeur BGP change l’attribut next hop avant de relayer la route à ce « voisin ».

R3#configure term

Enter configuration commands, one per line. End with CNTL/Z.

R3(config)#router bgp 65000

R3(config-router)#neighbor 10.0.0.1 next-hop-self R3(config-router)#

Et on peut observer immédiatement sur le voisin iBGP R1 que la route est apprise en utilisant comme next hop, non plus l’adresse du voisin eBGP à l’origine de la route mais bien 10.0.0.3, l’adresse de la loopback du routeur BGP R3 qui a relayé la route vers le voisin 10.0.0.1.

R1#show ip bgp 192.192.10.10

BGP routing table entry for 192.192.10.10/32, version 4

Paths: (1 available, best #1, table default)

Page 142: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 140

Not advertised to any peer

1

10.0.0.3 (metric 2) from 10.0.0.3 (10.0.0.3) Origin incomplete, metric 0, localpref 100, valid, internal, best

R1#show ip route 192.192.10.10

Routing entry for 192.192.10.10/32

Known via "bgp 65000", distance 200, metric 0

Tag 1, type internal

Last update from 10.0.0.3 00:02:38 ago

Routing Descriptor Blocks:

* 10.0.0.3, from 10.0.0.3, 00:02:38 ago

Route metric is 0, traffic share count is 1

AS Hops 1

Route tag 1

MPLS label: none

Atomic Aggregate

Type Code 6, Well-known, discretionary.

Si la route est une route summarisée, l’attribut Atomic Aggregate sera présent. R1#sh ip bgp 194.0.0.0 BGP routing table entry for 194.0.0.0/8, version 67 Paths: (1 available, best #1, table default) Advertised to update-groups: 3 Local, (aggregated by 65000 10.0.0.1) 0.0.0.0 from 0.0.0.0 (10.0.0.1) Origin IGP, localpref 100, weight 32768, valid, aggregated, local, atomic-aggregate, best

Aggregator

Type Code 7, Optional, Transitive. Permet de donner des informations (adresse IP, numéro d’AS) sur le routeur qui est à l’origine d’une agrégation.

R1#sh ip bgp 194.0.0.0

BGP routing table entry for 194.0.0.0/8, version 67

Paths: (1 available, best #1, table default)

Advertised to update-groups:

3

Local, (aggregated by 65000 10.0.0.1)

0.0.0.0 from 0.0.0.0 (10.0.0.1)

Origin IGP, localpref 100, weight 32768, valid, aggregated, local, atomic-

aggregate, best

Co m mu nity

Type Code 8. Optional, Transitive. L’attribut Community permet d’attribuer un traitement commun aux routes qui le contiennent.

Page 143: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 141

Attention ! il est nécessaire de configurer les voisins vers lesquels les UPDATE contiendront l’attribut community par « neighbor <adresse IP> send-community ».

Certaines community ont un comportement bien spécifique comme :

No-Export. Ne pas annoncer cette route aux peer eBGP.

No-Advertise. Ne pas annoncer cette route à aucun voisin R1#sh ip bgp 194.0.0.0 BGP routing table entry for 194.0.0.0/8, version 68 Paths: (1 available, best #1, table default) Advertised to update-groups: 3 Local, en(aggregated by 65000 10.0.0.1) 0.0.0.0 from 0.0.0.0 (10.0.0.1) Origin IGP, localpref 100, weight 32768, valid, aggregated, local, atomic-aggregate, best Community: 6554500

MP_REACH_NLRI MP_UNREACH_NLRI

Type Code 14 et 15. Optionnels et non-transitifs. Ces attributs furent introduits avec l’extension multiprotocole de BGP4. Ils servent à véhiculer un ou plusieurs NLRI et leur next hop. MP_REACH_NLRI pour ajouter des routes et MP_UNREACH_NLRI pour retirer des routes. On les rencontrera si BGP est utilisé pour le routage d’IPv6, du multicast ou de MPLS-VPN par exemple.

Ethernet II, Src: ca:02:0f:4c:00:1c (ca:02:0f:4c:00:1c), Dst: ca:01:0f:4c:00:1c (ca:01:0f:4c:00:1c) Internet Protocol Version 6 Transmission Control Protocol, Src Port: bgp (179), Dst Port: 37393 (37393), Seq: 73, Ack: 73, Len: 109 Border Gateway Protocol UPDATE Message Marker: 16 bytes Length: 109 bytes Type: UPDATE Message (2) Unfeasible routes length: 0 bytes Total path attribute length: 86 bytes Path attributes ORIGIN: INCOMPLETE (4 bytes) Flags: 0x40 (Well-known, Transitive, Complete) Type code: ORIGIN (1) Length: 1 byte Origin: INCOMPLETE (2) AS_PATH: 1 (9 bytes) Flags: 0x40 (Well-known, Transitive, Complete) Type code: AS_PATH (2) Length: 6 bytes AS path: 1 MULTI_EXIT_DISC: 0 (7 bytes) Flags: 0x80 (Optional, Non-transitive, Complete) Type code: MULTI_EXIT_DISC (4) Length: 4 bytes Multiple exit discriminator: 0 MP_REACH_NLRI (66 bytes) Flags: 0x80 (Optional, Non-transitive, Complete) Type code: MP_REACH_NLRI (14) Length: 63 bytes Address family: IPv6 (2) Subsequent address family identifier: Unicast (1) Next hop network address (32 bytes) Next hop: 2001:1::3 (16) Next hop: fe80::c802:fff:fe4c:1c (16)

Page 144: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 142

Subnetwork points of attachment: 0 Network layer reachability information (26 bytes) 2001:1::/64 MP Reach NLRI prefix length: 64 MP Reach NLRI prefix: 2001:1:: bad:cafe:3::1/128 MP Reach NLRI prefix length: 128 MP Reach NLRI prefix: bad:cafe:3::1

Exempl e

Dans l’exemple ci-dessous, on redistribue les routes connectées de façon contrôlée à l’aide de la route-map toBGP. Cette route-map stipule que la route 192.192.10.10 sera redistribuée avec une ORIGIN EGP venant du système autonome 100 et un MED égal à 10. Les autres routes connectées sont redistribuées avec un poids (weight) de 60000.

Configuration du routeur et show command ci-dessous : router bgp 1 synchronization bgp log-neighbor-changes bgp dampening redistribute connected route-map toBGP neighbor 192.168.5.3 remote-as 65000 no auto-summary ! access-list 10 permit 192.192.10.10 ! route-map toBGP permit 10 match ip address 10 set metric 10 set origin egp 100 ! route-map toBGP permit 20 set weight 60000 RIN# show ip bgp 192.192.10.10 BGP routing table entry for 192.192.10.10/32, version 23 Paths: (1 available, best #1, table default) Advertised to update-groups: 9 100 0.0.0.0 from 0.0.0.0 (193.10.10.10) Origin EGP, metric 10, localpref 100, weight 32768, valid, sourced, best RIN# show ip bgp 193.10.10.10 BGP routing table entry for 193.10.10.10/32, version 6 Paths: (1 available, best #1, table default) Advertised to update-groups: 9 Local 0.0.0.0 from 0.0.0.0 (193.10.10.10) Origin incomplete, metric 0, localpref 100, weight 60000, valid, sourced, best RIN# show ip ro 192.192.10.10 Routing entry for 192.192.10.10/32 Known via "connected", distance 0, metric 0 (connected, via interface) Redistributing via bgp 1 Advertised by bgp 1 route-map toBGP Routing Descriptor Blocks: * directly connected, via Loopback0 Route metric is 0, traffic share count is 1 RIN# show ip ro 193.10.10.10 Routing entry for 193.10.10.10/32 Known via "connected", distance 0, metric 0 (connected, via interface) Redistributing via bgp 1

Page 145: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 143

Advertised by bgp 1 route-map toBGP Routing Descriptor Blocks: * directly connected, via Loopback10 Route metric is 0, traffic share count is 1

Voisins BGP Les routeurs BGP vont échanger leurs tables BGP avec leurs pairs sur le réseau IP.

Co uch e Transport

BGP repose sur TCP et n’a donc pas besoin de gérer la fragmentation des messages et leurs bonnes transmissions. Après qu’un routeur se soit synchronisé initialement avec ses voisins, seules les mises à jour des tables BGP sont transmises quand c’est nécessaire. C’est pour çà que BGP garde en mémoire un numéro de version pour sa table BGP.

Pour conserver une session BGP ouverte, un routeur envoie un KEEPALIVE régulièrement, avant que le Hold Time expire. La valeur du « Hold Time » est négociée à l’ouverture de la session BGP. Par défaut, un KEEPALIVE est généré toutes les 60 secondes et le Hold Time est configuré à 180 secondes.

Exemple de peer BGP : BGP neighbor is 192.168.5.4, remote AS 1, external link BGP version 4, remote router ID 192.192.10.10 BGP state = Established, up for 00:13:57 Last read 00:00:20, last write 00:00:15, hold time is 180, keepalive interval is 60 seconds

e BGP ou i BGP

Avec BGP, pas de découverte automatique des voisins mais une configuration statique.

Les voisins BGP peuvent soit être des voisins internes dans le même système autonome, on parle alors de voisin iBGP ou bien externes dans un autre système autonome, il s’agit alors de voisin eBGP. Les configurations BGP de chaque voisin doivent coïncider de part et d’autre pour que la session BGP puisse s’établir correctement au-dessus de la connexion TCP.

Les voisins eBGP sont généralement directement connectés par un subnet IP commun. Quand ce n’est pas le cas on parle de voisins eBGP multihop.

Pour limiter lesconséquences d’une instabilité locale vers l’extérieur, par défaut BGP observe une temporisation minimum de 30 secondes entre deux annonces successives vers un voisin eBGP.

Les voisins iBGP sont généralement connectés indirectement via une interface loopback qui p krésente l’avantage d’être toujours Up. On n’oubliera pas dans la configuration de stipuler que les updates doivent être originée de cette adresse « neighbor <IP Voisins> update-interface loopback0 ».

Trait e me nt de s mi se s à jour

Page 146: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 144

Les routeurs BGP relayent les UPDATE eBGP vers iBGP et vice versa en suivant les règles établies par l’administrateur de réseau. Ces règles sont programmées dans les routeurs sous la forme de route-map essentiellement.

Il est possible d’appliquer des règles de traitement aux UPDATE venant de chaque voisin en entrée.

Il est également possible d’appliquer des règles de traitement aux UPDATE que l’on envoie vers chaque voisin en sortie.

Mai l lag e i BGP

Tous les voisins iBGP doivent être connectés par une session BGP.

En effet, un routeur BGP ne relaye pas les messages appris par un peer iBGP vers un autre voisin iBGP. Ceci implique un maillage complet des voisins iBGP soit n*(n-1)/2 sessions iBGP, n étant le nombre de routeurs BGP.

Si on veut éviter d’avoir autant de sessions iBGP à configurer et donc une maintenance coûteuse dès qu’un nouveau routeur BGP est ajouté, on a la possibilité de recourir au Réflecteurs de Routes (Route Reflectors) ou aux Confédérations BGP.

Etats d’un vo is i n BGP

Les états possibles d’un voisin sont :

IDLE Dans cet état BGP n’accepte pas les connections. Aucune ressource n’est encore allouée au voisin.

CONNEC T BGP attends que la couche transport (TCP) se connecte. Si il y parvient, BGP envoit un message Open vers son voisin et change son état à OpenSent.

AC TIVE BGP essaye d’établir une connexion du protocole transport.

OPENSEN T BGP a émis un Open et attends un Open de son voisin.

OPENCONFIRM BGP attends un Keepalive ou une Notification de son voisin.

ESTABLISHED La connexion a bien démarré et les messages Update, Notification et Keepalive peuvent être échangés. R1# show ip bgp neighbor 10.0.0.3 BGP neighbor is 10.0.0.3, remote AS 65000, internal link BGP version 4, remote router ID 10.0.0.3 BGP state = Established, up for 01:43:29 Last read 00:00:11, last write 00:00:25, hold time is 180, keepalive interval is 60 seconds

Page 147: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 145

Neighbor sessions: 1 active, is multisession capable Neighbor capabilities: Route refresh: advertised and received(new) Four-octets ASN Capability: advertised and received Address family IPv4 Unicast: advertised and received Multisession Capability: advertised and received Message statistics, state Established: InQ depth is 0 OutQ depth is 0 Sent Rcvd Opens: 1 1 Notifications: 0 0 Updates: 2 1 Keepalives: 114 149 Route Refresh: 0 0 Total: 117 151 Default minimum time between advertisement runs is 0 seconds For address family: IPv4 Unicast Session: 10.0.0.3 session 1 BGP table version 3, neighbor version 3/0 Output queue size : 0 Index 2 2 update-group member Sent Rcvd Prefix activity: ---- ---- Prefixes Current: 2 0 Prefixes Total: 2 0 Implicit Withdraw: 0 0 Explicit Withdraw: 0 0 Used as bestpath: n/a 0 Used as multipath: n/a 0 Outbound Inbound Local Policy Denied Prefixes: -------- ------- Total: 0 0 Number of NLRIs in the update sent: max 2, min 0 Address tracking is enabled, the RIB does have a route to 10.0.0.3 Connections established 1; dropped 0 Last reset never Transport(tcp) path-mtu-discovery is enabled Graceful-Restart is disabled Connection state is ESTAB, I/O status: 1, unread input bytes: 0 Connection is ECN Disabled, Mininum incoming TTL 0, Outgoing TTL 255 Local host: 10.0.0.1, Local port: 27384 Foreign host: 10.0.0.3, Foreign port: 179 Connection tableid (VRF): 0 Maximum output segment queue size: 50 Enqueued packets for retransmit: 0, input: 0 mis-ordered: 0 (0 bytes) Event Timers (current time is 0x673C90): Timer Starts Wakeups Next Retrans 130 14 0x0 TimeWait 0 0 0x0 AckHold 150 99 0x0 SendWnd 0 0 0x0 KeepAlive 0 0 0x0 GiveUp 0 0 0x0 PmtuAger 2396 2395 0x674D85 DeadWait 0 0 0x0 Linger 0 0 0x0 ProcessQ 0 0 0x0 iss: 2396846377 snduna: 2396848685 sndnxt: 2396848685 sndwnd: 15548 irs: 3018303593 rcvnxt: 3018306506 rcvwnd: 14940 delrcvwnd: 1444 SRTT: 1173 ms, RTTO: 5833 ms, RTV: 4660 ms, KRTT: 0 ms minRTT: 80 ms, maxRTT: 5896 ms, ACK hold: 200 ms Status Flags: active open Option Flags: nagle, path mtu capable IP Precedence value : 6

Page 148: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 146

Datagrams (max data segment is 1460 bytes): Rcvd: 334 (out of order: 0), with data: 151, total data bytes: 2912 Sent: 279 (retransmit: 14, fastretransmit: 0, partialack: 0, Second Congestion: 0), with data: 117, total data bytes: 2307 Packets received in fast path: 0, fast processed: 0, slow path: 0 fast lock acquisition failures: 0, slow path: 0

Pe er Group

Lorsque l’on peut identifier un ensemble de voisins pouvant recevoir un traitement commun, il est alors souhaitable de les configurer dans un « peer group ». Celà va permettre d’appliquer une configuration commune à tout le peer group au lieu de l’appliquer voisin par voisin. La configuration sera alors plus simple pour l’administrateur du réseau. De plus le traitement sera également simplifié pour l’IOS qui appliquera les mêmes règles à un ensemble de voisins plutôt que voisin par voisin.

Rout e Ref l ector

Un Réflecteur de Route BGP reflète les chemins appris par BGP vers ses clients iBGP. Il est possible de mettre plus d’un Route Reflector en parallèle pour assurer la redondance et ne pas impacter le réseau en cas de maintenance sur cet équipement.

Co nf édérat io n

Une confédération BGP permet de créer des Sous AS. Chaque Sous AS (SubAS) n’aura besoin que d’une seule session iBGP vers l’extérieur. Cette connexion iBGP se comportera comme une connexion eBGP quand à la réflexion des routes apprises. On aura donc besoin d’un maillage intégral à l’intérieur de chaque Sous AS et d’une seule session BGP vers l’extérieur de ce Sous AS.

☼Attention !!! Les confédérations étant plus complexes à mettre en œuvre on leur préférera la solution des Route Reflectors.

Pour afficher les voisins BGP et leurs états, on utilisera les commandes « show ip bgp summary » et « show ip bgp neighbor » pour plus de détails.

R1#show ip bgp summary BGP router identifier 10.0.0.1, local AS number 65000 BGP table version is 3, main routing table version 3 2 network entries using 240 bytes of memory 2 path entries using 104 bytes of memory 1/1 BGP path/bestpath attribute entries using 124 bytes of memory 0 BGP route-map cache entries using 0 bytes of memory 0 BGP filter-list cache entries using 0 bytes of memory BGP using 468 total bytes of memory BGP activity 2/0 prefixes, 2/0 paths, scan interval 5 secs Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd 10.0.0.3 4 65000 32 23 3 0 0 00:17:11 0 10.0.1.2 4 1 33 24 3 0 0 00:17:58 0

Page 149: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 147

Ci-dessus un routeur BGP avec deux voisins opérationels (Established, Up). Un voisin eBGP dans le système autonome (AS) 1 et un voisin iBGP dans le même système autonome (AS) 65000. Ci-dessous, plus de détails sur le voisin iBGP 10.0.0.3.

Si la session BGP avec un voisin ne monte pas, le premier test sera de « PINGer » ce voisin. Si le ping passe, alors on utilisera « debug ip bgp event » pour obtenir plus d’information sur ce qui ne va pas dans la session BGP.

La se l ect ion du me i l l e ur C h e m i n

BGP scanne sa table pour choisir le meilleur chemin et procède ainsi.

Pour tous les détails se reporter là : http://www.cisco.com/en/US/partner/tech/tk365/technologies_tech_note09186a0080094431.shtml - bestpath

C h e mi n s ig noré s

Pour que le chemin ne soit pas ignoré, il faut que plusieurs conditions soient respectées :

Tout d’abord le Next-Hop doit être accessible pour que le chemin soit pris en considération.

Si la synchronisation est autorisée, pour qu’une route iBGP soit utilisée, il faut qu’elle soit également apprise par un IGP.

Les chemins appris d’un voisin eBGP dans lequel apparaît le numéro d’AS local sont ignorés. En effet dans ce cas nous serions en présence d’une boucle.

Si la commande « bgp enforce-first-as » est activée, le routeur vérifie que le numéro d’AS du voisin est bien le premier qui apparaît dans l’AS PATH. Si ce n’est pas le cas, il ferme la session et envoie une Notification.

Un chemin est marqué comme « receive-only » si le chemin a été reçu mais n’a pas été retenu comme meilleur chemin par l’algorithme de sélection. Cependant le chemin est conservé en mémoire car « soft-reconfiguration inbound » a été configuré.

Algorithm e de sé l ect ion du me i l l e ur che mi n

.

1. On préfére le chemin avec le meilleur (le plus bas) « weight » ou poids.

2. Si les weigth sont identiques, prendre le chemin avec la « Local Preference » la plus élevée.

3. Si on a encore plusieurs chemins, prendre celui qui a été originé par le routeur local par les commandes « network », « redistribute » ou par un aggregate. Network et redistribute sont préférés à une route aggregate.

4. Si on a plusieurs chemins, prendre celui qui a le chemin (AS_PATH) le plus court. Cette étape peut être sautée si on configure « bgp bestpath as-path ignore ».

Page 150: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 148

5. Si on a encore plusieurs chemins, prendre celui qui a la meilleure (la plus basse) Origin IGP < EGP < Incomplete.

6. Si les deux viennent du même AS, on prendra le chemin avec le plus petit metric (MED). Si « bgp always-compare-med » est configuré, alors on compare toujours les MED même si les chemins ne viennent pas du même AS. Si « bgp deterministic-med » n’est pas utilisé, la décision du meilleur chemin sera influencée par l’ordre d’arrivée des chemins. En effet, l’algorithme de décision du meilleure chemin prend les chemins deux à deux dans leur ordre d’arrivée. Si on utilise « bgp deterministic-med » les chemins sont regroupés par AS et la décision sera toujours la même quelque soit l’ordre d’arrivée. Pour tous les détails sur la façon dont le MED est géré, se reporter là :

http://www.cisco.com/en/US/partner/tech/tk365/technologies_tech_note09186a0080094934.shtml

7. Puis préférer la route eBGP sur la route iBGP

8. Si on a encore plusieurs chemins prendre celui dont le Next-Hop est le plus proche (meilleur metric IGP)

9. Arrivé a ce point si BGP multipath est autorisé on installera plusieurs routes dans la RIB.

10. Si les chemins sont externes, prendre la route reçue en premier (la plus ancienne). On saute cette étape si on a passé la commande « bgp best path compare-routerid ».

11. Prendre le chemin avec le Router ID le plus bas.

12. Si les routes viennent du même Router ID, prendre la route avec le Cluster List le plus court. Ceci est présent que si la route a été relayé par un Route Reflector.

13. Préférer la route qui vient du voisin avec l’adresse IP la plus basse.

Exempl e s R1#show ip bgp 193.10.10.10 BGP routing table entry for 193.10.10.10/32, version 53 Paths: (2 available, best #2, table default) Not advertised to any peer 1 10.0.0.3 (metric 2) from 10.0.0.2 (10.0.0.2) Origin incomplete, metric 0, localpref 100, valid, internal Originator: 10.0.0.3, Cluster list: 10.0.0.2 1 10.0.0.3 (metric 2) from 10.0.0.3 (10.0.0.3) Origin incomplete, metric 0, localpref 100, valid, internal, best

Autre ex e mpl e: R1#show ip bgp 192.192.10.10 BGP routing table entry for 192.192.10.10/32, version 54 Paths: (2 available, best #2, table default)

Page 151: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 149

Not advertised to any peer 1 100 10.0.0.3 (metric 2) from 10.0.0.2 (10.0.0.2) Origin EGP, metric 10, localpref 100, valid, internal Originator: 10.0.0.3, Cluster list: 10.0.0.2 1 100 10.0.0.3 (metric 2) from 10.0.0.3 (10.0.0.3) Origin EGP, metric 10, localpref 100, valid, internal, best

Les m e ssag e s BGP

BGP connaît les messages suivants :

OPEN Pour démarrer une nouvelle session BGP. Ethernet II, Src: ca:02:0f:4c:00:1c (ca:02:0f:4c:00:1c), Dst: ca:01:0f:4c:00:1c (ca:01:0f:4c:00:1c) Internet Protocol Version 6 0110 .... = Version: 6 .... 1100 0000 .... .... .... .... .... = Traffic class: 0x000000c0 .... .... .... 0000 0000 0000 0000 0000 = Flowlabel: 0x00000000 Payload length: 73 Next header: TCP (0x06) Hop limit: 1 Source: 2001:1::3 (2001:1::3) Destination: 2001:1::2 (2001:1::2) Transmission Control Protocol, Src Port: bgp (179), Dst Port: 37393 (37393), Seq: 1, Ack: 54, Len: 53 Border Gateway Protocol OPEN Message Marker: 16 bytes Length: 53 bytes Type: OPEN Message (1) Version: 4 My AS: 1 Hold time: 180 BGP identifier: 3.3.3.3 Optional parameters length: 24 bytes Optional parameters Capabilities Advertisement (8 bytes) Parameter type: Capabilities (2) Parameter length: 6 bytes Multiprotocol extensions capability (6 bytes) Capability code: Multiprotocol extensions capability (1) Capability length: 4 bytes Capability value Address family identifier: IPv6 (2) Reserved: 1 byte Subsequent address family identifier: Unicast (1) Capabilities Advertisement (4 bytes) Parameter type: Capabilities (2) Parameter length: 2 bytes Route refresh capability (2 bytes) Capability code: Route refresh capability (128) Capability length: 0 bytes Capabilities Advertisement (4 bytes) Parameter type: Capabilities (2) Parameter length: 2 bytes Route refresh capability (2 bytes) Capability code: Route refresh capability (2) Capability length: 0 bytes Capabilities Advertisement (8 bytes) Parameter type: Capabilities (2) Parameter length: 6 bytes Support for 4-octet AS number capability (6 bytes) Capability code: Support for 4-octet AS number capability (65) Capability length: 4 bytes Capability value AS number: 1

Page 152: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 150

N OTIFICATION

Emis pour fermer une session BGP suite à une erreur. Il contient un code d ‘erreur donnant le type de message qui a causé le problème et un subcode permettant de le diagnostiquer.

ERROR CODE : 1 Erreur d’en-tête de Message

2 Erreur de message OPEN

3 Erreur de message UPDATE

4 Hold Timer arrivé à expiration

5 Erreur de l’automate à état fini (fsm)

6 Cease

ERREUR D’EN- TE TE DE MESSAGE SUBCODE : 1 Connection non synchronisée

2 Mauvaise Longeur de message

3 Mauvais Type de message

ERREUR DE MESSAGE OPEN SUBCODE : 1 Version BGP non supportée

2 Mauvais Système Autonome du voisin

3 Mauvais Identificateur BGP

4 Paramètre optionnel non supporté

5 Echec d’authentification

6 Hold Time non acceptable

ERREUR DE MESSAGE UPDA TE SUBCODE : 1 Liste d’attributs malformée

2 Attribut Well-Known non reconnu

3 Attribut Well-known manquant

4 Erreur de drapeau d’attribut

5 Erreur de longueur d’attribut

6 Attribut ORIGIN invalide

7 Boucle de routage d’AS

8 Attribut Next-Hop invalide

9 Erreur d’attribut Optionnel

Page 153: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 151

10 Champs réseau invalide

11 AS PATH malformé

KEEPALIVE

Pour entretenir une session BGP. Avant l’expiration du « Hold Time », si aucun UPDATE n’a été transmis, un KEEPALIVE doit être généré pour garder la session BGP ouverte.

UPDATE

Contient les routes à ajouter ou a retirer (Withdraw).

UPDATE Message

Marker: 16 bytes

Length: 109 bytes

Type: UPDATE Message (2)

Unfeasible routes length: 0 bytes

Total path attribute length: 86 bytes

Path attributes

ORIGIN: INCOMPLETE (4 bytes)

Flags: 0x40 (Well-known, Transitive, Complete)

Type code: ORIGIN (1)

Length: 1 byte

Origin: INCOMPLETE (2)

AS_PATH: 1 (9 bytes)

Flags: 0x40 (Well-known, Transitive, Complete)

Type code: AS_PATH (2)

Length: 6 bytes

AS path: 1

MULTI_EXIT_DISC: 0 (7 bytes)

Flags: 0x80 (Optional, Non-transitive, Complete)

Type code: MULTI_EXIT_DISC (4)

Length: 4 bytes

Multiple exit discriminator: 0

Flags: 0x80 (Optional, Non-transitive, Complete)

Type code: MP_REACH_NLRI (14)

Length: 63 bytes

Address family: IPv6 (2)

Subsequent address family identifier: Unicast (1)

Next hop network address (32 bytes)

Next hop: 2001:1::3 (16)

Next hop: fe80::c802:fff:fe4c:1c (16)

Subnetwork points of attachment: 0

Network layer reachability information (26 bytes)

2001:1::/64

MP Reach NLRI prefix length: 64

MP Reach NLRI prefix: 2001:1::

bad:cafe:3::1/128

MP Reach NLRI prefix length: 128

MP Reach NLRI prefix: bad:cafe:3::1

Page 154: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 152

Mult iprotoco l BGP

Le RFC2858 décrit l’extension multiprotocole de BGP4. Les Updates véhiculent toujours les annonces de chemins BGP, toutefois les NLRI et tous les détails des chemins sont codés dans deux nouveaux attributs : MP_REACH_NLRI et MP_UNREACH_NLRI.

Anno nc e des rout e s BGP

Les routes apprises par eBGP sont réfléchies vers les voisins iBGP et vice versa. Les routes apprises par iBGP ne sont pas réfléchies vers les voisins iBGP, ceci afin d’éviter les boucles qui pourraient alors se produire.

Lorsqu’un routeur reçoit des routes d’un voisin, on peut appliquer un traitement à ces routes à l’entrée. De la même façon, avant d’envoyer des routes vers un voisin on peut leur appliquer un traitement à la sortie du réseau.

Il est possible également à un routeur d’annoncer des routes locales.

Cela peut se faire par la redistribution dans BGP, par la commande BGP « network » ou par la commande « aggregate-address ».

Rout e dampe n i ng

Pour éviter de propager une instabilité locale dans tous les systèmes autonomes, il est possible d’implémenter le Route Dampening.

Avec ce procédé, lorsqu’un chemin eBGP change d’état il est placé dans l’état « history state » et une pénalité de 1000 lui est alors ajoutée. Les pénalités se cumulent. Lorsque la pénalité atteint la « suppress limit », le chemin passe de l’ état « history » à l’état « damp » et n’est plus annoncée aux voisins iBGP. La route associée est supprimée de la table de routage. La pénalité associée a cette route va être diminuée toute les cinq secondes. Lorsque la limite basse « reuse limit » est atteinte, la route sera alors annoncée à nouveau et réintégrera la table de routage. Toutes les dix secondes, le routeur vérifie les routes supprimées ou non supprimées pour leurs appliquer le traitement adequat.

Cette fonctionnalité se configure simplement par le commande « bgp dampening ». Elle permet également de mesurer la stabilité du réseau.

Bien que les timers soient configurables, il n’est pas conseillé de modifier les valeurs par défaut : Halftime= 15 minutes, reuse = 750, Suppress = 2000 et Max Suppress Time= 60.

RIN#show ip bgp dampening parameters

dampening 15 750 2000 60 (DEFAULT)

Half-life time : 15 mins Decay Time : 2320 secs

Max suppress penalty: 12000 Max suppress time: 60 mins

Suppress penalty : 2000 Reuse penalty : 750

RIN#show ip bgp 194.0.0.0

BGP routing table entry for 194.0.0.0/8, version 48

Page 155: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 153

Paths: (1 available, best #1, table default)

Not advertised to any peer

65000, (aggregated by 65000 10.0.0.1)

192.168.5.3 from 192.168.5.3 (194.0.0.1)

Origin IGP, localpref 100, valid, external, atomic-aggregate, best

Dampinfo: penalty 375, flapped 1 times in 00:20:59

RIN#show ip bgp 194.0.0.0

BGP routing table entry for 194.0.0.0/8, version 51

Paths: (1 available, no best path)

Not advertised to any peer

65000, (aggregated by 65000 10.0.0.1) (history entry)

192.168.5.3 from 192.168.5.3 (194.0.0.1)

Origin IGP, localpref 100, external, atomic-aggregate

Dampinfo: penalty 996, flapped 1 times in 00:00:10

RIN#show ip bgp 194.0.0.0

BGP routing table entry for 194.0.0.0/8, version 55

Paths: (1 available, no best path)

Not advertised to any peer

65000, (aggregated by 65000 10.0.0.1) (history entry)

192.168.5.3 from 192.168.5.3 (194.0.0.1)

Origin IGP, localpref 100, external, atomic-aggregate

Dampinfo: penalty 2751, flapped 3 times in 00:03:43

RIN#show ip bgp 194.0.0.0

BGP routing table entry for 194.0.0.0/8, version 55

Paths: (1 available, no best path)

Not advertised to any peer

65000, (aggregated by 65000 10.0.0.1), (suppressed due to dampening) (history

entry)

192.168.5.3 from 192.168.5.3 (194.0.0.1)

Origin IGP, localpref 100, external, atomic-aggregate

Dampinfo: penalty 3555, flapped 4 times in 00:05:28, reuse in 00:00:53

RIN#show ip bgp 194.0.0.0

BGP routing table entry for 194.0.0.0/8, version 55

Paths: (1 available, no best path)

Not advertised to any peer

65000, (aggregated by 65000 10.0.0.1), (suppressed due to dampening)

192.168.5.3 from 192.168.5.3 (194.0.0.1)

Origin IGP, localpref 100, valid, external, atomic-aggregate

Dampinfo: penalty 3418, flapped 4 times in 00:06:20, reuse in 00:10:49

RIN#show ip ro 194.0.0.0 255.0.0.0

% Network not in table

RIN#show ip bgp 194.0.0.0

BGP routing table entry for 194.0.0.0/8, version 55

Paths: (1 available, no best path)

Not advertised to any peer

Page 156: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 154

65000, (aggregated by 65000 10.0.0.1), (suppressed due to dampening)

192.168.5.3 from 192.168.5.3 (194.0.0.1)

Origin IGP, localpref 100, valid, external, atomic-aggregate

Dampinfo: penalty 3326, flapped 4 times in 00:07:01, reuse in 00:10:19

RIN#sh ip bgp 194.0.0.0

BGP routing table entry for 194.0.0.0/8, version 57

Paths: (1 available, best #1, table default)

Not advertised to any peer

65000, (aggregated by 65000 10.0.0.1)

192.168.5.3 from 192.168.5.3 (194.0.0.1)

Origin IGP, localpref 100, valid, external, atomic-aggregate, best

Dampinfo: penalty 747, flapped 4 times in 00:39:48

RIN#sh ip ro 194.0.0.0 255.0.0.0

Routing entry for 194.0.0.0/8, supernet

Known via "bgp 1", distance 20, metric 0

Tag 65000, type external

Last update from 192.168.5.3 00:00:58 ago

Routing Descriptor Blocks:

* 192.168.5.3, from 192.168.5.3, 00:00:58 ago

Route metric is 0, traffic share count is 1

AS Hops 1

Route tag 65000

MPLS label: none

RIN#show ip bgp 194.0.0.0

BGP routing table entry for 194.0.0.0/8, version 65

Paths: (1 available, no best path)

Not advertised to any peer

65000, (aggregated by 65000 10.0.0.1) (history entry)

192.168.5.3 from 192.168.5.3 (194.0.0.1)

Origin IGP, localpref 100, external, atomic-aggregate

Dampinfo: penalty 2322, flapped 8 times in 01:25:31

RIN#show ip bgp 194.0.0.0

BGP routing table entry for 194.0.0.0/8, version 65

Paths: (1 available, no best path)

Not advertised to any peer

65000, (aggregated by 65000 10.0.0.1), (suppressed due to dampening)

192.168.5.3 from 192.168.5.3 (194.0.0.1)

Origin IGP, localpref 100, valid, external, atomic-aggregate

Dampinfo: penalty 2286, flapped 8 times in 01:25:55, reuse in 00:02:09

RIN>show ip bgp dampening flap-statistics

BGP table version is 71, local router ID is 193.10.10.10

Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,

r RIB-failure, S Stale

Origin codes: i - IGP, e - EGP, ? - incomplete

Network From Flaps Duration Reuse Path

Page 157: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 155

*d 194.0.0.0/8 192.168.5.3 6 00:23:15 00:09:59 65000

RIN>show ip bgp dampening dampened-paths

BGP table version is 71, local router ID is 193.10.10.10

Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,

r RIB-failure, S Stale

Origin codes: i - IGP, e - EGP, ? - incomplete

Network From Reuse Path

*d 194.0.0.0/8 192.168.5.3 00:09:49 65000 i

Exempl e router bgp 65000

no synchronization

bgp asnotation dot

bgp log-neighbor-changes

bgp scan-time 5

aggregate-address 194.0.0.0 255.0.0.0 attribute-map toBGP

redistribute connected

neighbor 10.0.0.2 remote-as 65000

neighbor 10.0.0.2 update-source Loopback0

neighbor 10.0.0.3 remote-as 65000

neighbor 10.0.0.3 update-source Loopback0

no auto-summary

!

route-map toBGP permit 10

set metric 90

set community 6554500

set ip next-hop 10.0.0.3

R1#show ip bgp 194.0.0.0

BGP routing table entry for 194.0.0.0/8, version 31

Paths: (1 available, best #1, table default)

Advertised to update-groups:

4

Local, (aggregated by 65000 10.0.0.1)

10.0.0.3 (metric 2) from 0.0.0.0 (10.0.0.1)

Origin IGP, metric 90, localpref 100, weight 32768, valid, aggregated, local,

atomic-aggregate, best

Community: 6554500

R1#show ip ro 194.0.0.0 255.0.0.0

Routing entry for 194.0.0.0/8, supernet

Known via "bgp 65000", distance 200, metric 90, type locally generated

Last update from 10.0.0.3 on Null0, 00:02:56 ago

Routing Descriptor Blocks:

* 10.0.0.3, from 0.0.0.0, 00:02:56 ago, via Null0

Route metric is 90, traffic share count is 1

AS Hops 0

Page 158: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 156

MPLS label: none

Un autre exemple à partir des routes apprises plus haut.

Sur un voisin eBGP :

R3#show ip ro 192.192.10.10

Routing entry for 192.192.10.10/32

Known via "bgp 65000", distance 20, metric 10

Tag 1, type external

Last update from 192.168.5.4 00:25:50 ago

Routing Descriptor Blocks:

* 192.168.5.4, from 192.168.5.4, 00:25:50 ago

Route metric is 10, traffic share count is 1

AS Hops 2

Route tag 1

MPLS label: none

R3#show ip bgp 192.192.10.10

BGP routing table entry for 192.192.10.10/32, version 23

Paths: (1 available, best #1, table default)

Advertised to update-groups:

12

1 100

192.168.5.4 from 192.168.5.4 (193.10.10.10)

Origin EGP, metric 10, localpref 100, valid, external, best

R3#show ip ro 193.10.10.10

Routing entry for 193.10.10.10/32

Known via "bgp 65000", distance 20, metric 0

Tag 1, type external

Last update from 192.168.5.4 00:41:45 ago

Routing Descriptor Blocks:

* 192.168.5.4, from 192.168.5.4, 00:41:45 ago

Route metric is 0, traffic share count is 1

AS Hops 1

Route tag 1

MPLS label: none

R3#show ip bgp 193.10.10.10

BGP routing table entry for 193.10.10.10/32, version 6

Paths: (1 available, best #1, table default)

Advertised to update-groups:

12

1

192.168.5.4 from 192.168.5.4 (193.10.10.10)

Origin incomplete, metric 0, localpref 100, valid, external, best

Sur un voisin iBGP :

R1#show ip bgp 193.10.10.10

BGP routing table entry for 193.10.10.10/32, version 44

Paths: (1 available, best #1, table default)

Not advertised to any peer

1

Page 159: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 157

10.0.0.3 (metric 2) from 10.0.0.3 (10.0.0.3)

Origin incomplete, metric 0, localpref 100, valid, internal, best

R1#show ip bgp 192.192.10.10

BGP routing table entry for 192.192.10.10/32, version 48

Paths: (1 available, best #1, table default)

Not advertised to any peer

1 100

10.0.0.3 (metric 2) from 10.0.0.3 (10.0.0.3)

Origin EGP, metric 10, localpref 100, valid, internal, best

Les pr i nc ipa l e s Co mma nde s BGP

La première commande pour vérifier la configuration BGP d’un routeur est « show ip bgp summary ».

Ensuite pour afficher la table complète BGP, on utilisera la commande « show ip bgp ».

Pour afficher une route en particulier, la commande « show ip bgp <adresse IP> ».

Pendant le troubleshooting d’un problème BGP, on se fera aider des commandes « debug ip bgp event » ou si on a un doute sur l’émission ou la réception d’update, « debug ip bgp update ».

Pour plus de détails :

http://www.cisco.com/en/US/tech/tk365/technologies_tech_note09186a008009478a.shtml

Exempl e “debug ip bgp a l l”

RIN#debug ip bgp all

BGP debugging is on for all address families

RIN#clear ip bgp *

*Jun 22 18:02:33.489: BGP: Sched timer-wheel running slow by 1 ticks

*Jun 22 18:02:34.013: BGP: topo global:IPv4 Unicast:base Scanning routing tables

*Jun 22 18:02:34.017: BGP: topo global:IPv4 Multicast:base Scanning routing tablesr

*Jun 22 18:02:34.513: BGP: Sched timer-wheel running fast by 1 ticks

*Jun 22 18:02:36.841: BGP: system reset due to User reset

*Jun 22 18:02:36.853: BGP: nbr_topo global 192.168.5.3 IPv4 Unicast:base

(0x6686CBC8:1) NSF de lete stale NSF not active

*Jun 22 18:02:36.857: BGP: nbr_topo global 192.168.5.3 IPv4 Unicast:base

(0x6686CBC8:1) NSF no stale paths state is NSF not active

*Jun 22 18:02:36.861: BGP: nbr_topo global 192.168.5.3 IPv4 Unicast:base

(0x6686CBC8:1) Resett ing ALL counters.

*Jun 22 18:02:36.865: BGP: ses global 192.168.5.3 (0x6686CBC8:1) Reset (User reset).

*Jun 22 18:02:36.901: BGP: nbr_topo global 192.168.5.3 IPv4 Unicast:base

(0x6686CBC8:1) NSF de lete stale NSF not active

*Jun 22 18:02:36.905: BGP: nbr_topo global 192.168.5.3 IPv4 Unicast:base

(0x6686CBC8:1) NSF no stale paths state is NSF not active

Page 160: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 158

*Jun 22 18:02:36.909: BGP: nbr_topo global 192.168.5.3 IPv4 Unicast:base

(0x6686CBC8:1) Resett ing ALL counters.

*Jun 22 18:02:36.913: BGP: 192.168.5.3 closing

*Jun 22 18:02:36.917: BGP: nbr_topo global 192.168.5.3 IPv4 Unicast:base

(0x6686CBC8:1) Resett ing ALL counters.

*Jun 22 18:02:36.921: BGP: 192.168.5.3 went from Established to Idle

*Jun 22 18:02:36.925: %BGP-5-ADJCHANGE: neighbor 192.168.5.3 Down User reset

*Jun 22 18:02:36.929: %BGP_SESSION-5-ADJCHANGE: neighbor 192.168.5.3 IPv4 Unicast

topology bas e removed from session User reset

*Jun 22 18:02:36.929: BGP: ses global 192.168.5.3 (0x6686CBC8:1) Removed topology

IPv4 Unicast :base

*Jun 22 18:02:36.933: BGP: ses global 192.168.5.3 (0x6686CBC8:1) Removed last

topology

*Jun 22 18:02:36.937: BGP: nbr global 192.168.5.3 Open active delayed 1024ms (0ms

max, 60% jit ter)

*Jun 22 18:02:36.941: BGP: nbr global 192.168.5.3 Active open failed - open timer

running

*Jun 22 18:02:37.617: BGP: 192.168.5.3 active went from Idle to Active

*Jun 22 18:02:37.621: BGP: 192.168.5.3 open active, local address 192.168.5.4

*Jun 22 18:02:38.525: BGP: ses global 192.168.5.3 (0x67C1C024:0) act Adding topology

IPv4 Unic ast:base

*Jun 22 18:02:38.525: BGP: ses global 192.168.5.3 (0x67C1C024:0) act Send OPEN

*Jun 22 18:02:38.529: BGP: 192.168.5.3 active went from Active to OpenSent

*Jun 22 18:02:38.533: BGP: 192.168.5.3 active sending OPEN, version 4, my as: 1,

holdtime 180 seconds, ID C0C00A0A

*Jun 22 18:02:38.669: BGP: Sched timer-wheel running slow by 1 ticks

*Jun 22 18:02:39.245: BGP: 192.168.5.3 active rcv message type 1, length (excl.

header) 39

*Jun 22 18:02:39.249: BGP: ses global 192.168.5.3 (0x67C1C024:0) act Receive OPEN

*Jun 22 18:02:39.253: BGP: 192.168.5.3 active rcv OPEN, version 4, holdtime 180

seconds

*Jun 22 18:02:39.257: BGP: 192.168.5.3 active rcv OPEN w/ OPTION parameter len: 29

*Jun 22 18:02:39.257: BGP: 192.168.5.3 active rcvd OPEN w/ optional parameter type 2

(Capabili ty) len 6

*Jun 22 18:02:39.261: BGP: 192.168.5.3 active OPEN has CAPABILITY code: 1, length 4

*Jun 22 18:02:39.261: BGP: 192.168.5.3 active OPEN has MP_EXT CAP for afi/safi: 1/1

*Jun 22 18:02:39.265: BGP: 192.168.5.3 active rcvd OPEN w/ optional parameter type 2

(Capabili ty) len 2

*Jun 22 18:02:39.265: BGP: 192.168.5.3 active OPEN has CAPABILITY code: 128, length 0

*Jun 22 18:02:39.269: BGP: 192.168.5.3 active OPEN has ROUTE-REFRESH capability(old)

for all a ddress-families

*Jun 22 18:02:39.273: BGP: 192.168.5.3 active rcvd OPEN w/ optional parameter type 2

(Capabili ty) len 2

*Jun 22 18:02:39.273: BGP: 192.168.5.3 active OPEN has CAPABILITY code: 2, length 0

Page 161: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 159

*Jun 22 18:02:39.277: BGP: 192.168.5.3 active OPEN has ROUTE-REFRESH capability(new)

for all a ddress-families

*Jun 22 18:02:39.277: BGP: 192.168.5.3 active rcvd OPEN w/ optional parameter type 2

(Capabili ty) len 3

*Jun 22 18:02:39.281: BGP: 192.168.5.3 active OPEN has CAPABILITY code: 131, length 1

*Jun 22 18:02:39.285: BGP: 192.168.5.3 active OPEN has MULTISESSION capability,

without groupi ng

*Jun 22 18:02:39.285: BGP: 192.168.5.3 active rcvd OPEN w/ optional parameter type 2

(Capabili ty) len 6

*Jun 22 18:02:39.289: BGP: 192.168.5.3 active OPEN has CAPABILITY code: 65, length 4

*Jun 22 18:02:39.289: BGP: 192.168.5.3 active OPEN has 4-byte ASN CAP for: 65000

*Jun 22 18:02:39.293: BGP: nbr global 192.168.5.3 neighbor does not have IPv4 MDT

topology activated

*Jun 22 18:02:39.297: BGP: 192.168.5.3 active rcvd OPEN w/ remote AS 65000, 4-byte

remote AS 6 5000

*Jun 22 18:02:39.301: BGP: 192.168.5.3 active went from OpenSent to OpenConfirm

*Jun 22 18:02:39.301: BGP: 192.168.5.3 active went from OpenConfirm to Established

*Jun 22 18:02:39.305: BGP: ses global 192.168.5.3 (0x67C1C024:1) act Assigned ID

*Jun 22 18:02:39.309: BGP: ses global 192.168.5.3 (0x67C1C024:1) Up

*Jun 22 18:02:39.313: %BGP-5-ADJCHANGE: neighbor 192.168.5.3 Up

*Jun 22 18:02:39.325: BGP: ses global 192.168.5.3 (0x67C1C024:1) read request no-op

*Jun 22 18:02:40.721: BGP_Router: unhandled major event code 128, minor 0

RIN#und all

All possible debugging has been turned off

RIN#

Les Proc es sus BGP

Les principaux processus BGP mis en œuvre dans un routeur CISCO et son IOS sont les suivants :

BGP SCANNER Le processus BGP Scanner est activé par défaut une fois par minute. Ce processus est responsable de vérifier que les Next-Hop des chemins sont accessibles. Il est également responsable des annonces de chemins conditionnelles et du route dampening.

Dans un environnement MPLS-VPN, c’est aussi lui qui importe et exporte les routes vers les VRF.

BGP I/O Il gère les le traitement et la mise en file d’attente des messages UPDATE et KEEPALIVE. Il est appelé par les paquets de contrôles BGP.

Page 162: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 160

BGP ROUTER Il calcule le meilleur chemin pour chaque destination. Il interagit avec la table de routage.

Il est appelé une fois par seconde et à chaque modification d’un peer BGP.

BGP OPEN Il est appelé lors de l’initialisation d’une nouvelle session BGP et gère l’établissement de celle-ci.

Réf ér e nc e s

BGP RFC 1771 : http://www.ietf.org/rfc/rfc1771.txt

BGP Support Cisco Home Page : http://www.cisco.com/en/US/partner/tech/tk365/tk80/tsd_technology_support_sub-protocol_home.html

BGP Best Path Selection algorithm : http://www.cisco.com/en/US/partner/tech/tk365/technologies_tech_note09186a0080094431.shtml

How BGP use MED for Best Path Selection Algorithm: http://www.cisco.com/en/US/partner/tech/tk365/technologies_tech_note09186a0080094934.shtml

Troubleshooting BGP High Process CPU: http://www.cisco.com/en/US/partner/tech/tk365/technologies_tech_note09186a00809d16f0.shtml

IPV6 SUR LES WAN

Legacy WANs (Frame Relay, ATM) Nous avons déjà vu en détail OSPF sur les WAN car OSPF permet 4 approches différentes d’un même WAN et méritait que l’on s’y attarde.

IPv6 va pouvoir emprunter les WAN des technologies legacy aussi bien que les tehcnologies les plus récentes.

En effet, avec OSPF on a vu qu’IPv6 s’accomode fort bien des réseaux Frame-Relays. Il en va de même pour les réseaux ATM.

On fera toujours attention avec les protocoles de routages qui fonctionnent avec split horizons.

En effet Split Horizon est une règle qui permet d’éviter les boucles de routages avec les protocoles Distance-Vector. Cette règle impose de ne pas répéter un update reçu sur une interface par la même interface. Celà pose un problème avec les interfaces multipoint comme Frame-Relay ou ATM. Si

Page 163: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 161

tous les routeurs connectés sur le réseau ne sont pas entièrement maillé, un update reçu sur un PVC ne pourra pas être recopié sur un autre PVC de la même interface et celà peut alors poser un problème de connectivité. On a vu que l’on peut facilement éviter ce problème en configurant les interfaces connectées au WAN en subinterfaces POINT à POINT. On peut alors les mailler comme on le souhaite et mettre en place des stratégies de backup en cas de défaillance d’un PVC.

Une autre solution est de désactiver split horizon comme celà est possible avec RIPng :

*Oct 22 17:51:35.275: RIPng: Sending multicast update on Serial2/0 for fred *Oct 22 17:51:35.275: src=FE80::1 *Oct 22 17:51:35.275: dst=FF02::9 (Serial2/0) *Oct 22 17:51:35.275: sport=521, dport=521, length=92 *Oct 22 17:51:35.275: command=2, version=1, mbz=0, #rte=4 *Oct 22 17:51:35.275: tag=0, metric=1, prefix=CAFE::1/128 *Oct 22 17:51:35.275: tag=0, metric=2, prefix=2001:DB8:F00D:CAFE::/64 *Oct 22 17:51:35.275: tag=0, metric=2, prefix=CAFE::3/128 *Oct 22 17:51:35.275: tag=0, metric=2, prefix=CAFE::2/128 *Oct 22 17:51:35.275: RIPng: Packet waiting *Oct 22 17:51:35.275: RIPng: Process fred received own response on Loopback0 *Oct 22 17:51:36.323: RIPng: Packet waiting *Oct 22 17:51:36.323: RIPng: response received from FE80::3 on Serial2/0 for fred *Oct 22 17:51:36.323: src=FE80::3 (Serial2/0) *Oct 22 17:51:36.323: dst=FF02::9 *Oct 22 17:51:36.323: sport=521, dport=521, length=92 *Oct 22 17:51:36.323: command=2, version=1, mbz=0, #rte=4 *Oct 22 17:51:36.327: tag=0, metric=1, prefix=CAFE::3/128 *Oct 22 17:51:36.327: tag=0, metric=1, prefix=2001:DB8:F00D:CAFE::/64 *Oct 22 17:51:36.327: tag=0, metric=2, prefix=CAFE::2/128 *Oct 22 17:51:36.327: tag=0, metric=2, prefix=CAFE::1/128 *Oct 22 17:51:42.579: RIPng: Packet waiting *Oct 22 17:51:42.579: RIPng: response received from FE80::2 on Serial2/0 for fred *Oct 22 17:51:42.579: src=FE80::2 (Serial2/0) *Oct 22 17:51:42.579: dst=FF02::9 *Oct 22 17:51:42.579: sport=521, dport=521, length=92 *Oct 22 17:51:42.579: command=2, version=1, mbz=0, #rte=4 *Oct 22 17:51:42.579: tag=0, metric=1, prefix=CAFE::2/128 *Oct 22 17:51:42.579: tag=0, metric=1, prefix=2001:DB8:F00D:CAFE::/64 *Oct 22 17:51:42.579: tag=0, metric=2, prefix=CAFE::3/128 *Oct 22 17:51:42.579: tag=0, metric=2, prefix=CAFE::1/128 R1#sh ipv6 route IPv6 Routing Table - default - 5 entries Codes: C - Connected, L - Local, S - Static, U - Per-user Static route B - BGP, HA - Home Agent, MR - Mobile Router, R - RIP I1 - ISIS L1, I2 - ISIS L2, IA - ISIS interarea, IS - ISIS summary D - EIGRP, EX - EIGRP external, ND - Neighbor Discovery O - OSPF Intra, OI - OSPF Inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2 ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2 R 2001:DB8:F00D:CAFE::/64 [120/2] via FE80::3, Serial2/0 via FE80::2, Serial2/0 LC CAFE::1/128 [0/0] via Loopback0, receive R CAFE::2/128 [120/2] via FE80::2, Serial2/0 R CAFE::3/128 [120/2] via FE80::3, Serial2/0 L FF00::/8 [0/0] via Null0, receive interface Loopback0 ip address 10.1.1.1 255.255.255.255

Page 164: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 162

ipv6 address CAFE::1/128 ipv6 rip fred enable ! interface Serial2/0 no ip address encapsulation frame-relay ipv6 address FE80::1 link-local ipv6 rip fred enable frame-relay map ipv6 FE80::3 103 broadcast IETF frame-relay map ipv6 FE80::2 102 broadcast IETF ! ipv6 router rip fred no split-horizon

☼ On notera dans la configuration de chaque routeur la commande : ipv6 router rip fred no split-horizon Cette commande permet à chaque routeur de retransmettre dans tous les PVC de l’interface Serial2/0 les mises à jour reçues par un autre PVC. R1#show frame-relay map Serial2/0 (up): ipv6 FE80::2 dlci 102(0x66,0x1860), static, broadcast, IETF, status defined, active Serial2/0 (up): ipv6 FE80::3 dlci 103(0x67,0x1870), static, broadcast, IETF, status defined, active R1#show frame-relay pvc PVC Statistics for interface Serial2/0 (Frame Relay DTE) Active Inactive Deleted Static Local 2 0 0 0 Switched 0 0 0 0 Unused 0 0 0 0 DLCI = 102, DLCI USAGE = LOCAL, PVC STATUS = ACTIVE, INTERFACE = Serial2/0 input pkts 2360 output pkts 1999 in bytes 214381 out bytes 182436 dropped pkts 0 in pkts dropped 0 out pkts dropped 0 out bytes dropped 0 in FECN pkts 0 in BECN pkts 0 out FECN pkts 0 out BECN pkts 0 in DE pkts 0 out DE pkts 0 out bcast pkts 1672 out bcast bytes 147840 5 minute input rate 0 bits/sec, 0 packets/sec 5 minute output rate 0 bits/sec, 0 packets/sec pvc create time 11:02:13, last time pvc status changed 04:50:41 DLCI = 103, DLCI USAGE = LOCAL, PVC STATUS = ACTIVE, INTERFACE = Serial2/0 input pkts 2337 output pkts 2002 in bytes 211807 out bytes 182272 dropped pkts 0 in pkts dropped 0 out pkts dropped 0 out bytes dropped 0 in FECN pkts 0 in BECN pkts 0 out FECN pkts 0 out BECN pkts 0 in DE pkts 0 out DE pkts 0 out bcast pkts 1672 out bcast bytes 147840 5 minute input rate 0 bits/sec, 0 packets/sec 5 minute output rate 0 bits/sec, 0 packets/sec pvc create time 11:02:13, last time pvc status changed 04:50:42 R2#show ipv6 route *Oct 22 17:58:55.347: %SYS-5-CONFIG_I: Configured from console by console

Page 165: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 163

IPv6 Routing Table - default - 6 entries Codes: C - Connected, L - Local, S - Static, U - Per-user Static route B - BGP, HA - Home Agent, MR - Mobile Router, R - RIP I1 - ISIS L1, I2 - ISIS L2, IA - ISIS interarea, IS - ISIS summary D - EIGRP, EX - EIGRP external, ND - Neighbor Discovery O - OSPF Intra, OI - OSPF Inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2 ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2 C 2001:DB8:F00D:CAFE::/64 [0/0] via Serial2/0, directly connected L 2001:DB8:F00D:CAFE::2/128 [0/0] via Serial2/0, receive R CAFE::1/128 [120/2] via FE80::1, Serial2/0 LC CAFE::2/128 [0/0] via Loopback0, receive R CAFE::3/128 [120/2] via FE80::3, Serial2/0 L FF00::/8 [0/0] via Null0, receive R2#show frame-relay map Serial2/0 (up): ipv6 FE80::1 dlci 201(0xC9,0x3090), static, broadcast, CISCO, status defined, active Serial2/0 (up): ipv6 FE80::3 dlci 203(0xCB,0x30B0), static, broadcast, CISCO, status defined, active R2#show frame-relay pvc PVC Statistics for interface Serial2/0 (Frame Relay DTE) Active Inactive Deleted Static Local 2 0 0 0 Switched 0 0 0 0 Unused 0 0 0 0 DLCI = 201, DLCI USAGE = LOCAL, PVC STATUS = ACTIVE, INTERFACE = Serial2/0 input pkts 1983 output pkts 2361 in bytes 181100 out bytes 214369 dropped pkts 0 in pkts dropped 0 out pkts dropped 0 out bytes dropped 0 in FECN pkts 0 in BECN pkts 0 out FECN pkts 0 out BECN pkts 0 in DE pkts 0 out DE pkts 0 out bcast pkts 2018 out bcast bytes 176897 5 minute input rate 0 bits/sec, 0 packets/sec 5 minute output rate 0 bits/sec, 0 packets/sec pvc create time 11:02:10, last time pvc status changed 11:02:10 DLCI = 203, DLCI USAGE = LOCAL, PVC STATUS = ACTIVE, INTERFACE = Serial2/0 input pkts 2332 output pkts 2330 in bytes 211781 out bytes 210549 dropped pkts 0 in pkts dropped 0 out pkts dropped 0 out bytes dropped 0 in FECN pkts 0 in BECN pkts 0 out FECN pkts 0 out BECN pkts 0 in DE pkts 0 out DE pkts 0 out bcast pkts 2018 out bcast bytes 176897 5 minute input rate 0 bits/sec, 0 packets/sec 5 minute output rate 0 bits/sec, 0 packets/sec pvc create time 11:02:11, last time pvc status changed 11:02:11 R2# R3#sh ipv6 ro IPv6 Routing Table - default - 8 entries Codes: C - Connected, L - Local, S - Static, U - Per-user Static route B - BGP, HA - Home Agent, MR - Mobile Router, R - RIP

Page 166: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 164

I1 - ISIS L1, I2 - ISIS L2, IA - ISIS interarea, IS - ISIS summary D - EIGRP, EX - EIGRP external, ND - Neighbor Discovery O - OSPF Intra, OI - OSPF Inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2 ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2 C 2001:DB8:101::/64 [0/0] via FastEthernet0/0, directly connected L 2001:DB8:101::3/128 [0/0] via FastEthernet0/0, receive C 2001:DB8:F00D:CAFE::/64 [0/0] via Serial2/0, directly connected L 2001:DB8:F00D:CAFE::3/128 [0/0] via Serial2/0, receive R CAFE::1/128 [120/2] via FE80::1, Serial2/0 R CAFE::2/128 [120/2] via FE80::2, Serial2/0 LC CAFE::3/128 [0/0] via Loopback0, receive L FF00::/8 [0/0] via Null0, receive R3#show frame-relay map Serial2/0 (up): ipv6 FE80::1 dlci 301(0x12D,0x48D0), static, broadcast, CISCO, status defined, active Serial2/0 (up): ipv6 FE80::2 dlci 302(0x12E,0x48E0), static, broadcast, CISCO, status defined, active R3#show frame-relay pvc PVC Statistics for interface Serial2/0 (Frame Relay DTE) Active Inactive Deleted Static Local 2 0 0 0 Switched 0 0 0 0 Unused 0 0 0 0 DLCI = 301, DLCI USAGE = LOCAL, PVC STATUS = ACTIVE, INTERFACE = Serial2/0 input pkts 1984 output pkts 2334 in bytes 180664 out bytes 211477 dropped pkts 0 in pkts dropped 0 out pkts dropped 0 out bytes dropped 0 in FECN pkts 0 in BECN pkts 0 out FECN pkts 0 out BECN pkts 0 in DE pkts 0 out DE pkts 0 out bcast pkts 2013 out bcast bytes 176737 5 minute input rate 0 bits/sec, 0 packets/sec 5 minute output rate 0 bits/sec, 0 packets/sec pvc create time 11:00:03, last time pvc status changed 11:00:03 DLCI = 302, DLCI USAGE = LOCAL, PVC STATUS = ACTIVE, INTERFACE = Serial2/0 input pkts 2281 output pkts 2279 in bytes 205865 out bytes 205833 dropped pkts 0 in pkts dropped 0 out pkts dropped 0 out bytes dropped 0 in FECN pkts 0 in BECN pkts 0 out FECN pkts 0 out BECN pkts 0 in DE pkts 0 out DE pkts 0 out bcast pkts 2016 out bcast bytes 176977 5 minute input rate 0 bits/sec, 0 packets/sec 5 minute output rate 0 bits/sec, 0 packets/sec pvc create time 10:42:36, last time pvc status changed 10:42:36

POS (PPP)

Page 167: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 165

Sur les liens POS, IPv6 sera encapsulé dans du HDLC (CISCO) ou du PPP comme sur n’importe quelle liaison point à point.

Rien de particulier

TRANSITION VERS IPv6 Comme les réseaux IPv4 ne vont pas migrer du jour au lendemain il était necessaire de proposer plusieurs solutions de transitions. La solution la plus evidente mais aussi la plus couteuse est de tourner IPv4 et IPv6 sur tous les nœuds du reseau.

Une autre approche consiste a interconnecter des ilots IPv6 grace a des tunnels IPv6 dans IPv4. La encore les routeurs encapsulant le trafic IPv4 dans les IPv6 doivent avoir les deux stack installés. Cette approche peut convenir pour interconnecter quelques sites IPv6 mais ne peut pas servir de modèle pour un déploiement de réseau en grand nombre.

Avec NAT-PT, le trafic IPv6 est traduit en IPv4 dans un sens et le trafic IPv4 est traduit en IPv6 dans le sens contraire. On retrouve tous les griefs de NAT et plus encore, Cette solution est a eviter autant que possible.

A mon humble avis, ces fonctionalités ne peuvent être que des solutions de bypass pour résoudre rapidement et à moindre frais un probleme de connectivite IPv6 en attente d’une solution définitive.

En revanche cela n’a rien de complique, sur un routeur CISCO cela revient a configurer des tunnels.

Il existe plusieurs sortes de tunnels. Les tunnels manuels comme GRE ou ipv6ip et les tunnels automatiques comme 6to4 ou terredo par exemples. Aucune de ses technologies ne peut servir à construire un réseau important offrant des services IPv6 efficaces.

Exemple de tunnel Manuel ci-dessous. On notera le MTU de 1480 au lieu de 1500 généralement disponible sur des réseaux Ethernet. Il est à prévoir que des paquets à 1500 octets soient rejettés et un paquet ICMP envoyé à la source « Packet Too Big ». Si ces message ICMP sont filtrés par un firewall comme c’est parfois le cas , la communication sera cassée !

Exemple de tunnel manuel R1#sh run int tu0 Building configuration... Current configuration : 184 bytes ! interface Tunnel0 no ip address ipv6 address 2001:DB8:CAFE:12::1/64 ipv6 rip fred enable tunnel source FastEthernet0/1.11 tunnel destination 10.255.0.8 tunnel mode ipv6ip end

Page 168: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 166

R8#sh run int tu 0 Building configuration... Current configuration : 183 bytes ! interface Tunnel0 no ip address ipv6 address 2001:DB8:CAFE:12::1/64 ipv6 rip fred enable tunnel source FastEthernet0/1.3 tunnel destination 10.255.0.1 tunnel mode ipv6ip end R1#sh int tu0 Tunnel0 is up, line protocol is up Hardware is Tunnel MTU 17920 bytes, BW 100 Kbit/sec, DLY 50000 usec, reliability 255/255, txload 1/255, rxload 1/255 Encapsulation TUNNEL, loopback not set Keepalive not set Tunnel source 10.0.3.1 (FastEthernet0/1.11), destination 10.255.0.8 Tunnel protocol/transport IPv6/IP Tunnel TTL 255 Tunnel transport MTU 1480 bytes Tunnel transmit bandwidth 8000 (kbps) Tunnel receive bandwidth 8000 (kbps) Last input never, output 00:00:27, output hang never Last clearing of "show interface" counters never Input queue: 0/75/0/0 (size/max/drops/flushes); Total output drops: 0 Queueing strategy: fifo Output queue: 0/0 (size/max) 5 minute input rate 0 bits/sec, 0 packets/sec 5 minute output rate 0 bits/sec, 0 packets/sec 0 packets input, 0 bytes, 0 no buffer Received 0 broadcasts, 0 runts, 0 giants, 0 throttles 0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored, 0 abort 26 packets output, 3592 bytes, 0 underruns 0 output errors, 0 collisions, 0 interface resets 0 unknown protocol drops 0 output buffer failures, 0 output buffers swapped out R1# show ipv6 int tu0 Tunnel0 is up, line protocol is up IPv6 is enabled, link-local address is FE80::A00:301 No Virtual link-local address(es): Global unicast address(es): 2001:DB8:CAFE:12::1, subnet is 2001:DB8:CAFE:12::/64 Joined group address(es): FF02::1 FF02::2 FF02::9 FF02::1:FF00:1 FF02::1:FF00:301 MTU is 1480 bytes ICMP error messages limited to one every 100 milliseconds ICMP redirects are enabled ICMP unreachables are sent ND DAD is enabled, number of DAD attempts: 1

Page 169: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 167

ND reachable time is 30000 milliseconds (using 33680) Hosts use stateless autoconfig for addresses. Voici maintenant un exemple de tunnel automatique 6to4. On notera que dans les configuration il n’y a pas de statement « tunnel destination » Exemple de Tunnel Automatique 6to4 6to4-1#sh run int tu2002 Building configuration... Current configuration : 152 bytes ! interface Tunnel2002 no ip address no ip redirects ipv6 address 2002:C0A8:6301::1/128 tunnel source FastEthernet0/0 tunnel mode ipv6ip 6to4 end ! interface FastEthernet0/0 ip address 192.168.99.1 255.255.255.0 duplex auto speed auto end Router#sh run int fa0/1 Building configuration... Current configuration : 97 bytes ! interface FastEthernet0/1 ip address 192.168.33.1 255.255.255.0 duplex auto speed auto end Router# Router#sh run int tu2002 Building configuration... Current configuration : 152 bytes interface Tunnel2002 no ip address no ip redirects ipv6 address 2002:C0A8:2101::1/128 tunnel source FastEthernet0/1 tunnel mode ipv6ip 6to4 end Router# Router#sh int tu2002 Tunnel2002 is up, line protocol is up Hardware is Tunnel MTU 17920 bytes, BW 100 Kbit/sec, DLY 50000 usec, reliability 255/255, txload 1/255, rxload 1/255

Page 170: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 168

Encapsulation TUNNEL, loopback not set Keepalive not set Tunnel source 192.168.33.1 (FastEthernet0/1) Tunnel protocol/transport IPv6 6to4 Tunnel TTL 255 Tunnel transport MTU 1480 bytes Tunnel transmit bandwidth 8000 (kbps) Tunnel receive bandwidth 8000 (kbps) Last input never, output 00:10:35, output hang never Last clearing of "show interface" counters never Input queue: 0/75/0/0 (size/max/drops/flushes); Total output drops: 0 Queueing strategy: fifo Output queue: 0/0 (size/max) 5 minute input rate 0 bits/sec, 0 packets/sec 5 minute output rate 0 bits/sec, 0 packets/sec 0 packets input, 0 bytes, 0 no buffer Received 0 broadcasts, 0 runts, 0 giants, 0 throttles 0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored, 0 abort 6 packets output, 576 bytes, 0 underruns 0 output errors, 0 collisions, 0 interface resets 0 unknown protocol drops 0 output buffer failures, 0 output buffers swapped out Router# Router# sh ipv6 int tu2002 Tunnel2002 is up, line protocol is up IPv6 is enabled, link-local address is FE80::C0A8:2101 No Virtual link-local address(es): Global unicast address(es): 2002:C0A8:2101::1, subnet is 2002:C0A8:2101::1/128 Joined group address(es): FF02::1 FF02::2 FF02::1:FF00:1 FF02::1:FFA8:2101 MTU is 1480 bytes ICMP error messages limited to one every 100 milliseconds ICMP redirects are enabled ICMP unreachables are sent ND DAD is not supported ND reachable time is 30000 milliseconds (using 25101) Hosts use stateless autoconfig for addresses. Router# 6to4-1#sh run int tu2002 Building configuration... Current configuration : 152 bytes ! interface Tunnel2002 no ip address no ip redirects ipv6 address 2002:C0A8:6301::1/128 tunnel source FastEthernet0/0 tunnel mode ipv6ip 6to4 end 6to4-1# 6to4-1#sh int tu2002 Tunnel2002 is up, line protocol is up Hardware is Tunnel

Page 171: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 169

MTU 17920 bytes, BW 100 Kbit/sec, DLY 50000 usec, reliability 255/255, txload 1/255, rxload 1/255 Encapsulation TUNNEL, loopback not set Keepalive not set Tunnel source 192.168.99.1 (FastEthernet0/0) Tunnel protocol/transport IPv6 6to4 Tunnel TTL 255 Tunnel transport MTU 1480 bytes Tunnel transmit bandwidth 8000 (kbps) Tunnel receive bandwidth 8000 (kbps) Last input never, output 00:05:41, output hang never Last clearing of "show interface" counters never Input queue: 0/75/0/0 (size/max/drops/flushes); Total output drops: 0 Queueing strategy: fifo Output queue: 0/0 (size/max) 5 minute input rate 0 bits/sec, 0 packets/sec 5 minute output rate 0 bits/sec, 0 packets/sec 0 packets input, 0 bytes, 0 no buffer Received 0 broadcasts, 0 runts, 0 giants, 0 throttles 0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored, 0 abort 6 packets output, 576 bytes, 0 underruns 0 output errors, 0 collisions, 0 interface resets 0 unknown protocol drops 0 output buffer failures, 0 output buffers swapped out 6to4-1#sh ipv6 int tu 2002 Tunnel2002 is up, line protocol is up IPv6 is enabled, link-local address is FE80::C0A8:6301 No Virtual link-local address(es): Global unicast address(es): 2002:C0A8:6301::1, subnet is 2002:C0A8:6301::1/128 Joined group address(es): FF02::1 FF02::2 FF02::1:FF00:1 FF02::1:FFA8:6301 MTU is 1480 bytes ICMP error messages limited to one every 100 milliseconds ICMP redirects are enabled ICMP unreachables are sent ND DAD is not supported ND reachable time is 30000 milliseconds (using 43172) Hosts use stateless autoconfig for addresses. 6to4-1#

IPv6 SUR MPLS POUR IPv4 La derniere solution de transition mise en place par de nombreux operateurs est 6PE et 6VPE. Cette solution est fort appréciee des operateurs car elle permet de ne pas toucher au reseau infrastructure de l’operateur. Seuls, les PE sont ajoutes ou configuré pour accueillir cette fonctionalité supplémentaire et les uplinks redimenssiones en fonction des besoins du client. De plus il est assez facile d’offrir des services differencies grâce a la QOS et le Traffic Engineering.

Le seul grief que l’on peut faire aujourd’hui a cette solution c’est qu’elle ne supporte pas le multicast.

Page 172: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 170

Avec 6PE, tout opérateur d’un reseau MPLS IPv4 peut offrir un service IPv6 sans avoir à intervenir sur le backbone MPLS. Il suffit juste de configurer la fonctionalite 6PE sur les PE du reseau qui souhaitent beneficier d’un service IPv6.

Si on veut egalement pouvoir offrir un service de VPN a ses clients, 6vPE permettra alors de configurer des VRF IP et IPv6. Ainsi l’investissement est preservé et l’ajout d’un service IPv6 est d’une facilite déconcertante.

Avec 6PE comme 6vPE, MP-BGP est utilise pour distribuer les labels associes aux adresses IPv6 annonces.

Pour la suite, on part du principe que le lecteur a les connaisance de base MPLS sur IPv4.

Introduction a 6PE La demande de 6PE est apparue il y a de nombreuses annees alors que la pluspart des operateurs avaient fait le choix MPLS pour IPv4 et que la demande IPv6 commancait a se faire pressente.

L’elegance de la solution 6PE est de ne rien toucher au backbone pour ajouter ce nouveau service à la péripherie. Les routeurs implementant 6PE ne demandent aucune modification sur le backbone pour offrir un service IPv6. Le succès d’IPv6 fut immediat et de grands operateurs l’adopterent tres vite. CISCO mis un point d’honneur pour delivrer un soft fiable et stable. Toute une batterie de test furent developpes pour tester 6PE dans toutes les topologies et autres architectures que CISCO supportait.

Dans la premiere version les labels en egress etaient des aggregate ce qui revient a redonner la main a CEFv6 pour le routage en egress. Cela posait un probleme our certaines plate-formes et CISCO du reecrire cette partie du code pour que chaque prefix ait son propre label de facon a ce que la comutation des paquets sortant soit assure par la LFIB.�

La configuration de 6PE se revele d’une grande simplicite puisqu’aucune nouvelle commande de configuration a ete ajoutee. Seule une option de la commande BGP « neighbor » permet de configurer 6PE.

La configuration de base est d’une simplicite enfantine.

Configurer une interface loopback avec une adresse /32. C’est cette adresse qui servira à faire le peerring iBGP et il est très important qu’elle soiot en /32 autrement, l’allocation de label serait inapproprié pour 6PE ou 6vPE.

interface Loopback0 ip address 10.10.10.12 255.255.255.255 Configurer ensuite sur chaque 6PE, le peering BGP vers les autres 6PE ou vers un Route Reflector.

router bgp 1 no synchronization bgp log-neighbor-changes

� Label Forwarding Information Base. La base de donnees permettant la commutation sur label.

Page 173: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 171

neighbor 10.10.10.10 remote-as 1 neighbor 10.10.10.10 update-source Loopback0 no auto-summary ! address-family ipv6 redistribute connected no synchronization neighbor 10.10.10.10 activate neighbor 10.10.10.10 send-label exit-address-family

La commande 6PE est l’option « send-label » de la commande neighbor.

Une fois que 6PE est configure on va verifier que les sessions BGP sont bien Up.

r2#show bgp ipv6 unicast summary BGP router identifier 10.10.10.12, local AS number 1 BGP table version is 4, main routing table version 4 2 network entries using 288 bytes of memory 2 path entries using 152 bytes of memory 2/2 BGP path/bestpath attribute entries using 248 bytes of memory 0 BGP route-map cache entries using 0 bytes of memory 0 BGP filter-list cache entries using 0 bytes of memory BGP using 688 total bytes of memory BGP activity 3/1 prefixes, 5/3 paths, scan interval 60 secs Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd 10.10.10.10 4 1 53 53 4 0 0 00:43:22 1 Puis verifier que les prefix IPv6 sont bien transmis et correctement recus par BGP :

r2#show bgp ipv6 unicast BGP table version is 4, local router ID is 10.10.10.12 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path *>iCAFE::1/128 ::FFFF:10.10.10.10 0 100 0 ? *> CAFE::2/128 :: 0 32768 ? r2#show bgp ipv6 unicast CAFE::1/128 BGP routing table entry for CAFE::1/128, version 4 Paths: (1 available, best #1, table default) Not advertised to any peer Local ::FFFF:10.10.10.10 (metric 3) from 10.10.10.10 (10.10.10.10) Origin incomplete, metric 0, localpref 100, valid, internal, best mpls labels in/out nolabel/19

On notera au passage le next hop « ::FFFF:10.10.10.10 » qui contient une adresse IPv4 dans une adresse IPv6. Il s’agit bien de la loopback du 6PE distant qui a servi à faire le peering iBGP. On pourra noter aussi que la distribution de label dans le backbone MPLS IPv4 peut se faire par LDP ou par RSVP et Traffic Engeneering. Vérifier que l’entree CEFv6 correspondante, apprise par BGP du 6PE distant est bien dans le 6PE local, en effet c’est CEFv6 qui est responsable de l’encapsulation MPLS (chemin ipv62mpls).

Page 174: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 172

r2#show ipv6 cef CAFE::1/128 int CAFE::1/128, epoch 0, flags rib defined all labels, RIB[B], refcount 4, per-destination sharing sources: RIB feature space: IPRM: 0x00018000 LFD: CAFE::1/128 0 local labels contains path extension list label switch chain 0x66842F30 ifnums: FastEthernet2/0(7): 192.168.2.11 path 687EC97C, path list 686429E0, share 1/1, type recursive, for IPv6 MPLS short path extensions: MOI flags = 0x0 label 19 recursive via 10.10.10.10[IPv4:Default] label 19, fib 66843BB4, 1 terminal fib, v4:Default:10.10.10.10/32 path 68642FC0, path list 68642B5C, share 1/1, type attached nexthop, for IPv4 MPLS short path extensions: MOI flags = 0x0 label 17 nexthop 192.168.2.11 FastEthernet2/0 label 17, adjacency IP adj out of FastEthernet2/0, addr 192.168.2.11 6740F6E0 output chain: label 19 label 17 TAG adj out of FastEthernet2/0, addr 192.168.2.11 6740F580

Une fois qu’on a verifié que l’entrée CEFv6 est correcte, il faut aussi verifier qu’on a une adjacence pour ce next-hop de l’entree CEF. En effet c’est l’adjacence qui permet d’encapsuler le datagram IPv6 dans MPLS.

r2#show adj 192.168.2.11 int

Protocol Interface Address IP FastEthernet2/0 192.168.2.11(15) 0 packets, 0 bytes epoch 0 sourced in sev-epoch 0 Encap length 14 CA0106A90038CA0206A900380800 ARP Fast adjacency enabled [OK] L3 mtu 1500 Flags (0x188E) Fixup disabled HWIDB/IDB pointers 0x670D0190/0x670D0E2C IP redirect enabled Switching vector: IPv4 no fixup adj oce Adjacency pointer 0x6740F6E0 Next-hop 192.168.2.11 TAG FastEthernet2/0 192.168.2.11(5) 0 packets, 0 bytes epoch 0 sourced in sev-epoch 0 Encap length 14 CA0106A90038CA0206A900388847

Address ARP Fast adjacency enabled [OK] L3 mtu 1500 Flags (0x88E) Fixup disabled HWIDB/IDB pointers 0x670D0190/0x670D0E2C IP redirect disabled Switching vector: MPLS adjacency oce Adjacency pointer 0x6740F580 Next-hop 192.168.2.11

Page 175: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 173

A la sortie du réseau on verifiera que l’on a une entree dans la LFIB. La commutation du paquet en sortie est assuree par la LFIB contrairement à l’entree du réseau ou elle est confie a la fib. r0>show mpls for Local Outgoing Prefix Bytes Label Outgoing Next Hop Label Label or Tunnel Id Switched interface 16 16 10.10.10.12/32 0 Fa1/0 192.168.0.11 17 Pop Label 10.10.10.11/32 0 Fa1/0 192.168.0.11 18 Pop Label 192.168.2.0/24 0 Fa1/0 192.168.0.11 19 Pop Label CAFE::1/128 786 aggregate r0>sh mpls for CAFE::1/128 det Local Outgoing Prefix Bytes Label Outgoing Next Hop Label Label or Tunnel Id Switched interface 19 Pop Label CAFE::1/128 786 aggregate MAC/Encaps=0/0, MRU=0, Label Stack{} No output feature configured r0>

Le label « aggregate » signifie que le datagramme IPv6 devra etre soumis a un lookup dans CEFv6 pour decider comment l’acheminer.

Introduction a 6vPE 6vPE ajoute le concept de VRF a 6PE. Le VRF ou Virtual Routing and Forwarding donne l’impression a chaque client qu’il dispose de son reseau prive dedie. Les tables de routages et de forwarding (fib et lfib) sont separees pour chaque VRF. De plus la configuration de chaque VRF est d’une grande simplicite.

Comme 6PE, 6vPE a ete teste de facon exhaustive chez CISCO. Des topologies de bases aux topologies les plus complexes telles que l’acces a Internet simultane, InterAS Scenario 1, 2 et 3, Carrier’s Carrier, Hub and Spoke. Des tests de scalabilite et de performance ont ete regulierement executes pendant toutes les phases de developement.

Dans l’exemple ci-dessous, on cree trois VRF hub, red et blue. Ces trois VRF sont completement isolees et ne se voient absolument pas. Toutefois la VRF « hub » a un role particulier. En effet, elle importe les routes des deux autres VRF et exporte l’ensemble de ses routes. Elle pourrait servir a mettre en place une toppologie hub and spoke ou chaque site « spoke » peut communiquer avec l’ensemble des autres sites via le site « hub ».

6vPE n’est pas vraimment plus complique a mettre en œuvre. Configurer une interface loopback avec une adresse /32. Cette interface sera tres importante pour le peering BGP et se doit d’etre une /32 sinon on ne genererai pas le bon label et la communication serait cassee.

interface Loopback0 ip address 10.10.10.12 255.255.255.255

Puis on continuera par declarer toutes les VRF que l’on souhaite voir sur un PE. Et puis la configuration BGP correspondante.

vrf definition red rd 10:1 !

Page 176: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 174

address-family ipv6 route-target export 100:1 route-target import 100:1 exit-address-family ! vrf definition blue rd 10:2 ! address-family ipv6 route-target export 100:2 route-target import 100:2 exit-address-family ! vrf definition hub rd 10:100 ! address-family ipv6 route-target export 100:100 route-target import 100:1 route-target import 100:2 exit-address-family ! interface Loopback0 ip address 10.10.10.10 255.255.255.255 ipv6 address CAFE::1/128 ! ! interface Loopback100 vrf forwarding red no ip address ipv6 address DEAD::1/128 ! ! interface Loopback101 vrf forwarding blue no ip address ipv6 address BEEF::100/128 ! ! interface Loopback110 vrf forwarding hub no ip address ipv6 address DEAD:BEEF::1/128 ! router bgp 1 no synchronization bgp log-neighbor-changes neighbor 10.10.10.10 remote-as 1 neighbor 10.10.10.10 update-source Loopback0 neighbor 10.10.10.10 send-label no auto-summary ! address-family ipv6 redistribute connected no synchronization neighbor 10.10.10.10 activate neighbor 10.10.10.10 send-label exit-address-family ! address-family vpnv6 neighbor 10.10.10.10 activate

Page 177: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 175

neighbor 10.10.10.10 send-community extended exit-address-family ! address-family ipv6 vrf red redistribute connected no synchronization exit-address-family ! address-family ipv6 vrf blue redistribute connected no synchronization exit-address-family ! Pour verifier que tout fonctionne bien on utilisera les commandes suivantes : Verifier que la session BGP VPNV6 est montee r0#sh bgp vpnv6 u all BGP table version is 11, local router ID is 10.10.10.10 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path Route Distinguisher: 10:1 (default for vrf red) *> DEAD::1/128 :: 0 32768 ? *>iDEAD::2/128 ::FFFF:10.10.10.12 0 100 0 ? Route Distinguisher: 10:2 (default for vrf blue) *> BEEF::100/128 :: 0 32768 ? *>iBEEF::102/128 ::FFFF:10.10.10.12 0 100 0 ? Route Distinguisher: 10:100 (default for vrf hub) *> BEEF::100/128 :: 0 32768 ? *>iBEEF::102/128 ::FFFF:10.10.10.12 0 100 0 ? *> DEAD::1/128 :: 0 32768 ? *>iDEAD::2/128 ::FFFF:10.10.10.12 0 100 0 ?

On peut egalement verifier que les prefix sont correctement gere (import/export) :

r0#sh bgp vpnv6 u all BEEF::102/128 BGP routing table entry for [10:2]BEEF::102/128, version 5 Paths: (1 available, best #1, table blue) Not advertised to any peer Local ::FFFF:10.10.10.12 (metric 3) from 10.10.10.12 (10.10.10.12) Origin incomplete, metric 0, localpref 100, valid, internal, best Extended Community: RT:100:2 mpls labels in/out nolabel/20 BGP routing table entry for [10:100]BEEF::102/128, version 11 Paths: (1 available, best #1, table hub) Not advertised to any peer Local, imported path from [10:2]BEEF::102/128 ::FFFF:10.10.10.12 (metric 3) from 10.10.10.12 (10.10.10.12) Origin incomplete, metric 0, localpref 100, valid, internal, best Extended Community: RT:100:2 mpls labels in/out nolabel/20

Page 178: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 176

Verifier que les routes ont bien étées importees

r2#sh ipv6 ro vrf red IPv6 Routing Table - red - 2 entries Codes: C - Connected, L - Local, S - Static, U - Per-user Static route B - BGP, HA - Home Agent, MR - Mobile Router, R - RIP I1 - ISIS L1, I2 - ISIS L2, IA - ISIS interarea, IS - ISIS summary D - EIGRP, EX - EIGRP external, ND - Neighbor Discovery O - OSPF Intra, OI - OSPF Inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2 ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2 B DEAD::1/128 [200/0] via 10.10.10.10%default, indirectly connected L FF00::/8 [0/0] via Null0, receive r0#sh ipv6 ro vrf hub BEEF::102/128 Routing entry for BEEF::102/128 Known via "bgp 1", distance 200, metric 0, type internal Route count is 1/1, share count 0 Routing paths: 10.10.10.12%default indirectly connected MPLS label: 20 Last updated 00:12:45 ago

Verifier que les entrées CEF sont bien crées :

r2# show ipv6 cef vrf red DEAD::1/128 int DEAD::1/128, epoch 0, flags rib defined all labels, RIB[B], refcount 4, per-destination sharing sources: RIB feature space: IPRM: 0x00018000 LFD: DEAD::1/128 0 local labels contains path extension list label switch chain 0x66842ED0 ifnums: FastEthernet2/0(7): 192.168.2.11 path 687EC97C, path list 6799B2FC, share 1/1, type recursive, for IPv6 MPLS short path extensions: MOI flags = 0x0 label 20 recursive via 10.10.10.10[IPv4:Default] label 20, fib 66843BB4, 1 terminal fib, v4:Default:10.10.10.10/32 path 68642FC0, path list 68642B5C, share 1/1, type attached nexthop, for IPv4 MPLS short path extensions: MOI flags = 0x0 label 17 nexthop 192.168.2.11 FastEthernet2/0 label 17, adjacency IP adj out of FastEthernet2/0, addr 192.168.2.11 6740F6E0 output chain: label 20 label 17 TAG adj out of FastEthernet2/0, addr 192.168.2.11 6740F580 Verifier que l’adjacence a bien ete créée :

sh adj 192.168.2.11 int Protocol Interface Address IP FastEthernet2/0 192.168.2.11(15) 0 packets, 0 bytes epoch 0 sourced in sev-epoch 0 Encap length 14 CA0106A90038CA0206A900380800

Page 179: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 177

Fast adjacency enabled [OK] L3 mtu 1500 Flags (0x188E) Fixup disabled HWIDB/IDB pointers 0x670D0190/0x670D0E2C IP redirect enabled Switching vector: IPv4 no fixup adj oce Adjacency pointer 0x6740F6E0 Next-hop 192.168.2.11 TAG FastEthernet2/0 192.168.2.11(5) 0 packets, 0 bytes epoch 0 sourced in sev-epoch 0 Encap length 14 CA0106A90038CA0206A900388847 Address ARP Fast adjacency enabled [OK] L3 mtu 1500 Flags (0x88E) Fixup disabled HWIDB/IDB pointers 0x670D0190/0x670D0E2C IP redirect disabled Switching vector: MPLS adjacency oce Adjacency pointer 0x6740F580 Next-hop 192.168.2.11

Les outils de diagnostiques tels que traceroute existent egalement :

r2>traceroute� vrf red dead::1 Type escape sequence to abort. Tracing the route to DEAD::1 1 ::FFFF:192.168.2.11 [MPLS: Labels 17/20 Exp 0] 328 msec 20 msec 12 msec 2 DEAD::1 64 msec 36 msec 20 msec r2> Il peut etre necessaire de verifier egalement le bon fonctionement des P routers. Les P routers sont les routeurs du backbone MPLS IPv4 qui transportent le traffic 6PE ou 6vPE d’un point du reseau a un autre. La commande principale pour verfier que la commutation MPLS a bien lieu est « show mpls forwarding » r1#sh mpls for Local Outgoing Prefix Bytes Label Outgoing Next Hop Label Label or Tunnel Id Switched interface 16 Pop Label 10.10.10.12/32 106437 Fa2/0 192.168.2.12 17 Pop Label 10.10.10.10/32 99091 Fa1/0 192.168.0.10 r1#

Captur e 6VPE

� Avant de lancer traceroute il est recommende de desactiver la resolution de nom. Sinon pour

chaque saut, traceroute va chercher a resoudre le nom du routeurs intermediaire.

Page 180: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 178

BGP OPEN

Dans les BGP OPEN 6PE ou 6vPE on retrouvera dans les capabilities negociees :

Address family identifier: IPv6 (2) Subsequent address family identifier: Labeled VPN Unicast (128)

Ethernet II, Src: ca:01:06:a9:00:1c (ca:01:06:a9:00:1c), Dst: ca:00:06:a9:00:1c (ca:00:06:a9:00:1c) Destination: ca:00:06:a9:00:1c (ca:00:06:a9:00:1c) S ource: ca:01:06:a9:00:1c (ca:01:06:a9:00:1c) Type: IP (0x0800) Internet Protocol, Src: 10.10.10.12 (10.10.10.12), Dst: 10.10.10.10 (10.10.10.10) Version: 4 Header length: 20 bytes Differentiated Services Field: 0xc0 (DSCP 0x30: Class Selector 6; ECN: 0x00) Total Length: 130 Identification: 0x2019 (8217) Flags: 0x02 (Don't Fragment) Fragment offset: 0 Time to live: 254 Protocol: TCP (0x06) Header checksum: 0x3373 [correct] Source: 10.10.10.12 (10.10.10.12) Destination: 10.10.10.10 (10.10.10.10) Transmission Control Protocol, Src Port: 25496 (25496), Dst Port: bgp (179), Seq: 1, Ack: 1, Len: 90 Border Gateway Protocol OPEN Message Marker: 16 bytes Length: 90 bytes Type: OPEN Message (1) Version: 4 My AS: 1 Hold time: 180 BGP identifier: 10.10.10.12 Optional parameters length: 61 bytes Optional parameters Capabilities Advertisement (8 bytes) Parameter type: Capabilities (2) Parameter length: 6 bytes Multiprotocol extensions capability (6 bytes) Capability code: Multiprotocol extensions capability (1) Capability length: 4 bytes Capability value Address family identifier: IPv6 (2) Reserved: 1 byte Subsequent address family identifier: Labeled VPN Unicast (128) Capabilities Advertisement (8 bytes) Parameter type: Capabilities (2) Parameter length: 6 bytes Multiprotocol extensions capability (6 bytes) Capability code: Multiprotocol extensions capability (1) Capability length: 4 bytes Capability value Address family identifier: IPv6 (2) Reserved: 1 byte Subsequent address family identifier: Unicast (1) Capabilities Advertisement (8 bytes) Parameter type: Capabilities (2) Parameter length: 6 bytes Multiprotocol extensions capability (6 bytes) Capability code: Multiprotocol extensions capability (1) Capability length: 4 bytes Capability value Address family identifier: IPv6 (2) Reserved: 1 byte Subsequent address family identifier: Labeled Unicast (4) Capabilities Advertisement (8 bytes) Parameter type: Capabilities (2)

Page 181: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 179

Parameter length: 6 bytes Multiprotocol extensions capability (6 bytes) Capability code: Multiprotocol extensions capability (1) Capability length: 4 bytes Capability value Address family identifier: IPv4 (1) Reserved: 1 byte Subsequent address family identifier: Unicast (1) Capabilities Advertisement (8 bytes) Parameter type: Capabilities (2) Parameter length: 6 bytes Multiprotocol extensions capability (6 bytes) Capability code: Multiprotocol extensions capability (1) Capability length: 4 bytes Capability value Address family identifier: IPv4 (1) Reserved: 1 byte Subsequent address family identifier: Labeled Unicast (4) Capabilities Advertisement (4 bytes) Parameter type: Capabilities (2) Parameter length: 2 bytes Route refresh capability (2 bytes) Capability code: Route refresh capability (128) Capability length: 0 bytes Capabilities Advertisement (4 bytes) Parameter type: Capabilities (2)q Parameter length: 2 bytes Route refresh capability (2 bytes) Capability code: Route refresh capability (2) Capability length: 0 bytes Capabilities Advertisement (5 bytes) Parameter type: Capabilities (2) Parameter length: 3 bytes Unknown capability (3 byte) Capability code: Unknown capability (131) Capability code: Private use (131) Capability length: 1 byte Capability value: Unknown Capabilities Advertisement (8 bytes) Parameter type: Capabilities (2) Parameter length: 6 bytes Support for 4-octet AS number capability (6 bytes) Capability code: Support for 4-octet AS number capability (65) Capability length: 4 bytes Capability value AS number: 1

BGP UPDA TE

Ci-dessous un exemple de plusieurs messages BGP dans un meme segment TCP.

On y trouve plusieurs UPDATE annoncant de nouvelles routes

Frame 305 (313 bytes on wire, 313 bytes captured) Ethernet II, Src: ca:01:06:a9:00:1c (ca:01:06:a9:00:1c), Dst: ca:00:06:a9:00:1c (ca:00:06:a9:00:1c) Destination: ca:00:06:a9:00:1c (ca:00:06:a9:00:1c) Source: ca:01:06:a9:00:1c (ca:01:06:a9:00:1c) Type: IP (0x0800) Internet Protocol, Src: 10.10.10.12 (10.10.10.12), Dst: 10.10.10.10 (10.10.10.10) Version: 4 Header length: 20 bytes Differentiated Services Field: 0xc0 (DSCP 0x30: Class Selector 6; ECN: 0x00) Total Length: 299 Identification: 0x201c (8220) Flags: 0x02 (Don't Fragment)

Page 182: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 180

Fragment offset: 0 Time to live: 254 Protocol: TCP (0x06) Header checksum: 0x32c7 [correct] Source: 10.10.10.12 (10.10.10.12) Destination: 10.10.10.10 (10.10.10.10) Transmission Control Protocol, Src Port: 25496 (25496), Dst Port: bgp (179), Seq: 129, Ack: 110, Len: 259 Border Gateway Protocol UPDATE Message Marker: 16 bytes Length: 115 bytes Type: UPDATE Message (2) Unfeasible routes length: 0 bytes Total path attribute length: 92 bytes Path attributes ORIGIN: INCOMPLETE (4 bytes) Flags: 0x40 (Well-known, Transitive, Complete) 0... .... = Well-known .1.. .... = Transitive ..0. .... = Complete ...0 .... = Regular length Type code: ORIGIN (1) Length: 1 byte Origin: INCOMPLETE (2) AS_PATH: empty (3 bytes) Flags: 0x40 (Well-known, Transitive, Complete) 0... .... = Well-known .1.. .... = Transitive ..0. .... = Complete ...0 .... = Regular length Type code: AS_PATH (2) Length: 0 bytes AS path: empty MULTI_EXIT_DISC: 0 (7 bytes) Flags: 0x80 (Optional, Non-transitive, Complete) 1... .... = Optional .0.. .... = Non-transitive ..0. .... = Complete ...0 .... = Regular length Type code: MULTI_EXIT_DISC (4) Length: 4 bytes Multiple exit discriminator: 0 LOCAL_PREF: 100 (7 bytes) Flags: 0x40 (Well-known, Transitive, Complete) 0... .... = Well-known .1.. .... = Transitive ..0. .... = Complete ...0 .... = Regular length Type code: LOCAL_PREF (5) Length: 4 bytes Local preference: 100 EXTENDED_COMMUNITIES: (11 bytes) Flags: 0xc0 (Optional, Transitive, Complete) 1... .... = Optional .1.. .... = Transitive ..0. .... = Complete ...0 .... = Regular length Type code: EXTENDED_COMMUNITIES (16) Length: 8 bytes Carried Extended communities MP_REACH_NLRI (60 bytes) Flags: 0x80 (Optional, Non-transitive, Complete) 1... .... = Optional .0.. .... = Non-transitive ..0. .... = Complete ...0 .... = Regular length

Page 183: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 181

Type code: MP_REACH_NLRI (14) Length: 57 bytes Address family: IPv6 (2) Subsequent address family identifier: Labeled VPN Unicast (128) Next hop network address (24 bytes) Next hop: Empty Label Stack RD=0:0 IPv6=::ffff:10.10.10.12 (24) Subnetwork points of attachment: 0 Network layer reachability information (28 bytes) Label Stack=21 (bottom) RD=10:1, IPv6=dead::2/128 Border Gateway Protocol UPDATE Message Marker: 16 bytes Length: 115 bytes Type: UPDATE Message (2) Unfeasible routes length: 0 bytes Total path attribute length: 92 bytes Path attributes ORIGIN: INCOMPLETE (4 bytes) Flags: 0x40 (Well-known, Transitive, Complete) 0... .... = Well-known .1.. .... = Transitive ..0. .... = Complete ...0 .... = Regular length Type code: ORIGIN (1) Length: 1 byte Origin: INCOMPLETE (2) AS_PATH: empty (3 bytes) Flags: 0x40 (Well-known, Transitive, Complete) 0... .... = Well-known .1.. .... = Transitive ..0. .... = Complete ...0 .... = Regular length Type code: AS_PATH (2) Length: 0 bytes AS path: empty MULTI_EXIT_DISC: 0 (7 bytes) Flags: 0x80 (Optional, Non-transitive, Complete) 1... .... = Optional .0.. .... = Non-transitive ..0. .... = Complete ...0 .... = Regular length Type code: MULTI_EXIT_DISC (4) Length: 4 bytes Multiple exit discriminator: 0 LOCAL_PREF: 100 (7 bytes) Flags: 0x40 (Well-known, Transitive, Complete) 0... .... = Well-known .1.. .... = Transitive ..0. .... = Complete ...0 .... = Regular length Type code: LOCAL_PREF (5) Length: 4 bytes Local preference: 100 EXTENDED_COMMUNITIES: (11 bytes) Flags: 0xc0 (Optional, Transitive, Complete) 1... .... = Optional .1.. .... = Transitive ..0. .... = Complete ...0 .... = Regular length Type code: EXTENDED_COMMUNITIES (16) Length: 8 bytes Carried Extended communities MP_REACH_NLRI (60 bytes) Flags: 0x80 (Optional, Non-transitive, Complete) 1... .... = Optional .0.. .... = Non-transitive ..0. .... = Complete

Page 184: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 182

...0 .... = Regular length Type code: MP_REACH_NLRI (14) Length: 57 bytes Address family: IPv6 (2) Subsequent address family identifier: Labeled VPN Unicast (128) Next hop network address (24 bytes) Next hop: Empty Label Stack RD=0:0 IPv6=::ffff:10.10.10.12 (24) Subnetwork points of attachment: 0 Network layer reachability information (28 bytes) Label Stack=20 (bottom) RD=10:2, IPv6=beef::102/128 Border Gateway Protocol UPDATE Message Marker: 16 bytes Length: 29 bytes Type: UPDATE Message (2) Unfeasible routes length: 0 bytes Total path attribute length: 6 bytes Path attributes MP_UNREACH_NLRI (6 bytes) Flags: 0x80 (Optional, Non-transitive, Complete) 1... .... = Optional .0.. .... = Non-transitive ..0. .... = Complete ...0 .... = Regular length Type code: MP_UNREACH_NLRI (15) Length: 3 bytes Address family: IPv6 (2) Subsequent address family identifier: Labeled VPN Unicast (128) Withdrawn routes (0 bytes)

Exemple de Topologies .

Accès à Int ern et Avec 6vPE il est tout à fait possible d’offrir aux clients du réseau privé virtuel un accés à internet.

Cela peut se faire de deux façons possible :

• Soit on dédie une interface ou sub-interface à l’accès Internet et l’autre à l’accés VRF

• Soit on accède à Internet par l’interface du réseau privé virtuel. On fait pointer une route par défaut dans la table globale du routeur BGP Internet. Et dans l’autre sens une route statique globale avec son next-hop dans le VRF.

Page 185: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 183

La solution que nous allons montrer utilise la même interface pour accéder au VRF et à l’accès Internet. On va voir que chez l’opérateur, on peut être en IPv6 entre le 6VPE et l’Internet Gateway ou encore utiliser 6PE pour rappatrier du 6VPE la table de routage Internet IPv6 dans la table de routage globale, solution que nous allons démontrer. L’adresse BAD:CAFE::1 pourrait être n’importe quelle adresse Internet apprise par la passerelle Internet voisine InternetGW2 qui l’apprend à notre InternetGW. Cette adresse reste la table de routage globale et arrive jusqu’à notre 6VPE car apprise via 6PE.

CE#trace bad:CAFe::1 Type escape sequence to abort. Tracing the route to BAD:CAFE::1 1 2001:DB8:1::1 8 msec 8 msec 20 msec 2 2001:DB8:100::1 [AS 1] 24 msec 8 msec 8 msec 3 2001:DB8:100::101 [AS 1] 676 msec 688 msec 660 msec CE#sh ipv6 ro IPv6 Routing Table - default - 8 entries Codes: C - Connected, L - Local, S - Static, U - Per-user Static route

Page 186: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 184

B - BGP, HA - Home Agent, MR - Mobile Router, R - RIP I1 - ISIS L1, I2 - ISIS L2, IA - ISIS interarea, IS - ISIS summary D - EIGRP, EX - EIGRP external, ND - Neighbor Discovery O - OSPF Intra, OI - OSPF Inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2 ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2 S ::/0 [1/0] via DEAD::1 C 2001:DB8:1::/64 [0/0] via FastEthernet0/1, directly connected L 2001:DB8:1::2/128 [0/0] via FastEthernet0/1, receive C 2001:DB8:3::/64 [0/0] via FastEthernet0/0, directly connected L 2001:DB8:3::101/128 [0/0] via FastEthernet0/0, receive B 2001:DB8:100::/64 [20/0] via 2001:DB8:1::1 B DEAD::/64 [20/0] via FE80::C803:1FF:FE90:6, FastEthernet0/1 L FF00::/8 [0/0] via Null0, receive 6VPE#sh ipv6 ro vrf blue IPv6 Routing Table - blue - 8 entries Codes: C - Connected, L - Local, S - Static, U - Per-user Static route B - BGP, HA - Home Agent, MR - Mobile Router, R - RIP I1 - ISIS L1, I2 - ISIS L2, IA - ISIS interarea, IS - ISIS summary D - EIGRP, EX - EIGRP external, ND - Neighbor Discovery O - OSPF Intra, OI - OSPF Inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2 ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2 S ::/0 [1/0] via CAFE::2%default C 2001:DB8:1::/64 [0/0] via FastEthernet0/1, directly connected L 2001:DB8:1::1/128 [0/0] via FastEthernet0/1, receive B 2001:DB8:3::/64 [20/0] via FE80::C802:1FF:FE90:6, FastEthernet0/1 S 2001:DB8:100::/64 [1/0] via 2001:DB8:1::10 C DEAD::/64 [0/0] via Loopback100, directly connected L DEAD::1/128 [0/0] via Loopback100, receive L FF00::/8 [0/0] via Null0, receive 6VPE#sh ipv6 ro IPv6 Routing Table - default - 6 entries Codes: C - Connected, L - Local, S - Static, U - Per-user Static route B - BGP, HA - Home Agent, MR - Mobile Router, R - RIP I1 - ISIS L1, I2 - ISIS L2, IA - ISIS interarea, IS - ISIS summary D - EIGRP, EX - EIGRP external, ND - Neighbor Discovery O - OSPF Intra, OI - OSPF Inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2 ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2 B BAD:CAFE::1/128 [200/0] via 10.1.1.4%default, indirectly connected S 2001:DB8:1::/64 [1/0] via FastEthernet0/1, directly connected

Page 187: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 185

B 2001:DB8:100::/64 [200/0] via 10.1.1.4%default, indirectly connected LC CAFE::1/128 [0/0] via Loopback0, receive B CAFE::2/128 [200/0] via 10.1.1.4%default, indirectly connected L FF00::/8 [0/0] via Null0, receive InternetGW#sh ipv6 ro IPv6 Routing Table - default - 7 entries Codes: C - Connected, L - Local, S - Static, U - Per-user Static route B - BGP, HA - Home Agent, MR - Mobile Router, R - RIP I1 - ISIS L1, I2 - ISIS L2, IA - ISIS interarea, IS - ISIS summary D - EIGRP, EX - EIGRP external, ND - Neighbor Discovery O - OSPF Intra, OI - OSPF Inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2 ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2 B BAD:CAFE::1/128 [20/0] via FE80::C805:1FF:FE90:1D, FastEthernet1/1 B 2001:DB8:1::/64 [200/0] via 10.1.1.3%default, indirectly connected C 2001:DB8:100::/64 [0/0] via FastEthernet1/1, directly connected L 2001:DB8:100::1/128 [0/0] via FastEthernet1/1, receive B CAFE::1/128 [200/0] via 10.1.1.3%default, indirectly connected LC CAFE::2/128 [0/0] via Loopback0, receive L FF00::/8 [0/0] via Null0, receive InternetGW#sh bgp ipv6 U BGP table version is 8, local router ID is 10.1.1.4 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path *> BAD:CAFE::1/128 2001:DB8:100::101 0 0 501 ? *>i2001:DB8:1::/64 ::FFFF:10.1.1.3 0 100 0 ? * 2001:DB8:100::/64 2001:DB8:100::101 0 0 501 ? *> :: 0 32768 ? *>iCAFE::1/128 ::FFFF:10.1.1.3 0 100 0 ? *> CAFE::2/128 :: 0 32768 ? InternetGW# InternetGW#show bgp ipv6 U bad:cafe::1/128 BGP routing table entry for BAD:CAFE::1/128, version 8 Paths: (1 available, best #1, table default) Advertised to update-groups: 2 501 2001:DB8:100::101 (FE80::C805:1FF:FE90:1D) from 2001:DB8:100::101 (10.1.1.90) Origin incomplete, metric 0, localpref 100, valid, external, best mpls labels in/out 21/nolabel InternetGW# InternetGW2#sh ipv6 ro

Page 188: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 186

IPv6 Routing Table - default - 7 entries Codes: C - Connected, L - Local, S - Static, U - Per-user Static route B - BGP, HA - Home Agent, MR - Mobile Router, R - RIP I1 - ISIS L1, I2 - ISIS L2, IA - ISIS interarea, IS - ISIS summary D - EIGRP, EX - EIGRP external, ND - Neighbor Discovery O - OSPF Intra, OI - OSPF Inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2 ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2 LC BAD:CAFE::1/128 [0/0] via Loopback0, receive B 2001:DB8:1::/64 [20/0] via FE80::C804:1FF:FE90:1D, FastEthernet1/1 C 2001:DB8:100::/64 [0/0] via FastEthernet1/1, directly connected L 2001:DB8:100::101/128 [0/0] via FastEthernet1/1, receive B CAFE::1/128 [20/0] via FE80::C804:1FF:FE90:1D, FastEthernet1/1 B CAFE::2/128 [20/0] via FE80::C804:1FF:FE90:1D, FastEthernet1/1 L FF00::/8 [0/0] via Null0, receive InternetGW2# InternetGW2#sh bgp ipv6 u BGP table version is 7, local router ID is 10.1.1.90 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path *> BAD:CAFE::1/128 :: 0 32768 ? *> 2001:DB8:1::/64 2001:DB8:100::1 0 1 ? *> 2001:DB8:100::/64 :: 0 32768 ? * 2001:DB8:100::1 0 0 1 ? *> CAFE::1/128 2001:DB8:100::1 0 1 ? *> CAFE::2/128 2001:DB8:100::1 0 0 1 ? InternetGW2#

Sur le CE, configuration sans aucune particularité. Juste une route statique nulle qui pointe vers unne adress connue et fiable, une loopback:

ipv6 route ::/0 DEAD::1

Sur lle 6VPE on a besoin de route statiques pour sortir du VRF et atteindre n’importe quelle adresse de la table globale donc de l’Internet. Il faaut aussi une route statique pour rentrer dans le VRF dans le sens inverse: 6VPE#sh run | in ipv6 route ipv6 route 2001:DB8:1::/64 FastEthernet0/1 nexthop-vrf blue ipv6 route vrf blue 2001:DB8:100::/64 2001:DB8:1::10 ipv6 route vrf blue ::/0 CAFE::2 nexthop-vrf default router bgp 1 no synchronization bgp log-neighbor-changes neighbor 10.1.1.4 remote-as 1 neighbor 10.1.1.4 update-source Loopback0 no auto-summary !

Page 189: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 187

address-family ipv6 redistribute connected redistribute static no synchronization neighbor 10.1.1.4 activate neighbor 10.1.1.4 send-label exit-address-family ! address-family ipv6 vrf blue redistribute connected redistribute static no synchronization neighbor 2001:DB8:1::2 remote-as 65000 neighbor 2001:DB8:1::2 activate exit-address-family ! InternetGW# ! router bgp 1 no synchronization bgp log-neighbor-changes neighbor 10.1.1.3 remote-as 1 neighbor 10.1.1.3 update-source Loopback0 neighbor 2001:DB8:100::101 remote-as 501 no neighbor 2001:DB8:100::101 activate no auto-summary ! address-family ipv6 redistribute connected no synchronization neighbor 10.1.1.3 activate neighbor 10.1.1.3 send-label neighbor 2001:DB8:100::101 activate exit-address-family ! InternetGW2# ! router bgp 501 no synchronization bgp log-neighbor-changes neighbor 2001:DB8:100::1 remote-as 1 no neighbor 2001:DB8:100::1 activate no auto-summary ! address-family ipv6 redistribute connected no synchronization neighbor 2001:DB8:100::1 activate exit-address-family

InterAS Avec 6vPE il est possible de joindre deux réseaux connectés par deux Autonomous System BGP.

Il existe trois scenari supportés par CISCO :

Page 190: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 188

SCENARIO A Une interface pour chaque VRF est connectée à son homologue dans l’autre AS. C’est une solution facile mais chère car on voit bien le nombre d’interfaces que cela peut représenter si on interconnecte deux réseaux MPLS-VPN avec de nombreuses VRF !

SCENARIO B Le deuxième scénario est déjà plus optimisé. On va dédier un routeur dans chaque AS pour se connecter avec son peer par une session MP-eBGP avec distribution de préfixes et de labels.

Dans le scénario B, nous avons deux réseaux MPLS-VPNv6.

Dans l’exemple, les ASBR1 et ASBR2 sont aussi des routes reflectors. Une session eBGP VPNv6 entre les deux assure l’interconnexion des deux AS. ET on voit bien que les routes qui sortent de

l’AS vers le voisin ont pour next-hop, l’ASBR (10.255.255.x) qui assure le transit.

6pe1#sh ipv6 ro vrf red IPv6 Routing Table - red - 5 entries Codes: C - Connected, L - Local, S - Static, U - Per-user Static route B - BGP, M - MIPv6, R - RIP, I1 - ISIS L1 I2 - ISIS L2, IA - ISIS interarea, IS - ISIS summary, D - EIGRP EX - EIGRP external O - OSPF Intra, OI - OSPF Inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2 ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2 LC CAFE::1/128 [0/0] via Loopback100, receive B CAFE::2/128 [200/0] via 10.1.1.2%Default-IP-Routing-Table, indirectly connected B CAFE::3/128 [200/0] via 10.255.255.2%Default-IP-Routing-Table, indirectly connected B CAFE::4/128 [200/0] via 10.255.255.2%Default-IP-Routing-Table, indirectly connected L FF00::/8 [0/0] via Null0, receive 6pe1#show ipv6 ro vrf blue IPv6 Routing Table - blue - 3 entries Codes: C - Connected, L - Local, S - Static, U - Per-user Static route B - BGP, M - MIPv6, R - RIP, I1 - ISIS L1 I2 - ISIS L2, IA - ISIS interarea, IS - ISIS summary, D - EIGRP EX - EIGRP external O - OSPF Intra, OI - OSPF Inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2 ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2 LC CAFE:1::1/128 [0/0] via Loopback101, receive

6PE1 ASBR1

6PE2

ASBR2 6PE1a

6PE2a

Page 191: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 189

B CAFE:1::3/128 [200/0] via 10.255.255.2%Default-IP-Routing-Table, indirectly connected L FF00::/8 [0/0] via Null0, receive 6pe1#

On peut voir les routes sur le routeur 6PE1 et les next-hop qui pointent dans le même AS (10.1.1.2%Default-IP-Routing-Table ) ou dans l’AS voisin via ASBR2 (10.255.255.2%Default-IP-Routing-Table).

asbr1#show bgp vpnv6 U al sum BGP router identifier 10.1.1.3, local AS number 1 BGP table version is 19, main routing table version 19 6 network entries using 1080 bytes of memory 6 path entries using 576 bytes of memory 6/5 BGP path/bestpath attribute entries using 1008 bytes of memory 1 BGP AS-PATH entries using 24 bytes of memory 3 BGP extended community entries using 72 bytes of memory 0 BGP route-map cache entries using 0 bytes of memory 0 BGP filter-list cache entries using 0 bytes of memory Bitfield cache entries: current 2 (at peak 2) using 64 bytes of memory BGP using 2824 total bytes of memory BGP activity 7/1 prefixes, 9/3 paths, scan interval 15 secs Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd 10.1.1.1 4 1 118 115 19 0 0 01:33:21 2 10.1.1.2 4 1 111 113 19 0 0 01:33:12 1 10.255.255.2 4 2 68 69 19 0 0 00:59:04 3 asbr2#sh run int fa0/0 Building configuration... Current configuration : 118 bytes ! interface FastEthernet0/0 ip address 10.255.255.2 255.255.255.0 duplex auto speed auto mpls bgp forwarding end asbr2#sh bgp vpnv6 u al sum BGP router identifier 10.1.1.6, local AS number 2 BGP table version is 17, main routing table version 17 6 network entries using 1080 bytes of memory 6 path entries using 576 bytes of memory 6/5 BGP path/bestpath attribute entries using 1008 bytes of memory 1 BGP AS-PATH entries using 24 bytes of memory 3 BGP extended community entries using 72 bytes of memory 0 BGP route-map cache entries using 0 bytes of memory 0 BGP filter-list cache entries using 0 bytes of memory Bitfield cache entries: current 2 (at peak 3) using 64 bytes of memory BGP using 2824 total bytes of memory BGP activity 7/1 prefixes, 8/2 paths, scan interval 15 secs Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd 10.1.1.4 4 2 85 90 17 0 0 01:04:25 2 10.1.1.5 4 2 86 88 17 0 0 01:04:12 1 10.255.255.1 4 1 68 67 17 0 0 00:58:22 3 asbr2#

De la même maniere on peut observer les routes dans l’autre AS, 2.

6pe1a#sh ipv6 ro vrf red sddIPv6 Routing Table - red - 5 entries Codes: C - Connected, L - Local, S - Static, U - Per-user Static route

Page 192: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 190

B - BGP, M - MIPv6, R - RIP, I1 - ISIS L1 I2 - ISIS L2, IA - ISIS interarea, IS - ISIS summary, D - EIGRP EX - EIGRP external O - OSPF Intra, OI - OSPF Inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2 ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2 B CAFE::1/128 [200/0] via 10.255.255.1%Default-IP-Routing-Table, indirectly connected B CAFE::2/128 [200/0] via 10.255.255.1%Default-IP-Routing-Table, indirectly connected LC CAFE::3/128 [0/0] via Loopback100, receive B CAFE::4/128 [200/0] via 10.1.1.5%Default-IP-Routing-Table, indirectly connected L FF00::/8 [0/0] via Null0, receive 6pe1a#sh ipv6 ro vrf blue IPv6 Routing Table - blue - 3 entries Codes: C - Connected, L - Local, S - Static, U - Per-user Static route B - BGP, M - MIPv6, R - RIP, I1 - ISIS L1 I2 - ISIS L2, IA - ISIS interarea, IS - ISIS summary, D - EIGRP EX - EIGRP external O - OSPF Intra, OI - OSPF Inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2 ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2 B CAFE:1::1/128 [200/0] via 10.255.255.1%Default-IP-Routing-Table, indirectly connected LC CAFE:1::3/128 [0/0] via Loopback101, receive L FF00::/8 [0/0] via Null0, receive

6pe1a#show bgp vpnv6 u all BGP table version is 16, local router ID is 10.1.1.4 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path Route Distinguisher: 10:1 (default for vrf red) *>iCAFE::1/128 ::FFFF:10.255.255.1 0 100 0 1 ? *>iCAFE::2/128 ::FFFF:10.255.255.1 0 100 0 1 ? *> CAFE::3/128 :: 0 32768 ? *>iCAFE::4/128 ::FFFF:10.1.1.5 0 100 0 ? Route Distinguisher: 10:2 *>iCAFE:1::1/128 ::FFFF:10.255.255.1 0 100 0 1 ? Route Distinguisher: 20:2 (default for vrf blue) *>iCAFE:1::1/128 ::FFFF:10.255.255.1 0 100 0 1 ? *> CAFE:1::3/128 :: 0 32768 ? 6pe1a#

Si on observe un chemin de plus prêt, on peut voir

6pe1a#show bgp vpnv6 u all CAFE:1::1/128 BGP routing table entry for [10:2]CAFE:1::1/128, version 13 Paths: (1 available, best #1, no table) Not advertised to any peer 1 ::FFFF:10.255.255.1 (metric 2) from 10.1.1.6 (10.1.1.6) Origin incomplete, metric 0, localpref 100, valid, internal, best Extended Community: RT:100:2 mpls labels in/out nolabel/27 BGP routing table entry for [20:2]CAFE:1::1/128, version 15

Page 193: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 191

Paths: (1 available, best #1, table blue) Not advertised to any peer 1, imported path from [10:2]CAFE:1::1/128 ::FFFF:10.255.255.1 (metric 2) from 10.1.1.6 (10.1.1.6) Origin incomplete, metric 0, localpref 100, valid, internal, best Extended Community: RT:100:2 mpls labels in/out nolabel/27 6pe1a#

Il y a deux chemins, cela est du que les VRF n’ont pas le même route descriptor dans chaque AS. Il s’agit d’un choiox stratégique entre avoir le même RD pour le même VRF sur tous les PE ou avoir un RD different par PE. Dans un cas on économise de la mémoire si le même RD est configuré sur tous les PE pour le même VRF mais on perd la possibilité de faire du load balancing dans certains cas.

6pe1#sh vrf Name Default RD Protocols Interfaces blue 10:2 ipv6 Lo101 red 10:1 ipv6 Lo100 6pe1a#sh vrf Name Default RD Protocols Interfaces blue 20:2 ipv6 Lo101 red 10:1 ipv6 Lo100

SCENARIO C La troisième solution est la plus élégante. Elle consiste à établir une session BGP entre les Route Reflectors de chaque AS. Cela demande également une connexion eBGP+Label entre les deux réseaux pour véhiculer les Next-Hop des routes apprises par les RR.

Dans ce scenario , les routes s’échangent directement de route reflector à route reflector. Les next-hop sont donc inchangés et les ASBR ont juste besoin de s’échanger les routes vers ces next hop avec les labels associés.

6pe1a#sh ipv6 ro vrf red IPv6 Routing Table - red - 3 entries Codes: C - Connected, L - Local, S - Static, U - Per-user Static route

6PE110 10

ASBR1

RR1

ASBR2 6PE1a

RR2

Page 194: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 192

B - BGP, M - MIPv6, R - RIP, I1 - ISIS L1 I2 - ISIS L2, IA - ISIS interarea, IS - ISIS summary, D - EIGRP EX - EIGRP external O - OSPF Intra, OI - OSPF Inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2 ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2 B CAFE::1/128 [200/0] via 10.1.1.2%Default-IP-Routing-Table, indirectly connected LC CAFE::3/128 [0/0] via Loopback100, receive L FF00::/8 [0/0] via Null0, receive 6pe1a#

Dans cet exempls on voit bien la route CAFE::1/128 à pour next-hop 10.1.1.2%Default-IP-Routing-Table. 10.1.1.2 est l’adresse de la loopback du route-reflector RR1 Il est possible de change ce comportement par la commande «bgp neighbor xx next-hop-unchanged ».

Dans ce cas les routes qui vont vers l’AS voisins ont rigoureusement le même next-hop que lorsqu’elles sont annoncées dans leurs propre AS. Cela implique bien sur que chaque AS possède une route et un label vers toutes les loopback des PE de l’AS voisins.

La configuration BGP des RR est ci-dessous :

router bgp 1 no synchronization bgp log-neighbor-changes neighbor 10.1.1.1 remote-as 1 neighbor 10.1.1.1 update-source Loopback0 neighbor 10.1.1.5 remote-as 2 neighbor 10.1.1.5 ebgp-multihop 10 neighbor 10.1.1.5 update-source Loopback0 no auto-summary ! address-family vpnv6 neighbor 10.1.1.1 activate neighbor 10.1.1.1 send-community extended neighbor 10.1.1.1 route-reflector-client neighbor 10.1.1.5 activate neighbor 10.1.1.5 send-community extended neighbor 10.1.1.5 next-hop-unchanged exit-address-family router bgp 2 no synchronization bgp log-neighbor-changes neighbor 10.1.1.2 remote-as 1 neighbor 10.1.1.2 ebgp-multihop 10 neighbor 10.1.1.2 update-source Loopback0 neighbor 10.1.1.4 remote-as 2 neighbor 10.1.1.4 update-source Loopback0 no auto-summary ! address-family vpnv6 neighbor 10.1.1.2 activate neighbor 10.1.1.2 send-community extended neighbor 10.1.1.2 next-hop-unchanged neighbor 10.1.1.4 activate neighbor 10.1.1.4 send-community extended neighbor 10.1.1.4 route-reflector-client exit-address-family

Page 195: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 193

! 6pe1a#sh ipv6 ro vrf red IPv6 Routing Table - red - 3 entries Codes: C - Connected, L - Local, S - Static, U - Per-user Static route B - BGP, M - MIPv6, R - RIP, I1 - ISIS L1 I2 - ISIS L2, IA - ISIS interarea, IS - ISIS summary, D - EIGRP EX - EIGRP external O - OSPF Intra, OI - OSPF Inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2 ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2 B CAFE::1/128 [200/0] via 10.1.1.1%Default-IP-Routing-Table, indirectly connected LC CAFE::3/128 [0/0] via Loopback100, receive L FF00::/8 [0/0] via Null0, receive 6pe1#sh run int lo0 Building configuration... Current configuration : 64 bytes ! interface Loopback0 ip address 10.1.1.1 255.255.255.255 end

et à ce moment là on voit bien la route CAFE::1/128 via 10.1.1.1%Default-IP-Routing-Table.

6pe1a#show bgp vpnv6 u all BGP table version is 12, local router ID is 10.1.1.4 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path Route Distinguisher: 10:1 (default for vrf red) *>iCAFE::1/128 ::FFFF:10.1.1.1 0 100 0 1 ? *> CAFE::3/128 :: 0 32768 ? Route Distinguisher: 10:2 *>iCAFE:1::1/128 ::FFFF:10.1.1.1 0 100 0 1 ? Route Distinguisher: 20:2 (default for vrf blue) *>iCAFE:1::1/128 ::FFFF:10.1.1.1 0 100 0 1 ? *> CAFE:1::3/128 :: 0 32768 ? La route CAFE::1/128 provient bien de RR2 (10.1.1.5)

6pe1a#show bgp vpnv6 u all cafe::1/128 BGP routing table entry for [10:1]CAFE::1/128, version 11 Paths: (1 available, best #1, table red) Not advertised to any peer 1 ::FFFF:10.1.1.1 (metric 4) from 10.1.1.5 (10.1.1.5) Origin incomplete, metric 0, localpref 100, valid, internal, best Extended Community: RT:100:1 RT:1000:1 mpls labels in/out nolabel/27 RR2#sh run int lo0 Building configuration...

Page 196: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 194

Current configuration : 64 bytes ! interface Loopback0 ip address 10.1.1.5 255.255.255.255 end RR2# 6pe1a#sh ipv6 cef vrf red cafe::1/128 int CAFE::1/128, epoch 0, RIB[B], refcount 4, per-destination sharing sources: RIB feature space: LFD: CAFE::1/128 0 local labels contains path extension list label switch chain 0x6832F1A8 IPRM: 0x00028000 ifnums: (none) path 67D00CF4, path list 665C00A8, share 1/1, type recursive nexthop, for IPv6, flags resolved, must-be-labelled MPLS short path extensions: MOI flags = 0x4 label 27 recursive via 10.1.1.1[IPv4:Default] label 27, fib 68221218, 1 terminal fib path 6657744C, path list 6657706C, share 1/1, type attached nexthop, for IPv4 MPLS short path extensions: MOI flags = 0x0 label 20 nexthop 10.255.0.18 POS3/0 label 20, adjacency IP adj out of POS3/0 682F13C0 output chain: label 27 label 20 TAG adj out of POS3/0 682F1280 6pe1a#sh adj pos3/0 int Protocol Interface Address IP POS3/0 point2point(11) 289 packets, 16986 bytes epoch 0 sourced in sev-epoch 3 Encap length 4 0F000800 P2P-ADJ Fast adjacency enabled [OK] L3 mtu 4470 Flags (0x1288E) Fixup disabled HWIDB/IDB pointers 0x66D1F804/0x66D20380 IP redirect disabled Switching vector: IPv4 no fixup, no redirect adj oce Adjacency pointer 0x682F13C0 Next-hop 10.255.0.18 TAG POS3/0 point2point(11) 59 packets, 3586 bytes epoch 0 sourced in sev-epoch 3 Encap length 4

Address 0F008847 P2P-ADJ Fast adjacency enabled [OK] L3 mtu 4470 Flags (0x1288E) Fixup disabled HWIDB/IDB pointers 0x66D1F804/0x66D20380 IP redirect disabled Switching vector: MPLS adjacency oce Adjacency pointer 0x682F1280 Next-hop <unknown>

Page 197: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 195

6pe1a#traceroute vrf red cafe::1 Type escape sequence to abort. Tracing the route to CAFE::1 1 ::FFFF:10.255.0.18 [MPLS: Labels 20/27 Exp 0] 16 msec 8 msec 12 msec 2 ::FFFF:10.255.255.1 [MPLS: Labels 17/27 Exp 0] 12 msec 12 msec 12 msec 3 CAFE::1 [AS 1] 12 msec 12 msec 16 msec 6pe1a#ping vrf red cafe::1 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to CAFE::1, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 20/27/36 ms 6pe1a#sh adj pos3/0 det Protocol Interface Address IP POS3/0 point2point(11) 289 packets, 16986 bytes epoch 0 sourced in sev-epoch 3 Encap length 4 0F000800 P2P-ADJ TAG POS3/0 point2point(11) 65 packets, 3931 bytes epoch 0 sourced in sev-epoch 3 Encap length 4 0F008847 P2P-ADJ 6pe1a#

Hub and Spoke Dans ce modèle on a tout un ensemble de site distants (spokes) qui ne peuvent se parler qu’au travers d’un hub. C’est une solution nécessaire quand on a besoin d’appliquer un service sur le traffic inter-site. Cela peut-être du filtrage avec un Firewal centralisé sur le Hub ou tout autre service.

Dans le cas ou nous utisons BGP pour les communications PE-CE, il est possible d’uiltiser un AS par site. Dans ce cas, il n’y a rien à faire de particulier. En revanche si on utilise que deux AS ou même un sul AS pour tous les sites, il sera nécessaire d’utiliser des commandes conçues à cet effet.

PE-Spoke1 hub-ce1

PE-Spoke2

hub

hub-ce2

Page 198: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 196

Si on utilise un AS pour le réseau MPLS-VPN et un AS pour les sites du client, il sera nécessaire d’uiliser la commande bgp ‘neighbor xx:xx::xx’ allowas-in.

Si le même site est utilisé partout il faudra utiliser en plus de la précédente, la commande ‘neighbor yy:yy::yy as-override’

Nous avons une route cafe::1/128 dans la vrf spoke sur spoke1 :

spoke1#sh run int lo100 Building configuration... Current configuration : 92 bytes ! interface Loopback100 vrf forwarding spoke no ip address ipv6 address CAFE::1/128 end

Et nous avons cafe::2/128 dans le vrf spoke sur spoke2. Les routes sont importées dans le hub

spoke1>show ipv6 ro vrf spoke IPv6 Routing Table - spoke - 3 entries Codes: C - Connected, L - Local, S - Static, U - Per-user Static route B - BGP, M - MIPv6, R - RIP, I1 - ISIS L1 I2 - ISIS L2, IA - ISIS interarea, IS - ISIS summary, D - EIGRP EX - EIGRP external O - OSPF Intra, OI - OSPF Inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2 ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2 LC CAFE::1/128 [0/0] via Loopback100, receive B CAFE::2/128 [20/0] via 10.1.1.4%Default-IP-Routing-Table, indirectly connected L FF00::/8 [0/0] via Null0, receive

hub1#sh run int lo0 Building configuration... Current configuration : 64 bytes interface Loopback0 ip address 10.1.1.4 255.255.255.255 end

Sur le hub on veillera au commandes allowas-in :

router bgp 1 no synchronization bgp log-neighbor-changes neighbor 10.1.1.1 remote-as 65001 neighbor 10.1.1.1 ebgp-multihop 10 neighbor 10.1.1.1 update-source Loopback0 neighbor 10.1.1.1 send-community extended neighbor 10.1.1.2 remote-as 65002 neighbor 10.1.1.2 ebgp-multihop 10 neighbor 10.1.1.2 update-source Loopback0 neighbor 10.1.1.2 send-community extended neighbor 10.1.1.5 remote-as 1 neighbor 10.1.1.5 update-source Loopback0 no auto-summary ! address-family vpnv6 neighbor 10.1.1.1 activate

Page 199: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 197

neighbor 10.1.1.1 send-community extended neighbor 10.1.1.2 activate neighbor 10.1.1.2 send-community extended neighbor 10.1.1.5 activate neighbor 10.1.1.5 send-community extended exit-address-family ! address-family ipv6 vrf hub2 neighbor 2001:DB8:2000::101 remote-as 400 neighbor 2001:DB8:2000::101 activate neighbor 2001:DB8:2000::101 allowas-in exit-address-family ! address-family ipv6 vrf hub1 neighbor 2001:DB8:1000::100 remote-as 400 neighbor 2001:DB8:1000::100 activate exit-address-family ! hub1#sh bgp vpnv6 u all BGP table version is 15, local router ID is 10.1.1.4 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path Route Distinguisher: 10:10 *> CAFE::1/128 ::FFFF:10.1.1.1 0 0 65001 ? Route Distinguisher: 10:11 *> CAFE::2/128 ::FFFF:10.1.1.2 0 0 65002 ? Route Distinguisher: 10:13 (default for vrf hub1) *> CAFE::1/128 ::FFFF:10.1.1.1 0 0 65001 ? *> CAFE::2/128 ::FFFF:10.1.1.2 0 0 65002 ? Route Distinguisher: 10:14 (default for vrf hub2) *> CAFE::1/128 2001:DB8:2000::101 0 400 1 65001 ? *> CAFE::2/128 2001:DB8:2000::101 0 400 1 65002 ?

On injecte alors les routes dans les VRF hub et spoke pour que les paquets prennent le chemin voulu et transitent tous sur les hub-ce. Un traceroute confirme que le chemin prit passe bien par hub, hub-ce1, hub-ce2, hub et spoke2.

spoke1#trace vrf spoke cafe::2 Type escape sequence to abort. Tracing the route to CAFE::2 1 2001:DB8:0:100:1:2:3:4 [MPLS: Labels 21/26 Exp 0] 28 msec 28 msec 28 msec 2 2001:DB8:1001::101 [MPLS: Labels 17/26 Exp 0] 20 msec 12 msec 16 msec 3 ::FFFF:10.255.0.17 [MPLS: Label 26 Exp 0] 24 msec 24 msec 24 msec 4 2001:DB8:1001::101 [MPLS: Labels 19/26 Exp 0] 20 msec 20 msec 20 msec 5 2001:DB8:0:100:1:2:3:4 [MPLS: Labels 16/26 Exp 0] 24 msec 24 msec 32 msec 6 CAFE::2 [AS 65002] 28 msec 24 msec 28 msec hub1#sh bgp vpnv6 u vrf hub1 BGP table version is 15, local router ID is 10.1.1.4 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path

Page 200: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 198

Route Distinguisher: 10:13 (default for vrf hub1) *> CAFE::1/128 ::FFFF:10.1.1.1 0 0 65001 ? *> CAFE::2/128 ::FFFF:10.1.1.2 0 0 65002 ? hub1#sh bgp vpnv6 u vrf hub2 BGP table version is 15, local router ID is 10.1.1.4 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path Route Distinguisher: 10:14 (default for vrf hub2) *> CAFE::1/128 2001:DB8:2000::101 0 400 1 65001 ? *> CAFE::2/128 2001:DB8:2000::101 0 400 1 65002 ? hub1#sh bgp vpnv6 u vrf hub1 cafe::1/128 BGP routing table entry for [10:13]CAFE::1/128, version 9 Paths: (1 available, best #1, table hub1) Advertised to update-groups: 4 65001, imported path from [10:10]CAFE::1/128 ::FFFF:10.1.1.1 (metric 4) from 10.1.1.1 (10.1.1.1) Origin incomplete, metric 0, localpref 100, valid, external, best Extended Community: RT:1000:10 mpls labels in/out nolabel/26 hub1#sh bgp vpnv6 u vrf hub2 cafe::1/128 BGP routing table entry for [10:14]CAFE::1/128, version 14 Paths: (1 available, best #1, table hub2) Advertised to update-groups: 2 400 1 65001 2001:DB8:2000::101 (FE80::C805:4FF:FE94:1C) from 2001:DB8:2000::101 (10.1.1.6) Origin incomplete, localpref 100, valid, external, best mpls labels in/out 29/nolabel spoke2#trace vrf spoke cafe::1 Type escape sequence to abort. Tracing the route to CAFE::1 1 2001:DB8:0:100:1:2:3:4 [MPLS: Labels 21/16 Exp 0] 36 msec 24 msec 24 msec 2 2001:DB8:1001::101 [MPLS: Labels 17/16 Exp 0] 16 msec 20 msec 16 msec 3 ::FFFF:10.255.0.17 [MPLS: Label 16 Exp 0] 28 msec 32 msec 28 msec 4 2001:DB8:1001::101 [MPLS: Labels 20/26 Exp 0] 20 msec 24 msec 24 msec 5 2001:DB8:0:100:1:2:3:4 [MPLS: Labels 17/26 Exp 0] 24 msec 24 msec 32 msec 6 CAFE::1 [AS 65001] 40 msec 28 msec 24 msec hub-ce2#sh bgp ipv6 u BGP table version is 7, local router ID is 10.1.1.5 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path *> CAFE::1/128 2001:DB8:1000::1 0 1 65001 ? *> CAFE::2/128 2001:DB8:1000::1 0 1 65002 ? hub-ce2#sh ipv6 ro IPv6 Routing Table - Default - 10 entries Codes: C - Connected, L - Local, S - Static, U - Per-user Static route B - BGP, M - MIPv6, R - RIP, I1 - ISIS L1 I2 - ISIS L2, IA - ISIS interarea, IS - ISIS summary, D - EIGRP EX - EIGRP external O - OSPF Intra, OI - OSPF Inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2

Page 201: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 199

ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2 C 2001:DB8:1000::/64 [0/0] via FastEthernet0/1.11, directly connected L 2001:DB8:1000::100/128 [0/0] via FastEthernet0/1.11, receive C 2001:DB8:1001::/64 [0/0] via FastEthernet0/1.12, directly connected L 2001:DB8:1001::100/128 [0/0] via FastEthernet0/1.12, receive D 2001:DB8:1002::/64 [90/30720] via FE80::C805:4FF:FE94:6, FastEthernet0/1.12 B CAFE::1/128 [20/0] via FE80::C803:4FF:FE94:6, FastEthernet0/1.11 B CAFE::2/128 [20/0] via FE80::C803:4FF:FE94:6, FastEthernet0/1.11 D DEAD:BEEF::1/128 [90/156160] via FE80::C805:4FF:FE94:6, FastEthernet0/1.12 LC DEAD:BEEF::2/128 [0/0] via Loopback0, receive L FF00::/8 [0/0] via Null0, receive hub-ce2# hub-ce1#sh bgp ipv6 u BGP table version is 7, local router ID is 10.1.1.6 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path *>iCAFE::1/128 2001:DB8:1000::1 0 100 0 1 65001 ? *>iCAFE::2/128 2001:DB8:1000::1 0 100 0 1 65002 ? hub-ce1#sh ipv6 ro IPv6 Routing Table - Default - 12 entries Codes: C - Connected, L - Local, S - Static, U - Per-user Static route B - BGP, M - MIPv6, R - RIP, I1 - ISIS L1 I2 - ISIS L2, IA - ISIS interarea, IS - ISIS summary, D - EIGRP EX - EIGRP external O - OSPF Intra, OI - OSPF Inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2 ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2 D 2001:DB8:1000::/64 [90/30720] via FE80::C804:4FF:FE94:6, FastEthernet0/1.12 C 2001:DB8:1001::/64 [0/0] via FastEthernet0/1.12, directly connected L 2001:DB8:1001::101/128 [0/0] via FastEthernet0/1.12, receive C 2001:DB8:1002::/64 [0/0] via FastEthernet0/1.13, directly connected L 2001:DB8:1002::101/128 [0/0] via FastEthernet0/1.13, receive C 2001:DB8:2000::/64 [0/0] via FastEthernet1/0.100, directly connected L 2001:DB8:2000::101/128 [0/0] via FastEthernet1/0.100, receive B CAFE::1/128 [200/0] via 2001:DB8:1000::1 B CAFE::2/128 [200/0] via 2001:DB8:1000::1 LC DEAD:BEEF::1/128 [0/0] via Loopback0, receive D DEAD:BEEF::2/128 [90/156160] via FE80::C804:4FF:FE94:6, FastEthernet0/1.12 L FF00::/8 [0/0] via Null0, receive hub-ce1#

Page 202: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 200

Carri er’s Carri er Ce modèle permet à un opérateur d’un réseau MPLS-VPN d’interconnecter un client également Service Provider. On veut donc éviter d’avoir à injecter la totalité des routes d’Internet par les VRF du transporteur. Afin d’eviter cela, le client s’échange ses tables de routage entre ASBR1 et ASBR2 par une session BGP via le réseau MPLS-VPN.

Les seules routes qui sont apprises par le réseau MPLS-VPN sont les routes infrastructures. Comme les CSC-PE ne connaissent pas les routes du client, il faut que le traffic qui entre dans le réseau MPLS-VPN soit déjà taggé. C’est ce que l’on fait avec des sessions eBGP+Label entre les

CSC-CE et CSC-PE.

La session iBGP entre l’ASBR1 et l’ASBR2 est montée : ASBR1#sh bgp ipv6 unicast sum BGP router identifier 10.0.0.2, local AS number 65000 BGP table version is 45, main routing table version 45 15 network entries using 2340 bytes of memory 15 path entries using 1140 bytes of memory 7/5 BGP path/bestpath attribute entries using 1176 bytes of memory 3 BGP AS-PATH entries using 72 bytes of memory 0 BGP route-map cache entries using 0 bytes of memory 0 BGP filter-list cache entries using 0 bytes of memory Bitfield cache entries: current 2 (at peak 2) using 64 bytes of memory BGP using 4792 total bytes of memory BGP activity 22/7 prefixes, 42/27 paths, scan interval 60 secs Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd CAFE::2 4 500 43 32 45 0 0 00:28:07 6 CAFE::3 4 65000 69 60 45 0 0 00:31:14 9 ASBR1#

PE2 PE1

CE1 CE2

ASBR2 ASBR1

SP2 SP1

Page 203: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 201

ASBR1#show ipv6 ro bad:1::1 Routing entry for BAD:1::1/128 Known via "bgp 65000", distance 20, metric 0, type external Route count is 1/1, share count 0 Routing paths: CAFE::2 Last updated 00:00:28 ago CSC-CE1#sh ipv6 ro bad:1::1 Routing entry for BAD:1::1/128 Known via "bgp 65000", distance 200, metric 0, type internal Route count is 1/1, share count 0 Routing paths: CAFE::2 Last updated 00:01:13 ago

LE CE1 est responsable d’encapsuler le datagramme IPv6 dans un paquet MPLS. C’est CEFv6 qui en a la charge. Comme le Next Hop est CAFE::2, regardons si toutes les entrées CEFv6 et adjacences sont prêtes :

CSC-CE1#sh ipv6 cef cafe::2/128 CAFE::2/128 nexthop FE80::C803:4FF:FE94:8 FastEthernet0/0 label 28 CSC-CE1#sh ipv6 cef cafe::2/128 int CAFE::2/128, epoch 0, RIB[B], refcount 5, per-destination sharing sources: RIB feature space: LFD: CAFE::2/128 0 local labels contains path extension list label switch chain 0x68354A68 IPRM: 0x00028000 ifnums: FastEthernet0/0(4): FE80::C803:4FF:FE94:8 path 682654D8, path list 666989BC, share 1/1, type attached nexthop, for IPv6 MPLS short path extensions: MOI flags = 0x0 label 28 nexthop FE80::C803:4FF:FE94:8 FastEthernet0/0 label 28, adjacency IPV6 adj out of FastEthernet0/0, addr FE80::C803:4FF:FE94:8 66698EA0 output chain: label 28 TAG adj out of FastEthernet0/0, addr FE80::C803:4FF:FE94:8 66698D60 CSC-CE1#sh adjacency FE80::C803:4FF:FE94:8 Protocol Interface Address IPV6 FastEthernet0/0 FE80::C803:4FF:FE94:8(4) TAG FastEthernet0/0 FE80::C803:4FF:FE94:8(12) CSC-CE1#sh adjacency FE80::C803:4FF:FE94:8 int Protocol Interface Address IPV6 FastEthernet0/0 FE80::C803:4FF:FE94:8(4) 0 packets, 0 bytes epoch 0 sourced in sev-epoch 0 Encap length 14 CA0304940008CA020494000886DD IPv6 ND Fast adjacency enabled [OK] L3 mtu 1500 Flags (0x1189E) Fixup disabled HWIDB/IDB pointers 0x66CA03F0/0x66CA0F6C IP redirect enabled Switching vector: IPv6 adjacency oce Adjacency pointer 0x66698EA0 Next-hop FE80::C803:4FF:FE94:8 TAG FastEthernet0/0 FE80::C803:4FF:FE94:8(12) 1275 packets, 115906 bytes epoch 0

Page 204: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 202

sourced in sev-epoch 0 Encap length 14 CA0304940008CA02049400088847

Address IPv6 ND Fast adjacency enabled [OK] L3 mtu 1500 Flags (0x1088E) Fixup disabled HWIDB/IDB pointers 0x66CA03F0/0x66CA0F6C IP redirect disabled Switching vector: MPLS adjacency oce Adjacency pointer 0x66698D60 Next-hop FE80::C803:4FF:FE94:8

Sur PE1, la TFIB est prête à commuter les paquets MPLS sur le label 28 en entrée et 20 à la sortie.

CSC-PE1#show mpls for vrf cust CAFE::2/128 int Local Outgoing Prefix Bytes Label Outgoing Next Hop Label Label or VC or Tunnel Id Switched interface 28 20 CAFE::2/128[V] 24730 Fa1/0 192.168.1.2 MAC/Encaps=14/18, MRU=1500, Label Stack{20} CA060494001CCA030494001C8847 00014000 VPN route: cust No output feature configured Path List: FIB, Owner: BGP VPNV6, Installer: FIB

Sur PE2, le label en entrée est bien de 20 et pas de label en sortie de CSC-PE2.

CSC-PE2#sh mpls for vrf red cafe::2/128 int Local Outgoing Prefix Bytes Label Outgoing Next Hop Label Label or VC or Tunnel Id Switched interface 20 No Label CAFE::2/128[V] 24403 PO2/0 point2point MAC/Encaps=4/4, MRU=4474, Label Stack{} 0F0086DD VPN route: red No output feature configured Path List: FIB, Owner: BGP VPNV6, Installer: FIB

Le paquet est commuté par CEFv6 sur CSC-CE2

CSC-CE2#sh ipv6 cef BAD:1::1/128 BAD:1::1/128 nexthop FE80::C807:4FF:FE94:8 POS3/0 CSC-CE2#sh ipv6 cef BAD:1::1/128 int BAD:1::1/128, epoch 0, RIB[B], refcount 4, per-destination sharing sources: RIB feature space: IPRM: 0x00018000 ifnums: POS3/0(9): FE80::C807:4FF:FE94:8

Et arrive finalement sur ASBR2

ASBR2#sh ipv6 cef BAD:1::1/128 BAD:1::1/128

Page 205: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 203

receive for Loopback100 ASBR2# path 66680A58, path list 66FDAAF4, share 1/1, type recursive nexthop, for IPv6, flags resolved recursive via CAFE::2[IPv6:Default], fib 6827E868, 1 terminal fib path 681B1AE8, path list 681B15F0, share 1/1, type attached nexthop, for IPv6 nexthop FE80::C807:4FF:FE94:8 POS3/0, adjacency IPV6 adj out of POS3/0 66FE1960 output chain: IPV6 adj out of POS3/0 66FE1960

Page 206: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 204

SERVICE IPv6 MULTICAST

Le Multicast permet de diffuser un flux d’information vers un groupe d’utilisateurs interesses par ce flux. Dans cette technologie tout le probleme consiste a mettre en relation les sources de trafic avec les membres du groupe.

IPv6 apporte quelques ameliorations au multicast deja deploye dans IPv4. Un exemple, l’embedded RP Address ou la faculte de coder l’adresse du Rendez-vous point dans l’adresse du groupe.

Certains protocoles ont disparus en IPv6. Ainsi PIM Dense mode qui etait assez catastrophique n’a pas ete suivi en IPv6. De meme Multicast Source Discovery Protocol ou Auto-RP n’existent plus en IPv6.

A ces rares exceptions prêt on retrovera en IPv6 toutes les fonctionalites du Multicast existante en IPv4

Rencontre des emetteurs et des re cepteurs Les emetteurs se font connaître aupres des routeurs par le seul fait qu’ils commencent a generer un flux multicast. Sur le reseau, un routeur est elu routeur designe, comme les autres routeurs locaux il recoit ce flux mais est en charge de l’encapsuler dans un datagramme unicast vers le point de rendez-vous (RP). Le RP connaît les recepteurs comme on le verra grace a MLD. Si aucun membre n’est interesse par ce groupe, le RP genere un ‘prune’ vers le routeur designe pour lui signifier qu’il est inutile de continuer a encapsuler ce trafic vers le RP. Dans le cas contraire, le RP va desencapsuler le datagramme multicast et l’acheminer vers les recepteurs.

MLD Comment les membres d’un groupe se font connaître ? En IPv4, IGMP jouait ce role. Avec IPv6 c’est Multicast Listener Discovery (MLD) qui s’en charge. MLDv1 est inspire de IGMPv2 et MLDv2 est inspire de IGMPv3.

Le principe de fonctionement est assez simple. Un routeur multicast élu émet regulierement une requete pour verifier si il y a des récepteurs de groupes Multicast sur le reseau. Lorsqu’une station recoit cette requete elle demarre un timer aleatoire pour laisser le temps à d’autres de repondre. Si elle n’entend aucune reponse quand le timer expire elle envoie sa reponse. En effet ce qui importe au routeur c’est qu’au moins une station sur un lien soit interessé par un groupe. Si c’est le cas elle maintient tous les etats a jour pour permettre l’acheminement des datagrammes vers ce lien.

Il existe deux type de query, les generales et les group specific. Quand une station n’est plus interessee par un group elle envoit le message ‘Done’. Le routeur doit alors savoir si il reste d’autres stations interesses ou non. Pour se faire, il emet une requete group specific pour demander si d’autres stations sont interessees par ce groupe. En suivant le meme procéde que precedament, la station interesse va repondre a l’expiration d’un timer si personne d’autre n’a repondu avant. Si le routeur recoit une reponse positive il sait qu’il ne doit rien changer et continuer a forwarder le trafic sur ce lien. Si cette station etait la derniere, il va generer des ‘prune’ vers le RP pour ne plus recevoir de trafic vers cette destination.

Page 207: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 205

Frame 244 (90 bytes on wire, 90 bytes captured) Ethernet II, Src: ca:00:06:a9:00:1c (ca:00:06:a9:00:1c), Dst: IPv6mcast_00:00:00:01 (33:33:00:00:00:01) Destination: IPv6mcast_00:00:00:01 (33:33:00:00:00:01) Source: ca:00:06:a9:00:1c (ca:00:06:a9:00:1c) Type: IPv6 (0x86dd) Internet Protocol Version 6 0110 .... = Version: 6 .... 1110 0000 .... .... .... .... .... = Traffic class: 0x000000e0 .... .... .... 0000 0000 0000 0000 0000 = Flowlabel: 0x00000000 Payload length: 36 Next header: IPv6 hop-by-hop option (0x00) Hop limit: 1 Source: fe80::c800:6ff:Fea9:1c (fe80::c800:6ff:fea9:1c) Destination: ff02::1 (ff02::1) Hop-by-Hop Option Next header: ICMPv6 (0x3a) Length: 0 (8 bytes) Router alert: MLD (4 bytes) PadN: 2 bytes Internet Control Message Protocol v6 Type: 130 (Multicast listener query) Code: 0 Checksum: 0x88d1 [correct] Maximum response delay[ms]: 10000 Multicast Address: :: S Flag: OFF Robustness: 2 QQI: 125 Frame 254 (170 bytes on wire, 170 bytes captured) Ethernet II, Src: ca:01:06:a9:00:1c (ca:01:06:a9:00:1c), Dst: IPv6mcast_00:00:00:16 (33:33:00:00:00:16) Destination: IPv6mcast_00:00:00:16 (33:33:00:00:00:16) Source: ca:01:06:a9:00:1c (ca:01:06:a9:00:1c) Type: IPv6 (0x86dd) Internet Protocol Version 6 0110 .... = Version: 6 .... 1110 0000 .... .... .... .... .... = Traffic class: 0x000000e0 .... .... .... 0000 0000 0000 0000 0000 = Flowlabel: 0x00000000 Payload length: 116 Next header: IPv6 hop-by-hop option (0x00) Hop limit: 1 Source: fe80::c801:6ff:fea9:1c (fe80::c801:6ff:fea9:1c) Destination: ff02::16 (ff02::16) Hop-by-Hop Option Next header: ICMPv6 (0x3a) Length: 0 (8 bytes) Router alert: MLD (4 bytes) PadN: 2 bytes Internet Control Message Protocol v6 Type: 143 (Multicast Listener Report Message v2) Code: 0 (Should always be zero) Checksum: 0xa0f4 [correct] Exclude: ff02::2 (ff02::2) Exclude: ff02::d (ff02::d) Exclude: ff02::16 (ff02::16) Exclude: ff02::1:ff00:2 (ff02::1:ff00:2) Exclude: ff02::1:ffa9:1c (ff02::1:ffa9:1c) Frame 23866 (106 bytes on wire, 106 bytes captured) Ethernet II, Src: ca:00:06:a9:00:1c (ca:00:06:a9:00:1c), Dst: IPv6mcast_00:00:00:16 (33:33:00:00:00:16) Destination: IPv6mcast_00:00:00:16 (33:33:00:00:00:16) Source: ca:00:06:a9:00:1c (ca:00:06:a9:00:1c) Type: IPv6 (0x86dd) Internet Protocol Version 6 0110 .... = Version: 6 .... 1110 0000 .... .... .... .... .... = Traffic class: 0x000000e0 .... .... .... 0000 0000 0000 0000 0000 = Flowlabel: 0x00000000 Payload length: 52 Next header: IPv6 hop-by-hop option (0x00) Hop limit: 1 Source: fe80::c800:6ff:fea9:1c (fe80::c800:6ff:fea9:1c)

Page 208: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 206

Destination: ff02::16 (ff02::16) Hop-by-Hop Option Next header: ICMPv6 (0x3a) Length: 0 (8 bytes) Router alert: MLD (4 bytes) PadN: 2 bytes Internet Control Message Protocol v6 Type: 143 (Multicast Listener Report Message v2) Code: 0 (Should always be zero) Checksum: 0x30dd [correct] Include: ff0e:dead:beef::1 (ff0e:dead:beef::1) Mode: Include Aux data len: 0 Multicast Address: ff0e:dead:beef::1 Source Address: bad:cafe::1 (bad:cafe::1)

PIM Dens e Mode ✝ Avec PIM Dense-Mode on part dans l’idee que tout le monde ou presque sur le reseau est interesse par le flux et donc on l’inonde dans tout le reseau (flooding). Quand un routeur n’a pas de membre interesse par ce flux, il envoie un message vers le routeur upstream pour lui dire de cesser d’envoyer le traffic pour ce groupe (pruning). Quand le routeur recoit ce message il arrete de transmettre les datagrammes adresse a cette destination. Quand le timer expire, il recommence a relayer les datagrammes. Si le meme routeur downstream n’a toujours pas de membre interesse par cette adresse il genere un nouveau message pour demander de cesser d’emettre les paquets de ce groupe (pruning). C’est le mode « flood and prune ». Un mode pas tres efficace car regulierement le reseau est inonde par des messages qui n’interesse qu’un groupe d’utilisateur. Comme son nnom l’indique PIM Dense-Mode ne trouve sa justification que dans le cas ou la grande majorite des segments du reseau est interesse pour recevoir tel ou tel flux. Dans le cas contraire on court a la catastrophe. PIM Dense mode est de touttes facons fortement deconseille. Mais alors comment faire ?

PIM Sparse Mode Avec PIM Sparse mode on considere que des petits groupes sont interesses par des flux multicast et qu’il est totalement inapropprie d’inonder le reseau avec des datagrammes qui seront droppes dans la makorite des cas.

Alors pour se faire rencontrer les sources et les recepteurs on va avoir un oint de Rendez-Vous. Ce Rendez-Vous point (en anglais) va etre configure de facon statique ou bien elu par un protocole dynamique. Une autre option unique en IPv6 est l’embedded RP. Dans ce mode, on code l’adresse du RP dans l’adresse Multicast.

Lorsqu’une source de traffic genere du traffic, il est encapsule par le routeur designe du segment de reseau vers le RP. Le RP genere des message PIM vers le routeur designe pour créer des states qui permettront aux prochains datagrammes d’etre routes vers le RP sans etre encapsule dans un tunel unicast.

Le RP a connaissance de tous les membres de groupe car les membres decouvert par MLD generent des message PIM vers le RP. Ainsi, une fois le RP atteint le datagramme poursuit sa route jusqu'aux recepteurs du groupe.

A ce point nous avons tous les etats crees dans tous les routeurs entre la source et tous les recepteurs.

Page 209: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 207

Quand un recepteur voit arriver du traffic en provenance du RP alors qu’il detecte que le traffic de cette source pourrait etre achemine par un chemin plus directe, il génère des message PIM Join sur le chemin directe vers la source. Quand ce chemin est prêt le traffic ne passe plus par le RP mais par le chemin direct. Pour des raisons economiques il est possible d’interdire ce basculement et de passer toujours par le RP.

Embedded RP Address Les adresses sur 128 bits permettent de coder l’adresse du RP dans l’adresse de groupe de multicast.

Configurer BSR BSR permet d’elire automatiquement un RP. De plus il permet d’assurer la resilience du RP et d’en elire un nouveau en cas de probleme avec le RP courant. Avec PIM BSR, certains routeurs sont des candidats à devenir des Bootstrap Routeurs (BSR). Ils le font savoir en s’annonçant à leurs voisins qui relayent l’information de proche en proche. Une fois élu, le BSR va générer toutes les 60 secondes un message permettant à tous les routeurs de calculer les RP du réseau.

asbr1#show ipv6 pim bsr election PIMv2 BSR information BSR Election Information Scope Range List: ff00::/8 BSR Address: :: Uptime: 00:00:00, BSR Priority: 0, Hash mask length: 0 RPF: ::, BS Timer: never This system is configured with non-local address as candidate BSR Candidate BSR address: CAFE::3, priority: 100, hash mask length: 126 asbr1#show ipv6 pim bsr rp-cache No BSR RP-Cache information found asbr1#show ipv6 pim bsr candidate-rp PIMv2 C-RP information Candidate RP: CAFE::1 SM All Learnt Scoped Zones, Priority 100, Holdtime 150 Advertisement interval 60 seconds Next advertisement in 00:00:28 Candidate RP: CAFE::2 (not our address) SM All Learnt Scoped Zones, Priority 150, Holdtime 150 Advertisement interval 60 seconds Candidate RP: CAFE::3 (not our address) SM All Learnt Scoped Zones, Priority 50, Holdtime 150 Advertisement interval 60 seconds csc-ce1#show ipv6 pim bsr candidate-rp PIMv2 C-RP information Candidate RP: CAFE::1 (not our address) SM All Learnt Scoped Zones, Priority 100, Holdtime 150 Advertisement interval 60 seconds

Page 210: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 208

Candidate RP: CAFE::2 SM All Learnt Scoped Zones, Priority 150, Holdtime 150 Advertisement interval 60 seconds Next advertisement in 00:00:54 Candidate RP: CAFE::3 (not our address) SM All Learnt Scoped Zones, Priority 50, Holdtime 150 Advertisement interval 60 seconds Candidate RP: CAFE::4 (not our address) SM All Learnt Scoped Zones, Priority 192, Holdtime 150 Advertisement interval 60 seconds csc-ce1#show ipv6 pim bsr rp-cache No BSR RP-Cache information found csc-ce1#show ipv6 pim bsr candidate-rp PIMv2 C-RP information Candidate RP: CAFE::1 (not our address) SM All Learnt Scoped Zones, Priority 100, Holdtime 150 Advertisement interval 60 seconds Candidate RP: CAFE::2 SM All Learnt Scoped Zones, Priority 150, Holdtime 150 Advertisement interval 60 seconds Next advertisement in 00:00:38 Candidate RP: CAFE::3 (not our address) SM All Learnt Scoped Zones, Priority 50, Holdtime 150 Advertisement interval 60 seconds Candidate RP: CAFE::4 (not our address) SM All Learnt Scoped Zones, Priority 192, Holdtime 150 Advertisement interval 60 seconds csc-ce1#sh ipv6 pim int Interface PIM Nbr Hello DR Count Intvl Prior Tunnel0 off 0 30 1 Address: FE80::C801:8FF:FEB9:8 DR : not elected FastEthernet0/0 off 0 30 1 Address: :: DR : not elected FastEthernet0/1 off 0 30 1 Address: :: DR : not elected FastEthernet1/0 off 0 30 1 Address: :: DR : not elected FastEthernet1/1 off 0 30 1 Address: :: DR : not elected POS2/0 off 0 30 1 Address: :: DR : not elected POS3/0 off 0 30 1 Address: :: DR : not elected Loopback0 on 0 30 1 Address: FE80::C801:8FF:FEB9:8 DR : this system FastEthernet0/1.10 on 1 30 1 Address: FE80::C801:8FF:FEB9:6 DR : this system

Page 211: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 209

FastEthernet0/1.11 on 1 30 1 Address: FE80::C801:8FF:FEB9:6 DR : FE80::C803:8FF:FEB9:6 csc-ce1#sh ipv6 pim ne PIM Neighbor Table Mode: B - Bidir Capable, G - GenID Capable Neighbor Address Interface Uptime Expires Mode DR pri FE80::C800:8FF:FEB9:6 FastEthernet0/1.10 00:00:54 00:01:20 B G 1 FE80::C803:8FF:FEB9:6 FastEthernet0/1.11 00:00:55 00:01:19 B G DR 1 csc-ce1#

PIM Source Specific Multicast PIM SSM permet de bypasser le shared tree de PIM Sparse Mode. En effet avec MLDv2, il est possible que la source fournisse en plus du groupe a laquelle elle veut s’enregister, l’adresse de la source qu’elle veut ecouter. Ansi le routeur connaît immediatement l’adresse de la source et peut construire le chemin direct sans avoir a passer par l’etape du shared tree.

Frame 23866 (106 bytes on wire, 106 bytes captured) Ethernet II, Src: ca:00:06:a9:00:1c (ca:00:06:a9:00:1c), Dst: IPv6mcast_00:00:00:16 (33:33:00:00:00:16) Destination: IPv6mcast_00:00:00:16 (33:33:00:00:00:16) Source: ca:00:06:a9:00:1c (ca:00:06:a9:00:1c) Type: IPv6 (0x86dd) Internet Protocol Version 6 0110 .... = Version: 6 .... 1110 0000 .... .... .... .... .... = Traffic class: 0x000000e0 .... .... .... 0000 0000 0000 0000 0000 = Flowlabel: 0x00000000 Payload length: 52 Next header: IPv6 hop-by-hop option (0x00) Hop limit: 1 Source: fe80::c800:6ff:fea9:1c (fe80::c800:6ff:fea9:1c) Destination: ff02::16 (ff02::16) Hop-by-Hop Option Next header: ICMPv6 (0x3a) Length: 0 (8 bytes) Router alert: MLD (4 bytes) PadN: 2 bytes Internet Control Message Protocol v6 Type: 143 (Multicast Listener Report Message v2) Code: 0 (Should always be zero) Checksum: 0x30dd [correct] Include: ff0e:dead:beef::1 (ff0e:dead:beef::1) Mode: Include Aux data len: 0 Multicast Address: ff0e:dead:beef::1 Source Address: bad:cafe::1 (bad:cafe::1)

Page 212: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 210

MOBILITE

Lorsqu’un client se déplace d’un réseau vers un autre, si il change d’adresse en même temps qu’il change de réseau, toutes ses connections de transports comme des sockets vont tomber et vont devoir être réinitialisée. Grâce à le mobilité on va éviter ce problème .

La mobilite est l’un des atouts d’IPv6. En effet, meme si cela existait en IPv4, IPv6 a permit des ameliorations telles que les client interessé par la mobilité ont interet à passer immediatement sur IPv6.

On verra que s’il est possible d’introduire la mobilité au niveau d’un noeud de réseau, il peut aussi être possible d’avoir des routeurs mobiles.

Mobile IPv6 (RFC 3775)

Introduct ion La mobilité permet à un nœud mobile de s’enregister sur un point fixe qui va le connecter vers son correspondant) à chaque fois que le nœud mobile aura besoin de communiquer avec un nouveau nœud. Une fois le premier échange de paquets passé par le nœud fixe, il devient ensuite possible au nœud mobile de communiquer directement avec son correspondant. Ceci n’était pas possible en IPv4 ou le traffic sortant du noeud itinérant devait toujours passer par le nœud fixe. On avait donc nécessairement une communication triangulaire.

Le principe à la base de la mobilité IPv6 est de séparer les fonctions d'identification et de localisation toutes deux assurées par l'adresse IP. Il s'en suit que lorsque le mobile se déplace, il doit changer d'adresse IP puisque celle-ci le localise dans le réseau. Les conséquences de ces changements d’adresses sont la perte de toutes les sessions actives.

Avec Mobile IPv6, un noeud mobile garde son adresse IP quelque soit ses déplacements. Cette adresse est appelée Home Address (HoA). Les couches supérieures ne voient que cette adresse et le noeud mobile peut se déplacer tant qu’il veut, les sessions ne seront pas perdues.

Le noeud mobile aquiert également une adresse temporaire Care of Address (CoA) selon les réseaux qu’il visite. Le noeud mobile communique toujours avec cette adresse source sauf quand il est connecté sur son Home Network ou réseau mère.

Pour assurer la correspondance entre cette adresse fixe (HoA) et cette adresse temporaire (CoA), une nouvelle entité, le Home Agent, localisé dans le Home Network.

Quand le Mobile node est dans son réseau mère (Home Network) il communique avec son adresse mère (HoA). Le Home agent est inactif.

Quand le mobile node est dans un réseau étranger, il dispose en plus de son adresse mère (HoA) d’une ou plusieurs adresses routables (CoA). Une de ces adresses est choisie comme adresse primaire et est transmise au Home Agent pour établir une correspondance entre ces adresses.

Le paquet IP retransmis vers le mobile node a pour adresse source le Home Agent et comme adresse destination la CoA primaire du mobile node. Lorsque le mobile node reçoit ce paquet, il désencapsule

Page 213: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 211

et remet le paquet au couches supérieureres comme si il avait reçu le paquet dans son réseau mère (Home Network). Le processus s’opere inversement dans l’autre sens bien évidemment.

Opt i mi sat io n du routag e. C’est ce point qui fait la supériorité de Mobile IPv6 sur Mobile IPv4.

En effet si le routage via le Home Agent est simple à mettre en oeuvre et à sécuriser par IPSec, il demeure inefficace du point de vue du routage. Lorsqu’un correspondant supporte l’optimisation de routage, il maintient, comme un home agent, une table des associations de tous les mobile node avec qui il communique

Le mobile met à jour l’association qui le concerne en envoyant un message de mise à jour d’association (Binding Update) au correspondant juste après avoir informé le Home Agent de sa nouvelle localisation. Il tient à jour une table d’associations qu’il doit entretenir auprés des correspondants et du Home Agent. Cette mise à jour se fait lors de déplacements et aprés qu’un timer d’association expire.

Le correspondant qui émet un paquet a destination d’un mobile trouve dans sa table des associations une association entre le HoA et une CoA. Il remplace alors l’adresse de destination par la CoA et ajoute une extension d’en-tête de routage (Routing Header Type 2) contenant la HoA du mobile comme adresse de destination finale.

Lorsque le mobile veut envoyer un paquet à un correspondant, il vérifie si une optimisation de route a été initialisée. Dans ce cas uniquement il emets un paquet à destination du correspondant en utilisant sa CoA et en ajoutant une extension d’en-tête HoA. Ceci est transparent pour les couches supérieure pour qui la comunication se fait toujours entre le correspondant et la HoA du mobile. Elle comprends la HoA du mobile, la CoA du mobile étant utiliséz pour émettre le paquet. L’adresse source dispose d’un prefixe valide dans le réseau étranger (CoA) et les paquets ne seront pas filtrés par le routeur de sortie. Quand il reçoit ce paquet, le correspondant supprime l’extenssion d’en-tête HoA et mreplace l’adresse source du paquete par la HoA trouvée dans l’exte,nsion. Il remet ensuite le paquet aux couches supérieures qui le considère comme venantdirectement du Home network du mobile.

S écur it é La sécurité jour un trés grand rôle pour protéger les mobile agent et autre nodes. Plusieurs méchanismes permettent de blinder au maximum mobile IPv6. La section 5 du RFC est une overview de la sécurité de mobile IPv6 et donne de nombreuises directivves pour rendre Mobile IPv6 le plus secure possible.

Une no uve l l e En-t êt e de Mobi l i t é (Mobi l i ty Header) Mobile IPv6 définit un nouveau protocole qui utilise le Mobility Header ou en-tête de mobilité. Cette en-tête est utilisée pour transporter les messages suivants : Home Test Init, Home Test, Care-of Test Init, Care-of Test, Binding Update, Binding Acknowledgement, Binding Refresh Request, et Binding Error.

Payload proto : similaire au champs next header de IPv6. Les implémentations du RFC 3775 doivent le positionner à 59 décimal, IPPROTO_NONE.

MH Type : Identifie le type de Mobility Header.

Page 214: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 212

Type 0 = Pad1 Type 1 = PadN Type 2 = Binding Refresh. Seulement valid dans un ACK

Header Len : Longueur d’en-tête en unités de 8 octets.

Une no uve l l e Opt ion de De st i nat io n (Hom e Address)

Q u atre no uveaux m e ssag e s ICMPv6 Mobile IPv6 introduit quatre nouveau type de messages ICMPv6. Deux pour la découverte dynamique du Home Agent et deux pour la renumérotation et la configuration du mobile.

o Home Agent Address Discovery Request

o Home Agent Address Discovery Reply

o Mobile Prefix Solicitation

o Mobile Prefix Advertisement.

Termi no log i e de s structure s d e don n é e s

B i nd i ng Cache. Un cache des liaison pour les autres noeuds. Ce cache est maintenu par le Home Agent et les noeuds correspondants. Il contient les « registration » et « home registration ».

Bi nd i ng Update List Une liste maintenu par chaque mobile. Elle contient une entrée pour chaque liaison (binding) établie ou en train de s’établir avec un autre noeud. Les correspondants et « home registration » sont incluses dans cette liste.

Home Ag e nt List Les home agents ont besoin de connaitre les autres home agents sur le même lien.

S ecur it é Le mobile node et Home Agent se doivent de sécuriser au maximum leurs échange avec IPSec. Le RFC est assez précis sur ce qui DOIT et ce qui DEVRAIT être fait.

Page 215: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 213

LA SÉCURITÉ DES RÉSEAUX IPV6

Un excellent document à lire absolument avant d’envisager un déploiement IPv6 :

http://www.nsa.gov/ia/_files/routers/I33-002R-06.pdf

Router Security Guide Supplement Security for IPv6 Routers.

Ce document est très bien fait est vous serez sur de ne rien oublier d’importance.

La sécurité dans les réseaux IPv6 doit se confronter au même problèmatiques qu’IPv4 avec de légères nuances.

Tout d’abord, IPSec est requis dans tout implémentation IPv6.

ICMPv6 Les messages suivant ne sont pas alloués et ne devraient pas êter vus dans aucun réseau : Mesages d’erreurs non alloués : Type 5-99 et type 102-126 Messages Informels non alloués : Type 155-199 et Type 202-254 Messages Expérimentaux : Type 100, 102, 200, 201 Nombres Types d’Extensions : Type 127, 255

En revanche, il sera important de laisser passer : Destination Indisponible : Type 1 Paquet trop grand : Type 2 Temps dépassé : Type 3 Problème de paramètre : Type 4

Les concepteurs d’IPv6 ont tâché de renforcer tout ce qui pouvaient l’être. Par exemple, les messages suivants doivent avoir un Hop Limit=255 : RS, NS, Redirect, Inverse Neighbor Discovery Solicitation, Inverse Neighbor Discovery Advertisement, Certificate Path Solicitation et Certificate Path Advertisement.

Les brèches ouvertes par ND ont étées refermées par SEND.

Une présentation intéressante se trouve sur le site http://freeworld.thc.org/thc-ipv6/.

La présentation se trouve ici : http://freeworld.thc.org/papers/vh_thc-ipv6_attack.pdf

En-Tête IPv6 Les extensions d’en-tête (Extension Header) sont ou tout du moins doivent être solidement programmée pour éviter des attaques de type DOS ou Buffer Overflow. Il y a plusieurs SHOULD dans les RFC et trés peu de MUST ce qui rend assez libre l’utilisation des Extension Header.

Le RFC spécifie que les options doivent apparaître dans l’ordre suivant : 1 . IPv6 header 2. Hop-by-Hop Options header 3. Destination Options header 4. Routing header 5. Fragment header 6. Authentication header 7. Encapsulating Security Payload header 8. Destination Options header 9. Upper-layer header.

Page 216: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 214

Dans le temps ou je travaillais au Dev-test chez CISCO j’ai mis beaucoup d’effort pour essayer de faire mal aux routeurs avec des Extensions Header plus qu’improbables. J’ai fait des tests avec des Header reproduits plusieurs fois alors qu’ils ne sont sensé n’apparaitre qu’une seule fois et rien n’a réussi à affoler les routeurs.

Les Hop-by-Hop et Destination header partagent la même structure mais si dans le premier cas, tous les routeurs traversés sont intéressés, dans le deuxième cas, seule la destination est concernée.

Ils ne doivent apparaitre qu’une fois mais peuvent contenir autant d’options que nécessaire.

☼On doit se méfier d’éventuelle attaque à la Router Alert Option car le routur doit impérativement regartder un paquet avec cette option positionnée. Seule 36 alertes sont réservées par IANA, de 0 à 35. Les options 36 à 65535 doivent être rejettées.

Ethernet II, Src: ca:00:06:a9:00:1c (ca:00:06:a9:00:1c), Dst: IPv6mcast_00:00:00:01 (33:33:00:00:00:01) Destination: IPv6mcast_00:00:00:01 (33:33:00:00:00:01) Source: ca:00:06:a9:00:1c (ca:00:06:a9:00:1c) Type: IPv6 (0x86dd) Internet Protocol Version 6 0110 .... = Version: 6 .... 1110 0000 .... .... .... .... .... = Traffic class: 0x000000e0 .... .... .... 0000 0000 0000 0000 0000 = Flowlabel: 0x00000000 Payload length: 36 Next header: IPv6 hop-by-hop option (0x00) Hop limit: 1 Source: fe80::c800:6ff:fea9:1c (fe80::c800:6ff:fea9:1c) Destination: ff02::1 (ff02::1) Hop-by-Hop Option Next header: ICMPv6 (0x3a) Length: 0 (8 bytes) Router alert: MLD (4 bytes) PadN: 2 bytes Internet Control Message Protocol v6 Type: 130 (Multicast listener query) Code: 0 Checksum: 0x88d1 [correct] Maximum response delay[ms]: 10000 Multicast Address: :: S Flag: OFF Robustness: 2

Les options définit sont les suivantes : pad1 option: Insert un octet de padding dans l’en-tête de l’option padn option: Insert plusieurs octets de padding dans l’en-tête de l’option Tunnel Encapsulation Header Option : Encapsule d’autres paquets dans les paquets IPv6 Router Alert Option : Tous les routeurs sur le chemin doivent traiter l’en-tête Jumbo Payload option Header : Indique un paquet Jumbo Home Address option : Un paquet Mobile IPv6 qui contient l’adresse maison du noeud mobile

☼Attention aux options de padding qui ne doit servir qu’à rajouter des octets pour respecter un alignement. Normalement ils ne sont pas requis mais peuvent servir à faire passer des infos qui ne devraient pas filtrer !

Le ping6 CISCO permet de générer un ping avec ces deux options positionnées.

Page 217: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 215

ssssss

On y voit qu’il devient difficile de découvrir les host d’un réseau par un ping sweep. Scanner 2^64 adresses prends bien trop de temps. Il est donc à prévoir que les serveur DNS seront la cible d’attaques pour découvrir les hosts de l’entreprise pour pouvoir ensuite lancer des attaques dessus.

On se reportera avec attention a DNSSEC qui permet de signer les transactions DNS.

On se rends compte qu’on n’est pas plus sensible ni moins en vérité sur IPv6 qu’avec IPv4. Si on utilise les bons protocoles de sécurité là ou il faut, on ne s’exposera pas plus avec IPv6. Notez que SSH est disponible sur IPv6. On préfererra SSH à Telnet, FTP sinon les mots de passe circulent en clair sur le réseau.

De la même façon on préfèrera SNMPv3 aux autres versions car c’est le seul qui ne fera pas transiter les mots de passe en clair sur le réseau.

BGP, ISIS et EIGRP peuvent être authentifiés. OSPF aussi mais par le biais d’IPSec. Il est fortement recommendé de la mettre en place pour éviter qu’un routeur pirate soit installé dans le réseau pour détrourner tout le trafic vers une station pirate !

Le même type d’architecture de sécurité impliquant des DMZ sont à mettre en œuvre pour les sites IPv6 que l’on connecte à Internet. On trouvera les Firewall IPv6 aussi performants que leurs homologues IPv4.

NESSUS Même nessus, logiciel d’audit de sécurité fort puissant est maintenant disponible en IPv6 (http://www.nessus.org). NESSUS supporte maitenant IPv6. Il est recommendé d’avoir régulièrement recours à un outils de type NESSUS pour vérifier la solidité de notre réseau.

Page 218: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 216

NESSUS est composé d’une partie cliente et d’une partie serveur pour s’étendre selon un mode client-serveur. Ci-dessous le client est en train de scanner un subnet sur le serveur.

Page 219: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 217

NESSUS EST UN OUTILS TRES PUISSANT.

Page 220: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 218

LA GESTION DES RESEAUX

Outils Tous les outils de gestion de réseaux sont maintenant disponibles sous IPv6. SNMP sur IPv6, de nombreuses MIB de valeurs IPv6. Pour la supervision SSH sur IPv6 remplace avantageusement Telnet, TFTP, etc…

Chez CISCO, disponible depuis longtemps, NETFLOW Pour IPv6. Netflow permet de collecter et d’exporter à intervalle régulier des données d’utilisation du routeur vers un collecteur pour analyse. Il va rendre la vie du capacity planning bien plus aisée car il remonte les véritables données d’utilisation du réseau.

Dan les outils de supervisions du réseau on trouve également des logiciels qui permettent de gérér les fichiers de config et les images. Les fichiers de config pouvant éventuellement transporter des mots de passe, il sera intéressant de pouvoir encrypter les liaisons servant à gerer ces configurations.

Baseline , prévision et capacity planning Pour pouvoir comprendre ce qui ne va pas en cas de problème, il faut une très bonne connaissance de ce qui se passe dans le réseau quand tout va bien. On établiera donc des Baselines pour nous repérer sur la valeur moyenne du trafic, sa nature, les heures de peak, etc

Il est important de mettre en place un minimum de fonctions de QOS dans le réseau pour parere à l’éventualité d’attaques DOS. Même si on laisse passer le trafic non critique pour le business, il est important d’avoir des méchanismes de QOS qui puissent se mettre en route si une unitilisation anormale du réseau est constatée. Même si on continue de laisser passer le trafic non critique, il peut être bon de savoir jusqu’à quel point celui-ci a pu être la cause d’engorgements.

Cette QOS participera aussi au Capacity Planning du réseau ou comment anticiper la demande et y répflux « normaux ».

Authentications , Authorizations and Acceès . Dans la gestion du réseau on inclut aussi la gestion des Autorisations, des Accès et de la comptabilité ou loggging des utilisateurs. Pour la gestion des accès et des autorisation, un bon logiciel AAA permettra de mettre en place la stratégie de l’entrerprise. On aura recours à un serveurs RADIUS Open Source ou un produit Commercial RADIUS ou TACACS+. L’avantage de TACACS est d’encrypter tous les flux de donnés . Le troisième A est pour Accounting ou enregistrement de tous les évènements pouvant apporter par exemple la non-répudiation. Si un individus à passé une commande et qu’il le réfute, nous aurons un enregistrement aussi détaillé que possible avec l’heure, le terminal d’ou la commande a été passée.

Les plate-formes de gestions de réseaux intègrent également un utilitaire de gestion des configurations et des images. Il est possible de planifier des mises à jour de tout un réseau pendant la nuit. Toutes ces foncionalitées ne sont pas nouvelles ni dûes à IPv6 mais sont maintenant disponibles sous IPv6.

On trouvera de plus en plus tous ces outils disponibles pour IPv6 et capables de gérer des nœuds IPv6.

Page 221: Diagnostiquer  IPv6

Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 219