TCP in Heterogeneous Network

Download Report

Transcript TCP in Heterogeneous Network

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?