Лекція 4. Адресація комп'ютерів в мережі
Мережевий рівень відповідає за можливість доставки пакетів по мережі передачі даних - сукупності сегментів мережі, об'єднаних в єдину мережу будь-якої складності за допомогою вузлів зв'язку, в якій є можливість досягнення з будь-якої точки мережі в будь-яку іншу.
У зв'язку з необхідністю перенаправляти пакети з одного сегмента мережі в іншій, мережеві адреси повинні відповідати таким вимогам:
- адреси повинні бути унікальні. У мережі не може бути кількох учасників з однаковими адресами щоб уникнути неоднозначності.
- мережевий адреса повинна містити інформацію про те, як досягти одержувача по мережі.
Адресація в комп'ютерних мережах буває двох видів: фізична адресація (на основі MAC-адреси) і логічна (на основі IP-адреси).
4.1. Фізична адресація
MAC-адреса (Media Access Control - керування доступом до середовища) - унікальний ідентифікатор, який присвоюється кожній одиниці активного обладнання або деяким їх інтерфейсам в комп'ютерних мережах Ethernet.
При проектуванні стандарту Ethernet було передбачено, що кожна мережева карта (так само як і вбудований мережевий інтерфейс) повинна мати унікальний шестибайтовий номер (MAC-адресу), «прошитий» в ній при виготовленні. Цей номер використовується для ідентифікації відправника і одержувача; і передбачається, що при появі в мережі нового комп'ютера (або іншого пристрою, здатного працювати в мережі) адміністратора не доведеться налаштовувати цьому комп'ютеру MAC-адресу вручну.
Унікальність MAC-адрес досягається тим, що кожен виробник отримує в координуючому комітеті IEEE Registration Authority діапазон з шістнадцяти мільйонів (224) адрес і, в міру вичерпання виділених адрес, може запросити новий діапазон. Тому за трьома старшим байтам MAC-адреси можна визначити виробника. Існують таблиці, що дозволяють визначити виробника за MAC-адресою.
У широкомовних мережах (таких, як мережі на основі Ethernet) MAC-адреса дозволяє унікально ідентифікувати кожен вузол мережі і доставляти дані тільки цьому вузлу. Таким чином, MAC-адреси формують основу мереж. Для перетворення MAC-адрес в адреси мережевого рівня і назад застосовуються спеціальні протоколи (наприклад, ARP і RARP в мережах IPv4, і NDP в мережах на основі IPv6).
Більшість мережевих протоколів канального рівня використовують 1 з 3 просторів MAC-адрес, керованих IEEE (або MAC-48, або EUI-48, або EUI-64.
Адреси MAC-48 найбільш поширені; вони використовуються в таких технологіях, як Ethernet, Token ring, FDDI, WiMAX та ін. Вони складаються з 48 біт; таким чином, адресний простір MAC-48 налічує 248 (або 281 474 976 710 656) адрес. Згідно з підрахунками IEEE, цього запасу адрес вистачить щонайменше до 2100 року.
Стандарти IEEE визначають 48-розрядну (6 октетів) MAC-адресу, яка розділена на чотири частини.
Перші 3 октети містять 24-бітний унікальний ідентифікатор організації (OUI), або код виробника (MFG), який виробник отримує в IEEE. При цьому, в найпершому октеті використовуються тільки 6 старших розрядів, а два молодших мають спеціальне призначення:
Наступні три октети - вибираються виробником для кожного екземпляра пристрою.
Таким чином, глобально адміністрована MAC-адреса пристрою глобально унікальна і зазвичай «зашита» в апаратуру.
Адміністратор мережі має можливість, замість використання «зашитої», призначити пристрою MAC-адресу на свій розсуд. Така локально адміністрована MAC-адреса вибирається довільно і може не містити інформації про виробника.
Приклад представлення MAC-адреси:
12-25-D3-C1-CC-6A
4.2. Логічна адресація
IP-адреса (Internet Protocol Address «адреса Інтернет-протоколу») - унікальна мережева адреса вузла в комп'ютерній мережі, побудованої на основі стека протоколів TCP/IP.
IP-адреса присвоюється мережевому інтерфейсу вузла. Зазвичай це мережева інтерфейсна плата (NIC), встановлена в пристрій. Прикладами призначених для користувача пристроїв з мережевими інтерфейсами можуть служити робочі станції, сервери, мережеві принтери і IP-телефони. Іноді в серверах встановлюють кілька NIC, у кожної з яких є своя IP-адреса. В інтерфейсів маршрутизатора, що забезпечує зв'язок з мережею IP, також є IP-адреса.
В 4-й версії (IPv4) IP-адреса являє собою 32-бітне число. Зручною формою запису IP-адреси (IPv4) є запис у вигляді чотирьох десяткових чисел значенням від 0 до 255, розділених крапками, наприклад, 192.168.0.3.
В 6-й версії IP-адреса (IPv6) є 128-бітною. Всередині адреси роздільником є двокрапка (2001:0db8:85a3:0000:0000:8a2e:0370:7334). Ведучі нулі допускається в запису опускати. Нульові групи, що йдуть підряд, можуть бути опущені, замість них ставиться подвійна двокрапка (fe80:0:0:0:0:0:0:1 можна записати як fe80::1). Більше одного такого пропуску в адресі не допускається.
4.2.1. Структура
IP-адреса складається з двох частин: номера мережі та номера вузла. В разі ізольованої мережі її адреса може бути обрана адміністратором зі спеціально зарезервованих для таких мереж блоків адрес (10.0.0.0/8, 172.16.0.0/12 або 192.168.0.0/24). Для виходу в глобальну мережу необхідно, щоб був IP з іншого блоку адрес, або в локальній мережі повинен бути сервер, що підміняє внутрішню IP-адресу (сіру) на зовнішню IP-адресу (білу), наприклад: proxy server, NAT. Якщо ж мережа повинна працювати як складова частина Інтернету, то адреса мережі видається провайдером або регіональним інтернет-реєстратором (Regional Internet Registry, RIR). Номер вузла в протоколі IP призначається незалежно від локальної адреси вузла. Маршрутизатор по визначенню входить відразу в кілька мереж. Тому кожен порт маршрутизатора має власну IP-адресу. Кінцевий вузол також може входити в кілька IP-мереж. У цьому випадку комп'ютер повинен мати кілька IP-адрес, по числу мережевих зв'язків. Таким чином, IP-адреса характеризує не окремий комп'ютер або маршрутизатор, а одне мережеве з'єднання.
Існує два способи визначення того, скільки біт відводиться на маску підмережі, а скільки - на IP-адресу.
Спочатку використовувалася класова адресація (INET), але з другої половини 90-х років XX століття вона була витіснена безкласовою адресацією (CIDR), при якій кількість адрес в мережі визначається маскою підмережі.
Часто зустрічається запис IP-адрес виду «192.168.5.0/24». Даний вид запису замінює собою вказання діапазону IP-адрес. Число після косої риски означає кількість одиничних розрядів в масці підмережі. Для наведеного прикладу маска підмережі буде мати двійковий вид 11111111 11111111 11111111 00000000 або те ж саме в десятковому вигляді: «255.255.255.0». 24 розряди IP-адреси відводяться під номер мережі, а інші 32-24 = 8 розрядів повної адреси - під адреси хостів цієї мережі, адресу цієї мережі і широкомовну адресу цієї мережі. Разом, 192.168.5.0/24 означає діапазон адрес хостів від 192.168.5.1 до 192.168.5.254, а також 192.168.5.0 - адреса мережі і 192.168.5.255 - широкомовна адреса мережі.
4.2.2. Особливі IP-адреси
В протоколі IP існує кілька угод про особливу інтерпретацію IP-адрес: якщо всі виконавчі розряди IP-адреси рівні 1, то пакет з такою адресою призначення повинен розсилатися всім вузлам, що знаходяться в тій же мережі, що й джерело цього пакета. Така розсилка називається обмеженим широкомовним повідомленням (limited broadcast). Якщо в полі номера вузла призначення стоять тільки одиниці, то пакет, що має таку адресу, розсилається всім вузлам мережі із заданим номером мережі. Наприклад, в мережі 192.168.5.0 з маскою 255.255.255.0 пакет з адресою 192.168.5.255 доставляється всім вузлам цієї мережі. Така розсилка називається широкомовним повідомленням (direct broadcast).
Слід враховувати, що деякі адреси є забороненими або службовими і їх не можна використовувати для адрес хостів або підмереж. Це адреси, що містять:
- 0 в першому або останньому байті;
- 255 в будь-якому байті (це широкомовні адреси);
- 127 в першому байті (внутрішня петля – ця адреса є в кожному хості і служить для зв'язування компонентів мережевого рівня).
Також зарезервованими є адреси:
- 100.64.0.0/10 – для використання в мережах сервіс-провайдера;
- 169.254.0.0/16 – канальні адреси. Підмережа використовується для автоматичного призначення IP операційною системою в разі, якщо налаштоване отримання адреси по DHCP, але жоден сервер не відповідає;
- 192.0.2.0/24, 198.51.100.0/24, 203.0.113.0/24 – зарезервовані для прикладів в документації;
- 192.88.99.0/24 – використовуються для розсилки найближчого вузла;
- 198.18.0.0/15 – для стендів тестування продуктивності;
- 224.0.0.0/4 - використовуються для багатоадресної розсилки;
- 240.0.0.0/4 - Зарезервовано для використання в майбутньому. Існує думка, що ця підмережа більше ніколи не буде використана, так як є більшість обладнання, не здатне посилати пакети в цю мережу.
Діапазон адрес:
- 10.0.0.0/8 - для великих локальних мереж;
- 172.16.0.0/16 - для великих локальних мереж, але застосовується рідше,
- 192.168.0.0/16 - для маленьких (невеликих) локальних мереж.
не може бути використаний в мережі Internet, тому що віддані для використання в мережах безпосередньо не підключених до глобальної мережі.
4.2.3. Статичні та динамічні IP-адреси
IP-адресу називають статичною (постійною, незмінною), якщо вона призначається користувачем в налаштуваннях пристрою, або призначається автоматично при підключенні пристрою до мережі і не може бути присвоєний іншому пристрою.
IP-адресу називають динамічною (непостійною, змінною), якщо вона призначається автоматично при підключенні пристрою до мережі і використовується протягом обмеженого проміжку часу, зазначеного в сервісі призначившого IP-адресу (DHCP).
Для отримання IP-адреси клієнт може використовувати один з наступних протоколів:
DHCP - найбільш поширений протокол настройки мережевих параметрів.
BOOTP - простий протокол налаштування мережевої адреси, зазвичай використовується для бездискових станцій.
Zeroconf - протокол налаштування мережевої адреси, визначення імені, пошук служб.
RARP - застарілий протокол, який використовує зворотню логіку (з апаратної адреси - в логічну) популярного і зараз в широкомовних мережах протоколу ARP.
4.2.4. Доменні імена та сайти
Одне доменне ім'я може перетворюватися по черзі в кілька IP-адрес (для розподілу навантаження).
Разом з тим, одна IP-адреса може використовуватися для тисяч доменних імен з різними сайтами (тоді при доступі вони розрізняються по доменному імені), що викликає проблеми при ідентифікації сайтів по IP-адресі з метою цензури.
Також, сервер з одним доменним ім'ям може містити кілька різних сайтів, а частини одного сайту можуть бути доступні за різними доменними іменами (наприклад, для ізоляції cookies і скриптів з метою захисту від атак типу міжсайтового скриптинга).