Файл: Руководство по настройке изделий и управлению их работой ru. Нкбг. 3000903 91 Под.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 29.04.2024

Просмотров: 218

Скачиваний: 10

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Приложение А. Основы IP-адресации и маршрутизации 215
Рис. А.2 Структура сетевого ПО для обмена между приложениями согласно стеку протоколов TCP/IP
Интерфейсы используются следующим, более высоким уровнем сетевого ПО – уровнем IP (Internet Protocol).
Компоненты программного обеспечения уровня IP выполняют следующие функции:
1. Получают от лежащих выше уровней сетевого ПО (TCP, UDP и др.) блоки данных, подлежащие доставке на удаленную вычислительную систему.
2. К каждому блоку данных добавляют IP-заголовок, в котором указывается адрес получателя блока данных, адрес его отправителя и некоторая вспомогательная информация. Блок данных, снабженный IP-заголовком, называется IP-пакетом или IP-датаграммой.
3. Выполняют процедуру маршрутизации, в результате которой по адресу назначения каждого IP-пакета определяется интерфейс (один из многих возможных), ответственный за дальнейшую доставку данных.
При наличии подходящего интерфейса IP-пакет передается ему для передачи в канал связи.
4. Обрабатывают принятые всеми интерфейсами блоки данных, которые являются IP-пакетами, отправленными IP-уровнями сетевого ПО других вычислительных систем. Из каждого IP-пакета извлекаются данные и передаются лежащим выше уровням сетевого ПО (TCP, UDP и др.).
Самый верхний уровень сетевого ПО обеспечивает взаимодействие прикладного ПО с уровнем IP и, как следствие, с сетью передачи данных. В зависимости от потребностей прикладного ПО возможны два основных варианта взаимодействия компонентов.
1. Взаимодействие с помощью непрерывного дуплексного потока информации. При такой форме взаимодействия по команде прикладного ПО одной из сторон организуется виртуальный канал обмена прикладными данными, который может быть использован для непрерывной передачи любого объема информации между парой взаимодействующих приложений. Виртуальный канал обмена данными существует вплоть до его явной отмены по команде любой из взаимодействующих сторон.
В составе сетевого ПО указанный тип передачи прикладных данных организуется с помощью компонента
TCP (Transport Control Protocol). Компонент TCP выполняет следующие функции.
На передающем изделии:
 получает от прикладного ПО поток подлежащих передаче данных;
 выполняет разбиение этого потока на фрагменты (пакеты);
 снабжает каждый пакет TCP-заголовком и передает уровню IP для последующей доставки адресату;
На принимающем изделии:
 принимает от уровня IP все TCP-пакеты;
 по информации из их заголовков восстанавливает исходный поток прикладных данных и передает его соответствующему прикладному ПО;
 контролирует целостность принятого потока информации и, в случае потери сетью отдельных фрагментов этого потока, запрашивает повторную отправку утерянных данных передающей стороной.
2. Взаимодействие с помощью периодически отправляемых небольших порций информации – IP-датаграмм.
Осуществляемая периодически нерегулярная передача IP-датаграмм не требует наличия постоянного виртуального канала обмена информацией, ее организация существенно проще, чем обеспечиваемая компонентом TCP процедура информационного обмена. Для поддержки датаграммой формы взаимодействия прикладного ПО в составе сетевого ПО имеется компонент UDP (User Datagram Protocol), выполняющий следующие функции.


216
Приложение А. Основы IP-адресации и маршрутизации
На передающем изделии:
 получение от прикладного ПО блоков подлежащей передаче информации;
 снабжение каждого блока UDP-заголовком и передача UDP-датаграмм уровню IP для последующей доставки адресату;
На принимающем изделии:
 прием от уровня IP всех UDP-датаграмм;
 извлечение из них блоков прикладной информации и передача их для обработки соответствующему прикладному ПО – приложению.
Адресация в IP-сети
Одной из основных задач, возникающих при организации сети передачи данных, является задача выбора
системы адресации объектов сети. Как следует из приведенной выше структуры сетевого ПО, в сети, функционирующей согласно системным требованиям internet/intranet-технологии, существуют два класса адресуемых объектов сети и, соответственно, два класса адресов.
1. Адреса точек доступа вычислительных систем к сети. Ближайшим к сети компонентом сетевого ПО являются сетевые интерфейсы, поэтому вся вычислительная система доступна (видна из сети) по ее адресам сетевых интерфейсов.
2. Идентификаторы компонентов прикладного ПО, работающих на каждой вычислительной системе.
На одной вычислительной системе могут одновременно работать несколько прикладных задач, поэтому одного адреса интерфейса вычислительной системы недостаточно. Вместе с адресом интерфейса необходимо указывать идентификатор конкретной задачи.
Архитекторы internet/intranet-технологии решили проблему адресации объектов сети весьма просто.
Все объекты сети нумеруются, и для указания требуемого объекта просто используется его порядковый номер.
В сети, функционирующей согласно системным требованиям internet/intranet-технологии, предусмотрены два типа адресов.
1. IP-адрес точки доступа вычислительной системы к сети. Он задается 32-разрядным (4 байта) двоичным числом, означающим порядковый номер данного интерфейса данной вычислительной системы в сети.
Естественно, организационными мерами должна быть обеспечена уникальность IP-адресов во всей сети.
При указании IP-адресов обычно пользуются их точечно-десятичной (dotted-decimal) записью: 32-разрядное двоичное число в заголовке IP-пакета разделяется на 8-битные компоненты (октеты), каждый из которых представляется в документах десятичным числом в интервале от 0 до 255. Десятичные представления компонентов IP-адреса отделяются друг от друга точками. Слева записывается наиболее значимый компонент 32-разрядного числа. Например, IP-адрес 1100 0010 0100 0011 0000 0011 1000 1010 должен записываться как 194.67.3.138.
2. Номер порта (идентификатор компонента прикладного ПО). Он задается 16-разрядным (2 байта) двоичным числом, означающим порядковый номер компонента прикладного ПО на данной вычислительной системе.
При указании номера порта используется его десятичное представление.
Таким образом, для указания требуемого компонента прикладного ПО в сети необходимо указать его полный адрес (socket), состоящий из IP-адреса сетевого интерфейса вычислительной системы и номера порта. При указании полных адресов два компонента, их составляющих, отделяют друг от друга двоеточием.
Например, полный адрес 192.168.1.12:25 обозначает прикладную задачу 25 на вычислительной системе с IP-адресом 192.168.1.12.
Задача маршрутизации
Учитывая изложенное выше, можно сформулировать следующий алгоритм обмена данными в сети передачи данных, функционирующей согласно системным требованиям internet/intranet-технологии, следующим образом.
1. От каждого сетевого IP-устройства сеть получает поток IP-пакетов. В заголовке каждого из них указан
IP-адрес назначения – IP-адрес сетевого IP-устройства (узла), которому должен быть доставлен данный
IP-пакет.
2. Получив IP-пакет, каждый узел сети (IP-маршрутизатор) должен по IP-адресу назначения определить направление дальнейшей доставки пакета. Под направлением дальнейшей доставки понимается сетевой интерфейс, которому будет передан IP-пакет для передачи на следующий по маршруту доставки узел сети.
3. Если на текущий момент путь доставки IP-пакета адресату (сетевому IP-устройству назначения) существует, то, пройдя через несколько узлов IP-сети, каждый отправленный IP-пакет достигнет своего адресата.


Приложение А. Основы IP-адресации и маршрутизации 217
Каждому маршрутизатору в составе сети приходится решать задачу маршрутизации – задачу выбора из набора собственных сетевых интерфейсов интерфейса дальнейшей доставки IP-пакета по содержащемуся в его заголовке IP-адресу назначения. Для успешного решения этой задачи каждый маршрутизатор сети должен обладать информацией о топологии всей сети, т.е. знать размещение всех подключенных к сети вычислительных систем. При выбранной системе 32-разрядной двоичной адресации в сети может быть до
4294967295 объектов, поэтому получение знаний о каждом из них в каждом узле сети нереально.
Для упрощения задачи маршрутизации архитекторами internet/intranet-технологии был использован следующий прием. Каждый IP-адрес разбили на две части: номер сети (netid) и номер узла в этой сети
(hostid). Сначала, в старших битах 32-разрядного двоичного адреса, указывается номер сети, а затем, в
младших битах адреса, – номер узла:
Номер сети
Номер узла
При этом для решения задачи маршрутизации – определения, через какой интерфейс данного маршрутизатора должен быть отправлен полученный IP-пакет, адресованный получателю с IP-адресом, указанным в его заголовке, – используется только часть IP-адреса, содержащая номер сети, что избавляет маршрутизаторы от необходимости получения информации обо всех подключенных к IP-сетям (например, к сети Интернет) сетевых устройствах (узлах).
Указанный подход требует от маршрутизаторов умения в каждом IP-адресе провести границу между номером сети и номером узла в этой сети.
Первоначально IP-адрес предполагали разбивать только по границе октетов, а информацию о точке разбиения хранить непосредственно в первом октете адреса. В результате появились 5 классов адресов: A, B, C, D, E.
Адреса классов D и E используются только в специальных случаях. Адреса классов A, B, C присваиваются специальной службой Internet Network Information Center (InterNIC) по запросам крупных сетевых операторов
(Service Providers). Последние, в свою очередь, производят регистрацию и подключение абонентов к сети
Internet с одновременной обязательной выдачей IP-адресов из предоставленных им службой InterNIC зон адресов.
Определение принадлежности любого IP-адреса к одному из указанных классов выполняется простым анализом нескольких начальных бит адреса, как это показано на приведенном ниже рисунке.
0
8
16
24
31
Класс А
0
номер сети
номер узла
Класс B
1 0
номер сети
номер узла
Класс C
1 1 0
номер сети
номер узла
Класс D
1 1 1 0
групповой адрес
Класс E
1 1 1 1 0
зарезервировано
Нетрудно подсчитать возможное количество сетей и возможное количество узлов в каждом классе адресов. Для справки эти данные приведены ниже.
Характеристики классов адресов
Класс
Диапазон значений
первого октета
Возможное
количество сетей
Возможное
количество узлов в сети
A
1 - 126
126
16777214
B
128 - 191
16382
65534
C
192 – 223
2097150
254
D
224 – 239
-
268435454
E
240 - 247
-
134217726
Вместе с введением классификации были ведены специальные значения для IP-адресов. Основные из них указаны в приведенной ниже таблице.
Специальные IP-адресa
все нули
Данный узел
номер сети
все нули
Данная IP-сеть
все нули
номер узла
Узел в данной (локальной) IP-сети
все единицы
Все узлы в данной (локальной) IP-сети
номер сети
все единицы
Все узлы в указанной IP-сети
127 что-нибудь (часто 1)
Петля


218
Приложение А. Основы IP-адресации и маршрутизации
Напомним, что соглашениями Интернета в каждой подсети предусмотрены два специальных номера узла:
-
все нули – используется для указания адреса сети без указания номера узла;
-
все единицы – используется для указания сразу всех узлов данной сети (broadcast-адрес).
Наличие специальных номеров узлов уменьшает возможное количество узлов в сети каждого класса на два.
Например, в сети класса C вместо ожидаемых 256 узлов может быть только 254 узла.
К сожалению, предложенный механизм разбиения IP-адресов на составляющие его номер сети и номер узла с использованием только классов адресов оказался не очень пригодным. Быстро пространство возможных номеров сетей в каждом классе адресов оказалось исчерпанным или близким к этому. Это привело к необходимости введения другого механизма разбиения IP-адресов на две части с точностью до бита. Иными словами, потребовалось проводить границу между номером сети и номером узла в любом месте IP-адреса.
Для этой цели было введено понятие маски сети.
Маска сети – это 32-разрядное двоичное число, единичные разряды которого указывают на поле номер сети в IP-адресе, а нулевые – на поле номер узла. Нетрудно увидеть, что алгоритм вычисления номера сети по IP-адресу заключается в простом логическом умножении значения IP-адреса на значение маски сети.
Вычисление адреса сети
1   ...   36   37   38   39   40   41   42   43   ...   48

IP-адрес
&
Маска
= Адрес сети
& – операция логического умножения
Маска сети, так же как и IP-адрес, записывается в точечно-десятичной (dotted-decimal) форме, как показано в примере:
0
8
16
24
31
1111 1111
1111 1111
1111 1111
1110 0000
255.
255.
255.
224
Классы каналов связи
Для организации связи между сетевыми устройствами в сети передачи данных используются каналы связи. Все многообразие применяемых при использовании internet/intranet-технологии каналов связи можно разделить на два следующих класса.
1. Двухточечные каналы связи.
На Рис. А.3 приведена условная схема двухточечного канала связи.
Рис. А.3 Схема двухточечного канала связи
Двухточечные каналы связи обладают следующими свойствами:
- соединяют только два сетевых устройства;
- поток данных от устройства A попадает только к устройству B;
- отсутствует проблема адресации на канальном уровне и, как следствие, отсутствует необходимость определения адреса канального уровня для устройства-получателя, которому направляется IP-пакет;
- для двухточечных каналов связи чаще всего используются следующие протоколы транспортировки
IP-пакетов: PPP, SLIP, CSLIP.
Благодаря отсутствию проблемы адресации канального уровня двухточечные каналы весьма просты с точки зрения их использования интерфейсами. Все подлежащие транспортировке IP-пакеты просто упаковываются в транспортные кадры (фреймы) канала и извлекаются на противоположной стороне.
2. Многоточечные каналы связи.
Многоточечные каналы связи обладают следующими свойствами:
- соединяют два и более сетевых устройств;
- поток данных от устройства A может попасть к любому сетевому устройству, подключенному к каналу, следовательно, в заголовках кадров обязательно следует указывать адреса канального уровня для отправителя и получателя.

Приложение А. Основы IP-адресации и маршрутизации 219
На Рис. А.4 приведена условная схема многоточечного канала связи.
Рис. А.4 Схема многоточечного канала связи
Примером многоточечных каналов связи могут служить каналы локальных Ethernet-сетей, в которых для транспортировки IP-пакетов используются Ethernet-кадры в формате фрейма Ethernet_II.
Необходимость использования адресов канального уровня (L2-уровня модели OSI) при формировании транспортных кадров Ethernet-сети – Ethernet-кадров – требует применения специального протокола ARP
(Address Resolution Protocol), который для каждого IP-адреса назначения в сети определяет транспортный адрес станции-получателя в данной локальной сети − т.н. MAC-адрес.
Для транспортировки по локальной сети все IP-пакеты должны быть упакованы в транспортные Ethernet-кадры в формате Ethernet_II, имеющие приведенный ниже следующий формат.
Формат кадров (фреймов) Ethernet_
6
6
2
46-1500
Dest
Source
Type
Payload (Данные)
Dest
– MAC-адрес получателя
Source
– MAC-адрес отправителя
Type
– Тип данных показывает, пакет какого из сетевых протоколов находится в поле данных Payload
Payload
– IP-пакет L3-уровня модели OSI размером от 46 до 1500 байт
Примечание. Отметим, что в составе приведенного выше формата Ethernet-кадра фрейма
Ethernet_II не показаны обрамляющие его поля, обработкой которых на физическом
(L1) уровне занимается Ethernet-адаптер – поле Preamble длиной 8 байт – последовательность бит, по сути не являющаяся частью заголовка Ethernet-кадра, а только определяющая его начало, а также поле FCS (Frame Check Sequences) длиной 4 байта, содержащее значение CRC (Cyclic Redundancy Check) – контрольной суммы, используемой для выявления ошибок передачи с помощью применения методов циклических кодов, оставляющих без изменения исходное содержимое передаваемых данных; вычисляется передающей стороной и помещается в поле FCS; принимающая сторона вычисляет данное значение самостоятельно и, сравнивая с полученным, принимает решение о качестве передачи Ethernet-кадра по сети.
MAC(Media Access Control) – шестибайтовый адрес канального уровня, присваиваемый изготовителем каждого Ethernet-адаптера, обеспечивающего физическое взаимодействие интерфейса изделия с локальной сетью. Специальное соглашение между изготовителями Ethernet-адаптеров гарантирует уникальность
MAC-адресов в каждой из существующих локальных сетей.
Пример записи MAC-адреса в принятом специалистами формате: 00:01:39:00:2F:54
Перед отправкой IP-пакета сетевой интерфейс должен определить значения для всех трех полей заголовка
Ethernet-кадра в формате Ethernet_II. Значение поля Source интерфейс считывает непосредственно из своего Ethernet-адаптера. Поле Type должно иметь значение 0x0800 (в поле данных Ethernet-кадра находится IP-пакет). А вот значение поля Dest должно быть получено с помощью протокола ARP, схема работы которого приведена ниже на Рис. А.5.
Рис. А.5 Схема работы ARP-протокола
Между множествами IP-адресов и MAC-адресов нет никакой алгоритмической зависимости, поэтому единственным вариантом установления их взаимно однозначного соответствия является ARP-таблица, например, такая, как приведенная ниже.