<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title>Xtr - Tag - Fryguy's Blog</title><link>https://hugo.fryguy.net/tags/xtr/</link><description>Xtr - Tag - Fryguy's Blog</description><generator>Hugo -- gohugo.io</generator><language>en</language><lastBuildDate>Fri, 08 Apr 2011 22:51:15 +0000</lastBuildDate><atom:link href="https://hugo.fryguy.net/tags/xtr/" rel="self" type="application/rss+xml"/><item><title>More LiSP – using it to enable IPv6 over IPv4</title><link>https://hugo.fryguy.net/2011/04/08/more-lisp-using-it-to-enable-ipv6-over-ipv4/</link><pubDate>Fri, 08 Apr 2011 22:51:15 +0000</pubDate><author>Fryguy</author><guid>https://hugo.fryguy.net/2011/04/08/more-lisp-using-it-to-enable-ipv6-over-ipv4/</guid><description><![CDATA[<p style="text-align:center;">
  <strong><a href="/wp-content/uploads/2011/04/lisp-logo.jpg"></a><a href="http://www.lisp4.net/" target="_blank" rel="noopener noreferrer"></a><br /> </strong>
</p>
<p>Ok, now that I have that basic LISP post out, you know this one <a href="http://blog.fryguy.net/2011/04/07/lisp-locator-identifier-separation-protocol-say-what/" title="LISP – Locator Identifier Separation Protocol (Say what?)" target="_blank" rel="noopener noreffer ">LISP – Say What?!</a>, I figured I would build upon that configuration. Today I will show you how to overlay IPv6 at your sites while keeping your core IPv4 only.  There is no IPv6 addressing nor routing configured on the core Routers and this post will continue where the other one left off, no configuration changes have been made prior to this post, except I did have to upgrade from a base image to an Enterprise image to support IPv6 on R2, R3, and R4.  R1 is still running an IOS that does not support LISP nor IPv6.  This post will focus on the configuration first and then the explanation of how last.<br>
Below is the same topology I used in the other LISP post, just added some IPv6 addressing and routing protocols for Site-A and Site-B. I am going to build on what we have done in the other lab, so not all the necessary LISP configs are here for a scratch-built config.  I have included the full configs in the bottom of this post if you would like to look at them.<br>
<a href="/wp-content/uploads/2011/04/lisp-lab-ipv6-topology.jpg" rel=""></a><br>
Quick rundown on color codes again:<br>
<strong><span style="color:#ff0000;">Router Output</span></strong><br>
<strong><span style="color:#008000;">Notes</span></strong><br>
<strong><span style="color:#0000ff;">Commands</span></strong><br>
Lets start with R4, the LISP MS/MR device.  We will configure this to accept the IPv6 networks to the xTR routers at Site A and Site B<br>
<span style="color:#008000;">We need to enable IPv6 Routing on R4.  There will no no IPv6 interfaces, but it still needs to understand how to route IPv6 for when a request comes in</span><br>
<span style="color:#ff0000;">LISP_R4_MP_MR(config)#<span style="color:#0000ff;"> ipv6 unicast-routing</span></span><br>
<span style="color:#008000;">Now we need to enable the IPv6 address family under the VRF, just like we did for IPv4.</span><br>
<span style="color:#ff0000;">LISP_R4_MP_MR(config)# <span style="color:#0000ff;">vrf definition lisp</span></span><br>
<span style="color:#ff0000;">LISP_R4_MP_MR(config-vrf)# <span style="color:#0000ff;">rd 1:1</span></span><br>
<span style="color:#ff0000;">LISP_R4_MP_MR(config-vrf)# <span style="color:#0000ff;">address-family ipv6</span></span><br>
<span style="color:#ff0000;">LISP_R4_MP_MR(config-vrf-af)#<span style="color:#0000ff;"> exit-address-family</span></span><br>
<span style="color:#008000;">Now enable LISP to be a map-server and resolver for IPv6</span><br>
<span style="color:#ff0000;">LISP_R4_MP_MR(config)# <span style="color:#0000ff;">ipv6 lisp map-server</span></span><br>
<span style="color:#ff0000;">LISP_R4_MP_MR(config)# <span style="color:#0000ff;">ipv6 lisp map-resolver</span></span><br>
<span style="color:#008000;">And just like IPv4, we need to add the IPv6 networks for the mappings for Site A and Site B</span><br>
<span style="color:#ff0000;">LISP_R4_MP_MR(config)#<span style="color:#0000ff;"> lisp site Site-A</span></span><br>
<span style="color:#ff0000;">LISP_R4_MP_MR(config-lisp-site)#<span style="color:#0000ff;"> eid-prefix 2001:DB8:0:1::/64 accept-more-specifics</span></span><br>
<span style="color:#ff0000;">LISP_R4_MP_MR(config-lisp-site)#<span style="color:#0000ff;"> eid-prefix 2001:DB8:0:2::/64 accept-more-specifics</span></span><br>
<span style="color:#ff0000;">LISP_R4_MP_MR(config-lisp-site)# <span style="color:#0000ff;">eid-prefix 2001:DB8:0:3::/64 accept-more-specifics</span></span><br>
<span style="color:#ff0000;">LISP_R4_MP_MR(config-lisp-site)# <span style="color:#0000ff;">eid-prefix 2001:DB8:0:25::/64 accept-more-specifics</span></span><br>
<span style="color:#ff0000;">LISP_R4_MP_MR(config)#<span style="color:#0000ff;"> lisp site Site-B</span></span><br>
<span style="color:#ff0000;">LISP_R4_MP_MR(config-lisp-site)#<span style="color:#0000ff;"> eid-prefix 2001:DB8:0:1001::/64 accept-more-specifics</span></span><br>
<span style="color:#ff0000;">LISP_R4_MP_MR(config-lisp-site)# <span style="color:#0000ff;">eid-prefix 2001:DB8:0:1002::/64 accept-more-specifics</span></span><br>
<span style="color:#ff0000;">LISP_R4_MP_MR(config-lisp-site)#<span style="color:#0000ff;"> eid-prefix 2001:DB8:0:1003::/64 accept-more-specifics</span></span><br>
<span style="color:#ff0000;">LISP_R4_MP_MR(config-lisp-site)# <span style="color:#0000ff;">eid-prefix 2001:DB8:0:1036::/64 accept-more-specifics</span></span><br>
That is all that is necessary on R4 in order for LISP.  Just to prove there is no IPv6 configured:<br>
<span style="color:#ff0000;">LISP_R4_MP_MR# <span style="color:#0000ff;">sh ipv int br</span></span><br>
<span style="color:#ff0000;">GigabitEthernet0/0         [up/up]</span><br>
<span style="color:#ff0000;">unassigned</span><br>
Now, lets to the other two routers that are not part of LISP, namely R5 and R6.<br>
<strong>R5 first</strong><br>
<span style="color:#008000;">First we will enable IPv6 routing</span><br>
<span style="color:#ff0000;">LISP_R5(config)#<span style="color:#0000ff;"> ipv6 unicast-routing</span></span><br>
<span style="color:#008000;">Configure and enable IPv6 OSPF process 1</span><br>
<span style="color:#ff0000;">LISP_R5(config)#<span style="color:#0000ff;"> ipv6 router ospf 1</span></span><br>
<span style="color:#ff0000;">LISP_R5(config-rtr)#<span style="color:#0000ff;"> log-adjacency-changes</span></span><br>
<span style="color:#008000;">Now we can assign our IPv6 addresses to our existing Loopback addresses and place these interfaces into OSPF PID 1 Area 0</span><br>
<span style="color:#ff0000;">LISP_R5(config)#<span style="color:#0000ff;"> interface Loopback1</span></span><br>
<span style="color:#ff0000;">LISP_R5(config-if)# <span style="color:#0000ff;">ipv6 address 2001:DB8:0:1::5/64</span></span><br>
<span style="color:#ff0000;">LISP_R5(config-if)#<span style="color:#0000ff;"> ipv6 ospf 1 area 0</span></span><br>
<span style="color:#ff0000;">LISP_R5(config)#<span style="color:#0000ff;"> interface Loopback2</span></span><br>
<span style="color:#ff0000;">LISP_R5(config-if)# <span style="color:#0000ff;">ipv6 address 2001:DB8:0:2::5/64</span></span><br>
<span style="color:#ff0000;">LISP_R5(config-if)#<span style="color:#0000ff;"> ipv6 ospf 1 area 0</span></span><br>
<span style="color:#ff0000;">LISP_R5(config)# <span style="color:#0000ff;"> interface Loopback3</span></span><br>
<span style="color:#ff0000;">LISP_R5(config-if)#<span style="color:#0000ff;"> ipv6 address 2001:DB8:0:3::5/64</span></span><br>
<span style="color:#ff0000;">LISP_R5(config-if)#<span style="color:#0000ff;"> ipv6 ospf 1 area 0</span></span><br>
<span style="color:#ff0000;">LISP_R5(config)# <span style="color:#0000ff;">interface FastEthernet0/1</span></span><br>
<span style="color:#ff0000;">LISP_R5(config-if)# <span style="color:#0000ff;">ipv6 address 2001:DB8:0:25::5/64</span></span><br>
<span style="color:#ff0000;">LISP_R5(config-if)# <span style="color:#0000ff;">ipv6 ospf 1 area 0</span></span><br>
That is all that is needed for R5.  The reason we created an OSPF process is so that we can learn an IPv6 default ( ::/0 ) route from R2<br>
<strong>now R6</strong><br>
<span style="color:#008000;">Just like R5, we will enable IPv6 routing.</span><br>
<span style="color:#ff0000;">LISP_R6(config)# <span style="color:#0000ff;">ipv6 unicast-routing</span></span><br>
<span style="color:#008000;">Then create the IPv6 OSPF Process 1</span><br>
<span style="color:#ff0000;">LISP_R6(config)# <span style="color:#0000ff;">ipv6 router ospf 1</span></span><br>
<span style="color:#ff0000;">LISP_R6(config-rtr)# <span style="color:#0000ff;">log-adjacency-changes</span></span><br>
<span style="color:#008000;">Now we will assign the IPv6 addresses to the interfaces as well as place the interfaces in IPv6 OSPF Process ID 1, Area 0</span><br>
<span style="color:#ff0000;">LISP_R6(config)# <span style="color:#0000ff;">interface Loopback1</span></span><br>
<span style="color:#ff0000;">LISP_R6(config-if)# <span style="color:#0000ff;">ipv6 address 2001:DB8:0:1001::6/64</span></span><br>
<span style="color:#ff0000;">LISP_R6(config-if)# <span style="color:#0000ff;">ipv6 ospf 1 area 0</span></span><br>
<span style="color:#ff0000;">LISP_R6(config)# <span style="color:#0000ff;">interface Loopback2</span></span><br>
<span style="color:#ff0000;">LISP_R6(config-if)# <span style="color:#0000ff;">ipv6 address 2001:DB8:0:1002::6/64</span></span><br>
<span style="color:#ff0000;">LISP_R6(config-if)# <span style="color:#0000ff;">ipv6 ospf 1 area 0</span></span><br>
<span style="color:#ff0000;">LISP_R6(config)# <span style="color:#0000ff;">interface Loopback3</span></span><br>
<span style="color:#ff0000;">LISP_R6(config-if)#<span style="color:#0000ff;"> ipv6 address 2001:DB8:0:1003::6/64</span></span><br>
<span style="color:#ff0000;">LISP_R6(config-if)#<span style="color:#0000ff;"> ipv6 ospf 1 area 0</span></span><br>
<span style="color:#ff0000;">LISP_R6(config)#<span style="color:#0000ff;"> interface GigabitEthernet0/1</span></span><br>
<span style="color:#ff0000;">LISP_R6(config-if)# <span style="color:#0000ff;">ipv6 address 2001:DB8:0:1036::6/64</span></span><br>
<span style="color:#ff0000;">LISP_R6(config-if)# <span style="color:#0000ff;">ipv6 ospf 1 area 0</span></span><br>
Again, that is all for R6.  And just like R5, we created OSPF so that we can learn an IPv6 default ( ::/0 ) route from R3<br>
So, now we can configure our xTR routers – R2 and R3.  R2 first<br>
<strong>R2</strong><br>
<span style="color:#008000;">Again, we need to enable IPv6 on these devices</span><br>
<span style="color:#ff0000;">LISP_R2(config)# <span style="color:#0000ff;">ipv6 unicast-routing</span></span><br>
<span style="color:#008000;">Now we create the IPv6 OSPF process and configure it to generate the default route ( ::/0 ) to R5</span><br>
<span style="color:#ff0000;">LISP_R2(config)#<span style="color:#0000ff;"> ipv6 router ospf 1</span></span><br>
<span style="color:#ff0000;">LISP_R2(config-rtr)# <span style="color:#0000ff;">default-information originate always</span></span><br>
<span style="color:#008000;">There are no configuration changes on G0/0, it maintains its IPv4 address – there is NO IPv6 configured on this interface.</span><br>
<span style="color:#ff0000;">LISP_R2(config)#<span style="color:#0000ff;"> interface GigabitEthernet0/0</span></span><br>
<span style="color:#008000;">Now we can configure the EID side of the network with IPv6 and place the interface into IPv6 OSPF PID 1, Area 0</span><br>
<span style="color:#ff0000;">LISP_R2(config)#<span style="color:#0000ff;"> interface GigabitEthernet0/1</span></span><br>
<span style="color:#ff0000;">LISP_R2(config-if)#<span style="color:#0000ff;"> ipv6 address 2001:DB8:0:25::2/64</span></span><br>
<span style="color:#ff0000;">LISP_R2(config-if)# <span style="color:#0000ff;">ipv6 ospf 1 area 0</span></span><br>
<span style="color:#008000;">Now we can configure this device to be an xTR and the associated LISP map-resolver and LISP map-server</span><br>
<span style="color:#ff0000;">LISP_R2(config)#<span style="color:#0000ff;"> ipv6 lisp itr</span></span><br>
<span style="color:#ff0000;">LISP_R2(config)# <span style="color:#0000ff;">ipv6 lisp itr map-resolver 10.1.14.4</span></span><br>
<span style="color:#ff0000;">LISP_R2(config)# <span style="color:#0000ff;">ipv6 lisp etr</span></span><br>
<span style="color:#ff0000;">LISP_R2(config)#<span style="color:#0000ff;"> ipv6 lisp etr map-server 10.1.14.4 key Fryguy</span></span><br>
<span style="color:#008000;">Now we have to tell the MR/MS what EIDs are reachable via our RLOC interface</span><br>
<span style="color:#ff0000;">LISP_R2(config)#<span style="color:#0000ff;"> ipv6 lisp database-mapping 2001:DB8:0:1::/64 IPv4-interface GigabitEthernet0/0 priority 1 weight 100</span></span><br>
<span style="color:#ff0000;">LISP_R2(config)#<span style="color:#0000ff;"> ipv6 lisp database-mapping 2001:DB8:0:2::/64 IPv4-interface GigabitEthernet0/0 priority 1 weight 100</span></span><br>
<span style="color:#ff0000;">LISP_R2(config)#<span style="color:#0000ff;"> ipv6 lisp database-mapping 2001:DB8:0:3::/64 IPv4-interface GigabitEthernet0/0 priority 1 weight 100</span></span><br>
<span style="color:#ff0000;">LISP_R2(config)#<span style="color:#0000ff;"> ipv6 lisp database-mapping 2001:DB8:0:25::/64 IPv4-interface GigabitEthernet0/0 priority 1 weight 100</span></span><br>
Now onto R3<br>
<strong>R3</strong><br>
<span style="color:#008000;">Like all the other routes, we will enable IPv6</span><br>
<span style="color:#ff0000;">LISP_R3(config)# <span style="color:#0000ff;">ipv6 unicast-routing</span></span><br>
<span style="color:#008000;">…and configure OSPF PID 1. Again, configuring the router to generate the ::/0 route for R6</span><br>
<span style="color:#ff0000;">LISP_R3(config)# <span style="color:#0000ff;">ipv6 router ospf 1</span></span><br>
<span style="color:#ff0000;">LISP_R3(config-rtr)# <span style="color:#0000ff;">default-information originate always</span></span><br>
<span style="color:#008000;">Now we an configure the IPv6 side of the router, and as with all the other routers, place the interface into OSPF</span><br>
<span style="color:#ff0000;">LISP_R3(config)# <span style="color:#0000ff;">interface GigabitEthernet0/0</span></span><br>
<span style="color:#ff0000;">LISP_R3(config-if)# <span style="color:#0000ff;">ipv6 address 2001:DB8:0:1036::3/64</span></span><br>
<span style="color:#ff0000;">LISP_R3(config-if)# <span style="color:#0000ff;">ipv6 ospf 1 area 0</span></span><br>
<span style="color:#008000;">Again, we do not make any changes to the LISP RLOC interface, no IPv6 on this interface!</span><br>
<span style="color:#ff0000;">LISP_R3(config)# <span style="color:#0000ff;">interface GigabitEthernet0/1</span></span><br>
<span style="color:#008000;">Now we can configure the router to be an xTR with the MS/MR of 10.1.14.4</span><br>
<span style="color:#ff0000;">LISP_R3(config)# <span style="color:#0000ff;">ipv6 lisp itr</span></span><br>
<span style="color:#ff0000;">LISP_R3(config)# <span style="color:#0000ff;">ipv6 lisp itr map-resolver 10.1.14.4</span></span><br>
<span style="color:#ff0000;">LISP_R3(config)# <span style="color:#0000ff;">ipv6 lisp etr</span></span><br>
<span style="color:#ff0000;">LISP_R3(config)# <span style="color:#0000ff;">ipv6 lisp etr map-server 10.1.14.4 key Fryguy</span></span><br>
<span style="color:#008000;">And now all the database mappings for the EIDs that are reachable via the RLOC interface</span><br>
<span style="color:#ff0000;">LISP_R3(config)# <span style="color:#0000ff;">ipv6 lisp database-mapping 2001:DB8:0:1000::/54 IPv4-interface GigabitEthernet0/1 priority 1 weight 100</span></span><br>
<span style="color:#ff0000;">LISP_R3(config)# <span style="color:#0000ff;">ipv6 lisp database-mapping 2001:DB8:0:1001::/64 IPv4-interface GigabitEthernet0/1 priority 1 weight 100</span></span><br>
<span style="color:#ff0000;">LISP_R3(config)# <span style="color:#0000ff;">ipv6 lisp database-mapping 2001:DB8:0:1002::/64 IPv4-interface GigabitEthernet0/1 priority 1 weight 100</span></span><br>
<span style="color:#ff0000;">LISP_R3(config)# <span style="color:#0000ff;">ipv6 lisp database-mapping 2001:DB8:0:1003::/64 IPv4-interface GigabitEthernet0/1 priority 1 weight 100</span></span><br>
<span style="color:#ff0000;">LISP_R3(config)# <span style="color:#0000ff;">ipv6 lisp database-mapping 2001:DB8:0:1036::/64 IPv4-interface GigabitEthernet0/1 priority 1 weight 100</span></span><br>
So, now that everything is configured, lets do a PING from R5 Loopback1 to R6 Loopback1<br>
<span style="color:#ff0000;">LISP_R5# <span style="color:#0000ff;">ping ipv6 2001:DB8:0:1001::6 source loopback 1</span></span><br>
<span style="color:#ff0000;">Type escape sequence to abort.</span><br>
<span style="color:#ff0000;">Sending 5, 100-byte ICMP Echos to 2001:DB8:0:1001::6, timeout is 2 seconds:</span><br>
<span style="color:#ff0000;">.!!!!</span><br>
<span style="color:#ff0000;">Success rate is 80 percent (4/5), round-trip min/avg/max = 1/2/4 ms</span><br>
<span style="color:#ff0000;">LISP_R5#</span><br>
There we go, it worked!  LISP allowed us to encapsulate the IPv6 packet within IPv4 without have to configure 6to4 tunnels and such.<br>
Why?  Well, LISP encapsulate the original packet when it goes from one RLOC to the other RLOC 🙂<br>
<span style="color:#ff0000;"><span style="color:#0000ff;"><span style="color:#000000;">Now that we have that all configured and tested, lets look at the output from R4 using a the command <em>sh lisp site summary. </em>As you will see, we now have 4 configured networks for IPv6 and 4 registered.  Our IPv4 routes and networks are still there from before, none of that changed.<br /> </span></span>LISP_R4_MP_MR# <span style="color:#0000ff;">sh lisp site summary </span></span><br>
<span style="color:#ff0000;"><span style="color:#ffffff;">…………………….</span>———– IPv4 ———–<span style="color:#ffffff;">……….</span>———– IPv6 ———–</span><br>
<span style="color:#ff0000;">Site name<span style="color:#ffffff;">……….</span>Configured Registered Incons Configured Registered Incons</span><br>
<span style="color:#ff0000;">Site-A<span style="color:#ffffff;">…………………………</span>2<span style="color:#ffffff;">……………</span>2<span style="color:#ffffff;">……….</span><span style="color:#ffffff;">……………</span>4<span style="color:#ffffff;">…………….</span>4<span style="color:#ffffff;">……….</span></span><br>
<span style="color:#ff0000;">Site-B</span><span style="color:#ffffff;">…………………………</span><span style="color:#ff0000;">2<span style="color:#ffffff;">…………….</span>2<span style="color:#ffffff;">……….</span><span style="color:#ffffff;">…………..</span>4<span style="color:#ffffff;">…………….</span>4<span style="color:#ffffff;">……….</span></span><br>
<span style="color:#ff0000;">Number of configured sites:<span style="color:#ffffff;">……………………..</span>2</span><br>
<span style="color:#ff0000;">Number of registered sites:<span style="color:#ffffff;">………………………</span>2</span><br>
<span style="color:#ff0000;">Sites with inconsistent registrations:<span style="color:#ffffff;">………….</span></span><br>
<span style="color:#ff0000;">IPv4</span><br>
<span style="color:#ff0000;"><span style="color:#ffffff;">..</span>Number of configured EID prefixes:<span style="color:#ffffff;">…………..</span>4</span><br>
<span style="color:#ff0000;"><span style="color:#ffffff;"> ..</span>Number of registered EID prefixes:<span style="color:#ffffff;">……………</span>4</span><br>
<span style="color:#ff0000;">IPv6</span><br>
<span style="color:#ff0000;"><span style="color:#ffffff;"> ..</span>Number of configured EID prefixes:<span style="color:#ffffff;">…………..</span>8</span><br>
<span style="color:#ff0000;"><span style="color:#ffffff;">..</span>Number of registered EID prefixes:<span style="color:#ffffff;">……………</span>8</span><br>
<span style="color:#ff0000;">LISP_R4_MP_MR#</span><br>
<span style="color:#ff0000;"><span style="color:#0000ff;"><span style="color:#000000;">Now we can look at the output from <em>show lisp site </em>to see what networks are registered.  As you can see, both IPv4 and Ipv6 networks are listed with their perspective RLOC routers.<br /> </span></span></span><br>
<span style="color:#ff0000;">LISP_R4_MP_MR#<span style="color:#0000ff;"> sh lisp site </span></span><br>
<span style="color:#ff0000;">LISP Site Registration Information</span><br>
<span style="color:#ff0000;">Site Name      Last      Up   Who Last             Inst     EID Prefix</span><br>
<span style="color:#ff0000;">Register       Registered           ID </span><br>
<span style="color:#ff0000;">Site-A         00:00:02  yes  10.1.12.2                     150.1.25.0/24</span><br>
<span style="color:#ff0000;"><span style="color:#ffffff;"> …………….</span>00:00:02  yes  10.1.12.2                     150.1.125.0/24</span><br>
<span style="color:#ff0000;"><span style="color:#ffffff;">…………….</span> 00:00:07  yes  10.1.12.2                     2001:DB8:0:1::/64</span><br>
<span style="color:#ff0000;"><span style="color:#ffffff;">…………….</span> 00:00:07  yes  10.1.12.2                     2001:DB8:0:2::/64</span><br>
<span style="color:#ff0000;"><span style="color:#ffffff;">…………….</span> 00:00:07  yes  10.1.12.2                     2001:DB8:0:3::/64</span><br>
<span style="color:#ff0000;"><span style="color:#ffffff;">…………….</span> 00:00:07  yes  10.1.12.2                     2001:DB8:0:25::/64</span><br>
<span style="color:#ff0000;">Site-B         00:00:53  yes  10.1.13.3                     150.1.36.0/24</span><br>
<span style="color:#ff0000;"><span style="color:#ffffff;">…………….</span> 00:00:53  yes  10.1.13.3                     150.1.136.0/24</span><br>
<span style="color:#ff0000;"><span style="color:#ffffff;">……………. </span>00:00:10  yes  10.1.13.3                     2001:DB8:0:1001::/64</span><br>
<span style="color:#ff0000;"><span style="color:#ffffff;">……………. </span>00:00:10  yes  10.1.13.3                     2001:DB8:0:1002::/64</span><br>
<span style="color:#ff0000;"><span style="color:#ffffff;">……………. </span>00:00:10  yes  10.1.13.3                     2001:DB8:0:1003::/64</span><br>
<span style="color:#ff0000;"><span style="color:#ffffff;">……………. </span>00:00:10  yes  10.1.13.3                     2001:DB8:0:1036::/64</span><br>
<span style="color:#ff0000;">LISP_R4_MP_MR#</span><br>
<span style="color:#000000;">Now, just like I did for the IPv4 only lab, here is the debug output from <em>debug lisp control-plane all. </em>If you need an explanation, just refer to the prior post please.<br /> </span><br>
<span style="color:#ff0000;">LISP_R2# <span style="color:#0000ff;">debug lisp control-plane all</span></span><br>
<span style="color:#ff0000;">LISP_R2#</span><br>
<span style="color:#ff0000;">*Apr  8 22:18:21.098: LISP: Processing data signal for EID prefix 2001:DB8:0:1001::6/128</span><br>
<span style="color:#ff0000;">*Apr  8 22:18:21.098: LISP: Remote EID prefix 2001:DB8:0:1001::6/128, Change state to incomplete (method: data-signal, state: unknown, rlocs: 0).</span><br>
<span style="color:#ff0000;">*Apr  8 22:18:21.098: LISP: Remote EID prefix 2001:DB8:0:1001::6/128, Scheduling map requests (incomplete) (method: data-signal, state: incomplete, rlocs: 0).</span><br>
<span style="color:#ff0000;">*Apr  8 22:18:21.130: LISP: Send map request for EID prefix 2001:DB8:0:1001::6/128</span><br>
<span style="color:#ff0000;">*Apr  8 22:18:21.130: LISP: Remote EID prefix 2001:DB8:0:1001::6/128, Send map request (1) (method: data-signal, state: incomplete, rlocs: 0).</span><br>
<span style="color:#ff0000;">*Apr  8 22:18:21.130: LISP: AF IPv6, Sending map-request from 2001:DB8:0:25::2 to 2001:DB8:0:1001::6 for EID 2001:DB8:0:1001::6/128, ITR-RLOCs 1, nonce 0xC4B2E8BE-0x4DCA442F (encap src 10.1.12.2, dst 10.1.14.4).</span><br>
<span style="color:#ff0000;">*Apr  8 22:18:21.130: LISP: Processing received Map-Reply message from 10.1.13.3 to 10.1.12.2</span><br>
<span style="color:#ff0000;">*Apr  8 22:18:21.130: LISP: Received map reply nonce 0xC4B2E8BE-</span><br>
<span style="color:#ff0000;">LISP_R2#0x4DCA442F, records 1</span><br>
<span style="color:#ff0000;">*Apr  8 22:18:21.130: LISP: Map Request prefix 2001:DB8:0:1001::6/128 remote EID prefix, Received reply with rtt 0ms.</span><br>
<span style="color:#ff0000;">*Apr  8 22:18:21.130: LISP: Processing mapping information for EID prefix 2001:DB8:0:1001::/64</span><br>
<span style="color:#ff0000;">*Apr  8 22:18:21.130: LISP: Remote EID prefix 2001:DB8:0:1001::/64, Change state to complete (method: map-reply, state: unknown, rlocs: 0).</span><br>
<span style="color:#ff0000;">*Apr  8 22:18:21.130: LISP: Remote EID prefix 2001:DB8:0:1001::/64, Starting idle timer (method: map-reply, state: complete, rlocs: 0).</span><br>
<span style="color:#ff0000;">*Apr  8 22:18:21.130: LISP: Remote EID prefix 2001:DB8:0:1001::6/128, Change state to deleted (method: data-signal, state: incomplete, rlocs: 0).</span><br>
<span style="color:#ff0000;">*Apr  8 22:18:21.134: LISP: Remote EID prefix 2001:DB8:0:1001::/64, Recalculated RLOC status bits from 0x0 to 0x1 (method: map-reply, state: complete, rlocs: 1).</span><br>
<span style="color:#ff0000;">*Apr  8 22:18:21.134: LISP RIB_RWATCH: (default:ipv4:base) T 10.1.13.3/32 EVENT Track start</span><br>
<span style="color:#ff0000;">*Apr  8 22:18:21.134: LISP RIB_RWATCH: (default:ipv4:base) N 10.1.13.3/32 Adding track</span><br>
<span style="color:#ff0000;">*Apr  8 22:18:21.134: LISP RIB_RWATCH: (default:ipv4:base) N 10.1.13.3/32 QP Schedule query</span><br>
<span style="color:#ff0000;">*Apr  8 22:18:21.134: LISP RIB_RWATCH: (default:ipv4:base) T 10.1.13.3/32 EVENT Query found route</span><br>
<span style="color:#ff0000;">*Apr  8 22:18:21.134: LISP RIB_RWATCH: (default:ipv4:base) R 10.0.0.0/8  d=1 p=1 -&gt; 10.1.12.1 (base) 0 Updating</span><br>
<span style="color:#ff0000;">*Apr  8 22:18:21.134: LISP RIB_RWATCH: Adding to client notification queue</span><br>
<span style="color:#ff0000;">*Apr  8 22:18:21.134: LISP: Remote EID prefix 2001:DB8:0:1001::/64 locator 10.1.13.3 priority 1 weight 100, Added locator (method: map-reply, state: complete, rlocs: 1).</span><br>
<span style="color:#ff0000;">*Apr  8 22:18:21.134: LISP RIB_RWATCH: (default:ipv4:base) W 10.1.13.3/32 c=0x69B38AB8 Client notified reachable</span><br>
<span style="color:#ff0000;">LISP_R2#</span><br>
<span style="color:#ff0000;">LISP_R2#</span><br>
<span style="color:#000000;">Now from R5 I will ping the rest of the IPv6 interfaces on R6:</span><br>
<span style="color:#ff0000;">LISP_R5# <span style="color:#0000ff;">ping ipv6 2001:DB8:0:1002::6 source loopback 1 </span></span><br>
<span style="color:#ff0000;">Type escape sequence to abort.</span><br>
<span style="color:#ff0000;">Sending 5, 100-byte ICMP Echos to 2001:DB8:0:1002::6, timeout is 2 seconds:</span><br>
<span style="color:#ff0000;">.!!!!</span><br>
<span style="color:#ff0000;">Success rate is 80 percent (4/5), round-trip min/avg/max = 1/2/4 ms</span><br>
<span style="color:#ff0000;">LISP_R5# <span style="color:#0000ff;">ping ipv6 2001:DB8:0:1003::6 source loopback 1</span></span><br>
<span style="color:#ff0000;">Type escape sequence to abort.</span><br>
<span style="color:#ff0000;">Sending 5, 100-byte ICMP Echos to 2001:DB8:0:1003::6, timeout is 2 seconds:</span><br>
<span style="color:#ff0000;">.!!!!</span><br>
<span style="color:#ff0000;">Success rate is 80 percent (4/5), round-trip min/avg/max = 1/2/4 ms</span><br>
<span style="color:#ff0000;">LISP_R5#</span><br>
This way we can now look at the R2 LISP Map Cache<br>
<span style="color:#ff0000;">LISP_R2# <span style="color:#0000ff;">sh ipv6 lisp map-cache </span></span><br>
<span style="color:#ff0000;">LISP IPv6 Mapping Cache, 4 entries</span><br>
<span style="color:#ff0000;">::/0, uptime: 00:11:01, expires: never, via static</span><br>
<span style="color:#ff0000;">Negative cache entry, action: send-map-request</span><br>
<span style="color:#ff0000;"><strong>2001:DB8:0:1001::/64,</strong> uptime: 00:10:50, expires: 23:49:02, via map-reply, complete</span><br>
<span style="color:#ff0000;">Locator    Uptime    State      Pri/Wgt</span><br>
<span style="color:#ff0000;"><strong> 10.1.13.3 </strong>00:10:50  up           1/100</span><br>
<span style="color:#ff0000;"><strong>2001:DB8:0:1002::/64, </strong>uptime: 00:00:07, expires: 23:59:45, via map-reply, complete</span><br>
<span style="color:#ff0000;">Locator    Uptime    State      Pri/Wgt</span><br>
<span style="color:#ff0000;"><strong> 10.1.13.3</strong> 00:00:07  up           1/100</span><br>
<span style="color:#ff0000;"><strong>2001:DB8:0:1003::/64, </strong>uptime: 00:00:02, expires: 23:59:50, via map-reply, complete</span><br>
<span style="color:#ff0000;">Locator    Uptime    State      Pri/Wgt</span><br>
<span style="color:#ff0000;"><strong> 10.1.13.3 </strong>00:00:02  up           1/100</span><br>
<span style="color:#ff0000;">LISP_R2#</span><br>
As you can see, all the IPv6 routes are reachable via 10.1.13.3 – an IPv4 address 🙂<br>
Here are the configs for the routers<br>
<a href="http://dl.dropbox.com/u/5753029/LISP%20BLOG/LISP_R1_IPv6.txt" target="_blank" rel="noopener noreferrer">R1</a><br>
<a href="http://dl.dropbox.com/u/5753029/LISP%20BLOG/LISP_R2_IPv6.txt" target="_blank" rel="noopener noreffer ">R2</a><br>
<a href="http://dl.dropbox.com/u/5753029/LISP%20BLOG/LISP_R3_IPv6.txt" target="_blank" rel="noopener noreferrer">R3</a><br>
<a href="http://dl.dropbox.com/u/5753029/LISP%20BLOG/LISP_R4_IPv6.txt" target="_blank" rel="noopener noreferrer">R4</a><br>
<a href="http://dl.dropbox.com/u/5753029/LISP%20BLOG/LISP_R5_IPv6.txt" target="_blank" rel="noopener noreferrer">R5</a><br>
<a href="http://dl.dropbox.com/u/5753029/LISP%20BLOG/LISP_R6_IPv6.txt" target="_blank" rel="noopener noreferrer">R6</a></p>]]></description></item><item><title>LISP – Locator Identifier Separation Protocol (Say what?)</title><link>https://hugo.fryguy.net/2011/04/07/lisp-locator-identifier-separation-protocol-say-what/</link><pubDate>Thu, 07 Apr 2011 14:57:38 +0000</pubDate><author>Fryguy</author><guid>https://hugo.fryguy.net/2011/04/07/lisp-locator-identifier-separation-protocol-say-what/</guid><description><![CDATA[<p><a title="Lisp 4 Website" href="http://www.lisp4.net/" target="_blank" rel="noopener noreferrer"></a><br>
Recently I have been working on a crazy busy project at work as well as preparing for the CCIE SP lab (did not pass).  Well now that is all behind me so I figured I would take some personal time and play with some technology that I have read about, talked about, and even sat through presentations at Cisco Live (aka Networkers) in the past.  What is this technology that has me so interested you might ask.  Well, its LISP – <span style="color: #0000ff;"><strong>L</strong></span>ocator <span style="color: #0000ff;"><strong>I</strong></span>dentifier <span style="color: #0000ff;"><strong>S</strong></span>eparation <span style="color: #0000ff;"><strong>P</strong></span>rotocol (ietf draft can be found here – <a title="ietf draft" href="http://tools.ietf.org/pdf/draft-ietf-lisp-11.pdf" target="_blank" rel="noopener noreferrer"><a href="http://tools.ietf.org/pdf/draft-ietf-lisp-11.pdf" target="_blank" rel="noopener noreffer ">http://tools.ietf.org/pdf/draft-ietf-lisp-11.pdf</a></a>).  The next question you may have is why does this interest me?  To be honest, I have no idea – just thought it was a nifty idea.<br>
So, what is LISP?  The easiest way to explain it is to give you a common analogy that we all understand, DNS.  When a user wants to access a website – in this case – blog.fryguy.net, they send a DNS query to the configured DNS server.  The DNS servers then resolves that DNS name to an IP address – 76.74.254.123 – and sends that back to the client.  The client web application then makes a connection to the web server and retrieves the website.<br>
<a href="/wp-content/uploads/2011/04/dns.jpg" rel=""></a><br>
Well, in LISP a very similar thing happens.  If a router needs to send a packet to 76.74.254.123, and that route is not in the local routing table – it sends a query to the LISP Map Resolver.  The LISP Map Resolver then looks at its database and tells the router that the network can be reached via 4.71.170.2.  The router then sends a LISP encapsulated packet to 4.71.170.2 to be then forwarded onto its ultimate destination.<br>
<a href="/wp-content/uploads/2011/04/lisp2.jpg" rel=""></a><br>
That is a very simple explanation on how it works, and one that I hope most networking folks should be able to understand.  Now lets take it a step further – and think about moving a device around, yet keeping the same IP address (think vmotion).  If you are registering a device location with a server, you can then move that device around and the mapping server will be able to redirect you to the correct site.  There are other things that LISP can do, but I will save the IPv6 one for a future post.<br>
We have host 100.100.100.100/32, called an EID – <span style="color: #0000ff;"><strong>E</strong></span>ndpoint <span style="color: #0000ff;"><strong>Id</strong></span>entifier – that is sitting behind Router A. Router A will register that network, or host in this case, with the LISP Map Server.  It will say to get to the EID prefix of 100.100.100.100/32, send the packet to Router A.  We also have another EID at 200.200.200.200/32 that is sitting behind Router B.  Router B will also register  with the LISP Map Server that host 200.200.200.200/32 is reachable via Router B.  So if 200.200.200.200/32 wants to talk to 100.100.100.100/32, it will send the packet to Router B – Router B will then ask the LISP Mapping Server how to get to 100.100.100.100/32.  The LISP Map server will respond – to get to 100.100.100.100/32, send the packet to Router A.  Router B would then in turn send the packet to Router A, who will then process the packet and forward it onto 100.100.100.100/32.<br>
<a href="/wp-content/uploads/2011/04/example-13.jpg" rel=""></a>Now what happens if we move 100.100.100.100/32 to Site C?  In a normal network, we would have to change the IP address of the host to a network that is reachable via Router C.  You typically cannot advertise the same network from two sites and expect things to work correctly.  But with LISP, you can move the host around and not change the IP address.  Why?  Well, the Mapping server is what tells the routers who want to talk to 100.100.100.100/32 how to get to the host.<br>
So lets move 100.100.100.100/32 to a location in Site-C behind Router C.  Router C would then register with the LISP Map server that 100.100.100.100/32 is now reachable via Router C.  The next time that 200.200.200.200/32 goes to talk to 100.100.100.100/32, Router B will query the LISP Map Server who will then tell it, to get to 100.100.100.100/32, send the packet to Router C for processing.<br>
<a href="/wp-content/uploads/2011/04/example-22.jpg" rel=""></a><br>
Another use case could be with a multi-homed site, like the picture below.  Typically with BGP you can only “recommend” an ingress point into your network, you have no way of guaranteeing the traffic will only flow into Router B from your upstream ISP.  Sure, you can prepend AS numbers; tweak the mutli-exit discriminator (MED), etc – but it is only a suggestion to your upstream ISP. So what can LISP do for us here?  Easy, you can set a priority to the mapping on the LISP server.  You can say that Router A has a higher priority for ingress traffic then Router B.  The LISP server will then return the path with the lowest Priority listed is the preferred route.  This will help to make sure that the traffic is flowing inbound the way that you want it to.<br>
<a href="/wp-content/uploads/2011/04/dual-homing-bgp.jpg" rel=""></a><br>
So lets list out some of the components of a LISP environment:</p>]]></description></item></channel></rss>