Ethernet Architecture

This section describes the Ethernet protocol layers, the Linux network device framework, and the JH-7110 Ethernet hardware architecture.

Ethernet Protocol Layers

Ethernet is a LAN technology defined by IEEE 802.3 standards, supporting data rates of 10 Mbps, 100 Mbps, and 1 Gbps. The Ethernet protocol spans two layers of the TCP/IP reference model.

Figure 1. Ethernet Protocol Layers
  • L1 (Physical Layer): Handles bit-level transmission over the physical medium
  • L2 (Data Link Layer): Provides reliable data transfer between network nodes
The L2 layer consists of two sub-layers:
  • LLC (Logical Link Control) sub-layer: Handles flow control, error handling, and frame synchronization
  • MAC (Media Access Control) sub-layer: Manages access to the physical transmission medium and frame

Linux Network Device Framework

The Linux network device framework implements a four-layer architecture as follows.

Figure 2. Linux Network Device Framework
Table 1. Network Driver Layers
Layer Description
Protocol Interface Layer Provides unified data send and receive interfaces:
  • dev_queue_xmit(): Accepts packets from upper layers and queues them for transmission.
  • netif_rx(): Delivers recived packets to the protocol stack.
Device Interface Layer Provides the struct net_device abstraction, which describes network device attributes and operations. Devices register with the framework using register_netdev() .
Device Driver Layer Implements the functional operation pointers defined in the structure of net_device. And then the operations are handed over to hardware drivers for execution.
Device Media Layer Contains as the physical elements which completes the data packet sending and receiving tasks, including the network transmission adapter and the media used for transmission.