Network Interfaces

Hopefully helping with some information
Being in Network engineering, and previously Electronic design Engineer specializing in communication devices
Try to Explain networking interface differences
There is significant overhead on CPU interrupts by I/O devices, Network Interfaces specifically
Old school terminology use to refer to Buss mastering devices, Network Interfaces that could off load much of the buffering, and handing at the link layer protocol on board processing. This prevented having to interrupt the CPU as much to handle this processing. Cheap interfaces, especially windows machines, use low cost interfaces that reply on software thus CPU for much of this processing. Why high end network interfaces such as server hardware is much more expensive but handles a lot of that processing on board the network interfaces themselves. Server hardware, with network cards costing hundreds or even thousand+ can handle much more throughput and limit system overhead, vs desktop hardware and worse, USB dongles. So if low throughput then can get by with the ow cost options, but if really expecting the Gigabit network performance, better be ready for a high cost item, USB, cheap desktop/laptop hardware not going to get you that through put even if the interface says is gigabit. If wanting multiple interfaces, high through put, multiple core is an advantage here. tuning infinity to handle Interface interrupts spread across some of the cores not just single core will help in high traffic throughput. however the other main culprit determining through pout is the entire system, most apps at the TCP layer is terrible with window sizing and TCP itself is terrible for high throughput due to overhead so never expect true wire speed throughput, but just a fraction thereof but realizing the differences for interface type hardware hopefully will help.

1 Like