ethernet.md 4.8 KB

![[ethernet_frame_1.jpg]]Preamble – последовательность бит, по сути, не являющаяся частью ETH заголовка определяющая начало Ethernet фрейма.

DA (Destination Address) – MAC адрес назначения, может быть юникастом, мультикастом, бродкастом.

SA (Source Address) – MAC адрес отправителя. Всегда юникаст.

E-TYPE (EtherType) – Идентифицирует L3 протокол (к примеру 0x0800 – Ipv4, 0x86DD – IPv6, 0x8100- указывает что фрейм тегирован заголовком 802.1q, и т.д. Список всех EtherType — standards.ieee.org/develop/regauth/ethertype/eth.txt )
Поле Длина/Тип (Length/Type) имеет две взаимоисключающих трактовки:

  • Если значение поля менее или равно 1500 (0x05DC), то значение трактуется как размер данных в Ethernet кадре
  • Если значение поля более или равно 1536 (0x0600), то значение трактуется как идентификатор вложенного протокола. К примеру, если внутри Ethernet кадра будет лежать IP пакет, то значение поля будет 0x0800, а если ARP пакет, то значение 0x0806.

Payload – L3 пакет размером от 46 до 1500 байт

FCS (Frame Check Sequences) – 4 байтное значение CRC используемое для выявления ошибок передачи. Вычисляется отправляющей стороной, и помещается в поле FCS. Принимающая сторона вычисляет данное значение самостоятельно и сравнивает с полученным.

~={yellow}Типа MAC-адресов=~

  • Unicast - персональный MAC адрес. Такой адрес есть у каждой сетевой карты. Он либо прошивается прямо на заводе или устанавливается вместе с драйверами.
  • Multicast - групповой MAC адрес, начинается на 01:00:5E. Этот специальный адрес сетевая карта может себе присвоить в случае, когда ожидается рассылка пакетов сразу группе хостов.
  • Broadcast - широковещательный MAC адрес, записывается как все биты установленные 1 или в шестнадцатеричном формате FF:FF:FF:FF:FF:FF. Такой адрес в поле получателя означает, что пакет должен быть обработан всеми хостами, которые получили данный пакет.

Чтобы MAC адреса случайно не пересекались, за каждым производителем сетевого оборудования закреплен определенный диапазон MAC адресов, которыми он может использоваться. Все эти диапазоны можно найти в специальном OUI файле, который публично доступен по адресу https://standards-oui.ieee.org/.

~={yellow}Типы устройств в сети=~

  • Хост - любое сетевое устройство, способное принимать и отправлять пакеты.

  • Конецнтратор / хаб / репитор - получает пакет на какой-либо из портов и рассылает по всем портам. Работает на первом уровне модели OSI физическом (биты). В сети, построенной на концентраторах будут проблемы с пропускной способностью.

  • Свитч / коммутатор - активное сетевое оборудование, которое работает на втором уровне модели OSI - канальном (ethernet - кадры). Свитч - поумневший хаб. Пытается отправить пакеты в тот порт, куда подключен хост назначения. Во время работы свитч запоминает адреса отправителей (не получателей) в таблице коммутации (MAC-адрес и номера порта).