Internet Protocol

Матер?ал з В?к?пед?? ? в?льно? енциклопед??.
Перейти до нав?гац?? Перейти до пошуку

IP (в?д англ. Internet Protocol ; ≪?нтернет протокол≫, ≪м?жмережевий протокол≫) ? протокол мережевого р?вня для передавання датаграм м?ж мережами.

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

[ ред. | ред. код ]

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

?нкапсуляц?я

?нформац?я , проходячи вниз по р?вням модел? OSI , на кожному р?вн? певним чином обробля?ться протоколами цього р?вня. На малюнку можна побачити, як на мережному р?вн? дан? ?нкапсулюються всередину пакет?в, ?нод? названих дейтаграммами (датаграмами).

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

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

[ ред. | ред. код ]

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

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

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

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

?з фрейму, що приходить на ?нтерфейс роутера , витяга?ться MAC-адреса ? перев?ря?ться, адресований цей пакет безпосередньо якомусь вузлу чи ?нтерфейсу, чи в?н ? широкомовним (ця процедура викону?ться вс?ма пристроями всередин? домену кол?з?й). В будь-якому з цих випадк?в пакет буде оброблено, в ?ншому ? в?дкинуто, оск?льки в?н адресований ?ншому вузлу в домен? кол?з?й. Таким чином, домен кол?з?й ? розпод?лене середовище передач? даних, в якому пристро? працюють в режим? конкуренц??. На основ? значення, що збер?га?ться в пол? контрольно? суми, за допомогою цикл?чного збиткового коду (Cyclical Redundancy Check ? CRC), що був вилучений з хвоста отриманого фрейму, перев?ря?ться чи були дан? пошкоджен?. Якщо перев?рка да? позитивний результат ? фрейм в?дкида?ться. У випадку негативного результату, заголовок ? хв?ст фрейму в?дкидаються ? пакет переда?ться на трет?й р?вень. Дал? викону?ться перев?рка, чи було пакет адресовано маршрутизатору, чи потр?бна подальша маршрутизац?я на шляху до м?сця призначення. Пакети, адресован? роутеру як IP-адреса отримувача, мають адресу одного з його ?нтерфейс?в. У таких пакет?в видаля?ться заголовок ? вони передаються на четвертий, транспортний р?вень. Якщо пакет потребу? маршрутизац??, 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-пакет склада?ться з даних протоколу верхнього р?вня ? заголовку, що ма? описану вище структуру. Хоча основною частиною заголовку ? адреси в?дправника ? призначення, саме ?нш? частини заголовку роблять протокол таким над?йним ? гнучким. ?нформац?я, що збер?га?ться в полях заголовку зада? дан? пакету ? призначена для протокол?в верхн?х р?вн?в.

Див. також

[ ред. | ред. код ]

Джерела

[ ред. | ред. код ]
  • Комп'ютерн? мереж?: [навчальний пос?бник] / А. Г. Микитишин, М. М. Митник, П. Д. Стухляк , В. В. Пас?чник. ? Льв?в: ≪Магнол?я 2006≫, 2013. ? 256 с. ISBN 978-617-574-087-3
  • Буров ?. В. Комп'ютерн? мереж?: п?дручник / ?вген В?кторович Буров. ? Льв?в: ≪Магнол?я 2006≫, 2010. ? 262 с. ISBN 966-8340-69-8