* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download congestion control
Survey
Document related concepts
Transcript
Congestion Dr. Abdulaziz Almulhem Congestion It occurs when network resources are becoming scarce High demand Over utilized Offered load exceeds throughput Almulhem©2001 2 Almulhem©2001 3 Almulhem©2001 4 Taxonomy Router-Centric vs. Host-Centric Routers takes responsibility for forwarding decisions. Host observes the network behavior and make decisions. Almulhem©2001 5 Taxonomy Reservation-Based vs. FeedbackBased Resources are allocated based on request Almulhem©2001 6 Congestion Control Proactive vs. Reactive Backpressure Choke packets Implicit congestion control Explicit congestion control Policing Almulhem©2001 7 Almulhem©2001 8 Taxonomy Window-Based vs. Rate-Based Same terminology applies to flow control; however congestion control deals with resource allocation. Almulhem©2001 9 TCP Congestion Control Congestion control in TCP/IP is complex and difficult, because: IP is connectionless: no way to provision congestion TCP is end-to-end: deduces indirectly presence of congestion TCP entities cannot cooperate to maintain certain level of flow (greedy way) Almulhem©2001 10 TCP Flow Control The rate at which TCP source can send data is determined by the rate at which acknowledgements are received. Rate of Ack arrival is determined by the bottleneck in the roundtrip path. TCP automatically senses the network bottleneck and regulates its flow accordingly TCP’s self-clocking Almulhem©2001 11 Network Congestion Almulhem©2001 12 Destination Congestion Almulhem©2001 13 Improving Performance Retransmission timer management: The value has a critical effect on TCP reaction to congestion: RTT variance estimation Exponential RTO backoff Karn’s algorithm Almulhem©2001 14 Improving Performance Window management Managing the size of the send window has a critical effect on TCP Slow start Dynamic window sizing on congestion Fast retransmit Fast recovery Almulhem©2001 15 Slow start To avoid reaching congestion levels quickly, the window size is incremented progressively. Upon receiving an Ack for a specific segment, the window is incremented by 2. Almulhem©2001 16 Dynamic Window Sizing Slow start is effective for initializing a connection This can grow infinitely however at some point in time resources will fill and a segment will get lost (congestion) What to do? Reset window to 1 and start all over (not practical, congestion may repeat) Caution could be possible Almulhem©2001 17 Congestion detection Congestion avoidance Congestion recovery Almulhem©2001 18 Fast Retransmit Instead of reacting to lost segments by setting the window to 1 Ack for missing segment will be received; however sender will continue sending subsequent segments. If three duplicate Acks are received, that segment is retransmitted regardless of time out. Almulhem©2001 19 Fast Recovery Since duplicate Ack are getting through fairly regularly, then there is no point to set window to 1. Better to cut window to half Proceed with increasing window size linearly (congestion avoidance) Almulhem©2001 20 Almulhem©2001 21