zyxel confidential icmpv6 feng zhou sw2 zyxel communications corp. 03/27/2006
DESCRIPTION
ZyXEL Confidential Review ICMPv4 ICMPv4 Header protocol field in IPv4 header is 1 ||||||| ||||||||||||||| ||||||| …………… Type Code Chucksum Message BodyTRANSCRIPT
ZyXEL Confidential
ICMPv6Feng ZhouSW2ZyXEL 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
protocol field in IPv4 header is 1
|||||||
|||||||||||||||
|||||||
……………
TypeCode
ChucksumMessage Body
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(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.
|||||||
|||||||||||||||
|||||||
……………
TypeCode
ChucksumMessage Body
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 upper-
layer 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
• Portion of Discarded Packet: fit as much invoking packet as possible without exceeding the minimum IPv6 MTU
|||||||
||||||| |||||||
|||||||
………………………
TypeCode
ChucksumUnused
Portion of Discarded Packet
=1=0~4
||||||| ||||||||||||||||| ||||||||
ZyXEL Confidential
Destination Unreachable Code Field Value
Code Description Example
0 No Route to Destination
No route matching the destination was found in the routing table
1 Communication with Destination Administratively Prohibited
packet is discarded by a firewall
2 Beyond Scope of Source Address
packet is forwarded using an interface that is not within the scoped zone of the source address
3 Address Unreachable
an inability to resolve the destination's link-layer address
4 Port Unreachable 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 = 0xD498ICMP6: UnusedICMP6: Data: Number of data bytes remaining = 80 (0x0050)
ZyXEL Confidential
Packet Too Big Message Structure
• MTU: stores the link MTU of the interface over which the packet was being forwarded
|||||||
||||||| |||||||
|||||||
………………………
TypeCode
ChucksumMTU
Portion of Discarded Packet
=2=0
||||||| ||||||||||||||||| ||||||||
ZyXEL Confidential
Time Exceeded Message Structure
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
|||||||
||||||| |||||||
|||||||
………………………
TypeCode
ChucksumUnused
Portion of Discarded Packet
=3=0 or 1
||||||| ||||||||||||||||| ||||||||
ZyXEL Confidential
Parameter Problem Message Structure
• Pointer: indicates the byte offset (starting at 0) in the IPv6 packet at which the error was encountered
|||||||
||||||| |||||||
|||||||
………………………
TypeCode
ChucksumPointer
Portion of Discarded Packet
=4=0~2
||||||| ||||||||||||||||| ||||||||
ZyXEL Confidential
Parameter Problem Code Field Value
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)
Code Description0 Erroneous Header Field Encountered
1 Unrecognized Next Header Type Encountered
2 Unrecognized IPv6 Option Encountered
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
• 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
|||||||
||||||| |||||||
|||||||
………………………
TypeCode
ChucksumIdentifier
Sequence NumberData
=128=0
||||||| |||||||
||||||| |||||||
ZyXEL Confidential
Echo Reply Message Structure
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
|||||||
||||||| |||||||
|||||||
………………………
TypeCode
ChucksumIdentifier
Sequence NumberData
=129=0
||||||| |||||||
||||||| |||||||
ZyXEL Confidential
ICMPv4 vs. ICMPv6ICMPv4 ICMPv6
Destination Unreachable-Network Unreachable (Type 3, Code 0)
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 (Type 3, Code 4)
Packet Too Big (Type 2, Code 0)
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 Process1. The sending node assumes that the destination PMTU is the link MTU
of the interface on which the traffic is being forwarded2. The sending node sends IPv6 packets at the assumed PMTU size3. 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 FlowchartSet PMTU to Link MTU
Send packet at PMTU Size
Set PMTU to Link MTUPacket Too Big received
N
PMTU < Link MTU
N
Y PMTU timer expired?
Y
Y
N
ZyXEL Confidential
Q&A
Q & A
ZyXEL Confidential
Date Subject Lecturer
Introduction to IPv6
IPv6 Addressing
IPv6 Header & Extensions
Neighbor Discovery Protocol
Multicast Listener Discovery
IPv6 Routing
ICMPv6
Address Autoconfigurator
Joe Zhao
Milo Liu
Joe Zhao
Feng Zhou
Billy Bian
Jeffrey Zhou
Feng Zhou
Milo Liu
03/10
03/16
03/23
03/27
03/30
03/30
04/06
04/06
Training course arrangement
ZyXEL Confidential
Date Subject Lecturer
Setting Up an IPv6 Test Lab
IPv6 Migration Mechanisms
IPv6 Mobility
Joe Zhou
Milo Liu
04/13
04/20
Training course arrangement