2. Flows
Source
1 10-M flow :: a sequence of packets sent between a
bps
Ethe
rnet Router source/destination pair and following the same
Destination
1.5-Mbps T1 link route through the network.
DDI
Source 100
-Mb
ps F Connectionless flows within the TCP/IP model::
2
The connection-oriented abstraction, TCP, is
implemented at the transport layer while IP
provides a connectionless datagram delivery
Congestion in a packet-switched
packet- service.
network With connectionless flows, there exists no state at
the routers.
5 6
Flows Source
1
Router
Destination
Connection-oriented flows (e.g., X.25) – 1
connection-oriented networks maintain hard state Router
at the routers. Source
2
Soft state :: represents a middle ground where Router
soft state is not always explicitly created and Destination
2
removed by signaling. Source
Correct operation of the network does not depend 3
on the presence of soft state, but soft state can
permit the router to better handle packets. Multiple Flows passing through a set
of routers
7 8
Created with Print2PDF. To remove this line, buy a license at: http://www.binarynow.com/
3. Service Lack of Congestion Control
Best-effort service :: The hosts are given no
opportunity to ask for guarantees on a Controlled
Throughput
flow’s service.
QoS (Quality of Service) :: is a service Uncontrolled
model that supports some type of
guarantee for a flow’s service.
Offered load
9 10
Congestion Control Taxonomy Congestion Control Taxonomy
Router-Centric Reservation-Based – the hosts attempt to
The internal network routers take responsibility for:
Which packets to forward
reserve network capacity when the flow is
Which packets to drop or mark established.
The nature of congestion notification to the hosts. The routers allocate resources to satisfy
This includes the Queuing Algorithm to manage the reservations or the flow is rejected.
buffers at the router.
Host-Centric The reservation can be receiver-based (e.g.,
The end hosts adjust their behavior based on RSVP) or sender-based.
observations of network conditions.
(e.g., TCP Congestion Control Mechanisms)
11 12
Created with Print2PDF. To remove this line, buy a license at: http://www.binarynow.com/
4. Congestion Control Taxonomy
Evaluation Criteria
Feedback-Based - The transmission rate is adjusted
(via window size) according to feedback received from Evaluation criteria are needed to decide how well a
the sub network. network effectively and fairly allocates resources.
Explicit feedback – FECN
Implicit feedback – router packet drops. Effective measures – throughput, utilization,
Window-Based - The receiver sends an advertised efficiency, delay, queue length, goodput and power.
window to the sender or a window advertisement can throughput α
be used to reserve buffer space in routers. Power = --------------
Rate-Based – The sender’s rate is controlled by the delay
receiver indicating the bits per second it can absorb.
Where 0 < α < 1
13 14
Fairness Congestion Control
Jain’s fairness index (at the router)
Queuing algorithms determine:
For any given set of user throughputs (x1, x2,…xn ), the
(x x2
fairness index to the set is defined: How packets are buffered.
Which packets get transmitted.
n
2
Which packets get marked or dropped.
xi
f(x1, x2, …, xn) = i 1 Indirectly determine the delay at the router.
n
n x i2 Queues at outgoing links drop/mark packets to
Max-min fairness i 1 implicitly signal congestion to TCP sources.
Essentially ‘borrow’ from the rich-in-performance to help the poor-in-
performance
Remember to separate queuing policy from queuing
For example, CSFQ
mechanism.
15 16
Created with Print2PDF. To remove this line, buy a license at: http://www.binarynow.com/
5. Congestion Control Drop Tail Router [FIFO]
(at the router)
Some of the possible choices in queuing
algorithms: • First packet to arrive is first to be transmitted.
FIFO (FCFS) also called Drop-Tail • FIFO queuing mechanism that drops packets from
Fair Queuing (FQ) the tail of the queue when the queue overflows.
Weighted Fair Queuing (WFQ) • Introduces global synchronization when packets are
Random Early Detection (RED) dropped from several connections.
Explicit Congestion Notification (ECN). • FIFO is the scheduling mechanism, Drop Tail is the
policy
17 18
Priority Queuing Priority Queuing
Mark each packet with a priority (e.g., in Problem:: high priority packets can
TOS (Type of Service field in IP) ‘starve’ lower priority class packets.
Implement multiple FIFO queues, one for Priority queuing is a simple case of
each priority class. “differentiated services” [DiffServ].
Always transmit out of the highest priority One practical use in the Internet is to
non-empty queue. protect routing update packets by giving
Still no guarantees for a given priority them a higher priority and a special queue
class. at the router.
19 20
Created with Print2PDF. To remove this line, buy a license at: http://www.binarynow.com/
6. Fair Queuing [FQ] Flow 1
The basic problem with FIFO is that it does Flow 2
Round-robin
not separate packets by flow. service
Flow 3
Another problem with FIFO :: an “ill-
behaved” flow can capture an arbitrarily
large share of the network’s capacity. Flow 4
Idea:: maintain a separate queue for each
flow, and Fair Queuing (FQ) services
these queues in a round-robin fashion.
Fair Queuing
21 22
Fair Queuing [FQ] Fair Queuing [FQ]
FQ simulates bit-by-bit behavior by using
timestamps (too many details for here!).
“Ill-behaved” flows are segregated into
One can think of FQ as providing a guaranteed
their own queue. minimum share of bandwidth to each flow.
There are many implementation details for FQ is work-conserving in that the server is never
idle as long as there is a customer in the queue.
FQ, but the main problem is that packets * Note: The per-flow state information kept at
are of different lengths simple FQ is not the router is expensive (it does not scale).
fair!!
Ideal FQ:: do bit-by-bit round-robin.
23 24
Created with Print2PDF. To remove this line, buy a license at: http://www.binarynow.com/
7. Weighted Fair Queuing [WFQ]
WFQ idea:: Assign a weight to each flow (queue) such that the
weight logically specifies the number of bits to transmit each
time the router services that queue.
This controls the percentage of the link capacity that the flow
will receive.
The queues can represent “classes” of service and this
becomes DiffServ.
An issue – how does the router learn of the weight
assignments?
Manual configuration
Signaling from sources or receivers.
25
Created with Print2PDF. To remove this line, buy a license at: http://www.binarynow.com/