计算机网络——数据链路层

一、信道

数据链路层使用的信道主要有两种,即点对点信道广播信道

#点对点信道:这种信道使用一对一的点对点通信方式。

#广播信道:这种信道使用了一对多的广播通信方式,因此过程较为复杂,必须使用专用的共享信道协议来协调主机的数据发送。

#简单的传输模型

计算机网络——数据链路层

#三个基本问题:封装成帧,透明传输,差错控制

封装成帧:在一段数据前后分别添加首部和尾部,然后就构成了一个帧。用以确定帧的界限。首部和尾部的一个重要作用就是进行帧定界。

计算机网络——数据链路层

透明传输:

差错控制:

二、PPP(点对点)

1.PPP协议有三个组成部分:

(1)一个将IP数据报封装到串行链路的方法。

(2)用来建立、配置和测试数据链路连接的链路控制协议LCP

(3)网络控制协议NCP

2.PPP协议的帧格式

PPP帧的首部和尾部分别为4个字段和2个字段。

#标志字段F=0x7E(01111110B)。

#地址字段A只置为0xFF。

#控制字段C通常置为0x03.

(ppp是面向字节的,所有的PPP帧的长度都是整数字节。)

计算机网络——数据链路层

3.透明传输

(1)当PPP用在同步传输链路时,协议规定采用硬件来完成比特填充(和HDLC一样)。

        #零比特填充(同步传输)

  •      PPP 协议用在 SONET/SDH 链路时,使用同步传输(一连串的比特连续传送)。这时 PPP 协议采用零比特填充方法来实现透明传输。
  •      在发送端,只要发现有 5 个连续 1,则立即填入一个 0。
  •      接收端对帧中的比特流进行扫描。每当发现 5 个连续1时,就把这 5 个连续 1 后的一个 0 删除。

(2)当PPP用在异步传输时,就是用一种特殊的字符填充法。

        #字符填充(异步传输)——将转义字符定义为0x7D

  •     将信息字段中出现的每一个 0x7E 字节转变成为 2 字节序列 (0x7D, 0x5E)。 
  •     若信息字段中出现一个 0x7D 的字节, 则将其转变成为 2 字节序列 (0x7D, 0x5D)。
  •     若信息字段中出现 ASCII 码的控制字符(即数值小于 0x20 的字符),则在该字符前面要加入一个 0x7D 字节,同时将该字符   的编码加以改变。  (如 0x03 => 0x7D,0x23)

4.补充说明

  1. PPP 协议之所以不使用序号和确认机制是出于以下的考虑:
  • 在数据链路层出现差错的概率不大时,使用比较简单的 PPP 协议较为合理。
  • 在因特网环境下,PPP 的信息字段放入的数据是 IP  数据报。数据链路层的可靠传输并不能够保证网络层的传输也是可靠的。
  • 帧检验序列 FCS 字段可保证无差错接受。    

    2.PPP协议的工作状态

  • 当用户拨号接入 ISP 时,路由器的调制解调器对拨号做出确认,并建立一条物理连接。
  • PC 机向路由器发送一系列的 LCP 分组(封装成多个 PPP 帧)。
  • 这些分组及其响应选择一些 PPP 参数,并进行网络层配置,NCP 给新接入的 PC 机分配一个临时的 IP 地址,使 PC 机成为因特网上的一个主机。
  • 通信完毕时,NCP 释放网络层连接,收回原来分配出去的 IP 地址。接着,LCP 释放数据链路层连接。最后释放的是物理层的连接。

#可见,PPP 协议已不是纯粹的数据链路层的协议,它还包含了物理层和网络层的内容。

计算机网络——数据链路层

三、CSMA/CD协议(载波监听多点接入 / 碰撞检测  )(广播一对多)

  1. 争用期(碰撞窗口):以太网的端到端往返时延2τ。为了方面,直接使用比特作为争用期的单位,争用期为512bit,即争用期是发送512bit所需要的时间

        !#经过争用期这段时间还没有检测到碰撞,才能肯定这次发送不会发生碰撞。

    2.二进制指数类型退避算法(发生碰撞后的退避算法)

    发生碰撞的站在停止发送数据后,要推迟(退避)一个随机时间才能再发送数据。
    基本退避时间取为争用期 2τ
    从整数集合 [0, 1, … , (2k - 1)] 中随机地取出一个数,记为 r。重传所需的时延就是 r 倍的基本退避时间
    参数 k 按下面的公式计算:
                 k = Min[重传次数, 10]
       当 k <= 10 时,参数 k 等于重传次数。

    当重传达 16 次仍不能成功时即丢弃该帧,并向高层报告。

    3.最短有效帧长

     最短有效帧长 = 争用期 * 链路传输速率

     #以太网规定了最短有效帧长为 64 字节,凡长度小于 64 字节的帧都是由于冲突而异常中止的无效帧。

        10 Mbit/s 以太网取 51.2 μs 为争用期的长度。

    4.强化碰撞

    当发送数据的站一旦发现发生了碰撞时(以下都是在收到碰撞信息后,即信息发生碰撞后继续传递到端时才做出的反应,不是在碰撞发生瞬间就采取措施,因为有传播时延,此时端并不知道发生了碰撞):
    (1) 立即停止发送数据;

   (2) 再继续发送若干比特的人为干扰信号  (jamming signal)(32bit或48bit),以便让所有用户都知道现在已经发生了碰撞。  

    5.帧间最小间隔

        协议规定两个帧之间的最小间隔为9.6μs,相当于96bit的发送时间。

       !#特别注意,在发送碰撞后采用退避算法的时间到后,发送端也不能立即发送帧,必须等待帧间最小间隔 后才能开始发送。即规避时间到后不能立即发送,仍需等待 帧间最小间隔,如果此期间信道一直空闲才能开始发送(从定义出发,信道上两个帧之间的最小间隔,所以信道得空闲一个间最小间隔才能有新的帧传输)

    6.协议要点

    (1) 准备发送。但在发送之前,必须先检测信道。
    (2) 检测信道。若检测到信道忙,则应不停地检测,一直等待信道转为空闲。若检测到信道空闲,并在 96 比特时间内信道保   持空闲(保证了帧间最小间隔),就发送这个帧。
    (3) 检查碰撞。在发送过程中仍不停地检测信道,即网络适配器要边发送边监听。这里只有两种可能性:
    ①发送成功:在争用期内一直未检测到碰撞。这个帧肯定能够发送成功。发送完毕后,其他什么也不做。然后回到 (1)。

    ②发送失败:在争用期内检测到碰撞。这时立即停止发送数据,并按规定发送人为干扰信号。适配器接着就执行指数退避算法,等待 r 倍 512 比特时间后,返回到步骤 (2),继续检测信道。但若重传达 16 次仍不能成功,则停止重传而向上报错。

    7.以太网信道的利用率

    发送一个帧需要占用信道的时间是 T0 + τ,比这个帧的发送时间要多一个单程端到端时延τ。
    这是因为当一个站发送完最后一个比特时,这个比特还要在以太网上传播。

    在最极端的情况下,发送站在传输媒体的一端,而比特在媒体上传输到另一端所需的时间是 τ。

     要提高以太网的信道利用率,就必须减小 τ 与 T0之比。

    在以太网中定义了参数 α,它是以太网单程端到端时延 τ 与帧的发送时间 T0之比:

                            α = τ/T0

  •        α →0,表示一发生碰撞就立即可以检测出来, 并立即停止发送,因而信道利用率很高。
  •        α 越大,表明争用期所占的比例增大,每发生一次碰撞就浪费许多信道资源,使得信道利用率明显降低。
    对以太网参数 α 的要求是:
  •     当数据率一定时,以太网的连线的长度受到限制,否则  的数值会太大。
  •     以太网的帧长不能太短,否则T0的值会太小,使 α 值太大。 

信道利用率最大值 Smax

        Smax = T0/(T0+τ)=1/(1+α)