Is an Ethernet frame/packet 1500 or 1514 bytes ?
The Ethernet standard limits the size of an Ethernet frame to 1514 bytes (14-byte Ethernet header plus 1500 bytes data). However, that is the frame at the Data link layer. On the Network layer, the packet size is 1500 bytes. To get a better understanding of headers and frame/packet sizes, we'll briefly mention the OSI Referemce model layers:
Layer 1: Physical layer - the actual hardware
Layer 2: Data Link layer (frames) - data transfer method (802x ethernet - 14-byte header). MAC and LLC
Layer 3: Network layer (packes) - IP network protocol (routes messages using best available path). 20-byte IP header
Layer 4: Transport layer - TCP, UDP (deals with packet sequence, error handling). ~20-byte TCP header
Layer 5: Session layer - User interface with the network, controls data sessions, security, name lookup.
Layer 6: Presentation layer - prepares data, translates between network and user applications.
Layer 7: Application layer - provides the ability for user applications to interact with the network.
So, at Layer 3, frames are 1500 bytes, at Layer 2 they are 1514 (they include the 14-byte Ethernet header). However, the Network layer is the lowest one that is concerned with actually getting data from one computer to another (even if it is on a remote network); in contrast, the Data Link link layer only deals with devices that are local to each other.
On the Network layer of the OSI model, the packet/MTU size is 1500 bytes.
Note: On the Data Link layer, the data unit is usually referred to as a frame, while on the Network layer, it is referred to as "packet", or "datagram".