Протоколы сетей передачи данных. Теоретические формулы. Модель механизма "скользящего окна" с селективным отказом

Страницы работы

Содержание работы

Санкт-Петербургский Государственный Университет информационных технологий, механики и оптики

Протоколы сетей передачи данных

Отчет по лабораторной работе № 2

Вариант 9

Выполнили:

Гр. 5111

Санкт-Петербург

2009 г.

Задание

Разработать модель механизма «скользящего окна» с селективным отказом, провести моделирование и построить графические зависимости нормализованной пропускной способности канала S от значения параметра a (отношение битовой длины канала к длине кадра) для различных вероятностей потери пакета и размера окон. Построить аналогичные зависимости по теоретическим формулам,  и проверить соответствие им зависимостей, полученных путем имитационного моделирования. В случае расхождения результатов проанализировать и объяснить причину.

При построении моделей выполнить два варианта: с учетом и без учета времени на передачу пакетов подтверждения ACK.

Битовую длину пакетов данных принять равной 200 бит.

Битовую длину пакетов ACK принять равной 16 бит.

Теоретические формулы:

Производительность канала при использовании метода скользящего окна с селективным отказом:

1)  с учетом времени на передачу подтверждения:

2)  без учета времени на передачу подтверждения:


модель механизма «скользящего окна» с селективным отказом

Рис. 1 Общая схема модели.


Основными элементами моей модели является  Sender, Receiver,Forward и Backward Chanel. Это базовые элементы необходимые для имитации механизма передачи данных.

Так же необходимым является элемент Message Source. В нем формируется сигнал, т.е само сообщение.

Рассмотрим механизм взаимодействия этих элементов в целом. Источник сообщения формирует сигнал, который поступает к sender. Sender, по получению этого сигнала, выбрасывает в сеть новый пакет. Пакеты, проходя через сеть, могут потеряться и получают некоторую задержку, тем самым, имитируя реальный канал связи. Далее они (пакеты) попадают к получателю, который соответственно проверяет полученные пакеты и формирует подтверждения, которые отправляются через Backward Chanel обратно к Receiver.

Рассмотрим основные элементы модели более подробно


Рис. 2 Блок Sender.


Sender

Блок sender имеет 3 состояния. Состояние INIT, с которого начинается работа sender. В нем мы настраиваем используемые переменные, обращаем их в ноль. Посылаем логический сигнал true на выход next, который связан с message source, тем самым, сообщая источнику, что sender готов к отправке сообщений в сеть.

Также есть состояния S0 и S1. Состояние S0 отвечает за пересылку пакетов в сеть. Это реализуется на переходах подписанных First pack in window, Not first pack in window и Last pack in window.

Также в S0 есть переход, который отвечает за получение подтверждений на отправленные пакеты, которые достигли получателя (Ask received AND not last pack in window).

Состояние S1 отвечает за пересылку тех пакетов, подтверждения на которые не пришли, т.е пакеты которые потерялись в канале. Переход из состояния S0 в S1 осуществляется по срабатыванию таймера, который мы устанавливаем на окно, при пересылке первого пакета. Это является сигналом для повторной пересылки пакетов на которые нет подтверждения. (Get first pack to resend) Пересылка потерянных пакетов осуществляется в режиме Stop & Wait, т.е на каждый пакет устанавливается таймер, и пока не придет подтверждение на этот пакет, следующий не отправляется.

Переход из состояния S1 обратно в S0 осуществляется, когда все пакеты будут переданы повторно и когда на них придут все подтверждения.(Window OK)


 Рис. 3 Блок Receiver.


Receiver

Блок receiver имеет 2 состояния S0 и S1. Состояние S0 отвечает за получение пакетов (Pack is received IN RIGHT  order и Pack is received NOT IN right order) и формирование подтверждений на них, также оно проверяет, пришли пакеты в правильном порядке или с нарушением порядка, так как для передачи окна для обработки на вышестоящий уровень пакеты должны быть отсортированы в том порядке, в котором они вышли из Sender. Также имеется переход который отвечает за прием пакетов которые были высланы повторно (Resended packed is received), в этом переходе осуществляется и их сортировка, т.е повторно переданные пакеты занимают свое место в массиве принятых пакетов согласно своему порядковому номеру.

Переход из состояния S0 в S1 происходит, когда все пакеты окна будут приняты.

Состояние S1 отвечает за пересылку окна на вышестоящий уровень. Переход из состояния S1 в состояние S0 осуществляется, когда все пакеты будут переданы на вышестоящий уровень. При этом происходит удаление всех элементов из массива принятых пакетов.


Рис. 4 Блок Backward/Forward channel.


Блок Backward/Forward channel отвечает за пересылку пакетов между отправителем и получателем, также имитирует задержку при поступление пакетов в сеть и при пересылке пакетов по сети. В нем есть элемент loser который отвечает за возможность потери пакетов (Forward channel). В Backward channel этот параметр равен нулю, так как по заданию подтверждения не теряются.

Похожие материалы

Информация о работе