ATM : CONGESTION CONTROL

50
ATM : CONGESTION ATM : CONGESTION CONTROL CONTROL Group 7 29 DECEMBER 2004

description

ATM : CONGESTION CONTROL. Group 7 29 DECEMBER 2004. ZAILINA AI’SHAH ZAINAL BAHREN WET 020199 -------------------------------------------------- - INTRODUCTION -. How ATM works. ATM network uses fixed-length cells to transmit information. - PowerPoint PPT Presentation

Transcript of ATM : CONGESTION CONTROL

Page 1: ATM : CONGESTION CONTROL

ATM : CONGESTION ATM : CONGESTION CONTROLCONTROL

Group 7

29 DECEMBER 2004

Page 2: ATM : CONGESTION CONTROL

ZAILINA AI’SHAH ZAINAL BAHRENZAILINA AI’SHAH ZAINAL BAHREN

WET 020199WET 020199

----------------------------------------------------------------------------------------------------

- INTRODUCTION -- INTRODUCTION -

Page 3: ATM : CONGESTION CONTROL

How ATM worksHow ATM works

1.1. ATM network uses fixed-length cells ATM network uses fixed-length cells to transmit information. to transmit information.

– The cell consists of 48 bytes The cell consists of 48 bytes of payload and 5 bytes of header (to of payload and 5 bytes of header (to reduce delay variance). reduce delay variance).

– The flexibility needed to The flexibility needed to support variable transmission rates is support variable transmission rates is provided by transmitting the necessary provided by transmitting the necessary number of cells per unit time number of cells per unit time

Page 4: ATM : CONGESTION CONTROL

2. ATM network is connection-oriented.2. ATM network is connection-oriented.• It sets up virtual channel connection It sets up virtual channel connection

(VCC) going through one or more virtual (VCC) going through one or more virtual paths (VP) and virtual channels (VC) before paths (VP) and virtual channels (VC) before transmitting information. transmitting information.

• The cells is switched according to the VP or The cells is switched according to the VP or VC identifier (VPI/VCI) value in the cell head, VC identifier (VPI/VCI) value in the cell head, which is originally set at the connection which is originally set at the connection setup and is translated into new VPI/VCI setup and is translated into new VPI/VCI value while the cell passes each switch. value while the cell passes each switch.

Page 5: ATM : CONGESTION CONTROL

3. ATM resources such as bandwidth 3. ATM resources such as bandwidth and buffers are shared among users, and buffers are shared among users, they are allocated to the user only they are allocated to the user only when they have something to when they have something to transmit. So the network uses transmit. So the network uses statistical multiplexing to improve statistical multiplexing to improve the effective throughput. the effective throughput.

Page 6: ATM : CONGESTION CONTROL

Why ATM is important?Why ATM is important?

1. Provides guaranteed Quality of Service 1. Provides guaranteed Quality of Service servicesservices

2. Uses telephone technology2. Uses telephone technology

3. Provides for more robust transmission of3. Provides for more robust transmission of

information information

4. Permits us to combine different types of traffic4. Permits us to combine different types of traffic

over high capacity linksover high capacity links

5. Provides more reliable & cost effective 5. Provides more reliable & cost effective

transmission of informationtransmission of information

Page 7: ATM : CONGESTION CONTROL

What Is Congestion Control?What Is Congestion Control?

- Plays an important role in the effective traffic - Plays an important role in the effective traffic management of ATM networksmanagement of ATM networks

- A state of network elements in which the - A state of network elements in which the network can not assure the negotiated network can not assure the negotiated Quality of Service (QoS) to already existing Quality of Service (QoS) to already existing connections and to new connection requests. connections and to new connection requests.

- May happen because of unpredictable - May happen because of unpredictable statistical fluctuations of traffic flows or a statistical fluctuations of traffic flows or a network failure. network failure.

Page 8: ATM : CONGESTION CONTROL

Why Need Congestion Why Need Congestion Control?Control? The assumption that statistical multiplexing can The assumption that statistical multiplexing can

be used to improve the link utilization is that the be used to improve the link utilization is that the users do not take their peak rate values users do not take their peak rate values simultaneously. simultaneously.

But since the traffic demands cannot be predicted, But since the traffic demands cannot be predicted, congestion is unavoidable. congestion is unavoidable.

Whenever the total input rate is greater than the Whenever the total input rate is greater than the output link capacity, congestion happens. output link capacity, congestion happens.

Under a congestion situation, the queue length may Under a congestion situation, the queue length may become very large in a short time, resulting in become very large in a short time, resulting in buffer overflow and cell loss. buffer overflow and cell loss.

So congestion control is necessary to ensure that So congestion control is necessary to ensure that users get the negotiated QoS. users get the negotiated QoS.

Page 9: ATM : CONGESTION CONTROL

SITI NUR ASLINDA MOHAMAD AYOBSITI NUR ASLINDA MOHAMAD AYOB

WET 020162WET 020162

------------------------------------------------------------------------------------------

- TYPES OF CONGESTION CONTROL - TYPES OF CONGESTION CONTROL --

Page 10: ATM : CONGESTION CONTROL

Types of Congestion ControlTypes of Congestion Control

• There are two fundamental approaches to There are two fundamental approaches to congestion control: congestion control: reactivereactive approaches and approaches and preventivepreventive approachesapproaches

• Reactive: Reactive: feedback-basedfeedback-based– Attempt to detect congestion, or the onset Attempt to detect congestion, or the onset

of congestion, and take action to resolve of congestion, and take action to resolve the problem before things get worsethe problem before things get worse

– The hosts and routers respond to The hosts and routers respond to congestion congestion AFTERAFTER it occurs and then it occurs and then attempt to stop itattempt to stop it

Page 11: ATM : CONGESTION CONTROL

• Preventive: Preventive: reservation-basedreservation-based– Prevent congestion from ever happening Prevent congestion from ever happening

in the first place, by reserving resourcesin the first place, by reserving resources– The hosts and routers attempt to prevent The hosts and routers attempt to prevent

congestion congestion BEFOREBEFORE it can occur it can occur

Most ATM congestion control Most ATM congestion control strategies are strategies are preventive (reservation-preventive (reservation-based)based)

Page 12: ATM : CONGESTION CONTROL

Preventive and Reactive Preventive and Reactive ControlControl• Preventive Techniques:Preventive Techniques:

- - Leaky bucket & Token bucketLeaky bucket & Token bucket- Resource reservation- Resource reservation- Isarithmic control- Isarithmic control

• Reactive Techniques:Reactive Techniques:- Load shedding- Load shedding- Choke packets- Choke packets

The most popular one is The most popular one is leaky bucketleaky bucket schemescheme

Page 13: ATM : CONGESTION CONTROL

Leaky Bucket AlgorithmsLeaky Bucket Algorithms

• Each network interface contains a Each network interface contains a leaky leaky bucketbucket..

• When the host has to send a packet, the When the host has to send a packet, the packet is thrown into the bucket.packet is thrown into the bucket.

• The bucket leaks at a constant rate, meaning The bucket leaks at a constant rate, meaning the network interface transmits packets at a the network interface transmits packets at a constant rate.constant rate.

• Bursty traffic is converted to a uniform traffic Bursty traffic is converted to a uniform traffic by the leaky bucket.by the leaky bucket.

• In practice the bucket is a finite queue that In practice the bucket is a finite queue that outputs at a finite rate.outputs at a finite rate.

• The bucket has a finite buffer, danger of The bucket has a finite buffer, danger of overflow!overflow!

Page 14: ATM : CONGESTION CONTROL

Leaky Bucket (Cont)Leaky Bucket (Cont)

networks

Host computer

Packet

Unregulated flow

The bucket

holds packets

Regulated flow

Interface containing leaky bucket

Faucet

Leaky bucket

Water

Water drips out of the hole at a constant rate

Page 15: ATM : CONGESTION CONTROL

Leaky Bucket (Cont)Leaky Bucket (Cont)

• Data output at constant rateData output at constant rate

• If bucket overflows, input data If bucket overflows, input data discardeddiscarded

• Suitable for multimedia such as TV, Suitable for multimedia such as TV, audioaudio

• Problem: Bursty traffic (computer Problem: Bursty traffic (computer data)data)

Page 16: ATM : CONGESTION CONTROL

Token Bucket AlgorithmsToken Bucket Algorithms

• In regular intervals tokens are In regular intervals tokens are thrown into the bucket.thrown into the bucket.

• The bucket has a maximum capacity.The bucket has a maximum capacity.• If there is a ready packet, a token is If there is a ready packet, a token is

removed from the bucket, and the removed from the bucket, and the packet is sent.packet is sent.

• If there is no token in the bucket, the If there is no token in the bucket, the packet cannot be send.packet cannot be send.

Page 17: ATM : CONGESTION CONTROL

networks

networks

Host computer

The bucket holds token

One token is added to the bucket every T

Page 18: ATM : CONGESTION CONTROL

Token Bucket (Cont)Token Bucket (Cont)

Incoming Packets

Incoming Tokens

+ ToNetwork

12345

Page 19: ATM : CONGESTION CONTROL

Token Bucket (Cont)Token Bucket (Cont)

Incoming Packets

Incoming Tokens

+ ToNetwork12345

Page 20: ATM : CONGESTION CONTROL

Token Bucket (Cont)Token Bucket (Cont)

Incoming Packets

Incoming Tokens

+ ToNetwork12345

Page 21: ATM : CONGESTION CONTROL

Token Bucket (Cont)Token Bucket (Cont)

Incoming Packets

Incoming Tokens

+ ToNetwork12345

Page 22: ATM : CONGESTION CONTROL

Token Bucket (Cont)Token Bucket (Cont)

Incoming Packets

Incoming Tokens

+ ToNetworkX

12345

Page 23: ATM : CONGESTION CONTROL

Token Bucket (Cont)Token Bucket (Cont)

Incoming Packets

Incoming Tokens

+ ToNetworkXX

12345

Page 24: ATM : CONGESTION CONTROL

Token Bucket (Cont)Token Bucket (Cont)

• Tokens go into bucket at constant Tokens go into bucket at constant raterate

• Each packet must consume one Each packet must consume one tokentoken

• Packets not discarded if bucket fullPackets not discarded if bucket full

Page 25: ATM : CONGESTION CONTROL

Leaky Bucket vs Token BucketLeaky Bucket vs Token BucketLeaky Bucket (LB)Leaky Bucket (LB) discards packets.discards packets.

Token Bucket (TB)Token Bucket (TB) discards tokens.discards tokens.

With With LBLB, a packet can , a packet can be transmitted if the be transmitted if the bucket is not full.bucket is not full.

With With TBTB, a packet can , a packet can only be transmitted if only be transmitted if there are enough there are enough tokens to cover its tokens to cover its length in bytes.length in bytes.

LBLB sends the packets sends the packets at an average rate.at an average rate.

TBTB allows for large allows for large bursts to be sent faster bursts to be sent faster by speeding up the by speeding up the output.output.

LBLB does not allow does not allow saving, a constant rate saving, a constant rate is maintainedis maintained

TBTB allows saving up allows saving up tokens (permissions) to tokens (permissions) to send large bursts.send large bursts.

Page 26: ATM : CONGESTION CONTROL

NORBAITY HARIANI MUHAMMADNORBAITY HARIANI MUHAMMAD

WET 020115WET 020115

------------------------------------------------------------------------------------

- CAUSES & EFFECTS -- CAUSES & EFFECTS -

Page 27: ATM : CONGESTION CONTROL

Causes of CongestionCauses of Congestion

1.1. Exhaustion of buffer spaceExhaustion of buffer space

2.2. DeadlockDeadlock

Page 28: ATM : CONGESTION CONTROL

1.1. Exhaustion of Buffer Exhaustion of Buffer SpaceSpace

Routers maintain packet queuesRouters maintain packet queues

Buffers fill up if:Buffers fill up if: Routers are too slow, ORRouters are too slow, OR Combined input traffic rate exceeds the Combined input traffic rate exceeds the

outgoing outgoing

traffic ratetraffic rate

Insufficient buffer space leads to Insufficient buffer space leads to congestioncongestion

Page 29: ATM : CONGESTION CONTROL

Exhaustion of Buffer Space Exhaustion of Buffer Space (Cont’d)(Cont’d)

50 Mbps

50 Mbps

50 Mbps

50 Mbps

Router

Buffer

Page 30: ATM : CONGESTION CONTROL

2.2. DeadlockDeadlock

The first router cannot proceed until the The first router cannot proceed until the

second router does something, and the second router does something, and the

second router cannot proceed until the first second router cannot proceed until the first

router does somethingrouter does something

Both routers come to a completely halt and Both routers come to a completely halt and

stay that way foreverstay that way forever

Page 31: ATM : CONGESTION CONTROL

Types of DeadlockTypes of Deadlock

1.1. Store and Forward LockupStore and Forward Lockup Direct Store and Forward LockupDirect Store and Forward Lockup Indirect Store and Forward LockupIndirect Store and Forward Lockup

2.2. Reassembly LockupReassembly Lockup

Page 32: ATM : CONGESTION CONTROL

Effects of CongestionEffects of Congestion

Performance of DegradationPerformance of Degradation Multiple packet lossMultiple packet loss

Low link utilization (low Low link utilization (low throughput)throughput)

High queuing delayHigh queuing delay

Congestion collapseCongestion collapse

Page 33: ATM : CONGESTION CONTROL

SITI NORHAMNIDA KAMARUZAMANSITI NORHAMNIDA KAMARUZAMAN

WET 020160WET 020160

----------------------------------------------------------------------------------------

- FUNCTIONS & PROCEDURES -- FUNCTIONS & PROCEDURES -

Page 34: ATM : CONGESTION CONTROL

• To meet the objectives of traffic control and To meet the objectives of traffic control and congestion control in ATM networks, several congestion control in ATM networks, several functions and procedures are suggested by functions and procedures are suggested by the ATM Forum Technical Committee.the ATM Forum Technical Committee.

• There are:-There are:-

1.1. Connection Admission Control (CAC)Connection Admission Control (CAC)

2.2. Usage Parameter Control (UPC)Usage Parameter Control (UPC)

3.3. Priority ControlPriority Control

4.4. Traffic ShapingTraffic Shaping

5.5. Network Resource Management (NRM)Network Resource Management (NRM)

6.6. Frame DiscardFrame Discard

7.7. Feedback ControlFeedback Control

Page 35: ATM : CONGESTION CONTROL

1.1. Connection Admission Connection Admission Control (CAC)Control (CAC)

• CAC is defined as the set of actions CAC is defined as the set of actions taken by the network during the call taken by the network during the call set-up phase in order to determine set-up phase in order to determine whether a connection request can be whether a connection request can be accepted or should be rejected.accepted or should be rejected.

Page 36: ATM : CONGESTION CONTROL

2.2. Usage Parameter Usage Parameter Control (UPC)Control (UPC)

• UPC is defined as the set of actions UPC is defined as the set of actions taken by the network to monitor and taken by the network to monitor and control traffic at the end-system control traffic at the end-system access. access.

Page 37: ATM : CONGESTION CONTROL

3.3. Priority ControlPriority Control

• The end-system may generate traffic The end-system may generate traffic flows of different priority using the Cell flows of different priority using the Cell Loss Priority (CLP) bit. Loss Priority (CLP) bit.

• The network may selectively discard The network may selectively discard cells with low priority if necessary cells with low priority if necessary such as in congestion to protect, as far such as in congestion to protect, as far as possible, the network performance as possible, the network performance for cells with high priority.for cells with high priority.

Page 38: ATM : CONGESTION CONTROL

4.4. Traffic ShapingTraffic Shaping

• Traffic shaping is a mechanism that Traffic shaping is a mechanism that alters the traffic characteristics of a alters the traffic characteristics of a stream of cells on a connection to stream of cells on a connection to achieve better network efficiency achieve better network efficiency while meeting the QoS objectives, or while meeting the QoS objectives, or to ensure conformance at a to ensure conformance at a subsequent interface.subsequent interface.

Page 39: ATM : CONGESTION CONTROL

5.5. Network Resource Network Resource Management (NRM)Management (NRM)

• NRM is responsible for the allocation NRM is responsible for the allocation of network resources in order to of network resources in order to separate traffic flows according to separate traffic flows according to different service characteristics, to different service characteristics, to maintain network performance and to maintain network performance and to optimize resource utilization. optimize resource utilization.

• This function is mainly concerned This function is mainly concerned with the management of virtual paths with the management of virtual paths in order to meet QoS requirements.in order to meet QoS requirements.

Page 40: ATM : CONGESTION CONTROL

6.6. Frame DiscardFrame Discard

• If a congested network needs to discard If a congested network needs to discard cells, it may be better to drop all cells of cells, it may be better to drop all cells of one frame than to randomly drop cells one frame than to randomly drop cells belonging to different frames, because one belonging to different frames, because one cell loss may cause the retransmission of cell loss may cause the retransmission of the whole frame, which may cause more the whole frame, which may cause more traffic when congestion already happened. traffic when congestion already happened.

Page 41: ATM : CONGESTION CONTROL

7.7. Feedback ControlFeedback Control

• Are defined as the set of actions Are defined as the set of actions taken by the network and by the taken by the network and by the end-systems to regulate the traffic end-systems to regulate the traffic submitted on ATM connections submitted on ATM connections according to the state of network according to the state of network elements.elements.

Page 42: ATM : CONGESTION CONTROL

WAN NORFAZLINA WAN MUSTAFFA WAN NORFAZLINA WAN MUSTAFFA KAMALKAMAL

WET 020189WET 020189

----------------------------------------------------------------------------------------------------------

- CRITERIA & SUMMARY -- CRITERIA & SUMMARY -

Page 43: ATM : CONGESTION CONTROL

What is expected from What is expected from Congestion Control??Congestion Control??

• The objectives of traffic control and The objectives of traffic control and congestion control for ATM are: congestion control for ATM are:

Support a set of QoS (Quality of Support a set of QoS (Quality of Service) parameters and classes for Service) parameters and classes for all ATM services and minimize all ATM services and minimize network and end-system complexity network and end-system complexity while maximizing network utilizationwhile maximizing network utilization

Page 44: ATM : CONGESTION CONTROL

Selection CriteriaSelection Criteria

• To design a congestion control To design a congestion control scheme is appropriate for ATM scheme is appropriate for ATM network and non-ATM networks as network and non-ATM networks as well, the following guidances are of well, the following guidances are of general interest general interest

Page 45: ATM : CONGESTION CONTROL

1. Scalability1. Scalability

• The scheme should not be limited The scheme should not be limited to a particular range of speed, to a particular range of speed, distance, number of switches or distance, number of switches or number of virtual channel (VCs). number of virtual channel (VCs). The scheme should be applicable The scheme should be applicable for both Local Area Network (LAN) for both Local Area Network (LAN) and Wide Area Networks (WAN)and Wide Area Networks (WAN)

Page 46: ATM : CONGESTION CONTROL

2. Fairness2. Fairness

• In shared environment, the In shared environment, the throughput for a source depends throughput for a source depends upon the demands by the other upon the demands by the other sources.sources.

Page 47: ATM : CONGESTION CONTROL

3. Robustness3. Robustness

• The scheme should be insensitive The scheme should be insensitive to minor deviations such as slight to minor deviations such as slight mistuning of parameters or loss of mistuning of parameters or loss of control messages. It should also control messages. It should also isolate misbehaving users and isolate misbehaving users and protect other users from themprotect other users from them

Page 48: ATM : CONGESTION CONTROL

4. Implement ability4. Implement ability

• The scheme should not dictate a The scheme should not dictate a particular switch architecture. It particular switch architecture. It also should not be too complex both also should not be too complex both in term of time or space it usesin term of time or space it uses

Page 49: ATM : CONGESTION CONTROL

SummarySummary • Congestion control is important in high Congestion control is important in high

speed networks. Due to larger speed networks. Due to larger bandwidth-distance product, the amount bandwidth-distance product, the amount of data lost due to simultaneous arrivals of data lost due to simultaneous arrivals of bursts from multiple sources can be of bursts from multiple sources can be larger. larger.

• For the success of ATM, it is important For the success of ATM, it is important that it provides a good traffic that it provides a good traffic management by using congestion management by using congestion control.control.

Page 50: ATM : CONGESTION CONTROL

• To solve congestion control is by using To solve congestion control is by using the the preventivepreventive and and reactivereactive techniques techniques

• PreventivePreventive- The hosts & routers attempt to - The hosts & routers attempt to prevent prevent congestion BEFORE it can congestion BEFORE it can occuroccur

• ReactiveReactive- The host & routers responds to - The host & routers responds to congestion AFTER it occurs & then congestion AFTER it occurs & then attempt to stop itattempt to stop it