2.15k likes | 2.35k Views
Internet2 IPv6 Workshop. Grover Browning, Bill Cerveny, Dale Finkelson, Michael Lambert, Brent Sweeny, Bill Owens, Rick Summerhill and a cast of dozens. IPv6 Addressing. Overview of Addressing. Historical aspects Types of IPv6 addresses Work-in-progress Abilene IPv6 addressing.
E N D
Internet2 IPv6 Workshop Grover Browning, Bill Cerveny, Dale Finkelson, Michael Lambert, Brent Sweeny, Bill Owens, Rick Summerhill and a cast of dozens
Overview of Addressing • Historical aspects • Types of IPv6 addresses • Work-in-progress • Abilene IPv6 addressing
Historical Aspects of IPv6 • IPv4 address space not big enough • Can’t get needed addresses (particularly outside Americas) • Resort to private (RFC1918) addresses • Competing plans to address problem • Some 64-bit, some 128-bit • Current scheme unveiled at Toronto IETF (July 1994)
Types of IPv6 Addresses • Like IPv4… • Unicast • An identifier for a single interface. A packet sent to a unicast address is delivered to the interface identified by that address. • Multicast • An identifier for a set of interfaces (typically belonging to different nodes). A packet sent to a multicast address is delivered to all interfaces identified by that address. • Anycast: • An identifier for a set of interfaces (typically belonging to different nodes). A packet sent to an anycast address is delivered to one of the interfaces identified by that address (the "nearest" one, according to the routing protocols' measure of distance). • …but designed into specifications from the beginning
What is not in IPv6 • Broadcast • There is no broadcast in IPv6. • This functionality is taken over by multicast. • A consequence of this is that the all 0’s and all 1’s addresses are legal. • There are others also we will see later.
Interface Identifiers • Sixty-four bit field • Guaranteed unique on subnet • Essentially same as EUI-64 • Formula for mapping IEEE 802 MAC address into interface identifier • Used in many forms of unicast address
Interface Identifiers • IPv6 addresses of all types are assigned to interfaces, not nodes. • An IPv6 unicast address refers to a single interface. Since each interface belongs to a single node, any of that node's interfaces' unicast addresses may be used as an identifier for the node. • The same interface identifier may be used on multiple interfaces on a single node.
Interface Identifiers • EUI-64 from Mac addresses: • 00-02-2D-02-82-34 • 0202:2dff:fe02:8234 • The Rules are: • Insert fffe after the first 3 octets • Last 3 octets remain the same • Invert the 2nd to the last low order bit of the first octet. • Universal/local bit
Interface Identifiers • A host is required to recognize the following addresses as identifying itself: • Its Link-Local Address for each interface • Assigned Unicast Addresses • Loopback Address • All-Nodes Multicast Addresses • Solicited-Node Multicast Address for each of its assigned unicast and anycast addresses • Multicast Addresses of all other groups to which the host belongs.
Interface Identifiers • Routers are required to recognize: • The Subnet-Router anycast addresses for the interfaces it is configured to act as a router on. • All other Anycast addresses with which the router has been configured. • All-Routers Multicast Addresses • All valid host addresses • Multicast Addresses of all other groups to which the router belongs.
Representation of Addresses • All addresses are 128 bits • Write as sequence of eight sets of four hex digits (16 bits each) separated by colons • Leading zeros in group may be omitted • Contiguous all-zero groups may be replaced by “::” • Only one such group can be replaced
Examples of Writing Addresses • 3ffe:3700:0200:00ff:0000:0000:0000:0001 • can be written • 3ffe:3700:200:ff:0:0:0:1 • or • 3ffe:3700:200:ff::1
Types of Unicast Addresses • Unspecified address • All zeros (::) • Used as source address during initialization • Also used in representing default • Loopback address • Low-order one bit (::1) • Same as 127.0.0.1 in IPv4
Types of Unicast Addresses • Link-local address • Unique on a subnet • Result of router discovery or neighbor discovery • High-order: FE80::/64 • Low-order: interface identifier • Routers must not forward any packets with link-local source or • destination addresses to other links.
Types of Unicast Addresses • Site-local address • Unique to a “site” • High-order: FEC0::/48 • Low-order: interface identifier • Used when a network is isolated and no global address is available.
Types of Unicast Addresses • Mapped IPv4 addresses • Of form ::FFFF:a.b.c.d • Used by dual-stack machines to communicate over IPv4 using IPv6 addressing • Compatible IPv4 addresses • Of form ::a.b.c.d • Used by IPv6 hosts to communicate over automatic tunnels
Types of Unicast Addresses • Aggregatable global unicast address
Types of Unicast Addresses • Aggregatable global unicast address • Used in production IPv6 networks • Goal: minimize global routing table size • From range 2000::/3 • Three fields in /64 prefix • 16-bit Top Level Aggregator (TLA) • 8-bit reserved • 24-bit Next Level Aggregator (NLA) • 16-bit Site Level Aggregator (SLA)
Top-Level Aggregators • Allocated by RIRs to transit providers • In practice, RIRs have adopted “slow-start” strategy • Start by allocating /35s • Are currently expanding those to /32’s • Expand to /29s when sufficient use in /35 • Eventually move to /16s
Abilene sTLA • Allocated 2001:468::/35
NLAs and SLAs • NLAs used by providers for subnetting • Allocate blocks to customers • Can be multiple levels of hierarchy • SLAs used by customers for subnetting • Analogous to campus subnets • Also can be hierarchical • Minimum size is /48
Other Unicast Addresses • Original provider-based • Original geographic-based • GSE (8+8) • Tony Hain’s Internet Draft for provider-independent (geographically-based) addressing
Anycast Address • Used to send packets to all interfaces on a network (like IPv4 anycast, not all will necessarily respond) • Low-order bits (typically 64 or more) are zero
Multicast Address • From FF00::/8 • 1111 1111 | flgs (4) | scop (4) | group id (112)| • Flags • 000t • T=0 means this is a well known address • T=1 means this is a transitory address • Low-order 112 bits are group identifier, not interface identifier • Scope and Flags are independent of each other • Well-known and local is different from well-known and global
Multicast addresses • Scope • 0 reserved • 1 node-local scope • 2 link-local scope • 3 (unassigned) • 4 (unassigned) • 5 site-local scope • 6 (unassigned) • 7 (unassigned) • 8 organization-local scope • 9 (unassigned) • A (unassigned) • B (unassigned) • C (unassigned) • D (unassigned) • E global scope • F reserved
Abilene IPv6 Addressing • Two prefixes allocated • 3ffe:3700::/24 on 6bone • 2001:468::/32 sTLA • Planning migration from 6bone addressing • Current addressing plan built on assumption of /35 • This is being reviewed
Allocation Procedures • GigaPoPs allocated /40s • Expected to delegate to participants • No BCP (yet) for GigaPoP allocation procedures • Direct connectors allocated /48s • Will (for now) provide addresses to participants behind GigaPoPs which haven’t received IPv6 addresses • See WG web site for details
Registration Procedures • Providers allocated TLAs (or sTLAs) must register suballocations • ARIN allows rwhois or SWIP • For now, Abilene will use SWIP • Will eventually adopt rwhois • GigaPoPs must also maintain registries • Will probably have central Abilene registry
Obtaining Addresses • Drop a note to Abilene NOC (noc@abilene.iu.edu) with request • Will set wheels in motion
Allocation Schemes CIDR representation and IPv6 allocations.
CIDR In IPv4 you would see representations like: 129.93.0.0/16 129.93.0.0 255.255.240.0 129.93.0.0/20 At the bit level this is: 10000001.01011101.1111 0000.00000000 Engineering Workshops
Reasons for CIDR • To try to preserve the address space. • To control the growth of the routing table.
IPv6 Notation • In IPv6 every address is notated: • IPv6 address / Prefix Length • 2001:0468::/35 • At the bit level: • 0010 0000 0000 0001: 0000 0100 0110 1000:000 0::/35
Allocation Strategies • We wish to allocate /48’s out of the /35. • Which are available: • 2001:0468:0000 through • 2001:0468:1fff • Recall the the bit structure is: • 0010 0000 0000 0001: 0000 0100 0110 1000: 000 | 0:0000:0000:0000 • 0010 0000 0000 0001: 0000 0100 0110 1000: 000 | 1:1111:1111:1111 • So there are 8,192 /48’s in a /35
How would Allocations work? • Suppose you wish to give out /40’s in the /35. • 2001:0468:000 | 0 0000 | or 2001:0468::/40 • 2001:0468:000 | 1 1111 | or 2001:0468:1f00::/40 • Thus there are 32 /40’s in the /35 each of which has 256 /48’s. • 5 bits • 8 bits
How would Allocations work? • The same idea holds for /41’s or /42’s. • 2001:0468:000 | 0:0000:0 | or 2001:0468::/41 • 2001:0468:000 | 1:1111:1 | or 2001:0468:1f80::/41 • 2001:0468:000 | 0:0000:00 - :000 | 1:1111:11 • 2001:0468::/42 – 2001:0468:1fd0::/42
Mixed Allocations • The interesting case is how to handle mixed allocations. • Some sites need a /40 others a /42. How can you handle this case. • See • draft-ietf-ipngwg-ipaddressassign-02 • A flexible method for managing the assignment of bits of an IPv6 address block • A perl script is included.
Example • A TLA has been assigned the 3ffe:0b00/24 prefix and wants to assign prefixes to its connected networks. Assume 8 bits for NLA’s. NLA2, will use 10 bits for subNLA’s. • TLA assigning to NLAs using lefmost bits: • 10000000 : assigned to NLA1 • 01000000 : assigned to NLA2 • NLA2 assigning to its subNLAs using centermost bits: • 0000010000 : assigned to subNLA1 • 0000100000 : assigned to subNLA2 • subNLAs use centermost bits and site nets assigned using rightmost bits. • Putting all bits together for subNLA3: • TLA |NLA2 |subNLA3 • 0011 1111 1111 1110 0000 1011 0100 0000 0000 1100 00 • <-------> <------>
Mixed Allocations • Here is the assignment: • Take 3ffe:3700::/32. Out of that allocate • 34 = 2 • 37 = 3 • 38 = 5
IPv4 Subnet Masking • Originally the network size was based on the first few bits (classful addressing) • Getting rid of address classes was painful! • routing protocols, stacks, applications • Modern IPv4 allows subnet boundaries anywhere within the address (classless addressing) • But decimal addresses still make figuring out subnets unnecessarily difficult. . .
IPv6 Subnet Masking • IPv6 still has address classes, but they set the address types, not the network size. • Hexadecimal format makes subnetting easier for human beings. . . but thinking in binary is still necessary.
IPv6 Prefixes • Always hierarchical, and aggregated at each level 2001:468::/35 Abilene 0010000000000001:0000010001101000:000 2001:468:400::/40 Indiana GigaPoP 0010000000000001:0000010001101000:00000000 2001:468:401::/48 Indiana University 0010000000000001:0000010001101000:0000010000000001 2001:468:401:b::/64 Abilene NOC at IU 0010000000000001:0000010001101000:0000010000000001:0000000000001011
Aggregation • IU campus routers carry /64 routes for internal subnets (and possibly other, shorter prefixes for large nets or internal aggregation). • IU advertises only 2001:468:401::/48 to their gigaPoP • Indiana GigaPoP advertises only 2001:468:400::/40 to Abilene • Abilene advertises only 2001:468::/35 to peers.
v6 Interfaces • Multiple Addresses per interface • Link-local: fe80::(EUI-64) • Global autoconfigured • Global manually configured • Multicast: all-nodes, solicited-node, etc. • Anycast • Stateless Autoconfiguration • Stateful Autoconfiguration - DHCPv6
EUI-64 • Mechanical construction of a unique address from the IEEE MAC of the interface • Need 64 bits, so the 48-bit MAC is padded up 00:50:da:20:5b:03 0250:daff:fe20:5b03 • Where did the 02 come from? It indicates this is a globally unique address - reverse of the original EUI-64 spec.
Cisco Router Configuration • Rule #1: What Would v4 do? • Enable routing • ipv6 unicast-routing • Configure Interfaces • ipv6 address • Configure Routing Protocols
Cisco Configs • LAN Interface interface Ethernet0/0 ip address 192.168.1.254 255.255.255.0 ipv6 address 2001:468:123:1::2/64