Протокол IP версії 4
Технологія VoIP >> Розділ 4. Протоколи мережі Інтернет
[ << 4.4 Рівні архітектури Інтернет ] [ 4.6 Протокол IP версії 6 >> ]
4.5 Протокол IP версії 4
В якості основного протоколу мережевого рівня в стеку протоколів TCP / IP використовується протокол IP, що споконвічно проектувався як протокол передачі пакетів у мережах, що складаються з великої кількості локальних мереж. Тому протокол IP добре працює в мережах зі складною топологією, раціонально використовуючи наявність у них підсистем і ощадливо витрачаючи пропускну здатність низькошвидкісних ліній зв'язку. Протокол IP організовує пакетну передачу інформації від вузла до вузла IP-мережі, не використовуючи процедур встановлення з'єднання між джерелом і приймачем інформації. Крім того, Internet Protocol є дейтаграмним протоколом: при передачі інформації по протоколу IP кожен пакет передається від вузла до вузла і обробляється у вузлах незалежно від інших пакетів.
Протокол IP не забезпечує надійність доставки інформації, так як він не має механізмів повторної передачі. Він не має також і механізмів управління потоком даних (flow-control). Дейтаграми можуть бути втрачені, розмножені, або отримані не в тому порядку, в якому були передані.
Протокол IP базується на протоколі рівня ланки даних, який забезпечує передачу даних по фізичному середовищі. Програмний модуль, що реалізує протокол IP, визначає маршрут перенесення даних по мережі до точки призначення, або до проміжного маршрутизатора, де дейтаграмма витягується з кадру локальної мережі і прямує в канал, який відповідає вибраному маршруту. Дейтаграми можуть розбиватися на більш дрібні фрагменти, або, навпаки, кілька дейтаграм можуть об'єднуватися в одну на стику різних мереж, якщо ці мережі підтримують передачу дейтаграм різної довжини.
У кожній робочій станції, підключеної до IP-мережі, обробка IP-дейтаграм, проводиться за одним і тим же правилам адресації, фрагментації і маршрутизації. Робочі станції розглядають кожну дейтаграму як незалежну протокольну одиницю, так як протокол IP не використовує логічних з'єднань або яких-небудь інших засобів ідентифікації віртуальних каналов3.
На рис. 4.2 показана структура протокольної одиниці протоколу IP-дейтаграми.
Поле версія (version) ідентифікує використовувану версію протоколу IP, в даному випадку вказується версія 4. Необхідність цього поля пояснюється тим, що в перехідний період в мережі можуть використовуватися протоколи різних версій.
Поле довжина заголовка (header length), що складається з 4 бітів, визначає довжину заголовка, причому довжина вказується як кількість блоків розміром 32 бита. У типовому випадку значення цього поля дорівнює 5.
Поле тип обслуговування (Type of Service) містить інформацію, яка буває потрібна за підтримки мережею різних класів обслуговування. Використання цього поля в Інтернет буде зростати в міру зростання в IP-мережах можливостей передачі мультимедійного трафіку з задаються параметрами якості обслуговування. Більш детальну інформацію на цю тему можна знайти в розділі 10.
Поле загальна довжина (Total Length) визначає загальну довжину дейтаграми в октетах (байтах), включаючи заголовок і корисне навантаження. Максимальна довжина дейтаграми становить 65535 октетів, однак, на практиці, всі робочі станції і маршрутизатори працюють з довжинами, що не перевищують 576 байтів. Це пояснюється тим, що при перевищенні зазначеної довжини, знижується ефективність роботи мережі.
Протокол IP використовує 3 поля заголовка для управління фрагментацією / складанням дейтаграм. Як вже згадувалося, фрагментація необхідна тому, що різні мережі, по яких передаються дейтаграми, мають різні максимальні розміри кадру.
Ідентифікатор фрагмента (Identifier) позначає всі фрагменти однієї дейтаграми, що необхідно для її успішної збірки на приймальній стороні.
Поле прапорів (Flags) забезпечує можливість фрагментації дейтаграм і, при використанні фрагментації, дозволяє ідентифікувати останній фрагмент дейтаграми.
Поле зсув фрагмента (Fragment Offset) визначає положення фрагмента відносно початкової дейтаграми в одиницях, рівних 8 октетам.
Поле час життя (TTL - Time To Live) використовується для обмеження часу, протягом якого дейтаграмма знаходиться в мережі. Кожен маршрутизатор мережі повинен зменшувати значення цього поля на одиницю, і відкидати дейтаграму, якщо поле TTL прийняло нульове значення. Наявність поля TTL обмежує можливість нескінченної циркуляції дейтаграми по мережі, наприклад, у випадку, якщо з якої-небудь причини маршрут, за яким вона слідує, виявився «закільцьованим».
Поле протокол (Protocol) ідентифікує протокол верхнього рівня (TCP, UDP і т.д.).
Поле контрольна сума заголовка (Header Checksum) забезпечує можливість контролю помилок у заголовку. Алгоритм підрахунку контрольної суми досить простий, оскільки зазвичай протоколи нижнього рівня мають більш розвинені засоби контролю помилок.
IP-дейтаграми містять в заголовку дві адреси - відправника (Source) і одержувача (Destination), які не змінюються впродовж усього життя дейтаграми.
Детальніше структура та функції протоколу IPv4 описані в RFC-791.
--Козінцев Олексій 36 гр. 05:21, 20 листопада 2010 (EET)