Job Snijders، ایک تجربہ کار OpenBSD ڈویلپر، IETF (انٹرنیٹ انجینئرنگ ٹاسک فورس) کے کمیٹی لیڈر، روٹنگ اور RPKI سے متعلق 11 RFCs کے مصنف، اور IRRd (انٹرنیٹ روٹنگ رجسٹری ڈیمن) کے خالق، نے OpenBSD کے لیے پیچ کا ایک سیٹ شائع کیا ہے، سسٹم کی سطح پر ناگل الگورتھم کو غیر فعال کرنے کے لیے ایک نیا sysctl پیرامیٹر "net.inet.tcp.nodelay" شامل کرنا۔ یہ پیرامیٹر ایپلیکیشن ڈویلپرز کو انفرادی ساکٹ کے لیے TCP_NODELAY جھنڈا سیٹ کرنے سے آزاد کرتا ہے۔
ناگل کا الگورتھم ٹریفک کو کم کرنے کے لیے چھوٹے پیغامات کو جمع کرنے کے لیے استعمال کیا جاتا ہے۔ الگورتھم نئے TCP سیگمنٹس کو بھیجنے کو روکتا ہے جب تک کہ پہلے بھیجے گئے ڈیٹا کی وصولی کی تصدیق نہ ہو جائے یا ٹائم آؤٹ ہونے تک۔ مثال کے طور پر، جمع کا استعمال کیے بغیر، 1 بائٹ بھیجتے وقت، پیکٹ کے TCP اور IP ہیڈرز کے ساتھ اضافی 40 بائٹس بھیجے جاتے ہیں، اور Nagle الگورتھم کے استعمال سے، ریموٹ سائیڈ سے تصدیق کے آنے سے پہلے بھیجے گئے پیغامات جمع ہو جاتے ہیں اور ایک پیکٹ میں بھیجا۔ "تاخیر شدہ ACK" آپٹیمائزیشن کی موجودگی کی وجہ سے، جس سے ACK پیکٹ بھیجنے میں تاخیر ہوتی ہے، اقرار پیکٹ کے ذریعے سگنلنگ دراصل کام نہیں کرتی، اور جمع شدہ پیغامات اس وقت بھیجے جاتے ہیں جب ٹائم آؤٹ ہوتا ہے۔
سنائیڈرز کی رائے ہے کہ آج کی حقیقت میں، ناگل کا الگورتھم، ایک ایسے وقت میں تیار ہوا جب متعدد صارفین 1200 باؤڈ بینڈوڈتھ کے لیے مقابلہ کرتے تھے، پرانا اور پرانا ہے۔ تیز رفتار نیٹ ورکس یہ اچھے سے زیادہ نقصان پہنچاتا ہے۔ اسی طرح کی پوزیشن کا اظہار حال ہی میں ایمیزون ویب سروسز (AWS) کے مارک بروکر نے کیا تھا۔ ناگل کے الگورتھم کو بطور ڈیفالٹ غیر فعال کرنے کے دلائل کچھ دن پہلے شائع ہونے والی ایک پوسٹ میں دیکھے جا سکتے ہیں۔
ناگل الگورتھم کو غیر فعال کرنے کے لیے، TCP_NODELAY آپشن فراہم کیا جاتا ہے، جسے انفرادی نیٹ ورک ساکٹ کے لیے سیٹ کیا جا سکتا ہے۔ TCP_NODELAY موڈ کو کئی اوپن بی ایس ڈی ایپلی کیشنز میں طویل عرصے سے فعال کیا گیا ہے، بشمول openssh، httpd، iscsid، relayd، bgpd اور unwind، اور Snijders کا خیال ہے کہ تمام TCP ساکٹوں کے لیے اسے فعال کرنے کے لیے ایک سسٹم وسیع آپشن فراہم کرنے کا وقت آ گیا ہے۔ Snijders TCP_NODELAY کو بطور ڈیفالٹ فعال کرنے اور Nagle کے الگورتھم کو ایک علیحدہ قابل اختیار آپشن بنانے کے مسئلے پر بات کرنے کا مشورہ بھی دیتا ہے۔
ماخذ: opennet.ru
