430 likes | 438 Views
IP Futures. There are problems with IP which are a result of the phenomenal growth of the Internet over the past few years as of 1994, over half of the class B addresses have been allocated 32-bit IP addresses are inadequate
E N D
IP Futures • There are problems with IP which are a result of the phenomenal growth of the Internet over the past few years • as of 1994, over half of the class B addresses have been allocated • 32-bit IP addresses are inadequate • the current routing structure is basically flat, making routing tables too large • Scalability is the problem!! ICSS420 - IP Futures
Classless Addressing • The IP addressing space has been running out • Subnet addressing (early 1980s) helped to conserve the IP address space • Unnumbered networks and transparent routers followed • In 1993 work began on developing a new version of IP • In the meantime something needs to be done… • Classless addressing, supernet addressing, or supernetting is the technique currently being used ICSS420 - IP Futures
The Basic Idea • Classless addressing take a complementary approach to subnet addressing • Instead of a single IP network prefix for an organization, addresses assigned to a single organization are allowed to span multiple classed prefixes ICSS420 - IP Futures
Why? • The IP addressing scheme does not divide network addresses evenly • 17,000 class B addresses and 2+ million class C address • The Goldilocks problem caused most organization to request class B addresses ICSS420 - IP Futures
PTT Inc. • PTT Inc needs to register to get an IP address • Class C is clearly too small, plus I want to subnet, so I want a class B • Instead of a single class B address, I get a contiguous block of class C addresses ICSS420 - IP Futures
ISPs • Classless addressing was also meant to be used in a broader context • The ISP assigns numbers to its clients ICSS420 - IP Futures
Routing • Clearly classless addressing affects the way that routing is done • At first glance it appears that routing tables will need to grow • CIDR takes care of this • RFC 1519 • Contiguous class C addresses are represented by a single entry • ( network address, count) ICSS420 - IP Futures
Routing Tables • So the entry • ( 192.5.48.0, 3 ) • Specifies the network addresses 192.5.48.0, 192.5.49.0, and 192.5.50.0 • If ISPs make up the core of the internet • Routing tables become much smaller • An ISP’s routing table has entries for all of its customers, but only one entry for any other ISP ICSS420 - IP Futures
Class C Allocation Rules ICSS420 - IP Futures
CIDR In Practice • CIDR uses a bit mask to identify the size of the block • For a block of 2048 addresses starting at 128.211.168.0 • The mask would be: FF FF F8 00 • New shorthand • 128.211.168.0/21 • 255.0.0.0/8 • 255.255.0.0/16 • 255.255.255.0/24 ICSS420 - IP Futures
New IP Versions • Four proposals have been made for a new version of IP • SIP, the Simple Internet Protocol. Proposes a minimal set of changes to IP that uses 64-bit addresses and a different header format • PIP, larger, variable length, hierarchical addresses with a different header format • TUBA (RFC1347), TCP and UDP with bigger addresses • TP/IX (RFC1475), 64-bit addresses, changes TCP/UDP ICSS420 - IP Futures
References • The May 1993 issue of IEEE Network (volume 7, number 3) contains overviews of the first three proposals, along with an article on CIDR. • RFC1454 also compares the first three proposals ICSS420 - IP Futures
What is IPv6? • IPv6, also called IPng (next generation) is the new version of Internet Protocol • Currently we are using IPv4, which IPv6 was designed to be a successor to • Designed not to take a radical step away from IPv4, but improve upon it ICSS420 - IP Futures
Why IPv6? • IPv4 has been designed early in the 70s • Many things have been added • MobileIP • QoS • Security (IPsec) • Others • These were not designed in IPv4 from the start. ICSS420 - IP Futures
Design Criteria • Number of addresses • Efficiency in routers low and very high bandwidth (100G/ bytes++) • Security • Mobility • Automatic configuration • Seamless transition • No need to change hardware ICSS420 - IP Futures
Features • Expanded addressing capabilities • Header format simplification • Increased support for modular options • Multicast routing capabilities • Security capabilities • Expanded QoS capabilities ICSS420 - IP Futures
IPv6 128 bit addresses addresses assigned to interfaces approximately 82% of address space unassigned huge address space Address Space • IPv4 • 32 bit addresses • addresses assigned to nodes • little unassigned address space • relatively small address space ICSS420 - IP Futures
How Huge? • Every human on the planet has enough addresses to create a network the size of the current internet • Or • Earth’s surface is about 5.1 x 108 square kilometers • This means there are about 1024 addresses per square meter of the Earth’s surface • Or • If you assign addresses at the rate of one million every microsecond, it would take more than 1020 years to exhaust the addressing space. ICSS420 - IP Futures
Or • Imagine Bill Gates’ fortune is 85 billion $(8.5x1010)– Take 1 trillion Bill Gateses • Convert their fortune to pennies • Assign 1x1012 addresses to each penny • Takes 8.5x1036 addresses • You’ve just assigned 2.5% of the entire IPv6 address space ICSS420 - IP Futures
Address Notation • 128 bit address are too big to write in the dotted-decimal-octet format (i.e. 129.21.3.103) • New notation is hexadecimal digits separated by colons every 16 bits. • 5f1b:df00:ce3e:e200:0020:0800:2078:e3e3 • Can append decimal octet for easier IPv4 mapping/compatibility: • ::FFFF:206.62.226.33 • Can abbreviate filler 0 bits with :: ICSS420 - IP Futures
IPv6 Address Types • Three types of addresses • Unicast • Destination is a single computer • Multicast • The destination is a set of computers, the datagram is delivered to each member of the group • Anycast ICSS420 - IP Futures
Anycast • An anycast address is one that is assigned to more than one interface (typically belonging to different nodes)" • A packet sent to an anycast address is routed to the "nearest" interface having that address, according to the routing protocol • Allocated from the unicast address space • Not to be used as the source address • Assigned to routers only - not hosts ICSS420 - IP Futures
Anycast Example • Your ISP has two upstream connections with two different service providers • Service provider X uses anycast address A to identify all of its routers • If you want your packets to go through X, you can do a source route to A • This will go to the "nearest" router in A, so even if the network topology changes, your packets will still go through X ICSS420 - IP Futures
Important Addresses • Localhost - 127.0.0.1 - ::1 • The unspecified address - 0.0.0.0 - :: or 0::0 • Multicast: • all nodes on link: ff02::1 • all routers on link: ff02::2 • all hosts on link: ff02::3 ICSS420 - IP Futures
Format of Global Unicast Address • Format prefix (001) • TLA ID (top-level aggregation identifier) • NLA ID (next-level aggregation identifier) • SLA ID (site-level agg. id. - e.g. Subnet ID) • interface identifier - based on MAC address ICSS420 - IP Futures
Format of Multicast Addresses • Flags is a set of 4 flags. • The high order 3 flags are reserved. • The low order flag indicates whether the address is a permanently assigned or transient multicast address. • Scope indicates multicast scope; e.g.: • 1 = node-local • 2 = link-local • 5 = site-local ICSS420 - IP Futures
IPv6 Packet Format Optional Base Header Ext Header 1 Ext Header N … DATA!! 40 Octets ICSS420 - IP Futures
IPv6 Packet Header Vers Traffic Type Flow Label Payload Length Next Header Hop Limit Source Address Destination Address ICSS420 - IP Futures
IPv6 Packet Header • Followed by optional header extensions and data payload • Addresses are 64-bit aligned - for speed • Note the lack of a header checksum • For speed ICSS420 - IP Futures
Traffic Class • 8-bit field • A way to identify and distinguish between different classes or priorities of packets • Used to make more intelligent routing decisions • Can be set or changed by forwarding routers • Currently experimental ICSS420 - IP Futures
Flow Label • 20-bit field • A flow is a sequence of packets • Distinguished by: • Source • Destination • Flow Number • Used by a source to request special handling by routers for all packets in a flow ICSS420 - IP Futures
Payload Length • 16-bit unsigned integer • Length of the rest of the packet in bytes • Includes header extensions and data block ICSS420 - IP Futures
Next Header • 8-bit selector • For header extensions • If header extensions are present, this field indicates the type of the first one following the current header ICSS420 - IP Futures
Hop Limit • Limit on the number of times a packet can be forwarded on the network • Set by source • Decremented by routers when packet is forwarded • If zero after decrement, packet is dropped, ICMPv6 Echo Timeout sent to source • Analagous to TTL in IPv4 ICSS420 - IP Futures
Hop-by-Hop options Source Routing Fragmentation Authentication Encapsulating Security Payload Destination options Upper-layer headers Extension Headers • Optional Components • Used to provide more information to routers or destination • Seven types of extensions defined ICSS420 - IP Futures
Options Headers • Two types: • Hop-by-hop: examined by every router • Destination: examined by the receiving node only • Contains further information to be known to the appropriate machines. • Format specified, but options themselves currently unspecified (as far as I can tell) ICSS420 - IP Futures
Fragmentation • Fragmentation is an option header as it is the exception, not the rule • Unlike IPv4, fragmentation must happen at the source, not at intermediate routers - for speed • This means source must have the ability to perform Path MTU Discovery • IPv6 requires that every link on the internet have an MTU of 1280 bytes or greater ICSS420 - IP Futures
Upper-Layer Checksums • The transport layer in IPv6 places a pseudo-header into the header extensions. • This includes source and (ultimate) destination addresses. • Upper-layer checksums must include this pseudo-header in their calculation so the destination can validate these fields. • TCP, UDP and ICMPv6 all use these pseudo-headers ICSS420 - IP Futures
Transition • Allows for incremental updates • e.,g.: one subnet can upgrade at a time • Easy addressing for IPv4 compatibility/mapping • Encapsulation of packets • IPv6 in IPv4 (i.e. 6Bone) • IPv4 in IPv6 • Can have both IPv4 and IPv6 on same network • Will take years to complete ICSS420 - IP Futures
IPv4 Compatibility • Transition Mechanism includes a technique for dynamically tunneling IPv6 over IPv4 infrastructure. • IPv6 nodes that utilize this technique are assigned special IPv6 unicast addresses that carry an IPv4 address in the low-order 32 bits. • This is an "IPv4-Compatible IPv6 address" • ::<IPv4 address> • e.g.: ::129.12.3.103 ICSS420 - IP Futures
IPv4 Mapping • Used to represent the address of IPv4-only nodes (those that do not support IPv6) as IPv6 addresses • Called an "IPv4-mapped IPv6 address" • ::FFFF:<IPv4 address> • e.g: ::FFFF:129.21.3.103 ICSS420 - IP Futures
Routing • Nearly identical to IPv4 routing • Fixes class A/B/C routing problems • All of IPv4's routing algorithms will work with minor extensions • Some new functionality • Provider selection • Host mobility (route to current location) • Auto-readdressing (route to new address) ICSS420 - IP Futures
References • RFCs: • 2460: Internet Protocol, Version 6 Specification • 2373: IPv6 Addressing Architecture • 1933: Transition Mechanisms for IPv6 Hosts and Routers • www.ipv6.org • www.6bone.net ICSS420 - IP Futures