Presentation is loading. Please wait.

Presentation is loading. Please wait.

(Congestion Window Control) Ashkan Paya

Similar presentations


Presentation on theme: "(Congestion Window Control) Ashkan Paya"— Presentation transcript:

1 (Congestion Window Control) Ashkan Paya
TCP flow control (Congestion Window Control) Ashkan Paya

2 Based on An argument for increasing TCP’s initial congestion window
Nandita Dukkipati, Tiziana Refice, Yuchung Cheng, Jerry Chu, Tom Herbert, Amit Agarwal, Arvind Jain and Natalia Sutin. Google Inc.

3 Content Terminology TCP explanation and origin OSI model
TCP header formats and fields TCP Flow Control

4 Terminology I TCP: Transmission Control Protocol
IP : Internet Protocol ACK : acknowledgement URG : Urgent Pointer field significance PSH : Push or send data to application SYN : Synchronize sequence numbers RST : Reset (abort) the connection FIN : No more data

5 Terminology II cwnd : Congestion Window(an interval that sender choose a number of sending bytes from that) awnd : advertised window (how many more bytes the receiver is willing to accept beyond the last acknowledged byte) ss_thresh : defined constant as a critical value RTT : Round Trip Time BDP : Bandwidth Delay Product Time Out : duration from sending a packet that will be lost and retransmission of that until receiving acknowledgement.

6 What is TCP? TCP is one of the main protocols in TCP/IP networks. TCP enables two hosts to establish a connection and exchange streams of data (packets) and guarantees delivery of them in the same order which they were sent. In other words, TCP provides reliable, ordered delivery of a stream of bytes from a program on one computer to another program on another computer. TCP is the protocol that major Internet applications such as the World Wide Web,  and file transfer rely on. Packet loss is one of the major concerns here.

7 What is TCP? On the other hand, other applications, which do not require reliable data stream service, may use the User Datagram Protocol (UDP), which provides a datagram service that emphasizes reduced latency over reliability. Applications like Skype, ooVoo and almost all of the video/audio stream based applications using UDP protocol. Packet loss is not important here. Historiam begoo

8 OSI model

9

10 TCP Header format

11 TCP header fields Source and destination port : identifies the sending and receiving ports. (16 bits) Sequence Number : random number from (2^32 _ 1) ACK Number : A dedicated ACK or piggybacked ACK contains the sequence number of the next data segment the receiver expects. (= sequence number) Heather Length Reserved : reserved for future use. Must be zero

12 TCP header fields Flags : URG, ACK , PSH, RST, SYN and FIN. (6 bits)
Window : flow control credit allocation, value of advertised window. (16 bits) Checksum : this field is used for error-checking of the header and data. (16 bits) Urgent Pointer :  if the URG flag is set, then this 16-bit field is an offset from the sequence number indicating the last urgent data byte . Indicates data that is to be delivered as quickly as possible. This pointer specifies the position where urgent data ends. Options : Variables such that time stamping to augment seq.num in high speed connections

13 TCP Connection Establishment
sender receiver 1. SYN, sequence number =x 2. SYN+ACK seq.num = y Acknowledgement x+1 3. ACK, acknowledgement y+1 (Client) (server) 1 2 Three-way Hand shake Protocol 3 X random numbere 32 bit ke az oon shooroo mishe va mirie too dore ta behesh berese baz 2. badeesh active ke sendere

14 TCP Connection Termination
client server 1. FIN, seqNum = x 2. acknowledgement = x+1 3. FIN, seqNum = y 4. acknowledgement = y+1 1 2 3 4

15 TCP Flow Control [1]

16 Flow control is needed to:

17 Flow control is needed to:
Prevent sender from “swamping” receiver with data e.g. a fast server sending to a slow client.

18 Flow control is needed to:
Prevent sender from “swamping” receiver with data e.g. a fast server sending to a slow client. Provide congestion control inside the network, e.g. in gateways or routers.

19 Flow control is needed to:
Prevent sender from “swamping” receiver with data e.g. a fast server sending to a slow client. Provide congestion control inside the network, e.g. in gateways or routers. * In either case, a node can be forced to discard packets due to lack of buffer space.

20 Flow control can solve:

21 Flow control can solve:
end-to-end flow control (overload problems at end node)

22 Congestion control mechanism

23 Congestion control mechanism
1. Slow start phase initial_cwnd = 1

24 Congestion control mechanism
1. Slow start phase initial_cwnd = 1 2. Congestion avoidance phase

25 Congestion control mechanism
1. Slow start phase initial_cwnd = 1 2. Congestion avoidance phase 3. Congestion detection and recovery a) Standard Recovery ( recovery by timeout) b) Fast retransmission and fast recovery Moshkele fast ine ke faghat yekio recover mikone va age too ye rtt bish az 1 loss dashte bashim ba ga raftim va timeout mishe

26 Begoo ke faghat 3 dafe poshte ham fast mikone bad dige be ga mire

27 Increasing initial cwnd
TCP initial_cwnd has remained unchanged since 2002. in 2009 one paper[2] indicated that average connection bandwidth is 1.7 Mbps with more than 50% of clients have bandwidth above 2 Mbps, while the usage of narrowband (<256 Kbps) has shrunk to about 5% of clients. Applications like IE8, Firefox 3 devised their own mechanism. Begoo ina chand ta tcp baham baz mikardan per domain

28 Advantages: Reduce latency
latency of a transfer completing in slow start without losses is:

29 Advantages: Reduce latency
latency of a transfer completing in slow start without losses is:

30 Advantages: Keep up with growth in Web page sizes
The Internet average Web page size is 384 KB [2] including HTTP headers and composed resources . Now web browsers using multiple TCP connection using slow start. e.g. IE8 can open 180 connections, Firefox open more than 24 connections[4] Therefore, increasing initial_cnwd mitigate that need. Pas page normal chand ta RTT mikhad

31 Advantages: Allow short transfers to compete fairly with bulk data traffic. Internet measurements indicate that most of the network traffic are bulk data transfers ( such as video), while majority of connections are short-lived and transfer small amount of data.

32 Therefore, I)Minimize average Web page download time,
II)Minimize impact on tail latency due to increased packet loss, III)Maintain fairness with competing flows,

33 Init_cwnd and latency Baghe porteghal

34 What is the best initial congestion window number?
Now… What is the best initial congestion window number?

35 What is the best initial congestion window number?
Now… What is the best initial congestion window number? Based on experiments and charts presented in this paper, 10 segments (≈15KB) * Ethernet and maximum size of segment is 1430 bytes.

36 Negative impact The effect on retransmission rate
TCP’s retransmission rate represents an upper bound for the percentage of packets lost due to congestion. Begoo age ziad yeho bedim va packet loss etefagh biofte be ga mirim

37 Ratio of retransmitted bytes to that of unique bytes transmitted, expressed as a percentage. Initial_cwnd=10 Avg DC All Web search Maps Photos Exp 2.29 1.73 4.17 2.64 Base 1.98 1.55 3.27 2.25 Diff 0.31 0.18 0.90 0.39 Slow DC Badesham begoo ke multiple tcp connection ham yeki digashe ke nemigam ta koonetoon besooze All Web search Maps Photos Exp 4.21 3.50 5.79 6.10 Base 3.54 2.98 3.94 4.97 Diff 0.67 0.52 1.85 1.12

38 Conclusion Increasing initial congestion window is a small change with a significant positive impact on Web transfer latency. Mitigate the need for multiple TCP connections to increase download speed IETF trying to standardize the TCP’s initial congestion window to at least 10 segments Further work should focus on eliminating the initial congestion window as a manifest constant to scale even large network speeds and Web page sizes Internet engineering task force

39 Thank you for your time and I appreciate your consideration

40 References An Argument for Incresing TCP’s Initial Congestion Window google Inc Akamai. The state of the internet. 3rd quarter 2009 S.Ramachandran and A. jain : size and number of resources


Download ppt "(Congestion Window Control) Ashkan Paya"

Similar presentations


Ads by Google