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

Сетевой протокол извлекает из пакета содержимое его заголовка (заголовок сетевого уровня) и анализирует содержимое его полей. Проверяется его контрольная сумма и если пакет пришел поврежденным, то он отбрасывается. Выполняется проверка, не превышено ли время, которое пакет провел в составной сети допустимой величины (TTL). Если превысило – пакет отбрасывается. На этом этапе наращивается время жизни пакета, пересчитывается контрольная сумма.

На сетевом уровне выполняется важнейшая функция маршрутизатора – фильтрация траффика. Пакет сетевого уровня, находящийся в поле данных кадра для мостов или коммутаторов представляется неструктурированной двоичной последовательностью. Маршрутизаторы, ПО которых содержит модуль сетевого протокола (протокол TCP для TCP/IP) может производить анализ отдельных полей пакета. Маршрутизаторы оснащаются средствами пользовательского интерфейса, позволяющие администратору сети задавать правила фильтрации, например: запретить прохождение в корпоративную сеть всех пакетов, кроме поступающих из сетей (подсетей) филиалов этого же предприятия. Фильтрация в этом случае производится по сетевым адресам (IP-адресам сетевых интерфейсов) и все пакеты, IP-адреса узлов назначения которых не входят в разрешенный диапазон, отбрасываются. Если интенсивность поступления пакетов выше интенсивности с которой они обрабатываются, пакеты могут образовывать очередь. ПО маршрутизатора может реализовывать различные дисциплины обслуживания очередей пакетов: FIFO (First Input First Output); случайное раннее обслуживание, когда обслуживание идет по FIFO, но при достижении длинной очереди порогового значения, вновь поступающие пакеты отбрасываются (Random Early Detection, RED).

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

…требуется преобразовать этот адрес в локальный адрес той технологии, в сети которой содержится следующий маршрутизатор. Для этого сетевой протокол обращается к протоколу разрешения адресов – в стеке TCP/IP таким протоколом является протокол ARP (Address Resolution Protocol). Протоколы данного типа устанавливают соответствие между сетевыми и локальными адресами либо на основании таблиц, либо путем широковещательного опроса. Таблица строится отдельно для каждого сетевого интерфейса. Протоколы разрешения адресов занимают промежуточное положение между сетевым и канальным уровнем модели OSI. С сетевого уровня пакет локальный (физический) адрес физического порта следующего маршрутизатора (определен, например, протоколом ARP) и номер порта текущего маршрутизатора для дальнейшего продвижения кадра (в этом кадре (в поле данных) будет содержаться передаваемый пакет) передаются вниз канальному уровню. На основании переданного номера порта осуществляется коммутация с одним из интерфейсов маршрутизатора, средствами которого выполняется упаковка пакета в поле кадра соответствующего формата. В поле адреса назначения заголовка кадра как раз и помещается определенный (например, протоколом ARP) локальный адрес порта следующего маршрутизатора. После этого готовый кадр отправляется в сеть, непосредственно подключенную к порту текущего маршрутизатора.