The Future of TCP/IP • Always evolving: – New computer and communication technologies • More powerful PCs, portables, PDAs • ATM, packet-radio, fiber optic, satellite, cable – New applications • WWW, electronic commerce, internet broadcasting, chat – Increased size and load – New policies • New industries, new countries • Move away from centralized core architecture The Future of IP • IP version 4 (IPv4) has been in use since the 1970’s • IPv4 is being replaced: – Address space exhaustion • Running out of 32-bit IP addresses – Support new applications • Electronic commerce - authentication • Audio/video - Quality of Service (QoS) guarantees – Decentralization The Next Version of IP • Work on an open standard has been underway for years – Add functionality to IPv4 – Modify OSI CLNS – Simple IP Plus (SIPP) - simple extensions to IPv4 • IP - The Next Generation (Ipng) • IPv6 IPv6 • Details available at: http://playground.sun.com/pub/ipng/html/ipng-main.html • Major similarities with IPv4: – Connectionless datagram delivery – TTL, IP options, fragmentation • Major differences from IPv4: – Larger address space • 128-bit IPv6 IP addresses – New datagram format IPv6 (cont) • IPv4 - fixed-size header, variable-length options field, variable length data field: VERS (4) HLEN SERVICE TYPE TOTAL LENGTH IDENTIFICATION TIME TO LIVE FLAGS PROTOCOL FRAGMENT OFFSET HEADER CHECKSUM SOURCE IP ADDRESS DESTINATION IP ADDRESS IP OPTIONS (IF ANY) PADDING DATA • IPv6 - a set of variable-length (optional) headers: VERS (6) TRAFFIC CLASS PAYLOAD LENGTH NEXT HEADER SOURCE IP ADDRESS DESTINATION IP ADDRESS FLOW LABEL HOP LIMIT IPv6 Extension Headers • IPv6 datagram format: – Fixed-size base header – Zero or more variable-length extension headers – Variable-length data (or payload) segment BASE EXTENSION HEADER HEADER 1 …. EXTENSION HEADER N DATA IPv6 Extension Headers (cont) • Zero extension headers Base Header Next=TCP TCP Segment • One Extension header Base Header Next=Route Route Header Next=TCP TCP Segment • Two extension headers Base Header Next=Route Route Header Next=Auth Auth Header Next=TCP TCP Segment Security in IPv6 • Based on two mechanisms: – Authentication Header (AH) • Proof of the sender’s identity • Protection of the integrity of the data – Encapsulating Security Payload (ESP) • Protection of the confidentiality of the data Authentication Header - Example Base Header Next=Auth Auth Header Next=TCP TCP Segment Authentication Header • Security parameters index field – specifies which specific authentication scheme is being used • Authentication data field – contains data that can be used to establish the datagrams: – Authenticity – Integrity Encapsulating Security Payload • Encryption of the datagram or part of the datagram • 2 modes: – Transport mode – encryption of datagram payload – Tunneling mode • Encryption of entire datagram • Encapsulation of datagram ESP Transport Mode • Encryption of payload for privacy: Base Header Next=ESP ESP Header Next=TCP Encrypted TCP Segment ESP Trailer Padding Pad Len Next Header Security Parameter Index ESP Auth Data (Var) Sequence Number ESP Tunnel Mode • Encryption of entire datagram for privacy Base Header Next=ESP ESP Header Next=IP Encrypted Datagram AH and ESP • Protect authenticity, integrity, and privacy: IPv6 (cont) • Major differences from IPv4: – Improved Options • More flexibility and new options – Support for resource allocation • Packets labeled as belonging to particular traffic flow • Sender requests special handling (e.g. Qos, real-time, etc.) – Authentication, data integrity, and data confidentiality supported – Provision for protocol extension IPv6 Fragmentation • IPv4 – Intermediate router fragments datagram when necessary – Ultimate destination reassembles • IPv6 - end-to-end fragmentation – Before sending a datagram, source must determine the path’s MTU – Source fragments the datagram – Ultimate destination reassembles IPv6 Fragmentation (cont) • End-to-end fragmentation – Advantages – Disadvantages Representing IPv6 Addresses • 128-bits – Binary: 00000000 00000001 10000010 00000011 11111111 11000101 00001110 00000000 00001000 01111111 00110000 10000011 00000000 00000000 00000000 – Dotted decimal: 0.1.130.3.255.197.14.0.8.127.48.131.0.0.0.0 – Hex-colon: 1:8203:FFC5:E00:807F:3083:0:0 00000000 Representing IPv6 Addresses (cont) • 128-bits – Compressed hex-colon format • Zero compression – A string of repeated zeroes is replaced by a pair of colons – Performed at most once per address (unambiguous) • Examples: – FF05:0:0:0:0:0:0:B3 = FF05::B3 – 0:0:0:0:0:0:E00:807F = ::E00:807F – 0:0:0:F6AD:0:0:0:0 = 0:0:0:F6AD:: IPv4 Addresses Assignment • Class A 0 0 8 16 netid 24 31 24 hostid 31 24 31 hostid • Class B 0 10 8 netid 16 • Class C 0 110 8 16 netid hostid IPv6 Address Assignment Binary Prefix Type of Address Part of Address Space 0000 0000 0000 0001 0000 001 0000 010 0000 011 …. 0000 111 0001 001 010 011 100 101 110 1110 Reserved 1111 0 1111 10 1111 110 1111 1110 1111 1111 Reserved (IPv4 compatible) Reserved NSAP Addresses IPX Addresses Reserved 1/256 1/256 1/128 1/128 1/128 Reserved Reserved Reserved Provider-assigned unicast Reserved Reserved for geographic Reserved Reserved 1/128 1/16 1/8 1/8 1/8 1/8 1/8 1/8 1/16 Reserved Reserved Reserved Available for local use Multicast 1/32 1/64 1/128 1/256 1/256 IPv6 Address Types • Unicast – Specifies a single computer • Cluster/Anycast – Specifies a set of computers that share an address prefix (possibly at multiple locations) • Multicast – Specifies a set of computers (possibly at multiple locations) IPv6 Address Hierarchy Address type prefix 010 Provider ID Subscriber ID Subnet ID Provider prefix Subscriber prefix Subnet prefix IPv6 address Node ID