Sie sind auf Seite 1von 155

HARI KRISHNA RAJU KANEKAL

NOMUS COMM-SYSTEMS
 IPv6 Overview
 IPv6 Features
 IPv6 Addressing Modes
 IPv6 Address Types
 IPv6 Special Address
 IPv6 Headers
 IPv6 Communication
 IPv6 Routing
 IPv6 Implementation
 IPv6 Summary
 Internet Protocol Version 4 HTTP, TELNET,
application
 Incredibly successful SNMP, FTP, etc.
presentation
Today’s Internet runs over IPv4 session

 IPv4 address is 32 bits transport TCP, UDP


 Configured via DHCP, PPP, Manual network IPv4

 Optional IPv4 Security Solutions. link Ethernet, PPP


physical
 Insufficiency
 Only Four Bytes
 Maximum nodes ~ 4.3 billion
 Much less than the human population (6.799 billion)
 Not enough for growing number of users
 Will be exhausted in near future
 Increasing routing information
 Rapid growth of routing tables in backbones
 Increasing the number of Network Address Translation
(NAT)
 Breaking the Internet architecture
 Security issues
Internet Protocol Security (IPSec) provides security
for IPv4 packets, but IPSec is not built-in and
optional. Many IPSec implementations are
proprietary.
 Quality of service (QoS)
QoS is available in IPv4 and it relies on the 8 bits of the IPv4
Type of Service (TOS) field and the identification of the
payload. TOS field has limited functionality and payload
identification is not possible when the IPv4 datagram
packet payload is encrypted.
 Till date, Internet Protocol has been recognized has IPv4
only
 Version 0 to 3 were used while the protocol was itself under
development and experimental process
 So, we can assume lots of background activities remain
active before putting a protocol into production
 Similarly, protocol version 5 was used while experimenting
with stream protocol for internet
 It is known to us as Internet Stream Protocol which used
Internet Protocol number 5 to encapsulate its datagram.
 Though it was never brought into public use, but it was
already used
0 IP March 1977 version (deprecated)
1 IP January 1978 version (deprecated)
2 IP February 1978 version A (deprecated)
3 IP February 1978 version B (deprecated)
4 IPv4 September 1981 version (current widespread)
5 ST Stream Transport (not a new IP, little use)
6 IPv6 December 1998 version (formerly SIP, SIPP)
7 CATNIP IPng evaluation (formerly TP/IX; deprecated)
8 Pip IPng evaluation (deprecated)
9 TUBA IPng evaluation (deprecated)
10 10-15 unassigned
 Internet Protocol Version 6 HTTP, TELNET,
application
 IPv6 address is 128 bits SNMP, FTP, etc.
presentation

 IPv6 is a new addressing protocol session

designed to incorporate all the transport TCP, UDP

possible requirements of future network IPv6


link Ethernet, PPP
Internet known to us as Internet physical

version 2
 Larger Address Space
 IP Version 6 is a 128 bit address
 2^128 = 3.4 x1038 [Approx 340 Trillion Trillion Trillion IP addresses]
 According to an estimate, 1564 addresses can be allocated to every
square meter of this earth
 Simplified Header
 IPv6 header has been simplified by moving all unnecessary
information and options (which are present in IPv4 header) to the end
of the IPv6 header
 End-to-end Connectivity
 Every system now has unique IP address and can traverse through the
internet without using NAT or other translating components
 Auto-configuration
 IPv6 supports both stateful and stateless auto configuration mode of its
host devices. This way absence of a DHCP server does not put halt on inter
segment communication
 Faster Forwarding/Routing
 Simplified header puts all unnecessary information at the end of the
header
 All information in first part of the header are adequate for a Router
to take routing decision thus making routing decision as quickly as
looking at the mandatory header
 IPSec
 Initially it was decided for IPv6 to must have IPSec security, making it
more secure than IPv4. This feature has now been made optional
 No Broadcast
 IPv6 does not have any Broadcast support anymore left with it. It uses
multicast to communicate with multiple hosts
 Anycast Support
 IPv6 has introduced Anycast mode of packet routing. In this mode,
multiple interfaces over the Internet are assigned same Anycast IP
address. Routers, while routing, send the packet to the nearest
destination
 Mobility
 This feature enables hosts (such as mobile phone) to roam around in
different geographical area and remain connected with the same IP
address. The mobility feature of IPv6 takes advantage of auto IP
configuration and Extension headers
 Enhanced Priority Support
 In IPv4 to provide QoS but it could only be used if the end-to-end
devices support it, that is, the source and destination device and
underlying network must support it
 In IPv6, Traffic class and Flow label are used to tell the underlying
routers how to efficiently process the packet and route it
 Extensibility
 IPv4 provides only 40-bytes for options, whereas options in IPv6 can be
as much as the size of IPv6 Extension headers
 Jumbograms
 Jumbograms is an optional feature of IPv6. Jumbograms allow packets with
payloads 2^32 - 1 (4,294,967,295) bytes by making use of a 32-bit length field.
 Node : Any device that runs an Implementation of IPv6. This Includes
Routers and Hosts.
 Router : A node that can forward IPv6 packets not explicitly addressed
to itself. On an IPv6 network, a router also typically advertises its presence
and host configuration information.
 Host : A node that cannot forward IPv6 packets not explicitly addressed
to itself (a non-router).
 Neighbors : Nodes connected to the same link.
 Link MTU : The maximum transmission unit (MTU)—the number of
bytes in the largest IPv6 packet—that can be sent on a link. The link MTU
is the same as the maximum payload size of the link-layer technology
 Path MTU : The maximum-sized IPv6 packet that can be sent without
performing host fragmentation between a source and destination over a
path in an IPv6 network. The path MTU is typically the smallest link MTU
of all the links in the path
 An IPv6 address is made of 128 bits divided into
eight 16-bits blocks
 Each block is then converted into 4-digit
Hexadecimal numbers separated by colon symbols
 Eg : 128 Bit IPv6 address in binary format
0010000000000001 0000000000000000 0011001000111000 1101111111100001
0000000001100011 0000000000000000 0000000000000000 1111111011111011
Each block is then converted into Hexadecimal and separated
by ‘:’ symbol:
2001:0000:3238:DFE1:0063:0000:0000:FEFB
2001:0000:3238:DFE1:0063:0000:0000:FEFB
 Even after converting into Hexadecimal format,
IPv6 address remains long
 IPv6 provides some rules to shorten the address.
The rules are as follows:
 Rule.1: Discard leading Zero(es):
2001:0:3238:DFE1:63:0:0:FEFB
 Rule.2:If two of more blocks contain consecutive zeroes,
omit them all and replace with double colon sign ::
2001:0:3238:DFE1:63::FEFB
 Unicast :
An identifier for a single interface. A packet sent to a unicast address is
delivered to the interface identified by that address.
 Multicast :
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.
 Anycast :
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).
 No more Broadcast Addresses.
 Unicast IPv6 Addresses
 Global unicast addresses
 Link-local addresses
 Site local addresses
 Unique local addresses
 Special addresses
 Transition addresses
 Multicast IPv6 Addresses
 Anycast IPv6 Address.
 IPv6 Address has two parts, Prefix and Interface ID
 Prefix length is stated in classless inter-domain routing (CIDR)
notation. CIDR notation is a slash at the end of the address that is followed
by the prefix length in bits
n bits 128-n bits

Prefix Interface ID

 IPv6 Address/Prefix Length in bits


Eg: 2A01:4F8:B12:773B::1/64 or 2A01:4F8:B12:773B::/64
 Interface identifiers in IPv6 unicast addresses are used to identify
interfaces on a link.
 It is recommended that the same interface identifier not be assigned to
different nodes on a link.
 Interface IDs are required to be 64 bits long and may be assigned in
several different ways:
 Auto-configured from a 64-bit IEEE EUI-64, or expanded from a 48-
bit MAC address (e.g., Ethernet address).
 Auto-generated pseudo-random number (to address privacy
concerns)
 Assigned via DHCP
 Manually configured
24 bits 24 bits

ccccccug cccccccc cccccccc xxxxxxxx xxxxxxxx xxxxxxxx

IEEE Administered Company ID Manufacturer Selected Extension ID

 To create an EUI-64 address from an IEEE 802 address, the 16 bits of 11111111
11111110 (0xFFFE) are inserted into the IEEE 802 address between the company ID
and the extension ID.
24 bits 16 bits 24 bits

ccccccug cccccccc cccccccc 0xFFFE xxxxxxxx xxxxxxxx xxxxxxxx

 In EUI-64 format, u bit indicate whether the address is universally or locally


administered.
 g bit indicate whether the address is an individual address (unicast) or a
group address (multicast).
 To obtain the 64-bit interface identifier for IPv6 unicast addresses, the U/L bit
in the EUI-64 address is complemented. (If it is a 1 in the EUI-64 address, it is set
to 0; if it is a 0 in the EUI-64 address, it is set to 1.)
 Eg : IEEE 802 Address : 00 : 22 : 85 : 01 : 02 : 03
=> IEEE EUI-64 Address 222 : 85FF : FE01 : 203
48 bits

45 bits 16 bits 64 bits

001 Global Routing Prefix Subnet ID Interface ID

 IPv6 global addresses are equivalent to public IPv4 addresses


 They are globally routable and reachable on the IPv6 Internet
 Global Routing Prefix Indicates the global routing prefix for a specific
organization’s site
 Subnet ID Used within an organization’s site to identify subnets within
its site
 Interface ID Indicates the interface on a specific subnet within the site
10 bits 54 bits 64 bits

1111 1110 10 0000 …. 0000 Interface ID

 Link-local addresses are used between on-link neighbors and for Neighbor
Discovery processes, which define how nodes on an IPv6 subnet interact with
hosts and routers.
 The scope of a link-local address (the region of the network across which the
address is unique) is the local link.
 A link-local address is always automatically configured, even in the absence
of all other unicast addresses
 An IPv6 router never forwards link-local traffic beyond the link.
 Address prefix for all link-local addresses is FE80::/64.
10 bits 54 bits 64 bits

1111 1110 11 Subnet ID Interface ID

 Site-local addresses are used between nodes communicating with other


nodes in the same site of an organization’s intranet
 Site-local addresses are equivalent to the IPv4 private address space.
 The scope of a site-local address is a site (a portion of an organization
network that has defined geographical, topological, or network bandwidth
boundaries).
 Site-local addresses are not automatically configured and must be assigned
either through stateless or stateful address configuration
 Address prefix for all Site-local addresses is FEC0::/64.
RFC 3879 formally deprecates the use of site-local addresses
 Link-local addresses can be duplicated per link (subnet).
 Site-local addresses can be duplicated per site.
 Zone ID to specify the portion or zone of the network on which the
destination can be reached.
 For link-local destinations, Zone ID is typically equal to the interface
index of the interface attached to the link on which the destination is
located.
 Syntax for specifying a zone ID is IPv6Address%ZoneID
Eg: Linux ping6 FE80::2285:3366%eth0
ping FE80::2285:3366%3
7 bits 1 bit 40 bits 16 bits 64 bits

1111 110 L Global ID Subnet ID Interface ID

 To provide a type of address that is private to an organization and not


routable on the IPv6 Internet, yet unique across all the sites of the
organization Site-local addresses are equivalent to the IPv4 private address
space.
 All local addresses have the address prefix FC00::/7.
 The Local (L) flag is set to 1 to indicate that the prefix is locally assigned.
The L flag value set to 0 is not defined in RFC 4193
 Global ID identifies a specific site within an organization and is set to a
randomly derived 40-bit value
 Unspecified Address : 0:0:0:0:0:0:0:0 or :: is used to
indicate the absence of an address. The unspecified address is
never assigned to an interface or used as a destination address.
 Loopback Address : 0:0:0:0:0:0:0:1 or ::1 is assigned to a
loopback interface, enabling a node to send packets to itself.
Packets addressed to the loopback address must never be sent
on a link or forwarded by an IPv6 router
::/128 Unspecified Address
::/0 Default Route
::1/128 Loopback Address
To aid in the transition from IPv4 to IPv6 and the coexistence of both types
of hosts, the following addresses are defined:
 IPv4-compatible address : 0:0:0:0:0:0:w.x.y.z or ::w.x.y.z, is used by IPv6/
IPv4 nodes that are communicating with IPv6 over an IPv4 infrastructure
that uses public IPv4 addresses, such as the Internet. IPv4-compatible
addresses are deprecated in RFC 4291
 IPv4-mapped address : 0:0:0:0:0:FFFF:w.x.y.z or ::FFFF: w.x.y.z, is used to
represent an IPv4 address as a 128-bit IPv6 address
 6to4 address : An address of the type
2002:WWXX:YYZZ:Subnet ID:Interface ID, where
WWXX:YYZZ is the colon hexadecimal representation of w.x.y.z (a public
IPv4 address), is assigned a node for the 6to4 IPv6 transition technology.
 ISATAP address : An address of the type 64-bit prefix:0:5EFE:w.x.y.z,
where w.x.y.z is a private IPv4 address, is assigned to a node for the Intra-
Site Automatic Tunnel Addressing Protocol (ISATAP) IPv6 transition
technology.
 Teredo address : A global address that uses the prefix 2001::/32 and is
assigned to a node for the Teredo IPv6 transition technology. Beyond the
first 32 bits, Teredo addresses are used to encode the IPv4 address of a
Teredo server, flags, and an obscured version of a Teredo client’s external
address and UDP port number.
 An IPv6 multicast address is an identifier for a group of interfaces
(typically on different nodes).
 An interface may belong to any number of multicast groups.
 Multicast addresses cannot be used as source addresses or as
intermediate destinations in Routing extension header.
8 bits 4 bits 4 bits 112 bits

1111 1111 Flags Scope Group ID

 IPv6 Multicast addresses have the first 8 bits set to 1111 1111.
 Flags is a set of 4 bit field i.e 0RPT flags
 The high-order flag is reserved, and must be initialized to 0.
 Transient(T) flag indicates permanently-assigned (‘well-known”)
multicast address, assigned by the Internet Assigned Numbers Authority
(IANA) and a non permanently-assigned (“transient” or “dynamically”
assigned) multicast address.
 Prefix (P) flag indicates a multicast address that is assigned based on
the network prefix.
 Rendezvous Point (R) flag indicates a multicast address that embed the
address on the RP used in PIM-SM (Protocol Independent Multicast-
Sparse Mode).
 Scope is a 4 bit multicast scope value used to limit the scope of the
multicast group.
 Group ID is a 112 bits and identifies the multicast group and is unique
within the scope. Multicast addresses from FF01:: through FF0F:: are
reserved, well-known addresses.
 Defined values for scope field is follows.
0 Reserve
1 Interface-local scope
2 Link-local scope
3 Reserve
4 Admin-local scope
5 Site-local scope
8 Organization-local scope
E Global scope
F Reserved.
 Here which are not listed is a unassigned values.
 To identify all nodes for the interface-local and link-local scope
 FF01::1 Interface-local scope all nodes multicast address
 FF02::1 Link-local scope all nodes multicast address
 To identify all routers for the interface-local, link-local scope and site-
local scope.
 FF01::2 Interface-local scope all routers multicast address
 FF02::2 Link-local scope all routers multicast address
 FF05::2 Site-local scope all routers multicast address
 For more details at http://www.iana.org/assignments/ipv6-multicast-
addresses.
 For each unicast and anycast address configured there is a
corresponding Solicited-Node Multicast.
 Used for two purposes, for the replacement of ARP and DAD.
 Used in Neighbor Solicitation messages.
 Multicast address with a link-local scope.
 Solicited-Node multicast consists of prefix + lower 24 bits from unicast
or anycast and appending those bits to prefix FF02:0:0:0:0:1::/104.

FF02:0:0:0:0:1:FFXX:XXXX
Here XX:XXXX is a lower 24bits from unicast or anycast
Eg: 4037::01:800:200E:8C6C => FF02::1:FF0E:8C6C
 An IPv6 anycast address is an address that is assigned to more than one
interface(typically belonging to different nodes).
 A packet sent to an anycast address is routed to the “nearest” interface
having that address, according to the routing protocols measure of
distance.
 Anycast addresses are allocated from the unicast address space.
 Anycast addresses are syntactically indistinguishable from unicast
address.
 A unicast address is assigned to more than one interface, thus turning it
into an anycast address, the address is assigned must be explicitly
configured.
 Anycast address has a longest prefix P of that address that identifies the
topological region.
 Anycast address must be maintained as a separate entry in the routing
system (commonly referred to as a "host route").
 The Subnet-Router anycast address is predefined. Its format is as follows:

n bits 128-n bits

Subet Prefix 000 … 000

 Subnet prefix in an anycast address is the prefix that identifies a specific


link.
 Interface identifier set to zero.
 Packets sent to the Subnet-Router anycast address will be delivered to one
router on the subnet.
 All routers are required to support the Subnet-Router anycast addresses.
 The Subnet-Router anycast address is intended to be used for applications
where a node needs to communicate with any one of the set of routers.
 A host is required to recognize the following addresses as
identifying itself:
 Its required Link-Local address for each interface.
 Any additional Unicast and Anycast addresses that have been
configured for the node's interfaces (manually or automatically).
 The loopback address.
 The All-Nodes multicast addresses defined in RFC 4291.
 The Solicited-Node multicast address for each of its unicast
and anycast addresses.
 Multicast addresses of all other groups to which the node
belongs.
 A router is required to recognize all addresses that a host is
required to recognize, plus the following addresses as identifying
itself:
 The Subnet-Router Anycast addresses for all interfaces for
which it is configured to act as a router.
 All other Anycast addresses with which the router has been
configured.
 The All-Routers multicast addresses defined in RFC 4291 .
0 4 8 16 24 31

Ver IHL Service Type Total Length

Identifier Flags Fragment Offset

Time to Live Protocol Header Checksum

32 bit Source Address

32 bit Destination Address

Options and Padding


 The 4-bit Version field indicates the version of IP and is set to 4.
 The 4-bit Internet Header Length (IHL) field indicates the number of
4-byte blocks in the IPv4 header.
 The 8-bit Type of Service field indicates the desired service expected by
this packet for delivery through routers across the IPv4 internetwork. The
high-order 6 bits of the DS field comprise the DS Code Point (DSCP) field.
The low-order 2 bits of the Type of Service field are used for Explicit
Congestion Notification (ECN).
 The 16-bit Total Length field indicates the total length of the IPv4
packet (IPv4 header + IPv4 payload) and does not include link-layer
framing.
 The 16-bit Identification field identifies this specific IPv4 packet. If the
IPv4 packet is fragmented, all the fragments retain the Identification field
value so that the destination node can group the fragments for reassembly.
 The 3-bit Flags field identifies flags for the fragmentation process. Bit 0
is reserved, must be zero, bit 1 (DF) is Don't Fragment, bit 2 (MF) is More
Fragments.
 The 13-bit Fragment Offset field indicates the position of the fragment
relative to the beginning of the original IPv4 payload.
 The 8-bit Time-to-Live (TTL) field indicates the maximum number of
links on which an IPv4 packet can travel before being discarded.
 The 8-bit Protocol field identifies the upper-layer protocol.
 The 16-bit Header Checksum field provides a checksum on the IPv4
header only.
 The 32-bit Source and Destination address fields indicates originator
and recipient of the packet.
 The Options field stores one or more IPv4 options. The size of this field
is a multiple of 32 bits (4 bytes). If an IPv4 option does not use all 32 bits,
padding options must be added.
0 4 12 16 24 31

Version Class Flow Label

Payload Length Next Header Hop Limit

128 bit Source Address

128 bit Destination Address


 The 4-bit Version field indicates the version of IP and is set to 6.
 The 8-bit Traffic Class field indicates the IPv6 packet’s class or priority.
This field provides functionality similar to the IPv4 Type of Service field.
 The 20-bit Flow Label field in the IPv6 header may be used by a source
to label sequences of packets for which it requests special handling by the
IPv6 routers, such as non-default quality of service or "real-time" service.
 The 16-bit Payload Length field indicates the length of the IPv6
payload. The Payload Length field includes the extension headers and the
upper-layer PDU.
 The 8-bit Hop Limit field indicates the maximum number of links over
which the IPv6 packet can travel before being discarded. The Hop Limit
field is similar to the IPv4 TTL field.
 The 128-bit Source and Destination address fields indicates originator
and recipient of the packet
bit bit
0 8 16 24 31 0 4 12 16 24 31

Version IHL Service Type Total Length Version Class Flow Label

Identifier Flags Fragment Offset Payload Length Next Header Hop Limit

Time to Live Protocol Header Checksum

32 bit Source Address


128 bit Source Address
32 bit Destination Address

Options and Padding

IPv4 Header 128 bit Destination Address


20 octets, 12 fields, including 3 flag bits
+ fixed max number of options

Changed Removed

IPv6 Header
40 octets, 8 fields
+ Unlimited Chained Extension (options) Header
 IPv6 payloads can contain zero or more extension headers,
which can vary in length.
 A Next Header field in the IPv6 header indicates the next
extension header.
 Each extension header contains another Next Header field
that indicates the next extension header.
 The last extension header indicates the upper layer protocol
(such as TCP, UDP, or ICMPv6), if any, that the upper layer
protocol data unit contains.
RFC 2460 defines the following IPv6 extension headers that
all IPv6 nodes must support :
 Hop-by-Hop Options Header => Processed by every router
 Destination Options Header => Processed by routers listed in Routing extension
 Routing Header => List of routers to cross
 Fragment Header => After reassembling the packet
 Authentication Header => Processed by the destination
 Encryption Security Payload Header => Cipher content of the remaining information
 Destination Options Header => Processed only by the destination

Here the Order is Important while framing a IPv6 Packet


Value (Decimal) Header
0 Hop-by-Hop Options header
6 TCP
17 UDP
41 Encapsulated IPv6 header
43 Routing header
44 Fragment header
50 Encapsulating Security Payload
header
51 Authentication header
58 ICMPv6
59 No next header
60 Destination Options header
IPv6 header TCP header + data
next header =
TCP

IPv6 header Routing header TCP header + data


next header = next header =
Routing TCP

IPv6 header Routing header Fragment header fragment of TCP


next header = next header = next header = header + data
Routing Fragment TCP
Option Option Data Option Data (Variable)
Type (8) Length (8)

The Option Type field assigns a particular meaning to the three highest
order bits

Action (2) Change (1) Type (5)

The two highest order bits (Action) specify the action that must be taken if the
processing IPv6 node doesn’t recognize the option type.
00 Skip over this option and continue to process eventual subsequent options.
01 Discard the packet.
10 Discard the packet, regardless of whether the packet destination address is
multicast; the source node is notified by an ICMP packet.
11 Discard the packet, and only if its destination address is not multicast, the
source node is notified by an ICMP packet.
The third bit C (Change) specifies whether the Option data can change
en route to the packet’s final destination
0 Option data cannot change en route.
1 Option data can change en route.

Pad 1 Option :
 The Pad 1 option is defined in RFC 2460.
 It is used to insert a single byte of padding so that the Hop-by-Hop
Options or Destination Options headers fall on 8-byte boundaries
and to accommodate the alignment requirements of options.
 With Option Type set to 0, the option is skipped if not recognized,
and it is not allowed to change in transit.
Option Type = 0
Pad N Option :

 The Pad N option is defined in RFC 2460.


 It is used to insert two or more bytes of padding so that the Hop-by-
Hop Options or Destination Options headers fall on 8-byte boundaries
and to accommodate the alignment requirements of options.
 With Option Type set to 1, the option is skipped if not recognized,
and it is not allowed to change in transit.

Option Option Data Option Data (Variable)


Type = 1 Length = Variable
Jumbo Payload Option :
 The Jumbo Payload option is defined in RFC 2675.
 It is used to indicate a payload size that is greater than 65,535 bytes.
 An IPv6 packet with a payload size greater than 65,535 bytes is
known as a jumbogram.
 32-bit Jumbo Payload Length field, payload sizes of up to
4,294,967,295 bytes can be indicated.
 With the Option Type field set to 194, the packet is discarded and an
ICMPv6 Parameter Problem message is sent if the option is not
recognized and the destination address is not a multicast address; and
the option is not allowed to change in transit.

Option Option Data Jumbo Payload Length (32


Type = 194 Length = 4 Bit)
Router Alert Option :

 The Router Alert option is defined in RFC 2711.


 It is used to indicate a router that the contents of the packet require
additional processing.
 The Router Alert option is used for Multicast Listener Discovery
(MLD) and the Resource ReSerVation Protocol (RSVP).
 With the Option Type field set to 5, the option is skipped if not
recognized, and it is not allowed to change in transit.

Option Option Data Router Alert Value (16 Bit)


Type = 5 Length = 2
Home Address Option :

 The Home Address option is defined in RFC 6275.


 It is used to indicate the home address of a mobile node.
 The home address is an address assigned to the mobile node when it
is attached to the home link and through which the mobile node is
always reachable, regardless of its location on an IPv6 network
 With the Option Type field set to 201, the packet is discarded and
an ICMPv6 Parameter Problem message is sent if the option is not
recognized and the destination address is not a multicast address; and
the option is not allowed to change in transit.

Option Option Data Home Address (128 Bit)


Type = 201 Length = 16
 RPL Option : The RPL option carries routing information used in a
RPL network[RFC6553]
 Quick start : Option Identifies TCP quick-start configuration, and
allows an intermediate router to reduce the configuration parameters
as appropriate. [RFC4782]
 Common Architecture Label IPv6 Security Option : Encodes
security labels on packets [RFC5570]
 SMF Option : Simplified Multicast Forwarding Option[RFC6621]
 MPL Option : Supports multicast in an RPL network [RFC7331]
 DFF Option : Depth-First Forwarding [RFC6971]
 Tunnel Encapsulation Limit Option [RFC2473]
 ILNP Nonce : IPv6 Nonce Destination Option for the Identifier-
Locator Network Protocol for IPv6 [RFC6744]
 Line-Identification Option [RFC6788]
 Performance and Diagnostic Metrics Option [RFC8250]
Next Header Header Extension Options
(8Bit) Length (8Bit)
Options ….

 The Hop-by-Hop Options header is used to carry optional information


that must be examined by every node along a packet delivery path.
 It is identified by the value of 0 in the IPv6 header’s Next Header field.
 The 8-bit Next Header field has the same meaning as the field with
the same name in the IPv6 header.
 The 8-bit Header Extension Length field contains the length of the
Hop-by-Hop Options header in 8-octet units (64 bits), not including the
first 8 octets.
 Options used by Hop-by-Hop Option Header are Pad 1, Pad N, Jumbo
Payload and Router Alert Options e.t.c.
Next Header Header Extension Options
(8Bit) Length (8Bit)
Options ….

 The Destination Options header is used to specify delivery parameters for either
intermediate destinations or the final destination.
 It is identified by the value of 60 in the previous header’s Next Header field.
 Next Header field and Header Extension Length field has the same meaning as
the Hop-by-Hop Options header.
 The Destination Options header is used in two ways:
 If a Routing header is present, it specifies delivery or processing options at
each intermediate destination.
 If no Routing header is present or if this header occurs after the Routing
header, it specifies delivery or processing options at the final destination.
 Options used by Destination Options Header are Pad 1, Pad N, Home Address
Options e.t.c.
Next Header Header Extension Routing Segments
(8Bit) Length (8Bit) Type (8Bit) Left (8Bit)

Reserved (32Bit)
Address 1 (128 Bit)
. . . .
Address N (128 Bit)
 The Routing header is used by an IPv6 source to list one or more
intermediate nodes to be "visited" on the way to a packet's destination.
 This header supports a function very similar to the IPv4 packet Loose Source
Route and Record Route option.
 It is identified by the value of 43 in the previous header’s Next Header field.
 Next Header field and Header Extension Length field has the same meaning
as the Hop-by-Hop Options header.
 The 8-bit Routing Type field specifies the Type of Routing header.
Type 0 Source Route (DEPRECATED) [RFC5095]
Type 1 Nimrod (DEPRECATED 2009-05-06) [DARPA]
Type 2 Type 2 Routing Header[RFC6275]
Type 3 RPL Source Route Header[RFC6554]
 The 8-bit Segments Left field contains the number of explicitly listed
intermediate nodes still to be visited before reaching the final destination. The
maximum legal value for this field is 23.

Type 0 & Type 3 process :


 When the IPv6 packet reaches an intermediate destination, the Routing
header is processed and the following actions are taken.
 The Current destination address and the address in the (N – Segments
Left + 1) position in the list of addresses are swapped, where N is the total
number of addresses in the Routing header.
 The Segment Left field is decremented.
 The packet is forwarded.
Source Routing Example
Source A Source A Source A Source A
Destination R1 Destination R2 Destination R3 Destination B
Left : 3 Left : 2 Left : 1 Left : 0
R2 R1 R1 R1
R3 R3 R2 R2
B B B R3

A B
Network
Network

Network Network
R1
R2 R3
Type 3 is a common network configuration for Source Routes with the
Routing Protocol for Low-Power and Lossy Networks(RPL)
Next Header Header Extension Routing Segments
(8Bit) Length (8Bit) Type (8Bit) Left (8Bit)

Cmpr I Cmpr E Pad Reserved (20 Bit)


(4Bit) (4Bit) (4Bit)
Address 1 (16 – CmprI)
. . . . (16 – CmprI)
Address N (16 – CmprE)

CmprI : No. of prefix octets from each segment, except than the last segment,
(i.e., segments 1 through n-1) that are elided.
CmprE : No. of prefix octets from the last segment (i.e., segment n) that are
elided.
Pad : No. of octets that are used for padding after Address[n].
Type 2 is a Mobile IPv6.

Next Header Header Extension Routing Segments


(8Bit) Length (8Bit) Type (8Bit) Left (8Bit)

Reserved (32 Bit)


Home Address 1 (128 Bit)

Home Address : The home address of the destination mobile node.


Next Header Reserved Fragment Offset Reserved M
(8Bit) (8Bit) (13Bit) (2Bit) (1Bit)

Identification (32 Bit)

 The Fragment header is used by an IPv6 Source to send a packet larger than
would fit in the path MTU to its destination.
 The Fragment header cannot be used for jumbograms.
 It is identified by the value of 44 in the previous header’s Next Header field.
 Next Header field has the same meaning as the Hop-by-Hop Options header.
 Fragment offset, in 8-octet units, of the data following this header, relative to
the start of the Fragmentable Part of the original packet.
 More Fragments Flag : 1 = more fragments; 0 = last fragment.
 In order to send a packet that is too large to fit in the MTU of the path to its
destination, a source node may divide the packet into fragments and send each
fragment as a separate packet to be reassembled at the receiver.
 For every packet that is to be fragmented, the source generated an
Identification value and it must be different than that of any other fragmented
packet sent recently with same source and destination addresses.

Unfragmentable Parts Fragmentable Parts

 Unfragmenatble Parts: IPv6 Header, Hop-by-Hop Options Header, Destination


Options Header for intermediate destination and Routing Header.
 Fragmentable Parts: Authentication Header, Encapsulating Security Payload
Header, Destination Options Header for final destination and Upper layer PDU.

Un-fragmentable Parts Fragment Header First Fragment

Un-fragmentable Parts Fragment Header Second Fragment

Un-fragmentable Parts Fragment Header … Last Fragment


 After all the fragments arrive the original payload length is calculated and
the payload length field in the IPv6 header for Reassembled packet is
updated.

Unfragmentable Parts Fragmentable Parts

 RFC 2460 recommends a reassembly time of 60 seconds. If time exceeds, then


host sends an ICMPv6 Time -- Exceeded Fragment Reassembly Time Exceeded
message to the source of the fragment.
 The Authentication header provides data authentication(verification of the
node that sent the packet), data integrity(verification that the data was not
modified in transit), and anti-replay protection(assurance that captured
packets cannot be retransmitted and accept as valid data).

Next Header Payload Length Reserved


Security Parameters Index (SPI)
Sequence Number

Authentication Data

 The Authentication header described in RFC 4302.


 It is identified by the value of 51 in the previous header’s Next Header field.
 Next Header field has the same meaning as the Hop-by-Hop Options header.
 Payload Length(8Bit) field, the number of 4 byte blocks in the
Authentication header, not counting the first two.
 Security Parameters Index (SPI)(32Bit) field that helps identify a
specific IP Security (IPsec) security association (SA).
 Sequence Number field that provides anti-replay protection.
 Authentication Data field that contains an integrity value check
(ICV).
 The ICV provides data authentication and data integrity
 The Encapsulating Security Payload (ESP) header and trailer, described in
RFC 4303, provide data confidentiality, data authentication, data integrity,
and replay protection services to the encapsulated payload

Security Parameters Index (SPI)


Sequence Number

Payload

Padding
Padding Length Next Header

Authentication Data
 It is identified by the value of 50 in the previous header’s Next
Header field.
 Security Parameters Index, Sequence Number, Next Header and
Authentication Data same as Authentication header.
 Payload Data field is a encrypted data that has to be transferred.
 Padding field is used by ciphers to pad the data to the full length of
block ( 0 to 255 bytes range only to pad).
 Pad Length field is a size of padding in bytes.
 ESP header provides no security to Extension headers (occur before
the ESP header).
 The value 59 in the Next Header field of an IPv6 header or any
Extension header indicates that there is nothing following that
header.
 If the Payload Length field of the IPv6 header indicates the
presence of octets past the end of a header whose Next Header field
contains 59, those must be ignored, and passed on unchanged if the
packet is forwarded.
Source Address
Destination Address
Upper –Layer Packet Length
Zero Next Header

 TCP/UDP pseudo header.


 ICMPv6 includes the above pseudo header in its checksum
computation.
ICMPv6 includes the above pseudo-header in its
checksum computation
Protect ICMP from misdelivery or corruption of IPv6 header
Next header field in pseudo-header for ICMP = 58 (ICMP)
 IPv6 requires that the link layer support a minimum MTU size of
1280 bytes.
 Link layers that do not support this MTU size must provide a link-
layer fragmentation and reassembly scheme that is transparent to
IPv6.
 For link layers that can support a configurable MTU size, RFC 2460
recommends that they be configured with an MTU size of at least 1500
bytes.
 IPv6 provides a Path MTU Discovery process that uses the ICMPv6
Packet Too Big message.
 Path MTU Discovery allows the transmission of IPv6 packets that
are larger than 1280 bytes.
 IPv6 will eventually replace the IPv4 Internet layer protocols in the
DARPA model. IPv6 replaces:
 IPv4 with IPv6.
 ICMP with ICMPv6.
 IGMP with MLD.
 ARP with ND.
 ICMPv6: Internet Control Message Protocol version 6 is an
upgraded implementation of ICMP to accommodate IPv6
requirements. This protocol is used for diagnostic functions, error and
information message, statistical purposes. ICMPv6’s Neighbor
Discovery Protocol replaces ARP and helps discover neighbor and
routers on the link.

 DHCPv6: Dynamic Host Configuration Protocol version 6 is an


implementation of DHCP. IPv6 enabled hosts do not require any
DHCPv6 Server to acquire IP address as they can be auto-configured.
Neither do they need DHCPv6 to locate DNS server because DNS can
be discovered and configured via ICMPv6 Neighbor Discovery
Protocol. Yet DHCPv6 Server can be used to provide these
information.
 DNS: There has been no new version of DNS but it is now equipped
with extensions to provide support for querying IPv6 addresses. A new
AAAA (quad-A) record has been added to reply IPv6 query messages.
Now the DNS can reply with both IP versions (4 & 6) without any
change in the query format.
 IPv6 uses the ICMP as defined for IPv4 with a number of changes.
 The resulting protocol is called ICMPv6 and has an IPv6 Next
Header value of 58.
 ICMPv6 has the common IPv4 functions of reporting delivery and
forwarding errors providing a simple echo service for troubleshooting.
 The ICMPv6 include pseudo header in its checksum computation.
The reason for the change is to protect ICMP from misdelivery or
corruption of those fields of the IPv6 header on which it depends.
 The ICMPv6 is an integral part of the IPv6 architecture and must be
completely supported by all IPv6 implementations.
 ICMPv6 combines functions previously subdivided among different
protocols, such as
ICMP (Internet Control Message Protocol version 4)
IGMP (Internet Group Membership Protocol)
ARP (Address Resolution Protocol)
 The ICMPv6 protocol also provides a packet structure framework
for the following two protocols.

 Neighbor Discovery (ND) : ND is a series of five ICMPv6 messages


that manage node-to-node communication on a link. ND replaces
Address Resolution Protocol (ARP), ICMPv4 Router Discovery and the
ICMPv4 Redirect Message.

 Multi Listener Discovery (MLD) : MLD is a series of three ICMPv6


messages that are equivalent to the Internet Group Management
Protocol (IGMP) for IPv4 for managing subnet multicast membership.
Type (8Bit) Code (8Bit) Checksum (16Bit)
Message Body (Variable)

 Type (8Bit) field indicates the type of ICMPv6 message. In ICMPv6


error messages, the high-order bit is set to 0. In ICMPv6 informational
messages, the high-order bit is set to 1.
 Code (8Bit) field depends on the message type and allows for more
granular information in certain cases.
 Checksum (16Bit) field is used to detect data corruption in the
ICMPv6 header and in parts of the IPv6 header. The IPv6 pseudo-
header is added to the front of the ICMPv6 message when calculating
the checksum.
 Message Body (Variable) contains ICMPv6 message-specific data.
 There are two types of ICMPv6 messages.
 Error Messages:
 To provide feedback to a source node about error that occurred
in the forwarding or delivery of IPv6 packets by either the
destination node or intermediate router.
 Error messages have set to 0 in the high order bit of their
message Type field. ICMPv6 error messages are in the range of 0
to 127.
 Informational Messages:
 Informational messages provide diagnostic functions and
additional functionality, such as MLD and ND.
 Informational messages have set to 1 in the high order bit of
their message Type field. ICMPv6 informational messages are in
the range of 128 to 255.
 The following message types are described in RFC 4443
 Error Messages:
 Destination Unreachable (message type 1)
 Packet Too Big (message type 2)
 Time Exceeded (message type 3)
 Parameter Problem (message type 4)
 Private experimentation (message types 100 & 101)
 Reserved for expansion of ICMPv6 error messages (message
type 127)
 Informational Messages:
 Echo Request (message type 128) I
 Echo Reply (message type 129)
 Private experimentation (message types 200 & 201)
 Reserved for expansion of ICMPv6 informational messages
(message type 255)
Type = 1 Code (8Bit) Checksum (16Bit)
Unused (32Bit)
IPv6 header plus as much as fits of Original data (Variable)
 A Destination Unreachable message should be generated by a
router or by the IPv6 layer in the originating node, in response to a
packet that cannot be delivered to its destination address for reasons
other than congestion.
 Type field is set to 1, which is the value for the Destination
Unreachable message.
 Code field is set to a value in the range of 0 through 6.
 Unused field is unused for all code values. It must be initialized to
zero by the originator and ignored by the receiver.
 Message Body field contains as much of the original message as will
fit into the ICMP message.
 Code field for the various Destination Unreachable messages as
defined in RFC 4443.
 0 – No route to destination. Eg. router does not have an entry
for a default route.
 1 – Communication with destination administratively
prohibited. Eg. Firewall or a packet filters.
 2 – Beyond scope of source address. Eg. packet has a linklocal
source address.
 3 – Address unreachable. Eg. inability to resolve the
destination’s link-layer address.
 4 – Port unreachable. Eg. Transport layer has no listener.
 5 – Source address failed ingress/egress policy. Eg. not allowed
due to ingress or egress filtering policies.
 6 – Reject route to destination. Eg. packet matched a reject
route and was discarded
Type = 2 Code = 0 Checksum (16Bit)
MTU (32Bit)
IPv6 header plus as much as fits of Original data (Variable)
 A Packet Too Big must be sent by a router in response to a packet
that it cannot forward because the packet is larger than the MTU of
the outgoing link. The information in this message is used as part of
the Path MTU Discovery process.
 ICMPv6 message should not be generated as a response to a packet
with an IPv6 multicast destination address.
 Type field is set to 2, which is the value for the Packet Too Big.
 Code field is set to 0 by the originator and ignored by the receiver.
 MTU field is the Maximum Transmission Unit of the next-hop link.
 Message Body field is same as Destination Unreachable.
Type = 3 Code = 0 or 1 Checksum (16Bit)
Unused (32Bit)
IPv6 header plus as much as fits of Original data (Variable)
 If a router receives a packet with a Hop Limit of zero, or if a router
decrements a packet's Hop Limit to zero, it must discard the packet
and originate an ICMPv6 Time Exceeded message with Code 0 to the
source of the packet. This indicates either a routing loop or too small
an initial Hop Limit value.
 Type field is set to 3, which is the value for the Time Exceeded.
 Code field is set to 0 when Hop limit exceeded in transit and set to 1
when Fragment reassembly time exceeded.
 Unused and Messages Body fields is same as Destination
Unreachable.
Type = 4 Code = 0 - 2 Checksum (16Bit)
Pointer (32Bit)
IPv6 header plus as much as fits of Original data (Variable)
 If an IPv6 node cannot complete the processing of a packet because
it has a problem identifying a field in the IPv6 header or in an
Extension header, it must discard the packet, and it should send an
ICMP Parameter Problem message back to the source of the problem
packet.
 Type field is set to 4, which is the value for the Parameter Problem.
 Code field is indicates the Parameter Problem.
 0 – Erroneous header field encountered.
 1 – Unrecognized next header type encountered.
 2 – Unrecognized IPv6 option encountered.
 Pointer field identifies the octet offset within the invoking packet
where the error was detected.
 For example, an ICMPv6 message with a Type field of 4, Code field
of 1, and Pointer field of 40 would indicate that the IPv6 extension
header following the IPv6 header of the original packet holds an
unrecognized Next Header field value.
 Message Body field is same as Destination Unreachable.
Type = 128 Code = 0 Checksum (16Bit)
Identifier (16Bit) Sequence Number (16Bit)
Data (Variable)
 An IPv6 node sends an ICMPv6 Echo Request message to a
destination to solicit an immediate Echo Reply message.
 The Echo Request/Echo Reply message facility provides a simple
diagnostic function to aid in the troubleshooting of a variety of
reachability and routing problems.
 Type field is set to 128, which is the value for the Echo Request.
 Code field is set to 0.
 Identifier and Sequence Number fields are set by the sending host
so that they can be used to match an incoming Echo Replies.
 Data field is zero or more bytes of optional data that is also set by
the sending host.
Type = 129 Code = 0 Checksum (16Bit)
Identifier (16Bit) Sequence Number (16Bit)
Data (Variable)
 An IPv6 node sends an ICMPv6 Echo Reply message in response to
the receipt of an ICMPv6 Echo Request message.
 Type field is set to 129, which is the value for the Echo Reply.
 Code field is set to 0.
 Identifier, Sequence Number and Data fields are set with the same
values as those in the Echo Request message.
 Path Maximum Transmission Unit (PMTU) is the smallest link
MTU supported by any link in the path between a source and a
destination.
 Fragmentation in IPv6 is not performed by intermediary routers.
 The source node may fragment packets by itself only when the path
MTU is smaller than the packets to deliver.
 To discover the PMTU of the current path, the sending node relies
on the receipt of ICMPv6 Packet Too Big messages.
 Determining the MTU has two choices.
 Use Default MTU of 1280, which all physical networks must be
able to handle. Good choice especially for short communications or
for sending small amounts of data.
 Use Path MTU Discovery feature, a node sends messages over a
route to determine what the overall minimum MTU for the
path.
 The PMTU is discovered through the following process:
1. The sending node assumes that the path MTU is the link MTU of
the interface on which the traffic is being forwarded.
2. The sending node sends IPv6 packets at the path MTU size.
3. If a router on the path is unable to forward the packet over a link
with a link MTU that is smaller than the size of the packet, it
discards the IPv6 packet and sends an ICMPV6 Packet Too Big
message back to the sending node. The ICMPV6 Packet Too
Big message contains the link MTU of the link on which the
forwarding failed.
4. The sending node sets the path MTU for packets being sent to the
destination to the value of the MTU field in the ICMPv6 Packet
Too Big message.
5. The sending node starts again at step 2 and repeats steps 2
through 4 for as many times as are necessary to discover the path
MTU.
MTU 1500 MTU 1400 MTU 1300

Source Router A Router B Destination


Packet (MTU=1500)
ICMPv6 (Type 2)
Use MTU = 1400
Packet (MTU=1400)

ICMPv6 (Type 2) Use MTU = 1300

Packet (MTU=1300)

Packet Received
Msg No. Msg Type Description
 128 Echo Request RFC 4443. Used for the
 129 Echo Reply ping & trace route.
 130 Multicast Listener Query RFC 2710. Used for
 131 Multicast Listener Report multicast group
 132 Multicast Listener Done management.
 133 Router Solicitation RFC 2461. Used for
 134 Router Advertisement neighbor discovery and
 135 Neighbor Solicitation Auto Configuration.
 136 Neighbor Advertisement
 137 Redirect Message
 138 Router Renumbering RFC 2894.
 139 ICMP Node Information Query draft-ietf-ipngwg-icmp-
 140 ICMP Node Information Response name-lookups-15.txt
Msg No. Msg Type Description
 141 Inverse ND Solicitation RFC 3122.
 142 Inverse ND Advertisement
 143 Version 2 Multicast Listener Report RFC 3810.
 144 IMCP Home Agent Address RFC 3775. ICMPv6
Discovery Request Message messages for Mobile IPv6
 145 ICMP Home Agent Address
Discovery Request Message
 146 ICMP Mobile Prefix Solicitation
 147 ICMP Mobile Prefix Advertisement
 148 Certification Path Solicitation RFC 3971. SEcure
 149 Certification Path Advertisement Neighbor Discovery
 151 Multicast Router Advertisement RFC 4286
 152 Multicast Router Solicitation
 153 Multicast Router Termination
Msg No. Msg Type Description
 157 Duplicate Address Request Code RFC 8505
Suffix
 158 Duplicate Address Confirmation Code
Suffix
 160 Extended Echo Request Message RFC 8335
 161 Extended Echo Reply Message
 IPv6 ND is a set of messages and processes defined in RFC 4861
that determine relationships between neighboring nodes.
 ND replaces Address Resolution Protocol (ARP), ICMP Router
Discovery and Redirect used in IPv4 and provides additional
functionality.
 IPv6 nodes use Neighbor Discovery for the following purposes:
• For autoconfiguration of IPv6 addresses
• To determine network prefixes, routes and other configuration
information
• For Duplicate IP address detection (DAD)
• To determine layer two addresses of nodes on the same link
• To find neighboring routers that can forward their packets
• To keep track of which neighbors are reachable and which are
not (NUD)
• To detect changed link-layer addresses
 Router Solicitation(RS) Message ICMPv6 Type 133, Sent by hosts
to request that any local routers send a Router Advertisement message
so they don't have to wait for the next regular advertisement message.
 Router Advertisement(RA) Message ICMPv6 Type 134, Sent by
routers to tell hosts that they exist and provide important prefix and
parameter information to them.
 Neighbor Solicitation(NS) Message ICMPv6 Type 135, Sent by
nodes to verify the existence of another host and to ask it to transmit a
Neighbor Advertisement.
 Neighbor Advertisement(NA) Message ICMPv6 Type 136, Sent by
hosts to indicate the existence of the host and provide information
about it.
 Redirect Message ICMPv6 Type 137, Sent by router to tell a host of
a better method to route data to a particular destination.
 ND solves a set of problems related to the interaction between
nodes attached to the same link. It defines 9 set of mechanisms and
can be categorized into three functions
1. Host-Router Functions
2. Host-Host Communication Functions
3. Redirect Function
 Router Discovery is how a host discovers the local routers on an
attached link. This process is equivalent to ICMPv4 router discovery.
 Prefix Discovery is the process by which hosts discover the network
prefixes for local link destinations. This is similar to the exchange of the
ICMPv4 Address Mask Request and Address Mask Reply messages.
 Parameter Discovery is the process by which host discovers link
parameters (such as the link MTU) or Internet parameters (such as the
hop limit value) to place in outgoing packets.
 Address Autoconfiguration is the mechanisms needed in order to
allow nodes to configure an address for an interface in a stateless
manner in absence of DHCPv6 Router.
 Address resolution is the process by which nodes resolve a neighbor’s
IPv6 address to its link-layer address. It is equivalent to ARP in IPv4.
 Next-hop determination is the algorithm for mapping an IPv6
destination address into the IPv6 address of the neighbor to which traffic
for the destination should be sent. The next- hop can be a router or the
destination itself.
 Neighbor Unreachability Detection is a process that nodes determine
that a neighbor is no longer reachable. For neighbors used as routers,
alternate default routers can be tried. For both routers and hosts, address
resolution can be performed again.
 Duplicate Address Detection, a node determines whether or not an
address it wishes to use is already in use by another node. This process is
equivalent to using gratuitous ARP frames in IPv4.
 Redirect, a router informs a host of a better first-hop node to reach a
particular destination. It is equivalent to the use of the ICMPv4 Redirect.
 Neighbor Discovery messages include zero or more options, some of
which may appear multiple times in the same message. Options should be
padded when necessary to ensure that they end on their natural 64-bit
boundaries. ND options are formatted in type-length-value (TLV) format.
 Type Option Name
1 Source Link-Layer Address (Eg. IEEE 802 Address)
2 Target Link-Layer Address
3 Prefix Information
4 Redirected Header
5 MTU
Type (8Bit) Length (8Bit) Link Layer Address (Variable)

 Type field is set to 1 for a Source Link-Layer Address option and is set to
2 for a Target Link-Layer Address option.
 Length field is length of the option (including the type and length
fields) in units of 8 octets.
 The Source Link-Layer Address option contains the link-layer address of
the sender of the packet. It is used in the Neighbor Solicitation, Router
Solicitation, and Router Advertisement packets.
 The Target Link-Layer Address option contains the link-layer address of
the target. It is used in Neighbor Advertisement and Redirect packets.
 These options must be silently ignored for other Neighbor Discovery
messages.
Type = 3 Length = 4 Prefix Length L|A|R|Reserve
Valid Lifetime (32 Bit)
Preferred Lifetime (32 Bit)
Reserved2 (32 Bit)
Prefix (128 Bit)

 Type field is set to 3 for a Prefix Information.


 Length field is same as Source/Target Link Layer Address option.
 Prefix Length(8 Bit) field indicates the number of leading bits in the
prefix are valid and the value ranges from 0 to 128.
 L (1 Bit) On-Link flag indicates, when set to 1, that the addresses
implied by the included prefix are available on the link on which this
Router Advertisement message was received.
 A (1 Bit) Autonomous flag indicates, when set to 1, that the included
prefix is used to create an autonomous (or stateless) address
configuration.
 R (1 Bit) Router Address flag is defined in RFC 6275 for Mobile IPv6.
 Valid Lifetime (32 Bit) field also indicates the number of seconds that
the included prefix is valid for on-link determination. For an infinite valid
lifetime set to 0xFFFFFFFF.
 Preferred Lifetime (32 Bit) field indicates the number of seconds that
an address, based on the included prefix and using stateless address
autoconfiguration, remains in a preferred state. For an infinite preferred
lifetime set to 0xFFFFFFFF.
 Prefix (128 Bit) field indicates prefix for the IPv6 address derived
through stateless autoconfiguration. The bits in the prefix after the prefix
length are reserved and must be initialized to zero by the sender and
ignored by the receiver.
Type = 4 Length Reserved (16 Bit)
Reserved2 (32 Bit)
IP Header + Data (Variable)

 Type field is set to 4 for a Prefix Information.


 Length field is same as Source/Target Link Layer Address option.
 IP Header + Data (Variable) field contains the original packet truncated
to ensure that the size of the redirect message does not exceed the
minimum MTU required to support IPv6 as specified in IPv6.
Type = 5 Length = 1 Reserved (16 Bit)
MTU (32 Bit)

 Type field is set to 4 for a Prefix Information.


 Length field is same as Source/Target Link Layer Address option.
 MTU (32 Bit) field indicates the IPv6 MTU that should be used by the
host for the link on which the Router Advertisement was received. The
value in the MTU field is ignored if it is larger than the link MTU or if it is
smaller than 1280.
Type Description Reference
1 Source Link-layer Address RFC 4861
2 Target Link-layer Address RFC 4861
3 Prefix Information RFC 4861
4 Redirect Header RFC 4861
5 MTU RFC 4861
6 NBMA Shortcut Limit Option RFC 2491
7 Advertisement Interval Option RFC 6275
8 Home Agent Information Option RFC 6275
9 Source Address List RFC 3122
 10 Target Address List RFC 3122
 11 CGA option RFC 3971
 12 RSA Signature option RFC 3971
 13 Timestamp option RFC 3971
 14 Nonce option RFC 3971
Type Description Reference
 15 Trust Anchor option RFC 3971
 16 Certificate option RFC 3971
 17 IP Address/Prefix Option RFC 5568
 18 New Router Prefix Information Option RFC4068
 19 Link-layer Address Option RFC 5568
 20 Neighbor Advertisement Acknowledgment Option RFC 5568
 21 PvD ID Router Advertisement Option (reclaimable in future)
draft-ietf-intarea-provisioning-domains
 22 Unassigned23MAP Option RFC 4140
 24 Route Information Option RFC 4191
 25 Recursive DNS Server Option RFC 5006 & RFC 8106
 26 RA Flags Extension Option RFC 5175
 27 Handover Key Request Option RFC 5269
 28 Handover Key Reply Option RFC 5269
Type Description Reference
 29 Handover Assist Information Option RFC 5271
 30 Mobile Node Identifier Option RFC 5271
 31 DNS Search List Option RFC 8106
 32 Proxy Signature (PS) RFC 6496
 33 Address Registration Option RFC 6775
 34 6LoWPAN Context Option RFC 6775
 35 Authoritative Border Router Option RFC 6775
 36 6LoWPAN Capability Indication Option (6CIO)[RFC 7400]
 37 DHCP Captive-Portal RFC 7710
 138 CARD Request option RFC 4065
 139 CARD Reply option RFC 4065
 253 RFC3692-style Experiment 1 RFC 4727
 254 RFC3692-style Experiment 2 RFC 4727
Type = 133 Code = 0 Checksum (16Bit)
Reserved (32Bit)
Options (Variable)

 Hosts send Router Solicitations in order to prompt routers to generate


Router Advertisements quickly.
 Destination Address field in IPv6 header is set to all-routers multicast
address.
 Hop Limit field in IPv6 header is set to 255.
 Possible Options are Source link-layer address, the link-layer address of
the sender, if known. Must not be included if the Source Address is the
unspecified address. Otherwise, it should be included on link layers that
have addresses.
Type = 134 Code = 0 Checksum (16Bit)
Cur Hop Limit M | O | Reserve Router Lifetime (16Bit)
Reachable Time (32Bit)
Retrans Timer (32Bit)
Options (Variable)

 Routers send out Router Advertisement messages periodically, or in


response to Router Solicitations.
 Destination Address field in IPv6 header is set to the Source Address of
an invoking Router Solicitation or the all-nodes multicast address.
 Hop Limit field in IPv6 header is set to 255.
 Cur Hop Limit (8Bit), default value that should be placed in the Hop
Count field of the IP header for outgoing IP packets. A value of zero means
unspecified (by this router).
 Managed address configuration(1Bit) flag when set, it indicates that
hosts receiving this Router Advertisement message must use an address
configuration protocol such as DHCPv6 to obtain addresses in addition to
the addresses that might be derived from stateless address
autoconfiguration.
 Other configuration(1Bit) flag when set, it indicates that other
configuration information is available via DHCPv6. Examples of such
information are DNS-related information or information on other servers
within the network.
 Router Lifetime(16Bit) field indicates the lifetime (in seconds) of the
router as the default router. The maximum Router Lifetime value is 65,535
seconds (about 18.2 hours). A value of 0 indicates that the router cannot
be considered a default router; however, all other information contained in
the Router Advertisement is still valid.
 Reachable Time(32Bit) field, in milliseconds, that a node assumes a
neighbor is reachable after having received a reachability confirmation.
Used by the Neighbor Unreachability Detection algorithm. A value of zero
means unspecified (by this router).
 Retrans Timer(32Bit) field in milliseconds, between retransmitted
Neighbor Solicitation messages. Used by address resolution and the
Neighbor Unreachability Detection algorithm. A value of zero means
unspecified (by this router).
 Possible Options are Source link-layer address, MTU and Prefix
Information.
Type = 135 Code = 0 Checksum (16Bit)
Reserved (32Bit)
Target Address (128 Bit)
Options (Variable)

 Nodes send Neighbor Solicitations to request the link-layer address of a


target node while also providing their own link-layer address to the target.
 Neighbor Solicitations are multicast when the node needs to resolve an
address and unicast when the node seeks to verify the reachability of a
neighbor.
 Destination Address field in IPv6 header is set to either the solicited-
node multicast address corresponding to the target address, or the target
address.
 Hop Limit field in IPv6 header is set to 255.
 Target Address(128Bit) field indicates the IP address of the target.
 Possible Options are Source link-layer address.
Type = 136 Code = 0 Checksum (16Bit)
R|S|O| Reserved (29 Bit)
Target Address (128 Bit)
Options (Variable)

 A node sends Neighbor Advertisements in response to Neighbor


Solicitations and sends unsolicited Neighbor Advertisements in order to
(unreliably) propagate new information quickly.
 Destination Address field in IPv6 header is set to the Source Address of
an invoking Neighbor Solicitation or, if the solicitation's Source Address is
the unspecified address, the all-nodes multicast address.
 Hop Limit field in IPv6 header is set to 255.
 Router flag(1Bit) when set, the sender is a router. The Router flag is
used by the neighbor unreachability detection process to determine when
a router changes to a host.
 Solicited flag(1Bit) when set, the advertisement was sent in response to
a Neighbor Solicitation from the Destination address. The Solicited flag is
used as a reachability confirmation for Neighbor Unreachability
Detection. It must not be set in multicast advertisements or in unsolicited
unicast advertisements.
 Override flag(1Bit) when set, the advertisement should override an
existing cache entry and update the cached link-layer address. When it is
not set the advertisement will not update a cached link-layer address
though it will update an existing Neighbor Cache entry for which no link-
layer address is known. It should not be set in solicited advertisements for
anycast addresses and in solicited proxy advertisements. It should be set in
other solicited advertisements and in unsolicited advertisements.
 Target Address(128Bit) field indicates the address being advertised. For
solicited Neighbor Advertisement messages, the target address is set to the
value of the Target Address field in the corresponding Neighbor
Solicitation. For unsolicited Neighbor Advertisement messages, the target
address is the address whose link-layer address has changed.
 Possible Options are Target link-layer address.
Type = 137 Code = 0 Checksum (16Bit)
Reserved (32Bit)
Target Address (128 Bit)
Destination Address (128 Bit)
Options (Variable)

 Routers send Redirect packets to inform a host of a better first-hop


node on the path to a destination.
 A Redirect message can also inform a node that the destination used is
in fact a neighbor on the same link and not a node on a remote subnet.
 Source address field in IPv6 header is set to the link-local address of the
interface from which the message is sent
 Destination Address field in IPv6 header is set to Source Address of the
packet that triggered the redirect.
 Hop Limit field in IPv6 header is set to 255.
 Target Address field indicates the better next-hop address for packets
addressed to the node in the Destination Address field. For offlink traffic,
the Target Address field is set to the link-local address of a local router. For
on-link traffic, the Target Address field is set to the Destination Address
field in the Redirect message.
 Destination Address field is a IP address of the destination that is
redirected to the target.
 Possible Options are Target link-layer address and Redirect Header.
 To facilitate interactions between neighboring nodes, RFC 4861 defines
the following conceptual host data structures as an example of how to
store information for ND processes.

 Neighbor cache : The neighbor cache stores the on-link IP address of


each neighbor, its corresponding link-layer address, and an indication of
the neighbor’s reachability state. The neighbor cache is equivalent to the
ARP cache in IPv4.

 Destination cache : The destination cache stores information on next-


hop IP addresses for destinations to which traffic has recently been sent.
Each entry in the destination cache contains the destination IP address
(either local or remote), the previously resolved next-hop IP address, and
the path MTU for the destination.
 Prefix list : The prefix list contains on-link prefixes. Each entry in the
prefix list defines a range of IP addresses for destinations that are directly
reachable (neighbors). This list is populated from prefixes advertised by
routers using the Router Advertisement message.

 Default router list : IP addresses corresponding to on-link routers that


have sent Router Advertisement messages and that are eligible to be
default routers are included in the default router list.
Check destination cache for an entry
matching the destination address Check the neighbor cache for an
entry matching the next-hop
address

Entry Found Yes


Obtain next-hop address from
in destination
destination cache entry Is next-hop Yes Sent packet using link-
cache? address entry
layer address of neighbor
in neighbor
cache entry
cache?
No
Check prefix list for a prefix that
matches the destination address
Update destination cache No

Use address resolution process to


determine the link-layer address
Does the of the next-hop address
destination
Yes
Set the next-hop address to
address match
the default router address
a prefix in the
prefix list?
Was address Yes
resolution Update neighbor cache
successful?
No

Is there a No No
default
router? Indicate an error

Yes Set the next-hop address to


the default router address
 The address resolution process for IPv6 nodes consists of an exchange
of Neighbor Solicitation and Neighbor Advertisement messages to resolve
the link-layer address of the on-link next-hop address for a given
destination.
 The sending host sends a multicast Neighbor Solicitation message
on the appropriate interface.
 The multicast address of the Neighbor Solicitation message is the
solicited-node multicast address derived from the target IP address.
 The Neighbor Solicitation message includes the link-layer address of
the sending host in the Source Link-Layer Address option.
 When the target host receives the Neighbor Solicitation message, it
updates its own neighbor cache based on the source address of the
Neighbor Solicitation message and the link-layer address in the Source
Link-Layer Address option.
 Next, the target node sends a unicast Neighbor Advertisement to the
Neighbor Solicitation sender.
 The Neighbor Advertisement includes the Target Link-Layer Address
option.
 After receiving the Neighbor Advertisement from the target, the
sending host updates its neighbor cache with an entry for the target based
upon the information in the Target Link-Layer Address option.
 At this point, unicast IPv6 traffic between the sending host and the
target of the Neighbor Solicitation can be sent.
Host A Host B

MAC Address: MAC Address:


00:1F:D0:E9:E2:52 FC:C2:3D:03:54:9E
Link Local Address: Link Local Address:
FE80::21F:D0FF:FEE9:E252 FE80::FEC2:3DFF:FE03:549E
Global Address: Global Address:
2000::1234:5679 2000::1234:5678
Host A Neighbor Solicitation Host B

Multicast Neighbor Solicitation

Ethernet Header
Dst MAC: 33:33:FF:34:56:78
IPv6 Header
Src IP: 2000::1234:5679
Dst IP: FF02::1:FF34:5678
Hop Limit : 255
Neighbor Solicitation
Target Address : 2000::1234:5678
Neighbor Discovery Option
Source Link Layer : 00:1F:D0:E9:E2:52
Host A Neighbor Advertisement Host B

Unicast Neighbor Advertisement

Ethernet Header
Dst MAC: 00:1F:D0:E9:E2:52
IPv6 Header
Src IP: 2000::1234:5678
Dst IP: 2000::1234:5679
Hop Limit : 255
Neighbor Advertisement
Target Address : 2000::1234:5678
Neighbor Discovery Option
Target Link Layer : FC:C2:3D:03:54:9E
 A neighboring node is reachable if there has been a recent confirmation
that IPv6 packets sent to the neighboring node were received and
processed by the neighboring node.
 Neighbor unreachability does not necessarily verify the end-to-end
reachability of the destination. Because a neighboring node can be a host
or router, the neighboring node might not be the final destination of the
packet.
 Neighbor unreachability verifies only the reachability of the first hop to
the destination.
 Reachability is determined by the receipt of a Neighbor Advertisement
message in response to a unicast Neighbor Solicitation message.
 Another method of determining reachability is when upper-layer
protocols indicate that the communication using the next-hop address is
making forward progress.
Host A Neighbor Solicitation Host B

Unicast Neighbor Solicitation

Ethernet Header
Dst MAC: FC:C2:3D:03:54:9E
IPv6 Header
Src IP: FE80::21F:D0FF:FEE9:E252
Dst IP: FE80::FEC2:3DFF:FE03:549E
Hop Limit : 255
Neighbor Solicitation
Target Address : FE80::FEC2:3DFF:FE03:549E
Neighbor Discovery Option
Source Link Layer : 00:1F:D0:E9:E2:52
Host A Neighbor Advertisement Host B

Unicast Neighbor Advertisement

Ethernet Header
Dst MAC: 00:1F:D0:E9:E2:52
IPv6 Header
Src IP: FE80::FEC2:3DFF:FE03:549E
Dst IP: FE80::21F:D0FF:FEE9:E252
Hop Limit : 255
Neighbor Advertisement
Target Address : FE80::FEC2:3DFF:FE03:549E
 IPv4 nodes use ARP Request messages and a method called Gratuitous
ARP to detect a duplicate IP address on the local link.
 Similarly, IPv6 nodes use the Neighbor Solicitation message to detect
duplicate address use on the local link.
 Before a node can configure its IPv6 address using stateless
autoconfiguration, it must verify on the local link that the tentative
address it wants to use is unique and not already in use by another mode.
 Node sending a Neighbour Solicitation (NS) on the local link using
unspecified address (::) as its source address and solicited-node
multicast of the tentative unicast address as the destination address.
 If a duplicate address – no assignment of this unicast address.
 For a duplicate address, the defending node replies with a multicast
Neighbor Advertisement.
 An IPv6 node does not perform duplicate address detection for anycast
addresses.
Host A Host B Host C

MAC Address: 00:1F:D0:E9:E2:52 MAC Address: FC:C2:3D:03:54:9E


Link Local Address: Link Local Address:
FE80::21F:D0FF:FEE9:E252 FE80::FEC2:3DFF:FE03:549E
Global Address: Global Address:
2000::1234:5679 2000::1234:5678

MAC Address: 00:22:85:33:44:55


1. Host B is offline (Power Off ). Link Local Address:
2. Communication happen between Hosts FE80::222:85FF:FE33:4455
A & C. Global Address:
3. Now Host B came to online. And Host B 2000::1234:5678
gets no Unicast address assign.
Host A Host B Host C

Multicast Neighbor Solicitation

Ethernet Header 1. Host A & C


Dst MAC: 33:33:FF:34:56:78 Communicated and
IPv6 Header Host B came online.
Src IP: ::
Dst IP: FF02::1:FF34:5678 2. Host B sends
Hop Limit : 255 Neighbor Solicitation
Neighbor Solicitation
Target Address : 2000::1234:5678
Host A Host B Host C

Multicast Neighbor Advertisement


Host C sends
multicast Ethernet Header
Neighbor Dst MAC: 33:33:00:00:00:01
Advertisement IPv6 Header
Src IP: 2000::1234:5678
Dst IP: FF02::1
Hop Limit : 255
Neighbor Advertisement
Target Address : 2000::1234:5678
Neighbor Discovery Option
Target Link Layer : 00:22:85:33:44:55
 Router discovery is the process through which nodes attempt to
discover the set of routers on the local link.
 Routers periodically send Router Advertisements to allow hosts to
discover Routers.
 Lifetime field in the Router Advertisement message indicates the length
of time that the router can be considered a default router.
 If the current default router becomes unavailable, the condition is
detected through neighbor unreachability detection instead of the Router
Lifetime field in the Router Advertisement message.
 Because neighbor unreachability detection determines that the router is
no longer reachable, a new router is chosen immediately from the default
router list.
Host Router Solicitation Router

Multicast Router Solicitation

Ethernet Header
Dst MAC: 33:33:00:00:00:02
IPv6 Header
Src IP: FE80::222:85FF:FE33:4455
Dst IP: FF02::02
Hop Limit : 255
Router Solicitation
Neighbor Discovery Option
Source Link Layer : 00:22:85:33:44:55
Host Router Advertisement Router

Multicast Router Advertisement

Ethernet Header
Dst MAC: 33:33:00:00:00:01
IPv6 Header
Src IP: FE80::21F:D0FF:FEE9:E252
Dst IP: FF02::1
Hop Limit : 255
Router Advertisement
Cur Hop Limit, Flags, Router/Reachable/Retrans
Neighbor Discovery Option
Source link-layer address, MTU, Prefix information
In addition to configuring a default router, IPv6 router discovery also
configures the following:
 Default value of Hop Limit field.
 Use of stateful address protocol, such as DHCPv6, for addresses and
other configuration parameters.
 The timers used in reachability detection and the retransmission of
Neighbor Solicitations.
 The list of network prefixes defined for the link. Each network prefix
contains both the network prefix and its valid and preferred lifetimes.
 The MTU of the local link.
 Specific routes to add to the routing table.
 When an IPv6 address is assigned, it goes through various states either
before assigning or after assigning. These address states are applicable to
both manually and automatically configured addresses.
 Tentative address :
 The address is in the process of being verified as unique.
 Verification occurs through duplicate address detection.
 When an address is configured on a network interface (either
manually or automatically), the address is initially in the tentative
state.
 An interface discards received packets addressed to a tentative
address, but accepts Neighbor Discovery packets related to
Duplicate Address Detection (DAD) for the tentative address.
 Duplicate address :
• If DAD finds that an address is not unique, it is moved to the
duplicate state. Such an address cannot be used for sending and
receiving data.
 Preferred address :
• An address used to send and receive data packets from and to a
network interface without any restriction on the upper layer protocols.
 Deprecated address :
• A preferred address becomes deprecated when its preferred lifetime
expires. The use of this address is discouraged, but not prohibited.
 Valid address :
• A uniquely verified address that you can assign to a network interface
for sending and receiving data. A valid address can be a preferred or
deprecated address.
 Invalid address :
• A network interface address that can no longer send or receive data
packets. A valid address becomes invalid when its valid lifetime
expires. An invalid address is removed from the network interface.
It works (roughly) as follows:
 The host configures a link-local address.
 It checks that the address is unique – i.e., it performs Duplicate Address
Detection (DAD) for that address.
• Sends a NS, and waits for any answers.
 The host sends a Router Solicitation message.
 When a Router Advertisement is received, it configures a “tentative”
IPv6 address.
 It checks that the address is unique – i.e., it performs Duplicate Address
Detection (DAD) for that address.
• Sends a NS, and waits for any answers.
 If the address is unique, it typically becomes a “preferred” address.
Link-local
only
Router
Advertisement

New Address DAD Unsuccessful


Tentative Duplicate

DAD Successful

Valid
Preferred
Preferred Lifetime
Expired
Valid Lifetime Expired
Deprecated Invalid
 Routers use the redirect function to inform originating hosts of a better
first-hop neighbor to which traffic should be forwarded for a specific
destination.
 Nodes receiving it may modify its routing table according to the new
router address.
 There are two instances where redirect is used
1. A router informs an originating host of the IP address of a router
available on the local link that is “closer” to the destination.
• “Closer” is routing metric function used to reach the destination
network segment.
• This condition can occur when there are multiple routers on a
network segment and the originating host chooses a default
router and it is not the best one to use to reach the destination.
2. A router informs an originating host that the destination is a
neighbor (it is on the same link as the originating host).
• This condition can occur when the prefix list of a host does not
include the prefix of the destination.
• Because the destination does not match a prefix in the list, the
originating host forwards the packet to its default router.
 The originating host forwards a unicast packet to its default router.
 The router processes the packet and notes that the address of the
originating host is a neighbor.
 The router forwards the packet to the appropriate next-hop address.
 The router sends the originating host a Redirect message.
 Upon receipt of the Redirect message, the originating host updates
the destination address entry in the destination cache with the
address in the Target Address field.
(1) Send packets to Router 1

Host A

(3) ICMPv6 Redirect

(2) Router 1 forwards the packet


Router 1 to Router 2 Router 2
 Routing concepts remain same in case of IPv6 but almost all routing
protocols have been redefined accordingly.
 RIPng : RIPng stands for Routing Information Protocol Next
Generation. This is an Interior Routing Protocol and is a Distance
Vector Protocol. RIPng has been upgraded to support IPv6.
 OSPFv3 : Open Shortest Path First version 3 is an Interior Routing
Protocol which is modified to support IPv6. This is a Link-State
Protocol and uses Djikrasta’s Shortest Path First algorithm to calculate
best path to all destinations.
 BGPv4 : BGP stands for Border Gateway Protocol. It is the only open
standard Exterior Gateway Protocol available. BGP is a Distance
Vector protocol which takes Autonomous System as calculation
metric, instead of the number of routers as Hop. BGPv4 is an upgrade
of BGP to support IPv6 routing.
 A wide range of techniques have been identified and implemented,
basically falling into three categories:
1. Dual-stack techniques, to allow IPv4 and IPv6 to co-exist in the
same devices and networks
2. Tunneling techniques, to avoid order dependencies when
upgrading hosts, routers, or regions
3. Translation techniques, to allow IPv6-only devices to
communicate with IPv4-only devices
 Expect all of these to be used, in combination
 Each node supports both IPv4 and IPv6.
 Domain names include both A and AAAA (Quad A) records IPv4 or
IPv6 are used as needed.
 Dual-stack was the original transition co-existence plan, and still is
the recommended strategy for servers
 Virtually all popular operating systems include native IPv6 support
enabled by default.
IPv4
IPv4
Continuity

Dual Stack
Network IPv4
Internet
Dual Stack Dual-stack
Network
Core

Dual Stack IPv6 Internet


Network
IPv6
Migration IPv6
 Each node supports both IPv4 and IPv6.
 Domain names include both A and AAAA (Quad A) records IPv4 or
IPv6 are used as needed.
 Dual-stack was the original transition co-existence plan, and still is
the recommended strategy for servers
 Virtually all popular operating systems include native IPv6 support
enabled by default.

Das könnte Ihnen auch gefallen