Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсач ЭВМ.docx
Скачиваний:
16
Добавлен:
28.08.2019
Размер:
104.86 Кб
Скачать

Void print_pack(struct Packet Pack,int size){ 35

int i; 35

printf("------------------------------------\n"); 35

printf(" Head\n"); 35

printf("------------------------------------\n"); 35

for (i = 0;i != 8;++i) 35

printf("%d",Pack.preambula[i]); 36

printf(" "); 36

for (i = 0;i != 8;++i) 36

printf("%d",Pack.address[i]); 36

printf(" "); 36

for (i = 0;i != 8;++i) 36

printf("%d",Pack.sender[i]); 36

printf(" "); 36

for (i = 0;i != 6;++i) 36

printf("%d",Pack.size[i]); 36

printf(" %d\n",Pack.type); 36

printf("------------------------------------\n"); 36

printf(" Data\n"); 36

printf("------------------------------------\n"); 36

for (i = 0;i != size*8;++i){ 36

printf("%d",Pack.data[i]); 36

if (i % 32 == 31) 36

printf("\n"); 36

else if (i % 8 == 7) 36

printf(" "); 36

} 36

if (size % 4 != 0) 36

printf("\n"); 36

printf("------------------------------------\n"); 36

printf(" FSC\n"); 36

printf("------------------------------------\n"); 36

for (i = 0;i != size + 4;++i) 36

printf("%d",Pack.FSC[i]); 36

printf("\n"); 36

printf("------------------------------------\n"); 36

printf(" KS\n"); 36

printf("------------------------------------\n"); 36

for (i = 0;i != 8;++i) 36

printf("%d",Pack.count[i]); 36

printf("\n"); 36

} 36

int get_addr(struct Packet pack){ 36

int i,res = 0; 36

for (i = 0;i != 8;++i) 36

res += (pack.address[i] << i); 36

return res; 36

} 36

int get_send(struct Packet pack){ 36

int i,res = 0; 36

for (i = 0;i != 8;++i) 36

res += (pack.sender[i] << i); 36

return res; 36

} 36

int get_count(struct Packet pack){ 36

int i,res = 0; 36

for (i = 0;i != 8;++i) 36

res += (pack.count[i] << i); 36

return res; 36

} 36

void wait_q(){ 36

printf("Press 'q' to continue\n"); 36

do{ 36

wait; 36

}while(getch() != 'q'); 36

} 36

1. Описание принципов работы ЛВС с детерминированным доступом и обоснование модели кольца со вставными регистрами 3

1.1. Описание принципов работы ЛВС с детерминированным доступом 3

1.2. Обоснование модели кольца со вставными регистрами. 6

2. Анализ эквивалентной модели станции ЛВС 8

3. Определение функциональных зависимостей основных характеристик проектируемой ЛВС 12

4. Разработка протокола на основе локально-приоритетного доступа и описание используемого формата кадра 16

5. Листинг программы, моделирующей работы сети 18

1. Описание принципов работы ЛВС с детерминированным доступом и обоснование модели кольца со вставными регистрами

1.1. Описание принципов работы ЛВС с детерминированным доступом

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

Детерминированные методы доступа делятся на методы пропорционального, приоритетного и локально-приоритетного доступа.

Пропорциональный доступ исключает возможность конфликта источников за счет задания очередности доступа абонентов к каналу. Локальные вычислительные сети с пропорциональным доступом можно разделить на сети с опросом и с передачей маркера (эстафеты или жезла).

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

Локальные вычислительные сети с передачей маркера (жезла или эстафеты) можно рассматривать как полностью распределенные (децентрализованные) системы. Они разделяются на жезловые кольца и жезловые шины (логические кольца).

  • Жезловое кольцо

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

  • Жезловая шина

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

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

Недостатки этих методов заключаются в том, что доступ осуществляется по расписанию. При этом не учитывается приоритет источников.

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

  • Децентрализованное кодовое управление (ДКУ)

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

Приоритеты источников задаются посредством двоичных чисел (кодов). Чем выше приоритет источника, тем больше значение кода.При децентрализованном кодовом управлении (ДКУ) каждый источник различает свободный и занятый каналы.

  • Совмещенное децентрализованное кодовое управление (СДКУ)

Можно совместить во времени передачу пакетов данных и кодов приоритетов. Пусть канал пространственно или частично разделяется на два подканала: подканал управления (ПКУ) и подканал данных (ПКД). ПКУ используется для борьбы за канал. Выигравший борьбу источник дожидается освобождения ПКД и передает по нему пакет данных. Одновременно с этим другие источники снова пытаются занять канал, передавая коды приоритетов в ПКУ.

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

Недостатком приоритетного метода доступа является сравнительно высокая сложность алгоритма доступа.

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

  • Сегментированное кольцо

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

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

Для освобождения сегмента необходимо установить признак занятости в состоянии "свободно". Это может сделать либо приемник пакета, либо сам источник после возвращения сегмента по кольцу.

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

  • Кольцо типа CR

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