1.2. Принципы объединения сетей на основе протоколов сетевого уровня
В стандартной модели взаимодействия открытых систем в функции сетевого уровня входит решение следующих задач:
передача пакетов между конечными узлами в составных сетях;
выбор маршрута передачи пакетов, наилучшего по некоторому критерию;
согласование разных протоколов канального уровня, использующихся в отдельных подсетях одной составной сети.
Протоколы сетевого уровня реализуются, как правило, в виде программных модулей и выполняются на конечных узлах-компьютерах, называемые хостами, а также на промежуточных узлах-маршрутизаторах, называемых шлюзами. Функции маршрутизаторов могут выполнять как специализированные устройства, так и универсальные компьютеры с соответствующим программным обеспечением.
1.2.1. Ограничения мостов и коммутаторов
Создание сложной, структурированной сети, интегрирующей различные базовые технологии, может осуществляться и средствами канального уровня: для этого могут быть использованы некоторые типы мостов и коммутаторов. Мост или коммутатор разделяет сеть на сегменты, локализуя трафик внутри сегмента, что делает линии связи разделенными преимущественно между станциями данного сегмента. Тем самым сеть распадается на отдельные подсети, из которых могут быть построены составные сети достаточно крупных размеров. Однако построение сложных сетей на основе повторителей, мостов и коммутаторов имеет существенные недостатки.
Во-первых, в типологии получившейся сети должны отсутствовать петли. Действительно, мост/коммутатор может решить задачу доставки пакета адресату только тогда, когда между отправителем и получателем существует единственный путь.
Во-вторых, логические сегменты сети, расположенные между мостами или коммутаторами, слабо изолированы друг от друга, а именно не защищены от так называемых широковещательных штормов. Если какая-либо станция посылает широковещательное сообщение, то это сообщение передается всем станциям всех логических сегментов сети.
В-третьих, в сетях, построенных на основе мостов и коммутаторов, достаточно сложно решается задача управления трафиком на основе значения данных, содержащихся в пакете. В таких сетях это возможно только с помощью пользовательских фильтров, для задания которых администратору приходится иметь дело с двоичным представлением содержимого пакетов.
Наличие серьезных ограничений у протоколов канального уровня показывает, что построение на основе средств этого уровня больших неоднородных сетей является весьма проблематичным. Естественное решение в этих случаях — это привлечение средств более высокого, сетевого уровня.
1.2.2. Понятие internetworking
Основная идея введения сетевого уровня состоит в следующем. Сеть в общем случае рассматривается как совокупность нескольких сетей и называется составной сетью или интерсетью. Сети, входящие в составную сеть, называются подсетями. Подсети соединяются между собой маршрутизаторами. Компонентами составной сети могут являться как локальные, так и глобальные сети.
Сетевой уровень выступает в качестве координатора, организующего работу всех подсетей, лежащих на пути продвижения пакета по составной сети. Для перемещения данных в пределах подсетей, сетевой уровень обращается к используемым в этих подсетях технологиям.
Хотя многие технологии локальных сетей используют одну и ту же систему адресации узлов на основе MAC-адресов, существует немало технологий, в которых применяются другие схемы адресации.
Естественным способом формирования сетевого адреса является уникальная нумерация всех подсетей составной сети и нумерация всех узлов в пределах каждой подсети. Таким образом, сетевой адрес представляет собой пару: номер сети и номер узла. [2, с. 346-349]
Кроме номера сети заголовок сетевого уровня должен содержать и другую информацию, необходимую для успешного перехода пакета из сети одного типа в сеть другого типа. К такой информации относиться, например: номер фрагмента пакета, время жизни пакета, качество услуги и т.д. Когда две и более сети организуют совместную транспортную службу, то такой режим взаимодействия обычно называют межсетевым взаимодействием (internetworking).
1. Уровень интерфейсов
На нижнем уровне маршрутизатор обеспечивает физические интерфейсы для подсоединения локальных и глобальных сетей. Каждый интерфейс (порт) для подключения локальной сети соответствует определенному протоколу канального уровня ( FDDI , Ethernet , Token Ring ). Интерфейс с глобальной сетью обычно определяет только некоторый стандарт физического уровня, над которым в маршрутизаторе могут работать различные протоколы канального уровня. Например, с интерфейсом V .35 могут работать протоколы: LAP — B ( X .25), LAP — F ( frame relay ), LAP — D ( ISDN ).
Кадры после обработки протоколами физического и канального уровней освобождаются от заголовков канального уровня. Пакеты, извлеченные из поля данных кадра, передаются сетевому протоколу.
2. Уровень сетевого протокола
Сетевой протокол анализирует содержимое полей заголовка пакета.
Рис.5..3.Функциональная модель маршрутизатора
Пакет отбрасывается, если у него неверная контрольная сумма (пакет поврежден) или превышено допустимое время пребывания пакета в сети (пакет устарел, либо является копией другого пакета).
Корректируется содержимое некоторых полей, например, наращивается время жизни пакета, корректируется контрольная сумма.
Одна из важнейших функций маршрутизатора – фильтрация трафика. Например, запрет прохождения пакетов из определенных подсетей (анализируются сетевые адреса) или сообщений определенных прикладных служб (анализируется поле типа протокола транспортного уровня).
Маршрутизатор может обрабатывать возникающие очереди пакетов в соответствии с различными дисциплинами обслуживания, например:
− «первым пришел – первым вышел» ( FIFO );
− случайное раннее обнаружение, когда работает принцип FIFO , по при превышении длины очереди некоторого порога, вновь поступающие пакеты отбрасываются.
На сетевом уровне выполняется основная функция маршрутизатора – определение маршрута пакета. По номеру сети (в строке таблицы маршрутизатора) определяется сетевой адрес следующего маршрутизатора и номер порта, на который нужно передать данный пакет, чтобы он двигался в правильном направлении. Если в таблице отсутствует запись о сети назначения пакета, и к тому же нет записи о маршрутизаторе по умолчанию, то данный пакет отбрасывается.
Перед тем, как передать сетевой адрес следующего маршрутизатора на канальный уровень, необходимо преобразовать его в локальный адрес той технологии, которая используется в сети, где содержится следующий маршрутизатор. Для этого сетевой протокол обращается к протоколу разрешения адресов ( Address Resolution Protocol – ARP ). Таблица соответствия локальных адресов сетевым адресам строится отдельно для каждого сетевого интерфейса. Вместо таблицы может использоваться способ рассылки широковещательных запросов.
С сетевого уровня вниз, канальному уровню передаются:
− локальный адрес следующего маршрутизатора;
− номер порта маршрутизатора.
Далее эта информация передается интерфейсу, определенному номером порта, и пакет упаковывается в кадр соответствующего формата. В поле адреса назначения заголовка кадра помещается локальный адрес следующего маршрутизатора. Готовый кадр передается физическому уровню.
3. Уровень протоколов маршрутизации
Сетевые протоколы активно используют в своей работе таблицу маршрутизации, но ни ее построением, ни поддержанием ее содержимого не занимаются. Эти функции выполняют протоколы маршрутизации. Протоколы маршрутизации реализуются маршрутизаторами. Маршрутизаторы могут выполнять и другую работу, например, фрагментирование пакетов.