Принципиальное различие между драйвером Ethernet (сетевой) и драйвером pcie
Может быть, это глупый вопрос, но может ли кто-нибудь объяснить фундаментальную разницу, когда вы говорите о pcie или драйверах Ethernet. Таким образом, существует множество сетевых карт с интерфейсом pcie. Рассмотрим ниже два примера жесткой войны и, пожалуйста, помогите мне понять, как разработчик драйвера должен отличаться в своем подходе в обоих случаях для написания соответствующего драйвера.
- Типичная карта pcie Lan, которая помогает хосту подключаться к сети
- Некоторая pcie-карта, которая имеет полный стек TCP/UDP на самом устройстве и должна качать только полезную нагрузку из входящих пакетов.
Пожалуйста, задавайте вопросы, если не ясно. заранее спасибо
2 ответа
PCIe используется для связи с вашей локальной сетевой картой. Фактическая сетевая карта использует протокол Ethernet для связи с внешними сетевыми устройствами. Эти протоколы также могут использоваться в ОС для эмуляции таких устройств.
Вот очень простое графическое изображение, которое я собрал для вас:
Кроме того, обратите внимание, что Ethernet действительно является протоколом, а не типом устройства. Например, и оптоволоконные интерфейсы, и интерфейсы медного кабеля rj45 могут работать по протоколу Ethernet, и это всего лишь пара.
Стек TCP/UDP полностью обрабатывается ядром / ОС, а не промежуточным оборудованием.
Пока это не по теме...
PCI Express
… Является интерфейсом машинной шины для связи с очень высокой пропускной способностью и очень низкой задержкой между внутренними и, в последнее время, периферийными компонентами компьютерного оборудования.
Ethernet
… Это сетевой протокол, обычно используемый в интерфейсах с высокой пропускной способностью и низкой задержкой связи между компьютерами в локальной сети. Он не ограничен определенными протоколами маршрутизации или уровня соединения поверх него, такими как IP, TCP и UDP.
Устройство-адаптер Ethernet может быть подключено к остальной части компьютера с помощью шины PCI Express.