Showing posts with label CCDP. Show all posts
Showing posts with label CCDP. Show all posts

Saturday, March 27, 2021

Are Networks Really Complex ?

A recent short article from an IBN Evangelist brought up an interesting point about how complex modern networks really are and how IBN (Intent Based Networking), assuming SDN is dead, would potentially transform your network and equip you with enough insight by virtue of using AI & ML in such a way that overall network will be much more predictive in nature & AI/ML magic will take care of all complexity.

Wow...by now if You are not sold to this such a great marketing sales pitch....I'll be disappointed 😈

But as an Individual Network Consultant & as a Network Architecture practitioner, I often help my Clients to look deeper under the hood and uncover insights which helps them transform their networks in such a way that's much more realistic and much more practical in nature.

So let's start uncovering some details around " What makes our Networks really Complex? " to understand the problem space at its core and not just at its surface and bring this idea to " How to go about this idea and bring it to reality".

Business Layer
+++++++++++

Often business people based on tons of marketing from vendor believe that the technology is and was the way to transform their businesses. And don't get me wrong but that's true for most part at it's surface. But on the flip side what they don't get it is that the Technology is part of solution and not heart of solution. At it's core you still got to get it right from People & Process perspective. That's one of the reason why over 80% of Digital Transformation projects which are technology centric often gets failed and they get failed miserably from ROI perspective.

To simplify this I often quote this to my friends and colleagues " In theory your Smart phone has more computing power than Apollo 11 which took men to moon, but doesn't that mean you know completely how to harness this power still today to it's potential"

So why most technology driven Digital Transformation Projects really fail today ?

1. Short Term Thinking 

2. The Technology Fallacy - At its core in any business its the People make the difference not tech

3. Absence of Collaboration Culture - Start building trust at its core

4. Imposed Fake " Innovation " Culture - It's a big one in big Orgs.

5. Vendor driven Tech & Innovation - Vendor religions are still ruling the world

6. Most Valuable yet underrated skills:

    A. Common Sense
    B. Listening
    C. Hard Work
    D. Framing the Problem correctly and map it to its roots 
    E. Hypothesis Testing of your ideas, thoughts and frameworks 

7. Fake Data Analytics - People using biased data & statistical models to prove their point and sound intelligent

8. The Generation Gap - This is actually a very big one

9. Absence of a comprehensive & mature "OEM/Partner/Solution benchmarking & onboarding process"

10. Moving away from Vendor A to Vendor B to save cost - If it's just CAPEX, just don't do that

11. OPs & Engineering are usually not invited in Business reviews as they seem irrelevant to many business folks still today

12. Most cross skill programs are fake and misleading

13. Too much of belief in - Cloud, SDN, IBN, Automation and the saga continues...

14. Believing that it's eventually the APP that matters and not the underlying tech...remember it's still Information Technology (IT) and not App Technology (AppT)

15. The urgent culture - Remember that most urgent things are unimportant 

16. Let's not focus too much on those MBAs and CAs running companies at this point 😇


Technology
++++++++

1. The fake Application Aware Networking notion - It doesn't exist...Period ! 

2. Most Networking Managers & CTOs are still not investing into Core Network Architecture & Design skills and keep believing in OEM's Voodoo magic

3. Lack of Test bed environment -  Over 90% of organizations still don't own dedicated Test bed environment that can validate those fresh configuration & configuration changes by replicating your production network at scale

4. The fake Architectural Skills - Just because someone owns an Expert Level networking certification or tons of experience on resume doesn't mean they own strong architectural & design skills

5. The old school & immature Interview Process

6. Common misunderstanding that if someone is working on new cool shiny tech, they are innovative

7. Tech people still believing understanding "How business really works" is boring & unimportant since that's why they chose to become Engineer 

8. Vendor & Technology/Solution religions 

9. All you need to pick on a new vendor and it's solution is that 3-5 days of training - Really ?

10. Tech folks still thinking in SLAs which BTW is a business metric and not a technology metric to begin with while still keep ignoring SLOs and SLIs

11. Tech Folks not being able to articulate changes they would need around People & Processes when introducing new shiny Tech, So how you handle change management in your SDN solution world and most importantly how different it is compare the what it was before introducing SDN ?

12. Outdated and non-standardized network documentation 

13. The One Book Mentality - Not sure how many times and how often I came across his mentality. Usually the moment you ask a regular network engineer for example "How should we go about implementing IPv6 in our network ? ", the common set of responses you will hear back would be:

 A. Let me read a good book on this and come back
 B. Tell me what you want me to implement
 C. Let me find the IPv6 deployment best practices document

But often they miss the point of first get a full understanding of following to fully understand the problem statement:

 A. Why we are doing it in first place ?
 B. What problem we are trying to solve ?
 C. What changes we would need to make across Tech, People & Processes ?
 D. What are my alternatives to meet same goal ?
 E. How we would measure our success and more importantly our Business will measure it for us ?

14. Most Networking tech folks are still madly in love with Vendor stories & narratives when it comes to learning

15. Learning a product doesn't make You an Engineer, understanding how tech works behind the scene does

16. No tight & close feedback loop between Design & OPs team

Standard Bodies Failures 
++++++++++++++++++

Like every other Industry, we got IEEE, IETF, MEF & ONUG and bunch of other standard governance bodies in Networking. But how robust their process are at their core ?

1. In most standardization documents, its not mandatory for You as author to talk through entire life cycle bits of your proposed protocol or solution. Always remember that building something new is perhaps always the easier part compare to operating it for next 5 years or so on daily basis. Under the hood the problem is very similar to " Why most hackathons are useless " for most part despite being chosen as one of popular tools to drive innovation. 

2. Most RFCs are just boring lengthy texts...Not saying all of them since I am in love with RFC 1925 and RFCs do add lot more details in the equation, but why can't those be written in more interactive manner in a modern world where people predict that visual and AR/VR based learning is going to be the future despite we ignore based on evidences that people retain visual memories for longer. Perhaps they put on a dedicated track around this lead by Dan Roam at some point understanding its importance.

3. Networking & even Expert Level certifications only focus on Tech aspect and are still far from reality you have to face in real world...ping me to discuss those numerous examples 😇

4. Security aspects of  any new protocol or solution is still an after thought in most cases

5. Lack of metrics defined to measure the quality of any protocol, solution & tech

Let's keep Complexity Theory & " Complex vs. Complicated " for some other time 👽

So what do you think now about " Are Networks really Complex ? "

Further Readings:






HTH...
A Network Artist

Sunday, December 20, 2020

BGP Nuts - The Crazy Metric Story



Recently ran into an interesting BGP behavior. In order to convey the issue, I have oversimplified the design.

R2 (AS 100) has a network host 22.22.22.22/32 which is trying to reach R7 (AS 200) attached network host 77.77.77.77/32. 

As you can see, between AS 100 & AS 200 we have multiple exit points for the purpose of redundancy. However the interesting twist here is that those BGP next hops are learned from different IGPs.

54.0.0.5 <- Learned from EIGRP
63.0.0.6 <- Learned from OSPF

Given the scenario, what you think about which BGP route and next hop would make into the routing table ?

Well...most likely the answer would be BGP next hop learned from EIGRP because (Assuming... 1. " no auto-summary " is now default for EIGRP (resulting into same Prefix Length for route) , 2. EIGRP AD is 90 compare to OSPF Intra Area route which has AD 110. So based on theory how Router Process this information, the EIGRP learned Next hop (54.0.0.5) should be the one picked up by BGP Best Path Selection Algorithm and should be picked up as the best route over OSPF learned Next Hop (63.0.0.6)

All good ? ... Let's look at the BGP RIB to find it out and How IGP next hops are processed based on standard BGP Next Hop Processing approach that we know from standard BGP theory. Also let's run a quick traceroute towards 77.77.77.77 sourcing from 22.22.22.22 on R2



Now sure if you expected that...right ? :)

From BGP RIB standpoint we can clearly see that BGP route that's making into routing table & FIB essentially is the one that has OSPF learned BGP next hop.

Here is what our OSPF database looks like



Let's do a basic failover test by shutting down interface g6/0 on R3 




So things works fine and as expected here, so let's "un-shut" the interface in order to dig deeper into the behavior ( a little unexpected one)




So why this behavior ?...Well this is where BGP plays a little dumb. It actually ends up comparing METRICs across two IGPs since it doesn't have view of EIGRP Topology Table and OSPF Link State Database. Now if you go back and check IGP metrics for next hops learned from EIGRP vs. OSPF, The metric for EIGRP route is pretty high (in numeric ) as 3072 vs. OSPF route as 2 (Refer to first CLI screenshot in the post)

Now what if we make the OSPF metric look bigger than EIGRP by manually increasing OSPF cost to see if that would allow R2 to install EIGRP learned route as best route





And Yes it works as expected this time too :)

Now for fun let's make the metrics look same by again changing the OSPF cost manually


Well that works too as expected. Now interesting question here is - Since IGP metrics learned from OSPF and EIGRP look same, can we turn ON " i-BGP Multipath " and achieve load balancing.

Let's try that 


Well that works well too and as expected.

One of the problem incase you haven't noticed yet with this design is - Assume the path through OSPF has many more hops added before you reach to the OSPF learned BGP ASN exit point. Since OSPF cost metrics are much lower value compare to EIGRP, You will end up taking sub-optimal path from R2's standpoint in this case which may not be desired behavior. Alternatively You can replace EIGRP with IS-IS and you will by default still end up following OSPF learned BGP next since in most IOS version 10 is the default IS-IS metric for each interface hop. Obviously in practice you should try to run Single IGP across AS 100 here to avoid such issues though M&A scearios are always interesting and challenging. :)

Try this with " DMZ Link-BW " for Unequal Cost Multi-Path and I am pretty sure it will be fun. BGP AIGP NLRI is another interesting bit if you care depending upon the design. 

And of course, the above mentioned logic doesn't apply to following design where we have single exit point being reachable through both IGPs




To learn some more around BGP anomalies and somewhat un-predictable behavior:



And if You want to master BGP from Design Standpoint, I would highly recommend " BGP Zero to Hero Design Masterclass " from my friend Orhan Ergun



HTH...
A Network Artist

Thursday, April 23, 2020

Do You Really Need VxLAN in a Modern Data Center ?




It started as a thread on Linkedin yesterday when someone posted a sort of glimpse of his free Cisco ACI training on linkedin. Later a Network Architect joined the conversation thread by asking the Original poster "Would you prefer ACI or BGP EVPN VxLAN based standard fabric ?". Of course the Architect suggested he would prefer BGP EVPN VxLAN fabric (That's mouthful man :) )

As usual out of my curiosity (without being a DCN expert - Yes I only worked on 3 ACI projects and Zero Cisco Nexus 9K BGP EVPN VxLAN fabric (VTS) so far), I asked this self proclaimed Network Architect another question...very basic in my view:

In modern Data Center context, Where in VxLAN actually plays an important role. Or is it just another snowflake in Networking realm in order to keep your App guys happy since you are not good at Saying " NO " and push them to build better Apps those works well on L3 vs. Sure guys, I can help you with L2 stretches for your App Clusters and for those totally broken old legacy Apps which only works on L2 best.

The point being:

  1. Most modern App works well on L3 in conjunction with DNS
  2. From Cloud Native Apps perspective, L2 shouldn't happen to begin with
  3. vMotion works well on L3 since 6.x release
  4. Inter DC Cluster using L2 are well known bad design practices (Some people tried it with even firewalls and failed miserably)
  5. At least in my personal view, Most Enterprises still run MLAG or vPC thingy for server redundancy compare to perfect world (Original Hyperscaler ideas) where you either run Routing with Servers and VxLAN boundary starts from Hypervisor layer to avoid broken MLAG and STP implementations
  6. Let's agree on L3 based transport is much better compare to L2
  7. Perhaps we have seen enough DC meltdowns in past due to broken L2 and broadcast loops by now ?
  8. Did you ever notice that most Hyperscalers DCs don't run VxLAN in their DC fabrics (Pick your favorite one) - https://engineering.linkedin.com/blog/2016/03/project-altair--the-evolution-of-linkedins-data-center-network
  9. Perhaps there are good reasons someone like AWS and AZURE don't let you run VxLAN between your On Prem DC and Virtual DC they host (VMware on AWS is a corner case and rather a joint GTM thingy)
  10. How many of your Use Case requirements are persistent vs. temp in nature ( Migration and Maintenance were always temp requirements in my view at least)
  11. What value Bridging over L3 really has today to begin with
  12. Shouldn't we rather focus on solving real problems instead of pretending 
  13. Don't forget you can't have unlimited VxLANs in real world like most vendor slides tell you otherwise
  14. Focus on your failure domains/blast radius and create a strategy to mitigate that - Which doesn't seems easy in VxLAN environment and more so in Controller based Clos Fabric (Single Plainer) running VxLAN
  15. And since Overlays such as VxLAN seems to be the new norm in Enterprise DCs, Make sure you are familiar with some of well known Overlay Problems besides challenges such as Visibility, Security and so forth
  16. Make sure you fully understand the VxLAN convergence process with EVPN added while understanding your dependencies on Physical Topology, Underlay Convergence and other nuances
  17. Make sure you understand Leaky Abstractions & Grey Failures very well in context of VxLAN deployment
  18. Understand some myths about Clos Fabric that your favorite vendor otherwise won't tell you - Part 1, Part 2, Part 3 & Fact Check

And of course I am totally ignoring:

  • Level of complexity VxLAN and EVPN brings into Design...You either got to read through few books to become an SME or your must be Genius
  • NSX over ACI never took off ... sort of
  • Most VxLAN implementations are still vendor specific and ACI runs modified VxLAN header
  • VxLAN & EVPN across multi vendors in Single environment... Good luck (Though things have improved a bit over time)
  • MPLS & SR in DCN Fabric...Perhaps needs a separate discussion
  • I am not aware of any strong one to one mapping in context of Overlay and Underlay correlation for simplified Day 2 and operations
  • VxLAN vs Geneve (What NSX-T uses now) vs STT vs NvGRE (Assuming you love MS) vs Dove....Needs separate discussion
  • This is not a scalability discussion but more around to find real world use cases for VxLAN
  • MS Fabric today (Not Originally) does run VxLAN since 2015. Spoke to few MS friends, seems like Bing was Broken from APP designs perspective so they had to do it in order to Keep Business and App guys happy....BTW who runs Bing anyway :)
  • If you are running HW VTEP with MLAG for servers. Perhaps you got to relook into your design and define what purpose VxLAN really serves
  • We still got plenty of other HW and SW in DC context that don't understand VxLAN and more importantly have no HW acceleration
  • Role of VxLAN offload on NIC, DPDK, SR-IOV and other stuff....perhaps needs a separate discussion
  • HW and SW VTEP Integration and how broken those are...let's keep it for another day
  • IPv6 DC/IPv6 Only DC and VxLAN v6... Perhaps need another thread
  • Control Plane, Data Plane & Policy Plane Security in Context of VxLAN - Requires a separate discussion
  • VxLAN Control Plane, Data Plane & Policy Plane in Multi DC, Multi Cloud and Active-Active DC - Needs separate discussion
  • Control Plane & Data Plane Optimization in VxLAN Context - Broadcast Suppression, Conversational MAC address Learning,  BUM traffic (Watch out for those details in given implementation

So question remains - What value really VxLAN brings in the context of modern DC. (Please don't tell me scale, let's keep it as a topic of debate for another day) ?

Further Readings:




















Saturday, April 18, 2015

OSPFv3 Gets Family

It's been a while since I touched Cisco CLI during Non Office Hrs. There are lots of things keeping me busy enough these days like I have been doing a Proxy relocation to DC project which means tons of stuff to deal with as DC is a fairly complex structure with lots of moving pieces like Load Balancer ( SLB, GSLB, LLB), Firewalls and above that this particular DC runs all Juniper Devices for Routing , Switching & Security stuff.

On the flip side I am thinking to seriously start working on CCDE from Mid May 2015 onwards with first lab attempt probably in Feb or May 2016. Though initially CCIE Wireless was on Radar for this and coming year but as Cisco has just announced new blueprint , the idea went on to backseat for a while now. Voice could have been interesting also but similarly CCNA and CCNP Collab tracks are going to replace existing NA and NP Voice track soon and moreover I haven't been doing much around Voice at work as well so should consider it some time next year.

Now back on to idea of today's post about OSPF Address Family Structure. Well it's been a while since Network Industry was talking about one of advantage of IS-IS over OSPF which is IS-IS supports IPv6 natively. For IS-IS it was just a matter of adding new TLV (Type Length Value) to existing IS-IS packet ( TLV 232 & 236 ? I guess). Where as with OSPF it was a different story. They actually had to write a new routing protocol right from scratch now known as OSPFv3. Which introduced another problem from network design and management standpoint that if we just want to run OSPF as choice of routing protocol for both IPv4 & IPv6 on network as administrator, we got to run two separate routing protocol instances as OSPFv2 for IPv4 and OSPFv3 for IPv6. Which means two separate routing topologies.

Now with OSPFv3 Address family (AF) structure support we get rid of this problem of running two separate routing instances somewhat. Why "somewhat" and not "completely" ?

Well while this AF structure solves the multiple instances requirement problem, it has it's own limitations like:

> Specific IOS version like 15.x required, which may or may not be supported across all existing routers & switches serving as Distribution block

> The AFv4 requires IPv6 Link Local address on all IPv4 interfaces in order to function, otherwise it doesn't allow you to bind OSPFv3 AFv4 instance on interface. The Link local addresses are used as source address of packet over interfaces connecting OSPF enabled devices

> The device with capability of AFv4 still couldn't talk to traditional OSPFv2 Device since there is a Address Family bit carried inside new Hello packets which traditional OSPFv2 device don't understand

Which means the deployment is more likely to be successful only if it's a Green Field deployment.

Here is a quick lab with quick results :)









Further Readings:




HTH...
Deepak Arora
Evil CCIE

Wednesday, December 31, 2014

OSPF Path Selection With Default Information Originate - How You Gonna Fix It ? - Part 2

As OSPF recent design issue discussed here can possibly turn into obnoxious CCIEv5 R&S troubleshooting scenario, I got one email from another friend who also ran into interesting OSPF design issue recently around OSPF default information originate too.

Here is a quick topology of his network design:


At high level the design looks pretty simple. R1 & R2 are peering with WAN cloud using E-BGP. Between R1-R2-R3-R4-R5 we are running OSPF Area 0. To ensure R3-R4-R5 have reachability to external prefixes (Since it's always good to avoid BGP to IGP Redistribution), R1 & R2 are injecting default route into the network using "default-information originate always metric-type 1" option.

Also R1 & R2 are connected to each other over a link running OSPF.

Now let's talk about problem...which is the fun part :)

If R1's WAN connection goes down, R4 can't reach any external prefixes using default route any longer. Whereas at the same time both R3 & R5 don't lose their connectivity to same external prefixes.

Now ideally once R1 find it's WAN interface down, it should get default route from R2 and should be able to route R4's traffic in that direction.

Let me show you same behaviour using CLI :






Before R1's WAN Link goes down




After R1's WAN Link goes down 



No ICMP Packets Received Any Longer on R6


R1 is not installing default route from R2



See if you can figure out " WHY " behind this and offer different ways we can fix this design issue. Feel Free to post you solution, recommendation and findings under comments section. I'll update the post around next weekend with my findings and solutions to the design.


HTH...
Deepak Arora
Evil CCIE

Update



 In SPF Debug


Saturday, November 15, 2014

OSPF Path Selection With Default Information Originate - How You Gonna Fix It ? - Part 1

I recently got a call from friend , he was stuck with an interesting OSPF Path Selection issue. Obviously the things didn't work the way he expected it to be :)

Now initially he was been given a Consulting task that involved Design & Configuration changes to meet a new network requirement.

Here is how the network initially looked like :


The customer had active-active WAN connections where these connections were also serving both WAN as well as Internet connectivity. Where as in LAN side they were using OSPF as shown in Topology above.

Now the new requirements given were:

> Brought Up New Internet Connection that will act as Primary Path to reach internet.

> In case the New Internet connection goes down, the old WAN cloud should still work as backup path to reach internet

> From R4's perspective, the path towards R2 should be primary path to reach internet (Through New Internet GW) while path through R3 should be backup path. I am not sure why this was a Hard Requirement but I guess the path from R4 to R3 was through RF link as shown below:




> Introduction of Static Routes, PBR, NAT for whatever reasons were not allowed to be used to solve this problem 

Now my friend tried to solve this problem in an interesting way. He Introduced RIPv2 as new IGP between R5-R3-R2 to ensure he doesn't have to change anything into existing IGP since there was a large IGP domain connected to this setup.

Using RIPv2 he injected default route into RIB of R2 and R3. He had to change distance of RIPv2 originated default route so that it can get priority over BGP injected default route. Than he tried Injecting Default Routes into OSPF domain towards R4 using "Default Information Originate " option. Since the control over path selection was required here, During default route injection he used Metric Type as 1 with Higher metric given while injection route at R3 as shown below:



Obviously the solution didn't work as expected and here is why:



As you can on R4 we still have two routes instead of one in Routing Table.

Can you figure out what's the problem here and how we can fix it in easiest way ?

Or You Have any other better solution to fix it while meeting the given restrictions ?

I'll post my solution to the problem after 2 weeks.

To be on same page here is the Addressing I Used in while labbing this up:


Here is relevant configuration:











Good Luck  !!! :)

HTH...
Deepak Arora
Evil CCIE


Update For Ref: See comments section for further information.






HTH...
Deepak Arora
Evil CCIE