[Back to Lecture Notes page]

Example Data Link Layer Protocols

Keep in mind that the DLL is only responsible for communication between TWO adjacent machines. Real networks obviously consists of a lot more than two machines, and machines will need to communicate with other machines which are not adjacent to it (ie. the sender and receiver are separated by a few intermediate machines). How messages from one machine get to another one a few "hops" away is NOT the responsibility of the DLL. Higher level layers (principally the Network layer) will work that out. The higher level layers will work out which is the next machine they need to pass the message to, and then give it to the DLL and say, "now you send it to that machine the best way you know how".

 

High-Level Data Link Control (HDLC)

The discussion here (and in the textbook) is on general features common to all the different versions developed by the different organisations.

Figure 3-24 Tanenbaum textbook p226.

 

DLL in the Internet

  1. To connect two routers responsible for different LANs
  2. We will look at LANs (local area networks) a lot more closely in the next topic.

  3. To connect home users to their ISPs (Internet Service Providers)

In these two situations, we still have two adjacent machines communicating with each other.

  1. Serial Line IP (SLIP)
  2. Point-to-Point protocol (PPP)

 

Serial Line Internet Protocol (SLIP)

RFCs stands for Request for Comments. They are documents published by the IETF (Internet Engineering Task Force). Most standards relating to the Internet comes in the form of RFCs. The main site for RFCs is http://www.rfc-editor.org . You will find a listing of other local RFC repositories from there.

0xC0 is a hexadecimal (base 16) number. In one byte (8-bits), it corresponds to the binary number 11000000. Don’t worry about this detail – just think of it as a special sequence of bits.

  1. No error correction or detection
  2. Any network layer protocols will have to do error correction or detection themselves if they want to use SLIP.

  3. Support only IP
  4. What this means is that SLIP assumes that packets coming from the network layer are put together by the network layer protocol called the Internet Protocol, or IP (we will look at the format of IP packets in the topic on the Network Layer). This means if my network doesn’t use IP in the network layer, I can’t use SLIP in my DLL.

  5. Sender and Receiver must know each other’s IP address in advance
  6. This is a big problem because most networks these days allocate their IP address dynamically on set-up. So, for example, when your modem dials in to your ISP, it gets allocated an address no one else connected to your ISP is using at that moment. This mean SLIP won’t work, because without that number to begin with, SLIP won’t even be able to connect to your ISP.

  7. No authentication
  8. SLIP doesn’t provide a way of asking the machine on the other side to verify it is the correct machine.

  9. Many different versions of SLIP exists.

 

Point-to-Point Protocol (PPP)

  1. Framing using a special bit flag
  2. A Link Control Protocol (LCP) for connecting and disconnecting.
  3. Eg, when a modem connects to an ISP server using PPP, the line is initially established by one side dialling and another side answering. Then test frames gets sent back and forth at an appropriate speed as indicated by the modem specifications, errors are detected and the speed is adjusted higher or lower until a satisfactory speed is reached. This is one example of the concept of negotiation at connection time.

  4. To negotiate an appropriate Network Control Protocol (NCP) for the network layer protocol used. A different network layer protocol will use a different NCP.

 

A PPP Frame

Figure 3-27 Tanenbaum textbook p232.

In the case of PPP, it assumes there are no intermediate machines between the sender and the receiver. So different address values are not necessary, since the sender will be putting in on a "direct line" to the receiver.

 

A PPP Communication Session

Figure 3-28 Tanenbaum textbook p233.

  1. Establish and negotiate link options (box labelled ESTABLISH)
  2. The two machines verify that the machines are the right ones (box labelled AUTHENTICATE)
  3. The two protocols used in PPP for authentication today are Password Authentication Protocol (PAP) and the Challenge Handshake Authentication Protocol (CHAP).

  4. Selecting an appropriate NCP.

If either 1 or 2 fails, the connection terminates. The "carrier" mentioned in the figure is the signal used in the transmission (eg. your dial tone over a phone line).

 

DLL in ATM networks

Figure 1-30 Tanenbaum textbook, pg 63.

ATM uses the word cell instead of frame. It is the same concept.

The format of an ATM cell is given in Figure 5-62. Have a look if you’re curious, but we’re not too concerned with the details of it at this stage. Most of the cell content deals with services which we will talk about in the topic on the Network Layer.

The checksum is ONLY for the header. Error control for the data from the higher layers is left to the higher layers. As I mentioned, most of the other parts of the header is actually constructed by the higher layers.

 

TC Sub Layer on the ATM

  1. Takes a sequence of cells from layer above
  2. Add HEC
  3. Convert to bit stream
  4. Match bit stream to the physical medium by inserting OEM cells
  5. Send to Physical Medium layer to transmit
  1. Receive bits stream from Physical Medium layer
  2. Locate cell boundaries
  3. Verify headers using HEC
  4. Process OEM
  5. Passes cells to layer above.

 

Note: In your readings in section 3.6.3 on the DLL in ATM, for the purpose of the exam, don’t worry about the lines mentioning SONET since I haven’t had time to cover it in the physical layer. Also, don’t worry about the details on page 237-238 under the heading "Cell Reception". I have modified the Readings page accordingly.

 

[Back to Lecture Notes page]