Трансляція мережевих адрес
Розвиток і широке застосування мережевих технологій в науці, виробництві і бізнесі і комерціалізація Internet привели до вибухового зростання кількості підключень. 32-розрядного адресного простору, передбаченого специфікацією Ipv4, до того ж використовуваного нераціонально, почало катастрофічно не хапати. Звичайно, всі адресні проблеми вирішує стандарт Ipv6, який дозволить привласнити IP-адрес мало не всьому сущому на Землі. Проте його впровадження йде достатньо поволі, і причиною тому, зокрема, служить механізм Network Address Translation (NAT), що забезпечує повторне використання IP-адресов.
NAT(Network Address Translation) - трансляція мережевих адрес.
Ваш комп'ютер може бути підключений до інтернету:
- Безпосередньо - в основному при підключенні безпосередньо до модему (DSL, кабельному або звичайного аналоговому).
- Або через NAT - тоді ваш комп'ютер має локальний IP-адресу, з інтернету недоступну.
Тож NAT - це процес трансляції локальних адрес в зовнішній. Завдяки цьому процесу ваш комп'ютер отримує доступ в інтернет. NAT автоматично робить вам всі порти недоступними.
Вважається, що одна з найважче виправних помилок -- прийняте на початкових стадіях створення Internet рішення обмежитися чотирма байтами для визначення адресного простору. Проте навіть сьогодні важко засуджувати за це людей, що думали, що понад чотири мільярди адрес (232) буде достатні на всі часи: адже тоді не було навіть ПК, які б потребували підключення до Internet, були відсутні Internet-телефоны і мікрохвильові печі з мережевим інтерфейсом. Правда, реально доступними у зв'язку з розбиттям адрес на класи опинилися тільки небагато чим більше 3 мільярдів. Виниклий у наш час дефіцит IP-адресов частково вирішується за допомогою протоколу трансляції мережевих адрес.
Перш ніж заглиблюватися в механізм роботи NAT, розглянемо, як завжди відбувається IP-соединение. Формат IP-пакета передбачає двобайтове поле для номерів портів. Таким чином, є 65 535 портів, про які можна думати як про канали. Перші 1023 з них зарезервовані для так званих Well Known Services (WNS), таких, скажімо, як telnet, ftp, gopher, www і тому подібне. Тобто вони зарезервовані для серверних процесів і відповідних протоколів і не можуть використовуватися клієнтськими процесами. Порти, що залишаються ж, можуть служити для будь-яких цілей. Що, наприклад, відбудеться, якщо набрати рядок telnet.someserver.com? Операційна система вибере номер порту вище 1023 і привласнить його даній сесії. Припустимо, для конкретності, що це буде порт 1025. На someserver.com пакет поступить на порт 23, оскільки він зарезервований для telnet-сессии. В той же час в отриманому сервером пакеті міститься номер порту (1025) для відповіді. Саме він і буде вказаний в пакеті, який сервер направить клієнтові. Таким чином, привласнюючи різні номери портів сесіям, що відкриваються, на клієнтській машині, можна одночасно обмінюватися пакетами з декількома серверами.
Внутрішня локальна адреса (Inside Local – IL) – IP-адреса, призначена станції, розміщеній у внутрішній мережі. Такі адреси можуть бути глобально унікальними, виділеними з приватного адресного простору, визначеного RFC 1918
Нагадаємо, що для того, щоб пакети доставлялися за призначенням, кожен вузол в IP-сети (у простому випадку) повинен мати унікальну адресу. Тому першим кроком у вирішенні проблеми обмежень Ipv4 було визначення блоків адрес, які могли б використовуватися повторно. Ними стали діапазони адрес 10.0.0.0 -- 10.255.255. 255; 172.16.0.0 -- 172.16.255.255 і 192.168.0.0 -- 192.168.255.255. RFC 1918 гарантував, що вони ніколи не застосовуватимуться в зовнішніх мережах. Тепер будь-яка компанія могла узяти для внутрішнього використання однакові набори адрес і ні про що не турбуватися. Проте оскільки пакети з такими адресами не маршрутизуються в Internet, необхідний якийсь механізм для передачі пакетів вузлам в Internet, отримання відповідей, доставки їх комп'ютерам внутрішньої LAN і впорядкування сесій. Саме цією роботою і займається протокол NAT. Він може виконуватися на маршрутизаторі, за допомогою якого LAN підключається до Internet, на проксі-сервері або на комп'ютері.
У своїй основі NAT дозволяє одному пристрою, такому, як маршрутизатор, діяти як посередник між Internet і локальною (приватною) мережею. Це означає, що тільки один IP-адрес потрібна для підключення до Internet (або до будь-якої зовнішньої мережі) цілої групи комп'ютерів. Відмітимо, що подолання обмежень адресації є не єдиним призначенням NAT. Додатково за допомогою цього протоколу вирішуються також питання безпеки і адміністрування.
Для використання NAT маршрутизатор, під'єднуючий LAN до Internet, має дві IP-адреса (для простоти ми візьмемо двопортовий маршрутизатор). Один (внутрішній) з боку LAN, який вибирається із зарезервованого RFC 1918 адресного простору, і другий (зовнішній) -- з боку Internet, що надається оператором послуг Internet. Тепер продовжимо розгляд нашого прикладу. Клієнт посилає пакет вузлу з адресою someserver.com. У заголовку пакету містяться IP-адреса і номер порту джерела разом з IP-адресом і номером порту одержувача. Коли пакет прибуває на маршрутизатор, той модифікує заголовок таким чином, що в Internet відправляється пакет, що містить зовнішню IP-адресу маршрутизатора і номер порту джерела, привласнений з набору доступних адрес, наявних в таблиці маршрутизатора, і ті ж IP-адреса і номер порту одержувача, що згенерували комп'ютером клієнта. Далі маршрутизатор додасть в свою таблицю запис, який приводить у відповідність внутрішню адресу і номер порта машини клієнта номеру порту, привласненому цій сесії. Коли вузол someserver.com посилає у відповідь пакет маршрутизатору, той згідно таблиці відновлює адресні атрибути клієнта і направляє пакет у внутрішню мережу. Таким чином, NAT може представляти сотні комп'ютерів внутрішньої мережі тільки одної зовнішньою IP-адресою.
Трансляція мережевих адрес включає такі кроки:
q IP-адреса в заголовку IP-пакету замінюється новою внутрішньою або зовнішньою адресою. Номер порта в заголовку пакету TCP або UDP замінюється новим портом, якщо потрібна трансляція номерів портів.
q Контрольна сума IP-пакету перераховується і контролюється на цілісність.
q Контрольна сума заголовка TCP також перераховується, оскільки вона обчислюється з використанням нової внутрішньої або зовнішньої IP-адреси, нового номера порта (якщо він використовується) і корисного навантаження (при його наявності).
Існують два типи NAT – статична і динамічна. Вони можуть застосовуватися сумісно. Якщо використосується TCP або UDP, то NAT може також здійснювати трансляцію номерів портів (PAT) і ця трансляція також може відбуватися статично або динамічно.
Існує декілька схем відображення внутрішніх, незареєстрованих адрес на зовнішніх, зареєстрованих. При статичній схемі NAT відображає одну внутрішню адресу на одну зовнішню адресу. Так, IP-адреса 192.168.32.10 завжди транслюватиметься на аресу 213.18.123.110 (мал. 1). Такий метод використовується, якщо необхідно забезпечити доступ до комп'ютера клієнта ззовні.
При динамічній трансляції NAT відображає незареєстровану IP-адресу на одну з вільних з групи зареєстрованих адрес. IP-адреса 192.168.32.10 комп'ютера транслюватиметься на першу доступну адресу з діапазону 213.18.123.100 -- 213.18.123.150 (мал. 2). Динамічна трансляція також діє по схемі "один до одного". Проте, як мовиться, можливі варіанти.
Перший з них, при якому безліч незареєстрованих адрес відображаються на один зареєстрований з використанням різних портів, відомий як overloading або Port Address Translation (PAT). У цій схемі кожна внутрішня мережева адреса комп'ютера клієнта відображається на одну і ту ж зовнішню IP-адрес, але з різними номерами портів (мал. 3).
Може існувати ситуація, коли внутрішні адреси, вживані в приватній LAN, є зареєстрованими IP-адресами в іншій мережі ( overlapping ). У такому разі маршрутизатор повинен мати таблицю відповідності цих адрес, щоб перехопити їх і замінити на унікальні зареєстровані адреси.
Дата добавления: 2015-04-19; просмотров: 2491;