кет керуючої інформації). Маршрутизатори та комп'ютери можуть брати до уваги пріоритет пакету і обробляти більш важливі пакети в першу чергу.
Поле Тип сервісу містить також три біти, що визначають критерій вибору маршруту. Встановлений біт D (delay) говорить про те, що маршрут повинен вибиратися для мінімізації затримки доставки даного пакету, біт T - для максимізації пропускної здатності, а біт R - для максимізації надійності доставки.
Поле Загальна довжина (TOTAL LENGTH) займає 2 байта і вказує загальну довжину пакета з урахуванням заголовка і поля даних.
Поле Ідентифікатор пакета (IDENTIFICATION) займає 2 байта і використовується для розпізнавання пакетів, що утворилися шляхом фрагментації вихідного пакета. Всі фрагменти повинні мати однакове значення цього поля.
Поле Прапори (FLAGS) займає 3 біта, воно вказує на можливість фрагментації пакета (встановлений біт Do not Fragment - DF - забороняє маршрутизатора фрагментувати даний пакет), а також на те, чи є даний пакет проміжним чи останнім фрагментом вихідного пакета (встановлений біт More Fragments - MF - говорить про те пакет переносить проміжний фрагмент).
Поле Зсув фрагмента (FRAGMENT OFFSET) займає 13 біт, воно використовується для вказівки в байтах зміщення поля даних цього пакета від початку загального поля даних вихідного пакету, підданого фрагментації. Використовується при складанні/розбиранні фрагментів пакетів при передачах їх між мережами з різними величинами максимальної довжини пакета.
Поле Час життя (TIME TO LIVE) займає 1 байт і вказує граничний термін, протягом якого пакет може переміщатися по мережі. Час життя даного пакету вимірюється в секундах і задається джерелом передачі засобами протоколу IP. На шлюзах і в інших вузлах мережі після закінчення кожної секунди з поточного часу життя віднімається одиниця; одиниця віднімається також при кожній транзитної передачі (навіть якщо не пройшла секунда). При закінченні часу життя пакет анулюється.
Ідентифікатор Протоколу верхнього рівня (PROTOCOL) займає 1 байт і вказує, якому протоколу верхнього рівня належить пакет (наприклад, це можуть бути протоколи TCP, UDP або RIP).
Контрольна сума (HEADER CHECKSUM) займає 2 байта, вона розраховується по всьому заголовку.
Поля Адреса джерела (SOURCE IP ADDRESS) і Адреса призначення (DESTINATION IP ADDRESS) мають однакову довжину - 32 біта, і однакову структуру.
Поле Резерв (IP OPTIONS) є необов'язковим і використовується зазвичай тільки при налагодженні мережі. Це поле складається з декількох підполів, кожне з яких може бути одного з восьми визначених типів. У цих підполях можна вказувати точний маршрут проходження маршрутизаторів, реєструвати прохідні пакетом маршрутизатори, поміщати дані системи безпеки, а також тимчасові відмітки. Так як число підполів може бути довільним, то в кінці поля Резерв має бути додано декілька байт для вирівнювання заголовка пакета по 32-бітної кордоні.
Максимальна довжина поля даних пакета обмежена розрядністю поля, що визначає цю величину, і становить 65535 байтів, однак при передачі по мережах різного типу довжина пакета вибирається з урахуванням максимальної довжини пакета протоколу нижнього рівня, несучого IP-пакети. Якщо це кадри Ethernet, то вибираються пакети з максимальною довжиною в 1500 байтів, вміщаються в поле даних кадру Ethernet.
У стеці протоколів TCP/IP протокол TCP (Transmission Control Protocol) працює так само, як і протокол UDP, на транспортному рівні. Він забезпечує надійне транспортування даних між прикладними процесами шляхом встановлення логічного з'єднання.
Одиницею даних протоколу TCP є сегмент. Інформація, що надходить до протоколу TCP в рамках логічного з'єднання від протоколів більш високого рівня, розглядається протоколом TCP як неструктурований потік байт. Вступники дані буферизуются засобами TCP. Для передачі на мережевий рівень з буфера вирізається деяка безперервна частина даних, звана сегментом.
У протоколі TCP передбачений випадок, коли додаток звертається із запитом про термінову передачу даних (біт PSH в запиті встановлений в 1). У цьому випадку протокол TCP, не чекаючи заповнення буфера до рівня розміру сегмента, негайно передає зазначені дані в мережу. Про такі дані говорять, що вони передаються поза потоком - out of band.
Не всі сегменти, послані через з'єднання, будуть одного і того ж розміру, однак обидва учасники з'єднання повинні домовитися про максимальний розмір сегмента, який вони будуть використовувати. Цей розмір вибирається таким чином, щоб при упаковці сегмента в IP-пакет він містився туди цілком, тобто максимальний розмір сегмента не повинен перевершува...