a packet
Suppose you want to mail a long book but the post office only accepts postcards. You would tear the book into pages, write the destination address and a page number on each card, and drop them all in the mail; the recipient sorts them by number and rebuilds the book. A packet is one of those postcards. Networks chop your data into small, self-contained chunks, each labeled with where it is going, and send them independently.
A packet is a formatted block of data with two parts: a header (control information — at minimum the destination and source addresses, plus things like a sequence number and error-check field) wrapped around a payload (the actual slice of your data). Every router along the way reads only the header to decide where to forward the packet next; it does not need the rest. Because each packet carries its own address, different packets of the same message can take different paths and arrive out of order — the receiving end system puts them back in order using the sequence numbers.
Why bother chopping data up? Because small independent packets let many users share the same links efficiently (statistical multiplexing), let the network route around failures, and let a single lost piece be re-sent without redoing the whole transfer. The cost is overhead (every packet carries header bytes) and the need to reassemble. Packet sizes are bounded by the link's maximum transmission unit (MTU) — commonly 1500 bytes on Ethernet.
A 30 KB image sent over Ethernet is split into about 20 packets of up to 1500 bytes each, each stamped with the same destination address; if packet 7 is lost, only packet 7 is re-sent, not all 20.
Header (where it's going) + payload (a slice of your data) = one packet.
The words packet, frame, segment, and datagram all mean 'a chunk with a header,' but at different layers: a link-layer frame, a network-layer datagram, a transport-layer segment. They nest inside one another.