МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
ДЕРЖАВНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА»
ДІЛЕННЯ НА ПІДМЕРЕЖІ (SUBNETTING) ТА
ОБ’ЄДНАННЯ МЕРЕЖ (SUPERNETTING)
В ПРОТОКОЛІ IPv4
ІНСТРУКЦІЯ
до лабораторної роботи № 4
З курсу “Системи та мережі передавання даних”
для студентів спеціальності 6.0914
“Комп’ютеризовані системи, автоматика і управління”
Затверджено
на засiданнi кафедри
"Автоматика і телемеханiка"
Протокол N __ вiд _____2001p.
Львів 2000
Ділення на підмережі (subnetting) та об’єднання мереж (supernetting) в протоколі IPv4: Інструкція до лабораторної роботи № 4 з курсу ”Системи та мережі передавання даних” для студентів спеціальності 6.0914 "Комп'ютеризовані системи, автоматика і управління" / Укл. А.З. Піскозуб - Львiв: Державний університет "Львівська політехніка", 2000. - 15 с.
Укладач: А.З. Піскозуб, канд. техн. наук, ст.викладач
Вiдповiдальний за випуск В.Б. Дудикевич, д.т.н, проф.
Рецензенти: С.В. Сенчина, ст.викладач,
В.В. Хома, канд. техн. наук, доцент
Мета роботи – ознайомитись з механізмом ділення на підмережі (subnetting) та механізмом об’єднання мереж (supernetting) в існуючій версії протоколу IP - IPv4 та вміти використовувати набуті навики на практиці при конфігурації складніших мереж.
ТЕОРЕТИЧНІ ВІДОМОСТІ
Загальні положення
Як відомо, існуючій версії протоколу IP - IPv4 властивий ряд недоліків, зокрема, пов’язаних з класовістю IP-адрес. Організації відповідно до її потреб виділяється блок IP-адрес, що відповідає розміру її мережі (мережа класу А, класу В чи класу С відповідно). Але якщо ця мережа дуже велика (наприклад, класу А), то по-перше, існуючі на сьогодні LAN-технології не в стані забезпечити таку велику кількість хостів в одній мережі. По-друге, це є недоцільно, бо широкомовний трафік (який завжди присутній в тій чи іншій степені в мережі) зробить цю мережу непрацездатною. По-третє, при цьому в одних випадках можливі залишки невикористаних IP-адрес, в інших – виділеного блоку IP-адрес може не вистачити в зв’язку із збільшенням кількості хостів в мережі.
Рішенням цих проблем є використання механізму ділення на підмережі (subnetting) та механізму об’єднання мереж (supernetting). При діленні цієї мережі на менші частини– підмережі (subnets) ці підмережі будуть з’єднуватись між собою за допомогою маршрутизаторів. Підмережа – це фізичний сегмент TCP/IP-мережі, в якому використовується IP-адреси зі спільним ідентифікатором підмережі. Як правило, організації отримують ідентифікатор мережі від організації InterNIC.
Ділення на підмережі описане в RFC 950. Для ділення мережі на декілька підмереж необхідно використати різні ідентифікатори мережі для кожної новоутвореної частини цієї мережі. Унікальні ідентифікатори підмереж створюються шляхом ділення ідентифікатора хоста на дві групи біт. Перша з цих груп служить для ідентифікації сегмента об’єднаної мережі, а друга – для ідентифікації конкретного хоста.
130.107.2.23 IP-адреса хоста класу В в мережі 130.107.2.0
255.255.252.0 маска, яка дозволить здійснити subnetting
10000010 01101011 000000 10 00010111 двійкова форма представлення
ідентифікатор даної IP-адреси
мережі
ідентифікатор сегмента ідентифікатор
об’єднаної мережі конкретного хоста
Рисунок 1. Приклад використання ділення на підмережі мережі класу В
Ділення на підмережі не є необхідним для ізольованої мережі (тої мережі, яка не має виходу в Internet).
Використання підмереж має ряд переваг. В організаціях підмережі застосовують для об’єднання декількох фізичних сегментів в одну логічну мережу. Застосовуючи підмережі, ми отримуємо можливість:
- сумісно використовувати різні мережеві технології (наприклад, Ethernet, Token Ring);
- подолати існуючі обмеження, наприклад, на максимальну кількість вузлів в одному сегменті;
- зменшити навантаження на мережу, перенаправляючи мережевий трафік і зменшуючи кількість широкомовних пакетів.
Критерії визначення параметрів підмереж
Перед початком роботи з підмережами необхідно визначити, яким вимогам повинна відповідати Ваша мережа зараз і яким – в майбутньому. Скористуйтесь наступною схемою.
Визначте кількість фізичних сегментів Вашої мережі.
Визначте кількість IP-адрес, необхідних для кожного сегменту, беручи до уваги той факт, що кожному хосту потрібна хоча б одна IP-адреса.
У відповідності з Вашими вимогами визначте:
одну маску підмережі для усієї Вашої мережі;
унікальні ідентифікатори підмережі для кожного фізичного сегменту;
діапазон ідентифікаторів хостів для кожної підмережі.
Перед визначенням маски підмережі необхідно визначити, скільки сегментів та хостів в сегменті Вам буде необхідно в майбутньому. Задаючи більшу кількість біт для маски підмережі, Ви збільшуєте кількість підмереж, але максимальна кількість хостів в кожній з цих підмереж зменшується.
Якщо Ви використовуєте більше біт, ніж необхідно, то це дозволить в майбутньому збільшити кількість підмереж, але обмежить кількість хостів в кожній з них.
Використовуючи менше біт, Ви маєте можливість збільшити кількість хостів в підмережі, але лімітуєте кількість підмереж.
Визначення маски підмережі
Задання маски підмережі необхідне, якщо розбиваємо мережу на підмережі. Для цього необхідно виконати наступні операції.
Визначити кількість фізичних сегментів в Вашій мережі і перевести це значення в двійковий формат.
Підрахувати, скільки біт необхідно для запису отриманого значення в двійковому форматі. Наприклад, якщо в Вашій мережі класу В необхідно отримати 5 сегментів, то двійкове значення рівне 101, і для його запису треба 3 біти.
Записати ці біти одиницями (кількість необхідних біт рівна кількості записуваних одиниць), доповнивши їх справа нулями до одного октету. Перевести отримане двійкове значення в десятковий формат. Для нашого прикладу для ідентифікатора підмережі треба 3 біти. Перетворивши 11100000 в десяткове число, отримаємо 224. Таким чином, маска підмережі буде мати вигляд 255.255.224.0
Ілюстрація визначення маски підмережі наведена на рисунку 2.
Кількість підмереж 5
Двійкове значення 0 0 0 0 0 1 0 1 (3 біти)
4 + 1 = 5
Перетворення в 11111111 11111111 11100000 00000000
десяткове
Маска підмережі 255 . 255 . 224 . 0
Рисунок 2. Приклад визначення маски підмережі для 5 сегментів мережі класу В
Послідовність біт маски підмережі
Оскільки підмережі визначаються відповідною маскою, то адміністратор може використати в якості ідентифікатора підмережі будь-яку сукупність біт. В RFC 950 було рекомендовано (але це ще не була тоді обов’язкова вимога) використовувати старші біти для формування ідентифікаторів підмережі. На сьогодні формування ідентифікатора підмережі з сукупності послідовно записаних один за одним старших біт тої частини маски підмережі, яка відповідає локальній адресі, стало обов’язковим. І лише деякі виробники маршрутизаторів ще підтримують ідентифікатори підмереж, що складаються з молодших або не записаних послідовно біт.
З огляду на ці міркування в таблиці 1 наведені усі можливі значення октетів масок в десятковій формі та відповідні їм значення в двійковій формі.
Визначення ідентифікаторів підмереж
Розглянемо два способи визначення діапазонів ідентифікаторів підмереж, що входять в об’єднану мережу.
Можливі ідентифікатори підмережі комбінуються з тих біт в адресі хоста, котрі використовуються в масці підмережі. Наведемо перший спосіб визначення.
Таблиця 1
Значення октетів масок
Виписати усі можливі комбінації біт, що використовуються для формування маски підмережі.
Викреслити комбінації, де значення усіх біт одночасно рівні “0” чи “1”. Це необхідно зробити тому, що вони представляють недопустимі (службові) IP-адреси: комбінація “всі 0” означає всю локальну мережу, а “всі 1” співпадає з маскою підмережі.
Перевести в десятковий формат значення комбінації біт для кожної підмережі. Кожне таке значення представляє одну мережу і використовується для визначення діапазону хостів в ній.
Ця процедура проілюстрована на рисунку 3.
255 255 224 0
11111111 11111111 11100000 00000000
00000000 = 0
00100000 = 32
01000000 = 64
01100000 = 96
10000000 = 128
10100000 = 160
11000000 = 192
11100000 = 224
Рисунок 3. Перший спосіб визначення діапазонів ідентифікаторів підмереж, що входять в об’єднану мережу
Зазначимо, що ідентифікатори підмереж, які складаються з одних нулів та одних одиниць, називаються адресами підмереж спеціального призначення (special case subnet addresses). Ідентифікатор з одних одиниць застосовується для широкомовлення в мережі. Ідентифікатор з одних нулів означає локальну мережу. При діленні на підмережі такі ідентифікатори використовувати не рекомендується. Але їх використання є можливим, якщо всі маршрутизатори та все інше мережеве обладнання Вашої мережі буде їх підтримувати. Обмеження пов’язані з їх використанням, описуються в RFC 950.
Другий спосіб визначення ідентифікаторів підмереж є швидший і тому ефективніший, ніж попередній, коли необхідно відвести під маску підмережі більше чотирьох біт.
Записати одиницями кількість біт, необхідних для ідентифікаторів підмереж і доповнити їх справа нулями до одного октету. Наприклад, якщо використовується два біти для ідентифікаторів підмереж, то необхідно записати це значення як 11000000.
Перетворити найменший значимий біт в десяткове число – Ви отримаєте приріст для кожної наступної підмережі. Для нашого прикладу це число рівне 64.
Починаючи з нуля, виписати послідовно отримувані з допомогою приросту значення аж до значення 256.
Ця процедура проілюстрована на рисунку 4.
1) 11000000
2) 64
3) 0
+ 64
= 64 w.x.64.1 w.x.127.254
+ 64
= 128 w.x.128.1 w.x.191.254
+ 64
= 192
Рисунок 4. Другий спосіб визначення діапазонів ідентифікаторів підмереж, що входять в об’єднану мережу
Якщо Вам відома кількість біт, необхідних для ідентифікаторів підмереж, то можна піднести число 2 до степеня, що відповідає кількості біт і відняти 2 від результату, щоб отримати кількість можливих бітових комбінацій, тобто кількість підмереж.
Визначення ідентифікаторів хостів в підмережі
Після визначення ідентифікаторів підмереж визначаються ідентифікатори хостів в цих підмережах. Цей процес проілюсторваний на рисунку 5 для мережі класу В.
Ідентифікатори Діапазон
підмереж ідентифікаторів хостів
00000000 = 0 Не використовується
00100000 = 32 x.y.32.1 – x.y.63.254
01000000 = 64 x.y.64.1 – x.y.95.254
01100000 = 96 x.y.96.1 – x.y.127.254
10000000 = 128 x.y.128.1 – x.y.159.254
10100000 = 160 x.y.160.1 – x.y.191.254
11000000 = 192 x.y.192.1 – x.y.223.254
11100000 = 224 Не використовується
Рисунок 5. Приклад визначення ідентифікаторів хостів в підмережах
для мережі класу В
Кожне чергове значення ідентифікатора підмережі, збільшене на одиницю – це початок діапазону ідентифікаторів хостів в підмережі. З другої сторони, значення цього ідентифікатора підмережі, зменшене на одиницю – це кінець діапазону ідентифікаторів хостів в попередній підмережі.
Відомо, що кожна мережа має свої три атрибути – IP-адресу самої мережі (ідентифікатор хоста в ній рівний “всім 0”), широкомовну адресу хостів в цій мережі (ідентифікатор хоста в ній рівний “всім 1”) та адресу маршрутизатора (для кожної мережі повинен бути хоча б один маршрутизатор, щоб з’єднати її з іншими мережами, - як правило, це наступна адреса після адреси мережі). Тому для кожної новоутвореної підмережі ці атрибути також повинні бути встановлені. В таблиці 5 наведений приклад розбиття мережі класу С на підмережі із зазначенням усіх атрибутів для кожного з новоутворених сегментів.
Для того, щоб визначити кількість хостів в підмережі, необхідно здійснити наступне.
Підрахувати кількість біт, котрі можна використовувати для ідентифікаторів хостів. Наприклад, якщо Ви маєте мережу класу В і 16 біт використовуються для ідентифікатора мережі, а ще 2 біти – для ідентифікаторів підмереж, то для ідентифікаторів хостів залишається 14 біт.
Визначити кількість m хостів в підмережі згідно рівняння EMBED Equation.3 , де n – це кількість біт, відведених під ідентифікатори хостів. В нашому прикладі n = 14 біт. Таким чином, m = 16382 хостів.
Приклади масок підмереж, приклади розбиття мереж на підмережі
В таблицях 2, 3 та 4 перечислені маски підмереж для мереж класу А, В та С відповідно, задані з використанням одного октету та відповідні цим маскам значення максимальної кількості підмереж та максимальної кількості хостів в цих підмережах.
Таблиця 2
Маски підмереж для мереж класу А
Таблиця 3
Маски підмереж для мереж класу В
Таблиця 4
Маски підмереж для мереж класу С
Проте деколи корисно проводити розбиття на підмережі, використовуючи для цього два, а деколи і три октети. Наприклад, маючи мережу класу А (наприклад, інтранет-діапазон 10.0.0.0), необхідно розбити її таким чином, щоб забезпечити біля 1000 підмереж, кожна з яких повинна містити 750 хостів. Для цього необхідно скористатись другим та частиною третього октету:
Ідентифікатор Маска підмережі Маска підмережі в двійковому форматі
мережі
10.0.0.0 255.255.248.0 11111111 11111111 11111000 00000000
13 біт
Використовуючи 13 біт для ідентифікатора підмережі при розбитті на підмережі мережі класу А, отримуємо 8190 підмереж, в кожній з яких може бути до 2046 хостів. Таким чином, це відповідає поставленим вимогам і, в той же час, не лімітує подальше розширення мереж.
Розглянемо приклад розбиття мережі класу С на дві, чотири і вісім підмереж, зазначивши для кожної підмережі 5 параметрів – маску підмережі, адресу підмережі, адресу маршрутизатора , широкомовну адресу хостів в даній підмережі та кількість хостів в підмережі (див. таблицю 5). Зазначимо, що в таблиці 5 адреси підмереж спеціального призначення також використовуються, що означає, що маршрутизатори підтримують ці підмережі (такими маршрутизаторами можуть бути звичайні комп’ютери з двома чи більше мережними адаптерами та з активованою опцією маршрутизації, - вони є найбільш типовим прикладом маршрутизаторів для малих мереж).
Таблиця 5
Розбиття мережі класу С на підмережі
Об’єднання мереж (supernetting) в протоколі 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. Запис в таблиці маршрутизації буде виглядати наступним чином:
Ідентифікатор Маска підмережі Маска підмережі в двійковому форматі
мережі
220.78.168.0 255.255.248.0 11111111 11111111 11111000 00000000
Таблиця 5
Типи мереж CIDR
При об’єднанні мереж та мережа, якій буде призначений пакет, визначатиметься виконанням операції логічного “І” з використанням маски підмережі і IP-адреси хоста-отримувача. Якщо результат операції співпадає з ідентифікатором мережі, то пакет відправляється у відповідну мережу.
До об’єднання мереж Internet
Таблиця маршрутизації
маршрутизатора В
220.78.168.0 255.255.255.0 220.78.168.1 Маршрутизатор В
220.78.169.0 255.255.255.0 220.78.168.1 220.78.168.0
220.78.170.0 255.255.255.0 220.78.168.1
220.78.171.0 255.255.255.0 220.78.168.1 Маршрутизатор А 220.78.169.0
220.78.172.0 255.255.255.0 220.78.168.1
220.78.173.0 255.255.255.0 220.78.168.1 220.78.170.0
220.78.174.0 255.255.255.0 220.78.168.1 220.78.175.0
220.78.175.0 255.255.255.0 220.78.168.1 220.78.171.0
220.78.174.0
220.78.172.0
220.78.173.0
Після об’єднання мереж
Таблиця маршрутизації
маршрутизатора В
220.78.168.0 255.255.248.0 220.78.168.1
Рисунок 6. Приклад використання технології об’єднання мереж CIDR
ЗАВДАННЯ
2.1 Домашня підготовка до роботи
Вивчити основні властивості стеку протоколів TCP/IP.
Вміти пояснити, чому застосовуються технології ділення на підмережі (subnetting) та об’єднання мереж (supernetting) в протоколі IPv4. Чому технологія об’єднання мереж носить ще назву безкласової міждоменної маршрутизації (Classless Inter-Domain Routing, CIDR) ?
Освоїти критерії, згідно яких проводиться розбиття на підмережі чи об’єднання мереж (кількість біт ідентифікатора підмережі, необхідна для розділення на підмережі чи об’єднання мереж, значення маски підмережі та значення ідентифікаторів хостів в новоутвореній мережі при цьому).
Навести власні приклади використання ділення на підмережі та об’єднання мереж із зазначенням діапазону IP-адрес в цих мережах.
2.2 Виконати в лабораторії
Визначити, яка технологія – розбиття на підмережі чи об’єднання мереж застосовується в комп’ютерній лабораторії. Для цього визначити:
маску хост-комп’ютера, за яким Ви працюєте. З її значення визначити, якого класу є ця мережа; скільки підмереж є в мережі кафедри.
Для кожної підмережі навести діапазон IP-адрес із зазначенням адреси самої підмережі, адреси маршрутизатора та широкомовної адреси.
Визначити, скільки сегментів із визначених Вами підмереж є задіяні (до них підключені хости). Для цього скористайтесь утілітами ipconfig, route, ping.
Виконати пункти 2, 3 для прикладу, даного Вам викладачем на занятті.
Зобразити на рисунках мережі згідно пунктів 2, 3 та 4.
ЗМІСТ ЗВІТУ
Повний текст завдання.
Навести власні приклади мереж із використання ділення на підмережі та об’єднання мереж та зазначенням діапазону IP-адрес в цих мережах та зобразити ці приклади на рисунках.
Навести усі результати виконання Вами завдання в комп’ютерній лабораторії згідно пунктів 1 - 5.
КОНТРОЛЬНІ ЗАПИТАННЯ
Якого класу IP-адреси застосовуються на хостах у Ваших комп’ютерних лабораторіях? Використовується розділення чи об’єднання мереж? Чому? А коли доцільно використовувати об’єднання? Наведіть приклад.
Наведіть відомі Вам два способи визначення діапазонів ідентифікаторів підмереж, що входять в об’єднану мережу.
Що являють собою адреси підмереж спеціального призначення? Як це впливає на кількість підмереж при виконанні технології subnetting? Коли можна не брати до уваги ці адреси підмереж спеціального призначення?
Поясніть, чому в таблицях 2, 3 та 4, де перечислені маски підмереж для мереж класу А, В та С відповідно, деякі маски підмереж не використовуються?
СПИСОК ЛІТЕРАТУРИ
[RFC950] J.C. Mogul, J. Postel, " Internet Standard Subnetting Procedure ", RFC-950, August 1985. (Status: STANDARD)
[RFC1518] Y. Rekhter & T. Li. “ An Architecture for IP Address Allocation with CIDR”, RFC-1518. September 1993. (Status: PROPOSED STANDARD).
[RFC1519] V. Fuller, T. Li, J. Yu, & K. Varadhan. “ Classless Inter-Domain Routing (CIDR): an Address Assignment and Aggregation Strategy.”, RFC-1519. September 1993. (Status: PROPOSED STANDARD).
Буров Є. Комп’ютерні мережі. СП “Бак”, Львів, 1999.
Компьютерные сети. Принципы, технологии, протоколы / В.Г.Олифер, Н.А.Олифер.-Спб.:Издательство «Питер», 2000.
Microsoft corporation. Microsoft TCP/IP. Учебный курс / Пер. с англ. - М.: Издательский отдел “Русская редакция” ТОО “Channel Trading Ltd”. - 1998.
НАВЧАЛЬНЕ ВИДАННЯ
ДІЛЕННЯ НА ПІДМЕРЕЖІ (SUBNETTING) ТА
ОБ’ЄДНАННЯ МЕРЕЖ (SUPERNETTING)
В ПРОТОКОЛІ IPv4
ІНСТРУКЦІЯ
до лабораторної роботи № 4
з курсу “Системи та мережі передавання даних”
для студентів спеціальності 6.0914
“Комп’ютеризовані системи, автоматика і управління”
Укладачі: Піскозуб Андріян Збігнєвич,
Редактор
Комп’ютерне видання
Підписано до друку
Формат 70 х 100 1/16. Папір офсетний.
Друк на різографі. Умовн. друк. арк. Обл.-вид. Арк.
Наклад. Прим. Зам.
Поліграфічний центр
Видавництва Національного університету "Львівська політехніка"
Вул. Ф.Колеси, 2, 79000, Львів
с.