Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Оптические системы связи / 4_Volokonno-opticheskie_seti_Ubaydulaev_R_R__2.pdf
Скачиваний:
190
Добавлен:
23.05.2015
Размер:
9.48 Mб
Скачать

64 байт, то за полем LLC Data добавляется поле Pad. Для протокола более высокого уровня не возникает путаницы с определением типа кадра, так как для кадра IEEE 802.3 значение этого поля не может быть больше 1500 (0x05DC). Поэтому, в одной сети могут свободно сосуществовать оба формата кадров, более того, один сетевой адаптер может взаимодействовать с обоими типами посредством стека протоколов.

Данные (LLC Data): поле данных, которое обрабатывается подуровнем LLC. Сам по себе кадр IEEE 802.3 еще не окончательный. В зависимости от значений первых нескольких байт этого поля, могут быть три окончательных формата этого кадра IEEE 802.3:

Ethernet_802.3 (не стандартный, в настоящее время устаревающий формат, используемый Novell) – первые два байта LLC Data равны 0xFFFF;

Ethernet_SNAP (стандартный IEEE 802.2 SNAP формат, которому отдается наибольшее предпочтение в современных сетях, особенно для протокола TCP/IP) – первый байт LLC Data равен 0xAA;

Ethernet_802.2 (стандартный IEEE 802.2 формат, используется фирмой Novell в NetWare 4.0) – первый байт LLC Data не равен ни 0xFF (11111111), ни 0xAA (10101010).

Дополнительное поле (pad – наполнитель) – заполняется только в том случае, когда поле данных невелико, с целью удлинения длины кадра до минимального размера 64 байта – преамбула не учитывается. Ограничение снизу на минимальную длину кадра необходимо для правильного разрешения коллизий.

Контрольная последовательность кадра (FCS, frame check sequence): 4-байтовое поле, в котором указывается контрольная сумма, вычисленная с использованием циклического избыточного кода по полям кадра, за исключением преамбул SDF и FCS.

Ethernet_II

Преамбула SFD DA SA T LLC Data Pad FCS

IEEE 802.3

Преамбула SFD

 

DA

 

SA

 

 

L

 

 

LLC Data

 

Pad

 

FCS

 

 

 

 

 

 

 

7 + 1 байт

 

2/6 байт

 

2/6 байт

 

 

2

 

 

0 / 1500 байт

 

0

 

4

 

 

 

 

 

байта

 

 

 

 

байта

 

 

 

 

64 байта min / 1518 байт max

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ðèñ. 7.2. Два базовых MAC формата кадра Ethernet

Основные варианты алгоритмов случайного доступа к среде

Протокол CSMA/CD определяет характер взаимодействия рабочих станций в сети с единой общей для всех устройств средой передачи данных. Все станции имеют равноправные условия по передаче данных. Нет определенной последовательности, в соответствии с которой станции могут получать доступ к среде для осуществления передачи. Именно в этом смысле доступ к среде осуществляется случайным образом. Реализация алгоритмов случайного доступа представляется значительно более простой задачей, чем реализация алгоритмов детерминированного доступа. Поскольку в последнем случае требуется или специальный протокол, контролирующий работу всех устройств сети (например, протокол обращения маркера, свойственный сетям Token Ring и FDDI), или специальное выделенное устройство – мастер концентратор, который в определенной последовательности предоставлял бы всем остальным станциям возможность передавать (сети Arcnet, 100VG AnyLAN).

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

ВОЛОКОННО-ОПТИЧЕСКИЕ СЕТИ

155

Дадим определение:

множество всех станций сети, одновременная передача любой пары из которых приводит к коллизии, называется коллизионным доменом (collision domain).

Из-за коллизии (конфликта) могут возникать непредсказуемые задержки при распространении кадров по сети, особенно при большой загруженности сети (много станций пытаются одновременно передавать внутри коллизионного домена, > 20-25), и при большом диаметре коллизионного домена (> 2 км). Поэтому при построении сетей желательно избегать таких экстремальных режимов работы.

Проблема построения протокола, способного наиболее рационально разрешать коллизии, и оптимизирующего работу сети при больших загрузках, была одной из ключевых на этапе формирования стандарта Ethernet IEEE 802.3. Первоначально рассматривались три основных подхода в качестве кандидатов для реализации стандарта случайного доступа к среде (рис. 7.3): непостоянный, 1-постоянный и р-постоянный [5].

 

Постоянная или случайная

 

 

 

 

 

Непостоянный (nonpersistent)

 

задержка

 

 

 

 

 

Передает, если среда свободна.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Иначе ожидает и пытается снова передать

Среда занята

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

t

 

 

 

 

 

 

 

T

 

 

 

 

 

 

 

T

 

 

 

 

 

 

 

 

 

 

 

T

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Станция готова

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

передавать

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1-постоянный (1-persistent)

 

 

 

 

 

p-постоянный (p-persistent)

Передает, как только освобождается

 

 

 

 

 

Передает с вероятностью p, как только

канал

 

 

 

 

 

освобождается канал

Если же конфликт, выдерживает время

 

 

 

 

 

Иначе ждет фиксированное время T и, если

и пытается вновь передать

 

 

 

 

 

канал освободился, повторяет процесс

Ðèñ. 7.3. Алгоритмы множественного случайного доступа (CSMA) и выдержка времени в конфликтной ситуации (collision backoff)

Непостоянный (nonpersistent) алгоритм. При этом алгоритме станция, желающая передавать, руководствуется следующими правилами.

1.Прослушивает среду, и, если среда свободна (т.е. если нет другой передачи или нет сигнала коллизии), передает, в противном случае – среда занята – переходит к шагу 2.

2.Если среда занята, ждет случайное (в соответствии c определенной кривой распределения вероятностей) время и возвращается к шагу 1.

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

1-постоянный (1-persistent) алгоритм. Для сокращения времени, когда среда не занята, мог бы использоваться 1-постоянный алгоритм. При этом алгоритме станция, желающая передавать, руководствуется следующими правилами.

156

Р.Р. УБАЙДУЛЛАЕВ

1.Прослушивает среду, и, если среда не занята, передает, в противном случае переходит к шагу 2;

2.Если среда занята, продолжает прослушивать среду до тех пор, пока среда не освободится, и, как только среда освобождается, сразу же начинает передавать.

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

Р-постоянный (p-persistent) алгоритм. Правила этого алгоритма следующие:

1.Если среда свободна, станция с вероятностью p сразу же начинает передачу или с вероятностью (1-p) ожидает в течение интервала времени T. Интервал T обычно берется равным максимальному времени распространения сигнала из конца в конец сети;

2.Если среда занята, станция продолжает прослушивание до тех пор, пока среда не освободится, затем переходит к шагу 1;

3.Если передача задержана на один интервал T, станция возвращается к шагу 1.

И здесь возникает вопрос выбора наиболее эффективного значения параметра p. Главная проблема, как избежать нестабильности при высоких загрузках. Рассмотрим ситуацию, при которой n станций намерены передать кадры, в то время, как уже идет передача. По окончанию передачи ожидаемое количество станций, которые попытаются передавать, будет равно произведению количества желающих передавать станций на вероятность передачи, то есть np. Если np > 1, то в среднем несколько станций будут пытаться передать сразу, что вызовет коллизию. Более того, как только коллизия будет обнаружена, все станции вновь перейдут к шагу 1, что вызовет повторную коллизию. В худшем случае, новые станции, желающие передавать, могут добавиться к n, что еще больше усугубит ситуацию, приведя, в конеч- ном итоге, к непрерывной коллизии и нулевой пропускной способности. Во избежании такой катастрофы np должно быть меньше единицы. Если же сеть подвержена возникновению состояний, когда много станций одновременно желают передавать, то необходимо уменьшать p.

Ñдругой стороны, когда p становиться слишком малым, даже отдельная станция может прождать в среднем (1 – p)/p интервалов T, прежде чем осуществит передачу. Так если p=0,1, то средний простой, предшествующий передаче, составит 9T.

Протокол CSMA/CD

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

Передача кадра (ðèñ. 7.4 à):

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

2.Если среда занята, станция продолжает прослушивать среду до тех пор, пока среда не станет свободной, и затем сразу же начинает передачу;

3.Каждая станция, ведущая передачу, прослушивает среду, и, в случае обнаружения коллизии, не прекращает сразу же передачу, а сначала передает короткий специальный сигнал коллизии – jam-сигнал, информируя другие станции о коллизии, и прекращает передачу;

4.После передачи jam-сигнала станция замолкает и ждет некоторое произвольное время в соответствии с правилом бинарной экспоненциальной задержки, а затем возвращается к шагу 1.

ВОЛОКОННО-ОПТИЧЕСКИЕ СЕТИ

157

Межкадровый интервал IFG (interframe gap) составляет 9,6 мкм (12 байт). С одной стороны, он необходим для того, чтобы принимающая станция могла корректно завершить прием кадра. Кроме этого, если бы станция передавала кадры непрерывно, она бы полностью захватила канал и, тем самым, лишила другие станции возможности передачи.

Jam-сигнал (jamming – дословно глушение). Передача jam-сигнала гарантирует, что ни один кадр не будет потерян, так как все узлы, которые передавали кадры до возникновения коллизии, приняв jam-сигнал, прервут свои передачи и замолкнут в ожидании новой попытки передать кадры. Jam-сигнал должен быть достаточной длины, чтобы он дошел до самых удаленных станций коллизионного домена с учетом дополнительной задержки SF (safety margin) на возможных повторителях. Содержание jam-сигнала не принципиально за исключением того, что оно не должно соответствовать значению поля CRC частично переданного кадра (802.3), и первые 62 бита должны представлять чередование 1 и 0 со стартовым битом 1.

a)

1)Готовит кадр для передачи

2)Устанавливает число попыток в 0

 

Прослушивает среду.

Да

Идет ли передача

другим узлом?

 

Нет

 

 

 

Ждет время IFG

 

и начинает передавать

 

 

 

Обнаружена ли

 

коллизия?

 

Нет

Завершает передачу и устанавливает статус передачи “передача завершена”

Устанавливает статус передачи: “передача не прошла,

превышено число попыток”

Да

Передает jam сигнал, увеличивает число попыток на 1

Да

Проверяет,

 

число попыток >16

 

Нет

Вычисляет экспоненциальную задержку и ждет

б)

Нет

Обнаружен ли

 

 

приемный сигнал?

 

 

Да

 

 

 

 

 

 

 

 

 

Верно ли поле FCS

Нет

 

кадра?

 

 

 

 

 

Да

 

 

 

 

 

 

Нет

 

Да

 

 

 

 

 

Передает кадр на обработку

 

 

Кадр

 

 

протоколам более высокого

 

 

 

 

 

 

сбрасывается

 

 

уровня

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ðèñ. 7.4. Структурная схема алгоритма CSMA/CD (уровень MAC):

а) при передаче кадра станцией; б) при приеме кадра станцией

158

Р.Р. УБАЙДУЛЛАЕВ

На рис. 7.5 проиллюстрирован процесс обнаружения коллизии применительно к топологии "шина" (на основе тонкого или толстого коаксиального кабеля (стандарты 10Base5 и 10Base2 соответственно).

В момент времени t0 óçåë A (DTE A) начинает передачу, естественно прослушивая свой

же передаваемый сигнал. В момент времени t1 , когда кадр почти дошел до узла B (DTE B), этот узел, не зная о том, что уже идет передача, сам начинает передавать. В момент времени t 2 = t1 + ∆ , óçåë B обнаруживает коллизию (увеличивается постоянная составляющей электрического сигнала в прослушиваемой линии). После этого узел B передает jam-сигнал и прекращает передачу. В момент времени t3 сигнал коллизии доходит до узла A, после чего A также передает jam-сигнал и прекращает передачу.

t0

= 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A

 

B

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

t1

= t p-

 

 

 

 

 

A

 

B

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

t2

= t p

 

 

 

 

 

 

A

 

B

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

t3

= 2tp -

 

 

 

 

 

 

A

 

B

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ðèñ. 7.5. Обнаружение коллизии в шине при использовании схемы CSMA/CD стандарта Ethernet

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

Время канала ST (slot time) – это минимальное время, в течение которого узел обязан вести передачу, занимать канал. Это время соответствует передаче кадра минимального допустимого размера, принятого стандартом Ethernet IEEE 802.3. Время канала связано с максимальным допустимым расстоянием между узлами сети – диаметром коллизионного домена. Допустим, что в приведенном выше примере реализуется наихудший сценарий, когда станции A è B удалены друг от друга на максимальное расстояние. Время распространения сигнала от

A äî B обозначим через tp . Óçåë A начинает передавать в нулевой момент времени. Узел B

начинает передавать в момент времени t1 = t p − ∆ и обнаруживает коллизию спустя интер-

âàë после начала своей передачи. Узел A обнаруживает коллизию в момент времени t3 = 2tp − ∆ . Для того, чтобы кадр, испущенный A, не был потерян, необходимо, чтобы узел A

не прекращал вести передачу к этому моменту, так как тогда, обнаружив коллизию, узел A будет знать, что его кадр не дошел, и попытается передавать его повторно. В противном слу- чае, кадр будет потерян. Максимальное время, спустя которое с момента начала передачи

óçåë A еще может обнаружить коллизию, равно 2tp – это время называется задержкой на

двойном пробеге RTD (round-trip delay). В более общем случае, RTD определяет суммарную задержку, связанную как с задержкой из-за конечной длины сегментов, так и с задержкой, возникающей при обработке кадров на физическим уровне промежуточных повторителей и оконечных узлов сети. Далее удобно использовать также другую единицу измерения времени:

ВОЛОКОННО-ОПТИЧЕСКИЕ СЕТИ

159

битовое время BT (bit time). Время в 1 BT соответствует времени, необходимому для переда- чи одного бита, т.е. 0,1 мкс при скорости 10 Мбит/с.

Стандартом Ethernet регламентированы следующие правила обнаружения коллизии конечным узлом сети [4]:

1.Узел A должен обнаружить коллизию до того, как передаст свой 512-й бит, включая биты преамбулы;

2.Узел А должен прекратить передачу раньше, чем будет передан кадр минимальной длины – передано 576 бит (512 бит после ограничителя начала кадра SFD);

3.Перекрытие между передачами узлов A и B – битовый интервал, начиная с момента передачи первого бита преамбулы узлом A и заканчивая приемом узлом A последнего бита, испущенного узлом B, – должно быть меньше, чем 575 BT.

Последнее условие для сети Ethernet является наиболее важным, поскольку его выполнение автоматически влечет выполнение и первых двух. Это третье условие задает ограниче- ние на диаметр сети. Применительно к задержке на двойном пробеге RTD третье условие можно сформулировать в виде: RTD < 575 ÂÒ.

При передаче больших кадров, например 1500 байт, коллизия, если она вообще возникнет, обнаруживается практически в самом начале передачи, не позднее первых 64 переданных байт (если коллизия не возникла в это время, то позже она уже не возникнет, поскольку все станции прослушивают линию и, "слыша" передачу, будут молчать). Так как jamсигнал значительно короче полного размера кадра, то при использовании алгоритма CSMA/CD количество в холостую израсходованной емкости канала сокращается до времени, требуемого на обнаружение коллизии. Раннее обнаружение коллизий приводит к более эффективному использованию канала. Позднее обнаружение коллизий, свойственное более протяженным сетям, когда диаметр коллизионного домена составляет несколько километров, снижает эффективность работы сети. На основании упрощенной теоретической модели поведения загруженной сети (в предположении большого числа одновременно передающих станций и фиксированной минимальной длины передаваемых кадров у всех станций) можно выразить производительность сети U через отношение RTD/ST, [5]:

U =

1

1

,

1+ (e 1) RDT ST

1+1,72 RDT ST

ãäå e – основание натурального логарифма. На производительность сети влияет размер транслируемых кадров и диаметр сети. Производительность в наихудшем случае (когда RDT = ST) составляет около 37%, а в наилучшем случае (когда RTD много меньше, чем ST) стремится к 1. Хотя формула и выведена в пределе большого числа станций, пытающихся передавать одновременно, она не учитывает особенностей алгоритма усеченной бинарной экспоненциальной задержки, рассмотренного ниже, и не справедлива для сильно перегруженной коллизиями сети, например, когда станций, желающих передавать, становится больше 15.

Усеченная бинарная экспоненциальная задержка. Алгоритм, принятый в стандарте IEEE 802.3 CSMA/CD, наиболее близок к 1-постоянному алгоритму, но отличается дополнительным элементом – усеченной бинарной экспоненциальной задержкой. При возникновении коллизии станция подсчитывает, сколько раз подряд при отправке пакета возникает коллизия. Поскольку повторяющиеся коллизии свидетельствуют о высокой загруженности среды, MAC-óçåë пытается увеличивать задержку между повторными попытками передачи кадра. Соответствующая процедура увеличения интервалов времени подчиняется правилу усеченной бинарной экспоненциальной задержки и работает следующим образом.

Количество слотовых времен (интервалов по 51,2 мкс), которое станция ждет перед тем, как совершить N-ую попытку передачи (N – 1 попыток потерпели фиаско из-за возникновения коллизий во время передачи), представляет случайное целое число R с однородной функцией распределения в интервале 0 R < 2K , ãäå K = min(N, BL) , è BL (backoff limit) –

установленная стандартом предельная задержка, равная 10. Если число последовательных безуспешных попыток отправить кадр доходит до 16, то есть коллизия возникает 16 раз подряд, то кадр сбрасывается.

Алгоритм CSMA/CD с использованием усеченной бинарной экспоненциальной задержки признан лучшим среди множества алгоритмов случайного доступа и обеспечивает эффективную работу сети как при малых, так и при средних загрузках. При больших загрузках следует

160

Р.Р. УБАЙДУЛЛАЕВ