Data transmitted over an internet using IP is carried in messages called IP datagrams.
Similar to all network protocol messages, IP uses a specific format for its datagrams.
We are looking at IP version 4 and we will examine the IPv4 datagram format, which was defined in RFC 791 along with IPv4.
The IPv4 datagram is conceptually divided into two pieces:
The header contains addressing and control fields,
while the payload carries the actual data to be sent over the internetwork.
Unlike some message formats, IP datagrams do not have a footer following the payload.
Even though IP is a relatively simple, connectionless, unreliable protocol,
the IPv4 header carries certain information, which makes it somewhat large.