The purpose of the data link layer is to establish, maintain, and release links that directly connect two nodes. Its functions include framing (defining how data is structured for transport), multiplexing, and demultiplexing of data. Examples of data link protocols include the point-to-point protocol (PPP) and the high-level data link control (HDLC) protocol.