1 / 70

The Role of IP

Chapter 4 Internet Protocol- IPv6. The Role of IP. Chapter 4 Internet Protocol- IPv6. The Role of IP. IPv6 Header Format. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Version| Traffic Class | Flow Label |

orinda
Download Presentation

The Role of IP

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Chapter 4 Internet Protocol- IPv6 The Role of IP

  2. Chapter 4 Internet Protocol- IPv6 The Role of IP

  3. IPv6 Header Format +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Version| Traffic Class | Flow Label | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Payload Length | Next Header | Hop Limit | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | + + | | + Source Address + | | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | + + | | + Destination Address + | | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

  4. IPv4 Header Format

  5. Six fields were suppressed: Header Length, Type of Service, Identification, Flags, Fragment Offset, Header Checksum. Three fields were renamed: Length (payload length), Protocol Type (next header), Time to Live (hop limit) The option mechanism was entirely revised. Two new fields were added: Traffic Class and Flow Label (to handle the real-time traffic). Three major simplifications Assign a fixed format to all headers (40 bytes) 128-bit network addresses Remove the header checksum Remove the hop-by-hop segmentation procedure Built-in security Chapter 4 Internet Protocol- IPv6 A Comparison of Two Headers

  6. Chapter 4 Internet Protocol- IPv6 Important Features-Summary • expanded addressing and routing capabilities • The IP address size is increased from 32 bits to 128 bits • providing support for a much greater number of addressable • nodes, more level of addressing hierarchy. Also support • multicast and anycast.

  7. Chapter 4 Internet Protocol- IPv6 Important Features-Summary • simplified header format • Even though the IPv6 addresses are four time longer than the • IPv4 addresses, the IPv6 header is only twice the size of the • IPv4 header. It contains fewer fields (8 versus 12). Thus, • routers have less processing to do per header, which would • speed up routing.

  8. Chapter 4 Internet Protocol- IPv6 Important Features-Summary • support for extension headers and options • IPv6 options are placed in separate headers that are located in • the packet between the IPv6 header and the transport-layer • header. Since most IPv6 option headers are not examined • or processed by any router along a packet’s delivery path, it • facilitates a major improvement in router performance.

  9. Chapter 4 Internet Protocol- IPv6 Important Features-Summary A key extensibility feature of IPv6 is the ability to encode, within the option, the action which a router or host should perform if the option is unknown (can not discard the packet) . This permits the incremental deployment of additional functionality into an operational network with a minimal danger of disruption.

  10. Chapter 4 Internet Protocol- IPv6 Important Features-Summary • support for authentication and privacy • IPv6 includes the definition of an extension which provides • support for authentication and data integrity. This extension • is included as a basic element of IPv6 and support for it will • be required in all implementations. • IPv6 also includes the definition of an extension to support • confidentiality by means of encryption. Support for this • extension will be strongly encouraged in all implementations.

  11. Chapter 4 Internet Protocol- IPv6 Important Features-Summary • quality of service capabilities • A new capability is added to enable the labeling of packets • belonging to particular traffic “flows” for which the sender • has requested special handling, such as non-default quality • of service or “real-time” service.

  12. Chapter 4 Internet Protocol- IPv6 The IPv6 Header Version: version of IP. All datagrams will have a value of 6. Traffic Class The 8-bit Traffic Class 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. Detailed definitions of the syntax and semantics of all or some of the IPv6 Traffic Class bits, whether experimental or intended for eventual standardization, are to be provided in separate documents.

  13. Chapter 4 Internet Protocol- IPv6 The IPv6 Header • The following general requirements apply to the Traffic Class field: • The service interface to the IPv6 service within a node must provide a means for an upper-layer protocol to supply the value of the Traffic Class bits in packets originated by that upper-layer protocol. The default value must be zero for all 8 bits.

  14. Chapter 4 Internet Protocol- IPv6 The IPv6 Header Traffic Flows

  15. Chapter 4 Internet Protocol- IPv6 The IPv6 Header Traffic Flows All traffic for any particular flow should require the same handling by the network. All datagrams on the same flow must have the same destination, and they must all contain the same options for routers along the path. Routers can consult a table to process the packets from the same flows. (Thus, save packets processing time.)

  16. Chapter 4 Internet Protocol- IPv6 The IPv6 Header Flow Label Since the combination of flow label and source address uniquely defines a flow, the source system must choose the label to achieve this uniqueness. To help routers optimize any route caches, the IPv6 standard further requires the choice to be (pseudo)-random and uniform, ranging from 1 to 0xFFFFF.

  17. Chapter 4 Internet Protocol- IPv6 The IPv6 Header Flow Label When routers choose to use flow labels in this manner (routing based on flow label only), they cannot keep information for any flow label longer than a maximum lifetime (6 seconds) specified in state-establishment mechanism. After the maximum life time, the router must forget a cache entry, perhaps relearning it when the next packet for the flow appears. This time limit is needed in case a host resets and begins reusing its flow label values.

  18. Chapter 4 Internet Protocol- IPv6 The IPv6 Header • Flow Label:reserve amount of resources • This is a special service, then the six-second time limit may not be appropriate (may use RSVP to establish the flow connection). • Flow’s time limit exceeds six seconds, a host must refrain from using flow labels for more than six seconds

  19. Chapter 4 Internet Protocol- IPv6 The IPv6 Header Payload Length The payload length field (16 bits) indicates the total length of the IP datagram in bytes, less the IP basic header itself. It normally limits IP datagrams to 65535 bytes.

  20. Chapter 4 Internet Protocol- IPv6 The IPv6 Header Next Header The next header field identifies which header follows the basic IP header in the datagram. IP Next Header Values 0 Hop-by-Hop Options Header 46 Resource Reservation Protocol 4 Internet Protocol 50 Encapsulating Security Payload 6 Transmission Control Protocol 51 Authentication Header 17 User Datagram Protocol 58 Internet Control Message Protocol 43 Routing Header 59 No Next Header 44 Fragment Header 60 Destination Options Header 45 Interdomain Routing Protocol

  21. Chapter 4 Internet Protocol- IPv6 The IPv6 Header Next Header IPv6 Header Next Header=TCP TCP Header IPv6 Header Next Header= Routing Routing Header Next Header= TCP TCP Header IPv6 Header Next Header= Routing Routing Header Next Header= Fragment Fragment Header Next Header= TCP TCP Header

  22. Chapter 4 Internet Protocol- IPv6 The IPv6 Header Hop Limit The hop limit field determines how far a datagram will travel. When a host creates a datagram, it sets the hop limit to some initial value. Then as the datagram travels through routers on the network, each router decrements this field by one. If the datagram’s hop limit becomes zero before it reaches its destination, the datagram is discarded.

  23. Chapter 4 Internet Protocol- IPv6 The IPv6 Header Hop Limit The hop limit serves two purposes. First, it breaks routing loops. Router A thinks (incorrectly) that Laptop is connected to router B.

  24. Chapter 4 Internet Protocol- IPv6 The IPv6 Header Hop Limit Hop limit lets a host perform an expanding search across the network.

  25. Chapter 4 Internet Protocol- IPv6 The IPv6 Header Source Address 128-bit address of the originator of the packet. Destination Address 128-bit address of the intended recipient of the packet (possibly not the ultimate recipient, if a Routing header is present).

  26. Chapter 4 Internet Protocol- IPv6 IP Extension Headers IP extension header provides a simple mechanism to convey extra information to the destination or to intermediate systems along the path. IP Next Header Values 0 Hop-by-Hop Options Header 46 Resource Reservation Protocol 4 Internet Protocol 50 Encapsulating Security Payload 6 Transmission Control Protocol 51 Authentication Header 17 User Datagram Protocol 58 Internet Control Message Protocol 43 Routing Header59 No Next Header 44 Fragment Header60 Destination Options Header 45 Interdomain Routing Protocol

  27. Chapter 4 Internet Protocol- IPv6 IP Extension Headers The structure allows IP to string multiple extension headers together. The final extension header uses its next header field to identify the upper-level protocol.

  28. Chapter 4 Internet Protocol- IPv6 Header Order The contents and semantics of each extension header determine whether or not to proceed to the next header. Therefore, extension headers must be processed strictly in the order they appear in the packet; a receiver must not, for example, scan through a packet looking for a particular kind of extension header and process that header prior to processing all preceding ones.

  29. Chapter 4 Internet Protocol- IPv6 IP Extension Headers The exception referred to in the preceding paragraph is the Hop-by-Hop Options header, which carries information that must be examined and processed by every node along a packet's delivery path, including the source and destination nodes. The Hop-by-Hop Options header, when present, must immediately follow the IPv6 header. Its presence is indicated by the value zero in the Next Header field of the IPv6 header.

  30. Chapter 4 Internet Protocol- IPv6 IP Extension Headers If, as a result of processing a header, a node is required to proceed to the next header but the Next Header value in the current header is unrecognized by the node, it should discard the packet and send an ICMP Parameter Problem message to the source of the packet, with an ICMP Code value of 1 ("unrecognized Next Header type encountered") and the ICMP Pointer field containing the offset of the unrecognized value within the original packet. The same action should be taken if a node encounters a Next Header value of zero in any header other than an IPv6 header.

  31. Chapter 4 Internet Protocol- IPv6 IP Extension Headers Each extension header is an integer multiple of 8 octets long, in order to retain 8-octet alignment for subsequent headers. Multi- octet fields within each extension header are aligned on their natural boundaries, i.e., fields of width n octets are placed at an integer multiple of n octets from the start of the header, for n = 1, 2, 4, or 8.

  32. Chapter 4 Internet Protocol- IPv6 Header Order A full implementation of IPv6 includes implementation of the following extension headers: Hop-by-Hop Options Routing (Type 0) Fragment Destination Options Authentication Encapsulating Security Payload

  33. Chapter 4 Internet Protocol- IPv6 IP Extension Headers When more than one extension header is used in the same packet, it is recommended that those headers appear in the following order: (Destination Options Header may appear twice) IPv6 header Hop-by-Hop Options header Destination Options header (for intermediate nodes) Routing header Fragment header Authentication header Encapsulating Security Payload header Destination Options header (by final destination only) upper-layer header

  34. Chapter 4 Internet Protocol- IPv6 IP Extension Headers Each extension header should occur at most once, except for the Destination Options header which should occur at most twice (once before a Routing header and once before the upper-layer header). If the upper-layer header is another IPv6 header (in the case of IPv6 being tunneled over or encapsulated in IPv6), it may be followed by its own extension headers, which are separately subject to the same ordering recommendations.

  35. Chapter 4 Internet Protocol- IPv6 Options Two of the currently-defined extension headers -- the Hop-by-Hop Options header and the Destination Options header -- carry a variable number of type-length-value (TLV) encoded "options", of the following format: +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- - - - - - - - - | Option Type | Opt Data Len | Option Data +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- - - - - - - - - Option Type 8-bit identifier of the type of option. Opt Data Len 8-bit unsigned integer. Length of the Option Data field of this option, in octets. Option Data Variable-length field. Option-Type-specific data.

  36. Chapter 4 Internet Protocol- IPv6 Hop-by-Hop Options The hop-by-hop options header contains IP options for every system on the datagram’s route. Every router in the path must examine and process the hop-by-hop options header. Including type and length (2 bytes) … (options) Type Length # of bytes 194 Jumbo Payload Length 2_4 bytes 4n+2

  37. Chapter 4 Internet Protocol- IPv6 Hop-by-Hop Options Alignment: xn+y states that the option type must begin at an integer number of x bytes from the start of the header, plus y bytes. For efficient processing of IP datagrams by a processor

  38. Chapter 4 Internet Protocol- IPv6 Hop-by-Hop Options The value of option type also tells routers how to handle the option when they encounter it. In particular, the two most significant bits tell a router what to do with an option type that it does not recognize.

  39. Chapter 4 Internet Protocol- IPv6 Hop-by-Hop Options The third most significant bit identifies those options that may change their value as the datagram traverses the network.

  40. Chapter 4 Internet Protocol- IPv6 Hop-by-Hop Options Pad1 Option This option serves to shift other options’ positions in the header. Most frequently, it places those other options so that they satisfy their alignment requirements. If a field fails to fall in the right place, one or more Pad1 options can be inserted ahead of it to shift the field to the correct position.

  41. Chapter 4 Internet Protocol- IPv6 Hop-by-Hop Options PadN Option The PadN option serves the same purpose as the Pad1 option. However, the PadN option adds an arbitrary shift. The smallest shift possible is two bytes, corresponding to an option length of zero. This one adds five bytes of padding.

  42. Chapter 4 Internet Protocol- IPv6 Routing Header (Source Route Option) Normally, the source of an IP datagram leaves it to the network to deliver that datagram to its destination. Sometimes, though, the source desires more control over the datagram’s route. The source may wish to give the network hints as to the best path for the datagram, or it may wish to control the path to make sure the datagram does not travel through inappropriate routers. The routing header gives the source this control.

  43. Chapter 4 Internet Protocol- IPv6 Routing Header Want to avoid this path sometimes

  44. Chapter 4 Internet Protocol- IPv6 Routing Header The Type 0 Routing header has the following format: +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Next Header | Hdr Ext Len | Routing Type=0| Segments Left | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Reserved | Strict/Loose Bit Mask | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | + + | | + Address[1] + | | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ …

  45. Chapter 4 Internet Protocol- IPv6 Routing Header When the datagram first leaves the source host, the basic IP header’s destination address indicates the first hop on the desired path. The list in the routing header identifies subsequent hops along that path. As the datagram arrives at each hop, that system takes the next hop from the list and swaps it with the destination address. EX: Fig. 4.15

  46. Chapter 4 Internet Protocol- IPv6 Routing Header Multicast addresses must not appear in a Routing header of Type 0 A Routing header is not examined or processed until it reaches the node identified in the Destination Address field of the IPv6 header. In that node, dispatching on the Next Header field of the immediately preceding header causes the Routing header module to be invoked.

  47. Chapter 4 Internet Protocol- IPv6 Routing Header As an example, consider the case of a source node S sending a packet to destination node D, using a Routing header to cause the packet to be routed via intermediate nodes I1, I2, and I3. The values of the relevant IPv6 header and Routing header fields on each segment of the delivery path would be as follows: As the packet travels from S to I1: Source Address = S Hdr Ext Len = 6 Destination Address = I1 Segments Left = 3 Address[1] = I2 Address[2] = I3 Address[3] = D

  48. Chapter 4 Internet Protocol- IPv6 Routing Header As the packet travels from I1 to I2: Source Address = S Hdr Ext Len = 6 Destination Address = I2 Segments Left = 2 Address[1] = I1 Address[2] = I3 Address[3] = D

  49. Chapter 4 Internet Protocol- IPv6 Routing Header As the packet travels from I2 to I3: Source Address = S Hdr Ext Len = 6 Destination Address = I3 Segments Left = 1 Address[1] = I1 Address[2] = I2 Address[3] = D

  50. Chapter 4 Internet Protocol- IPv6 Routing Header As the packet travels from I3 to D: Source Address = S Hdr Ext Len = 6 Destination Address = D Segments Left = 0 Address[1] = I1 Address[2] = I2 Address[3] = I3

More Related