170 likes | 227 Views
Overview. Last Lecture Internet Protocols (3) Source: chapter 15 This Lecture Internet Protocols (4) Source: chapter 15 Next Lecture TCP/UDP (1) Source: chapter 17. IPv6. IPv6 - replacement for IP v4 During development it was called IPng, which stands for IP Next Generation
E N D
Overview • Last Lecture • Internet Protocols (3) • Source: chapter 15 • This Lecture • Internet Protocols (4) • Source: chapter 15 • Next Lecture • TCP/UDP (1) • Source: chapter 17
IPv6 • IPv6 - replacement for IP v4 • During development it was called IPng, which stands for IP Next Generation • Problems of IP (IPv4) • Address depletion: 2**32=4.3billion addresses and most organizations apply for class B network even if they don’t have many hosts in the network now • Routing table explosion: currently about 50K entries in core routers • Can not meet the requirement of multimedia applications: no constant bit rate guarantee • Don’t support host mobility • Not secure enough • IPv6 is developed to overcome the above problems and co-exists with IPv4 • IPv6 RFC • 1752 - Recommendations for the IP Next Generation Protocol • 2460 - Overall specification • 2373 - addressing structure
IPv6 • Major goals of IPv6 • Support billions of hosts, even with inefficient address allocation • Reduce the size of the routing tables • Simplify the protocol, to allow routers to process packets faster • Provide better security (authentication and privacy) than current IP • Pay more attention to type of service, particularly for real-time data flow • Make it possible for a host to roam without changing its address • Allow the protocol to evolve in the future • Permit the old and new protocols to coexist for years • IPv6 meets the goals fairly well • IPv6 addresses are 16 bytes long, instead of 4 bytes in IPv4, providing an effectively unlimited supply of Internet addresses • IPv6 header contains only 7 fields (versus 13 in IPv4), allowing faster process of packets • IPv6 has better support for options by using extension headers • IPv6 improves security (authentication and privacy) • IPv6 pays more attention to type of service and supports resource allocation
IPv6 packet header • IPv6 packet header • Version field(4bits): value 4 for current IP, value 6 for IPv6 • Traffic class: classes or priorities of packet. Used in congestion control. Values above 7 is for real-time or multimedia applications. Low priority packets will have longer delay when congestion happens
IPv6 packet header • IPv6 packet fields • Flow label field(24bits): Used by hosts requesting special handling . Allows a source and destination to set up a pseudoconnection with particular properties and requirements. In effect, it attempts to combine the flexibility of a datagram and virtual circuit • Payload length field(16bits): tells how many bytes follow the 40-byte header (max. 64k bytes long), including all extension headers and user data • Next header field(8bits): tells which of the six extension headers, if any, follows the IPv6 header. If this header is the last IP header, it tells which transport protocol handler (TCP/UDP) to pass the packet to • Hop limit field(8bits): is the same as the time-to-live field in IPv4 and decrements on each hop. When it hits zero, the packet is dropped. • The Source/Destination address field contains 16 bytes=128 bits • IP addresses • 128 bits long • Assigned to interface. A single interface may have multiple addresses • Representation: X:X:X:X:X:X:X:X • Eight 16-bit piece of hexadecimal values • e.g.FEDC:BA98:7654:3210:FEDC:BA98:7654:3210
IPv6 addresses • Three types of address • Unicast • Delivered to a single interface • Anycast • Set of interfaces (typically different nodes) • Delivered to any one interface • the “nearest” • Multicast • Set of interfaces • Delivered to all interfaces identified • Discussion of IPv6 address space • There are 2**128=3*10**38 in total • If the entire earth, land and water, were covered with computers, IPv6 would allow 7*10**23 IP addresses per square meter • In practice, the address space will not be used efficiently. In the most pessimistic scenario, there will still be well over 1000 IP addresses per square meter of the earth’s surface • In any likely scenario, there will be trillions of them per square meter • Only 28% of the address space has been allocated so far. The other 72% is available for future purposes not yet thought of
IPv6 packet structure • Packet structure
Extension headers • IPv6 implements several extension headers to allow more options • Hop-by-hop header: provides information that each router must examine • Fragmentation header: provides information in the event that packet fragments must be reassembled (intermediate routers can not fragment which is different from IPv4) • Routing header: provides additional routing information • Destination options header: provides information for the destination • Authentication header: for IP authentication • Security header: indicates the packet’s payload has been encrypted • Hop-by-hop header fields • Next header: 8 bits, identifies the type of header immediately following this header • Header extension length: 8 bits, length of this header in 64-bit units, not including the first 64 bits • Options: a variable-length field consisting of one or more option definitions • Each option definition has three subfields • Option type, 8 bits, identifies the option • Length, 8 bits, length of the Option Data • Option data: specification of the option
Extension headers • Hop-by-hop header fields • Two options have been specified so far • Jumbo payload: used to send a packet longer than 216 = 65,535 octets. In this case, the Payload Length of the IPv6 header is set to zero, and the Option Data field is 32 bits long and gives the length of the packet in octets, excluding the IPv6 header • Router alert:Tells the router that the contents of this packet is of interest to the router. It is used to provides support for protocols such as RSPV (chapter 16) to reserve resources • Fragmentation in IPv6 • Fragmentation only allowed at source • No fragmentation at intermediate routers • Node must perform path discovery to find smallest MTU of intermediate networks • Source fragments packets to match MTU • Otherwise the source must limit all packets to 1280 octets, which is the minimum MTU that must be supported by every network
Extension headers • Fragmentation header fields • Next Header: 8 bits, identifies the type of header immediately following this header • Reserved: 8 bits, for future use • Fragmentation offset: 13 bits, indicates where in the original packet the payload of this fragment belongs. It is measured in 64-bit units • Reserved: 2 bits, reserved for future use • More flag: 1 bit, 1=more fragments, 0=last fragment • Identification: 32 bits, intended to uniquely identify the original packet • Routing Header • Contains a list of one or more intermediate nodes to be visited • Next Header • Header extension length: in 64-bit units • Routing type: identifies a particular Routing header variant. • Segments left: number of route segments remaining • i.e. number of nodes still to be visited • Destination Options header • The header carries info to be examined by the destination • Same format as Hop-by-Hop options header
Extension headers • Figures of extension headers
Autoconfiguration • “Plug and play” feature for IP address allocation • Stateless mode: no server is required. The newly joined host sends a router solicitation request and the router responds with its network address. The host uses the network address and its link address to form its IP address • Server mode: The newly joined host sends a DHCP request to the server which returns the IP address allocated to the host.
Other supports • Multimedia support • Applications can reserve resources in advance via Flow Label • All packets belonging to the same flow must be sent with the same source/destination address, traffic class, and flow label • Security • Authentication: MD5 based • Encryption: payload is encrypted • Cipher Block Chaining mode of the Data Encryption Standard (DES-CBC)
Transition strategies • Dual stack • Dual stack hosts run both IPv4 and IPv6 • DNS can tell TCP which stack to use
Transition strategies • Tunneling • IPv6 packet over IPv4 infrastructure • Encapsulate an IPv6 packet in an IPv4 packet • Rely on IPv4-compatible IPv6 addresses
Transition strategies • Header translation • A full IPv6 system needs to support a few IPv4-only systems • Rely on IPv4-mapped IPv6 addresses
Summary • Problems in IPv4 • Goals of IPv6 • IPv6 packet format • IPv6 addresses • IPv6 extension headers • IPv6 auto-configuration • Transition strategies from IPv4 to IPv6