Міністерство освіти України
Національний університет
“Львівська політехніка”
кафедра автоматики
та телемеханіки
Звіт
про виконання лабораторної роботи№5
на тему: “ Ділення на підмережі (subnetting) та об’єднання мереж (supernetting) в протоколі Ipv4 ”
з дисципліни “СИСТЕМИ ТА МЕРЕЖІ ПЕРЕДАВАННЯ ДАНИХ”
Виконав: ст. гр. КС-42
Перевірив:
Львів-2003р.
Мета роботи – ознайомитись з механізмом ділення на підмережі (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 сегментів мережі класу В
Визначення ідентифікаторів підмереж
Розглянемо два способи визначення діапазонів ідентифікаторів підмереж, що входять в об’єднану мережу.
Можливі ідентифікатори підмережі комбінуються з тих біт в адресі хоста, котрі використовуються в масці підмережі. Наведемо перший спосіб визначення.
Таблиця 1
Значення октетів масок
Десяткове представлення
Двійкове представлення
128
10000000
192
11000000
224
11100000
240
11110000
248
11111000
252
11111100
254
11111110
255
11111111
Виписати усі можливі комбінації біт, що використовуються для формування маски підмережі.
Викреслити комбінації, де значення усіх біт одночасно рівні “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 від результату, щоб отримати кількість можливих бітових комбінацій, тобто кількість підмереж.
Об’єднання мереж (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
Тип мережі 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-адреси хоста-отримувача. Якщо результат операції співпадає з ідентифікатором мережі, то пакет відправляється у відповідну мережу.
До об’єднання мереж 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
Завдання викладача на лабораторну роботу:
Дана мережа класу С. Розбити цю мережу на дві підмережі. Визначити маску та діапазони IP–адрес хостів для кожної підмережі.
Виконання завдання:
Переводимо число 2 в двійкову систему числення.
2(10)= 01 (2)
Отже в двійковій системі числення для запису числа 2 використовується 2 розряд.
Посуваємо в масці класу С межу, що розділяє адресу мережі та хоста вправо на 2 розряди, дописавши в кінці адреси мережі ще 2 одинички.
11111111 11111111 11111111 11000000 (255.255.255.192) - маска підмережі
адреса мережі адреса хоста
3) Визначаємо IP-адреси підмереж:
Нехай 113.113.13.0 – адрес даної мережі.
01110001 01110001 00001101 01 000000 - IP-адрес першої підмережі.
Адрес мереж
Ідентифікатор Ідентифікатор хоста
підмережі
00
01 - підмережа 1 (62 хоста)
10 - підмережа 2 (62 хоста)
11
4) Визначаємо діапазони значень адрес хостів для кожної з підмереж:
Підмережа 1: (62 хоста)
Від 01110001 01110001 00001101 01 000001
до 01110001 01110001 00001101 01 111110
Діапазон IP-адрес: (113.113.13.65) ... (113.113.13.126)
Підмережа 2: (62 хоста)
Від 01110001 01110001 00001101 10 000001
до 01110001 01110001 00001101 10 111110
Діапазон IP-адрес: (113.113.129.) ... (113.113.13.190)