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

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

На сетевом уровне выполняется одна из важнейших функций маршрутизато­ра – фильтрация трафика. В отношении пакетов, пересылаемых другим портам, маршрутизато­ры более избирательны, чем концентраторы, мосты и коммутаторы. Работая на границах ЛВС, они не передают широ­ковещательные со­общения, за исключением некоторых специальных случаев. Маршру­тизатор осуществляет передачу пакетов, руководствуясь не аппарат­ным адресом в заголовке канального уровня, а адресом оконечной целевой системы в заголовке протокола сетевого уровня. Инфор­ма­ция о смежных с маршрутизатором сетях содержится в его внутрен­ней таблице маршрутиза­ции (routing table). По этой таблице маршру­тизатор определяет, куда направить очередной па­кет. Если пакет предназначен для системы в одной из сетей, к которым подключен маршрути­затор, он передает пакет непосредственно этой системе. Если пакет предназначен системе в уда­ленной сети, маршрутизатор через одну из смежных сетей передает пакет другому маршрутиза­тору.

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

В случае, если интенсивность поступления пакетов выше интенсивности их обра­ботки, пакеты мо­гут образовать очередь. Программное обеспечение маршрутиза­тора может реализовывать различ­ные дисциплины обслуживания очередей па­кетов: в порядке поступления по принципу «первый пришел – первым обслужен» (First Input First Output, FIFO), дисциплину случайного раннего об­наружения (Random Early Detection, RED), когда обслуживание идет по прави­лу FIFO, но при достижении длиной очереди некоторого порогового значения вновь поступающие пакеты отбрасываются, а также различные варианты при­оритетного обслуживания.

К сетевому уровню относится основная функция маршрутизатора – определе­ние маршрута пакета. Кадр MAC, содержа­щий пакет данных от станции A и предназначенный для станции B, логический адрес которой известен станции A, посылается маршрутизатору (станция A должна знать адрес MAC этого маршрутизатора). Маршрутизатор анализирует заголовок пакета и по номеру сети, извлеченному из заголовка пакета, мо­дуль сетевого протокола находит в таблице маршрутизации строку, содержащую сетевой адрес следующего маршрутизатора, и номер порта, на который нужно передать данный пакет, чтобы он двигался в правильном направлении. Если в таблице отсутствуют записи о сети назначения пакета и о маршрутизаторе по умолчанию, то данный пакет отбрасывается.

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

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

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

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

 

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

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