Особенности физического уровня модели взаимодействия открытых систем (osi) - алгоритм обнаружения и устранения коллизий в сети Ethernet

ОСОБЕННОСТИ ФИЗИЧЕСКОГО УРОВНЯ МОДЕЛИ ВЗАИМОДЕЙСТВИЯ ОТКРЫТЫХ СИСТЕМ (OSI) - АЛГОРИТМ ОБНАРУЖЕНИЯ И УСТРАНЕНИЯ КОЛЛИЗИЙ В СЕТИ ETHERNET

Д.С. Коптев, магистр А.Н. Щитов, студент А.Н Шевцов, студент

Юго - Западный государственный университет

Аннотация. Ethernet - высокопроизводительная технология, пока сеть заполнена пакетами не более чем на 40 процентов. Если количество пакетов увеличивается, то возникает больше коллизий и все больше пакетов приходится пересылать повторно. Чем больше загружен стандартный Ethernet, тем больше у пользователя проблем. Некоторые говорят, что на самом деле Ethernet не обеспечивает пропускную способность 10 Мбит/с, потому что нельзя достичь такой скорости передачи данных, подключив в сегмент 20 узлов, каждый из которых занимал бы 500 Кбит/с. В такой ситуации происходит очень много коллизий и повторных передач, из-за чего реальная пропускная способность оказывается 4 - 5 Мбит/с. Однако данная технология жива и продолжает успешно применяться повсеместно.

Ключевые слова: Ethernet, модель OSI, уровень передачи, физическая среда, алгоритм обнаружения коллизий.

В настоящее время принята семиуровневая эталонная модель коммуникации OSI (Open System Interconnection, Взаимодействия Открытых Систем). Предложена она была Международной организацией по стандартизации (ISO) для упрощения взаимодействия соединений между большим числом сетей разного типа. Основная идея - каждый уровень предполагает, что напрямую взаимодействует с подобным уровнем другого устройства, хотя на самом деле может соединяться только с соседними уровнями своего узла.

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

С методологической же точки зрения, модель OSI служит основой для описания сетевой стратегии, разделяя для этого задачу на семь относительно автономных уровней, и определяя их функции и правила взаимодействия.

1. Физический уровень (Physical). Определяет такие характеристики, как уро-

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

2. Канальный уровень (Data link). Обеспечивает безошибочную передачу данных через физический канал. Он оперирует блоками данных, которые называются кадрами (frame). В протоколах канального уровня заложена определенная процедура доступа к среде, и способы адресации кадров.

3. Сетевой уровень (Network). Обеспечивает работу в сети с произвольной топологией, при этом он не берет на себя никаких обязательств по надежности передачи данных. В качестве объекта передачи используется дейтаграмма.

4. Транспортный уровень (Transport). Описывает протокол передачи данных с требуемым уровнем надежности (transport protocol). Например, он должен обладать необходимыми средствами для нумерации, установления соединения, упорядочивания пакетов. 1

5. Сеансовый уровень (Session). Содержит средства управления диалогом двух или нескольких узлов (session protocol). Предоставляет средства синхронизации в рамках процедуры обмена сообщениями.

6. Уровень представления (Presentation). Используется для работы с внешним представлением данных, выполнения преобразования между различными их видами (presentation protocol). Как пример, можно привести операции, компрессии или шифрования.

7. Прикладной уровень (Application). Определяет сетевые сервисы, используемые конечными пользователями и приложениями (Application protocol). Как пример, можно привести передачу файлов, подключение удаленных дисков, управление удаленным сервером.

С точки зрения практического применения, для организации межсетевого взаимодействия необходимы только процессы, соответствующие первым трем уровням эталонной модели OSI (физического, канального и сетевого). Именно они связаны с сетевым оборудованием - адаптерами, хабами, мостами, коммутаторами, маршрутизаторами. Функции более высокого уровня реализуются операционными системами и приложениями конечных узлов. Особо можно выделить транспортный уровень, который играет роль посредника между этими двумя группами протоколов.

Особенности физического уровня модели OSI удобно рассматривать с использованием следующего рисунка:

Рис. 1. Физический и канальный уровень модели OSI для Ethernet и Fast Ethernet

Можно выделить следующие подуровни:

- Reconciliation - подуровень согласования. Служит для перевода команд МАС -уровня в соответствующие электрические сигналы физического уровня.

- MII - Medium Independent Interface, независимый от среды интерфейс. Обеспечивает стандартный интерфейс между МАС-уровнем и физическим уровнем.

- PCS - Physical Coding Sublayer, подуровень физического кодирования. Выпол-

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

- PMA - Physical Medium Attachment, подуровень подсоединения к физической среде. Преобразует данные в битовый поток последовательных электрических сигналов, и обратно. Кроме того, обеспечивает синхронизацию приема/передачи.

- PMD - Physical Medium Dependent, подуровень связи с физической средой. Отвечает за передачу сигналов в физической среде (усиление сигнала, модуляция, формирование сигнала).

- AN - Auto-negotiation, согласование скорости. Используется для автоматического выбора устройствами протокола взаимодействия.

- MDI - Medium Dependent Interface, зависимый от среды интерфейс. Определяет различные виды коннекторов для разных физических сред и PMD-устройств.

Необходимо подчеркнуть различия между классическим Ethernet 802.3i (10 Мбит) и Fast Ethernet 802.3u, объединяющий FX, TX, и T4. В первом роль связующего звена между MAC-уровнем и PHY играл интерфейс AUI. Так как кодирование было всегда одинаковым (Манчестер-2), то схема была простой. Поэтому AUI располагался между подуровнем физического кодирования сигнала и подуровнем физического присоединения к среде. Усложнение Fast Ethernet повлекло и изменение схемы. Добавилось несколько блоков, и интерфейс MII занял место над подуровнем кодирования сигнала, который, в свою очередь, логически вошел в PHY. Надо так же отметить, что подуровень согласования скоростей (AN) используется не во всех способов передачи. Например, его нет в 10baseT, 10/100baseF.

К концу 90-х годов сложилась ситуация, при которой в одной и той же сети, по одним и тем же кабелям могло работать сразу пять протоколов - 10base-T, 10base-T full-duplex, 100base-T, 100base-T4, 100baseT full-duplex. Немного позже к ним присоединился 1000base-T. Оставить "ручное" управление таким хозяйством было бы

слишком жестоко по отношению к сетевым администраторам.

Первоначально протокол автоматического согласования скорости работы под названием Nway предложила компания National Semiconductor. Немного позже, он был принят в качестве стандарта IEEE 802.3u (Auto-negotiation).

Логично предположить, что возможны два варианта - либо оба договаривающихся устройства поддерживают Auto-negotiation, либо только одно. В первом случае адаптеры (или коммутаторы) должны выбрать наиболее предпочтительный протокол из поддерживаемых (порядок см. выше). При втором варианте более умное устройство должно поддержать единственный вариант, на который способен партнер (как правило, 10Base-T).

Процесс авто-переговоров начинается при включении питания устройства, или команде управляющего устройства (если оно имеется). Для согласования используется группа импульсов, которые называются Fast Link Pulses (FLP). Оборудование, не поддерживающие Auto-negotiation, воспринимают их как служебные сигналы проверки целостности линии 10Base-T (link test pulses).

Устройство, начавшее процесс auto-negotiation, посылает своему партнеру пачку импульсов FLP, в котором содержится 8-битное слово, кодирующее предлагаемый режим взаимодействия. При этом протокол предлагается самый приоритетный из поддерживаемых.

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

Часто возникают проблемы, если настройки negotiation на портах устройств отличаются друг от друга. Нужно либо оба связанных порта устанавливать в режим auto, либо оба зажимать на конкретные значения. Несколько иначе обстоит дело с

оборудованием, поддерживающим только 10Base-T. Такие устройства каждые 16 миллисекунд посылают импульсы для проверки целостности линии, и не отвечают на запрос FLP. Если сетевой адаптер или коммутатор получает в ответ на свой запрос только импульсы проверки целостности линии, он прекращает согласование и устанавливает такой же режим работы.

Подуровень присоединения к физической среде (PMA) наиболее важный для понимания взаимодействия устройств на физическом уровне. Пожалуй, не будет преувеличением сказать, что именно в нем заключается ключ технологии Ethernet, все его главные отличия от других способов

передачи данных. Соответственно, без понимания этих процессов невозможно использовать все возможности Ethernet, особенно при работе за пределами стандартов, присущей многим сетям.

Пожалуй, можно сказать, что основное назначение устройства физического уровня - доступ к среде. Как уже говорилось в второй главе, в Ethernet используется CSMA/CD (carrier-sense multiple access/collision detection) - множественный доступ с контролем несущей / обнаружением коллизий. Физическая среда делится между всеми устройствами, и одновременно передавать сообщение может только одно из них.

Рис. 2. Процесс установления связи в сети Ethernet

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

В сетях Ethernet признаком свободной среды является "отсутствие несущей" (10 МГц). Наоборот, в стандарте Fast Ethernet признаком свободного состояния шины является передача по ней специального

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

Что бы одно устройство не смогло монопольно использовать канал, используют простой механизм. После передачи каждого кадра делаются специальные перерывы в передаче, которые называются межкадровыми интервалами (Inter Packet Gap, IPG). Его длительность для Ethernet (10 Мбит) составляет 9,6 мкс, а для Fast Ethernet в 10 раз меньше, 0,96 мкс.

Значительно более сложной проблемой являются коллизии, или ситуации одновременной параллельной передачи двумя (или более) устройствами. Происходит это из-за того, что сигнал проходит между узлами не мгновенно. И за время его распространения другие сетевые устройства вполне могут начать передачу. При этом происходит "столкновение", в котором искажаются оба пакета. Такая ситуация вполне штатная, и даже неизбежная в некоммутируемом Ethernet.

Для распознавания коллизий каждое устройство прослушивает сеть во время, и

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

В любом случае, после обнаружения коллизии, передача должна быть повторена по достаточно сложному алгоритму отката, показанном на следующем рисунке:

Рис. 3. Реализация повторения передачи (отката) при коллизии в сетях Ethernet

Ключевым моментом является выбор задержки (Т) передачи перед повтором, которая равна случайно выбранному из заданного диапазона количеству интервалов (К) времени Иначе говоря, Т = К*^ где t = 51,2 мкс. Всего предпринимается 16 попыток передать кадр. В случае невозможности это сделать формируется сооб-

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

Так как для кадров Ethernet на канальном уровне подтверждение доставки не предусмотрено, то пакет будет просто потерян. Повторить передачу может только протокол более высокого (не ниже транс-

портного) уровня. Но это уже займет значительно больше времени (в сотни раз).

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

Рис. 4. Определение коллизий

Строго говоря, кадры формируются, и повторяются при коллизии на МАС-уровне. Но состояние среды определяется на физическом уровне, и именно он определяет ход процесса доступа к среде. Однако, разделять описание по разным пунктам не целесообразно.

Для передачи в Ethernet выбран минимальный размер кадра на MAC-уровне 512 бит, или 64 байта. При скорости 10 Мбит/с для передачи требуется 51,2 мкс. Самая неблагоприятная ситуация возникнет, когда узел сети "Б" начнет передачу перед самым приходом пакета от узла "А", начавшего передачу ранее. В этом случае сигнал "Б" должен достигнуть узла "А", раньше, чем он закончит передачу.

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

Скорость распространения электромагнитного или оптического сигнала в среде передачи составляет около 2/3 от скорости света в вакууме (3х108 м/с), или 200 м/мкс. Несложно подсчитать, что за 51,2 мкс сигнал успеет пройти почти 12 километров. Соответственно, расстояние между узлами может составлять до 6 километров, если не происходит задержек по другим причинам. В реальности это неизбежно происходит в тракте сетевого адаптера и на повторителях (hub).

Сложно сказать, что учитывали разработчики при выработке стандартов на 10Base5, но в нем максимальное расстояние между узлами составляет 2500 м. Далее, в 10baseT, оно еще уменьшилось до 500 за счет сохранения прежнего количества повторителей - но без какого-либо технического обоснования. В Fast Ethernet (100 Мбит) кадр передается в канал всего за 5 мкс, поэтому ограничения на расстояния намного более жесткие.

50% 100%

Рис. 5. Пропускная способность Ethernet

Легко видеть, что в случае большой загруженности сети вероятность возникновения коллизий резко возрастает, и пропускная способность сети уменьшается из-за многочисленных попыток передачи одних и тех же кадров. Для описания этого явле-

ния даже вводят специальный термин -деградация производительности. Ну, а практическая рекомендация будет простой. Не использовать некоммутируемый Ethernet при загрузке более 30-40%.

FEATURES PHYSICAL LAYER OPEN SYSTEM INTERCONNECTION (OSI) -ALGORITHMS TO DETECT AND RESOLVE CONFLICTS IN THE ETHERNET

NETWORK

D.S. Koptev, master

A.N Shchitov, student

A.N. Shevtsov , student

South - Western state university

Abstract. Ethernet - high-technology network is filled with packets of no more than 40 percent. If the number of packets increases, there is a greater conflicts and more packets have to be sent again. The more loaded the standard Ethernet, the more user problems. Some say that in fact does not provide Ethernet bandwidth of 10 Mbit / s, because it is impossible to achieve such a data rate, in the segment connecting 20 nodes, each of which served to 500 Kbit / s. In this situation, there is a lot of collisions and retransmissions, because of what the actual throughput is 4 - 5 Mbit / s. However, this technology is still alive and continues to be used successfully all over the place.

Keywords: Ethernet, OSI model, the transmission level, the physical environment, collision detection algorithm.