Introduction to IPv6
Presented By: Ankita Mahajan
Text Representation of Address
● IPv6 add. are 128-bit identifiers for interfaces.
● Colon-Hexadecimal form:
Compressed Format: 3ffe:b00:c18:1::10
● IPv4 compatible: 1) 0:0:0:0:0:0:22.214.171.124
● Text Representation Flexibility:
Leading Zeros in a 16-Bit Field
Uppercase or Lowercase
Combining IPv6 add with Port no.
Problems with flexible model
Searching Spreadsheets and Text Files (No
Searching with Whois
Searching for an Address in a N/w Diagram
Parsing and Modifying
Logging (Full rep. highly unreadable)
Verification: ex) X.509 certificates
IP address abuse
Canonical IPv6 rep. RFC:5952
Following representations MUST be followed:
1. Eliminate Leading Zeroes in all 16 bit fields.
2. Shorten the largest Zero sequence using "::"
3.. Handling One 16-Bit 0 Field:
4. First sequence of zero bits MUST be
shortened if all sequences r of equal length.
5. Must be Lowercase
6. [2001:db8::1]:80 is default rep. (RFC: 3986)
Types of IPv6 Addresses
1. Unicast: An identifier for a single interface.
Exception: A unicast address or a set of
unicast addresses may be assigned to
multiple physical interfaces. ex) Load sharing.
2. Anycast: An identifier for a set of interfaces.
3. Multicast: An identifier for a set of interfaces.
.'. There are no broadcast addresses in IPv6.
Subnet prefix: all of the address, starting from
the left, up to and including this field.
Prefix rep. is similar to CIDR
ex) 2001:0DB8:0000:CD30:0000:0000:0000:0000/60 or
2001:0DB8:0:CD30::/60 for a 60 bit
Address="n bits prefix + (128-n) bits interface id"
Ex) Node Address: 2001:0DB8:0:CD30:123:4567:
and its subnet number 2001:0DB8:0:CD30::/60
can be abbreviated as 2001:0DB8:0:CD30:123:
Address type Binary prefix: IPv6 notation
Unspecified 00...0 (128 bits) ::/128
Loopback 00...1 (128 bits) ::1/128
Multicast 11111111 FF00::/8
Link-Local unicast 1111111010 FE80::/10
IPv4 compatible 000...0 (96 Zero bits) IPv4add
IPv4-Mapped 000...0 (80 zeroes) FFFF IPv4add
(Mapped: For Nodes that only understand IPv4)
Global Unicast (everything else)
Anycast addresses are taken from global unicast
Global Unicast Addresses
Interface identifiers in unicast addresses are required to be
unique on a link, ie within a subnet prefix.
Interface identifiers may be universally unique when
derived from IEEE 802 48-bit MAC
n bits | m bits | 128-n-m bits
global routing prefix | subnet ID | interface ID
Global routing prefix: hierarchically structured value
assigned to a site (a cluster of subnets/links),
Subnet ID: An identifier of a link within the site
For any anycast add, there is a longest prefix P
of that add that identifies a topological region.
(Useful for aggregating interfaces)
Subnet-Router Anycast Address:
Anycast address of all Routers on a Subnet.
n bits | 128-n bits
SubnetPrefix | 000...0
Multicast Address Format
| 8 | 4 | 4 | 112 bits | Flags= ORPT
| 11111111 | flgs | scop | group ID | O = 0 (reserved)
T = 0: Permanently-assigned ("well-known") multicast
address. (assigned by IANA)
T = 1: Non-permanently-assigned ("dynamically" assigned).
Scope: limit the scope of the multicast group.
0,3,F reserved 1 Interface-Local scope
2 Link-Local scope 4 Admin-Local scope
5 Site-Local scope 6,7,9,A,B,C,D unassigned
8 Organization-Local scope E Global scope
A Node’s Required Addresses
A host is required to recognize the following
addresses to identify itself:
1. Its Link-Local address for each interface.
2. Any additional Unicast and Anycast address.
3. The loopback address.
4. The All-Nodes (well-known) multicast add's.
FF01:0:0:0:0:0:0:1 and FF02:0:0:0:0:0:0:1
5. The Solicited-Node multicast address (FF02:0:0:
0:0:1:FFXX:XXXX) for each of its unicast and
6. Multicast addresses of all its other groups.
Router's required addresses
A router is required to recognize all addresses
that a host is required, plus the following:
1 The Subnet-Router Anycast addresses for all
interfaces for which it acts as a router.
2 All other Anycast addresses configured.
3 The All-Routers multicast addresses:
Packet Size Issues
IP address= 128 bits (16 Bytes) (4 times IPv4)
Min packet size=40B (Double of IPv4)
IPv6 requires an MTU >= 1280 octets at all
links. (Otherwise link-specific fragmentation
and reassembly must be provided at a layer
Traffic class field
● The 8-bit field is used by source and/or routers
to identify and distinguish between different
classes or priorities of IPv6 packets.
● Service interface must provide means for upper-
layer protocol to supply the value of traffic class.
● Value of traffic class can be changed by source,
● An upper-layer protocol should not assume the
value of traffic class in a packet has not been
Flow Label field (20-bit field)
● Used by source to label sequences of related
packets for which it requests special handling by the
● Unique flow (source address + destination address
+ non-zero flow label)
● Flow label of zero => packet not part of any flow.
● A source can re-use a flow label after the
maximum_lifetime of the flow-handling state
(currently using the flow no) has expired.
● Routers may treat separate flows differently:
Buffer sizes, forwarding precedence,QoS, etc
● The option to set the flow label in a forwarding node
is disabled by default
● RSVP (Stateful)
● General Internet Signaling Transport (stateful)
● Stateless load distribution. Especially accross:
Equal Cost Multi-Path (ECMP) and/or
Link Aggregation Group (LAG) paths.
1. Denial-of-service and Theft of service attacks
2. Cryptoanalysis of Traffic ('.' Flow no. present)
3. May be forged by an on-path attacker '.' unprotected.
4. Covert Channel Risk
5. Security Filtering support is not provided for firewalls.
but in IPsec and Tunneling the original label would
● 16-bit unsigned integer.
● Length of the IPv6 payload, i.e., the rest of the
packet following this IPv6 header, in octets.
(payload includes all extension headers)
Hop-by-Hop Options header
Destination Options header(1st & all desti)
Encapsulating Security Payload header
Destination Options header(final desti only)
Extension headers in order
● Extension headers r processed strictly in the
order they appear and only at the Destination
Address field of the IPv6 header.
exception: Hop-by-Hop (next header=0 in
● If Next Header is unrecognized by the node, the
packet is discarded and an ICMP msg sent to
the source. (ICMP Code value = 1)
● Options must be processed strictly in the order
● Highest-order two bits of Option-Type field
specify the action to be taken if the processing
node does not recognize the Option Type.
● And the 3rd highest-order bit specifies if Option
Data can change en-route for that option.
1. Pad1: to insert one octet of padding into the
Options area of a header
2. Pad N: 2 or more octets padding
Header Format: Complete header is a multiple of 8 octets.
| Next Header | Hdr Ext Len | Routing Type | Segments Left |
| type-specific data |
1. Type 0:
Multicast addresses must not appear.
Equivalent to source routing of IPv4.
| Next Header | Reserved | Fragment Offset | Res | M |
| Identification |
● Frag offset, in 8-octet units, of the data following this
header, relative to the start of the Fragmentable Part.
● Fragment Offset: 13-bit unsigned integer in 8-octet units.
● M flag 1 = more fragments; 0 = last fragment.
● Identification: 32 bits. combined with the src & dest addr
uniquely identifies the original packet.
● Original packet is divided into:
1. Unfragmentable Part: IPv6 header, all headers up to and
including the Routing header.
2. The Fragmentable Part: rest of the packet,
The Unfragmentable Part of the reassembled packet consists
of all headers up to, but not including, the Fragment header
of the first fragment packet (that is, the packet whose
Fragment Offset is zero), with the following two changes:
1. The Next Header field of the last header of the
Unfragmentable Part is obtained from the Next Header
field of the first fragment’s Fragment header.
2. The Payload Length of the reassembled packet is
computed from the length of the Unfragmentable Part and
the length and offset of the last fragment
Next Header val=58
1. Report delivery or
2. Provide simple
echo service for
3. Neighbor Discovery
(ND): 5 ICMP msgs
4. Multicast listener
Discovery (MLD): 3
ICMPv6 neighbour discovery mechanism
Equivalent to ICMPv4 Router Discovery
Equivalent to ICMPv4 Address Mask
Discover additional parameter (ex. link MTU,
default hop limit for outgoing packet)
Configure IP address for interfaces
Destination address or
Address of an on-link default router
Neighbor unreachable detection (NUD)
Duplicate address detection (DAD)
Determine that an address considered for
use is not already in use by a neighboring
First-hop Redirect function
Inform a host of a better first-hop IPv6
address to reach a destination,
Advantages of IPv6 over IPv4:
A) Header Format Simplification: (Redundant
1 Reduced packet handling cost.
B) Expanded Addressing Capabilities:
1 Anycast addresses introduced
2 more levels of addressing hierarchy
3 Scalable: greater number of addressable nodes.
4 simpler stateless auto-configuration of
5 Improved scalability of multicast routing (Scope)
C) Improved Support for Extensions & Options:
1 Efficient options processing & pkt forwarding.
2 Less stringent limits on the length of options.
3 Greater flexibility for introducing new options.
4 Support for Real time services
D) Flow Labeling Capability
E) Authentication and Privacy Capabilities
1 Extensions to support authentication, data
integrity, and (optional) data confidentiality.
F) Better Mobility Support (MIPv6)