transport layer over wireless networks voice over ip voip
play

Transport Layer over Wireless Networks + Voice over IP (VoIP) JP - PowerPoint PPT Presentation

Mobile Networks Module F Transport Layer over Wireless Networks + Voice over IP (VoIP) JP Hubaux With help from P. Papadimitratos and M. Poturalski http://mobnet.epfl.ch Some slides addapted from Jochen H. Schiller, Nitin Vaidya, and James


  1. Mobile Networks Module F Transport Layer over Wireless Networks + Voice over IP (VoIP) JP Hubaux With help from P. Papadimitratos and M. Poturalski http://mobnet.epfl.ch Some slides addapted from Jochen H. Schiller, Nitin Vaidya, and James Kurose & Keith Ross

  2. Outline g TCP in Mobile Networks g Real-time traffic in Mobile Networks 2

  3. Reminder: Transmission Control Protocol (TCP) Host A Host B g Reliable, in-order data delivery SYN, Seq_no = x g Flow control SYN, Seq_no = y, ACK, Ack_no = x+1 g Congestion avoidance and control Seq_no = x +1, ACK, Ack_no = y+1 g End-to-end semantics 3

  4. TCP basic operation Application writes Application reads bytes bytes in send buffer from receive buffer Write 45 bytes Write 15 bytes Read 40 bytes Application layer Write 20 bytes Read 40 bytes Transport layer Segments Send buffer Receive buffer ACKs Sender Receiver Internet 4

  5. TCP flow control g Flow control is a speed-matching service i Sender adjusts the transmission rate to the receiver g Receiver advertises the remaining buffer space ( rwnd) to the sender g The sender keeps unacknowledged data below rwnd LastByteSent – LastByteAcked ≤ rwnd 5

  6. Congestion Throughput (bps) Light traffic R i Arrival Rate << R i Low delay i Can accommodate more Congestion onset i Arrival rate approaches R Arrival i Delay increases rapidly Rate i Throughput begins to saturate Delay (sec) Saturation i Arrival rate > R i Large delays, packet loss i Useful application throughput drops Arrival 6 Rate R

  7. TCP congestion control g Keeps TCP off the congestion collapse cliff g Congestion window mechanism LastByteSent – LastByteAcked ≤ min{cwnd, rwnd} g Slow Start phase i Increase congestion window size ( cwnd ) by one segment for each received ACK i Congestion window increases exponentially cwnd Segment ACK Time (expressed in RTTs) 7

  8. TCP congestion control g Congestion Avoidance phase i Congestion threshold ssthresh cwnd i When cwnd > ssthresh , increase cwnd slowly i ssthresh cwnd++ per round-trip-time (RTT) • Each time an ACK arrives, cwnd is increased by 1/ cwnd • In one RTT, cwnd segments are sent, so total increase in cwnd is cwnd x 1/ cwnd = 1 • cwnd grows linearly Time (expressed in RTTs) 8

  9. TCP congestion control g Congestion detection: Time-out Congestion i Timeout or Avoidance i Receipt of duplicate ACKs (Fast Retransmit) Congestion window g Assumption: current cwnd corresponds to available bandwidth g TCP Tahoe ssthresh i ssthresh = ½ cwnd i cwnd = 1 i Go back to Slow Start g Over several cycles expect to Slow converge to ssthresh equal Start to about ½ the available bandwidth 0 Time (expressed in RTTs) 9

  10. TCP congestion control g Fast Retransmit mechanism i If a segment is dropped, subsequent segments trigger duplicate ACKs SEQ=1 i Sender retransmits segment ACK=1 SEQ=2 instantly (without waiting for a SEQ=3 timeout) when duplicate ACKs SEQ=4 ACK=1 are received (typically 3) SEQ=5 ACK=1 ACK=1 g Improves performance i Faster reaction to packet loss g Implemented in TCP-Reno (more recent than TCP-Tahoe) 10

  11. Wireless and Mobile Networks Wireline Communication Internet Mobile Host (1) Access Point Wireless Communication Base Station Mobile Host (2) 11

  12. Wireless and Mobile Networks Internet Mobile Host (1) Access Point g Wireless transmission errors i High Bit Error Rates i Packet (frame) loss 12

  13. Wireless and Mobile Networks Internet Base Station Mobile Host (2) (B) g Mobility Base Station (A) i Mobile Host (2) Disconnection i Hand-offs i Delays 13

  14. Challenge g TCP i Assumptions for the Wire-line Internet • Packet loss only due to congestion • Packet loss is rare g Wireless and mobile networks i TCP assumptions are not valid g Problem: TCP under-performs i TCP can not distinguish between packet losses due to congestion and transmission or disconnection errors i Reducing the congestion window when an error or a disconnection occurs is not necessary i Throughput suffers 14

  15. Questions g What can we do about… i transmission errors? i errors due to mobility? g Which part of the system functionality should we modify… i The sender? i The receiver? i An intermediate node? i Some or all of the above? 15

  16. Directions g Transmissions errors i Hide error losses from the sender • If the sender is unaware of the packet losses due to errors, it does not reduce the congestion window i Inform sender of packet loss cause • If the loss is due to an error, the congestion window is not reduced g Errors due to mobility i Hide mobility from the TCP sender i Make TCP adaptive to mobility 16

  17. Solution classification g Split-connection approaches i Split a TCP connection into two: the wire-line part and wire- less part at a Base Station or Access Point (Foreign Agent) g Link layer approaches i Improve link layer reliability g End-to-end approaches i Modify TCP congestion control mechanism g Hybrid approaches 17

  18. Split-connection approaches 18

  19. Indirect TCP (I-TCP) Mobile Host Access Point (AP) Internet Standard TCP “Wireless” TCP g Split the TCP connection at the AP into two parts i AP buffers and retransmits received segments i AP sends ACKs for the received segments g Standard TCP on the wire-line link g On the wireless link: i TCP optimized for wireless i Even standard TCP benefits from shorter RTT • Shorter timeout • Faster retransmissions 19

  20. I-TCP example Correspondent Host Access Point Mobile Host segment 1 segment 2 segment 1 segment 3 ack 1 segment 2 ack 1 segment 2 ack 2 ack 2 segment 3 ack 3 ack 3 segment 2 timeout (short timeout thanks to short RTT) 20

  21. I-TCP and mobility Access Point (2) Socket migration and state transfer Internet Mobile Host Access point (1) g Moving to a new access point requires transfer of socket state i Including segments buffered at the FA 21

  22. I-TCP summary g I-TCP Advantages i No changes in the fixed network or hosts (TCP protocol), all current TCP optimizations still work • Potentially no changes in mobile hosts i Wireless transmission errors do not “propagate” to the wire-line network g I-TCP Disadvantages i Loss of end-to-end semantics • An ACK does not imply that the receiver got the segment • For mobility support, all FAs need to be I-TCP compatible, and the state needs to be transferred to maintain end-to-end semantics i Higher end-to-end delays due to buffering and forwarding to a new agent i Problem with security mechanisms, e.g. IPsec • FA needs to spoof ACKs 22

  23. Mobile TCP (M-TCP) Access Point (Foreign Agent) Mobile Host Internet Standard TCP “Wireless” TCP g Handling of long and frequent disconnections g Splits connection at FA as I-TCP does g Foreign agent i No caching, no retransmission i Monitors all packets i If it detects a disconnection (no ACKs from MN for a while) • Reports rwnd = 0 to sender • Sender automatically goes into “persist” mode: Does not timeout or in any other way change the congestion window 23

  24. M-TCP summary g M-TCP advantages i End-to-end semantics preserved i Moving to another FA does not require forwarding buffered packets to new FA (since FA does no buffering) g M-TCP disadvantages i Wireless link loss propagates to the wire-line network i Packets lost due to link errors need to be retransmitted by the sender i Problems with security mechanisms (just like I-TCP) g M-TCP handles mobility errors, not transmission errors 24

  25. Snooping TCP Local Retransmission Correspondent Host Foreign Agent Internet Snooping of ACKs Buffering of data Mobile Host End-to-end TCP connection g “TCP-Aware Link Layer” g Splits connection like I-TCP and M-TCP i FA buffers and retransmits segments (if necessary) i FA does not ACK buffered packets as I-TCP does (preserves end-to-end semantics) 25

  26. Snooping TCP: data transfer g Data transfer to the Mobile Host i FA buffers a segment until it receives an ACK from the MH i FA detects segment loss via duplicate ACKs or a timeout • FA timeout is shorter than the round-trip timeout (RTO) at the sender i FA locally retransmits lost segments i FA drops duplicated ACKs from MH • Prevents unnecessary retransmissions and congestion window reductions at the sender • Does not violate end-to-end semantics: Even if the FA crashes before MH receives the segment, the sender will eventually detect the loss via a timeout and retransmit 26

  27. Snooping TCP: data transfer g Data transfer from the Mobile Host i Foreign Agent Mobile Host FA detects segment loss on the wireless link via missing sequence numbers SEQ=1000 i FA triggers retransmission of lost SEQ=1100 segment at MH • E.g., with a NACK mechanism SEQ=1200 i MH retransmits data with a much NACK=1100 shorter delay SEQ=1100 27

  28. Snooping TCP and mobility g When the MH moves to a new FA, should the buffered segments be transferred from the old FA? i Not necessary • Even if some of the buffered segments are lost in the transition, the sender will eventually timeout and retransmit them • This preserves end-to-end semantics i Yet, this buffer transfer would improve performance because the timeout puts the sender into slow start phase 28

Recommend


More recommend