Проектирование ЛВС
определенному конечному адресу информацию, предварительно получив из кольца
запрос. Пересылка сообщений является очень эффективной, так как большинство
сообщений можно отправлять «в дорогу» по кабельной системе одно за другим.
Очень просто можно сделать кольцевой запрос на все станции.
Продолжительность передачи информации увеличивается пропорционально
количеству рабочих станций, входящих в вычислительную сеть.
Основная проблема при кольцевой топологии заключается в том, что
каждая рабочая станция должна активно участвовать в пересылке информации, и
в случае выхода из строя хотя бы одной из них вся сеть парализуется.
Неисправности в кабельных соединениях локализуются легко.
Подключение новой рабочей станции требует кратко срочного выключения
сети, так как во время установки кольцо должно быть разомкнуто. Ограничения
на протяженность вычислительной сети не существует, так как оно, в конечном
счете, определяется исключительно расстоянием между двумя рабочими
станциями.
Специальной формой кольцевой топологии является логическая кольцевая
сеть. Физически она монтируется как соединение звездных топологий.
Отдельные звезды включаются с помощью специальных коммутаторов (англ. Hub –
концентратор), которые по-русски также иногда называют «хаб». В зависимости
от числа рабочих станций и длины кабеля между рабочими станциями применяют
активные или пассивные концентраторы. Активные концентраторы дополнительно
содержат усилитель для подключения от 4 до 16 рабочих станций. Пассивный
концентратор является исключительно разветвительным устройством (максимум
на три рабочие станции). Управление отдельной рабочей станцией в логической
кольцевой сети происходит так же, как и в обычной кольцевой сети. Каждой
рабочей станции присваивается соответствующий ей адрес, по которому
передается управление (от старшего к младшему и от самого младшего к самому
старшему). Разрыв соединения происходит только для нижерасположенного
(ближайшего) узла вычислительной сети, так что лишь в редких случаях может
нарушаться работа всей сети.
[pic]
Рисунок 6
Структура логической кольцевой цепи ЛВС.
Шинная топология.
При шинной топологии среда передачи информации представляется в форме
коммуникационного пути, доступного дня всех рабочих станций, к которому они
все должны быть подключены. Все рабочие станции могут непосредственно
вступать в контакт с любой рабочей станцией, имеющейся в сети.
[pic]
Рисунок 7
Структура шинной топологии ЛВС.
Рабочие станции в любое время, без прерывания работы всей
вычислительной сети, могут быть подключены к ней или отключены.
Функционирование вычислительной сети не зависит от состояния отдельной
рабочей станции.
В стандартной ситуации для шинной сети Ethernet часто используют
тонкий кабель или Cheapernet–кабель с тройниковым соединителем. Отключение
и особенно подключение к такой сети требуют разрыва шины, что вызывает
нарушение циркулирующего потока информации и зависание системы.
Новые технологии предлагают пассивные штепсельные коробки, через
которые можно отключать и/или подключать рабочие станции во время работы
вычислительной сети.
Благодаря тому, что рабочие станции можно подключать без прерывания
сетевых процессов и коммуникационной среды, очень легко прослушивать
информацию, т.е. ответвлять информацию из коммуникационной среды.
В ЛВС с прямой (не модулируемой) передачей информации всегда может
существовать только одна станция, передающая информацию. Для предотвращения
коллизий в большинстве случаев применяется временной метод разделения,
согласно которому для каждой подключенной рабочей станции в определенные
моменты времени предоставляется исключительное право на использование
канала передачи данных. Поэтому требования к пропускной способности
вычислительной сети при повышенной нагрузке повышаются, например, при вводе
новых рабочих станций. Рабочие станции присоединяются к шине посредством
устройств ТАР (англ. Terminal Access Point – точка подключения терминала).
ТАР представляет собой специальный тип подсоединения к коаксиальному
кабелю. Зонд игольчатой формы внедряется через наружную оболочку внешнего
проводника и слой диэлектрика к внутреннему проводнику и присоединяется к
нему.
В ЛВС с модулированной широкополосной передачей информации различные
рабочие станции получают, по мере надобности, частоту, на которой эти
рабочие станции могут отправлять и получать информацию. Пересылаемые данные
модулируются на соответствующих несущих частотах, т.е. между средой
передачи информации и рабочими станциями находятся соответственно модемы
для модуляции и демодуляции. Техника широкополосных сообщений позволяет
одновременно транспортировать в коммуникационной среде довольно большой
объем информации. Для дальнейшего развития дискретной транспортировки
данных не играет роли, какая первоначальная информация подана в модем
(аналоговая или цифровая), так как она все равно в дальнейшем будет
преобразована.
Основные характеристики трех наиболее типичных типологий
вычислительных сетей приведены в таблице № 2.
Таблица 2
Основные характеристики топологий вычислительных сетей.
|Характеристики |Топологии вычислительных сетей |
| |Звезда |Кольцо |Шина |
|Стоимость |Незначительная |Средняя |Средняя |
|расширения | | | |
|Присоединение |Пассивное |Активное |Пассивное |
|абонентов | | | |
|Защита от |Незначительная |Незначительная |Высокая |
|отказов | | | |
|Размеры системы|Любые |Любые |Ограниченны |
|Защищенность от|Хорошая |Хорошая |Незначительная |
|прослушивания | | | |
|Стоимость |Незначительная |Незначительная |Высокая |
|подключения | | | |
|Поведение |Хорошее |Удовлетворительное|Плохое |
|системы при | | | |
|высоких | | | |
|нагрузках | | | |
|Возможность |Очень хорошая |Хорошая |Плохая |
|работы в | | | |
|реальном режиме| | | |
|времени | | | |
|Разводка кабеля|Хорошая |Удовлетворительная|Хорошая |
|Обслуживание |Очень хорошее |Среднее |Среднее |
Древовидная структура ЛВС.
Наряду с известными топологиями вычислительных сетей «кольцо»,
«звезда» и «шина», на практике применяется и комбинированная, на пример
древовидна структура. Она образуется в основном в виде комбинаций
вышеназванных топологий вычислительных сетей. Основание дерева
вычислительной сети (корень) располагается в точке, в которой собираются
коммуникационные линии информации (ветви дерева).
Вычислительные сети с древовидной структурой применяются там, где
невозможно непосредственное применение базовых сетевых структур в чистом
виде. Для подключения большого числа рабочих станций соответственно
адаптерным платам применяют сетевые усилители и/или коммутаторы.
Коммутатор, обладающий одновременно и функциями усилителя, называют
активным концентратором.
На практике применяют две их разновидности, обеспечивающие
подключение соответственно восьми или шестнадцати линий.
Устройство к которому можно присоединить максимум три станции,
называют пассивным концентратором. Пассивный концентратор обычно используют
как разветвитель. Он не нуждается в усилителе. Предпосылкой для подключения
пассивного концентратора является то, что возможное максимальное расстояние
до рабочей станции не должно превышать нескольких десятков метров.
[pic]
Рисунок 8
Древовидная структура ЛВС.
Типы построения сетей по методам передачи информации.
Локальная сеть Token Ring
Этот стандарт разработан фирмой IBM. В качестве передающей среды
применяется неэкранированная или экранированная витая пара (англ. UPT или
SPT) или оптоволокно. Скорость передачи данных 4 Мбит/с или 16Мбит/с. В
качестве метода управления доступом станций к передающей среде используется
метод – маркерное кольцо (англ. Тоken Ring). Основные положения этого
метода:
. устройства подключаются к сети по топологии кольцо;
. все устройства, подключенные к сети, могут передавать данные,
только получив разрешение на передачу (маркер);
. в любой момент времени только одна станция в сети обладает таким
правом.
Типы пакетов.
В IВМ Тоken Ring используются три основных типа пакетов:
. пакет «управление/данные» (англ. Data/Соmmand Frame);
. пакет «маркер» (англ. Token);
. пакет «сброса» (англ. Abort).
Пакет «Управление/Данные».
С помощью такого пакета выполняется передача данных или команд
управления работой сети.
Пакет «Маркер».
Станция может начать передачу данных только после получения такого
пакета, В одном кольце может быть только один маркер и, соответственно,
только одна станция с правом передачи данных.
Пакет «Сброса».
Посылка такого пакета называет прекращение любых передач.
В сети можно подключать компьютеры по топологии звезда или кольцо.
Локальная сеть ArcNet.
ArcNet (англ. Attached Resource Computer Network) – простая,
недорогая, надежная и достаточно гибкая архитектура локальной сети.
Разработана корпорацией Datapoint в 1977 году. Впоследствии лицензию на
ArcNet приобрела корпорация SMC (англ. Standard Microsystems Corporation),
которая стала основным разработчиком и производителем оборудования для
сетей ArcNet. В качестве передающей среды используются витая пара,
коаксиальный кабель (RG–62) с волновым сопротивлением 93 Ом и
оптоволоконный кабель. Скорость передачи данных – 2,5 Мбит/с, существует
также расширенная версия – ArcNetplus – поддерживает передачу данных со
вкоростью 20 Мбит/с. При подключении устройств в ArcNet применяют топологии
шина и звезда. Метод управления доступом станций к передающей среде –
маркерная шина (англ. Token Bus). Этот метод предусматривает следующие
правила:
. Все устройства, подключенные к сети, могут передавать данные
. только получив разрешение на передачу (маркер);
. В любой момент времени только одна станция в сети обладает таким
правом;
. Данные, передаваемые одной станцией, доступны всем станциям сети.
Основные принципы работы.
Передача каждого байта в ArcNet выполняется специальной посылкой ISU
(англ. Information Symbol Unit – единица передачи информации), состоящей из
трех служебных старт/стоповых битов и восьми битов данных. В начале каждого
пакета передается начальный разделитель АВ (англ. Alert Burst), который
состоит из шести служебных битов. Начальный разделитель выполняет функции
преамбулы пакета.
В ArcNet определены 5 типов пакетов:
1. Пакет ITT (англ. Information to Transmit) – приглашение к передаче. Эта
посылка передает управление от одного узла сети к другому. Станция,
принявшая этот пакет, получает право на передачу данных.
2. Пакет FBE (англ. Free Buffer Enquiries) – запрос о готовности к приему
данных. Этим пакетом проверяется готовность узла к приему данных.
3. Пакет данных. С помощью этой посылки производиться передача данных.
4. Пакет АСК (англ. ACKnowledgments) – подтверждение приема. Подтверждение
готовности к приему данных или подтверждение приема пакета данных без
ошибок, т.е. в ответ на FBE и пакет данных.
5. Пакет NAK (англ.Negative AcKnowledgments) – неготовность к приему.
Неготовность узла к приему данных (ответ на FBE) или принят пакет с
ошибкой.
В сети ArcNet можно использовать две топологии: «звезда» и «шина».
Локальная сеть Ethernet
Рассматривается подробно, поскольку именно она является наиболее
распространенной и перспективной
Эфирная сеть, как можно перевести Ethernet, получила свое название от
несуществующей субстанции (эфира), которой, как считали ученые в прошлом
веке, был заполнен вакуум и которая якобы служила средой для
распространения света. Однако это технология имеет и более непосредственное
отношение к эфиру, точнее, радиоэфиру, так как ее предшественницей была
система радиосвязи для разбросанных по Гавайскому архипелагу станций под
названием ALOHA.
Основываясь на принципах, заложенных в ALOHA, компания Xerox построила
свою собственную кабельную сеть с пропускной способностью 2,94 Мбит/с для
связи 100 компьютеров. Проект оказался настолько успешным, что Xerox
совместно с DEC и Intel разработала затем спецификацию для Ethernet на 10
Мбит/с. Позднее эта спецификация легла в основу стандарта 802.3. Этот
стандарт отличается от исходной спецификации Ethernet форматом кадров и
некоторыми другими деталями, в частности он описывает несколько сред и
скоростей передачи, на которые Ethernet изначально не был рассчитан. Однако
название Ethernet столь прочно прижилось, что оно осталось и за официальным
стандартом, и за всеми последующими его модификациями.
CSMA/CD
Стандарт 802.3 рассматривает как физический уровень (типы кабелей,
соединители, кодирование сигнала и т. д.), так и канальный уровень, точнее,
нижний подуровень канального уровня, определяющий метод доступа к среде
передачи (Media Access Sublayer, MAC). С него мы и начнем рассмотрение
Ethernet.
Применяемый в Ethernet метод множественного доступа с контролем
несущей и обнаружением конфликтов (Carrier Sense Mupltiple Access/Collision
Detect, CSMA/CD) можно описать вкратце следующим образом. Когда какая-либо
станция А в сегменте Ethernet хочет передать пакет другой станции Б, она
пытается вначале определить, что никакая другая станция в это время ничего
не передает: в случае, если кабель свободен, станция начинает передачу
немедленно. В противном случае она ждет, пока кабель не освободится. Если
две станции начинают передачу одновременно, то происходит конфликт. Обе
станции прекращают передачу и ждут случайное время, прежде чем попытаться
ее возобновить. Конфликт может быть определен по увеличению мощности или
ширины импульса регистрируемого сигнала по сравнению с соответствующими
характеристиками переданного сигнала.
Допустим, две станции начали передачу одновременно, посчитав, что
канал свободен. Сколько времени им потребуется, чтобы понять, что помимо
них передачу осуществляет еще и другая станция? Как минимум, это время
распространения сигнала от одной станции до другой. Однако, даже если
станция не зафиксировала конфликта в течение времени распространения
сигнала по кабелю между двумя самыми удаленными станциями, это еще не
означает, что она избежала конфликта и "заняла" кабель. Рассмотрим такую
ситуацию. Одна из наиболее удаленных станций начинает передачу. Вторая
наиболее удаленная станция получит сигнал только через время t, поэтому, не
обнаружив передачи, она начинает свою собственную в момент t-e. Конечно,
вторая станция тут же обнаружит конфликт (через время t) и прекратит
передачу, однако первой станции это уже не поможет; к тому же она обнаружит
конфликт только через время 2*t-e. Таким образом, в общем случае время
обнаружения конфликта равно времени распространения сигнала от одной самой
удаленной станции до другой самой удаленной станции, и обратно. Только по
истечении этого времени станция может быть уверена, что она "заняла"
кабель. Данная характеристика - время разрешения конфликта - имеет огромное
значение для эффективности протокола, в частности во многом именно она
определяет ограничения на протяженность кабеля в сегменте Ethernet.
Обнаружение конфликта представляет собой аналоговый процесс.
Аппаратное обеспечение станции должно во время передачи продолжать слушать
кабель с целью выявления конфликта. Если сигнал, который станция
регистрирует, отличается от передаваемого ею, то на этом основании станция
определяет, что произошел конфликт. Как следствие, кодирование сигнала
должно позволять установить наличие конфликта (например, наложение двух
сигналов напряжением 0 В зарегистрировать не представляется возможным). По
этой причине в Ethernet применяется специальное кодирование сигнала.
МАНЧЕСТЕРСКОЕ КОДИРОВАНИЕ
Прямое двоичное кодирование нулевого бита нулевым напряжением (0 В) и
единичного бита ненулевым напряжением (5 В) не применяется, помимо прочего,
из-за того, что оно ведет к неоднозначности. В частности, строку бит
00001000 становится невозможно отличить от строки 10000000 ввиду отсутствия
различий между свободной линией (0 В) и нулевым битом (также 0 В).
Следовательно, каким-то образом
принимающая сторона должна иметь возможность определить начало и конец
любого бита безотносительно внутреннего тактового генератора. Это позволяет
сделать манчестерское кодирование и дифференциальное манчестерское
кодирование.
При манчестерском кодировании каждый интервал времени, который занимает
передача одного бита, разделен на два равных подинтервала. Единичный бит
кодируется высоким напряжением в продолжении первой половины интервала и
низким напряжением в течение второй его части, а нулевой бит кодируется
противоположным образом. Изменение напряжения в середине интервала
облегчает принимающей стороне синхронизацию с передающей станцией.
Дифференциальное манчестерское
кодирование представляет собой разновидность обычного манчестерского
кодирования. В этом случае единичный бит характеризуется отсутствием
изменения напряжения по сравнению с уровнем напряжения во второй половине
предшествующего бита. Изменение напряжения в начале бита означает, что это
нулевой бит.
Недостаток схемы манчестерского кодирования очевиден - оно требует
вдвое большей пропускной способности, чем прямое кодирование. Однако
вследствие своей простоты манчестерское кодирование используется в 802.3.
Уровень напряжения составляет +0,85В и -0,85В, причем в силу принятой схемы
кодирования постоянные токи в кабеле не могут возникнуть в принципе.
ФОРМАТ КАДРА (Общие черты)
Максимальный размер кадра Ethernet составляет 1526 байт (12 208 бит),
а минимальный - 72 байт (576 бит). При частоте передачи 10 МГц время
передачи пакета минимальной длины составляет 57,6 мс. Это время несколько
больше, чем удвоенное время распространения сигнала между крайними точками
кабеля, равное 51,2 мс. Последняя цифра получена исходя из максимально
допустимого в Ethernet расстояния между узлами в 2500 м.
Структура кадра показана на Рисунке 9. Каждый кадр начинается с
преамбулы длиной 7 байт, причем каждый байт преамбулы представляет собой
чередующуюся последовательность единиц и нулей. Преамбула позволяет
принимающей стороне подстроиться под передающую станцию, т. е.
синхронизироваться с ней. Следом за преамбулой идет стартовый байт
(10101011), сигнализирующий о начале кадра.
Рисунок 9
Форматы кадров Ethernet могут несколько отличаться друг от друга, в
частности поле длины поля данных может иметь смысл типа протокола.
Далее кадр содержит два поля адреса - получателя и отправителя.
Стандарт допускает адреса длиной 2 и 6 байт, однако спецификация на
немодулированную передачу со скоростью 10 Мбит/с предусматривает применение
только адресов длиной 6 байт. Если сетевая плата Ethernet определяет, что
адрес получателя совпадает с ее собственным, то, считав кадр, она передает
его для дальнейшей обработки на более высокие уровни. Если адреса не
совпадают, то кадр игнорируется.
Адреса Ethernet могут быть обычными, групповыми и широковещательными.
Если старший бит адреса получателя равен нулю, то это обычный адрес, а если
единице, то это групповой. Многоадресная передача принимается всеми
станциями, групповой адрес которых совпадает с указанным в поле адреса
получателя. Если же все биты адреса равны единице, то это широковещательный
адрес, и такой пакет предназначен всем станциям. Следующий по старшинству
бит в поле адреса используется для различения локальных и глобальных
адресов. Как ясно из названия, локальные адреса назначаются администратором
сети и имеют смысл только в пределах локальной сети. За вычетом двух
вышеуказанных битов адресное пространство составляет 246 или около 7*1013
адресов, а эта цифра намного больше числа имеющихся компьютеров, так что
адресов хватит всем. Поле длины кадра состоит из двух байтов и определяет
длину поля данных (от 0 до 1500 бит). Однако, ввиду ограничений на
минимальную длину кадра, поле данных не может быть короче 46 байт. Если же
объем передаваемых данных меньше, то поле данных дополняется заполняющими
битами. Собственно в Ethernet поле длины кадра соответствует полю типа
протокола. Оно служит для идентификации протокола на уровень выше
канального. Заканчивается кадр контрольной последовательностью. Очевидно,
она служит для проверки кадра на предмет наличия ошибок.
Форматы кадров Ethernet (Детализация)
Несмотря на наличие стандарта, кадры Ethernet отличаются друг от друга
своим форматом. Как и на производстве, кадры в сети Ethernet решают все.
Они служат вместилищем для всех высокоуровневых пакетов, поэтому, чтобы
понять друг друга, отправитель и получатель должны использовать один и тот
же тип кадров Ethernet. К счастью (или к сожалению), кадры могут быть всего
четырех разных форматов, и к тому же не сильно отличающихся друг от друга.
Более того, базовых форматов кадров существует всего два (в английской
терминологии их называют "raw formats") - Ethernet_II и Ethernet_802.3,
причем они отличаются назначением всего одного поля.
Современные компьютерные сети гетерогенны по своей природе, а сетевые
протоколы третьего уровня используют зачастую разные типы кадров Ethernet.
Так, в старых версиях NetWare 3.х компании Novell базовым форматом по
умолчанию является Ethernet_802.3, а не 802.2 или SNAP, как это
предусмотрено стандартами IEEE, причем, кроме нее, этот формат больше никто
не применяет. С выходом NetWare 4.х протоколы IPX/SPX используют по
умолчанию стандартные кадры Ethernet_802.2, а с планируемым переводом
IntranetWare на протоколы TCP/IP эта сетевая ОС будет, возможно, работать
по умолчанию с кадрами Ethernet_SNAP, так как именно этот формат
применяется в новейших реализациях TCP/IP. Вообще говоря, пакеты протоколов
IPX/SPX могут передаваться с помощью кадров любых типов, поэтому - а также
потому, что тип Ethernet_802.3 используется исключительно Novell, - в этом
уроке мы будем рассматривать кадры Ethernet преимущественно с точки зрения
сетей NetWare.
ETHERNET II
Несмотря на то что мы привычно называем стандарт 802.3 именем
Ethernet, это не совсем правильно, так как последнее название является
торговой маркой Xerox, Intel и Digital, чья технология послужила прототипом
этого столь популярного стандарта. Формат Ethernet_II соответствует
оригинальному формату кадров Ethernet и имеет следующий вид.
Как и всякий кадр, Ethernet_II начинается с семибайтной преамбулы,
состоящей из чередующихся единиц и нулей, и однобайтного начального
ограничителя кадра, в котором два младших бита равны 112, а не 102, как
остальные биты в преамбуле и ограничителе. Однако, если быть более точным,
в Ethernet_II преамбула не разделяется на собственно преамбулу и начальный
ограничитель кадра - и это является одним из отличий Ethernet от IEEE
802.3, хотя весьма несущественным, можно сказать, схоластическим, тем более
что очень часто преамбула вообще рассматривается как часть физического
механизма синхронизации передающей и принимающей стороны, а не как часть
кадра (поэтому на рисунках мы не будет обозначать преамбулу и начальный
ограничитель).
Собственно заголовок кадра состоит из шестибайтного поля адреса
получателя (Destination Address), шестибайтного поля адреса отправителя
(Source Address) и двухбайтного поля типа протокола (Frame Type) (см.
Рисунок 10). При передаче каждого байта адреса младшие биты (крайние
справа) передаются первыми. В адресе получателя первый передаваемый бит
(бит 0 байта 0) указывает тип адреса - обычный или групповой. Таким
образом, нечетный первый байт адреса получателя означает, что кадр
предназначен группе станций. Разновидностью многоадресной передачи является
широковещательная передача. В этом случае все биты адреса получателя
задаются равными 1.
Рисунок10.
Базовые пакеты Ethernet II и IEEE 802.3 имеют одинаковую структуру. Их
различие - в назначении 13-го и 14-го байтов: поля типа протокола и длины
кадра соответственно. Совместное использование разных форматов кадров в
одном сегменте Ethernet возможно благодаря тому, что тип протокола
характеризуется числом, большим 0x05FE.
Однако поле адреса отправителя должно содержать адрес конкретной
станции-отправителя. В случае обычных адресов первые три байта служат для
идентификации производителя сетевой платы, а последние три байта составляют
уникальный номер конкретной платы. Так, первые три байта адреса популярных
сетевых плат производства 3Com выражаются следующим числом - 02608С в
шестнадцатеричной системе счисления (далее для обозначения чисел в
шестнадцатеричной системе счисления мы будем использовать обозначение 0x,
т. е. идентификатор 3Com будет иметь вид 0x02608C). Адрес получателя
называется также физическим или MAC-адресом.
Вообще говоря, адрес получателя идентифицирует непосредственного, а не
конечного получателя, например маршрутизатор в сети Ethernet. Конечный
получатель идентифицируется с помощью высокоуровневых протоколов. В случае
TCP/IP - это IP-адрес станции и TCP- или UDP-порт процесса на данной
станции. Поле типа протокола идентифицирует высокоуровневый протокол, такой
как IP, AppleTalk и т. д., контейнером для пакета которого служит кадр.
Ниже мы приводим значения поля типа протокола для некоторых
распространенных сетевых протоколов:
Internet Protocol (IP) - 0x0800;
Address Resolution Protocol (ARP) - 0x0806;
AppleTalk - 0x809B;
Xerox Network System (XNS) - 0x0600;
NetWare IPX/SPX - 0x8137.
Следующее поле кадра служит собственно для передачи полезной информации
(на уровне кадра к полезной нагрузке мы относим такую служебную информацию
высокоуровневых протоколов, как заголовок пакета и т. п.). В отличие от
служебных полей, поле данных имеет переменную длину, причем оно не может
быть короче 46 байт и длиннее 1500 байт. Таким образом, общая длина кадра
без учета преамбулы и начального ограничителя кадра находится в диапазоне
от 64 до 1518 байт. В случае, когда реальный объем передаваемых данных
меньше 46 байт (например, для эмуляции терминала часто передается всего
один символ, вводимый с клавиатуры), поле данных дополняется до
минимального размера заполнителем. Байт заполнения может вставляться, даже
если объем передаваемых данных более 46 байт. По предложению Novell, в
случае нечетного количества байт драйвер сетевой платы добавляет еще один.
Это сделано потому, что некоторые старые маршрутизаторы не понимают кадры
нечетной длины. Последнее поле в кадре - это четырехбайтное поле
контрольной последовательности кадра (Frame Check Sequence, FCS). Значение
этого поля вычисляется на основе содержимого заголовка и данных (вместе с
заполнителем, но без учета преамбулы и ограничителя) с помощью 32-
разрядного циклического избыточного кода (Cyclic Redundancy Code, CRC-32)
по следующей формуле (в двоичной системе счисления):
контрольная последовательность = MOD(данные/полином)
В Ethernet порождающим полиномом служит многочлен
x32+x26+x23+x23+x22+x16+x12+x11+x10+x8+x7+x5+x4+x2+x+1.
Данный код позволяет обнаружить 99,999999977% всех ошибок в сообщениях
длиной до 64 байт! Таким образом, вероятность того, что принимающая станция
воспримет испорченный кадр как целый, практически равна нулю. После приема
кадра принимающая станция заново вычисляет контрольную последовательность и
сравнивает полученный результат с содержимым поля FCS. В случае
несовпадения пакет считается испорченным и игнорируется.
БАЗОВЫЙ ФОРМАТ КАДРА 802.3
Определяемый спецификацией 802.3 формат кадра практически идентичен
своему предшественнику за исключением того, что поле типа протокола имеет
смысл длины кадра. На первый взгляд это неизбежно должно привести к
путанице, когда кадры Ethernet_II и Ethernet_802.3 передаются между
станциями в одном сегменте. Однако на практике эти кадры не представляет
труда отличить друг от друга. Как мы уже говорили, длина поля данных не
превышает 1500 байт, поэтому, в соответствии с принятыми соглашениями, тип
высокоуровневого протокола задается большим, чем 0х05FE (1518 в
шестнадцатеричной системе счисления - полная длина кадра), благо
двухбайтное поле может принимать 65 536 разных значений. Таким образом,
если значение поля между адресом отправителя и данными меньше или равно
1518, то это кадр 802.3, в противном случае - это кадр Ethernet_II.
Другое небольшое отличие между Ethernet и 802.3 состоит в
классификации групповых адресов. В отличие от Ethernet, спецификация 802.3
подразделяет групповые адреса на имеющие глобальное и локальное значение.
Однако это разделение редко используется на практике. (О третьем
незначительном отличии - в преамбуле - мы говорили выше.) В соответствии с
эталонной моделью OSI, каждый протокольный блок данных содержит
(инкапсулирует) пакеты вышележащих протоколов своего стека. Протокол 802.3
описывает метод доступа к среде передачи - нижний подуровень канального
уровня, и для него вышележащим протоколом является протокол логического
управления каналом (Logical Link Control, LLC) - верхний подуровень
канального уровня. Таким образом, согласно требованиям стандарта, поле
данных должно содержать заголовок LLC. В ранних версиях NetWare компания
Novell проигнорировала этот заголовок и стала помещать пакеты IPX/SPX
непосредственно за полем длины кадра, и поле данных начиналось так же, как
и обычный заголовок IPX, с двух байтов, состоящих из единиц (число 0xFFFF).
Иными словами, Novell использовала кадры просто в качестве контейнера. В
принципе применение базового формата кадра 802.3 без служебной информации
верхнего подуровня канального уровня позволяет Novell несколько сократить
накладные расходы в расчете на кадр. Однако выигрыш невелик, а в
гетерогенной среде применение нестандартного формата ведет к проигрышу, так
как маршрутизатор или сетевая плата вынуждены проверять дополнительные поля
для определения типа пакета. Это послужило одним из побудительных мотивов,
почему начиная с версии 4.0 Novell перешла по умолчанию на стандартный
формат Ethernet_802.2. Другой причиной было то, что использование базовых
кадров Ethernet_802.3 делало невозможным применение таких опций защиты, как
подпись пакетов, из-за того, что поле контрольной суммы пакета было
фиксированным и равным 0хFFFF, чтобы кадр Ethernet_802.3 можно было
отличить от других типов кадров.
ДВА СТАНДАРТНЫХ ФОРМАТА
Спецификации 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.
[pic]
Рисунок 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 сначала необходимо проверить значение
поля после адреса отправителя, а затем первых двух байтов поля данных.
Страницы: 1, 2, 3, 4
|