A network adapter or network interface card/controller (NIC) may be wired or wireless and allow a network device to communicate with other devices and applications on any accessible internal or external network connection, Kurose & Ross (2010). On wired NICs there are different types of connections; however the standard is generally now an RJ45 type connection. Despite being an integral part of the network node for many years, adapters generally have the ability to undertake their own processing rather than using the central processing unit (CPU) of that node. This decentralisation of network communication processing does not occur on all NICs, some, lower quality products intended for use on non-dedicated networking nodes (e.g. desktop machines rather than servers), may still utilise the processing capability of the CPU, whereas others handle network processing on the NIC itself for performance or functional reasons.
Gervais (2000) identified that with the greater speed improvements of network communication speed over CPU processing speed that “off-loading processing from the CPU is certainly key” to achieving better performance given that as network communications become faster that “at gigabit speeds the TCP/IP stack is complicated enough to consume the fastest Pentium CPU available” (at the time), the major disadvantage in moving the processing from the adapter to the node. In addition, the NIC can perform error checking, language translation, communication protocol and other functions that would have to be performed by the node which could seriously affect the efficiency of the node itself in terms of availability to other processes and hence performance.
The main advantage of the node handling the network processing rather than the adapter would be in a situation where it was important for the processing to be handled in this way. In specialist nodes where the very existence of the node handles some form of critical network processing without having to be available for any other application, perhaps for security, infrastructure or cost reasons then it would be acceptable to consider such usage. Otherwise, the disadvantages of the node handling network processing greatly outweigh the advantages in terms of performance. This may change in the future however, as Intel announced large CPU processor performance this week demonstrated, that in the advent of quantum computing, we may see the current performance advantages reversed.
Gervais, J (2000) Network World: Smart NICs preserve CPU cycles [Online]. Available at http://books.google.com/books?id=-xgEAAAAMBAJ&lpg=PA69&ots=lP2caaW-hb&dq=%2Bcpu%20network%20processing&pg=PA69#v=onepage&q=+cpu%20network%20processing&f=true (Accessed 6 May 2011).