Поздние коллизии

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

Очень важно, чтобы первый бит каждого передаваемого пакета достиг каж­дого узла в сети прежде, чем будет отправлен последний бит. Это требова­ние выдвигается в связи с тем, что передающая система может выявить кол­лизию только тогда, когда она все еще передает данные. Как только послед­ний бит покинет передающий узел, отправитель полагает, что передача была завершена успешно и удаляет пакет из буфера памяти. Для того, чтобы это было действительно так, каждый передаваемый в сети Ethernet пакет должен быть длиной не меньше 64 байт, даже если для этого передающей системе придется добавить неиспользуемые (равные 0) биты.

Если коллизия возникает после того, как последний бит покинул передаю­щий узел, она называется поздней коллизией или иногда выходом за окно кол­лизий (рис. 8.2). (Для того чтобы различать два типа столкновений, обыч­ный, легко выявляемый тип иногда называется ранней коллизией.) Так как передающая система не имеет способа выявления поздних коллизий, она полагает, что пакет передан успешно. Любые данные, потерянные в резуль­тате поздней коллизии, не могут быть повторно переданы процессом Ка­нального уровня. Эта задача переходит к протоколам, работающим на вы­шележащих уровнях модели OSI и использующим для обнаружения потери данных и вызова повторной передачи свои собственные механизмы. По­следний процесс может отнимать время в сотни раз большее, чем повтор­ная передача Ethernet, и это — одна из причин, по которой данный тип коллизии является проблемой. Поздние коллизии могут возникать по нескольким причинам. Если сетевой интерфейс неисправен и передает пакет длиной меньше, чем 64 байта (называемый "карликом"), последний бит может покинуть отправителя пре­жде, чем пакет полностью распространится по сети. В других случаях при­чиной может быть возможная неисправность механизма контроля несущей сетевого адаптера, которая приводит к передаче в неподходящее время.

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

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