Протоколы сетевого уровня.

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


Протоколы третьего уровня можно разбить на несколько групп.


1. В первую очередь при разговоре о сетевом уровне необходимо вспомнить маршрутизируемые протоколы (routed protocols), которые инкапсулируют пользовательскую информацию и данные в пакеты и отвечают за передачу их получателю. Примерами маршрутизируемых протоколов могут служить IP, IPX или Xerox Network System, AppleTalk, хотя в современных сетях используется в основном IP.

IP объединяет сегменты сети в единую сеть, обеспечивая доставку пакетов данных между любыми узлами сети через произвольное число промежуточных узлов. IP не гарантирует надёжной доставки пакета до адресата — пакеты могут прийти не в том порядке, в котором были отправлены, продублироваться, оказаться повреждёнными и быть уничтоженными или не прийти вовсе.

В современных сетях используются две версии протокола IP: IPv4 и IPv6. В протоколе IP четвертой версии каждому узлу сети ставится в соответствие IP-адрес длиной 32 бита. IPv6 использует для адресации 128 бит. IPv6 задумывался как преемник IPv4 еще в 90х годах, когда стало очевидным, что адресное пространство IPv4 рано или поздно закончится.


Адресация узлов будет более подробно рассмотрена в следующих лекциях.


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


По области применения выделяют протоколы:

- протокол внешнего шлюза (Exterior Gateway Protocol, EGP) используется для обмена маршрутной информацией между автономными системами. BGP (Border Gateway Protocol, протокол граничного шлюза) - наиболее распространенный протокол класса EGP и является маршрутно-векторным протоколом (path vector protocol) по алгоритму маршрутизации.

- Протокол внутреннего шлюза (Interior Gateway Protocol, IGP) используется для обмена маршрутной информацией внутри автономных систем.

В зависимости от алгоритма маршрутизации IGP делятся на два вида:

- дистанционно-векторные протоколы (distance vector routing protocols). Примерами таких протоколов в современных сетях могут служить RIPv2 (Routing Information Protocol, протокол маршрутной информации), EIGRP (Enhanced Interior Gateway Routing Protocol, усовершенствованный внутренний протокол маршрутизации шлюзов).

- протоколы состояния каналов связи (link state routing protocols). Примерами таких протоколов в современных сетях могут служить OSPF (Open Shortest Path First, основанный на алгоритме Дейкстры), IS-IS (Intermediate System to Intermediate System, Протокол маршрутизации промежуточных систем).

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

https://itempuniversity.com/pluginfile.php/8495/mod_lesson/page_contents/57/%D0%9F%D1%80%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%BB%D1%8B%20%D1%81%D0%B5%D1%82%D0%B5%D0%B2%D0%BE%D0%B3%D0%BE%20%D1%83%D1%80%D0%BE%D0%B2%D0%BD%D1%8F.docx.png

Рисунок 1. Классификация протоколов маршрутизации


3. На сетевом уровне могут работать и другие протоколы, например, IPsec или ICMP. Рассмотрим подробнее ICMP, понимание работы которого необходимо для понимания работы некоторых диагностических утилит и интерпретации полученных результатов.


ICMP (Internet Control Message Protocol, протокол межсетевых управляющих сообщений) был разработан для компенсации ненадежности протокола IP, используется для передачи сообщений об ошибках и других исключительных ситуациях, возникших при передаче данных.

Особенностью протокола является то, что его сообщения инкапсулируются в дейтаграммы IP перед переходом к более низкому уровню.


На основе ICMP работают две такие известные утилиты как ping и tracert/traceroute.


Ping посылает ICMP эхо-запрос на указанный интерфейс в сети и в ответ ожидает получения ICMP эхо-отклика. Таким образом, программа может проверить способность к подключению, измерить время отклика и вывести отчет на наличие проблем.

Некоторые хосты или сервера могут блокировать или не разрешать какой-либо запрос ping или ICMP для обеспечения безопасности, так что отсутствие ответа еще не говорит о наличии проблем с сетью или удаленным хостом.


Tracert/traceroute работает сложнее. Значение времени жизни (TTL, Time To Live) первого отправляемого пакета устанавливается равным 1. Когда протокол IP первого маршрутизатора принимает этот пакет, то он в соответствии со своим алгоритмом уменьшает TTL на единицу и получает 0. Маршрутизатор отбрасывает пакет с нулевым временем жизни и возвращает узлу-источнику ICMP-сообщение об ошибке истечения времени дейтаграммы.

Это сообщение содержит имя маршрутизатора и его IP-адрес. Когда это ICMP-сообщение прибывает к отправителю, тот по значению таймера узнает время оборота пакета, а также имя и IP-адрес промежуточного маршрутизатора. Затем посылается следующий IP-пакет, но теперь со значением TTL равным 2. Этот пакет уже доходит до второго маршрутизатора, но опять там «умирает», о чем аналогичным, же образом сообщается узлу отправителю. И так до тех пор, пока не достигнет конечного узла. На основании данных ответов строится трассировка.