Метод доступа и кадры для сетей Ethernet

На логическом уровне в Ethernet применяется топология шина:

· все устройства, подключённые к сегменту сети, равноправны, т. е. любая станция может начать передачу в любой момент времени, если передающая среда свободна,

· кадр, передаваемый одной станцией, одновременно анализируется всеми остальными станциями сегмента.

Стандарты Ethernet поддерживают метод доступа CSMA/CD (Carrier Sense Multiple Access / Collision Detection) и обеспечивают скорость передачи по шине 10 Мбит/с и 100 Мбит/с. По-русски этот метод доступа называется "Множественный доступ с контролем несущей и обнаружением коллизий". Ниже приводится краткое описание этого метода доступа.

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

Если при передаче кадра произошла коллизия (т. е. несущая частота изменилась на величины f2(f1), то станция прекращает передавать данные и выдаёт специальную последовательность из 32 битов, которая позволяет всем станциям определить, что произошла коллизия. Затем станция переходит в состояние ожидания на небольшой случайный промежуток времени, по окончании которого она, проверив среду, пытается ещё раз передать по сети свой кадр. Если за 16 попыток станции не удается передать свои данные, то считается, что среда недоступна.

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

Существует четыре основные разновидности кадров Ethernet (рис. 1). NetWare все их поддерживает.

Ethernet_II Ethernet_802.3 Ethernet_802.2 Ethernet_SNAP

P   P   P 7 P 7
SFD   SFD   SFD 1 SFD 1
DA   DA   DA 6 DA 6
SA   SA   SA 6 SA 6
Type   Length   Length 2 Length 2
Пакет       DSAP 1 DSAP 1
        SSAP 1 SSAP 1
  46-   46- Control 1 Control 1
        Пакет OUI 3
        43 - ID 2
        1497 Пакет 38-
         
FCS   FCS   FCS 4 FCS 4

Рисунок 3.1. Типы кадров для сетей Ethernet

Цифры на рисунке обозначают длины полей кадров (в байтах). Здесь введены следующие обозначения:

- P - преамбула. Представляет собой семибайтовую последовательность единиц и нулей (101010....). Это поле предназначено для синхронизации приёмной и передающей станций.

- SFD (Start Frame Delimiter) - признак начала кадра (10101011),

- DA (Destination Address), SA (Source Address) - адреса получателя и отправителя. Они представляют собой физические адреса сетевых адаптеров Ethernet и являются уникальными. Первые три байта адреса назначаются каждому производителю Ethernet-адаптеров (для адаптеров фирмы Intel это будет значение 00AA00h, а для адаптеров 3Com - 0020afh), последние три байта определяются самим производителем. Для широковещательных кадров поле DA устанавливается в FFFFFFFFh.

- FCS (Frame Check Sequence) - контрольная сумма всех полей кадра (за исключением полей преамбулы, признака начала кадра и самой контрольной суммы). Если длина пакета передаваемых данных меньше минимальной величины, то адаптер Ethernet автоматически дополняет его до 46 байтов. Этот процесс называется выравниванием (padding). Жёсткие ограничения на минимальную длину пакета были введены для обеспечения нормальной работы механизма обнаружения коллизий.

Теперь рассмотрим специфичные поля каждого типа кадра.

Ethernet_II

Этот тип кадра был разработан первым для сетей Ethernet. Дополнительно содержит следующее поле:

Type - определяет тип протокола сетевого уровня, пакет которого переносится этим кадром (8137h - для протокола IPX, 0800h - для протокола IP, 809Bh - для протокола AppleTalk и т. д.). Все идентификаторы имеют значения старше 05bch.

Ethernet_802.3

Этот тип кадра был создан фирмой Novell и является базовым для сетей с ОС NetWare 3.11. Дополнительно содержит следующее поле:

Length - длина передаваемого пакета.

Поскольку в этом кадре отсутствует поле с типом протокола, то он может быть использован только для переноса IPX. Заголовок пакета IPX (рисунок 2.14) следует непосредственно за полем длины, поэтому первое поле пакета (поле Checksum) содержит значение FFFFh.

Ethernet_802.2

Этот тип кадра разработан подкомитетом IEEE 802.3 в результате стандартизации сетей Ethernet. Этот кадр содержит следующие дополнительные поля:

- Length - длина передаваемого пакета,

- DSAP (Destination Service Access Point) - тип протокола сетевого уровня станции-получателя (E0h - для IPX),

- SSAP (Source Service Access Point) - тип протокола сетевого уровня станции-отправителя,

- Control - номер сегмента; используется при разбиении длинных IP-пакетов на более мелкие сегменты; для пакетов IPX это поле всегда содержит значение 03h (обмен ненумерованными датаграммами).

Ethernet_SNAP

Этот кадр является модернизацией кадра Ethernet_802.2 и содержит ещё два поля: OUI (Organizational Unit Identifier) и ID, которые определяют тип протокола верхнего уровня SNAP Protocol ID.

Каждая станция начинает принимать кадр с преамбулы Р. Затем сравнивает значение адреса DA со своим адресом. Если адреса одинаковы, или пришёл широковещательный кадр, или задана специальная программа обработки, то кадр копируется в буфер станции. Если нет, то кадр игнорируется.

Ниже приведён алгоритм идентификации типа кадра сетевым адаптером:

· если за полем SA следует значение старше 05dch, то это кадр Ethernet_II,

· если за полем Length следует идентификатор FFFFh, то это кадр Ethernet_802.3,

· если за полем Length следует идентификатор AAh, то это кадр Ethernet_SNAP, иначе - это кадр Ethernet_802.2.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: