1
2
Кафедра: «Автоматика и информационные технологии»
Лабораторная работа
"ИССЛЕДОВАНИЕ КАНАЛЬНЫХ ПРОТОКОЛОВ С ОБРАТНОЙ СВЯЗЬЮ"
Введение
Уровневая архитектура и принцип функциональной модульности - основа построения современных сложных технических систем. Организация системы с разбиением ее на иерархически подчиненные функциональные уровни, каждый из которых не обязан знать детали внутреннего устройства других уровней, представляя их себе в виде «черного ящика» с известными лишь входными и выходными сигналами, зарекомендовала себя в мировой практике как рациональная и облегчающая процесс проектирования, реализации и эксплуатации систем. Известно, что применительно к сетям передачи данных, этот принцип получил статус международного стандарта, краеугольным камнем которого является «Эталонная модель взаимодействия открытых систем» (ЭМ_ВОС, OSI - Open Systems Interconnection) (стандарт ISO_7498, 1978 г.; стандарт МККТТ (ITU-T) Х.200)
1. Предмет и задачи исследования
Предметом исследования в данной лабораторной работе являются протоколы 2-го, канального уровня OSI_модели, которые оперирует кадрами. От верхних функциональных уровней стороны_отправителя на канальный уровень поступает сообщение, представляющее собой «пакет данных» источника, который подвергается кадрированию. Стандартная структура кадра - это заголовок, собственно данные и концевик. Концевик канального уровня, как правило, представляет собой контрольные биты CRC циклического кода (Cyclic Redundancy Check).
На приемной стороне канальный уровень разбирает кадр и передает на более высокий уровень только само сообщение Терминология, вытекающая из OSI-модели, структурно не очень проста и не всегда тщательно соблюдается на практике. Поскольку целью передачи являются пакеты данных, их, обычно, и имеют в виду в какие бы кадры на разных этапах в процессе преобразований они ни облекались. Несмотря на то, что при исследовании протоколов корректнее пользоваться термином «кадр j-уровня», в ряде случаев приходится употреблять термин «пакет данных» (см. ниже, например, пользовательский интерфейс модели)..
Задачей исследования является изучение протоколов как таковых, оценка их эффективности использования в каналах с различными техническими характеристиками, сопоставление оценок и формулирование условий рационального применения тех или иных версий канальных протоколов.
На эффективность влияет множество факторов. Чтобы их учесть, оценивая работу того или иного протокола в различных условиях реальной сети, нужно затратить много времени. Кроме того, нужно располагать инструментарием для проведения длительных экспериментов, не говоря уже об административном доступе к каналам для этих целей. Этот способ исследования наиболее затратный и трудоемкий. Помочь в решении этой задачи может только компьютерное моделирование.
2. Два подхода к организации каналов в сетевых системах передачи
Первая стратегия характерна для систем с так называемым предварительным установлением соединения, когда между двумя корреспондирующими устройствами устанавливается (и поддерживается в течение сеанса обмена данными) постоянный тракт (преобразований сигналов и его продвижения в направлении к получателю), а все кадры в одной сессии обмена проходят в сети по этому тракту по одному маршруту последовательно друг за другом. В этой же естественной последовательности они оказываются и у получателя. При этом стандартные протоколы канального уровня, как правило, используют помехоустойчивое кодирование для обнаружения ошибок в кадре. Естественно, что задача состоит не только в обнаружении ошибок, но и в выполнении необходимых действий для ее нейтрализации. После обнаружения ошибок на приемной стороне может быть, по крайней мере, два варианта дальнейших протокольных действий:
1). Либо как-то дать знать об этом передающей стороне, тем самым инициировав повторную передачу кадра (как принято говорить, «обработав ошибку» на канальном уровне);
2). Либо пропустить кадр с ошибкой на более высокий уровень, предварительно «пометив» его. В этом случае обязанность обработать ошибку должен принять на себя более высокий уровень системы.
При этом, из-за возможных повторных (быть может, многократных) передач искаженных кадров, время доставки кадра, вообще говоря, становится величиной случайной. Протоколы данного класса, когда приемная сторона сообщает передающей, что видит ошибки в поступившем кадре, называются протоколами с решающей обратной связью (решение о верности кадра возлагается на приемную сторону).
Вторая стратегия свойственна так называемому дэйтаграммному режиму работы системы передачи данных, когда предварительное соединение корреспондентов не устанавливается, а передатчик отправляет кадры в сеть, не сообразуясь с ситуацией у получателя (свободен, занят, работоспособен или нет) и в системе в целом. При этом разные дэйтаграммы Дэйтаграмма (от английского datagram) - тот же кадр и пакет данных, который, однако, преодолевает сеть совсем иначе, под управлением других протоколов могут идти разными маршрутами, с разной временной задержкой в сети. Прядок поступления дэйтаграмм к получателю становится случайным («раньше отправлена - позже поступила»). Собрать все дэйтаграммы в одно упорядоченное целое является задачей 4_го, транспортного уровня стороны_получателя. В таком режиме канальный уровень не отвечает за организацию обратной связи и вообще за обеспечение верности кадра Обратную связь в этом случае организует транспортный уровень приемной стороны. Таков, например широко используемы протокол ТСР (его неизменный спутник - протокол IP занимается передачей дэйтаграмм)..
3. Протоколы канального уровня
На протокол канального уровня, обычно, возлагаются функции перемещения пакета данных в точку расположения приемника и обеспечения его верности. Можно отметить, что канальный уровень не является единственным, который несет ответственность за верность переданного пакета данных. На практике все уровни OSI_модели вплоть до прикладного в той или иной мере занимаются обеспечением верности данных своими средствами.
Другой группой функций канального уровня эталонной модели является управление доступом к среде в «многоточечных» соединениях Эти функции являются отдельной темой и не рассматриваются в данной лабораторной работе. Однако стоит отметить, что их выделяют в отдельный подуровень (УДС) канального уровня, а протоколы, рассматриваемые в лабораторной работе, относят к подуровню «управления линией передачи данных» (УЛПД). Протоколы канального уровня могут быть расклассифицированы следующим образом.
1). Протоколы многократной передачи, т.е. многократного повторения одного и того же кадра стороной_отправителем с мажоритарной системой (по принципу голосования) принятия решения о наличии ошибок на стороне получателя. Дополнительно они могут быть разделены на протоколы с голосованием по поводу каждого бита или по поводу каждого кадра (кодового слова) в целом. Эти протоколы не требуют обязательного использования сигнальной избыточности в форме помехоустойчивого кодирования.
2). Протоколы с использованием однократной передачи кадра, закодированного помехоустойчивым кодом, с прямым исправлением ошибок средствами декодера приемного пункта.
3). Протоколы с обратной связью. Различают решающую и информационную обратную связь. В протоколах с решающей обратной связью (РОС) используются кодированные сигналы, позволяющие обнаруживать ошибки средствами декодера на приемной стороне. В случае обнаружения ошибок передающему модулю по обратному каналу передается запрос на повторную передачу кадра. Это важнейший протокольный акт в деле «продвижения кадра» в сторону получателя и обеспечения верности приема этого кадра. Протоколы с РОС называют также протоколами ARQ (Automatic Repeat Request - автоматический запрос на повторение).
4). Четвертый метод называется протоколом с информационной обратной связью (ИОС), или с «эхо-сигналом». Согласно этому методу, передающий модуль сохраняет копию передаваемого пакета в своем буфере. Принимающий модуль помещает полученный кадр в буфер приемника и транслирует его обратно отправителю, который сравнивает полученный им обратно кадр с кадром, хранящимся в буфере передачи. Если кадры совпадают, то считается, что пакет, содержащийся в буфере приемника, не содержит ошибок. Протоколы ИОС не обязательно должны использовать помехоустойчивое кодирование для обеспечения верности, так как ответственность за верность лежит на передающей стороне, которая располагает достоверным знанием о передаваемых данных.
Естественно, что применение метода многократной передачи не исключает в принципе попутного использования и механизма обратных связей, но такие версии протокола, обычно, малоэффективны и не находят сколько-нибудь широкого применения.
В обоих подходах (с обратными связями и без них) протокол канального уровня, стремясь обнаружить и (или) исправить ошибки, требует внесения, кроме сигнальной (битовой) избыточности (при помехоустойчивом кодировании), еще и протокольной избыточности Назовем неизбыточным протокол, который сводится к однократной передаче сигнала в одном направлении..
В данной лабораторной работе исследуются варианты протоколов с обратной связью. Они должны быть рассмотрены здесь более подробно.
3.1 Канальные протоколы ARQ (РОС)
При рассмотрении протоколов ARQ будем полагать, что пакеты данных передаются от станции-отправителя A к станции-получателю B. Между этими пунктами существуют два канала - прямой AB и обратный AB. Кадры данных (AB) и технологические (AB) защищаются избыточным циклическим кодированием (CRC). На обеих сторонах производится обнаружение ошибок в пакетах.
3.1.1 ARQ с остановкой и ожиданием (SAW - Stay And Wait)
Самая простая версия протокола с повторной передачей называется протоколом с остановкой и ожиданием. Основная идея протокола состоит в том, что передающий модуль, отправив кадр, останавливается и ожидает реакции приемной стороны. Передатчик не отправит следующий пакет данных (кадр) до тех пар, пока в той или иной форме не состоится подтверждение верности. Используется термин «извещение», или «квитанция» ACK (acknowledge), если ошибки не зафиксированы или NAK (negative acknowledge), если кадр принят с ошибками.
Этот протокол требует минимального объема буферной памяти: для одного пакета на стороне передатчика A и для пакета на стороне приемника B.
Существенную роль играет тайм-аут Тож, точнее сказать, те протокольные действия, которые предпринимаются в случае отсутствия реакции приемной стороны в течение расчетного времени. Типичное решение заключается в том, что по истечении тайм-аута ситуация приравнивается к поступлению NAK. Такое решение приемлемо, если время доставки пакетов в канале (в сети) - величина постоянная.
Протокол может повести себя некорректно, если пакеты данных или сообщения ACK/NAK задерживаются в каналах на случайное время. Как сам кадр, так и ACK или NAK могут быть потеряны. Такая потеря может произойти в результате сбоя, нештатной ситуации или просто длительного ожидания в очереди на обслуживание в памяти какого-либо коммутационного узла в разветвленной сети с маршрутизаторами. Если по истечении тайм-аута ситуация приравнивается к поступлению NAK, то повторная передача пакета данных может привести к дублированию пакета данных на приемной стороне. В поток пакетов происходит «вставка пакета», т.е. своеобразное искажение передаваемых данных.
Эти явления - следствие обезличенности сообщений ACK и NAK.
3.1.2 ARQ с возвратом на n шагов назад (GBn - Go Back n)
Для предупреждения подобных ситуаций должна использоваться нумерация пакетов. Вместе с каждым кадром передается уникальный порядковый номер (ПН) содержащегося в нем пакета. Нумерация (идентификация) пакетов в протокольном отношении оказывается непростой задачей. Простая, бесхитростная возрастающая (или убывающая) нумерация в потоке кадров оказывается неприемлемой. См., например, [1]. Станция-получатель B хранит номер последнего пакета, поступившего без ошибок и аннулирует все вновь поступающие кадры, если ранее она их уже получила без ошибок, т.е. игнорирует дубликаты.
Протокол отправляет очередные кадры данных сразу вслед за первым, не дожидаясь, пока придет подтверждение в надежде, что «все обойдется», ведь вероятность получить кадр с ошибками, обычно, меньше, чем без ошибок. Станция-отправитель производит посылку серии из n кадров, считая от последнего пакета, получившего подтверждение верности. Все посланные, но не подтвержденные кадры должны оставаться в буфере передатчика с тем, чтобы быть извлеченными для цели повторной передачи, если придет отрицательное подтверждение (или быть удаленными, если подтверждение будет положительным).
Естественно, как и прежде, сторона_получатель должна тем или иным способом подтвердить верность всех пакетов потока. По-прежнему, если подтверждение на какой-либо кадр отрицательно, кадр должен быть повторно передан.
Существует две стратегии повтора:
а) повторить группу кадров, начиная с того, на который не поступило сообщение ACK;
б) повторить выборочно только те кадры из последовательности длиной n, в которых декодером были обнаружены ошибки.
Протокол ARQ с возвратом на n шагов назад является примером протокола, в котором используется метод непрерывной передачи с обработкой ошибочной передачи кадра по варианту (а), «с возвратом».
Использование обратного канала исключительно для посылки подтверждений - это частный случай. Более общий случай заключается в том, что данные между пунктами А и В передаются (или могут передаваться) в обоих направлениях. Тогда по обратному каналу Понятия «прямой» и «обратный канал» получают уже только протокольный смысл. Один и тот же физический тракт выступает то в роли прямого, то обратного канала. также идет и поток пакетов данных от станции B к A. В этом случае нумерованное подтверждение посылается в специально выделенном битовом поле заголовка пакетов данных обратного направления (а не в форме специализированного кадра).
Сообщение о верности пакета приобретает новый смысл: любой из корреспондирующих пунктов (А и В), отправляя пакет данных, в заголовке кадра указывает номер пакета (НП) и номер ожидаемого пакета данных от противоположной стороны (не очень удачно называемый в стандартах «номером запроса» - НЗ). Нумерация пакетов в сеансе должна начинаться с нуля. Номер запроса - это свидетельство для удаленной стороны, что все пакеты с меньшими номерами успешно достигли пункта назначения (ошибки в них не зафиксированы). Если передающая сторона к моменту получения НЗ не исчерпала регламент на передачу подряд n пакетов, то она должна перенести начало отсчета регламента на точку (НЗ_1) в потоке отправляемых пакетов и тем самым снова приобрести возможность передавать без подтверждения еще n пакетов подряд. Если к моменту получения НЗ передающая сторона исчерпала регламент, то протокол должен будет для повторной передачи пакетов совершить «откат назад», но на величину не более n пакетов. Так возникает понятие «скользящего окна из n пакетов», а протоколы ARQ в такой реализации называют протоколами ARQ со скользящим окном пакетов.
Если интенсивность искажения пакетов мала, то число безостановочно передаваемых пакетов может быть весьма большим. Эффективность использования пропускной способности каналов с таким протоколом может быть весьма высокой.
Отправленные, но еще неподтвержденные пакеты, остаются в буферной памяти станции-отправителя. Протокол ARQ с возвратом на n шагов назад требует буферной памяти не менее, чем на n пакетов на стороне отправителя A и на один пакет на стороне получателя B. Вспомним только, что каждый из пунктов может выступать в роли как отправителя, так и получателя данных.
Можно заметить также, что протокол с остановкой и ожиданием похож на протокол с возвратом на 1 шаг назад, т.е. является частным вырожденным случаем рассматриваемого протокола, но с другой формой подтверждения верности (ACK и NAK).
Теперь отметим, что требуемый номер (как пакета, так и подтверждения) при работе с окном из n пакетов может принадлежать ограниченному множеству чисел {0, 1, 2… (n_1)}. На языке математики это может быть охарактеризовано как нумерация по mod m, причем m>n. Минимальный допустимый модуль равен n+1.
3.1.3 ARQ с выборочным повтором (SR - Selective Repeat)
Протокол ARQ с выборочным повтором также использует метод непрерывной передачи с окном на n кадров, но обработка ошибочной передачи происходит по стратегии (б) (см. выше).
Протокол ориентирован на дэйтаграммный режим, который не гарантирует поступления пакетов на приемный пункт в той же последовательности, в которой они отправлены передающим модулем. В этих условиях протокол с выборочным повтором избегает излишних повторных передач, но в этом протоколе не могут применяться нумерованные подтверждения в виде НЗ, т. к. номер запроса служит групповым подтверждением для пакетов с номерами, меньшими текущего НЗ. В протоколе же с выборочным повтором каждое подтверждение должно быть строго индивидуально сопоставлено своему пакету. Пакеты должны нумероваться по модулю, но модуль m должен здесь выбираться, исходя из условия m>2n.
Для работы протокола как на передающей, так и на приемной стороне необходима буферная память не менее, чем на n пакетов. Буфер на приемной стороне необходим, т. к. пакеты, которые поступают к ней в случайной последовательности, могут быть предъявлены получателю (как нечто цельное) не раньше, чем будут приняты безошибочными все пакеты из n (включая и повторно присланные) и все пакеты будут упорядочены в памяти приемного пункта. Такая сортировка пакетов необходима, т. к. в общем случае набор пакетов составляет единое целое, и предъявление данных получателю с переставленными пакетами недопустимо.
Вышесказанное относится к простейшему протоколу с автоматическим запросом на повторение.
4.2 Эффективность протоколов ARQ-GBn
Более сложны рассуждения для протокола с возвратом на n шагов назад. Его эффективность будет зависеть еще и от параметра n.
Допустим, ошибок в кадрах не происходит. Пусть также окно достаточно широкое, а время задержки достаточно мало:
2Tз<nTпк (6)
Допустим, что первое ответное подтверждение успеет прийти до того, как будет передан последний n-й кадр окна. Окно будет непрерывно скользить, а передатчик ни разу не возвратится назад для повторной передачи, т. к. все кадры будут своевременно подтверждены. В этом случае, если пренебречь временем обработки кадров на сторонах канала, эффективность равна 100%.
Если по каким-либо причинам неравенство (6) не выполняется (окно мало, либо слишком велика задержка распространения, либо передается слишком много бит в единицу времени), то даже при отсутствии ошибок в кадрах придется производить повторную передачу вследствие того, что подтверждения опаздывают.
Наличие ошибок в кадрах прямого направления вызывает возвращение назад и повторную передачу до n добавочных кадров для каждого ошибочного кадра. Например, даже при выполнении неравенства (6) эффективность уже не будет 100%-ной. Если всего надо передать N кадров, а среди них искажаются в среднем NPк кадров, то
. (7)
Как было отмечено выше, источником неэффективности протокола с возвратом на n шагов назад также могут быть наличие ошибок в обратном канале и длинные кадры обратного направления. Иногда потери эффективности из-за этих причин могут быть уменьшены путем выбора большей ширины окна n.
4.3 Эффективность протокола ARQ-SR
Как говорилось ранее, протокол с выборочным повтором отличается от протокола с возвратом на n шагов назад стратегией обработки ошибок в кадрах. Поэтому при отсутствии ошибок его эффективность зависит от тех же факторов.
Более действенно работает протокол с выборочным повтором при наличии ошибок, т. к. в этом случае повторно передаются только искаженные пакеты. Теоретически, при выборочном повторе может быть достигнута предельно возможная эффективность в условиях присутствия ошибок, равная U = 1_Pк.
4.4 Эффективность протоколов ИОС
Рассмотрим кратко вопрос об эффективности протоколов с информационной обратной связью. Напомним, что при протоколе с ретрансляцией всего пакета каждый пакет вынужден передаваться не менее, чем дважды: один раз по прямому каналу и один раз по обратному. Поэтому его эффективность, как правило, меньше 50%. Для протокола с ретрансляцией CRC значение U будет определяться используемым циклическим кодом. Эффективность точно меньше 50%, если пункт-получатель начинает ретрансляцию пакета данных по обратному каналу не раньше, чем запишет в буферную память последний бит из прямого канала. Зависит от технической реализации, но возможны варианты протокола, в которых ретрансляция начинается вскоре после записи в буфер первых бит пакета. А вот передача CRC по обратному каналу не может начаться раньше окончания приема кадра по прямому. Вообще говоря, эффективность протоколов с ИОС будет тоже определяться стратегией работы передатчика: останавливается тот или нет после посылки первого кадра, ожидая эхо-сигнала, который здесь выступает как аналог подтверждения. Характер зависимости эффективности от этих факторов аналогичен протоколам с РОС.
Приведенные формулы для величины U не отражают всей полноты протокольных нюансов и призваны лишь пояснить понятие эффективности. Более тщательный подход к делу должен учитывать ненулевые времена обработки кадров и извещений, нужно принимать во внимание то, что кадры могут иметь переменную длину, брать в расчет наличие тайм-аутов, а также возможность появления ошибок пачками и др.
Альтернативой использованию формул является моделирование передачи данных под управлением тех или иных протоколов в интересующих нас условиях.
Добавим, что общая оценка того или иного протокола канального уровня не должна ограничиваться лишь оценкой его эффективности. Важное место при этом занимает также вопрос, насколько помехоустойчив метод кодирования / декодирования. Если высокоэффективный в смысле величины U протокол использует для кодирования пакетов код со слабой помехоустойчивостью, то много ошибок не будет замечено и получателю будут переданы недостоверные данные.
Имеет смысл говорить об обеспечении эффективности U при обеспечении помехоустойчивости не менее заданной.
5.2 Функциональная схема пользовательского интерфейса
Функциональная схема интерфейса с пользователем приведена на рис. 2.
После запуска программы на экране появляется главное окно программы. В верхней части окна находится Главное меню программы. Под главным меню расположена Панель управления, которая для удобства работы с программой содержит кнопки быстрого вызова операций. Под Панелью управления расположена Область просмотра результатов моделирования. Внизу главного окна расположена Панель состояния модели (подсказок).
Главное меню содержит следующие пункты:
Файл
Параметризация
Моделирование
Позиция Файл главного меню содержит следующие пункты:
Создать - очистить область просмотра главного окна и параметры моделирования, приготовив их для ввода спецификаций входных данных.
Открыть - открыть текстовый файл для просмотра в главном окне программы. Предназначен для просмотра сохраненных результатов предыдущих прогонов модели.
Рис. 2. Функциональная схема пользовательского интерфейса
Сохранить - сохранить результаты моделирования в текстовом файле.
Сохранить как… - сохранить результаты моделирования в файле с другим именем.
Печать - вывести результаты моделирования (содержимое области просмотра) на принтер.
Выход - выход из программы.
При выборе пункта Параметризация появляется диалоговое окно задания параметров модели.
Позиция Моделирование главного меню содержит два пункта:
Начать моделирование;
Результаты моделирования;
Выбор пункта Начать моделирование запускает процесс моделирования передачи данных. При этом появляется окно с индикатором хода (процента выполнения) процесса моделирования. При нажатии на кнопку Отмена система просит подтвердить прекращение процесса моделирования. При завершении или прекращении моделирования в главное окно программы выводятся результаты моделирования.
Выбор пункта Результаты моделирования приводит к выводу в главное окно программы результатов последнего моделирования (Это могут быть и результаты предшествующих прогонов модели, если загрузить файл результатов другого процесса).
Позиция «?» главного меню содержит пункт О программе, при выборе которой выводится информация о программе.
Под главным меню расположена Панель управления, которая для удобства работы с программой содержит следующие кнопки:
Создать (Очистить от старого и создать)
Открыть…
Сохранить
Сохранить как…
Параметризация модели
Начать моделирование
5.3 Параметризация модели
При выборе пункта Параметризация появляется диалоговое окно задания параметров модели. Это окно содержит две закладки: Протокол и Канал, которые предназначены для ввода параметров протокола и каналов (прямого и обратного).
5.3.1 Параметризация протокола
При выборе закладки Протокол появляется окно, показанное на рис. 2. В данном окне задаются следующие параметры протокола.
1). Тип моделируемого протокола:
ARQ с остановкой и ожиданием;
ARQ c окном на N пакетов;
ARQ c выборочным переспросом;
«Эхо» с ретрансляцией кадра;
«Эхо» с ретрансляцией CRC;
2). Порождающий полином циклического кода:
CRC_12, CRC_16, CCITT_16, CRC_32. Цифра в обозначении многочлена означает старшую степень многочлена. Конкретная структура многочлена в данной работе не имеет значения.
Каждый кадр (как прямой, так и обратный) имеет битовое поле CRC с размером, равным степени порождающего полинома, и поле информационных бит. И в прямом, и в обратном кадрах информационная часть несет собственно данные, которые передаются (в обратном кадре информационные биты пустые). Порядковые номера кадров и подтверждений, хотя передаются вместе с кадром, не занимают места в его длине, т. к. находятся в заголовке.
Рис. 2. Окно параметризации протокола
3). Тайм-аут на подтверждение пакета и время, затрачиваемое на обработку кадров (в том числе на кодирование и декодирование). Таймер начинает отсчет с момента окончания передачи кадра. Одна и та же величина тайм-аута действует как для станции - отправителя, так и получателя.
Т.к. модель не учитывает возможную потерю кадров в сети, то механизм тайм-аута отсутствует в протоколах без окна Значение тайм-аута в этом случае может быть любое, даже нулевое. В протоколах с окном тайм-аут может иметь (по умолчанию) нулевое значение, что допустимо, но нежелательно.
Время в модели измеряется в BT (bit-time). Один ВТ соответствует времени передачи одного бита в прямом канале. BT при необходимости может быть выражена в секундах, если названа пропускная способность (скорость) канала (бит/с). Тайм-аут задается от момента окончания передачи пакета.
4). Задается допустимое количество попыток передачи одного пакета. При превышении этого числа моделирование прекращается. Если это число задается равным нулю, то учет количества попыток передачи не производится.
5). Для протоколов ARQ с окном на N пакетов и ARQ с выборочным переспросом необходимо задать значение модуля нумерации пакетов. В зависимости от модуля нумерации и типа протокола модель вычисляет «ширину окна». Выбор модуля нумерации следует связывать со скорости передачи данных и задержки распространения сигнала в линии. Для протоколов ARQ с остановкой и ожиданием и протоколов с эхо-сигналом модуль нумерации пакетов принимается равным двум.
6). Длины кадров отдельно в прямом и обратном каналах. В этом же окне задается объем передаваемых данных (длина файла, который рассматривается как пользовательское сообщение).
При задании длин кадров и объема передаваемых данных имеется возможность выбора единицы измерения. Длина кадров прямого направления может быть постоянной или переменной. Можно выбрать кадры данных постоянной или переменной длины. При задании постоянной длины кадра указывается непосредственно эта длина. При задании переменной длины кадра указывается максимальная и минимальная длина. Длина кадра данных не может быть выбрана меньше длины CRC и больше, чем 2L-1, где L - степень многочлена порождающего кода. Длина кадра подтверждения считается постоянной и подчиняется тем же ограничениям. В последнем случае при моделировании генерируются кадры с длиной, равномерно распределенной в интервале от минимальной заданной до максимальной. Длина кадров в обратном направлении может быть только постоянной.
ВНИМАНИЕ: длины кадров прямого и обратного потока определяются по разным правилам. В поле с названием «Длина пакета данных» диалогового окна нужно ввести полную длину кадра прямого направления, включая контрольные биты. В поле «Длина пакета подтверждения» ожидается ввод длины только информационной части кадра подтверждения, не считая контрольных бит. Например, если в первом поле введено 32, а во втором 2 и используется код CRC_16, то прямые кадры будут иметь общую длину 32 бита, из которых 16 контрольные, а обратные кадры будут иметь длину 18 бит, из которых 16 контрольные, а 2 информационные.
Для протоколов с эхо-сигналом поле длины обратного кадра не играет роли, т.к. длины обратных кадров определяются длинами прямых.
5.3.2 Параметризация каналов
При выборе закладки Канал появляется окно задания параметров прямого и обратного каналов. Для каждого канала можно задавать следующие параметры:
1). Скорость передачи (в бит/c и кратных величинах). При моделировании считается, что 1 Кбит/с=1024 бит/с; 1 Мбит/с=1024 Кбит/с. Скорость обратного канала не должна быть больше, чем скорость прямого. Если она меньше, то в целое число раз.
2). Задержка распространения сигнала в канале (и, следовательно, неявно заданная длина);
3). Характер ошибок: независимые или ошибки типа «пачка».
При моделировании работы каналов с независимыми ошибками В окне интерфейса они названы «одиночными» (в противовес «пачкам»), что не совсем корректно. задается рб - вероятность ошибки в принятом бите на физическом уровне. При моделировании работы каналов с группированием ошибок задается вероятность появления пачки ошибок рпач, а также математическое ожидание и дисперсия длины пачки (длина пачки - случайная величина с нормальным распределением).
5.4 Моделирование
Меню Моделирование содержит два пункта:
Начать моделирование - запуск процесса моделирования;
Результаты моделирования - отображение результатов в области просмотра.
Результаты моделирования и их интерпретация
После окончания моделирования на экран выводится (для справки) сводка входных параметров данного запуска модели, а затем как результаты отображаются следующие статистические данные, накопленные в процессе моделирования:
Общее время передачи (в единицах BT и в секундах), засекается начиная с момента начала передачи первого пакета станцией-отправителем, вплоть до момента приема последнего пакета станцией-получателем;
Размер переданного файла - общий объем данных, предназначавшихся к передаче и поступивших от вышестоящего уровня (в байтах). Каждый отправляемый в процессе передачи кадр прямого направления несет в своем информационном поле порцию бит из общего объема.
Результирующие данные у стороны-отправителя:
«отправлено бит» - общее число отправленных в кадрах бит (в полном объеме, считая биты CRC);
«отправлено пакетов» - общее количество отправленных кадров, которые пришлось послать для передачи общего числа бит, включая повторные кадры;
«отправлено пакетов данных» - количество кадров, которые пришлось послать для передачи общего числа бит, не считая повторные кадры, т.е. число уникальных (не повторных, «полезных») отправленных кадров;
«получено пакетов с ошибками» - количество кадров, при передаче которых через линию в них возникли ошибки;
«обнаружено пакетов с ошибками» - количество кадров, в которых возникновение ошибок было обнаружено декодером приемной стороны; Поскольку моделирующая программа сама генерирует вектор ошибки, то она знает точно, случилась ошибка в отдельном кадре или нет, и может подсчитать, сколько всего кадров подверглось искажению при “прохождении через линию”. На самом деле реальный функционирующий модуль канального уровня системы передачи данных “узнает” о возникновении ошибки только по факту ее обнаружения декодером. Незамеченная им ошибка, по сути, на канальном уровне ошибкой не считается: протокол ее «не видит».
«суммарный вес ошибок» - общее число искаженных бит.
Результирующие данные у стороны-получателя, которые интерпретируются аналогичным образом.
Пример выходных данных моделирования. Размерность и обозначения величин
Спецификации протокола
Lкд Длина кадра, бит 2000
Lаск Длина кадра подтверждения, бит 16
Tout Значение тайм-аута, ВТ 2400
Tкод Время на кодирование кадра, ВТ 0
Порождающий полином CRC_16
m Модуль нумерации кадров 7
Bm Ширина окна 6
Прямой канал
Cпк Скорость передачи, бит/c 65536
Тзп,пк Запаздывание сигнала, с 0,00075
рб,пк Вероятность возникновения ошибки 0,001
рпач,пк Вероятность возникновения пачки ошибок
Lпач,пк Мат. ожидание длины пачки, бит
Dпач,пк Дисперсия длины пачки, бит
Обратный канал
Сок Скорость передачи, бит/c 65536
Тзп,ок Запаздывание сигнала, с 0,00075
рб,ок Вероятность возникновения ошибки 0,001
рпач,ок Вероятность возникновения пачки ошибок
L< /i>пач,ок Мат. ожидание длины пачки, бит
Dпач,ок Дисперсия длины пачки, бит
Тмдл Время моделирования, ВТ 34466114
Тпрд,ф Время передачи, сек 525,90
Мф Размер переданного файла, байт 512000
Отправитель (А)
Отправлено
Nб,пк Бит 34466000
Nк,пк Кадров 17233
Nкд,пк Кадров данных 2065
Получено
Nк,ош,окКадров c ошибками 288
Nк,оош,окОбнаружено кадров c ошибками 288
Еw,ок Суммарный вес ошибок 290
Получатель (В)
Отправлено
Nб,ок Бит 275728
Nк,ок Кадров 17233
Nкд,ок Кадров данных 0
Получено
Nк,ош,пкКадров c ошибками 14879
Nк,оош,пкОбнаружено кадров c ошибками 14879
Еw,пк Суммарный вес ошибок 34539
Эти данные могут быть использованы, для вычисления показателя эффективности протокола в тех или иных условиях применения, а также другие показатели, требуемые конкретным заданием.
6. Программа лабораторных работ
Модель протокола может быть применена для исследования влияния различных факторов на эффективность протокола в различных условиях его использования. Индивидуальное задание должно быть получено от преподавателя. Оно может быть ориентировано на различные аспекты дела, например:
Задача 1. Сопоставление эффективности различных протоколов с обратной связью в тех или иных условиях (ограничения на длину кадров, запаздывание в каналах и проч.)
Задача 2. Исследование эффективности протоколов с обратными связями в зависимости от интенсивности ошибок в каналах.
Исследовать, как влияет наличие ошибок по отдельности в прямом и обратном каналах на общую эффективность протоколов с ОС.
Рекомендуется следующий план работы: для каждого протокола сделать по 3 расчета эффективности U: при отсутствии ошибок, при ненулевой ошибке в прямом канале и нулевой в обратном и наоборот. Все остальные параметры протокола и канала (пропускная способность, длина кадра прямого и обратного направлений и др.) надо поддерживать постоянными. Заполнить таблицу (см. табл. 1).
На основе экспериментальных данных сделать выводы, ответив на вопросы:
Как и почему меняется эффективность, если вероятность ошибки в одном из каналов становится ненулевой?
Ошибки в каком канале (прямом или обратном) больше влияют на эффективность и почему так происходит?
Таблица 1. Эффективность протоколов в зависимости от интенсивности помех
Pб,пк |
Pб,ок |
Эффективность протоколов |
|||||
1 |
2 |
3 |
4 |
5 |
|||
0 |
0 |
||||||
0,001 |
0 |
||||||
0 |
0,001 |
||||||
Сравните степень влияния ошибки на эффективность при разных протоколах и объясните результат.
Задача 3. Эффективность протокола в системе с идеальными (безошибочными) каналами
При работе протоколов без окна в условиях отсутствия ошибок исследовать, как влияют на эффективность следующие параметры: пропускная способность (бит/с), длина кадров, задержка распространения. Считать все эти величины для прямого и обратного каналов одинаковыми.
Рекомендуется следующий план работы: рассчитывать эффективность, изменяя один из трех вышеуказанных параметров, оставляя постоянными все остальные. Результаты свести в таблицу.
Таблица 2. Эффективность протоколов в каналах без ошибок
vпр= vобр |
lпр= lобр, бит |
Tз(пр)=Tз(обр), мс |
1 |
2 |
3 |
4 |
|
1 Кбит/с |
32 |
0,001 |
|||||
1 |
|||||||
500 |
0,001 |
||||||
1 |
|||||||
1Мбит/с |
32 |
0,001 |
|||||
1 |
|||||||
500 |
0,001 |
||||||
1 |
|||||||
7. Порядок выполнения лабораторных работ. Отчет
Лабораторная работа выполняется в соответствии с заданием, указанным преподавателем. Прогон модели и получение отчета с выходными данными - операция простая. Но из опыта известно, что рационально предварительно спланировать последовательность своих действий, особенно в отношении назначении значений тех или иных параметров, последующих вычислений, построения кривых.
Содержание отчета - это мотивированные формулировки и ответы на вопросы в соответствии с версией конкретного задания, с необходимыми иллюстрациями в форме цифрового материала, кривых, графиков Общий подход к построению отчета можно сформулировать следующим образом: «иллюстрации к выводам и заключениям, а не наоборот».
Известно из опыта, что для оформления отчета рационально привлекать возможности пакета EXCEL в части вычислений по наперед известным формулам, а также в части построения графиков по табличным данным.
Не следует приводить в отчете обширных извлечений из методического руководства. На него достаточно ссылаться, сохраняя обозначения величин.
Отчет должен быть сброшюрован, оформлен в соответствии со стандартом и представлен к очередной лабораторной работе для защиты.
7.1 Завершение лабораторного сеанса
По завершении лабораторной работы необходимо предъявить преподавателю полученные данные. Кроме того, необходимо привести рабочие папки модели в исходный вид, т.е. удалить из папок IN и RESULTS все файлы, полученные в процессе работы, и также предъявить их преподавателю. Папки IN и RESULTS должны оставаться свободными.
Библиографический список
1). Бертсекас Д., Галлагер Р. Сети передачи данных: Пер. с англ. - М.: Мир, 1989. - 544 с.
2). Халсалл Ф. Передача данных, сети компьютеров и взаимосвязь открытых систем: Пер. с англ. - М.: Радио и связь, 1995. - 408 с.
Контрольная работа | Концепция информатизации Российской Федерации |
Контрольная работа | Причины агрессивного поведения. Методы работы с агрессивными детьми |
Контрольная работа | Алгоритм выбора и реализации предпринимательской идеи |
Контрольная работа | Системы управления взаимоотношения с клиентами |
Контрольная работа | Учет материальных затрат в бухгалтерском учете |
Контрольная работа | Геополитическое положение России |
Контрольная работа | Особенности вознаграждения работников в организации |
Контрольная работа | Виды запасов |
Контрольная работа | Психоанализ |
Контрольная работа | Экономико-географическая характеристика Печорского угольного бассейна 2 |
Контрольная работа | Свойства дорожных строительных материалов |
Контрольная работа | Электронный ключ на полевом транзисторе |
Контрольная работа | Нравственные проблемы эвтаназии |
Контрольная работа | Основи теорії утворення ґрунтів |
Контрольная работа | Экономические категории, законы, функции. Значение экономической теории и ее место в системе социально-гуманитарных наук |