Chapter5 IPv6
Chapter5 IPv6
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
COURSE 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
BASIC COMPUTER NETWORK 1993
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79
80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95
96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111
Chapter 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
IP VERSION 6
05
128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143
144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159
160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175
Allocated
Editor: Nguyen Viet Ha, Ph.D.
176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191
Reference: Peter L Dordal Unavailable 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207
Cisco Academy, CCNAv7: Introduction to Networks [Online], available at: [Link]
208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223
Available
224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239
16,777,216 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255
addresses
Lecturer: Nguyen Minh Tri, Ph.D. Email: ngmtri@[Link] 2/69
/50
IPv6 Why We Need More Address Space IPv6 Why We Need More Address Space
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
2000 2007
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79
80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95
96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111
112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143
144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159
160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175
Allocated Allocated
176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191
Unavailable 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 Unavailable 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207
208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223
Available Available
224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239
16,777,216 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 16,777,216 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255
addresses addresses
3/69
/50 4/69
/50
IPv6 Why We Need More Address Space IPv6 Why We Need More Address Space
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
2009 2010
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79
80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95
96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111
112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143
144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159
160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175
Allocated Allocated
176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191
Unavailable 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 Unavailable 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207
208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223
Available Available
224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239
16,777,216 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 16,777,216 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255
addresses addresses
5/69
/50 6/69
/50
IPv6 Why We Need More Address Space IPv6 Why We Need More Address Space
48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 IPv6: 16 octets - 128 bits
80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95
o 2^128 3.4 x 10^38
96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111
112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 340,282,366,920,938,463,463,374,607,431,768,211,456
128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 (340 undecillion) IP Addresses.
144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159
160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175
Allocated
176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191
Unavailable 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207
208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223
Available
224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239
16,777,216 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255
addresses
7/69
/50 8/69
/50
1. The IPv6 Header
128-bit
9 10/69
/50
o Extension headers has been introduced to support some of Hop Limit: 8-bit, replaces the IPv4 field.
these as options. (latter in Section 5) Source Address: 128-bit, identifies the IPv6 address of the sending
host.
Destination Address: 128-bit, identifies the IPv6 address of the
receiving host.
11/69
/50 12/69
/50
1. The IPv6 Header
Flow Label: 20-bit, be used by a source to
label sequences of packets for which it requests
special handling by the IPv6 routers, such as:
o Non-default quality of service
o - service.
A flow, as the term is used here, is one-way; the return traffic 2 IPv6 Addresses
belongs to a different flow.
All packets belonging to the same flow should have the same
Routing Extension header.
13/69
/50 14
Four bits (half of a byte) can be Hextet used to refer to a segment of 16 bits or four hexadecimals
represented with a single hexadecimal
value
Can be written in either lowercase or UPPERCASE
15/69
/50 16/69
/50
2. IPv6 Addresses 2. IPv6 Addresses
Rule 1- Omitting Leading 0s Rule 2- Omitting All 0 Segments
The first rule to help reduce the notation of IPv6 addresses is any A double colon (::) can replace any single, contiguous string of one
leading 0s (zeros) in any 16-bit section or hextet can be omitted or more 16-bit segments (hextets) consisting of all 0
01AB can be represented as 1AB Known as the
09F0 can be represented as 9F0 Double colon (::) can only be used once within an address
0A00 can be represented as A00 otherwise the address will be ambiguous.
00AB can be represented as AB
Example: 1843:f01::22::fa
1843:0f01:0000:0000:0022:0000:0000:00fa ?
1843:0f01:0000:0000:0000:0022:0000:00fa ?
1843:0f01:0000:0022:0000:0000:0000:00fa ?
17/69
/50 18/69
/50
Original plan for the interface identifier was to derive it in most cases
from the LAN address.
48 bits 64 bits ???
o EUI-64
19/69
/50 20/69
/50
2. IPv6 Addresses 2. IPv6 Addresses
EUI-64 EUI-64
Review MAC Address: A major privacy concern:
o No matter where a host connects to the Internet home or work
or airport or Internet cafe
Such an interface identifier always remains the same, and thus
o "c" is the bits of the assigned company_id, serves as a permanent host fingerprint.
o "m" is the bits of the manufacturer selected extension identifier.
o is the value of the Universal/Local bit.
0: Universal, i.e., MAC address is the burned-in-address (BIA) Now discouraged for personal workstations and mobile devices.
1: Local, i.e., MAC address that has been changed locally (Only for some fixed-location hosts)
o is individual/group bit
0: individual (i.e., unicast)
1: group (i.e., multicast/broadcast)
21/69
/50 22/69
/50
23/69
/50 24/69
/50
2. IPv6 Addresses
Anycast addresses:
Assigned to each of a set of routers.
25/69
/50 26
64-bit network prefixes are supplied by a provider, and which represent /60 /60 /56 /48
the first half of globally routable IPv6 addresses.
These are the prefixes that will be visible to the outside world.
Individual
customer subnets subnets
27/69
/50 28/69
/50
2. IPv6 Addresses
Unique Local Unicast Address:
Corresponding to IPv4 private address blocks like [Link]/16,
[Link]/12, and [Link]/8.
The first 8 bits of a unique-local prefix are 1111 1101 (fd00::/8).
The related prefix 1111 1100 (fc00::/8) is reserved for future use.
4 IPv6 Multicast
The last 16 bits of a 64-bit unique-local prefix represent the subnet
ID, and are assigned either administratively or via autoconfiguration.
The 40 bits in between, from bit 8 up to bit 48, represent the Global
ID.
o A site is to set the Global ID to a pseudorandom value.
29/69
/50 30
ff02::1
ff00::/8
All-nodes
Ethernet multicast address: 33:33:00:00:00:01.
ff02::2
All-routers.
Ethernet multicast address: 33:33:00:00:00:02.
31/69
/50 32/69
/50
4. IPv6 Multicast
IPv6 nodes on Ethernets send LAN-layer Multicast Listener Discovery
(MLD) messages to multicast groups they wish to start using.
These messages allow multicast-aware Ethernet switches to
optimize forwarding so that only those hosts that have subscribed
to the multicast group in question will receive the messages.
Otherwise, switches are supposed to treat multicast like broadcast; 5 IPv6 Extension Headers
33/69
/50 34
Routing header
Fragment header
Authentication header
Mobility header
39/69
/50 40/69
/50
5. IPv6 Extension Headers 5. IPv6 Extension Headers
Routing Header Routing Header
The original, or Type 0, Routing header contained a list of IPv6 The original, or Type 0, Routing header contained a list of IPv6
addresses through which the packet should be routed. These did not addresses through which the packet should be routed. These did not
have to be contiguous. have to be contiguous.
o Ex: o Ex: (continue)
The list to be visited enroute to destination was The header contained a Segments Left pointer indicating the
next address to be processed, incremented at each . When
Then this option header contained with the packet arrived at the would contain
as the initial destination address; the routing list .
then would update this header to , and
would send the packet on to . Note, however, that routers between the listed routers
This was to continue on until addressed the packet to the did not need to examine this header; they processed the
final destination . packet based only on its current destination address.
41/69
/50 42/69
/50
43/69
/50 44/69
/50
5. IPv6 Extension Headers
IPv6 Fragment Header
Contains a 13-bit Fragment Offset field (as in IPv4) and a 32-bit
Identification field.
6 Neighbor Discovery
Generally speaking, fragmentation should be avoided at the
application layer when possible.
45/69
/50 46
47/69
/50 48/69
/50
6. Neighbor Discovery 6. Neighbor Discovery
Prefix Discovery Neighbor Solicitation (Similar to IPv4 ARP requests)
Support hosts to learn the network-address prefixes. Sent to the solicited-node multicast address.
o ff02::0001:x.y.z.w.
x, y, z and w are the low-order 32 bits of the IPv6 address the
sender is trying to look up.
Router Advertisement packets contain a complete list of valid o Each IPv6 host on the LAN will need to subscribe to all the
network-address prefixes, as the Prefix Information option. solicited-node multicast addresses corresponding to its own IPv6
addresses.
o Each prefix will have an associated lifetime.
Neighbor Solicitation messages are repeated regularly but follow up
Nodes receiving a prefix from an RA packet are to use it only
verifications are initially sent to the unicast LAN address on file.
for the duration of this lifetime.
On expiration a node must obtain a newer RA packet with a The target response to a Neighbor Solicitation message is
newer prefix list. called Neighbor Advertisement.
49/69
/50 50/69
/50
6. Neighbor Discovery
51/69
/50 52
7. IPv6 Host Address Assignment 7. IPv6 Host Address Assignment
IPv6 provides two competing ways for hosts to obtain their full IP Duplicate Address Detection
addresses. Whenever an IPv6 host obtains a unicast address
it goes through a duplicate-address detection (DAD)
DHCPv6. process.
53/69
/50 54/69
/50
Derived from the LAN address using either EUI-64 or the RFC
o If the DAD process fails for an address based on an EUI-64 7217 mechanism.
identifier, then some other node has the same Ethernet address
and you have bigger problems than just finding a working IPv6
address.
A device may obtain its IPv6 global unicast address dynamically and
also be configured with multiple static IPv6 addresses on the same
interface.
59/69
/50 60/69
/50
8. ICMPv6
As part of the Neighbor Discovery Protocol.
61 62/69
/50
8. ICMPv6 8. ICMPv6
Destination Unreachable Destination Unreachable
In this case, one of the following numeric codes is returned: In this case, one of the following numeric codes is returned:
0: No route to destination, returned when a router has no 3: Address unreachable, a catchall category for routing failure
entry. not covered by any other message. An example is if the packet was
successfully routed to the last_hop router, but Neighbor Discovery
1: Communication with destination administratively
failed to find a LAN address corresponding to the IPv6 address.
prohibited, returned when a router has a entry, but
declines to use it for policy reasons. Codes 5 and 6, below, are
special cases of this situation; these more-specific codes are 4: Port unreachable, returned when, as in ICMPv4, the
returned when appropriate. destination host does not have the requested UDP port open.
2: Beyond scope of source address, returned when a router is,
for example, asked to route a packet to a global address, but the 5: Source address failed ingress/egress policy, see code 1
return address is not, e.g., is unique-local. In IPv4, when a host
with a private address attempts to connect to a global address, 6: Reject route to destination, see code 1.
NAT is almost always involved.
63/69
/50 64/69
/50
8. ICMPv6
Packet Too Big
This is like ICMPv4 Required but Fragment
flag ; IPv6 however has no router-based fragmentation.
Time Exceeded
This is used for cases where the Hop Limit was exceeded, and also
where -based fragmentation wasused and the fragment- 9 IPv6 Subnets
reassembly timer expired.
Parameter Problem
This is used when there is a malformed entry in the IPv6 header, an
unrecognized Next Header type, or an unrecognized IPv6 option.
65/69
/50 66
A site receiving from its provider an address prefix of size /56 can o Wanting to do that in a standard way would dictate more
assign up to 256 64 . flexibility in the prefix/host division.
67/69
/50 68/69
/50
THANK YOU FOR YOUR ATTENTION