Електронний посібник

Лекція № 13

Тема: IP-адресація в мережах TCP/IP: класова і безкласова модель адресації, особливі IP-адреси

Мета: ознайомитися з моделями представлення IP-адрес, особливими IP-адресами, особливостями запису адрес в безкласовій моделі

План

1 Класова модель.

2 Безкласова модель (CIDR).

3 Запис адрес в безкласовій моделі.

4 Особливі IP-адреси.


Лекційний матеріал


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

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


10100000010100010000010110000011

записується як

10100000.01010001.00000101.10000011 = 160.81.5.131.


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

Класова модель

У класової моделі IP-адреса може належати до одного з чотирьох класів мереж. Кожен клас характеризується певним розміром мережної частини адреси, кратним восьми; таким чином, межа між мережевою і хостової частинами IP-адреси в класовій моделі завжди проходить по межі октету. Належність до того чи іншого класу визначається за старшим бітам адреси (рис. 2.2.1).

Клас А. Старший біт адреси дорівнює нулю. Розмір мережної частини дорівнює 8 бітам. Таким чином, може існувати всього приблизно 27 мереж класу А, але кожна мережа має адресним простором на 224 хостів. Так як старший біт адреси нульовий, то всі IP-адреси цього класу мають значення старшого октету в діапазоні 0-127, який є також і номером мережі.

Клас В. Два старших біта адреси рівні 10. Розмір мережної частини дорівнює 16 бітам. Таким чином, може існувати всього приблизно 214 мереж класу В, кожна мережа має адресним простором на 216 хостів. Значення старшого октету IP-адреси лежать в діапазоні 128-191, при цьому номером мережі є два старших октету.

Клас С. Три старших біта адреси рівні 110. Розмір мережної частини дорівнює 24 бітам. Кількість мереж класу С приблизно 221, адресний простір кожної мережі розраховано на 254 хоста. Значення старшого октету IP-адреси лежать в діапазоні 192-223, а номером мережі є три старші октету.

Клас D. Мережі зі значеннями старшого октету IP-адреси 224 і вище. Зарезервовані для спеціальних цілей. Деякі адреси використовуються для мультікастінга - передачі дейтаграм групі вузлів мережі, наприклад:


224.0.0.1 - всім хостам даної мережі;

224.0.0.2 - всім маршрутизаторам даної мережі;

224.0.0.5 - всім OSPF-маршрутизаторам;

224.0.0.6 - всім виділеним (designated) OSPF-маршрутизаторам.

У класі А виділені дві особливі мережі, їх номери 0 і 127. Мережа 0 використовується при маршрутизації як вказівку на маршрут за замовчуванням (див. п. 2.3) і в інших особливих випадках.

IP-інтерфейс з адресою в мережі 127 використовується для адресації вузлом себе самого (loopback, інтерфейс зворотного зв'язку). Інтерфейс зворотного зв'язку не обов'язково має адресу в мережі 127 (особливо у маршрутизаторів), але якщо вузол має IP-інтерфейс з адресою 127.0.0.1, то це - інтерфейс зворотнього зв'язку. Звернення за адресою loopback-інтерфейсу означає зв'язок з самим собою (без виходу пакетів даних на рівень доступу до середовища передачі); для протоколів на рівнях транспортному і вище таке з'єднання не відрізняються від з'єднання з віддаленим вузлом, що зручно використовувати, наприклад, для тестування мережевого програмного забезпечення.

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

Наприклад, 194.124.84.0 - мережа класу С, номер хоста в ній визначається останнім октетом. При відправленні широкомовного повідомлення воно відправляється за адресою 194.84.124.255. Номери, дозволені для присвоювання хостам: від 1 до 254 (194.84.124.1 - 194.84.124.254), всього 254 можливих адреси.

Інший приклад: у мережі 135.198.0.0 (клас В, номер хоста займає два октету) широкомовний адресу 135.198.255.255, діапазон номерів хостів: 0.1 - 255.254 (135.198.0.1 - 135.198.255.254).

Безкласова модель (CIDR)

Припустимо, в локальній мережі, яка підключається до Інтернет, знаходиться 2000 комп'ютерів. Кожному з них потрібно видати IP-адресу. Для отримання необхідного адресного простору потрібні або 8 мереж класу C, або одна мережа класу В. Мережа класу В вміщує 65534 адреси, що багато більше необхідної кількості. При загальному дефіциті IP-адрес таке використання мереж класу В марнотратно. Проте якщо ми будемо використовувати 8 мереж класу С, виникне наступна проблема: кожна така IP-мережа повинна бути представлена ​​окремим рядком у таблицях маршрутів на маршрутизаторах, тому що з точки зору маршрутизаторів - це 8 абсолютно ніяк не пов'язаних між собою мереж, маршрутизація дейтаграм в які здійснюється незалежно, хоча фактично ці IP-мережі і розташовані в одному фізичному локальної мережі та маршрути до них ідентичні. Таким чином, економлячи адресний простір, ми багато разів збільшуємо службовий трафік у мережі і витрати по підтримці і обробці маршрутних таблиць.

З іншого боку, немає ніяких формальних причин проводити кордон мережа-хост в IP-адресу саме по межі октету. Це було зроблено виключно для зручності подання IP-адрес і розбиття їх на класи. Якщо вибрати довжину мережної частини в 21 біт, а на номер хоста відвести відповідно 11 біт, ми отримаємо мережу, адресний простір якої містить 2046 IP-адрес, що максимально точно відповідає поставленому вимогу. Це буде одна мережа, яка визначається своїм унікальним 21-бітним номером, отже, для її обслуговування буде потрібно тільки один запис у таблиці маршрутів.

Єдина проблема, яку залишилося вирішити: як визначити, що на мережеву частину відведено 21 біт? У випадку класової моделі старші біти IP-адреси визначали приналежність цієї адреси до того чи іншого класу і, отже, кількість біт, відведених на номер мережі.

У випадку адресації поза класів, з довільним становищем кордону мережа-хост всередині IP-адреси, до IP-адресою додається 32-бітова маска, яку називають маскою мережі (netmask) або маскою підмережі (subnet mask). Мережева маска конструюється за наступним правилом:


• на позиціях, що відповідають номера мережі, біти встановлені;

• на позиціях, що відповідають номером хоста, біти скинуті.


Описана вище модель адресації називається безкласової (CIDR - Classless Internet Direct Routing, пряма безкласова маршрутизація в Інтернет). В даний час класова модель вважається застарілою і маршрутизація і (здебільшого) видача блоків IP-адрес здійснюються за моделлю CIDR, хоча класи мереж ще міцно утримуються в термінології.

Запис адрес в безкласовій моделі

Для зручності запису IP-адреса в моделі CIDR часто представляється у вигляді abcd / n, де abcd - IP адреса, n - кількість біт в мережної частини.


Приклад: 137.158.128.0/17.


Маска мережі для цієї адреси: 17 одиниць (мережева частина), за ними 15 нулів (хостовую частина), що в октетном поданні одно


11111111.11111111.10000000.00000000 = 255.255.128.0.


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


Приклад: IP = 205.37.193.134/26 або, що те ж,


IP = 205.37.193.134 netmask = 255.255.255.192.


Розпишемо в двійковому вигляді:


IP = 11001101 00100101 11000111 10000110


маска = 11111111 11111111 11111111 11000000


Помноживши побітно, отримуємо номер мережі (у хостової частини - нулі):


network = 11001101 00100101 11000111 11000000


або, в октетном поданні, 205.37.193.128/26, або, що те ж, 205.37.193.128 netmask 255.255.255.192.


Хостовую частина розглянутого IP-адреси дорівнює 000110, або 6. Таким чином, 205.37.193.134/26 адресує хост номер 6 у мережі 205.37.193.128/26. У класової моделі адресу 205.37.193.134 визначав би хост 134 в мережі класу С 205.37.193.0, однак вказівка ​​маски мережі (або кількості біт в мережної частини) однозначно визначає приналежність адреси до безкласової моделі.

Вправа. Покажіть, що адреса 132.90.132.5 netmask 255.255.240.0 визначає хост 4.5 в мережі 132.90.128.0/20 (в класовій моделі це був би хост 132.5 в мережі класу В 132.90.0.0). Знайдіть адресу broadcast для цієї мережі.

Очевидно, що мережі класів А, В, С у безкласової моделі представляються з допомогою масок відповідно 255.0.0.0 (або / 8), 255.255.0.0 (або / 16) і 255.255.255.0 (або / 24).

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

Протокол IP припускає наявність адрес, які трактуються особливим чином. До них належать такі:


1. Адреси, значення першого октету яких дорівнює 127. Пакети, спрямовані за такою адресою, реально не передаються в мережу, а обробляються програмним забезпеченням вузла-відправника. Таким чином, вузол може направити дані самому собі. Цей підхід дуже зручний для тестування мережевого програмного забезпечення в умовах, коли немає можливості підключитися до мережі.

2. Адреса 255.255.255.255. Пакет, в призначенні якого стоїть адресу 255.255.255.255, повинен розсилатися всім вузлам мережі, в якій знаходиться джерело. Такий вид розсилки називається обмеженим широкомовлення. У двійковій формі ця адреса має вигляд 11111111 11111111 11111111 11111111.

3. Адреса 0.0.0.0. Він використовується в службових цілях і трактується як адресу того вузла, який згенерував пакет. Двійкове подання цієї адреси 00000000 00000000 00000000 00000000


Додатково особливим чином інтерпретуються адреси:

містять 0 у всіх двійкових розрядах поля номера вузла; такі IP-адреси використовуються для запису адрес мереж в цілому;

містять 1 у всіх двійкових розрядах поля номера вузла; такі IP-адреси є широкомовними адресами для мереж, номери яких визначаються цими адресами.