Mobile Transport Layer

30
Mobile Transport Layer Prof. Hemang Kothari

Transcript of Mobile Transport Layer

Page 1: Mobile Transport Layer

Mobile Transport Layer

Prof. Hemang Kothari

Page 2: Mobile Transport Layer

TCP Basic

• Reliable, ordered delivery– uses sequence numbers, acknowledgements,

timeouts and retransmissions– End-to-end semantics (ACK after data recd)

• Provides flow and congestion control– uses sliding window based buffers and feedback

from receiver/network to adjust transmission rate

Page 3: Mobile Transport Layer

TCP Window

• Window size minimum of– receiver’s advertised window - determined by

available buffer space at the receiver– congestion window - determined by sender, based

on network feedback

2 3 4 5 6 7 8 9 10 11 131 12

Sender’s window

Acks received Not transmitted

Page 4: Mobile Transport Layer

Motivation - 1 Transport protocols typically designed for

– Fixed end-systems– Fixed, wired networks

TCP congestion control– packet loss in fixed networks typically due to (temporary)

overload situations – router have to discard packets as soon as the buffers are full – TCP recognizes congestion only indirect via missing

acknowledgements, retransmissions unwise, they would only contribute to the congestion and make it even worse

– slow-start algorithm as reaction

Page 5: Mobile Transport Layer

Motivation II

TCP slow-start algorithm• sender calculates a congestion window for a receiver• start with a congestion window size equal to one

segment• exponential increase of the congestion window up to the

congestion threshold, then linear increase• missing acknowledgement causes the reduction of the

congestion threshold to one half of the current congestion window

• congestion window starts again with one segment

Page 6: Mobile Transport Layer

Influences of mobility on TCP-mechanisms

TCP assumes congestion if packets are dropped– typically wrong in wireless networks, here we often have

packet loss due to transmission errors– furthermore, mobility itself can cause packet loss, if e.g. a

mobile node roams from one access point (e.g. foreign agent in Mobile IP) to another while there are still packets in transit to the wrong access point and forwarding is not possible

The performance of an unchanged TCP degrades severely– however, TCP cannot be changed fundamentally due to the

large base of installation in the fixed network, TCP for mobility has to remain compatible

– the basic TCP mechanisms keep the whole Internet together

Page 7: Mobile Transport Layer

Indirect TCP I

Indirect TCP or I-TCP segments the connection– no changes to the TCP protocol for hosts connected to the wired Internet,

millions of computers use (variants of) this protocol– optimized TCP protocol for mobile hosts– splitting of the TCP connection at, e.g., the foreign agent into 2 TCP

connections, no real end-to-end connection any longer– hosts in the fixed part of the net do not notice the characteristics of the

wireless partmobile host access point

(foreign agent)„wired“ Internet

„wireless“ TCP standard TCP

Page 8: Mobile Transport Layer

I-TCP socket and state migration

mobile hostaccess point2

Internet

access point1

socket migrationand state transfer

mobile hostaccess point2

access point1

socket migrationand state transfer

Page 9: Mobile Transport Layer

Indirect TCP- Advantages

• No changes in the fixed network necessary, no changes for the hosts (TCP protocol) necessary, all current optimizations to TCP still work

• Transmission errors on the wireless link do not propagate into the fixed network

• Simple to control, mobile TCP is used only for one hop between, e.g., a foreign agent and mobile host

• Therefore, a very fast retransmission of packets is possible.

Page 10: Mobile Transport Layer

Disadvantages

• loss of end-to-end semantics, an acknowledgement to a sender does now not any longer mean that a receiver really got a packet, foreign agents might crash

• higher latency possible due to buffering of data within the foreign agent and forwarding to a new foreign agent

Page 11: Mobile Transport Layer

Snooping TCP „Transparent“ extension of TCP within the foreign agent

– buffering of packets sent to the mobile host– lost packets on the wireless link (both directions!) will be

retransmitted immediately by the mobile host or foreign agent, respectively (so called “local” retransmission)

– the foreign agent therefore “snoops” the packet flow and recognizes acknowledgements in both directions, it also filters ACKs

– changes to the basic TCP only within the foreign agent

„wired“ Internet

buffering of data

end-to-end TCP connection

local retransmission correspondenthostforeign

agent

mobilehost

snooping of ACKs

Page 12: Mobile Transport Layer

Snooping TCP• Data transfer to the mobile host

– FA buffers data until it receives ACK of the MH, FA detects packet loss via duplicated ACKs or time-out

– fast retransmission possible, transparent for the fixed network• Data transfer from the mobile host

– FA detects packet loss on the wireless link via sequence numbers, FA answers directly with a NACK to the MH

– MH can now retransmit data with only a very short delay• Problems

– snooping TCP does not isolate the wireless link as good as I-TCP– snooping might be useless depending on encryption schemes

Page 13: Mobile Transport Layer

Snooping TCP Advantages

• Local recovery from wireless losses• High throughput can be achieved• End-to-end semantics retained• Soft state at base station

– loss of the soft state affects performance, but not correctness

Page 14: Mobile Transport Layer

Snooping TCP DisAdv.

• Snooping TCP does not isolate the behavior of the wireless link as well as I-TCP.

• The quality of the isolation, which snooping TCP offers, strongly depends on the quality of the wireless link, time-out values, and further traffic characteristics.

• Not useful if TCP headers are encrypted (IPsec).

Page 15: Mobile Transport Layer

Mobile TCP - Motivation

• Dropping packets due to a handover or higher bit error rates is not the only phenomenon of wireless links and mobility – the occurrence of lengthy and/or frequent disconnections is another problem.

• A TCP sender tries to retransmit data controlled by a retransmission timer that doubles with each unsuccessful retransmission attempt, up to a maximum of one minute

Page 16: Mobile Transport Layer

Mobile TCP - Motivation

• What happens in the case of I-TCP if the mobile is disconnected? The proxy has to buffer more and more data, so the longer the period of disconnection, the more buffer is needed.

• The snooping approach also suffers from being disconnected. The mobile will not be able to send ACKs so, snooping cannot help in this situation.

Page 17: Mobile Transport Layer

Objective – M-TCP

• To prevent the sender window from shrinking if bit errors or disconnection but not congestion cause current problems.

• To improve overall throughput, to lower the delay, to maintain end-to-end semantics of TCP, and to provide a more efficient handover.

• Adapted to the problems arising from lengthy or frequent disconnections

Page 18: Mobile Transport Layer

Mobile TCP - Working

• M-TCP splits the TCP connection into two parts as I-TCP does. An unmodified TCP is used on the standard host-supervisory host (SH) connection, while an optimized TCP is used on the SH-MH connection.

Page 19: Mobile Transport Layer

M-TCP Working

• But, it does not perform caching / retransmission of data via the SH. If a packet is lost on the wireless link, it has to be retransmitted by the original sender. This maintains the TCP end-to-end semantics.

• The SH monitors all packets sent to the MH and ACKs returned from the MH. If the SH does not receive an ACK for some time, it assumes that the MH is disconnected.

Page 20: Mobile Transport Layer

M-TCP Working

• It then chokes the sender by setting the sender’s window size to 0. Setting the window size to 0 forces the sender to go into persistent mode, i.e., the state of the sender will not change no matter how long the receiver is disconnected.

• This means that the sender will not try to retransmit data.

Page 21: Mobile Transport Layer

M-TCP Working

• As soon as the SH (either the old SH or a new SH) detects connectivity again, it reopens the window of the sender to the old value. The sender can continue sending at full speed. This mechanism does not require changes to the sender’s TCP.

Page 22: Mobile Transport Layer

Advantages

• It maintains the TCP end-to-end semantics. The SH does not send any ACK itself but forwards the ACKs from the MH.

• If the MH is disconnected, it avoids useless retransmissions, slow starts or breaking connections by simply shrinking the sender’s window to 0.

• Since it does not buffer data in the SH as I-TCP does, it is not necessary to forward buffers to a new SH. Lost packets will be automatically retransmitted to the new SH.

Page 23: Mobile Transport Layer

Disadvantages

• A modified TCP on the wireless link not only requires modifications to the MH protocol software but also new network elements like the supervisory host.

• Bit errors is propagated to the sender. M-TCP assumes low bit error rates, which is not always a valid assumption.

Page 24: Mobile Transport Layer

Fast Retransmit / Fast RecoveryChange of foreign agent often results in packet loss

– TCP reacts with slow-start although there is no congestionForced fast retransmit

– as soon as the mobile host has registered with a new foreign agent, the MH sends duplicated acknowledgements on purpose

– this forces the fast retransmit mode at the communication partners– additionally, the TCP on the MH is forced to continue sending with the

actual window size and not to go into slow-start after registrationAdvantage

– simple changes result in significant higher performance Disadvantage

– further mix of IP and TCP, no transparent approach

Page 25: Mobile Transport Layer

Transmission / Time-out FreezingMobile hosts can be disconnected for a longer time

– no packet exchange possible, e.g., in a tunnel, disconnection due to overloaded cells or mux. with higher priority traffic

– TCP disconnects after time-out completelyTCP freezing

– MAC layer is often able to detect interruption in advance– MAC can inform TCP layer of upcoming loss of connection– TCP stops sending, but does now not assume a congested link – MAC layer signals again if reconnected

Advantage– scheme is independent of data

Disadvantage– TCP on mobile host has to be changed, mechanism depends on MAC layer

Page 26: Mobile Transport Layer

Selective RetransmissionTCP acknowledgements are often cumulative

– ACK n acknowledges correct and in-sequence receipt of packets up to n

– if single packets are missing quite often a whole packet sequence beginning at the gap has to be retransmitted (go-back-n), thus wasting bandwidth

Selective retransmission as one solution– RFC2018 allows for acknowledgements of single packets, not only

acknowledgements of in-sequence packet streams without gaps– sender can now retransmit only the missing packets

Advantage– much higher efficiency

Disadvantage– more complex software in a receiver, more buffer needed at the

receiver

Page 27: Mobile Transport Layer

Transaction Oriented TCP

Page 28: Mobile Transport Layer

Transaction Oriented TCPTCP phases

– connection setup, data transmission, connection release – using 3-way-handshake needs 3 packets for setup and release,

respectively– thus, even short messages need a minimum of 7 packets!

Transaction oriented TCP– RFC1644, T-TCP, describes a TCP version to avoid this overhead– connection setup, data transfer and connection release can be

combined– thus, only 2 or 3 packets are needed

Advantage– efficiency

Disadvantage– requires changed TCP

Page 29: Mobile Transport Layer
Page 30: Mobile Transport Layer

Next Topic, Mobile Ad Hoc Network