Ethernet – Understanding Raw-Ethernet Frames

ad-hoc-wirelessethernetieee 802.11mac addresswireless

Recently I was puzzled by the following articles about Raw-Ethernet frames:

RAW ethernet vs. UDP
Message Passing Using Raw Ethernet Frames

Briefly, both of them discusses that it is possible to establish a point-to-point communication using only the Ethernet layer. In that case, the overhead of the IP and TCP layers would be avoided and the throughput would increase (roughtly 50% according to some benchmarks).

I would like to do a similar test but in a wireless environment. However, I have some issues:

1st Issue
Is there any hardware constraint (ie: the Wi-Fi card) that might undermine such effort?

2nd Issue
Both articles chose the following frame format:

Preamble | Delimiter | Mac Headers | Payload | Pad | CRC

As far as I know, preamble, delimiter, pad and CRC are added by the Ethernet device to every frame and can not be changed via software. I guess with Wi-Fi devices is similar.
Therefore, is there any hardware constraint (ie: the Wi-Fi card) that would undermine removing the Mac Headers?

ps: consider that the communication will be on a point-to-point basis, ie., there will be no routers, switches, bridges, … no internet connectivity.

Best Answer

First, Wi-Fi (IEEE 802.11) is not ethernet (IEEE 802.3) any more than token ring (IEEE 802.5) or any of the other IEEE LAN standards other than 802.3 are ethernet. The frame headers are different for Wi-Fi and ethernet.

Wi-Fi, ethernet, token ring, FDDI, etc. are all LAN standards for OSI layer-1 and layer2 which encapsulate datagrams for upper layer protocols. Each can transport layer-3 protocols, of which IP is merely one.

You are free to create your own or use one of the existing layer-3 protocols for one of the IEEE LAN protocols, but you will need to have the frame for the LAN protocol which you choose. Don't expect to be able to interoperate with any device which is not running your protocol stack, nor can you expect it to run over any routers which don't have your protocol stack (this means no Internet which uses IP). Bridges like ethernet switches or WAPs will transport your upper layer protocols since they work at layer-2, so you could create a LAN.

You will need to have the frame header for the type of LAN you are on. For one thing, how does one host actually send to another host without the layer-2 address in the frame. I think you are basically going back to serial communication like RS-232 which has no frame or header, but it relies on extra wires for data control.