Технология Ethernet и кабельные сети
Основы технологии Ethernet
Технология Ethernet [ 3 ] , [ 4 ] , [ 17 ] , [ 57 ] , [ 60 ] , [ 70 ] , [ 77 ] — это самая распространенная технология локальных сетей. В сетях Ethernet применяется множественный доступ с контролем несущей и обнаружением коллизий (Carrier Sense Multiply Access with Collision Detection — CSMA/CD). Все компьютеры сети имеют доступ к общей шине через встроенный в каждый компьютер сетевой адаптер, используя полудуплексный режим передачи. Схема подключения компьютеров по коаксиальному кабелю приведена на рис.6.1.
Станции на традиционной локальной сети Ethernet могут быть соединены вместе, используя физическую шину или звездную топологию, но логическая топология — всегда шинная. Под этим мы подразумеваем, что среда (канал) разделена между станциями и только одна станция одновременно может использовать ее. Также подразумевается, что все станции получают кадр, посланный станцией (широковещательная передача). Адресованный пункт назначения сохраняет кадр, в то время как остальные отбрасывают ее. Каким образом в этой ситуации мы можем убедиться, что две станции не используют среду в одно и то же время? Ответ: если их кадры столкнутся друг с другом. CSMA/CD разработан, чтобы решить эту проблему согласно следующим принципам:
- Каждая станция имеет равное право на среду (коллективный доступ).
- Каждая станция, имеющая кадр для того, чтобы послать его, сначала "слушает" (отслеживает) среду. Если в среде нет данных, станция может начать передачу (слежение за несущей частотой).
- Может случиться, что две станции, следящие за средой, находят, что она не занята, и начинают посылать данные. В этом случае возникает конфликт, называемый коллизией.
Протокол заставляет станцию продолжать следить за линией после того, как передача началась. Если есть конфликт, то все станции его обнаруживают, каждая передающая станция передает сигнал сбоя в работе, чтобы уничтожить данные линии, и после этого каждый раз ждет различное случайное время для новой попытки. Случайные времена предотвращают одновременную повторную посылку данных. Перед началом передачи узел должен убедиться, что несущая среда не занята, признаком чего является отсутствие на ней несущей частоты. Если среда свободна, то узел имеет право начать передачу кадра определенного формата. Предположим, что узлу 2 требуется передать кадр узлу N. Обнаружив, что среда свободна, узел 2 начинает передачу кадра ( рис. 6.2), которая предваряется преамбулой (preamble), состоящей из 7 байт вида 10101010, и байта начала кадра (Start of Frame Delimiter — SFD) вида 10101011. Эти комбинации нужны приемнику для вхождения в побитовый и кадровый синхронизм с передатчиком. Кадр заканчивается полем последовательности контроля кадра (FCS — Frame Check Sequence) длиной 4 байта (на рис. 6.2не показано). Сигналы передатчика распространяются по кабелю в обе стороны, и все узлы распознают начало передачи кадра. Только узел N опознает свой собственный адрес (МАС-адрес назначения) в начале кадра и записывает его содержимое в свой буфер для обработки. Из принятого кадра определяется адрес источника (МАС-адрес источника), которому следует выслать кадр-ответ. Получатель пакета на 3-м уровне определяется в соответствии с полем Тип протокола (Protocol Type): значение 0х0800 — адрес модуля IP, 0806 — адрес модуля ARP. Минимальное и максимальное значения длины поля для протоколов верхних уровней — 46 и 1500 байт соответственно. Порядок передачи бит кадра: слева направо / снизу вверх ( рис. 6.2), цифрами обозначены длины полей кадра в байтах.
Любой узел при наличии кадра к передаче и занятой среды вынужден ждать ее освобождения. Признаком окончания передачи является пропадание несущей частоты. После окончания передачи кадра все узлы должны выдержать технологическую паузу 9,6 мкс, чтобы привести сетевые адаптеры в исходное состояние и предотвратить повторный захват среды одним и тем же узлом.
Рис. 6.2. Местоположение в стеке протоколов и форматы физического и канального уровней сети Ethernet
Иногда возникают ситуации, когда один узел уже начал передачу, но другой узел еще не успел это обнаружить и также начинает передачу своего кадра. Такая ситуация захвата свободной среды более чем одним узлом называется коллизией. Механизм разрешения коллизии состоит в следующем ( рис. 6.3):
Если уровень принимаемого сигнала не превышает порогового значения, то узел продолжает передачу, если же превышает, то узел прекращает передачу кадра и посылает в сеть специальную 32-битную jam-комбинацию (сигнал коллизии) с нерегламентированной последовательностью, просто приводящей к повышению уровня сигнала в локальной сети из-за увеличения амплитуды импульсов манчестерского кода суммарного сигнала. После этого узел, обнаруживший коллизию, делает случайную паузу и затем снова может повторить попытку передачи кадра. Число повторных попыток не может превысить 16. Если же и после 16-й попытки кадр вызвал коллизию, то он отбрасывается. При большом количестве узлов вероятность коллизии возрастает, и пропускная способность сети Ethernet падает, т.к. сеть все большее время занята обработками коллизий и отбрасыванием кадров. Три фактора определяют работу CSMA/CD: минимальная длина кадра, скорость передачи данных и домен конфликта.
Станции нужно ждать определенное время, чтобы убедиться, что на линии нет никаких данных, — это время равно минимальной длине кадра, разделенной на скорость передачи (время, которое требуется, чтобы передать кадр минимальной длины), и пропорционально времени, необходимому для первого бита, чтобы пройти максимальное сетевое расстояние (домен конфликта). Другими словами, мы имеем:
Минимальная длина кадра/Скорости передачи пропорциональна Домен конфликта/Скорость Распространения
В традиционной Локальной сети Ethernet, минимальная длина кадра — 520 битов, скорость передачи — 10 Mбит/с, скорость распространения — почти равна скорости света, и домен конфликта — около 2500 метров.
Уровни. рис. 6.4 показывает уровни Локальной сети Ethernet. Уровень звена передачи данных (канальный уровень) имеет два подуровня: подуровень управления логическим каналом связи (LLC — Logical Link Control) и подуровень управления доступом (MAC - Media Access Control). LLC-уровень ответственен за поток и контроль ошибок в уровне звена передачи данных (канальном уровне). Подуровень MAC ответственен за работу метода доступа CSMA/CD. Этот подуровень также создает данные, полученные от LLC-уровня, и передает кадры физическому уровню для кодирования. Физический уровень преобразует данные в электрические сигналы и посылает их следующей станции через среду передачи. Этот основной уровень также обнаруживает конфликты и сообщает о них уровню звена передачи данных (канальному уровню).
Кадр. В сети Ethernet имеется один тип кадра [5], содержащий семь полей: преамбула, начало кадра - SFD, адрес конечного пункта - DA, адрес источника - SA, длина/тип протокольной единицы — PDU и циклический избыточный код. Локальная сеть Ethernet не обеспечивает механизма для подтверждения получения кадров. Подтверждение реализуется на более высоких уровнях. Формат кадра CSMA/CD MAC показан на рис.6.5.
- Преамбула. Преамбула кадров содержит 7 байтов (56 битов) чередующихся нулей и единиц, которые приводят в готовность систему для приема прибывающего кадра и подготавливают ее для синхронизации с помощью тактовых импульсов. Преамбула фактически добавляется на физическом уровне и не является (формально) частью кадра.
- Ограничитель начала кадра (SFD — Start Frame Delimiter). Поле SFD (1 байт: 10101011) отмечает начало кадра и указывает станции на окончание синхронизации. Последние два бита — 11 (две единцы) — сигнал, что следующее поле — адрес получателя.
- Адрес получателя (DA — Destination Address). Поле DA насчитывает 6 байтов и содержит физический адрес станции пункта назначения или промежуточного звена.
- Исходный адрес (SA — Source Address). Поле SA также насчитывает 6 байтов и содержит физический адрес передающей или промежуточной станции.
- Длина/тип. Поле длина / тип имеет одно из двух значений. Если значение поля меньше, чем 1518, это — поле длины и определяет длину поля данных, которое следует дальше. Если значение этого поля больше, чем 1536, оно определяет верхний протокол уровня, который используется для обслуживания Internet.
- Данные. Поле данных переносит данные, инкапсулированные из верхних протоколов уровня. Это минимум 46 и максимум 1500байтов.
- Циклический избыточный код (CRC — Cyclical Redundancy Check). Последнее поле в этих кадрах по стандарту 802.3 содержит информацию для обнаружения ошибок, в этом случае CRC — 32.
Адресация. Каждая станция типа PC, рабочая станция или принтер на сети Локальной сети Ethernet имеет ее собственную сетевую интерфейсную карту (NIC — Network Interface Card). NIC размещается внутри станции и обеспечивает станцию 6-байтовым физическим адресом. Адрес Локальной сети Ethernet — 6 байтов (48 битов), он обычно записывается в шестнадцатеричной системе обозначений с дефисом, чтобы отделить байты, как показано ниже:
Адреса в Локальной сети Ethernet передают байт за байтом, слева направо, однако для каждого байта самый младший бит передают первым, а самый старший бит — последним. Есть три типа адресов в Локальной сети Ethernet: однонаправленный, групповая рассылка и передача. Исходный адрес всегда однонаправленный. Адрес получателя может быть однонаправленным адресом (один единственный получатель), групповой рассылкой (группа получателей) или широковещательной передачей (все станции, подключенные к LAN). В однонаправленном адресе самый старший бит в начале байта:
- 0 в адресе групповой рассылки младший бит.
- 1 Широковещательный адрес — это поле 48 бит.