TCP/IP

Матеріал з Вікі ЦДУ
Перейти до: навігація, пошук

Вступ (TCP/IP)

Протоколи мережної взаємодії TCP/IP є результатом еволюційного розвитку протоколів глобальної обчислювальної мережі ARPANET. Роботи зі створення мережі ARPANET були розпочаті рядом університетів США і фірмою BBN у 1968 р. У 1971 р. мережа була введена в регулярну експлуатацію і забезпечувала для усіх своїх вузлів три основні послуги: · інтерактивний вхід користувача на вилучений вузол; · передача файлів між вузлами мережі; · електронна пошта. Усі ці засоби базувалися на транспортних послугах, наданих програмою керування мережі NCP (Network Control Program), що реалізує свій внутрішній набір протоколів. Накопичений до 1974 р. досвід експлуатації мережі ARPANET виявив багато недоліків протоколів NCP і дозволив визначити основні вимоги до нового набору протоколів, що отримали назву TCP/IP: · незалежність від середовища передачі повідомлень; · можливість підключення до мережі ЕОМ будь-якої архітектури; · єдиний спосіб організації з'єднання між вузлами в мережі; · стандартизація прикладних протоколів. Широко використовувана нині версія 4 протоколів TCP/IP була стандартизована в 1981 р. у вигляді документів, названих RFC (Request For Comment). Повний перехід мережі ARPANET на нові протоколи був завершений у 1982 р. Ця мережа зіграла роль "зародка" всесвітньої мережі Internet, побудованої на базі протоколів TCP/IP. Реалізація протоколів TCP/IP виявилася найбільш вдалою у версіях BSD4.2 і BSD4.3 операційної системи UNIX. Ця реалізація є еталоном (стандартом "de facto") для всіх наступних.

Основи TCP/IP

TCP/IP - це засіб для обміну інформацією між комп'ютерами, об'єднаними в мережу. Не має значення, чи складають вони частину однієї і тієї ж мережі або підключені до окремих мереж. Не грає ролі і те, що один з них може бути комп'ютером Cray, а інший Macintosh. TCP/IP - це не залежний від платформи стандарт, що перекидає мости через прірву, що лежить між різнорідними комп'ютерами, операційними системами і мережами. Це протокол, що глобально керує Internet, і значною мірою завдяки мережі TCP/IP завоював свою популярність.

Розуміння TCP/IP головним чином має на увазі здатність розбиратися в наборах таємничих протоколів, що використовуються головними комп'ютерами TCP/IP для обміну інформацією. TCP/IP – це абревіатура терміна Transmission Control Protocol/Internet Protocol (Протокол керування передачею/Протокол Internet). У термінології обчислювальних мереж протокол – це заздалегідь погоджений стандарт, що дозволяє двом комп'ютерам обмінюватися даними. Фактично TCP/IP не один протокол, а декілька. Саме тому ви часто чуєте, як його називають набором, або комплектом протоколів, серед яких TCP і IP - два основних.

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

Причина, по якій TCP/IP настільки важливий сьогодні, полягає в тому, що він дозволяє самостійним мережам підключатися до Internet або поєднуватися для створення часток інтрамереж. Обчислювальні мережі, що складають інтрамережу, фізично підключаються через пристрої, що називаються маршрутизаторами або IP-маршрутизаторами. Маршрутизатор - це комп'ютер, що передає пакети даних з однієї мережі в іншу. В інтрамережі, що працює на основі TCP/IP, інформація передається у виді дискретних блоків, що називаються IP-пакетами (IP packets) або IP-дейтаграмами (IP datagrams). Завдяки програмному забезпеченню TCP/IP усі комп'ютери, підключені до обчислювальної мережі, стають "близькими родичами". Власне кажучи воно ховає маршрутизатори і базову архітектуру мереж і робить так, що все це виглядає як одна велика мережа. Точно так само, як підключення до мережі Ethernet розпізнаються по 48-розрядних ідентифікаторах Ethernet, підключення до інтрамережі ідентифікуються 32-розрядними IP-адресами, що ми виражаємо у формі десяткових чисел, розділених крапками (наприклад, 128.10.2.3). Узявши IP-адресу вилученого комп'ютера, комп'ютер в інтрамережі або в Internet може відправити дані на нього, начебто вони складають частину однієї і тієї ж фізичної мережі.

TCP/IP дає рішення проблеми обміну даними між двома комп'ютерами, підключеними до одній і тієї ж інтрамережі, але приналежним різним фізичним мережам. Рішення складається з декількох частин, причому кожен член сімейства протоколів TCP/IP вносить свою лепту в загальну справу.

Структура стеку TCP/IP

777.PNG
СтекTCPIP.png

ARP. (Address Resolution Protocol, протокол визначення адрес): протокол для визначення фізичної адреси інтерфейсу. Ця адреса необхідна для формування заголовка пакета канального рівня (кадру). Пакети ARP протоколу не доповнюються IP-заголовком міжмережного рівня, а одразу пакуються в кадри (пакети канального рівня), бо вони циркулюють тільки в межах однієї мережі.

ATM ( Asynchronous Transfer Mode ) – нова універсальна технологія побудови каналів зв’язку для глобальних і локальних мереж, що забезпечує гарантовану якість і терміновість передавання даних. За цією технологією створюють нові швидкісні магістральні мережі для передавання даних в Україні. Високі ціни на обладнання стримують процес розширення застосування технології ATM .

DNS ( Domain Name System ) – доменна система імен, яка призначена для перетворення символьних імен мережних ресурсів у цифрові адреси серверів, де розміщено ці ресурси.

Ethernet – найбільш розповсюджена технологія побудови каналів зв’язку у локальних мережах.

Frame Relay – найбільш розповсюджена технологія побудови каналів зв’язку для глобальних мереж.

FTP (File Transfer Protocol, протокол передачі файлів): дозволяє передавати файли з одного комп'ютера на іншій з використанням TCP-з'єднань. У схожому, але менш розповсюдженому протоколі передачі файлів - Trivial File Transfer Protocol (TFTP) - для пересилання файлів застосовується UDP, а не TCP.

HTTP ( Hypertext Transfer Protocol ) – протокол для передавання Web -сторінок (гіпертексту).

ICMP (Internet Control Message Protocol, протокол керуючих повідомлень Internet): дозволяє IP-маршрутизаторам посилати повідомлення про помилки і керуючу інформацію іншим IP-маршрутизаторам і головним комп'ютерам мережі. ICMP-повідомлення "подорожують" у вигляді полів даних IP-дейтаграм і обов'язково повинні реалізовуватися у всіх варіантах IP.

IGMP (Internet Group Management Protocol, протокол керування групами Internet): дозволяє IP-дейтаграмам поширюватися в циркулярному режимі (multicast) серед комп'ютерів, що належать до відповідних груп.

IP (Internet Protocol, протокол Internet): низькорівневий протокол, що направляє пакети даних по окремих мережах, зв'язаних разом за допомогою маршрутизаторів для формування Internet або інтрамережі. Дані "подорожують" у формі пакетів, називаних IP-дейтаграмами.

Протокол ІРv6

PPP ( Point - to - Point Protocol ) – протокол, що широко застосовують для побудови каналу зв’язку між двома віддаленими вузлами, що з’єднані між собою фізичною лінією зв’язку.

RARP (Reverse Address Resolution Protocol, протокол зворотного перетворення адрес): перетворить фізичні мережні адреси в IP-адреси.

SMTP (Simple Mail Transfer Protocol, простий протокол обміну електронною поштою): визначає формат повідомлень, що SMTP-клієнт, що працює на одному комп'ютері, може використовувати для пересилання електронної пошти на SMTP-сервер, запущений на іншому комп'ютері.

TCP (Transmission Control Protocol, протокол керування передачею): протокол орієнтований на роботу з підключеннями і передає дані у вигляді потоків байтів. Дані пересилаються пакетами - TCP-сегментами, - які складаються з заголовків TCP і даних. TCP - "надійний" протокол, тому що в ньому використовуються контрольні суми для перевірки цілісності даних і відправлення підтверджень, щоб гарантувати, що передані дані прийняті без перекручувань.

UDP (User Datagram Protocol, протокол користувацьких дейтаграм): протокол, що не залежить від підключень, що передає дані пакетами, називаними UDP-дейтаграмами. UDP - "ненадійний" протокол, оскільки відправник не одержує інформацію, що показує, чи була в дійсності прийнята дейтаграма.

SNMP (англ. Simple Network Management Protocol — простий протокол керування мережею) — це протокол керування мережами зв'язку на основі архітектури TCP/IP.

Рівні протоколів TCP/IP

Найнижчий (рівень IV) відповідає фізичному і канальному рівням моделі OSI. Цей рівень у протоколах TCP/IP не регламентується, але підтримує всі популярні стандарти фізичного і канального рівня: для локальних мереж це Ethernet, Token Ring, FDDI, Fast Ethernet, 100VG-AnyLAN, для глобальних мереж - протоколи з'єднань "крапка-крапка" SLIP і PPP, протоколи територіальних мереж з комутацією пакетів X.25, frame relay. Розроблена також спеціальна специфікація, що визначає використання технології ATM як транспорт канального рівня. Звичайно з появою нової технології локальних або глобальних мереж вона швидко включається в стек TCP/IP за рахунок розробки відповідного RFC, що визначає метод інкапсуляції пакетів IP у її кадри.

Наступний рівень (рівень III) - це рівень межмережевої взаємодії, що займається передачею пакетів з використанням різних транспортних технологій локальних мереж, територіальних мереж, ліній спеціального зв'язку і т.п.

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

До рівня міжмережевої взаємодії відносяться і всі протоколи, зв'язані зі складанням і модифікацією таблиць маршрутизації, такі як протоколи збору маршрутної інформації RIP (Routing Internet Protocol) і OSPF (Open Shortest Path First), а також протокол міжмережевих керуючих повідомлень ICMP (Internet Control Message Protocol). Останній протокол призначений для обміну інформацією про помилки між маршрутизаторами мережі і вузлом - джерелом пакета. За допомогою спеціальних пакетів ICMP повідомляється про неможливість доставки пакета, про перевищення часу життя або тривалості зборки пакета з фрагментів, про аномальні величини параметрів, про зміну маршруту пересилання і типу обслуговування, про стан системи і т.п.

Наступний рівень (рівень II) називається основним. На цьому рівні функціонують протокол керування передачею TCP (Transmission Control Protocol) і протокол дейтаграм користувача UDP (User Datagram Protocol). Протокол TCP забезпечує надійну передачу повідомлень між вилученими прикладними процесами за рахунок утворення віртуальних з'єднань. Протокол UDP забезпечує передачу прикладних пакетів дейтаграмним способом, як і IP, і виконує тільки функції сполучної ланки між мережним протоколом і численними прикладними процесами.

Верхній рівень (рівень I) називається прикладним. За довгі роки використання в мережах різних країн і організацій стік TCP/IP нагромадив велику кількість протоколів і сервісів прикладного рівня. До них відносяться такі широко використовувані протоколи, як протокол копіювання файлів FTP, протокол емуляції термінала telnet, поштовий протокол SMTP, використовуваний в електронній пошті мережі Internet, гіпертекстові сервіси доступу до вилученої інформації, такі як WWW і багато хто інші.

Адресація у ІР-мережах

Міжмережна схема адресації, що застосовується у протоколі ІР, описана у документах RFC 990 i RFC 997. В її основі покладено принцип відокремлення адресації мереж від адресації пристроїв у цих мережах. Така схема полегшує маршрутизацію. При цьому адреси повинні призначатися упорядковано (послідовно), для того, щоб зробити маршрутизацію більш ефективною.

При застосуванні у мережі стеку протоколів ТСР/ІР порти кінцевих пристроїв отримують унікальні адреси, тобто адресується не сам пристрій у мережі, а визначене з'єднання цього пристрою з мережею. Ця схема приводить до низки неподобств. Одним з них є необхідність заміни адреси пристрою при переміщенні його у іншу мережу. Другий недолік в тім, що для роботи з пристроєм, який має декілька підключень у розподіленій мережі, необхідно знати всі його адреси, які ідентифікують ці підключення.

Отже для кожного пристрою у мережах ІР можна говорити про адреси трьох рівнів:

  • Фізична адреса пристрою (точніше - визначеного інтерфейсу). Для пристроїв у мережах Ethernet - це МАС-адреса мережної карти або порту маршрутизатора. Ці адреси призначаються виробниками обладнання. Фізична адреса має шість байтів: старші три байти - ідентифікатор фірми-виробника. Молодші три байти призначаються самим виробником;
  • ІР-адреса, що складається з чотирьох байтів. Ця адреса застосовується на мережному рівні еталонної моделі OSI;
  • Символьний ідентифікатор - ім'я. Цей ідентифікатор може призначатися адміністратором довільно.

Коли протокол ІР був стандартизований у вересні 1981 року, його специфікація вимагала, щоб кожний пристрій, підключений до мережі, мав унікальну 32-бітну адресу. Ця адреса поділяється на дві частини. Перша частина адреси ідентифікує мережу, в якій розміщений пристрій. Друга частина однозначно ідентифікує самий пристрій у рамках мережі. Така схема приводить до дворівневої адресної ієрархії.

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

Для забезпечення гнучкості у привласнюванні адрес комп'ютерним мережам розробники протоколу визначили, що адресний простір повинен бути поділений на три різних класи - А, В і С. Знаючи клас, Ви знаєте, де у 32-бітовій адресі проходить межа між мережним префіксом і номером пристрою. На мал.1 показані формати адрес цих основних класів.

1 419.gif
Мал.1 Три класи ІР-адрес.

Одна з основних переваг застосування класів є в тім, що по класу адреси можна визначити, де проходить межа між мережним префіксом і номером пристрою.

Недоліком такого методу є необхідність зміни мережної адреси при підключенні додаткових пристроїв. Наприклад, якщо загальне число пристроїв у мережі класу С буде перевищувати 255, то вимагатиметься заміна її адреси на адресу класу В. Зміна мережних адрес потребує від адміністратора додаткових зусиль по налагодженню мережі. Крім того, введення класів адрес значно зменшує теоретично можливе число індивідуальних адрес. У поточній версії протоколу ІР (версія 4) загальне число адрес складає 4 294 967 296, так як протокол передбачає застосування 32 біт для задання адреси. Природньо, застосування частини бітів у службових цілях зменшує доступну кількість індивідуальних адрес.

Клас А призначений для великих мереж. Кожна адреса класу А має 8-бітовий префікс мережі, у якому старший біт встановлений у 1, а наступні 7 використовуються для номера мережі. Для номера пристрою задіюються 24 біти, що залишилися. На сьогоднішній день всі адреси класу А вже виділені. Мережі класу А також позначаються як "/8", поскільки адреси цього класу мають 8-бітовий префікс.

Максимальне число мереж класу А складає 126 (2 адреси віднімаються, що складаються з одних нулів і одиниць). Кожна мережа цього класу підтримує до 16 777 214 пристроїв. Так як адресний блок класу А може містити максимум 2 147 483 648 (2 в степіні 31) індивідуальних адрес, а в протоколі ІР версіі 4 може підтримуватися максимум до 4 294 967 296 (2 в степіні 32) адрес, то клас А займає 50% загального адресного простору протоколу ІР.

Клас В призначений для мереж середнього розміру. Кожна адреса класу В має 16-бітовий мережний префікс, у якому два старших біти дорівнюють 10, наступні 14 біт використовуються для номера мережі. Для номера пристрою надані 16 біт. Мережі класу В також позначаються як "/16", поскільки адреса цього класу має 16-бітний мережний префікс.

Максимальне число мереж класу В дорівнює 16 382 (2 в 14 степіні мінус 2). Кожна мережа цього класу підтримує до 65 534 (2 в 16 степіні мінус 2) пристроїв. Так як весь адресний блок класу В може містити максимум до 1 073 741 824 (2 в 30 степіні) індивідуальних адрес, він займає 25% загального простору протоколу ІР.

Адреса класу С використовується у мережах з невеликим числом пристроїв. Кожна мережа класу С має 24-бітний префікс, в якому три старших біти дорівнюють 110, а наступні 21 біт використовуються для номера мережі. Під номери пристроїв виділені 8 біт, що залишилися. Мережі класу С також позначаються як "/24", поскільки адреса цього класу має 24-бітний мережний префікс.

Максимальне число мереж класу С складає 2 097 152 (2 в 21 степіні). Кожна мережа цього класу підтримує до 254 (2 у восьмій мінус 2) пристроїв. Клас С займає 12,5% загального адресного простору протоколу ІР.

У доповнення до цих класів адрес надають ще два класи. У класі D старші чотири біти дорівнюють 1110. Цей клас використовується для групової передачі даних. У класі Е старші чотири біти дорівнюють 1111. Він зарезервований для проведення експериментів.

Для зручності читання адрес у технічній літературі, прикладних програмах і т.д. ІР-адреси зображаються у вигляді чотирьох десяткових чисел, розділених точками. Кожне з цих чисел відповідає одному октету (8 бітам) ІР-адреси. Цей формат називають точечно-десятковим (Decimal-Point Notation) або точечно-десятковою нотацією.

ІР-адреса у точечно-десятковому форматі.
0... ...31
10010001 00001010 00100010 00000011
145. 10. 34. 3.


Особливі ІР-адреси

У протоколі ІР існує декілька домовленостей про особливу інтерпретацію ІР-адрес.

  • Якщо вся ІР-адреса складається тільки з двійкових нулів, то вона означає адресу того вузла, який згенерував цей пакет; цей режим використовується тільки у деяких повідомленнях ІСМР.
  • Якщо в полі адреси мережі стоять тільки нулі, по домовленості вважається, що вузол призначення належить тій самій мережі, що і вузол , який відправив пакет.
  • Якщо всі двійкові розряди ІР-адреси дорівнюють 1, то пакет з такою адресою призначення повинен розсилатися всім вузлам, які знаходяться у тій самій мережі, що і відправник цього пакета. Така розсилка називається обмеженим широкомовним повідомленням (limited broadcast).
  • Якщо в полі номера вузла призначення стоять тільки одиниці, то пакет, який має таку адресу, розсилається всім вузлам мережі із заданим номером мережі. Наприклад, пакет з адресою 192.190.21.255 доставляється всім вузлам мережі 192.190.21.0. Таке розсилання називається широкомовним повідомленням (broadcast).

Особливий зміст має ІР-адреса, перший октет якої дорівнює 127. Вона використовується для тестування програм і взаємодії процесів у межах однієї машини. Коли програма посилає дані за адресою 127.0.0.1, то утворюється як би "петля". Дані не передаються по мережі, а повертаються модулям верхнього рівня як тільки но прийняті. Тому в ІР-мережі забороняється привласнювати машинам ІР-адреси, які починаються із 127. Ця адреса має назву loopback.

У протоколі ІР немає поняття широкомовності у тому понятті, в якому воно використовується у протоколах канального рівня локальних мереж, коли дані повинні бути доставлені абсолютно всім вузлам. Як обмежена широкомовна ІР-адреса, так і широкомовна ІР-адреса мають межі розповсюдження у інтермережі - вони обмежені або мережею, до якої належить вузол-джерело пакета, або мережею, номер якої вказаний у адресі призначення. Тому поділ мережі за допомогою маршрутизаторів на частини локалізує широкомовний шторм межами однієї з частин, що складають загальну мережу просто тому, що немає способа адресувати пакет одночасно всім вузлам всіх мереж складеної мережі.

Форма групової адреси - multicast - означає, що даний пакет повинен бути доставлений відразу декільком вузлам, які утворюють групу з номером, вказаним у полі адреси. Вузли самі ідентифікують себе, тобто визначають, до якої з груп вони відносяться. Один і той самий вузол може входити до декількох груп. Члени будь-якої групи multicast не обов'язково повинні належати одній мережі. Групова адреса не поділяється на поля номера мережі і вузла і обробляється маршрутизатором особливим чином.

Основне призначення multicast-адрес - розповсюдження інформації за схемою "один-до-багатьох". Хост, який хоче передавати одну й ту саму інформацію багатьом абонентам, за допомогою спеціального протокола IGMP (Internet Group Management Protocol) повідомляє про створення в мережі нової мультімовної групи із визначеною адресою. Маршрутизатори, які підтримують мультімовність, розповсюджують інформацію про створення нової групи у мережах, підключених до портів цього маршрутизатора. Хости, які хотять під'єднатися до знов створюваної мультімовної групи, повідомляють про це своїм локальним маршрутизаторам і ті передають цю інформацію хосту, ініціатору створення нової групи.

Щоб маршрутизатори мали можливість автоматично розповсюджувати пакети з адресою multicast по складній мережі, необхідно використовувати у кінцевих маршрутизаторах модифіковані протоколи обміну маршрутною інформацією, такі як, наприклад, MOSPF (Multicast OSPF, аналог OSPF). Групова адресація призначена для економічного розповсюдження у Internet або у великій корпоративній мережі аудіо- чи відеопрограм, призначених одразу великій аудиторії слухачів або глядачів. Якщо такі засоби знайдуть широке застосування, то Internet зможе створити серйозну конкурецію радіо і телебаченню.

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

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


Використання масок у ІР-адресації

Традиційна схема поділу ІР-адреси на номер мережі і номер вузла базується на понятті класу, який визначається значеннями кількох перших біт адреси. Саме тому, що перший байт адреси 185.23.44.206 попадає у діапазон 128-191, ми можемо сказати, що ця адреса відноситься до класу В, а значить, номером мережі є перші два байти, доповнені двома нульовими байтами - 185.23.0.0, а номером вузла - 0.0.44.206.

Для гнучкого встановлення межі між номером мережі і номером вузла використовують маску, Маска - це число, яке використовується у парі з ІР-адресою; двійковий запис маски містить одиниці у тих розрядах, які повинні у ІР-адресі інтерпретуватися як номер мережі. Поскільки номер мережі є цілою частиною адреси, одиниці у масці також повинні бути безперервною послідовністю. Для стандартних класів мереж маски мають такі значення:

  • клас А - 11111111.00000000.00000000.00000000 (255.0.0.0);
  • клас В - 11111111.11111111.00000000.00000000 (255.255.0.0);
  • клас С - 11111111.11111111.11111111.00000000 (255.255.255.0).

Для запису масок використовують і інші формати, наприклад, зручно інтерпретувати значення маски, записаної у шістнадцятьковому коді: FF.FF.00.00 - маска для адрес класу В. Часто зустрічається і таке позначення 185.23.44.206/16 - цей запис означає, що маска для цієї адреси містить 16 одиниць або що у вказаній адресі під номер адреси мережі відведено 16 двійкових розрядів.

Адресація і технологія CIDR

Технологія безкласової междоменной маршрутизації (Classless Inter-Domain Routing, CIDR), яка описана в документах RFC 1517, RFC 1518, RFC 1519, RFC 1520 і яка вперше була офіційно оголошена в 1993 році, дозволяє центрам розподілу адрес уникнути видачі абонентам зайвих адрес.

Розподіл IP-адреси на номери мережі і вузла в технології CIDR відбувається на основі маски змінної довжини, що призначається постачальником послуг. Необхідною умовою застосування CIDR є наявність у організації, що розпоряджається адресами, безперервних діапазонів адрес. Такі адреси мають однаковий префікс, тобто однакову цифрову послідовність у кількох старших розрядах. Нехай в розпорядженні деякого постачальника послуг є безперервний простір IP-адрес в кількості 2n. Звідси випливає, що префікс має довжину (32 - n) розрядів. Решта n розрядів грає роль лічильника послідовних номерів.

Cidr.jpg

Коли споживач звертається до постачальника послуг з проханням про виділення йому деякого числа адрес, то в наявному пулі адрес «вирізається» неперервна область S1,S2 або S3, в залежності від необхідної кількості адрес. При цьому повинні бути виконані наступні умови:

  • кількість адрес у виділеної області має дорівнювати степеню двійки;
  • початкова межа пулу адрес, що виділяється повинна бути кратна необхідній кількості вузлів.

Очевидно, що префікс кожної з показаних на малюнку областей має власну довжину - чим менше кількість адрес в даній області, тим довший її префікс.

Завдяки CIDR постачальник послуг одержує можливість «нарізати» блоки з виділеного йому адресного простору відповідно до вимог кожного клієнта.

Підмережі

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

1 424.gif
Мал.2 Формування трьохрівневої ієрархії.

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

Крім того, легко розв'язується проблема виділення номерів при рості організації. Організація отримує номер мережі, а далі адміністратор довільно привласнює номери підмереж для кожної внутрішньої мережі. Це дозволяє організації розширювати свою мережу без необхідності отримання ще одного мережного номера.

Маска підмережі

Якщо маршрутизатори у мережі Internet використовують тільки мережний префікс адреси отримувача для передачі трафіка у організацію, то марщрутизатори всередині приватної мережі організації розширений мережний префікс для передачі трафіка індивідуальним підмережам. Розширеним мережним префіксом називають префікс мережі і номер підмережі.

1 425.gif
Мал.3 Розширений мережний префікс.

Поняття розширеного мережного префікса, по суті, еквівалентно поняттю маска підмережі (subnet mask). Маска підмережі - це двійкове число, яке містить одиниці у тих розрядах, які відносяться до розширеного мережного префікса. Маска підмережі дозволяє поділити ІР-адресу на дві частини: номер підмережі та номер пристрою у цій підмережі.

Старші біти ІР-адреси використовуються робочими станціями і маршрутизаторами для визначення класу адреси. Після того, як клас визначений, пристрій може легко визначити межу між бітами, які використовувалися для ідентифікації номера мережі, і бітами номера пристрою у цій мережі. Однак для визначення межі бітів, які ідентифікують номер підмережі, така схема не підходить. Для цього саме і використовується 32-бітна маска підмережі, яка допомогає однозначно визначити необхідну межу.

Біти у масці підмережі повинні бути усталені в одиницю, якщо система, яка перевіряє адресу, повинна розглядати відповідний біт у ІР-адресі як частину мережного префікса. Після визначення класу ІР-адреси, будь-який біт у номері пристрою, який має відповідний усталений біт у масці підмережі, використовується для ідентифікації номера підмережі. Частина номера пристрою, що залишилася, і якій відповідають нульові біти у масці підмережі, використовуються для задання номера пристрою.

Документ RFC 1219 визначає основне правило, якому слід дотримуватися при привласнюванні номерів підмережам і пристроям. Номери підмереж призначаються таким чином, щоб старші біти у номері підмережі встановлювалися першими (тобто починаючи з крайньої лівої позиції). В той же час одиничні біти номериівпристроїв рекомендується встановлювати, починаючи з крайньої правої позиції. Отже, якщо дотримуватися цього правила, то на межі між номером підмережі і номером пристрою будуть існувати нульові невикористані біти. Це дозволяє змінити маску підмережі без зміни ІР-адреси, привласненої пристрою.

У мережі із підмережами можна використовувати два види широкомовлення: направлене і обмежене. Направлене широкомовлення використовується для передавання дейтаграми всім пристроям визначеної підмережі. Для відправки дейтаграми всім пристроям у всіх підмережах необхідно використати обмежене широкомовлення із адресою 255.255.255.255. Необхідно, однак, врахувати, що маршрутизатори не пропускають дейтаграми з такою адресою (тому таке широкомовлення називається обмеженим).

Номери мереж призначаються централізовано, якщо мережа є частиною Internet, або довільно, якщо мережа працює автономно. Номери вузлів і в тому і в іншому випадку адміністратор може призначати самостійно, не виходячи з дозволеного для цього класу мережі діапазону.

Координуючу роль у централізованому розподілі ІР-адрес спочатку відігравала організація InterNIC, однак із зростанням мережі задача розподілу адрес стала дуже складною, і InterNIC делегувала частину своїх функцій іншим організаціям і крупним поставщикам послуг Internet.

Якщо деяка ІР-мережа створена для роботи у "автономному режимі", без зв'язку з Internet, в стандартах Internet визначено декілька діапазонів адрес, рекомендуємих для локального використання. Ці адреси не обробляються маршрутизаторами Internet ні за яких умов. Адреси, зарезервовані для локальних цілей, вибрані з різних класів: у класі А - це мережа 10.0.0.0, у класі В - це діапазон з 16 номерів мереж 172.16.0.0. - 172.31.0.0, у класі С - це діапазон з 255 мереж - 192.168.0.0. - 192.168.255.0.