IP-адреси, порти та будова з'єднання
Кожному пристрою в мережі потрібна адреса, щоб відповіді знаходили дорогу назад. В інтернеті це IP-адреса, а з'єднання між двома програмами визначається двома адресами й двома номерами портів.
Оновлено:
Кожному пристрою в мережі потрібна адреса, щоб відповіді знаходили дорогу назад. В інтернеті це IP-адреса, а з’єднання між двома програмами визначається двома адресами й двома номерами портів. Ці чотири значення пояснюють дуже багато з повсякденної мережевої практики: чому вдома одна публічна адреса, а пристроїв багато; чому вебсервер і поштовий сервер можуть працювати на одній машині; чому брандмауер говорить про «відкриті порти»; і чому адреса, яку бачить сайт, — не та, яку показує ваш ноутбук.
Як адреси й порти ведуть з’єднання
IPv4-адреса — чотири числа від 0 до 255 через крапку, наприклад 203.0.113.42. Такий формат дає близько 4,3 мільярда адрес, які вичерпалися багато років тому. IPv6-адреси значно довші, записуються шістнадцятковими групами на кшталт 2001:db8::1a2f і дають практично необмежену кількість. Обидва протоколи працюють паралельно; більшість пристроїв мають адресу кожного типу, і мережа обирає автоматично.
Адреси поділяються на публічні — унікальні у всьому інтернеті, які видаються провайдерам, — і приватні: діапазони 192.168.x.x, 10.x.x.x, 172.16–31.x.x, які кожен може використовувати у власній мережі й які ніколи не маршрутизуються в інтернеті. Ваш роутер має одну публічну адресу з боку інтернету й роздає приватні пристроям усередині дому.
Це працює завдяки трансляції адрес (NAT). Коли ноутбук з адресою 192.168.1.20 надсилає запит, роутер підміняє адресу відправника на свою публічну й запам’ятовує відповідність. Коли надходить відповідь, він підміняє адресу призначення назад і передає ноутбуку. Ззовні всі пристрої в домі виглядають як одна адреса. NAT винайшли, щоб розтягнути IPv4; в IPv6 адрес вистачає, щоб дати кожному пристрою публічну, хоча домашні роутери все одно фільтрують вхідний трафік за замовчуванням.
Порти: багато розмов на одній адресі
Адреса доставляє трафік до машини. Порт — число від 0 до 65535 — доставляє його до потрібної програми на цій машині. Сервери слухають на загальновідомих портах, щоб клієнти знали, куди підключатися: 80 для HTTP, 443 для HTTPS, 22 для SSH, 25 і 587 для відправки пошти, 53 для DNS. Коли браузер підключається до сайту, він обирає випадковий високий порт зі свого боку, скажімо 51234, і з’єднується з портом 443 сервера. З’єднання повністю визначається четвіркою (ваша адреса, 51234, адреса сервера, 443). Відкрийте двадцять вкладок одного сайту — кожна отримає свій локальний порт, і саме так відповіді не змішуються.
Порти — це також те, що фільтрують брандмауери. «Відкрити порт 22» на сервері означає дозволити вхідні з’єднання до програми SSH. NAT домашнього роутера фактично закриває всі вхідні порти, бо для непроханих пакетів немає відповідності, куди їх передати. Перенаправлення портів створює постійне правило, щоб, наприклад, ігровий сервер чи камера в домі були доступні ззовні; робити це варто обережно, бо пристрій стає доступним усьому інтернету.
Приклади з життя
- Сайти «яка моя IP-адреса» показують публічну адресу роутера, а не приватну адресу пристрою.
- Сайт може визначити за публічною адресою приблизно місто, бо блоки адрес виділяються провайдерам за регіонами.
- Двоє людей в одному домі для сайту ідентичні; блокування «вашої IP» зачепить усіх на цьому підключенні.
- Публічна адреса часто змінюється при перепідключенні роутера, якщо не оплачено статичну.
- VPN підміняє публічну адресу, яку бачать сайти, на адресу VPN-сервера.
- Повідомлення «connection refused on port 3306» означає, що машина доступна, але на цьому порту ніхто не слухає або брандмауер заблокував з’єднання.
Як знайти і перевірити свою IP-адресу
- Не перенаправляйте порти на домашньому роутері без розуміння, що стане доступним; для доступу до домашніх пристроїв краще VPN або реле-сервіс виробника.
- На серверах увімкніть брандмауер, який дозволяє лише ті порти, що ви справді обслуговуєте, а SSH переведіть на ключі замість паролів.
- Під час діагностики розділяйте «чи досяжна адреса» (ping, traceroute) і «чи відкритий порт» (тест з’єднання) — вони падають з різних причин.
- Публічна адреса ідентифікує ваш дім чи офіс для сайтів; вона не анонімна.
- Увімкніть IPv6, якщо провайдер його пропонує; сучасні системи працюють із ним прозоро, і це прибирає частину ускладнень NAT.
Часті запитання
Чи можуть мене зламати, знаючи мою IP-адресу?
Адреса сама по собі дає ціль, а не доступ. Правильно налаштований роутер без перенаправлених портів не має до чого підключатися. Реальні ризики — DDoS-атаки на гравців і стримерів та геолокація до міста.
Чому в мене дві IP-адреси?
Одна — приватна адреса пристрою в локальній мережі, інша — публічна адреса роутера в інтернеті. Крім того, у кожної може бути версія IPv4 та IPv6.
Що таке localhost?
127.0.0.1 (та ::1) — спеціальна адреса, яка завжди означає «цей самий комп’ютер». Програми використовують її для зв’язку зі службами на тій самій машині без виходу в мережу.
Адреса знаходить машину, порт знаходить програму, а разом чотири значення визначають з’єднання.
Коротко: IP-адреси ідентифікують машини, порти — програми, а NAT дозволяє багатьом приватним пристроям ділити одну публічну адресу. Брандмауери й роутери працюють, вирішуючи, які комбінації адреси й порту можуть з’єднуватися, тому відкриття порту — це рішення про безпеку, а не просто налаштування.