سوال 41

حل تشریحی سوال شماره 41 شبکه پیشرفته

کنکور دکتری مهندسی کامپیوتر 1400

41.

در هنگام ایجاد TCP Socket در بسیاری از سیستمهای عامل الگوریتم Nagle اجرا میشود. یک شبه کد ساده از این الگوریتم در ذیل آمده است به جای گزاره های و کدام گزینه باید قرار گیرد؟ ( MSS حداکثر اندازه سگمنت ارسالی است.)

1)

:انتظار برای تجمیع داده به اندازه : ارسال بلافاصله داده جدید

2)

:ارسال بلافاصله داده جدید - : انتظار برای تجمیع داده به اندازه MSS

3)

:ارسال بلافاصله داده جدید - : با فر کردن داده جدید تا رسیدن یک Ack جدید

4)

:باز کردن داده جدید تا رسیدن یک Ack جدید - : ارسال بلافاصله داده جدید

پاسخ ها

1 پاسخ
دکتر ابوالفضل حقیقت
دکتر ابوالفضل …یکشنبه 30 فروردین 1405

گزينه 4 درست است.

هدف الگوریتم Nagle (نِیگِل) کاهش تعداد بسته‌ها در شبکه است. این الگوریتم توسط جان نِیگِل طراحی شد. در این الگوریتم نیگل می­‌خواهد مشکل بسته‌های کوچک را حل ‌کند. گاهی برنامه‌ای به‌طور مکرر داده‌ها را در تکه‌های کوچک (مثلاً با اندازه ۱ بایت) ارسال می‌­کند. از آنجا که بسته‌های TCP  دارای 40 بایت سرآیند (۲۰ بایت برای TCP و ۲۰ بایت برای IPv4) هستند، در نتیجه تنها برای ارسال یک داده ۱ بایتی مفید، یک بسته ۴۱ بایتی فرستاده می‌­شود که این یک سربار بسیار بزرگ است. این وضعیت، اغلب در جلسات Telnet  به وقوع می‌پیوندد.

الگوریتم نیگل بر اساس جمع‌­آوری و تلفیق تعداد زیادی پیام کوچک و ارسال همه آنها به‌طور یکجا کار می‌کند. مخصوصاً زمانی که یک بسته ارسالی وجود داشته باشد که فرستنده هنوز ACK آن را دریافت نکرده باشد، فرستنده باید تا زمانی که یک خروجی کامل که ارزش ارسال داشته باشد بسته‌ها را بافر کند، بنابراین این کار باعث می‌شود که خروجی یک بسته بزرگ باشد و مشکل سربار حل شود. گزینه 4 این شبه ­کد را کامل می‌­کند.

ارسال پاسخ