In the most general sense, a packet is a set of bits or bytes that is transmitted between two computerized devices across an information network that can be as simple as a point-to-point circuit between two systems or as complex as the Internet. In the language of the OSI Reference Model, a packet is the Layer 3 unit of transmission, or Protocol Data Unit (PDU).
The structure of a packet is defined by a specific set of rules, known as a protocol, but usually comprises two basic elements: a header and a payload. The payload contains the information that needs to be conveyed between the two systems, and is usually furnished by a Layer 4 protocol. The header is created by the transmitting system and contains control information needed by the network and receiving system to route the packet to its destination and support any services provided by the specific Layer 3 protocol in use.
The most pervasive Layer 3 protocol in use today is the one implemented by the Internet: the Internet Protocol (IP). Other examples of Layer 3 protocols include the Internetwork Packet Exchange (IPX) protocol from Novell, the Datagram Delivery Protocol (DDP) from Apple, the VINES Internet Protocol (VIP) from Banyan, and the Path Control Layer (PCL) from IBM. Each of these latter protocols has largely faded into obsolescence.
Although each of these protocols defines a different structure for the packet header, each defines an addressing structure that makes it possible for many end systems to connect to, and communicate across, a packet network. Layer 3 addresses typically comprise at least two elements: a network identifier and a host (or end system) identifier. Packet headers also commonly include fields that support error detection, acknowledgments, fragmentation, and sequencing.
In communication networks, packets are routed by Layer 3 switches, known as routers. Most Layer 3 protocols support implementation of a datagram network, but there are also examples of Layer 3 virtual circuit networks.