Тарифы Услуги Сим-карты

Типы кадров ethernet. Форматы кадров Ethernet

Выделим три главных элемента стандарта: формат кадра, систему сигнализации между рабочими станциями при осуществлении передачи данных по протоколу CSMA/CD и набор физических сред: коаксиальный кабель, витая пара, волоконно-оптический кабель.

Формат кадра Ethernet

На рис. 7-2 показан формат кадра Ethernet. Поля имеют следующие назначения:
— Преамбула: 7 байт, каждый из которых представляет чередование единиц и нулей 10101010. Преамбула позволяет установить битовую синхронизацию на приемной стороне.
— Ограничитель начала кадра (SFD, start frame delimiter): 1 байт, последовательность 10101011. указывает, что далее последуют, информационные поля кадра. Этот байт можно относить к преамбуле.
— Адрес назначения (DA, destination address): 6 байт, указывает МАС-адрес станции (МАС-адреса станций), для которой (которых) предназначен этот кадр. Это может быть единственный физический адрес (unicast), групповой адрес (multicast) или широковещательный адрес (broadcast).
— Адрес отправителя (SA, source address): б байт, указывает МАС-адрес станции, которая посылает кадр.
— Поле типа или длины кадра (Т or L, type or length): 2 байта. Существуют два базовых формата кадра Ethernet (в английской терминологии raw formats -сырые форматы) -EthernetII и IEEE 802.3 (рис. 7.2), причем различное назначение у них имеет именно рассматриваемое поле. Для кадра EthernetII в этом поле содержится информация о типе кадра. Ниже приведены значения в шестнадцатеричной системе этого поля для некоторых распространенных сетевых протоколов: 0х0800 для IP, 0х0806 для ARP, 0х809В для AppleTalk, 0х0600 для XNS, и 0х8137 для IPX/SPX. С указанием в этом поле конкретного значения (одного из перечисленных) кадр приобретает реальный формат, и в таком формате кадр уже может распространяться по сети.
— Для кадра IEEE 802,3 в этом поле содержится выраженный в байтах размер следующего поля — поля данных (LLC Data). Если эта цифра приводит к общей длине кадра меньше 64 байт, то за полем LLC Data добавляется поле Pad. Для протокола более высокого уровня не возникает путаницы с определением типа кадра, так как для кадра IEEE 802.3 значение этого поля не может быть больше 1500 (0x05DC). Поэтому, в одной сети могут свободно сосуществовать оба формата кадров, более того, один сетевой адаптер может взаимодействовать с обоими типами посредством стека протоколов.
— Данные (LLC Data): поле данных, которое обрабатывается подуровнем LLC. Сам по себе кадр IEEE 802.3 еще не окончательный. В зависимости от значений первых нескольких байт этого поля, могут быть три окончательных формата этого кадра IEEE 802.3:
— Ethernet_802.3 (не стандартный, в настоящее время устаревающий формат, используемый Novell) — первые два байта LLC Data равны 0xFFFF;
— EthernetSNAP (стандартный IEEE 802.2 SNAP формат, которому отдается наибольшее предпочтение в современных сетях, особенно для протокола TCP/IP) — первый байт LLC Data равен 0хАА;
— Ethernet_802.2 (стандартный IEEE 802.2 формат, используется фирмой Novell в NetWare 4.0) — первый байт LLC Data не равен ни 0xFF (11111111), ни 0хАА (10101010).

Дополнительное поле (pad — наполнитель) — заполняется только в том случае, когда поле данных невелико, с целью удлинения длины кадра до минимального размера 64 байта — преамбула не учитывается. Ограничение снизу на минимальную длину кадра необходимо для правильного разрешения коллизий.

Контрольная последовательность кадра (FCS, frame check sequence): 4-байтовое поле, в котором указывается контрольная сумма, вычисленная с использованием циклического избыточного кода по полям кадра, за исключением преамбул SDF и FCS.

Рис. 7.2. Два базовых MAC формата кадра Ethernet

Основные варианты алгоритмов случайного доступа к среде

Протокол CSMA/CD определяет характер взаимодействия рабочих станций в сети с единой общей для всех устройств средой передачи данных. Все станции имеют равноправные условия по передаче данных. Нет определенной последовательности, в соответствии с которой станции могут получать доступ к среде для осуществления передачи. Именно в этом смысле доступ к среде осуществляется случайным образом. Реализация алгоритмов случайного доступа представляется значительно более простой задачей, чем реализация алгоритмов детерминированного доступа. Поскольку в последнем случае требуется или специальный протокол, контролирующий работу всех устройств сети (например, протокол обращения маркера, свойственный сетям Token Ring и FDDI), или специальное выделенное устройство-мастер концентратор, который в определенной последовательности предоставлял бы всем остальным станциям возможность передавать (сети Arcnet, 100VG AnyLAN).

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

Дадим определение: множество всех станций сети, одновременная передача любой пары из которых приводит к коллизии, называется коллизионным доменом (collision domain). Из-за коллизии (конфликта) могут возникать непредсказуемые задержки при распространении кадров по сети, особенно при большой загруженности сети (много станций пытаются одновременно передавать внутри коллизионного домена, > 20-25), и при большом диаметре коллизионного домена (> 2 км). Поэтому при построении сетей желательно избегать таких экстремальных режимов работы.

Проблема построения протокола, способного наиболее рационально разрешать коллизии, и оптимизирующего работу сети при больших загрузках, была одной из ключевых на этапе формирования стандарта Ethernet IEEE 802.3. Первоначально рассматривались три основных подхода в качестве кандидатов для реализации стандарта случайного доступа к среде (рис. 7.3): непостоянный, 1-постоянный и р-постоянный.

Рис. 7.3. Алгоритмы множественного случайного доступа (CSMA) и выдержка времени в конфликтной ситуации (collision backoff)

Непостоянный (nonpersistent) алгоритм. При этом алгоритме станция, желающая передавать, руководствуется следующими правилами.

1. Прослушивает среду, и, если среда свободна (т.е. если нет другой передачи или нет сигнала коллизии), передает, в противном случае — среда занята -переходит к шагу 2.
2. Если среда занята, ждет случайное (в соответствии с определенной кривой распределения вероятностей) время и возвращается к шагу 1.

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

1-постоянный (1-persistent) алгоритм. Для сокращения времени, когда среда не занята, мог бы использоваться 1-постоянный алгоритм. При этом алгоритме станция, желающая передавать, руководствуется следующими правилами.

1. Прослушивает среду, и, если среда не занята, передает, в противном случае переходит к шагу 2;
2. Если среда занята, продолжает прослушивать среду до тех пор, пока среда не освободится, и, как только среда освобождается, сразу же начинает передавать.

Сравнивая непостоянный и 1-постоянный алгоритмы, можно сказать, что в 1-постоянном алгоритме станция, желающая передавать, ведет себя более «эгоистично». Поэтому, если две или более станций ожидают передачи (ждут, пока не освободится среда), коллизия, можно сказать, будет гарантирована. После коллизии станции начинают решать, что им делать дальше.

Р-постоянный (p-persistent) алгоритм. Правила этого алгоритма следующие:
1. Если среда свободна, станция с вероятностью р сразу же начинает передачу или с вероятностью (1-р) ожидает в течение интервала времени Т. Интервал Т обычно берется равным максимальному времени распространения сигнала из конца в конец сети;
2. Если среда занята, станция продолжает прослушивание до тех пор, пока среда не освободится, затем переходит к шагу 1;
3. Если передача задержана на один интервал Т, станция возвращается к шагу 1.

И здесь возникает вопрос выбора наиболее эффективного значения параметра р. Главная проблема, как избежать нестабильности при высоких загрузках. Рассмотрим ситуацию, при которой n станций намерены передать кадры, в то время, как уже идет передача. По окончанию передачи ожидаемое количество станций, которые попытаются передавать, будет равно произведению количества желающих передавать станций на вероятность передачи, то есть пр. Если np > 1, то в среднем несколько станций будут пытаться передать сразу, что вызовет коллизию. Более того, как только коллизия будет обнаружена, все станции вновь перейдут к шагу 1, что вызовет повторную коллизию. В худшем случае, новые станции, желающие передавать, могут добавиться к n, что еще больше усугубит ситуацию, приведя, в конечном итоге, к непрерывной коллизии и нулевой пропускной способности. Во избежании такой катастрофы пр должно быть меньше единицы. Если же сеть подвержена возникновению состояний, когда много станций одновременно желают передавать, то необходимо уменьшать р. С другой стороны, когда р становиться слишком малым, даже отдельная станция может прождать в среднем (1 — р)/р интервалов Т, прежде чем осуществит передачу. Так если р=0,1, то средний простой, предшествующий передаче, составит 9Т.

Аппаратный

Аппаратн

Сетевой адрес

получателя

назначения

источника

отправителя

отправителя

получате

(Target Internet

Заголовок кадра Ethernet

Поле данных кадра Ethernet (ARP-запрос)

Рисунок 6 - Широковещательная передача ARP-запроса компьютером A

Аппаратный

Аппаратн

Сетевой адрес

получателя

назначения

источника

отправителя

отправителя

получате

(Target Internet

Заголовок кадра Ethernet

Поле данных кадра Ethernet (ARP-ответ)

Рисунок 7 - ARP-ответа компьютера B

2.2.2 Работа ARP протокола в случае, когда отправитель и получатель расположены в разных сетях

Пусть компьютер A с именем Vito и компьютер B с именем Maxx так же, как и в первом случае, находятся в одной сети класса C 192.168.0.0, не разделенной на подсети, но компьютер B подключен и к внешней сети и помимо своих обычных функций выполняет функции шлюза (маршрутизатора). Компьютер A хочет обратиться через внешнюю сеть к некоторому компьютеру C с IP-адресом 195.5.27.10, т.е. получатель находится в другой сети. На рисунке 8 приведена соответствующая иллюстрация.

Компьютер C (получатель)

IP-адрес: 195.5.27.10

Компьютер

Vito(отправи

MAC-адрес:00-02-44-63-D3-87 MAC-адрес: 00-80-48-B7-BD-

IP-адрес: 192.168.0.147

IP-адрес: 192.168.0.145

Компь ютер B

ARP-запрос

Рисунок 8 - Расположение отправителя и получателя в разных сетях

При обращении компьютера A к компьютеру C, например, при вводе на компьютере A команды ping –n 1 195.5.27.10 , компьютер A действует следующим образом.

Сначала компьютер A определяет, в какой сети – локальной или удаленной – находится компьютер C. Для этого он “накладывает” стандартную маску подсети класса C 255.255.255.0 на свой IP-адрес 192.168.0.147 и получает результат 192.168.0.0.

Затем он “накладывает” ту же маску на IP-адрес компьютера-получателя 195.5.27.10 и получает результат 195.5.27.0. Т.к. результаты этих двух операций различны, компьютер A делает вывод о том, что компьютер C находится в другой сети и передачу данных нужно выполнить через шлюз (компьютер B).

Затем компьютер A должен послать кадр Ethernet с эхо-запросом, указав в заголовке вложенного в этот кадр пакета ICMP IP-адрес компьютера-получателя 195.5.27.10, а в заголовке кадра Ethernet – MAC-адрес шлюза, т.е. компьютера B (а не

MAC-адрес компьютера-получателя ), т.к. сначала кадр по сети Ethernet должен достигнуть шлюза. Следовательно, компьютер A должен знать MAC-адрес шлюза, но в настройках TCP/IP компьютера указывается не MAC-адрес, а IP-адрес шлюза. Если компьютер A недавно обращался к шлюзу, то MAC-адрес шлюза может находиться в таблице ARP компьютера A. Если же компьютер A после начальной загрузки еще не обращался к шлюзу или обращался к нему давно и соответствующая динамическая запись соответствия “IP-адрес – MAC-адрес” уже удалена, то таблица ARP компьютера A не будет содержать MAC-адреса шлюза (если только он не введен туда администратором вручную). В этом случае компьютер A должен выяснить MAC-адрес шлюза с помощью протокола ARP.

Процесс выяснения компьютером A MAC-адреса шлюза (компьютера B) описан выше. После определения MAC-адреса шлюза компьютер A посылает эхо-запрос компьютеру C. Этот эхо-запрос поступает на компьютер B, который, выполняя функцию маршрутизатора, направляет эхо-запрос компьютеру C через внешнюю сеть.

При передаче данных от отправителя получателю, находящемуся в удаленной сети, в заголовке IP-пакета указывается IP-адрес получателя, а в заголовке кадра Ethernet указывается MAC-адрес не получателя, а MAC-адрес шлюза, через который

должны быть переданы данные. Аналогично, при поступлении на отправитель (компьютер А) ответных данных от получателя (компьютера C) через шлюз (компьютер В) в поле MAC-адреса источника заголовка кадра Ethernet указывается MAC-адрес не компьютера C, а MAC-адрес шлюза (компьютера В), а в поле IP-адреса источника заголовка IP-пакета указывается IP-адрес не шлюза В, а IP-адрес компьютера C.

2.2.3 Использование протокола ARP для проверки наличия в сети дублированного IP-адреса

Кроме установления соответствия между MAC-адресам и IP-адресом, протокол ARP выполняет еще одну важную функцию. При включении (загрузке) компьютера и при изменении его IP-адреса протокол ARP позволяет определить, имеются ли в локальной сети компьютеры с одинаковыми IP-адресами. Для этого при загрузке компьютера и после изменения его IP-адреса компьютер посылает ARP-запрос, в котором в качестве получателя пакета (полесетевой адрес получателя ) указывает свой собственный IP-адрес.

Такой ARP-запрос называется самообращенным (от слова gratuitous – “беспричинным”, т.е. не вызванным необходимостью последующей передачи данных, или “безвозмездным”, т.е. не требующим ответа). Компьютер, пославший самообращенный ARP-запрос, не ждет на него ответа. Если ответа на самообращенный ARP-запрос не поступает, значит, такого же IP-адреса, как у данного компьютера, в локальной сети больше нет. Если же какой-либо компьютер локальной сети отвечает на самообращенный ARP-запрос своим MAC-адресом, значит, в локальной сети уже есть компьютер с таким IP-адресом. В этом случае на экране компьютера, пославшего самообращенный ARP-запрос, и на экране компьютера, ответившего на этот запрос, выводятся сообщения об ошибке - “Конфликт IP-адреса с другой системой в сети”.

2.3 Протокол ICMP

Протокол межсетевых управляющих сообщений ICMP (Internet Control Message Protocol) входит с состав стека TCP/IP. Протокол ICMP используется для тестирования доступности узлов сети и представляет собой эхо-протокол (на посланный запрос должен быть получен ответ). ICMP протокол работает с двумя типами сообщений: эхо-запрос и эхо-ответ . Компьютер или маршрутизатор посылают по сети эхо-запрос, в котором указывают IP-адрес узла, доступность которого нужно проверить. Компьютер (маршрутизатор), который получает эхо-запрос, формирует и отправляет эхо-ответ и возвращает сообщение узлу - отправителю запроса. В запросе могут содержаться некоторые данные (контрольная сумма), которые должны быть возвращены в ответе. Так как эхо-запрос и эхо-ответ передаются по сети внутри IPпакетов (см. рис. 9), то их успешная доставка означает нормальное функционирование всей транспортной системы интерсети.

Рисунок 9 - Инкапсуляция (вложение) ICMP-сообщения в IP-датаграмму

Для отправки эхо-запросов и приема эхо-ответов используется утилита (программа)ping .

2.4 Протокол DHCP

Основным назначением DHCP является динамическое назначение IP-адресов. Однако, кроме динамического, DHCP может поддерживать и более простые способы ручного и автоматического статического назначения адресов.

При автоматическом статическом способе DHCP-сервер присваивает IP-адрес клиенту из пула (массива) наличных IP-адресов без вмешательства администратора. Границы пула (массива) назначаемых адресов задает администратор при конфигурировании DHCP-сервера. Между идентификатором клиента и присвоенным ему IP-адресом, как и при ручном назначении, существует соответствие. Оно устанавливается в момент первичного назначения сервером DHCP IP-адреса клиенту. При всех последующих запросах (на получение IP-адреса) сервер возвращает клиенту тот же самый IP-адрес.

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

DHCP обеспечивает надежный и простой способ конфигурации сети TCP/IP, гарантируя отсутствие конфликтов адресов за счет централизованного управления их распределением. Администратор управляет процессом назначения адресов с помощью параметра "продолжительности аренды" (lease duration), которая определяет, как долго компьютер может использовать назначенный IP-адрес, перед тем как снова запросить его от сервера DHCP в аренду.

Протокол DHCP использует модель клиент-сервер. Во время старта системы DHCP - клиент, находится в состоянии "инициализации" и посылает широковещательное сообщение discover (обнаружить) для поиска в сети DHCPсервера. DHCP-сервер, получив это сообщение, отвечает на него сообщением offer (предложение), которое содержит IP-адрес и конфигурационную информацию. DHCP - клиент, получив предложение от DHCP-сервера, переходит в состояние "запрос" и отправляет сообщение request (запрос) DHCP-серверу. DHCP-сервер посылает сообщение DHCP-acknowledgment (подтверждение), содержащее тот же IP-адрес, который уже был послан ранее на стадии исследования, а также параметр аренды для

этого адреса. Кроме того, DHCP-сервер посылает параметры сетевой конфигурации. После того, как клиент получит это подтверждение, он переходит в состояние "связь", находясь в котором он может принимать участие в работе сети TCP/IP. По истечения срока аренды IP-адреса компьютер пытается обновить параметры аренды у DHCPсервера, а если этот IP-адрес не может быть выделен снова, то компьютеру выделяется другой IP-адрес. На рисунке 10 приведен формат DHCP пакета.

Рисунок 10 - Формат DHCP пакета

Использование протокола DHCP кроме своих достоинств имеет ряд недостатков. Во-первых, это проблема согласования информационной адресной базы в службах DHCP и DNS (система доменных имен). DNS служит для преобразования символьных имен в IP-адреса, если IP-адреса, будут, динамически изменятся сервером DHCP, то эти изменения необходимо также динамически вносить в базу данных сервера DNS. Хотя протокол динамического взаимодействия между службами DNS и DHCP уже реализован некоторыми фирмами (так называемая служба Dynamic DNS), стандарт на него пока не принят.

Во-вторых, нестабильность IP-адресов усложняет процесс управления сетью. Системы управления, основанные на протоколе SNMP, разработаны с расчетом на статичность IP-адресов.

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

Для работы с протоколом DHCP в ОС “Windows” используется команда ipconfig , которая служит для отображения всех текущих параметров сети TCP/IP и обновления параметров DHCP и DNS. При вызове командыipconfig можно использовать ряд параметров, например:

/all - вывод полной конфигурации TCP/IP для всех адаптеров. Без этого параметра командаipconfig выводит только IP-адреса, маску подсети и основной шлюз для каждого адаптера.

Стандарт на технологию Ethernet, описанный в документе 802.3, дает описание единственного формата кадра МАС-уровня. Так как в кадр МАС-уровня должен вкладываться кадр уровня LLC, описанный в документе 802.2, то по стандартам IEEE в сети Ethernet может использоваться только единственный вариант кадра канального уровня, образованный комбинацией заголовков МАС и LLC подуровней.

Тем не менее, на практике в сетях Ethernet на канальном уровне используются заголовки 4-х типов. Это связано с длительной историей развития технологии Ethernet до принятия стандартов IEEE 802, когда подуровень LLC не выделялся из общего протокола и, соответственно, заголовок LLC не применялся.

Консорциум трех фирм Digital,IntelиXeroxв 1980 году представил на рассмотрение комитету 802.3 свою фирменную версию стандартаEthernet, но комитет 802.3 принял стандарт, отличающийся в некоторых деталях от предложенияDIX. Отличия касались и формата кадра, что породило существование двух различных типов кадров в сетиEthernet.

Еще один формат кадра появился в результате усилий компании Novellпо ускорению работы своего стека протоколов в сетяхEthernet.

И, наконец, четвертый формат кадра стал результатом деятельности комитета 802.2 по приведению предыдущих форматов кадров к некоторому общему стандарту.

Сегодня практически все сетевые адаптеры, драйверы сетевых адаптеров, мосты/коммутаторы и маршрутизаторы умеют работать со всеми используемыми на практике форматами кадров технологии Ethernet, причем распознавание типа кадра выполняется автоматически.

Ниже приводится описание всех четырех модификаций заголовков кадров Ethernet (здесь под кадром понимается весь набор полей, которые относятся к канальному уровню, то есть поля MACиLLCуровней):

    Кадр 802.3/LLC (кадр 802.3/802.2 или кадр Novell 802.2)

    Кадр Raw 802.3 (или кадр Novell 802.3)

    Кадр Ethernet DIX (или кадр Ethernet II)

    Кадр Ethernet SNAP

Форматы этих четырех типов кадров Ethernetприведены на рис.6.2.

Рис.6. 2 . Форматы кадров Ethernet.

Рис. 14.3. Форматы кадров Ethernet.

Кадр 802.3/llc

Заголовок кадра 802.3/LLC является результатом объединения полей заголовков кадров, определенных в стандартах IEEE802.3 и 802.2.

Стандарт 802.3 определяет восемь полей заголовка:

    Поле преамбулы ( Preamble ) состоит изсеми байтов синхронизирующих данных . Каждый байт содержит одну и ту же последовательность битов -10101010 . При манчестерском кодировании эта комбинация представляется в физической среде периодическим волновым сигналом с частотой 5 МГц.

    Начальный ограничитель кадра (Start - of - frame - delimiter , SFD ) состоит из одного байта с набором битов10101011 . Появление этой комбинации бит является указанием на то, что следующий байт - это первый байт заголовка кадра.

    Адрес назначения (Destination Address, DA) - 6 байт. Первый бит старшего байта адреса назначения являетсяпризнак ом того, являетсяадрес индивидуальным или групповым . Если0 , то адрес являетсяиндивидуальным ( unicast ), а если1 , то этогрупповой адрес ( multicast ). Групповой адрес сети может предназначаться всем узлам сети или же определенной группе узлов сети.Если адрес состоит из всех единиц, то есть имеет шестнадцатеричное представление0* FFFFFFFFFFFF , то он предназначенвсем узлам сети и называетсяшироковещательным адресом ( broadcast ) . В остальных случаях групповой адрес связан только с теми узлами, которые сконфигурированы (например, вручную) как члены группы, номер которой указан в групповом адресе.Второй бит старшего байта адреса определяетспособ назначения адреса - централизованный или локальный . Если этот бит равен0 (что бывает почти всегда в стандартной аппаратуреEthernet), тоадрес назначен централизованно , с помощью комитетаIEEE. КомитетIEEEраспределяет между производителями оборудования так называемыеорганизационно уникальные идентификаторы (Organizationally Unique Identifier , OUI ) . Этот идентификатор помещается в3 старших байта адреса (например, идентификатор 000081 определяет компаниюBay Networks) .За уникальность младших 3-х байт адреса отвечает производитель оборудования. Двадцать четыре бита , отводимые производителю для адресации интерфейсов его продукции, позволяют выпустить16 миллионов интерфейсов под одним идентификатором организации . Уникальность централизованно распределяемых адресов распространяется на все основные технологии локальных сетей -Ethernet,TokenRing,FDDIи т.д.

Внимание: В стандартахIEEEEthernetмладший бит байта изображается в самой левой позиции поля, а старший бит - в самой правой. Это нестандартный способ отображения порядка бит в байте соответствует порядку передачи бит в линию связи передатчикомEthernet.

    Адрес источника ( Source Address , SA ) - 6-ти байтовое поле, содержащее адрес станции - отправителя кадра. Первый бит - всегда имеет значение 0.

    Длина (Length, L ) . Двухбайтовоеполе длины определяет длину поля данных в кадре.

Кадр 802.3 является кадром MAС-подуровня, в соответствии со стандартом 802.2 в егополе данных вкладывается кадр подуровня LLC с удаленными флагами начала и конца кадра

    DSAP адрес доступа к службе получателя ( Destination Service Access Point ) -1 байт.

    SSAP адрес доступа службы отпрвителя (Source Service Access Point) - 1 байт.

    Control поле управления – 1 байт в режимеLLC1 и 2 байта в режимеLLC2.

9. Поле данных ( Data ) может содержать от 0 до 1500 байт. Но если длина поля меньше 46 байт, то используется поле заполнения(Padding ) , чтобы дополнить кадр до минимально допустимого значения в 46 байт. Так как кадр LLC имеет заголовок длиной 3 (в режимеLLC1) или 4 байт (в режимеLLC2), то максимальный размер поля данных уменьшается до 1497 (1796) байт.

10. Поле контрольной суммы ( frame Check Sequence , FCS ) - 4 байта, содержащие значение, которое вычисляется по определенному алгоритму CRC-32.

ТЕХНОЛОГИЯ ETHERNET

Ethernet - это самый распространенный на сегодняшний день стандарт локальных сетей.

Когда говорят Ethernet, то под этим обычно понимают любой из вариантов этой технологии. В более узком смысле Ethernet - это сетевой стандарт, основанный на экспериментальной сети Ethernet Network, которую фирма Xerox разработала и реализовала в 1975 году. Метод доступа был опробован еще раньше: во второй половине 60-х годов в радиосети Гавайского университета использовались различные варианты случайного доступа к общей радиосреде, получившие общее название Aloha. В 1980 году фирмы DEC, Intel и Xerox совместно разработали и опубликовали стандарт Ethernet версии II для сети, построенной на основе коаксиального кабеля, который стал последней версией фирменного стандарта Ethernet. Поэтому фирменную версию стандарта Ethernet называют стандартом Ethernet DIX или Ethernet П.

На основе стандарта Ethernet DIX был разработан стандарт IEEE 802.3, который во многом совпадает со своим предшественником, но некоторые различия все же имеются. В то время как в стандарте IEEE 802.3 различаются уровни MAC и LLC, в оригинальном Ethernet оба эти уровня объединены в единый канальный уровень. В Ethernet DIX определяется протокол тестирования конфигурации (Ethernet Configuration Test Protocol), который отсутствует в IEEE 802.3. Несколько отличается и формат кадра, хотя минимальные и максимальные размеры кадров в этих стандартах совпадают. Часто для того, чтобы отличить Ethernet, определенный стандартом IEEE, и фирменный Ethernet DIX, первый называют технологией 802.3, а за фирменным оставляют название Ethernet без дополнительных обозначений.

В зависимости от типа физической среды стандарт IEEE 802.3 имеет различные модификации - 10Base-5, 10Base-2, 10Base-T, 10Base-FL, 10Base-FB.

В 1995 году был принят стандарт Fast Ethernet, который во многом не является самостоятельным стандартом, о чем говорит и тот факт, что его описание просто является дополнительным разделом к основному стандарту 802.3 - разделом 802.3u. Аналогично, принятый в 1998 году стандарт Gigabit Ethernet описан в разделе 802.3z основного документа.

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

Все виды стандартов Ethernet (в том числе Fast Ethernet и Gigabit Ethernet) используют один и тот же метод разделения среды передачи данных - метод CSMA/CD.

Адресация в сетях Ethernet

Для идентификации получателя информации в технологиях Ethernet используются 6-ти байтовые MAC–адреса.

Формат MAC – адреса обеспечивает возможность использования специфических режимов многоадресной адресации в сети Ethernet и, одновременно, исключить возможность появления в пределах одной локальной сети двух станций которые имели бы одинаковый адрес.

Физический адрес сети Ethernet состоит из двух частей:

  • Идентификатор производителя оборудования (Vendor codes)
  • Индивидуальный идентификатор устройства

Специальная организация в составе IEEE занимается распределением разрешенных кодировок данного поля по заявкам фирм-производителей сетевого оборудования. Для написания MAC адреса могут быть использованы различные формы. Наиболее часто используется шестнадцатеричная форма, в которой пары байтов отделяются друг от друга символами «-»:

E0-14-00-00-00

В сетях Ethernet и IEEE 802.3 используются три основных режима формирования адреса назначения:

  • Unicast – индивидуальный адрес;
  • Multicast – групповой адрес;
  • Broadcast – широковещательный адрес.

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

Признаком использования режима адресации Multicast является наличие 1 в младшем бите старшего байта идентификатора производителя оборудования.

C-CC-CC-CC

Кадр, содержание поля DA которого принадлежит типу Multicast, будет принят и обработан всеми станциями, которые имеют соответствующее значение поля Vendor Code – в данном случае – это сетевые устройства Cisco. Приведенный Multicast - адрес используется сетевыми устройствами данной фирмы для взаимодействия в соответствии с правилами Cisco Discovery Protocol (CDP).

Станция сети Ethernet и IEEE 802.3 может также использовать режим адресации типа Broadcast. Адрес станции назначения типа Broadcast кодируется специальным значением:

FF-FF-FF-FF-FF-FF

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

Метод доступа CSMA/CD

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

Протокол CSMA/CD определяет характер взаимодействия рабочих станций в сети с единой общей для всех устройств средой передачи данных. Все станции имеют равноправные условия по передаче данных. Нет определенной последовательности, в соответствии с которой станции могут получать доступ к среде для осуществления передачи. Именно в этом смысле доступ к среде осуществляется случайным образом. Реализация алгоритмов случайного доступа представляется значительно более простой задачей, чем реализация алгоритмов детерминированного доступа. Поскольку в последнем случае требуется или специальный протокол, контролирующий работу всех устройств сети (например протокол обращения маркера, свойственный сетям Token Ring и FDDI), или специальное выделенное устройство - мастер концентратор, который в определенной последовательности предоставлял бы всем остальным станция возможность передавать (сети Arcnet, 100VG AnyLAN).

Однако сеть со случайным доступом имеет один, пожалуй, главный недостаток - это не совсем устойчивая работа сети при большой загруженности, когда может проходить достаточно большое время, прежде чем данной станции удается передать данные. Виной тому коллизии, которые возникают между станциями, начавшими передачу одновременно или почти одновременно. При возникновении коллизии передаваемые данные не доходят до получателей, а передающим станциям приходится повторно возобновлять передачу - методы кодирования, используемые в Ethernet, не позволяют выделять сигналы каждой станции из общего сигнала. (Заметим, что этот факт отражен в составляющей «Base(band)», присутствующей в названиях всех физических протоколов технологии Ethernet (например, 10Base-2,10Base-T и т. п.). Baseband network означает сеть с немодулированной передачей, в которой сообщения пересылаются в цифровой форме по единственному каналу, без частотного разделения. )

Коллизия - это нормальная ситуация в работе сетей Ethernet. Для возникновения коллизии не обязательно, чтобы несколько станций начали передачу абсолютно одновременно, такая ситуация маловероятна. Гораздо вероятней, что коллизия возникает из-за того, что один узел начинает передачу раньше другого, но до второго узла сигналы первого просто не успевают дойти к тому времени, когда второй узел решает начать передачу своего кадра. То есть коллизии - это следствие распределенного характера сети.

Множество всех станций сети, одновременная передача любой пары из которых приводит к коллизии, называется коллизионным доменом (collision domain) или доменом коллизий.

Из-за коллизии могут возникать непредсказуемые задержки при распространении кадров по сети, особенно при большой загруженности сети (много станций пытаются одновременно передавать внутри коллизионного домена, > 20-25) и при большом диаметре коллизионного домена (> 2 км). Поэтому при построении сетей желательно избегать таких экстремальных режимов работы

Проблема построения протокола, способного наиболее оптимальным образом разрешать коллизии, и оптимизирующего работу сети при больших загрузках, была одной из ключевых на этапе формирования стандарта. Первоначально рассматривались три основных подхода в качестве кандидатов для реализации алгоритма случайного доступа к среде: непостоянный, 1-постоянный и р-постоянный (рис.11.2).

Рисунок 11.2. Алгоритмы множественного случайного доступа (CSMA) и выдержка времени в конфликтной ситуации (collision back off)

Непостоянный (nonpersistent) алгоритм. При этом алгоритме станция, желающая передавать, руководствуется следующими правилами.

1. Прослушивает среду, и если среда свободна (т.е. если нет другой передача или нет сигнала коллизии) передает, в противном случае - среда занята - переходит к шагу 2;

2. Если среда занята, ждет случайное (в соответствии c определенной кривой распределения вероятностей) время и возвращается к шагу 1.

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

1-постоянный (1-persistent) алгоритм . Для сокращения времени, когда среда не занята, мог бы использоваться 1-постоянный алгоритм. При этом алгоритме станция, желающая передавать, руководствуется следующими правилами.

1. Прослушивает среду, и если среда не занята передает, в противном случае переходит к шагу 2;

2. Если среда занята, продолжает прослушивать среду до тех пор пока среда не освободится, и как только среда освобождается сразу же начинает передавать.

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

Р-постоянный (p-persistent) алгоритм. Правила этого алгоритма следующие:

1. Если среда свободна, станция с вероятность p сразу же начинает передачу или с вероятность (1-p ) ожидает в течение фиксированного интервал времени T. Интервал T обычно берется равным максимальному времени распространения сигнала из конца в конец;

2. Если среда занята, станция продолжает прослушивание до тех пор, пока среда не освободится, затем переходит к шагу 1;

3. Если передача задержана на один интервал T, станция возвращается к шагу 1.

И здесь возникает вопрос выбора наиболее эффективного значения параметра p . Главная проблема, как избежать нестабильности при высоких загрузках. Рассмотрим ситуацию, при которой n станций намерены передать кадры, в то время как уже идет передача. По окончанию передачи ожидаемое количество станций, которые попытаются передавать будет равно произведению количества желающих передавать станций на вероятность передачи, то есть np . Если np > 1, то в среднем несколько станций будут пытаться передать сразу, что вызовет коллизию. Более того, как только коллизия будет обнаружена, все станции вновь перейдут к шагу 1, что вызовет повторную коллизию. В худшем случае новые станции, желающие предавать, могут добавиться к n , что еще больше усугубит ситуацию, приведя в конечном итоге к непрерывной коллизии и нулевой пропускной способности. Во избежание такой катастрофы произведение np должно быть меньше единицы. Если же сеть подвержена возникновению состояний, когда много станций одновременно желают передавать, то необходимо уменьшать p . С другой стороны, когда p становиться слишком малым, даже отдельная станция может прождать в среднем (1-p )/p интервалов T, прежде чем осуществит передачу. Так если p=0,1 то средний простой, предшествующий передаче, составит 9T.

Протокол множественного случайного доступа к среде с разрешением коллизий CSMA/CD воплотил в себе идеи выше перечисленных алгоритмов и добавил важный элемент - разрешение коллизий. Поскольку коллизия разрушает все передаваемые в момент ее образования кадры, то и нет смысла станциям продолжать дальнейшую передачу своих кадров, коль скоро они (станции) обнаружили коллизии. В противном случае, значительной была бы потеря времени при передаче длинных кадров. По этому для своевременного обнаружения коллизии станция прослушивает среду на всем протяжении собственной передачи. Приведем основные правила алгоритма CSMA/CD для предающей станции (рис.11.3):

1. Станция, собравшаяся передавать, прослушивает среду. И передает, если среда свободна. В противном случае (т.е. если среда занята) переходит к шагу 2. При передаче нескольких кадров подряд станция выдерживает определенную паузу между посылками кадров - межкадровый интервал, причем после каждой такой паузы перед отправкой следующего кадра станция вновь прослушивает среду (возвращение на начало шага 1);

2. Если среда занята, станция продолжает прослушивать среду до тех пор, пока среда не станет свободной, и затем сразу же начинает передачу;

3. Каждая станция, ведущая передачу прослушивает среду, и в случае обнаружения коллизии, не прекращает сразу же передачу а сначала передает короткий специальный сигнал коллизии - jam-сигнал, информируя другие станции о коллизии, и прекращает передачу;

4. После передачи jam-сигнала станция замолкает и ждет некоторое произвольное время в соответствии с правилом бинарной экспоненциальной задержки и затем возвращаясь к шагу 1.

Чтобы получить возможность передавать кадр, станция должна убедиться, что разделяемая среда свободна. Это достигается прослушиванием основной гармоники сигнала, которая также называется несущей частотой (carrier-sense, CS). Признаком незанятости среды является отсутствие на ней несущей частоты, которая при манчестерском способе кодирования равна 5-10 МГц, в зависимости от последовательности единиц и нулей, передаваемых в данный момент.

После окончания передачи кадра все узлы сети обязаны выдержать технологическую паузу (Inter Packet Gap) в 9,6 мкс (96 bt). Эта пауза, называемая также межкадровым интервалом, нужна для приведения сетевых адаптеров в исходное состояние, а также для предотвращения монопольного захвата среды одной станцией.

Рисунок 11.3. Структурная схема алгоритма CSMA/CD (уровень MAC): при передаче кадра станцией

Jam-сигнал (jamming - дословно глушение). Передача jam-сигнала гарантирует, что не один кадр не будет потерян, так как все узлы, которые передавали кадры до возникновения коллизии, приняв jam-сигнал, прервут свои передачи и замолкнут в преддверии новой попытки передать кадры. Jam-сигнал должен быть достаточной длины, чтобы он дошел до самых удаленных станций коллизионного домена, с учетом дополнительной задержки SF (safety margin) на возможных повторителях. Содержание jam-сигнала не принципиально за исключением того, что оно не должно соответствовать значению поля CRC частично переданного кадра (802.3), и первые 62 бита должны представлять чередование ‘1’ и ‘0’ со стартовым битом ‘1’.

Рисунок 11.4. Метод случайного доступа CSMA/CD

На рис.11.5 проиллюстрирован процесс обнаружения коллизии применительно к топологии шина (на основе тонкого или толстого коаксиального кабеля (стандарты 10Base5 и 10Base2 соответственно).

В момент времени узел A (DTE A ) начинает передачу, естественно прослушивая свой же передаваемый сигнал. В момент времени , когда кадр почти дошел узлаB (DTE B ), этот узел, не зная о том, что уже идет передача, сам начинает передавать. В момент времени , узелB обнаруживает коллизию (увеличивается постоянная составляющей электрического сигнала в прослушиваемой линии). После этого узел B передает jam-сигнал и прекращает передачу. В момент времени сигнал коллизии доходит до узла A , после чего A также передает jam-сигнал и прекращает передачу.

Рисунок 11.5. Обнаружение коллизии в при использовании схемы CSMA/CD

По стандарту IEEE 802.3 узел не может предавать очень короткие кадры, или иными словами вести очень короткие передачи. Даже если поле данных не заполнено до конца, то появляется специальное дополнительное поле, удлиняющее кадр до минимальной длины 64 байта без учета преамбулы. Время канала ST (slot time)- это минимальное время, в течение которого узел обязан вести передачу, занимать канал. Это время соответствует передаче кадра минимального допустимого размера, принятого стандартом. Время канала связано с максимальным допустимым расстоянием между узлами сети - диаметром коллизионного домена. Допустим, что в приведенном выше примере реализуется наихудший сценарий, когда станции A и B удалены друг от друга на максимальное расстояние. Время, распространения сигнала от A до B обозначим через . Узел A начинает передавать в нулевой момент времени. Узел B начинает передавать в момент времени и обнаруживает коллизию спустя интервал после начала своей передачи. Узел A обнаруживает коллизию в момент времени . Для того, чтобы кадр, испущенный A , не был потерян, необходимо, чтобы узел A не прекращал вести передачу к этому моменту, так как тогда, обнаружив коллизию, узел A будет знать, что его кадр не дошел, и попытается передавать его повторно. В противном случае кадр будет потерян. Максимальное время, спустя которое с момента начала передачи узел A еще может обнаружить коллизию равно - это время называется временем двойного оборота сигнала PDV (Path Delay Value, PDV) . В более общем случае PDV определяет суммарную задержку, связанную как с задержкой из-за конечной длины сегментов, так и с задержкой, возникающей при обработке кадров на физическом уровнем промежуточных повторителей и оконечных узлов сети. Для дальнейшего рассмотрения удобно использовать также другую единицу измерения времени: битовое время bt (bit time). Время в 1 bt соответствует времени, необходимому для передачи одного бита, т.е. 0,1 мкс при скорости 10 Мбит/с.

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

Для надежного распознавания коллизий должно выполняться следующее соотношение:

T min >=PVD ,

где T min - время передачи кадра минимальной длины, a PDV - время, за которое сигнал коллизии успевает распространиться до самого дальнего узла сети. Так как в худшем случае сигнал должен пройти дважды между наиболее удаленными друг от друга станциями сети (в одну сторону проходит неискаженный сигнал, а на обратном пути распространяется уже искаженный коллизией сигнал), то именно поэтому это время называется временем двойного оборота (Path Delay Value, PDV).

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

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

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

В стандарте Ethernet принято, что минимальная длина поля данных кадра составляет 46 байт (что вместе со служебными полями дает минимальную длину кадра 64 байт, а вместе с преамбулой - 72 байт или 576 бит).

При передаче больших кадров, например 1500 байт, коллизия, если она вообще возникнет, обнаруживается практически в самом начале передачи, не позднее первых 64 переданных байт (если коллизия не возникла в это время, то позже она уже не возникнет, поскольку все станции прослушивают линию и, "слыша" передачу, будут молчать). Так как jam-сигнал значительно короче полного размера кадра, то при использовании алгоритма CSMA/CD количество в холостую израсходованной емкости канала сокращается до времени, требуемого на обнаружение коллизии. Раннее обнаружение коллизий приводит к более эффективному использованию канала. Позднее обнаружение коллизий, свойственное более протяженным сетям, когда диаметр коллизионного домена составляет несколько километров, что снижает эффективность работы сети. На основании упрощенной теоретической модели поведения загруженной сети (в предположении большого числа одновременно передающих станций и фиксированной минимальной длины передаваемых кадров у всех станций) можно выразить производительность сети U через отношение PDV/ST:

где - основание натурального логарифма. На производительность сети влияет размер транслируемых кадров и диаметр сети. Производительность в наихудшем случае (когда PDV=ST) составляет около 37%, а в наилучшем случае (когда PDV много меньше, чем ST) стремится к 1. Хотя формула и выведена в пределе большого числа станций, пытающихся передавать одновременно, она не учитывает особенностей алгоритма усеченной бинарной экспоненциальной задержки, рассмотренного ниже, и не справедлива для сильно перегруженной коллизиями сети, например, когда станций, желающих передавать, становится больше 15.

Усеченная бинарная экспоненциальная задержка (truncated binary exponential backoff). Алгоритм CSMA/CD, принятый в стандарте IEEE 802.3, наиболее близок к 1-постоянному алгоритму, но отличается дополнительным элементом - усеченной бинарной экспоненциальной задержкой. При возникновении коллизии стация подсчитывает, сколько раз подряд при отправке пакета возникает коллизия. Поскольку повторяющиеся коллизии свидетельствуют о высокой загруженности среды, MAC-узел пытается увеличивать задержку между повторными попытками передачи кадра. Соответствующая процедура увеличения интервалов времени подчиняется правилу усеченной бинарной экспоненциальной задержки .

Случайная пауза выбирается по следующему алгоритму:

Пауза = Lх(интервал отсрочки),

где (интервал отсрочки) = 512 битовым интервалам (51,2 мкс);

L представляет собой целое число, выбранное с равной вероятностью из диапазона , где N - номер повторной попытки передачи данного кадра: 1,2,..., 10.

После 10-й попытки интервал, из которого выбирается пауза, не увеличивается. Таким образом, случайная пауза может принимать значения от 0 до 52,4 мс.

Если 16 последовательных попыток передачи кадра вызывают коллизию, то передатчик должен прекратить попытки и отбросить этот кадр.

Алгоритм CSMA/CD с использованием усеченной бинарной экспоненциальной задержки признан лучшим среди множества алгоритмов случайного доступа и обеспечивает эффективную работу сети как при малых, так и при средних загрузках. При больших загрузках следует отметить два недостатка. Во-первых, при большом числе коллизий станция 1, которая впервые собирается отправить кадр (до этого не пыталась передавать кадры), имеет преимущество перед станцией 2, которая уже несколько раз безуспешно пыталась передать кадр, натыкаясь на коллизии. Поскольку станция 2 ожидает значительное время пред последующими попытками в соответствии с правилом бинарной экспоненциальной задержки. Таким образом, может наблюдаться нерегулярность передачи кадров, что нежелательно для зависящих от времени приложений. Во-вторых, при большой загруженности снижается эффективность работы сети в целом. Оценки показывают, что при одновременной передаче 25 станций общая полоса пропускания снижается примерно в 2 раза. Но число станций в коллизионном домене может быть больше, поскольку далеко не все они одновременно будут обращаться к среде.

Прием кадра (рис.11.6)

Рисунок 11.6. Структурная схема алгоритма CSMA/CD (уровень MAC): при приеме кадра станцией

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

На уровне MAC оставшиеся биты преамбулы сбрасываются, а станция читает адрес назначения и сравнивает его со своим собственным. Если адреса совпадают, то поля кадра за исключением преамбулы, SDF и FCS помещаются в буфер и вычисляется контрольная сумма, которая сравнивается с полем контрольной последовательности кадра FCS (используется метод циклического суммирования CRC-32). Если они равны, то содержимое буфера передается протоколу более высокого уровня. В противном случае кадр сбрасывается. Возникновение коллизии при приеме кадра обнаруживается либо по изменению электрического потенциала, если используется коаксиальный сегмент, либо по факту приема дефектного кадра, неверная контрольная сумма, если используется витая пара или оптическое волокно. В обоих случаях принятая информация сбрасывается.

Из описания метода доступа видно, что он носит вероятностный характер, и вероятность успешного получения в свое распоряжение общей среды зависит от загруженности сети, то есть от интенсивности возникновения в станциях потребности в передаче кадров. При разработке этого метода в конце 70-х годов предполагалось, что скорость передачи данных в 10 Мбит/с очень высока по сравнению с потребностями компьютеров во взаимном обмене данными, поэтому загрузка сети будет всегда небольшой. Это предположение остается иногда справедливым и по сей день, однако уже появились приложения, работающие в реальном масштабе времени с мультимедийной информацией, которые очень загружают сегменты Ethernet. При этом коллизии возникают гораздо чаще. При значительной интенсивности коллизий полезная пропускная способность сети Ethernet резко падает, так как сеть почти постоянно занята повторными попытками передачи кадров. Для уменьшения интенсивности возникновения коллизий нужно либо уменьшить трафик, сократив, например, количество узлов в сегменте или заменив приложения, либо повысить скорость протокола, например перейти на Fast Ethernet.

Следует отметить, что метод доступа CSMA/CD вообще не гарантирует станции, что она когда-либо сможет получить доступ к среде. Конечно, при небольшой загрузке сети вероятность такого события невелика, но при коэффициенте использования сети, приближающемся к 1, такое событие становится очень вероятным. Этот недостаток метода случайного доступа - плата за его чрезвычайную простоту, которая сделала технологию Ethernet самой недорогой. Другие методы доступа - маркерный доступ сетей Token Ring и FDDI, метод Demand Priority сетей 100VG-AnyLAN - свободны от этого недостатка.

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

С увеличением скорости передачи кадров, что имеет место в новых стандартах, базирующихся на том же методе доступа CSMA/CD, например Fast Ethernet, максимальное расстояние между станциями сети уменьшается пропорционально увеличению скорости передачи. В стандарте Fast Ethernet оно составляет около 210 м, а в стандарте Gigabit Ethernet оно было бы ограничено 25 метрами, если бы разработчики стандарта не предприняли некоторых мер по увеличению минимального размера пакета.

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

Таблица 11.1. Параметры уровня MAC Ethernet

Параметры Значения
Битовая скорость 10 Мбит/с
Интервал отсрочки 512 bt
Межкадровый интервал (IPG) 9,6 мкс
Максимальное число попыток передачи
Максимальное число возрастания диапазона паузы
Длина jam-последовательности 32 бита
Максимальная длина кадра (без преамбулы) 1518 байт
Минимальная длина кадра (без преамбулы) 64 байт (512 бит)
Длина преамбулы 64 бит
Минимальная длина случайной паузы после коллизии 0 bt
Максимальная длина случайной паузы после коллизии 524000 bt
Максимальное расстояние между станциями сети 2500м
Максимальное число станций в сети

Форматы кадров технологии Ethernet

Стандарт технологии Ethernet, описанный в документе IEEE 802.3, дает описание единственного формата кадра уровня MAC. Так как в кадр уровня MAC должен вкладываться кадр уровня LLC, описанный в документе IEEE 802.2, то по стандартам IEEE в сети Ethernet может использоваться только единственный вариант кадра канального уровня, заголовок которого является комбинацией заголовков MAC и LLC подуровней.

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

Консорциум трех фирм Digital, Intel и Xerox в 1980 году представил на рассмотрение комитету 802.3 свою фирменную версию стандарта Ethernet (в которой был, естественно, описан определенный формат кадра) в качестве проекта международного стандарта, но комитет 802.3 принял стандарт, отличающийся в некоторых деталях от предложения DIX. Отличия касались и формата кадра, что породило существование двух различных типов кадров в сетях Ethernet.

Еще один формат кадра появился в результате усилий компании Novell по ускорению работы своего стека протоколов в сетях Ethernet.

И, наконец, четвертый формат кадра стал результатом деятельности комитета 802:2 по приведению предыдущих форматов кадров к некоторому общему стандарту.

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

Ниже приводится описание всех четырех типов кадров Ethernet (здесь под кадром понимается весь набор полей, которые относятся к канальному уровню, то есть поля MAC и LLC уровней). Один и тот же тип кадра может иметь разные названия, поэтому ниже для каждого типа кадра приведено по нескольку наиболее употребительных названий:

  • кадр 802.3/LLC (кадр 802.3/802.2 или кадр Novell 802.2);
  • кадр Raw 802.3 (или кадр Novell 802.3);
  • кадр Ethernet DIX (или кадр Ethernet II);
  • кадр Ethernet SNAP.

Форматы всех этих четырех типов кадров Ethernet приведены на рис. 11.7.

Кадр 802.3/LLC

Заголовок кадра 802.3/LLC является результатом объединения полей заголовков кадров, определенных в стандартах IEEE 802.3 и 802.2.

Стандарт 802.3 определяет восемь полей заголовка (рис. 11.7; поле преамбулы и начальный ограничитель кадра на рисунке не показаны).

  • Поле преамбулы (Preamble) состоит из семи синхронизирующих байт 10101010. При манчестерском кодировании эта комбинация представляется в физической среде периодическим волновым сигналом с частотой 5 МГц.
  • Начальный ограничитель кадра (Start-of-frame-delimiter, SFD) состоит из одного байта 10101011. Появление этой комбинации бит является указанием на то, что следующий байт - это первый байт заголовка кадра.
  • Адрес назначения (Destination Address, DA) может быть длиной 2 или 6 байт. На практике всегда используются адреса из 6 байт. Первый бит старшего байта адреса назначения является признаком того, является адрес индивидуальным или групповым. Если он равен 0, то адрес является индивидуальным (unicast), a если 1, то это групповой адрес (multicast). Если адрес состоит из всех единиц, то есть имеет шестнадцатеричное представление 0xFFFFFFFFFFFF, то он предназначается всем узлам сети и называется широковещательным адресом (broadcast).

В стандартах IEEE Ethernet младший бит байта изображается в самой левой позиции поля, а старший бит -в самой правой. Этот нестандартный способ отображения порядка бит в байте соответствует порядку передачи бит в линию связи передатчиком Ethernet. В стандартах других организаций, например RFC IETF, ITU-T, ISO, используется традиционное представление байта, когда младший бит считается самым правым битом байта, а старший - самым левым. При этом порядок следования байтов остается традиционным. Поэтому при чтении стандартов, опубликованных этими организациями, а также чтении данных, отображаемых на экране операционной системой или анализатором протоколов, значения каждого байта кадра Ethernet нужно зеркально отобразить, чтобы получить правильное представление о значении разрядов этого байта в соответствии с документами IEEE. Например, групповой адрес, имеющийся в нотации IEEE вид 1000 0000 0000 0000 1010 0111 1111 0000 0000 0000 0000 0000 или в шестнадцатеричной записи 80-00-A7-FO-00-00, будет, скорее всего, отображен анализатором протоколов в традиционном виде как 01-00-5E-0F-00-00.

  • Адрес источника (Source Address, SA) - это 2- или 6-байтовое поле, содержащее адрес узла - отправителя кадра. Первый бит адреса всегда имеет значение 0.
  • Длина (Length, L) - 2-байтовое поле, которое определяет длину поля данных в кадре.
  • Поле данных (Data) может содержать от 0 до 1500 байт. Но если длина поля меньше 46 байт, то используется следующее поле - поле заполнения, - чтобы дополнить кадр до минимально допустимого значения в 46 байт.
  • Поле заполнения (Padding) состоит из такого количества байт заполнителей, которое обеспечивает минимальную длину поля данных в 46 байт. Это обеспечивает корректную работу механизма обнаружения коллизий. Если длина поля данных достаточна, то поле заполнения в кадре не появляется.
  • Поле контрольной суммы (Frame Check Sequence, PCS) состоит из 4 байт, содержащих контрольную сумму. Это значение вычисляется по алгоритму CRC-32. После получения кадра рабочая станция выполняет собственное вычисление контрольной суммы для этого кадра, сравнивает полученное значение со значением поля контрольной суммы и, таким образом, определяет, не искажен ли полученный кадр.

Кадр 802.3 является кадром МАС-подуровня, поэтому в соответствии со стандартом 802.2 в его поле данных вкладывается кадр подуровня LLC с удаленными флагами начала и конца кадра. Формат кадра LLC был описан выше. Так как кадр LLC имеет заголовок длиной 3 (в режиме LLC1) или 4 байт (в режиме LLC2), то максимальный размер поля данных уменьшается до 1497 или 1496 байт.

Рисунок 11.7. Форматы кадров Ethernet


Похожая информация.


Подуровень управления доступом к среде

В зависимости от скорости передачи данных и передающей среды существует несколько вариантов технологий локальных сетей. Независимо от способа передачи стек сетевого протокола и программы работают одинаково практически во всех нижеперечисленных вариантах.

Сеть Ethernet

Историческая справка. Зарождение Ethernet

Манчестерский код

Ни в одной из версий Ethernet не применяется прямое двоичное кодирование бита 0 напряжением 0 В и бита 1 - напряжением 5В, так как такой способ приводит к неоднозначности. Если одна станция посылает битовую строку 00010000, то другая может интерпретировать ее как 10000000 или 01000000, так как они не смогут отличить отсутствие сигнала (0 В) от бита 0 (0 В). Можно, конечно, кодировать единицу положительным напряжением +1 В, а ноль - отрицательным напряжением -1 В. Но при этом все равно возникает проблема, связанная с синхронизацией передатчика и приемника. Разные частоты работы их системных часов могу привести к рассинхронизации и неверной интерпретации данных. В результате приемник может потерять границу битового интервала. Особенно велика вероятность этого в случае длинной последовательности нулей или единиц. Таким образом, принимающей машине нужен способ однозначного определения начала, конца и середины каждого бита без помощи внешнего таймера. Это реализуется с помощью манчестерского кодирования. В манчестерском коде каждый временной интервал передачи одного бита делится на два равных периода. Бит со значением 1 кодируется высоким уровнем напряжения в первой половине интервала и низким - во второй половине, а нулевой бит кодируется обратной последовательностью - сначала низкое напряжение, затем высокое. Такая схема гарантирует смену напряжения в середине периода битов, что позволяет приемнику синхронизироваться с передатчиком. Недостатком манчестерского кодирования является то, что оно требует двойной пропускной способности линии по отношению к прямому двоичному кодированию, так как импульсы имеют половинную ширину. Например, для того чтобы отправлять данные со скоростью 10 Мбит/с, необходимо изменять сигнал 20 миллионов раз в секунду.

Формат кадра Ethernet

Преамбула (8 байт). Ethernet-кадр начинается с 8-байтового поля преамбулы. В каждый из первых 7 байт преамбулы записывается значение 10101010, а в последний байт - значение 10101011. Первые 7 байт должны «разбудить» принимающие адаптеры и помочь им синхронизировать свои таймеры с часами отправителя. Как уже отмечалось, адаптер А должен передать кадр со скоростью 10 Мбит/с, 100 Мбит/с или 1 Гбит/с в зависимости от типа локальной Ethernet-сети. Однако поскольку ничего не бывает абсолютно точным в реальном мире, скорость передачи всегда будет несколько отличаться от номинала. Величина этого отклонения скорости другим адаптерам локальной сети заранее не известна. Таким образом, первые 62 бита преамбулы, представляющие собой чередующиеся нули и единицы, позволяют приемнику с достаточной точностью настроиться на скорость передатчика, а последние два разряда (две единицы подряд) сообщают адаптеру В, что преамбула закончилась и следом идет уже первый информационный байт поля кадра. Адаптер В понимает, что следующие 6 байт содержат адрес получателя.

Адрес получателя (6 байт). Это поле содержит LAN-адрес принимающего адаптера. Получив Ethernet-кадр с адресом получателя, отличным от собственного физического адреса или широковещательного адреса локальной сети, адаптер отбрасывает кадр. В противном случае он передает содержимое поля данных сетевому уровню.

Адрес отправителя (6 байт). Это поле содержит LAN-адрес адаптера, передающего кадр в локальную сеть. Поле типа (2 байта). Поле типа позволяет локальной Ethernet-сети «мультиплексировать» протоколы сетевого уровня. Чтобы понять, что это означает, вспомним, что хосты могут помимо протокола IP использовать и другие протоколы. В самом деле, любой хост может поддерживать несколько протоколов сетевого уровня - разные протоколы для разных приложений. По этой причине, получив Ethernet-кадр, адаптер В должен знать, какому протоколу сетевого уровня он должен передать (то есть демультиплексировать) содержимое поля данных. Каждому сетевому протоколу (например, IP, Novell IPX или AppleTalk) присвоен зафиксированный в стандарте номер. Обратите внимание, что поле типа аналогично полю протокола в дейтаграмме сетевого уровня и полю номера порта сегмента транспортного уровня. Все эти поля служат для связи протокола одного уровня с протоколом уровнем выше.

Поле данных (от 46 до 1500 байт). Это поле содержит IP-дейтаграмму. Максимальная единица передачи (Maximal Transfer Unit, MTU) в Ethernet-сети составляет 1500 байт. Это означает, что если размер IP-дейтаграммы превышает 1500 байт, тогда хост должен разбить ее на отдельные фрагменты (см. подраздел «Фрагментация IP-дейтаграмм» в разделе «Интернет-протокол» главы 4). Минимальный размер поля данных равен 46 байт. Это означает, что если размер IP-дейтаграммы меньше 46 байт, то данные, помещаемые в это поле, дополняются байтами-заполнителями. При этом сетевой уровень получает дейтаграмму от канального уровня с этими дополнительными байтами и отсекает все лишнее сам, ориентируясь на поле длины в заголовке IP-дейтаграммы. Вот почему на практике в WireShark мы иногда получали 6 нулевых байтов в приходящем пакете.

CRC (4 байта). Назначение поля CRC заключается в том, чтобы получающий адаптер мог определить, не исказился ли кадр при передаче, то есть обнаружить ошибки в кадре. Искажение битов в кадре может быть вызвано ослаблением сигнала в канале, скачками напряжения, наводками в кабелях и интерфейсных платах.

Минимальный размер кадра

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

Связь характеристик канала

Пусть M - минимальный размер кадра

P – пропускная способность канала

M/P – время записи кадра в канал

Связь между скоростью, длиной канала и минимальным размером кадра:

M/P > 2T, где T=L/c

P=10 Mb/s M=64 B тогда L<7680 м

P=10 Gb/s M=64 B тогда L<7,68 м

Между тем, кроме верхней границы размера поля данных очень важна и нижняя граница. Поле данных, содержащее 0 байт, вызывает определенные проблемы. Дело в том, что когда приемопередатчик обнаруживает столкновение, он обрезает текущий кадр, а это означает, что отдельные куски кадров постоянно блуждают по кабелю. Чтобы было легче отличить нормальные кадры от мусора, сети Ethernet требуется кадр размером не менее 64 байт (от поля адреса получателя до поля контрольной суммы включительно). Если в кадре содержится меньше 46 байт данных, в него вставляется специальное поле Pad, с помощью которого размер кадра доводится до необходимого минимума. Другой (и даже более важной) целью установки ограничения размера кадра снизу является предотвращение ситуации, когда станция успевает передать короткий кадр раньше, чем его первый бит дойдет до самого дальнего конца кабеля, где он может столкнуться с другим кадром. Эта ситуация показана на рис. 4.17. В момент времени 0 станция А на одном конце сети посылает кадр. Пусть время прохождения кадра по кабелю равно т. За мгновение до того, как кадр достигнет конца кабеля (то есть в момент времени т - е), самая дальняя станция В начинает передачу. Когда станция В замечает, что получает большую мощность, нежели передает сама, она понимает, что произошло столкновение. Тогда она прекращает передачу и выдает 48-битный шумовой сигнал, предупреждающий остальные станции. Примерно в момент времени 2т отправитель замечает шумовой сигнал и также прекращает передачу. Затем он выжидает случайное время и пытается возобновить передачу. Если размер кадра будет слишком маленьким, отправитель закончит передачу прежде, чем получит шумовой сигнал. В этом случае он не сможет понять, произошло это столкновение с его кадром или с каким-то другим, и, следовательно, может предположить, что его кадр был успешно принят. Для предотвращения такой ситуации все кадры должны иметь такую длину, чтобы время их передачи было больше 2т. Для локальной сети со скоростью передачи 10 Мбит/с при максимальной длине кабеля в 2500 м и наличии четырех повторителей (требование спецификации 802.3) (мое: вероятно L=2500*5, где 5 – максимальное количество участков кабеля между компьютерами) минимальное время передачи одного кадра должно составлять в худшем случае примерно 50 мкс, включая время на прохождение через повторитель, которое, разумеется, отлично от нуля. Следовательно, длина кадра должна быть такой, чтобы время передачи было по крайней мере не меньше этого минимума. При скорости 10 Мбит/с на передачу одного бита тратится 1000 не, значит, минимальный размер кадра должен быть равен 500 бит. При этом можно гарантировать, что система сможет обнаружить коллизии в любом месте кабеля. Из соображений большей надежности это число было увеличено до 512 бит или 64 байт. Кадры меньшего размера с помощью поля Pad искусственно дополняются до 64 байт. По мере роста скоростей передачи данных в сети минимальный размер кадра должен увеличиваться, или должна пропорционально уменьшаться максимальная длина кабеля. Для 2500-метровой локальной сети, работающей на скорости 1 Гбит/с, минимальный размер кадра должен составлять 6400 байт. Или же можно использовать кадр размером 640 байт, но тогда надо сократить максимальное расстояние между станциями сети до 250 м. По мере приближения к гигабитным скоростям подобные ограничения становятся все более суровыми.