Can somebody explain that why the Ethernet Maximum Transmission Unit was chosen to be 1500 bytes (why exactly 1500) ? It might have some historical reason.
Setting an upper limit for packet size was done for two reasons:
- ensure reliable transmission of the data (longer data are more susceptible to being corrupted and their CRC have lower changes of detecting/correcting the corruption);
- ensure that all Ethernet-compliant device have at least a 1500 byte buffer to send/receive packets.
As you suggested, the 1500 bytes limit is mainly here for historical reasons; modern Ethernet networks can work quite happily with bigger frame sized. This is the precise reason why Jumbo frames are implemented on server grade or high-end consumer Ethernet card.
Found this googling a bit:
Ethernet frame has 8 byte preamble, 6 byte source and 6 byte destination mac address, mac type of 2 bytes, and 4 bytes CRC. Assuming the MTU payload to be 1500 the total number of bytes comes to 1500 + 8 + 6 + 6 + 2 + 4 = 1526 bytes. Now between each frame there is a inter frame gap of 12 bytes which constitues 9.6micro seconds gap between each frame. This is essential so that frames dont mix up. So the total size of each frame going out of a host is 1538 bytes.
So at 10 Mbps rate, the frame rate is 10 Mbps / 1538 bytes = 812.74 frames / second.
Now we can find the throughput or efficiency of link, to transmit 1500 bytes of payload. by multiplying the frame rate with the number of bytes of the payload.
So efficiency = 812.74 * 1500 * 8 = 9752925.xxxxx bps which is 97.5 percent efficient ( comparing with 10 MBps)
Quite interesting and well explained.