Сетевой уровень отвечает за установление маршрута между отправителем и получателем, не располагает собственными средствами обнаружения и исправления ошибок передачи и используется для установления связи между компьютерными системами, не входящими в местный сегмент локальной сети. Поэтому протоколы этого уровня называют маршрутизируемыми.
Использование сетевого уровня при коммуникациях необязательно. Он необходим только в том случае, если компьютеры находятся в разных сегментах сети, разделенных маршрутизатором, или взаимодействующие приложения должны использовать возможности сетевого уровня.
Вместо маршрутизации может осуществляться коммутация.
Различают три метода коммутации при передаче данных: коммутацию каналов, коммутацию сообщений и коммутацию пакетов.
При использовании коммутации каналов устанавливается канал передачи данных между отправителем и получателем. Этот канал будет задействован в течение всего сеанса связи. При использовании этого метода возможны длительные задержки при выделении канала, связанные с отсутствием достаточной полосы пропускания, загруженностью коммутационного оборудования или занятостью получателя.
Коммутация сообщений позволяет передавать целое (неразбитое на части) сообщение по принципу “сохранить и передать дальше” (store-and-forward). Каждое промежуточное устройство принимает сообщение, локально его сохраняет и при освобождении канала связи, по которому это сообщение должно быть отправлено, отправляет его. Этот метод хорошо подходит для передачи сообщений электронной почты и организации электронного документооборота.
При использовании коммутации пакетов соединяются вместе преимущества двух предыдущих методов. Каждое большое сообщение разбивается на небольшие пакеты, каждый из которых последовательно отправляется получателю. При прохождении через объединенную сеть для каждого из пакетов определяется наилучший в этот момент времени путь. Получается, что части одного сообщения могут прийти к получателю в разное время и только после того, как все части будут собраны вместе, получатель сможет работать с полученными данными.
Каждый раз при определении дальнейшего пути для данных необходимо выбрать наилучший маршрут. Задача определения наилучшего пути называется маршрутизацией (routing). Эту задачу выполняют специальные устройства – маршрутизаторы (router). Задача маршрутизаторов– определение возможных путей передачи данных, поддержание маршрутной информации, выбор наилучших маршрутов. Маршрутизация может осуществляться статическим либо динамическим способом. При задании статической маршрутизации должны быть заданы все взаимосвязи между логическими сетями, которые остаются неизменными. Динамическая маршрутизация предполагает, что маршрутизатор может сам определять новые пути либо модифицировать информацию о старых. Динамическая маршрутизация использует специальные алгоритмы маршрутизации, наиболее распространенными из которых являются вектор дистанции (distance vector) и состояние канала (link state). В первом случае маршрутизатор использует информацию о структуре сети от соседних маршрутизаторов, из вторых рук. Во втором случае маршрутизатор оперирует информацией о собственных каналах связи и взаимодействует со специальным представительским маршрутизатором для построения полной карты сети.