congestionin datanetworks
TRANSCRIPT
Data and Computer Data and Computer CommunicationsCommunications
Eighth EditionEighth Editionby William Stallingsby William Stallings
Lecture slides by Lawrie BrownLecture slides by Lawrie Brown
Chapter 13 – Congestion in Data Chapter 13 – Congestion in Data NetworksNetworks
Congestion in Data NetworksCongestion in Data Networks
At St. Paul's a great throng crammed the platform. She At St. Paul's a great throng crammed the platform. She saw a sea of faces, each stamped with a kind of saw a sea of faces, each stamped with a kind of purposeful, hungry urgency, a determination to get into purposeful, hungry urgency, a determination to get into this train. As before, when she was on the Northern this train. As before, when she was on the Northern Line, she thought there must be some rule, some Line, she thought there must be some rule, some operating law, that would stop more than a limited, operating law, that would stop more than a limited, controlled number getting in. Authority would appear controlled number getting in. Authority would appear and stop it.and stop it.—King Solomon's Carpet, Barbara Vine (Ruth Rendell)
What Is Congestion?What Is Congestion? congestion occurs when the no of packets being congestion occurs when the no of packets being
transmitted through the network approaches the transmitted through the network approaches the packet handling capacity of the networkpacket handling capacity of the network
congestion control aims to keep no of packets congestion control aims to keep no of packets below a level at which performance falls off below a level at which performance falls off dramaticallydramatically
a data network is a network of queuesa data network is a network of queues generally 80% utilization is criticalgenerally 80% utilization is critical finite queues mean data may be lostfinite queues mean data may be lost
BackpressureBackpressure if node becomes congested it can slow down or if node becomes congested it can slow down or
halt flow of packets from other nodeshalt flow of packets from other nodes cf. backpressure in blocked fluid pipecf. backpressure in blocked fluid pipe may mean that other nodes have to apply control on may mean that other nodes have to apply control on
incoming packet ratesincoming packet rates propagates back to sourcepropagates back to source
can restrict to high traffic logical connectionscan restrict to high traffic logical connections used in connection oriented nets that allow hop used in connection oriented nets that allow hop
by hop congestion control (eg. X.25)by hop congestion control (eg. X.25) not used in ATM nor frame relaynot used in ATM nor frame relay only recently developed for IPonly recently developed for IP
Choke PacketChoke Packet a control packet a control packet
generated at congested nodegenerated at congested node sent to source nodesent to source node eg. ICMP source quencheg. ICMP source quench
• from router or destinationfrom router or destination• source cuts back until no more source quench messagesource cuts back until no more source quench message• sent for every discarded packet, or anticipatedsent for every discarded packet, or anticipated
is a rather crude mechanismis a rather crude mechanism
Implicit Congestion SignalingImplicit Congestion Signaling transmission delay increases with congestiontransmission delay increases with congestion hence a packet may be discardedhence a packet may be discarded source detects this implicit congestion indicationsource detects this implicit congestion indication useful on connectionless (datagram) networksuseful on connectionless (datagram) networks
eg. IP basedeg. IP based• (TCP includes congestion and flow control - see chapter 17)(TCP includes congestion and flow control - see chapter 17)
used in frame relay LAPFused in frame relay LAPF
Explicit Congestion SignalingExplicit Congestion Signaling network alerts end systems of increasing network alerts end systems of increasing
congestioncongestion end systems take steps to reduce offered loadend systems take steps to reduce offered load BackwardsBackwards
congestion avoidance notification in opposite direction congestion avoidance notification in opposite direction to packet requiredto packet required
ForwardsForwards congestion avoidance notification in same direction as congestion avoidance notification in same direction as
packet requiredpacket required
Explicit Signaling CategoriesExplicit Signaling Categories BinaryBinary
a bit set in a packet indicates congestiona bit set in a packet indicates congestion Credit basedCredit based
indicates how many packets source may sendindicates how many packets source may send common for end to end flow controlcommon for end to end flow control
Rate basedRate based supply explicit data rate limitsupply explicit data rate limit nodes along path may request rate reductionnodes along path may request rate reduction eg. ATMeg. ATM
Traffic ManagementTraffic Management fairnessfairness
provide equal treatment of various flowsprovide equal treatment of various flows quality of servicequality of service
different treatment for different connectionsdifferent treatment for different connections reservationsreservations
traffic contract between user and networktraffic contract between user and network carry best-effort or discard excess trafficcarry best-effort or discard excess traffic
Congestion Control in Packet Congestion Control in Packet Switched NetworksSwitched Networks
send control packet to some or all source send control packet to some or all source nodesnodes requires additional traffic during congestionrequires additional traffic during congestion
rely on routing informationrely on routing information may react too quicklymay react too quickly
end to end probe packetsend to end probe packets adds to overheadadds to overhead
add congestion info to packets in transitadd congestion info to packets in transit either backwards or forwardseither backwards or forwards
Frame Relay Frame Relay Congestion ControlCongestion Control
minimize discardsminimize discards maintain agreed QoSmaintain agreed QoS minimize probability of one end user monopolyminimize probability of one end user monopoly simple to implementsimple to implement create minimal additional trafficcreate minimal additional traffic distribute resources fairlydistribute resources fairly limit spread of congestionlimit spread of congestion operate effectively regardless of traffic flowoperate effectively regardless of traffic flow minimum impact on other systemsminimum impact on other systems minimize variance in QoSminimize variance in QoS
FR Control TechniquesFR Control Techniques difficult for frame-relaydifficult for frame-relay joint network & end-system responsibilityjoint network & end-system responsibility techniques:techniques:
discard strategydiscard strategy congestion avoidancecongestion avoidance explicit signalingexplicit signaling congestion recoverycongestion recovery implicit signaling mechanismimplicit signaling mechanism
Traffic Rate ManagementTraffic Rate Management must discard frames to cope with congestionmust discard frames to cope with congestion
arbitrarily, no regard for sourcearbitrarily, no regard for source no reward for restraint so end systems transmit as no reward for restraint so end systems transmit as
fast as possiblefast as possible Committed information rate (CIR)Committed information rate (CIR)
• data in excess of this liable to discarddata in excess of this liable to discard• not guaranteed in extreme congestion situationsnot guaranteed in extreme congestion situations• aggregate CIR should not exceed physical data rateaggregate CIR should not exceed physical data rate
Committed burst sizeCommitted burst size Excess burst sizeExcess burst size
Congestion Avoidance using Congestion Avoidance using Explicit SignalingExplicit Signaling
network alerts end systems of growing network alerts end systems of growing congestion usingcongestion using backward explicit congestion notificationbackward explicit congestion notification forward explicit congestion notificationforward explicit congestion notification
frame handler monitors its queuesframe handler monitors its queues may notify some or all logical connectionsmay notify some or all logical connections user response reduce rateuser response reduce rate
ATM Traffic ManagementATM Traffic Management high speed, small cell size, limited overhead bitshigh speed, small cell size, limited overhead bits still evolvingstill evolving reasons existing tools are inadequate for ATMreasons existing tools are inadequate for ATM
majority of traffic not amenable to flow controlmajority of traffic not amenable to flow control feedback slow due to reduced transmission time feedback slow due to reduced transmission time
compared with propagation delaycompared with propagation delay wide range of application demandswide range of application demands different traffic patternsdifferent traffic patterns different network servicesdifferent network services high speed switching and transmission increases high speed switching and transmission increases
volatilityvolatility
Latency/Speed EffectsLatency/Speed Effects consider ATM at 150Mbpsconsider ATM at 150Mbps takes ~2.8x10takes ~2.8x10-6-6 seconds to insert single cell seconds to insert single cell time to traverse network depends on propagation time to traverse network depends on propagation
delay and switching delaydelay and switching delay assume propagation at two-thirds speed of lightassume propagation at two-thirds speed of light if source and destination on opposite sides of USA, if source and destination on opposite sides of USA,
propagation time ~ 48x10propagation time ~ 48x10-3 -3 secondsseconds given implicit congestion control, by the time dropped given implicit congestion control, by the time dropped
cell notification has reached source, 7.2x10cell notification has reached source, 7.2x1066 bits have bits have been transmittedbeen transmitted
this is not a good strategy for ATMthis is not a good strategy for ATM
Cell Delay VariationCell Delay Variation for ATM voice/video, data is a stream of cellsfor ATM voice/video, data is a stream of cells delay across network must be shortdelay across network must be short rate of delivery must be constantrate of delivery must be constant there will always be some variation in transitthere will always be some variation in transit delay cell delivery to application so that constant delay cell delivery to application so that constant
bit rate can be maintained to applicationbit rate can be maintained to application
Network Contribution to Network Contribution to Cell Delay VariationCell Delay Variation
in packet switched networks is due to in packet switched networks is due to queuing delays and routing decision timequeuing delays and routing decision time
in Frame relay networks is similarin Frame relay networks is similar in ATM networksin ATM networks
less than frame relayless than frame relay ATM protocol designed to minimize ATM protocol designed to minimize
processing overheads at switchesprocessing overheads at switches ATM switches have very high throughputATM switches have very high throughput only noticeable delay is from congestiononly noticeable delay is from congestion must not accept load that causes congestionmust not accept load that causes congestion
Cell Delay Variation Cell Delay Variation At The UNIAt The UNI
application produces data at fixed rateapplication produces data at fixed rate 3 layers of ATM processing causes delay3 layers of ATM processing causes delay
interleaving cells from different connectionsinterleaving cells from different connections operation and maintenance cell interleavingoperation and maintenance cell interleaving if using synchronous digital hierarchy frames, if using synchronous digital hierarchy frames,
these are inserted at physical layerthese are inserted at physical layer cannot predict these delayscannot predict these delays
Traffic and Congestion Traffic and Congestion Control FrameworkControl Framework
ATM layer traffic and congestion control ATM layer traffic and congestion control should support QoS classes for all should support QoS classes for all foreseeable network servicesforeseeable network services
should not rely on AAL protocols that are should not rely on AAL protocols that are network specific, nor higher level network specific, nor higher level application specific protocolsapplication specific protocols
should minimize network and end to end should minimize network and end to end system complexitysystem complexity
Timings ConsideredTimings Considered timing intervals considered:timing intervals considered:
cell insertion timecell insertion time round trip propagation timeround trip propagation time connection durationconnection duration long termlong term
traffic control strategy then must:traffic control strategy then must: determine whether a given new connection can be determine whether a given new connection can be
accommodatedaccommodated agree performance parameters with subscriberagree performance parameters with subscriber
now review various control techniquesnow review various control techniques
Resource Management Using Resource Management Using Virtual PathsVirtual Paths
separate traffic flow according to service separate traffic flow according to service characteristics on a virtual pathcharacteristics on a virtual path user to user applicationuser to user application user to network applicationuser to network application network to network applicationnetwork to network application
QoS parameters concerned with are:QoS parameters concerned with are: cell loss ratiocell loss ratio cell transfer delaycell transfer delay cell delay variationcell delay variation
Allocating VCCs within VPCAllocating VCCs within VPC all VCCs within VPC should experience all VCCs within VPC should experience
similar network performancesimilar network performance options for allocation:options for allocation:
aggregate peak demandaggregate peak demand• set VPC capacity to total of all peak VCC ratesset VPC capacity to total of all peak VCC rates• will meet peak demands, but often underutilizedwill meet peak demands, but often underutilized
statistical multiplexingstatistical multiplexing• set VPC capacity to more than average VCC ratesset VPC capacity to more than average VCC rates• will see greater variation but better utilizationwill see greater variation but better utilization
Connection Admission Connection Admission ControlControl
first line of defensefirst line of defense user specifies traffic characteristics for new user specifies traffic characteristics for new
connection (VCC or VPC) by selecting a QoSconnection (VCC or VPC) by selecting a QoS network accepts connection only if it can meet network accepts connection only if it can meet
the demandthe demand traffic contracttraffic contract
peak cell ratepeak cell rate cell delay variationcell delay variation sustainable cell ratesustainable cell rate burst toleranceburst tolerance
Usage Parameter ControlUsage Parameter Control UPC function monitors a connection to UPC function monitors a connection to
ensure traffic obeys contractensure traffic obeys contract purpose is to protect network resources purpose is to protect network resources
from overload by one connectionfrom overload by one connection done on VCC and VPCdone on VCC and VPC peak cell rate and cell delay variationpeak cell rate and cell delay variation sustainable cell rate and burst tolerancesustainable cell rate and burst tolerance UPC discards cells outside traffic contractUPC discards cells outside traffic contract
Selective Call DiscardSelective Call Discard when network at point beyond UPC when network at point beyond UPC
discards (CLP=1) cellsdiscards (CLP=1) cells aim to discard lower-priority cells when aim to discard lower-priority cells when
congested to protect higher-priority cellscongested to protect higher-priority cells note. can’t distinguish between cells originally note. can’t distinguish between cells originally
labeled lower priority, verses those tagged by labeled lower priority, verses those tagged by UPC functionUPC function
Traffic ShapingTraffic Shaping UPC provides a form of traffic policingUPC provides a form of traffic policing can be desirable to also shape trafficcan be desirable to also shape traffic smoothing out traffic flow smoothing out traffic flow reducing cell clumpingreducing cell clumping token buckettoken bucket
GFR Traffic ManagementGFR Traffic Management guaranteed frame rate (GFR) as simple as UBR guaranteed frame rate (GFR) as simple as UBR
from end system viewpointfrom end system viewpoint places modest requirements on ATM networkplaces modest requirements on ATM network end system does no policing or shaping of trafficend system does no policing or shaping of traffic may transmit at line rate of ATM adaptormay transmit at line rate of ATM adaptor no guarantee of deliveryno guarantee of delivery
so higher layer (eg. TCP) must do congestion controlso higher layer (eg. TCP) must do congestion control user can reserve capacity for each VCuser can reserve capacity for each VC
ensures application can send at min rate with no lossensures application can send at min rate with no loss if no congestion, higher rates maybe usedif no congestion, higher rates maybe used
Frame RecognitionFrame Recognition GFR recognizes frames as well as cellsGFR recognizes frames as well as cells when congested, network discards whole frame when congested, network discards whole frame
rather than individual cellsrather than individual cells all cells of a frame have same CLP bit settingall cells of a frame have same CLP bit setting CLP=1 AAL5 frames lower priority (best effort)CLP=1 AAL5 frames lower priority (best effort) CLP=0 frames minimum guaranteed capacityCLP=0 frames minimum guaranteed capacity
GFR Contract ParametersGFR Contract Parameters Peak cell rate (PCR)Peak cell rate (PCR) Minimum cell rate (MCR)Minimum cell rate (MCR) Maximum burst size (MBS)Maximum burst size (MBS) Maximum frame size (MFS)Maximum frame size (MFS) Cell delay variation tolerance (CDVT)Cell delay variation tolerance (CDVT)
Components of GFR System Components of GFR System Supporting Rate GuaranteesSupporting Rate Guarantees
Tagging and PolicingTagging and Policing discriminates between frames that discriminates between frames that
conform to contract and those that don’tconform to contract and those that don’t set CLP=1 on all cells in frame if notset CLP=1 on all cells in frame if not
gives lower prioritygives lower priority maybe done by network or sourcemaybe done by network or source network may discard CLP=1 cellsnetwork may discard CLP=1 cells
policingpolicing
Buffer ManagementBuffer Management
deals with treatment of buffered cellsdeals with treatment of buffered cells congestion indicated by high buffer congestion indicated by high buffer
occupancyoccupancy will discard tagged cells in preference to will discard tagged cells in preference to
untagged cellsuntagged cells including ones already in buffer to make roomincluding ones already in buffer to make room
may do per VC buffering for fairnessmay do per VC buffering for fairness cell discard based on queue-specific cell discard based on queue-specific
thresholdsthresholds
SchedulingScheduling preferential treatment to untagged cellspreferential treatment to untagged cells separate queues for each VCseparate queues for each VC make per-VC scheduling decisionsmake per-VC scheduling decisions enables control of outgoing rate of VCsenables control of outgoing rate of VCs VCs get fair capacity allocationVCs get fair capacity allocation still meet contractstill meet contract
GFC Conformance DefinitionGFC Conformance Definition UPC function monitors each active VCUPC function monitors each active VC to ensure traffic conforms to contractto ensure traffic conforms to contract tag or discard nonconforming cellstag or discard nonconforming cells frame conforms if all cells conformframe conforms if all cells conform a cell conforms if:a cell conforms if:
rate of cells is within contractrate of cells is within contract all cells in frame have same CLPall cells in frame have same CLP frame satisfies MFS parameter frame satisfies MFS parameter
• check if either last cell in frame or cell count < MFScheck if either last cell in frame or cell count < MFS
QoS Eligibility TestQoS Eligibility Test two stage filtering processtwo stage filtering process a frame is tested for conformance to contracta frame is tested for conformance to contract
if not, may discard or tagif not, may discard or tag set upper bound & penalize cells above upper boundset upper bound & penalize cells above upper bound do expect attempt to deliver tagged cellsdo expect attempt to deliver tagged cells
determine frames eligible for QoS guaranteesdetermine frames eligible for QoS guarantees under GFR contract for VCunder GFR contract for VC set lower bound on trafficset lower bound on traffic frames in traffic flow below threshold are eligibleframes in traffic flow below threshold are eligible
GFR VC Frame CategoriesGFR VC Frame Categories nonconforming framenonconforming frame
cells of this frame will be tagged or discardedcells of this frame will be tagged or discarded conforming but ineligible framesconforming but ineligible frames
cells will receive a best-effort servicecells will receive a best-effort service conforming and eligible framesconforming and eligible frames
cells will receive a guarantee of delivery cells will receive a guarantee of delivery
form of cell rate algorithm is usedform of cell rate algorithm is used