Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
41
Добавлен:
05.06.2015
Размер:
644.45 Кб
Скачать

Управление доступом к среде передачи данных

Когда множество компьютеров подключены к одной и той же среде с узкополосной передачей, то должен быть реализован механизм управления доступом к среде (MAC, Media Access Control) для осуществления арбитража доступа и предотвращения одновременной передачи данных системами. Механизм управления доступом к среде является основой всех протоколов для любых ЛВС. Два наиболее распространенных механизма: множественный доступ с контролем несущей и обнаружением коллизий (CSMS/CD, Carrier Sense Multiple Access with Collision Detection), применяемый в сетях Ethernet, и передача маркера, которая используется сетями Token Ring, FDDI и другими типами ЛВС. Эти два механизма принципиально различны, но выполняют одну и ту же задачу, обеспечивая каждую систему в сети равными возможностями для приема/передачи данных.

Механизм управления доступом к среде CSMA/CD.

Подобно любому методу MAC, CSMA/CD позволяет компьютерам в сети совместно разделять единую узкополосную среду передачи без потери данных. В сети нет приоритетов, поскольку на этом основан метод доступа к среде. Каждый узел имеет равные права на доступ к сетевой среде передачи.

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

Коллизии возникают, когда одна система передает данные, а другая система выполняет контроль несущей в течение короткого промежутка времени до того момента, как первый бит переданного пакета достигнет ее. Этот интервал известен как время состязания (contention time) или временной зазор (slot time), так как каждая вовлеченная в процесс система полагает, что она начала передавать данные первой. Таким образом, каждый узел в сети всегда находится в одном из трех возможных состояний: передаче, соревновании или ожидании. Когда сталкиваются пакеты от двух различных узлов, в кабеле возникает состояние, отличное от нормы, которое распространяется навстречу обеим системам. Когда каждая передающая система выявляет ненормальную ситуацию, она осознает, что имеет место коллизия, немедленно прекращает посылать данные и предпринимает действия, чтобы исправить эту ситуацию. Это — стадия обнаружения коллизии. Из-за того, что столкнувшиеся пакеты считаются поврежденными, обе задействованные системы передают в остальную сеть сигнал задержки (jam pattern), информирующий другие системы в сети о столкновении и предотвращающее возможную передачу ими данных.

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

Передача маркера

Когда сеть свободна, рабочие станции находятся в режиме ожидания входящей посылки. Маркер непрерывно циркулирует от узла к узлу до тех пор, пока не достигнет рабочей станции, имеющей данные для передачи. Рабочая станция изменяет в маркере бит настройки монитора (monitor setting bit) указывая, что сеть занята, и отправляет маркер следующей станции, а сразу после него передает свой пакет данных.

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

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

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

Соседние файлы в папке Сетевое программирование от Ивана Ерохина