Функции сетевого уровня
Функции сетевого уровня:
Сети, входящие в состав объединенной сети, могут строиться на основе различных сетевых технологий. Каждая сетевая технология вполне достаточна для организации обмена информацией в рамках одной подсети, но не позволяет осуществлять взаимодействие компьютеров данной подсети с компьютерами подсетей, основанных на других технологиях. Это объясняется возможной несовместимостью протоколов и способов адресации, определенных различными технологиями. Поэтому для обеспечения функционирования объединенных сетей требуются средства, представляющие собой "надстройку" над канальным уровнем, позволяющую абстрагироваться от конкретных решений, заложенных в сетевых технологиях. В качестве такой надстройки выступают средства сетевого уровня модели OSI.
Очевидно, что устройства этого уровня, предназначенные для объединения сетей, должны быть устроены гораздо сложнее, чем устройства канального уровня. Во-вторых, эти устройства должны обеспечивать целенаправленную передачу данных между абонентами через подсети составной сети (то есть определять путь прохождения данных), чтобы не вызывать перегрузку составной сети. Процесс определения пути прохождения данных через подсети составной сети называется маршрутизацией, а устройства, объединяющие сети и решающие перечисленные задачи, получили название маршрутизаторов.
Фильм "Закомство с сетевым уровнем" (3:48)
Итак, для успешного информационного обмена в объединенных сетях средства сетевого уровня должны решать следующие задачи:
-
обеспечивать единую систему адресации, не зависящую от сетевой технологии, позволяющую адресовать отдельные сети и узлы;
-
определять путь (последовательность сетей), по которому должны пройти данные, чтобы достичь получателя;
-
обеспечивать сквозную передачу данных через сети с разной технологией.
В настоящее время существуют различные протоколы сетевого уровня. Основным протоколом, использующимся в Интернет, является протокол IP.
Протокол IP
Протокол IP (Internet Protocol) входит в состав стека протоколов TCP/IP и является основным протоколом сетевого уровня, использующимся в Интернет и обеспечивающим единую схему логической адресации устройств в сети и маршрутизацию данных
Фильм "Знакомство с протоколом IP" (1:56)
|
Существует несколько версий протокола IP, отражающих изменение требований к функциям с развитием сети Интернет. В настоящее время в качестве стандарта используется версия 4, хотя постепенно внедряется версия 6. В данном разделе рассматриваются технологические решения стандартной версии 4. |
Фильм "Основные принципы функционирования IP"
Для выполнения своих функций протокол определяет свой собственный формат пакета. Основными информационными полями заголовка пакета являются:
-
IP-адреса отправителя и получателя – предназначены для идентификации отправителя и получателя (см. 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-адресация" (5:48)
|
Для того, чтобы компьютер мог участвовать в сетевом взаимодействии с помощью протокола IP, ему должен быть обязательно присвоен уникальный IP-адрес. |
Классы IP-адресов
Существует 5 классов IP-адресов – A, B, C, D, E. Принадлежность IP-адреса к тому или иному классу определяется значением первого октета (W). Ниже показано соответствие значений первого октета и классов адресов.
Класс IP-адреса |
A |
B |
C |
D |
E |
Диапазон первого октета |
1-126 |
128-191 |
192-223 |
224-239 |
240-247 |
IP-адреса первых трех классов предназначены для адресации отдельных узлов и отдельных сетей. Такие адреса состоят из двух частей – номера сети и номера узла. Такая схема аналогична схеме почтовых индексов – первые три цифры кодируют регион, а остальные – почтовое отделение внутри региона.
Преимущества двухуровневой схемы очевидны: она позволяет, во-первых, адресовать целиком отдельные сети внутри составной сети, что необходимо для обеспечения маршрутизации, а во-вторых – присваивать узлам номера внутри одной сети независимо от других сетей. Естественно, что компьютеры, входящие в одну и ту же сеть должны иметь IP-адреса с одинаковым номером сети.
Объединенная сеть. Номера узлов и номера сетей
|
В случае если два компьютера имеют IP-адреса с разными номерами сетей (даже если они принадлежат одной физической сети), то они не смогут общаться друг с другом напрямую: для их взаимодействия необходим маршрутизатор (см. раздел IP-маршрутизация). |
IP-адреса разных классов отличаются разрядностью номеров сети и узла, что определяет их возможный диапазон значений. Следующая таблица отображает основные характеристики IP-адресов классов A,B и C.
Характеристика |
Класс |
A |
B |
C |
Номер сети |
W |
W.X |
W.X.Y |
Номер узла |
X.Y.Z |
Y.Z |
Z |
Возможное количество сетей |
126 |
16 384 |
2 097 151 |
Возможное количество узлов |
16 777 214 |
65 534 |
254 |
|
Особые адреса |
Запись адреса сети в целом |
W.0.0.0 |
W.X.0.0 |
W.X.Y.0 |
Широковещательный адрес в сети |
W.255.255.255 |
W.X.255.255 |
W.X.Y.255 |
Например, 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-адресов классов A, B, C, D и E
Особые IP-адреса
Протокол IP предполагает наличие адресов, которые трактуются особым образом. К ним относятся следующие:
-
Адреса, значение первого октета которых равно 127. Пакеты, направленные по такому адресу, реально не передаются в сеть, а обрабатываются программным обеспечением узла-отправителя. Таким образом, узел может направить данные самому себе. Этот подход очень удобен для тестирования сетевого программного обеспечения в условиях, когда нет возможности подключиться к сети.
-
Адрес 255.255.255.255. Пакет, в назначении которого стоит адрес 255.255.255.255, должен рассылаться всем узлам сети, в которой находится источник. Такой вид рассылки называется ограниченным широковещанием. В двоичной форме этот адрес имеет вид 11111111 11111111 11111111 11111111.
-
Адрес 0.0.0.0. Он используется в служебных целях и трактуется как адрес того узла, который сгенерировал пакет. Двоичное представление этого адреса 00000000 00000000 00000000 00000000
Дополнительно особым образом интерпретируются адреса:
-
содержащие 0 во всех двоичных разрядах поля номера узла; такие IP-адреса используются для записи адресов сетей в целом;
-
содержащие 1 во всех двоичных разрядах поля номера узла; такие IP-адреса являются широковещательными адресами для сетей, номера которых определяются этими адресами.
Использование масок для 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 диапазонов, которые могут выделяться разным сетям.
Фильм "Маски подсети" (2:48)
Для стандартного деления IP-адресов на номер сети и номер узла, определенного классами A, B и C маски подсети имеют вид:
Класс |
Двоичная форма |
Десятичная форма |
A |
11111111 00000000 00000000 00000000 |
255.0.0.0 |
В |
11111111 11111111 00000000 00000000 |
255.255.0.0 |
С |
11111111 11111111 11111111 00000000 |
255.255.255.0 |
Распределение 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 2000 Server. |
Объединение сетей с помощью IP-маршрутизатора
Маршрутизация осуществляется на узле-отправителе в момент отправки IP-пакета, а затем на IP-маршрутизаторах.
Принцип маршрутизации на узле отправителе выглядит достаточно просто. Когда требуется отправить пакет узлу с определенным IP-адресом, то узел-отправитель выделяет с помощью маски подсети из собственного IP-адреса и IP-адреса получателя номера сетей. Далее номера сетей сравниваются и если они совпадают, то пакет направляется непосредственно получателю, в противном случае – маршрутизатору, чей адрес указан в настройках протокола IP.
|
Если на узле не настроен адрес маршрутизатора, то доставка данных получателю, расположенному в другой сети, окажется невозможной. |
Выбор пути на маршрутизаторе осуществляется на основе информации, представленной в таблице маршрутизации. Таблица маршрутизации – это специальная таблица, сопоставляющая IP-адресам сетей адреса следующих маршрутизаторов, на которые следует отправлять пакеты с целью их доставки в эти сети. Обязательной записью в таблице маршрутизации является так называемый маршрут по умолчанию, содержащий информацию о том, как направлять пакеты в сети, адреса которых не присутствуют в таблице, поэтому нет необходимости описывать в таблице маршруты для всех сетей. Таблицы маршрутизации могут строиться «вручную» администратором или динамически, на основе обмена информацией, который осуществляют маршрутизаторы с помощью специальных протоколов.
Фильм "IP-маршрутизация" (3:34)
IP-фрагментация
Как известно, для разных сетевых технологий значение MTU, определенное для кадров данных, может отличаться. Поэтому, при преобразовании кадров на маршрутизаторе может потребоваться разделение вложенных в них IP-пакетов на более мелкие пакеты.
Для разделения пакетов на фрагменты модуль IP, установленный на маршрутизаторе, создает на его основе некоторое число новых пакетов (в соответствии с длиной исходного пакета и значения MTU для сети, куда должны быть переданы данные). Для того, чтобы данные могли быть правильно собраны получателем, в заголовки новых IP-пакетов помещается специальный числовой идентификатор, позволяющий однозначно определить, что эти пакеты являются фрагментами одного большого пакета. Кроме того, в заголовках также указывается положения фрагментов в исходном пакете, что позволяет обеспечить правильный порядок сборки получателем.
Фильм "IP-фрагментация" (1:57)
Вспомогательные протоколы сетевого уровня стека 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 используются вспомогательные п ротоколы сетевого уровня.