Internetworking

Internetworking-4

 

The Transport Layer :

 

سرویس‌های واقع در لایه Transport ، تمامی بخش‌های دیتاها را از لایه‌های بالا جمع‌آوری کرده سپس آن را در یک‌رشته دیتا یکسان قرار می‌دهد . این پروتکل‌ها همچنین وظیفه ایجاد یک ارتباط منطقی بین دستگاه فرستنده و گیرنده رادارند .

دو پروتکل شناخته‌شده در این لایه TCP و UDP هستند . اگر آشنا با این دو پروتکل نیستید نگران نباشید . در فصل‌های آینده به‌صورت کامل در مورد آن‌ها صحبت خواهیم کرد اما فعلاً تا همین حد بدانید که TCP به‌عنوان یک پروتکل قابل‌اطمینان عمل می‌کند ولی UDP نه ! این به برنامه‌نویس‌ها اختیارات بیشتری می‌دهد ، آن‌ها می‌توانند در هنگام طراحی نرم‌افزار ، از بین این دو پروتکل یکی را انتخاب کنند . ( هرکدام از این دو دارای ویژگی‌هایی هستند که در فصل‌های آینده با آن آشنا می‌شوید )

 

Connection-Oriented Communication

 

برای ایجاد یک ارتباط قابل‌اعتماد ، دستگاه مبدأ ابتدا باید یک ارتباط پایدار با دستگاه مقصد برقرار کند . این روش به نام three-way handshake شناخته می‌شود . وقتی انجام این پروسه کامل شد انتقال اطلاعات انجام می‌گیرد .

شکل شماره 10 ، مراحل انجام three-way رابین دو سیستم فرستنده و گیرنده نشان می‌دهد :

هر دو سیستم‌عامل با فرستادن پیغام‌هایی بر روی شبکه ، آمادگی خود را برای برقراری ارتباط اعلام می‌کنند . 

 

10
(10)

–         ابتدا سیستم مبدأ یک پیغام Synchronization ارسال می‌کند .

–         سیستم مقصد با دریافت آن ، در صورت آماده بودن با پیغام Acknowledge ، به همراه پیغام SYN ، آمادگی خود را اعلام می‌کند .

–         درنهایت سیستم ارسال‌کننده با فرستادن یک ACK ، موافقت خود را اعلام کرده و ارتباط برقرار می‌شود .

بعد از برقراری ارتباط ، اطلاعات بین دو سیستم انتقال پیدا می‌کند . تا اینجای کار به نظر نباید مشکلی ایجاد شود اما ممکن است در فرایند انتقال دیتاها مشکلاتی به وجود آید . ممکن است سیستم ارسال‌کننده دارای سرعت بالاتری نسبت به مقصد باشد . در این حالت اطلاعات با سرعت بر روی شبکه ارسال می‌شود اما سیستم مقصد توان دریافت تمامی آن‌ها را ندارد . برای حل این مشکل حافظه‌ای در سیستم طراحی‌شده است که اطلاعات اضافی در آن ذخیره شود تا سیستم در فرصت مناسب بتواند آن را تحلیل کند . به این حافظه بافر ( buffer )  گفته می‌شود . اما بافر نیز ظرفیت محدودی دارد و در حجم اطلاعات بالا می‌تواند سرریز ( overflow )  شود .

Flow Control :

ازآنجایی‌که سرریز شدن اطلاعات باعث از بین رفتن آن‌ها می‌شود ، راه‌حلی برای آن در نظر گرفته‌شده که به آن Flow Control می‌گویند . وظیفه آن جلوگیری از ارسال اطلاعات از طرف سیستم فرستنده، زمانی که حافظه بافر آن پرشده است . نحوه انجام پروسه به ترتیب زیر است :

 

11
(11)

Windowing

 

در ارتباط قابل‌اعتماد ، سیستم ارسال‌کننده اطلاعات برای هر بسته‌ای که می‌فرستد باید به پیغام ACK از سیستم گیرنده دریافت کند . حال در نظر بگیرید چقدر سرعت انتقال اطلاعات می‌تواند کم شود اگر قرار باشد برای هر قسمتی که ارسال می‌شود یک پیغام ACK دریافت گردد ، به همین دلیل از فلگی (Flag) به نام Window استفاده می‌شود .

" فلگ Windows برای کنترل مقدار دیتایی که بدون دریافت ACK می‌تواند انتقال یابد استفاده می‌شود "

 

مقدار Window مشخص می‌کند که چه میزان از اطلاعات فقط با دریافت یک ACK جابه‌جا شود . فرض کنید ارتباط بین دو سیستم مانند شکل 12 برقرارشده است . ابتدا یک بسته ارسال می‌شود و ACK آن نیز دریافت می‌گردد . سپس بسته دوم ارسال می‌شود و بازهم به‌درستی ACK به سیستم ارسال‌کننده می‌رسد . سیستم ارسال‌کننده متوجه می‌شود که بستر ایجادشده با سیستم دیگر تا حدی قابل‌اعتماد است . به همین دلیل در نوبت بعدی مقدار فلگ Window را 3 قرار می‌دهد تا سیستم دریافت‌کننده متوجه شود ، تا سه بسته نیازی به ارسال ACK وجود ندارد . مقدار Window با توجه به شرایط ارتباطی می‌تواند بالا رود و همان نسبت میزان سرعت ارتباط . 

 

12
(12)

 

" اگر سیستم گیرنده نتواند تمامی اطلاعات را به‌درستی دریافت کند ، سیستم فرستنده می‌تواند مقدار Window را کاهش دهد "

 

Acknowledgments

 

همان‌طور که گفتیم  در یک ارتباط قابل‌اطمینان ،به ازای هر بسته‌ای که از طرف فرستنده ارسال می‌شود ، انتظار یک ACK از طرف گیرنده را دارد . این نوع ارتباط می‌تواند تضمین‌کننده انتقال اطلاعات به‌صورت سالم باشد .  شکل شماره 13 نحوه انجام تبادل اطلاعات و دریافت پیغام ACK را نشان می‌دهد .

 

13
(13)

 

همان‌طور که مشاهده می‌کنید ، اگر در حین برقراری ارتباط مشکلی به وجود بیاید و بسته به دست گیرنده نرسد ، سیستم دریافت‌کننده فقط با ارسال ACK موردنظر ، کامپیوتر ارسال‌کننده را باخبر کرده تا آن را دوباره ارسال کند .

 

مشاهده بیشتر

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا