数据链路层
该笔记整理自湖科大教书匠和计算机网络(谢希仁)第八版,仅供参考或者学习复习使用。
文章目录
1. 概述
数据链路层位于物理层的上层,网络层的下层,属于计算机网络的底层。在这一层主要探求的问题是在同一个局域网中,分组怎么从一台主机转发到另一台主机,但是不经过路由器转发。
- 数据链路层的协议数据单元——帧。
- 数据链路层把网络层交下来的数据构成帧发送到链路上。
- 数据链路层也有多种协议,每一种协议的工作方式都有所不同,但是要解决的问题是一样的。
2. 三个基本问题
2.1 封装成帧
- 封装成帧就是在一断数据前后分别添加首部和尾部
- 帧头和帧尾中包含有重要的控制信息。
- 帧头和帧尾的作用之一就是帧定界。
- 数据部分不能太短,需要尽可能的大于首部和尾部,同样不能太长,每一种数据链路层协议都规定了所能传输的帧的数据部分长度上限——最大传送单元MTU(Maximum Transfer Unit)。
注意:不是所有数据链路层都会加入帧头和帧尾,其他协议定界的方式可能不一样。
2.2 透明传输
- 透明传输指的是数据链路层对上层交付的传输数据没有任何限制,就好像数据链路层不存在一样。
- 面向字节的物理链路使用字节填充(或称字符填充)的方法实现透明传输。
- 面向比特的物理链路使用比特填充的方法实现透明传输。
- 需要透明传输的原因是在封装成帧的步骤中数据部分可能会出现与帧尾相同的内容,导致传输发生异常。也就是无论传输的数据是什么内容,接收方都能正常的将其接收,这样的传输就叫透明传输。
字节填充:
开始字符SOH,结束字符EOT。数据中如果出现与开始字符和结束字符相同的内容,就在其前面插入ESC转义字符。
零比特填充:
每5个1插入一个0,接收方遇到每五个就要去掉一个0。
2.3 差错检测
2.3.1 奇偶校验
奇偶校验不好用,一般不使用,了解即可。
2.3.2 循环冗余校验CRC
考试出题,需要掌握。
例题:
差错检测总结:
3. 可靠传输
更好理解和快速复习可以去看 3.4.1 ~ 3.4.4 的内容。
3.1 可靠传输的基本概念
数据链路层也可以提供可靠传输,是为物理层服务的,并且取决于它的上层需不需要数据链路层提供可靠传输。
3.2 可靠传输的实现机制
下面三种可靠传输协议不仅限于数据链路层,还可以用到其它层协议中。
- 停止-等待协议SW
- 回退N帧协议GBN
- 选择重传协议SR
3.2.1 停止-等待协议
这种方式有缺点,就是信道利用率低。
3.2.2 回退N帧协议GBN
- 相对于停止-等待协议更像是流水线式的传输,一次发送n帧的数据(取决于滑动窗口的大小)。
- 但是回退N帧协议的接收窗口大小只能是1,也就是接收方只能顺序接收正确到达的分组。
3.2.3 选择重传协议SR
- 与回退N帧不同,回退N帧协议的接收窗口只能为1,而选择重传的接收窗口可以大于等于1。
- 选择重传协议必须每收到一个分组就回复一个确认收到分组。
- 接收方要标记滑动窗口中确认到达的分组,如果有的分组没有收到到达确认,超时后就会进行重传,之后窗口中的所有窗口都接到到达的消息,才能向下滑动。
- 发送方的接收窗口中的分组只有都收到了才能向下滑动。
4. 点对点协议PPP
- PPP(Point-to-Point Protocol) 协议是目前使用最广泛的点对点数据链路层协议。
- 封装成帧
- 透明性
- 支持多种网络协议
- 支持多种数据链路类型
- 差错检测
- 检测连接状态
- 最大传送单元
- 网络层地址协商
- 数据压缩协商
PPP协议的帧格式:
PPP协议实现透明传输方式:
5. 媒体接入控制MAC(Medium Access Control)
5.1 概念
5.2 静态接入控制
5.2.1 频分复用
5.2.2 时分复用
5.2.3 波分复用
5.2.4 码分复用
注意:考试出题
例题:
5.3 动态接入控制
5.3.1 CSMA/CD
CSMA/CD是有线局域网使用的协议。
- 多址接入MA
- 载波监听CS
- 碰撞检测CD
5.3.2 CSMA/CA
CSMA/CD是无线局域网使用的协议。
6. 集线器与交换机的区别
- 集线器
- 交换机
- 区别
7. 交换机自学习和转发帧
交换机需要在机器内部维护一张交换表,用于存储传输接口的信息。
8. 虚拟局域网VLAN
8.1 概述
8.2 实现机制
9. 交换机和路由器的区别
- 路由器可以给你的局域网自动分配IP,虚拟拨号
- 路由器在网络层,路由器根据IP地址寻址,路由器可以处理TCP/IP协议,交换机不可以。交换机在中继层(数据链路层),交换机根据MAC地址寻址。
- 路由器可以把一个IP分配给很多个主机使用,这些主机对外只表现出一个IP。 交换机可以把很多主机连起来,这些主机对外各有各的IP。
- 路由器提供防火墙的服务,交换机不能提供该功能。集线器、交换机都是做端口扩展的,就是扩大局域网(通常都是以太网)的接入点,也就是能让局域网可以连进来更多的电脑。 路由器是用来做网间连接,也就是用来连接不同的网络。
- 交换机可以起到线路连通的功能,几台计算机通过交换机就可以构成一个局域网。路由器也可以实现交换机连通线路的功能,同时还有交换机没有的功能:拨号上网。所以交换机用来组件多台设备的局域网很好用,但是要连通互联网还是需要用到路由器。
总结: 交换机能实现的功能路由器都能实现,而且路由器可以上网,但是交换机的接口一般都比较多,适合组建许多台设备构成的局域网。