Minimum Ethernet Frame/Packet Size
Here is my understanding about the reason behind the Minimum Ethernet Frame Size (64 Bytes).
The old Ethernet (10BASE5) LAN spread across the campus area of the university. The normal distance is around 2500meters. The network segmented by 500meter cables(see fig). The speed of this LAN is 10Mbps. Ethernet is a broadcast medium and at a time only one node should sent its frame in that. If more then one node is trying to send the frames, then collision will happen. To avoid the collision the Ethernet is using the CSMA/CD technique.

In Wire-line network, the device Tx and Rx on a same medium and easy to detect the collision just by sensing the media. So it uses the CSMA/CD. But in Wireless network, Tx and Rx is happening on different frequency and it can't detect the collision. So it uses the CSMA/CA technique.
What is collision? Ethernet device will check the Ethernet medium for some signal. If it finds any, then it will understand that, some other node is already transmitting in the medium and it will backoff - Do not send any frame/packet and wait for some time, specified by exponential backoff algorithm.
Now we will go into some more details, refer the image. Now machine A see no signal in the medium and start sending the 100 bytes packet. When it is sending the 48 bytes, it is see some signal on the medium and immediately abort the transmission. Is it OK? No! Transmitting Ethernet device will send the frame bits for X uSec and pause the transmission to check for a collision on the medium and then continue. When it is checking like this, the 1st bit signal of current packet hit the other end of network and echoed back in the opposite direction. Our device is still busy in sending the packet and checking for collision. If it detect it's own frame's echo as a collision then, it will wrongly stop the transmission. If it is does like this, it will never be able to successfully transmit a complete packet. So it should ignore this collision and continue its transmission. There is no special technique to differentiate the collisions, then how it can ignore the collision, which is happening due to its own frame echo. The trick is timing, when the its own frame echo is reaching back, all computers in the network detected a collision and stop their transmission. So that the device can safely ignore this collision. Now the next question is, After how much time, it should start ignoring the collision? We will find this value in the following steps:LAN Length (L) = 500 x 5 = 2500 Meters
Signal propagation delay in the Cable (S) = 200 Meters/uSec Delay added by repeater (D) = ~3uSec x 2 (Bi-Direction) x 4 Repeaters = 24uSec Round Trip Delay (RTD) = (Total Distance/S) + Other Delays = (2L/S) + D = (5000/200) + 24 = 49uSec
So we should start ignoring the collision after the RTD Time, 49uSec. For everyone to notice the collision, we should keep transmitting the bits above the RTD Time. So our minimum frame size must be greater then the no. of bits that can be transmitted with in the RTD.
LAN Capacity (C) = 10Mbps
Bits transmitted with-in RTD = RTD x LAN Capacity = 49 x (10^-6) x 10 x (10^6) = 490 Bits. Minimum Ethernet Frame/Packet size > 490 Bits We will take the nearest big number, with power of 8, is 512 Bits.
The minimum Ethernet Frame Size is 512/8 = 64 Bytes. The Maximum frame size (1514) is decided to prevent a particular node from hogging the network for long time, efficient buffer handling, retransmission, error recovery, QoS, etc