Пріоритет і безпека


Робота із з'єднаннями

Розподіл каналів

Управління потоком

Протокол TCP дає засоби одержувачеві управляти кількістю даних, посиланих йому відправником. Це досягається поверненням так званого "вікна" (window) разом з кожним підтвердженням, яке вказує діапазон прийнятних номерів, що йдуть за номером останнього успішно прийнятого сегменту. Вікно визначає кількість октетів, яку відправник може послати до отримання подальших вказівок.

Щоб дозволити на окремо взятому комп'ютері багатьом процесам одночасно використовувати комунікаційні можливості рівня TCP, протокол TCP надає на кожному хост-компьютере набір адрес або портів. Разом з адресами мереж і хост-комп’ютеров на комунікаційному рівні Internet вони утворюють сокет (socket - роз'їм).

Кожне з'єднання унікальним чином ідентифікується парою сокетів. Таким чином, будь-який сокет може одночасно використовуватися в багатьох з'єднаннях.

Співвідношення портів і процесів здійснюється кожним хост-компьютером самостійно. Проте часто використовувані процеси зв'язуються з фіксованими документованими сокетами (HTTP - порт 80, FTP - 21 і так далі).

Цей сервіс можна згодом використовувати через відомі адреси. Установка і налаштування адрес портів для інших процесів може включати динамічніші механізми.

Механізми управління потоком і забезпечення достовірності, описані вище, вимагають, щоб програми протоколу TCP ініціалізували і підтримували певну інформацію про стан кожного потоку даних. Набір такої інформації, що включає сокети, номери черги, розміри вікон, називається з'єднанням. Кожне з'єднання унікальним чином ідентифікується парою сокетів на двох кінцях.

Якщо два процеси бажають обмінюватися інформацією, відповідні програми протоколу TCP повинні спершу встановити з'єднання (на кожній стороні ініціалізувати інформацію про статус). Після закінчення обміну інформацією з'єднання має бути розірване або закрите, щоб звільнити ресурси для надання іншим користувачам.

Оскільки з'єднання повинні встановлюватися між ненадійними хост-комп’ютерами і через ненадійну комунікаційну систему Internet, то щоб уникнути помилкової ініціалізації з'єднань використовується механізм підтвердження зв'язку з хронометрованими номерами черги.

Користувачі протоколу TCP можуть зажадати для свого з'єднання пріоритет і безпеку. Передбачені характеристики з'єднань, що приймаються за умовчанням, коли такі параметри не вимагаються.

Для забезпечення усіх цих можливостей на рівні TCP до даних, переданих від протоколу верхнього рівня, або від прикладної програми, додається заголовок, в якому вказується порт відправника, порт одержувача ( по 16 біт), номер посланого пакету, номер підтвердженого пакету, параметри, що управляють, і так далі. Сформований пакет передається Інтернет-протоколу, який додає свою інформацію, що управляє. При прийомі даних інформація витягається в зворотному порядку.