logo
Лекции_Информационные сети

Механизмы снижения интенсивности трафика

Проблема слишком большого трафика в сети становится ясна из следующего замечания: если у процессора порта коммутатора буфер заполнен, то вновь поступающие кадры просто отбрасываются!

Существует два механизма снижения интенсивности трафика коммутаторами:

- агрессивное поведение порта;

- метод обратного давления.

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

Порт коммутатора для захвата сети должен вести себя агрессивно и при передаче и при коллизии в сети. В первом случае коммутатор оканчивает передачу очередного кадра и делает технологическую паузу в 9.1 мкс вместо положенной паузы в 9.6 мкс. При этом компьютер, выждав паузу в 9.6 мкс, не может захватить среду передачи данных. После коллизии, когда кадры коммутатора и компьютера сталкиваются, компьютер делает стандартную паузу в 51.2 мкс, а коммутатор - в 50 мкс. И в этом случае среда передачи остается за коммутатором.

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

Надежность сети + исключение петель –> коммутаторы, поддерживающие STP – протокол.

Мы уже говорили, что из всего сетевого оборудования наиболее часто выходят из строя кабельные системы. Казалось бы, для повышения надежности сети следует проложить запасные линии, которые можно было бы использовать в случае, если основные вышли из строя. Так можно поступить, но при этом следует учесть, что все базовые функции мостов и маршрутизаторов - обучение, фильтрация и продвижение пакетов - работают при существовании только одного логического пути между любыми двумя устройствами сети. Как же сохранить запасные пути, не мешая работе сетевых устройств?

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

Этим протоколом пользуются коммутаторы и мосты (о мостах мы будем говорить чуть позже).

Сначала заметим, что широковещательный сигнал передается на все порты коммутатора, кроме входного.

В

примере видно, как существование петли порождает шторм широковещательных сообщений. Если станция А передает широковещательный сигнал, то коммутаторы Б и В, получив его передадут друг другу и затем коммутатору А, который снова передаст сообщение Б и В и т.д.

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

Алгоритм протокола STP можно условно разбить на две части: цель первой – найти корневой коммутатор, цель второй – для каждого коммутатора найти порт, через который путь до корня будет иметь минимальную стоимость (такой порт становится назначенным).

Для работы протокола STP требуется от администратора каждому узлу назначить идентификатор коммутатора (некое 8-байтовое число) и цену (иначе она берется по умолчанию стоимость порта = 1000 / скорость передачи порта в Мбит/сек). В данном случае "узлы" - только коммутаторы, остальные сетевые устройства никак не связаны с протоколом STP.

Примерная структура BPDU - пакета:

- тип сообщения (различаются нормальная работа и извещения об изменениях топологии);

- корневой ID;

- время приветствия (промежуток времени между посылками сообщений корневым коммутатором);

- возраст сообщения (время, прошедшее с момента отправки корневым коммутатором сообщения об обнаружении изменений в топологии сети);

- стоимость пути до корня;

Коммутаторы обмениваются специальными сообщениями - BPDU (bridge protocol data unit единицы данных мостового протокола) пакетами.

Протокол STP работает следующим образом: каждое устройство хранит два вида данных: время "максимальный возраст" и "возраст сообщения", этот таймер сбрасывается при получении BPDU - пакета от корневого узла. Если время вышло, узел начинает сам распространять BPDU-пакеты, предлагая в этих пакетах себя в качестве корневого. В случае обрыва сети обычно сразу несколько коммутаторов начинают рассылку BPDU пакетов (все, не получившие пакеты-приветствия от корневого). Коммутатор, получивший такой пакет, анализирует его, и если его собственный идентификатор больше, чем значение в поле "корневой ID", то коммутатор перестает рассылать сообщения с собственным идентификатором и начинает рассылать пакеты с полученным (меньшим) идентификатором. Таким образом, через некоторое время, корневым выбирается коммутатор с наименьшим идентификатором.

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

Пример: белым цветом указан идентификатор коммутатора, черным – стоимости портов.

1

3

1

3

2

1

2

1

2

5

3

1

1

2

2

7

4

1

3

Корневым выберется коммутатор с ид.=1. Рассмотрим возможные пути до корня для коммутатора 3, посчитаем в скобках стоимость). Это 1-3 (1), 1-4-3 (9), 1-4-5-3(11), 1-2-4-3(6), 1-2-4-5-3(8). Назначенным становится порт на линии 1-3. Аналогично проведем расчеты для каждого коммутатора. На рисунке двойными линиями обозначены ветки, выбранные в качестве рабочих (остальные – резервные).