Vous êtes sur la page 1sur 221

Fred

BOVY
Diagnostiquer IPv6
ccie 3013 chez les
fournisseurs
d’accés

L’indispensable pour le troubleshooting et le


10 Octobre 2010
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.

xw
SOMMAIRE

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

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

LE NOUVEAU PROTOC OLE 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
Diagnostiquer IPv6

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 DISC OVERY.................................................................................................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 AUTOC ONFIGURATION...............................................................................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 DISC OVERY................................................................................63
Presentation de SEND .........................................................................................................63
Nouvelles Options et messages ND ....................................................................................63
Option CGA.......................................................................................................................63

Copyright Fred BOVY Consulting 2010 - Page 1


Diagnostiquer IPv6

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 PROTOC OLES 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

Copyright Fred BOVY Consulting 2010 - Page 2


Diagnostiquer IPv6

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

Copyright Fred BOVY Consulting 2010 - Page 3


Diagnostiquer IPv6

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

Copyright Fred BOVY Consulting 2010 - Page 4


Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 5


Diagnostiquer IPv6

Troubleshooting IPv6
L’IN DI S PEN S A BLE D’IPV6

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)

Copyright Fred BOVY Consulting 2010 - Page 6


Diagnostiquer IPv6

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.

Copyright Fred BOVY Consulting 2010 - Page 7


Diagnostiquer IPv6

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.

I ns tall é e t pré fér é par défaut sur windows vi s 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.

Copyright Fred BOVY Consulting 2010 - Page 8


Diagnostiquer IPv6

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…

Outil s IPv6 s ur Windows


IPco nf i g
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

Copyright Fred BOVY Consulting 2010 - Page 9


Diagnostiquer IPv6

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 . :

Ro ut 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
===========================================================================

Ping
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

Trac ert
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.

Pat hp i n g
F:\>pathping 2001:db8:1:f282:dd48:ab34:d07c:3914

Copyright Fred BOVY Consulting 2010 - Page 10


Diagnostiquer IPv6

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.

N et stat
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

Copyright Fred BOVY Consulting 2010 - Page 11


Diagnostiquer IPv6

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

Copyright Fred BOVY Consulting 2010 - Page 12


Diagnostiquer IPv6

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

N et s h i n t erfac e ipv6 s h ow i n t erfac e


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

N et s h i n t erfac e ipv6 s h ow addr e s s


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

N et s h i n t erfac e ipv6 s h ow ro u t 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

Copyright Fred BOVY Consulting 2010 - Page 13


Diagnostiquer IPv6

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

N et s h i n t erfac e ipv6 s h ow n e i g hbor s


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

N et s h i n t erfac e ipv6 s h ow d e st i n at i o ncach 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

Egalem e nt sous Linux e t 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

Copyright Fred BOVY Consulting 2010 - Page 14


Diagnostiquer IPv6

Appl
Copyright Fred BOVY Consulting 2010 - Page 15
Diagnostiquer IPv6

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

Copyright Fred BOVY Consulting 2010 - Page 16


Diagnostiquer IPv6

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

Copyright Fred BOVY Consulting 2010 - Page 17


Diagnostiquer IPv6

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

Copyright Fred BOVY Consulting 2010 - Page 18


Diagnostiquer IPv6

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.

Multicas t .
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

Copyright Fred BOVY Consulting 2010 - Page 19


Diagnostiquer IPv6

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.

Addres s e s d’un ho s t IPv6


une link-locale pour chaque interface
une ou plusieurs unicast adresse pour chaque interface
une loopback ::1 pour l’interface loopback

Copyright Fred BOVY Consulting 2010 - Page 20


Diagnostiquer IPv6

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

Adres s e s d’un rout e ur 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.

Copyright Fred BOVY Consulting 2010 - Page 21


Diagnostiquer IPv6

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


Hop-By-Hop

Next Header=TCP Routing Header

TCP Header

Copyright Fred BOVY Consulting 2010 - Page 22


Diagnostiquer IPv6

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

Val e ur du cha mps Next Header


Value Header

0 Hop-by-Hop

60 Destination Header

43 Routing Header

6 TCP

17 UDP

Copyright Fred BOVY Consulting 2010 - Page 23


Diagnostiquer IPv6

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 Exte nsion 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)

Copyright Fred BOVY Consulting 2010 - Page 24


Diagnostiquer IPv6

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 de s e n-t ê t e s d’ex te ns 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 Al ert 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)

Copyright Fred BOVY Consulting 2010 - Page 25


Diagnostiquer IPv6

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ê t e de D e s ti nation 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 Adre s s e


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

Copyright Fred BOVY Consulting 2010 - Page 26


Diagnostiquer IPv6

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

Fragme nt 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.

Authe ntication Header


Cette en-tete ermet d’authentifier le paquet.

Encapsulating SEcurity Payload He ader and trail er


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

Copyright Fred BOVY Consulting 2010 - Page 27


Diagnostiquer IPv6

Messag e s 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 D e s t i n a t i o n U nr e ac hab l 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)

Copyright Fred BOVY Consulting 2010 - Page 28


Diagnostiquer IPv6

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

Pac k e t Too Bi g
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

Tim e Exc e 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.

Para m e t er Prob l 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.

Copyright Fred BOVY Consulting 2010 - Page 29


Diagnostiquer IPv6

ICMPv6 I nformational Mes sag e s


ICMPv6 Echo R eq u e s t. Typ e 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 R ep l y (I CMPv6 Typ e 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 ................

Copyright Fred BOVY Consulting 2010 - Page 30


Diagnostiquer IPv6

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 Discov ery


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

Copyright Fred BOVY Consulting 2010 - Page 31


Diagnostiquer IPv6

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)

Copyright Fred BOVY Consulting 2010 - Page 32


Diagnostiquer IPv6

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 Al ert Option

Copyright Fred BOVY Consulting 2010 - Page 33


Diagnostiquer IPv6

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ê t e de D e s ti nation 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 Adre s s e


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.

Copyright Fred BOVY Consulting 2010 - Page 34


Diagnostiquer IPv6

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

Fragme nt 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.

Authe ntication Header


Cette en-tete permet d’authentifier le paquet.

Encapsulating SEcurity Payload He ader and trail er”

Copyright Fred BOVY Consulting 2010 - Page 35


Diagnostiquer IPv6

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.

Multicas t Rout er Di scov ery (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 :

Mu lt ica st Ro u t er Advert i s e m e n t (Typ e 15 1)


Genere par les routeurs pour annonce que le routage du multicast est disponible.
Emis d’une adresse link-locale vers FF02::6A

Mu lt ica st Ro u t er S o l ic it at i o n (Typ e 152)


Emis par une station pour soliciter un +,advertisement
Emis d’une link-locale vers l’adresses all-routers FF02::2

Mu lt ica st Ro u t er Ter m i n at i o n (Typ e 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 :

Copyright Fred BOVY Consulting 2010 - Page 36


Diagnostiquer IPv6

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.

Copyright Fred BOVY Consulting 2010 - Page 37


Diagnostiquer IPv6

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)

Copyright Fred BOVY Consulting 2010 - Page 38


Diagnostiquer IPv6

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 Discov ery Mes sag e s


Ro ut er S o l ic itat i o 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

Ro ut er Advert i s e m e n t
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

Copyright Fred BOVY Consulting 2010 - Page 39


Diagnostiquer IPv6

• 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]

Copyright Fred BOVY Consulting 2010 - Page 40


Diagnostiquer IPv6

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::

N e i g hbor S o l i c i tat i o 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

N e i g hbor Advert i s e m e n t

Copyright Fred BOVY Consulting 2010 - Page 41


Diagnostiquer IPv6

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)

R ed ir 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]

Copyright Fred BOVY Consulting 2010 - Page 42


Diagnostiquer IPv6

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 D ecouv ert e de s Voisi ns


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.

S o urc e Li n k -Lay er addr e s s Opt i o 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::

Targ et Li n k -Lay er addr e s s Opt i o n

Copyright Fred BOVY Consulting 2010 - Page 43


Diagnostiquer IPv6

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

Pr ef i x Infor m at i o n Opt i o 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)

Copyright Fred BOVY Consulting 2010 - Page 44


Diagnostiquer IPv6

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::

R ed ir ect ed H e ad er Opt i o 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)

Copyright Fred BOVY Consulting 2010 - Page 45


Diagnostiquer IPv6

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 i o 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

Copyright Fred BOVY Consulting 2010 - Page 46


Diagnostiquer IPv6

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::

Ro ut e I nfor m at i o n Opt i o 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 »

Copyright Fred BOVY Consulting 2010 - Page 47


Diagnostiquer IPv6

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):

R ec ur s iv e DN S S e rv er Opt i o 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
Sta te l e s s Addre s s Autoconfigurati on

Copyright Fred BOVY Consulting 2010 - Page 48


Diagnostiquer IPv6

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

Copyright Fred BOVY Consulting 2010 - Page 49


Diagnostiquer IPv6

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.

Sta te full Addres s Autoconfigurati on.


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

Copyright Fred BOVY Consulting 2010 - Page 50


Diagnostiquer IPv6

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

Copyright Fred BOVY Consulting 2010 - Page 51


Diagnostiquer IPv6

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 Stat el e s s Autoconfigurati on


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 Pre fix D el ega tion (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 r equê t e DNS


Frame 107 (110 bytes on wire, 110 bytes captured)

Copyright Fred BOVY Consulting 2010 - Page 52


Diagnostiquer IPv6

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 s ur un accè s à une Fre ebox :


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]

Copyright Fred BOVY Consulting 2010 - Page 53


Diagnostiquer IPv6

[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

Copyright Fred BOVY Consulting 2010 - Page 54


Diagnostiquer IPv6

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

Copyright Fred BOVY Consulting 2010 - Page 55


Diagnostiquer IPv6

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)

Copyright Fred BOVY Consulting 2010 - Page 56


Diagnostiquer IPv6

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]

Copyright Fred BOVY Consulting 2010 - Page 57


Diagnostiquer IPv6

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

Copyright Fred BOVY Consulting 2010 - Page 58


Diagnostiquer IPv6

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)

Copyright Fred BOVY Consulting 2010 - Page 59


Diagnostiquer IPv6

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 av ec div ers option (DNS, MTU, e tc…)

☼ 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)

Copyright Fred BOVY Consulting 2010 - Page 60


Diagnostiquer IPv6

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)

Copyright Fred BOVY Consulting 2010 - Page 61


Diagnostiquer IPv6

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

Copyright Fred BOVY Consulting 2010 - Page 62


Diagnostiquer IPv6

SECURE NEIGHBOR DISCOVERY

Pres e nta tion 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.

Nouvell e s Options e t m e s sag e s 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 :

O pt i o n C GA
L’option CGA est décrite dans le RFC3972.

Copyright Fred BOVY Consulting 2010 - Page 63


Diagnostiquer IPv6

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 identifier & 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.

Copyright Fred BOVY Consulting 2010 - Page 64


Diagnostiquer IPv6

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 TI ON DU CGA SE PRODUI T AI NSI :

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.

Copyright Fred BOVY Consulting 2010 - Page 65


Diagnostiquer IPv6

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 i o n R SA

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 T A L SIGNA T URE


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.

Tim e s ta mp Opt i o 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.

No nc e Opt i o 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 e a u x R écap it u l at i f d e s Opt i o n s SEND

Copyright Fred BOVY Consulting 2010 - Page 66


Diagnostiquer IPv6

Message Redirect RSA Nonce Timestamp CGA

Router MUST ou envoyee MUST ou envoyee MUST MUST MUST ou


de l’adresse de l’adresse envoyee
Solicitation non non de
(RS) specifiee :: specifiee :: l’adresse
non
specifiee ::

Router MAY. L’option MUST MUST pour les MUST MAY. L’option
CGA sollicited RA CGA
Advertisement pourrait pourrait
(RA) etre omise etre omise
dans les RA dans les
mais serait RA mais
rejette par serait
l’implement rejette par
ation CISCO l’implemen
tation
CISCO

Neighbor MUST MUST MUST MUST MUST


Solicitation
(NS)

Neighbor MUST MUST MUST pour les NA MUST MUST


sollicites
Advertisement
(NA)

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

Copyright Fred BOVY Consulting 2010 - Page 67


Diagnostiquer IPv6

enrollment url http://192.168.0.1:80


serial-number
revocation-check none

ADD o u l e co ntrô l e d e 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é.

Exe mp l e d’ éc h a n g e RA/ CP S/ C PA :

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

Copyright Fred BOVY Consulting 2010 - Page 68


Diagnostiquer IPv6

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

Copyright Fred BOVY Consulting 2010 - Page 69


Diagnostiquer IPv6

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)

Copyright Fred BOVY Consulting 2010 - Page 70


Diagnostiquer IPv6

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 :

Logg i n g s ur l’ h ôt e (d eb u g ipv6 nd s ec ur 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

Copyright Fred BOVY Consulting 2010 - Page 71


Diagnostiquer IPv6

*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

Copyright Fred BOVY Consulting 2010 - Page 72


Diagnostiquer IPv6

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

Copyright Fred BOVY Consulting 2010 - Page 73


Diagnostiquer IPv6

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.

Copyright Fred BOVY Consulting 2010 - Page 74


Diagnostiquer IPv6

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
!

Copyright Fred BOVY Consulting 2010 - Page 75


Diagnostiquer IPv6

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’:

Copyright Fred BOVY Consulting 2010 - Page 76


Diagnostiquer IPv6

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

Copyright Fred BOVY Consulting 2010 - Page 77


Diagnostiquer IPv6

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=nsst
g,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

Copyright Fred BOVY Consulting 2010 - Page 78


Diagnostiquer IPv6

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

Copyright Fred BOVY Consulting 2010 - Page 79


Diagnostiquer IPv6

LES PROTOCOLES DE ROUTAGES


On retrouve pour IPv6 les protocoles de routages disponibles pour IPv4.

Domain e Algorithme Nom Scalability Convergence Metric Version


pour IPv6

IGP Distance- RIP 15 sauts Lente Nombre de RIPng


Vector sauts

IGP DUAL EIGRP 1000s Rapide Bande EIGRPv6


routers passante,
delay,
fiablité,
charge

IGP SPF OSPF 1000s Rapide Cout (par OSPFv3


routers defaut
(100+/area) dérivé de la
BW sur
CISCO)

IGP SPF IS-IS 1000s Rapide Cout (par ISISv6


routers defaut
(100+/area) dérivé de la
BW sur
CISCO)

EGP Vecteur de BGP 1000s Lent Fontion BGPv6


Chemin routers des
attributs de
chemins

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.

Copyright Fred BOVY Consulting 2010 - Page 80


Diagnostiquer IPv6

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

Copyright Fred BOVY Consulting 2010 - Page 81


Diagnostiquer IPv6

*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

AT TENTION ! 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.

Copyright Fred BOVY Consulting 2010 - Page 82


Diagnostiquer IPv6

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

Copyright Fred BOVY Consulting 2010 - Page 83


Diagnostiquer IPv6

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

Copyright Fred BOVY Consulting 2010 - Page 84


Diagnostiquer IPv6

.... 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

Copyright Fred BOVY Consulting 2010 - Page 85


Diagnostiquer IPv6

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.

S y st e m e s A uto n o m e s , A ir 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.

Copyright Fred BOVY Consulting 2010 - Page 86


Diagnostiquer IPv6

☼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 Scop e
L INK - LOCAL SCOP E :

Copyright Fred BOVY Consulting 2010 - Page 87


Diagnostiquer IPv6

Link-LSA.

AREA SCOP E :

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


LSA.

AS SCO P E :
AS-external-LSA

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

LSA T Y P E 1 OU ROU T ER 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.

Copyright Fred BOVY Consulting 2010 - Page 88


Diagnostiquer IPv6

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.

Copyright Fred BOVY Consulting 2010 - Page 89


Diagnostiquer IPv6

Local Interface ID: 4


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

T Y P E 2 OU N E T W ORK 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

L E LSA T Y P E 3 OU IN T ER-AR EA- PR EFIX- 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

Copyright Fred BOVY Consulting 2010 - Page 90


Diagnostiquer IPv6

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 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 T Y P E 4 OU I N T ER-AREA -ROU T ER-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 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Copyright Fred BOVY Consulting 2010 - Page 91


Diagnostiquer IPv6

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 T Y P E 5 OU EX T ERNA L 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

Copyright Fred BOVY Consulting 2010 - Page 92


Diagnostiquer IPv6

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 T Y P E 8 OU LI NK- 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

Copyright Fred BOVY Consulting 2010 - Page 93


Diagnostiquer IPv6

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.

Copyright Fred BOVY Consulting 2010 - Page 94


Diagnostiquer IPv6

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 |

Prefix Options

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

Copyright Fred BOVY Consulting 2010 - Page 95


Diagnostiquer IPv6

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.

Exe mp l e d’ u n e ba s e d e do n n e e s co mp l e t 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

Copyright Fred BOVY Consulting 2010 - Page 96


Diagnostiquer IPv6

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>

S tat u s g l oba l d’ O S PF
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

Copyright Fred BOVY Consulting 2010 - Page 97


Diagnostiquer IPv6

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.

Int erfac e s O S PF

T Y 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 é s e a u Po i n t-à-Po i n t e t Po i nt à Mu lt ipo i n t.
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 é s e a u x à acc é s m u l t ip l e s Broadca st et No n- Bro adca st


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.

Ro ut e u r D é s i g n é (DR) et Ro u t e ur D é s i g n é Bac k up ( BDR)

Copyright Fred BOVY Consulting 2010 - Page 98


Diagnostiquer IPv6

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)

Copyright Fred BOVY Consulting 2010 - Page 99


Diagnostiquer IPv6

R é s e a u x Loopbac k
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

Vo i s i n s et Adjac e n t s O S PF
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

Copyright Fred BOVY Consulting 2010 - Page 100


Diagnostiquer IPv6

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

ROU T E UR D ESIGNE (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).

SYNCHRONISA TI ON D ES BASES DE DO NN E ES
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.

Copyright Fred BOVY Consulting 2010 - Page 101


Diagnostiquer IPv6

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]

Copyright Fred BOVY Consulting 2010 - Page 102


Diagnostiquer IPv6

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)

Copyright Fred BOVY Consulting 2010 - Page 103


Diagnostiquer IPv6

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

Copyright Fred BOVY Consulting 2010 - Page 104


Diagnostiquer IPv6

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

Copyright Fred BOVY Consulting 2010 - Page 105


Diagnostiquer IPv6

.... 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

Copyright Fred BOVY Consulting 2010 - Page 106


Diagnostiquer IPv6

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

Copyright Fred BOVY Consulting 2010 - Page 107


Diagnostiquer IPv6

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

Copyright Fred BOVY Consulting 2010 - Page 108


Diagnostiquer IPv6

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

Copyright Fred BOVY Consulting 2010 - Page 109


Diagnostiquer IPv6

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)

Copyright Fred BOVY Consulting 2010 - Page 110


Diagnostiquer IPv6

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)

Copyright Fred BOVY Consulting 2010 - Page 111


Diagnostiquer IPv6

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

Copyright Fred BOVY Consulting 2010 - Page 112


Diagnostiquer IPv6

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 s ur l e s WAN (Frame -R elay, 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 é s e a u N O N_ BR O AD CA 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

Copyright Fred BOVY Consulting 2010 - Page 113


Diagnostiquer IPv6

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 é s e a u BR O AD CA ST
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.

CONFIGURA T I ON
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 T ERFACE 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

Copyright Fred BOVY Consulting 2010 - Page 114


Diagnostiquer IPv6

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 W ORK LSA DU RÉSEAU FRAME-RE L A Y


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

T A B L E D E ROU T AGE
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 é s e a u P OINT à MULTIP OINT


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.

Copyright Fred BOVY Consulting 2010 - Page 115


Diagnostiquer IPv6

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>

CA P T URE

No. Time Source Src Port Destination Dst Port


Protocol Info Cumulative bytes
Relative time

Copyright Fred BOVY Consulting 2010 - Page 116


Diagnostiquer IPv6

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)

Copyright Fred BOVY Consulting 2010 - Page 117


Diagnostiquer IPv6

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)

Copyright Fred BOVY Consulting 2010 - Page 118


Diagnostiquer IPv6

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

S ub i n t erfac e s P OINT à P OINT


Dans ce mode, chaque PVC sera vu par IPv6 comme une interface point-à-point.

IN T ERFACE 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

Copyright Fred BOVY Consulting 2010 - Page 119


Diagnostiquer IPv6

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)

MA P P I NG FRAME -RE LAY


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 Po i n t to Mu l t ipo i n t

Copyright Fred BOVY Consulting 2010 - Page 120


Diagnostiquer IPv6

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 T E
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 RE L AY MA P
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,

Copyright Fred BOVY Consulting 2010 - Page 121


Diagnostiquer IPv6

CISCO, status defined, active

FRAME RE L AY 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 T E
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

Copyright Fred BOVY Consulting 2010 - Page 122


Diagnostiquer IPv6

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#

Al gor it h m e d u c h e m i n l e p l u s co ur s
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 r ed i str ib ut i o n da n s O S PF
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 !).

Copyright Fred BOVY Consulting 2010 - Page 123


Diagnostiquer IPv6

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 p e nda n t l’ i n i t i a l i s at i o n

L E VOISIN N E MON T E P AS
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

Copyright Fred BOVY Consulting 2010 - Page 124


Diagnostiquer IPv6

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 i s i n r e st e b loq u é à 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> »

Copyright Fred BOVY Consulting 2010 - Page 125


Diagnostiquer IPv6

L E VOISIN ES T FUL L MA IS AUCUNE ROU T E N’ ES T A P PR ISE


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> »

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

Adaptab l e à n’ i mport e q u e 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 gra nd n o mbr e d e ro ut e u r da n s u n e m e 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 ic h i s s e m e n t d e s 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 év e l opp e ur s I SI S 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.

Ro uta g e h i e rarc h iq u e à d e u x n iv ea u x.

Copyright Fred BOVY Consulting 2010 - Page 126


Diagnostiquer IPv6

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.

Ro ut e u r s D é s i g 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’A lgor it h m e d u c h e m i n l e p l u s co urt ( S PF)


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.

Copyright Fred BOVY Consulting 2010 - Page 127


Diagnostiquer IPv6

(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

Copyright Fred BOVY Consulting 2010 - Page 128


Diagnostiquer IPv6

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)

4em e Etape :

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

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

5em e Etape :

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


(AC, 1),(CE, 1) 2

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

6em e 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

7em e 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

8em e 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

Copyright Fred BOVY Consulting 2010 - Page 129


Diagnostiquer IPv6

C o n f i g urat i o n e t ver if icat i o n d’I SI Sv6.


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

Copyright Fred BOVY Consulting 2010 - Page 130


Diagnostiquer IPv6

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)

Copyright Fred BOVY Consulting 2010 - Page 131


Diagnostiquer IPv6

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

Copyright Fred BOVY Consulting 2010 - Page 132


Diagnostiquer IPv6

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 Pat h 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 ib ut s BGP

Copyright Fred BOVY Consulting 2010 - Page 133


Diagnostiquer IPv6

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.

L ES CA T EGORIES D’A T T R IBU TS


Les attributs de chemins BGP se classent dans quatre catégories :

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

W e l l - k n ow n d i scr et i o n ary.
L’attribut BGP doit être obligatoirement implémenté (Well-known) mais pas
forcément présent dans tous les Updates (discretionary)

O pt i o n a l tra n s i t iv e.
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 n a l n o n -tra n s i t iv e.
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.

Loca l Pr e f 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)

Copyright Fred BOVY Consulting 2010 - Page 134


Diagnostiquer IPv6

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


Originator: 10.0.0.1, Cluster list: 10.0.0.2

Mu lt i-Exit D i scr i m i n a tor


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:

Copyright Fred BOVY Consulting 2010 - Page 135


Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 136


Diagnostiquer IPv6

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

Orig in
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

Copyright Fred BOVY Consulting 2010 - Page 137


Diagnostiquer IPv6

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-Pat h
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

N ext- h op
Type code 3. Well-known, Mandatory.
Un routeur BGP répète à tous ses peers iBGP les routes apprises par un voisin
eBGP.

Copyright Fred BOVY Consulting 2010 - Page 138


Diagnostiquer IPv6

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)

Copyright Fred BOVY Consulting 2010 - Page 139


Diagnostiquer IPv6

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

Ato m ic Aggr e g at e
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

Aggr e g ator
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.

Copyright Fred BOVY Consulting 2010 - Page 140


Diagnostiquer IPv6

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)

Copyright Fred BOVY Consulting 2010 - Page 141


Diagnostiquer IPv6

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

Exe mp l 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

Copyright Fred BOVY Consulting 2010 - Page 142


Diagnostiquer IPv6

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.

C o u c h e Tra n sport
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 BG P o u 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 m e n t d e s m i s e s à jo ur

Copyright Fred BOVY Consulting 2010 - Page 143


Diagnostiquer IPv6

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 l a g 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’ u n vo i s i n BGP
Les états possibles d’un voisin sont :

ID L E
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.

O P E NSEN T
BGP a émis un Open et attends un Open de son voisin.

O P E NCONFIRM
BGP attends un Keepalive ou une Notification de son voisin.

ES T ABL ISHED
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

Copyright Fred BOVY Consulting 2010 - Page 144


Diagnostiquer IPv6

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

Copyright Fred BOVY Consulting 2010 - Page 145


Diagnostiquer IPv6

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

P e e r Gro up
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.

Ro ut e R ef l e ctor
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.

C o n f éd érat i o 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

Copyright Fred BOVY Consulting 2010 - Page 146


Diagnostiquer IPv6

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 s e l e ct i o n d u m e 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 m i n s i g n or é 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é.

Al gor it h m e d e s é l e ct i o n d u m e i l l e ur c h e m i 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 ».

Copyright Fred BOVY Consulting 2010 - Page 147


Diagnostiquer IPv6

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.

Exe mp l 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

Autr e e x e mp l 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)

Copyright Fred BOVY Consulting 2010 - Page 148


Diagnostiquer IPv6

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

Le s m e s s a g 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

Copyright Fred BOVY Consulting 2010 - Page 149


Diagnostiquer IPv6

N OTIFICATI ON

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- T E T E D E M ESSAGE SUBCODE :


1 Connection non synchronisée
2 Mauvaise Longeur de message
3 Mauvais Type de message

ERREUR DE M ESSAGE OP E N SUBCOD E :


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 M ESSAGE UP D A T E 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

Copyright Fred BOVY Consulting 2010 - Page 150


Diagnostiquer IPv6

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

Copyright Fred BOVY Consulting 2010 - Page 151


Diagnostiquer IPv6

Mu lt 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.

An n o nc e d e s ro u t 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 ».

Ro ut e da mp e n i n g
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

Copyright Fred BOVY Consulting 2010 - Page 152


Diagnostiquer IPv6

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

Copyright Fred BOVY Consulting 2010 - Page 153


Diagnostiquer IPv6

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

Copyright Fred BOVY Consulting 2010 - Page 154


Diagnostiquer IPv6

*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

Exe mp l 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

Copyright Fred BOVY Consulting 2010 - Page 155


Diagnostiquer IPv6

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

Copyright Fred BOVY Consulting 2010 - Page 156


Diagnostiquer IPv6

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

Le s pr i nc ipa l e s C o m m a nd e 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

Exe mp l e “d eb u g 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

Copyright Fred BOVY Consulting 2010 - Page 157


Diagnostiquer IPv6

*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

Copyright Fred BOVY Consulting 2010 - Page 158


Diagnostiquer IPv6

*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#

Le s Proc e s s u s 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.

Copyright Fred BOVY Consulting 2010 - Page 159


Diagnostiquer IPv6

BGP ROU T ER
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 O P EN
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 R elay, 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

Copyright Fred BOVY Consulting 2010 - Page 160


Diagnostiquer IPv6

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

Copyright Fred BOVY Consulting 2010 - Page 161


Diagnostiquer IPv6

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

Copyright Fred BOVY Consulting 2010 - Page 162


Diagnostiquer IPv6

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

Copyright Fred BOVY Consulting 2010 - Page 163


Diagnostiquer IPv6

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)

Copyright Fred BOVY Consulting 2010 - Page 164


Diagnostiquer IPv6

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-P T, 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

Copyright Fred BOVY Consulting 2010 - Page 165


Diagnostiquer IPv6

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

Copyright Fred BOVY Consulting 2010 - Page 166


Diagnostiquer IPv6

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

Copyright Fred BOVY Consulting 2010 - Page 167


Diagnostiquer IPv6

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

Copyright Fred BOVY Consulting 2010 - Page 168


Diagnostiquer IPv6

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.

Copyright Fred BOVY Consulting 2010 - Page 169


Diagnostiquer IPv6

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.

I ntroduction 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.

Copyright Fred BOVY Consulting 2010 - Page 170


Diagnostiquer IPv6

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).

Copyright Fred BOVY Consulting 2010 - Page 171


Diagnostiquer IPv6

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

Copyright Fred BOVY Consulting 2010 - Page 172


Diagnostiquer IPv6

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.

I ntroduction 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
!

Copyright Fred BOVY Consulting 2010 - Page 173


Diagnostiquer IPv6

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

Copyright Fred BOVY Consulting 2010 - Page 174


Diagnostiquer IPv6

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 ?

O n peut egale m ent verifier que les prefix sont correctem ent 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

Copyright Fred BOVY Consulting 2010 - Page 175


Diagnostiquer IPv6

Verifier que les routes ont bien étées importe es

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

Copyright Fred BOVY Consulting 2010 - Page 176


Diagnostiquer IPv6

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 egal em e nt :


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#

C apt ur 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.

Copyright Fred BOVY Consulting 2010 - Page 177


Diagnostiquer IPv6

BGP O P EN

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)

Copyright Fred BOVY Consulting 2010 - Page 178


Diagnostiquer IPv6

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 U P DA T E

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)

Copyright Fred BOVY Consulting 2010 - Page 179


Diagnostiquer IPv6

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

Copyright Fred BOVY Consulting 2010 - Page 180


Diagnostiquer IPv6

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

Copyright Fred BOVY Consulting 2010 - Page 181


Diagnostiquer IPv6

...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 Topologi e s
.

Acc è s à Int er n e t
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.

Copyright Fred BOVY Consulting 2010 - Page 182


Diagnostiquer IPv6

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

Copyright Fred BOVY Consulting 2010 - Page 183


Diagnostiquer IPv6

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

Copyright Fred BOVY Consulting 2010 - Page 184


Diagnostiquer IPv6

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

Copyright Fred BOVY Consulting 2010 - Page 185


Diagnostiquer IPv6

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
!

Copyright Fred BOVY Consulting 2010 - Page 186


Diagnostiquer IPv6

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

Int erA S
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 :

Copyright Fred BOVY Consulting 2010 - Page 187


Diagnostiquer IPv6

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

6PE1 ASBR1 ASBR2 6PE1a

6PE2 6PE2a
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

Copyright Fred BOVY Consulting 2010 - Page 188


Diagnostiquer IPv6

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#

O n peut voir les routes sur le routeur 6PE1 et les n ext-hop qui pointent dans le mê m e
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

Copyright Fred BOVY Consulting 2010 - Page 189


Diagnostiquer IPv6

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

Copyright Fred BOVY Consulting 2010 - Page 190


Diagnostiquer IPv6

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.

6PE1 ASBR1 ASBR2 6PE1a


10
10
RR1 RR2

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

Copyright Fred BOVY Consulting 2010 - Page 191


Diagnostiquer IPv6

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

Copyright Fred BOVY Consulting 2010 - Page 192


Diagnostiquer IPv6

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 mome nt 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...

Copyright Fred BOVY Consulting 2010 - Page 193


Diagnostiquer IPv6

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>

Copyright Fred BOVY Consulting 2010 - Page 194


Diagnostiquer IPv6

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#

H ub a nd Spo k e
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.

hub hub-ce1
PE-Spoke1

hub-ce2
PE-Spoke2
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.

Copyright Fred BOVY Consulting 2010 - Page 195


Diagnostiquer IPv6

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

Copyright Fred BOVY Consulting 2010 - Page 196


Diagnostiquer IPv6

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

Copyright Fred BOVY Consulting 2010 - Page 197


Diagnostiquer IPv6

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

Copyright Fred BOVY Consulting 2010 - Page 198


Diagnostiquer IPv6

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#

Copyright Fred BOVY Consulting 2010 - Page 199


Diagnostiquer IPv6

C arr i e r’ s C arr i 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
PE1 PE2

CE1
CE2

ASBR2
ASBR1

SP1 SP2

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#

Copyright Fred BOVY Consulting 2010 - Page 200


Diagnostiquer IPv6

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

Copyright Fred BOVY Consulting 2010 - Page 201


Diagnostiquer IPv6

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

Copyright Fred BOVY Consulting 2010 - Page 202


Diagnostiquer IPv6

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

Copyright Fred BOVY Consulting 2010 - Page 203


Diagnostiquer IPv6

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

Re ncontr e de s e m e tt e ur s e t de s r e cepte urs


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.

Copyright Fred BOVY Consulting 2010 - Page 204


Diagnostiquer IPv6

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)

Copyright Fred BOVY Consulting 2010 - Page 205


Diagnostiquer IPv6

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 Spars e 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.

Copyright Fred BOVY Consulting 2010 - Page 206


Diagnostiquer IPv6

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 Addres s
Les adresses sur 128 bits permettent de coder l’adresse du RP dans l’adresse de groupe de multicast.

Configur er 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

Copyright Fred BOVY Consulting 2010 - Page 207


Diagnostiquer IPv6

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

Copyright Fred BOVY Consulting 2010 - Page 208


Diagnostiquer IPv6

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 Sourc e 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)

Copyright Fred BOVY Consulting 2010 - Page 209


Diagnostiquer IPv6

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 i o n
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

Copyright Fred BOVY Consulting 2010 - Page 210


Diagnostiquer IPv6

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.

O pt i m i s a t i o n d u ro uta g 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 é c ur 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.

Un e n o uv e l l e En-t êt e d e Mob i l i t é (Mob i l i ty H e ad er)


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.

Copyright Fred BOVY Consulting 2010 - Page 211


Diagnostiquer IPv6

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.

Un e n o uv e l l e O pt i o n d e D e s t i n at i o n (Ho m e Addr e s s )

Q u a tr e n o uv e a u x m e s s a g e s I CMPv6
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.

Ter m i n o l o g i e d e s s tr uct ur e s d e do n n é e s

B i nd i n g C ac h e .
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 ».

B i nd i n g Updat e Li s t
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.

Ho m e Ag e n t Li s t
Les home agents ont besoin de connaitre les autres home agents sur le même lien.

S e c ur 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.

Copyright Fred BOVY Consulting 2010 - Page 212


Diagnostiquer IPv6

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èm e 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.

Copyright Fred BOVY Consulting 2010 - Page 213


Diagnostiquer IPv6

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.

Copyright Fred BOVY Consulting 2010 - Page 214


Diagnostiquer IPv6

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.

Copyright Fred BOVY Consulting 2010 - Page 215


Diagnostiquer IPv6

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.

Copyright Fred BOVY Consulting 2010 - Page 216


Diagnostiquer IPv6

NESSUS EST UN OUTILS TRES PUISSANT.

Copyright Fred BOVY Consulting 2010 - Page 217


Diagnostiquer IPv6

LA GESTION DES RESEAUX


Outil s
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.

Bas eli ne , prévision e t 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 ».

Authe ntications , 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.

Copyright Fred BOVY Consulting 2010 - Page 218


Diagnostiquer IPv6

Copyright Fred BOVY Consulting 2010 - Page 219

Vous aimerez peut-être aussi