congestion control 1. congestion control when one part of the subnet (e.g. one or more routers in an...

28
CONGESTION CONTROL 1

Upload: beverly-mcgee

Post on 21-Jan-2016

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CONGESTION CONTROL 1. Congestion Control When one part of the subnet (e.g. one or more routers in an area) becomes overloaded, congestion results. Because

CONGESTION CONTROL

1

Page 2: CONGESTION CONTROL 1. Congestion Control When one part of the subnet (e.g. one or more routers in an area) becomes overloaded, congestion results. Because

Congestion Control

• When one part of the subnet (e.g. one or more routers in an area) becomes overloaded, congestion results.

• Because routers are receiving packets faster than they can forward them, one of two things must happen: – The subnet must prevent additional packets from

entering the congested region until those already present can be processed.

– The congested routers can discard queued packets to make room for those that are arriving.

2

Page 3: CONGESTION CONTROL 1. Congestion Control When one part of the subnet (e.g. one or more routers in an area) becomes overloaded, congestion results. Because

Factors that Cause Congestion

• Packet arrival rate exceeds the outgoing link capacity.

• Insufficient memory to store arriving packets• Bursty traffic• Slow processor

3

Page 4: CONGESTION CONTROL 1. Congestion Control When one part of the subnet (e.g. one or more routers in an area) becomes overloaded, congestion results. Because

Congestion Control, cont.

• Congestion Control is concerned with efficiently using a network at high load.

• Several techniques can be employed. These include:– Warning bit– Choke packets– Load shedding– Random early discard– Traffic shaping

• The first 3 deal with congestion detection and recovery. The last 2 deal with congestion avoidance.

4

Page 5: CONGESTION CONTROL 1. Congestion Control When one part of the subnet (e.g. one or more routers in an area) becomes overloaded, congestion results. Because

Warning Bit

• A special bit in the packet header is set by the router to warn the source when congestion is detected.

• The bit is copied and piggy-backed on the ACK and sent to the sender.

• The sender monitors the number of ACK packets it receives with the warning bit set and adjusts its transmission rate accordingly.

5

Page 6: CONGESTION CONTROL 1. Congestion Control When one part of the subnet (e.g. one or more routers in an area) becomes overloaded, congestion results. Because

Choke Packets

• A choke packet is a control packet generated at a congested node and transmitted to restrict traffic flow.

• The source, on receiving the choke packet must reduce its transmission rate by a certain percentage.

6

Page 7: CONGESTION CONTROL 1. Congestion Control When one part of the subnet (e.g. one or more routers in an area) becomes overloaded, congestion results. Because

Choke Packets

7

5

7

21 3

46

Heavyflow

Choke

Choke

ChokeReducedflow

Flow is reduced.

Page 8: CONGESTION CONTROL 1. Congestion Control When one part of the subnet (e.g. one or more routers in an area) becomes overloaded, congestion results. Because

Hop-by-Hop Choke Packets

• Over long distances or at high speeds choke packets are not very effective.

• A more efficient method is to send to choke packets hop-by-hop.

• This requires each hop to reduce its transmission even before the choke packet arrive at the source.

8

Page 9: CONGESTION CONTROL 1. Congestion Control When one part of the subnet (e.g. one or more routers in an area) becomes overloaded, congestion results. Because

Hop-by-Hop Choke Packets

9

5

21 3

4

Heavyflow

Choke

Choke

Choke

Reduc

ed

flow

Flow is reduced.

To provide quickrelief at the pointof congestion atthe price of usingup more buffersupstream.

Page 10: CONGESTION CONTROL 1. Congestion Control When one part of the subnet (e.g. one or more routers in an area) becomes overloaded, congestion results. Because

Load Shedding

• When buffers become full, routers simply discard packets.

• For a file transfer, for, e.g. cannot discard older packets since this will cause a gap in the received data.

• For real-time voice or video it is probably better to throw away old data and keep new packets.

• Get the application to mark packets with discard priority.

10

Page 11: CONGESTION CONTROL 1. Congestion Control When one part of the subnet (e.g. one or more routers in an area) becomes overloaded, congestion results. Because

Random Early Discard (RED)• This is a proactive approach in which the

router discards one or more packets before the buffer becomes completely full.

• Each time a packet arrives, the RED algorithm computes the average queue length, avg.

• If avg is lower than some lower threshold, congestion is assumed to be minimal or non-existent and the packet is queued.

11

Page 12: CONGESTION CONTROL 1. Congestion Control When one part of the subnet (e.g. one or more routers in an area) becomes overloaded, congestion results. Because

RED, cont.

• If avg is greater than some upper threshold, congestion is assumed to be serious and the packet is discarded.

• If avg is between the two thresholds, this might indicate the onset of congestion. The probability of congestion is then calculated.

12

Page 13: CONGESTION CONTROL 1. Congestion Control When one part of the subnet (e.g. one or more routers in an area) becomes overloaded, congestion results. Because

Traffic Shaping• Another method of congestion control is to

“shape” the traffic before it enters the network.

• Traffic shaping controls the rate at which packets are sent (not just how many). Used in Integrated Services networks.

• At connection set-up time, the sender and carrier negotiate a traffic pattern (shape).

• Two traffic shaping algorithms are:– Leaky Bucket– Token Bucket

13

Page 14: CONGESTION CONTROL 1. Congestion Control When one part of the subnet (e.g. one or more routers in an area) becomes overloaded, congestion results. Because

The Leaky Bucket Algorithm

• The Leaky Bucket Algorithm used to control rate in a network. It is implemented as a single-server queue with constant service time. If the bucket (buffer) overflows then packets are discarded.

14

Page 15: CONGESTION CONTROL 1. Congestion Control When one part of the subnet (e.g. one or more routers in an area) becomes overloaded, congestion results. Because

LeakyBucket

15

Page 16: CONGESTION CONTROL 1. Congestion Control When one part of the subnet (e.g. one or more routers in an area) becomes overloaded, congestion results. Because

The Leaky Bucket Algorithm

(a) A leaky bucket with water. (b) a leaky bucket with packets.

16

Page 17: CONGESTION CONTROL 1. Congestion Control When one part of the subnet (e.g. one or more routers in an area) becomes overloaded, congestion results. Because

Flowchart for LeakyBucket Algorithm

17

Page 18: CONGESTION CONTROL 1. Congestion Control When one part of the subnet (e.g. one or more routers in an area) becomes overloaded, congestion results. Because

Token Bucket Algorithm

In contrast to the LB, the Token Bucket Algorithm, allows the output rate to vary, depending on the size of the burst.

In the TB algorithm, the bucket holds tokens. To transmit a packet, the host must capture and destroy one token.

Tokens are generated by a clock at the rate of one token every t sec.

Idle hosts can capture and save up tokens (up to the max. size of the bucket) in order to send larger bursts later.

18

Page 19: CONGESTION CONTROL 1. Congestion Control When one part of the subnet (e.g. one or more routers in an area) becomes overloaded, congestion results. Because

The Token Bucket Algorithm

(a) Before. (b) After. 19

5-34

Page 20: CONGESTION CONTROL 1. Congestion Control When one part of the subnet (e.g. one or more routers in an area) becomes overloaded, congestion results. Because

Token bucket

20

Page 21: CONGESTION CONTROL 1. Congestion Control When one part of the subnet (e.g. one or more routers in an area) becomes overloaded, congestion results. Because

Leaky Bucket vs Token Bucket• LB discards packets; TB does not. TB

discards tokens.• With TB, a packet can only be transmitted if

there are enough tokens to cover its length in bytes.

• LB sends packets at an average rate. TB allows for large bursts to be sent faster by speeding up the output.

• TB allows saving up tokens (permissions) to send large bursts. LB does not allow saving.

21

Page 22: CONGESTION CONTROL 1. Congestion Control When one part of the subnet (e.g. one or more routers in an area) becomes overloaded, congestion results. Because

Types of Fragmentation

• (a) Transparent fragmentation. (b) Nontransparent fragmentation.

22

Transparent Fragmentation

Non-Transparent Fragmentation

Page 23: CONGESTION CONTROL 1. Congestion Control When one part of the subnet (e.g. one or more routers in an area) becomes overloaded, congestion results. Because

Elementary Fragmentation

N um ber o f the first e lem entary fragm ent in th is packet

P acketnum ber

E nd o fpacket b it

27 0 1 A B C D E F G H I J

27 0 0 A B C D E F G H 27 8 1 I J

27 0 0 A B C D E 27 5 0 F G H 27 8 1 I J

H eader

1 byte

H eader H eader

H eader H eader H eader

(a)

(b )

(c)

Page 24: CONGESTION CONTROL 1. Congestion Control When one part of the subnet (e.g. one or more routers in an area) becomes overloaded, congestion results. Because

Internetworking Devices

• Layer 1: Repeater or Amplifier– To amplify or regenerate signals

• Layer 2: (Multi-protocol) Bridge– Store-and-forward device– Headers at layer 2 are translated if necessary.

• Layer 3: (Multi-protocol) Router– Headers at layer 3 (and layer 2) are translated if

necessary.• Layer 4~7: Transport/Application Gateway

24

Page 25: CONGESTION CONTROL 1. Congestion Control When one part of the subnet (e.g. one or more routers in an area) becomes overloaded, congestion results. Because

Devices on the Market

• Repeater, Hub• Bridge• (Multi-protocol) Router, Layer 3 Switch• Layer 4 Switch• Gateway with interfaces of distinct layer

protocols• Bridge/Router (or called B-Router)

25

Page 26: CONGESTION CONTROL 1. Congestion Control When one part of the subnet (e.g. one or more routers in an area) becomes overloaded, congestion results. Because

How Networks Differ

• Service offered– Connection-oriented versus Connectionless

• Protocol– IP, IPX, CLNP, AppleTalk, DECnet, etc.

• Addressing– Flat (802) versus hierarchical (IP, PDN, PSTN, ISDN,

etc.)• Multicasting/Broadcasting– Present or absent

26

Page 27: CONGESTION CONTROL 1. Congestion Control When one part of the subnet (e.g. one or more routers in an area) becomes overloaded, congestion results. Because

How Networks Differ (Cont.)

• Packet size– Every network has its own maximum

• Quality of service– Present or absent

• Error handling– Reliable, ordered, and unordered delivery

• Flow control– Sliding window, rate control, others, or none

27

Page 28: CONGESTION CONTROL 1. Congestion Control When one part of the subnet (e.g. one or more routers in an area) becomes overloaded, congestion results. Because

How Networks Differ (Cont.)

• Congestion control– Leaky bucket, choke packets, etc.

• Security– Privacy rules, encryption, etc.

• Parameters– Different timeouts, flow specifications, etc.

• Accounting– By connection time, by packet, by byte, or not at all

28