Приватна IP-адреса
Приватна IP-адреса[1][2] (англ. private IP address), також звана внутрішньою, внутрішньомережевою, локальною або «сірою» — IP-адреса, що належить до спеціального діапазону, що не використовується в мережі Інтернет. Такі адреси призначені для застосування в локальних мережах, розподіл таких адрес ніким не контролюється. У зв'язку з дефіцитом вільних IP-адрес, провайдери все частіше роздають своїм абонентам саме внутрішньомережеві адреси, а не зовнішні.
Іноді приватні адреси називають неанонсованими, зовнішні (так звані «білі IP») — анонсованими.
Приватні діапазони IP-адрес
Наступні діапазони визначені IANA як адреси, виділені локальним мережам:
- 10.0.0.0 — 10.255.255.255 (маска підмережі для безкласової (CIDR) адресації: 255.0.0.0 або /8)
- 172.16.0.0 — 172.31.255.255 (маска підмережі для безкласової (CIDR) адресації: 255.240.0.0 або /12)
- 192.168.0.0 — 192.168.255.255 (маска підмережі для безкласової (CIDR) адресації: 255.255.0.0 або /16)
- Також для петльових інтерфейсів (не використовується для обміну між вузлами мережі) зарезервований діапазон 127.0.0.0 — 127.255.255.255 .
Див[3]
- fc00 :: / 7 — . 7 -бітний префікс адреси[4]
Плутанина понять приватних і динамічних адрес
Існує тенденція плутати поняття приватної IP-адреси та динамічної, помилково вважаючи, що всі адреси, що виділяються провайдером динамічно — приватні, а фіксовані адреси (закріплені статично) — зовнішні. Під динамічним виділенням адреси вузлу мережі розуміється привласнення нової адреси для кожної сесії з'єднання (оренда адреси, відсутність постійно закріпленого за вузлом адреси), таким чином присвоюватися можуть як приватні, так і зовнішні адреси.
Як машини з приватними адресами виходять в Інтернет
Пакети, що йдуть з внутрішніх IP-адрес або на них, магістральні маршрутизатори не пропускають. Тобто, внутрішньомережеві машини, якщо не вживати ніяких заходів, ізольовані від інтернету. Тим не менш, є кілька технологій, які дозволяють виходити таким машинам в інтернет.
Сервер-посередник
Багато зі старих інтернет-служб (електронна пошта, IRC, Usenet) спеціально спроектовані для машин, які не мають прямого виходу в Інтернет. Для цього в самих протоколах передбачена естафетна передача інформації. Розглянемо її на прикладі електронної пошти.
Корпоративний поштовий сервер має два IP-адреси: внутрішній і зовнішній. Для відправки пошти користувач по протоколу SMTP зв'язується з сервером. Сервер від свого імені виходить в інтернет і переправляє пошту далі по ланцюжку. На цей же сервер по протоколу SMTP надходить вхідна кореспонденція. Щоб перевірити ящик, користувачі з'єднуються з сервером по протоколу POP3.
Для Всесвітньої павутини була придумана технологія «сервер-посередник» (або по-англійськи «проксі-сервер»). Машина з приватною адресою звертається до проксі-сервера і посилає на нього команди HTTP. Проксі-сервер зв'язується з веб-сервером від свого імені.
Така конструкція задовольнила найважливіші потреби внутрішньомережевих користувачів. Однак мінусом є складна архітектура сервера-посередника: адже він повинен підтримувати безліч різних протоколів. А по протоколах, які посередник не підтримує або які не розраховані на естафетну передачу (наприклад, мережеві ігри) вихід в інтернет неможливий. Одні програми (ICQ, Skype, P2P — частина протоколу BitTorrent) проходять крізь проксі-сервери, «загортаючи» свій протокол в HTTP-пакети, інші (Subversion, зв'язок з трекером в протоколі BitTorrent) — спочатку реалізують свій протокол поверх HTTP. Але це все напівзаходи. Наступна технологія, NAT, дозволила внутрішньомережевих машинам виходити в інтернет з будь-якого прикладного протоколу.
Проксі-сервери працюють на прикладному рівні і тому можуть налагоджувати цензуру сайтів, кешувати сторінки для економії трафіку — тому проксі-сервери застосовуються в корпоративних мережах і понині (навіть якщо інші протоколи працюють через NAT). Крім того, сервери-посередники застосовуються для особливих завдань, на які NAT не здатний (наприклад, для передачі файлів в месенджерах, коли обидві машини за NAT'ом).
Трансляція мережевих адрес (NAT)
Технологія була задокументована в 1994 році. Маршрутизатор, який реалізує NAT (англ. Network Address Translation), пропускаючи пакет, що йде з локальної мережі, замінює адресу відправника своїм. Коли маршрутизатор отримує відповідь від сервера, він по таблиці відкритих з'єднань відновлює адресата і ретранслює йому відповідь.
Через NAT внутрішньомережний комп'ютер може налагоджувати зв'язок з будь-яким сервером Інтернету з будь-якого прикладного протоколу. Але у NAT є й недоліки. З машиною з приватним IP-адресою зв'язатися можна тільки зсередини локальної мережі. З одного боку, це робить локальну мережу недоступною для багатьох атак ззовні. З іншого боку, в деяких службах Інтернету (тимчасових мережах, мережевих іграх, передачі файлів в месенджерах) це створює проблеми: якщо у одного з комп'ютерів IP-адреса приватна, а в іншого зовнішня, ініціатором з'єднання буде клієнт з приватним IP; якщо приватні в обох — прямий обмін між ними складніший. Втім, NAT-маршрутизатор може встановити перенаправлення портів: коли за певним порту зв'язуються з маршрутизатором, він передає пакети однієї з машин. Зазвичай порти перенаправляють вручну, налаштуванням маршрутизатора, але існують і механізми автоматичного перенаправлення портів: UPnP і STUN.
Деякі протоколи (наприклад, FTP в активному режимі) вимагають можливості встановлення з'єднання від сервера до клієнта. У цих випадках маршрутизатора доводиться втручатися в протокол на прикладному рівні (технологія «шлюз прикладного рівня»).
Мережевий тунель
Тунель — технологія, коли пакети мережевого рівня «загортаються» в пакети більш високих рівнів (наприклад, транспортного). Це дозволяє налагодити віртуальну локальну мережу поверх мережі зовсім іншого пристрою. Існує багато технологій тунелювання (PPPoE, VPN, Hamachi та інші), зі своїми областями застосування. Зокрема, тунелі можуть :
- Виходити в інтернет тільки тоді, коли користувач явно цього бажає. Такі «непостійні» з'єднання були актуальні в домомережах початку 2000-х років, коли локальний трафік був дешевий або безкоштовний, зовнішній — дорогий.
- Забезпечувати «прямий» зв'язок внутрішньомережевих машин одної з одною (наприклад, для мережевих ігор), коли прямий шлях неможливий. Зрозуміло, такий «прямий» зв'язок відбувається через сервер-посередник .
- Налагодити «локальну» мережу для ПЗ, яке працює на широкомовних пакетах — наприклад, для тих же ігор.
- Виходити через інтернет в корпоративну локальну мережу.
Див. також
Примітки
- Джеффри Шапиро, Джим Бойс и др. Windows Server 2003. Библия пользователя. — К.: Диалектика, 2004. — С. 513. — 1216 с. — (Библия пользователя). — ISBN 5-8459-0653-9
- Рэнд Моримото, Кентон Гардиньери др. Windows Server 2003. Полное руководство. — 2-е издание. — М.: Вильямс, 2006. — С. 123. — 1312 с. — (Полное руководство). — ISBN 5-8459-0776-4
- RFC1918 — Address Allocation for Private Internets
- RFC4193 — Unique Local IPv6 Unicast Addresses