160 likes | 368 Views
Simulation based analysis of FAST TCP using OMNET++. Umair ul Hassan. Outline. TCP Congestion Control Variations FAST TCP OMNET++. TCP Congestion Control. Retransmission Timer Management Jacobson’s Algorithm Exponential RTO Backoff Karn’s Algorthim Window Management.
E N D
Simulation based analysis of FAST TCP using OMNET++ Umair ul Hassan
Outline • TCP Congestion Control • Variations • FAST TCP • OMNET++
TCP Congestion Control • Retransmission Timer Management • Jacobson’s Algorithm • Exponential RTO Backoff • Karn’s Algorthim • Window Management
Window Management • Slow Start • Increase cwnd by 1 for each ACK • Exponential Increase • Dynamic Window Sizing on Congestion • Reset cwnd on packet loss and restart slow start • Linear increase after threshold
Window Management • Fast Retransmit • On receiving out-of-order segment send an ACK for last in-order segment. • Sender should wait atleast 3 duplicate ACKs before retransmission • FAST Recovery • Set cwnd = ssthreshold + 3 • Increase by 1 on each duplicate ACK • Set cwnd = ssthreshold on ACK
Problems with TCP Reno • Packet Level • Slow additive increase and Fast Multiplicative decrease • Oscillations due to binary congestion singal • Flow Level • Very small loss probability required • Instability because of oscillations
TCP Vegas • Delay Based Congestion Control • New Retransmission Mechanism • On duplicate ACK retransmit if RTT > RTO, don’t wait till 3 DACKs • Congestion Aviodance • Diff = Expected – Actual • Modified Slow Start • Alow exponential growth every other RTT
Congestion Window Update • TCP Vegas • cwnd + 1 if Diff<α • Cwnd = cwnd – 1 if Diff>β • cwnd otherwise • TCP FAST • cwnd + γ(α – Diff) if Diff<α • Cwnd = cwnd – γ(Diff - α) if Diff>α • cwnd otherwise
Implementation • Per ACK
Implementation • Per RTT
Problems • Fairness when used with other variations • Priority Queues
OMNET++ • Discrete Event Simulation System • NED language • Atomic Modules • Compound Modules • Message based communication
INET Framework • Internet Protocols (IP, TCP, UDP, PPP, ARP) • TCPBaseAlg • TCPReno and TCPTahoe • TCPFast