Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по сетям передачи данных(для СПО).doc
Скачиваний:
19
Добавлен:
18.07.2019
Размер:
1.03 Mб
Скачать

Коммутация сообщений

Под коммутацией сообщений понимается передача единого блока данных между транзитными компьютерами сети с временной буферизацией этого блока на диске каждого компьютера (рис. 2.23). Сообщение в отличие от пакета имеет произвольную длину, которая определяется не технологическими соображениями, а содержанием информации, составляющей сообщение. Например, сообщением может быть текстовый документ, файл с кодом программы, электронное письмо.

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

По такой схеме обычно передаются сообщения, не требующие немедленного ответа, чаще всего сообщения электронной почты. Режим передачи с промежуточным хранением на диске называется режимом «хранение-и-передача» (store-and-forward).

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

Количество транзитных компьютеров стараются по возможности уменьшить. Если компьютеры подключены к сети с коммутацией пакетов, то число промежуточных компьютеров обычно уменьшается до двух. Например, пользователь передает почтовое сообщение своему серверу исходящей почты, а тот сразу старается передать сообщение серверу входящей почты адресата. Но если компьютеры связаны между собой телефонной сетью, то часто используется несколько промежуточных серверов, так как прямой доступ к конечному серверу может быть невозможен в данный момент из-за перегрузки телефонной сети (абонент занят) или экономически невыгоден из-за высоких тарифов на дальнюю телефонную связь.

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

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

Выводы

В сетях для соединения абонентов используются три метода коммутации: коммутация каналов, коммутация пакетов и коммутация сообщений.

Как коммутация каналов, так и коммутация пакетов может быть либо динамической, либо постоянной.

В сетях с коммутацией каналов абонентов соединяет составной канал, образуемый коммутаторами сети по запросу одного из абонентов.

Для совместного разделения каналов между коммутаторами сети несколькими абонентскими каналами используются две технологии: частотного разделения канала (FDM) и разделения канала во времени (TDM). Частотное разделение характерно для аналоговой модуляции сигналов, а временное - для цифрового кодирования.

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

Сети с коммутацией пакетов были специально разработаны для эффективной передачи пульсирующего компьютерного трафика. Буферизация пакетов разных абонентов в коммутаторах позволяет сгладить неравномерности интенсивности трафика каждого абонента и равномерно загрузить каналы связи между коммутаторами.

Сети с коммутацией пакетов эффективно работают в том отношении, что объем передаваемых данных от всех абонентов сети в единицу времени больше, чем при использовании сети с коммутацией каналов. Однако для каждой пары абонентов пропускная способность сети может оказаться ниже, чем у сети с коммутацией каналов, за счет очередей пакетов в коммутаторах.

Сети с коммутацией пакетов могут работать в одном из двух режимов: дейтаграммном режиме или режиме виртуальных каналов.

Размер пакета существенно влияет на производительность сети. Обычно пакеты в сетях имеют максимальный размер в 1-4 Кбайт.

Коммутация сообщений предназначена для организации взаимодействия пользователей в режиме off-line, когда не ожидается немедленной реакции на сообщение. При этом методе коммутации сообщение передается через несколько транзитных компьютеров, где оно целиком буферизуется на диске.

Организация компьютерной телекоммуникации по телефонным сетям

Общие принципы компьютерной телекоммуникации.

Классификация модемов.

Устройство модемов.

Интерфейсы модемов. Интеллектуальные возможности модемов.

Команды управления модемами (АТ-язык).

Виды протоколов:

Протоколы взаимодействия.

Протоколы модуляции.

Протоколы коррекции ошибок и сжатия данных.

Протоколы передачи файлов.

 Основные функции протоколов передачи файлов

Протоколы передачи файлов.

      Наиболее часто используемой функцией коммуникационного программного обеспечения является функция передачи файлов. Она осуществляется с помощью специальных протоколов передачи файлов.

      Основными задачами протоколов передачи файлов являются:

            обеспечение безошибочной передачи данных;

            управление потоком передаваемых данных;

    передача вспомогательной информации;

            защита соединения.

      Перед непосредственной передачей файла необходимо установить соединение на уровне канала данных (уровень 2 модели OSI), передать информацию о имени файла, его размере, дате последней его модификации и т.п., а после передачи — произвести разъединение канала данных. Все это осуществляется при помощи вспомогательной служебной информации, передаваемой по каналу связи.

      Среди протоколов, рассчитанных на отсутствие аппаратной защиты от ошибок, можно выделить широко распространенные протоколы XModem, XModem-CRC, XModem-1 К, YModem, Kermit, ZModem и ряд других.

      Если же применяются модемы с аппаратной коррекцией ошибок (поддерживающие протоколы типа MNP или V.42), то предпочтительнее использовать протоколы передачи файлов типа YModem-g и ZModem. В этом случае исключается потеря времени на повторный запрос данных, переданных с ошибками. Протокол Zmodem допускает оба варианта применения.

Протокол XModem

      Один из первых протоколов передачи файлов между ПК. Разработан в 1977 году Вардом Христенсеном. Протокол XModem широко использовался в справочных службах, вводился в недорогие связные программы для ПК и фактически стал стандартом для связи между ПК с использовнием модемов.

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

ПЕРЕДАТЧИК

Направление передачи

ПРИЕМНИК

<=====

< NAK >

< SOH > 01 FE <данные> < CS >

=====>

<=====

< ACK >

< SOH > 02 FD <данные> < CS >

=====>

(помеха в канале связи)

<=====

< NAK >

< SOH > 02 FD <данные> < CS >

=====>

<=====

< ACK >

< SOH > 03 FC <данные> < CS > (знак ACK искажен)

=====>

<=====

< ACK >

< SOH > 03 FC <данные> < CS >

=====>

<=====

< ACK >

< EOT >

=====>

<=====

любой знак кроме < ACK >

< EOT >

=====>

<=====

< ACK >

Передача файла завершена

      Передающий ПК начинает передачу файла только после приема от принимающего ПК знака NAK (Negative AcKnowledge). Принимающий ПК передает этот знак до тех пор, пока не начнется передача файла. Если передано девять знаков NAK, а передача файла не началась, то процесс должен быть возобновлен вручную.

      После приема знака NAK передающий ПК посылает знак начала блока SON (Start Of Header), два номера блока (сам номер и его двоичное дополнение по "единицам"), блок данных из 128 байт и контрольную сумму CS (Check Sum). Блоки нумеруются по модулю 256. Контрольная сумма (1 байт) представляет собой остаток от деления на 255 суммы значений кодов знаков, входящих в блок данных.

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

      Для исключения повторной передачи одного и того же блока из-за потери подтверждающего сообщения в протоколе используется двукратная передача номера. Принимающий ПК контролирует неповторяемость принятого блока, и если блок ошибочно передан повторно, то он сбрасывается. После успешной передачи всех данных передающий ПК посылает знак завершения EOT (End Of Transmission), сообщающий об окончании передачи файла.

      Перерыв в передаче блока свыше 1 с считается разрывом связи.

      Преимуществами данного протокола по сравнению с другими являются:

            его доступность для разработчиков программных средств;

            простота реализации на языках высокого уровня;

            малый объем приемного буфера (256 байт);

            возможность передачи не только символьных (коды ASCII), но и исполняемых файлов (с расширением .COM и .EXE).

      Последнее возможно вследствиё того, что конец файла определяется подсчетом переданных байтов и вместо знака файлового маркера (Ctrl-Z) используется специальный сигнал завершения. Эффективность обнаружения ошибок данным протоколом составляет 99,6% - выше, чем при обычной асинхронной проверке четности (95%).

      К основным недостаткам этого протокола можно отнести:

            низкое быстродействие;

            большая вероятность необнаруженных ошибок;

            необходимость задания имени файла при приеме;

            относительно большой объем передаваемой служебной информации.

      Последующие модифакации протокола XModem были направлены на устранение этих и некоторых других его недостанков.

     

Протокол YModem

      Протокол YModem - это протокол XModem-CRC, в котором реализована групповая передача файлов. Его появление было вызвано необходимостью устранения недостатков протокола XModem.

      Все программы, реализующие протокол YModem, должны выполнять следующие функции:

            передачу имени и пути файла в блоке 0 в виде строки знаков кода ASCII, завершающейся знаком "нуль";

            их использование на приемном конце файла в качестве имени и пути принятого файла, если иная реализация не оговорена специально;

            применение проверки CRC-16 при приеме знаков С, в противном случае - использование 8-битовой контрольной суммы;

            прием любой комбинации из 128- и 1024-байтовых блоков внутри каждого принимаего файла; возможность переключения длины блоков в конце файла (файлов) и/или в случае частых повторных передач;

            исключение изменения длины неподтвержденного блока на передающем конце канала;

            передачу в конце каждого файла знака EOT до десяти раз, пока не будет принят знак ACK (часть спецификации протокола XModem);

            обозначение конца сеанса связи нулевым (пустым) именем пути.

      Протокол YModem поддерживается большинством связных программ общего пользования.

     

Протокол ZModem

      Этот протокол, введенный в большинство связных программ, получил сейчас самое широкое применение. Представляя собой фактически развитие протоколов XModem и YModem, протокол ZModem устраняет их недостатки и, будучи совместимым с ними, имеет ряд преимуществ:

            высокое быстродействие благодаря использованию "оконного" алгоритма;

            динамическая адаптация к качеству канала связи посредством изменения в широких пределах размера блока;

            защита управляющей информации, доступа к передаче и защита от имитации управляющих сигналов;

            возможность возобновления прерванной передачи файла с того места, на котором произошло прерывание;

            повышенная достоверность передачи благодаря использованию 32-разрядной проверочной комбинации;

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

Передача файлов (текстовых и бинарных) - функция, которую наиболее часто применяют пользователи модемов для телефонных каналов. Она осуществляется с помощью протоколов передачи файлов, реализуемых в составе связных программ для модемов.

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

Для этого передаваемые данные разбиваются на блоки (кадры) определенной длины, и в каждый из них включается проверочная комбинация кода, обнаруживающая ошибки. Эта комбинация формируется по определенному правилу (контрольная сумма, алгоритм циклического кода) на базе передаваемых информационных битов блока. На приемном конце канала производится повторное определение проверочной комбинации по аналогичному правилу и сравнение ее кодов с принятой проверочной комбинацией. При совпадении кодов принимающая сторона посылает подтверждение правильного приема блока ("ack" - acknowledgement), а при их несовпадении - запрос на повторную передачу данного блока либо отрицательное извещение ("nak" - nagative acknowledgement).

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

Кроме того, протоколы передачи файлов обеспечивают передачу вспомогательной информации. Это кодовые последовательности, управляющие установлением соединения и разъединением на уровне канала данных; сведения, включющие имя и дату создания файла или последней его модификации, размер файла и т.п.). Некоторые разновидности протоколов позволяют в одном сеансе передавать не один файл, а группу файлов (batch transmission).

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

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

Среди протоколов, рассчитанных на отсутствие защиты от ошибок в модеме или связной программе, наиболее широко используются XModem, XModem-CRC, XModem-lk, YModem, ZModem, Kermit.

Если же защита от ошибок реализована, то используются протоколы, исключающие потери времени на повторный запрос блоков, принятых с ошибками. К таким протоколам можно отнести, например, YModem-g и ZModem. Протокол ZModem допускает оба варианта применения.

Распространены специализированные протоколы, предназначенные для определенных служб и сетей, - такие, как SEALink, Telnet, Compuserve Quick B.