220 likes | 262 Views
TCP-Cognizant Adaptive Forward Error Correction in Wireless Networks. Benyuan Liu , Dennis L. Goeckel , Don Towsley Department of Computer Science Department of Electrical and Computer Engineering University of Massachusetts IEEE INFOCOM 2002. System Goals.
E N D
TCP-Cognizant Adaptive Forward Error Correction in Wireless Networks Benyuan Liu , Dennis L. Goeckel , Don Towsley Department of Computer Science Department of Electrical and Computer Engineering University of Massachusetts IEEE INFOCOM 2002
System Goals • Introducing a new link layer protocol using adaptive forward error correction (AFEC) to improve TCP performance over wireless links • FEC code is selected according to a TCP goodput formula to maximize TCP goodput • FEC code is adaptive to the link characteristics • Performance comparison of AFEC with some other protocols
Goodput Definition • The “goodput” of a flow is the “effective bandwidth” delivered to the receiver, excluding overhead and duplicate packets caused by retransmission.
Related Work • Split-Connection approach • Snoop protocol • Automatic repeat request (ARQ) • Explicit loss notification (ELN) • TCP-SACK • Forward Error Correction (FEC)
TCP Goodput Formula • Gf : TCP goodput • p: packet loss rate • Wmax: maximum congestion window size of TCP sender • b: effect of delayed acknowledgement • T0: TCP transmission timeout value • The above formula predicts accurate TCP goodput over a wide range of packet loss rates • Reducing p helps to increase TCP goodput
Effect of FEC on TCP Goodput • FEC can reduce the packet loss rate and increase TCP goodput • FEC also causes overhead and reduces effective channel bandwidth for the real payload • Real TCP goodput can be approximated by the minimum of the achievable TCP goodput and the effective channel bandwidth, it is maximized when the achievable TCP goodput equals to the effective channel bandwidth
FEC Code Selection • Assumption: wireless link errors are mostly due to bit errors in packets • Focus only on bit errors and use error correction codes • (N, K) Reed-Solomon code • K: size of data in a codeword (link layer packet), fixed value • N: size of codeword, varied to adjust the redundancy level of the code • N-K: size of parity symbols in a codeword
Optimal FEC Code Selection • Effective link bandwidth • Bc: raw link bandwidth • PER: packet error rate • Real TCP goodput: • Optimal Reed-Solomon code (N0, K) • For an (N, K) Reed-Solomon code, N can only be integer numbers within a certain range, so the code is chosen from this available set
Wireless Link Characteristic • Signal to interference plus noise ratio (SINR) is used to calculate the packet loss rate of the wireless link • Average SINR measurement is available in wireless communication systems for use in functions such as power control, handoff and adaptive rate control • Assumption: SINR is constant during a given TCP session (suitable for systems without mobility, but systems with highly mobile hosts may have significant differences)
Mapping from SINR to Packet Loss Rate • Case 1: Independent fading from symbol to symbol within a packet, independent fading between packets • Applies to systems with relatively quickly varying multipath fading and with interleaving of symbols within a packet • For 2m-ary symbols, symbol error rate: • Frame error rate:
Mapping from SINR to Packet Loss Rate • Case 2: Identical fading for symbols within a packet, independent fading between packets • Applies to systems with moderate fading rate (approximately once per packet) • α: fading value • Nf: the number of frames of the packet • pα(x): the probability density function of the channel fading gain α
Mapping from SINR to Packet Loss Rate • Case 3: Identical fading for symbols within a packet, identical fading for packets within a TCP window • Applies to systems with slow fading, where the fading varies over the RTT of the system but constant over a TCP window duration, most likely occur in systems with low mobility environments such as WLAN • PER of case 2 can also be used in case 3
TCP-AFEC Protocol • A link layer agent is added to the base station and the mobile host • The agent at the upstream node of the data flow estimates the channel BER and TCP session RTT, computes the optimal FEC code for each packet and transmits the packets over the wireless link • The agent at the downstream node recovers the packet if the errors are correctable, otherwise the packet is discarded • There is no retransmission in this protocol
Simulation Model • The data source is a fixed host in the wired network, the path from the source to the base station is a link with 10Mbps bandwidth and 40ms propagation delay, there is no error and congestion on the wired link
Simulation Model • Two types of wireless links are considered: • WLAN with 2Mbps bandwidth and 4ms delay, packet size of 1460 bytes • WWAN with 19.2Kbps bandwidth and 200ms delay, packet size of 512bytes • Only the loss model of case 1 is considered, the range of SER is from 8x10-6 ~ 8x10-3 • Following results are from WLAN scenarios, WWAN results are similar
Comparison with TCP-SACK and Snoop with no FEC • The symbol error rates, ranging from 8x10-6 to 8x10-3, produce packet error rates ranging from 1.2 % to 99 % in TCP-SACK and Snoop • Under low error rates, TCP-AFEC and Snoop achieve similar goodput, much better than TCP-SACK • Under high error rates, the transmission of TCP-SACK and Snoop stalls due to congestion control, while the performance of TCP-AFEC only drops slightly
Comparison with TCP-SACK and Snoop with FEC of 5% overhead • Under low error rates, the performance of TCP-SACK and Snoop are close to TCP-AFEC • Under high error rates, the goodput of TCP-SACK decreases dramatically
Comparison with TCP-SACK and Snoop with FEC of 30% overhead • The redundancy level is large enough to account for the high error rates • The large overhead also results in lower goodput than TCP-AFEC
Comparison with a Physical Layer Optimization Scheme • A physical layer scheme can only try to optimize a quantity that is understood by the physical layer • While TCP-AFEC maximizes min(Gc, Gf), a physical layer scheme can only maximize the first term, which is the effective bandwidth, it does not consider the TCP goodput limitation
Comparison with a Physical Layer Optimization Scheme • Under low error rates, the physical scheme achieves the same goodput as TCP-AFEC • Under high error rates, TCP-AFEC outperforms the physical layer scheme • TCP performance knowledge is beneficial to link layer protocols
Conclusion • TCP-AFEC can effectively improve the TCP goodput over wireless links for a wide range of channel conditions
Comments • As TCP goodput formula is used to calculate the optimal FEC code, this is a TCP-aware link layer protocol • As there is no retransmission, data reliability cannot be guaranteed • The FEC code is used to correct error bits in packets, whole packet loss is not considered. But in WLAN systems packet loss might be even more serious than bit errors