81.4.1.0. СЕТЕВАЯ КАРТА ETHERNET
THIS SECTION IS UNDER CONSTRUCTION
Адресса
Индивидуальные Unicast
Групповые Multicast
Широковещательный Broadcast
Режимы работы сетевой карты:
Прием (независимо)
Unicast (только свой)
Broadcast
Limited Multicast
All Multicast
Promiscous mode (all packets)
Packet Rings
Типовые запросы к сетевой карте
Установить режим работы
Кроме режимов приема еще и включить/выключить adapter
Отослать пакет (поставить в очередь на отсылку)
Забрать Принятый пакет
(как правило прерывание, после которого драйвер шлет нотификацию
на более верхний уровень, где его забирают)
Получить Статистику
Количество принятых/отосланных пакетов
Статистика об ошибках
Как правило еще и разбита по типу ошибок
Добавить Multicast address в список приема
Удалить Multicast address в список приема
Получить MAC адресс сетевой карты
Установить MAC адресс сетевой карты
на самом деле fake, так как карта отправит frame который в буфере
с тем MAC адрессом который там указан
Limited Multicast
Не хочется принимать все multicast пакеты ради нескольких групп
Поэтому современные карты имеют порядка 10-16 регистров которые содержат
маски и адресса для limited multicast
Multicast пакет принимается когда:
INCOMING_PACKET_TARGET_MAC AND MASK = ADDRESS
Но если требуется принимать более 10-16 multicast адрессов, то тогда
выбирается наиболее близкая пара адресс/маска и модифицируется чтобы
принимать еще и другую группу.
В результате будут приниматься пакеты и из тех групп из которых не недо,
поэтому драйвер должен отфильтровывать такие случаи.
Типовые регистры сетевой карты
Ошибки приема Ethernet
Long > 1518, CRC ok
Runt < 64, CRC ok
Jabber > 1528, CRC wrong
Alignment - нет выравнивания побайтового
CRC правильная длинна, CRC wrong
Ошибки отсылки Ethernet
Не смогла за 10 оправить frame из-за коллизий
Index Prev Next