Computer and
Communication Networks
EE-357 -TE-54
By Dr Mir Yasir Umair
Assistant Professor, MCS, NUST
Network Layer
Inside a Router
Chapter 4: outline
4.1 introduction 4.5 routing algorithms
4.2 virtual circuit and datagram networks o link state
o distance vector
4.3 what’s inside a router
o hierarchical routing
4.4 IP: Internet Protocol
4.6 routing in the Internet
o datagram format
o RIP
o IPv4 addressing
o OSPF
o ICMP
o BGP
o IPv6
4.7 broadcast and multicast
routing
Network Layer 4-3
Router architecture overview
two key router functions:
❖ run routing algorithms/protocol (RIP, OSPF, BGP)
❖ forwarding datagrams from incoming to outgoing link
forwarding tables computed, routing
pushed to input ports routing, management
processor
control plane (software)
forwarding data
plane (hardware)
high-seed
switching
fabric
router input ports router output ports
Network Layer 4-4
Input port functions
lookup,
link forwarding
line layer switch
termination protocol fabric
(receive)
queueing
physical layer:
bit-level reception
data link layer: decentralized switching:
e.g., Ethernet • given datagram dest., lookup output port
using forwarding table in input port
memory (“match plus action”)
• goal: complete input port processing at
‘line speed’
• queuing: if datagrams arrive faster than
forwarding rate into switch fabric
Network Layer 4-5
Switching fabrics
❖ transfer packet from input buffer to appropriate output
buffer
❖ switching rate: rate at which packets can be transfer from
inputs to outputs
▪ often measured as multiple of input/output line rate
▪ N inputs: switching rate N times line rate desirable
❖ three types of switching fabrics
memory
memory bus crossbar
Network Layer 4-6
Switching via memory
first generation routers:
• traditional computers with switching under direct control of CPU
• packet copied to system’s memory
• speed limited by memory bandwidth (2 bus crossings per datagram)
input output
port memory port
(e.g., (e.g.,
Ethernet) Ethernet)
system bus
Network Layer 4-7
Switching via a bus
❖ datagram from input port memory
to output port memory via a shared bus
❖ bus contention: switching speed limited
by bus bandwidth
❖ 32 Gbps bus, Cisco 5600: sufficient
speed for access and enterprise routers bus
Network Layer 4-8
Switching via interconnection network
❖ overcome bus bandwidth limitations
❖ banyan networks, crossbar, other
interconnection nets initially developed to
connect processors in multiprocessor
❖ advanced design: fragmenting datagram
into fixed length cells, switch cells through
the fabric. crossbar
❖ Cisco 12000: switches 60 Gbps through the
interconnection network
Network Layer 4-9
Output ports
datagram
switch buffer link
fabric layer line
protocol termination
queueing (send)
❖ buffering required when datagrams arrive from fabric faster than the
transmission rate
❖ scheduling discipline chooses among queued datagrams for transmission
Datagram (packets) can be lost
Priority scheduling – who gets best
due to congestion, lack of buffers
performance, network neutrality
Network Layer 4-10
Output port queueing
switch
switch
fabric
fabric
at t, packets more one packet time later
from input to output
• buffering when arrival rate via switch exceeds output line speed
• queueing (delay) and loss due to output port buffer overflow!
Network Layer 4-11
How much buffering?
• RFC 3439 rule of thumb: average buffering equal to “typical” RTT (say 250 msec)
times link capacity C
o e.g., C = 10 Gpbs link: 2.5 Gbit buffer
• recent recommendation: with N flows, buffering equal to
RTT . C
N
Network Layer 4-12
Input port queuing
• fabric slower than input ports combined -> queueing may
occur at input queues
o queueing delay and loss due to input buffer overflow!
• Head-of-the-Line (HOL) blocking: queued datagram at front
of queue prevents others in queue from moving forward
switch switch
fabric fabric
output port contention: one packet time later:
only one red datagram can be green packet
transferred. experiences HOL
lower red packet is blocked blocking
Network Layer 4-13
Thank you