数据链路层
数据链路层主要处理单个链路上如何传输数据,并且向网络层向上提供服务
1. 数据链路层概述
1.1 术语介绍
主机拥有全部的计算机网络结构,路由器只有一部分
各个路由器之间由物理层连接
红线为发送的信息
1.2 数据链路层的三个重要问题
- 封装成帧
- 差错检测(不仅仅需要在数据链路层要考虑的问题)
在帧的传输过程中出现了误码,可以通过检错码进行检验
-
可靠传输(不仅仅需要在数据链路层要考虑的问题)
单独讲解,详见该博客
-
其他问题:使用广播信道的数据链路层
当A给C传输数据时,如何确保C一定能够接收到数据
通过添加MAC帧地址进行发送
2. 封装成帧
-
封装成帧是指数据链路层给上层交付的协议数据单元添加帧头和帧尾使其成为帧
- 帧头和帧尾中包含有重要的控制信息
- 帧头和帧尾的作用之一是 帧定界(区分传输的时候一个个的帧)
-
透明传输
- 面向字节的物理链路层使用字节填充的方法实现透明传输
指数据链路层对上层交付的传输数据没有任何限制,就好像数据链路层不存在
(例如帧定界符与其内容相同的问题)
红色:真正的帧定界符
灰色:扫描到相同内容时插入转义字符
接收结果时扫描到转义字符将其剔除,还原为原本的内容
- 面向比特的物理链路层使用比特填充的方法实现透明传输
-
为了提高帧的传输效率,应使帧的数据部分的长度尽可能的大
-
每种数据链路层协议都规定了帧的数据部分的上限,即最大传输单元:MTU
3. 点对点协议PPP
3.1 概念及应用
- 点对点协议PPP(Point-to-Point Protocol)是目前使用最广泛的点对点数据链路层协议
应用场景:
因特网
广域网
3.2 基本内容
-
对于各种协议数据报的封装方法(封装成帧)
-
帧格式
-
-
链路控制协议LCP
用于建立配置已经测试数据链路的连接
-
一套网络控制协议NCPs
每一个协议支持不同的网络层协议
3.3 工作状态
4. 媒体接入控制(MAC)
协调多个发送与接收站点在一个通路里不冲突的使用
4.1 基本概念
媒体接入控制(MAC)的分类:
4.2 媒体接入控制——静态划分信道
复用和多址的概念:
某种程度上,多址可以看做是复用的应用
-
信道复用
-
分类
- 频分复用FDM
- 时分复用TDM
- 波分复用WDM
- 码分复用
可以在同样的时间使用不同码形,因此各个用户之间不会造成干扰
应用举例:
-
4.3 MAC——随机接入——CSMA/CD协议
总线局域网使用的无限控制协议
载波监听多址接入/碰撞检测
早期的以太网使用该协议进行检测
-
术语
- 争用期
衡量是否可以发射信号的标准
τ:单程端到端的传播时延
- 最小帧长
规定最小帧长为64字节
最小帧长可以保证在帧发送完成之前就检验到该帧的发送过程中是否遭遇碰撞,如果在争用期(64字节)没有检测到碰撞,后续数据一定不会碰撞
所以小于64字节的帧都将被抛弃
- 最大帧长
以太网V2的MCA帧尾1518字节
插入VLAN标记后为1522字节
如果帧太长,总线总会处于繁忙状态
-
截断二进制指数退避算法
例:
若多次发生重传,表示有较多的主机参与信道竞争
如果重传16次不成功,则丢弃改帧,并向高层汇报
- 信道利用率
- 帧发送流程图
- 帧接收流程图
4.4 随机接入——CSMA/CA协议
无限局域网使用的无线控制协议,因为无线的不稳定性,还需使用停止等待协议对信息进行确认
载波监听多址接入/碰撞避免
不使用碰撞检测技术(CD),主要原因是无线信道的信号强度较小,检测碰撞较难,并且存在隐蔽站问题
所以802.11无线局域网使用CSMA/CA协议
-
术语
- 帧间间隔(IFS)
所有站点必须在持续检测到信道空闲一段时间后才能发送帧
常用的两种:短帧间间隔SIFS(28μs)、DCF间间隔DIFS(128μs)
-
工作原理
- CSMA/CA协议的退避算法
例:
- CSMA/CA协议信道预约
802.11标准允许对信道进行预约,使用请求发送(RTS)与允许发送(CTS)表示对信道进行预约
- CSMA/CA协议虚拟载波监听
5. MAC地址、IP地址、ARP协议
5.1 MAC地址
以太网的MAC子层所使用的地址
- 当多个主机连接在同一个广播信道上,需要一个特定的数据链路层(MAC)地址
- MAC地址也被称为硬件地址
帧中必须携带目的地址和接收地址
- IEEE 802局域网的MAC地址
-
第一字节:
-
b0 ->
- 0:单播
由B发出,填入目的地址与源地址,该信号沿链路传播
- 1:多播
由A发出,填入多播地址与源地址,该信号沿链路传播
在每个主机中存有多播列表
-
b1->
- 0:全球管理
- 1:本地管理
-
-
广播MAC地址举例
由B发出,填入广播地址与源地址,该信号沿链路传播
5.2 IP地址
TCP/IP的网际层所使用的地址
5.3 ARP协议
属于TCP/IP体系结构,作用是通过IP地址获取设备的MAC地址
- 首先在本地的ARP缓存中进行查找,如果未找到,则发送下述ARP请求:
- 在C接收到请求报文后回应其响应报文
- B将C的MAC地址收录到缓存中
tips:ARP协议只能在一个链路或者一个网路上使用
6. 集线器与交换机
6.1 集线器
使用集线器HUB取代同轴电缆,因为其更加可靠
- 可以使用集线器HUB在物理层面扩展以太网
6.2 对比以太网交换机
- 单播时:使用交换机可以不用将信息发送给全部连接:
- 多个主机向一个主机进行单播时不会发送碰撞:
在交换机中缓存后依次送转发给目的主机
7. 以太网交换机自学习与转发帧的流程
- 自学习:
将MAC地址记录在交换机的表中
- 转发帧:
如果找不到B,则进行转发帧
B收到了该帧,对其进行回应:
该步骤循环往复
就可以自动学习MAC地址与接口的对应关系
例:
8. 以太网交换机生成树协议STP
为了提高以太网可靠性,又要避免网络环路带来的各种问题,所以使用树形结构
例如:
将一下物理连接的网络自动变为一个没有闭合环路的网络
9. 虚拟局域网VLAN
因为使用多个交换机互联会产生巨大的广播域,可能会导致:
- 广播风暴
- 难以维护
- …
所以使用VLAN:将局域网内的设备划分成与物理位置无关的逻辑组的技术:
实现VLAN机制
首先需要在以太网交换机上实现:
- IEEE 802.1Q帧
对原本的MAC格式进行了扩展,插入了4字节的VLAN
- 交换机的端口类型
新概念:缺省 VLAN ID,在华为交换机上简称为PVID
有以下几种:
- Access(连接主机的交换端口)
例:
-
Trunk(交换机之间的互联端口)
例:
-
Hybrid(华为交换机特有的)