In computer networking, encapsulation is a method of designing modular communication protocols in which logically separate functions in the network are abstracted from their underlying structures by inclusion or information hiding within higher level objects.
The physical layer is responsible for physical transmission of the data. Link encapsulation allows local area networking and Internet Protocol (IP) provides global addressing of individual computers; Transmission Control Protocol (TCP) adds application or process selection, i.e., the port specifies the service such as a Web or TFTP server.
During encapsulation, each layer builds a protocol data unit (PDU) by adding a header (and sometimes trailer) containing control information to the PDU from the layer above. For example, in the Internet protocol suite, the contents of a web page are encapsulated with an HTTP header, then by a TCP header, an IP header, and, finally, by a frame header and trailer. The frame is forwarded to the destination node as a stream of bits, where it is decapsulated (or de-encapsulated) into the respective PDUs and interpreted at each layer by the receiving node.
The result of encapsulation is that each lower layer provides a service to the layer or layers above it, while at the same time each layer communicates with its corresponding layer on the receiving node. These are known as adjacent-layer interaction and same-layer interaction, respectively.
In discussions of encapsulation, the more abstract layer is often called the upper layer protocol while the more specific layer is called the lower layer protocol. Sometimes, however, the terms upper layer protocols and lower layer protocols are used to describe the layers above and below IP, respectively.
Encapsulation is a characteristic feature of most networking models, including both the OSI model and TCP/IP suite of protocols.