Search code examples
network-programmingnetwork-protocolsethernet

Manchester Encoding and the Ethernet protocol


Theoretical question here -- the [general] Ethernet protocol uses an 8 byte preamble with an (almost) all 10101010 bit pattern, save for the very last byte. One purpose of this is for sender/receiver synchronization.

Since Manchester Encoding can inherently sync the sender and receiver, do you think that the preamble is necessary or redundant overhead? I would argue that it is redundant, but that it may be important to indicate the start / end of frames.


Solution

  • The Manchester Encoding will synch things up at the bit level, but you also need to get higher level synchronization in place too. In particular, you need byte level and frame level synch: bytes because then you can actually transfer data that can be understood at all, and frames because then you can comprehend the overall message. By having that header, it gives the Ethernet hardware enough time to start listening for the real message that follows and to correctly determine where that message starts; it doesn't have to capture the first bit of the preamble to work, and so is more reliable. Reliability is Good.