Обнаружение коллизии

На рис.2 проиллюстрирован процесс обнаружения коллизии применительно к топологии шина (на основе тонкого или толстого коаксиального кабеля (стандарты 10Base-5 и 10Base-2 соответственно).

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

Рис.2 Обнаружение коллизии при использовании схемы CSMA/CD стандарта Ethernet

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

Узел A начинает передавать в нулевой момент времени.

Узел B начинает передавать в момент времени и обнаруживает коллизию в момент времени

t2= tp, спустя интервал после начала своей передачи.

Узел A обнаруживает коллизию в момент времени .

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

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

Для дальнейшего удобно использовать также другую единицу измерения времени: битовое время BT (bit time). Время в 1 BT соответствует времени, необходимому для передачи одного бита, т.е. 0,1 мкс при скорости 10 Мбит/с.

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

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

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

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

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: