Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Контрольная по КС.doc
Скачиваний:
189
Добавлен:
01.04.2014
Размер:
296 Кб
Скачать
☆

Int main()

{

WORD wVersionRequested;

WSADATA wsaData;

int err;

wVersionRequested = MAKEWORD(2,2);

err = WSAStartup(wVersionRequested, &wsaData);

if(err != 0)

return -1;

sockaddr_in local;

local.sin_family = AF_INET;

local.sin_port = htons(1280);

local.sin_addr.s_addr = htonl(INADDR_ANY);

SOCKET s = socket(AF_INET, SOCK_STREAM,0);

int c=bind(s,(struct sockaddr*)&local,sizeof(local));

int r=listen(s,5);

int b1, b2, b3, b4;

interthreads params;

params.ip_kol = 0;

params.number_node = 0;

while(true)

{

sockaddr_in remote;

int j = sizeof(remote);

int k = 0;

SOCKET newS = accept(s, (struct sockaddr*) &remote, &j);

//копирование ип адреса в буфер

b1 = remote.sin_addr.S_un.S_un_b.s_b1;

b2 = remote.sin_addr.S_un.S_un_b.s_b2;

b3 = remote.sin_addr.S_un.S_un_b.s_b3;

b4 = remote.sin_addr.S_un.S_un_b.s_b4;

//проверка ип адреса

if(params.ip_kol == 0)

{

params.number_node = params.ip_kol;

node_valid[params.ip_kol].b1 = b1;

node_valid[params.ip_kol].b2 = b2;

node_valid[params.ip_kol].b3 = b3;

node_valid[params.ip_kol].b4 = b4;

params.ip_kol++;

k = 1;

}

else

{

for(int i = 0; i < params.ip_kol; i++)

{

if(node_valid[i].b1 == b1 && node_valid[i].b2 == b2 && node_valid[i].b3 == b3 && node_valid[i].b4 == b4)

{

params.number_node = i;

k = 1;

break;

}

}

}

if(k == 0)

{

params.number_node = params.ip_kol;

node_valid[params.ip_kol].b1 = b1;

node_valid[params.ip_kol].b2 = b2;

node_valid[params.ip_kol].b3 = b3;

node_valid[params.ip_kol].b4 = b4;

params.ip_kol++;

}

params.newS = newS;

params.local = remote;

_beginthread(SMSworking,0,&params);

}

WSACleanup();

return 0;

}

Часть 2

Расчет конфигурации сети.

Вариант

1 сегмент

2 сегмент

3 сегмент

4 сегмент

5 сегмент

6 сегмент

7

10Base-2

10Base-FL

10Base-T

10Base-FB

10Base-T

10Base-FB

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

Сеть в соответствии с правилом «4 хабов» не является корректной - в сети между узлами сегментов 1 и 6 имеются 5 хабов, хотя не все сегменты являются сегментами 10Base-FB. Кроме того, общая дли­на сети равна 6385 м, что нарушает правило 2500 м. Рассчитаем значение PDV.

Левый сегмент 1:

11.8 (база) + 185*0.1026= 30.8

Промежуточный сегмент 2:

33,5 + 2000*0.1 = 233.5

Промежуточный сегмент 3:

42 + 100*0.113 = 53.3

Промежуточный сегмент 4:

24 + 2000*0.1 = 224

Промежуточный сегмент 5:

42 + 100*0.113 = 53.3

Правый сегмент 6:

0 + 2000*0.1 = 200.

Сумма всех составляющих дает значение PDV, равное 794.9.

Расчет в обратном порядке:

Левый сегмент 1:

0 + 2000*0.1= 200

Промежуточный сегмент 2:

42 + 100*0.113 = 53.3

Промежуточный сегмент 3:

24 + 2000*0.1 = 224

Промежуточный сегмент 4:

42 + 100*0.113 = 53.3

Промежуточный сегмент 5:

33,5 + 2000*0.1 = 233.5

Правый сегмент 6:

169.5 (база) + 185*0.1026= 188.5.

Сумма всех составляющих дает значение PDV, равное 952.6.

Таким образом из двух PDV берется большее. По результатам подсчетов данная сеть не проходит по критерию времени двойного оборота сигнала. А так же данная сеть значительно превышает допустимую длину 2500 м.

Рассчитаем значение PVV.

Левый сегмент 1 10Base-2: дает сокращение в 16 битовых интервалов.

Промежуточный сегмент 2 10Base-FL: 8.

Промежуточный сегмент 3 10Base-T: 8.

Промежуточный сегмент 4 10Base-FB: 2.

Промежуточный сегмент 5 10Base-T: 8.

Сумма этих величин дает значение PVV, равное 42, что меньше предель­ного значения в 49 битовых интервала.

В результате сеть не соответствует стандартам Ethernet по параметрам PDV и длине, но показатель PVV находится в рамках допустимого значения.

  1. Физический и канальный уровень – функциональное назначение.

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

  1. LLC и его виды

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

В соответствии со стандартом 802.2 уровень управления логическим каналом LLC предоставляет верхним уровням три типа процедур:

  • LLC1 - сервис без установления соединения и без подтверждения;

  • LLC2 - сервис с установлением соединения и подтверждением;

  • LLC3 - сервис без установления соединения, но с подтверждением.

  1. Структура кадра LLC

Кадр LLC обрамляется двумя однобайтовыми полями "Флаг", имеющими значение 01111110. Флаги используются на MAC-уровне для определения границ блока. (Отметим, что формат кадров LLC, за исключением поля адреса точки входа сервиса источника, соответствует формату кадра HDLC, а также одного из вариантов протокола HDLC - протокола LAP-B, используемого в сетях X.25).

Флаг (01111110)

Адрес точки входа сервиса назначения DSAP

Адрес точки входа сервиса источника SSAP

Управляющее поле Control

Данные Data

Флаг (01111110)

  1. Метод доступа CSMA/CD

В сетях Ethernet используется метод доступа к среде передачи данных, называемый методом коллективного доступа с опознаванием несущей и обнаружением коллизий (carrier-sense-multiply-access with collision detection, CSMA/CD).

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

  1. Понятие коллизии причины ее возникновения

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

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

  1. Требования к физической среде Ethernet

Независимо от реализации физической среды, все сети Ethernet должны удовлетворять двум ограничениям, связанным с методом доступа:

  • максимальное расстояние между двумя любыми узлами не должно превышать 2500 м,

  • в сети не должно быть более 1024 узлов.

  1. interframe gap, jam-последовательность, slot time, collision window – назначение и расчет

Станция, которая хочет передать кадр, должна сначала с помощью MAC-узла упаковать данные в кадр соответствующего формата. Затем для предотвращения смешения сигналов с сигналами другой передающей станции, MAC-узел должен прослушивать электрические сигналы на кабеле и в случае обнаружения несущей частоты 10 МГц отложить передачу своего кадра. После окончания передачи по кабелю станция должна выждать небольшую дополнительную паузу, называемую межкадровым интервалом (interframe gap), что позволяет узлу назначения принять и обработать передаваемый кадр, и после этого начать передачу своего кадра.

Одновременно с передачей битов кадра приемно-передающее устройство узла следит за принимаемыми по общему кабелю битами, чтобы вовремя обнаружить коллизию. Если коллизия не обнаружена, то передается весь кадр, поле чего MAC-уровень узла готов принять кадр из сети либо от LLC-уровня.

Если же фиксируется коллизия, то MAC-узел прекращает передачу кадра и посылает jam-последовательность, усиливающую состояние коллизии. После посылки в сеть jam-последовательности MAC-узел делает случайную паузу и повторно пытается передать свой кадр.

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

Для того, чтобы уменьшить интенсивность коллизий, каждый MAC-узел с каждой новой попыткой случайным образом увеличивает длительность паузы между попытками. Временное расписание длительности паузы определяется на основе усеченного двоичного экспоненциального алгоритма отсрочки (truncated binary exponential backoff). Пауза всегда составляет целое число так называемых интервалов отсрочки.

Интервал отсрочки (slot time) - это время, в течение которого станция гарантированно может узнать, что в сети нет коллизии. Это время тесно связано с другим важным временным параметром сети - окном коллизий (collision window). Окно коллизий равно времени двукратного прохождения сигнала между самыми удаленными узлами сети - наихудшему случаю задержки, при которой станция еще может обнаружить, что произошла коллизия. Интервал отсрочки выбирается равным величине окна коллизий плюс некоторая дополнительная величина задержки для гарантии:

интервал отсрочки = окно коллизий + дополнительная задержка

В стандартах 802.3 большинство временных интервалов измеряется в количестве межбитовых интервалов, величина которых для битовой скорости 10 Мб/с составляет 0.1 мкс и равна времени передачи одного бита.

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

  1. Почему окно коллизий равно времени двукратного прохождения сигнала между самыми удаленными узлами сети

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

  1. Пример расчета максимальной пропускной способности сегмента Ethernet.

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

Так как размер пакета минимальной длины вместе с преамбулой составляет 64+8 = 72 байта или 576 битов, то на его передачу затрачивается 57.6 мкс. Прибавив межкадровый интервал в 9.6 мкс, получаем, что период следования минимальных пакетов равен 67.2 мкс. Это соответствует максимально возможной пропускной способности сегмента Ethernet в 14880 п/с.

  1. Формат MAC-кадра и времена его передачи для Ethernet и Fast Ethernet.

Форматы кадров технологии Fast Ethernet не отличаются от форматов кадров технологий 10-Мегабитного Ethernet'a. На рисунке 17 приведен формат MAC-кадра Ethernet, а также временные параметры его передачи по сети для скорости 10 Мб/с и для скорости 100 Мб/с.

В кадрах стандарта Ethernet-II (или Ethernet DIX), опубликованного компаниями Xerox, Intel и Digital еще до появления стандарта IEEE 802.3, вместо двухбайтового поля L (длина поля данных) используется двухбайтовое поле T (тип кадра). Значение поля типа кадра всегда больше 1518 байт, что позволяет легко различить эти два разных формата кадров Ethernet DIX и IEEE 802.3.

Все времена передачи кадров Fast Ethernet в 10 раз меньше соответствующих времен технологии 10-Мегабитного Ethernet'а: межбитовый интервал составляет 10 нс вместо 100 нс, а межкадровый интервал - 0.96 мкс вместо 9.6 мкс соответственно.

  1. Форматы кадров Ethernet

Стандарт на технологию Ethernet, описанный в документе 802.3, дает описание единственного формата кадра МАС-уровня. Так как в кадр МАС-уровня должен вкладываться кадр уровня LLC, описанный в документе 802.2, то по стандартам IEEE в сети Ethernet может использоваться только единственный вариант кадра канального уровня, образованный комбинацией заголовков МАС и LLC подуровней. Тем не менее, на практике в сетях Ethernet на канальном уровне используются заголовки 4-х типов. Это связано с длительной историей развития технологии Ethernet до принятия стандартов IEEE 802, когда подуровень LLC не выделялся из общего протокола и, соответственно, заголовок LLC не применялся. Затем, после принятия стандартов IEEE и появления двух несовместимых форматов кадров канального уровня, была сделана попытка приведения этих форматов к некоторому общему знаменателю, что привело еще к одному варианту кадра.

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

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

  • Кадр 802.3/LLC (или кадр Novell 802.2)

  • Кадр Raw 802.3 (или кадр Novell 802.3)

  • Кадр Ethernet DIX (или кадр Ethernet II)

  • Кадр Ethernet SNAP

Заголовок кадра 802.3/LLC является результатом объединения полей заголовков кадров, определенных в стандартах 802.3 и 802.2.

Стандарт 802.3 определяет восемь полей заголовка:

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

  • Начальный ограничитель кадра состоит из одного байта с набором битов 10101011. Появление этой комбинации является указанием на предстоящий прием кадра.

  • Адрес получателя - может быть длиной 2 или 6 байтов (MAC-адрес получателя). Первый бит адреса получателя - это признак того, является адрес индивидуальным или групповым: если 0, то адрес указывает на определенную станцию, если 1, то это групповой адрес нескольких (возможно всех) станций сети. При широковещательной адресации все биты поля адреса устанавливаются в 1. Общепринятым является использование 6-байтовых адресов.

  • Адрес отправителя - 2-х или 6-ти байтовое поле, содержащее адрес станции отправителя. Первый бит - всегда имеет значение 0.

  • Двухбайтовое поле длины определяет длину поля данных в кадре.

  • Поле данных может содержать от 0 до 1500 байт. Но если длина поля меньше 46 байт, то используется следующее поле - поле заполнения, чтобы дополнить кадр до минимально допустимой длины.

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

  • Поле контрольной суммы - 4 байта, содержащие значение, которое вычисляется по определенному алгоритму (полиному CRC-32). После получения кадра рабочая станция выполняет собственное вычисление контрольной суммы для этого кадра, сравнивает полученное значение со значением поля контрольной суммы и, таким образом, определяет, не искажен ли полученный кадр.

Кадр 802.3 является кадром MAС-подуровня, в соответствии со стандартом 802.2 в его поле данных вкладывается кадр подуровня LLC с удаленными флагами начала и конца кадра. Формат кадра LLC был описан выше.

Результирующий кадр 802.3/LLC изображен в левой части рисунка 4. Так как кадр LLC имеет заголовок длиной 3 байта, то максимальный размер поля данных уменьшается до 1497 байт.

Справа на этом рисунке приведен кадр, который называют кадром Raw 802.3 (то есть "грубый" вариант 802.3) или же кадром Novell 802.3. Из рисунка видно, что это кадр MAC-подуровня стандарта 802.3, но без вложенного кадра подуровня LLC.

  1. По каким критериям производиться расчет сети Ethernet.

Для того, чтобы сеть Ethernet, состоящая из сегментов различной физической природы, работала корректно, необходимо, чтобы выполнялись три основных условия:

  • Количество станций в сети не превышает 1024 (с учетом ограничений для коаксиальных сегментов).

  • Удвоенная задержка распространения сигнала (Path Delay Value, PDV) между двумя самыми удаленными друг от друга станциями сети не превышает 575 битовых интервалов.

  • Сокращение межкадрового расстояния (Interpacket Gap Shrinkage) при прохождении последовательности кадров через все повторители не более, чем на 49 битовых интервалов (напомним, что при отправке кадров станция обеспечивает начальное межкадровое расстояние в 96 битовых интервалов).

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

Соблюдение этого требования обеспечивает своевременное обнаружение коллизий.

  1. Почему минимальным временем распространения кадра в 10BASE-T принято 575 бит.

Так как время передачи кадра минимальной длины (вместе с преамбулой), составляющей 72 байт, равно 575 битовым интервалам, то видно, что разработчики стандарта Ethernet оставили 38 битовых интервала в качестве запаса для обеспечения надежности.

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

Требование на минимальное межкадровое расстояние связано с тем, что при прохождении кадра через повторитель это расстояние уменьшается. Каждый пакет, принимаемый повторителем, ресинхронизируется для исключения дрожания сигналов, накопленного при прохождении последовательности импульсов по кабелю и через интерфейсные схемы. Процесс ресинхронизации обычно увеличивает длину преамбулы, что уменьшает межкадровый интервал. При прохождении кадров через несколько повторителей межкадровый интервал может уменьшиться настолько, что сетевым адаптерам в последнем сегменте не хватит времени на обработку предыдущего кадра, в результате чего кадр будет просто потерян. Поэтому не допускается суммарное уменьшение межкадрового интервала более чем на 49 битовых интервалов. Величину уменьшения межкадрового расстояния при переходе между соседними сегментами обычно называют в англоязычной литературе Segment Variability Value, SVV, а суммарную величину уменьшения межкадрового интервала при прохождении всех повторителей - Path Variability Value, PVV. Очевидно, что величина PVV равна сумме SVV всех сегментов, кроме последнего.

38