1 Advanced Transport Protocol Design Nguyen Multimedia Communications Laboratory March 23, 2005
2 Outline Introduction Overview of TCP/IP System model Queueing model for congestion Loss discrimination Modified AIMD Future work
3 Introduction Transport protocol End-to-end data transmission Sequencing, flow control, congestion control etc. Transport protocol measures of performance Throughput (bytes/second) Fairness Latency TCP-friendliness
4 Introduction (2) Goal: design a reliable transport protocol that achieves high throughput and fairness Key: congestion control Congestion control design Congestion detection (loss discrimination) Response to congestion
5 Overview of TCP/IP Layered network architecture
6 Overview of TCP/IP (2) Internet Protocol (IP) End-to-end data transmission Routing Best-effort User Datagram Protocol (UDP) Basically raw IP Fast, but unreliable
7 Overview of TCP/IP (3) Transmission Control Protocol (TCP) Connection-oriented Not as fast as UDP, but reliable Sliding window transmission policy
8 Overview of TCP/IP (4) Reliability through retransmission Retransmit lost packets (triple duplicate ACK or timeout) Flow control Buffer advertisements from the receiver Congestion control Congestion indicator = packet loss
9 Overview of TCP/IP (5) Additive increase, multiplicative decrease (AIMD) Additive increase Triple-duplicate ACK Timeout Slow-start Window Time (RTT)
10 Overview of TCP/IP (6) Problem 1. Inaccurate congestion indicator Packet loss in wireless networks is mainly due to random transmission error (i.e. fading) Problem 2. Response to congestion TCP is too conservative because it does not have an up to date notion of the available bandwidth
11 System model Network model source1 Internet source2 destination1 destination2 BS MH
12 System model (2) Adjust the rate of the sender subject to the following constraints Hybrid wired/wireless network topology No help from intermediate routers Unsynchronized clocks Online
13 Queueing model Single-server queueing system Customer: packet from primary source plus preceding cross-traffic Cross-traffic Primary flow
14 Queueing model (2) {X 2, X 3, …} - sequence of interarrival times {S 1, S 2, …} - sequence of service times {Q(t) : t ≥ 0} - number of customers in queue Traffic intensity: ratio of average service time to average interarrival time
15 Queueing model (3) D/G/1 queueing system Case 1: Independent, identically distributed (IID) service times {S 1, S 2, …} is a sequence of IID r.v.’s Theorem 1. Let D n be the departure time of the nth customer. Then {Q(D n ) : n ≥ 1} is a Markov chain.
16 Queueing model (4) Proof. Let U n be the number of customers arriving during the service time S n+1 of the (n+1)th customer. But U n = T -1 S n+1 and service times are independent.
17 Queueing model (5) Case 2: Dependent service times {S 1, S 2, …} is a stationary, ergodic process {Q(D n ) : n ≥ 1} is not a Markov chain Theorem 2 [Grimmett]. The waiting time distribution, P(W ≤ w), is non-defective if (a) ρ < 1, or (b) ρ = 1 and Var(S – X) = 0.
18 Queueing model (6) Long-term properties Average number of customers in the system Average number of customers in queue, average delay through the system, average waiting time can also be derived
19 Loss discrimination Improved congestion detection Packet loss Delay Theorem 2: Long-term stability achieved if average service rate > average arrival rate The long-term does not exist in our problem
20 Loss discrimination (2) Sample traffic intensity Step 1. Calculate the “short-term” average over a time interval
21 Loss discrimination (3) Condition 1. If > 1 and increasing trend of traffic intensity is observed, congestion if then congestion_loss endif
22 Loss discrimination (4) Condition 2. If a large, sudden spike in traffic intensity is observed, congestion if then congestion_loss endif
23 Loss discrimination (5) Step 2. Communicate cause of loss to the sender via a feedback message. Step 3. Retransmit. If cause of loss was congestion, sender adjusts its rate
24 Modified AIMD Maintain up to date estimate of bandwidth Sample bandwidth Step 1. Calculate smoothed average
25 Modified AIMD (2) Step 2. Communicate bandwidth estimate to sender via feedback message. Step 3. Set sending window accordingly Step 4. Additive-increase.
26 Future work Reliability through forward error correction (FEC) instead of retransmission LDPC code Interleaver Congestion avoidance instead of AIMD