Чи підходить NAT для IPv6?
З початку 1990-х рр. пріоритетним завданням для IETF стало вирішення проблеми вичерпання адресного простору IPv4. Поєднання приватних IPv4-адрес RFC 1918 і NAT стало інструментом, спрямованим на уповільнення процесу вичерпання. NAT має помітні недоліки, і в січні 2011 IANA виділила для регіональних інтернет-реєстраторів свої останні IPv4-адреси.
Однією з «ненавмисних» переваг NAT для IPv4 стало те, що ця технологія приховує приватні мережі від публічного Інтернету. Перевагою NAT є забезпечення очевидного рівня безпеки шляхом заборони комп’ютерам з публічного Інтернету доступу до внутрішніх вузлів. Але цю технологію не можна вважати заміною правильної мережевої безпеки, що наприклад, забезпечується міжмережевим екраном.
Комісія з архітектури Інтернету (IAB) включила в RFC 5902 наступне положення, що стосується перетворення мережевих адрес IPv6 : «Зазвичай вважається, що облаштування NAT забезпечує один рівень захисту, оскільки зовнішні вузли не можуть безпосередньо почати взаємодію з вузлами, що знаходяться за облаштуванням NAT. Але не слід плутати облаштування NAT з міжмережевими екранами. Саме по собі перетворення не забезпечує безпеку. Функція фільтрації з урахуванням стану забезпечує той же рівень захисту, не вимагаючи функції перетворення».
Протокол IPv6 з 128-бітовою адресою надає 340 ундециліонів адрес. Таким чином, адресний простір не є проблемою. Протокол IPv6 був розроблений, щоб усунути необхідність в NAT для IPv4 з його перетворенням між публічними і приватними IPv4-адресами. Проте, IPv6 дійсно реалізує певну форму NAT. IPv6 включає і власний простір приватних IPv6-адрес, і перетворення NAT, реалізовані інакше, ніж для IPv4 (рис. 1).

Унікальні локальні IPv6-адреси
Унікальні локальні IPv6-адреси (unique local addresses, ULA) схожі на приватні адреси RFC 1918 в IPv4, але при цьому істотно відрізняються від них. Мета унікальних локальних адрес — забезпечити простір IPv6-адрес для взаємодії в межах локального об’єкту. Це не означає ні надання додаткового простору IPv6-адрес, ні забезпечення рівня безпеки.
Як показано на малюнку 43, унікальна локальна адреса використовує префікс FC00::/7, і тому перший гекстет знаходиться в діапазоні від FC00 до FDFF. Якщо префікс призначається локально, наступний 1 біт встановлений рівним 1. Сенс значення 0 буде визначений пізніше. Наступні 40 бітів — це глобальний ідентифікатор, за яким йде 16-бітовий ідентифікатор підмережі. Ці перші 64 біта об’єднуються для створення префікса унікальної локальної адреси. Це залишає 64 біта для ідентифікатора інтерфейсу або, згідно термінології IPv4 — вузлової частини адреси.
Унікальні локальні адреси визначені в RFC 4193. Унікальні локальні адреси також називаються локальними IPv6-адресами (не слід плутати з локальними IPv6-адресами типу link – local) і мають ряд характеристик, у тому числі нижче перечислені:
- Можливість об’єднувати або приватно сполучати об’єкти, без яких-небудь конфліктів адрес або необхідності в зміні нумерації інтерфейсів, що використовують ці префікси.
- Незалежність від інтернет-провайдера і можливість застосування з метою взаємодії усередині об’єкту без необхідності в підключенні до Інтернету.
- Неможливість маршрутизації через інтернет, проте при випадковому «протіканні» із-за маршрутизації або DNS конфлікт з іншими адресами відсутній.
Унікальні локальні адреси не настільки прості, як адреси RFC 1918. На відміну від приватних IPv4-адрес, IETF не прагнула використати різновид NAT для перетворення між унікальними локальними адресами і глобальними індивідуальними адресами IPv6.
Реалізація і потенційні сфери застосування унікальних локальних IPv6-адрес все ще вивчається інтернет-співтовариством. Наприклад, IETF аналізує можливість створення префікса унікальних локальних адрес локально, використовуючи FC00::/8, або призначення його автоматично сторонньою організацією, починаючи з FD00:: /8.
У початковій специфікації IPv6 був виділений адресний простір для локальних адрес на об’єкті (site – local), визначених в RFC 3513. В результаті IETF визнала в RFC 3879 локальних адрес на об’єкті нерекомендованими, оскільки термін «об’єкт» (site) був визнаний неоднозначним. Для адрес типу site – local використовувався діапазон префіксів FEC0::/10, їх як і раніше можна знайти у ряді застарілих документів IPv6.

Протокол NAT для IPv6
NAT для IPv6 використовується в зовсім іншому контексті, ніж NAT для IPv4. Різноманітні варіанти NAT для IPv6 використовуються з метою надання прозорого доступу між мережами, в яких використовується тільки протокол IPv6, і мережами, в яких використовується тільки протокол IPv4. NAT для IPv6 не застосовується для перетворення приватних IPv6-адрес в глобальні IPv6 -адреси.
У ідеалі, IPv6 повинен по можливості використовуватися в початковому форматі. Це означає, що облаштування IPv6 взаємодіють один з одним по мережах IPv6. IETF розробила декілька методів переходу для різних сценаріїв переходу від IPv4 до IPv6, включаючи використання подвійного стека, тунелювання і перетворення.
Подвійний стек застосовується, коли пристрої використовують протоколи, пов’язані як з IPv4, так і з IPv6. Тунелювання для IPv6 — це процес інкапсуляції пакетів IPv6 в пакети IPv4. Цей метод дозволяє передавати пакет IPv6 по мережі, в якій використовується тільки протокол IPv4.
NAT для IPv6 слід використати не як довгострокову стратегію, а як тимчасовий механізм, що допомагає перейти з IPv4 на IPv6. З часом з’явилося декілька типів NAT для IPv6, включаючи NAT — PT (Network Address Translation — Protocol Translation, перетворення мережевих адрес — перетворення протоколів). IETF визнала технологію NAT — PT застарілою і порекомендувала використати її заміну — NAT64 (рис. 3).
