1. Знайомство з хостами та підмережами

IP-адреси використовуються для ідентифікації пристроїв у мережі. Для взаємодії з іншими пристроями через мережу IP-адресу потрібно призначити кожному мережевому пристрою (у тому числі комп'ютерам, серверам, маршрутизаторам, принтерам). Такі пристрої в мережі називають хостами.

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

Маски підмереж дозволяють розділяти одну мережу на кілька підмереж, а також встановлюють максимальну кількість підшефних хостів.

Знайомство з IP-адресами

IP-адреса складається з чотирьох частин, які записано у вигляді десяткових чисел з крапками (наприклад, 192.168.1.1). Кожну з цих чотирьох частин називають октетом. Октет являє собою вісім двійкових цифр, наприклад 00001111.

Таким чином, кожен октет може набувати у двійковому вигляді значення від 00000000 до 11111111 або від 0 до 255 в десятковому вигляді.

Структура IP-адреси

Перша частина IP-адреси є номером мережі, друга – ідентифікатором хоста. Разом вони утворюють унікальну IP-адресу хоста. Чим коротше номер мережі, тим більше в ній може поміститися хостів. Якщо номер мережі займає 3 байта, на номер хоста залишиться лише один байт (максимум 255 хостів в мережі).

Номер мережі використовується маршрутизаторами (роутерами, інтернет-центрами) для передачі пакетів у потрібні мережі, тоді як ідентифікатор хоста визначає конкретний пристрій цієї мережі, якому потрібно доставити пакети.

Приклад номера мережі та хоста

На наступному малюнку показано приклад IP-адреси, у якій перші три октети (192.168.1) є номером мережі, а четвертий октет (16) – ідентифікатор хоста.

Приклад номера мережі та хоста

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

2. Маски підмереж

Приватні IP-адреси

У кожного хоста в інтернеті має бути унікальна адреса. Виняток – IP-адреси всередині локальних мереж.

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

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

Також IANA виділила кілька підмереж, які прийнято використовувати для локальних непублічних мереж. Оскільки ці підмережі непублічні, їх може використовувати будь-хто для будь-яких цілей. Загалом таких підмереж три: велика, середня та маленька.

Для них зарезервовані такі три блоки IP-адрес:

  • 10.0.0.0-10.255.255.255
  • 172.16.0.0-172.31.255.255
  • 192.168.0.0-192.168.255.255

IP-адреси вказаних приватних підмереж іноді називають "сірими".

Маски підмережі

Для того, щоб визначити, які біти IP-адреси належать до номера хоста, а які – до номера підмережі використовують так звану маску підмережі.

Скажімо, у вас є IP-адреса, яку записано в двійковому вигляді:


        11110101  01010101 11111111 00000001
    

Червоним кольором позначено біти, які відповідають за номер мережі, зеленим – за номер хоста. Так, таким чином також можна. Тут немає жорсткої прив'язки до байтів.

Маскою підмережі називатиметься таке число, де бітам підмережі будуть відповідати одиниці, а бітам хоста – нулі. Приклад маски підмережі для попередньої адреси:


        11111111  11111111 11110000 00000000
    

Усі біти підмережі дорівнюють 1, усі біти хоста дорівнюють 0.

Приклад виділення номера мережі та ідентифікатора хоста в IP-адресі:

Перший октет: (192) Другий октет: (168) Третій октет: (1) Четвертий октет: (2)
IP-адреса (двійкова) 11000000 10101000 00000001 00000010
Маска підмережі (двійкова) 11111111 11111111 11111111 00000000
Номер мережі 11000000 10101000 00000001
Ідентифікатор хоста 00000010

Маски підмережі завжди складаються із серії послідовних одиниць, починаючи з крайнього зліва біта маски, за якою слідує серія послідовних нулів, що становлять загалом 32 біта.

Маску підмережі можна визначити як кількість біт в адресі, що представляють номер мережі (кількість біт зі значенням "1"). Наприклад, "8-бітною маскою" називають маску, у якій 8 біт – одиничні, інші 24 біта – нульові.

Маски підмережі записуються у форматі десяткових чисел із крапками, як і IP-адреси. У наступних прикладах ти побачиш двійковий і десятковий запис 8-бітної, 16-бітної, 24-бітної і 29-бітноїмасок підмережі.

Маски підмережі:

Десяткова Двійкова 1-ий октет: Двійкова 2-ий октет: Двійкова 3-й октет: Двійкова 4-ий октет:
8-бітна маска 255.0.0.0 11111111 00000000 00000000 00000000
16-бітна маска 255.255.0.0 11111111 11111111 00000000 00000000
24-бітна маска 255.255.255.0 11111111 11111111 11111111 00000000
29-бітна маска 255.255.255.248 11111111 11111111 11111111 11111000

3. DHCP

Усередині локальної мережі можуть бути як статичні, так і динамічні IP-адреси. Системні адміністратори можуть надати статичні адреси комп'ютерам. Динамічні призначаються комп'ютерам автоматично за допомогою сервісу DHCP.

Dynamic Host Configuration Protocol (DHCP) — прикладний протокол, що дозволяє мережевим пристроям автоматично отримувати IP-адресу та інші параметри, необхідні для роботи в мережі TCP/IP.

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

Розподіл IP-адрес

Протокол DHCP надає три способи розподілу IP-адреса:

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

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

Динамічний розподіл. Цей спосіб аналогічний до автоматичного розподілу, окрім того, що адреса видається комп'ютеру не на постійне користування, але на певний термін. Це називається орендою адреси. Після закінчення терміну оренди IP-адреса знову вважається вільною, і клієнт повинен зробити запит на нову (втім, вона може виявитися тою самою). До того ж, клієнт може відмовитися від отриманої адреси.

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

Опції DHCP

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

Ось деякі опції, що використовуються найчастіше:

  • IP-адреса маршрутизатора за замовчуванням;
  • маска підмережі;
  • адреси серверів DNS;
  • ім'я домену DNS.

4. localhost та 127.0.0.1

Є кілька IP-адрес, які корисно знати. Наприклад, IP-адресу твого маршрутизатора. Ще одна IP-адреса, яку корисно знати – це 127.0.0.1. Зараз ми поговоримо про неї трохи докладніше.

Що таке 127.0.0.1?

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

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

Скажімо, ти налаштував сервер на робочому комп'ютері і можеш підключитись до нього, вбивши 127.0.0.1 у браузері на роботі. Однак коли ти прийдеш додому і введеш 127.0.0.1, натомість підключишся до домашнього комп'ютера. Для підключення до робочого комп'ютера тобі буде потрібна його публічна IP-адреса.

Що таке localhost?

localhost – це фактично доменне ім'я для 127.0.0.1. Суттєвої різниці між 127.0.0.1 та localhost немає. Можна писати і так і так, кому як подобається.

Ти можеш уявити localhost, як «ім'я» для адреси 127.0.0.1, так само як «www.google.com» є ім'ям для IP-адресаи Google. Однак, коли ти відвідуєш www.google.com він повинен пройти через DNS-сервер, щоб ваш комп'ютер міг визначити, яка IP-адреса відповідає імені.

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