240 likes | 376 Views
CSIS 4823 Data Communications Networking – IPv6. Mr. Mark Welton. IPv6. Why IPv6? Ipv4 is a 32-bit addresses This is 4,294,967,296 (4.2 x10 9 ) IP addresses Large blocks are considered wither reserved or unroutable (i.e. 10.0.0.0/8 private address space)
E N D
CSIS 4823Data Communications Networking – IPv6 Mr. Mark Welton
IPv6 • Why IPv6? • Ipv4 is a 32-bit addresses • This is 4,294,967,296 (4.2 x109) IP addresses • Large blocks are considered wither reserved or unroutable (i.e. 10.0.0.0/8 private address space) • There are currently 7 billion people on the Earth • We could not even have every person get a device with a public IP under IPv4
IPv6 • IPv6 established in 1998 by RFC 2460 • Changes from IPv4 • Security – extensions for authentication, data integrity, and confidentiality • Flow labels – classifying packets belonging to traffic flows • More options – more room for additional IP header options and extensions • Header format – reduced the required fields in the IP header • IP address space – 128 bits and “anycast” address, multicasts, and broadcast
IPv6 addressing • IPv6 uses 128-bit addresses • This equates to 3.40292367 x 1038 addresses • Roughly 295 IP addresses for every person on the Earth • Address scheme was designed to support efficient route aggregation • Subnets in IPv6 are suppose to contain 264 addresses • This would mean that the IPv4 space would consume 1/64th of the address space available in just one IPv6 subnet
IPv6 addressing • Addresses do not use dotted decimal notation, but rather hexadecimal • IPv6 address is commonly shown in four digit hexadecimal blocks • Each hexadecimal block is 16-bits • AAAA:BBBB:CCCC:0000:0000:11111:11111:1111
IPv6 addressing • IPv6 shorthand allows for leading zeroes within a block can be eliminated • AAAA:BBBB:CCCC:0000:0000:11111:11111:1111 • So this address would become • AAAA:BBBB:CCCC:0:0:1111:11111:1111
IPv6 addressing • IPv6 shorthand also allows any consecutive number of zeros to be replaced by double colon • so • AAAA:BBBB:CCCC:0:0:1111:11111:1111 • would be shown as • AAAA:BBBB:CCCC::1111:1111:1111
IPv6 addressing • the following three addresses are identical: • AA76:0000:0000:0000:0012:A322:FE33:2267 • AA76:0:0:0:12:A322:FE33:2267 • AA76::12:A322:FE33:2267
IPv6 addressing • Why hexadecimal? • HEX: AA76:0000:0000:0000:0012:A322:FE33:2267 • If we represent this IPv6 address in decimal it would have 12 more octets them a IPv4 address • DEC: 170.118.0.0.0.0.0.0.0.18.163.34.254.51.34.103
IPv6 addressing • IPv6 is not backwards compatible to IPv4 (you can not represent an IPv6 address in IPv4) • IPv4 addresses are compatible with IPv6 addresses • This is done by setting the first 80 bits to 0 and the next 16 bits to 1, with the final bits being the IPv4 address • the IPv4 address of 10.20.30.40 would be: • 0000:0000:0000:0000:0000:0000:ffff:10.20.30.40 • 0:0:0:0:0:0:ffff:10.20.30.40 • ::ffff:10.20.30.40
IPv6 Subnet Masks • Masking IPv6 addresses is similar to IPv4 in that we use prefix lengths • To understand it first you must know the rules for IPv6 addressing
IPv6 Subnet Masks • The first 48 bits of IPv6 addresses are reserved for Internet routing (network address range) • ffff:ffff:ffff:0000:0000:0000:0000:0000 • The 16 bits from bit number 49 to bit number 54 are for defining subnets (subnetting range) • 0000:0000:0000:ffff:0000:0000:0000:0000 • The last 64 bits are for device addresses • 0000:0000:0000:0000:ffff:ffff:ffff:ffff
IPv6 Subnet Masks • The most common subnet mask is and should be /64 • The American Registry for Internet Numbers has the following guidelines for assigning IPv6 address space: • /64 – when it is known that only one subnet is needed • /56 – for small sites needing a few subnet within five years • /48 - for large sites • IETF (Internet Engineering Task Force) recommends all IPv6 networks be /64 • IPv6 does not support NAT
IPv6 Address Types • Like IPv4, certain addresses are special and are identified by their high-order bits • These are defined in RFC 4291
IPv6 Address Types • Note the /128 this is the IPv6 version of a /32 in IPv4 • This specifies a host address (mask of all ones) • A /32 means a large aggregate Internet route in IPv6 not a host address
IPv6 Address Types • Unspecified address • An unspecified address is an address of all zeros • Packets with an unspecified destination will be dropped by routers • The source address may be unspecified by devices that have yet to learn their address
IPv6 Address Types • Loopback address • The loopback address in IPv6 is 0:0:0:0:0:0:0:1 or ::1/128 • This is analogous to 127.0.0.1 in IPv4
IPv6 Address Types • Multicast • Multicast is a bit different in IPv6, though the basic principle is the same • The first thing you should notice is that there is no concept of a broadcast in IPv6 • If you want to send a packet to all nodes, you should use the link-local all nodes multicast address of ff02::1
IPv6 Address Types • Global unicast • Global unicast addresses are what you might call “normal” addresses, and will be assigned to interfaces on your devices
IPv6 Address Types • Link-local unicast • Link-local unicast addresses are described in RFC 2373 (section 2.5.8) as follows: • Link-Local addresses are designed to be used for addressing on a single link for purposes such as automatic address configuration, neighbor discovery, or when no routers are present. Routers must not forward any packets with Link-Local source or destination addresses to other links. • So what does that all mean?
IPv6 Address Types • Link-local unicast • It is the IPv6 equivalent of the 169.254.x.x address space • In IPv6 this will be in the fe80::/10 network • How do we create a unique address?
IPv6 Address Types • Link-local unicast • We use the routing prefix combine with the MAC address • How many bits are in a MAC address? • How many bit are in the device part of the address?
IPv6 Address Types • Link-local unicast • We pad the 48 bit MAC address with ff:fe in the middle to create the Extended Unique Identifier 64 (EUI-64) • We must also flip the seventh bit in the first octet of the MAC address • This bit is the locally administered bit used to indicate that the OS has altered the address