0% found this document useful (0 votes)
16 views

11 DataLink

The document discusses data link layer framing, flow control, error control, and data link protocols. It describes byte stuffing and bit stuffing techniques, stop-and-wait ARQ, go-back-N ARQ, and selective repeat ARQ protocols. It also covers HDLC and PPP data link control protocols.

Uploaded by

Mallika
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
16 views

11 DataLink

The document discusses data link layer framing, flow control, error control, and data link protocols. It describes byte stuffing and bit stuffing techniques, stop-and-wait ARQ, go-back-N ARQ, and selective repeat ARQ protocols. It also covers HDLC and PPP data link control protocols.

Uploaded by

Mallika
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 71

Data Link Layer:

Data Link Control

01204325: Data Communication


and Computer Networks

Asst. Prof. Chaiporn Jaikaeo, Ph.D.


[email protected]
http://www.cpe.ku.ac.th/~cpj
Computer Engineering Department
Adapted from lecture slides by Behrouz A. Forouzan Kasetsart University, Bangkok, Thailand
© The McGraw-Hill Companies, Inc. All rights reserved
Outline
 Framing
 Byte vs. bit oriented protocols
 Data Link Control
 Flow control
 Error control
 Protocols

2
Framing
 Process of wrapping data with certain info before
sending out

 A frame typically consists of


 Flag: indication for start and end of a frame
 Header: source/destination addresses, as well as other
control information
 Data from the upper layer
 Trailer: error detection/correction code

3
Byte vs. Bit Oriented
 Framing in byte-oriented protocols

 Framing in bit-oriented protocols

4
Byte Stuffing
 Process of adding extra byte whenever there is
an escape or a flag character in the data

5
Bit Stuffing
 Process of adding extra bit to ensure flag
sequence does not appear in the data

01111110

6
Flow Control and Error Control
 Flow control
 A set of procedures that tells the sender how
much data can be sent before waiting for
acknowledgment
 Error control
 Includes both error detection and correction
 Allows receiver to inform sender of lost or
duplicate frames
 Mostly based on Automatic Repeat Request
(ARQ)

7
Data Link Protocols

8
Protocols for Noiseless Channel
 Assuming channel is error free
 Not realistic…
 No need for error control

9
"Simplest" Mechanism
 Assuming
 Noiseless channel
 Unlimited buffer and speed for the receiver

10
"Simplest" : Pseudo Code
 Sender

 Receiver

11
"Simplest": Flow Diagram

12
Stop-and-Wait Mechanism
 Still noiseless channel
 Receiver has limited buffer
 Requires flow control
 Sender sends one frame at a time and
wait for an acknowledgment

13
Stop-and-Wait: Overview

14
Stop-and-Wait: Pseudo Code
 Sender side

15
Stop-and-Wait: Pseudo Code
 Receiver side

16
Stop-and-Wait: Flow Diagram

17
Noisy Channel
 Realistic
 Error can and will happen
 Require error control
 Mechanisms:
 Stop-and-Wait ARQ
 Go-Back-N ARQ
 Selective Repeat ARQ

18
Stop-and-Wait ARQ
 Sender keeps a copy of sent frame until
successful delivery is ensured
 Receiver responds with an ack when it
successfully receives a frame
 Both data and ack frames must be
numbered
 When sender does not receive an ack
within certain time, it assumes frame is
lost, then retransmits the same frame.

19
Stop-and-Wait ARQ

20
Flow Diagram: Normal Operation
Sender Receiver

S=0 R=0
Deliver

S=1 R=1

Deliver
R=0

Time Time

21
 Thinking Corner
 Why data frames need to be numbered?

22
Flow Diagram: Lost Frame
Sender Receiver

S=0 R=0
Deliver

S=1 R=1

Timeout

Deliver
R=0

Time Time
23
Flow Diagram: Lost ACK
Sender Receiver

S=0 R=0
Deliver

S=1 R=1

Deliver

Timeout S=1
R=0
Frame 0 expected;
discard

R=0
S=0

Time Time
24
 Thinking Corner
 Why ACK frames need to be numbered?

25
Flow Diagram: Delayed ACK
Sender Receiver

S=0 R=0
Deliver

Timeout
R=1
Frame 0 expected;
discard
S=1
R=1
Timeout

Deliver
R=0
S=0
26
Bidirectional Transmission
 Data are transferred both ways
 ACK are "piggybacked" with data frames

27
Example
 Assuming a communication system where:
 Stop-and-Wait ARQ is used
 Bandwidth of the link is 1 Mbps
 Propagation delay is 10 ms
 One-way data flow
 Questions
 What should be an appropriate time-out value?
 What is the bandwidth-roundtrip-delay product?
 If the system data frames are 1000 bits in length,
what is the utilization percentage of the link?

28
Improving Link Utilization
 Previous example demonstrates major
disadvantage of Stop-and-Wait ARQ
 Prefer to send more frames before waiting
for ACK
 Example:
 Recalculate the link utilization if we allow up
to 15 frames to be sent before waiting for an
ACK

29
Go-Back-N ARQ
 Allows multiple frames to be sent before
waiting for ACK
 These frames must be numbered differently
 Frame numbers are called Sequence numbers
 Frames must be received in the correct
order
 If a frame is lost, the lost frame and all of
the following frames must be
retransmitted

30
Sequence Numbers
 Frame header contains m bits for
sequence number
 That allows up to 2m different frame
numbers
 How big should m be?

31
Sending Window
 Sending more than one frame at once requires
sender to buffer multiple frames
 Known as "sending window"
 Any of these frames in the window can be lost

32
"Sliding" Window
 Once the first frames in the window is ACKed
 ACKed frames are removed from the buffer
 More frames are transmitted
 Result: The window slides to the right

33
Receiving Window
 Receiver expects one frame at a time

34
Send vs. Receive Windows

35
Go-Back-N: Window Sizes
 For m-bit sequence numbers
 Send window size: at most 2m-1
 Up to 2m-1 frames can be sent without ACK
 Receive window size: 1
 Frames must be received in order

36
Go-Back-N: Normal Operation

37
Go-Back-N: Lost Frame

ACKs are
cumulative

38
Lost ACK: Window Size < 2 m

39
 Thinking Corner
 What is a problem if send window is
greater than 2m-1?

40
Lost ACK: Window Size = 2 m

41
 Thinking Corner
 Stop-and-Wait is a special case of Go-
Back-N.
 What is the send window size in Stop-and-
Wait?

42
Selective Repeat ARQ
 Go-Back-N always discards out-of-order
frames
 Losing one frame may result in retransmission
of multiple frames
 Very inefficient in noisy link
 Selective Repeat ARQ allows frames to be
received out of order
 Therefore, receive window > 1

43
Send and Receive Windows
 Sender and receiver share window space
equally
 For m-bit sequence numbers
 Send window: up to 2m-1
 Receive window: up to 2m-1

44
Send Window

45
Receive Window

46
Negative ACK
 Used by receiver to indicate missing frame

47
Selective Repeat: Window Size

48
Data Link Control Protocols:
HDLC and PPP
HDLC
 High-level Data Link Control
 Bit-oriented protocol
 Support both
 Point-to-point links
 Multipoint links

50
Normal Response Mode
 "NRM" mode
 Used in both point-to-point and multi-point link

51
Asynchronous Balance Mode
 "ABM"
 Supports only point-to-point links
 Each station is both primary and
secondary

52
HDLC Frames
 Information frame (I-frame)

 Supervisory frame (S-frame)


Frame Check Sequence
(error detection code)

 Unnumbered frame (U-frame)

53
Control Field Format

 N(S) – Frame sequence number


 N(R) – Ack sequence number
 P/F
 Poll (primary  secondary)
 Final (secondary  primary)

54
U-Frame Codes

55
Connection and Disconnection

56
Data Transfer: No Error

57
Data Transfer: With Error

58
PPP
 Point-to-Point Protocol
 Byte-oriented protocol
 Most common protocol for point-to-point
access
 Dial-up access
 ADSL
 GPRS/EDGE/3G

59
PPP Frame Format

 Escape byte: 01111101


 Control field uses HDLC's U-frame format
 No flow or error control

60
PPP Transition States

61
Multiplexing in PPP

62
PPP Stack
 Link Control Protocol (LCP)
 Authentication Protocol (AP)
 Network Control Protocol (NCP)

63
LCP: Link Control Protocol
 Responsible for establishing, maintaining,
configuring, and terminating links

64
PPP Authentication
 Two protocols are supported:
 Password Authentication Protocol (PAP)
 Challenge Handshake Authentication Protocol
(CHAP)

65
PAP

66
CHAP

67
NCP: Network Control Protocol
 A set of control protocols to allow data from the
network layer to be encapsulated into a PPP
frame
 One common protocol: IPCP
(Internetwork Protocol Control Protocol)
 Allow negotiation at the network layer

68
Data Encapsulation

69
Example: PPP Session

70
Example: PPP Session (cont'd)

71

You might also like