First here to discuss the concept of wireless networks such is infrastructure network and ad hoc (infrastructure less) network. Then before to discuss the different challenges transmission control protocol (TCP) is facing in wireless networks, it is better to give a look to the TCP working mechanism and its different variants.
2.1 Types of Wireless Networks ‘
One of the unique features of wireless networks is compare to wire network is that data is transmitted from one point to another through wireless link i.e. there is no need to wired link between the two nodes for transmission. They just need to be in the transmission range of each other. Wireless networks or divided into two categories.
1. Infrastructure wireless network
2. Infrastructure less or ad hoc wireless network.
2.1.1 Infrastructure Networks :
Infrastructure network have fixed network topology, wireless nodes connect through the fixed point known as base station or access point .In most cases the access point or base station or connected to the main network through wired link. The base station, or access point, is one of the important element in such types of network. all of the wireless connections must pass from the base station .whenever a node is in the range of several base station then it connect to any one of them on the bases of some criteria.
Infra structured wireless networks, the mobile node can move while communicating ,the base stations are fixed and as the node goes out of the range of a base station, it gets into the range of another base station.
2.1.2 Ad hoc Network :
The mobile node can move while communicating ,there are no fixed base stations and all the nodes in the network act as routers. the mobile nodes in the Ad hoc network dynamically establish routing among themselves to form their own network ‘on the fly’.
Fig: Infrastructure and Ad hoc network
2.2 TCP Working mechanism and Variants of TCP :
Transmission Control Protocol (TCP) is a Transport Layer Protocol and originally designed for wired network in 1981.The basic responsibility of TCP is to provide reliable transfer of data between the nodes i.e. to ensure that the data is reached the destination correctly without any loss or damage. The data is transmitted in the form of continuous stream of octets. The mechanism is adopted to assign a sequence number to each octet of data and receiver respond with positive acknowledgement to ensure that the data is received correctly.
Another aspect of TCP is the tree way handshakes mechanism to establish a connection between the end points (nodes). In case if there are two or more TCP connection between the end points for this TCP uses the port assignment mechanism to differentiate each connection from others.
Acknowledgments in TCP ‘
‘ Receiver sends ACK to sender
ACK is used for flow control, error control and congestion control.
‘ ACK number sent is the next sequence number expected.
‘ Delayed ACK : TCP receiver normally delays transmission of an ACK.
‘ ACKs are not delayed when packets are received out of sequence.
Fast Retransmit ‘
‘ If three or more duplicate ACKs are received in a row, the TCP sender believes that a segment has been lost.
‘ Then TCP performs a retransmission of what seems to be the missing segment, without waiting for a timeout to happen.
‘ When can duplicate ACKs occur.
– Packet reordering
‘ Assume packet reordering is infrequent.
– Use receipt of 3 dup ACKs as indication of loss.
– Retransmit that segment before timeout.
Fast Recovery ‘
‘ Fast recovery avoids slow start after a fast retransmit.
‘ Intuition: Duplicate ACKs indicate that data is getting through.
2.2.2 Various Flavor of TCP :
After the introduction of first version of TCP several different flavor exist. Here we are discussing the most famous implementation of TCP called Tahoe, Reno, New Reno and Vegas.
188.8.131.52 Tahoe – In the first version of TCP there was no congestion control mechanism. So after observing the congestion collapses 1988 Jacobson introduced several Congestion Control algorithms and this version is called TCP-Tahoe . The Congestion Control algorithms introduced in this version are:
A) Slow start
B) Congestion Avoidance
C) Fast Retransmit
184.108.40.206 Reno ‘ The fast retransmit phase was first introduced in TCP-Tahoe followed by slow start. But TCP-Reno also added the algorithm of fast recovery. So that first Recovery dictates the sender to perform congestion avoidance directly after fast retransmission rather than immediately reducing the data flow using slow start mechanism.
‘ Duplicate ACKs :
– Fast retransmit
– Fast recovery
‘ Fast recovery avoids slow start .
‘ Time out :
– Slow start
‘ TCP Reno improves upon TCP Tahoe where a single packet is dropped in a round trip time.
Problem with Reno ‘
1. Multiple packet losses with in a window of data.
‘ Terminates recovery prematurely.
‘ Detection of second loss relies on another fast retransmission.
– But with much less incoming dup ACKs.
– Much less new data packets being sending out.
– Lose self clocking.
220.127.116.11 New Reno ‘
TCP Reno recovery only one lost packet during the recovery process. So TCP-New Reno is just adding the capability to TCP Reno to deals with multiple packets losses to recovery in a single transmission window.
‘ When multiple packets are dropped, Reno has problems.
‘ Partial ACK :
– Occurs when multiple packets are lost.
– A partial ACK acknowledgment some ,but not all packets that are outstanding at the start of a fast recovery, take sender out of fast recovery.
‘ Sender has to wait until timeout occurs.
‘ New Reno :
– Partial ACK does not take sender out of fast recovery.
– Partial ACK causes retransmission of the segment following the acknowledgment segment.
‘ New Reno can deal with multiple lost segments without going to slow start.
‘ Remember the outstanding packets at the start of fast recovery.
‘ If a new ACK is Partial ACK, immediately retransmit the following packet, and does not exit the recovery phase.
‘ Upon two dup ACKs, send out one new data packet; keep the ‘flywheel’ running.