You are on page 1of 56

IntroductionIPv6

OlivierTogni UniversitdeBourgogne
LE2IUMRCNRS5158 www.u-bourgogne.fr/o.togni olivier.togni@u-bourgogne.fr

modifile02/09/2008

Plan

Historique Adressage Protocolesassocis DNS Mobilit Scurit Dploiement

Ressourcesbibliographiques

IPv6Thorieetpratique4ed,G.Cizault, O'Reilly2005(versionenligneavecmises joursurlivre.point6.net) IPv6:Theory,Protocol,andPractice,2 ed, P.Loshin,Elsevier,2004


nd

www.urec.frTutorielIPv6deB.Tuy www.ietf.orgRFC2460,...

Le6bone
Rseauexprimentalcrpourtesterledploiementde l'IPv6.Ils'tendenAsie,Amrique,Australieeten Europe. Juin1998:ouverturedu6bone.adressesIPv6utilises parcerseausontregroupesparleurprfixecommun 3ffe.

Janvier2004:arrtd'attributiondesadressesen3ffe. Dsormais,onobtientdesadressesdfinitives, commenantpar2001.


Juin2006:fermeturedu6bone.

Historique

En1992,constatde

Pnuriedesadresses Augmentationdestablesderoutages

=>ProjetIPnewgeneration(IPng)

En1995,RFC1883:InternetProtocolversion6 Depuis,denombreusesmodificationsetnormes complmentaires

Objectifs

Remdierauproblmesd'adresses Ajouterdenombreusesfonctionnalits optionnellesd'IPv4:


Autoconfiguration Mobilit DiffusionMulticast Scurit(Authentificationetconfidentialit)

Adresses
IANA(InternetAssignedNumbersAuthority,voiriana.org) +5RIR(RegionalInternetRegistry)

AfriNIC(AfricanRegion) APNIC(Asia/PacificRegion) ARIN(NorthAmericaandSubSaharaAfrica) LACNIC(LatinAmericaandsomeCaribbeanIslands) RIPENCC(Europe,theMiddleEast,CentralAsia,andAfrican countrieslocatednorthoftheequator)

+NIR(National)+LIR/ISP(Local)

Adresses
Sur128bits:8motsde16bitssparspardes: Ex:3201:001A:12FF:0000:0000:0000:FFFE:8ABC ::pourabrgerplusieursmotsnulsconscutifs Ex:3201:1A:12FF::FFFE:8ABC 3typesd'adresses:unicast,anycast,multicast =>plusdebroadcast! UtilisentlesprincipesdeCIDR:adresse/longueur_prfixe Ex:2001:660:3003::/48

Espaced'adressage(iana.org)
INTERNET PROTOCOL VERSION 6 ADDRESS SPACE
(last updated 2008-05-13) IPv6 Prefix ----------0000::/8 0100::/8 0200::/7 0400::/6 0800::/5 1000::/4 2000::/3 4000::/3 6000::/3 8000::/3 A000::/3 C000::/3 E000::/4 F000::/5 F800::/6 FC00::/7 FE00::/9 FE80::/10 FEC0::/10 FF00::/8 Allocation ---------Reserved by IETF Reserved by IETF Reserved by IETF Reserved by IETF Reserved by IETF Reserved by IETF Global Unicast Reserved by IETF Reserved by IETF Reserved by IETF Reserved by IETF Reserved by IETF Reserved by IETF Reserved by IETF Reserved by IETF Unique Local Unicast Reserved by IETF Link Local Unicast Reserved by IETF Multicast Reference --------[RFC4291] [RFC4291] [RFC4048] [RFC4291] [RFC4291] [RFC4291] [RFC4291] [RFC4291] [RFC4291] [RFC4291] [RFC4291] [RFC4291] [RFC4291] [RFC4291] [RFC4291] [RFC4193] [RFC4291] [RFC4291] [RFC3879] [RFC4291]

Pland'adressageagrg
Adresseunicastglobaleconstruiteainsi(RFC2374):
3 001 13 TLA 8 Reserv 24 NLA 16 SLA 64 Ident_interface

TLA(TopLevelAgregator):grandoprateurinternational NLA(NextLevelAgregator):oprateurintermdiaire SLA(SiteLevelAgregator):site =>Planabandonnauprofitdupland'adressageglobal utilispourtestsauseindu6boneavecTLA=1FFE

Pland'adressageglobal
RFC3587rendobsoltel'adressageagrg
n Prfixeglobal 64n Ident_ssrseau 64 Ident_interface

Parexemple:
3 001 45 prfixe 16 Sousrseau 64 Ident_interface

Topologiepublique Partierseau

Topologiedesite Partiehte

Identifiantd'interface
Identifiantsur64bitspourdsigneruneinterfaceconnecte surunlien Peuttreconstruitpartirdel'adressedeniveau2de l'interfacerseau: PourlesrseauxEthernet/FDDI:partird'uneadresse MACIEEE802(48bits),ajoutdeFFFEaumilieuet inversiondu7iemebit=>identifiantuniqueauniveau mondial Sipasd'adressedeniveau2=>nombreauhasardou saisiemanuelle

Adressesunicastglobales
IPV6 GLOBAL UNICAST ADDRESS ASSIGNMENTS [last updated 2008-05-13] Global Unicast Prefix --------------------2001:0000::/23 2001:0200::/23 2001:0400::/23 2001:0600::/23 2001:0800::/23 2001:0A00::/23 2001:0C00::/23 2001:0E00::/23 2001:1200::/23 2001:1400::/23 2001:1600::/23 2001:1800::/23 2001:1A00::/23 2001:1C00::/22 2001:2000::/20 2001:3000::/21 2001:3800::/22 2001:3C00::/22 2001:4000::/23 2001:4200::/23 2001:4400::/23 2001:4600::/23 Assignment ---------IANA APNIC ARIN RIPE NCC RIPE NCC RIPE NCC APNIC APNIC LACNIC RIPE NCC RIPE NCC ARIN RIPE NCC RIPE NCC RIPE NCC RIPE NCC RIPE NCC RESERVED RIPE NCC AfriNIC APNIC RIPE NCC Date -----01 Jul 99 01 Jul 99 01 Jul 99 01 Jul 99 01 May 02 02 Nov 02 01 May 02 01 Jan 03 01 Nov 02 01 Feb 03 01 Jul 03 01 Apr 03 01 Jan 04 01 May 04 01 May 04 01 May 04 01 May 04 11 Jun 04 11 Jun 04 01 Jun 04 11 Jun 04 17 Aug 04 2001:4800::/23 2001:4A00::/23 2001:4C00::/23 2001:5000::/20 2001:8000::/19 2001:A000::/20 2001:B000::/20 2002:0000::/16 2003:0000::/18 2400:0000::/12 2600:0000::/12 2610:0000::/23 2620:0000::/23 2800:0000::/12 2A00:0000::/12 2C00:0000::/12 ARIN RIPE NCC RIPE NCC RIPE NCC APNIC APNIC APNIC 6to4 RIPE NCC APNIC ARIN ARIN ARIN LACNIC RIPE NCC AfriNIC 24 15 17 10 30 30 08 01 12 03 03 17 12 03 03 03 Aug Oct Dec Sep Nov Nov Mar Feb Jan Oct Oct Nov Sep Oct Oct Oct 04 04 04 04 04 04 06 01 05 06 06 05 06 06 06 06

Adresseslocales
Adresseslienlocal(linklocal):adressesdontlavalidit estrestreinteunlien Forme:FE80::+ident_interface
11111110100..............0 ident_interface
Utilisesparlesprotocolesdeconfigurationd'adresseglobale, dedcouvertedevoisins(neighbordiscovery)etdedcouverte derouteurs(routerdiscovery). Leprotocolededtectiondeduplicationd'adresse(DaD)permet des'assurerdel'unicitauniveaudulien. Pasforwardesparlesrouteurs=>usagelocalaulien 10 54 64

Adresseslocales
Adressessitelocal(sitelocal):adressesdontlavalidit taitrestreinteunsite=>gnralisaitlanotiond'adresse prived'IPv4 FEC0:+ident_sous_rseau+ident_interface
1111111011ident_ss_rsident_interface
10 54 64

Notiondesitetropfloue=>onttdprcies(RFC3879)

Adresseslocales
Adressesuniquelocal(ULA:uniquelocaladdress): Pourutilisationauseind'unezonelimite(siteouentre unnombrelimitdesites) FC00::/7:+ident_global+ident_sous_rseau+ident_interface
ident_global ident_ss_rsident_interface 11111101
8 40 16 64

Ident_globalgnrpseudoalatoirement

Adressesmulticast
CommencentparFF....
11111111 flag scope ident_groupe
8 4 4 112

Scope(tendue):

0:rserv Flagbits:0RPT 1:noeud T=0=>adressepermanente(greparIANA) 2:lien T=1 adrtemporaire 4:administration P=1=>driveduprfixeunicast 5:site R=1=>pointderendezvous 8:organisation E:global F:rserv

Adressesprdfinies
Adressesspciales adrindtermine:0:0:0:0:0:0:0:0oubien:: adrdebouclage:::1 PourtransitionIPv4/v6: adrIpv4mappes:::FFFF:a.b.c.doa.b.c.destuneadrIpv4 adrIpv4compatibles:::a.b.c.d=>dprcies(cf.RFC4291) Adressesmulticastprdfinies: FF02::1=>touslesnoeudsIpv6surlemmelienlocal FF05::2=>touslesrouteursIpv6dusite FF0E::101=>touslesserveursNTPsurl'Internet

Adressesanycast
Uneadresseanycastidentifieunensembled'interfaces:unpaquet destinationd'uneadranycastdoittreacheminparlesystme versl'unedesinterfaces(laplusproche) =>implmentationdlicate,rservespourlesrouteurs Ex:serveursFTPavecadressegnrique Nepeuttredistingued'uneadresseunicast(mmeplage d'adresses) Adranycastd'unsousrseau:prfixerseau+0...0 =>unpaquettransmiscetteadressedoittretraitparl'undes routeursdurseau

ExemplesousLinux
eth0Linkencap:EthernetHWaddr00:0D:56:01:13:C9 inetaddr:193.52.237.96Bcast:193.52.237.255Mask:255.255.255.0 inet6addr:2001:1111::20d:56ff:fe01:13c9/64Scope:Global inet6addr:fe80::20d:56ff:fe01:13c9/64Scope:Link loLinkencap:LocalLoopback inetaddr:127.0.0.1Mask:255.0.0.0 inet6addr:::1/128Scope:Host sit0Linkencap:IPv6inIPv4 NOARPMTU:1480Metric:1

RappeldatagrammeIPv4

FormatdesdatagrammesIPv6

=>40octetsd'enttesanslesoptions(5motsde64bits)

FormatdesdatagrammesIPv6
Version=6(mmechampsqueIpv4) Classedetrafic=champstypedeserviced'IPv4 Identificateurdeflux:pourqualitdeservice,rfrencelecontexte delacommunication Longueurdesdonnes:tailledesdonnessansl'entte Enttesuivant=champsprotocoled'IPv4=soitprotocoledeniveau suprieur,soitnumrod'extension,lesextensionscontiennentce champpourchanage Nombredesauts=TTL:dcrmentchaquenoeudtravers.Si0, rejetetmissiond'unmessageICMPverslasource

Remarques

PlusdechampsChecksumcardevaittreajustpar chaquerouteurenraisonduchampTTLmodifi=>les protocolesdeniveausupdoiventmettreenplaceunctrl d'erreursurl'entte(tendueauxadrIP) Champsalignssurmotsde64bits=>optimispour architecture64bits MoinsdechampsquedansIpv4 Enttedetaillefixe=>plusrapide Plusdesouplessedanslesoptions

Extensions
Plussouplesquelesoptionsd'IPv4,ellespeuventtrechanes entreellesetsonttraitesseulementparlesnoeudsconcerns 5typesd'extensions: Procheenproche(hopbyhop) toujourslapremireextension remplacel'optionIpv4 analyseparchaquerouteur Destination(traiteseulementparledestinataire) Routage Fragmentation Scurit

Chanaged'extensions
EntteIpv6 EntteRoutage EntteFragment EntteTCP Enttesuivant=Enttesuivant=Enttesuivant= + routage fragment TCP Donnes

ChampEnttesuivant: Procheenproche 0 Routage 43 Fragmentation 44 Confidentialit 50 Authentification 51 Findesenttes 59 Destination 60

TCP UDP IPv6 ICMPv6

6 17 41 58

Procheenproche
4optionsdiffrenciesparlechamptype(1octet) Pad1(bourrage1octet),utilepouralignersur64bits Padn(bourragenoctets),idem routeralert:demandeaurouteurdeprendreencompteles donnes(utilepourICMPv6ouRSVP) Jumbogramme(paquetdetaille>64Ko)=>tailleprcise dansl'option Les2bitsdepoidsfortdutypeindiquentlecomportementdu routeurs'ilnetraitepasl'option

Destination
Options: bourrage(Pad1,Padn),utilepouralignersur64bits mobilit tunnelagedanspaquetIpv6:limiteduniveau d'encapsulation

Routage
Permetd'imposeruneroutediffrentedecelleofferte Routagelibral(Loosesourcerouting):onindiqueunelistede routeurstraverser,lestablesderoutagepeuventtreutilises pourallerderouteurenrouteur
A A>R1 RoutageB R1 A>B

Fragmentation
Enprincipelatailledupaquetestadaptel'missionpar unalgorithmededcouverteduPMTU(MTUduchemin). EngnralilestprvuunMTUde1280octets(pour tunnelage).Maiscertainsprotocoles(NFSparex.) supposentquelafragmentationexisteetproduisentdes messagesdegrandetaille Seulelasourcepeutfragmenterunpaquet(contrairement IPv4)

PMTU
LeprotocolePathMTUDiscoverypermetdecalculer leMTUmaximumdisponibleversunedestination. IlutiliselesmessagesICMPv6Paquettropgrand: Unrouteurcruntelmessagequandilreoitunpaquet tropgrandpourtraverserlerseausurlechemin LenouveauMTUutiliserestspcifidanslemessageICMP L'hoteenvoisonpaquetenutilisantleMTUdulien.S'ilreoit unmessageICMPv6Paquettropgrand,ilrenvoieunpaquet delataillespcifiedanslemessageetainsidesuite

ProtocolesassocisIPv6
ND(NeighborDiscovery):dcouvertedesvoisins MLD(MulticastListenerDiscovery) gestiondesgroupesmulticast bassurIGMPv2 MLDv2quivalentdeIGMPv3d'IPv4 ICMPv6(InternetControlMessageProtocol): superprotocolequi couvrelesaspectsd'ICMPv4(ctrlerreurs,...) TransportelesmessagesNDetMLD

ICMPv6
Deuxclassesdemessages(suivantlechampstype): de0127Messagesd'erreur de128255Messagesd'information Messagesd'erreurlespluscourants: Destinationinaccessible(1) Paquettropgrand(2) Tempsdpass(3) Paramtrenonreconnu(4)

NeighborDiscovery
LesnoeudsIpv6surunmmelienutilisentNDpour: dcouvrirleurprsencemutuelle dterminerl'adrdeniveauliaisonduvoisin trouverlesrouteurs maintenirlesinfossurl'accessibilitdesvoisins(NUD)

=>pasapplicableauxrseauxNBMA(ATM,FrameRelay,..) carNDutiliselemulticast SynthsedeARP,RDisc,ICMPredirect

NeighborDiscovery
5typesdepaquetsICMP: RouterAdvertisement(RA):annoncepriodiquequicontient listedesprfixesutilisssurlelien valeurpossibledunombredesauts valeurduMTU

RouterSolicitation(RS):l'hteveutunRAimmdiatement NeighborSolicitation(NS): pourdterminerl'adrliaisond'unvoisin oupourtesterinaccessibilit aussipourtesterduplicationd'adr(DaD)

NeighborDiscovery

NeighborAdvertisement(NA): rponseunpaquetNS avertirlechangementd'uneadressephysique

Redirect:utilisparunrouteurpourinformerunhted'une meilleureroute

Rsolutiond'adresse
Auboot,l'htedoitadhrer2groupesmulticast:
ff02::1 <=>touslesnoeudssurlelien ff02::1:ffxx:xxxxadrdemulticastsollicit(xxxxxx=24bitsde poidsfaibledel'adrIPv6) Rsolutiond'adresse: 1.EnvoipaquetNSenmulticastsollicit 2.L'hteconcernrpondparunmessageNA

Multicastsollicit
Concatnationduprfixeff02::1:ff00:0/104avecles24derniers bitsdel'adrIPv6 Ex: @DSTIpv6 Multsol Ethernet

2001:0660:010A:4002:4421:21FF:FE24:87C1 FF02:0000:0000:0000:0000:0001:FF24:87C1 3333FF2487C1

Autoconfiguration
Seulslesrouteursdoiventtreconfigursmanuellement, leshtespeuventobtenirleursadressesautomatiquement: Configurationsanstat:lamachineconstruitautomatiquement sesadressesIPv6enfonctiond'informationsqu'ellereoit desrouteurs Configurationavectat(contrledel'attributiondesadresses): DHCPv6(intrt?)

Protocolesdetransport
ModificationsmineuresdeTCPetUDP: Checksumobligatoireetportesurpseudoentteincluantdes champsdel'enttedupaquetIPv6

Priseencomptedesjumbogrammes:l'entteTCPouUDP contientunchamplongueurtroppetit=>=0pourUDPmais problmeavecTCPoplusieurscompteurssontsur16bits (longueursdesfentres)

DNS

Nommagedirect:dunomverslesadresses EnregistrementAAAA
ns3.nic.fr.INAAAA2001:660:3006:1::1:1

Nommageinverse:del'adresseverslesnoms
enregistrementPTR,stocksousl'arbreDNSinverseip6.arpa
1.0.0.0.1.0.0.0.0.0.0.0.0.0.0.0.1.0.0.0.6.0.0.3.0.6.6.0.1.0.0.2.ip6.arpa.INPTRns3.nic.fr.

LogicielsDNSv6:BIND9del'ISC
enregistrementAAAA,PTRsousip6.arpa,transportIPv6

EnregistrementA6dcoupantl'adresseen2parties tfinalementcartdelastandardisation

Intgrationd'IPv6dansleDNS

LesdeuxaspectsduDNS:BDDetapplicationclient/serveur doiventsupporterIPv6

TaillelimitedesmessagesDNSenUDP:transportdesmessages DNSparUDPetTCP(port53).

requtes/rponsesDNSenUDPsaufsitaille>512 transfertsdezonesenTCPetrequtestroplongues

AdressesdesserveursracinepubliesdansleDNSsontenIPv4 =>utiliserunserveurforwarderendoublepileIPv4/IPv6. AdressesdesTLDsontpresquetoutesenIPv4(IANAautorise depuis2004lesgluesIPv6;.fr,.jpet.kronttlespremiers)

MobilitIPv6
BasesurMobileIPv4,maistirepartiedesmcanismes d'IPv6(configurationautomatique,extensions destination,...):

PlusieursadressesIPv6pourlemobile Noeudagentmredanschaquerseauqui relaielesdonnesaumobile Mcanismedetabledesassociationspourpermettre communicationdirecte

Scurit
IPsec:mcanismesdescuritpourIP(v4ouv6) optionnelpourIPv4,obligatoirepourIPv6
L'extensiond'authentification(AH:AuthenticationHeader): s'assurerquel'metteurdumsgestbienceluiqu'ilprtendtre contrled'intgritpourgarantiraurcepteurquepersonnen'a modifilecontenud'unmessagelorsdesontransfertsurlerseau L'extensionESP(EncapsulatingSecurityPayload): chiffrerl'ensembledespaquetsouleurpartietransportetde garantirl'authentificationetl'intgritdecespaquets dtecterlesrejeux garantir(defaonlimite)laconfidentialitduflux.

Mcanismesdetransition
Adiffrentsniveaux:

Surleshtes:doublepile Surlerseau:tunnels

Manuels Configurs:TunnelBroker Automatiques:TEREDO,6to4,ISATAP,6over4

Partranslationdeprotocoles

NATPT:traduirelesenttesdespaquetsIPv6enIPv4 Relaisapplicatifs:pourapplicationscourantes

HteavecDoublePile

L'hteincluelesdeuxprotocoles(IPv4etIPv6)etchaque interfacepossdelafoisuneadrIPv4etune(ouplusieurs)adr IPv6 LesapplicationsfonctionnantavecIPv4seulementutilisentIPv4, LesapplicationssupportantIPv6interrogentleDNSpoursavoirsi ladestinationpossdeuneadrIPv6:sioui,l'htecommuniqueen IPv6;sinon,IPv4estutilis =>Facilemettreenplacemaisnerduitpaslebesoin d'adressesetlesdeuxtypesderseauxsontcompltement spars

TunnelIPv6dansIPv4

LespaquetsIPv6encapsulsdansdespaquetsIPv4l'entredu tunnelenajoutantunentteIPv4(avecchampPROTOCOLE=41) etdcapsulsettraitscommes'ilsprovenaientdurseauIPv6la sortiedutunnel Entte IPv4 PaquetIPv6

Lesrouteurs(ouhtes)d'entreetsortiedutunneldoiventtre doublepile Pourlacouchev6:letunnelestvucommeununeliaisonv6(un seulsaut)etlerseauv4commeunecouchedeniveau2

TunnelBroker

ServicewebenIPv4quiaidel'utilisateurcreruntunnelv6/v4 avecundesesrouteurs:

L'utilisateurestidentifi Letunnelbrokerconfiguresapartiedutunneletenvoieles paramtresl'utilisateurpourqu'ilconfigurel'autrepartiedu tunnelsursamachinehte

UtiliseleprotocoleTSP(TunnelSetupProtocol):ngociation automatisedesdiffrentsparamtresdutunnel

TEREDO(1/2)

ProtocoledetunnelagepermettantunhtederrireunNAT d'accderl'InternetIPv6parlebiaisd'unserveuretderelais Teredo Entte IPv4 Entte Entte Entte PaquetIPv6 UDP IPv4UDP

LespaquetsIPv6sontencapsulsdansdespaquetsUDP(eux mmeencapsulsdansdespaquetsIPv4)pourtraverserlerseau IPv4etlesserveursNAT

TEREDO(2/2)

Formatdesadresses: 32bits 32bits

16bits 16bits

32bits @v4client

Prfixeteredo @v4serveur Flags Port 2001:0::/32 Limitations:


Complexe NefonctionnepasavectouslestypesdeNAT NombrelimitderelaisTeredodansl'Internet

6to4

Lemcanisme6to4permetd'interconnecterentreeuxdessites IPv6isolsencrantdestunnelsautomatiquesIPv6dansIPv4en fonctiondudestinatairedesdonnes.Utilise2entits:

lerouteurdebordure,encapsulelespaquetsIPv6dansdes paquetsIPv4,estconnectIPv4etIPv6

lerelais6to4:quipementrseaudontl'adresseestbienconnue (adresseanycast).Ilassurelaconnexionl'Internetv6. 16bits 64bits ident_interface

Formatdesadresses: 32bits 16bits @IPv4durouteur 2002::/16 ssrs debordure

Dploiement:applications
Peudemodificationssontengnralncessaires(saufsi l'applicationutiliselesadresses) nouveautypedesocketsenC:AF_INET6aulieude AF_INET pasdemodificationenJavagrceauxobjets UnelistedeserveurswebIPv6: http://www.ipv6.org/v6www.html

Dploiement:systmes

Windows:supportdebasedepuisXP
activationparipv6installsousDOS;activpardfautsous Vista

Linux:intgrdepuislesnoyaux2.2
lesnoyaux2.6grentl'IPsec

BSD:IPv6disponibledepuislongtemps.
LesversionrcentesproviennentdelasoucheKAME(japon)

Macintosh:standardenMacOSX(10.3)

Dploiement:Rseau

Routeurs(Cisco,juniper,6wind...):OKdepuis plusieursannes(aprsmisejourdel'IOS) Rseau:lecoeurdel'InternetestcompatibleIPv6 SFINX:pointd'changeInternetfranaisgrpar RenaterintgreIPv6depuis2002

Dploiement:ISP
Lesplusfrileuxpourl'instant!

Nerim:connexionADSLIPv6depuis2003 Wanadoo:exprimentationdepuis2005 Free:proposdepuisdcembre2007 Googlepossdeunblocde296adressesIPv6 (2001:4860::/32)

Conclusion

Qu'estcequ'onattend?

You might also like