Tuesday, August 20, 2013

Network Interface Controller

A network interface controller (NIC) (also known as a network interface card, network adapter, LAN adapter etc.) is a computer hardware component that connects a computer to a computer network, either by using cables or wirelessly. It is both an OSI layer 1 (physical layer) and layer 2 (data link layer) device, as it provides physical access to a networking medium and, for IEEE 802 networks and FDDI, provides a low-level addressing system through the use of MAC addresses.




Every network controller for an IEEE 802 network such as Ethernet, Wi-Fi or Token Ring and every FDDI network controller has a unique 48-bit serial number called a MAC address, which is stored in read-only memory format. Every computer on an Ethernet network must have at least one controller.



Controller vendors purchase blocks of addresses from the Institute of Electrical and Electronics Engineers (IEEE) and assign a unique address to each controller at the time of manufacture.



Ethernet network controllers typically support 10 Mbit/s Ethernet, 100 Mbit/s Ethernet, and 1000 Mbit/s Ethernet varieties and are designated as 10/100/1000 respectively.



The role of the NIC is to:

• Prepare data from the computer for the network cable.

• Send the data to another computer.

• Control the flow of data between the computer and the cabling system.

• Receive incoming data from the cable and translate it into bytes that can be understood by the computer's central processing unit (CPU).



The NIC may use one or more of two techniques to indicate the availability of packets to transfer:

• Polling is where the CPU examines the status of the peripheral under program control.

• Interrupt-driven I/O is where the peripheral alerts the CPU that it is ready to transfer data.

It may use one or more of two techniques to transfer packet data:

• Programmed input/output is where the CPU moves the data to or from the designated peripheral to memory.

• Direct memory access is where an intelligent peripheral assumes control of the system bus to access memory directly. This removes load from the CPU but requires more logic on the card. In addition, a packet buffer on the NIC may not be required and latency can be reduced.

References:

http://en.wikipedia.org/wiki/Network_interface_controller

http://pluto.ksi.edu/~cyh/cis370/ebook/ch02c.htm

No comments:

Post a Comment