Сетевые технологии параллельного программирования
Управление обменом в сети типа "шина"
В этой топологии (рис. 3.4) возможно такое же централизованное управление, как и в "звезде" (т.е. физически сеть — "шина", но логически — "звезда"). При этом один из абонентов ("центральный") посылает всем остальным ("периферийным") запросы, выясняя, кто хочет передать, и затем разрешает передать одному из них. После окончания передачи абонент сообщает "центру", что он закончил, и "центр" снова начинает опрос. Все преимущества и недостатки такого управления - те же, что и в случае "звезды". Единственное отличие в том, что центр не перекачивает информацию от одного абонента другому, а только управляет доступом.
Однако чаще в "шине" реализуется децентрализованное управление, так как аппаратные средства абонентов одинаковые. При этом все абоненты также имеют равный доступ к сети, и решение, когда можно передавать, принимается каждым абонентом на месте, исходя из анализа состояния сети. Возникает конкуренция между абонентами за захват сети, и, следовательно, возможны конфликты между ними и искажения передаваемых данных из-за наложения пакетов.
Существует множество алгоритмов (сценариев) доступа, часто очень сложных. Их выбор зависит от скорости передачи в сети, от длины шины, загруженности сети (интенсивности обмена или трафика сети). Иногда для управления доступом к шине используется дополнительная линия связи. Это упрощает аппаратуру контроллеров и методы доступа, но заметно увеличивает стоимость сети в целом за счет удвоения длины кабеля и количества приемопередатчиков. Поэтому данное решение не получило широкого распространения.
Можно отметить ряд существующих методов обмена в сетях шинной архитектуры.
- Простейший метод, используемый при выбранном коде обмена NRZ в сравнительно медленных сетях, — децентрализованный кодовый приоритетный арбитраж. Данный метод арбитража был предложен Институтом Проблем Управления (ИПУ) еще в начале 1970-х годов. Он характеризуется низкой скоростью передачи, но высокой надежностью. Все абоненты имеют собственные приоритеты, которые могут динамически изменяться в зависимости от важности информации. При малой интенсивности обмена все абоненты равноправны (вероятность столкновений очень мала). Величина времени доступа к сети здесь не может быть гарантирована, так как абоненты с высокими приоритетами могут надолго занять сеть, не позволяя начать передачу абонентам с низкими приоритетами.
-
Второй метод, используемый в шине, — децентрализованный временной приоритетный арбитраж или метод доступа (рис. 3.5). Этот метод управления обменом обеспечивает более высокую скорость обмена, чем предыдущий (поскольку здесь нет ограничения на длительность каждого бита). Практически реализовать его так же сложно, как и предыдущий (каждый абонент должен отсчитывать свой временной интервал). Недостаток метода состоит также в том, что в случае большой длины сети и большого количества абонентов задержки становятся очень большими. Пример: при длине сети 1км, задержке сигнала в кабеле 4 нс/м и количестве абонентов 256 двойное время прохождения сигнала в сети 2L/V ( L — полная длина сети, V — скорость распространения сигнала в используемом кабеле), или минимальная задержка составит 8 мкс. Следовательно, для абонента с сетевым адресом 255 задержка будет уже равна 255*8мкс=2040 мкс, т.е. около 2 мс, что уже довольно существенно. Для сравнения: если пакет имеет размер 1 Кбайт, то при скорости передачи 10 Мбит/с его длительность будет всего 0,8 мс. Данный метод не имеет жесткой привязки к коду передачи информации (в предыдущем методе можно было использовать NRZ). Код может быть практически любым, главное — выбрать его таким, чтобы можно было определять занятость сети.
-
Третий метод, получивший довольно широкое распространение, можно считать развитием второго. Называется он CSMA/CD (Carrier-Sense Multiple Access/Collision Detection) или по-русски МДКН/ОК — метод доступа с контролем несущей и обнаружением коллизий (столкновений). Идея метода состоит в том, чтобы уравнять в правах всех абонентов в любой возможной ситуации, то есть добиться, чтобы не было больших и малых фиксированных приоритетов (как в случае второго метода). Для этого используются времена задержки, вычисляемые каждым абонентом по определенному алгоритму.
К достоинствам метода CSMA/CD можно отнести полное равноправие всех абонентов, то есть ни один из них не может надолго захватить сеть. Метод достаточно надежен: ведь в течение всего времени передачи пакета идет контроль столкновений. К недостаткам метода относится то, что он не исключает повторения столкновений, а также плохо держит высокую нагрузку в сети. Обычно считается, что он хорош только до тех пор, пока нагрузка не превышает 30%, то есть только 30% времени сеть занята, а 70% времени — свободна. Для сети Ethernet в среднем считается предельно допустимым 50-100 абонентов, иначе возможны существенные нарушения обмена. Основной недостаток метода — негарантированное время доступа: нельзя сказать наверняка, через сколько времени пакет точно дойдет до приемника. В этом отношении он хуже, чем методы централизованного управления (методы опроса).
Локальная сеть Ethernet
В настоящее время разными фирмами разработаны стандарты ЛВС, поддержанные аппаратно и программно. Наиболее распространенным стандартом, соответствующим требованиям режима вычислительного комплекса, является локальная сеть ETHERNET. (Спецификацию разработали компании Xerox Corporation, Digital Equipment Corporation (DEC), Intel Corporation.)
На базе Ethernet разработан стандарт IEEE 802.3. Сеть предполагает несколько конфигураций. Использует коаксиальный или оптоволоконный кабель.
Применяется топология "шина", т.е.:
- все устройства, подключенные к сети, равноправны, т.е. любая станция может начать передачу в любой момент времени, если передающая среда свободна;
- данные, передаваемые одной станцией, доступны всем станциям сети.
Для организации взаимодействия станций в сети используется метод Множественного Доступа с Контролем Несущей и Обнаружением Столкновений (МДКН/ОС) — Carrier Sense Multiple Access / Collision Detection (CSMA/CD).
Контроль Несущей: во время работы станция постоянно проверяет среду передачи. Передающая среда может быть
- свободна, т.е. ни одна другая станция не передает данные;
- занята, т.е. идет передача данных другой станцией.
Множественный Доступ: при использовании метода любая станция, обнаружив, что среда свободна, может начать передачу своих данных. Поэтому возможна ситуация, когда одновременно несколько станций начнут передавать данные.
Обнаружение Столкновений (Коллизий): станция, обнаружившая коллизию, выдает другим станциям специальный сигнал, по которому переданная информация считается недостоверной. После этого каждая станция делает повторную попытку передачи через специально найденное ею случайное время. Разное для всех станций случайное смещение времени повторной передачи служит высокой вероятности избежания коллизии. (Оригинальный способ избежать централизованного управления!) Если за 16 попыток станция не смогла передать пакет, считается, что среда неисправна. В локальную сеть всегда входит несколько абонентов, и каждый из них в любой момент времени может обратиться к сети. Поэтому требуется управление обменом с целью упорядочения использования сети различными абонентами, предотвращение или разрешение конфликтов между ними. В противном случае возможно искажение передаваемой информации. Для управления обменом (или управлением доступом к сети, или арбитража сети) используются различные методы, особенности которых определяются выбранной топологией сети.