Принципы и понятия сетевой архитектуры, страница 13

Сжатие данных и увеличение пропускной способности

Уровень представления может заниматься сжатием данных. Так же, как и шифрование, сжатие приводит к преобразованию данных. Методика сжатия данных похожа на методику шифрования, однако они преследуют разные цели.

В то время как пользователь шифрует данные, чтобы скрыть их смысл, сжатие данных производится с целью уменьшить их в размере. Приложения, занимающиеся как шифрованием, так и сжатием, широко доступны в Интернет.

Сжимая данные в самом начале иерархии сетевой модели, уровень представления уменьшает их количество, необходимое для транспортировки сетью. Таким образом, сжатие данных приводит к существенному улучшению пропускной способности сети. Пропускная способность сети — это количество данных, способных пройти через сеть за заданный промежуток времени. Один из способов увеличить пропускную способность — использовать несколько сетевых соединений для одного транспортного (больше полос для движения данных). Другой способ увеличить пропускную способность — снизить количество данных, подлежащих транспортировке.

Разнообразные способы сжатия данных применяются при хранении данных на жестких дисках. Проблемы сжатия хранящихся на дисках данных свойственны в полной мере и сетевым компьютерам. Однако сжатие данных в сети важнее всего при передаче данных, так как пропускная способность коммуникационного канала — один из наиболее дорогих факторов. Предположим, что ваше приложение шлет один пакет данных вместо трех, передавая все тот же объем информации. Это значит, что за одно и то же время вы сможете передать в три раза больше информации, а значит, вместо того, чтобы заплатить за три, оплатите только один пакет данных. Итак, вы увеличили производительность сети в три раза. Сетевой трафик также уменьшился, так как, сжав данные в три раза, вы передаете только один пакет вместо трех, Меньше сообщений — меньше трафик. При этом уменьшается вероятность столкновений в сети. Ее снижение, в свою очередь, увеличивает производительность сети.

Отображение данных

Правильное отображение информации на мониторе компьютера — еще одна проблема, решаемая на уровне представления. Мониторы характеризуются множеством параметров, что хорошо для вас, как прикладного программиста, однако правильно спроектированное сетевое приложение должно учитывать следующие различия в мониторах разных производителей:

* Один и тот же код символа может отображаться по-разному.

* Разное количество символов на строку.

* Функция “эхо” (автоматическое отображение на экране введенного с клавиатуры символа).

* Режим впечатывания символов (раздвижка или печать поверх строки),

* Символы перевода строки (Line feed) и возврата каретки (Carriage return).

* Символы табуляции (горизонтальной и вертикальной).

* Обработка символа “Backspace”.

* Обработка символа “Form Feed”.

* Команды позиционирования курсора.

Различные типы компьютеров могут по-разному обрабатывать вышеуказанные параметры мониторов. Хорошо спроектированный уровень представления должен уметь сделать эти различия независимыми от самого сетевого приложения. Различные сети используют протоколы виртуального терминала, делающие проблемы совместимости принтеров и мониторов независимыми от сетевых приложений. Работая в такой сети, вы можете послать данные с разделителями CR и LF на виртуальный терминал, и он правильно отобразит ваши данные. Протоколы, решающие такие проблемы, размещаются на сетевом уровне представления. Уровень представления скрывает различия в работе принтеров, мониторов, структуре файлов компьютера, способные повлиять на правильное воспроизведение доставленной пользователю информации. В составе Интернет уровня представления по крайней мере официально не существует. Однако существует протокол Telnet, выполняющий функции виртуального терминала.

Прикладной уровень

Прикладной уровень ведает всеми тонкостями, касающимися взаимодействия пользователя и сетевых приложений. В качестве прикладного программиста вы разрабатываете именно программы прикладного уровня.

Прикладной уровень и уровень представления