Адресація в IP-мережах

ред.

Типи адрес стека TCP/IP

ред.

У стеці TCP/IP використовуються три типи адрес: локальні (які також називаються апаратними), IP-адреси й символьні доменні імена.

У термінології TCP/IP під локальною адресою розуміється такий тип адреси, що використовується засобами базової технології для доставки даних у межах підмережі, що є елементом складеної інтермережі. У різних підмережах припустимі різні мережеві технології, різні стеки протоколів, тому при створенні стека TCP/IP передбачалася наявність різних типів локальних адрес. Якщо підмережею інтермережі є локальна мережа, то локальна адреса - це Мас-адреса. Мас-адреса призначається мережевим адаптерам і мережевим інтерфейсам маршрутизаторів. Мас-адреси призначаються виробниками обладнання і є унікальними, тому що управляються централізовано. Для всіх існуючих технологій локальних мереж Мас-адреса має формат 6 байт, наприклад 11-A0-17-3D-BC-01. Однак протокол IP може працювати й над протоколами більш високого рівня, наприклад над протоколом IPX або Х.25. У цьому випадку локальними адресами для протоколу IP відповідно будуть адреси IPX і Х.25. Варто врахувати, що комп'ютер у локальній мережі може мати кілька локальних адрес навіть при одному мережевому адаптері. Деякі мережеві пристрої не мають локальних адрес. Наприклад, до таких пристроїв відносяться глобальні порти маршрутизаторів, призначені для з'єднань типу «точка-точка».

IP-адреси являють собою основний тип адрес, на підставі яких мережевий рівень передає пакети між мережами. Ці адреси складаються з 4 байт, наприклад 109.26.17.100. IP-адреса призначається адміністратором під час конфігурування комп'ютерів і маршрутизаторів. IP-адреса складається із двох частин: номера мережі й номера вузла. Номер мережі може бути обраний адміністратором довільно, або призначений за рекомендацією спеціального підрозділу Internet (Internet Network Information Center, InterNIC), якщо мережа повинна працювати як складова частина Internet. Звичайно постачальники послуг Internet одержують діапазони адрес у підрозділів InterNIC, а потім розподіляють їх між своїми абонентами. Номер вузла в протоколі IP призначається незалежно від локальної адреси вузла. Маршрутизатор по визначенню входить відразу в кілька мереж. Тому кожен порт маршрутизатора має власну IP-адресу. Кінцевий вузол також може входити в кілька IP-мереж. У цьому випадку комп'ютер повинен мати кілька IP-адрес, по числу мережевих зв'язків. Таким чином, IP-адреса характеризує не окремий комп'ютер або маршрутизатор, а одне мережеве з'єднання.

Символьні доменні імена. Символьні імена в IP-мережах називаються доменними й будуються по ієрархічній ознаці. Складові повного символьного імені в IP-мережах розділяються крапкою й перераховуються в наступному порядку: спочатку просте ім'я кінцевого вузла, потім ім'я групи вузлів (наприклад, ім'я організації), потім ім'я більшої групи (піддомену) і так до імені домену найвищого рівня (наприклад, домену об'єднуючої організації за географічним принципом: UA - Україна, US - США). Прикладом доменного імені може служити ім'я base2.sales.zil.ua. Між доменним ім'ям й IP-адресою вузла немає ніякої алгоритмічної відповідності, тому необхідно використовувати якісь додаткові таблиці або служби, щоб вузол мережі однозначно визначався як по доменному імені, так і по IP-адресі. У мережах TCP/IP використовується спеціальна розподілена служба Domain Name System (DNS), що встановлює цю відповідність на підставі створюваних адміністраторами мережі таблиць відповідності. Тому доменні імена називають також DNS-іменами.

IP-адреса має довжину 4 байти й звичайно записується у вигляді чотирьох чисел, що представляють значення кожного байта в десятковій формі й розділених точками, наприклад, 128.10.2.30 - традиційна десяткова форма представлення адреси, а 10000000 00001010 00000010 00011110 - двійкова форма представлення цієї ж адреси.

Адреса складається із двох логічних частин — номера мережі й номери вузла в мережі. Яка частина адреси відноситься до номера мережі, а яка — до номера вузла, визначається значеннями перших біт адреси. Значення цих біт є також ознаками того, до якого класу відноситься та або інша IP-адреса.

Якщо адреса починається з 0, то мережу відносять до класу А і номер мережі займає один байт, інші 3 байти інтерпретуються як номер вузла в мережі. Мережі класу А мають номери в діапазоні від 1 до 126. (Номер 0 не використовується, а номер 127 зарезервований для спеціальних цілей, про що буде сказано нижче.) Мереж класу А небагато, зате кількість вузлів у них може досягати 224, тобто 16 777 216 вузлів.

Якщо перші два біти адреси є 10, то мережа відноситься до класу В. У мережах класу В під номер мережі й під номер вузла виділяється по 16 біт, тобто по 2 байти. Таким чином, мережа класу В є мережею середніх розмірів з максимальним числом вузлів 216, що становить 65 536 вузлів.

Якщо адреса починається з послідовності 110, то це мережа класу С. У цьому випадку під номер мережі приділяється 24 біти, а під номер вузла — 8 біт. Мережі цього класу найпоширеніші, число вузлів у них обмежено 28, тобто 256 вузлами.

Якщо адреса починається з послідовності 1110, то вона є адресою класу D і позначає особливу, групову адресу — multicast. Якщо в пакеті як адреса призначення зазначена адреса класу D, то такий пакет повинні отримати всі вузли, яким привласнена дана адреса.

Якщо адреса починається з послідовності 11110, то це значить, що дана адреса відноситься до класу Е. Адреси цього класу зарезервовані для майбутніх застосувань.

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

ред.

У протоколі IP існує кілька угод про особливу інтерпретацію IP-адрес.

  • Якщо вся IP-адреса складається тільки із двійкових нулів, то вона позначає адресу того вузла, що згенерував цей пакет; цей режим використовується тільки в деяких повідомленнях ICMP.
  • Якщо в полі номера мережі стоять тільки нулі, то за замовчуванням вважається, що вузол призначення належить тій же самій мережі, що й вузол, що відправив пакет.
  • Якщо всі двійкові розряди IP-адреси рівні 1, то пакет з такою адресою призначення повинен розсилатися всім вузлам, що перебувають у тій же мережі, що й джерело цього пакета. Таке розсилання називається обмеженим широкомовним повідомленням (limited broadcast).
  • Якщо в поле номера вузла призначення стоять тільки одиниці, то пакет, що має таку адреса, розсилається всім вузлам мережі із заданим номером мережі. Наприклад, пакет з адресою 192.190.21.255 доставляється всім вузлам мережі 192.190.21. 0. Таке розсилання називається широкомовним повідомленням(broadcast).

При адресації необхідно враховувати ті обмеження, які вносяться особливим призначенням деяких IP-адрес. Так, ні номер мережі, ні номер вузла не може складатися тільки з одних двійкових одиниць або тільки з одних двійкових нулів. Звідси треба, що максимальна кількість вузлів, наведена в таблиці для мереж кожного класу, на практиці повинна бути зменшена на 2. Наприклад, у мережах класу С під номер вузла відводиться 8 біт, які дозволяють задавати 256 номерів: від 0 до 255. Однак на практиці максимальне число вузлів у мережі класу С не може перевищувати 254, тому що адреси 0 й 255 мають спеціальне призначення. Із цих же міркувань слідує, що кінцевий вузол не може мати адресу типу 98.255.255.255, оскільки номер вузла в цій адресі класу А складається з одних двійкових одиниць.

Особливе значення має IP-адреса, перший октет якої дорівнює 127. Вона використовується для тестування програм і взаємодії процесів у межах одної машини. Коли програма посилає дані по IP-адресі 127.0.0. 1, то утвориться «петля». Дані не передаються по мережі, а повертаються модулям верхнього рівня, як тільки що прийняті. Тому в IP-мережі забороняється привласнювати машинам IP-адреси, що починаються з 127. Ця адреса має назву loopback. Можна віднести адресу 127.0.0.0 до внутрішньої мережі модуля маршрутизації вузла, а адресу 127.0.0.1 - до адреси цього модуля на внутрішній мережі. Насправді будь-яка адреса мережі 127.0.0.0 служить для позначення свого модуля маршрутизації, а не тільки 127.0.0.1, наприклад 127.0.0.3.

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

Уже згадувана форма групової IP-адреси — multicast — означає, що даний пакет повинен бути доставлений відразу декільком вузлам, які утворять групу з номером, зазначеним у полі адреси. Вузли самі ідентифікують себе, тобто визначають, до якій із груп вони належать. Той самий вузол може входити в кілька груп. Члени якої-небудь групи multicast не обов'язково повинні належати одній мережі. У загальному випадку вони можуть розподілятися по зовсім різних мережах, що перебувають один від одної на довільній кількості хопів. Групова адреса не ділиться на поля номера мережі й вузла й обробляється маршрутизатором особливим чином.

Основне призначення multicast -адрес - розповсюдження інформації зі схеми «один-до-багатьох». Хост, що хоче передавати ту саму інформацію багатьом абонентам, за допомогою спеціального протоколу IGMP (Internet Group Management Protocol) повідомляє про створення в мережі нової мультимовної групи з певною адресою. Машрутизатори, що підтримують мультимовність, поширюють інформацію про створення нової групи в мережах, підключених до портів цього маршрутизатора. Хости, які хочуть приєднатися до знов створеною мультимовної групи, сповіщають про це своїм локальним маршрутизаторам і ті передають цю інформацію хосту, ініціаторові створення нової групи.

Щоб маршрутизатори могли автоматично поширювати пакети з адресою multicast по складеній мережі, необхідно використовувати в кінцевих маршрутизаторах модифіковані протоколи обміну маршрутною інформацією, такі як, наприклад, MOSPF (Multicast OSPF, аналог OSPF).

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

Використання масок в IP-адресації

ред.

Традиційна схема ділення IP-адреси на номер мережі й номер вузла засновано на понятті класу, що визначається значеннями декількох перших біт адреси. Саме тому, що перший байт адреси 185.23.44.206 потрапляє в діапазон 128-191, ми можемо сказати, що ця адреса відноситься до класу В, а значить, номером мережі є перші два байти, доповнені двома нульовими байтами - 185.23.0.0, а номером вузла - 0.0.44.206.

А що якщо використати яку-небудь іншу ознаку, за допомогою якого можна було б більш гнучко встановлювати границю між номером мережі й номером вузла? Такі ознаки одержали назву - маска мережі. Маска — це число, що використовується в парі з IP-адресою; двійковий запис маски містить одиниці в тих розрядах, які повинні в IP-адресі інтерпретуватися як номер мережі. Оскільки номер мережі є цільною частиною адреси, одиниці в масці також повинні становити безперервну послідовність. Для стандартних класів мереж маски мають наступні значення:

  • клас А - 11111111. 00000000. 00000000. 00000000 (255.0.0.0);
  • клас В - 11111111. 11111111. 00000000. 00000000 (255.255.0.0);
  • клас С- 11111111.11111111.11111111.00000000(255.255.255.0).

Для запису масок використовуються й інші формати, наприклад, зручно інтерпретувати значення маски, записаної в шістнадцятковому коді: FF.FF.00.00 - маска для адрес класу В. Часто зустрічається й таке позначення 185.23.44.206/16 - цей запис говорить про те, що маска для цієї адреси містить 16 одиниць або, що в указаній IP-адресі під номер мережі відведено 16 двійкових розрядів.

Позначаючи кожну IP-адресу маскою, можна відмовитися від понять класів адрес і зробити гнучкішою систему адресації. Наприклад, якщо розглянуту вище адресу 185.23.44.206 асоціювати з маскою 255.255.255.0, то номером мережі буде 185.23.44.0, а не 185.23.0.0, як це визначено системою класів.

У масках кількість одиниць у послідовності, що визначає границю номера мережі, не обов'язково повинне бути кратним 8, щоб повторювати розподіл адреси на байти. Нехай, наприклад, для IP-адреси 129.64.134.5 зазначено маску 255.255.128.0, тобто у двійковому виді: IP-адреса 129.64.134.5 - 10000001. 01000000.10000110. 00000101 Маска 255.255.128.0- 11111111.11111111.10000000.00000000

Якщо ігнорувати маску, то відповідно до системи класів адреса 129.64.134.5 відноситься до класу В, а виходить, номером мережі є перші 2 байти - 129.64.0.0, а номером вузла - 0.0.134.5.

Якщо ж використовувати для визначення границі номера мережі маску, то 17 послідовних одиниць у масці, «накладені» на IP-адресу, визначають як номер мережі у двійковому представленні число:

10000001. 01000000. 10000000. 00000000 або в десятковій формі запису - номер мережі 129.64.128.0, а номер вузла 0.0.6.5.

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

Автоматизація процесу призначення IP-адрес

ред.

Призначення IP-адрес вузлам мережі навіть при не дуже великому розмірі мережі може представляти для адміністратора стомлюючу процедуру. Протокол Dynamic Host Configuration Protocol (DHCP) звільняє адміністратора від цих проблем, автоматизуючи процес призначення IP-адрес.

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

При динамічному розподілі адрес DHCP-сервер видає адресу клієнту на обмежений час, який називається часом оренди (lease duration), що дає можливість згодом повторно використати цю IP-адресу для призначення іншому комп'ютеру. Основна перевага DHCP - автоматизація рутинної роботи адміністратора по конфігуруванню стека TCP/IP на кожному комп'ютері. Іноді динамічний розподіл адрес дозволяє будувати IP-мережу, кількість вузлів у якій перевищує кількість наявних у розпорядженні адміністратора IP-адрес.

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

При автоматичному статичному способі DHCP-сервер присвоює IP-адресу з пулу наявних IP-адрес без втручання оператора. Границі пулу призначуваних адрес задає адміністратор при конфігуруванні DHCP-сервера. Адреса дається клієнту з пула в постійне користування, тобто з необмеженим строком оренди. Між ідентифікатором клієнта і його IP-адресою як і раніше при ручному призначенні, існує постійна відповідність. Вона встановлюється в момент першого призначення DHCP-сервером IP-адреси клієнту. При всіх наступних запитах сервер повертає ту ж саму IP-адресу.

DHCP забезпечує надійний і простий спосіб конфігурації мережі TCP/IP, гарантуючи відсутність дублювання адрес за рахунок централізованого управління їхнім розподілом. Адміністратор управляє процесом призначення адрес за допомогою параметра «тривалість оренди», що визначає, як довго комп'ютер може використовувати призначену IP-адресу, перед тим як знову запросити її від DHCP-сервера в оренду.

Прикладом роботи протоколу DHCP може служити ситуація, коли комп'ютер, що є DHCP-клієнтом, видаляється з підмережі. При цьому призначена йому IP-адреса автоматично звільняється. Коли комп'ютер підключається до іншої підмережі, то йому автоматично призначається нова адреса. Ні користувач, ні мережевий адміністратор не втручаються в цей процес. Ця властивість дуже важлива для мобільних користувачів.

DHCP-сервер може призначити клієнту не тільки IP-адресу клієнта, але й інші параметри стека TCP/IP, необхідні для його ефективної роботи, наприклад, маску, IP-адресу маршрутизатора за замовчуванням, IP-адресу сервера DNS, доменне ім'я комп'ютера й т.п.

Висновки

ред.
  • У стеці TCP/IP використовуються три типи адрес: локальні (які також називаються апаратними), IP-адреси й символьні доменні імена. Всі ці типи адрес присвоюються вузлам складеної мережі незалежно один від іншого.
  • IP-адреса має довжину 4 байти й складається з номера мережі й номера вузла. Для визначення межі, що відокремлює номер мережі від номера вузла, реалізуються два підходи. Перший заснований на понятті класу адреси, другий - на використанні масок.
  • Клас адреси визначається значеннями декількох перших біт адреси. В адресах класу А для номера мережі виділяється один байт, а інші три байти - для номера вузла, тому вони використовуються в більших мережах. Для невеликих мереж ліпше підходять адреси класу С, у яких номер мережі займає три байти, а для нумерації вузлів може бути використаний тільки один байт. Проміжне місце займають адреси класу В.
  • Інший спосіб визначення того, яка частина адреси є номером мережі, а яка номером вузла, заснований на використанні маски. Маска - це число, що використовується в парі з IP-адресою; двійковий запис маски містить одиниці в тих розрядах, які в IP-адресі повинні інтерпретуватися як номер мережі.

Див. також

ред.