1 Introduction

Vehicular ad-hoc network (VANET) [1,2,3,4] developed as a part of Intelligent transportation system (ITS) and gaining popularity due to the wider range of applications such as traffic sharing, road navigation, automatic toll payment, Geo-location services and internet access through the roadside unit (RSU). The VANET operates under vehicle-to-vehicle (V2V), vehicle-to-Infrastructure (V2I) mode, and hybrid mode. The V2V mode uses the onboard unit (OBU) to communicate between vehicles. The V2I mode relies on OBU and RSU for data sharing between vehicle and infrastructure. The hybrid mode supports both V2I and V2V communication modes (Fig. 1).

Fig. 1
figure 1

VANET with mobile internet architecture model

The Institute of Electrical and Electronics Engineers (IEEE) exclusively allocated two standards, IEEE 802.11p [5] for physical layer interaction between vehicles commonly known as dedicated short range communications (DSRC) and IEEE 1609.X [6,7,8], wireless access in vehicular environments (WAVE) for the higher layer interaction. The IEEE 802.11p uses seven non overlapping channels with the spectrum of 75 MHz and channel width of 10 MHz, one channel dedicated to carrying critical traffic related control information and the rest of them for non critical service information.

Recent years witnessed a sharp increase in the usage of mobile internet through VANET’s RSU gateways, enhances transportation and infotainment capabilities. The internet based VANET [9,10,11] strengthens driver’s situational awareness with improved global connectivity for both safety and non safety related applications. The VANET merger with internet introduces the performance based challenge for TCP [12,13,14,15] under vehicular access environment. TCP [16, 17], a prominent and widely used transport protocol that carries a large chunk of internet data traffic plays a crucial role in determining the internet’s performance. The TCP’s congestion control algorithm infers a packet loss through missing acknowledgments (ACKs) and flatly reduces the dispatching rate with the assumption of network congestion in the relay routers.

1.1 Slower Window Increment Rate

TCP doubles the congestion window (cwnd) for each successful ACK in the slow start (SS) phase. In the congestion avoidance (CA) phase, cwnd increments one segment for each roundtrip time (RTT). The additive increase and multiplicative decrease cwnd growth pattern of the SS and CA phase require additional RTTs to finish the flows that cripple throughput performance i.e. slow cwnd growth rate affects TCP throughput performance.

$$ \begin{aligned}{l}cwnd_{i + 1} \, = \left\{ {\begin{array}{ll}{cwnd \, _{i} \, + \, 1,} & {SS} \\ {cwnd \, _{i} \, + \, \frac{1}{{cwnd \, _{i} }}}, & {CA} \\ \end{array} } \right. \hfill \\ \, \hfill \\ \end{aligned} $$
(1)

1.2 Flat Dispatching Rate Reduction

During the congestion control process, TCP flatly reduces the transmission rate by half irrespective of their utilization levels. The flat transmission rate reduction harshly degrades the least utilized TCP flows throughput performance. The new slow start threshold (ssthresh) value i.e. transmission rate reduction given in the Eq. (2)

$$ ssthresh = \frac{{cwnd_{i} }}{2} $$
(2)

The weakly structured TCP congestion control algorithm collapses under wireless environment as it fails to recognize and isolate congested wireless link losses from the wireless error losses, results in needless transmission rate reduction. Past studies and analysis [12,13,14,15] reveal TCP’s inability to suppress false window reduction results in throughput degradation and poor link utilization. However, explicit congestion notification (ECN) [18] based packet marking algorithms [19,20,21,22,23,24,25,26,27,28] proposed to enhance TCP’s performance in the multi-hop wireless environment, fail to address slow cwnd increment rate, and flat transmission rate reduction. The IVAN’s FWI algorithm and window utility based rate reduction proposed in this paper suppress TCP’s limitations in vehicular networks.

2 Background and Related Works

This section primarily reviews the recent progress in the ECN based packet marking algorithms developed for multi-hop wireless networks. TCP-optimal queue selection (TCP-OQS) [19] approach proposed to enhance throughput largely depends on the relay nodes dual queuing algorithm that separately buffers data and ACK packets. The relay nodes initiate ECN when the packet arrival rate exceeds the queue threshold. In the sender side, TCP-OQS supports additive increase window growth algorithm and rate reduction based on relay router’s queue length information.

The joint window based congestion control approach and rate-based distributed scheduling algorithm proposed in the paper [20] heavily relies on virtual rate estimation. The window increment algorithm follows additive increase growth pattern and initiates transmission rate reduction from the missing ACKs. The scheduling algorithm estimates virtual rate from the packet arrival rate and link capacity. The window based flow control approach remain defenseless against wireless error losses. The non-congestion events (NCE) [21] algorithm, a modified form of ECN/queue length based NewReno [29] algorithm overcomes the false rate reduction due to the non-congested random loss in wireless networks. The ECN helps the sender to avoid spurious transmission rate reduction and faster packet retransmission during random losses.

Non-congested retransmission timeouts (NRT) [22] TCP identifies wireless losses using NRT-detection, NRT-differentiation, and NRT-reaction. During timeouts, the sender confirms ECN marked ACK packets as the indication of network congestion and trims down the dispatching rate. Ironically, the sender considers unmarked ACK packets as spurious timeout and re-transmits the old packet without reducing the transmission rate.

Hosam El-Ocla proposed congestion control enhancement for random loss (CERL) [23], a sender side modified version of NewReno. The CERL algorithm identifies the bottleneck link loss from the RTT latency measurements that includes queuing latency, round trip propagation time latency, and service latency. The packet latency based CERL congestion control algorithm prevents needless rate reduction for wireless transmission losses.

The explicit link failure notification (ELN) TCP [24] identifies non-congested wireless losses from the wireless relay router’s re-transmission start notification message. The ECN based flow control mechanism avoids spurious timeouts, regulate packet reordering and limits cwnd shrinking associated with multiple packet drops. The feedback assisted congestion control algorithm [25] uses queue length information and the advertised window (awnd) value to adjust the dispatching rate. The sender uses RTT latency and queue length information to fix the dispatching rate that achieves fairness among different TCP flows.

The combined TCP bandwidth allocation (TBA) algorithm and wireless explicit congestion notification (WECN) mechanism [26] proposed to improve fairness over the heterogeneous wireless networks and estimate the optimal window size. The TBA/WECN approach divided into three functional parts: TBA calculation, ACK identification and writing ACK option. The ACK identification recognizes and detects the ECN bit set of the downstream wireless nodes. The writing ACK option writes the suitable window size in the advertised window of each ACK packet. The sender initiate flow control based on relay nodes WECN marked echo packets.

The TCP-Jersey [27] consists of two key components, the available bandwidth estimation (ABE) [30] algorithm, and the congestion warning (CW) router configuration. At the sender side, ABE estimates the wireless links available bandwidth and helps the sender to re-adjust the transmission rate. In the case of network congestion, the relay routers alert the end stations by marking CW field in the packets. The relay routers packet marking helps the sender to discriminate the packet losses caused by network congestion from wireless link errors. TCP New Jersey [28] minor modification of Jersey, uses timestamp option along with the ABE algorithm.

In addition to ECN based congestion control approach, several RTT delay based congestion control algorithms [31,32,33,34,35] proposed for multi-hop wireless network. In the delay based approach, TCP’s window updates solely rely on RTT measurement i.e. observing TCP acknowledgments inter-arrival times. In multi-hop wireless networks, delay based congestion control remain vulnerable to spurious timeout that arises due to relay nodes re-routing during link failure.

In summary, TCP congestion control algorithm blended with packet marking mechanism focused on wireless error packet loss detection and isolation. The ECN based packet marking algorithm discussed in the literature fails to address TCP’s inherent limitations such as slower window increment rate and the flat dispatching rate reduction during congestion control.

3 TCP IVAN

The IVAN customized for inter vehicular wireless access environment requires four major modifications.

  • Modification 1: The sender side cwnd growth algorithm i.e. FWI algorithm.

  • Modification 2: The relay node’s single queue dual marking (SQDM) algorithm.

  • Modification 3: The receiver’s congestion echo state variables.

  • Modification 4: The congestion control algorithm based on the window utility and relay router’s explicit congestion notification.

3.1 Flexible Window Increment (FWI) Algorithm

The sender side FWI algorithm divides the entire cwnd growth into five thresholds based on the receiver’s advertised window capacity. The sender uses the thresholds to monitor TCP flows growth level and initiates rate reduction based on the cwnd growth. The threshold γ 1 represents the initial window (int_wnd), γ 5 the maximum window (max_wnd), γ 3 centroid window, γ 2 lower midpoint between γ 1 and γ 3 , and γ 4 the upper midpoint between γ 3 and γ 5 . The threshold above γ 3 referred as optimum window utility and below as a lower window utility. In the optimum window utility, the cwnd growth rate exceeds 50% of the receiver advertised capacity and vice versa in the lower utility region. For each successful ACK, the FWI updates the transmission rate by computing current cwnd, γ 5 , and increment parameter (inc_p). The inc_p determines the cwnd growth and takes the value 0.125, higher inc_p value results in bottleneck link congestion and smaller inc_p value leads to slower window increment rate. The SS phase cwnd update function and the window threshold levels computed using the following equations.

$$ \begin{aligned} cwnd_{i + 1} = cwnd_{i} + (\gamma_{5} - cwnd_{i} ) * inc\_p;\;\quad 0\,<\,cwnd < \gamma_{5} \hfill \\ \hfill \\ \end{aligned} $$
(3)
$$ \gamma_{{_{{_{5} }} }} = max\_wnd $$
(4)
$$ \gamma_{{_{{_{1} }} }} = int\_wnd $$
(5)
$$ \gamma_{{_{{_{3} }} }} = \frac{{\gamma_{{_{{_{1} }} }} + \gamma_{{_{{_{5} }} }} }}{\text{2}}\quad \left( {\text{centroid}} \right) $$
(6)
$$ \gamma_{{_{{_{2} }} }} = \frac{{\gamma_{{_{{_{1} }} }} + \gamma_{{_{{_{3} }} }} }}{\text{2}}\quad \left( {\text{lower midpoint}} \right) $$
(7)
$$ \gamma_{{_{{_{4} }} }} = \frac{{\gamma_{{_{{_{3} }} }} + \gamma_{{_{{_{5} }} }} }}{\text{2}}\quad \left( {\text{upper midpoint}} \right) $$
(8)

When the cwnd reaches the maximum receiver advertised capacity (γ 5), FWI ends the SS phase and moves to CA phase. In the maximum window condition i.e. cwnd = γ 5 , the sender compares current RTT against the sum RTT i.e. the average of last three RTTs and sets the CA phase new ssthresh. The ssthresh and cwnd updated using the following equation.

$$ \begin{aligned} ssthresh = \left\{ {\begin{array}{*{20}c} {\gamma_{{_{5} }} *\frac{3}{4};} & {RTT < Sum\_RTT} \\ {\gamma_{{_{5} }} *\frac{1}{2};} & {RTT \ge Sum\_RTT} \\ \end{array} } \right. \hfill \\ \hfill \\ \end{aligned} $$
(9)
$$ cwnd_{i} = ssthresh $$
(10)
$$ cwnd \, _{i + 1} \, = cwnd \, _{i} \, + \frac{{\left( {\gamma_{5} - \, cwnd \, _{i} } \right)*inc\_p}}{2} $$
(11)

The FWI cwnd update function achieves the faster growth rate and remains in the optimum window utility region for longer RTTs i.e. cwnd quickly reaches 50% receiver’s advertised capacity. From the Eqs. (1) to (12), theoretical FWI and additive increase growth computed with no loss condition and shown in the Fig. 2. For the cwnd computations, γ 1 set as 1 and γ 5 as 64 for the maximum duration of 150 RTTs. The FWI algorithm remains in the optimum window utility region for longer 118 RTTs and achieves better improvement in the throughput rate. On the other hand, the SS phase of additive increase window pattern ends within 7 RTTs and shifts to CA phase that substantially slows down the growth rate.

Fig. 2
figure 2

Exponential versus flexible Window Growth

3.2 Single Queue Dual Marking (SQDM) Mechanism

The IVAN congestion control algorithm heavily depends on relay router’s packet marking information. The idea behind SQDM carved from the NCE’s ECN based queue mechanism [21] with minor modifications in the threshold settings and congestion notification, i.e. two level notifications. The existing NCE’s queuing algorithm with smaller queue threshold value falsely initiates spurious congestion alert during re-routing, results in needless transmission rate reduction. The SQDM approach maintains two threshold levels (Q Th1 and Q Th2 ) to notify the sender about the relay nodes queue buildup. The Q Th1 fixed as 50% of average queue size, provides an adequate buffer capacity to store the packets during re-routing that occurs due to link breakage. The Q Th2 marking level chosen as 75% of the total average queue size (Q Total ), notifies the sender about the critical queue buildup in the relay routers (Fig. 3).

Fig. 3
figure 3

Queue model: single queue dual marking (SQDM)

The SQDM interprets the queue accumulation above the Q Th1 and Q Th2 as a symptom of incipient and severe congestion, initiates first and second level congestion notification to the sender. The SQDM estimates queue accumulation from the current average queue size (Q Avg_cur ) [10] as

$$ \begin{aligned} Q_{Avg(k + 1)} = (1 - Q_{wt} ) * Q_{Avg(k)} + Q_{wt} * Q_{cur(k)} \hfill \\ \hfill \\ \end{aligned} $$
(12)

where Q cur is the current queue size and Q wt be the queue weight, takes the value 0.2 [27]. For every packet arrival, SQDM checks the status of the Q Avg_cur , if the Q Avg_cur exceeds Q Th1 , relay routers mark the incoming packets with the congestion experienced (CE) field in the internet protocol (IP) header [36] that alerts the sender about incipient network congestion. When the Q Avg_cur exceeds Q Th2 , the relay router performs the second level marking by initiating a newly added severe congestion experience (SCE) flag in the IP packet header. The relay router dual level marking improves sender alertness towards network congestion. In short, the sender will have an update on appropriate congestion level and reduces the transmission rate accordingly. Furthermore, the SQDM algorithm with improved marking threshold overcomes the spurious congestion notification impact.

3.3 Receiver Echo Notification

The receiver enables explicit congestion notification echo (ECE)/severe congestion notification echo (SCNE) flag in the TCP header based on relay router’s CE/SCE marking. On receiving the ECE/SCNE echo, the sender initiates congestion control process and quickly acknowledges the receiver about transmission rate reduction. The sender uses congestion window reduced (CWR) TCP flag for ECE/SCNE echo acknowledgment. The following limitations observed in the existing receiver echo notification that remain unsuitable for dual level congestion alert.

  1. i.

    On receiving the CWR response flag, the receiver stops enabling future congestion echo flags in the TCP header and remains ineffective against the relay nodes small sized buffer [37] frequent queue variations.

  2. ii.

    After receiving the first level CWR flag, the receiver fails to initiate second level notification i.e. SCNE notification.

To overcome the existing receiver echo notification limitations, IVAN uses two state variables approach as shown in the Fig. 4.

Fig. 4
figure 4

TCP IVAN flow diagram

The receiver maintains packet marking-1 (PM1) and packet marking-2 (PM2) variables that precisely echoes the relay router’s congestion notification to the sender. For non-congested condition, the receiver state variables remain inactive (‘PM1 = PM2 = 0′). For first level CE notification, receiver enables ECE flag in the ACK packet to notify the incipient congestion. On receiving the first level CWR flag, the receiver stops first level echo and activates PM1 (‘PM1 = 1 and PM2 = 0′) i.e. no further marking of level 1 notification. For second level SCE packet marking, receiver enables SCNE flag to notify the severe congestion. On receiving the second level CWR response flag, receiver activates both the state variables (‘PM1 = PM2 = 1′). The state variables PM1 and PM2 reset to zero for no marking condition. The receiver congestion echoes based on two state variables swiftly react to queue buildup and supports two level congestion notification (Table 1).

Table 1 Receiver state variable update

3.4 Sender Congestion Control Algorithm

The proposed IVAN congestion control algorithm responds solely to receiver ECE/SCNE notification levels. For the first level ECE echo flag, IVAN reduces the transmission rate based on cwnd growth level. The ssthresh and cwnd of TCP flow above the γ 3 threshold level updated as

$$ ssthresh \, = \frac{{cwnd \, _{i} \, + \, \gamma_{{_{2} }} }}{2}; \quad cwnd \, \ge \gamma_{3} $$
(13)
$$ cwnd \, _{i + 1} \, = cwnd \, _{i} \, + \left( {\gamma_{{_{5} }} - \, cwnd \, _{i} } \right) * dec\_p \, 1; \quad ssthresh \, < \, cwnd \, < \gamma_{{_{5} }} $$
(14)

where dec_p 1 is the first order decrement parameter and takes the value \( \tfrac{1}{16} \)

However, the ssthresh of TCP flow below the γ 3 threshold level updated as

$$ ssthresh \, = \frac{{cwnd \, _{i} \, + \left( {0.25 * \gamma_{{_{2} }} } \right) \, }}{2};\quad cwnd < \gamma_{3} $$
(15)

The cwnd updated using the Eq. (14)

While on receiving the second level SCNE marking, the sender initiates slow start and sets the flat ssthresh regardless of flow utility levels. In the congestion control process, the cwnd follows an additive increase pattern until the ssthresh limit and a newer cwnd increment pattern beyond the ssthresh. The level 2 notification ssthresh and cwnd updated as

$$ ssthresh \, = \frac{{cwnd_{i} \, + \, \gamma {}_{{_{2} }}}}{4} $$
(16)
$$ \begin{aligned} cwnd_{i + 1} \, = \text{ }\left\{ {\begin{array}{ll} {cwnd \, _{i} \, + \, 1;} & {cwnd \, < \, ssthresh} \\ {cwnd \, _{i} \, + \left( {\gamma_{{_{5} }} - \, cwnd \, _{i} \, } \right) * dec\_p \, 2 ;} & { cwnd \, ssthresh} \\ \end{array} } \right.\text{ } \, \hfill \\ \hfill \\ \end{aligned}. $$
(17)

where dec_p 2 is the second order decrement parameter and takes the value \( \tfrac{1}{32} \)

In short, IVAN congestion control algorithm uses three different scales (Eq. (13), (15) and (16)) to reduce the transmission rate based on the flow utilization level. Furthermore, the cwnd growth in the congestion control phase achieves a substantial improvement in recovery rate with lesser buffer packet drops over the standard TCP’s exponential growth mechanism.

4 Performance Analysis

In this section, an extensive experimental analysis of IVAN was carried out against two standard TCP variants (NCE and Westwood) under multi-hop vehicular environment. TCP Westwood, NCE, and IVAN use the different queuing approach in the relay nodes, i.e. Westwood uses FIFO, NCE uses ECN based active queue, and IVAN uses SQDM queuing algorithm. The vehicular mobility scenarios created using VanetMobisim [38] with roads, traffic lights, car movement, edges, turns, etc., The network simulator (NS-2) [39] used for higher layer protocol interaction (routing, transport protocol, and FTP traffic model). Two sets of experiments carried out to measure the congestion control algorithm and queuing performance under re-routing and varying wireless traffic conditions. To evaluate the performance of IVAN, NCE and Westwood, the four metrics namely, throughput, end-to-end packet latency, packet loss rate and packet drop chosen as per the guidelines of RFC 5166 [40]. Table 2 gives a more detailed description of simulation parameters used in the creation of vehicular experimental setup.

Table 2 Simulation parameters

4.1 Mobility Versus Metrics

The primary analysis measures the standard TCP’s congestion control algorithm performance against the IVAN under high mobility condition. The number of vehicular nodes chosen as 100 for urban, sun-urban and highway scenarios. The metrics evaluated by varying the vehicle speed, i.e. 10, 15 and 20 m/s for urban, sun-urban and highway scenarios. The mobility scenario also measures the queuing algorithm performance during re-routing associated with link failure. The proposed IVAN uses SQDM queue, NCE enabled with ECN and Westwood uses FIFO queuing mechanism.

The graph in the Fig. 5 clearly illustrates the severe throughput degradation of Westwood and NCE performance under high mobility conditions. The FIFO based Westwood TCP misinterprets link failure packet drop as an early indication of congestion and cut down the dispatching rate. Furthermore, the existing Westwood and NCE slow window growth rate result in higher packet latency and slow throughput rate. The ECN based NCE congestion control algorithm cwnd growth suffers due to spurious congestion alert limitations that severely deteriorates throughput performance.

Fig. 5
figure 5

Mobility versus Metrics. a Throughput. b Packet drop. c Packet loss rate. d End-to-end latency

On the other hand, IVAN uses higher QTh1 SQDM queues (50% reserve for storage) have an adequate capacity to hold the packets during re-routing that avoids spurious congestion notification. IVAN congestion control algorithm improves throughput by a significant margin (12.6 and 10.2% against Westwood and NCE), reduction in buffer overflows (95.4 and 94.8% against Westwood and NCE), loss rate (96 and 95.3% against Westwood and NCE) and end-to-end latency (21 and 12% against Westwood and NCE).

4.2 Number of Active TCP Traffic Flow Versus Metrics

The second analysis measures the TCP’s traffic handling capacity and queuing algorithm performance in the inter-vehicular environment. TCP traffic varies from a minimum of 2 connections to a maximum of 8 connections with the average velocity of 10 m/s (Fig. 6).

Fig. 6
figure 6

Traffic Connections versus Metrics. a Throughput. b Packet drop. c Packet loss rate. d End-to-end latency

In high traffic conditions, the packet arrival rate exceeds relay routers processing rate and quickly overwhelms the buffer capacity. The IVAN’s SQDM queuing algorithm initiate level 1 and level 2 congestion notification that stabilizes the flow rate in the relay nodes. The IVAN’s cwnd rate reduction based on the flow utilization level improves recovery mechanism. In contrast, NCE flatly reduces the dispatching rate by half that cripples lower window utility flows throughput performance. The effectiveness of IVAN’s improved recovery mechanism and dual level SQDM queue mechanism reflected in the overall throughput performance improvement (12 and 10.6% against Westwood and NCE). Furthermore, IVAN achieves substantial reduction in buffer packet drop (97.4 and 97.3% against Westwood and NCE), loss rate (97.8 and 97% against Westwood and NCE) and end-to-end packet latency (20 and 15.5% against Westwood and NCE).

5 Conclusion

The IVAN TCP proposed in this paper overcomes flat window reduction and slower window increment rate limitations in the multi-hop inter vehicular environment. The IVAN uses the relay routers two level congestion notification to identify the packet drop of wireless channel errors from the congested link loss. The ECE/SCNE flag substantially improves sender’s decision to initiate congestion control during packet drops that eliminate the false window reduction. The FWI algorithm uses a unique window increment pattern that accelerates the transmission rate in the SS and CA phase. The IVAN fixes new ssthresh based on TCP flows utility level that suppresses flat window reduction and improves throughput performance. The inter vehicular simulation outcome highlights the proposed IVAN TCP achieves improvement in throughput and substantial reduction in loss rate, packet drops, and end-to-end packet latency reduction against Westwood and NCE.