HDCL is a bit oriented, switched and non-switched protocol in which data is organized into a frame.HDLC uses no insertion/deletion process to prove the bit pattern of the delimiter flag which also not comes in field within the frame. It is a data link control protocol that falls on 2 stages as shown in figure.
HDLC is a protocol developed by the International Organization for Standardization (ISO). It comes in ISO standards form ISO 3309 and ISO 4335. It is being used throughout the world. It has been so widely implement that also supports both half duplex and full duplex communication lines, point to point (peer to peer) and multi-point networks with switched or non-switched channels. The methods outlined in HDLC permits synchronous, code-transparent data transmission.
The HDLC frame is synchronous and so placed on the physical layer with method of clocking and synchronizing the transmission and reception of frames.
It is based on the IBM. SDLC,prove that data passed onto the upcoming layer has received exactly as transferred having no error and loss chance with correct order.One of important function of HDLC is flow control, that data is transfer at the fastest speed that can be received by receiver. There are two evident HDLC implementations: HDLC NRM (also known as SDLC) and HDLC Link Access Procedure Balanced (LAPB). HDLC is mostly used by X.25.
HDLC is a protocol like an umbrella under which many Wide Area protocols sit.
HDLC have three defined stations as:
Primary StationÂ - this completely polishes all data link operations consulting commands from secondary stations and has capacity to control separate sessions with different stations.http://vkalra.tripod.com/Unbalanced_config.gif
Secondary StationÂ - this can only reply to one primary station. It also talks to each other via a Primary station.
Combined StationÂ - this can transfer and get commands and feedback from one other station.
Station that design a channel in use can be presented in three ways:
UnbalancedÂ - this pattern allows one primary station to speech to a number of secondary stations over half-duplex, full-duplex, switched, unswitched, point-to-point or multipoint paths.
SymmetricalÂ - where commands and comeback are multiplexed over one physical channel when two stations with primary and secondary parts have a point-to-point link joining them.
BalancedÂ - where two combined stations connect over a point-to-point link which can be full/half-duplex or switch/unswitched.
In transmit data, stations are in three modes:
Normal Response Mode (NRM)Â where primary station allows secondary station before it can transmit data. Mainly used on multi-point lines.
Asynchronous Response Mode (ARM)Â where the secondary station can send data to primary station. This is barely used.
Asynchronous Balanced Mode (ABM)Â where either station can admit transmission without any interruption. This is the most common mode used on point-to-point links.
The two most important aspects with the data transfer phase are Error control &Flow control.
Flow Control Technique
The function of HDLC layer is to prove that data passed onto the upcoming layer has received exactly as transferred having no error and loss chance with correct order. HDLC also flow control that data is transfer at the fastest speed that can be received by receiver. Flow control defines how much data the Sender can transfer before receiving. Flow controls are basically window mechanism.
Basic idea received have no error, the Receiver will be pushed to drop some of them if the Sender transmits faster than the Receiver, this signal can be explicit or implicit (e.g. prolong sending ACK to Sender)
Flow Control is a course for speed-matching
of sender and receiver. Flow control
prove that a transferred station don't
excess a receiving station with data
Two protocols for flow control are: OPERATION OF STOP AND WAIT
Stop-and-Wait Flow Control
Easy form of flow control
in Stop-and-Wait flow controls, the receiver
simplifies its ease to receive data for
1. Sender: Transfer only one frame
2. Receiver: Transfer acknowledgment (ACK)
Only one frame can be transfer at a time. This leads to inability if spread holdup is much longer than the program delay
Sliding Window Flow Control
Allows transfer of several frames
Assigns each frame a k-bit sequence number
Range of sequence number is [0..2k-1], i.e., frames are counted modulo 2k
OPERATION OF SLIDING WINDOW
How is "flow control" achieved?
Receiver can control the size of the sending window
By limiting the size of the sending window data flow from sender to receiver can be limited
Error Control Technique
To correct errors, data link control provides mechanisms by which the two sided cooperate in the retransmission of frames that suffer from errors on the first try. Error control uses a continues RQ procedure with either a selective repeat or a go back N transmission strategy. These mechanisms extend the flow control techniques. Again, data are sent as a sequence of frames.
Two basic approaches:
Error detection & retransmission
Error detection: parity check, CRC
Retransmission: automatic repeat request (ARQ)
Forward error correction (FEC)
In addition, we consider two types of errors:
LOST FRAME: A frame fails to arrive at the other side. In the case of a network the network may simply fail to deliver a frame. In a case of a direct point-to-point data link. A noise burst may damage a frame to the extent that the receiver is not aware that a frame has been transmitted.
DAMAGE FRAME: A recognizable frame does arrive, but some of the bits are in error (have been altered during transmission).
The most common techniques for error control are based on some or all of the following ingredients:
ERROR DETECTION: The distinction detects frames that are in error, using the techniques, and discards those frames.
POSITIVE ACKNOWLEDGMENT: The destination returns a positive acknowledgment to successfully received, error-free frames.
RETRANSMISSION AFTER TIMEOUT: The source retransmits a frame that has not been acknowledged after a predetermined amount of time.
NEGETIVE ACKNOWLEDGMENT AND RETRANSMISSION: The destination returns a negative acknowledgment to frames in which an error is detected. The source retransmits such frames.
Collectively, these mechanisms are all referred to as automatic repeat request (ARQ).The effect of ARQ is to turn a potentially unreliable data link into a reliable one. The precise mechanism of ARQ is described in the next section as part of our discussion of HDLC.
Error Control is implemented by appending a cyclic redundancy checkÂ (CRC- The Frame Control Sequence (FCS) is the HDLC frame is in most cases - 16 bit wide , the generator polynomial used is normally CRC-CCITT: x^16+x^12+x^5+1) to the frame, which is 16 bits long in most protocols
HDLC uses the term "frame" to indicate an entity of data (or a protocol data unit) transmitted from one station to another. . The standard frames of the HDLC protocol handles both data and control messages. The following diagram details the HDLC frame format:
Flag - The value of the flag is always (0x7E).The 8 bit pattern "01111110" which signals the beginning and end of an HDLC frame. If a piece of data within the frame to be transmitted contains a series of 5 or more 1's, the transmitting station must insert a 0 to distinguish this set of 1's in the data from the flags at the beginning and end of the frame. This technique of inserting bits is calledÂ bit-stuffing.Â These bits are detected and removed upon receipt. If a pattern of five 1's is followed by a 1 and then a 0, it marks the end of the frame. If a pattern of five ones is followed by two more 1's, it is a signal from the transmitting station to abort.
Address field - Defines the address of the secondary station which is sending the frame or the destination of the frame sent by the primary station. It contains Service Access Point (6bits), a Command/Response bit to indicate whether the frame relates to information frames (I-frames) being sent from the node or received by the node, and an address extension bit which is usually set to true to indicate that the address is of length one byte. When set to false it indicates an additional byte follows. This field is only populated for Unbalanced connections, it is otherwise empty for point-to-point (Balanced) links.
Extended address - HDLC provides another type of extension to the basic format. The address field may be extended to more than one byte by agreement between the involved parties.
Control field - Serves to identify the type of the frame. In addition, it includes sequence numbers, control features and error tracking according to the frame type. There are three categories of HDLC frames:
Information (I-frame) - Carries data
It transport data across the link and may encapsulate the higher layers of the OSI architecture.
Supervisory (S-frame) - Carries commands and responses
It perform the flow control and error recovery functions.
Unnumbered (U-frame) - Carries additional command sequences
It provide the link initialization and termination.
FCS - The Frame Check Sequence (FCS) enables a high level of physical error control by allowing the integrity of the transmitted frame data to be checked.
HDLC-NRM only communicates across one link. The device with which it communicates is attached directly to the sending device by one cable. At the next layer up--the Network, orÂ InternetÂ Layer--addressing is based on the IP address (Internet Protocol). At the Data Link Layer, protocols deal with MAC addresses. MAC stands for "Media Access Control" and is the physical address of a "Medium Access Controller," which is the device linking a network node to the physical cable. The difference between the two addresses is that IP addresses are like the telephone number of a house phone, whereas the MAC address is the street address of the house.
HDLC-NRM can send data out over more than one link at the same time. ABM cannot do this. The address 11111111 represents all contactable nodes. The address 00000000 represents the current node.
In the three-layer, connection oriented, HDLC based communication protocol, addressing is performed by the MAC layer. The lower HDLC address is used for addressing the physical device and the upper HDLC address is used for addressing the various logical devices within the same physical device. Application associations are established between a Client and a Logical Device in the Server. The associations are identified by the pair of HDLC addresses (Client HDLC address - Server lower HDLC/upper HDLC address). The HDLC based data link layer supports the lower HDLC/upper HDLC address structure by using the extended addressing mechanism provided by the HDLC standard ISO/IEC 13239. It is to be noted, that for the purposes of DLMS/COSEM a new frame format type 3, containing both the source and the destination addresses have been added to ISO/IEC 13239.
The second layer is the Data Link layer. It is based on the HDLC protocol which specifies how HDLC-frames are exchanged between the METER and the PC.
Each frame has a source address and a destination address. Let us consider a frame going from the client-application (PC) to the METER. The source address (8 bits) specifies the client type. The address 10 (hex) means public client.
The destination address consists of two parts: the lower MAC address which is the physical address of the METER and the upper MAC address which is the address of a logical device that is implemented in the METER. The COSEM model allows a physical device to host several logical devices. For example, a physical device could have several measurement-systems (electricity, hot water etc...) implemented as several logical devices.
The typical requires a logical device at address '1' must always exist. Additionally, if the physical devices mass several logical devices, then the logical device '1' has to contain a list of all the accessible logical devices, with their name and their logical tackle. That's why the logical device at address '1' is called the management logical device. However, it can also be the only logical device implement and then it would contain all the reachable data matter of the METER.
The objective address can have one, two or four bytes.
One byte address is a logical device address (i.e. an upper MAC address), there is no physical address (i.e. lower MAC address) particular
There are two bytes address, one byte is the logical device address (upper MAC address) and other byte is the physical device address (lower MAC address).
Lastly, in a four bytes address, two bytes for logical device address (upper MAC address) and other two bytes for the physical device address (lower MAC address).
It is always likely to ascertain a statement btw the open client and the organization logical device; therefore the following addresses are used:
The ClientMACAddress is set to 10.
If one byte addressing is supported then it sets ServerMACAddress upper = 01 and ServerMACAddress lower = empty.
Else, if two bytes addressing is supported then it sets ServerMACAddress upper = 01 and ServerMACAddress lower = 7F (ALL-STATIONS).
And, if four bytes addressing is supported, then it sets ServerMACAddress upper = 0001 and ServerMACAddress lower = 3FFF (ALL-STATIONS).