CoDel

QS-Informatik
Beteilige dich an der Diskussion!
Dieser Artikel wurde wegen inhaltlicher Mängel auf der Qualitätssicherungsseite der Redaktion Informatik eingetragen. Dies geschieht, um die Qualität der Artikel aus dem Themengebiet Informatik auf ein akzeptables Niveau zu bringen. Hilf mit, die inhaltlichen Mängel dieses Artikels zu beseitigen, und beteilige dich an der Diskussion! (+)

CoDel (ausgesprochen „koddel“) steht für controlled delay und bezeichnet einen Algorithmus zum Puffermanagement in Computernetzwerken. Designziel war die Vermeidung von Netzwerküberlastungen, welche durch den sogenannten Bufferbloat verursacht werden. Er wurde von Kathleen Nichols und Van Jacobson entwickelt[1] und als RFC 8289[2] veröffentlicht.

Klassische passive Pufferverwaltungsalgorithmen, wie etwa FIFO, verwerfen eingehende Pakete, wenn der Puffer voll ist. CoDel hingegen wählt gezielt Pakete zum Verwerfen aus und löscht diese frühzeitig aus dem Puffer um die Latenz gering zu halten. Damit zählt CoDel zur Klasse der aktiven Pufferverwaltungsalgorithmen.

CoDel ist ab Version 3.5[3] im Linux-Kernel enthalten, wurde aber von manchen Projekten, wie z. B. OpenWrt, auch auf ältere Kernel portiert.[4] Heute wird allerdings vorwiegend die Weiterentwicklung FQ-CoDel eingesetzt.

Ziele

Wie beschrieben, wurde CoDel entwickelt, um dem Problem des Bufferbloats in Computernetzwerken zu begegnen. Es wird zwischen „guten“ Puffern und „schlechten“ Puffern unterschieden. Gute Puffer bezeichnen die genutzten Kapazitäten, welche sich durch Bursts aufbauen und anschließend zügig wieder abgebaut werden. Schlechte Puffer sind dauerhaft gefüllte Puffer, welche nicht wieder abgebaut werden, da die Eingangs- und Ausgangsrate der Pakete in etwa gleich ist. Dies sorgt für sogenannte stading queues und verursacht Latenz im Netzwerkverkehr. Das Designziel von CoDel war es, zwischen diesen beiden Arten von Puffern zu unterscheiden, und so in der Lage zu sein, beide unterschiedlich zu bearbeiten.

Ein weiteres Ziel war es, CoDel parameterlos zu halten. Es sollte also keine Einstellparameter für Nutzer oder Softwareentwickler geben. Dadurch sollte die Implementierung und Nutzung des Verfahrens einfach und effizient möglich sein.

Einzelnachweise

  1. queue.acm.org
  2. K. Nichols, V. Jacobson, A. McGregor, J. Iyengar: RFC: 8289 – Controlled Delay Active Queue Management. Januar 2018 (englisch).
  3. pro-linux.de
  4. dev.openwrt.org

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.