Методы доступа и кадры для сетей Ethernet, Token Ring, ARCNet и FDDI

Обработку кадров, передаваемых по сети, выполняют сетевой адаптер, устанавливаемый в слот расширения станции, и соответствующий ему драйвер.

Сетевой адаптер (СА) и драйвер СА реализуют следующие функции:

В зависимости от поддерживаемого метода доступа и типа кадра сетевые адаптеры можно разделить на несколько групп: Ethernet, Token Ring, ARCNet, FDDI и др. Сети, где устанавливаются перечисленные адаптеры, имеют те же названия: сети Ethernet, сети Token Ring и т. д. Следует отметить, что рассматриваемые СА поддерживают разные методы доступа и типы кадров, поэтому они не совместимы между собой. Следовательно, на станциях, подключаемых к одному сегменту сети, необходимо устанавливать сетевые адаптеры одного типа.

Ниже рассматриваются методы доступа и кадры для сетей Ethernet, Token Ring, ARCNet и FDDI.

Метод доступа и кадры для сетей 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 со своим адресом. Если адреса одинаковы, или пришёл широковещательный кадр, или задана специальная программа обработки, то кадр копируется в буфер станции. Если нет, то кадр игнорируется.

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

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

Адаптеры Token Ring поддерживают метод доступа Token Ring (маркерное кольцо) и обеспечивают скорости передачи 4 Мбит/с или 16 Мбит/с. Ниже перечислены основные положения этого метода:

Data/Command Frame Token Abort
 
SD1SD1SD1
 
 
AC1AC1ED1
 
 
FC1ED1
 
 
 
 
DA6
 
 
 
 
 
 
SA6
 
 
 
 
 
 
Пакетдо 4202
 
 
 
 
 
 
 
 
 
 
 
 
 
 
FCS4
 
 
 
 
 
 
ED1
 
 
 
 
 
 
FS1
 
 
 
 
 

Рис. 2.29. Типы кадров для сетей Token Ring

Этот метод доступа излагается при обсуждении кадров Token Ring в конце данного пункта.

В сетях Token Ring используются три основных типа кадров (рисунок 2.29):

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

SD (Start Delimiter) - признак начала кадра. Синхронизирует работу приёмника и передатчика, подготавливает станцию к приёму пакета.

AC (Access Control) - поле управления доступом. Содержит поле приоритета Р (3 бита), поле маркера Т (1 бит), поле монитора М (1 бит) и рабочее поле R (3 бита). Поясним назначение полей Р, Т и М.

  1. Поле Р (Priority). Предположим, что станции WS1, WS2 и WS3 связаны в кольцо. Пусть у станции WS2 есть данные для передачи с приоритетом 5. В это время через неё проходит кадр (например, данные от WS1), где в поле AC установлен приоритет 3 (поле Р). Тогда WS2 запоминает старое значение Р (=3), устанавливает в Р новое значение (=5, т. е. более высокий уровень) и ретранслирует кадр дальше. По кольцу этот кадр возвращается к станции-отправителю WS1. Она, обнаружив в поле Р значение 5, формирует кадр Token (маркер) со значением поля Р, равным 5, и направляет этот кадр по кольцу. Таким образом, станция WS2 получит право на передачу, поскольку у неё самый высокий приоритет. Передав данные, WS2 сформирует и передаст кадр Token с приоритетом 5. Если ни одна станция в сети не имеет данных с таким приоритетом, то маркер (кадр Token) вернётся на WS2. Эта станция "вспомнит", что в своё время увеличила приоритет, и уменьшит его, изменив значение Р в поле AС с 5 на 3. Затем маркер с приоритетом 3 будет передан в сеть.
  2. Поле Т (Token). Этот бит равен 1, если это кадр Data/Command Frame, и равен 0, если это кадр Token.
  3. Поле М (Monitor). При первом проходе станция-монитор устанавливает этот бит в 1. Если затем она получает по кольцу этот кадр с битом М=1, то считает, что станция-отправитель неисправна и удаляет этот кадр из сети.

FC (Frame Control) - поле кадра управления. Для кадра управления в этом поле содержится команда управления. Это может быть команда инициализации кольца, команда проверки адресов устройств и т. п.

DA (Destination Address) - адрес приёмника. Это может быть broadcast-, multicast- или unicast-адрес.

SA (Source Address) - адрес источника.

Пакет - это данные, сформированные каким-либо протоколом (например, IPX). Максимальная длина пакета зависит от загрузки сети. При большой загрузке сети, когда многие станции имеют данные для передачи, интервал времени между получениями маркера станцией будет увеличиваться. В такой ситуации станции автоматически уменьшают максимальный размер пакета, поэтому каждая станция будет передавать свои данные за более короткий промежуток времени и, следовательно, уменьшится время получения (ожидания) маркера или время доступа станции к среде. Когда загрузка сети уменьшается, максимальный размер пакета динамически увеличивается. Этот механизм позволяет устойчиво работать сети Token Ring при пиковых нагрузках.

FCS (Frame Check Sequence) - контрольная сумма, вычисленная для полей FC, DA, SA, Пакет.

ED (End Delimiter) - конечный ограничитель кадра. Кроме этого один бит в этом поле используется для индикации, что этот кадр является последним в логической цепочке. Ещё один бит изменяется приёмником при обнаружении ошибки после сравнения контрольной суммы со значением в поле FCS.

FS (Frame Status) - поле статуса кадра. Состоит из полей A (Address Resolution) и C (Frame Copied). Передающая станция устанавливает эти поля в 0, а принимающая станция изменяет их в соответствии с результатами приёма кадра и ретранслирует кадр дальше по сети. Когда кадр возвращается на станцию-передатчик, выполняется проверка полей A и С (таблица 2.12), и кадр удаляется из кольца.

Таблица 2.12. Значения полей А и С
АСОписание
00Станция-приёмник не доступна в данный момент.
10Станция-приёмник обнаружила ошибку в кадре. Передача кадра повторяется.
01Недопустимая комбинация битов.
11Передача выполнена успешно.

Ниже приведено краткое описание метода доступа Token Ring.

Управление станциями в сети происходит с помощью передачи специального кадра Token - маркера (рисунок 2.29). Станция, которая приняла маркер, получает право на передачу и может передавать данные. Для этого станция удаляет маркер из кольца, формирует кадр данных и передаёт его следующей станции. В сети Token Ring все станции принимают и ретранслируют все кадры, проходящие по кольцу. При приёме станция сравнивает поле адреса кадра (DA) с собственным адресом. Если адреса не совпадают, то кадр передаётся далее по кольцу без изменений. Если адреса совпадают, или принят кадр с broadcast-адресом, то содержимое копируется в буфер станции, а по результатам приёма вносятся изменения в поле статуса кадра (FS). Затем кадр передаётся далее по сети и, таким образом, возвращается на станцию-отправитель. Получив кадр, станция-отправитель проверяет поле статуса кадра (FS) (таблица 2.12), формирует маркер и передаёт его следующей станции. Таким образом, следующая станция получает право на передачу данных.

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

При подключении устройств в ARCNet применяют топологию шина или звезда. Адаптеры ARCNet поддерживают метод доступа Token Bus (маркерная шина) и обеспечивают производительность 2,5 Мбит/с. Этот метод предусматривает следующие правила:

Этот метод доступа излагается после рассмотрения кадров ARCNet.

В сетях ARCNet используется асинхронный метод передачи данных (в сетях Ethernet и Token Ring применяется синхронный метод). Т. е. передача каждого байта в ARCNet выполняется посылкой ISU (Information Symbol Unit - единица передачи информации), состоящей из трёх служебных старт/стоповых битов и восьми битов данных.

В ARCNet определены 5 типов кадров (рисунок 2.30):

ITT FBE DATA ACK NAK
AB1AB1AB1AB1AB1
EOT1ENQ1SOH1ACK1NAK1
DID2DID2SID1
 
 
 
 
 
 
 
 
DID2
 
 
 
 
 
 
 
 
COUNT2
 
 
 
 
 
 
 
 
Пакет1-508
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
CRC2
 
 
 
 

Рис. 2.30. Типы кадров для сетей ARCNet

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

AB (Alert Burst) - начальный разделитель. Он выполняет функции преамбулы кадра.

EOT (End Of Transmit) - символ конца передачи.

DID (Destination Identification) - адрес приёмника (ID приёмника). Если в поле заносится значение 00h, то кадр обрабатывается всеми станциями.

ENQ (ENQuiry) - символ запроса о готовности к приёму данных.

SOH (Start Of Header) - символ начального заголовка.

SID (Source Identification) - адрес источника (ID источника).

COUNT = 512-N, где N - длина пакета в байтах.

CRC - контрольная сумма.

ACK (ACKnowledgments) - символ готовности к приёму данных.

NAK (Negative ACKnowledgments) - символ не готовности к приёму данных.

Ниже приведено описание метода доступа Token Bus.

Все станции в сети ARCNet определяются 8-битовым ID (Identification - физический адрес сетевого адаптера). Этот адрес устанавливается переключателями на плате.

В сети ARCNet очерёдность передачи данных определяется физическими адресами станций (ID). Первой является станция с наибольшим адресом, затем следует станция с наименьшим адресом, далее - в порядке возрастания адресов. Каждая станция знает адрес следующей за ней станции (NextID или NID). Этот адрес определяется при выполнении процедуры реконфигурации системы. Выполнив передачу данных, станция передаёт право на передачу данных следующей станции при помощи кадра ITT, при этом в поле DID устанавливается адрес NID. Следующая станция передаёт данные, затем кадр ITT и так далее. Таким образом, каждой станции предоставляется возможность передать свои данные. Предположим, что в сети работают станции с физическими адресами 3, 11, 14, 35, 126. Тогда маркер на передачу (кадр ITT) будет передаваться в следующей последовательности: 126®3®11®14®35®126®3 и т. д.

Для передачи пакета станция сначала должна получить маркер. Получив маркер, узел посылает кадр FBE той станции, которой должны быть переданы данные. Если станция-приёмник не готова, она отвечает кадром NAK, в противном случае - ACK. Получив ACK, узел, владеющий маркером, начинает передавать кадр DATA. После отправки кадра передатчик ожидает ответа в течение 75,6 мкс. Если получен ответ ACK, то передатчик передаёт маркер следующей станции. Если получен ответ NAK, то передатчик повторно передаёт приёмнику кадр DATA. Затем, вне зависимости от ответа маркер передаётся следующей станции.

Каждая станция начинает принимать кадр DATA, обнаружив передачу начального разделителя AB. Затем сравнивает значение адреса DID со своим адресом. Если адреса одинаковы или пришёл broadcast-кадр, данные записываются в буфер станции, если нет, то кадр игнорируется. Кадр считается нормально принятым, если он принят полностью, и контрольная сумма совпадает со значением в поле CRC. Получив нормальный кадр DATA, станция передаёт ответ ACK. Если при приёме обнаружена ошибка, то передаётся ответ NAK. В ответ на широковещательный кадр DATA кадры ACK и NAK не передаются.

В заключение этого пункта рассмотрим, как выполняется реконфигурация сети ARCNet.

Реконфигурация сети выполняется автоматически всякий раз при включении новой станции или при потере маркера. Сетевой адаптер начинает реконфигурацию, если в течение 840 мс не получен кадр ITT. Реконфигурация производится с помощью специального кадра реконфигурации (Reconfiguration Burst). Такой кадр длиннее любого другого кадра, поэтому маркер будет разрушен (из-за коллизии), и никакая станция в сети не будет владеть маркером (т. е. правом на передачу). После приёма кадра реконфигурации каждая станция переходит в состояние ожидания на время, равное 146*(256-ID) мкс. Если по окончании тайм-аута передач по сети не было (а это справедливо только для станции с наибольшим адресом ID), то узел передаёт кадр ITT с адресом DID, равным собственному ID. Если ни одна станция не ответила, узел увеличивает DID на единицу и повторяет передачу кадра ITT и т. д. После положительного ответа маркер передаётся ответившей станции, а её адрес ID запоминается как адрес следующей станции (NID). Эта операция повторяется, пока маркер не вернётся к первому узлу (станции с максимальным адресом). При выполнении реконфигурации каждая станция в сети узнаёт следующую за ней станцию. Таким образом формируется логическое кольцо, определяющее последовательность передачи маркера.

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

Адаптеры FDDI поддерживают метод доступа Token Ring (см. п. 2.3.6.2) и обеспечивают производительность 100 Мбит/с. Максимальная длина кольца с оптоволоконным кабелем FDDI - 100 км. Интерфейс FDDI (Fiber Distributed Data Interface) является более современным, чем Ethernet, Token Ring и ARCNet. Сети FDDI можно использовать для объединения нескольких сетей Ethernet, расположенных в разных зданиях (рисунок 2.31).

Часто в качестве адаптеров FDDI используются интеллектуальные концентраторы, выполняющие функции моста, например, NetBuilder II. На рисунке интеллектуальный концентратор обозначен как Hub1. Простой концентратор (Hub2) обычно выполняет роль повторителя. Метод доступа, используемый в сетях FDDI, имеет следующие отличия от Token Ring (см. п. 2.3.6.2):

В сетях FDDI используются два основных типа кадра (рисунок 2.32):

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

P - преамбула. Это поле предназначено для синхронизации.

SD - признак начала кадра.

FC - поле, состоящее из следующих областей: CLFFTTTT.

Рис. 2.31. Использование интерфейса FDDI для объединения сетей Ethernet

Бит C устанавливает класс кадра, который определяет, будет ли кадр использоваться для синхронного или асинхронного обмена. Бит L - это индикатор длины адреса станции (16 или 48 битов). В отличие от Ethernet и Token Ring здесь допускается использование в одной сети адресов той и другой длины. Биты FF определяют, принадлежит ли кадр подуровню MAC (т. е. кадр предназначен для управления кольцом) или подуровню LLC (т. е. кадр предназначен для передачи данных). Если кадр является кадром подуровня MAC, то биты TTTT определяют тип пакета (IPX и т. д.).

DA - адрес станции-приёмника.

SA - адрес станции-источника.

FCS -контрольная сумма.

ED - конечный ограничитель кадра.

FS - поле статуса пакета. Это поле содержит поля А (Address Resolution) и C (Frame Copied) (см. таблицу 2.12).

Data/Command Frame Token
P8P8
SD1SD1
FC1FC1
DA2 или 6ED1
SA2 или 6FS1
Пакетдо 4500
 
 
 
 
 
 
FCS4
 
 
ED1/2
 
 
FS1
 
 

Рис. 2.32. Типы кадров для сетей FDDI

Предыдущая глава || Оглавление || Следующая глава