ControlData Plane Separation Part I Lecture 3 Computer

  • Slides: 29
Download presentation
Control-Data Plane Separation Part I 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 The Internet • Edge: data origins or sinks

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

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

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 The Internet

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

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

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

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

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

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

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

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

What’s a protocol? • Informally, a set of rules to communicate over a network

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? ”

Control and Data Planes

Control and Data Planes

Two key functions of the network core • Forwarding: move packets from a router’s

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:

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 •

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?

The Data Plane What’s inside a router?

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

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

Control & Data Planes inside a router Traditionally: Control plane per route-change processing (~

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

Router architecture overview forwarding processor Control plane Data plane high-speed switching fabric router input

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

Destination-based Forwarding in the Internet Packet payload header Router Destination Address Route Lookup Data

Destination-based Forwarding in the Internet Packet payload header Router Destination Address Route Lookup Data Structure 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 18

We’ll look into the internals of routers in much more detail later. Output Ports

We’ll look into the internals of routers in much more detail later. Output Ports switch fabric packet buffer queueing 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 discipline chooses among pkts queued for transmission • Implication: Who gets priority is chosen by the scheduler 19

The Control Plane Routing Protocols

The Control Plane Routing Protocols

Routing enables forwarding • Each router creates & looks packets up in its own

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 Rutgers Open Shortest Path First (OSPF) used within an

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

What OSPF computes • Shortest path(s) between each pair of nodes • Separate shortest-path

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

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 3 u 2 6 1 1 4 1 5 4 3 s

Dijkstra’s algorithm • Once each router knows all nodes and link costs: • Each

Dijkstra’s algorithm • Once each router knows all nodes and link costs: • Each node computes shortest paths to other nodes Initialization Loop 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

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

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

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

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

OSPF: Shortest-path tree • Shortest-path tree from u 2 v y x 2 1

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

How OSPF on one router learns about other routers • Each router sends out

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