Как сетевой адаптер отправляет аппаратное прерывание?

Некоторый контекст.

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

Я знаю, теоретически, как работает аппаратное прерывание, но как оно работает, когда сетевой адаптер получает пакеты информации? Что происходит на аппаратном уровне? Как правильно диагностировать, произошло ли физическое повреждение, чтобы избежать того, что, по сути, сводилось к выбрасыванию частей при проблеме?

1 ответ

Решение

Я знаю, теоретически, как работает аппаратное прерывание, но как оно работает, когда сетевой адаптер получает пакеты информации? Что происходит на аппаратном уровне?

Когда сетевой адаптер получает информацию, он проверяет, выполнены ли условия для запуска аппаратного прерывания. Обычно это делается в прошивке контроллера NIC. Если, например, прерывание приема уже отправлено, но еще не подтверждено, нет причины отправлять другое.

Если NIC решает отправить прерывание, фактический механизм зависит от интерфейса NIC и от того, как он настроен. Старый способ состоял в том, чтобы фактически изменить напряжение на выделенной линии прерывания. Это пошло бы к контроллеру прерываний, который обычно утверждал бы некоторую другую строку, которая объединила многократные прерывания. Затем ОС запросит контроллер прерываний, какие прерывания сработали.

Более новый способ - это "прерывания с сигналом сообщения" ( MSI), когда сетевой адаптер в основном записывает определенное слово в определенный адрес, и это приводит к тому, что прерывание генерируется некоторым другим компонентом оборудования, обычно контроллером шины. Это позволяет устройству иметь больше прерываний, а также назначать прерывания определенным процессорам.

Как правильно диагностировать, произошло ли физическое повреждение, чтобы избежать того, что, по сути, сводилось к выбрасыванию частей при проблеме?

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

Другие вопросы по тегам