Уровень сетевого протокола

УРОВЕНЬ ИНТЕРФЕЙСОВ

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

Обычно маршрутизатор имеет от четырех до нескольких десятков физических интерфейсов, называемых также портами, одна часть которых предназначена для подключения к локальным, а другая — к глобальным сетям. Каждый локальный порт работает по строго определенной технологии: например, Ethernet, TokenRing, FDDI. Для глобального порта чаще всего жестко определяется только некоторый стандарт физического уровня, поверх которого могут работать различные протоколы канального уровня в зависимости от того, как этот порт сконфигурирован. Так, глобальный порт с поддержкой протокола физического уровня V.35 обычно может быть настроен для работы по одному из следующих протоколов канального уровня: LAP-B (для сетей X.25), PPP (для сетей IP), LAP-F (для сетей framerelay), LAP-D (для сетей ISDN).

Такое отличие в реализации интерфейсов локальных и глобальных сетей объясняется тем, что каждая технология локальных сетей опирается, как правило, на свои собственные стандарты физического уровня. Правда, локальным портом не всегда поддерживаются все функции физического уровня. Так, технология Ethernet позволяет стандартным образом выделить функции приемопередатчика (трансивера) и реализовать их в отдельном внешнем устройстве. В этом случае на панели маршрутизатора вы можете увидеть разъемы AUI (AttachmentUnitInterface) или MII (MediaIndependentInter-face), при этом подключение к сети осуществляется через соответствующий внешний трансивер.

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

На Рисунке 1 показана функциональная модель маршрутизатора с четырьмя портами: порты Ethernet 10BaseT и 10Base2, порт TokenRing UTP и порт V.35 для подключения к глобальной сети. В зависимости от выбранного варианта конфигурации к порту V.35 могут быть подключены сети X.25, ISDN или framerelay с использованием протоколов LAP-B, LAP-D или LAP-F соответственно.

Каждый порт маршрутизатора — это конечный узел для той подсети, к которой он присоединен. Поэтому, как и всем другим конечным узлам, портам маршрутизатора назначаются один (или несколько) локальных (называемых также аппаратными) адресов и один (или несколько) сетевых адресов. Заметим, что слово «локальный» в данном контексте никак не связано с понятием «локальная сеть». Под локальным адресом понимается такой тип адреса, который средствами базовой технологии используется для доставки данных в пределах подсети, независимо от того локальная эта подсеть или глобальная. Так, локальным адресом порта маршрутизатора, к которому подключен сегмент Ethernet, является шестибайтовый МАС-адрес, например 12-B3-35-3B-A0-11, а если к порту подключена сеть Х.25, то — адрес Х.25, например 25083930785708. Если для перемещения кадра в пределах подсети используется локальный адрес, то для продвижения пакета по составной сети необходим сетевой адрес. В частности, протокол IP оперирует с сетевыми IP-адресами, которые состоят из 4 байт, например 109.26.17.100, и содержат номер сети и номер узла. Сетевые адреса должны быть уникальны в пределах всей составной сети. Иногда порты маршрутизатора вообще не имеют ни локальных, ни сетевых адресов. С такой ситуацией можно встретиться, когда порты двух соседних маршрутизаторов связаны по соединению типа «точка — точка».

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

УРОВЕНЬ СЕТЕВОГО ПРОТОКОЛА

Модуль сетевого протокола анализирует содержимое полей заголовка пакета. Прежде всего, он снова вычисляет контрольную сумму, но уже не для кадра, а для пакета или части пакета: в частности, в случае пакета IP вычисляется контрольная сумма заголовка. Если пакет пришел поврежденным, то он отбрасывается. Далее проверяется, не слишком ли долго пакет находился в сети (определяется время жизни пакета). Если норма превышена, то пакет также отбрасывается. На этом этапе вносятся корректировки в содержимое некоторых полей: например, уменьшается время жизни пакета, пересчитывается контрольная сумма.

К сетевому уровню относится одна из важнейших функций маршрутизатора — фильтрация трафика. Обладая более высоким интеллектом, нежели мосты и коммутаторы, маршрутизатор позволяет задавать и может отрабатывать значительно более сложные правила фильтрации. Для мостов и коммутаторов пакет сетевого уровня, находящийся в поле данных кадра, выглядит как неструктурированная двоичная последовательность. Маршрутизаторы же, программное обеспечение которых содержит модуль сетевого протокола, способны производить разбор и анализ отдельных полей пакета. Они оснащаются развитыми средствами пользовательского интерфейса, с помощью которых администратор может без особых усилий задавать сложные правила фильтрации: например, в корпоративную сеть могут не допускаться все пакеты, кроме тех, которые поступают из подсетей этого же предприятия. Фильтрация в данном случае производится по сетевым адресам отправителя, и все пакеты, адреса которых не входят в разрешенный диапазон, отбрасываются. Маршрутизаторы, как правило, в состоянии анализировать и заголовки транспортного уровня, поэтому фильтры могут не пропускать в сеть пакеты определенных прикладных сервисов, например сервиса telnet или ftp, задействующих конкретные программные порты, значения которых и используются при составлении правил фильтрации.

В случае, если интенсивность поступления пакетов превышает скорость, с которой они обрабатываются маршрутизатором, пакеты помещаются в очередь. Программное обеспечение маршрутизатора может реализовать различные дисциплины обслуживания очередей: в порядке поступления по принципу «первый пришел — первым обслужен» (FirstInputFirstOutput, FIFO); со случайным ранним обнаружением перегрузки, когда обслуживание идет по правилу FIFO, но при достижении длины очереди некоторого порогового значения вновь поступающие пакеты отбрасываются (RandomEarlyDetec-tion, RED), а также с применением различных вариантов приоритетного и взвешенного обслуживания. За счет этого при перегрузках соблюдаются некоторые гарантии качества обслуживания: в частности, на время задержки пакетов или на пропускную способность для определенного потока пакетов, при этом первоочередное обслуживание осуществляется с использованием того же набора признаков, что и при фильтрации пакетов.

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

Чтобы пакет дошел до следующего маршрутизатора, он должен быть упакован в кадр той технологии, которую использует соответствующая подсеть. А значит, в поле адреса назначения заголовка кадра должен быть указан локальный адрес нужного маршрутизатора. Следовательно, сетевой адрес необходимо преобразовать в локальный адрес той технологии, которая используется в сети, где находится следующий маршрутизатор. Для этого сетевой протокол обращается с запросом к протоколу разрешения адресов. Соответствие между сетевыми и локальными адресами устанавливается либо на основании заранее составленных таблиц, либо путем рассылки широковещательных запросов по подсети. Таблица соответствия локальных адресов сетевым адресам строится отдельно для каждого сетевого интерфейса. Помимо локального адреса назначения требуется сгенерировать и другие поля заголовка — а именно, поле контрольной суммы; поле локального адреса отправителя, в качестве которого маршрутизатор вставляет локальный адрес своего порта; поле типа протокола сетевого уровня, который переносит кадр, а также другие поля (их конкретный набор зависит от технологии, лежащей в основе работы соответствующего порта).

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

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

Управляющие протоколы сетевого уровня | Курс \


Похожие статьи.

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