A closer look at modern Network Interface Cards
Network Interface Cards (NIC) play an important role in the protocol stack since contain all the hardware functions that are required to transmit and receive packets. In the early days, the NICs mainly implemented the physical layer and a fraction of the datalink layer (e.g. CSMA/CD for Ethernet or CSMA/CA for Wi-Fi). Over the years, a variety of functions have been added to the NICs, starting from the computation of the datalink layer checksums and CRCs. Then they have also be capable of fragmentation packets and even splitting large TCP segments in a series of IP packets. Some NICs can offload cryptographic computations for TLS or IPSec and the latest generation of NICs are fully programmables.
Despite the importance that NICs play nowadays, most of the information available about them resides in specialised documents that are targeted at engineers who implement device drivers. At IETF 105, the IETF invited Tom Herbert, Simon Horman and Andy Gospodarek to present a detailed tutorial on modern NICs.
Tom Herbert’s presentation focused on the fundamentals of these NICs and the basic offload functions, including checksum offload, segmentation offload and the management of the NIC queues.
In the second part, Simon Horman explained the different types of hardware capabilities which can be included in recent NICs and their features. He notably explains how the different crypto acceleration features for TLS and IPSec work.
In the third part, Andy Gospodarek looks at the most recent NICs that include a general purpose CPU and support full programmability. This opens new possibilities for the implementation of network protocols.
If you’d like to understand how current NICs work, this IETF technical deep dive is highly recommended : https://www.youtube.com/watch?v=wHM7RVk3-yk
This blog post was written to inform the readers of Computer Networking: Principles, Protocols and Practice about the evolution of the field. You can subscribe to the Atom feed for this blog. These notes are also posted on the ebook’s Facebook page