数据链路层

计算机网络第七版谢希仁著

一、数据链路层三个基本问题:

数据链路层协议有许多种,但有三个基本问题则是共同的。这三个基本问题是:

  • 封装成帧:封装成帧 (framing) 就是在一段数据的前后分别添加首部和尾部,然后就构成了一个帧。
    首部和尾部的一个重要作用就是进行帧定界。
    在这里插入图片描述
    当数据是由可打印的 ASCII 码组成的文本文件时,帧定界可以使用特殊的帧定界符。
    控制字符 SOH (Start Of Header) 放在一帧的最前面,表示帧的首部开始。另一个控制字符 EOT (End Of Transmission) 表示帧的结束。
    在这里插入图片描述

  • 透明传输:如果数据中的某个字节的二进制代码恰好和 SOH 或 EOT 一样,数据链路层就会错误地“找到帧的边界”。
    在这里插入图片描述
    解决方案:在PPP协议中异步传输使用字节填充,同步传输使用零比特填充方法

  • 差错控制 :在一段时间内,传输错误的比特占所传输比特总数的比率称为误码率 BER (Bit Error Rate)。
    误码率与信噪比有很大的关系。
    为了保证数据传输的可靠性,在计算机网络传输数据时,必须采用各种差错检测措施。
    在数据链路层传送的帧中,广泛使用了循环冗余检验 CRC 的检错技术。

二、点对点协议PPP

对于点对点的链路,目前使用得最广泛的数据链路层协议是点对点协议 PPP (Point-to-Point Protocol)。
PPP 协议在 1994 年就已成为互联网的正式标准。

在数据链路层,PPP协议(点对点协议)我们知道,互联网用户通常都要连接某个ISP才能接入到互联网。PPP协议就是用户计算机和ISP进行通信时所使用的数据链路层协议。
在这里插入图片描述
PPP的工作状态:
1、当用户拨号接入 ISP 时,路由器的调制解调器对拨号做出确认,并建立一条物理连接。
2、PC 机向路由器发送一系列的 LCP 分组(封装成多个 PPP 帧)。
3、这些分组及其响应选择一些 PPP 参数,并进行网络层配置,NCP 给新接入的 PC 机分配一个临时的 IP 地址,使 PC 机成为因特网上的一个主机。
4、通信完毕时,NCP 释放网络层连接,收回原来分配出去的 IP 地址。接着,LCP 释放数据链路层连接。最后释放的是物理层的连接。
可见,PPP 协议已不是纯粹的数据链路层的协议,它还包含了物理层和网络层的内容。
在这里插入图片描述

三、使用广播信道的数据链路层

广播信道可以进行一对多的通信。局域网使用的就是广播信道。局域网是在20世纪70年代末发展起来的。局域网技术在计算机网络中占有非常重要的地位。

局域网最主要的特点是:

  • 网络为一个单位所拥有;
  • 地理范围和站点数目均有限。

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

  • 具有广播功能,从一个站点可很方便地访问全网。局域网上的主机可共享连接在局域网上的各种硬件和软件资源。
  • 便于系统的扩展和逐渐地演变,各设备的位置可灵活调整和改变。
  • 提高了系统的可靠性、可用性和残存性。

在这里插入图片描述
最初的以太网是将许多计算机都连接到一根总线上。易于实现广播通信。当初认为这样的连接方法既简单又可靠,因为总线上没有有源器件。
总线的特点就是:当一台计算机发送数据时,总线上的所有计算机都能检测到这个数据。这种就是广播通信方式。但我们并不总是要在局域网上进行一对多的广播通信。
为了实现一对一通信,将接收站的硬件地址写入帧首部中的目的地址字段中。仅当数据帧中的目的地址与适配器的硬件地址一致时,才能接收这个数据帧。
总线也有缺点。若多台计算机或多个站点同时发送时,会产生发送碰撞或冲突,导致发送失败。因此以太网采用CSMA/CD协议。


下面知识点涉及数据链路层P84(为什么网络中只有三层的原因,通过下面的文字可以理解

当计算机要发送IP数据报时,就由协议栈把IP数据报向下交给适配器,适配器组装成MAC帧后,在物理层转换为比特流发送到局域网(本网络中的一个主机/路由器),在接收端,物理层接收比特流,上交给数据链路层,数据链路层对其进行差错检测(CRC检测),正确的话,再去除MAC帧首部和尾部,得到一个数据报。(发送端帧检验序列FCS的生成(FCS放在帧尾部)和接收端的CRC检验都是用硬件完成的,处理很迅速,不会延误数据的传输)

下面知识点涉及子网分组的转发:
在这里插入图片描述

当路由器收到一个待转发的数据报,在从该路由表根据分组转发算法(P134页,P141页)得到下一跳路由器(本局域网中的一个路由,可以通过其连接到其他网络)的IP地址后,不是把这个地址填入IP数据报,而是送交数据链路层的网络接口软件。
网络接口软件负责把下一跳路由器的IP地址转换成硬件地址(使用ARP协议,ARP细节查看P125页,如何在局域网内根据目标主机/路由的IP地址找到硬件地址)
然后把该硬件地址放在链路层的MAC帧的首部(适配器的作用是把该IP数据组装成MAC帧),适配器发送MAC帧到局域网(网络中),然后根据这个硬件地址找到下一跳路由器。


版权声明:本文为cai_ing原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。