3.3.2. Управление обменом в сети с топологией «шина» В принципе при топологии «шина» возможно точно такое же централизованное управление, как и в случае звезды. При этом один из абонентов («центральный») посылает всем остальным («периферийным») запросы, выясняя, кто из них хочет передать, затем разрешает передачу одному из абонентов. После окончания передачи передававший абонент сообщает «центру», что он закончил передачу, и «центр» снова начинает опрос (рис. 3.6). Все преимущества и недостатки такого управления - те же самые, что и в случае звезды. Единственное отличие состоит в том, что центр здесь не пересылает информацию от одного абонента к другому, как в топологии «активная звезда», а только управляет обменом. Однако гораздо чаще в шине используется децентрализованное случайное управление, так как все сетевые адаптеры всех абонентов в данном случае одинаковы. При выборе децентрализованного управления все абоненты также имеют равные права доступа к сети, то есть особенности топологии совпадают с особенностями метода управления. Решение о том, когда можно передавать свой пакет, принимается каждым абонентом на месте, исходя только из анализа состояния сети. В данном случае существует конкуренция между абонентами за захват сети и, следовательно, возможны конфликты между ними и искажения передаваемых данных из-за наложения пакетов. Рис. 3.6. Централизованное управление в сети с топологией «шина» Существует множество алгоритмов доступа или, как еще говорят, сценариев доступа, порой очень сложных. Их выбор зависит от скорости передачи в сети, от длины шины, загруженности сети (интенсивности обмена или трафика сети), от используемого кода передачи. Отметим, что иногда для управления доступом к шине используется дополнительная линия связи, что упрощает аппаратуру контроллеров и методы доступа, но обычно заметно увеличивает стоимость сети в целом за счет удвоения длины кабеля и количества приемопередатчиков. Поэтому данное решение не получило широкого распространения. Суть всех случайных методов управления обменом довольно проста. Пока сеть занята, то есть по ней идет передача пакета, абонент, желающий передавать, ждет освобождения сети. Ведь в противном случае неминуемо исказятся и пропадут оба пакета. После освобождения сети абонент, желающий передавать, начинает свою передачу. Если одновременно с ним начали передачу еще несколько абонентов, то возникает коллизия (конфликт, столкновение пакетов). Конфликт этот детектируется всеми абонентами, передача прекращается, и через некоторое время предпринимается повторная попытка передачи. При этом не исключены повторные коллизии и новые попытки передать свой пакет. И так продолжается до тех пор, пока пакет не будет передан без коллизий. Существует несколько разновидностей случайных методов управления обменом. В некоторых из них не все передающие абоненты распознают коллизию, а только те, которые имеют меньшие приоритеты. Абонент с максимальным приоритетом из всех, начавших передачу, закончит передачу своего пакета без ошибок. В некоторых случайных методах управления обменом каждый абонент начинает свою передачу после освобождения сети не сразу, а выдержав свою, строго индивидуальную задержку. Максимальным приоритетом будет обладать абонент с минимальной задержкой. Но хотя в обоих случаях имеется система приоритетов, методы все-таки относятся к случайным, так как исход конкуренции невозможно предсказать. Чаще всего система приоритетов отсутствует полностью, и после обнаружения коллизии абоненты выбирают задержку до следующей попытки передачи по случайному закону. Именно так работает стандартный метод управления обменом CSM A/CD (Carrier Sense Multiple Access with Collision Detection), используемый в самой популярной сети Ethernet. Его главное достоинство в том, что все абоненты полностью равноправны, и ни один из них не может надолго заблокировать обмен другому (как в случае наличия приоритетов). Подробнее метод CSMA/CD будет рассмотрен в специальной главе. Понятно, что все подобные методы будут хорошо работать только при не слишком большой интенсивности обмена по сети. Считается, что приемлемое качество связи обеспечивается только при нагрузке не выше 30-40% (то есть сеть занята не более 30-40% всего времени). При большей нагрузке становятся слишком частыми повторные столкновения, и наступает так называемый коллапс, или крах сети, представляющий собой резкое падение ее производительности. Недостаток всех подобных методов еще и в том, что они не гарантируют величину времени доступа к сети, которая зависит не только от выбора задержки между попытками передачи, но и от общей загруженности сети. Поэтому, например, в сетях, выполняющих задачи управления оборудованием (на производстве, в научных лабораториях), где требуется быстрая реакция на внешние события, сети со случайными методами управления используются довольно редко. При любом случайном методе управления обменом возникает вопрос о том, какой должна быть минимальная длительность пакета, чтобы коллизию обнаружили все начавшие передавать абоненты. Ведь сигнал по любой физической среде распространяется не мгновенно, и при больших размерах сети (как еще говорят, при большом диаметре сети) задержка распространения может составлять десятки и сотни микросекунд, и информацию об одновременно происходящих событиях разные абоненты получают не одновременно. Чтобы ответить на этот вопрос, обратимся к рис. 3.7. Рис. 3.7. Расчет минимальной длительности пакета Пусть L — полная длина сети, V - скорость распространения сигнала в используемом кабеле. Допустим, абонент 1 закончил свою передачу, а абоненты 2 и 3 захотели передавать во время передачи абонента 1. После освобождения сети абонент 3 узнает об этом событии и .начинает свою передачу через временной интервал прохождения сигнала по всей длине сети, то есть через время L/V, а абонент 2 начнет передавать сразу после освобождения сети. Пакет от абонента 3 дойдет до абонента 2 еще через временной интервал L/V после начала передачи абонентом 3 (обратный путь сигнала). К этому моменту передача пакета абонентом 2 ни в коем случае не должна еще закончиться, иначе абонент 2 так и не узнает о столкновении пакетов (о коллизии). Поэтому получается, что минимально допустимая длительность пакета в сети должна составлять 2L/ V, то есть должна равняться удвоенному времени распространения сигнала по полной длине сети (или по пути наибольшей длины в сети). Это время называется двойным или круговым временем задержки сигнала в сети, или PDV (Path Delay Value). Отметим, что этот же временной интервал можно рассматривать как универсальную меру одновременности любых событий в сети. Отдельно стоит остановиться на том, как сетевые адаптеры распознают коллизию, то есть столкновение пакетов. Ведь простое сравнение передаваемой абонентом информации с той, которая реально присутствует в сети, возможно только в случае самого простого кода NRZ, используемого довольно редко. При применении кода Манчестер-П, который обычно подразумевается в случае метода управления обменом CSMA/CD, требуется принципиально другой подход. Как уже отмечалось, сигнал в коде Манчестер-П всегда имеет постоянную составляющую, равную половине размаха сигнала (если один из двух уровней сигнала нулевой). Однако в случае столкновения двух и более пакетов (коллизии) это правило выполняться не будет. Постоянная составляющая суммарного сигнала в сети будет обязательно больше или меньше половины размаха (рис. 3.8). Ведь пакеты всегда отличаются друг от друга и к тому же сдвинуты друг относительно друга во времени. Именно по выходу уровня постоянной составляющей за установленные пределы и определяет каждый сетевой адаптер наличие коллизии в сети. Рис. 3.8. Определение факта коллизии при использовании кода Манчестер-II |