Ethernet packets and MAC addressing
Within a single computing device, ASCII-coded bytes work fine. But when those bytes of data have to move to other devices, we have to wrap some management information around them. This is the function of a network packet. Devices in an Ethernet network use Ethernet formatted packets to exchange data. A sample Ethernet packet is shown in Figure 3.
Each packet is divided into multiple segments. The first segment contains 6 bytes that make up the MAC address of the device to which the packet is being sent. The Source Address segment is comprised of 6 bytes that make up the MAC address of the device sending the packet.
A MAC (Media Access Control) address is a unique identifier written into every NIC (Network Interface Card) by its manufacturer. A NIC is installed in every network device. It's used to connect a device to the network. Devices on the same network segment use their MAC addresses to communicate with each other. A MAC address is required in addition to an IP address. While an IP address (covered later in this series) is required to get a packet to the proper segment, the packet can't make the final trip to the target device unless the packet contains the target device's MAC address.
A MAC address, also known as a hardware address, is composed of 16 bytes. The first 3 bytes are assigned by the IEEE (Institute of Electrical and Electronics Engineers, Inc.) to the manufacturer of the NIC; it uniquely identifies the manufacturer. The last 3 bytes are assigned by the manufacturer to uniquely identify each NIC it produces. Each NIC on a network segment must have a unique MAC address. Duplicate addresses, while rare, are normally caused by manufacturing errors. The following is a sample MAC address expressed in Base 16 (hexadecimal), format:
The Control/Management segment contains 5 bytes that contain the length of the packet, transmission control information, and other low level packet management information that helps the receiving device properly process the packet and return a response to the sending device.
The Data segment contains the actual application or file data. It also contains the information necessary to move a packet between network segments. The number of bytes in this segment varies. It's determined by network management personnel during setup and optimization of the network. The CRC is a 4 byte value used to ensure the packet is received by the target device without errors. See "How a CRC Works" at the end of this article.