close

Вход

Забыли?

вход по аккаунту

?

kozhanov kolbanev

код для вставкиСкачать
Федеральное агентство по образованию
Государственное образовательное учреждение
высшего профессионального образования
САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
АЭРОКОСМИЧЕСКОГО ПРИБОРОСТРОЕНИЯ
Ю. Ф. Кожанов, М. О. Колбанёв
ИНТЕРФЕЙСЫ И ПРОТОКОЛЫ
СЕТЕЙ СЛЕДУЮЩЕГО ПОКОЛЕНИЯ
Теория и практика
Допущено Учебно-методическим объединением вузов
по университетскому политехническому образованию
в качестве учебного пособия для студентов
высших учебных заведений, обучающихся по направлению
подготовки 230200 – «Информационные системы»
Санкт-Петербург
2010
УДК 004.5
ББК 32.973.202
К58
Рецензенты:
доктор технических наук, профессор И. М. Лёвкин;
кандидат технических наук, профессор Н. Н. Смирнова
Рекомендовано
редакционно-издательским советом университета
в качестве учебного пособия
Кожанов Ю. Ф., Колбанёв М. О.
К58Интерфейсы и протоколы сетей следующего поколения:
тео­рия и практика: учеб. пособие / Ю. Ф. Кожанов, М. О. Колбанёв. – СПб.: ГУАП, 2010. – 372 с.: ил.
ISBN 978-5-8088-0564-4
Приведены общие принципы построения сетей связи следующего поколения, основанных на коммутации пакетов. Дано описание базовых протоколов
Интернет; подробно описаны способы формирования пакетов мультимедийных приложений, обслуживания очередей, дозирования трафика и механизмы транспортировки пакетов через сеть с учетом требуемого качества обслуживания. Изложена концепция сетевых решений по конвергенции существующих сетей в сети следующего поколения. Рассматриваются различные
классические модели систем массового обслуживания. Приведена методика
расчета качества обслуживания сети коммутации пакетов в системах интегрального и дифференциального обслуживания. Для лучшего усвоения материала каждый параграф сопровождается контрольными вопросами или задачами. Основной текст дополнен глоссарием.
Предназначено для студентов старших курсов, обучающихся по специальности «Корпоративные информационные системы», эксплуатационного
персо­нала сетей следующего поколения, специалистов по телекоммуни­
кации.
УДК 004.5
ББК 32.973.202
ISBN 978-5-8088-0564-4
© Санкт-Петербургский государственный
университет аэрокосмического
приборостроения (ГУАП), 2010
© Ю. Ф. Кожанов, М. О. Колбанёв, 2010
предисловие
Известно два различных принципа построения сетей интегрального обслуживания: на основе коммутации каналов – ЦСИО (цифровая сеть интегрального обслуживания, Integrated Services Digital Network, ISDN) и на
основе коммутации пакетов различного вида, известных
под общим названием сетей следующего поколения
(Next Generation Network, NGN).
Архитектура сети с коммутацией каналов имеет
иерархическую структуру и состоит из оконечных
и транзитных станций. Оконечные станции относят
к системам коммутации класса 5, к ним подключаются
пользователи (абоненты). Транзитные станции относят
к системам коммутации класса 4, к ним подключаются
оконечные станции. Сеанс связи между пользователями
ЦСИО состоит из двух фаз.
На первой фазе исходящая станция при помощи системы сигнализации пытается установить сквозное соединение «из конца в конец». Каждая проходная тран­
зитная станция в соответствии с адресной частью поступившего сигнального сообщения резервирует ресурсы
(канал) в заданном направлении. При отсутствии ресурсов на каком-либо этапе исходящей стороне посылается
отказ. Если же сигнальное сообщение благополучно достигает заданного пункта назначения, то входящая оконечная станция высылает подтверждение. Таким образом, на первой фазе производится жесткое закрепление
ресурсов сети за установленным соединением. Современные системы сигнализации используют технологию общего канала сигнализации (Common Channel Signalling,
CCS7), в которой передача сигнальной информации производится пакетами на скорости 64 Кбит/с. На второй
фазе через каждые 125 мкс производится обмен байтами
по установленному сетевому соединению.
Системы коммутации ЦСИО используют принцип
временного разделения каналов (��������������
Time Division ������
Multiplex, TDM��������������������������������������������
), в которой полоса передачи любого вида информации должна быть кратна основному цифровому
В-каналу со скоростью передачи 64 Кбит/с. Для передачи информации с более высокими скоростями применяются составные В-каналы: H0-канал со скоростью передачи 384 Кбит/с (6 В-каналов) и H12-канал со скоростью
передачи 1 920 Кбит/с (30 В-каналов). Такая технология
ЦСИО, разработанная в 1980-х годах, должна была, по
мнению разработчиков, предоставить разнообразные
услуги, как телефонные, так и передачи данных. Однако
очень скоро стали очевидны, по крайней мере, два недостатка ЦСИО:
1) жесткое закрепление сетевых ресурсов за установленным соединением не позволяет в периоды «молчания» динамично перераспределять ресурсы другим
пользователям, что приводит к завышенному их расходу. Например, дуплексное разговорное соединение всегда используется не более чем на 50 % за счет попеременного разговора абонентов;
2) жесткая градация полосы передачи, кратная
64 Кбит/с, не позволяет эффективно ее использовать.
Например, если источник информации использует полосу передачи 26,1 Кбит/с, то в сети ему все равно будет выделено 64 Кбит/с, а полоса передачи свыше 1 920 Кбит/с
вообще недоступна.
Наличие этих недостатков привело к тому, что ЦСИО
стала, в основном, использоваться для передачи речи,
что побудило разработчиков сетей искать другие решения, что и привело к разработке систем коммутации пакетов различного вида.
В сети с коммутацией пакетов на первой фазе при
помощи сигнальных протоколов оконечные устройства
согласовывают параметры сеанса связи. Жесткое закреп­ление ресурсов сети за установленным соединением является опциональным. На второй фазе оконечные
устройства начинают обмен информацией в виде пакетов, каждый из которых имеет адресную часть (сигнализацию) и полезную нагрузку (фрагмент разговора). Недостаток ресурсов сети приводит либо к задержке доставки
пакетов (при кратковременной перегрузке сети), либо
к их полной потере (при значительной перегрузке сети).
Потенциально сети с коммутацией пакетов значительно дешевле сетей с коммутацией каналов по двум
причинам. Во-первых, в ней более экономично расходуются каналы связи за счет применения более эффективных способов кодирования с меньшей полосой передачи
(до 26,1 Кбит/с вместо 64 Кбит/с). Во-вторых, в ней более
экономично расходуются сетевые ресурсы за счет динамического закрепления ресурсов за установленными соединениями (заполнения естественных пауз в разговоре
другими соединениями) и допущения незначительной
задержки за счет прохождения очередей. Все эти факторы обуславливают необходимость перехода к сети нового поколения (Next Generation Network), основанной на
принципах пакетной коммутации и передачи. Существует много технологий построения сетей коммутации
пакетов, основными из которых являются Frame Relay
(ретрансляция кадров), ATM (режим асинхронной передачи), Internet (Интернет). Достаточно длительная практика эксплуатации этих сетей показала, что сети, построенные на протоколах Интернет, имеют преимущества в простоте, возможностях и стоимости. Этому не-
4 Интерфейсы и протоколы сетей следующего поколения
мало способствовало наличие в Интернет множества
хорошо зарекомендовавших себя мультимедийных приложений. Единственный недостаток Интернет – отсутствие достаточных средств транспортировки приложений реального времени, таких как аудио- и видео-, что
преодолевается разработкой специализированных для
этих целей протоколов. Поэтому в последнее время подавляющее большинство производителей оборудования
склоняются к реализации NGN на основе Интернет.
Можно сказать, что NGN – это Интернет, дополненная
специализированными протоколами для транспортировки различной информации с заданными требованиями, в том числе в реальном масштабе времени, так как
изначально Интернет проектировалась только как сеть
передачи данных.
В настоящее время ведутся разработки по созданию
концепции объединения NGN с сотовыми сетями – IMS
(IP-based Multimedia Subsystem), но рассмотрения этих
вопросов выходят за рамки данного пособия.
Взаимодействие сетевых элементов в любой сети происходит при помощи интерфейсов и протоколов. Интерфейс определяет порядок следования информационных
сигналов и транспортные (электрические, оптические,
радио) свойства для их доставки. Протоколы обмена
определяют логические процедуры по их обработке.
Описание интерфейсов и протоколов существует в виде
международных стандартов, выпускаемых различными
организациями. Для сети нового поколения, основанной
на Интернет, описание протоколов публикуются в виде
запросов для комментариев (Requests for Comments,
RFC), имеющих различные номера и статус. Решение
о публикации RFC принимает Редакция RFC, подчиняющаяся архитектурному совету Интернет (������������
Internet Architecture Board, IAB). Документ, включающий текст,
рисунки и иллюстрации, представляется в формате
ASCII.
Спецификация протокола или услуги, содержащая
в RFC, имеет определенный статус, периодически публикуемый в Internet Official Protocol Standards. Стандартная процедура (Standards Track) присвоения статуса RFC следующая.
Первая ступень – проект стандарта (���������������
Proposed Standard). Спецификация описывает хорошо известную проб­
лему, требующую разрешения. Внедрение и испытание
не обязательно, но желательно. Рабочая группа (Internet
Research Steering Group, IESG) может потребовать внедрение и испытание в случае его существенного влияния
на другие протоколы. Спецификация не должна иметь
существенных технических погрешностей; операторы
должны воспринимать ее как несовершенную специфиПредисловие 5
кацию. Желательно внедрение, тестирование и испытание для его коррекции. Рекомендуется к использованию
для заинтересованных операторов.
Спецификация, получившая признание нескольких
операторов и внедренная, как минимум, двумя независимыми операторами, при достижении положительных
результатов приобретает статус черновика стандарта –
«Draft Standard». В случае отсутствия подтверждения
успешной демонстрации одной или более опций двумя
независимыми операторами статус присваивается только при их изъятии из спецификации. Ответственный за
внедрение и проверку – председатель рабочей группы.
В протоколе испытаний должна быть отражена работоспособность каждой опции. Рекомендуется к использованию для операторов, использующих соответствующие
услуги.
Спецификациям, получившим всеобщее внедрение
и признание, присваивается статус стандарта – «������
Standard». Рекомендуется к обязательному внедрению. Им
присваивается дополнительный ярлык «STDxxx», однако они сохраняют свой номер и место в списке RFC.
Не все предложения проходят стандартную процедуру. Предложения, которые могут быть использованы
в будущем или в текущий момент оказались неопределенными или устаревшими и невостребованными из-за
появления более совершенных рекомендаций, попадают
под нестандартную процедуру (Non-Standards Track).
Они приобретают соответствующий статус – «Экспериментальный» (Experimental), «Информационный» (���
Informational) или «Исторический» (Historic).
Некоторые RFC предназначены для разъяснения
пользователям корректного применения стандартных
процедур. Им присваивается особый статус «Best Current
Practice», BCP, и дополнительный ярлык «BCPxxx», они
сохраняют свой номер и место в списке RFC.
Основной текст предлагаемого издания представлен
четырьмя главами.
В первой главе рассматриваются базовые протоколы
семиуровневой модели открытых систем, используемых
в NGN. Предпринята попытка собрать воедино наиболее
популярные протоколы Интернет, от протоколов технологии локальных сетей до протоколов приложений.
Показано местоположение каждого протокола в стеке
протоколов, дано описание функционального назначения каждого из протоколов и состав параметров, с помощью которых эта функциональность реализуется.
Большинство протоколов, таких как TCP, UDP, IP, уже
достаточно подробно описаны в существующей литературе, другие протоколы, как, например, протоколы
маршрутизации, в литературе описаны поверхностно,
6 Интерфейсы и протоколы сетей следующего поколения
что и не дает полного представления об их функционировании.
Описание протоколов мультимедийных приложений
NGN содержится во второй главе, где изложены принципы формирования пакетов для аудио- и видеоприложений, приведены способы достижения требуемого качества обслуживания в системах с интегральным
и дифференцированным обслуживанием. Глава содержит описание протоколов передачи мультимедийной
информации в реальном масштабе времени. Рассматриваются способы сопряжения сетей коммутации каналов
и пакетов. Даны примеры построения сетей следующего
поколения на основе протоколов H.323 и SIP, раскрыты
методы обеспечения безопасности в NGN.
В третьей главе излагается концепция по построению сетей следующего поколения. Излагаются различные типовые решения для операторов сетей связи по построению сетей различной конфигурации. Приведено
описание сетевых элементов для реализации этих решений – программного коммутатора (SoftSwitch), мультимедийных шлюзов (Media Gateway), различных систем
управления сетью. Глава содержит некоторые сценарии
установления соединения при взаимодействии сетевых
элементов.
В четвертой главе приведены классические модели
теории телетрафика для расчета вероятностно-времен­
ных характеристик сетей следующего поколения с учетом прохождения очередей, рассматривается влияние
дисциплин обслуживания очередей на пропускную способность системы. Дано сравнение сетей коммутации
каналов и пакетов в режимах интегрального и дифференцированного обслуживания. Определены области
применения, где системы коммутации пакетов имеют
преимущества перед системами коммутации каналов.
Рассматриваются функционирование сетевых элементов в необслуживаемом режиме, характерном для большинства современных систем распределения информации, и методы расчета их показателей надежности. Наличие многочисленных примеров расчета способствует
лучшему пониманию материала.
Объяснение широко используемых англоязычных
терминов приведено в глоссарии.
Издание предназначено для студентов старших курсов, обучающихся по специальности «Корпоративные
информационные системы». Авторы надеются, что оно
будет полезно для специалистов по телекоммуникации
и обслуживающего персонала сетей следующего поко­
ления.
Авторы выражают благодарность рецензентам за
ценные указания и замечания.
Предисловие 7
Глава
1
БАЗОВЫЕ
ПРОТОКОЛЫ
ИНТЕРНЕТ
1.1. Упрощенная архитектура сети Интернет
Интернет (Internet) – это глобальная информационная система, которая:
– логически связана единым адресным
пространством;
– может поддерживать соединения с коммутацией пакетов на основе семейства специализированных протоколов;
– предоставляет услуги высокого уровня.
Приведем основные термины и их определения.
Узел (Node) – любой сетевой элемент, имеющий хотя бы один сетевой адрес (IP-адрес).
Примеры узла: оконечное устройство (хост),
маршрутизатор, шлюз.
Хост (Host) – конечный узел, который является либо источником, либо получателем
информации, либо тем и другим одновременно. Примеры хоста: компьютер (PC), сервер
(Server), принтер (Printer). Как правило, имеет не более одного физического интерфейса.
Маршрутизатор (Router, R) – узел, который ретранслирует пакеты между интерфейсами в соответствии с сетевым адресом. Имеет не менее двух физических интерфейсов.
Иногда маршрутизатор называют шлюзом.
Шлюз (Gateway, GW) – узел, связывающий протоколы или каналы связи с различной технологией, например, сеть коммутации каналов и сеть коммутации пакетов.
Модуль (Module) – программно-аппаратное
средство, входящее в состав узла и реализующее определенную функцию (протокол). Может одновременно входить в состав другого
модуля. Примеры модуля: модуль IP, модуль
ICMP.
Интерфейс (Interface) – перечень соглашений между передающей и приемной сторонами об уровне и форме сигналов, размерах со-
8 Интерфейсы и протоколы сетей следующего поколения
общений, способах контроля ошибок и т. д., обеспечивающий
взаимо­действие различных модулей.
Протокол (Protocol) – формальное описание набора правил, которые управляют обменом информацией между модулями равного
уровня.
Порт (Port) – 1) интерфейс межсетевого взаимодействия на физическом уровне. Может иметь закрепленный за ним сетевой адрес.
Примеры портов: E1, T1, E3, T3; 2) идентификатор процесса (сетевого приложения) верхнего уровня, который взаимодействует с нижележащими уровнями.
Коммутационное устройство – аппаратное средство, осуществляющее соединение узлов по запросу. Примеры коммутационных
устройств: коммутатор (Switch), маршрутизатор (Router).
Локальная сеть (Local Network) – небольшая группа узлов, связанная единым адресным пространством. Примеры локальных сетей: Ethernet, Token Ring.
Пакет (Packet) – структурированная информация, имеющая IPадрес и полезную нагрузку.
R
R
R
R
Магистральная сеть
(Backbone Network)
R
AAA
Провайдер услуг Интернет
(Internet Service Provider – ISP)
NAS
M
ATC
M
ATC
ИКМ
NAS
Телефонная
сеть общего
пользования
(ТФОП)
ATC
ИКМ
Телефон
ная сеть
общего
пользо
вания
(ТФОП)
ИКМ
Рис. 1.1. Схема доступа абонента ТФОП в Интернет
Базовые протоколы Интернет 9
Схема типичного на сегодня доступа абонента в Интернет через телефонную сеть общего пользования (ТФОП) показан на рис. 1.1. Абонент автоматической телефонной станции (АТС) должен купить у провайдера сети Интернет (Internet Service Provider, ISP) карту с пред­
оплатой, в которой указан телефонный номер провайдера для доступа
в Интернет, имя пользователя (User ID) и пароль (Password). Эти данные абонент должен ввести в персональный компьютер. При уста­
новлении модемного соединения на телефонный номер провайдера
компьютер соединится с сервером сетевого доступа (Network Access
Server, NAS), который запросит у компьютера имя и пароль. Компьютер автоматически вернет ему запрошенную информацию. После
этого NAS запросит те же данные (имя и пароль) у сервера аутентификации, авторизации и учета (���������������������������������������
Authentication, Authorization, Accounting) и сравнит данные имени и пароля, полученные от абонента и от
ААА-сервера. В случае их совпадения NAS откроет домашнюю страничку провайдера и начнет обслуживание запросов абонента. Для
реализации запроса может потребоваться соединение через магистральную сеть (Backbone Network), которая использует высокоскоростные (от 622 Мбит/с до 1,28 Гбит/с) каналы связи и высокопро­
изводительные маршрутизаторы (R) для объединения зоновых сетей различных провайдеров.
Вопросы к п. 1.1
1.Дайте определение интерфейса.
Ответ: перечень соглашений между передающей и приемной сторонами об уровне и форме сигналов, размерах сообщений, способах контроля
ошибок и т. д., обеспечивающий взаимодействие различных модулей.
2.Дайте определение протокола.
Ответ: формальное описание набора правил, которые управляют обменом информацией между модулями равного уровня.
3. Какую информацию хранит ААА-сервер?
Ответ: ААА-сервер хранит базу данных пользователей для доступа
в Интернет.
1.2. Модель OSI. Понятия интерфейсов и протоколов.
Рекомендация ITU-T X.200
Организация взаимодействия между элементами сети является
сложной задачей, поэтому ее разбивают на несколько более простых задач. Решение каждой простой задачи внутри элемента сети
10 Интерфейсы и протоколы сетей следующего поколения
производит модуль, каждый из модулей связан с одним или несколькими другими модулями. Решение сложной задачи подразумевает определенный порядок следования решения простых задач,
при котором образуется многоуровневая иерархическая структура
(рис. 1.2).
Обмен информацией между модулями происходит на основе
определенных соглашений, которые называются интерфейсом. При
передаче сообщения модуль верхнего уровня решает свою часть задачи, а его результат, понятный только ему, оформляет в виде дополнительного поля к исходному сообщению и передает измененное
Сетевой элемент (узел)
Уровень 7
(прикладной)
Интерфейс
Уровень 6
(представительный)
Протокол 7го уровня
Уровень 7
(прикладной)
7
Протокол 6го уровня
Интерфейс
Уровень 6
(представительный)
7 6
Интерфейс
Уровень 5
(сеансовый)
Сетевой элемент (узел)
Интерфейс
Протокол 5го уровня
7 6 5
Интерфейс
Уровень 5
(сеансовый)
Интерфейс
Протокол 4го уровня
Уровень 4
(транспортный)
Интерфейс
(сегменты,
дейтаграммы)
Уровень 3
(сетевой)
Интерфейс
(пакеты)
Уровень 2
(канальный)
Уровень 4
(транспортный)
7 6 5 4
Протокол 3го уровня
Уровень 3
(сетевой)
7 6 5 4 3
Протокол 2го уровня
2 7 6 5 4 3 2
Интерфейс
(кадры/пакеты)
Уровень 1
(физический)
Интерфейс
(сегменты,
дейтаграммы)
Протокол 1го уровня
2 7 6 5 4 3 2 1
Интерфейс
(пакеты)
Уровень 2
(канальный)
Интерфейс
(кадры/пакеты)
Уровень 1
(физический)
Канал связи
Рис. 1.2. Модель взаимодействия открытых систем (OSI)
Базовые протоколы Интернет 11
сообщение на дообслуживание в нижележащий уровень. Этот процесс называется инкапсуляцией. С другой стороны, при приеме сообщения нижележащий уровень после обработки своей части сообщения удаляет его и оставшееся сообщение передает вышележащему уровню. Таким образом, интерфейс определяет формат, физические и электрические свойства сигналов обмена между модулями
различных уровней, а протокол описывает логические процедуры
по обработке сообщения удаленному узлу сети равного уровня. Рекомендация ITU-T X.200 описывает семиуровневую модель взаимодействия открытых систем (ВОС, OSI – Open System Interconnection).
Наименование уровней и распределение функций между ними следующее.
Физический уровень (Physical Layer) обеспечивает побитную
транспортировку кадров (часто называемую пакетом) между узлами по требуемой физической среде передачи (металлический кабель, оптоволоконная линия связи, радиоканал).
На канальном уровне (Data Link Layer) реализуются механизмы
обнаружения и коррекции ошибок, возникающих в канале связи
между узлами. Для этого пакет, поступающий с вышележащего (сетевого) уровня, преобразуется в кадр, т. е. дополняется контрольной
суммой и обрамляется специальной последовательностью «Флаг»,
позволяющей определить начало и конец кадра. На приеме «Флаги»
отбрасываются, и снова вычисляется контрольная сумма. Если вычисленная контрольная сумма совпадает с суммой, принятой из
кад­ра, то кадр считается правильным и в виде пакета передается на
сетевой уровень, а на передающую сторону высылается квитирующий кадр. В случае искажения или пропажи кадра квитирующий
кадр не высылается и передающая сторона через некоторый промежуток времени возобновляет повторную передачу. Поскольку к узлу
(например, маршрутизатору) обычно подключено несколько каналов связи с различными технологиями передачи кадра, то для каждой технологии передачи канальный уровень добавляет к пакету
соответствующее дополнительное поле. Сетевому уровню поставляются пакеты единообразного вида.
Сетевой уровень (Network Layer) служит для образования сквозной транспортной системы между оконечными устройствами пользователя через все промежуточные сети связи – «из конца в конец».
Чтобы передать пакет, средства сетевого уровня собирают информацию о топологии сетевых соединений и используют ее для выбора
наилучшего пути. Каждый пакет содержит адрес получателя, кото12 Интерфейсы и протоколы сетей следующего поколения
рый состоит из старшей части – номера сети – и младшей – номера
компьютера (узла) в этой сети. Все компьютеры одной сети имеют
один и тот же номер сети, т. е. сеть – это совокупность компьютеров,
сетевой адрес которых содержит один и тот же номер сети.
Транспортный уровень (Transport Layer) определяет правила
транспортировки пакетов по сети. Эти правила позволяют взаимодействовать с удаленной стороной в двух режимах: не ориентированный на соединение (дейтаграммный режим) и ориентированный
на соединение (по предварительно установленному виртуальному
соединению). Режим, не ориентированный на соединение (�������
connectionless transfer), транспортный уровень использует для передачи
одиночных дейтаграмм, не гарантируя их надежную доставку. Режим, ориентированный на соединение (connection-oriented transfer),
используется для надежной доставки данных, при этом каждому
сегменту данных присваивается порядковый номер для их правильной сборки на приеме и запускается механизм для обнаружения
ошибок и запроса повторной передачи сегмента в случае его утери.
При помощи сеансового уровня (Session Layer) организуется диалог между сторонами, фиксируется, какая из сторон является инициатором, какая из сторон активна и каким образом завершается
диалог.
Представительный уровень (Presentation Layer) занимается
формой предоставления информации нижележащим уровням, например, перекодировкой или шифрованием информации.
Прикладной уровень (Application Layer) – это набор протоколов,
которыми обмениваются удаленные узлы, реализующие одну и ту
же задачу (программу).
Следует отметить, что некоторые сети появились гораздо раньше, чем была разработана модель OSI, поэтому для многих систем
соответствие уровней модели OSI весьма условно.
Вопросы к п. 1.2
1.Сколько уровней содержит модель OSI?
Ответ: семь.
2. Куда перемещаются пакеты со второго уровня при приеме?
Ответ: на третий уровень.
3. Куда перемещаются пакеты со второго уровня при передаче?
Ответ: на первый уровень.
4. Чем определяется количество уровней в узле?
Ответ: сложностью задачи.
Базовые протоколы Интернет 13
1.3.Стек протоколов Интернет
Интернет предназначен для транспортировки любого вида информации от источника к получателю. В транспортировке информации
участвуют различные элементы сети (рис. 1.1) – оконечные устройства, коммутационные устройства и серверы. Группы узлов при помощи коммутационных устройств объединяются в локальную сеть,
локальные сети соединяются между собой шлюзами (маршрутизаторами). Коммутационные устройства используют различные технологии – Ethernet, Token Ring, FDDI и др.
Каждое оконечное устройство (хост) может одновременно обслуживать несколько процессов по обработке информации (речь, данные, текст и т. д.), которые существуют в виде сетевых приложений
(специализированных программ), расположенных на высшем уровне; от приложения информация поступает в средства обработки информации в нижележащие уровни.
Транспортировка приложения в каждом узле решается последовательно различными уровнями. Каждый уровень для решения
свой части задачи использует свои протоколы и обеспечивает дуплексное прохождение информации. Последовательность прохождения задач образует стек протоколов. В процессе транспортировки
информации каждый узел задействует необходимый ему стек протоколов. На рис. 1.3 показан полный стек базовых протоколов сетевого соединения в Интернет.
Узлы, с точки зрения сети, представляют собой источники и получатели информации. Четыре нижних уровня в совокупности независимы от вида передаваемой информации. Каждое сетевое приложение, связывающееся с четвертым уровнем, идентифицируется
своим уникальным номером порта. Значения портов занимают диапазон от 0 до 65535. В этом диапазоне номера портов 0–1023 выделены под общесетевые приложения (well-known ports), номера портов
1024–49151 используются разработчиками специализированного
программного обеспечения, номера портов 49152–65535 динамически закрепляются за сетевыми приложениями пользователей на
время сеанса связи. Численные значения номеров портов стека приведены в [39].
Транспортный (четвертый) уровень поддерживает два режима
установления связи – с установлением соединения и без установления соединения. Каждый из режимов идентифицируется своим номером протокола (Protocol). В стандартах Интернет принято коди14 Интерфейсы и протоколы сетей следующего поколения
Прикладной
уровень
HTTP
Port = 80
SMTP
Port =25
POP3
Port = 110
SNMP
Port=161
TELNET
Port =23
FTP
Port = 21
TFTP
Port=69
RADIUS
Port = 1812
Представительный уровень
Сеансовый
уровень
DNS (Port=53)
DHCP (Port = 67/68)
Транспортный уровень
TCP
Protocol = 6
Сетевой уровень
ARP
Protocol Type = 0x0806
Канальный
Канальный
Канальный
Канальный
Физический
RIP
Port=520
UDP
Protocol = 17
OSPF
Protocol = 0x0059
IGMP
Protocol = 0x0002
ICMP
Protocol = 0x0001
IP
Protocol Type = 0x0800
FDDI
PPP
Token Ring
Ethernet
Кабель, радио, оптоволокно
Рис. 1.3. Стек базовых протоколов Интернет
рование в шестнадцатеричном коде. Первый режим используется
модулем TCP, имеющим код протокола 6 (в шестнадцатеричном
коде – 0x06) и используется для гарантированной транспортировки
информации. Для этого каждый передаваемый пакет снабжается
порядковым номером и должен быть подтвержден приемной стороной о его правильном приеме. Второй режим используется модулем
UDP без гарантии доставки информации получателю (гарантия доБазовые протоколы Интернет 15
ставки обеспечивается приложением). Протокол UDP имеет код 17
(в шестнадцатеричном коде – 0x11).
Сетевой (третий) уровень обеспечивает перемещение информации
в виде пакетов между сетями (интерфейсами канального уровня),
используя сетевой адрес. Семейство протоколов третьего уровня нижележащими уровнями идентифицируется типом протокола (ARPтипом – 0x0806 или IP-типом – 0x0800). Связка «протокол – сетевой
адрес – номер порта» называется сокетом (socket). Пара сокетов – на
передаче и приеме – однозначно определяет установленное соединение. Адрес назначения каждого пакета, поступившего в модуль IP
с канального уровня, анализируется, чтобы понять, куда пакет следует дальше направить: в собственное приложение или переместить
на другой интерфейс для дальнейшей транспортировки по сети.
Второй (канальный) уровень осуществляет обработку пакетов
в локальной сети, используя различные технологии: Ethernet,
���������� To���
ken Ring, FDDI и др. Первый уровень обеспечивает преобразование
бинарных кодов в линейные коды, которые наиболее хорошо подходят к используемой транспортной среде (металлический кабель,
оптоволоконная линия связи, радиоканал).
Вопросы к п. 1.3
1. Чем определяются средства сетевого уровня для обработки пакетов, поступающих с канального уровня?
Ответ: типом протокола: 0x0806 – для ARP и 0x0800 – для IP.
2. Чем определяются средства транспортного уровня для обработки пакетов, поступающих с сетевого уровня?
Ответ: номером протокола: 0x0006 – для TCP и 0x0011 – для UDP.
3. Чем определяется тип сетевого приложения для обработки дейтаграмм?
Ответ: номером порта.
4.Приведите примеры номеров портов общесетевых приложений.
Ответ: порт 80 – HTTP, порт 23 – TELNET, порт 53 – DNS.
1.4.Протоколы доступа в Интернет
Для доступа в Интернет используется семейство протоколов под общим названием PPP (Point-to-Point Protocol), в число которых входят [37]:
16 Интерфейсы и протоколы сетей следующего поколения
1) протокол управления каналом (Link Control Protocol, LCP)
для согласования параметров обмена пакетами на канальном уровне на участке «хост – сервер сетевого доступа» (в частности, для согласования размера пакета и типа протокола аутентификации);
2) протокол аутентификации (Authentication Protocol) для установления легитимности пользователя (в частности, с использо­
ванием протокола Challenge Handshake Authentication Protocol,
CHAP);
3) протокол сетевого управления (IP Control Protocol, IPCP) для
конфигурации параметров сетевого обмена (в частности, присвоения IP-адреса).
После этих этапов начинается обмен информацией по протоколу IP.
Каждый из перечисленных протоколов может использовать любую транспортную среду, поэтому существует много способов инкапсуляции PPP на физическом уровне. Для инкапсуляции PPP
в каналы связи «точка – точка» используется процедура, схожая
с HDLC [38].
Обмен кадрами с использованием процедуры, схожей с HDLC
(High-level Data Link Control Procedure), предполагает дуплексный
обмен кадрами. Каждый переданный кадр должен быть подтвержден, при отсутствии подтверждения в течение тайм-аута передатчик
повторяет передачу. Структура кадра приведена на рис. 1.4. Порядок передачи полей кадра – слева направо.
Каждый передаваемый кадр должен начинаться и заканчиваться комбинацией «Флаг» (Flag), имеющей битовую структуру вида
01111110 (0х7е). Одна и та же комбинация «Флаг» может быть использована как закрывающая для одного кадра и открывающая
для следующего кадра. Комбинации «Флаг» должны выявляться
приемной стороной с целью определения границ кадра. Для обеспечения кодонезависимого переноса информации необходимо исключить из последующих полей кадра все комбинации, совпадающие
со служебными символами (например, комбинацией «Флаг»).
В асинхронном режиме формирование всех полей кадра производится побайтно, каждый байт предваряется битом «старт» и заканчивается битом «стоп».
Флаг
Адрес
Управление
Информация
Протокол (Protocol)
(Flag)
(Address) (Control)
(Information)
xxxxxxxx xxxxxxx
01111110 11111111 00000011
до 1 500 байт
Проверочная
Флаг
последова(Flag)
тельность
01111110
(FCS) 2 байта
Рис. 1.4. Структура полей HDLC-кадра
Базовые протоколы Интернет 17
В синхронном режиме используется либо байт-вставка, либо битвставка. В первом случае в полях кадра производится замена байтовых последовательностей 0x7e («Флаг») на 2-байтовые 0x7d и 0x5e,
0x7d на 0x7d и 0x5d, 0x03 на 0x7d и 0x23. Во втором случае после
формирования всех полей кадра производится побитовый просмотр
содержимого каждого кадра между комбинациями «Флаг» и вставляется бит «ноль» после каждых пяти смежных битов «единица».
При декодировании кадра на приеме производится побитовый просмотр содержимого кадра между комбинациями «Флаг» и изъятие
бита «ноль» после каждых пяти смежных битов «единица».
Адресное поле (Address) имеет постоянное значение 11111111
(0хff), а поле управления (Control) – значение 00000011 (0x03).
Поле протокола принимает значение 0хс021 для протокола LCP,
0хc223 – для протокола CHAP, 0х8021 – для IPCP и 0х0021 – для
протокола IP.
Заполнение информационного поля зависит от типа протокола,
но его длина не должна быть менее 4 байт.
Проверочная последовательность (Frame Check Sequence, FCS)
на передаче формируется так, чтобы при умножении информации
между флагами на Х16 и последующем делении по модулю 2 на образующий полином Х16 + Х12 + Х5 + 1 результат был бы равен постоянному числу 0хf0b8.
Процедура доступа абонента ТФОП в Интернет состоит из нескольких этапов.
На первом этапе используется протокол LCP (Protocol = 0xc021),
который использует следующий формат (рис. 1.5).
Поле протокола принимает значение 0хс021. Каждое сообщение
характеризуется своим кодом (Code), порядковым номером (ID),
длиной (Length). В длину сообщения включаются все поля от Code
до FCS. В одном сообщении может содержаться несколько парамет­
ров, каждый из которых характеризуется типом параметра (Type),
длиной (Length) и данными (Date).
Коды сообщений (Code): 01 – запрос конфигурации (Configure-Request), 02 – подтверждение конфигурации (Configure-Ack),
03 – запрос на смену конфигурации (Configure-Nak), 04 – отказ от
конфигурации (Configure-Reject), 05 – запрос на разъединение
Flag Address Control Protocol
Code
0x7e
0xff
0x03 0xc021
ID Length Type Length Data
Рис. 1.5. Формат кадра протокола LCP
18 Интерфейсы и протоколы сетей следующего поколения
...
FCS
Flag
2 байта 0x7e
(Terminate-Request), 06 – подтверждение разъединения (Terminate-Ack).
Полная диаграмма взаимодействия оконечного устройства (Host),
сервера сетевого доступа (NAS) и сервера аутентификации, авторизации и учета (ААА) при организации доступа абонента ТФОП в Интернет приведена на рис. 1.6.
Хост
Сервер NAS
Протокол PPP
1
2
Протокол RADIUS
Protocol = 0xc021, code=01,
Type = 1, MTU=300, Type=7, PFC=7
Protocol = 0xc021, code=04,
Type = 7, PFC=7
Protocol = 0xc021, code=01,
Type = 1, MTU=300
Protocol = 0xc021, code=03,
Type = 1, MTU=200
Protocol = 0xc021, code=01,
Type = 1, MTU=200
Protocol = 0xc021, code=02,
Type = 1, MTU=200
Protocol = 0xc021, code=01,
Type = 3, Auth.prot=0xc223, Algorithm=5
Protocol = 0xc021, code=02,
Type = 3, Auth.prot=0xc223, Algorithm=5
Protocol = 0xc223, code=01,
Value = V
Protocol = 0xc223, code=02,
Name=ABC, Value = W
Protocol = 0xc223, code=03
3
Сервер AAA
Prot=UDP, code=01,
Auth = 0, Attr = Name, Chall=V
Prot=UDP, code=02,
Auth = W, Attr=Name, Chall=V
Protocol = 0x8021, code=01,
Type = 3, IPaddress = 0
Protocol = 0x8021, code=02,
Type = 3, IPaddress = a.b.c.d, Mask,
IPDNS=e.f.g.h
Prot=UDP, code=04,
IPaddress=a.b.c.d , Mask,
IPDNS=e.f.g.h
Prot=UDP, code=05, Data
4
Protocol = 0x0021, …
Protocol =0x0021, …
. . .
5
Protocol = 0xc021, code=05,
Data
Protocol = 0xc021, code=06,
Data
Prot=UDP, code=04,
IPaddress=a.b.c.d
Prot=UDP, code=05
Рис. 1.6. Процедура доступа абонента ТФОП в Интернет
Базовые протоколы Интернет 19
Из рис. 1.6 видно, что вначале хост по протоколу LCP (Protocol =
= 0xc021) запросил соединение с параметрами MTU = 300, PFC = 7,
но в результате их согласования с сервером доступа NAS (Code = 02)
установлены параметры MTU = 200 (MTU – максимальный размер
пакета в байтах), протокол аутентификации – CHAP (Auth.prot =
= c223). Обмен сжатыми заголовками (PFC = 7) сервером доступа
NAS был отвергнут (Code = 04).
На втором этапе производится аутентификация пользователя
с посредством протокола CHAP (Protocol = 0xc223) [41]. Суть процедуры аутентификации состоит в том, что NAS посылает хосту некоторое случайное число V, а хост возвращает другое число W, вычисленное по заранее известной функции с использованием имени
(Name) и пароля (Password), которые вводятся пользователем в компьютер из купленной Интернет-карты у провайдера. Иначе говоря,
W = f (V, Name, Password). Предполагается, что злоумышленник
(хакер) в состоянии перехватить пересылаемые по сети значения V,
Name, W и ему известен алгоритм вычисления функции f.
Существо формирования W состоит в том, что исходные элементы
(биты) случайного числа V различным образом «перемешиваются»
с неизвестными злоумышленнику элементами пароля (Password).
Затем полученный зашифрованный текст подвергается сжатию,
например, суммированию байтов по модулю два. Такое преобразование называется дайджест-функцией (digest function), или хэшфункцией, а результат – дайджестом. Точная процедура формирования дайджеста определена алгоритмом MD5 и описана в [31].
NAS по протоколу RADIUS запрашивает у сервера ААА истинное
значение W, пересылая ему значения Name и Challenge = V. Сервер
AAA на основании полученных от NAS значений V и Name и имеющегося у него в базе данных пароля Password по тому же алгоритму
вычисляет W и отсылает его NAS. NAS сравнивает два значения W,
полученных от хоста и от сервера AAA: если они совпадают, то хосту посылается сообщение об успешной аутентификации – Success
(Code = 03).
На третьем этапе происходит конфигурация сетевых параметров
[33] по протоколу IPCP (он же PPP IPC, Protocol = 0x8021). Хост
запрашивает у NAS сетевые IP-адреса, и NAS выделяет из пула
(диапазона) IP-адрес для хоста (IP-address = a.b.c.d), а также сообщает IP-адрес DNS-сервера (IP-address = e.f.g.h). NAS по протоколу
RADIUS высылает серверу ААА извещение (Code=04) о начале тарификации и получает подтверждение (Code = 05).
20 Интерфейсы и протоколы сетей следующего поколения
На четвертом этапе пользователь начинает сеанс связи с Интернет по протоколу IP (Protocol = 0x0021).
После завершения сеанса (этап 5) пользователь по протоколу LCP
высылает NAS сообщение о разрушении соединения (Code = 05),
NAS подтверждает это сообщение (Code = 06), отсылает серверу
ААА извещение об окончании тарификации и получает от него подтверждение. Все устройства возвращаются в исходное состояние.
Вопросы к п. 1.4
1.Назовите состав и назначение семейства протоколов РРР.
Ответ: LCP – для согласования параметров обмена пакетами; CHAP –
для установления легитимности пользователя; IPCP – для присвоения
IP-адреса.
2.Обеспечивает ли протокол РРР обнаружение ошибок и упорядоченную
доставку пакетов?
Ответ: обнаружение ошибок – да, упорядоченную доставку – нет, это
обеспечивает протокол TCP.
3.Где хранятся данные для аутентификации пользователя?
Ответ: в Интернет-карте и на сервере ААА.
4. Можно ли до установления соединения с сервером NAS заранее определить IP-адрес пользователя?
Ответ: нет. После успешной аутентификации NAS выдает свободный
IP-адрес из диапазона отведенных адресов.
5. Какие способы используются для учета стоимости соединений в Интернет?
Ответ: обычно взимается абонентская плата или плата за объем принятой информации.
1.5.Адресация в Интернет
1.5.1. Системы счисления и операции, применяемые в IP-сетях
Система счисления состоит из символов и правил их применения.
Вес каждого символа зависит от его позиции в изображаемом числе. Счет позиции ведется справа налево, самый правый символ имеет наименьший вес, самый левый – наибольший.
Наиболее распространенной является десятичная система счисления. Она использует десять символов – 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Вес
первого (самого правого) символа числа умножается на 100, следуюБазовые протоколы Интернет 21
щего – на 101 и т. д. Например, десятичное число 3 567 представляется как 3 ⋅ 103 + 5 ⋅ 102 + 6 ⋅ 101 + 7 ⋅ 100 = 3 567.
Цифровые вычислительные устройства используют двоичную
систему счисления (двоичный код). Она использует два символа –
0 и 1. Вес первого (самого правого) символа числа умножается на 20,
следующего – на 21 и т. д. Например, десятичное число 3 567 в двоичном коде представляется как 1 ⋅ 211 + 1 ⋅ 210 + 0 ⋅ 29 + 1 ⋅ 28 + 1 ×
× 27 + 1 ⋅ 26 + 1 ⋅ 25 +0 ⋅ 24 + 1 ⋅ 23 + 1 ⋅ 22 +1 ⋅ 21 + 1 ⋅ 20 = 1101111011112 =
= 2 048 + 1 024 + 256 + 128 + 64 + 32 + 8 + 4 + 2 + 1 = 3 567.
При описании проколов IP-сетей для сокращения записи вместо
двоичного кода используют шестнадцатеричную систему счисления. Она использует шестнадцать символов – 0, 1, 2, 3, 4, 5, 6, 7, 8,
9, A, B, C, D, E, F. Вес первого (самого правого) символа числа умножается на 160, следующего – на 161 и т. д. Например, десятичное
число 3 567 в шестнадцатеричном коде представляется как 13 ⋅ 162 +
+ 14 ⋅ 161 + 15 ⋅ 160 = D ⋅ 162 + E ⋅ 161 + F ⋅ 160 = 0xDEF = 0хdef, где
символ «0х» обозначает запись числа в шестнадцатеричном коде.
Разницы между заглавными и прописными символами нет.
Соответствие между значениями символов в десятичной, двоичной и шестнадцатеричной системе счисления приведено в табл. 1.1.
Для коммутации в IP-сетях используют IP-адрес, состоящий из
32 двоичных символов (битов). Для удобства работы это двоичное
число разбивают на 4 группы по 8 битов, каждую группу представТаблица 1.1
Соответствие кодов различных систем счисления
Десятичный код
Двоичный код
Шестнадцатеричный код
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
22 Интерфейсы и протоколы сетей следующего поколения
ляют в десятичном коде и отделяют одну группу от другой точкой.
Такой способ представления IP-адреса называется десятичноточечным представлением. Например, пусть Y1 = 73, Y2 = 12, Y3 =
= 85 и Y4 = 167. Тогда десятично-точечное представление IP-адреса
Y1.Y2.Y3.Y4 в двоичном и шестнадцатеричном коде имеет вид, показанный в табл. 1.2.
Для шифрования информации в IP-сетях часто применяют операцию вычисления числа M по модулю n, которое записывается
в виде W = modnM и находится как остаток от деления M/n. Например, пусть Y1 = 73, Y2 = 12, Y3 = 85, Y4 = 167 и требуется найти
значение W = mod5Y1Y2Y3Y4 = mod5731285167. Рекомендуется следующий алгоритм вычисления W на калькуляторе:
1) находим частное от деления: w1 = 731285167/5 = 146257033,4;
2) находим целую часть частного: w2 = INT(w1) = 146257033;
3) находим произведение: w3 = 5 ⋅ w2 = 731285165;
4) находим искомое: W = mod5735885167 = 731285167 – w3 = 2.
При вычислении сетевого IP-адреса маршрутизаторы используют логическую операцию «И» поразрядного сложения чисел. Правило сложения разрядов с помощью логической операции «И»: 0&0 =
= 0, 0&1 = 0, 1&0 = 0, 1&1 = 1. Например, результатом логического
сложения по «И» чисел Y1 = 73, Y2 = 240 будет
Y1 = 89  010110012
&Y2 = 240  111100002
010100002  80.
При сравнении сетевых IP-адресов маршрутизаторы используют
логическую операцию поразрядного сложения чисел по модулю 2.
Правило сложения разрядов по модулю 2: 0⊕0=0, 0⊕1=1, 1⊕0=1,
1⊕1=0. Например, результатом логического сложения по модулю 2
чисел Y1 = 73, Y2 = 73 будет
Y1
= 73  010010012
⊕Y2 = 73  010010012
000000002  0.
Таблица 1.2
Различное представление IP-адреса
Способ представления IP-адреса
Десятично-точечное
В двоичном коде
В шестнадцатеричном коде
Значение
73.
12.
85.
167
01001001. 00001100. 01010101. 10100111.
49.
0C.
55.
А7
Базовые протоколы Интернет 23
1.5.2. IP-адресация версии 4
Установление соединения между двумя и более узлами происходит на основе обработки адресной информации, которая обрабатывается устройствами 3-го уровня в маршрутизаторах. К адресу
предъявляются следующие требования:
– должен быть универсальным;
– должен иметь иерархическую структуру, удобную для обработки соответствующими узлами;
– должен быть удобен для пользователя.
В связи с этим в Интернет используются три типа адреса.
Физический адрес (Media Access Control, MAC-адрес) исполь­
зуется для установления соединения в локальной сети (подсети).
Этот адрес совпадает с номером сетевого адаптера (сетевой карты)
компьютера и жестко устанавливается заводом-изготовителем из
пула (диапазона) отведенных ему адресов. Записывается в виде
шестнадцатеричных чисел, разделенных двоеточием, например,
08:00:06:3F:D4:E1, где первые три значения определяют фирмупроизводителя (00:10:5a:xx:xx:xx – 3Com, 00:03:ba:xx:xx:xx – Sun,
00:01:e3:xx:xx:xx – Siemens), а последующие – порядковый номер
узла. Компьютер может иметь несколько сетевых карт и, соответственно, несколько МАС-адресов. При замене аппаратуры изменяется и MAC-адрес, поэтому их использование в качестве сетевых
адресов неудобно.
Символьные (доменные) адреса предназначены для людей. Для
работы в больших сетях символьные адреса имеют сложную иерархическую структуру, содержащую имя пользователя, имя подсети
(поддомена), символьное имя страны или организации (домена). Например, адрес «Ivan.Sidorov@sk.sut.ru» обозначает, что адресат
(Иван Сидоров) находится в подсети «sk» сети «sut» в России «ru»,
а адрес «www.protocols.com» – адрес домена коммерческой организации.
Сетевые адреса (IP-адреса) фиксированной длины применяются
для установления сетевых соединений в Интернет, так как использование символьных имен из-за их переменной длины неудобно.
Между физическим адресом (МАС-адресом), символьным (доменным) именем и IP-адресом нет никакого аналитического соответствия, поэтому приходится использовать таблицы соответствия,
которые хранятся в специальных сетевых устройствах (серверах).
Присвоение IP-адресов, установление соответствия между различ24 Интерфейсы и протоколы сетей следующего поколения
ными типами адресов осуществляется посредством определенных
протоколов.
Согласно [39], в версии 4 сетевые IP-адреса имеют двухуровневую иерархию, старшая часть которых отображает номер сети,
а младшая – номер узла (компьютера) в сети. Общая длина адреса
имеет длину 4 байта и записывается в виде десятичных чисел, разделенных точками. Первые биты сетевого адреса задают класс
адреса, по которому определяется, какая его часть относится к номеру сети, а какая – к номеру узла. Если сеть является частью Интернет, то номер сети назначается централизованно по рекомендации специального органа Интернет – Internet Information Center,
IIC. Номер узла в IP-адресе назначается из разрешенного для этого
класса диапазона независимо от физического адреса. Маршрути­
затор объединяет несколько сетей, поэтому каждый порт (интерфейс) маршрутизатора имеет свой IP-адрес.
В версии IPv4 имеется пять классов адресов, приведенных
в табл. 1.3, где полужирным выделена старшая часть IP-адреса,
указывающая номер сети.
Большие сети используют адреса класса А, средние – класса В,
маленькие – класса С. В IPv4 существуют определенные соглашения об использовании адресов:
1) сеть с номером 0.0.0.0 зарезервирована для использования
в служебных сообщениях, а сеть с номером 127.0.0.0 используется
для петлевого соединения (пересылки пакетов самим себе), поэтому
общее количество сетей класса А равно 126;
2) маршрутизация пакета в публичной сети всегда производится
на основании классического IP-адреса номера сети, согласно табл. 1.3,
поэтому адрес сети не может быть назначен ни одному узлу;
Таблица 1.3
Классы IP-адресов
Класс
Первые Наименьбиты
ший номер
IP-адреса
сети
Наибольший
номер сети
Максимальное количество сетей
Максимальное
количество узлов
в каждой сети
127.0.0.0
191.255.0.0
223.255.255.0
27–2
214–2
221–2
224–2
216–2
28–2
Групповые
адреса
Экспериментальные адреса +
+ резерв
A
B
C
0
10
110
0.0.0.0
128.0.0.0
192.0.0.0
D
1110
224.0.0.0 239.255.255.255
E
1111
240.0.0.0 255.255.255.255
Базовые протоколы Интернет 25
3) адрес узла со всеми двоичными «1» предназначен только для
адресации всем узлам соответствующей сети (широковещательная
рассылка), поэтому этот адрес не может быть назначен ни одному
узлу. Совместно с п. 2 это означает, что число узлов в любой сети
уменьшается на 2;
4) в каждом классе имеется диапазон сетевых адресов для частного использования, которые в публичных сетях отсутствуют. Они
используются для построения локальных корпоративных сетей.
В классе А – это сеть 10.0.0.0, в классе В – диапазоны сетей от
172.16.0.0 до 172.31.0.0, в классе С – диапазон сетей от 192.168.0.0
до 192.168.255.255;
5) основное назначение адресов класса D – распространение информации по схеме «один-ко-многим» для групповой рассылки
в Интернет аудио- и видеоинформации. Хост, который хочет осуществить рассылку, с помощью протокола группового обслуживания
Интернет (Internet Group Management Protocol, IGMP) сообщает
о создании в сети мультивещательной группы с определенным адресом. Устройства, которые хотят присоединиться к создаваемой
группе, высылают свое подтверждение. Одно и то же устройство может входить в несколько групп, в одну и ту же группу могут входить
устройства различных сетей;
6) адреса класса Е зарезервированы для будущих применений.
Маршрутизация пакета в публичной сети всегда производится на
основании классического IP-адреса номера сети, согласно табл. 1.3.
Номер сети принято вычислять с помощью маски, количество лидирующих «единиц» в маске показывает число старших разрядов, которые определяют номер сети. Запись маски производится в формате IP-адреса. Таким образом, для сети класса А стандартная маска
имеет вид 255.0.0.0 (в двоичном коде – 11111111.00000000.00000000.
00000000), для сети класса В – 255.255.0.0 (11111111.11111111.0000
0000.00000000), для сети класса С – 255.255.255.0 (11111111.111111
11.11111111.00000000).
Наличие только четырех классов адресов часто бывает неудобно.
Например, администратору необходимо создать сеть из 8 000 узлов.
Сеть класса С (254 узла) слишком мала, а сеть класса В (65 534) слишком велика. Эта проблема решается с помощью создания подсетей, путем переназначения части битов узла в качестве битов сети. Процесс
заимствования части битов всегда начинается с крайнего левого бита.
Пусть, например, для нашего случая администратор получил
адрес сети 135.38.0.0 (адрес класса В, маска сети 255.255.0.0).
26 Интерфейсы и протоколы сетей следующего поколения
В этой сети 16 битов выделено под адрес сети и 16 битов – на адрес
узла. Администратору необходимо иметь 8 000 узлов, на это необходимо выделить только 13 битов на адреса узлов (213 = 8 192), следовательно, оставшиеся 16 – 13 = 3 бита адреса узла можно переназначить как адрес сети. Тогда маска образованной подсети в двоичном коде будет иметь вид 11111111.11111111.11100000.00000000,
или 255.255.224.0 (полужирным выделены заимствованные биты
адреса узлов класса В). В результате такого деления получим следующие адреса подсетей (табл. 1.4).
Две полученные подсети 135.38.0.0 и 135.38.224.0 использовать
не рекомендуется, так как некоторые типы маршрутизаторов не
поддерживают подсети, сетевой адрес которых совпадает с адресом
исходной классической сети (135.38.0.0) или с адресом широковещательной рассылки исходной классической сети (135.38.255.255).
Теперь одну из оставшихся шести подсетей (например, подсеть
135.38.32.0) администратор использует для своих нужд, а оставшиеся пять подсетей может отдать другому администратору. Архи­
тектура местоположения подсети 135.38.32.0 показана на рис. 1.7.
Для обслуживания пакетов маршрутизатор R (рис. 1.7) использует таблицу маршрутов (табл. 1.5).
Таблица 1.4
Деление сети на подсети
Номер сети
Количество узлов в подсети
10000111 00100110 00000000 00000000
135. 38. 0.
0
8 190
10000111 00100110 00100000 00000000
135. 38. 32.
0
8 190
10000111 00100110 01000000 00000000
135. 38. 64.
0
8 190
10000111 00100110 01100000 00000000
135. 38. 96.
0
8 190
10000111 00100110 10000000 00000000
135. 38. 128.
0
8 190
10000111 00100110 10100000 00000000
135. 38. 160.
0
8 190
10000111 00100110 11000000 00000000
135. 38. 192.
0
8 190
10000111 00100110 11100000 00000000
135. 38. 224.
0
8 190
Базовые протоколы Интернет 27
Другие подсети: 135.38.64.0, 135.38.96.0,
135.38.128.0, 135.38.160.0, 135.38.192.0
Подсеть 135.38.32.0
S2
...
S6
S7
Сеть 135.38.0.0
S1
R
S8
Публичная IPсеть
Рис. 1.7. Архитектура местоположения подсети 135.38.32.0
Таблица 1.5
Таблица маршрутов
Пункт назначения
(Destination)
Маска сети
(Subnet Mask)
Пункт пересылки Интерфейс
(Next Hop)
(Interface)
Метрика
(Metric)
135.38.0.0
255.255.224.0
135.38.0.2
s7
60
135.38.32.0
255.255.224.0
135.38.32.2
s1
1
135.38.64.0
255.255.224.0
135.38.64.2
s2
1
135.38.96.0
255.255.224.0
135.38.96.2
s3
1
135.38.128.0
255.255.224.0
135.38.128.2
s4
1
135.38.160.0
255.255.224.0
135.38.160.2
s5
1
135.38.192.0
255.255.224.0
135.38.192.2
s6
1
135.38.224.0
255.255.224.0
135.38.0.2
s7
60
0.0.0.0
s8
10
Default
Таблица маршрутов в общем случае содержит следующие колонки.
1. Пункт назначения (Destination) – определяет IP-адрес сети
назначения.
2. Маска сети (Subnet Mask) – задает количество лидирующих
бит в IP-адресе, которые определяют число бит адреса сети.
3. Пункт пересылки (Next Hop) – задает IP-адрес интерфейса
следующего маршрутизатора, на который следует направить поступивший пакет (в данном случае совпадает с собственным IP-адресом
выходного интерфейса).
4. Интерфейс (Interface) – задает выходной интерфейс, на который следует направить поступивший пакет для достижения пункта
пересылки (Next Hop).
5. Метрика (Metric) – задает предпочтение в выборе альтернативных маршрутов. Маршруты с меньшей метрикой более предпочтительны.
28 Интерфейсы и протоколы сетей следующего поколения
Для определения дальнейшего маршрута следования поступившего пакета маршрутизатор производит следующие операции:
– поступивший IP-адрес в двоичном коде с помощью логической
операции «И» складывается поразрядно с маской сети первой строки таблицы маршрутизации. Правило сложения двоичных разрядов с помощью логической операции «И»: 0&0 = 0, 0&1 = 0, 1&0 = 0,
1&1 = 1;
– полученный в результате сложения адрес сети сравнивается
с IP-адресом пункта назначения первой строки. При их совпадении
поступивший пакет направляется на интерфейс s1;
– в случае несовпадения те же операции, начиная с пункта 1,
проделываются с последующими строками маршрутной таблицы,
если они имеются;
– все поступившие пакты, адреса которых не найдены в таблице
маршрутов, по умолчанию направляются на интерфейс s8.
Например, пусть из подсети 135.38.32.0 по интерфейсу s1 поступили следующие пакеты с IP-адресами назначения: 135.38.16.15,
135.38.56.211, 135.38.92.10, 136.38.92.10. На какие интерфейсы они
будут направлены?
Для определения номера адресуемой сети складываем по «И» IPадрес назначения первого пакета с маской сети, получим
 10000111. 00100110. 00010000. 00001111&
IP = 135.38.16.15
Mask = 255.255.224.0  11111111. 11111111. 11100000. 00000000
Destination =
10000111. 00100110. 00000000. 00000000  135. 38.0.0.
Пакет будет направлен на неактивный интерфейс s7. Поэтому
маршрутизатор высылает сообщение ICMP типа 3 (недоступность
сети).
Для второго пакета
 10000111. 00100110. 00111000. 11010011&
IP = 135.38.56.211
Mask = 255.255.224.0  11111111. 11111111. 11100000. 00000000
Destination =
10000111. 00100110. 00100000. 00000000  135. 38.32.0.
Получен адрес собственной подсети. Высылается сообщение
ICMP типа 5 (указание о более коротком пути).
Для третьего пакета
 10000111. 00100110. 01011100. 00001010&
IP = 135.38.92.10
Mask = 255.255.224.0  11111111. 11111111. 11100000. 00000000
Destination =
10000111. 00100110. 01000000. 00000000  135. 38.64.0.
Пакет будет направлен на интерфейс s2.
Базовые протоколы Интернет 29
Для четвертого пакета
10101011. 00100110. 01011100. 00001010&
IP = 171.38.92.10
Mask = 255.255.224.0 11111111. 11111111. 11100000. 00000000
Destination =
10101011. 00100110. 01000000. 00000000  171. 38.64.0.
Пакет будет направлен на интерфейс s8.
Для сокращения числа записей в маршрутизаторе широко используют бесклассовую систему междоменной маршрутизации
(Classless Inter Domain Routing, CIDR), в которой маршрутизация
осуществляется на основе префиксов. Префиксом обозначают общую часть старших разрядов адреса, они позволяют сократить число записей в маршрутизаторе. Так, если две первые указанные подсети подсоединены к одному маршрутизатору, то смежным маршрутизаторам не обязательно иметь две записи о каждой подсети, а достаточно иметь одну запись префикса 135.38.0.0/17 с маской
255.255.128.0 (11111111 11111111 10000000 00000000), содержащей
17 лидирующих «единиц».
1.5.3. IP-адресация версии 6
Принципиальным решением устранения дефицита сетевых адресов является расширение адресного поля с 4-байтного (текущей
версии IPv4) на 16-байтное (в новой версии IPv6). Адреса присваиваются интерфейсам; если к интерфейсу подключен один узел, то
его адрес совпадает с адресом узла. Адресация использует бесклассовую систему междоменной маршрутизации (�������������������
Classless Inter Domain Routing, CIDR).
В [54], [55] предложено три формы представления адреса.
Предпочтительная форма – восемь 16-битовых шестнадцатеричных чисел, разделенных двоеточием. Например, FEDC:BA98:7654:3
210:FEDC:BA98:7654:3210.
Сжатая форма – запись длительной последовательности «0» путем введения двойного двоеточия. Двоеточие допускается использовать только в одном месте адреса. Например, адрес 1080:0:0:0:8:
800:200C:417A может быть представлен в виде 1080::8:800:200C:417A.
Смешанная форма – шесть старших чисел (96 бит) записываются
в предпочтительной форме, а младшие числа (32 бита) представляются в виде, принятом в IPv4. Например, 0:0:0:0:0:0:13.1.68.3, или
в сжатой форме ::13.1.68.3.
30 Интерфейсы и протоколы сетей следующего поколения
Длина префикса записывается в конце адреса и отделяется от
него косой линией. Например, адрес 12AB:0000:0000:CD30:0000:0
000:0000:0000/60 содержит 60-битовый префикс 12AB:0000:0000:
CD3, или, в сжатой форме, 12AB:0:0:CD30::/60.
В версии IPv6 имеется три типа адресов.
Индивидуальные адреса (Unicast). Пакет, отправленный по такому адресу, доставляется на указанный интерфейс. Для облегчения функции маршрутизации индивидуальный адрес формируется
в виде составного адреса (Aggregatable Global Unicast Address), старшая часть которого используется магистральными маршрутизаторами, а младшая – маршрутизаторами низшего уровня. В совокупности старшие разряды адреса образуют префикс подсети, а младшие – номер узла в этой подсети. Формат адреса имеет следующие
поля (рис. 1.8).
Для адресации внутри своего интерфейса применяется локальный адрес интерфейса, формат адреса содержит 10 лидирующих
бит вида 1111 1110 10, последовательность из 54 «0», завершаемый
64-битовым адресом узла.
Для адресации внутри своего сайта применяется локальный
страничный адрес, формат адреса содержит 10 лидирующих бит
вида 1111 1110 11, последовательность из 38 «0», 16-битовый номер
подсети, завершаемый 64-битовым адресом узла.
Выборочный групповой адрес (Anycast). Адрес такого типа относится к различным узлам. Пакет, отправленным по такому адресу, доставляется одному ближайшему интерфейсу, маршрут к которому имеет наименьшую метрику. Предполагается для транспортировки пакета по фиксированному пути путем создания стека выборочных адресов. Формат адреса содержит префикс адреса длиной N
бит, завершаемый последовательностью «0» длиной (128 – N) бит.
FP
TLA ID
3 бита
13 бит
001
xxxx . . .xxxx
Reserved
8 бит
00000000
NLA ID
24 бита
xxxx . . . xxxx
SLA ID
16 бит
Xxxx…xxxx
Interface ID
64 бита
xxxx . . . xxxx
Рис. 1.8. Формат индивидуального адреса в IPv6: FP – префикс формата индивидуального адреса с кодовым значением 001; TLA ID – идентификатор старшей части
составного адреса, длина – 13 бит. Рекомендован для использования в магистральных маршрутизаторах; Reserved – резервные 8 бит для расширения полей
TLA ID и NLA ID; NLA ID – идентификатор следующей части составного адреса,
длина – 24 бита. Рекомендован для использования идентификации подсетей;
SLA ID – идентификатор уровня сайта составного адреса, длина – 16 бит.
Рекомендован для использования идентификации Интернет-страниц (сайтов);
Interface ID – идентификатор интерфейса (узла)
Базовые протоколы Интернет 31
Групповой адрес (Multicast). Адрес такого типа относится к различным узлам. Пакет, отправленный по такому адресу, доставляется всем интерфейсам, ассоциированным с этим типом адреса. Формат адреса содержит начальный байт FF, полубайт типа группы (1 –
постоянная, 0 – временная), полубайт типа группового адреса (0 –
общеизвестный групповой адрес, 1 – временный групповой адрес),
тип группы (0 – резерв, 1 – всем локальным узлам, ..., E – глобальный, F – резерв), завершаемый групповым идентификатором длиной 112 бит.
Имеются специальные адреса. Неспецифицированный адрес
0:0:0:0:0:0:0:0 используется при запросе назначения адреса, петлевой адрес 0:0:0:0:0:0:0:1 используется для отправки пакета самому себе.
1.5.4. Присвоение IP-адресов
В локальной сети присвоение пользователям IP-адресов производится с помощью протокола динамической конфигурации компьютера (Dynamic Host Configuration Protocol, DHCP) в соответствии
с моделью «клиент – сервер». При включении компьютер-клиент
посылает в сеть широковещательный UDP-запрос на закрепление
IP-адреса за MAC-адресом компьютера. Находящийся в той же сети
DHCP-сервер в ответ высылает статический или динамический IPадрес и IP-адрес DNS-сервера.
Статический IP-адрес выдается клиенту в постоянное пользование из пула (диапазона) адресов, задаваемых администратором
при конфигурировании DHCP-сервера. Между физическим и сетевым адресом имеется жесткое соответствие, при всех запросах
DHCP-сервер возвращает клиенту один и тот же IP-адрес.
При динамическом распределении сетевой IP-адрес выдается
клиенту на ограниченное время пользования (на время аренды) из
пула адресов, задаваемых администратором при конфигурировании DHCP-сервера. До истечения срока аренды между физическим
и сетевым адресом имеется жесткое соответствие, при всех запросах DHCP-сервер возвращает клиенту один и тот же IP-адрес. По истечении срока аренды (например, сеанса связи) тот же IP-адрес может быть присвоен другому компьютеру, что позволяет провайдерам строить IP-сеть с количеством компьютеров, превышающим
число IP-адресов.
32 Интерфейсы и протоколы сетей следующего поколения
Для экономии внешних сетевых IP-адресов часто используют
транслятор сетевых адресов (Network Address Port Translation,
NAPT). В этом случае при установлении связи из частной сети во
внешнюю сеть маршрутизатор подменяет адрес частного использования (например, 10.0.0.5) на один из нескольких или даже на один и тот
же внешний IP-адрес (например, 208.106.44.5), но с уникальным для
каждого сеанса связи номером внешнего порта маршрутизатора.
1.5.5. Принцип коммутации в IP-сети
Рассмотрим процессы установления соединений в IP-сети (рис. 1.9)
между двумя локальными сетями Х и Y. В сети Х имеется два хоста: хост А, имеющий IP-адрес IPA, и хост В, имеющий IP-адрес
IPB; в сети Y также имеется два хоста: C с IP-адресом IPC и хост D
с IP-адресом IPD. Сети напрямую соединены через маршрутизаторы R1 и R2. Дополнительно может быть использован путь через
маршрутизатор R3.
Предположим, что пользователь А запускает некий прикладной
процесс, требующий установления соединения с хостом В своей же
сети. От приложения узла А в модуль IP поступает дейтаграмма
с IP-адресом назначения IPB. Модуль IP хоста А имеет следующую
таблицу маршрутизации (табл. 1.6).
Из данных табл. 1.6 следует, что хост А подсоединен к сети Х,
номер которой определяется 18 первыми битами IP-А. Все пакеты,
IP-адрес которых не совпал с адресом сети Х, следует направлять
через сеть на IP-адрес маршрутизатора IPR11.
R3
Локальная сеть Х
IPA
EA
S1
IPB
Локальная сеть Y
IPC
IPD
S2
S3
EB
E1
ER11/IPR11 R1
E2
E2
ER21/IPR21
ER12/IPR12
S3
R2
E1
EC
ED
ER22/IPR22
Рис. 1.9. Фрагмент IP-сети
Базовые протоколы Интернет 33
Таблица 1.6
Таблица маршрутов хоста А
IP-адрес
(IP-address)
Маска сети
(Subnet Mask)
Адрес шлюза
(Default Gateway)
Метрика
IP-A
255.255.192.0
IPR11
1
В данном случае IP-адрес назначения совпадает с адресом собственной сети. Для перемещения дейтаграммы в локальной сети Х
модулю IP необходимо знать МАС-адрес хоста В. Для этого он обращается к своему модулю ARP, который хранит таблицы соответствия
IP- и МАС-адресов. Допустим, что такой записи нет, поэтому модуль
ARP отправляет в сеть Х широковещательный запрос, содержащий
собственный МАС-адрес ЕА и IP-адрес узла назначения IPB. Хост В,
приняв запрос, в ответ высылает свой МАС-адрес EB модулю ARP хоста А, который в своей таблице соответствия адресов создает запись
«IPВ соответствует EВ» для будущего использования и отдает принятый МАС-адрес хоста В своему модулю IP. Теперь модуль IP хоста
А отправляет дейтаграмму хосту В с МАС-адресом EB. В этом случае
IP-адрес хоста В потребовался для определения его МАС-адреса.
Теперь предположим, что от приложения хоста А в модуль IP поступает дейтаграмма с IP-адресом назначения IPC. Допустим, что
хост А ранее выполнял пересылку пакетов в маршрутизатор и ему
известен его МАС-адрес ER11. Модуль IP хоста А формирует кадр
Ethernet с MAC-адресом назначения ER11 и пересылает по локальной сети дейтаграмму маршрутизатору R1.
Таблица маршрутов маршрутизатора R1 может иметь различный вид, в зависимости от производителя и типа используемых
интерфейсов. Если интерфейс использует протоколы Ethernet, то
в таблице маршрутизации используется IP-адрес следующего перехода, а в случае использования протокола PPP – собственный выходной интерфейс маршрутизатора. Сама таблица маршрутизации
может иметь следующий вид (табл. 1.7).
Таблица 1.7
Таблица маршрутов маршрутизатора R1
Пункт назначения
(Destination)
Маска сети
(Subnet Mask)
Пункт пересылки
(Next Hop)
Интерфейс
(Interface)
Метрика
(Metric)
Network X
Network Y
Network Y
Default
255.255.192.0
255.255.0.0
255.255.0.0
IPR11
IPR21
0.0.0.0
0.0.0.0
e1
e2
s3
s3
1
2
4
9
34 Интерфейсы и протоколы сетей следующего поколения
Модуль IP маршрутизатора руководствуется следующими правилами:
1) никогда не менять IP-адрес источника и IP-адрес назначения
(исключение составляют пакеты, имеющие опциональные поля);
2) никогда не направлять пакет на тот порт, от которого он поступил;
3) использовать только три нижних уровня модели OSI;
4) при наличии нескольких альтернативных маршрутов выбирать маршрут с меньшей метрикой (стоимостью).
Модуль IP маршрутизатора R1 анализирует IP-адрес назначения
и обнаруживает, что он принадлежит сети Y. В таблице маршрутизации имеется две записи (вторая и третья строки), совпадающие
с IP-адресом назначения, причем первый маршрут через порт 2 (IPадрес порта IPR21) имеет меньшую метрику (Metric=2). Таблица
маршрутов не хранит сведений о МАС-адресах, но они имеются
в другой – ARP-таблице (не приведена), где имеется запись о том,
что IP-адресу IPR21 соответствует МАС-адрес ER21. Модуль IP
маршрутизатора R1 по протоколу Ethernet направляет пакет (IPадрес назначения = IPC, МАС-адрес назначения = ER21, IP-адрес
источника = IPA, МАС-адрес источника = ER12) через свой порт 2
в порт 1 маршрутизатора R2, где модуль канального уровня порта 1
принимает пакет и в виде дейтаграммы передает его в свой модуль
IP. Интерфейс между маршрутизаторами R1 и R2 интерпретируется как вырожденная сеть Ethernet, содержащая два узла, IP-адреса
IPR12 и IPR21 не должны совпадать с диапазонами IP-адресов сетей
X и Y и обычно выбираются из диапазона частных адресов. Маршрутизаторы R1 и R3 между собой используют протокол РРР, который не требует выделения ни IP-адреса, ни МАС-адреса, они заменяются именем собственного выходного интерфейса (порта).
Маршрутизатор R2 имеет три интерфейса (порта) и примерно
следующую таблицу маршрутов (табл. 1.8).
Таблица 1.8
Таблица маршрутов маршрутизатора R2
Пункт назначения
(Destination)
Маска сети
(Subnet Mask)
Пункт пересылки
(Next Hop)
Интерфейс
(Interface)
Метрика
(Metric)
Network Y
Network X
Network X
Default
255.255.0.0
255.255.192.0
255.255.192.0
IPR22
IPR12
0.0.0.0
0.0.0.0
e1
e2
s3
s3
1
3
6
8
Базовые протоколы Интернет 35
Модуль IP маршрутизатора R2 анализирует IP-адрес назначения
IPC и обнаруживает, что он совпадает с адресом собственной сети Y
(Metric = 1). Маршрутизатор по локальной сети Y через порт 2 передает пакет узлу С, используя те же процедуры, которые были рассмотрены при передаче пакета в локальной сети от узла А к узлу В.
Вопросы к п. 1.5
1.Найти mod19 87651234.
Ответ: mod19 87651234 = 16.
2.Найти результат сложения чисел 123 и 456, используя операцию логического сложения «И».
Ответ: 1101100112 = 435.
3. Какую информацию содержит ARP-таблица?
Ответ: соответствие между IP- и МАС-адресами.
4.В каком случае устройство инициирует ARP-запрос?
Ответ: устройство имеет IP-адрес назначения, но в своей ARP-таблице
не может найти соответствующий ему МАС-адрес.
5. Какие уровни стека протоколов использует маршрутизатор?
Ответ: с 1 по 3.
6. Может ли в публичной сети существовать IP-адрес хоста 10.2.3.4?
Ответ: нет, адрес сети 10.0.0.0 используется только в частных сетях.
7. Может ли в таблице маршрутизации существовать IP-адрес интерфейса
10.2.3.4 для пересылки пакета между соседними маршрутизаторами?
Ответ: да.
1.6.Физический уровень
Назначение физического уровня – надежная передача бит между
отдельными узлами. Для того чтобы приемник точно знал, в какой
момент времени нужно считать принимаемый бит, используются
различные системы синхронизации. Внутри узла близко распо­
ложенные модули обычно обмениваются информацией двоичным
биполярным потенциальным кодом NRZ (Non Return to Zero),
­используя тактовые частоты от одного и того же задающего гене­
ратора (ЗГ, рис. 1.10). В коде NRZ двоичной «1» соответствует
­напряжение не менее 2,4 вольта, а двоичному нулю – не более
0,4 вольта.
Код NRZ содержит постоянную составляющую и плохо приспособлен для передачи по длинным металлическим линиям с большой
36 Интерфейсы и протоколы сетей следующего поколения
Передатчик
узла 1
Приемник
узла 2
Тактовая
частота
ЗГ
Тактовая
частота
Рис. 1.10. Синхронизация между узлами от единого задающего генератора
емкостью между проводами. Вдобавок приведенная схема плохо
приспособлена для передачи на сколь-либо длинное расстояние изза необходимости прокладки отдельных трасс раздачи тактовой частоты от ЗГ к каждому узлу. Поэтому исходную передаваемую информацию следует преобразовать так, чтобы устранить постоянную
составляющую, и из нее можно было бы извлечь информацию о тактовой частоте. Код NRZ мало приспособлен для этой цели в случае
длительной передачи последовательных «1» или «0». В зависимости
от способа выделения тактовой частоты передачи различают две системы синхронизации – асинхронную и синхронную.
В асинхронной системе передача информации производится
байтами, передатчик и приемник работают на своих тактовых частотах, близких по номиналу. Начало передачи каждого байта передатчик предваряет специальным сигналом (битом) «старт», по которому приемник настраивает свой ЗГ на моменты считывания информации. Окончание передачи байта завершается сигналом «стоп»
(один/два байта), после которого передатчик выдерживает определенную паузу для подготовки приемника на прием следующего байта. За время передачи байта ЗГ приемника не успевает существенно
разойтись по частоте с ЗГ передатчика, а при приеме следующего
байта происходит его новая настройка.
В синхронной системе передача ведется непрерывно, без пауз
между байтами. Для корректного приема передаваемый сигнал кодируют так, чтобы из него можно было извлечь информацию о тактовой частоте. Такие коды называются самосинхронизирующимися, а устройство, их осуществляющее, – преобразователем линейных кодов. В локальных сетях Ethernet для скоростей 10 Мбит/с
широко применяется линейный код манчестер. Код манчестер не
содержит постоянной составляющей. Правило преобразования исходного кода NRZ в манчестерский: каждый исходный бит передается двумя битами противоположной полярности, причем первый
имеет инверсное значение, второй – истинное (рис. 1.11).
Базовые протоколы Интернет 37
а
Амплитуда
1
1
1
0
0
1
1
0
0
1
0
1
t
б
t
Рис. 1.11. Преобразование в манчестерский код: а – код NRZ; б – манчестерский код
В технологии Fast Ethernet (100 Мбит/с) для передачи по металлическим линиям используется избыточный самосинхронизирующийся код 4В/5В. Правило преобразования исходного кода в линейный состоит в замене 4 бит исходной комбинации (16 комбинаций)
на 5 бит (32 комбинации) согласно табл. 1.9.
Таблица 1.9
Преобразование кода NRZ в код 4В/5В
Номер
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Исходный код (NRZ)
Линейный код (4В/5В)
0001
0100
0101
00000
00001
00010
00011
00100
00101
00110
00111
01000
01001
01010
01011
01100
01101
01110
01111
10000
10001
10010
10011
10100
0110
0111
1000
1001
0010
38 Интерфейсы и протоколы сетей следующего поколения
Окончание табл. 1.9
Номер
Исходный код (NRZ)
Линейный код (4В/5В)
21
22
23
24
25
26
27
28
29
30
31
0011
1010
1011
10101
10110
10111
11000
11001
11010
11011
11100
11101
11110
11111
1100
1101
1110
1111
0000
Линейные коды подобраны таким образом, чтобы в линию передавалось максимальное количество «1», независимо от исходного
кода. Поскольку комбинаций линейных кодов в два раза больше
комбинаций исходного кода, то половина линейных кодов, отмеченных в табл. 1.9 полужирным, является запрещенной. Если все же
приемник принял запрещенную линейную комбинацию, то это
означает, что в линии произошло искажение передаваемого сигнала. Буква «B» в названии линейного кода означает, что используется два состояния линейного сигнала. Такая замена приводит к увеличению тактовой частоты передачи со 100 Мбит/с до 125 Мбит/с,
и для ее понижения используется линейный код MLT-3. Правило
преобразования исходного кода NRZ в MLT-3: «1» передаются дебитами противоположной полярности, причем первая половина повторяет предыдущую полярность, «0» – сохранением полярности
(рис. 1.12).
Амплитуда
а
1
1
1
0
0
1
1
0
0
1
0
1
t
б
t
Рис. 1.12. Преобразование в MLT-3: а – код NRZ; б – код MLT-3
Базовые протоколы Интернет 39
Вопросы к п. 1.6
1. Какую тактовую частоту использует передатчик и приемник при асинхронном обмене?
Ответ: каждый из них использует свою тактовую частоту.
2. Какую тактовую частоту используют передатчик и приемник при синхронном обмене?
Ответ: приемник использует тактовую частоту передатчика.
3.Почему между узлами не используется код NRZ?
Ответ: из-за трудности выделения приемником тактовой частоты.
1.7.Канальный уровень
На канальном уровне осуществляется коммутация пакетов в локальной сети. Существует много технологий канальных уровней –
Ethernet, Token Ring, FDDI и др. Каждая из технологий рассчитана на определенную топологию: Ethernet – на подключение всех
узлов к общей шине, а Token Ring и FDDI имеют кольцевую топологию.
1.7.1. Технология Ethernet
Технология Ethernet [25] – это самая распространенная технология локальных сетей. В зависимости от типа физической среды
имеются различные стандарты – 10Base-5, 10Base-2, 10Base-T,
10Base-F. Число «10» обозначает скорость передачи 10 Мбит/с,
Base – передачу на одной базовой частоте 10 МГц, последний символ обозначает тип кабеля (5 – коаксиальный кабель диаметром
0,5 дюйма, 2 – коаксиальный кабель диаметром 0,25 дюйма, Т –
неэкранированная витая пара, F – оптический кабель).
Во всех вариантах на физическом уровне используется манчестерский код. В сетях Ethernet используется множественный доступ с контролем несущей и обнаружением коллизий (Carrier Sense
Multiply Access with Collision Detection, CSMA/CD). Все компьютеры сети имеют доступ к общей шине через встроенный в каждый
компьютер сетевой адаптер, используя полудуплексный режим передачи. Схема подключения компьютеров по коаксиальному кабелю приведена на рис. 1.13.
40 Интерфейсы и протоколы сетей следующего поколения
Коаксиальный кабель
Коаксиальный кабель
Повторитель
К другим
сетям
Маршрутизатор
Узел 1 Узел 2
Узел X
Узел X+1
Узел N
Рис. 1.13. Сеть Ethernet на коаксиальном кабеле (стандарты 10Base-5 / 10Base-2)
Перед началом передачи узел должен убедиться в отсутствии занятия несущей среды, признаком которого является отсутствие на
ней несущей частоты. Если среда свободна, то узел имеет право начать передачу кадра определенного формата. Предположим, что
узлу 2 требуется передать кадр узлу N. Обнаружив, что среда свободна, узел 2 начинает передачу кадра (рис. 1.14), которая предваряется преамбулой (preamble), состоящей из 7 байт вида 10101010
и байта начала кадра (Start of Frame Delimiter, SFD) вида 10101011.
Эти комбинации нужны приемнику для вхождения в побитовый
и кадровый синхронизм с передатчиком. Кадр заканчивается полем контрольной суммы (FCS) длиной 4 байта (на рис. 1.14. не показано). Сигналы передатчика распространяются по кабелю в обе
стороны, и все узлы распознают начало передачи кадра. Только узел
N опознает собственный адрес (МАС-адрес назначения) в начале
кад­ра и записывает его содержимое в свой буфер для обработки. Из
принятого кадра определяется адрес источника (МАС-адрес источника), которому следует выслать кадр-ответ.
1
2
3
4
5
7-й уровень
6-й уровень
5-й уровень
4-й уровень
3-й уровень
Тип протокола
МАС-адрес источника (6 байт)
МАС-адрес назначения (6 байт)
Преамбула (5–7 байты)
Начало
Преамбула (1–4 байты)
Рис. 1.14. Местоположение в стеке протоколов и форматы физического
и канального уровней сети Ethernet
Базовые протоколы Интернет 41
6
Получатель пакета на 3-м уровне определяется в соответствии
с полем Тип протокола (Protocol Type): значение 0х0800 – адрес модуля IP, 0806 – адрес модуля ARP. Минимальное и максимальное значения длины поля для протоколов верхних уровней – 46
и 1 500 байт соответственно. Порядок передачи бит кадра: слева направо/снизу вверх (рис. 1.14), цифрами обозначены длины полей
кад­ра в байтах.
Любой узел при наличии кадра к передаче и занятой среде вынужден ждать ее освобождения. Признаком окончания передачи
является пропадание несущей частоты. После окончания передачи
кадра все узлы должны выдержать технологическую паузу 9,6 мкс,
чтобы привести сетевые адаптеры в исходное состояние и предотвратить повторный захват среды одним и тем же узлом. Иногда возникают ситуации, когда один узел уже начал передачу, но другой
узел еще не успел это обнаружить и также начинает передачу своего
кадра. Такая ситуация захвата свободной среды более чем одним
узлом называется коллизией. Механизм разрешения коллизии состоит в следующем.
Узел, ведущий передачу кадра, одновременно наблюдает за приемом. Если уровень принимаемого сигнала не превышает порогового значения, то узел продолжает передачу, в противном случае узел
прекращает передачу кадра и посылает в сеть специальную 32-битную jam-комбинацию с нерегламентированной последовательностью, просто приводящей к повышению уровня сигнала в локальной сети, из-за увеличения амплитуды импульсов манчестерского
кода суммарного сигнала. После этого узел, обнаруживший коллизию, делает случайную паузу и затем снова может повторить попытку передачи кадра. Число повторных попыток не может превысить
16. Если же и после 16-й попытки кадр вызвал коллизию, то он отбрасывается. При большом количестве узлов вероятность коллизии
возрастает, и пропускная способность сети Ethernet падает, так как
сеть все бόльшее время занята обработками коллизий и отбрасыванием кадров.
Для увеличения длины общей сети, состоящей из различных сегментов кабеля, используются повторители. Повторитель является
устройством 1-го уровня, он принимает сигналы из одного сегмента
кабеля и побитно синхронно повторяет их на другом сегменте кабеля, увеличивая мощность и улучшая форму импульсов. Применение
повторителя вносит дополнительную задержку и ухудшает распознавание коллизии, поэтому их количество в сети Ethernet не долж42 Интерфейсы и протоколы сетей следующего поколения
но превышать 4, при этом максимальная длина одного сегмента
должна быть не более 500 м, а диаметр всей сети – не более 2 500 м.
Наряду с очевидной простотой, стандарты 10Base-5 и 10Base-2
обладают существенным недостатком: трудоемкостью локализации
неисправного сетевого адаптера для отсоединения поврежденного
узла.
Сеть Ethernet стандарта 10Base-T предусматривает сохранение
всех протоколов канального уровня стандартов 10Base-5 и 10Base-2
и требует замены только сетевого адаптера в каждом узле. Соединение узлов между собой осуществляется через центральное устройство – концентратор (рис. 1.15), что значительно устраняет недостатки предыдущих стандартов.
Концентратор (Hub) является устройством 1-го уровня и осуществляет функции повторителя на всех отрезках витых пар между
концентратором и узлом, за исключением того порта, с которого поступает сигнал. Каждый порт имеет приемник (R) и передатчик (T).
Кроме того, концентратор сам обнаруживает коллизию и посылает
jam-последовательность на все свои выходы. Типовая емкость концентратора – от 8 до 72 портов.
Концентраторы можно соединять друг с другом с помощью тех
же портов, которые используются для подключения узлов. Стандарт разрешает соединять концентраторы только в древовидные
структуры, любые петли между портами концентратора запрещены. Для надежного распознавания коллизии между двумя любыми
Концентратор
T
R
Узел 1
T
R
. . .
T
R
Узел N
Узел 2
Рис. 1.15. Сеть Ethernet на витой паре (стандарт 10Base-T)
Базовые протоколы Интернет 43
узлами должно быть не больше 4 концентраторов, при этом максимальная длина между концентраторами должна быть не более 100 м,
а диаметр всей сети – не более 500 м.
В стандарте 10Base-F в качестве передающей среды используется
оптоволоконный кабель. Он предусматривает сохранение всех протоколов канального уровня предыдущих стандартов и требует замены только сетевого адаптера.
Технология Fast Ethernet позволяет передавать кадры со скоростью 100 Мбит/с, аппаратно отличается от технологии Ethernet
только на физическом уровне. В качестве физической среды может
использоваться только витая пара или оптоволоконный кабель; способ кодирования линейного сигнала – код 4В/5В или 8В/6Т; максимальный диаметр сети – 200 м. Последние модели концентраторов
сами определяют скорость передачи подключенных узлов и автоматически подстраиваются под соответствующую скорость.
Построение локальных сетей большой емкости только с помощью концентраторов приводит к возрастанию числа коллизий
и снижению пропускной способности сети. Поэтому концентраторы
используются для построения небольших фрагментов сетей, которые затем объединяются с помощью мостов и коммутаторов.
Мост (Bridge) является устройством 2-го уровня, он также со­
единяет два сегмента сети (рис. 1.16), но, в отличие от повторителя,
снабжен определенной логикой. Порт моста записывает все кадры,
поступающие от узлов одного сегмента, в буферную память.
В исходном состоянии, когда состав сети неизвестен, мост ретранслирует буферизированные кадры, поступающие с одного порта, на другой порт по алгоритму CSMA/CD. Одновременно мост создает таблицу принадлежности МАС-адреса каждого поступающего
пакета конкретному порту. По истечении некоторого времени мост
составит следующую таблицу (табл. 1.10).
Если теперь мост получает кадр от узла 1, направленный к узлу N
(рис. 1.16), то он по свой таблице определяет, что нужно ретранслировать кадр из буфера порта 1 в порт 2. Если же мост получает кадр
Порт 1
Мост
Порт 2
К другим
сетям
Маршрутизатор
Узел 1 Узел 2
Узел X
Узел X+1
Узел N
Рис. 1.16. Сеть Ethernet с использованием моста
44 Интерфейсы и протоколы сетей следующего поколения
Таблица 1.10
Таблица маршрутов моста
Порт 1
Порт 2
МАС-адрес узла 1
МАС-адрес узла 2
...
МАС-адрес узла Х
МАС-адрес узла Х + 1
...
МАС-адрес узла N
МАС-адрес маршрутизатора
от узла 2, направленный к узлу Х, то он по своей таблице определяет, что узлы находятся в одном сегменте и стирает кадр в буферной
памяти порта 1. Записи в таблице, произведенные мостом, являются динамическими. По истечении определенного короткого времени, если мост не принял ни одного кадра от какого-то узла, то такая
запись стирается. Такая процедура ограниченного хранения записанных данных называется кэшированием (cache) и предохраняет
таблицу от переполнения при удалении узла из сети или при перемещении узла из одного сегмента в другой. Записи, внесенные в таб­
лицу администратором, называются статическими и не имеют
срока жизни, они дают возможность администратору при необходимости принудительно подправлять работу моста.
Коммутатор (Switch) использует топологию типа звезда, является устройством 2-го уровня и функционально представляет собой
многопортовый мост, к каждому порту которого может быть подключен отдельный хост, концентратор, сервер или маршрутизатор
(рис. 1.17). Каждый порт коммутатора оснащен процессором обработки пакетов (Пр), который может работать как в полудуплексном,
так и в дуплексном режимах. При подключении к порту коммутатоКоммутатор
Порт 1
Мх
Порт Х
Пр
Пр
Порт Х+1
Концентратор
. . .
. . .
. . .
Хост
Пр
Пр
Порт N
К другим
сетям
Маршрутизатор
Сервер
ЦПР
Рис. 1.17. Сеть Ethernet с использованием коммутатора
Базовые протоколы Интернет 45
ра отдельного узла (компьютера или маршрутизатора) порт коммутатора устанавливается в дуплексный режим, а в узле устанавливается сетевая карта с подавлением коллизий. За счет этого узел
и коммутатор имеют возможность одновременной передачи и приема пакетов. При подключении к порту коммутатора концентратора
порт коммутатора устанавливается в полудуплексный режим.
Для коммутации кадров между портами используется коммутационная матрица (Мх). Аналогично мосту, каждый порт ведет
адресную таблицу МАС-адресов (content-addressable memory, CAM),
подключенных к нему устройств, и сообщает о ней центральному
процессору (ЦПР). После приема начальных бит кадра входной процессор анализирует адрес назначения и пытается установить соединение через коммутационную матрицу, не дожидаясь прихода
оставшихся бит кадра. Для этого он обращается к ЦПР с заявкой на
установление пути в коммутационной матрице. ЦПР имеет адресную таблицу и может осуществить запрашиваемое соединение, если
порт назначения свободен, т. е. не соединен с другим портом. Если
же порт занят, то ЦПР в соединении отказывает, и кадр продолжает
буферизироваться процессором входного порта до освобождения
выходного порта. После того, как требуемый путь в коммутационной матрице установлен, по нему направляются кадры в выходной
порт, где они повторно буферизируются на случай разной скорости
коммутируемых портов. Процессор выходного порта по значению
контрольной суммы (FCS) опционально может проверить целостность принятого кадра и начинает передавать по сегменту Ethernet
принятый кадр. Из-за наличия множества портов коммутатор обладает существенно более высокой производительностью за счет параллельной обработки кадров. Если потоки данных между портами
распределяются, не конфликтуя между собой, т. е. соединения вида
«входной порт – выходной порт» образуют независимые пары, то
коммутатор емкостью N портов может одновременно обслуживать
N/2 полудуплексных соединений или N дуплексных соединений.
1.7.2. Технология Token Ring
Технология Token Ring [36] также использует разделяемую среду
с топологией в виде кольца (рис. 1.18), но, в отличие от Ethernet,
используется не случайный, а детерминированный доступ. Право
на доступ передается от одного узла к другому в виде специального
46 Интерфейсы и протоколы сетей следующего поколения
Концентратор
R
T
R
T
R
T
. . .
Узел 1
Узел 2
Узел N
Рис. 1.18. Сеть Token Ring
кадра, называемым маркером (Token). Каждый порт имеет приемник (R) и передатчик (T). Скорость передачи кадров по кольцу может быть 4 или 16 Мбит/с, смешение скоростей в одном кольце не
допускается. В качестве физической среды может использоваться
витая пара или оптоволоконный кабель. Максимальное число узлов
в кольце – 260, максимальная длина кольца – 4 000 м.
В сети Token Ring любой узел, получив маркер от предыдущего
узла, изымает его из кольца и, если поступил кадр от вышележащего уровня, начинает его передачу. Кадр имеет адрес назначения
и адрес источника. Передаваемый кадр последовательно проходит
по кольцу от одного узла к другому. Все узлы, собственный адрес
которых не совпал с адресом назначения в кадре, ретранслируют
кадр побитно, как повторители. Если приемный узел распознал
свой адрес, то он копирует кадр в свой буфер и вставляет в ретранслируемый кадр признак подтверждения приема. Узел, инициировавший передачу кадра, получив подтверждающий кадр, изымает
его из кольца и передает маркер следующему узлу. Каждый узел
следит за временем удержания маркера, которое обычно равно
10 мс. За это время узел может передать несколько кадров.
При первоначальном включении все станции начинают процедуру выбора активного узла, критерием которого является узел с максимальным значением МАС-адреса. В дальнейшем этот узел каждые 3 секунды генерирует специальный кадр своего присутствия
и восстанавливает маркер в случае его утери. В случае отключения
какого-либо узла от сети или пропадания питания на узле релейные
схемы этого порта замыкают накоротко его передатчик (T) с приемником (R), обеспечивая неразрывность кольца.
Базовые протоколы Интернет 47
1.7.3. Технология FDDI
Технология FDDI (Fiber Distributed Data Interface) [35] базируется
на технологии Token Ring, т. е. использует разделяемую среду с топологией в виде кольца, но в качестве транспортной среды использует два оптоволоконных кабеля (рис. 1.19) со скоростью передачи
до 100 Мбит/с. Используется линейный код 4В/5В. За счет низкого
затухания оптического сигнала максимальная длина кольца может
достигать 100 км.
В исправном состоянии сети кадры проходят через все узлы
основного кольца, резервное кольцо при этом не используется. При
повреждении основного кольца (на рис. 1.20 это участок между
­первым и вторым узлом) оптические переключатели (ОП) срабатывают так, что задействуется вторичное кольцо, при этом направление следования передаваемых кадров от узла к узлу не меняется.
Наличие нескольких повреждений приводит к образованию нескольких независимых сетей.
Концентратор
ОП
ОП
ОП
. . .
Узел 1
Узел N
Узел 2
Рис. 1.19. Сеть FDDI в исправном состоянии
Концентратор
ОП
ОП
ОП
. . .
Узел 1
Узел 2
Узел N
Рис. 1.20. Реконфигурация сети FDDI при повреждении основного кольца
48 Интерфейсы и протоколы сетей следующего поколения
Вопросы к п. 1.7
1. Какую адресную информацию используют повторители и концентраторы для пересылки пакетов с одного сегмента сети на другой?
Ответ: никакую.
2. Какую адресную информацию используют мосты для пересылки пакетов с одного сегмента сети на другой?
Ответ: МАС-адрес.
3. Какую адресную информацию используют коммутаторы для пересылки пакетов с одного порта сети на другой?
Ответ: МАС-адрес.
4. Какую адресную информацию используют маршрутизаторы для пересылки пакетов с одного интерфейса сети на другой?
Ответ: IP-адрес.
1.8.Сетевой уровень
Основным протоколом сетевого уровня является протокол Интернет, которым пользуется IP-модуль для коммутации (перемещения) пакета с одного интерфейса на другой. Но коммутация в локальной сети происходит на основе МАС-адресов, поэтому IPмодуль пользуется таблицей соответствия вида «IP-адрес – МАСадрес», которую заполняет протокол преобразования адресов. Для
нахождения оптимального маршрута IP-модуль использует таблицу маршрутизации, которую составляет протокол маршрутизации. О возникших проблемах маршрутизаторы извещают друг друга при помощи протокола межсетевых управляющих сообщений.
Рассылка одного и того же пакета множеству получателей производится протоколом группового обслуживания. Рассмотрим упомянутые протоколы подробнее.
1.8.1. Протокол Интернет версии 4
Протокол Интернет версии 4 (Internet Protocol, IPv4) [18] решает
две базовые функции: адресацию и фрагментацию. Маршрутизацию пакета модуль IP осуществляет по адресу, имеющемуся в заголовке пакета. Там же имеется информация о способе фрагментации/сборке дейтаграмм, если максимальная длина сетевого пакета
Базовые протоколы Интернет 49
(Maximum Transfer Unit, MTU) отличается от значения MTU, принятого на адресуемом интерфейсе.
Формат IPv4 изображен на рис. 1.21. Порядок передачи бит кад­
ра: слева направо/снизу вверх.
Назначение полей пакета следующее.
Версия (Version) – определяет версию протокола, длина – 4 бита,
для версии 4 Version=4 (двоичный код 0100).
Длина заголовка (Internet Header Length, IHL) – определяет длину заголовка в 32-битных словах, минимальная значение – 5
(20 байт), максимальное – 15 (60 байт).
Тип услуги (Type of Service, TOS) – длина – 8 бит, задает приоритетность обслуживания пакета и критерий выбора маршрута следующим образом. Биты 0–2: приоритет (Precedence) – определяют
IP-приоритет пакета (111 – наивысший приоритет, 000 – низший);
биты 3–6 указывают на предпочтение при выборе маршрута (код
1000 – низкая задержка; код 0100 – высокая пропускная способность; код 0010 – высокая надежность; код 0001 – низкая стоимость;
код 0000 – обычное обслуживание). Бит 7 – резерв.
Общая длина пакета (Total Length) – определяет длину пакета
(заголовок + данные) в байтах, длина – 16 бит (максимальная длина
пакета – 65 535 байт). Все оконечные устройства обязаны обрабатывать пакеты длиной до 576 байт. Использование пакетов бόльшей
длины допустимо при способности их обработки всеми промежуточными узлами.
Идентификатор (Identification) – указывает на принадлежность
пакета к определенной дейтаграмме, длина – 16 бит. Все фрагменты
(пакеты) одной дейтаграммы должны иметь одно и то же значение.
Данные (Data)
Опции и заполнение (Options + Padding)
Адрес назначения (Destination Address)
Адрес источника (Source Address)
Время жизни
Протокол
Контрольная сумма
(Time to Live)
(Protocol)
(Header Checksum)
Идентификатор (Identification)
Флаги
Смещение фрагмента
(Flags)
(Fragment Offset)
Версия
Длина
Тип услуги
Общая длина
(Version)
(IHL)
(Type of Service)
(Total Length)
2-й уровень
1-й уровень
Рис. 1.21. Формат IPv4
50 Интерфейсы и протоколы сетей следующего поколения
Флаги (Flags) – содержат признаки фрагментации, длина –
3 бита. Первый бит – резервный, устанавливается в 0, второй бит DF
содержит указание маршрутизаторам о возможности (DF=0) или
невозможности (DF=1) фрагментации пакета, третий бит MF указывает на последний (MF=0) или промежуточный (MF=1) пакет дейтаграммы. Для нефрагментированных дейтаграмм MF=0.
Смещение фрагмента (Fragment Offset, FO) – указывает на положение пакета относительно начала дейтаграммы, длина – 13 бит
(максимальное число фрагментов одной дейтаграммы – 8 192). Смещение кратно 8 байт (64 бит), первый пакет дейтаграммы имеет значение этого поля, равное нулю. Для нефрагментированных дейтаграмм FO=0.
Время жизни (Time to Live, TTL) – определяет предельный срок
перемещения пакета по сети, длина – 1 байт. Устанавливается на
передаче, каждый маршрутизатор вычитает из текущего значения
единицу, при значении TTL=0 пакет уничтожается.
Протокол (Protocol – Prot) – указывает на протокол, которому
следует доставить (или от которого поступила) информацию, находящуюся в поле данных для дальнейшей обработки: ICMP (Prot=1),
TCP (Prot=6), UDP (Prot=17), SIP (Prot=41).
Контрольная сумма заголовка (Header Checksum) – используется для обнаружения ошибок принятого пакета, длина – 16 бит. Вычисляется каждым маршрутизатором при передаче пакета заново
из-за изменения TTL. Формируется так, чтобы сумма всех 16-разрядных слов заголовка, включая контрольную сумму, давала бы
ноль. Никаких других процедур по повышению достоверности передачи (обнаружение ошибок в поле данных, подтверждение о правильном приеме, повторная передача, управление потоком) не используется.
Адрес источника (Source Address) – определяет сетевой адрес
(IP-адрес) отправителя пакета, длина – 32 бита. Структура сетевых
адресов приведена в п. 1.5.2.
Адрес назначения (Destination Address) – определяет сетевой
адрес получателя, длина – 32 бита. Структура сетевых адресов приведена в п. 1.5.2.
Опции (Options) – это поле может отсутствовать, имеет переменную длину. Обычно используется при отладке сети. В первом байте
поля содержится тип опции (Opt Code), во втором – длина содержимого, в последующих байтах – содержимое. Поле с типом опции «0»
является закрывающим, а с типом «1» – пустым.
Базовые протоколы Интернет 51
Заполнение (Padding) – содержит заполнение пакета «нулями»
так, чтобы общая длина пакета была кратна 32 бит.
В поле данных (Data) размещается информация, которую должны обрабатывать протоколы, указанные в поле Протокол (Protocol –
Prot): ICMP (Prot=1), TCP (Prot=6), UDP (Prot=17).
Каждый интерфейс маршрутизатора имеет ограничение по передаче максимальной длины пакета MTU. Когда происходит пересылка пакета с одного интерфейса на другой, имеющий меньшее значение MTU, происходит фрагментация длинного пакета на пакеты
меньшей длины.
На рис. 1.22–1.24 приведен пример фрагментации маршрутизатором пакета длиной MTU=472 байта (20 байт заголовка и 452 байта данных) из-за того, что адресуемый интерфейс обслуживает пакеты меньшей длины (MTU<280 байт).
Опциональные поля используются администратором сети для
настройки и тестирования маршрутов. Обычно используются три
опции: свободная маршрутизация, заданная маршрутизация, заДанные (472 байта – 20 байт = 452 байт)
Адрес назначения
Адрес источника
Время жизни (11)
Протокол
Контрольная сумма заголовка
(6)
Идентификатор (111)
Флаги (0)
Смещение фрагмента (0)
Версия
Длина
Тип услуги
Общая длина (472 байта)
2-й уровень
1-й уровень
Рис. 1.22. Принятый пакет (общая длина = 472 байта, MF=0, FO=0,
длина данных = 452 байта)
Данные (276 байт – 20 байт = 256 байт)
Адрес назначения
Адрес источника
Время жизни (10)
Протокол (6)
Контрольная сумма заголовка
Идентификатор (111)
Флаги (1)
Смещение фрагмента (0)
Версия
Длина
Тип услуги
Общая длина (276 байт)
2-й уровень
1-й уровень
Рис. 1.23. Первый фрагмент передаваемого пакета (общая длина = 276 байт,
MF=1, FO=0, длина данных = 276 – 20 = 256 байт)
52 Интерфейсы и протоколы сетей следующего поколения
Данные (216 байт – 20 байт = 196 байт)
Адрес назначения
Адрес источника
Время жизни (10)
Протокол (6)
Идентификатор (111)
Версия
Длина
Контрольная сумма заголовка
Флаги (0)
Тип услуги
Смещение фрагмента (32)
Общая длина (216 байт)
2-й уровень
1-й уровень
Рис. 1.24. Второй фрагмент передаваемого пакета (общая длина = 216 байт,
MF=0, FO=256/8 = 32, данные = 216 – 20 = 196 байт)
пись полного маршрута. Все опции имеют один и тот же формат
(рис. 1.25).
Длина опции учитывает 1 байт типа опции, 1 байт длины, 1 байт
указателя, а данные маршрута вычисляются как разность длины
минус 3 байта. Данные маршрута содержат последовательность
4-байтных IP-адресов. Указатель показывает очередной адрес назначения для последующего маршрута, его минимальное значение
равно 4.
Опция свободная маршрутизация (Loose Source and Record
Route, LSRR����������������������������������������������������
) имеет тип опции 131 и разрешает маршрутизатору использовать любой из альтернативных маршрутов для достижения
очередного адреса назначения из данных маршрута. Если адрес назначения (Destination Address, DA) достигнут и значение указателя
не больше значения длины, то в поле адреса назначения записывается очередной адрес из данных маршрута, в текущее поле данных
маршрута – собственный адрес (SA) достигнутой сети, а значение
указателя увеличивается на 4. Если значение указателя больше
значения длины, то маршрутизация производится по адресу назначения без использования записи маршрута.
Опция заданная маршрутизация (Strict Source and Record
Route, SSRR) имеет тип опции 137 и предписывает маршрутизатору
использовать только смежные маршрутизаторы для достижения
очередного адреса из данных маршрута. Обработка полей производится так же, как и в опции LSRR.
Type
(Тип опции)
Length
(Длина (в октетах))
Pointer
(Указатель)
Route Data
(Данные маршрута)
Рис. 1.25. Формат поля Опции
Базовые протоколы Интернет 53
A
SA=IPA
DA=IPC
Type=131
Length=15
Pointer=4
IPC IPA
IPD
IPA
C
B
SA=IPA
DA=IPC
Type=131
Length=15
Pointer=4
IPA
IPD
IPA
SA=IPA
DA=IPD
Type=131
Length=15
Pointer=8
IPA
IPD IPC
IPA
D
SA=IPA
DA=IPA
Type=131
Length=15
Pointer=12
IPA
IPC
IPA IPD
A
SA=IPA
DA=IPA
Type=131
Length=15
Pointer=16
IPA
IPC
IPD
Рис. 1.26. Обработка полей в опции LSRR
Опция запись полного маршрута (Record Route) имеет тип опции 7 и предписывает маршрутизатору записывать все IP-адреса,
через которые проходит маршрут следования пакета. Во избежание
нехватки длины поля о данных маршрута ее следует выбирать достаточно большой, в противном случае, соответствующий маршрутизатор генерирует исходящему узлу сообщение об ошибке.
Перечисленные опции используются администраторами сетей для
проверки работоспособности определенных маршрутов. На рис. 1.26
показано использование опции LSSR для тестового петлевого соединения по маршруту: сеть A – сеть B – сеть C – сеть D – сеть A. Результирующее поле данных маршрута содержит информацию о всех IPадресах в порядке их прохождения.
1.8.2. Протокол преобразования адресов
Для установления соединения в Интернет абонент-инициатор набирает известный ему сетевой адрес (IP-адрес) своего партнера, однако для коммутации в локальной сети от одного узла к другому
узлу используются локальные адреса (МАС-адреса). Поэтому передающий IP-модуль устанавливает соответствие между известным
сетевым и неизвестным локальным адресом приемного узла либо
на основании заранее составленной таблицы, либо обращается
к модулю ARP, который формирует широковещательный запрос
локального адреса, используя протокол преобразования адресов
(Address Resolution Protocol, ARP) [23]. Формат ARP приведен на
рис. 1.27. Порядок передачи бит кадра: слева направо/снизу вверх,
верхними цифрами обозначены длина полей кадра в байтах.
54 Интерфейсы и протоколы сетей следующего поколения
1
2
3
4
5
IP-адрес назначения (Target IP-address)
МАС-адрес назначения (Target МAC-address)
IP-адрес источника (Sender IP-address)
МАС-адрес источника (Sender MAC-address)
Операция (Operation)
Тип интерфейса
Протокол
Дл. МАС
(HType)
(Protocol)
2-й уровень
6
Дл. IP
1-й уровень
Рис. 1.27. Формат ARP
В поле третьего уровня тип интерфейса (Hardware Type, Htype,
длина – 2 байта) помещается код технологии локальной сети (0x0001 –
технология Ethernet), в поле Протокол (длина – 2 байта) – адрес
инициатора запроса (0x0800 – код модуля IP), в поле длина МАСадреса (Hardware Address Length, Hlen) и длина IP-адреса (по 1 байту) – длины МАС- и IP-адресов соответственно. Поле операция (длина – 2 байта) принимает значение «Запрос» (код 0х0001) или «Ответ» (код 0х0002). В поле IP-адреса источника и МАС-адреса источника размещается свой IP-адрес (4 байта) и свой МАС-адрес (6 байт).
В поле IP-адреса назначения помещается IP-адрес назначения (4 байта), а поле МАС-адрес назначения заполняет нулями.
Модуль ARP формирует поля второго уровня, подставляя в поле
МАС-адреса источника собственный адрес, в поле МАС-адрес на1
2
c0 (192)
00
c0 (192)
00
00
00
08
00
ff
10101010
A8 (168)
00
a8 (168)
30
01
01
06
30
ff
10101010
10101010
10101010
3
4
01 (1)
00
01 (1)
2b
3e (62)
00
32 (50)
00
08
5
00
00
24
38
00
06
04
2b
ff
10101010
00
ff
10101011
24
ff
38
ff
10101010
10101010
6
Target IP-address
Target МAC-address
Sender IP-address
Sender MAC-address
Operation
HType, Protocol, …
Protocol Type =0x0806
Source МАС-Address
Destination МАС-Address
Preamble + SFD
Рис. 1.28. Широковещательный запрос узла A (МАС-адрес=00:30:2b:00:24:38,
IP-адрес=192.168.1.50) к узлу B (IP-адрес=192.168.1.62) с запросом его МАС-адреса
(на третьем уровне МАС-адрес=00 00 00 00 00 00, а на первом – ff:ff:ff:ff:ff:ff)
Базовые протоколы Интернет 55
1
2
c0 (192)
00
c0 (192)
00
00
00
08
00
00
10101010
a8 (168)
30
a8 (168)
01
02
01
06
01
30
10101010
10101010
10101010
3
4
01 (1)
2b
01 (1)
E3
32 (50)
00
3e (62)
00
08
5
24
38
b7
62
00
06
04
E3
2b
10101010
00
00
10101011
b7
24
62
38
10101010
10101010
6
Target IP-address
Target МAC-address
Sender IP-address
Sender MAC-address
Operation
HType, Protocol, …
Protocol Type =0x0806
Source МАС-Address
Destination МАС-Address
Preamble + SFD
Рис. 1.29. Ответ узла В (МАС-адрес=00:01:e3:00:b7:62, IP-адрес =192.168.1.62) узлу А
(МАС-адрес=00:30:2b:00:24:38, IP-адрес=192.168.1.50)
значения – широковещательный запрос, в поле Тип протокола –
код модуля ARP (0х0806) – и рассылает запрос всем устройствам,
находящимся в локальной сети. Только то устройство, которое опознает в поле IP-адреса назначения свой IP-адрес, отвечает на запрос
и заполняет пустое поле МАС-адрес назначения своим значением.
На рис. 1.28; 1.29 приведен пример использования ARP в сети
Ethernet. Здесь узел А, имея IP-адрес узла, запрашивает МАС-адрес
узла В.
1.8.3. Протокол маршрутизации выбора кратчайшего пути первым
Цель задачи маршрутизации – определение наилучшего пути от
источника до получателя, при этом предполагается, что в общем
случае от источника до получателя имеется несколько путей и пакет проходит через несколько сетей (маршрутизаторов). Адресация
сетей может не совпадать с классической адресацией в IP-сети из-за
использования масок. Для установления соединений в сети каждый маршрутизатор (шлюз) должен иметь информацию о путях достижения заданного узла назначения. Каждый маршрутизатор
хранит эту информацию в виде таблицы маршрутов, которая может заполняться различным образом. Таблица может заполняться
вручную администратором сети, что требует от него оценки целесо­
образности использования каждого пути и постоянного слежения
за изменением структуры сети и изменением статуса прописанных
56 Интерфейсы и протоколы сетей следующего поколения
путей, так как ситуация на сети регулярно изменяется из-за повреждения интерфейсов и их восстановления. С возрастанием емкости сети объем таблиц становится слишком большим и трудоемкость их заполнения повышается. Для устранения этого структура
Internet представляется как совокупность автономных систем
(Autonomous System, AS), подсоединенных к общей глобальной
сети (Core Backbone Network). В автономной системе используется
единая политика маршрутизации.
Автономная система включает в себя несколько региональных
сетей (зон), которые объединяет магистральная сеть. Магистральная сеть является отдельной зоной автономной системы и частью
глобальной сети. Все маршрутизаторы одной зоны хранят идентичную базу данных маршрутов достижения других зон и автономных
систем. Каждая зона имеет свою топологическую базу данных. Пример автономной системы показан на рис. 1.30.
Внутри автономной системы маршрутизаторы делятся на классы, различают внутренние маршрутизаторы (Internal routers), граничные маршрутизаторы зоны (Area border routers, ABR), граничные маршрутизаторы автономной системы (AS border routers,
ASBR). На рис. 1.30 RT1, RT2, RT6, RT8, RT9, RT12 – внутренние
маршрутизаторы, RT3, RT4, RT10, RT11 – граничные маршрутизаторы зоны (ABR), RT5 и RT7 – граничные маршрутизаторы автономной системы (ASBR). Каждый интерфейс имеет свою метрику,
N1
3
1
N2
1
2
N4
Зона 0
RT4
RT1
3
1
RT2
8
1
N3
N13
N14
N12
88 8
RT5
6
8
7
6
6
8
RT10
5
1
3
7
RT6
RT3
6
RT7 2 N12
1 9 N15
N6
Зона 1
N9
RT9
N11
3
1
10 1 RT12
2
N10
1
2
1
N8
RT8
4
RT11
Зона 3
N7
Зона 2
Рис. 1.30. Пример архитектуры автономной системы
Базовые протоколы Интернет 57
например, интерфейс маршрутизатора RT3 к маршрутизатору RT6
имеет метрику 8.
Зоны бывают транзитные и тупиковые. Транзитные зоны имеют
более одного граничного маршрутизатора зоны, тупиковые – один.
На рис. 1.30 зона 0 (магистральная), 1 и 2 – транзитные, зона 3 – тупиковая (Stub). Между собой сетевые маршрутизаторы связываются либо через широковещательные сети (например, RT3 и RT4), либо
непосредственно (например, RT6 и RT10), либо по виртуальным каналам (например, RT10 и RT11). Широковещательные сети характеризуются наличием хотя бы одной сети, к которой подсоединены
все маршрутизаторы зоны. На рис. 1.30 это сети N3, N6, N9. В зави­
симости от места нахождения маршрутизатора – внутри автономной системы или на ее границе – различают внутренние (Interior
Gateways) и внешние (Exterior Gateways) шлюзы. Каждый из них
использует свои протоколы для рассылки маршрутной информации. Внутренний протокол маршрутизации выбора кратчайшего
пути первым (Open Shortest Path First, OSPF) [53], являющийся составной частью модуля IP, используется для рассылки различного
типа маршрутной информации внутри автономной системы. Эта
рассылка между маршрутизаторами происходит в виде сообщений
о состоянии связей (Link State Advertisement, LSA). Совокупность
всех типов имеющейся маршрутной информации образует базу данных маршрутизатора.
Изначально администратор сети вручную создает минимальную
таблицу связей для каждого маршрутизатора, учитывая только непосредственно подсоединенные соседние маршрутизаторы и сети.
В описание связи входят класс маршрутизатора (внутренний или
граничный), IP-адрес узла, маска, метрика. Метрика характеризует цену использования выбранного исходящего пути: пути с меньшей метрикой более предпочтительны. При начальном включении
маршрутизатор определяет, какие интерфейсы у него активны. После этого маршрутизатор сам начинает обнаруживать соседние
маршрутизаторы путем рассылки протокольного сообщения Hello
и приема от них таких же сообщений. Сообщение Hello также используется для выбора представителя зоны (Designated Router, DR)
в широковещательных сетях.
На первом этапе начинают сопрягаться между собой внутренние маршрутизаторы рассылкой сообщений Hello. В этом сообщении каждый маршрутизатор подставляет свой IP-адрес и список IPадресов соседних маршрутизаторов, от которых принято сообщение
58 Интерфейсы и протоколы сетей следующего поколения
Hello. Это же сообщение используется для выбора представителя
зоны (Designated Router, DR). Сопряженные маршрутизаторы начинают обмен маршрутной информацией в виде сообщений о состоянии связей (Link State Advertisement, LSA) и формировать свою
базу данных. Получив новое сообщение, маршрутизатор реконст­
руирует топологическую древовидную базу данных связей с другими узлами, считая себя корнем. Из множества альтернативных
­путей внутри зоны вычисляется путь с наименьшей метрикой до
­сопряженного маршрутизатора. Совокупность таких маршрутов ко
всем известным внутренним маршрутизаторам образует таблицу
наикратчайших путей внутри зоны. В дальнейшем маршрутизаторы продолжают периодически высылать сообщение Hello для обозначения своего присутствия в сети и обмениваться маршрутной
информацией. Сообщение о состоянии связей рассылается и в случае изменения какой-либо связи. Такое взаимодействие между
внут­ренними маршрутизаторами позволяет достаточно быстро обнаружить неисправный маршрутизатор и реконструировать свою
базу данных.
Граничные маршрутизаторы зоны (ABR) по определению соединены с определенной зоной и магистральной сетью и имеют отдельную базу данных для каждой из зон (внутренней и магистральной).
По совместительству один из граничных маршрутизаторов всегда
является представителем зоны. На втором этапе они суммируют
маршрутную информацию, полученную от своей зоны, для ее рассылки в другие ABR через магистральную сеть автономной системы
и принимают такую же информацию от других ABR. В результате
обмена они получают полную топологическую информацию о магистральной сети и о сетях в других зонах. На основании этой информации граничные маршрутизаторы зоны вычисляют путь с наименьшей метрикой до каждого другого ABR и рассылают таблицу
связей с другими ABR всем внутренним маршрутизаторам зоны,
что дает последним возможность вычисления наикратчайшего пути
к другим зонам.
Граничные маршрутизаторы автономной системы (ASBR) производят обмен маршрутной информацией с граничными маршрутизаторами других автономных систем. На третьем этапе они
распространяют и получают маршрутную информацию о внешних
сетях всем граничным маршрутизаторам зоны ABR через автономную систему. Граничные маршрутизаторы зоны ABR транслируют
ее всем внутренним маршрутизаторам своей зоны, что дает возБазовые протоколы Интернет 59
можность последним вычислить наикратчайший путь к сетям других автономных систем. Исключение составляют тупиковые сети,
в которых администратором прописываются постоянные маршрутные пути.
OSPF расположен над IP, используя номер протокола 89
(Protocol=89). OSPF не предусматривает фрагментацию длинных
сообщений, поэтому длинные сообщения разбиваются модулем IP
на несколько коротких сообщений без потери функциональности.
OSPF представляет семейство сообщений для передачи информации
различного типа и состоит из заголовка и содержимого. Нормально
типы сообщений используются в следующем порядке.
При включении маршрутизатора он начинает высылать сообщения Hello для обнаружения соседних маршрутизаторов и установления взаимосвязи с ними по IP-адресу AllSPFRouters=224.0.0.5.
В дальнейшем каждый маршрутизатор периодически продолжает
высылать эти сообщения для подтверждения своего присутствия
в сети.
Маршрутизатор начинает рассылку списка известных ему связей соседним маршрутизаторам, используя сообщение Database
������������
Description.
Получив список, каждый маршрутизатор сличает его с имеющимися у него данными и при отсутствии описания какой-либо связи
запрашивает ее в сообщении Link State Request.
Получив запрос о связи, соседний маршрутизатор высылает запрошенные данные в сообщении Link State Update. Процесс обмена
данными о связях называется синхронизацией базы данных. После
полной синхронизации (идентичности) базы данных соседние маршрутизаторы становятся сопряженными.
В случае приема нового или одного и того же сообщения дважды
маршрутизатор высылает источнику сообщение Link State Acknow­
ledgment.
Местоположение в стеке протоколов и наименование полей OSPF
изображено на рис. 1.31 (заштрихованные поля). Порядок передачи
бит кадра: слева направо/снизу вверх.
Заголовок OSPF (Header OSPF) имеет следующие поля.
Версия (Version) – указание на версию протокола (последняя версия 2).
Тип (Type) – указывает на тип информации в содержимом, следующей за заголовком. Соответствие типа информации и его содержимого приведены в табл. 1.11.
60 Интерфейсы и протоколы сетей следующего поколения
Содержание
Аутентификации (Authentication)
Аутентификации (Authentication)
Контрольная сумма (Checksum)
Тип аутентификации (AuType)
Идентификатор зоны (Area ID)
Идентификатор маршрутизатора (Router ID)
Версия (Version)
Тип (Type)
Длина пакета (Packet Length)
Destination Address
Source Address
Time to Live
Protocol = 89
Header Checksum
Identification
Flags = 0
Fragment Offset = 0
Version
IHL
Type of Service = 0
Total Length
2-й уровень
1-й уровень
Рис. 1.31. Местоположение в стеке протоколов и формат OSPF
Таблица 1.11
Типы информации в OSPF
Тип
информации
1
2
3
4
5
Тип сообщения
Содержимое сообщения
Обнаружение соседних маршрутизаторов и установление с ними
взаимоотношений
Database Description
Список всех связей маршрутизатора
Link State Request
Запрос определенной связи
Link State Update
Описание связи
Link State Acknowledgment Подтверждение о приеме связи
Hello
Длина пакета (Packet Length) – длина заголовка и содержимого
в байтах.
Идентификатор маршрутизатора (Router ID) – обычно используется наименьший IP-адрес одного из интерфейсов, подключенного к маршрутизатору (источнику LSA).
Идентификатор зоны (Area ID) – обычно используется IP-адрес
одной из сети, принадлежащей зоне.
Контрольная сумма (Checksum) – используется для обнаружения ошибок при передаче пакета, длина – 16 бит. Вычисляется как
дополнение до всех «1» суммы всех 16-разрядных слов всего пакета,
исключая поле Аутентификации.
Базовые протоколы Интернет 61
Тип аутентификации (AuType) – указывает способ определения
подлинности сообщения индивидуально на каждом интерфейсе
маршрутизатора. Принимает следующие значения: 0 – без аутентификации, 1 – простая аутентификация, 2 – криптографическая
­аутентификация, другие значения – резерв. В первом случае поле
Аутентификации не анализируется, во втором случае в поле ­Аутен­тификации помещается открытый 64-битный пароль, в третьем
случае в поле Аутентификации помещается проверочная криптографическая информация и идентификатор ключа, известный на
обеих сторонах.
Рассмотрим содержание и назначение сообщений протокола.
Сообщение Hello распознается по типу (Type=1) заголовка. Оно
предназначено для обнаружения соседних маршрутизаторов и установления с ними взаимоотношений при начальном запуске, а также
для выбора представителя зоны в широковещательных сетях. Двустороннее соединение считается установленным, когда в списке соседей принятого Hello-сообщения маршрутизатор обнаруживает
сам себя (свой IP-адрес).
На рис. 1.32 показано местоположение в стеке протоколов и наименование полей сообщения Hello. Порядок передачи бит кадра:
слева направо/снизу вверх.
Маска сети (Network Mask) – маска сети, к которой подсоединен
интерфейс. Например, для сети класса C Network Mask=0xffffff00.
Интервал живучести (Hello Interval) – интервал времени (типовое значение – 10 с) между периодически передаваемыми Helloсообщениями, имеет одно и то же значение для всех маршрутизаторов одной сети.
...
Список соседей (Neighbor)
Заместитель представителя зоны (Backup Designated Router)
Представитель зоны (Designated Router)
Интервал отказа (Router Dead Interval)
Интервал живучести (Hello Interval)
Опции (Options) Приоритет (Rtr Pri)
Маска сети (Network Mask)
Header OSPF (Type=1)
IP
2-й уровень
1-й уровень
Рис. 1.32. Местоположение в стеке протоколов и формат протокола Hello
62 Интерфейсы и протоколы сетей следующего поколения
Опции (Options) – содержит бит Е указания типа сети (Е=0 – тупиковая сеть). В тупиковую сеть рассылка LSA не производится,
в них вручную прописываются постоянные маршруты.
Приоритет маршрутизатора (Rtr Pri) – значение приоритета
устанавливается администратором и используется для выбора представителя зоны (Designated Router, DR). Впоследствии DR принимает извещения об изменении внешних связей по групповому адресу AllDrouters=224.0.0.6, а осуществляет их групповую рассылку
маршрутизаторам своей зоны (Link State Update) по групповому
адресу AllSPFRouters=224.0.0.5. Этим обеспечивается синхронизация базы данных маршрутизаторов в пределах одной зоны. При выходе из строя DR его функции начинает выполнять его заместитель
(Backup Designated Router, BDR).
Интервал отказа (Router Dead Interval) – интервал времени (типовое значение – 40 с) ожидания приема сообщения Hello, по истечении которого маршрутизатор считается неработоспособным.
Представитель зоны (Designated Router) – IP-адрес представителя зоны, принимает значение 0.0.0.0, если таковым не является.
Заместитель представителя зоны (Backup Designated Router) –
IP-адрес заместителя представителя зоны, принимает значение
0.0.0.0, если таковым не является.
Список соседей (Neighbor) – список IP-адресов соседних маршрутизаторов, от которых принято сообщение Hello.
Сообщение Database Description распознается по типу (Type=2)
заголовка. Оно предназначено для рассылки известных связей соседним маршрутизаторам при начальной загрузке. На рис. 1.33 показано местоположение в стеке протоколов и наименование полей
в содержании сообщения Database Description. Порядок передачи
бит кадра: слева направо/снизу вверх.
...
Список связей (LSA Header)
Последовательный номер (DD sequence number)
Параметр интерфейса (Interface MTU) Опции (Options) 0 0 0 0 0 I M MS
Header OSPF (Type=2)
IP
2-й уровень
1-й уровень
Рис. 1.33. Местоположение и формат протокола Database Description
Базовые протоколы Интернет 63
Параметр интерфейса (Interface MTU) – максимальная длина
дейтаграммы без фрагментации (в байтах), соответствующая этому
интерфейсу.
Опции (Options) – имеет то же значение, что и в сообщении
Hello.
Бит инициализации (I-bit) – установленный в «1», указывает на
начало последовательности передаваемого фрагментированного
списка LSA.
Бит продолжения списка (M-bit) – установленный в «1», указывает на продолжение последовательности передаваемого фрагментированного списка LSA.
Бит ведущий/ведомый (MS-bit) – установленный в «1», указывает на диспетчера обмена сообщениями LSA между соседними маршрутизаторами. Диспетчер обмена выясняется сравнением собственного значения идентификатора маршрутизатора (Router ID) со значением идентификатора соседнего маршрутизатора в заголовке
­сообщения Hello. Диспетчером обмена становится маршрутизатор,
имеющий бόльшее значение идентификатора. При конфигурировании представителя зоны (DR) администратор присваивает ему идентификатор с наибольшим значением.
Последовательный номер (DD sequence number) – номер последовательного фрагмента списка LSA. Начальное значение, соответствующее M-bit=1, устанавливает диспетчер обмена. Номер имеет
уникальное значение, равное, например, текущему времени. Последующие номера фрагментов последовательно увеличиваются на
единицу. Ведомый маршрутизатор подтверждает каждое принятое
сообщение DD возвратом того же сообщения с битом MS=0. При отсутствии подтверждения в течение 5 с передача того же сообщения
повторяется.
Список связей (LSA Header) – содержит список связей, известных
маршрутизатору, каждая связь описывается Типом связи (LS
Type).
Сообщение Link State Request распознается по типу (Type=3) заголовка. Оно предназначено для запроса информации о недостающей или устаревшей связи. На рис. 1.34 показано местоположение
и наименование полей в содержании сообщения Link State Request.
Порядок передачи бит кадра: слева направо/снизу вверх.
Тип связи (LS Type) – указывает на тип запрашиваемой связи.
Соответствие типа информации и его содержимого приведены
в табл. 1.12.
64 Интерфейсы и протоколы сетей следующего поколения
...
Описание запрошенной связи
Первоисточник информации (Advertising Router)
Идентификатор типа адреса (Link State ID)
Тип связи (LS Type)
Header OSPF (Type=3)
IP
2-й уровень
1-й уровень
Рис. 1.34. Местоположение и формат протокола Link State Request
Таблица 1.12
Содержимое типа связи
Номер
Тип запрашиваетипа
мой связи
связи
1
2
3
4
5
Назначение содержимого
Рассылается каждым маршрутизатором зоны
и описывает метрики связей с соседями (например,
Router-LSAs
RT3 на рис. 1.30 рассылает три LSA: об интерфейсах к сетям N3, N4 и к маршрутизатору RT6)
Рассылается DR внутри зоны и описывает все
маршрутизаторы, присутствующие в зоне (наNetwork-LSAs
пример, RT4 рассылает четыре LSA: о RT1,
о RT2, о RT3, о RT4)
Рассылается ABR в магистральную сеть и описыSummary-LSAs
вает сети свой зоны (например, RT4 рассылает
(IP)
четыре LSA: о сетях N1, N2, N3, N4)
Рассылается ABR к маршрутизаторам своей
Summary-LSAs зоны и описывает пути к сетям других зон (на(ASBR)
пример, RT4 рассылает восемь LSA: о сетях N6–
N11 и маршрутизаторах RT5 и RT7)
Рассылается каждым ASBR к ABR всех зон
AS-externalи описывает внешние сети (например, RT5 расLSAs
сылает три LSA: о сетях N12–N14)
Идентификатор типа адреса (Link State ID) – содержит IPадреса для каждой запрошенной связи.
Первоисточник информации (Advertising Router) – содержит IPадрес организатора рассылки LSA.
Сообщение Link State Update распознается по типу (Type=4) заголовка. Оно предназначено для описания связей, каждое отправлен­
ное сообщение должно быть подтверждено. Рассылается периодиче­
с­­­ки с периодом LSRefreshTime = 30 мин; при изменении какой-либо
Базовые протоколы Интернет 65
...
Описание связей (LS Type, Link State ID, Advertising Router)
Header OSPF (Type=4)
IP
2-й уровень
1-й уровень
Рис. 1.35. Местоположение и формат протокола Link State Update
...
Список связей (LSA Header)
Header OSPF (Type=5)
IP
2-й уровень
1-й уровень
Рис. 1.36. Местоположение и формат протокола Link State Acknowledgment
связи или по запросу. При обращении к представителю зоны и его заместителю внутренние маршрутизаторы используют групповой
адрес назначения AllDrouters=224.0.0.6, а рассылка от представителя зоны или его заместителя к внутренним маршрутизаторам – групповой адрес AllSPFRouters=224.0.0.5. На рис. 1.35 показано местоположение и наименование полей в содержании сообщения Link State
Update. Порядок передачи бит кадра: слева направо/снизу вверх.
Сообщение Link State Acknowledgment распознается по типу
(Type=5) заголовка. Оно предназначено для подтверждения приема
различных сообщений в ответ на принятые сообщения Database
Description. На рис. 1.36 показано местоположение и наименование
полей в содержании сообщения Link State Acknowledgment. Порядок передачи бит кадра: слева направо/снизу вверх.
Граничные маршрутизаторы автономной системы (ASBR) осуществляют маршрутизацию между автономными системами. Для
сбора информации о других автономных системах они используют
пограничный межсетевой протокол (Border Gateway Protocol, BGP),
который в целом выполняет те же функции, что и OSPF.
1.8.4. Протокол межсетевых управляющих сообщений
Соединения в IP-сети устанавливают маршрутизаторы, которые
при возникновении каких-либо проблем установления соединения
должны извещать друг друга об ошибочных ситуациях. Для этих
66 Интерфейсы и протоколы сетей следующего поколения
случаев используется протокол межсетевых управляющих сообщений (Internet Control Message Protocol, ICMP) [19], являющийся
составной частью IP и имеющийся в каждом модуле IP. ICMPсообщения высылаются в различных случаях: при невозможности
установления требуемого соединения, при отсутствии необходимого объема памяти для буферизации кадров, для извещения узла
о наличии более короткого маршрута и т. д. Сообщения передаются
модулем IP, который не обеспечивает надежную доставку, никакие
сообщения о проблемах самого ICMP не посылаются.
ICMP расположен в модуле IP, используя номер протокола 1
(Prot=1). Местоположение и наименование полей ICMP изображено
на рис. 1.37. Порядок передачи бит кадра: слева направо/снизу
вверх.
Назначение полей пакета следующее.
Версия (Version) – для версии 4 Version=4 (двоичный код 0100).
Длина заголовка (Internet Header Length, IHL) – определяет длину заголовка в 32-битовых словах от поля Version до поля Type, имеет значение 5 (20 байт).
Тип услуги (Type of Service, TOS) – задает приоритетность пакета
и критерий выбора маршрута, длина – 8 бит, имеет значение 0, что
означает обслуживание в режиме «с наибольшими усилиями».
Общая длина пакета (Total Length) – определяет длину пакета
с полями: заголовок IP, Type, Code, Checksum, ICMP Data, Data
в байтах, длина – 16 бит.
Данные (Data)
Сообщения ICMP (ICMP Data)
Тип ошибки (Type)
Код ошибки (Code)
Контрольная сумма сообщения
(Checksum)
Адрес назначения (Destination Address)
Адрес источника (Source Address)
Время жизни
(Time to Live)
Протокол
( Protocol = 1)
Идентификатор (Identification)
Версия
(Version)
Длина
(IHL)
Тип услуги
(Type of Service=0)
Контрольная сумма заголовка
(Header Checksum)
Флаги
Flags=0
Смещение фрагмента
(Fragment Offset=0)
Общая длина пакета (Total Length)
2-й уровень
1-й уровень
Рис. 1.37. Местоположение в стеке протоколов и формат ICMP
Базовые протоколы Интернет 67
Идентификатор (Identification) – указывает на принадлежность пакета к определенной дейтаграмме, длина – 16 бит. Все
фрагменты (пакеты) одной дейтаграммы должны иметь одно и то
же значение.
Флаги (Flags) – принимает значение 0. Это означает, что протокол не допускает фрагментации.
Смещение фрагмента (Fragment Offset, FO) – принимает значение 0. Это означает, что протокол не допускает фрагментации.
Время жизни (Time to Live, TTL) – определяет предельный срок
перемещения пакета по сети, длина – 1 байт. Устанавливается на
передаче, каждый маршрутизатор вычитает из текущего значения
единицу, при значении TTL=0 пакет уничтожается.
Протокол (Protocol, Prot) – принимает значение 1.
Контрольная сумма заголовка IP (Header Checksum) – используется для обнаружения ошибок при передаче пакета, длина – 16 бит.
Сумма всех 2-байтных слов заголовка от поля Version до поля Type
совместно с контрольной суммой должна давать результат «все 0».
Адрес источника (Source Address) – определяет сетевой адрес
(IP-адрес) отправителя ICMP-пакета, длина – 32 бита.
Таблица 1.13
Совокупность некоторых полей ICMP
Тип
(Type)
3
4
5
11
12
Коды сообщений (Code)
Данные (ICMP Data)
Недоступность: 0 – сети, 1 –
узла, 2 – протокола, 3 – порта, 4 – требуется фрагментаПусто
ция при установленном флаге
«запрет фрагментации», 5 –
поврежден маршрут…
0 – не хватает памяти для буПусто
феризации пакета
Указание о более коротком
пути: 0 – к сети, 1 – к узлу, IP-адрес подходя2 – к сети из-за типа услуги, щего шлюза
3 – к узлу из-за типа услуги
0 – истекло время жизни кад­
ра, 1 – истекло время фраг- Не используется
ментации кадра
Указатель на ошиб0 – на место ошибки указыва- ку в заголовке (нает указатель (в байтах)
пример, 3 – поле общей длины пакета)
68 Интерфейсы и протоколы сетей следующего поколения
Примечание
(Data)
Заголовок
принятого
IP-кадра и его
первые 64
бита данных
–″–
–″–
–″–
–″–
Адрес назначения (Destination Address) – определяет сетевой
адрес источника (хоста), сформировавший ошибочный кадр, длина – 32 бита.
Тип ошибки (Type) – в это поле помещается код типа ошибки,
с кратким описанием причины ошибки в поле Код ошибки (Code).
Контрольная сумма сообщения ICMP (Checksum) – используется
для обнаружения ошибок при передаче ICMP-пакета, длина – 16 бит.
Сумма всех 2-байтных слов сообщения от поля Type до поля 4-го
уровня совместно с контрольной суммой дает результат «все 0».
Сообщения ICMP (ICMP Data) – здесь размещается дополнительная информация с пояснением или указанием ошибки.
Данные (Data) – в это поле обычно помещается заголовок принятого с ошибками IP-кадра и его первые 64 бита данных.
Совокупность полей Type, Code, ICMP Data, Data для некоторых
типовых случаев приведена в табл. 1.13.
1.8.5. Протокол управления группами в Интернет
В Интернет предусмотрена возможность групповой рассылки сообщений (типа «всем маршрутизаторам данной подсети», «всем
узлам-участникам данной группы», аудио- или видеопрограмм)
большой группе слушателей или зрителей. Узлы, которые хотят
создать такие группы или присоединиться к созданной группе, высылают запрос или подтверждение, соответственно, используя протокол управления группами в Интернет (����������������������
Internet Group Management Protocol, IGMP) [29], являющийся составной частью IP и имеющийся в каждом модуле IP. Состав участников группы формируется динамически: узел может присоединиться или покинуть ее
в любой момент. Один и тот же узел может входить в несколько
групп, в одну и ту же группу могут входить узлы различных подсетей. Группы могут быть постоянными или временными. За постоянными группами закрепляются известные IP-адреса в соответствии с [39], группа может иметь или совсем не иметь участников.
Временные групповые IP-адреса существуют только при наличии
хотя бы одного участника. Рассылка сообщений модулем IP происходит шлюзами (маршрутизаторами) до тех пор, пока значение «время жизни» (TTL) больше 1, в противном случае, дальнейшая рассылка по сети прекращается. IGMP для групповой рассылки использует
адреса класса D в диапазоне от 224.0.0.0 до 239.255.255.255. ИмеБазовые протоколы Интернет 69
ется ряд служебных адресов, например, адрес 224.0.0.1 имеет
смысл «всем узлам групп своей сети». Группового адреса для всей
глобальной сети Интернет не существует.
Для реализации групповой рассылки дейтаграмм необходимо
произвести программное расширение функций в различных модулях. Во-первых, высший уровень должен определить для IP-модуля
«время жизни» групповой дейтаграммы, в противном случае, оно
в модуле IP устанавливается по умолчанию со значением «1» и рассылка происходит только в пределах локальной сети. В адрес назначения подставляется групповой адрес, а в адрес источника – свой
индивидуальный IP-адрес. Заказ на присоединение (или отсоединение) от приложения высшего уровня хоста поступает в IP-модуль
с указанием IP-адреса группы и номера интерфейса. IP-модуль вносит индивидуальный IP-адрес в список участников группы, после
чего поступившая из канала связи дейтаграмма с групповым адресом доставляется вышележащему уровню. Поступившая дейтаграмма уничтожается, если ее групповой адрес не совпадает с номером и содержимым списка, никаких сообщений ICMP не высылается. Во-вторых, должна быть предусмотрена процедура перекодирования группового IP-адреса в групповой МАС-адрес. Для этого в 23
последних бита МАС-адреса 01:00:5Е:00:00:00 источника рассылки
подставляется 23 последних бита IP-адреса. Например, сетевая
служба времени с IP-адресом 224.0.1.1 посылается по МАС-адресу
01:00:5E:00:01:01. Заказ на доставку (или отсев) групповых пакетов
поступает в IP-модуль от вышележащего уровня с указанием IPадреса группы.
IGMP расположен в модуле IP, используя номер протокола 2
(Prot=2). Местоположение и наименование полей IGMP изображено
на рис. 1.37. Порядок передачи бит кадра: слева направо/снизу
вверх.
Назначение полей пакета следующее.
Версия (Version) – для версии 4 Version=4 (двоичный код 0100).
Длина заголовка (Internet Header Length, IHL) – определяет длину заголовка в 32-битовых словах от поля Version до поля Type, имеет значение 5 (20 байт).
Тип услуги (Type of Service, TOS) – задает приоритетность пакета
и критерий выбора маршрута, длина – 8 бит.
Общая длина пакета (Total Length) – определяет длину пакета
с полями заголовок IP,
����������������������������������������������
Version, Type, Unused, Checksum, Group Address в байтах, длина – 16 бит.
70 Интерфейсы и протоколы сетей следующего поколения
Групповой адрес (Group Address)
Версия
(Version)
Тип
операции
(Type)
Не используется
(Unused)
Контрольная сумма сообщения
(Checksum)
Адрес назначения (Destination Address)
Адрес источника (Source Address)
Время жизни
(Time to Live)
Протокол
(Protocol = 2)
Идентификатор (Identification)
Версия
(Version)
Длина
(IHL)
Контрольная сумма заголовка
(Header Checksum)
Флаги
(Flags=0)
Тип услуги
(Type of Service=0)
Смещение фрагмента
(Fragment Offset = 0)
Общая длина пакета
(Total Length)
2-й уровень
1-й уровень
Рис. 1.38. Местоположение в стеке протоколов и формат IGMP
Идентификатор (Identification) – указывает на принадлежность
пакета к определенной дейтаграмме, длина – 16 бит. Все фрагменты
(пакеты) одной дейтаграммы должны иметь одно и то же значение.
Флаги (Flags) – принимает значение 0.
Смещение фрагмента (Fragment Offset, FO) – принимает значение 0.
Время жизни (Time to Live, TTL) – определяет предельный срок
перемещения пакета по сети, длина – 1 байт. Устанавливается на
передаче, каждый маршрутизатор вычитает из текущего значения
единицу, при значении TTL=0 пакет уничтожается.
Протокол (Protocol) – принимает значение 2.
Контрольная сумма заголовка IP (Header Checksum) – используется для обнаружения ошибок при передаче пакета, длина – 16 бит.
Сумма всех 2-байтных слов заголовка от поля Version до поля Version
совместно с контрольной суммой дает результат «все 0».
Адрес источника (Source Address) – определяет сетевой адрес
(IP-адрес) отправителя IGMP-пакета, длина – 32 бита.
Адрес назначения (Destination Address) – определяет групповой
адрес получателя, длина – 32 бита.
Версия (Version) – принимает значение 1.
Тип операции (Type) – в это поле помещается код операции (1 –
запрос о наличии участников группы, 2 – отчет о наличии участников в группе).
Неиспользуемое поле (Unused) – длина – 1 байт, «все 0».
Базовые протоколы Интернет 71
Контрольная сумма сообщения IGMP (Checksum) – используется
для обнаружения ошибок при передаче IGMP-пакета, длина – 16 бит.
Сумма всех 1-байтных слов сообщения полей IGMP совместно с контрольной суммой дает результат «все 0».
Групповой адрес (Group Address) – это поле заполняется групповым адресом при передаче отчета, устанавливается в «0» при передаче запроса.
Свое намерение о вхождении во временную группу хост инициирует рассылкой IGMP-отчета (Type=2) маршрутизатору, который
ретранслирует его по предопределенному интерфейсу к серверу
услуг. Сервер услуг начинает передавать пакеты с групповым IPадресом. Каждый маршрутизатор на пути следования IGMP-пакета
периодически (не чаще 1 раза в минуту) проверяет существование
групп рассылкой по предопределенному интерфейсу IGMP-запроса
(Type=1) о наличии участников в группе. Узлы, принадлежащие
какой-либо группе, в ответ на запрос высылают отчет (Type=2)
о своем участии в группе с указанием адреса этой группы. Для избегания одновременной передачи отчетов каждый участник группы
высылает IGMP-отчет в случайном диапазоне времени от 0 до 10 секунд после получения запроса. Адрес назначения принимает значение группового адреса. При отсоединении от группы всех участников оконечные устройства перестают отвечать на запросы, на основании чего маршрутизаторы узнают о распаде временной группы
и перестают рассылать запросы и ретранслировать поступающие
IP-пакеты с групповым адресом.
1.8.6. Протокол Интернет версии 6
Изменения IPv4 на IPv6 преследовали следующие цели:
– расширение адресного пространства. Адресное поле протокола расширено с 32 бит до 128 бит. Необходимость расширения в большой степени вызвано общим увеличением числа пользователей,
а также потребностью иметь несколько адресов. Например, мобильные пользователи используют два IP-адреса: один – домашний
и другой – временный, по месту текущего месторасположения. Когда устанавливается соединение с мобильным пользователем, то сначала устанавливается соединение на его домашний IP-адрес, откуда
оно переадресовывается на текущее местоположение и с него поступает ответ с временным IP-адресом;
72 Интерфейсы и протоколы сетей следующего поколения
– упрощение формата заголовка;
– упрощение опциональных полей;
– возможности разделения потоков;
– аутентификация и защита данных.
Местоположение и наименование полей протокола Интернет
версии 6 (Internet Protocol, IPv6) [59] изображено на рис. 1.39. Порядок передачи бит кадра: слева направо/снизу вверх.
Назначение полей пакета следующее.
Версия (Version) – определяет формат заголовка, длина – 4 бита,
для версии 4 Version=6 (двоичный код 0110).
Класс трафика (Traffic Class) – используется узлами (оконечными устройствами и маршрутизаторами) для идентификации видов
трафика и приоритета их обслуживания, длина – 8 бит. Заменяет
поле Тип услуги (Type of Service) в версии IPv4.
К настоящему времени назначение бит полностью не определено.
Узлы вправе игнорировать заданный класс обслуживания, если они
его не поддерживают.
Метка потока (Flow Label) – позволяет исходящему узлу помечать потоки для специального обслуживания, длина – 20 бит. Все
проходящие узлы должны обслуживать помеченный поток одинаковым образом. Узлы, не поддерживающие эти возможности, должны установить значения всех бит в «0».
Расширенный заголовок (Extension headers)
Адрес назначения (Destination Address)
Адрес источника (Source Address)
Длина поля данных (Payload
Length)
Версия
(Version)
Следующий заголовок
(Next Header)
Класс трафика
(Traffic Class)
Предел переходов
(Hop Limit)
Метка потока
(Flow Label)
2-й уровень
1-й уровень
Рис. 1.39. Местоположение в стеке протоколов и формат IPv6
Базовые протоколы Интернет 73
Длина поля данных (Payload Length) – определяет длину октетов, следующих за заголовком, длина – 16 бит.
Следующий заголовок (Next Header) – содержит указатель на
протокол вышележащего уровня (TCP, UDP, …), либо на наличие
опции, расположенной в поле Расширенный заголовок (Extension
headers), длина – 8 бит.
Предел переходов (Hop Limit) – определяет предельный срок перемещения пакета по сети, длина – 8 бит. Устанавливается на передаче, каждый маршрутизатор вычитает из текущего значения единицу, при значении 0 пакет уничтожается.
Адрес источника (Source Address) – определяет сетевой адрес
(IP-адрес) отправителя пакета, длина – 128 бит.
Адрес назначения (Destination Address) – определяет сетевой
адрес получателя, длина – 128 бит.
Расширенный заголовок (Extension headers) – содержит опции
для использования проходящими узлами и данные вышележащему
уровню. Поле Расширенный заголовок обрабатывает только тот
узел, адрес которого указан в поле Адрес назначения. Исключение
составляет опция заголовка От узла к узлу, расположенная сразу
же после основного заголовка, которую должны обрабатывать все
проходящие узлы. Наличие этой опции идентифицируется «нулевым значением» поля Следующий заголовок (Next Header) основного
заголовка. Такая процедура обработки заголовка позволяет существенно снизить время обработки пакета и ускорить доставку пакета до потребителя за минимальное время. Обработка полей ведется
в строгом порядке их расположения.
Полный стек IPv6 иллюстрируется на рис. 1.40.
Использование полей Расширенный заголовок состоит в следу­
ющем.
Заголовок и данные вышележащему уровню (TCP, UDP, RSVP, …)
Опция Конечный адрес назначения
Опция Защита данных
Опция Аутентификация
Опция Фрагментация
Опция Маршрутизация
Опция Промежуточный адрес назначения
Опция От узла к узлу
Основной заголовок IPv6 (40 байт)
Рис. 1.40. Стек заголовков IPv6
74 Интерфейсы и протоколы сетей следующего поколения
Наличие опции От узла к узлу идентифицируется значением 0
поля Следующий заголовок в основном заголовке IPv6. Последовательно включает в себя поля: Следующий заголовок, Длина опции, Опции.
Наличие опции Промежуточный адрес назначения идентифицируется значением 60 поля Следующий заголовок предыдущей опции. Используется только узлом, адрес которого указан в поле Адрес
назначения (Destination Address) для реализации процедур свободная маршрутизация (Loose Source and Record Route, LSRR).
Наличие опции Маршрутизация идентифицируется значением
43 поля Следующий заголовок предыдущей опции. Используется для
реализации процедур Запись части выбранного маршрута (Loose
Source and Record Route, LSRR). Последовательно включает в себя
поля Следующий заголовок, Длина опции, Данные маршрута.
Наличие опции Фрагментация идентифицируется значением 44
поля Следующий заголовок предыдущей опции. Используется для
сборки фрагментированной информации на приеме. Последовательно включает в себя поля Следующий заголовок, Смещение фрагмента (Fragment Offset), Флаги (сегмент промежуточный или последний). Фрагментацию осуществляет только исходящий узел, проходящие узлы этим не занимаются. Протокол требует передачу пакетов длиной не менее 1 280 байт. Это означает, что минимальная
длина поля полезной нагрузки равна 1 232 байта (1 280 байт минус
40 байт основного заголовка минус 8 байт заголовка опции). Фрагментации на более мелкие части при необходимости осуществляют
другие уровни.
Наличие опции Шифрование по протоколу ESP идентифицируется значением 50 поля Следующий заголовок предыдущей опции.
Наличие опции Аутентификация по протоколу AH идентифицируется значением 51 поля Следующий заголовок предыдущей опции.
Наличие опции Конечный адрес назначения идентифицируется
значением 60 поля Следующий заголовок предыдущей опции. Используется только узлом, адрес которого указан в поле Адрес назначения
(��������������������������������������������������������������
Destination Address�������������������������������������������
). Отсутствие следующей опции идентифицируется значением 59 поля Следующий заголовок предыдущей опции.
Вопросы к п. 1.8
1. Какие протоколы сетевого уровня используют протокол IP?
Ответ: ICMP с номером протокола 0х0001, IGMP с номером протокола
0х0002, OSPF с номером протокола 0х0059.
Базовые протоколы Интернет 75
2. Какие протоколы используются на транспортном уровне?
Ответ: UDP с номером протокола 0х0011, TCP с номером протокола
0х0006.
3.В каком случае модуль IP осуществляет фрагментацию?
Ответ: в случае, если поступивший пакет имеет бόльшую длину
(MTU), чем она разрешена на адресуемом интерфейсе.
4. Какую информацию рассылает граничный маршрутизатор зоны во
внешнюю сеть?
Ответ: только состав сетей и метрики их достижения.
5. Каким образом OSPF-маршрутизатор узнает об установлении связи
с соседним маршрутизатором?
Ответ: обнаружением своего IP-адреса в списке сообщения Hello, полученного от соседнего маршрутизатора.
6.Обеспечивается ли надежная доставка сообщений ICMP?
Ответ: нет.
7. Что делает узел, входящий в групповую рассылку, при приеме IGMPотчета от другого участника группы?
Ответ: перезапускает таймер отсылки отчета.
8. Каковы основные преимущества протокола IPv6 перед IPv4?
Ответ: расширение адресного пространства и упрощение процедуры
обработки полей протокола.
1.9.Транспортный уровень
1.9.1. Протокол управления передачей
Протокол управления передачей (Transmission Control Protocol,
TCP) [20] обеспечивает надежный канал обмена данными между
прикладными процессами в составной сети, т. е. «из конца в конец». Протокол ориентирован на установление логических соединений между узлами, обеспечивая следующие возможности.
Надежная доставка сегментов. TCP предохраняет данные от
повреждений, утери, дублирования и доставляет пакеты в порядке
их формирования на передаче. Это достигается присвоением каждому передаваемому сегменту порядкового номера (Sequence Number)
и получением номера подтверждения (Acknowledgement Number) от
принимаемой стороны на каждый правильно принятый сегмент.
Когда модуль TCP передает очередной сегмент, то он помещает его
копию в очередь и запускает таймер. Если подтверждение на переданный сегмент принято, то сегмент удаляется из очереди. Отсутствие подтверждения означает либо искажение переданного сегмен76 Интерфейсы и протоколы сетей следующего поколения
та, либо его утерю, либо потерю подтверждения. Если в течение заданного времени подтверждение не поступает, то неподтвержденный сегмент передается повторно.
Приемник использует порядковые номера для правильной сборки сегментов, которые из сети могут приходить в произвольном порядке. Повреждение передаваемых данных обнаруживается при несовпадении контрольной суммы.
Контроль потока. Это достигается применением механизма
«окна» (Window). Принимающий модуль TCP отправляет значение
окна передающему модулю. Значение окна задает количество байтов (размер свободного места в приемном буфере), которое принимающий модуль TCP готов принять. В случае правильного приема
сегмента он изымается из буфера и передается вышележащему
уровню, размер окна увеличивается на размер изъятого сегмента,
передающему модулю передается подтверждение о принятой порции данных и новое значение окна. Нулевой размер окна означает,
что приемник не успевает обрабатывать поступающие данные, по­
этому отправитель должен приостановить передачу.
Мультиплексирование данных. TCP одновременно может обслуживать несколько прикладных процессов. Каждый прикладной
процесс идентифицируется своим уникальным номером порта.
Создание независимых соединений. Когда два хоста хотят связаться друг с другом, то они устанавливают соединение. Каждое
соединение однозначно специфицируется парой сокетов. При окончании связи соединение разрушается.
Приоритетное обслуживание. TCP опционально может обеспечивать приоритетное обслуживание. По умолчанию оно не используется. Функции приоритетного обслуживания и шифрования данных обычно осуществляются модулем IP или вышележащими уровнями с заранее оговоренными параметрами.
Установление связи между прикладными процессами начинается с того, что один из них вызывает модуль TCP и высылает свои
данные в буфер. TCP разбивает поток данных на сегменты, дополняет каждый сегмент управляющей информацией и извещает модуль
IP, в какой удаленный модуль TCP следует отправлять эти сегменты. Приемный модуль TCP после обработки управляющей информации помещает сегменты в приемный буфер и извещает соответствующий вышележащий уровень.
Передающий модуль IP упаковывает сегменты в пакеты локальной сети и в зависимости от адреса назначения маршрутизирует их
Базовые протоколы Интернет 77
в локальный IP-модуль или в исходящий шлюз. Входящий шлюз
следующей локальной сети анализирует, следует ли пакет направить конечному узлу или следующему шлюзу. Для передачи по локальной сети входящий модуль IP может разбить принятый пакет
на более мелкие части, если локальная сеть использует меньшее
значение MTU.
Передающий модуль TCP может накапливать данные и отсылать
их, когда это ему удобно, пока от приложения не поступает указание о немедленной отправке (PUSH). В этом случае все неотправленные данные должны быть отправлены немедленно, а при поступлении этого указания приемному модулю TCP он должен немедленно
вывести все принятые наколенные сегменты.
Местоположение и наименование полей TCP изображено на
рис. 1.41. Порядок передачи бит кадра: слева направо/снизу вверх.
Номер порта источника (Source Port) – определяет номер приложения, от которого поступил сегмент, длина – 16 бит.
Номер порта назначения (Destination Port) – определяет номер
приложения, к которому следует доставить сегмент, длина – 16 бит.
Порядковый номер (Sequence Number) – условный номер первого
байта в передаваемом сегменте, длина – 32 бита.
Номер подтверждения (Acknowledgement Number) – условный
номер первого байта в ожидаемом следующем сегменте, длина –
32 бита.
Смещение данных (Data Offset) – определяет длину заголовка
в 32-битных словах, длина – 4 бита.
Резерв (Reserved) – резервные шесть бит («все 0»).
Данные (Data)
Опции и Заполнение (Option + Padding)
Контрольная сумма (Checksum)
Указатель важности (Urgent pointer)
Смещение
Резерв
U A P R S F
Окно
(Offset)
(Reserved)
(Window)
Номер подтверждения (Acknowledgement Number)
Порядковый номер (Sequence Number)
Номер порта источника (Source Port)
Номер порта назначения (Destination
Port)
3-й уровень
2-й уровень
1-й уровень
Рис. 1.41. Местоположение в стеке протоколов и формат TCP
78 Интерфейсы и протоколы сетей следующего поколения
Биты управления (Control Bits) – содержат управляющую информацию, длина – 6 бит. Первый бит U (Urgent) – признак срочности, второй бит A (Acknowledgement) – флаг подтверждения полученного сегмента, бит P (Push) – признак немедленной отправки,
бит R (Reset) – указание на сброс соединения, бит S (��������
Synchronize) – информация об установлении условных номеров первого
байта при инициализации соединения, F (Final) – флаг окончания
соединения.
Окно (Window) – содержит количество байтов, которое может
принять передающая сторона, считая от последнего подтвержденного байта, указанного в поле Номер подтверждения, длина –
16 бит.
Контрольная сумма (Checksum) – используется для обнаружения ошибок при передаче пакета, длина – 16 бит. Вычисляется как
сумма всех 2-байтных слов сегмента ТСР и 96-битового псевдо заголовка IP (Адрес источника + Адрес назначения + 00000000 + Протокол + Общая длина пакета).
Указатель важности (Urgent Pointer) – принимается во внимание при установленном флаге U, показывает смещение в байтах относительно начала текущего сегмента, где расположены важные
данные.
Опции и Заполнение (Options & Padding) – необязательная часть,
кратная 8 байтам, может содержать длину опциональных пара­
метров.
В поле Данных (Data) размещаются протоколы верхних уровней,
которые идентифицируются полем Номер порта.
Для понимания механизма передачи сегментов на рис. 1.42 приведена диаграмма обмена сообщениями между двумя узлами А и B.
В первом сообщении сторона А инициирует установление соединения, высылая условный номер первого (Flag=S) байта Sec=9053.
В ответном сообщении сторона B подтверждает его получение (F=А)
и высылает условный номер своего первого (Flag=S) байта Sec=9186.
Третье сообщение завершает установление логического канала обмена информацией. В четвертом сообщении сторона А форсированно (F=P) отправляет свои данные длиной 241 байт, с условным номером своего первого байта Sec=9053+1=9054, подтверждая условный
номер первого байта в ожидаемом следующем сегменте: Аск=9187.
В пятом сообщении сторона B подтверждает получение блока данных длиной 241 байт условным номером первого байта в ожидаемом
следующем сегменте, т. е. Аск=9054+241=9295. Шестое и седьмое
Базовые протоколы Интернет 79
Теку- Длина Следующий
данщий
номер, ных,
номер,
Sec
L
Sec
9053
0
9054
Содержание TCP
Теку- Длина Следующий
данщий
номер, ных, номер,
Sec
L
Sec
F=S, Sec=9053, Ack= 0, L=0
F=A/S, Sec=9186, Ack=9054, L=0
9186
0
9187
9054
0
9054
F=A, Sec=9054, Ack=9187, L=0
9187
0
9187
9054
241
9295
F=P/A, Sec=9054, Ack=9187, L=241
9187
0
9187
9295
0
9295
F=A, Sec=9187, Ack=9295, L=0
9187
0
9187
9295
0
9295
F=P/A, Sec=9187, Ack=9295, L=51
9187
51
9238
9295
0
9295
F=A, Sec=9295, Ack=9238, L=0
9238
0
9238
9295
0
9295
F=A/F, Sec=9238, Ack=9295, L=0
9238
0
9238
9295
0
9295
F=A, Sec=9295, Ack=9239, L=0
9239
0
9239
9295
0
F=A/R, Sec=9295, Ack=9239, L=0
Рис. 1.42. Использование механизма порядковых номеров в TCP: F – установленные
Флаги; Sec – Порядковый номер; Ack – Номер подтверждения; L – длина Данных
сообщения описывают процесс передачи 51 байта от стороны B
к стороне А. В восьмом сообщении сторона B извещает об окончании
соединения (F=F), на которое сторона А отвечает подтверждением
(F=А) и осуществляет сброс соединения (F=R).
1.9.2. Протокол дейтаграмм пользователя
Протокол дейтаграмм пользователя (User Datagram Protocol,
UDP) [17] обеспечивает канал обмена данными между прикладными процессами в составной сети, допуская пропадание и дублирование сегментов.
Местоположение и наименование полей UDP изображено на
рис. 1.43. Порядок передачи бит кадра: слева направо/снизу вверх.
Данные (Data)
Длина (Length)
Контрольная сумма (Checksum)
Номер порта источника (Source Port) Номер порта назначения (Destination Port)
3-й уровень
2-й уровень
1-й уровень
Рис. 1.43. Местоположение в стеке протоколов и формат UDP
80 Интерфейсы и протоколы сетей следующего поколения
Номер порта источника (Source Port) – определяет номер приложения, от которого поступил сегмент, длина – 16 бит.
Номер порта назначения (Destination Port) – определяет номер
приложения, к которому следует доставить сегмент, длина – 16 бит.
Длина (Length) – определяет длину сегмента (заголовок + данные) в байтах, длина – 16 бит.
Контрольная сумма (Checksum) – используется для обнаружения ошибок при передаче пакета, длина – 16 бит. Вычисляется как
сумма всех 2-байтных слов дейтаграммы UDP и 96-битового псевдозаголовка IP (Адрес источника + Адрес назначения + 00000000 +
+ Протокол + Общая длина пакета).
В поле Данных (Data) размещаются протоколы верхних уровней,
которые идентифицируются полем Номер порта.
Вопросы к п. 1.9
1. Каковы основные функции протокола TCP?
Ответ: обеспечивает гарантированную доставку, сегментирует длинные данные приложений, обеспечивает сквозное взаимодействие «из
конца в конец».
2. Что означают значения «порядковый номер» и «номер подтверждения»
в TCP?
Ответ: условный номер первого байта в передаваемом сегменте, условный номер первого байта в ожидаемом следующем сегменте.
3. Какие основные функции протокола UDP?
Ответ: обеспечивает негарантированную доставку данных.
1.10.Сеансовый уровень
1.10.1. Информационный протокол маршрутизации
Рассмотренный ранее протокол маршрутизации OSPF предназначен для маршрутизации IP-пакетов в больших сетях со сложной
топологией. Наряду с его очевидными достоинствами (учет петель,
учет битов качества обслуживания, высокая устойчивость к изменению топологии сети), он обладает одним недостатком, а именно –
высокой вычислительной сложностью. Поэтому чаще всего его
применяют в больших автономных сетях и на мощных маршрутизаторах в магистральной сети. Для работы в небольших автономБазовые протоколы Интернет 81
ных сетях с количеством промежуточных маршрутизаторов между
узлами не более 15 часто используют более простые протоколы.
К таким протоколам относится внутренний информационный протокол маршрутизации (Routing Information Protocol, RIP-2) [58],
учитывающий самую простую метрику – количество проходных
маршрутизаторов между узлами. RIP представляет собой протокол
дистанционно-векторного типа, в качестве критерия целесообразности использования того или иного пути (метрики) используется
число переходов (хопов, Hop) через промежуточные маршрутизаторы от узла отправителя до заданного узла назначения. Формализованно задача поиска оптимального пути состоит в просмотре содержимого таблицы маршрутизации и нахождении минимума функции вида
D(I, J) = min {d (I, K) + D(K, J)},
K
где I – номер узла отправителя; J – номер узла назначения; D(I, J) –
метрика наилучшего пути между узлами I и J; d(I, K) – метрика
между узлом I до соседнего узла K.
Построение таблиц маршрутов происходит следующим образом.
В исходном состоянии администратор сети вручную создает минимальную таблицу маршрутизации, учитывающую только непосредственно подсоединенные сети. После этого маршрутизатор сам
начинает отправлять сообщения RIP о содержании своей таблицы
и получать такие сведения от других маршрутизаторов. Сообщение
RIP содержит несколько параметров о каждой известной маршрутизатору сети: IP-адрес, ее маску, метрику. Получив сообщение RIP,
маршрутизатор прибавляет к каждой текущей метрике единицу,
анализирует новые сообщения с целью помещения их в свою таблицу и рассылает результат другим маршрутизаторам. Сети, имеющую метрику более 15, считаются недостижимыми.
Предположим, что текущий маршрут имеет метрику D и она получена от маршрутизатора G. Если новая метрика, полученная от
какого-либо другого маршрутизатора, лучше, чем D, то текущий
маршрут заменяется новым с новой метрикой. Но если новая метрика получена от того же маршрутизатора, то текущий маршрут заменяется всегда, даже если он имеет худшую метрику. Таким образом, в таблице маршрутов хранится информация только о наилучших (с точки зрения принятого критерия) путях.
Рассылку таблиц каждый маршрутизатор осуществляет с периодом 30 с, используя ненадежный протокол UDP, поэтому сообщения
82 Интерфейсы и протоколы сетей следующего поколения
C
A
1
А
B
1
1
1
C
1
D
B
1
1
1
1
E
1
E
D
Рис. 1.44. Структура фрагмента IP-сети
RIP могут теряться. Однако если через 180 с сообщения от какоголибо маршрутизатора не поступают, то он считается недоступным,
а вся информация о маршрутах, полученная от него, считается недействительной и стирается. Чтобы избежать «зацикливания», маршрутная информация, хранящаяся в таблице, никогда не передается
тому маршрутизатору, от которого она получена. При выходе из
строя отдельного маршрутизатора из-за конечного времени распространения маршрутной информации могут возникнуть некоторые
периоды нестабильной работы, если не принять специальных мер.
Рассмотрим сеть из 5 подсетей, структура которой изображена
на рис. 1.44. Метрики между всеми маршрутизаторами для простоты примем равными единице. В приведенных таблицах маршрутизаторов B, C, D, E приняты сокращения: Сеть – IP-адрес сети; Мет –
метрика до этой сети; Ист – IP-адрес интерфейса маршрутизатора,
от которого была получена информация для составления этой записи. Проследим поэтапное изменение записей таблиц при изменении конфигурации сети, а именно – при выходе из строя интерфейса между маршрутизаторами А и В.
1. Содержание таблиц маршрутизаторов B, C, D, E в исправной
сети (табл. 1.14). На этом этапе маршрутизаторы хранят таблицу
Таблица 1.14
Содержание таблиц маршрутизаторов до аварии
Маршрутизатор
сети B
Сеть Мет. Ист.
A
B
C
D
E
2
1
2
2
3
A
B
C
D
C
Маршрутизатор
сети C
Сеть Мет. Ист.
A
B
C
D
E
3
2
1
3
2
B
B
C
B
E
Маршрутизатор
сети D
Сеть Мет. Ист.
A
B
C
D
E
3
2
3
1
3
B
B
E
D
E
Маршрутизатор
сети E
Сеть Мет. Ист.
A
B
C
D
E
4
3
2
2
1
C
C
C
D
E
Базовые протоколы Интернет 83
о наикратчайших маршрутах. Поступление сведений о сетях с худшей метрикой игнорируются.
2. Предположим, произошло повреждение интерфейса на участке A–B. До истечения тайм-аута 180 с все пакеты, следующие к
маршрутизатору А, будут утеряны. При истечении тайм-аута маршрутизатор В отметит сеть А недоступной и сообщит об этом соседним маршрутизаторам C и D. Сеть Е об этом еще не уведомлена
и продолжает слать пакеты сети А через сеть С (табл. 1.15).
3. Маршрутизатор D получает от сети Е (табл. 1.16) ложное сообщение о наличии у нее доступа к сети А с метрикой 4 и помещает эту
запись в свою таблицу маршрутов. Маршрутизатор D и раньше получал от маршрутизатора Е такие сообщения, но игнорировал их,
так как у него был путь к сети А через сеть В с лучшей метрикой.
Теперь уже и пакеты от сети D к сети А начинают следовать по ложному маршруту DECB, получая сообщения ICMP.
4. Наконец, маршрутизатор Е получает сообщение от маршрутизатора С о недоступности сети А и извещает об этом маршрутизатор
D (табл. 1.17).
Таблица 1.15
Содержание таблиц маршрутизаторов при истечении тайм-аута
маршрутизатора В
Маршрутизатор
сети B
Сеть Мет. Ист.
B
C
D
E
1
2
2
3
B
C
D
C
Маршрутизатор
сети C
Сеть Мет. Ист.
B
C
D
E
2
1
3
2
B
C
B
E
Маршрутизатор
сети D
Сеть Мет. Ист.
B
C
D
E
2
3
1
3
B
E
D
E
Маршрутизатор
сети E
Сеть Мет. Ист.
A
B
C
D
E
4
3
2
2
1
C
C
C
D
E
Таблица 1.16
Содержание таблиц маршрутизаторов при получении ложного сообщения
от маршрутизатора Е
Маршрутизатор
сети B
Сеть Мет. Ист.
B
C
D
E
1
2
2
3
B
C
D
C
Маршрутизатор
сети C
Сеть Мет. Ист.
B
C
D
E
2
1
3
2
B
C
B
E
Маршрутизатор
сети D
Сеть Мет. Ист.
A
B
C
D
E
5
2
3
1
3
84 Интерфейсы и протоколы сетей следующего поколения
Е
B
E
D
E
Маршрутизатор
сети E
Сеть Мет. Ист.
A
B
C
D
E
4
3
2
2
1
C
C
C
D
E
Таблица 1.17
Содержание таблиц маршрутизаторов при получении истинного сообщения
от маршрутизатора Е
Маршрутизатор
сети B
Сеть Мет. Ист.
B
C
D
E
1
2
2
3
B
C
D
C
Маршрутизатор
сети C
Сеть Мет. Ист.
B
C
D
E
2
1
3
2
B
C
B
E
Маршрутизатор
сети D
Сеть Мет. Ист.
B
C
D
E
2
3
1
3
B
E
D
E
Маршрутизатор
сети E
Сеть Мет. Ист.
B
C
D
E
3
2
2
1
C
C
D
E
Как видно из приведенного примера, из-за выхода из строя отдельных маршрутизаторов в сети могут возникать длительные переходные процессы с пересылкой ложных путей. Избегают это простым
способом: при получении сообщения о неисправности какой-либо сети
все последующие записи о новых маршрутах производятся после удлиненного тайм-аута. Действительно, если бы в нашем примере маршрутизатор D не вносил бы сразу запись о новом маршруте, то информация о неисправности сети А успела бы дойти до маршрутизатора Е,
который выслал бы маршрутизатору D истинную информацию.
RIP-сообщения передаются в дейтаграммах UDP. Каждый узел,
использующий RIP, запускает свои процессы передачи и приема
маршрутной информации через порт 520. Оконечные устройства
обычно используют RIP пассивно, только принимая сообщения для
определения активных шлюзов и для составляя свою таблицу маршрутов. Местоположение и наименование полей RIP изображено на
рис. 1.45. Порядок передачи бит кадра: слева направо/снизу вверх.
Метрика (Metric)
Следующий переход (Next Hop)
Маска (Subnet Mask)
Сетевой адрес (IP address)
Идентификатор адреса
Маршрутная этикетка (Route Tag)
(Address Family Identifier)
Команда (Command) Версия (Version)
00 . . . 0
4-й уровень
3-й уровень
2-й уровень
1-й уровень
Рис. 1.45. Местоположение в стеке протоколов и формат RIP
Базовые протоколы Интернет 85
Команда (Command) – длина – 1 байт, имеет значение 1 при запросе всей таблицы маршрутов или ее части; имеет значение 2 при
рассылке всей таблицы маршрутов или ее части. Рассылка производится в трех случаях: по запросу (одному маршрутизатору запрошенной части маршрутов), регулярно через 30 с (всех маршрутов
всем соседним маршрутизаторам), при изменении метрики (измененной части маршрутов всем соседним маршрутизаторам).
Версия (Version) – принимает значение 2, длина – 1 байт.
Последующие поля содержат индивидуальные записи о каждом
маршруте. Общее число записей не должно превышать 25, каждая
запись занимает 20 байт и включает в себя идентификатор адреса,
маршрутную этикетку и подробности маршрута.
Идентификатор адреса (Address Family Identifier) – длина –
2 байта, принимает значение 2, если используется формат представления адреса для Интернет. Значение 0хffff используется при аутен­тификации, при этом маршрутная этикетка принимает значение 2,
а в поле подробностей маршрута помещается 16-байтный пароль.
Маршрутная этикетка (Route Tag) – длина – 2 байта, используется для разделения маршрутов внутренних и внешних сетей. Для
внутренних сетей принимает значение 0.
Подробности маршрута содержат сетевой адрес (IP address), маску (Subnet Mask), следующий переход (Next Hop), метрику (Metric).
Параметр следующий переход (Next Hop) используется в тех случаях, когда в сети используются шлюзы с другими протоколами
маршрутизации (например, OSPF) и они не могут сообщить свои
данные о маршрутах по RIP. Промежуточный шлюз, имеющий оба
протокола, получает информацию по OSPF и пересылает по протоколу RIP сетевой адрес (IP address), маску (Subnet Mask), метрику
(Metric) известной ему сети, устанавливая в поле следующий переход адрес шлюза, через который можно достичь эту сеть.
1.10.2. Протокол динамической конфигурации оконечных устройств
Протокол динамической конфигурации оконечных устройств (���
Dynamic Host Configuration Protocol, DHCP) [47] решает две задачи:
назначение параметров конфигурации и назначение IP-адреса оконечным устройствам (ОУ). Используется модель «клиент – сервер»,
где под понятием «клиент» подразумевается узел, использующий
DHCP для запроса конфигурации, а под понятием «сервер» – узел,
86 Интерфейсы и протоколы сетей следующего поколения
возвращающий по запросу конфигурационные параметры. Основой DHCP является протокол удаленной загрузки узла (Bootstrap
Protocol, BOOTP). Сервер и клиент в большинстве сетях не имеют
непосредственной связи, поэтому транзитные узлы (BOOTP Relay
Agent) должны уметь ретранслировать сообщения между ними.
DHCP-сервер конфигурируется администратором сети и ведет централизованное назначение сетевых адресов, что исключает их дублирование. DHCP использует три механизма назначения адреса.
При автоматическом назначении DHCP-сервер без вмешательства
оператора из пула (диапазона) разрешенных адресов возвращает
один и тот же адрес без ограничения срока жизни. При динамическом назначении DHCP-сервер возвращает один и тот же адрес в течение ограниченного времени (срока аренды), при ручном DHCPсервер возвращает один и тот же адрес, назначенный администратором сети. Только механизм динамического назначения адреса
позволяет автоматически присваивать тот же IP-адрес другому
клиенту, после того, как он оказался не нужен предыдущему клиенту. Это свойство используется для временного подключения клиентов к сети и экономии IP-адресов.
При истечении срока аренды клиент обязан пройти процедуру
продления конфигурационных параметров.
В качестве транспортного уровня DHCP использует UDP. Клиентский узел, использующий DHCP, запускает свой процесс через
порт 68, а сервер – через порт 67. Местоположение и наименование
полей DHCP изображено на рис. 1.46. Порядок передачи бит кадра:
слева направо/снизу вверх.
Код операции (op) – длина – 1 байт, принимает значение 1 при
­запросе (BOOTREQUEST) или 2 при ответе (BOOTREPLY).
Тип интерфейса (Hardware type, htype) – длина – 1 байт, показывает технологию, используемую в локальной сети (0x0001 – технология Ethernet).
Длина МАС-адреса (Hardware Address Length, hlen) – длина
МАС-адреса (0х06 – Ethernet).
Число переходов (hops) – длина – 1 байт, устанавливается в «0»
на клиентской стороне, увеличивается на 1 каждым промежуточным узлом и служит для контроля удаленности загружаемого узла
(сообщения со значением более 3 уничтожаются).
Идентификатор операции (xid) – случайное число, генерируемое клиентом, используется для идентификации диалога обеими
сторонами, длина – 4 байта.
Базовые протоколы Интернет 87
Опции (Options)
...
Имя файла (file)
...
Имя сервера (sname (64))
...
MAC-адрес (chaddr (16))
IP-адрес шлюза (giaddr)
IP-адрес сервера (siaddr)
Предлагаемый IP-адрес (yiaddr)
IP-адрес клиента (ciaddr)
Секунды (Secs)
Флаги (Flags)
Идентификатор операции (xid)
Код операции (Op)
Тип интерфейса
(htype)
Длина МАС-адреса
(hlen)
Число переходов
(hops)
4-й уровень
3-й уровень
2-й уровень
1-й уровень
Рис. 1.46. Местоположение в стеке протоколов и формат DHCP
Секунды (secs) – заполняется клиентом и указывает время в секундах, после которого клиент начал использовать загрузочные параметры, длина – 2 байта.
Флаги (flags) – содержит указание на возможность приема дейтаграмм без конфигурирования загруженного программного обеспечения, длина – 2 байта.
IP-адрес клиента (ciaddr) – ранее назначенный IP-адрес клиента, применяется в сообщениях при продлении срока аренды имеющегося IP-адреса, длина – 4 байта.
Предлагаемый IP-адрес (yiaddr) – указывает IP-адрес, предлагаемый сервером, в ответ на запрос назначения от клиента, длина –
4 байта.
IP-адрес сервера (siaddr) – указывает IP-адрес сервера, используемого для последующей загрузки параметров, длина – 4 байта.
IP-адрес шлюза (giaddr) – указывает IP-адрес транзитного узла,
через который производится загрузка, длина – 4 байта.
MAC-адрес (chaddr) – МАС-адрес клиента, используется сервером для поиска в своей таблице типа возвращаемого IP-адреса: статистического или динамического, длина – 16 байт.
88 Интерфейсы и протоколы сетей следующего поколения
Имя сервера (sname) – имя загрузочного сервера, параметр опциональный, длина – 64 байта, неиспользуемые конечные символы
заполняются «0».
Имя файла (file) – имя загрузочного файла, параметр опциональный, длина – 128 байт, неиспользуемые конечные символы заполняются «0».
Опции (Options) – опциональная часть переменной длины, содержащая лист запрашиваемых параметров конфигурации.
В сети может одновременно функционировать несколько DHCPсерверов, поэтому процесс назначения IP адреса состоит из нескольких этапов:
– поиск клиентом работоспособного DHCP-сервера (передача клиентом широковещательного сообщения DHCPDISCOVER);
– рассмотрение поступивших от серверов предложений (передача каждым сервером широковещательного сообщения �������
DHCPOFFER);
– выбор клиентом приемлемого предложения (передача клиентом широковещательного сообщения DHCPREQUEST с конкретным
адресом выбранного сервера);
– регистрация клиента (передача сервером сообщения DH���
CPACK).
Для корректной раздачи загрузочных параметров в DHCPсервере на каждого клиента заводится таблица соответствия ключевых слов и механизма назначения адреса. В качестве ключевого
слова используется уникальное сочетание номера подсети и МАСадреса или номера подсети и имени компьютера.
Рассмотрим пример конфигурирования хоста (табл. 1.18).
1. Оконечное устройство высылает серверу широковещательный запрос поиска сервера (DHCPDISCOVER), в котором op=1
(BOOTREQUEST), htype=1 (Ethernet), hlen=6 (Ethernet), hops=0,
xid=12789 (случайное число), secs=0, flag=0, ciaddr=0, yiaddr=0,
siaddr=0, giaddr=0, chaddr=MAC-адрес клиента, sname=0 (любой
сервер), file=0 (по умолчанию), опции – маска сети, доменное имя,
IP-адреса маршрутизатора, DNS и желаемый IP-адрес.
Запускается таймер ожидания предложений от серверов со значением 4 с, при истечении которого запрос возобновляется с постоянным увеличением значения таймера: 8, 16, 32, 64 с.
2. Каждый сервер, получив запрос, просматривает свою таблицу
ключевых слов и определяет механизм присвоения IP-адреса, проверяя уникальность предлагаемого IP-адреса предварительным
Базовые протоколы Интернет 89
90 Интерфейсы и протоколы сетей следующего поколения
4. Клиент Сервер
yiaddr= 163.242.190.201
Op=2(BOOTREPLY)
htype=1 (Ethernet)
hlen=6 (Ethernet)
hops=0
xid=12789 (случайное
число)
secs=0
flag=0
ciaddr=0
siaddr=0
siaddr=0
giaddr=0
giaddr=0
chaddr=MAC-адрес клиента chaddr=MAC-адрес клиента
Options:
Options:
53 – DHCPREQUEST
53 – DHCPACK
1 – Маска сети
1 – Маска сети
(255.255.255.0)
15 –Доменное имя
15 –Доменное имя
(www600.siemens.net)
3 – IP-адрес маршрути- 3 – IP-адрес маршрутизатора
затора
(163.242.190.254)
6 – IP-адрес DNS
6 – IP-адрес DNS
(163.242.190.140)
50 – желаемый IP-адрес
(163.242.190.201)
54 – IP-адрес DHCP
54 – IP-адрес DHCP
(163.242.190.133)
(163.242.190.133)
51 –Время аренды
IP-адреса (1 час)
yiaddr=0
yiaddr=163.242.190.201
3. Клиент Сервер
op=1(BOOTREQUEST)
Htype=1 (Ethernet)
hlen=6 (Ethernet)
hops=0
xid=12789 (случайное
число)
secs=0
flag=0
ciaddr=0
2. Клиент  Сервер
op=2(BOOTREPLY)
Htype=1 (Ethernet)
hlen=6 (Ethernet)
hops=0
xid=12789 (случайное
число)
secs=0
flag=0
ciaddr=0
siaddr=163.242.190.133
giaddr=0
chaddr=00:e0:18:07:f2:96
Options:
53 – DHCPOFFER
1 – Маска сети
(255.255.255.0)
15 –Доменное имя
15 –Доменное имя
(www600.siemens.net)
3 – IP-адрес маршрути- 3 – IP-адрес маршрутизазатора
тора
(163.242.190.254)
6 – IP-адрес DNS
6 – IP-адрес DNS
(163.242.190.140)
50 – желаемый IP-адрес
(163.242.190.201)
54 – IP-адрес DHCP
(163.242.190.133)
51 –Время аренды
IP-адреса (1 час)
op=1(BOOTREQUEST)
Htype=1 (Ethernet)
hlen=6 (Ethernet)
hops=0
xid=12789 (случайное
число)
secs=0
flag=0
ciaddr=0
yiaddr=0 (предлагаемый
IP-адрес)
siaddr=0
giaddr=0
chaddr=00:e0:18:07:f2:96
Options:
53 – DHCPDISCOVER
1 – Маска сети
1. Клиент Сервер
Таблица 1.18
Конфигурирование хоста
ICMP-эхо-запросом. Сообщение DHCPOFFER содержит op=2
(BOOTREPLY), htype=1 (Ethernet), hlen=6 (Ethernet), hops=0,
xid=12789 (то же самое случайное число), secs=0, flag=1 (широковещательный), ciaddr=0, yiaddr=предлагаемый клиенту IP-адрес,
siaddr=IP-адрес сервера, giaddr=0, chaddr=MAC-адрес клиента, опции – маска сети, доменное имя, IP-адрес маршрутизатора, IP-адрес
DNS-сервера, IP-адрес DHCP-сервера, время аренды IP-адреса.
3. Выбранному серверу высылается запрос о закреплении IPадреса (DHCPREQUEST): op=1 (BOOTREQUEST), htype=1 (Ethernet),
hlen=6 (Ethernet), hops=0, xid=12789 (то же случайное число),
secs=0, flag=1 (широковещательный), ciaddr=0, yiaddr=0, siaddr=0,
giaddr=0, chaddr=MAC-адрес клиента, опции – маска сети, доменное имя, IP-адреса маршрутизатора, DNS и желаемый IP-адрес.
4. Сервер подтверждает назначение IP-адреса (DHCPACK): op=2
(BOOTREPLY), htype=1 (Ethernet), hlen=6 (Ethernet), hops=0,
xid=12789 (то же случайное число), secs=0, flag=1 (широковещательный), ciaddr=0, yiaddr=предлагаемый клиенту IP-адрес,
siaddr=IP-адрес сервера, giaddr=0, chaddr=MAC-адрес клиента, опции – маска сети, доменное имя, IP-адрес маршрутизатора, IP-адрес
DNS сервера, IP-адрес DHCP-сервера, время аренды IP-адреса.
Существует еще несколько типов сообщений:
DHCPNAK – высылается от сервера к клиенту при отказе назначения (например, при запросе адреса не из пула разрешенных адресов или при истечении срока аренды);
DHCPDECLINE – высылается от клиента к серверу для уведомления о том, что предлагаемый адрес уже назначен (при проверочном ARP-запросе своего IP-адреса);
DHCPRELEASE – высылается от клиента к серверу для уведомления об отказе от дальнейшей аренды сетевого адреса;
DHCPINFORM – высылается от клиента к серверу для уведомления о том, что сетевой адрес уже имеется (установлен вручную администратором сети) и требуются только локальные параметры.
1.10.3. Протокол разрешения доменных имен
Для установления соответствия между символическими именами
пользователей и их сетевыми адресами в Интернет используется
система доменных имен (Domain Name System, DNS) [27, 28]. Доменное имя представляет собой конечную последовательность из N
Базовые протоколы Интернет 91
этикеток, разделенных точкой, вида <этикетка N>.<этикетка N –
1>.<…>.<этикетка 1.>.< . >. Каждая этикетка может состоять из
букв, цифр или тире 7-разрядного кода ASCII, причем:
– нет различия между заглавными и прописными буквами;
– этикетка всегда начинается с буквы, а заканчивается буквой
или цифрой;
– длина этикетки не должна превышать 63 октетов (символов),
а общая длина доменного имени – не более 255 октетов;
– последняя этикетка не имеет имени и обозначается точкой.
Доменное имя – это перечень этикеток от узла к корню. Домен
с этикеткой <N> является частью домена (поддоменом) по отношению к домену с этикеткой <N – 1> и носит название зоны. Архитектура системы доменных имен имеет древовидную структуру, аналогичную системе каталогов в компьютере (рис. 1.47).
Для каждой зоны на сети создается хотя бы один первичный
(master) DNS-сервер, хранящий таблицу соответствия «доменное
имя – описание ресурса». Он имеет составленную администратором
базу данных зоны, которая представляет собой таблицу соответствия доменных имен и сетевых ресурсов собственной зоны, а также
таблицу соответствия символьных имен и сетевых ресурсов некоторых других зон. Данные о собственной зоне являются авторитетными и хранятся на локальном диске в собственном DNS-сервере в виде
мастер-файла (Master file). Для обеспечения надежности и снижения нагрузки на первичный сервер может дополнительно существовать несколько вторичных DNS-серверов, которые периодически
копируют данные из первичного сервера.
MIL
Домен
MIL
Домен EDU
NS.ISI.EDU
26.3.0.103
Зона
A. ISI.EDU
PR.A.ISI.EDU
26.3.0.103
ARPA
EDU
Домен
ARPA
Зона
ACC.ARPA
Зона
ISI.EDU
Зона
С.ISI.EDU
PR.C.ISI.EDU
26.0.0.73
10.0.0.51
Рис. 1.47. Пример архитектуры системы DNS
92 Интерфейсы и протоколы сетей следующего поколения
SRI  NIC
26.0.0.73
10.0.0.51
AC C
26.6.0.65
База данных хранит архитектуру зоны и IP-адреса сетевых элементов в виде записи о ресурсе (Resource Records), каждая из которых состоит из полей, указанных ниже.
Имя (NAME) – доменное имя ресурса, к которому относятся данные, поле опциональной длины, формат записи – <байт длины этикетки + имя этикетки> <байт длины этикетки + ...
Класс (CLASS) – определяет класс адреса, длина – 2 байта. Класс
IN определяет принадлежность системы адресации сети Интернет.
Тип (TYPE) – тип записи, длина – 2 байта. Тип А означает наличие в поле RDATA IP-адреса узла; тип NS – наличие в поле
RDATA имени DNS-сервера; CNAME – наличие в поле RDATA канонического имени узла (некоторые узлы могут иметь несколько
символических имен, одно из которых является основным – каноническим, остальные – псевдонимами); SOA – признак зоны авторизации, содержит параметры описания зоны в первичном DNSсервере (SERIAL – условный номер версии в первичном сервере,
значение которого увеличивается при внесении администратором изменений, используется нижележащими и вторичными серверами для обнаружения изменений путем сравнения текущего
и предыдущего значений при запросе); REFRESH – время в секундах для периодического чтения актуального значения SERIAL
из первичного DNS-сервера; RETRY – время в секундах для пов­
торного чтения значения SERIAL при неудачной предыдущей попытке; EXPIRE – время в секундах истечения действия записей во
вторичных серверах; PTR – указатель на ресурс поля RDATA, которому принадлежит IP-адрес в поле имя; MX – наличие в поле
RDATA доменного имени электронной почты (e-mail), к которому
приписан узел.
Время жизни (TTL) – определяет время хранения информации
в кэш-памяти (в секундах), длина – 32 бита. Назначается админист­
ратором, типовое значение – несколько дней.
Описание ресурса (RDATA) – поле переменной длины, зависящее
от типа и класса адреса.
Рассмотрим пример записей (рис. 1.48) базы данных зоны DNSсервера с доменным именем ISI.EDU, изображенный на рис. 1.47.
Первая запись (SOA) указывает, что ответственным (первичным)
за конфигурацию домена (зоны) ISI.EDU является сервер NS.ISI.EDU.
В записи содержится серийный номер 870611, задается время
(1 800 с) периодического чтения данных из первичного сервера, задается время (300 с) для повторного чтения данных при неудачной
Базовые протоколы Интернет 93
94 Интерфейсы и протоколы сетей следующего поколения
NS
A
NS
A
MIL.
Рис. 1.48. Пример записи данных зоны ISI.EDU
127.128.9.128.IN-ADDR.ARPA.
103.0.3.26.IN-ADDR.ARPA.
73.0.0.26.IN-ADDR.ARPA.
2.2.2.132.IN-ADDR.ARPA.
3.3.3.133.IN-ADDR.ARPA.
PTR
PTR
PTR
PTR
PTR
CNAME
C.ISI.EDU.
PR.C.ISI.EDU.
EDU.
Тип
SOA
SEC.C.ISI.EDU.
Класс
IN
NS
A
NS
A
MX
NS
A
Имя
ISI.EDU.
NS.ISI.EDU.
A.ISI.EDU.
PR.A.ISI.EDU.
@
86400
86400
Время жизни
NS.ISI.EDU.
PR.A.ISI.EDU.
PR.C.ISI.EDU.
EDU.
MIL.
PRIM.MIL.
133.3.3.3
Описание ресурса
NS.ISI.EDU.
870611
1800
300
604800
86400)
NS.ISI.EDU.
128.9.128.127
PR.A.ISI.EDU.
26.3.0.103
10 PR.A.ISI.EDU.
PR.C.ISI.EDU.
26.0.0.73
10.0.0.51
PR.C.ISI.EDU.
NS.EDU
132.2.2.2
Комментарии
HOSTMASTER.NS.ISI.EDU. (
;serial
;refresh every 30 min
;retry every 5 min
;expire after a week
;TTL minimum of a day
предыдущей попытке, задается время (604 800 с) истечения действия записей.
Во второй записи указывается, что домен (зону) ISI.EDU обслуживает сервер NS.ISI.EDU, который имеет IP-адрес 128.9.128.127.
Третья и четвертая записи содержат сведения о зонах, которые
являются «подзонами» зоны ISI.EDU. Они необходимы для определения ресурсов, когда запрос двигается в направлении «сверху
вниз». Зона A.ISI.EDU обслуживается сервером PR.A.ISI.EDU c сетевым адресом 26.3.0.103, в котором имеется почтовый ящик с тем
же именем. Зона С.ISI.EDU обслуживается сервером PR.С.ISI.EDU
c сетевыми адресами 26.0.0.73 и 10.0.0.51. Сервер, обслуживающий
зону C.ISI.EDU, имеет два имени, одно из них (PR.C.ISI.EDU) является каноническим, а второе (SEC.C.ISI.EDU) – псевдонимом.
Перечисленные записи выделены полужирным и являются авторитетными (authoritative). Сроки их действия наследуются из первой записи.
Следующие две записи неавторитетны, поскольку ответственными за них являются серверы зон EDU и MIL. Эти записи необходимы для запроса ресурсов других доменов, когда запрос двигается в
направлении «снизу вверх». В корневых серверах, в том числе EDU
и MIL, имеются сведения обо всех доменах верхнего уровня. Сведения о ресурсах домена EDU����������������������������������������
�������������������������������������������
можно поучить в сервере NS.EDU, а о ресурсах домена MIL – в сервере PRIM.MIL.
В конце базы данных содержатся записи обратных зон, устанавливающих соответствие между IP-адресом и доменным именем.
Функционирование службы доменных имен поясняет рис. 1.49.
Прикладные программы хоста взаимодействуют с DNS-сервером
имен через распознаватель имен по модели «клиент – сервер». Распознаватель имен, получив запрос от прикладной программы, просматривает собственную кэш-память и, если не находит в ней треОконечное устройство (Host)
Местный DNSсервер
Прикладная программа
(User Program)
Распознаватель имен
(Resolver)
Кэшпамять (Cache)
Мастер файл
(Master files)
Запрос
Ответ
Распознаватель имен
(Resolver)
Запрос
...
Ответ
Кэшпамять (Cache)
Рис. 1.49. Архитектура службы доменных имен
Базовые протоколы Интернет 95
буемые данные, то осуществляет запрос местному DNS-серверу
о разрешении доменного имени в IP-адрес. После получения ответа
он помещает принятую информацию в кэш-память, а затем, если
истекает срок ее действия, то она стирается.
При получении запроса местный DNS-сервер просматривает
либо собственный диск, либо собственную кэш-память и, если не
находит в них требуемые данные, то осуществляет запрос к следующему DNS-серверу, используя рекурсивную или нерекурсивную
процедуру поиска.
Предположим для нашего случая, что серверу зоны ISI.EDU требуются данные о хосте в зоне ACC.ARPA. В случае рекурсивной
процедуры сервер зоны ISI.EDU обратится к серверу зоны (домена)
EDU (запрос двигается в направлении «снизу вверх»). Сервер зоны
EDU найдет в своих записях о ресурсах адрес сервера домена ARPA
и перешлет запрос ему. Сервер зоны ARPA найдет в своих записях
о ресурсах адрес сервера зоны ACC.ARPA и перешлет запрос ему
(теперь запрос двигается в направлении «сверху вниз»). Сервер
ACC.ARPA вернет сведения о запрошенных ресурсах, который будет двигаться по проложенной цепочке в обратном направлении.
В данном случае местный сервер производит один запрос, а ответ
будет авторитетный, так как получен от первоисточника ресурсов.
При использовании нерекурсивной процедуры на запрос сервера
зоны ISI.EDU сервер зоны EDU вернет адрес следующего сервера,
куда следует обратиться, т. е. адрес сервера домена ARPA. Сервер
домена ARPA на второй запрос вернет серверу зоны ISI.EDU адрес
сервера ACC.ARPA и только на третий запрос от сервера зоны ACC.
ARPA будут получены требуемые данные.
Может случиться так, что при обращении к серверу домена ARPA
у него сохранилась в кэш-памяти требуемая информация от предыдущего запроса. В этом случае он не станет делать запрос серверу
зоны ACC.ARPA, а перешлет эти данные из кэш-памяти. Но в этом
случае ответ будет содержать флаг неавторитетного ответа, т. е. запрошенная информация взята из кэш-памяти.
Все элементы системы доменных имен при взаимодействии между собой используют протокол разрешения доменных имен. В качестве транспортного уровня DNS-сервера обычно используют UDP,
но для длинных сообщений могут использовать TCP. Клиентский
узел и DNS-сервер обмениваются информацией через порт 53. Местоположение и наименование полей протокола показаны на рис. 1.50.
Порядок передачи бит кадра: слева направо/снизу вверх.
96 Интерфейсы и протоколы сетей следующего поколения
Additional – дополнение (из записи о ресурсе)
Authority – указатель авторизации (из записи о ресурсе)
Answer – ответ (из записи о ресурсе)
Question – вопрос DNS-серверу
Header – заголовок
4-й уровень
3-й уровень
2-й уровень
1-й уровень
Рис. 1.50. Местоположение и формат протокола DNS
Заголовок (Header) имеет формат, показанный на рис. 1.51, где
ID – 16-битовый идентификатор, генерируется узлом, инициирующим запрос. Ответ возвращается с тем же идентификатором; QR –
бит, определяющий запрос (QR=0) или ответ (QR=1); OPCODE –
­4-битовое поле типа запроса (SQUERY=0 – стандартный запрос,
IQUERY=1 – инверсный запрос, QUERY=2 – запрос состояния сервера); AA – бит авторизации ответа, устанавливается в «1» первоисточником ответа, «0» – ответ, найденный в кэш-памяти); TC – бит, указывающий на то, что сообщение урезано из-за недопустимо большой
длины и содержит только 512 первых байт информации (вместо UDP
следует использовать TCP); RD – бит указания серверу об использовании рекурсивной процедуры и возвращения окончательного ответа; RA – бит ответа сервера о возможности использования рекурсивной процедуры; Z – резерв (3 бита); RCODE – 4-битовоый код возврата
ответа (0 – без ошибок, 1 – ошибка в формате, 2 – сервер недоступен,
3 – ошибка в имени сервера, 4 – отсутствие поддержки запроса сервером, 5 – отказ сервера от запроса); QDCOUNT�������������������
��������������������������
– 16-битовый счетчик числа вопросов в запросе; ���������������������������������
ANCOUNT��������������������������
– 16-битовый счетчик числа ответов; NSCOUNT – 16-битовый счетчик числа авторизированных ответов в записи о ресурсах; ARCOUNT – 16-битовый счетчик
числа дополнительных ответов в записи о ресурсах.
QR
OPCODE
AA
ID
TC
RD
RA
QDCOUNT
ANCOUNT
NSCOUNT
ARCOUNT
Z
RCODE
Рис. 1.51. Формат заголовка протокола DNS
Базовые протоколы Интернет 97
а
ID=556892
ID=556892
OR=0, OPCODE=0,
OR=1, OPCODE=0,
Заголовок
Заголовок
TC=0, RD=1,
Запрос AA=1, TC=0, RD=1,
RCODE=0
RA=1, RCODE=0
QNAME=C.ISI.EDU
QNAME=C.ISI.EDU
Ответ QTYPE=A
Вопрос
QTYPE=A
Вопрос
QCLASS=IN
QCLASS=IN
C.ISI.EDU A IN 26.0.0.73
Ответ
Ответ
A IN 10.0.0.51
Указатель
Указатель
авторизации
авторизации
Дополнение
Дополнение
б
Заголовок
Вопрос
ID=977
OR=0
OPCODE=1
QNAME=xxxx
QTYPE=A
QCLASS=IN
ADDR=10.0.0.51
Ответ
ID=977
Запрос OR=1
OPCODE=1
QNAME=xxxx
Ответ QTYPE=A
QCLASS=IN
ADDR=10.0.0.51
Заголовок
Вопрос
C.ISI.EDU A IN 10.0.0.51 Ответ
Указатель
авторизации
Дополнение
Указатель
авторизации
Дополнение
Рис. 1.52. Функционирование протокола DNS при:
а – прямом; б – инверсном запросах
Вопрос DNS-серверу (Question) – содержит запрашиваемое доменное имя (QNAME), тип (QTYPE) и класс (QCLASS).
Ответ (Answer), указатель авторизации (Authority) и дополнение (Additional) имеют один и тот же формат записи о ресурсе с полями запрошенного доменного имени, типа, класса, временем жизни,
длиной данных и данными, относящимися к заданному вопросу.
На рис. 1.52 показаны некоторые типовые сценарии функционирования протокола.
Вопросы к п. 1.10
1.
2.
Какой транспортный протокол и номер порта использует RIP?
Ответ: протокол ненадежной доставки UDP, порт 520.
Чем достигается надежность рассылки RIP-сообщений?
Ответ: периодической (через 30 секунд) рассылкой.
98 Интерфейсы и протоколы сетей следующего поколения
3. Какое DHCP-сообщение является первым и почему?
Ответ: первое сообщение DHCPDISCOVER требуется для обнаружения DHCP-сервера.
4. Какие значения принимают MAC-адрес назначения, IP-адрес источника и тип протокола в сообщении DHCPDISCOVER?
Ответ: MAC-адрес=ff:ff:ff:ff:ff:ff, IP-адрес=0.0.0.0, тип протокола
0х0800.
5. Какую основную информацию хранит DNS-сервер?
Ответ: таблицу соответствия доменных (символьных) имен IP-адресу
пункта назначения.
6. Может ли администратор домена def.abc создать учетную запись hh.def.
abc и hh.abc?
Ответ: первую – да, вторую – нет, поскольку администратор домена
def.abc не ответственен за домен abc.
1.11.Прикладной уровень
1.11.1. Протокол Telnet
На представленном уровне базовые протоколы Интернет пользователя отсутствуют. Этот уровень, в основном, используется администраторами для обеспечения безопасности сетей.
Протокол Telnet [24] обеспечивает двухсторонний симметричный обмен байториентированных управляющих сообщений между
двумя узлами, каждый из которых представляется как сетевое
­виртуальное устройство (Network Virtual Terminal, NVT). Один из
узлов обычно является сервером, другой – пользователем. Поль­
зователем называется узел, инициировавший соединение, он имеет
устройство ввода (клавиатуру) для запроса данных от удаленной
стороны и устройство вывода (дисплей или принтер) для отобра­
жения запрашиваемых данных.
В качестве транспортного уровня Telnet использует TCP. Пользователь, использующий Telnet, запускает свой процесс через порт 23,
набирая на клавиатуре «telnet <IP-адрес/доменное имя>». На прикладном уровне над Telnet находится либо программа поддержки
реального терминала (на стороне пользователя), либо прикладной
процесс в обсуживающей машине (на стороне сервера), к которому
осуществляется доступ с терминала. Взаимодействие пользователя
с сервером происходит по принципу «запрос – ответ»: пользователь
набирает на клавиатуре командную строку и нажимает клавишу
Базовые протоколы Интернет 99
«Ввод» («Enter»), а сервер в ответ высылает соответствующий отклик.
Кодировка запросов и ответов производится в коде ASCII 7-разрядным кодом (первый бит всегда устанавливается в 0). Коды отдельных байтов приведены в табл. 1.19.
Для определения двоичного кода символа следует к коду колонки приписать код строки, а для определения шестнадцатеричного –
к значению кода колонки приписать значение кода строки. Например, строчной букве «а» соответствует двоичный код 0110 0001 или
шестнадцатеричный – 61, цифре «7» – двоичный код 0011 0111 или
шестнадцатеричный – 37 и т. д. Коды 0–31 являются служебными
и используются для операциями над текстом: NUL(0) – незначимая
комбинация; SOH(1) – начало заголовка; STX(2) – начало текста (после заголовка); ETX(3) – конец текста; EOT(4) – конец передачи текста; ENQ(5) – запрос идентификатора или статуса удаленного терминала; ACK(6) – подтверждение приема; BEL(7) – указание о включении аварийного (извещающего) сигнала; BS(8) – возврат каретки
(курсора) на предыдущую позицию; HT(9) – горизонтальная табуляТаблица 1.19
Коды ASCII
Код
колонки
(0) 0000
(1) 0001
(2) 0010
(3) 0011
(4) 0100
(5) 0101
(6) 0110
(7) 0111
(8) 1000
(9) 1001
(a) 1010
(b) 1011
(c) 1100
(d) 1101
(e) 1110
(f) 1111
Код строки
(0) 000 (1) 001 (2) 010 (3) 011 (4) 100 (5) 101
NUL
SOH
STX
ETX
EOT
ENQ
ACK
BEL
BS
HT
LF
VT
FF
CR
SO
S1
DLE
DC1
DC2
DC3
DC4
NAK
SYN
ETB
CAN
EM
SUB
ESC
IS4
IS3
IS2
IS1
SP
!
«
#
$
%
&
‘
(
)
*
+
,
.
/
0
1
2
3
4
5
6
7
8
9
:
;
<
=
>
?
@
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
100 Интерфейсы и протоколы сетей следующего поколения
P
Q
R
S
T
U
V
W
X
Y
Z
[
\
]
^
_
(6)110
(7) 111
‘
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
{
|
}
~
DEL
ция; LF(10) – перевод курсора на следующую строку той же позиции; VT(11) – вертикальная табуляция; FF(12) – перевод курсора на
следующую страницу в той же позиции; CR(13) – перевод курсора
в начало строки.
На рис. 1.53 показаны первые пять этапов установления соединения по Telnet.
Сервер
Узел
1
TCP (Flag=SYN, Options=0204, MaxSeqSise=05b4)
TCP (Flag=ACK, SYN, Options=0204, MaxSeqSise=05b4)
TCP (Flag=ACK)
2
DATA (WILL Echo, WILL Suppress GA, DO Suppress GA, DO Negotiate Window Size)
TCP (Flag=ACK, PUSH)
DATA (DO Echo, DO Suppress GA, WON’T Suppress GA, WON’T Negotiate Window Size)
TCP (Flag=ACK, PUSH)
TCP (Flag=ACK)
3
DATA (NGLS VoDSL with CPG/IAD)
TCP (Flag=ACK, PUSH)
DATA (CR LF)
TCP (Flag=ACK, PUSH)
TCP (Flag=ACK)
4
DATA (login : )
TCP (Flag=ACK, PUSH)
TCP (Flag=ACK)
5
DATA (a)
TCP (Flag=ACK, PUSH)
TCP (Flag=ACK)
DATA (a )
TCP (Flag=ACK, PUSH)
TCP (Flag=ACK)
DATA (d)
TCP (Flag=ACK, PUSH)
TCP (Flag=ACK)
DATA (d )
TCP (Flag=ACK, PUSH)
TCP (Flag=ACK)
. . .
Рис. 1.53. Диаграмма обмена по протоколу Telnet
Базовые протоколы Интернет 101
На первом этапе с помощью трех сообщений происходит синхронизация номеров сообщений и согласование размеров сегмента (Опция Maximum segment size – код 0204, длина сегмента 1 460 байт –
код 05b4).
На втором этапе с помощью трех сообщений стороны договариваются о форме обмена информацией. Сервер предлагает на своей стороне (WILL) установить режим «Эхо» и не запрашивать разрешение
на новую передачу после окончания предыдущей, а удаленной стороне предлагает (DO) запрашивать разрешения на новую передачу
после окончания предыдущей и согласовать размер «окна» в протоколе TCP. Терминал соглашается с первыми двумя предложениями
(DO) и отказывается от последующих (WON’T).
На третьем этапе сервер извещает терминал о своем прикладном
процессе (NGLS VoDSL with CPG/IAD) и завершает обмен комбинацией 0d0a – CR и LF. Терминал подтверждает получение.
На четвертом этапе сервер производит аутентификацию пользователя запросом его имени (login:).
На пятом этапе пользователь вводит свое имя: первую букву «a»
(код 61), вторую букву «d» (код 64) и т. д. Сервер в соответствии
с принятой формой обмена («Эхо») возвращает принятые символы
назад терминалу. В дальнейшем сервер потребует ввести код – пароль (password:) – и при его соответствии имени пользователя начнет ­переносить команды пользователя и возвращать отклики.
1.11.2. Протокол пересылки файлов. Простейший протокол пересылки файлов
Протокол Telnet дает возможность пользователю только управлять
операциями на удаленном узле, в том числе читать названия и удалять из него файлы, но не обеспечивает транспортировку файлов
между разными узлами. Эту функцию обеспечивает протокол пересылки файлов (File Transfer Protocol, FTP) [26]. В качестве транспортного уровня FTP использует TCP. Для транспортировки файлов сначала создается канал управления по протоколу Telnet
(по умолчанию порт 21), который используется для передачи команд от пользователя и получения откликов от сервера. Затем со­
здается канал передачи данных (по умолчанию – порт 20), который
открывается и закрывается по мере необходимости в течение сеанса связи. Канал управления закрывается только после закрытия
информационного канала.
102 Интерфейсы и протоколы сетей следующего поколения
Типовой сеанс связи копирования файла file1.txt из сервера
в каталог пользователя d: с именем test2.txt выглядит следующим образом (полужирным выделены символы, вводимые пользователем):
ftp 163.1.23.45
/вызов сервера;
220 Service ready
/ответ сервера о готовности;
username Ivanov
/ввод имени пользователя;
User name OK, need password
/запрос пароля;
password ******
/ввод пароля пользователя;
230 User logged in
/успешная проверка пароля;
ASCII
/установка режима передачи;
get file1.txt d:/test2.txt
/копирование файла file1.txt
/из сервера на компьютер
/в папку d: с именем файла test2.txt;
200 Port command successful
/открыт второй канал;
150 Opening ASCII mode data connection for file1.txt (300 bytes) /файл копируется;
226 Transfer complete
/копирование завершено;
ftp: 300 bytes received in 0.1 Seconds 24,6 Kbytes/sec. /отчет о копировании;
quit
/конец сеанса.
221 Goodbye.
Простейший протокол пересылки файлов (Trivial File Transfer
Protocol, TFTP) [34] используется для дистанционной загрузки программного обеспечения и конфигурационных файлов, например,
в шлюзы и маршрутизаторы по их запросу, который они инициируют при включении питания. В качестве транспортного уровня TFTP
использует UDP с портом 69. TFTP не требует идентификации пользователя (запроса имени пользователя и пароля). Загрузка производится блоками по 512 байт. Надежность доставки обеспечивается
TFTP.
1.11.3. Простой протокол передачи почты
Простой протокол передачи почты (Simple Mail Transfer Protocol,
SMTP) [21] в качестве транспортного протокола использует TCP
(порт 25) и применяется для пересылки сообщений от клиентов к почтовым серверам клиентов и пересылки сообщений между серверами. Адресация почтовых сообщений аналогична той, что принята
в системе доменных имен (Domain Name System, DNS). Почтовый
адрес имеет вид Alex@spez.com, где «Alex» – символическое имя,
«spez.com» – почтовый домен. На рис. 1.54 показано прохождение
почтового сообщения от абонента с именем Alex@mail2.spez.com
к почтовому серверу абонента с именем Bob@mail3.param.ru по
протоколу SMTP.
Базовые протоколы Интернет 103
Alex
mail2.spez.com
mail3.param.ru
Установление TCPсоединения
Обмен сообщениями почты
220 mail2.spez.com SMTP generic mail handler
HELO Alex
250 mail2.spez.com Hello Alex, pleased to meet you
MAIL FROM: <Alex@spez.com>
250 <Alex@spez.com>... Sender ok
RCPT TO: <Bob@param.ru>
250 <Bob@param.ru>... Recipient ok
DATA
354 Enter mail, end with "." on a line by itself
.
250 Message accepted for delivery
QUIT
221 mail2.spez.com closing connection
Разрушение TCPсоединения
Установление TCPсоединения
Обмен сообщениями почты
220 mail3.param.ru SMTP generic mail handler
HELO mail2.spez.com
250 mail3.param.ru Hello mail2.spez.com,
pleased to meet you
MAIL FROM: <Alex@spez.com>
250 <Alex@spez.com>... Sender ok
RCPT TO: <Bob@param.ru>
250 <Bob@param.ru>... Recipient ok
DATA
354 Enter mail, end with "." on a line by itself
.
250 Message accepted for delivery
QUIT
221 mail2.spez.com closing connection
Разрушение TCPсоединения
Рис. 1.54. Пересылка по сети почтовых сообщений по протоколу SMTP
Сначала по инициативе пользователя устанавливается TCP-соеди­
нение от клиента Alex к своему почтовому серверу (mail2.spez.com),
и поверх него по протоколу SMTP пересылается почтовое сообще­
ние. Признаком окончания обмена является передача «точки». После
­передачи сообщения TCP-соединение разрушается. Для получения
IP-адреса с именем Bob почтовый сервер mail2.spez.com выполнит
запрос (иногда несколько запросов) к DNS-серверу (на рис. 1.54 не
показан) и получит IP-адрес почтового сервера mail3.param.ru, к которому приписан абонент Bob. Таким же образом почтовое сообщение будет доставлено почтовому серверу mail3.param.ru.
104 Интерфейсы и протоколы сетей следующего поколения
Протокол SMTP обеспечивает только доставку почтовых со­
общений до почтового сервера. Забрать же сообщение из своего почтового ящика абоненту Bob позволяет протокол обслуживания
почтового офиса (Post Office Protocol, POP) [40] версии 3 (POP3).
Протокол POP3 функционирует поверх протокола TCP по порту
110. Процесс забора почты пользователем Bob из сервера показан
на рис. 1.55.
Забор почты инициирует абонент Bob вызовом программы e-mail.
После аутентификации (ввода пароля) почтовый сервер отдает поступившее почтовое сообщение (в данном случае одно, длиной
1 783 байта) и закрывает сессию.
Сообщение электронной почты начинается с перечисления имен
всех проходящих сетевых элементов, затем следуют заголовок
и тело сообщения. Основные поля заголовка приведены в [22]:
From: – поле, в котором задается символическое имя и DNSадрес отправителя сообщения. Например, From: «Ivanova, Irina»
irina.ivanova@siemens.com;
To: – поле, в котором задается DNS-адрес получателя сообщения;
Cc: – поле, в котором задаются дополнительные DNS-адреса
групповой рассылки;
Bob
mail3.param.ru
mail3.param.ru
Установление TCPсоединения
Обмен сообщениями почты
+OK mail3.param.ru POP3 Service Ready
USER Bob@param.ru#mail3.param.ru
+OK
PASS **********
+OK
STAT
+OK 1 1783
LIST
+OK
1 1783
.
RETR 1
+OK
DELE 1
+OK
QUIT
+OK
Разрушение TCPсоединения
Рис. 1.55. Забор почтовых сообщений по протоколу POP3
Базовые протоколы Интернет 105
Sent: – поле, в которое помещается дата и время отправления сообщения. Например, Sent: Tuesday, June 13, 2006 1:07 AM;
Subject: – поле, где располагается тема сообщения;
Return-Path: – поле, содержащее DNS-адрес отправителя сообщения. Например, Return-Path: irina.ivanova@siemens.com.
Изначально электронная почта использовалась только для передачи текстовых сообщений в кодировке ASCII (табл. 1.19), что исключало передачу с использованием других языков, аудио- видеофайлов и т. д. Для этих целей было предложено многоцелевое расширение электронной почты в Интернет (Multipurpose Internet Mail
Extensions, MIME) [42–46], которое использует пять заголовков:
MIME version: – определяет версию стандарта MIME. Текущая
версия – 1;
Content-Description: – строка обычного текста, информирующая
о содержимом;
Content-ID: – уникальный идентификатор;
Content-Type: – указывает на тип и способ использования всего
тела или его части. В начале тела сообщения указывается наличие
ча­стей с различной кодировкой. Например, «Content-Type: multipart/
mixed» означает наличие в теле сообщения нескольких частей с различной кодировкой. Внутри тела указывается тип и способ использования соответствующей части. Например, «Content-Type: text/
plain» означает обычный текст, который непосредственно выводится на монитор, а «������������������������������������������������
Content�����������������������������������������
-����������������������������������������
Type������������������������������������
: application/msword» означает наличие в письме вложения для текстового редактора Microsoft Word;
Content-Transfer-Encoding – указывает на способ кодировки всего или части тела содержимого. При наличии нескольких частей
тела указывается кодировка каждой части. Для передачи любых
сообщений часто используется кодировка «binary», которая не имеет никакой гарантии корректной распечатки (документирования).
Для корректной распечатки двоичных данных обычно используют кодировку base64. Согласно этой кодировке, 24 бита (3 байта)
исходной информации разбиваются на четыре 6-разрядные группы. Каждая 6-разрядная группа кодируется соответствующим
ASCII-кодом: 000000 – ASCII-кодом «A» (двоичный код 01000001),
000001 – ASCII-кодом «B» (двоичный код 01000010) и т. д. Задействуются 26 заглавных букв, 26 прописных, 10 цифр и комбинации 111110 – ASCII-код «+» (двоичный код 0010 1011), 111111 –
ASCII-код «/» (двоичный код 0010 1111). Знаки «=» и «==» в конце
закодированной информации вносятся в случае, если последняя
106 Интерфейсы и протоколы сетей следующего поколения
группа состоит из 8 или 16 бит соответственно. Таким образом, закодированная информация в основном содержит цифры, заглавные
и прописные буквы английского алфавита. Появление посторонних
символов указывает на ошибку.
1.11.4. Протокол передачи гипертекста
Протокол передачи гипертекста (Hyper Text Transfer Protocol,
HTTP) [61] является настолько популярным протоколом, что у многих он ассоциируется с самой сетью Интернет. Большинство приложений используют модель «клиент – сервер», основанную на
Web-технологии. В соответствии с ней, на сервере размещаются
Web-документы, которые интерпретируются программой навигации, функционирующей на рабочей станции клиента.
Логически Web-документ представляет собой документ, имеющий ссылки на различные Web-страницы, каждая из которых может, в свою очередь, содержать ссылки на другие объекты и Webдокументы, расположенные в любом узле сети. Web-документ, по
виду являясь аналогом обычного «бумажного» документа, имеет
ссылки на другие объекты, выделенные другим цветом и подчеркиванием. Выделенные объекты имеют невидимую на экране пользователя привязку к универсальному локатору ресурса (Uniform
Resource Locator, URL), представляющему собой определенный
формат записи вида «схема://имя_узла/описание». Наиболее часто
применяемые схемы в URL следующие: http (ссылка на Webстраницу), mailto (ссылка на почтовый адрес), ftp (ссылка на FTPсервер), file (файл на компьютере). Имя узла определяет местоположение компьютера, где расположен ресурс, например, «/intel.com/».
Наконец, третьей составляющей является описание, где отображается путь к ресурсу на данном компьютере, например, «products/
desktop/index.htm» (в данном случае на файл с именем «index.htm»,
расположенный иерархически в директориях products и desktop).
Ссылки могут быть не только на текст, но и на изображения, видеофильмы, музыкальные файлы и т. д. Наиболее часто применяемые
расширения файлов в URL – html, htm (Web-страница), gif, jpg (изображение), wav (музыкальный файл), txt (текстовый файл), zip (сжатый файл), exe (исполняемая программа).
Протокол HTTP представляет собой протокол запросов-откликов.
Коммуникации HTTP реализуются через постоянные соединения
Базовые протоколы Интернет 107
TCP/IP, по умолчанию порт имеет номер 80. Клиент посылает запрос серверу в следующей форме:
Method Request-URI HTTP/1.1
Request-header
[messagebody],
где Метод (Method) – это процедура, выполняемая над ресурсом
(GET предполагает пересылку всей информации, затребованной
в запросе; HEAD – предполагает пересылку только заголовка, без
тела сообщения; POST предлагает принять клиенту вложенные
объекты, содержащиеся в запросе, и т. д.). ���������������������
Request��������������
-�������������
URI����������
– универсальный идентификатор ресурса, представляемый в форме URL
«схема://имя_узла»; Request-header содержит дополнительную
информацию о запросе: ��������������������������������������
Accept��������������������������������
– специфицирует типы предпочтительных сред, т. е. кодировок файлов (txt, html и т. д.), AcceptCharset – специфицирует предпочтительный символьный набор
(unicode), Accept-Encoding – специфицирует предпочтительную
кодировку текста, Accept������������������������������������
������������������������������������������
-�����������������������������������
Language���������������������������
– специфицирует предпочтительный язык и т. д. Если какой-либо параметр пропущен, то приемлем любой вид; ��������������������������������������������
Messagebody���������������������������������
– опциональное сообщение, содержащее модификаторы, информацию о клиенте и, возможно, другие
данные.
В ответном сообщении сервер посылает:
HTTP/1.1 Status-Code Reason-Phrase
response-header
[messagebody],
где Status-Code – 3-значный код результата запроса (1хх – запрос
получен и обрабатывается, 2хх – запрос успешно обработан, 3хх –
запрос перенаправлен, 4хх – ошибка клиента, 5хх – ошибка сервера); Reason-Phrase – словесный комментарий для пользователей;
Response����������������������������������������������������
-���������������������������������������������������
header���������������������������������������������
содержит подробную ответную информацию о запросе (���������������������������������������������������������
Age������������������������������������������������������
– передает оценку отправителем времени с момента формирования отклика исходным сервером, Location – используется
для переадресации запроса на сервер, отличный от указанного
в Request-URI, Public – содержит список методов, поддерживае108 Интерфейсы и протоколы сетей следующего поколения
мых сервером, и информирует получателя о возможностях сервера
в отношении необычных методов, Retry-After – указатель на то,
как еще долго данная услуга предполагается быть недоступной для
запрашивающего клиента и т. д.); Messagebody – тело объекта,
включающее поле заголовка Content-Type, которое определяет тип
среды для данного тела. Только в случае, когда тип среды не задан
полем Content-Type, получатель может попытаться предположить,
каким является тип среды, просмотрев содержимое и/или расширения имен URL, использованного для идентификации ресурса.
Если тип среды остается неизвестным, получателю следует рассматривать его как «application/octet-stream» (поток октетов).
Обработка запросов от Web-клиента происходит следующим образом (рис. 1.56).
1. Допустим, клиент установил соединение со вспомогательным
сервером (Proxy, прокси-сервером) своего провайдера и набрал на
Web-браузере адрес www.intel.com (запрос 1).
2. Чтобы обратиться к требуемому ресурсу, браузер прокси-сер­
вера посылает имя запрошенного узла на DNS-сервер своего провайдера, который вернет ему IP-адрес 198.175.96.33 (запрос 2/ответ 2).
3. Прокси-сервер установит TCP-соединение с сервером www.
intel.com/, сформирует запрос (get www.intel.com HTTP/1.1) и по IPадресу 198.175.96.33 отошлет его (запрос 3). Полученные данные
200 OK (ответ 3) прокси-сервер перешлет пользователю (ответ 1).
4. Если пользователь воспользуется гиперссылкой в документе,
то образуется новый запрос (запрос 4) и будет получен новый ответ
(ответ 4).
Большинство HTTP-обменов инициируются пользователем и состоят из запросов ресурсов, имеющихся на одном сервере. В простейшем случае такой запрос может быть реализован путем соедиЗапрос 2
Запрос 1
DNS
Proxy ISP
www.intel.com
Ответ 2
Запрос 3
Ответ 1
Запрос 4
Ответ 4
Ответ 3
Запрос 4
Ответ 4
Server 3
Рис. 1.56. Обработка запросов от клиента
Базовые протоколы Интернет 109
нения пользовательского агента (UA) и базового сервера. Более
сложная ситуация возникает, когда присутствует один или более
посредников в цепочке обслуживания запроса/отклика. Существует три стандартные формы посредников: прокси, внешний порт
(gateway) и туннель.
Прокси представляет собой агент переадресации, получающий
запрос для URI, переписывающий все сообщение или его часть и отправляющий переделанный запрос серверу, указанному URI.
Внешний порт (gateway) представляет собой приемник, который
работает на уровень выше некоторых других серверов и транслирует, если необходимо, запрос нижележащему протоколу сервера.
Туннель действует как соединитель «точка – точка» и не производит каких-либо видоизменений сообщений. Туннель используется тогда, когда нужно пройти через какую-то систему (например,
Firewall) в условиях, когда эта система не понимает (не анализирует) содержимое сообщений. Любой участник обмена, который не используется в качестве туннеля, может воспользоваться кэшем для
запоминания запросов. Буфер может сократить длину цепочки
в том случае, если у одного из участников процесса в буфере имеется отклик для конкретного запроса, что может, кроме прочего, заметно снизить требования к пропускной способности канала. Не все
запросы могут записываться в кэш, некоторые из них могут содержать модификаторы работы с кэшем.
Для написания Web-документа используется специальный гипертекстовый язык меток – Hyper Text Markup Language, HTMLтекст, состоящий из ASCII-символов. Этот язык разметки состоит
из команд форматирования, позволяет установить положение
­объекта на странице, изменить размер, цвет, расстояние между
строками, сделать метку и т. д. Метка, означающая наличие связи,
имеет вид <a> и происходит от слова «anchor» («якорь»). В общем
виде ссылка имеет следующий формат: <a href=»url»> текст </a>,
где url (universal resource locator) в простейшем случае может быть
именем файла. Текст обозначает действительный текст в документе, который может быть подсвечен, выделен другим цветом или помечен цифрой. Этот текст говорит программе просмотра, что в URL
можно найти связанную с данным документом информацию или
изображение. Для вызова этой информации или изображения на
экран достаточно указать мышкой на текст и нажать кнопку.
Если URL указывает на объект, находящийся в другой сети, эта
процедура может занять некоторое время. Метка может исполь­
110 Интерфейсы и протоколы сетей следующего поколения
зоваться и для ссылки на определенный раздел документа:­
<���������������������������������������������������������������
a��������������������������������������������������������������
name���������������������������������������������������������
�������������������������������������������������������������
=»�������������������������������������������������������
refname������������������������������������������������
»> текст </�������������������������������������
a������������������������������������
>, где refname является меткой в вашем документе. В общем случае ��������������������������������
URL�����������������������������
указывает тип и место расположения ресурса: сервер://�����������������������������������������
host�������������������������������������
.������������������������������������
domain������������������������������
[:����������������������������
port������������������������
]/����������������������
path������������������
/объект, где в качестве сервера может стоять FTP, Telnet, HTTP, Gopher, Wais, News.
Path описывает проход к каталогу, где лежит объект.
Расширяемый язык разметки (Extensible Markup Language,
XML) рассматривается как следующее поколение HTML. Наряду
с командами форматирования, похожими на HTML, в нем предусмотрены возможности определения новых команд, которые определяет сам пользователь.
1.11.5. Простой протокол управления сетью
Архитектура управления IP-сети представляет собой совокупность
управляющих станций и сетевых элементов. Под сетевыми элементами понимаются хосты (терминалы), шлюзы, серверы и тому подобные устройства, имеющие приложения агентов управления,
функционирующие под управлением управляющей станции. Простой протокол управления сетью (Simple Network Management
Protocol, SNMP) [30] предназначен для переноса управляющей информации между сетевыми элементами и управляющей станцией
(компьютером администратора).
Основными задачами протокола являются доставка запрашиваемой информации от сетевых элементов к управляющей станции
и установка в элементах конфигурационных параметров, заданных
управляющей станцией. В качестве транспортного протокола используется протокол UDP. Узел принимает сообщения на порт 161,
а отсылает на динамический порт управляющей станции. Сообщения об аварийных ситуациях узел передает на порт 162 управляющей станции.
Полная информация о сетевом элементе хранится в его индивидуальной базе данных – Management Information Base (MIB) [31],
которая описывается в форме языка абстрактно-синтаксических
нотаций версии 1 (Abstract Syntax Notation One, ASN.1). Каждый
параметр сетевого элемента (объекта) в MIB имеет свой иденти­
фикатор (����������������������������������������������������
OBJECT IDENTIFIER�����������������������������������
), синтаксис и метод кодировки. Содержание MIB администрируют различные международные организации.
Базовые протоколы Интернет 111
Идентификация параметров объекта в MIB происходит через дерево вложенных каталогов (рис. 1.57). Каждый каталог имеет свое
имя (label), представляющее собой короткий текст или соответствующее ему целое число. Корневой каталог не имеет имени и имеет
три подкаталога: первый – ccitt (0) – администрирует Международный комитет по телеграфии и телефонии (МККТТ); второй – iso (1) –
администрирует Международная организация по стандартизации;
третий – joint-iso-ccitt (2) – находится в общем ведении обеих организаций. Под каталогом iso (1) имеется каталог org (3) для размещения описаний объектов других международных организаций, в том
числе Министерства обороны США (dod), имеющего подкаталог
Internet (1). Таким образом, все объекты Интернет имеют общий
префикс 1.3.6.1.
В табл. 1.20 представлено соответствие названия каталога
в цифро-точечном представлении и соответствующего ему содержимого MIB сетевого элемента Интернет. Следует отметить, что заполнение всех полей подкаталогов не является обязательным, данные
табл. 1.20 лишь указывают, где должна быть расположена соответствующая информация.
Корневой каталог
ccitt (0)
stnd (0)
iso (1)
jointisoccitt (2)
rega (1)
mem (2)
org (3)
dod (6)
Internet (1)
directory (1)
mgmt (2)
experimental (3)
private (4)
mib 2 (1)
system(1)
interfaces(2)
Addr. Trans.(3)
ip(4)
icmp(5)
tcp(6)
udp(7)
Рис. 1.57. Структура размещения информации в MIB
112 Интерфейсы и протоколы сетей следующего поколения
egp(8) trans(10)
snmp(11)
Базовые протоколы Интернет 113
1.3.6.1
1.3.6.1.1
1.3.6.1.2
1.3.6.1.2.1
1.3.6.1.2.1.1
1.3.6.1.2.1.1.1
1.3.6.1.2.1.1.2
1.3.6.1.2.1.1.3
1.3.6.1.2.1.1.4
1.3.6.1.2.1.1.5
1.3.6.1.2.1.1.6
1.3.6.1.2.1.1.7
1.3.6.1.2.1.2
1.3.6.1.2.1.2.1
1.3.6.1.2.1.2.2
1.3.6.1.2.1.2.2.1
1.3.6.1.2.1.2.2.1.1
1.3.6.1.2.1.2.2.1.2
1.3.6.1.2.1.2.2.1.3
1.3.6.1.2.1.2.2.1.4
1.3.6.1.2.1.2.2.1.5
Mgmt
mib-2
System
Sysdescr
sysObjectId
sysUpTime
sysContact
sysName
sysLocation
sysServices
Interfaces
ifNumber
ifTtable
ifEntry
ifIndex
ifDescr
IfType
ifMTU
ifSpeed
Цифро-точечное представление
Internet
Directory
Подкаталог
Таблица 1.20
Перечень каталогов MIB
Резерв
Каталог размещения объектов под администрацией IAB
Каталог MIB
Каталог описания сетевого элемента
Текстовое описание объекта
Идентификатор производителя
Время с момента последней загрузки, с ⋅ 100
Имя системного менеджера и способы связи с ним
Полное имя домена
Физическое местоположение системы
Описание возможных услуг
Каталог интерфейсов сетевого элемента
Общее число интерфейсов
Лист параметров интерфейса
Указатель конкретного интерфейса
Индекс интерфейса (от 1 до ifNumber)
Текстовое описание интерфейса
Тип интерфейса (6 – Ethernet, 9 – Token Ring,
23 – PPP)
Значение MTU для конкретного интерфейса
Скорость передачи, бит/с
Описание содержимого
114 Интерфейсы и протоколы сетей следующего поколения
1.3.6.1.2.1.2.2.1.6
1.3.6.1.2.1.2.2.1.7
1.3.6.1.2.1.2.2.1.8
1.3.6.1.2.1.2.2.1.9
1.3.6.1.2.1.2.2.1.10
1.3.6.1.2.1.2.2.1.11
1.3.6.1.2.1.2.2.1.12
1.3.6.1.2.1.2.2.1.13
1.3.6.1.2.1.2.2.1.14
1.3.6.1.2.1.2.2.1.15
1.3.6.1.2.1.2.2.1.16
1.3.6.1.2.1.2.2.1.17
1.3.6.1.2.1.2.2.1.18
1.3.6.1.2.1.2.2.1.19
1.3.6.1.2.1.2.2.1.20
ifAdminStatus
ifOperStatus
ifLastChange
ifInOctets
ifInUcastPkts
ifInNUcastPkts
ifInDiscards
ifInErrors
ifInUnknownProtos
ifOutOctets
ifOutUcastPkts
ifOutNUcastPkts
ifOutDiscards
ifOutErrors
Цифро-точечное представление
IfPhysAddress
Подкаталог
MAC-адрес интерфейса
Нормальное состояние интерфейса (1 – вкл.,
2 – выкл.)
Текущее состояние интерфейса (3 – тестируется)
Время последнего изменения состояния интерфейса
Полное число принятых байтов
Число unicast-пакетов, доставленных на верхний
уровень
Число multicast-пакетов, доставленных на
верхний уровень
Число непринятых пакетов из-за недостатка
ресурса
Число непринятых пакетов из-за искажений
в канале
Число непринятых пакетов из-за ошибок протокола
Число переданных байтов
Число unicast-пакетов, принятых с верхнего
уровня
Число multicust-пакетов, принятых с верхнего
уровня
Число непереданных пакетов из-за недостатка
ресурса
Число непереданных пакетов из-за искажений
в канале
Описание содержимого
Продолжение табл. 1.20
Базовые протоколы Интернет 115
1.3.6.1.2.1.2.2.1.21
1.3.6.1.2.1.2.2.1.22
1.3.6.1.2.1.3
1.3.6.1.2.1.3.1
1.3.6.1.2.1.3.1.1
1.3.6.1.2.1.3.1.2
1.3.6.1.2.1.3.1.3
1.3.6.1.2.1.4
1.3.6.1.2.1.4.1
1.3.6.1.2.1.4.2
1.3.6.1.2.1.4.3
1.3.6.1.2.1.4.4
1.3.6.1.2.1.4.5
1.3.6.1.2.1.4.6
1.3.6.1.2.1.4.7
1.3.6.1.2.1.4.8
1.3.6.1.2.1.4.9
1.3.6.1.2.1.4.10
1.3.6.1.2.1.4.11
1.3.6.1.2.1.4.12
ipInUnknownProtos
ipInDiscards
ipInDelivers
ipOutRequests
ipOutDiscards
ipOutNoRoutes
Цифро-точечное представление
ifOutQLen
ifSpecific
atTable
atEntry
atIfIndex
atPhysAddress
atNetAddress
ip
ipForwarding
ipDefaultTTL
ipInReceives
ipInHdrErrors
ipInAddrErrors
ipForwDatagrams
Подкаталог
Число пакетов в очереди на отправку
Специфическая информация
Каталог описания собственных адресов
Указатель конкретного интерфейса
Индекс интерфейса (от 1 до ifNumber)
MAC-адрес интерфейса
IP-адрес, соответствующий MAC-адресу
Каталог описания параметров IP-модуля
Значение для маршрутизатора – 1, для хоста – 2
Значение TTL
Общее число принятых дейтограмм
Число непринятых пакетов по всем причинам
Число непринятых пакетов из-за ошибок IP-адреса
Число обслуженных транзитных пакетов
Число непринятых пакетов из-за ошибок
в номере порта
Число непринятых пакетов из-за недостатка
ресурса
Общее число успешно принятых пакетов
Общее число пакетов для отправки
Число непереданных пакетов из-за недостатка
ресурса
Число непереданных пакетов из-за отсутствия
маршрута
Описание содержимого
Продолжение табл. 1.20
116 Интерфейсы и протоколы сетей следующего поколения
1.3.6.1.2.1.4.13
1.3.6.1.2.1.4.14
1.3.6.1.2.1.4.15
1.3.6.1.2.1.4.16
1.3.6.1.2.1.4.17
1.3.6.1.2.1.4.18
1.3.6.1.2.1.4.19
1.3.6.1.2.1.4.20
1.3.6.1.2.1.4.20.1
1.3.6.1.2.1.4.20.1.1
1.3.6.1.2.1.4.20.1.2
1.3.6.1.2.1.4.20.1.3
1.3.6.1.2.1.4.20.1.4
1.3.6.1.2.1.4.20.1.5
1.3.6.1.2.1.4.21
1.3.6.1.2.1.4.21.1
1.3.6.1.2.1.4.21.1.1
1.3.6.1.2.1.4.21.1.2
1.3.6.1.2.1.4.21.1.3
1.3.6.1.2.1.4.21.1.4
ipFragCreates
ipAddrTable
ipAddrEntry
ipAdEntAddr
ipAdEntIfIndex
ipAdEntNetMask
ipAdEntBcastAddr
ipAdEntReasmMaxSize
ipRouteTable
ipRouteEntry
ipRouteDest
ipRouteIfIndex
ipRouteMetric1
ipRouteMetric2
Цифро-точечное представление
ipReasmTimeout
ipReasmReqds
ipReasmOKs
ipReasmFails
ipFragOKs
ipFragFails
Подкаталог
Максимальное время сборки фрагментов, с
Число фрагментов, нуждавшихся в сборке
Число успешно собранных фрагментов
Число неуспешно собранных фрагментов
Число успешно фрагментированных дейтаграмм
Число неуспешно фрагментированных дейтаграмм
Число собственных успешно фрагментированных
дейтаграмм
Собственная таблица адресации
Конкретный IP-адрес из таблицы
Значение IP-адреса
Индекс интерфейса, соответствующий адресу
Маска подсети
Значение младшего бита широковещательного
адреса
Размер наибольшей IP-дейтаграммы, которая
может быть собрана
Собственная таблица маршрутов
Конкретный маршрут из таблицы
Конкретный IP-адрес, к которому ведет маршрут
Индекс интерфейса, ведущий к следующему узлу
Метрика маршрута первого выбора
Метрика альтернативного маршрута
Описание содержимого
Продолжение табл. 1.20
Базовые протоколы Интернет 117
1.3.6.1.2.1.4.21.1.5
1.3.6.1.2.1.4.21.1.6
1.3.6.1.2.1.4.21.1.7
1.3.6.1.2.1.4.21.1.8
1.3.6.1.2.1.4.21.1.9
1.3.6.1.2.1.4.21.1.10
1.3.6.1.2.1.4.21.1.11
1.3.6.1.2.1.4.21.1.12
1.3.6.1.2.1.4.21.1.13
1.3.6.1.2.1.4.22
1.3.6.1.2.1.4.22.1
1.3.6.1.2.1.4.22.1.1
1.3.6.1.2.1.4.22.1.2
1.3.6.1.2.1.4.22.1.3
1.3.6.1.2.1.4.22.1.4
1.3.6.1.2.1.4.23
1.3.6.1.2.1.5
1.3.6.1.2.1.5.1
1.3.6.1.2.1.5.2
1.3.6.1.2.1.5.3
ipRouteNextHop
ipRouteProto
ipRouteAge
ipRouteMask
ipRouteMetric5
ipRouteInfo
ipNetToMediaTable
IpNetToMediaEntry
ipNetToMediaIfIndex
ipNetToMediaPhysAddress
ipNetToMediaNetAddress
ipNetToMediaType
ipRoutingDiscards
icmp
icmpInMsgs
icmpInErrors
icmpInDest
Цифро-точечное представление
ipRouteMetric3
ipRouteMetric4
ipRouteNextHop
Подкаталог
Метрика альтернативного маршрута
Метрика альтернативного маршрута
IP-адрес следующего узла
Тип маршрута (1 – нет, 2 – поврежден, 3 – прямой, 4 – обход)
Ссылка на источник информации (2 – установлено администратором, 8-RIP)
Время последнего обновления, с
Наиболее соответствующая маска сети
Метрика наиболее соответствующего маршрута
Специфическая информация
Таблица соответствия IP-адресов и интерфейсов
Конкретный IP-адрес
Индекс интерфейса
Тип физического адреса интерфейса
IP-адрес, соответствующий физическому
Способ присвоения IP-адреса (3 – динамически,
4 – статически)
Число неиспользуемых маршрутов
Каталог описания сообщений протокола ICMP
Общее число принятых ICMP-сообщений
Число ICMP-сообщений, принятых с ошибкой
Число ICMP-сообщений, содержащих информацию об отсутствии маршрута
Описание содержимого
Продолжение табл. 1.20
118 Интерфейсы и протоколы сетей следующего поколения
1.3.6.1.2.1.5.4
1.3.6.1.2.1.5.5
1.3.6.1.2.1.5.6
1.3.6.1.2.1.5.7
1.3.6.1.2.1.5.8
1.3.6.1.2.1.5.9
1.3.6.1.2.1.5.10
1.3.6.1.2.1.5.11
1.3.6.1.2.1.5.12
1.3.6.1.2.1.5.13
icmpInParmProbs
icmpInSrcQuenchs
icmpInRedirects
icmpInEchos
icmpInEchoReps
icmpInTimestamps
icmpInTimestampReps
icmpInAddrMasks
icmpInAddrMaskReps
Цифро-точечное представление
icmpInTimeExcds
Подкаталог
Число ICMP-сообщений, содержащих информацию об истечении времени
Число ICMP-сообщений, содержащих информацию об ошибочных параметрах
Число ICMP-сообщений, содержащих информацию о переполнении очереди
Число ICMP-сообщений, содержащих информацию о смене маршрута
Число ICMP-сообщений, содержащих запрос на
«ping»
Число ICMP-сообщений, содержащих ответ на
«ping»
Число ICMP-сообщений, содержащих запрос на
«метку времени»
Число ICMP-сообщений, содержащих ответ на
«метку времени»
Число ICMP-сообщений, содержащих запрос на
«адресную маску»
Число ICMP-сообщений, содержащих ответ на
«адресную маску»
Описание содержимого
Продолжение табл. 1.20
Базовые протоколы Интернет 119
1.3.6.1.2.1.7
(всего 9 пунктов)
1.3.6.1.2.1.8
(всего 21 пункт)
1.3.6.1.2.1.10
1.3.6.1.2.1.11
(всего 30 пунктов)
1.3.6.1.3
1.3.6.1.4
1.3.6.1.5
1.3.6.1.6
udp
...
egp
...
translation
...
snmp
...
experimental
...
private
...
security
...
snmpV2
...
Цифро-точечное представление
(всего 26 пунктов)
1.3.6.1.2.1.6
(всего 15 пунктов)
Подкаталог
...
tcp
...
Каталог описания сообщений протокола SNMP
Каталог ссылок на экспериментальные процессы
Каталог описания сообщений протокола маршрутизации EGP
Каталог описания сообщений протокола UDP
Каталог описания сообщений протокола TCP
Описание содержимого
Окончание табл. 1.20
Основными командами взаимодействия управляющей станции
с сетевым элементом являются:
GET (код операции 0ха0) – запрос клиента о переменной у сетевого элемента;
RESPONSE (код операции 0ха2) – информация сервера о запрошенной переменной;
SET (код операции 0ха3) – присвоение значение переменной
в базе данных сетевого элемента;
GETBULK (код операции 0ха5) – запрос сетевому элементу о переменных всего каталога и входящих в него подкаталогах.
Единственное сообщение, которое генерирует сетевой элемент
самостоятельно, – TRAP (код операции 0ха4), оно содержит информацию о неполадках и высылается на порт 162 управляющей станции. В табл. 1.21 и 1.22 приведен пример запроса и ответа.
Таблица 1.21
Запрос о содержимом MIB
Кодировка сообщения SNMP
0х30
0х42
0х02
0х01
0х01
0х04
0х06
0х70 0х75 0х62 0х6с 0х69 0х63
0xa0
0x35
0х02
0х03
0х01d271
0х02
0х01
0х00
Пояснения
Начало сообщения (SEQUENCE)
Длина до конца сообщения –
66 байт
Версия SNMP:
тип переменной – целое
(INTEGER);
длина = 1;
версия = 2 (версия SNMP минус 1)
Пароль:
тип переменной – строка
(STRING);
длина = 6;
значение = p u b l i c
Код операции – запрос (GET):
длина до конца сообщения –
53 байта
Идентификатор запроса:
тип переменной – целое
(INTEGER);
длина = 3;
значение = 119409 (ID)
Статус ошибки:
тип переменной – целое
(INTEGER);
длина = 1;
код ошибки = 0
120 Интерфейсы и протоколы сетей следующего поколения
Окончание табл. 1.21
Кодировка сообщения SNMP
Пояснения
Индекс ошибки:
тип переменной – целое
0х02
(INTEGER);
0х01
длина = 1;
0х00
код ошибки = 0
0х30
Список объектов (SEQUENCE):
длина до конца сообщения –
0х28
40 байт
0х30
Объект 1 (SEQUENCE):
0х12
длина объекта = 18 байт;
0х06
тип переменной – идентификатор;
длина поля идентификатора –
0х0e
14 байт;
значение запрашиваемого каталога
2b 06 01 04 01 a169 02 12 01 01 03 01 00 1. 3. 6.1.4.1.4329.2.18.1.1.3.1.0;
0х05
запрос переменной;
0х00
длина = 0
0х30
Объект 2 (SEQUENCE):
0х12
длина объекта – 18 байт;
0х06
тип переменной – идентификатор;
длина поля идентификатора –
0х0e
14 байт;
значение запрашиваемого каталога
2b 06 01 04 01 a169 02 12 01 01 03 02 00 1. 3. 6.1.4.1.4329.2.18.1.1.3.2.0;
0х05
запрос переменной;
0х00
длина = 0
Таблица 1.22
Ответ о содержимом MIB
Кодировка
Пояснения
0х30
Начало сообщения (SEQUENCE)
0х44
Длина до конца сообщения –
68 байт
0х02
0х01
0х01
Версия SNMP:
тип переменной – целое;
длина = 1;
версия = 2 (версия SNMP минус 1)
0х04
0х06
0х70 0х75 0х62 0х6с 0х69 0х63
Пароль:
тип переменной – строка;
длина = 6;
значение = p u b l i c
Базовые протоколы Интернет 121
Окончание табл. 1.22
Кодировка
Пояснения
0x37
Код операции – RESPONSE
(ответ):
длина до конца сообщения –
55 байт
0х02
0х03
0х01d271
Идентификатор запроса:
тип переменной – целое;
длина = 3;
значение = 119409
0х02
0х01
0х00
Статус ошибки:
тип переменной – целое;
длина = 1;
код ошибки = 0
0х02
0х01
0х00
Индекс ошибки:
тип переменной – целое;
длина = 1;
код ошибки = 0
0xa2
0х30
0х2a
Список объектов (SEQUENCE):
длина до конца сообщения –
42 байта
0х30
0х13
0х06
Объект 1 (SEQUENCE):
длина объекта – 19 байт;
тип переменной – идентификатор;
длина поля идентификатора –
0х0e
14 байт;
значение запрашиваемого каталога
2b 06 01 04 01 a169 02 12 01 01 03 01 00 1. 3. 6.1.4.1.4329.2.18.1.1.3.1.0;
тип переменной – ограниченное
0х42
целое;
0х01
длина = 1;
0х2с
значение = 44
0х30
0х13
0х06
Объект 2 (SEQUENCE):
длина объекта – 19 байт;
тип переменной – идентификатор;
длина поля идентификатора –
0х0e
14 байт;
значение запрашиваемого каталога
2b 06 01 04 01 a169 02 12 01 01 03 02 00 1. 3. 6.1.4.1.4329.2.18.1.1.3.2.0;
тип переменной – ограниченное
0х42
целое;
0х01
длина = 1;
0х00
значение = 0
122 Интерфейсы и протоколы сетей следующего поколения
Вопросы к п. 1.11
1.Назовите основное назначение протоколов FTP и TELNET.
Ответ: FTP предназначен для передачи файлов между узлами,
а TELNET – для управления операциями на удаленном узле.
2. Какие и сколько соединений использует FTP?
Ответ: FTP постоянно использует одно TCP-соединение для управления, а на время транспортировки файла временно создается второе
TCP-соединение.
3.Перечислите основные отличия протокола FTP от TFTP.
Ответ: 1) для доставки информации протокол FTP использует транспортный протокол TCP, а протокол TFTP – UDP; 2) FTP использует для
передачи блоки информации переменной длины, а TFTP использует
блоки фиксированной длины 512 байт; 3) надежная доставка информации протокола FTP обеспечивается транспортным протоколом TCP,
а надежная доставка информации протокола TFTP – протоколом приложения.
4. Какие транспортные протоколы используют SMTP и POP3 и почему?
Ответ: для надежной доставки и фрагментации длинных сообщений
используется протокол TCP.
5.На каких участках сети используются протоколы SMTP и POP3?
Ответ: на участке «исходящий пользователь – входящий почтовый
сервер» используется протокол SMTP. На участке «входящий почтовый сервер – пользователь» используется протокол POP3.
6.Объясните назначение многоцелевого расширения электронной почты
в Интернет (MIME).
Ответ: применяется для правильного воспроизведения каждой части
сообщения, каждое из которых может иметь различную кодировку.
7.Назовите состав полей универсального локатора ресурса (URL).
Ответ: схема (http://, mailto:, ftp://, …), имя сервера (/intel.com/),
путь к ресурсу на данном сервере (/products/desktop/index.htm).
8.Назовите язык описания базы данных сетевого элемента.
Ответ: для описания базы данных сетевого элемента используется
язык абстрактно-синтаксических нотаций версии 1 (Abstract Syntax
Notation One, ASN.1).
9.Назовите общий префикс каталога объекта Интернет в протоколе
SNMP.
Ответ: все объекты Интернет имеют общий префикс 1.3.6.1.
Базовые протоколы Интернет 123
Глава
2
Протоколы
мульти­
медийных
приложений
2.1.Общие принципы формирования пакетов
Мультимедийные приложения сети следующего поколения предполагают использование одной из триады услуг (Triple Service)
или их различных комбинаций:
– передача данных (текста, факсимиле,
неподвижных изображений);
– передача видео (подвижных изображений);
– передача аудио (речи, музыки).
Изначально сеть Интернет проектировалась только как сеть передачи данных и не
была рассчитана на передачу приложений
в реальном масштабе времени, каковыми являются приложения видео и аудио. Поэтому
возникла необходимость дополнить базовые
протоколы Интернет специализированными
протоколами.
Во многих случаях исходная информация
является аналоговой. Преобразование анало­
гового сигнала в цифровой может осуществ­
ляться различными способами. Преобразование обычно включает в себя четыре этапа:
1) ограничение полосы (Band Limitation).
Выбирается эффективный спектр речевого
сигнала, находящийся в диапазоне от 300 до
3 400 Гц;
2) квантование (Sampling). Для правильного воспроизведения аналогового сигнала
достаточно передавать его отдельные значения, между которыми исходный аналоговый
сигнал изменяется монотонно. Поскольку
наибольшие изменения создает самая высокая частота исходного аналогового сигнала,
то частота квантования (выборки) выбирается
равной удвоенному значению наивысшей частоты исходного аналогового сигнала, т. е. не
менее 6 800 Гц, в практических реализациях
она принята равной 8 000 раз в секунду;
124 Интерфейсы и протоколы сетей следующего поколения
Таблица 2.1
Шкала MOS
MOS-оценка
5
4
3
2
1
Описание качества
Междугородное качество, соответствующее качеству
передачи по медным физическим проводам
Качество, близкое к междугородному качеству, с почти
незаметными искажениями
Ощутимые искажения, приводящие к повторению части
сказанного
Искажения весьма раздражают
Невозможно вести разговор
3) кодирование (Coding). Каждое значение выборки измеряется
и кодируется в двоичном коде длиной 8 бит (1 байт). Первый бит
определяет знак выборки (0 – отрицательное значение, 1 – положительное). Следующие три бита определяют сегмент, т. е. часть масштабной области, в которой находится измеренная выборка (000 –
младший сегмент, 111 – старший). Последние четыре бита определяют один из 16-ти шагов внутри сегмента (0000 – первый шаг,
1111 – последний). Погрешность измерения порождает шумы квантования. Таким образом, для речевого сигнала полоса передачи равна 8 000 с–1 ⋅ 8 бит = 64 000 бит/с, или 64 Кбит/с;
4) сжатие цифрового сигнала. Эта операция производится над
группой оцифрованных выборок и не является обязательной, если
в сети используются высокоскоростные каналы связи. Однако некоторые части сети могут иметь гораздо более низкую скорость передачи. В этих случаях сжатие цифрового сигнала становится необходимым. Следует отметить, что сжатие сигнала на передаче всегда связано с понижением качества его воспроизведения на приеме.
Для оценки передачи качества голосового сигнала ITU-T (Рекомендация Р.800) использует шкалу средней экспертной оценки (Mean
Opinion Scores, MOS), приведенную в табл. 2.1.
Группа оцифрованных выборок (со сжатием или без) объединяется в поле данных, обрамляется заголовками стека протоколов
и в виде пакета передается в канал связи. На приеме восстановление
аналогового сигнала производится в обратном порядке.
2.1.1. Формирование речевых пакетов. Рекомендации G.711, G.729, G.723, G.726
В соответствии с Рекомендацией G.711 [6], время между соседними
выборками равно 125 микросекунд, поэтому в поле данных пакета
(Payload) за 10, 20 или 30 мс помещается соответственно 80, 160
Протоколы мульти­медийных приложений 125
Preamble
(8 байт)
Ethernet
(14 байт)
RTP, UDP, IP
(40 байт)
Payload
CRC
(4 байта)
Pause
(12 байт)
Рис. 2.1. Поля речевого пакета (Ethernet)
или 240 байт. При прохождении по стеку протоколов добавляются
заголовки RTP (12 байт), UDP (8 байт), IP (20 байт) и байты канального уровня (8 байт для РРР или 14 байт для Ethernet). В наихудшем случае (Ethernet) с учетом преамбулы и межпакетного интервала в сумме добавляется 78 байт (рис. 2.1).
Общая характеристика пакета для приведенных случаев показана в табл. 2.2.
Рекомендация G.729A [8] использует алгебраический линейный
предиктивный кодер связанной структуры (Conjugate-Structure
Algebraic-Code-Excited Linear-Prediction, CS-ACELP). Для сжатия
речевых пакетов применяются специализированные цифровые процессоры (Digital Signal Processor, DSP) высокой производительности, использующие различные алгоритмы сжатия. В качестве исходных данных используются блоки 10- (или 20-) миллисекундных
выборок размером 80 (или 160) байт, а на выходе процессор формирует пакет длиной 10 (или 20) байт. Время обработки блока процессором – 5 мс, общее время формирования пакета – 15 (или 25) мс.
Общая характеристика пакета дана в табл. 2.3.
Рекомендация G.723.1A [7] использует два алгоритма: многоимпульсное квантование с максимальным правдоподобием (Multipulse
Таблица 2.2
Параметры пакетов с кодеком G.711
Тип
кодека
G.711
АлгоПолоса
ритм
передакодиро- чи речи,
вания
Кбит/с
PCM
64
Время формирования
пакета, мс
Общая длина
пакета (LEN),
байт
10 (80 байт)
20 (160 байт)
30 (240 байт)
80 + 78 = 158
160 + 78 = 238
240 + 78 = 318
Суммарная
полоса
MOS
передачи
(bw), Кбит/с
126,4
95,2
84,8
4,3
4,3
4,3
Таблица 2.3
Параметры пакетов с кодеком G.729A
Тип
кодека
Алгоритм
кодирования
G.729A CS-ACELP
G.729A CS-ACELP
Полоса
передачи речи,
Кбит/с
8
8
Время
формиро­
вания
пакета, мс
Общая длина
пакета
(LEN), байт
15 (10 байт) 10 + 78 = 88
25 (20 байт) 20 + 78 = 98
126 Интерфейсы и протоколы сетей следующего поколения
Суммарная
полоса
MOS
передачи
(bw), Кбит/с
70,4
39,2
3,9
3,9
Таблица 2.4
Параметры пакетов с кодеком G.723.1A
Тип
кодека
Полоса
Алгоритм
передачи
кодироваречи,
ния
Кбит/с
G.723.1A MP-MLQ
G.723.1A ACELP
6,4
5,3
Время форми­
рования
пакета, мс
СуммарОбщая длина ная полоса
пакета (LEN), передачи MOS
байт
(bw),
Кбит/с
37,5 (24 байта) 24 + 78 = 102
37,5 (20 байт) 20 + 78 = 98
27,2
26,1
3,8
3,6
Maximum Likelihood Quantization, MP-MLQ) или алгебраическое
линейное предиктивное кодирование (����������������������������
Algebraic-Code-Excited Linear-Prediction, CS-ACELP���������������������������������������
). В качестве исходных данных используются блоки 30-миллисекундных выборок размером 240 байт. В первом случае на выходе процессор формирует пакет длиной 192 бит
(24 байта), во втором – 160 бит (20 байт). Время обработки блока процессором – 7,5 мс, общее время формирования пакета – 37,5 мс. Общая характеристика пакета для приведенных случаев представлена в табл. 2.4.
Для еще бόльшей экономии полосы передачи кодеки G.711, G.729,
G.723 используют процедуру подавления пауз в разговоре. На передаче детектор активности (Voice Activity Detection, VAD) обнаруживает паузы в речи путем сравнения энергии в пакете, поступившем от
источника, с энергией в пакете, поступившем от генератора шума.
При обнаружении длительной паузы (длительностью примерно 10 мс)
передатчик начинает посылать пакеты (Silence Insertion Descriptor,
SID�������������������������������������������������������������
), имеющие гораздо меньшую длину (4 байта), чем обычные речевые пакеты. Приемник, получив такой пакет, включает местный генератор комфортного шума (Comfort Noise Generator, CNG), чтобы
снять у абонента ощущение обрыва канала связи. Процедура подавления пауз в разговоре позволяет уменьшить нагрузку на 35–45 %.
Рекомендация G.726 [9] предлагает использовать следующие кодеки (табл. 2.5).
Таблица 2.5
Параметры пакетов с кодеком G.726
АлгоПолоса
Время
Тип
ритм
передачи
формирования
кодека кодироречи,
пакета, мс
вания
Кбит/с
G.726
G.726
G.726
G.726
ADPCM
ADPCM
ADPCM
ADPCM
40
32
24
16
20 (100 байт)
20 (80 байт)
20 (60 байт)
20 (40 байт)
Общая длина
пакета (LEN),
байт
100 + 78 = 178
80 + 78 = 158
60 + 78 = 138
40 + 78 = 118
Суммарная
полоса
MOS
передачи
(bw), Кбит/с
71,2
63,2
55,2
47,2
4,1
4,1
4,0
4,0
Протоколы мульти­медийных приложений 127
Последние два случая (с полосой 24 и 16 Кбит/с) использовать не
рекомендуется.
Формирование пакетов видео приведено в Рекомендациях H.261,
Н.262 и H.263. Рекомендации предназначены для передачи подвижных изображений телевизионного стандарта с разверткой 525
или 625 строк со скоростью развертки от 10 до 75 кадров в секунду.
Длина кадра различна, полоса передачи зависит от размера изо­
бражения и от скорости развертки и расположена от 0,064 до
100 Мбит/с. Рекомендации описывают несколько опций сжатия, позволяющих понизить суммарную полосу передачи.
Вопросы к п. 2.1
1.Назовите обязательные и опциональные операции при формировании
аудио- и видеопакетов.
Ответ: обязательные операции – выборка, квантование, кодирование,
опциональная – сжатие.
2. Какой транспортный протокол применяется для переноса информации
пользователя в реальном масштабе времени?
Ответ: UDP.
3.Поясните значение полос передачи второй строки табл. 2.2 и первой
строки табл.2.4.
Ответ: в первом случае каждые 20 мс передается пакет длиной
238 байт. Следовательно, за 1 секунду передается 238 ⋅ 1 000/20 байт =
= 1 190 байт = 95 200 бит. Во втором случае за 30 мс передается пакет
длиной 102 байта. Следовательно, за 1 секунду передается 102 ×
× 1 000/30 байт = 3 400 байт = 27 200 бит.
4.Возможен ли обмен информацией (например, разговор) между пользователями, использующими различные типы кодеков?
Ответ: передающая и приемная части должны использовать один тип
кодека.
2.2.Понятие о качестве обслуживания
2.2.1. Параметры качества обслуживания
При передаче речи по IP-сети возникают следующие проблемы.
1. Постоянные задержки прохождения сигналов от передатчика
до приемника. Задержки в любых сетях связи существуют всегда.
Абоненты не ощущают задержек и общаются в реальном масштабе
128 Интерфейсы и протоколы сетей следующего поколения
времени, если суммарная задержка «из конца в конец» не превышает 150 мс. Оценка влияния задержек на качество обслуживания
приведена в Рекомендации ITU-T G.114 [10] (табл. 2.6).
Задержки, во-первых, возникают при формировании пакета.
В цифровых сетях интегрального обслуживания с коммутацией каналов (ЦСИО) каждый фрагмент речи длительностью 125 мкс преобразуется в 8 бит (байт) и сразу же передается в заранее установленный канал связи. В сети с коммутацией пакетов (СКП) несколько байтов собираются в один пакет, иногда подвергаются анализу
для устранения избыточности (сжимаются до меньшего значения),
обрамляются заголовком и хвостовиком и только потом передаются. В результате такой сложной процедуры время формирования
пакета tcod принимает значение от 10 до 37,5 мс. Некоторое время
tdec (до 7,5 мс) требуется на приеме для обратных операций.
Во-вторых, имеются задержки переприема (serialization), связанные с тем, что для определения маршрута следования поступившего пакета маршрутизатору необходимо прочитать адресную часть
пакета, а для этого нужно принять весь пакет или, по крайней мере,
его заголовок. Следует отметить, что при наличии очереди задержка переприема определяется полосой передачи bw, занимающей
часть скорости передачи по каналу связи VEL. Поэтому маршрутизатору для приема пакета длиной LEN байт от приложения, которому выделена полоса передачи bw Кбит/с, может потребоваться время 8 · LEN/bw мс. Например, для передачи пакета речи с использованием Рекомендации G.711 (LEN = 238 байт, bw = 95,2 Кбит/с) время переприема на одном маршрутизаторе может составить 20
милли­секунд. Поэтому для снижения задержки переприема коммутация в современных маршрутизаторах осуществляется сразу
же после приема заголовка пакета.
В-третьих, при перегрузке на сети маршрутизаторы устанавливают поступающие пакеты в выходную очередь. При большой инТаблица 2.6
Влияние сетевой задержки на качество обслуживания
Значение задержки «из конца в конец», мс
Оценка качества
0–150
Очень хорошее
150–300
Хорошее
300–400
Удовлетворительное
Свыше 400
Неудовлетворительное
Протоколы мульти­медийных приложений 129
тенсивности трафика создается дополнительная задержка tr из-за
прохождения очереди на передачу.
В-четвертых, задержки возникают из-за конечного времени распространения сигнала (примерно 6 микросекунд на километр), которое имеет небольшое значение на коротких линиях, за исключением
спутниковых каналов связи, где задержка может достигать до 400 мс.
2. Потеря пакетов. В процессе прохождения пакета по сети связи
он может быть:
– искажен из-за влияния помех;
– доставлен не по адресу из-за сбоя в программном обеспечении
или в канале;
– утерян по вышеназванным причинам.
Потеря пакета приводит к различным последствиям в зависимости от способа преобразования аналогового сигнала, причем наиболее катастрофические последствия наступают для пакетов, подвергшихся сжатию. Рекомендация ITU-T G.114 нормирует долю потерянных пакетов на уровне не более 5 %.
3. Вариация задержки (джиттер). Дополнительные задержки
возникают при прохождении систем коммутации. В системе с коммутацией каналов (ЦСИО) задержка возникает в каждом узле коммутации из-за перестановки входного временного интервала на более позднее значение на выходе узла и имеет постоянное значение
(не более 125 мкс на ступень искания) на все время установления
соединения. Суммарная постоянная задержка («из конца в конец»)
даже при большом количестве транзитных узлов легко укладывается в требуемую норму tsum = 150 мс.
В системе коммутации пакетов (СКП) коммутацию выполняют
маршрутизаторы, которые коммутируют поступающие пакеты
в порядке их поступления и с учетом приоритета. Случайный процесс поступления пакетов от разных источников приводит к тому,
что даже регулярный порядок поступающих на вход пакетов от
одного источника на выходе маршрутизатора нарушается. Это приводит к тому, что, в отличие от ЦСИО, в СКП возникают дополнительные задержки переменной величины. Для компенсации переменной сетевой задержки приемники пакетов хоста всегда оснащаются сглаживающим буфером, аналогично эластичной памяти
в узлах ЦСИО. Поступающие пакеты записываются в момент их
приема в очередную ячейку памяти буфера, а считывание пакетов
происходит с некоторой постоянной задержкой tbuf (со смещением
номеров ячеек), определяемой емкостью буфера Buf.
130 Интерфейсы и протоколы сетей следующего поколения
Сеть с коммутацией пакетов Интернет предназначена для обслуживания различных типов услуг (видео, речь, данные). Для реализации каждой услуги необходимо выделить определенный сетевой
ресурс – производительность управляющих устройств, полосу передачи канала связи и т. д. Для понимания возникновения дефицита
канальных ресурсов рассмотрим типовую схему обслуживания
услуг маршрутизатором (рис. 2.2).
Каждая услуга характеризуется своей полосой передачи bw
(Band Width) и длиной пакета LEN. Услуга порождает поток пакетов (вызовов). На каждый из N входов (интерфейсов) сетевого маршрутизатора поступает множество пакетов, принадлежащих разным
услугам. Каждый пакет может потребовать соединения с одним или
несколькими из M выходов (интерфейсов) маршрутизатора. Если
в момент поступления пакета имеется свободный требуемый выход, то пакет обслуживается немедленно, в противном случае, он
обслуживается в порядке очереди. Дефицит канальных ресурсов
возникает в моменты времени, когда несколько практически одновременно поступивших пакетов требуют соединения с одним и тем
же выходом маршрутизатора, имеющего конечную скорость передачи VEL.
Традиционно в Интернет широко использовался способ распределения ресурсов «с наибольшими усилиями» (Best Effort), заключающийся в принципе «первый пришел – первый обслужен» (First
In – First Out, FIFO). Такой алгоритм обслуживания хорошо работает, если приложения терпимы к задержкам пакетов из-за образования очередей, или в случае, если сетевые ресурсы намного превышают потребности поступающих вызовов. Например, если имеются
высокопроизводительное управляющее устройство и сверхскоростные каналы связи, то аппаратная задержка и время занятия канала
связи для передачи пакета ничтожно и очереди в маршрутизаторе
не возникают. Такая ситуация показана на рис. 2.3, а, когда на один
выход (Вых.) поступают пакеты от трех входов (Вх. 1, Вх. 2, Вх. 3).
Однако запросы реально поступающих вызовов сопоставимы с возможностями канальных ресурсов, а иногда значительно их превыR
Вх. 1
Вх.i
Вх. N
...
...
...
...
Вых. 1
Вых. j
Вых. M
Рис. 2.2. Схема обслуживания вызовов маршрутизатором
Протоколы мульти­медийных приложений 131
а
Вх. 1
t
Вх. 2
t
Вх. 3
t
Вых.
t
б
Вх. 1
1
Вх. 2
Вх. 3
Вых.
2
1
2
3
1
1
2
2
2
5
4
1
1
4
3
3
3
2
t
t
3
4
t
3
4
5
t
Рис. 2.3. Диаграмма обслуживания пакетов алгоритмом FIFO на:
а – высокоскоростных каналах; б – низкоскоростных каналах
шают. На рис. 2.3, б показана та же ситуация при использовании
каналов связи с малой скоростью.
Видно, что использование низкоскоростных каналов приводит
к значительному джиттеру всех потоков, что совершенно неприемлемо для таких приложений, как передача речи. Следовательно, проблема состоит в том, чтобы создать такой порядок обслуживания потоков, чтобы приложения, чувствительные к задержкам, имели
большую пропускную способность за счет снижения пропускной способности других приложений, терпимых к задержкам. Это достигается введением специальных механизмов: механизма дозирования
и выравнивания трафика; механизма предотвращения перегрузки
сети; механизма обслуживания очередей на основе приоритетов.
2.2.2. Дозирование и выравнивание трафика
Для устойчивой работы сети в каждом маршрутизаторе используются механизмы дозирования и выравнивания трафика (Traffic
Shaping). Под дозированием понимается ограничение интенсивности входящего и/или исходящего потока пакетов из узла, а под выравниванием – их равномерное распределение во времени. Эти же
механизмы используются в каждом пограничном маршрутизаторе
для проверки соответствия интенсивности поступающих пакетов
заданному профилю (согласованному значению). Дозатор и выравниватель трафика используют одну и ту же схему – «корзина маркеров» (token bucket). Схема «корзина маркеров» функционирует
следующим образом (рис. 2.4).
132 Интерфейсы и протоколы сетей следующего поколения
Traffic Shaping
Генератор маркеров
Корзина
маркеров,
b байт
Входной
поток
Bin
Буфер очереди, B байт
r
Выходной
поток
Рис. 2.4. Схема корзины маркеров
Каждому интерфейсу ставится в соответствие три параметра: согласованная (средняя) скорость передачи (Committed Information
Rate – r, байт/с), размер буфера корзины маркеров b (байт), размер
буфера очереди B (байт). Их конфигурирование в маршрутизаторе
задается командой rate limit input/output r b B. Генератор маркеров
периодически с интервалом времени T0 = b/r пополняет корзину b
маркерами (байтами). На вход дозатора/выравнивателя в буфер очереди емкостью В байт поступают пакеты со скоростью Bin байт в секунду. Если количество маркеров в корзине равно или превышает
длину первого в очереди пакета, то такой пакет передается, и соответствующее число маркеров изымается из корзины. При недостатке маркеров в корзине пакет ожидает в буфере очереди, пока в корзине не накопится достаточное количество маркеров. При заполнении корзины приток новых маркеров от генератора прекращается
(на рис. 2.4 – черный маркер), при наличии в буфере очереди B байт
вновь поступающие пакеты отбрасываются. Механизм функционирует нормально, если скорость передачи интерфейса превышает согласованную скорость передачи, т. е. при VEL > r.
Для того чтобы понять, как соотношение между параметрами
корзины маркеров влияет на обслуживание, рассмотрим временные
диаграммы ее функционирования (рис. 2.5).
При B < b (рис. 2.5, а) задержки в передаче пакетов отсутствуют,
но в корзине всегда остаются неиспользованные маркеры. Из-за небольшого объема буфера очереди существует опасность потери пакетов во время пиковой нагрузки.
При B = b (рис. 2.5, б) задержки в передаче пакетов отсутствуют,
всегда происходит опустошение корзины маркеров. Чтобы избежать
потери пакетов, интенсивность поступления пакетов на входе должПротоколы мульти­медийных приложений 133
T0 = 4 с
а
Корзина
маркеров
t
Bход
t
t
Выход
б
Корзина
маркеров
t
Bход
t
Выход
t
в
Корзина
маркеров
t
Bход
t
Выход
t
0
1
2
3
4
5
6
7
8
Рис. 2.5. Временные диаграммы функционирования корзины маркеров:
а – b = 7 байт, r = b/T0 = 1,75 байт/с, B = 6 байт, VEL = 8 байт/с;
б – b = 7 байт, r = 1,75 байт/с, B = 7 байт, VEL = 8 байт/с;
в – b = 7 байт, r = 1,75 байт/с, B = 9 байт, VEL = 8 байт/с
на точно соответствовать согласованной скорости, что редко выполняется на практике.
При B > b (рис. 2.5, в) происходит опустошение корзины маркеров. Во время пиковой входящей нагрузки последний пакет в буфере очереди задерживается примерно на (B + b)/r секунд. Буфер очереди рассчитывают так, чтобы избежать потери пакетов: B = b(p –
– r)/r, где p = (B + b)/T0 – пиковая скорость входящего потока (на
рис. 2.5, в p = 4 байт/с). При переполнении буфера очереди пакеты
теряются (два черных пакета).
2.2.3. Предотвращение перегрузки
Хосты заинтересованы передавать информацию с максимальной
скоростью, которая, однако, зависит от пропускной способности
сети. Поскольку к началу сеанса связи хосты ничего о ней не знают,
134 Интерфейсы и протоколы сетей следующего поколения
то они пытаются определить пропускную способность сети самостоятельно, используя алгоритм медленного старта (рис. 2.6). В начале сеанса связи в соответствии с алгоритмом медленного старта
устанавливается размер окна, равным одному сегменту (win=1MSS
байт), а пороговое значение размера окна ssthresh=winr – принятому от получателя. При нормальном прохождении сегмента (получении подтверждения) передатчик каждый раз увеличивает размер
окна вдвое, поэтому к моменту времени t = 3 текущее значение окна
передатчика будет равно win=8 · MSS байт. Интенсивная передача
пакетов приводит к увеличению очереди в проходных маршрутизаторах и снижению пропускной способности сети (на рис. 2.6 – пунк­
тирная линия), что приводит к отбрасыванию девятого и последующих сегментов. Такой алгоритм отбрасывания последних пакетов
при переполнении очереди получил название отбрасывания хвоста
(tail drop).
Не получив в течение тайм-аута (Retransmit Timer Timeout, RTT)
подтверждения о приеме 9-го сегмента, TCP-источник:
– сбрасывает значение окна до одного сегмента (win=1MSS
байт);
– переустанавливает пороговое значение размера окна до величины, равной половине текущего значения (ssthresh=8MSS
байт/2=4 · MSS байт), хотя значение окна, принятое от получателя
winr, может иметь гораздо бόльшее значение;
– возобновляет передачу неподтвержденных сегментов, следуя
алгоритму медленного старта, удваивая значение окна, пока оно не
достигнет порогового значения (ssthresh=4 · MSS байт). При достиwin/MSS
Значение окна передатчика
Пропускная способность сети
8
5
4
2
1
1
2
3
RTT
4 5 6
4
5
6
7
8
RTT
9 10 11 10 11 12 13 14
Рис. 2.6. Действие алгоритма медленного старта
Протоколы мульти­медийных приложений 135
t
жении порогового значения размер окна начинает увеличиваться
линейно с приращением MSS байт.
В случае повторной перегрузки описанная процедура повторяется, но с новым значением ssthresh.
Подобная процедура ограничения трафика устраняет перегрузку в момент фактического переполнения очереди и хорошо работает
в сети с небольшим количеством пользователей. Реально же в сети
обычно находится большое количество TCP-соединений. Получив
уведомление о перегрузке (по истечению RTT), множество TCPисточников практически одновременно перезапустят алгоритм медленного старта – сбросят значение размера окна до одного сегмента
и начнут экспоненциально его увеличивать, что неизбежно скоро
приведет к новой перегрузке. Резкое периодическое снижение интенсивности трафика и его быстрый рост приводят к пилообразному
изменению размера очереди, получившему название глобальной
синхронизации (global synchronization).
Алгоритм отбрасывания хвоста приводит к резкому снижению
пропускной способности сети. С целью устранения эффекта глобальной синхронизации применяют другой алгоритм управления
длиной очереди – алгоритм произвольного раннего обнаружения
перегрузки (Random Early Detection, RED). В соответствии с ним,
вместо ожидания фактического переполнения очереди алгоритм
RED превентивно (заранее) начинает отбрасывать вновь поступающие пакеты с ненулевой вероятностью, зависящей от текущей длины очереди. Вероятностный характер отбрасывания пакетов приводит к отбрасыванию всего лишь нескольких произвольно выбранных пакетов, что является сигналом соответствующим TCPисточникам о необходимости перейти к перезапуску алгоритма
медленного старта. Тем самым устраняется эффект глобальной синхронизации.
Отметим, что механизм RED неприменим к протоколу UDP, который нечувствителен к потере пакетов.
Имеется несколько модификаций алгоритма RED, связанных
с селекцией пакетов по значению поля IP-приоритета, по принадлежности к определенному потоку (����������������������������
Weighted Random Early Detection, WRED) и т. д.
Для реализации алгоритма произвольного раннего обнаружения
перегрузки маршрутизатору необходимо иметь численные значения
среднего размера очереди Bmid и вероятности отбрасывания пакета
prob.
136 Интерфейсы и протоколы сетей следующего поколения
Средний текущий размер очереди вычисляется по формуле
Bmid = Bmid-1 (1 - 2-n ) + bn 2-n ,
где Bmid–1 – вычисленный ранее средний размер очереди; bn – измеренный текущий размер очереди; n – весовой коэффициент,
определяемый администратором. Большое значение n приводит
к доминированию предыдущего среднего значения очереди, малое – к доминированию текущего размера очереди. Эмпирически
найдено наиболее приемлемое значение n = 9.
Вероятность отбрасывания пакета вычисляется по формуле
prob =
Bmid - Bmax
,
B - Bmax
где Bmid – вычисленный выше средний текущий размер очереди;
Bmax – конфигурируемое администратором значение длины очереди буфера, с которого начинает действовать алгоритм RED; B –
конфигурируемое администратором максимальное значение очереди.
При малом значении очереди (Bmid < Bmax) отбрасывание пакетов
не происходит, при превышении средней длины очереди допустимого значения (Bmax < Bmid < B) вероятность отбрасывания пакетов линейно возрастает, а при достижении очереди своего максимального
значения (Bmid = B) отбрасываются все вновь поступившие пакеты.
На рис. 2.7 приведены временные диаграмм обслуживания пакетов на интерфейсе, на который поступает два потока.
Рис. 2.7, а демонстрирует функционирование алгоритма отбрасывания хвоста (tail drop) со значением B=16. Пакеты первого потока представлены прямоугольниками серого цвета, пакеты второа
б
В=16
В=16
12
Вmax=14
12
8
8
4
4
t
Рис. 2.7. Временные диаграммы обслуживания пакетов при:
а – алгоритме отбрасывания хвоста; б – алгоритме произвольного раннего
обнаружения перегрузки
Протоколы мульти­медийных приложений 137
t
го потока – темно-серого цвета. Пустые поля отображают неиспользованную (потерянную) пропускную способность интерфейса. В начале сеанса связи в соответствии с алгоритмом медленного старта
оба потока каждый раз удваивают количество передаваемых пакетов, пока количество пакетов в очереди маршрутизатора не достигнет B=16. Маршрутизатор отбросит все пакеты, превысившие этот
уровень. В данном случае будут отброшены пакеты обоих потоков.
Каждый из потоков успел передать по TH = 8 пакетов.
При обнаружении потери пакетов оба источника снизят скорость
передачи до одного пакета и заново начнут удваивать число передаваемых пакетов до значения TH/2=4. После этого каждый из источников начнет линейно увеличивать скорость передачи, пока количество пакетов в очереди маршрутизатора не превысит B=16. Маршрутизатор снова отбрасывает все пакеты, превысившие этот уровень. В данном случае мы имеем типичный эффект глобальной
синхронизации.
Потерянная пропускная способность маршрутизатора оценивается в 106 пакетов.
Рис. 2.7, б демонстрирует функционирование алгоритма произвольного раннего обнаружения перегрузки (�������������������
Random Early Detection, RED) со значениями корзины маркеров Bmax=14, B=16. Пакеты
первого потока представлены прямоугольниками серого цвета, пакеты второго потока – темно-серого цвета. Пустые поля отображают
неиспользованную пропускную способность интерфейса. В начале
сеанса связи в соответствии с алгоритмом медленного старта оба потока каждый раз удваивают количество передаваемых пакетов,
пока количество пакетов в очереди маршрутизатора не достигнет
Bmax=14. Маршрутизатор выборочно отбросит пакеты одного из потоков. В данном случае отброшены пакеты второго потока. Каждый
из потоков успел передать по TH = 8 пакетов.
При обнаружении потери пакетов второй источник снизит скорость передачи до одного пакета и заново начнет удваивать число
передаваемых пакетов до значения TH/2=4, а затем начнет увеличивать скорость передачи линейно. Источник первого потока продолжает передачу с удвоением скорости.
В следующем цикле поступит только 1 пакет второго потока и 16
пакетов первого потока. Поскольку пакетов первого потока существенно больше, то с бόльшей вероятностью будут отброшены пакеты первого потока. При обнаружении потери пакетов первый источник снизит скорость передачи до одного пакета и заново начнет
138 Интерфейсы и протоколы сетей следующего поколения
удваивать число передаваемых пакетов до значения TH/2=8, а затем начнет увеличивать скорость передачи линейно.
Как видно из диаграммы, в случае использования алгоритма
произвольного раннего обнаружения перегрузки (����������������
Random Early Detection, RED��������������������������������������������������
) маршрутизатор попеременно сбрасывает пакеты разных потоков, что повышает пропускную способность сети. Потерянная пропускная способность маршрутизатора оценивается в 89 пакетов, что намного меньше, чем при использовании алгоритма отбрасывания хвоста.
2.2.4. Обслуживание очередей
Механизм обслуживания очередей состоит из двух устройств –
классификатора пакетов и планировщика очередей.
Классификатор пакетов (Packet Classifier) выполняет две функции: распознавание пакета и его маркировку (присвоение пакету
определенного приоритета или класса). Он устанавливается в каждом пограничном маршрутизаторе. Функция распознавания зависит от пяти параметров – IP-адреса источника, IP-адреса назначения, порта источника, порта назначения, поля протокола IP-пакета
(ICMP, TCP, UDP). В зависимости от принятого механизма обеспечения качества обслуживания пакет маркируется путем:
– установки поля IP-приоритета (биты 0–2 в поле TOS заголовка
IP-пакета);
– установки кода дифференцированной услуги (Differentiated
Services Code Point, DSCP) взамен поля TOS в заголовке пакета;
– внесения внутренней записи о принадлежности пакета к QoSгруппе.
Планировщик очередей (Packet Scheduler) может использовать
один из ниже перечисленных механизмов обслуживания очереди:
взвешенного справедливого обслуживания потока (Weighted Fair
Queuing, WFQ), взвешенного справедливого обслуживания классов
(Class-Based Weighted Fair Queuing, CBWFQ), относительного приоритета (Priority Queue, PQ).
Механизм обслуживания пакетов конфигурируется за три
шага.
На первом шаге классификатору пакетов назначается класс обслуживания командой class-map CLASS, где CLASS – название класса.
На втором шаге планировщику назначается политика обслуживаПротоколы мульти­медийных приложений 139
ния класса командой policy-map POLICY, где POLICY – название политики. На третьем шаге командой service-policy output POLICY
определяется интерфейс, к которому применяется политика.
Механизм WFQ создается при помощи команды fair-queue DT
DQ RQ, где DT (Discard Threshold) – максимальное количество пакетов в каждой очереди (потоке), DQ (Dynamic Queue) – количество
динамических очередей (потоков) обслуживания пакетов c механизмом WFQ для обслуживания в режиме «с наибольшими усилиями», RQ (Reserved Queue) – количество зарезервированных очередей для протокола RSVP. Последующие команды, например, могут
выглядеть следующим образом:
сlass-map CLASS3
match ip precedence 3
set ip precedence 5
policy-map POLICY54
match CLASS4
match ip precedence 4
set ip precedence 1
policy-map POLICY54
interface Int0/0
service-policy output POLICY54
/класс обслуживания CLASS3 присваивается
/поступившим пакетам с полем TOS=3,
/в которых устанавливается поле TOS=5,
/и классу назначается политика POLICY54;
/класс обслуживания CLASS4 присваивается
/поступившим пакетам с полем TOS=4,
/в которых устанавливается поле TOS=1,
/и классу назначается политика POLICY54;
/исходящий интерфейс Int0/0
/обслуживает пакеты согласно POLICY54.
Планировщик очередей (Packet Scheduler) каждому пакету присваивает вес, значение которого используется для определения места в очереди на обслуживание. При использовании поля TOS вес
пакета (с последующим округлением до наиближайшего целого)
определяется по формуле
W=
4 096
,
IP + 1
где W – вес пакета; IP – значение поля IP-приоритета (3 байта)
в поле TOS (8 байт). Место в очереди на обслуживание вновь поступившего пакета вычисляется как произведение веса на длину пакета с учетом наличия в очереди ранее поступивших пакетов того же
потока, т. е.
ïìQx-1 + W × LEN, ïðè íàëè÷èè â î÷åðåäè ïàêåòà òîãî æå ïîòîêà
Qx = ïí
,
ïïîQt + W × LEN, ïðè îòñóòñòâèè â î÷åðåäè ïàêåòà òîãî æå ïîòîêà
где Qx – место ожидания вновь поступившего пакета; Qx–1 – место
в очереди ранее поступившего пакета того же потока; LEN – длина
пакета; Qt – текущее место обслуживания. Для подсчета места ожидания используется циклический счетчик с максимальным значением несколько Гигабайт.
140 Интерфейсы и протоколы сетей следующего поколения
Пакеты одного потока помещается в индивидуальную выходную
очередь. За один период прохода всех очередей считывается пакет
с наименьшим местом ожидания. Упрощенно механизм WFQ можно представить как одну очередь, в которой место ожидания тем
меньше, чем выше приоритет и короче длина пакета.
Рассмотрим прохождение очередей при поступлении пакетов
разных приоритетов (рис. 2.8).
Предположим, что в момент времени t0 от классификатора пакетов в планировщик очередей поступают пакеты от трех потоков A, B
и C. Текущее место обслуживания равно 100. Речевые пакеты потока А имеют приоритет 5 (вес = 683) и длину 120 байт, пакет данных
потока В имеет приоритет 0 (вес = 4 096) и длину 64 байта, пакет
данных потока С имеет приоритет 0 (вес = 4 096) и длину 32 байта.
Места в очереди планировщик распределит следующим образом:
Q(A1) = 100 + (683 ⋅ 120) = 82 060; Q(C) = 100 + (4 096 ⋅ 32) = 131 172;
Q(A2) = 82 060 + (683 ⋅ 120) = 164 020; Q(A3) = 164 020 + (683 ⋅ 120) =
= 245 980; Q(B) = 100 + (4 096 ⋅ 64) = 262 244. В момент времени t1,
когда в обслуживании уже находится пакет А1, от классификатора
поступает новый пакет D с приоритетом 0 (вес = 4 096) и длиной
32 байта. Поскольку счетчик текущего места обслуживания к этому моменту уже установлен на значение 82 060, то пакет D будет
поставлен на Q = 82 060 + (4 096 ⋅ 32) = 213 132 место ожидания­
и будет обслужен раньше ранее поступивших пакетов А3 и В.
При использовании приоритетов на основании QoS-группы создается отдельная очередь, а вес пакета присваивается программой
От классификатора От классификатора
пакетов (t = t1)
пакетов (t = t0)
B (262244)
B (262244)
A3 (245980)
A3 (245980)
A2 (164020)
D (213132)
C (131172)
A2 (164020)
A1 (82060)
C (131172)
A1 (120 байт)
100
82060
C (32 байта)
131172
A2 (120 байт) D (32 байта)
164020
213132
Рис. 2.8. Обслуживание пакетов планировщиком очередей
Протоколы мульти­медийных приложений 141
t
на основании какого-либо признака, не входящего в поле TOS или
DSCP. Командой ip rsvp bandwidth BW bwm задаются общая зарезервированная полоса BW и максимальное значение полосы bwm,
которая может быть выделена отдельному приложению. Обычно
bwm ≤ BW ≤ 0,75 · VEL. Вес пакета определяется по формуле
4 × bwm
W=
,
bw
где bwm – максимальное значение из всех полос, выделенных приложениям; bw – выделенная полоса передачи для конкретного приложения. Такое закрепление приоритетов используется в системе
с интегральным обслуживанием.
При использовании механизма CBWFQ все пакеты, имеющие
общий признак (IP-приоритет, поле DSCP и т. д.), относятся к одному классу. Каждому классу в явном виде выделяется определенная
полоса, выраженная в абсолютных или относительных единицах
измерения.
В системе с дифференцированным обслуживанием поле DSCP
делится на две части, старшая часть (3 бита) определяет класс приоритета обслуживания, а младшая (3 бита) – приоритет обслуживания пакетов внутри класса (механизм обслуживания с абсолютным
приоритетом PQ). Поле DSCP обладает обратной совместимостью
с полем TOS, т. е. каждому значению класса приоритета поля DSCP
соответствует значение TOS. Приоритет пакета определяется на
основании кода DSCP, и он обслуживается с использованием механизма CBWFQ.
В случае выделения полос каждому классу в явном виде администратор вносит в базу данных маршрутизатора записи вида
сlass-map ROUTER
/класс обслуживания ROUTER назначается
match ip dscp EF
/поступившим пакетам с полем кода DSCP=46
/(двоичный код 101110);
policy-map EFPOLICY
/политика EFPOLICY назначается
match ROUTER
/классу обслуживания ROUTER,
bandwidth 100
/которому выделяется полоса 100 Кбит/с;
interface E0/0
/исходящий интерфейс Е0/0
service-policy output EFPOLICY
/обслуживает пакеты с политикой EFPOLICY.
В случае выделения полос каждому классу в относительном виде
администратор вносит в базу данных маршрутизатора записи вида
сlass-map match any VOICE/класс обслуживания VOICE назначается
match ip dscp EF /поступившим пакетам с полем кода DSCP=46
/(двоичный код 101110);
policy-map VOICE
/политика VOICE назначается
match VOICE
/классу обслуживания VOICE,
142 Интерфейсы и протоколы сетей следующего поколения
bandwidth percent 70 /которому выделяется 70 % полосы;
interface X
/исходящий интерфейс X
service-policy output VOICE /обслуживает пакеты с политикой VOICE.
Пакеты одного класса одинаково маркируются классификатором пакетов (Packet Classifier), а планировщик очередей (Packet
Scheduler) помещает их в свою очередь. Более приоритетные пакеты
помещаются в очередь с бόльшей полосой передачи. В дальнейшем
планировщик циклически обходит все очереди и считывает из каждой очереди число пакетов в соответствии с выделенной для нее полосой передачи.
Если BWi – абсолютная выделенная полоса для i-го класса,
а MTU – максимальная длина пакета, то за один цикл из очереди i-го
BWi
класса будет передано (считано) пакетов объемом qi =
MTU
min{BWi}
байт, где min{BWi} – минимальное значение из выделенных полос.
Пусть, например, для классов А, В, С выделены полосы по 5, 60
и 35 Кбит/с соответственно, а максимальная длина пакета на интерфейсе – 620 байт. Тогда за один цикл из очереди класса А будет
считано (5/5) · 620 = 620 байт, из очереди класса В – (60/5) · 620 =
= 7 440 байт, а из очереди класса С – (35/5) · 620 = 4 340 байт.
Если BWi% – относительное значение выделенной полосы для
i-го класса, а MTU – максимальная длина пакета, то за один
BWi%
цикл из очереди i-го класса будет передано пакетов объемом qi =
min{
BWi%
BWi%
qi =
MTU байт, где min{BWi%} – минимальное относиmin{BWi%}
тельное значение из выделенных полос. Пусть, например, для классов А, В, С выделены полосы по 5 %, 60 % и 35 % Кбит/с соответственно, а максимальная длина пакета на интерфейсе – 620 байт.
Тогда за один цикл из очереди класса А будет считано (5 % / 5 %) ×
× 620 = 620 байт, из очереди класса В – (60 % / 5 %) · 620 = 7 440 байт,
а из очереди класса С – (35 % / 5 %) · 620 = 4 340 байт.
Таким образом, чем выше приоритет, тем больше выделенная полоса передачи и, следовательно, тем быстрее пакет будет обслужен.
Механизм PQ реализует обслуживание с абсолютным приоритетом. Сетевой администратор определяет приоритетность обслуживания пакета путем внесения в базу данных классификатора записи
вида «IP-адресу=a.b.c.d соответствует поле DSCP=38». Первые три
бита поля DSCP определяют класс обслуживания (выделенную полосу передачи), последующие три бита – подкласс обслуживания.
Внутри одного класса пакеты ставятся на различные места ожидания в соответствии с подклассом – high, medium, low. Планировщик
Протоколы мульти­медийных приложений 143
очередей (Packet Scheduler) всегда начинает обслуживание очереди
класса с подкласса high. Только после того, как все пакеты этого
подкласса будут обслужены, начнется обслуживание подкласса
medium. Соответственно, передача подкласса low окажется возможной только после того, как будут обслужены все более приоритетные
подклассы. Вполне возможно, что в моменты перегрузки сети вся
скорость передачи интерфейса будет занята высокоприоритетными
пакетами, а передача пакетов подкласса low будет невозможна.
Таким образом, чем выше приоритет, тем на меньшее место ожидания пакет будет поставлен и, следовательно, тем быстрее будет
обслужен.
Вопросы к п. 2.2
1. Каким образом происходит устранение джиттера в IP-сети при приеме
информации?
Ответ: на приеме используется сглаживающий буфер, при этом образуется дополнительная задержка, зависящая от емкости буфера.
2. Какова цель процедуры медленного старта?
Ответ: выяснение хостом максимальной пропускной способности сети.
3.Предыдущий средний размер очереди – 300 байт. Текущий размер очереди – 812 байт. Каков средний размер очереди?
Ответ: средний размер очереди Bmid = 300 ⋅ (1 – 2–9) + 812 ⋅ 2–9 = 301 байт.
4.На занятый выходной интерфейс поступает пакет с полем TOS=4 длиной 512 байт. Очередь на обслуживание отсутствует. На какое место
ожидания пакет будет поставлен?
Ответ: поступивший пакет будет иметь вес W = 819 и будет поставлен
на Qx = 0 + 819 ⋅ 512 = 419 328 место ожидания.
5.На свободный выходной интерфейс поступает пакет с полем TOS = 4
длиной 512 байт. Очередь на обслуживание отсутствует. На какое место
ожидания пакет будет поставлен?
Ответ: пакет будет обслужен немедленно.
2.3.Классы сетевого качества обслуживания
2.3.1. Интегральное обслуживание
В системе с интегральным обслуживанием (Integrated Services,
Intserv) достижение требуемого качества обслуживания достигается предварительным закреплением ресурсов сети за устанавливае144 Интерфейсы и протоколы сетей следующего поколения
мым соединением. Процесс выделения ресурсов происходит при
помощи протокола резервирования ресурсов (Resource Reservation
Protocol, RSVP). Состав механизма обеспечения качества обслуживания Intserv включает в себя (рис. 2.9):
– обработчик протокола RSVP;
– классификатор пакетов (Packet Classifier);
– планировщик очередей (Packet Scheduler);
– устройство политики (Policy Control);
– контроль доступа (Admission Control).
Во время поступления запроса на резервирование ресурсов (от
своего или удаленного приложения) обработчик RSVP производит
запрос базы данных контроля доступа о наличии ресурсов для резервирования (оставшейся неиспользованной полосы BW) и запрос
базы данных политики о правомочности резервирования. Сведения
об абоненте имеются либо в базе данных узла, либо в опциональном
Прикладной уровень Приложения
Резервирование
Представительный уровень
Сеансовый уровень
Транспортный уровень
TCP (Protocol = 6) UDP (Protocol = 17)
Обработчик RSVP Доступ
(Protocol=46)
Политика
Сетевой уровень
IP
Классификатор пакетов
Канальный уровень
Канальный уровень
Канальный уровень
Планировщик очередей
Физический
Физический
Дозатор/Выравниватель
Физический уровень
Рис. 2.9. Местоположение и состав механизма обеспечения качества обслуживания
Протоколы мульти­медийных приложений 145
поле данных пакета Policy data, а содержимое данных политики вносит администратор сети. Если на оба запроса получены подтверждения, то в классификаторе пакетов производится соответствующая
запись о закреплении ресурсов, иначе приложению возвращается
сообщение об ошибке. В дальнейшем, при успешном резервировании, классификатор присваивает этому пакету (с известным ему IPадресом, номером порта) определенный вес, а планировщик очередей обслуживает этот пакет в соответствии с заданным весом. После
планировщика очередей устанавливается дозатор/выравниватель
трафика, который сглаживает импульсивный характер трафика
и следит за тем, чтобы суммарная скорость передачи всех пакетов
не превышала бы фиксированную скорость передачи интерфейса.
Механизм QoS имеет следующие особенности [48]:
1) рассылка производится только в одном направлении;
2) для рассылки сообщений используются стандартные протоколы IPv4 или IPv6;
3) поддерживает индивидуальную и групповую рассылку своих
сообщений, используя в последнем случае IGMP;
4) поддерживает прохождение сообщений через маршрутизаторы, не поддерживающие рассылку сообщений RSVP.
Местоположение и наименование полей RSVP изображено на
рис. 2.10. Порядок передачи бит кадра: слева направо/снизу вверх,
номер протокола – 46.
Назначение полей сообщения следующее.
Версия (Version) – определяет версию протокола, длина – 4 бита
(Version=1).
Флаги (Flags) – принимает значение 1.
Тип сообщения (Message Type) – принимает значение 1 для сообщения Path, 2 – для Resv, 3 – для PathErr, 4 – для ResvErr, 5 – для
PathTear, 6 – для ResvTear, 7 – для ResvConf.
Время жизни
(Send TTL)
Версия
Флаги
(Version) (Flags)
Поле описание объекта (Object)
Длина сообщения
Reserved
(RSVP Length)
Тип сообщения
Контрольная сумма заголовка RSVP
(Message Type)
(Checksum)
3-й уровень
2-й уровень
1-й уровень
Рис. 2.10. Местоположение в стеке протоколов и формат RSVP
146 Интерфейсы и протоколы сетей следующего поколения
Контрольная сумма заголовка (RSVP Checksum) – используется
для обнаружения ошибок при передаче сообщения, длина – 16 бит.
Время жизни сообщения (Send TTL) – используется для обнаружения не-RSVP-маршрутизаторов на пути следования сообщения
путем сравнения значения TTL протокола RSVP со значением TTL
протокола IP.
Длина сообщения (RSVP Length) – определяет длину заголовка
и последующие поля описания объекта.
Поле описание объекта (Object) – содержимое полей зависит от
типа сообщения.
Перед установлением соединения исходящий узел (на рис. 2.11 –
хост 1) инициирует сообщение Path, которое в соответствии с IPадресом доставляется корреспондирующему входящему узлу 2 через проходные сети N1 и N2 и проходные маршрутизаторы R1, R2,
R3, R4, R5. Продвижение сообщения по сети осуществляют типовые IP-модули проходных маршрутизаторов. IP-модуль проходного
RSVP-маршрутизатора, обнаружив тип протокола (Protocol=46),
доставляет пакет обработчику RSVP, который устанавливает программное состояние пути следования, запоминая IP-адрес предыдущего маршрутизатора; вносит в сообщение необходимые дополнения и возвращает сообщение IP-модулю для дальнейшей передачи.
Хост 1
N1
RT1
RT2
RT3
RT4
RT6
RT5
N2
N3
Хост 3
Хост 2
Рис. 2.11. Фрагмент сети с резервированием ресурсов
Протоколы мульти­медийных приложений 147
При обнаружении каких-либо несоответствий в доступе/политике
RSVP-маршрутизатор генерирует сообщение PathErr источнику
рассылки. Не-RSVP-маршрутизатор транслирует сообщение Path
в соответствии с IP-адресом без обработки полей пакета.
В сообщении Path в поле описания объекта помещается следующая обязательная информация [49]:
– SESSION – содержит IP-адрес назначения, номер протокола,
номер порта;
– RSVP_HOP – содержит IP-адрес предыдущего (на рис. 2.11 –
верхнего) маршрутизатора;
– TIME_VALUES – содержит значение времени тайм-аута периодической посылки сообщения Path для сохранения программного
состояния резервирования ресурсов (обычно 30 с);
– SENDER_TEMPLATE – служит идентификатором потока для
классификатора пакетов, содержит IP-адрес источника, номер протокола (TCP/UDP), номер порта;
– SENDER_TSPEC – предназначена для планировщика очередей. Содержит описание параметров потока для реализации дозирования трафика по схеме «корзина маркеров» исходящего хоста,
в частности запрашиваемую полосу передачи – r = bw (байт/с), размер корзины маркеров – b (байт), пиковую полосу передачи –
p (байт/с), минимальный размер пакета – m (байт), максимальный
размер пакета – M (байт);
– ADSPEC – содержит базовую спецификацию параметров
(Default Parameters), относящуюся ко всем классам обслуживания,
и одну из дополнительных спецификаций запрашиваемого класса
обслуживания: гарантированного обслуживания (Guaranteed
Service) или контролируемой нагрузки (Controlled-Load). Служит
для внесения уточнений параметров базовой спецификации каждым проходным RSVP-маршрутизатором.
Дополнительная спецификация включает в себя [5]:
1) флаг наличия хотя бы одного не-RSVP-маршрутизатора на
всем пути. Функция формирования этого параметра – логическое
ИЛИ. Установка этого флага производится при разнице полей TTL
в протоколах IP и RSVP. Это означает, что хотя бы один маршрутизатор не поддерживает запрошенный класс обслуживания и поставлен в режим «с наибольшими усилиями»;
2) число RSVP-маршрутизаторов на всем пути. Функция формирования этого параметра – арифметическое суммирование числа
проходных RSVP-маршрутизаторов;
148 Интерфейсы и протоколы сетей следующего поколения
3) фактически выделенную полосу передачи для всего пути –
R (байт/с). За счет округления значения r до ближайшего целочисленного значения R ≥ r маршрутизаторы выделяют приложению
обычно бόльшую полосу передачи на определенный сервис, чем запрошенная полоса передачи – r = bw. Функция формирования этого
параметра – минимальное значение;
4) минимальную задержку на всем пути (мкс). Функция формирования этого параметра – арифметическое суммирование задержек, вычисленных каждым маршрутизатором при отсутствии очереди. Используется для определения минимального объема буфера
для компенсации джиттера;
5) максимальную длину пакета (байт). Функция формирования
этого параметра – минимальное значение.
В классе гарантированного обслуживания (Guaranteed Service)
каждый проходной маршрутизатор выделяет полосу передачи
и объем буфера очереди не меньше запрошенных значений, т. е.
R ≥ r и B ≥ (p – r)b/r. Это позволяет обслуживать услугу с гарантированным качеством и без потерь. При недостаточности ресурсов запрос на резервирование отклоняется, а услуга обслуживается
«с наибольшими усилиями». Каждый сетевой элемент вычисляет
минимальное значение С байт, необходимое для переприема (ана­
лиза адресной части пакета), а также значение аппаратной задержки D (мкс). При прохождении сообщения Path эти значения суммируются и вносятся в дополнительную спецификацию. Максимальный объем буфера приемника для компенсации джиттера определяется как (B + Ctot + DtotR). Максимальная задержка «из конца
в конец» вычисляется как (B/R + Ctot/R + Dtot), где B – объем буфера очереди; R – фактически выделенная полоса передачи на всем
пути; Ctot – суммарное число байт переприема; Dtot – суммарная
аппаратная задержка.
В классе контролируемой нагрузки (Controlled-Load) каждый
проходной маршрутизатор резервирует запрошенные ресурсы (r, b).
В моменты перегрузки возможна частичная потеря пакетов. При отсутствии ресурсов услуга переводится в класс обслуживания «с наибольшими усилиями». Оценка максимальной задержки и аппаратной задержки не производится. В дополнительную спецификацию
вносится только флаг об отсутствии RSVP-маршрутизаторов на
всем пути.
Входящий хост производит оценку объема необходимых ресурсов, которые отсылает источнику в сообщении Resv. Сообщение
Протоколы мульти­медийных приложений 149
Resv доставляется источнику по тому же пути следования, что и сообщение Path. IP-адрес назначения принимает значение предыдущего маршрутизатора, а IP-адрес источника – значение собственного адреса. При продвижении пакета Resv по пути следования (на
рис. 2.11 – снизу вверх) каждый из проходящих RSVP-маршрути­
заторов объединяет ресурсы, следующие в одном направлении, рассчитывает их достаточность и вносит запись в классификатор пакетов. Например, на рис. 2.11 маршрутизаторы R1, R2, R3 объединяют ресурсы при установлении соединения от хоста 1 к хостам 2 и 3.
В результате сообщение Resv имеет следующие обязательные поля
описания объекта:
– SESSION – содержит IP-адрес назначения, номер протокола
(TCP/UDP), номер порта;
– RSVP_HOP – содержит IP-адрес предыдущего (на рис. 2.11 –
нижнего) маршрутизатора;
– TIME_VALUES – содержит значение времени тайм-аута периодической посылки сообщения Resv для сохранения программного
состояния резервирования ресурсов (обычно 120 с);
– STYLE – содержит стиль резервирования, так как объединение ресурсов не означает простого их суммирования, поскольку
один из потоков может потребовать меньшую полосу передачи, но
и меньшее значение задержки;
– FILTER_SPEC – включает в себя данные из принятого
SENDER_TEMPLATE;
– FLOWSPEC:
1) для класса контролируемой нагрузки возвращает параметры
потока TSPEC для реализации дозирования трафика по схеме «корзина маркеров», в частности запрошенную среднюю полосу передачи – r (байт/с), объем буфера корзины маркеров – b (байт), пиковую
полосу передачи – p (байт/с), минимальный размер пакета – m (байт),
максимальный размер пакета – M (байт). Пакеты, не соответствующие этому профилю, обслуживаются «с наибольшими усилиями»
и могут быть утеряны;
2) для класса гарантированного обслуживания в дополнение
к перечисленным параметрам содержатся R (байт/с) – фактически выделенная полоса передачи на всем пути (R должно быть не
менее r), S (мкс) – уменьшение суммарной задержки в обслуживании за счет смены параметра r на R. За счет выделения запрошенных ресурсов сетевая задержка минимальна, а потери пакетов исключены.
150 Интерфейсы и протоколы сетей следующего поколения
Сообщение ResvConf посылается в ответ на запрос подтверждения, содержащийся в сообщении Resv об успешном завершении
процесса резервирования.
Сообщение ResvErr посылается любым промежуточным маршрутизатором при невозможности процесса резервирования.
Сообщение PathTear посылается исходящим хостом при окончании соединения или при истечении тайм-аута сохранения программного состояния. В поле описания объекта помещаются
SESSION, RSVP_HOP, SENDER_DISCRIPTOR.
Сообщение ResvTear посылается при окончании соединения входящим хостом или при истечении тайм-аута программного состояния. В поле описания объекта помещаются SESSION, RSVP_HOP,
FLOW_DISCRIPTOR.
В заключение следует отметить, что система с интегральным обслуживанием имеет достаточно сложный механизм резервирования
ресурсов и применяется в отдельных зоновых сетях. В больших магистральных сетях (автономных системах) для обеспечения качества обслуживания обычно применяются системы с дифференцированным обслуживанием.
2.3.2. Дифференцированное обслуживание
В системе с дифференцированным обслуживанием (Differentiated
Services, Diffserv) [60] повышение пропускной способности высоко­
приоритетных пакетов достигается присвоением им более высокого
приоритета. Для этого используется поле IP протокола «Тип обслуживания» (Type of service, TOS), в котором 8 бит кода дифференцированной услуги (Differentiated Service Code Point, DSCP) используются следующим образом: 6 бит отводятся для кодирования приоритета, 2 не используются и устанавливаются в «0».
Провайдер услуг заключает с пользователем сети Интернет соглашение об уровне обслуживания (Service Level Agreement, SLA),
на основании которого он составляет таблицу соответствия между
уровнем обслуживания (максимальная полоса передачи, число пакетов в секунду) каждой услуги и полем приоритета DSCP. Эти данные администратор сети заносит в базу данных граничного маршрутизатора, к которому подключен пользователь. Такое же соглашение провайдеры различных смежных сетей устанавливают между собой. Граничный маршрутизатор отслеживает выполнение
договора измерением поступающего трафика и маркирует каждый
Протоколы мульти­медийных приложений 151
передаваемый пакет в соответствии с полем DSCP. Избыточный трафик может быть задержан, уничтожен или перемаркирован на другое значение поля приоритета.
Код дифференцированной услуги определяет цепочку решений
о передвижении пакета в каждом промежуточном узле сети, так называемую PHB-политику (Per Hop Behavior). PHB-политика – это
наблюдаемое извне поведение сетевого узла в отношении продвижения пакета с определенным значением кода дифференцированной
услуги (DSCP). Все пакеты одного приложения имеют одно и то же
значение DSCP (вес). В настоящее время коды DSCP и соответствующие им значения IP-приоритетов (TOS) для приложений определены следующим образом (табл. 2.7).
Стандартный код 000000, соответствующий стандартному обслуживанию (Best Effort), имеет наименьший приоритет (наибольший вес).
Коды обеспеченной передачи (Assured Forwarding) определяют
четыре класса обслуживания, каждый из которых содержит три
подкласса для реализации внутри одного класса обслуживания
с абсолютным приоритетом.
Таблица 2.7
Коды DSCP
Класс приоритета
Значение DSCP
Значение TOS
Priority 7
Priority 6
Expedited Forwarding
Assured Forwarding Class 4
Class 4 High
Class 4 Medium
Class 4 Low
Assured Forwarding Class 3
Class 3 High
Class 3 Medium
Class 3 Low
Assured Forwarding Class 2
Class 2 High
Class 2 Medium
Class 2 Low
Assured Forwarding Class 1
Class 1 High
Class 1 Medium
Class 1 Low
Best Effort
111 000 (56)
110 000 (48)
101 110 (46)
100 000 (32)
100 110 (38)
100 100 (36)
100 010 (34)
011 000 (24)
011 110 (30)
011 100 (28)
011 010 (26)
010 000 (16)
010 110 (22)
010 100 (20)
010 010 (18)
001 000 (8)
001 110 (14)
001 100 (12)
001 010 (10)
000 000 (0)
7
6
5
152 Интерфейсы и протоколы сетей следующего поколения
4
3
2
1
0
Код немедленной передачи (Expedited Forwarding) имеет кодировку 101 110 и наивысший приоритет.
Механизм обеспечения качества обслуживания Diffserv включает в себя следующие устройства:
– классификатор пакетов (Packet Classifier);
– планировщик очередей (Packet Scheduler);
– устройство политики (Policy Control);
– контроль доступа (Admission Control).
При заключении соглашения (SLA) с пользователем администратор сети вносит в базу данных политики и контроля доступа
граничного маршрутизатора запись о закреплении ресурсов, т. е.
запись о соответствии IP-адреса определенному значению DSCP.
В дальнейшем, при поступлении данного типа пакета, классификатор пакетов граничного маршрутизатора маркирует пакет в соответствии со значением DSCP, а планировщики очередей проходных
маршрутизаторов обслуживают этот пакет в соответствии с механизмом CBWFQ. Пакеты, не принадлежащие SLA, обслуживаются
в соответствии с механизмом «Best Effort». После планировщика
очередей устанавливается дозатор/выравниватель трафика, который сглаживает импульсивный характер трафика и следит за тем,
чтобы суммарная скорость передачи всех пакетов не превышала бы
фиксированную скорость передачи.
При взаимодействии автономных систем, имеющих различные
классы сетевого качества обслуживания, требуется обеспечить
сквозное качество обслуживания «из конца в конец». Это достигается тем, что:
– система дифференцированного обслуживания транслирует
протокол RSVP прозрачно;
– классу гарантированного обслуживания (Intserv) ставится
в соответствие класс немедленной передачи (Expedited Forwarding)
Diffserv;
– классу контролируемой нагрузки (Intserv) ставится в соответствие один из классов обеспеченной передачи (Assured Forwarding)
Diffserv или стандартное обслуживание (Best Effort).
2.3.3. Технология коммутация по меткам
В традиционной IP-сети пакет, поступивший с некоторого интерфейса, поступает в модуль IP, который анализирует заголовок пакета и перемещает его на другой интерфейс в соответствии со своей
Протоколы мульти­медийных приложений 153
таблицей маршрутов. Таблица маршрутов обычно заполняется автоматически с помощью протоколов маршрутизации (OSPF, RIP).
Администратор сети имеет ограниченные возможности изменения
таблицы маршрутов и не в состоянии оперативно повлиять на ситуацию в случае перегрузки какого-либо участка сети. Кроме того,
просмотр всей таблицы для выбора оптимального маршрута часто
приводит к значительной аппаратной задержке, снижающей производительность маршрутизатора. Поэтому желательно:
– иметь возможность маршрутизировать пакеты как на основе
IP-адреса назначения, так и произвольным образом;
– иметь упрощенную таблицу маршрутов установления соединений и перенести функции коммутации на более низкий уровень,
освободив от этой работы IP-модуль.
Все эти возможности предоставляет технология многопротокольной коммутация по меткам (Multiprotocol Label Switching,
MPLS) [67, 68], которая, скорее, является механизмом управления
трафиком, чем механизмом обеспечения качества обслуживания.
Технология MPLS используется маршрутизаторами внутри автономной сети, которую принято называть MPLS-сетью, или MPLSдоменом. MPLS-маршрутизатор содержит две компоненты: распределитель меток и коммутатор меток (рис. 2.12).
Сеансовый
уровень
Распределитель меток
Транспортный
уровень
TCP(Protocol = 6)
Сетевой
уровень
UDP (Protocol = 17)
IP
Коммутатор меток
Канальный уровень
Канальный уровень
Канальный уровень
Физический
Физический
Физический уровень
Планировщик очередей
Дозатор/Выравниватель
Рис. 2.12. Местоположение в стеке протоколов и состав механизма MPLS
154 Интерфейсы и протоколы сетей следующего поколения
Распределитель меток осуществляет распространение и привязку метки к интерфейсу, на который следует направлять пакеты, имеющих некое общее свойство (Forwarding Equivalence Class, FEC), например, префикс IP-сети. Основным протоколом распространения
меток и их привязки к IP-адресам является протокол распространения меток (Label Distribution Protocol, LDP), использующий порт 646
протоколов UDP и TCP. Он ответственен за уникальность значений
назначаемых меток и поддержание надежности функционирования.
Последнее достигается периодическим обменом сообщениями Hello
между сопряженными маршрутизаторами. Коммутатор меток
осуществляет продвижение пакетов на основе замены меток, используя информационную базу меток (Label Information Base, LIB).
Существует несколько способов привязки меток.
В режиме нисходящего упорядоченного управления инициатором
распространения меток являются пограничные маршрутизаторы
(Label Edge Router, LER). Распространение меток производится
в направлении, противоположном движению потока. Каждый маршрутизатор имеет свой пул меток. Например, LER2 через интерфейс 2
имеет доступ к IP-сетям А и В (рис. 2.13). Через интерфейс 1 он распространяет эту информацию о сетях ближайшим соседям – внутреннему маршрутизатору (Label Switching Router, LSR) LSR3.
Признаком непосредственного подключения к LER2 указанных IPсетей является отсутствие в его сообщении метки (NULL).
В свою очередь, LSR3 распространяет эту информацию на свои
интерфейсы 1 и 3, указывая, что этим сетям соответствуют метки
М7 и М11 соответственно. Так же поступают другие внутренние
маршрутизаторы. В результате информация о привязке меток к IPадресам достигает пограничных маршрутизаторов LER1 и LER3.
LER1
4 5
1
От 1
22
других
3
сетей
4 3
LSR3
7 1
20
8
9
3
LSR 2
1 1
2 7
2
8
3
5 6
0 LER 22 К сетям
А иВ
91
10 11
10 11
3
41
5
26
LSR1
1
2 12
0
LSR4
12
01
LER 3
2 К сети
D
Рис. 2.13. Привязка меток в MPLS-сети
Протоколы мульти­медийных приложений 155
Таблица 2.8
LIB для LER1
интерфейс
Вход
IP-адрес
1
1
1
1
A
B
A
B
метка
Действие
PUSH
PUSH
PUSH
PUSH
метка
Выход
интерфейс
метрика
M1
M1
M3
M3
2
2
3
3
3
3
11
11
Каждый маршрутизатор на основании принятой информации создает свою информационную базу меток. В каждой строке LIB содержатся соответствующие указания коммутатору меток. Значения
меток для сетей А и В на этом этапе выделены на рис. 2.13 полужирным. Пусть, например, информационная база меток (LIB) для LER1
выглядит следующим образом (табл. 2.8), которая указывает, что
при поступлении пакетов на интерфейс 1, имеющих IP-адреса сетей
А или В, следует создать (PUSH) метку М1 и отправить пакет на интерфейс 2. Здесь имеется в виду, что путь через интерфейс 2 имеет
лучшую метрику «из конца в конец», чем через интерфейс 3.
Стандартно значение сетевой метрики в таблице маршрутов IPмодуля формируется на основе OSPF, а индивидуальные метрики
интерфейса маршрутизатора в коммутаторе меток вносит администратор по следующей формуле: М = INT (100 000/VEL), где VEL –
скорость передачи по интерфейсу, измеренная в Кбит/с. Так, для
интерфейсов со скоростями 100 Мбит/с и выше М = 1, для канала
2 048 Кбит/с М = 48, для канала 64 Кбит/с М = 1 562 и т. д.
Пусть LIB для LSR2 выглядит следующим образом (табл. 2.9):
при поступлении пакетов на интерфейс 1, имеющих метку М1, следует заменить (SWAP) ее на метку М7 и отправить пакет на интерфейс 2. То же следует проделать с пакетом, имеющим метку М5 на
интерфейсе 3.
Информационная база меток для LSR3 может выглядеть следующим образом (табл. 2.10): при поступлении пакетов на интерфейс 1,
имеющих метку М7, следует ее удалить (POP) и отправить пакет на
Таблица 2.9
LIB для LSR2
интерфейс
1
3
Вход
IP-адрес
метка
M1
M5
Действие
SWAP
SWAP
метка
Выход
интерфейс
метрика
M7
M7
2
2
3
3
156 Интерфейсы и протоколы сетей следующего поколения
Таблица 2.10
LIB для LSR3
интерфейс
Вход
IP-адрес
1
3
метка
M7
M11
Действие
метка
POP
POP
Выход
интерфейс
метрика
2
2
3
3
интерфейс 2. При поступлении пакетов на интерфейс 3, имеющих
метку М11, следует ее удалить (POP) и отправить пакет на интерфейс 2. Маршрутизатор LER2 принятые пакеты будет коммутировать на основе IP-адреса. Таким образом, от LER1 к сетям A, B образован однонаправленный основной коммутационный путь (Label
Switched Path, LSP), проходящий через маршрутизаторы LER1–
LSR2–LSR3–LER2, и резервный – LER1–LSR1–LSR2–LSR3–LER2.
В свою очередь, LER3 также распространяет информацию о сети
D, подключенной к интерфейсу 2. Значения меток для сети D указаны на рис. 2.13 обычным шрифтом. Аналогично поступает и маршрутизатор LER1 для своих сетей (метки на рис. 2.13 для других сетей не показаны).
У администратора сети теперь появилась возможность гибкого
перераспределения трафика (Traffic Engineering, TE). Например, в рассмотренном ранее случае предполагается, что путь
LER1–LSR2–LSR3–LER2 обладает лучшей метрикой, чем путь
LER1–LSR1–LSR2–LSR3–LER2. Но может случиться так, что этот
путь будет перегружен и администратор пожелает, чтобы в сеть А пакеты проходили по фиксированному пути LER1–LSR2–LSR3–LER2,
а в сеть В – по другому фиксированному пути LER1–LSR1–LSR2–
LSR3–LER2. В этом случае администратор может вручную изменить LIB для LER1 следующим образом (табл. 2.11).
Данные табл. 2.11 указывают, что при поступлении пакетов на
интерфейс 1, имеющих IP-адрес сети А, следует создать (PUSH) метку М1 и отправить пакет на интерфейс 2. При поступлении пакетов
Таблица 2.11
Измененная LIB для LER1
интерфейс
Вход
IP-адрес
1
1
1
A
B
A
метка
Действие
PUSH
PUSH
PUSH
метка
Выход
интерфейс
метрика
M1
M3
M3
2
3
3
3
11
11
Протоколы мульти­медийных приложений 157
Метка
CоS
S=1
TTL
Рис. 2.14. Структура MPLS-метки
на интерфейс 1, имеющих IP-адрес сети В, следует создать (PUSH)
метку М3 и отправить пакет на интерфейс 3.
Четырехбайтовая MPLS-метка имеет следующую структуру
(рис. 2.14), в которой содержатся:
– 20-битовая копия метки из LIB;
– 3-битовое поле класса обслуживания (Class of Service, COS),
являющееся копией части поля TOS из заголовка IP-пакета. Предназначено для планировщика очередей;
– бит S, который служит для создания стека MPLS-меток. При
наличии нескольких меток только нижняя метка, расположенная
ближе к сетевому (третьему) уровню, имеет S=1, остальные метки
имеют значение S=0;
– 8-битовая копия поля TTL из заголовка IP-пакета (уменьшенная на 1). Любой проходной LSR-маршрутизатор уменьшает значение TTL на 1, а предпоследний LSR-маршрутизатор возвращает поле
TTL в заголовок IP-пакета.
Наличие стека меток позволяет администратору в явном виде задавать любой маршрут от источника. Например, для маршрута
пакетов от LER1 к сети A и B по фиксированному пути LER1–LSR1–
LSR2–LSR3–LER2 информационная база меток для LER1 будет
иметь вид (табл. 2.12): при поступлении пакетов на интерфейс 1,
имеющих IP-адрес сети А или В, через короткозамкнутые интерфейсы 4–5 она создает стек меток М3, М5, М7 и отправляет пакет на
интерфейс 3. В этом случае LSR1 будет иметь следующую LIB
(табл. 2.13): при поступлении пакетов на интерфейс 1, имеющих
метку М3, следует ее удалить (POP) и отправить пакет на интерфейс 2. На LSR2 поступит пакет с верхней меткой М5, и, в соответствии со своей LIB (табл. 2.14), маршрутизатор LSR2 при поступлении пакета на интерфейс 3, имеющего метку М5, вытолкнет эту
Таблица 2.12
Создание стека меток LER1
интерфейс
1
5
5
Вход
IP-адрес
метка
A или B
M7
M5
Действие
PUSH
PUSH
PUSH
метка
Выход
интерфейс
метрика
M7
M5
M3
4
4
3
0
0
11
158 Интерфейсы и протоколы сетей следующего поколения
Таблица 2.13
Работа со стеком LSR1
интерфейс
Вход
IP-адрес
1
метка
M3
Действие
метка
POP
Выход
интерфейс
метрика
2
3
Выход
интерфейс
метрика
2
3
Таблица 2.14
Работа со стеком LSR2
интерфейс
3
Вход
IP-адрес
метка
M5
Действие
POP
метка
метку и направит пакет с меткой М7 на интерфейс 2. Маршрутизатор LSR3, как и раньше, просто вытолкнет последнюю метку М7 и
направит пакет на интерфейс 2.
Каждый маршрутизатор должен самостоятельно определить
наличие или отсутствие меток между 2-м и 3-м уровнями. Это особенно актуально для предпоследнего маршрутизатора, который
должен удалить все метки вплоть до начала 3-го (сетевого) уровня.
Для указания того, что пакет содержит метку (или стек меток),
в протоколах канального уровня используются специальные поля.
Так, обычный пакет использует типы протоколов LCP=0xc021,
NCP=0x8021, Data=0x0021. Технология MPLS начинает работать
после согласования параметров канального уровня (LCP), поэтому
изменяются только поля NCP=0x8281 и Data (0x0281 для индивидуальной доставки или 0x0283 – для групповой). Замену указанных
полей производят приграничные (LSR3 и LSR4) маршрутизаторы.
Если MPLS используется для транспортирования пакетов через
­локальную сеть Ethernet, то в поле типа протокола подставляется
значение 0х8847 (вместо 0х800) для индивидуальной доставки или
0x8848 для групповой.
В режиме восходящего управления по запросу распространение
меток производится в направлении движения потока. Инициатором распространения меток может быть любой маршрутизатор. Для
этого он запрашивает у нижестоящего маршрутизатора метку и получает ее. В режиме нисходящего упорядоченного управления по
требованию верхний маршрутизатор формирует запрос, который
доставляется всем LER. В ответ каждый LER начинает раздавать
метки, как и в режиме нисходящего упорядоченного управления.
Еще одним способом распределения меток служит расширенный протокол RSVP – RSVP-TE. Распределение меток инициируетПротоколы мульти­медийных приложений 159
ся исходящей стороной сообщением Path, которое продвигается
либо на основе обычной маршрутизации, либо по заранее заданному маршруту полем Explicit Route Object (ERO). Ответное сообщение Resv содержит поле Label, содержащее входную метку ниже­
лежащего маршрутизатора.
Вопросы к п. 2.3
1.В RSVP-маршрутизаторе зарезервирована общая полоса 1 800 Кбит/с.
Определите максимальное число соединений в системе с интегральным обслуживанием, если каждое приложение использует полосу 128 Кбит/с.
Ответ: максимальное число соединений INT(1 800/128) = 14.
2. Чем отличается класс гарантированного обслуживания от класса конт­
ролируемой нагрузки в системе интегрального обслуживания?
Ответ: в классе гарантированного обслуживания производится: 1) выделение полосы пропускания R и буфера очереди В с учетом пиковой
нагрузки; 2) оценка максимальной задержки «из конца в конец».
В классе контролируемой нагрузки производится только выделение полосы пропускания r с учетом средней нагрузки, оценка максимальной
задержки «из конца в конец» не производится.
3. Каково принципиальное отличие системы интегрального обслуживания от дифференцированного?
Ответ: пакеты интегрального обслуживания получают практически
всю скорость интерфейса, а пакеты дифференцированного обслуживания – только ее часть.
4. Как обеспечивается сквозное качество обслуживания «из конца в конец» при взаимодействии автономных систем, имеющих различные
классы сетевого качества обслуживания?
Ответ: классу гарантированного обслуживания Intserv ставится в соответствие класс немедленной передачи (Expedited Forwarding) Diffserv.
Классу контролируемой нагрузки (Intserv) ставится в соответствие один
из классов обеспеченной передачи (Assured Forwarding) Diffserv.
5.Назовите основные преимущества применения MPLS.
Ответ: уменьшение аппаратной задержки и возможность принудительной маршрутизации пакетов по заранее выбранному пути.
2.4.Сопряжение сетей коммутации каналов и пакетов
Сеть с коммутацией пакетов по сравнению с сетью коммутации каналов обладает существенными преимуществами, главными из которых являются:
160 Интерфейсы и протоколы сетей следующего поколения
– экономное расходование каналов связи за счет применения более эффективных способов кодирования с меньшей полосой передачи (до 26,1 Кбит/с вместо 64 Кбит/с);
– экономное расходование сетевых ресурсов за счет динамического закрепления ресурсов за установленными соединениями (заполнение естественных пауз в разговоре другими соединениями);
– простота введения новых услуг за счет использования относительно небольшого числа унифицированных протоколов.
Все эти факторы обуславливают необходимость перехода к сети
нового поколения (Next Generation Network, NGN), основанной на
принципах пакетной коммутации и передачи по IP-сети. В классической сети нового поколения предполагается полное отсутствие
оборудования коммутации каналов, включая оконечные устройства
пользователей. С другой стороны, у большинства операторов связи
имеется обширная и хорошо развитая сеть коммутации каналов,
которая во многих случаях не выработала свой ресурс. Кроме того,
подавляющее большинство оконечных устройств пользователей
приспособлено для работы только в таких сетях. Одномоментная замена традиционного оборудования коммутации каналов и оконечного оборудования на новое оборудование может повлечь за собой не
всегда оправданные очень большие капитальные затраты. Поэтому
для каждого отдельного случая следует выработать свою стратегию
поэтапного перехода к сетям следующего поколения. Одним из вариантов является решение IP-транзит (IP Trunking).
Решение IP-транзит предполагает модернизацию транспортной
сети путем поэтапной замены систем передачи с временным раз­
делением каналов на системы передачи пакетов без замены око­
нечных устройств пользователей. Реализация решения IP-тран­
зит на примере телефонной сети общего пользования показана на
рис. 2.15.
Пусть исходная телефонная сеть общего пользования (рис. 2.15, а)
имеет структуру из четырех станций (АТС), соединенных между собой ИКМ-трактами. Сигнализация между станциями организована
как по общему каналу сигнализации (ОКС), так и по выделенным
сигнальным каналам (ВСК). Предполагается, что АТС1, АТС2
и АТС3 являются относительно новыми станциями (например,
электронными), а АТС4 – старой (например, декадно-шаговой)
и подлежит первоочередной замене. Можно пойти двумя путями:
либо заменить АТС4 на электронную с коммутацией каналов, модернизируя существующую телефонную сеть общего пользования,
Протоколы мульти­медийных приложений 161
а
ОКС
ISDN
ISDN
�
�
ATC3
ATC2
ВСК
ВСК
ТФОП
�
ATC1
ISDN
�
ATC4
PSTN
ВСК
б
ОКС
ISDN
ISDN
MG1
�
MG2
ATC2
�
ATC3
AAA
ТФОП
�
ATC1
ISDN
MG3
ОКС
R1
ОКС
�
ОКС
Combo Switch
в Интернет
MG4
в
MG2
R2
ISDN
�

ATC2
ISDN
MG1
AAA
MG5
ОКС
ТФОП
�
ATC3
�
ATC1
ISDN
MG3
ОКС
R1
�
R3
ОКС
Combo Switch
в Интернет
Рис. 2.15. Реализация решения IP-транзит: а – исходная сеть коммутации
каналов; б – начальное преобразование; в – полностью преобразованная
транспортная сеть; _________ – пути прохождения сигнализации ОКС
и TDM-каналов; _ _ _ _ _ _ – пути прохождения IP-пакетов
162 Интерфейсы и протоколы сетей следующего поколения
либо сделать шаг в направлении перехода к сети следующего поколения. Во втором случае (рис. 2.15, б) необходимо:
1) заменить АТС4 на комбинированный узел (Combo Switch),
представляющий собой узел ЦСИО (TDM-Switch) и программный
коммутатор (Soft Switch), управляющий соединениями в IP-сети через маршрутизатор (Router, R1). Установить сервер аутентификации, авторизации и учета (ААА);
2) установить на АТС1–АТС3 мультимедийные шлюзы (MG),
преобразующие непрерывные цифровые потоки в пакеты;
3) один из существующих трактов между АТС1 и Combo Switch
выделить под ОКС, оставшиеся ИКМ-тракты подключить к MG на
стороне АТС1 и к маршрутизатору R1 на стороне Combo Switch. То
же следует сделать для АТС2 и АТС3. На этом этапе существует смешанная сеть. Например, соединения между АТС2 и АТС3 могут
устанавливаться как по сети с коммутацией каналов, так и по IPсети (через маршрутизатор R1);
4) в завершение установить шлюзы MG4 и MG5, а также дополнительные маршрутизаторы R2 и R3 для управления этими шлюзами от Combo Switch (рис. 2.15, в).
На этом этапе только транспортная сеть соответствует сети следующего поколения. К ней непосредственно могут быть подключены оконечные устройства пользователя с IP-протоколами (H.323,
Прикладной
уровень
Управление приложениями
Соединением Качеством
Представительный
уровень
Сеансовый
уровень
Аппаратура
ввода/вывода
медиа
Аудио – G.711, G.723, G.729
Видео – H.261, H263
MGCP
RTCP
Port=2427n Port=Din
Транспортный
TCP (Protocol = 6)
уровень
Сетевой
уровень
RTP
Port=Din
UDP (Protocol = 17)
IP
Канальный уровень
Физический уровень
Рис. 2.16. Стек протоколов шлюза
Протоколы мульти­медийных приложений 163
SIP). По мере устаревания АТС1, АТС2 и АТС3 их следует заменить
концентраторами (PHub) или коммутаторами пакетов (Packet
Switch���������������������������������������������������������
) с одновременной заменой оконечного оборудования пользователей, в том числе и в Combo Switch, на IP-терминалы. Необходимость в шлюзах, естественно, отпадает, а комбинированный узел
Combo Switch превратится в классический программный коммутатор (Soft Switch).
Взаимодействие между сетевыми элементами Combo Switch
и MG осуществляется при помощи специальных протоколов –
MGCP, RTP, RTCP.
Стек протоколов шлюза для протоколов MGCP, RTP RTCP приведен на рис. 2.16. Номера портов для RTP и RTCP задаются динамически в процессе установления соединения.
2.4.1. Протокол управления шлюзами
Протокол управления шлюзами (Media Gateway Control Protocol,
MGCP) [63] использует принцип ведущий/ведомый, в котором ведущей стороной является комбинированный узел Combo Switch,
точнее – специализированная программа «агент соединения» (Call
Agent), расположенная в Combo Switch, имеющий предопределенный порт 2727 для приема сигналов управления от шлюзов. Ведомой стороной является шлюз, имеющий предопределенный порт
2427, для обработки сигналов управления от «агента соединения».
Соединение разговорных каналов между шлюзами (рис. 2.15) создается под управлением агента соединения комбинированного узла
и включает в себя следующие этапы:
1) исходящая АТС по общему каналу сигнализации доставляет
Combo Switch требования к установлению соединения в виде сообщения IAM. В нем имеются идентификатор CIC, указывающий на
номер временного канала (ts) и ИКМ-тракта (PCM) со стороны АТС,
а также сетевые номера вызывающего абонента (A-num) и вызываемого абонента (B-num);
2) Combo Switch по В-номеру определяет, что нужно установить
разговорное соединение. По номеру цепи CIC в своей базе данных
определяет IP-адрес исходящего шлюза IPMG1, принадлежащий
исходящей АТС, и по этому IP-адресу на предопределенный порт
2427 дает команду шлюзу «СОЗДАТЬ СОЕДИНЕНИЕ» (����������
CreateConnection, CRCX);
164 Интерфейсы и протоколы сетей следующего поколения
3) исходящий шлюз осуществляет привязку разговорного канала
подключенного ИКМ-тракта к одному из свободных портов PortMG1
и оба параметра IPMG1 и PortMG1 вместе со списком возможных кодеков высылает Combo Switch. IP-адрес и предопределенный порт
2727 «агента соединения» Combo Switch прописан в базе данных
шлюза. На этот момент времени Combo Switch полностью осведомлен
о том, по какому порту, по какому IP-адресу и какие типы кодеков
исходящий шлюз может использовать при разговорном соединении;
4) Combo Switch по номеру B-num в своей базе данных определяет
IP-адрес входящего шлюза IPMG2, принадлежащий входящей АТС,
и по этому адресу на преопределенный порт 2427 дает команду шлюзу «СОЗДАТЬ СОЕДИНЕНИЕ» (CreateConnection, CRCX), в которой
указывает параметры связи исходящего шлюза IPMG1 и PortMG1;
5) входящий шлюз осуществляет привязку канала подключенного ИКМ-тракта к одному из свободных портов PortMG2 и оба параметра IPMG2 и PortMG2 вместе с выбранным кодеком высылает
Combo Switch. Таким образом, Combo Switch полностью осведомлен
о том, по какому порту, по какому IP-адресу и какой кодек входящий шлюз будет использовать в разговорном соединении;
6) Combo Switch в команде «МОДИФИЦИРОВАТЬ СОЕДИНЕНИЕ» (ModifyConnection, MDCX) пересылает параметры связи входящего шлюза IPMG2 и PortMG2 исходящему шлюзу. Теперь у обоих шлюзов имеется полная информация друг о друге, и им ничего
не мешает начать обмен информацией. Сообщения ACM и ANM по
ОКС завершают переход к разговорной фазе.
Разрушение соединения от АТС к Combo Switch инициирует одна
из сторон сообщением REL, в ответ на которую Combo Switch выдает
команды обоим шлюзам «РАЗРУШИТЬ СОЕДИНЕНИЕ» (�������
DeleteConnection, DLCX). После получения подтверждения команд от
шлюзов и АТС все задействованные устройства возвращаются в исходное состояние.
Взаимодействие «агента соединения» со шлюзом происходит
с помощью команд и ответов. Команды помещаются в поле данных
UDP, кодируются кодом ASCII и имеют следующую структуру:
<Command> <TransactionID> <EndpointD> <MGCP version> <Parameters>.
Ниже приведены названия некоторых основных команд (����
Command):
СОЗДАТЬ СОЕДИНЕНИЕ (CreateConnection, CRCX);
МОДИФИЦИРОВАТЬ СОЕДИНЕНИЕ (ModifyConnection, MDCX);
Протоколы мульти­медийных приложений 165
РАЗРУШИТЬ СОЕДИНЕНИЕ (DeleteConnection, DLCX);
ЗАПРОС О НАБЛЮДЕНИИ ЗА СОБЫТИЯМИ (����������������
Notification Request, RQNT);
УВЕДОМЛЕНИЕ О НАСТУПЛЕНИИ СОБЫТИЯ (Notify, NTFY);
ПРОВЕРКА РАБОТОСПОСОБНОСТИ (Audit Endpoint, AUEP);
РЕСТАРТ СИСТЕМЫ (Restart in progress, RSIP).
Идентификатор транзакции (TransactionID) служит для корреляции команд и ответов. Каждая последующая команда имеет
идентификатор на единицу больше предыдущей, идентификатор
находится в диапазоне 1–999 999 999.
Идентификатор порта шлюза (EndpointD) имеет символическое
имя вида TS01/PCM05@SIEMENS.NET, в данном случае указывая
на временной канал 1 в 5-м ИКМ-тракте сети SIEMENS.NET.
Версия протокола (MGCP version) указывает на используемую
версию.
В параметрах (Parameters) задаются характеристики, необходимые для описания сеансов связи. Описание производится на основе
списка принятых сокращений и обозначений, разделенных двоеточием. Приведем наименования основных параметров:
C: – идентификатор услуги (CallID), за которым следует уникальный номер сессии;
L: – опции соединения (LocalConnectionDescriptor), за которым
следует описание характеристик соединения, в частности, а: – метод кодирования; р: – время пакетизации; b: – полоса передачи; s: –
включение/выключение подавления пауз в разговоре и т. д.;
M: – режим соединения (ConnectonMode), за которым следует
описание режима, в частности: inactive – не посылать и не принимать пакеты; sendrecv – посылать и принимать пакеты и т. д.
Ответы помещаются в поле данных UDP, кодируются кодом
ASCII и имеют следующую структуру:
<ReturnCode> <TransactionID> <ResponseString> <LocalConnectionDescriptor>.
Код возврата (ReturnCode) описывает реакцию шлюза на полученную команду, в частности, код 200 – команда выполнена, 250 –
соединение разрушено и т. д.
Идентификатор транзакции (TransactionID) соответствует команде, на которую высылается ответ.
Строка возврата (ResponseString) – краткий комментарий в коде
ASCII, за которым может следовать идентификатор соединения для
различения соединений, относящихся к одной услуге.
166 Интерфейсы и протоколы сетей следующего поколения
Описание параметров связи (LocalConnectionDescriptor), за которым следует описание характеристик порта в синтаксисе протокола
SDP (Session Description Protocol), в частности: v = версия протокола SDP; с = IP-адрес порта шлюза для разговорного соединения, m =
= номер порта разговорного шлюза и имя протокола обмена речевой
информацией.
На рис. 2.17 приведен сценарий установления разговорного соединения между абонентами АТС1 и АТС2 на рис. 2.15.
ATC1 MG1
Combo Switch
IP=218.1.59.111
Port=2727
IP=218.1.59.110
Port=2427
IAM (CIC, Anum, Bnum)
MG2
ATC2
IP=218.1.59.112
Port=2427
IAM (CIC, Anum, Bnum)
CRCX 10149
ts1/PCM01@SIEMENS.NET MGCP 1.0
C:2
M: inactive
L: p:30, a:PCMa, s:on
CRCX 10150
ts2/PCM02@SIEMENS.NET MGCP 1.0
C:3
M: sendrecv
L: p:30, a:PCMa, s:on
v=0 c=IN IP4 218.1.59.110
m=audio 10002 RTP/AVP 8
200 10149 OK I:1
v=0 c=IN IP4 218.1.59.110
m=audio 10002 RTP/AVP 8
MDCX 10151
ts1/PCM01@SIEMENS.NET MGCP 1.0
C:2
M: sendrecv
L: p:30, a:PCMa, s:on
v=0 c=IN IP4 218.1.59.112
m=audio 10006 RTP/AVP 8
200 10150 OK I:1
v=0 c=IN IP4 218.1.59.112
m=audio 10006 RTP/AVP 8
200 10151 OK I:1
ACM (CIC)
ACM (CIC)
ANM (CIC)
ANM (CIC)
RTP (IP=218.1.59.112, Port=10006)
RTP (IP=218.1.59.110, Port=10002)
. . .
. . .
REL (CIC)
REL (CIC)
DLCX 10152
ts2/PCM02@SIEMENS.NET MGCP 1.0
C:3
I: 1
DLCX 10153
ts1/PCM01@SIEMENS.NET MGCP 1.0
C:2
I: 1
250 10152 OK
250 10153 OK
RLC (CIC)
RLC (CIC)
t
t
t
t
t
Рис. 2.17. Сценарий установления разговорного соединения в решении IP-транзит
Протоколы мульти­медийных приложений 167
Типовая команда «СОЗДАТЬ СОЕДИНЕНИЕ» и ответ на нее для
разговорного соединения могут выглядеть следующим образом:
CRCX 10149 ts1/PCM04@SIEMENS.NET MGCP 1.0
/команда «СОЗДАТЬ
СОЕДИНЕНИЕ»;
/временной канал = 1, ИКМ-тракт = 4;
C:2
/идентификатор услуги = 2;
M: inactive
/отключить разговорный порт;
L: p:30, a:PCMa, s:on
/время пакетизации = 30 мс;
/закон кодирования G.711A;
/включить подавление пауз в разговоре;
200 10149 OK
I:1
v=0
c=IN IP4 218.1.59.110
m=audio 10002 RTP/AVP 8
/команда выполнена успешно;
/идентификатор соединения = 1;
/используется нулевая версия SDP;
/IP-адрес разговорного порта = 218.1.59.110;
/порт используется для передачи речи;
/номер порта = 10002;
/будет использован протокол RTP;
/тип аудиовидеокодека – 8 (G.711a).
Установление модемного соединения абонента АТС1 в Интернет
включает в себя следующие этапы (рис. 2.18).
1. Вначале исходящая АТС по общему каналу сигнализации доставляет Combo Switch требования к установлению соединения
в виде сообщения IAM. В нем имеются идентификатор CIC, указывающий на номер временного канала (ts) и ИКМ-тракта (PCM) со
стороны АТС, а также сетевые номера вызывающего абонента
(A-num) и вызываемого абонента (B-num).
2. Combo Switch по В-номеру определяет, что требуется установить соединение в Интернет. По номеру цепи CIC в своей базе данных определяет IP-адрес исходящего шлюза IPMG1, принадлежащий исходящей АТС, и по этому IP-адресу на предопределенный
порт 2427 дает команду шлюзу «СОЗДАТЬ СОЕДИНЕНИЕ» (�������
CreateConnection, CRCX). Шлюз исполняет роль сервера сетевого доступа
(Network Access Server, NAS). Команда CRCX выглядит следующим
образом:
CRCX 756 MOPC03/PCM01/15@MGW01.NET MGCP 1.0 /команда «СОЗДАТЬ
СОЕДИНЕНИЕ»:
/временной канал = 15, ИКМ-тракт = 1;
C:7
/идентификатор услуги = 7;
M: data
/не нужно пакетизировать поток;
L: e:off
/выключить эхокомпенсаторы;
X: 3CD81
/идентификатор запроса модемного соединения;
R: au(N), ax(N), pa(N)
/уведомить о событиях: успешной
/аутентификации, безуспешной аутентификации
/окончании соединения;
v=0
/используется нулевая версия SDP;
c=IN IP4 218.4.5.6
/IP-адрес сервера сетевого доступа (NAS);
m=NAS/RADIUS
/для взаимодействия с NAS использовать
168 Интерфейсы и протоколы сетей следующего поколения
ATC1 MG1 = NAS
Combo Switch
AAA
INTERNET
IP=218.1.59.110
Port=2427
IP=218.1.59.111 IP=218.4.5.6
Port=2727
IAM (CIC, Anum, Bnum)
CRCX 756
MOPC03/PCM01/15@MGW01.NET
MGCP 1.0
C:7
M: Data
L: e:off
X: 3cd81
R: au(N), ax(N), pa(N)
v=0
c=IN IP4 218.4.5.6
m=nas/radius 0
a=framing:pppasynch
a=bearer:v.90
200 756 OK
v=0
c=IN IP4 218.4.5.6
m=nas/radius 0
a=framing:pppasynch
a=bearer:v.90
ACM (CIC)
ANM (CIC)
PPP
RADIUS (IPA)
NTFY 2256
MOPC03/PCM01/15@MGW01.NET
MGCP 1.0
X: 3cd81
O: N/au
200 2256 OK
IP
PPP
PPP
IP
. . .
PPP
. . .
RADIUS
REL (CIC)
DLCX 7788
MOPC03/PCM01/15@MGW01.NET
MGCP 1.0
C:7
250 7788 OK
RLC (CIC)
t
t
t
t
t
Рис. 2.18. Сценарий установления модемного соединения в Интернет
Протоколы мульти­медийных приложений 169
a: framing:ppp-asynch
a: bearer:V.90
/протокол RADIUS;
/протоколу PPP использовать асинхронный
/режим;
/протокол обмена между модемами – V.90;
3. Шлюз подтверждает полученные данные.
4. Combo Switch высылает сообщение ACM о том, что номер получен полностью, и сообщение ANM о том, что можно подключить
разговорный канал.
5. Абонент по протоколу РРР начинает процесс аутентификации, который описан в п. 1.4. При успешном его завершении он получает от сервера ААА во временное пользование динамический IPадрес.
6. Шлюз высылает Combo Switch «УВЕДОМЛЕНИЕ» (Notify,
NTFY) об успешном завершении аутентификации, Combo Switch
подтверждает получение. С этого момента времени Combo Switch начинает вести повременный учет пребывания абонента в Интернет.
7. Абонент набором символического имени Web-страницы или
соответствующего ему IP-адреса Web-сервера устанавливает соединение в сети Интернет. По желанию провайдера сети оплата может
начисляться в зависимости от времени нахождения в сети (исходящей АТС или Combo Switch) или от объема принятых данных. В последнем случае их учет ведет сервер аутентификации (определение
пользователя по имени и паролю), авторизации (выяснение прав)
и учета стоимости (Authentication, Authorization and Accounting,
AAA).
8. Разрушение соединения от АТС к Combo Switch инициирует
абонент сообщением REL, на основании которого Combo Switch прекращает начисление платы за пребывание в Интернет и выдает команду шлюзу «РАЗРУШИТЬ СОЕДИНЕНИЕ» (DeleteConnection,
DLCX). Шлюз разрушает IP-соединение и возвращает подтверждение об исполнении. Combo Switch, в свою очередь, подтверждает получение сообщения REL ответным сообщением RLC. Все задействованные устройства возвращаются в исходное состояние.
2.4.2. Транспортный протокол реального времени
Для передачи мультимедийных приложений реального времени,
в том числе речевых пакетов, используется транспортный протокол реального времени (Real time Transport Protocol, RTP) [71].
170 Интерфейсы и протоколы сетей следующего поколения
Местоположение в стеке протоколов и наименование полей RTP показано на рис. 2.19. Порядок передачи бит кадра: слева направо/
снизу вверх, номер порта – динамический.
Назначение полей сообщения следующее.
Версия (Version) – определяет версию протокола, длина – 2 бита
(Version = 2).
Бит заполнения (Padding, P) – устанавливается в 1, если в поле
полезной нагрузки (6-й уровень) внесены лишние дополнительные
байты. Число внесенных байт содержится в последнем байте заполнения.
Бит расширения (Extension, X) – устанавливается в 1, если используется расширенный заголовок при экспериментальных расширениях RTP.
Число источников (Contribution Sources Count, CC) – указывает
на число используемых источников, участвующих в формировании
поля полезной нагрузки, длина – 4 бита. Устанавливается в 0 при
соединении «точка – точка».
Бит маркера (Marker, M) – устанавливается в 1 при наступлении значимого события, например, при окончании кадра.
Тип нагрузки (Payload Type, PT) – указывает формат и способ кодирования/декодирования нагрузки: 0 – G.711m, 3 – GSM 13 Кбит/с,
4 – G.723, 8 – G.711a, 9 – G.722, 14 – MPEG Audio, 18 – G.729 и т. д.
Длина – 7 бит.
Порядковый номер пакета (Sequence number) – начинается со
случайного числа, увеличиваемого на 1 в каждом последующем пакете, длина – 16 бит.
Временной штамп (Timestamp) – начинается со случайного числа, монотонно и линейно увеличиваемого во времени, длина –
Данные (Data)
Лист идентификаторов нагрузки (Contributing Source (CSRC) identifiers)
Идентификатор источника (Synchronization Source (SSRC) identifier)
Временной штамп (Timestamp)
Версия
Число источниТип нагрузки Порядковый номер пакета
P X
M
(Ver)
ков (CC)
(PT)
(Sequence number)
4-й уровень (UDP)
3-й уровень
2-й уровень
1-й уровень
Рис. 2.19. Местоположение и формат RTP
Протоколы мульти­медийных приложений 171
32 бита. Задает последовательность воспроизведения Данных (Data).
Генерируется локальным счетчиком, входная частота которого зависит от типа нагрузки. Например, для аудиоприложения входная
частота равна частоте дискретизации, при времени формировании
пакета 20 мс длиной в 160 байт каждое последующее значение
штампа увеличивается на 160 единиц. Используется для вычисления емкости приемного буфера, компенсирующего разброс времени
прихода пакетов относительно среднего значения.
Идентификатор источника (Synchronization Source identifier,
SSRC) – случайное уникальное число, идентифицирующее источник нагрузки. При конференции принимает значение идентификатора устройства конференцсвязи.
Лист идентификаторов нагрузки (�����������������������������
Contributing Source identifiers, CSRC�����������������������������������������������������
) – опциональное поле списка идентификаторов источников, участвующих в формировании пакета, например, при конференции. Включает от 0 (при СС=0) до 15 полей длиной по 32 бита.
Каждый источник имеет свое поле нагрузки. При конференции
в поле SSRC помещается идентификатор устройства конференц­
связи, а в поле CSRC – идентификатор(ы) активного абонента.
Данные (Data) – содержит полезную нагрузку (речь), закодированную в соответствии с полем Тип нагрузки. Для каждого участника конференции создается свой поток с требуемым способом кодирования.
Протокол управления протоколом реального времени (Real
time Control Protocol, RTCP) используется только совместно с RTP.
Служит для рассылки источникам информации статистики качества прохождения пользовательской информации по протоколу
RTP. Местоположение RTCP в стеке протоколов аналогично показанному на рис. 2.18, номер порта – динамический.
Имеются следующие типы RTCP-сообщений.
Отчет отправителя (�����������������������������������������
Sender�����������������������������������
����������������������������������
Report����������������������������
, ��������������������������
SR������������������������
) используется для передачи статистики от активных отправителей.
Отчет получателя (Receiver Report, RR) используется для передачи статистики от участников, которые не являются активными
отправителями.
Описание источника (Source Description, SDES) содержит каноническое имя отправителя (Cname), символическое имя (Name) или
адрес электронной почты (e-mail).
Окончание участия (BYE) используется в случае, если участник
конференции покидает сессию.
172 Интерфейсы и протоколы сетей следующего поколения
Все типы сообщений передаются в одном составном пакете. Сообщения в составном пакете должны следовать в перечисленном порядке, т. е. первое сообщение всегда должно быть SR или RR, если
даже не получено никаких пакетов или участник завершает соединение.
С ростом количества участников конференции поток RTP-паке­
тов остается практически постоянным, так как обычно активным является только один из участников. В этой же ситуации поток RTCPпакетов от получателей возрастает линейно с ростом количества
участников, поэтому принимают следующие меры по ограничению
RTCP-трафика. Среднее значение интервала рассылки RTCP-пакетов
должно быть не менее 5 с. Чтобы избежать одновременной передачи
пакетов (в случае конференции), интервал рассылки варьируется случайным образом в диапазоне от –0,5 до +1,5 от среднего значения.
Формат отчета отправителя (SR) приведен на рис. 2.20. Порядок передачи бит кадра: слева направо/снизу вверх. Состоит из 3-х
типов секций, первые две из которых являются обязательными.
Назначение полей сообщения следующее.
...
Идентификатор второго источника (SSRC_2)
Задержка последнего пакета (Delay since last SR – DLSR)
Последняя временная метка (Last SR timestamp – LSR)
Джиттер (Interarrival jitter)
Наибольший номер принятого пакета (Extended highest sequence number received)
Fraction
lost
Суммарное число потерянных пакетов
(Cumulative number of packets lost)
Идентификатор первого источника (SSRC_1)
Число октетов отправителя (Sender's octet count)
Число пакетов отправителя (Sender's packet count)
Временной штамп (RTP Timestamp)
Сетевое время (NTP, младшие разряды )
Сетевое время (NTP, старшие разряды )
Идентификатор источника (SSRC)
V
P
Число отчетов (RC)
Тип сообщения (PT)
Длина пакета (Length)
4-й уровень (UDP)
3-й уровень
2-й уровень
1-й уровень
Рис. 2.20. Местоположение и формат RTCP-сообщения SR
Протоколы мульти­медийных приложений 173
Версия (Version) – определяет версию протокола, длина – 2 бита
(Version = 2).
Бит заполнения (Padding, P) – устанавливается в 1, если в конце
пакета внесены лишние дополнительные байты. Число внесенных
байт содержится в последнем байте заполнения.
Число отчетов о приеме (Reception report count, RC) – указывает
на число источников, содержащихся в пакете, от которых приняты
RTP-пакеты, длина – 5 бит.
Тип сообщения (Packet type, PT) – для сообщения SR принимает
значение PT = 200, длина – 8 бит.
Длина пакета (Length) – длина – 16 бит (включая внесенные
байты).
Идентификатор источника (Synchronization Source identifier,
SSRC) – случайное уникальное 32-битовое число, идентифицирующее источник отчета о принятой RTP-нагрузке.
Сетевое время (NTP) – состоит из целой части (старшие разряды – 32 бита) и дробной (младшие разряды – 32 бита). Полный перебор значений младших разрядов происходит за одну секунду, начало отсчета – 1 января 1900 г.; длина – 64 бита.
Временной штамп (RTP Timestamp) – генерируется локальным
счетчиком отправителя, равно значению временного штампа RTPпакета с порядковым номером Число пакетов отправителя; длина – 32 бита.
Число пакетов отправителя (Sender’s packet count) – общее число пакетов, переданных отправителем; длина – 32 бита.
Число октетов отправителя (Sender’s octet count) – общее число байт данных (без заголовка и заполнителей), переданных отправителем; длина – 32 бита.
Идентификатор первого источника (Synchronization Source
identifier, SSRC_1) – определяет номер источника, к которому относится информация в последующих 20 байтах; длина – 32 байта.
Доля потерянных пакетов (Fraction lost) – определяет долю потерянных пакетов с момента приема предыдущего SR или RR. Представляет собой число с фиксированной запятой, полученное в результате деления числа потерянных пакетов на число ожидаемых
к приему пакетов, умноженное на 256; длина – 8 бит.
Суммарное число потерянных пакетов (Cumulative number of
packets lost) – определяется как разность между числом ожидаемых
и фактически поступивших пакетов с момента сессии (разговора).
Число ожидаемых пакетов вычисляется как разность между поряд174 Интерфейсы и протоколы сетей следующего поколения
ковыми номерами последнего и первого пакетов. Пакеты, пришедшие с опозданием, не считаются потерянными. За счет дублирования некоторых пакетов суммарное число потерянных пакетов может оказаться отрицательным. Длина – 24 бита.
Наибольший номер принятого пакета (Extended highest sequence
number received) – наибольший порядковый номер из числа принятых пакетов, длина – 32 байта.
Джиттер (Interarrival jitter) – характеризует среднюю величину разброса времени прихода пакетов относительно среднего значения в единицах Временного штампа, длина – 32 бита. Вычисляется
при поступлении каждого RTP-пакета. Вычисление джиттера поясняет рис. 2.21.
Пусть от источника нагрузки поступают RTP-пакеты с временными штампами S1–S4, а приемник принимает их в моменты значений своих временных штампов R1–R4. На первом этапе для каждого i-го пакета вычисляется индивидуальное отклонение по формуле
Di = (Ri + 1 – Ri) – (Si + 1 – Si), что для нашего случая дает D1 = 70,
D2 = –10, D3 = –40. Затем вычисляется величина джиттера по формуле
n
| Di |
n -1 | Dn |
|D |
= Jn-1
+
» Jn-1 (1 -1 / 16) + n ,
n
n
n
16
i=1
Jn = å
где Jn – 1 – значение джиттера, вычисленное для ансамбля из (n – 1)
ранее пришедших RTCP-пакетов. Для нашего случая J0 = 0, J1 = 70,
J2 = 40, J3 = 40 (байт).
Последняя временная метка (Last SR timestamp, LSR) – средняя
часть сетевого времени, состоящая из младших разрядов целой чаS1 = 100
R1 = 480
S2 = 260
S3 = 420
R2 = 710
S4 = 580
R3 = 860
R4 = 980
t
Рис. 2.21. Вычисление джиттера
t
Протоколы мульти­медийных приложений 175
сти (16 бит) и старших разрядов дробной части (16 бит) из последнего
принятого Отчета отправителя (SR).
Задержка последнего пакета (Delay since last SR, DLSR) – аппаратная задержка в единицах 1/65 536 секунды (≈15 мкс) с момента
приема последнего пакета и времени отправки отчета о приеме. Используется для вычисления абсолютной задержки от отправителя
до получателя. Длина – 32 бита. Вычисление абсолютной задержки
поясняет рис. 2.22.
Пусть от источника нагрузки S поступил RTCP-пакет Отчет отправителя (SR) со значением LSR = средняя часть NTP передатчика = 0xb705:2000 (46 853,125 с). Приемник через DLSR = 0x0005:4000
(5,250 с) отправил Отчет получателя (RR). Источник нагрузки получил пакет RR в момент времени (средняя часть) Т = 0xb70a:8000
(46 858,500 c). Тогда абсолютная задержка прохождения пакета по
петле «источник – получатель – источник» (время оборота) вычисляется по формуле RTT = T – LSR – DLSR = 0x0:2000 (0,125 с).
Отчет получателя (RR) используется узлами, которые только
принимают RTP-пакеты. Формат сообщения такой же, как на
рис. 2.20, за исключением заштрихованных полей. Тип сообщения
(Packet type, PT) для сообщения RR принимает значение PT = 201.
Формат описания источника (Source Description, SDES) показан
на рис. 2.23. Используется только совместно с сообщениями SR
или RR. Порядок передачи бит кадра: слева направо/снизу вверх.
Назначение полей сообщения следующее.
Версия (Version) – определяет версию протокола, длина – 2 бита
(Version = 2).
Бит заполнения (Padding, P) – устанавливается в 1, если в конце
пакета внесены лишние дополнительные байты. Число внесенных
байт содержится в последнем байте заполнения.
S
R
RTP
NTP = 0xc55eb705 : 20000000
RTCP (SR)
RTP
LSR = 0xb705 : 2000 (46 853,125 с)
RTP
DLSR = 0x0005 : 4000 (5,250 с)
RTP
RTCP (SR/RR)
T = 0xb70a : 8000 (46 858,500 c)
t
Рис. 2.22. Вычисление задержки
t
176 Интерфейсы и протоколы сетей следующего поколения
V
P
SC
...
SDES items
SSRC/CSRC_2
SDES items
SSRC/CSRC_1
PT=202
Сообщение SR или RR
4-й уровень (UDP)
3-й уровень
2-й уровень
1-й уровень
Length
Рис. 2.23. Местоположение и формат RTCP-сообщения SDES
Число источников (Source count, SC) – длина – 5 бит, указывает
на число источников.
Тип сообщения (Packet type, PT) – для сообщения SDES принимает значение PT = 202, длина – 8 бит.
Длина пакета (Length) – длина 16 бит (включая внесенные байты).
Идентификатор первого источника (SSRC/CSRC_1) – определяет номер источника, к которому относятся информация в последующем поле SDES items; длина – 32 байта.
Описание первого источника (Sender Description, SDES items) –
поле переменной длины, не превышающей 255 байт. Состоит из
8-битового поля типа адреса (1 – каноническое имя Cname, 2 – символическое имя Name, 3 – адрес электронной почты e-mail), 8-битового поля длины (Length) и последующих полей описания. Только
тип адреса Cname является обязательным, и в поля его описания
помещается имя пользователя и домена User and Domain name
(рис. 2.24).
Каноническое имя User and Domain name должно иметь формат
«User@Host». В системах, где трудно или нельзя получить имя
пользователя, допускается использование IP-адреса, например,
«192.0.2.89».
Сообщение Окончание участия (BYE) используется в случае,
если участник конференции покидает сессию. Тип сообщения
(Packet type, PT) для сообщения BYE принимает значение PT=203.
Cname=00000001
Length
User and Domain name
Рис. 2.24. Формат поля SDES items RTCP-сообщения BYE
Протоколы мульти­медийных приложений 177
Вопросы к п. 2.4
1.Назовите основную функцию протокола управления шлюзами.
Ответ: обеспечивает обмен транспортными адресами (IP-адрес + номер порта) между входящим и исходящим шлюзами.
2.Поясните назначение протоколов RTP и RTCP.
Ответ: RTP переносит информацию пользователя и локальные временные отметки времени отправки пакета передающей стороной, позволяя управляющему устройству пользователя на приеме производить
измерение джиттера. RTCP осуществляет извещение передатчика о качестве прохождения RTP-пакетов и позволяет измерить абсолютную
задержку пакета «из конца в конец».
3. Как изменит счетчик NTP свое значение целой части за год (365 дней)?
Ответ: увеличит на 365 ⋅ 24 ⋅ 60 ⋅ 60 = 31 536 000.
2.5.Сеть на основе протокола H.323
2.5.1. Общие сведения
Стандарт H.323 является частью семейства Рекомендаций H.32x
и определяет компоненты, протоколы и процедуры для обеспечения коммутации мультимедийных приложений (аудио, видео
и данных) в реальном масштабе времени через IP-сеть. Обеспечение
коммутации мультимедийных приложений в других сетях происходит в соответствии со следующими Рекомендациями:
1) в сетях коммутации каналов (SCN) – в соответствии с Рекомендацией H.324;
2) в узкополосных цифровых сетях интегрального обслуживания (ISDN) – в соответствии с Рекомендацией H.320;
3) в широкополосных цифровых сетях интегрального обслуживания (B-ISDN) – в соответствии с Рекомендацией H.321;
4) в локальных сетях (LAN), обеспечивающих качество обслуживания, – в соответствии с Рекомендацией H.322.
Рекомендация Н.323 предполагает зоновое построение IP-сети.
В состав зоны (рис. 2.25) входят:
– оконечные устройства (Terminals). Являются источниками
и/или приемниками мультимедийной информации, представляют
собой либо мультимедийное приложение персонального компьютера, либо отдельное устройство. Совместимо с другими типами око178 Интерфейсы и протоколы сетей следующего поколения
Зона
GK
MCU
MG
Узел
N3
N1
ВSCN:
PSTN,
ISDN
RT1
Узел
N2
в IPсеть
RT2
N4
RT3
Рис. 2.25. Компоненты зоны Н.323-сети
нечных устройств семейства H.32x, а именно – Н.324, Н.320, Н.321
и Н.322;
– мультимедийный шлюз (Media Gateway, MG). Обеспечивает сопряжение Н.323-сети с другими типами сетей, например, с сетью
коммутации каналов (Switched Circuit Network, SCN) и другими
шлюзами. Он производит преобразование протоколов разнородных
сетей для установления и разрушения соединений, конвертирование мультимедийной информации пользователя в вид, пригодный
для транспортировки по соответствующей сети;
– менеджер зоны (Gatekeeper, GK). В нем сосредоточен весь интеллект Н.323-сети. Обеспечивает трансляцию адресов, аутентификацию и авторизацию узлов и шлюзов, выделение полосы передачи
для каждой услуги, учет статистики и стоимости соединений. Наличие в сети менеджера зоны (Gatekeeper, GK) необязательно. Абонент может непосредственно набрать известный ему IP-адрес и установить требуемое соединение. Однако такой подход имеет следующие существенные недостатки:
• невозможность установления соединения по символическому имени: менеджер зоны осуществляет трансляцию символического имени в IP-адрес;
• невозможность установления соединения по набранному
номеру сети телефонной связи: менеджер зоны осуществляет
трансляцию сетевого телефонного номера в IP-адрес;
• трудность установления соединения с мобильным абонентом, имеющим динамический IP-адрес: менеджер зоны
Протоколы мульти­медийных приложений 179
обеспечивает регистрацию местонахождения находящихся
в сети абонентов;
• более эффективное распределение ресурсов сети: менеджер зоны ведет учет выделяемых полос передачи для каждого
приложения, при перегрузке сети некоторые приложения могут получить отказ в обслуживании;
• невозможность организации повременного учета стоимости произведенных соединений: менеджер зоны контролирует
все соединения абонентов в своей зоне.
Поэтому в дальнейшем рассматриваются только сценарии с участием менеджера зоны:
– устройство управления конференциями (Multipoint Control
Unit, MCU�������������������������������������������������������
). Обеспечивает конференцсвязь трех и более пользователей. Все соединения, относящиеся к конференцсвязи, устанавливаются через MCU, которое следит за распределением ресурсов и соПрикладной
уровень
Каналы управления
медиаприложениями передачей
соединением доступом
доставкой качеством
Представительный
уровень
Сеансовый
уровень
Приложения
ввода/
вывода медиа
Аудио – G.711, G.723, G.729
Видео – H.261, H263
Q.931 +
RTCP
H.245 (CC) H.225 (СSС) H.225 (RAS)
Port=Din
Port=Din
Port=Din Port=1720
RTP
Port=Din
Транспортный уровень
TCP (Protocol = 6)
UDP (Protocol = 17)
Сетевой уровень
IP
Классификатор пакетов
Канальный уровень
Физический уровень
Рис. 2.26. Стек протоколов оконечного устройства Н.323
180 Интерфейсы и протоколы сетей следующего поколения
RSVP
уровен
нь
вместимостью кодеков. Если требуется подключить часть абонентов
через низкоскоростные каналы к участникам конференции, имеющим высокоскоростные каналы связи, то применяются миксеры
(Mixers). Миксер осуществляет перекодирование пакетов (например, преобразование из G.723 в G.711) через промежуточное TDMпреобразование.
Стек протоколов оконечного устройства (хоста) приведен на
рис. 2.26.
На верхнем уровне находятся приложения, на 6-м – кодеки (видео – Н.261, аудио – G.711 и др.). На 5-м уровне находятся протоколы каналов передачи в реальном времени (RTP и RTCP), протокол
взаимодействия с менеджером зоны (�����������������������������
Registration, Admission, Status – RAS), протокол управления соединениями (Call Signaling
Channel – CSC), протокол управления передачей (Control Channel –
CC). На 4-м уровне находятся протоколы взаимодействия с сетевым
уровнем, осуществляющие нумерацию передаваемых дейтаграмм,
обнаружение и исправление ошибок. Нижние уровни выполняют
функции передачи.
Для кодирования информационных полей сигнализации всех
протоколов используется язык абстрактно-синтаксических нотаций версии 1 (Abstract Syntax Notation One, ASN.1).
Соединение в сети включает в себя несколько этапов, которые излагаются в последующих подразделах.
2.5.2. Канал регистрации, доступа и статуса.
Обнаружение менеджера зоны, регистрация,
определение местоположения,
запрос доступа, определения состояния
До установления каких-либо соединений узел обязан пройти процедуру регистрации, запроса доступа и определения статуса, используя протокол H.225. Указанные функции оконечное устройство осуществляет по каналу RAS (Registration, Admission, Status)
поверх протокола UDP. Предполагается, что узел (хост или шлюз)
уже получил (хост) или имеет (шлюз) постоянный IP-адрес.
Обнаружение менеджера зоны в автоматическом режиме инициирует узел (хост) широковещательной рассылкой сообщения
Gatekeeper Request (GRQ) по адресу 224.0.1.41 на предопределенный
UDP-порт 1718. Если ответ не поступил в течение 5 секунд (из-за поПротоколы мульти­медийных приложений 181
тери пакета запроса) узел может повторить запрос. На запрос могут
ответить несколько менеджеров (основной и резервные) сообщением
Gatekeeper Confirmation (GCF). В ответе содержится транспортный
адрес (IP-адрес + порт) менеджера зоны. Хост выбирает один из них
и заносит его данные в свою память, откуда он извлекает его при
новом включении. С этого момента хосту известен адрес менеджера
зоны, и он может зарегистрироваться у него. Если менеджер по
каким-либо причинам отказывает узлу, то он отвечает сообщением
Gatekeeper Reject (GRJ).
Чтобы иметь возможность принимать входящие соединения,
узел (оконечное устройство, шлюз, устройство управления конференциями) должен зарегистрироваться. При регистрации узел сообщает свой транспортный адрес канала управления соединением
(callSignalAddress) и символическое имя (terminalAlias) менеджеру зоны в сообщении Registration Request (RRQ) по адресу менеджера, который ему уже известен. В качестве символического имени могут использоваться телефонный номер ТФОП или идентификационный номер H.323-сети (алфавитно-цифровая строка, содержащая адрес, подобный адресу электронной почты). Менеджер
зоны регистрирует узел в своей базе данных и отвечает узлу сообщением Registration Confirmation (RCF). Если в сообщении RRQ
отсутствует символическое имя, то менеджер может назначить его
и выслать в сообщении RCF. Если менеджер по каким-либо причинам отказывает узлу (например, из-за совпадения уже зарегистрированного символического имени по другому транспортному адресу), то он отвечает сообщением Registration Reject (RRJ). Узел может зарегистрироваться на ограниченное время. В этом случае он
в сообщении RRQ в параметре Время регистрации (timeToLive)
указывает его значение в секундах, а менеджер может подтвердить
его в сообщении RCF с параметром timeToLive того же или другого
значения. До истечения этого времени узел может однократно продлить время регистрации, после чего должен зарегистрироваться
вновь. Если в сообщении RCF отсутствует параметр timeToLive,
то это означает, что менеджер не поддерживает режим продления
регистрации, что вынуждает узел регулярно осуществлять регистрацию.
Определение местоположения узла производится в случае, если
менеджеру требуется установить соединение к узлу другой зоны,
у которого известно только символическое имя, но не известен IPадрес. В этом случае менеджер формирует сообщение Location
182 Интерфейсы и протоколы сетей следующего поколения
Request (LRQ) к менеджеру другой зоны или к DNS с указанием
символического имени узла, а в ответном сообщении Location
Confirmation (LCF) получает транспортный адрес. Менеджер отвечает отказом Location Reject (LRJ) на запрос узла, который не прошел регистрацию.
При установлении соединения с помощью менеджера зоны узел
должен запросить у него доступ к сетевым ресурсам в сообщении
Admission Request (ARQ) по предопределенному порту 1719. В этом
сообщении содержатся следующие поля:
– порядковый номер (requestSeqNum) – уникальный монотонно
возрастающий номер, который возвращается в ответе менеджером
зоны;
– тип вызова (callType) – уникальный идентификатор, по которому менеджер зоны определяет реально требуемую полосу передачи (по умолчанию устанавливается в значение «точка – точка»);
– модель вызова (callModel) – принимает значение прямой вызов
(direct) в случае установления соединения без участия менеджера
зоны, или, в противном случае, соединение устанавливает менеджер (gatekeeperRouted);
– символический (destinationInfo) или транспортный адрес канала RAS-узла назначения (destCallSignalAddress);
– последовательность символических имен инициатора вызова
(srcInfo);
– транспортный адрес канала управления соединением (CSC)
узла инициатора (srcCallSignalAddress) и требуемую полосу передачи. Значение полосы передачи вычисляется как скорость передачи,
измеренная в Кбит/с, увеличенная в 20 раз. Так, для обмена со скоростью 64 Кбит/с параметр bandWidth = 64 ⋅ 20 = 1 280;
– ссылка на вызов (callReferenceValue) – уникальное число для
каждого вызова на стыке между узлами, содержит две области:
«метку» (1 бит) и значение ссылки на вызов (15 бит). «Метка» устанавливается в 0 на стороне инициатора соединения и в 1 – на стороне назначения.
В своем ответном сообщении Admission Confirm (ACF) менеджер
зоны может подтвердить или снизить запрашиваемую полосу передачи. Узел может предпринять попытку изменения полосы передачи уже установленного соединения сообщением Bandwidth Change
Request (BRQ), на что противоположная сторона должна ответить
сообщением Bandwidth Change Confirm (BCF) в случае согласия или
сообщением Bandwidth Change Reject (BRJ) в случае отказа.
Протоколы мульти­медийных приложений 183
Менеджер периодически определяет состояние любого узла своей сети, регулярно отправляя сообщение Information Request (IRQ),
на которое работоспособный узел должен ответить сообщением
Information Request Response (IRR). Период отправки сообщения
IRQ выбирается не менее 10 с.
2.5.3. Канал управления соединением
Для установления/разрушения речевого соединения в IP-сети используется канал управления соединением (Call Signaling Channel,
CSC) по протоколу H.225 (порт 1720) поверх протокола TCP. За
основу приняты обязательные сообщения Рекомендации Q.931, хорошо зарекомендовавшие себя в цифровых сетях интегрального обслуживания (Integrated Services Digital Network, ISDN).
Каждое сообщение в Рекомендации Q.931 содержит следующие
обязательные области: дискриминатор протокола, ссылка на вызов
(Call reference), тип сообщения (Message type), информацию «пользователь – пользователь» (User-user). Дискриминатор протокола
для всех сообщений Рекомендации Q.931 принимает значение
00001000. Ссылка на вызов принимает то же значение, что и в сообщении ARQ протокола RAS. Тип сообщения определяет фазу
установления соединения. Информация «пользователь – пользователь» содержит все необходимые сведения, относящиеся к IP-сети.
Первое сообщение при установлении соединения – Установить
(Setup), имеющее код типа сообщения 00000101. В нем присутствуют следующие поля.
Возможность несущего канала (Bearer capability) – содержит
технические требования к несущему каналу, по которому устанавливается соединение. Содержит поля о виде передаваемой информации (код 01000 – режим неограниченной цифровой информации),
используемом стандарте кодирования (код 00 – стандарт ITU-T),
о полосе передачи (код 10000 – речь в спектре 0,3–3,4 КГц), о режиме коммутации (00 – коммутация каналов), о протоколе первого
уровня (код 00101 – кодирование по Рекомендации H.221).
Информация «пользователь – пользователь» (User-user) содержит:
– идентификатор протокола (protocolIdentifier) – указывает на
используемую версию Н.225);
– транспортный адрес (Call Control, CC) канала управления передачей источника по протоколу H.245 (h245Address);
184 Интерфейсы и протоколы сетей следующего поколения
– перечень символических имен источника (sourceAddress);
– описание типа оконечного устройства источника (sourceInfo);
– предопределенный транспортный адрес (���������������������
Call Signalling Channel, CSC��������������������������������������������������������
) канала управления соединением получателя (������������
destCallSignalAddress);
– тип вызова (callType);
– идентификатор вызова (callIdentifier) – уникальное число,
устанавливающее соответствие между каналами RAS и CSC;
– предложение процедуры «быстрого старта» (fastStart) с указанием транспортных адресов RTP и RTCP источника.
В ответ на Setup узел может получить опциональное сообщение
Продолжение Вызова (Call Proceeding) c кодом сообщения 0х02.
При поступлении вызова на входящий узел он высылает сообщение Оповещение (Alerting) с кодом типа сообщения 0х01. В поле
«пользователь – пользователь» (User – user) содержится:
– идентификатор протокола (protocolIdentifier) – указывает на
используемую версию Н.225);
– описание типа оконечного устройства получателя (������������
destinationInfo);
– идентификатор вызова (callIdentifier) – уникальное число,
устанавливающее соответствие между каналами RAS и CSC;
– согласие на процедуру «быстрого старта» с указанием транспортных адресов RTP и RTCP получателя.
При ответе входящий узел он высылает сообщение Соединить
(Connect) с кодом типа сообщения 0х07. В поле «пользователь – пользователь» (User – user) содержится:
– идентификатор протокола (protocolIdentifier) – указывает на
используемую версию Н.225);
– описание типа оконечного устройства получателя (������������
destinationInfo);
– транспортный адрес (Call Control, CC) канала управления передачей получателя по протоколу H.245 (h245Address);
– идентификатор вызова (callIdentifier) – уникальное число,
устанавливающее соответствие между каналами RAS и CSC;
– согласие на процедуру «быстрого старта» (fastStart) с указанием транспортных адресов RTP и RTCP получателя.
При завершении соединения узел высылает сообщение Завершение соединения (Release Complete) с кодом типа сообщения 0х5а.
В поле информации «пользователь – пользователь» (User – user) содержится:
Протоколы мульти­медийных приложений 185
– идентификатор протокола (protocolIdentifier) – указывает на
используемую версию Н.225);
– идентификатор вызова (callIdentifier) – уникальное число,
устанавливающее соответствие между каналами RAS и CSC.
2.5.4. Канал управления передачей
Для согласования параметров передачи логических каналов между
узлами используется канал управления передачей (Call Control,
CC) по протоколу H.245 поверх протокола TCP. Под узлом понимается оконечное устройство, устройство управления конференциями (МСU) или менеджер зоны (GK), а под логическими каналами –
каналы передачи информации пользователя между узлами. Канал
управления передачей устанавливается на каждое соединение,
в котором участвует узел, одновременно узел может поддерживать
множество таких соединений. Протокол Н.245 поддерживает несколько типов сообщений, в том числе открытие логического канала (openLogicalChannel), возможности терминала (�����������
TerminalCapabilitySet), определение ведущего/ведомого (�������������������
MasterSlaveDeterminition), закрытие логического канала (CloseLogicalChanel), конец
сессии (EndSession) и др.
Сообщение открытие логического канала (openLogicalChannel)
обычно используется как вложение в протокол Н.225 в процедуре
«быстрый старт». В этом сообщении оконечные устройства извещают друг друга о своих транспортных адресах (IP-адрес + номер порта) каналов доставки по протоколу RTP (в параметре mediaChannel)
и RTCP (в параметре mediaControlChannel).
Сообщение возможности терминала (TerminalCapabilitySet)
оконечные устройства используют для согласования параметров
передачи и приема, например, типов используемых кодеков. Каждый узел предоставляет в таблице совместимости (capabilityTable)
список кодеков в порядке их предпочтения. Возможно одновременное использование видео- и аудиоальтернативных кодеков, но только одного типа кодека. Например, запись {{H.261}, {H.261, H.263},
{G.711a, G.711m, G723.1, G.729}} означает, что наиболее предпочтительным видеокодеком является Н.261, а аудио- – G.711a.
Поскольку приоритет использования кодеков у различных узлов
может не совпадать, то для выбора единого типа кодека используется сообщение определение ведущего/ведомого (�������������������
MasterSlaveDetermi186 Интерфейсы и протоколы сетей следующего поколения
nition). В этом сообщении каждая из сторон выставляет два пара­
метра. В параметре terminalType сообщается о типе терминала:
оконечное устройство (вес 50), шлюз (вес 60), менеджер (вес 120),
а в параметре statusDeterminationNumber помещается случайное
число. Ведущим узлом считается тот, у которого выше вес, а при
равенстве весов – тот, у которого больше значение случайного
числа. Ведомый узел выбирает свой кодек в порядке предпочтения
кодеков ведущего узла, полученного ранее в сообщении возможности терминала (TerminalCapabilitySet).
Сообщения закрытие логического канала (CloseLogicalChanel)
и конец сессии (EndSession) используются при завершении соединения для закрытия приложений, обслуживающих каналы управления передачей.
2.5.5. Дополнительные виды обслуживания
Для абонентов H323-сети стандартом определены следующие
основные виды обслуживания:
– разрешение показа номера (символического адреса) вызывающего абонента вызываемому абоненту;
– запрет показа номера вызывающего абонента вызываемому
абоненту;
– разрешение показа номера ответившего абонента вызывающему абоненту;
– запрет показа номера ответившего абонента вызывающему
абоненту;
– разрешение показа занятого номера абонента вызывающему
абоненту;
– запрет показа занятого номера абонента вызывающему абоненту.
Для перенаправления вызова (переадресация вызова на другого
абонента, на устройство конференцсвязи, на менеджера зоны) или
в случае заказа дополнительного вида обслуживания используется
сообщение Услуга (Facility) с кодом типа сообщения 0х62, в котором
данные об услуге помещаются в поле «пользователь – пользователь»
(User – user). Рекомендации серии Н.450.х содержат описание сценариев и полей для реализации некоторых услуг: «Перевод вызова»
(Call Transfer, Рекомендация Н.450.2), «Переадресация вызова»
(Call Diversion, Рекомендация Н.450.3), «Удержание вызова» (Call
Протоколы мульти­медийных приложений 187
Hold, Рекомендация Н.450.4), «Уведомление о поступлении нового
вызова» (Call Waiting, Рекомендация Н.450.1) и др. Следует отметить, что перечень услуг в сети с коммутацией каналов значительно
шире, чем перечислены в Рекомендации Н.450.х. Поэтому для реализации полного перечня известных услуг в Н.323-сети приходится
применять дополнительные сетевые элементы, обеспечивающие эти
услуги. Другой путь – обработка вызовов менеджером зоны в соответствии со сценарием, составленным для каждого абонента на
­простом, легко читаемом языке – языке обработки вызовов (Call
Processing Language, CPL). Подробно этот подход описан в подразделе 2.7.4. В заключение следует отметить, что реализация протокола H.323 достаточно сложна в части используемого языка описания ASN.1 и параметров обмена. Поэтому операторы сетей все
бόльшее предпочтение отдают протоколу SIP.
2.5.6. Сценарий соединения с участием менеджера зоны
Сценарий установления соединения с помощью менеджера зоны
без резервирования ресурсов приведен на рис. 2.27.
2.5.7. Обеспечение качества обслуживания
В концепции сети Н.323 для обеспечения требуемого качества обслуживания рекомендуется использовать протокол RSVP. Компоненты протокола RSVP рекомендуется размещать в оконечных
устройствах. Оконечное устройство в запросе доступа к сетевым
­ресурсам (ARQ) в поле transportQOS указывает на свою способность
резервирования ресурсов. На основании информации в сообщении
ARQ и информации о типе соединения менеджер зоны принимает
решение о необходимости резервирования или обслуживания
«с наибольшими усилиями». Свое решение менеджер зоны высылает в сообщении ACF. В случае необходимости резервирования, но
неспособности оконечного устройства к резервированию ресурсов
менеджер зоны высылает отказ в доступе (ARJ).
Сообщениям Path и Resv резервирования ресурсов предшествует процедура параллельного «быстрого старта», в котором при помощи сообщений Setup, Call Proceeding и Facility параллельно передаются данные о портах RTP, RTCP, CC, а также осуществляется
188 Интерфейсы и протоколы сетей следующего поколения
GK
IP=192.168.1.62
IP=192.168.1.20
IP=192.168.1.50
CC RTCP RTP CSC RAS
1047 5011 5010 1045 1025
CSC RAS CSC
1720 1719 50450
RAS CSC RTP RTCP CC
1722 1720 4864 4865 16204
ARQ: CallModel=GKR,
CSC=192.168.1.20 Port=1720
CSC=192.168.1.62 Port=1045
BW=1280
ACF: GKR, СSC=1720
Setup:
RTP= 192.168.1.62 Port=5010
RTCP=192.168.1.62 Port=5011
CC= 192.168.1.62 Port=1047
CALL PROCEEDING
Setup
ARQ: CallModel=GKR,
CSC=192.168.1.50 Port=1720
CSC=192.168.1.62 Port=1045
BW=1280
ACF: GKR
Alerting
Alerting:
RTP= 192.168.1.50 Port=4864
RTCP=192.168.1.50 Port=4865
RTP
RTCP: SR
RTCP: RR
Connect
Connect:
RTP= 192.168.1.50 Port=4864
RTCP=192.168.1.50 Port=4865
CC= 192.168.1.50 Port=16204
CC: TerminalCapabilitySet: G711a, G711m, G.723.1
CC: MasterSlaveDeterminition: TerminalType=50, Num=4 954 959
CC: TerminalCapabilitySet: G711m, G711a
CC: MasterSlaveDeterminition: TerminalType=50, Num=15 500 304
CC: TerminalCapabilitySetAck: SN=1
CC: MasterSlaveDeterminitionAck: Master
CC: TerminalCapabilitySetAck: SN=1
CC: MasterSlaveDeterminitionAck: Slave
RTP (G.711m)
RTCP
CC: CloseLogicalChanel
CC: EndSession
Release Complete:
Release Complete:
CallIdentifier
CallIdentifier
DSR
DSR
DSC
DCS
Рис. 2.27. Сценарий соединения с помощью менеджера зоны
без резервирования ресурсов
Протоколы мульти­медийных приложений 189
с­ огласование общего типа кодека. После этого каждое оконечное
устройство в направлении передачи по каналу управления передачей (Call Control, CC) по протоколу RSVP производит резервирование ресурсов.
Сценарий резервирования ресурсов в режиме «быстрый старт»
представлен на рис. 2.28.
Одной из задач механизма обеспечения качества обслуживания
является принятие мер по смягчению последствий в случае его
ухудшения. Оценка качества обслуживания производится на основе отчетов протокола RTCP на основании вычисленных значений
коэффициента ошибок при передаче бит, коэффициента ошибок при
передаче пакетов, задержек.
Отчет отправителя (SR) протокола RTCP позволяет приемнику
синхронизировать аудио- и видеопотоки, узнать об общем числе переданных пакетов, замерить задержку. Отчет получателя позволяет передатчику определить:
A
B
GK
Setup: fastStart
OpenLogicalChannel (RTPA / RTCPA / CCA)
TerminalCapabilitySet (A)
MasterSlaveDeterminition (A)
Setup: fastStart
OpenLogicalChannel (RTPA / RTCPA / CCA)
TerminalCapabilitySet (A)
MasterSlaveDeterminition (A)
Call Proceeding: fastStart
OpenLogicalChannel (RTPB / RTCPB / CCB)
TerminalCapabilitySet (B)
MasterSlaveDeterminition (B)
TerminalCapabilitySetAck
MasterSlaveDeterminitionAck
Call Proceeding: fastStart
OpenLogicalChannel (RTPB / RTCPB / CCB)
TerminalCapabilitySet (B)
MasterSlaveDeterminition (B)
TerminalCapabilitySetAck
MasterSlaveDeterminitionAck
Facility:
TerminalCapabilitySetAck
MasterSlaveDeterminitionAck
Facility:
TerminalCapabilitySetAck
MasterSlaveDeterminitionAck
RSVP Path
RSVP Resv
RSVP Resv Conf
RSVP Path
RSVP Resv
RSVP Resv Conf
Alerting
Connect
RTP, RTCP
.
.
.
Рис. 2.28. Сценарий установления соединения с резервированием ресурсов
190 Интерфейсы и протоколы сетей следующего поколения
1) вероятность потерь пакета;
2) общее число потерянных пакетов;
3) номер последнего пакета;
4) джиттер.
Существует кратковременное и долговременное ухудшение качества.
Вычисленные выше значения (1–3) используются для обнаружения перегрузки в сети и долговременного понижения качества.
Долго­временное понижение качества возникает из-за общей перегрузки всей сети или значительной ее части, что приводит к недопустимому возрастанию очереди и отбрасыванию части пакетов
маршрутизаторами. Оконечное устройство может снизить скорость
передачи в проблемном направлении, например, сменить тип ко­
дека G.711 на G.723 с ухудшением качества воспроизведения речи.
Вычисленное значение (4) джиттера используется для обнаружения кратковременного понижения качества, которое возникает
­из-за большого отклонения задержки пакетов от среднего значения
на отдельных участках сети. Для снижения джиттера оконечное
устройство может либо изменить параметры корзины маркеров,
напри­мер, сменить время формирования речевых пакетов G.711
с 30 мс на 10 мс с переходом на заказанную в RSVP пиковую скорость передачи p = 126,4 Кбит/с без ухудшения качества воспроизведения речи, либо сменить тип кодека.
Вопросы к п. 2.5
1.Назовите состав сетевых элементов Н.323-сети.
Ответ: оконечные устройства, менеджер зоны, мультимедийные шлюзы.
2.Назовите функции менеджера зоны.
Ответ: регистрация местоположения абонентов, установление соответствия между символьным именем и IP-адресом, установление соответствия между телефонным номером и IP-адресом, учет сетевых ресурсов, учет стоимости состоявшихся соединений.
3.Ведет ли менеджер зоны учет использованных полос передачи «из конца в конец» в своей зоне?
Ответ: нет.
4. Чем характеризуется процедура «быстрый старт»?
Ответ: передачей нескольких параметров для установления соединения в одном сообщении.
5.Назовите недостатки протокола H.323.
Ответ: сложность используемого языка описания ASN.1 и параметров
обмена.
Протоколы мульти­медийных приложений 191
2.6.Обеспечение безопасности в сети
2.6.1. Общие сведения
В публичной сети (Интернет) возникает угроза несанкционированного доступа посторонних лиц к передаваемым данным, а также
угроза перехвата передаваемого трафика. Для предотвращения
этих угроз принимаются специальные меры, главными из которых
являются:
– аутентификация – установление подлинности сообщения,
в частности, автора. Эту задачу решают протоколы прикладного
уровня;
– авторизация – контроль доступа легальных (аутентифицированных) пользователей к определенным ресурсам сети. Эта задача
решается на прикладном уровне;
– шифрование – преобразование исходного текста, передаваемого
по публичной сети, в «нечитаемый» для посторонних лиц текст. Эта
задача, в зависимости от степени засекречивания, может решаться
на разных уровнях. Если требуется защитить только тело сообщения
прикладного уровня, например, электронной почты, то используется протокол S/MIME (Secure/MIME) [62] или TLS (Transport Layer
Security����������������������������������������������������������
) [52]. Если требуется защитить все поля передаваемого сообщения, то используется стандарт сетевого уровня IPsec [56, 57].
Классическая модель криптосистемы показана на рис. 2.29.
В модели присутствуют три участника: два легальных пользова­теля и злоумышленник. Задача злоумышленника заключается
в пере­хвате и чтении передаваемых сообщений. При этом предпола­
гается, что злоумышленник имеет возможность подключения к каналу связи и ему доступны:
1) открытые тексты передаваемых сообщений;
2) алгоритм шифрования/дешифрования передаваемых сообщений;
3) зашифрованные тексты сообщений.
P
Злоумышленник
P
C = EK1(P)
Легальный
пользователь 1
Незащищенный канал связи
Рис. 2.29. Классическая модель криптосистемы
192 Интерфейсы и протоколы сетей следующего поколения
Легальный
пользователь 2
Для предотвращения чтения перехваченных сообщений легальные пользователи используют шифрование. Шифрование состоит
в том, что элементы исходного текста сообщения P различным образом «перемешиваются» с не известным злоумышленнику псевдослучайным текстом, называемым ключом K1 и в виде зашифрованного
текста C = EK1(P) передаются в канал связи. Легальный пользователь, применяя к принятому сообщению C процедуру дешифрирования D ключом K2, получает исходный текст DK2(C) = DK2(EK1(P)) = P.
В приведенных записях E и D – некие математические функции,
а K1 необязательно равно K2. Значение ключа известно только легальным пользователям. Для повышения криптостойкости системы
значения ключей периодически (например, раз в месяц) меняются.
Существует несколько способов защиты информации.
2.6.2. Методы защиты информации
Наиболее известным симметричным алгоритмом шифрования
с секретными ключами является стандарт DES (Data Encryption
Standard). Каждая пара пользователей имеет один и тот же секретный ключ K. Ключ представляет собой блок длиной 56 бит. Перед
шифрованием любая форма представления исходных данных преобразуется в числовую. Данные шифруются поблочно, длина блока – 64 бита. Блок делится пополам, на место левой половины блока помещается правая половина, а на место правой половины – сумма половин блока по модулю два. Затем по определенной схеме совершаются побитные замены некоторых элементов исходного
текста на элементы ключа и их перемешивание. Для повышения
криптостойкости в настоящее время используется улучшенный
стандарт шифрования AES (Advanced Encryption Standard), использующий симметричный ключ длиной от 128 до 256 бит.
В сети с N абонентами требуется N(N – 1)/2 ключей, т. е. количество ключей возрастает пропорционально квадрату количества абонентов сети. Поэтому большую проблему представляет доставка секретных ключей такому большому количеству легальных пользователей. Для снятия этой проблемы пользователи используют несимметричные алгоритмы шифрования.
Несимметричный алгоритм шифрования с открытыми ключами основан на алгоритме Диффи–Хеллмана (W. Diffie, M. Hellman)
и предполагает наличие у легального пользователя пары ключей,
Протоколы мульти­медийных приложений 193
таких, что текст, зашифрованный одним ключом, может быть расшифрован только с помощью второго ключа. Один из ключей K1 = e
является открытым, его легальный пользователь раздает всем, от
кого он хочет получать зашифрованную информацию. Другой ключ
K2 = d – закрытый, его пользователь хранит в защищенном месте.
Наиболее известная реализация алгоритма, именуемая RSA, названа в честь его авторов R. Rivest, A. Shamir, L. Adleman и реализуется следующим образом:
1) выбирается два простых числа, например, p = 7, q = 11;
2) вычисляется произведение n = pq = 7 ⋅ 11 = 77;
3) вычисляется произведение m = (p – 1)(q – 1) = 6 ⋅ 10 = 60;
4) выбирается открытый ключ е = 13 как случайное число, не
имеющее общих сомножителей с m = 60;
5) вычисляется закрытый ключ d как число, обратное значению
открытого ключа по модулю m, т. е. такое, что modmed = 1, откуда
d = 37;
6) производится рассылка открытого ключа (n = 77, e = 13) легальным пользователям. Закрытый ключ (n = 77, d = 37) хранится
в секрете.
Если легальный пользователь 1 собирается отправить пользователю 2 сообщение (например, символ А = 47 не больше n), то он шифрует его с использованием открытого ключа пользователя 2 как
B = modn Ae = mod774713 = 5. Пользователь 2 дешифрирует полученное значение В с помощью закрытого ключа как modnBd = mod77537 =
= 47 = A. Заметим, что дешифрировать сообщение В с помощью
открытого ключа легальный пользователь 1 не может, так как
modnBe = mod77513 = 26 ≠ A.
Для повышения криптостойкости длина ключа выбирается длиной не менее 1 024 бит. В сети с N абонентами требуется по два ключа каждому абоненту: один открытый и один закрытый, всего 2N
ключей. Шифрование и дешифрование по алгоритму RSA примерно
в 1 000 раз медленнее, чем по алгоритму DES.
Часто на практике используется симметричный алгоритм шифрования с открытыми ключами по алгоритму Диффи–Хел­лмана
(Diffie–Hellman), который выглядит следующим образом.
Каждый пользователь сети имеет свой закрытый ключ Dj. Пусть,
например, пользователь 1 имеет закрытый ключ D1=3. Инициатор
соединения (пользователь 1) выбирает наугад два числа, например,
g = 5, n = 17, и отсылает пользователю 2 значения g = 5, n = 17 и y1 =
= modngD1 = mod17125 = 6. Заметим, что значению y1 = 6 при извест194 Интерфейсы и протоколы сетей следующего поколения
ном g = 5 и n = 17 соответствует множество значений D1, а именно: 3,
19, 35, … . Пользователь 2, имея закрытый ключ D2 = 7, проделывает
аналогичную процедуру, высылая y2 = modngD2 = mod1778 125 = 10.
Затем каждый пользователь в отдельности вычисляет общий ключ:
пользователь 1 по формуле K = modn(y2)D1 = mod17103 = 14, а пользователь 2 – по формуле K = modn(y1)D2 = mod1767= 14. В дальнейшем
общий ключ используется как симметричный для двухстороннего
обмена информацией. Для повышения криптостойкости:
1) периодически меняют значения чисел g, n, Dj;
2) значения чисел g, n, Dj выбирают из большого диапазона случайных чисел, например, от 100 до 1 024. В сети с N абонентами требуется всего N ключей.
Односторонний алгоритм шифрования применяется для проверки целостности данных. Существо преобразования состоит в том,
что биты исходного текста P произвольной длины перемешиваются
по определенному известному алгоритму с заранее известным бессмысленным текстом бόльшой длины, поэтому даже короткий открытый текст преобразуется в текст гораздо бόльшей длины. Затем
вновь полученный текст сжимается по определенному известному
алгоритму. Такое преобразование называется дайджест-функцией
(digest function), или хэш-функцией, а результат – дайджестом
H(P). Полученный дайджест намного короче исходного текста, и по
нему невозможно восстановить исходный текст. Дайджест является
уникальной для данного текста цифровой последовательностью, вероятность неопознанной подмены текста зависит от длины дайджеста А и вычисляется как 2–А. Существуют два наиболее распространенных алгоритма вычисления дайджеста: MD5 (Message Digest 5)
и SHA-1 (Secure Hash Algorithm 1). Первый из них формирует дайджест длиной 128 разрядов, второй – длиной 160 разрядов.
Способ формирования дайджеста не является секретом, поэтому
полученный дайджест H(P) шифруется с помощью секретного (или
закрытого) ключа K, образуя цифровую подпись K(H(P)). Исходный
открытый текст вместе с цифровой подписью передается в канал
связи. Легальный получатель с использованием такого же секретного (или открытого) ключа дешифрирует цифровую подпись, получая исходный дайджест, а затем заново вычисляет дайджест из принятого открытого текста. Если вычисленный дайджест совпадает
с исходным, принятым из канала связи, то принятый текст не был
подвергнут никаким изменениям в процессе передачи, что дает получателю уверенность в целостности принятых данных.
Протоколы мульти­медийных приложений 195
2.6.3. Обеспечение безопасности на сетевом уровне
Обеспечение безопасности на сетевом уровне базируется на стандарте IPsec, в котором используется симметричный алгоритм шифрования с секретными ключами. Стандарт включает в себя три протокола: протокол AH (Authentication Header), обеспечивающий
только целостность и аутентичность данных; протокол ESP (������
Encapsulating Security Payload�������������������������������������
), обеспечивающий целостность, аутентичность и шифрование данных; протокол IKE (����������������
Internet Key Exchange), обеспечивающий создание секретных ключей. IPsec может
работать в двух режимах – транспортном и туннельном.
В транспортном режиме поле протокола IP-заголовка исходного
пакета принимает значение 51, указывающее на наличие последующего заголовка протокола AH. Местоположение в стеке протоколов
и наименование полей протокола AH в транспортном режиме приведено на рис. 2.30.
Следующий заголовок (Next header) – длина – 8 бит, содержит код
протокола вышележащего уровня (6 – TCP, 17 – UDP, …).
Длина поля нагрузки (Payload length) – длина – 8 бит, содержит
количество 32-разрядных слов заголовка АН минус 2.
Данные (Data)
Данные аутентификации (Authentication Data)
Порядковый номер (Sequence number)
Указатель параметров безопасности (Security Parameters Index)
Следующий
заголовок
(Next header)
Длина поля нагрузки
(Payload length)
Резерв
(Reserved)
Опции и заполнение (Options + Padding)
Адрес назначения (Destination Address)
Адрес источника (Source Address)
Время жизни
Протокол
Контрольная сумма
(Time to Live)
(Protocol = 51)
(Header Checksum)
Флаги
Смещение фрагмента
Идентификатор (Identification)
(Flags)
(Fragment Offset)
Версия
Длина
Тип услуги
Общая длина
(Version)
(IHL)
(Type of Service)
(Total Length)
2-й уровень
1-й уровень
Рис. 2.30. Местоположение в стеке протоколов и состав заголовка AH
196 Интерфейсы и протоколы сетей следующего поколения
Указатель параметров безопасности (Security Parameters
Index, SPI) – длина – 32 бита, имеет ссылку на запись в базе данных
получателя об использовании общего ключа и алгоритме формирования цифровой подписи (MD5 или SHA-1).
Порядковый номер (Sequence number) – длина – 32 бита, содержит уникальный порядковый номер, даже если пакет посылается
повторно. При достижении значения 232 соединение закрывается
и устанавливается заново.
Данные аутентификации (Authentication Data) – поле переменной длины, содержит цифровую подпись (зашифрованный дайджест), вычисленной с охватом всех полей исходного пакета за исключением поля Время жизни, которое изменяется при продвижении пакета по сети.
В туннельном режиме весь исходный пакет помещается (инкапсулируется) в другой внешний пакет с другим заголовком. Такое
решение часто используется в виртуальных частных сетях (Virtual
Private Network, VPN). Аутентифицируется весь пакет за исключением поля Время жизни внешнего пакета. В туннельном режиме
местоположение протокола AH в пакете меняется, как показано на
рис. 2.31.
В некоторых случаях, например, в виртуальных частных сетях,
требуется не только аутентификация, но и шифрование всего
пакета, начиная от заголовка передаваемого пакета, из которого
можно почерпнуть сведения о внутренней структуре сети, ее под­
сетях, полномочиях отдельных абонентов, активности деятельности предприятия, ее партнерах и т. д. Для этого используется протокол ESP, имеющий схожие с протоколом АН поля, но код поля
протокола открытого IP-заголовка, указывающего на наличие
последующего заголовка протокола ESP, принимает значение 50,
а вычисленный дайджест (Данные аутентификации) помещается
не в заголовок, а в конец пакета. Местоположение в пакете про­
токола ESP при транспортном и туннельном режимах показано
на рис. 2.32. Поля, подлежащие шифрованию, выделены серым
цветом.
Заголовок внешнего
IP-пакета
Протокол АН
Заголовок исходного
IP-пакета
Протоколы
вышележащего
уровня
Рис. 2.31. Местоположение протокола АН в туннельном режиме
Протоколы мульти­медийных приложений 197
а Заголовок IP-пакета
Протокол
ESP
Заголовок внешнего
IP-пакета
Протокол
ESP
б
Протоколы вышележащеДанные
го уровня
аутентификации
Заголовок
Протоколы
Данные
исходного
вышележааутентификации
IP-пакета
щего уровня
Рис. 2.32. Местоположение протокола ESP:
а – в транспортном решение; б – туннельном режиме
Существо туннелирования по протоколу ESP поясняет рис. 2.33.
Зашифрованные поля помечены черным цветом.
Стандарт IPsec использует симметричный алгоритм шифрования с секретными ключами, поэтому еще до начала обмена информацией обе стороны должны удостовериться в легитимности сторон.
Это осуществляется следующим образом.
Сначала на обеих сторонах администраторы сети вручную создают идентичные базы данных, в которой каждому указателю параметров безопасности (Security Parameters Index, SPI) соответствует
значение секретного ключа K и способ формирования дайджеста
(MD5 или SHA-1). Процесс аутентификации и выбор параметров защищенного канала (безопасной ассоциации) показан на рис. 2.34.
В первом сообщении маршрутизатор 1 передает значение случайного числа R1 (например, временную отметку) и указатель парамет­
ров безопасности SPI. Маршрутизатор 2 по указателю параметров
безопасности в своей базе данных находит значение секретного ключа K и способ формирования дайджеста (Н). Затем он вычисляет
Филиал 1
NAS VPN1
Интернет
А
В
Центральный
офис
NAS VPN2
D
С
Data
Data
Source=IPA
Destination=IPD
Source=IPA
Destination=IPD
Source=IPB
Destination=IPC
Рис. 2.33. Туннелирование пакетов
198 Интерфейсы и протоколы сетей следующего поколения
2
1
дайджест из значений R1 и K,
формирует цифровую подпись
R1, SPI
K(H(R1, K)) и вместе со своим
R2, K(H(R1, K))
случайным числом R2 возвраK(H(R2, K))
щает их во втором сообщении
маршрутизатору 1. Маршрутизатор 1, используя тот же ключ Рис. 2.34. Процесс обмена
и способ формирования дайдже- параметрами защищенного канала
ста, заново вычисляет цифровую
подпись K(H(R1, K)) и сравнивает ее с принятой из канала связи. Их
совпадение дает уверенность маршрутизатору 1 в легитимности
маршрутизатора 2. Теперь маршрутизатор 1 должен доказать свою
легитимность маршрутизатору 2, что он и делает с помощью третьего сообщения.
Изложенный метод используют сетевые администраторы для организации защищенной связи между смежными маршрутизаторами, а также для организации виртуальных частных сетей. Однако
он неудобен пользователям, которым в большинстве случаев неизвестен секретный ключ вызывающего абонента. Поэтому пользователи применяют другие методы, которые мы рассмотрим ниже.
2.6.4. Обеспечение безопасности
на представительном и прикладном уровнях
Аутентификация на представительном уровне обеспечивается путем обмена сертификатами при установлении соединения. Сертификат устанавливает соответствие принадлежности открытого
ключа физическому или юридическому лицу. Организация, занимающаяся сертификацией открытых ключей, называется управлением сертификации (Certificate Authority, CA) и имеет иерархическую организационную структуру. Центральное управление сертификации сертифицирует региональные отделы, а региональные –
местные отделения сертификации. Предполагается, что открытые
ключи сертифицирующих органов для чтения сертификатов общедоступны и известны.
Способ описания сертификатов описан в Рекомендации ITU-T
Х.509 [16]. Процедура получения сертификата начинается с того,
что пользователь генерирует заранее открытый и закрытый ключи,
а затем со своими паспортными данными и открытым ключом приПротоколы мульти­медийных приложений 199
Таблица 2.15
Содержание сертификата
Поле
Значение
Version
serial Number
Signature
Issuer
Validity
Subject
subjectPublicKeyInfo
issuerUniqueIdentifier
subjectUniqueIdentifier
Текущая версия – 3
Серийный номер сертификата
Способ формирования дайджеста (MD5, SHA-1)
Имя управления сертификации
Начало и конец срока действия
Сущность владельца ключа
Значение открытого ключа
Идентификатор, соответствующий issuer
Идентификатор, соответствующий subject
Расширения, в том числе доменные имена,
IP-адреса, значения открытых ключей владельца сертификата и сертифицирующего органа
Extensions
ходит в региональный отдел управления сертификации, которой
выдает ему сертификат, подписанный своим закрытым ключом.
Сертификат содержит следующие поля (табл. 2.15).
Секретность передаваемой информации обеспечивается симмет­
ричным алгоритмом шифрования, который обеспечивает высокую
скорость шифрования. Значение общего ключа вычисляется каждой из сторон при каждом сеансе связи. Процесс установления защищенного соединения с использованием протокола TLS (Transport
Layer Security) показан на рис. 2.35.
В первом сообщении пользователь 1 передает значение случайного числа R1 (nonce) и свой сертификат Sert1, содержащий открытый
ключ E1. То же самое во втором сообщении проделывает пользователь 2. Эти параметры передаются по сети в открытом виде. После
получения второго сообщения пользователь 1 выбирает новое случайное число R (предварительный ключ), зашифровывает его открытым ключом E2, извлечен1
2
ным из сертификата пользователя 2, и отправляет в сообщении
Sert1, R1
3. Злоумышленник не в состоянии прочесть содержимое, так
Sert2, R2
как он не является владельцем
E2(R)
закрытого ключа D2 пользоватеРис. 2.35. Процесс обмена параметрами ля 2. Значения R1, R2, R теперь
известны на обеих сторонах и исзащищенного соединения
200 Интерфейсы и протоколы сетей следующего поколения
Открытый
текст Р
и серти
фикат
Вычисление
дайджеста
Н(Р)
Цифровая
подпись
D1(Н(Р))
Кодирование
Base64
Объединение
S
Канал
связи
Рис. 2.36. Формирование цифровой подписи
пользуются для генерации общего секретного ключа для данного
сеанса связи.
Защита на прикладном уровне средствами протокола S/MIME
(Secure/MIME) предполагает наличие у пользователя базы данных,
в которой хранятся таблицы соответствия доменного имени абонента значению открытого ключа, извлеченного из легитимного сертификата управления сертификации.
Если у пользователя 1 имеется связка ключей {D1, E2}, а у пользователя 2 – {D2, E1}, где Ex – значение открытого ключа, а Dx – закрытого, то возможны следующие схемы шифрования/дешифро­
вания сообщения P: E1(P)  D1(P); D1(P)  E1(P); E2(P)  D2(P);
D2(P)  E2(P). Невозможны схемы E1(P)  E1(P); D1(P)  D1(P), ...
Схема формирования пользователем 1 цифровой подписи под открытым сообщением Р показана на рис. 2.36. Здесь по исходному
открытому тексту вычисляется дайджест H(P), который шифруется закрытым ключом пользователя D1, а затем кодируется в код
base64. Таким образом, в канал связи передается открытый текст P,
заверенный цифровой подписью пользователя 1, и сертификат.
При получении сообщений, сформированного в соответствии
с рис. 2.36, хост пользователя 2 по имени отправителя сообщения
в своей базе данных находит открытый ключ пользователя 1 и, осуществляя обратные преобразования, проверяет подлинность открытого текста.
На рис. 2.37 приведена схема аутентификации и шифрования
всего тела сообщения. По исходному тексту вычисляется дайджест
H(P), который шифруется закрытым ключом пользователя D1. ЗаОткрытый
текст Р
и серти
фикат
Вычисление
дайджеста
Н(Р)
Цифровая
подпись
D1(Н(Р))
Объеди
нение S
Шифро
вание
E2(S)
Кодиро
вание
Base64
Канал
связи
Рис. 2.37. Шифрование всего тела сообщения
Протоколы мульти­медийных приложений 201
тем открытый текст, сертификат и цифровая подпись пользователя
1 шифруются открытым ключом пользователя 2.
При получении сообщения, сформированного в соответствии
с рис. 2.37, хост пользователя 2 по имени отправителя сообщения
в своей базе данных находит открытый ключ пользователя 1 и, осуществляя обратные преобразования, получает исходный текст.
Может случиться так, что записи, соответствующей имени пользователя 1, в базе данных пользователя 2 может не оказаться. Тогда
приложение должно уведомить пользователя и ждать от него инструкций. При получении согласия на прием приложение вносит
данные (имя пользователя и его открытый ключ), извлеченные из
принятого сертификата, в базу данных и обрабатывает сообщение
обычным образом.
Вопросы к п. 2.6
1.Перечислите меры по обеспечению безопасности сети.
Ответ: аутентификация – установление личности пользователя. Авторизация – доступ легальных (аутентифицированных) пользователей
к определенным ресурсам сети. Шифрование – преобразование исход­
ной информации в «нечитаемый» для посторонних лиц вид.
2. Какой протокол используется для аутентификации в публичной сети?
Ответ: CHAP.
3. Какой параметр используется для авторизации?
Ответ: идентификатор (имя) пользователя.
4. Какой из методов шифрования является наиболее быстродейст­
вующим?
Ответ: симметричный алгоритм шифрования с секретными клю­
чами.
5. Какой метод шифрования требует наибольшего количества секретных
ключей?
Ответ: симметричный алгоритм шифрования с секретными клю­
чами.
6. Какой метод шифрования текста используется при одностороннем алгоритме шифрования?
Ответ: текст не шифруется, шифруется дайджест текста, который называется цифровой подписью.
7.Назовите стандартные алгоритмы формирования дайджеста.
Ответ: алгоритм MD5 с длиной дайджеста 16 байт, алгоритм SHA-1
с длиной дайджеста 20 байт.
8.В каком методе обеспечивается бόльшее сокрытие информации: транспортном или туннельном?
Ответ: в туннельном.
202 Интерфейсы и протоколы сетей следующего поколения
2.7.Сеть на основе протокола SIP
2.7.1. Общие сведения
Протокол инициирования сеанса связи (Session Initiation Protocol,
SIP) [69] является протоколом прикладного уровня поверх TCP
или UDP (обычно UDP) и служит основой для построения сети
мультимедийных соединений. Адресация в сети SIP происходит
на основе универсального идентификатора ресурсов – Uniform
�����������
Resource Identifier (SIP URI), который определяет символический
адрес местонахождения коммутируемого сетевого элемента. Форма SIPS URI указывает на необходимость применения шифрования идентификатора на представительном уровне (Transport-layer
security, TLS). Для описания параметров соединений (сессий) SIPсервер использует текстовый (в коде ASCII) протокол описания сеансов связи (Session Description Protocol, SDP), а в качестве системы адресации – форматы адресов, используемые в протоколах
HTTP и DNS.
Составными частями сети являются:
– оконечные устройства (Terminals). Они обеспечивают двухстороннее соединение мультимедийной информации, представляют
собой персональный компьютер или отдельное устройство, оснащенное мультимедийным приложением агента пользователя (User
Agent, UA) SIP-протокола. Приложение UA состоит из клиентской
части (User Agent Client, UAC) и серверной части (User Agent Server,
UAS). Клиентская часть генерирует запросы, а серверная – формирует ответы на запросы;
– сервер SIP-сети (SIP Server) – является промежуточным сетевым элементом при взаимодействии различных агентов пользователей UA. Существуют три модификации сервера:
• сервер-посредник абонента (Proxy Server) – осуществляет поиск маршрута в сети от имени абонента. Имеет серверную часть
(UAS) для приема запросов от абонента и клиентскую часть (UAC)
для ретрансляции запроса следующему SIP-серверу;
• сервер переадресации (Redirect Server) – является сетевым
элементом, принимая запрос от UA и возвращая ему список возможного местонахождения (SIP URI) следующего сетевого элемента. Имеет только серверную часть (UAS);
• сервер регистрации (Registrar Server) – хранит адреса постоянной регистрации (Address-of-Record, AOR) абонентов своего домеПротоколы мульти­медийных приложений 203
на. Адрес постоянной регистрации содержит контактные адреса
текущего (временного) местонахождения мобильного абонента.
Обычно реализуется совместно с сервером-посредником или с сервером переадресации в виде единого устройства;
– мультимедийный шлюз (Media Gateway, MG) – обеспечивает
сопряжение SIP-сети с другими типами сетей, например, с сетью
коммутации каналов (Switched Circuit Network, SCN) и с другими
шлюзами. Производит преобразование протоколов разнородных сетей для установления и разрушения соединений, конвертирование
мультимедийной информации пользователя в вид, пригодный для
транспортировки по соответствующей сети.
Взаимодействие сетевых элементов происходит посредством обмена сообщениями, которые могут быть либо запросами, либо ответами. Предусматриваются следующие виды запроса (Method):
REGISTER – для регистрации текущего местоположения абонента в сети;
INVITE, ACK, CANCEL – для установления (отказа от установления) соединения;
BYE – для разрушения установленного соединения;
OPTIONS – для запроса возможностей удаленного узла.
Ответы на запросы представляют собой 3-значный код, первая
цифра определяет класс ответа, последующие поясняют содержание. Предусмотрено шесть классов:
1хх – предварительный ответ (запрос принят и обрабаты­
вается);
2хх – успешное завершение (запрос принят и обработан);
3хх – перенаправление вызова (запрос перенаправлен на другой
сервер);
4хх – ошибка клиента (содержится ошибка в одном из полей запроса);
5хх – ошибка сервера (данный сервер не в состоянии обработать
запрос);
6хх – глобальная ошибка (ни один из серверов не в состоянии обработать запрос).
Любое неопознанное содержание ответа UAC должен трактовать
как х00 и обрабатывать соответствующим образом. Например, неопознанный ответ 211 должен трактоваться как 200 – успешное завершение.
Обязательными к распознаванию являются ответы 100 (trying,
«ждите») и 183 (session progress, «запрос обрабатывается»).
204 Интерфейсы и протоколы сетей следующего поколения
2.7.2. Регистрация абонентов
Входящее соединение к SIP-абоненту всегда устанавливается по известному адресу постоянной прописки (Address-of-Record, AOR)
и проходит через домашний сервер-посредник (или сервер переадресации). При поступлении вызова домашний сервер-посредник (или
сервер переадресации) обращается в домашний сервер регистрации
для определения адреса текущего местонахождения пользователя –
контактного адреса и, получив его, устанавливает соединение на контактный адрес. Таким образом, сервер регистрации хранит таблицу
соответствия адреса регистрации (�������������������������������
Address-of-Record, AOR���������
) пользователя в домене одному или нескольким адресам текущего местонахождения мобильного ресурса (контактные IP-адреса абонента).
Существует несколько способов составления таблиц соответствия. Например, они могут быть внесены администратором сети.
Однако обычно используется механизм регистрации от пользователя. Для этого UA пользователя посылает запрос REGISTER серверу
регистрации, который из запроса переписывает контактную информацию (Contact:).
Адрес сервера регистрации в UA вносится администратором
сети, но в случае отсутствия такой записи UA в своем домене может
определить адрес самостоятельно рассылкой запроса на регистрацию по групповому адресу 224.0.1.75. Приложение регистрации использует предопределенный порт с номером 5060 на обеих сторонах.
Запрос на регистрацию содержит следующие поля:
Via: – фиксирует путь прохождения запроса. Каждый проходной
элемент добавляет в это поле транспортный протокол (UDP), свой
SIP URI и параметр branch. Последний идентифицирует уникальный номер транзакции UA (задания для исполнения на удаленной
стороне), на который ожидается ответ. Номер транзакции всегда
должен начинаться со значения «z9hG4bK» и используется сервером для обнаружения «зацикливания» пакета в сети. Сервер регистрации копирует принятый IP-адрес источника и возвращает его
параметром received в ответном сообщении;
Max-Forwards: – определяет максимальное число проходных сетевых элементов. Начальное значение «70» каждый проходной
уменьшает на единицу. При достижении значения «0» исходящему
UA возвращается код ошибки 483;
To: – адрес регистрации (Address-of-Record, AOR), имеет вид SIP
URI или SIPS URI;
Протоколы мульти­медийных приложений 205
From: – совпадает с полем To:, дополненное ярлыком (tag). Ярлык используется как часть идентификатора диалога (соединения)
между передающей и принимающей сторонами;
Call-ID: – уникальный идентификатор вызова, имеющий одно
и то же случайное значение для всех последующих регистраций
и установленных соединений. Рекомендуется использование формы
«localid@host»;
СSec: – идентификатор порядкового номера регистрации для
одного и того же идентификатора вызова Call-ID. Содержит последовательный номер и тип запроса (method). В начале диалога принимает случайное значение, увеличиваемое на единицу в каждом последующем запросе;
Contact: – содержит один или более контактных адресов. В последнем случае каждый адрес снабжается индивидуальным полем
expires с соответствующим временем действия контактного адреса.
Наиболее приоритетный адрес помечается более высоким параметром «q» – вероятностью нахождения пользователя по данному контактному адресу;
Expires: – время (в секундах), по истечении которого регистрация недействительна для всех контактных адресок без индивидуального поля «expires». Минимальное значение – 3 600 с (1 час). Для
продления регистрации следует повторить процедуру, при отказе от
регистрации следует установить значение «0»;
Content-Length: – определяет длину сообщения, следующего за
заголовком.
Для предотвращения несанкционированной регистрации, при
которой входящее соединение могло бы устанавливаться на нелегального пользователя, применяется хорошо зарекомендовавшая
себя схема аутентификации с цифровой подписью.
Пример регистрации пользоregistrarbiloxi.com
pcbob
вателя с именем Bob приведен на
рис. 2.38. Здесь сервер регистраSIP
ции на сообщение REGISTER
REGISTER
возвращает сообщение 401 (���
UnUnauthorized
authorized�������������������
) со случайным числом (nonce), а пользователь во
REGISTER
втором сообщении REGISTER
200 OK
высылает заверенный цифровой
подписью дайджест и получает
сообщение 200 OK.
Рис. 2.38. Процесс успешной регистрации
206 Интерфейсы и протоколы сетей следующего поколения
Содержание полей запроса (REGISTER) и ответа об успешной регистрации (200 OK) приведено ниже. Здесь пользователь Bob сообщает домашнему серверу регистрации (доменное имя registrar.
biloxi.com, порт 5060) адрес своего текущего местоположения (контактный IP-адрес=192.0.2.4, порт 5060).
REGISTER sip:registrar.biloxi.com SIP/2.0
Via: SIP/2.0/UDP pcbob.biloxi.com:5060;branch=z9hG4bKnashds7
Max-Forwards: 70
To: Bob <sip:bob@biloxi.com>
From: Bob <sip:bob@biloxi.com>;tag=456248
Call-ID: a84b4c76e66777@biloxi.com
CSeq: 1826 REGISTER
Contact: <sip:bob@192.0.2.4:5060>
Expires: 7200
Content-Length: 0
SIP/2.0 401 Unauthorized
Via: SIP/2.0/UDP pcbob.biloxi.com:5060;branch=z9hG4bKnashds7;received=192.0.2.4
To: Bob <sip:bob@biloxi.com>;tag=2493k59kd
From: Bob <sip:bob@biloxi.com>;tag=456248
Call-ID: a84b4c76e66777@biloxi.com
CSeq: 1826 REGISTER
Contact: <sip:bob@192.0.2.4:5060>
Expires: 7200
WWW-Authenticate: Digest
realm=»biloxi.com»,
qop=»auth,auth-int»,
nonce=»dcd98b7102dd2f0e8b11d0f600bfb0c093»,
opaque=»5ccc069c403ebaf9f0171e9517f40e41»
Content-Length: 0
Поле realm рекомендовано представлять уникальной строкой,
содержащей доменное имя. Поле qop сохранено для совместимости
с ранними версиями SIP-сервера, в новых версиях это поле отсутствует. Поле nonce содержит случайное число, назначение которого
аналогично назначению случайного числа (см. п. 1.4). Поле opaque –
условное имя пользователя, которое используется для идентификации ответа.
REGISTER sip:registrar.biloxi.com SIP/2.0
Via: SIP/2.0/UDP pcbob.biloxi.com:5060;branch=z9hG4bKnashds2
Max-Forwards: 7
To: Bob <sip:bob@biloxi.com>
From: Bob <sip:bob@biloxi.com>;tag=456248
Call-ID: a84b4c76e66777@biloxi.com
CSeq: 1827 REGISTER
Contact: <sip:bob@192.0.2.4:5060>
Expires: 7200
Authorization: Digest username=»bob»,
realm=»biloxi.com»,
nonce=»dcd98b7102dd2f0e8b11d0f600bfb0c093»,
uri=»sip:bob@biloxi.com»,
qop=auth,
nc=00000001,
Протоколы мульти­медийных приложений 207
cnonce=»0a4f113b»,
response=»6629fae49393a05397450978507c4ef1»,
opaque=»5ccc069c403ebaf9f0171e9517f40e41»
Content-Length: 0
Все поля запроса аутентификации (realm, nonce, opaque) повторяются в ответе. Поле response содержит дайджест, правило формирования которого приведено в п. 1.4. Поля qop, nc и cnonce используются для совместимости со старыми версиями, в новых версиях
эти поля отсутствуют.
SIP/2.0 200 OK
Via: SIP/2.0/UDP pcbob.biloxi.com:5060;branch=z9hG4bKnashds2;received=192.0.2.4
To: Bob <sip:bob@biloxi.com>;tag=2493k59kd
From: Bob <sip:bob@biloxi.com>;tag=456248
Call-ID: a84b4c76e66777@biloxi.com
CSeq: 1827 REGISTER
Contact: <sip:bob@192.0.2.4:5060>
Expires: 7200
Content-Length: 0
2.7.3. Установление соединения
Для надежного обмена в [69] предусмотрено подтверждение каждого запроса, но подтверждение доставки предварительных ответов не предусмотрено. Это негативно сказывается на сценариях
длительного установления соединения, например, с абонентом,
расположенным в телефонной сети общего пользования. Указанный недостаток устранен в [70], где для надежной доставки предварительных ответов предложено подтверждающее «из конца в конец» сообщение Provisional Response ACKnowledgement – PRACK.
Инициирующая сторона указывает на возможности надежной доставки в поле Supported:100rel, а требование на надежную доставку – в поле Required:100rel. Если приемная сторона не поддерживает опции предварительных подтверждений, то она должна ответить сообщением 420.
Приемная сторона может запросить подтверждение приема предварительного ответа в запросе INVITE, за исключением подтверждения предварительного ответа 100 (TRYING), которое передается
по звеньям. Причина введения предварительных подтверждений
состоит в том, что обработка сообщения и получения на него подтверждения иногда занимает значительное время.
На рис. 2.39 приведен сценарий установления соединения между
двумя узлами.
208 Интерфейсы и протоколы сетей следующего поколения
SIP
SIP
+123456789
IP=192.0.2.1
server5.alabama.com
IP=192.0.2.2
Port Port
5010 5060
server10.biloxi.com
IP=192.0.2.3
Port
5060
pcbob
IP=192.0.2.4
Port
5060
Port Port
5060 5010
INVITE (F1)
TRYING (F2)
INVITE (F3)
TRYING (F4)
INVITE (F5)
RINGING (F8)
RINGING (F7)
RINGING (F6)
. . .
PRACK (F9)
PRACK (F10)
PRACK (F11)
200 OK (F14)
200 OK (F13)
200 OK (F12)
200 OK (F17)
200 OK (F16)
200 OK (F15)
200 OK (0.5 *N)
. . .
ACK (F18)
ACK (F19)
ACK (20)
RTP, RTCP
BYE (F23)
BYE (F22)
BYE (F21)
OK (F24)
OK (F25)
OK (F26)
Рис. 2.39. Временная диаграмма установления SIP-соединения
Протоколы мульти­медийных приложений 209
Первый узел представляет собой SIP-телефон с номером
123456789 (IP-адрес = 192.0.2.1), зарегистрированный в домене
alabama.com. Второй узел представляет собой SIP-приложение на
персональном компьютере с именем пользователя (адресом регистрации) bob@biloxi.com с контактным IP-адресом = 192.0.2.4, зарегистрированным в домене (сервере регистрации) biloxi.com. Со­
единение устанавливается с телефона с номером 123456789.
Рассмотрим содержимое сообщений.
F1 INVITE +123456789  server5.alabama.com proxy
INVITE sip:bob@biloxi.com SIP/2.0
Via: SIP/2.0/UDP 192.0.2.1:5060;branch=z9hG4bKnashds8
Max-Forwards: 70
To: Bob <sip:bob@biloxi.com>
From: +123456789 <sip:+123456789@alabama.com;user=phone>;tag=1928301774
Call-ID: a84b4c76e66710@alabama.com
Supported:100rel
CSeq: 359 INVITE
Contact: <sip:+123456789@192.0.2.1:5060>
Content-Type: application/sdp
Content-Length: 156
V=0 o=MXSIP 0 4482 IN IP4 192.0.2.1 s=SIP Call c=192.0.2.1 m=audio 5010 RTP/AVP 4 0 8 a=rtmap:4 G723/8000 a=rtmap:0 PCMU/8000 a=rtmap:8 PCMA/8000 /версия SDP;
/тип оконечного устройства;
/вид вызова;
/IP-адрес;
/вид связи, порт, условные номера кодеков;
/параметры первого кодека;
/ параметры второго кодека;
/ параметры третьего кодека.
INVITE – первое сообщение, посылаемое оконечным устройством
на адрес сервера-посредника домена alabama.com, которое будет
устанавливать соединение. Клиентская часть UAC формирует:
– номер транзакции (branch=z9hG4bKnashds8), на который
ожидается ответ;
– ярлык (tag=1928301774), являющийся первой частью идентификатора диалога, идентифицирует номер участника диалога (при
конференцсвязи участников может быть более двух);
– идентификатор вызова (Call-ID: a84b4c76e66710@alabama.com),
являющийся третьей частью идентификатора диалога;
– порядковый номер запроса (CSec:359 INVITE);
– параметры описания сеанса связи (SDP).
Вторую часть идентификатора диалога должна прислать входящая сторона в поле To:.
F2 100 Trying server5.alabama.com.com proxy  +123456789
SIP/2.0 100 Trying
210 Интерфейсы и протоколы сетей следующего поколения
Via: SIP/2.0/UDP 192.0.2.1:5060;branch=z9hG4bKnashds8;received=192.0.2.1
To: Bob <sip:bob@biloxi.com>
From: +123456789 <sip:+123456789@alabama.com;user=phone>;tag=1928301774
Call-ID: a84b4c76e66710@alabama.com
CSeq: 359 INVITE
Content-Length: 0
Сервер-посредник server5.alabama.com получил запрос, на который сразу ответить не может, так как не располагает информацией
об IP-адресе вызываемого узла bob@biloxi.com. Поэтому он высылает ответ 100 («Ждите»).
F3 INVITE server5.alabama.com.com proxy  server10.biloxi.com proxy
INVITE sip:bob@biloxi.com SIP/2.0
Via: SIP/2.0/UDP server5.alabama.com;branch=z9hG4bK77ef4c2312983.1
Via: SIP/2.0/UDP 192.0.2.1:5060;branch=z9hG4bKnashds8;received=192.0.2.1
Max-Forwards: 69
To: Bob <sip:bob@biloxi.com>
From: +123456789 <sip:+123456789@alabama.com;user=phone>;tag=1928301774
Record-Route: <sip:server5.alabama.com;lr>
Call-ID: a84b4c76e66710@alabama.com
Supported:100rel
CSeq: 359 INVITE
Contact: <sip:+123456789@ 192.0.2.1:5060>
Content-Type: application/sdp
Content-Length: 156
Содержимое SDP то же, что в сообщении F1
Сервер-посредник server5.alabama.com по имени bob@biloxi.com
через DNS находит IP-адрес сервера-посредника в домене
biloxi.com и делает к нему запрос с новым номером транзакции
branch=z9hG4bK77ef4c2312983.1. Поле Record-Route: <sip:server5.
alabama.com;lr> в заголовке пакета является опциональным. Оно
предусматривает прохождение всех сигнальных сообщений сессии
внутрь домена только через сервер server5.alabama.com. Решение
о подстановке поля Record-Route принимается администратором
домена, например, для тарификации установленных соединений,
проходящих через домен, при использовании межоператорских
взаимо­расчетов. Параметр lr указывает, что заголовок маршрутизации соответствует RFC 3261, но не RFC 2543.
F4 100 Trying server10.biloxi.com proxy  alabama.com proxy
SIP/2.0 100 Trying
Via: SIP/2.0/UDP server5.alabama.com;branch=z9hG4bK77ef4c2312983.1;
received=192.0.2.2
Via: SIP/2.0/UDP 192.0.2.1:5060;branch=z9hG4bKnashds8;received=192.0.2.1
To: Bob <sip:bob@biloxi.com>
From: +123456789 <sip:+123456789@alabama.com;user=phone>;tag=1928301774
Call-ID: a84b4c76e66710@alabama.com
Протоколы мульти­медийных приложений 211
CSeq: 359 INVITE
Content-Length: 0
F5 INVITE server10.biloxi.com proxy  Bob
INVITE sip:bob@192.0.2.4 SIP/2.0
Via: SIP/2.0/UDP server10.biloxi.com;branch=z9hG4bK4b43c2ff8.1
Via: SIP/2.0/UDP server5.alabama.com;branch=z9hG4bK77ef4c2312983.1;
received=192.0.2.2
Via: SIP/2.0/UDP 192.0.2.1:5060;branch=z9hG4bKnashds8;received=192.0.2.1
Max-Forwards: 68
To: Bob <sip:bob@biloxi.com>
From: +123456789 <sip:+123456789@alabama.com;user=phone>;tag=1928301774
Record-Route: <sip: server10.biloxi.com;lr>
Record-Route: <sip: server5.alabama.com;lr>
Call-ID: a84b4c76e66710@alabama.com
Supported:100rel
CSeq: 359 INVITE
Contact: <sip:+123456789@192.0.2.1:5060>
Content-Type: application/sdp
Content-Length: 156
Содержимое SDP то же, что в сообщении F1
Сервер-посредник server10.biloxi.com, обращаясь к серверу регистрации пользователя bob@biloxi.com (на рис. 2.39 не показано), получает контактный адрес и создает на него свой запрос узлу Bob
с новым номером транзакции branch=z9hG4bK4b43c2ff8.1. Поле
Record-Route: <sip: server10.biloxi.com;lr> предусматривает прохождение всех сообщений сессии из домена только через сервер
server10.biloxi.com.
F6 180 Ringing Bob  server10.biloxi.com proxy
SIP/2.0 180 Ringing
Via: SIP/2.0/UDP server10.biloxi.com;branch=z9hG4bK4b43c2ff8.1;received=192.0.2.3
Via: SIP/2.0/UDP server5.server5.alabama.com;branch=z9hG4bK77ef4c2312983.1;
received=192.0.2.2
Via: SIP/2.0/UDP 192.0.2.1:5060;branch=z9hG4bKnashds8;received=192.0.2.1
To: Bob <sip:bob@biloxi.com>;tag=a6c85cf
From: +123456789 <sip:+123456789@alabama.com;user=phone>;tag=1928301774
Call-ID: a84b4c76e66710@alabama.com
Required:100rel
CSeq: 359 INVITE
RSec:125
Contact: <sip:bob@192.0.2.4:5060>
Content-Length: 0
Запрос на соединение получен узлом Bob. Абоненту Bob начинает поступать вызывной сигнал, генерируемый оконечным устройством. Узел формирует локальный ярлык tag=a6c85cf, который совместно с дистанционным ярлыком tag=1928301774 и идентификатором вызова Call-ID: a84b4c76e66710@alabama.com образуют идентификатор будущего диалога (сессии). Ответ 180 («Вызов») узел вы­212 Интерфейсы и протоколы сетей следующего поколения
сылает серверу server10.biloxi.com. Поле Required:100rel указывает
на необходимость подтверждения получения ответа 180 («Вызов»).
F7 180 Ringing server10.biloxi.com proxy  alabama.com proxy
SIP/2.0 180 Ringing
Via: SIP/2.0/UDP server5.alabama.com;branch=z9hG4bK77ef4c2312983.1;
received=192.0.2.2
Via: SIP/2.0/UDP 192.0.2.1:5060;branch=z9hG4bKnashds8;received=192.0.2.1
To: Bob <sip:bob@biloxi.com>;tag=a6c85cf
From: +123456789 <sip:+123456789@alabama.com;user=phone>;tag=1928301774
Call-ID: a84b4c76e66710@alabama.com
Required:100rel
CSeq: 359 INVITE
RSec:125
Contact: <sip:bob@192.0.2.4:5060>
Content-Length: 0
Поскольку ответ на транзакцию (задание) branch=z9hG4bK4b43
c2ff8.1 получен, то сервер server10.biloxi.com изымает его из заголовка. Ответ 180 («Вызов») переправляется серверу server5.alabama.com.
F8 180 Ringing server5.alabama.com.com proxy  +123456789
SIP/2.0 180 Ringing
Via: SIP/2.0/UDP 192.0.2.1:5060;branch=z9hG4bKnashds8;received=192.0.2.1
To: Bob <sip:bob@biloxi.com>;tag=a6c85cf
From: +123456789 <sip:+123456789@alabama.com;user=phone>;tag=1928301774
Call-ID: a84b4c76e66710@alabama.com
Required:100rel
CSeq: 359 INVITE
RSec:125
Contact: <sip:bob@192.0.2.4:5060>
Content-Length: 0
Поскольку ответ на транзакцию (задание) branch=z9hG4bK77e
f4c2312983.1 получен, то сервер server5.alabama.com изымает его из
заголовка. Ответ 180 («Вызов») переправляется исходящему узлу
с требованием подтвердить получение ответа.
F9 PRACK +123456789  server5.alabama.com proxy
PRACK sip:bob@biloxi.com SIP/2.0
Via: SIP/2.0/UDP 192.0.2.1:5060;branch=z9hG4bKnashds8
To: Bob <sip:bob@biloxi.com>;tag=a6c85cf
From: +123456789 <sip:+123456789@alabama.com;user=phone>;tag=1928301774
Call-ID: a84b4c76e66710@alabama.com
CSeq: 360 PRACK
RAck: 125 359 INVITE
Content-Length: 0
В ответе 180 Ringing в поле Required:100rel имеется указание на
подтверждение ответа. Поэтому исходящий хост посылает подтверждение получения ответа 180 Ringing.
Протоколы мульти­медийных приложений 213
F10 PRACK server5.alabama.com.com proxy  server10.biloxi.com proxy
PRACK sip:bob@biloxi.com SIP/2.0
Via: SIP/2.0/UDP server5.alabama.com;branch=z9hG4bK77ef4c2312983.1
Via: SIP/2.0/UDP 192.0.2.1:5060;branch=z9hG4bKnashds8;received=192.0.2.1
To: Bob <sip:bob@biloxi.com>;tag=a6c85cf
From: +123456789 <sip:+123456789@alabama.com;user=phone>;tag=1928301774
Record-Route: <sip: server5.alabama.com;lr>
Call-ID: a84b4c76e66710@alabama.com
CSeq: 360 PRACK
RAck: 125 359 INVITE
Content-Length: 0
F11 PRACK server10.biloxi.com proxy  Bob
PRACK sip:bob@biloxi.com SIP/2.0
Via: SIP/2.0/UDP server10.biloxi.com;branch=z9hG4bK4b43c2ff8.1
Via: SIP/2.0/UDP server5.alabama.com;branch=z9hG4bK77ef4c2312983.1;
received=192.0.2.2
Via: SIP/2.0/UDP 192.0.2.1:5060;branch=z9hG4bKnashds8;received=192.0.2.1
To: Bob <sip:bob@biloxi.com>;tag=a6c85cf
From: +123456789 <sip:+123456789@alabama.com;user=phone>;tag=1928301774
Record-Route: <sip: server10.biloxi.com;lr>
Record-Route: <sip: server5.alabama.com;lr>
Call-ID: a84b4c76e66710@alabama.com
CSeq: 360 PRACK
RAck: 125 359 INVITE
Content-Length: 0
Если бы предварительный ответ PRACK не был получен, то узел
Bob через интервалы 0,5, 1, 2, … 16 с повторял бы отправку ответа
180 Ringing.
F12 200 OK Bob  server10.biloxi.com proxy
SIP/2.0 200 OK
Via: SIP/2.0/UDP server10.biloxi.com;branch=z9hG4bK4b43c2ff8.1;received=192.0.2.3
Via: SIP/2.0/UDP server5.alabama.com;branch=z9hG4bK77ef4c2312983.1;
received=192.0.2.2
Via: SIP/2.0/UDP 192.0.2.1:5060;branch=z9hG4bKnashds8;received=192.0.2.1
To: Bob <sip:bob@biloxi.com>;tag=a6c85cf
From: +123456789 <sip:+123456789@alabama.com;user=phone>;tag=1928301774
Record-Route: <sip: server10.biloxi.com;lr>
Record-Route: <sip: server5.alabama.com;lr>
Call-ID: a84b4c76e66710@alabama.com
CSeq: 360 PRACK
Content-Length: 0
F13 200 OK server10.biloxi.com proxy  server5.alabama.com proxy
SIP/2.0 200 OK
Via: SIP/2.0/UDP server5.alabama.com;branch=z9hG4bK77ef4c2312983.1;
received=192.0.2.2
Via: SIP/2.0/UDP 192.0.2.1:5060;branch=z9hG4bKnashds8;received=192.0.2.1
To: Bob <sip:bob@biloxi.com>;tag=a6c85cf
From: +123456789 <sip:+123456789@alabama.com;user=phone>;tag=1928301774
Record-Route: <sip: server10.biloxi.com;lr>
Record-Route: <sip: server5.alabama.com;lr>
Call-ID: a84b4c76e66710@alabama.com
214 Интерфейсы и протоколы сетей следующего поколения
CSeq: 360 PRACK
Content-Length: 0
F14 200 OK server5.alabama.com.com proxy  +123456789
SIP/2.0 200 OK
Via: SIP/2.0/UDP 192.0.2.1:5060;branch=z9hG4bKnashds8;received=192.0.2.1
To: Bob <sip:bob@biloxi.com>;tag=a6c85cf
From: +123456789 <sip:+123456789@alabama.com;user=phone>;tag=1928301774
Record-Route: <sip: server10.biloxi.com;lr>
Record-Route: <sip: server5.alabama.com;lr>
Call-ID: a84b4c76e66710@alabama.com
CSeq: 360 PRACK
Content-Length: 0
F15 200 OK Bob  server10.biloxi.com proxy
SIP/2.0 200 OK
Via: SIP/2.0/UDP server10.biloxi.com;branch=z9hG4bK4b43c2ff8.1;received=192.0.2.3
Via: SIP/2.0/UDP server5.alabama.com;branch=z9hG4bK77ef4c2312983.1;
received=192.0.2.2
Via: SIP/2.0/UDP 192.0.2.1:5060;branch=z9hG4bKnashds8;received=192.0.2.1
To: Bob <sip:bob@biloxi.com>;tag=a6c85cf
From: +123456789 <sip:+123456789@alabama.com;user=phone>;tag=1928301774
Record-Route: <sip: server10.biloxi.com;lr>
Record-Route: <sip: server5.alabama.com;lr>
Call-ID: a84b4c76e66710@alabama.com
CSeq: 359 INVITE
Contact: <sip:bob@192.0.2.4:5060>
Content-Type: application/sdp
Content-Length: 128
V=0
o=PC mw234 IN IP4 192.0.2.4
s=SIP Call
c=192.0.2.4
m=audio 5010 RTP/AVP 4 8 a=rtmap:4 G723/8000
a=rtmap:8 PCMA/8000
Абонент Bob ответил. Локальный ярлык tag=1928301774 совместно с дистанционным ярлыком tag=a6c85cf и идентификатором вызова Call-ID: a84b4c76e66710@alabama.com образуют идентификатор
устанавливаемого диалога (сессии). В соответствии с протоколом,
входящий узел должен подтвердить установление сессии ответом
OK. Он возвращает поля Record-Route и контактный адрес (Contact:
<sip:bob@192.0.2.4:5060>). В своих параметрах описания сеанса связи (SDP) типы кодеков перечисляются в порядке их предпочтения.
F16 200 OK server10.biloxi.com proxy  server5.alabama.com proxy
SIP/2.0 200 OK
Via: SIP/2.0/UDP server5.alabama.com;branch=z9hG4bK77ef4c2312983.1;
received=192.0.2.2
Via: SIP/2.0/UDP 192.0.2.1:5060;branch=z9hG4bKnashds8;received=192.0.2.1
To: Bob <sip:bob@biloxi.com>;tag=a6c85cf
From: +123456789 <sip:+123456789@alabama.com;user=phone>;tag=1928301774
Протоколы мульти­медийных приложений 215
Record-Route: <sip: server10.biloxi.com;lr>
Record-Route: <sip: server5.alabama.com;lr>
Call-ID: a84b4c76e66710@alabama.com
CSeq: 359 INVITE
Contact: <sip:bob@192.0.2.4:5060>
Content-Type: application/sdp
Content-Length: 128
Содержимое SDP то же, что в сообщении F15
F17 200 OK server5.alabama.com.com proxy  +123456789
SIP/2.0 200 OK
Via: SIP/2.0/UDP 192.0.2.1:5060;branch=z9hG4bKnashds8;received=192.0.2.1
To: Bob <sip:bob@biloxi.com>;tag=a6c85cf
From: +123456789 <sip:+123456789@alabama.com;user=phone>;tag=1928301774
Record-Route: <sip: server10.biloxi.com;lr>
Record-Route: <sip: server5.alabama.com;lr>
Call-ID: a84b4c76e66710@alabama.com
CSeq: 359 INVITE
Contact: <sip:bob@192.0.2.4:5060>
Content-Type: application/sdp
Content-Length: 128
Содержимое SDP то же, что в сообщении F15
F18 ACK +123456789  server5.alabama.com proxy
ACK sip:bob@192.0.2.4 SIP/2.0
Via: SIP/2.0/UDP 192.0.2.1:5060;branch=z9hG4bKnashds9
Max-Forwards: 70
To: Bob <sip:bob@biloxi.com>;tag=a6c85cf
From: +123456789 <sip:+123456789@alabama.com;user=phone>;tag=1928301774
Record-Route: <sip: server5.alabama.com;lr>
Record-Route: <sip: server10.biloxi.com;lr>
Call-ID: a84b4c76e66710@alabama.com
CSeq: 359 ACK
Content-Length: 0
В соответствии с протоколом, исходящий узел должен подтвердить установление сессии запросом ACK, на который не требуется
подтверждения. К этому моменту исходящему узлу уже известен
контактный адрес входящего узла Contact: sip:bob@192.0.2.4:5060,
и он мог бы выслать запрос ACK непосредственно входящему узлу.
Однако принятое в ответе OK поле Record-Route предписывает высылать запросы через сервер server5.alabama.com. Узел формирует
новый номер транзакции branch=z9hG4bKnashds9 и вместе с описанием маршрута следования (Record-Route) высылает запрос серверу
server5.alabama.com. Локальный ярлык tag=1928301774 совместно
с дистанционным ярлыком tag=a6c85cf и идентификатором вызова
Call-ID: a84b4c76e66710@alabama.com образуют идентификатор
диалога (сессии).
F19 ACK server5.alabama.com.com proxy  server10.biloxi.com proxy
ACK sip:bob@192.0.2.4 SIP/2.0
216 Интерфейсы и протоколы сетей следующего поколения
Via: SIP/2.0/UDP server5.alabama.com;branch=z9hG4bK77ef4c2312983.2
Via: SIP/2.0/UDP 192.0.2.1:5060;branch=z9hG4bKnashds9;received=192.0.2.1
Max-Forwards: 69
To: Bob <sip:bob@biloxi.com>;tag=a6c85cf
From: +123456789 <sip:+123456789@alabama.com;user=phone>;tag=1928301774
Record-Route: <sip: server10.biloxi.com;lr>
Call-ID: a84b4c76e66710@alabama.com
CSeq: 359 ACK
Content-Length: 0
Сервер server5.alabama.com изымает из поля описания маршрута следования (Record-Route) собственный адрес и формирует новый номер транзакции branch=z9hG4bK77ef4c2312983.2, на который не ожидается ответ.
F20 ACK server10.biloxi.com proxy  Bob
ACK sip:bob@192.0.2.4 SIP/2.0
Via: SIP/2.0/UDP server10.biloxi.com;branch=z9hG4bK4b43c2ff8.2
Via: SIP/2.0/UDP server5.alabama.com;branch=z9hG4bK77ef4c2312983.2;
received=192.0.2.2
Via: SIP/2.0/UDP 192.0.2.1:5060;branch=z9hG4bKnashds9;received=192.0.2.1
Max-Forwards: 68
To: Bob <sip:bob@biloxi.com>;tag=a6c85cf
From: +123456789 <sip:+123456789@alabama.com;user=phone>;tag=1928301774
Call-ID: a84b4c76e66710@alabama.com
CSeq: 359 ACK
Content-Length: 0
С получением этого сообщения диалог считается установленным.
Если бы запрос ACK не был получен, то узел Bob через интервалы
0,5, 1, 2, … 16 с повторял бы отправку ответа OK. Узлы начинают
обмен информацией по протоколу RTP/RTCP с использованием общего типа кодека G.723, стоящего первым в обоих списках SDP.
F21 Bye Bob  server10.biloxi.com proxy
BYE sip:+123456789@192.0.2.1:5060 SIP/2.0
Via: SIP/2.0/UDP 192.0.2.4;branch=z9hG4bKnashds10
Max-Forwards: 70
From: Bob <sip:bob@biloxi.com>;tag=a6c85cf
To: +123456789 <sip:+123456789@alabama.com>;tag=1928301774
Route: <sip: server10.biloxi.com;lr>
Route: <sip: server5.alabama.com;lr>
Call-ID: a84b4c76e66710@alabama.com
CSeq: 231 BYE
Content-Length: 0
Пользователь Bob инициирует разъединение.
F22 Bye server10.biloxi.com proxy  server5.alabama.com proxy
BYE sip:+123456789@192.0.2.1:5060 SIP/2.0
Via: SIP/2.0/UDP server10.biloxi.com;branch=z9hG4bK4b43c2ff8.3
Via: SIP/2.0/UDP 192.0.2.4;branch=z9hG4bKnashds10;received=192.0.2.4
Max-Forwards: 69
Протоколы мульти­медийных приложений 217
From: Bob <sip:bob@biloxi.com>;tag=a6c85cf
To: +123456789 <sip:+123456789@alabama.com>;tag=1928301774
Route: <sip: server5.alabama.com;lr>
Call-ID: a84b4c76e66710@alabama.com
CSeq: 231 BYE
Content-Length: 0
F23 Bye server5.alabama.com.com proxy  +123456789
BYE sip:+123456789@192.0.2.1:5060 SIP/2.0
Via: SIP/2.0/UDP server5.alabama.com;branch=z9hG4bK77ef4c2312983.3
Via: SIP/2.0/UDP server10.biloxi.com;branch=z9hG4bK4b43c2ff8.3;
received=192.0.2.3
Via: SIP/2.0/UDP 192.0.2.4;branch=z9hG4bKnashds10;received=192.0.2.4
Max-Forwards: 68
From: Bob <sip:bob@biloxi.com>;tag=a6c85cf
To: +123456789 <sip:+123456789@alabama.com>;tag=1928301774
Call-ID: a84b4c76e66710@alabama.com
CSeq: 231 BYE
Content-Length: 0
F24 200 OK +123456789  server5.alabama.com proxy
SIP/2.0 200 OK
Via: SIP/2.0/UDP server5.alabama.com;branch=z9hG4bK77ef4c2312983.3;
received=192.0.2.2
Via: SIP/2.0/UDP server10.biloxi.com;branch=z9hG4bK4b43c2ff8.3;received=192.0.2.3
Via: SIP/2.0/UDP 192.0.2.4;branch=z9hG4bKnashds10;received=192.0.2.4
From: Bob <sip:bob@biloxi.com>;tag=a6c85cf
To: +123456789 <sip:+123456789@alabama.com>;tag=1928301774
Call-ID: a84b4c76e66710@alabama.com
CSeq: 231 BYE
Content-Length: 0
F25 200 OK server5.alabama.com proxy  server10.biloxi.com proxy
SIP/2.0 200 OK
Via: SIP/2.0/UDP server10.biloxi.com;branch=z9hG4bK4b43c2ff8.3;received=192.0.2.3
Via: SIP/2.0/UDP 192.0.2.4;branch=z9hG4bKnashds10;received=192.0.2.4
From: Bob <sip:bob@biloxi.com>;tag=a6c85cf
To: +123456789 <sip:+123456789@alabama.com>;tag=1928301774
Call-ID: a84b4c76e66710@alabama.com
CSeq: 231 BYE
Content-Length: 0
F26 200 OK server10.biloxi.com proxy  Bob
SIP/2.0 200 OK
Via: SIP/2.0/UDP 192.0.2.4;branch=z9hG4bKnashds10;received=192.0.2.4
From: Bob <sip:bob@biloxi.com>;tag=a6c85cf
To: +123456789 <sip:+123456789@alabama.com>;tag=1928301774
Call-ID: a84b4c76e66710@alabama.com
CSeq: 231 BYE
Content-Length: 0
Обычно адресация вызовов в сети SIP происходит на основе универсального идентификатора ресурсов – Uniform Resource Identifier
(SIP URI) вида bob@biloxi.com, что позволяет определить текущее
218 Интерфейсы и протоколы сетей следующего поколения
местоположение абонента через DNS. Для определения SIP URI оконечного устройства, имеющего телефонный номер в формате Рекомендации Е.164, используется процедура ENUM [65]. Для этого
в системе доменных имен имеется специальный домен «e164.arpa»
[72] со специальными записями – Naming Authority Pointer, NAPT.
Домен имеет записи соответствия только для телефонных номеров в
формате Рекомендации Е.164. Например, для определения SIP URI
по телефонному номеру +123456789 SIP-сервер осуществляет DNSзапрос (NAPTR RR query: 9.8.7.6.5.4.3.2.1.e164.arpa), на который
получает ответ (например, bob@biloxi.com).
2.7.4. Дополнительные виды обслуживания
Многие услуги IP-телефонии, такие как многосторонние вызовы,
подача индивидуального акустического тона при поступлении вызова, могут и должны располагаться в оконечных устройствах.
С другой стороны, услуги, связанные с местоположением абонентов, логично располагать в сетевых устройствах (серверах). Традиционно сетевые услуги создавались провайдерами сети. Абоненты
не имели права или имели ограниченное право изменять содержание услуг. Однако глобальность Интернет и ее открытые протоколы дают возможность абонентам самим создавать и менять услуги.
В [64] описывается архитектура сети, в которой сетевые устройства
обрабатывают вызовы в соответствии со сценарием, составленным
абонентом на простом, легко читаемом языке – языке обработки
вызовов (Call Processing Language, CPL).
Дополнительные виды обслуживания предполагается реализовывать на основе скриптов. Скрипт представляет собой базу данных в виде листа соответствия «исходные данные – действие». Если
принятый запрос соответствует каким-либо исходным данным,
то предпринимается соответствующее действие. Если в результате действия получен результат, который подходит под новые ис­
ходные данные, то предпринимается рекурсивная (аналогичная)
процедура. Например, когда запрос приходит в CPL-сервер, то он
просматривает скрипты источника и получателя. Если в качестве
исходных данных используется IP-адрес, то реализуется соответствующее действие, в результате которого может быть получен новый IP-адрес. Если для этого нового адреса в базе данных имеется условие, то процедура повторяется. Один и тот же скрипт моПротоколы мульти­медийных приложений 219
жет быть использован для одного, нескольких или даже для всех
адресов.
Скрипты располагаются в одном из серверов, через которые проходит соединение, обычно на исходящем и/или входящем. Точный
метод для транспортировки скрипта в сервер не определен, но в любом случае для его размещения на сервере требуется авторизация.
Если скрипт загружен в сервер, то при регистрации абонента на сервере в поле Contact: помещается IP-адрес сервера, где и хранится
скрипт. Пользователи также должны иметь возможность модифицировать существующий скрипт. Сервер должен быть способен обнаруживать ошибки и неточности скрипта. В [73] предлагаются типовые шаблоны скриптов для реализации наиболее известных
услуг.
При обработке скриптом исходных данных в приоритетном порядке учитываются адрес назначения, адрес отправителя, предпочтения отправителя, информации отправителя (содержание, организация), описание типа связи (полоса, вид связи). Результатом обработки могут быть отклонение вызова, его перенаправление, обслуживание.
Некоторые скрипты при взаимодействии друг с другом могут
быть несовместимы. Противоречия можно свести к трем типам:
«услуга с услугой в одном сервере», «скрипт со скриптом в одном
сервере», «сервер с сервером».
Примером противоречия «услуга с услугой на одном сервере» является попытка одновременного конфигурирования услуги «извещение о поступлении нового вызова» (Call Waiting) и «переадресация при занятости» (Call Forwarding on Busy). Такие противоречия
легко обнаруживаются при наличии хорошего редактора скриптов
у пользователя и тестера скриптов на сервере. Примером противоречия «скрипт со скриптом в одном сервере» является ситуация,
когда результатом исполнения скрипта является второй адрес, имеющийся в базе данных. При обработке скрипта второго адреса получается исходный первый адрес, т. е. образовалась петля. Примером противоречия «сервер с сервером» является ситуация, когда у
абонента имеется услуга «черный список», а у другого – «переадресация». Абонент «черного списка» переадресовывается другим абонентом, который не занесен в «черный список».
Большинство существующих языков программирования скриптов имеют два существенных недостатка. Во-первых, трудно предсказуемое время исполнения, большой объем памяти и время транс220 Интерфейсы и протоколы сетей следующего поколения
ляции (исполнения). Во-вторых, трудность модернизации существующего скрипта и неопределенность ответственности сторон
(пользователь или оператор сети) за содержание скрипта.
При выборе языка написания скриптов должно приниматься во
внимание следующее:
1) эффективность, легкость применения, быстрая компиляция;
2) легкость проверки синтаксиса, обнаружение наличия петель;
3) малое потребление ресурсов – время процессора, объем памяти;
4) легкость чтения программы машиной и человеком;
5) независимость от нижележащих протоколов.
В соответствии с этими требованиями, предполагается использовать специальный расширяемый язык разметки – Extensible Markup
Language, XML.
Вопросы к п. 2.7
1.Назовите состав сетевых элементов SIP-сети.
Ответ: оконечные устройства пользователя; различные серверы SIPсети для установления соединения; мультимедийные шлюзы для сопряжения с сетями связи, имеющими другие технологии передачи
и коммутации.
2.Перечислите основные преимущества протокола SIP по сравнению
с протоколом Н.323.
Ответ: меньшее число сообщений для установления соединений; использование более простого языка описания сеанса связи SDP в коде
ASCII вместо сложного языка ASN1 в шестнадцатеричном кодиро­
вании.
3. Перечислите типы SIP-серверов и их основные функции.
Ответ: сервер регистрации (Registrar Server) хранит адреса постоянной регистрации (Address-of-Record, AOR) и контактные адреса текущего (временного) местонахождения мобильного абонента. Серверпосредник (Proxy Server) является промежуточным сетевым элементом
при взаимодействии различных агентов пользователей и устанавливает
соединение от имени пользователя. Сервер переадресации (Redirect
Server) является сетевым элементом, принимая запрос на соединение
от предыдущего сетевого элемента и возвращая ему список возможного
местонахождения следующего сетевого элемента.
4. Какая информация содержится в поле Contact протокола SIP?
Ответ: контактные адреса возможного нахождения абонента. Каждый
контактный адрес имеет свой приоритет и срок действия.
5. Как организована адресация вызовов в сети SIP?
Ответ: на основе универсального идентификатора ресурсов – Uniform
Resource Identifier (SIP URI).
Протоколы мульти­медийных приложений 221
6.Поясните назначение идентификатора вызова, номера транзакции
и ярлыка.
Ответ: идентификатор вызова (Call-ID) – уникальный номер соединения. Номер транзакции (branch) – номер текущего задания удаленной
стороне для установления соединения. Ярлык (tag) – идентификатор
пользователя, принадлежащего данному соединению (при конференц­
связи ярлыков может быть более двух).
7.Приведите определение скрипта.
Ответ: скрипт – это программа для пакетной обработки последовательности операций («сценария»). В отличие от обычных программ,
скрипты не используют машинный код (не компилируются), а используют интерпретационный язык.
2.8.Протокол управления передачей потока
Для надежной доставки сообщений в IP-сетях используется TCP,
который имеет следующие особенности, ограничивающие его применение для некоторых приложений:
1) использование строгой последовательности доставки, что приводит к задержке последующих сообщений, если предыдущее было
потеряно. Некоторые приложения не требуют строгой последовательности доставки. Это слишком серьезное ограничение для приложений, которые допускают как последовательную (частичное
упорядочивание), так и непоследовательную доставку потоков;
2) потоковая ориентация передаваемых сообщений часто неудобна приложениям, которые сами могут расставлять приоритеты
доставки сообщений;
3) TCP имеет ограниченные возможности по множественной
(multi homing) рассылке. Основанный на механизме TCP-сокетов
API-интерфейс не поддерживает множественную адресацию. С конкретным TCP-соединением с другим хостом приложение может связать только один IP-адрес. Если интерфейс, назначенный этому IPадресу, отключается, TCP-соединение прерывается и его необходимо устанавливать заново;
4) ТСР чувствителен к перегрузкам сети;
5) TCP-хосты восприимчивы к атакам типа «отказ в обслуживании» (DoS – denial of service).
При нормальном соединении (рис. 2.40, а) хост-отправитель сразу же производит резервирование ресурсов (памяти) для будущего
222 Интерфейсы и протоколы сетей следующего поколения
a
б
TCP (SYN)
TCP (SYN)
Резервирование
ресурсов
Резервирование
ресурсов 1
Timeout
TCP (SYN ACK)
TCP (SYN)
Резервирование
ресурсов
TCP (SYN ACK)
TCP (SYN)
Резервирование
ресурсов 2
TCP (SYN ACK)
Timeout
TCP (SYN)
TCP (SYN)
Резервирование
ресурсов 3
TCP (SYN ACK)
TCP (ACK)
Timeout
TCP (SYN ACK)
TCP (SYN ACK)
. . .
TCP (ACK)
Рис. 2.40. Сценарии установления ТСР-соединений:
а – нормальное соединение со сбоями; б – отказ в обслуживании
соединения, а хост-получатель резервирует ресурсы после приема
сообщения TCP SYN.
В отличие от нормального соединения, для DoS-атак характерно
огромное количество пакетов TCP SYN, поступающих от одного
и того же хоста, но с разными «чужими» IP-адресами источника
в течение короткого времени до истечения таймаута. Хост-полу­
чатель на каждый запрос резервирует память и отвечает сообщениями SYN ACK (рис. 2.40, б), на которые не получает сообщения
ACK, необходимые для завершения трехэтапной процедуры установки TCP-соединения. Ресурсы хоста, подвергнувшегося атаке, в течение некоторого времени (тайм-аута) не успевают освободиться и оказываются исчерпанными. Поэтому он оказывается не готов к обслуживанию легитимных запросов на установку TCP-соединения.
Передача телефонной сигнализации через IP-сеть является примером такого приложения, где указанные ограничения становятся
существенны. Отличительные функции протокола управления передачей потока (Stream Control Transfer Protocol, SCTP) состоят
в следующем.
1. Упорядоченная доставка фрагментов внутри потока. SCTP может обслуживать параллельно несколько потоков данных, в кажПротоколы мульти­медийных приложений 223
дом потоке осуществляется упорядоченная доставка фрагментов.
Это ускоряет доставку неповрежденных пакетов.
2. Фрагментация данных в соответствии с требуемым значением MTU. Механизм фрагментации аналогичен TCP.
3. Надежная доставка обеспечивается присвоением порядкового
номера (Transmission Sequence Number, TSN) каждому фрагменту.
Механизм защиты от перегрузки аналогичен TCP.
4. Возможность доставки в одном сообщении нескольких вложений (Chunk) – данных и управления.
5. Контроль достоверности обеспечивается вычислением контрольной суммы.
6. Возможность обмена сообщениями по нескольким интерфейсам. Соединение TCP определяется как (IP_A+Port_A – IP_B+Port_B),
где IP_A и Port_A – это параметры одного конца соединения, а IP_B
и Port_B – другого. Ассоциация SCTP определяется как (набор IPадресов + Port_A) на одном хосте и (набор IP-адресов + Port_B) на
другом. При неработоспособности одного из интерфейсов (маршрутов) возможен обмен сообщениями по другому интерфейсу, который
может использовать другой маршрут. Контроль работоспособности
незагруженных интерфейсов обеспечивается их периодической
проверкой (сообщения HEARTBEAT и HEARTBEAT ACK).
7. Защита от DoS-атак. В отличие от трехэтапной процедуры
установки TCP-соединения, SCTP предлагает четырехэтапную процедуру (рис. 2.41).
CLOSED
CLOSED
Резервирование
ресурсов
INIT
Timeout
COOKIE WAIT
INIT ACK (State Cookie)
COOKIE ECHO (State Cookie)
Timeout
COOKIE ECHOED
ESTABLISHED
COOKIE ACK
DATA
DATA & SACK
. . .
Рис. 2.41. Сценарий установления SCTP-соединения
224 Интерфейсы и протоколы сетей следующего поколения
Резервирование
ресурсов
ESTABLISHED
В исходном состоянии CLOSED инициирующая сторона высылает сообщение INIT. Принимающая сторона, используя принятую
информацию (IP-адреса источника и получателя, порта и т. д.), с помощью своего секретного ключа формирует дайджест (State Cookie)
и отсылает его в сообщении INIT ACK обратно инициирующей стороне. Никакие ресурсы не задействуются. Инициирующая сторона
немедленно без изменений содержания возвращает принятое сообщение в виде COOKIE ECHO. Из этого сообщения (IP-адреса источника и получателя, порта и т. д.) приемная сторона повторно вы­
числяет дайджест и сравнивает его с принятым в сообщении State
Cookie. При совпадении дайджестов приемная сторона резервирует
ресурсы, высылает согласие на соединение (COOKIE ACK) и начинает обмен данными (DATA) и подтверждать их прием (SACK).
Если инициирующая сторона подставит «чужой» адрес в сообщении INIT, то приемная сторона не получит сообщение COOKIE ECHO.
Если инициирующая сторона подставит «чужой» адрес в сообщении COOKIE ECHO, то приемная сторона это обнаружит по несовпадению дайджеста. В любом случае соединение не состоится и ресурсы не задействуются.
Местоположение и наименование полей протокола управления
передачей потока (Stream Control Transfer Protocol, SCTP) [66] изображено на рис. 2.42. SCTP имеет номер протокола 132. Порядок
передачи бит кадра: слева направо/снизу вверх.
Номер порта источника (Source Port Number) – определяет номер порта приложения, от которого поступил пакет, длина – 16 бит.
Номер порта назначения (Destination Port Number) – определяет номер порта приложения, к которому следует доставить пакет,
длина – 16 бит.
Проверочный ярлык (Verification Tag) – определяет ассоциацию,
к которой принадлежит пакет. Случайное число, длина – 32 бита.
...
Chunk 1
Checksum
Verification Tag
Source Port Number
Destination Port Number
3-й уровень (Protocol=132)
2-й уровень
1-й уровень
Рис. 2.42. Местоположение и формат SCTP
Протоколы мульти­медийных приложений 225
Chunk Type (Тип)
Chunk Flags (Флаги)
Chunk Length (Длина вложения)
Chunk Value (Значение вложения)
Рис. 2.43. Формат вложенных полей протокола SCTP
Таблица 2.16
Коды и типы сообщений SCTP
Код типа вложения
0
1
2
3
4
5
6
7
8
9
10
11
12,13
14
15–255
Наименование вложения
Полезная нагрузка (DATA)
Инициализация (INIT)
Подтверждение инициализации (INIT ACK)
Выборочное подтверждение (SACK)
Периодический запрос (HEARTBEAT)
Ответ на периодический запрос (HEARTBEAT ACK)
Отказ (ABORT)
Отключение (SHUTDOWN)
Подтверждение отключения (SHUTDOWN ACK)
Ошибка операции (ERROR)
Возврат дайджеста (COOKIE ECHO)
Подтверждение соединения (COOKIE ACK)
Резерв (Reserved)
Отключение завершено (SHUTDOWN COMPLETE)
Резерв (Reserved)
Контрольная сумма (Checksum) – используется для обнаружения ошибок при передаче пакета, длина – 32 бита.
За контрольной суммой следует один или несколько вложений
(Chunk), каждый из которых имеет структуру (рис. 2.43).
Коды типов (Chunk Type) вложений приведены в табл. 2.16.
Количество и значения флагов (Chunk Flags) зависят от типа вложения. Длина вложения определяется полем (Chunk Length), за которым следует его значение (Chunk Value).
Предполагается, что в будущем протокол управления передачей
потока (SCTP) заменит TCP и UDP.
Вопросы к п. 2.8
1.Поясните механизм действия DOS-атак.
Ответ: злоумышленник в течение короткого времени посылает на сервер большое количество запросов на соединение TCP SYN с разными
226 Интерфейсы и протоколы сетей следующего поколения
«чужими» IP-адресами источника. Сервер на каждый запрос резервирует память, отвечает сообщениями SYN ACK и запускает таймер на
ожидание подтверждения ACK, которые не приходят. На время истечения таймера ожидания подтверждения ресурсы памяти сервера оказываются исчерпанными.
2.Назовите основные преимущества протокола SCTP.
Ответ: возможность обмена сообщениями по нескольким интерфейсам. Возможность доставки в одном сообщении нескольких вложений –
данных и управления. Надежная защита от DoS-атак.
Протоколы мульти­медийных приложений 227
Глава
3
ПРАКТИЧЕСКАЯ
РЕАЛИЗАЦИЯ
NGN
3.1.Тенденции развития сетей связи
К настоящему времени в мире наблюдается
устойчивая тенденция перехода от сетей
с коммутацией каналов (Switched Circuit
Network, SCN) к сетям коммутации пакетов
(�����������������������������������������
Packet-Based Network, PBN����������������
), которые получили общее название сетей следующего поколения (Next Generation Networks, NGN).
Причины такого явления в следующем.
1. Необычайно высокие темпы роста передачи данных за счет пользователей Интернет,
хотя основной доход по-прежнему приносят
и будут приносить услуги, связанные с передачей речи. Графики темпов роста трафика
и соотношение доходов от различных услуг
приведены на рис. 3.1.
2. Рост речевого трафика через Интернет,
обусловленный меньшей стоимостью традиционных услуг по сравнению с аналогичными услугами в сети с коммутацией каналов.
3. Легкость введения и модернизации новых услуг, позволяющая строить сети интегрального обслуживания. Следует отметить,
что и существующая узкополосная цифровая
сеть интегрального обслуживания (ЦСИО,
N‑ISDN – Narrowband Integrated Services Digital Network������������������������������
) в основном удовлетворяет потребностям абсолютного большинства пользователей, однако в сети с коммутацией пакетов
потенциально те же услуги реализуются проще и дешевле.
4. Постоянное наращивание пропускной
способности, что потенциально предоставляет неограниченные возможности для введения новых услуг и повышения качества обслуживания.
Из приведенных данных видно, что подавляющую часть доходов приносят традиционные услуги по транспортировке речевого
228 Интерфейсы и протоколы сетей следующего поколения
а Рост трафика, %
100
б Соотношение доходов, %
100
50
2003
50
2005
2007
2009
Год
2003
2005
2007
2009
Год
– данные через Интернет;
– речь через Интернет;
– речь через cети с коммутацией каналов
Рис. 3.1. Графики роста трафика (а) и соотношения доходов
(б) от различных услуг
трафика. Очевидно, что в течение длительного времени операто­
рами сети будет востребовано оборудование, способное транспортировать речевой трафик через IP-сеть. Поэтому все ведущие производители коммутационного оборудования заняты поиском поэтапного перехода от существующих сетей PSTN/ISDN к сети коммутации пакетов. Эту концепцию переходного периода, опирающуюся
на определенный набор сетевых элементов, мы рассмотрим в этой
главе.
Вопросы к п. 3.1
1.
2.
Какой вид трафика растет наиболее высокими темпами?
Ответ: трафик данных.
Какой вид трафика приносит наибольшие доходы оператору сети?
Ответ: речевой трафик.
3.2.Сетевые элементы NGN
При переходе к сетям следующего поколения у различных операторов имеются различные стартовые предпосылки, а именно:
1) архитектура существующей сети, в которой имеется разнородное коммутационное оборудование, представляющее уникальное сочетание как современных станций ЦСИО (Integrated Services
Практическая реализация ngn 229
Digital Network, ISDN), так и устаревшего оборудования телефонной сети общего пользования – ТФОП (Public Switched Telephone
Network, PSTN);
2) уже имеющиеся ранее установленные сетевые элементы пакетной коммутации;
3) финансовые возможности оператора сети;
4) стратегия оператора по модернизации сети, учитывающая
предпочтения в выборе услуг обслуживаемых пользователей.
Исходя из этих предпосылок, оператор может развивать свою
сеть по-разному. Единовременный переход к полномасштабной сети
следующего поколения требует огромных капитальных затрат. Поэтому должна существовать долгосрочная стратегия поэтапной модернизации сети в условиях ограниченных финансовых возможностей на каждом из этапов. Для реализации каждого этапа требуется
свой перечень сетевых элементов. Полномасштабный перечень сетевых решений представлен на рис. 3.2 в виде соответствующих платформ, которые представляют собой логические участки сети, географически расположенные в одной и той же сети. В терминах NGN
SIP
SIP
SIP
SIP
BC
NetM SoftSwith
SCP LNP SMP
IN
GK
SIP
SG
SON
MGi
MCU
DSL DSLAM
ISDN
ISDN
MGt
MGa
IP Access
IAD
PSTN
ISDN
IP runking
Рис. 3.2. Сетевые решения NGN: GK – менеджер зоны сети H.323; SIP – сервер
регистрации, переадресации, сервер услуг SIP-сети; NetM – система сетевого
администрирования; SoftSwitch – программный коммутатор; SCP – устройство
управления услугами; LNP – сервер перемещенных номеров; SMP – узел сетевого
администрирования; DSL – модем цифровой абонентской линии;
DSLAM – мультиплексор абонентского доступа; MGi – IP-шлюз; MCU – система
голосовых оповещений и конференций; MGa – шлюз доступа; IAD – интегральное
устройство доступа; MGt – канальный шлюз; SG – шлюз сигнализации
230 Интерфейсы и протоколы сетей следующего поколения
для операторов предлагаются следующие типовые сетевые элементы для поэтапной модернизации:
– шлюз сигнализации (Signalling Gateway, SG) – используется
как высокоэффективное средство для:
• транспортировки сигнальной информации между отдельными
коммутационными узлами сети коммутации каналов;
• обмена сигнализацией между сетью коммутации каналов
и программным коммутатором;
• доступа к ресурсам интеллектуальной сети (����������������
Intelligent Network, IN), включающей в себя устройство управления услугами
(Switching Control Point, SCP), узел сетевого администрирования
(Service Management Point, SMP) и сервер перемещенных номеров
(Local Number Portability, LNP);
– программный коммутатор (SoftSwitch) – элемент управляющей платформы. Используется как средство межсетевого взаимодействия между мультимедийными шлюзами и серверами мультимедийных приложений. Осуществляет трансляцию сетевого телефонного номера в IP-адрес, выступает в качестве представителя
телефонной сети при взаимодействии с серверами других мультимедийных приложений;
– мультимедийный шлюз (Media Gateway, MG) – обеспечивает
согласование интерфейсов других сетей с IP-сетью. В зависимости
от источников нагрузки разделяются на:
• канальные шлюзы (MGt), имеющие в сторону цифровой сети
интегрального обслуживания интерфейсы соединительных линий;
• шлюзы доступа (MGa), имеющие в сторону сети общего пользования интерфейсы абонентских линий. Отдельные оконечные
устройства могут подключаться через интегральное устройство доступа (Integrated Access Device, IAD), которое со стороны пользователя имеет интерфейсы POTS/ISDN;
• IP-шлюзы (MGi), обеспечивающие подключение к IP-сети оконечных устройств с IP-интерфейсами. Оконечные устройства подключаются через локальную сеть или мультиплексор абонентского
доступа ((Digital Subscriber Line Access Multiplexer, DSLAM) по
цифровым абонентским линиям (DSL);
– система сетевого администрирования (Network Manager, NetM);
– устройство голосовых оповещений и конференций (����������
Media Conference Unit, MCU);
• менеджер зоны сети H.323 (Gatekeeper, GK);
• сервер регистрации, переадресации, сервер услуг SIP-сети (SIP).
Практическая реализация ngn 231
Вопросы к п. 3.2
1.Назовите основные сетевые элементы сети следующего поколения.
Ответ: шлюз сигнализации, программный коммутатор, мультимедий­
ные шлюзы, система сетевого администрирования, менеджер зоны,
SIP-сервер.
2.Назовите основную функцию шлюза сигнализации.
Ответ: обмен сигнализацией между сетью коммутации каналов
и управляющим элементом IP-сети.
3.Назовите основную функцию программного коммутатора.
Ответ: управление мультимедийными шлюзами.
3.3.Сетевые решения NGN
В концепции NGN предлагаются следующие этапы типовых сетевых решений:
– выделенная сеть общеканальной сигнализации (Signalling
Overlay Network, SON);
– IP-транзит (IP Trunking);
– IP-доступ (IP Access);
– бизнес-соединения (Business Connection, BC).
3.3.1. Выделенная сеть общеканальной сигнализации
Общий канал сигнализации (ОКС, Common Channel Signalling –
CCS) широко используется в цифровых сетях интегрального обслуживания для транспортировки сигнальной информации, а также
для взаимодействия с интеллектуальной сетью (Intelligent Network,
IN). Обычно каждая станция ЦСИО имеет встроенные программноаппаратные средства для организации обмена сигнальной информацией по принципу «каждая с каждой» (рис. 3.3, а). Количество
пучков сигнальных каналов в сети из R станций равно R(R – 1)/2.
Для организации интеллектуальных услуг хотя бы одна из станций должна обладать функциями узла коммутации услуги (Service
Switching Point, SSP) и иметь протокол взаимодействия с интеллектуальной сетью (Intelligent Network Application Part, INAP). Такими функциями на рис. 3.3, а наделена АТС 1. Платформа интеллектуальной сети содержит (рис. 3.2):
232 Интерфейсы и протоколы сетей следующего поколения
a
АТС 1
К другим
сетям
ВСК
ISDN
PSTN
АТС 5
INAP
PSTN/ISDN
ОКС
ОКС
ISDN
АТС 2
ISDN
ОКС
ОКС
АТС 4
ISDN
ОКС
ОКС
АТС 3
б
INAP
SG
К другим
сетям
ВСК
ISDN
ОКС
ОКС
АТС 1
ОКС
PSTN
АТС 5
PSTN/ISDN
ISDN АТС 2
ISDN АТС 4
АТС 3
ISDN
Рис. 3.3. Преимущества выделенной сети общеканальной сигнализации:
а – без шлюза; б – со шлюзом
– узел управления услугами (Service Control Point, SCP). Он
принимает от SSP набранные цифры абонентом номера (например,
0-800-123) и в соответствии с логикой услуги возвращает SSP-номер
вызываемого абонента (например, 7162534);
– узел сетевого администрирования (Service Management Point,
SMP). Здесь программируется и затем загружается в SCP логика
услуги;
– сервер перемещенных номеров (Local Number Portability, LNP).
Он хранит таблицы соответствия номеров прежнего и текущего расположения абонента. Например, абонент имел номер 1111111, пере­
ехал на новое местожительство, получив новый номер 5555555.
Если в LNP имеется запись соответствия, то при наборе номера
1111111 соединение будет установлено на номер 5555555.
Практическая реализация ngn 233
Выделенная сеть общеканальной сигнализации (����������������
Signalling Overlay Network, SON) предполагает нескольку другую схему обмена
сигнальной информацией. Для этого на узловой станции, где имеется наибольшее схождение сигнальных каналов (на рис. 3.3, а это
станция АТС 1), устанавливается шлюз сигнализации (Signalling
Gateway, SG), осуществляющий режим транзитной коммутации
сигнальных каналов (���������������������������������������������
Signalling Transfer Point – STP��������������
). Такое решение имеет следующие преимущества.
1. Сокращается число сигнальных каналов. На рис. 3.3, а первоначально между станциями требуется шесть сигнальных каналов,
а при установке сигнального шлюза (рис. 3.3, б) – только три. При
бόльшем количестве станций экономия получается довольно существенной. Важно, чтобы сеть разговорных каналов должна быть
полносвязной, т. е. все станции была соединены между собой по
принципу «каждая с каждой».
2. Появляется возможность просмотра обслуживаемого трафика в части его санкционированного использования.
3. Появляется возможность учета объема обслуженного си­
гнального трафика для взаиморасчета между различными операторами связи.
Решение SON не затрагивает способ установления соединения
с устаревшими системами коммутации, не имеющими общего канала сигнализации. На рис. 3.3 такой станцией является АТС 5, взаимодействие с которой происходит по выделенным сигнальным каналам (ВСК).
АТС 2
АТС 4
ISDN
ISDN
SG
IAM
IAM
ACM
ACM
ANM
ANM
РАЗГОВОР
REL
RLC
Рис. 3.4. Сценарий установления соединения через SG
234 Интерфейсы и протоколы сетей следующего поколения
REL
RLC
Сценарий установления соединения через шлюз сигнализации
в сети коммутации каналов показан на рис. 3.4. Сигнальные сообщения общего канала сигнализации (IAM, ACM, ANM, REL, RLC)
всегда проходят через шлюз сигнализации, а разговорные соединения устанавливаются напрямую, минуя шлюз.
Устройство шлюза сигнализации, наименование и назначение
поименованных выше сообщений сигнализации подробно рассматриваются в подразделе 3.4.1.
3.3.2. Решение IP-транзит
Первый этап к переходу сети следующего поколения – реализация решения IP-транзит (IP Trunking). Это решение предполагает предварительную реализацию решения SON и предусматривает (рис. 3.5):
– установку управляющей платформы, состоящей из программного коммутатора (SoftSwitch), сервера базы данных (Data Base,
DB), системы сетевого администрирования (Network Management
SoftSwitch
DB
NetM
R2
R1
INAP
ОКС
К другим
TDMсетям
SG
ВСК
ОКС
Internet
ISDN
PSTN
АТС 1
ОКС
АТС 5
MGt
ISDN
IP Trunking
АТС 2
ISDN
MGt
АТС 3
ISDN
MCU
АТС 4
MGt
MGt
Рис. 3.5. IP-транзит (IP Trunking)
Практическая реализация ngn 235
System, NetM). Географически управляющая платформа размещается на узловой станции АТС 1;
– установку канальных шлюзов (Media Gateway, MGt) на всех
АТС, где имеются общие каналы сигнализации (на рис. 3.5 – жирные линии), связывающие АТС со шлюзом сигнализации SG. Общее
количество разговорных каналов в IP-сети (на рис. 3.5 – пунктирные линии) при этом не уменьшится за счет применения эффективных
способов кодирования с меньшей полосой передачи (до 26,1 Кбит/с
вместо 64 Кбит/с);
– установку системы голосовых оповещений и конференций
(Media Conference Unit, MCU).
Для снижения стоимости сети переходного периода целесообразно максимально использовать имеющиеся технические возможности ЦСИО. Поэтому для доставки сигнальных сообщений от ЦСИО
в программный коммутатор используется шлюз сигнализации (SG)
с ОКС, а на канальные шлюзы (MGt) возложены только функции
формирования IP-пакетов в сторону IP-сети и формирования ИКМпотока в телефонную сеть.
Таким образом, решение IP-транзит предусматривает замену
только транспортной сети (TDM на IP) между АТС, связанными общим каналом сигнализации, оставляя неизменными оконечные
устройства пользователя (Plain Old Telephone Service, POTS) и устаревшие системы коммутации (Public Switched Telephone Network,
PSTN).
Устройство голосовых оповещений MCU производит генерацию
акустических сигналов и голосовых извещений, управляется от
программного коммутатора по протоколу MGCP.
Подключение управляющей платформы напрямую в публичную
IP-сеть содержит в себе потенциальную угрозу несанкционированного доступа и массированных атак со стороны недобросовестных
пользователей публичной IP-сети. Для пресечения подобных действий на управляющей платформе создается демилитаризованная
зона (Demilitarization Zone), огороженная с двух сторон сетевыми
экранами (Fire Wall) R1 и R2. В демилитаризованной зоне располагается система сетевого администрирования NetM. Доступ к NetM
со стороны публичной сети осуществляется через сетевой экран R1,
функциями которого является фильтрация легально прописанных
IP-адресов сетевых элементов публичной сети (канальных шлюзов
MGt и системы голосовых оповещений и конференций MCU). Доступ со стороны публичной сети к программному коммутатору
236 Интерфейсы и протоколы сетей следующего поколения
и серверу базы данных проходит через демилитаризованную зону
и дополнительный сетевой экран R2. Функциями R2 является селекция легально прописанных IP-адресов (MGt, MCU и NetM).
Обмен сигналами управления и взаимодействия между программным коммутатором SoftSwitch и канальными шлюзами MGt
происходит по протоколу управления шлюзами (Media Gateway
Control Protocol, MGCP). Для передачи речевых пакетов в реальном
времени между канальными шлюзами используется транспортный протокол реального времени (Real time Transport Protocol,
RTP). Протокол управления протоколом реального времени (Real
time Control Protocol, RTCP) используется только совместно с RTP
и служит для сбора статистики о качестве прохождения пользовательской информации по протоколу RTP.
Сценарий установления соединения в решении IP-транзит уже
был подробно рассмотрен в п. 2.4.1. Кратко напомним его содержание (рис. 3.6).
Исходящая АТС по ОКС через SG доставляет SoftSwitch требования к установлению соединения в виде сообщения IAM. SoftSwitch
по A-номеру своей базе данных определяет IP-адрес исходящего
шлюза и по этому адресу дает шлюзу команду CRCX. Исходящий
шлюз возвращает SoftSwitch номер разговорного порта. SoftSwitch
ISDN
SoftSwith
MGt
IAM
MGCP(CRCX)
MGCP(OK)
MGCP(MDCX)
MGCP(OK)
ISDN
MGt
SG
IAM
MGCP(CRCX)
MGCP(OK)
ACM
ACM
ANM
ANM
РАЗГОВОР (RTP, RTCP)
REL
REL
MGCP(DLCX)
MGCP(OK)
RLC
MGCP(DLCX)
MGCP(OK)
RLC
Рис. 3.6. Сценарий установления соединения в решении IP-транзит (IP-trunking)
Практическая реализация ngn 237
по номеру B-num в своей базе данных определяет IP-адрес входящего шлюза и по этому адресу дает шлюзу команду CRCX. Входящий
шлюз возвращает SoftSwitch номер разговорного порта. SjftSwitch
в команде MDCX пересылает параметры связи входящего шлюза
исходящему шлюзу. Начинается разговор.
Разрушение соединения от АТС к SG инициирует одна из сторон
сообщением REL, в ответ на которую SoftSwitch выдает команды
обоим шлюзам «РАЗРУШИТЬ СОЕДИНЕНИЕ» (DLCX). После получения подтверждения команд от шлюзов и АТС все задействованные устройства возвращаются в исходное состояние.
3.3.3. Решение IP-доступ
Решение IP-транзит предусматривает замену (TDM на IP) только
той части транспортной сети между АТС, которая связывает их общими каналами сигнализации. Устаревшие системы коммутации
(Public Switched Telephone Network, PSTN) не имеют общего канаSoftSwitch
DB
NetM
R2
GK
R1
INAP
ОКС
К другим
TDMсетям
ОКС
Internet
POTS
H323
ISDN
IPAccess
АТС 1
MGt
ISDN
MGa
SG
IAD
ОКС
IP Trunking
АТС 2
MGt
ISDN
АТС 3 ISDN
MCU
АТС 4
MGt
MGt
Рис. 3.7. IP-доступ (IP-Access)
238 Интерфейсы и протоколы сетей следующего поколения
ла сигнализации (ОКС) и не могут воспользоваться решением IPтранзит. Для таких ситуаций имеется другое решение – IP-доступ
(IP Access), предполагающее предварительную реализацию решения IP-транзит (рис. 3.7), а также:
– полную замену устаревшего оборудования на шлюз доступа
MGa, имеющий различные абонентские интерфейсы к существующей сети коммутации каналов (абонентские a/b, V5.x, ISDN-BA,
ISDN-PRI);
– установку сервера менеджер зоны H.323-сети (Gatekeeper, GK);
– прямое подключение IP-терминалов к IP-сети через интегральное устройство доступа (Integrated Access Device, IAD), которое со
стороны пользователя имеет несколько интерфейсов, позволяющих
подключать различные абонентские устройства POTS/ISDN. НазнаMGt
SG
ISDN
IAM
MGCP(CRCX)
MGCP(OK)
H.323
SoftSwitch
GK
IAD
RAS(ARQ)
RAS(ACF)
H.225(Setup)
H.225(Setup)
RAS(ARQ)
RAS(ACF)
MGCP(MDCX)
MGCP(OK)
ACM
ANM
H.225(Call Proc)
H.225(Call Proc)
H.225(Facility)
H.225(Facility)
H.225(Alerting)
H.225(Connect)
H.225(Alerting)
H.225(Connect)
РАЗГОВОР (RTP, RTCP)
REL
RLC
MGCP(DLCX)
H.225(Release Com) H.225(Release Com)
RAS(DSR)
RAS(DSR)
RAS(DCF)
RAS(DCF)
MGCP(OK)
Рис. 3.8. Сценарий установления соединения в решении IP-транзит
и IP-доступ через интегральное устройство доступа IAD
Практическая реализация ngn 239
чение IAD аналогично назначению терминального адаптера в ЦСИО:
оно формирует стек IP-протоколов (например, H.323) для непосредственного подключения к IP-коммутатору.
Многие производители оборудования сетей коммутации каналов имеют фирменное выносное коммутационное оборудование для
подсоединения удаленных абонентов. Для сохранения преемственности аппаратных средств и программного обеспечения экономически целесообразно превратить выносное оборудование сети коммутации каналов в шлюз IP-доступа. Для этого имеющееся выносное
оборудование оснащают устройством формирования стека протоколов и фирменным протоколом взаимодействия между SoftSwitch
и шлюзом доступа MGa.
Программный коммутатор выступает в качестве представителя
телефонной сети при взаимодействии с серверами других мульти­
медийных приложений. В качестве примера взаимодействия на
рис. 3.8 приведен сценарий установления соединения между абонентом телефонной сети и H.323-абонентом в режиме «быстрый старт».
3.3.4. Решение бизнес-соединения
На данном, третьем, этапе имеется полностью сформировавшаяся
сеть пакетной коммутации, и теперь оператор сети получает возможность подключить к сети оконечные устройства (терминалы)
с IP-интерфейсами и обеспечить им выход в глобальную сеть Интернет. В качестве сетевого протокола предлагается использовать
наиболее современный протокол сетевого взаимодействия – SIP.
Это решение имеет название «бизнес-соединения» (�������������
Business Connection, BC) и предполагает:
– установку на управляющей платформе сервера услуг SIP-сети;
– подключение SIP-терминалов через IP-шлюзы (MGi), обеспечивающие подключение к IP-сети оконечных устройств с IP-интер­
фейсами. Оконечные устройства подключаются через локальную
сеть или мультиплексор абонентского доступа ((Digital Subscriber
Line Access Multiplexer, DSLAM) по цифровым абонентским линиям (DSL).
Структура сети для подключения оконечных устройств пакетной передачи изображена на рис. 3.9.
В качестве оконечных устройств используются либо отдельные
устройства, поддерживающие протокол SIP, либо компьютерные
240 Интерфейсы и протоколы сетей следующего поколения
SoftSwitch
DB
NetM
R2
SIP
SIP
SIP
SIP
DSL
BC
R1
INAP
MGi
ОКС
К другим
TDMсетям
MGa
SG
ОКС
Internet
SIP
GK
DSLAM
POTS
H323
ISDN
IP Access
АТС 1
IAD
ОКС
MGt
ISDN
IP Trunking
АТС 2
MGt
ISDN
АТС 3 ISDN
MCU
АТС 4
MGt
MGt
Рис. 3.9. Решение «бизнес-соединения» (Business Connection, BC)
приложения с упомянутым протоколом. Местные оконечные
устройства подключаются к локальной сети непосредственно,
удаленные – через мультиплексор абонентского доступа DSLAM.
С целью экономии публичных сетевых адресов IP-шлюзы (MGi)
оснащаются функцией трансляции сетевых адресов (Network
Address Translation, NAT).
Решение BC не предусматривает использования интегрального
устройства доступа IAD как перспективного решения. Предполагается, что в будущем стоимость оконечного устройства (например,
ISDN-телефона) плюс IAD будет намного дороже приобретения SIPтелефона и, тем более, дороже компьютерного SIP-приложения.
На рис. 3.9 не показан медиасервер внешних приложений, предназначенный для генерации голосовых уведомлений на нескольких
языках, хранения электронной и голосовой почты, организации
конференций. Он управляется от сервера услуг SIP-сети по протоколу MGCP и SIP.
Программный коммутатор выступает в качестве представителя
телефонной сети при взаимодействии с серверами других мультиПрактическая реализация ngn 241
MGt
SG
SoftSwitch
SIP
SIP
ISDN
SIP
IAM
MGCP(CRCX)
MGCP(OK)
INVITE
TRYING
ACM
RINGING
PRACK
OK
ANM
MGCP(CRCX)
MGCP(OK)
OK
ACK
INVITE
RINGING
PRACK
OK
OK
ACK
РАЗГОВОР (RTP, RTCP)
BYE
BYE
REL
MGCP(DLCX)
MGCP(OK)
OK
RLC
OK
Рис. 3.10. Сценарий установления соединения в решении BC между абонентом
телефонной сети и SIP-абонентом
медийных приложений (GK, SIP). В качестве примера на рис. 3.10
приведен сценарий установления соединения между абонентом телефонной сети и SIP-абонентом.
Вопросы к п. 3.3
1.Назовите преимущества выделенной сети общеканальной сигнализации.
Ответ: уменьшение числа сигнальных каналов, универсальное средство
для обмена сигнализацией между различными сетевыми элементами.
2.Назовите основную функцию мультимедийного шлюза.
242 Интерфейсы и протоколы сетей следующего поколения
Ответ: преобразование непрерывного потока байт, поступающих от
сети с коммутацией каналов, в пакеты данных, следующих в IP-сеть.
3.Назовите управляющий сетевой элемент в Н.323-сети.
Ответ: менеджер зоны.
4.Назовите управляющий сетевой элемент в SIP-сети.
Ответ: SIP-сервер.
3.4.Описание основных устройств NGN
3.4.1. Шлюз сигнализации
Шлюз сигнализации (SG) используется для передачи сигнализации
между сетевыми элементами по общему каналу сигнализации и по
технико-экономическим причинам реализуется только на цифровых станциях интегрального обслуживания. Из-за сложности
реализации оборудование ОКС содержит 4 уровня, каждый из которых выполняет определенную задачу в соответствии с Рекомендацией ITU-T X.200 [5]. Структура подсистем и взаимодействие
уровней показаны на рис. 3.11.
Пользователи ОКС
TCAP
Уровни 4–7
ISUP
SCCP
MTP
...
Уровень 3 (L3)
Уровень 2 (L2)
SL=1
SL=2
SL=n
. . .
Уровень 1 (L1)
Пучок
сигнальных
каналов (LS) Х
Цифровые
тракты в пункт
назначения Х
Цифровой
тракт в пункт
назначения Z
Пучок
сигнальных
каналов (LS) Z
Рис. 3.11. Иерархия уровней ОКС
Практическая реализация ngn 243
Первый уровень (L1 – Level 1) осуществляет физическую передачу сигнальных сообщений по требуемой транспортной среде (металлический или волоконно-оптический кабель, радиодоступ).
Второй уровень (L2) обеспечивает их безошибочную транспортировку, анализируя целостность принятых кадров и организуя запрос повторной передачи кадра в случае его повреждения.
Третий уровень (L3), получив сообщение от второго уровня, определяет пользователя ОКС на четвертом уровне (подсистему управления соединениями сигнализации – SCCP, пользователя интегральной сети – ISUP, телефонной сети – TUP…) и направляет сообщение
ему. Получив сообщение от четвертого уровня, третий уровень маршрутизирует его в один из сигнальных каналов (SL – Signalling Link)
в пучке сигнальных каналов (LS – Link Set), который ведет в требуемый пункт назначения. Первые три уровня, обеспечивающие доставку сообщений, объединяются под общим названием подсистемы
передачи сообщений сигнализации (Message Transfer Part, MTP).
Четвертый уровень (L4 – Level 4) и выше состоят из обслуживающих программ (пользователей), которые обрабатывают смысловое
содержание сообщений ОКС.
Передача сигнальной информации производится порциями в виде
отдельных сообщений (Message). В Рекомендации ITU-T Q.703
[14] специфицированы три вида сообщений: сигнальные (Message
Signal Unit, MSU), которыми обмениваются L4; аварийные (Link
Status Signal Unit, LSSU), посредством которых L2 извещают друг
друга о сбойных ситуациях; заполняющие (Fill-in Signal Unit,
FISU), по прохождению которых во время спада нагрузки L2 конт­
ролирует целостность SL. Форматы сообщений и их поля показаны
на рис. 3.12.
Назначение полей сигнального сообщения (кадра) следующее.
Каждый передаваемый кадр должен начинаться и заканчиваться комбинацией «Флаг» (Flag, F), имеющей битовую структуру
а
б
в
Routing
SIO
Label
8
32
2
LI
6
FIB
1
FSN
7
BIB BSN F
1
7
8
CK
16
SF
8 или 16
2
LI
6
FIB
1
FSN
7
BIB
1
BSN
7
F
8
F
8
CK
16
2
LI
6
FIB
1
FSN
7
BIB
1
BSN
7
F
8
F CK User Information
8 16
8 х n, n>2
F
8
Рис. 3.12. Типы кадров: а – MSU; б – LSSU; в – FISU
244 Интерфейсы и протоколы сетей следующего поколения
вида 01111110. Одна и та же комбинация «Флаг» может быть использована как закрывающая для одного кадра и открывающая
для следующего. Комбинации «Флаг» должны выявляться приемной стороной с целью определения границ кадра. Для обеспечения
кодонезависимого переноса информации необходимо исключить
из последующих полей кадра все комбинации, совпадающие с комбинацией «Флаг». Процедура кодонезависимости при передаче производится после формирования всех полей кадра и заключается
в побитовом просмотре содержимого каждого кадра от открывающей до закрывающей комбинации «Флаг» и вставке бита «ноль» после каждых пяти смежных битов «единица». Процедура обеспечения кодонезависимости при приеме производится перед анализом
кадра и его декодированием и заключается в побитном просмотре
содержимого каждого кадра от открывающей до закрывающей комбинации «Флаг» и изъятии бита «ноль» после пяти смежных битов
«единица».
Четыре последующих поля – обратный порядковый номер (�����
Backward Sequence Number, BSN), обратный бит-индикатор (Backward
Indicator Bit, BIB), прямой порядковый номер (Forward Sequence
Number, FSN), прямой бит-индикатор (Forward Indicator Bit, FIB) –
содержат информацию о прохождении кадров. При формировании
очередного кадра передатчик подставляет его порядковый номер по
модулю 128 (FSN = … 0, 1, 2, … 127, 0, 1, 2, …) и прямой бит-индикатор
со значением FIB = 0 или FIB = 1. При отсутствии искажения кадра
приемная сторона в очередном кадре возвращает FSN в виде обратного порядкового номера BSN = FSN и обратного бита-индикатора
BIB = FIB. При обнаружении ошибки приемная сторона возвращает
FSN в виде обратного порядкового номера BSN последнего кадра,
принятого без искажений, и обратного бита-индикатора BIB противоположной полярности.
По значению длины индикатора (Length Indicator, LI) определяется тип кадра: LI > 2 соответствует MSU-кадру; LI = 1 или LI = 2 –
LSSU-кадру; LI = 0 – FISU-кадру. Последующие два бита – пустые
и используются для дополнения до байтовой структуры.
Проверочная область кадра (Check bits, CK) содержит проверочную последовательность, получаемую в результате кодирования содержимого остальных областей кадра, исключая комбинации
«Флаг», циклическим кодом. На передаче кадр формируется так,
чтобы при умножении принятой информации от открывающей до
закрывающей комбинации «Флаг» на Х16 и последующем делении
Практическая реализация ngn 245
по модулю 2 на образующий полином вида Х16 + Х12 + Х5 + 1 результат был бы равен постоянному числу 0001110100001111.
Обмен информацией на участке ISUP–MTP происходит при помощи примитивов (внутренних сообщений) MTP_TRANSFER
request и MTP_TRANSFER indication. Для передачи сообщений
применяется следующий формат сообщения (рис. 3.13).
На рис. 3.13 приняты обозначения:
SI (Service Indicator) – индикатор услуги, указывает MTP на
пользователя четвертого уровня, которому предназначено или от
которого поступило сообщение ОКС, длина – 4 бита (SI = 0000 – менеджер ОКС, SI = 0101 – подсистема обслуживания абонентов сети
с интеграцией служб (ISUP), SI = 0011 – подсистема управления соединениями сигнализации – SCCP и т. д.);
ХХ – два пустых бита;
NI (Network Indicator) – индикатор сети, указывающий, из какой
сети поступило сообщение, длина – 2 бита (код 00 – международная
сеть, код 10 – национальная сеть, код 11 – местная сеть), станция
может иметь несколько сетевых кодов (один на каждую сеть);
DPC (Destination Point Code) – уникальный сетевой код пункта
назначения, указывает адрес доставки, длина – 14 или 24 бит;
OPC (Origination Point Code) – уникальный сетевой код пункта
отправления, указывает адрес отправителя, длина – 14 или 24 бит;
SLS (Signalling Link Selection) – идентификатор маршрутной таб­
лицы, использующийся при выборе альтернативных сигнальных
пучков (LS) и каналов (SL), которые ведут в требуемый пункт назначения, имеет одинаковое значение в пределах одного звена, длина –
4 бита;
CIC (Circuit Identification Code) – идентификатор канала, указывает на номер разговорного канала в пучке, который обслуживается
звеном сигнализации, длина – 2 байта (первые 5 бит CICL указывают на один из 32-х разговорных каналов, последующие 7 бит CICH –
на номер цифрового тракта, 4 – не используются);
MT (Message Type) – тип сообщения, указывает на характер передаваемой информации, длина – 1 байт, возможные типы сообщеSIF
OP
MVP
MFP
MT
CIC
SLS
OPC
DPC
NI
Рис. 3.13. Формат сообщений обмена на участке ISUP–MTP:
SIF (Signalling Information Field) – поле пользовательской информации;
SIO (Service Information Octet) – поле служебной информации
246 Интерфейсы и протоколы сетей следующего поколения
SIO
XX
SI
ний приведены в Рекомендации ITU-T Q.763 [15], наиболее распространенные из них показаны в табл. 3.1;
MFP (Mandatory Fixed Part) – обязательная часть сообщения
фиксированной длины общей длиной 5 байт;
MVP (Mandatory Variable Part) – обязательная часть сообщения
переменной длины;
OP (Optional Part) – необязательная часть сообщения.
В некоторых случаях для продолжения обслуживания вызова обслуживающим программам (пользователям) требуется взаимо­
действие между компонентами сети без использования разго­ворных каналов. Взаимодействие может состоять в получении дополнительной информации, которая расположена в удаленной
базе данных, или в заказе исполнения некоторых действий на удаленной стороне (запуск удаленной операции). Для осуществления такого обмена пользователи (в том числе ISUP) передают свои
прикладные процессы в подсистему управления соединениями
сигнализации (Signalling Connection Control Part, SCCP), которая
описана в Рекомендациях ITU-T Q.711–Q.715. Прикладные про­
цессы идентифицируются SCCP в виде подсистем (Subsystem Num­­
ber, SSN).
Обмен информацией на участке SCCP–MTP происходит при помощи примитивов (внутренних сообщений) MTP_TRANSFER ���
request�������������������������������������������������������
и MTP_TRANSFER indication. Для передачи сообщений применяется следующий формат сообщения (рис. 3.14).
Таблица 3.1
Типы сообщений ОКС
Сообщение
IAM (Initial Address Message) – начальное
сообщение
SAM (Subsequent Address Message) – набор
номера
ACM (Address Complete Message) – абонент
найден
ANM (Answer Message) – ответ абонента
SUS (Suspend) – приостановка соединения
RES (Resume) – возобновление соединения
REL (Release) – освобождение
RLC (Release Complete) – разъединение
Направление
передачи
Шестнадцатеричный
код (&H)

01

02

06





09
0D
0E
0C
10
Практическая реализация ngn 247
Signalling Information Field, SIF
OP
MVP
MFP
MT
SLS
OPC
Service Information Octet, SIO
DPC
NI
XX
SI=0011
Рис. 3.14. Формат сообщений обмена на участке SCCP-MTP
SCCP может осуществлять взаимодействие с удаленной стороной
в двух режимах: неориентированный на соединение (дейтаграммный режим) и ориентированный на соединение (по предварительно
установленному виртуальному соединению). Большие массивы данных (свыше 256 Кбайт) сегментируются.
Режим, не ориентированный на соединение (�������������������
connectionless message transfer����������������������������������������������������
), прикладные процессы использует для запуска операции на удаленной стороне. Например, реализация услуги пользователя ISDN «Завершение соединения к занятому абоненту» (Call
Completion to Busy Subscriber, CCBS������������������������������
) протекает по следующему сценарию.
1. А-абонент вызывает Б-абонента, который оказывается занят.
Установление соединения, разъединение соединения с указанием
причины и возможности заказа услуги CCBS производит подсистема ISUP, используя MTP.
2. А-абонент заказывает услугу CCBS. Подсистема ISUP запускает через SCCP свой прикладной процесс (ISDN supplementary
services, SSN = 11) для выполнения операции на удаленной стороне – извещения при освобождении Б-абонента. Прикладной процесс
на удаленной стороне высылает свое подтверждение.
3. В-абонент становится свободным. Прикладной процесс на
удаленной стороне через SCCP выслал извещение об освобождении
Б-абонента, которое поступает в подсистему ISUP на исходящей стороне.
4. А-абонент производит повторный вызов к Б-абоненту. Подсистема ISUP производит посылку вызова А-абоненту и повторное
установление соединения.
При поступлении запроса на соединение маршрутизацию к удаленной стороне SCCP осуществляет самостоятельно на основе анализа номера вызываемого абонента, используя сочетания трех компонент: сетевого кода пункта назначения (Destination Point Code,
DPC), номера подсистемы (Subsystem Number, SSN) и глобального
заголовка (Global Title, GT). Глобальный заголовок (содержащий,
например, номер интеллектуальной услуги) не содержат в явном
виде DPC, который необходим МТР для маршрутизации сообще248 Интерфейсы и протоколы сетей следующего поколения
ния. В результате трансляции (пересчета) глобального заголовка
(Global Title Translation, GTT) SCCP нормально определяет DPC.
Другие пользователи SCCP (удаленная подсистема технического
обслуживания – OMAP, подсистема обслуживания мобильных абонентов – MAP, интеллектуальная платформа – INAP) взаимодействуют с SCCP через подсистему возможностей удаленного взаимодействия (Transaction Capabilities Application Part, TCAP) при помощи примитивов (внутренних сообщений) N_UNITDATA request
и N_UNITDATA indication. Используется режим, не ориентированный на соединение (дейтаграммный режим). TCAP позволяет организовывать диалоговый режим, обеспечивая исполнение некоторых
действий на удаленной стороне (запуск удаленной операции) в зависимости от реакции на предыдущий запрос (ответ). Организация
диалога осуществляется посредством диалоговых примитивов
TC_BEGIN, TC_CONTINUE и TC_END.
Общий канал сигнализации может функционировать в трех режимах:
1) в режиме оконечного пункта сигнализации (Signalling End
Point, SEP) поступающее сигнальное сообщение всегда имеет DPC,
совпадающее с собственным сигнальным кодом SРС, в противном
случае, сообщение уничтожается. Индикатор услуги имеет ссылку
на подсистему пользователя (например, SI = ISUP). Поэтому сообщение от 3-го уровня (MTP) всегда доставляется на 4-й уровень – подсистеме пользователя (например, ISUP). Сигнальный канал всегда
сопровождает разговорный канал, имеющий идентификатор канала, – CIC. Если принятая в сообщении адресная информация (цифры номера вызываемого абонента) не принадлежит данной станции,
то подсистема ISUP, в соответствии с картой маршрутов, по номеру
вызываемого абонента вычисляет новый DPC, новый CIC, соединяет
разговорные каналы в требуемом направлении и возвращает сообщение в MTP для дальнейшей передачи;
2) в режиме транзитного пункта сигнализации (Signalling
Transfer Point, STP��������������������������������������������
) подсистема MTP имеет карту маршрутов и самостоятельно маршрутизирует принятое сообщение на новое направление, не обращаясь к подсистеме пользователя ISUP. При отсутствии маршрута сигнальное сообщение уничтожается. Никаких
изменений в полях поступившего сигнального сообщения (в том
силе CIC, OPC, DPC) MTP не производит;
3) в режиме переприемного пункта сигнализации (Signalling
Relay Point, SRP), который используется для доставки сигнальных
Практическая реализация ngn 249
сообщений без коммутации разговорных каналов, поэтому ссылка
на CIC отсутствует. Поступившее сигнальное сообщение имеет указание на подсистему пользователя SI = 0011 – подсистему управления соединениями сигнализации (Signalling Connection Control
Part, SCCP). Дальнейший маршрут следования сообщения определяется SCCP на основании анализа адреса вызываемой стороны, которая представляется в виде различных комбинаций кода пункта
назначения DPC, подсистемы пользователя SSN и глобального заголовка (Global Title, GT). Возможны следующие сочетания DPC,
SSN и GT:
DPC + SSN (используется исходящим узлом в случае, если точно
известен конечный пункт назначения DPC и номер подсистемы
пользователя SSN);
DPC + SSN + GT (используется исходящим узлом в случае, если
известен только промежуточный пункт назначения DPC и номер
подсистемы пользователя SSN, а следующий пункт назначения должен быть вычислен промежуточным SCCP из GT);
DPC + GT (используется исходящим узлом в случае, если точно
известен конечный пункт назначения DPC, а номер подсистемы
пользователя SSN должен быть вычислен входящим SCCP из GT);
SSN + GT (используется локальным пользователем SCCP в случае, если неизвестен промежуточный пункт назначения DPC, следующий пункт назначения должен быть вычислен локальным SCCP
из GT);
GT (используется локальным пользователем SCCP в случае, если
неизвестен промежуточный пункт назначения DPC и номер подсистемы пользователя SSN, которые должны быть вычислены локальным SCCP из GT).
Глобальный заголовок не содержит в явном виде DPC, который
необходим МТР для маршрутизации сообщения. В результате
трансляции (пересчета) глобального заголовка нормально определяются DPC + SSN. Глобальный заголовок представляет собой совокупность глобальных данных адресной информации (Global Title
Address Information, GTAI) и вспомогательных элементов – схемы
кодирования (Encoding Scheme, ES), плана нумерации (Numbering
Plan, NP), вида адреса (Nature of Address Indicator, NAI), типа
трансляции (Translation Type, TT). Схема кодирования указывает
на один из двух способов кодирования GTAI – в двоичном коде
(Binary Coded Decimal, BCD) или в международном телеграфном
коде МТК 5 (International Alphabet No.5, IA5). План нумерации
250 Интерфейсы и протоколы сетей следующего поколения
указывает соответствие GTAI определенной сети связи: Е.164 – сети
телефонной связи, Е.212 – сети мобильной связи и т. д. Вид адреса
определяет абонентский (NAI = 1), национальный (NAI = 3) или
международный (NAI = 4) номер. Тип трансляции указывает порядок обработки GTAI.
3.4.2. Программный коммутатор
Структурная схема программного коммутатора (SoftSwitch) приведена на рис. 3.15. Он содержит процессор (Proc), оперативную память
(RAM), устройства ввода/вывода (I/O) для связи с внешними устройствами. Для повышения надежности все устройства, как минимум,
дублируются. Для нормального функционирования программный
коммутатор имеет внешний интерфейс общего канала сигнализации к шлюзу сигнализации (SG), интерфейс IP-прото­колов в публичную IP-сеть, интерфейс взаимодействия с базой данных (БД).
На программный коммутатор (SoftSwitch) возложены следующие задачи:
1) обслуживание канальных шлюзов:
1.1) через шлюз сигнализации (SG) принимает цифры номера,
поступающие по общему каналу сигнализации (ОКС) от станций
ЦСИО;
1.2) осуществляет их трансляцию, т. е. по номеру А вызывающего абонента через базу данных (БД) определяет IP-адрес исходящего
SoftSwitch
Proc 0
Proc 1
I/O
I/O
В SG
RAM 0
I/O
I/O
IP протоколы
RAM 1
I/O
I/O
В БД
Рис. 3.15. Структурная схема программного коммутатора
Практическая реализация ngn 251
шлюза, а по номеру Б вызываемого абонента – IP-адрес входящего
шлюза;
1.3) по протоколу MGCP сообщает вычисленные IP-адреса обоим
шлюзам: исходящему – IP-адрес входящего шлюза, входящему –
IP-адрес исходящего шлюза;
1.4) производит учет стоимости соединения и его хранение для
последующей оплаты; сбор различной статистики (SNMP);
2) обслуживание абонентских шлюзов:
2.1) принимает цифры номера, поступающие по IP-протоколу
(фирменному или Н.248 или) от абонентских шлюзов,
2.2) реализует пункты 1.2–1.4, описанные для канальных шлюзов;
3) выступает в качестве представителя абонентов канальных
и абонентских шлюзов при взаимодействии с серверами других
мультимедийных приложений:
3.1) принимает цифры номера от канальных или абонентских
шлюзов;
3.2) осуществляет трансляцию IP-протоколов шлюзов в IP-прото­
колы других приложений в любом сочетании. Например, MGCP
в SIP, SIP в H.323 и т. д.;
4) техническое обслуживание и эксплуатация:
4.1) локализация собственной неисправности;
4.2) локализация неисправностей шлюзов (SNMP);
4.3) конфигурирование базы данных по командам от рабочего
места оператора;
4.4) обмен данными с центром технического обслуживания.
Типовые характеристики программного коммутатора следующие:
производительность – до нескольких миллионов вызовов в час
при наибольшей нагрузке;
количество подключаемых соединительных линий – несколько
десятков тысяч;
количество одновременно активных VoIP-вызовов – до 90 000;
количество подключенных пользователей H.323 – до 250 000;
наработка на полный отказ – сотни лет.
3.4.3. Канальные шлюзы
Канальные шлюзы (MGt) имеют уклон в сторону цифровой сети интегрального обслуживания и интерфейсы соединительных линий.
Они осуществляют формирование IP-пакетов в сторону IP-сети
и формирование ИКМ-потока в ЦСИО.
252 Интерфейсы и протоколы сетей следующего поколения
В качестве примера на рис. 3.16 изображена структурная схема
канального шлюза hiG 1100 малой емкости, используемого компанией Siemens.
Шлюз включает в себя оборудование линейных трактов (LIU),
формирователь ИКМ-трактов (TE-32), коммутатор каналов (TSI),
пакетизаторы (DSP), коммутаторы пакетов (Ethernet Switch), формирователи стека протоколов речевых пакетов (Packet Format).
Со стороны сети коммутации каналов шлюз имеет 32 порта Е1
(всего 32 ⋅ 30 = 960 соединительных линий), а в сторону сети коммутации пакетов – 4 интерфейса Ethernet 100 bT, один из которых используется для протокола управления соединениями (MGCP), второй – для протокола администрирования и технического обслуживания (SNMP), два – для передачи полезной нагрузки (RTP, RTCP).
Один из двенадцати пакетизаторов (DSP) обслуживает 80 временных каналов одновременно (всего 80 ⋅ 12 = 960 каналов).
Конструктивно шлюз выполнен в виде металлического ящика
с габаритами (ширина/высота/глубина) 545/90/400 мм, имеющего
внешние разъемы и элементы индикации и управления. Используется естественная вентиляция.
Шлюз hiG 1100 имеет следующие характеристики (табл. 3.2).
В соответствии с Рекомендацией G.813, системы передачи на скорости VEL = 2 048 Кбит/с должны обеспечивать относительную стаT1/E1
От сети
с коммутацией
каналов
T1/E1
1
1
32
4
От сети
с коммутацией
пакетов
1
T1/E1 1
T1/E1 8
T1/E1 9
Processor
2
LIU 1
LIU 2
T1/E1 16
1
7
T1/E1
LIU 3
T1/E1 24
T1/E1 25
LIU 4
T1/E1 32
DSP 1
DSP 6
TE32
Ethernet Packet
Switch Format
3
TSI
DSP 7
DSP 12
Ethernet
Switch
Packet 4
Format
От сети с коммутацией пакетов
От сети с коммутацией каналов
MGt
Рис. 3.16. Структурная схема канального шлюза малой емкости
Практическая реализация ngn 253
Таблица 3.2
Характеристики шлюза hiG 1100
Параметр
Количество пользовательских
портов/каналов
Протоколы управления в IP-сети
Передача данных от ISDN
(64 Кбит/с)
Типы кодеков
Значение
32 Е1 = 960 каналов
MGCP, H.248
Соединение в режиме CLEARMODE
(без кодека, G.711)
G.711, G.723, G.726, G.729
Эхоподавление, подавление пауз/
Возможности передачи речи
комфортный шум
Внеполосная по MGCP (G.723,
Передача многочастотного набора
G.726, G.729);
номера (DTMF)
внутриполосная (G.711)
Возможности передачи факсимиле Переключение на G.711 (Рек. T.30)
Обеспечение надежности
Параллельная работа 2-х hiG 1100
Механизм обеспечения качества
DiffServ, максимальная емкость
обслуживания
динамического буфера – 150 мс
V.22, V.22bis, V.32, V32bis, V.34,
Модемные протоколы
V.90
бильность не хуже q = 4,6 E-6. Это означает, что в плезиохронном
режиме синхронизации шлюзов при емкости буфера шлюза на один
цикл buf = 256 бит «проскальзывание» цикла будет происходить не
buf
256
чаще, чем за tlos =
=
= 27 ñåêóíä. «ПроqVEL 4,6 ×10-6 × 2,048 ×106
скальзывание» цикла может привести к резкому перепаду уровня
принимаемого сигнала, которое абонент слышит в виде «щелчка».
Для избегания этого пропавший фрагмент речи заменяют «комфортным шумом».
В качестве примера реализации на рис. 3.17 изображена структурная схема канального шлюза hiG 1200 большой емкости, используемого компанией Siemens.
Шлюз включает в себя оборудование трактов синхронной иерархии (STM-1), высокоскоростную коммутационную шину, формирователи пакетов (IPM), контроллер шлюза (SCE), обработчик вызовов
(CPE).
Со стороны сети коммутации каналов к одному модулю DXM
подключается порт STM-1 на 63 порта E1 или 1 953 канала (всего
1 953 ⋅ 8 = 15 624 канала). Один формирователь пакетов IPM содер254 Интерфейсы и протоколы сетей следующего поколения
От сети
с коммутацией
каналов
STM1
STM1
1
1
8
14
От сети
с коммутацией
пакетов
MGt
STM1
DXM 1
DXM 8
2
3
1
IPM4
2
3
OAM
SCE
От сети с коммутацией пакетов
STM1
IPM 1
Высокоскоростная шина
От сети с коммутацией каналов
1
MGCP
CPE
Рис. 3.17. Структурная схема канального шлюза большой емкости
жит 16 пакетизаторов DSP и обслуживает до 4 032 временных каналов с кодеком G.711, 2 048 каналов с кодеком G.726, 1 920 каналов
с кодеком G.729, 1 280 каналов с кодеком G.723.
В сторону сети коммутации пакетов модуль IPM имеет 3 порта
Ethernet 100 bT для передачи полезной нагрузки (RTP, RTCP); модуль SCE имеет порт Ethernet 100 bT для протокола администри­
рования (OAM); модуль CPE имеет порт Ethernet 100 bT для про­
токола управления (MGCP). Конструктивно шлюз hiG 1200 вы­
полнен в виде металлического ящика с габаритами (ширина/
высота/глубина) 580/740/390 мм, имеющего внешние разъемы
и элементы индикации и управления. Используется принудительная вентиляция.
При установке на объекте заказчика шлюзы монтируются
в стойки с габаритными размерами (ширина/высота/глубина)
900/2 200/580 мм. В одной стойке размещается до 10 hiG 1100 или
3 hiG 1200.
Большинство параметров шлюза hiG 1200 совпадает с парамет­
рами шлюза hiG 1100, за исключением канальной емкости и мехаПрактическая реализация ngn 255
Таблица 3.3
Состав кодеков шлюза hiG 1200
Используемые
кодеки
G.711
G.711, G.726
G.711, G.726,
G.729
G.711, G.726,
G.729, G.723
Горячий резерв (n + n)
Замещение (n + m)
(4 + 4) DXM = 7 812 каналов;
(2 + 2) IPM
(4 + 4) DXM;
(3 + 3) IPM  6 144 канала
(3 + 3) DXM = 5 859 каналов;
(4 + 4) IPM
(3 + 3) DXM;
(4 + 4) IPM  5 120 каналов
(8 + 2) DXM = 15 624 канала;
(4 + 1) IPM
(6 + 2) DXM = 11 718 каналов;
(6 + 1) IPM
(5 + 2) DXM;
(6 + 1) IPM  9 600 каналов
(5 + 2) DXM;
(7 + 1) IPM  8 960 каналов
низмов обеспечения надежности, которые определяются соотношением модулей DXM и IPM при их фиксированной сумме не более 15
модулей. Различные варианты использования кодеков и механизмов резервирования приведены в табл. 3.3.
3.4.4. Шлюз доступа
Устаревшие системы коммутации (������������������������������
Public Switched Telephone Network, PSTN����������������������������������������������������
) не имеют общего канала сигнализации (ОКС) и не могут воспользоваться решением IP-транзит, а решение бизнессоединения для большинства абонентов может оказаться слишком
дорогим. Таких абонентов к IP-сети подключают через шлюз доступа (MGa). Многие производители сетей коммутации каналов для
сохранения преемственности аппаратных средств и программного
обеспечения оснащают имеющееся выносное коммутационное оборудование коммутации каналов устройством формирования стека
протоколов и фирменным протоколом взаимодействия между программным коммутатором и шлюзом доступа. Как пример на
рис. 3.18 приведена структурная схема шлюза доступа hiG 1600,
используемого компанией Siemens.
В типовой конфигурации шлюз доступа имеет два контроллера
обработки пакетов (Packet Service Controller, PSC), каждый из которых содержит процессоры (Feature Processor Unit type Ethernet,
FPU-E) и пакетные коммутаторы (Packet Switching Ethernet, PS-E).
Опционально могут использоваться модуль синхронной передачи
(Synchronous Transfer Module Interface, STMI) и специальное оборудование линейных каналов (Line Trunk Unit special, LTU:S). Один
256 Интерфейсы и протоколы сетей следующего поколения
MGa
hiG 1600
1
STMI 16
1
FPUE 0
PS E0
16 LTU:S
63
1
ISDN PRI
V5.2
E1/T1
POTS
2 х GE (1 000 Мб/с)
2 х 3 FE (100 Мб/с)
FPUE 4
2 х 10 FE (100 Мб/с)
ISDN BA

PSC 1
PSC 0
PSE 1
16
LTU:S
DLU
V5.1
Рис. 3.18. Структура и внешние интерфейсы шлюза доступа hiG 1600:
––––– – интерфейсы Е1; - - - - - – интерфейсы Ethernet
контроллер PSC содержит до 5 процессоров FPU-E, каждый процессор обслуживает до 16 интерфейсов Е1 (всего – 80 портов Е1).
Интерфейсы Е1 используются для подключения как удаленных
абонентов, так и местных (через DLU). Процессор обработки услуг
FPU-E производит обработку сигналов управления и взаимодействия по интерфейсам E1, ISDN-PRI, V5.2, а также формирование
речевых пакетов. Обмен сигналами управления и взаимодействия
между программным коммутатором и шлюзом доступа hiG 1600
происходит по специально разработанному компанией Siemens протоколу управления доступом (Access Control Protocol, ACP).
Пакетный коммутатор PS-E имеет 10 интерфейсов Fast Ethernet
(FE) для подключения пяти процессоров обработки услуг FPU-E, десяти передаточных интерфейсов FE в смежный PSC, три интерфейса FE для выхода в IP-сеть, один передаточный интерфейс Gigabit
Ethernet (GE) в смежный PS-E. Опционально имеется возможность
выхода в IP-сеть по интерфейсу GE.
Синхронизация hiG 1600 может осуществляться либо от внешнего генератора, либо от одного из трактов E1, либо от системы STM-1.
Конструктивно контроллер обработки пакетов выполнен в виде кассеты с габаритами (ширина/высота/глубина) 515/355/310 мм. При
Практическая реализация ngn 257
установке на объекте заказчика контроллеры монтируются в стойку с габаритными размерами (ширина/высота/глубина) 770/2 450/
500 мм. В одной стойке размещается до четырех контроллеров (320
портов Е1). Таким образом, оборудование стойки при удельной абонентской нагрузке 0,1 Эрл позволяет подключить около 80 000 абонентов (320 ⋅ 30 ⋅ 8). Суммарная производительность всех четырех контроллеров PSC позволяет обрабатывать около 720 000 вызовов в час.
3.4.5. IP-Шлюз (MGi)
IP-шлюз используется в решении «бизнес-соединение» и обеспечивает подключение к IP-сети SIP-терминалов через IP-шлюз (MGi).
Структурная схема IP-шлюза показана на рис. 3.19.
В качестве оконечных устройств используются либо отдельные
устройства, поддерживающие протокол SIP, либо компьютерные
приложения с упомянутым протоколом. Конфигурирование оконечных устройств производит DHCP-сервер, выделяя каждому оконечному устройству IP-адрес из диапазона адресов для локального
использования. В классе А – это сеть 10.0.0.0, в классе В – диапазоны сетей от 172.16.0.0 до 172.31.0.0, в классе С – диапазон сетей от
192.168.0.0. до 192.168.255.255. С целью экономии публичных сетевых адресов IP-шлюзы оснащаются сервером трансляции сетевых
адресов (Network Address Translation, NAT). Все упомянутые
устройства соединяются через местную локальную сеть (Switch).
Функционирование сервера NAT при организации исходящей
связи происходит следующим образом.
Пусть внутренний абонент IP-шлюза А, имеющий IP-адрес IPA
из диапазона адресов для локального использования, устанавлива-
MGi
SIP
DHCP
PC
Switch
NAT
Рис. 3.19. Структура IP-шлюза
258 Интерфейсы и протоколы сетей следующего поколения
R
В IPсеть
Таблица 3.4
Формирование полей сервером NAT при исходящем соединении
Исходящий пакет от абонента А к NAT
Исходящий пакет от NAT к абоненту Б
Dest: IPB/5060
Source: IPA/5060
Contact: <UserA@IPA:5060>
Входящий пакет от NAT к абоненту А
Dest: IPA/5060
Source: IPB/5060
Contact: <UserB@IPB:5060>
Dest: IPB/5060
Source: IPD/6111
Contact: <UserA@IPD:6111>
Входящий пакет от абонента Б к NAT
Dest: IPD/6111
Source: IPB/5060
Contact: <UserB@IPB:5060>
ет SIP-соединение с абонентом Б публичной сети, имеющего IPадрес IPB. Поскольку SIP-приложение использует по умолчанию
порт 5060, то пакет от внутреннего абонента на входе сервера NAT
будет иметь сокет назначения в виде Dest: IPB/5060, а сокет отправителя – Source: IPA/5060. В запросе INVITE поле контактных адресов
примет значение Contact: <UserA@IPA:5060>. Сервер NAT заменит
IP-адрес на собственный IP-адрес IPD, а порт отправителя на свое
значение, например, 6111, как отображено в табл. 3.4. Таким образом, NAT-сервер хранит запись соответствия вида «сокету внутреннего абонента IPA/5060 соответствует внешний сокет IPD/6111».
Несколько сложнее устанавливается входящее соединение. Дело
в том, что все абоненты IP-шлюза записаны по одному и тому же
адресу регистрации, а именно – IP-адресу шлюза. Поэтому для адресации к конкретному внутреннему абоненту серверу придется определить чтением поля To: из запроса INVITE. Таким образом, NATсервер хранит запись соответствия вида «имени UserA<sip:userA@
domainA> соответствует сокет внутреннего абонента IPA/5060 и соответствует внешний сокет IPD/6111» и преобразует поля пакетов
в соответствии с тем, как это показано в табл. 3.5.
Таблица 3.5
Формирование полей сервером NAT при входящем соединении
Входящий пакет от NAT к абоненту А
Входящий пакет от абонента Б к NAT
Dest: IPA/5060
Dest: IPD/5060
Source: IPB/5060
Source: IPB/5060
Contact: <UserB@IPB:5060>
To: UserA<sip:UserA@domainA>
Исходящий пакет от абонента А к NAT Исходящий пакет от NAT к абоненту Б
Dest: IPB/5060
Dest: IPB/5060
Source: IPA/5060
Source: IPD/6111
Contact: <UserA@IPA:5060>
Contact: <UserA@IPD:6111>
Практическая реализация ngn 259
3.4.6. Система сетевого администрирования
В терминах системы сетевого администрирования коммутационные
узлы, коммутаторы, маршрутизаторы, серверы и шлюзы рассматриваются как сетевые элементы (Network Elements, NE), а сама система
сетевого администрирования – как операционная система. Система сетевого администрирования предназначена для централизованного
управления и технического обслуживания сетевых элементов IP-сети.
В зависимости от емкости сети и потребностей оператора возможно несколько вариантов конфигурации операционной системы:
«клиент – сервер», одиночный сервер, одиночная машина. Все обязательные элементы системы сетевого администрирования для указанных конфигураций приведены на рис. 3.20, где приняты следующие обозначения:
CS (Communication Server) – коммуникационный сервер, управляет соединениями в сети передачи данных между операционной
системой и сетевыми элементами;
FS (File Server) – сервер хранения файлов, место хранения баз
данных всех сетевых элементов;
CT (Client Terminal) – рабочее место оператора;
а
MFS
ADirS
CS
FS
ANS
AS
CT
CT
Операционная система
SIP
б FS+CS+ANS+ADirS CT
Сетевые элементы
CT
в
FS+CS+ANS+CT
Операционная система
Операционная система
В IP сеть
В IPсеть
Рис. 3.20. Система сетевого администрирования:
а – «клиент – сервер»; б – одиночный сервер; в – одиночная машина
260 Интерфейсы и протоколы сетей следующего поколения
ADirS (Active Directory Server) – справочный сервер, хранит доменные имена и коды доступа различных операторов (пароли);
AS (Application Server) – сервер приложений, место хранения функционального программного обеспечение для сетевых элементов;
ANS (Alarm Notification Server) – сервер сбоев, обеспечивает обработку SNMP;
MFS (Meta Frame Server) – сервер расширений, обеспечивает
взаимо­действие с другими CT.
Если NetM в конфигурации «одиночная машина» дополнена специальным программным обеспечением, то она может быть использована для прямой загрузки прикладных программ по локальному
интерфейсу V.24. Другие сетевые элементы загружаются и управляются от NetM дистанционно через стек протоколов TCP/IP по различным протоколам: SNMP, Telnet, HTTP, FTP. В зависимости от
состава сетевых элементов и перечня решаемых задач система сетевого администрирования комплектуется различными приложениями, часть из которых приведена в табл. 3.6.
Логика работы сетевого элемента хранится в виде программного
обеспечения (ПО, Soft Ware, SW) и базы данных (БД, Data Base, DB),
которые для маршрутизаторов компанией Cisco поставляются
в виде операционной системы (OC) IOS и конфигурационного файла.
В постоянном запоминающем устройстве (ПЗУ, Read Only Memory,
ROM) имеется программа начальной загрузки.
При первоначальном запуске (включении) сетевого элемента:
1) из ПЗУ выгружается программа начальной загрузки. Она выполняет диагностику всех модулей, тестирует память, порты и пеТаблица 3.6
Приложения NetM
Приложение
Alarm and Message Display
Basic Configuration and
System Setup
Containment View
Log Viewer
NE Administration
NetM Administration
NetM Information
Scenario Wizard
Software Management for
InterNode
...
Описание
Отображение неисправностей
Конфигурация базы данных по протоколу
SNMP
Отображение состояния сетевых элементов
Отображение исполненных заданий
Управление сетевыми элементами
Конфигурирование групп пользователей
Отображение прав групп пользователей
Создание сценариев заданий
Управление загрузкой удаленных сетевых
элементов
...
Практическая реализация ngn 261
реходит к загрузке ОС в определенную область оперативного запоминающего устройства (ОПЗ, Random Access Memory, RAM);
2) код операционной системы может находиться в различных
местах. На местонахождение ОС указывает содержимое регистра
конфигурации в команде boot. При первоначальном запуске задается последовательность поиска ОС (рис. 3.21): из стираемого перепрограммируемого ПЗУ (flash, флэш-памяти), и если ее там нет, то из
сервера TFTP; если ее там нет, то из ПЗУ.
ОС представляет собой ряд подпрограмм, выполняющих различные задачи – обработку протоколов, управление таблицами и областями памяти, маршрутизацией, исполняющих директив администратора;
3) конфигурационный файл также может находиться в разных
метах. При первоначальном запуске задается последовательность поиска файла конфигурации для его загрузки в ОЗУ: сначала из энергонезависимого ОЗУ (Non-Volatile Random Access Memory, NVRAM),
и если его там нет, то из сервера TFTP; если его там нет, то вводом
параметров конфигурации с консоли администратора.
Файл конфигурации содержит местоположение ОС, имя маршрутизатора, пароль доступа, параметры каждого интерфейса и т. д.
После окончания конфигурирования введенные параметры хранятся в RAM в виде рабочей конфигурации (running-config) и при
отключении питания будут утеряны. Поэтому для сохранения параметров конфигурации их следует переписать в энергонезависимое
ОЗУ (NVRAM) с помощью команды copy running-config startupconfig. Сохраненная стартовая конфигурация startup-config при
NE
FLASH
IOS
Copy tftp runningconfig
RAM
Copy runningconfig tftp
Copy
runningconfig
startupconfig
Copy
startupconfig
runningconfig
NVRAM
Рис. 3.21. Загрузка и копирование конфигурационного файла
262 Интерфейсы и протоколы сетей следующего поколения
TFTP
последующем старте будет автоматически загружаться в RAM и использоваться в виде рабочей конфигурации running-config. Для повышения надежности рабочая конфигурация может быть сохранена на FTP-сервере командой copy running-config tftp.
Если на FTP-сервере имеется более свежая версия ОС, чем в ПЗУ,
то она может быть загружена в RAM командой boot system tftp
<filename + IP-address>.
Вопросы к п. 3.4
1.Сколько уровней модели OSI использует шлюз сигнализации?
Ответ: четыре.
2. Какими средствами достигается гарантированная доставка информации шлюзом сигнализации?
Ответ: присвоением порядкового номера каждому кадру, защитой
кад­ра проверочной последовательностью, повторной передачей поврежденного кадра.
3. Какое основное отличие подсистемы ISUP от SCCP?
Ответ: сигнализация ISUP всегда содержит ссылку на канал пользователя, а сигнализация SCCP – нет.
4.В чем состоит функция глобальной трансляции номера?
Ответ: вычисление сетевого адреса и номера подсистемы следующего
сетевого элемента по набранному номеру.
5.Приведите функциональный аналог программного коммутатора в Н.323сети и в SIP-сети.
Ответ: в Н.323-сети аналогом является менеджер зоны, а в SIP-сети –
SIP-сервер.
6. Чем отличается канальный шлюз от абонентского шлюза?
Ответ: к канальному шлюзу подключаются только соединительные
линии сети коммутации каналов, а к абонентскому – соединительные
и абонентские линии.
7.Назовите основные функции сетевого администрирования.
Ответ: дистанционное управление загрузкой сетевых элементов, конфигурирование баз данных, отображение состояния сетевых элементов,
отображение неисправностей.
3.5.Система абонентского доступа
Сети следующего поколения предполагают непосредственное подключение оконечных устройств к IP-сети, но отдельные интеллектуальные оконечные устройства могут подключаются к IP-сети по
Практическая реализация ngn 263
DSLAM
ATM/Ethernet
2/4проводная АЛ
Internet
CPE
AТС
PSTN/ISDN
POTS/ISDN
Рис. 3.22. Система абонентского доступа
существующим абонентским линиям через систему абонентского
доступа (рис. 3.22), состоящую из мультиплексора абонентского
доступа (Digital Subscriber Line Access Multiplexer, DSLAM) и выносного абонентского оборудования (Customer Premises Equipment,
CPE). Последнее в общем случае представляет собой сочетание сетевого окончания (Network Termination, NT) и разветвителя (POSN).
Мультиплексор абонентского доступа DSLAM географически располагается в помещении районной АТС, а выносное оборудование
абонента – непосредственно на месте размещения абонента. Связь
между CPE и DSLAM происходит по существующим 2-проводным
(или 4-проводным) абонентским физическим линиям с использованием одной из технологий передачи по цифровой абонентской линии (Digital Subscriber Line, xDSL). Коммутация в DSLAM обычно
использует технологию режима асинхронной передачи (���������
Asynchronous Transfer Mode, ATM). Администрирование системы осуществ­
ляется при помощи местного или удаленного оборудования сетевого администрирования по протоколу SNMP.
Существует несколько технологий передачи сигналов по цифровой абонентской линии (Digital Subscriber Line, xDSL). Их характеристики приведены в табл. 3.7.
Таблица 3.7
Характеристики xDSL
Показатель
Тип стыка
От абонента,
Мбит/с
К абоненту,
Мбит/с
Длина АЛ, км
Типы ОУ
ADSL
SDSL
SHDSL
VDSL
Асимметричный
Симметричный
Симметричный
Асимметричный
До 0,8
0,16–2,3
0,19–2,3
0,96–10,9
До 8,16
0,16–2,3
0,19–2,3
0,96–56
До 5
POTS/
ISDN/IP
До 4
До 6
IP (VoDSL)
IP (VoDSL)
До 4
POTS/
ISDN/IP
264 Интерфейсы и протоколы сетей следующего поколения
Асимметричные интерфейсы (ADSL и VDSL) со стороны пользователя имеют два независимых порта. Один порт использует низкочастотный спектр частот для подключения оконечного устройства
к телефонной сети (0–4 КГц для POTS, 0–384 КГц для ISDN), другой порт – высокочастотный спектр для подключения к Интернет.
Предполагается, что по широкополосному каналу в восходящем направлении (от абонента к сети) передаются запросы, а в нисходящем
направлении (от сети к абоненту) – отклики. Объемы передаваемой
информации в направлениях существенно различаются, поэтому
скорость передачи в нисходящем направлении намного превышает
скорость в обратном направлении.
Абонентский разветвитель POSN (только для ADSL и VDSL)
разделяет низкочастотный спектр для телефонной сети от высокочастотного спектра IP-сети и имеет следующие интерфейсы с оконечными устройствами (рис. 3.23):
– a/b POTS (2-проводный, для подключения аналогового телефонного аппарата (ТА)) или Uko 2B1Q (2-проводный, для подключения цифрового ТА аппарата ISDN);
– DSL для подключения NT.
Для сохранения электрических параметров абонентской линии
на нее из АТС через разветвитель POSU подается небольшой (0,2–
3 мА) постоянный ток (wetting current).
Ethernet
NT SDSL
DSLAM
ATM/SDSL
SUSDSL
POTS/ISDN
ATM
DSL
NT
POSN
ATM/ADSL
POSU
SUADSL
CLU
Internet
(SUVDSL)
POTS/ISDN
Ethernet
NT
DSL
POSN
POTS/ISDN
ATM/ADSL
POSU
SUADSL
ISDN
PSTN/ISDN
Рис. 3.23. Схема подключения пользователей
Практическая реализация ngn 265
Сетевое окончание NT имеет следующий абонентский интерфейс
Ethernet 10bT (4-проводный, скорость передачи – 10 Мбит/с) или
ATM25 (4-проводной, скорость передачи – 25,6 Мбит/с) и обеспечивает услуги:
– высокоскоростного доступа в Интернет;
– видеоконференцию;
– видеотелефонию;
– видео по требованию через абонентскую телевизионную приставку.
Симметричные интерфейсы (SDSL и SHDSL) со стороны поль­
зователя имеют несколько интерфейсов для подключения око­
нечных устройств по интерфейсам POTS/ISDN/Ethernet. Скорости
передачи в обоих направлениях («абонент – сеть» и «сеть – абонент») одинакова. В качестве сетевого окончания NT SDSL используется интегральное устройство доступа (���������������������
Integrated Access Device, IAD����������������������������������������������������
), имеющее встроенный пакетизатор и SDSL-модем. Оконечные устройства получают непосредственный выход в IP-сеть
с использованием низкочастотного спектра, поэтому разветвитель
не требуется.
Мультиплексор доступа DSLAM типа hiX 5300 производства
компании Siemens имеет следующие сетевые интерфейсы:
– STM-1 (электрический или оптический, скорость передачи –
155,52 Мбит/с);
– E3/DS3 (электрический, скорость передачи – 34/44 Мбит/с);
– E1/DS1 IMA (совокупность из восьми параллельных интерфейсов
E1/DS1, скорость передачи – около 8 ⋅ 1 920 Кбит/с = 15 360 Кбит/с).
Всеми процессами в DSLAM управляет центральный контроллер (Central controller and Line Unit, CLU). Синхронизация мультиплексора может осуществляться от внешнего генератора (выделение
тактовой частоты из систем передачи E1 или STM-1) или от автономного генератора. DSLAM имеет внутренние источники вторичного
электропитания, которые питаются от внешнего источника напряжения от –38 до –75 V. Для транспортирования полезной нагрузки
в IP-сеть в DSLAM создаются постоянные виртуальные соединения
с максимальным количеством до 3 000.
Для отделения низкочастотного спектра для телефонной сети от
высокочастотного спектра в DSLAM устанавливаются станционные
разветвители POSU. В абонентских комплектах SUSDSL, SUADSL,
SUVDSL происходит концентрация нагрузки, которая поступает
в IP-сеть.
266 Интерфейсы и протоколы сетей следующего поколения
а
DSLAM
ADSL
AТС
AТС
AТС
DSLAM
ADSL
PSTN/ISDN
Internet
б
SoftSwith
DSLAM
AТС
SG
AТС
AТС
ADSL
MGt
PSTN/ISDN
IP
DSLAM
ADSL
MGt
Internet
Рис. 3.24. Трансформация системы абонентского доступа в IP-сеть:
а – начальная конфигурация; б – конечная конфигурация
На рис. 3.24 показано преобразование системы абонентского доступа в IP-сеть. На первом этапе (рис. 3.24, а) TDM-сеть существует
отдельно и не может быть использована для доступа в IP-сеть. При
дооснащении телефонной сети программным коммутатором (������
SoftSwitch), шлюзом сигнализации (SG), мультимедийными шлюзами
(MGt) она становится частью глобальной сети Интернет.
Вопросы к п. 3.5
1.Для какого вида трафика наиболее подходит технология симметричной
цифровой абонентской линии (SDSL) и почему?
Ответ: для речевого трафика, где объем трафика в обоих направлениях примерно одинаков.
2.Для какого вида трафика наиболее подходит технология асимметричной цифровой абонентской линии (ADSL) и почему?
Ответ: для доступа в Интернет, где в направлении «пользователь – сеть» объем трафика небольшой (запросы web-страницы), а в направлении «сеть – пользователь» объем трафика большой (содержимое
web-стра­ницы).
Практическая реализация ngn 267
Глава
4
ВЕРОЯТНОСТНОВРЕМЕННЫЕ
ХАРАКТЕРИСТИКИ
СЕТЕЙ
КОММУТАЦИИ
4.1.Потоки вызовов, время обслуживания
Детерминированный поток вызовов – последовательность вызовов, в которой вызовы
поступают в определенные, строго фиксированные неслучайные моменты времени.
Детерминированный поток вызовов может задаваться:
– в явном виде моментами поступления
вызовов tn (n = 1, 2, ...);
– в виде рекуррентной последовательности tn = f(tn – 1);
– в виде последовательности промежутков
между вызовами zn.
Случайный поток вызовов – последовательность вызовов, в которой моменты поступления вызовов и промежутки между вызовами являются случайными величинами.
Случайная величина описывается функцией распределения F(t) = P(x < t), определяющей вероятность того, что случайная величина x расположена в промежутке 0 < =
= x < t.
Однородный поток вызовов характеризуется только законом поступления вызовов.
В неоднородном потоке вызовов каждый
вызов характеризуется двумя и более характеристиками, например, моментом поступления вызова и его направлением.
Рекуррентным потоком вызовов называется поток, у которого промежутки времени
между соседними вызовами независимы друг
от друга и распределены по одинаковому закону.
Поток вызовов является стационарным,
если число вызовов, поступивших за промежуток времени Dt, зависит только от длительности этого промежутка времени Dt и не
зависит от нахождения этого промежутка на
оси времени t.
268 Интерфейсы и протоколы сетей следующего поколения
Из теории вероятностей известно соотношение
P( A Ç B) = P(B) P( A / B),
откуда
P( A Ç B)
.
P( A / B) =
P(B)
Если произошло событие, подчиняющееся экспоненциальному
распределению, уже наступило и длится время t0, то вероятность
его дальнейшего течения за время t
P{³ t} P{³ t0 }
P{³ t ³ t0 } =
= P{³ t} = e-λt
P{³ t0 }
не зависит от t0, т. е. от прошлого. Поток вызовов является потоком
без последействия, если вероятность поступления вызовов за некоторый промежуток времени t не зависит от процесса поступления
вызовов до этого промежутка.
Поток вызовов является ординарным, если вероятность поступления двух и более вызовов за бесконечно малый промежуток времени много меньше, чем вероятность поступления одного вызова.
В теории телетрафика часто используется простейший поток вызовов. Простейшим потоком вызовов называется ординарный стационарный поток без последействия. Простейший поток вызовов
задается вероятностью поступления k вызовов за время t (формулой
Пуассона)
(λt)k -λt
π k (t) =
e ,
k!
где параметр λ – интенсивность поступающего потока вызовов, численно равен количеству вызовов, поступающих за единицу времени. Функция распределения промежутков времени между вызовами – вероятность поступления хотя бы одного вызова
F (t) = 1 - π0 (t) = 1 - e-λt .
Математическое ожидание или, то же самое, среднее время промежутка между вызовами:
¥
¥
0
0
1
M [t] = ò td(1 - e-λ t ) = -ò tde-λt = ,
λ
дисперсия и среднеквадратическое отклонение:
¥
æ 1 ö2
1
D[t] = ò çççt - ÷÷÷ d(1 - e-λt ) = 2 , δ = D[t] = λ-1.
è λø
λ
0
Вероятностно-временные характеристики сетей коммутации 269
Симметричным потоком называется поток с простым последействием, параметр которого в любой момент времени зависит только
от количество обслуживаемых в этот момент времени вызовов.
Примитивным называется такой симметричный поток, параметр которого прямо пропорционален числу свободных в данный
момент источников λi = (n – i)α, где n – общее число источников вызовов; α − параметр потока источника в свободном состоянии.
Время обслуживания в теории телетрафика задается функцией
распределения времени обслуживания вызова H(t). Для экспоненциального распределения
H(t) = 1 - e-µt , t ³ 0, 0 < µ < ¥,
где параметр µ – интенсивность обслуживания вызова, численно
равен количеству обслуживаемых вызовов за единицу времени.
Математическое ожидание (оно же – среднее время обслуживания),
дисперсия и среднеквадратическое отклонение:
¥
M [t] = ò td(1 - e-µt ) =
0
1
= ts , D[t] = µ-2,
µ
δ s = D[t] =µ-1 = ts .
При постоянном времени обслуживания функция распределения имеет вид
ïì0 ïðè t < ts
H(t) = ïí
,
ïïî1 ïðè t ³ ts
где ts – среднее время обслуживания. Математическое ожидание,
дисперсия и среднеквадратическое отклонение:
¥
M [t] = ò td(H(t)) =
0
1
= ts ,
µ
D[t] = 0, δ s = 0.
Задачи к п. 4.1
Задача 1. Доказать ординарность пуассоновского потока вызовов.
Решение: очевидно, что при фиксированном значении λ и t0 произведение λt << 1. Поэтому
(λt)1 -λt
(λt)2 -λt
(λt)3 -λt
e
e
e
>> π2 (t) =
>> π3 (t) =
>> ...,
limt®0 π1 (t) =
1!
2!
3!
что и доказывает ординарность потока.
270 Интерфейсы и протоколы сетей следующего поколения
Задача 2. Определить вероятность поступления 5-и вызовов за 10 минут
при поступлении простейшего потока вызовов с параметром λ = 180 час–1.
Решение:
(180 1 )5 -30 30 5 -30
6 e
=
p5 (1 6) =
e
.
5!
5!
4.2.Принципы построения систем коммутации
4.2.1. Понятие о нагрузке
Нагрузка есть суммарное время обслуживания вызовов за фиксированное время t. Единица измерения нагрузки – часо-занятие.
Нагрузка обладает аддитивным свойством
Y(t, t + τ) = Y(t) + Y(t + τ).
Интенсивность нагрузки – нагрузка, обслуженная в течение
часа. Единица измерения – часо-занятие/час = Эрланг. Интенсивность нагрузки численно равна количеству вызовов, поступивших
за время занятия. В теории телетрафика часто для краткости интенсивность нагрузки называют нагрузкой.
В общем случае система коммутации (рис. 4.1) состоит из коммутационного поля (КП) и управляющего устройства (УУ).
Вызовы, поступающие в систему в виде пакетов, характеризуются:
– параметром поступающего потока вызовов λ0, численно равным числу пакетов, поступающих в единицу времени;
– средней длительностью занятия ts, зависящей от скорости
прохождения вызова через КП.
УУ
λ0
A 0 = λ0ts
AS = λ sts
КП
Рис. 4.1. Система коммутации
AL = A 0 – AS
Вероятностно-временные характеристики сетей коммутации 271
Каждый поступающий вызов содержит информацию пользователя и служебную информацию. Служебная информация содержит
адрес пункта назначения для доставки информации пользователя
и используется для маршрутизации вызова в сети связи. Она обрабатывается УУ, темп ее поступления совпадает с параметром поступающего потока вызовов λ0. УУ располагает всеми данными о ресурсах системы, и, если необходимые ресурсы для установления
соединения имеются, то вызов принимается к обслуживанию. Время обработки вызова управляющим устройством образует аппаратную задержку, которая не зависит от скорости прохождения вызова
через КП. Принятые к обслуживанию вызовы обрабатываются
(коммутируются) в КП и образуют обслуженную нагрузку As = λsts.
В отдельные моменты времени количество одновременно поступивших вызовов может превышать ресурсы системы, что приводит
к блокировке некоторых вызовов. Блокировка – событие, состоящее
в невозможности обслуживания вызова в момент его поступления
из-за дефицита ресурсов, например, линий связи или скорости передачи. В зависимости от типа системы коммутации блокированные вызовы (образующие потерянную нагрузку A L) обслуживаются
различно. Они могут сразу же удаляться из системы (система с явными потерями), ставиться в очередь на обслуживание (система
с ожиданием) или обслуживаться иным образом.
Как и поток вызовов, нагрузка подвержена резким колебаниям
в течение суток, по временам года и т. д. Например, наблюдения за
величиной нагрузки показывают, что интенсивность нагрузки значительно изменяется в течение суток. Оператор сети заинтересован
в максимизации отношения «обслуженная нагрузка/цена (объем)
коммутационного оборудования», однако составляющие этого отношения имеют одинаковые тенденции. Поэтому для определения оптимального отношения «нагрузка/цена» необходимо правильно выбрать
диапазон времени измерения статистических данных нагрузки.
На рис. 4.2 показано типовое распределение нагрузки в течение
суток и выбор различных критериев статистических данных. Жирная пунктирная линия условно определяет объем коммутационного
оборудования V, которое способно обслужить поступающую нагрузку А немедленно. Затемненная область нагрузки, расположенная
выше этой линии, является блокированной, которая в зависимости
от системы обслуживания либо удаляется из системы (система с явными потерями), либо, например, будет поставлена в очередь на обслуживание (система с ожиданием). В первом случае пользователь
272 Интерфейсы и протоколы сетей следующего поколения
a А
V1
dt
t
dt
б А
t
в
А
dt
V3
t
Рис. 4.2. Сравнение различных критериев выбора диапазонов измерения
максимального среднего значения нагрузки: а – малого; б – большого;
в – оптимального
немедленно получает уведомление о невозможности обслуживания
(акустический сигнал «Занято»). Во втором случае пользователь получает обслуживание с ухудшенным качеством, которое при пакетной коммутации ощущает в виде задержек фрагментов информации (пакетов данных или речи).
На рис. 4.2, а показан случай, когда объем оборудования выбирается в соответствии с максимальным средним значением измеренной нагрузки среди коротких диапазонов времени. Высокое качество обслуживания пользователей достигается за счет очень большого объема коммутационного оборудования V1, которое в течение
суток используется крайне неэффективно за исключением короткого промежутка времени dt, что крайне невыгодно операторам сетей
связи.
Вероятностно-временные характеристики сетей коммутации 273
На рис. 4.2, б показан случай, когда объем оборудования выбирается в соответствии с максимальным средним значением измеренной нагрузки из длинного диапазона времени dt. Низкое качество
обслуживания пользователей образуется за счет небольшого объема
коммутационного оборудования V2, которое в течение промежутка
времени dt используется достаточно интенсивно.
Рис. 4.2, в представляет компромиссный случай, когда объем
оборудования V3 выбирается в соответствии с максимальным средним значением измеренной нагрузки среди небольших (оптимальных) диапазонов времени dt. При этом получается приемлемое качество обслуживания для пользователей при приемлемых затратах
на коммутационное оборудование для операторов сети связи.
Считается, что в течение еще многих лет телефонная нагрузка
в мультимедийных сетях будет доминировать. Длительное наблюдение за статическими данными телефонной нагрузки показало,
что наилучшие (оптимальные) статистические данные дают результаты измерения нагрузки за интервалы времени dt = 1 час.
Промежуток времени в 1 час, где среднее значение нагрузки имеет
максимальное значение, носит название часа наибольшей нагрузки
(ЧНН, Busy Hour Call Attempts, BHCA). Наибольшая телефонная
нагрузка приходится на периоды между 11–12 и 19.30–20.30 часами, в эти периоды обслуживается 10–12 % суточной нагрузки. При
расчете оборудования следует ориентироваться на статистические
данные этого часа, когда нагрузка имеет наибольшее значение. Мотив такого подхода прост: если в течение ЧНН обеспечивается требуемое качество обслуживания, то в любой другой промежуток
времени (час) качество обслуживания будет обеспечиваться тем
более.
Согласно теории вероятностей средняя нагрузка, обслуженная
за время t, равна ее математическому ожиданию:
t
M (t) = ò Mi (τ)dτ.
0
В стационарном режиме среднее число занятых линий Мi(t) = v
и не зависит от времени. Поэтому M(t) = vt. Принимая t = 1 час, получаем, что средняя обслуженная нагрузка за единицу времени
(час) численно равна среднему числу занятых линий за то же время.
Статистические данные параметров телефонной нагрузки таковы.
Среднее число вызовов с одного телефонного аппарата λ (в час):
квартирного – 2; уличного (монетного автомата) – 15; учрежденче274 Интерфейсы и протоколы сетей следующего поколения
ского – 5. Средняя длительность разговора ts (с): квартирного – 200;
уличного – 120; учрежденческого – 150.
Масштаб изменения параметров нагрузки систем с коммутацией
пакетов по сравнению с системой коммутации каналов следующий:
– параметр поступающих вызовов от одного абонента (среднее
число поступающих пакетов λpac) в системе коммутации пакетов по
сравнению с системой коммутации каналов имеет гораздо бόльшее
значение, что диктует повышенные требования к производительности коммутационных устройств (маршрутизаторов);
– длительность занятия (время передачи пакета по линии связи
tpac) за счет использования всей пропускной способности канала –
гораздо меньшее значение;
– значение удельной интенсивность нагрузки в сети с коммутацией пакетов apac существенно ниже.
4.2.2. Типы систем коммутации
В зависимости от типа системы коммутации блокированные вызовы, образующие потерянную нагрузку, обслуживаются различно.
Они могут сразу же удаляться из системы (система с явными потерями), ставиться в очередь на обслуживание (система с ожиданием)
или обслуживаться иным образом.
В системе с явными потерями (Blocked Calls Cleared, BCC) блокированные вызовы покидают систему. Параметр поступающей нагрузки A0 определяется средним значением наибольшей нагрузки
в час. Поэтому при фиксироОбслуженная
ванных ресурсах сети V (на- нагрузка A
S
пример, числе каналов связи)
Потерянная нагрузка
и числе пользователей N > V,
AL = A0 – AS
даже если V > A0, в некоторые V
промежутки времени не все
поступающие вызовы принимаются к обслуживанию и возникают потери. Типовая завиОбслуженная нагрузка AS
симость обслуженной нагрузки AS от поступающей нагрузПоступающая нагрузка A0
ки A0 показана на рис. 4.3.
При увеличении поступа- Рис. 4.3. Пропускная способность системы
ющей нагрузки А0 экспонен- с явными потерями
Вероятностно-временные характеристики сетей коммутации 275
циально увеличивается и обслуженная нагрузка АS, однако ее значение не может превысить числа каналов связи V. Разность между
поступающей и обслуженной нагрузкой образует потерянную нагрузку A L = A0 – AS. Потери будут отсутствовать только при наличии числа каналов, равного числу абонентов, т. е. при N = V, при
этом обслуженная нагрузка будет равна поступающей.
В реальных системах с явными потерями всегда N > V. Следствием соотношения N > V является потеря некоторых вызовов, поэтому
параметр обслуженного потока вызовов λs всегда меньше параметра
поступающего потока λ0. Поступающая, обслуженная и потерянная нагрузки связаны соотношением AS = A0(1 – P) = A0 – A L, где
Р – вероятность потерь. Возможный сценарий обслуживания вызовов системой с явными потерями в стационарном режиме при A0 = 3
Эрланга, V = 4, As = 2 Эрланга показан на рис. 4.4 (серым цветом помечены обслуженные вызовы, темно-серым – потерянные).
Пропускная способность систем с явными потерями оценивается нагрузкой, обслуженной немедленно с заданным качеством (потерями). На рис. 4.5 показано, что при A0 < A* бόльшую пропускную
способность имеет система 2 (имеет меньше потери), а при A0 ≥ A* –
система 1.
В системе с явными потерями различают потери по времени, вызовам и нагрузке. Потери по времени численно равны доле вре­
мени dt, в течение которого появляются блокировки, к общему времени наблюдения T (обычно Т = 1 час): pt = dt/T. Потери по вызовам численно равны доле заблокированных вызовов с(dt) за время
dt к числу поступивших вызовов за общее время наблюдения T:
Количество занятых линий
25
16
24
9
15
23
31
8
14
22
30
7
13
21
29
6
12
20
28
34
3
5
11
19
27
33
36
2
4
10
18
26
32
35
V=4
1
17
t
Рис. 4.4. Диаграмма работы системы с явными потерями при A0 = 3 Эрланга, V = 4,
As = 2 Эрланга
276 Интерфейсы и протоколы сетей следующего поколения
P = (1 – AS /A 0 ) – 1,0
вероятность
потерь
Система 2
Система 1
Поступающая нагрузка A 0
A*
Рис. 4.5. Сравнение пропускной способности систем с явными потерями
pc = c(dt)/c(T). Потери по нагрузке численно равны отношению потерянной нагрузки к поступившей: py = y(dt)/y(T).
Общие потери в системе с явными потерями образуют две составляющие: потери из-за внутренних блокировок и потери в пучке каналов. Потери из-за внутренних блокировок возникают из-за недостаточности ресурсов коммутационного оборудования, а потери
в пучке – из-за недостаточности ресурсов линейного оборудования
(каналов связи). Внутренней блокировкой в многозвенных КП называется ситуация, когда соединение некоторых свободных из-за
(интерфейсов) невозможно из-за неблагоприятного сочетания свободных выходов и свободных промежуточных линий в КП.
Детали образования внутренних блокировок в системе с явными
потерями подробно рассмотрены в [2]. Необходимый минимальный
объем ресурсов коммутационного оборудования для устранения
внутренних блокировок определил Ч. Клоз, который показал, что
их устранение достигается удвоением числа промежуточных линий
в КП по сравнению с числом интерфейсов.
В системе с ожиданием (Blocked Calls Queued, BCQ) блокированные вызовы помещаются в бесконечную выходную очередь и обслуживаются в порядке поступления. Следствием блокировки является замедление обслуживания вызовов. В стационарном режиме,
если A0 < V, параметр обслуженного потока вызовов λs всегда равен
параметру поступающего потока λ0. Возможный сценарий обслуживания вызовов системой с ожиданием в стационарном режиме
показан на рис. 4.6 (серый цвет – вновь поступившие вызовы, темносерый – вызовы, обслуженные из очереди).
Пропускная способность систем с ожиданием оценивается нагрузкой, доставленной сетью «из конца в конец» с заданной вероятВероятностно-временные характеристики сетей коммутации 277
31
30
34
25
29
33
24
28
32
36
23
27
31
35
17
22
21
26
25
30
29
34
33
16
20
24
28
32
36
15
19
23
27
31
35
Количество занятых линий
14
18
22
26
30
34
9
13
17
21
25
29
33
8
12
16
20
24
28
32
36
7
11
15
19
23
27
31
35
6
10
14
18
22
26
30
34
3
5
9
13
17
21
25
29
33
2
4
8
12
16
20
24
28
32
V=4
1
36
t
Рис. 4.6. Диаграмма работы системы с ожиданием при
A0 = 3 Эрланга, V = 4, As = 3 Эрланга
ностью за нормируемое время te. В качестве оценки используется
функция распределения F(te), нормируемая на уровне 0,95. Последнее означает, что не менее 95 % поступивших от источника пакетов
должны быть доставлены получателю за время, не превышающее te.
На рис. 4.7 показано, что при одинаковой нагрузке система 1
(сеть 1) удовлетворяет заданной пропускной способности (более 95 %
Функция распределения F ( te)
1,0
0,95
Система 2
Система 1
Время доставки te
te
Рис. 4.7. Сравнение пропускной способности систем с ожиданием
278 Интерфейсы и протоколы сетей следующего поколения
вызовов обслуживаются за время, не превышающее te), а система
2 – нет. Хотя среднее время доставки пакета системой 1 может быть
и больше, чем среднее время доставки системой 2.
Общую задержку обслуживания пакета в системе с ожиданием
образуют две составляющие: задержка из-за внутренних блокировок и задержка в пучках каналов. Задержка из-за внутренних блокировок возникает из-за недостаточности ресурсов коммутационного оборудования, а задержка в пучке – из-за недостаточности ресурсов линейного оборудования (каналов связи).
Задержка из-за внутренней блокировки в КП возникает в случае, когда суммарная интенсивность (скорость) поступающих пакетов превышает интенсивность (скорость) обслуживания пакетов
внутри коммутатора. Интенсивность обслуживания пакетов внут­
ри коммутатора определяется производительностью процессора
­обработки пакетов и скоростью внутренней шины коммутатора.
Внутренняя блокировка приводит к накоплению пакетов во
входном буфере интерфейса, при отсутствии внутренних блокировок во входном буфере не может быть более одного пакета.
Задержка в пучке возникает в случае, когда суммарная интенсивность (скорость) поступающих пакетов на выходной интерфейс
превышает интенсивность (скорость) обслуживания пакетов этим
интерфейсом. Это возникает в случае, когда несколько практически
одновременно поступивших пакетов требуют соединения на один
и тот же интерфейс. Для устранения задержек в пучке скорость передачи любого выходного интерфейса должна быть равна суммарной скорости приема всех входных интерфейсов, что крайне невыгодно по технико-экономическим соображениям. Поэтому наличие
очереди в выходном буфере является нормальной ситуацией.
Задержка в пучке приводит к накоплению пакетов в выходном
буфере интерфейса, при отсутствии задержек в пучке в выходном
буфере не может быть более одного пакета.
В системе с повторными вызовами (Blocked Calls Repeated, BCR)
блокированные (явно потерянные) вызовы через случайный интервал времени, со средним, равным времени занятия, вновь поступают на вход системы. Следствием блокировки является увеличение
загрузки управляющего устройства. В стационарном режиме параметр обслуженного потока вызовов λs всегда равен параметру поступающего потока λ0. Процесс обслуживания вызовов системой с повторными вызовами показан на рис. 4.8 (серым цветом изображены
поступившие (первичные) вызовы, темно-серым – повторные).
Вероятностно-временные характеристики сетей коммутации 279
Количество занятых линий
V=4
1
15
15
27
27
14
14
26
26
26
9
9
9
9
9
31
27
8
8
19
19
19
19
34
27
7
13
8
14
25
30
19
26
6
12
18
15
24
9
31
36
3
5
11
17
21
23
29
33
34
2
4
10
16
20
22
28
32
35
27
t
Рис. 4.8. Диаграмма работы системы с повторными вызовами при
A0 = 3 Эрланга, V = 4, As = 3 Эрланга
В системе с коллизией (Collisions Calls Repeated, CCR) вызов, не
принятый к обслуживанию в момент занятости V линий пучка, становится на ожидание во входной очереди. Если вызовов в очереди
единственный, то при освобождении любой линии он занимает ее
и обслуживается, в противном случае, все поступившие вызовы из
очереди удаляются и через случайный интервал времени со средним, равным времени занятия, вновь поступают на вход системы.
Следствием блокировки при небольшой нагрузке является увеличение времени обслуживания, а при превышении некоторого пре­дела
Количество занятых линий
9
V =4
1
8
20
7
19
6
18
5
17
4
16
7
6
12
15
5
11
14
17
25
20
19
3
4
8
9
22
24
27
16
18
2
10
7
13
21
23
28
29
30
26
Рис. 4.9. Диаграмма работы системы с коллизией при A0 = 2,54 Эрланга, V = 4,
As = 2,54 Эрланга
280 Интерфейсы и протоколы сетей следующего поколения
t
As
V
С ожиданием
С потерями
С повторными
вызовами
С коллизией
A0max
V
A0
Рис. 4.10. Характеристики различных систем коммутации
поступающей нагрузки A0max – полное самопроизвольное прекращение обслуживания вызовов системой из-за переполнения очереди.
Процесс обслуживания вызовов системой с коллизией в стационарном режиме показан на рис. 4.9 (серым цветом помечены
первичные вызовы; темно-серым – вызовы с коллизией).
Зависимость обслуженной нагрузки от поступающей нагрузки для
рассмотренных систем приведена на рис. 4.10. Видно, что для всех систем существует свой предел обслуженной нагрузки As, который достигается при различных значениях поступающей нагрузки A0.
4.2.3. Простейшие коммутационные устройства
К простейшим коммутационным устройствам относят коммутационный элемент, соединитель и коммутатор.
Коммутационный элемент – двухполюсник вида 1 × 1 (рис. 4.11, а)
с одной точкой коммутации между входом (входным интерфейсом)
и выходом (выходным интерфейсом), имеет два возможных состояния – замкнуто или разомкнуто.
Соединитель – многополюсник вида n × 1 (рис. 4.11, б) с n точками коммутации, полученный объединением выходов n коммутационных элементов, в котором любой из n входов может соединиться
с выходом. Соединитель хорошо отображает функционирование
концентратора в локальной сети Ethernet.
Вероятностно-временные характеристики сетей коммутации 281
Коммутатор – многополюсник вида n × m (рис. 4.11, в) с nm точками коммутации, полученный объединением одноименных n входов m соединителей, в котором любой из n входов может соединиться с любым из m выходов. Коммутатор хорошо отображает функционирование IP-модуля. Входы коммутатора отображают входные
интерфейсы, по которым в IP-модуль поступают пакеты на обслуживание, а выходы коммутатора – выходные интерфейсы, по которым пакеты покидают IP-модуль в соответствии с адресом пункта
назначения.
Коммутационное поле (КП) – многополюсник вида N × M, в котором любой поступивший на вход вызов может соединиться с любым из M выходов в соответствии с заданным режимом установления соединения. Коммутационные поля, в которых соединение
входа-выхода происходит через один коммутационный элемент
(точку коммутации), называются однозвенными. Если КП обладает
таким свойством, что между любым входом и свободным выходом
всегда имеется свободный соединительный путь, то оно называются
полнодоступными. Коммутатор – однозвенное полнодоступное КП.
В режиме свободного искания любой поступивший на вход вызов
соединяется с любым свободным выходом.
В режиме группового искания выходы КП разбиваются на h направлений, и за каждым направлением закрепляется Vj (j = 1, …, h)
выходов так, что ΣVj = M. Выходы одного направления образуют пучок линий. Поступивший на вход вызов соединяется с любым свободным выходом выбранного направления.
В режиме линейного искания поступивший вызов соединяется
с одним фиксированным выходом.
б
a
1
1
1
в
1
1
2
2
n
n
1
2
n
Рис. 4.11. Простейшие коммутационные устройства:
а – коммутационный элемент; б – соединитель; в – коммутатор
282 Интерфейсы и протоколы сетей следующего поколения
1
m
Задачи к п. 4.2
Задача 1. Определить телефонные нагрузки, создаваемые телефонными аппаратами, используя статистические данные в разделе 4.2.1.
Решение: для квартирного телефонного аппарата: λ = 2 час–1 = 5,5 ⋅ 10–4 с–1,
ts = 200 с, a = λ ⋅ ts = 0,11 Эрл.
Для уличного телефонного аппарата: λ = 15 час–1 = 4,1 ⋅ 10–3 с–1, ts = 120 с,
a = λ ⋅ ts = 0,5 Эрл.
Для учрежденческого телефонного аппарата: λ = 5 час–1 = 1,4 ⋅ 10–3 с–1,
ts = 150 с, a = λ ⋅ ts = 0,21 Эрл.
Задача 2. От квартирного аппарата поступает телефонная нагрузка,
приведенная в задаче 1. Телефон подключен через формирователь пакетов
к ИКМ-тракту со скоростью VEL = 2 048 Кбит/с = 256 Кбайт/с. Формирователь пакетов реализован в соответствии с Рекомендацией G.711 (время
формирования пакета tcod = 20 мс, длина пакета LEN = 238 байт). Определить параметр потока пакетов λpac, среднее время обслуживания пакета
tpac, пакетную нагрузку apac.
Решение:
t
λ pac = λ s = 20 000 ÷àñ-1 = 5,55 ñ-1,
tcod
tpac =
LEN
= 0,00093 ñ,
VEL
apac = λ pac tpac = 0,0051 Ýðë.
4.3.Система с явными потерями (Blocked Calls Cleared, BCC)
4.3.1. Стационарный процесс рождения и гибели полнодоступного пучка
Функционирование многих реальных сетевых элементов хорошо
описывается марковским процессом рождения и гибели, где под
рождением понимается поступление вызова (пакета) и занятие им
одной обслуживающей линии, а под гибелью – окончание его обслуживания и освобождение линии. Процесс предполагает наличие
ограниченного пучка обслуживающих линий, момент поступления
вызова и время его обслуживания являются случайными величинами. При отсутствии свободных линий обслуживание вновь поступивших вызовов прекращается. Такой принцип обслуживания
применяется в системах с коммутацией каналов. Результаты имеют фундаментальное значение и широко используются в частных
случаях, которые мы рассмотрим ниже.
Вероятностно-временные характеристики сетей коммутации 283
Вероятностный процесс называется марковским, если будущее
поведение процесса не зависит ни от каких сведений о прошлом.
В уравнении Колмогорова–Чепмана это выражено в безусловных вероятностях перехода состояний:
V
pji (t + τ) = å pj (t) pji (τ).
j=0
Пусть px(t + τ) – вероятность состояния {х} пучка с х = 0, …, V занятыми линиями в момент времени (t + τ); px(t) – та же вероятность
в момент времени t. Согласно определению марковского процесса,
в момент времени τ0 может произойти не более одного элементарного события. Поэтому если в момент времени (t + τ) пучок находится в состоянии {x}, то это возможно при наступлении за время τ
одного из трех возможных событий:
1) в момент времени t пучок находился в состоянии {x – 1}, а за
время τ поступил один вызов;
2) в момент времени t пучок находился в состоянии {x + 1}, а за
время τ произошло одно освобождение;
3) в момент времени t пучок находился в состоянии {x}, а за время τ не поступил ни один вызов и не произошло ни одного освобождения.
Графически вероятностные процессы часто изображают в виде
диаграммы переходов, в которой соседние состояния соединяются
линиями, отображающими интенсивности переходов между ними.
Диаграмма переходов процесса рождения и гибели изображена на
рис. 4.12.
Вероятность поступления в состоянии {x – 1} за время τ хотя бы
одного вызова
æ
ö÷
(λ
τ)1 (λ x-1 τ)2
ç
+
- ...÷÷÷ τ®0 = λ x-1 τ.
p+1 (τ) = 1 - e-λ x-1τ = 1 - çç1 - x-1
çè
1!
2!
ø÷
Вероятность освобождения в состоянии {x + 1} за время τ хотя бы
одной линии пучка
λ0
1
0
µ1
λx –1
λ1
X
. . .
µ2
λ V–1
λx
µx
Рис. 4.12. Диаграмма переходов
284 Интерфейсы и протоколы сетей следующего поколения
V
. . .
µx + 1
µV
-µ x +1τ
p -1 (τ) = 1 - e
æ
ö÷
(µ
τ)1 (µ x+1τ)2
ç
= 1 - çç1 - x+1
+
- ...÷÷÷
= µ x+1τ.
÷ø
1!
2!
ççè
τ ®0
Вероятность нахождения пучка за время τ в том же состоянии {x}
p0 (τ) = e-λ x τ e-µ x τ = e-(λ x +µ x ) τ τ®0 = 1 - λ x τ - µ x τ.
Следовательно, из уравнения Колмогорова–Чепмана получаем
px (t + τ) = px-1 (t) p+1 (τ) + px+1 (t) p-1 (τ) + px (t) p0 (τ) =
= λ x-1τpx-1 (t) + µ x+1τpx+1 (t) + px (t) ´
´ (1 - λ x τ - µ x τ), x = 0,..., V ,
или
px (t + τ) - px (t)
= -λ x-1 px-1 (t) τ
- (λ x + µ x ) px (t) + µ x+1 px+1 (t), x = 0,..., V .
Перейдя к пределу и учитывая то, что λ–1 = µ0 = λv = µv + 1 = 0, получаем систему дифференциальных уравнений
dp0 (t)
= -λ 0 p0 (t) + µ1 p1 (t),
dt
x = 0,
dpx (t)
= λ x-1 px-1 (t) - (λ x + µ x ) px (t) + µ x+1 px+1 (t),
dt
x = 1,..., V -1,
dpV (t)
= λ V -1 pV -1 (t) - µ V pV (t),
dt
x = V.
В стационарном режиме вероятности состояний не зависят от
времени наблюдения, т. е.
dp0 (t) dp1 (t)
dp (t)
=
= ... = V = 0,
dt
dt
dt
поэтому px (t) ® [x], x = 0, …, V, где [x] – стационарная вероятность
занятия точно х линий пучка.
Следовательно,
µ1 [1] - λ 0 [0] = µ2 [2] - λ1 [1] = ... =
= µ V [V ] - λ V -1 [V -1] = 0,
или, иначе,
Вероятностно-временные характеристики сетей коммутации 285
[1] =
λ0
λ
λ λ
[0], [2] = 1 [1] = 0 1 [0],
µ1
µ2
µ1µ2
. . .
[ x] =
x-1
λ x-1
λ
[x -1] = Õ i [0],
µx
µ
i=0 i+1
. . .
V -1
λ V -1
λ
[V ] =
[V -1] = Õ i [0].
µV
µ
i=0 i+1
Из условия нормировки
V
å [x] = 1 находим
x=0
æ V x-1 λ ö÷-1
ç
j ÷
[0] = çç å Õ
÷÷ ,
çç
èx=0 j=0 µ j+1 ÷÷ø
а затем
x-1
x-1
[x] = Õ
λj
µ
j=0 j +1
[0] =
λi
Õµ
i=0 i+1
V x-1 λ
å Õµ
x=0 j=0
j
, x = 0, …, V.
(4.1)
j +1
Математическое описание функционирования реальных объектов
(систем) принято называть моделями. Наиболее распростра­ненные
на практике модели часто именуются именами их исследователей.
Общий принцип наименования моделей в виде сокращенной записи А/В/V/K/N предложил Кэндалл. Здесь позиция А обозначает
вид поступающего потока вызовов (M – пуассоновский поток вызовов), позиция В – вид времени занятия (M – экспоненциальное, D –
постоянное, G – произвольное), V – количество обслуживающих
приборов, K – общее количество обслуживающих приборов и мест
ожидания, N – количество источников нагрузки. Если какой-либо
параметр не указан, то по умолчанию он принимает значение ∞.
4.3.2. Модель Эрланга (M/M/V/V). Дискретная формула Эрланга
В системах распределения информации большой емкости, когда
количество источников нагрузки (абонентов) велико, а параметр
потока от одного источника мал, поведение одного источника (на286 Интерфейсы и протоколы сетей следующего поколения
личие или отсутствие от него вызовов) мало влияет на суммарный
поток вызовов. В этом случае суммарный поток вызовов является
практически постоянной величиной и не зависит от состояния {x},
(x = 0, 1, ..., V). Такой поток называется простейшим. Для него
λ0 = λ1 = … = λV – 1 = λ, µx = xµ.
Модель Эрланга для расчета вероятности потерь справедлива
при следующих предположениях:
– вызовы, поступающие на вход системы, образуют пуассоновский поток постоянной интенсивности с параметром λ;
– длительность занятия подчиняется экспоненциальному распределению с параметром µ;
– вызов, не принятый к обслуживанию в момент занятости V линий пучка, теряется, не влияя на моменты поступления последующих вызовов;
– любой из V выходов пучка доступен, когда он свободен, для любого поступающего вызова;
– исходной для расчета является поступающая нагрузка;
– система находится в стационарном режиме.
Подставляя значения параметров λx и µx в формулу (4.1) вероятностей стационарного процесса рождения и гибели, получим
-1
Ax
(λ / µ)x éê V (λ / µ)i ùú
[ x] =
[0], x = 0, 1, …, V,
(4.2)
=
å
x ! êëê i=0 i ! úûú
x!
где A = λ/µ – поступающая нагрузка первого рода.
Финальная вероятность
-1
A V éê V A i ùú
[V ] = EV ( A) =
å
V ! êëê i=0 i ! úûú
определяет потери по времени в полнодоступном пучке и носит название первой формулы Эрланга.
В модели Эрланга потери по времени, вызовам, нагрузке совпадают, параметр потерянного потока – λ EV (A), потерянная нагрузка – AEV (A).
Среднее число занятых линий
V
V -1 k
æ V A k A V ö÷
Ak
A
÷÷ = A (1 - EV ( A)).
Vm = [0] å k
= A [0] å
= A [0]ççç å
÷÷
k
k
k
V
!
!
!
!
ç
è
ø
k=0
k=0
k=0
Прямой расчет формулы Эрланга во многих практических случаях невозможен из-за переполнения разрядной сетки вычислиВероятностно-временные характеристики сетей коммутации 287
тельного устройства (при больших значениях A и V). Поэтому для ее
расчета пользуются рекуррентным соотношением
AEV -1 ( A)
(4.3)
EV ( A) =
,
V + AEV -1 ( A)
последовательно вычисляя E1(A), E2(A), …, EV – 1(A), EV(A), при начальном значении E0(A) = 1.
Следует запомнить:
E0 ( A) = 1, EV (0) = 0, E0 (0) = 0,
V
åA
EV ( A) = k=0
k
V -1
Ak
k!- å
k!
V
åA
k=0
k=0
k
A >> V
»
A-V
.
A
k!
4.3.3. Модель Эрланга (M/M/V/V). Интегральная формула Эрланга
Пусть {x} – состояние V-линейного пучка (наличие х установленных соединений), [x] – стационарная вероятность состояния {x},
(x = 0, …, V). Тогда первый потерянный вызов, поступивший на
(V + 1)-ю фиктивную линию пучка при условии не освобождения занятых линий, будет принадлежать потоку Эрланга (V – x)-го
порядка, поскольку потери наступят только после поступления
(V – x + 1)-го вызова.
Рассмотрим функцию распределения промежутков времени
между вызовами потока k-го порядка. Для этого обратимся к потоку Эрланга 0-го порядка (простейшему потоку вызовов) с интенсивностью λ, у которого функция распределения, плотность, изображение плотности и математическое ожидание промежутков между
вызовами соответственно равны
F0 (t) = 1 - e-λt , f0 (t) = dF0 (t) / dt = λe-λt ,
¥
f0 (s) = L[f0 (t)] = ò λe-λt e-zt dt =
0
¥
1
M [t0 ] = ò tf0 (t)dt = ,
λ
0
где L – оператор Лапласа.
288 Интерфейсы и протоколы сетей следующего поколения
λ
,
λ +z
Поток Эрланга k-го порядка образуется из порождающего потока
0-го порядка, когда k вызовов потока 0-го порядка пропускаются,
(k + 1)-й учитывается, затем снова k вызовов пропускаются, следующий учитывается и т. д. Используя теорему о свертке, получим изображение потока Эрланга k-го порядка:
λ k+1
fk (z) = L[fk (t)] =
,
(λ + z)k+1
из которого разложением Хевисайда для рациональных алгебраических дробей находим оригинал
(λt)k -λt
fk (t) = L-1 [fk (z)] = λ
e ,
k!
где L–1 – оператор обратного преобразования Лапласа.
Теперь легко находим функцию распределения промежутков
между вызовами
¥
k
(λt)i -λt
e ,
i!
i=0
Fk (t) = ò fk (t)dt = 1 - å
0
математическое ожидание промежутков времени между ними
¥
Mk [t] = ò tfk (t)dt =
0
k +1
λ
и параметр просеянного потока Эрланга k-го порядка
λ
λ k = 1 M [t] =
.
k
k +1
Вернемся к нашему случаю. На (x + 1)-ю линию пучка в состоянии {k}, k = 1, 2, …, x поступают условно потерянные вызовы потока
Эрланга (x – k)-го порядка, поскольку k вызовов уже «потеряны» на
предыдущих линиях пучка. Поэтому плотность потока условно потерянных вызовов, поступающих на (x + 1)-ю линию пучка, находим по формуле полной вероятности
fx (t) =
´λ
V
x
V
k=0
k=x+1
å [k]fx-k (t) = å [k]fx-k + å
k=0
[k]f0 (t) =
x
( λ / µ) k
[0] ´
k!
k=0
å
x-k
x
(λt)
e-λt + {1 - F (x)}λe-λt = λ[x]e-λt å Cxk (µt)x-k +
(x - k)!
k=0
+ {1 - F (x)}λe-λt = λ[x](1 + µt)x e-λt + {1 - F (x)}λe-λt .
Вероятностно-временные характеристики сетей коммутации 289
¥
Очевидно,
ò fx (t)dt = 1, откуда для любого значения x
0
¥
λ[x]ò (1 + µt)x e-λtdt + {1 - F (x)} = 1,
0
а функция распределения занятости х линий пучка
¥
¥
x -λt
F (x) = λ[x]ò (1 + µt) e
¥
ò ( A + z)
dt = [x]
0
A
0
x -z
e
dz
=
x
[x]I (x, A)
Ax
,
где I (x, A) = ò ( A + z)x e-zdz – интеграл первого рода.
0
В частности, при x = V, очевидно F(V) = 1,
AV
=
I (V , A ) ¥
[V ] = EV ( A) =
AV
ò ( A + z)
.
V -z
e
(4.4)
dz
0
Выражение (4.4) – интегральная формула Эрланга, позволяющая производить расчет потерь при любом действительном значении V.
Для интегральной формулы Эрланга верно рекуррентное соотношение
AEV -1 ( A)
EV ( A) =
V + AEV -1 ( A)
с начальным значением
Ev ( A) =
Av
,
I (v, A)
где v = V – INT(V) – дробная часть емкости пучка.
Также очевидно, что интегральное распределение Эрланга имеет вид
x
å Ak / k!
0
F (x) = k=
V
å Ak / k!
=
I (x, A) I (V , 0)
.
I (x, 0) I (V , A)
k=0
Практическое применение интегральной формулы Эрланга демонстрирует следующий пример.
290 Интерфейсы и протоколы сетей следующего поколения
4.3.4. Модель Эрланга (M/M/V/V). Поток Пальма
Промежутки времени между вызовами потерянного потока, кроме
первого, распределены по одинаковому закону, поэтому потерянный поток вызовов является рекуррентным и называется потоком
Пальма.
Для потерянного на V-линейном полнодоступном пучке простейшего потока вызовов Пальм вывел уравнение
t
ϕ x (t) = ϕ x-1 (t) - ò (1 - e-µτ )ϕ x (t - τ)dϕ x-1 (τ), x = 1, …, V,
(4.5)
0
где ϕx(t) – вероятность того, что в промежутке времени (t0, t0 + τ) ни
один вызов на х-й линии пучка не будет потерян, при условии, что
в данный момент t0 на этой линии теряется вызов; µ – интенсивность обслуживания вызова.
Применим к (4.5) преобразование Лапласа:
ϕ x (z) = ϕ x-1 (z) - ϕ x (z)dϕ x-1 (z) + ϕ x (z)dϕ x-1 (z + µ) =
= ϕ x-1 (z) - zϕ x (z)ϕ x-1 (z) + (z + µ)ϕ x (z)ϕ x-1 (z + µ),
откуда
ϕ x (z) =
ϕ x-1 (z)
.
1 + zϕ x-1 (z) - (z + µ)ϕ x-1 (z + µ)
(4.6)
Введем новую функцию Fx-1 (t) = 1 - ϕ x-1 (t) – функцию распределения промежутков времени между вызовами на выходе (х – 1)-й
линии пучка. Для нее
1
1 - zFx-1 (z) ϕ x-1 (z) = - Fx-1 (z) =
.
(4.7)
z
z
Подстановкой (4.7) в (4.6) получаем
ϕ x (z) =
1 - zFx-1 (z)
,
z[1 - zFx-1 (z) + (z + µ) Fx-1 (z + µ)]
или
(z + µ) Fx-1 (z + µ)
1
Fx (z) = - ϕ x (z) =
=
z
z[1 - zFx-1 (z) + (z + µ) Fx-1 (z + µ)]
fx-1 (z + µ)
=
,
z[1 - fx-1 (z) + fx-1 (z + µ)]
(4.8)
где fx – 1(z) – преобразование Лапласа от плотности потока, потерянного на (х – 1) линиях пучка.
Вероятностно-временные характеристики сетей коммутации 291
Последовательно вычисляя
fi-1 (z + ( j + 1)µ)
fi (z + jµ) =
, i = 1, …, x, j = 0, …, x
1 - fi-1 (z + jµ) + fi-1 (z + ( j + 1)µ)
при начальных
f0 (z + jµ) =
λ
, j = 0, …, x,
λ + z + jµ
итерационным методом из решения уравнения
1 - fx-1 (z) + fx-1 (z + µ) = 0
находим корни γk, k = 1, …. x + 1.
Тогда вследствие того, что fx(0) = 1, (4.8) можно представить
в виде
x-1
Fx (z) =
λ x+1 / Õ fi (z)
x+1
i=0
,
z Õ (z + γ k )
k=1
которое имеет оригинал
x-1
λ x+1 / Õ fi (γ k )
x+1
Fx (t) = 1 - å
k=1
x+1
i=1
e γ kt . (4.9)
γ k Õ (γ j + γ k )
i=1
j ¹k
Таким образом, в неявном виде получено аналитическое выражение (4.9) для расчета функции распределения промежутков времени между вызовами потерянного потока на (х – 1) линиях пучка.
Любое аналитическое выражение, полученное в неявном виде, обладает, по крайней мере, двумя недостатками.
Во-первых, оно лишено наглядности для анализа зависимости
рассчитываемого параметра от исходных данных, поскольку последние в конечном аналитическом выражении отсутствуют.
Во-вторых, дальнейшее использование рассчитанного параметра
в качестве составной части другого сложного аналитического выражения еще более усложняет решение и теряет наглядность. Эти
причины заставляют искать эмпирическое приближение точного
решения.
В некоторых случаях хорошее эмпирическое приближение дает
экспоненциальное распределение в виде
292 Интерфейсы и протоколы сетей следующего поколения
Fx (t) = 1 - exp(-λtEx ( A)).
(4.10)
Для сравнения (4.9) и (4.10) в табл. 4.1 приведены результаты расчета функции распределения промежутков времени между вызовами потерянного потока при следующих исходных данных: λ = 10
час–1; µ = 10 час–1; x = 5. Точное решение вычислялось по формуле
F5(t) = 1 – 1,0048e–0,02t + 0,0085e–10,5t – 0,0053e–22,5t +
+ 0,002e–37,8t – 0,0004e–56,8t + 0,00003e–82,9t.
Как видно из данных табл. 4.1, в диапазоне t > 10λ–1 приближение вполне пригодно для инженерных расчетов.
В процессе обслуживания вызовов сетью связи каждый узел
коммутации каналов анализирует адресную часть поступившего
сигнального сообщения и устанавливает соединение в соответствии
с таблицей маршрутов. Если возникает дефицит ресурсов (каналов)
на пути первого выбора, то на альтернативные пути поступает просеянный поток вызовов, не принятый к обслуживанию на пути первого выбора. На последующих узлах происходит объединение собственного потока вызовов с просеянным потоком вызовов.
Рассмотрим фрагмент сети связи, состоящей из трех узлов коммутации (A, B, C), изображенной на рис. 4.13, и проследим прохождение потоков при установлении соединений от узла А к узлу В.
Основной поток вызовов пойдет по пути первого выбора (на
рис. 4.13 – жирная линия), при недостаточной емкости основного
пучка – по пути второго выбора через узел С (на рис. 4.13 – пунктирная линия). Таким образом, в пучке соединительных линий от узла
А к узлу В происходит просеивание потока собственных вызовов
узла А с параметром ΛА, а на входе узла С – объединение двух потоТаблица 4.1
Значения функции распределения, вычисленные по (4.9) и (4.10)
Значение t, час
0,50
1,00
2,00
5,00
10,00
50,00
100,00
Значение Fx(t)
по (4.9)
по (4.10)
0,0074
0,0194
0,0431
0,1107
0,2130
0,7040
0,9128
0,0152
0,0302
0,0595
0,1421
0,2641
0,7842
0,9534
Вероятностно-временные характеристики сетей коммутации 293

ΛA
A
λA

B

C
ΛC
Рис. 4.13. Объединение и просеивание потоков в сети
ков: потока собственных вызовов с параметром ΛC и просеянного потока абонентов узла А с параметром λA. При расчете характеристик
системы коммутации в предыдущих разделах было необходимо
знать тип и параметры поступающего потока вызовов. Если поток
собственных вызовов узла С можно вполне считать простейшим
с параметром ΛC, то степень влияния просеянного потока с параметром λA на поток ΛC можно определить, зная только процедуру просеивания потока ΛΑ узлом А. Тогда встают вопросы: как классифицировать суммарный поток вызовов с параметром (ΛC + λA)? В частности, в каких случаях суммарный поток вызовов можно считать простейшим и уверенно пользоваться соответствующими формулами?
Ранее были рассмотрены характеристики двух просеянных потоков: в (4.3) – потока Эрланга и в (4.4) – потока Пальма. На рис. 4.14
для примера показаны порождающий поток вызовов, просеянный поток Эрланга 4-го порядка и потерянный поток Пальма 4-го
порядка.
Как видно из рис. 4.14, при одинаковой интенсивности просеянных потоков на интервале среднего времени занятия ts характер потоков существенно разнится, хотя они имеют один и тот же параметр потока.
Просеянный поток Эрланга k-го порядка описывается достаточно простым аналитическим выражением
ts
а
б
в
t
t
t
Рис. 4.14. Потоки вызовов: а – порождающий поток вызовов; б – просеянный поток
Эрланга 4-го порядка; в – потерянный поток Пальма 4-го порядка
294 Интерфейсы и протоколы сетей следующего поколения
¥
k
I (k, λt) -λt
(λt)i -λt
= 1e
e ,
!
i
I (k, 0)
i=0
Fk (t) = ò fk (t)dt = 1 - å
0
¥
где I (k, λt) = ò (λt + z)k e-zdz – интеграл первого рода; λ = Λ/(k + 1) –
0
параметр просеянного потока; Λ – параметр порождающего потока
вызовов.
Потерянный поток Пальма считается только численными методами и не имеет явного аналитического выражения, хотя его параметр после просеивания полнодоступной схемой известен – ΛEV(Λ).
Поэтому для аналитического описания потерянного потока вызовов
на полнодоступном пучке приходится производить подмену потока
Пальма потоком Эрланга той же интенсивности.
Пусть Λi – параметр простейшего порождающего i-го потока вызовов, λi – параметр просеянного i-го потока вызовов. Тогда процедура классификации суммарного n-мерного потока вызовов сводится к следующему.
1. Определяется эквивалентный параметр порождающего потока вызовов:
n
Λs =
λi
n
å λi
i=1
Λi +
λ2
n
å λi
Λ2 + ... +
i=1
λn
n
å λi
å λ i Λi
Λn = i=1n
i=1
.
åλ i
i=1
2. Определяется суммарный параметр просеянного потока вызовов:
n
λs = å λ i.
i=1
3. Вычисляется коэффициент просеивания эквивалентного порождающего потока вызовов:
k = Λs / λs – 1.
4. Рекомендуются функции распределения (ФРВО):
æ n
ö÷
F (t) = 1 - expççç-å λ i t÷÷÷, k < 1,
çè i=1
ø÷
F (t) = 1 -
I (k, Λ st)
exp(-Λ st), k ³ 1.
I (k, 0)
Вероятностно-временные характеристики сетей коммутации 295
4.3.5. Модель Энгсета (M/M/V/V/N). Дискретная формула Энгсета
В системах распределения информации малой емкости, когда количество источников нагрузки (абонентов) мало, параметр потока
от одного источника сравним с суммарным потоком вызовов. В этом
случае суммарный поток вызовов зависит от числа источников и от
состояния {x}, (x = 0, 1, ..., V) системы обслуживания. Такой поток
называется примитивным потоком с простым последействием. Для
него λ 0 ¹ λ1 ¹ ... ¹ λ V -1, µ x = xµ.
Модель Энгсета для расчета вероятности потерь справедлива при
предположениях:
– параметр поступающего потока вызовов в момент занятости х
выходов пропорционален числу свободных источников, т. е.
λ x = (N - x)α, 0 ≤ х ≤ V,
где N – количество источников вызовов (число входов в КП); α – интенсивность поступления вызова от свободного источника;
– длительность занятия подчиняется экспоненциальному распределению с параметром µ;
– вызов, не принятый к обслуживанию в момент занятости V линий пучка, теряется, не влияя на моменты поступления последующих вызовов;
– любой из V выходов пучка доступен, когда он свободен, для любого поступающего вызова;
– исходной для расчета является поступающая нагрузка;
– система находится в стационарном режиме.
Подставляя значения параметров λx и µx в формулу (4.1) вероятностей стационарного процесса рождения и гибели, получим
ù -1
,
(4.11)
å
êë i=0
úû
где A = α/µ – пуассоновская нагрузка второго рода.
Финальная вероятность
é V
ù -1
V Vê
i
iú
V V
Pt = [V ] = EN, V ( A) = CN A ê å CN A ú = CN
A [0]
êë i=0
úû
определяет потери по времени и носит название формулы Энгсета.
Рассмотрим источник без потерь. Для него N = V = 1, [1] = a – реальная удельная нагрузка, поэтому из (4.11)
é
x xê
[x] = CN
A ê
V
i
CN
A i úú
296 Интерфейсы и протоколы сетей следующего поколения
a=
α/µ
A
α
a
=
= α r ts , A = =
,
1+ α / µ 1+ A
µ 1- a
где αr – реальный параметр потока, поступающий от источника
в системе без потерь; ts – среднее время занятия.
При численных расчетах производят замену реальной удельной
нагрузки а на пуассоновскую нагрузку второго рода по формуле
А = а/(1 – a).
Параметр потерянного потока вызовов
λ π = λ V [V ] = (N - V )α[V ] = (N - V )αEN, V ( A) = (N - V )αPt .
Потери по вызовам
Pc =
[V ]λ V
V
å [ x] λ x
x=0
V V
CN
A [0](N - V )α
=
V
å
x=0
x x
CN
A [0](N - x)α
=
V
V
CN
-1 A
V
å
x=0
x
x
CN
-1 A
= EN-1, V ( A).
Потери по нагрузке
V
Na - å x[x]
Py =
x=0
Na
=
V
V
CN
-1 A
V
å CNx A x
=
æ
N-V
Vö
EN, V ( A) = çç1 - ÷÷÷ EN, V ( A).
ç
è
N
Nø
x=0
Среднее количество занятых линий (обслуженная нагрузка)
Vm =
V
Nα æ
æ
Vö
ö
å x[x] = (N - (N - V )Pt )a = α + µ çççè1 -çççè1 - N ÷÷÷ø EN, V ( A)÷÷ø÷.
x=0
Прямой расчет формулы Энгсета во многих практических случаях невозможен из-за переполнения разрядной сетки вычислительного устройства (при больших значениях A и V). Поэтому для ее расчета пользуются рекуррентным соотношением
A (N - V + 1) EN, V -1 ( A)
EN, V ( A) =
,
A (N - V + 1) EN, V -1 ( A) + V
последовательно вычисляя EN, 1 ( A), EN, 2 ( A), …, EN, V ( A), при начальном значении EN, 0 ( A) = 1.
Следует запомнить:
EN, 0 ( A) = 1, EN, V (0) = 0, EN, 0 (0) = 0,
Вероятностно-временные характеристики сетей коммутации 297
P N >V =
t A ®¥
(N - V + 1) A - V
(N - V ) A - V
, P N >V =
,
c
(N - V + 1) A
(N - V ) A
A ®¥
P
N >V
y A ®¥
=
N - V (N - V + 1) A - V
.
(N - V + 1) A
N
В инженерной практике при выполнении обеих условий N >> V
и N > 100 для расчета потерь рекомендуется пользоваться моделью
Эрланга, в противном случае, следует использовать модель Энгсета.
4.3.6. Модель Энгсета (M/M/V/V/N). Интегральная формула Энгсета
Пусть {x} – состояние V-линейного пучка (наличие х установленных
соединений), [x] – стационарная вероятность состояния {x}, (0 ≤ x ≤ V).
Тогда первый потерянный вызов, поступивший на (V + 1)-ю фиктивную линию пучка при условии неосвобождения занятых линий,
будет принадлежать потоку Энгсета (V – x)-го порядка, поскольку
потери наступят только после поступления (V – x + 1)-го вызова.
Изображение плотности условно потерянного потока Энгсета
(V – k)-го порядка имеет вид
V
λi
fk (z) = L[fk (t)] = Õ
,
λ +z
i =k i
а сам оригинал
V
V
i =k
i =k
fk (t) = L-1 [fk (z)] = å e-λ it Õ λ i /
V
Õ
j=k,j¹k
(λ j - λ i ).
Плотность потока условно потерянных вызовов, поступающих
на (V + 1)-ю фиктивную линию пучка, находим по формуле полной
вероятности
V
fV (t) =
V x-1
V
λj
å [x]fV -x (t) = å Õ µ
x=0 j=0
x=0
j +1
V
-λ j t
[0] å e
i= x
Õ λj
j =k
V
Õ
j=k,j¹i
= [V ]λ V
V
å e-λ t
x
x=0
(λ j - λ i )
x
æ
÷÷ö
çç
µj
÷÷
Õ
çç
x
÷÷
çç
j=x+1
i= j
÷÷÷.
çç1 + å x-1
V
÷
çç
1
=
j
Õ (λ j - λ x ) ççç
Õ (λ i - λ x ) ÷÷÷÷
è
ø
j=x+1
i= j-1
V
Õ
=
µj
298 Интерфейсы и протоколы сетей следующего поколения
(4.12)
Подставляя в (4.12) λx = (N – x)α, µx = xµ, получим
fV (t) = [V ](N - V )αe-Nαt
V
å CVx (-1)V -x (1 + µ / α)x exαt (µ / α)V -x =
x=0
= [V ](N - V )αe-Nαt ((1 + µ / α)eαt - µ / α) V .
Очевидно,
¥
ò fV (t)dt = 1,
0
откуда для любого значения V
1
[V ] = EN, V ( A) = ¥
=
ò (N - V )α((1 + µ / α)e
αt
V -Nαt
- µ / α) e
dt
0
=
(α / µ)V
¥
=
-αt V -( N-V )αt
ò (1 + α / µ - e
) e
d((N - V )αt)
0
=
AV
¥
-
ò (1 + A - e
z
N-V ) V e-z dz
=
AV
,
I (N, V , A)
(4.13)
0
z öV
÷
çç
где I (N, V , A) = ò çç1 + A - e N-V ÷÷÷ e-zdz – интеграл второго рода.
÷÷
ç
ø
0 çè
Выражение (4.13) – интегральная формула Энгсета, позволяющая производить расчет потерь при любом действительном значении V.
Для интегральной формулы Эрланга верно рекуррентное соотношение
A (N - V + 1) EN, V -1 ( A)
EN, V ( A) =
A (N - V + 1) EN, V -1 ( A) + V
¥æ
с начальным значением
EN, v ( A) =
Av
,
I (N, v, A)
где v = V – INT(V) – дробная часть емкости пучка.
Вероятностно-временные характеристики сетей коммутации 299
Интегральная формула Энгсета используется при расчете потерь
в пучке малой емкости при нецелочисленном значении емкости
пучка.
Задачи к п. 4.3
Задача 1. Время занятия подчинено экспоненциальному распределению с параметром b. Пучок находится в состоянии {x}. Опреде­лить вероятность того, что за время t: 1) освободятся все линии пучка; 2) не освободится ни одной линии; 3) освободится хотя бы одна линия.
Решение:
-bt x
1) (1 - e ) ;
-xbt
;
2) e
3) 1 - e-xbt .
Задача 2. Для полнодоступного пучка определить: 1) какая максимальная нагрузка может поступать на 2-линейный пучок; 2) какая максимальная нагрузка может быть обслужена 2-линейным пучком; 3) какая должна
быть емкость пучка, чтобы без потерь обслужить нагрузку 1 Эрланг.
Решение:
1) ∞;
2) 2 Эрланг;
3) ∞.
Задача 3. Вывести рекуррентную формулу Эрланга.
Решение:
A V V -1 A i
+å
i!
V ! i=0
1
V
V + AEV -1 ( A)
=
= 1+
=
.
V
(
)
EV ( A)
AE
A
AEV -1 ( A)
A V!
V -1
Задача 4. На полнодоступный пучок емкостью V = 3 поступает нагрузка
первого рода интенсивностью A = 3 Эрл. Определить распределение стационарных вероятностей пучка.
Решение: используем (4.2):
[0] = [0];
[1] =
[2] =
[3] =
A1
[0] = 3[0];
1!
A2
[0] = 4,5[0];
2!
A3
[0] = 4,5[0].
3!
300 Интерфейсы и протоколы сетей следующего поколения
Из нормирующего условия [0] + 3[0] + 4,5[0] + 4,5[0] = 1 находим:
[0] = 2/26, а затем – искомые стационарные вероятности [1] = 6/26;
[2] = 9/26; [3] = 9/26.
Задача 5. На полнодоступный пучок емкостью V = 3 поступает нагрузка
первого рода интенсивностью A = 3 Эрл. Определить вероятность потерь,
используя рекуррентную формулу Эрланга.
Решение: используем (4.3):
3 ×1
E0 (3) = 1;
E1 (3) =
= 0,75;
1+ 3
3 × 917
3 × 0,75
9
9
E2 (3) =
= ;
E3 (3) =
= .
9
2 + 3 × 0,75 17
26
3 + 3 × 17
Задача 6. В телефонной сети общего пользования провайдер имеет
N = 20 000 пользователей. Каждый пользователь в среднем осуществляет сеанс связи в Интернет в дневное время (длительность – 12 часов) один
раз в два дня. Для выхода в Интернет используется модемный пул, который закрепляет за каждым пользователем индивидуальный станционный
модем на время сеанса связи. Среднее время пребывания в Интернет –
1 час. Определить необходимое число станционных модемов, чтобы вероятность отказа в сеансе связи из-за их недостатка не превосходила бы значения 0,1.
Решение: находим параметр потока вызовов от одного абонента λ =
= 1/2 дня = 1/24 час = 0,0416 час–1 и поступающую нагрузку:
A = λ × N × ts = 0,0416 × 20 000 ×1 = 833,3 Ýðë.
Из первой формулы Эрланга
é V A i ù -1
ê
ú
êå i! ú
êë i=0 úû
при EV(A) = 0,1, A = 833,3 Эрл находим необходимое число станционных
модемов V = 760, что гораздо меньше числа пользователей N = 20 000.
[V ] = EV ( A) =
AV
V!
Задача 7. На полнодоступный 100-линейный пучок в ЧНН поступает
нагрузка A = 80 Эрланг. В течение 20 минут ЧНН пучок был исправен, в течение последующих 20 минут вышли из строя 10 линий пучка, а затем неисправность устранили. Определить обслуженную нагрузку.
Решение: средняя емкость пучка в ЧНН – V = 100/3 + 90/3 + 100/3 =
= 96,6. Подставляя значения A = 80, V = 96,6 в интегральную формулу Эрланга (4.4), находим потери EV(A) = 0,00833 и обслуженную нагрузку
As = A(1 – EV(A)) = 79,33 Эрл.
Задача 8. Показать, что суммарный поток, полученный объединением
простейших потоков, простейший.
Вероятностно-временные характеристики сетей коммутации 301
Решение: в этом случае Λi = λi.
n
å Λ2i
Λ s = i=n1
å Λi
n
, λs = å Λ i, k =
i=1
i=1
n
å Λ2i
i=1
æn
ö2
çççå Λ i ÷÷÷
çèi=1 ÷÷ø
-1 < 0.
Задача 9. Показать, что суммарный поток, полученный объединением
многих просеянных потоков, стремится к простейшему.
Решение:
n
å λiΛi
Λ s = i=1n
å λi
n
, λ s = å λ i , k = Λ s / λ s -1.
i=1
i=1
При n → ∞ среднее значение порождающего потока Λs возрастает гораздо медленнее, чем λs, что приводит к постепенному снижению значения
k = Λs / λs – 1, а это и означает, что по своим свойствам суммарный поток
вызовов все более будет приближаться к простейшему.
В частности, при объединении n одинаково просеянных потоков с параметром λ каждый среднее значение параметра порождающего потока остается постоянным Λs = Λ, суммарный параметр просеянного потока λs = nλ,
k = Λ / nλ – 1.
Задача 10. Классифицировать суммарный поток, полученный объединением простейшего потока c параметром Λ1 = 100 час–1 и потока с параметром Λ2 = 200 час–1, потерянном на 100-линейном пучке.
Решение:
Λ1 = 100,
λ1 = 100,
k1 = Λ1 / λ1 – 1 = 0,
Λ2 = 200,
λ2 = 200 E100(200) = 100, k2 = Λ2 / λ2 – 1 = 1,
Λs = 150,
λs = 200,
k = Λs / λs – 1 < 0.
Суммарный поток – простейший с ФРВО:
F(t) = 1 – exp (–200t).
Задача 11. Классифицировать суммарный поток, полученный объединением простейшего потока c параметром Λ1 = 100 час–1 и потока с параметром Λ2 = 200 час–1, потерянном на 220-линейном пучке.
Решение:
Λ1 = 100,
λ1 = 100,
k1 = 0,
Λ2 = 200,
λ2 = 200 E220(200) = 2,2,
k2 = 89,
Λs = 102,1, λs = 102,2,
k < 0.
Суммарный поток – простейший с ФРВО:
F(t) = 1 – exp (–102,2t).
302 Интерфейсы и протоколы сетей следующего поколения
Задача 12. Классифицировать суммарный поток, полученный объединением потока c параметром Λ1 = 100 час–1, потерянном на 84-линейном
пучке, и потока с параметром Λ2 = 200 час–1, потерянном на 153-линейном
пучке.
Решение:
Λ1 = 100,
λ1 = 100 E84(100) = 20,
k1 = 4,
Λ2 = 200,
λ2 = 200 E153(200) = 50,
k2 = 3,
Λs = 171,4, λs = 70,
k = 1,45.
Суммарный поток – поток Эрланга 1,45-порядка с ФРВО:
F (t) = 1 -
I (1,45, 171,4t)
exp(-171,4t).
I (1,45, 0)
Задача 13. Классифицировать суммарный поток, полученный объединением простейшего потока c параметром Λ1 = 1 час–1 и потока с парамет­
ром Λ2 = 200 час–1, потерянном на 220-линейном пучке.
Решение:
Λ1 = 1,
λ1 = 1,
k1 = 0,
Λ2 = 200,
λ2 = 200 E220(200) = 2,2,
k2 = 89,
Λs = 137,8, λs = 3,2,
k = 42.
Суммарный поток – поток Эрланга 42-порядка с ФРВО:
I (42, 137,8t)
F (t) = 1 exp(-137,8t).
I (42, 0)
Задача 14. Определить потери по времени, вызовам и нагрузке для
N = 5, V = 5. Удельная нагрузка a = 0,8 Эрл.
Решение: в нашем случае N = V, поэтому используем модель Энгсета:
a
0,8
A=
=
= 4 Ýðë;
1 - a 1 - 0,8
Pt =
C55 45
æ 5ö
C5 45
0,327, Pc = 4
=
= 0, Py = çç1 - ÷÷÷ Pt = 0.
5
5
çè 5 ø
å C5i 4i
å C4i 4i
i=0
i=0
Задача 15. Оператор использует для доступа в Интернет учрежденческую АТС на N = 50 номеров через пучок V = 30 линий. Измерения потерь
по вызовам оказались равными 0,026. Оператор хочет снизить потери до
значения не более 0,001. Сколько нужно добавить линий?
Решение: из уравнения Pc = EN – 1, V (A) при известных значениях Pc =
= 0,026, N = 50, V = 30 находим параметр свободного источника A =
= 0,1 Эрл.
При известных значениях Pc = 0,001, N = 50, A = 0,1 Эрланг находим,
что уравнение Pc = 0,1 ≥ EN – 1, V (A) удовлетворяется при емкости пучка V =
= 35. Следовательно, нужно добавить 5 линий.
Вероятностно-временные характеристики сетей коммутации 303
4.4.Система с ожиданием (Blocked Calls Queued, BCQ)
4.4.1. Система M/M/V. Стационарные вероятности
В системе с ожиданием при недостатке обслуживающих приборов
блокированные вызовы становятся в очередь и обслуживаются
в порядке поступления. Такая дисциплина обслуживания применяется в системах с коммутацией пакетов, например, в маршрутизаторах при использовании алгоритма «с наибольшими усилиями»
(Best Effort).
Диаграмма переходов марковского процесса системы обслуживания с ожиданием изображена на рис. 4.15.
Модель справедлива при предположениях:
– вызовы, поступающие на вход системы, образуют пуассоновский поток постоянной интенсивности с параметром λ;
– длительность занятия подчиняется экспоненциальному распределению с параметром µ;
– любой из V выходов пучка доступен, когда он свободен, для
любого поступающего вызова;
– вызов, не принятый к обслуживанию в момент занятости V линий пучка, поступает в очередь и обслуживается в порядке поступ­
ления (дисциплина FIFO);
– исходной для расчета является поступающая нагрузка;
– система находится в стационарном режиме.
Используя уравнения стационарного процесса рождения и гибели, при A < V имеем
λ
λ
...
1
0
µ1
λ
λ
µ2
...
X
µx
λ
µx + 1
V
µV
λ
µV
V+1
λ
µV
Рис. 4.15. Диаграмма переходов системы с ожиданием
304 Интерфейсы и протоколы сетей следующего поколения
...
( λ / µ) x
[0], x = 0, 1,..., V
x!
[x] =
,
x-V
(λ / µ)V æç λ ö÷
÷
[0], x = V + 1, V + 2,...
ç
V ! çè V µ ÷÷ø
или, принимая A = λ/µ ,
[ x] =
Ax
[0], x = 0, 1,..., V
x!
,
x-V
A V æç A ö÷
[0], x = V + 1, V + 2,...
ç ÷
V ! çè V ÷ø
где [0] определяется из нормирующего условия
[0]-1 =
V
Ax AV
+
x!
V!
x=0
å
=
æ A ö÷x-V
çç ÷
çè V ÷ø
x=V +1
¥
å
=
A<V
V
Ax AV A
+
.
x!
V! V-A
x=0
å
Потери по времени равны вероятности того, что все линии заняты, она же – вероятность ожидания начала обслуживания
Pt = P(> 0) =
¥
AV
EV ( A)
. (4.14)
A
1 - (1 - EV ( A))
V
1
å [x] = V ! 1- A / V [0] =
x= V
(4.14) – вторая формула Эрланга.
Среднюю длину очереди находим из соотношения
n=
¥
AE ( A)
V
.
(
A
)
V
A
V
å (k - V )[k] = (V - A) +V AE
k=V
4.4.2. Система M/M/V. Функция распределения
Обозначим через P(> t) вероятность ожидания начала обслуживания больше, чем t, а через Pk(> t) – условную вероятность ожидания начала обслуживания при поступлении вызова в момент, когда
в системе находятся k вызовов, из них V вызовов обслуживаются,
а (k – V) вызовов ожидают обслуживания. По формуле полной вероятности
Вероятностно-временные характеристики сетей коммутации 305
P(> t) =
¥
å [k]Pk (> t).
k=V
Вероятность Pk(> t) есть вероятность того, что за время t произойдет не более 1, 2, ..., (k – V) освобождений и вычисляется c использованием распределения Пуассона
k-V
(V µt)i -V µt
Pk (> t) = å
e
.
i!
i=0
Поэтому
¥
k-V
æ¥
(V µt)i -V µt A V
(V µt)i ÷÷ö
e
[0]e-V µt ççç å ( A / V )k-V å
=
÷
i!
V!
i! ÷÷ø
çèk=V
i=0
i=0
k-V
P(>t)= å [k] å
k=V
=
V> A
AV 1
[0]e-(V µ-λ)t = P(>0)e-(V µ-λ)t .
V ! 1- A
V
При A > V стационарного процесса обслуживания вызовов нет:
длина очереди будет монотонно стремиться к бесконечности, каждую единицу времени занятия очередь будет увеличиваться на
(A – V) вызовов.
Функция распределения времени ожидания начала обслуживания Fw(t) или вероятность окончания времени ожидания начала обслуживания за время t
=
-( V µ-λ )t
Fw (t) = 1 - P(> t) = 1 - P(> 0)e
а ФРВО самого обслуживания –
,
(4.15)
(4.16)
Fs (t) = 1 - e-µt ,
поэтому ФРВО пребывания вызова в системе (ФРВО конца обслуживания вызова)
t
Fe (t) = ò Fw (τ)dFs (t - τ). (4.17)
0
4.4.3. Система M/M/1
Принимая в формулах (4.15)–(4.17) значение V = 1, A = a, получим:
вероятность постановки в очередь: P(> 0) = A = a = λ / µ;
λ
ФРВО начала обслуживания: Fw (t) = 1 - e-(µ-λ)t ;
µ
306 Интерфейсы и протоколы сетей следующего поколения
λ 1
a 1
=
;
среднее время ожидания начала обслуживания: tw =
µ
µ
λ
µ
1- a
λ 1
a 1
w=
=
;
µ µ - λ µ 1- a
ФРВО конца обслуживания: Fe (t) = 1 - e-(µ-λ)t = 1 - e-(1-a)µt ;
1
;
среднее время ожидания конца обслуживания: te =
µ-λ
вероятность нахождения вызова (пакета) на k-м месте ожидания:
[k] = ak+1 (1 - a);
a2
.
1- a
При обслуживании только одного источника очередь на обслуживание отсутствует, ФРВО конца обслуживания –
средняя длина очереди (в пакетах): n =
Fe (t) = 1 - e-(µ-λ)t λ=0 = 1 - e-µt .
4.4.4. Система M/D/V
На полнодоступный пучок из V линий поступает простейший поток
вызовов с параметром λ. Длительность занятия (обслуживания) постоянна и равна µ. Если в момент поступления вызова все линии
заняты, то вызов становится на ожидание и обслуживается в порядке поступления. Это имеет место в сетях АТМ, где используются пакеты постоянной длины.
Для определения вероятности того, что время ожидания начала
обслуживания будет больше, чем t, воспользуемся тем, что за время
t0 = 1/µ система обслуживает V вызовов, следовательно, вызов будет
находиться на ожидании более t только в том случае, если в системе
находится не менее Vµt вызовов, т. е.
P(> t) =
¥
å
[k] =
k=V µt
EV ( A)
=
1-
A
(1 - EV ( A))
V
¥
k
A V æç A ö÷
ç ÷ [0] =
V ! çè V ø÷
k=V µt
å
æ A ÷öV µt
æ öV µt
çç ÷ = P(> 0)çç A ÷÷ ,
çè V ÷ø
èç V ÷ø
откуда ФРВО начала обслуживания (вероятность окончания времени ожидания начала обслуживания за время t)
æ A öV µt
Fw (t) = 1 - P(> t) = 1 - P(> 0)ççç ÷÷÷ , A < V .
èV ø
Вероятностно-временные характеристики сетей коммутации 307
Для однолинейной системы M/D/1 (V = 1, A/V = a < 1, P( > 0) = a)
Fw (t) = 1 - aaµt , a < 1,
ïì0, t < 1 / µ
Fs (t) = ïí
.
ïïî1, t ³ 1 / µ
ФРВО окончания обслуживания системы M/D/1 находим через
преобразование Лапласа
¥
fw (z) = z ò Fw (t)e-ztdt = 1 0
¥
az
z - µ ln a - az
=
;
z - µ ln a
z - µ ln a
fs (z) = z ò Fs (t)e-ztdt =
0
¥
ò
e-ztdt = e-z/µ ;
1/µ
1
z - µ ln a - az -z/µ
Fe (z) = fw (z)fs (z) =
e
;
z
z(z - µ ln a)
Fe (t) = 1 - ae-ln a eµt ln a = 1 - aa-1aµt = 1 - aµt . (4.18)
Заметим, что (4.18) имеет изображение
¥
fe (z) = z ò (1 - aµt )e-zt =
0
¥
= zò (1 - eµt ln a )e-zt dt = 1 0
z
-µ ln a
=
.
z - µ ln a z - µ ln a
Среднее время ожидания начала обслуживания
df (z)
(1 - a)(z - µ ln a) - (z - µ ln a - az)
tw = - w
==
dz |z=0
(z - µ ln a)2
|z=0
=
(1 - a)µ ln a - µ ln a
(µ ln a)2
=-
a
a 1
=.
µ ln a
µ ln a
В табл. 4.2 приведен пример, показывающий различие среднего
времени ожидания начала обслуживания tw при одном и том же
среднем времени обслуживания ts для случайного и постоянного
распределения времени обслуживания t в однолинейном пучке.
Видно, что среднее время ожидания начала обслуживания tw при
случайном распределении существенно выше.
За среднее время пребывания вызова в системе все ранее поступившие вызовы будут обслужены, т. е. покинут ее. Поэтому среднее
308 Интерфейсы и протоколы сетей следующего поколения
Таблица 4.2
Среднее время ожидания при случайном и экспоненциальном распределении
Случайное распределение
Вызов
0
1
2
3
4
5
Среднее
значение
Постоянное распределение
среднее время
среднее время
среднее время
среднее время
ожидания начала
ожидания начала
обслуживания
обслуживания
обслуживания
обслуживания
–
2,0
5,0
5,9
6,0
6,8
2,0
3,0
0,9
0,1
0,8
0,2
–
1
2
3
4
5
1
1
1
1
1
1
tw = Σ/5 = 5,14
ts = Σ/5 = 1
tw = Σ/5 = 3,0
ts = Σ/5 = 1
число вызовов, находящихся в системе, равно произведению параметра обслуженного потока на среднее время пребывания вызова
в системе:
Mq = λ(tw + ts) = λte.
(4.19)
(4.19) – формула Литтла.
4.4.5. Однолинейная многофазная система обслуживания
Предположим, что вызов последовательно обслуживается цепью из
S элементов вида M/M/1, каждый из которых часть поступающих
вызовов обслуживает полностью, а другую часть вызовов обслуживает частично и передает их на дообслуживание в последующие
элементы. Полностью обслуженные вызовы покидают систему.
В последнем элементе все вызовы покидают систему. Такую структуру может иметь IP-сеть, в которой пакеты следуют через проходные
локальные сети. Математически такая модель в теории телетрафика описывается однолинейной (V = 1) многофазной (решение задачи в несколько этапов – фаз) системой массового обслуживания.
Очевидно, наибольшие задержки будут иметь место для той части
вызовов, которая проходит через все элементы системы. Для этой части потока вызовов ФРВО конца обслуживания вызова имеет вид
Fe (t) = L-1 [Fe (z)] = F1e (t)* F2e (t)*... FSe (t), (4.20)
вычисление которой производится поэтапно:
Вероятностно-временные характеристики сетей коммутации 309
S
fke (z) = zL[Fke (t)], k = 1, 2,..., S, fe (z) = Õ fke (z),
k=1
df (z)
1
Fe (z) = fe (z), Fe (t) = L-1 [Fe (z)], Te = - e
|z=0 , z
dz
(4.21)
где Fe(z) – изображение суммарной ФРВО конца обслуживания;
L–1 – обратное преобразование Лапласа; Fke(t) – ФРВО конца обслуживания вызова k-м (k = 1, …, S) элементом; * – символ свертки;
fke(t) и fke(z) – плотность ФРВО конца обслуживания вызова k-м
элементом и ее изображение; L – преобразование Лапласа; Fe(t)
и Fe(z) – ФРВО конца обслуживания вызова k-м элементом и ее
изображение; Te – среднее время ожидания конца обслуживания
вызова.
Рассмотрим однолинейную двухфазную систему (рис. 4.16). Первый элемент имеет производительность β1 и обслуживает поток
с параметром λ1. Часть потока λS1 он обслуживает самостоятельно,
а оставшуюся часть (λ1 − λS1) передает на дообслуживание во второй
элемент.
Второй элемент имеет производительность β2 и обслуживает поток с параметром λ2 = λ1 − λS1 + ∆λ2, образованный остаточным потоком с первого элемента и потоком от собственных пользователей.
Покажем, что при фиксированной сумме (β1 + β2) наивысшая пропускная способность общего потока достигается, если выполняется
равенство D1 = (β1 – λ1) = D2 = (β2 – λ2) = D. Для доказательства
­Положения достаточно показать, что FD1 =D2 (t) - FD1 ¹D2 (t) > 0.
Используя (4.20), (4.21), получим:
f1e (z) = L[(β1 - λ1 )exp{-(β1 - λ1 )t}] =
¥
= ò (β1 - λ1 )e-(β1-λ1 +z)tdt =
0
β1 - λ1
,
β1 - λ1 + z
∆λ2
λ1
β1
∆λ S1 = λ1 − λ S1
λ S1
Рис. 4.16. Однолинейная двухфазная система
310 Интерфейсы и протоколы сетей следующего поколения
β2
λ S2
f2e (z) =
Fe (z) =
β2 - λ2
,
β2 - λ2 + z
1 (β1 - λ1 )
(β2 - λ2 )
D1D2
=
.
z (β1 - λ1 + z) (β2 - λ2 + z) z(D1 + z)(D2 + z)
FD1 =D2 (t) = 1 - e-Dt - Dte-Dt при D1 = D2,
FD1 ¹D2 (t) = 1 -
D2
D1
e-D1t e-D2t при D1 ≠ D2.
D2 - D1
D1 - D2
Положим D1 = D – δ, a D2 = D + δ. Тогда
éD
ù
1
FD1 =D2 (t) - FD1 ¹D2 (t) = ê (eδt - e-δt ) + (eδt + e-δt ) - (1 + Dt)ú e-Dt =
2
ëê 2δ
ûú
ìï D é (δt)1 (δt)3
ü
0
2
ù é (δt)
ù
ï
(δt)
= íï êê
+
+ ...úú + êê
+
+ ...úú - (1 + Dt)ïý´
ï δ 1!
ïï
3!
2!
ûú ëê 0 !
ûú
îïï ëê
þï
ü
ìï D é (δt)1 (δt)3
3
5
æ t
ù
ï
t
÷ö
ï
´ e-Dt > í êê
+
+ ...úú - Dtïý e-Dt = çççδ2 + δ 4 + ...÷÷÷ De-Dt > 0.
ïï δ ê 1!
ïï
çè 3 !
÷ø
3!
5!
ûú
ïî ë
ïþ
Положение доказано. Из него следует, что минимизация сум­
марной производительности однолинейной многофазной системы
со­стоит в таком распределении мощностей (ресурсов) системы или
поступающих потоков вызовов, которое приводит к выравниванию
среднего времени ожидания конца обслуживания вызова между
элементами системы. Это объясняется тем, что при неравенстве
среднего времени ожидания элементы с меньшей производитель­
ностью перегружены, а с бóльшей – простаивают в ожидании поступления следующего вызова. При равенстве времени ожидания моменты окончания обслуживания предыдущего вызова и поступления нового вызова совпадают, поэтому суммарное время обслуживания вызова минимально, а пропускная способность максимальна.
Проведем анализ суммарной производительности однолинейной
двухфазной системы с однофазной системой по среднему времени
ожидания конца обслуживания вызова, проходящего через обе фазы
обслуживания. Составим таблицу соответствия вероятностей временам окончания обслуживания первого потока согласно рис. 4.16
(табл. 4.3).
Определим среднее время окончания обслуживания вызова как
математическое ожидание
Вероятностно-временные характеристики сетей коммутации 311
Таблица 4.3
Зависимость среднего времени обслуживания распределения нагрузки
Вероятность окончания времени обслу- Значение среднего времени окончания
живания вызова первого потока двух- обслуживания вызова первого потока
фазной системой
двухфазной системой
Te =
λS1 / λ1
(β1 – λ1)–1
(λ1 − λS1) / λ1
(β1 – λ1)–1 + (β2 – λ2)–1
ù
λ S1 1
λ - λ S1 éê 1
1
ú
+ 1
+
ê
ú
λ1 β1 - λ1
λ1
ë β1 - λ1 β2 - λ1 + λ S1 - ∆λ2 û λ
=
S1 =λ1
1
.
β1 - λ1
Из анализа зависимости Te от λS1 видно, что во всем диапазоне
λS1 = 0…λ1 она представляет собой монотонно убывающую функцию, достигающую своего минимума, равного (β1 – λ1)–1 при λS1 = λ1.
Из вышеизложенного следует, что для достижения одной и той
же пропускной способности многофазной однолинейной системе
требуется более высокая суммарная производительность, чем в случае ее реализации в виде однофазной. Тем не менее многофазные
однолинейные системы широко применяются в сетях связи при поэтапном обслуживании вызовов через географически удаленные
элементы сети (маршрутизаторы).
Из (4.20) следует, что ФРВО конца обслуживания вызова S-фазной однолинейной оптимальной системы, имеющей минимальную
суммарную производительность, вычисляется по формуле
S-1
(D × t)k -D × t
e
,
k
!
k=0
Fe (t) = 1 - å
(4.22)
где D – интенсивность прохождения одной фазы с учетом прохождения очередей; D–1 – среднее время прохождения вызова через
одну фазу обслуживания (среднее время ожидания конца обслуживания вызова).
4.4.6. Многолинейная двухфазная система обслуживания
Фрагмент многолинейной двухфазной системы приведен на рис.
4.18. Такую структуру может иметь корпоративная IP-сеть, в которой пользователи размещены в m локальных сетях и связаны между собой публичной IP-сетью через удаленный маршрутизатор R
провайдера.
312 Интерфейсы и протоколы сетей следующего поколения
2
kλ 1/Λ
λ1
Λ
1
. . .
λm
λ 1 – k λ 21/Λ
β1
m
2
λm – kλm
/Λ
R
Λ(1–k)
β
В IPсеть
βm
2
kλ m/Λ
Рис. 4.17. Фрагмент многолинейной двухфазной системы
Пользователи i-й локальной сети создают поток вызовов с параметром λi, суммарный поток вызовов корпоративной сети Λ = Σλi,
коэффициент замыкания внутреннего трафика внутри корпоративной сети равен k.
Коэффициент замыкания внутреннего трафика внутри каждой
из локальных сетей естественно зависит от числа пользователей
в локальной сети. Если предположить, что все пользователи корпоративной сети создают примерно одинаковую нагрузку, то доля
внут­реннего трафика внутри каждой локальной сети пропорциональна параметру потока вызовов – λi/Λ. Тогда
– параметр потока вызовов, замыкающийся внутри локальной
сети, равен k ⋅ λi2/Λ;
– параметр потока на внешний интерфейс маршрутизатора локальной сети равен λi – k ⋅ λi2/Λ;
– параметр потока вызовов локальной сети, уходящий во внешнюю IP-сеть, равен λi ⋅ (1 – k);
– параметр потока вызовов локальной сети, замыкающийся внут­
ри корпоративной сети, равен λi – k ⋅ λi2/Λ – λi(1 – k) = k ⋅ λi(1 – λi/Λ).
Предполагается, что аппаратная задержка обслуживания пакетов маршрутизатором много меньше задержки, образуемой очередями на интерфейсе маршрутизатора, который имеет интенсивность обслуживания пакетов (производительность) βi = VELi/LEN,
где VELi – скорость передачи интерфейса; LEN – средняя длина
­пакета.
На втором звене происходит объединение нагрузок. Требуется
определить скорость интерфейса каждого маршрутизатора локальной сети, при которой задержки прохождения пакетов любого сетевого элемента корпоративной сети не превысили бы заданное значение Tsys.
Задержка прохождения пакета внутри корпоративной сети для
i-й локальной сети вычисляется как
Вероятностно-временные характеристики сетей коммутации 313
Tei = (βi – λi(1 – k ⋅ λi / Λ))–1,
(4.23)
которая должна быть не больше допустимой Tsys.
Если условие Tei ≤ Tsys не выполняется, то из уравнения
Tsys = (βi – λi(1 – k ⋅ λi / Λ))–1
(4.24)
при известных Tsys, λi, k, Λ находим βi, а затем и требуемую скорость интерфейса:
VELi = βi ⋅ LEN.
(4.25)
Если для какого-либо интерфейса условие (4.25) не выполняется,
то следует либо заменить интерфейс на более высокоскоростной,
либо соответствующим образом перераспределить пользователей
между локальными сетями. Эта рекомендация наиболее эффективна при небольшом значении коэффициента замыкания внутреннего
трафика внутри корпоративной сети.
Задачи к п. 4.4
Задача 1. Сеть оператора связана с сетью Интернет интерфейсом со скоростью VEL = 8 Мбит/с = 1 Мбайт/с. Средняя длина пакета LEN =
= 500 байт. Оператор желает обеспечить среднюю задержку прохождения
пакетов по интерфейсу не более tе = 5 мс. Какой параметр потока должен
быть оговорен в SLA, чтобы провайдер услуг мог бы обеспечить требования
оператора?
Решение: интенсивность обслуживания пакетов μ = VEL/LEN =
1
= 2 000 c–1. Из уравнения te =
при известных значениях te = 0,005,
µ-λ
μ = 2 000 c–1, находим λ = 1 800 c–1. Загрузка интерфейса составит
a = λ/μ = 0,9 Эрл, или 90 %.
Задача 2. Сеть оператора связана с сетью Интернет интерфейсом со скоростью VEL = 8 Мбит/с = 1 Мбайт/с. Средняя длина пакета LEN =
= 500 байт. Оператор желает обеспечить задержку по интерфейсу не более tе = 5 мс для 95 % пакетов. Какой параметр потока должен быть ого­
ворен в SLA, чтобы провайдер услуг мог бы обеспечить требования опе­
ратора?
Решение: интенсивность обслуживания пакетов μ = VEL/LEN =
= 2 000 c–1. Из уравнения Fe (t) = 1 - e-(µ-λ)t = 0,95 при известных значениях te = 0,005, μ = 2 000 c–1 находим λ = 1 400 c–1. Загрузка интерфейса составит a = λ/μ = 0,7 Эрл, или 70 %.
Ужесточение требований к качеству обслуживания естественно приводит к необходимости снижения параметра потока (или к расширению полосы передачи).
314 Интерфейсы и протоколы сетей следующего поколения
Локальная сеть 2
N2
Локальная сеть 1
N1
∆λ2
β1
λ1
λ S1
∆λS1 =
= λ1 – λS1
β2
λ S2
К другим сетям
∆λS2 = λ2 – λS2
Рис. 4.18. Иллюстрация к задаче 3
Задача 3. Сеть оператора состоит из двух локальных сетей и имеет
структуру и распределение потоков, изображенных на рис. 4.18. Имеются
следующие значения параметров абонентских потоков: λ1 = 3 с–1, ∆λ2 =
= 2 с–1. В каждой локальной сети две трети поступающей нагрузки замыкается на локальный сервер. Средняя производительность межсетевого
интерфейса первого маршрутизатора β1 = 5 с–1, второго – β2 = 7 с–1. Появилась необходимость подключения новых абонентов, суммарный поток задач от которых оценивается в виде потока с параметром λD = 11 с–1. Пренебрегая аппаратной задержкой, распределить этих абонентов между локальными сетями, чтобы обеспечивалась максимальная пропускная способность межстанционных потоков.
Решение: согласно Положению, должно выполняться: D1 = β1 – λ1 / 3 =
= D2 = β2 – (λ1 / 3 + ∆λ2) / 3, откуда ∆λ2 = 3(β2 – β1) + 2λ1 / 3 = 6 + 2λ1 / 3.
Суммарный параметр потока от абонентов λSU = λ1 + ∆λ2. В соответствии
с этими соотношениями составляем таблицу распределения потоков
(табл. 4.4).
До подключения новых абонентов λSU = λ1 + Δλ2 = 5 с–1. Новому значению λSUN = λSU + λD = 16 с–1 соответствует графа 6 табл. 4.4, поэтому новые
значения должны быть λ1 = 6 с–1, Δλ2 = 10 с–1. Следовательно, к первой
локальной сети должен быть добавлен поток с параметром 3 с–1 (3/11 = 27 %
абонентов), а ко второй – 8 с–1 (8/11 = 73 % абонентов).
Задача 4. Оператор имеет корпоративную сеть, состоящую из 3-х локальных сетей (рис. 4.19). Интерфейсы локальных сетей имеют скорости
передачи VEL1 = 64 Кбит/с, VEL2 = 384 Кбит/с, VEL3 = 2048 Кбит/с.
Таблица 4.4
Оптимальное распределение потоков
Показатель
1
2
3
1,00
2,00
3,00
4,00
5,00
6,00
7,00
6,66
7,33
8,00
8,66
9,33
10,00
10,66
9,33
11,0
12,66
14,33
16,00
17,66
λ1
∆λ2
λSU = λ1 + ∆λ2
7,66
4
5
6
7
Вероятностно-временные характеристики сетей коммутации 315
λ1 = 0
N1
avn1 = 0
Λ(1 – k) = 942,4
β1 = 31,25
В IPсеть
Локальная сеть 1 avt = 0
1
avn2 = 153,5
β2 = 187,5
λ2 = 160
N1
Локальная сеть 2
avn2 = 6,52
avn3 = 967,8
β3 = 1000
N1
λ3 = 2196
Локальная сеть 3 avn3 = 1228
Рис. 4.19. Иллюстрация к задаче 4
Каждый из пользователей в ЧНН с учетом услуги IP-телефонии гене­
рирует 4 запроса в секунду (α = 4 с–1). Средняя дина пакета составляет
256 байт (LEN = 2 048 бит). Коэффициент замыкания внутреннего трафика внутри корпоративной сети равен k = 0,6. Требуется найти максимально возможное количество пользователей в каждой локальной сети при заданной задержке обслуживания пакета на любом интерфейсе не более
Tsys = 32 мс.
Решение: задача решается подбором параметра λi для каждой локальной сети. Результаты даны в табл. 4.5.
Таблица 4.5
Параметры локальных сетей
Показатель
Скорость интерфейса, VELi,
Кбит/с
Параметр потока пользователей, λi, с–1
Интенсивность обслуживания
интерфейса, βi = VELi/LEN,
с–1
Параметр внутреннего
потока, avti = kλi2 / Λ, с–1
Параметр потока на интерфейсе, avni = λi – kλi2 / Λ, с–1
Задержка на интерфейсе
(4.23), с
Число пользователей,
Ni = λi / α
Локальная сеть
1
Локальная сеть
2
Локальная сеть
3
64
384
2048
0
160
2196
31,25
187,5
1000
0
6,52
1228
0
153,5
967,8
32
29,4
31,1
Tei ≤ Tsys
1
40
549
N = ΣNi = 590
316 Интерфейсы и протоколы сетей следующего поколения
Примечания
Λ = Σλi = 2356
4.5.Система с повторными вызовами (Blocked Calls Repeated, BCR)
Причинами повторных вызовов являются блокировка вызова,
ошибка в наборе номера, занятость абонента, безответность абонента. Повторные вызовы создают дополнительную неоплачиваемую
нагрузку как на каналы связи, так и на управляющие устройства,
поскольку начисление платы за разговор начинается с момента ответа вызываемого абонента. Особенно сильно повторные вызовы загружают управляющие устройства, так как они обрабатываются
так же, как и нормальные вызовы.
Возникновение повторных вызовов в значительной мере связано
с малой информативностью абонентов о состоянии ресурсов в сети
связи и отсутствием в системе дополнительных видов обслуживания. Например, если абонент отключен от сети за неуплату, то при
использовании системой только акустических тональных сигналов
все поступающие на него вызовы завершаются подачей акустического сигнала «Занято». Вызывающий абонент, предполагая, что
вызываемый абонент действительно занят, будет безуспешно создавать повторные неоплачиваемые вызовы. Изменить ситуацию помогает выдача автоинформатором соответствующего голосового уведомления. В рассматриваемом выше случае подача вызывающему
абоненту голосового уведомления типа «Вызываемый абонент не обслуживается» освобождает его от последующих повторных вызовов
на этот номер.
Еще одним действенным способом для уменьшения числа повторных вызовов для абонентов сети интегрального обслуживания
является применение дополнительного вида обслуживания «Завершение соединения к занятому абоненту» (Call Completion to Busy
Subscriber���������������������������������������������������
, CCBS���������������������������������������������
�������������������������������������������������
), когда вызываемая сторона информирует вызывающую сторону об освобождении абонента.
Число повторных вызовов абсолютно настойчивого абонента оценивается средним числом попыток М на один успешный вызов, при
этом, естественно, среднее число повторных попыток равно (М – 1).
Для модели с повторными вызовами справедливы предполо­
жения:
– вызовы, поступающие на вход системы, образуют пуассоновский поток постоянной интенсивности с параметром λ;
– длительность обслуживания вызова управляющим устройством подчиняется экспоненциальному распределению с парамет­
ром μ;
Вероятностно-временные характеристики сетей коммутации 317
– вызов, не принятый к обслуживанию в момент занятости V линий пучка, через случайный интервал времени, со средним, равным
времени занятия, вновь поступает на вход системы;
– любой из V выходов пучка доступен, когда он свободен, для любого поступающего вызова;
– исходной для расчета является обслуженная нагрузка AS < V;
– система находится в стационарном режиме.
На рис. 4.20 приведены схемы распределения нагрузки в системе
с потерями и с повторными вызовами.
Из физического смысла следует, что в стационарном режиме без
потерь обслуженная и поступающая нагрузки совпадают, а консолидированная нагрузка B = A0 + A R, образованная поступающей
и повторной, находится из трансцендентного уравнения AS = B(1 –
– EV(B)) при известной обслуженной нагрузке AS.
Вычислим изображение ФРВО конца обслуживания вызовов
управляющим устройством:
¥
µ k+1
Fe (z) = å EV k (B){1 - EV (B)}
=
z(z + µ)k+1
k=0
=
1 - EV (B) ¥
µ k+1
1 µ(1 - EV (B))
EV k+1 (B)
=
,
å
k+1
zEV (B) k=0
z z + µ(1 - EV (B))
(z + µ)
оригиналом которой является
Fe (t) = 1 - exp{-µ(1 - EV (B))t}.
Среднее время обслуживания повторного вызова управляющим
устройством – TR = (μ(1 – EV(B)))–1, а одиночного вызова – T1 = (μ)–1,
поэтому среднее число попыток на один успешный вызов
TR
1
B
M=
=
=
.
T1 1 - EV (B) AS
а
A0
б
КП
КП
AL
AR
AR
AS
A0
AS
Рис. 4.20. Схема распределения нагрузки: а – в системе с потерями; б – в системе
повторными вызовами; КП – коммутационное поле; A0 – поступающая нагрузка;
AS – обслуженная нагрузка; AL – потерянная нагрузка; AR – повторная нагрузка
318 Интерфейсы и протоколы сетей следующего поколения
Задачи к п. 4.5
Задача 1. 4-линейная система с повторными вызовами обслуживает нагрузку 3 Эрланг. Определить повторную нагрузку и число попыток на один
успешный вызов.
Решение: в нашем случае A0 = AS = 3 Эрл, V = 4.
Из уравнения AS = B(1 – EV(B)) при AS = 3 Эрл, V = 4, находим B =
= 5 Эрл.
Повторная нагрузка AR = B – AS = 2 Эрл. Общее число попыток на один
B
5
= = 1,66.
успешный вызов M =
AS 3
Задача 2. Однолинейная система с повторными вызовами обслуживает
нагрузку 0,839 Эрл. Определить повторную нагрузку и число попыток на
один успешный вызов.
Решение: в нашем случае A0 = AS = 0,839 Эрл, V = 1.
Из уравнения AS = B(1 - EV (B)) при AS = 0,839 Эрл, V = 1, находим
B = 5,247 Эрл.
Повторная нагрузка AR = B – AS = 4,408 Эрл.
B
5,247
Среднее число попыток на один успешный вызов M =
=
= 6,25.
AS 0,839
Задача 3. Сравнить ФРВО конца обслуживания вызова однолинейных
систем с ожиданием и с повторными вызовами.
Решение: для системы с ожиданием Fe(t) = 1 – exp{–(μ – λ)t}, а для системы с повторными вызовами Fe(t) = 1 – exp{–μ(1 – E1(B))t} = 1 – exp ×
× {–μ2t / (λ + μ)}.
Поскольку (μ – λ) < μ2 / (λ + μ), то вызовы в системе с повторными вызовами в среднем обслуживаются быстрее, чем в системе с ожиданием.
4.6.Система с коллизией (Collisions Calls Repeated, CCR)
Коллизии имеют место в локальных сетях Ethernet. При возникновении коллизии повторная попытка соединения осуществляется
через случайный момент времени, вычисляемый по формуле
trep = t512k, где t512 – длительность промежутка в 512 тактовых интервалов. Значение k равновероятно принимает целочисленные
значения в диапазоне (0 – 2n), где n равно номеру повторной попытки, если номер попытки не больше 10. С 10-й попытки значение n
не увеличивается и остается равным 10. Например, для Ethernet со
скоростью 10 Мбит/с длительность промежутка в 512 тактовых интервалов t512 = 51,2 мкс, максимальная задержка 1-й повторной поВероятностно-временные характеристики сетей коммутации 319
пытки составит trep1 = 51,2 мкс ⋅ 2 = 0,1 мс, а максимальная задержка 16-й попытки составит trepmax = 51,2 мкс ⋅ 210 = 52,4288 мс.
Для модели с коллизией примем следующие предположения:
– вызовы, поступающие на вход системы, образуют пуассоновский поток постоянной интенсивности с параметром λ;
– длительность занятия подчиняется экспоненциальному распределению с параметром µ;
– любой из V выходов пучка доступен, когда он свободен, для
любого поступающего вызова;
– вызов, не принятый к обслуживанию в момент занятости V линий пучка, поступает во входную очередь с бесконечным числом
мест ожидания. Если вызов в очереди единственный, то при освобождении линии он обслуживается, в противном случае, все вызовы из очереди блокируются и через случайный интервал времени,
со средним, равным среднему времени занятия, вновь поступают на
вход системы;
– исходной для расчета является консолидированная нагрузка B;
– система находится в стационарном режиме.
Рассмотрим систему без потерь – бесконечный пучок линий.
Определим вероятность поступления на него за время занятия более V вызовов (формула Пуассона):
P=
¥
V
B k -B
B k -B
e = 1- å
e .
k!
k!
k=V +1
k=0
å
Определим долю нагрузки, обслуженную V линиями пучка:
V
B k -B
AS = B(1 - P) = B å
e ,
k!
k=0
которая достигает своего максимального значения при выполнении равенства
dAS
= 0.
dB
Находим производную
V
dAS
B k -B
B V -B æç V Bk
B V +1 ö÷÷ -B
e -B
e = çç å
=å
- (V + 1)
÷e ,
dB k=0 k !
V!
(V + 1)! ø÷÷
çèk=0 k !
из которой находим условие обеспечения максимальной пропускной способности V линий пучка, когда они обслуживают максимальную долю поступающей нагрузки
320 Интерфейсы и протоколы сетей следующего поколения
V +1
Bmaxk
B
= (V + 1) max
,
k!
(V + 1)!
k=0
V
å
или, иначе
Bmax EV (Bmax ) = 1. (4.26)
Условие (4.26) позволяет рассчитать максимальную консолидированную нагрузку Bmax, при которой система с коллизией обслуживает вызовы без потерь.
2
Принимая в (4.26) V = 1 (сеть Ethernet), получаем Bmax
- Bmax -1 = 0,
2
max - Bmax -1 = 0, откуда максимальное значение консолидированной нагруз1+ 5
ки Bmax =
= 1,618 Эрл, при этом максимальную обслуженную
2
нагрузку находим как
AS max = A0 max = Bmax (e-Bmax + Bmax e-Bmax ) = 0,839 Ýðë.
В однолинейной системе с коллизией без потерь при первичной
поступающей нагрузке A0 < 0,839 Эрл существует стационарный
процесс обслуживания вызовов и справедливы равенства: обслуженная (она же первичная) нагрузка AS = A0 = B(e-B + Be-B ), нагрузка коллизии AC = B – AS, среднее число попыток на один успешный вызов M = B/AS. При A0 ≥ 0,839 Эрл стационарного процесса
обслуживания вызовов нет: нагрузка коллизии AC начинает монотонно увеличиваться, обслуженная нагрузка AS стремится к нулю,
а число попыток на один успешный вызов M стремится к бесконечности. В табл. 4.6 приведены некоторые значения B, AS, AC, М для
однолинейной системы с коллизией.
При максимальной обслуженной нагрузке ASmax = 0,839 Эрл
число попыток на один успешный вызов M = 1,926 ≈ 2.
Для предотвращения самопроизвольного переходного процесса,
приводящего к полному прекращению обслуживания, в сети Ether������
Таблица 4.6
Параметры однолинейной системы с коллизией
Параметр
B, Эрланг
A0, Эрланг
AS, Эрланг
AC, Эрланг
М, шт.
Значение
0,10
0,10
0,10
0,00
1,00
0,30
0,29
0,29
0,01
1,03
0,50
0,45
0,45
0,05
1,09
1,00
0,74
0,74
0,26
1,36
1,30
0,82
0,82
0,48
1,59
1,50
0,83
0,83
0,67
1,79
1,618
0,839
0,839
0,779
1,926
2,00 4,48 5,00
A0 > 0,839
0,81 0,28 0,20
1,19 4,20 4,80
2,46 16,0 24,7
10,00
0,005
9,995
2002
Вероятностно-временные характеристики сетей коммутации 321
net каждый узел ограничивает число повторных вызовов до 16, при
этом консолидированная нагрузка достигает значения 4,48 Эрл.
Среднее время разговора ts = 3 минуты = 180 секунд, из не более
40 % времени используется каждым абонентом для передачи,
остальное время абонент занят прослушиванием собеседника. При
использовании кодека G.711 (tcod = 30 мс, tdес = 0 мс, bw =
= 84,8 Кбит/с = 10,6 Кбайт/с, LEN = 318 байт) с учетом пауз средний размер «разговорного» файла составляет Q ≤ bw ⋅ 0,4 ⋅ ts =
= 0,763 Мбайт. Как видно, размер «разговорного» файла такой же,
как в приведенном примере, но он передается отдельными фрагментами длиной 318 байт через фиксированные равные промежутки
времени 30 мс. Поэтому вычисление задержек и максимального количества пользователей вычисляется иначе.
Время передачи фрагмента разговора (пакета) tpac = LEN/VEL.
Удельная нагрузка одного активного пользователя apac =
= tpac/tcod = LEN/(VEL ⋅ tcod).
Максимальное число активных пользователей (абонентов) N =
= As/apac = (As ⋅ VEL ⋅ tcod)/LEN.
Например, при использовании концентратора нагрузки сети
Ethernet 10bt (скорость передачи VEL = 10 Мбит/с = 1,25 Мбайт/с,
максимальная длина фрагмента MTU = 1 500 байт) и кодека G.711
(tcod = 30 мс, tdес = 0 мс, bw = 10,6 Кбайт/с, LEN = 318 байт) получим: trep1 = t512k = 51,2 мкс ⋅ 2 = 0,1 мс, tpac = LEN/VEL = 0,254 мс,
apac = tpac/tcod = 0,00848 Эрл, N = As/apac = 98 абонентов.
Максимальное время передачи фрагмента с учетом повторных попыток составит tfrag = trep1 + tpac = 0,1 мс + 0,254 мс = 0,354 мс.
На самом деле максимальное число пользователей (абонентов) N
следует уменьшить, по крайней мере, в два раза из-за наличия в сети
Ethernet трудно поддающихся учету служебных сообщений протоколов DHCP, ARP и др.
Сегодня стандарт 10Base – 2 (Ethernet на тонком коаксиальном
кабеле), несмотря на его очевидные достоинства – низкую стоимость
кабеля, низкую стоимость подключения к коммутационному оборудованию, простоту настройки, – считается устаревшим. Это вызвано
возросшими требованиями абонентов к предоставлению широкого
спектра различных видов мультимедийной связи: высокоскоростной Интернет, видеотелефония, видео по запросу и т. д., что требует
полосы 155 Мбайт на абонента. Однако при массовом подключении
непритязательных пользователей, довольствующихся полосой передачи 100–150 Кбит/с для традиционной телефонной связи, преи322 Интерфейсы и протоколы сетей следующего поколения
PC
SIP
…
Сервер DHCP
SIP
SIP
…
…
Коммутатор
локальной
сети
Маршрутизатор
В IPсеть
Сервер NAT
Рис. 4.21. Структура абонентской распределительной сети стандарта
10Base – 2 (Ethernet на тонком коаксиальном кабеле)
мущества использования стандарта 10Base – 2 в NGN могут оказаться решающими. Действительно, использование многих других
стандартов предполагает выделение пользователю индивидуального порта. При большом количестве пользователей, например, несколько тысяч, объем коммутационного оборудования может оказаться слишком большим. Использование стандарта 10Base – 2 позволяет подключать к одному порту множество пользователей, что
уменьшает количество портов, а следовательно, и оборудования
в десятки раз. Структура абонентской распределительной сети для
этого случая (рис. 4.21) несколько отличается от структуры в решении «Бизнес-соединения» (см. п. 3.3.4 и 3.4.5).
Задачи к п. 4.6
Задача 1. Определить максимальное число компьютеров n в концентраторе нагрузки сети Ethernet 10 bt (скорость передачи VEL = 10 Мбит/с =
= 1,25 Мбайт/с, максимальная длина фрагмента MTU = 1 500 байт), при
котором обеспечивается максимум обслуженной нагрузки. Среднее число
вызовов с одного компьютера составляет α = 5 вызовов в час, средняя длина передаваемого файла LEN = 0,764 Мбайт.
Решение: максимальное значение обслуженной нагрузки в сети Ethernet
AS = A0 = 0,839 Эрл. Поступающая нагрузка от одного компьютера
5 × 0,764
α × LEN
a = αts =
=
= 0,00084 Ýðë. Максимальное число компьюVEL
1,25 × 3600
A
0,839
теров N = s =
= 982.
0,00084
a
Время передачи фрагмента без повторных попыток составит tmtu =
= MTU / VEL = 1,2 мс. Среднее время передачи фрагмента с учетом повторВероятностно-временные характеристики сетей коммутации 323
ных попыток составит tfrag = trep + tmtu = t512 ⋅ 2M – 1 + tmtu ≈ 51,2 мкс ×
× 2 + 1,2 мс ≈ 0,1 мс + 1,2 мс = 1,3 мс. Общее количество фрагментов n =
= LEN / MTU = 510. Среднее время передачи всего файла te = n ⋅ tfrag =
= 0,66 секунды.
4.7.Обеспечение качества обслуживания в Интернет
Сеть с коммутацией пакетов Интернет предназначена для обслу­
живания различных типов вызовов (речь, данные, видео). Обслуживание вызова сетью состоит в доставке пакетов от отправителя
до получателя. В процессе прохождения пакета по сети связи он по
различным причинам (см. гл. 2) может быть утерян, искажен или
задержан на случайное время. Под качеством обслуживания
в сети с коммутацией пакетов понимается вероятность доставки пакета в заданный пункт (или пункты) назначения за нормируемое время. Обычно аппаратной задержкой пренебрегают из-за
ее малого значения по сравнению с задержкой при прохождении
очереди, которая зависит от скорости передачи интерфейса.
Рассмотрим типовую схему обслуживания вызовов маршрутизатором (рис. 4.22).
Каждая заказанная услуга порождает поток пакетов (вызовов).
Пакет характеризуется своим приоритетом Prio (Priority) и длиной
LEN. На каждый из N входов (интерфейсов) маршрутизатора поступает множество пакетов, принадлежащих разным услугам.
Каждый пакет может потребовать соединения с одним или с несколькими из M выходов (интерфейсов) маршрутизатора, причем
j-й выход (j = 1, …, M) имеет скорость передачи VELj. Если в момент
поступления пакета имеется требуемый свободный выход, то пакет
обслуживается немедленно, в противном случае, он обслуживается
с учетом своего приоритета и принятого механизма обслуживания
очереди.
R
1. {Prio1, LEN1}
i. {Prioi, LENi}
N. {PrioN, LENN}
...
...
...
...
Рис. 4.22. Схема обслуживания вызовов маршрутизатором
324 Интерфейсы и протоколы сетей следующего поколения
VEL1
VELj
VELM
Наиболее широко применяются следующие механизмы обслуживания очередей: взвешенного справедливого обслуживания потока (Weighted Fair Queuing, WFQ), взвешенного справедливого обслуживания классов (Class – Based Weighted Fair Queuing, CBWFQ),
относительного приоритета (Priority Queue, PQ).
4.7.1. Система с механизмом WFQ
В системе с механизмом WFQ место ожидания пакета в индивидуальной очереди определяется весом и длиной пакета LEN следующим образом:
ìQx-1 + W × LEN, ïðè íàëè÷èè â î÷åðåäè
ï
ï
ï
ï
ïïàêåòà òîãî æå ïîòîêà (ïðèîðèòåòà)
Qx = í
,
ï
Qt + W × LEN, ïðè îòñóòñòâèè â î÷åðåäè
ï
ï
ï
ï
ï
îïàêåòà òîãî æå ïîòîêà (ïðèîðèòåòà)
где Qx – место ожидания вновь поступившего пакета; Qx–1 – место
в очереди ранее поступившего пакета того же потока; W – вес пакета; LEN – длина пакета; Qt – текущее место обслуживания.
Пусть на входы маршрутизатора при Qt = 0 поступают n потоков,
требующих соединения с одним и тем же выходом маршрутизатора,
причем i-й поток (i = 0, 2, …, n) имеет приоритет IPi, IPi = 0, 1, …, 7
и среднюю длину пакета LENi. Вес стандартного IP-пакета определяется как W = 4096/(IPi + 1), где IPi – значение поля IP-приоритета
(3 байта) в поле TOS (8 байт). В соответствии с правилом приоритет4096
LEN
ного обслуживания, первый пакет i-го потока встанет на Qi1 =
IPi + 1
4 096
4 096
2 × LENi
Qi1 =
LENi место ожидания, второй пакет – на Qi2 =
IPi + 1
IPi + 1
4 096
место ожидания; ... x-й пакет – на Qix =
x × LENi место ожидаIPi + 1
ния. Соотношение полос пропускания между различными потоками определим из соотношений значений мест ожидания для различных потоков, откуда
1
1
1
bw0:bw1:... bwn =
:
:...
.
W0 × LEN0 W1 × LEN1
Wn × LENn
Следовательно, i-му потоку будет гарантированно выделена полоса передачи
Вероятностно-временные характеристики сетей коммутации 325
bwi =
n
(Wi × LENi)-1
VEL, áàéò/ñ,
-1
å (Wk × LENk )
k=1
где VEL – скорость передачи интерфейса (байт/с). Таким образом,
чем меньше вес и короче длина пакета, тем меньше место ожидания и, следовательно, тем больше полоса передачи.
При большом числе потоков с достаточной точностью можно оперировать средней длиной пакета LENi = LEN, поэтому
bwi =
(Wi )-1
n
-1
å (Wk )
k=0
VEL =
IPi + 1
n
VEL áàéò/ñ. (4.27)
å (IPk +1)
k=0
Заметим, что указанная в (4.27) полоса передачи отображает текущее состояние системы и зависит от количества n других активных соединений. При завершении какого-либо соединения освободившаяся полоса распределяется между оставшимися активными
соединениями пропорционально их приоритетам. Поэтому с использованием модели M/M/1 (п. 4.4.3) оценка ФРВО конца обслуживания для i-го потока в системе со стандартными IPприоритетами определяется как
æ
ö
ç çæ
÷ö÷ ÷÷
÷÷ ÷÷
VEL
ççç ççç IPi + 1
- λ i ÷÷t÷÷, Fe (t) = 1 - expç-ç
(4.28)
çç çç å (IPk + 1) LEN
÷÷ ÷÷
çèç èç
÷ø ø÷÷
ÎIPk
где Î IPk означает суммирование IP-приоритетов только активных
потоков.
В системе с интегральным обслуживанием маршрутизатор выделяет k-му RSVP-потоку полосу передачи bwk из общей зарезервированной полосы BW (обычно bwk < BW ≤ 0,75VEL).
В классе гарантированного обслуживания маршрутизатор:
– принимает вызов к обслуживанию при достаточности ресурсов, в противном случае, запрос на резервирование отвергает (сообщение ResvErr), но обслуживает вызов в режиме «с наибольшими
усилиями» (Best Effort);
– оценивает максимальную задержку переприема и задержку за
счет прохождения очереди;
– вычисляет максимальное значение аппаратной задержки, независимой от выделенной полосы передачи.
326 Интерфейсы и протоколы сетей следующего поколения
В классе контролируемой нагрузки маршрутизатор при недостаточности ресурсов принимает вызов к обслуживанию в режиме
«с наибольшими усилиями» (Best Effort).
Если k-му потоку (k = 1, …, m) в сети выделена полоса передачи
bwk, то аналогично (4.28) нижняя оценка ФРВО конца обслуживания одним маршрутизатором (без учета аппаратной задержки)
æ
ö
çç çæç
÷ö÷ ÷÷
÷÷ ÷÷
çç çç
÷ ÷
bwk / (4 × bwm
VEL
ç
- λ k ÷÷÷t÷÷÷, Fe (t) = 1 - expçç-ççç
çç çç
bw j LEN
÷÷ ÷÷
IPi + 1
÷÷ ÷÷
+ å
çç çç å
÷÷ ÷÷
çèç çè ÎIPi 4 096 Îbwj 4 × bwm
ø ø
(4.29)
где bwm – максимальное значение выделенной полосы прило­
жения.
4 × bwm
Реально вес любого зарезервированного потока Wk =
мноbwk
го меньше веса незарезервированного потока, поэтому для инженерных расчетов (4.29) можно упростить:
æ
ö
ç çæ
÷÷ö ÷÷
÷÷ ÷÷
ççç ççç bwk VEL
- λ k ÷÷t÷÷, Fe (t) = 1 - expçç-ç
÷÷ ÷÷
çç ççç å bw j LEN
÷÷ ÷÷
çè èç Îbwj
ø ø
(4.30)
где λk(с–1) – интенсивность поступления пакетов k-го потока; bwk
(байт/с) – заявленная источником полоса передачи приложения;
LEN (байт) – длина пакета.
С увеличением числа устанавливаемых соединений средняя задержка за счет увеличения интенсивности потока монотонно возрастает, но естественным условием ограничения поступающей нагрузки является отсутствие запрашиваемой резервируемой полосы.
Поэтому уже установленному вызову даже в случае максимальной
активности других потоков гарантированно достается выделенная
в сети полоса передачи bwk.
Если в интегральном обслуживании выделена суммарная полоса передачи BW, то число потоков с одинаковой полосой передачи bw не превысит V = BW / bw, параметр поступающего потока
вызовов равен λmax = V ⋅ bw / LEN = BW / LEN, интенсивность обслуживания равна VEL / LEN. ФРВО конца обслуживания маршрутизатором:
Вероятностно-временные характеристики сетей коммутации 327
æ æ VEL
ö÷ ö÷
æ æ VEL
ö ö
ç ç
Fe (t) = 1 - expçç-çç
- å λ k ÷÷÷t÷÷÷ = 1 - expçç-çç
- λ ÷÷÷t÷÷÷,
çç çè LEN
ø ø
èç èç LEN
÷ø ÷ø
è
Îk
λ £ BW / LEN.
(4.31)
Средний сетевой джиттер (задержка в приемном буфере хоста)
вычисляется как
tbuf = S × tr,
где S – число проходных маршрутизаторов в сети между пользователями; tr = (VEL / LEN – BW / LEN)–1 – средняя задержка в одном
маршрутизаторе при максимальном числе установленных соединений.
Для речевых приложений максимальная задержка пакета «из
конца в конец» при проходе S однотипных маршрутизаторов вычисляется как
te2e = tcod + S ⋅ tr + tbuf + tdec,
(4.32)
где tcod – задержка кодера при формировании пакета; tdec – задержка декодирования пакета. Емкость буфера очереди на приеме
должна быть достаточна для компенсации сетевого джиттера:
Hbuf = bw × tbuf.
Из (4.31) следует, что в системе с интегральным обслуживанием
с механизмом WFQ задержка на одном маршрутизаторе пакетов
k-го потока уменьшается при:
1) увеличении скорости передачи интерфейса (VEL);
2) уменьшении длины пакета (LEN);
3) уменьшении зарезервированной полосы BW (λmax = BW / LEN).
4.7.2. Система с механизмом CBWFQ
В системе с механизмом CBWFQ каждому k-му классу выделяется
полоса BWk, поэтому оценка ФРВО конца обслуживания определится из соотношения
æ
ö
ç çæ BWk
÷ö ÷
(4.33)
- å λ k ÷÷÷t÷÷÷, Fe (t) = 1 - expçç-çç
ç
èç èç LEN Îk ÷ø ÷ø
где
å λk
– сумма параметров интенсивности вызовов активных
Îk
потоков k-го класса.
328 Интерфейсы и протоколы сетей следующего поколения
Из (4.33) следует, что в системе с механизмом CBWFQ задержка
на одном маршрутизаторе пакетов k-го потока уменьшается при:
1) увеличении зарезервированной полосы передачи (BWk);
2) уменьшении длины пакета (LEN);
3) уменьшении числа активных потоков с равным приоритетом.
В системе с дифференцированным обслуживанием маршрутизатор
в соответствии с полем DSCP помещает каждый высокоприоритетный
пакет в отдельную очередь (Expedited Forwarding), обеспечивая ему
зарезервированную полосу BW (например, BW ≤ 0,75VEL). Низкоприоритетным пакетам гарантированно достается полоса (VEL – BW).
С увеличением числа устанавливаемых соединений средняя задержка за счет увеличения интенсивности потока монотонно возрастает, а качество может упасть «до нуля». Для поддержания при­
емлемого качества обслуживания поступающую нагрузку (число
активных приложений) ограничивают. Для этого в договоре (Service
Level Agreement, SLA) с каждым пользователем оговаривается максимальная полоса передачи (bw), число вызовов в час (L = bw / LEN)
и т. д. При нарушении соглашения избыточные пакеты маркируются так, что при перегрузке отбрасываются в первую очередь.
Если все V высокоприоритетных потоков имеют один и тот же приоритет (вес) и полосу передачи, то вся зарезервированная полоса BW
распределяется между ними поровну, интенсивность обслуживания
равна M = BW / LEN, а интенсивность поступающих вызовов L ограничивается так, чтобы ФРВО конца обслуживания высокоприоритетного потока сетью была бы не меньше допустимой величины 0,95, т. е.
S-1
(D × tnet)k -D × tnet
e
³ 0,95,
k!
k=0
Fe (t) = 1 - å
где D = M – L; M = BW / LEN; tnet = tsum – tcod – tdec; tsum = 150 мс.
Для речевых приложений максимальная задержка пакета «из
конца в конец» при проходе S однотипных маршрутизаторов вычисляется как
te2e = tcod + S ⋅ tr + tbuf + tdec, tbuf = Str, tr = D –1.
4.7.3. Система с механизмом PQ
В системе с механизмом PQ пакету k-го приоритета (k = 1 – высший
приоритет) выделяется полоса передачи, оставшаяся после обслуживания более приоритетных пакетов, т. е.
Вероятностно-временные характеристики сетей коммутации 329
æ æ
ö
ç ç VEL
÷ö ÷
- å λ k ÷÷÷t÷÷÷, Fek (t) = 1 - expçç-çç
çç çè LEN
÷ø ÷ø
è
Îk
где
å λk
(4.34)
– сумма параметров интенсивности вызовов активных
Îk
потоков с равным и более высоким приоритетом.
Из (4.34) следует, что в системе с механизмом PQ задержка на
одном маршрутизаторе пакетов k-го потока уменьшается при:
1) увеличении скорости передачи интерфейса (VEL);
2) уменьшении длины пакета (LEN);
3) уменьшении числа активных потоков с равным и более высоким приоритетом.
Задачи к п. 4.7
Задача 1. В очереди планировщика на канале связи со скоростью передачи VEL = 2 048 Кбит/с = 256 Кбайт/с находятся 3 потока с IP-приори­
тетами 0, 3 и 4 соответственно. В момент времени t0 поток 3-го приоритета
прекращает сеанс связи. Определить распределения полос передачи между
потоками до и после момента времени t0.
Решение: в соответствии с (4.27) до момента времени t0
IP0 + 1
1
1
bw0 =
VEL =
VEL = VEL = 25,6 Êáàéò/ñ,
(
IP
+
1
)
1
+
4
+
5
10
k
å
ÎIPk
bw3 =
IP3 + 1
4
4
VEL =
VEL = VEL = 102,4 Êáàéò/ñ,
(
IP
+
1
)
1
+
4
+
5
10
k
å
ÎIPk
bw4 =
IP4 + 1
5
5
VEL =
VEL = VEL = 128 Êáàéò/ñ.
1+ 4 + 5
10
å (IPk +1)
ÎIPk
После момента времени t0
IP0 + 1
1
1
bw0 =
VEL =
VEL = VEL = 42,6 Êáàéò/ñ,
1+ 5
6
å (IPk +1)
ÎIPk
bw3 = 0 Êáàéò/ñ,
IP4 + 1
5
5
bw4 =
VEL =
VEL = VEL = 213,4 Êáàéò/ñ.
1+ 5
6
å (IPk +1)
ÎIPk
Задача 2. В маршрутизаторе на интерфейсе со скоростью VEL =
= 2 048 Кбит/с = 256 000 байт/с для речевых приложений в системе инте-
330 Интерфейсы и протоколы сетей следующего поколения
грального обслуживания зарезервирована полоса BW = 0,5VEL =
= 128 000 байт/с. Ее используют приложения для передачи речи с выделенной полосой передачи bw = 95,2 Кбит/с = 11 900 байт/с каждое (Рекомендация G.711). Определить задержку прохождения очередей одного речевого пакета для случаев: 1) отсутствия очереди; 2) отсутствия очереди
в зарезервированной полосе; 3) максимальной задержки.
Решение: из табл. 2.2 находим параметры потока пакетов речевого приложения: λk = 1(20 мс)–1 = 50 с–1, LEN = 238 байт.
В случае отсутствия очереди пакету предоставляется вся ск