Сетевой уровень

Материал из Викиконспекты
Версия от 16:20, 3 апреля 2015; Gromak (обсуждение | вклад) (Новая страница: «== Введение, сервисы == * Сетевой уровень решает задачу доставки пакетов от отправителя до ...»)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Введение, сервисы

  • Сетевой уровень решает задачу доставки пакетов от отправителя до получателя.
  • Сетевой уровень прокладывает маршрут на всём протяжении следования информации.
  • Сетевой уровень должен обеспечить независимость предоставления своих сервисов от низлежащих технологий.
  • Сетевой уровень обеспечивает распределение нагрузки на маршрутизаторы и линии связи.

Сетевой уровень оперирует пакетами. Наиболее известный протокол сетевого уровня — IP. На сетевом уровне работают маршрутизаторы.

Задачи, ставившиеся при разработке сервисов сетевого уровня:

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

Возможны два типа сервисов:

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

Принципиальные отличия представлены в таблице:

Networks 2.1 Comparison.png

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