310 likes | 424 Views
TLEN 5330 – DATA COMMUNICATIONS 1. Lecture Session 10 (Stallings Chapter 7) Michael H. Borsuk. DATA LINK CONTROL FLOW CONTROL CONCEPTS
E N D
TLEN 5330 – DATA COMMUNICATIONS 1 Lecture Session 10 (Stallings Chapter 7) Michael H. Borsuk TLEN 5330 - SLIDE SET 7
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 methodsbut 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. TLEN 5330 - SLIDE SET 7
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 isn’t 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 isn’t overloaded. TLEN 5330 - SLIDE SET 7
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? TLEN 5330 - SLIDE SET 7
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. TLEN 5330 - SLIDE SET 7
FLOW CONTROL – 3 FRAME TIMER EXAMPLES • 1. Go-back-N ARQ • A’s 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. Oh, you didn’t get 4 OK, now I have 4, sent 6 OK, continue Here comes 0…. I’m confused What did you get? Start sequence over I got 0-2, send 3 N = 3 TLEN 5330 - SLIDE SET 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. TLEN 5330 - SLIDE SET 7
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. TLEN 5330 - SLIDE SET 7
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. TLEN 5330 - SLIDE SET 7
HDLC FIELDS • Flag Field - Every frame begins and ends with a "flag", the bit pattern 01111110 (six 1’s 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 1’s) as an "abort" signal. TLEN 5330 - SLIDE SET 7
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. Don’t worry about all the details but try to understand the nature of the functions. TLEN 5330 - SLIDE SET 7
HDLC Control field Secondary are multipoint “slave” stations. These are 5 bits that allow for 32 additional commands. TLEN 5330 - SLIDE SET 7
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 TLEN 5330 - SLIDE SET 7
AUGUST 2003 NEW YORK CITY BLACKOUT – A SMALL VERSION OF THIS HAPPENED DURING THE DISCUSSION OF THE FOLLOWING SLIDE ON 10 FEBRUARY 2005 TLEN 5330 - SLIDE SET 7
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.” TLEN 5330 - SLIDE SET 7
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. TLEN 5330 - SLIDE SET 7
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? TLEN 5330 - SLIDE SET 7
Don’t 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. TLEN 5330 - SLIDE SET 7
A word about IBM Typewriter circa 1930s TLEN 5330 - SLIDE SET 7
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 salesmen’s 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 I’m talking about, it will always be remembered for excellently engineered and reliable but expensive solutions. IBM’s Token-Ring LAN almost never failed compared to modern Ethernets, but it was complicated. • I think of Dick Hamming’s 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. Couldn’t be less like IBM. In a way, he represented the beginning of the end of IBM—the triumph of cleverness over ironclad solutions. In modern systems we can have both good engineering and cleverness.
The IBM Thomas J. Watson Research Center (Yorktown New York) TLEN 5330 - SLIDE SET 7
POINT TO POINT PROTOCOL Reference: http://www.cisco.com/univercd/cc/td/doc/cisintwk/ito_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) TLEN 5330 - SLIDE SET 7
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). TLEN 5330 - SLIDE SET 7
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. TLEN 5330 - SLIDE SET 7
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 3309:1984/PDAD1 "Addendum 1: Start/Stop Transmission." • ISO 3309-1979 specifies the HDLC frame structure for use in synchronous environments. • ISO 3309:1984/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. TLEN 5330 - SLIDE SET 7
The PPP Frame Flag—01111110 Address—11111111, 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. Control—usually 00000011 which means modem is sending unsequenced frames. There’s 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.) Protocol—Two bytes that identify the protocol encapsulated in the information field. Data—Zero or more bytes that contain the datagram. FCS—2 bytes (16 bits).Some implementations use 4 bytes (32 bits). TLEN 5330 - SLIDE SET 7
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 TLEN 5330 - SLIDE SET 7
THE “LIFE STAGES” OF PPP TLEN 5330 - SLIDE SET 7
THE LINK CONTROL PROTOCOL OF PPP TIME SEQUENCE CHART TLEN 5330 - SLIDE SET 7
QUIZ #2 IS DUE BEFORE SESSION #13 TLEN 5330 - SLIDE SET 7