数据链路层的几个概念

  1. 数据发送模型

    image-20211015144459603

    本章只从链路层观察帧的流动

  2. 数据链路层的信道类型

    数据链路层使用的信道主要有一下两种类型:

    • 点对点信道。这种信道使用一对一的点对点通信方式
    • 广播信道。这种信道使用一对多的广播通信方式,因此过程比较复杂。广播信道上连接的主机很多,因此必须使用专用的共享信道协议来协调这些主机的数据发送
  3. 链路与数据链路

    链路是一条点到点的物理线路段,一条链路只是一条通路的一个部分

    数据链路除了物理链路外,还必须有通信协议来控制这些数据的传输。若把实现这些协议的硬件和软件加到链路上,就构成了数据链路

    • 现最常用的方法是使用适配器(即网卡)来实现这些协议的硬件和软件
    • 一般的适配器都包括了数据链路层和物理层这两层的功能
  4. image-20211015152138720

  5. 数据链路层像个数字管道

    常常在两个对等的数据链路层之间画出一个数字管道,而在这条数字管道上传输的数据单位是帧

三个基本问题

  1. 封装成帧

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

      image-20211015153451076

      MTU:最大传输单元,在以太网中最大不超过1500字节

    • 用控制字符进行帧定界的方法举例:

      帧还未发送完,发送端出了问题,只能重发该帧。接收端却接收到了前面的”半截子帧“,他由于没有找到帧结束符,会抛弃掉

      image-20211015153855510

  2. 透明传输

    若传输的数据是ASCII码中的”可打印字符(共95个)“集时,若传输的数据不是仅由“可打印字符”组成时,就会出问题(帧开始符和帧结束符由不可打印字符组成),如下:

    image-20211015153958099

    1. 用字节填充法解决透明传输的问题

      发送端的数据链路层在数据中出现控制字符“SOH”或“EOT”的前面插入转义字符字符“ESC”(其十六进制编码是1B)

      字节填充或字符填充--接收端的数据链路层在将数据送往网络层之前删除插入的转义字符

      如果转义字符也出现在数据当中,那么应在转义字符前插入一个转义字符。当接收端收到连续两个转义字符时,就删除其中前面的一个

      image-20211015154810739

  3. 差错控制

    传输过程中可能会产生比特差错:1可能会变成0而0也可能变成1。

    在一段时间内,传输错误的比特占所传输比特总数的比率称为误码率BER(bit error rate)

    误码率与信噪比有很大的关系

    为保证数据传输的可靠性,在计算机网络传输数据时,必须采用各种差错检测措施

    1. 循环冗余检验CRC

      在数据链路层传送的帧中,广泛使用了循环冗余检验CRC的技术

      在发送端,先把数据划分为组。假设每组k个比特

      假设待传送的一组数据M=101001(现在k=6)。我们在M后面再添加供差错检测的n位冗余码一起发送

      image-20211015161632378

      image-20211015161714103

      计算方法:11得0,01得1,最后传数据M+R,也就是101001001,到接收端用(M+R)/P,如果余数为0则表示没有出错,否则表示数据出错要扔掉(数据链路层决定除数p以及加多少位0),FCS可以用CRC这种方法得出,但CRC并不是得出FCS的唯一方法

73375-rt8lx8ce5f7.png

两种情况下的数据链路层

  1. 使用点对点信道的数据链路层

    1. PPP协议使用场合:PPP协议拨号有身份验证的功能,可以记账,记下谁在什么时候访问的

    81493-32pje3o94bw.png

    1. 现在全世界使用的最多的数据链路层协议是点对点协议(PPP协议),用户使用拨号电话线接入因特网时,一般都是使用PPP协议
    2. PPP协议应该满足的要求:
    • 简单-这是首要要求
    • 封装成帧
    • 透明性
    • 支持多种网络层协议:就好比同一句话,用英文或中文讲出来
    • 支持多种类型链路:光纤、双绞线等
    • 差错检测
    • 检测连接状态:检测欠费或者账号密码错误等
    • 最大传送单元:不超过1500字节
    • 网络层地址协商
    • 数据压缩协商:在传送数据前压缩一下,然后接收后解压缩
    1. PPP协议的组成

    1992年制定了PPP协议。经过1993年和1994年的修订,PPP协议已成为因特网的正式标准[RFC 1661]

    PPP协议有三个组成部分:

    数据链路层协议可以用于异步串行或同步串行介质

    它使用LCP(链路控制协议)建立并维护数据链路连接:负责身份验证,它通过后网络层协议就可以用了

    网络控制协议(NCP)允许在点到点连接上使用多种网络层协议,如图所示

    53208-613yleg4wt9.png

    1. PPP协议实现透明传输的两种方法

    PPP协议帧格式:F->帧头,A->目标地址,协议->表示信息部分里面是什么

    44359-c2g9rnpg5vl.png

    透明传输的实现方法:

    1. 字节填充

    24114-6q9pl01vow.png

    1. 零比特填充(比特流)

    PPP协议用在SONET/SDH链路时,是使用同步传输(一连串的比特连续传送)。这时PPP协议采用零比特填充方法来实现透明传输。

    在发送端,只要发现有5个连续的1,则立即填入一个0。接收端对帧中的比特流进行扫描。每当发现5个连续1时,就把这5个1后的一个0删除

    03356-ct6wniqnzy4.png

    1. 不使用序号和确认机制

    PPP协议之所以不使用序号和确认机制是出于以下的考虑:

    • 在数据链路层出现差错的概率不大时,使用比较简单的PPP协议较为合理
    • 在因特网环境下,PPP的信息字段放入的数据是IP数据报。数据链路层的可靠传输并不能够保证网络层的传输也是可靠的
    • 帧检验序列FCS字段可保证无差错接收
    1. PPP协议的工作状态

    33803-jqtju44einm.png

    86576-awb15seupj.png

  2. 使用广播信道的数据链路层

以太局域网(以太网)

  1. 局域网的拓扑(拓扑是指物理上怎么连接的)

76505-z4l9b81mmhi.png

  1. 局域网的特点与优点

局域网最主要的特点是:网络以一个单位所拥有,且地理范围和站点数目均有限

局域网具有如下的一些主要优点:

  • 具有广播功能,从一个站点可很方便地访问全网。局域网上的主机可共享连接在局域网上的各种硬件和资源
  • 便于系统的扩展和逐渐地演变,各设备的位置可灵活调整与改变
  • 提高了系统的可靠性、可用性和生存性
  1. 共享通信媒体(一个链路是所有计算机共享的)

    1. 静态划分信道
    • 频分复用
    • 时分复用
    • 波分复用
    • 码分复用
    1. 动态媒体介入控制(多点接入)
    • 随机接入(主要被以太网采用)
    • 受控接入,如多点线路探询(polling),或轮询(目前已不被采用)
  2. 认识以太网

最初的以太网将许多计算机都接到一根总线上。当初认为这样的连接方法既简单有可靠,因为总线上没有有源器件(在一根总线上,只能同时有一个发一个收)

79581-t6vzfmy784m.png

88073-mjsovxny2le.png

  1. 以太网提供的服务是不可靠的交付,即尽最大努力的交付

  当接收站收到有差错的数据帧时就丢弃此帧,其他什么也不做,差错的纠正由高层来决定

  当高层发现丢失了一些数据而进行重传,但以太网并不知道这是一个重传的帧,而是当作一个新的数据帧来发送

  1. CSMA/CD协议

载波监听多点接入/碰撞检测 以太网使用CSMA/CD协议

“多点接入”表示许多计算机以多点接入的方式连接到一根总线上
“载波监听”是指每一个站在发送数据之前先要检测一下总线上是否有其他计算机在发送数据,如果有,则暂时不要发送数据,以免发生碰撞
“载波监听”就是用电子技术检测总线上有没有其他计算机发送的数据信号

碰撞检测

26362-00c3mmn4aruvh.png

重要特性

使用CSMA/CD协议的以太网不能进行全双工通信而只能进行双工交替通信(半双工通信)

每个站在发送数据之后的一小段时间内存在着遭遇碰撞的可能性。这种发送的不确定性使整个以太网的平均通信量远小于以太网的最高数据率

争用期

30793-pfxoizivoqk.png

二进制指数类型退避算法

发生碰撞的站在停止发送数据后,要推迟(退避)一个随机时间才能再发送数据

  • 确定基本退避时间,一般是取为争用期2t
  • 定义参数k
      72034-i2crw3hij0b.png
  • 从整数集合[0, 1,...,(2**k-1)]中随机地取出一个数,记为r。重传所需的时延就是r倍的基本退避时间
  • 当重传达16次仍不能成功时即丢弃该帧,并向高层报告

集线器

集线器现在很少见了,知道就行

传统以太网最初是使用的粗同轴电缆,后来演进到使用比较便宜的粗同轴绞线,最后发展为使用更便宜和更灵活的双绞线。不用电缆而使用无屏蔽双绞线。每个站需要用两对双绞线,分别用于发送和接收

这种以太网采用星型拓扑,在星形的中心则增加了一种可靠性非常高的设备,叫做集线器

48809-1lm8x73rhh3.png

集线器的一些特点

  集线器是使用电子器件来模拟实际电缆线的工作,因此整个系统仍然像一个传统的以太网那样运行。集线器使用了大规模集成电路芯片,因此这样的硬件设备的可靠性已大大提高了

52810-lj4ay00l4u.png

62193-mxyaoarst6d.png

10Base-T

  10Base-T的通信距离稍短,每个站到集线器的距离不超过100m,这种10Mb/s速率的无屏蔽双绞线星形网的出现,既降低了成本,又提高了可靠性

  10Base-T双绞线以太网的出现,是局域网发展史上的一个非常重要的里程碑,它为以太网在局域网中的统治地位奠定了牢固的基础

以太网的信道利用率

  1. 以太网的信道被占用的情况:

  争用期长度为2t,即端到端传播时延的两倍。检测到碰撞后不发送干扰信号
帧长为L(bit),数据发送速率为C(b/s),因而帧的发送时间为L/C=T0(s)

  1. 以太网的信道利用率

  一个帧从开始发送,经可能发生的碰撞后,将再重传数次,到发送成功且信道转为空闲(即再经过时间t使得信道上无信号在传播)时为止,是发送一帧所需的平均时间

  45850-jrmlreylrtk.png
  
  要提高以太网的信道利用率,就必须减小t与T0之比。在以太网中定义了参数a,它是以太网单程端到端时延t与帧的发送时间T0之比:

  79475-omnn62a5kq.png

31167-rjgrkr5re9h.png

  以太网的信道利用率:最大值

  95800-56gfebdfc8c.png

MAC层

51127-mitcqupojfn.png

适配器检查MAC地址

适配器从网络上每收到一个MAC帧就首先用硬件检查MAC帧中的MAC地址

  • 如果是发往本站的帧则收下,然后再进行其他的处理
  • 否则就将此帧丢弃,不再进行其他的处理

“发往本站的帧”包括以下三种帧:

  • 单播帧(一对一)
  • 广播帧(一对全体)
  • 多播帧(一对多)
最后修改:2021 年 11 月 26 日
如果觉得我的文章对你有用,请随意赞赏