Different networks are used to transfer data from one device to another with acceptable accuracy. For most applications, a system must guarantee that the data received are identical to the data transmitted. Transmission media are most error-prone link. In a network, the capacity of nodes is different and the rate at which the sender is sending data might not be the same rate at which the receiver accepts it. In this paper, we discuss on designing issues of data link layer. The primary focus ison various error detecting and controlling mechanisms.