Разъяснение по Ethernet, MII, SGMII, RGMII и PHY
В основном я получаю информацию о встроенном программном обеспечении, и поэтому у меня очень ограниченные знания об оборудовании в целом. Я всегда считаю, что Ethernet - это тот маленький физический разъем на вашем компьютере, в который вы подключаете свой Ethernet-кабель. И с точки зрения программного обеспечения все, что вам нужно сделать, это установить драйвер (в Windows) или настроить ядро Linux на включение драйвера для вашего Ethernet.
Вопросы:
Но по мере того, как я начал спускаться на один уровень (к аппаратным средствам) и рассматривая различные таблицы и схемы, я начал сталкиваться с такими терминами, как PHY, MII, SGMII, RGMII и т.д. И теперь я немного смущен, поскольку к тому, что представляет собой Ethernet? Например, когда я говорю Intel 82574L 1.0 Gbps Ethernet-порт, где все эти условия подходят?
Ответы
Ответ 1
Позвольте мне объяснить:
(1) MII, SGMII, RGMII - это три типа интерфейса между чипом MAC и чипом PHY. Intel 82574L - это один чип MAC. Глядя на следующую цифру:
_______ __________ ___________
CPU | PCI-E | | MII/SGMII/RGMII | |
or |<=======>| MAC |<================>| PHY |<==========>physical interface
board| or else | | | |
________ __________ ___________
Подробнее о MII (100 Мбит/с), SGMII (1 Гбит/с, серийный), RGMII (1 Гбит/с, сокращенном) определении, вы можете использовать Google.
(2) В принципе, NIC (Network Interface Card) состоит из одного чипа MAC и связанного с ним чипа PHY и других периферийных модулей. А также один драйвер устройства Ethernet должен работать с оборудованием сетевого адаптера. Микросхема MAC имеет один интерфейс с управляющим CPU или материнской платой ПК, например шину PCI-E или еще.
Ответ 2
Некоторые определения:
- MAC - контроллер доступа к медиа. Это часть системы, которая преобразует пакет из ОС в поток байтов, который должен быть подключен к сети (или оптоволокну). Часто взаимодействует с хост-процессором через что-то вроде PCI Express (например).
- PHY - физический уровень - преобразует поток байтов из MAC в сигналы по одному или нескольким проводам или волокнам.
- MII - медиа независимый интерфейс. Просто стандартный набор контактов между MAC и PHY, так что MAC не должен знать или заботиться о том, что такое физическая среда, а PHY не должен знать или заботиться о том, как выглядит интерфейс хост-процессора.
MII был стандартизирован давно и поддерживает скорости 100 Мбит/с. Также доступна версия с меньшим количеством выводов, RMII ("R" для уменьшенного).
Для гигабитных скоростей используется интерфейс GMII ("G" для гигабитных) с сокращенной версией, называемой RGMII. Также доступна версия с сокращенным количеством пинов, называемая SGMII ("S" для последовательного порта), которая требует специальных возможностей для выводов ввода-вывода MAC, тогда как другие xMII являются относительно обычными логическими сигналами.
Есть также еще много разновидностей интерфейсов, используемых в других обстоятельствах, некоторые из которых могут быть связаны со страницей MII Википедии:
http://en.wikipedia.org/wiki/Media_Independent_Interface
Что касается вашего конкретного вопроса о чипах Intel - насколько я могу судить (ссылка на таблицу данных кажется мертвой), этот чип является MAC с PCIe. Так что он будет находиться между шиной PCIe на хосте и каким-то гигабитным физическим уровнем (PHY).
Ответ 3
Возможно, вы захотите поискать термин "7 уровней OSI", в котором некоторые часто встречаются термины;
** Ethernet PHY соответствует физическому уровню, который состоит из буквально физических компонентов связи.
** Ethernet MAC (не адрес Mac, а контроллер доступа к среде) соответствует уровню канала передачи данных, который отвечает за организацию кадров перед их отправкой на физический уровень.
Конфигурации, такие как MII, RMII, Auto-Negotion настраиваются из этих двух. И есть библиотеки, которые облегчат вам жизнь.
** Сетевой уровень отвечает за маршрутизацию пакетов. Протоколы, такие как IP и DHCP, считаются находящимися на этом уровне. Также этот уровень является первым нижним уровнем, который основан исключительно на программном обеспечении. Если вы используете легкий IP, например, ip & Все остальные опираются на библиотеки netif.
** Транспортный уровень - это то место, где протоколы передачи, такие как TCP & UDP можно найти.
Надеюсь, это поможет, я не очень много знаю о верхних слоях.
Ответ 4
Чип Intel 82574L содержит как MAC, так и PHY.
Обратитесь к блок-схеме Архитектура на странице 15 в техническом описании, доступном здесь: https://ark.intel.com/content/www/us/en/ark/products/32209/intel-82574l-gigabit-ethernet-controller.html
MAC и PHY находятся там, но, с моей точки зрения не инженера, я был озадачен соединениями MII, потому что ожидал двух отдельных чипов.