An Engineer by Heart !!!
A Dreamer, A Pioneer, A Blogger.
A Network Engineer Trying to overtake the world with his network engineering skills :)
Opinions expressed here are solely my own and do not express the views or opinions of my Present or Past employer.
It's sunday, got some time today. Let's wrap up this series quickly.
The physical and logical topology is gonna remain same. The only thing I changed in this part is ... IOS Version :)
R3 is Still the Translator:
Let's review the routing table of R2 quickly again and see how things are:
So now the question is why results are different with different IOS ? ( IOS used in part 1 was 12.4 (20) T ). The previous version was actually following RFC 1587 in which the route preference is same as mentioned in post 1 i.e. E2 is preferred over N2. But the later IOS followed the RFC3101 implementation. Which states that LSA with P-bit set is preferred over the one which has P bit as Zero. The P bit is set to 1 by ASBR while redistributing the routes into NSSA except the situation where ASBR is also ABR and P bit remains unset (0). But as an Engineer if you would like you can still go back to older IOS behavior as following:
Well I wanted to write about this for quite a while but seem to lost in time. We all know that OSPF is fairly a complex protocol to understand and work on though It makes me wonder why People usually come with OSPF as preferred choice if I ask them to choose IGP for New Enterprise Network Design. Well let's keep that story for my Network Design Series.
Now if you know me, I am one of those people who find reading books cover to cover quite hard. I prefer other methods like Video Trainings, Labing Up the topic I am trying to understand, Cisco Documentation and of course above all the Blog Posts at different forums.
While reading one of those exiting blog posts long back I came across this post from Ethan Banks on an interesting OSPF issue which he discovered during practicing one of Net Master Class CCIE R&S Lab from their workbook.
So I decided to test the scenario by my own thinking I can re-produce the issue and see get it working the way Ethan suggested.
So I created this quick topology (Of course Replaced Cat 1 with R4). I configured everything like shown in Diagram but to my surprise the Issue didn't occur.
Now the questions was why so ? I mean from theory standpoint the issue should have occurred. Let's review the topology from OSPF LSA Standpoint and see:
In my topology R3 became the translator.
Now by theory R2 should have seen LSA-5 (Translated by R3 & Forwarded By R1) as well as LSA-7 received directly from R4. In which case R2 should prefer LSA-5 over LSA-7 based on OSPF Route Selection Mechanism:
Regardless of a route’s metric or administrative distance, OSPF will choose routes in the following order:
Intra-Area (O) Inter-Area (O IA) External Type 1 (E1) External Type 2 (E2) NSSA Type 1 (N1) NSSA Type 2 (N2)
Now let's review what routing table of R2 tells us first:
Well it seems to be following same logic. Let's take a closer look at Database Table now:
Now control plane seems to be in Sync with what Ethan suggested. But what about Data plane ?. Will R2 send traffic towards R3 to get to 200.200.200.200 network ?
So the behavior seems to be changed in recent IOS version as we didn't had to suppress the forwarding address manually or doing anything fancy. The behavior is described under RFC 3101 which I figured out through a friend. Well per RFC it's all about fun with P-bit. We will continue the discussion in next post. In the mean while go through recommended readings list:
While going through my CV recently I was wondering how many Network OS skills I had to develop throughout my career in Network Industry and how many yet to learn. The list starts from our plain old IOS of Cisco followed by other flavors that Cisco offers for different set of platforms like IOS-XE, IOS-XR, CAT-OS & NX-OS.
While I can only wish that Cisco will give a thought to come up with a Unified sort of Network OS for their different set of platforms, but that don't seem to be happening anytime soon considering different platforms are designed around different set of needs based on different set of Operating Environments like Enterprise Vs Service Provider Vs Data Center etc...
In the mean while I decided to have fun with Juniper's Unified Network OS called JunOS. I am planning to go for JNCIA JUNOS exam in next 45-60 days time to begin with considering no prior experience with JunOS. But depending upon how much I fall in love with this new exiting Juniper world, I may go further with their certification tracks.
At the same time reason behind choosing JunOS or JNCIA is to develop skill set around Vendor Interoperability which is a crucial and part of long term career plans I have for myself.
As I just got my first JunOS device boot in GNS3 today, plan is to use following material in conjunction to prepare for the JNCIA-JunOS exam:
2. INE's Introduction To JunOS Video Course 3. CBT Nuggets's JNCIA JunOS Video Course So expect some cool posts not only around Juniper and JunOS stuff but also I'll try to add another element into this with interoperability part. HTH... Deepak Arora Evil CCIE
Configuration Template Used In Demo: DC1-N7K-1 +++++++++
! en ! conf t ! vlan 100 name OTV-SITE-VLAN vlan 200 name OTV-EXTEND-VLAN ! int lo0 ip add 11.11.11.11/32 exit ! int e1/7 ip add 1.1.1.1 255.255.255.0 no sh exit ! int e1/5 switchport switchport mode trunk switchport trunk allowed vlan 100,200 no sh exit ! feature interface ! feature pim ! int vlan 200 ip add 200.0.0.1/24 no sh exit ! int e1/1,e1/7 ip igmp ver 2 ip pim sp exit ! ip pim rp-add 30.0.0.1 !
DC2-N7K-1 +++++++++
! en ! conf t ! vlan 100 name OTV-SITE-VLAN vlan 200 name OTV-EXTEND-VLAN ! int lo0 ip add 22.22.22.21/32 exit ! int e1/14 ip add 2.2.2.1 255.255.255.0 no sh exit ! int e1/12 switchport switchport mode trunk switchport trunk allowed vlan 100,200 no sh exit ! feature interface ! feature pim ! int vlan 200 ip add 200.0.0.2/24 no sh exit ! int e1/10,e1/14 ip igmp ver 2 ip pim sp exit ! ip pim rp-add 30.0.0.1 !
DC1-N7K-2 +++++++++
! en ! conf t ! vlan 100 name OTV-SITE-VLAN vlan 200 name OTV-EXTEND-VLAN ! int lo0 ip add 111.111.111.111/32 exit ! feature otv ! int e1/11 ip add 1.1.1.2 255.255.255.0 ip igmp ver 3 no sh exit ! int e1/9 sw sw mode tr sw tr all vlan 100,200 no sh exit ! otv site-vlan 100 exit ! otv site-iden 0x001 ! int overlay 1 otv join-interface e1/11 otv control-group 235.0.0.1 otv data-group 232.0.0.0/4 otv extend-vlan 200 no sh exit !
DC2-N7K-1 +++++++++ ! vlan 100 name OTV-SITE-VLAN vlan 200 name OTV-EXTEND-VLAN ! int lo0 ip add 222.222.222.222/32 exit ! feature otv ! int e1/20 ip add 2.2.2.2 255.255.255.0 no sh ip igmp ver 3 no sh exit ! int e1/18 sw sw mode tr sw tr all vlan 100,200 no sh exit ! otv site-vlan 100 exit ! otv site-iden 0x002 ! int overlay 1 otv join-interface e1/20 otv control-group 235.0.0.1 otv data-group 232.0.0.0/4 otv extend-vlan 200 no sh exit !
! en ! conf t ! feature interface-vlan ! vlan 100 name OTV-SITE-VLAN exit ! vlan 200 name OTV-EXTEND-VLAN exit ! int vlan 200 ip add 200.0.0.1/24 no sh exit ! int e1/5 switchport switchport mode trunk switchport trunk allowed vlan 100,200 no sh exit ! int e1/7 ip add 1.1.1.1/24 < Enable Routing Of Your Choice > no sh exit ! int e1/1 ip add 10.1.13.3/24 < Enable Routing Of Your Choice > no sh exit !
DC2-N7K-1 +++++++++
! en ! conf t ! feature interface-vlan ! vlan 100 name OTV-SITE-VLAN exit ! vlan 200 name OTV-EXTEND-VLAN exit ! int vlan 200 ip add 200.0.0.2/24 no sh exit ! int e1/12 switchport switchport mode trunk switchport trunk allowed vlan 100,200 no sh exit ! int e1/14 ip add 2.2.2.1/24 < Enable Routing Of Your Choice > no sh exit ! int e1/10 ip add 10.1.23.3/24 < Enable Routing Of Your Choice > no sh exit !
DC1-N7K-2 +++++++++
! en ! conf t ! vlan 100 name OTV-SITE-VLAN exit ! vlan 200 name OTV-EXTEND-VLAN exit ! int e1/9 des "OTV-INTERNAL-INTERFACE" switchport switchport mode trunk switchport trunk allowed vlan 100,200 no sh exit ! int e1/11 des "OTV-JOIN-INTERFACE" ip add 1.1.1.2/24 < Enable Routing Of Your Choice > no sh exit !
DC2-N7K-2 +++++++++
! en ! conf t ! vlan 100 name OTV-SITE-VLAN exit ! vlan 200 name OTV-EXTEND-VLAN exit ! int e1/18 des "OTV-INTERNAL-INTERFACE" switchport switchport mode trunk switchport trunk allowed vlan 100,200 no sh exit ! int e1/11 des "OTV-JOIN-INTERFACE" ip add 2.2.2.2/24 < Enable Routing Of Your Choice > no sh exit !
****************************************
OTV Configurations ##################
DC1-N7K-2 +++++++++
! en ! conf t ! feature otv ! otv site-vlan 100 exit ! otv site-identifier 0x01 ! int overlay 1 otv join-interface e1/11 otv adjacency-server unicast-only otv extend-vlan 200 no sh exit !
DC2-N7K-2 +++++++++
! en ! conf t ! feature otv ! otv site-vlan 100 exit ! otv site-identifier 0x02 ! int overlay 1 otv join-interface e1/20 otv use-adjacency-server 1.1.1.2 unicast-only otv extend-vlan 200 no sh exit !