لایه انتقال در شبکه، آشنائی با کارکردهای لایه انتقال

لایه انتقال آشنائی با کارکرد لایه انتقال در شبکه – آموزش شبکه درس 30

لایه انتقال (Transport Layer) چهارمین لایه در مدل OSI است. اصلی ترین نقش لایه انتقال آن است که سرویس‌های ارتباطی را به صورت مستقیم برای پردازش‌های انجام شده در اپلیکیشن‌هائی که در هاست مختلف وجود دارند را فراهم کند.

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

پروتکل‌هائی که در لایه انتقال پیاده‌سازی می‌شوند در سیستم‌های انتهائی و نه در روترهای شبکه قرار می‌گیرند.

یک شبکه کامپیوتری می‌تواند بیشتر از یک پروتکل را برای اپلیکیشن‌های شبکه خودش فراهم کرده باشد. برای مثال دو پروتکل TCP و UDP دو پروتکل لایه انتقال هستند که می‌توانند مجموعه مختلفی از سرویس‌ها را بر روی لایه شبکه فراهم کنند.

تمام پروتکل‌هائی که بر روی لایه انتقال قرار گرفته اند می‌تواند سرویس‌های مالتی پلکسینگ (Multiplexing) و دی مالتی پلکسینگ (Demultiplexing) را ارائه کنند. این لایه سرویس‌های دیگری را نیز فراهم می‌کند که از طریق آن‌ها می‌توان داده‌ها را به صورت امن انتقال داده، پهنای باند را تضمین کرد و تمهیدات لازم برای تاخیرها را در نظر گرفت.

هر کدام از اپلیکیشن‌هائی که در لایه انتقال قرار گرفته اند این توانائی را دارند که بتوانند پیام‌هائی را به وسیله دو پروتکل TCP یا UDP ارسال کنند. ارتباطات اپلیکیشن‌ها با استفاده از این دو پروتکل انجام می‌شود، در حالی که پروتکل اینترنت (Internet Protocol) هم وجود دارد که در لایه اینترنت (Internet Layer) کار می‌کنند و ارتباطات از طریق آن انجام می‌شود. اپلیکیشن‌هائی که در لایه انتقال قرار گرفته اند می‌توانند پیام‌های خودشان را در این لایه بنویسند و یا بخوانند. به همین خاطر بگوئیم ارتباطاتی که در این لایه انجام می‌شود یک پردازش دو سویه است.

نقش لایه انتقال در کنار لایه های دیگر شبکه

نقش لایه انتقال در کنار لایه های دیگر شبکه

سرویس‌هائی که به وسیله لایه انتقال ارائه می‌شوند

سرویس‌هائی که به وسیله لایه انتقال انجام می‌شوند، مشابه همان سرویس‌هائی هستند که در لایه دیتالینک (Data link Layer) انجام می‌شود. لایه دیتالینک می‌تواند سرویس‌های خود را تنها در یک شبکه ارائه کند، در حالی که لایه انتقال این قابلیت را دارد که سرویس‌های خودش را در یک فضای بین شبکه ای ارائه کند که از آن طریق تعداد زیادی از شبکه‌ها می‌توانند به آن مرتبط شوند. لایه دیتالینک لایه فیزیکی (Physical Layer) را کنترل می‌کند، در حالی که لایه انتقال تمام لایه‌هائی که در زیر خود قرار دارند را کنترل میکند.

سرویس‌هائی که به وسیله پروتکل‌های لایه انتقال ارائه می‌شوند را می‌توانیم در پنج دسته بندی زیر تقسیم بندی کنیم:

  • تحویل سر به سر (End to End Delivery)؛
  • آدرس‌دهی (Addressing)؛
  • تحویل قابل اعتماد (Reliable Delivery)؛
  • کنترل جریان (Flow Control)؛
  • مالتی پلکسینگ (Mulitplexing)؛
سرویس‌هائی که به وسیله لایه انتقال ارائه می‌شوند

سرویس‌هائی که به وسیله لایه انتقال ارائه می‌شوند

تحویل سر به سر (End to End Delivery)

لایه انتقال پیام‌ها را از یک هاست به هاست دیگر انتقال می‌دهد. به همین خاطر باید مطمئن شود که تحویل سر به سر کل پیام از مبدا به مقصد به صورت کامل انجام شده است. به همین منظور در این میان از پروتکل‌های ویژه ای برای انجام این کار استفاده می‌کند.

تحویل مطمئن (Reliable Delivery)

لایه انتقال می‌تواند سرویس‌های مطمئنی را به وسیله باز ارسال پک‌های داده گم شده و یا آسیب دیده ایجاد کند.

ایجاد اطمینان در تحویل پک‌های اطلاعاتی را می‌توان از چهار منظر بررسی کرد:

  • کنترل خطا (Error Control)؛
  • کنترل توالی ارسال (Sequence Control)؛
  • کنترل پک‌های مفقود شده (Loss Control)؛
  • کنترل تکرار پک‌های (Duplication Control)؛
تحویل مطمئن

تحویل مطمئن در لایه انتقال

کنترل خطا

اصلی ترین موضوع در زمینه اطمینان پذیری «کنترل خطا – Error Control» است. در حقیقت هیچ انتقال در شبکه وجود ندارد که بتواند با دقت 100 درصد اطلاعات را جابجا کند. به همین خاطر پروتکل‌هائی که در لایه انتقال قرار گرفته اند سعی می‌کنند با بررسی خطا و رفع آن‌ها یک انتقال داده عاری از خطا را برای ما ایجاد کنند.

لایه دیتا لینک هم می‌تواند مکانیسم‌هائی را برای کنترل کردن خطاها ارائه کند، اما این مکانیسم‌ها صرفا برای کنترل کردن ارتباطات در میان دو گره به کار می‌روند. هرچند اطمینان پذیری تحویل داده‌های میان دو گره (Node to Node) به اندازه اطمینان پذیری سر به سر (End to End) نیست.

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

کنترل خطا در لایه دیتالینک و لایه انتقال

تفاوت کنترل خطا در لایه دیتالینک و لایه انتقال

کنترل توالی ارسال

دومین موضوع در زمینه اطمینان پذیر بودن کنترل توالی است که در لایه انتقال پیاده‌سازی می‌شود.

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

کنترل پک‌های مفقود شده

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

کنترل پک‌های تکراری

کنترل پک‌های تکراری چهارمین بخش از اطمینان پذیری در انتقال است. لایه انتقال باید این اطمینان را ایجاد کند که هیچ داده تکراری در مقصد دریافت نشده است. عدد توالی (Sequence Numbers) برای شناسائی پک‌های گم شده به کار گرفته می‌شود. به صورت مشابه، این کار به طرف دریافت کننده پیام این اجازه را می‌دده که بتواند پک‌های داده تکراری را از پیام دریافت شده حذف کند.

کنترل جریان (Flow Control)

کنترل جریان برای پرهیز از ایجاد اضافه بار در طرف دریافت کننده به کار گرفته می‌شود. اگر دریافت کننده با اضافه بار روبرو شود، بسیاری از داده را از دست می‌دهد و در نتیجه باید به صورت مداوم درخواست ارسال مجدد پک‌های از دست رفته را ارسال کند. این کار می‌تواند به ایجاد ازدحام در شبکه و در نتیجه کاهش عملکرد سیستم منجر شود. لایه انتقال مسئول کنترل جریان است. آن از پروتکل تقسیم کردن پنجره (Sliding Window Protocol) استفاده می‌کند تا بتواند با کارآمدی بیشتری کار کرده و در عین حال جریان داده‌هائی را که به سمت دریافت کننده ارسال می‌شود را کنترل کند تا از ایجاد ازدحام جلوگیری شود. پروتکل تقسیم پنجره بیشتر از آنکه یک پروتکل فریم (Frame) محور باشد یک پروتکل بایت (Byte) محور است.

مالتی پلکسینگ (Multiplexing)

لایه انتقال از مالتی پلکسینگ برای بهبود کارآمدی انتقال استفاده می‌کند. مالتی پلکسینگ می‌تواند به دو شیوه انجام شود:

  • مالتی پلکسینگ به سمت بالا (Upward Mulitplexing) در این شیوه چند ارتباط لایه انتقال از یک لینک ارتباطی در شبکه استفاده می‌کنند. برای به صرفه کردن هزینه‌ها،لایه انتقال بسته‌های انتقال برای یک مقصد را از طریق یک مسیر ارسال می‌کند. این کار به عنوان مالتی پلکسینگ به سمت بالا شناخته می‌شود.
مالتی پلکسینگ به سمت بالا

مالتی پلکسینگ به سمت بالا

  • مالتی پلکسینگ به سمت پائین (Downward Multiplexing): مالتی پلکسینگ به سمت پائین به این معنا است که یک لایه انتقال از چندین لینک انتقال در شبکه استفاده می‌کند. مالتی پلکسینگ به سمت پائین این اجازه را به لایه انتقال می‌دهد که یک ارتباط را به چند مسیر مختلف تقسیم کند تا بتواند توان عملیاتی را افزایش دهد. این نوع از مالتی پلکسینگ در زمانی استفاده می‌شود که شبکه دارای توان کم و یا ظرفیت پائین ارتباطی باشد.
مالتی پلکسینگ به ست پائین

مالتی پلکسینگ به ست پائین

آدرس‌دهی (Addressing)

مطابق با مدل لایه بندی شبکه، لایه انتقال با عملکردهای لایه نشست (Session Layer) در ارتباط و تعامل است. پروتکل‌های زیادی در لایه نشست و لایه ارائه (Presentation) و لایه اپلیکیشن (Application Layer) وجود دارند که با هم دیگر امکان ارتباط کاربران با شبکه را مهیا می‌کنند. تمامی این سه لایه در کنار هم به عنوان «لایه یا بخش اپلیکیشن شبکه» شناخته می‌شود. دراین موارد، تحویل به لایه شبکه به معنای تحویل به لایه اپلیکیشن نیز هست. هنگامی که کاربر و یا ماشین‌ها داده‌هائی را در لایه اپلیکیشن تولید می‌کنند، این داده‌ها باید به صورت درستی به ماشین و یا هاست دیگر انتقال داده شود. در این جا مسئله «آدرس‌دهی» پیش می‌آید که به وسیله لایه انتقال مدیریت می‌شود.

لایه انتقال آدرس‌های لازم برای کاربر را فراهم می‌آورد و آن‌ها را به عنوان «ایستگاه- Station» یا «پورت- Port» به او معرفی می‌کند. متغیر پورت به وسیله یک TS ویشره به کاربر شناخته می‌شود TSبه معنای Transport Service است و در مجموع نقطه ارتباطی به عنوان Transport Service Access Point (TSAP) یا نقطه دسترسی سرویس انتقال شناخته می‌شد. هر ایستگان تنها دارای یک هویت مستقل برای انتقال است.

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

 

No votes yet.
Please wait...

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

نشانی ایمیل شما منتشر نخواهد شد.

منو اصلی

question