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

Control-Data Plane Separation - Rutgers Universitysn624/552-F19/lectures/... · Control-Data Plane Separation Part I. Edge and core: a useful distinction The Internet •Edge: data

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Control-Data Plane Separation - Rutgers Universitysn624/552-F19/lectures/... · Control-Data Plane Separation Part I. Edge and core: a useful distinction The Internet •Edge: data

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

Control-Data Plane SeparationPart I

Page 2: Control-Data Plane Separation - Rutgers Universitysn624/552-F19/lectures/... · Control-Data Plane Separation Part I. Edge and core: a useful distinction The Internet •Edge: data

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 WiFi router, Rutgers’s firewall, Verizon’s routers

• Varies by context: one person’s core is another’s edge

Page 3: Control-Data Plane Separation - Rutgers Universitysn624/552-F19/lectures/... · Control-Data Plane Separation Part I. Edge and core: a useful distinction The Internet •Edge: data

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

Page 4: Control-Data Plane Separation - Rutgers Universitysn624/552-F19/lectures/... · Control-Data Plane Separation Part I. Edge and core: a useful distinction The Internet •Edge: data

Structure of the network core

The Internet

Page 5: Control-Data Plane Separation - Rutgers Universitysn624/552-F19/lectures/... · Control-Data Plane Separation Part I. Edge and core: a useful distinction The Internet •Edge: data

Structure of the network core

Rutgers

AT&T

Comcast

Sprint

Verizon

Page 6: Control-Data Plane Separation - Rutgers Universitysn624/552-F19/lectures/... · Control-Data Plane Separation Part I. Edge and core: a useful distinction The Internet •Edge: data

Structure of the network core

Rutgers

AT&T

Comcast

Sprint

Verizon

Autonomous systems (ASes)

Page 7: Control-Data Plane Separation - Rutgers Universitysn624/552-F19/lectures/... · Control-Data Plane Separation Part I. Edge and core: a useful distinction The Internet •Edge: data

Structure of the network core

Rutgers

AT&T

Sprint

Verizon

Independently administered set of routers

Page 8: Control-Data Plane Separation - Rutgers Universitysn624/552-F19/lectures/... · Control-Data Plane Separation Part I. Edge and core: a useful distinction The Internet •Edge: data

Moving pkts through Internet

Rutgers

AT&T

Sprint

Verizon

Routing protocols inside and between ASes

Page 9: Control-Data Plane Separation - Rutgers Universitysn624/552-F19/lectures/... · Control-Data Plane Separation Part I. Edge and core: a useful distinction The Internet •Edge: data

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

Page 10: Control-Data Plane Separation - Rutgers Universitysn624/552-F19/lectures/... · Control-Data Plane Separation Part I. Edge and core: a useful distinction The Internet •Edge: data

Control and Data Planes

Page 11: Control-Data Plane Separation - Rutgers Universitysn624/552-F19/lectures/... · Control-Data Plane Separation Part I. Edge and core: a useful distinction The Internet •Edge: data

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

Page 12: Control-Data Plane Separation - Rutgers Universitysn624/552-F19/lectures/... · Control-Data Plane Separation Part I. Edge and core: a useful distinction The Internet •Edge: data

An analogy: taking a trip

• Forwarding: getting through a single interchange

• Routing: planning the trip from source to destination

Page 13: Control-Data Plane Separation - Rutgers Universitysn624/552-F19/lectures/... · Control-Data Plane Separation Part I. Edge and core: a useful distinction The Internet •Edge: data

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

Page 14: Control-Data Plane Separation - Rutgers Universitysn624/552-F19/lectures/... · Control-Data Plane Separation Part I. Edge and core: a useful distinction The Internet •Edge: data

The Data PlaneWhat’s inside a router?

Page 15: Control-Data Plane Separation - Rutgers Universitysn624/552-F19/lectures/... · Control-Data Plane Separation Part I. Edge and core: a useful distinction The Internet •Edge: data

15

Access routers

Core routerData center top-of-rack switch

What do routers look like?

Page 16: Control-Data Plane Separation - Rutgers Universitysn624/552-F19/lectures/... · Control-Data Plane Separation Part I. Edge and core: a useful distinction The Internet •Edge: data

RoutingAlgorithm

Traditionally:

Individual routing algorithm components in each and every router interact in the control plane

dataplane

controlplane

4.1 • OVERVIEW OF NETWORK LAYER 309

tables. In this example, a routing algorithm runs in each and every router and both forwarding and routing functions are contained within a router. As we’ll see in Sec-tions 5.3 and 5.4, the routing algorithm function in one router communicates with the routing algorithm function in other routers to compute the values for its forward-ing table. How is this communication performed? By exchanging routing messages containing routing information according to a routing protocol! We’ll cover routing algorithms and protocols in Sections 5.2 through 5.4.

The distinct and different purposes of the forwarding and routing functions can be further illustrated by considering the hypothetical (and unrealistic, but technically feasible) case of a network in which all forwarding tables are configured directly by human network operators physically present at the routers. In this case, no routing protocols would be required! Of course, the human operators would need to interact with each other to ensure that the forwarding tables were configured in such a way that packets reached their intended destinations. It’s also likely that human configu-ration would be more error-prone and much slower to respond to changes in the net-work topology than a routing protocol. We’re thus fortunate that all networks have both a forwarding and a routing function!

Values in arrivingpacket’s header

1

23

Local forwardingtable

header

0100011001111001

1101

3221

output

Control plane

Data plane

Routing algorithm

Figure 4.2 ♦ Routing algorithms determine values in forward tables

M04_KURO4140_07_SE_C04.indd 309 11/02/16 3:14 PM

16

1

2

0111

values in arriving packet header

3

Data planeper-packet processing(~ tens of nanoseconds)

Control planeper route-change processing(~ a few seconds)

Control & Data Planes inside a router

Page 17: Control-Data Plane Separation - Rutgers Universitysn624/552-F19/lectures/... · Control-Data Plane Separation Part I. Edge and core: a useful distinction The Internet •Edge: data

Router architecture overview

high-speed switching

fabric

forwarding processor

router input ports router output ports

Control plane

Data plane

Page 18: Control-Data Plane Separation - Rutgers Universitysn624/552-F19/lectures/... · Control-Data Plane Separation Part I. Edge and core: a useful distinction The Internet •Edge: data

18

Destination-based Forwarding in the Internet

headerpayloadPacket

Router

Destination Address

Outgoing Port

Dest-network PortForwarding Table

Route LookupData Structure

65.0.0.0/8128.9.0.0/16

149.12.0.0/19

31

7

Page 19: Control-Data Plane Separation - Rutgers Universitysn624/552-F19/lectures/... · Control-Data Plane Separation Part I. Edge and core: a useful distinction The Internet •Edge: data

19

Output Ports

• 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

Outgoingnetwork interface

switchfabric

packetbuffer

queueing

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

Page 20: Control-Data Plane Separation - Rutgers Universitysn624/552-F19/lectures/... · Control-Data Plane Separation Part I. Edge and core: a useful distinction The Internet •Edge: data

The Control PlaneRouting Protocols

Page 21: Control-Data Plane Separation - Rutgers Universitysn624/552-F19/lectures/... · Control-Data Plane Separation Part I. Edge and core: a useful distinction The Internet •Edge: data

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

Page 22: Control-Data Plane Separation - Rutgers Universitysn624/552-F19/lectures/... · Control-Data Plane Separation Part I. Edge and core: a useful distinction The Internet •Edge: data

An example: OSPF

Rutgers

AT&T

Sprint

Verizon

Open Shortest Path First (OSPF) used within an AS

Page 23: Control-Data Plane Separation - Rutgers Universitysn624/552-F19/lectures/... · Control-Data Plane Separation Part I. Edge and core: a useful distinction The Internet •Edge: data

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

Page 24: Control-Data Plane Separation - Rutgers Universitysn624/552-F19/lectures/... · Control-Data Plane Separation Part I. Edge and core: a useful distinction The Internet •Edge: data

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

32

21

14

1

4

5

3

u

s6

Page 25: Control-Data Plane Separation - Rutgers Universitysn624/552-F19/lectures/... · Control-Data Plane Separation Part I. Edge and core: a useful distinction The Internet •Edge: data

Dijkstra’s algorithm

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 Supdate D(v) for all adjacent v:

D(v) = min{D(v), D(w) + c(w,v)} until all nodes are in S

• Once each router knows all nodes and link costs:• Each node computes shortest paths to other nodes

Initialization Loop

Page 26: Control-Data Plane Separation - Rutgers Universitysn624/552-F19/lectures/... · Control-Data Plane Separation Part I. Edge and core: a useful distinction The Internet •Edge: data

OSPF route computation example3

2

2

1

14

1

4

5

3

32

2

1

14

1

4

5

3

32

2

1

14

1

4

5

3

32

2

1

14

1

4

5

3

Page 27: Control-Data Plane Separation - Rutgers Universitysn624/552-F19/lectures/... · Control-Data Plane Separation Part I. Edge and core: a useful distinction The Internet •Edge: data

OSPF route computation example (cont.)3

2

2

1

14

1

4

5

3

32

2

1

14

1

4

5

3

32

2

1

14

1

4

5

3

32

2

1

14

1

4

5

3

Page 28: Control-Data Plane Separation - Rutgers Universitysn624/552-F19/lectures/... · Control-Data Plane Separation Part I. Edge and core: a useful distinction The Internet •Edge: data

OSPF: Shortest-path tree• Shortest-path tree from u • Forwarding table at u

32

2 1

1

4

5

u

v

w

x

y

z

s

t

v (u,v)w (u,w)x (u,w)y (u,v)z (u,v)

link

s (u,w)t (u,w)

Page 29: Control-Data Plane Separation - Rutgers Universitysn624/552-F19/lectures/... · Control-Data Plane Separation Part I. Edge and core: a useful distinction The Internet •Edge: data

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