Nat модем. Як працює NAT

У наших квартирах все більше і більше з'являється різних цифрових пристроїв - ноутбуків, планшетів і смартфонів. Поки комп'ютер в квартирі був один і підключений безпосередньо до мережі провайдера - не виникало питань. А тепер, коли перед Вами постала проблема - як підключити тепер новий ноутбук або планшет до Інтернету. Ось тут на допомогу і приходить технологія NAT. У чому суть технології NAT?
NATNetwork Address Translation - в перекладі на російську звучить приблизно так: «перетворення мережевих адрес». NAT - це механізм в мережах TCP / IP, який дозволяє перетворювати IP-адреси транзитних пакетів.
Якщо виражатися простою мовою - то якщо є кілька комп'ютерів в локальній мережі, то завдяки технології NAT всі вони можуть виходити на зовнішній мережу Інтернет використовуючи при цьому один зовнішній айпі адресу (IP).

Що таке IP-адресу?

маршрутизаторроутер - працює на третьому рівні системи OSI, відповідно використовується протокол IP - маршрутизациї протокол мережевого рівня стека TCP / IP. Невід'ємною частиною протоколу є адресація мережі. Відповідно до наявних правилами - всіх пристроїв в мережі призначаються IP-адреси (Ай-Пі адреси) - унікальні мережеві ідентифікатори адреси вузла. Використовується 2 типу IP-адрес - сірі і білі. сірі адреси - це частина адресного простору, виділена під локальну мережу - підмережі IP-адрес 10.0.0.0/8, 172.16.0.0/12 або 192.168.0.0/16 . Всі інші підмережі використовуються в мережі Інтернет і є білими IP-адресами.

Як забезпечити загальний доступ в Інтернет для пристроїв в мережі.

Для того, щоб підключити до Інтернет всі пристрої в локальній мережі Вам знадобитися роутер. роутер - це пристрій, який вміє підключатися через мережу провайдера до Інтернет і роздавати його на підключені пристрої завдяки тому, що у нього є як мінімум 4 LAN-порту і Wi-Fi модуль. Не плутайте роутер з простим Ethernet-світче, який по суті є тупим «перехідником» мережі. Завдяки тому, що на роутері встановлена \u200b\u200bопераційна UNIX-подібна система, на пристрої можна піднімати різні сервіси, в тому числі і сервіс NAT. Для цього при налаштуванні роутера ставитися галочка Enable NAT .

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

NAT або трансляція мережевих адрес є способом перепризначення одного адресного простору в інший шляхом зміни інформації мережевих адрес в Internet Protocol або IP. Заголовки пакетів змінюються в той час, коли вони знаходяться в дорозі через пристрої маршрутизації. Даний метод використовувався спочатку для більш простого перенаправлення трафіку в мережах IP без необхідності нумерації кожного хоста. Він став важливим і популярним інструментом для розподілу і збереження глобального адресного простору в умовах гострої нестачі адрес IPv4.

Що таке NAT?

Використання трансляції мережевих адрес полягає в відображенні кожної адреси з одного адресного простору до адресою, який знаходиться в іншому адресному просторі. Це може знадобитися в тому випадку, якщо змінився провайдер послуг, а у користувача немає можливості публічно оголосити новий маршрут до мережі. Технологія NAT в умовах глобального виснаження адресного простору з кінця 90-х років минулого століття використовується все частіше. Зазвичай дана технологія використовується в поєднанні з IP-шифруванням. IP-шифрування є метод переходу декількох IP адрес в один простір. Даний механізм реалізований в пристрої маршрутизації, що використовує таблиці переведення зі збереженням стану для відображення в один IP адреса прихованих адрес. Також він перенаправляє на виході всі вихідні пакети IP. Таким чином, дані пакети відображаються виходять з пристрою маршрутизації. Відповіді в зворотному каналі зв'язку відображаються у вихідному IP адресу за допомогою правил, які зберігаються в таблицях перекладу. У свою чергу таблиці переведення очищаються після закінчення короткого часу, якщо трафік не оновить свій стан. Ось в чому полягає основний механізм NAT. Що ж це означає? Дана технологія дозволяє організовувати зв'язок через маршрутизатор тільки в тому випадку, коли з'єднання відбувається в зашифрованою мережі, так як це створює таблиці переведення. Усередині такої мережі веб-браузер може переглядати сайт за її межами, однак будучи встановленим поза нею, він не може відкрити ресурс, який в ній розміщений. Більшість пристроїв NAT сьогодні дозволяють адміністратора конфігурувати записи таблиці переведення для постійного застосування. Ця функція особливо часто згадується як перенаправлення портів або статична NAT. Вона дає можливість трафіку, що виходить на «зовнішню» мережу, досягти призначених хостів в зашифрованою мережі. Через те, що метод, який використовується з метою збереження адресного простору IPv4 користується популярністю, термін NAT практично став синонімом методу шифрування. Так як трансляція мережевих адрес змінює інформацію про адресу IP-пакетів, це може мати серйозні наслідки для якості підключення. Так що вона вимагає пильної уваги до всіх деталей реалізації. Способи використання NAT один від одного відрізняються в своєму конкретному поведінці в різних ситуаціях, які стосуються впливу на мережевий трафік.

Базова NAT

Найпростіший тип NAT дозволяє забезпечити трансляцію IP-адрес «один-до-одного». Основним типом даної трансляції є RFC-2663. В даному випадку міняються тільки IP-адреси, а також контрольна сума заголовків IP. Можна використовувати основні типи трансляції для з'єднання двох сетейIP, що мають несумісну адресацію.

Велика частина різновидів NAT здатна зіставити кілька приватних хостів до одного IP-адресою, який публічно позначений. Локальна мережа в типовій конфігурації використовує один з призначених «приватних» IP-адрес підмережі. У цій мережі маршрутизатор має приватний адресу в просторі. Також маршрутизатор підключається до інтернету за допомогою «публічної адреси», який присвоюється провайдером інтернету. Оскільки трафік проходить з локальної мережі Інтернет, то адреса джерела в кожному пакеті перекладається з приватного в публічний на льоту. Також маршрутизатор відслідковує основні дані про кожного активного з'єднання. Зокрема, це стосується такої інформації, як адреса і порт призначення. Коли відповідь повертається до нього, він використовує дані з'єднання, які зберігаються під час виїзного етапу. Це необхідно для того, щоб визначити приватну адресу внутрішньої мережі, до якого потрібно надіслати відповідь. Основною перевагою такого функціоналу є те, що він є практичним вирішенням проблеми вичерпання адресного простору IPv4. За допомогою одного IP-адреси до інтернету можуть бути підключені навіть великі мережі. Все дейтаграми пакетів в IP мережах мають два IP адреси - це початкова адреса і адреса пункту призначення. Пакети, що проходять з приватної мережі до мережі загального користування, будуть мати адресу джерела пакетів, який змінюється під час переходу від публічної мережі до приватної. Також можливі і більш складні конфігурації.

Особливості настройки NAT

Налаштування NAT може мати певні особливості. Щоб уникнути труднощів, пов'язаних з переведенням повернутих пакетів, можуть знадобитися їх подальші модифікації. Велика частина інтернет-трафіку буде йти через протоколи UDP іTCP. Їхні номери змінюються таким чином, що адреси IP і номера порту при зворотному відправці даних починає зіставлятися. Протоколи, які не засновані на UDP або TCP, вимагають інших методів перекладу. Як правило, ICMP або протокол управління повідомлення в мережі інтернет, співвідносить передану інформацію з наявним з'єднанням. Це означає, що вони повинні відображатися з використанням того ж адреси IP і номера, який був встановлений спочатку. Що ж необхідно враховувати? Налаштування NAT в роутері не надає йому можливості з'єднання «від краю до краю». З цієї причини такі маршрутизатори не можуть брати участь в деяких інтернет-протоколах. Послуги, що вимагають ініціації з'єднань TCP від \u200b\u200bзовнішньої мережі або користувачів без протоколів, можуть бути просто недоступні. Якщо NAT маршрутизатор робить особливих зусиль для підтримки таких протоколів, то вхідні пакети можуть так і не досягти місця призначення. Деякі протоколи можуть бути розміщені в одній трансляції між що беруть участь хостами іноді за допомогою шлюзу прикладного рівня. Однак з'єднання не буде встановлено, коли обидві системи за допомогою NAT відокремлені від мережі Інтернет. Також використання NAT ускладнює тунельні протоколи, типу IPsec, так як вона змінює значення в заголовках, які взаємодіють з перевірками цілісності запитів.

NAT: існуюча проблема

Основним принципом інтернету є з'єднання «від краю до краю». Воно існує з моменту його розробки. Поточний стан мережі тільки доводить, що NAT є порушенням цього принципу. У професійному середовищі є серйозна заклопотаність, пов'язана з повсюдним використанням в IPv6 трансляції мережевих адрес. Таким чином, сьогодні стоїть питання про те, як можна усунути цю проблему. Через те, що таблиці, що зберігають стан трансляції в маршрутизаторах NAT за своєю природою не вічні, пристрої внутрішньої мережі втрачають з'єднання IP протягом дуже короткого тимчасового періоду. Не можна забувати про цю обставину кажучи про те, що собою являє NAT в роутері. Це значно скорочує час роботи компактних пристроїв, які працюють на акумуляторах і батарейках.

масштабованість

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

NAT: деякі складності

Так як всі внутрішні адреси виявляються замаскованими під один загальнодоступний, для зовнішніх хостів неможливо ініціювати підключення до певного внутрішнього вузла без настройки спеціальної конфігурації брандмауера. Дана конфігурація повинна перенаправляти підключення до певного порту. Додатки для IP-телефонії, відеоконференцій і подібні сервіси для свого нормального функціонування повинні використовувати методи обходу NAT. Порт перекладу Raptі зворотну адресу дозволяє хосту, у якого IP адреса змінюється час від часу, залишатися доступним як сервер за допомогою фіксованого IP адреси домашньої мережі. Це в принципі має дозволити налаштування серверів зберігати з'єднання. Незважаючи на те, що таке рішення проблеми є не ідеальним, це може стати ще одним корисним інструментом в арсеналі мережевого адміністратора при вирішенні завдань, пов'язаних з налаштуванням на роутері NAT.

PAT або Port Address Translation

Port Address Translation є реалізацією Cisco Rapt, яка відображає кілька приватних IP адрес у вигляді одного публічного. Таким чином, кілька адрес можуть бути відображені як адреса, тому що кожен з них відстежується за допомогою номера порту. PAT використовує унікальні номери портів джерела на внутрішньому глобальному IP, щоб розрізняти напрямок передачі даних. Даними номерами є цілі 16-розрядні числа. Загальна кількість внутрішніх адрес, які можуть бути переведені на один зовнішній адресу, теоретично може досягати 65536. В реальності ж кількість портів, на які може бути призначений єдину адресу IP, становить приблизно 4000. PAT, як правило, намагається зберегти вихідний порт «оригіналу» . У тому випадку, якщо він вже використовується Port Address Translation призначає перший доступний номер порту, починаючи з початку відповідної групи. Коли доступних портів не залишається і є більш одного зовнішнього IP адреси, PAT переходить до наступного для виділення вихідного порту. Даний процес буде тривати до тих пір, поки доступні дані не закінчаться. Служба Cisco відображає адресу і порт. Вона поєднує в собі адресу порту перекладу і дані тунелювання пакетів IPv4 по внутрішній мережі IPv6. По суті це альтернативний варіант Carrier Grade NAT і DS-Lite, який підтримує IP трансляції портів і адрес. Це дозволяє уникнути проблем, пов'язаних з установкою і підтримкою з'єднання. Також це дозволяє забезпечити механізм переходу для розгортання IPv6.

методи перекладу

Відомо кілька основних способів реалізації перекладу мережевого адреси і порту. У певних прикладних протоколах потрібно визначити зовнішній адресу NAT, який використовується на іншому кінці з'єднання. Також часто необхідно вивчити і класифікувати тип передачі. Як правило, це робиться тому, що бажано між двома клієнтами, які перебувають за окремими NAT, створити прямий канал зв'язку. Для цієї мети був розроблений спеціальний протокол RFC 3489, який забезпечує простий обхід UPD через NATS. Він на сьогоднішній день вже вважається застарілим, так як в наші дні такі методи вважаються недостатніми для правильної оцінки роботи пристроїв. У 2008 році був розроблений протокол RFC 5389, в якому були стандартизовані нові методи. Дана специфікація сьогодні називається Session Traversal. Вона являє собою спеціальну утиліту, призначену для роботи NAT.

Створення двостороннього зв'язку

Кожен пакет UDP і TCP містить IP адреса джерела і його номер порту, а також координати кінцевого порту. Номер порту має дуже важливе значення для отримання таких загальнодоступних послуг, як функціонал поштових серверів. Так, наприклад, порт 25 підключається до SMTP поштового сервера, а порт 80 підключається до програмного забезпечення веб-сервера. Суттєве значення має також і IP адреса загальнодоступного сервера. Дані параметри повинні бути достовірно відомі тим вузлам, які мають намір встановити з'єднання. Приватні IP адреси мають значення тільки в локальних мережах.

Трансляція мережевих адрес (NAT) використовується багатьма сервіс провайдерами та користувачами для вирішення проблеми нестачі реальних IP-адрес і забезпечення безпеки локальних мереж підключених до Інтернету. Наприклад. Підприємство може мати виділений діапазон реальних IP-адрес, але набагато більшу кількість комп'ютерів мають локальні IP-адреси яких Ви хочете отримати в Інтернет. Для вирішення цієї проблеми використовується технологія трансляції адрес, яка дозволяє комп'ютерам локальної мережі взаємодіяти з мережею Інтернет, використовуючи всього один зовнішній реальний IP-адресу. NAT вирішує цю проблему за допомогою підміни локального IP-адреси на зовнішній загальнодоступний адреса. Замінюючи внутрішній IP-адреса і порт на зовнішній IP-адреса і порт, NAT зберігає таблицю відповідності, потім при отриманні відповідного пакета виробляється зворотне перетворення.
До локальних IP-адресами належать такі діапазони адрес: 10.ххх.ххх.ххх, 192.168.ххх.ххх, 172.16.ххх.ххх - 172.32.ххх.ххх.


Типи трансляторів мережевих адрес (NAT)

Транслятори адрес поділяються на 4 типи:
1. Повний конус (Full Cone)
2. Обмежений конус (Restricted Cone)
3. Порт обмеженого конуса (Port Restricted Cone)
4. Симетричний (Symmetric)

У перших трьох типах NATа різні IP-адреси зовнішньої мережі можуть взаємодіяти з адресою з локальної мережі використовуючи один і той же зовнішній порт. Четвертий типу, для кожної адреси та порту використовує окремий зовнішній порт.
NATи не мають статичної таблиці відповідності адрес і портів. Відображення відкривається, коли перший пакет надсилається з локальної мережі назовні через NAT і діє певний проміжок часу (як правило, 1-3 хвилини), якщо пакети через цей порт не проходять, то порт видаляється з таблиці відповідності. Зазвичай NAT розподіляють зовнішні порти динамічно, використовується діапазон за 1024.

Повний конус (Full Cone)

При використанні NATа працює за типом повного конуса зовнішній відображається порт відкритий для пакетів приходять з будь-яких адрес. Якщо хтось із зовнішнього Інтернету хоче в цей момент відправити пакет клієнту, розташованому за Натома, то йому потрібно знати тільки зовнішній порт через який встановлено з'єднання. Наприклад, комп'ютер за NATом з IP-адресою 10.0.0.1 посилає і отримує пакети через порт 8000, що відображається на зовнішній IP-адреса і порт 212.23.21.25:12345, то будь-який в Інтернеті може послати пакети на цей 212.23.21.25:12345, і ці пакети потраплять на клієнтський комп'ютер 10.0.0.1:8000.


Обмежений конус (Restricted Cone)

NAT, c обмеженим конусом, відкриває зовнішній порт відразу після того як локальний комп'ютер відправить дані на певний зовнішній IP-адреса. Наприклад, якщо клієнт посилає назовні пакет зовнішнього комп'ютера 1, NAT відображає клієнта 10.0.0.1:8000 на 212.23.21.25:12345, і зовнішній комп'ютер 1 може посилати пакети назад по цьому призначенню. Однак, NAT буде блокувати пакети йдуть від комп'ютера 2, до тих пір поки клієнт не пошле пакет на IP-адреса цього комп'ютера. Коли він це зробить, то обидва зовнішніх комп'ютера 1 і 2 зможуть посилати пакети назад клієнту, і обидва матимуть один і той же відображення через НАТ.

Порт обмеженого конуса (Port Restricted Cone)

NAT з портом обмеженого конуса майже ідентичний NATу з обмеженим конусом. Тільки в цьому випадку, NAT блокує всі пакети, якщо клієнт попередньо не послав назовні пакет на IP-адресу і порт того комп'ютера, який посилає пакети клієнту. Тому, якщо клієнт посилає зовнішнього комп'ютера 1 на порт 5060, то NAT тільки тоді пропустить пакет до клієнта, коли він йде з 212.33.35.80:5060. Якщо клієнт послав назовні пакети до кількох IP-адресами і портам, то вони можуть відповісти клієнту на один і той же відображений IP-адреса і порт.

Симетричний (Symmetric)

Симетричний NAT кардинально відрізняється від перших трьох в способі відображення внутрішнього IP-адреси і порту на зовнішню адресу і порт. Це відображення залежить від IP-адреси і порту комп'ютера, до якого призначений посланий пакет. Наприклад, якщо клієнт посилає з адреси 10.0.0.1:8000 комп'ютера 1, то він може бути відображений як 212.23.21.25:12345, в той же час, якщо він посилає з того ж самого порту (10.0.0.1:8000) на інший IP- адреса, він відображається по-іншому (212.23.21.25:12346).


Комп'ютер 1 може відправити відповідь тільки на 212.23.21.25:12345, а комп'ютер 2 може відповісти тільки на 212.23.21.25:12346. Якщо будь-який з них спробує послати пакети на порт з якого він не отримував пакети, то ці пакети будуть ігноровані. Зовнішній IP-адреса і порт відкривається тільки тоді, коли внутрішній комп'ютер посилає дані назовні за певною адресою.

NAT і Інтернет телефонія з використанням SIP протоколу

Існує три основних проблеми проходження через NAT дзвінків з використанням SIP протоколу.
1. Наявність локальних адрес в SIP сигналізації.

Що таке NAT

Ваш комп'ютер може бути підключений до інтернету безпосередньо. Тоді кажуть, що у нього зовнішній IP адреса.

Зазвичай це означає, що комп'ютер підключений відразу до модему (DSL, кабельному або звичайного аналоговому).

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

Доступ до інтернету ваш комп'ютер отримує через NAT - процес трансляції внутрішніх адрес в зовнішні і назад. NAT-пристрій зазвичай називають раутера.

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

Знаходимо IP адреса комп'ютера

Run "\u003e Відкрийте діалогове вікно для запуску програм: клік на кнопці Пуск, в меню виберіть Виконати.

У Windows 2000 / XP набираємо команду cmd / k ipconfig, натискаємо OK і дивимося на результат.

Windows 2000 IP Configuration Ethernet adapter Local Area Connection: Connection-specific DNS Suffix. : IP Address. . . . . . . . . . . . : 192.168.1.10 Subnet Mask. . . . . . . . . . . : 255.255.255.0 Default Gateway. . . . . . . . . : 192.168.1.1

Перший з цих адрес - це IP адреса вашого комп'ютера.

Знаходять ви за NAT

Три спеціальних діапазону 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 адреса вашого комп'ютера знаходиться в одному з цих діапазонів, тобто починається з 10. або з 192.168. або з 172.nn. (Де nn - від 16 до 31), то це локальний (внутрішній) адреса, і ви точно перебуваєте за NAT.

Якщо немає, то тепер перевірте, під яким IP адресою вас бачать інші комп'ютери в інтернеті. Наприклад на whatsmyip.org ( "Your IP Address is x.x.x.x" у верхній частині сторінки) або на myipaddress.com.

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

В інших випадках напевно сказати не можна. Можливі такі варіанти:

  • ви перебуваєте за NAT, але ваш мережевий адміністратор вибрав нестандартні внутрішні адреси для вашої локальної мережі. Знайдіть його і поцікавтеся, навіщо так треба було робити.
  • ви виходите в інтернет через проксі сервер (тоді whatsmyip.org показав вам адресу цього проксі сервера). У багатьох випадках ви можете визначити, чи є між вами і інтернетом проксі сервер, користуючись наприклад lagado.com/proxy-test.

    Підключення через проксі в цьому керівництві не розглядається.

Варіанти підключення через NAT

Якщо ви за NAT, то наступним кроком треба визначити, де саме знаходиться NAT-пристрій.

NAT провайдера

    Тоді кажуть, що
  • провайдер надає вам інтернет через NAT,
  • або що провайдер не дає вам зовнішній IP адреса,
  • або що ви підключені через локальну мережу провайдера

Найпростіше зателефонувати провайдеру і дізнатися. Або поцікавитися у знаючих сусідів з таким же підключенням.

При підключенні до інтернету через локальну мережу провайдера зробити собі доступний порт не можна. Якщо, звичайно, провайдер спеціально для вас не перенаправить певний порт, що малореально. Або якщо ви не заплатите додатково за послугу, яка зазвичай називається "зовнішній" ( "білий") IP адреса.

NAT в офісі або багатоквартирному будинку

В принципі ситуація така ж, але ви можете пошукати підходи до місцевого адміну. В кінцевому підсумку вирішення питання про доступність порту залежить від того, чи маєте ви доступ до налаштувань раутера.

Крім того, можна також спробувати UPnP, раптом в раутерів залишили його дозволеним.

NAT ваш власний

В цьому випадку ви практично завжди можете його налаштувати і отримати доступний порт.

Зазвичай це або підключення через домашній раутер або підключення через інший комп'ютер, наприклад використовуючи ICS (другий варіант тут не розглядається).

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

Інтернет -маршрутізатором, сервером доступу, фаєрволом. Найбільш популярним є Source NAT (SNAT), суть механізму якого полягає в заміні адреси джерела (source) при проходженні пакета в одну сторону і зворотного заміні адреси призначення (destination) у відповідному пакеті. Поряд з адресами джерела / призначення можуть також замінюватися номери портів джерела і призначення.

Крім SNAT, тобто надання користувачам локальної мережі з внутрішніми адресами доступу до мережі Інтернет, часто застосовується також Destination NAT, Коли звернення ззовні транслюються фаєрволом на сервер в локальній мережі, що має внутрішній адресу і тому недоступний з зовнішньої мережі безпосередньо (без NAT).

На малюнках нижче наведений приклад дії механізму NAT.


Мал. 7.1.

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

Пристрій NAT отримує пакет і робить запис в таблиці відстеження з'єднань, яка управляє перетворенням адрес.

Потім підміняє адресу джерела пакету власним зовнішнім загальнодоступним IP-адресою і посилає пакет за місцем призначення в Інтернет.

Вузол призначення отримує пакет і передає відповідь назад пристрою NAT.

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

Існує 3 базових концепції трансляції адрес:

  • статична (SAT, Static Network Address Translation),
  • динамічна (DAT, Dynamic Address Translation),
  • маскарадна (NAPT, NAT Overload, PAT).

статичний NAT відображає локальні IP-адреси на конкретні публічні адреси на підставі один до одного. Застосовується, коли локальний хост повинен бути доступний ззовні з використанням фіксованих адрес.

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

маскарадний NAT (NAPT, NAT Overload, PAT, маськарадінг) - форма динамічного NAT, який відображає кілька приватних адрес в єдиний публічний IP- адреса, скориставшись різними портами. Відомий також як PAT (Port Address Translation).

Механізмів взаємодії внутрішньої локальної мережі з зовнішньої загальнодоступною мережею може бути кілька - це залежить від конкретного завдання щодо забезпечення доступу в зовнішню мережу і назад і прописується певними правилами. Визначено 4 типи трансляції мережевих адрес:

  • Full Cone (Повний конус)
  • Restricted Cone (Обмежений конус)
  • Port Restricted Cone (Порт обмеженого конуса)
  • Symmetric (Симетричний)

У перших трьох типах NAT для взаємодії різних IP-адрес зовнішньої мережі з адресами з локальної мережі використовується один і той же зовнішній порт. Четвертий тип - симетричний - для кожної адреси та порту використовує окремий зовнішній порт.

Full Cone, Зовнішній порт пристрою (маршрутизатора, сервера доступу, брандмауера) відкритий для тих, хто приступає будь-яких адрес запитів. Якщо користувачеві з Інтернету потрібно відправити пакет клієнту, розташованому за NAT 'ом, то йому необхідно знати тільки зовнішній порт пристрою, через який встановлено з'єднання. Наприклад, комп'ютер за NAT 'ом з IP-адресою 192.168.0.4 посилає і отримує пакети через порт 8000, які відображаються на зовнішній IP- адресу і порт, як 10.1.1.1:12345. Пакети з зовнішньої мережі приходять на пристрій з IP-адресою: портом 10.1.1.1:12345 і далі відправляються на клієнтський комп'ютер 192.168.0.4:8000.

У вхідних пакетах перевіряється тільки транспортний протокол; адреса і порт призначення, адреса і порт джерела значення не мають.

При використанні NAT, яка працює за типом Restricted Cone, Зовнішній порт пристрою (маршрутизатора, сервера доступу, брандмауера) відкритий для будь-якого пакета, посланого з клієнтського комп'ютера, в нашому прикладі: 192.168.0.4:8000. А пакет, що прийшов із зовнішньої мережі (наприклад, від комп'ютера 172.16.0.5:4000) на пристрій з адресою: портом 10.1.1.1:12345, буде відправлений на комп'ютер 192.168.0.4:8000 тільки в тому випадку, якщо 192.168.0.4:8000 попередньо посилав запит на IP- адреса зовнішнього хоста (в нашому випадку - на комп'ютер 172.16.0.5:4000). Тобто, маршрутизатор буде транслювати вхідні пакети тільки з певного адреси джерела (в нашому випадку комп'ютер 172.16.0.5:4000), але номер порту джерела при цьому може бути будь-яким. В іншому випадку, NAT блокує пакети, що прийшли з хостів, на які 192.168.0.4:8000 не відправляти запиту.

механізм NAT Port Restricted Cone майже аналогічний механізму NAT Restricted Cone. Тільки в даному випадку NAT блокує всі вхідні пакети з з хостів, на які клієнтський комп'ютер 192.168.0.4:8000 не відправляти запиту за будь-якою IP-адресою і порту. Mаршрутізатор звертає увагу на відповідність номера порту джерела і не звертає уваги на адресу джерела. У нашому прикладі маршрутизатор буде транслювати вхідні пакети з будь-якою адресою джерела, але порт джерела при цьому повинен бути 4000. Якщо клієнт відправив запити в зовнішню мережу до кількох IP-адресами і портам, то вони зможуть посилати пакети клієнту на IP- адреса: порт 10.1 .1.1: 12345.

Symmetric NAT істотно відрізняється від перших трьох механізмів способом відображення внутрішнього IP-адреси: порту на зовнішню адресу: порт. Це відображення залежить від IP-адреси: порту комп'ютера, до якого призначений посланий запит. Наприклад, якщо клієнтський комп'ютер 192.168.0.4:8000 надсилає запит комп'ютера №1 (172.16.0.5:4000), то він може бути відображений як 10.1.1.1:12345, в той же час, якщо він посилає з того ж самого порту (192.168. 0.4: 8000) на інший IP- адреса, він відображається по-іншому (10.1.1.1:12346).

  • Дозволяє запобігти або обмежити обіг зовні до внутрішніх хостів, залишаючи можливість звернення з внутрішньої мережі в зовнішню. При ініціації з'єднання зсередини мережі створюється трансляція. Відповідні пакети, що надходять зовні, відповідають створеної трансляції і тому пропускаються. Якщо для пакетів, що надходять із зовнішнього мережі, відповідної трансляції не існує (а вона може бути створеною при ініціації з'єднання або статичної), вони не пропускаються.
  • Дозволяє приховати певні внутрішні сервіси внутрішніх хостів / серверів. По суті, виконується та ж зазначена вище трансляція на певний порт, але можливо підмінити внутрішній порт офіційно зареєстрованої служби (наприклад, 80-й порт TCP (HTTP-сервер) на зовнішній 54055-й). Тим самим, зовні, на зовнішньому IP-адресу після трансляції адрес на сайт (або форум) для обізнаних відвідувачів можна буде потрапити за адресою http://dlink.ru:54055, але на внутрішньому сервері, що знаходиться за NAT, він буде працювати на звичайному 80-м порту.
  • Однак слід згадати і про недоліки даної технології:

    1. Не всі протоколи можуть "перебороти" NAT. Деякі не в змозі працювати, якщо на шляху між взаємодіючими хостами є трансляція адрес. Опеределения міжмережеві екрани, які здійснюють трансляцію IP-адрес, можуть виправити цей недолік, відповідним чином замінюючи IP-адреси не тільки в заголовках IP, але і на більш високих рівнях (наприклад, в командах протоколу FTP).
    2. Через трансляції адрес "багато в один" з'являються додаткові складнощі з ідентифікацією користувачів і необхідність зберігати повні логи трансляцій.
    3. Атака DoS з боку вузла, що здійснює NAT - якщо NAT використовується для підключення багатьох користувачів до одного і того ж сервісу, це може викликати ілюзію DoS-атаки на сервіс (безліч успішних і неуспішних спроб). Наприклад, надмірна кількість користувачів ICQ за NAT призводить до проблеми з підключенням до сервера деяких користувачів через перевищення допустимої швидкості підключень.
    Поділитися