Unit 3 ANP MS

Download as pdf or txt
Download as pdf or txt
You are on page 1of 44

Internet Protocol, Version 6

(IPv6)

1
Outline
◼ Networking Basics
◼ Introduction to IPv6
◼ IPv6 Header Format
◼ IPv6 Addressing Model
◼ ICMPv6
◼ Neighbor Discovery
◼ Transition from IPv4 to IPv6
◼ IPv6 vs. IPv4
2
Basics: OSI 7-Layer RM

3
Basics: TCP/IPv4 Protocol Suite

4
Internet Protocol (IP)
◼ Features:
❑ Layer 3 (Network layer)
❑ Unreliable, Connectionless, Datagram
❑ Best-effort delivery
◼ Popular version: IPv4
◼ Major functions
❑ Global addressing
❑ Datagram lifetime
❑ Fragmentation & Reassembly
5
IPv4 Header

6
IPv4 companion protocols (1)
◼ ARP: Address Resolution Protocol
❑ Mapping from IP address to MAC address
◼ ICMP: Internet Control Message Protocol
❑ Error reporting & Query
◼ IGMP: Internet Group Management Protocol
❑ Multicast member join/leave

◼ Unicast Routing Protocols (Intra-AS)


❑ Maintaining Unicast Routing Table
❑ E.g. RIP, OSPF (Open Shortest Path First)
7
IPv4 companion protocols (2)

◼ Multicast Routing Protocols


❑ Maintaining Multicast Routing Table
❑ E.g. DVMRP, MOSPF, CBT, PIM
◼ Exterior Routing Protocols (Inter-AS)
❑ E.g. BGP (Border Gateway Protocol)
◼ Quality-of-Service Frameworks
❑ Integrated Service (ISA, IntServ)
❑ Differentiated Service (DiffServ)
8
Why IPv6?
◼ Deficiency of IPv4
◼ Address space exhaustion
◼ New types of service → Integration
❑ Multicast
❑ Quality of Service
❑ Security
❑ Mobility (MIPv6)
◼ Header and format limitations
9
Advantages of IPv6 over IPv4
◼ Larger address space
◼ Better header format
◼ New options
◼ Allowance for extension
◼ Support for resource allocation
◼ Support for more security
◼ Support for mobility

10
Header: from IPv4 to IPv6
Changed Removed

11
IPv6 Header Format

12
IPv6 Packet (PDU) Structure

13
Traffic Class
◼ The 8-bit field in the IPv6 header is available for
use by originating nodes and/or forwarding
routers to identify and distinguish between
different classes or priorities of IPv6 packets.
❑ E.g., used as the codepoint in DiffServ
◼ General requirements
❑ 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,
forwarder, receiver
❑ An upper-layer protocol should not assume the value
of traffic class in a packet has not been changed.
14
IPv6 Flow Label
◼ Related sequence of packets
◼ Needing special handling
◼ Identified by src & dest addr + flow label
◼ Router treats flow as sharing attributes
❑ E.g. path, resource allocation, discard requirements,
accounting, security
◼ May treat flows differently
❑ Buffer sizes, different forwarding precedence, different
quality of service
◼ Alternative to including all info. in every header

15
Payload Length
◼ 16-bit unsigned integer. Length of the
IPv6 payload, i.e., the rest of the packet
following this IPv6 header, in octets.
◼ Note that any extension headers present
are considered part of the payload, i.e.,
included in the length count.

16
Extension Header
An IPv6 packet is made of a base header and some
extension headers. The length of the base header is fixed
at 40 bytes. However, to give more functionality to the
IP datagram, the base header can be followed by up to
six extension headers. Many of these headers are options
in IPv4. Six types of extension headers have been
defined. These are hop-by-hop option, source routing,
fragmentation, authentication, encrypted security
payload, and destination option

17
Extension Headers

18
Extension Header Order
Order Header Type Next Header Code

1 Basic IPv6 Header


2 Hop-by-Hop Options 0
4 Routing header 43
5 Fragment header 44
6 Authentication header 51
7 Encapsulation Security Payload header 50
8 Destination Options 60
9 Mobility header 135
No Next header (Null) 59
Upper layer: TCP, UDP, ICMP 6, 17, 58

19
Hop-by-Hop Options
◼ Must be examined by every router
❑ Specifies discard/forward handling
◼ Options
❑ Pad1
❑ PadN
❑ Jumbo payload
❑ Router alert (can be used for RSVP)

20
Routing Header
◼ List of one or more intermediate nodes to
visit
◼ Header includes
❑ Next Header
❑ Header extension length
❑ Routing type (e.g. type 0 = Source Routing)
❑ Segments left

21
Source Routing Example

22
Authentication Header

VC ID for all packets sent during


a Security Association connection

Prevent playback

23
Encapsulating Security Payload

24
IPv6 Addressing Model
◼ Addresses are assigned to interfaces,
not hosts
◼ Interface expected to have multiple
addresses
◼ Addresses have scope
❑ Link-Local
❑ Site-Local → Unique Local
❑ Global

25
Text Representation of Address
◼ Colon-Hex
❑ 3ffe:3600:2000:0800:0248:54ff:fe5c:8868
◼ Compressed Format:
❑ 3ffe:0b00:0c18:0001:0000:0000:0000:0010
❑ becomes 3ffe:b00:c18:1::10

26
Address Type Prefixes

27
Global Unicast Address
◼ Global routing prefix
❑ A (typically hierarchically-structured) value assigned to
a site (a cluster of subnets/links)
◼ Subnet ID
❑ An identifier of a subnet within the site
◼ Interface ID
❑ Constructed in Modified EUI-64 format

28
IEEE 802 → IPv6 Interface ID

29
Site-Local Address
◼ Meaningful only in a single site zone, and may be re-
used in other sites
◼ Equivalent to the IPv4 private address space
◼ Address are not automatically configured and must be
assigned
◼ Prefix= FEC0::/48

30
Link-Local Address
◼ Meaningful only in a single link zone, and may be re-
used on other links
◼ Link-local addresses for use during auto-configuration
and when no routers are present
◼ Required for Neighbor Discovery process, always
automatically configuration
◼ An IPv6 router never forwards link-local traffic beyond
the link
◼ Prefix= FE80::/64

31
Special IPv6 Address
◼ Loopback address (0:0:0:0:0:0:0:1 or ::1)
❑ Identify a loopback interface
◼ IPv4-compatible address (0:0:0:0:0:0:w.c.x.z or ::w.c.x.z)
❑ Used by dual-stack nodes
❑ IPv6 traffic is automatically encapsulated with an IPv4 header and
send to the destination using the IPv4 infrastructure
◼ IPv4 mapped address (0:0:0:0:0:FFFF:w.c.x.z
or ::FFFF:w.c.x.z)
❑ Represent an IPv4-only node to an IPv6 node
❑ Only use a single listening socket to handle connections from
client via both IPv6 and IPv4 protocols.
❑ Never used as a source or destination address of IPv6 packet
❑ Rarely implemented

32
Autoconfiguration
◼ One of the interesting features of IPv6 addressing is the
autoconfiguration of hosts.

◼ In IPv6, DHCP protocol can still be used to allocate an IPv6 address


to a host, but a host can also configure itself.

◼ The host first creates a link local address for itself. This is done by
taking the 10-bit link local prefix (1111 1110 10), adding 54 zeros,
and adding the 64-bit interface identifier, which any host knows how
to generate from its interface card. The result is a 128-bit link local
address.

◼ The host then tests to see if this link local address is unique and not
used by other hosts. Since the 64-bit interface identifier is supposed
to be unique, the link local address generated is unique with a high
probability. 33
Autoconfiguration
◼ The host sends a neighbor solicitation message
and waits for a neighbor advertisement message.
If any host in the subnet is using this link local
address, the process fails and the host cannot
autoconfigure itself; it needs to use DHCP for this
purpose.
◼ If the uniqueness of the link local address is
passed, the host stores this address as its link
local address (for private communication), but it
still needs a global unicast address. The host
then sends a router solicitation message to a
local router.

34
Address Autoconfiguration (1)
◼ Allow plug and play
◼ BOOTP and DHCP are used in IPv4
◼ DHCPng will be used with IPv6
◼ Two Methods: Stateless and Stateful
◼ Stateless:
❑ A system uses link-local address as source and
multicasts to "All routers on this link"
❑ Router replies and provides all the needed prefix info
❑ All prefixes have a associated lifetime
❑ System can use link-local address permanently if no
router
35
Address Autoconfiguration (2)
◼ Stateful:
❑ Problem w/ stateless: Anyone can connect
❑ Routers ask the new system to go DHCP server (by
setting managed configuration bit)
❑ System multicasts to "All DHCP servers"
❑ DHCP server assigns an address

36
Network Layer in v4 & v6

37
Neighbor Discovery (ND)
◼ Node (Hosts and Routers) use ND to determinate the
link-layer addresses for neighbors known to reside on
attached links and quick purge cached valued that
become invalid
◼ Hosts also use ND to find neighboring router that
willing to forward packets on their behalf
◼ Nodes use the protocol to actively keep track of which
neighbors are reachable and which are not, and to
detect changed link-layer addresses
◼ Replace ARP, ICMP Router Discovery, and ICMP Redirect
used in IPv4

38
IPv6 ND Mechanisms (1)
◼ Router discovery
❑ Equivalent to ICMPv4 Router Discovery
◼ Prefix discovery
❑ Equivalent to ICMPv4 Address Mask Request/Reply
◼ Parameter discovery
❑ Discovery additional parameter (ex. link MTU, default
hop limit for outgoing packet)
◼ Address auto-configuration
❑ Configure IP address for interfaces
◼ Address resolution: Equivalent to ARP in IPv4

39
IPv6 ND Mechanisms (2)
◼ Next-hop determination
❑ 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 node
◼ First-hop Redirect function
❑ Inform a host of a better first-hop IPv6 address to
reach a destination,
❑ Equivalent to ICMPv4 Redirect
40
Transition from IPv4 to IPv6

41
Advantages of IPv6 over IPv4 (1)
Feature IPv4 IPv6
Source and 32 bits 128 bits
destination address
IPSec Optional required

Payload ID for QoS in No identification Using Flow label field


the header
Fragmentation Both router and the Only supported at the
sending hosts sending hosts
Header checksum included Not included

Resolve IP address to broadcast ARP Multicast Neighbor


a link layer address request Solicitation message

42
Advantages of IPv6 over IPv4 (2)
Feature IPv4 IPv6
Determine the ICMP Router ICMPv6 Router
address of the best Discovery(optional) Solicitation and
default gateway Router Advertisement
(required)
Send traffic to all Broadcast Link-local scope all-
nodes on a subnet nodes multicast
address
Configure address Manually or DHCP Autoconfiguration

Manage local subnet (IGMP) Multicast Listener


group membership Discovery (MLD)

43
IPv6 References
◼ RFC 2460: IPv6
◼ RFC 2461: Neighbor Discovery
◼ RFC 2462: Stateless Address Autoconfiguration
◼ RFC 3513: Addressing Architecture
◼ RFC 3679: Flow Label Specification
◼ RFC 4443: ICMPv6
◼ RFC 3810: Multicast Listener Discovery (MLDv2)

44

You might also like