- •Протоколы канального уровня
- •Стандарты Ethernet
- •Спецификации физического уровня
- •Спецификации физического уровня Ethernet
- •Ethernet на коаксиальном кабеле
- •Ethernet на оптоволоконном кабеле
- •Основные принципы прокладки кабеля
- •Кадр Ethernet
- •Адресация Ethernet
- •Поле Ethertype/Length
- •Типичные шестнадцатеричные значения Ethertype
- •Механизм csma/cd
- •Краткое содержание занятия
- •Занятие 2. Token Ring
- •Спецификации физического уровня
- •Передача маркера
- •Кадр Token Ring
- •Краткое содержание занятия
- •Занятие 3. Fddi
- •Физический уровень fddi
- •Кадры fddi
- •Краткое содержание занятия
- •Занятие 4. Беспроводные сети
- •Физический уровень ieee 802.11
- •Управление доступом к среде в стандарте ieee 802.11
- •Краткое содержание занятия
- •Протоколы сетевого уровня
- •Протокол ip
- •Ip помещает данные транспортного уровня в дейтаграмму
- •Стандарт ip
- •Функции ip
- •Инкапсуляция
- •Поля дейтаграммы выполняют следующие функции.
- •Адресация
- •Маршрутизация
- •Фрагментация
- •Идентификация протокола
- •Параметры ip
- •Краткое содержание занятия
- •Занятие 2. Протокол ipx
- •Заголовок ipx
- •Адресация
- •Протокол NetBeui
- •Имена NetBios
- •Кадр NetBeui
- •Протокол nmp
- •Протокол smp
- •Протокол udp
- •Протокол dmp
- •Краткое содержание занятия
- •Занятие 4. AppleTalk
- •Протокол tcp
- •Заголовок tcp
- •Краткое содержание занятия
- •Порты и сокеты
- •Управляющие биты
- •Установка соединения
- •Передача данных
- •Подтверждение доставки
- •Протокол spx
- •Протокол ncp
Механизм csma/cd
Механизм MAC — определяющий элемент стандарта Ethernet. Протокол, во всех остальных отношениях очень похожий на Ethernet, например, 100VG Any LAN, попадет в другую категорию, если в нем используется другой механизм MAC. Название «Множественный доступ с контролем несущей и обнаружением коллизий» (Carrier Sense Multiple Access with Collision Detection) кажется несколько громоздким, но суть этого механизма проста, если, конечно, не вдаваться в подробности.
Когда системе Ethernet нужно передать данные, она прежде всего проверяет, не занята ли сеть другой системой. Этот этап называется фазой контроля несущей (carrier sense). Если сеть занята, система ждет некоторое время, а потом снова проверяет сеть на занятость. Если сеть свободна, система передает пакет данных. Эта этап называется фазой множественного доступа (multiple access), поскольку за право получить доступ к среде соревнуются все системы одной ЛВС.
Фазы контроля несущей и множественного доступа демонстрируются в видеоролике CSMA из папки Demos на прилагаемом к книге компакт-диске.
Хотя во время фазы контроля несущей и выполняется начальная проверка, она все-таки не гарантирует, что две системы в сети не начнут передачу одновременно, вызвав тем самым коллизию (collision). Такое, например, происходит, когда одна система выполняет контроль несущей, а другой компьютер уже начал передачу, но его сигнал еще не достиг первой системы. Убедившись в незанятости сети, первый компьютер тоже начинает передачу, и где-то в кабеле два пакета встречаются. Происходит коллизия, в результате которой оба пакета игнорируются, и системы должны повторить их передачу. Такие коллизии в сетях Ethernet — вещь вполне обычная и ожидаемая, и они не создают проблем, если их не слишком много и компьютеры способны их обнаруживать.
Коллизия демонстрируется в видеоролике Collision из папки Demos на прилагаемом к книге компакт-диске.
Примечание Хотя все без исключения называют столкновение пакетов коллизией, согласно стандарту IEEE 802.3, оно представляет собой ошибку качества сигнала (Signal Quality Error, SQE). В подобных стандартах это обычная практика — придумывать сложные термины там, где можно обойтись одним словом.
Самая важная часть процесса передачи данных — фаза обнаружения коллизий (collision detection). Если системы не распознают столкновение пакетов, поврежденные данные могут достичь целевой системы, которая обработает их как корректные. Сети Ethernet спроектированы так, чтобы пакеты были достаточно большими и заполняли весь сетевой кабель сигналами, пока не будет передан последний бит информации. Именно поэтому пакеты Ethernet должны быть не менее 64 байтов в длину, именно поэтому система перед передачей дополняет короткие пакеты до 64 байтов, именно поэтому в стандартах Ethernet накладываются такие строгие ограничения на длину сегментов кабеля.
Компьютер способен обнаружить коллизию, пока он находится в процессе передачи данных. При использовании кабеля UTP или оптоволоконного кабеля компьютер «предполагает», что случилась коллизия, если сигнал регистрируется как и в передающих, так и в принимающих проводах. В коаксиальных сетях о коллизии говорит резкий скачок напряжения в кабеле. Если кабель слишком длинный или пакет слишком короткий, система может завершить передачу до того, как обнаружит признаки коллизии.
Внимание! Очевидно, что коллизия может произойти и после того, как последний бит данных покинул передающую систему. Такая коллизия называется запоздавшей (late collision) и указывает на наличие в сети Ethernet серьезной проблемы (например, неисправного сетевого адаптера), которую нужно как можно быстрее исправить.
Обнаружив коллизию, система немедленно останавливает передачу данных и начинает передачу сигнала затора (jam pattern), сигнализируя всем системам сети, что произошла коллизия, и потому необходимо игнорировать все пакеты, частично принятые к этому времени, и не начинать передачу данных, пока сеть не очистится. После передачи сигнала затора система выдерживает паузу до новой попытки передать данные. Продолжительность этой паузы называется периодом задержки (backoff period), и обе системы, вовлеченные в коллизию, рассчитывают его самостоятельно по алгоритму усеченной двоичной экспоненциальной задержки (truncated binary exponential backoff) с использованием генератора случайных чисел. Случайным образом период вычисляется для того, чтобы у двух систем он не совпал и они не начали передачу одновременно, породив новую коллизию.
Процедура действия CSMA/CD такова, что чем больше систем Вы подключаете к сети и чем больше они передают данных, тем больше происходит коллизий. Коллизии — нормальная часть работы сети Ethernet, но это не значит, что они ей не мешают. Коллизии приводят к задержкам в передаче данных, так как некоторые пакеты системам приходится посылать повторно. Если число коллизий не превышает норму, задержки не существенны, но, когда нагрузка на сеть увеличивается, число коллизий также возрастает, и связанная с ними суммарная задержка уже заметно ухудшает работу сети. Поэтому сети Ethernet не рекомендуется слишком перегружать. Для ослабления нагрузки на сеть в ней можно установить мост или коммутатор или разделить ее на две ЛВС, соединенные маршрутизатором.
Может показаться, что управление доступом к сетевой среде с помощью механизма CSMA/CD происходит неэффективно, но на самом деле действия, с помощью которых система борется за доступ к сети и ликвидирует последствия коллизий, производятся много раз в секунду, причем так быстро, что задержкой можно пренебречь, если число коллизий не чрезмерно. Управление доступом к среде демонстрируется в видеоролике Contention из папки Demos на прилагаемом к книге компакт-диске.