The Karna algorithm is aimed at determining an accurate estimate of the round-trip delay time of messages when using the TCP transmission control protocol in computer networks . The algorithm was proposed by in 1987 . [one]
An accurate estimate of the round-trip delay time in TCP can be difficult to calculate due to the uncertainty created by the re-sent segments. The round-trip delay time is defined as the difference between the time the segment was sent and the time it took to receive confirmation. But after the packets have been resent, uncertainty is created. Confirmation can come from both the first transmission and subsequent retransmissions.
The Karna algorithm ignores retransmissions when calculating the round-trip delay time. The calculation of the round-trip delay is based only on known confirmation facts, i.e. taken only once.
But the simplicity of the implementation of this algorithm can lead to another problem. Imagine what happens if TCP sends packets after a sharp increase in delay. TCP calculates the transmission time interval and forwards the packet. If TCP ignores the round-trip delay time of all packets that are resent, an estimate of the round-delay time will never occur and TCP will resend all packets never adjusting to the increased delay.
The solution to this problem is to combine the transmission time intervals with the delay timer strategy. The snooze timer strategy calculates the initial wait interval. If the timer expires and causes reloading, TCP doubles the timer. This algorithm has been shown to be highly efficient in balancing network and network performance in the face of a large number of packet losses. [2] In the ideal case, the Karna algorithm would not be necessary. Networks with high round-trip time and retransmission time should be investigated using root cause analysis techniques. [3]
Notes
- ↑ Karn, Phil (1987). " Improving Round-Trip Time Estimates in Reliable Transport Protocols " ( PostScript ) in Proc. ACM SIGCOMM .: 2–7.
- ↑ Comer, Douglas. Internetworking with TCP / IP. - Fifth. - Prentice Hall, 2006.
- ↑ Chris Abella. What is Karn's Algorithm? . Optimizing TCP with an often overlooked algorithm for improving round-trip time estimation (inaccessible link) . ExtraHop (September 7, 2016) . Date of treatment January 18, 2017. Archived November 14, 2016.