Computer Networks Module 3: Data Link Layer (Framing) Dr. Vikram Shete St. Francis Institute of...

Post on 03-Jan-2016

212 views 0 download

Tags:

Transcript of Computer Networks Module 3: Data Link Layer (Framing) Dr. Vikram Shete St. Francis Institute of...

Computer NetworksModule 3: Data Link Layer (Framing)

Dr. Vikram Shete

St. Francis Institute of Technology

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

Framing

• Fixed-size framing: ATM

• 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

Character-Oriented Protocols• Frame structure

• Byte stuffing: process of adding 1 extra byte whenever there is a flag or escape character in the text

Bit-Oriented Protocols• Frame structure

• Bit stuffing: process of adding one extra 0 whenever five consecutive 1s follow a 0 in the data

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)

Noiseless Channels: Simplest Protocol

• Simplest protocol with no flow or error control

Simplest Protocol• Sender-site algorithm

• Receiver-site algorithm

Simplest Protocol

Stop-and-Wait Protocol• Simple tokens of ACK and flow control added

Stop-and-Wait Protocol• Sender-site algorithm

• Receiver-site algorithm

Stop-and-Wait Protocol

Stop-and-Wait Protocol: Example

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.

Stop-and-Wait ARQ

• Sender-site algorithm

Stop-and-Wait ARQ

Stop-and-Wait ARQ

Stop-and-Wait ARQ• Receiver-site algorithm

Stop-and-Wait ARQ: Example

Stop-and-Wait ARQ: Sequence Number

• Sequence no. starts from 0 and goes to 2m-1 and then repeats

Eg: Given bandwidth is 1Mbps and 1 bit round trip time is 20 ms. Frame size is 1000 bits. What is the BW – Delay product? What is % utilization of the link?

"I want to help create a world where humans and robots can live together,“ ~ Kirobo

Go-Back-N ARQ

• Pipelining improves the efficiency of the transmission

• 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.

Go-Back-N ARQ

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.

Go-Back-N ARQ• Sliding windows, Timers, ACK, Resending a frame

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

Go-Back-N ARQ: Send Window Size

Go-Back-N ARQ: Sender Algorithm

Go-Back-N ARQ: Receiver Algorithm

Go-Back-N ARQ: Example 1

Go-Back-N ARQ: Example 2

Selective Repeat ARQ• Sender window size

• Receive window size

Selective Repeat ARQ

Selective Repeat ARQ: Window Size

• The size of the sender and receiver window must be at most one-half of 2m

Selective Repeat ARQ: Sender-Site Algorithm

Selective Repeat ARQ: Receiver-Site Algorithm

Selective Repeat ARQ: Example

Piggybacking• To improve the efficiency of the bidirectional protocols• Piggybacking in Go-Back-N ARQ

HDLC• High-level Data Link Control• Two common transfer mode: normal response mode (NRM) and

asynchronous balanced mode (ABM)

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

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)

HDLC: Frames• Control field for S-frame• Receive ready (RR), Receive not ready (RNR), Reject (REJ) Selective

reject (SREJ)

HDLC: Frames• Control field for U-frame

HDLC: Example 1• Connection and disconnection

HDLC: Example 2• Piggybacking without error

HDLC: Example 3• Piggybacking with error

HDLC: Bit Stuffing and Unstuffing

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

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

PPP: Transition States

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

LCP: Encapsulated in a Frame

LCP: Common Options

• Options are inserted in the information field of the configuration packets

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)

Password Authentication Protocol (PAP)

Challenge Handshake Authentication Protocol (CHAP)

• Three-way hand-shaking authentication protocol with greater security than PAP

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

IPCP Packet

IP Datagram in a PPP frame

Multiple PPP

Example (1)

Example (2)