IPv6 … A Simplified Explanation

Presented by Bryan Crisler Senior Network Engineer Time Warner Cable Housekeeping

• Take this time to locate: – Emergency Exits – Bathrooms – Breakroom/Water Fountain – Note taking utensils • Put your Phones on Vibrate – If you need to take a call, feel free to step out of the room. About your Speaker

• Bryan Crisler – Started in Cable @ Charter Communications, Riverside, CA in June 2005 – Currently a Senior Network Engineer at Time Warner Cable About your Speaker

• Held following positions: – Broadband Technician I-IV (Charter) – Network Operations Specialist (Charter) – Network Technician (Charter) – Network Engineer (Charter & TWC) – SR Network Engineer (TWC) About your Speaker

• Email: [email protected] • LinkedIn: linkedin.com/in/bcrisler Today’s Lesson Plan

• Session 1: So What About IPv6? • Session 2: Every Day IPv6 and You So What About IPv6?

Session 1 Basic History of IP

• IP – Internet Protocol • Defined in RFC 791, dated 1981, written by Information Sciences Institute @ USC • Written for DARPA (Defense Advanced Research Projects Agency) Basic History of IP

• “… Internet Protocol is designed for use in interconnected systems of packet-switched computer communication networks…provides for transmitting blocks of data called datagrams from sources to destinations… identified by fixed length addresses.” (RFC 791, section 1.1) Versions of IP • IPv0 – 3: Experimental Only • IPv4: Defined in 1981 by RFC 760 & 791. First version to implemented publically. Still in use today. • IPv5: Also experimental, called Internet Stream Protocol. • IPv6: Also called IP Next Generation (IPng), Defined in 1998 by RFC 2460-2467 IP Addressing

• Layer 3 (Network) form of Addressing • Two different forms of IP Address: – IPv4 • Uses Dotted Decimal (192.168.0.1) • Has 4,294,967,296 total address (public & private) • 32 bit address – IPv6 • Uses Hexadecimal Notation (FE80::1) • Has 3.4×1038 total address (public & private) • 128 bit address IP Addressing – cont.

• Both versions represent a real number • For Instance: – 0.0.1.0 = 256 – 10.0.0.4 = 16,777,220 – 0:0:0:0:0:0:0:1 = 1 – 0:0:0:0:1:0:0:0 = 281,462,092,005,375 IP Addressing – cont.

• IPv4 Address: – Dotted decimal notation – x.x.x.x, where x is between 0 – 255 • IPv6 Address – Hexadecimal Number system – 0000:0000:0000:0000:0000:0000:0000:00 00 – Leading Zeros can be removed – Multiple blocks of zeros can be simplified using colon “:” IP Addressing – cont.

• Blocks of IPs are called Subnets • Each Subnet represents a network (either WAN or LAN) • The range of each subnet is determined by the Subnet Mask • Each Subnet has a Network (First IP address) and a Broadcast (Last IP Address, IPv4 only) IP Address • Network Range is calculated Subtracting Subnet Mask and from 255.255.255.255 (IPv4) or by 2^(128 – prefix) (IPv6). IP Address – cont.

: First IP in a Subnet used to identify the entire network • Broadcast Address (IPv4 only): Last IP in a Subnet used to communicate any device on the Useable IP Range. • Gateway IP Address: The configured IP address on the next hop router, which contains a path towards a WAN/Internet • Useable IP Range: Any IP in a subnet except the Network and Broadcast (IPv4 only) IPv4 Address Example

• A home wireless Router is configured with network address of 192.168.0.0 and a subnet mask of 255.255.255.0 • 255.255.255.255 – 255.255.255.0 = 0.0.0.255 = 256 total addresses • 192.168.0.0 + 0.0.0.255 = 192.168.0.255 • Network Range: 192.168.0.0 to 192.168.0.255 • Network Address: 192.168.0.0 • Broadcast Address: 192.168.0.255 IPv6 Address Example

• A home wireless router has received a prefix delegated scope from the ISP 2605:e000:160e:816a::/64. • 2^(128 - prefix)  2^64 -> 18,446,744,073,709,551,616 hosts • Approximately 18.4 Quintillion IP Addresses. • If each IP address was the size of a quarter, you could cover the entire earth approximately 24 times. IPv6 Address Example – cont.

• The network Range is – 2605:e000:160e:816a:0000:0000:0000:00 00 -2605:e000:160e:816a:ffff:ffff:ffff:ffff • Network Address: 2605:e000:160e:816a:0000:0000:0000:0000 • Broadcast Address: There is no broadcast address, since multicast is used instead. IPv4 vs IPv6: Comparison

IPv4 IPv6 Address 32-bit 128-bit 340,282,366,920,938,4 Number of Addresses 4,294,967,296 63,463,374,607,431,76 8,211,456 Network Address X X Broadcast Address X N/A Link-Local Range 169.254.0.0/16 FE80::/10 224.0.0.0 – Multicast Range FF00::/8 239.255.255.255 Dynamic Addressing DHCP SLAAC or DHCPv6 Security Optional IPSec built-in, optional Header Length Variable Fixed IPv4 vs IPv6: Comparison – cont.

IPv4 IPv6 Loopback Address 127.0.0.1/32 ::1/128 Default Gateway 0.0.0.0/0 ::/0 RIP (v1/v2), OSPF, IGP Routing Protocols RIPng, OSPFv3,ISIS ISIS, EIGRP EBGP Routing Protocols BGP BGPv4 Other Protocols ICMP, DHCP, DNS ICMPv6, DHCPv6, DNS IPv6 Features

• Larger Address Space • Simplified header makes routing more efficient • Private IP Space not required • Manual configuration not required due to SLAAC • Broadcasting of packets replaced with Multicast/Anycast IPv6 Features – cont.

• Security built into IPv6, but is optional • Mobility allows for devices to use the same IPv6 Address (from home network) regardless of what network they are connected to. • Dual Stack / 6 to 4 tunneling is available to provide a smooth transition

ARP vs Neighbor Discovery Protocol • ARP – Address resolution protocol uses IPv4 Broadcast address to map an IPv4 Address to a MAC address (ARP) or vise versa (rARP). • Neighbor Discovery Protocol – part of the ICMPv6 protocol, uses multicast to establish communication with devices on the same network segment. Follows the following process: – Neighbor Solicitation: sends a message to FF02::1/16 with all configured IPv6 addresses – DAD (Duplicate Address Detection): If no message is received from LAN segment, configured IPv6 Addresses are assumed not to be duplicates. – Neighbor Assignment: Message sent to confirm configuration of IPv6 addresses to LAN segment. ARP vs Neighbor Discovery Protocol – cont. • NDP – cont. – Router Solicitation: message sent to FF02::2/16 to detect presence of routers on network segment. Determine the default gateway for host. – Router Advertisement: response from router – Redirect: message sent from router specifying that it is not the best gateway for the host. SLAAC

• SLAAC – StateLess Address AutoConfiguration • Allows a host to automatically configure their own IPv6 Address • Uses NDP to determine a valid Global IPv6 Address • Uses EUI-64 method

Dynamic Host Configuration Protocol (DHCP) • Allows a DHCP server to assign/configure an IP Address to an end device • Will also configure Subnet Mask, Gateway IP, as well as DNS Servers • When an end device is configured for DHCP, the DORA begins (IPv4) or SARR begins (IPv6). DHCP – cont.

• DORA (IPv4) – – Discover – Client sends a broadcast message to DHCP Server – Offer – Server sends a message to client with an IP Address Offer – Request – Client formally request IP Address Offered, and sets Subnet Mask, gateway, DNS and lease time – Acknowledge – Server Acknowledges client Request and reserves IP. • Once lease is at half-life, DORA process is repeated. DHCP – cont.

• SARR – Solicit – Client sends a multicast message to DHCPv6 Server – Advertise – DHCPv6 Server(s) replies to client with their IPv6 Address – Request – Client formally request IP Address Offered, and sets Prefix, DNS and lease time, but not gateway (learned from ICMPv6) – Reply – Server Acknowledges client Request and reserves IP. • Once lease is at half-life, SARR process is repeated. Domain Name Service (DNS)

• DNS – Maps a domain name like google.com to an IP Address • DNS Support for IPv6 has been added • “AAAA” records are used to map a FQDN like google to an IPv6 Address • “A” Records are used to map FQDN to an IPv4 Address. Session 1 Review

• How many bits are in an IPv6 Address? • What method is used by DHCPv6? • What does the double colon “::” mean in hexadecimal numbering system for IPv6? • Does ICMPv6 use broadcast or multicast messages? • How is a default route or default gateway determined? Session 1 Q&A

• Any Questions??? Break time

15 Minutes Every Day IPv6 and You

Session 2 Why did IPv6 become Necessary? • We are out of IPv4 Space • ARIN reports only 0.00374 of /8 left – Only 245 /24s left (62,720 IPs left) • Approximately 42.4% of the world’s population uses the internet as of Dec 2014, where as only 12.7% used the internet in Dec 2004. (internetworldstats.com) Where are we at with IPv6 Deployment? • Since World IPv6 Launch day, on June 6th, 2012, many companies including Time Warner Cable and Comcast have committed to launching IPv6. • Currently most companies are running both IPv4 and IPv6 at the same time. • Comcast, Charter, Cox and Time Warner Cable What are the challenges to IPv6 deployment? • End Device support (software and hardware) – Windows 7 and 8+ Support IPv6 – Mac OS X v10.1 and later Support IPv6 • End Device (Wireless Routers) – Check your vendor’s website to see if IPv6 is supported. Where are we at with IPv6 Deployment? – cont. • Most cable companies are providing IPv6 to customers – Network Devices have already been configured – Network Backbone already supports IPv6 – IPv6 Allocations have already been received and deployed What are the challenges… – cont. • Modem Support – Not all modems have firmware that support IPv6. – Each cable company has a list of supported IPv6 enabled modems. • Website Support – Most websites are IPv4 only. Many bigger sites such as Google, Yahoo, Microsoft all support IPv6. What are the challenges… - cont. • End User – Training for Field Techs/CSR/Engineers – Subscriber training Is my computer IPv6 Ready?

• Here is how you can check: – Go to www.-test.com or www.test- ipv6.com – Go to ipv6test.google.com IPConfig

• Run cmd • Type ‘ipconfig /all’ – Displays all IP Addresses • Type ‘ipconfig /release’ & ‘ipconfig /renew’ – If you need to refresh the IP with the DHCP Server do a /release & /renew • Type ‘ipconfig /flushdns’ – If you are having problems reaching some websites, run a /flushdns Tracert (Traceroute)

• Run cmd • Shows latency and hopcount • Each hop is a router interface • Maximum hops on tracert is 30 • Type ‘tracert -6 google.com’ – To see if you can reach google or any other domain name. • Type ‘tracert -6 ’ – If you are unable to resolve any DNS, you can still traceroute using an IP Address • Type ‘tracert -6 ’ – If you are trying to reach your local router’s gateway • Type ‘tracert -6 ’ – If you are trying to reach your CPE gateway IP Address on the CMTS. Ping

• Run cmd • Great test for packet loss • Type ‘ping google.com’ – To see if you can reach google or any other domain name • Type ‘ping -6 –t ’ – To test for packet loss on the internet. –t will continuously ping until cntr-c is pressed. • Type ‘ping -6 –n – To test for packet loss with a specific amount of packets. • Type ‘ping -6 –l – To test for packet loss with a greater packet size. NSLookup

• Run cmd • Used to query DNS Server and perform DNS Lookups • Can be used to determine if DNS server is down or not reachable • Type ‘nslookup google.com’ – Performs a standard lookup • Type ‘nslookup ’ – Performs a reverse dns lookup to find domain name • Type ‘nslookup ’ – Performs a lookup using a different server Network-tools.com

• Go to www.network-tools.com – Many different network tools – Allows you to ping from outside cable network – Can check DNS Records – Can also check email spam blacklists