Детские болезни Ethernet и борьба с ними

Ethernet использует "случайный" метод доступа к сети (CSMA/CD - carrier-sense multiple access/collision detection) - множественный доступ с обнаружением несущей. В нем отсутствует последовательность, в соответствии с которой станции могут получать доступ к среде для осуществления передачи. В этом смысле доступ к среде осуществляется случайным образом. Преимущество метода: алгоритмы случайного доступа реализуются значительно проще по сравнению с алгоритмами детерминированного доступа. Следовательно, аппаратные средства могут быть дешевле. Поэтому Ethernet более распространен по сравнению с другими технологиями для локальных сетей. При загрузке сети уже на уровне 30% становятся ощутимыми задержки при работе станций с сетевыми ресурсами, а дальнейшее увеличение нагрузки вызывает сообщения о недоступности сетевых ресурсов. Причиной этого являются коллизии, возникающие между станциями, начавшими передачу одновременно или почти одновременно. При возникновении коллизии, передаваемые данные не доходят до получателей, а передающим станциям приходится возобновлять передачу. В классическом Ethernet все станции в сети образовывали домен коллизий (collision domain). При этом одновременная передача любой пары станций приводила к возникновению коллизии.

Сегментация сети

Основной способ борьбы с перегрузкой сегментов во времена преобладания сетей стандарта 10Base2. Весь сегмент разбивался на части. При этом вопрос передачи информации между сегментами при необходимости решался с помощью маршрутизации. Аппаратные средства особой популярностью не пользовались. Обычно сервер с несколькими сетевыми адаптерами устанавливался приблизительно в центре сети и на нем настраивался программный маршрутизатор. Таким образом, кроме изоляции коллизий в отдельных сегментах, можно было увеличить общий размер сети до 185 + 185 = 370 м.

Коммутация пакетов

Используя топологию "звезда", стандарт 10Base-T на физическом уровне реализует "свернутую" или "коллапсированную" общую шину, поэтому проблема коллизий актуальна и для него. Впервые технология коммутации сегментов Ethernet была предложена фирмой Kalpana в 1990 году. Коммутирующие концентраторы, или просто коммутаторы (switch), позволили каждой станции использовать среду передачи без конкуренции с другими за счет буферизации входящих данных и передаче их станции-получателю только тогда, когда его порт открыт. Коммутация фактически преобразует Ethernet из широковещательной системы с конкурентной борьбой за полосу пропускания в систему адресной передачи данных. При этом пары портов отправитель-адресат динамически образуют независимые виртуальные каналы. Это увеличивает пропускную способность сети по сравнению с применением концентраторов. Довольно популярными являются решения, когда серверы подключаются к более скоростным портам коммутатора, станции - к менее скоростным. В этом случае в идеале каждая станция имеет доступ к серверу с максимальной скоростью, поддерживаемой адаптером.

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

Передача пакетов от порта-источника в порт-получатель в коммутаторе происходит либо "на лету" (cut-though), либо с полной буферизацией пакетов (store-and-forward). При использовании передачи "на лету" передача порту-получателю начинается еще до окончания приема пакета с порта-источника, используя адрес получателя из заголовка пакета. Такой способ сокращает задержки передачи при небольшой загрузке сети, однако ему присущи и недостатки - в этом случае невозможна предварительная обработка пакетов, позволяющая отбрасывать плохие пакеты без передачи их получателю. При увеличении загрузки сети задержка при передаче "на лету" практически равняется задержке при передаче с буферизацией, это объясняется тем, что в этом случае выходной порт часто бывает занят приемом другого пакета, поэтому вновь поступивший пакет для данного порта все равно приходится буферизовать.

Во многих коммутаторах применяется адаптивная технология: режимы буферизации и передачи "на лету" применяются в зависимости от величины нагрузки сети.

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

Долгое время стандарт на ВЛС отсутствовал, вместе с тем существовало множество несовместимых друг с другом фирменных реализаций. Сейчас принят стандарт на ВЛС IEEE 802.1Q.

Для построения ВЛС до принятия стандарта IEEE 802.1Q обычно применялась группировка портов, либо группировка MAC-адресов. Решения на основе группировки портов проще в применении, но в случае соединения нескольких коммутаторов каждая ВЛС требует отдельного соединения между ними, что приводит к расточительному использованию портов и кабелей. Группировка на основе MAC адресов рациональнее использует порты и соединения, но трудоемка при эксплуатации. В качестве достоинства этих способов можно отметить использования стандартных кадров Ethernet. Стандарт IEEE 802.1Q предусматривает изменение структуры кадра Ethernet с введением в него дополнительных полей, в которые помещаются сведения о принадлежности узла к определенной ВЛС. Кроме того, добавляются поля, где храниться информация о приоритете кадра, используемая в стандарте IEEE 802.1p.

Для передачи информации между разными ВЛС необходимо привлечение сетевого уровня. Соответствующие средства могут представлять собой либо отдельный маршрутизатор, либо входить в состав аппаратно-программного обеспечения коммутатора. Коммутаторы, имеющие средства для работы на уровне сетевых протоколов, называются "маршрутизирующими коммутаторами", "коммутаторами третьего уровня". Для управления потоками информации в них применяется либо последовательная, либо потоковая маршрутизация пакетов. В первом случае реализуются классические функции маршрутизатора, и каждый пакет обрабатывается отдельно. Во втором случае используется нестандартный метод, применяемый для сокращения числа операций для определения маршрута пакетов. Первый пакет обрабатывается на третьем уровне и определяет порт назначения для остальных пакетов для того же адресата. Дальнейшая пересылка пакетов происходит на втором уровне, что ускоряет процесс передачи по сравнению с классической маршрутизацией. Для упрощения реализации в коммутаторах третьего уровня применяется маршрутизация только протоколов IP и IPX, как наиболее распространенных в локальных сетях.

Приоритезация трафика

Еще одно свойство Ethernet, рассматриваемое как недостаток при необходимости передачи по сети информации, чувствительной к задержкам, такой как голос и видео. Протоколы канального уровня Ethernet не поддерживают поле приоритета кадра, поэтому для решения этой проблемы производители сетевого оборудования начали встраивать в коммутаторы дополнительные технологические решения. Например, технология фирмы 3Com PACE (Priority Access Control Enabled - управление приоритетами доступа), позволяющая в одном канале выделить два логических подканала - с высоким и низким приоритетами. В этом случае приоритеты приписываются портам коммутатора и кадр помещается в очередь кадров соответствующего приоритета в зависимости от того, на какой порт он поступил. PACE использует стандартный формат кадров для использования в одной сети оборудования как с поддержкой PACE, так и без нее.

Положение изменилось с принятием стандарта IEEE 802.1p: появилась возможность определения восьми уровней приоритета кадра на основе использовании новых полей, определенных в стандарте IEEE 802.1Q. Таким образом, управление приоритетами организуется более гибко, без привязки к определенным портам.

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

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

Наши рекомендации