Chapter 11 Data Link Control 1. 2. 3. 4. 5. 6. 7. Framing Flow and Error Control Protocols Noiseless Channels Noisy Channels HDLC Point-to-Point Protocol Data Communications, Kwangwoon University 11-1 Framing • Data link layer needs to pack bits into frames, so that each frame is distinguishable from another • Separate a message from one source to a destination, or from other messages to other destinations, by adding a sender address and a destination address • Fixed-size framing: ATM (Chapter 18) • Variable-size framing – Need a way to define the end of the frame and the beginning of the next – Character-oriented approach and bit-oriented approach Data Communications, Kwangwoon University 11-2 Character-Oriented Protocols • Frame structure • Byte stuffing: process of adding 1 extra byte whenever there is a flag or escape character in the text Data Communications, Kwangwoon University 11-3 Bit-Oriented Protocols • Frame structure • Bit stuffing: process of adding one extra 0 whenever five consecutive 1s follow a 0 in the data Data Communications, Kwangwoon University 11-4 Flow and Error Control • Data link control = flow control + error control • Flow control refers to a set of procedures used to restrict the amount of data that the sender can send before waiting for acknowledgement • Error control in the data link layer is based on automatic repeat request (ARQ), which is the retransmission of data • ACK, NAK(Negative ACK), Piggybacking (ACKs and NAKs in data frames) Data Communications, Kwangwoon University 11-5 Noiseless Channels: Simplest Protocol • Simplest protocol with no flow or error control Data Communications, Kwangwoon University 11-6 Simplest Protocol • Sender-site algorithm • Receiver-site algorithm Data Communications, Kwangwoon University 11-7 Stop-and-Wait Protocol • Simple tokens of ACK and flow control added Data Communications, Kwangwoon University 11-8 Stop-and-Wait Protocol • Sender-site algorithm • Receiver-site algorithm Data Communications, Kwangwoon University 11-9 Stop-and-Wait Protocol: Example Data Communications, Kwangwoon University 11-10 Noisy Channels: Stop-and-Wait ARQ • Stop-and-wait Automatic Repeat Request (ARQ) • Error correction in Stop-and-Wait ARQ is done by keeping a copy of the sent frame and retransmitting of the frame when the timer expires • In Stop-and-Wait ARQ, we use sequence numbers to number the frames. The sequence numbers are based on modulo-2 arithmetic • Acknowledgment number always announces in modulo-2 arithmetic the sequence number of the next frame expected. Data Communications, Kwangwoon University 11-11 Stop-and-Wait ARQ Data Communications, Kwangwoon University 11-12 Stop-and-Wait ARQ • Sender-site algorithm Data Communications, Kwangwoon University 11-13 Stop-and-Wait ARQ • Receiver-site algorithm Data Communications, Kwangwoon University 11-14 Stop-and-Wait ARQ: Example Data Communications, Kwangwoon University 11-15 Go-Back-N ARQ • Pipelining improves the efficiency of the transmission • In the Go-Back-N Protocol, the sequence numbers are modulo 2m, where m is the size of the sequence number field in bits • The send window is an abstract concept defining an imaginary box of size 2m − 1 with three variables: Sf, Sn, and Ssize • The send window can slide one or more slots when a valid acknowledgment arrives. Data Communications, Kwangwoon University 11-16 Go-Back-N ARQ • Receive window for Go-Back-N ARQ • The receive window is an abstract concept defining an imaginary box of size 1 with one single variable Rn. The window slides when a correct frame has arrived; sliding occurs one slot at a time. Data Communications, Kwangwoon University 11-17 Go-Back-N ARQ • Sliding windows, Timers, ACK, Resending a frame Data Communications, Kwangwoon University 11-18 Go-Back-N ARQ: Send Window Size • In Go-Back-N ARQ, the size of the send window must be less than 2m; the size of the receiver window is always 1 • Stop-and-Wait ARQ is a special case of Go-Back-N ARQ in which the size of the send window is 1 Data Communications, Kwangwoon University 11-19 Go-Back-N ARQ: Sender Algorithm Data Communications, Kwangwoon University 11-20 Go-Back-N ARQ: Receiver Algorithm Data Communications, Kwangwoon University 11-21 Go-Back-N ARQ: Example 1 Data Communications, Kwangwoon University 11-22 Go-Back-N ARQ: Example 2 Data Communications, Kwangwoon University 11-23 Selective Repeat ARQ • Sender window size • Receive window size Data Communications, Kwangwoon University 11-24 Selective Repeat ARQ Data Communications, Kwangwoon University 11-25 Selective Repeat ARQ: Window Size • The size of the sender and receiver window must be at most one-half of 2m Data Communications, Kwangwoon University 11-26 Selective Repeat ARQ: Sender-Site Algorithm Data Communications, Kwangwoon University 11-27 Selective Repeat ARQ: Receiver-Site Algorithm Data Communications, Kwangwoon University 11-28 Selective Repeat ARQ: Example Data Communications, Kwangwoon University 11-29 Piggybacking • To improve the efficiency of the bidirectional protocols • Piggybacking in Go-Back-N ARQ Data Communications, Kwangwoon University 11-30 HDLC • High-level Data Link Control • Two common transfer mode: normal response mode (NRM) and asynchronous balanced mode (ABM) Data Communications, Kwangwoon University 11-31 HDLC: Frames • I(information)-frames, S(supervisory)-frames, U(unnumbered frame)frames • Flag field: 01111110 to identify both the beginning and the end of a frame and serve as synchronization pattern for receiver • FCS field: 2- or 4-byte ITU-T CRC for error detection Data Communications, Kwangwoon University 11-32 HDLC: Frames • Control Field: 1- or 2-byte segment of the frame used for flow and error control • Determine the type of frame and define its functionality • Control field for I-frame: P/F (poll/final bit for primary/secondary) Data Communications, Kwangwoon University 11-33 HDLC: Frames • Control field for S-frame • Receive ready (RR), Receive not ready (RNR), Reject (REJ) Selective reject (SREJ) Data Communications, Kwangwoon University 11-34 HDLC: Frames • Control field for U-frame Data Communications, Kwangwoon University 11-35 HDLC: Example 1 • Connection and disconnection Data Communications, Kwangwoon University 11-36 HDLC: Example 2 • Piggybacking without error Data Communications, Kwangwoon University 11-37 HDLC: Example 3 • Piggybacking with error Data Communications, Kwangwoon University 11-38 HDLC: Bit Stuffing and Unstuffing Data Communications, Kwangwoon University 11-39 Point-to-Point Protocol: PPP • One of the most common protocols for point-to-point access • Many Internet users who need to connect their home computer to the server of an Internet service provider use PPP • A point-to-point link protocol is required to control and manage the transfer of data • PPP defines/provides – – – – – – – the format of the frame to be exchanged between devices how two devices negotiate the establishment of the link and the exchange of data how network layer data are encapsulated in the data link frame how two devices can authenticate each other multiple network layer services connection over multiple links Network address configuration • But, several services are missing for simplicity – no flow control, simple error control (detection and discard), no sophisticate addressing for multipoint configuration Data Communications, Kwangwoon University 11-40 PPP Frame • Flag: 01111110 the same as HDLC, but it treated as a byte because of PPP is a byte-oriented protocol • Address: 11111111 (broadcast address) • Control: No need because PPP has no flow control and limited error control • PPP is a byte-oriented protocol using byte stuffing with the escape byte 01111101 Data Communications, Kwangwoon University 11-41 PPP: Transition States Data Communications, Kwangwoon University 11-42 PPP: Multiplexing • PPP uses another set of other protocols to establish the link, authenticate the parties, and carry the network layer data • Three sets of protocols defined for powerful PPP: LCP, two APs, several NCPs Data Communications, Kwangwoon University 11-43 LCP: Encapsulated in a Frame Data Communications, Kwangwoon University 11-44 LCP: Common Options • Options are inserted in the information field of the configuration packets Data Communications, Kwangwoon University 11-45 Authentication • Authentication means validating the identity of a user who needs to access • PPP is designed for use over dial-up links User authentication is necessary • PPP has two protocols for authentication – Password Authentication Protocol (PAP) – Challenge Handshake Authentication Protocol (CHAP) Data Communications, Kwangwoon University 11-46 Password Authentication Protocol (PAP) Data Communications, Kwangwoon University 11-47 Challenge Handshake Authentication Protocol (CHAP) • Three-way hand-shaking authentication protocol with greater security than PAP Data Communications, Kwangwoon University 11-48 Network Control Protocol: NCP • PPP is a multiple-network layer protocol. • It can carry a network data packet from protocols defined by the Internet, OSI, Xerox, DECnet, AppleTalk, Novel • IPCP (IP Control Protocol) – Configures the link used to carry IP packets in the Internet Data Communications, Kwangwoon University 11-49 IPCP Packet IP Datagram in a PPP frame Data Communications, Kwangwoon University 11-50 Multiple PPP Data Communications, Kwangwoon University 11-51 Example (1) Data Communications, Kwangwoon University 11-52 Example (2) Data Communications, Kwangwoon University 11-53