русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Port Address Translation

Port Address Translation (PAT) - это возможность сетевых устройств, транслировать TCP или UDP связи, установленные между хостами в частной сети и хостами в публичной сети. Она дает возможность единичному публичному IP -адресу быть использованным многими хостами в частной сети, которая обычно является LAN (Local Area Network).

 

Связи между NAT и PAT

PAT является подмножеством NAT, и тесно связана с концепцией NAT. PAT также известный, как NAT Overload. В PAT только один экспонируемый публично IP-адрес и много частных (внутренних) хостов, соединенных через экспонированные адреса. Входящие пакеты с открытой сети маршрутизируются к своим назначениям во внутреннюю сеть по ссылкам в таблице, сохраненной внутри устройства PAT, которые отслеживают внутренние и внешние пары портов.

Когда происходит трансляция PAT, и частный адрес IP и номер порта символической связи модифицируются; устройство PAT выбирает номера портов, которые будут видны хостам внешней сети. Таким образом, PAT оперирует и на уровне 3 (сетевой), и на - 4 (транспортный), модели OSI , тогда как базовый NAT оперирует только на уровне 3.

 

Имплементации PAT. Установка двусторонней связи

Каждый TCP или UDP пакет содержит и IP-адрес источника и номер порта источника, равно как и IP-адрес назначения и номер порта назначения. Пара адреса порта / IP-адрес формируют так называемый сокет (socket). Таким образом, IP источника и порт источника формируют сокет источники.
Для общедоступных сервисов, таких как веб-серверы или почтовые серверы, номер порта является важным. Например, порт 80 привязывается к веб-серверному ПО, а порт 25 - к SMTP процессу почтового сервера. IP публичного сервера также важен, и похож на уникальный, на глобальном уровне, почтовый адрес или телефонный номер. И IP, и порт должны быть точно известны всем хостам, желающих успешно взаимодействовать.
Внутренние IP, как описано в RFC 1918, имеют значение только внутри частной сети, где они используются, и это же касается портов этих хостов. Порты - это уникальные конечные точки взаимодействия в хосте, поэтому соединение через устройство PAT поддерживается комбинированным отображением портов и IP адресов.

PAT разрешает конфликты, которые могут возникнуть через два разные хосты, которые будут использовать одинаковый порт источника для установки уникального соединения в одно и тоже время.

 

Аналогии PAT

Устройство PAT похоже на секретаря в офисе, который имеет один внешний телефонный номер. Все исходящие звонки, сделанные из офиса, будут с одного номера. Однако входящие звонки должны быть переданы на правильное внутреннее продолжение оператором, который будет спрашивать дозвонщики, с кем он хочет говорить; до этих офисных разветвлений нельзя подключиться извне прямо.

Трансляция конечной точки

С PAT, все пакеты направлены к внешним хостам, в действительности содержат внешние IP и информацию о порте устройства PAT вместо IP или порта внутренних хостов.

  1. Когда компьютер внутренней сети посылает пакет во внешнюю сеть, устройство PAT изменяет внутренний IP адрес в поле источника заголовка пакета (адрес отправителя) на внешний IP адрес устройства PAT. Тогда он назначает соединению номер порта из пула доступных портов, вставляет этот номер в поле порта источника (более всего похоже на номер почтового ящика), и передает пакет во внешнюю сеть. Устройство PAT дальше делает запись в таблице трансляций, содержащей внутренние IP-адреса, оригинальные порты источников, и передан порт источника. Последовательные пакеты с того самого соединения передаются на том же порту.
  2. Компьютер, который получает пакет, претерпевший изменения PAT, устанавливает соединение с портом и IP-адресом, назначенным в этом измененном пакете, несмотря на факт, что полученный адрес является измененным (аналогично использованию номера почтового ящика).
  3. Пакет, пришедший из внешней сети, отражается в соответствии с внутренним IP-адресом, и номером порта, из таблицы трансляций, заменой внешнего IP-адреса и номера порта в заголовке входного пакета (подобно трансляции из номера почтового ящика в адрес улицы). Затем, пакет передается дальше внутрь сети (внутренней). Кроме того, если порт назначения входящего пакета не найден в таблице трансляций, пакет отбрасывается, поскольку устройство PAT не знает, куда его высылать.

PAT только транслирует IP-адреса и порты своих внутренних хостов, пряча истинное назначение, внутренний хост в частной сети, и принимая эту роль на себя при взаимодействии с внешней сетью.

Видимость операций

Операции PAT обычно прозрачны и для внутренних, и для внешних хостов.

Как правило, внутренние хосты знают настоящий IP-адрес и TCP или UDP порты внешних хостов. Также устройство PAT может функционировать как шлюз по умолчанию для внутренних хостов. Однако внешние хосты будут знать только публичный IP-адрес устройства PAT и конкретный порт, используемый для связи от имени конкретного внутреннего хоста.

Использование PAT

Программные брандмауэры (фаерволы) и устройства широкополосного сетевого доступа (например, ADSL роутеры) являются примерами сетевых технологий, которые могут содержать реализацию PAT. Когда конфигурируются эти устройства, внешней сетью является Интернет, а внутренней сетью является LAN .

 

Пример PAT

Хост на IP-адрес 192.168.0.2 во внутренней сети может спросить соединение с удаленным хостом во внешней сети. Начальный пакет даст адрес 192.168.0.2:15345. Устройство PAT (будем считать его публичный IP-адрес 1.2.3.4) может произвольно транслировать эту пару адресов: порт источника, например 1.2.3.4:16529, делая запись в своей внутренней таблице, порт 16529 используется для соединения хостом 192.168.0.2 частной сети. Когда устройство PAT получает пакет из внешней сети для адреса 1.2.3.4:16529, он передается на 192.168.0.2:15345 согласно записям таблицы трансляций.

Преимущества

В дополнение к преимуществам NAT , PAT позволяет многим внутренним хостам разделять один IP-адрес.

Недостатки

  1. Масштабируемость. Многие хосты частной сети делают многие соединения с внешней сетью. Поскольку доступно только ограниченное количество номеров для портов, устройство PAT может в итоге иметь недостаточно места в таблице трансляции. Хотя доступны тысячи портов, и они быстро высвобождаются для нового использования, некоторые сетевые связи отнимают много портов почти одновременно, в одну логическую транзакцию (HTTP запросы для веб страниц со многими встроенными объектами, некоторые VoIP приложения). Достаточно крупные сети LAN, которые часто имеют именно такой трафик, могут периодически съедать все доступные порты.
  2. Сложность с фаерволом. Так как внутренние адреса все являются скрытыми за одним публичным доступным адресом, невозможно для внешних машин инициировать соединение с конкретной машиной внутри, без специальной настройки в брандмауэре, для передачи соединения на конкретный порт. Это значительно влияет на приложения, такие как VOIP, видеоконференции, и другие peer-to-peer приложения.

Просмотров: 6562

Оглавление: Компьютерная графика и информация в компьютерной сфере


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Полезен материал? Поделись:

Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.