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

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

В случае, кода интенсивность поступления пакетов превышает скорость, с которой они обрабатываются маршрутизатором, пакеты помещаются в очередь. Программное обеспечение маршрутизатора различные дисциплины обслуживания очередей: в порядке поступления по принципу " первый пришел – первый обслужен" (FIFO); со случайным ранним обнаружением перегрузки, когда обслуживание идет по правилу FIFO, но при достижении длины очереди некоторого порогового значения вновь поступившие пакеты отбрасываются (Random Early Detection), а также с применением различных вариантов приоритетного и взвешенного обслуживания. За счет этого при перегрузках соблюдаются некоторые гарантия качества обслуживания: в частности, на время задержки пакетов или на пропускную способность для определенного потока пакетов, при этом первоочередное обслуживание осуществляется с использованием того же набора признаков, что и при фильтрации пакетов.

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

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

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

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

© Государственный университет телекоммуникаций им. проф. М. А. Бонч-Бруевича
2008 год.