Протоколы нижних уровней

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

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

Информация о том, что произошел сбой канала, получается только на приемном конце (на передающем может только «за­киснуть» обмен, что обнаруживается при помощи тайм-аутов). Основная трудность заключается в том, что после обнаруже­ния сбоя на приемном конце трудно решить, являются ли при­нятые биты заголовком следующего сообщения или концом ошибочного сообщения. Было принято следующее решение: сто­рона, обнаружившая сбой, посылает служебное сообщение «за­прос на чистку», после чего ожидает прием служебного сооб­щения «чистка» фиксированной длины. Приходящие до этого служебного сообщения «чистка» другие сообщения отвергают­ся. После приема такого сообщения продолжается обычный прием сообщений.

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

Метки: , ,

Связанные записи