Let's face it. Nowadays a computer without regular access to the internet is pretty much useless. Yes you can still play single player games and yeah you can still use it as a word processor (though you'd better have a flash drive or printer if you ever want to get it off of your computer!), but that's about it. So I suppose that if the CPU is at the heart of what makes your computer work, then the Network Card is at the heart of what makes it actually useful.
The network card (also referred to commonly as the network adapter or the network interface card [NIC]) more or less does what its name implies: it allows your computer to communicate with a network of information via cables or wirelessly. We're going to be focused mainly on what happens in the card and how it interacts with the network in a very general way (though keep an eye out for upcoming articles that explain how the internet as a whole works!).
The network card's interaction with the rest of the computer can get quite complicated, mostly because there are different methods of implementation depending on the card and computer. So we'll be sticking mostly to what they have in common.
But First... A Little About The Internet
To understand network cards there is a bare minimum that you need to understand about the internet. You see, the internet (henceforth net) sends data in packets best thought of as short bursts of data. This data can be pictures, a website, or a streaming video. Whatever the case, when your network card receives these packets they must be reassembled back into their original form (in the case of a downloaded video) or 'stacked' so that the experience is smooth (in the case of video streaming).
In order to know where to get packets of information and where to receive them from the net you need an address. Without that the computer wouldn't know where to get the information from. We'll go further into this in my upcoming series on the internet. For now, just know that all computers have addresses so that they can interact with networks, and that information sent over a network or through the internet is sent in packets.
Back To Our Scheduled Programming
Basically the network card does two things: it searches for the availability of packets (or sometimes the CPU does this through the network card) and it transfers data to memory.
To look for the availability of packets (in other words, to look for if data is ready to be sent) the network card uses one or both of two methods: polling and/or interrupt-driven I/O (the 'I/O' stands for 'Input/Output').
Polling is where the CPU examines the status of the network card periodically. It basically checks the card every so often to see if it's ready to move data.
Interrupt-Driven I/O is where the network card lets the CPU know that it's ready to transfer data.
One it's been determined that there is, in fact, data to transfer the computer then uses the following techniques to move the data: programmed input/output or direct memory access (DMA).
Programmed Input/Output is where the CPU moves to or from the network card to memory. In other words the CPU does the heavy lifting.
Direct Memory Access is where a device other than the CPU (often a component on the network card itself) moves the data from the network card to memory. This may result in faster transfer times because the middleman, the CPU has been taken out of the equation.
After the data is moved the CPU then determines where it belongs and sends it there. Visual data goes to the graphics card. Auditory data goes to the sound card. And so on and so forth.
The network card is an absolute necessity in the information age. So essential, in fact, that nowadays a lot of them are built into the motherboard. Without it, we'd all be disconnected. So the next time your machine is brings you information in a split second from across the globe, don't take it for granted.
Cool!
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit