Проектирование ЛВС

ДВА СТАНДАРТНЫХ ФОРМАТА

Спецификации IEEE предусматривают всего два стандартных формата - 802.2 и 802.2 SNAP, причем второй является естественным расширением первого. Как уже говорилось, стандартный кадр должен содержать в поле данных служебную информацию логического управления каналом, а именно однобайтное поле точки доступа к сервису для получателя (Destination Service Access Point, DSAP), однобайтное поле точки доступа к сервису для отправителя (Source Service Access Point, SSAP) и однобайтное управляющее поле (см. Рисунок 11). Назначением номеров точек доступа к сервису (Service Access Point, SAP) занимается IEEE, и он выделил следующие номера:

0xE0 для Novell;

0xF0 для NetBIOS;

0x06 для TCP/IP;

AA для SNAP.

Рисунок 11 Формат IEEE 802.2 SNAP представляет собой расширение стандартного формата IEEE 802.2. Кадры обоих типов содержат заголовок 802.2 LLC в начале поля данных.

Поля DSAP и SSAP служат для определения вышележащего протокола и, как правило, содержат одно и то же значение. Управляющее поле обычно задается равным 0x03 (в соответствии с протоколом LLC это означает, что соединение на канальном уровне не устанавливается). Протокол доступа к подсети (Sub-Network Access Protocol, SNAP) был разработан с целью увеличения числа поддерживаемых протоколов, так как однобайтные поля SAP позволяют поддерживать не более 256 протоколов. Формат Ethernet_SNAP предусматривает дополнительное пятибайтное поле для идентификации протокола (Protocol Identification, PI) внутри поля данных, причем значения двух последних байтов этого поля совпадают со значениями поля протокола в Ethernet_II в случае, если кадры содержат пакеты одного и того же высокоуровневого протокола, например они равны 0x8137 для NetWare.

АЛГОРИТМ ОПРЕДЕЛЕНИЯ ФОРМАТА КАДРА

Отличить один формат кадра Ethernet от другого не представляет большого труда, и сделать это можно с помощью следующего простого алгоритма (см. Рисунок 12). Сначала драйвер должен проверить значение поля типа протокола/длины кадра (13-й и 14-й байты в заголовке). Если записанное там значение превышает 0x05FE (максимально возможная длина кадра), то это кадр Ethernet_II.

Рисунок 12 Для определения типа кадра Ethernet сначала необходимо проверить значение поля после адреса отправителя, а затем первых двух байтов поля данных.

Если нет, следует продолжить проверку. Если первые два байта равны 0xFFFF, то это формат Ethernet_802.3 для NetWare 3.х. В противном случае это стандартный формат кадра 802.2, и нам остается только выяснить, какой из двух - обычный (Ethernet_802.2) или расширенный (Ether-net_SNAP). В случае Ethernet_SNAP значение первого, впрочем, как и второго, байта в поле данных равняется 0xAA. (Значение третьего байта равняется 0x03, но это проверять излишне.)

ЗА КАДРОМ

Разные протоколы используют разные форматы кадров (см. Таблицу 3). Однако число последних не так уж велико, и их несложно отличить один от другого. К тому же протокол TCP/IP выдвигается на доминирующую позицию не только в глобальных, но и в локальных сетях, поэтому даже Novell решила отказаться от своего протокола IPX/SPX в пользу TCP/IP в следующей версии NetWare. Это означает, что в большинстве случаев администратору сети не придется беспокоиться о том, какой формат кадров Ethernet используется. Однако, как показывает опыт, унаследованные технологии живут довольно долго, так что знание форматов кадров может представлять не только теоретический, но и практический интерес.

ТАБЛИЦА 3 - ПРОТОКОЛЫ И СООТВЕТСТВУЮЩИЕ ТИПЫ КАДРОВ

Формат кадра

Протокол

Способ идентификации вышележащего протокола

Ethernet_II

DecNET, LAT, старые реализации TCP/IP

Поле типа протокола

802.3

NetWare 3.х

Первые два байта поля данных равны 0xFFFF

802.2

NetWare 4.х, LLC2

Поле DSAP

SNAP

EtherTalk, новые реализации TCP/IP

Пятибайтное поле после служебной информации LLC

АЛГОРИТМ ОТКАТА

Как уже говорилось, после обнаружения конфликта станции ждут случайный промежуток времени. Единицей измерения времени (квантом времени) является удвоенное время распространения сигнала из конца в конец отрезка кабеля (см. выше), равное 51,2 мс. После первого конфликта каждая станция ждет 0 или 1 квант времени, прежде чем попытаться возобновить передачу. Если конфликт произошел вновь, так как две станции выбрали одно и то же случайное число, то каждая из них выбирает после второго конфликта уже из четырех чисел 0, 1, 2, 3. Если же конфликт имеет место и в третий раз, (что вполне вероятно, когда более двух станций пытаются начать передачу одновременно), то в следующий раз случайное число слотов выбирается из интервала 0-7 и т. д. Однако, после 10 последовательных конфликтов интервал выбора случайных чисел фиксируется и задается равным 1023. После 16 конфликтов контроллер отказывается от дальнейших попыток передать кадр и сообщает об этом компьютеру. Все дальнейшие действия по исправлению ситуации должны осуществляться высокоуровневыми протоколами. Такой алгоритм позволяет разрешить коллизии, когда конфликтующих станций немного, а также ликвидировать их за приемлемое время, когда множество станций хочет передавать одновременно.

РАЗНОВИДНОСТИ ETHERNET

В качестве физической среды передачи стандарт для Ethernet на 10 Мбит/с определяет тонкий и толстый коаксиальный кабель, витую пару и даже оптоволокно. Вкупе с прочими факторами такое разнообразие возможных сред передачи немало способствовало росту популярности Ethernet. Ниже мы рассмотрим вкратце спецификации Ethernet на 10 Мбит/с.

10Base5. Как и изначальная версия Ethernet, эта спецификация в качестве среды передачи предусматривает толстый коаксиальный кабель на 50 Ом с двумя оболочками. По этой причине в англоязычной литературе ее иногда еще называют Thicknet и толстым Ethernet. Каждый коаксиальный кабель в сети образует отдельный сегмент. Протяженность сегмента не может превышать 500 м, а число узлов - 100, причем отрезок кабеля между соседними узлами должен быть не менее 2,5 м. Это позволяет уменьшить вероятность отражений и появления стоячих волн. Как правило, производители предусматривают соответствующую разметку кабеля в целях упрощения идентификации мест, где станция может быть подключена к сегменту. Контроллер станции, т. е. сетевая плата, подключается к кабелю с помощью трансиверного кабеля и трансивера (см. Рисунок 13). Длина трансиверного кабеля не должна превышать 50 м.


Страница: