本系列文章为408考研计算机网络知识点整理仅涉及到一些重要的考研知识点并不完全包含全部知识,参考书目和视频资料:谢希仁 计算机网络(第8版),王道考研计算机网络,B站湖科大计算机网络微课堂。

概述

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

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

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

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

3.1.1  数据链路和帧 

链路(link)是一条无源的点到点的物理线路段,中间没有任何其他的交换结点。一条链路只是一条通路的一个组成部分。

数据链路(data link) 除了物理线路外,还必须有通信协议来控制这些数据的传输。若把实现这些协议的硬件和软件加到链路上,就构成了数据链路。现在最常用的方法是使用适配器(即网卡)来实现这些协议的硬件和软件。一般的适配器都包括了数据链路层和物理层这两层的功能。   

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

3.1.2 封装成帧

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

3.1.2 透明传输

透明传输:指数据链路层对上层交付的传输数据没有任何的限制,就好像数据链路层不存在一样。比如说,如果上层交付的数据中也存在帧定界标志,如下图所示,那么接收方接收到第一个flag时认为帧开始,没有错误,但是当其就收到第二个flag时认为帧结束了,这是不正确的。如果数据链路层不对这样的情况做出处理,则这样的传输是不透明的,因为在这样的情况下,要求上层交付的传输数据中不能包含flag,否则就会出错。对于这种情况,一种处理方法就是对上层交付的数据进行扫描,如果发现flag则在前面添加转义字符即可。即发送端的数据链路层在数据中出现控制字符“SOH”或“EOT”的前面插入一个转义字符“ESC”(其十六进制编码是 1B)。

  • 面向字节的物理链路,使用字节填充的方式实现透明传输。
  • 面向比特的物理链路,使用比特填充的方式实现透明传输,比如下图中,帧定界标志假设为0111110,在上层交付的传输数据中也存在两个0111110,则可以使用0比特填充的方式实现透明传输,即在连续的5个1后插入一个0,使得帧的定界符在帧中唯一。

3.1.3 差错检测

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

在一段时间内,传输错误的比特占所传输比特总数的比率称为误码率 BER (Bit Error Rate)。

误码率与信噪比有很大的关系。 为了保证数据传输的可靠性,在计算机网络传输数据时,必须采用各种差错检测措施。

在数据后面添加上的冗余码称为帧检验序列 FCS (Frame Check Sequence)。循环冗余检验 CRC 和帧检验序列 FCS并不等同。CRC 是一种常用的检错方法,而 FCS 是添加在数据后面的冗余码。FCS 可以用 CRC 这种方法得出,但 CRC 并非用来获得 FCS 的唯一方法。 

奇偶校验

循环冗余校验CRC

CRC举例

仅用循环冗余检验 CRC 差错检测技术只能做到无差错接受(accept)。

“无差错接受”是指:“凡是接受的帧(即不包括丢弃的帧),我们都能以非常接近于 1 的概率认为这些帧在传输过程中没有产生差错”。

也就是说:“凡是接收端数据链路层接受的帧都没有传输差错”(有差错的帧就丢弃而不接受)。要做到“可靠传输”(即发送什么就收到什么)就必须再加上确认和重传机制。 

3.2 可靠传输

3.2.1 可靠传输的基本概念

3.2.2 可靠传输实现机制

停止-等待协议SW(Stop-and-Wait)

确认和否认:

  • 发送方发送数据给接收方,接收方接受数据并进行误码检测,此时有两种情况:
    • 数据正确,则向发送方发送确认分组,简称ACK
    • 数据存在误码,接收方丢弃分组,向发送方发送否认分组NAK,发送方重传数据分组。
  • 因此,在SW协议下,发送方发送完分组后不能直接将分组删除,而是要等待接收方发送确认分组后才能将其删除。

超时重传:

接收方收不到数据分组,就不会发送ACK或NAK。如果不采取其他措施,发送方就会一直处于等待接收方ACK或NAK的状态。为解决该问题,可以在发送方发送完一个数据分组时,启动一个超时计时器。若到了超时计时器所设置的重传时间而发送方仍收不到接收方的任何ACK或NAK,则重传原来的数据分组,这就叫做超时重传。一般可将重传时间选为略大于“从发送方到接收方的平均往返时间”。

确认丢失:

假如接收方收到发送方的正确分组后返回ACK,但是返回的ACK发生丢失,则发送方会进行超时重传,接收方会再次收到这个分组,造成分组的重复。为避免分组重复的问题,必须给分组带上序号。对于SW协议,由于每发送一个数据分组就停止等待,所以只要保证每发送一个新的数据分组,其发送序号与上次发送的数据分组的序号不同就可以了,因此用一个比特来编号就够了,即用0和1表示相邻的两个分组。

确认迟到:

接收方向发送方发送ACK,但是出现了延迟,发送方执行了超时重传,由于数据分组进行了编号,所以接收方可以判断此分组为重复的数据分组,将其丢弃并向发送方发送一个ACK,但是在此之前第一次迟到的ACK也到达了发送方,于是ACK就产生了重复。所以,对于接收方发送的ACK和NAK也都要进行标号。

回退N帧协议GBN(Go-Back-N)

累计确认的方式:接收方不一定要对收到的数据分组逐个发送确认,而是可以在收到几个数据分组后(由具体实现决定)对按序到达的最后一个数据分组发送确认。ACKn 表示序号为 n​​​ 及以前的所有数据分组都已正确接收。 这样的优点是即使确认分组在传输的过程中发生了丢失,也可能不用重传,同时可以减小接收方的开销,减少网络资源的占用。缺点是不能向发送方及时反映接收方已经正确接收的分组信息。

选择重传协议SR(Selective Request)

SR协议不能采用累积确认的方式,只能逐一返回确认分组。窗口尺寸一般取WR =WT =2n-1

3.3 点对点协议PPP

3.3.1 概述

PPP 协议应满足的需求

简单——这是首要的要求;封装成帧;透明性;多种网络层协议;多种类型链路;差错检测;检测连接状态;最大传送单元;网络层地址协商;数据压缩协商 

PPP 协议不需要的功能

纠错;流量控制;序号;多点线路;半双工或单工链路

PPP 协议的组成

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

链路控制协议 LCP (Link Control Protocol)。

网络控制协议 NCP (Network Control Protocol)。  

3.3.2 帧格式

3.3.3 透明传输

面向字节的链路

面向比特的链路

3.3.4 差错检测

3.3.5 工作状态

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

3.4.1 局域网的数据链路层

相关概念

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

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

1.具有广播功能,从一个站点可很方便地访问全网。

2.便于系统的扩展和逐渐地演变,各设备的位置可灵活调整和改变。

3.提高了系统的可靠性、可用性和生存性。

局域网拓扑结构:

以太网的两个标准 

以太网是一种基带总线局域网,以无源电缆作为总线传输数据帧,并以”以太“命名,历史上有两种标准:

  • DIX Ethernet V2:世界上第一个局域网产品(以太网)的规约。
  • IEEE 802.3:第一个 IEEE 的以太网标准。

这两种标准的硬件实现可以在同一个局域网上互操作,且只有很小的差别,因此很多人也常把 802.3局域网简称为“以太网”。为了使数据链路层能适应不同标准的局域网,IEEE802委员会将数据链路层拆分成了两个子层:

  • 逻辑链路控制 LLC (Logical Link Control) 子层:与传输媒体无关。不管采用何种协议的局域网对 LLC 子层来说都是透明的。
  • 媒体接入控制 MAC (Medium Access Control) 子层:与传输媒体有关。与接入到传输媒体有关的内容都放在 MAC子层。

适配器的作用

网络接口板又称为通信适配器(adapter)或网络接口卡 NIC (Network Interface Card),或“网卡”。

适配器的重要功能:

  • 进行串行/并行转换。
  • 对数据进行缓存。
  • 在计算机的操作系统安装设备驱动程序。
  • 实现以太网协议。 

3.4.2 随机接入CSMA/CD协议

最早的以太网:将许多计算机都连接到一根总线上。为了实现一对一通信,将接收站的硬件地址写入帧首部中的目的地址字段中。仅当数据帧中的目的地址与适配器硬件地址一致时,才能接收这个数据帧。

  • 总线特点:易于实现广播通信,简单,可靠。
  • 总线缺点:多个站点同时发送时,会产生发送碰撞或冲突,导致发送失败。

以太网采取的 2 种重要措施:

  • 采用较为灵活的无连接的工作方式。不必先建立连接就可以直接发送数据。对发送的数据帧不进行编号,也不要求对方发回确认。
  • 发送的数据都使用曼彻斯特 (Manchester) 编码。(缺点:所占的频带宽度比原始的基带信号增加了一倍)

CSMA/CD概念

CSMA/CD的争用期

CSMA/CD的最小帧长

CSMA/CD的最大帧长

CSMA/CD的截断二进制指数退避算法

CSMA/CD的帧发生流程

CSMA/CD的帧接受流程

3.4.3 随机接入CSMA/CA协议

相关概念

802.11无线局域网

工作原理

  • 为什么源站在检测到信道空闲后还要等待一段时间DIFS?
  • 答:可能有优先级更高的站需要发送帧,那么就让高优先级的先发送。
  • 为什么目的站接受数据帧后还要等待一段时间SIFS才能发送ACK帧?
  • 答:留出时间让源站切换到接受方式。

信道预约和虚拟载波监听

如上图,A收不到C的信号,C收不到A的信号,两者互为隐蔽站,A向B发送RTS帧,由于信道空闲,则B发送CTS帧确认,于是A向B发送数据帧,C虽然收不到A发出的数据帧,无法监测到信道忙,但是可以收到B发送的CTS帧,也能获取通信的持续时间。