290 likes | 307 Views
Explore the core functions of the network and the structure of the network core. Learn about autonomous systems, routing protocols, control and data planes, router architecture, forwarding, and routing algorithms.
E N D
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 • Your WiFi router, Rutgers’s firewall, Verizon’s routers • Varies by context: one person’s core is another’s edge The Internet
Today, we’ll focus on the functions of the core of the network.
Structure of the network core The Internet
Structure of the network core Verizon AT&T Sprint Rutgers Comcast
Structure of the network core Verizon AT&T Sprint Rutgers Comcast Autonomous systems (ASes)
Structure of the network core Verizon AT&T Sprint Independently administered set of routers Rutgers
Moving pkts through Internet Verizon AT&T Sprint Routing protocols inside and between ASes Rutgers
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?”
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
An analogy: taking a trip • Forwarding: getting through a single interchange • Routing: planning the trip from source to destination
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
The Data Plane What’s inside a router?
What do routers look like? Access routers Core router Data center top-of-rack switch
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
high-speed switching fabric Router architecture overview forwarding processor Control plane Data plane router input ports router output ports
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
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
The Control Plane Routing Protocols
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
An example: OSPF Verizon AT&T Sprint Open Shortest Path First (OSPF) used within an AS Rutgers
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
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
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
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
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.)
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
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