Routing Part 9 Ipv6

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 17

A.

OSPFv3:
Comparing OSPFv2 and OSPFv3
Feature
OSPFv2
IP protocol type
89
Supports VLSM
Yes
Router-ID criteria, compared to v2
Same
LSA flooding, compared to version 2
Same
Area structure, compared to version 2
Same
Packet types, compared to version 2
Same
32bit LS-ID
Yes
Use cost, derived from interface BW
Yes
Metric meaning infinity
232-1
Support route tags
Yes
Elected DR based on highest interface
Yes
priority, then based on highest Router-ID
Periodic Re-flooding
30 minutes
Multicast All-SPF routers
224.0.0.5
Multicast All-DRs
224.0.0.6
Multiple instances per interface
No
Address used as next-hope IP-Address
InterfaceAddress
Authentication

OSPF Specific

OSPFv3
89
Yes
Same
Same
Same
Yes
Yes
Yes
232-1
Yes
Yes
30 minutes
FF02::5
FF02::6
Yes
Link Local Address
Use IPv6 AH/ESP
AH=Authentication
Header of IPSec

-Configuration:
Note:
While configuring IPV6, order of commands does matter. So, configure IPv6
addresses first and enable IPv6 routing on routers or else most of commands might
get rejected.
Step 1: Create OSPFv3 process on router.
Router(config)# ipv6 ospf Process-ID
Step 2: Enable OSPFv3 on the interface.
Router(config-if)# ipv6 ospf Process-ID area Area-ID
-Unlike EIGRP, OSPF starts initially in ENABLED state by default.
-To manually start/stop the OSPF process
Router(config-router)# [no] shutdown
Step 3: Configure Router-ID.
Router(config-router)# router-id IP-Address
Important Points:
-Beyond basic configuration, many of option features match when comparing OSPFv2
and OSPFv3.
Concept & commands related to stub-areas are identical.

Like OSPFv2, OSPFv3 can only summarize on ABRs and ASBRs, using similar
commands.
Router(config-router)# area Area-ID range ipv6-prefix/prefix-length
Like OSPFv2, OSPFv3 uses the concept of interface types.
Router(config-if)# ipv6 ospf network type
These types dictate whether OSPFv4 attempts to elect a DR/BDR & whether
needs to configure neighbors with following command.
Router(config-if)# ipv6 ospf neighbor Neighbor-IP

-Verification:
Function
Show all routes
Show all OSPF learned
routes
Details on route for specific
prefix
Router-ID , Timers, ABR ,
SPF states
List of routing information
sources
Interfaces assigned to each
area
OSPF interface-costs,
state, area , number of
neighbors
Detailed information about
interfaces
OSPF Database
Hello-Interval
Hold-Interval

IPv4 command
Show ip route
Show ip route ospf

IPv6 command
Show ipv6 route
Show ipv6 route rip

Show ip route
subnet-mask
Show ip ospf

Show ipv6 route


prefix/length
Show ipv6 protocols

Show ip ospf neighbors


Show ip protocols

Show ipv6 ospf


neighbors
Show ipv6 protocols

Show ip protocol

Show ipv6 protocol

Show ip ospf interface


brief
Show ip ospf interface
brief

Show ipv6 ospf interface


brief
Show ipv6 ospf interface
brief

Show ip ospf interface

Show ipv6 ospf interface

Show ip ospf database


Show ip ospf interfaces
details
Show ip ospf neighbors

Show ipv6 ospf database


Show ipv6 ospf
interfaces details
Show ipv6 ospf
neighbors

1. IPv6 Route Redistribution


A. Key similarities between IPv4 and IPv6 redistribution:
- Redistribution takes routes from IP routing table, not the topology table.
- Route-maps can be applied when redistributing for the purpose of filtering routes,
setting metrics and routing tags.
- IPv6 uses the same default administrative-distances as IPv4.
- The same basic mechanism exists in IPv6 to prevent routing loops: Metrics,
Administrative Distances & Filtering.
- The routing protocol use same default administrative-distances for internal/external
routes.
- Redistribution configuration uses practically the same syntax with same commands.

B. Differences in IPv4 and IPv6 Route-Redistribution:


- Any matching done with distribution lists or route-maps would use IPv6 prefix-lists &
IPv6 ACLs, which match based on IPv6 prefix and its length.
- When an IPv4 protocol redistributes from IGP, it always attempts to take both
IGPlearned routes & connected-routes for interface enabled for that IGP.
- IPv6 by default redistributes only routes that are learned from an IGP and not the
connected-routes on interfaces enabled for that IGP.
- To also redistribute the connected routes, the redistribute command must include
include-connected parameter.
- Unlike OSPFv2, OSPFv3 doesnt require subnet parameter on redistribute command,
because IPv6 do not have concept of classes.
- IPv6 redistribution ignores local routes in IPv6 Routing-table (the /128 host routes for
routers own interface IPv6 Address) IPv6 redistribution ignores the local routes in
the IPv6 routing table (the /128 host routes for a routers own interface IPv6
addresses). IPv4 has no equivalent concept.

2. IPv4 and IPv6 Co existence


-There are 3 main classes of tools that may be used to allow IPv4 to continue work well
with IPv6.
A. NAT Protocol-Translation (NAT-PT)
B. Dual IPv4/IPv6 stacks.
C. Tunneling

A. Network Address Translation Protocol Translation (NAT-PT):


-This feature allows direct communication between IPv4 and IPv6 hosts. These
translations are far more complex than IPv4 and hence the least favorable ones.

B. Dual IPv4/IPv6 stacks:


-It means host/router use both IPv4/IPv6 at same time. For hosts, this means that host
has both IPv4/IPv6 address associated with each NIC, that host can send IPv4 packets
to other IPv4 hosts and host can send IPv6 packets to another IPv6 hosts. For router it
means that in addition to IPv4 addresses and protocols, router would also require IPv6
addresses and protocols.
-To support dual-stack hosts, routers need to forward both IPV4 and IPv6 packets. To
forward IPv6 packets, network engineer can use one of the two options.
i. Native IPv6 Configure IPv6 on all routers, making all routers using a Dual
Stack (Not a favorable option).
ii. IPv6 TunnelsTunnel IPv6 packets over IPv4 network by encapsulating IPv6
packets inside IPv4 packets.

C. Tunneling:
-It refers to a process by which one router/host encapsulates an IPv6 packet inside IPv4
packet. Networking devices forward the IPv4 packet. Ignoring the fact that packets
payload is IPv6 packet. Some later device/host decapsulate the original IPv6 packet
and forwards it to the final destination.
-Tunneling IPv6 over IPv4 results in fewer configurations as lesser number of routers is
needed.

-Types of Tunneling:
a) Point to Point Tunneling:
-Works best when IPv6 traffic occurs regularly.
-Static-tunnels are configured in point-to-point topology.
-For point to point tunneling, two devices (and only two) sit at the end of tunnel.

b) Point to Multipoint Tunneling:


-Works best when IPv6 traffic occurs infrequently or even when traffic
volumes are less predictable.
-Dynamic-tunnels are configured in point-to-multi-point topology.
-Multipoint IPv6 tunnel allow a single tunnel interface to send packets to multiple
remote router.
-The biggest leap in logic from point to point to point to multipoint tunnels is the
logic in how a router chooses which of the many remote tunnel endpoints should
receive the particular packet.
-Multipoint tunnels rely on either IPv6 packets destination address or nexthop information in IPv6 routing table to determine which of the multiple remote
devices should receive the give packet.
-How this logic works!!

Step 1: R1 receives an IPv6 packet in its LAN interface & decides that packet
should be forwarded out its multipoint tunnel interface.
Step 2: R1 analyses the destination IPv6 address (listed as Y), deriving the
tunnel endpoints IPv4 address (in this case R9s IPv4 address).
Step 3: R1 builds an IPv4 packet header, with its own address as source
Step 4: R1 puts original IPv6 packet into new IPv4 packet.

Method
Manually Created
Tunnel (MCT)
Generic Routing
Encapsulation
(GRE)

Static/
Notes
Dynamic
Static -Supports IPv6 IGPs.
-Default Passenger MTU is 1480Bytes.
-Supports IPv6 IGPs.
Static -Default Passenger MTU is 1476Bytes.
-Cisco Proprietary.
-Do not support IPv6 IGPs.

Automatic 6to4

-Requires fewer configurations than all other


types when adding a new site.
Dynamic -Supports global unicast addresses.
-Uses 2nd/3rd quartets to store IPv4 addresses.
-Uses IP protocol 41
-Uses reserved IPv6 address prefix : 2002::/16

Intra Site
Automatic
-Do not support. IPv6 IGPs.
Tunneling Address Dynamic -Uses 7th/8th quartets to store IPv4 addresses.
Protocol
(ISATAP)
Other tunneling techniques : Teredo, 6PE, 6VPE, and mGRE v6 over v4

3. IPv6 Static Tunnel Configuration and Verification


-Configuration:
Step 1: Find the tunnel IPv4 address planned for tunnel and ensure that each router
can forward IPv4 packet between addresses.
For better availability, engineer should use loopback address because the
tunnel interface fails if the interface associated with source IPv4 address fails.
Router(config)# interface loopback number
Router(config-if)# ip address IP-Address Subnet-Mask
Ensure that remote router can reach this address
Step 2: Create a tunnel interface using the interface tunnel number command, selecting
a locally significant integer as the tunnel interface number.
Router(config)# interface tunnel Number
Step 3: Define the source IPv4 address of the tunnel using the tunnel source
(This address must be an IPv4 address configured on the local router.)
Router(config-if)# tunnel source {interface-id | IPv4-address}
Step 4: Define the destination IPv4 address for the encapsulation using the tunnel
address must match the tunnel source command on the other router.
Router(config-if)# tunnel destination Destination-IP-Address
Step 5: Define the Tunnel mode.
Router(config-if)# tunnel mode { ipv6ip | greip }
Step 6: Define the Tunnel IPv6 address.
Router(config-if)# ipv6 address address/prefix-length

-Verification:

-Show running-config
-Show interface tunnel number

Note:
IPv6 must be enabled on routers that create tunnel.
If no tunnel mode is defined, Tunnel mode defaults to GRE since GRE is cisco
proprietary.
For MCT/GRE tunnel to be up between two routers, tunnel interfaces must be in
same subnet.
If two router tunnel modes do not match, the tunnel interfaces can stay up/up, but
routers cannot forward packets due to mismatched encapsulation.

-Example:

R1(config)# ipv6 unicast-routing


R1(config)# interface lo 0
R1(config-if)# ip address 10.9.9.1 255.255.255.255
R1(config-if)# interface tunnel 0
R1(config-if)# tunnel source loopback 0
R1(config-if)# tunnel destination 10.9.9.3
R1(config-if)# tunnel mode ipv6ip
R1(config-if)# ipv6 address 2013::1/64
R2(config)# ipv6 unicast-routing
R2(config)# interface lo 0
R2(config-if)# ip address 10.9.9.3 255.255.255.255
R2(config-if)# interface tunnel 3
R2(config-if)# tunnel source loopback 0
R2(config-if)# tunnel destination 10.9.9.1
R2(config-if)# tunnel mode ipv6ip
R2(config-if)# ipv6 address 2013::3/64

4. IPv6 Dynamic Tunneling


A. Automatic 6to4 Tunnels:
-Automatic 6to4 tunnels can be configured in two ways.
a) Using automatic 6to4 prefixes for all devices.
-used when internet connectivity is not needed.
b) Using global unicasts with automatic 6to4.
-used when IPv6 internet connectivity is needed.

a) Using automatic 6to4 prefixes for all devices :


-Special Address 2002::/16 is reserved for Automatic 6to4(even though its global
address, IANA reserved it for automatic 6to4 tunneling).
-By starting with 2002::/16 prefix, an engineer can create /48 prefix.

2002: AABB: CCDD: Subnet::/64


2002 Prefix
AABB:CCDD hex version of IPv4 address

Step 1: Loopback interfaces are used by engineer as tunnel endpoints to provide


stability.
Step 2: /48 Prefix is derived from IPv4 loopback address.
Step 3: /64 Prefix is allocated to each routers LAN.
Step 4: The engineer picks an IPv6 address to use on each tunnel interface. With
automatic 6to4, these IPv6 address typically come from each routers own
prefix, so each routers tunnel IPv6 address is in different IPv6 subnet.

-Multipoint IPv6 tunnels do not support IGPs, but to trigger dynamic encapsulation
process for tunnel, routers must route IPv6 traffic out of tunnel interface.
Solution:
Since all the IPv6 address 2002::/16, engineer plans a static route for prefix
2002::/16 , forwarding all these packets destined for special 2002::/16
addresses out multipoint tunnel interface.
-So what happens when IPv6 packet now arrives at one of routers?
Step 1: Packets destination IPv6 address begins with 2002, so router tries to
forward the packet out its tunnel interface, triggering the process.
Step 2: The router notices the tunnel type (automatic 6to4) which tells IOS to
encapsulate and send the IPv6 packet to destination IPv4 address found in 2nd/3rd
quartet.

-Configuring automatic 6to4:


Note:
IGPs cannot be configured on dynamic tunnels but static routing and MBGP can still
be configured.
IPv6 address of automatic 6to4 is not in same subnet.
Step 1: Enable IPv6 routing on a router.
Router(config)# ipv6 unicast-routing
Step 2: Configure the planned loopback interface. (Ensure that the IPv4 IGP
advertises a route for this address.)
Router(config)# interface loopback number
Router(config-if)# ip address IP-Address Subnet-Mask
Step 3: Create a tunnel interface using the interface tunnel number command, selecting
a locally significant integer as the tunnel interface number.
Router(config)# interface tunnel Number

Step 4: Define the source IPv4 address of the tunnel using the tunnel source
(This address must be an IPv4 address configured on the local router.)
Router(config-if)# tunnel source {interface-id | IPv4-address}
Step 5: Do NOT define a tunnel destination.
Step 6: Define the Tunnel mode (it tells the router to look 2 nd/3rd quartet to find
destination IPv4 & perform tunneling.)
Router(config-if)# tunnel mode ipv6ip 6to4
Step 7: Define the Tunnel IPv6 address.
Router(config-if)# ipv6 address address/prefix-length
Step 8: Define a static route for 2002::16, with outgoing interface of the tunnel interface.
Router(config)# ipv6 route 2002::/16 tunnel tunnel-number
Note:
-To find IPv6 equivalent of IPv4(acquired via 6to4)
Step 1: Configure IPv4 address of interface.
Step 2: Following command converts IPv4 IPv6.
Router(config)# ipv6 general-prefix prefix-name 6to4 interface-type mod/num
Step 3: Following command displays the converted IPv6 address.
Show ipv6 general-prefix

-Verification:
-

Show running-config
Show ipv6 route
Show ipv6 interface brief
Show interface tunnel number
-Example:

Step 1: Configure IPv4/IPv6 address as shown in figure.


Step 2: Ensure IPv4 reachability.
Cryo(config)# Router eigrp 1
Cryo(config-router)# no auto-summary
Cryo(config-router)# network 192.168.12.0 0.0.0.255
Cryo(config-router)# network 192.168.23.0 0.0.0.255
Futura(config)# Router eigrp 1
Futura (config-router)# no auto-summary
Futura (config-router)# network 1.1.1.0 0.0.0.255
Futura (config-router)# network 192.168.12.0 0.0.0.255
Destiny(config)# Router eigrp 1
Destiny (config-router)# no auto-summary
Destiny (config-router)# network 3.3.3.0 0.0.0.255
Destiny (config-router)# network 192.168.23.0 0.0.0.255
Step 3: We build tunnels using fast Ethernet interfaces .So, we shall need the
IPv6 equivalents.
Futura(config)# ipv6 general-prefix faizan 6to4 fa0/0
Futura # show ipv6 general-prefix
IPv6 Prefix Faizan, acquired via 6to4
2002:C0A8:0C01::/48 IPv6 equivalent of 192.168.12.1
Destiny(config)# ipv6 general-prefix faizan 6to4 fa0/0
Destiny# show ipv6 general-prefix
IPv6 Prefix Faizan, acquired via 6to4
2002:C0A8:1703::/48 IPv6 equivalent of 192.168.23.3
Step 4: Create a tunnel at the end of both sides.
Futura(config)# interface tunnel 0
Futura (config-if)# tunnel source loopback 0
Futura (config-if)# tunnel mode ipv6ip 6to4
Futura (config-if)# ipv6 address 2002:C0A8:0C01::1/64
Destiny(config)# interface tunnel 0
Destiny(config-if)# tunnel source loopback 0
Destiny(config-if)# tunnel mode ipv6ip 6to4
Destiny(config-if)# ipv6 address 2002:C0A8:1703::3/64
Step 5: Reachability to Loopback interfaces.
It is impossible to run IPv6 IGPs in dynamic tunnels so we can use either static
routing or MPBGP.
Futura(config)# ipv6 route 2001::/128 2002:C0A8:1703::3
Futura(config)# ipv6 route 2002::/16 tunnel 0
Destiny(config)# ipv6 route 2001::/128 2002:C0A8:0C01::1
Destiny(config)# ipv6 route 2002::/16 tunnel 3

The first static route is used to tell routers how to reach loopback 0 interfaces of
other sides. The routers will have to do recursive routing to an entry for
2002::/16,which is why we need the second static route.
Step 6: Verifying.
Futura# ping 2001::3 source loopback 0

b) Using global unicasts with automatic 6to4 :

Step 1: PC1 sends a packet to PC3, destination 2000:0:1:3::33.


Step 2: R1 compares destination IPv6 address with its routing table. It matches with the
outgoing interface tunnel 0 & next-hop 2002:0A09:0903:: (R3s tunnel IPv6
address).
Step 3: R1 needs to decide how to forward packets to 2002:0A09:0903:: so R1
performs
recursive routing to find the match.R1 matches the static route for 2002::/16 with
outgoing interface tunnel 0 and no next-hop
At this point, usual automatic 6to4 tunnel logic kicks in but based on a first routes nexthop address of 2002:0A09:0903::

-Summarizing the difference in planning and configuring for global-unicasts &

automatic6to4:
Step 1: Plan the prefixes & addresses for LANs using global unicast range
assigned to enterprise.
Step 2: Configure an additional static route for each remote subnet, configuring
tunnel as outgoing interface and configuring next-hop IPv6 address. The
next hop address, which embeds the destination IPv4 address as 2 nd/3rd
octet. You can also configure MBGP to learn the routes.
For R1 to forward IPv6 traffic to IPv6 hosts PC3 & PC4, R1 would need following two
additional routes.
R1(config)# ipv6 route 2000:0:1:3::/64 tunnel0 2002:0A09:0903::
R1(config)# ipv6 route 2000:0:1:4::/64 tunnel0 2002:0A09:0904::
-When a router is added to multipoint tunnel, each router already on tunnel needs to
add an additional static route or alternate BGP configuration.

B. Intra-Site Automatic Tunnel Addressing Protocol :


-Uses global-unicasts prefixes for subnets.
-Uses IPv6 address that embeds the tunnel destination IPv4 address inside IPv6
address.
-ISATAP tunnel interface IPv6 address embeds the IPv4 address in 7th/8th quartets.
-ISATAP does not use special reserved range of IPv6 addresses at all, instead using
normal IPv6 unicast prefixes.
-ISATAP tunnels use a single prefix to which all tunnel interfaces connect, so all routers
have a connected IPv6 route to Same Subnet.
-ISATAP tunnel can automatically derive tunnel interfaces IPv6 address using EUI-64
rules.

-Consider the 4 prefixes; one each for 3 LAN segments and 1 for tunnel interface.
-When R1 receives the IPv6 packet destined for R3s LAN (2000:0:1:3::/64), R1s
routing table lists a static route for R3s LAN(2000:0:1:9:5EFE:0A09:0903).When R1
receives an IPv6 packet destined for R3s LAN,R1 matches the static route and also
notices that outgoing interface is an ISATAP tunnel, so R1 derives tunnels destination
IPv4 address from last 2 quartets of next-hop address of their
route(10.9.9.30A09:0903).These values convert to 10.9.9.3.R1 can then encapsulate
and send IPv4 packet to 10.9.9.3.

Format of ISATAP IPv6 Address:


-These addresses can be configured manually but can also be derived using EUI-64
rules.
-The rules work as follows:
i. Configure a 64bit prefix on tunnel interface and use EUI-64 parameter, telling the
router to derive the second half(Interface-ID) of address.
ii. Router adds 0000:5EFE as the 5th/6th quartet.
iii. Router finds tunnels source IPv4 address, converts to hex & adds that as 7 th/8th
quartet.

-Configuring ISATAP:

Note:
IGPs cannot be configured on dynamic tunnels but static routing and MBGP can still
be configured.
IPv6 addresses of ISATAP are in same subnet.
Step 1: Enable IPv6 routing on a router.
Router(config)# ipv6 unicast-routing
Step 2: Configure the planned loopback interface. (Ensure that the IPv4 IGP
advertises a route for this address.)
Router(config)# interface loopback number
Router(config-if)# ip address IP-Address Subnet-Mask
Step 3: Create a tunnel interface using the interface tunnel number command, selecting
a locally significant integer as the tunnel interface number.
Router(config)# interface tunnel Number
Step 4: Define the source IPv4 address of the tunnel using the tunnel source
(This address must be an IPv4 address configured on the local router.)
Router(config-if)# tunnel source {interface-id | IPv4-address}
Step 5: Do NOT define a tunnel destination.
Step 6: Define the Tunnel mode (it tells the router to look 7 th/8th quartet to find
destination IPv4 & perform tunneling.)
Router(config-if)# tunnel mode ipv6ip isatap
Step 7: Define the Tunnel IPv6 address using EUI-64.
Router(config-if)# ipv6 address prefix/prefix-length eui-64
Step 8: Define static IPv6 routes (using the ipv6 route global command) for each
destination IPv6 prefix, with an outgoing interface and next-hop address. (The
next-hop should be the destination routers IPv6 address that embeds the IPv4
address as the last two octets.)

-Verification:
-

Show running-config
Show ipv6 route
Show ipv6 interface brief
Show interface tunnel number
Automatic6to4 v/s ISATAP
Tunnel
Automatic 6to4
Uses reserved IPv6 address prefix
Yes (2002::/16)
Supports use of global-unicast addresses.
Yes
Quartets holding IPv4 addresses
2nd/3rd

ISATAP
No
Yes
7th/8th

End user host address embed IPv4 destination


Tunnel endpoints IPv6 address embed IPv4 destination
Use EUI-64 to perform tunnel IPv6 address

Sometimes
Sometimes
No

No
Yes
Yes

Commonly used addresses


Commonly Used Unicast addresses/Ranges
Address/Range
Global Unicast Address
2002::/3
Unique Local Unicast Address
FD00::/8
Link Local Unicast Address
FE80::/10 (FE8,FE9,FEA,FEB)
Loopback address
::/128
Automatic 6to4 tunnel
2002::/16
Default route
::/0
Commonly Used multicast addresses/Ranges
Address/Range
IPv6 address for routers in LAN
FF02::2
IPv6 address for hosts in LAN
FF02::1
DHCP relay agents
FF02::1:2
RIPng multicast address
FF02::9
OSPFv3 multicast addresses
FF02::5All SPF routers
FF02::6All DRs
EIGRP for IPv6 multicast Address
FF02::A

You might also like