<Li> Reliability: Packets may be lost during transport due to network congestion and errors . By means of an error detection code, such as a checksum, the transport protocol may check that the data is not corrupted, and verify correct receipt by sending an ACK or NACK message to the sender . Automatic repeat request schemes may be used to retransmit lost or corrupted data . </Li> <Li> Flow control: The rate of data transmission between two nodes must sometimes be managed to prevent a fast sender from transmitting more data than can be supported by the receiving data buffer, causing a buffer overrun . This can also be used to improve efficiency by reducing buffer underrun . </Li> <Li> Congestion avoidance: Congestion control can control traffic entry into a telecommunications network, so as to avoid congestive collapse by attempting to avoid oversubscription of any of the processing or link capabilities of the intermediate nodes and networks and taking resource reducing steps, such as reducing the rate of sending packets . For example, automatic repeat requests may keep the network in a congested state; this situation can be avoided by adding congestion avoidance to the flow control, including slow - start . This keeps the bandwidth consumption at a low level in the beginning of the transmission, or after packet retransmission . </Li> <Li> Multiplexing: Ports can provide multiple endpoints on a single node . For example, the name on a postal address is a kind of multiplexing, and distinguishes between different recipients of the same location . Computer applications will each listen for information on their own ports, which enables the use of more than one network service at the same time . It is part of the transport layer in the TCP / IP model, but of the session layer in the OSI model . </Li>

Which layer is used to control communication between the hardware in the network