Адресація
в IP-мережах
Типи адрес: фізичний (MAC-адресу),
мережевий (IP-адреса) і символьний (DNS-ім'я)
Кожен комп'ютер в мережі TCP/IP має адреси трьох рівнів: p>
Локальний адресу сайту, який визначається технологією, за допомогою якої
побудована окрема мережа, до якої входить даний вузол. Для вузлів,
що входять в локальні мережі - це МАС-адресу мережного адаптера або порту
маршрутизатора, наприклад, 11-А0-17-3D-BC-01. Ці адреси призначаються
виробниками обладнання і є унікальними адресами, так як
управляються централізовано. Для всіх існуючих технологій локальних
мереж МАС-адреса має формат 6 байтів: старші 3 байти - ідентифікатор
фірми виробника, а молодші 3 байти призначаються унікальним чином
самим виробником. Для вузлів, що входять у глобальні мережі, такі як
Х.25 або frame relay, локальна адреса призначається адміністратором
глобальної мережі.
IP-адреса, що складається з 4 байт, наприклад, 109.26.17.100. Ця адреса
використовується на мережевому рівні. Він призначається адміністратором під час
конфігурування комп'ютерів і маршрутизаторів. IP-адреса складається з двох
частин: номера мережі і номери вузла. Номер мережі може бути обраний
адміністратором довільно, або призначений за рекомендацією спеціального
підрозділу Internet (Network Information Center, NIC), якщо мережа повинна
працювати як складова частина Internet. Звичайно провайдери послуг Internet
одержують діапазони адрес у підрозділів NIC, а потім розподіляють їх
між своїми абонентами.
Номер вузла в протоколі IP призначається незалежно від локальної адреси вузла. Ділення IP-адреси на поле номера мережі і номери вузла - гнучке, і границя між
цими полями може встановлюватися досить довільно. Вузол може входити в кілька IP-мереж. У цьому випадку вузол повинен мати декілька IP-адрес, за
числу мережевих зв'язків. Таким чином IP-адреса характеризує не окремий комп'ютер або маршрутизатор, а одне мережеве з'єднання. p>
Символьний ідентифікатор-ім'я, наприклад, SERV1.IBM.COM. Ця адреса
призначається адміністратором і складається з декількох частин, наприклад,
імені машини, імені організації, імені домену. Така адреса, званий
також DNS-ім'ям, використовується на прикладному рівні, наприклад, в
протоколах FTP або telnet.
Три основні класи IP-адрес
IP-адреса має довжину 4 байти і звичайно записується у вигляді чотирьох чисел, що представляють значення кожного байта в десяткового формі, і розділених
крапками, наприклад: p>
128.10.2.30 - традиційна десяткова форма представлення адреси, p>
10000000 00001010 00000010 00011110 - двійкова форма представлення цього ж адреси. p>
На малюнку 3.1 показана структура IP-адреси. p>
Клас А p>
0
N мережі
N вузла
Клас В p>
1
0
N мережі
N вузла
Клас С p>
1
1
0
N мережі
N вузла
Клас D p>
1
1
1
0
адреса групи multicast
Клас Е p>
1
1
1
1
0
зарезервовано
Рис. 3.1. Структура ІР-адреси h2>
Адреса складається з двох логічних частин - номера мережі і номери вузла в мережі. Яка частина адреси відноситься до номера мережі, а яка до номера вузла, визначається
значеннями перших бітів адреса: p>
Якщо адреса починається з 0, то мережу відносять до класу А, і номер
мережі займає один байт, інші 3 байти інтерпретуються як номер вузла
в мережі. Мережі класу А мають номери в діапазоні від 1 до 126. (Номер 0 не
використовується, а номер 127 зарезервований для спеціальних цілей, про що
буде сказано нижче.) У мережах класу А кількість вузлів має бути більше
216, але не перевищувати 224.
Якщо перші два біти адреси рівні 10, то мережу відноситься до класу В
і є мережею середніх розмірів з числом вузлів 28 - 216. У мережах класу
В під адреса мережі і під адресу сайту відводиться по 16 бітів, тобто по 2
байти.
Якщо адреса починається з послідовності 110, то це мережа класу
С з числом вузлів не більше 28. Під адреса мережі відводиться 24 біти, а під
адреса вузла - 8 бітів.
Якщо адреса починається з послідовності 1110, то він є
адресою класу D і позначає особливий, груповий адреса - multicast. Якщо в
пакеті як адресу призначення вказана адреса класу D, то такий пакет
повинні отримати всі вузли, які здобули цю адресу.
Якщо адреса починається з послідовності 11110, то це адреса
класу Е, він зарезервований для майбутніх застосувань.
У таблиці наведено діапазони номерів мереж, відповідних кожному класу мереж. p>
Клас b>
Найменший адреса b>
Найбільший адреса b>
A b>
01.0.0
126.0.0.0
B b>
128.0.0.0
191.255.0.0
C b>
192.0.1.0.
223.255.255.0
D b>
224.0.0.0
239.255.255.255
E b>
240.0.0.0
247.255.255.255
Угоди про спеціальні адресах: broadcast,
multicast, loopback
У протоколі IP існує кілька угод про особливу інтерпретації IP-адрес: p>
якщо IР-адреса складається лише з двійкових нулів,
0 0 0 0 ................................... 0 0 0 0
то він позначає адресу того вузла, що згенерував цей пакет; p>
якщо в поле номера мережі коштують 0,
0 0 0 0 ....... 0
Номер вузла
то за замовчуванням вважається, що цей вузол належить тій же самій мережі, що й вузол, що відправив пакет; p>
якщо всі двійкові розряди IP-адреси рівні 1,
1 1 1 1 ......................................... 1 1
то пакет з такою адресою призначення повинен розсилатися всіх вузлів, що знаходяться в тій же мережі, що й джерело цього пакета. Така розсилка
називається обмеженим широкомовним повідомленням (limited broadcast); p>
якщо в поле адреси призначення коштують суцільні 1,
Номер мережі
1111 ................ 11
то пакет, що має такий адреса розсилається всім вузлам мережі із заданим номером. Така розсилка називається широкомовним повідомленням (broadcast); p>
адреса 127.0.0.1 зарезервований для організації зворотного зв'язку при
тестуванні роботи програмного забезпечення вузла без реальної відправки
пакета по мережі. Ця адреса має назва loopback.
Вже згадувана форма групового IP-адреси - multicast - означає, що даний пакет повинен бути доставлений відразу декільком вузлам, які утворюють
групу з номером, зазначеним у поле адреси. Вузли самі ідентифікують себе, тобто визначають, до якої з груп вони відносяться. Один і той же вузол може
входити в кілька груп. Такі повідомлення на відміну від широкомовних називаються мультівещательнимі. Груповий адреса не ділиться на поля номера мережі і
вузла й обробляється маршрутизатором особливим чином. p>
У протоколі IP немає поняття широкомовного в тому сенсі, в якому воно використовується в протоколах канального рівня локальних мереж, коли дані
повинні бути доставлені абсолютно усіх вузлів. Як обмежений широкомовна IP-адресу, так і широкомовна IP-адреса мають межі розповсюдження в
інтермережі - вони обмежені або мережею, до якої належить вузол - джерело пакета, або мережею, номер якої зазначений в адресі призначення. Тому поділ
мережі за допомогою маршрутизаторів на частини локалізує широкомовна шторм межами однієї зі складових загальну мережу частин просто тому, що немає
способу адресувати пакет одночасно усіх вузлів всіх мереж складовою мережі. p>
Відображення фізичних адрес на IP-адреси:
протоколи ARP і RARP
У протоколі IP-адресу сайту, то є адреса комп'ютера або порту маршрутизатора, призначається довільно адміністратором мережі й прямо не пов'язаний
з його локальною адресою, як це зроблено, наприклад, у протоколі IPX. Підхід, використовуваний в IP, зручно використовувати у великих мережах і через його
незалежності від формату локальної адреси, і через стабільності, тому що в іншому випадку, при зміні на комп'ютері мережного адаптера ця зміна
повинні б були враховувати всі адресати всесвітньої мережі Internet (у тому випадку, звичайно, якщо мережа підключена до Internet'у). p>
Локальний адреса використовується в протоколі IP тільки в межах локальної мережі при обміні даними між маршрутизатором і вузлом цієї мережі. Маршрутизатор,
одержавши пакет для вузла однієї з мереж, безпосередньо підключених до його портів, повинен для передачі пакета сформувати кадр відповідно до
вимогами прийнятої в цій мережі технології і вказати в ньому локальна адреса вузла, наприклад його МАС-адресу. У прийшов пакеті ця адреса не вказано, тому
перед маршрутизатором постає завдання пошуку його за відомою IP-адресою, яка вказана в пакеті як адресу призначення. З аналогічним завданням
зіштовхується й кінцевий вузол, коли він хоче відправити пакет у віддалену мережу через маршрутизатор, підключений до тієї ж локальної мережі, що і цей вузол. p>
Для визначення локальної адреси по IP-адресою використовується протокол дозволу адреси Address Resolution Protocol, ARP. Протокол ARP
працює різним чином в залежності від того, який протокол канального рівня працює в даній мережі - протокол локальної мережі (Ethernet, Token Ring,
FDDI) з можливістю широкомовного доступу одночасно до всіх вузлів мережі, або ж протокол глобальної мережі (X.25, frame relay), як правило не
підтримує широкомовна доступ. Існує також протокол, що вирішує зворотну задачу - знаходження IP-адреси за відомим локальному адресою. Він
називається реверсивний ARP - RARP (Reverse Address Resolution Protocol) і використовується при старті бездискових станцій, які не знають в початковий момент
свого IP-адреси, але знають адресу свого мережного адаптера. p>
У локальних мережах протокол ARP використовує широкомовні кадри протоколу канального рівня для пошуку в мережі вузла із заданим IP-адресою. p>
Вузол, якому потрібно виконати відображення IP-адреси на локальний адресу, формує ARP запит, вкладає його в кадр протоколу канального рівня,
вказуючи в ньому відомий IP-адреса, і розсилає запит широкомовно. Всі вузли локальної мережі одержують ARP запит і порівнюють зазначений там IP-адресу з
власним. У разі їх збігу вузол формує ARP-відповідь, в якій вказує свій IP-адресу і свій локальний адресу і відправляє його вже
направлено, тому що в ARP запиті відправник вказує свою локальну адресу. ARP-запити і відповіді використовують один і той же формат пакета. Так як локальні
адреси можуть у різних типах мереж мати різну довжину, то формат пакета протоколу ARP залежить від типу мережі. На малюнку 3.2 показаний формат пакета
протоколу ARP для передачі по мережі Ethernet. p>
0 8 16 31 b> p>
Тип мережі b>
Тип протоколу b>
Довжина локальної адреси
Довжина мережевого адреси
Операція
Локальний адреса відправника (байти 0 - 3)
Локальний адреса відправника (байти 4 - 5)
IP-адреса відправника (байти 0-1)
IP-адреса відправника (байти 2-3)
Бажаємий локальний адреса (байти 0 - 1)
Бажаємий локальний адреса (байти 2-5)
Бажаємий IP-адреса (байти 0 - 3)
Рис. 3.2. Формат пакета протоколу ARP h2>
У полі типу мережі для мереж Ethernet вказується значення 1. Поле типу протоколу дозволяє використовувати пакети ARP не тільки для протоколу IP, а й
для інших мережевих протоколів. Для IP значення цього поля одно 080016. p>
Довжина локальної адреси для протоколу Ethernet дорівнює 6 байтам, а довжина IP-адреси - 4 байтах. У полі операції для ARP запитів вказується значення 1
для протоколу ARP і 2 для протоколу RARP. p>
Вузол, що відправляє ARP-запит, заповнює в пакеті всі поля, крім поля шуканого локальної адреси (для RARP-запиту не вказується шуканий IP-адресу).
Значення цього поля заповнюється вузлом, упізнав свою IP-адресу. p>
У глобальних мережах адміністратора мережі найчастіше доводиться вручну формувати ARP-таблиці, в яких він задає, наприклад, відповідність IP-адреси
адресою вузла мережі X.25, який має сенс локальної адреси. Останнім часом намітилася тенденція автоматизації роботи протоколу ARP і в глобальних мережах.
Для цієї мети серед всіх маршрутизаторів, підключених до якої-небудь глобальної мережі, виділяється спеціальний маршрутизатор, який веде ARP-таблицю для всіх
інших вузлів і маршрутизаторів цієї мережі. При такому централізованому підході для всіх вузлів і маршрутизаторів вручну потрібно встановити тільки IP-адресу та
локальну адресу виділеного маршрутизатора. Потім кожен вузол і маршрутизатор реєструє свої адреси у виділеному маршрутизатор, а при необхідності
встановлення відповідності між IP-адресою і локальних адресою вузол звертається до виділеного маршрутизатора з запитом і автоматично отримує відповідь без
участі адміністратора. p>
Відображення символьних адрес на IP-адреси:
служба DNS
DNS (Domain Name System) - це розподілена база даних, що підтримує ієрархічну систему імен для ідентифікації вузлів у мережі
Internet. Служба DNS призначена для автоматичного пошуку IP-адреси за відомим символьному імені вузла. Специфікація DNS визначається стандартами
RFC 1034 і 1035. DNS вимагає статичної конфігурації своїх таблиць, що відображають імена комп'ютерів в IP-адресу. p>
Протокол DNS є службовим протоколом прикладного рівня. Цей протокол несиметричний - у ньому визначені DNS-сервери і DNS-клієнти. DNS-сервери зберігають
частина розподіленої бази даних про відповідність символьних імен і IP-адрес. Ця база даних розподілена по адміністративним доменам мережі Internet. Клієнти
DNS-сервера знають IP-адреса DNS-сервера свого адміністративного домену і за протоколом IP передають запит, в якому повідомляють відоме символьне ім'я і
просять повернути відповідний йому IP-адресу. p>
Якщо дані про запрошенням відповідно зберігаються в базі даного DNS-сервера, то він відразу посилає відповідь клієнту, якщо ж ні - то він надсилає запит
DNS-сервера іншого домену, який може сам обробити запит, або передати його іншому DNS-сервера. Усі DNS-сервери з'єднані ієрархічно, відповідно
з ієрархією доменів мережі Internet. Клієнт опитує ці сервери імен, поки не знайде потрібні відображення. Цей процес прискорюється через те, що сервери імен
постійно кешує інформацію, що надається за запитами. Комп'ютери клієнтів можуть використовувати у своїй роботі IP-адреси декількох DNS-серверів,
для підвищення надійності своєї роботи. p>
База даних DNS має структуру дерева, називаного доменним простором імен, у якому кожний домен (вузол дерева) має ім'я і може містити
піддомени. Ім'я домену ідентифікує його положення в цій базі даних стосовно батьківського домену, причому крапки в імені відокремлюють частині,
відповідні вузлам домену. p>
Корінь бази даних DNS управляється центром Internet Network Information Center. Домени верхнього рівня призначаються для кожної країни, а також на
організаційній основі. Імена цих доменів повинні слідувати міжнародним стандартом ISO 3166. Для позначення країн використовуються трьохбуквені і
дволітерні абревіатури, а для різних типів організацій використовуються наступні абревіатури: p>
com - комерційні організації (наприклад, microsoft.com);
edu - освітні (наприклад, mit.edu);
gov - урядові організації (наприклад, nsf.gov);
org - некомерційні організації (наприклад, fidonet.org);
net - організації, що підтримують мережі (наприклад, nsf.net).
Кожен домен DNS адмініструється окремою організацією, яка зазвичай розбиває свій домен на піддомени і передає функції адміністрування цих
піддоменів іншим організаціям. Кожен домен має унікальне ім'я, а кожен з піддоменів має унікальне ім'я усередині свого домену. Ім'я домену може
містити до 63 символів. Кожен хост в мережі Internet однозначно визначається своїм повним доменним ім'ям (fully qualified domain name, FQDN),
яке включає імена всіх доменів по напрямку від хоста до кореня. Приклад повного DNS-імені: p>
citint.dol.ru. p>
Автоматизація процесу призначення IP-адрес
вузлами мережі - протокол DHCP
Як вже було сказано, IP-адреси можуть призначатися адміністратором мережі вручну. Це становить для адміністратора тяжку процедуру. Ситуація
ускладнюється ще тим, що багато користувачів не володіють достатніми знаннями для того, щоб конфігурувати свої комп'ютери для роботи в інтермережі і повинні
тому покладатися на адміністраторів. p>
Протокал Dynamic Host Configuration Protocol (DHCP) був розроблений для того, щоб звільнити адміністратора від цих проблем. Основним призначенням
DHCP є динамічний призначення IP-адрес. Проте, окрім динамічного, DHCP може підтримувати і більш прості способи ручного та автоматичного
статичного призначення адрес. p>
У ручній процедуру призначення адрес активну участь приймає адміністратор, який надає DHCP-серверу інформацію про відповідність
IP-адрес фізичним адресами або іншим ідентифікаторів клієнтів. Ці адреси повідомляються клієнтам у відповідь на їх запити до DHCP-сервера. p>
При автоматичному статичному способі DHCP-сервер присвоює IP-адресу (і, можливо, інші параметри конфігурації клієнта) з пула готівкових IP-адрес
без втручання оператора. Межі пулу призначаються адрес задає адміністратор при конфігуруванні DHCP-сервера. Тим ідентифікатором клієнта
і його IP-адресою, як і раніше, як і при ручному призначення, існує постійну відповідність. Воно встановлюється в момент первинного призначення
сервером DHCP IP-адреси клієнта. При всіх наступних запитах сервер повертає той же самий IP-адресу. p>
При динамічному розподілі адрес DHCP-сервер видає адреса клієнту на обмежений час, що дає можливість згодом повторно використовувати
IP-адреси іншими комп'ютерами. Динамічне розділення адрес дозволяє будувати IP-мережу, кількість вузлів у якої набагато перевищує кількість
, що є в розпорядженні адміністратора IP-адрес. p>
DHCP забезпечує надійний і простий спосіб конфігурації мережі TCP/IP, гарантуючи відсутність конфліктів адрес за рахунок централізованого управління
їх розподілом. Адміністратор управляє процесом призначення адрес за допомогою параметра "тривалості оренди" (lease duration),
яка визначає, як довго комп'ютер може використовувати призначений IP-адресу, перед тим як знову запросити його від сервера DHCP в оренду. p>
Прикладом роботи протоколу DHCP може служити ситуація, коли комп'ютер, що є клієнтом DHCP, видаляється з підмережі. При цьому призначений йому
IP-адресу автоматично звільняється. Коли комп'ютер підключається до іншої підмережі, то йому автоматично призначається нову адресу. Ні користувач, ні
мережевий адміністратор не втручаються в цей процес. Ця властивість дуже важливо для мобільних користувачів. p>
Протокол DHCP використовує модель клієнт-сервер. Під час старту системи комп'ютер-клієнт DHCP, що знаходиться в стані "ініціалізація",
посилає повідомлення discover (досліджувати), яке широкомовно поширюється по локальній мережі і передається всім DHCP-серверів приватної
інтермережі. Кожен DHCP-сервер, що отримав це повідомлення, відповідає на нього повідомленням offer (пропозиція), яке містить IP-адресу та конфігураційну
інформацію. p>
Комп'ютер-клієнт DHCP переходить в стан "вибір" і збирає конфігураційні пропозиції від DHCP-серверів. Потім він вибирає один з цих
пропозицій, переходить у стан "запит" і відправляє повідомлення request (запит) тому DHCP-сервера, чиє пропозицію було обрано. p>
Обраний DHCP-сервер посилає повідомлення DHCP-acknowledgment (підтвердження), що містить той же IP-адресу, який вже був посланий раніше на
стадії дослідження, а також параметр оренди для цієї адреси. Крім того, DHCP-сервер посилає параметри мережевої конфігурації. Після того, як клієнт
отримає це підтвердження, він переходить в стан "зв'язок", перебуваючи в якому він може брати участь у роботі мережі TCP/IP. Комп'ютери-клієнти,
які мають локальні диски, зберігають отриманий адресу для використання при наступних стартах системи. При наближенні моменту закінчення терміну оренди
адреси комп'ютер намагається оновити параметри оренди у DHCP-сервера, а якщо цей IP-адреса не може бути виділений знову, то йому повертається інший IP-адресу. p>
У протоколі DHCP описується кілька типів, які використовуються для виявлення і вибору DHCP-серверів, для запиту інформації про конфігурацію,
для продовження та дострокового припинення ліцензії на IP-адресу. Всі ці операції спрямовані на те, щоб звільнити адміністратора мережі від утомливих рутинних
операцій по конфігурації мережі. p>
Однак використання DHCP несе в собі й деякі проблеми. По-перше, це проблема узгодження інформаційної адресної бази в службах DHCP і DNS. Як
відомо, DNS служить для перетворення символьних імен в IP-адреси. Якщо IP-адреси будуть динамічно зміняться сервером DHCP, то ці зміни необхідно
також динамічно вносити в базу даних DNS-сервера. Хоча протокол динамічної взаємодії між службами DNS і DHCP вже реалізовано
деякими фірмами (так звана служба Dynamic DNS), стандарт на нього поки не прийнятий. p>
По-друге, нестабільність IP-адрес ускладнює процес керування мережею. Системи управління, засновані на протоколі SNMP, розроблені з розрахунком на
статичність IP-адрес. Аналогічні проблеми виникають і при конфігуруванні фільтрів маршрутизаторів, які оперують з IP-адресами. p>
Нарешті, централізація процедури призначення адрес знижує надійність системи: при відмові DHCP-сервера всі його клієнти виявляються не в змозі
одержати IP-адресу та іншу інформацію про конфігурації. Наслідки такої відмови можуть бути зменшені шляхом використанні в мережі декількох серверів DHCP,
кожен з яких має свій пул IP-адрес. p>