Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
Lecture 3, Computer Networks (198:552)Fall 2019
Control-Data Plane SeparationPart I
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
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
Rutgers
AT&T
Comcast
Sprint
Verizon
Structure of the network core
Rutgers
AT&T
Comcast
Sprint
Verizon
Autonomous systems (ASes)
Structure of the network core
Rutgers
AT&T
Sprint
Verizon
Independently administered set of routers
Moving pkts through Internet
Rutgers
AT&T
Sprint
Verizon
Routing protocols inside and between ASes
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
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 PlaneWhat’s inside a router?
15
Access routers
Core routerData center top-of-rack switch
What do routers look like?
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
Router architecture overview
high-speed switching
fabric
forwarding processor
router input ports router output ports
Control plane
Data plane
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
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.
The Control PlaneRouting 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
Rutgers
AT&T
Sprint
Verizon
Open Shortest Path First (OSPF) used within an AS
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
32
21
14
1
4
5
3
u
s6
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
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
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
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)
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