Një përmbledhje e algoritmit Nagle për komunikimin e rrjetit TCP

Përmbajtje:

Një përmbledhje e algoritmit Nagle për komunikimin e rrjetit TCP
Një përmbledhje e algoritmit Nagle për komunikimin e rrjetit TCP
Anonim

Algoritmi Nagle, i quajtur sipas inxhinierit John Nagle, u krijua për të reduktuar mbingarkesën e rrjetit të shkaktuar nga problemet e vogla të paketave me aplikacionet TCP. Implementimet UNIX filluan të përdorin algoritmin Nagle në vitet 1980 dhe ai mbetet një tipar standard i TCP sot.

Si funksionon algoritmi Nagle

Algoritmi Nagle përpunon të dhënat në anën dërguese të aplikacioneve TCP me një metodë të quajtur nagling. Ai zbulon mesazhe të përmasave të vogla dhe i grumbullon ato mesazhe në pako TCP më të mëdha përpara se të dërgojë të dhëna përmes telit. Ky proces shmang gjenerimin e një numri të panevojshëm të madh të paketave të vogla.

Specifikimi teknik për algoritmin Nagle u botua në vitin 1984 si RFC 896. Vendimet për sasinë e të dhënave që duhen grumbulluar dhe sa kohë duhet pritur ndërmjet dërgimeve janë kritike për performancën e tij të përgjithshme.

Përfitimet e Nagling

Nagling mund të përdorë në mënyrë efikase gjerësinë e brezit të një lidhjeje rrjeti në kurriz të shtimit të vonesave ose vonesave. Një shembull i përshkruar në RFC 896 ilustron përfitimet e mundshme të gjerësisë së brezit dhe arsyen e krijimit të tij:

  • Nëse një aplikacion TCP që ndërpret goditjet e tastierës dëshiron të komunikojë çdo karakter që shtypet me një marrës, ai mund të gjenerojë një seri mesazhesh, secila prej të cilave përmban 1 bajt të dhënash.
  • Përpara se këto mesazhe të dërgohen nëpër rrjet, secili duhet të jetë i paketuar me informacionin e titullit TCP siç kërkohet nga TCP/IP. Madhësia e secilit titull varion nga 20 deri në 60 bajt.
  • Pa bezdisje, ky aplikacion shembull do të gjeneronte mesazhe rrjeti që përbëhen nga 95 për qind ose më shumë informacion mbi kokën (të paktën 20 nga 21 bajt) dhe 5 për qind ose më pak të dhëna aktuale nga tastiera e dërguesit. Duke përdorur algoritmin Nagle, të njëjtat të dhëna mund të shpërndahen duke përdorur më pak mesazhe, duke rezultuar në kursime të mëdha në gjerësi bande.

Aplikacionet kontrollojnë përdorimin e tyre të algoritmit Nagle me opsionin e programimit të prizës TCP_NODELA. Sistemet Windows, Linux dhe Java zakonisht aktivizojnë Nagle si parazgjedhje. Prandaj, aplikacionet e shkruara për ato mjedise duhet të specifikojnë TCP_NODELAY për të fikur algoritmin.

Image
Image

Limitations

Aplikacionet që kërkojnë një përgjigje të shpejtë të rrjetit, si telefonatat me video dhe lojërat në internet, mund të mos funksionojnë mirë kur Nagle është i aktivizuar. Vonesat e shkaktuara ndërsa algoritmi kërkon kohë shtesë për të mbledhur pjesë më të vogla të të dhënave mund të shkaktojnë vonesë të dukshme vizualisht në një ekran ose në një transmetim audio dixhital. Aplikacione të tilla zakonisht çaktivizojnë Nagle.

Ky algoritëm u zhvillua fillimisht në një kohë kur rrjetet kompjuterike mbështetnin më pak gjerësi bande se sa sot. Shembulli i përshkruar më sipër u bazua në përvojat e John Nagle në Ford Aerospace në fillim të viteve 1980, ku shkëmbimet bezdisëse në rrjetin e ngad altë, të ngarkuar shumë dhe në distanca të gjata të Fordit kishin kuptim të mirë. Sot ka gjithnjë e më pak situata ku aplikacionet e rrjetit mund të përfitojnë nga algoritmi i tij.

Algoritmi Nagle është i përdorshëm vetëm me TCP. Protokollet e tjera, të tilla si UDP, nuk e mbështesin atë.

Recommended: