Den Nagle-Algorithmus , deen nom Ingenieur John Nagle benannt gouf, gouf entwéckelt fir den Netzstauungsmoossnam ze reduzéieren, deen duerch "kleng Paketproblemer" mat TCP-Applikatiounen verursaacht gouf . UNIX- Implementatiounen hunn ugefaang mat den Nagel-Algorithmus an den 80er Joren ugefaangen ze ginn an et ass e Standard-Feature vun TCP haut.
Wéi de Nagel Algorithmus funktionnéiert
De Nagel-Algorithmus veraarbecht Daten iwwer d'Schécken vun TCP-Applikatiounen duerch eng Methode déi nagelt . Et erkennt kleng kleng Sendee an accumuléiert se a méi grouss TCP-Paketen, ier Dir Daten iwwer de Leider geséckt, an doduerch datt d'Generatioun vun onnéideg grousser Zuel vu klenge Paketen vermeide soll. Déi technesch Spezifizéierung fir den Nagel-Algorithmus gouf 1984 als RFC 896 publizéiert. D'Entscheedungen fir vill Daten fir ze accumuléieren an wéi laang d'Wäerter vun de Sender wart, sinn kritesch fir hir Gesamteproduktioun.
Nagling kann d' Bandbreedung vun enger Netzverbindung méi effizient benotze fir Käschte (Verzichten) ze maachen. E Beispill, deen am RFC 896 beschriwwe gëtt, illustréiert d'potenziell Bandbreidel Beneficiairen an d'Ursaach fir hir Schafung:
- Eng TCP-Applikatioun, déi Tastaturstécker ofgeschnidden an wëll all Charakter kommunizéiere komm un engem Empfänger gespaart ka ginn eng Serie vun Messagen, déi all 1 Byte vu Daten enthalen.
- Virun dës Noriichte kënnen iwwert dem Netz geschriwwe ginn, musse jidderee mat TCP-Header- Informatiounen verpakt ginn wéi néideg vum TCP / IP. All Header läit an der Gréisst tëscht 20 an 60 Bytes.
- Ouni Nodele gouf dës Beispill Applikatioun aus Netzwierker aus 95% oder méi Header-Informatioun (mindestens 20 vun 21 Bytes) an 5% oder manner aktuell Daten aus der Tastatur vum Sender. Mat dem Nagle Algorithmus kënnen déi selwechte Donnéeën stattdessen mat vill manner Messagen geliwwert hunn an 95% vum Inhalt als Tastatur Informatiounen - eng grouss Bandbreedespartiung hunn.
D'Applikatiounen kontrolléieren hir Benotzung vum Nagle-Algorithmus mat der TCP_NODELAY Socket Programméierungsoptioun. Windows, Linux a Java-Systeme all Standard produzéiert normalerweis Angle, sou datt Programmer fir dës Environnemente geschriwwe musse TCP_NODELAY spezifizéieren wann de Algorithmus ausgeschalt huet.
Beschränkungen
Nagle seng Algorithmus ass nëmme mat TCP brauchbar. Aner Protokollen, dorënner UDP net ënnerstëtzen dat.
TCP-Applikatiounen déi schnell Netzwierkaktioun erfuerderen, wéi Internet Telefonsgeriicht oder Shooter-Spiller fir d'éischt, kann net gutt funktionéieren wann Nagel aktivéiert ass. D'Verzögerungen verursaacht wann de Algorithmus eng Verlängerung ergëtt, fir kleng Elementer zesummenzemaachen, kënnen erkennbar ze lageren op enger Bildschirm oder an engem digitale Audiostrëtt ausléise kënnen. Dës Applikatiounen hunn normalerweis den Nagel ze deaktivéieren.
Dëse Algorithmus war ursprénglech zu enger Zäit entwéckelt, wou Computer-Netze vill manner Bandbreedung ënnerstëtzt wéi se haut maachen. Dëst Beispill ass am John Nagle seng Erfarungen am Ford Aerospace an de fréie 1980er Joren gegrënnt ginn, wou Naglingsofwier op hir langfristeg, stark belaascht Fernzéiungsennetz gutt bewäerten. Et ginn ëmmer méi manner Situatiounen, wou Netzapplikatioune haut vun sengem Algorithmus profitéieren.