sit-01a (1087903), страница 6
Текст из файла (страница 6)
Максимальное количество попыток повторной передачи равно 16, хотя количество возвратов остается равным 10 для нескольких последних попыток. Указанное выше произведение задает минимальный период ожидания для попытки повторной передачи. Для станции вполне приемлемо, хотя и не требуется, ввести дополнительную задержку, которая уменьшит передаваемое ей количество данных.
В качестве примера рассмотрим ситуацию, когда после пятой последовательной коллизии и безуспешной попытки передать фрейм 10BASE-Т время ожидания для станции будет случайным числом из диапазона 0 г < 32 канальных интервалов. После неудачной попытки первой передачи время задержки согласно приведенной выше формуле будет случайным числом, кратным 51,2 микросекунды в диапазоне от нуля до 1638,4,
Если МАС-подуровень после 16-ти попыток не может отправить фрейм, он прекращает их и генерирует сообщение об ошибке, передаваемое протоколу более высокого уровня. Такие случаи достаточно редки и происходят только в условиях чрезвычайных нагрузок в сети или при наличии проблем физического уровня.
Существует лишь одна специальная ситуация, в которой даже после 16-ти попыток подобные сбои происходит достаточно часто — эта ситуация обычно наблюдается в коммутируемых каналах. Она называется захватом пакета, или эффектом пакетного истощения. Если два устройства (коммутаторы, станции или и те, и другие), работающие в полудуплексном режиме, одновременно пытаются передать крупные блоки данных, происходит коллизия. Какая бы станция ни "выиграна" право первой повторной передачи, с каждой последующей коллизией она будет иметь все большую вероятность получения права передачи. Предположим, произошла вторая коллизия. Первая станция, которая могла передавать свой первый фрейм, снова выбирает случайный промежуток времени между нулевым и первым временными интервалами, в то время как вторая станция теперь выбирает между нулевым, первым, вторым и третьим временными интервалами. Весьма вероятно, что первая станция вновь получит меньшее время задержки и право на передачу. Вполне вероятно, что первая станция выиграет право на повторную передачу в течение 16-ти последовательных попыток у второй станции. В этом случае вторая станция прекратит попытки передачи и отбросит фрейм. У нее также появится запись об ошибке, связанная с избыточным количеством попыток. Этот тип ошибок обычно обнаруживается с использованием управляющих средств, таких, как простой протокол управления сетью (Simple Network Management Protocol -SNMP), который посылает запросы порту коммутатора. Часто бывает, что к порту, на котором происходит такая ошибка, подсоединено всего лишь одно устройство. Поскольку потоки передаваемых данных в сетях Ethernet по самой своей природе имеют неравномерный характер (всплески), такая ситуация может возникнуть на порту, который имеет сравнительно небольшую среднюю нагрузку.
14. Обработка ошибок
Чаще всего (и обычно без серьезных последствий) состояние ошибки в сети Ethernet возникает в результате коллизии. Коллизии являются механизмом разрешения конфликтов за право доступа к сети. Несколько коллизий обеспечивают для сетевых узлов достаточно простой, удобный и не вызывающий большой служебной нагрузки способ разрешения споров за сетевые ресурсы. В ситуации, когда сеть не может функционировать соответствующим образом из-за различных проблем, коллизии могут стать существенной помехой ее эффективной работе. Коллизии возможны только в полудуплексных сегментах.
При возникновении коллизий тратится рабочее время сети в двух аспектах.
• Прежде всего теряется часть полосы пропускания, равная сумме первоначально передаваемых данных, и сигнал коллизии (т.н. jam-сигнал. или сигнал затора). Такое явление называется задержкой потребления, оно затрагивает все сетевые узлы. Задержка потребления значительно уменьшает пропускную способность сети. Вслед за каждой успешной или неудачной попыткой передачи для всех станций сети наступает период простоя (период возврата), называемый межфреймовым зазором (или межфреймовым интервалом), который также влияет на пропускную способность сети.
• Второй аспект задержки связан с алгоритмом возврата после коллизии. Задержки возврата обычно незначительны.
Большое число коллизий происходит очень рано во фрейме, часто еще до флага SFD. О коллизиях, имевших место до флага начала фрейма (SFD), обычно не сообщается более высоким уровням, как если бы коллизии вообще не происходили. Как только обнаруживается коллизия, отправляющая станция (станции) передает 32-битовый jam-сигнал, который навязывает состояние коллизии всем станциям.
На рис. 15 две станции прослушивают сеть, для того чтобы убедиться в том, что кабель свободен, и начать передачу. Стандарт 802.3 устанавливает ограничения на время задержки сигнала каждым компонентом системы в самом худшем случае. Максимальная задержка при передаче сигнала в прямом и обратном направлениях в коллизионном домене при скорости передачи данных 10 Мбит/с составляет 512 битовых интервалов; это значение определяет минимальный размер фрейма. Первой начинает передачу станция 1 и успевает передать большую часть данных до того, как будет обнаружена коллизия. Станция 2 до обнаружения коллизии успевает отправить лишь несколько битов.
Рис. 13. Типичная обработка ошибок в коллезиооном домене, который работает со скоростью 10Мбит/с.
Рассмотрим пример, показанный на рис.13. более подробно. Станция 1 может передать значительную часть фрейма еще до того, как сигнал достигнет последнего сегмента кабеля. Станция 2 не успевает получить первый бит передачи до начала своей собственной передачи. Станция 2 может послать только несколько битов до того, как адаптер NIC обнаружит коллизию. Сразу после ее обнаружения станция 2 прекращает текущую передачу и подставляет на место передаваемых данных 32-битовый jam-сигнал. После этого станция 2 полностью прекращает передачу. Во время коллизии и передачи jam-сигналов, которые испытывает станция 2, фрагменты фреймов, поврежденных во время коллизии, движутся в обратном направлении по коллизионному домену в направлении станции 1. Станция 2 заканчивает передачу 32-битового jam-сигнала и после этого переходит в режим молчания до того момента, когда фрагменты коллизии достигнут станции 1. При этом станция 1, по-прежнему не зная о коллизии, продолжает передачу. Когда, наконец, фрагменты коллизии достигают станции 1, она также прерывает текущую передачу и подставляет 32-битовый jam-сигнал вместо оставшейся части передаваемого фрейма. После отправки 32-битового jam-сигнала станция 1 также прекращает все передачи.
Jam-сигнал может состоять из любых двоичных данных, поскольку он не является соответствующей контрольной суммой для уже переданной части фрейма. Наиболее часто в качестве .jam-сигнала используется простое чередование единиц и нулей: 1,0, 1, 0..., такое же, как и в преамбуле. При просмотре с помощью анализатора протоколов такой сигнал представляется как шестнадцатеричное число 5 или А-последовательность. Поврежденные частично переданные фрагменты (сообщения) часто называются фрагментами коллизии или, иногда, сленговым термином "карлики" (карликовыми фреймами). В отличие от запоздалых коллизий, обычные коллизии имеют длину менее 64 октетов и из-за этого не могут пройти тест минимальной длины и тест контрольной суммы FCS.
15. Типы коллизий
Коллизии обычно происходят в том случае, когда две или более станций, находящихся в одном коллизионном домене, одновременно ведут передачу. Коллизии регистрируются счетчиками событий большинством диагностических инструментов, однако они могут быть зарегистрированы и отдельно, как одиночные или множественные коллизии, когда коммутатор или другая станция опрашиваются протоколом SNMP. Понятие "одиночная коллизия" относится к тому случаю, когда при первой попытке передачи фрейма произошла коллизия, однако следующая попытка была успешной. Множественная коллизия означает, что успешной отправке фрейма предшествовали несколько неудачных попыток. Второй случай отличается от случая отложенной передачи, поскольку при откладывании передачи коллизия не происходит. Отложенная передача означает, что при попытке станции или коммутатора передать фрейм среда была занята, и потребовалось ожидать своей очереди на передачу. При неоднократных безуспешных попытках передать фрейм возможна ситуация, когда он вообще не будет передан; при этом сообщается, что отправка отменена из-за избыточного числа коллизий.
Результаты коллизий — фрагменты фреймов и поврежденные фреймы, длина которых меньше 64 октетов и которые имеют недействительную контрольную сумму, часто называются коллизионными фрагментами. Некоторые анализаторы протоколов и сетевые мониторы называют эти фрагменты "карликами", однако такой термин не совсем точен.
Основными типами ошибок фреймов в сетях Ethernet, которые могут быть зарегистрированы в сеансе работы анализатора протоколов, являются:
• локальная коллизия;
• удаленная коллизия;
• запоздалая коллизия.
Три типа коллизий показаны на рис.14.
Рис. 14 Типы коллизий: локальная, удаленная и запоздалая.
Локальные, удаленные и запоздалые коллизии
Локальные коллизии
Локальная коллизия в коаксиальном кабеле (10ВАSЕ2 или 10ВАSЕ5) происходит в том случае, когда проходящий по кабелю сигнал "встречается" с сигналом от другой станции. При этом волны сигналов накладываются друг на друга, в результате чего некоторые части сигнала взаимно погашаются, а другие удваиваются. Удвоение сигнала приводит к тому, что его напряжение превышает допустимый максимум, Такое состояние регистрируется всеми станциями локального кабельного сегмента как коллизия. В мониторах адаптеров NIC имеется специальная цепь, которая следит за возникновением состояния избыточного напряжения. Порогом избыточного напряжения является значение приблизительно в 1,5В, измеряемое в коаксиальном кабеле.
В кабеле UTP (таком, как 10ВАSЕ-Т. 10ВАSЕ-ТХ или 1000ВАSЕ-Т) коллизия в локальном сегменте обнаруживается только тогда, когда станция, передающая данные по паре передачи ТХ. (transmit), одновременно обнаруживает сигнал на принимающей паре RХ (rесеivе). Постольку эти два сигнала проходят по разным парам, характерного изменения амплитуды сигнала не происходит. Коллизии в кабеле UTP распознаются только в том случае, когда станция работает в полудуплексном режиме. В этом отношении единственное различие между полудуплексным и дуплексным режимами состоит в том, разрешено ли одновременное использование передающей и принимающей пар. Если станция не ведет передачу, то она не может обнаружить локальную коллизию. Однако возможно и противоположное явление:
дефект кабеля, такой, как избыточные наводки, может привести к тому, что станция воспримет свою собственную передачу как коллизию.
Удаленные коллизии
Характерными для удаленных коллизий являются фреймы, которые имеют длину меньше минимальной, недействительную контрольную сумму FSC, но не проявляют себя характерными для локальных коллизий симптомами — избыточным напряжением или одновременной передачей и приемом. Такой тип коллизий обычно возникает из-за столкновения фреймов на дальнем конце соединения, использующего повторители. Повторитель не может пересылать далее сигналы с избыточным напряжением и не может вызвать у станции одновременную активность обеих пар: принимающей RX и передающей ТХ. Для того чтобы обе пары станции были активны, она должна передавать данные, а это может привести к локальной коллизии. В сетях с кабелем UТР такая коллизия — наиболее часто наблюдаемый тип коллизий. Почти все средства мониторинга сетей, регистрирующие коллизии, такие, как программные анализаторы протоколов и средства удаленного мониторинга (Remote monitoring - RMON), будут обнаруживать только удаленные коллизии, поскольку они являются пассивными прослушивающими устройствами.
Запоздалые коллизии
После того как передающей станцией были переданы первые 64 октета данных, обычная коллизия произойти уже не может, До этого момента будут превышены теоретические максимумы времени распространения данных по сети. Коллизии, которые происходят после передачи первых 64 октетов данных, называются запоздалыми. Наиболее важное различие между такими коллизиями и теми, которые происходят до передачи первых 64 октетов, состоит в том, что Ethernet-адаптер NIC автоматически повторяет передачу попавшего в коллизию фрейма, но не делает этого для фрейма, который попал в коллизию позднее. В том, что касается адаптера NIC, проблем не возникает, поскольку верхние уровни стека протоколов делают вывод, что фрейм был утерян. Кроме повторной передачи, станция, обнаружившая позднюю коллизию, обрабатывает ее точно так же, как и обычную коллизию.
Кроме одного случая, стандарт 802.3 позволяет станции попытаться повторно передать фрейм, попавший в позднюю коллизию, но не требует этого. Версия Gigabit Ethernet явным образом запрещает повторную передачу фреймов, попавших в позднюю коллизию.
Поздняя удаленная коллизия имеет место в том случае, когда истекло время канального интервала и коллизия происходит на дальнем участке работы повторителя. Однако, поскольку повторитель не позволяет наблюдать симптомы локальной коллизии, проявляющиеся как избыточное напряжение или одновременные передача и прием, для обнаружения такой поздней коллизии и сообщения о ней станции, осуществляющей мониторинг, на дальнем сегменте должно присутствовать соответствующее аппаратное обеспечение. Догадаться о том, что на дальнем участке работы повторителя произошла удаленная запоздалая коллизия, можно также путем анализа нескольких последних октетов поврежденного фрейма с цепью нахождения последовательностей битов, характерных для jam-сигнала. Обычно такой тип коллизии обнаруживается в локальном сегменте просто как ошибка контрольной суммы FCS.
16. Ошибки в сетях Ethernet
В то время как локальные и удаленные коллизии рассматриваются как нормальный режим работы сети Ethernet , запоздалые коллизии квалифицируются как ошибки. Наличие ошибок в сети Ethernet всегда предполагает дальнейшее исследование характера работы сети. Уровень возникшей проблемы определяет, насколько срочным является вмешательство администратора для устранения возникших ошибок. Некоторое количество ошибок, произошедших за несколько часов работы сети, указывает на проблему невысокого приоритета. Если же за несколько минут произошли тысячи ошибок, требуется срочное вмешательство.
В качестве ошибок в работе сети Ethernet рассматриваются следующие ситуации:
• происходит одновременная передача от нескольких станций до того, как истекло время канального интервала;