انجینئر جان ناول کے نام سے ناگ ایلگورتم، ٹی سی پی ایپلی کیشنز کے ساتھ "چھوٹے پیکٹ مسائل" کی وجہ سے نیٹ ورک کی کمی کو کم کرنے کے لئے ڈیزائن کیا گیا تھا. 1980 ء میں یونکس کے نفاذ کو ناگ کے الگورتھم کا استعمال کرنا شروع ہوگیا، اور یہ آج ٹی سی سی کی ایک معیاری خصوصیت ہے.
ناگ ایلگورتھم کیسے کام کرتا ہے
ناگل کی الگورتھم ٹیگپی ایپلی کیشن کی طرف بھیجنے والے طریقوں کے ذریعہ نگلنگ کے ذریعہ اعداد و شمار پر عمل کرتی ہے . یہ چھوٹے سائز کے پیغامات کا پتہ لگاتا ہے اور تار میں ڈیٹا بھیجنے سے پہلے ان کو بڑی تعداد میں چھوٹے پیکٹوں کی نسل سے بچنے سے پہلے بڑے ٹی سی پی پیکٹوں میں جمع کرتا ہے. Nagle کی الگورتھم کے لئے تکنیکی تفصیلات شائع کیا گیا تھا 1984 میں RFC 896 کے طور پر. بہت سارے اعداد و شمار جمع کرنے اور بھیجنے کے درمیان کتنے لمحے تک انتظار کرنے کے لۓ اس کی مجموعی کارکردگی کے لئے اہم ہیں.
ناگول زیادہ دیر سے تاخیر ( طول و عرض ) شامل کرنے کی قیمت پر نیٹ ورک کنکشن کے بینڈوڈتھ کو استعمال کرسکتے ہیں. RFC 896 میں بیان کردہ ایک مثال ممکنہ بینڈوڈتھ فوائد اور اپنی تخلیق کی وجہ سے بیان کرتا ہے:
- ایک ٹی سی پی ایپلی کیشن جس کی بورڈ کی کلیسٹروک میں مداخلت کرتا ہے اور ہر وصول کرنے والے کو رسیور تک ٹائپ کرنا چاہتا ہے، جس میں ہر ایک کے اعداد و شمار کے 1 بائٹ مشتمل پیغامات کی ایک سیریز پیدا کرسکتا ہے.
- اس پیغام سے پہلے کہ یہ پیغامات نیٹ ورک میں بھیجا جاسکتے ہیں، ہر ایک کو ٹی سی پی / آئی پی کی ضرورت کے طور پر لازمی طور پر ٹی سی پی ہیڈر کی معلومات کے ساتھ مل کر پیک کیا جاسکتا ہے. ہر ہیڈر 20 اور 60 بائٹس کے درمیان سائز میں ہے.
- نگلنگ کے بغیر، یہ مثال کے طور پر ایپلیکیشن نیٹ ورک کے پیغامات پیدا کرے گا جن میں 95٪ یا اس سے زیادہ ہیڈر کی معلومات (کم از کم 21 بائٹس میں سے 20) اور 5٪ یا اسکرین کی کی بورڈ سے کم حقیقی اعداد و شمار شامل ہیں. Nagle الگورتھم کا استعمال کرتے ہوئے، اسی اعداد و شمار کے بجائے بہت سے کم پیغامات کا استعمال کرتے ہوئے فراہم کی جاسکتی ہے اور 95 فیصد مواد کی بورڈ کی معلومات ہونے کی بجائے ایک بہت بڑا بینڈوڈتھ بچت ہے.
ایپلی کیشنز کو TCP_NODELAY ساکٹ پروگرامنگ کے اختیارات کے ساتھ نگل ایلورجیتم کے استعمال کا کنٹرول. ونڈوز، لینکس، اور جاوا سسٹم سب عام طور پر ناپل کی طرف سے ڈیفالٹ کو فعال کرتے ہیں، لہذا ان ماحولیات کے لئے لکھا گیا ایپلی کیشنز کو TCP_NODELAY کی وضاحت کرنے کی ضرورت ہوتی ہے جب الگورتھم آف سوئچ کرنا چاہتا ہے.
حدود
ناگ کی الگورتھم صرف ٹی سی پی کے ساتھ استعمال کرنے والا ہے. UDP سمیت دیگر پروٹوکول اس کی حمایت نہیں کرتے ہیں.
این ٹی سی ایپلی کیشنز جو انٹرنیٹ نیٹ ورک کی کالنگ یا پہلا شخص شوٹر کھیل جیسے تیز رفتار نیٹ ورک کے جواب کی ضرورت ہوتی ہے، ناگلے کو فعال ہونے پر اچھی طرح سے کام نہیں کرسکتا ہے. تاخیر کا سبب بنتا ہے جب الگورتھم کے اعداد و شمار کے چھوٹے حصوں کو جمع کرنے کے لئے اضافی وقت لگتا ہے، اس کے ساتھ ساتھ اسکرین پر یا ڈیجیٹل آڈیو سٹریم میں نمایاں طور پر نمایاں لیگ ٹرگر کرسکتا ہے. یہ ایپلی کیشنز عام طور پر نایل کو غیر فعال کرتی ہیں.
یہ الگورتھم اصل میں ایک ایسے وقت میں تیار کیا گیا تھا جب کمپیوٹر نیٹ ورکوں نے آج بھی ایسا کرنے سے زیادہ کم بینڈوڈتھ کی مدد کی. مندرجہ بالا مثال کے طور پر 1980 کے دہائی کے آغاز میں فورڈ ایرو اسپیس میں جان ناول کے تجربات پر مبنی تھا، جہاں ان کی سست، بھاری بھری ہوئی لمبائی فاصلے کے نیٹ ورک پر نگنگ تجارتی کام اچھی طرح سے ہوئی. تیزی سے کم حالات موجود ہیں جہاں نیٹ ورک کے ایپلی کیشنز آج اپنے الگورتھم سے فائدہ اٹھا سکتے ہیں.