Іnternet Protocol

Article on other languages:

del.icio.us del.icio.us
Digg Digg
Furl Furl
Reddit Reddit
Rojo Rojo
Add to OnlyWire
П'ять рівнів моделі TCP/IP
5. Прикладний рівень

DHCP · DNS · FTP · Gopher · HTTP · IMAP4 · IRC · NNTP · XMPP · POP3 · RTP · SIP · SMTP · SNMP · SSH · TELNET · RPC · RTCP · RTSP · TLS (також SSL) · SDP · SOAP · GTP · STUN · NTP · (інші)

4. Транспортний рівень
TCP · UDP · DCCP · SCTP · RSVP · (інші)
3. Мережевий рівень
IP (IPv4 · IPv6) · OSPF · IS-IS · BGP · IPsec · ARP · RARP · RIP · IGMP · ICMP · ICMPv6 · (інші)
2. Канальний рівень
802.11 (WLAN) · 802.16 · Wi-Fi · WiMAX · ATM · DTM · Token ring · Ethernet · FDDI · Frame Relay · GPRS · EV-DO · HSPA · HDLC · PPP · PPTP · L2TP · ISDN · ARCnet · (інші)
1. Фізичний рівень
Ethernet physical layer · Модеми · PLC · SONET/SDH · G.709 · Optical fiber · Коаксіальний кабель · Подвійна пара · (інші)

Зміст

IP як маршрутизований протокол.

IP протокол (англ. IP - Internet protocol) - найбільш широко розповсюджена реалізація ієрархічної схеми мережної адресації. Використовуваний в мережі Інтернет, протокол відповідає за адресацію пакетів, але не відповідає за встановлення з'єднань, не є надійним і дозволяє реалізувати тільки негарантовану доставку даних. Термін "протокол без встановлення з'єднань" (англ. connectionless) означає, що протокол для взаємодії не потребує виділеного каналу, як це відбувається під час телефонної розмови і не існує процедури виклику перед початком передачі даних між мережними вузлами. Протокол IP вибирає найбільш ефективний шлях з числа доступних на основі рішень прийнятих протоколом маршрутизації. Відсутність надійності і негарантована доставка не означає, що система працює погано або ненадійно, а вказує лиш на те, що протокол IP не докладає ніяких зусиль, щоб перевірити чи був пакет доставлений за призначенням. Ці функції делеговані протоколам транспортного та вищих рівнів. Транспортний рівень також відповідає за збірку пакетів у повідомлення в потрібній послідовності.

Інкапсуляція
Інкапсуляція

Інформація, проходячи вниз по рівням моделі OSI, на кожному рівні певним чином обробляється протоколами цього рівня. На малюнку виможете бачити, як на мережному рівні дані інкапсулюються всередину пакетів, іноді названих дейтаграммами (датаграмами). Протокол IP розпізнає формат заголовку пакету (адресну частну та іншу службову інформацію включно), але ніяким чином не аналізує і не піклується про фактичні дані. Він приймає і передає будь-які дані, передані протоколами верхніх рівнів.

Пересилка пакетів і комутація всередині маршрутизатора.

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

Ethernet-фрейми другого рівня призначені для роботи всередині широкомовних доменів з призначеними кожному мережному пристрою MAC-адресами. Фрейми другого рівня інших типів, як наприклад посдідовні двохточкові з'єднання або Frame Relay розподілених мереж (мереж WAN), використовую свою власну схему адресації другого рівня. Принциповим є те, що незалежно від використовуваної схеми адресації другого рівня, всі вони розроблені для використання всередині одного широкомовного домену другого рівня. При проходженні крізь пристрій третього рівня інформація другого рівня змінюється.

Процеси виконувані пристроями третьго рівня проілюстрованя на малюнку справа.

Зміна пакету в процесі інкапсуляції в маршрутизаторі
Зміна пакету в процесі інкапсуляції в маршрутизаторі

Із фрейму, що приходить на інтерфейс роутера, витягається MAC-адреса і перевіряється, адресований цей пакет безпосередньо якомусь вузлу чи інтерфейсу чи він є широкомовним (ця процедура виконується всіма пристроями всередині домену колізій). В будь-якому з цих випадків пакет буде оброблено, в іншому - відкинуто, оскільки він адресований іншому вузлу в домені колізій. Таким чином домен колізій - розподілене середовище передачі даних, в якому пристрої працюють в режимі конкуренції. На основі значення, що зберігається в полі контрольної суми, за допомогою циклічного збиткового коду (Cyclical Redundancy Check - CRC), що був вилучений з хвоста отриманого фрейму, перевіряється чи були дані пошкоджені. Якщо перевірка дає негативний результат - фрейм відкидається. У випадку позитивного результату заголвоок і хвіст фрейму відкидаються і пакет передається на третій рівень. Далі виконується перевірка, чи було пакет адресовано маршрутизатору або потрібна подальша маршрутизація на шляху до місця призначення. Пакети, адресовані роутеру в якості IP-адреси отримувача, мають адресу одного з його інтерфейсів. У таких пакетів видаляється заголовок і вони передаються на 4 рівень. Якщо пакет потребує маршрутизації, IP-адреса пункту призначення пакету порівнюється з записами в таблицы маршрутизації. Якщо знайдено точну відповідність або існує стандартний маршрут пакет відправляється на інтерфейс, що вказано в таблиці маршрутизації. Коли пакет комутується на вихідний інтерфейс, нове значення CRC додається у хвіст фрейму і, в залежності від типу інтерфейсу (Ethernet, Frame Relay або послідовний), пакету додається відповідний заголовок. Після чого фрейм пересилається в інший широкомовний домен на шляху до кінцевого пункту призначення.


Структура 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 бітам.
  • Дані (Data) - поле змінної довжини (64 Кбіт макс.), що зберігає інформації для верхніх рівнів.


Біти 0-3 4-7 8-15 16-18 19-23 24-31
Версія HLEN Тип обслуговування Загальна довжина
Ідентифікація Флаги Зміщення фрагментації
Час життя Протокол Контрольна сума заголовку
IP-адреса відправника
IP-адреса отримувача
Опції Додаток
Дані (65535 мінус заголовок)
...

IP-пакет складається з даних протоколу верхнього рівня і заголовку, що має описану вище структуру. Хоча основною частиною заголовку є адреси відправника і призначення, саме інші частини заголовку роблоять протокол таким надійним і гнучким. Інформація, що зберігається в полях заголовку задає дані пакету і призначена для протоколів верхніх рівнів.

Дивіться також

This article is from Wikipedia. All text is available under the terms of the GNU Free Documentation License.


Giant Panda

Mercedes Car
James Bond Guide
This site monitored by SitePinger.net