Allocation Adresse IPv6 INT : ----------------------------- draft-ph-ip6int-10-03-03 contenu Elements sur adresses IPv6 Principes Allocation INT 0) generique 1) numero subnet 2) host-Id 3) autres? Court terme Annexe I table allocation des subnets II complements sur subnet v6-only III subnetting v4 non-standard Elements sur adresses : ----------------------- - Adresse IPv6 en chiffre hexadecimal (notation standard): PPPP:PPPP:PPPP:SSSS:HHHH:HHHH:HHHH:HHHH P-> Prefixe delegué /48 S-> Subnet ; P + S -> Reseau IPv6 /64 H-> Host-ID ; P + S + H -> Host IPv6 /128 préfixes particuliers: FE80:: + H -> Adresse lien-local (même reseau) FEC0:: + S + H -> Adresse site-local (usage mal défini !!) - Prefixe (6 octets) Prété et non pas donné comme en IPv4, Plusieurs prefixes simultanement (ex : Lien-local et global, phase de transition si changement de prefixe, plusieurs providers, ..) - Subnet (2 octets) Allocation Interne INT A priori S fixe même si P change - Host-ID (8 octets) Configuration automatique par defaut par le host a partir adresses MAC ou autres identifiants universelles Possibilité d'imposer (manuellement) une valeur WellKnown ("H=::1" mon routeur par defaut) ou lisible et memorisable pour des machines importantes ("H=::1012" le DNS diamant) ou anycast (...) Possibilite pour usage temporaire d'un tirage aleatoire (optique protection de la vie privée rfc3041) ... Principes Allocation INT : ------------------------- 0) Générique #R1 Pour satisfaire au principe de rénumérotation requis avec IPv6, #R1 l'écriture numérique des adresses IPv6 (configuration, identification,...) #R1 et en premier lieu du prefixe /48 est à limiter au plus strict minimum. - minimum = ? * DNS (bien sur) Pages Jaunes (meme raisons), LDAP (idem) * Config. des Routeurs (ils offrent la decouverte automatique des prefixes mais n'en disposent pas encore) * On ne sait pas faire autrement, mais on reference cela dans une dans une Base commune. (ex: /etc/resolv.conf vers un DNS en IPv6 ..) NB: les protocoles et les outils sont en gestation pour réduire au maximum l'ecriture statique des prefixes. #R2 On alloue sur des tranches minimales de 4 bits, c'est à dire 1 chiffre #R2 hexadecimal et 16 valeurs - Lisibilité par rapport à la notation standard IPv6 #R3 On n'utilise pas les chiffres hexadecimaux non decimaux (ABCDEF). - tranche minimale = 10 valeurs utilisables + 6 valeurs reservées - Interet : lisibilité , pb minuscule/majuscule, on garde de la marge.. - Exceptions : les standards , (les "funs" "H = ::BDE" pour le BDE ?) la coherence en cas de subnetting (?) 1) Numéro de subnet S : #R10 La construction respecte l'héritage des sous-réseaux IPv4 existants #R11 Chaque Subnet IPv4 a automatiquement un numero de Subnet IPv6 #R11 "naturel". Ce couple définit les 2 adressses IPv4 et IPv6 du reseau #R11 dans le cas ou celui-ci est en double pile IPv4/IPv6 natif. (La bijection doit etre evidente a l'oeil de l'utilisateur ) #R12 Pour un Subnet IPv4 traditionel (masque=255.255.255.0 ou /24), #R12 le Subnet IPv6 (/64) "naturel" est obtenu en multipliant la valeur par 10 #R12 (ou en rajoutant un 0). Les valeurs sont prises en chiffres decimaux. ex : 157.159.12. --> prefixe/48:0120: (ou prefixe/48:120:) 157.159.100. --> prefixe/48:1000: 157.159.101. --> prefixe/48:1010: #R13 Les subnets IPv4 avec masques differents de /24 ont un traitement #R13 particulier. Cf. Annexe III #R14 Les besoins ou contraintes sur des subnets IPV6-only totalement #R14 independant de IPv4 etant encore mal définis, les stratégies d'allocation #R14 de ces subnets seront précisées avec le temps. Cf complements Annexe II ## Cf Table Allocation Annexe I 2) Host-ID "Wellknown" TBD; Inventorier les usages, les standards, les anycasts ... - Tunnels, point-a-point entre routeurs :"H=::1" et "H=::2" 3) Autres ? Court terme : ------------ -recuperation des subnets :1: :2: :3: -mise en oeuvre des subnets :1000: :1010: :1020: pour les reseaux .100. .101. .102. -Choix de subnets pour tunnels, ou (pre)backbone INT -> :FFxx:, :000x: -autres subnets v4/v6 activés : .... Annexes: ------- --------------------------ANNEXE I---------------------- ######################################## #### Table Allocation des Subnets IP ### ######################################## ################################# # 1er niveau :0000:-:3FFF: [1] Mapping V4/V6 decimal :4000:-:7FFF: non alloué V6-only large :8000:-:9FFF: non alloué V6-only medium :A000:-:AFFF: non alloué V6-only small :B000:-:BFFF: non alloué V6-only small :C000:-:DFFF: Reservé medium :E000:-:EFFF: Experimentation :F000:-:FFFF: [2] Special use ################################# # 2eme niveau [1] # :0000:-:3FFF: Mapping V4/V6 decimal # Repartition par tranche (tranche de 10 subnet v4 et 100 v6) :000y: Zero [1.1] :00xy: (x>0) Tranche 0 (- Zero) [1.2] :01xy: Tranche 10 MCI [1.2] :02xy: Tranche 20 ? [1.2] :03xy: Tranche 30 ? [1.2] ... :09xy: Tranche 90 ? [1.2] :10xy: Tranche 100 LOR-RST [1.2] :11xy: Tranche 110 INF [1.2] ... :24xy: Tranche 240 ? [1.2] :25xy: (x<5) (demi)Tranche 250 ? [1.2] :255y: Tranche 255 Reservé :25xy: (x>5) (demi)Tranche 250+ Reservé :26xy: Tranche 260 non alloué :27xy: Tranche 270 non alloué :28xy: Tranche 280 non alloué :29xy: Tranche 290 non alloué :30xy:-:39xy: Tranche 300 non alloué # Non full-decimal :0Axy:-:0Fxy: Tranche 0A Reservé (subsubnetting algo2 ?) :1Axy:-:1Fxy: Tranche 1A Reservé (subsubnetting algo2 ?) :2Axy:-:2Fxy: Tranche 2A Reservé (subsubnetting algo2 ?) :3Axy:-:3Dxy: Tranche 3A Reservé :3Exy: Tranche 3E Reservé pour experimentation :3Fxy: Tranche 3F Reservé pour Usages spéciaux ################################# #3eme niveau [1.1] # Zero :0000: Reservé (pb lisibilité entre lien-local et site-local) :0001:-:0009: Réseaux "Inauguraux" :000A:-:000F: Reservé ################################# #3eme niveau [1.2] # Tranche 0 a Tranche 250 # xyz = octet decimal de subnet IPv4 0 :xyzn: = 9 (+ 6) subnets v6 par subnet v4 existant - subnet v6 associé en une entite v4 xy mais a aucun subnet v4 xyz (cousins) -> :xyZT: avec Z lettre = 60 (+36) subnets v6 pas entite - subnet v6 totalement independant des v4 mais vision decimale -> tranche 300 (1000 subnets) ; tranches 270,280,290 (3*100) ( + 3E experimentation, 3F special) - subnet v6 totalement independant des v4 mais vision binaire -> :4000: a :DFFF: (a preciser...) - subnet v6 totalement independant des v4 a usage special -> :E000: a :EFFF: experimentation (temporaire). -> :F000: a :FFFF: a definir a l'usage --------------------------ANNEXE III---------------------- ##################### ## Subnetting IPv4 non-standard (R13) ##################### #R Pour un (Sub)Subnet IPv4 avec un masque plus grand que /24, #R a) la lisibilité n'existe alors plus en IPv4, #R b) l'utilisation est tres marginale a l'INT, #R le traitement est donc alors fait sur mesure selon l'un #R des 2 Algorithmes qui suivent. #R Surnetting (masque IPv4 <24) : Inutile (!); principe similaire a algo2. Algo1 : 1) on prends le numero de subnet IPv4 traditionnel en /24 2) on multiplie par 10 et on reserve le subnet IPv6 "naturel" 3) on alloue dans l'ordre les numeros de subnet IPv6 suivants a chaque subsubnet v4 Algo2: 1) on utilise une plage IPv6 specifique avec un mapping respectant les masques binaires : 157.159.xxx.yyy/24+n -> prefixe/48:nnzz:/56+n avec xxx->nn allocation fixe yyy/n = zz/n (y decimal, z hexadecimal) ... Ex Algo1 quand cela marche: 157.159.102.xxx/26 donne 4 subsubnets IPv4/IPv6 157.159.102.0-63 --> prefixe/48:1021: 157.159.102.64-127 --> prefixe/48:1022: 157.159.102.128-191 --> prefixe/48:1023: 157.159.102.192-255 --> prefixe/48:1024: retour a /24 --> prefixe/48:1020: Ce qui ne marche pas avec Algo1: le sub-sub-sub-netting (ex : 157.159.102.64-127/28), modif frequente du masque, trouver le masque v4 a partir du numero v6, /28 sauf en prenant une lettre hexa, les masques /29, /30 et /31. Ex Algo2: allocation fixe .102. -> :1A..: (au cas par cas) Ipv4 /26 : .102.0-63/26 -> :1A00:/58 .102.64-128/26 -> :1A40:/58 .102.127-191/26 -> :1A80:/58 .102.192-255/26 -> :1AC0:/58 Ipv4 /25 : .102.0-128/25 -> :1A00:/57 .102.127-255/25 -> :1A80:/57 ----------------------------------------------------------------