Title: Module 18 IP Version 6
1Module 18IP Version 6
2- Textbook sections
- BF Section 25.1 IPv6
- BF Section 25.2 IPv6 Addresses
- BF Section 25.3 IPv6 Packet Format
- Topics
- Overview
- Addresses
- Terminology
- Text Representation
- Address Space Assignment
- Transition from IPv4 to IPv6
- Packet Format
- Base Header
- Extension Header
- Comparison between IPv4 and IPv6 packet
31. Overview
- Major changes
- Extended address space
- IPv6 has 128-bit source and destination addresses
(4 times larger than IPv4) - Simplified and extensible header format
- IPv6 header are designed to keep the IP header to
a minimum by moving nonessential fields and
option fields to extension headers that are
placed after the IP header. - IPv6 can easily be extended for unforeseen
feature through the adding of extension headers
after the IPv6 base header. Support for new
hardware or application technologies is built in. - Support for time-dependent traffic
- A new field in the IPv6 header allows the
pre-allocation of network resources along a path
so that time-dependent services such as voice and
video are guaranteed a requested bandwidth with a
fixed delay. - Security features
- Extensions to support authentication, data
integrity, and (optional) data confidentiality
are specified for IPv6
41. Overview
- Douglas E. Comer
- It took many years for the IETF to formulate a
new version of IP. Because the IETF produces
open standards, it invited the entire community
to participate in the process. Computer
manufacturers, hardware and software vendors,
users, managers, programmers, telephone
companies, and the cable television industry all
specified their requirements for the next version
IP, and all commented on specific proposals. - choosing a new version of IP was not easy. The
popularity of the Internet means that the market
for IP products around the world is staggering.
Many groups see the economic opportunity, and
hope that the new version of IP will help them
gain an edge over the competition. In addition,
personalities have been involved _ some
individuals hold strong technical opinions
others see active participation as a path to a
promotion. Consequently, the discussions
generated heated arguments.
52. Addresses - Terminology
- Terminology
- Node A device that implements IPv6
- Host any node that is not a router
- Link a communication facility or medium over
which nodes can communicate at the data link
layer, i.e., the layer immediately below IPV6.
Examples are Ethernet PPP links. - Interface a nodes attachment to a link
- Neighbors nodes attached to the same link
- Address an IPv6-layer identifier for an
interface or a set of interfaces
62. Addresses - Terminology
- IPv6 addresses are 128 bit identifies for
interfaces and sets of interfaces - Three types of addresses
- Unicast address
- An identifier for a single interface. A packet
sent to an unicast address is delivered to the
interface identified by that address. - Anycast address
- An identifier for a set of interfaces (typically
belonging to different nodes). A packet sent to
an anycast address is delivered to one of the
interfaces identified by that address (the
nearest one, according to the routing
protocols measure of distance). - Multicast address
- An identifier for a set of interfaces (typically
belonging to different nodes). A packet sent to
a multicast address is delivered to all
interfaces identified by that address. - There are no broadcast addresses in IPv6, their
function being superseded by multicast addresses
72. Addresses Text Representation
- An IPv6 address consists of 16 bytes it is 128
bits long - Colon hexadecimal notation (abbreviated colon
hex) - In this notation, 128 bits are divided into eight
sections - Each section is two bytes in length.
- Two bytes in hexadecimal notation requires four
hexadecimal digits - Abbreviation
- Within a section, the leading zeros of a section
can be omitted. However, trailing zeros can not
be omitted - Between sections, consecutive sections consisting
of zeros only can be replaced by a double colon.
(Note that this type of abbreviation is allowed
only one per address.)
8BF Figure 25-1 IPv6 address
9BF Figure 25-2 Abbreviated address
10BF Figure 25-3 Abbreviated address with
consecutive zeros
112. Addresses Address Space Assignment
- Address structure
- The address is divided into two parts. The first
par is called the type prefix. - Type prefix
- Variable length
- Defines the purpose of the address
- The codes are designed such that no code is
identical to the first part of any other code - When an address is given, the type prefix can
easily be determined
BF Figure 25-5 Address structure
12Table 25.1 Type prefixes for IPv6 addresses
(partial list)
132. Addresses Address Space Assignment
- Provider-Based unicast addresses
- Fields
14BF Figure 25-6 Provider-based address
152. Addresses Address Space Assignment
- Provide-Based unicast addresses
- Address hierarchy IPv6 nodes may have
considerable or little knowledge of the internal
structure of the IPv6, depending on the role the
node plays (for instance, host versus router) - At a minimum, a node may consider that unicast
addresses (including its own) have no internal
structure - A slightly sophisticated host (but still rather
simple) may additionally be aware of subnet
prefix(es) for th link(s) it is attached to,
where different addresses may have different
values for the number of bits of subnet prefix - Routers will more generally have knowledge of one
or more of the hierarchical boundaries for the
operation of routing protocols.
16BF Figure 25-7 Address hierarchy
Note The difference between a field and a
prefix. For example, the difference between
subnet identifier and Subnet prefix.
Example a host has the address
581E14562324ABCD0000000000001211 Assume
that the node identifier is 48 bits (6 bytes),
the subnet identifier is 32 bits (4 bytes), and
subscriber identifier is 24 bits (3 bytes). Then
the provider prefix is 581E14 (binary
representation 0101 1000 0001 1110 0001 0100
Defines the address as a provider-based address
Registry identifier INTERNIC
172. Addresses Address Space Assignment
- Anycast address
- Anycast addresses are syntactically
indistinguishable from unicast addresses. - Anycast addresses are allocated from the unicast
address space, using any of the defined unicast
address formats. - When a unicast address is assigned to more than
one interface, thus turning it into an anycast
address, the nodes to which the address is
assigned must be explicitly configured to know
that it is an anycast address. - Expected use of anycast addresses
- To identify the set of routers belonging to an
organization providing internet service - To identify the set of routers attached to a
particular subnet, or the set of routers
providing entry into a particular routing domain - Restrictions imposed on IPv6 anycast addresses
- An anycast address must not be used as the source
address of an IPv6 packet - An anycast address must not be assigned to an
IPv6 host, that is, it may be assigned to an IPv6
router only.
182. Addresses Address Space Assignment
- Reserved addresses
- The unspecified address
- The address 00000000 is called the
unspecified address - It must never be assigned to any node. It
indicates the absence of an address - One example of its use is in the Source Address
field in the IPv6 header of any IPv6 packets sent
by an initializing host before it has learned its
own address. - Loopback address
- The unicast address 00000001 is called the
loopback address - It may be used by a node to send an IPv6 packet
to itself - It may never be assigned to any physical
interface - An IPv6 packet with a destination address of
loopback must never be sent outside a single node
and must never be forward by an IPv6 router.
192. Addresses Address Space Assignment
- Link local addresses
- Link local addresses may be used if a site or
organization having a LAN uses the Internet
protocols but is not connected to the Internet. - When the site or organization connects to the
global Internet, it can then form global
addresses by replacing the link local prefix with
a subnet prefix. - Routers must not forward any packets with link
local source addresses outside of the site.
BF Figure 25-12 Link local address
Link local prefix
202. Addresses Address Space Assignment
- Site local addresses
- Site local addresses may be used if a site
having several networks uses the Internet
protocols but is not connected to the Internet. - When the site connects to the global Internet,
it can then form global addresses by replacing
the site-local prefix with a subscriber prefix. - Routers must not forward any packets with site
local source addresses outside of the site.
BF Figure 25-13 Site local address
Site local prefix
212. Addresses Address Space Assignment
- Multicast addresses
- An IPv6 multicast address is an identifier for
a group of nodes. - A node may belong to any number of multicast
groups. - Multicast address must not be used as source
addresses in IPv6 datagrams or appear in any
routing header.
BF Figure 25-14 Multicast address
222. Addresses Transition from IPv4 to IPv6
- The IPv6 transition mechanisms include a
technique for hosts and routers to dynamically
tunnel IPv6 packets over IPv4 routing
infrastructure. - Special IPv6 unicast addresses are provide by
IPv6 that carry an IPv4 address in the low-order
32-bits. - Compatible address
- an address of 96 bits of zero followed by 32 bits
of IPv4 address - Used when a computer using IPv6 wants to send a
message to another computer using IPv6. However,
the packet should pass through a region where the
networks are still using IPv4 - Mapped address
- An address of 80 bits of zero, followed by 16
bits of one, followed by the 32-bit IPv4 address. - Used when a computer using IPv6 wants to send a
message to another computer still using IPv4.
The packet travels mostly through IPv6 network.
23BF Figure 25-10 Compatible address
Corresponding to
BF Figure 25-11 Mapped address
Corresponding to
242. Addresses Transition from IPv4 to IPv6
BF Figure 25-48 Three transition strategies
- Dual stack a host supports both IPv4 and IPv6
simultaneously. - Tunneling is used when two IPv6 hosts need to
communicate with each other through an IPv4
region. - Header translation An IPv6 sending host needs
to communicate with an IPv4 receiving host
through an IPv6 region.
- Definitions
- Tunneling
- - The practice of encapsulating a datagram from
one protocol into a second protocol and using
the second protocol to transverse a network. - - At the destination, the encapsulation is
stripped off and the original message is
reintroduced to the network. Tunneling is also
referred to as encapsulation. - Encapsulation
- - In the internetworking community, to surround
one protocol with another protocol for the
purpose of passing the foreign protocol through
the native environment.
25BF Figure 25-49 Dual stack
To determine which version to use when sending a
packet to a destination, the source host queries
the DNS If the DNS returns an IPv4 address, the
source host sends an IPv4 packet. If the DNS
returns an IPv6 address, the source host sends an
IPv6 packet.
26BF Figure 25-50 Automatic tunneling
Automatic tunneling is applicable if the
receiving host uses a IPv6 compatible address.
The destination host, which is using a dual
stack, passes the packet to the IPv6 software for
processing
This router encapsulates an IPv6 packet in an
IPv4 packet.
27BF Figure 25-51 Configured tunneling
Configured tunneling is used when the receiving
host does not support an IPv6 compatible address.
This router encapsulates the IPv6 packet in an
IPv4 packet using its own IPv4 address as the
source and the other routers IPv4 address as the
destination
28BF Figure 25-52 Header translation
Header translation is used when the majority of
the Internet has moved to IPv6 but some system
still use IPv4. The sender wants to use IPv6, but
the receiver does not understand IPv6. Tunneling
does not work in this situation because the
packet must be in the IPv4 format to be
understood by the receiver.
This router converts the header of the IPv6
packet to an IPv4 header
293. Packet Format Base Header
BF Figure 25-15 IPv6 datagram
30Figure 25-16 IPv6 datagram format
4 bytes
313. Packet Format Base Header
- VER
- Four-bit field defines the version of the IP. For
IPv6, the value is 6 - PRI
- The four-bit field defines the priority of the
packet with respect to traffic congestion. - Two categories
- Congestion-controlled Packets may arrive delayed
or even lost or received out of order
Table 25.3 Priorities for congestion-controlled
traffic
323. Packet Format Base Header
- No congestion-controlled
- This refers to a type of traffic that expects
minimum delay. Discarding of packets is not
desirable. Retransmission in most cases is
impossible. Real-time audio and video are good
examples of this type of traffic - The priorities are usually assigned based on how
much the quality of received data can be affected
by discarding some packets. Data containing less
redundancy (such as low-fidelity audio or video)
can be given a higher priority.
Table 25.4 Priorities for noncongestion-controlled
traffic
333. Packet Format Base Header
- Flow label
- Payload length
- This two-byte payload field defines the total
length of the IP datagram excluding the base
header
343. Packet Format Base Header
- Next header
- An eight-bit field defining the header that
follows the base header in the datagram. The
next header is either one of the optional
extension headers used by IP or the header for an
upper layer protocol such as UDP or TCP
Table 25.2 Next header codes
353. Packet Format Base Header
- Hop limit
- This eight-bit hop limit field serves the same
purpose as the TTL field in IPv4. - Decremented by 1 by each node that forwards the
packet. The packet is discarded if Hop limit is
decremented to zero. - Source address
- Destination address
- Usually identifies the final destination of the
datagram. However, if source routing is used,
this field contains the address of the next
router.
363. Packet Format Extension Header
BF Figure 25-17 Extension header format
373. Packet Format Extension Header
- Extension Headers
- Hop-by-hop option
- Source routing
- Fragmentation
- Authentication
- Encrypted security payload
- Destination option
38BF Figure 25-19 Hop-by-hop option header format
39BF Figure 25-20 The format of options in a
hop-by-hop option header
40BF Figure 25-21 Pad1
BF Figure 25-22 PadN
41BF Figure 25-23 Jumbo payload
423. Packet Format Extension Header
- Source routing option
- Header length
- The header length specifies the length of the
routing extension header in units of 64 bits, not
including the first 64 bits - Type
- The type field defines loose or strict routing
- Currently, only type 0 is specified
- Strict/loose Mask (RFC 1752)
- Determines the rigidity of routing
- The mask is used when making a forwarding
decision. - If the value of the Next Hop pointer field is N,
and the Nth bit in the strict/loose bit mask
field is set to 1, it indicates that the next hop
is a strict source route hop - If this bit is set to 0, it indicates that the
next hop is a lose source route hop (24 bit bit
pattern)
433. Packet Format Extension Header
- Address/segment left
- Identifies the number of route segments remaining
before the destination is reached. - Initially, this value will be set to the total
number of route segments from the source to the
destination - Each route decrements this value by 1 until the
packet reaches the destination - Changing addresses
- The destination address does not conform to
previous definition (the final destination of the
datagram). Instead, it changes from router to
router - The addresses in the extension header also change
from router to router
44BF Figure 25-24 Source routing
45BF Figure 25-25 Source routing example
463. Packet Format Extension Header
- Fragmentation
- Only the original source can fragment
- Fragmentation offset field
- Measured in units of eight bytes
- M flag
- 1 more fragments
- 0 last fragment
- Fragment identification
- For every packet that is to be fragmented, the
source node generates an identification value.
47BF Figure 25-26 Fragmentation
483. Packet Format Extension Header
BF Figure 25-27 Authentication
49BF Figure 25-28 Calculation of authentication
data
503. Packet Format Extension Header
- Encrypted security payload
BF Figure 25-29 Encrypted security payload
51BF Figure 25-30 Transport mode encryption
52BF Figure 25-31 Tunnel-mode encryption
533. Packet Format Comparison between IPv4 and
IPv6 packet
- Table 25.5 Comparison between IPv4 and IPv6
packet header - The header length field is eliminated in IPv6
because the length of the header is fixed in this
version - The service type field is eliminated in IPv6.
The priority and flow label fields together take
over the function of the service type field. - The total length field is eliminated in IPv6 and
replaced by the payload length field - The identification , flag, and offset fields are
eliminated from the base header in IPv6. They
are included in the fragmentation extension
header. - The TTL field is called hop limits in IPv6.
- The protocol field is replaced by the next header
field. - The header checksum is eliminated because the
checksum is provided by upper layer protocol it
is thereby not needed at this level. - The option fields in IPv4 are implemented as
extension header in IPv6
543. Packet Format Comparison between IPv4 and
IPv6 packet
- Table 25.6 Comparison between the options in IPv4
with the extension headers in IPv6 - The no-operation and end-of-option in IPv4 are
replaced by Pad1 and PadN options in IPv6 - The record route option is not implemented in
IPv6 because it was not used. - The timestamp option is not implemented because
it was not used - The source route option is called the source
route extension header in IPv6. - The fragmentation fields in the base header
section of IPv4 have moved to the fragmentation
extension header in IPv6. - The authentication extension header is new in
IPv6. - The encrypted security payload extension header
is new in IPv6.