Ethernet

Материал из Викиконспекты
Перейти к: навигация, поиск

Ethernet

Ethernet — доминирующая технология проводных локальных сетей. Роберт Метклаф изобрел её в 1973году в Xerox для того, чтобы к одному лазерному принтеру подключить как можно больше компьютеров.
В последствии Xerox, DEC, Intel решают использовать Ethernet в качестве стандартного сетевого решения (Ethernet II).
В 1982 выходит спецификация IEEE 802.3 для стандартизации Ethernet.

Место Ethernet в модели OSI
Ethosi.png

Типы Ethernet
Название Скорость Кабель Стандарт
Ethernet 10Mb/s Толстый, тонкий коаксиал,
Витая пара, оптика
802.3
Fast Ethernet 100Mb/s Витая пара, оптика 802.3u
Gigabit Ethernet 1Gb/s Витая пара, оптика 802.3z,
802.3ab
10G Ethernet 10Gb/s Витая пара, оптика 802.3ae,
802.3an

Есть 2 технологии Ethernet:

1. Классический Ethernet

  • Разделяемая среда
  • Ethernet - Gigabit Ethernet

2. Коммутируемый Ethernet

  • Точка-точка
  • Появился в Fast Ethernet
  • Единственный вариант в 10G Ethernet

Классический Ethernet

В качестве общей шины использовался коаксиальный кабель. В дальнешем такая схема была заменена на концентраторы Ethernet (hub).

  • Физическая топология – звезда
  • Логическая топология – общая шина

Компьютеры подключаются к концентратору с помощью витых пар, но внутри – общая шина, то есть все данные, которые приходят на один порт, передаются на все остальные порты.

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

Стандарты Ethernet

  • Первый вариант – экспериментальная реализация в Xerox
  • Ethernet II (Ethernet DIX) – фирменный стандарт Ethernet компани Xerox, Intel, DEC
  • IEEE 802.3 – юридический стандарт Ethernet

Ethernet II и IEEE 802.3 незначительно отличаются. Первый из них исторически раньше появился и при появлении второго много оборудования было на Ethernet II. Сейчас поддерживаются оба. (Различие в том, что в Ethernet II передавался тип протокола, а по IEEE 802.3 вместо него передавалась длина поля данных) Ethtypes.png
Ether Types:

  • 0800 — IPv4
  • 86DD — IPv6
  • 0806 — ARP

Поле данных:

  • Максимальная длина в 1500байт была выбрана разработчиками достаточно произвольно. В то время память была дорогая и этого оптимально хватало. Существуют различные расширения (JumboFrame позволяет передавать до 9000байт)
  • Минимальная длина в 46байт — ограничение стандарта, об этом будет сказано ниже

Коллизии

Определение:
Коллизия наложение двух и более кадров, передающихся компьютерами в один и тот же момент времени

Ethcollis.jpg
Необходимо обеспечить использование канала только одним отправителем
Классический Ethernet использует для этого метод CSMA/CD (Carrier Sense Multiple Access with Collision Detection, Множественный доступ с прослушиванием несущей частоты и распознаванием коллизий). Компьютеры прослушивают несущую частоту и передают данные только если среда свободна. Классический Ethernet использует манчестерское кодирование. Несущаяя частота 10-20MHz Manchester.png

Обнаружение коллизий
CSMA-CD.jpg
Компьютер передает и принимает сигналы одновременно и если принятый сигнал отличается от переданного – значит, возникла коллизия. В таком случае компьютеры останавливают передачу данных и передают в среду так называемую Jam-последовательность – специальный сигнал, который очень сильно искажает данные в сети и гарантирует, что все остальные компьютеры распознают коллизию и прекратят передачу данных.
Если в среде нет несущей частоты, то компьютер может начинать передачу данных. При передаче перед данными следует преамбула. Она состоит из 8 байт и служит для синхронизации источника и передатчика. Первые 7 байт – 10101010, последний, 8ой байт – 10101011(последние 2 единицы – ограничитель между преамбулой и данными). После самого кадра следет межкадровый интервал (9.6мкс). Он нужен для предотвращения монопольного захвата канала и приведения сетевых адаптеров в исходное состояние.
Передача кадра
Компьютер передает кадр в общую среду и каждый компьютер, к ней подключенный начинает принимать его и записывать в буффер.
Первые 6 байт – это адрес получателя. Если очередной компьютер узнает в нем свой, то продолжает записывать кадр, остальные – удаляют его из буффера. Но есть специальный режим сетевого адаптера – promiscuous mode (неразборчиый режим), в котором адаптер принимает все кадры в сети, независимо от MAC-адреса назначения. Он используется для мониторинга или диагностики сети.

Период конкуренции
Если компьютер начал передавать данные и обнаружил коллизию, то он делает паузу длительностью L * 512 битовых интервалов (время, необходимое для передачи одного бита, которое при скорости передачи 10 Мбит/с составляет 0,1 мкс). L случайно выбирается из диапазона [0, 2**N – 1], где N – номер попытки. После 10 попыток интервал не увеличивается, а после 16 передача прекращается.

Такой алгоритм хорошо работает при низкой загрузке:

  • В сети мало компьютеров
  • Компьютеры редко передают данные

Если же нагрузка высокая, то очевидные проблемы:

  • Растет число попыток передачи
  • Растет интервал, сз которого выбирается L, и следовательно длительность пауз
  • Экспоненциально увеличивается задержка
Определение:
Время оборота (Round trip time, RTT) время, за которое сигнал успевает дойти от одного конца сети в другой и вернуться назад.

Существует классическое ограничение – время оборота должно быть меньше времени передачи самого короткого кадра. Иначе произойдет коллизия, которую не заметит отправитель. (Сигнал о коллизии может прийти уже после того, как компьютер завершил передачу кадра и он будет считать, что кадр передан, а на самом деле произошла коллизия).
Параметры Ethernet подобраны таким образом, чтобы коллизии гарантированно распозновались:

  • Минимальная длина – 46 байт (иначе – выравнивание)
  • Максимлаьная длина сети 2500м

Недостатки классического Ethernet:

  • Плохая масштабируемость:
    • Сеть становится неработоспособной при загрузке разделяемой среды больше, чем на 30%
    • Работоспособное количество компьютеров – 30
  • При увеличении скорости передачи уменьшается длина сети (для снижения RTT)
  • Разное время передачи кадра (из-за коллизий, для real-time трафика – это плохо)
  • Низкая безопасность – данные в разделяемой среде доступны всем.

Коммутируемый Ethernet

Это новая усовершенственная технология, появилась в 1995году, спецификация IEEE 802.3u.
В ней нет разделяемой среды и используется топология “точка-точка”. Для этого придумали новый тип сетевых устройств – коммутаторы.
Внешне концентратор(для классического Ethernet) и коммутатор почти не отличаются, но внутренее отличие очень большое: концентратор использует топологию “общая шина”, коммутатор же – полносвязную топологию. Концентратор работает на физическом уровне, он передает электрические сигналы, которые поступают на один порт, на все порты. Коммутатор работает на канальном уровне: он анализирует заголовок канального уровня, извлекает адрес получателя и передает данные только на тот порт, к которому подключен получатель.
Особенности работы коммутаторов
В нем хранится таблица коммутации: соответствие порта и MAC-адреса. Для ее заполнения используется алгоритм обратного обучения. Коммутатор анализирует заголовки канального уровня, извлекает адрес отправителя и заполняет таблицу.

Таблица коммутации
Номер порта MAC-адрес
1 A1-B2-C3-D4-C5-F6
2 1A-2B-3C-4D-5C-6F
3 AA-BB-CC-DD-EE-FF

В реальности в этой таблице может хранится еще другая мета-информация (например, состояние порта, номер vlan и т.п.)
Для передачи кадров внутри коммутатора используется алгоритм прозрачного моста.

Определение:
Мост устройство для объединения нескольких сетей.

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


Simplex, Half Duplex, Full Duplex

Определение:
Симплексная передача передача, которая происходит только в одном направлении.
Определение:
Полудуплексная передача передача, которая возможна в двух направлениях, но в один момент времени только в одном из них.
Определение:
Полнодуплексная передача передача, которая возможна в двух направлениях в любой момент времени.


Симплексное соединение используют многие, если не все оптоволоконные соединения. Или, например, dial-up модемы.

Полудуплексный режим используется в некоммутируемом Ethernet и описан в IEEE 802.3. Вообще, это довольно распространенный режим для соединений с какой-то разделяемой средой (общей шиной в Ethernet).

Полнодуплексный режим используется в коммутируемом Ethernet и описан в IEEE 802.3u. При полнодуплексной передаче используется топология "точка-точка". Коллизии в этом случае не происходят, так как отправка и получение данных происходит по разным проводам.

Fduplex1.gif

Домен коллизий, образуемый компьютером и портом коммутатора

Коллизия возникает, когда передатчики порта коммутатора и сетевого адаптера одновременно или почти одновременно начинают передачу своих кадров, считая, что изображенный на рисунке сегмент свободен. В результате строгого соблюдения правил разделения среды по протоколу Ethernet порт коммутатора и сетевой адаптер используют соединяющий их кабель в полудуплексном режиме, то есть по очереди - сначала кадр или кадры передаются в одном направлении, а затем в другом. При этом максимальная производительность сегмента Ethernet в 14880 кадров в секунду при минимальной длине кадра делится между передатчиком порта коммутатора и передатчиком сетевого адаптера. Если считать, что она делится пополам, то каждому предоставляется возможность передавать примерно по 7440 кадров в секунду.

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

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

Используемые типы соединения
Тип Ethernet Тип соединения
Ethernet Half Duplex
Fast Ethernet Half Duplex, Full Duplex
Gigabit Ethernet Full Duplex
10G Ethernet Full Duplex