Лекция 9. Ethernet.

9.1 Обзор Ethernet

Ethernet был разработан Робертом Меткалфом и его коллегами в Xerox, а первый стандарт был опубликован в 1980 консорциумом DIX. В 1985 IEEE организует комитет по стандартизации технологий для ЛВС с номером 802 и Ethernet получает номер 802.3. В модели OSI Ethernet занимает физический уровень и нижний подуровень (MAC) канального уровня. Стандарт 802.2 занимает верхний подуровень (LLC) канального уровня и позволяет Ethernet работать не только с протоколом IP, но и с другими протоколами сетевого уровня. Логической топологией Ethernet является шина (bus) т.к. все узлы подключены к единой среде передачи данных и могут слышать друг друга (широковещательный трафик доставляется всем). Ethernet имеет механизм регламентирующий доступ к среде и обработку коллизий - CSMA/CD. В качестве среды передачи используются витая пара и оптическое волокно, что позволяет Ethernet использоваться не только для LAN, но и для MAN и даже WAN сетей .

Успех Ethernet определили следующие факторы:

- простота внедрения и обслуживания

- возможность внедрения новых технологий

- надежность

- низкие затраты на внедрение и обновление

Существует множество стандартов Ethernet начиная с 10мбит/с и заканчивая 40-100 Гбит/с.

 

9.2 История Ethernet

Прообразом Ethernet стала сеть радио-вышек Alohanet (1970) гавайского университета. Первая сеть Ethernet была создана с использованием коаксиального кабеля. Все компьютеры подключались к одному общему кабелю - физическая шина (bus). Для борьбы с коллизиями использовался метод CSMA/CD.

Первые стандарты ethernet 10base2 и 10base5 имели ограничение на размер сегмента не более 185 и 500 метров соответственно и использовали тонкий (Thin) и толстый (Thick) коаксиальный кабель. Со временем произошел переход на витую пару и концентраторы (топология звезда) 10baseT, что существенно упростило обслуживание сети. Но проблемы остались, скорость делилась между всеми устройствами и коллизии продолжали возникать т.к. концентраторы работали в полудуплексном режиме (half-duplex) и не имели буферной памяти. Эти проблемы были устранены с широким распространением коммутаторов, которые заменили собой концентраторы. Коммутаторы так же позволили перейти на более скоростные стандарты Ethernet 100BaseTX и 1000BaseT. Для достижения таких скоростей нет необходимости менять кабельную структуру (если она построена на UTP 5/5ecat), достаточно заменить коммутаторы, сетевые карты ПК и серверов. Появление высоко-скоростных стандартов позволило применять технологию Ethernet не только для построения LAN сетей, но и для MAN/WAN сетей.  

9.3 Кадр Ethernet

На сегодняшний день применяется два формата кадра Ethenet:

- Ethernet II - поля(байты): преамбула(8), адрес назначения(6), адрес источника(6), тип(2), данные(46-1500), контрольная сумма(4);

- Ethernet 802.3 - поля(байты): преамбула(7), начало кадра(1), адрес назначения(6), адрес источника(6), тип/длина(2), данные(46-1500), контрольная сумма(4);

Минимальный размер кадра 64 байта, максимальный 1512 байта (в 1998 увеличен до 1522, с появлением VLAN тега). Если узел получает кадры размером больше или меньше вышеуказанного, он их отбрасывает. Так же отбрасываются кадры для которых контрольная сумма посчитанная на узле источнике не совпадает с контрольной суммой посчитанной на принимающем узле.

Поле преамбула используется для синхронизации источника и приемника. Если значение в поле Тип/Длина больше или равно 0x0600 (десятичн. 1536) то это поле содержит тип протокола, если меньше - длину кадра.

В адресации Ethernet используются 48-битные MAC адреса. Первые 24 бита адреса называются OUI и указывают на производителя оборудования (из них первый бит указывает на тип адреса unicast/multicast/broadcast, второй бит указывает изменялся ли адрес вручную). Последние 24 бита являются уникальным идентификатором оборудования. MAC адрес записан в ПЗУ сетевого адаптера, но при включении ПК он копируется в ОЗУ и может быть изменен средствами ОС.

MAC адрес используется только в пределах одного сегмента сети, т.к. не содержит указателя сети в отличие от IP адреса.

Unicast MAC адрес является уникальным для каждого сетевого адаптера, Broadcast MAC имеет вид FF:FF:FF:FF:FF:FF и используется для доставки всем узлам сети. IP Multicast MAC начинается с 01:00:5E и используется для доставки группе узлов сети. Сопоставление IP и MAC адреса происходит при помощи протокола ARP.

9.4 Контроль доступа к среде

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

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

Домен коллизий - сегмент сети который полностью затрагивается возникающей в нем коллизией.

Задерка (Latency) - время распространения кадра от одного узла до другого.  

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

Время бита (bit time) время помещения бита в среду, отличается у разных стандартов Ethernet (100нс для 10Мбит/c, 10нс для 100 Мбит/с, 1 нс для 1 Гбит/с, 0,1нс для 10 Гбит/с).

Временной слот (Time slot) - время за которое в среду передается кадр минимальной длины 64 байт(512 бит).

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

В стандарте 1 Гбит/с Ethernet для работы полудуплексного режима пришлось увеличить минимальный размер кадра до 512 байт(4096 бит). В стандарте 10 Гбит/с Ethernet вообще отказались от полудуплексного режима.

Кадры должны отправляться с интервалом, который нужен для восстановления среды - (9,6 мкс для 10Мбит/c, 0,96 мкс для 100 Мбит/с, 0,096 мкс для 1 Гбит/с, 0,0096 мкс для 10 Гбит/с).

9.5 Физический уровень Ethernet

Отличия между стандартами Ethernet возникает на физическом уровня, который так же именуют Ethernet PHY.

10BASE-T использует не экранированную витую пару Cat3/Cat5 и коннекторы RJ-45.

Для передачи используются пины 1-2, для приема 3-6. Пины 4,5,7,8 не используются, но могут быть задействованы под питание устройств электричеством (PoE).

100BASE-TX использует не экранированную витую пару Cat5 и выше и коннекторы RJ-45. Для передачи приема используются все те же пины, что и в предыдущем стандарте.

100BASE-FX использует оптическое волокно и SC коннекторы.

1000BASE-T использует не экранированную витую пару Cat5 и выше и коннекторы RJ-45. Для передачи приема используются все 4 пары кабеля. Передача и прием происходит по каждой паре одновременно.

1000BASE-SX (850нм) и 1000BASE-LX (1300нм) использует оптическое волокно.

10GBase-T выпущен в 2006 году и требует для работы на 100 метров витую пару категории 6а.

40-гигабитный Ethernet (или 40GbE) и 100-гигабитный Ethernet (или 100GbE) — стандарты Ethernet, разработанные группой IEEE P802.3ba Ethernet Task Force в период с ноября 2007 года по июнь 2010 года. Эти стандарты являются следующим этапом развития группы стандартов Ethernet, имевших до 2010 года наибольшую скорость в 10 гигабит/с. В новом стандарте, IEEE Std 802.3ba-2010, обеспечивается скорость передачи данных в 40 и 100 гигабит в секунду, при совместном использовании нескольких 10 гбит/с или 25 гбит/с линий связи.

9.6 Концентраторы и коммутаторы

Замена концентраторов на коммутаторы решает следующие проблемы:

- ограниченная масштабируемость сетей на концентраторах

- задержки передачи кадров (в дуплексном режиме узлам не нужно ждать очереди)

- коллизии кадров (порты коммутатора работают в дуплексном режиме)

- распространение кадров с ошибками (коммутатор не пропускает кадры с ошибками)

- деление общей скорости между узлами (каждый порт коммутатора отдельный 100Мбит/с)

Действия коммутатора:

- selective forwarding. Коммутаторы в отличие от концентраторов используют выборочное продвижение кадров. Получая кадр, коммутатор сверяет адрес назначения с адресами в своей таблице коммутации. Если совпадение есть, кадр пересылается только на порт указанный в таблице. Тем самым узлы не получают не предназначенный для них одноадресный (unicast) трафик.

- flooding. На все порты (кроме порта источника) пересылаются только широковещательные кадры или кадры адреса назначения, которых нет в таблице коммутации.

- learning. Для заполнения таблицы, коммутатор записывает в нее адреса источника и номер порта полученных кадров.

- Aging. Таблица коммутации динамически очищается со временем. Те адреса на которые поступают кадры - продлеваются, те на которые не поступают - удаляются.

- Filtering. Для передачи кадров используется механизм сохранение с продвижением (store and forward), после получения кадра коммутатор проверяет его на целостность, и если контрольная сумма не совпадает, кадр отбрасывается. Так же администратор может настроить фильтрацию кадров на коммутаторе по различным признакам.

9.7 Протокол ARP

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

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

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

APR может быть использован в сетевых атаках, таких как ARP poisoning. Это атака позволяет перехватывать трафик между двумя узлами в одном сегменте сети.