46
ETSF10 Part 2 Lect 2 Performance, UDP, TCP, Congestion Control (TCP), QoS Performance, UDP, TCP, Congestion Control (TCP), QoS Jens A Andersson Electrical and Information Electrical and Information Technology

ETSF10 Part 2 Lect 2 - Lunds tekniska högskola

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: ETSF10 Part 2 Lect 2 - Lunds tekniska högskola

ETSF10 Part 2 Lect 2

Performance, UDP, TCP, Congestion Control (TCP), QoSPerformance, UDP, TCP, Congestion Control (TCP), QoS

Jens A AnderssonElectrical and InformationElectrical and Information

Technology

Page 2: ETSF10 Part 2 Lect 2 - Lunds tekniska högskola

Bandwitdh-Delay Product

• How much data fills the link• Important for example in congestionImportant for example in congestion

avoidanceDelay = Round Trip Time (RTT)– Delay = Round Trip Time (RTT)

– Go-Back-N can send more bits per RTT

Page 3: ETSF10 Part 2 Lect 2 - Lunds tekniska högskola

Figure 23.6 Multiplexing and demultiplexing

23.3

Page 4: ETSF10 Part 2 Lect 2 - Lunds tekniska högskola

Figure 23.7 Error control

23.4

Page 5: ETSF10 Part 2 Lect 2 - Lunds tekniska högskola

Today

• TCP• Congestion Control in TCPCongestion Control in TCP• Quality of Service (QoS)

Page 6: ETSF10 Part 2 Lect 2 - Lunds tekniska högskola

Figure 23.16 TCP segment format

23.6

Page 7: ETSF10 Part 2 Lect 2 - Lunds tekniska högskola

Figure 23.13 Stream delivery

23.7

Page 8: ETSF10 Part 2 Lect 2 - Lunds tekniska högskola

Figure 23.14 Sending and receiving buffers

23.8

Page 9: ETSF10 Part 2 Lect 2 - Lunds tekniska högskola

Figure 23.15 TCP segments

23.9

Page 10: ETSF10 Part 2 Lect 2 - Lunds tekniska högskola

Example 23.3

The following shows the sequence number for eachsegment:segment:

23.10

Page 11: ETSF10 Part 2 Lect 2 - Lunds tekniska högskola

Figure 23.17 Control field

23.11

Page 12: ETSF10 Part 2 Lect 2 - Lunds tekniska högskola

Figure 23.18 Connection establishment using three-way handshaking

23.12

Page 13: ETSF10 Part 2 Lect 2 - Lunds tekniska högskola

Figure 23.19 Data transfer

23.13

Page 14: ETSF10 Part 2 Lect 2 - Lunds tekniska högskola

Figure 23.20 Connection termination using three-way handshaking

23.14

Page 15: ETSF10 Part 2 Lect 2 - Lunds tekniska högskola

Figure 23.21 Half-close

23.15

Page 16: ETSF10 Part 2 Lect 2 - Lunds tekniska högskola

Flow control

• Sliding window• Byte orientedByte oriented

– Send chunks of bytes in segmentImplemented as pointers into a memor• Implemented as pointers into a memory buffer

Page 17: ETSF10 Part 2 Lect 2 - Lunds tekniska högskola

Figure 23.22 Sliding window

23.17

Page 18: ETSF10 Part 2 Lect 2 - Lunds tekniska högskola

Figure 23.23 Example 23.6

23.18

Page 19: ETSF10 Part 2 Lect 2 - Lunds tekniska högskola

Error control

• ACK recieved data• Go-Back-N ARQGo Back N ARQ

– Resend from lost segment or errorEven segments after error/lost that are correct– Even segments after error/lost that are correct

• Retransmission timer!dj d di– Adjusted according to RTT

– Or three duplicate ACKs (fast retransmission)

Page 20: ETSF10 Part 2 Lect 2 - Lunds tekniska högskola

Figure 23.24 Normal operation

23.20

Page 21: ETSF10 Part 2 Lect 2 - Lunds tekniska högskola

Figure 23.25 Lost segment

23.21

Page 22: ETSF10 Part 2 Lect 2 - Lunds tekniska högskola

Figure 23.26 Fast retransmission

23.22

Page 23: ETSF10 Part 2 Lect 2 - Lunds tekniska högskola

Congestion Control and QoS

• Congestion Control– Try to avoid congestionTry to avoid congestion

• Quality of ServiceCreate an appropriate environment for the– Create an appropriate environment for the traffic

– Not the same as Service Quality(?)– Not the same as Service Quality(?)

Page 24: ETSF10 Part 2 Lect 2 - Lunds tekniska högskola

Figure 24 1 T ffi d i tFigure 24.1 Traffic descriptors

24.24

Page 25: ETSF10 Part 2 Lect 2 - Lunds tekniska högskola

Figure 24 2 Th t ffi filFigure 24.2 Three traffic profiles

24.25

Page 26: ETSF10 Part 2 Lect 2 - Lunds tekniska högskola

Figure P k t d l d th h t f ti f l dFigure Packet delay and throughput as functions of load

24.26

Page 27: ETSF10 Part 2 Lect 2 - Lunds tekniska högskola

Figure 24 3 Q i tFigure 24.3 Queues in a router

24.27

Page 28: ETSF10 Part 2 Lect 2 - Lunds tekniska högskola

Figure 24 5 C ti t l t iFigure 24.5 Congestion control categories

24.28

Page 29: ETSF10 Part 2 Lect 2 - Lunds tekniska högskola

Figure 24 6 B k th d f ll i ti tiFigure 24.6 Backpressure method for alleviating congestion

24.29

Page 30: ETSF10 Part 2 Lect 2 - Lunds tekniska högskola

Figure 24 7 Ch k k tFigure 24.7 Choke packet

24.30

Page 31: ETSF10 Part 2 Lect 2 - Lunds tekniska högskola

Congestion Control in TCPCongestion Control in TCP

• Slow start (state)• Slow start (state)– Exponential Increase

C ti id ( t t )• Congestion avoidance (state)– Additive Increase

• Congestion detection (occation to act upon)– Multiplicative Decrease

• Congestion Windows Size (short: cwnd)– Remember: window size =Remember: window size

min(receiver window, congestion window)

Page 32: ETSF10 Part 2 Lect 2 - Lunds tekniska högskola

Figure 24 8 Sl t t ti l iFigure 24.8 Slow start, exponential increase

24.32

Page 33: ETSF10 Part 2 Lect 2 - Lunds tekniska högskola

Figure 24 9 C ti id dditi iFigure 24.9 Congestion avoidance, additive increase

24.33

Page 34: ETSF10 Part 2 Lect 2 - Lunds tekniska högskola

Reaction to congestion detection

• If detection is by time-out, a new slow start phase starts.p

• If detection is by three ACKs, a new congestion avoidance phase startscongestion avoidance phase starts.

• Time out = probably congestion both channelschannels

• 3 ACKS = probably congestion only in di h lsending channel

Page 35: ETSF10 Part 2 Lect 2 - Lunds tekniska högskola

Figure 24 10 TCP ti liFigure 24.10 TCP congestion policy summary

24.35

Page 36: ETSF10 Part 2 Lect 2 - Lunds tekniska högskola

Figure 24 11 C ti lFigure 24.11 Congestion example

24.36

Page 37: ETSF10 Part 2 Lect 2 - Lunds tekniska högskola

Improve QoS

• Scheduling• Traffic shapingTraffic shaping

Page 38: ETSF10 Part 2 Lect 2 - Lunds tekniska högskola

Figure 24 15 Fl h t i tiFigure 24.15 Flow characteristics

24.38

Page 39: ETSF10 Part 2 Lect 2 - Lunds tekniska högskola

Figure 24 16 FIFOFigure 24.16 FIFO queue

24.39

Page 40: ETSF10 Part 2 Lect 2 - Lunds tekniska högskola

Figure 24 17 P i it iFigure 24.17 Priority queuing

24.40

Page 41: ETSF10 Part 2 Lect 2 - Lunds tekniska högskola

Figure 24 18 W i ht d f i iFigure 24.18 Weighted fair queuing

24.41

Page 42: ETSF10 Part 2 Lect 2 - Lunds tekniska högskola

Figure 24 19 L k b k tFigure 24.19 Leaky bucket

24.42

Page 43: ETSF10 Part 2 Lect 2 - Lunds tekniska högskola

Figure 24 20 L k b k t i l t tiFigure 24.20 Leaky bucket implementation

24.43

Page 44: ETSF10 Part 2 Lect 2 - Lunds tekniska högskola

Figure 24 21 T k b k tFigure 24.21 Token bucket

24.44

Page 45: ETSF10 Part 2 Lect 2 - Lunds tekniska högskola

Leaky bucket

Input flow

Output flow after leaky bucket

Page 46: ETSF10 Part 2 Lect 2 - Lunds tekniska högskola

Token bucket

Input flow

Output flow after token bucket