830 likes | 846 Views
Join Rick Graziani, a CS/CIS instructor at Cabrillo College, as he shares his expertise on teaching CCNA1 Introduction to Networking/Networking Basics. Learn everything you need to know about IPv6 and how to effectively teach it. Discover the importance of IPv6 in the Internet of Things and explore various transition strategies. Don't miss this opportunity to enhance your teaching skills and stay ahead of the future of networking!
E N D
Equipping Today’s Instructors for Tomorrow’s Students Academy Conference 2013 Cisco Networking Academy What I need to know about IPv6 to teach CCNA1 Introduction to Networking/Networking Basics Rick Graziani CS/CIS Instructor Cabrillo College
Who am I? • Rick Graziani - graziani@cabrillo.edu • CS/CIS instructor at Cabrillo College, Santa Cruz, California • Working in IT since 1980 • Cisco Networking Academy instructor since 1997 • Practice what I preach… • Implementing native IPv6 at Cabrillo College • Home: Run native IPv6 (& IPv4) to the Internet • Curriculum Development Team for Cisco Networking Academy • When not working, hopefully I’m surfing.
Topics • Why IPv6? (briefly and quickly) • Format of an IPv6 Address • IPv6 Address Types • Global Unicast IPv6 Address • Link-Local Unicast IPv6 Address • Multicast IPv6 Addresses • ICMPv6 – Neighbor Discovery Protocol • A lot of stuff, but don’t be intimidated!
So we can finish, please hold questions until the end….I will be available afterward!
The Internet of Things, The Internet of Everything • The Internet is more than just connecting people. • At the very least we need IPv6 for the Internet to continue. • So, the “killer application” for the Internet is the Internet itself.
Important moments in history… • Monday, January 31, 2011 IANA allocated two blocks of IPv4 address space to APNIC, the RIR for the Asia Pacific region • This triggered a global policy to allocate the remaining IANA pool of 5 /8’s equally between the five RIRs. • So, basically…
When do I have to go to IPv6? • IPv4 and IPv6 will coexist for the foreseeable future. • Dual-stack – Device running both IPv4 and IPv6. IPv6 IPv4
Various transition strategies Tunneling – IPv6 packets encapsulated inside IPv4 packets. NAT64 – Translating between IPv4 and IPv6. Native IPv6 – All IPv6 (our focus and the goal of every organization).
No more NAT as we know it • IETF does not support the concept of translating a “private IPv6” address to a “public” IPv6 address. • NAT for IPv4 breaks many things. 192.168.1.0/24 RFC 1918 Private Address Public IPv4 Address
IPv4 and IPv6 • IPv6 is more than just larger address space. • It was a chance to make some improvements on the IP protocol.
IPv6 at a Glance • Next Header = Protocol field in IPv4. • Indicates the data payload type (TCP, UDP, ICMPv6) • Hop Limit = TTL (Time to Live) in IPv4. • Number of router hops before packet is discarded. • Routers do not fragment IPv6 packets unless it is the source of the packet. • Use of a Link-Local Address. • ICMPv6 is more robust than ICMPv4. • SLAAC (Stateless Address Autoconfiguration) for dynamic addressing.
IPv6 Address Notation • IPv6 addresses are 128-bit addresses represented in: • Eight 16-bit segments or “hextets” (not a formal term) • Hexadecimal (non-case sensitive) between 0000 and FFFF • Separated by colons • Reading and subnetting IPv6 is easier than IPv4! One Hex digit = 4 bits 2001:0DB8:AAAA:1111:0000:0000:0000:0100/64 2001 : 0DB8 : AAAA : 1111 : 0000 : 0000 : 0000 : 0100 16 bits 8 16 bits 7 16 bits 6 16 bits 5 16 bits 4 16 bits 3 16 bits 2 16 bits 1
2001:0DB8:AAAA:1111:0000:0000:0000:0100/64 2001 : 0DB8 : AAAA : 1111 : 0000 : 0000 : 0000 : 0100 • How many addresses does 128 bits give us? • 340 undecillionaddesses or … • 340 trillion trillion trillion addresses or … • “50 billion billion billion addresses for every person on earth” or…. • “A string of soccer balls would wrap around our universe 200 billion times!” … in other words … • You won’t need to learn IPv7 for the next version of CCNA! 16 bits 16 bits 16 bits 16 bits 16 bits 16 bits 16 bits 16 bits
This isn’t the first time • Early versions of CCNA included: • IPv4 • Appletalk • IPX
Rule 1: Leading 0’s • Two rules for reducing the size of written IPv6 addresses. • The first rule is: Leading zeroes in any 16-bit segment do not have to be written. 2001 : 0DB8 : 0001 : 1000 : 0000 : 0000 : 0ef0 : bc00 2001 : DB8 : 1 : 1000 : 0 : 0 : ef0 : bc00 2001 : 0DB8 : 010d : 000a : 00dd : c000 : e000 : 0001 2001 : DB8 : 10d : a : dd : c000 : e000 : 1 2001 : 0DB8 : 0000 : 0000 : 0000 : 0000 : 0000 : 0500 2001 : DB8 : 0 : 0 : 0 : 0 : 0 : 500
Rule 2: Double colon :: equals 0000…0000 • The second rule can reduce this address even further: • Any single, contiguous string of one or more 16-bit segments consisting of all zeroes can be represented with a double colon. FE80 : 0000 : 0000 : 0000 : 0000 : 0000 : 0000 : 0001 FE80 : : 1 FE80::1 Second Rule First Rule
Rule 2: Double colon :: equals 0000…0000 • Only a single contiguous string of all-zero segments can be represented with a double colon. • Both of these are correct… FE80 : 0000 : 0000 : 0000 : 0014 : 0000 : 0000 : 0095 FE80 :: 14 : 0 : 0 : 95 OR FE80 : 0 : 0 : 0 : 14 :: 95
Rule 2: Double colon :: equals 0000…0000 • Using the double colon more than once in an IPv6 address can create ambiguity because of the ambiguity in the number of 0’s. FE80::14::95 FE80:0000:0000:0000:0014:0000:0000:0095 FE80:0000:0000::0014:0000:00000000:0095 FE80:0000:0014:0000:0000:0000:0000:0095
Network Prefixes • IPv4, the prefix—the network portion of the address—can be identified by a dotted decimal netmask or bitcount. 255.255.255.0 or /24 • IPv6 prefixes are always identified by bitcount (prefix length). • Prefix length notation: 3ffe:1944:100:a::/64 16 32 48 64 bits
IPv6 Addressing Anycast Multicast Unicast Assigned Solicited Node FF00::/8 FF02::1:FF00:0000/104 Embedded IPv4 Unique Local Unspecified Global Unicast Link-Local Loopback 2000::/3 3FFF::/3 ::/128 FE80::/10 FEBF::/10 ::1/128 ::/80 FC00::/7 FDFF::/7
Global Unicast Address (GUA) Global Routing Prefix Subnet ID Interface ID Range: 2000::/3 0010 0000 0000 0000 :: to 3FFF::/3 0011 1111 1111 1111 :: 001 IANA’s allocation of IPv6 address space in 1/8th sections • Global unicast addresses are similar to IPv4 addresses • Routable • Unique
Global Unicast Address (GUA) Global Routing Prefix Subnet ID Interface ID Range: 2000::/3 0010 0000 0000 0000 :: to 3FFF::/3 0011 1111 1111 1111 :: 001 • Global unicast addresses are equivalent to IPv4 public addresses • Except under very specific circumstances, all end users will have a global unicast address • Terminology: • Prefix equivalent to network address • Prefix length equivalent to subnet mask in IPv4 • Interface ID equivalent to host portion
Typical Global Unicast Address and Why We Love IPv6! IPv4 Unicast Address /? Network portion Subnet portion Host portion 32 bits IPv6 Global Unicast Address /64 /48 16-bit Fixed Subnet ID Interface ID Global Routing Prefix 128 bits • 64-bit Interface ID = 18 quintillion (18,446,744,073,709,551,616) devices/subnet • 16-bit Subnet ID = 65,536 subnets
/64 Global Unicast Addresses and the 3-1-4 rule /48 /64 16 bits 16 bits 16 bits 16 bits 16 bits 16 bits 16 bits 16 bits Subnet ID Global Routing Prefix Interface ID 3 1 4 2001 : 0DB8 : AAAA : 1111: 0000 : 0000 : 0000 : 0100 3 + 1 = 4 (/64) :4 2001:0DB8:AAAA:1111:0000:0000:0000:0100/64 2001:0DB8:AAAA:1111::100/64
Subnetting IPv6 and Why Our Students Will Love IPv6 • Just increment by 1 in Hexadecimal: • 2001:0DB8:AAAA:0000::/64 • 2001:0DB8:AAAA:0001::/64 • 2001:0DB8:AAAA:0002::/64 • 2001:0DB8:AAAA:000A::/64 • Valid abbreviation is to remove the 3 leading 0’s from the first shown quartet • 2001:0DB8:AAAA:1::/64 3-1-4Rule
Subnetting into the Interface ID /112 /48 16bits 48 bits 64 bits Global Routing Prefix Subnet ID Prefix Interface ID Subnet-ID Interface ID Global Routing Prefix 2001 : 0DB8 : AAAA : 0000 : 0000 : 0000 : 0000 : 0000 2001 : 0DB8 : AAAA : 0000 : 0000 : 0000 : 0001 : 0000 2001 : 0DB8 : AAAA : 0000 : 0000 : 0000 : 0002 : 0000 thru 2001 : 0DB8 : AAAA : FFFF : FFFF : FFFF : FFFE : 0000 2001 : 0DB8 : AAAA :FFFF : FFFF : FFFF : FFFF : 0000
Subnetting on a nibble boundary /68 /48 60 bits 48 bits 20 bits Subnet ID Global Routing Prefix Interface ID /68 Prefix • Subnetting on a nibble (4 bit) boundary makes it easier to list the subnets: • /64, /68, /72, etc. • 2001:0DB8:AAAA:0000:0000::/68 • 2001:0DB8:AAAA:0000:1000::/68 • 2001:0DB8:AAAA:0000:2000::/68 through • 2001:0DB8:AAAA:FFFF:F000::/68 /68
Subnetting within a nibble /70 /48 58 bits 48 bits 22 bits Global Routing Prefix Subnet ID Interface ID /70 Prefix Four Bits: The two leftmost bits are part of the Subnet-ID, whereas the two rightmost bits belong to the Interface ID. • 2001:0DB8:AAAA:0000:0000::/70 0000 • 2001:0DB8:AAAA:0000:0400::/70 0100 • 2001:0DB8:AAAA:0000:0800::/70 1000 • 2001:0DB8:AAAA:0000:0C00::/701100 bits
Do we need the IPv6 equivalent to a /30? Debate for the need to use a /127 /127 /48 1bit 48 bits 79 bits Global Routing Prefix Subnet ID 127-bit Prefix 1 bit Interface ID • Beyond the scope of CCNA but may be of interest…. • RFC 6164 - Using 127-Bit IPv6 Prefixes on Inter-Router Links • Ping-Pong Issue • Neighbor Cache Exhaustion Issue
Configuring a Global Unicast Address Global Unicast Manual Dynamic Stateless Autoconfiguration IPv6 Unnumbered IPv6 Address DHCPv6 Static EUI-64 CCNA or CCNP Routing
R1(config)#interface gigabitethernet 0/0 R1(config-if)#ipv6 address 2001:db8:acad:1::1/64 R1(config-if)#no shutdown R1(config-if)#exit No space • Exactly the same as an IPv4 address only different. • No space between IPv6 address and Prefix-length. • IOS commands for IPv6 are very similar to their IPv4 counterpart. • All 0’s and all 1’s are valid IPv6 host IPv6 addresses.
R1(config)#interface gigabitethernet 0/1 R1(config-if)#ipv6 address 2001:db8:acad:2::1/64 R1(config-if)#no shutdown R1(config-if)#exit R1(config)#interface serial 0/0/0 R1(config-if)#ipv6 address 2001:db8:acad:3::1/64 R1(config-if)#clock rate 56000 R1(config-if)#no shutdown
show running-config command on router R1 R1# show running-config <output omitted for brevity> interface GigabitEthernet0/0 no ip address duplex auto speed auto ipv6 address 2001:DB8:ACAD:1::1/64 !
show ipv6 interface brief command on router R1 R1# show ipv6 interface brief GigabitEthernet0/0 [up/up] FE80::FE99:47FF:FE75:C3E0 2001:DB8:ACAD:1::1 Link-local unicast address Global unicast address • Link-local address automatically created when (before) the global unicast address is. • We will discuss link-local addresses next.
PC1: Static Global Unicast Address 2001:db8:acad:1::10 64 2001:db8:acad:1::1
PC1: Static Global Unicast Address PC1> ipconfig Windows IP Configuration Ethernet adapter Local Area Connection: Connection-specific DNS Suffix . : IPv6 Address. . . . . . . . . . . : 2001:db8:acad:1::10 Link-local IPv6 Address . . . . . : fe80::50a5:8a35:a5bb:66e1%11 Default Gateway . . . . . . . . . : 2001:db8:acad:1::1
Pinging a Global Unicast IPv6 Addresses Ping uses ICMPv6 Echo Request and Echo Reply messages similar to ICMPv4. PC1> ping 2001:db8:acad:1::1 Pinging 2001:db8:acad:1::1 from 2001:db8:acad:1::100 with 32 bytes of data: Reply from 2001:db8:acad:1::1: time=1ms Reply from 2001:db8:acad:1::1: time=1ms Reply from 2001:db8:acad:1::1: time=1ms Reply from 2001:db8:acad:1::1: time=1ms Ping statistics for 2001:db8:acad:1::1: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 1ms, Maximum = 1ms, Average = 1ms PC1>
Configuring Dynamic IPv6 Addresses Global Unicast Manual Dynamic Stateless Autoconfiguration IPv6 Unnumbered IPv6 Address DHCPv6 Static EUI-64
IPv4 Dynamic Addresses DHCP Server
With IPv6 it begins with the Router Advertisement • The Router Advertisement (RA) tells hosts how it will receive IPv6 Address Information. • Sent periodically by an IPv6 router or… • When the router receives a Router Solicitation message from a host.
Router Advertisement Router Advertisement/Solicitation Messages • Part of ICMPv6 (Internet Control Message Protocol for IPv6) • Router Advertisements are sent by an “IPv6 router” – ipv6 unicast-routing command • Forwards IPv6 Packets • Can be enabled for IPv6 static and dynamic routing • Sends ICMPv6 Router Advertisements • Routers can be configured with IPv6 addresses without being an IPv6 router R1(config)# ipv6 unicast-routing DHCPv6 Server
SLAAC (Stateless Address Autoconfiguration) • Option 1 and 2: Stateless Address Autconfiguration– DHCPv6 Server does not maintain state of addresses • Option 3: Stateful Address Configuration – Address received from DHCPv6 Server DHCPv6 R1(config)# ipv6 unicast-routing DHCPv6 Server Option 1 “I’m everything you need (Prefix, Prefix-length, Default Gateway)” Option 2 (Discussed in CCNA Switching) “Here is my information but you need to get other information such as DNS addresses from a DHCPv6 server.” Option 3 (Discussed in CCNA Switching) “I can’t help you. Ask a DHCPv6 server for all your information.” RA
Router Advertisement – Option 1 MAC: 00-03-6B-8C-E0-80 2001:DB8:ACAD:1::/64 1 Option 1 – RA Message To: FF02::1 (All IPv6 devices multicast) From: FE80::1 (Link-local address) Prefix: 2001:DB8:ACAD:1:: Prefix-length: /64 2 RA Prefix: 2001:DB8:ACAD:1:: Prefix-length: /64 Default Gateway: FE80::1 Global Unicast Address: 2001:DB8:ACAD:1:+ Interface ID 3 EUI-64 Process or Random 64-bit value DHCPv6 Server
Dynamic Interface ID Router Advertisement 2001:DB8:ACAD:1::/64 DHCPv6 Server • Windows operating systems, Windows XP and Server 2003 use EUI-64. • Windows Vista and newer; hosts create a random 64-bit Interface ID. • Linux: Mostly use random 64-bit number • Mac OSX: use EUI-64 (on my Macs) /48 /64 64 bits Subnet ID Global Routing Prefix Interface ID SLAAC EUI-64 Process Randomly Generated Number