IPV6: Addressing

advertisement
ICMPv6
Feng Zhou
SW2
ZyXEL Communications Corp.
03/27/2006
ZyXEL Confidential
Outline
 Review ICMPv4
 Overview of ICMPv6
 ICMPv6 Error Messages
 ICMPv6 Informational Messages
 ICMPv4 vs. ICMPv6
 Path MTU Discovery
 Q&A
ZyXEL Confidential
Review ICMPv4
 ICMPv4 Header
Type |||||||
Code |||||||
Chucksum |||||||||||||||
Message Body ……………
 protocol field in IPv4 header is 1
ZyXEL Confidential
Overview of ICMPv6
 Next Header = 58
 Functions
• Reporting errors
• Diagnostic function for troubleshooting
• Additional information message
– ND (Neighbor Discovery)
– MLD (Multicast Listener Discovery)
ZyXEL Confidential
Overview of ICMPv6
 Types of ICMPv6 Messages
• Error Messages
– Report forwarding or delivery errors by either a router
or the destination host
• Informational Messages
– Provide a simple diagnostic capability to aid in
troubleshooting
– MLD and ND
ZyXEL Confidential
Overview of ICMPv6
 ICMPv6 Header
Type |||||||
Code |||||||
Chucksum |||||||||||||||
Message Body ……………
Type(8bits): Indicates the type of ICMPv6 message.
Code(8bits): Differentiates among multiple messages
within a given message type.
Chucksum(16bits):
Stores a checksum of the ICMPv6
message.
Message Body:
Contains ICMPv6 message-specific
data.
ZyXEL Confidential
ICMPv6 Error Messages
 Type: 0~127 (the first bit of Type field is 0)
 Consist
• Destination Unreachable
– The packet cannot be forwarded to the destination node or upperlayer protocol
• Packet Too Big
– The packet cannot be forwarded because the link MTU on the
forwarding interface of a router is smaller than the size of the IPv6
packet
• Time Exceeded
– The Hop Limit field in the IPv6 header becomes zero after
decrementing its value during the forwarding process
• Parameter Problem
– There is an error in the IPv6 header or an extension header that
prevents IPv6 from performing additional processing
ZyXEL Confidential
ICMPv6 Error Messages
 Rate limiting
• To conserve network bandwidth, ICMPv6 error
messages are not sent for every error encountered,
they are rate limiting
• Rate limiting can be based on either of the following:
– A timer
●
One error message per source or any source for every
T ms. RFC 2463 suggests a value of 1000 ms
– A percentage of bandwidth
●
Error messages sent per interface is some percentage
P of the link's bandwidth. RFC 2463 suggests a value
of 2%
ZyXEL Confidential
Destination Unreachable
 Message Structure
Type ||||||| =1
Code ||||||| =0~4
Chucksum ||||||| |||||||
Unused ||||||| ||||||||||||||||| ||||||||
Portion of Discarded Packet ………………………
• Portion of Discarded Packet: fit as much
invoking packet as possible without
exceeding the minimum IPv6 MTU
ZyXEL Confidential
Destination Unreachable
 Code Field Value
Code
Description
Example
0
No Route to
Destination
Communication with
Destination
Administratively
Prohibited
Beyond Scope of
Source Address
Address
Unreachable
Port Unreachable
No route matching the destination was found in the
routing table
1
2
3
4
packet is discarded by a firewall
packet is forwarded using an interface that is not
within the scoped zone of the source address
an inability to resolve the destination's link-layer
address
Packet received but no application
ZyXEL Confidential
+ Frame: Base frame properties
+ ETHERNET: EType = IPv6
IP6: Version = 6 (0x6)
IP6: Traffic Class = 0 (0x0)
IP6: Flow Label = 0 (0x0)
IP6: Payload Length = 88 (0x58)
IP6: Next Header = 58 (ICMP6)
IP6: Hop Limit = 128 (0x80)
IP6: Source Address = fec0::2:201:2ff:fe44:87d1
IP6: Destination Address = fec0::2:260:97ff:fe02:6e8f
IP6: Payload: Number of data bytes remaining = 88 (0x0058)
ICMP6: Destination Unreachable (No route)
ICMP6: Type = 1 (Destination Unreachable)
ICMP6: Code = 0 (No route)
ICMP6: Checksum = 0xD498
ICMP6: Unused
ICMP6: Data: Number of data bytes remaining = 80 (0x0050)
ZyXEL Confidential
Packet Too Big
 Message Structure
Type ||||||| =2
Code ||||||| =0
Chucksum ||||||| |||||||
MTU ||||||| ||||||||||||||||| ||||||||
Portion of Discarded Packet ………………………
• MTU: stores the link MTU of the interface
over which the packet was being forwarded
ZyXEL Confidential
Time Exceeded
 Message Structure
Type ||||||| =3
Code ||||||| =0 or 1
Chucksum ||||||| |||||||
Unused ||||||| ||||||||||||||||| ||||||||
Portion of Discarded Packet ………………………
 Code
•
0 (Hop Limit Exceeded in Transit)
– Sent by a router when the Hop Limit field in the IPv6 header is
decremented to 0, or this value of an arriving packet is 0
•
1 (Fragment Reassembly Time Exceeded)
– Sent by a host when the fragmentation reassembly time of the
destination host expires
ZyXEL Confidential
Parameter Problem
 Message Structure
Type ||||||| =4
Code ||||||| =0~2
Chucksum ||||||| |||||||
Pointer ||||||| ||||||||||||||||| ||||||||
Portion of Discarded Packet ………………………
• Pointer: indicates the byte offset (starting at
0) in the IPv6 packet at which the error was
encountered
ZyXEL Confidential
Parameter Problem
 Code Field Value
Code
Description
0
Erroneous Header Field Encountered
1
Unrecognized Next Header Type Encountered
2
Unrecognized IPv6 Option Encountered
 Unrecognized IPv6 Option Encountered message is used when
both of the following are true:
•
An option in a Hop-by-Hop Options header or a Destination
Options header is not recognized.
•
Within the option's Option Type field, the 2 high-order bits are set
to either 10 (binary) or 11 (binary)
ZyXEL Confidential
ICMPv6 Informational Messages
 Type: 128~255 (the first bit of Type is 1)
 Consist
• Echo Request
– Sent 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 reach
ability and routing problems
• Echo Reply
– Sent in response to the receipt of an ICMPv6 Echo
Request message
ZyXEL Confidential
Echo Request
 Message Structure
Type ||||||| =128
Code ||||||| =0
Chucksum ||||||| |||||||
Identifier ||||||| |||||||
Sequence Number ||||||| |||||||
Data ………………………
• The Identifier and Sequence Number fields are set
by the sending host so that they can be used to
match an incoming Echo Reply message with a sent
Echo Request message
ZyXEL Confidential
Echo Reply
 Message Structure
Type ||||||| =129
Code ||||||| =0
Chucksum ||||||| |||||||
Identifier ||||||| |||||||
Sequence Number ||||||| |||||||
Data ………………………
 The Identifier, Sequence Number, and Data fields are
set with the same values as those in the Echo Request
message that prompted the Echo Reply
ZyXEL Confidential
ICMPv4 vs. ICMPv6
ICMPv4
Destination Unreachable-Network Unreachable (Type 3,
Code 0)
ICMPv6
Destination Unreachable-No Route to Destination (Type 1,
Code 0)
Destination Unreachable-Host Unreachable (Type 3, Code 1) Destination Unreachable-Address Unreachable (Type 1,
Code 3)
Destination Unreachable-Protocol Unreachable (Type 3,
Code 2)
Parameter Problem-Unrecognized Next Header Type
Encountered (Type 4, Code 1)
Destination Unreachable-Port Unreachable (Type 3, Code 3) Destination Unreachable-Port Unreachable (Type 1, Code 4)
Destination Unreachable-Fragmentation Needed and DF Set Packet Too Big (Type 2, Code 0)
(Type 3, Code 4)
Destination Unreachable-Communication with Destination
Host Administratively Prohibited (Type 3, Code 10)
Destination Unreachable-Communication with Destination
Administratively Prohibited (Type 1, Code 1)
Source Quench (Type 4, Code 0)
This message is not present in IPv6
Redirect (Type 5, Code 0)
Neighbor Discovery Redirect message (Type 137, Code 0)
Time Exceeded-TTL Exceeded in Transit (Type 11, Code 0)
Time Exceeded-Hop Limit Exceeded in Transit (Type 3,
Code 0)
Time Exceeded-Fragment Reassembly Time Exceeded
(Type 11, Code 1)
Time Exceeded-Fragment Reassembly Time Exceeded
(Type 3, Code 1)
Parameter Problem (Type 12, Code 0)
Parameter Problem (Type 4, Code 0 or Code 2)
ZyXEL Confidential
Path MTU Discovery
 PMTU
• the smallest link MTU supported by any link
in the path between a source and a
destination
 Link MTU
• the maximum-sized link-layer payload that
can be sent on the link
ZyXEL Confidential
Path MTU Discovery
 PMTU Discovered Process
1. The sending node assumes that the destination PMTU is the link MTU
of the interface on which the traffic is being forwarded
2. The sending node sends IPv6 packets at the assumed PMTU size
3. If a router on the path is unable to forward the packet, it sends an
ICMPv6 Packet Too Big message back. The ICMPv6 Packet Too Big
message contains the link MTU of the interface on which forwarding
failed
4. The sending node sets the new assumed PMTU to the value of the
MTU field in the ICMPv6 Packet Too Big message
The sending node starts again at step 2 and repeats steps 2 through 4
until when either no Packet Too Big messages are received or an
response or acknowledgment packet is received from the destination.
ZyXEL Confidential
Changes in PMTU
 Decreases in path MTU
• Immediately discovered through the receipt
of ICMPv6 Packet Too Big messages
 Increases in path MTU
• Detected by the sending node. The sending
node can attempt to send a larger IPv6
packet after a minimum of 5 minutes
(10mins are recommended) upon receiving
an ICMPv6 Packet Too Big message
ZyXEL Confidential
Path MTU Discovery Flowchart
Set PMTU to Link MTU
Send packet at PMTU Size
Packet Too
Big received
Y
Set PMTU to Link MTU
N
PMTU < Link MTU
N
Y
PMTU timer
expired?
Y
N
ZyXEL Confidential
Q&A
Q&A
ZyXEL Confidential
Training course arrangement
Date
Subject
03/10
Introduction to IPv6
03/16
IPv6 Addressing
03/23
03/27
IPv6 Header & Extensions
ICMPv6
Lecturer
Joe Zhao
Milo Liu
Joe Zhao
Feng Zhou
03/30
Neighbor Discovery Protocol
Billy Bian
03/30
Multicast Listener Discovery
Jeffrey Zhou
04/06
Address Autoconfigurator
04/06
IPv6 Routing
Feng Zhou
Milo Liu
ZyXEL Confidential
Training course arrangement
Date
04/13
04/20
Subject
Lecturer
IPv6 Migration Mechanisms
Joe Zhou
IPv6 Mobility
Milo Liu
Setting Up an IPv6 Test Lab
ZyXEL Confidential
Download