3. ① Concepts fondamentaux de réseaux
Les modèles OSI et TCP/IP
Adressage IPv4, les sous-réseaux, VLSM, CIDR
Routage
② Expérience dans la configuration et le support d’un réseau
IPv4
Configuration d’hôte (Windows, Linux, Unix, etc)
L'utilisation d'applications TCP/IP: ping, traceroute, telnet
③ Expérience de l’usage des CLI (Cisco IOS, JUNOS, Linux/Unix)
Connaissances et compétences requis
ISET Nabeul | slide 3
4. Les objectifs de la
section
⫞ Décrire la situation mondiale des adresses IPv4
⫞ Décrire les implications de l’épuisement d’IPv4
les Implications de l’épuisement
d’IPv4
Comprendre
5. ISET Nabeul | slide 5
Adresses IPv4 disponibles au 16.06.2010
Utilisé
Inutilisable
Disponible
6. ISET Nabeul | slide 6
Adresses IPv4 disponibles au 31.01.2011
Utilisé
Inutilisable
Disponible
7. ISET Nabeul | slide 7
La distribution d'adresses globale IPv4 est déséquilibrée
Nombre d'adresses IPv4 par personne
9. ISET Nabeul | slide 9
La pénurie augmente les coûts des adresses & le NAT
$12
/adresse
NAT
Réseau complexe
Augmentation d’OPEX
Casse le end-to-end
Paralyse l'innovation
10. ISET Nabeul | slide 10
AFRINIC sera en pénurie, pourquoi attendre!
Pas de pannique,
AFRINIC a encore
IPv4 jusqu'en
2020
11. ISET Nabeul | slide 11
Implications pour l'Afrique: ‘Ruée vers l’Afrique’
Les réseaux Africains sont
privées d’IPv4 nécessaire
pour faciliter la transition
vers IPv6
Obligation de déployer des
réseaux entièrement IPv6
Augmentation de l’usage
du NAT
12. Qu’allez-vous faire face à l'épuisement IPv4?
Déployer IPv6 Déployer le NAT encore et encore
Rester à l'écart et d'attendre
ISET Nabeul | slide 12
13. Les objectifs de la
section
⫞ Travaillez confortablement avec la notation hexadécimale
IPv6
⫞ Identifier, écrire et raccourcir les adresses IPv6
Adresses IPv6
Notions de base des
14. ISET NABEUL | slide 15
Rappel: modèle TCP/IP (IPv4 - 32 bits)
APPLICATION
DNS HTTP IMAP SMTP POP NFS
TRANSPORT
TCP UDP
IPv4
RESEAUX
ICMP IGMP IPSec NAT OSPF IS-IS mob. IP
LIAISON DE DONNÉES
Ethernet & vars. PPP WiMAX 3GPP
15. ISET NABEUL | slide 16
Rappel: modèle TCP/IP (IPv6 – 128 bits)
APPLICATION
DNS HTTP IMAP SMTP POP NFS
TRANSPORT
TCP UDP
IPv6
RESEAUX
ICMPv6 MLD IPSec ND OSPFv3 IS-IS mob. IP
LIAISON DE DONNÉES
Ethernet & vars. NBMA ATM 3GPP
19. X:X:X:X:X:X:X:X/n
Le format générale d'une adresse IPv6
ISET NABEUL | slide 21
X = 4 positions hexadécimales: X = hhhh oú h = [0 – 9, a – f]
n = longueur de préfixe en décimale
hhhh:hhhh:hhhh:hhhh:hhhh:hhhh:hhhh:hhhh/n
20. 1
2 ISET NABEUL | slide 22
Les règles pour raccourcir les adresses IPv6
Omettre tous les zéros de POIDS FORTS
Substituer des groupes CONSÉCUTIFS de zéros par ‘::’
La Suppression de Zéros
La Compression de Zéros
21. ISET NABEUL | slide 23
Exemple: Raccourcir une adresse IPv6
2001:0000:0000:0249:0000:0000:0000:ecfe
2001::249:0:0:0:ecfe
Suppression de ZérosCompression de Zéros
Zéros de
poids forts
22. ISET NABEUL | slide 24
Exemple: Raccourcir une adresse IPv6
2001:0000:0000:0249:0000:0000:0000:ecfe
2001:0:0:249::ecfe
Suppression de Zéros Compression de Zéros
Zéros de
poids forts
23. ISET NABEUL | slide 25
Mauvais raccourcissement d’adresses IPv6
2001:0000:0000:0249:0000:0000:0000:ecfe
2001::0249::ecfe
Compression de ZérosCompression de Zéros
26. Les objectifs de la
section
⫞ Identifier les différents types d’adresses IPv6
⫞ Décrire la structure et les scopes de ces adresses
Types D’Adresses
IPv6
Les différents
27. ISET NABEUL | slide 29
Il existe trois types d'adresses IPv6
Tx
Rx
Tx
RxRxRx
1:1
Les adresses Unicast
1:n
Les adresses Multicast
Il n'y a pas d’adresses (ou communications) broadcast dans IPv6
1:plus proche
Les adresses Anycast
Tx
Rx
RxRx
28. ISET NABEUL | slide 30
le scope d’un adresse est son domaine d’unicité
Selon le scope, une adresse peut être utilisée comme un
identifiant unique d’une interface
Scope global Scope Lien-local
29. Le Préfixe de Routage Global est géré par IANA > RIRs > ISPs
L’ID Réseau est géré de manière hiérarchique par l’ingénieur réseau
L’ID de l’Interface identifie de façon unique les interfaces dans un sous-réseau
Les Adresses Unicast Globales (GUA)
ISET NABEUL | slide 31
ID RéseauPréfixe de Routage Global ID de l’Interface
n bits 64 bits64 - n bits
Partie ‘Réseau’ Partie ‘hôte’
Ex: 2001:4290:10:249:bae8:56ff:fe4a:ecfe
30. Toute interface fonctionnant sous IPv6 a au moins une LLA
Scope = lien-local, aucun routeurs ne route de paquets depuis/vers une LLA
Utilisé pour l’auto-configuration, le neighbour discovery, la mise a jour des
protocoles de routage
Les Adresses Lien-local (LLA)
ISET NABEUL | slide 32
01111111010 ID de l’Interface
10 bits 64 bits54 bits
Ex: fe80:0000:0000:0000:bae8:56ff:fe4a:ecfe
fe80
31. Par quelle interface le routeur enverra le paquet?
Vous devez explicitement spécifier l'interface de sortie
L’accessibilité des adresses Lien-local et le ZoneID
ISET NABEUL | slide 33
fe80::1a fe80::1b
fe80::1
fe80::2
fe80::3
fe80::4
Fe 0/0 Fe 0/1
ping fe80::1
32. fe80::hhhh:hhhh:hhhh:hhhh%zoneID
ZoneIDs (scopeIDs) – résout l’ambiguïté des LLA
ISET NABEUL | slide 34
Identifie le scope d’une adresse
Généré automatiquement par le SE
Typiquement, un entier ou nom de l'interface
Exemple sur Mac OS X: fe80::bae8:56ff:fe4a:ecfe%en0
Exemple sur Windows: fe80::bae8:56ff:fe4a:ecfe%10
33. Ecrire les commandes pour
Node A veut faire un telnet à Node B
Node A veut faire un ping à Node C
Quiz: Utilisation correcte des ScopeIDs
ISET NABEUL | slide 35
fe80::a1%10
fe80::a2%11
fe80::b%eth0
fe80::c%en1
Node A
Node C
Node B
34. ISET NABEUL | slide 36
Les Adresses Uniques Locales (ULA)
0
1111
110L
ID de l’Interface
8 bits 64 bits56 bits
L = 0
fc00::/7
fc00::/8 fd00::/8 L = 1
Assigné par un registre Usage libre pour tous
35. L'exemple le plus significatif est la formation des adresses 6RD.
Exemple le plus courant est celui des adresses 6to4: 2002:WWXX:YYZZ::/48
Les Adresses de transition IPv6 basées sur IPv4
ISET NABEUL | slide 37
ID RéseauPréfixe IPv6 ID de l’Interface
n bits 64 bits32 - n bits
WWXX:YYZZ
32 bits
Adresse IPv4:
w.x.y.z
Partie ‘Réseau’ Partie ‘hôte’
36. Etant donné le préfixe de base IPv6 et adresse IPv4
suivante, générer le préfixe IPv6 correspondant
① 2002 et 196.1.0.87
② 2001:4290 et 196.1.0.87
Quiz: générer un préfixe IPv6 à partir d'une adresse IPv4
ISET NABEUL | slide 38
37. ISET NABEUL | slide 39
Générer l’ID de l’Interface (IID)
Préfixe Réseaux ID de l’Interface
64 bits 64 bits
Interfaces des
Serveurs/Routeurs configurer automatiquement les Hôtes
Statique (manuel) EUI-64 Pseudo-aléatoirecryptographique
Partie ‘Réseau’ Partie ‘hôte’
38. ISET NABEUL | slide 40
Les Interface IDs Reservées (RFC 5433)
<préfixe>::0000:0000:0000:0000
<préfixe>::fdff:ffff:ffff:ff80 - fdff:ffff:ffff:ffff
Adresse anycast de Routeur de sous-réseau:
Adresses anycast de sous-réseau réservés:
39. Adresse IPv6 = Préfixe + IID
Comment les IDs d’Interfaces EUI-64 sont générés
ISET NABEUL | slide 41
00 90 27 17 FC 0F
00 90 27 17 FC 0FFF FE
0000 00X0
X = 0 MAC est unique
X = 1 Local admin.
02 90 27 17 FC 0FFF FE
[1] Prendre l’adresse MAC (48 bits)
[2] étendre à 64 bits
[3] L'unicité de l’adresse MAC le bit U/L
[4] Voilà! votre InterfaceID
40. Adresse non spécifiée: 0:0:0:0:0:0:0:0 ou ::
Indique l'absence d'une adresse IPv6
Utilisé comme src addr d’un paquets lorsque l'hôte ne connaît pas
ses adresses
Jamais utilisé comme adresse de destination
Ne doit jamais être routé par les routeurs
Route par défaut IPv6: 0:0:0:0:0:0:0:0/0 ou ::/0
Adresse de loopback: 0:0:0:0:0:0:0:1 ou ::1
Permet de s'envoyer des paquets IPv6
Ne doit jamais être routé hors du noeud
Des adresses connues importantes
ISET NABEUL | slide 43
41. Représenter une adresse IPv4 à un noeud/application exclusif IPv6
Ces adresses ne doivent pas être visibles sur l'Internet
Les adresses IPv6 mappé IPv4
ISET NABEUL | slide 44
0 Adresse IPv4
32 bits80 bits
Exemple: ::ff:196.1.0.87
ffff
16 bits
42. Même adresse affectée à plusieurs interfaces/hôtes
Paquets unicast sont livrés au topologiquement plus proche
Attribué à partir de l’espace des adresses unicast
Les adresses anycasts
ISET NABEUL | slide 45
43. 8 bits
4
bits
4
bits
ISET NABEUL | slide 46
Les adresses Multicast
11111111 groupID
8 bits
flags scope
ff
Toutes les adresses Multicast sont de la plage ff00::/8
network prefixreserved p-len
8 bits 32 bits
Nombre de bits dans le champ "préfixe réseau"
Préfixe unicast de sous-réseau qui possède cette adresse
64 bits
L’ID d’un groupe multicast pour un scope donné
44. ISET NABEUL | slide 47
Decoder les flags de l’adresse multicast
0RPT
0
1
Affectation permanente (IANA)
Affectation dynamique
0
1
Non basé sur un préfixe de réseau
Basé sur un préfixe de réseau
0
1
RP non activé
RP activé
45. ISET NABEUL | slide 48
Des scopes multicast bien-connus
Bits Hex Scope
0001 1 Interface-local
0010 2 Link-local
0100 4 Admin-local
0101 5 Site-local
1000 8 Organization-local
1110 e Global
b b b b
4
bits
46. ISET NABEUL | slide 49
Les scopes réservés
et non définis
0000 1 Reserved
0011 3 Reserved
1111 f Reserved
0110 6 Unassigned
0111 7 Unassigned
1001 9 Unassigned
1110 a Unassigned
1011 b Unassigned
1100 c Unassigned
1101 d Unassigned
b b b b
4
bits
47. ISET NABEUL | slide 50
Exemple: Un groupID avec differents scopes
FF01::101 Tout serveur NTP sur la même interface que l’émetteur
FF02::101 Tout serveur NTP sur le même lien que l’émetteur
FF05::101 Tout serveur NTP sur le même site que l’émetteur
FF08::101 Tout serveur NTP dans la même organisation que l’émetteur
FF0e:101 Tout serveur NTP sur Internet
Si l’on affecte de façon permanente aux ‘’serveurs NTP’’ le groupe
multicast avec l’ID = 101
49. ISET NABEUL | slide 52
Quelques adresses multicast bien-connues
FF01::1 Tout nœud IPv6 sur la même interface
FF02::1 Tout nœud IPv6 sur le même lien
FF01::2 Tout routeur IPv6 sur la même interface
FF02::2 Tout routeur IPv6 sur le même lien
FF05::2 Tout routeur IPv6 sur le même site
RFC 2375 pour la liste complete
50. Calculé pour chaque adresse unicast/anycast
Toutes les adresses avec les mêmes 24 derniers bits auront
la même SNMA
L’adresse multicast de sollicitation de nœud (SNMA)
ISET NABEUL | slide 53
ff02::1:ffhh:hhhh/104
hhhh:hhhh:hhhh:hhhh:hhhh:hhhh:hhhh:hhhh
24 bits
51. ISET NABEUL | slide 54
Exemple d’adresse multicast de sollicitation de nœud
FF02::1:FF0e:8F6C/104
4037::01:800:200E:8C6C
24 bits
52. ISET NABEUL | slide 55
Exemple d’adresse multicast de sollicitation de nœud
#show ipv6 interface g0/0
GigabitEthernet0/0 is up, line protocol is up
IPv6 is enabled, link-local address is FE80::CA9C:1DFF:FE6B:B6A0
No Virtual link-local address(es):
Description: [Link to R1]
Global unicast address(es):
2001:43F8:90:C0::2, subnet is 2001:43F8:90:C0::/64
Joined group address(es):
FF02::1
FF02::2
FF02::1:FF00:2
FF02::1:FF6B:B6A0
MTU is 1500 bytes
53. ① [Obligatoire] Adresse Lien-Locale sur chaque interface
② [Obligatoire] Adresse de loopback (::1)
③ [Obligatoire] Adresses multicast Tout-Nœud (ff0x::1)
④ Tout adresse unicast ou anycast sur chaque interface
⑤ Une adresse multicast de sollicitation de nœud pour chacun des (4)
⑥ Les adresses multicast de tous les groupes auxquels il appartient
Par quelles adresses un nœud s'identifie t-il?
ISET NABEUL | slide 56
54. ① Toutes les adresses par lesquelles les hôtes s'identifient
② Adresses multicast tous les routers (ff0x::2)
③ Adresse anycast de Routeur Sous-réseau pour toute interface routée
④ Tout adresse anycast configurés
Par quelles adresses un routeur s'identifie t-il?
ISET NABEUL | slide 57
56. 1. l'adresse Lien-local de votre voisin
2. Tous les hôtes IPv6 sur le sous-réseau
3. Tous les routeurs IPv6 sur le sous-réseau
Exercice: tester l'accessibilité de ce qui suit
ISET NABEUL | slide 61
58. Les objectifs de la
section
⫞ Découpage d’un préfixe IPv6
⫞ Décrire comment les adresses IPv6 sont gérées globalement
⫞ Estimer les besoins d'adressage IPv6 de votre réseau
⫞ Dimensionner et attribuer votre allocation d’adresses
Plan D’Adressage IPv6
Création d'un
59. ISET NABEUL | slide 64
Les faces d'un problème de subnetting
Découper 2001:db8:c001::/48,
en 150 bloques égaux
Découper 2001:db8::/32 en /40s
Vous avez 125 sites dont
chacun a besoin d'un /60,
quelle taille préfixe devriez-vous
réserver pour tous vos sites?
60. L’ > L en longueur (en quantité, plus court est plus grand)
L’ = L + s (s = nombre de bits de sous-réseau)
Le Subnetting c’est trouver ‘s’ et les valeurs s-prefix1 …n
Les problèmes génériques de subnetting IPv6
ISET NABEUL | slide 65
Préfixe/L
s-préfixe1/L’ s-préfixe2/L’ s-préfixen/L’…………………..……
61. Les raisons du subnetting
IPv4: économiser l'espace d'adressage
IPv6: Nécessaire pour le routage ou la sécurité
Pas de VLSM dans IPv6 – même longueur de préfixe sur
chaque LAN
Pensez sous-réseaux et non hôtes
Il sera rare d’avoir un sous-réseau plus grand qu’un /64!
Oublier les mauvaises habitudes de subnetting IPv4
ISET NABEUL | slide 66
62. ISET NABEUL | slide 67
Procédure de subnetting IPv6
Trouver le bits de sous-réseau (s)
Données Processus Formule
Trouver les hexits de sous-réseau
Trouver l’incrément (B) du subnetID
Enumérer les sous-réseaux
Préfixe & long. L , L’
OU no. sous-réseaux
Préfixe & long. L, le
bits s de sous-réseaux
Long. sous-préfixe L’
s = L’- L ou
s = log N/log 2
s / 4
B = 216 – (L’%16)
Utilisez sipcalc ou tout
autre outil en ligneLong. sous-préfixe L’
63. ISET NABEUL | slide 68
Etape #1: Comment trouver le bit (s) de sous-réseaux
s = L’– L
log N
log 2s =
Longueur des sous-préfixes
Longueur du préfixe
No. de sous-réseaux requis
64. L’on connaît le nombre de sous-réseaux N = 700
① s = log 700 ÷ log 2 = 9.81 ≈ 10 bits
Ex: Découper 2001:db8:c000::/36 en 700 sous-réseaux
ISET NABEUL | slide 69
65. Etape #2: Comment trouver l’hexits de sous-réseaux
ISET NABEUL | slide 70
Préfixe initial l’ID de l’Interface
L bits 64 bitss bits
Long. de sous-préfixe L’ = L + s Partie ‘Hôte’
ID réseau
Le nombre d’hexits = s ÷
4
66. L’on connaît le nombre de sous-réseaux N = 700
① s = log 700 ÷ log 2 = 9.81 ≈ 10 bits
② Nombre d’hexits = 10 ÷ 4 = 2.5 ≈ 3 hexits
Ainsi chaque sous-préfixes sera de la forme
Ex: Découper 2001:db8:c000::/36 en 700 sous-réseaux
ISET NABEUL | slide 71
2001:db8:cHHH::/46
67. Etape #3: Comment trouver l’increment (B)
ISET NABEUL | slide 72
B = 216 – (L’%16)
Longueur de sous-préfixe
68. L’on connaît le nombre de sous-réseaux N = 700
① s = log 700 ÷ log 2 = 9.81 ≈ 10 bits
② Nombre d’hexits = 10 ÷ 4 = 2.5 ≈ 3 hexits
③ Chaque sous-préfixes sera: 2001:db8:cHHH::/46
④ ‘HHH’ changera de B = 216 – (46%16) = 216-14 = 22 = 4
Ex: Découper 2001:db8:c000::/36 en 700 sous-réseaux
ISET NABEUL | slide 73
69. ISET NABEUL | slide 74
Etape #4: Comment énumérer les sous-réseaux
<préfixe>:<subnetID0>::/L’
<préfixe>:<subnetID1>::/L’
<préfixe>:<subnetID2>::/L’
<préfixe>:<subnetIDn>::/L’
subnetID0 + B
subnetID1 + B
subnetIDn-1 + B
70. Utile pour savoir "quel est le 79e sous-réseau" par exemple
Etape #4: Comment énumérer les sous-réseaux (casse-cou)
ISET NABEUL | slide 75
le neme subnetID L’incrément précédemment calculé
an = (n-1)B
71. sipcalc <préfixe::/L> --v6split=<L’>
Etape #4: comment énumérer les sous-réseaux avec sipcalc
ISET NABEUL | slide 76
Longueur de sous-préfixePréfixe initiale & longueur
Ex: sipcalc 2001:db8:c000::/36--v6split=46
72. sipcalc <prefix::/L> --v6split=<L’>
| grep Network | nl | sed
-n np
Etape #4: Trouver the ne sous-réseau avec sipcalc & shell
ISET NABEUL | slide 77
Longueur de sous-préfixePréfixe initiale & longueur
sipcalc 2001:db8:c000::/36--v6split=46 grep Network | nl |sed –n 975p
73. Ex: Découper 2001:db8:c000::/36 en 700 sous-
réseaux
Le ne sous-reseau est an = 4(n-1)
1er subnetID: a1= 4(0) = 0 (0x0)
1st sous-réseau: 2001:db8:c000::/46
Dernier subnetID: a1024 = 4(1023) = 4092 (0xFFC)
Dernier sous-reseau: 2001:db8:cffc::/46
264e subnetID: a264 = 4(263) = 1052 (0x41C)
26e sous-reseau: 2001:db8:c41c::/46
Etape #4: Exemple d’énumération de sous-réseaux
ISET NABEUL | slide 78
74. ISET NABEUL | slide 79
Exercice de subnetting
Un FAI qui opère dans 10 villes vient de
recevoir une allocation 2001:db8::/32 d’ATI,
subdiviser le comme il se doit
76. Nombre de sous-réseaux: N = 10
Bits de sous-réseaux requis: s = log 10 ÷ log 2 = 3.322 ≈ 4
4 bits donnent 16 (c-a-d 24) sous-préfixes dont 6 spares
Longueur de chaque sous-préfixe L’= 36 (c-a-d 32 + 4)
L’hexit de sous-réseaux = s/4 = 1
L’incrément de sous-réseaux B = 216-(36%16) = 4096 (0x1000)
Solution á l’exercice de subnetting
ISET NABEUL | slide 81
77. Premier subnetID
a1= 4096(1-1) = 0 (0x0) [avec an=(n-1)B]
Premier sous-réseau: 2001:db8:000::/36
Dernier subnetID
a16 = 4096(16-1) = 61440 (0xf000)
Dernier sous-réseau: 2001:db8:f000::/36
Vérifiez votre réponse à l'aide de sipcalc
sipcalc 2001:db8::/32 –v6split=36
Exemple de subnetting : les analyses
ISET NABEUL | slide 82
78. ① Ne pas se limiter aux préfixes de bases des RIRs: /32, /48
② Longueurs de préfixe typiques
Les hôtes sur un LAN: /64
Lien inter-router: /127
Adresses de loopback : /128
③ Planifier un schéma hiérarchique pour optimiser l'agrégation
④ S'assurer que tous les préfixes tombent sur des arrondis(4 bits)
Quelques précisions sur le plan d'adressages
ISET NABEUL | slide 83
79. Améliore la sécurité en éliminant
Problème de (ping pong) sur certains liens p2p
Problème du cache des voisins IPv6
Les adresses avec les 64 bits suivants ne doivent pas être utilisés
0000:0000:0000:0000
ffff:ffff:ffff:ff7f ➠ :ffff
Bonne pratique: Usage /127 pour les liens inter-routeur
ISET NABEUL | slide 84
<préfixe>:<subnetID>::/127
80. ISET NABEUL | slide 86
Exemple d’hiérarchie pour le réseau d’un ISP d’un pays
ASN
Ville #1 Ville #2 Ville #n
Site #1 Site #2 Site #n
Client #1 Client #2 Client #n
Niveau 1
Niveau 2
Niveau 3 (fin du
reseaux)
81. ISET NABEUL | slide 87
Exemple d’hiérarchie pour une université
ASN
Campus #1 Campus #2 Campus #n
Bâtiment #1 Bâtiment #2 Bâtiment #n
Département
#1
Département
#2
Département #n
Niveau 1
Niveau 2
Niveau 3 (fin du reseaux)
82. ISET NABEUL | slide 88
Exemple d’hiérarchie d’un réseau d’entreprise
ASN
HQ Branche #1 Branche #n
Dannées Voix Vidéo
Vente Marketing Opérations
Niveau 1
Niveau 2
Niveau 3 (fin du reseaux)
83. ISET NABEUL | slide 89
Estimer le nombre total des préfixes nécessaires | FAI
ASN
Ville #1 Ville #2 Ville #n
Site #1 Site #2 Site #n
Client #1 Client #2 Client #n
N = #Villesx #Sites x Clientsmax
84. ISET NABEUL | slide 90
Estimer le nombre total des préfixes nécessaires | Université
N = #Campus x #Bâtiments x Départementsmax
ASN
Campus #1 Campus #2 Campus #n
Bâtiment #1 Bâtiment #2 Bâtiment #n
Département #1 Département #2 Département #n
85. Arrondissez vos estimations à la plus proche puissance de quatre
Visez les arrondis
/20, /24, /28, /32, /36, /40, /44, /48, /52, /56, /60, /64
ISET NABEUL | slide 91
Villes
Sites
Campus
Batiments
etc
24n
16
256
4096
65536
1048576
16777216
268435456
4294967296
68719476736
86. ISET NABEUL | slide 92
Exemple de prefixes alignés sur les arrondis
2001:db8:3c00::/40 2001:db8:3c00::/42
1ere
adresse
2001:db8:3c00:: 2001:db8:3c00::
Dernière
adresse
2001:db8:3cff:ffff:ffff:ffff:ffff:ffff 2001:db8:3c3f:ffff:ffff:ffff:ffff:ffff
87. ① Trouvez le nombre de bits pour N préfixes: s = log 10 ÷ log
2
② Décidez de la plage d’@ à donner aux réseaux finaux (Sn)
/64 pour un LAN
/60 au moins pour un usage domestique
③ Plage d’@ à demander à votre RIR = Sn – s, Ex:
48 – s [si vous assignez /48s par réseaux finaux ]
52 – s [si vous assignez /52s par réseaux finaux ]
Calcul de la plage d’adresses à demander
ISET NABEUL | slide 93
88. ISET NABEUL | slide 94
Pas d’inquiétude, il ya suffisamment d'adresses!
2000::/3
35 trillion
/48s
La population mondiale
Projections de 2050
9.3 milliard
89. ISET NABEUL | slide 95
Planification d'adresses IPv6 | exemple
Un FAI a des activités dans 10 villes. La plus grande ville
dispose de 50 POPs, dont le plus important a environ 2700
clients. Estimer les besoins d'adressage IPv6 de cet FAI
90. On sait
#Villes = 10 [arrondi à 16]
#SITEs = 50 [arrondi à 256]
#Clientsmax = 2700 [arrondi à 4096]
On calcule
Nombre total de préfixes de réseau finaux requis est N
N=16 x 256 x 4096 = 16,777,216
Nombre de bits de sous-réseau requis: s=log16,777,216/log2 = 24.
Taille d’allocation:
48 – 24 = 24 [Soit /48s par site finaux]
52 – 24 = 28 [Soit /52s par site finaux]
Ainsi, le FAI doit demander un /24 ou /28 à ATI.
Exemple d'adressage IPv6 – analyse & solution
ISET NABEUL | slide 96
91. Environnements de serveurs non virtualisés
Un serveur physique a besoin d'au moins une @ IPs
Environnements virtualisés
L'hyperviseur doit avoir une ou plusieurs @ IPs
Chaque VM a besoin d'au moins une adresse IP
Chaque hyperviseur peut contenir plusieurs clients VMs
Considérations pour les serveurs virtuels
ISET NABEUL | slide 97
92. Les trois phases de la planification d’adresse IPs
ISET NABEUL | slide 99
Estimer vos
besoins
d'adressage
Demander
votre bloc à
ATI
Attribuez les
sous-préfixes aux
différentes
parties du réseau
94. ISET NABEUL | slide 101
Exercice
Basé sur le dernier exercice, ATI vous alloue 2001:db::/24.
Découvrez á quoi un plan d'adressage peut-il ressembler à
l'aide de cet outil:
http://j.mp/v6Planner
96. Les objectifs de la
section
⫞ Décrire l'en-tête IPv6, en ressortant les différences avec l'en-tête IPv4
⫞ Identifier les équivalents IPv6 des protocoles clés IPv4 et leur
fonctionnement
IPv6 Á Partir D’IPv4
Comprendre
97. ISET NABEUL | slide 104
La structure d’un paquet IPv6
Extension Header Information
Source Address
Version Flow LabelTraffic Class
Payload Length Next Header Hop Limit
Destination Address
Next Header
Data
40
octets
Taille
variable
4 bits 8 bits 20 bits
98. Utilisées pour encoder des informations complémentaires à la
couche Internet
Placées entre l’en-tête de base et celle de la couche
supérieure
Un paquet peut transporter 0, 1 ou plusieurs en-têtes
Il ya une valeur unique "Next Header" pour chaque en-tête
Servent les mêmes fonctions que le champ "protocole" de l’en-
tête IPv4
À propos des en-têtes d'extension IPv6
ISET NABEUL | slide 105
99. ISET NABEUL | slide 106
Paquet IPv6 sans entête d'extension
Entête de la couche supérieure (Ex: TCP ou UDP)
Source Address
Version Flow LabelTraffic Class
Payload Length Next Header = UL Hop Limit
Data
40
octets
Taille
variable
Destination Address
100. ISET NABEUL | slide 107
Paquet IPv6 avec entête d'extensions
EH1 Header
Source Address
Version Flow LabelTraffic Class
Payload Length Hop Limit
Next Header = EH2
40
octets
Destination Address
Entête de la couche supérieure (Ex: TCP or UDP)
Data
EH2 Header
Next Header = UL
Next Header = EH1
101. ISET NABEUL | slide 108
Liste et ordre des entêtes d'extension IPv6
Ordre Entête Code Description
1 Entête de base IPv6
2 Hop-by-hop options 0 Examiné par tous les noeuds sur le chemin
3 Routing 43
Spécifie la route pour un datagramme
(mobile v6)
4 Fragment 44 Les paramètres de fragmentation
5 Authentication (AH) 51 Vérifie l’authenticité du paquet
6 ESP 50 Cryptage des données
7 Destination options 60
Examiné seulement par le noeud de
destination
8 Mobility 135 Paramètres à utiliser pour mobile IPv6
102. ① Ouvrir http://j.mp/v6cap et sélectionnez paquet #67
Quel est le Flow label?
Quelles informations ce paquet comporte t-il?
Quelle est la taille de la donnée de ce paquet?
Combien de routeurs enverront ce paquet?
② Ouvrir http://j.mp/v6rh
Énumérer les deux entêtes d'extension de ce paquet
Quelles informations ce paquet transporte t-il?
Exercice: Analyse de paquets réel IPv6
ISET NABEUL | slide 109
103. ISET NABEUL | slide 110
Les changements structurels dans l’entête IPv4
Version IHL Type of Service Total length
Identification Flags Fragment Offset
Time to Live Protocol Header Checksum
Source Address
Destination Address
Options Padding
Champ éliminé de IPv6 Champ ôté de l’en-tête de base IPv6
Champ rebaptisé dans IPv6 champ maintenu
104. ISET NABEUL | slide 111
IPv4 vs IPv6, comparaison des fonctionnalités clés
IPv4 IPv6
Méthodes de configuration automatique des hôtes et des CPEs
DHCP
PPPoE
DHCPv6
Stateless Address configuration
PPPoE
Résolution d’adresse de la couche Réseau vers Liaison-de-données
ARP
Broadcast
ICMPv6 (NS, NA)
Multicasts
105. ISET NABEUL | slide 112
IPv4 vs IPv6, comparaison des fonctionnalités clés
IPv4 IPv6
Des noms de domaines aux méthodes de résolution d’adresses
DNS
A Enregist. de ressource
in-addr-arpa Zone inverse
DNS
AAAA Enregist. de ressource
ip6.arpa Zone inverse
Comment rejoindre un groupes multicasts
IGMPv1 and IGMPv2 MLD
Attribution automatique de passerelle par défaut aux hôtes
DHCP , IRD ou Passive RIP RA (ICMPv6)
106. ISET NABEUL | slide 113
IPv4 vs IPv6, comparaison des fonctionnalités clés
IPv4 IPv6
Protocoles de routages dynamiques standards supportés
RIPv1 , RIPv2
OSPFv2, IS-IS
BGPv4 (IPv4 Address Family)
RIPng
OSPFv3 , IS-IS
BGPv4 (IPv6 Address Family)
Taille minimale du MTU
576 octets 1280 octets
Modes de communication supportés
Unicast, multicast, broadcast Unicast, multicast
108. Les objectifs de la
section
⫞ Décrire l'importance et le fonctionnement du ND d'IPv6
⫞ Décrire comment ND est utilisé dans les autres fonctions clés
d’IPv6
Le Neighbor Discovery
d’IPv6
Comprendre
109. ① Router discovery
② Prefix discovery
③ Parameter (Ex: MTU, hop limit etc) discovery
④ Address auto-configuration (SLAAC)
⑤ Address resolution
⑥ Next-hop determination
⑦ Neighbour unreachability detection
⑧ Duplicate address detection
⑨ Redirect
⑩ Link-layer address change notification
Les Fonctions du Neighbor Discovery (ND) d’IPv6
ISET NABEUL | slide 116
110. ND ≈ ARP + IRDP + Redirect + NUD
IPv4
Nouveau dans IPv6
112. ISET NABEUL | slide 119
Le Router Solicitation (RS)
Envoyé par Un hôte IPv6
But
Trouver les routeurs présents sur le lien en vue d’obtenir
les paramètres du réseau
Adresse
Source
IP de l’interface qui fait la requête si il en existe
Adresse indéterminé (::) s’il n'y a pas encore d’adresse
Adresse de
Destination
FF02::2 (all-routers)
Remarques ICMP type 133, ICMP code 0
113. ISET NABEUL | slide 120
Exemple de capture d’un paquet RS
114. ISET NABEUL | slide 121
Le Router Advertisement (RA)
Envoyé par Un router IPv6
But
Annoncer sa présence, les préfixes, MTU, hop limits
Envoyer périodiquement ou en réponse à un RS
Adresse
Source
L’adresse lien-local de l’interface qui l’envoie
Adresse de
Destination
[Diffusion périodique] FF02::1
[Sollicité] L’adresse source du noeud qui envoie le RS
Remarques ICMP type 134, ICMP code 0
115. ISET NABEUL | slide 122
Exemple de capture d’un RA (1/2)
117. Configurer un RA sur IOS de Cisco
ISET NABEUL | slide 124
Définir l'intervalle des retransmission du RA
(config-if)#ipv6 nd ra interval { max [min]}
(config-if)#ipv6 nd ra interval {msec max [min]}
Définir la durée de vie du messages RA
(config-if)#ipv6 nd ra lifetime <secs>
Supprimer les messages RA de l’interface connectée
(config-if)#[no] ipv6 nd ra suppress [all]
118. ISET NABEUL | slide 125
Le Neighbour Solicitation (NS)
Envoyé par Un hôte IPv6
But
Déterminer l’adresse L2 des voisins
Duplicate address detection (DAD)
Vérifier qu’un voisin est accessible
Adresse
Source
IP de l’interface qui fait la requête si il en existe
Adresse indéterminé (::) s’il n'y a pas encore d’adresse
Adresse de
Destination
L’adresse du voisin si elle est connue
L’adresse multicast de sollicitation de noeud de la cible
sinon
Remarques ICMP type 135, ICMP code 0
119. ISET NABEUL | slide 126
Le Neighbour Advertisement (NA)
Envoyé par Un hôte IPv6
But
Répondre à un neighbour solicitation (NS)
Sinon, annoncer des mises à jour a ses voisins
Adresse
Source
Toute adresse sur l'interface d'origine.
Adresse de
Destination
L’adresse IP du noeud qui émet le NA.
FF02::1 pour des diffusions périodiques
Remarques ICMP type 136, ICMP code 0
120. ISET NABEUL | slide 127
Exemple d’un NA sollicité par un router
121. ISET NABEUL | slide 128
Exemple d’un NA sollicité par un hôte
122. ISET NABEUL | slide 129
Le message redirect
Envoyé par Router IPv6
But
Informer un noeud du meilleur next-hop.pour une
destination
Adresse
Source
Adresse Lien-local du routeur
Adresse de
Destination
Adresse IP du nœud qui fait la requête
Remarques ICMP type 137, ICMP code 0
Sample packet at http://j.mp/v6redirect
124. Le DAD est effectué pour TOUT adresse unicast
Le DAD n’est JAMAIS effectué pour:
Les adresses anycast
Des adresses spécifiques
En cas d’échec du DAD
Cette adresse ne peut être assignée à une interface.
Tout adresse utilisant cet IID n’est donc pas unique
Une erreur system doit être enregistrée
Plus de détails sur le DAD
ISET NABEUL | slide 132
125. ISET NABEUL | slide 133
Exemple de paquet NS pour un DAD
126. Configurer DAD sur IOS de Cisco
ISET NABEUL | slide 134
Définir le nombre de NS envoyé pendant DAD
(config-if)#[no]ipv6 nd dad attempts <value>
Définir l’intervalle de retransmission du NS pour le DAD
(config-if)#[no] ipv6 nd dad time [millisecs]
127. Tentative
Duplicate
DAD
Valid
Les états de toute adresse IPv6
pltime
> 0
vltime
> 0
Invalid
Preferred
Deprecated
ok
oui
non
non
oui
nok
RXTXRXTX
RXTX
TX RX
NEW
TX RX
EXISTING
128. ① Pour quelle adresse ce DAD est-il fait?
② Quel est le SNMA de l'adresse en question?
③ Notez les adresses MAC suivants
L’hote qui fait le DAD
L’hote qui possède déjà cette adresse IP
Exercice: Analyser http://j.mp/v6dad
ISET NABEUL | slide 136
130. ① Quelle est l'adresse IP de l'hôte avec la adresse MAC
inconnue?
② Quel nœud (adresse IP) est à la recherche de l'adresse
MAC?
③ Quelle est l'adresse de destination du paquet #1
④ Quelle est l'adresse MAC du nœud (2)?
⑤ Quelle est l'adresse MAC du noeud (1)?
Quiz: regardons j.mp/v6-MAC-addr-resolv
ISET NABEUL | slide 138
131. Les Nœuds vérifient activement l'état des voisins avec qui ils
communiquent:
Déterminer si le voisin est inaccessible
Déterminer si la route vers le voisin est toujours valide
Le Voisin doit confirmer qu'il reçoit et traite les paquets IP en:
① Envoyant un indice de protocole de couche supérieure ex: TCP
ACK
② Sollicitant un NA du voisin en utilisant une sonde unicast (NS)
Le Neighbour Unreachability Detection (NUD)
ISET NABEUL | slide 139
132. Configurer le NUD sur IOS de Cisco
ISET NABEUL | slide 140
Définir le no. de fois que le NUD renvoie des messages NS
(config-if)#ipv6 nd nud retry <base> <interval> <max-attempts>
Définir la durée de vie (expiration) du cache ND
(config-if)#ipv6 nd cache expire <time> [refresh]
Configurer le ND pour créer une entrée d'un NA non sollicités
(config-if)#ipv6 nd na glean
133. ISET NABEUL | slide 141
Capture d’un paquet NS pour un NUD
135. Les objectifs de la
section
⫞ Configurer et vérifier IPv6 sur les systèmes d’exploitation Windows
⫞ Configurer et vérifier IPv6 sur les systèmes d’exploitation Linux
⫞ Configurer et vérifier IPv6 sur les systèmes d’exploitation MAC OS
⫞ Configurer et vérifier IPv6 sur Cisco IOS
⫞ Configurer et vérifier IPv6 sur Junos
De Base IPv6 Sur Des
Hôtes
Configuration
136. La plupart des SEs ont IPv6 activé par défaut
ISET NABEUL | slide 144
http://j.mp/OSv6-support
137. ISET NABEUL | slide 145
Configuration d’hôte: Windows Vista/7
138. ISET NABEUL | slide 146
Configuration d’hôte: Mac OS X
139. ISET NABEUL | slide 147
Configuration d’hôte: Linux
(/etc/network/interfaces)
Adressage statique
auto eth0
iface eth0 inet6 static
address 2001:db8:fedc:abcd::1/64
Client DHCPv6
auto eth0
iface eth0 inet6 dhcp
Adressage automatique sans état
auto eth0
iface eth0 inet6 auto
Serveur DNS (/etc/resolv.conf)
nameserver 2001:db8:c001::53a
nameserver 2001:db8:c001::53b
140. Rappel: les adresses EUI-64 rendent facilite le tracking
Pour des raisons de confidentialité, les hôtes peuvent utiliser un
IID généré aléatoirement
Le status des adresses confidentielles sur quelques SEs
Windows Vista/7/8: Activé par défaut
OS X 10.8+ : Activé par défaut
Linux - Non activé par défaut
L’usage des adresses confidentielles
ISET NABEUL | slide 148
141. ISET NABEUL | slide 149
Désactiver l’adressage confidentiel
Windows
c:netsh interface ipv6 set privacy state=enabled
c:netsh interface ipv6 set global randomizeidentifiers=enabled
Mac OS X (/etc/sysctl.conf)
net.inet6.ip6.use_tempaddr=1
net.inet6.ip6.temppltime=XX
Linux (/etc/sysctl.conf)
$echo "1" > /proc/sys/net/ipv6/conf/default/use_tempaddr
142. ISET NABEUL | slide 150
Configuration IPv6 de base sur IOS de Cisco
Activer IPv6 sur une Interface
(config-if)#ipv6 enable
Assigner une adresse IPv6 avec un interfaceID automatique
#ipv6 address <prefix/length> eui-64
Assigner une adresse IPv6 statique
#ipv6 address <address/length> [link-local | anycast]
Activer le routage IPv6 et CEF
(config)#ipv6 unicast-routing
(config)#ipv6 cef
143. ISET NABEUL | slide 151
Configuration IPv6 de base sur Junos
Activer IPv6 sur une Interface
#edit interfaces <interfacename> unit <unit_no>
Assigner une adresse IPv6 avec un interfaceID automatique
#set family inet6 address <prefix/prefix-length> eui-64
Assigner une adresse IPv6 statique
#set family inet6 address <ipv6address/prefix-length>
145. Les objectifs de la
section
⫞ Décrire les options d’attribution d’adresses en IPv6
⫞ Décrire, et vérifier comment fonctionne SLAAC
⫞ Décrire, et vérifier comment fonctionne DHCPv6
⫞ Décrire, et vérifier comment fonctionne DHCPv6-PD
Attribution D’adresse Dans IPv6
146. ISET NABEUL | slide 154
Exigences de base pour l’attribution d'adresse
① Adresse(s) IPv6
② Passerelles par défaut IPv6
③ Serveur(s) DNS
① Adresse(s) IPv6
② Passerelles par défaut IPv6
③ Serveur(s) DNS
④ Délégations de préfixe(s)
147. ISET NABEUL | slide 155
Il y’a 2 mécanismes d'approvisionnement clés
Basé sur RA (SLAAC) DHCPv6
Adresse Passerelle par défaut
DNS config. DNS config.Adresse
Délégation de préfixe Autres
Le DNS via RA est récent, il n ya donc pas encore de support global
148. ISET NABEUL | slide 156
Comparaison les options offertes par méthodes
Adresses
Pass. Par
defaut
DNS info.
Delegat.
de Préfixes
SLAAC Oui Oui Non Non
Stateful DHCPv6 Oui Non Oui Oui
Stateless DHCPv6 Non Non Oui Non
RDNSS Non Non Oui Non
149. ISET NABEUL | slide 157
Les options dans les RAs
M O L A
Dans les messages RA
Dans les Informations de Préfixes
en option dans le RA
Managed
configuration
Other
configuration
On-Link
Address
configuration
150. Les hôtes doivent être configurés pour obtenir une adresse IP
automatiquement
Tous les hôtes génèrent toujours et utilisent une adresse Lien-locale
L’usage des options ‘M’ & ‘A’ détermine comment les hôtes
reçoivent leur adresses
ISET NABEUL | slide 158
M A Adresses résultant sur l’interface de l’hôte (on-link)
0 0 Aucune adresse sera configuré automatiquement
0 1 Adresse généré à partir de préfixe(s) dans un RA
1 1
Adresse généré à partir de préfixe(s) dans un RA
Adresse complète à partir du serveur DHCP
1 0 Adresse complète à partir du serveur DHCP
151. Mettre L = 0 force un comportement de PVLAN sur le sous-réseau
Il n'ya pas de moyen d’indiquer le statut on-link avec DHCP
Hôtes n'effectuent pas de résolution d'adresse L2 pour des adresses
off-link
L’usage de l’option ‘L’ pour indiquer des voisins sur le lien
ISET NABEUL | slide 159
L Comment traiter d'autres adresses dans le préfixe
1 On-link: transmet directement, pas besoin de routeur
0 Off-link: utiliser la passerelle par défaut pour les obtenir
152. Les Informations DNS nécessaires
1) Un ou plusieurs Serveurs DNS Récursifs (RDNSS)
2) List de nom de domaines
Si DHCPv6 est utilisé
Configurez les options de serveur DHCP
Mettre l’option ‘M’ à 1
Si SLAAC est utilisé
Configurez les options sur le routeur
Si le client supporte la RFC6106, il obtiendra les informations DNS
Si le client ne supporte pas la RFC 6106, mettre l’option 'O' à 1
Donner les informations du DNS
ISET NABEUL | slide 160
153. ISET NABEUL | slide 161
Donner les informations du DNS
Serveur DNS recursif
Liste des noms de domaines
Pas
RFC 6106
Serveur DHCPv6 Passerelle
RFC 6106
Pas
RFC 6106
[RA] M = 1 [RA] O = 1
155. ① Mettre O =1 lorsque M =1 est redondant
② En pratique, certains DNS peuvent nécessiter que vous utilisez
les deux à la fois
③ Un préfixe avec les options A & L = 0, est inutiles
④ DHCPv6 ne précise pas la longueur de préfixe, donc vous
aurez besoin de L = 1 pour éviter les comportements PVLAN
⑤ SLAAC ne fonctionne qu'avec /64, il n’est donc pas possible
d’utiliser un préfixe plus long
A savoir sur l’usage des options
ISET NABEUL | slide 164
157. ISET NABEUL | slide 166
Exercice: Analyser j.mp/SLAAC-1
① Quelle est l’adresse MAC de l'hôte qui veut une
adresse?
② Quelle est l’adresse MAC du routeur qui répond?
③ Quel est le préfixe IPv6 que le routeur envoie à l'hôte?
④ Les adresses obtenues à partir de ce préfixe sont
valident pendant combien de temps?
⑤ Écrivez une adresse IPv6 que l'hôte peut avoir
160. DHCP est un protocole mature et donc familier
Plus d'options pour contrôler la façon dont les adresses sont
attribuées par exemple:
Limiter l’attribution à une petite plage d'adresses
Affecter une adresses IP à des clients particuliers
Support pour les mises à jour dynamique de DNS
D'autres paramètres peuvent être passés en utilisant les options
Logs centralisés (dépannage et investigations)
Certains SEs ne sont pas équipés de clients DHCPv6 (EX: Android)
L’on ne peut donner de passerelle par défaut aux clients
Avantages et inconvénients du stateful DHCPv6
ISET NABEUL | slide 169
161. ISET NABEUL | slide 170
Exercice: Analyser j.mp/DHCPv6-1
① Quelle est l'adresse IPv6 du serveur DHCPv6?
② De quel protocole et de quel port a été initié la requête?
③ Vers quel protocole et quel port a été envoyé la requête?
④ Quel est l'identificateur unique du client pour cette session?
⑤ Quels sont les paramètres demandés par le client?
⑥ Quelle est l’adresse IPv6 que le routeur donne à l'hôte?
⑦ Pendant combien de temps les adresses obtenues à partir de ce
préfixe sont-elles valident?
⑧ Notez tous les paramètres DNS reçus par le client
164. Avantages:
Le Support pour le SLAAC est omniprésent.
Les hôtes Non-DHCPv6 pourront toujours d'obtenir une
connectivité de base. (les résolveurs DNS peuvent être
configurés manuellement)
Autre options possible (EX: NTP, NIS, SIP etc)
Inconvénients:
Zéro contrôle sur la façon dont les adresses sont attribuées.
L’utilisation de DDNS est précaire.
Problèmes de confidentialité si EUI-64 est utilisé pour les IID
Aucun journal centralisé pour investigation
Avantages et inconvénients du stateless DHCPv6
ISET NABEUL | slide 173
165. ISET NABEUL | slide 174
Exemple d’usage des options ‘M’ et ‘O’ sur IOS
(config)# interface FastEthernet0/0
(config-if)#ipv6 address 2001:db8:c001::a/64
(config-if)#ipv6 nd managed-config-flag
(config-if)#ipv6 nd other-config-flag
(config-if)#ipv6 nd prefix default no-advertise
166. ISET NABEUL | slide 175
Configuration de stateless DHCPv6 sur IOS
(config)# ipv6 dhcp pool dhcp-pool
(config-dhcp)#dns server 2001:db8:face::53
(config-dhcp)#domain-name 6lab.ATI.net
(config-dhcp)#exit
(config-dhcp)#interface fastethernet 0/1
(config-if)#ipv6 nd other-config-flag
167. ISET NABEUL | slide 176
Exemple d’usage des options ‘M’ and ‘O’ sur JUNOS
protocols {
router-advertisement {
interface ge-0/1/0.0 {
managed-configuration;
other-stateful-configuration;
prefix 2001:db8:c00l::/64 {
no-autonomous;
}
}
}
}
168. ISET NABEUL | slide 177
Exercice: Analyser j.mp/SL-DHCPv6
① Quelle est l'adresse IPv6 du serveur DHCPv6?
② Vers quel protocole de niveau 4 et quel port la requête est-elle
envoyée?
③ Quel est l'identificateur unique du client pour cette session?
④ Quels sont les paramètres demandés par le client?
⑤ Quelle est l’adresse IPv6 que le routeur donne à l'hôte?
⑥ Pendant combien de temps les adresses obtenues à partir de ce
préfixe sont-elles valident?
⑦ Notez tous les paramètres DNS reçus par le client
169. ISET NABEUL | slide 178
Comment le DHCPv6-PD fonctionne t-il (1/2)
Provision WAN addr & DNS
Advertise[DHCP6] 4
[DHCP6] Solicit
Option IA_PD
1
Address: 2001:db8:face:<EUI-64>/64
DNS: 2001:db8:c001::53
2
3
171. ISET NABEUL | slide 180
Exemple de configuration de DHCPv6-PD
(config)#ipv6 dhcp pool dhcpv6
(config-dhcp)#prefix-delegation pool v6pool lifetime 1800 600
(config-dhcp)#dns-server 2001:db8:face::53
(config-dhcp)#domain-name 6lab.ATI.net
172. ISET NABEUL | slide 181
Comparaison DHCPv4 vs DHCPv6
DHCPv4 DHCPv6
Usage de l’option ‘Managed Configuration’
Pas disponible Utilisée par les routeurs pour contrôler la configuration des hôtes
Adresses source et de destination du message initiale DHCP
src: 0.0.0.0
dst: broadcast
src: Adresse Lien-Local
dst: ff02::1:2 (Usage plus efficace du lien)
Comment le serveur identifie les clients
Adresses MAC DHCP Unique Id (DUID)
Message de reconfiguration
Pas disponible Les serveurs peuvent demander aux clients de mettre à jour leur
configuration
Association d’identité
Pas disponible Les clients peuvent gérer plusieurs serveurs (redondance)
173. ISET NABEUL | slide 182
Certains serveurs DHCPv6 et leurs fonctions
logiciel Certaines options clés supportées
ISC DNS, NTP, NIS, SIP, Lifetime, Prefix Delegation, Relay IDs, FQDN
WIDE DNS, NTP, NIS, SIP, Lifetime, Prefix delegation
Dibbler DNS, NTP, NIS, SIP, Lifetime, Timezone, Prefix delegation, FQDN,
Windows DNS, NIS, SIP, NTP, Lifetime, User class
Cisco IOS DNS, NTP, NIS, SIP, Lifetime, Relay IDs, Prefix Delegation
Source: http://ipv6int.net/software/index.html
This occurrence effectively set the price of one IPv4 address at $11.25, NORTEL
$11.25/ip
$11.25/ip
Ask students to do this exercise and write down the strange IPv6 addresses they see. Ask them what they find strange about the addresses
Network-layer successor to IPv4
128 bits long (296 times the total IPv4 address space)
Runs on the same physical infrastructure
The same applications can also run on IPv6
Incompatible with IPv4!
The only sustainable answer to IPv4 exhaustion
Enables continued growth of the Internet
Restores end-to-end model & related applications
Network-layer successor to IPv4
128 bits long (296 times the total IPv4 address space)
Runs on the same physical infrastructure
The same applications can also run on IPv6
Incompatible with IPv4!
The only sustainable answer to IPv4 exhaustion
Enables continued growth of the Internet
Restores end-to-end model & related applications
RFCs that indicate various link-layer technology support
Ethernet: RFC 2464 & RFC 6085
ATM: RFC 2492
NBMA: RFC 2491
IEEE 1394: RFC 3146
IEEE 802.15.4: RFC 4944
Network-layer successor to IPv4
128 bits long (296 times the total IPv4 address space)
Runs on the same physical infrastructure
The same applications can also run on IPv6
Incompatible with IPv4!
The only sustainable answer to IPv4 exhaustion
Enables continued growth of the Internet
Restores end-to-end model & related applications
Or to be exact: 340 trillion, 282 billion, 366 million, 920 thousand, 938
10 million trillion x grains of sand on all the beaches in the world
Every atom on the surface on the 100+ earths
If each human being on Earth, each grain of sand on all the beaches in the world, each gallon of water, each nanosecond that passed since the Big Bang, and each star in the universe had all been assigned their own unique IPv6 address there would be still be easily more than 3.4 x 1038 unique IPv6 addresses leftover remaining.
If we allocated 1 trillion IPv6 address every second 1 trillion years later, we’d only have used 3.156E31
According to the Wikipedia article on Hexadecimals (http://en.wikipedia.org/wiki/Hexadecimal):
The primary use of hexadecimal notation is as a human-friendly representation of binary-coded values in computing and digital electronics.
The amount of information encoded by one hexadecimal digit is called nibble and is exactly a half of octet (8 bits).
Hexadecimal is also commonly used to represent computer memory addresses.
Eg: byte values can range from 0 to 255 (decimal) but may be more conveniently represented as two hexadecimal digits in the range 00 through FF
We thus have to type telnet fe80::2%3 instead of just telnet fe80::2
ZoneIDs are only locally significant
Zero-suppression: omit all leading zeroes in a group of hexits
A leading zero is that which comes immediately after a colon
Each group must still contain at least one hexit
Zero-compression: substitute two or more consecutive groups of zeroes with one double colon (::)
This should only be done once to avoid ambiguity
If more than substitution is possible, make that which replaces the most groups
In case of two equal possible substitutions, make the leftmost one.
Faire attention a :0249:
Anycast addresses don’t change – they are still unicast addresses that can not be used as source of any IP communications.
A topological span within which the address may be used as a unique identifier for an interface or set of interfaces.
http://www.ietf.org/rfc/rfc3587.txt
Global Routing Prefix is the prefix assigned to a site.
Typically hierarchically structured as it passes from IANA to the RIR to an ISP (LIR) then to a customer or a specific customer location.
Subnet ID: The prefix assigned to a particular link or LAN within the site.
Interface ID: All unicast IPv6 addresses (except those which begin with 000) are required by RFC 4291 “IPv6 Addressing Architecture” to have a 64-bit interface identifier in Modified Extended Unique Identifier-64 (MEUI-64) format. Interface IDs must be unique within a subnet prefix and are used to identify interfaces on a link. Because of this, /64 prefixes are the smallest common subnet you will use in IPv6.
Defined in section 2.5.6 of RFC 4291
The LLA is automatically generated using EUI-64 for the interfaceID part.
Pause at this slide to get some class interaction.
Ask the class to think like a router – not like a human being looking at this picture.
The key principle to address here is that traditional routing is done on the basis of longest prefix length of destination address
We thus have to type telnet fe80::2%3 instead of just telnet fe80::2
ZoneIDs are only locally significant
Defined in RFC 4192 as having following characteristics:
Globally unique prefix (with high probability of uniqueness)
Well-known prefix to allow for easy filtering at site boundaries.
Allow sites to be combined or privately interconnected without creating any address conflicts or requiring renumbering of interfaces that use these prefixes.
Internet Service Provider independent and can be used for communications inside of a site without having any permanent or intermittent Internet connectivity.
If accidentally leaked outside of a site via routing or DNS, there is no conflict with any other addresses.
In practice, applications may treat these addresses like global scoped addresses.
Good practice – don’t advertise AAAA and PTR records for ULAs in your global DNS
Good practice is to use the same subnetIDs you use for your global prefixes from your ISP if you are using both
Assuming a 16 bit subnetID field, A /7 for the ULA prefix allows for 236 /48’s for each of the 9.3 billion people projected for world population in 2050
Google “IPv6 ULA generator” to get a list of tools for generating standards-compliant ULA prefixes. Some examples are
www.ultratools.com/tools/rangeGenerator
WWXX:YYZZ is the hex form of public v4 address w.x.y.z
Each public IPv4 address gives an entire /48 IPv6 prefix
Must be unique for each given prefix (just like IPv4 host bits)
Can be the same for different prefixes (just like IPv4)
Cryptographic IIDs are used in Secure ND. The IID is generated from current prefix and a public key
Read https://tools.ietf.org/html/rfc7136
Inversion of the universal/local (U/L) flag (bit 7) in the OUI portion of the address.
Globally unique addresses assigned by the IEEE originally have this bit set to zero, indicating global uniqueness.
Locally created addresses, such as those used for virtual interfaces or a MAC address manually configured by an administrator, will have this bit set to one. This local scope doesn’t necessarily imply uniqueness
This inversion makes it easy for system administrators to hand-configure local scope identifiers when hardware tokens are not available, e.g. serial links, tunnel end-points, etc. The alternative would have been for these to be of the form 0200:0:0:1, 0200:0:0:2, etc., instead of the much simpler ::1, ::2, etc. (RFC 2373)
If the interface doesn’t have a MAC address e.g serial interfaces, options are
Use a 64-bit EUI identifier that is "owned" by the station, for example, an identifier assigned to the motherboard, or an identifier built out of the 48-bit address of an Ethernet or FDDI interface.
If no EUI is available, build a 64-bit unique identifier from some unique characteristic of the station, for example, the telephone number of the interface or the serial number of the motherboard.
If no unique number is available, use a well-seeded number generator to draw a random 64-bit number.
In the absence of an adequate random generator, initiate the token to a null value.
Use of EUI-64 raises privacy concerns as it is easy to track a user by the globally unique MAC address irrespective of their network. Privacy addressing (RFC4941) addesses this issue.
What privacy addressing does
Generate multiple addresses with random interfaceIDs
Use generated addresses for outgoing connections
Deprecate these addresses and generate new ones periodically
Example of trackable IPv6 computer address 2001:0db8:1:2:60:8ff:fe52:f9d8
Take the last 64 bits (the host identifier) and add leading zeros: 0060:08ff:fe52:f9d8
Strip the ff:fe part from the middle. If these bytes are not there, then there’s no MAC address.
For the first byte: complement the second low-order bit (the universal/local bit; if the bit is a 1, make it 0, and if it is a 0, make it 1). So: 0×00 (00000000) becomes 0×02 (00000010).
Result: 60:8ff:fe52:f9d8 translates back to computer MAC address 02:60:08:52:f9:d8
When a host is initializing and does not yet know its addresses, any communications it sends out e.g RS have the source address field set to ::
Note that IPv4-compatible IPv6 addresses (::w.x.y.z) are deprecated
You simply configure a unicast address on an interface but then explicitly specify it as “anycast”
If the prefix length of the address is P, then
Within the subnet, each anycast address must be maintained as a host route i.e. a /128
Outside the subnet, the address can be aggregated under the prefix length P
Multicast addresses must not be used as Source Address in IPv6 packets or appear in any Routing header
For Source Specific Multicast, P = 1, p-len = 0 and network prefix = 0
The following are a few examples of the structure of unicast prefix-based multicast addresses.
Global prefixes - A network with a unicast prefix of 3FFE:FFFF:1::/48 would also have a unicast prefix-based multicast prefix of FF3x:0030:3FFE:FFFF:0001::/96 (where 'x’ is any valid scope).
SSM - All IPv6 SSM multicast addresses will have the format FF3x::/96.
The highest order bit (MSB) is always set to 0
RP = rendezvous point.
Ref: RFC 4291 section 2.7
IF P = 1, then T too must be 1 according to RFC 3306
Interface scope is useful only for loopback transmission of multicast
Interface-Local scope spans only a single interface on a node and is useful only for loopback transmission of multicast.
Link-Local multicast scope spans the same topological region as the corresponding unicast scope.
Admin-Local scope is the smallest scope that must be administratively configured, i.e., not automatically derived from physical connectivity or other, non-multicast-related configuration.
Site-Local scope is intended to span a single site.
Organization-Local scope is intended to span multiple sites belonging to a single organization.
Unassigned scopes (0x6, 0x7, 0x9 – 0xd) are available for administrators to define additional multicast regions.
The following are reserved
0x0 (0000)
0x3 (0011)
0xf (1111)
Interface scope is useful only for loopback transmission of multicast
Interface-Local scope spans only a single interface on a node and is useful only for loopback transmission of multicast.
Link-Local multicast scope spans the same topological region as the corresponding unicast scope.
Admin-Local scope is the smallest scope that must be administratively configured, i.e., not automatically derived from physical connectivity or other, non-multicast-related configuration.
Site-Local scope is intended to span a single site.
Organization-Local scope is intended to span multiple sites belonging to a single organization.
Unassigned scopes (0x6, 0x7, 0x9 – 0xd) are available for administrators to define additional multicast regions.
The following are reserved
0x0 (0000)
0x3 (0011)
0xf (1111)
Non-permanently-assigned multicast addresses are meaningful only within a given scope.
For example, a group identified by the non- permanent, site-local multicast address FF15:0:0:0:0:0:0:101 at one site bears no relationship to a group using the same address at a different site, nor to a non-permanent group using the same group ID with a different scope, nor to a permanent group with the same group ID.
These multicast addresses are reserved and shall never be assigned to any multicast group.
Ask the class to draw parallels to the equivalent IPv4 multicast addresses
What’s similar?
What’s different?
What are the well know IPv4 multicast addresses for OSPF?, RIP? EIGRP? – ask class to deduce the IPv6 equivalents
Loosely defined – this is a multicast address to which all hosts that have the same unicast address join! (when does that happen?)
Engage:
why is the prefix length a /104?
Under what circumstances would multiple addresses result in the same SNMA?
According to RFC 4862, If the Neighbor Solicitation is going to be the first message sent from an interface after interface (re)initialization,
The node SHOULD delay joining the solicited-node multicast address by a random delay between 0 and MAX_RTR_SOLICITATION_DELAY as specified in [RFC4861].
This serves to alleviate congestion when many nodes start up on the link at the same time, such as after a power failure, and may help to avoid race conditions when more than one node is trying to solicit for the same address at the same time.
Note the need to replace each colon with a dash (thus 2 dashed for a double colon)
But why not just use DNS??!!!
Exercise: Find and ping your neighbor's IPv6 address
Find out if my Linux system supports IPv6? $ cat /proc/net/if_inet6
000000000000000000000000000000 01 01 80 10 80 lo
fe80000000000000020b6afffeef7e 8d 02 40 20 80 eth0
Subnet bits = bits that are converted from what should have been the ‘host’ part of interfaceID to be added to the ‘network’ part.
A hexit is a single hexadecimal character and the subnet hexits are those that will change for each of sub-prefixes.
Knowing that 1 hexit = 4 bit and having found the number of bits required then
Number of subnet hexits = s/4 (round it up to the next integer)
Note: If s/4 is an integer, then it means that the hex values for each of the hexits for the last subnet will be "F".
If s/4 leaves a remainder, then the rightmost hexit will end in something other than an "F".
For simplicity in subnetting and address planning, it is recommended to always work with nibble boundaries (multiples of 4) so that we have clean hexit boundaries.
Class interaction:
Why /46?
How do we know the position where the first subnet hexit starts?
Modulo operation (%) – divide the numbers, and take only the remainder
Class interaction:
Why /46?
How do we know the position where the first subnet hexit starts?
----- Meeting Notes (7/17/14 15:38) -----
il changer le resultat dd 2 == > 4
There are other online tools
There are other online tools
We know the total number of subnets from 2^s which in this case is 2^10 = 1024
You could also work directly in hex but that’s too complicated
Last subnetID : a400= 4(400-1) = 4(3ff) = FFC
RFC4291 IIDs for all unicast addresses, except those that start with the binary value 000 should be 64 bits, generated in EUI-64
Things that do break if /64 are not used
SLAAC
DHCPv6
Multicast with embedded RP
Routers MUST disable Subnet-Router anycast for the prefix when /127 prefixes are used.
Ping pong issue arises when a router receives a packet on a p2p link (which doesn't’t support NDP e.g. SONET) destined to an address in the subnet but that is not one of its own addresses, the router forwards it back out the link. The other router will do the same etc. Latest ICMPv6 spec deals with this by making the router NOT forward such packets, instead sending an ICMPv6 Destination Unreachable message (code 3)
IPv6 routers MUST support the assignment of /127 prefixes on point-to-point inter-router links.
Routers MUST disable Subnet-Router anycast for the prefix when /127 prefixes are used.
Advantages according to http://tools.ietf.org/html/draft-ietf-opsec-lla-only-08
Smaller routing tables: Since the routing protocol only needs to carry one global address (the loopback interface) per router, it is smaller than the traditional approach where every infrastructure link address is carried in the routing protocol. This reduces memory consumption, and increases the convergence speed in some routing failover cases. Because the Forwarding Information Base to be downloaded to line cards is smaller and there are fewer prefixes in the Routing Information Base, the routing algorithm is accelerated. Note: smaller routing tables can also be achieved by putting interfaces in passive mode for the Interior Gateway Protocol (IGP).
Reduced attack surface: Every routable address on a router constitutes a potential attack point: a remote attacker can send traffic to that address. Examples are a TCP SYN flood (see [RFC4987]) and SSH brute force password attacks. If a network only uses the addresses of the router loopback interface(s), only those addresses need to be protected from outside the network. This may ease protection measures, such as infrastructure access control lists (iACL).
In planning, we’ll start find the address needs per site, then aggregate
Site: any logical L3 aggregation point (POP, building, floor, )
Region: a collection of sites
Autonomous System
Site: any logical L3 aggregation point (POP, building, floor, ) i.e where end networks connect
Departments are the end network in this case.
Base your estimation on the Building with the largest number of departments
First pick the site with the highest number of clients – “Clients(max)
Then simply multiply by number of sites then number of cities
Advantages of aligning with nibble boundaries
Nibble boundary-aligned sub-prefixes are more human readable.
Improves operational efficiency and reduces mistaken configuration by making the individual prefixes more recognizable and easier to understand sequentially
IPv6 PTR records are a sequence of nibbles separated by dots
When rounding up for nibble boundaries, round up to the nearest 2^(4n) 16 , 256 , 4096 , 65536 ,1048576 , 16777216 , 268435456 , 4294967296 , 68719476736
In some networks there may be individual regions or sites that are so disparate in size or growth rate that this practice would result in very low (<50%) prefix utilization. This situation should be avoided through network design wherever possible. In extreme cases which cannot be avoided, it is recommended that operators take a “best fit” approach and simply allocate multiple prefixes to the largest or fastest growing sites or regions (e.g. choose a /44 for the regional level prefix and allocate two /44 to the over-sized region). It should be understood that this has a negative impact on route aggregation.
There’s one other method – Best fit which is much like VLSM …. It’s the most efficient in using space but worst at aggregation.
Interaction.
What are the pros and cons of each?
In sparse allocation, where would allocate the 6th , 7th, 8th prefix?
Bisection procedure
Determine the size you want to allocate to each subnet (/48? , /52? etc)
Divide your allocation into two (sipcalc prefix::/n --v6split=(n+1)
Assign the the first subnet using the prefix from each of the parts from [2] using the prefix length determined in [1]
GoTo [2] and repeat for each subsequent half of the address space
Version is set to 0110 ie “6”
Traffic Class (8 bits)
The 6 most-significant bits are used for DSCP, which is used to classify packets.
Flow Label (20 bits)
Originally created for giving real-time applications special service.
First uses of these bits are still emerging and currently (April 2012) largely undefined.
Payload Length (16 bits)
The size of the payload in octets, including any extension headers.
Set to zero when a Hop-by-Hop extension header carries a Jumbo Payload option.
Next Header (8 bits)
Specifies the type of the next header.
This field usually specifies the transport layer protocol used by a packet's payload.
When extension headers are present in the packet this field indicates which extension header follows. The values are shared with those used for the IPv4 protocol field, as both fields have the same function.
Hop Limit (8 bits) replaces the time to live field of IPv4. This value is decremented by one at each intermediate node the packet visits. When the counter reaches 0 the packet is discarded.
Source Address (128 bits)
Destination Address (128 bits)
Key things to note
Entire header’s size is fixed at 40 bytes. Good to optimize forwarding performance.
No fragmentation headers in base header. (Only source nodes can fragment in IPv6, never intermediate nodes e.g. routers )
To support fragmentation by routers, there is a Fragmentation header.
UL = Upper Layer, typically TCP or UDP
The base TCP header = 20 bytes. It could also have “Options” of variable length
UL = Upper Layer, typically TCP or UDP
The base TCP header = 20 bytes. It could also have “Options” of variable length
RFC2460 defines the extension headers as shown in the following table along with the Next Header values assigned to them:
Hop-by-Hop EH
Used for the support of Jumbo-grams or, with the Router Alert option, it is an integral part in the operation of MLD.
Router Alert is an integral part in the operations of IPv6 Multicast through Multicast Listener Discovery (MLD) and RSVP for IPv6.
Destination EH is used in IPv6 Mobility as well as support of certain applications.
Routing EH is used in IPv6 Mobility and in Source Routing. It may be necessary to disable "IPv6 source routing" on routers to protect against DDoS.
Fragmentation EH is critical in support of communication using fragmented packets (in IPv6, the traffic source must do fragmentation-routers do not perform fragmentation)
Mobility EH is used in support of Mobile IPv6 service
Authentication EH is similar in format and use to the IPv4 authentication header defined in RFC2402.
Encapsulating Security Payload EH is similar in format and use to the IPv4 ESP header defined in RFC2406 . All information following the Encapsulating Security Header (ESH) is encrypted and for that reason, it is inaccessible to intermediary network devices. The ESH can be followed by an additional Destination Options EH and the upper layer datagram.
I can also open the same packet in wireshark from
Hop to hop checksum is left to link layer & transport layer does end-to-end checksum verification
ICMP router discovery protocol
There’s really nothing to configure for RS.
Note
“Next header” field is set to “0x3a” or “ICMPv6”
Sourced from a link local address
Destined for all IPv6 routers multicast address
Hop limit is 255 thus protecting it from going offlink
Note
“Next header” field is set to “0x3a” or “ICMPv6”
Sourced from a link local address
Destined for all IPv6 hosts multicast address
See ICMP part on next slide
Router Advertisements carry link-layer addresses; no additional packet exchange is needed to resolve the router's link-layer address.
Multiple prefixes can be associated (via several “Options”) with the same link.
By default, hosts learn all on-link prefixes from Router Advertisements.
However, routers may be configured to omit some or all prefixes from Router Advertisements.
In such cases hosts assume that destinations are off-link and send traffic to routers. A router can then issue redirects as appropriate.
If Router Lifetime = 0 means this router is not a default router and should not appear on default list of routers
Other configuration parameters are:
MaxInterfacePrefixes: This variable is the maximum number of prefixes created per interface by Router Advertisements. Default: 16
MaxInterfaceRouters: This variable is the maximum number of default routers created per interface by Route Advertisements. Default: 16
The minimum RA interval may never be more than 75% of the maximum RA interval and never less than 3 seconds (or 30 ms if using “msec” keyword)
The default lifetime value is 1800 seconds.
A node can send unsolicited NA to notify neighbours if it detects that its link-layer address has changed (e.g hot-swap of an interface card)
We know its from a router because the ‘Router’ flag is set to ‘1’
We know it is in response to an NS because the ‘Solicited’ flag is set to 1 as well
We know its from a host because the first flag is set to ‘0’
Redirects contain the link-layer address of the new first hop; separate address resolution is not needed upon receiving a redirect.
IOS commands to display redirect messages:
show ipv6 interface
show ipv6 neighbors
show ipv6 route
show ipv6 traffic
show hosts
The source address of the NS is always set to “::” for DAD --- that’s the specification.
A Neighbor Cache entry can be in one of five states (RFC 4861 section 7.3.3:
INCOMPLETE : Address resolution is being performed on the entry. Specifically, a Neighbor Solicitation has been sent to the solicited-node multicast address of the target, but the corresponding Neighbor Advertisement has not yet been received.
REACHABLE: Positive confirmation was received within the last ReachableTime milliseconds that the forward path to the neighbor was functioning properly. While REACHABLE, no special action takes place as packets are sent.
STALE: More than ReachableTime milliseconds have elapsed since the last positive confirmation was received that the forward path was functioning properly.
While stale, no action takes place until a packet is sent.
The STALE state is entered upon receiving an unsolicited Neighbor Discovery message that updates the cached link-layer address. Receipt of such a message does not confirm reachability, and entering the STALE state ensures reachability is verified quickly if the entry is actually being used. However, reachability is not actually verified until the entry is actually used.
DELAY : More than ReachableTime milliseconds have elapsed since the last positive confirmation was received that the forward path was functioning properly, and a packet was sent within the last DELAY_FIRST_PROBE_TIME seconds. If no reachability confirmation is received within DELAY_FIRST_PROBE_TIME seconds of entering the DELAY state, send a Neighbor Solicitation and change the state to PROBE.
The DELAY state is an optimization that gives upper- layer protocols additional time to provide reachability confirmation in those cases where ReachableTime milliseconds have passed since the last confirmation due to lack of recent traffic. Without this optimization, the opening of a TCP connection after a traffic lull would initiate probes even though the subsequent three-way handshake would provide a reachability confirmation almost immediately.
PROBE : A reachability confirmation is actively sought by retransmitting Neighbor Solicitations every RetransTimer milliseconds until a reachability confirmation is received.
N1 actually sends multiple NS messages, separated by a timer
If the NS is the first message to be sent out an interface after initialization, the node delays the message by a random value. (avoid congestion when all hosts boot up)
Loopback semantics example: If the interface does NOT loop back packets, then any NS received is from some other node.
RFC 2462
Note
“Next header” field is set to “0x3a” or “ICMPv6”
Sourced from unspecified v6 address
Destined for a solicited node multicast address
The minimum RA interval may never be more than 75% of the maximum RA interval and never less than 3 seconds (or 30 ms if using “msec” keyword)
The default lifetime value is 1800 seconds.
I can also open the same packet in wireshark from
SNMA (Address multicast de solicitation de noeud)
Only done for on-link addresses.
The L2 address is actually returned within an ICMPv6 Option called “Target Link-layer address”
Does not necessarily verify end-to-end reach-ability since a neighbour could be a router (not the final destination)
By only doing NUD for neigbours in an active session, unnecessary network traffic is reduced.
Note
It is sourced from and destined to a specific address --- both link local
Hint: why send an NS packet to a known address?
Do I need this section?!!!
There’s now an IPv6-only version of FreeBSD!! as at 12th Jan 2012
http://en.wikipedia.org/wiki/Comparison_of_IPv6_support_in_operating_systems
Microsoft IPv6 FAQ - http://technet.microsoft.com/en-us/network/cc987595.aspx
NetBIOS will NEVER work with IPv6
Microsoft Windows Behavior with IPOv6
Prefer global or ULA IPv6 address
Do 6to4 if client has public v4 and is non-domain joined
If enabled in DNS, do ISATAP
Fall back to IPv4 if A – C don’t work
Teredo is is always lurking in the background!
MAC OS X does not have a DHCPv6 client!!! …coming in Lion!
[In /etc/network/interfaces]
Details in http://tools.ietf.org/rfc/rfc4941.txt
Detailed CPE requirements are in RFC 7084
RDNSS is specified in RFC 4339 and supported in radvd
L – On-Link Flag. The prefix can be used for on-link determination (other IPv6 addresses with the same prefix are on the same L2 subnet).
A – Address Configuration Flag. The prefix can be used for stateless address configuration (SLAAC).
Currently, most Operating Systems behave not always consistently when these flags interact. Do investigate what works for you.
For auto-provisioning, client must be set to obtain IP configuration “automatically”
To enforce DHCPv6 addresses only:
Set M = 1
Set A = 0 on all prefixes advertised by the router
In IPv4, on-link is determined by address & subnet mask
If the Target and Destination Address of the Redirect messages to a host are the same, the Target Address is to be treated as on-link
To avoid your DHCP LAN behaving like a PVLAN, you need to configure the router to
Advertise the prefix of the DHCP scope with A = 0 (thus stopping clients generating SLAAC addresses from them)
Set L = 1 so DHCP hosts know that other addresses in that prefix are on-link and can be reached directly.
For auto-provisioning, client must be set to obtain IP configuration “automatically”
For auto-provisioning, client must be set to obtain IP configuration “automatically”
The routers on the subnet are pre-configured with:
Appropriate IPv6 addresses on their interfaces.
Desired prefixes for use on the subnet.
List of DNS servers to send to hosts [RFC6106]
Key DHCPv6 details
Server used UDP port 547
Client uses UDP port 546
Client sends all messages to multicast ff02::1:2
A client MAY include an Option Request option in a Solicit, Request, Renew, Rebind, Confirm or Information-request message to inform the server about options the client wants the server to send to the client.
A server MAY include an Option Request option in a Reconfigure option to indicate which options the client should request from the server.
DDNS updates can be done somewhat securely using TSIG, but this requires each client to have a correct TSIG key.
Full list of DHCPv6 options is at http://www.iana.org/assignments/dhcpv6-parameters/dhcpv6-parameters.xml
DDNS updates can be done somewhat securely using TSIG, but this requires each client to have a correct TSIG key.
Full list of DHCPv6 options is at http://www.iana.org/assignments/dhcpv6-parameters/dhcpv6-parameters.xml
Without the “no-autoconfig” option, a SLAAC address will still created
DDNS updates can be done somewhat securely using TSIG, but this requires each client to have a correct TSIG key.
Full list of DHCPv6 options is at http://www.iana.org/assignments/dhcpv6-parameters/dhcpv6-parameters.xml
Without the “no-autoconfig” option, a SLAAC address will still created
DDNS updates can be done somewhat securely using TSIG, but this requires each client to have a correct TSIG key.
Full list of DHCPv6 options is at http://www.iana.org/assignments/dhcpv6-parameters/dhcpv6-parameters.xml
The Advertise message at step 4 is for the server to indicate that it can indeed provide delegated prefixes. No prefix is passed to the client at this time
Used to assign a delegated prefix to CPE to use on its LAN.
The PE inserts a static route for the delegated prefix in its table
DDNS updates can be done somewhat securely using TSIG, but this requires each client to have a correct TSIG key.
Full list of DHCPv6 options is at http://www.iana.org/assignments/dhcpv6-parameters/dhcpv6-parameters.xml
Without the “no-autoconfig” option, a SLAAC address will still created