LWANSlides3

advertisement
The Data Link Layer
Functions of the Data Link Layer
•
•
Provide service interface to the network layer
Dealing with transmission errors
•
•
•
•
Error detection and correction codes
Positive and negative acknowledgements
Timers
Regulating data flow
•
Slow receivers not swamped by fast senders
Functions of the Data Link Layer
Relationship between packets and frames.
Services Provided to Network Layer
(a) Virtual communication.
(b) Actual communication.
Services Provided to Network Layer
Placement of the data link protocol.
Data Link Layer Services
•
•
•
Unacknowledged connectionless service
Acknowledged connectionless service
Acknowledged connection-oriented service
Frame Delimiting
•
•
•
•
Character count
Flag bytes with byte stuffing
Starting and ending flags, with bit stuffing
Physical layer coding violations.
Framing
A character stream. (a) Without errors. (b) With one error.
Framing
(a) A frame delimited by flag bytes.
(b) Four examples of byte sequences before and after stuffing.
Framing
Bit stuffing
(a) The original data.
(b) The data as they appear on the line.
(c) The data as they are stored in receiver’s memory after destuffing.
Error Detection and Correction
• Error-Correcting Codes
• Error-Detecting Codes
Error Probability
Pe  P( X  0)  p( N  Yth  Y0 ) 
 P( X  1)  p( N  Yth  Y1 )
Hamming Distance
• Hamming distance between codewords X and
Y, is the number of ones in X  Y
• The number of detected error is d if d+1 is the
minimum Hamming distance between two codes.
• The number of detected error is d if 2d+1 is the
minimum Hamming distance between two codes.
Error Correction
• Codeword Y is calculated from generation
matrix G, and block of data X:
Y=XG=[x1,x2,…,xm]·G
• At the receiver side the syndrom is found that
detects and correct an error using check parity
matrix H:
S=YHT
Error correction
• For generation and parity check matrices it
should hold
GHT=0
• If
G=[In-k|P]
Then
H=[-PT|Ik]
• Here I is unity matrix, n is the codeword
length, and n-k is the data block length
Error correction: Hamming Code
• In Hamming code the codeword length is 2m-1,
the number of added bits is 2m-1-m-1
• Parity check matrix comprises all possible
column vectors. For example for m=3
0 0 0 1 1 1 1
  0 1 1 0 0 1 1
1 0 1 0 1 0 1
Hamming Code
Use of a Hamming code to correct burst errors.
Hamming Code: Exercise
• Decode the bit-stream coded by Hamming
code: 111100011001110010110
Hamming Code: Solution
• Correct the bit-stream coded by Hamming
code: 111100011001110010110
0
0

1 1 1 1 0 0 0 0
1 1 0 0 1 1 1  1

 
0 0 1 0 1 1 0 1

1
1

0 1
1 0
1 1 1 0 0

0 0  1 1 1
0 1 0 0 0

1 0
1 1
• Correct stream is 111000011001100010110
Hamming Code: Exercise
• Find the generation matrix for Hamming code
(7,4), and encode bit stream 001011100.
Hamming Code: Solution
• Find the generation matrix for Hamming code
(7,4), and encode bit stream 001011100.
1
0
G
1

1
1 0 1 0 0 1
1 0 1 0 1 0
1 1 0 0 0 0

0 0 1 1 0 0
Error Detection Code: CRC
• Data block and codeword represented by
polynomials.
• If data block is X(x)=b0+b1x+…+bm-1xm-1,
codeword is Y(x)=X(x)xk-mod(X(x), G(x)), where
G(x) is a generator polynomial.
• At the receiver side, codeword polynomial is
divided by G(x). If the reminder is non-zero, an
error is detected.
Error-Detecting Codes
Calculation of the polynomial code checksum.
Elementary Data Link Protocols
•
•
•
An Unrestricted Simplex Protocol
A Simplex Stop-and-Wait Protocol
A Simplex Protocol for a Noisy Channel
Protocol Definitions
Continued 
Some definitions needed in the protocols to follow.
These are located in the file protocol.h.
Protocol
Definitions
(ctd.)
Some definitions
needed in the
protocols to follow.
These are located in
the file protocol.h.
Unrestricted
Simplex
Protocol
Simplex
Stop-andWait
Protocol
A Simplex Protocol for a Noisy Channel
A positive
acknowledgement
with retransmission
protocol.
Continued 
A Simplex Protocol for a Noisy Channel (ctd.)
A positive acknowledgement with retransmission protocol.
Sliding Window Protocols
• A One-Bit Sliding Window Protocol
• A Protocol Using Go Back N
• A Protocol Using Selective Repeat
Sliding Window Protocols (2)
A sliding window of size 1, with a 3-bit sequence number.
(a) Initially.
(b) After the first frame has been sent.
(c) After the first frame has been received.
(d) After the first acknowledgement has been received.
A One-Bit Sliding Window Protocol
Continued 
A One-Bit Sliding Window Protocol (ctd.)
A One-Bit Sliding Window Protocol (2)
Two scenarios for protocol 4. (a) Normal case. (b) Abnormal case.
The notation is (seq, ack, packet number). An asterisk indicates
where a network layer accepts a packet.
A Protocol Using Go Back N
Pipelining and error recovery. Effect on an error when
(a) Receiver’s window size is 1.
(b) Receiver’s window size is large.
Sliding
Window
Protocol
Using Go
Back N
Continued 
Sliding Window Protocol Using Go Back N
Continued 
Sliding Window Protocol Using Go Back N
Continued 
Sliding Window Protocol Using Go Back N
Sliding Window Protocol Using Go Back N (2)
Simulation of multiple timers in software.
A Sliding Window Protocol Using Selective Repeat
Continued 
A Sliding Window Protocol Using Selective Repeat (2)
Continued 
A Sliding Window Protocol Using Selective Repeat (3)
Continued 
A Sliding Window Protocol Using Selective Repeat (4)
A Sliding Window Protocol Using Selective Repeat (5)
(a) Initial situation with a window size seven.
(b) After seven frames sent and received, but not acknowledged.
(c) Initial situation with a window size of four.
(d) After four frames sent and received, but not acknowledged.
Protocol Verification
• Finite State Machined Models
• Petri Net Models
Finite State Machined Models
(a) State diagram for protocol 3. (b) Transmissions.
Petri Net Models
A Petri net with two places and two transitions.
Petri Net Models (2)
A Petri net model for protocol 3.
Example Data Link Protocols
• HDLC – High-Level Data Link Control
• The Data Link Layer in the Internet
High-Level Data Link Control
Frame format for bit-oriented protocols.
High-Level Data Link Control (2)
Control field of
(a) An information frame.
(b) A supervisory frame.
(c) An unnumbered frame.
The Data Link Layer in the Internet
A home personal computer acting as an internet host.
PPP – Point to Point Protocol
The PPP full frame format for unnumbered mode operation.
PPP – Point to Point Protocol (2)
A simplified phase diagram for bring a line up and down.
PPP – Point to Point Protocol (3)
The LCP frame types.
Download