TCP Şəbəkə Əlaqə üçün Nagle alqoritmi

Mühəndis John Nagle adlı Nagle alqoritmi , TCP tətbiqləri ilə "kiçik paket problemləri" səbəb olduğu şəbəkə tıkanıklığını azaltmaq üçün nəzərdə tutulmuşdur. UNIX tətbiqləri Nagle alqoritmini 1980-ci illərdə istifadə etməyə başlamış və bu gün TCP-nin standart xüsusiyyətidir.

Nagle alqoritmi necə işləyir?

Nagle'nin alqoritmi, nagling adlı bir üsulla TCP tətbiqlərinin göndərən tərəfində məlumatları işlədir . Kiçik ölçülü mesajları algılar və daha yüksək TCP paketlərinə yığır, məlumatları telə göndərməzdən əvvəl, lazımsız şəkildə çox sayda kiçik paketin yaradılmasına mane olur. Nagle alqoritminin texniki göstəricisi 1984-cü ildə RFC 896 olaraq dərc edilmişdir. Bir çox məlumatların yığılması və göndərilmə arasında nə qədər gözləmələri barədə qərarları onun ümumi işi üçün vacibdir.

Nagling, gecikmələrin ( gecikmənin ) əlavə edilməsi hesabına şəbəkə bağlantısının bant genişliyini daha səmərəli istifadə edə bilər. RFC 896-da təsvir olunan bir nümunə potensial bant genişliyi fayda və yaradılışın səbəbini göstərir:

Uygulamalar, Nagle algoritmasını TCP_NODELAY yuva proqramlaşdırma seçeneğiyle kullanmalarını kontrol edir. Windows, Linux və Java sistemləri normal olaraq Naqlni default olaraq aktivləşdirir, belə ki, həmin mühitlərdə yazılmış ərizələr alqoritmi söndürmək istəyəndə TCP_NODELAY göstərməlidir.

Məhdudiyyətlər

Nagle alqoritmi yalnız TCP ilə istifadə edilə bilər. UDP daxil olmaqla digər protokollar onu dəstəkləmir.

İnternet zəngləri və ya birinci şəxs atıcı oyunları kimi sürətli şəbəkə cavabına ehtiyacı olan TCP tətbiqləri, Nagle aktiv olduqda yaxşı işləməyəcəkdir. Alqoritm daha kiçik məlumatların bir araya toplanması üçün əlavə vaxt apararkən gecikmələr ekranda və ya rəqəmsal audio axınında nəzərəçarpacaq lag tetikleyebilir. Bu proqramlar, adətən, Nagle'yi işə salır.

Bu alqoritm ilk dəfə kompüter şəbəkələri bu günə nisbətən daha az bant genişliyi dəstəkləyən bir zamanda inkişaf etdirildi. Yuxarıda təsvir olunan nümunə 1980-ci illərin əvvəllərində Ford Hava Aerodromunda John Nagle-in təcrübələrinə əsaslanaraq, onların yavaş-yavaş yüklənmiş uzun məsafəli şəbəkələrində nağılların daşınması yaxşı mənada idi. Şəbəkə tətbiqlərinin bu gün alqoritmindən faydalana biləcəyi yerlər getdikcə daha azdır.