420 likes | 459 Views
Chapter 6 – Logical Link Control (LLC). Logical Link Control (LLC) Logical Link Control Services. Introduction The primary purpose of this sublayer is to provide a means of transferring data across one or more MAC-controlled links LLC Services
E N D
Chapter 6 – Logical Link Control (LLC) 635.412 Class #2
Logical Link Control (LLC)Logical Link Control Services • Introduction • The primary purpose of this sublayer is to provide a means of transferring data across one or more MAC-controlled links • LLC Services • LLC services are provided to higher layers across LLC service access points (LSAPs) • These services are specified in terms of service primitives (aka – commands or functions) • Three forms of services are specified in the IEEE 802 standard: • Unacknowledged connectionless service • Connection-mode service • Acknowledged connectionless service Class 2: More Basics
Logical Link Control (LLC)Logical Link Control Services • Unacknowledged Connectionless Service • Provides a datagram service with no acknowledgements, error-control, or flow control • This service type supports individual, multicast, and broadcast addressing • Only two primitives are defined: the request primitive (DL-UNITDATA-request) for upper layers to pass data to the LLC sublayer for transmission and the indication (DL-UNITDATA-indication) primitive to pass received data up to the upper layer • A priority can be specified in the primitive, but it is only passed down to the MAC sublayer for implementation Class 2: More Basics
Logical Link Control (LLC)Logical Link Control Services • Connection-Mode Service • Creates a logical connection for data transfer (DL-CONNECT-request, indication, response, confirm). • This service type provides flow control, sequencing of data, and error indication and recovery • Like the Unacknowledged Connectionless service a priority for the connection can be specified, but it is up to the MAC sublayer to actually implement it • Four primitives defined for connection setup (CONNECT-request, indication, response, and confirm) • Example of successful connection setup • Rejection of a connection setup • Two primitives defined for data transfer (DATA-request & indication) • No acknowledgements are given to each data frame; delivery is ‘guaranteed’ (errors are indicated by a reset or disconnect) Class 2: More Basics
Logical Link Control (LLC)Logical Link Control Services • Connection-Mode Service (continued) • Two primitives defined for connection teardown (DISCONNEC-request & indication) • Four primitives defined to reset the data flow (RESE-request, indication, response, confirm) or allow error recovery to occur. • Two primitives defined for flow control (CONNECTION-FLOWCONTROL- request, indication, response, & confirm) which can limit the amount of data passed across the LSAP • Examples of Connection-Mode service primitives: Class 2: More Basics
Logical Link Control (LLC)Logical Link Control Services Class 2: More Basics
Logical Link Control (LLC)Logical Link Control Services • Acknowledged Connectionless Service • Defines a service where successfully transferred data is acknowledged without the latency & overhead of connection management • Actually includes two related but independent services: a guaranteed delivery service (DL-DATA-ACK-request, indication, status) and a poll (DL-REPLY-request, indication, status-indication) with a guaranteed response • Guaranteed delivery service has three defined primitives • Two (request & indication) for data transmission & delivery • The final primitive (status indication) provides the acknowledgement • The service class parameter is really only useful with the 802.4 MAC specification (Token Bus) • Poll with guaranteed response uses two sets of primitives • Two primitives allow data to be passed to the LLC sublayer to be transmitted when requested by another station • Three primitives allow the actual transfer of the data Class 2: More Basics
Logical Link Control (LLC)Logical Link Control Protocols • Introduction to LLC Protocols • The protocol specifications define the format of data frames and how these frames are transferred between LLC peers • LLC Types and Classes • Three types of operation are defined with LLC • Type 1 operation supports unacknowledged connectionless service • Type 2 operation supports connection-mode service • Type 3 operation supports acknowledged connectionless service • A station can support multiple types of operation, but at minimum a station must support Type 1 operation • This assures all stations have a lowest common denominator service for management operation Class 2: More Basics
Logical Link Control (LLC)Logical Link Control Protocol Data Units • LLC Protocol Data Unit Format • All three operational types use the same four-field format: • The DSAP field (8 bits): 7 bits contain the address and the last bit specifies whether it is an individual or group address • The SSAP field (8 bits): 7 bits contain the address and the last bit specifies whether it is a command or response PDU • The control field specifies PDU type along with control functions • This field can be either 8 or 16 bits long • PDUs can be commands, responses, or both • In the context of the IEEE 802 LLC specification, a PDU is a command if a response if expected (whether solicited or unsolicited) • The P/F (Poll/Final) bit in a command PDU specifies whether a response is required – in a response it is set if the PDU was sent in response to a command • And of course, the information field containing the payload! Class 2: More Basics
Logical Link Control (LLC)Logical Link Control Protocol Data Units • The Control field format is different for each of the three types of PDUs: Information, Unnumbered, & Supervisory • Information PDUs carry user data with sequence & acknowledgement numbers • Supervisory PDUs provide error and flow control; three are currently defined (RR, RNR, and REJ) • Unnumbered PDUs provide various control functions like connection setup Class 2: More Basics
Logical Link Control (LLC)Logical Link Control Protocol Operation • The LLC protocol has three different operational modes, each supporting one of the LLC services • Type 1 Operation • Provides the unacknowledged connectionless service • The UI (Unnumbered Information) PDU is used to carry user data • There is error detection and discard at the MAC sublayer, but no acknowledgement, error control, or flow control • Two management PDUs are supported: XID and TEST • The XID is used to allow the LLC peers to exchange window size and the types of operation each peer supports (allows negotiation of Type 2/3 operation if supported by both ends) • The TEST PDU is used for loopback testing; in response to a TEST PDU the receiver should issue a TEST PDU to the sender ASAP Class 2: More Basics
Logical Link Control (LLC)Logical Link Control Protocol Operation • Type 2 Operation • Provides the connection-mode service • Three phases are necessary for Type 2 Operation: connection establishment, data transfer, and connection teardown • Connection Establishment takes place when a LLC peer issues a SABM or SABME PDU to request a connection • The destination accepts the connection by returning a UA (Unnumbered acknowledgement) PDU or rejects it by returning a DM (Disconnected Mode) PDU • After a successful setup the connection is always uniquely referenced by the pair of SAPs • Data Transfer accomplished using I (Information) PDUs • I PDU contains sequence numbers for flow and error control; N(R) contains sequence number of next PDU expected Class 2: More Basics
Logical Link Control (LLC)Logical Link Control Protocol Operation • Type 2 Operation (Continued) • Data transfer • S (Supervisory) PDUs used during data transfer for flow and error control when piggybacking is not possible • RR (Receiver Ready) carries acknowledgement & allows more user data • RNR (Receiver Not Ready) carries an acknowledgement but stops further data transfer • REJ initiates Go-Back-N ARQ • Connection reset is possible by basically going through connection establishment again for a particular DSAP/SSAP pair • Connection Teardown • LLC peer initiating disconnect sends DM (Disconnected Mode) PDU • Upon receipt of a DM PDU the other LLC peer transmits a UA PDU • No assumptions made about outstanding unacknowledged PDUs Class 2: More Basics
Logical Link Control (LLC)Logical Link Control Protocol Operation • Examples of Type 2 Operation [Figure 6.3] Class 2: More Basics
Logical Link Control (LLC)Logical Link Control Protocol Operation Class 2: More Basics
Logical Link Control (LLC)Logical Link Control Protocol Operation • Type 3 Operation • The AC (Acknowledged Connectionless) PDU is used to both send data and acknowledge its receipt • A one bit sequence number is used and one PDU can be outstanding at any time • For the acknowledged connectionless data service the UA does not contain data when it is used as an acknowledgement • For the polled service the AC response PDU contains data if some was waiting; otherwise it does not and signals a failure to successfully poll Class 2: More Basics
Logical Link Control (LLC)Appendix: Protocol Specification • Service Primitives and Parameters • To help in the design of communications reference models it is common to modularize the specification of the layers by separating it into two parts: • The services provided by a layer to its next higher layer • The protocol between peer entities on different systems • The services between adjacent layers in the reference model are defined in terms of service primitives and their associated parameters • Four basic primitives are defined in the standards: request, indication, response, and confirm • In a confirmed service all four primitives are used • In an unconfirmed service only the request and indication primitives are used Class 2: More Basics
Logical Link Control (LLC)Appendix: Flow Control Mechanisms • Flow Control • Flow control is a process for assuring that a transmitting station does not overwhelm a receiving (or maybe intermediate) station with data • Link-to-link versus end-to-end flow control • Stop-and-Wait Flow Control • The simplest form of flow control; only one PDU can be outstanding (not acknowledged) at an instant in time • The destination can stop the flow of data by withholding the acknowledgement • The beauty of this flow control technique is the simplicity of its implementation • This technique can be very inefficient for most packet data applications (on links where the bit length is much longer than the PDU length the link will be idle most of the time) Class 2: More Basics
Logical Link Control (LLC)Appendix: Flow Control Model Class 2: More Basics
Logical Link Control (LLC)Appendix: Flow Control Mechanisms • Sliding-Window Flow Control • Allows multiple PDUs to be in transit simultaneously, improving link efficiency at the expense of system complexity • Sequence numbers are used, with the transmitter maintaining a list of sequence numbers it is allowed to send & the receiver tracking the sequence numbers it is prepared to receive • Windows must be maintained for each direction of communication – each station requires send and receive windows for each connection it is involved in • Piggybacking of acknowledgements is used to improve efficiency • A Receiver Not Ready (RNR) message allows the receiver to effectively close the window (reduce its size to zero) • The Receiver Ready (RR) is used to open the window again when necessary Class 2: More Basics
Logical Link Control (LLC)Appendix: Flow Control Mechanisms • Examples of sliding window operation Class 2: More Basics
Sliding Window Operation Class 2: More Basics
Logical Link Control (LLC)Appendix: Error Control Mechanisms • Error Control • Error control in the context of the data link layer refers to mechanisms for detecting & correcting errors in the transmission of PDUs • Errors manifest themselves in two ways: lost or damaged PDUs • Error control at the data link layer is commonly implemented through a mechanism called Automatic Repeat Request (ARQ) • Effectively turns an unreliable link into a reliable one • Based on the flow control functions outlined in Appendix 6B • Includes the following functions: • Error detection • Positive acknowledgement • Retransmission after timeout • Negative acknowledgement and retransmission • Another way of handling errors is Forward Error Correction Class 2: More Basics
Logical Link Control (LLC)Appendix: Error Control Mechanisms • Stop-and-Wait ARQ • Based on stop-and-wait flow control; used in the LLC standard for acknowledged connectionless service • The source uses a retransmission timer and will transmit the PDU if an acknowledgement is not received before the timer expires • Sequence numbers must be used to distinguish multiple copies of the same PDU; this can happen if an ACK is damaged • Example of operation [Figure 6.9] Class 2: More Basics
Logical Link Control (LLC)Appendix: Error Control Mechanisms • Go-Back-N ARQ • Not as simple as stop-and-wait but more bandwidth efficient • Based on sliding window flow control; used in the LLC standard for connection-mode service • The receiver will discard a damaged PDU & all future incoming PDUs until a correct copy is received (hence the name) • Acknowledgements are cumulative; covering all previously received PDUs • Like stop-and-wait a retransmission timer and sequence numbers are necessary for this mechanism • This technique must account for the following situations: • Damaged data PDU • Damaged RR PDU • Damaged REJ PDU Class 2: More Basics
Logical Link Control (LLC)Appendix: Error Control Mechanisms • Go-Back-N ARQ Example of Operation [Figure 6.10] Class 2: More Basics
Performance of Stop & Wait ARQ • Time to send a frame and get back an Acknowledgement: Tf = Tprop + Ttrans(f) + Tproc + Tprop + Ttrans(ack) • Where Tprop = Distance/Velocity = D/V. This is the propagation time from the sender to the receiver • Tproc = processing delay of the frame at the receiver. Should be quite small with today's micro processors • Then equation 1 simplifies to: Tf = 2Tprop + Ttrans(f) • Link utilisation, U, is thus: U = Ttrans(f)/(2Tprop + Ttrans(f)) • Let a = Tprop/Ttrans(f). “a” is an important parameter to the bandwidth*delay product a = (D/V)/(L/R) = R*D/V*L • Then, U = 1/(1 + 2a). For a stop and wait protocol • How do we modify the formula for U when we have bidirectional data flow? Class 2: More Basics
Link Utilization for Stop-and-Wait ARQ • Assuming error-free stop-and-wait ARQ: T ≈ Tframe + 2Tprop Transmission throughput = 1/T = 1/(Tframe + 2Tprop) frames/sec • The link data rate = 1/Tframe frames/sec • Thus, the link utilization is given as: Where d = distance between stations and V = velocity of signal propagation L = length of frame in bits and R = data rate on link in bits per sec • Bit length of the link ::= Rd/V • Ratio of link bit length to the length of frame ::= • If Tproplarge relative to Tframe throughput reduced • Propagation delay is long relative to transmission time • Link is mostly idle low utilization inefficient • Problem is that only one frame is in transit at a time • Stop-and-Wait rarely used because of inefficiency Class 2: More Basics
ARQ protocol Utilization Class 2: More Basics
ARQ protocol Utilization Example: Window Size < 2a + 1 Class 2: More Basics
ARQ protocol Utilization Example: Window Size > 2a + 1 Class 2: More Basics
ARQ Link Utilization (p=10-3) Source: Communication Networks by Leon-Garcia 1998 Class 2: More Basics
ARQ Protocol Throughput (p=10-3) Source: Communication Networks by Leon-Garcia 1998 Class 2: More Basics
Transmission efficiency bits for header & CRC Effective transmission rate: Transmission efficiency: Effect of frame overhead Effect of Delay-Bandwidth Product Effect of ACK frame Class 2: More Basics
ARQ Protocol Transmission Efficiencies Source: Communication Networks by Leon-Garcia 1998 Class 2: More Basics