Видеоконференции в сети INTERNET
(backward differencing) и усреднение (averaging) фрагментов изображения.
Даже на CD-ROM c одинарной скоростью передачи данных (1,2 Мбит/с) MPEG-1
позволяет добиться качества, сравнимого с качеством кассеты VHS, записанной
на профессиональной аппаратуре. Кроме того, MPEG-1 нормирует кодирование
аудиосигнала, синхронизированного с видеосигналом. 2.2.4.1.[10]
ВИДЕО MPEG
Цветное цифровое изображение из сжимаемой последовательности переводится в
цветовое пространство YUV (YCbCr). Компонента Y представляет собой
интенсивность, а U и V - цветность. Так как человеческий глаз менее
восприимчив к цветности, чем к интенсивности, то разрешений цветовых
компонент может быть уменьшено в 2 раза по вертикали, или и по вертикали и
по горизонтали. К анимации и высококачественному студийному видео
уменьшение разрешения не применяется для сохранения качества, а для
бытового применения, где потоки более низкие, а аппаратура более дешевая,
такое действие не приводит к заметным потерям в визуальном восприятии,
сохраняя в то же время драгоценные биты данных.
Основная идея всей схемы - это предсказывать движение от кадра к кадру, а
затем применить дискретное косинусное преобразование (ДКП), чтобы
перераспределить избыточность в пространстве. ДКП выполняется на блоках 8х8
точек, предсказание движения выполняется на канале интенсивности (Y) на
блоках 16х16 точек, или, в зависимости от характеристик исходной
последовательности изображении (чересстрочная развертка, содержимое), на
блоках 16х8 точек. Другими словами, данный блок 16х16 точек в текущем кадре
ищется в соответствующей области большего размера в предыдущих или
последующих кадрах. Коэффициенты ДКП (исходных данных или разности этого
блока и ему соответствующего) квантуются, то есть делятся на некоторое
число, чтобы отбросить несущественные биты. Многие коэффициенты после такой
операции оказываются нулями. Коэффициент квантизации может изменяться для
каждого "макроблока" (макроблок - блок 16х16 точек из Y-компонент и
соответствующие блоки 8х8 в случае отношения YUV 4:2:0, 16х8 в случае 4:2:2
и 16х16 в случае 4:4:4. Коэффициенты ДКП, параметры квантизации, векторы
движения и пр. кодируется по Хаффману с использованием фиксированных
таблиц, определенных стандартом. Закодированные данные складываются в
пакеты, которые формируют поток согласно синтаксису MPEG.
Соотношение кадров друг с другом
Существует три типа закодированных кадров. I-фремы - это кадры,
закодированные как неподвижные изображения - без ссылок на последующие или
предыдущие. Они используются как стартовые. P- фреймы - это кадры,
предсказанные из предыдущих I- или P-кадров. Каждый макроблок в P-
фрейме может идти с вектором и разностью коэффициентов ДКП от
соответствующего блока последнего раскодированного I или P, или может быть
закодирован как в I, если не соответствующего блока не нашлось.
И, наконец, существуют B- фреймы, которые предсказаны из двух ближайших I
или P-фреймов , одного предыдущего и другого - последующего.
Соответствующие блоки ищутся в этих кадрах и из них выбирается лучший.
Ищется прямой вектор, затем обратный и вычисляется среднее между
соответствующими макроблоками в прошлом и будущем. Если это не работает, то
блок может быть закодирован как в I- фрейме.
Последовательность раскодированных кадров обычно выглядит как
I B B P B B P B B P B B I B B P B B P B ...
Здесь 12 кадров от I до I фрейма. Это основано на требовании
произвольного доступа, согласно которому начальная точка должна повторяться
каждые 0.4 секунды. Соотношение P и B основано на опыте.
Чтобы декодер мог работать, необходимо, чтобы первый P- фрейм в потоке
встретился до первого B, поэтому сжатый поток выгдядит так:
0 x x 3 1 2 6 4 5 ...
где числа - это номера кадров. xx может не быть ничем, если это начало
последовательности, или B- фреймы -2 и -1, если это фрагмент из середины
потока.
Сначала необходимо раскодировать I- фрейм , затем P, затем, имея их оба в
памяти, раскодировать B. Во время декодирования P показывается I- фрейм , B
показываются сразу, а раскодированный P показывается во время декодирования
следующего. [11]
Сжатие аудио
При сжатии аудио используются хорошо разработанные психоакустические
модели, полученные из экспериментов с самыми взыскательными слушателями,
чтобы выбросить звуки, которые не слышны человеческому уху. Это то, что
называется "маскированием", например, большая составляющая в некоторой
частоте не позволяет услышать компоненты с более низким коэфициентом в
близлежащих частотах, где соотношение между энергиями частот, которые
маскируются, описывается некоторой эмпирической кривой. Существуют похожие
временные эффекты маскирования, а также более сложные взаимодействия, когда
временной эффект может выделить частоту или наоборот.
Звук разбивается на спектральные блоки с помощью гибридной схемы, которая
объединяет синусные и полосные преобразования, и психоакустической модели,
описанной на языке этих блоков. Все, что может быть убрано или сокращено,
убирается и сокращается, а остаток посылается в выходной поток. В
действительности, все выглядит несколько сложнее, поскольку биты должны
распределяться между полосами. И, конечно же, все, что посылается,
кодируется с сокращением избыточности.
MPEG ( коэффициент сжатия).
Коэффициент сжатия свыше 100:1.
Считают, что MPEG достигает необычайно высокого качества видео при степени
сжатия свыше 100:1. Эти заявления обычно не включают понижение цветового
разрешения исходного цифрового изображения. На практике, поток кодируемого
изображения редко превышает величину потока, закодированного в MPEG, более
чем в 30 раз. Предварительное сжатие за счет уменьшения цветового
разрешения играет основную роль в формировании коэффициентов сжатия с 3
нулями во всех методах кодирования видео, включая отличные от MPEG.
Как MPEG-1, так и MPEG-2, могут быть применены к широкому классу потоков,
частот и размеров кадров. MPEG-1, знакомый большинству людей, позволяет
передавать 25 кадров/с с разрешением 352x288 в PAL или 30 кадр/с с
разрешением 352x240 в NTSC при величине потока менее 1.86 Мбит/с -
комбинация, известная как "Constrained Parameters Bitstreams". Это цифры
введены спецификацией White Book для видео на CD (VideoCD).
Фактически, синтаксис позволяет кодировать изображения с разрешением до
4095х4095 с потоком до 100 Мбит/с. Эти числа могли бы быть и бесконечными,
если бы не ограничение на количество бит в заголовках.
С появлением спецификации MPEG-2, самые популярные комбинации были
объединены в уровни и профили. Самые общие из них:
•Source Input Format (SIF), 352 точки x 240 линий x 30 кадр/с, известный
также как Low Level (LL) - нижний уровень, и •"CCIR 601" (например 720
точек/линию x 480 линий x 30 кадр/с), илиMain Level - основной уровень.
Компенсация движения заменяет макроблоки макроблоками из предыдущих
картинок
Предсказания макроблоков формируются из соответствующих 16х16 блоков точек
(16х8 в MPEG-2) из предыдущих восстановленных кадров. Никаких ограничений
на положение макроблока в предыдущей картинке, кроме ее границ, не
существует.
Исходные кадры - reference - (из которых формируются предсказания) показаны
безотносительно своей закодированной формы. Как только кадр раскодирован,
он становится не набором блоков, а обычным плоским цифровым изображением из
точек.
В MPEG размеры отображаемой картинки и частота кадров может отличаться от
закодированного в потоке. Например, перед кодированием некоторое
подмножество кадров в исходной последовательности может быть опущено, а
затем каждый кадр фильтруется и обрабатывается. При восстановлении
интерполированы для восстановления исходного размера и частоты кадров.
Фактически, три фундаментальных фазы (исходная частота, кодированная и
показываемая) могут отличаться в параметрах. Синтаксис MPEG описывает
кодированную и показываемую частоту через заголовки, а исходная частота
кадров и размер известен только кодеру. Именно поэтому в заголовки MPEG-2
введены элементы, описывающие размер экрана для показа видеоряда.
В I, P и B-фреймах все макроблоки одного типа.
В I- фрейме макроблоки должны быть закодированы как внутренние - без ссылок
на предыдущие или последующие, если не используются масштабируемые режимы.
Однако, макроблоки в P- фрейме могут быть как внутренними, так и ссылаться
на предыдущие кадры. Макроблоки в B- фрейме могут быть как внутренними, так
и ссылаться на предыдущий кадр, последующий или оба. В заголовке каждого
макроблока есть элемент, определяющий его тип.
Без компенсации движения:
С компенсацией движения:
Пропущенные макроблоки в P- фреймах
Пропущенные макроблоки в B- фреймах
Структура последовательности строго фиксирована шаблоном I,P,B.
Последовательность кадров может иметь любую структуру размещения I, P и
B фреймов. В промышленной практике принято иметь фиксированную
последовательность (вроде IBBPBBPBBPBBPBB), однако, более мощные кодеры
могут оптимизировать выбор типа кадра в зависимости от контекста и
глобальных характеристик видеоряда. Каждый тип кадра имеет свои
преимущества в зависимости от особенностей изображения (активность
движения, временные эффекты маскирования,...). Например, если
последовательность изображений мало меняется от кадра к кадру, есть смысл
кодировать больше B- фреймов , чем P. Поскольку B- фреймы не используются
в дальнейшем процессе декодирования, они могут быть сжаты сильнее, без
влияния на качество видеоряда в целом.
Требования конкретного приложения также влияют на выбор типа кадров:
ключевые кадры, переключение каналов, индексирование программ,
восстановление от ошибок и т.д.
Коэффициенты сжатия.
Коэффициент сжатия MPEG видео часто заявляется как 100:1, тогда как в
действительности он находится в районе от 8:1 до 30:1.
Можно получить "более 100:1" для видео на компакт-диске (White Book) с
потоком 1.15 Мбит/с.
1. Высокое разрешение исходного видео.
Большинство источников видеосигнала для кодирования имеют большее
разрешение, чем то, которое актуально оказывается в закодированном потоке.
Самый популярный студийный сигнал, известный как цифровое видео "D-1" или
"CCIR 601", кодируется на 270 Мбит/с.
Цифра 270 Мбит/с получается из следующих вычислений:
Интенсивность (Y):858 точек/линию x 525 линий/кадр x 30 кадр/с x 10
бит/точку ~= 135 Мбит/сR-Y (Cb):429 точек/линию x 525 линий/кадр x 30
кадр/с x 10 бит/точку ~= 68 Мбит/сB-Y (Cb):429 точек/линию x 525 линий/кадр
x 30 кадр/с x 10 бит/точку ~= 68 Мбит/сИтого:27 млн. точек/с x 10 бит/точку
= 270 Мбит/с
2. Следует выбросить гасящие интервалы.
Из 858 точек яркости на линию под информацию изображения задействованы
только 720. В действительности, количество точек на линию - предмет многих
ссор на инженерных семинарах, и это значение лежит в пределах от 704 до
720. Аналогично, только 480 линий из 525 задействованы под изображение по
вертикали. Настоящее значение лежит в пределах от 480 до 496. В целях
совместимости MPEG-1 и MPEG-2 определяет эти числа как 704х480 точек на
интенсивность и 352х480 для цветоразностей. Пересчитывая исходный поток,
будем иметь:
Y704 точек/линию x 480 линий x 30 кадр/с x 10 бит/точку ~= 104 Мбит/сC2
компоненты x 352 точки/линию x 480 линий x 30 кадр/с x 10 бит/точку ~= 104
Мбит/сИтого:~ 207 Мбит/сОтношение (207/1.15) составляет всего 180:1.
3. Следует учесть большее количество бит/точку.
В MPEG на точку отводится 8 бит. Принимая во внимание этот фактор,
отношение становится 180 * (8/10) = 144:1.
4. Учтем более высокое разрешение цветности. Известный студийный сигнал
CCIR-601 представляет сигнал цветности с половинным разрешением по
горизонтали, но с полным вертикальным разрешением. Это соотношение частот
оцифровки известно как 4:2:2. Однако, MPEG-1 и MPEG-2 Main Profile
устанавливают использование формата 4:2:0, который считается достаточным
для бытовых приложений. В этом формате разрешение цветоразностных сигналов
в 2 раза меньше по горизонтали и вертикали, чем интенсивность. Таки
образом, имеем:
720 точек x 480 линий x 30 кадр/с x 8 бит/отсчет x 1.5 остчетов/точку = 124
Мбит/с, и, таким образом, отношение становится 108:1.
5. Учтем размер кодируемого изображения.
Последняя стадия предварительной обработки - это преобразование кадра
формата CCIR-601 в формат SIF уменьшением в 2 раза по горизонтали и
вертикали. Всего в 4 раза. Качественное масштабирование по горизонтали
выполняется с помощью взвешенного цифрового фильтра с 7 или 4-мя узлами, а
по вертикали - выбрасыванием каждого второй линии, второго поля или, опять,
цифровым фильтром, управляемым алгоритмом оценки движения между полями.
Отношение теперь становится 352 точек x 240 линий x 30 кадр/с x 8
бит/отсчет x 1.5 отсчетов/точку ~= 30 Мбит/с.
Таким образом, настоящее отношение A/B должно вычисляться между исходной
последовательностью в стадии 30 Мбит/с перед кодированием, поскольку это
есть действительная частота оцифровки, записываемая в заголовках потока и
воспроизводимая при декодировании. Так, сжатия можно добиться уже одним
сокращением частоты оцифровки.
6. Частота кадров.
Большинство коммерческих видеофильмов снимаются с киноленты, а не с видео.
Основная часть фильмов, записанных на компакт-диски, была оцифрована и
редактирована при 24 кадр/с. В такой последовательности 6 из 30 кадров,
отображаемых на телевизионном мониторе (30 кадр/с или 60 полей/с а NTSC),
фактически избыточна, и может быть не кодирована в MPEG поток. Это ведет
нас к шокирующему выводу, что действительный поток был всего 24 Мбит/с (24
кадр/с / 30 кадр/с * 30 Мбит/с), и коэффициент сжатия составляет всего
каких-то 21:1.
Даже при таком коэффициенте сжатия, как 20:1, несоответствия могут
возникнуть между исходной последовательность изображений и восстановленной.
Только консервативные коэффициенты в районе 12:1 и 8:1 демонстрируют почти
полную прозрачность процесса сжатия последовательностей с сложными
пространственно-временными характеристиками (резкие движения, сложные
текстуры, резкие контуры и т.д.). Несмотря на это, правильно закодированное
видео с использованием предварительной обработки и грамотного распределения
битов, может достигать и более высоких коэффициентов сжатия при приемлемом
качестве восстановленного изображения. [2]
Сжатие видео
При сжатии видео используются следующие статистические характеристики:
1.Пространственная корреляция: дискретное косинусное преобразование 8х8
точек.
2. Особенности человеческого зрения - невосприимчивость к высокочастотным
составляющим: скалярное квантование коэффициентов ДКП с потерей качества.
3. Большая пространственная корреляция изображения в целом: предсказание
первого низкочастотного коэффициента преобразования в блоке 8х8 (среднее
значение всего блока).
4.Статистика появления синтаксических элементов в наиболее вероятном
кодируемом потоке: оптимальное кодирование векторов движения, коэффициентов
ДКП, типов макроблоков и пр.
5.Разряженная матрица квантованных коэффициентов ДКП: кодирование
повторяющихся нулевых элементов с обозначением конца блока.
6.Пространственное маскирование: степень квантования макроблока.
7.Кодирование участков с учетом содержания сцены: степень квантования
макроблока.
8.Адаптация к локальным характеристикам изображения: кодирование блоков,
тип макроблока, адаптивное квантование.
9.Постоянный размер шага при адаптивном квантовании: новая степень
квантования устанавливается только специальным типом макроблока и не
передается по умолчанию.
10.Временная избыточность: прямые и обратные векторы движения на уровне
макроблоков 16х16 точек.
11.Кодирование ошибки предсказаний макроблоков с учетом восприятия:
адаптивное квантование и квантование коэффициентов преобразования.
12.Малая ошибка предсказания: для макроблока может быть сигнализировано
отсутствие ошибки.
13.Тонкое кодирование ошибки предсказания на уровне макроблоков: каждый из
блоков внутри макроблока может быть кодирован или пропущен.
14.Векторы движения - медленное движение фрагмента изображения со сложным
рисунком: предсказание векторов движения.
15.Появления и исчезновения: прямое и обратное предсказание в B- фреймах.
16.Точность межкадрового предсказания: билинейно интерполированные
(фильтрованные) разности блоков. В реальном мире движения объектов от кадра
к кадру редко попадают на границы точек. Интерполяция позволяет выяснить
настоящее положение объекта, зачастую увеличивая эффективность сжатия на 1
дБ.
17.Ограниченная активность движения в P- фреймах: пропущенные макроблоки.
Когда вектор движения и ошибка предсказания нулевые. Пропущенные макроблоки
очень желательны в кодированном потоке, поскольку не занимают битов, кроме
как в заголовке следующего макроблока.
18.Компланарное движение в B- фреймах : пропущенные макроблоки. Когда
вектор движения тот же, а ошибка предсказания нулевая.
Стандарт MPEG-2 [10] полностью перекрывает стандарт MPEG-1 и содержит
новые, более строгие нормы, ориентированные на требования телевизионного
вещания. Например, он поддерживает чересстрочную развертку, как в
аналоговом телевидении. Широкое распространение стандарта MPEG-2 способно
привести к цифровой революции в области видео, которую давно ожидают и
которая будет сравнима с цифровой революцией в области аудио, свершившейся
в последнее десятилетие.
Хорошие рыночные перспективы имеются у всех описанных выше стандартов:
JPEG, H.261 и MPEG.
Так, формат JPEG лучше всего применять для неподвижных изображений, а также
для видеомонтажа, если требуется высокая точность монтажа отдельных кадров.
Стандарт MPEG годится для видеопродукции, потребитель которой ждет качества
изображения, сравнимого с качеством изображения на бытовой аналоговой
видеокассете: компьютерных обучающих материалов, игр, кинофильмов на CD, а
также видео по требованию (video on demand). Для на сегодняшний день чаще
всего используется стандарт H.261, так как для них не требуется
видеоизображения очень высокого качества.
Стандарт Cell
Компания Sun Microsystems предложила свой стандарт компрессии
видеоизображения -- Cell. Существуют два метода компрессии по этому
стандарту: CellA и CellB. Метод CellA требует большей вычислительной
мощности для компрессии/декомпрессии сигнала, чем метод CellB. Поэтому в
системах видеоконференций, требующих работы видео в реальном времени,
используется метод CellB. В этом методе изображение делится на 4х4 группы
пикселов, называемых ячейками (cell). В основу алгоритма компрессии положен
метод BTC (Block Truncation Coding). 16 пикселов в каждой ячейке
преобразуются в 16-битовую маску цветности и две 8-битовых маски
интенсивности, поэтому для кодировки 384 битов требуются всего 32 бита. Это
означает степень сжатия 12:1. Преимущество метода Cell заключается в том,
что в процессе декомпрессии можно использовать графические примитивы
Windows-подобных систем. Такие примитивы выполняются аппаратно стандартными
графическими акселераторами, что позволяет пользоваться аппаратной
декомпрессией, используя стандартное оборудование, уже установленное в
компьютере.
Стандарт NV
Подразделение PARC компании Xerox предложило метод компресии NV (Network
Video). Метод используется чаще всего в системах телеконференций,
работающих в Internet. На первом шаге алгоритма текущее изображение
сравнивается с предыдущим и выделяются области, в которых произошли
значимые изменения. Компрессии и последующей пересылке подвергаются только
эти области. В зависимости от того, что является лимитирующим фактором --
полоса пропускания канала связи или вычислительная мощность оборудования,
для компрессии используются либо преобразование Фурье, либо преобразование
Гаара. После квантования преобразованного изображения достигается степень
сжатия до 20:1.
Стандарт CU-SeeMe
В экспериментальной системе видеоконференций CU-SeeMe, разработанной в
Корнуэлльском университете, входное изображение представляется 16
градациями серого цвета с 4 битами на пиксел. Изображение разбивается на
блоки пикселов общим количеством 8х8. Кадр сравнивается с предыдущим, и
пересылаются только блоки, в которых произошли значимые изменения.
Компрессия этих блоков происходит по алгоритму сжатия без потерь,
разработанному специально для системы CU-SeeMe. С учетом возможных потерь
данных в канале связи периодически пересылаются и неизменившиеся блоки.
Степень сжатия изображения составляет 1,7:1. Алгоритм компрессии изначально
был разработан для аппаратно-программной платформы Macintosh. Он работает с
восемью 4-битными пикселами как 32-битными словами. Для системы CU-SeeMe
минимальная пропускная способность канала связи должна быть не ниже 80
Кбит/с.
Стандарт Indeo
Фирма Intel разработала метод компрессии/декомпрессии Indeo. В основе
метода лежит расчет изображения текущего кадра по данным предыдущего.
Передача кадра происходит только в том случае, если расчетные значения
значимо отличаются от реальных. Компрессия осуществляется по методу 8х8 FST
(Fast Slant Transform), в котором используются только алгебраические
операции сложения и вычитания. Степень сжатия в методе Indeo составляет
1,7:1.
Стандарты компрессии/декомпрессии аудиосигнала
Методы ИКМ
Некоторые стандарты компрессии аудиосигнала основаны на технологии
оцифровки звука, называемой импульсно-кодовой модуляцией или ИКМ [4](PCM,
pulse code modulation). Аналоговый звуковой сигнал дискретизируется по
времени и квантуется по амплитуде. Чем большее количество бит используется
для квантования по амплитуде, тем более высококачественным будет
воспроизведение звука. Если использовать логарифмический шаг квантования,
то звук, квантованный 8 битами, будет соответствовать по качеству звуку,
квантованному 14 битами с равномерным шагом. При этом степень сжатия
сигнала составит 1,75:1. Известны два метода логарифмического квантования:
A-law PCM и mu-law PCM. Mu-law PCM используется в США и Японии на цифровых
линиях связи ISDN. В других странах на линиях ISDN используется метод A-law
PCM. Оба метода вошли в рекомендацию стандарта G.711 ITU-TSS и требуют
минимальной пропускной способности канала не ниже 64 Кбит/с.
В методе импульсно-кодовой модуляции при временной дискретизации
аудиосигнала соседние по времени аудиоимпульсы кодируются независимо друг
от друга. Но, как правило, амплитуду каждого импульса можно предсказать с
большой долей вероятности, используя значение амплитуды предыдущего
импульса. В методе адаптивной дифференциальной импульсно-кодовой модуляции
ADPCM (Adaptive Differential Pulse Code Modulation) рассчитывается разница
между амплитудой каждого импульса и его рассчитанным по предыдущему
импульсу значением. Для кодировки такой разницы требуется всего 4 бита,
поэтому в методе ADPCM степень компрессии аудиосигнала составляет 2:1. ITU-
TSS рекомендует несколько стандартов, основанных на методе ADPCM -- G.721,
G.722, G.723, G.726, G.727. В методе G.722 используется "двухуровневый"
ADPCM (Sub-Band ADPCM) со степенью дискретизации 16 КГц, 14 бит на
кодировку разницы сигналов. Метод предназначен для пропускной способности
канала не ниже 64 Кбит/с.
Компрессия/декомпрессия голоса
Для кодировки только человеческого голоса могут использоваться некоторые
специальные методы. При кодировании методом линейного предсказания LPC
(Linear Predictive Coding) реальная речь накладывается на аналитическую
модель голосового тракта. По каналу связи передаются только "параметры
наилучшего совпадения", которые при декодировании используются для
генерации синтетического голоса, близкого по звучанию к оригиналу. Для LPC-
кодировки требуется полоса пропускания не ниже 2,4 Кбит/с. Развитие метода
LPC, метод линейного предсказания с возбуждением кодов CELP (Code Excited
Linear Prediction), использует такую же аналитическую модель голосового
тракта, как и в методе LPC. Но в методе CELP рассчитываются отклонения
между исходной речью и аналитической моделью. По каналам связи передаются
параметры модели и отклонения. Отклонения представлены как индикаторы.
Индикаторы заносятся в общую книгу кодов, которая доступна кодировщику и
декодировщику. Дополнительные данные в виде индикаторов позволяют добиться
декодированного сигнала более высокого качества, чем при простой кодировке
LPC. CELP требует пропускной способности канала не ниже 4,8 Кбит/с. В
качестве стандарта G.728 ITU-SS предложен метод LD-CELP (Low Delay CELP),
для которого требуется полоса пропускания не менее 16 Кбит/с. Метод LD-CELP
требует большой вычислительной мощности и специальных аппаратных средств.
Глава 2. Технические требования на абонентское устройство конференц связи
п. 2.1. Выбор структуры и форматов данных в системе видеоконференций
Идея создания Internet была предложения в связи с необходимостью
построения коммуникационной отказоустойчивой сети, которая могла бы
продолжить операции, если даже большая часть ее стала не доступной для
работы . Решение состояло с том, чтобы создать сеть , где информационные
пакеты могли бы передаваться от одного узла к другому без какого-либо
централизованного контроля. Если основная часть сети не работает, пакеты
самостоятельно передвигалась бы по доступным узлам до тех пор, пока не
попадут в точку своего назначения. Кроме того сеть должна быть устойчива к
возможным ошибкам при передаче пакетов.
В начале 80-х были подключены первые локальные сети и для использования в
построенной сети ( Internet) был выбран, адаптирован и затем повсеместно
принят для работы набор протоколов Transmission Control Protocol/Internet
Protocol (TCP/IP)[9]. (TCP/IP) вполне удовлетворял всем требованиям,
которые на него возлагались.
Существует много причин, почему протоколы семейства TCP/IP были выбраны за
основу Internet. Это прежде всего возможность работы с этими протоколами
как локальных (LAN), так и в глобальных (WAN) сетях, способность протоколов
управлять большим количеством стационарных и мобильных пользователей.
К данному протоколу больше подходит название "Комплекс протокол Internet".
В его состав входят протоколы UDP,ARP, ICMP, TELNET, FTP и многие и другие,
но часто используют только термин TCP/IP.
Часть из семейства протоколов TCP/IP обеспечивает выполнение
"низкоуровленых" сетевых функций для множества приложений, таких, как
работа с аппаратными протоколами, поддержка механизма доставки пакета по
адресу, назначения через множества сетей и хостов, обеспечение
достоверности и надежности соединения и др..
Другая часть протоколов предназначена для выполнения прикладных задач,
таких, как передача файлов между компьютерами, отправка электронной почты
или чтение гипертекстовой страницы WWW-сервера.
Задачей ТСР является доставка всей информации компьютеру получателя,
контроль последовательности передаваемой информации, повторная отправка не
доставленных пакетов в случае сбоя работы сети. Кроме того, если сообщение
достаточно большое, чтобы отправить его в данном пакете , ТСР делит и
отправляет его несколькими блоками . ТСР также осуществляет контроль за
составление первоначального сообщения из этих блоков на компьютере
получателя.
Подобно тому, как почтовый протокол использует ТСР, сам ТСР использует
протокол IP, который обеспечивает доставку пакета по адресу , т.е.
адресацию и маршрутизацию. Функции, которые представляет ТСР, необходимы
для работы множества приложений, однако существуют приложения, для работы
которых эти функции не требуются . Эти приложения используют вместо ТСР
свой протокол, обеспечивающий взаимодействие приложений, например UDP,
которому для работы также необходимы механизм, который бы осуществлял
доставку пакета по адресу ( т.е. уровня IP).
Схему использования проколов легче всего представить в виде дерева. На этом
дереве листьями будут пользовательские приложения, которые работают с
протоколами самого верхнего уровня ( например почтовым протоколом). В свою
очередь, протоколы верхнего уровня представляют собой ветви кроны. Уровень
ТСР можно представить как толстые сучья, которые растут из ствола и держат
крону. А сам ствол - это уровень IP.
Подобная модель построения нескольких уровней протоколов называется
"многоуровневым передаванием сетевых протоколов". Под этим подразумеваем,
что протокол на более высоком уровне при своей работе использует сервисы,
передавленные протоколами более низкого уровня. Семейство протоколов TCP/IP
имеет 4 ярко выраженных уровня:
уровень приложений ( прикладной уровень)
уровень, реализующий транспортные функции ( транспортный уровень)
уровень , обеспечивающий доставку и маршрутизацию пакета ( сетевой уровень)
уровень сопряжения с физической средой ( канальный уровень)
Опишем состав и основные функции протоколов каждого уровня семейства
TCP/IP:
Уровень сопряжения с физической средой ( канальный) обеспечивает надежный
транзит данных через физический канал. Этот уровень решает задачи
физической адресации, уведомления о неисправностях, упорядоченной доставки
блоков данных и управления потоком информации.
Ниже этого уровня расположен только аппаратный уровень, который определяет
электротехнические, механические, процедурные и функциональные
характеристики активизации, поддержания и деактивизации физического канала
между конечными системами ( уровни напряжений, синхронизации изменений
напряжений, скорость передачи физической информации , максимальные
расстояния передачи информации, физические соединения и др.)
Сетевой уровень - это комплексный уровень. Он обеспечивает возможность
соединение и выбор маршрута между двумя конечными системами, подключенными
к разным "подсетям", которые могут находится разных географических пунктах.
К этому уровню в TCP/IP относится межсетевой протокол IP, который является
базовым в структуре TCP/IP и обеспечивает доставку пакету по месту
назначения - маршрутизацию , фрагментацию и сборку поступивших пакетов на
хосте получателя. Этому уровню принадлежит протокол ICMP, в функции
которого входят, в основном, сообщения об ошибках и сбор информации о
работе сети.
Транспортный уровень представляет услуги по транспортировке данных. Эти
услуги избавляют механизмы передачи данных прикладного уровня от
необходимости вникать в детали транспортировки данных. В частности, заботой
транспортного уровня является решение таких вопросов, как надежная и
достоверная транспортировка данных через сеть. Транспортный уровень
реализует механизмы установки, поддержания и упорядоченного закрытия
каналов соединение, механизмы систем обнаружения и устранения неисправности
транспортировки, управления информационным потоком.
Транспортный уровень семейства TCP/IP представлен протоколами ТСР и UDP.
ТСР обеспечивает транспортировку данных с установлением соединения, в то
время как UDP работает без установления соединения. Оба эти протокола имеют
дело с конкретными процессами ( приложениями ) на компьютере и могут
обеспечивать связь процессов на различных компьютерах сети, хоть в их
компетенцию не входит управлением сеансом работы. Если ТСР обеспечивает
полный сервис транспортного уровня - надежность, достоверность и контроль
соединения, то UDP может отправлять пакеты от одного процесса к другому
без какого либо дополнительного сервиса, за исключением, разве что,
проверки контрольной суммы переданных данных.
Прикладной уровень идентифицирует и устанавливает наличие предполагаемых
партнеров для связи , синхронизирует совместно работающие прикладные
программы , устанавливает соглашения по процедурам устранения ошибок и
управления целостности информации. Кроме того протоколы прикладного уровня
определяют , имеется ли в наличии достаточно ресурсов для предполагаемой
связи. Прикладной уровень также отвечает за то, чтобы информация,
посылаемая из прикладного уровня одной системы была читаемой на прикладном
уровне другой системы. При необходимости он осуществят трансляцию между
множеством форматов представлений путем использования общего формата и
структур данных, а также согласует синтаксис передачи данных для
прикладного уровня. Прикладной уровень устанавливает и завершает сеансы
связи взаимодействия между прикладными задачами , управляет этими
сеансами, синхронизирует диалог между объектами и управляет обменом
информации между ними. Кроме того прикладной уровень предоставляет средства
для отправки информации и уведомления об исключительных ситуациях передачи
данных.
Комплект протоколов Internet включает в себя большое число протоколов
высших уровней, имеющих самые разнообразные применения, в том числе
управление сети, передача файлов, распределенные услуги пользования
файлами, эмуляция терминалов и электронная почта.
Стремительный рост Internet предъявляет новые требования к скорости и
объемам передачи данных. И для того , чтобы удовлетворить все эти запросы,
одного уведомления емкости сети недостаточно , необходимы разумные и
эффективные методы управления трафиком и контролем загруженности линий
передач.
Наиболее широко используемый протокол транспортного уровня - это, как было
описано выше, ТСР. Несмотря на то, что ТСР позволяет поддерживать
множество разнообразных распределенных приложений, он не подходит для
приложения реального времени. Использование ТСР в качестве транспортного
протокола ТСР для этих приложений невозможно по нескольким причинам:
1. Этот протокол позволяет установить соединение только между двумя
конечными точками, следовательно, он не подходит для многоадресной
передачи.
2. ТСР предусматривает повторную передачу потерянных сегментов,
прибывающих, когда приложение реального времени уже их не ждет.
3. ТСР не имеет удобного механизма привязки информации о синхронизации к
сегментам = дополнительное требование приложений реального времени.
Другой широко используемый протокол транспортного уровня - UDP не имеет
части ограничений ТСР, но и он не представляет критической информации о
синхронизации.
Эту задачу и призван решить новый транспортный протокол реального времени -
RTP ( Real-Time Transport Protocol), который гарантирует доставку данных
одному или более адресатам с задержкой в заданных пределах, т.е. данные
могут быть воспроизведены в реальном времени.
Пакеты RTP содержат следующие поля: идентификатор отправителя, указывающий,
кто из участников генерирует данные, отметки о времени генерирования
Страницы: 1, 2, 3, 4
|