Lecture 4 - Data Link 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
Based on automatic repeat request, which is the retransmission of data
Receive Window Rn
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. Everything AROUND it is as follows, up to it are frames already received and ACKed. After it are frames that cannot be received until the window slides. Only frame(s) inside the receive window can be accepted by the receiver.
N(R)
Acknowledge number (piggybacking is used)
Selective Repeat Protocol
Attempts to retransmit only those frames that are actually lost (due to errors) -Receive must be able to accept frames out of order ->receive window size is more than one. -Since receiver must release frames to higher layer in order, the received must be able to buffer some frames. Ssize=2^(m-1) Rsize =2^(m-1) When a frame not Rn is received, if the sequence number is within the receiver window then it is considered an out-of-order frame; otherwise, it is considered a duplicate frame.
ARQ
Automatic Repeat reQuest
Protocols
Combine framing, flow control and error control to achieve the delivery of data from one node to another. For noiseless channel: simplest, stop-and-wait For noisy channel: Stop-and-Wait ARQ, Go-Back-N ARQ, Selective Repeat ARQ
Internet Protocol Control Protocol (IPCP) packets
Configure the link used to carry IP packets in the Internet
Bit-oriented Protocol
Data are a sequence of bits (which can be interpreted as text, graphic, audio, video, etc.)
Framing
Data link layer needs to pack bits into frames, so that each frame is distinguishable from another. Our postal system practices a type of framing. The simple act of inserting a letter into an envelope separates one piece of information from another; the envelope serves as the delimiter.
Asynchronous Balanced Mode
Each station can function as primary and secondary (acting as peers). Common mode today.
Stop-and-Wait ARQ details
Error Correction Done by keeping a copy of the sent frame and retransmitting the frame when the timer expires Frames Use sequence numbers to number the frames. The sequence numbers are based on modulo-2 arithmetic Acknowledgement # Always announces in modulo-2 arithmetic the sequence # of the next frame expected
Link Control Protocol (LCP)
Establish, maintain, configure, and terminate links. All in Payload LCP Packet: Code-ID-Length-Information
Point-to-Point Protocol (PPP) NOT ON TEST
Flag-Address-Control-Protocol-Payload-FCS-Flag Byte oriented, both address and control fields have constant values No flow control Only error detection Protocol:defines what is carried in the data field; either user data or other info
HDLC Frams
Flag-Address-Control-User Info-FCS-Flag : I-Frame (information) Flag-Address-Control-FCS-Flag: S-Frame (Supervisory, to transport control info) Flag-Address-Control-Management Info-FCS-Flag: U-Frame (unnumbered for system management)
FCS
Frame Check Sequence 16 or 32-bit CRC
Control Field Format for the different frame types
I- 0| | | |P/F| | | | N(S) N(R) S- 1|0| | |P/F| | | | Code N(R) U- 1|1| | |P/F| | | | Code Code P/F is used in normal response mode
Noiseless Channels
Ideal channel, no frames lost, duplicated, or corrupted.
Simplest Protocol
Just send the frame. Wait forever for a request and then send the packet. Receiver receives frame, extracts the data and delivers it to network layer.
Variable-size Framing
Need to define the beginning and end of a frame
Fixed-size Framing
No need for defining the boundary. The size itself can serve as a delimiter. Ex. ATM Network
Normal Response Mode
Point-to-point: command from primary, response from secondary Multipoint: Command from primary, response from 2 secondaries. Unbalanced. Secondary stations can only respond.
High-level Data Link Control HDLC
Protocol for communication over point-to-point and multipoint links (but is now used almost exclusively to connect one device to another). It implements the ARG mechanisms.
Sf
Send window, first outstanding frame
Sn
Send window, next frame to send
Stop-and-Wait Protocol
Sender Send first frame. Wait until ack received. Receive ACK. Receiver Wait for data frame. Receive data frame (deliver to network layer), send an ACK Is a special case of Go-Back-N ARQ in which the size of the send window is 1.
N(S)
Sequence number of a frame. 3 bits for regular, 7 bits for extended
m
Size of the sequence number field in bits
ESC
Special purpose: indicate the next character is not a frame delimiter Indicate the next ESC is not for special purpose (when two in a row)
Selective Repeat ARQ
Ssize must be at most one-half 2^m Two conditions for the delivery of frames to the network layer: First, a set of consecutive frames must have arrived; Second, the set starts from the beginning of the window. NAKs sent are remembered and not sent multiple times to avoid crowding the network with unnecessary NAKs and resent frames. A NAK is sent once for each window position and defines the first slot in the window. NAK is to explicitly tell the sender that a particular frame is lost. ACKs are sent when data is delivered to the network layer.
Send Window Size
The maximal number of outstanding frames allowed. Can slide one or more slots when a valid ACK arrives.
Flow and Error Control
The most important responsibilities of the data link layer. Collectively, these functions are known as data link control.
S-Frame
Used for flow and error control whenever piggybacking is either impossible or inappropriate. For example, if Code is 10, it means Receiver not ready (RNR). This is to acknowledge the receipt of a frame or groups of frames, and announce that the received is busy and cannot receive more frames. If the Code is 00, it means Receive Ready (RR)
Byte Stuffing
The process of adding 1 extra byte whenever there is a flag or escape character in the text.
Bit Stuffing
The process of adding one extra 0 whenever five consecutive 1s are in the data. At the receiver: if five consecutive 1s are followed by a 0 bit, the unstuff the 0 bit. (turn the 0 into a 1)
G0-Back-N Protocol
The sequence numbers are modulo 2^m, 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 (2^m)-1 with three variables: Sf, Sn, and Ssize. Ssize must be less than 2^m; the size of the receiver window is always 1. Ssize=(2^m)-1
Piggybacking
Used to improve efficiency in bidirectional protocols. When station A sends a frame to station B, the frame also carries control info about arrived (or lost) frames from station B.
Password Authentication Protocol (PAP) packets
User who wants to access a system sends an authentication identification (usually the user name) and a password; the system checks the validity of both and either accepts or denies connection