Операционная система NetWare

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


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

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

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

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

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

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

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

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

    Ethernet_II Ethernet_802.3 Ethernet_802.2 Ethernet_SNAP

    P7P7P7P7

    SFD1SFD1SFD1SFD1



    DA6DA6DA6DA6

    SA6SA6SA6SA6

    Type2Length2Length2Length2

    Пакет DSAP1DSAP1

    SSAP1SSAP1

    46- 46-Control1Control1

    1500 1500Пакет OUI3

    43 -ID2

    1497Пакет38-

    1495

    FCS4FCS4FCS4FCS4

    Рис. 2.28. Типы кадров для сетей 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.


    Содержание раздела