Сетевой уровень
Введение, сервисы
- Сетевой уровень решает задачу доставки пакетов от отправителя до получателя.
- Сетевой уровень прокладывает маршрут на всём протяжении следования информации.
- Сетевой уровень должен обеспечить независимость предоставления своих сервисов от низлежащих технологий.
- Сетевой уровень обеспечивает распределение нагрузки на маршрутизаторы и линии связи.
Сетевой уровень оперирует пакетами. Наиболее известный протокол сетевого уровня — IP. На сетевом уровне работают маршрутизаторы.
Задачи, ставившиеся при разработке сервисов сетевого уровня:
- Сервисы сетевого уровня не должны зависеть от технологии маршрутизатора.
- Транспортный уровень должен быть независим от количества, типа и топологии присутствующих сетей с маршрутизаторами.
- Сетевые адреса, доступные транспортному уровню, должны использовать единую систему нумерации в локальных и глобальных сетях.
Возможны два типа сервисов:
- Маршрутизатор только перемещает пакет с места на место, подсеть изначально обладает ненадёжностью, и хосты должны сами учитывать ошибки и управлять потоком. Каждый пакет содержит адреса отправителя и получателя, в таблицах коммутации на маршрутизаторах указано, куда пересылать пакет в зависимости от получателя.
- Надёжный, ориентированный на соединение сервис, с обеспечением качества обслуживания. Предварительно устанавливается виртуальный канал, по которому в дальнейшем пойдут всё пакеты. Это позволяет сразу договориться о маршруте следования и о различных параметрах.
Принципиальные отличия представлены в таблице:
Ещё раз вкратце: сетевой уровень прежде всего должен прокладывать маршрут между узлами. Если на канальном уровне мы просто передавали пакет с одного конца провода на другой, то на сетевом мы уже хотим передавать данные по большой сети, то есть не факт, что напрямую. Помимо этого хорошо бы стараться равномерно распределять нагрузку на узлы. Ещё одна проблема для сетевого уровня состоит в том, что разные узлы могут находиться в разных сетях, с разными гарантиями от канального уровня. Есть два подхода: дейтаграмный и с установлением канала. В первом случае мы не тратим время на установку соединения, не боимся отказа узла. Во втором случае получаются поменьше пакеты, не нужно каждый раз думать, куда пересылать пакет, можно боговорить параметры передачи (для обеспечения QoS, например).
Роутинг на сетевом уровне
Определение: |
Сетевой уровень (англ. Network layer) - третий уровень в сетевой модели OSI, отвечающий за трансляцию логических адресов (IP) в физические (MAC), определения пути передачи данных, отслеживания неполадок и заторов в сети. |
На сетевом уровне работает такое сетевое устройство, как маршрутизатор.
Схемы доставки данных
- Unicast - доставить данные одному выбранному устройству
- Anycast - доставить данные одному устройству из некоторой выбранной группы
- Multicast - доставить данные выбранной группе устройств
- Geocast - доставить данные некоторому географическому региону
- Broadcast - доставить данные всем устройствам в сети
Unicast - это основная схема доставки данных в Интернете. Далее речь пойдет об алгоритмах доставки для схемы Unicast.
Алгоритмы роутинга
В общем случае с момента отправки и до момента получения проходит через множество роутеров. Происходит это потому, что отправитель и получатель не могут общаться напрямую из-за размеров сети.
В больших сетях топология постоянно изменяется, поэтому необходимо изменять стратегии доставки сообщений в зависимости от этих изменений, а также в зависимости от загруженности сети. Для решения этой задачи существуют алгоритмы маршрутизации, благодаря которым роутер понимает, какому устройству нужно отправить сообщение, чтобы добиться хороших результатов в его доставке.