Title: TLEN 5330 DATA COMMUNICATIONS 1
1TLEN 5330 DATA COMMUNICATIONS 1
- Lecture Session 10
- (Stallings Chapter 7)
- Michael H. Borsuk
2- DATA LINK CONTROL
- FLOW CONTROL CONCEPTS
- Amount of data to be sent is often more than the
maximum size of the data fields of the frames of
our communications protocol. Data needs to be
divided into frames. - The Physical Layer definition of the OSI Model
deals with bit timing and detection of bits using
asynchronous and synchronous methods but not with
blocks of data. - The Data Link Layer is concerned with (among
other things) the definition and reception of
frames. - Frames are numbered within a sequence. Three
bit sequences (8 frames) are common but there can
be fewer or more for example, long propagation
times for satellite transmission involving long
waits for frame acknowledgment messages. - Receivers buffers (temporary memory) can be
overloaded if data is received too fast for use
by receiver or its attached processors. - Frames can be received too quickly, out of
sequence, or with uncorrectable errors. The
transmitter must know about this and be able to
resend bad frames.
3- FLOW CONTROL SCHEMES
- Stop and Wait Flow Control send frame and wait
for acknowledgment from receiver before sending
next frame. - Implies that not too much time is taken
waiting for each acknowledgment. - Sliding Window Flow Control send frames on the
fly and not worry about receiving acks until
entire sequence is sent. - Requires that there can only be a limited
number of frames in a sequence so that too much
data isnt sent when there are problems in
reception and it is required to resend the entire
sequence. - Propagation delays suggest schemes where not all
frames are acknowledged individually (e.g. ack 2
frames at a time) and/or the receiver
acknowledges a sliding window of frames requiring
that the transmitter buffers window until ack is
received. - The window size seems to breathe as frames may
not be sent and acks may not be received at a
constant rate. - Full Duplex transmission allows acks to be sent
along with data going the other way
simultaneously. - Flow control is method of ensuring the receiver
buffer isnt overloaded.
4- DIFFERENT ACKNOWLEDGMENT MESSAGES REQUIRED
- Error control deals with damaged or missing
frames but idea is the same for both flow and
error control - Acknowledge correct receipt of individual frames
or group of frames - Send various messages to the originating end when
the receiver thinks something is wrong (e.g. ask
to resend one or more individual frames or entire
sequence if there are uncorrectable errors) - There is the possibility that the receiver gets
two frames with the same sequence number before
all frames in a sequence are received - What if an ack message is not received by the
transmitter? - What if frame is missing within sequence? Does
this differ from two frames with the same
sequence number? What are possible actions?
5- MORE DETAILS RE SLIDING WINDOW CONTROL
- Acknowledge a correct receipt (RRx for Receive
Ready for frame x) - Send a rejection (REJx which also indicates which
frame is missing or deemed to have uncorrectable
errors.) - The Go-back-N ARQ (for Automatic Repeat Request)
protocol simply asks the transmitter to "go back"
in the sequence enough to straighten the
situation out when frames or acknowledgments are
damaged or lost - The Selective-Reject ARQ method requests that
only specific frames are to be resent. - Lots of variations different procedures due to
propagation time, machine specifics, etc. There
can be different time outs, how many frames are
acknowledged, other details. Simplest situation
is to acknowledge all frames, but this adds to
overhead.
6- 1. Go-back-N ARQ
- As timer (in this example) allows 3 frames to be
sent ahead of acknowledgments to account for
propagation delay. - B acknowledges every other frame if all is ok.
Might have been set for every frame. - RR from A to B (with P bit in HDLC 1) means
here that A wants to know where it should
restart. B replies that it wants to start over. - 2. Selective reject ARQ
- B can ask for specific retransmissions.
FLOW CONTROL 3 FRAME TIMER EXAMPLES
Oh, you didnt get 4
OK, now I have 4, sent 6
OK, continue
Here comes 0.
Im confused
What did you get?
Start sequence over
I got 0-2, send 3
N 3
7- High-Level Data Link Control, HDLC
- This is the essence (and essential) complete
Layer 2 Data Link Layer protocol--devised long
before the OSI model was conceived of! - SDLC (a variation of HDLC) was invented by IBM to
replace the older Bisynchronous (BSC or BiSync)
Protocol. - The SDLC protocol became the layer 2 protocol for
IBM's SNA (System Network Architecture) used for
big main frames for many years.
8- WHY STUDY HDLC?
- HDCL is real rather than theoretical or a model
- HDLC is also the basis for synchronous PPP (point
to point protocol) used by many servers to
connect to modems over phone lines so that
dial-up users can assess the Internet. - Link Access Procedure Balanced (LAPB)
implementation--where balanced means peer to
peer--and LAPB is the basis for X.25 which is the
most important (and widely used) standard for
implementation of packet switched Wide Area
Networks. - X.25 also often called, "frame relay", is the
glue holding a lot of the Internet together
(along with ATM). So don't dismiss HDLC as being
archaic. Note that we will study Frame Relay
later in the course. - Multiport version of HDLC and is easily
understood as well. - FYI, LAPD ("D" not "B") is the protocol behind
ISDN which is a telephony based service, and LAPM
is for modem to modem communications. These are
similar but not the same as HDLC.
9- HDLC SPECIFICS
- HDLC uses the sliding window error control
method. - There are three categories of frames in HDLC.
- Unnumbered (Command/Response) frames are used to
set up and terminate the link - Information frames transport the data (and of
course encapsulate the higher layers of protocol
like TCP/IP on the Internet) - Supervisory frames perform flow control and error
recovery functions.
10(No Transcript)
11- HDLC FIELDS
- Flag Field - Every frame begins and ends with a
"flag", the bit pattern 01111110 (six 1s in a
row). The same flag can end one frame and begin
the next. - Because data can have five bits in a row and be
confused with the flag, bit stuffing is used. - The transmitter adds an extra 0 bit after each
occurrence of five 1s in a row that occurs
naturally in the data. The receiver removes every
0 it finds after 5 1s. - Whenever the receiver sees five 1s in a row it
removes the next bit if it's a 0 or considers it
a flag if it's a 1 as long as the next bit is a
0. This last task is necessary because the
transmitter uses the pattern 01111111 (seven 1s)
as an "abort" signal.
12- HDLC FIELDS - continued
- Address Field - In command frames, this is the
destination station. For response frames, this
field identifies the station sending the
response. - Control field - Contains commands and responses.
- Diagram shows control field specifics. Dont
worry about all the details but try to understand
the nature of the functions.
13HDLC Control field
Secondary are multipoint slave stations.
These are 5 bits that allow for 32 additional
commands.
14- HDLC FIELDS continued
- Information Field - Any sequence of bits in
theory but usually multiples of 8 bits, such as
but not limited to an ASCII characters, of
course. - Frame Check Sequence field - The CRC for the
frame.
NOMINAL END SESSION 10
15AUGUST 2003 NEW YORK CITY BLACKOUT A SMALL
VERSION OF THIS HAPPENED DURING THE DISCUSSION OF
THE FOLLOWING SLIDE ON 10 FEBRUARY 2005
16- How HDLC works (most general case for
multipoint) - The normal sequence of messages in HDLC consists
of one or more frames containing I-fields ("I"
for Information) from the source to the
destination. This is the data actually being
exchanged. - The reception of these frames is acknowledged by
the destination by its sending an ACK frame back.
ACKs may be for each frame in a sequence or for
more than one. - The value of N(R) indicates that the station
transmitting the N(R) has received correctly all
I-frames numbered up to N(R) - 1. I-frames and
S-frames are numbered from 0 to 7 (3 bits). - The response frames can acknowledge several
received frames at a time (up to 7 maximum for a
3 bit sequence). These can appended to I-frames
coming from the destination to the source
simultaneously. - Some HDLC systems require individual frames to be
resent rather than entire sequences or just a few
to catch up.
17- HDLC OPERATION - continued
- For control purposes in HDLC, one end is
designated as the "primary" station and takes the
responsibility for managing data flow and link
error-recovery procedures. - Primary stations send command frames.
- Other stations (in a multi-station situation or
"the other station" in a point to point
situation) communicate using response frames.
This communication uses the Select bit in the
control field of an I-frame, or a primary can
allow a secondary to send by sending a Poll bit. - A scheme is built in where secondaries can
respond only to specific requests (NRM for Normal
Response Mode) or ARM (Asynchronous Response
Mode) where they can initiate a transmission
without permission or a poll from the primary. In
NRM, the secondary explicitly indicates the last
frame to be sent by setting the final bit in the
control field. In IP (Internet Protocol), the
concept of connectionless datagrams appears.
18- Notes
- Basically, HDLC is a real system employing the
concepts of earlier in this chapter and for that
matter the earlier ones. There are many
variations of the details of HDLC operation in a
specific system. - To ensure bit synchronization, the bit encoding
for HDLC is usually NRZi. This encoding method
results in a transition whenever the next bit is
a zero but the signal remains at the same level
when the next bit is a one. - Since Bit stuffing" (to ensure unique flags)
ensures that no data has more than five 1s in a
row, there is always at least one transition
every 5 bit times at a minimum in HDLC. - That means that the situation of no bit
transitions occurring for a long period is
avoided, resulting in not needing a separate
clock line or Manchester encoding. Cool huh?
19Dont hit the panic button just yet. It is more
important in Data Communications 1 to understand
the concepts of sliding window flow control
rather than the specific variations (or most
details) of HDLC.
- Definitely remember the following
- Acknowledgments and rejections are sent often
appended to data messages flowing in the opposite
direction to control the transmission on the
fly. - There are a number of frames in a sequence. 3
bits is frequently used. - Frames, acknowledgments, and rejection messages
may get damaged or lost. Each problem requires an
appropriate response to recover, but specifics
differ. - Propagation time is taken into account in various
ways. - Various methods are used in different specific
implementations HDLC. - HDLC will come up frequently as it is part of
many existing protocols/systems.
20A word about
IBM Typewriter circa 1930s
21- A personal comment on IBM
- I mention International Business Machines
frequently in Data Communications 1. A matter of
fact, I label some innovations as very IBM from
time to time. Why? - IBM rose from a typewriter and sorting machine
company to the premier high technology company in
one generation. As the major supplier of main
frame computers to industry and government, IBM
was the market leader. All the followers were
very far behind. It was said that, No one ever
got fired by buying from IBM. Of course, IBM
invented the modern PC as well, but that business
never sat well with IBM management. IBM recently
sold its PC business to a Chinese company. IBM
never seemed to like the open system concept. - In its heyday, IBM engineered its equipment to be
EXTEMELY hardy (at a price). Its sales force was
unique and the envy of the world. While many made
fun of the salesmens silted style (and white
shirt and narrow tie dress), the products lasted
forever. Other companies spun off from IBM and
competed but only when IBM let them. Examples are
Digital Equipment Corporation, Amdahl, EDS, and
more recently StorageTek here in Colorado. Most
of these companies are now gone, but they were
very innovative and often sold better equipment
at a much less expensive prices. - While the IBM of today is quite different from
the IBM Im talking about, it will always be
remembered for excellently engineered and
reliable but expensive solutions. IBMs
Token-Ring LAN almost never failed compared to
modern Ethernets, but it was complicated. - I think of Dick Hammings contributions as kind
of the opposite of IBM. His real time computing
methods, the Hamming Codes, and Hamming Distance
schemes are very elegant but decidedly quick and
dirty, fast but low accuracy. Couldnt be less
like IBM. In a way, he represented the beginning
of the end of IBMthe triumph of cleverness over
ironclad solutions. In modern systems we can have
both good engineering and cleverness.
22The IBM Thomas J. Watson Research Center
(Yorktown New York)
23POINT TO POINT PROTOCOL Reference
http//www.cisco.com/univercd/cc/td/doc/cisintwk/i
to_doc/ppp.htm
- Nice review of Link Control and introduction to
Multiplexing - PPP provides a method for transmitting datagrams
(packets) over serial point-to-point links. - PPP contains three main components.
- A method for encapsulating datagrams over serial
links. PPP uses the High-Level Data Link Control
(HDLC) protocol as a basis for encapsulating
datagrams over point-to-point links. - A Link Control Protocol (LCP) to establish,
configure, and test the data link connection. - PPP is designed to allow the simultaneous use of
multiple network layer protocols (e.g. TCP/IP,
IPX/SPX, NETBUI, etc.)
Link Control Protocol The PPP Link Control
Protocol (LCP) is the most important protocol in
the PPP suite. It is responsible for configuring,
maintaining and terminating the overall PPP link.
The two devices using PPP employ a set of LCP
frames to conduct LCP operations. (From The
TCP/IP Guide)
24- PPP General Operation
- To establish communications over a point-to-point
link, the originating PPP first sends LCP frames
to configure and (optionally) test the data link.
- After the link has been established and optional
facilities have been negotiated as needed by the
LCP, the originating PPP sends NCP frames to
choose and configure one or more network layer
protocols. (PPP works with other than just
TCP/IP.) - When each of the chosen network layer protocols
has been configured, packets from each network
layer protocol can be sent over the link. - The link will remain configured for
communications until explicit LCP or NCP frames
close the link, or until some external event
occurs (for example, an inactivity timer expires
or a user intervenes).
25- PPP Physical Layer Requirements
- PPP is capable of operating across any DTE/DCE
interface. Examples include EIA/TIA-232-C
(formerly RS-232-C), EIA/TIA-422 (formerly
RS-422), EIA/TIA-423 (formerly RS-423), and
International Telecommunication Union
Telecommunication Standardization Sector (ITU-T)
(formerly CCITT) V.35, and of course V.90, V.91
etc. modems on analog telephone lines. - The only absolute requirement imposed by PPP is
the provision of a duplex circuit, either
dedicated or switched, that can operate in either
an asynchronous or synchronous bit-serial mode,
transparent to PPP link layer frames. - PPP does not impose any restrictions regarding
transmission rate other than those imposed by the
particular DTE/DCE interface in use.
26- PPP Link Layer
- PPP USES HDLC
- PPP uses the principles, terminology, and frame
structure of the International Organization for
Standardization (ISO) HDLC procedures (ISO
3309-1979), as modified by ISO 33091984/PDAD1
"Addendum 1 Start/Stop Transmission." - ISO 3309-1979 specifies the HDLC frame structure
for use in synchronous environments. - ISO 33091984/PDAD1 specifies proposed
modifications to ISO 3309-1979 to allow its use
in asynchronous environments. - The PPP control procedures use the definitions
and control field encodings standardized in ISO
4335-1979 and ISO 4335-1979/Addendum 1-1979.
27The PPP Frame
Flag01111110 Address11111111, this is the
broadcast address. PPP does not assign
individual station addresses. Routers deal with
multiple users via Number Address Control (NAT)
and unix port numbers. More on that later in
course. Controlusually 00000011 which means
modem is sending unsequenced frames. Theres no
need for sequencing usually for modem to ISP
connection since it is a single user and stop
start flow control is used on link. (Outlook or
Outlook Express asks you for this when you set
connection parameters.) ProtocolTwo bytes that
identify the protocol encapsulated in the
information field. DataZero or more bytes that
contain the datagram. FCS2 bytes (16 bits). Some
implementations use 4 bytes (32 bits).
28- The Link Control Protocol of PPP
- There are three main stages of link life in
PPP, and LCP plays a key role in each one - Link Configuration The process of setting up and
negotiating the parameters of a link. - Link Maintenance The process of managing an
opened link. - Link Termination The process of closing an
existing link when it is no longer needed (or
when the underlying physical layer connection
closes). - This and the next two illustrations are from The
TCP/IP Guide
29THE LIFE STAGES OF PPP
30THE LINK CONTROL PROTOCOL OF PPP TIME SEQUENCE
CHART
31QUIZ 2 IS DUE BEFORE SESSION 13