congestionin datanetworks

49
Data and Computer Data and Computer Communications Communications Eighth Edition Eighth Edition by William Stallings by William Stallings Lecture slides by Lawrie Lecture slides by Lawrie Brown Brown Chapter 13 – Congestion in Chapter 13 – Congestion in Data Networks Data Networks

Upload: srinivasa-rao

Post on 15-Apr-2017

23 views

Category:

Engineering


0 download

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

Queues at a NodeQueues at a Node

Interaction of QueuesInteraction of Queues

Ideal Ideal NetworkNetwork

UtilizationUtilization

Effects of Effects of Congestion Congestion

--No ControlNo Control

Mechanisms for Mechanisms for Congestion ControlCongestion Control

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

Operation of CIROperation of CIR

Relationship Relationship

Among Among Congestion Congestion ParametersParameters

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

Timing of CBR CellsTiming of CBR Cells

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

Origins of Cell Delay VariationOrigins of Cell Delay Variation

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

Configuration of Configuration of VCCs and VPCsVCCs and VPCs

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

Token BucketToken Bucket for for Traffic ShapingTraffic Shaping

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

SummarySummary congestion effectscongestion effects congestion controlcongestion control traffic managementtraffic management frame relay congestion controlframe relay congestion control ATM congestion controlATM congestion control