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

Week 3

The document provides details about a computer networks course including the instructor's contact information, recommended course materials and textbooks, and an outline of topics to be covered such as data link layer purposes and functions, packet and frame transmission, error control protocols, and data link layer services including acknowledged and unacknowledged connection-oriented and connectionless services.
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
12 views

Week 3

The document provides details about a computer networks course including the instructor's contact information, recommended course materials and textbooks, and an outline of topics to be covered such as data link layer purposes and functions, packet and frame transmission, error control protocols, and data link layer services including acknowledged and unacknowledged connection-oriented and connectionless services.
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 39

1

CSC- 362 Computer Networks


Week-3 Lecture-5 &6
2
Instructor Contact Details

 Name: Mr. Attique Ur Rehman


 Course Instructor: CSC362- Computer Networks
 Credit Hours: (3+1)=4
 Office Location: 2nd Floor Computer Science Faculty Office:
41-C
 Email: [email protected]
 Visiting Hours: Wednesday (11:30 am -1:00 pm)

Lahore Garrison University


3
Course Material

 Reference books
 Many textbooks on Networking may be consulted
 Research papers!
 RFCs and Internet drafts
 Related to TCP/IP suite and other protocols
 Web resources
 Tutorials, white papers, reports, etc.

Lahore Garrison University


4
Text Book

 Computer Networks: A Systems Approach by Larry L. Peterson and Bruce S. Davies.


 Third Edition [2003], Morgan Kaufmann Publishers, San Mateo, California, USA
 Computer Networks by Andrew S. Tanenbaum
 Fifth Edition
 Data Communication and Computer Networks, by Behrouz A. Forouzan
 5th Edition
 Data and Computer Communications by William Stallings
 10th Edition
 Computer Networking: A Top-Down Approach Featuring the Internet by James F. Kurose and
Keith W. Ross
 6th edition

Lahore Garrison University


5
Outline

Data Link Layer


 Purpose of the DLL
 Elementary Data Link Protocols
 Framing
6
LAYER 2: Data Link Layer

 Concerned with
 Framing
 Physical addressing
 Network access / Access control
 Error control
 error notification,
 error free (CRC)
 Ordered delivery of frames
 Flow control.

03/20/24
7
Purpose of the DLL

 Totransfer blocks of data without error between two


adjacent devices
 connected by a communication channel conceptually act like wire (telephone
lines, coaxial cables, optical fibres, satellites, point to point wireless channel).
 The implication of such a physical link (wire like
channel) is that the data bits are delivered in exactly
the same order in which they are sent.
8
Purpose of the DLL

 The physical link has no inherent storage capacity, therefore the


delay involved is the propagation delay over the link.
 Transmission of data over the link would be very simple indeed if
no error ever occurred
 Unfortunately, this is not so in a real physical link
 Natural phenomena such as noises and interference are introduced
into the link causing errors in detecting the data.
9
Purpose of the DLL

 There is a finite data processing time required by the


transmitting and receiving stations.
A communication links have following limitations
 makes errors occasionally
 Have a finite data rate
 There is nonzero propagation delay
10
Functions of DLL

 The data link layer has three specific functions:


1. Provide a well-defined interface to the network layer.
2. Deal with transmission errors.
3. Regulate the flow of data (so that slow receivers are not overloaded).
11
The DLL (cont’d)

 The Data Link Layer sits between the Network Layer and the Physical Layer.
 The DLL provides an interface for the Network Layer to send information from one
machine to another.
 The function of DLL is to provide services to the network layer.
Data Flow 12
13
How data is moved.

 The DLL is responsible for taking the packets of information that it receives from
the Network Layer and putting them into frames for transmission.
 Each frame holds the payload plus a header and a trailer (overhead).
 It is the frames that are transmitted over the physical layer.
14
Packets and Frames
15

Why protocols required at DLL?


16
Requirements of the DLL Protocols

 To ensure an error-free transmission

 To achieve an efficiency of the data transfer as high as possible


17
Function of the DLL Protocols

The protocol (control mechanism) should be capable of performing:


 The identification of a frame (i.e. recognize the first and last bits of a frame).
 The transmission of frames of any length up to a given maximum. Any bit
pattern is permitted in a frame.
 The detection of transmission errors.
 The retransmission of frames which were damaged by errors.
 The assurance that no frames were lost.
 In a multidrop configuration
 Some mechanism must be used for preventing conflicts caused by
simultaneous transmission by many stations.
 The detection of failure or abnormal situations for control and monitoring
purposes.
18
DLL Services

 The Data Link Layer can offer many different services.


 These services can vary from system to system.
 Common services:
 Unacknowledged connectionless service.
 Acknowledged connectionless service.
 Acknowledged connection-oriented service.
19
Unacknowledged Connectionless
Service
 No acknowledgement from the receiving machine.
 No logical connection is set up between the two machines.
 The DLL will make no attempt to detect the loss of or recover a lost frame.
 This service is useful for low error rate networks and for real-time traffic where late
data is worse than no data.
20
Acknowledged Connectionless Service

 The receiver acknowledges the arrival of each frame.


 If it hasn’t arrived correctly (or within the correct time) it can be resent.
 This is a useful service when the connection is unreliable (such as wireless)
 There is no requirement for such an acknowledgement service to be implemented
by the Data Link Layer.
Acknowledged Connection-Oriented21
Service
 A connection is established between the two machines.
 The frames are then transmitted and each frame is acknowledged.
 The frames are guaranteed to arrive only once and in order.
 This is the same as a “reliable” bit stream.
 The connection is released once the communication is complete.
22
Extra DLL Features

 The DLL does not have to implement the acknowledged connectionless service –
the error handling can be managed at the network layer.
 It is an optimization at the DLL because it requires only retransmitting a frame only
– not a whole message.
 This speeds up the sending of larger messages on poor networks.
23
Framing

 Breaks continuous stream/sequence of bits into a frame and demarcates units of


transfer
 Typically implemented by network adaptor
 Adaptor fetches/deposits frames out of/into host memory

Node A Adaptor Bits Adaptor Node B

Frames
24
Advantages of Framing

• Synchronization recovery
– consider continuous stream of unframed bytes
• Multiplexing of link
– multiple hosts on shared medium
– simplifies multiplexing of logical channels
• Efficient error detection
– frame serves as unit of detection (valid or invalid)
– error detection overhead scales as log N
25
Problem … ?

Recognizing exactly the boundaries of a frame


Must determine the first and last bit of a frame
26
How are Frames sent?

 The Physical Layer is only able to put a raw bit stream on


the transmission media.
 DLL needs to pack bits into frames, so that each frame
can be distinguishable from another.
 Putting spaces between the frames won’t work as we
can’t guarantee that the spaces will stay.
 Need to look at other methods of denoting the start and
finish of a frame.
27
Framing Methods

1. Character count.
2. Flag bytes with byte stuffing
3. Starting and ending flags, with bit stuffing
4. Physical layer coding violations
28
Character Count

 Uses a field in the header to specify the number of


characters in the frame.
 This method can cause problems if the count is garbled in
transit.
 The receiver will be able to tell the frame is bad (due to a
bad checksum)
 The receiver will not know where to pick up and the
sender will not know how much to resend.
 This method is rarely used anymore.
Character Count Example 29
30
Character Count

 e.g., DDCMP (byte-oriented, variable-length)


 e.g. RS-232 (bit-oriented, implicit fixed length)
8 8 8 14 42 16

SYN SYN Class Length Header Body CRC

 Problem: count field corrupted


 Solution: catch when CRC fails
 Include payload length in header
31
Flag Bytes

 Frames begin and end with special bytes.


 Often used are the same start/end flag.
 If the receiver gets “lost” synchronization, it just looks for a pair of flag bytes to
denote the end of one frame and the start of the next.
32
Flag Bytes

• End of frame: special byte or bit pattern


• Choice of end of frame marker
– valid data byte or bit sequence e.g. 01111110
– physical signal not used by valid data symbol

8 16 16 8

Beginning Ending
Header Body CRC
sequence sequence
33
We use Byte Stuffing!

 Problem: What happens if the “flag” byte is


accidentally transmitted in the message?
 Solution: “Byte stuffing”
 “Byte stuffing” is the process of putting an “ESC”ape
character in front of any accidentally occurring
FLAG in a message.
 This is sometimes referred to as character stuffing.
 What happens if an ESC accidentally occurs in a
message? We ESC that too!
34
Example of Byte Stuffing

Byte stuffing is the process of adding 1 extra byte whenever there is a flag or escape
character in the text.
35
Example of Byte Stuffing and Unstuffing
36
Bit Stuffing

 Problem: If two machines communicating where one uses 8-bit characters


and one uses 16-bit characters than ?
 Solution: We stuff bits instead of bytes.
 sender: insert 0 after five consecutive 1s
 receiver: delete 0 that follows five consecutive 1s

x 1 1 1 1 1 0 x 1 1 1 1 1 0

Node A Node B

x 0 1 1 1 1 1 0 x 0 1 1 1 1 1 0
37
Bit Stuffing

Bit stuffing is the process of adding one extra 0


whenever five consecutive 1s follow a 0 in the data, so
that the receiver does not mistake
the pattern 0111110 for a flag.
38
Example of Bit Stuffing and Unstuffing
39
Physical layer coding violations

 Most DLL protocols use a combination of character count with another method for
extra safety. This increases the chances of catching an error.

You might also like