Cada pacote de rede causa uma interrupção na CPU?

4

Embora eu saiba que muito processamento de pacotes (cálculos de CRC, manipulação de segmentação de pacotes, etc) pode ser descarregado para a NIC, então cada pacote ainda causa uma interrupção na CPU? Há alguma diferença se a NIC estiver em modo promíscuo?

    
por Martin 12.11.2014 / 15:23

1 resposta

4

Normalmente, a NIC somente interromperá a CPU se precisar enviar o pacote recebido ao sistema. No modo não-promíscuo, isso seria apenas para pacotes endereçados a seu endereço MAC, o endereço de broadcast ff: ff: ff: ff: ff: ff ou um endereço multicast ao qual ele foi inscrito. Ele também faz a validação antes de enviar o pacote para a CPU: a verificação de CRC Ethernet normal e as somas de verificação IP / TCP / UDP se a NIC tiver esse recurso e o driver tiver ativado esse descarregamento.

Algumas NICs possuem um número limitado de endereços de assinatura multicast; se isso for excedido, ele enviará todos os pacotes multicast para a CPU, e o sistema operacional terá que descartar aqueles com os quais não se importa.

    
por 12.11.2014 / 20:03