Ethernet Framing

Communication over networks relies on the application of rules that govern how data is transmitted and processed in a manner that is understood by both the sending and receiving entities. As a result, multiple standards have been developed over the course of time with some standards becoming widely adopted. There exists however a clear distinction between the standards that manage physical data flow and the standards responsible for logical forwarding and delivery of traffic.

The IEEE 802 standards represent a universal standard for managing the physical transmission of data across the physical network and comprises of standards including the Ethernet standard 802.3 for physical transmission over local area networks.

Alternative standards exist for transmission over wide area networks operating over serial based media, including Ethernet, PPP and HDLC. TCP/IP has been widely adopted as the protocol suite defining the upper layer standards, regulating the rules (protocols) and behavior involved in managing the logical forwarding and delivery between end stations.

The TCP/IP reference model primarily concerns with the core principles of the protocol suite, which can be understood as the logical transmission and delivery of traffic between end stations. As such the TCP/IP protocol reference model provides a four layer representation of the network, summarizing physical forwarding behavior under the network interface layer, since lower layer operation is not the concern of the TCP/IP protocol suite.

Primary focus remains on the network (or Internet) layer which deals with how traffic is logically forwarded between networks, and the transport (sometimes referred to as host-to-host) layer that manages the end-to-end delivery of traffic, ensuring reliability of transportation between the source and destination end stations. The application layer represents an interface through a variety of protocols that enable services to be applied to end user application processes.

Although the TCP/IP reference model is primarily supported as the standard model based on TCP/IP protocol suite, the focus of the TCP/IP reference model does not clearly separate and distinguish the functionality when referring lower layer physical transmission.

In light of this, the open systems interconnection, or OSI reference model is often recognized as the model for reference to IEEE 802 standards due to the clear distinction and representation of the behavior of lower layers which closely matches the LAN/MAN reference model standards that are defined as part of the documented IEEE 802-1990 standards for local and metropolitan area networks. In addition, the model that is generally in reference to the ISO protocol suite, provides an extended breakdown of upper layer processing.

As upper layer application data is determined for transmission over a network from an end system, a series of processes and instructions must be applied to the data before transmission can be successfully achieved. This process of appending and pre-pending instructions to data is referred to as encapsulation and for which each layer of the reference model is designed to represent.

As instructions are applied to the data, the general size of the data increases. The additional instructions represent overhead to the existing data and are recognized as instructions to the layer at which the instructions were applied. To other layers, the encapsulated instructions are not distinguished from the original data. The final appending of instructions is performed as part of the lower layer protocol standards (such as the IEEE 802.3 Ethernet standard) before being carried as an encoded signal over a physical medium.

As part of the IEEE 802.3 Ethernet standard, data is encapsulated with instructions in the form of a header and a trailer before it can be propagated over physical media on which Ethernet is supported. Each stage of encapsulation is referred to by a protocol data unit or PDU, which at the data link layer is known as a frame.

Ethernet frames contain instructions that govern how and whether data can be transmitted over the medium between two or more points. Ethernet frames come in two general formats, the selection of which is highly dependent on the protocols that have been defined prior to the framing encapsulation.

Two frame formats are recognized as standard for Ethernet based networks. The DIX version 2 frame type standard was originally developed during the early 1980’s, where today it is recognized as the Ethernet II frame type. Ethernet II was eventually accepted and integrated into the IEEE 802 standards, highlighted as part of section 3.2.6 of the IEEE 802.3x-1997 standards documentation. The IEEE 802.3 Ethernet standard was originally developed in 1983, with key differences between the frame formats including a change to the type field that is designed to identify the protocol to which the data should be forwarded to once the frame instructions have been processed. In the IEEE 802.3 Ethernet format, this is represented as a length field which relies on an extended set of instructions referred to as 802.2 LLC to identify the forwarding protocol.

Ethernet II and IEEE 802.3 associate with upper layer protocols that are distinguished by a type value range, where protocols supporting a value less than or equal to 1500 (or 05DC in Hexadecimal) will employ the IEEE 802.3 Ethernet frame type at the data link layer. Protocols represented by a type value greater than or equal to 1536 (or 0600 in Hexadecimal) will employ the Ethernet II standard, and which represents the majority of all frames within Ethernet based networks.

Other fields found within the frame include the destination and source MAC address fields that identify the sender and the intended recipient(s), as well as the frame check sequence field that is used to confirm the integrity of the frame during transmission.

The Ethernet II frame references a hexadecimal type value which identifies the upper layer protocol. One common example of this is the Internet Protocol (IP) which is represented by a hexadecimal value of 0x0800. Since this value for IP represents a value greater than 0x0600, it is determined that the Ethernet II frame type should be applied during encapsulation. Another common protocol that relies on the Ethernet II frame type at the data link layer is ARP, and is represented by the hexadecimal value of 0x0806.

For the IEEE 802.3 frame type, the type field is contained as part of the SNAP extension header and is not so commonly applied the protocols in today’s networks, partially due to the requirement for additional instructions which results in additional overhead per frame. Some older protocols that have existed for many years but that are still applied in support of Ethernet networks are likely to apply the IEEE 802.3 frame type. One clear example of this is found in the case of the Spanning Tree Protocol (STP) that is represented by a value of 0x03 within the type field of the SNAP header.

Ethernet based networks achieve communication between two end stations on a local area network using Media Access Control (MAC) addressing that allows end systems within a multi access network to be distinguished. The MAC address is a physical address that is burned into the network interface card to which the physical medium is connected. This same MAC address is retrieved and used as the destination MAC address of the intended receiver by the sender, before the frame is transferred to the physical layer for forwarding over the connected medium. 

 
Each MAC address is a 48 bit value commonly represented in a hexadecimal (base 16) format and comprised of two parts that attempt to ensure that every MAC address is globally unique. This is achieved by the defining of an organizationally unique identifier that is vendor specific, based on which it is possible to trace the origin of a product back to its vendor based on the first 24 bits of the MAC address. The remaining 24 bits of the MAC address is a value that is incrementally and uniquely assigned to each product (e.g. a Network Interface Card or similar product supporting port interfaces for which a MAC is required). 

 
The transmission of frames within a local network is achieved using one of three forwarding methods, the first of these is unicast and refers to the transmission from a single source location to a single destination. Each host interface is represented by a unique MAC address, containing an organizationally unique identifier, for which the 8th bit of the most significant octet (or first byte) in the MAC address field identifies the type of address. This 8th bit is always set to 0 where the MAC address is a host MAC address, and signifies that any frame containing this MAC address in the destination MAC address field is intended for a single destination only.

Where hosts exist within a shared collision domain, all connected hosts will receive the unicast transmission but the frame will be generally ignored by all hosts where the MAC address in the destination MAC field of the frame does not match the MAC value of the receiving host on a given interface, leaving only the intended host to accept and process the received data. Unicast transmissions are only forwarded from a single physical interface to the intended destination, even in cases where multiple interfaces may exist.  

Broadcast transmission represents a forwarding method that allows frames to be flooded from a single source received by all destinations within a local area network. In order to allow traffic to be broadcasted to all hosts within a local area network, the destination MAC address field of the frame is populated with a value that is defined in hexadecimal as FF:FF:FF:FF:FF:FF, and which specifies that all recipients of a frame with this address defined should accept receipt of this frame and process the frame header and trailer.

Broadcasts are used by protocols to facilitate a number of important network processes including discovery and maintenance of network operation, however also generate excessive traffic that often causes interrupts to end systems and utilization of bandwidth that tend to reduce the overall performance of the network. 

 
A more efficient alternative to broadcast that has begun to replace the use of broadcasts in many newer technologies is the multicast frame type. Multicast forwarding can be understood as a form of selective broadcast that allows select hosts to listen for a specific multicast MAC address in addition to the unicast MAC address that is associated with the host, and process any frames containing the multicast MAC address in the destination MAC field of the frame.

Since there is no relative distinction between unicast MAC addresses and multicast MAC address formats, the multicast address is differentiated using the 8th bit of the first octet. Where this bit value represents a value of 1, it identifies that the address is part of the multicast MAC address range, as opposed to unicast MAC addresses where this value is always 0.

In a local area network, the true capability of multicast behavior at the data link layer is limited since forwarding remains similar to that of a broadcast frame in which interrupts are still prevalent throughout the network. The only clear difference with broadcast technology is in the selective processing by receiving end stations. As networks expand to support multiple local area networks, the true capability of multicast technology as an efficient means of transmission becomes more apparent. 

 
As traffic is prepared to be forwarded over the physical network, it is necessary for hosts in shared collision domains to determine whether any traffic is currently occupying the transmission medium. Transmission media such as in the case of 10Base2 provides a shared medium over which CSMA/CD must be applied to ensure collisions are handled should they occur. If the transmission of a frame is detected on the link, the host will delay the forwarding of its own frames until such time as the line becomes available, following which the host will begin to forward frames from the physical interface towards the intended destination.

Where two hosts are connected over a medium capable of supporting full duplex transmission as in the case of media such as 10BaseT, it is considered not possible for transmitted frames to suffer collisions since transmission and receipt of frames occurs over separate wires and therefore there is no requirement for CSMA/CD to be implemented.
Once a frame is forwarded from the physical interface of the host, it is carried over the medium to its intended destination. In the case of a shared network, the frame may be received by multiple hosts who will assess whether the frame is intended for their interface by analyzing the destination MAC address in the frame header. If the destination MAC address and the MAC address of the host are not the same, or the destination MAC address is not a MAC broadcast or multicast address to which the host is listening for, the frame will be ignored and discarded.

For the intended destination, the frame will be received and processed, initially by confirming that the frame is intended for the hosts physical interface. The host must also confirm that the integrity of the frame has been maintained during transmission by taking the value of the frame check sequence (FCS) field and comparing this value with a value determined by the receiving host. If the values do not match, the frame will be considered as corrupted and will be subsequently discarded.

For valid frames, the host will then need to determine the next stage of processing by analyzing the type field of the frame header and identify the protocol to which this frame is intended. In this example the frame type field contains a hexadecimal value of 0x0800 that identifies that the data taken from the frame should be forwarded to the Internet Protocol, prior to which, the frame header and trailer are
discarded.

Summary

Data link layer frames contain a Type field that references the next protocol to which data contained within the frame should be forwarded. Common examples of forwarding protocols include IP (0x0800) and ARP (0x0806).

The destination MAC address contained within the frame header is analyzed by the receiving end station and compared to the MAC address associated with the interface on which the frame was received. If the destination MAC address and interface MAC address do not match, the frame is discarded.

Ref : [1]