Nagle algoritmoa TCP sareko komunikazioarentzat

Naglaren algoritmoa , John Nagle ingeniaria izendatua, TCP aplikazioekin "pakete arazo txikiak" eragindako sare-pilaketak murrizteko diseinatu zen. UNIX inplementazioek Nagleren algoritmoa 1980ko hamarkadan hasi zuten, eta gaur egun TCPren ezaugarri estandarra izaten jarraitzen du.

Nola funtzionatzen du Nagle Algoritmoak?

Nagle-ren algoritmoak prozesatzen ditu TCP aplikazioen bidalketaren datuak, nagling izeneko metodo batez . Tamaina txikiak detektatzen ditu eta TCP pakete handiagoetan metatzen da, alanbrean datuak bidaltzen hasi aurretik, pakete txiki kopuru nahikorik ez sortzeko. Nagle algoritmoaren zehaztapen teknikoa 1984an argitaratu zen RFC 896. Datu gehiegi biltzeko erabakiak eta bidaltzen diren bitartean itxaron beharrekoak funtsezkoak dira errendimendu orokorrerako.

Nagling-k sarearen konexio- banda zabalera eraginkorragoa izan dezake atzerapenak gehitzea ( latentzia ). RFC 896an deskribatutako adibide batek banda zabalera potentzialak eta sorrera arrazoia erakusten ditu:

Aplikazioak Nagle algoritmoaren erabilera kontrolatzen du TCP_NODELAY socket programazio aukera erabiliz. Windows, Linux eta Java sistemek normalean Nagle gaitzen dute normalean, beraz ingurune hauei idatzitako aplikazioak TCP_NODELAY zehaztu behar dute algoritmoa desaktibatzeko.

mugak

Nagle-ren algoritmoa TCP-rekin soilik erabil daiteke. UDPrako beste protokoloek ez dute onartzen.

Sareko erantzun azkarra behar duten TCP aplikazioek, Internet bidezko deiak edo lehen pertsonan jaurtitzailearen jokoak bezala, ez dute ondo funtzionatuko Nagle gaituta dagoenean. Algoritmoak datu zati txikiagoak muntatzeko denbora gehiago hartzen duenean atzerapenak eragiten du atzerapen nabaria nabarmenki pantailan edo audio korrontearen bidez. Aplikazio hauek normalean Nagle desgaitzen dute.

Algoritmo hau jatorriz garatu zen garai batean ordenagailuek sareak askoz ere gutxiago banda zabalera onartzen dutena baino. Goian deskribatutako adibidea Ford Aerospace-n John Nagle-ren esperientziak 1980ko hamarkadaren hasieran oinarritzen zen, non urruneko konexio moteleko eta luzeko sareen arteko harremanak zentzurik ez zutela. Sarritan aplikazioek gaur egungo algoritmoa aprobetxatu dezaketen egoerak gero eta gutxiago daude.