Функции сетевого уровня

Протоколы, реализованные на Сетевом уровне, которые переносят пользовательские данные, включают:

  • Протокола Интернета версии 4 (IPv4)
  • Протокола Интернета версии 6 (IPv6)
  • Межсетевой обмен пакетов Novell (IPX)
  • AppleTalk
  • Сетевая Служба без Установки соединения (CLNS /DECNet)

Интенет-Протокол (IPv4 и IPv6) является наиболее широко используемым протоколом передачи данных Уровня 3, которому далее будет уделяться основное внимание. Обсуждение других протоколов будет только поверхностным.

Протокол IP - Пример Протокола Сетевого Уровня


Роль IPv4

Как показано на рисунке, в службы Сетевого уровня, реализованные в стеке протоколов TCP/IP, входит Протокол Интернета (IP) . Версия 4 IP (IPv4) является в настоящий момент наиболее широко используемой версией IP. Это единственный протокол Уровня 3, который используются, чтобы передавать пользовательские данные по Интернету, и он будет браться в качестве примера протоколов Сетевого уровня в этой и последующих статьях.

Версия 6 IP (IPv6) разрабатывается и реализуется в некоторых областях. IPv6 будет работать наряду с IPv4 и может заменить его в будущем. Службы, предоставляемые IP, так же как структура заголовка пакета и содержимое, определяются или протоколом IPv4, или протоколом IPv6. Эти службы и пакетная структура используются, чтобы инкапсулировать дейтаграммы UDP или сегменты TCP для их прохождения через объединенную сеть.

Характеристики каждого протокола отличаются. Понимание этих характеристик позволит Вам понимать работу служб, описанных соответствующим протоколом.

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

Основные характеристики IPv4:

  • Без установки соединения - Перед отправкой пакетов не устанавливается никаких сеансов.
  • Негарантированная доставка (ненадежный) - Не используется дополнительных издержек, чтобы гарантировать доставку пакетов.
  • Независимый от среды - Работает независимо от среды, переносящей данные.

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

Функции сетевого уровня:

Доставка данных между сетями

Функции маршрутизации

Выбор наилучшего пути в соответствии с критерием передачи данных.

Управление потоком данных для предотвращения перегрузок

Согласование разных технологий на межсетевом уровне

Фильтрация трафика

Гибкая адресация

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

- IP/IPv4/IPv6 (Internet Protocol ).

IPX (Internetwork Packet Exchange , протокол межсетевого обмена ).

CLNP (сетевой протокол без организации соединений).

IPsec (Internet Protocol Security ).

ICMP (Internet Control Message Protocol ).

RIP (Routing Information Protocol ).

OSPF (Open Shortest Path First ).

ARP (Address Resolution Protocol ).

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

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

Маршрутизаторы реализовывают функцию маршрутизации, на основании той информации, которая находится в таблице маршрутизации.

Таблицы и протоколы маршрутизации

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

При получении пакета маршрутизатор анализирует протокольный адрес на значения, например, IP-адрес в пакете протокола TCP/IP. Направление пересылки определяется на основании используемой метрики, т. е. с учетом информации о состоянии сети и количестве ретрансляций, необходимых для передачи пакета целевому узлу. Маршрутизаторы, работающие только с одним протоколом (например, с TCP/IP), поддерживают лишь одну базу данных адресов. Многопротокольный маршрутизатор имеет базу адресов для каждого поддерживаемого протокола (к примеру, базы данных для сетей TCP/IP и IPX/SPX).

Для взаимодействия между маршрутизаторами, находящимися в локальной системе обычно применяются два протокола: RIP и OSPF.

RIP протокол

Маршрутизаторы используют Routing Information Protocol (RIP) для определения минимального количества ретрансляций между ними и другими маршрутизаторами, после чего эта информация добавляется в таблицу каждого маршрутизатора. После этого сведения о количестве ретрансляций используются для нахождения наилучшего маршрута для пересылки пакета.

Протокол RIP относится к группе протоколов « дистанционно-векторной маршрутизации », который оперируетхопами (ретрансляционными "скачками") в качестве метрики маршрутизации . Протокол RIP использует следующую схему построения таблицы маршрутизации. Первоначально таблица маршрутизации каждого маршрутизатора включает в себя маршруты только для тех подсетей, что физически подсоединены к маршрутизатору. Используя протокол RIP, маршрутизатор периодически отправляет другим маршрутизаторам объявления, содержащие информацию о содержимом собственной таблицы маршрутизации. RIP использует для передачи объявлений широковещательные IP-пакеты. Каждый маршрутизатор рассылает подобные объявления периодически с интервалом в 30 секунд.

Достоинства:

- простота конфигурирования.

Недостатки:

Наличие жесткого ограничения на размер сети, протокол R I P может быть использован в сети, в которой не более чем 15 маршрутизаторами.

- Каждый RIP-маршрутизатор по умолчанию вещает в сеть свою полную таблицу маршрутизации раз в 30 секунд, довольно сильно нагружая низкоскоростные линии связи.

OSPF

Open Shortest Path First (OSPF) - протокол динамической маршрутизации , основанный на технологии отслеживания состояния канала и использующий для нахождения кратчайшего пути Алгоритм Дейкстры . OSPF относится к группе протоколов «протоколы по состоянию каналов».

Описание работы протокола

1. Маршрутизаторы обмениваются hello-пакетами через все интерфейсы, на которых активирован OSPF. Маршрутизаторы, разделяющие общий канал передачи данных, становятся соседями, когда они приходят к договоренности об определённых параметрах, указанных в их hello-пакетах.

2. На следующем этапе работы протокола маршрутизаторы будут пытаться перейти в состояние смежности с маршрутизаторами, находящимися с ним в пределах прямой связи (на расстоянии одного хопа). Переход в состояние смежности определяется типом маршрутизаторов, обменивающихся hello-пакетами, и типом сети, по которой передаются hello-пакеты. OSPF определяет несколько типов сетей и несколько типов маршрутизаторов. Пара маршрутизаторов, находящихся в состоянии смежности, синхронизирует между собой базу данных состояния каналов.

3. Каждый маршрутизатор посылает объявление о состоянии канала маршрутизаторам, с которыми он находится в состоянии смежности.

4. Каждый маршрутизатор, получивший объявление от смежного маршрутизатора, записывает передаваемую в нём информацию в базу данных состояния каналов маршрутизатора и рассылает копию объявления всем другим смежным с ним маршрутизатором.

5. Рассылая объявления через зону, все маршрутизаторы строят идентичную базу данных состояния каналов маршрутизатора.

6. Когда база данных построена, каждый маршрутизатор использует алгоритм Дейкстры для вычисления графа без петель, который будет описывать кратчайший путь к каждому известному пункту назначения с собой в качестве корня. Этот граф- дерево кратчайших путей.

7. Каждый маршрутизатор строит таблицу маршрутизации из своего дерева кратчайших путей.

Одним из основных его достоинств(по сравнению с RIP ) является то, что при его использовании маршрутизатор пересылает только ту часть таблицы маршрутизации, которая относится к его ближайшим каналам, такая посылка называется "сообщением маршрутизатора о состоянии каналов".

ARP (Address Resolution Protocol - протокол определения адреса) - протокол сетевого уровня, предназначенный для определения MAC-адреса по известному IP-адресу .

Принцип работы.

1. Узел, которому нужно выполнить отображение IP-адреса на локальный адрес, формирует ARP запрос, вкладывает его в кадр протокола канального уровня, указывая в нем известный IP-адрес, и рассылает запрос широковещательно.

2. Все узлы локальной сети получают ARP запрос и сравнивают указанный там IP-адрес с собственным.

3. В случае их совпадения узел формирует ARP-ответ, в котором указывает свой IP-адрес и свой локальный адрес и отправляет его уже направленно, так как в ARP запросе отправитель указывает свой локальный адрес.

Преобразование адресов выполняется путем поиска в таблице. Эта таблица, называемая ARP-таблицей, хранится в памяти и содержит строки для каждого узла сети. В двух столбцах содержатся IP- и Ethernet-адреса. Если требуется преобразовать IP-адрес в Ethernet-адрес, то ищется запись с соответствующим IP-адресом.

Таблица маршрутизации.

Методы построения таблицы маршрутизации.

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

Динамическая маршрутизация. Построение таблицы маршрутизации осуществляется посредством специальных протоколов маршрутизации. Участие администратора в этом процессе минимально и сводится к изначальной конфигурации маршрутизаторов.

Адрес сети назначения

Адрес порта след. маршрутизатора

Адрес выходного порта маршрутизатора

Расстояние

LAN 1

M 3(1)

GAN 1

M 1(1)

M 3(1)

LAN 2

M 4(1)

M 3(1)

GAN 2

M 3 (2)

0 V1

LAN3

M6(1)

M3(2)

0 V 2

Также в таблице маршрутизации присутствуют другие столбцы:

5 - столбец с маской.

6 - время жизни маршрута – это время по истечению, которого (если информация не обновлялась маршрутизаторами) он больше не действует.

7 - источник записи;

8 - состояние маршрута

Функции сетевого уровня:

Сети, входящие в состав объединенной сети, могут строиться на основе различных сетевых технологий. Каждая сетевая технология вполне достаточна для организации обмена информацией в рамках одной подсети, но не позволяет осуществлять взаимодействие компьютеров данной подсети с компьютерами подсетей, основанных на других технологиях. Это объясняется возможной несовместимостью протоколов и способов адресации, определенных различными технологиями. Поэтому для обеспечения функционирования объединенных сетей требуются средства, представляющие собой "надстройку" над канальным уровнем, позволяющую абстрагироваться от конкретных решений, заложенных в сетевых технологиях. В качестве такой надстройки выступают средства сетевого уровня модели OSI.

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

Итак, для успешного информационного обмена в объединенных сетях средства сетевого уровня должны решать следующие задачи:

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

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

Протокол IP

Протокол IP (Internet Protocol) входит в состав стека протоколов TCP/IP и является основным протоколом сетевого уровня, использующимся в Интернет и обеспечивающим единую схему логической адресации устройств в сети и маршрутизацию данных

Существует несколько версий протокола IP, отражающих изменение требований к функциям с развитием сети Интернет. В настоящее время в качестве стандарта используется версия 4, хотя постепенно внедряется версия 6. В данном разделе рассматриваются технологические решения стандартной версии 4.

Для выполнения своих функций протокол определяет свой собственный формат пакета. Основными информационными полями заголовка пакета являются:

  • IP-адреса отправителя и получателя – предназначены для идентификации отправителя и получателя (см. IP-адресация);
  • Время жизни пакета (Time To Live, TTL) - определяет время, которое IP-пакет может находиться в сети, и предназначено для предотвращения "захламления" сети "заблудившимися пакетами";
  • поля, предназначенные для фрагментации пакетов (см. IP-фрагментация);
  • поля, предназначенные для управления обработкой пакета (длина пакета и заголовка, контрольная сумма заголовка, тип обслуживания и т.д.).

С точки зрения протокола IP, сеть рассматривается как логическая совокупность взаимосвязанных объектов, каждый из которых представлен уникальным IP-адресом, называемых узлами (IP-узлами) или хостами (host). Ключевым здесь является слово "логическая", поскольку одно и тоже физическое устройство (компьютер, маршрутизатор и др.) может иметь несколько IP-адресов, т.е. соответствовать нескольким узлам логической сети. Обычно такая ситуация возникает, если физическое устройство имеет несколько устройств передачи данных (сетевых адаптеров или модемов), поскольку для каждого из них должен быть настроен как минимум один уникальный IP-адрес. Хотя нередко компьютеру (или другому устройству), имеющему один сетевой адаптер или модем, может быть присвоено несколько IP-адресов.

Если физическое устройство имеет несколько IP-адресов, то говорят, что оно имеет несколько интерфейсов, т.е. несколько "логических подключений" к сети.

IP-адресация

IP-адрес – это уникальный числовой адрес, однозначно идентифицирующий узел, группу узлов или сеть. IP-адрес имеет длину 4 байта и обычно записывается в виде четырех чисел (так называемых «октетов»), разделенных точками – W.X.Y.Z , каждое из которых может принимать значения в диапазоне от 0 до 255, например, 213.128.193.154.

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

Классы IP-адресов

Про классы и IP адресацию писали .
Существует 5 классов IP-адресов – A, B, C, D, E. Принадлежность IP-адреса к тому или иному классу определяется значением первого октета (W). Ниже показано соответствие значений первого октета и классов адресов.

IP-адреса первых трех классов предназначены для адресации отдельных узлов и отдельных сетей. Такие адреса состоят из двух частей – номера сети и номера узла. Такая схема аналогична схеме почтовых индексов – первые три цифры кодируют регион, а остальные – почтовое отделение внутри региона.

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


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

IP-адреса разных классов отличаются разрядностью номеров сети и узла, что определяет их возможный диапазон значений. Следующая таблица отображает основные характеристики IP-адресов классов A,B и C.

Например, IP-адрес 213.128.193.154 является адресом класса C, и принадлежит узлу с номером 154, расположенному в сети 213.128.193.0.

Схема адресации, определяемая классами A, B, и C, позволяет пересылать данные либо отдельному узлу, либо всем компьютерам отдельной сети (широковещательная рассылка). Однако существует сетевое программное обеспечение, которому требуется рассылать данные определенной группе узлов, необязательно входящих в одну сеть. Для того чтобы программы такого рода могли успешно функционировать, система адресации должна предусматривать так называемые групповые адреса. Для этих целей используются IP-адреса класса D.

Диапазон адресов класса E зарезервирован и в настоящее время не используется.

Двоичная форма записи IP-адресов

Наряду с традиционной десятичной формой записи IP-адресов, может использоваться и двоичная форма, отражающая непосредственно способ представления адреса в памяти компьютера. Поскольку IP-адрес имеет длину 4 байта, то в двоичной форме он представляется как 32-разрядное двоичное число (т.е. последовательность из 32 нулей и единиц). Например, адрес 213.128.193.154 в двоичной форме имеет вид 11010101 1000000 11000001 10011010. Используя двоичную форму записи IP-адреса, легко определить схемы классов IP адресов:

Особые IP-адреса

Протокол IP предполагает наличие адресов, которые трактуются особым образом. К ним относятся следующие:

1. Адреса, значение первого октета которых равно 127. Пакеты, направленные по такому адресу, реально не передаются в сеть, а обрабатываются программным обеспечением узла-отправителя. Таким образом, узел может направить данные самому себе. Этот подход очень удобен для тестирования сетевого программного обеспечения в условиях, когда нет возможности подключиться к сети.

2. Адрес 255.255.255.255. Пакет, в назначении которого стоит адрес 255.255.255.255, должен рассылаться всем узлам сети, в которой находится источник. Такой вид рассылки называется ограниченным широковещанием. В двоичной форме этот адрес имеет вид 11111111 11111111 11111111 11111111.

3. Адрес 0.0.0.0. Он используется в служебных целях и трактуется как адрес того узла, который сгенерировал пакет. Двоичное представление этого адреса 00000000 00000000 00000000 00000000

Дополнительно особым образом интерпретируются адреса:

Использование масок для IP-адресации

Схема разделения IP-адреса на номер сети и номер узла, основанная на понятии класса адреса, является достаточно грубой, поскольку предполагает всего 3 варианта (классы A, B и C) распределения разрядов адреса под соответствующие номера. Рассмотрим для примера следующую ситуацию. Допустим, что некоторая компания, подключающаяся к Интернет, располагает всего 10-ю компьютерами. Поскольку минимальными по возможному числу узлов являются сети класса C, то эта компания должна была бы получить от организации, занимающейся распределением IP-адресов, диапазон в 254 адреса (одну сеть класса C). Неудобство такого подхода очевидно: 244 адреса останутся неиспользованными, поскольку не могут быть распределены компьютерам других организаций, расположенных в других физических сетях. В случае же, если рассматриваемая организация имела бы 20 компьютеров, распределенных по двум физическим сетям, то ей должен был бы выделяться диапазон двух сетей класса C (по одному для каждой физической сети). При этом число "мертвых" адресов удвоится.

Для более гибкого определения границ между разрядами номеров сети и узла внутри IP-адреса используются так называемые маски подсети. Маска подсети – это 4-байтовое число специального вида, которое используется совместно с IP-адресом. "Специальный вид" маски подсети заключается в следующем: двоичные разряды маски, соответствующие разрядам IP-адреса, отведенным под номер сети, содержат единицы, а в разрядах, соответствующих разрядам номера узла – нули.

Маска подсети обязательно указывается при настройке программного модуля протокола IP на каждом компьютере вместе с IP-адресом

Использование в паре с IP -адресом маски подсети позволяет отказаться от применения классов адресов и сделать более гибкой всю систему IP-адресации. Так, например, маска 255.255.255.240 (11111111 11111111 11111111 11110000) позволяет разбить диапазон в 254 IP-адреса, относящихся к одной сети класса C, на 14 диапазонов, которые могут выделяться разным сетям.

Для стандартного деления IP-адресов на номер сети и номер узла, определенного классами A, B и C маски подсети имеют вид:

Распределение IP-адресов

Поскольку каждый узел сети Интернет должен обладать уникальным IP-адресом, то, безусловно, важной является задача координации распределения адресов отдельным сетям и узлам. Такую координирующую роль выполняет Интернет Корпорация по распределению адресов и имен (The Internet Corporation for Assigned Names and Numbers, ICANN).

Естественно, что ICANN не решает задач выделения IP-адресов конечным пользователям и организациям, а занимается распределением диапазонов адресов между крупными организациями-поставщиками услуг по доступу к Интернет (Internet Service Provider), которые, в свою очередь, могут взаимодействовать как с более мелкими поставщиками, так и с конечными пользователями. Так, например функции по распределению IP-адресов в Европе ICANN делегировал Координационному Центру RIPE (RIPE NCC, The RIPE Network Coordination Centre, RIPE - Reseaux IP Europeens). В свою очередь, этот центр делегирует часть своих функций региональным организациям. В частности, российских пользователей обслуживает Региональный сетевой информационный центр "RU-CENTER".

IP-маршрутизация

IP-Маршрутизация – процесс выбора пути для передачи пакета в сети. Под путем (маршрутом) понимается последовательность маршрутизаторов, через которые проходит пакет по пути к узлу-назначению. IP-маршрутизатор – это специальное устройство, предназначенное для объединения сетей и обеспечивающее определение пути прохождения пакетов в составной сети. Маршрутизатор должен иметь несколько IP-адресов с номерами сетей, соответствующими номерам объединяемых сетей.

В качестве IP-маршрутизатора может быть использован компьютер, системное программное обеспечение которого позволяет осуществлять IP-маршрутизацию. В частности, маршрутизатор можно организовать на базе компьютера под управлением любой из операционных систем семейства Microsoft Windows Server.


Маршрутизация осуществляется на узле-отправителе в момент отправки IP-пакета, а затем на IP-маршрутизаторах.

Принцип маршрутизации на узле отправителе выглядит достаточно просто. Когда требуется отправить пакет узлу с определенным IP-адресом, то узел-отправитель выделяет с помощью маски подсети из собственного IP-адреса и IP-адреса получателя номера сетей. Далее номера сетей сравниваются и если они совпадают, то пакет направляется непосредственно получателю, в противном случае – маршрутизатору, чей адрес указан в настройках протокола IP.

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

Выбор пути на маршрутизаторе осуществляется на основе информации, представленной в таблице маршрутизации . Таблица маршрутизации – это специальная таблица, сопоставляющая IP-адресам сетей адреса следующих маршрутизаторов, на которые следует отправлять пакеты с целью их доставки в эти сети. Обязательной записью в таблице маршрутизации является так называемый маршрут по умолчанию, содержащий информацию о том, как направлять пакеты в сети, адреса которых не присутствуют в таблице, поэтому нет необходимости описывать в таблице маршруты для всех сетей. Таблицы маршрутизации могут строиться «вручную» администратором или динамически, на основе обмена информацией, который осуществляют маршрутизаторы с помощью специальных протоколов.

IP-фрагментация

Как известно, для разных сетевых технологий значение MTU, определенное для кадров данных, может отличаться. Поэтому, при преобразовании кадров на маршрутизаторе может потребоваться разделение вложенных в них IP-пакетов на более мелкие пакеты.

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

Вспомогательные протоколы сетевого уровня стека TCP/IP

Главными функциями протокола IP является обеспечение единой схемы адресации, независимой от принципов адресации, определяемых сетевыми технологиями (адресацией канального уровня), а также передача данных по составной сети (маршрутизация и фрагментация пакетов). Однако для организации реального взаимодействия этого оказывается недостаточно - существует еще ряд проблем.

Первая проблема состоит в следующем. Для того, чтобы передать данные по сети, программное обеспечение протокола IP создает пакет и передает его средствам канального уровня. При этом средствам канального уровня для формирования кадра данных необходим адрес получателя, причем не логический IP-адрес, а MAC-адрес, который может быть правильно опознан сетевым адаптером принимающего компьютера. Однако спецификацией протокола IP не предусмотрен механизм, позволяющий определять соответствие между аппаратными и IP-адресами. Эту функцию выполняет вспомогательный протокол сетевого уровня ARP (Address Resolution Protocol), входящий в семейство протоколов TCP/IP.

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

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

Резюме

  • Сетевой уровень представляет собой функциональную надстройку над канальным уровнем, обеспечивающую возможность объединения сетей, базирующихся на разных сетевых технологиях;
  • главными функциями сетевого уровня являются: обеспечение единой системы адресации, независимой от способов адресаций, определяемых конкретной сетевой технологией, маршрутизация пакетов данных, передаваемых по сети, а также обеспечение сквозной передачи данных через составную сеть;
  • устройства, предназначенные для объединения сетей на сетевом уровне, называются маршрутизаторами;
  • основным протоколом сетевого уровня является протокол IP;
  • протокол IP определяет схему адресации узлов сети и обеспечивает маршрутизацию и фрагментацию пакетов;
  • IP-адрес – это 4-х байтовое число, однозначным образом идентифицирующее узел сети и состоящее из двух частей – номера сети и номера узла;
  • в зависимости от того, сколько разрядов внутри IP-адреса отводится под номера сети и узла, адреса делятся на классы;
  • для гибкого разделения IP-адреса на номера сети и узла может использоваться маска подсети – 4-х байтовое число специального вида;
  • при отправке IP-пакета каждый узел сети сравнивает номер сети получателя со своим собственным, и в случае, если эти номера совпадают, пакет направляется непосредственно получателю, а в противном случае – маршрутизатору;
  • маршрутизатор определяет путь, по которому должен быть передан пакет, с помощью таблицы маршрутизации;
  • для успешной передачи данных между сетями, построенными на базе различных технологий, IP-маршрутизаторы могут осуществлять фрагментацию пакетов в соответствии с ограничениями, устанавливаемыми сетевой технологией сети назначения;
  • для обеспечения реального взаимодействия совместно с протоколом IP используются вспомогательные п ротоколы сетевого уровня.

ТЕМА: Сетевой уровень передачи данных. Протоколы сетевого уровня.

Сетевой уровень (Network layer ) - уровень межсетевого взаимодействия (internetworking) (третий уровень модели OSI), служит для образования единой транспортной подсистемы, объединяющей несколько сетей. При этом сети могут использовать совершенно различные принципы передачи сообщений между конечными узлами и обладать произвольной структурой связи.

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

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

Номер фрагмента пакета, необходимый для успешного проведения операций сборки – разборки фрагментов при соединении сетей с разными максимальными размерами пакетов;

Время жизни пакета, указывающее, как долго он путешествует по интерсети, это время может использоваться для уничтожения «заблудившихся» пакетов;

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

Основными протоколами сетевого уровня являются сетевые протоколы (например, IP или IPX ) и протоколы маршрутизации (RIP , OSPF , BGP и др.).

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

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

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

На сетевом уровне так же происходит установление соответствия между IP – адресом и аппаратным адресом (МАС - адресом). Установление осуществляется протоколом разрешения адресов – ARP, который для этой цели просматривает ARP – таблицы. Если нужный адрес отсутствует, то выполняется широковещательный ARP – запрос.

Функции сетевого уровня.

В функции сетевого уровня входит решение следующих задач:

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

2. Выбор маршрута передачи пакетов, наилучшего по некоторому критерию.

3. Согласование разных протоколов канального уровня, использующихся в отдельных подсетях составной сети. Для перемещения данных в пределах подсетей сетевой уровень обращается к используемым в этих подсетях технологиям.

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

5.На сетевом уровне проверяется контрольная сумма, и если пакет пришел поврежденным, то он отбрасывается (сетевой уровень коррекцией ошибок не занимается). Так же проверяется время жизни пакета – не превышает ли оно допустимой величины (если превысило – то пакет отбрасывается).

Принципы маршрутизации.

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

Маршрут – это последовательность маршрутизаторов, которые должен пройти пакет от отправителя до пункта назначения. В сложных составных сетях почти всегда существуют несколько альтернативных маршрутов для передачи пакетов между двумя конечными узлами. Задачу выбора маршрута решают как конечные узлы – компьютеры так и промежуточные узлы – маршрутизаторы на основе таблиц маршрутизации. Маршрутизаторы обычно автоматически создают таблицы маршрутизации, обмениваясь служебной информацией; для конечных узлов таблицы маршрутизации часто создаются вручную администраторами и хранятся виде постоянных файлов на дисках. Маршрутизаторы имеют по несколько портов для подключения сетей, каждый порт маршрутизатора имеет свой собственный сетевой адрес и свой собственный локальный адрес . Если маршрутизатор имеет блок управления, то этот блок имеет свой собственный адрес, по которому к нему обращается центральная станция управления, находящаяся где - то в составной сети.

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

К протоколам маршрутизации относятся такие протоколы как RIP, OSPF, протокол BGP; протокол межсетевых управляющих сообщений ICMP.

Крупные сети разбиваются на автономные системы, автономные системы – это сети, присоединенные к магистрали, имеющие свое собственное административное управление и собственные протоколы маршрутизации.

Протоколы маршрутизации делятся на внешние и внутренние. Внешние протоколы (EGP,BGP) переносят маршрутную информацию между автономными системами, а внутренние (RIP, OSPF) применяются в пределах определенной автономной системы.

Протокол BGP позволяет распознавать наличие петель между автономными системами и исключить их из межсистемных маршрутов.

Протокол RIP(Routing Internet Protocol) является одним из наиболее ранних протоколов обмена маршрутной информации и до сих пор чрезвычайно распространен ввиду простоты маршрутизации. Протокол RIP имеет несколько версий, например, для протокола IP имеется версия RIPv1, которая не поддерживает масок и версия RIPv2, это протокол, который передает информацию о масках сетей. С помощью протокола RIP строится таблица маршрутизации. В первом столбце таблицы перечисляются номера сетей, входящих в интерсеть. В каждой строке следом за номером сети указывается сетевой адрес порта следующего маршрутизатора, на который нужно отправить пакет, чтобы тот передвигался по направлению к сети с данным номером по рациональному маршруту. В третьем столбце указывается номер выходного порта данного маршрутизатора. В четвертом столбце указывается расстояние до сети назначения.

Таблица 1. Таблица маршрутизации

В качестве расстояния до сети назначения стандарты протокола RIP допускают различные виды метрик: хопы, метрики, учитывающие пропускную способность, вносимые задержки и надежность сетей. Простейшая метрика – это количество хопов, т. е. количество промежуточных маршрутизаторов, которые нужно преодолеть пакету до сети назначения. Протокол RIP успешно работает в сравнительно небольших сетях, имеющих до 15 маршрутизаторов.

Протокол OSPF (Open Shortest Path Fist) был разработан для эффективной маршрутизации IP- пакетов в больших сетях со сложной топологией, включающей петли. Он основан на алгоритме состояния связей, который обладает высокой устойчивостью к изменениям топологии сети. При выборе маршрута OSPF – маршрутизаторы используют метрику, учитывающую пропускную способность составных сетей. Протокол OSPF учитывает биты качества обслуживания, для каждого типа качества строится отдельная таблица маршрутизации. Протокол OSPF обладает высокой вычислительной сложностью, поэтому чаще всего работает на мощных аппаратных маршрутизаторах.

В течение последних нескольких десятилетий размеры и количество сетей значительно выросли. В 80-х годах существовало множество типов сетей. И практически каждая из них была построена на своем типе оборудования и программного обеспечения, зачастую не совместимых между собой. Это приводило к значительным трудностям при попытке соединить несколько сетей (например, различный тип адресации делал эти попытки практически безнадежными).

Эта проблема была рассмотрена Всемирной организацией по стандартизации ( International Organization for Standardization , ISO ) и было принято решение разработать модель сети, которая могла бы помочь разработчикам и производителям сетевого оборудования и программного обеспечения действовать сообща. В результате в 1984 г. была создана модель OSI – модель взаимодействия открытых систем ( Open Systems Interconnected). Она состоит из семи уровней, на которые разделяется задача организации сетевого взаимодействия. Схематично они представлены в таблице 16.1 .

Таблица 16.1. Уровни модели OSI.
Номер уровня Название уровня Единица информации
Layer 7 Уровень приложений Данные (data)
Layer 6 Представительский уровень Данные (data)
Layer 5 Сессионный уровень Данные (data)
Layer 4 Транспортный уровень Сегмент (segment)
Layer 3 Сетевой уровень Пакет (packet)
Layer 2 Уровень передачи данных Фрейм (frame)
Layer 1 Физический уровень Бит (bit)

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

Рассмотрим процесс передачи информации между двумя компьютерами. Программное обеспечение формирует сообщение на уровне 7 (приложений), состоящее из заголовка и полезных данных. В заголовке содержится служебная информация , которая необходима уровню приложений адресата для обработки пересылаемой информации (например, это может быть информация о файле, который необходимо передать, или операции , которую нужно выполнить). После того, как сообщение было сформировано, уровень приложений направляет его "вниз" на представительский уровень ( layer 6). Полученное сообщение, состоящее из служебной информации уровня 7 и полезных данных, для уровня 6 представляется как одно целое (хотя уровень 6 может считывать служебную информацию уровня 7). Протокол представительского уровня выполняет необходимые действия на основании данных, полученных из заголовка уровня приложений, и добавляет заголовок своего уровня, в котором содержится информация для соответствующего (6-го) уровня адресата. Полученное в результате сообщение передается далее "вниз" сеансовому уровню, где также добавляется служебная информация . Дополненное сообщение передается на следующий транспортный уровень и т.д. на каждом последующем уровне (схематично это представлено на рис.16.1). При этом служебная информация может добавляться не только в начало сообщения, но и в конец (например, на 3-м уровне, рис.16.2). В итоге получается сообщение, содержащее служебную информацию всех семи уровней.


Рис. 16.1.



Рис. 16.2.

Процесс " обертывания " передаваемых данных служебной информацией называется инкапсуляцией ( encapsulation ).

Далее это сообщение передается через сеть в виде битов. Бит – это минимальная порция информации, которая может принимать значение 0 или 1 . Таким образом, все сообщение кодируется в виде набора нулей и единиц, например, 010110101 . В простейшем случае на физическом уровне для передачи формируется электрический сигнал , состоящий из серии электрических импульсов (0 - нет сигнала, 1 - есть сигнал). Именно эта единица принята для измерения скорости передачи информации. Современные сети обычно предоставляют каналы с производительностью в десятки и сотни Кбит/с и Мбит/с.

Получатель на физическом уровне получает сообщение в виде электрического сигнала (рис.16.3). Далее происходит процесс, обратный инкапсуляции,– декапсуляция ( decapsulation ). На каждом уровне происходит разбор служебной информации. После декапсуляции сообщения на первом уровне (считывания и обработки служебной информации 1-го уровня) это сообщение, содержащее служебную информацию второго уровня и данные в виде полезных данных и служебной информации вышестоящих уровней, передается на следующий уровень. На канальном (2-м) уровне снова происходит анализ системной информации и сообщение передается на следующий уровень. И так до тех пор, пока сообщение не дойдет до уровня приложений, где в виде конечных данных передается принимающему приложению.



Рис. 16.3.

В качестве примера можно привести обращение браузера к web-серверу. Приложение клиента – браузер – формирует запрос для получения web-страницы. Этот запрос передается приложением на уровень 7 и далее последовательно на каждый уровень модели OSI . Достигнув физического уровня, наш первоначальный запрос "обрастает" служебной информацией каждого уровня. После этого он передается по физической сети (кабелям) в виде электрических импульсов на сервер . На сервере происходит разбор соответствующей системной информации каждого уровня, в результате чего посланный запрос достигает приложения web-сервера . Там он обрабатывается, после чего клиенту отправляется ответ. Процесс отправки ответа аналогичен отправке запроса – за исключением того, что сообщение посылает сервер , а получает клиент.

Так как каждый уровень модели OSI стандартизирован, потребители могут использовать совместно оборудование и программное обеспечение различных производителей. В результате web- сервер под управлением операционной системы Sun Solaris может передать HTML-страницу пользователю MS Windows .

Разумеется, совместимость можно обеспечить лишь до некоторого уровня. Если одна машина передает данные в виде радиоволн, а другая в виде световых импульсов, то их взаимодействие без использования дополнительного оборудования невозможно. Поэтому было введено понятие сете-независимых и сете-зависимых уровней.

Три нижних уровня – физический, канальный и сетевой – являются сете-зависимыми. Например, смена Ethernet на ATM влечет за собой полную смену протокола физического и канального уровней.

Три верхних уровня – приложений, представительский и сессионный – ориентированы на прикладные задачи и практически не зависят от физической технологии построения сети. Так, переход от Token Ring на Ethernet не требует изменений в перечисленных уровнях.

Транспортный уровень является промежуточным между сете-зависимыми и сете-независимыми уровнями. Он скрывает все детали функционирования нижних уровней от верхних. Это позволяет разработчику приложений не задумываться о технических средствах реализации транспортировки сетевых сообщений.

Вместе с названием сообщение (message ) в стандартах ISO для обозначения единицы данных используют термин протокольный блок данных (Protocol Data Unit , PDU ). В разных протоколах применяются и другие названия, закрепленные стандартами, или просто традиционные. Например, в семействе протоколов TCP / IP протокол TCP разделяет поток данных на сегменты , протокол UDP работает с датаграммами (или дейтаграммами, от datagram ), сам протокол IP использует термин пакеты. Часто так же говорят о кадрах или фреймах.

Для более глубокого понимания принципов работы сети рассмотрим каждый уровень по отдельности.

Physical layer (layer 1)

Как видно из общей схемы расположения уровней в модели OSI, физический уровень ( Physical layer ) самый первый. Этот уровень описывает среду передачи данных. Стандартизируются физические устройства, отвечающие за передачу электрических сигналов (разъемы, кабели и т.д.) и правила формирования этих сигналов. Рассмотрим по порядку все составляющие этого уровня.

Большая часть сетей строится на кабельной структуре (хотя существуют сети, основанные на передаче информации с помощью, например, радиоволн). Сейчас существуют различные типы кабелей. Наиболее распространенные из них:

  • телефонный провод;
  • коаксиальный кабель ;
  • витая пара ;
  • оптоволокно .

Телефонный кабель начал использоваться для передачи данных со времен появления первых компьютеров. Главным преимуществом телефонных линий было наличие уже созданной и развитой инфраструктуры. С ее помощью можно передавать данные между компьютерами, находящимися на разных материках, так же легко, как и вести разговор людям, которые находятся за много тысяч километров друг от друга. На сегодняшний день использование телефонных линий также остается популярным. Пользователи, которых устраивает небольшая скорость передачи данных, могут получить доступ к интернету со своих домашних компьютеров. Основными недостатками использования телефонного кабеля является небольшая скорость передачи , т.к. соединение происходит не напрямую, а через телефонные станции. При этом требование к качеству передаваемого сигнала при передаче данных значительно выше, чем при передаче "голоса". А так как большинство аналоговых АТС не справляется с этой задачей (уровень "шума", или помех, и качество сигнала оставляет желать лучшего), то скорость передачи данных очень низкая. Хотя при подключении к современным цифровым АТС можно получить высокую и надежную скорость связи.

Коаксиальный кабель использовался в сетях еще несколько лет назад, но сегодня это большая редкость. Такой тип кабеля по строению практически идентичен обычному телевизионному коаксиальному кабелю – центральная медная жила отделена слоем изоляции от оплетки. Некоторые отличия есть в электрических характеристиках (в телевизионном кабеле используется кабель с волновым сопротивлением 75 Ом, в сетевом – 50 Ом).

Основными недостатками этого кабеля является низкая скорость передачи данных (до 10 Мбит/с), подверженность воздействиям внешних помех. Кроме того, подключение компьютеров в таких сетях происходит параллельно, а значит, максимальная возможная скорость пропускания делится на всех пользователей. Но, по сравнению с телефонным кабелем, коаксиал позволяет объединять близко расположенные компьютеры с намного лучшим качеством связи и более высокой скоростью передачи данных.

Витая пара (" twisted pair ") – наиболее распространенное средство для передачи данных между компьютерами. В данном типе кабеля используется медный попарно скрученный провод, что позволяет уменьшить количество помех и наводок, как при передаче сигнала по самому кабелю, так и при воздействии внешних помех.

Существует несколько категорий этого кабеля. Перечислим основные из них. Cat 3 – был стандартизирован в 1991 г., электрические характеристики позволяли поддерживать частоты передачи до 16 МГц, использовался для передачи данных и голоса. Более высокая категория – Cat 5, была специально разработана для поддержки высокоскоростных протоколов. Поэтому его электрические характеристики лежат в пределах до 100Мгц. На таком типе кабеля работают протоколы передачи данных 10, 100, 1000 Мбит/с. На сегодняшний день кабель Cat5 практически вытеснил Cat 3. Основное преимущество витой пары перед телефонными и коаксиальными кабелями – более высокая скорость передачи данных. Также использование Cat 5 в большинстве случаев позволяет, не меняя кабельную структуру, повысить производительность сети (переходом от 10 к 100 и от 100 к 1000 Мбит/с).

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