Рисунок 4.2.11.2.13 Формат описания внешних маршрутов
Сетевая маска характеризует место назначения рекламируемого маршрута. Так для сети класса A маска может иметь вид 0xFF000000. Последующий набор полей повторяется для каждого вида TOS. Поля для TOS=0 заполняются всегда, и это описание является первым. Бит E характеризует внешнюю метрику. Если E=0, то она может непосредственно (без преобразования) сравниваться с метриками других каналов. При E=1 метрика считается больше любой метрики. Поле адрес пересылки указывает на место, куда будут пересылаться данные, адресованные рекламируемым маршрутом. Если адрес пересылки равен 0.0.0.0, данные посылаются пограничному маршрутизатору автономной системы - источнику данного сообщения. Метка внешнего маршрута - 32-битовое число, присваиваемое каждому внешнему маршруту. Эта метка самим протоколом OSPF не используется и предназначена для информирования других автономных систем при работе внешних протоколов маршрутизации. Маршрутная таблица OSPF содержит в себе:
IP-адрес места назначения и маску;
тип места назначения (сеть, граничный маршрутизатор и т.д.);
тип функции (возможен набор маршрутизаторов для каждой из функций TOS);
область (описывает область, связь с которой ведет к цели, возможно несколько записей данного типа, если области действия граничных маршрутизаторов перекрываются);
тип пути (характеризует путь как внутренний, межобластной или внешний, ведущий к AS);
цена маршрута до цели;
очередной маршрутизатор, куда следует послать дейтограмму;
объявляющий маршрутизатор (используется для межобластных обменов и для связей автономных систем друг с другом).
Преимущества OSPF:
Для каждого адреса может быть несколько маршрутных таблиц, по одной на каждый вид IP-операции (TOS).
Каждому интерфейсу присваивается безразмерная цена, учитывающая пропускную способность, время транспортировки сообщения. Для каждой IP-операции может быть присвоена своя цена (коэффициент качества).
При существовании эквивалентных маршрутов OSFP распределяет поток равномерно по этим маршрутам.
Поддерживается адресация субсетей (разные маски для разных маршрутов).
При связи точка-точка не требуется IP-адрес для каждого из концов. (Экономия адресов!)
Применение мультикастинга вместо широковещательных сообщений снижает загрузку не вовлеченных сегментов.
Недостатки:
Трудно получить информацию о предпочтительности каналов для узлов, поддерживающих другие протоколы, или со статической маршрутизацией.
OSPF является лишь внутренним протоколом.
Рисунок 4.2.11.2.5 Формат OSPF-сообщений о маршрутах
Поля, начиная с тип канала, повторяются для каждого описания канала. Так как размер базы данных может быть велик, ее содержимое может пересылаться по частям. Для реализации этого используются биты I и М. Бит I устанавливается в 1 в стартовом сообщении, а бит M принимает единичное состояние для сообщения, которые являются продолжением. Бит S определяет то, кем послано сообщение (S=1 для сервера, S=0 для клиента, этот бит иногда имеет имя MS). Поле номер сообщения по порядку служит для контроля пропущенных блоков. Первое сообщение содержит в этом поле случайное целое число M, последующие M+1, M+2,...M+L. Поле тип канала может принимать следующие значения:
Рисунок 4.2.11.2.8 Формат ospf-сообщения, описывающего состояние канала
Поле возраст ls информации (Рисунок 4.2.11.2.8) определяет время в секундах с момента объявления состояния канала. Поле опции содержит значения типов сервиса (TOS), поддерживаемые маршрутизатором, рассылающим маршрутную информацию. Поле тип LS (тип состояния канала) может принимать значения, описанные выше в табл. 4.2.11.2.3. Следует обратить внимание, что код, содержащийся в этом поле, определяет формат сообщения. Поле длина задает размер сообщения в октетах, включая заголовок. В результате получается сообщение с форматом, показанным на Рисунок 4.2.11.2.9. Зарезервированный октет должен быть обнулен. Идентификатор связи определяет тип маршрутизатора, подключенного к каналу. Действительное значение этого поля зависит от поля тип. В свою очередь информация о канале также зависит от поля тип. Число tos определяет многообразие метрик, соответствующих видам сервиса, для данного канала. Последовательность описания метрик задается величиной кода TOS.
Рисунок 4.2.11.2.6 Формат ospf-запроса маршрутной информации
Три поля этого запроса повторяются согласно числу каналов, информация о которых запрашивается. Если список достаточно длинен, может потребоваться несколько запросов. Маршрутизаторы посылают широковещательные (или мультикастинговые) сообщения об изменении состояния своих непосредственных связей. Такое сообщение содержит список объявлений, имеющих формат (Рисунок 4.2.11.2.7):
Рисунок 4.2.11.2.12 Формат сообщений об адресатах в пределах автономной системы
Поля, следующие после заголовка, повторяются в соответствии с числом описываемых объектов. Рекламирование внешних маршрутов относится к пятому типу. Эта информация рассылается пограничными маршрутизаторами. Информация о каждом внешнем адресате, известном маршрутизатору, посылается независимо. Этот вид описания используется и для маршрутов по умолчанию, для которых идентификатор состояния канала устанавливается равным 0.0.0.0 (аналогичное значение принимает при этом и сетевая маска). Формат такого сообщения представлен на Рисунок 4.2.11.2.13.
Рисунок 4.2.11.2.4 Формат сообщения Hello в протоколе OSPF
Поле сетевая маска соответствует маске субсети данного интерфейса. Например, если интерфейс принадлежит сети класса B и третий байт служит для выделения нужной субсети, то сетевая маска будет иметь вид 0xFFFFFF00.
Поле время между Hello содержит значение времени в секундах, между сообщениями Hello. Поле опции характеризует возможности, которые предоставляет данный маршрутизатор. Поле приоритет характеризует уровень приоритета маршрутизатора (целое положительное число), используется при выборе резервного (backup) маршрутизатора. Если приоритет равен нулю, данный маршрутизатор никогда не будет использован в качестве резервного. Поле время отключения маршрутизатора определяет временной интервал в секундах, по истечении которого "молчащий" маршрутизатор считается вышедшим из строя. IP-адреса маршрутизаторов, записанные в последующих полях, указывают место, куда следует послать данное сообщение. Поля IP-адрес соседа k образуют список адресов соседних маршрутизаторов, откуда за последнее время были получены сообщения Hello.
Маршрутизаторы обмениваются сообщениями из баз данных OSPF, чтобы инициализировать, а в дальнейшем актуализовать свои базы данных, характеризующие топологию сети. Обмен происходит в режиме клиент-сервер. Клиент подтверждает получение каждого сообщения. Формат пересылки записей из базы данных представлен на Рисунок 4.2.11.2.5.
Рисунок 4.2.11.2.10 Формат сообщения о получении OSPF-пакета
Рекламирование сетевых связей относится к типу 2. Сообщения посылаются для каждой транзитной сети в автономной системе. Транзитной считается сеть, которая имеет более одного маршрутизатора. Сообщение о сетевых связях должно содержать информацию обо всех маршрутизаторах, подключенных к сети, включая тот, который рассылает эту информацию. Расстояние от сети до любого подключенного маршрутизатора равно нулю для всех видов сервиса (TOS), поэтому поля TOS и метрики в этих сообщениях отсутствуют. Формат сообщения о транзитных сетевых связях показан на Рисунок 4.2.11.2.11.
Следует помнить, что приведенные ниже сообщения должны быть снабжены стандартными 24-октетными OSPF-заголовками (на Рисунок 4.2.11.2.11 отсутствует).
Рисунок 4.2.11.2.11 Формат сообщения о сетевых связях (тип LS=2)
Сетевая маска относится к описываемой сети, а поле подключенный маршрутизатор содержит идентификатор маршрутизатора, работающего в сети. Информация об адресатах в пределах автономной системы передается LS-сообщениями типа 3 и 4. Тип 3 работает для IP-сетей. В этом случае в качестве идентификатора состояния канала используется IP-адрес сети. Если же адресатом является пограничный маршрутизатор данной AS, то используется LS-сообщение типа 4, а в поле идентификатор состояния канала записывается OSPF-идентификатор этого маршрутизатора. Во всех остальных отношениях сообщения 3 и 4 имеют идентичные форматы (Рисунок 4.2.11.2.12):
Рисунок 4.2.11.2.3 Формат заголовка сообщений для протокола маршрутизации ospf
Поле версия определяет версию протокола (= 2). Поле тип идентифицирует функцию сообщения согласно таблице 4.2.11.2.2:
Рисунок 4.2.11.2.1 Иллюстрация работы алгоритма Дикстры
Ниже дается формальное описание алгоритма. Сначала вводим некоторые определения.
Пусть D(v) равно сумме весов связей для данного пути.
Пусть c(i,j) равно весу связи между узлами с номерами i и j.
Далее следует последовательность шагов, реализующих алгоритм.
Устанавливаем множество узлов N = {1}. Для каждого узла v не из множества n устанавливаем D(v)= c(1,v).
Для каждого шага находим узел w не из множества N, для которого D(w) минимально, и добавляем узел w в множество N.
Актуализируем D(v) для всех узлов не из множества N
D(v)=min{D(v), D(v)+c(w,v)}.
Повторяем шаги 2-4, пока все узлы не окажутся в множестве N.
Топология маршрутов для узла a приведена на нижней части Рисунок 4.2.11.2.1. В скобках записаны числа, характеризующие метрику отобранного маршрута согласно критерию пункта 3.
Рисунок 3.2.8. Мультиплексирование с делением по длине волны в оптическом волокне
3.2 Оптоволоконные каналы
А.Г.Белл в 1880 году запатентовал фотофон – прибор для передачи голоса посредством светового сигнала с селеновым фотодетектором. Первые коммерческие телефонные системы были созданы лишь в 1977 году и работали со скоростью 44,7 Мбит/с. Одномодовые волоконные кабели начали производиться в 1983 году. В 1990 году Линн Моллинер (Bellcore) продемонстрировал передачу данных со скоростью 2,5Гбит/c на расстояние 7500 км (без промежуточных усилителей сигнала) В 1990 году в США суммарная протяженность оптических волокон составляла около 9000000 км. В 2000 году обшая длина оптоволокон только в США превысила 30 миллионов километров. Оптоволоконные линии связи работают в частотном диапазоне 1013 – 1016Гц, что на 6 порядков больше, чем в случае
радиочастотных каналов (это обеспечивает пропускную способность 50000 Гбит/c). Но земная атмосфера является плохой средой для распространения света. По этой причине только разработка кремниевых волокон с низким коэффициентом поглощения в инфракрасном диапазоне (< 0,2 дБ/км) сделало возможным широкое распространение оптических каналов связи. Укладывается ~1000км оптоволоконного кабеля в день. В настоящее время каналы обычно имеют пропускную способность ~1Гбит/c и это связано с ограниченным быстродействием оборудования, преобразующего оптический сигнал в электрический и обратно. В ближайшие годы следует ожидать увеличения быстродействия таких устройств в 100-1000 раз. Учитывая, что
df = (cdl)/l2, где с - скорость света, f - частота, а l - длина волны.
Для наиболее популярного диапазона l = 1,3m и dl = 0,17m мы имеем df = ~30ТГц.
В 2002 году компанией Zonu разработан фототрансивер (GBIC) на 1,25Гбит/c для передачи и приема данных по одному и тому же волокну при длине волны 1310 нм. Для одномодового волокна расстояние передачи может составлять до 10 км. При длине волны 1550 нм достижимо расстояние передачи в 40 км. Разрабатывается вариант для скоростей передачи 2,5Гбит/c
Оптоволоконное соединение гарантирует минимум шумов и высокую безопасность (практически почти невозможно сделать отвод).
Пластиковые волокна применимы при длинах соединений не более 100 метров и при ограниченном быстродействии (-10, что во многих случаях делает ненужным контроль целостности сообщений.
При построении сетей используются многожильные кабели (Рисунок 3.2.1; существуют и другие разновидности кабеля: например, двух- или четырехжильные, а также плоские). В верхней части рисунка [a] изображено отдельное оптоволокно, а в нижней [Б] сечение восьмижильного оптического кабеля. Свет (длина волны l
~ 1350 или 1500 нм) вводится в оптоволокно (диаметром dm) с помощью светоизлучающего диода или полупроводникового лазера. Центральное волокно покрывается слоем (клэдинг, 1А), коэффициент преломления которого меньше чем у центрального ядра (стрелками условно показан ход лучей света в волокне). Для обеспечения механической прочности извне волокно покрывается полимерным слоем (2А). Кабель может содержать много волокон, например 8 (1Б). В центре кабеля помещается стальной трос (3Б), который используется при прокладке кабеля. С внешней стороны кабель защищается (от крыс!) стальной оплеткой (2Б) и герметизируется эластичным полимерным покрытием.
Рисунок 4.2.11.2.2 Пример выделения областей при ospf маршрутизации в автономной системе (М – маршрутизаторы; c – сети).
На рис 4.2.11.2.2 (см. также Рисунок 4.2.11.2.1) приведен пример выделения областей маршрутизации при ospf-маршрутизации в пределах автономной системы. На Рисунок 4.2.11.2.2 маршрутизаторы М4 и М2 выполняют функция опорной сети для других областей. В выделенных областях может быть любое число маршрутизаторов. Более толстыми линиями выделены связи с другими автономными системами.
При передаче OSPF-пакетов фрагментация не желательна, но не запрещается. Для передачи статусной информации OSPF использует широковещательные сообщения Hello. Для повышения безопасности предусмотрена авторизация процедур. OSPF-протокол требует резервирования двух мультикастинг-адресов:
224.0.0.5 | предназначен для обращения ко всем маршрутизаторам, поддерживающим этот протокол. |
224.0.0.6 | служит для обращения к специально выделенному маршрутизатору. |
Любое сообщение ospf начинается с 24-октетного заголовка:
4.4.11.2 Протокол OSPF (алгоритм Дикстры)
Протокол OSPF (Open Shortest Pass First, RFC-1245-48, RFC-1583-1587, алгоритмы предложены Дикстрой) является альтернативой RIP в качестве внутреннего протокола маршрутизации. OSPF представляет собой протокол состояния маршрута (в качестве метрики используется - коэффициент качества обслуживания). Каждый маршрутизатор обладает полной информацией о состоянии всех интерфейсов всех маршрутизаторов (переключателей) автономной системы. Протокол OSPF реализован в демоне маршрутизации gated, который поддерживает также RIP и внешний протокол маршрутизации BGP.
Автономная система может быть разделена на несколько областей, куда могут входить как отдельные ЭВМ, так и целые сети. В этом случае внутренние маршрутизаторы области могут и не иметь информации о топологии остальной части AS. Сеть обычно имеет выделенный (designated) маршрутизатор, который является источником маршрутной информации для остальных маршрутизаторов AS. Каждый маршрутизатор самостоятельно решает задачу оптимизации маршрутов. Если к месту назначения ведут два или более эквивалентных маршрута, информационный поток будет поделен между ними поровну. Переходные процессы в OSPF завершаются быстрее, чем в RIP. В процессе выбора оптимального маршрута анализируется ориентированный граф сети. Ниже описан алгоритм Дикстры по выбору оптимального пути. На иллюстративном Рисунок 4.2.11.2.1 приведена схема узлов (A-J) со значениями метрики для каждого из отрезков пути. Анализ графа начинается с узла A (Старт). Пути с наименьшим суммарным значением метрики считаются наилучшими. Именно они оказываются выбранными в результате рассмотрения графа (“кратчайшие пути“).
Рисунок 3.2.2. Разновидности оптических волокон, отличающиеся зависимостью коэффициента преломления от радиуса
Буквой В помечен одномодовый вид волокна (понятие мода связано с характером распространения электромагнитных волн). Мода представляет собой одно из возможных решений уравнения Максвелла. В упрощенном виде можно считать, что мода – это одна из возможных траекторий, по которой может распространяться свет в волокне. Чем больше мод, тем больше дисперсионное искажение сформы сигнала. Одномодовое волокно позволяет получить полосу пропускания в диапазоне 50-100 ГГц-км. Типовое значение модовой дисперсии лежит в пределах от 15 до 30 нсек/км. Эта разновидность волокна воспринимает меньшую долю света на входе, за то обеспечивает минимальное искажение сигнала и минимальные потери амплитуды. Следует также иметь в виду, что оборудование для работы с одномодовым волокном значительно дороже. Центральная часть одномодового волокна имеет диаметр 3-10 m, а диаметр клэдинга составляет 30-125 m. Число мод, допускаемых волокном, в известной мере определяет его информационную емкость. Модовая дисперсия приводит к расплыванию импульсов и их наезжанию друг на друга. Дисперсия зависит от диаметра центральной части волокна и длины волны света. Число мод n равно для волокна типа А:
Рисунок 3.2.1. Сечение оптоволоконного кабеля
Существует несколько типов оптических волокон, обладающих различными свойствами. Они отличаются друг от друга зависимостью коэффициента преломления от радиуса центрального волокна. На Рисунок 3.2.2 показаны три разновидности волокна (А, Б и В). Буквами А и Б помечен мультимодовый вид волокон. Тип Б имеет меньшую дисперсию времени распространения и по этой причине вносит меньшие искажения формы сигнала. Установлено, что, придавая световым импульсам определенную форму (обратный гиперболический косинус), дисперсионные эффекты можно полностью исключить. При этом появляется возможность передавать импульсы на расстояние в тысячи километров без искажения их формы. Такие импульсы называются солитонами. При современных же технологиях необходимо использовать повторители через каждые 30 км (против 5 км для медных проводов). По сравнению с медными проводами оптоволоконные кабели несравненно легче. Так одна тысяча скрученных пар при длине 1 км весит 8 тонн, а два волокна той же длины, обладающие большей пропускной способностью, имеют вес 100кг. Это обстоятельство открывает возможность укладки оптических кабелей вдоль высоковольтных линий связи, подвешивая или обвивая их вокруг проводников.
Рисунок 3.2.6. Схема оптического разъема
С использованием оптических волокон можно создавать не только кольцевые структуры. Возможно построение фрагмента сети, по характеру связей эквивалентного кабельному сегменту или хабу. Схема такого фрагмента сети представлена на Рисунок 3.2.7 (пассивный хаб-концентратор). Базовым элементом этой субсети является прозрачный цилиндр, на один из торцов которого подключаются выходные волокна всех передатчиков интерфейсов устройств, составляющих субсеть. Сигнал с другого торца через волокна поступает на вход фото приемников интерфейсов. Таким образом, сигнал, переданный одним из интерфейсов, поступает на вход всех остальных интерфейсов, подключенных к этой субсети. При этом потери света составляют 2С + S + 10*log(N), где С - потери в разъеме, S - потери в пассивном разветвителе, а N - число оптических каналов (N может достигать 64). Современные микросхемы приемо-передатчиков (корпус DIP) имеют встроенные разъемы для оптического кабеля (62,5/125мкм или 10/125 мкм). Некоторые из них (например, ODL 200 AT&T) способны осуществлять переключение на обходной оптический путь (bypass) при отключении питания.
Рисунок 3.2.7. Схема пассивного оптоволоконного хаба
В последнее время заметного удешевления оптических каналов удалось достичь за счет мультиплексирования с делением по длине волны. За счет этой техники удалось в 16-32 раза увеличить широколосность канала из расчета на одно волокно. Схема мультиплесирования показана на Рисунок 3.2.8. На входе канала сигналы с помощью призмы объединяются в одно общее волокно. На выходе с помощью аналогичной призмы эти сигналы разделяются. Число волокон на входе и выходе может достигать 32.
Рисунок 4.2.11.2.7 Сообщение об изменении маршрутов
Сообщения об изменениях маршрутов могут быть вызваны следующими причинами:
1. Возраст маршрута достиг предельного значения (lsrefreshtime).
2. Изменилось состояние интерфейса.
3. Произошли изменения в маршрутизаторе сети.
4. Произошло изменение состояния одного из соседних маршрутизаторов.
5. Изменилось состояние одного из внутренних маршрутов (появление нового, исчезновение старого и т.д.)
6. Изменение состояния межзонного маршрута.
7. Появление нового маршрутизатора, подключенного к сети.
8. Вариация виртуального маршрута одним из маршрутизаторов.
9. Возникли изменения одного из внешних маршрутов.
10. Маршрутизатор перестал быть пограничным для данной as (например, перезагрузился).
Каждое сообщение о состоянии канала начинается с заголовка - "объявление состояния канала" (LS– link state). Формат этого типа заголовка приведен ниже (20 октетов):
Таблица 3.2.2. Характеристики оптических приемников
Параметры |
pin |
Лавинный фотодиод |
Фототранзистор |
Фотоприемник Дарлингтона |
Чувствительность |
0,5 мкa/мкВт |
15 мкa/мкВт |
35 мкa/мкВт |
180 мкa/мкВт |
Время нарастания |
1 нс |
2 нс |
2 мкс |
40 мкс |
Напряжение смещения |
10 В |
100 В |
10 В |
10 В |
Поглощение света в волокне происходит по нескольким причинам. Поглощение в собственно стекле волокна падает с частотой, в то время как потери из-за рассеяния на дефектах стекла (релеевское рассеяние) с увеличением частоты растет. При сгибании волокна поглощение увеличивается. По этой причине следует избегать малых радиусов изгиба (кроме всего прочего это может привести и к обрыву). В результате потери света в волокне обычно лежит в диапазоне (2-5) дБ/км для длин волн 0,8 – 1,8 m. Зависимость поглощения света в волокне от длины волны показана на Рисунок 3.2.3. Используемые диапазоны отмечены на рисунке зеленым цветом. Все эти диапазоны имеют ширину 25000-30000 ГГц.
Таблица 3.2.1. Характеристики светодиодов и инжекционных лазерных диодов
Параметры |
Светодиод (led) |
Инжекционные лазерные диоды |
Выходная мощность |
0,5 – 11,5 мВт |
3 – 10 мВт |
Время нарастания |
1 – 20 нс |
1 – 2 нс |
Диапазон тока смещения |
5- - 150 мА |
100 – 500 мА |
Время нарастания фотодиода ограничивает быстродействие системы. Не малую роль играет и уровень шумов на входе приемника. При этом световой импульс должен нести достаточно энергии (заметно больше уровня шума), чтобы обеспечить низкий уровень ошибок. В таблице 3.2.2 приведены характеристики оптических приемников.
Таблица кодов TOS, принятых в OSPF протоколе приведена ниже.
Таблица 4.2.11.2.6. Коды идентификаторов канала
Код идентификатора |
Описание |
1 |
Идентификатор соседнего маршрутизатора |
2 |
IP-адрес основного маршрутизатора (по умолчанию) |
3 |
IP-адрес сети/субсети |
4 |
Идентификатор соседнего маршрутизатора |
Маршрутизатор, получивший OSPF-пакет, посылает подтверждение его приема. Этот вид пакетов имеет тип=5 и структуру, отображенную на Рисунок 4.2.11.2.10. Получение нескольких объявлений о состоянии линий может быть подтверждено одним пакетом. Адресом места назначения этого пакета может быть индивидуальный маршрутизатор, группа маршрутизаторов или все маршрутизаторы автономной системы.
Таблица 4.2.11.2.2. Коды поля тип
Тип |
Значение |
1 |
Hello (используется для проверки доступности маршрутизатора). |
2 |
Описание базы данных (топология). |
3 |
Запрос состояния канала. |
4 |
Изменение состояния канала. |
5 |
Подтверждение получения сообщения о статусе канала. |
Поле длина пакета определяет длину блока в октетах, включая заголовок. Идентификатор области - 32-битный код, идентифицирующий область, которой данный пакет принадлежит. Все ospf-пакеты ассоциируются с той или иной областью. Большинство из них не преодолевает более одного шага. Пакеты, путешествующие по виртуальным каналам, помечаются идентификатором опорной области (backbone) 0.0.0.0. Поле контрольная сумма содержит контрольную сумму IP-пакета, включая поле типа идентификации. Контрольное суммирование производится по модулю 1. Поле тип идентификации может принимать значения 0 при отсутствии контроля доступа, и 1 при наличии контроля. В дальнейшем функции поля будут расширены. Важную функцию в OSPF-сообщениях выполняет одно-октетное поле опции, оно присутствует в сообщениях типа Hello, объявление состояния канала и описание базы данных. Особую роль в этом поле играют младшие биты e и Т:
Таблица 4.2.11.2.4. Коды типа сервиса (TOS)
OSPF-код |
TOS-коды |
TOS(RFC-1349) |
0 |
0000 |
Обычный сервис |
2 |
0001 |
Минимизация денежной стоимости |
4 |
0010 |
Максимальная надежность |
8 |
0100 |
Максимальная пропускная способность |
16 |
1000 |
Минимальная задержка |
Таблица 4.2.11.2.3. Коды типов состояния каналов (LS)
LS-тип |
Описание объявления о маршруте |
1 |
Описание каналов маршрутизатора, то есть состояния его интерфейсов. |
2 |
Описание сетевых каналов. Это перечень маршрутизаторов, непосредственно связанных с сетью. |
3 или 4 |
Сводное описание каналов, куда входят маршруты между отдельными областями сети. Эта информация поступает от пограничных маршрутизаторов этих зон. Тип 3 приписан маршрутам, ведущим к сетям, а тип 4 характеризует маршруты, ведущие к пограничным маршрутизаторам автономной системы. |
5 |
Описания внешних связей автономной системы. Такие маршруты начинаются в пограничных маршрутизаторах AS. |
Поле идентификатор канала определяет его характер, в зависимости от этого идентификатором может быть IP-адрес маршрутизатора или сети. Маршрутизатор, рекламирующий канал определяет адрес этого маршрутизатора. Поле порядковый номер канала позволяет маршрутизатору контролировать порядок прихода сообщений и их потерю. Поле возраст канала определяет время в секундах с момента установления связи. После обмена сообщениями с соседями маршрутизатор может выяснить, что часть данных в его базе устарела. Он может послать своим соседям запрос с целью получения свежей маршрутной информации о каком-то конкретном канале связи. Сосед, получивший запрос, высылает необходимую информацию. Запрос посылается в соответствии с форматом, показанном ниже (Рисунок 4.2.11.2.6):
Таблица 4.2.11.2.5. Коды типов связей (см. Рисунок 4.2.11.2.9)
Код типа связи |
Описание |
1 |
Связь с другим маршрутизатором по схеме точка-точка |
2 |
Связь с транзитной сетью |
3 |
Связь с оконечной сетью |
4 |
Виртуальная связь (например, опорная сеть или туннель) |
Поле идентификатор канала характеризует объект, с которым связывается маршрутизатор. Примеры идентификаторов представлены в таблице:
Таблица 4.2.11.2.1 может иметь совершенно иное содержимое для какого-то другого вида сервиса, выбранные пути при этом могут иметь другую топологию. Качество сервиса (QoS) может характеризоваться следующими параметрами:
пропускной способностью канала;
задержкой (время распространения пакета);
числом дейтограмм, стоящих в очереди для передачи;
загрузкой канала;
требованиями безопасности;
типом трафика;
числом шагов до цели;
возможностями промежуточных связей (например, многовариантность достижения адресата).
Определяющими являются три характеристики: задержка, пропускная способность и надежность. Для транспортных целей OSPF использует IP непосредственно, т.е. не привлекает протоколы UDP или TCP. OSPF имеет свой код (89) в протокольном поле IP-заголовка. Код TOS (type of service) в IP-пакетах, содержащих OSPF-сообщения, равен нулю, значение TOS здесь задается в самих пакетах OSPF. Маршрутизация в этом протоколе определяется IP-адресом и типом сервиса. Так как протокол не требует инкапсуляции пакетов, сильно облегчается управление сетями с большим количеством бриджей и сложной топологией (исключается циркуляция пакетов, сокращается транзитный трафик). Автономная система может быть поделена на отдельные области, каждая из которых становится объектом маршрутизации, а внутренняя структура снаружи не видна (узлы на Рисунок 4.2.11.2.1 могут представлять собой как отдельные ЭВМ или маршрутизаторы, так и целые сети). Этот прием позволяет значительно сократить необходимый объем маршрутной базы данных. В OSPF используется термин опорной сети (backbone) для коммуникаций между выделенными областями. Протокол работает лишь в пределах автономной системы. В пределах выделенной области может работать свой протокол маршрутизации.
Таблица 4.2.11.2.1. Реализация алгоритма
Множество | Метрика связи узла a с узлами | |||||||||
Шаг |
N |
B | C | D | E | F | G | H | I | J |
0 |
{A} |
3 | - | 9 | - | - | - | - | - | - |
1 |
{A,B} |
(3) | 4 | 9 | 7 | - | 10 | - | - | - |
2 |
{A,B,C} |
3 | (4) | 6 | 6 | 10 | 10 | 8 | - | 14 |
3 |
{A,BC,D} |
3 | 4 | (6) | 6 | 10 | 10 | 8 | 9 | 14 |
4 |
{A,B,C,D,E} |
3 | 4 | 6 | (6) | 10 | 10 | 8 | 9 | 14 |
5 |
{A,B,C,D,E,H} |
3 | 4 | 6 | 6 | 10 | 10 | (8) | 9 | 14 |
6 |
{A,B,C,D,E,H,I} |
3 | 4 | 6 | 6 | 10 | 10 | 8 | (9) | 14 |
7 |
{A,B,C,D,E,H,I,F} |
3 | 4 | 6 | 6 | (10) | 10 | 8 | 9 | 14 |
8 |
{A,B,C,D,E,H,I,F,G} |
3 | 4 | 6 | 6 | 10 | (10) | 8 | 9 | 14 |
9 |
{A,B,C,D,E,H,I,F,G,J} |
3 | 4 | 6 | 6 | 10 | 10 | 8 | 9 | (14) |
Таблица 3.2.3. Типовые характеристики оптических волокон
Тип волокна |
Диаметр ядра [мкм] |
Диаметр клэдинга [мкм] |
А |
Затухание [дБ/км] |
Полоса пропускания [МГц/км] |
||
Длина волны | 850 |
1300 |
1550 |
||||
Одномодовое |
9,3 8,1 |
125 125 |
0,13 0,17 |
0,4 0,5 |
0,3 0,25 |
5000 для 850 нм |
|
Со сглаженным индексом |
50 62,5 85 |
125 125 125 |
0,2 0,275 0,26 |
2,4 3,0 2,8 |
0,6 0,7 0,7 |
0,5 0,3 0,4 |
600 для 850 нм; 1500 для 1300 нм |
Ступенчатый индекс |
200 |
380 |
0,27 |
6,0 |
6 при 850 нм |
Одним из критических мест волоконных систем являются сростки волокон и разъемы. Учитывая диаметр центральной части волокна, нетрудно предположить, к каким последствиям приведет смещение осей стыкуемых волокон даже на несколько микрон (особенно в одномодовом варианте, где диаметр центрального ядра менее 10 микрон) или деформация формы сечения волокон.
Соединители для оптических волокон имеют обычно конструкцию, показанную на Рисунок 3.2.6, и изготовляются из керамики. Потеря света в соединителе составляет 10-20%. Для сравнения сварка волокон приводит к потерям не более 1-2%. Существует также техника механического сращивания волокон, которая характеризуется потерями около 10% (splice). Оптические аттенюаторы для оптимального согласования динамического диапазона оптического сигнала и интервала чувствительности входного устройства представляют собой тонкие металлические шайбы, которые увеличивают зазор между волокном кабеля и приемником.
Рисунок 3.2.4. Зависимость дисперсии от длины волны
Из рисунка видно, что в области ниже 1300 нм более длинные волны движутся быстрее коротких. Для длин волн >1300нм имеет место обратная ситуация – более длинные волны движутся медленнее коротких. Для одномодовых волокон определяющий вклад в искажения вносится дисперсией скоростей распространения, для многомодовых основной вклад вносит модовая дисперсия. Зависимость полосы пропускания волокна от его длины приведена на Рисунок 3.2.5.
Рисунок 3.2.3. Зависимость поглощения света в волокне от длины волны
Из рисунка видно, что минимумы поглощения приходятся на 1300 и ~1500 нм, что и используется для целей телекоммуникаций. При длине волны 1300 нм дисперсия скоростей распространения различных длин волн минимальна. Диапазон ~850 нм характеризуется высоким поглащением, но он привлекателен тем, что как лазеры, так и электроника могут быть изготовлены из одного материала (арсенида галлия). Используемые оптические диапазоны выделены зеленым цветом. Зависимость дисперсии от длины волны показана на Рисунок 3.2.4.
Рисунок 3.2.5. Зависимость полосы пропускания волокна от его длины
Типовые характеристики оптических волокон приведены в таблице 3.2.3. (См. также Дональд Дж. Стерлинг, Волоконная оптика. Техническое руководство. Изд. “ЛОРИ, Москва, 1998 а также Дж. Гауэр, Оптические системы связи. Москва, “Радио и связь”, 1989)
Рисунок 7.2.1.А Структура CSR-регистра интерфейса (CSR0)
Init |
инициализация (initialize); |
Strt |
старт; |
Stop |
стоп; |
Tdnd |
запрос передачи (transmit demand); |
Txon |
включение передачи; |
Rxon |
включение приема; |
Inea |
разрешение прерываний (interrupt enable); |
Intr |
прерывание; |
Idon |
инициализация выполнена (стирание записью 1); |
Tint |
прерывание при передаче (стирание записью 1); |
Rint |
прерывание при чтении (стирание записью 1); |
Merr |
ошибка при тайм-ауте на шине (стирание записью 1); |
Miss |
нет буфера для приема (стирание записью 1); |
Cerr |
ошибка из-за столкновения (стирание записью 1); |
Labl |
тайм-аут при передаче (стирание записью 1); |
Err |
ошибка типа Babl, Cerr, Miss, Merr (только для чтения). |
CSR1 (доступ разрешен при CSR0[stop] = 1)
Рисунок 3.5.2. Алгоритм установления соединения PPP
При обнаружении несущей или по инициативе клиента система может попытаться установить соединение. В случае успеха система переходит в фазу аутентификации. Если же и фаза аутентификации завершается благополучно, система выполняет подключение к сети (IP, IPX, Appletalk и т.д.), настройка сетевого уровня производится в рамках протокола NCP. Во всех остальных случаях производится возврат в исходное состояние. Процедура закрытия соединения осуществляется протоколом LCP.
В поле данных PPP-пакета может быть вложен один LCP-пакет, в этом случае в поле протокол должен быть записан код 0xC021 (Link Control Protocol). LCP-протокол служит для установления соединения путем обмена конфигурационными пакетами. По завершении этого обмена система переходит в фазу аутентификации (Рисунок 3.5.2). Формат LCP-пакета показан на Рисунок 3.5.3.
10.15 Базовые протоколы Internet
Протокол | Описание | RFC |
ARP | Address Resolution Protocol | 826 |
BFTP | Background File Transfer Protocol | 1068 |
BGP | Border Gateway Protocol (внешний протокол маршрутизации) | 1105,1265-68, 1397, 1654-56 |
BOOTP | Bootstrap Protocol (протокол загрузки) | 951,1048,1084 |
CIDR | Classless Inter-Domain Routing protocol | 1519,1520 |
CLNP | ConnectionLess Network Protocol (ISO-8474) | 1526,1561,1575 |
CLOCK | DCNET Time Server Protocol | 778 |
CMOT | Common Management Information Service and Protocol over TCP/IP | 1095 |
DNS | Domain Name Service (система распознавания имен доменов) | 1713, 1712, 1612, 1611, 1383 |
DOMAIN | Domain Name System (DNS) | 1034, 1035, 1032, 974 |
DVMRP | Distance Vector Multicast Routing Protocol | 1075 |
ECHO | Эхо протокол | 862 |
EGP | Exterior Gateway Protocol | 904, 911, 1092, 1093 |
FINGER | Finger-протокол | 1288,724 |
FTP | File Transfer Protocol (протокол пересылки файлов) | 959 |
HEMP | High level Entity Management Protocol | 1022 |
HEMS | High level Entity Management System | 1021 |
HMP | Host Monitoring Protocol | 869 |
GGP | Gateway to Gateway Protocol | 823 |
ICMP | Internet Control Message Protocol | 792,1256 |
IDRP | Inter-Domain Routing Protocol | 1477,1479 |
IGMP | Internet Group Multicast Protocol | 1112 |
IGP | Interior Gateway Protocol | 1074,1371 |
IP | Internet протокол | 791 |
IP субсети | 950 | |
IP широковещательные дейтограммы | 919 | |
то же для субсетей | 922 | |
IP-ARC | Internet протокол для Arcnet | 1051 |
IP-E | Internet протокол для Ethernet | 895 |
IP-FDDI | Передача IP через FDDI | 1103 |
IP-SLIP | Передача IP по последовательным линиям | 1055 |
IPM | Internet-протокол для сообщений | 759 |
IRC | Internet Relay Chat | 1459 |
IS-IS | OSI-междоменный протокол маршрутизации | 1195,1142 |
Формат сообщений электронной почты | 822, 821, 1351, 1352 | |
MIB-II | Management Information Base-II | 1213 |
MIME | Multipurpose Internet Mail Extensions | 1521,1522 |
NETBIOS | NetBIOS Service Protocols | 1001,1002 |
NETRJE | Network Remote Job Entry Program | 740,725 |
NETRJS | Network Remote Job Service | 477,436 |
NFS | Network File System (файловая система) | 1094 |
NNTP | Network News Transfer Protocol | 977 |
NTP | Network Time Protocol | 1119,1128-29 |
NUMBERS | Assigned Numbers | 1700 |
OSPF | Open Shortest Pass First Protocol (маршрутный протокол "кратчайший путь лучше") | 1131, 1245 -48, 1253, 1370, 1583-87 |
PCMAIL | PVmail Transport Protocol | 1056 |
POP | Post Office Protocol | 937, 1081, 1082, 1460 |
RAP | Router-Access Protocol | 1476 |
PPP | Point-to-Point Protocol | 1134 |
RARP | Reverse Address Resolution Protocol | 903 |
RDP | Reliable Data Protocol | 908 |
RIP | Routing Information Protocol (внутренний протокол маршрутизации) | 1058, 1387, 1389, 1581, 1582,1388 |
RLP | Resource Location Protocol | 887 |
RPC | Remote Procedure Call Protocol | 1057,1050 |
SFTP | Simple File Transfer Protocol | 913 |
SLIP | Serial Line IP (Интернет по послед. линии) | 1055 |
SMI | Structure of Management Information | 1155 |
SMTP | Simple Mail Transfer Protocol SMTP через X.25 | 821, 1090 |
SNMP | Simple Network Management Protocol SNMP в Ethernet | 1157, 1089 |
TCP | Transmission Control Protocol | 793 |
TELNET |
Протокол удаленного доступа |
854,856-861, 885, 927, 933, 946, 1041, 1043, 1053, 1073, 1079, 1093, 1096, 1097, 1143, 1184, 1205, 1372, 1411, 1412, 1416, 1571, 1572 |
TFTP | Trivial File Transfer Protocol | 1350 |
UDP | User Datagram Protocol | 768 |
USERS | Протокол активных пользователей | 866 |
UUCP | Электронная почта под UNIX | 976 |
VFIP | Voice File Interchange Protocol | 978 |
VMTP | Versatile Message Transfer Protocol | 1045 |
XDR | EXternal Data Representation | 1014 |
X-Windows | Системный протокол X-Windows | 1198,1013 |
6.4.4 Безопасная почта PGP
В связи с массовым внедрением электронной почты и, в перспективе, полным вытеснением традиционной, проблема конфиденциальности доставки электронных сообщений становится крайне актуальной. В последние годы разработано несколько почтовых систем, предоставляющих эту конфиденциальность. Примером такой системы может служить PEM - почта с улучшенной защитой от несанкционированного доступа (PEM - Privacy Enhanced Mail, RFC-1421, 1422, 1423 и 1424). Первая разработка в области электронной криптографии относится к 1976 году, когда была создана система Диффи-Хелмана (Diffie-Hellman) с общедоступным шифровальным ключом. Позднее, в 1977 году Ривестом, Шамиром и Адлеманом была предложена двух ключевая система RSA (Rivest-Shamir-Adleman). Эта разработка была выполнена под патронажем Национального научного фонда США (NSF) и в 1983 году запатентована в США.
PEM является стандартом Интернет для улучшения защищенности электронной почты. PEM использует криптографическую технику для обеспечения контроля правильности передачи сообщения, защищенности и идентификации. Стандарт позволяет вам знать, что полученное сообщение не было изменено, быть уверенным, что ваше сообщение будет получено именно тем и только тем, кому было адресовано.
Предусмотрена интеграция MIME (Multipurpose Internet Mail Extensions) и PEM. Существует подписной лист (LISTSERV) для пользователей, интересующихся вопросами развития и использования PEM. Для подписки необходимо послать соответствующее сообщение по адресу pem-dev-request@tis.com.
Для пользователей PEM имеется еще один подписной лист: tispem-users@tis.com. Для подписки следует направлять заявки по адресу: tispem-users-request@tis.com. С вопросами по использованию TIS/PEM следует обращаться в tispem-support@tis.com.
Имеется версия программного обеспечения PEM в свободном доступе, например, TIS/PEM V7.0 (UNIX, только для США и Канады). Эта версия содержит в себе:
поддержку однопользовательского режима с возможностью совместного использования некоторых процедурных модулей;
легко читаемую базу данных для каждого пользователя;
поддержку для большего числа баз данных;
гибкую систему управления доступом;
гибкую систему поверки;
системы верификации, кодирования, декодирования и электронной подписи, совместимые с другими почтовыми серверами;
поддержку интеграции MIME-PEM.
Система TIS/PEM доступна через анонимное FTP в США и Канаде по адресу: ftp.tis.com pub/PEM/README; pub/PEM/LICENSE; pub/PEM/BUGS. Файл README содержит дополнительные инструкции по применению PEM.
Несравненно большей популярностью пользуется конфиденциальная почтовая система PGP (Pretty Good Privacy – замечательная конфиденциальность). История создания PGP довольно драматична (см. http://www.dcs.ex.ac.uk/~aba/timeline/. Создателем PGP является Фил Циммерман (США, 1991 год). PGP базируется на двух ключевой системе шифрования RSA и алгоритме IDEA (International Data Encryption Algorithm, предложен Ксейа Лайем и Джеймсом Массейем, Швейцария). Творение Циммермана было встречено без энтузиазма Агентством Национальной Безопасности США и против него было возбуждено уголовное дело. Хотя АНБ и могущественно, здравый смысл и закон в данном случае восторжествовали. Что же касается патента на RSA, он не является международным и вся ответственность за использование программ, базирующихся на данном алгоритме, лежит на пользователе (юридически ситуация весьма запутана). В России применение любой системы шифрования (формально даже архивирование!) требует лицензирования. Все правительства любят все держать в тайне, но не любят, когда кто-то пытается хранить в тайне что-то от правительства (даже если это любовные письма; если вы интересуетесь юридической стороной проблемы использования PGP, смотрите в http://cwis.kub.nl/~frw/people/koops/lawsurvy.htm. Чему здесь удивляться, ведь история “черных кабинетов” (в том числе и в России) исчисляется столетиями.
PGP версия 2.5 (http://www.ifi.uio.no/~staalesc/PGP ) (и более поздние используют RSAREF 1.0 вместо MPILIB) представляет собой публично доступный (легальный!) пакет электронной почты со встроенной системой шифрования сообщений. Пакет обеспечивает конфиденциальность переписки и пересылки файлов. Конфиденциальность заключается в том, что только лица, кому адресовано послание или файл, смогут его прочесть. PGP поддерживает технологию электронной подписи, гарантирующей получателю, что сообщение пришло именно от вас. Предусмотрен контроль неизменности сообщения в процессе доставки (принцип сходен с идеей CRC). При этом не требуется каких-либо секретных каналов для пересылки ключей кодирования. Именно эта схема являлась до недавнего времени основной. Главный ее недостаток - необходимость транспортировки секретного ключа. PGP использует технику шифрования с общедоступными ключами, совмещая удобства системы кодирования RSA с быстродействием традиционных методов. Существуют коммерческие версии PGP, встроенные в известные текстовые редакторы WORD и другие. В PGP предусмотрена схема, резко ускоряющая дешифровку. Возможно применение большого набора пар общедоступных и секретных ключей. Имеется система авторизации, контролирующая доступ к ключам и препятствующая использованию краденных секретных ключей. Предусмотрены и другие методы повышения секретности пересылки любых сообщений.
Пакет работает под MS-DOS, UNIX, Windows. Данная версия позволяет посылать сообщение сразу нескольким адресатам. Пакет имеет встроенную справочную систему (Help на английском, французском и испанском языках. Описания, инструкции по постановке и использованию можно найти по адресу: FTP ftp.uu.net/pub/security/pgp.
Рисунок 2.5.5. Блок-схема кодирования и передачи изображения
Макроблоки не передаются, если данная часть изображения не изменилась. За MBA следует код переменной длины Mtype, характеризующий формат макроблока (применен ли метод подвижного вектора MVD и т.д.) и последующую информацию. CBP (Coded Block Pattern) представляет собой кодовое слово переменной длины, которое несет в себе информацию о том, какой из шести блоков преобразования (8*8) содержит коэффициенты (слой блоков). CBP нужно не для всех типов макроблоков. Каждый блок завершается флагом EOB (End of Block).
Bcon | 0 = <0:7> перестановка байтов адресов |
Acon | 0 = ale, 1 = /as |
Bswp | 0 = /bm1, bm0, /hold; |
Рисунок 3.5.1 Формат кадра в протоколе PPP
Поле адрес всегда содержит байт 0xff (смотри также HDLC). Это указывает на то, что все станции должны принять этот кадр, и исключает необходимость выделения каких-то специальных адресов. Байт управления всегда равен 0x03, что указывает на ненумерованный тип кадра. По умолчанию кадры PPP передаются в режиме "без установления соединения". Если требуется надежная доставка, используется версия, описанная в RFC-1663. Двухоктетное поле протокол сходно по функции с полем тип в кадре Ethernet и определяет то, как следует интерпретировать информационное поле (см. табл. 3.5.1). Значение 0x0021 этого поля говорит о том, что последующее информационное поле содержит в себе IP-дейтограмму. Поле CRC (Cyclic Redundancy Check) представляет собой циклическую контрольную сумму, предназначенную для выявления ошибок при транспортировке PPP-кадра. Применение флагов-ограничителей кадра (0x7E) создает те же проблемы, о которых говорилось при описании SLIP-протокола, - эти байты не могут присутствовать в информационном поле. В синхронном режиме эта проблема решается на аппаратном уровне. При работе в асинхронном режиме для этого используется специальный ESC-символ, равный 0x7D. Когда этот esc-символ встречается в информационном поле, шестой бит в следующем за ним байте инвертируется. Так байт 0x7E будет преобразован в последовательность 0x7D, 0x5E, а байт 0x7D - в два байта 0x7D, 0x5D. Все символы с кодами меньше 0x20 также преобразуются в ESC-последовательности. Например, 0x07 будет преобразован в 0x7D, 0x27. Это необходимо делать, так как управляющие символы могут оказать непредсказуемые воздействия на режим работы драйверов или модемов, используемых в канале. Протокол ppp в отличие от SLIP допускает мультипротокольность и динамическое определение IP-адресов партнеров. Несмотря на определенные преимущества протокола PPP перед SLIP, последний распространен достаточно широко. Не трудно видеть, что все перечисленные физические среды используют последовательный формат передачи информации.
Рисунок 4.4.9.5.5. Формат кодированного адреса отправителя
Поле бит s (бит рассеянности) содержит 1 для PIM-SM. Этот бит используется для обеспечения совместимости с PIM v.1.
Поле бит W (бит WC). Бит WC =1, если подключение (join) или удаление (prune) используются для маршрутной записи (*,g) или (*,*,rp). Если wc=0, join или prune используются для маршрутной записи (s,g), где s – адрес отправителя. Сообщения join и prune, посылаемые в RP, должны иметь этот бит равным 1.
Поле бит R (бит RPT). Бит RPT=1, если информация о (s,g) послана в RP. Если RPT=0, информация должна быть послана S, где S – адрес отправителя.
Поле длина маски имеет длину 8 бит. Значение этого поля охарактеризовано выше в комментарии к рисунку 4.4.9.5.4.
Поле адрес отправителя имеет длину, определяемую полем заголовка длина адреса. Для IPv4, она равна 4 октетам. Формат сообщения Hello показан на Рисунок 4.4.9.5.6.
Первые два байта представляют собой заголовок PIM-сообщения. Поле optiontype определяет тип опции, значение которой задано в поле optionvalue. Поле optionlength задает длину поля optionvalue в байтах. Поле optionvalue имеет переменную длину и содержит значение опции. Поле опция может содержать следующие значения:
Рисунок 3.5.5. Формат MР-пакета
Поля PID - идентификатор протокола. Субполе B (Beginning) - бит фрагмента =1 для первого фрагмента PPP и =0 для всех последующих фрагментов. Субполе E (Ending) - бит фрагмента =1 для последнего фрагмента PPP и =0 для всех прочих фрагментов. Поле номер по порядку имеет длину 24 бита. Существует модификация пакета с укороченным кодом (12 бит) номера по порядку. При этом к этому полю отходят 4 нулевые бита после BE00. Выбор длины этого поля осуществляется протоколом LCP. Значение полу увеличивается на 1 при посылке очередного фрагмента. Для вышерасположенных уровней совокупность совместно используемых каналов выглядит, как один виртуальный канал.
При передаче пакетов по каналу Multilink инкапсуляция производится согласно следующим правилам, которые задаются вручную:
Никакого асинхронного управления кодированием символов
Запрет использования магических чисел
Запрещено мониторирование качества канала
Сжатие полей адреса, протокола и управления
Никаких составных кадров
Запрет заполнения с самоописанием (Self-Describing-Padding)
Для предварительно фрагментированных пакетов запрещено дополнение нулями или использование каких-либо иных заполнителей. Рассмотрим пример Multilink-соединения, приведенный на Рисунок 3.5.6. Канал 1 между двумя системами согласуется сетевыми уровнями NL1, NL2 и MP. Затем эти две системы согласуют с MP канал 2. Кадры, полученные каналом 1, демультиплексируются на канальном уровне согласно сетевому протокольному идентификатору PPP и могут быть посланы NL1, NL2 или MP. Канал 2 примет кадры со всеми сетевыми протокольными идентификаторами, с которыми принимает их канал 1. Кадры, полученные MP, позднее демультиплексируются на сетевом уровне согласно протокольному идентификатору PPP и посылаются NL1 или NL2. Любые кадры, полученные MP для других протоколов сетевого уровня, отбрасываются с помощью стандартного протокольного механизма (Reject).
Рисунок 3.5.4. Формат пакета IPCP. Младшие биты слева.
Поле тип содержит 2, в поле длина заносится число байт в пакете (?4). В поле протокол сжатия IP заносится код алгоритма сжатия (0х02D - в случае алгоритма Ван Джекобсона). Поле данные может содержать нуль или более октетов. Конфигурационный запрос может потребовать присылки (присвоения) IP-адреса. Для решения этой задачи предусмотрена опция IPCP-пакета, где поле тип=3, длина=6, а последующие 4 байта выделены для IP-адреса, куда отправитель должен его записать. Если туда записаны нули, это говорит о том, что отправитель запрашивает свой IP-адрес.
Протоколы PPP, LCP (Link Control Protocol), CCP (Compression Control Protocol; RFC-1962, -1967), и некоторые другие управляющие протоколы содержат 8-битовые поля код. Значения этих кодов приведены в таблице 3.5.2.
Рисунок 4.4.9.5.11. Формат сообщения assert
Поле закодированный групповой адрес характеризует групповой адрес места назначения пакетов, который явился причиной посылки сообщения assert. Поле уникастный адрес отправителя содержит IP-адрес отправителя из дейтограммы, вызвавшей посылку мультикастного пакета Assert. Длина поля в байтах определена полем длины адреса. Поле R
представляет собой RPT-бит. Если IP мультикастинг дейтограмма, вызвавшая посылку пакета assert направляется вниз по RP-дереву, тогда RPT-бит равен 1. Если маршрутизация осуществляется вдоль SPT, бит равен 0. Поле предпочтение несет в себе значения кода предпочтения, присвоенного уникастному протоколу маршрутизации, который организует проход до ЭВМ. Поле метрика содержит значение метрики для таблицы маршрутизации. Единицы измерения должны соответствовать требованиям маршрутного протокола.
Сообщения кандидата RP посылаются периодически C-RP способом и уникастно адресуются к BSR. Формат таких сообщений показан на Рисунок 4.4.9.5.12.
Рисунок 4.4.9.5.10. Формат сообщения bootstrap
Сообщения bootstrap пересылаются мультикастным способом группе `all-pim-routers', через все интерфейсы, имеющие PIM-соседей (за исключением того, через который получено сообщение). Сообщения bootstrap генерируются в BSR и посылаются с TTL=1. Формат сообщения bootstrap показан на Рисунок 4.4.9.5.10.
Сообщение bootstrap делится на семантические фрагменты, если исходное сообщение превосходит предельный размер пакета. Формат этих фрагментов представлен ниже (см. также Рисунок 4.4.9.5.10):
Поле метка фрагмента является случайным числом и служит для идентификации фрагментов принадлежащих одному и тому же сообщению. Фрагменты одного и того же сообщения имеют идентичные метки фрагмента. Поле длина хэш>-маски – это длина маски хэш функции в битах. Для IPv4 рекомендуется значение 30, а для IPv6 - 126. Поле BSR-приоритет содержит значение BSR-приоритета для включенного BSR. Это поле рассматривается как старший байт при сравнении BSR-адресов. Поле уникастный BSR-адрес является IP-адресом маршрутизатора (bootstrap) домена. Размер этого поля в байтах специфицирован в поле длина адреса. Поля закодированный групповой адрес -1..n является групповым префиксом (адрес и маска), с которым ассоциируются кандидаты RP. Поля число RP -1..N равны числу адресов кандидатов RP, включенных в сообщение bootstrap для соответствующего группового префикса. Маршрутизатор не замещает старый RP-набор для данного группового префикса до тех пор, пока не получит новое число RP-адресов для этого префикса. Адреса могут содержаться в нескольких фрагментах. Если получена только часть RP-набора для данного префикса, маршрутизатор эту часть выбрасывает, не изменяя RP-набора. Поля FRAG RP-cnt-1..m представляет собой число адресов кандидатов RP, включенных в этот фрагмент сообщения bootstrap, для соответствующего группового префикса. Поле `FRAG RP-cnt' облегчает разбор RP-набора для данного группового префикса, когда он размещается в более чем одном фрагменте. Поля уникастные rp-адреса -1..m представляют собой адреса кандидатов RP, для соответствующего группового префикса. Длина поля в байтах специфицировано полем длина адреса. Поля rp1..m-holdtime характеризуют значения holdtime для соответствующих RP. Это поле копируется из поля `holdtime' RP, записанного в BSR.
Сообщение assert посылается когда мультикастный информационный пакет получен выходным интерфейсом, соответствующим (s,g) или (*,g), относящимся к отправителю. Формат такого сообщения представлен на Рисунок 4.4.9.5.11.
Рисунок 4.4.9.5.6. Формат сообщения Hello
optiontype = 1; optionlength = 2; optionvalue = holdtime; где holdtime равно времени в секундах, в течение которого получатель должен сохранять доступность к соседу. Если holdtime установлено равным `0xFFFF', получатель этого сообщения никогда не прервет соединение с соседом по таймауту. Это может использоваться для каналов ISDN, для того чтобы избежать поддержания канала путем периодической посылки сообщений Hello. Более того, если holdtime= 0, информация объявляется устаревшей немедленно. Диапазон значений optiontype 2 – 16 зарезервирован на будущее. Сообщение register посылается DR или PMBR в RP, когда необходимо передать мультикаст-пакет по rp-дереву. IP-адрес отправителя при этом равен адресу DR, а адрес места назначения – адресу RP. Формат сообщения register показан на Рисунок 4.4.9.5.7. Постоянная часть заголовка здесь идентична, показанной на Рисунок 4.4.9.5.3.
Рисунок 4.4.9.5.9. Формат сообщения join/prune
Поле адрес вышестоящего соседа представляет собой IP-адрес RPF или вышестоящего соседа. Поле holdtime характеризует время в секундах, в течение которого получатель должен поддерживать активное состояние join/prune. Если holdtime сделано равным `0xffff', получатель сообщения отключает таймаут для данного выходного интерфейса. Если holdtime сделано равным `0', таймаут происходит немедленно. Поле число групп равно количеству мультикаст-групп, содержащихся в сообщении.
Поле закодированный мультикастный групповой адрес имеет формат, показанный на Рисунок 4.4.9.5.4. Произвольная группа (wildcard) (*,*,rp) характеризуется адресом 224.0.0.0 и `4' в поле длина маски. Подключение (*,*,rp) имеет биты WC и RPT равные 1.
Поле число подключенных отправителей равно количеству адресов подключенных отправителей для данной группы. Поля адрес подключенного отправителя -1 .. N представляют собой список отправителей, которым посылающий маршрутизатор переправляет мультикастные дейтограммы при получении их через интерфейс, на который пришло данное сообщение. Формат полей кодированного адреса отправителя следует описанию на Рисунок 4.4.9.5.5.
Рисунок 4.4.9.5.12. Формат сообщения кандидата RP (C-RP)
Поле # префиксов (Prefix-Cnt) содержит количество кодированных групповых адресов, включенных в сообщение, указывая групповые префиксы, для которых производится C-RP оповещение. Значение поля Prefix-Cnt = `0' предполагает использование префикса 224.0.0.0 с длиной маски 4, что означает - все мультикастные группы. Если C-RP не снабжена информацией о групповом префиксе, C-RP заносит в поле значение по умолчанию равное `0'. Поле A характеризует бит указания. Этот бит указывает, что BSR не должен переписывать информацию о групповых префиксах, приведенную в C-RP оповещении. В большинстве случаев C-RP устанавливает этот бит, равным 0. Поле Holdtime содержит значение времени, в течение которого оповещение корректно. Это поле позволяет определить время, когда оповещение устареет. Поле уникастный RP-адрес представляет собой адрес интерфейса, который объявляется кандидатом в RP. Длина этого поля в байтах определена полем длина адреса. Поле закодированный групповой адрес -1..n является групповым префиксом, для которого производится уведомление кандидатом в RP.
Литература
1 |
Deering, S., D.Estrin, D.Farinacci, V.Jacobson, C.Liu, L.Wei, P.Sharma, and A.Helmy. Protocol independent multicast (pim) : Motivation and architecture. Work in Progress. |
2 |
Deering, S., D.Estrin, D.Farinacci, V.Jacobson, C.Liu, and L.Wei. The PIM architecture for wide-area multicast routing. ACM Transactions on Networks, April 1996. |
3 |
Estrin, D., D.Farinacci, V.Jacobson, C.Liu, L.Wei, P.Sharma, and A.Helmy. Protocol independent multicast-dense mode (pim-dm): Protocol specification. Work in Progress. |
4 |
Deering, S. Host extensions for ip multicasting, Aug 1989. RFC1112. |
5 |
Fenner, W. Internet group management protocol, version 2. Work in Progress. |
6 |
Atkinson, R. Security architecture for the internet protocol, August 1995. RFC-1825. |
7 |
Ballardie, A.J., P.F. Francis, and J.Crowcroft. Core based trees. In Proceedings of the ACM SIGCOMM, San Francisco, 1993. |
Рисунок 4.4.9.5.7. Формат сообщения register
Поле B – (бит border) пограничный бит. B=1, если маршрутизатор непосредственно соединен с отправителем. Поле N – бит нулевого регистра. n устанавливается DR равным 1 при тестировании RP до истечения времени регистрации (register-suppression timer). Поле информационный мультикаст-пакет представляет собой оригинальное сообщение, посланное отправителем.
Сообщение register-stop является уникастным, направляемым от RP к отправителю сообщения register. IP-адрес отправителя является адресом, к которому направлялось сообщение регистрации. IP-адрес места назначения равен адресу отправителя сообщения register. Формат сообщения register-stop показан на Рисунок 4.4.9.5.8.
Рисунок 4.4.9.5.8. Формат сообщения register-stop
Поле закодированный групповой адрес имеет тот же смысл, что и на Рисунок 4.4.9.5.4. Для сообщений register-stop поле длины маски содержит длину адреса * 8 (32 для IPv4), если сообщение послано для одной группы.
Поле уникастный адрес отправителя представляет собой IP-адрес ЭВМ отправителя из мультикастного информационного пакета. Длина этого поля в байтах задано полем длина адреса. Значение (0.0.0.0) может быть использовано для обозначения любого адреса.
Сообщение join/prune посылается маршрутизаторами в направлении вышестоящих отправителей и RP. Сообщения join служит для построения совместно используемых маршрутных деревьев (RP-деревьев) или деревьев отправителей (SPT). Сообщения prune посылаются для отключения деревьев отправителей, когда участники покидают группу, а также для отправителей, которые не используют общее дерево. Формат сообщения join/prune показан на Рисунок 4.4.9.5.9.
Рисунок 3.5.3. Формат заголовка LCP-пакета
Вслед за заголовком следует поле данных. Поле код (1 октет) идентифицирует модификацию LCP-пакета. Если получен пакет с неизвестным полем код, посылается пакет-отклик “отклонение кода”. Поле идентификатор (1 октет) служит для нахождения соответствия между запросами и откликами. Если получен пакет с неправильным идентификатором, он просто уничтожается. Двухоктетное поле длина определяет размер LCP-пакета, включая размер заголовка. Октеты принятого пакета за пределами, заданными полем длина игнорируются.
В качестве примера можно рассмотреть процедуру подключения персональной ЭВМ к серверу через модем. После того как модем маршрутизатора ответит на вызов модема-клиента и установит физическое соединение, ЭВМ посылает последовательность LCP-пакетов, вложенных в поля данных одного или нескольких PPP-кадров. Это позволяет выбрать необходимые параметры PPP. По завершении этой процедуры посылается последовательность NCP-пакетов, которые конфигурируют сетевой уровень. Вероятно, ЭВМ захочет работать со стеком протоколов TCP/IP, и по этой причине нуждается в IP-адресе. Если провайдер имеет N IP-адресов в резерве, он может подключить одновременно N ЭВМ. Присвоение IP-адреса осуществляется также в рамках NCP-протокола. После этого ЭВИ становится узлом Интернет. Завершение сессии и освобождение IP-адреса выполняется также через NCP-протокол. Разрыв соединения осуществляет протокол LCP.
За полем длина могут следовать поля опций. Опции определяются все сразу на фазе конфигурирования канала. Описание опции содержит однооктетные субполя типа и длины, за которыми следует поле данных. Значения субполя типа представлены в таблице.
Значение кода поля типа |
Назначение опции |
0 |
Зарезервировано |
1 |
Maximum-Receive-Unit (указывает максимальный размер блока данных, который может быть принят) |
3 |
Authentication-Protocol (протокол аутотентификации) |
4 |
Quality-Protocol (протокол качества) |
5 |
Magic-Number (магическое число, опция служит для выявления каналов с петлями обратной связи) |
6 |
Protocol-Field-Compression |
7 |
Address-and-Control-Field-Compression |
Существует три класса LCP-пакетов:
Пакеты конфигурации канала, которые используются при формировании виртуального канала (Configure-Request, Configure-Ack, Configure-Nak и Configure-Reject) . Пакеты закрытия канала (Terminate-Request и Terminate-Ack).
Пакеты поддержания, которые служат для управления и отладки(Code-Reject, Protocol-Reject, Echo-Request, Echo-Reply и Discard-Request).
Аналогом LCP является протокол IPCP (IP Control Protocol). В поле код протокола в этом случае записывается 8021 (RFC-1332). Формат пакета IPCP показан на Рисунок 3.5.4.
Рисунок 4.4.9.5.3. Формат заголовка сообщения PIM
Поле OIM VER – версия протокола (в настоящее время = 2). Поле тип характеризует PIM-сообщение. Возможные значения поля тип представлены в таблице 4.4.9.5.1.
Рисунок 4.4.9.5.4. Формат закодированного группового адреса
Поле длина маски имеет 8 бит. Значение поля определяет число последовательных бит, выровненных по левому краю, которые определяют адрес. Маска равна или меньше длины адреса * 8 (то есть 32 бита для IPv4 и 128 для IPv6). Поле групповой мультикаст адрес содержит адрес группы и имеет число байт, равное указанному в поле длина адреса. Формат кодированного адреса отправителя показан на Рисунок 4.4.9.5.5.
Рисунок 2.5.2. Графическое представление двухмерного преобразования по формуле [2.5.1]
DCT обеспечивает сжатие на уровне 0.5-1.0 бит/пиксель при хорошем качестве изображения. Сжатие требует времени, а максимально приемлемым временем задержки при пересылке изображения является 5 секунд. На Рисунок 2.5.3 приведена качественная оценка четкости и соответствия оригиналу изображения в зависимости от величины сжатия (DCT). Если использовать скорость обмена 64 кбит/с, то степени сжатия 0,01 бита на пиксель будет соответствовать время передачи изображения 0,04 секунды, а сжатию 10 - время передачи 40сек.
Рисунок 4.4.9.5.1. Иллюстрация реализации протокола мультикастинг маршрутизации PIM
Получатель посылает PIM-joint пакет в RP, устанавливая канал от RP до получателя. Из рисунка видно, что исходный маршрут d-c-b-a длиннее оптимального d-b-a. Последний может быть реализован после посылки PIM-joint команды от a к d.
При решении транспортных задач в мультимедиа чаще используется протокол UDP (малая избыточность и отсутствие подтверждений).
Рисунок 4.4.7.1. Использование протокола proxy ARP
Не трудно видеть, что в смешанном протоколе ARP нескольким IP-адресам ставится в соответствие один и тот же физический адрес. Поэтому системы, где предусмотрен контроль за соответствием физических и IP-адресов, не могут работать со смешанным протоколом ARP. Главным преимуществом этого протокола является то, что он позволяет путем добавления одного маршрутизатора (Gateway) подключить к Интернет еще одну сеть, не изменяя таблиц маршрутизации в других узлах. Этот протокол удобен для сети, где есть ЭВМ, не способная работать с субсетями. Протокол используется при построении сетей Интранет.
Рисунок известного французского художника Клода Серрэ из книги “Черный юмор и люди в белом” (см. начало раздела) может служить иллюстрацией того, к чему может привести использование протокола tcp при передаче изображения в реальном масштабе времени. Предположим, что в процессе передачи изображения носа пакеты были повреждены, тогда спустя некоторое время, определяемое размером окна (TCP), будет проведена повторная их передача. Тем временем переданные ранее пакеты будут использованы для построения изображения, а часть картинки, содержавшаяся в пакетах, посланных вместо поврежденных, будет отображена совсем не там, где это следует. Реально из-за повреждения пакетов возможны в этой версии и более тяжелые искажения изображения. Именно это является причиной использования UDP для передачи видео и аудио информации при видео и аудио конференциях (еще лучшего результата можно достичь, использую протокол RTP). Протокол UDP не требует подтверждения и повторной передачи при ошибке доставки. Поврежденные пакеты вызовут искажения изображения (или звука) лишь локально.
Ситуация меняется в случае посылки изображения или звукового послания по электронной почте. Здесь в случае повторной передачи пакетов в конечном итоге будет сформирован файл, уже не содержащий ошибок. Такое решение приемлемо всякий раз, когда большая задержка появления изображения или звука не играет никакой роли.
Стандарт MPEG
Стандарт MPEG-2 является усовершенствованием MPEG-1 и базируется на схеме шифрования с потерями и передачи без потерь. Кодирование в MPEG-2 идентично используемому в MPEG-1 (I- P- и B-кадры; В-кадры не используются). I-кадр (Intracoded) представляет собой изображение, закодированное согласно стандарту JPEG при полном разрешении по яркости и половинном разрешении по цвету. Такие кадры должны появляться периодически. Эти кадры обеспечивают совместимость с MPEG-1, и исключают влияние накопления ошибок в процессе передачи. P-кадры (Predictive) содержат отличие блоков в последнем кадре изображения (базируются на идее макроблоков).
B-кадры (Bidirectional) характеризуют отличие двух последовательных изображений. Здесь применено двойное косинусное преобразование с числом коэффициентов 10*10 (против 8*8 в MPEG-1). MPEG-2 предназначен для широковещательного телевидения (включая прямое спутниковое - DBS) и для записи на CD-ROM и поддерживает четыре разных стандартов разрешения: 352*240 (низкое), 720*480 (базовое), 1440*1152 (высокое-1440) и 1920*1080 (высокое). Низкое разрешение служит для обеспечения совместимости с MPEG-1. Базовое разрешение ориентировано на работу со стандартом NTSC. Последние два стандарта относятся к телевидению высокого разрешения (HDTV). Помимо этого MPEG-2 поддерживает 5 профайлов для различных прикладных областей. Основной профайл ориентирован на общие приложения с базовым разрешением. Простой профайл сходен с основным профайлом, но не работает с B-кадрами, чтобы облегчить процедуры кодирования/декодирования. Остальные профайлы служат для обеспечения масштабируемости и работы с HDTV, они отличаются цветовым разрешением и форматами информационных потоков. Скорость передачи данных для каждой комбинации разрешения и профайла различна и лежит в диапазоне от 3 до 100 Мбит/c. Для обычного ТВ характерна скорость 3-4 Мбит/c. В таблице 2.5.2 представлены размеры кадров в битах для MPEG-1 и MPEG-2.
Рисунок 2.5.3. Качество DCT-изображения для различных значений сжатия информации (картинка имеет разрешение 512*512 пикселей; заполненные квадратики соответствуют цветному изображению, а незаполненные - черно-белому)
Отображение графического образа может выполняться последовательно (примерно так, как мы читаем текст: слева-направо и сверху-вниз) или с использованием прогрессивного кодирования (сначала передается вся картинка с низким разрешением, затем последовательно четкость изображения доводится до максимальной). Последний метод весьма удобен для систем WWW, где просмотрев изображение низкого разрешения, можно отменить передачу данных улучшающих четкость и тем самым сэкономить время. Хорошо распознаваемое изображение получается при сжатии порядка 0,1 бита на пиксель.
Проблема сжатия и передачи движущегося изображения еще сложнее. Алгоритм кодирования такого изображения описан в рекомендациях CCITT H.261 и предполагает, что скорость передачи при этом лежит в интервале 40кбит/с - 2Мбит/с. Следует иметь в виду, что видео телефония и видеоконференции требуют синхронной передачи звука и изображения (стандарт H.221, например 46,4 Кбит/с для видео и 16 Кбит/с для звука). Нормальный формат телевидения имеет 625 и 525 строк развертки и частоту кадров 25-30 в секунду. Цветное телевидение использует сигналы R (red), G (green) и B (blue), причем яркость луча (y) определяется соотношением: Y = 0.30R + 0.59G + 0.11B (при отображении белого цвета). Информация о цветах определяется формулами: СB = B - Y и CR = R - Y. Зная величины y, CB и СR, можно восстановить значения R, G и B. При сжатии цветного изображения учитывается тот факт, что человеческий глаз извлекает большую часть информации из контуров предметов, а не из цветных деталей. Например в рекомендации CCIR 601 предлагается использовать полосу 13.5 Мгц для кодирования Y и только по 6.75 Мгц для СB и CR. Такая схема требует 216 Мбит/с, что в 3375 раза превышает возможности стандартного 64кбит/с B-канала ISDN. Приемлемыми решениями могут быть:
Рисунок 2.2.9. Каскадный переключатель-мультиплексор.
Рисунок 2.2.6. Кодирование сигнала с использованием манчестерского кода.
Манчестерский код достаточно неэффективно использует пропускную способность канала. Оба описанные выше кода требуют удвоения полосы для передачи данных. Этого можно избежать, используя схему цифровой фазировки DPLL - Digital Phase Locked Loop). Эта схема предполагает применение кодирования NRZI (non-return-zero-inverted). Здесь сигнал сначала кодируется с использованием кода NRZ и только затем последовательность преобразуется в NRZI. В процессе такого преобразования логический нуль из NRZ вызывает определенную модификацию исходного кода, в то время как логическая единица не приводит ни к каким вариациям. Здесь создаются условия, при которых количество переходов 0/1 и 1/0 в единицу времени достаточно велико, чтобы обеспечить надежную синхронизацию. Схема NRZI кодирования с использованием DPLL проиллюстрирована на Рисунок 2.2.7.
2.5 Методы преобразования и передачи изображения
Передача изображения представляет собой наиболее тяжелую проблему, так как человеческий глаз с информационной точки зрения несравненно совершеннее уха.
В 1902 году Артур Корн (Германия) запатентовал систему фотоэлектрического сканирования изображения, а в 1910 году заработала первая международная факсимильная связь Берлин-Париж-Лондон. До 60-х годов этого века рынок факсимильной аппаратуры был ограничен.
В 1968 году CCITT разработала рекомендации по факсимильному оборудованию, которое было способно передавать страницу за 6 минут при разрешении 3.85 линий на мм. Позднее в 1976 году аналоговая факсимильная техника была улучшена. Это позволило сократить время передачи страницы до 3 минут. В 1980 году разработан стандарт для цифровых факс-машин (группа 3), здесь уже предусматривается сжатие информации, что позволяет сократить время передачи страницы до 1 мин при скорости передачи 4800 бит/с. Следует иметь в виду, что сжатие информации в сочетании с ошибками пересылки может приводить к неузнаваемости изображения локальному или полному. По этой причине число линий сканирования, которые используются при обработке изображения, с целью сжатия может варьироваться (1-4) и определяется в результате диалога между отправителем и получателем, а передача каждой скан-линии завершается довольно длинным кодом, предназначенным для надежного распознавания завершения строки сканирования, а также коррекции ошибок. Факсимильное оборудование группы 3 может и не обеспечивать сжатия передаваемых (принимаемых) данных. В 1984 году разработаны требования к факс-аппаратам группы 4. Система базируется на двухмерной системе кодирования изображения (MMR - Modified Modified Reed).
Факсимильное оборудование поделено на 4 группы. Первая группа практически совпадает с традиционным фототелеграфным оборудованием (6 минут на страницу при разрешении 3.85 линий на миллиметр). Динамической вариации кодовой таблицы не предусмотрено. При этом для кодирования очередной линии сканирования используются результаты, полученные для предшествующей линии.
Следует учитывать, что зона сканирования факс-машины больше размера изображения и всегда имеются пустые строки и поля, что предоставляет дополнительные возможности для сжатия передаваемой информации. Существует три режима кодирования: вертикальный, горизонтальный и проходной. Последний режим реализуется, когда позиция в эталонной строке a2 находится слева от b1 (см. Рисунок 2.5.1; вериткальному и горизонтальному режиму соответствует нижняя часть рисунка). При “вертикальном” режиме кодирования (a2 справа от b1 и |b1a1|) позиция b1 кодируется относительно позиции a1. Относительное положение b1a1 может принимать одно из семи значений V(0), VR(1), VR(2), VR(3), VL(1), vL(2) и VL(3) (см. табл. 2.5.1). Индексы r и l указывают на то, что b1 находится справа или слева по отношению к a1, а число в скобках обозначает расстояние b1a1. Если используется “горизонтальный” режим кодирования (a2 справа от b1 и |b1a1|>3), длины b0b1 и b1b2 отображаются с помощью кодовой комбинации H+M(b0b1)+M(b1b2). H представляет собой код 001, взятый из двумерной кодовой таблицы. M(b0b1) и M(b1b2) являются кодовыми словами, которые характеризуют длину и цвет субстрок b0b1 и b1b2 соответственно.
Рисунок 2.5.8. Мультиплексирование аудио и видео данных в MPEG-1 и MPEG-2 (внизу)
Преобразование аналогового сигнала в цифровую последовательность осуществляется в MPEG-2 с помощью кодеков, создавая первичный поток в 140 Мбит/с, который затем преобразуется для передачи через стандартные каналы 1,5 и 15 Мбит/с (например, для прямого широковещательного, спутникового телевидения). В соответствии со стандартом сжатия данных H.320 можно обеспечить передачу видео + аудио по каналу 56 кбит/с с низким разрешением и частотой 1 кадр/сек. Смотри раздел "Видеоконференции по каналам ISDN и Интернет".
Интерактивное телевидение
В последнее время благодаря широкому внедрению цифрового телевидения и новых стандартов передачи изображения (MPEG-2) открылись возможности для "телевидения по требованию" (интерактивного телевидения) - системы, где клиент может самостоятельно и индивидуально формировать ТВ-программу. Первые опыты такого рода относятся к 1995 году. Такие системы базируются на существующих сетях кабельного телевидения. Но развитие оптоволоконных технологий позволяют ожидать полной интеграции кабельного цифрового телевидения и информационных сетей Интернет. Следует, впрочем, заметить, что оптоволокно в каждом жилище является пока непозволительной роскошью. Общая схема такой системы показана на Рисунок 2.5.9.
Рисунок 2.2.7. NRZI-кодирование
Симметричная скрученная пара проводов с волновым сопротивлением 120 Ом обеспечивает пропускную способность 2048 Мбит/с (система кодирования HDB3, длина проводов ~100м), а 100 Ом - 1544 Мбит/с (амплитуда сигналов 3 в, система кодирования B8ZS). Номинальное значение перепада обычно составляет 750 мВ.
Наиболее простая схема передача данных путем представления и с помощью двух уровней напряжения не применяется из-за того, что линия обычно используется для подачи на оконечное (терминальное) оборудование. Проблема может быть решена, если характеризуется 0 вольт (приращение над постоянным уровнем), а попеременно сигналами положительной и отрицательной полярности (AMI - Alternate Mark Inversion). Такая схема создает проблему синхронизации, когда подряд следует большое число нулей. Необходимо, чтобы было достаточное число переходов 0->1 и 1->0 в единицу времени. Существует также схема ADI (Alternate Digit Inversion), где инверсия полярности производится для каждого из передаваемых двоичных разрядов. Но эта схема менее эффективна.
По этой причине система кодирования AMI была модифицирована в HDB3 (High Density Bipolar 3). Цифра 3 указывает на максимально возможное число последовательных нулей в кодовой последовательности. AMI требует, чтобы передавались попеременно сигналами противоположной полярности, так последовательность 11011 должна быть передана как +-0+-. HDB3 заменяет любую группу из 4 нулей последовательностью из 3 нулей, за которой следует нарушение последовательности отображения единиц. Таким образом, последовательность 11000001 будет отображена как +-000-0+ (возможен инверсный вариант, когда символы + заменяются на - и наоборот). Дальнейшего улучшения балансировки сигнала можно достичь, если заменить код, содержащий 4 нуля подряд, последовательностью b00v (b - обычный биполярный сигнал, v - нарушение последовательности). В США используют схему кодировки B8ZS (Bipolar with 8 Zeros Substitution), где 8 нулей кодируются как 00b0vb0v. В 1986 году ansi принял решение о введение схемы кодирования 2B1Q (2 Binary into 1 Quaternary). При этой схеме каждая пара бит преобразуется в четверичные элементы +3 +1 -1 -3. Код синхронизации (SW - Synchronization Word) при этом содержит 9 четверичных элементов, повторяющихся каждые 1.5 мс:
+3 +3 -3 -3 -3 +3 -3 +3 +3 (+3 соответствует +2.5 В)
В Германии используется схема кодировки 4B3T (4 двоичных разряда кодируются в 3 циклических кода).
Двоичная информация передается блоками, обычно зазываемыми кадрами (или пакетами). В рамках системы 2B1Q для передачи 144 кбит/с требуется частота модуляции не менее 72 кбод. На практике для передачи кадров и выполнения функций управления необходимо создать дополнительные виртуальные каналы. Это доводит требуемую частоту модуляции до 80 кбод. Сводные данные по наиболее популярным схемам кодирования приведены в табл. 2.2.1.
Рисунок 2.2.1 Передача цифровых кодов по передающей линии
На практике число нулей или единиц следующих подряд не лимитировано. По этой причине на принимающей стороне при этом рано или поздно возникает проблема синхронизации временных шкал передатчика и приемника. Для решения этой проблемы существует два метода передачи данных: синхронный и асинхронный. Асинхронный метод используется для относительно низкоскоростных каналов передачи и автономного оборудования. Синхронный метод применяется в скоростных каналах и базируется на пересылке синхронизующего тактового сигнала по отдельному каналу или путем совмещения его с передаваемыми данными. При наличии синхронизации приемника и передатчика можно допустить более длинные последовательности нулей или единиц, что способствует повышению пропускной способности. На Рисунок 2.2.2 показана схема канала, использующая технику импульсно-кодовой модуляции. Импульсно-кодовая модуляция (ИКМ) была предложена в 30-ые годы 20-го века, но реализована лишь в 1962 году.
4.5.1 Ping и Traceroute
При работе в Интернет время от времени возникают ситуации, когда нужно определить, работоспособен ли тот или иной канал или узел, а в случае работы с динамическими протоколами маршрутизации выяснить, по какому из каналов вы в данный момент работаете. Используется эта процедура и для оценки вероятности потери пакетов в заданных сегментах сети или каналах. Для решения этих задач удобна программа Ping.
Ping - это процедура, которая базируется на ICMP- и UDP-протоколах пересылки дейтограмм и служит для трассировки маршрутов и проверки работоспособности каналов и узлов (в некоторых программных пакетах эта команда имеет имена trace, hopcheck, tracert или traceroute). Для решения поставленной задачи PING использует отклики протокола ICMP. Применяется PING и при отладке сетевых продуктов. Трассировка может выполняться, например, посредством команды ping -q (пакет PCTCP). При выполнении этой команды ЭВМ сообщит вам Internet адреса всех промежуточных узлов, их имена и время распространения отклика от указанного вами узла. Следует иметь в виду, что трассировка осуществляется непосредственно с помощью IP-протокола (опция записи адресов промежуточных узлов). Ниже приведен пример использования команды Ping. Если вы просто напечатаете команду ping (пакет PCTCP), то ЭВМ выдаст на экран справочную таблицу по использованию этой команды:
Usage:
ping [-options] host
options:
-d [bytes] | dump input packet | (пропечатка входных пакетов). |
-d# [bytes] | dump output packet | (пропечатка выходных пакетов). |
-e | cancel extended security | (отмена дополнительных мер безопасности) |
-i seconds | IP time to live | (установка времени жизни пакетов IP) |
-j dest 1...dest n | loose source routing | (свободная маршрутизация). |
-k dest 1...dest n | strict source routing | (принудительная маршрутизация). |
-l length | set length of icmp data | (установить длину данных для ICMP). |
-n times | ping host times number of times | (провести зондирование ЭВМ заданное число раз). |
-o | no-op option | (ни каких опций для операций). |
-p precedence | set IP precedence | (установка IP-предпочтения). |
-q | trace route | (трассировка маршрута). |
-r | record route | (запись маршрута). |
-s level [authority] | basic security | (базовый уровень безопасности). |
-t | ping forever | (режим бесконечного ping). |
-v type | set type of service | (установка типа операции). |
-w seconds | time to wait for answer | (установка времени ожидания ответа). |
-x [{1|3 dest1..destn}] | timestamp option | (опция временных меток). |
-z | quiet mode | (набор статистики отключен). |
hop 1: | 193.124.224.190 | ??? | имя для GW ИТЭФ пока не придумано |
hop 2: | 193.124.137.13 | MSU-Tower.Moscow.RU.Radio-MSU.net | Вперед, в космос |
hop 3: | 193.124.137.9 | NPI-MSU.Moscow.RU.Radio-MSU.net | Через спутник "Радуга" |
hop 4: | 193.124.137.6 | DESY.Hamburg.DE.Radio-MSU.net | пакеты совершили мягкую посадку в Гамбурге, ДЕЗИ |
hop 5: | 188.1.133.56 | dante.WiN-IP.DFN.DE | |
hop 6: | 193.172.4.12 | duesseldorf2.empb.net | |
hop 7: | 193.172.4.8 | amsterdam6.empb.net | |
hop 8: | 193.172.12.6 | Amsterdam1.dante.net | Пересекаем Атлантический океан |
hop 9: | 194.41.0.42 | New-York1.dante.net | вступили на землю США |
hop 10: | 192.103.63.5 | en-0.cnss35.New-York.t3.ans.net | |
hop 11: | 140.222.32.222 | mf-0.cnss32.New-York.t3.ans.net | |
hop 12: | 140.222.56.2 | t3-1.cnss56.Washington-DC.t3.ans.net | |
hop 13: | 140.222.145.1 | t3-0.enss145.t3.ans.net | |
hop 14: | 192.203.229.243 | SURA2.NSN.NASA.GOV | Снова в космос |
hop 15: | 128.161.166.1 | GSFC8.NSN.NASA.GOV | но теперь через американский |
hop 16: | 128.161.232.1 | GSFC12.NSN.NASA.GOV | спутник |
hop 17: | 128.161.1.1 | ARC1NEW.NSN.NASA.GOV | |
hop 18: | 192.203.230.2 | ARC1.NSN.NASA.GOV | |
hop 19: | 192.100.12.2 | ARC2.NSN.NASA.GOV | |
hop 20: | 128.161.115.2 | MCMURDO.NSN.NASA.GOV | Оденьте шапку, мы в Антарктиде! |
Target | 157.132.100.1 | reached on hop 21 | round-trip time 1370 ms |
ping -d# 300 ns.itep.ru | (версия PCTCP, запрос отклика серверу имен, число байт, подлежащих выдаче, равно 300) |
Зам. зав. кафедры "Телекоммуникационные сети и системы" МФТИ Нач. лаб. Института Теоретической и Экспериментальной Физики (semenov@itep.ru) |
Семенов Юрий Алексеевич |
2.2 Представление электрических сигналов в цифровой форме
Прогресс последних лет в области повышения пропускной способности каналов в заметной мере связан с развитием технологии передачи цифровых данных. Здесь нужно решить проблемы синхронизации, эффективного кодирования и надежной передачи. Чем шире импульс, тем большую энергию он несет, тем лучше отношение сигнал/шум, но тем ниже и предельная скорость передачи. Раньше каждому двоичному разряду соответствовал импульс или перепад в кодовой последовательности. Сегодня перепад возникает лишь при смене последовательности нулей на последовательность единиц или наоборот. Цифровой метод имеет целый ряд преимуществ перед аналоговым:
Высокую надежность. Если шум ниже входного порога, его влияние не ощущается, возможна повторная посылка кода.
Отсутствие зависимости от источника информации (звук, изображение или цифровые данные).
Возможность шифрования, что повышает безопасность передачи.
Независимость от времени. Можно передавать не тогда, когда информация возникла, а когда готов канал.
На рисунке 2.2.1В представлена уже не последовательность импульсов, а последовательность переходов из одного состояния в другое. При этом уровень +V соответствует логической , а -V - логическому . Переключение из состояния в состояние и наоборот (бод) уже не соответствует передаче одного бита.
Рисунок 2.2.5. Пример биполярного кодирования сигнала (схема RZ – return-to-zero)
Другой разновидностью такого рода кодирования является использование манчестерского кода. В этой схеме логической единице и нулю соответствует не уровни напряжения, а перепады. Так логической единице поставлен в соответствие переход с низкого уровня на высокий, а логическому нулю – с высокого на низкий (схема NRZ – non-return-to-zero). Пример представления сигнала с использованием манчестерского кода показан на Рисунок 2.2.6.
Рисунок 3.5.6. Пример Multilink-конфигурации
Так как межсетевые связи часто используют последовательные каналы (выделенные линии, радиомодемы и пр.), протокол PPP распространен достаточно широко. Протокол PPP служит и для создания межсетевых туннелей (протокол PPTP - Point to Point Tunneling Protocol). Протокол PPTP использует MTU=1532, номер порта 5678 и номер версии 0x0100, пакеты данных здесь транспортируются с использованием протокола инкапсуляции GRE V2 (см. сноску в начале раздела).
Рисунок 2.2.3. Пример передачи кадра в асинхронном режиме
Одним из способов обеспечения надежной синхронизации является применение в приемнике частоты, например, в 8 раз больше частоты следования данных. При этом стробирование данных может производиться примерно в середине сигнала бита (см. Рисунок 2.2.4).
4.5 Процедуры Интернет
Номер раздела | Название раздела | Объем в страницах | Объем в кбайт |
4.5 | Процедуры Интернет | 1 | 9 |
4.5.1 | Ping и Traceroute | 4 | 27 |
4.5.2 | Finger | 3 | 46 |
4.5.3 | Удаленный доступ (Telnet) | 8 | 48 |
4.5.4 | Протокол пересылки файлов FTP | 10 | 79 |
4.5.5 | Протокол X-Windows | 2 | 33 |
4.5.6 | WWW | 12 | 82 |
4.5.7 | Протокол новостей NNTP | 10 | 45 |
4.5.8 | Поиск узлов и людей | 1 | 3 |
4.5.9 | Серверы подписки (LISTSERV) | 12 | 38 |
4.5.10 | Электронная почта | 12 | 200 |
4.5.11 | Gopher | 4 | 27 |
4.5.12 | WAIS | 7 | 49 |
4.5.13 | Система поиска файлов Archie | 7 | 34 |
4.5.14 | Современные поисковые системы | 16 | 186 |
4.5.15 | Диалог в локальных сетях и в Интернет | 5 | 46 |
4.5.16 | Некоторые другие процедуры Интернет | 3 | 46 |
4.5.17 | Сетевое моделирование | 8 | 66 |
Данный раздел наиболее динамично развивающаяся часть Интернет-технологий. Одни виды услуг устаревают и выходят из употребления (Gopher, WAIS, MOSAIC), другие появляются вновь (поисковые машины, например Alta Vista, NetScape, MSExplorer и др.). В последнее время несравненно большее внимание стали уделять сетевой безопасности, системам поиска и диагностическим аспектам работы с сетями. Безопасность вышла на первые позиции из-за внедрения Интернет в область финансов и бизнеса. Последнее время активно развивается технология мультимедиа (интеграция с кабельным телевидением), сфера развлечений (игровые серверы) и информационно-поисковые системы на основе техники WWW.
4.4.7 Прокси-ARP
Еще одна разновидность протокола ARP служит для того, чтобы один и тот же сетевой префикс адреса можно было использовать для двух сетей. Этот протокол называется смешанным протоколом ARP (proxy). Предположим, мы имеем сеть из четырех ЭВМ (1-4; Рисунок 4.4.7.1), которую бы мы хотели соединить с другой сетью из четырех ЭВМ (5-8), причем так, чтобы машины взаимодействовали друг с другом так, будто они принадлежат одной сети. Решить эту проблему можно, соединив эти сети через маршрутизатор M, работающий в соответствии со смешанным протоколом ARP (функционально это IP-мост). Маршрутизатор знает, какая из машин принадлежит какой физической сети. Он перехватывает широковещательные ARP-запросы из сети 1, относящиеся к сети 2, и наоборот. Во всех случаях в качестве физического адреса маршрутизатор возвращает свой адрес. В дальнейшем, получая дейтограммы, он маршрутизирует их на физические адреса по их IP-адресам.
4.4.9.5 Протокол PIM
Протокол PIM (Protocol Independent Multicast) призван решить проблемы маршрутизации для произвольного числа и расположения членов группы и для произвольного числа отправителей информации. В настоящее время протокол не является стандартом.
Главным преимуществом данного протокола является эффективная поддержка работы "рассеянных" мультикастинг-групп. Такие группы могут включать не только членов из разных автономных систем, но и находящихся на разных континентах. Протоколы MOSPF и DVMRP хороши для сетей, где нет ограничений по пропускной способности каналов.
PIM базируется на традиционных маршрутных протоколах, конкретно не связан ни с каким из них, им используются сформированные этими протоколами маршрутные таблицы. Существует два режима работы протокола - DM (для компактных групп) и SM (Protocol Independent Multicast-Sparse Mode (PIM-SM)). Protocol Specification. D. Estrin, D. Farinacci, A. Helmy, D. Thaler, S. Deering, M. Handley, V. Jacobson, C. Liu, P. Sharma, L. Wei, RFC-2117, June 1997) (для рассеянных групп). В режиме DM протокол PIM строит дерево маршрутов аналогично DVMRP.
В режиме SM маршрутизаторы, имеющие членов мультикастинг-группы, посылают сообщения о присоединении к дереву рассылки в узлы, которые называются точками встречи (RP). Отправители используют RP для объявления о своем существовании, а получатели, чтобы узнать о новых отправителях. В качестве RP может использоваться любой маршрутизатор, поддерживающий протокол PIM.
Когда какой-то клиент хочет подключиться к некоторой группе, ближайший к нему маршрутизатор посылает специальное сообщение о включении в группу (PIM-joint) узлу, объявленному для данной группы точкой встречи (RP). Число RP в сети может быть произвольным. Узел RP пересылает сообщение о включении узлу-отправителю (или отправителям). Если маршрутизатор не имеет информации о RP, включается схема, работающая для компактных групп. При обработке сообщения о включении в группу промежуточные маршрутизаторы формируют часть дерева мультикастинг-маршрутов между RP и получателем.
При отправке мультикастинг- пакета соответствующий маршрутизатор посылает узлу RP регистрационное сообщение (PIM-register), куда вкладывается информационный пакет. Если используется несколько RP, отправитель должен посылать пакеты всем RP. Получатель же должен быть подключен лишь к одному из RP. В случае, когда сообщение о включении достигнет отправителя раньше, чем RP, подключение осуществляется, минуя RP. Если необходимо оптимизировать дерево доставки пакетов, маршрутизаторы-получатели должны послать сообщение о включении самому отправителю. После этого дерево соединений видоизменяется, некоторыми узлами, если требуется, посылается сообщение об отключении. Ниже приведен пример взаимодействия узлов при формировании дерева маршрутов в режиме SM-PIM (Рисунок 4.4.9.5.1).
Следует заметить, что большинство протоколов для маршрутизации мультимедийной информации формируют маршрут не от отправителя к получателю, а в обратном направлении. Это имеет под собой веские причины. Дерево рассылки должно быть построено так, чтобы поток отправителя как можно дольше и меньше разветвлялся. Желательно, чтобы разветвления происходили как можно ближе к получателю. Это соображение проиллюстрировано на Рисунок 4.4.9.5.2. На рисунке условно, в виде сетки маршрутизаторов (желтые кружочки) показан фрагмент сети Интернет. Зеленым прямоугольником отмечен передатчик, а голубыми кружочками приемники – члены группы. Маршруты от передатчика к приемникам можно проложить индивидуально (выделены зеленым цветом), а можно и “коллективно” (синий цвет). От передатчика до маршрутизатора отмеченного красным цветом следует один поток для всех приемников. Такое решение приводит к минимизации сетевой загрузки, ведь всем приемникам посылаются одни и те же пакеты. Чем позже их пути разойдутся, тем лучше. Именно этот алгоритм и реализует протокол PIM. Точки разветвления потоков на Рисунок 4.4.9.5.2 отмечены крестами (RP).
3.5 Протокол PPP
Протокол PPP (Point-to-Point Protocol; RFC-2716, -2701, -2688, -2687, -2686, -2615, -2516, -2509, -2508, -2507, -2484, -2472, -2433, -2420, -2419, -2364, -2363, -2290, -2284, -2153, -2125, -2097, -2043, -1994, -1993, -1990, -1989, -1979, -1978, -1977, -1976, -1975, -1974, -1973, -1969, -1968, -1967, -1963, -1962, -1915, -1877, -1841, -1764, -1763, -1762, -1663, -1662, -1661, -1638, -1619, -1618, -1598, -1570, -1552, -1378, -1377, -1334, -1332, -1331, и STD-51, cмотри также www.spitbrook.destek.com:81/pptp.txt) предназначен для решения тех же задач, что и SLIP, но лишен многих его недостатков, он служит для передачи мультипротокольных дейтограмм от одного узла к другому. Сам по себе список RFC, приведенный выше, впечатляющ. Он говорит о том, что данный протокол относится к числу наиболее важных и широко используемых. Это и понятно, большинство региональных сетей строится с использованием соединений точка-точка. PPP поддерживает, как асинхронный режим с 8 битами данных без бита четности (согласуется со свойствами последовательного интерфейса, имеющегося практически на всех ЭВМ), так и побитовый синхронный режим. Протокол содержит в себе три составные части:
Метод инкапсуляции дейтограмм при передаче по последовательным коммуникационным каналам.
Протокол LCP для установления, конфигурирования и тестирования информационных каналов
Набор протоколов NCP для установки и конфигурирования различных протоколов сетевого уровня.
Протокол управления каналом (LCP - Link Control Protocol) является частью PPP. Идеология NCP реализована и в протоколе TCP. Каждый кадр PPP начинается и завершается флагом 0x7E. За стартовым флагом-октетом следует байт адреса, который всегда равен 0xFF. Формат кадра PPP представлен на рисунке 3.5.1. Кадр ppp может содержать только целое число байт. При инкапсуляции других пакетов в PPP используется бит-ориентированный протокол HDLC (High-level Data Link Control).
Рисунок 2.5.6. Размещение блоков в макроблоках
Сама природа алгоритма кодирования и передачи графических данных такова, что число бит передаваемых в единицу времени зависит от характера изображения. Чем динамичнее изменяется картинка, тем больше поток данных. Для выравнивания потока данных широко используется буферизация. Буферизация в свою очередь порождает дополнительные задержки, которые в случае видео-конференций или видео-телефонии не должны превышать нескольких сотен миллисекунд.
Так как при передаче изображения широко используются коды переменной длины, она крайне уязвима для любых искажений. В случае ошибки будет испорчена вся информация вплоть до следующего стартового кода GoB. Из-за рекурсивности алгоритма формирования картинки, искажения будут оставаться на экране довольно долго. Использование векторов перемещения может привести к дрейфу искажений по экрану и расширению их области. Для того чтобы уменьшить последствия искажений, в передаваемый информационный поток включаются коды коррекции ошибок BCH (511,493; Forward Error Correction Code), которые позволяют исправить любые две ошибки или кластер, содержащий до 6 ошибок в блоке из 511 бит (см. Рисунок 2.5.7). Алгоритм работает в широком диапазоне скоростей передачи информации. Для реализации коррекции ошибок в поток двоичных данных включается 8 пакетов, каждый из которых включает в себя 1 кадровый бит, 1 бит индикатор заполнения, 492 бита кодированных данных и 18 бит четности. Поле Fi (индикатор заполнения) может равняться нулю, тогда последующие 492 бита не являются графической информацией и могут игнорироваться. Алгоритм предназначен для работы в динамическом диапазоне частот 40:1.
Рисунок 2.5.1. Режимы кодирования: проходной; вертикальный; горизонтальный
Факс-оборудование группы 4 может поддерживать так называемый расширенный режим, когда часть рабочего поля кодируется без использования алгоритмов уплотнения информации (как правило, это участки, где попытка сжать либо ничего не дает, либо даже приводит к увеличению объема передаваемых данных). Оборудование этой группа использует на канальном уровне процедуры HDLC LAPB. Рекомендуемой полосой пропускания канала, к которому подключается такое оборудование, является 64 Кбит/с.
Рисунок 10.24.1. Сеть Петри с двумя позициями и двумя переходами. Цифрами 1 и 2 обозначены переходы, а буквами А и Б - позиции.
Состояние системы формируется в результате реализации локальных операций, называемых условиями реализации событий. Условие имеет емкость:
Условие не выполнено - емкость равна нулю
Условие выполнено - емкость равна 1.
Условие выполнено с n-кратным запасом - емкость равна n.
Определенная комбинация условий может стимулировать определенное событие, которое вызовет в свою очередь изменение изменение условий. В сетях Петри события и условия отображаются абстрактными символами, называемыми переходами(вертикальными или горизонатальными полосками - "барьерами") и позициями (кружками). Условия-позиции и события-переходы связаны отношениями зависимости, которые отображаются с помощью ориентированных дуг. Позиции, из которых исходят дуги данного перехода, называются входными позициями. Позиции же, к которым ведут дуги данного перехода, называются выходными позициями. Выполнение условий отображается помещением соотвествтующего числа меток в соответствующую позицию. Если число меток велико (более 2-3), емкость условия может быть отображена числом.
В исходный момент система находится в состоянии А, что отмечено на Рисунок 4.9. меткой в виде синего кружочка. Переходы обозначаются горизонтальными или вертикальными линиями. Каждый переход имеет нуль или более входных дуг, исходящих из позиций, и нуль или более исходящих дуг, направленных к выходным позициям. Переход разрешен, если имеется как минимум одна входая метка в каждой из его исходных позиций. Любой разрешенный переход может произойти (fire), удалив все входные метки и установив метки в выходных позициях, что отражает изменение условий (и емкостей). Если числа входных и выходных дуг отличаются, число меток не сохраняется. Если разрешено более одного перехода, может произойти любой из них. Причем один из осуществившихся переходов, может блокировать реализацию всех остальных переходов из данного набора. Формализм сетей Петри не предусматривает каких-либо механизмов преодоления подобных конфликтов. Переход осуществляется, если выполнены все условия реализации данного события. Если два или более переходов могут осуществиться (выполнены все условия) и они не имеют общих входных позиций, то из реализация некоррелирована и может происходить параллельно или в любой последовательности. Выбор перехода, вообще говоря, не определен. В отличии от модели машины конечных состояний здесь отсутствуют комбинированные состояния типа отправитель-канал-получатель, и переходы из состояния в состояние для каждого процесса или объекта рассматриваются независимо. Если условия ни для одного из переходов не реализованы, сеть переходит в заблокированное состояние.
Аналитическое определение. Сеть Петри - набор N = (P, T, F, W, M0), где (P, T, F) - конечная сеть (множество Х = ЗuT конечно), а W: F> N\ {O} (знак \ здесь означает разность множеств) и M0: P>N - две функции, называемые кратностью дуг и начальной пометкой. Первая ставит в соответствие каждой дуге число N>0 (кратность дуги). Если N>0, то при графическом представлении сети число N выписывается рядом с короткой чертой, пересекающей дугу. Дуги с кратностью 1 не помечаются. Каждой позиции p
ставится в соответствие некоторое число M0(p) N (пометка позиции).Формально работа сети Петри описывается множеством последовательностей срабатываний и множеством реализуемых разметок позиций.
Для сетей Петри существует удобная алгебраическая нотация. Каждому переходу ставится в соответствие правило грамматики. Каждое правило специфицирует входную и выходную позиции. Текущее состояние сети Петри характеризуется неупорядоченным набором позиций. Каждая позиция присутствует в этом наборе столько раз, сколько меток она имеет.
7.2 Сетевые драйверы
Читатели, знакомые с телекоммуникационными протоколами, могут заинтересоваться тем, как писать прикладные программы для работы с пакетами. Прикладная программа взаимодействует с драйвером сетевого интерфейса. Ethernet-интерфейс, как и всякий другой, содержит несколько статусных управляющих регистров (CSR) и один или несколько регистров данных. Запись (чтение) в эти регистры выполняется в IBM/PC с помощью команд IN (OUT). Каждому регистру ставится в соответствие определенный номер порта. Блок номеров портов задается с помощью переключателей на интерфейсе или в процессе постановки пакетного драйвера. В последнем случае в AUTOEXEC-файле должна присутствовать строка, например (для DOS):
NE2000 0x60 0x5 0x300, (если ваша ЭВМ снабжена интерфейсом типа NE2000).
Здесь предполагается, что интерфейс будет использовать номер прерывания 0x60, аппаратное прерывание 0x5 и блок портов, начиная с шестнадцатеричного адреса 0x300 (io_addr). Следует иметь в виду, что разные интерфейсы могут иметь разное число CSR-регистров и отличные от приведенных ниже функции (NE2100). Интерфейс характеризуется тремя целыми числами: класс (8 бит), тип (16 бит) и номер. Класс говорит о том, для какой из сетевых сред предназначен данный прибор (PPP, DIX Ethernet, IEEE 802.3, IEEE 802.5, Pronet-10, Appletalk и т.д.). Тип описывает конкретную реализацию интерфейса (NE2000, NI5210, 3C501 и т.д.). Тип 0xffff соответствует всем интерфейсам данного класса. В случае, когда ЭВМ оснащена более чем одним интерфейсом идентичного типа, для их идентификации используется номер. На Рисунок 7.2.1 показана структура управляющего (CSR) регистра сетевого интерфейса. В таблице 7.2.1 приведен перечень основных классов с примерами определенных типов интерфейсов.
10.24 Сети Петри
Протоколы можно описывать не только с помощью модели машины конечных состояний. Альтернативой можно считать сети Петри (смотри, также книгу "Сети Петри", Котов В.Е., Москва, "Наука", ГРФМЛ, 1984 откуда взяты некоторые примеры и фрагменты данной статьи). Модель сети Петри является принципиально асинхронной и служит для отображения и анализа причинно-следственных связей в системе. Для привязки к определенным моментам времени тех или иных переходов в синхронных системах используются события. Переходы из состояния в состояния считаются "мгновенными". Если переход реально происходит через какие-то промежуточные состояния, а нам существенно учесть в модели эти обстоятельства, то вводятся соответствующие "подсобытия". Сеть Петри имеет четыре базовых элемента: позиции (places), переходы, дуги и метки (token).
Позиция (место) - это состояние, в котором находится система или определенная ее часть. Смотри Рисунок 10.24.1.
Рисунок 2.5.7 Схема передачи данных с коррекцией ошибок
Во время переговоров или в ходе видеоконференции может возникнуть необходимость отобразить текст, выделить на экране какой-то объект, послать факс и т.д. Для решения таких задач можно использовать D-канал, но это не оптимально, так как он имеет свои специфические функции. Поэтому более привлекательным представляется создание специального протокола, работающего в рамках B-канала (H.221). Для этих целей используется младший бит каждого из октетов, что позволяет создать канал с пропускной способностью 8 Кбит/с. этот сервисный канал использует кадры по 80 бит. Первые 8 бит служат для целей синхронизации (FAS - Frame Alignment Signal) и выполняют следующие функции:
выделение начала кадра (исключение имитации этого в информационном потоке);
выделение начала блока кадров (опционно до 16 кадров);
выполнение функций счетчика в многокадровых блоках (по модулю 16), может использоваться в многоточечных соединениях;
нумерация соединений;
CRC-контроль (опционно);
”A-бит” для определения кадр/мультикадр/синхронизация при пересылке в противоположном направлении (A=0 - передача, см. также структуру кадров isdn );
При работе с каналами на 384, 1536 и 1920 Кбит/с сервисный канал использует тайм-слот 1. Следующие 8 бит имеют название BAS (Bit Allocation Signal) и выполняют следующие функции:
код, характеризующий возможности канала (узко/широко полосная передача звука, различные видео параметры, тип шифрования и т.д.);
коды команд, определяющие значения передаваемых кадров;
ESC-последовательности.
Очевидно, что BAS-коды (H.242) должны быть надежно защищены от ошибок. Для этой цели они пересылаются с использованием кодов, допускающих коррекцию ошибок. При работе оба приемника непрерывно ищут разделительный код кадров. Когда он обнаружен, бит А для выходного канала делается равным нулю. Только после получения А=0 терминал может быть уверен в том, что удаленный терминал правильно воспринял код BAS. Работа с кодами BAS описана в документе H.242.
Рисунок 2.5.4. Схема передачи кадра изображения
Поле Ptype содержит 6 бит, которые характеризуют формат изображения (используется ли формат CIF или QCIF). Однобитное поле PEI указывает на то, следует ли далее 8-битное поле PSpare (предназначено на будущее). Если PEI=0, начинается цикл передачи GoB. Группа блоков составляет одну двенадцатую картинки CIF или одну треть QCIF. GoB описывает Y (яркость), 176 пикселей для каждой из 48 строк и соответствующие 88*24 элементов для CB и CR.
GBSC - (Group of Blocks Start Code) представляет собой 16-разрядное слово, за которым следует 4 бита номера GoB (GN - GoB number). GN указывает, какой части изображения соответствует данный GoB. Поле gquant имеет 5 бит и указывает на номер преобразователя (одного из 31 дискретизаторов), который используется данным GoB. Смысл GEI идентичен PEI. GEI и GSpare позволяют сформировать структуру данных, идентичную той, что используется на уровне кадра.
Формат пересылки mb сложнее (см. [17]). Каждый GoB делится на 33 макроблока (MB), каждый из которых соответствует 16 строкам по 16 пикселей Y (четыре блока 8*8) и CB и CR. Каждый макроблок начинается с его адреса MBA (MacroBlock Address), имеющего переменную длину и определяющего положение макроблока в GoB.
Рисунок 2.2.8. Схема переключателя каналов с мультиплексированием по времени.
Кружочки на пересечениях линий представляют собой ключи, замыкая которые можно соединить i-й входной канал с j-м выходным. На каждой линии может быть только один замкнутый ключ. Такая схема коммутации называется TST (Time-Space-Time). Именно она преобладает сегодня при построении сетей ISDN. Магистральные каналы ISDN строятся в соответствии со стандартом T1.
Такая схема при числе входных и выходных каналов равном N=1000 требует миллиона элементарных переключателей. Можно рассмотреть вариант когда используются коммутаторы с n входами и k выходами. Схема коммутатора с N=16, n=4 и k=2 показана на Рисунок 2.2.9. Число элементаных переключателей в таком коммутаторе М равно:
M = 2kN + k(N/n)2
Первое слагаемое характеризует число элементарных переключателей во входной и выходной секциях системы, а второе - число элементарных переключателей в k внутренних модулях При N=1000, n=50 и k=10 требуется 24000 элементарных переключателей вместо миллиона (но и число одновременно формируемых каналов становится много меньше 1000).
Рисунок 2.5.9. Схема реализации интерактивного телевидения
Базовый мультимедийный сервер может обслуживать отдельный район города. В пределах квартала размещается промежуточный центр, где размещается локальный буферный сервер, где записываются фрагменты программ, заказанные локальными клиентами. Только новостийные и некоторые спортивные программы передаются в реальном масштабе времени, все фильмы берутся из локальной фильмотеки или предварительно записываются в накопитель из центрального мультимедиа-сервера. Транспортной средой здесь может стать ATM, SDH или Fibre Channel. Оптическое волокно доходит до квартального сервера или даже до дома клиента. Индивидуальная раздача сигнала на терминалы (телевизоры) может осуществляться через существующие телевизионные кабели. В этом случае по имеющимся каналам может передаваться не только программа телевидения и осуществляться телефонные переговоры, но выполняться полное информационное обслуживание. Сюда может включаться, помимо заказа ТВ-программ, подписка на газеты, заказ билетов на транспорт или в театр, получение прогноза погоды и данных о состоянии дорог, доступ к базам данных, включая библиотеки и фонотеки и многое другое. Особый интерес представляет возможность практически полного вытеснения традиционных газет. Клиент сможет получать только интересующие его статьи из любых газет (и только их и оплачивать). Если какая-то статья его заинтересует и он захочет почитать ее позднее в машине или на даче, он сможет ее распечатать на принтере, подключенном к его телевизору-терминалу. Цены на цветные принтеры в настоящее время спустились ниже 100 долларов, таким образом нужная копия уже сейчас дешевле стоимости газеты. Экономия на бумаге и средствах доставки очевидны, да и необходимость в типографиях отпадет, ведь даже книги можно будет получить непосредственно дома (хотя привлекательность данной услуги и не вполне очевидна - хорошо сброшированная и переплетенная книга будет привлекательным объектом еще долго (прогноз относительно будущих книг сотри в разделе "Заключение"). Массовое внедрение таких технологий будет стимулировать падение цен на соответствующие процессоры и принтеры. Интерактивная схема подключения телевизора-терминала сделает возможным многие новые виды развлечений, а также выполнение многих покупок, не выходя из дома. Традиционной почте подписала отсроченный приговор почта электронная, но появление интерактивных широкополосных средств завершит многовековую историю почты (да и телеграфа). Ей будет оставлена доставка товаров, билетов и документов. Побочным продуктом прогресса в данной области станет общедоступный видеотелефон.
В жилье клиента будет входить оптоволоконный кабель, завершающийся интерфейсной коробкой с разъемами для подключения телефона, телевизора и ЭВМ. Даже современные ограниченные скорости передачи позволяют решить стоящие проблемы. Во-первых люди не смотрят телевизор круглые сутки, это позволяет ночью или в рабочее время, когда клиент на службе, произвести передачу нужных фрагментов ТВ-программы на локальный сервер. Во-вторых популярность фильмов и программ не однородна, что также снижает требование на широкополосность. Известно, что наиболее популярный фильм запрашивается примерно в К раз чаще, чем фильм, занимающий к-ое место в списке популярности (эмпирический закон Ципфа (Zipf), выведенный из статистики контор по прокату видеокассет). Это означает, что из предлагаемого списка будут выбраны не все фильмы, а наиболее популярные фрагменты программ можно передавать по схеме MBONE, минимизируя загрузку каналов (смотри также описание протокола PIM). Способствовать решению данной проблемы будет и появление CD с емкостью 4 Гбайта. Но проблем здесь остается немало, так трудно себе представить, что все клиенты захотят смотреть один и тот же фильм в одно время. Решение подобной задачи потребует очень большого объема буферной памяти и ощутимо поднимет требования к широкополосности канала. "Синхронизовать" клиентов можно будет дифференциацией оплаты для разных временных интервалов, и группированием клиентов, заказавших близкие времена начала демонстрации фильмов, путем предварительного оповещения. Но несмотря на все эти ухищрения, локальные серверы должны будут иметь сложную иерархическую систему буферной памяти, базирующейся на разных принципах работы (CD, магнитная лента, дисковая память и даже RAM).
Практическая реализация фантастической схемы, предложенной в предыдущем абзаце, уже осуществляется в США и Канаде. Здесь есть немало проблем, например, нужен дешевый широкополосный кабельный модем (смотри раздел "Модемы", там же приведена схема подключения телевизора-терминала через кабельный модем). Предстоит написать огромное число различных сервисных программ, но все базовые технологии уже существуют.
Рисунок 2.2.4. Схема синхронизации и стробирования с 8-кратной тактовой частотой приемника
Начальный и стоп-биты на каждый байт данных снижают пропускную способность канала и по этой причине используются только для низких скоростей обмена. Увеличение же длины блока данных приводит к ужесточению требований к точности синхронизации. При использовании синхронного метода передачи необходимы специальные меры для выделения кадра в общем потоке данных. Для решения этой задачи используется специальная сигнатура. Если такая последовательность встретится внутри кадра, она видоизменяется путем ввода в нее двоичных нулей (bit stuffing). Синхронный приемник нуждается в синхронизирующем сигнале, передаваемом передатчиком. Обычно это реализуется путем введения определенного вида кодирования сигнала, например, биполярного кодирования. В этом случае используется три уровня сигнала: +v соответствует логической 1; -v – логическому нулю, а 0 вольт логическому нулю или единице. Пример такого типа кодирования показан на Рисунок 2.2.5.
Рисунок 2.2.2. Система коммуникаций с использованием кодово-импульсной модуляции (pcm)
Шаг квантования в АЦП должен быть много меньше диапазона вариации входного сигнала. Число уровней квантования n выбирается из соображений минимизации искажений сигнала и повышения уровня s/n. При разумных предположениях (биполярность сигнала (+V -V), однородность распределения уровня сигнала в рабочем диапазоне, ошибка квантования не более S/2, где S шаг квантования, и т.д.) [S/N]db = 10 log10(22n) = 6n (N - шум квантования при этом равен S2/12). Это означает, что при 2n уровнях квантования и при условии, что входной сигнал может варьироваться во всем рабочем диапазоне АЦП, отношение сигнал-шум (S/N), связанное с самим процессом квантования, будет равно 6n при n=8 это составит 48 дБ). Отсюда следует известное значение относительного расстояния между уровнями квантования, равное 6 дБ. Звуковой сигнал может иметь динамический диапазон 40 дБ, что создает определенные проблемы, которые преодолеваются путем прямого и обратного логарифмического преобразования (см. Рисунок 2.4.1).
Типичный кадр данных в асинхронном канале начинается со стартового бита, за которым следует 8 битов данных. Завершается такой кадр одним или двумя стоп-битами. Стартовый бит имеет полярность противоположную пассивному состоянию линии и переводит приемник в активное состояние. Пример передачи такого кадра показан на Рисунок 2.2.3.
Рисунок 7.2.2. Структура переменных init_mode
Drx |
запрет приема; |
Dtx |
запрет передачи; |
Loop |
цикл; |
Dtcr |
запрет передачи crc; |
Coll |
столкновение; |
Drty |
запрет повторов; |
Intl |
внутренний цикл; |
Prom |
режим приема всех пакетов (promiscuous mode). |
Кольцевой входной буфер имеет следующую структуру:
rcv_msg_dscp |
struc |
|
rd_addr |
dw ? |
; Младшая часть адреса входного буфера |
rd_stat |
dw ? |
; Статусная часть + старшая часть адреса |
rd_bcnt |
dw ? |
; Размер буфера в байтах |
rd_mcnt |
dw ? |
; Длина сообщения в байтах |
rcv_msg_dscp |
ends |
Структура переменных rd_stat имеет вид
Рисунок 7.2.3. Структура переменных rd_stat
Enp | конец пакета; |
Stp | начало пакета; |
Buff | ошибка в буфере; |
CRC | CRC-ошибка; |
Oflo | переполнение буфера; |
Fram | ошибка при записи в буфер; |
Err | наличие ошибки; |
Own | 0 = полное заполнение. |
Выходной буфер имеет сходную структуру.
Я не буду описывать здесь то, как следует писать системные драйверы (Исчерпывающую информацию по написанию таких драйверов читатель может найти в книге "Написание драйверов для MS-DOS" Р.Лея и "Уэйт Груп", Москва "Мир", 1995), тем более что существует достаточное их количество в депозитариях общего доступа (Например, анонимное FTP по адресам ftp.funet.fi, ftp.switch.ch или oak.oakland.edu, депозитарий SimTel ). Приведенное выше описание регистров интерфейса не является единственно возможным (см. также руководство по сетевому контроллеру 8390 и файл NE2.ASM из ссылки ftp.funet.fi. Структура драйверов варьируется для разных операционных систем. Для системных программистов полезно иметь возможность настраивать драйвер или непосредственно интерфейс на определенный режим, например, на прием всех пакетов, проходящих по кабельному сегменту. Последнее может представлять интерес в диагностических целях, так как вслед за пакетным драйвером загружается Etherdrv, Winsock или winpkt и т.д., блокирующие режим приема всех пакетов (mode=6). Ниже приведен пример описания основных параметров драйвера:
BLUEBOOK | equ | 1 | |
IEEE8023 | equ | 11 | |
ADDR_LEN | equ | 6 | ; размер Ethernet-адреса |
MAX_M_CAST | equ | 8 | ; максимальное число мультикаст-адресов. |
Public | int_no, | io_addr | |
int_no | db | 2,0,0,0 | ; должно иметь 4 байта для get_number. |
io_addr | dw | 0300h,0 | ; I/O адрес карты (переключатели) |
public | driver_class | driver_type, | driver_name, | driver_function, | parameter_list |
driver_class | db | BLUEBOOK, IEEE8023, 0 | ; из спецификации интерфейса | ||
driver_type | dw | 54 | ; из спецификации интерфейса | ||
driver_name | db | 'NE2000',0 | ; имя драйвера. | ||
driver_function | db | 2 | |||
parameter_list | label | byte | |||
db | 1 | ; | |||
db | 9 | ; | |||
db | 14 | ; длина списка параметров в байтах | |||
db | ADDR_LEN | ; длина адреса MAC-уровня в байтах | |||
dw | GIANT | ; MTU, включая MAC-заголовок | |||
dw | MAX_M_CAST * ADDR_LEN |
dw | 0 | ;(# принимаемых подряд пакетов с; размером MTU) - 1 | |
dw | 0 | ; (# посылаемых подряд пакетов) - 1 | |
int_num | dw | 0 | ; Номер прерывания |
public | _driver_info | |
_driver_info | proc near | |
mov AX, 1FFH | ; ah=1, al=255 | |
call int_pkt | ; обращение к драйверу | |
jnc lv | ||
mov AX, seg _PARAM.ER_CODE | ||
mov DS, AX | ||
mov _PARAM.ER_CODE, 272 | ; Устанавливаем код "Нет инф. о драйвере" | |
lv: | ret | |
_driver_info | endp |
int_pkt: | ; Подпрограмма обращения к драйверу | |
push ds | ||
push es | ||
pushf | ||
cli | ||
call _param.Handler | ; адрес _param.Handler должен быть определен раньше | |
pop es | ||
pop ds | ||
ret |
BX | версия; |
CH | класс; |
CL | номер; |
DX | тип; |
DS:SI | указывают на строку имени драйвера; |
AL | функциональные возможности. |
AL = 1 | гарантируется выполнение базовых функций; |
= 2 | обеспечено выполнение базового и расширенного набора функций; |
= 5 | выполняется базовый и экстра-набор функций; |
= 6 | выполним полный набор функций; |
= 255 | драйвер не установлен. |
.MODEL | small | |
PUBLIC | _INFACE | |
VERSION | EQU | 1 |
EXTRN | _PARAM:BYTE | |
EXTRN | _Q:BYTE |
INCLUDE | DEF.ASM | ; Определения некоторых констант | |
P_LIST | STRUC | ||
LINTN | DB | 32 dup(0) | ; Список активных номеров прерываний |
HANDLES | DW | ? | |
HANDLEP | DW | ? | |
ER_CODE | DW | ? | |
ERNUM | DW | ? | ; Код ошибки |
HANDLER | DD | ? | |
MODE | DW | ? | ; Текущий режим приема пакетов |
MLIST | DB | 0,0,0,0,0,0 | ; Список допустимых режимов; 1 => имеется |
PKT_IN | DW | ?,? | ; Диагностический массив |
pkt_out | DW | ?,? | |
byte_in | DW | ?,? | |
byt_out | DW | ?,? | |
err_in | DW | ?,? | |
err_out | DW | ?,? | |
pk_drop | DW | ?,? | |
L1 | DW | 0 | ; Версия драйвера |
L2 | DW | 0 | ; класс/номер |
L3 | DW | 0 | ; Тип |
L4 | DW | 0 | ; Функция |
_NAME | DB | 0,0,0,0,0,0,0,0,0,0 | ; Имя интерфейса |
ETHER_ADR | DB | ADDR_LEN dup(-1) | ; Ethernet-адрес |
S_ADR | DB | EADDR_LEN+5 dup(-1) | ; Ethernet-адрес получателя |
D_ADR | DB | EADDR_LEN+5 dup(-1) | ; Ethernet-адрес отправителя |
P_LIST | ENDS |
QUEUE | STRUC | ||
Leng | DW | 15000,? | ; Длина очереди |
Tail | DW | ? | ; Смещение последнего элемента очереди |
Head | DW | ? | ; Смещение первого элемента очереди |
_end | DW | ? | ; Указатель на конец очереди |
p_len | DW | ? | ; Длина пакета |
P_start | DW | ? | ; Указатель на текущий пакет = Q_head - Q_begin +2 |
NEW | DB | 0 | ; Флаг нового пакета |
Line | DB | ? | ; Строка экрана |
Npacks | DD | 0 | ; Счетчик принятых пакетов |
B | DW | ? | ; смещение Q_beg |
Point | DW | 380 dup(?) | |
Beg | DB | 31000 dup(?) | ; Пакетный буфер |
QUEUE | ENDS |
ether_bdcst | DB | EADDR_LEN dup(-1) | ; Широковещательный адрес Ethernet, заполненный -1. |
ether_addr | DB | EADDR_LEN dup(-1) | |
bogus_type | DB | 0,0; | |
signature | DB | 'PKT DRVR',0 | ; Сигнатура пакетного драйвера |
signature_len | equ | $-signature | |
SAFE | DW | ? | |
DFLAG | DB | 0 |
PUBLIC | _INFACE | |
_INFACE | PROC | NEAR |
CLD | ||
MOV DFLAG, 0 | ; Очистка флага драйвера | |
MOV _PARAM.ER_CODE, 0 | ; Очистка флага ошибки | |
PUSH BP | ; Спасение регистров | |
MOV BP, SP | ||
PUSH SI | ||
PUSH DI | ||
PUSH ES | ||
PUSH DS |
MOV CX, 32 | ||
MOV AL, 60H | ; Установка начального номера прерывания | |
LEA SI, _PARAM.LINTN | ; Формирование указателя на список номеров прерывания | |
CHECK: | PUSH AX | |
PUSH CX | ||
PUSH SI | ||
CALL CHK_INT | ||
POP SI | ||
POP CX | ||
MOV byte ptr [SI], 0 ; | ||
JNE NO_SIGNATURE | ||
INC DFLAG | ; Установка флага <Это драйвер> | |
MOV BYTE PTR [SI], 1 | ; Установка флага наличия |
POP AX | ||
INC AL | ; Следующий номер прерывания | |
INC SI | ; Актуализация указателя | |
LOOP CHECK |
CMP DFLAG, 0 | ; Драйвер присутствует? | |
JNE HAVE_SIGNATURE | ||
MOV _PARAM.ER_CODE, 271 | ; Установка флага <No signature> | |
JMP OKAY |
PUSH ES | |
pushf | |
cli | |
call _PARAM.HANDLER | |
POP ES | |
RET |
CHK_INT: | PUSH ES | ; AL = номер прерывания |
PUSH DI |
MOV AH, 35H | ; Получение вектора прерывания | |
INT 21H | ; ES:BX=seg:offs драйвера |
MOV _PARAM.HANDLER.OFFS,BX | ; Записываем адрес драйвера | |
MOV _PARAM.HANDLER.SEGM, ES | ||
LEA DI, 3[BX] | ; Устанавливаем смещение сигнатуры драйвера | |
MOV SI, OFFSET SIGNATURE | ; Проверка сигнатуры драйвера | |
MOV CX, SIGNATURE_LEN | ; Присутствует ли здесь драйвер? | |
REPE CMPSB ; DS:[SI] - ES:[DI] |
POP DI | |
POP ES | |
RET |
MOV CX, 32 | ; Установка начального значения счетчика | |
LEA SI, _PARAM.LINTN | ; Устанавливаем указатель списка | |
MOV AL, 60H | ; Задаем начальный номер прерывания | |
CHOICE: | CMP BYTE PTR [SI], 0 | |
JNE SETDRV | ||
INC AL | ||
LOOP CHOICE |
SETDRV: | MOV AH, 35H | |
INT 21H | ||
MOV _PARAM.HANDLER.OFFS,BX | ; Определяем адрес драйвера | |
MOV _PARAM.HANDLER.SEGM, ES |
PUSH DS | ||
POP ES | ||
MOV CX, EADDR_LEN | ||
MOV SI, OFFSET ETHER_ADDR | ||
MOV DI, OFFSET ETHER_BDCST | ||
REPE CMPSB | ||
JE GET_MODE | ; Адрес не определен |
MOV AH, 25 | ; Записываем ethernet-адрес | |
MOV DI, offset ETHER_ADDR | ||
MOV CX, EADDR_LEN | ||
call int_pkt | ||
MOV _PARAM.ER_CODE, DX | ; Устанавливаем код ошибки | |
JMP OKAY |
MOV SAFE, DS | ; Спасаем DS | |
PUSH DS | ||
MOV AH, 2 | ; Открываем доступ пакетам | |
MOV AL, 1 | ; Класс интерфейса | |
MOV BX, -1 | ; Тип интерфейса | |
MOV DL, 0 | ; Номер интерфейса | |
MOV CX, 2 | ; Используем длину type = 2 | |
MOV SI, OFFSET BOGUS_TYPE | ||
PUSH CS | ; ES:DI -> Receiver. | |
POP ES | ||
MOV DI, OFFSET RECEIVER | ||
call INT_PKT | ||
JNC $_$ | ||
MOV _PARAM.ER_CODE, DX | ; Устанавливаем код ошибки | |
$_$: | MOV _PARAM.HANDLES, AX | ; Записываем указатель-Handle |
MOV AH, 6 | ; Определяем ethernet-адрес интерфейса | |
PUSH DS | ||
POP ES | ||
MOV DI, offset _PARAM.ETHER_ADR | ||
MOV CX, EADDR_LEN | ||
MOV BX, _PARAM.HANDLES | ||
call int_pkt | ||
JNC NOBAD | ||
MOV _PARAM.ER_CODE, 273 | ; Ошибка при определении Ethernet-адреса | |
POP DS | ||
JMP OKAY |
MOV AX, 1FFH | ; Запрашиваем информацию о драйвере | |
MOV BX, _PARAM.HANDLES | ; Устанавливаем указатель | |
call INT_PKT | ||
JNC N_BAD | ||
MOV _PARAM.ER_CODE, 272 | ; Ошибка при получении информации о драйвере | |
POP DS | ||
JMP OKAY |
N_BAD: | PUSH DS |
PUSH SS | |
&nsp; | POP DS |
MOV ES, SAFE |
MOV _PARAM.L1, BX | ; Версия драйвера | |
MOV _PARAM.L2, CX | ; номер/класс | |
MOV _PARAM.L3, DX | ; Тип | |
MOV _PARAM.L4, AX | ; Функциональность | |
LEA BX, _PARAM._NAME | ||
POP DS | ||
MOV CX, 8 | ||
ZFIND: | CMP byte ptr [SI], 0 | |
MOV AL, byte ptr [SI] | ||
MOV byte ptr ES:[BX], AL | ||
JE ZERO_ | ||
INC SI | ||
INC BX | ||
LOOP ZFIND | ||
ZERO_: | POP DS | |
MOV AH, 21 | ; Запрашиваем код режима приема пакетов | |
MOV BX, _PARAM.HANDLES | ||
call INT_PKT | ||
MOV _PARAM.MODE, AX | ; Записываем код режима |
OKAY: | POP DS |
POP ES | |
POP DI | |
POP SI | |
MOV SP, BP | |
POP BP | |
RET |
RECEIVER: | ; Подпрограмма RECEIVER, вызываемая при получении пакета | |
OR AX, AX | ; Первый или второй вызов? | |
JNE RECV | ||
MOV AX, seg _Q.beg | ; Указатель буфера ES:DI | |
MOV ES, AX | ||
MOV DI, offset _Q.beg |
RECV: | RETF |
Int | if_class; AL | ; класс интерфейса |
Int | if_type; BX | ; тип интерфейса |
Int | if_number; DL | ; номер интерфейса |
Char | far *type; DS:SI | |
Unsigned | typelen; CX | |
Int | (far *receiver); ES:DI |
access: | mov ah, 2 | |
mov al, ch | ; установка класса; здесь предполагается, что содержимое регистров соответствует тому, что получено в результате обращения к driver_info | |
mov bx, dx | ; устанавливаем параметр type | |
mov dl, cl | ; устанавливаем параметр number, при одном интерфейсе number=0 | |
xor cx, cx | ; длина type равна нулю | |
push cs | ; устанавливаем сегментный регистр receiver | |
pop es | ||
mov di, offset RECEIVER | ; вызов подпрограммы receiver | |
call int_pkt | ; обращение к пакетному драйверу |
2 | NO_CLASS не найдено интерфейса указанного класса; |
3 | NO_TYPE не найдено интерфейса указанного типа; |
4 | NO_NUMBER не найдено интерфейса с указанным номером; |
5 | BAD_TYPE специфицирован неправильный тип пакета; |
9 | NO_SPACE недостаточно места в памяти; |
10 | TYPE_INUSE было обращение к данному типу и он пока занят. |
int handle; | BX | ; указатель |
int flag; | AX | ; флаг вызова(0/1) |
unsigned len; | CX | ; целое без знака - длина пакета |
char far *buffer; | DS:SI | ; адрес буфера |
push bp | ; спасение регистров | |
push ds | ||
push es | ||
mov ah, 3 | ; задаем код запроса | |
mov bx, _param.handle | ; заносим указатель | |
pushf | ||
cli | ||
call _param.handler | ; обращение к драйверу | |
mov _param.er_CODE, dx | ; занесение кода ошибки | |
pop es | ; восстановление регистров | |
pop ds | ||
pop bp | ||
ret | ||
_release_type | endp |
Режим | Значение |
1 | выключение приема пакетов; |
2 | прием пакетов, адресованных только данному интерфейсу; |
3 | режим 2 плюс бродкастинг-пакеты; |
4 | режим 3 плюс некоторые мультикастинг-пакеты; |
5 | режим 3 плюс все мультикастинг-пакеты; |
6 | все пакеты. |
unsigned long packets_in; | ( Число принятых пакетов для всех указателей) |
unsigned long packets_out; | ( Число посланных пакетов) |
unsigned long bytes_in; | ( Число принятых байтов, включая MAC заголовки) |
unsigned long bytes_out; | ( Число посланных байтов) |
unsigned long errors_in; | ( Полное число ошибок при приеме) |
unsigned long errors_out; | ( Число ошибок при посылке пакетов) |
unsigned long packets_lost; | ( Число потерянных пакетов из-за отсутствия свободного буфера или других ресурсов) |
Название метода | Расшифровка | Описание |
1B2B | Один бит исходной последовательности кодируется комбинацией из 2 бит половинной длительности | |
B3ZS B6ZS B8ZS |
bipolar with 3/6/8 zero substitution | Биполярный код с заменой 000/000000/00000000 на последовательности 00v/0vb0vb/000vb0vb (или b0v для B3ZS) |
HDB2 (/3) | High density bipolar code of order 2 (/3) | Биполярный код высокой плотности второго (третьего) порядка. Эквивалентен коду с возвратом к нулю (RZ) и с инверсией для логических 1. Последовательность 000 (соответственно 0000) заменяется на 00v или b0v (соответственно 000v или b00v). Число b сигналов между v-сигналами всегда нечетно. В результате возникает трехуровневый код. |
CMI | coded mark inversion | Двухуровневый двоичный код (класса 1B2B) без возвращения к нулю. Используется инверсия полярности для каждой логической 1 (единице ставится в соответствие 11 или 00), а для каждого логического нуля вводится смена полярности в середине интервала. |
|
ТаблицаТаблица 7.2.1.
Любой пакетный драйвер имеет блок исходных данных (MS-DOS), напр.:
Структура переменных init_mode (смещение = 0) имеет вид /td> |
Таблица 2.5.1. Кодирование элементов изображения
Режим кодирования |
Элементы, подлежащие кодированию |
Обозначение |
Код |
Проход |
a1a2 |
p |
0001 |
Горизонтальный |
b0b1,b1b2 |
h |
001+m(b0b1)+m(b1b2) |
Вертикальный |
b1 под a1 b1a1=0 b1 справа от a1 b1a1=1 b1a1=2 b1a1=3 b1 слева от a1 b1a1=1 b1a1=2 b1a1=3 |
v(0) vr(1) vr(2) vr(3) vl(1) vl(2) vl(3). |
1 011 000011 0000011 010 000010 0000010 0000001ххх |
Перед началом передачи терминалы должны обменяться своими идентификаторами (TID - terminal identification). В последнее время появились факс-аппараты, которые печатают изображение на обычную бумагу с разрешением 300-400 точек на дюйм. Такая схема удобна, но имеет некоторые недостатки. Такие аппараты дороги, печать может начаться не ранее, чем будет передана вся страница; передающий аппарат может иметь более низкое разрешение, нужно уметь адаптироваться к любому разрешению, что приводит к тому, что скорость печати изображения при низком разрешении остается столь же низкой, как и при высокой.
В 1970 году в Бритиш Телеком были разработаны основные принципы еще одного вида передачи графической информации - телетекста, первые опыты по его внедрению относятся к 1979 году. Стандарт на мозаичное представление символов был принят CEPT в 1983 году. Каждому символу ставится в соответствие код длиной в 7-8 бит. На экране такой символ отображается с помощью специального знакового генератора, использующего таблицу.
Полному экрану видео текста, содержащему 24 строки по 40 символов, соответствует 960 байт, для передачи которых по коммутируемой телефонной сети требуется 6,4 секунды. D-канал ISDN может пропустить эту информацию за 1 сек, а B-канал быстрее за 0,1 сек. Телетекст позволяет более эффективно использовать каналы связи и не налагает чрезмерных требований на устройства отображения.
Известно, что для корректной передачи цвета требуется 16 миллионов оттенков (8 бит на каждую из трех цветовых компонент). Таким образом, для описания картинки на экране, содержащей 575 линий по 720 пикселей, требуется 1,240 Мбайта.
Таблица 4.4.9.5.1. Коды типа сообщений
Код поля тип |
Тип сообщения pim |
0 |
hello |
1 |
register |
2 |
register-stop |
3 |
join/prune |
4 |
bootstrap |
5 |
assert |
6 |
graft (используется только в pim-dm) |
7 |
graft-ack (используется только в pim-dm) |
8 |
candidate-rp-advertisement |
Поле длина адреса характеризует длину кода адреса в байтах. Поле контрольная сумма вычисляется методом суммирования всего pim-сообщения по модулю 1, это поле имеет длину 16 бит. Формат закодированного группового адреса показан на Рисунок 4.4.9.5.4.
Таблица программируемого драйва
PDU
Protocol Data Unit
Протокольный блок данных
Plug Distribution Unit
Вставной блок распределения
PE
Program Element
Элемент программы
Processing Element
Обрабатывающий элемент
PhotoElement
Фотоэлемент
PEA
Pocket Ethernet Adapter
Карманный адаптер Ethernet
PEL
Picture Element [IBM]
Элемент изображения (пиксель)
PEM
Privacy Enhanced Mail
Почта с улучшенной защитой [Internet]
PEN SDK
Pen Computing Software Development Kit
PEP
Packetized Ensemble Protocol
Протокол сборки пакетов [Telebit]
Packet Encoding Protocol
Протокол кодирования пакетов
Pascal Execution Profiler
Конфигурационный файл исполнения Pascal
PER
Packet Error Rate
Частота ошибок при передаче пакетов
PERL
Practical Extraction and Report Language
Язык программирования [Unix]
PERT
Program Evaluation and Review Technique
Техника оценки и обзора программ (система планирования и руководства разработками)
PES
Personal Earth Station
Персональная наземная станция
Performance Enhancement Socket
Соединитель для улучшения характеристик
Positioning Error Signal
Сигнал ошибки позиционирования
Processor Enhancement Socket
Улучшенный соединитель процессора
Packetized Elementary Stream
Первичный пакетный поток (MPEG-2)
PET
Pascal Execution Timer
Таймер исполнения Pascal
Positron emission Thomograph
Позитронно-эмиссионный томограф
Print Enhancement Technology
Технология улучшения печати [Compaq]
PF
Presentation Function
Функция представления
Page Formatter
Средство форматирования страниц
P/F
Poll/Final bit
Бит запроса или завершения
PFB
PostScript Font-Binary
Файл с данными о шрифте в исходном двоичном формате
PFM
PostScript Font MetyricsBinary
Метрическая информация о шрифте PostScript
PFR
Power-Fail Restart
Перезапуск при сбое питания
PGA
Pin Grid Array
Массив ножек корпуса
Professional Graphics Adapter
Профессиональный графический адаптер [IBM]
PGDN
Page Down
На страницу вниз
PGL
Peer Group Leader
Член группы в ATM, который выполняет функции LGN
PGM
Portable GrayMap
Формат для полутоновых графических файлов
PGP
Pretty Good Privacy
Безопасная система электронной почты (Название программы шифрования)
PHIGS
Programmer's Hierarchical Interactive Graphics System
Иерархическая интерактивная графическая система для программистов
PHY
PHysical Layer Protocol
Протокол физического уровня
PI
Protocol Identifier
Идентификатор протокола
Program Interrupt
Программное прерывание
PIA
Programmable Interconnect Array
Программируемая матрица связи
Peripheral Interface Adapter
Адаптер периферийного интерфейса
PIB
Policy Information Base
База данных маршрутной политики (BGP)
PIC
Personal Intelligent Communicator
Персональный интеллигентный коммуникатор
Priority Interrupt Controller
Контроллер приоритета прерываний
Program Interrupt Controller
Контроллер программных прерываний
Programmable Interface Controller
Контроллер программируемого интерфейса
Position Independent Code
Программа, независящая от места загрузки
Primary Interchange Carrier
Первичная несущая
PICS
Platform for Internet Content Selection
Средство для отбора информации в Интернет (для WWW, например, отбор страниц непригодных для детей)
PID
Process Identifier
Идентификатор процесса
Process Identification Number
Идентификационный номер процесса
PIF
Picture Information File
Информационный файл картинки (DOS из Windows)
PILOT
Programmed Inquiry Learning Or Teaching
Программное дистанционное обучение или тестирование
PIM
Protocol of Independent Multicasting
Протокол независимого мультикастинга
Personal Information Manager
Персональный информационный менеджер
PIMB
PCTE Interface Management Board
Управляющий совет по интерфейсам PCTE
PIM-SM
Protocol of Independent Multicasting-Sparse Mode
Протокол независимого мультикастинга - распределенный режим
PIN
Personal Identification Number
Персональный идентификационный номер
Process Identification Number [Unix]
Идентификационный номер процесса
PINE
Pine Is Not Elm [Unix]
“Сосна не вяз” (почтовая система)
PING
Packet InterNet Groper
Пакетное зондирование в Интернет
PINX
Private Integrated Network Exchange
Местный сетевой коммутатор (ISDN)
PIO
Parallel Input/Output
Параллельный ввод/вывод
Processor Input/Output
Ввод/вывод процессора
Programmed Input/Output
Программируемый ввод/вывод
PIP
Picture In Picture
Картинка в картинке
Problem Isolation Procedure
Процедура вычленения проблемы
Programmable Interconnect Point
Программируемая точка подключения
PIPO
Parallel In, Parallel Out
Параллельный ввод, параллельный вывод
PIR
Packet Insertion Rate
Частота ввода пакетов
PIT
Programmable Interval Timer
Программируемый таймер интервала
PIU
Programmable Interface Unit
Программируемый интерфейс
PJE
Pointer Justification Event
Факт выравнивания указателя
PK
Public Key
Общедоступный ключ (в системах шифрования)
PKC
Public Key Center
Центр общедоступных ключей
PKCS
Public-Key Cryptography Standard
Криптографический стандарт для метода с открытым ключом
PKI
Public Key Infrastructure
Инфраструктура общедоступных ключей
PL
Physical Layer (in Net hierarchy)
Физический уровень (в иерархии сетей)
Private Line
Частная линия
PayLoad
Полезная нагрузка
PLA
Programmable Logical Array
Программируемая логическая матрица
PLAR
Private Line, Automatic Ring-down
Частная линия, автоматический дозвон
PLATO
Programmed Logic for Automatic Teaching Operations
Программируемая логика для автоматических операций обучения
PLC
Programmable Logic Controller
Программируемый логический контроллер
PLCC
Plastic Leadless Chip Carrier
Пластиковый безсвинцовый носитель кристаллов
PLCP
Physical Layer Convergence Protocol
Протокол конвергенции физического уровня
PLD
Programmable Logic Device
Программируемый логический прибор
PLDS
Pilot Land Data System [NASA]
PLIM
Physical Layer Interface Module
Интерфейсный модуль физического уровня
PLL
Phase Locked Loop
Система фазовой стабилизации (синхронизации)
PLMN
PLP
Packet Layer Procedure
Процедура пакетного уровня
Packet Layer Protocol
Протокол пакетного уровня (X.25)
PLR
Packet Loss Rate
Частота потери пакетов
PLS
Personal Library System
Система персональной библиотеки
Primary Link Station
Первичная станция канала
PLSP
PNNI Link State Packets
Пакеты состояния канала PNNI
PLU
Primary Logical Unit
Первичный логический блок
PLV
Production Level Video
Производственный уровень видео
PM
Presentation Manager
Менеджер презентаций [IBM]
Preventative Maintenance
Профилактическая работа
Performance Management
Управление рабочими характеристиками
Phase Modulation
Фазовая модуляция
Process Manager
Менеджер процесса
PMA
Physical Medium Attachment
Физическое подключение к среде
PMD
Physical layer Media Dependent
Физический уровень, зависящий от среды
Polarization Mode Dispersion
Поляризационный режим дисперсии
Post Mortem Dump
Распечатка после гибели процесса
PMMU
Paged Memory Management Unit
Блок управления страничной памятью
PMOS
Positive Channel Metal Oxide Semiconductor
Метал-оксидный транзистор с положительным каналом
PMS
Policy Management System
Система управления политикой
Physical Medium Sublayer
Субуровень, зависящий от физической среды
PNG
Portable Network Graphics
Формат графического файла
PNNI
Private Network-to-Network Interface
Частный сетевой интерфейс
Private Network Node Interface
Частный сетевой интерфейс узла
PNO
Public Network Operator
Общедоступный сетевой оператор
PNP
Plug And Play
Вставляй и работай
POC
Point Of Contact
Точка контакта
POET
Packet Over E3/T3
Передача паетов по каналам E3/T3
POH
Path Overhead
Маршрутный заголовок
POL
Problem Oriented Language
Язык, ориентированный на проблему
Procedure-Oriented Language
Процедурно-ориентированный язык
Provisioning Object Library
Объектная библиотека
POM
Provisioning Object Manager
Менеджер объектов
POP
Point Of Presence [MCI]
Точка присутствия
Pop from Stack
Извлечь из стека
Post Office Protocol
Почтовый протокол
POPA
Pop All Registers
Извлечь все регистры
POS
Point Of Sale
Точка торговли
Positive
Положительный
Programmable Object Select
Программируемый выбор объекта
POSIX
Portable Operating System Interface for Computer Environment
Переносимый интерфейс операционной среды для компьютерной среды (стандарт IEEE)
POST
Power On Self Test and initialization
Самотестирование питания и инициализация (PC)
POSTNET
Postal Numeric Encoding Technique
Техника кодирования почтовых номеров
POTS
Plain Old Telephone Service
Традиционные телефонные услуги
POWER
Performance Optimization with Enhanced RISC
Оптимизация рабочих характеристик для улучшенного RISC [IBM]
PPD
Postscript Printer Description
Описание постскриптовского принтера
PPDS
Personal Printer Data Stream
Поток данных персонального принтера [IBM]
PPI
PDH Physical Interface
Физический интерфейс сигнала PDH
PPM
Pages Per Minute
Число страниц в минуту
Part Per Million
Частей на миллион
Part Per Mile
Частей на тысячу
PPP
Point-to-Point Protocol
Протокол для связи точка-точка – традиционные телефонные услуги (RFC-1331-34; 77-78)
PPCS
Parallel Processing-Computer Server
Сервер параллельного процессора
PPL
Projection Pursuit Learning
PPS
Packets/pulses Per Second
Число пакетов/импульсов в секунду
Power Personal Systems
Персональные системы питания [IBM]
PPSN
Public Packet Switched Network
Общественная сеть с коммутацией пакетов
PPU
Pointer Processing Unit
Блок обработки указателей
PQ
Priority Queuing
Приоритетные очереди
PQFP
Plastic Quad Flatpack Package (chip housing)
Тип пластмассового корпуса микросхемы
PR
Pattern Recognition
Распознавание образов
PRACSA
Public Remote Access Computer Standards Association
Ассоциация по стандартам на удаленный общий доступ к ЭВМ
PRAM
Parallel Random-Access Machine
Машина с произвольным параллельным доступом
Parameter Random Access Memory
Параметрическая память с произвольным доступом
PRC
Primary Reference Clock
Первичный эталонный тактовый генератор
PREP
PowerPC Reference Platform
Эталонная платформа PowerPC
PRI
Primary Rate Interface
Интерфейс первичной скорости передачи (ISDN)
PRL
Process Resource List
Список ресурсов процесса
PRMD
PRivate Management Domain name
Частное имя управляющего домена [X.400]
PROFS
Professional Office System
Профессиональная офисная система (IBM)
PROLOG
Programming In Logic (Programming Language)
Название языка программирования
PROM
Programmable Read Only Memory
Программируемая память, рассчитанная только на чтение
PRR
Pulse Repetition Rate
Частота повторения импульсов
PRS
Primary Reference Source
Первичный эталонный источник
PS
Post Script
Формат текста
Permutation Symmetric
Симметричная перестановка
Planning and Scheduling
Планирование и составление графика
PSA
Program Structure Analyzer
Анализатор программной структуры (Borland Pascal)
Pascal Structure Analyzer
Анализатор структуры Паскаля
PSC
Print Server Command
Команда принт-сервера
Product Service Center
Сервисный центр
Protection Switch Count
Число защитных переключений
Picture Start Code
Стартовый код при передаче изображения
PSD
Protection Switch Duration
Длительность защитного переключения
PSDN
Packet-Switched Data Network
Сети с коммутацией информационных пакетов
PSD
Printer Sequence Description
Описание последовательности принтера
Power Spectral Density
Спектральная плотность
PSDN
Packet Switch Data Networks
Информационные сети с переключением пакетов
PSDS
Packet-Switched Data Service
Информационные услуги с коммутацией пакетов
PSE
Packet Switch Exchange
Коммутатор пакетов
PSF
Permanent Swap File
Постоянный файл подгрузки
PSH
Push flag
Флаг push (TCP-заголовок)
PSI
DEC's X.25 interface software
Программное обеспечение интерфейса X.25 DEC
Packet-Switch Interface
Интерфейс с переключением пакетов
PSID
PostScript Image Data
Графические данные PostScript
PSM
PDH-to-SDH Mediator
Устройство сопряжения PDH с SDH
PSN
Packet-Switch Network (Nodes)
Сеть с коммутацией пакетов
PSP
Program Segment Prefix
Префикс сегмента программы
Packet Switching Processor
Процессор переключения программы
Personal Software Products (group)
Персональный программный продукт [IBM]
PSPDN
Packet Switching Public Data Network
Общественная информационная сеть с пакетным переключением (X.25)
P-SRAM
Pseudo-Static Random Access Memory
Псевдо-статическая память с произвольным доступом
PSS
Packet Switch Stream
Поток с переключением пакетов
Physical Signaling Sublayer
Физический сигнальный субуровень
Private Signaling System
Частная сигнальная система (ISDN)
PSTN
Public Switched Telephone Network
Общественная коммутируемая телефонная сеть
PST
Pacific Standard Time
Тихоокеанское стандартное время
PSW
Program Status Word
Слово состояния программы
PT
Payload Type
Тип поля данных
PTD
Parallel Transfer Disk Drive
Диск-драйв с параллельной передачей
PTI
Payload Type Identifier
Идентификатор тип данных в пакете (ATM)
PTO
Public Telecommunication Operator (e.g. PTT)
Оператор общественных телекоммуникаций (например, PTT)
PTNX
Private Telecom Network Exchange
Местная цифровая АТС (ISDN)
PTSE
PNNI Topology State Element
Элемент состояния топологии PNNI
PTSЗ
PNNI Topology State Packet
Пакет состояния топологии PNNI
PTT
Post, Telephone, Telegraph service
Почта, телефон, телеграф (министерство связи)
PU
Physical Unit
Физический блок
PUP
PARC Universal Packet
Универсальный пакет PARC (Xerox)
PUS
Processor Upgrade Socket
Панель для замены процессора
Processor Upgrade Socket
Соединитель актуализации процессора
PVC
Permanent Virtual Circuit (Connection)
Постоянная виртуальная схема (соединение)
Polyvinyl Chloride
Поливинил хлорид
PVM
Parallel Virtual Machine
Параллельная виртуальная машина
Pass-through Virtual Machine (protocol)
Протокол виртуальной машины [IBM]
PVP
Packet Video Protocol
Пакетный видео-протокол
Permanent Virtual Path
Постоянный виртуальный маршрут
PW
Pass Word
Слово-пароль
Pulse Width
Ширина импульса
PWB
Printed Wiring Board
Карта с печатной разводкой проводов
Programmer's Workbench
Рабочая станция программиста [Microsoft]
PWD
Print Working Directory
Отобразить рабочий каталог [Unix]
PWSCS
Programmable Workstation Communication Services
Программируемая рабочая станция для коммуникационных услуг [IBM]
Тип кадра | ||||
i | p | b | Средний | |
mpeg-1 (1,15 Мбит/с) | 150,000 | 50,000 | 20,000 | 38,000 |
mpeg-2 (4 Мбит/c) | 400,000 | 200,000 | 80,000 | 130,000 |
Таблица 3.5.1. Стандартизованные DLL-номера протоколов для PPP (поле протокол)
DLL-код протокола (шестнадцатеричный) |
Наименование протокола |
0001 |
Протокол заполнения (padding) |
0003-001F |
Зарезервировано |
0021 |
IP-протокол |
0023 |
Сетевой уровень OSI |
0025 |
Xerox NS IDP |
0027 |
Decnet фаза IV |
0029 |
Appletalk |
002B |
Novell IPX |
002D |
Компрессированный TCP/IP протокол Ван Джекобсона |
002F |
Не компрессированный TCP/IP протокол Ван Джекобсона |
0031 |
PDU мостов |
0033 |
Потоковый протокол (ST-II) |
0035 |
Banyan Vines |
0039 |
Appletalk EDDP |
003B |
Appletalk Smartbuffered |
003D |
Multi-link |
003F |
Кадры Netbios |
0041 |
Cisco Systems |
0043 |
Ascom Timeplex |
0047 |
Удаленная локальная сеть DCA |
0049 |
Транспортный протокол для последовательных данных (PPP-SDTP) |
004B |
SNA через 802.2 |
004D |
SNA |
004F |
Сжатие заголовков IPv6 |
007D |
Зарезервировано (Управл. ESC) [RFC1661] |
00FD |
1-ый вариант компрессии |
0201 |
Пакеты отклика 802.1d |
0203 |
IBM BPDU базовой маршрутизации |
8021 |
Управляющий протокол Интернет (IPCP) |
8023 |
Управляющий протокол сетевого уровня OSI |
8025 |
Управляющий протокол Xerox NS IDP |
8027 |
Управляющий протокол Decnet фаза VI |
8029 |
Управляющий протокол Appletalk |
802B |
Управляющий протокол Novell IPX |
8031 |
Бридж NCP |
8033 |
Потоковый управляющий протокол |
8035 |
Управляющий протокол Banyan Vines |
803D |
Многосвязный управляющий протокол |
803F |
Управляющий протокол кадров NetBIOS |
8041 |
Управляющий протокол Cisco |
8043 |
Ascom Timeplex |
8045 |
Управляющий протокол Fujitsu LBLB |
8047 |
Управляющий протокол удаленных локальных сетей DCA (RLNCP) |
8049 |
Управляющий протокол передачи последовательных данных (PPP-SDCP) |
804B |
Управляющий протокол для передачи sna поверх 802.2 |
804D |
Управляющий протокол SNA |
804F |
Управляющий протокол сжатия заголовков IPv6 |
80FD |
Управляющий протокол сжатия |
C021 |
Канальный управляющий протокол |
C023 |
Протокол аутентификации паролей |
C025 |
Сообщение о состоянии канала |
C081 |
Управляющий протокол для работы с контейнерами |
Значения кодов поля протокола от 0xxx до 3xxx идентифицируют протоколы сетевого уровня, а значения в интервале 8xxx - bxxx говорят о том, что протокол соответствует NCP (Network Control Protocol). Коды из диапазона 4xxx - 7xxx используются для протоколов с низким уровнем трафика, а коды от cxxx до exxx соответствуют управляющим протоколам (например, LCP).
Протокол PPP при установлении соединения предусматривает процедуру аутентификации, которая является опционной (смотри Рисунок 3.5.2.). После перехода на сетевой уровень вызывается NCP-протокол, который выполняет необходимую конфигурацию канала.
Таблица 3.5.2 Значения поля код LCP-заголовка
Код |
Тип пакета |
|
1 |
Запрос конфигурации |
Configure-Request |
2 |
Подтверждение конфигурации |
Configure-Ack |
3 |
Не подтверждение конфигурации |
Configure-Nak |
4 |
Отклонение конфигурации |
Configure-Reject |
5 |
Запрос завершения |
Terminate-Request |
6 |
Подтверждение завершения |
Terminate-Ack |
7 |
Отклонение кода |
Code-Reject |
8* |
Отклонение протокола |
Protocol-Reject |
9* |
Запрос отклика |
Echo-Request |
10* |
Эхо-отклик |
Echo-Reply |
11* |
Запрос отмены |
Discard-Request |
12* |
Идентификация |
|
13* |
Остающееся время |
|
14** |
Запрос сброса |
|
15** |
Отклик на запрос сброса |
|
*) Только LCP; |
**) Только CCP |
|
Для случая запроса Discard-Request между полями длина и данные помещается 4-байтовое поле Magic-Number (магическое число).
Протокол PPP многолик, он способен поддерживать и многоканальные соединения (RFC-1990). Это бывает полезно при работе через ISDN, X.25, Frame Relay или при необходимости расширить пропускную способность за счет подключения нескольких параллельных каналов (MP - MultiLink Protocol). Так как я не сталкивался со случаями, когда пропускной способности было вполне достаточно, данную модификацию PPP-протокола следует считать крайне важной. При этом одной из проблем является распределение пакетов по каналам и последующее их упорядочение принимающей стороной. Особую осторожность в этом случае следует соблюдать при использовании заполнителей. В этом режиме по виртуальному каналу MultiLink запрещается посылать конфигурационные LCP-пакеты Configure-Request, -Reject, -Ack, -Nak, Terminate-Request или -Ack. Принимающая сторона в случае их обнаружения должна их игнорировать. Применение других LCP-пакетов допускается (например, Code-Reject, Protocol-Reject, Echo-Request, Echo-Reply и Discard-Request).
Формат MP-пакета представлен на Рисунок 3.5.5.