HDLC High-level Data Link Control
- Based on a number of ISO standards.
- Designed for point to point and multipoint operation.
- Is mostly used for point to point.
- Three Types of stations
- Primary Station
- Controls the operation of links
- Issues commands, or polls other stations.
- Employs the unbalanced configuration one primary and
one or more secondary stations.
- Secondary Station
- Other half of the controller-controlled side
- Responds to requests/commands from primary
- Stallings and others say these two modes are infrequently used.
- Combined Station
- Employs both half and full duplex connections.
- Point to point
- Balanced Configuration
- Both stations appear to be equals
- They discuss three modes of data transfer
- Normal Response Mode (NRM), for Unbalanced configuration
- Server transmits, clients respond.
- Server is in complete control
- Asynchronous response mode (ARM) , for Unbalanced configuration
- Clients may initiate a transfer
- Server is still responsible for all problems
- Asynchronous balanced mode (ABM)
- For peer to peer configuration.
- This works as either a connection-oriented or connectionless service
- In a connection oriented service the participants have some notion that a connection has been formed.
- Generally it knows when the exchange begins and ends.
- TFTP built a connection oriented service, it maintained corresponding port numbers and such.
- HTTP is connectionless.
- A connection is probably required for flow control.
- The frame format
- There is a single frame structure.
-
- The flag field, at the beginning and end
- 01111110
- This marks the beginning and end of the frame.
- the protocol uses bit stuffing to replace any sequence of 1s longer than 5 between the headers.
- When the bit string 111111111110 is encountered
- It is replaced with 111110111110110
- And then transmitted.
- The receiver knows to strip the next 0 when five 1s are encountered
- If a sixth 1 is encountered, followed by a 0 it marks the end of the packet.
- The address field
- This is the address of the secondary station
- Is 8 bits, but can be extended arbitrarily
- If it begins with a 0, it is extended.
- The next 8 bits are also part of the address.
- And the MSB of these is used as above.
- If it is all 1, it is a broadcast
- This field is not used in point to point, but retained for uniformity.
- Control Field.
- This is either 8 or 16 bits.
- There are three types of frames
- Information - contains user data
- Flow and error control is piggybacked
- Supervisory
- Acks/NACKS when piggybacking is not possible
- Unnumbered
- The first bit indicates the type of frame.
- A sequence number of 3 bits for the sender and receiver
- A poll/final bit
- In the Uframes, the m fields indicate the command.
- These establish or terminate connections
- Set up properties, like the number of bits in the control field.
- Wikipedia has a nice chart
- FCS
- CRC-CRTT is the default
- CRC-32 is optional
- operation
- HDLC operates in three phases
- Initialization
- Either side sends one of the connection request commands
- SNR, SAR, SAB, with an optional extend (7 bit sequence number)
- Acknowledged with a UA, ok or DM , not ok.
- Data Transfer
- I frames with data are sent.
- These are acked with either
- A return I frame if data is exchanged both ways
- A S frame if the data exchange is one way.
- The ack contains the number of the frame that the entity expects to receive next.
- Disconnect
- He works through an example, which is most informative.