The Future of TCP/IP (IPv6)
Chapter 33 Evolution of TCP/IP intertwined with evolution of the global Internet
Internet is largest installed internet Funding comes from organizations that are Internet users Most researchers use Internet daily
Chapter purpose is to consider ongoing evolution of TCP/IP
© MMII JW Ryder
CS 428 Computer Networking
1
Why Change?
New computer and communication technologies
New applications
New technologies = new possibilities and needs New ways to use Internet means new protocols needed
Increases in size and load
Massive growth means old ways strained
© MMII JW Ryder
CS 428 Computer Networking
2
Motivation for Changing IPv4
New countries with differing administrative policies IPv4 same for about 20 years Since IPv4 designed
Enhanced processor performance Memory size increased Network bandwidth for Internet backbone increased New LAN technologies Number of hosts on Internet risen to over 56 million
© MMII JW Ryder
CS 428 Computer Networking
3
Road to New Version of IP
Several suggested designs
Make IP more sophisticated at expense of increased complexity and processing overhead Use a modification of OSI CLNS protocol Retain most of ideas in IP but make simple extensions to accommodate larger addresses
© MMII JW Ryder
Simple IP – (SIP) Still include new ideas from other suggested protocols CS 428 Computer Networking
4
Features of IPv6
Despite many conceptual similarities IPv6 changes most protocol details Completely revises datagram format
Replace IPv4 variable length fields with a series of fixed format headers
Still supports connectionless delivery Allows sender to choose datagram size but requires sender to specify maximum hops
© MMII JW Ryder
CS 428 Computer Networking
5
Features of IPv6 Includes facilities for fragmentation and source routing Main changes introduced are 1. Larger Addresses: IPv6 quadruples the size from 32 bits to 128 bits 2. Extended Address Hierarchy: Creates ability to have additional address levels on an internet
IPv4 Addresses – 2 levels, Network and Host IPv6 Addresses – Can define a hierarchy of ISPs as well as hierarchy within a site
© MMII JW Ryder
CS 428 Computer Networking
6
Features of IPv6 3. Flexible Header Format: Datagram format entirely different
Defines a fixed size (40 octets) header with optional extended headers
4. Improved Options:
Has same options as IPv4 plus some new ones
5. Provision for Protocol Extension:
Move away from protocol that fully specifies all details to one that permits additional features
© MMII JW Ryder
CS 428 Computer Networking
7
Features of IPv6 6. Support for Autoconfiguration and Renumbering:
Allows computers on an isolated network to assign themselves addresses and begin communicating without depending on a router or manual configuration Facility to permit a manager to renumber networks dynamically
© MMII JW Ryder
CS 428 Computer Networking
8
Features of IPv6 7. Support for Resource Allocation:
Two facilities for pre-allocation of network resources
© MMII JW Ryder
a Flow abstraction a Differentiated Services specification
CS 428 Computer Networking
9
IPv6 Address Space
How big is 2128 ? So large that everyone on earth will have enough addresses to have their own internets with as many addresses as the current Internet has So large that there would be 1024 internet addresses per each square meter on earth So large that the address space is greater than 3.4 * 1038
If addresses are assigned at the rate of 1,000,000 every microsecond (1/1,000,000th of a second), it would take more than 1020 years to assign all possible addresses
© MMII JW Ryder
CS 428 Computer Networking
10
IPv6 Colon Hexadecimal Notation
128 bit number expressed as dotted decimal
104.230.140.100.255.255.255.255.0.0.17.128.150.10.255.255 becomes 68E6:8C64:FFFF:FFFF:0:1180:96A:FFFF
Hex notation allows zero compression
A string of repeated zeros is replaced with a pair of colons FF05:0:0:0:0:0:0:B3 becomes FF05::B3 Can be applied only once in any address
© MMII JW Ryder
CS 428 Computer Networking
11
Zero Suppression
0:0:0:0:0:0:128.10.2.1 becomes ::128.10.2.1 Looks quite similar to IPv4 12AB::CD30:0:0:0:0/60 says use first 60 bits and becomes 12AB00000000CD3
© MMII JW Ryder
CS 428 Computer Networking
12
Basic IPv6 Address Types
Unicast – Destination address specifies a single computer. Route datagram along shortest path. Anycast – Destination is a set of computers, possibly at different locations, that all share a single address. Route datagram along shortest path and deliver to exactly one member of the group (i.e. closest member)
© MMII JW Ryder
CS 428 Computer Networking
13
Basic IPv6 Address Types
Multicast - Destination is a set of computers, possibly at different locations. One copy of the datagram will be delivered to each member of the group using hardware multicast or broadcast if viable.
© MMII JW Ryder
CS 428 Computer Networking
14
Encoding IPv4 Addresses in IPv6 80 zero bits
16 bits
32 bits
0000 . . . . . . . . . . . . . . . . . . . . . . . . 0000
0000
IPv4 Address
0000 . . . . . . . . . . .. . . . . . . . . . . . . . 0000
FFFF
IPv4 Address
• 16-bit field contains 0000 if node also has a conventional IPv6 address and FFFF if it does not. RESERVED © MMII JW Ryder
DATAGRAM IDENTIFICATION CS 428 Computer Networking
15
General Form of IPv6 Datagram Optional Base
Extension
Header
Header 1
Extension Header N
Data
40 octets
© MMII JW Ryder
CS 428 Computer Networking
16
IPv6 Base Header Format
See Base Header figure Alignment changed from 32 bit to 64 bit multiples Header length eliminated – Replaced with PAYLOAD LENGTH field Size of source and destination addresses changed to 16 octets Fragmentation information moved out of fixed fields in base header to extension header
© MMII JW Ryder
CS 428 Computer Networking
17
IPv6 Base Header Format
TIME-TO-LIVE field changed to HOP LIMIT SERVICE-TYPE field renamed to TRAFFIC CLASS and extended with FLOW LABEL field PROTOCOL field replaced with a field that specifies type of next header
© MMII JW Ryder
CS 428 Computer Networking
18
Base Header Format 0
4
VERS
12
16
TRAFFIC CLASS
PAYLOAD LENGTH
24
31
FLOW LABEL NEXT HEADER
HOP LIMIT
SOURCE ADDRESS
DESTINATION ADDRESS
Base Header Size: 4 + 4 + 16 + 16 = 40 Octets © MMII JW Ryder
CS 428 Computer Networking
19
Base Header Format
PAYLOAD LENGTH is length of all extension headers plus data
i.e. Total length – 40 octets (Base Header)
IPv6 datagram can contain up to 64K octets of data
© MMII JW Ryder
CS 428 Computer Networking
20
Traffic Class
IPv4 SERVICE CLASS renamed to TRAFFIC CLASS New IPv6 mechanism allows for resource reservation! A router can associate with each datagram a given resource allocation
Abstraction called a FLOW
A FLOW is a path through an internet along which intermediate routers guarantee a certain level of quality of service
© MMII JW Ryder
CS 428 Computer Networking
21
Traffic Class
FLOW LABEL in the base header contains a label that routers use to map a datagram to a certain specific flow and priority Flows can also be used within an organization to manage network resources Example
Two applications that need to send and receive video can establish a flow over which the bandwidth and delay are guaranteed
© MMII JW Ryder
CS 428 Computer Networking
22
IPv6 Extension Headers Base Header NEXT=TCP
TCP Segment
One Base Header Base Header NEXT=ROUTE
Route Header NEXT=TCP
TCP Segment
Route Header NEXT=AUTH
Auth Header NEXT=TCP
Two Base Headers Base Header NEXT=ROUTE
TCP Segment
Three Base Headers © MMII JW Ryder
CS 428 Computer Networking
23
IPv6 Fragmentation
As with IPv4, IPv6 arranges for destination to perform re-assembly In IPv6 however, changes were made that avoid fragmentation by routers IPv4 requires intermediate routers to fragment any datagram that is too large for the maximum transfer/transmission unit (MTU) of network over which it must travel IPv6 fragmentation is end-to-end
© MMII JW Ryder
CS 428 Computer Networking
24
IPv6 Fragmentation
No fragmentation done on intermediate routers Source which is responsible for fragmentation has two choices
Use guaranteed minimum MTU (1280 octets) Perform Path MTU Discovery
© MMII JW Ryder
Identifies minimum MTU along path to the destination CS 428 Computer Networking
25
IPv6 Fragmentation
Either case, the source fragments data IPv6 fragmentation inserts a small extension header after the base header in each fragment
0
8 NEXT HEADER
16 RESERVED
24 FRAG. OFFSET
29 31 RS M
DATAGRAM IDENTIFICATION RS is set t 0 and reserved. M marks last fragment. ID unique for re-assembly. Fragments must be a multiple of 8 octets. © MMII JW Ryder
CS 428 Computer Networking
26