32
2: Comparing IPv4 and IPv6 Rick Graziani Cabrillo College [email protected]

2: Comparing IPv4 and IPv6 Rick Graziani Cabrillo College [email protected]

Embed Size (px)

Citation preview

2: Comparing IPv4 and IPv6

Rick GrazianiCabrillo College

[email protected]

©

For more information please check out my Cisco Press book and video series:

IPv6 Fundamentals: A Straightforward Approach to Understanding IPv6• By Rick Graziani• ISBN-10: 1-58714-313-5

IPv6 Fundamentals LiveLessons: A Straightforward Approach to Understanding IPv6• By Rick Graziani• ISBN-10: 1-58720-457-6

2.1: Comparing the IPv4 and IPv6 Headers

©

Let’s Begin with the IPv6 Header

• Understanding IPv6 begins with the IPv6 header.

• IPv6 takes advantage of 64-bit CPUs.

• Several differences between IPv4 and IPv6 headers.

IPv4

IPv6

64-bit memory word• Simpler IPv6 header.

• Fixed 40 byte IPv6 header.

• Lets look at the differences…

Similar fields

©

IPv6 Version

• IPv4 Version contains 4.• IPv6 Version contains 6.• Version 5?• Internet Stream Protocol (ST2)

IPv4

IPv6

©

IPv4 Internet Header Length• IPv4 Internet Header Length (IHL)

• Length of IPv4 header in 32-bit words including any Options or Padding.

• IPv6• IHL for IPv6 is not needed.• IPv6 header is fixed at 40 bytes.

IPv4

IPv6

8 bytes

8 bytes

8 bytes

8 bytes

8 bytes

40 bytes =

1

2

3

4

5

?

©

IPv6 Traffic Class• IPv4 Type of Service• IPv6 Traffic Class

• Not mandated by any IPv6 RFCs.• Same functionality as IPv4.• Uses same Differentiated Services

technique (RFC 2474) as IPv4.

IPv4

IPv6

7 6 5 4 3 2 1 0

IP Precedence Unsused

DiffServ Code Point (DSCP) IP ECN

©

IPv6 Flow Label

• New field in IPv6 – not part of IPv4.• Flow label is used to identify the packets in a common stream or flow. • Traffic from source to destination share a common flow label.• RFC 6437 IPv6 Flow Label Specification

IPv4

IPv6

11001011000101100

10110010111000111

©

IPv6 Payload Length• IPv4 Total Length – Number of bytes of

the IPv4 header (options) + data.• IPv6 Payload Length – Number of bytes

of the payload.• Does not include the main IPv6

header.• Includes extension headers + data

IPv4

IPv6

IPv6 Header DataIPv6 Extension Header (Optional)

IPv4 Header Data (Payload)

Payload

©

IPv4 Fragmentation• IPv4 fields used for fragmentation and

reassembly.• Intermediate devices such as IPv6

routers do not perform fragmentation.• Any fragmentation needed will be

handled by the source using an extension header.

IPv4

IPv6

©

IPv6 Next Header

• IPv4 Protocol• IPv6 Next Header • For both protocols, the field indicates

the type of header following the IP header.

IPv4

IPv6

• Common values:• 6 = TCP• 17 = UDP• 58 = ICMPv6• 88 = EIGRP• 89 = OSPF

IPv6 Header

NextHeader

Data(Protocol: TCP, UDP, ICMPv6, etc.)

©

IPv6 Hop Limit

• IPv4 TTL (Time to Live)• IPv6 Hop Limit• Renamed to more accurately reflect

process.• Set by source, every router in path

decrements hop limit by 1.

IPv4

IPv6• When 0,

drop packet.

©

IPv6 Source and Destination Addresses

• IPv6 Source and Destination addresses have the same basic functionality as IPv4.

• IPv4 – 32-bit addresses.• IPv6 – 128-bit addresses.• Some significant changes in IPv6.

IPv4

IPv6

©

IPv4 Header Checksum• IPv4 Header Checksum• Not used in IPv6.• Upper-layer protocols generally have

a checksum (UDP and TCP).• So, in IPv4 the UDP checksum is

optional.

IPv4

IPv6• Because it’s

not in IPv6, the UDP checksum is now mandatory.

©

IPv4 Options and Padding• IPv4 Options and Padding • Not used in IPv6.• Variable length, optional.• IPv4 Options are handled using

extension headers in IPv6.

IPv4

IPv6

• Padding makes sure IPv4 options fall on a 32-bit boundary.

• IPv6 header is fixed at 40 bytes.

40 bytes =

©

IPv6 Extension Header

• Next Header identifies:• The protocol carried in the

data portion of the packet.

IPv6 Main Header

NextHeader

Extension Header

NextHeader

Data(Protocol: TCP, UDP, ICMPv6, etc.)

• Extension headers are optional and follow the main IPv6 header.• Provide flexibility and features to the main IPv6 header for future

enhancements without having to redesign the entire protocol. • Allows the main IPv6 header to have a fixed size for more

efficient processing.

• The presence of an extension header.

©

IPv6 Extension HeaderNext Header Value (Decimal)

Extension Header Name

Extension Header Description

0 Hop-by-Hop Options Used to carry optional information, which must be examined by every router along the path of the packet.

43 Routing Allows the source of the packet to specify the path to the destination.

44 Fragment Used to fragment IPv6 packets.

50 Encapsulating Security Payload (ESP)

Used to provide authentication, integrity, and encryption.

51 Authentication Header (AH)

Used to provide authentication and integrity.

60 Destination Options Used to carry optional information that only needs to be examined by a packet’s destination node(s).

IPv6 Main Header

Next Header

0

Hop-by-Hop Extension

Header

Next Header

51

TCP Header

AH Extension Header

Next Header

6Data

2.2: A Brief Look at IPv6 Address Types

©

IPv6 Address Types

IPv6 Addresses

FF00::/8 FF02::1:FF00:0000/104

::/128::1/1282000::/3 FE80::/10 FC00::/7 ::/80

Unicast Multicast Anycast

Assigned Solicited Node

Global Unicast

Link-Local Loopback UnspecifiedUnique Local

Embedded IPv4

More details in Lessons 3, 4, 5 & 6

2.3: A Brief Look at ICMPv6 Neighbor Discovery

©

ICMPv6Internet Control Message Protocol for IPv6

• ICMPv6 is defined in RFC 4443.• Similar to ICMPv4, describes two types of

messages:• Informational• Error

• ICMPv6 Neighbor Discovery is described in RFC 4861.

• Much more robust than ICMP for IPv4.• Contains new functionality and improvements. • More than just “messaging” but “how IPv6

conducts business”.IPv6 Main

Header

Next Header

58

ICMPv6 Header

DataAll ICMPv6 messages

©

ICMPv6 Neighbor Discover Protocol

• Router Solicitation Message• Router Advertisement Message

Used with dynamic address allocation

• Neighbor Solicitation Message• Neighbor Advertisement Message

Used with address resolution (IPv4 ARP)

• Redirect Message Similar to ICMPv4 redirect message Router-to-Device messaging

Router-Device Messaging

Device-Device Messaging

ICMPv6 Neighbor Discovery defines 5 different packet types:

©

Router Solicitation & Router Advertisement Messages

• Router Solicitation Message• Router Advertisement Message

Used with dynamic address allocation

• Neighbor Solicitation Message• Neighbor Advertisement Message

Used with address resolution (IPv4 ARP)

• Redirect Message Similar to ICMPv4 redirect message Router-to-Device messaging

Router-Device Messaging

Device-Device Messaging

ICMPv6 Neighbor Discovery defines 5 different packet types:

©

Dynamic Address Allocation in IPv4DHCPv4 Server

1

2

I need IPv4 addressing information.

Here is everything you need.

©

Dynamic Address Allocation in IPv6

DHCPv6 Server

ICMPv6 Router Advertisement

ICMPv6 Router Solicitation

To all IPv6 routers: I need IPv6 address

information.

To all IPv6 devices:Let me tell you how

to do this … 1. SLAAC

2. SLAAC with Stateless DHCPv6

3. Stateful DHCPv6

SLAAC (Stateless Address Autoconfiguration)

I might not be needed.

Router SolicitationsRouter Advertisements

©

Neighbor Solicitation & Neighbor Advertisement Messages

• Router Solicitation Message• Router Advertisement Message

Used with dynamic address allocation

• Neighbor Solicitation Message• Neighbor Advertisement Message

Used with address resolution (IPv4 ARP)

• Redirect Message Similar to ICMPv4 redirect message Router-to-Device messaging

Router-Device Messaging

Device-Device Messaging

ICMPv6 Neighbor Discovery defines 5 different packet types:

©

Ethernet ARP Request/Reply

ICMPv6: Neighbor Solicitation/Advertisement

IPv4: ARP over Ethernet

PCAPCBARP Request

Neighbor Advertisement

1

2Neighbor

Solicitation

1

ARP Reply

2

Know IPv4, what

is the MAC?

My IPv4! Here is the

MAC?

Know IPv6, what

is the MAC?

My IPv6! Here is the

MAC?

ARP Request: Broadcast

NS: Multicast NS: Solicited Node Multicast

Ethernet IPv6 Header

IPv6: ICMPv6 over IPv6 over Ethernet

Address Resolution: IPv4 and IPv6

ARP Cache

Neighbor Cache

Neighbor SolicitationsNeighbor Advertisements

©

Redirect Message

• Router Solicitation Message• Router Advertisement Message

Used with dynamic address allocation

• Neighbor Solicitation Message• Neighbor Advertisement Message

Used with address resolution (IPv4 ARP)

• Redirect Message Similar to ICMPv4 redirect message Router-to-Device messaging

Router-Device Messaging

Device-Device Messaging

ICMPv6 Neighbor Discovery defines 5 different packet types:

©

ICMPv6 Redirect

• Similar functionality as ICMPv4.• Like IPv4, a router informs an originating host of the IP address of a router that

is on the local link and is closer to the destination. • Unlike IPv4, a router informs an originating host that the destination host (on a

different prefix/network) is on the same link as itself.

Network X

PCA PCB

R1 R2

Destination:Network X Host

Destination:PCB

IPv6 Network A IPv6

Network B

©

ICMPv6 Neighbor Discover Protocol

• Router Solicitation Message• Router Advertisement Message

Used with dynamic address allocation

• Neighbor Solicitation Message• Neighbor Advertisement Message

Used with address resolution (IPv4 ARP)

• Redirect Message Similar to ICMPv4 redirect message Router-to-Device messaging

Router-Device Messaging

Device-Device Messaging

ICMPv6 Neighbor Discovery defines 5 different packet types:

More details in Lessons 7, 8 & 10

©

For more information please check out my Cisco Press book and video series:

IPv6 Fundamentals: A Straightforward Approach to Understanding IPv6• By Rick Graziani• ISBN-10: 1-58714-313-5

IPv6 Fundamentals LiveLessons: A Straightforward Approach to Understanding IPv6• By Rick Graziani• ISBN-10: 1-58720-457-6

2: Comparing IPv4 and IPv6

Rick GrazianiCabrillo College

[email protected]