GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Main page
  • Contents
  • Current events
  • Random article
  • About Wikipedia
  • Contact us
  • Help
  • Learn to edit
  • Community portal
  • Recent changes
  • Upload file
  • Special pages
  • Search
  • Donate

This view

  • Original page
  • New address

GeezerVison is showing en.wikipedia.org — Karn's algorithm - Wikipedia

(Redirected from Karn's Algorithm)

Karn's algorithm addresses the problem of getting accurate estimates of the round-trip time for messages when using the Transmission Control Protocol (TCP) in computer networking. The algorithm, also sometimes termed as the Karn-Partridge algorithm [1] was proposed in a paper by Phil Karn and Craig Partridge in 1987.[2]

Accurate round trip estimates in TCP can be difficult to calculate because of an ambiguity created by retransmitted segments. The round trip time is estimated as the difference between the time that a segment was sent and the time that its acknowledgment was returned to the sender, but when packets are re-transmitted there is an ambiguity: the acknowledgment may be a response to the first transmission of the segment or to a subsequent re-transmission.

Karn's Algorithm ignores retransmitted segments when updating the round-trip time estimate. Round trip time estimation is based only on unambiguous acknowledgments, which are acknowledgments for segments that were sent only once.

This simplistic implementation of Karn's algorithm can lead to problems as well. Consider what happens when TCP sends a segment after a sharp increase in delay. Using the prior round-trip time estimate, TCP computes a timeout and retransmits a segment. If TCP ignores the round-trip time of all retransmitted packets, the round trip estimate will never be updated, and TCP will continue retransmitting every segment, never adjusting to the increased delay.

A solution to this problem is to incorporate transmission timeouts with a timer backoff strategy. The timer backoff strategy computes an initial timeout. If the timer expires and causes a retransmission, TCP increases the timeout generally by a factor of two. This algorithm has proven to be extremely effective in balancing performance and efficiency in networks with high packet loss.[3] Ideally, Karn's algorithm would not be needed. Networks that have high round-trip time and retransmission timeouts should be investigated using root cause analysis techniques.[4]

References

  1. ↑ Computer Networks: A Systems Approach, The Morgan Kaufmann Series in Networking, Larry L. Peterson, Bruce S. Davie Edition 5, Elsevier, 2011 p.418
  2. ↑ Karn, Phil; Partridge, Craig (1987). Improving Round-Trip Time Estimates in Reliable Transport Protocols (PostScript). Proc. ACM SIGCOMM. pp. 2–7.
  3. ↑ Comer, Douglas (2006). Internetworking with TCP/IP (Fifth ed.). Prentice Hall.
  4. ↑ "What Is Karn's Algorithm?". Archived from the original on 2016-11-14. Retrieved 2016-09-07.

External links

  • RFC 2581 - TCP Congestion Control
  • RFC 2988 - Computing TCP's Retransmission Timer (obsoleted by RFC 6298)
  • RFC 6298 - Computing TCP's Retransmission Timer
Retrieved from "https://en.wikipedia.org/w/index.php?title=Karn%27s_algorithm&oldid=1134050804"
Categories:
  • Networking algorithms
  • Transmission Control Protocol
Hidden category:
  • Wikipedia articles needing page number citations from March 2015
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.