• No results found

Selective Acknowledgments in Dynamic Intervals

3.5 Vehicular Transport Protocol Specification

3.5.3 Transport Layer Mechanisms

3.5.3.4 Selective Acknowledgments in Dynamic Intervals

The error control of VTP uses selective acknowledgments (SACKs) to provide re- liability. SACKs combine negative and positive acknowledgments by confirming received packets and reporting missing blocks in between. A cumulative ACK field

3.5. VEHICULAR TRANSPORT PROTOCOL SPECIFICATION 69 provides the maximum segment number up to which all packets were continuously received. The SACK blocks report missing packets between successfully received packets. This covers single packet loss as well as bulks of consecutively lost pack- ets.

The SACK blocks in VTP are options attached to the VTP acknowledgments. The maximum number of SACK blocks that a VTP receiver reports in one single ACK is restricted in order to respect the maximum packet size and keep the ACKs small. Note that further information of missing packets that did not fit into a SACK will be included in the subsequent SACK. The maximum number of SACK blocks depend on the scenario, as shown by the following example:

For the theoretical data channel rate of 2 Mbps and a packet size (i.e., maxi- mum transfer unit MTU) of 1500 bytes, the sender transmits a maximum of 166 packets per second. Assuming a typical ACK interval of 0.25 s, the sender trans- mits up to 41 packets within a single interval. The path characteristics analysis [82] shows a loss probability of 61% at a 2000 m source-destination distance, which is the maximum distance in the VTP assumptions. This leads to an expected loss of 25 packets. Note that the loss probability includes single as well as block losses. SACK reports consecutive losses in one block. Consequently, a maximum number of 25 SACK blocks is useful in this scenario. In case there are more blocks of packets lost than the maximum number of SACK blocks within one acknowledg- ment, VTP always reports the first losses in the sequence of the data stream.

The VTP receiver acknowledges a connection establishment packet or a probe packet (i.e., after a disruption) immediately. Beyond, the receiver sends SACKs in dynamic intervals because (i) to acknowledge each received packet separately would increase contention and network load and (ii) this scheme accounts for de- layed or reordered packets. The calculation of the SACK interval is based on the actual transmission rate and the source-destination distance, as shown in Equa- tion 3.3.

ack t = 1

trans rateav

∗ K

dn (3.3)

The acknowledgment timeoutack t is calculated by the inverse of the average transmission ratetrans rateav (i.e., inter-packet delay), a scaling constantK and

the distance d. The exponent n expresses an exponential impact of the distance. It is chosen as 0.5 to account for the erratic increase of loss probability in short distances (i.e., below 500 m) and the linear increase beyond, as evaluated in [82].

Equation 3.3 ensures that the SACK interval linearly increases with the trans- mission rate, but exponentially decreases with the distance.

Similar to the transmission rate, the VTP instance maintains the weighted av- erage of the SACK timer, as shown in Equation 3.4. Again, the factorβ determines the responsiveness to variations and will be adjusted through a simulative study.

ack tav = ack tav prev∗ β + ack tcurr∗ (1 − β) (3.4)

The SACKs inform the VTP sender about losses and successfully received packets in discrete time intervals, according to the ACK-timer above. This ACK in- formation impacts the retransmissions: When a packet is not acknowledged before the retransmission timer expires, it is considered lost and scheduled for retrans- mission. Thus, the retransmission timer is responsible to distinguish between lost, delayed or reordered packets on the sender side. A lost packet should be retrans- mitted as fast as possible, but superfluous repetition of delayed or reordered packets should be avoided.

However, the traditional method of retransmission timer calculation that re- lies purely on the measured RTT and RTT jitter is not appropriate in VTP for the following reasons: (i) The statistical results in [82] show that depending of the source-destination distance RTT fluctuation up to 300% occur frequently. (ii) The periodic acknowledgments in discrete time intervals circumvent a per-packet RTT measurement. The RTT measurement per-ACK results in decreased accuracy. (iii) VTP estimates the RTT and jitter by duplicating the (one-way) transmission delay of periodic acknowledgments which in imprecise due to the asymmetry on the for- ward and reverse path.

The VTP retransmission timer considers the actual ACK interval and an esti- mation of the RTT by comparing measured RTT and statistically expected RTT. In order to estimate the current RTT, the VTP sender also (i.e., like the VTP receiver) maintains an acknowledgment timer, as shown in Equations 3.3 and 3.4. The re- transmission timeout waits at least one ACK interval plus the estimated RTT. When the sender has continuous data ready for transmission, the retransmission timer may wait for two SACKs plus the estimated RTT in order to account for delayed packets that are acknowledged in the subsequent SACK. However, the retransmis- sion timer should not consider more than two ACK intervals because the increasing probability of a disruption may prevent retransmissions [82]. The number of ACK intervals which are considered in the retransmission timer calculation depends on the scenario and might use the source-destination distance as metric.

Furthermore, the sender estimates the RTT by comparing RTT measurements and statistics. The sender measures the transmission delay and maintains a smoothed RTT and RTT variation average value, similar to TCP. Upon reception of the first acknowledgment, the sender initializes the RT Tav with the absolute measured

value according to the timestamp in the packet and theRT T V ARav according to

the statistically expected variance for the given source-destination distance. Sub- sequent measurements maintain theRT TavandRT T V ARav, as shown in Equa-

3.5. VEHICULAR TRANSPORT PROTOCOL SPECIFICATION 71

RT T V ARav = (1 − β) ∗ RT T V ARav prev+ β ∗ |RT Tav− RT Tmeas|

RT Tav = (1 − α) ∗ RT Tav prev+ β ∗ RT Tmeas (3.5)

Equation 3.6 shows the complete VTP retransmission timeout calculation.

retrans t = N ∗ ack tav+ max(RT Tmeas, RT Tstat) (3.6)

with

RT Tmeas= RT Tmeas av + RT T V ARmeas av

RT Tstat= RT Tstat av+ RT T V ARstat av

The factorN is either one or two and determines the number of acknowledg- ments to be considered in the retransmission timeout calculation depending on the scenario, e.g., the source destination distance. In addition to the average ACK in- terval, the calculation adds the maximum of the measured and the statistical RTT for the given source-destination distance. This algorithm considers the ACK inter- val and the RTT in order to distinguish between delayed and lost packets.

3.5.3.5 Fairness

In VTP, fairness means that an intermediate node equally distributes the available bandwidth to contending flows that are routed via this node, according the max-min fairness algorithm [12].

In order to fairly distribute the available bandwidth, each intermediate node must (i) measure the available bandwidth in its vicinity. Section 3.5.3.3 describes this measurement of available wireless bandwidth in detail. (ii) Intermediate nodes require to know the number of flows and their respective bandwidth demands. However, the nodes cannot maintain a per-flow state, e.g., because path changes occur frequently due to mobility. Therefore, each VTP node periodically collects the number of flows and their bandwidth demands. The period depends on the de-

gree of node mobility which results in topology changes. The high degree of node mobility in VANETs (e.g., high relative speed of opposing traffic) requires a small period. A simulative study will determine the period and optimize it for specific scenarios, such as highways, in our future work.