Network Engineering Stack Exchange is a question and answer site for network engineers. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm reading a text (possibly outdated) and it states that large amounts of Layer 2 broadcast can degrade the performance of the workstations on the network - due to CPU interrupts.

Is it possible for the network card to handle the interrupt? Or does the OS always have to get involved?

share|improve this question
up vote 3 down vote accepted

A broadcast must be passed to the upper layers in order to evaluate it to see if it is relevant for the host, and that needs to be handled in software.

Broadcasts do have an effect on host performance, but not as much as before since we now have faster and multi-core CPUs. Broadcasts also use, possibly unnecessarily, bandwidth, but we also have faster networks. Faster processors and faster networks could also mean more broadcasts, too.

It is still a very good practice to limit the size of the broadcast domain. It used to be, "Switch where you can, route where you must." That is no longer strictly true, and an emerging best practice is to use layer-3 switches, instead of layer-2 switches, as access switches. This eliminates problems with things like spanning tree, and allows more granular layer-3 security features. Very few thing we use today depend on hosts being on the same layer-2 network; we live in a layer-3 world.

share|improve this answer

Network stack offloading provides a mechanism for the NIC hardware to handle the partial or full stack. Broadcasts are CPU-interrupt wasteful without offloading as the stack needs to process the packet to determine the destination IP is not its own. With offloading, this can be done without involving the CPU.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.