Sunday, June 28, 2015

What All Questions A CCDE Candidate Must Ask Himself/Herself While Studying For Given Technology Or Protocol



While I just started studying for CCDE I quick ran into a problem of how to approach a given technology or protocol while.

While to most network engineers having significant experience - the design either looks more of a plumbing job or something they think they deal with on day to day basis. They reach to this state of mind probably considering they have seen & operate enough networks throughout their career and they know how most of technologies work and fit into those designs/requirement. We all deals with new customer requirements every now and then and try to provide solutions for those. But what people usually don't focus is there are many factors that plays a vital role into a successful Network Design.

Let's discuss a quick example:-

Most of the Network Engineers probably that passed CCNP Route Exam (BSCI in old days) are familiar with concept BGP Route Reflectors. The idea behind having route-reflectors in a network running BGP (ibgp) is to solve a simple problem of scalability within a Autonomous System. The golden rule of BGP says " A route learned by one iBGP neighbor cannot be advertised to another iBGP neighbor ". The rule basically was defined to work as Loop prevention mechanism within Autonomous System. Which essentially means either we follow this rule and create a full mesh of iBGP peerings or We break this golden rule by introducing things like Route Reflectors or Confederations.

Even most of CCIE book texts doesn't talk about this decision further and create a mindset among Network Engineers that in a given BGP network they should rather use Route Reflectors all the time and it mimics a good BGP design. But a real Design Engineer would probably look at many other factors before making such decision like :

- Business Requirements ( Though more of a Architect Guys Job )
- Do we really need a Route Reflector in a given BGP Network ?
- What are the uptime and convergence requirements ?
- Would introducing Route Reflectors alone solve my problems ?
- What are different underlying technologies that would need to be 
   introduced or would require fine tuning as well ?
- Whats are the Pros & Cons of Introducing Route Reflectors ?
- Why not BGP confederations ?
- What are the best practices or considerations for a successful route 
   reflector deployment ?
- What about - " Hierarchical Route Reflector design " , " Shadow 
   Route Reflectors " , " Optimal Route Reflection " " Diverse-Path 
   Route    Reflector" options etc ?
- How to plan the migration (migration steps )?
- During migration to Route Reflectors can we encounter temporarily 
   Routing loops into the network ? 
- Should I have Route Reflectors per Service (IPv4 vs IPv6 vs VPNv4)/        
  (Intranet vs Internet) on different physical or virtual (NFV) boxes or not ?
- What should be physical vs logical topology for route reflectors into the    
   network ?
- What are different options to solve "Next Hop Unchanged " problem 
   of iBGP and what are options to solve this problem with respect 
   to understanding pros and cons of each ?
-  Should we use One route reflector pair or more ?
-  Should we use same cluster id or different cluster id in a given pair or pairs 
-  Hot Potato & Cold Potato Routing considerations (With and Without RR)
-  Do we want Load Balancing ?
-  What impact Route Reflector introduction may have in terms of
    increased network complexity...etc

So as you can see there are way too many things to consider while just working on a Route Reflector Design alone :-)

Also there is a misconception that Design & Architecture are same thing or terms that can be interchanged. While the short answer is "They are not " but I'll probably talk about difference between these two terms in a separate blog post in coming weeks.

So while I just started my CCDE Journey ( Though at the moment I don't know how far I would go in terms of lab attempt but rather trying to be better Engineer), I break down the learning curve to have right mindset and approach for a given technology or protocol. Here is my list :

- Understand Technology (Deep Dive)
- Understand Use-Cases
- Understand Design Guidelines & Best Practices
- Understand Limitations of given technology
- Compare with Similar technologies and assess pros and cons
- Try to understand implementation/migration steps     
   in Greenfield & Brownfield deployment/ Network Mergers/Replacement
- Understand Scalability factors & limitations (Scale Out Vs Scale Up)
- Understand HA Side
- Understand Sec side
- Understand Network Physical/Logical Topology Limitations
- Understand Convergence Process
- IPv4 vs IPv6 if applicable
- Overlay Vs Underlay if applicable
- QOS considerations if applicable
- Enterprise vs SP vs DC Deployment considerations if applicable
- Recent developments ( Drafts/RFCs/New Features in IOS/IOS-XE/
   IOS-XR/NX-OS/JUNOS)
- Multicast considerations if applicable
- Operational challenges & considerations
- Dependency on WAN design & topology if applicable
- L1/L2/L3 dependencies from Transport Perspective etc
- Stateful behavior vs not if applicable
- Dependencies on SP/Partner for Deployment if applicable
- Vendor interoperability considerations if applicable
- Does it fit well in virtualized environment with single or multiple layers
- Any sort of heartbeat mechanism involved and it's dependencies
- Network Uptime requirements and SLAs
- Is it a tunneling technique and what all it can tunnel (IP vs Non IP ? )
- Does it require hierarchical addressing & Network design in order to
  work better and scale ?
- Impact on resources (CPU, Memoery etc...) /HW-SW requirements
- Transition/Temp Solution vs Permanent/Long Term Solution
- Immediate vs Long Term Benifits
- Standard vs Proprietary Solution
- Limitations in terms of supported interface types (P2P vs P2M  vs  
  M2M vs Logical vs Subinterfaces etc)
- Overhead & MTU considerations
- OAM considerations
- Compatibility with Non IP Devices (ACT/PASS)
- Can introduction/transition/merger can create Temp L2 or L3 loops
- How it can be optimize from various points (Scalability, Covergence etc)

CCDE: Book of Questions by  Elaine Lopes

https://learningnetwork.cisco.com/blogs/unleashing-ccde/2015/09/04/ccde-book-of-questions

What would you want to add further into this list ? 

Further Readings:

BGP Route Reflector

BGP Case Studies

iBGP – Fully meshed vs Route Reflection

Constrained Route Distribution for BGP/MPLS IP VPNs

Hot,Cold, Mash Potato Routing and BGP Route Reflector Design Considerations

Med-attribute-and-hot-potato-routing

Understanding BGP Convergence

BGP route reflectors

BGP Route Reflector Clusters

Understanding BGP Originator-ID and Cluster-ID

BGP RR Design – Part 1

BGP RR Design – Part 2

FATE SHARING IN IP NETWORKS

DO YOU REALLY NEED TO SEE ALL 512K INTERNET ROUTES?

WHAT IS A VALID BGP ROUTE?

CHANGES IN IBGP NEXT HOP PROCESSING DRASTICALLY IMPROVE BGP-BASED DMVPN DESIGNS

IBGP MIGRATIONS CAN GENERATE FORWARDING LOOPS

CAN BGP ROUTE REFLECTORS REALLY GENERATE FORWARDING LOOPS?

EIBGP LOAD BALANCING

BGP BEST EXTERNAL EXPLAINED

BGP CONVERGENCE OPTIMIZATION

BGP ROUTE REPLICATION IN MPLS/VPN PE-ROUTERS

PREFIX-INDEPENDENT CONVERGENCE (PIC): FIXING THE FIB BOTTLENECK

BGP NEXT HOP PROCESSING

IBGP OR EBGP IN AN ENTERPRISE NETWORK?

BGP/IGP NETWORK DESIGN PRINCIPLES

INTERESTING BGP/IGP INTERACTION PROBLEM

BGP Route Reflector update groups

BGP PEER GROUPS NO LONGER A PERFORMANCE FEATURE

Designing large-scale BGP networks

Network Complexity

Seamless MPLS Architecture

BGP Optimal Route Reflection (BGP-ORR)

BGP Diverse Path Using a Diverse-Path Route Reflector

HTH...
Deepak Arora
Evil CCIE

Thursday, June 4, 2015

Layer 2 Traceroute - Another Cisco Baby To Help Operations Guys



Well it's been a while or probably years ago I wanted to talk and write about this interesting Cisco baby called " Layer 2 Traceroute ". I called it Cisco Baby because it requires Cisco Discovery Protocol (CDP) to be enabled in order to function.

Now Idea is simple, In traditional L2 Campus or Enterprise Network our Network Operations Team keep getting several requests such us tracing user port and change it's vlan to something else or maybe a troubleshooting call where we need to identify source port of user or server etc. The traditional approach usually was to first hop on to switch hosting SVI for given VLAN , Figure out Layer 2 address for given IP (User/Server IP) and do reverse engineering by tracing that Layer 2 Mac Address hop by hop until we hit the user port configured in access vlan or Server that might be using trunking in a virtualized network.

Here is a quick example of traditional approach:









Now Here is how this wonderful IOS tool helps you trace quickly



Further Readings:

http://www.cisco.com/c/en/us/td/docs/switches/lan/catalyst6500/ios/12-2SX/configuration/guide/book/l2trace.html

http://www.cisco.com/c/en/us/td/docs/switches/lan/catalyst3550/software/release/12-1_13_ea1/command/reference/3550cr/cli3.pdf

http://packetpushers.net/tracing-a-layer-2-path-on-cisco-nexus-switches/


HTH...
Deepak Arora
Evil CCIE