لایه انتقال، لایه 4 مدل ارتباطات Open Systems Interconnection (OSI) است. وظیفه آن اطمینان از رسیدن دقیق و قابل اعتماد بستههای داده بین فرستنده و گیرنده است. لایه انتقال اغلب از TCP یا User Datagram Protocol (UDP) استفاده میکند. در مدل شبکه TCP/IP، لایه انتقال بین لایه برنامه و لایه شبکه قرار دارد.
در مدل OSI، لایه انتقال بین لایه شبکه و لایه جلسه قرار دارد. لایه شبکه مسئول گرفتن بستههای داده و ارسال آنها به کامپیوتر صحیح است. سپس لایه انتقال، بستههای دریافتی را میگیرد، آنها را برای خطاها بررسی میکند و آنها را مرتب میسازد. سپس آنها را به لایه جلسه برنامه درست اجرایی بر روی کامپیوتر میفرستد. حالا لایه جلسه، بستههای به خوبی فرمت شده را میگیرد و آنها را برای دادههای برنامه استفاده میکند.
برای تصویرسازی لایه انتقال، تصور کنید کامپیوتر مانند یک شرکت بزرگ با بسیاری از بخشها است. بستههای داده مانند نامهها هستند. لایه شبکه مانند سرویس پستی است که نامهها را به آدرس صحیح شرکت میرساند. لایه انتقال مانند اتاق پست شرکت است. این اتاق نامهها را دریافت میکند و بازرسی اولیه را انجام میدهد.
هر نامهای که در طول حمل و نقل آسیب دیده یا به آدرس اشتباه تحویل داده شده، آن را به فرستنده گزارش میدهد. سپس نامهها را بر اساس بخشها مرتب میکند، آنها را بر اساس زمان از قدیمیترین به جدیدترین مرتب میسازد و سپس آنها را درون شرکت به بخش صحیح تحویل میدهد. بخش، یا در این مورد برنامه، سپس نامهها را میگیرد تا آنها را بخواند و میتواند درکی از مکاتبات رفت و برگشتی پیدا کند و هر کاری که از نامه لازم است انجام دهد.
وظایف لایه انتقال
کلیت وظیفه این است که لایه برنامه را از نیاز به نگرانی در مورد جزئیات فنی معاف کند. این کار را با فراهم کردن ارتباط از ابتدا تا انتها، قابلیت اطمینان، کنترل جریان، آدرسدهی و چندگانهسازی انجام میدهد:
- ارتباط از ابتدا تا انتها: توانایی لایه انتقال در فراهم کردن یک راه برای برنامه برای ارسال و دریافت یک جریان داده است. لایه شبکه جریان داده را به بستههایی تقسیم میکند که بر روی شبکه ارسال میشوند و در سمت دیگر دادهها را مجدداً سازماندهی میکند. اگر بستههای داده به ترتیب نادرست برسند، با استفاده از شمارهگذاری قطعه میتوان آنها را مرتب کرد و دادهها را به ترتیب صحیح ارائه داد.
- قابلیت اطمینان: توانایی در اصلاح خطاهایی که میتواند در طول انتقال داده بر روی شبکه رخ دهد. اگر دادهها به طور تصادفی در حین انتقال تغییر کنند، اصلاح خطا و checksum ها آن را تشخیص میدهند. اگر یک بسته گم شود، تشخیص داده شده و مجدداً ارسال میشود. اگر یک بسته تکرار شود، میتوان آن را تشخیص داد و حذف کرد. همچنین میتواند تأییدیه دریافت بستهها را برای تحویل مطمئن ارسال کند. برخی از پروتکلها پیامی را ارسال میکنند اگر بسته دریافت نشود یا خراب باشد.
- کنترل جریان: توانایی لایه انتقال در جلوگیری از ارسال بیشتر از دادههایی که میتوان به طور قابل اعتماد منتقل کرد. این میتواند دادههای ارسالی و دریافتی را در بوفر نگه دارد تا زمانی که ظرفیت کافی شبکه برای عبور از آن وجود داشته باشد. اگر بوفر گیرنده پر شود، میتواند نرخ ارسال را کاهش دهد. همچنین کنترل ازدحام را پیادهسازی میکند. اگر شبکه با پیامهای زیادی از نوع retransmit سرازیر شود، سراسره میشود و نمیتواند بازیابی شود. کنترل ازدحام از این اتفاق جلوگیری میکند با استفاده از تایمرهای retransmission پویا و شروع کند.
- آدرسدهی: توانایی ارتباط با برنامه صحیح روی کامپیوتر است. آدرسدهی معمولاً از درگاههای شبکه استفاده میکند تا هر برنامه ارسالی و دریافتی را به یک شماره درگاه خاص روی دستگاه اختصاص دهد.
- چندگانهسازی: توانایی برای هر تعداد برنامه برای استفاده از هر تعداد اتصال شبکه است. به عنوان مثال، یک کامپیوتر معمولی ممکن است فقط یک اتصال شبکه Ethernet داشته باشد اما در همان زمان چندین اتصال به اینترنت داشته باشد، مانند یک مرورگر وب، پخش ویدئو و یک مشتری ایمیل. در مقابل، یک سرور بزرگ ممکن است فقط یک برنامه داشته باشد، مانند یک سرور SQL، اما دو اتصال فیزیکی Ethernet داشته باشد تا به اندازه ممکن بیشترین پهنای باند را فراهم کند. لایه انتقال اطمینان حاصل میکند که هر برنامه مقدار منصفانهای از اتصالات شبکه مشترک را دریافت کند.
لایه انتقال در مدل TCP/IP
مدل OSI یک ساختار نظری است که نحوه ارتباط بین سیستمها را میتوان با آن فهمید. این مستقیماً به هیچ پیادهسازی خاصی مرتبط نیست. از سوی دیگر، TCP/IP یک پروتکل عملی است که در شبکههای کامپیوتری مدرن و در اینترنت استفاده میشود.
TCP/IP ممکن است همه ویژگیهای مذکور توسط مدل OSI را پیادهسازی کند یا نکند. ویژگیهای پشتیبانی شده به پروتکلهای استفاده شده بستگی دارد.
TCP/IP همچنین از تعداد کمتری لایه استفاده میکند. در مدل OSI، لایه انتقال بین لایه شبکه و لایه جلسه قرار دارد. در TCP/IP، بین لایه شبکه و لایه برنامه قرار دارد.
QUIC، که قبلاً با نام اتصالات سریع UDP اینترنت شناخته میشد، یک پروتکل جدید است. این سعی دارد تا بسیاری از بهترین ویژگیهای قابلیت اطمینان TCP را با سرعت UDP ترکیب کند. این برای استفاده بر روی اینترنت و برای پروتکل انتقال هایپرتکست 3 بهینهسازی شده است. از اصلاح خطای جلوگیری استفاده میکند، که این آن را برای انتقالات بیسیم، مانند شبکههای 5G، بهتر میکند.
سایر پروتکلهای لایه انتقال شامل موارد زیر است:
پروتکل کانال فیبری.
پروتکل داده قابل اعتماد.
پروتکل انتقال کنترل جریان.