Міністерство освіти і науки України
Національний університет Львівська політехніка
кафедра
захисту інформації
Звіт № 5
на тему: “Поділ на підмережі та об'єднання мереж на основі протоколу IPv4”
Мета роботи: ознайомитись з механізмом ділення на підмережі (subnetting) та механізмом об’єднання мереж (supernetting) на основі існуючої версії протоколу IP – IPv4 та вміти використовувати набуті навички на практиці при конфігурації складніших мереж.
1. ЗАГАЛЬНІ ПОЛОЖЕННЯ
Як відомо, існуючій версії протоколу IP – IPv4 властивий ряд недоліків, зокрема, пов’язаних із класовістю IP-адрес. Організації відповідно до її потреб виділяється блок IP-адрес, що відповідає розміру її мережі (мережа класу А, класу В чи класу С відповідно). Але якщо ця мережа дуже велика (наприклад, класу А), то:
по-перше, існуючі на сьогодні LAN-технології не в стані забезпечити таку велику кількість хостів в одній мережі.
по-друге, це є недоцільно, бо широкомовний трафік, який завжди присутній у тій чи іншій степені в мережі, зробить цю мережу непрацездатною.
по-третє, при цьому в одних випадках можливі залишки невикористаних IP-адрес, в інших – виділеного блоку IP-адрес може не вистачити у зв’язку із збільшенням кількості хостів у мережі.
Рішенням цих проблем є використання механізму ділення на підмережі (subnetting) та механізму об’єднання мереж (supernetting). При діленні цієї мережі на менші частини – підмережі (subnets) ці підмережі будуть з’єднуватись між собою за допомогою маршрутизаторів. Підмережа – це фізичний сегмент TCP/IP-мережі, в якому використовується IP-адреси зі спільним ідентифікатором підмережі. Як правило, організації отримують ідентифікатор мережі від організації InterNIC.
Ділення на підмережі описане в RFC 950. Для ділення мережі на декілька підмереж необхідно використати різні ідентифікатори мережі для кожної новоутвореної частини цієї мережі. Унікальні ідентифікатори підмереж створюються шляхом ділення ідентифікатора хоста на дві групи біт. Перша з цих груп служить для ідентифікації сегмента об’єднаної мережі, а друга – для ідентифікації конкретного хоста.
Ділення на підмережі не є необхідним для ізольованої мережі (тобто мережі, яка не має виходу в Internet).
Використання підмереж має ряд переваг. В організаціях підмережі застосовують для об’єднання декількох фізичних сегментів в одну логічну мережу. Застосовуючи підмережі, ми отримуємо можливість:
сумісно використовувати різні мережеві технології (наприклад, Ethernet, Token Ring);
подолати існуючі обмеження, наприклад, на максимальну кількість вузлів в одному сегменті;
зменшити навантаження на мережу, перенаправляючи мережевий трафік і зменшуючи кількість широкомовних пакетів.
2. КРИТЕРІЇ ВИЗНАЧЕННЯ ПАРАМЕТРІВ МЕРЕЖІ
Перед початком роботи з підмережами необхідно визначити, яким вимогам повинна відповідати Ваша мережа зараз і яким – в майбутньому. Скористуйтесь наступною схемою.
Визначте кількість фізичних сегментів Вашої мережі.
Визначте кількість IP-адрес необхідних для кожного сегмента, беручи до уваги той факт, що кожному хосту потрібна хоча б одна IP-адреса.
У відповідності з Вашими вимогами визначте:
одну маску підмережі для усієї Вашої мережі;
унікальні ідентифікатори підмережі для кожного фізичного сегмента;
діапазон ідентифікаторів хостів для кожної підмережі.
Перед визначенням маски підмережі необхідно визначити, скільки сегментів та хостів у сегменті Вам буде необхідно в майбутньому. Задаючи більшу кількість біт для маски підмережі, Ви збільшуєте кількість підмереж, але максимальна кількість хостів у кожній з цих підмереж зменшується.
Якщо Ви використовуєте більше біт, ніж необхідно, то це дозволить в майбутньому збільшити кількість підмереж, але обмежить кількість хостів у кожній з них.
Використовуючи менше біт, Ви маєте можливість збільшити кількість хостів у підмережі, але лімітуєте кількість підмереж.
3. ВИЗНАЧЕННЯ МАСКИ ПІДМЕРЕЖІ
Задання маски підмережі необхідне, якщо розбиваємо мережу на підмережі. Для цього необхідно виконати наступні операції.
Визначити кількість фізичних сегментів в Вашій мережі і перевести це значення у двійковий формат.
Підрахувати, скільки біт необхідно для запису отриманого значення у двійковому форматі. Наприклад, якщо у Вашій мережі класу В необхідно отримати 5 сегментів, то двійкове значення рівне 101, і для його запису треба 3 біти.
Записати ці біти одиницями (кількість необхідних біт рівна кількості записуваних одиниць), доповнивши їх справа нулями до одного октету. Перевести отримане двійкове значення в десятковий формат. Для нашого прикладу для ідентифікатора підмережі треба 3 біти. Перетворивши 11100000 у десяткове число, отримаємо 224.
Таким чином, маска підмережі буде мати вигляд 255.255.224.0
4. ПОСЛІДОВНІСТЬ БІТ МАСКИ МЕРЕЖІ.
ВИЗНАЧЕННЯ ІДЕНТИФІКАТОРІВ МЕРЕЖ.
Оскільки підмережі визначаються відповідною маскою, то адміністратор може використати в якості ідентифікатора підмережі будь-яку сукупність біт. В RFC 950 було рекомендовано (але це ще не була тоді обов’язкова вимога) використовувати старші біти для формування ідентифікаторів підмережі. На сьогодні формування ідентифікатора підмережі з сукупності послідовно записаних один за одним старших біт тої частини маски підмережі, яка відповідає локальній адресі, стало обов’язковим. І лише деякі виробники маршрутизаторів ще підтримують ідентифікатори підмереж, що складаються з молодших або не записаних послідовно біт.
З огляду на ці міркування в таблиці наведені усі можливі значення октетів масок в десятковій формі та відповідні їм значення у двійковій формі. Розглянемо два способи визначення діапазонів ідентифікаторів підмереж, що входять в об’єднану мережу. Можливі ідентифікатори підмережі комбінуються з тих біт в адресі хоста, котрі використовуються в масці підмережі. Наведемо перший спосіб визначення.
Десяткове представлення
Двійкове представлення
128
10 00 00 00
192
11 00 00 00
224
11 10 00 00
240
11 11 00 00
248
11 11 10 00
252
11 11 11 00
254
11 11 11 10
255
11 11 11 11
Виписати усі можливі комбінації біт, що використовуються для формування маски підмережі.
Викреслити комбінації, де значення усіх біт одночасно рівні “0” чи “1”. Це необхідно зробити тому, що вони представляють недопустимі (службові) IP-адреси: комбінація “всі 0” означає всю локальну мережу, а “всі 1” співпадає з маскою підмережі.
Перевести в десятковий формат значення комбінації біт для кожної підмережі. Кожне таке значення представляє одну мережу і використовується для визначення діапазону хостів у ній.
Зазначимо, що ідентифікатори підмереж, які складаються з одних нулів та одних одиниць, називаються адресами підмереж спеціального призначення (special case subnet addresses). Ідентифікатор з одних одиниць застосовується для широкомовлення в мережі. Ідентифікатор з одних нулів означає локальну мережу. При діленні на підмережі такі ідентифікатори використовувати не рекомендується. Але їх використання є можливим, якщо всі маршрутизатори та все інше мережеве обладнання Вашої мережі буде їх підтримувати. Обмеження, пов’язані з їх використанням, описуються в RFC 950.
Другий спосіб визначення ідентифікаторів підмереж є швидший і тому ефективніший, ніж попередній, коли необхідно відвести під маску підмережі більше чотирьох біт.
Записати одиницями кількість біт, необхідних для ідентифікаторів підмереж і доповнити їх справа нулями до одного октету. Наприклад, якщо використовується два біти для ідентифікаторів підмереж, то необхідно записати це значення як 11000000.
Перетворити найменший значимий біт в десяткове число – Ви отримаєте приріст для кожної наступної підмережі. Для нашого прикладу це число рівне 64.
Починаючи з нуля, виписати послідовно отримувані з допомогою приросту значення аж до значення 256.
Якщо Вам відома кількість біт, необхідних для ідентифікаторів підмереж, то можна піднести число 2 до степеня, що відповідає кількості біт і відняти 2 від результату, щоб отримати кількість можливих бітових комбінацій, тобто кількість підмереж.
5. ВИЗНАЧЕННЯ ІДЕНТИФІКАТОРІВ ХОСТІВ ПІДМЕРЕЖІ
Після визначення ідентифікаторів підмереж визначаються ідентифікатори хостів у цих підмережах. Цей процес проілюсторваний на рисунку 5 для мережі класу В.
Ідентифікатори мереж
Діапазон ідентифікаторів хостів
000000002 = 010
Не використовується
001000002 = 3210
x.y.32.1 – x.y.63.254
010000002 = 6410
x.y.64.1 – x.y.95.254
011000002 = 9610
x.y.96.1 – x.y.127.254
100000002 = 12810
x.y.128.1 – x.y.159.254
101000002 = 16010
x.y.160.1 – x.y.191.254
110000002 = 19210
x.y.192.1 – x.y.223.254
111000002 = 22410
Не використовується
Кожне чергове значення ідентифікатора підмережі, збільшене на одиницю – це початок діапазону ідентифікаторів хостів у підмережі. З другої сторони, значення цього ідентифікатора підмережі, зменшене на одиницю – це кінець діапазону ідентифікаторів хостів у попередній підмережі.
Відомо, що кожна мережа має свої три атрибути – IP-адресу самої мережі (ідентифікатор хоста в ній рівний “всім 0”), широкомовну адресу хостів у цій мережі (ідентифікатор хоста в ній рівний “всім 1”) та адресу маршрутизатора (для кожної мережі повинен бути хоча б один маршрутизатор, щоб з’єднати її з іншими мережами, - як правило, це наступна адреса після адреси мережі). Тому для кожної новоутвореної підмережі ці атрибути також повинні бути встановлені. В таблиці 5 наведений приклад розбиття мережі класу С на підмережі із зазначенням усіх атрибутів для кожного з новоутворених сегментів.
Для того, щоб визначити кількість хостів у підмережі, необхідно здійснити наступне.
Підрахувати кількість біт, котрі можна використовувати для ідентифікаторів хостів. Наприклад, якщо Ви маєте мережу класу В і 16 біт використовуються для ідентифікатора мережі, а ще 2 біти – для ідентифікаторів підмереж, то для ідентифікаторів хостів залишається 14 біт.
Визначити кількість m хостів у підмережі згідно рівняння
,
де n – це кількість біт, відведених під ідентифікатори хостів.
В нашому прикладі n = 14 біт. Таким чином, m = 16382 хостів.
6. ОБ'ЄДНАННЯ МЕРЕЖ В ПРОТОКОЛІ IPv4
Технологія об’єднання мереж (supernetting) у протоколі IPv4 носить ще назву безкласової міждоменної маршрутизації (Classless Inter-Domain Routing, CIDR) і описана в RFC 1518 та RFC 1519. Вона була розроблена з метою зменшення витрат адресного простору, брак якого є чи не основним недоліком протоколу IPv4. Як відомо, до 1994 р. видача мережі класу С була мінімальним блоком IP-адрес, що видавався організаціям. Для одних випадків (одиниці – десятки IP-адрес) це було забагато, для інших (декілька сотень IP-адрес) – замало.
Технологія CIDR була запропонована як така, що давала більшу гнучкість при виділенні блоків IP-адрес. Мережі CIDR описуються як “слеш (slash) x”, де x – це кількість біт (зліва підряд), що контролюються організацією, яка видає IP-адреси – InterNIC. Згідно термінології CIDR – мережі класу А,В і С – це відповідно “слеш 8”, “слеш 16” та “слеш 24”. Завдяки CIDR InterNIC може не лише визначати мережі класу А, В і С, але і мережі з проміжними масками підмережі. Нехай, наприклад, необхідно орендувати в InterNIC 50 IP-адрес для Вашої мережі – раніше Вам було би запропоновано мережу класу С, а зараз блок IP-адрес із маскою підмережі 255.255.255.192. Це означає, що у Вашому розпорядженні буде лише 6 біт, тобто 64 хости в підмережі, що є цілком достатньо. Назва цієї мережі буде “слеш 26”. В таблиці 6 представлені деякі типи мереж CIDR.
На відміну від ділення на підмережі, при об’єднанні мереж частина біт ідентифікатора мережі маскується як ідентифікатор хоста – це збільшує ефективність маршрутизації.
Візьмемо другий приклад. Замість того, щоб надати організації, яка має 2000 хостів, мережу класу В, InterNIC виділяє їй 8 ідентифікаторів мереж класу С, які в сукупності забезпечать 2032 хости. Це дозволить зекономити ідентифікатори мереж класу В. Але ця технологія породжує нову проблему. При використанні звичайних механізмів маршрутизації маршрутизатори в Internet повинні підтримувати ще 7 додаткових записів у своїх таблицях, щоб направляти пакети в мережу такої організації. Для розвантаження маршрутизаторів мережі Internet технологія безкласової маршрутизації CIDR дозволяє об’єднати усі вісім записів таблиці маршрутизації в один, який відноситься одночасно до всіх виділених організації мереж класу С.
Приклад використання технології CIDR для даного випадку проілюстрований на рисунку 6. В даному прикладі організації було виділено 8 ідентифікаторів мереж класу С- з 220.78.168.0 до 220.78.175.0. Запис у таблиці маршрутизації буде виглядати наступним чином:
Ідентифікатор мережі
Маска підмережі Х10
Маска підмережі Х2
220.78.168.0
255.255.248.0
11111111 11111111 11111000 00000000
ТИПИ МЕРЕЖ CIDR
Тип мережі InterNIC
“Маска підмережі” для усієї мережі
Приблизне число IP-адрес
слеш 0
0.0.0.0
4 мільярди
слеш 1
128.0.0.0
2 мільярди
слеш 2
192.0.0.0
1 мільярд
слеш 3
224.0.0.0
500 мільйонів
слеш 4
240.0.0.0
25 мільйонів
слеш 5
248.0.0.0
128 мільйонів
слеш 6
252.0.0.0
64 мільйони
слеш7
254.0.0.0
32 мільйони
слеш 8
255.0.0.0
16 мільйонів
слеш 9
255.128.0.0
8 мільйонів
слеш 10
255.192.0.0
4 мільйони
слеш 11
255.224.0.0
2 мільйони
слеш 12
255.240.0.0
1 мільйон
слеш 13
255.248.0.0
524288
слеш 14
255.252.0.0
262144
слеш 15
255.254.0.0
131072
слеш 16
255.255.0.0
65536
слеш 17
255.255.128.0
32768
слеш 18
255.255.192.0
16384
слеш 19
255.255.224.0
8192
слеш 20
255.255.240.0
4096
слеш 21
255.255.248.0
2048
слеш 22
255.255.252.0
1024
слеш 23
255.255.254.0
512
слеш 24
255.255.255.0
256
слеш 25
255.255.255.128
128
слеш 26
255.255.255.192
64
слеш 27
255.255.255.224
32
слеш 28
255.255.255.240
16
слеш 29
255.255.255.248
8
слеш 30
255.255.255.252
4
слеш 31
255.255.255.254
2
слеш 32
255.255.255.255
1
При об’єднанні мереж та мережа, якій буде призначений пакет, визначатиметься виконанням операції логічного “І” із використанням маски підмережі і IP-адреси хоста-отримувача. Якщо результат операції співпадає з ідентифікатором мережі, то пакет відправляється у відповідну мережу.