Professional Documents
Culture Documents
LGW 2 e Chapter 7 Presentation
LGW 2 e Chapter 7 Presentation
LGW 2 e Chapter 7 Presentation
Packet-Switching
Networks
Network Services and Internal Network
Operation
Packet Network Topology
Datagrams and Virtual Circuits
Routing in Packet Networks
Shortest Path Routing
ATM Networks
Traffic Management
Chapter 7
Packet-Switching
Networks
Network Services and Internal
Network Operation
Network Layer
z Network Layer: the most complex layer
z Requires the coordinated actions of multiple,
geographically distributed network elements
(switches & routers)
z Must be able to deal with very large scales
z Billions of users (people & communicating devices)
z Biggest Challenges
z Addressing: where should information be directed to?
z Routing: what path should be used to get information
there?
Packet Switching
t0 t1
Network
z Connection-Oriented z IP
z Reliable and possibly z Connection-Oriented
constant bit rate transfer z Telephone connection
z ATM
12 3 21
2 2
1 1
Network
1 Physical layer entity 3 Network layer entity
3 Network layer entity
2 Data link layer entity 4 Transport layer entity
The End-to-End Argument for
System Design
z An end-to-end function is best implemented at a
higher level than at a lower level
z End-to-end service requires all intermediate components to
work properly
z Higher-level better positioned to ensure correct operation
z Example: stream transfer service
z Establishing an explicit connection for each stream across
network requires all network elements (NEs) to be aware of
connection; All NEs have to be involved in re-
establishment of connections in case of network fault
z In connectionless network operation, NEs do not deal with
each explicit connection and hence are much simpler in
design
Network Layer Functions
Essential
z Routing: mechanisms for determining the
set of best paths for routing packets requires
the collaboration of network elements
z Forwarding: transfer of packets from NE
inputs to outputs
z Priority & Scheduling: determining order of
packet transmission in each NE
Optional: congestion control, segmentation &
reassembly, security
Chapter 7
Packet-Switching
Networks
Packet Network Topology
End-to-End Packet Network
z Packet networks very different than telephone
networks
z Individual packet streams are highly bursty
z Statistical multiplexing is used to concentrate streams
z User demand can undergo dramatic change
z Peer-to-peer applications stimulated huge growth in traffic
volumes
z Internet structure highly decentralized
z Paths traversed by packets can go through many networks
controlled by different organizations
z No single entity responsible for end-to-end service
Access Multiplexing
Access
MUX
To
packet
network
N r/c n N/n
10 0.01 1 10 10 extremely lightly loaded users
Ethernet
Home
Router
To
packet
network
z Home Router
z LAN Access using Ethernet or WiFi (IEEE 802.11)
z Private IP addresses in Home (192.168.0.x) using Network
Address Translation (NAT)
z Single global IP address from ISP issued using Dynamic
Host Configuration Protocol (DHCP)
LAN Concentration
Switch
/ Router
z z z z z z z z z z z z
connects dept
router
routers
Connecting to Internet Service
Provider
Internet service provider
Border routers
Campus
Border routers
Network
Interdomain level
Autonomous
system or
domain
Intradomain level
s
LAN network administered
s s
by single organization
Internet Backbone
National Service Provider A
NAP
NAP
National Service Provider C Private
peering
NAP
NAP
National Service Provider C Private peering
(b) NAP RA
Route RB
Server
LAN
RC
Key Role of Routing
How to get packet from here to there?
z Decentralized nature of Internet makes
routing a major challenge
z Interior gateway protocols (IGPs) are used to
determine routes within a domain
z Exterior gateway protocols (EGPs) are used to
determine routes across domains
z Routes must be consistent & produce stable flows
z Scalability required to accommodate growth
z Hierarchical structure of IP addresses essential to
keeping size of routing tables manageable
Chapter 7
Packet-Switching
Networks
Datagrams and Virtual Circuits
The Switching Function
z Dynamic interconnection of inputs to outputs
z Enables dynamic sharing of transmission resource
z Two fundamental approaches:
z Connectionless
z Connection-Oriented: Call setup control, Connection
control
Backbone Network
Switch
Access Network
Packet Switching Network
Packet switching network
User z Transfers packets
between users
Transmission
line z Transmission lines +
packet switches
Network (routers)
Packet
switch z Origin in message
switching
Two modes of operation:
z Connectionless
z Virtual Circuit
Message Switching
z Message switching
invented for telegraphy
Message z Entire messages
Message
multiplexed onto shared
Message lines, stored & forwarded
Source
z Headers for source &
destination addresses
Message
z Routing at message
switches
Switches
z Connectionless
Destination
Message Switching Delay
Source T
t
Switch 1
t
τ
Switch 2
t
t
Destination
Delay
Minimum delay = 3τ + 3T
(datagram) Packet 2
z Packet may arrive out of
order
z Pipelining of packets across Packet 2
network can reduce delay,
increase throughput Packet 2
Packet Packet
Packet
Packet
Virtual circuit
Source
t
1 2 3
Switch 1
t
1 2 3
Switch 2
t
1 2 3
t
Destination
Minimum delay = 3τ + T
z Packet
L τ + L P + (k – 1) P = L τ + (L – 1) P + T
1 1
•••
2 2
z
•••
z
z
z
z
z
N N
z Inputs contain multiplexed flows from access muxs & other packet
switches
z Flows demultiplexed at input, routed and/or forwarded to output
ports
z Packets buffered, prioritized, and multiplexed on output lines
Generic Packet Switch
“Unfolded” View of Switch
Controller z Ingress Line Cards
z Header processing
z Demultiplexing
z Routing in large switches
1 Line card Line card 1 z Controller
2 2 Routing in small switches
Interconnection
allocation
z Interconnection Fabric
…
…
…
Network Backplane
processor transceivers
Transceiver Framer
Interconnection
To To To
fabric
physical switch
ports fabric
other
line
cards
Folded View
z 1 circuit board is ingress/egress line card
z Physical layer processing
z Data link layer processing
z Network header processing
z Physical layer across fabric + framing
Shared Memory Packet Switch
Ingress Output
Processing Buffering
Connection
Control
1 1
Queue
2 Control 2
3 3
Shared
…
…
Memory
N N
2 83 2
3 3
…
…
N N
… …
1 2 3 N 1 2 3 N
Outputs Outputs
2 2
3 3
4 4
5 5
6 6
7 7
Stage 1 Stage 2 Stage 3
2 Node
5
(switch or router)
2
1 7 8
1 3 B
A 3
5 1 6 5
4 2
VCI
Host 4
3 5 Switch or router
2
C 5
6
2 D
Node 4
Incoming Outgoing
Node VCI Node VCI
Node 2 2 3 3 2
Node 5
3 4 5 5
Incoming Outgoing 3 2 2 3 Incoming Outgoing
Node VCI Node VCI 5 5 3 4 Node VCI Node VCI
C 6 4 3 4 5 D 2
4 3 C 6 D 2 4 5
Node 4
Destination Next node
1 1
2 2
Node 2 Node 5
3 3
Destination Next node Destination Next node
5 5
1 1 6 3 1 4
3 1 2 2
4 4 3 4
5 5 4 4
6 5 6 6
Non-Hierarchical Addresses and
Routing
0000 0001
0111 0100
1010 1 4 1011
1101 1110
3
R1 R2
2 5
0011 0011
0110 0000 1 0001 4 0101
1001 0111 1 0100 4 1000
1100 1010 1 1011 4 1111
… … … …
z Deflection Routing
z Fixed, preset routing procedure
z No route synthesis
Flooding
Send a packet to all nodes in a network
z No routing tables available
Approach
z Send packet on all ports except one where it
arrived
z Exponential growth in packet transmissions
1 3
6
2
5
2
5
2
5
z Possible metrics
z Hop count: rough measure of resources used
z Reliability: link availability; BER
z Delay: sum of delays along path; complex & dynamic
z Bandwidth: “available capacity” in a path
z Load: Link & router utilization along path
z Cost: $$$
Shortest Path Approaches
Sa
n Jo San Jose 392
se
29
4
Sa
n
Jo
se
25
0
Distance Vector
Local Signpost Table Synthesis
z Direction z Neighbors exchange
z Distance table entries
z Determine current best
Dj
Cij
j
i
Di If Di is the shortest distance to SJ from i
and if j is a neighbor on the shortest path,
then Di = Cij + Dj
But we don’t know the shortest
paths
San
2 Hops
1 Hop
From SJ
Jose
3 Hops From SJ
From SJ
Hop-1 nodes
calculate current
(next hop, dist), &
Accurate info about SJ send to neighbors
ripples across network,
Shortest Path Converges
Bellman-Ford Algorithm
z Consider computations for one destination d
z Initialization
z Each node table has 1 row for destination d
z Distance of node d to itself is zero: Dd=0
z Distance of other node j to d is infinite: Dj=∝, for j≠ d
z Next hop node nj = -1 to indicate not yet defined for j ≠ d
z Send Step
z Send new distance vector to immediate neighbors across local link
z Receive Step
z At node j, find the next hop that gives the minimum distance to d,
z Minj { Cij + Dj }
z Replace old (nj, Dj(d)) by new (nj*, Dj*(d)) if new next node or distance
z Go to send step
Bellman-Ford Algorithm
z Now consider parallel computations for all destinations d
z Initialization
z Each node has 1 row for each destination d
z Distance of node d to itself is zero: Dd(d)=0
z Distance of other node j to d is infinite: Dj(d)= ∝ , for j ≠ d
z Next node nj = -1 since not yet defined
z Send Step
z Send new distance vector to immediate neighbors across local link
z Receive Step
z For each destination d, find the next hop that gives the minimum
distance to d,
z Minj { Cij+ Dj(d) }
z Replace old (nj, Di(d)) by new (nj*, Dj*(d)) if new next node or distance
found
z Go to send step
Iteration Node 1 Node 2 Node 3 Node 4 Node 5
2
2 5
4
Iteration Node 1 Node 2 Node 3 Node 4 Node 5
D3=D6+1
n3=6
D6=0
2 3 1
1 1
5 2
0
4 San
3 1 3 6
Jose
2 5 2
4
2
D5=D6+2 D6=0
n5=6
Iteration Node 1 Node 2 Node 3 Node 4 Node 5
3 1
2 3
1 1
5 2
3 0
4 San
3 1 3 6
Jose
2 2
5
4
6 2
Iteration Node 1 Node 2 Node 3 Node 4 Node 5
1
3 2 3
1 1
5 2
3 0
4 San
3 1 3 6
Jose
2
2 5
4
6 4 2
Iteration Node 1 Node 2 Node 3 Node 4 Node 5
1 5
3 2 3
1 1
5 2
3 0
4 San
3 1 3 6
Jose
2
2 5
4 4
2
Network disconnected; Loop created between nodes 3 and 4
Iteration Node 1 Node 2 Node 3 Node 4 Node 5
5
37 2 3
1 1
5 53 2
0
4 San
3 1 3 6
Jose
2
2 5
4
4 2
5 7
7 2 3
1 1
5 2
5 0
4 San
3 1 3 6
Jose
2 5 2
4
46 2
79 2
7
3
1 1
5 2
5 0
4 San
3 1 3 6
Jose
2
2 5
4
6 2
z
w
x
s z'
w"
x'
Dijkstra’s algorithm
z N: set of nodes for which shortest path already found
z Initialization: (Start with source node s)
z N = {s}, Ds = 0, “s is distance zero from itself”
z Dj=Csj for all j ≠ s, distances of directly-connected neighbors
z Step A: (Find next closest node i)
z Find i ∉ N such that
z Di = min Dj for j ∉ N
z Add i to N
z If N contains all the nodes, stop
z Step B: (update minimum costs)
z For each node j ∉ N
Minimum distance from s to
z Dj = min (Dj, Di+Cij)
j through node i in N
z Go to Step A
Execution of Dijkstra’s algorithm
2 2 9
1 3 1 1 3 1
6 6 9
5 2 5 2
3 3
1 4 1 49 2
2
3 3
2 2
9 4 5 4 5
Iteration N D2 D3 D4 D5 D6
Initial {1} 3 29 5 ∝ ∝
1 {1,3} 39 2 4 ∝ 3
2 {1,2,3} 3 2 4 7 3 9
3 {1,2,3,6} 3 2 4 9 5 3
4 {1,2,3,4,6} 3 2 4 5 9 3
5 {1,2,3,4,5,6} 3 2 4 5 3
Shortest Paths in Dijkstra’s
Algorithm
2 3 1 2 3 1
1 1
6 6
5 2 5 2
3 3
1 4 2 1 4 2
3 3
2 2
4 5 4 5
2 3 1 2 3 1
1 1
6 6
5 2 5 2
3 3
1 4 2 1 4 2
3 3
2 2
4 5 4 5
2 3 1 2 3 1
1 1
6 6
5 2 5 2
3 3
1 4 2 1 4 2
3 3
2 2
4 5 4 5
Reaction to Failure
z If a link fails,
z Router sets link distance to infinity & floods the
network with an update packet
z All routers immediately update their link database &
recalculate their shortest paths
z Recovery very quick
z But watch out for old update messages
z Add time stamp or sequence # to each update
message
z Check whether each received update message is new
z If new, add it to database and broadcast
z If older, send update message on arriving link
Why is Link State Better?
z Fast, loopless convergence
z Support for precise metrics, and multiple
metrics if necessary (throughput, delay, cost,
reliability)
z Support for multiple paths to a destination
z algorithm can be modified to find best two paths
Source Routing
z Source host selects path that is to be followed by a
packet
z Strict: sequence of nodes in path inserted into header
z Loose: subsequence of nodes in path specified
z Intermediate switches read next-hop address and
remove address
z Source host needs link state information or access
to a route server
z Source routing allows the host to control the paths
that its information traverses in the network
z Potentially the means for customers to select what
service providers they use
Example
3,6,B 6,B
1,3,6,B 1 3
B
6
A
4 B
Source host
2 Destination host
5
Chapter 7
Packet-Switching
Networks
ATM Networks
Asynchronous Tranfer Mode
(ATM)
z Packet multiplexing and switching
z Fixed-length packets: “cells”
z Connection-oriented
z Rich Quality of Service support
z Conceived as end-to-end
z Supporting wide range of services
z Real time voice and video
z Circuit emulation for digital transport
z Data traffic with bandwidth guarantees
z Detailed discussion in Chapter 9
ATM Networking
Voice Video Packet Voice Video Packet
ATM ATM
Adaptation Adaptation
Layer Layer
ATM Network
Variable bit
rate Delay Burst traffic Processing
TDM Multirate Low, fixed9 Inefficient Minimal, very
only high speed
Packet Easily 9 Variable Efficient 9 Header & packet*
handled processing
required
Voice 1
2
Data MUX
packets 3
Wasted bandwidth
Images 4
TDM
3 2 1 4 3 2 1 4 3 2 1
• Packet structure gives
flexibility & efficiency ATM
• Synchronous slot 4 3 1 3 2 2 1
transmission gives high
speed & density
Packet Header
ATM Switching
Switch carries out table translation and routing
1
1
voice 67
Switch
…
video 67 2
5 video 25 voice 32 25 N 75
32 1 67 data 39 3
32 3 39
6 data 32 video 61
61 2 67
…
…
video 75 N
N
Virtual paths
Physical link
Virtual channels
VPI/VCI switching & multiplexing
a
VPI 3 VPI 5
a
b ATM ATM
ATM ATM
c Sw Sw b
cross- Sw
1 connect 2 c
3
d
e
VPI 2
VPI 1
ATM d
Sw e
Sw = switch 4
Packet buffer
…
1 2 N–1 N
z Scheduling Concepts
z fairness/isolation
z priority, aggregation,
z Guaranteed Service
z WFQ, Rate-control
z Packet Dropping
z aggregation, drop priorities
FIFO Queueing
Packet buffer
Arriving
packets
Transmission
Packet discard
link
when full
(b)
Packet buffer
Arriving
packets
Transmission
link
Class 1 Class 2 discard
discard when threshold
when full exceeded
HOL Priority Queueing
Packet discard
when full
Transmission
High-priority
link
packets
Low-priority When
packets high-priority
Packet discard queue empty
when full
…
…
Transmission
Packet flow n link
z Each flow has its own logical queue: prevents hogging; allows
differential loss probabilities
z C bits/sec allocated equally among non-empty queues
z transmission rate = C / n(t), where n(t)=# non-empty
queues
z Idealized system assumes fluid flow from queues
z Implementation requires approximation: simulate fluid system;
sort packets according to completion time in ideal system
Buffer 1 Fluid-flow system:
at t=0 both packets served
at rate 1/2
Buffer 2 1
at t=0 Both packets
complete service
at t = 2
t
0 1 2
Packet from
Packet-by-packet system:
buffer 2 waiting
buffer 1 served first at rate 1;
then buffer 2 served at rate 1.
1
Packet from buffer 2
being served
Packet from t
buffer 1 being 0 1 2
served
2 Fluid-flow system:
Buffer 1
at t=0 both packets served
at rate 1/2
Buffer 2 1
at t=0 Packet from buffer 2
served at rate 1
t
0 2 3
Packet from t
buffer 2 0 1 2
served at rate 1
Packetized GPS/WFQ
Rounds
Buffer 1
Buffer 2
…
Buffer n
Packet of length
Packet completes k bits begins
transmission transmission
k rounds later at this time
Differential Service:
If a traffic flow is to receive twice as much bandwidth as a
regular flow, then its packet completion time would be half
Computing the Finishing Time
z F(i,k,t) = finish time of kth packet that arrives at time t to flow i
z P(i,k,t) = size of kth packet that arrives at time t to flow i
z R(t) = round number at time t
Generalize so R(t) continuous, not discrete
rounds
R(t) grows at rate inversely
proportional to n(t)
z Fair Queueing:
F(i,k,t) = max{F(i,k-1,t), R(t)} + P(i,k,t)
z Weighted Fair Queueing:
F(i,k,t) = max{F(i,k-1,t), R(t)} + P(i,k,t)/wi
WFQ and Packet QoS
z WFQ and its many variations form the basis
for providing QoS in packet networks
z Very high-speed implementations available,
up to 10 Gbps and possibly higher
z WFQ must be combined with other
mechanisms to provide end-to-end QoS (next
section)
Buffer Management
z Packet drop strategy: Which packet to drop when buffers full
z Fairness: protect behaving sources from misbehaving
sources
z Aggregation:
z Per-flow buffers protect flows from misbehaving flows
z Full aggregation provides no protection
z Aggregation into classes provided intermediate protection
z Drop priorities:
z Drop packets from buffer according to priorities
z Maximizes network utilization & application QoS
z Examples: layered video, policing at network edge
z Controlling sources at the edge
Early or Overloaded Drop
Algorithm:
z Maintain running average of queue length
z If Qavg < minthreshold, do nothing
z If Qavg > maxthreshold, drop packet
z If in between, drop packet according to probability
z Flows that send more packets are more likely to have
packets dropped
Packet Drop Profile in RED
Probability of packet drop
0
minth maxth full
3 6
1
4
8
2
7
5
Controlled
Uncontrolled
Offered load
Open-Loop Control
z Network performance is guaranteed to all
traffic flows that have been admitted into the
network
z Initially for connection-oriented networks
z Key Mechanisms
z Admission Control
z Policing
z Traffic Shaping
z Traffic Scheduling
Admission Control
z Flows negotiate contract
with network
Peak rate z Specify requirements:
z Peak, Avg., Min Bit rate
Bits/second
water poured
irregularly Leak rate corresponds to
long-term rate
Depletion rate:
X’ = X - (ta - LCT) 1 packet per unit time
Non-empty No X’ = 0
arriving packet
No
would cause
overflow X = X’ + I X = value of the leaky bucket counter
LCT = ta X’ = auxiliary variable
conforming packet LCT = last conformance time
conforming packet
Leaky Bucket Example
I=4 L=6 Nonconforming
Packet
arrival
Time
L+I
Bucket
content
* * * * * * * * * Time
⎡ L ⎤
MBS = 1 + ⎢
⎣ I − T ⎥⎦
MBS
Time
T L I
Dual Leaky Bucket
Dual leaky bucket to police PCR, SCR, and MBS:
Incoming Tagged or
Leaky bucket 1
traffic dropped
SCR and MBS
Untagged traffic
1 2 3 4
Network A Network C
Network B
Packet
Size N
Incoming traffic Shaped traffic
Server
Packet
z Token rate regulates transfer of packets
z If sufficient tokens available, packets enter network without delay
z K determines how much burstiness allowed into the network
Token Bucket Shaping Effect
r bytes/second
t
Packet transfer with Delay
Guarantees
A(t) = b+rt Bit rate > R > r
(a) e.g., using WFQ No backlog
Token Shaper of packets
R(t)
1 2
Buffer Buffer
(b) occupancy Empty
occupancy
at 1 at 2
t t
0 b b
R R-r
Admission
Control
(a)
Source Destination
(b)
Feedback information
Traffic Engineering
z Management exerted at flow aggregate level
z Distribution of flows in network to achieve efficient
utilization of resources (bandwidth)
z Shortest path algorithm to route a given flow not
enough
z Does not take into account requirements of a flow, e.g.
bandwidth requirement
z Does not take account interplay between different flows
z Must take into account aggregate demand from all
flows
3 6 3 6
1 1
4 7 4 7
2 2
8 8
5 5
(a) (b)