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
- 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/
- 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
What would you want to add further into this list ?
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
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
Seamless MPLS Architecture
BGP Optimal Route Reflection (BGP-ORR)
BGP Diverse Path Using a Diverse-Path Route Reflector