1 / 29

Lecture 3, Computer Networks (198:552) Fall 2019

Control-Data Plane Separation Part I. Lecture 3, Computer Networks (198:552) Fall 2019. Edge and core : a useful distinction. Edge: data origins or sinks (“endpoints”) Your laptop, mobile phone, Google’s servers Core: machines processing & transmitting data

bartelt
Download Presentation

Lecture 3, Computer Networks (198:552) Fall 2019

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Control-Data Plane Separation Part I Lecture 3, Computer Networks (198:552) Fall 2019

  2. Edge and core: a useful distinction • Edge: data origins or sinks (“endpoints”) • Your laptop, mobile phone, Google’s servers • Core: machines processing & transmitting data • Your WiFi router, Rutgers’s firewall, Verizon’s routers • Varies by context: one person’s core is another’s edge The Internet

  3. Today, we’ll focus on the functions of the core of the network.

  4. Structure of the network core The Internet

  5. Structure of the network core Verizon AT&T Sprint Rutgers Comcast

  6. Structure of the network core Verizon AT&T Sprint Rutgers Comcast Autonomous systems (ASes)

  7. Structure of the network core Verizon AT&T Sprint Independently administered set of routers Rutgers

  8. Moving pkts through Internet Verizon AT&T Sprint Routing protocols inside and between ASes Rutgers

  9. What’s a protocol? • Informally, a set of rules to communicate over a network • Messages: how to structure a network conversation • Actions: what to do when you are told something (or not) • For example: what you should say next • But could be many other (complex) things • “How are you?” • “I’m good, how are you?”

  10. Control and Data Planes

  11. Two key functions of the network core • Forwarding: move packets from a router’s input to appropriate output port • happens per packet • Routing: determine route taken by packets from source to destination • happens slower than per packet

  12. An analogy: taking a trip • Forwarding: getting through a single interchange • Routing: planning the trip from source to destination

  13. Core: Split into data and control planes • Data plane: handles individual packets • Local, per-router function • Forwarding, “drop”, “buffer”, … • “Mark”, “schedule”, “measure”, … • Control plane: handle events • Network-wide logic • Compute how to move data end to end • Need to track the topology of the net • Split is motivated by need for high-speed packet processing

  14. The Data Plane What’s inside a router?

  15. What do routers look like? Access routers Core router Data center top-of-rack switch

  16. Control & Data Planes inside a router Routing Algorithm Traditionally: Individual routing algorithm components in each and every routerinteract in the control plane Control plane per route-change processing (~ a few seconds) 0111 control plane data plane Data plane per-packet processing (~ tens of nanoseconds) 1 2 3 values in arriving packet header

  17. high-speed switching fabric Router architecture overview forwarding processor Control plane Data plane router input ports router output ports

  18. Destination-based Forwarding in the Internet Packet header payload Router Route Lookup Data Structure Destination Address Outgoing Port Forwarding Table Dest-network Port 65.0.0.0/8 3 128.9.0.0/16 1 149.12.0.0/19 7

  19. packet buffer queueing We’ll look into the internals of routers in much more detail later. Output Ports Outgoing network interface • Buffering required when pkts arrive from fabric faster than the outgoing transmission rate • Implication: if buffers filled up, packets are dropped • Scheduling disciplinechooses among pkts queued for transmission • Implication: Who gets priority is chosen by the scheduler switch fabric

  20. The Control Plane Routing Protocols

  21. Routing enables forwarding • Each router creates & looks packets up in its own forwarding table • But the computation of the table is itself distributed • Three aspects of a routing protocol: • What outcome it computes • What algorithm it runs • How the protocol learns the location of endpoints

  22. An example: OSPF Verizon AT&T Sprint Open Shortest Path First (OSPF) used within an AS Rutgers

  23. What OSPF computes • Shortest path(s) between each pair of nodes • Separate shortest-path tree rooted at each node • Path(s) with minimum sum of link metrics • Disadvantages • All nodes need to agree on the link metrics • Multipath routing is limited to “equal cost multipath” Edge weights set by the network administrator

  24. How OSPF solves the shortest path problem • Compute: path costs to all nodes • From a given source u to all other nodes • Cost of the path through each outgoing link • Next hop along the least-cost path to s 2 1 3 1 4 u 2 1 5 4 3 6 s

  25. Dijkstra’s algorithm • Once each router knows all nodes and link costs: • Each node computes shortest paths to other nodes S = {u} for all nodes v if (v is adjacent to u) D(v) = c(u,v) else D(v) = ∞ add w with smallest D(w) to S update D(v) for all adjacent v: D(v) = min{D(v), D(w) + c(w,v)} until all nodes are in S Initialization Loop

  26. 2 2 1 1 3 3 1 1 4 4 2 2 1 1 5 5 4 4 3 3 2 2 1 1 3 3 1 1 4 4 2 2 1 1 5 5 4 4 3 3 OSPF route computation example

  27. 2 2 1 1 3 3 1 1 4 4 2 2 1 1 5 5 4 4 3 3 2 2 1 1 3 3 1 1 4 4 2 2 1 1 5 5 4 4 3 3 OSPF route computation example (cont.)

  28. Shortest-path tree from u Forwarding table at u 2 v y 1 3 x z u 2 v (u,v) 1 5 w (u,w) t w 4 x (u,w) s y (u,v) z (u,v) s (u,w) (u,w) t OSPF: Shortest-path tree link

  29. How OSPF on one router learns about other routers • Each router sends out its own address and neighborhood link costs over all of its links: link state advertisement • Each router forwards advertisements from others • A process known as link state flooding • As long as the neighboring router and the link to it are alive, the link cost is included in the flooded message • OSPF is a link state protocol: if the state of the link changes (up/down/cost change), the entire network will know

More Related