На главную Назад
Добро пожаловать, уважаемый посетитель!

Использование единого сетевого протокола в маршрутизаторах

Сетевой уровень в вычислительных сетях служит для образования единой транспортной системы, объединяющей несколько сетей с различными принципами передачи информации между конечными узлами.

Мосты и коммутаторы, описанные в предыдущих разделах, представляют собой хорошее средство для построения структурированных сетей, но их возможности ограничиваются в основном соединением фрагментов сетей одной или близких технологий. Соединение таких разнородных сетей, как X.25 и Ethernet становится неразрешимой задачей для моста из-за самого принципа его работы, так как для передачи пакетов через сеть X.25 ему необходимо выполнить ряд несвойственных для прозрачного моста операций, например, операцию преобразования пакетов Ethernet с максимальным размером поля данных в 1500 байтов в 128-байтовые пакеты X.25.

Основная идея введения сетевого уровня состоит в том, чтобы оставить технологии, используемые в объединяемых сетях в неизменном в виде, но добавить в кадры всех сетей дополнительную информацию - заголовок сетевого уровня, который позволил бы находить на основании этой информации адресата в сети любого типа. Заголовок пакета сетевого уровня имеет унифицированный формат, не зависящий от форматов кадров канального уровня тех сетей, которые могут входить в интерсеть.

Если проводить аналогию между взаимодействием разнородных сетей и общением людей, говорящих на разных языках, то сетевая информация - это общепринятый индекс страны, добавленный к письму, адрес назначения которого написан на одном из сотни языков земного шара, например, на суахили. И даже если это письмо должно пройти через множество стран, почтовые работники которых не знают суахили, понятный им индекс страны-адресата подскажет, через какие промежуточные страны лучше передать письмо, чтобы оно кратчайшим путем попало в Индию. А уже там работники местных почтовых отделений смогут прочитать точный адрес, указывающий город, улицу, дом и индивидуума и доставить письмо адресату, так как адрес написан на языке и в форме, принятой в данной стране.

Основным полем заголовка сетевого уровня является номер сети-адресата. В рассмотренных нами ранее протоколах локальных сетей такого поля в кадрах предусмотрено не было - предполагалось, что все узлы принадлежат одной сети. Явная нумерация сетей позволяет протоколам сетевого уровня составлять точную карту межсетевых связей и выбирать рациональные маршруты при любой их топологии, используя альтернативные маршруты, если они имеются, что не умеют делать мосты.

Прежде, чем приступить к рассмотрению межсетевого взаимодействия, уточним, что здесь понимается под термином "сеть". Этот термин может употребляться в широком смысле: "сеть - это совокупность связанных между собой компьютеров".

При определении стратегий межсетевого взаимодействия понятие "сеть" использовалось в более узком смысле: "сеть - это совокупность компьютеров, использующих для взаимодействия один и тот же стек протоколов".

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

Кроме номера сети, заголовок сетевого уровня должен содержать и другую информацию, необходимую для успешного перехода пакета из сети одного типа в сеть другого типа. К такой информации может относиться, например:

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

На рисунке 2.2 приведена гипотетическая интерсеть, иллюстрирующая идею использования сетевого протокола. Интерсеть состоит из 6 сетей, к каждой из которых присоединены ее узлы, которые в соответствии с терминологией ISO называются конечными системами - ES (End System). Терминология ISO здесь используется для удобства, так как сети разных типов используют различные термины для обозначения одних и тех же понятий, что вносит путаницу при рассмотрении механизма межсетевого взаимодействия с общих позиций. Внутренняя структура каждой сети не показана, так как она не имеет значения при рассмотрении сетевого протокола. Сети соединяются маршрутизаторами, которые ISO называет промежуточными системами - IS (Intermediate System). Каждая промежуточная система присоединена к нескольким сетям (по крайней мере к двум) и имеет в каждой такой сети локальный адрес, как и остальные конечные системы этой сети. Таким образом, каждый маршрутизатор имеет несколько локальных адресов, по числу сетей, подключенных к нему. Обычно каждый локальный адрес связан с соответствующим портом маршрутизатора. Промежуточная система должна поддерживать все протоколы, используемые в каждой из сетей, к которым она непосредственно присоединена.

Рис. 2.2. Гипотетическая интерсеть
IS N - промежуточная система/шлюз/маршрутизатор N; ESNn - конечная система/узел/хост n

Узел ES также обязан принимать участие в работе протокола сетевого уровня. Именно конечный узел формирует заголовок сетевого уровня с необходимой информацией, в том числе и адресом сети назначения, и вкладывает его в кадр протокола своей сети, который для локальных сетей является протоколом канального уровня, таким как Ethernet или Token Ring. В заголовке канального уровня конечный узел указывает локальный адрес маршрутизатора, подключенного к его сети, и отправляет ему кадр с вложенным пакетом сетевого уровня (если на канальном уровне протокольные блоки данных чаще называются кадрами, то на сетевом - пакетами).

Маршрутизатор, получив кадр, извлекает из него заголовок сетевого уровня и решает, каким маршрутом лучше отправить этот пакет далее, если сеть назначения не подключена к нему непосредственно. Принятие решения о маршруте для него равнозначно принятию решения о выборе следующего маршрутизатора. Когда выбор сделан маршрутизатор, упаковывает пакет в кадр сети, которая связывает его со следующим выбранным маршрутизатором, указывает в кадре локальный адрес этого маршрутизатора и отправляет кадр по сети. В конце концов пакет приходит в сеть назначения, где маршрутизатор направляет его в соответствии с локальным адресом узлу назначения.

Важным вопросом является схема адресации узлов в отдельных сетях. В принципе описанный подход не требует наличия уникальных адресов и единой схемы адресации для внутрисетевой доставки пакета. После того, как пакет доставлен в нужную сеть с помощью использования ее уникального номера, доставка в пределах этой сети осуществляется по ее правилам, и адрес узла внутри этой сети может быть традиционного для нее формата. Однако различия в форматах адресов узлов не очень удобны для реализации сетевого протокола, так как адрес узла назначения необходимо поместить в заголовок сетевого уровня - в заголовке канального уровня в случае пути, проходящего через несколько сетей, указывается локальный адрес маршрутизатора, который должен передать пакет в другую сеть. Поэтому в некоторых сетевых протоколах, например, IP, поле локального адреса в заголовке сетевого уровня имеет специальный формат, не зависящий от форматов локального адреса в составляющих сетях. Другие же сетевые протоколы, например, IPX, используют в качестве адреса узла в сетевом заголовке тот формат локального адреса, который принят в сети, содержащей этот адрес. Это ограничивает использование протокола IPX только такими сетями, адрес которых умещается в отведенные ему 6 байтов.

Маршрутизатор выбирает маршрут на основании его представления о текущей конфигурации сети и принятого критерия выбора маршрута. Обычно в качестве критерия выступает время прохождения маршрута, которое в локальных сетях совпадает с длинной маршрута, измеряемой в количестве пройденных узлов маршрутизации (в глобальных сетях это не так, там принимается в расчет и время передачи пакета по каждой линии связи).

В сложных составных сетях почти всегда существует несколько альтернативных маршрутов для передачи пакетов между двумя конечными узлами. Так, в нашем примере для передачи пакетов от узла ES 1.1 сети 1 узлу ES 5.1 сети 5 существует несколько альтернативных маршрутов, из которых наиболее очевидными представляются:

ES1.1 --> IS3 --> СЕТЬ 3 --> IS 6 --> СЕТЬ 5 --> ES5.1

ES1.1 --> IS4 --> СЕТЬ 6 --> IS 8 --> СЕТЬ 5 --> ES5.1

ES1.1 --> IS1 --> СЕТЬ 2 --> IS 2 --> СЕТЬ 4 --> IS 10 --> СЕТЬ 5 --> ES5.1,

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

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

  • Как конечный узел может узнать локальный адрес маршрутизатора или маршрутизаторов, присоединенных к его сети?
  • Как маршрутизатор может определить локальные адреса конечных узлов, присоединенных к его сетям?
  • Каким образом конечный узел может выбрать подходящий маршрутизатор в своей сети для отправки пакета через интерсеть, если таких маршрутизаторов несколько?
  • Каким образом маршрутизатор может узнать локальные адреса других маршрутизаторов, присоединенных к его сетям?
  • Каким образом маршрутизатор выбирает следующий маршрутизатор при выборе рационального маршрута пакета?

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

Протоколы сетевого уровня делятся на три класса. Протоколы первого класса так и называют протоколами сетевого уровня. Эти протоколы (например, IP, IPX, AppleTalk) переносят пользовательские данные вместе со служебным заголовком сетевого уровня, который включает информацию об адресе сети и узла, а также некоторую дополнительную информацию, описанную выше.

Протоколы второго класса называют протоколами маршрутизации, они выполняют служебные функции для маршрутизаторов - переносят в своих блоках данных информацию о топологии связей интерсети. С помощью этих протоколов маршрутизаторы составляют карту связей сети той или иной степени подробности и принимают решение о том, какому следующему маршрутизатору нужно передать пакет для образования рационального пути. Примерами таких протоколов являются протоколы IPX RIP, IP RIP, EGP, BGP, OSPF, IS-IS. Служебная информация протоколов маршрутизации, иногда называемых также протоколами обмена маршрутной информацией, хранится в поле данных пакета сетевого уровня и имеет еще и свой собственный служебный заголовок, поэтому с точки зрения вложенности пакетов протоколы маршрутизации следует отнести к более высокому уровню, чем сетевой. Но функционально они решают общую задачу с пакетами сетевого уровня - доставляют кадры отдельных сетей нужному адресату через разнородную составную сеть.

Протоколы третьего класса отвечают за отображение адреса узла, используемого на сетевом уровне, в локальный адрес сети. Очевидно, что они нужны только в случае, если сетевой протокол использует в своих заголовках адреса конечных узлов, отличные от локальных (например, так делает протокол IP). Если же на сетевом уровне используются локальные адреса, то надобность в протоколах этого класса отпадает. Такие протоколы часто называют протоколами разрешения адресов - Address Resolution Protocol, ARP. Иногда их относят не к сетевому уровню, а к канальному, хотя тонкости классификации не изменяют их сути.

Использование независимой от канального уровня схемы адресации узлов на сетевом уровне дает возможность протоколу сетевого уровня работать поверх практически любых протоколов канального уровня. Именно такая схема адресации является одной из причин большой гибкости протокола IP, что выгодно отличает его от протокола IPX. Протокол IPX использует в качестве адреса узла копию МАС-адреса, поэтому может работать только поверх протоколов канального уровня локальных сетей.

Поддержка маршрутизаторами различных базовых технологий

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

Для локальных сетей этот перечень определяется набором интерфейсов, поддерживаемых маршрутизатором. Для портов локальной сети понятие "интерфейс маршрутизатора" включает как физический, так и канальный протокол как неразрывное целое, описывающее базовую технологию. Обычно модульный маршрутизатор на основе шасси имеет в номенклатуре интерфейсных модулей модули для сетей Ethernet, Token Ring, FDDI, Fast Ethernet, 100VG-AnyLAN и ATM.

Для глобальных сетей перечень включает два списка - набор интерфейсов физического уровня для связи с аппаратурой передачи данных (модемами, устройствами CSU/DSU или терминальными адаптерами ISDN), а также набор протоколов канального и, может быть, сетевого уровня, необходимых для подключения к глобальным сетям с коммутацией каналов и пакетов (набор этих протоколов часто называется глобальным сервисом). Для глобальных сетей интерфейс не связан жестко с базовой технологией, так как один и тот же протокол физического уровня, например, RS-232, может использоваться с различной аппаратурой передачи данных и различными протоколами канального и сетевого уровня.

Обычно в современных маршрутизаторах для организации глобальных связей поддерживаются интерфейсы последовательных линий (serial lines) RS-232, RS-449/422, V.35 (для передачи данных со скоростями до 2 - 6 Мб/с), высокоскоростной интерфейс HSSI, обеспечивающий скорость до 52 Мб/с, а также интерфейс G.703 для непосредственной связи с цифровыми глобальными каналами T1/E1, T3/E3 и интерфейсы BRI и PRI сетей ISDN. Наличие интерфейсов G.703 и BRI/PRI говорит о том, что маршрутизаторы включают аппаратуру передачи данных цифровых каналов T1/E1 или сетей ISDN соответственно.

В набор поддерживаемых глобальных сервисов обычно входят сервисы сетей X.25, frame relay, ISDN и коммутируемых аналоговых телефонных сетей, сетей ATM, а также поддержка протокола канального уровня PPP.

При реализации большого набора различных интерфейсов и протоколов базовых технологий маршрутизаторы могут объединять сети с самыми разнообразными транспортными протоколами, как это показано на рисунке 2.3. Единственным требованием при этом остается наличие общего сетевого протокола во всех взаимодействующих узлах согласуемых сетей.

Рис. 2.3. Упрощенная схема использования маршрутизаторов различных типов

Предыдущая глава | Оглавление | Следующая глава


 

Рейтинг@Mail.ru