370 likes | 554 Views
Intro to IPv6. The Basics of IPv6 / EIGRP Routing. IPv6 Address Notation. 128-bit IPv6 addresses are represented in: Eight 16-bit segments Hexadecimal (non-case sensitive) between 0000 and FFFF Separated by colons Example: 3ffe:1944:0100:000a:0000:00bc:2500:0d0b.
E N D
Intro to IPv6 The Basics of IPv6 / EIGRP Routing
IPv6 Address Notation • 128-bit IPv6 addresses are represented in: • Eight 16-bit segments • Hexadecimal (non-case sensitive) between 0000 and FFFF • Separated by colons • Example: • 3ffe:1944:0100:000a:0000:00bc:2500:0d0b One Hex digit = 4 bits
Rule 1: Leading 0’s • Two rules for reducing the size of written IPv6 addresses. • The first rule is: • The leading zeroes in any 16-bit segment do not have to be written. • Example • 3ffe : 1944 : 0100 : 000a : 0000 : 00bc : 2500 : 0d0b • 3ffe : 1944 : 100 : a : 0 : bc : 2500 : d0b
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. ff02 : 0000 : 0000 : 0000 : 0000 : 0000 : 0000 : 0005 ff02 : 0 : 0 : 0 : 0 : 0 : 0 : 5 ff02 : : 5 ff02::5
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
All 0’s IPv6 Address • All zeroes IPv6 address can be written with a double colon :: • There are two cases where an all-zeroes address is used. 1. Default address, address is all zeroes and the prefix length is zero: ::/0 2. Unspecified address, which is used in some Neighbor Discovery Protocol procedures (later). • An unspecified address is a filler, indicating the absence of a real IPv6 address. • When writing an unspecified address, it is differentiated from a default address by its prefix length: ::/128
IPv6 Loopback Address • Equivalent to 127.0.0.1 in IPv4 • This address is used when a host talks to itself. • Loopback or Local Host Address 0:0:0:0:0:0:0:1/128 or ::1/128
Three types of IPv6 Addresses • The three types of IPv6 address follow: • 1. Unicast • Global Unicast • Globally unique • Routed globally with no modification • Link Local Unicast • Unique Local Address • 2. Multicast • 3. Anycast • Unlike IPv4, there is no IPv6 broadcast address. • There is, however, an "all nodes" multicast address, which serves essentially the same purpose as a broadcast address.
Subnetting IPv6 2340:1111:AAAA::/48 • A typical IPv6 site prefix will be /48 • This creates a 16 bit subnet part of the address structure • Allows for 216, or 65,536, subnets! • There are no concerns about needing an all 0’s or all 1’s subnet in IPv6! • 64 bit host field allows for 264 hosts per subnet. • More than 1,000,000,000,000,000,000 addresses per subnet. • Allows of the automatic IPv6 address assignment features to work well (later).
Subnetting IPv6 /64 • 4 specific subnets to be used inside Company1: • 2340:1111:AAAA:0001::/64 • 2340:1111:AAAA:0002::/64 • 2340:1111:AAAA:0003::/64 • 2340:1111:AAAA:0004::/64 • Note: A valid abbreviation is to remove the 3 leading 0’s from the last shown quartet. • 2340:1111:AAAA:1::/64
IPv6 Routing Protocols • Exactly the same as IPv4 routing protocols only different. • IPv6 Static routes • OSPFv3 (defined in RFC 5340, OSPF for IPv6) • EIGRP for IPv6 • RIP next generation (RIPng) (defined in RFC 2080, RIPng for IPv6) • Multiprotocol Border Gateway Protocol Version 4 (MP-BGP4 or MBGP) (defined in RFC 2545, Use of BGP-4 Multiprotocol Extensions for IPv6 Inter-Domain Routing, and RFC 4760, Multiprotocol Extensions for BGP-4)
ipv6 unicast-routing • ipv6 unicast-routing global configuration command • Enables IPv6 routing • Required before any ipv6 routing protocol can be configured • ipv6 router rip name command • Enables IPv6 rip routing R1(config)# ipv6 router rip luigi % IPv6 routing not enabled R1(config)# ipv6 unicast-routing R1(config)# ipv6 router rip luigi R1(config-rtr)#
R1 (Example configuration) ipv6 unicast-routing interface FastEthernet0/0 no ip address ipv6 address 2340:1111:AAAA:101::1/64 ! interface Serial0/0/0 no ip address ipv6 address 2340:1111:AAAA:A01::1/64 clock rate 64000 ! interface Serial0/0/1 no ip address ipv6 address 2340:1111:AAAA:A03::1/64
Verify R1# show ip inter brief Interface IP-Address OK? Method Status Protocol FastEthernet0/0 unassigned YES unset up up FastEthernet0/1 unassigned YES unset administratively down down Serial0/0/0 unassigned YES unset up up Serial0/0/1 unassigned YES unset up up R1# R1# show ipv6 inter brief FastEthernet0/0 [up/up] FE80::21B:CFF:FEC2:82D8 2340:1111:AAAA:101::1 FastEthernet0/1 [administratively down/down] Serial0/0/0 [up/up] FE80::21B:CFF:FEC2:82D8 2340:1111:AAAA:A01::1 Serial0/0/1 [up/up] FE80::21B:CFF:FEC2:82D8 2340:1111:AAAA:A03::1 R1#
Verify R1 #ping 2340:1111:AAAA:0A01::2 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 2340:1111:AAAA:A01::2, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 28/28/28 ms R1#
Verify R1# debug ipv6 packet IPv6 unicast packet debugging is on R1# ping 2340:1111:AAAA:0A01::2 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 2340:1111:AAAA:A01::2, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 28/28/28 ms R1# *Jun 19 16:19:13.181: IPv6: SAS picked source 2340:1111:AAAA:A01::1 for 2340:1111:AAAA:A01::2 (Serial0/0/0) *Jun 19 16:19:13.181: IPV6: source 2340:1111:AAAA:A01::1 (local) *Jun 19 16:19:13.181: dest 2340:1111:AAAA:A01::2 (Serial0/0/0) *Jun 19 16:19:13.181: traffic class 0, flow 0x0, len 100+0, prot 58, hops 64, originating Jun 19 16:19:13.241: IPV6: source 2340:1111:AAAA:A01::2 (Serial0/0/0) *Jun 19 16:19:13.241: dest 2340:1111:AAAA:A01::1 *Jun 19 16:19:13.241: traffic class 0, flow 0x0, len 100+4, prot 58, hops 64, forward to ulp R1# un all ICMPv6
Default Static Route Router(config)# ipv6 route ipv6-prefix/prefix-length {ipv6-address | interface-type interface-number [ipv6-address]} [administrative-distance] [administrative-multicast-distance | unicast| multicast] [next-hop-address] [tag tag] • IPv6 default static route, which is equivalent to IPv4 ip route 0.0.0.0 0.0.0.0 Router(config)# ipv6 route ::/0 serial 0/0/0
Static Routes: Example R1(config)# ipv6 route 2340:1111:AAAA:0102::/64 ser 0/0/0 R1# show ipv6 route <output omitted> S 2340:1111:AAAA:102::/64 [1/0] via ::, Serial0/0/0 C 2340:1111:AAAA:A01::/64 [0/0] via ::, Serial0/0/0 R2(config)# ipv6 route 2340:1111:AAAA:0101::/64 2340:1111:AAAA:0A01::1 R2# show ipv6 route <output omitted> S 2340:1111:AAAA:101::/64 [1/0] via 2340:1111:AAAA:A01::1 R2# ping 2340:1111:AAAA:0101::1 Sending 5, 100-byte ICMP Echos to 2340:1111:AAAA:101::1, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 28/28/28 ms R2#
Static Routes: Propagated w/ RIP • ipv6 rip name default-informationoriginate • Example: Router(config-if)# ipv6 rip process1 default-information originate
EIGRP for IPv6 • Available in Cisco IOS Release 12.4(6)T and later • EIGRP for IPv4 and IPv6 are configured and managed separately although many of the commands are similar. • EIGRP for IPv6 is configured on a per-interface basis, no network command is used. • EIGRP for IPv6 has a shutdown feature which is the default state. • EIGRP for IPv6 does not do automatic summarization like EIGRP for IPv4. • EIGRP for IPv6 sues the neighbors link-local address as the next-hop IP address (neighbor table, topology table, routing table). • EIGRP for IPv6 does not require neighbors to be in the same IPv6 subnet to become neighbors.
EIGRP for IPv6 • EIGRP Router ID decision steps based on IPv4 configuration: • Use the configured value (using the eigrp router-id a.b.c.dEIGRP subcommand under the ipv6 router eigrpcommand) • Use the highest IPv4 address on an up/up loopback interface • Use the highest IPv4 address on an up/up non-loopback interface Note: In an IPv6 only environment the eigrp router-id command must be used otherwise the router will not form any EIGRP adjacencies. • IOS lets you stop and start the EIGRP process with the shutdown and no shutdown router mode subcommands. • After initial configuration, the EIGRP for IPv6 process starts in shutdown mode, • To start the EIGRP process it is required to issue the no shutdown
Configuring R1 • EIGRP for IPv6 is configured on the interfaces. • There are no network commands R1(config)# inter fa 0/0 R1(config-if)# ipv6 eigrp 100 R1(config)# inter ser 0/0/0 R1(config-if)# ipv6 eigrp 100 R1(config)# inter ser 0/0/1 R1(config-if)# ipv6 eigrp 100
Routing Table… R1# show ipv6 route IPv6 Routing Table - 8 entries <output omitted> D - EIGRP, EX - EIGRP external C 2340:1111:AAAA:101::/64 [0/0] via ::, FastEthernet0/0 L 2340:1111:AAAA:101::1/128 [0/0] via ::, FastEthernet0/0 C 2340:1111:AAAA:A01::/64 [0/0] via ::, Serial0/0/0 L 2340:1111:AAAA:A01::1/128 [0/0] via ::, Serial0/0/0 C 2340:1111:AAAA:A03::/64 [0/0] via ::, Serial0/0/1 L 2340:1111:AAAA:A03::1/128 [0/0] via ::, Serial0/0/1 L FE80::/10 [0/0] via ::, Null0 L FF00::/8 [0/0] via ::, Null0 • There are no EIGRP IPv6 routes in the routing table... yet.
Show ipv6 protocols • There is an EIGRP 100 for IPv6 process but the interfaces are not yet enabled for EIGRP IPv6 because the process is shutdown. R1# show ipv6 protocols IPv6 Routing Protocol is "connected" IPv6 Routing Protocol is "static" IPv6 Routing Protocol is "eigrp 100" EIGRP metric weight K1=1, K2=0, K3=1, K4=0, K5=0 EIGRP maximum hopcount 100 EIGRP maximum metric variance 1 Interfaces: Redistribution: None Maximum path: 16 Distance: internal 90 external 170 R1# show ipv6 eigrp neighbors IPv6-EIGRP neighbors for process 100 % EIGRP 100 is in SHUTDOWN R1#
Enabling EIGRP for IPv6 • The EIGRP for IPv6 process must be enabled with the no shutdown command. R1(config)# inter fa 0/0 R1(config-if)# ipv6 eigrp 100 R1(config)# inter ser 0/0/0 R1(config-if)# ipv6 eigrp 100 R1(config)# inter ser 0/0/1 R1(config-if)# ipv6 eigrp 100 <The commands above were already completed> R1(config)# ipv6 router eigrp 100 R1(config-rtr)# router-id ? A.B.C.D EIGRP Router-ID in IP address format R1(config-rtr)# router-id 1.1.1.1 R1(config-rtr)# no shutdown
Verifying R1# show ipv6 protocols IPv6 Routing Protocol is "connected" IPv6 Routing Protocol is "static" IPv6 Routing Protocol is "eigrp 100" EIGRP metric weight K1=1, K2=0, K3=1, K4=0, K5=0 EIGRP maximum hopcount 100 EIGRP maximum metric variance 1 Interfaces: FastEthernet0/0 Serial0/0/0 Serial0/0/1 Redistribution: None Maximum path: 16 Distance: internal 90 external 170 R1# show ipv6 eigrp neighbors IPv6-EIGRP neighbors for process 100 • The EIGRP for IPv6 process has been enabled but we don’t have any neighbors... yet.
Verifying • Notice that EIGRP for IPv6 uses link-local addresses to exchange EIGRP messages. R1# show ipv6 eigrp neighbors IPv6-EIGRP neighbors for process 100 H Address Interface Hold Uptime SRTT RTO Q Seq (sec) (ms) Cnt Num 1 Link-local address: Se0/0/1 12 00:05:18 40 240 0 16 FE80::3 0 Link-local address: Se0/0/0 11 00:08:35 31 200 0 8 FE80::2 R1#
EIGRP for IPv6 Topology Table R1# show ipv6 eigrp topology IPv6-EIGRP Topology Table for AS(100)/ID(1.1.1.1) Codes: P - Passive, A - Active, U - Update, Q - Query, R - Reply, r - reply Status, s - sia Status P 4444:0:0:4001::/64, 1 successors, FD is 2684416 via FE80::3 (2684416/2172416), Serial0/0/1 P 2340:1111:AAAA:103::/64, 1 successors, FD is 2172416 via FE80::3 (2172416/28160), Serial0/0/1 P 2340:1111:AAAA:A03::/64, 1 successors, FD is 2169856 via Connected, Serial0/0/1 P 2340:1111:AAAA:B02::/64, 1 successors, FD is 2681856 via FE80::3 (2681856/2169856), Serial0/0/1 P 2340:1111:AAAA:A02::/64, 1 successors, FD is 2681856 via FE80::2 (2681856/2169856), Serial0/0/0 P 2340:1111:AAAA:102::/64, 1 successors, FD is 2172416 via FE80::2 (2172416/28160), Serial0/0/0 P 2340:1111:AAAA:B01::/64, 1 successors, FD is 2681856 via FE80::3 (2681856/2169856), Serial0/0/1 P 2340:1111:AAAA:A01::/64, 1 successors, FD is 2169856 via Connected, Serial0/0/0 P 2340:1111:AAAA:101::/64, 1 successors, FD is 28160 via Connected, FastEthernet0/0 R1# • .
IPv6 Routing Table R1# show ipv6 route IPv6 Routing Table - 14 entries Codes: C - Connected, L - Local, S - Static, R - RIP, B - BGP <output omitted> D - EIGRP, EX - EIGRP external C 2340:1111:AAAA:101::/64 [0/0] via ::, FastEthernet0/0 L 2340:1111:AAAA:101::1/128 [0/0] via ::, FastEthernet0/0 D 2340:1111:AAAA:102::/64 [90/2172416] via FE80::2, Serial0/0/0 D 2340:1111:AAAA:103::/64 [90/2172416] via FE80::3, Serial0/0/1 <output omitted> D 2340:1111:AAAA:B01::/64 [90/2681856] via FE80::3, Serial0/0/1 D 2340:1111:AAAA:B02::/64 [90/2681856] via FE80::3, Serial0/0/1 D 4444:0:0:4001::/64 [90/2684416] via FE80::3, Serial0/0/1 • Link-local address is next-hop address
Verify R1# ping 4444:0:0:4001::1 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 4444:0:0:4001::1, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 56/56/60 ms R1#
Default Route (one method) R3(config)# inter ser 0/0/0 R3(config-if)# ipv6 summary-address eigrp 100 ::/0 R3(config)# inter ser 0/0/1 R3(config-if)# ipv6 summary-address eigrp 100 ::/0 R3(config)# ipv6 route ::/0 ser 0/1/0 R3(config)# ipv6 route ::/0 ser 0/1/1 R3# show ipv6 route S ::/0 [1/0] via ::, Serial0/1/0 via ::, Serial0/1/1 <output omitted> Propagate an EIGRP ::/0 summary route to R1 and R2 Create the default static route Verify static route
Verify Static Route R1# show ipv6 route D ::/0 [90/2172416] via FE80::3, Serial0/0/1 C 2340:1111:AAAA:101::/64 [0/0] via ::, FastEthernet0/0 L 2340:1111:AAAA:101::1/128 [0/0] via ::, FastEthernet0/0 D 2340:1111:AAAA:102::/64 [90/2172416] via FE80::2, Serial0/0/0 <output omitted> R1# ping 4444::1 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 4444::1, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 56/56/56 ms R1#