Обратная связь
|
Взаимодействие устройств в разных логических подсетях При работе протокола IP в сетях. ATM в пределах одной логической подсети (LIS) основное внимание уделяется вопросам адресации, инкапсуляции, разрешения адресов и поддержки групповой доставки данных. В сети со множеством IP-подсетей базовыми становятся следующие вопросы:
q Маршрутизация или установление виртуального соединения. Есть два варианта передачи IP-информации. Первый вариант подразумевает, что хост сам умеет определять АТМ-адрес получателя по известному ему IP-адресу. Поэтому он сам может установить виртуальное соединение и отвечает за доставку. Согласно второму методу, пакеты IP передаются маршрутизатору, который теперь становится ответственным за их дальнейшую доставку;
q Способ разрешения удаленных адресов. Согласно схеме работы протокола IP, трафик между подсетями должен следовать через маршрутизатор. Однако устройства (хосты и маршрутизаторы), подключенные к одной сети ATM, могут устанавливать виртуальные соединения друг с другом, даже если они логически расположены в разных подсетях. Это является оптимальным решением для трафика, который требует, например, качества обслуживания. Для установления такого виртуального соединения необходим метод, определяющий соответствие между IP- и АТМ-адресами устройств в разных подсетях;
q Выбор протокола маршрутизации. Для поддержки протокола IP в распределенных сетях используются стандартные протоколы маршрутизации, такие как RIP и OSPF. В технологии ATM для маршрутизации запросов на установление коммутируемых виртуальных соединений используется свой протокол — PNNI. Учитывая это, можно предложить две схемы. В первой традиционные протоколы маршрутизации работают поверх сети ATM, рассматривая ее как один из протоколов канального уровня в подсети, a ATM использует свой собственный протокол маршрутизации. Во второй схеме протоколы маршрутизации интегрируются в единый протокол и создается общая база данных, отражающая топологию сети. Для создания такой базы данных требуется совместное участие маршрутизаторов IP и коммутаторов ATM. Зато в результате становится возможным вычисление оптимального маршрута с учетом как IP-, так и АТМ-топологии.
Напомним, что протокол IP не предусматривает установления логического соединения. Это означает, среди прочего, что устройство может начать передачу пакетов адресату, не зная, по какому пути они будут реально переданы. Пакеты передаются по переходам от одного маршрутизатора к другому до тех пор, пока не достигнут получателя. В ответственных случаях может быть применен протокол TCP. Этот протокол основан на установлении логического соединения между абонентами, что позволяет ему обнаруживать и исправлять все ошибки при передаче и приеме данных.
Технология ATM опирается на предварительное установление соединения. Перед тем как данные будут посланы, между отправителем и получателем устанавливается виртуальное соединение. Во время установления соединения абоненты могут потребовать от сети поддержки определенных параметров, требующихся для передачи трафика. После того, как соединение с запрошенными параметрами установлено, абоненты начинают передавать данные.
Итак, основное различие между двумя рассмотренными подходами к передаче данных заключается в установлении или не установлении соединения. В первом случае маршрут выбирается до начала передачи данных. Во втором случае полномочия по выбору маршрута делегируются всем маршрутизаторам на пути между отправителем и получателем. Поддержка протокола IP в сетях ATM с использованием подхода без установления соединения достаточно проста и не требует изменений существующих методов работы. При этом сеть ATM должна рассматриваться как протокол канального уровня (только очень быстрый), который осуществляет взаимодействие между устройствами и маршрутизаторами в одной логической подсети согласно документу RFC 1577. В этом случае трафик между устройствами, расположенными в разных подсетях, передается через промежуточные маршрутизаторы, даже если эти устройства подключены к одной сети ATM (рис. 16.9).

Такая схема работы не всегда является оптимальной, так как получатель и отправитель могут установить между собой прямое виртуальное соединение, хотя этот метод используется сравнительно редко, так как связь устанавливается с маршрутизатором по умолчанию. Если же путь проходит через маршрутизатор, то он должен собрать получаемые ячейки в дейтаграмму для ее последующего анализа и маршрутизации, а на это требуется время. Кроме того, так как виртуальное соединение заканчивается на маршрутизаторе, то требования к качеству обслуживания невозможно поддержать на дальнейшем пути.
В некоторых случаях оптимальным было бы решение, при котором виртуальное соединение устанавливается напрямую между отправителем и получателем, то есть в обход маршрутизаторов (рис. 16.10). Однако при этом могут потребоваться дополнительные накладные расходы на установление, поддержание и завершение виртуального соединения. Например, такое соединение не оправданно, если станция формирует короткие и редкие запросы к какой-либо службе. Поэтому необходимо комбинировать эти два метода. То есть для приложений, которым достаточно минимального сервиса, можно передавать трафик через маршрутизатор по умолчанию, а для приложений, требующих определенного качества обслуживания, необходимо устанавливать виртуальное соединение. Решение об использовании того или иного метода может приниматься заранее, основываясь на таком протоколе как RSVP. Сетевые ресурсы на определенном пути выделяются на основании запросов RSVP на их резервирование.
Интересен метод, когда сама сеть ATM определяет необходимый для трафика уровень качества обслуживания. В этом случае пакеты передаются через сеть традиционным методом, но если сетевая инфраструктура определила более оптимальный путь (с учетом доступных ресурсов и требований соединения), она перенаправит их по нему. В документе RFC 1932 более подробно рассмотрены различные типы трафика и методы их комбинации. Весьма коротко они описаны в табл. 16.2.

Таблица 16.2. Методы передачи трафика разного типа
Трафик
| Метод
| Обычный
| Протокол RSVP или другие технологии для определения необходимости создания виртуального соединения
| Короткоживущий (SMTP, запросы к DNS и т. д.)
| Маршрутизация
| В реальном времени
| Маршрутизация до тех пор, пока протокол RSVP не укажет на необходимость виртуального соединения
| TCP (то есть с изменяющимся объемом)
| Маршрутизация по умолчанию, но если возможно использовать протокол RSVP или другие технологии для определения необходимости виртуального соединения
|
Протокол NHRP
Установление виртуального соединения между отправителем и получателем, расположенными в различных логических подсетях, требует наличия специального протокола, отвечающего за определение соответствия между IP- и АТМ-адресами устройств. Рабочая группа ROLC (Routing Over Large Clouds) комитета IETF после рассмотрения ряда различных подходов остановилась на протоколе NHRP (Next Hop Resolution Protocol, протокол определения следующего перехода), основной целью которого является разрешение IP- и АТМ-адресов устройств в сети, состоящей из нескольких логических подсетей. Протокол NHRP можно рассматривать как расширенную версию протокола ATMARP, основная функция которого заключается в определения соответствия между IP- я АТМ-адресами устройств в одной логической подсети. В отличие от ATMARP, протокол NHRP поддерживает разрешение адресов в сети со множеством логических подсетей.
Изначально протокол NHRP разрабатывался как дополнение к классическому IP и, следовательно, должен применяться только в сетях на базе этого протокола. Однако теоретически он может поддерживать работу любого протокола третьего уровня (IP, IPX, AppleTalk) в любой сети, относящейся к классу NBMA (ATM, Frame Relay, X.25, SMDS и т. д.).
Следует отметить, что NHRP — это больше, чем просто протокол.Он включает в себя, помимо служебных сообщений, два важных компонента: сервер следующего перехода (Next Hop Server, NHS) и клиент следующего перехода (Next Hop Client, NHC).
Основная задача сервера NHS состоит в предоставлении сервиса протокола NHRP клиентам в сети класса NBMA (дальнейшие рассуждения будут относиться к сетям ATM). Для этого он хранит в памяти специальную таблицу IP- и АТМ-адресов устройств, подключенных к сети. Этот сервер может устанавливаться как на компьютере, подключенном к сети ATM, так и на маршрутизаторе.
Клиенты протокола NHRP подключаются к сети с указанием АТМ-адреса сервера NHS, который их обслуживает. Существуют два основных метода, которые могут использоваться для регистрации клиентов на сервере NHS: ручной и автоматический. Во втором случае используется специальное регистрационное сообщение протокола NHRP, которое, помимо прочего, содержит следующую важную информацию:
{АТМ-адрес клиента, IP-адрес клиента1Р — адрес сервера NHS}.
При помощи этих сообщений, посылаемых от клиентов к серверу, последний формирует в своей памяти таблицу IP- и АТМ-адресов устройств. Неоспоримым достоинством автоматической регистрации адресов является то, что не нужно вручную заносить пары адресов в таблицу. Процесс разрешения адреса в сети ATM, содержащей множество логических подсетей, осуществляется за несколько шагов. Давайте рассмотрим общую схему на примере простой сетевой топологии, изображенной на рис. 16.11.
На рис. 16.11 сеть ATM состоит из трех логических подсетей X, Y и Z, которые связаны между собой двумя маршрутизаторами, назначенными в качестве серверов NHS для подсетей Х и Y. Эти маршрутизаторы поддерживают стандартные протоколы маршрутизации, например OSPF, и связаны друг с другом постоянным виртуальным соединением. Предположим, что отправителю (станция Х.1), расположенному в подсети Х и имеющему IP-адрес Х.1 и АТМ-адрес ААА, необходимо передать данные получателю (станция Z.3), расположенному в подсети Z и имеющему IP-адрес Z.3 и АТМ-адрес ВВВ. Процесс передачи данных можно разделить на пять шагов.
1. На первом шаге отправитель формирует пакет с данными и передает его через существующее виртуальное соединение своему маршрутизатору по умолчанию. При этом отправитель посылает маршрутизатору Х запрос NHRP, содержащий следующую информацию: {ААА, Х.1, Z.3}.

2. После получения запроса маршрутизатор Х проверит, обслуживает ли он станцию Z.3, то есть существует ли в его таблице запись для этой станции. Если маршрутизатор не обслуживает эту станцию, на втором шаге он перешлет полученный запрос соседнему маршрутизатору Z.
3. На третьем шаге маршрутизатор Z получит запрос и определит, что он обслуживает указанный в запросе IP-адрес, то есть в его таблице есть запись с АТМ-адресом (ВВВ) получателя. После этого маршрутизатор Z сформирует ответ NHRP и возвратит его отправителю по тому же пути, по которому пришел запрос. В этом ответе будет содержаться искомый АТМ-адрес получателя. Необходимо отметить, что ответ может посылаться и напрямую отправителю запроса, если установка соответствующего виртуального соединения разрешена административно. Посылка ответа напрямую позволяет значительно сократить время реакции на запрос, но в этом случае промежуточные сервера не смогут кэшировать информацию, содержащуюся в ответе.
4. Если ответ от маршрутизатора Z будет передаваться по пути прохождения запроса, то на четвертом шаге в таблице маршрутизатора Х появится запись {Z.3, ВВВ}. Впоследствии эта информация может использоваться для формирования так называемого неавторизованного (кэшированного) ответа NHRP для других станций, расположенных в подсети X, которым может потребоваться взаимодействие с Z.3. Отметим, что авторизованный ответ формируется только серверами, обслуживающими соответствующих клиентов. В свою очередь, клиенты также могут формировать авторизованный запрос, на который будет отвечать только обслуживающий их сервер. Если клиенты формируют неавторизованный запрос, то ответить может любой сервер, который способен найти в своей таблице соответствующий АТМ-адрес по указанному IP-адресу.
5. Наконец, на пятом шаге отправитель запроса (станция X.I) получит ответ и выполнит два действия: запомнит полученную информацию и установит коммутируемое виртуальное соединение напрямую со станциейZ.3 через сеть ATM для последующей передачи данных.
В табл. 16.3 перечислены некоторые наиболее важные типы сообщений протокола NHRP. Следует отметить, что все сообщения состоят из двух частей: фиксированной и расширенной. Расширенная часть содержит список полей, которые используются для передачи дополнительной служебной информации (табл. 16.4). Это позволяет протоколу NHRP адаптироваться к работе с различными протоколами и конфигурациями. Более детальную информацию о формате сообщений можно найти в спецификации протокола NHRP.
Таблица 16.3. Типы сообщений протокола NHRP
Тип сообщения
| Описание
| NHRP Next Hop Resolution Request (Запрос на разрешение адреса)
| Посылается от клиента к серверу для определения АТМ-адреса по известному IP-адресу. В запросе указываются: тип устройства, посылающего запрос (конечная станция или маршрутизатор), авторизованный или неавторизованный это запрос, IP- и АТМ-адреса клиента и искомый АТМ-адрес
| NHRP Next Hop Resolution Reply (Ответ на предыдущее сообщение)
| Посылается сервером в ответ на предыдущий запрос. Содержит IP- и АТМ-адреса отправителя и найденные адреса получателя. Также содержит указатель авторизации ответа (авторизованный/неавторизованный)
| NHRP Registration Request (Запрос на регистрацию)
| Посылается от клиента к серверу (по его IP-адресу) при регистрации. Содержит IP- и АТМ-адреса клиента
| NHRP Registration Reply (Ответ на предыдущее сообщение)
| Посылается сервером клиенту в ответ на предыдущий запрос. Указывает на успешную или неуспешную регистрацию
| NHRP Error Indication (Информирование об ошибке)
| Используется для информирования об ошибке отправителя сообщения NHRP. Содержит поле, указывающее на код ошибки
|
Таблица 16.4. Список некоторых расширении
Расширенная часть
| Описание
| End of Extensions (Конец расширений)
| Указывает на завершение списка расширений
| NBMA ID Subnetwork (Идентификатор подсети NBMA)
| Уникальный идентификатор, который используется для гарантии того, что сообщение не покинет данную сеть NBMA
| NHRP QoS Extension (Расширение для параметров QoS)
| В запросе NHRP используется для указания желаемого качества обслуживания
| NHRP Authentication (Параметры аутентификации)
| Содержит информацию об аутентификации (например пароль)
|
Следует помнить, что протокол NHRP не является протоколом маршрутизации. Он не обменивается маршрутной информацией с соседними устройствами, как это делают протоколы RIP или OSPF, и не определяет маршрут от отправителя к получателю. Его основная цель состоит в разрешении адресов для сети, состоящей из множества логических подсетей, хотя он может работать совместно с любым протоколом маршрутизации, относящимся к классу IGP или EGP.
Существует несколько важных вопросов, которые необходимо рассмотреть при внедрении поддержки протокола NHRP.
Во-первых, клиенты протокола NHRP могут работать на любом подключенном к сети ATM устройстве, включая маршрутизаторы, граничные коммутаторы и т. д. Поддержка клиентской части протокола NHRP на граничных коммутаторах позволяет им после определения АТМ-адресов устанавливать друг с другом прямое виртуальное соединение через сеть ATM (рис. 16.12).

Во-вторых, сообщения протокола NHRP должны проходить через ряд устройств, поддерживающих протокол NHRP. Иными словами, запрос протокола NHRP, например, должен проходить через один или несколько соседних серверов NHS. Если этого не происходит, будет использоваться маршрутизирующий путь по умолчанию, а прямое виртуальное соединение устанавливаться не будет.
И наконец, протокол NHRP может предоставить ближайший следующий или последний переход к устройствам, подключенным к граничному маршрутизатору и находящимся за пределами сети ATM. Кроме того, протокол предоставляет обобщенную адресную информацию для подсетей IP, сформированных вне сети ATM. В результате неавторизованные запросы от клиентов, расположенных в этих подсетях, могут быть обработаны достаточно быстро.
Проиллюстрируем это на примере простой сети (рис. 16.13). Запрос протокола NHRP, содержащий IP-адрес станции R.1, передается через сеть ATM до тех пор, пока он не достигнет сервера NHS (обозначим его R), реализованного на граничном маршрутизаторе. Предположим, что данный маршрутизатор имеет два порта: один для подключения к сети ATM с адресом ССС, второй для подключения к локальной сети (например Ethernet). В этой локальной сети сформирована IP-подсеть R.

Ответ протокола NHRP, сгенерированный граничным маршрутизатором R, будет содержать ближайший к станции R.I адрес ATM, то есть адрес самого маршрутизатора, и длину префикса получателя, которая равна числу бит в префиксе IP-адреса подсети R. Эта информация может кэшироваться другими серверами NHS на пути следования запроса, что позволит клиентам NHRP, ищущим устройства в подсети R, быстро получить неавторизованный ответ и установить прямое соединение по АТМ-адресу ССС.
Можно рассмотреть пример другой сети, в которой оба клиента NHRP и сервера NHS подключены к обычной локальной сети и являются граничными для сети ATM. Маршрутизатор I подключен к логической подсети Х и работает как входящий маршрутизатор, в то время как маршрутизатор Е подключен к логической подсети Y и является выходящим (рис. 16.14).

Станция Х.1 начинает посылать пакеты станции Y.3. Маршрутизатор I сформирует и пошлет запрос протокола NHRP, который будет передан через сеть ATM маршрутизатору Е. После того как маршрутизатор Е ответит, между ними может быть установлено виртуальное соединение, по которому будут передаваться данные между станциями X.I и Y.3.
Однако допустим, что существует еще один обходной путь (путь вне сети ATM) между подсетями Х и Y, и протокол маршрутизации «потерял» часть информации о маршруте (например, для протоколов класса IGP — метрику пути). Тогда могут возникнуть петли маршрутизации. Решением данной проблемы может стать закрытие пути, установленного с помощью протокола NHRP. Более детально возникновение петель и способы их устранения рассмотрены в документе RFC 1932.
Модель работы классического IP (RFC 1577) имеет очевидные ограничения. Виртуальные соединения (постоянные или коммутируемые) могут устанавливаться между членами одной логической группы — при этом не требуется маршрутизатор. Для взаимодействия клиентов, расположенных в различных логических подсетях, маршрутизатор необходим: даже если эти клиенты находятся в одной сети ATM, они не могут взаимодействовать напрямую, так как номера сети/подсети и маски подсети у них отличаются. Они логически удалены друг от друга и, следовательно, для их взаимодействия требуется маршрутизатор.
Как видно, решение об использовании маршрутизации или об установлении виртуального соединения принимается на основе IP-адресов устройств, и оно не всегда является верным. Некоторые виды трафика (например запросы к DNS) желательно передавать через маршрутизаторы, в то время как трафику, критичному к задержкам может потребоваться установление виртуального соединения. Однако, как уже было упомянуто, требования приложений не принимаются во внимание при выборе пути трафика.
Выход заключается в расширении принципов работы IP. В новой модели вводится понятие группы логических адресов (Logical Address Group, LAG), которая представляет собой набор хостов и маршрутизаторов с одинаковым IP-префиксом. Маршрутизаторы внутри LAG-группы логически расположены на расстоянии одного перехода от хостов и объявляют о доступности LAG с метрикой 0 (то есть о доступности напрямую). Расширенная модель IP в настоящее время еще не является стандартом и находится в стадии рассмотрения.
|
|