Компрессия данных
Компрессия (сжатие) данных применяется для сокращения времени их передачи. Так как на компрессию данных передающая сторона тратит дополнительное время, с которому нужно еще прибавить аналогичные затраты времени на декомпрессию этих данных принимающей стороной, то выгоды от сокращения времени на передачу сжатых данных обычно бывают заметны только для низкоскоростных каналов. Этот порог скорости для современной аппаратуры составляет около 64 Кбит/с. Многие программные и аппаратные средства сети способны выполнять динамическую компрессию данных в отличие от статической, когда данные предварительно компрессируются (например, с помощью популярных архиваторов типа WinZip), а уже затем отсылаются в сеть.
На практике может использоваться ряд алгоритмов компрессии, каждый из которых применим к определенному типу данных. Некоторые модемы (называемые интеллектуальными) предлагают адаптивную компрессию, при которой в зависимости от передаваемых данных выбирается определенный алгоритм компрессии. Рассмотрим некоторые из общих алгоритмов компрессии данных.
Десятичная упаковка. Когда данные состоят только из чисел, значительную экономию можно получить путем уменьшения количества используемых на цифру бит с 7 до 4, используя простое двоичное кодирование десятичных цифр вместо кода ASCII. Просмотр таблицы ASCII показывает, что старшие три бита всех кодов десятичных цифр содержат комбинацию 011. Если все данные в кадре информации состоят из десятичных цифр, то, поместив в заголовок кадра соответствующий управляющий символ, можно существенно сократить длину кадра.
Относительное кодирование. Альтернативой десятичной упаковке при передаче числовых данных с небольшими отклонениями между последовательными цифрами является передача только этих отклонений вместе с известным опорным значением. Такой метод используется, в частности, в рассмотренном выше методе цифрового кодирования голоса ADPCM, передающем в каждом такте только разницу между соседними замерами голоса.
Символьное подавление. Часто передаваемые данные содержат большое количество повторяющихся байт. Например, при передаче черно-белого изображения черные поверхности будут порождать большое количество нулевых значений, а максимально освещенные участки изображения - большое количество байт, состоящих из всех единиц. Передатчик сканирует последовательность передаваемых байт и, если обнаруживает последовательность из трех или более одинаковых байт, заменяет ее специальной трехбайтовой последовательностью, в которой указывает значение байта, количество его повторений, а также отмечает начало этой последовательности специальным управляющим символом.
Коды переменной длины. В этом методе кодирования используется тот факт, что не все символы в передаваемом кадре встречаются с одинаковой частотой. Поэтому во многих схемах кодирования коды часто встречающихся символов заменяют кодами меньшей длины, а редко встречающихся - кодами большей длины. Такое кодирование называется также статистическим кодированием. Из-за того, что символы имеют различную длину, для передачи кадра возможна только бит-ориентированная передача.
При статистическом кодировании коды выбираются таким образом, чтобы при анализе последовательности бит можно было бы однозначно определить соответствие определенной порции бит тому или иному символу или же запрещенной комбинации бит. Если данная последовательность бит представляет собой запрещенную комбинацию, то необходимо к ней добавить еще один бит и повторить анализ. Например, если при неравномерном кодировании для наиболее часто встречающегося символа "Р" выбран код 1, состоящий из одного бита, то значение 0 однобитного кода будет запрещенным. Иначе мы сможем закодировать только два символа. Для другого часто встречающегося символа "О" можно использовать код 01, а код 00 оставить как запрещенный. Тогда для символа "А" можно выбрать код 001, для символа "П" - код 0001 и т. п.
Вообще, неравномерное кодирование наиболее эффективно, когда неравномерность распределения частот передаваемых символов достаточна велика, как при передаче длинных текстовых строк. Напротив, при передаче двоичных данных, например кодов программ, оно малоэффективно, так как 8-битовые коды при этом распределены почти равномерно.
Одним из наиболее распространенных алгоритмов, на основе которых строятся неравномерные коды, является алгоритм Хафмана, позволяющий строить коды автоматически, на основании известных частот символов. Существуют адаптивные модификации метода Хафмана, которые позволяют строить дерево кодов "на ходу", по мере поступления данных от источника.
Многие модели коммуникационного оборудования, такие как модемы, мосты, коммутаторы и маршрутизаторы, поддерживают протоколы динамической компрессии, позволяющие сократить объем передаваемой информации в 4, а иногда и в 8 раз. В таких случаях говорят, что протокол обеспечивает коэффициент сжатия 1:4 или 1:8. Существуют стандартные протоколы компрессии, например V.42bis, a также большое количество нестандартных, фирменных протоколов. Реальный коэффициент компрессии зависит от типа передаваемых данных, так, графические и текстовые данные обычно сжимаются хорошо, а коды программ - хуже.
Yandex.RTB R-A-252273-3- Раздел I. Общие принципы построения вычислительных сетей 3
- Многотерминальные системы – прообраз сети
- Появление глобальных сетей
- Первые локальные сети
- Создание стандартных технологий локальных сетей
- Современные тенденции
- 1.2. Вычислительные сети - частный случай распределенных систем
- Мультипроцессорные компьютеры
- Многомашинные системы
- Вычислительные сети
- Распределенные программы
- 1.3. Что дает предприятию использование сетей
- 2. Основные проблемы построения сетей
- 2.1. Проблемы физической передачи данных по линиям связи
- 2.2. Проблемы объединения нескольких компьютеров
- Топология физических связей
- Организация совместного использования линий связи
- Адресация компьютеров
- 2.3. Ethernet - пример стандартного решения сетевых проблем
- 2.4. Структуризация как средство построения больших сетей
- Физическая структуризация сети
- Логическая структуризация сети
- 2.5. Сетевые службы
- 3. Модель взаимодействия открытых систем и проблемы стандартизации
- 3.1. Многоуровневый подход. Протокол. Интерфейс. Стек протоколов
- 3.2. Модель osi
- 3.3. Уровни модели osi Физический уровень
- Канальный уровень
- Сетевой уровень
- Транспортный уровень
- Сеансовый уровень
- Представительный уровень
- Прикладной уровень
- Сетезависимые и сетенезависимые уровни
- 3.4. Стандартные стеки коммуникационных протоколов
- Стек tcp/ip
- Стек ipx/spx
- Стек NetBios/smb
- 4. Локальные и глобальные сети. Требования, предъявляемые к современным вычислительным сетям
- 4.1. Локальные и глобальные сети
- 4.2 Требования, предъявляемые к современным вычислительным сетям
- Производительность
- Надежность и безопасность
- Расширяемость и масштабируемость
- Прозрачность
- Поддержка разных видов трафика
- Управляемость
- Совместимость
- Раздел II. Основы передачи дискретных данных
- 5. Линии связи
- 5.1. Типы линий связи
- 5.2. Аппаратура линий связи
- 5.3. Характеристики линий связи
- Амплитудно-частотная характеристика, полоса пропускания и затухание
- Пропускная способность линии
- Связь между пропускной способностью линии и ее полосой пропускания
- Помехоустойчивость и достоверность
- 10 Log Рвых/Рнав ,
- 5.4. Стандарты кабелей
- Кабели на основе неэкранированной витой пары
- Кабели на основе экранированной витой пары
- Коаксиальные кабели
- Волоконно-оптические кабели
- 6. Методы передачи дискретных данных на физическом уровне
- 6.1. Аналоговая модуляция
- Методы аналоговой модуляции
- Спектр модулированного сигнала
- 6.2. Цифровое кодирование
- Требования к методам цифрового кодирования
- Потенциальный код без возвращения к нулю
- Метод биполярного кодирования с альтернативной инверсией
- Потенциальный код с инверсией при единице
- Биполярный импульсный код
- Манчестерский код
- Потенциальный код 2b1q
- 6.3. Логическое кодирование
- Избыточные коды
- Скрэмблирование
- 6.4. Дискретная модуляция аналоговых сигналов
- 6.5. Асинхронная и синхронная передачи
- 7. Методы передачи данных канального уровня. Методы коммутации
- 7.1. Методы передачи данных канального уровня
- Асинхронные протоколы
- Синхронные символьно-ориентированные и бит-ориентированные протоколы
- Символьно-ориентированные протоколы
- Бит-ориентированные протоколы
- Протоколы с гибким форматом кадра
- Передача с установлением соединения и без установления соединения
- Обнаружение и коррекция ошибок
- Методы обнаружения ошибок
- Методы восстановления искаженных и потерянных кадров
- Компрессия данных
- 7.2. Методы коммутации
- Коммутация каналов
- Коммутация каналов на основе частотного мультиплексирования
- Коммутация каналов на основе разделения времени
- Общие свойства сетей с коммутацией каналов
- Обеспечение дуплексного режима работы на основе технологий fdm, tdm и wdm
- Коммутация пакетов. Принципы коммутации пакетов
- Виртуальные каналы в сетях с коммутацией пакетов
- Пропускная способность сетей с коммутацией пакетов
- Коммутация сообщений
- Раздел III. Базовые технологии локальных сетей
- 10. Технологии Token Ring, fddi, Fast Ethernet
- 10.1. Технология Token Ring (802.5) Основные характеристики технологии
- Маркерный метод доступа к разделяемой среде
- Форматы кадров Token Ring
- Кадр данных и прерывающая последовательность
- Приоритетный доступ к кольцу
- Физический уровень технологии Token Ring
- Раздел IV. Построение локальных сетей по стандартам физического и канального уровней
- 11. Кабельная система. Концентраторы и сетевые адаптеры
- 11.1. Структурированная кабельная система
- Иерархия в кабельной системе
- Выбор типа кабеля для горизонтальных подсистем
- Выбор типа кабеля для вертикальных подсистем
- Выбор типа кабеля для подсистемы кампуса
- 11.2. Концентраторы и сетевые адаптеры
- Сетевые адаптеры
- Классификация сетевых адаптеров
- Концентраторы
- Поддержка резервных связей
- Защита от несанкционированного доступа
- Многосегментные концентраторы
- Управление концентратором по протоколу snmp
- Конструктивное исполнение концентраторов
- Раздел V. Сетевой уровень как средство построения больших сетей
- 13.Ip-сети. Адресация в ip-сетях
- 13.1. Принципы объединения сетей на основе протоколов сетевого уровня
- Ограничения мостов и коммутаторов
- Понятие internetworking
- Функции маршрутизатора
- Реализация межсетевого взаимодействия средствами tcp/ip
- Многоуровневая структура стека tcp/ip
- Уровень межсетевого взаимодействия
- Основной уровень
- Прикладной уровень
- Уровень сетевых интерфейсов
- Соответствие уровней стека tcp/ip семиуровневой модели iso/osi
- 13.2. Адресация в ip-сетях Типы адресов стека tcp/ip
- Классы ip-адресов
- Особые ip-адреса
- Использование масок в ip-адресации
- Порядок распределения ip-адресов
- Автоматизация процесса назначения ip-адресов
- Отображение ip-адресов на локальные адреса
- Отображение доменных имен на ip-адреса
- Система доменных имен dns
- 14. Протокол ip
- 14.1. Основные функции протокола ip
- 14.2. Структура ip-пакета
- 14.3. Таблицы маршрутизации в ip-сетях
- Примеры таблиц различных типов маршрутизаторов
- Назначение полей таблицы маршрутизации
- Источники и типы записей в таблице маршрутизации
- 14.4. Маршрутизация без использования масок
- 14.5. Маршрутизация с использованием масок Использование масок для структуризации сети
- Использование масок переменной длины
- Технология бесклассовой междоменной маршрутизации cidr
- 14.6. Фрагментация ip-пакетов
- 14.7. Протокол надежной доставки tcp-сообщений
- Сегменты и потоки
- Соединения
- Реализация скользящего окна в протоколе tcp