logo

Протоколи транспортного рівня

  • Транспортний рівень представлений двома протоколами: TCP і UDP.
  • Протокол IP на мережевому рівні доставляє дейтаграму від вихідного хоста до кінцевого хосту.
  • У наш час операційна система підтримує багатокористувацькі та багатопроцесорні середовища, програма, що виконується, називається процесом. Коли хост надсилає повідомлення іншому хосту, це означає, що процес джерела надсилає процес процесу призначення. Протоколи транспортного рівня визначають деякі підключення до окремих портів, відомих як порти протоколу.
  • Протокол IP — це протокол «від хоста до хоста», який використовується для доставки пакета від хоста-джерела до хоста-приймача, тоді як протоколи транспортного рівня — це протоколи «порт-порт», які працюють на основі IP-протоколів для доставки пакета від вихідного порт до IP-служб, а від IP-служб до порту призначення.
  • Кожен порт визначається адресою цілого додатного числа, яка має 16 біт.
Протоколи транспортного рівня

UDP

  • UDP означає Протокол дейтаграм користувача .
  • UDP є простим протоколом, який забезпечує непослідовну транспортну функцію.
  • UDP — це протокол без з’єднання.
  • Цей тип протоколу використовується, коли надійність і безпека менш важливі, ніж швидкість і розмір.
  • UDP — це наскрізний протокол транспортного рівня, який додає до даних із верхнього рівня адреси транспортного рівня, контроль помилок контрольної суми та інформацію про довжину.
  • Пакет, створений протоколом UDP, відомий як дейтаграма користувача.

Формат датаграми користувача

Датаграма користувача має 16-байтовий заголовок, який показано нижче:

Протоколи транспортного рівня

Де,

    Адреса вихідного порту:Він визначає адресу процесу програми, яка доставила повідомлення. Адреса вихідного порту має 16-бітну адресу.Адреса порту призначення:Він визначає адресу процесу програми, яка отримає повідомлення. Адреса порту призначення має 16-бітну адресу.Загальна довжина:Він визначає загальну довжину дейтаграми користувача в байтах. Це 16-бітне поле.Контрольна сума:Контрольна сума — це 16-бітне поле, яке використовується для виявлення помилок.

Недоліки протоколу UDP

  • UDP забезпечує основні функції, необхідні для наскрізної доставки передачі.
  • Він не надає жодних функцій послідовності чи зміни порядку та не вказує пошкоджений пакет під час повідомлення про помилку.
  • UDP може виявити, що сталася помилка, але не вказує, який пакет було втрачено, оскільки він не містить ідентифікатора чи порядкового номера певного сегмента даних.

TCP

  • TCP означає протокол керування передачею.
  • Він надає повні послуги транспортного рівня для програм.
  • Це протокол, орієнтований на з’єднання, означає з’єднання, встановлене між обома кінцями передачі. Для створення з’єднання TCP створює віртуальний канал між відправником і одержувачем на час передачі.

Особливості протоколу TCP

    Потокова передача даних:Протокол TCP передає дані у вигляді безперервного потоку байтів. TCP групує байти у вигляді сегментів TCP, а потім передає їх на рівень IP для передачі до пункту призначення. TCP сам сегментує дані та пересилає їх на IP.Надійність:TCP призначає порядковий номер кожному переданому байту та очікує позитивного підтвердження від приймаючого TCP. Якщо ACK не отримано протягом інтервалу очікування, дані повторно передаються до адресата.
    Одержувач TCP використовує порядковий номер для повторного складання сегментів, якщо вони надходять не в порядку, або для видалення повторюваних сегментів.Управління потоком:Під час отримання TCP відправляє підтвердження назад відправнику із зазначенням кількості байтів, які він може отримати без переповнення внутрішнього буфера. Кількість байтів надсилається в ACK у формі найвищого порядкового номера, який він може отримати без проблем. Цей механізм ще називають віконним.Мультиплексування:Мультиплексування — це процес прийому даних від різних програм і пересилання до різних програм на різних комп’ютерах. На одержувачі дані пересилаються до правильної програми. Цей процес відомий як демультиплексування. TCP передає пакет до правильної програми за допомогою логічних каналів, відомих як порти.Логічні зв'язки:Комбінація сокетів, порядкових номерів і розмірів вікон називається логічним з’єднанням. Кожне з’єднання ідентифікується парою сокетів, які використовуються процесами надсилання та отримання.Повний дуплекс:TCP забезпечує повний дуплексний сервіс, тобто потік даних в обох напрямках одночасно. Для досягнення повного дуплексного обслуговування кожен TCP повинен мати буфери надсилання та отримання, щоб сегменти могли проходити в обох напрямках. TCP — це протокол, орієнтований на підключення. Припустімо, що процес A хоче надіслати та отримати дані від процесу B. Відбувається наступне:
    • Встановіть з'єднання між двома TCP.
    • Обмін даними відбувається в обох напрямках.
    • Підключення припинено.

Формат сегмента TCP

Протоколи транспортного рівня

Де,

concat рядки java
    Адреса вихідного порту:Він використовується для визначення адреси прикладної програми на вихідному комп'ютері. Це 16-бітне поле.Адреса порту призначення:Він використовується для визначення адреси прикладної програми на комп’ютері призначення. Це 16-бітне поле.Порядковий номер:Потік даних ділиться на два або більше сегментів TCP. 32-розрядне поле порядкового номера представляє позицію даних у вихідному потоці даних.Номер підтвердження:Номер підтвердження з 32 полів підтверджує отримання даних від інших комунікаційних пристроїв. Якщо в полі ACK встановлено значення 1, воно визначає порядковий номер, який одержувач очікує отримати.Довжина заголовка (HLEN):Він визначає розмір заголовка TCP у 32-розрядних словах. Мінімальний розмір заголовка – 5 слів, максимальний – 15 слів. Таким чином, максимальний розмір заголовка TCP становить 60 байт, а мінімальний розмір заголовка TCP - 20 байт.Зарезервований:Це шестирозрядне поле, яке зарезервовано для використання в майбутньому.Контрольні біти:Кожен біт поля керування функціонує індивідуально та незалежно. Керуючий біт визначає використання сегмента або служить для перевірки дійсності для інших полів.

Всього в полі керування є шість типів прапорів:

    URG:Поле URG вказує на те, що дані в сегменті є терміновими.ACK:Коли встановлено поле ACK, воно перевіряє номер підтвердження.PSH:Поле PSH використовується для інформування відправника про те, що потрібна більша пропускна здатність, тому, якщо це можливо, дані повинні надсилатися з більшою пропускною здатністю.RST:Біт скидання використовується для скидання TCP-з’єднання, якщо виникає плутанина в порядкових номерах.SYN:Поле SYN використовується для синхронізації порядкових номерів у трьох типах сегментів: запит на підключення, підтвердження підключення (із встановленим бітом ACK) і підтвердження підтвердження.КІНЕЦЬ:Поле FIN використовується для інформування приймаючого модуля TCP про те, що відправник завершив надсилання даних. Він використовується для завершення з’єднання в трьох типах сегментів: запит на завершення, підтвердження завершення та підтвердження підтвердження завершення.
      Розмір вікна:Вікно — це 16-бітне поле, яке визначає розмір вікна.Контрольна сума:Контрольна сума — це 16-бітне поле, яке використовується для виявлення помилок.Терміновий покажчик:Якщо для прапора URG встановлено значення 1, це 16-бітне поле є зміщенням від порядкового номера, яке вказує на те, що це останній байт термінових даних.Параметри та доповнення:Він визначає додаткові поля, які передають одержувачу додаткову інформацію.

Відмінності ч/б TCP і UDP

Основа для порівняння TCP UDP
Визначення TCP встановлює віртуальний канал перед передачею даних. UDP передає дані безпосередньо на комп’ютер призначення, не перевіряючи, чи готовий одержувач приймати чи ні.
Тип підключення Це протокол, орієнтований на підключення Це протокол без підключення
швидкість повільний висока
Надійність Це надійний протокол. Це ненадійний протокол.
Розмір заголовка 20 байт 8 байт
підтвердження Він очікує на підтвердження даних і має можливість повторно надіслати втрачені пакети. Він не приймає ні підтвердження, ні повторно передає пошкоджений кадр.