Internet Protocol: відмінності між версіями

[перевірена версія][неперевірена версія]
Вилучено вміст Додано вміст
Немає опису редагування
Рядок 42:
== Структура IP-пакету ==
Вище ми роздивились як пакети третього рівня стають даними другого рівня та інкапсулюються у фрейми.
Аналогічно, IP-пакети складаються з даних верхнього рівня та IP-заголовку. За специфікацією протоколу, пакет має бути не більший за 65535 бітів (з заголовком іта даними включно).
* '''Версія (Version)''' — 4-бітове поле, що описує використовувану версію протоколу IP. Всі пристрої зобов'язані використовувати протокол IP однієї версії, пристрій що використовує іншу версію буде відкидати пакети.
* '''Довжина IP-заголовку (IP header Length — HLEN)''' — 4-бітове поле, що описує довжину заголовку пакету в 32-бітових блоках. Це значення — це повна довжина заголовку з врахуванням двох полів змінної довжини.
* '''Тип обслуговування (Type of Service — TOS)''' — 8-бітове поле, що вказує на степіньступінь важливості інформації, якащо присвоєнаприсвласнена протоколом верхньговерхнього рівня.
* '''Загальна довжина (Total Length)''' — 16-бітове поле, що описує довжину пакету в байтах, із заголовком іта даними включно. Для того щоб вирахувати довжину блока даних, потрібно від повної довжини відняти значення поля HLEN.
* '''Ідентифікація (Identification)''' — шістнадцятибітове поле, що зберігає ціле число, яке описує даний пакет. Це число являє собою послідовний номер.
* '''Флаги (Flags)''' — 3-бітове поле, в якому два молодших біта контролюють фрагментацію пакетів. Перший біт визначає чи бувбуло пакет фрагментовано, а другий чи є цей пакет останнім фрагментом в серії фрагментів.
* '''Зміщення фрагментації (Fragment Offset)''' — 13-бітове поле, що допомагає зібрати разом фрагменти пакетів. Це поле дозволяє використовувати 16 бітів в сумі для флагівпрапорів фрагментації.
* '''Час життя (Time-to-Live — TTL)''' — 8-бітове поле — лічильник, в якому зберігаються послідовно зменшуване значення кількості пройдених вузлів (роутетів, що їх ще іноді в цьому випадку називають хопами(hops)) на шляху до місця призначення. У випадку коли лічільник пройдених хопів дорівнюватиме нулю — пакет буде відкинуто, таким чином попереджується нескінченна циклічна пересилка пакетів.
* '''Протокол (Protocol)''' — 8-бітове поле, що вказує на те, який протокол верхнього рівня отримає пакет, після завершення обробки IP-протоколом. Наприклад TCP або UDP.
* '''Контрольна сума заголовку (Header Checksum)''' — 16-бітове поле, що допомагає перевірити цілісність заголовку пакету.
* '''IP-адреса відправника (Source IP address)''' (адресант, сорс, відправник) — 32-бітове поле, що зберігає IP-адресу вузлавузолу-відправника.
* '''IP-адреса отримувача (Destination IP adress)''' (адресат, дест, отримувач) — 32-бітове поле, що зберігає адресу вузлавузолу призначення (отримувача).
* '''Опції (Options)''' — поле змінної довжини, що дозволяє протоколу IP реалізувати підтримку різних опцій, зокрема засобів безпеки.
* '''Підкладка (Padding)''' — поле, що використовується для вставки додаткових нулів, для гарантування кратності IP-заголовку 32 бітам.