• No se han encontrado resultados

8.4.1.1 Fairness Considerations

To show the influence of the delayed ack timer on the throughput on the application layer, the simulation network in Figure 8.18 was set up.

Client 1 is connected to Server 1 and Client 2 to Server 2. Both clients send full packets with a payload of 1452 bytes. Client 1 is config- ured to send delayed SACK chunks for every second packet, but the timer is varied from 0 to 500 ms in 10 ms intervals. Client 2 sends selective acknowl- edgments for each packet, so no delayed ack timer is set. The connections share a bottleneck link with a data rate of 100 Mbps. No delay or bit error rates are configured.

The solid graphs of Figure 8.19 show the performance results of the runs. Each run was repeated 100 times. The vertical bars show the 95% confidence intervals. It is obvious that the associations without delayed SACK chunks have a 10% higher throughput than the ones without delayed SACK chunks.

Client 1 Client 2 Router 1 Router 2 Server 1 Server 2 100 Mbps 20 ms delay

Figure 8.18: Scenario with bottleneck link

0.0 0.1 0.2 0.3 0.4 0.5 56 58 60 62 64 66 68 70 Sack period @sD Throughput @ kBps D

Without delayed Sacks, competitor with I-Bit With delayed Sacks and I-Bit

Without delayed Sacks With delayed Sacks

Figure 8.19: Delayed SACKs with and without SACK-IMMEDIATELY option

From 100 ms on there is no increase any more. Associations, which are configured with the default delay time of 200 ms, fall in this category.

To find out the reason for this difference in performance, the RTT of the DATA chunks was measured. Whenever the delayed SACK-timer expired, meaning that in the last, e.g. 200 ms only one packet arrived, the congestion window suddenly dropped, leaving the competitor the possibility to send more data. Further investigation showed that the reason for the delay was

a lost packet that was the last in a flight of at least two packets that were allowed by cwnd. A loss of consecutive packets led to an even longer phase to recover.

For the tests the simulation was changed to send the DATA chunk, that was the last in the group of packets before cwnd was exhausted, with the I-Bit set.

The results are reflected by the dashed pair of graphs in Figure 8.19. The difference in throughput between the connections with and without delayed SACKs has decreased to 4%.

This strategy to set the I-Bit for the last DATA chunk before the cwnd forbids the sending of more data, can also be beneficially used on error-prone links. 0 200 400 600 800 1000 1200 1400 0 20 40 60 80 100 120 140

User Message Size @BytesD

Throughput

@

kBps

D

RTT=0.2, PER=0.005, Theory RTT=0.2, PER=0.005, I-Bit set RTT=0.2, PER=0.01, Theory RTT=0.2, PER=0.01, I-Bit set

Figure 8.20: Delayed SACKs with and without I-Bit on error-prone link Figure 8.20 compares the results for links with a packet error rate of 1% and 0.5%. The gain in throughput is up to 10%, if the I-Bit is set in the last packet, before the cwnd is exhausted.

8.4.1.2 The sender has reduced its RTO

As mentioned in Section 2.2, SCTP was designed as transport protocol for signaling networks. These networks have a high demand concerning avail- ability and fault tolerance. A packet should not need more than 800 ms to

reach the receiver including necessary retransmissions [38]. Therefore, RTO and the heartbeat timer have to be configured according to the measurement results in [48], for instance 10 ms for RTOM in and 1 s for the Heartbeat

Interval Timer. As a consequence, timer based retransmissions will be sent already after 10 ms if the sender has not received an acknowledgment for the message. If the sender has no influence on the configuration of the parame- ters on the receiver side, the fact that the delayed acknowledgment timer is still set to the default value of 200 ms can lead to the graph in Figure 8.21.

à à à à à à à à ì ì ì ì ì ì ì ò ò ô ô ô ô ô ô ô x x x 0.00 0.5 1.0 1.5 2.0 2.5 3.0 2 4 6 8 Time @sD TSNs

HEARTBEATs Primary Path SACKs Secondary Path SACKs Primary Path DATA Secondary Path DATA Primary Path

Figure 8.21: Retransmission behavior when parameters on sender and receiver do not match

Every 400 ms a DATA chunk is sent. After RTO milliseconds the timer expires and a timer based retransmission is initiated on the second path. If the sender has no influence on the configuration of the parameters on the receiver side and the receiver has not changed the default values, timer based retransmissions will be initiated on the second path after 10 ms. On the reception of the second packet, a SACK chunk will be sent immediately. The value for RTO is doubled, until the next HEARTBEAT chunk is sent and acknowledged to prove the activity of the path, which results in the resetting of the path failure counter and the value for RTO .

A solution for this unnecessary sending of timer based retransmissions is the setting of the I-Bit in the DATA chunk to prompt the receiver to send a SACK chunk without delay. Every time the sender has reduced its RTO to a

value less than the default delay acknowledgment time, the I-Bit should be set.

8.4.1.3 Short-term associations

Another issue that can force an association to be delayed is the shutting down of an association. When the application hands its last message down to the transport layer, the SCTP status changes to SHUTDOWN-PENDING. Then SCTP waits until all messages are sent and acknowledged, until a SHUTDOWN chunk is sent. This time it might be the acknowledgment of the last chunk that can cause the delay.

Thinking of short-term associations that occur, for instance, when DNS requests are sent over SCTP, a delay of 200 ms would allocate resources much longer than necessary. Assuming that a server has to answer DNS requests with a rate of λ, then, according to Little’s Law, the long-term average number of requests in the system is

E[N ] = E[V ] ∗ λ (8.22)

where E[V ] is the average time a job stays in the system. When this time can be reduced by 200 ms, then either the number of requests are reduced, too, and the resources are saved, or the arrival rate can be increased. As an association without delayed acknowledgment lasts only 1 or 2 ms, the benefit would be significant.

Documento similar