计算机网络 - 数据链路层

数据链路层

基本概念

结点:主机,路由器
链路:网络中两个结点之间的物理通道,链路的传输介质主要有双绞线、光纤和微波。分为有线链路、无线链路。
数据链路:网络中两个结点之间的逻辑通道,把实现控制数据传输协议的硬件和软件加到链路上就构成数据链路。
:链路层的协议数据单元,封装网络层数据报。

数据链路层负责通过一条链路从一个结点向另一个物理链路直接相连的相邻结点传送数据报。

数据链路层的功能

功能概述

数据链路层在物理层提供服务的基础上向网络层提供服务,其最基本的服务是将源自网络层来的数据可靠地传输到相邻节点的目标机网络层。其主要作用是加强物理层传输原始比特流的功能,将物理层提供的可能出错的物理连 接改造成为逻辑上无差错的数据链路,使之对网络层表现为一条无差错的链路。

  • 为网络层提供服务
    • 无确认无连接服务
    • 有确认无连接服务
    • 有确认面向连接服务
  • 链路管理
    • 连接的建立,维持,释放
  • 组帧
  • 差错控制

封装成帧

封装成帧就是在一段数据的前后部分添加首部和尾部,这样就构成了一个帧。接收端在收到物理层上交的比特流后,就能根据首部和尾部的标记(帧定界符),从收到的比特流中识别帧的开始结束

首部和尾部包含许多的控制信息,他们的一个重要作用:帧定界(确定帧的界限)。

帧同步:接收方应当能从接收到的二进制比特流中区分出帧的起始和终止

透明传输

差错控制

传输中的差错都是由噪声引起的。

  • 全局性,由于线路本身电气特性所产生的随机噪声
  • 局部性,由于外界短暂的原因造成的冲击噪声

差错又分为位错帧错

  • 位错,比特位出错,1 变 0,0 变 1
  • 帧错,包括丢失,重复,失序

发现差错的帧后就将错误值丢弃,如果没有差错控制,将会浪费大量资源,因为传输过程中一直传输了错误的信息。

差错控制

  • 检错编码
    • 奇偶校验码
    • 循环冗余 CRC
  • 纠错编码
    • 海明码

这里提到的编码和物理层的编码与调制不同,物理层的编码针对单个比特,解决传输同步问题。这里的编码针对的是一组比特,通过冗余码的技术检测传输中是否出错。

奇偶校验码

奇校验码:在信息元前加上 1 位后使得 1 的个数为奇数个
偶检验码:在信息元前加上 1 位后使得 1 的个数为偶数个

该检测方式只能检测出奇数个的位错,检错能力为 50%

如果一个字符S的ASCI编码从低到高依次为1100101,采用奇校验,在下述收到的传输后字符中,哪种错误不能检测?
A.11000011B.11001010 C.11001100 
D.11010011

答:因为采用奇校验,所以在首位加上一个1使得所有1个数为奇数变成11100101,ABC选项中1的个数都是偶数个,明显发生了变化,所以能检测出错误,但是D选项的1也是奇数个,将无法判断是否出现差错。
CRC 循环冗余码

链路层的两种信道

局域网、广域网

数据链路层的设备

流量控制与可靠传输

单帧滑动窗口与停止等待协议



SR 选择重传协议


滑动窗口最大值