Ch4 Network Layer Part1
Ch4 Network Layer Part1
Network
Layer:
Data Plane
Part1
Computer Networking: A
Top-Down Approach
8th edition
Jim Kurose, Keith Ross
Pearson, 2020
Network layer: our goals
understand principles • instantiation, implementation
behind network layer in the Internet
services, focusing on data • IP protocol
plane: • NAT, middleboxes
• network layer service models
• forwarding versus routing
• how a router works
• addressing
• generalized forwarding
• Internet architecture
log
ica
transport protocols actions in end
le
n d-
systems:
e nd
local or
tra
• sender: breaks application messages regional ISP
nsp
into segments, passes to network layer
ort
home network content
• receiver: reassembles segments into provider
network
messages, passes to application layer application
transport
datacenter
network
network
two transport protocols available to data link
physical
forwarding
routing
Network Layer: 4-7
Network layer: Data Plane, Control
Plane
Data Plane: Control Plane
local, per-router function • network-wide logic
determines how datagram • determines how datagram is
arriving on router input port routed among routers along end-
is forwarded to router end path from source host to
output port destination host
values in arriving two control-plane approaches:
packet header
• Traditional Routing Algorithms:
0111 1 implemented in routers (per-router)
3
2
• Software-Defined Networking (SDN):
logically centralized control
implemented in (remote) servers
Network Layer: 4-8
Per-router control plane
Individual routing algorithm components in each and every router
interact with each other in control plane to compute forwarding
tables
Routing
Algorithm
control
plane
data
plane
values in arriving
packet header
0111 1
2
3
• Remote controller
computes, installs
forwarding tables in Remote Controller
routers
• A distinct (typically control
plane
remote) controller data
interacts with local plane
0111 1
2
3
Network Layer: 4-10
Network layer: “data plane” roadmap
physical layer:
bit-level reception
decentralized switching:
link layer:
using header field values, lookup output port using
e.g., Ethernet
forwarding table in input port memory (“match plus action”)
(chapter 6)
goal: complete input port processing at ‘line speed’
input port queuing: if datagrams arrive faster than forwarding
rate into switch fabric
Network Layer: 4-13
Input port functions
lookup,
link
layer forwarding
line switch
protocol fabric
termination
(receive)
queueing
physical layer:
bit-level reception
decentralized switching:
link layer:
using header field values, lookup output port using
e.g., Ethernet
forwarding table in input port memory (“match plus action”)
(chapter 6)
destination-based forwarding: forward based only on
destination IP address (traditional)
generalized forwarding: forward based on any set of header
field values Network Layer: 4-14
Destination-based forwarding
R (rate: NR, R
ideally)
...
...
R R
memory
switch
switch
fabric
fabric
buffering when arrival rate via switch exceeds output line speed
queueing (delay) and loss due to output port buffer overflow!
Abstraction: queue
packet
R packet
departures
arrivals queue link
(waiting area) (server)
arrivals
• arriving traffic classified,
queued by class classify link departures