Job Snijders, zhvillues i njohur i OpenBSD, drejtues i njërit prej komiteteve në IETF (Internet Engineering Task Force), autor i 11 RFC-ve që lidhen me rutimin dhe RPKI, si dhe krijues i IRRd (Internet Routing Registry Daemon), ka publikuar një grup patch-esh për OpenBSD që shtojnë një parametër të ri sysctl «net.inet.tcp.nodelay» për të çaktivizuar algoritmin e Nagle në nivel sistemi. Ky parametër i çliron zhvilluesit e aplikacioneve nga nevoja për të vendosur flamurin TCP_NODELAY për çdo socket më vete.
Algoritmi i Nagle përdoret për të grumbulluar mesazhe të vogla me qëllim uljen e trafikut. Algoritmi pezullon dërgimin e segmenteve të reja TCP deri sa të merret konfirmimi për pranimin e të dhënave të dërguara më parë ose deri në skadimin e afatit të pritjes. Për shembull, pa këtë grumbullim, gjatë dërgimit të 1 bajti transmetohen edhe 40 bajte shtesë me header-at TCP dhe IP të paketës, ndërsa me algoritmin e Nagle mesazhet e dërguara para se të vijë konfirmimi nga pala në distancë grumbullohen dhe dërgohen me një paketë të vetme. Për shkak të optimizimit «delayed ACK», që vonon dërgimin e paketave ACK, sinjalizimi përmes paketave të konfirmimit në praktikë nuk funksionon, dhe dërgimi i mesazheve të grumbulluara kryhet vetëm kur skadon koha e pritjes.
Snijders është i mendimit se, në kushtet e sotme, algoritmi i Nagle, i zhvilluar në një kohë kur disa përdorues konkurronin për një brez prej 1200 bodësh, është i vjetëruar dhe në rrjetet me shpejtësi të lartë sjell më shumë dëm sesa dobi. Së fundmi, një qëndrim të ngjashëm shprehu edhe Marc Brooker nga Amazon Web Services (AWS). Me argumentet në favor të çaktivizimit të algoritmit të Nagle si parazgjedhje mund të njiheni në një shënim të publikuar disa ditë më parë.
Për çaktivizimin e algoritmit të Nagle parashikohet opsioni TCP_NODELAY, i cili mund të vendoset për socket-e të veçanta të rrjetit. Modaliteti TCP_NODELAY përdoret prej kohësh në shumë aplikacione të OpenBSD, përfshirë openssh, httpd, iscsid, relayd, bgpd dhe unwind, dhe sipas Snijders ka ardhur koha që të ofrohet mundësia për ta aktivizuar atë për të gjithë socket-et TCP në nivel sistemi. Snijders propozon gjithashtu të diskutohet aktivizimi i TCP_NODELAY si parazgjedhje dhe kalimi i algoritmit të Nagle në kategorinë e një opsioni të veçantë që aktivizohet sipas nevojës.
Burimi: opennet.ru
