TCP in Heterogeneous Network Md. Ehtesamul Haque #100605034P Basic Terms • TCP (Transmission Control Protocol) – – – – – Most widely used transport layer protocol. Connection-oriented. Full duplex. Flow control. Congestion control. • Different versions of TCP – TCP Tahoe – TCP Reno, NewReno – TCP Vegas etc… Heterogeneous Network • A network where connected systems have different – – – – Operating systems Protocols Access technologies Links • We focus on heterogeneous network with different links – wired and wireless links Outline • • • • • • TCP Congestion control Wireless Link characteristics TCP Peach [2001] TCP Westwood [2002] TCP Hybla [2004] Future Direction TCP Congestion Control Slow Start • The source starts with Congestion window, cwnd = 1. • Every time an ACK arrives, cwnd is Doubled. • Slow start runs until – any packet loss or – cwnd reaches some threshold, ssthreshold. Packet loss is detected either by • Retransmission timeout or • Three duplicate acks. Congestion control in TCP Tahoe 20 Congestion avoidance Congestion happens 15 Congestion window Threshold 10 5 Slow start 0 Round Trip Time, RTT Fast Retransmit • Only applied if loss is recognized by – Duplicate acks. • Retransmit the lost packet. • Better in non-congestion errors. • Time out leads to slow start. Fast Recovery • Added by TCP Reno • After a fast-retransmit – cwnd = cwnd / 2 (vs. 1 in Tahoe) – threshold = cwnd • After a timeout – – – – threshold = cwnd cwnd = 1 Do slow start Same as Tahoe Wireless Network • Packet loss in wireless networks due to… – Bit errors – Handoffs – Possibly congestion, but not often • TCP congestion avoidance can be triggered by non-congestion loss – May reduce throughput Wireless Network (Cont.) • Bursts of errors – More than one packet lost in TCP • Delay is often very high – TCP’s timeout mechanisms do not work well • Links may be asymmetric – ACKs in the slow bandwidth Different approaches • Link-Layer Protocols – Hide losses by making link appear to be more reliable • Split-connection protocols – Intermediaries scoop the state of a TCP connection – Violates end-to-end semantics of TCP • End-to-end protocols – No intermediaries to scoop the state of a TCP connection – Preserves the E2E semantics of TCP connection TCP Peach [2001] Basic concept • Avoid slow start • Probe network by dummy packet • Dummy packets – Small – Low priority • Initially high transmission rate Components • Sudden Start • Congestion Avoidance • Fast Retransmit • Rapid Recovery • Over Transmit Flow of TCP Peach Sudden Start • Sudden Start substitues Slow Start. • Initially, cwnd=1 • 1 data segment + (rwnd-1) dummy segments transmitted in 1 RTT • After one round trip time, the sender enters the Congestion Avoidance phase. • Cwnd= min {rwnd,r} , r is the maximum with available bandwidth. Rapid Recovery • Set cwnd = C0 / 2. • Recover by sending C0 dummy packets in next RTT. • At t0 cwnd is halved. • Send C0 dummy packets in [t0,t0+RTT]. • Continue data packet transmission. t0 t0 + RTT t0 + 2*RTT TCP Westwood [2002] Basic concept • Monitor the ack reception rate to estimate the bandwidth. • set the cwnd and ssthresh based on the estimated bandwidth. • Bandwidth, bk = dk/Δtk, – dk = data acked – Δtk = time difference between two ack. • Estimated bandwidth, – BEk+1 = akBEk+ (1-ak) (bk+bk-1)/2 Basic concept (cont.) • Threshold = (BE * RTTmin) / seg_size • cwnd = 1, slow start • cwnd = threshold, recovery TCP Hybla • cwnd size independent of RTT. • Support SACK for multiple loss. • Westwood like bandwidth estimation. Future Direction • Correctly differentiate between – Congestion loss and – Non-congestion loss • Solve the problem of asymmetry in bandwidth • Develop a unified TCP Questions?
© Copyright 2024 Paperzz