Гіпермаркет Знань>>Інформатика>>Інформатика 8 клас>> Інформатика: Возможности, обеспечиваемые технологиями NAT Traversal и UPnP в системе Windows XP Статті до предмету Інформатика 8 клас. Тема «Возможности, обеспечиваемые технологиями NAT Traversal и UPnP в системе Windows XP».
Возможности, обеспечиваемые технологиями NAT Traversal и UPnP в системе Windows XP
В связи с этим и была разработана технология NAT Traversal (Lпрохождение NAT¦), которая позволяет сетевым приложениям определять, присутствует ли в сети локальное устройство NAT. Обнаружив устройство, приложение может настроить NAT и установить необходимые соответствия между портами, устраняющие проблемы несовместимости. Данный документ носит обзорный характер и знакомит пользователей и разработчиков сетевых приложений с возможностями NAT; в нем отмечаются основные проблемы, связанные с использованием NAT, и описывается, каким образом технология NAT Traversal помогает решать эти проблемы. Техническое описание API-интерфейсов NAT Traversal, входящих в Windows, планировалось включить в пакет Windows Platform SDK в начале лета 2001 г.; здесь разработчики смогут подробнее узнать, как использовать эти новые возможности операционной системы, действие которых распространяется и на шлюзовые устройства независимых производителей. Реализация NAT Traversal в устройстве NAT опирается на поддержку технологии UPnP (Universal Plug and Play), спецификации которой определены Рабочим комитетом IGD (Internet Gateway Device ? шлюзовое устройство интернета), действующим в рамках Форума UPnP. Информация о технологии UPnP публикуется на веб-сайте UPnP, а более подробные сведения содержатся в части сайта, доступной только для участников форума. Наличие поддержки UPnP и NAT Traversal является важной характеристикой шлюза интернета. Настоятельно рекомендуется покупать только те устройства, которые оснащены такой поддержкой, поскольку это гарантирует наибольшие удобства для пользователя, снижение затрат на техническую поддержку и доступ к новейшим службам и приложениям. Добавление в шлюз интернета поддержки NAT Traversal на базе UPnP не требует от производителя чрезмерных усилий или расходов. Используя технологию UPnP, которая, в свою очередь, основывается на стандартах и протоколах интернета, производитель шлюза интернета может без труда решить проблему прохождения NAT практически для любых приложений, обращающихся к его устройству. Такой подход резко контрастирует с Lодноразовыми¦ решениями, которые сегодня вынуждены предлагать многие разработчики приложений и изготовители шлюзов. Настоящий документ не следует рассматривать как подробное руководство для производителей оборудования, намеревающихся реализовать механизм NAT Traversal в своих шлюзах интернета. За подобной информацией лучше обратиться на веб-сайт Форума UPnP. Знание архитектуры Windows, принципов сетевой обработки и технологии UPnP поможет лучше понять содержание данного документа, но это требование не является обязательным. Что такое NAT?
NAT дает немедленное, но временное решение проблемы дефицита адресов IPv4, которая рано или поздно отпадет сама собой с появлением протокола IPv6. Сейчас эта проблема особенно актуальна в Азии и некоторых других регионах; вскоре она заявит о себе и в Северной Америке. Поэтому понятен интерес к использованию IPv6 в качестве более долговременного решения проблемы дефицита адресов. NAT не только позволяет сократить число необходимых адресов IPv4, но и образует дополнительную защиту частной сети, поскольку с точки зрения любого узла, находящегося вне сети, связь с ней осуществляется лишь через один, совместно используемый IP-адрес. NAT ? это не то же самое, что брандмауэр или прокси-сервер, но это, тем не менее, важный элемент безопасности.
Общие принципы работы NAT
Устройство NAT ведет таблицу сопоставлений портов и сохраняет созданное сопоставление в этой таблице. Внешние IP-адрес и порт? это общие IP-адрес и порт, которые будут использоваться в текущем сеансе передачи данных вместо внутренних IP-адреса и порта клиента. Затем устройство NAT Lтранслирует¦ пакет, преобразуя в пакете поля источника: частные, внутренние IP-адрес и порт клиента заменяются общими, внешними IP-адресом и портом устройства NAT. Преобразованный пакет пересылается по внешней сети и в итоге попадает на заданный сервер.
Затем NAT отправляет пакет клиенту по внутренней сети. Однако если NAT не находит подходящего сопоставления портов, входящий пакет отвергается и соединение разрывается. Благодаря устройству NAT клиент получает возможность передавать данные в глобальной среде интернета, используя лишь частный IP-адрес; ни от приложения, ни от клиента не требуется никаких дополнительных усилий. Приложению не приходится обращаться к каким-либо специальным API-интерфейсам, а клиенту не нужно выполнять дополнительную настройку. В данном случае механизм NAT оказывается прозрачным по отношению к клиенту и к серверному приложению? все работает просто и четко. Однако не все сетевые приложения пользуются протоколами, способными взаимодействовать с NAT. В этом-то и заключается проблема. Средство NAT успешно обеспечивает совместное использование единого глобального IP-адреса, когда клиент инициирует контакт и принимает ответ через один и тот же порт. Однако многие приложения используют стратегии, основанные на предположениях, которые становятся неверными, если для доступа в интернет применяется устройство NAT. Некоторые из подобных проблем обсуждаются ниже.
Чаще всего эту проблему обходят, вручную настраивая сопоставление портов, которое позволяет устройству NAT передавать трафик, адресованный в NAT с указанием неких внешних IP-адреса и порта, на внутренние IP-адрес и порт, используемые службой. Когда такое сопоставление установлено, служба может получать входящие пакеты и становится доступной для клиентов, внешних по отношению к частной сети. Пока сопоставление портов не выполнено, связь с сетью не поддерживается. Настроить сопоставление портов вручную, как правило, довольно сложно; это требует определенного опыта. Поэтому многие индивидуально работающие пользователи и сотрудники небольших офисов не могут работать с нужными им приложениями и службами без посторонней помощи и вынуждены в поисках решения проблемы обращаться в службу технической поддержки своего интернет-провайдера, производителя компьютера, торговой фирмы или производителя шлюза интернета. К тому же такое сопоставление накладывает меньше ограничений, любой внешний клиент сможет воспользоваться им для инициирования контакта с сервером.
Если сервер попытается ответить, используя вложенные IP-адрес и порт вместо сопоставленных значений адреса и порта, предоставленных средством NAT, то пакет будет отброшен при передаче. Это происходит потому, что вложенный IP-адрес нельзя маршрутизировать. Если сетевое приложение обнаружило бы устройство NAT и получило у него внешний IP-адрес и внешний порт, оно смогло бы поместить в пакет правильные данные.
Большинство пользователей сегодня и не подозревают, что становятся Lжертвами¦ NAT. Они знают одно: когда они пытаются сыграть в коллективную игру или воспользоваться приложениями одноранговой связи (например, средствами общения в режиме реального времени), им это не удается. На экране появляется сообщение об ошибке (что-нибудь вроде LНевозможно установить связь¦) или приложение, пытавшееся запуститься, завершается аварийно. В некоторых случаях пользователь, подключающийся к интернету через обычный модем удаленного доступа, не будет сталкиваться с подобными неполадками. Но если он станет абонентом службы широкополосного доступа и перейдет на модем DSL или кабельный модем, проблемы станут неизбежны. Пользователи, рассчитывавшие на более эффективную связь через интернет, будут озадачены внезапно появившимися помехами, не дающими им играть в игры и применять другие службы. Это может привести к росту недовольства среди пользователей, которое будет направлено на изготовителей компьютеров, интернет-провайдеров, производителей шлюзов интернета и др. Клиент часто не знает, в чем причина неполадок, и сотрудникам службы технической поддержки не всегда удается помочь ему по телефону. Но это проблема касается не только пользователя. Это также проблема производителей, предоставляющих пользователю продукты и услуги. Обращения в службу поддержки, вызванные проблемами NAT, означают повышение расходов и могут неблагоприятно отразиться на прибылях производителя или продавца продукта. В итоге какая-то часть пользователей может утратить интерес к новым службам и приложениям, испытывая неудовлетворенность из-за неудачных попыток доступа к старым службам, так что NAT превращается в тормоз на пути создания и распространения новейших продуктов и служб.
Данная технология представляет собой более целостное решение проблем связи, обусловленных применением устройств NAT, по сравнению с использовавшимися раньше методами, ориентированными на конкретные приложения. До сих пор подобные специализированные решения требовали либо наличия у пользователя технических знаний, либо специальной доработки со стороны создателя приложения или производителя шлюза интернета, либо всего этого вместе. Хотя средство прохождения NAT направлено на решение некоторых проблем, связанных с NAT, оно не являются панацеей и не способно разрешить ВСЕ проблемы. Тем не менее его воплощение в автоматизированном виде представляет собой существенный шаг вперед в деле более полного удовлетворения пользователей, снижения нагрузки на службу технической поддержки и продвижения новейших служб и приложений, особенно в среде домашней сети. Технологию NAT Traversal следует рассматривать как подручный механизм, который должен использоваться в случае необходимости, а не во всех ситуациях подряд. Потребность в NAT и, следовательно, в технологии NAT Traversal отпадет с появлением IPv6, когда каждый клиент получит IP-адрес, допускающий глобальную маршрутизацию. Существуют различные прогнозы относительно того, как скоро завершится повсеместное развертывание IPv6. Компании отрасли, включая Microsoft, вкладывают значительные средства в продвижение IPv6, однако решение NAT Traversal, описываемое ниже, принесет немало пользы сейчас и в ближайшие несколько лет всем, кто работает дома и в небольших офисах и испытывает трудности с использованием NAT.
Шлюзы интернета, поддерживающие обязательные элементы протокола управления устройствами IGD, будут объявлять о своем присутствии и публиковать XML-документы с описаниями для пунктов управления своих локальных сетей. Из этих документов пункты управления смогут узнать, какие операции UPnP требуется вызвать для того, чтобы определить, включена ли поддержка NAT в шлюзе, и выполнить сопоставление портов. API-интерфейс NAT Traversal в составе Windows позволяет избежать необходимости доступа к UPnP напрямую; он включает функции обнаружения, управления и настройки устройства NAT.
NAT Traversal в Windows 2000 на данный момент не поддерживается.
• Устройства IGD объявляют в каждый момент времени только один внешний интерфейс. Хотя с технической точки зрения допустимо объявление нескольких внешних интерфейсов, API-функции NAT Traversal будут использовать только первый из них. На момент написания данного документа уже несколько ведущих производителей объявили о планах начать в 2001 г. поставки поддерживающих эти спецификации UPnP шлюзовых устройств интернета, совместимых с API-интерфейсами Windows NAT Traversal. Это важное событие как для пользователей, так и для отрасли в целом. Чем больше производителей шлюзов интернета осознают преимущества технологии UPnP как средства обхода проблем NAT и чем больше пользователей знакомятся с этими средствами, тем выше шансы на то, что решение NAT Traversal на базе UPnP станет непременным атрибутом устройств данной категории. Следует заметить, что средство общего доступа к подключению интернета в Windows XP поддерживает версию 0.9 стандарта UPnP IGD. Ожидается, что версия 1.0 будет совместима с версией 0.9.
Если приложение представляет собой сетевую службу (например, веб-сервер), которой требуется какой-либо широко известный порт на всем протяжении ее существования, программа установки такого приложения может настроить статическое сопоставление порта с помощью API-интерфейсов NAT Traversal. Если сетевая топология остается постоянной и механизмы очистки не затрагивают это сопоставление, внешние клиенты смогут контактировать со службой в течение всего периода ее работы. Удалить сопоставление должна будет программа удаления приложения. После аварийного сбоя статические сопоставления портов останутся, несмотря на отсутствие службы. Изменение внешнего IP-адреса будет автоматически учтено статическим сопоставлением портов. Если приложение не будет работать постоянно или нет гарантии, что его статические сопоставления портов будут все время поддерживаться сетью, оно может резервировать какой-либо известный порт при каждом запуске и возвращать его при каждом завершении работы. Это можно делать с помощью параллельно активизируемого сценария. Возможен и иной вариант: вместо добавления и удаления сопоставления портов приложение будет каждый раз включать и выключать его. Можно также оставить статическое сопоставление портов постоянно действующим и просто обновлять его при запуске приложения. И в этом случае изменение внешнего IP-адреса автоматически учитывается статическим сопоставлением портов. Если один и тот же внутренний номер порта используется сразу несколькими приложениями разных клиентов частной сети, эти приложения придется немного изменить, чтобы обеспечить работу нескольких клиентов. В каждый момент времени только один клиент может сопоставлять внешнему порту этот внутренний номер порта. Рекомендуется такой режим: право на использование порта получает первый клиент. Остальные клиенты должны запрашивать асимметричные сопоставления, в которых внутренний порт отличался бы от внешнего. Следует рассмотреть такой особый случай: несколько клиентов могут прослушивать один и тот же внешний порт с единственной целью ? быть обнаруженными удаленными узлами. Входящие пакеты могут преобразовываться так, чтобы в качестве внутреннего IP-адреса клиента указывался широковещательный адрес, а не адрес конкретного клиента. Клиенты, прослушивающие сеть через этот порт, смогут ответить, инициируя свое собственное подключение к удаленному узлу. Такой метод не рекомендуется для общего пользования, поскольку входящие пакеты с этим адресом назначения будут приниматься каждым клиентом сети, создавая для них дополнительную нагрузку. Если службе необходимо прослушивать произвольный порт в течение короткого промежутка времени, она должна запросить статическое сопоставление порта в приложении, а не в сценарии. Закончив работу, служба должна сразу же выполнить очистку (удалить сопоставление). В приложении следует вести учет собственных действующих сопоставлений портов. В итоге если произойдет сбой приложения и оно не успеет закрыть сопоставления портов, при следующем запуске приложения оно сможет получить все данные, необходимые для очистки. Если приложение должно выйти из сети без очистки своих сопоставлений портов, они будут сохранены, и ответственность за очистку перекладывается на пользователя. В настоящее время в Windows механизм очистки отсутствует, поскольку трудно определить, когда приложение заканчивает пользоваться сопоставлением.
• NAT Traversal использует модель открытых доверительных отношений. Это означает, что все приложения в частной сети имеют доступ ко всем сопоставлениям портов, установленным в NAT. В результате значительно повышается гибкость администрирования (точек управления становится больше), однако приложения лишаются прав монопольного владения своими сопоставлениями. • Разрешение конфликтов является обязанностью приложений. Если приложение пытается сопоставить порт, уже сопоставленный другому клиенту, следует либо найти другой порт, либо соответственно изменить программный код. • NAT Traversal не решает проблемы интернет-провайдеров, которые сами распределяют частные адреса и используют NAT для подключения клиентов. В этом случае NAT оказывается снаружи шлюза интернета, фактически в сети провайдера. Средство NAT Traversal в домашней или небольшой офисной сети не сможет работать, если устройство NAT в клиентской сети защищено еще одним таким же устройством NAT. Поэтому интернет-провайдерам не рекомендуется развертывать NAT в своих сетях. • Изначально приложение не имеет доступа к NAT Traversal ? его необходимо изменить, чтобы можно было вызывать функции API, или сопроводить соответствующим сценарием. Впрочем, это вполне осуществимая задача для разработчика, особенно учитывая тот факт, что как только механизмы NAT Traversal интегрированы в приложение, оно приобретает способность работать с множеством различных шлюзов интернета. • Приложения, закончив работу с сопоставлениями портов, должны выполнить после себя очистку. Статические сопоставления сохраняются неопределенно долго и наиболее всего подходят для служб, которые собираются прослушивать широко известные порты на протяжении всего существования приложения. • Шлюз интернета, на котором установлены средства NAT, должен поддерживать спецификацию Universal Plug and Play Internet Gateway Device версии 0.9 или более поздней.
Недостатком использования NAT является то, что оно препятствует применению коллективных игр, служб общения в режиме реального времени и приложений одноранговой связи. Это объясняется тем, что сетевые протоколы действуют исходя из предположений об архитектуре сети, которые с появлением NAT перестают выполнятся. Технология NAT Traversal позволяет приложениям обнаружить устройство NAT, определить совместно используемый IP-адрес, допускающий глобальную маршрутизацию, и настроить статические сопоставления портов с целью устранения некоторых проблем связи. Решение NAT Traversal не избавляет от всех проблем, связанных с NAT, но предотвращает некоторые из них.
• Пользователи, желающие добиться наиболее эффективной работы приложений, должны выбирать для себя шлюзы интернета, поддерживающие технологии UPnP и NAT Traversal. • Провайдеры широкополосного доступа (через DSL и кабельные модемы) должны организовать продажу и аренду шлюзов интернета, поддерживающих UPnP NAT Traversal.
Надіслала викладач інформатики Чебанюк Олена Вікторовна, к.т.н., «НАУ». Предмети > Інформатика > Інформатика 8 клас > Глобальна мережа Інтернет. Передача даних в Інтернеті. Поняття протоколу, основні протоколи Інтернету. Адресація в Інтернеті > Глобальна мережа Інтернет. Передача даних в Інтернеті. Поняття протоколу, основні протоколи Інтернету. Адресація в Інтернеті. Статті |
Авторські права | Privacy Policy |FAQ | Партнери | Контакти | Кейс-уроки
© Автор системы образования 7W и Гипермаркета Знаний - Владимир Спиваковский
При использовании материалов ресурса
ссылка на edufuture.biz обязательна (для интернет ресурсов -
гиперссылка).
edufuture.biz 2008-© Все права защищены.
Сайт edufuture.biz является порталом, в котором не предусмотрены темы политики, наркомании, алкоголизма, курения и других "взрослых" тем.
Ждем Ваши замечания и предложения на email:
По вопросам рекламы и спонсорства пишите на email: