Data-link Layer and Protocols
Download
Report
Transcript Data-link Layer and Protocols
NETE0510
Data-link Layer and Protocols
Dr. Supakorn Kungpisdan
[email protected]
NETE0510: Communication Media and Data
Communications
1
Outline
Encoding Techniques
Data Link Layer Fundamental
Direct-link Protocols
BSC, DDCMP, HDLC, PPP
NETE0510: Communication Media and Data
Communications
2
Signal Encoding Techniques
NETE0510: Communication Media and Data
Communications
3
Encoding Schemes
NETE0510: Communication Media and Data
Communications
4
Bit rate and Baud rate
Bit rate or data rate: number of bits transmitted
over a period of time (bit per second)
Baud rate: number of symbols transmitted over
a period of time (baud per second)
NETE0510: Communication Media and Data
Communications
5
Nonreturn to Zero-Level (NRZ-L)
two different voltages for 0 and 1 bits
voltage constant during bit interval
no transition I.e. no return to zero voltage
such as absence of voltage for zero (0 V), constant
positive voltage for one (+5V)
more often, negative voltage (-5 V) for one value and
positive (+5 V) for the other
NETE0510: Communication Media and Data
Communications
6
Problems of NRZ-L
Long sequence of 0s or 1s signal leads to “baseline
wander”
Receiver maintains baseline of detecting 0 or 1
Too many 0s or 1s cause this baseline to change
Clock synchronization
Frequent transitions of signals are necessary to enable clock
recovery
Every clock cycle the sender transmits a bit and the receiver
recovers a bit
Slightly difference in clocks at either sender and receivers may
cause a problem
NETE0510: Communication Media and Data
Communications
7
Nonreturn to Zero Inverted (NRZI)
nonreturn to zero inverted on ones
constant voltage pulse for duration of bit
data encoded as presence or absence of signal
transition at beginning of bit time
transition (low to high or high to low) denotes binary 1
no transition denotes binary 0
example of differential encoding since have
data represented by changes rather than levels
more reliable detection of transition rather than level
easy to lose sense of polarity
NETE0510: Communication Media and Data
Communications
8
Manchester Encoding
has transition in middle of each bit period
transition serves as clock and data no need to send clock
low to high represents one (1), high to low represents zero (0)
used by IEEE 802.
Both 0s and 1s result in a transition to the signal, the clock
can be effectively recovered at the receiver
NETE0510: Communication Media and Data
Communications
9
Differential Manchester Encoding
midbit transition is clocking only
transition at start of bit period representing 0
no transition at start of bit period representing 1
this is a differential encoding scheme
used by IEEE 802.5 (Token Ring)
NETE0510: Communication Media and Data
Communications
10
Problems of Manchester Encoding
Double the rate at which signal transition are
made on the link the receiver has half the
time to detect each pulse of the signal.
Bit rate is half of baud rate encoding is only 50%
efficient
NETE0510: Communication Media and Data
Communications
11
4B/5B
Used together with other encoding techniques
Used in 100Base-TX transmission
The idea is to insert extra bits into the bit stream so as to
break up long sequences of 0s and 1s
Every 4 bits of actual data are encoded in a 5-bit code
4B/5B
Each 5-bit code has no more than one leading 0s and no
more than two trailing 0s.
No pair of 5-bit codes results in more than three
consecutive 0s
Then the 5-bit codes are then transmitted using the NRZI
encoding
NRZI already solved the problem of consecutive 1s so 4B/5B
results in 80% efficiency
NETE0510: Communication Media and Data
Communications
12
Outline
Encoding Techniques
Data Link Layer Fundamental
Direct-link Protocols
BSC, DDCMP, HDLC, PPP
NETE0510: Communication Media and Data
Communications
13
Data Link Layer
Because of transmission errors, or because the receiver
may need to regulate data rate, it is necessary to have a
layer of control communication devices
Need layer of logic above Physical to manage exchange
of data over a link
Frame synchronization: beginning and end of each frame
must be recognizable
Flow control: sender must not send frames at a rate faster
that the receiver can absorb them
Error control: correct bit errors
Addressing: identify involving communication parties
Control and data: receiver can distinguish control
information from transmitted data
Link management: initiation, maintenance, and termination
NETE0510: Communication Media and Data
Communications
14
Flow Control
ensure sending entity does not overwhelm
receiving entity
by preventing buffer overflow
influenced by:
transmission time
time taken to emit all bits into medium
propagation time
time for a bit to traverse the link
NETE0510: Communication Media and Data
Communications
15
Stop and Wait
source transmits frame
destination receives frame and replies with
acknowledgement (ACK)
source waits for ACK before sending next
destination can stop flow by not send ACK
works well for a few large frames
Stop and wait becomes inadequate if large block
of data is split into small frames
NETE0510: Communication Media and Data
Communications
16
Sliding Windows Flow Control
allows multiple numbered frames to be in transit
receiver has buffer W long
transmitter sends up to W frames without ACK
ACK includes number of next frame expected
sequence number is bounded by size of field (k)
frames are numbered modulo 2k
giving max window size of up to 2k - 1
must send a normal acknowledge to resume
Piggybacking: insert acknowledgement number field in
data frame so that a frame can contain both sequence
number and ACK numbers
NETE0510: Communication Media and Data
Communications
17
Sliding Window Diagram
NETE0510: Communication Media and Data
Communications
18
Error Control
detection and correction of errors such as:
lost frames
damaged frames
common techniques use:
error detection
positive acknowledgment (ACK)
retransmission after timeout
negative acknowledgement (NAK) & retransmission
NETE0510: Communication Media and Data
Communications
19
Automatic Repeat Request (ARQ)
collective name for such error control
mechanisms, including:
stop and wait
go back N
selective reject (selective retransmission)
NETE0510: Communication Media and Data
Communications
20
Stop and Wait
source transmits single frame
wait for ACK
if received frame damaged, discard it
transmitter has timeout
if no ACK within timeout, retransmit
if ACK damaged,transmitter will not recognize it
transmitter will retransmit
receive gets two copies of frame
use alternate numbering and ACK0 / ACK1
NETE0510: Communication Media and Data
Communications
21
Stop and Wait
see example with both
types of errors
pros and cons
simple
inefficient
NETE0510: Communication Media and Data
Communications
22
Go Back N
based on sliding window
if no error, ACK as usual
use window to control number of outstanding
frames
if error, reply with rejection
discard that frame and all future frames until error frame
received correctly
transmitter must go back and retransmit that frame and
all subsequent frames
NETE0510: Communication Media and Data
Communications
23
Go Back N - Handling
Damaged Frame
error in frame i so receiver rejects frame i
transmitter retransmits frames from i
Lost Frame
frame i lost and either
transmitter sends i+1 and receiver gets frame i+1 out of
seq and rejects frame i
or transmitter times out and send ACK with P bit set which
receiver responds to with ACK i
transmitter then retransmits frames from i
NETE0510: Communication Media and Data
Communications
24
Go Back N - Handling
Damaged Acknowledgement
receiver gets frame i, sends ack (i+1) which is lost
acks are cumulative, so next ack (i+n) may arrive before
transmitter times out on frame i
if transmitter times out, it sends ack with P bit set
can be repeated a number of times before a reset
procedure is initiated
Damaged Rejection
reject for damaged frame is lost
handled as for lost frame when transmitter times out
NETE0510: Communication Media and Data
Communications
25
Selective Reject
also called selective retransmission
only rejected frames are retransmitted
subsequent frames are accepted by the receiver and
buffered
minimizes retransmission
receiver must maintain large enough buffer
more complex logic in transmitter
hence less widely used
useful for satellite links with long propagation delays
NETE0510: Communication Media and Data
Communications
26
Go Back N vs
Selective
Reject
NETE0510: Communication Media and Data
Communications
27
Error Detection
Two-dimensional parity
Internet checksum
Cyclic Redundancy Check
NETE0510: Communication Media and Data
Communications
28
Internet Checksum
Not used in the link layer
checksum for the internet protocol:
Sum 16-bit data blocks
Take one complement of the result to produce the checksum
E.g. calculate checksum of 5 and 3
5 (0101) + 3 (0011) = 8 (1000)
Checksum = -8 (0111)
Send 5, 3, -8 to receiver send 010100110111
Calculate 5+3+(-8)
0101
0011
0111
1111
NETE0510: Communication Media and Data
Communications
29
Outline
Encoding Techniques
Data Link Layer Fundamental
Direct-link Protocols
BSC, DDCMP, HDLC, PPP
NETE0510: Communication Media and Data
Communications
30
BSC (or BISYNC) Protocol
Binary Synchronous Communication
Byte-oriented approach: view each frame as a collection
of bytes (characters) rather tan a collection of bits
Support a particular character set: ASCII, EBCDIC, and
IBM’s 6-bit Transcode
NETE0510: Communication Media and Data
Communications
31
Problem of BISYNC
ETX character may appear in the body of a
frame
Solved by “character stuffing” insert a special
character called DLE (data-link-escape)
character whenever it appears in the body
NETE0510: Communication Media and Data
Communications
32
Point-to-point (PPP) Protocol
Designed to encapsulate IP inter-network data
Commonly run over dial-up modem links, but can be
used on any leased line for point-to-point connections
not supported by FR or ATM.
Have character stuffing
Several of the field sizes are negotiated rather than fixed
using LCP (Link Control Protocol)
Two sub protocols: LCP (Link Control Protocol) and
IPCP (Internet Protocol Control Protocol) for network
control
IPXCP for IPX, ATCP for AppleTalk
NETE0510: Communication Media and Data
Communications
33
PPP Frame Format
Flag: 011111110
Protocol: identify high-level protocol e.g. IP or IPX
Payload: size is negotiated, default at 150 bytes
Checksum: 2-4 bytes long
NETE0510: Communication Media and Data
Communications
34
LCP
Negotiation of size is conducted by LCP
LCP sends control messages encapsulated in PPP
frames
Such messages are denoted by an LCP identifier in the PPP
Protocol field
Sizes are changed based on the information contained in
those control messages
NETE0510: Communication Media and Data
Communications
35
PPP (cont’d)
PPP tends to be reserved for dialup or a mixedvendor environment, whereas HDLC is the default
for T1 serial connections
NETE0510: Communication Media and Data
Communications
36
DECNET’s DDCMP
Byte-Counting Approach: include number of bytes
contained in a frame as a field in the frame header
Transmission error can corrupt the COUNT field
framing error
NETE0510: Communication Media and Data
Communications
37
High-level Data Link Control (HDLC)
Previously known as Synchronous Data Link Control
(SDLC) protocol
Most popular data link control (L2) protocol
Form the basis of ISDN and FR protocols and services
specified as ISO 33009, ISO 4335
station types:
Primary - controls operation of link
Frames issued are called “commands”
Secondary - under control of primary station
Frames issued are called “responses”
Combined - issues commands and responses
link configurations
Unbalanced - 1 primary, multiple secondary
Balanced - 2 combined stations
NETE0510: Communication Media and Data
Communications
38
HDLC Transfer Modes
Normal Response Mode (NRM)
unbalanced config, primary initiates transfer, secondary may
only transmit data in response to a command
used on multi-drop lines, eg host + terminals
Asynchronous Balanced Mode (ABM)
balanced config, either station initiates transmission, has no
polling overhead, widely used
Asynchronous Response Mode (ARM)
unbalanced config, secondary may initiate transmit without
permission from primary, rarely used
NETE0510: Communication Media and Data
Communications
39
HDLC Frame Structure
synchronous transmission of frames (no startstop bits required)
single frame format used
trailer
header
NETE0510: Communication Media and Data
Communications
40
Flag Fields and Bit Stuffing
delimit frame at both ends with 01111110 sequence
The sequence is transmitted any time that the link is idle
to keep clock synchronized
“bit stuffing” used to avoid confusion with data
containing flag sequence 01111110
0 inserted after every sequence of five 1s
if receiver detects five 1s it checks next bit
if next bit is 0, it is deleted (was stuffed bit)
if next bit is 1 and seventh bit is 0, accept as the end-of-frame
flag
if sixth and seventh bits 1, sender is indicating abort (error
occurred)
NETE0510: Communication Media and Data
Communications
41
Flag Fields and Bit Stuffing (cont’d)
In both bit stuff and character stuffing, the size of a frame
is dependent on the data being sent in the payload.
Not possible to make all the frames exactly the same
size
NETE0510: Communication Media and Data
Communications
42
Address Field
identifies secondary station that sent or will receive frame
usually 8 bits long
may be extended to multiples of 7 bits
LSB indicates if is the last octet (1) or not (0)
not needed for point-to-point link
all ones address 11111111 is broadcast
NETE0510: Communication Media and Data
Communications
43
Control Field
different for different frame type
Information (I-) frame - data transmitted to user (next layer
up)
Flow and error control piggybacked on information frames
Supervisory (S-) frame - ARQ when piggyback not used
Unnumbered (U-) frame - supplementary link control
first 1-2 bits of control field identify frame type
NETE0510: Communication Media and Data
Communications
44
Control Field (cont’d)
use of Poll/Final bit depends on context
in command frame is P bit set to1 to solicit (poll)
response from peer
in response frame is F bit set to 1 to indicate response
to soliciting command
seq number in S- and I-frames usually 3 bits
can extend to 8 bits as shown below
NETE0510: Communication Media and Data
Communications
45
Information & FCS Fields
Information Field
in information and some unnumbered frames
must contain integral number of octets
variable length
Frame Check Sequence Field (FCS)
used for error detection
either 16 bit CRC or 32 bit CRC
NETE0510: Communication Media and Data
Communications
46
HDLC Operation
consists of exchange of information, supervisory
and unnumbered frames
have three phases
initialization
by either side, set mode & seq
data transfer
with flow and error control
using both I & S-frames (RR, RNR, REJ, SREJ)
disconnect
when ready or fault noted
NETE0510: Communication Media and Data
Communications
47
HDLC
Commands
and
Responses
NETE0510: Communication Media and Data
Communications
48
HDLC Operation Example
Set sync
balanced mode
Send seq no
Receive seq no
busy
A must
respond with
RR or RNR
Unnumbered
acknowledgement
Return from
busy condition
Disconnect
NETE0510: Communication Media and Data
Communications
49
HDLC Operation Example
NETE0510: Communication Media and Data
Communications
50
Questions?
Next Lecture
LANs and Hi-speed LANs
NETE0510: Communication Media and Data
Communications
51