HDLC is capable of operating in one of two modes:
Half Duplex ( I talk, then you talk )
Full Duplex ( We can both talk at the same time via separate channels )
It can work in point to point mode or point to multipoint ( a bunch of stations sharing the same cable ). When you have a bunch of people sharing a cable, you have to control and order who transmits and when ( media access control ).
HDLC specs talk about three main areas:
There are three types of stations:
The primary is the one that controls the link and sends commands. The secondary cannot transmit commands, but can transmit responses. A combined station can both send commands and receive responses.
There are three types of configurations:
In an unbalanced network, you have one primary ( called a station ) and one or more secondaries. ?I?m the primary, I?m in control, you guys listen and then talk to me?..you are not allowed to just start talking without my having indicated that you may do so?
In a balanced network, we have two combined stations. They can both send commands and they can both respond. ?We?re both equals, I can tell you to do something and you can tell me to do something??we?re peers !!....how nice?
In a symmetrical configuration, we have one physical station at each end of the link with two logical stations. One is a primary and the other is a secondary. ?We can both talk and listen at the same time? I can tell you to do something and you can tell me to do something all at once?.lovely?.
There are three response modes:
Normal Response Mode ( NRM )
Asynchronous Response Mode ( ARM )
Asynchronous Balanced Mode ( ABM )
NRM: This is the main mode in use. The secondary must wait for permission from the primary before transmitting any frames.
ARM: In this mode, the secondary is allowed to send frames to the primary without asking permission from the primary. However, if the secondary wants to send frames to another secondary, it must send the frames through the primary first ( the primary acts like a form of relay station ).
ABM: In this mode, we use combined stations and each end can just go ahead and send frames without permission from anyone else.
We?ll look at the actual frames next.
Not only were IBM protocols proprietary, if they finally did make them public, you found that their hardware didn't meet their own (written) specifications.
That way, when you tried to attach your 3rd party equipment, it wouldn't always work. So IBM would come in and say "Hey, it works with IBM equipment....".
Always good for finger pointiing, back and forth, between IBM and it's competitors. I saw that a hundred times.
Yes, that's one of the real pains with all that proprietary stuff.
There are three types of HDLC frames:
Information Frames ( I- Frames )
Supervisory Frames ( S- Frames )
Unnumbered Frames ( U ? Frames )
I- frames do as they sound. They carry user data ( they do some other things, but we?ll leave it there )
S ? frames transport control information
U ? frames are used for managing the actual link
The HDLC frame has six fields:
S-frames do not have a body field.
The flag is a pattern of eight bits that delimits the frame. 01111110. It serves to show the beginning of a frame and also to show the end. It also has a timing function. Similar functions that we see in 802.11 frames.
When we have a frame being transmitted from a primary station, the address is called a ?to?address. In other words, it is sending to a secondary. The address is the address of the secondary that the frame is going to. If a frame is being transmitted by a secondary, the address is called a ?from?address and is the address of the station ( called an STA?..looks familiar ) that is sending it. Note that there is no mention of the primary address. It is not needed and saves frame space. Codes ( to be discussed later ) are used to indicate the operating mode. If a secondary and primary are present , there can only be one primary, but possibly multiple secondaries. All comms to a secondary must go through a primary. The secondary simply sends a frame after it has been given permission and the primary accepts it.
The Frame body can contain user data, management data etc
That?s more like it. A CRC is run on the frame and the result is placed in the FCS field. Different polynomials are usually used for different technologies e.g. Ethernet and HDLC.
Same as the one at the beginning. To save a little bandwidth, some implementations of HDLC allow one frame?s end flag to be used as the beginning of another frame ( nose to tail ). What happens if data happens to simulate a flag ? A protocol called ?Bit Stuffing? is put in place where a zero is inserted after every five ones that appear in data ( flag is 0, six ones, 0 ). There are a bunch of rules for Bit Stuffing and Unstuffing ( at the receiver ).
Need to see how my Cuban black beans and rice are doing. Slow cooked. Lovely. If you go to a good Cuban restaurant and order Ropa Vieja ( Old Clothes )?.it?s shredded beef or pork slow cooked for hours in garlic, tomatoes and peppers?.awesome. All natural.
And a quick check of the news?..Jack in the Box have a new bacon flavored milkshake?.it?s on Google.
Now isn?t that special??
Very nice. Black beans, roasted red peppers, grilled onions and roast pork. If anyone likes Southwestern food/Caribbean food, Bobby Flay?s the way to go:
If you like a good burger, Bobby?s the man. I can usually burn water, but his easy to make recipe videos are just the ticket. He?s not concerned about accurate measurements. Dash of this, dash of that. Truly good food.
If you want a dry take on food and travel, Tony Bourdain may or may not be the man for you. I love his shows. Very funny at times:
I was looking forward to a nice bacon milkshake, but the girl at Jack in The Box couldn?t tell me if the butylated hydroxytoluene, butylated hydroxyanisole, tert-butylhydroquinone, and propyl gallate were fresh out of the test tube or whether it was canned?.pity. Oh well?.must head off to McDonalds to get a nice strawberry milkshake. According to the ad, it contains real strawberries !!
What a concept.....
Anyways, back to the grindstone.
The control field contains a number of bits that are important. If the first bit is a zero, that signifies an I frame. If the first and second bits are 10, that signifies a supervisory or S frame. If the first and second bits are one, one, that signifies an unnumbered frame, or U frame.
The fifth bit is a P/F bit.
When a primary station sends to a secondary station, we have the P/F bit set to one to indicate a poll.
When a frame is sent from a secondary station, the P/F bit is set to one to indicate ?final?.
We will look at a few other parts of the control field in the next post.
The FCS field can be either two or four bytes long.
Tomorrow, we?ll round up HDLC by looking at S and U frames. After that we?ll see how HDLC ties into LLC/SNAP and then we?ll see how that ties into part of one of the questions asked.
Bering Sea Gold is coming on telly tonight. Well worth watching:
After a long day at the office, maybe a little Beegie Adair and Tony Bennett to unwind with?
Two class acts
The control field contains N (S) and N (R) values in I frames, N (R) values in S frames, and neither N (S) nor N (R) valued in U frames. These values are used to keep track of the sequence of frames, just as we do with TCP. ?I send you this, and I?m expecting that?.
In bits 3 and 4 ( sometimes called 2 and 3 depending on whether we call the first bit zero or one ), we have a code.
Supervisory frames use four codes:
If the code bits read ?00?, we have a Receiver Ready (RR) frame. There are four possible areas of use:
1. ACK: RR is used by a station which has correctly received a frame or a number of frames, and the receiver has no data to send to the original sender. If it does have data to send, it acknowledges the original sent data by ?piggy-backing? the acknowledgement in an I frame. This applies to some other situations as well. It sets the code to ?00? and the N(R) field contains the value of the next frame expected by that station. Very similar to TCP sequencing. More than one frame can be acknowledged.
2. POLL: When the code is set to ?00? and the P/F bit is set to a one, it means that the primary station is polling the secondary to see if it has any data to send.
3. NEGATIVE RESPONSE TO POLL: When the code is set to ?00?, and the station is a secondary, with the P/F bit set to a one ( indicating ?Final? ), it simply means ?I have no more data to send to you at this time?
4. POSITIVE RESPONSE TO SELECT: When the code is set to ?00?, and the station is a secondary, with the P/F bit set to a one ( indicating ?Final? ), it means that the secondary is saying ?I?m ready to accept data from you?. Although this looks the same as above, the responses are to different things: Poll in the first case ( from the primary ) and Select in the second case ( from the primary ). Select will be discussed next.
If the code bits read ?10?, we have a Receiver Not Ready (RNR) frame. There are three possible areas of use:
1. ACK: When the code is set to ?10?, the station which has received data from the sending station is saying ?I?ve correctly received all frames up to one less than the number in the N(R) field. In other words, the next frame that I expect to see from you should be the value in the N(R) field?.
2. SELECT: When the code is set to ?10?, the primary is telling the secondary ?I want to send data to you. I am not asking you if you have data to send to me.?
3. NEGATIVE RESPONSE TO SELECT: When the code is set to ?10?,and the P/F bit is set to a one, the secondary is saying to the primary ? Sorry, I know you want to send me data, but I can?t right now?. In the latter case, perhaps the secondary is too busy processing previous data, for example.
If the code bits read ?01?, we have a Reject ( REJ) frame. The reject frame tells the sender that the receiver needs the transmitter to re-send the frame marked in the N(R) field and all subsequent frames
If the code bits read ?11?, we have a Selective Reject ( REJ) frame.
This used by a receiver to tell the sender ?Hey, the particular frame that is in the N(R) field was received incorrectly. Please just resend that particular frame?
What fun that was?..the good news is that was just the warm-up?..
Again, we will see later that this is background for probably one of the least understood areas of WLAN analysis. It will also tie into material in one of the original questions.
If you ever go to a client?s site and one of the IT guys says ( and this happened to me a few times ) ?I know all about wireless?..it?s simple?..it?s just ethernet with a radio transmitter?.can?t you hurry up?it?s all plug and play don?t you know?, I?ll give a question to ask them that ( so far ) has left all of them standing there blinking. Only use it on the smart-alecks. If the IT guy says ?Hey, this is all new to me?.let me know when you?re done?..here?s the access code for free soft drinks?, then there will be a special place in the hereafter for them and their ilk. If they also tell you who to avoid and the quickest way back to the hotel to beat the traffic, then a candle should be lit for them. If they say ?Help yourself to the snacks and bye the way, we really appreciate your efforts?..well that just becomes too emotional to write about??.
Tomorrow, we?ll take a look at the last portion of HDLC that sets the back ground for answering part of a question, then we?ll get into answering the questions.
U-Frames or Unnumbered frames are concerned with five main areas:
From our previous discussion, we mentioned the different modes a station can be in ( normal response mode, aysnchronous response mode, balanced mode ). We can send commands to ?set? these modes. Examples are:
SNRM: Set Normal Response Mode
SARM: Set Asynchronous Response Mode
SABM: Set Asynchronous Balanced Mode
These will be familiar to anyone is familiar with the old Cisco CCNP material for WANs etc. There are some commands/responses which are not covered here. Information can be easily obtained online.
These codes are used when a numbered sequence ( for example in a series of user data frames ) is not rquired. They are usually used to send or ask for specific pieces of information related to the actual link itself. The UI or Unnumbered Information code is used to transmit specific link information.
Pretty much tells us as it is. A DISC command is sent in order to terminate the connection. An RD ( Request Disconnect ) is sent by a station to request the other to send a DISC command. If a station is not happy about being sent a command to set a particular mode, it sends a DM ( Disconnect Mode ) response to the initiating station to say ?Sorry, I can?t or won?t use that mode?.
When used as a command, SIM ( Set Initialization Mode ) tells the other station to prepare to initialize it?s data link control function. After the SIM command is sent, UI frames are sent. We can also have the same code used as a request ( RIM?.Request Initilaization Mode ) in order for the other station to send a SIM.
There are three misc commands/responses:
RSET means ?reset? and lets the station you are talking to know that you are going to reset your sequence numbers ( N(S) etc ), and it tells the other station to do the same.
XID means ?Exchange Identification?. You ask the other station what it?s address is, basically.
FRMR means ?Frame reject? . If you have received a U frame from the other station and you can?t make head nor tail of what it means, you send an FRMR frame.
As mentioned previously, HDLC gives us an excellent starting point for understanding Frame Relay and PPP ( Point to Point Protocol ). From PPP, you can move onto understanding PPTP ( Point to Point Tunneling Protocol ) by reading the RFCs associated with it. From there, the RFCs for L2F ( Layer 2 Forwarding ) can be read. The best parts of PPTP and L2F were ?combined? to give us L2TP ( Layer 2 Tunneling Protocol ). What has that to do with Wi-Fi ? Plenty. VPNs are an important component of many networks today, as Chapter 2 of the CWSP study guide discusses. The mechanics of IPSec itself are fairly easy to understand. ISAMKP/IKE, not so much. L2TP is often used in conjunction with IPSec. I have had to work on several VPN troubleshooting problems, where the resident security expert was unable to figure what was going on, as his knowledge of HDLC was almost non-existent, which meant that he was unable to get a true, in-depth understanding of what was going on with L2TP during debugs etc.
This was just an introduction to HDLC. Flow control, media access functions, addressing, error detection. All vital concepts. There are mountains of information available via the Internet/RFCs. I would strongly advise anyone beginning in Wi-Fi to try and read through at least one RFC. There are plenty of basic ones relating to TCP/IP for example. This will give you a ?feeling?for how they are written. That writing style often is seen in some of the IEEE docs ( sometimes because some of the same people who worked on RFCs also worked on 802.11 ).
For our purposes here, a background knowledge of HDLC will help us understand the first part of answering the original questions??.ummm.......what were they again ?
Some good information on CRC/FCS:
Not a fan of most chain restuarants, but had a good experience yesterday. Chain called Pei-Wei. If there?s one in your neighborhood, maybe worth a checkout. The guys doing the cooking were unbelievable. Six guys side to side. Flames everywhere. Red hot woks all over the place. The meal has to be ready in ten minutes or less. Trully good food. I?m no chef, but today was able to make the Coconut Shrimp and Mango Rolls real quick.
The taste was so fresh:
Honestly i'm not getting the point.
Writing the history of WLAN/LAN doesn't make understanding MIC/ICV differences, easier rather it's harder, at least for me cause i'm reading (and learning) much more than i should do as a student.
Basically what i have asked for is much simpler than PPP, L2TP, HDLC,PPTP etc. If we want to write about "history", and stay in topic then, we should start from IP frame format, MAC frame Format and then discuss about how TKIP's MIC and WEP's ICV is calculated and their eventual differences.
1. I stated quite clearly earlier on that you could wait until the end. That starts today.
2. If you think I?ve put all this work in just for you, then you?re wrong. I?ve had a bunch of similar questions from other people who have contacted me off-line.
3. It?s because you don?t understand the history of 802.11, that I?m writing this, as will be clearly displayed in the next post.
4. Don?t tell me to ?stay on topic?. In fact, don?t tell me anything. I put up information on this forum that I can guarantee you will be difficult to find anywhere else.
5. When you come into a stranger?s house, politeness is usually a requirement.
6. You don?t know me and I don?t know you. I have been battling physical problems for the last five years that I just hope others don?t have to go through. Instead of spending time with my family at the weekend, I put all that together so that you would have an in depth understanding of what is going on. I have crippling arthiritis in my fingers ( which I shall get treated this year, when our finances improve, and I WILL get it fixed ). I won?t go into the details of what my hands feel like now. I guarantee this will be the last detailed post I put up on this forum. I don?t mind onpassing information. I don?t even mind when the vast majority of my replies ( not all like this, I actually write just one or two paragraphs at times?.there?s a shock ) and those of many others are not even ?thanked? at the end.
If you want to continue this discussion, do it via a PM, man to man.
I?ll finish this one up and one other outstanding one, and then that?s the end of it as far as detailed posts are concerned. I have twelve other forums where what I do is actually ( and here?s a strange word ) appreciated.
Anything else, I?m sure there?s a two line ?sound bite? for every answer, which is what you are looking for.
As part of your "life journey", try living off food stamps for a year, as my wife and I had to do up until November.
Life can change in a heartbeat.