engineer versus complexity
play

Engineer versus Complexity Russ White/rule11.us Networks are - PowerPoint PPT Presentation

Engineer versus Complexity Russ White/rule11.us Networks are complex And ge'ng more complex all the 2me But what is complexity, really? Can we put a network on a scale that measures complexity? You cant solve


  1. Engineer versus Complexity Russ White/rule11.us

  2. Networks are complex… • And ge'ng more complex all the 2me • But what is complexity, really? • Can we put a network on a scale that measures complexity?

  3. You can’t “solve” complexity • Why not just make things Solu2on Effec2veness simple? • Because Complexity complexity is Robustness required to solve real world In our view, however, complexity is most succinctly problems discussed in terms of functionality and its robustness. Specifically, we argue that complexity in highly organized systems arises primarily from design strategies intended to create robustness to uncertainty in their environments and component parts. Alderson, D. and J. Doyle, “Contras:ng Views of Complexity and Their Implica:ons For Network---Centric Infrastructures”, IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS—PART A: SYSTEMS AND HUMANS, VOL. 40, NO. 4, JULY 2010

  4. You can’t “solve” complexity • If you can’t “solve” complexity… • Then—abandon all hope ye who enter here? • No! • Instead, we need to learn to manage complexity

  5. Why? • Acts as an abstractor • Only look at the stuff you need to understand the system • Closes off rabbit trails • “Why does IS-IS elect a DIS?” • “That’s a good ques2on, but it’s not related to fixing these slow DNS queries…” • Connects the technical to the business • Unless you can explain why this problem is important to solve… • It’s probably not!

  6. What?

  7. What? • What rou2ng protocol …? • What features… ? • What topology… ? • These are all good ques2ons… • But they don’t get at complexity • What is complex about this system? • What tradeoffs were made in system design? • We need to understand complexity beUer…

  8. • “Department of Defense” (DoD) model • Origin of TCP/IP • Recursive Internet Architecture (RINA) model • hYp://csr.bu.edu/rina/ • IP Fast Reroute 10

  9. DoD Model • How can state be divided up to produce clean interfaces Applica2on between different so]ware Applica2on components? Transport • What informa2on must be Transport moved from component to component to transmit Internet informa2on from applica2on Internet to applica2on? • Lateral across the network Link Link • Ver2cally among components

  10. DoD Model • What state is contained here? Applica2on • How much? Applica2on • How fast does it change? • What am I op2mizing by Transport spli'ng this state up? • What is the goal of breaking Transport this up into mul2ple subsystems? Internet • What state is shared here? Internet • How much does the internal state mix between these two Link components? Link

  11. DoD Model • What state is contained here? Applica2on • How much? Applica2on • How fast does it change? • What am I op2mizing by Transport spli'ng this state up? • What is the goal of breaking Transport this up into mul2ple subsystems? Internet • What state is shared here? Internet • How much does the internal state mix between these two Link components? Link

  12. RINA Model ERROR/FLOW ERROR/FLOW • Recursive Internet App to Architecture App • What processing TRANSPORT/MULTIPLEX TRANSPORT/MULTIPLEX needs to take place to transmit informa2on from applica2on to applica2on? ERROR/FLOW ERROR/FLOW Host to Host • Iden2fies four processes: Transport, Mul2plex, Error TR/MULT TR/MULT handling, Flow TR/MULT TR/MULT control • Grouped into two Interface to Interface ERR/FLOW ERR/FLOW complimentary pairs ERR/FLOW ERR/FLOW • Who needs to do it? • Interface, host, TR/MULT TR/MULT applica2on TR/MULT TR/MULT • Network device Network Device

  13. RINA Model ERROR/FLOW ERROR/FLOW App to App • What state is required here? TRANSPORT/MULTIPLEX TRANSPORT/MULTIPLEX • How much? • How fast does it change? ERROR/FLOW ERROR/FLOW Host to Host • What am I op2mizing by spli'ng this state up? TR/MULT TR/MULT TR/MULT TR/MULT • What state is shared here? Interface to Interface ERR/FLOW ERR/FLOW • How much does the internal ERR/FLOW ERR/FLOW state mix between these two components? TR/MULT TR/MULT TR/MULT TR/MULT Network Device

  14. RINA Model ERROR/FLOW ERROR/FLOW App to App • What state is required here? TRANSPORT/MULTIPLEX TRANSPORT/MULTIPLEX • How much? • How fast does it change? ERROR/FLOW ERROR/FLOW Host to Host • What am I op2mizing by spli'ng this state up? TR/MULT TR/MULT TR/MULT TR/MULT • What state is shared here? Interface to Interface ERR/FLOW ERR/FLOW • How much does the internal ERR/FLOW ERR/FLOW state mix between these two components? TR/MULT TR/MULT TR/MULT TR/MULT Network Device

  15. Control Plane Example • A uses the path through B as to 2001:db8:0:1::/64 2001:db8:0:1::/64 • Path through C is blocked by the control plane • We would like to be able to use E C as an alternate path in the B case of a link failure along A->B- D >E C A

  16. Control Plane Example • Loop Free Alternates (LFAs) • A can compute the cost from C to 2001:db8:0:1::/64 determine if traffic forwarded to 2001:db8:0:1::/64 will be looped back to A E • If not, then A can install the path through C as a backup path B D C A

  17. Control Plane Example • How much state is added to the 2001:db8:0:1::/64 control plane to calculate the LFA? • How o]en does this state change? E • How much faster will the network converge with LFAs? B D • Do other routers in the network need to react to new state in the control plane? C A

  18. Control Plane Example • How much state is added to the 2001:db8:0:1::/64 control plane to calculate the LFA? • How o]en does this state change? E • How much faster will the network converge with LFAs? B D • Do other routers in the network need to react to new state in the control plane? C A

  19. Examples of State, Optimization, and Surface State Op(miza(on Surface Number of routes carried in a Convergence speed Configura2on (human to machine rou2ng protocol interface) How fast reachability/topology Shortest path versus path taken Two control planes interac2ng on informa2on changes in the (stretch) a single network (e.g. BGP + IS-IS) network Des2na2on host Applying filters as close to the API between the configura2on source as possible system and network devices (machine to machine interface) Des2na2on service (on a host) Amount of configura2on required Two routers exchanging rou2ng to implement informa2on Hello transmit interval Distance between informa2on Two data planes interac2ng on source and control point the same physical topology 21

  20. What? Quick • Three subques2ons— • State • Op2miza2on • Surface • Three way choices Cheap High Quality are common in the real world State • Network complexity is another form of this sort of three way choice Surface Op2miza2on

  21. The plane of the possible • Another way of looking at Op2miza2on this… Plane of the Possible • There is a “plane of the possible” • You can’t reach the dragon, e t a t S no maUer how hard you try Realm of the Impossible

  22. Complexity in design State • Complexity is a tradeoff • Decreasing complexity in one part of the system will Surface Op2miza2on (almost) always It is easier to move a problem around (for example, by increase moving the problem to a different part of the overall complexity network architecture) than it is to solve it. … elsewhere It is always possible to add another level of indirec2on. RFC1925

  23. How?

  24. How is Complexity Managed? • What I’m managing is a tradeoff • State, Op2miza2on, Surface • How am I managing it? • Have I seen these ideas before? • What are the “natural tradeoffs” for these technique/ technologies?

  25. Tools to Manage Complexity in Design • Aggrega2on • Summariza2on • Hierarchy • Overlays/virtualiza2on • Automa2on • Autoconfigura2on • Increase skills

  26. Hiding Information Aggrega2on • Hiding longer prefixes in shorter ones • 2001:db8:0:1::/64 + 2001:db8:0:2::/64 == 2001:db8::/61 Summariza2on • Hiding detailed topology informa2on • Flooding domain to single LSA/LSP at boundary Hierarchy • A family of network design paUerns • Aggrega2on + summariza2on + modulariza2on Virtualiza2on • Overlay topology on top of physical topology • Hide detailed topology/reachability informa2on between topologies 28

  27. Hiding Information • No aggrega2on— A • A knows all routes and all 2 topology changes 1 • A routes op2mally to B C 2001:db8:0:2::/64 1 1 D E 2 2001:db8:0:1::/64 2001:db8:0:2::/64

  28. Hiding Information • B & C aggregate— A • A only knows about 2 2001:db8::/61 1 • A doesn’t know about B C topology changes, etc. • A routes subop2mally to 1 1 2001:db8:0:2::/64 D • Increased stretch E 2 2001:db8:0:1::/64 2001:db8:0:2::/64

  29. Hiding Information • More control A plane state No Aggrega2on Op2mal • Changes less rou2ng o]en 2 1 • No configura2on • Less control B C plane state • Changes less Subop2mal Aggrega2on rou2ng o]en • Configured 1 1 aggrega2on D E 2 2001:db8:0:1::/64 2001:db8:0:2::/64

Recommend


More recommend