Лабораторна робота №3
IP-адресація
Мета роботи: Розглянути правила адресації мереж різних класів, дослідити принципи створення та призначення підмереж.
Теоретична частина
Структура IP-адреси.
Схема маршрутизації повідомлень в TCP/IP базується на унікальних адресах, названих адресами Internet або IP-адресами, які утворюють пару:
<адреса локальної мережі, адреса вузла в локальній мережі> або (<NetID, HostID>)
IP-адреси представлені 32-бітовим кодом і діляться на класи : A, B, C, D, E (рис.3.1). Найбільше використання на даний час мають перші 3 класи.
1
2
3
4
5
6
7
8
9




16





….
24






32

Клас A
00
Адреса мережіNetID (7 біт)
Адреса вузлаHostID (24 біти)


Клас B
01
00
Адреса мережіNetID (14 біт)
Адреса вузлаHostID (16 біт)


Клас C
11
11
00
Адреса мережіNetID (21 біт)
Адреса вузлаHostID(8 біт)


Клас D
11
11
11
00
Багатоадресна MulticastGroupID (28 біт)


Клас E
11
11
11
11
10
Зарезервовано для майбутніх застосувань (27 біт)


Рис. 3.1. Структура IP-адрес.
Клас А -адреса починається з 0
Клас В -адреса починається з 10
Клас С -адреса починається з 110
Клас D -адреса починається з 1110
Клас E -адреса починається з 1111
Розподіл кількості адрес мереж та вузлів у різних класах показано в таблиці 3.1.
Таблиця 3.1.
Число мереж Nd (domains)
Число вузлів Nn (hosts)

Клас A
28 -2
224-2

Клас B
214 -2
216-2

Клас C
221-2
28 -2


Коли комп’ютер має два або більше фізичних під’єднань, він називається multi-home host. Такий комп’ютер або маршрутизатор потребує множину IP-адрес, при цьому кожна адреса відповідає одному з під’єднань машини до мережі.
Оскільки IP-адреси кодують як мережу, так і вузол в мережі, то ці адреси не визначають конкретний комп’ютер, а визначають під’єднання до мережі.
Тому раутер, який з’єднує n мереж, має n різних IP-адрес, по одній для кожного мережевого під’єднання.
Десятковий запис IP-адреси.
IP-адреса має чотири поля (байти) у формі ааа.ввв.ссс.ddd, розділених крапками. Кожне поле звичайно подається у формі десяткового числа. IP-адреси можна розрізняти за класами, використовуючи десяткове значення ааа першого байта:
Таблиця 3.2.
Клас
Найменша адреса
Найбільша адреса

A
0.1.0.0
126.0.0.0

B
128.0.0.0
191.255.0.0

C
192.0.1.0
223.255.255

D
224.0.0.0
239.255.255.255

E
240.0.0.0
247.255.255.255


Угоди щодо спеціальних адрес
IP-адреса може бути використана для посилання як на мережу, так і на індивідуальний вузол. За угодою, адреса вузла (HostID), всі біти якої рівні 0, ніколи не призначається індивідуальному вузлу, вона зарезервована для посилання на мережу, адреса якої NetID. IP-адреси можуть бути використані для позначення всеадресного (широкомовного) повідомлення для мережі NetID (т. зв. скероване всеадресне повідомлення); для цього всі біти адреси вузла встановлюються в 1. IP-адреса обмеженого широкомовного повідомлення або широкомовного повідомлення в локальній мережі має всі 32 біти встановлені в 1. Поле IP-адреси, яке містить всі 1, інтерпретується як “всі” (напр., “всі вузли” в мережі); поле, яке складається з усіх 0, інтерпретується як “цей/ця” (напр., HostID=0 - “цей вузол”, NetID=0 - “ця мережа”).
IP-адреса 127.0.0.0, значення класу А, зарезервована для кільцевої перевірки (контрольної петлі) і використовується для тестування TCP/IP та для процесів внутрішньої комунікації в локальному вузлі. Трафік не передається в мережу; це не є мережева адреса. На практиці діють 5 комбінацій щодо використання нулів (“цей”) і одиниць (“всі”) (див. Рисунок 3.2.)
Всі “0”
Цей вузол (host)*


Всі “0”

Адреса вузла (host)
Вузол (host) у цій мережі*


Всі “1”
Обмежена всеадресна (для локальної мережі)**


Адреса мережі

Всі “1”
Скерована всеадресна для мережі **


127
Будь-що (часто “1”)
Кільцева перевірка***


Рис.3.2. Угоди щодо спеціальних адрес
Примітки до рис. 3.2:
* Використовується тільки при запуску системи і не може бути адресою призначення.


** Не може бути адресою відправника


***Ніколи не буде передано в мережу


Мережі та підмережі. Маски.
В оригінальній схемі IP-адресації будь-якій фізичній мережі призначена унікальна мережева адреса; будь-який вузол в мережі використовує мережеву адресу як префікс до індивідуальної адреси вузла. Такий поділ обумовлений потребами процесу маршрутизації пакетів. Окремі територіальні мережі мають певну свободу в модифікації адрес і маршрутів, що дозволяє розширити кількість адрес.
В багатьох випадках, наприклад з метою зниження трафіка, чи для організації робочих груп, проявляється необхідність розбиття на підмережі або сегменти. Здійснюється таке розбиття за допомогою масок підмереж. Це призводить до зниження кількості вузлів в мережі, а також спрощує адресацію між ними за рахунок скорочення кількості біт , що залишаються для визначення адреси хоста.
Додатково комп’ютер має знати, скільки біт відведено для SubNetID та HostID. Саме за допомогою маски є можливість вказати розмір цих полів. Маска - 32-розрядне число, що має біти, які відповідають полям NetID та SubNetID, рівні 1, а біти для HostID рівні 0. Адреса підмережі визначається шляхом логічного множення:
<Адреса підмережі> = <IP-адреса & маска>
Розглянемо сегментацію мереж IP на прикладі мережі класу С. Організація пімереж в цьому випадку виконується за допомогою “позичення” для адресації мережі декількох біт з останнього октета. Кількість позичених біт залежить від потрібної кількості підмереж або від обмеження щодо кількості вузлів в підмережі.
У випадку розбиття на дві підмережі відповідно відповідно позичаються 2 біти, залишаючи 6 біт для адресації хостів. Ці два біти з останнього октета будуть додані до бітів, що використовуються для адресації мережі. Шість біт , що залишились, дозволяють кожній з двох підмереж підтримувати 62 унікальних адреси, а маска підмережі, що використовується, буде виглядати як 255. 255. 255.192(11111111.11111111.11111111.11000000)
Для організації шести підмереж потрібно використовувати три біти, що обмежує кількість вузлів в кожній мережі до тридцяти і з маскою 255.255.255.224 (11111111.11111111.11111111.11100000)
Легко зауважити , що розбиття на більшу кількість підмереж призведе до різкого зниження кількості доступних адрес в підмережі.
Досить часто використовують запис адресації виду ХХХХ.ХХХХ.ХХХХ.0/Y
Число , що стоїть за дробом, визначає кількість біт , позичених для визначення адреси мережі, що дозволяє відмовитись від стандартної форми запису. Таким чином, адреса класу С 204. 251. 122.0 з маскою 255.255.255.224 може бути записана як 204.251.122.0/27, що означає використання 27 з 32 адресних біт для визначення адреси мережі, залишаючи решту адресного простору для призначення адрес хостам.
Це число називають номером CIDR(Classless InterDomain Routing)
Маска також часто записується у шістнадцятковій формі, особливо тоді, коли приходиться маніпулювати SubNetID з розміром, не кратним 8 бітам. Вищеприведена маска у шістнадцятковій формі записується так: 0xFFFFFF00.
Маючи IP адресу і маску, комп’ютер може визначити чи IP адреса вказує:
на комп’ютер який знаходиться на його ж підмережі;
на комп’ютер який знаходиться на іншій підмережі;
на комп’ютер який знаходиться на іншій мережі.
Наприклад адреса комп’ютера 184.12.44.45 (клас В), а його маска рівна 255.255.255.0 (тобто для SubNetID виділено 8 біт). Якщо комп’ютеру необхідно передати інформацію, призначену для іншого комп’ютера, IP-адреса якого рівна: 184.12.80.2, то комп’ютер може визначити що їх NetID однакові, а от SubNetID різні (44 ( 80);
- адреса 184.12.44.50, то комп’ютер може визачити, що вони належать як до одної мережі, так і до одної підмережі, оскільки їх NetID та SubNetID однакові;
-адреса 192.168.0.3 (адреса класу С) - оскільки NetID різні, то подальші уточнення не проводяться.
Ці порівняння необхідні наприклад для того щоб можна було визначитися, чи комп’ютер повинен посилати пакети до призначення прямо на мережу (підмережу), до якої він безпосередної під'єднаний, чи до маршрутизатора, який асоціюється з необхідним напрямком.
Організація підмереж
Сам Internet не бачить організації підмереж, так що організація підмереж відома і розпізнається тільки локально всередині загальної мережі. Однак будучи один раз утворена, кожна підмережа локально діє як окрема мережа, і комунікація між підмережами вимагає того ж, що й комунікація між мережами. Комп'ютери в різних підмережах не можуть бачити один одного, доки не передбачено спеціального способу для цього. Очевидно, що 16777214 адрес станцій мережі класу A незручні для використання, як і 65534 адрес класу B. Звичайно неможливо використати такий розмір мережі, однак існує простий спосіб організації підмереж в мережах класів A і B: підмереж класу A у вигляді еквівалентних мереж класу B і підмереж класу B у еквівалентні мережі класу C. Зауважимо ще раз, що організація підмереж є тільки внутрішньою, а зовні мережа класу A завжди залишається такою.
Використаємо для прикладу мережу класу C і розглянемо, як можна утворити підмережу. Нехай мережева адреса є 192.168.255.0 і мережева маска для неї є 255.255.255.0. Маємо