Download presentation
Presentation is loading. Please wait.
Published byKelley Allison Modified over 8 years ago
1
1 IPv6: Packet Structures Dr. Rocky K. C. Chang 29 January, 2002
2
2 The basic design of IPv6 The new IP is based on a very simple philosophy: –The Internet could not have been so successful in the past years if IPv4 contained any major flaw. Results: –IPv6 should keep most of IPv4’s characteristics. –But, IPv6 is not a simple derivative of IPv4, but a definitive improvement.
3
3 Enhancements and new features Expanded addressing space and a new addressing architecture IP header format simplification and improved support for extensions and options Plug and play features: stateless autoconfiguration and address resolution New security features on the IP level Some support for real-time traffic and flows
4
4 Header format: IPv4 vs IPv6
5
5 The IPv6 header format
6
6 The IPv4 header format
7
7 Removed IPv4 header fields Simplifications –Remove the variable-length option field. No need for the Header Length field –Remove the header checksum. Rely on the error detection mechanisms provided by the link layer (IEEE 802 networks, ATM, PPP). Reduce the cost of header processing at the intermediate routers. –Remove hop-by-hop fragmentation. Sending a large packet with fragmentation is inefficient. Instead, IPv6 provides an end-to-end fragmentation using a path MTU discovery procedure. –Remove the TOS field. This field is seldom used by applications. IPv6 provides another mechanism for differentiating packets.
8
8 Revisited IPv4 header fields and new fields Classic parameters revisited –The Total Length field is replaced by a Payload Length field. –The Protocol Type field is renamed Next Header. The TCP header in IPv6 may not immediately follow after the IP header. –The TTL field is correctly renamed Hop Limit. New header fields: –Traffic Class field: Prioritizing packets (differentiated service) –Flow Label field: A flow is a sequence of packets sent from a particular source to a particular (unicast or multicast) destination for which the source desires special handling by the intervening routers.
9
9 From options to extension headers A flow is uniquely identified by the combination of a source address and a nonzero flow label. Options offered by IPv4 are gradually out of use, mostly because of performance effects. –A common way of speeding up routers is to let most frequent packets to follow a fast path. –Options, however, often require special treatments. IPv6 offers options through extension headers. –In IPv6, it is possible to insert an arbitrary number of extension headers between the IP header and the payload. –Each header is identified by a header type, and carries the header type of the following header, or that of the payload in the case of the last extension.
10
10 IPv6 header chains
11
11 IPv6 header chains The current IPv6 defines six extension headers: –Hop-by-hop options header (0) –Routing header (43) –Fragment header (44) –Authentication header (51) –Encrypted security header (52) –Destination options header (60) Each extension header is uniquely identified by an ID, which must not be conflict with the assigned protocol type of the payload, e.g., IPv4’s ICMP(1), IP(4), TCP (6), UDP(17), OSPF(89)
12
12 Routing headers This header plays the same role as the IPv4’s source routing option. This header essentially carries a list of intermediate addresses through which the packet shall be relayed. Header fields: –The Next Header field identifies the type of the next header. –The Header Length field gives the length of the header, in terms of 64-bit words, but it does not include the first 64-bit word. –Segments Left field gives the number of segments left in the list, ranging from 0 to 23.
13
13
14
14 Routing headers When an IPv6 node receives such a packet, it checks whether the destination address matches to any of its address. –If no, it will forward the packet, without looking into the routing header. –If yes, it will check whether there is any segment left in the routing header. If yes, the node will proceed with the source routing. If no, the packet has arrived at the end of the source route. The node will then proceed to process the next header.
15
15 Routing headers Example: S-->D, using a Routing header to cause the packet to be routed via intermediate nodes I1-3.
16
16 Fragment headers IPv6 requires that every link in the Internet have an MTU of 1280 octets. Since IPv6 routers do not fragment packets, it is equivalent to the case of setting IPv4’s don’t fragment bit. To support end-to-end fragmentation, a fragment header is inserted between the IPv6 header and payload.
17
17 Fragment headers Fragment header fields: –The Identification field is equivalent to packet identification. –The Fragment Offset field plays the same role as the offset field in IPv4. –The More Fragment bit is set to 1 for all but the last fragment of a complete packet.
18
18
19
19 Destination option headers The header will only be processed by the destination host. The IPv6 uses a single header type (60) to define a generic destination options header. The header may contain one or more options.
20
20 Hop-by-hop option headers Unlike the destination options header, this one shall be processed at each hop, e.g., –(RFC 2675) a Jumbo Payload option (option type 194) for sending packets larger than 65,535 octets (supported by a 16-bit payload length field). –(RFC 2711) a Router Alert option for supporting multicast management messages and RSVP messages. The header has the same header format as the destination options header.
21
21 Authentication header (AH)
22
22 Encapsulating security payload (ESP) header
23
23 A recommended order of extension headers IPv6 header Hop-by-Hop Options header Destination Options header (note 1) Routing header Fragment header Authentication header (note 2) Encapsulating Security Payload header (note 2) Destination Options header (note 3) Upper-layer header
24
24 A recommended order of extension headers Note 1: –For options to be processed by the first destination that appears in the IPv6 Destination Address field plus subsequent destinations listed in the Routing header. Note 2: –AH header before ESP packet Note 3: –For options to be processed only by the final destination of the packet.
25
25 The new ICMPv6 Main differences in ICMPv.6: –Some formats are extended to carry the larger fields of IPv6. –A different header type is assigned to ICMPv6. –A pseudo-header is required for checksum computation. –The functionalities have been divided into two broad areas: error reporting and informational (RFC2463), and neighbor discovery (RFC2461).
26
26 ICMPv6 error messages ICMPv6 error messages: –Destination Unreachable (1) Code 0: no route to destination Code 1: communication with destination administratively prohibited Code 2: not assigned Code 3: address unreachable Code 4: port unreachable
27
27 ICMPv6 error messages –Packet Too Big (2): The parameter field contains the MTU of the next hop’s link, allowing an efficient implementation of path MTU discovery.
28
28 ICMPv6 error and informational messages –Time Exceeded (3) hop limit exceeded in transit, or fragment reassembly time exceeded –Parameter Problem (4) erroneous header field encountered, or unrecognized Next Header type encountered, or unrecognized IPv6 option encountered ICMPv6 informational messages: –Echo Request (128) –Echo Reply (129)
29
29 Checksum for ICMPv6 Unlike ICMPv4, the ICMPv6 includes a pseudo- header in its checksum computation. –The reason for the change is to protect ICMP from misdelivery or corruption of those fields of the IPv6 header on which it depends. –The Next Header field in the pseudo-header for ICMP contains the value 58, which identifies the IPv6 version of ICMP.
30
30 Pseudo-header for IPv6
31
31 Not sending error messages An ICMPv6 error message MUST NOT be sent as a result of receiving: –(e.1) an ICMPv6 error message, or –(e.2) a packet destined to an IPv6 multicast address. There are two exceptions to this rule: (1) the Packet Too Big Message to allow Path MTU discovery to work for IPv6 multicast, and (2) the Parameter Problem Message, reporting an unrecognized IPv6 option that has the Option Type highest-order two bits set to 10, or –(e.3) a packet sent as a link-layer multicast, (the exception from e.2 applies to this case too), or –(e.4) a packet sent as a link-layer broadcast, (the exception from e.2 applies to this case too), or
32
32 Not sending error messages –(e.5) a packet whose source address does not uniquely identify a single node -- e.g., the IPv6 Unspecified Address, an IPv6 multicast address, or an address known by the ICMP message sender to be an IPv6 anycast address.
33
33 Impact on the upper layers Upper-layer checksums –Since IPv6 header no longer contains checksum, the use of checksum for UDP is mandatory for UDP/IPv6. –Pseudo-header checksum for ICMPv6 DNS: –A new resource record, named AAAA, is defined for the 128-bit IP address. –Similar changes in “in-addr.arpa”(called IP6.INT in IPv6) The programming interfaces: –A new address family, AF_INET6, and a new protocol family, PF_INET6, added to the regular socket library. –Subsequently, new socket address data structure: protocol family, port, flow information, and IPv6 address.
34
34 Acknowledgements The notes are based on –Christian Huitema, IPv6: The New Internet Protocol, Second Edition, 1998, Prentice Hall PTR. –S. Deering and R. Hinden, “Internet Protocol, Version 6 (IPv6) Specification,” RFC 2460, Dec. 1998. –D. Borman, S. Deering, and R. Hinden, “IPv6 Jumbograms, RFC 2675,” Aug. 1999. –A. Conta and S. Deering, “Internet Control Message Protocol (ICMPv6) for the Internet Protocol Version 6 (IPv6) Specification,” RFC 2463, Dec. 1998.
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.