Глава 2. Локальные вычислительные сети (ЛВС) и он считается не переданным. Но если пакет закончится, то станция Ст. 1 будет считать его успешно переданным и начнет передавать следующий пакет. Потеря пакета может быть обнаружена только на прикладных (верхних) уровнях, когда пройдет значительное время. Рис. 2.4 – Влияние коллизий на диаметр сети: а) схема; б) диаграмма Таким образом, условие τ min A 2 τ 3 2 L V , где τ min — минимальная длительность пакета, накладывает ограничение на диаметр сети; L
τ min V
2. Развитием технологии Ethernet является режим множественного доступа с кон- тролем несущей и предупреждением коллизий CSMA/CD. Суть этого режима за- ключается в следующем — в сети выделяется головной (ведущий) узел, остальные узлы — ведомые. Ведомый узел, желающий передать информацию, посылает веду- щему пакет запроса. Если сеть свободна, то ведомый узел получает разрешение на передачу информации. Эта технология широко применяется в сетях радиодоступа (IEEE 802.11, IEEE 802.15). 2.3 Принцип распределения адресов Уникальный адрес присваивается сетевой карте в процессе ее изготовления. Формат адреса содержит 48 бит (рис. 2.5), что позволяет сформировать 280 трил- лионов различных адресов. Этого с избытком хватит всем производителям сетевых карт. 2.4 Ethernet — базовая технология ЛВС23Рис. 2.5 – Формат MAC-адреса В формате адреса есть поле идентификатора (OUI), в котором в двоичном коде записывается уникальный номер производителя сетевых карт. Этот номер при- сваивается международным комитетом IEEE. Максимальное число таких номеров 2 22 — более четырех миллионов. Вторая часть адреса (OUA) — это непосредствен- но сетевой адрес карты. Его присваивает производитель сетевой карты. Каждый производитель может изготовить до 16 миллионов сетевых карт с уникальными номерами. Сочетание полей идентификатора и сетевого адреса с большим запасом обеспечивает адресное пространство для всех пользователей земного шара. Поле I/G отличает индивидуальные номера I — Individual (значение бита рав- но 0) и групповые G — Group (значение бита равно 1). Поле U/L (Universal/Local) содержит значение бита, равное 0, для обычной адресации и 1 — для местной, когда адресное поле OUA изменено пользователем. 2.4 Ethernet — базовая технология ЛВС 2.4.1 Общие сведения Отличительные особенности Ethernet: передача в основной полосе и случайный доступ к среде. Передача в прямой полосе — прямая (немодулированная) передача данных по сети. Способ передачи, при котором цифровой сигнал направляется непосредствен- но в канал связи без всякой модуляции (т. е. несущая частота отсутствует по опреде- лению). Для уменьшения ширины спектра, а также для улучшения статистических характеристик битовой последовательности используют разные типы линейного кодирования (Манчестер, NRZ, NRZI) и различные типы скремблирования. Дан- ный тип передачи иногда называют «передача с постоянной составляющей». Доступ к среде: CSMA/CD — протокол асинхронного временного разделения (т. е. полудуплексное функционирование), который был разработан для использо- вания в пакетной спутниковой связи. Ethernet подразумевает топологию типа «шина», однако это касает- ся только логического функционирования, и зачастую на физиче- ском уровне используется более гибкая звездообразная топология. 2.4.2 Стандарты Ethernet Общие принципы функционирования Ethernet приведены на рисунке 2.6. B те- кущий момент времени в сети Ethernet может передавать только одна станция — остальные, прослушивая текущую передачу, ждут ее окончания. 24 Глава 2. Локальные вычислительные сети (ЛВС) Рис. 2.6 – Функционирование Ethernet Перед началом передачи станция выдерживает определенный интервал вре- мени, а только затем начинает передавать, одновременно прослушивая среду на предмет возникновения конкурирующей передачи, возникшей одновременно с те- кущей. Если посторонняя передача обнаружена, то станция прекращает передачу на некоторое случайное время (аналогично поступают и другие станции, притом даже не участвовавшие в данном конфликте), а затем делает попытку повторной передачи. Сети Ethernet обладают очень полезным свойством — широковещательно- стью, которая очень часто используется протоколами верхних уровней в служебных целях. Структура стандартов выглядит следующим образом (рис. 2.7). Рис. 2.7 – Структура стандартов IEEE В этой структуре на физическом уровне отражены как устаревшие технологии, основанные на применении коаксиального кабеля (10Base5, 10Base2), так и со-
2.4 Ethernet — базовая технология ЛВС 25 временные, использующие витую пару (10Base-T), и волоконно-оптические линии (10Base-F). Технологии с коаксиальным кабелем, использующие топологию «об- щей шины», помимо применения дорогого кабеля требуют сложных подключений отрезков коаксиальных кабелей к основной коаксиальной шине. Эти подключения создают неоднородности в линии и приводят к появлению в ней отраженных волн, что приводит к неустойчивой работе ЛВС. Технология 10Base-T сейчас наиболее распространена. В ее основе лежит то- пология «звезда» (рис. 2.8), где в центре «звезды» размещается многопортовый повторитель, называемый концентратором или хабом. Назначение концентратора заключается в регенерации на всех своих портах сигналов, поступающих от одной из станций. Например, пакет, приходящий от станции A на порт 1 через порты 2, 3, 4, ретранслируется по всем остальным станциям. Рис. 2.8 – Топология ЛВС с концентратором Порты хаба соединяются со станциями с помощью электрического кабеля «ви- тая пара» UTP и разъемов RJ-45 или RJ-11. Максимальное расстояние между хабом и станцией (длина сегмента) l ceгм зависит от типа кабеля и составляет: l ceгм ¢ ¨ ¨
¨ ¨ ¤ 100 м, UTP-3; 150 м, UTP-5. Основные достоинства стандарта 10Base-T: дешевый кабель; простота подключения станций. К недостаткам следует отнести: малую длину сегмента вследствие затухания сигнала в линии; больший уровень внешних помех по сравнению с коаксиальным вариантом. Несмотря на различия в физической топологии, логической топологией в 10Base-T остается «общая шина» и все правила CSMA/CD. Технология 10Base-F позволя- ет увеличить длину сегмента до 2000 м при использовании многомодового (MM) волоконно-оптического кабеля. Такая среда передачи не чувствительна к электри- ческим наводкам, обладает высокой помехоустойчивостью.
26 Глава 2. Локальные вычислительные сети (ЛВС) 2.4.3 Способы линейного кодирования в Ethernet В сетях Ethernet нет отдельных линий связи для передачи сигналов синхро- низации между передатчиком и приемником, т. е. синхронизация осуществляется за счет выделения приемником синхросигнала непосредственно из принимаемой битовой последовательности. Такой метод синхронизации носит название «в основ- ной полосе» (in band), и он предъявляет некоторые требования к методу линейного кодирования. Существуют два альтернативных метода включения тактовой информации в би- товый поток. 1. Амплитудный или потенциальный (представление 1/0 разными амплитуда- ми (полярностями)) RZ, NRZ, NRZI (AMI), HDB-3, 2B1Q. Недостатки мето- да: значительная полоса сигнала, плохие самосинхронизирующие качества (необходимость дополнительных преобразований сигнала), в отдельных си- туациях — сложность реализации кодера/декодера. 2. Фазовый или манчестерский (рис. 2.9). Код разделяет битовый интервал на две половины. Логическая «1» кодируется переходом из низкого уровня к высокому, а логический «0» наоборот. Таким образом, перепад осуществ- ляется при любых передаваемых битах, включая долговременные однотип- ные последовательности из одних 0 или 1, что определяет хорошие син- хронизационные способности данного кода. Битовый интервал — 100 нс. Рис. 2.9 – Манчестерский код Таким образом, при передаче любого пакета уровень постоянной составляю- щей практически равен половине амплитуды. В Ethernet используются сигналы отрицательной полярности. 2.4.4 Алгоритм доступа к сети Ethernet При более подробном описании алгоритма доступа вводятся следующие понятия. IPG (Interpacket Gap) — минимальное расстояние между пакетами. Для Ether- net — это 9.6 мкс. BT (Bit Time) — время передачи одного бита (100 нс для Ethernet). PDV (Path Delay Value) — удвоенное значение времени прохождения сигна- ла между двумя узлами. Окно коллизий — максимальное значение PDV для данного сегмента сети.
2.4 Ethernet — базовая технология ЛВС27 Slot time (время канала) — максимально допустимое окно коллизий для сег- мента (512 BT). Процедура передачи кадра следующая: 1. При первой попытке прослушивается сеть, и при отсутствии других сигна- лов начинается передача пакета при соблюдении времени IPG и отсутствии коллизий. 2. Если в процессе передачи возникла коллизия и она обнаружена, то стан- ция, обнаружившая ее, посылает специальный сигнал предупреждения, на- зываемый пробкой. «Пробка» содержит 32 бита. Пакеты, пострадавшие от коллизий, уничтожаются. 3. После некоторой случайной задержки производится следующая попытка передачи пакета. Всего таких попыток — 16. С увеличением номера попыт- ки увеличивается интервал времени ожидания. 4. После шестнадцатой неудачной попытки передача пакета прекращается, и управление от сетевой карты передается компьютеру. 5. Все дальнейшие действия осуществляются под руководством протоколов верхних уровней. 2.4.5 Форматы кадров Ethernet В сети IEEE 802.3/Ethernet существуют в общей сложности четыре протоколь- ные модификации Ethernet, не сильно отличающиеся друг от друга. Более того, базовых формата кадра всего два — Ethernet II и IEEE 802.3, причем они отличают- ся назначением всего одного поля (рис. 2.10) Ethernet II/DIX. Рис. 2.10 – Базовые форматы кадров Ethernet Preamble (Преамбула): Стартовая комбинация, состоящая из последовательно- сти чередующихся нулей и единиц. Необходима для настройки аппаратуры адап- тера или другого сетевого устройства на прием и обработку пакета, т. е. на опо- вещение принимающих станций о начале кадра и синхронизацию передающей 28Глава 2. Локальные вычислительные сети (ЛВС)и приемных станций. Кроме того, она необходима для надежного выявления кол- лизий и эффективной борьбы с явлением ложной несущей (Fast Carrier Event, FCE). (Стандарт IEEE 802.3). SOF/SFD (Start-of-frame Delimiter, Разделитель начала кадра): Двоичная после- довательность 10101011, которая служит для разделения преамбулы и следующего за ним поля, а также для окончательной синхронизации приемных станций двумя младшими битами (Стандарт IEЕЕ 802.3). В Ethernet II преамбула не разделяется на собственно преамбулу и начальный ограничитель кадра, что является одним из отличий Ethernet от IEEE 802.3, хотя весьма несущественным. Тем более что очень часто преамбула вообще рассматривается как часть физического механизма синхронизации передающей и принимающей сторон, а не как часть кадра. В фи- зической реализации сетевого адаптера Ethernet преамбула и SFD генерируются специальными логическими схемами непосредственно перед передачей в среду. Destination Address/Source Address (Адрес Ethernet/МАС-адрес): Состоит из 12 шестнадцатеричных цифр (48 битов/6 байтов). Первые 6 цифр МАС-адреса содержат идентификатор производителя (код поставщика — vendor code), который также называют Organizational Unique Identifier (OUI), назначаемый IEEE. Послед- ние 6 цифр назначаются производителем и часто представляют собой серийный номер. Таким образом, данная структура адреса обеспечивает абсолютную уни- кальность сетевых устройств. В подавляющем большинстве сетевых адаптеров МАС-адрес прошит в ПЗУ (его часто называют burned-in address — BIA). При инициализации сетевого устрой- ства этот адрес переписывается в ОЗУ. Адреса Ethernet могут быть обычными, групповыми и широковещательными. Мультикастные адреса имеют старшую часть «010000». Многоадресная передача принимается всеми станциями, групповой адрес которых совпадает с указанным в поле адресом получателя. Если же все биты адреса равны единице, то это широко- вещательный адрес (broadcast address), и такой пакет предназначен всем станциям. В Ethernet режим широковещательного обращения реализуется посредством уста- новки в единичное значение всех битов адреса получателя — OFFFFFFFFFFFFh. Одно из небольших отличий между Ethernet и 802.3 состоит в классификации групповых адресов. В отличие от Ethernet спецификация 802.3 подразделяет груп- повые адреса на адреса, имеющие глобальное и локальное значение. Однако это разделение редко используется на практике. Length (IEEE 802.3): Поле длины кадра состоит из двух байтов и определяет длину поля данных от поля Length до поля FCS (от 0 до 1500 байтов). Однако ввиду ограничений на минимальную длину кадра поле данных не может быть короче 46 байт. Если же объем передаваемых данных меньше, то поле данных дополняется заполняющими битами. Type (Ethernet II): Данное поле определяет протокол верхнего уровня, принима- ющего данные после завершения обработки кадра на канальном уровне. Содержит шестнадцатеричное число, из списка стандартных протоколов (RFC 1700). Для протокола IP — 0800h (RFC 894), для протокола ARP — 0806h (RFC 1700), а для протокола RARP — 8O35h (RFC 1700). По сути это функция подуровня LLC. Data: Поле содержит инкапсулированные данные верхних уровней, например в случае использования стека протоколов TCP/IP это IP-дейтаграмма. В отличие от служебных полей поле данных имеет переменную длину, причем оно не может 2.4 Ethernet — базовая технология ЛВС29быть короче 46 байт и длиннее 1500 байт. Фактически эта величина является MTU (Maximum Transmission Unit). В случае, когда реальный объем передаваемых дан- ных меньше 46 байт (например, для эмуляции терминала часто передается всего один символ, вводимый с клавиатуры), поле данных дополняется до минималь- ного размера заполнителем. Байт заполнения может вставляться, даже если объем передаваемых данных более 46 байт. По предложению Novell, в случае нечетного количества байт драйвер сетевой платы добавляет еще один. Это сделано пото- му, что некоторые старые маршрутизаторы не понимают кадры нечетной длины. Ограничения на MTU сверху определены эффективностью работы сети с точки зрения производительности в случае большого числа станций, а снизу — надеж- ным опознаванием коллизий. Таким образом, максимальный размер кадра Ethernet составляет 1526 байт (12 208 бит), а минимальный — 72 байт (576 бит). Как уже отмечалось ранее, очень часто преамбулу и разделитель начала кадра не включа- ют в логическую структуру кадра, т. к. данные поля генерируются на аппаратном уровне вне зависимости от содержимого кадра. Поэтому оперируют несколько другими цифрами минимальной и максимальной длины кадра — 64 байта (512 бит) и 1518 байтов (12 144 бит) соответственно. При битовой скорости передачи 10 Мбит/с время передачи пакета минимальной длины составляет 57.6 мкс. Это время несколько больше, чем удвоенное время распространения сигнала между крайними точками кабеля, равное 51.2 мкс. FCS (Frame Check Sequence): Последнее поле в кадре — это четырехбайтное по- ле контрольной последовательности кадра (Frame Check Sequence, FCS). Значение этого поля вычисляется на основе содержимого заголовка и данных (вместе с за- полнителем, но без учета преамбулы и ограничителя) с помощью 32-разрядного циклического избыточного кода (Cyclic Redundancy Code, CRC-32) по стандартной процедуре вычисления остатка от деления двоичного массива данных на порожда- ющий полином вида P x x32 x26 x23 x22 x16 x12 x11 x10 x8 x7 x5 x4 x2 x1 и дальнейшего сравнения остатка от деления с полем FCS. В случае несовпаде- ния результата деления и содержимого поля FCS пакет считается испорченным и игнорируется. Данный код позволяет обнаружить 99.999999977% всех ошибок в сообщениях длиной до 64 байтов. Таким образом, вероятность того, что при- нимающая станция воспримет испорченный кадр как целый, практически равна нулю. IEEE 802.2 (LLC) Header and Data: В соответствии с эталонной моделью OSI каждый протокольный блок данных содержит (инкапсулирует) пакеты вышележа- щих протоколов своего стека. Протокол 802.3 описывает метод доступа к среде передачи — нижний подуровень канального уровня, и для него вышележащим про- токолом является протокол логического управления каналом (Logical Link Control, LLC) — верхний подуровень канального уровня. Таким образом, согласно требова- ниям стандарта, поле данных должно содержать заголовок LLC. Однако в ранних версиях NetWare компания Novell проигнорировала этот заголовок и стала по- мещать пакеты IPX/SPX непосредственно за полем длины кадра, и поле данных начиналось так же, как и обычный заголовок IPX, с двух байтов, состоящих из еди- ниц (число 0 FFFF). Иными словами, Novell использовала кадры просто в качестве 30 Глава 2. Локальные вычислительные сети (ЛВС) контейнера. В принципе, применение базового формата кадра 802.3 без служебной информации верхнего подуровня канального уровня позволяет Novell несколько сократить накладные расходы в расчете на кадр. Но выигрыш оказался невелик, а в гетерогенной среде применение нестандартного формата привело к проигрышу, так как маршрутизатор или сетевая плата вынуждены проверять дополнительные поля для определения типа пакета. Это послужило одним из побудительных моти- вов того, что, начиная с версии 4.0, Novell перешла по умолчанию на стандартный формат Ethernet 802.2. Другой причиной оказалось то, что использование базовых кадров Ethernet 802.3 делало невозможным применение таких опций защиты, как подпись пакетов, из-за фиксированного поля контрольной суммы пакета, равного 0
FFFF, чтобы кадр Ethernet 802.3 можно было отличить от других типов кадров. Спецификации IEEE предусматривают всего два стандартных формата — 802.2 и 802.2 SNAP, причем второй является естественным расширением первого. Стан- дартный кадр должен содержать в поле данных служебную информацию логи- ческого управления каналом (LLC), а именно: однобайтное поле точки доступа к сервису для получателя (Destination Service Access Point, DSAP), однобайтное поле точки доступа к сервису для отправителя (Source Service Access Point, SSAP) и однобайтное управляющее поле (Control) (см. рис. 2.11). Назначением номеров точек доступа к сервису (Service Access Point, SAP) занимается IEEE, и он выделил следующие номера: 0
Е0 для Novell; 0
F0 для NetBIOS; 0
06 для TCP/IP; АА для SNAP. Рис. 2.11 – Фрагменты кадра IEEE 802.3 формата 802.2 (а) и 802.2 SNAP (б) Таким образом, поля DSAP и SSAP служат для определения вышележащего протокола и, как правило, содержат одно и то же значение. Структура этих полей показана на рисунке 2.12. В них: I/G = 0 — индивидуальный адрес; I/G = 1 — групповой адрес; C/R = 0 — команда; C/R = 1 — подтверждение. Управляющее поле определяет тип кадра по классификации HDLC (I — инфор- мационный, S — супервизорный, U — ненумерованный) и обычно задается равным
2.4 Ethernet — базовая технология ЛВС310 03 (в соответствии с протоколом LLC это означает, что соединение на каналь- ном уровне не устанавливается, однако осуществляется подтверждение о приеме — LLC3). Рис. 2.12 – Структура адресов а) DSAP и б) SSAP: D — бит адреса службы места назначения; S — бит адреса службы отправителя Протокол доступа к подсети (Sub-Network Access Protocol, SNAP) был разрабо- тан с целью увеличения числа поддерживаемых протоколов, так как однобайтные поля SAP позволяют поддерживать не более 256 протоколов. В принципе, он часто применяется для передачи кадров Ethernet по сетям с другой топологией. Формат Ethernet SNAP предусматривает дополнительное пя- тибайтное поле для идентификации протокола (Protocol Identification, PI) внутри поля данных, причем первые три байта представляют собой код производителя, как правило, совпадающий с первыми тремя байтами адреса отправителя (vendor code), хотя иногда они равны нулю. Значения двух последних байтов этого поля совпадают со значениями поля протокола в Ethernet II в случае, если кадры содер- жат пакеты одного и того же высокоуровневого протокола, например они равны 0 8137 для NetWare. Определение типа кадраСети передачи данных зачастую гетерогенны, т. е. одновременно использует- ся несколько протоколов, например TCP/IP и Novell IPX. В этом случае важной задачей является корректное определение типа кадра (табл. 2.1). Таблица 2.1 – Протоколы и соответствующие типы кадров Формат кадраПротоколСпособидентификацииEthernet II DECnet, старые реализа- ции TCP/IP Поле типа протокола IEEE 802.3 Novell Net Ware 3.x Первые два байта поля дан- ных равны 0FFFFh IEEE 802.2 Novell Net Ware 4.x Поле DSAP IEEE 802.2 SNAP EtherTalk, новые реализа- ции TCP/IP Пятибайтное поле после слу- жебной информации |