Effect of Transmission Control Protocol on Limited Buffer Cognitive Radio Relay Node ()
1. Introduction
Transmission control protocol (TCP) [1] is the most famous transport protocols that provides a connection which is oriented and reliable end-to-end services with the help of its flow and congestion control mechanisms. However, some of CRNs unique features make TCP performance degrade. In TCP, the receiver replies to the sender with acknowledge that the segment has been received correctly. More than one ACK identifying the same segment to be retransmitted is called a duplicate ACK. After three duplicate ACKs, the sender assumes that the segment has been lost and retransmitted it. TCP also uses timeout to detect losses. After transmitting a segment, TCP starts a time down counter to monitor timeout occurrence. If timeout occurs before receiving the ACK, then the sender assumes that the segment has been lost. The timeout interval is called retransmission timeout (RTO) and is computed according to [2] . This RTO is computed depending on the estimation of Round Trip Time (RTT). TCP congestion window increase is interrupted when a loss is detected.
Two mechanisms are available for the detection of losses: the expiration of an RTO or the receipt of three duplicate ACKs. The source supposes that the network is in congestion and sets its estimate of the capacity to half the current window and the congestion window is reduced to one maximum segment size and the slow start mechanism starts again. When the sender receives three duplicate ACKs, these interact with fast retransmissions and fast recovery mechanisms. TCP Tahoe congestion control [3] sets the window to one packet and uses slow start to arrive the new threshold. When the loss is detected via timeout, ACKs still arrive at the source and losses can be recovered without slow start by using several TCP congestion algorithms like Reno [4] , New Reno [5] , SACK [6] , and Vegas [7] that call a fast recovery algorithm. Once losses are recovered, this algorithm ends and normal congestion avoidance algorithm is called.
Some of these CRNs unique features are primary users (PUs) arrivals, spectrum sensing, spectrum changing, and heterogeneous available channels in secondary users (SUs). It is well-known that TCP has a degraded throughput under wireless systems especially with a high packet loss rate [8] . Due to the existence of PUs in CRNs, a new interruption loss is appeared that causes segment loss and timeout that can cause congestion problems for TCP [9] .
Using relay node in cognitive radio to extended CRNs coverage increases the possibility of session initiation between SUs. This relay node in some CRNs scenarios can switch between two different rates due to several parameters, one of them is changing the operation mode from opportunistic to relay on causing under certain conditions relay node buffer overflow. This paper studies the cross-layers interaction between TCP behaviour and relay node buffer overflow.
This paper is organized as follows. Section 2 presents the related works. Section 3 introduces the system models and assumptions. Section 4 gives the numerical results and analysis, and Section 5 concludes the work.
2. Related Works
Authors in [10] -[13] proposed protocols for improving TCP performance over CRNs. The authors in [10] improved TCP throughput compared to other approaches that increase the physical layer throughput. In [11] , the authors showed that TCP throughput can be substantially improved if the low-layer parameters in CRN are optimized jointly. The authors in [12] proposed a window-based transport protocol for CR ad-hoc networks that combine the feedback from the intermediate nodes and the destination. Sarkar et al. [13] proposed a protocol for the transport layer of the CRN that serve delay-tolerant applications. In [14] , the authors create a cross-layer solution considering the effect of bandwidth variation on TCP performance in single hop CRNs without considering spectrum switching. The authors in [9] presents a new type of loss called TCP service interruption with New Reno over CRNs but the authors did not consider the cross layering architecture. In [15] , the authors use a cross- layer scheme to improve the energy efficiency of TCP traffic considering the lower layers’ characteristics without considering TCP mechanisms or cross-layering. Also in [16] the authors modify the BS that connects TCP over the Internet to a CRN by Local loss recovery and split TCP connection without considering TCP congestion control algorithms. Although, the authors in [13] use a cross-layer approach to serve delay-tolerant applications and to adjust the congestion window by considering spectrum sensing and bandwidth variations, they did not consider the buffer overflow probability. In [17] and [18] authors provide an enhancement for TCP through- put performance considering PUs’ activities and lower-layer configurations without considering loss recovery.
3. System Model
In Figure 1, we consider a CRN with the coexistence of primary and secondary networks. In the primary network, a primary transmitter sends data to a primary receiver. Meanwhile, in the secondary network, a secondary source communicates with a secondary destination assisted by a finite buffer relay node. The relay node switches the bit rate between the opportunistic rate r1 and the underlay rate r2. The relay buffer occupancy Bp can be extracted from the CRN Round Trip Time (RTT) as following
(1)
But the maximum buffer occupancy Bmax given by
(2)
where Bc is the buffer occupancy at time of rate changing from r1 to r2 [19] .
According to the model shown in Figure 1:
Figure 1. The underlay relay-assisted CRN with delay diagram.
(3)
where Wc is the congestion window size, and according to (1) and (3), Bmax and Wc can be given by
(4)
(5)
The overall probability for the cognitive radio secondary network relay buffer is given by
(6)
By using Reno in TCP congestion control with congestion avoidance phase as in Figure 2, and at the state of overflow, the window size increased from critical window size Wc to peak window size Wp with changing in time from Tc to Tc + RTT and changing in rate from r1 to r2, where r1 > r2.
(7)
So, the peak window size can be given by
(8)
During TCP congestion avoidance phase, the line slop of the congestion avoidance phase is constant so,
(9)
From (5), (6), and (9), PB can be given by
(10)
Assuming that each TCP segment in the transport layer is segmented into Nfr frames in the link layer and for simplicity let all data link frames have the same length Lfr and each frame required an acknowledge of length Lack and data rate of r. In this case and from the network model given in Figure 2, RTT can be calculated as follows
Figure 2. TCP Congestion window with time variation.
(11)
Assuming Automatic Repeat Request (ARQ) is used for retransmission, and the average number of retransmissions for each data link frame is, so the round trip time given in (11) can be modified to be
(12)
From [20] , the average number of retransmissions for each data link frame can be given by
(13)
where, Fe is the frame error probability given by the bit error rate BER as following
(14)
4. Numerical Results
In this section, numerical results are presented to evaluate the effect of TCP parameters on buffer overflow. Table 1 summarizes the numerical values used in the model.
Figure 3 shows the BER versus relay node buffer overflow probability the figure is calculated numerically. Value of CRN opportunistic bit rate is 1 Mbps, and underlay data rate is 0.25 Mbps with 125 K byte maximum TCP window size and 3 frames per TCP segment, ARQ retransmission time is 32. The effect of number of frames per TCP segment is shown in Figure 4. The figure shows that increasing TCP segment size increases the number of frames per segment that increase the buffer overflow probability with different BER from less than 10−4 to more than 10−1.
Figure 5 shows the maximum buffer size versus relay buffer overflow probability with different BER. The figure shows that value of 5 Kbyte buffer size decrease the overflow probability dramatically from 10−2 to 10−5. Figure 6 shows the effect of maximum congestion window size on buffer overflow with different BER and 500 byte frame and ACK size with and ACK segment with 1 Mbps and 0.25 Mbps opportunistic and underlay modes data rates and 3 frames per segment.
Figure 3. BER vs. Buffer Overflow with variable ACK size.
Figure 4. BER vs. Buffer Overflow with variable frames per TCP segment.
5. Conclusion
Most existing CRNs have assumed that there are no effects for TCP behavior on relay node buffer overflow. In
Figure 5. Maximum Buffer size vs. Buffer Overflow Probability.
Figure 6. Effect of TCP maximum window size on Buffer Overflow Probability.
this paper, a novel cross-layer model is used to evaluate the effect of the TCP congestion control on the secondary relay node buffer size in Cognitive CRN. The results show that increasing the buffer size decreases the buffer overflow probability for the CR secondary network relay node with value of 5 Kbyte buffer size, and the probability of overflow decreases dramatically from 10−2 to 10−5. Moreover, and as expected, increasing BER increases overflow probability. Increasing the number of frames per TCP segment from 3 to 5 frame increases the buffer overflow probability from less than 0.005% up to 50%.