目录:
计算机网络期末复习笔记(并不犯困版+大白话版)-CSDN博客
前期理解:
数据链路层 核心传输单位 是帧,上层交给它的是数据,它把数据封装成帧再发送。
数据链路层不提供数据的可靠传输服务。
-
数据链路层工作在相邻节点之间
-
网络中主机、路由器、交换机等设备都要实现数据链路层功能
主机从 应用层 层层传递到物理层需要经过链路层;
交换机在解封和重新封装时,最高层时链路层;
路由器也一样,最高层为网络层,必然经过链路层。

-
不同链路层可能采用不同协议,所以帧格式不一定相同
-
从链路层看,关心的是"帧怎么在链路上流动",不关心更上层细节
二、数据链路层主要解决三个问题:
-
封装成帧
-
透明传输
-
差错检测
主要讲几个内容:
三个核心问题
封装成帧
如何加帧头帧尾
如何做帧定界
透明传输
- 数据中如果出现帧定界标志(明明是数据里面的内容,却被误当成了帧定界符),怎么办
差错检测
- 传输过程中帧是否出错,出错如何处理
一、数据链路层概述
1.在数据链路层中传输的数据单位(协议数据单元PDU)

2.数据链路层的两类信道
-
点对点信道
-
一对一通信
-
代表协议:PPP PPP 是点对点链路的代表协议。
-
应用场景
- 用户通过ppp协议向 ISP(网络服务提供商) 获得 IP 地址,再进行数据传输
-
PPP 帧格式

-
帧定界符:0x7E
-
地址字段:0xFF
-
控制字段:0x03
-
协议字段:2 字节
-
信息字段:可变长,通常不超过 1500 字节
-
FCS:帧校验序列
-
-
PPP 协议字段常考值
-
0x0021:IP 数据报
-
0x8021 :网络控制数据NCP
-
0xC021 :链路控制数据LCP
-
0xC023 :鉴别数据PAP 认证
-
0xC223 :鉴别数据CHAP 认证

-
-
PPP 的特点
-
PPP 是面向字节的,所有的PPP 帧的长度都是整数字节。
-
典型 MTU最大传送单元 为 1500 字节
-
-
PPP 的透明传输
-
异步传输
- 用字节填充
-
同步传输
- 用零比特填充
-
字节填充重点
这种方法用于以特殊字符(如
7E)作为帧的边界。为了防止数据内容中也出现
7E导致误判帧结束,需要对特殊字符进行转义。-
规则:
-
7E被转义为7D 5E -
7D(转义字符本身)被转义为7D 5D
-
-
例子:
-
发送的数据:
7D 5EFE 277D 5D7D 5D657D 5E -
转换过程:
-
7D 5E是转义后的结果,还原为7E。 -
FE 27正常数据,保持不变。 -
7D 5D是转义后的结果,还原为7D。 -
7D 5D是转义后的结果,还原为7D。 -
65正常数据,保持不变。 -
7D 5E是转义后的结果,还原为7E。
-
-
结论 :还原后的"真正的数据"应该是:
7E FE 27 7D 7D 65 7E。
-
-
-
零比特填充重点
这种方法用于比特流传输,以
01111110作为帧定界符。为了防止数据内容中出现连续的 6 个 1(从而被误判为定界符),需要在数据中强制插入 0。
-
规则 :只要发现连续的 5 个 1 ,无论后面紧跟的是什么,都在后面强制插入一个 0。
-
例子:
-
原数据:
01101111111111100 -
寻找过程:
-
前 5 位
01101(没有连续 5 个 1) -
接着读到
11111(发现 5 个 1 了!) -
插入 0 ,变成
011011111011111... -
继续往后看,又遇到
11111(又是 5 个 1!) -
再插入 0 ,变成
...11111011111000
-
-
结果 :填充后的数据为
011011111011111000。
-
-
-
-
PPP 的工作状态 PPP 连接建立过程可以记成:
-
先建物理链路
-
再建 LCP
-
再做认证
-
再做 NCP
-
断开时反过来释放
物理层连接建立 ->LCP 配置协商
->鉴别
- 成功或无需鉴别后进入下一步
->NCP 配置协商
- 分配临时 IP 地址
->链路打开后开始通信
->通信结束后:
-
先释放 NCP
-
再释放 LCP
-
最后释放物理连接
-
-
-
-
广播信道
-
一对多通信
-
需要共享信道协调机制
-
代表:以太网
-
以太网属于广播信道
-
目前是最常用的局域网技术
-
主要标准:
-
DIX Ethernet V2
-
IEEE 802.3
-
-
以太网体系结构
-
物理层
-
数据链路层
-
-
以太网帧格式
-
以太网 MAC 帧的最小有效数据长度要满足要求
-
数据太短会补齐到最小长度

-
以太网帧中目的地址和源地址都是 MAC 地址
- 长度:48 位
-
以太网帧各部分
-
前同步码:7 字节
-
帧开始定界符:1 字节
-
目的地址:6 字节
-
源地址:6 字节
-
类型:2 字节
以太网类型字段常考值
-
0x0800:IPv4
-
0x0806:ARP
-
0x8100:802.1Q VLAN
-
0x86DD:IPv6
-
-
数据:46 ~ 1500 字节
-
FCS:4 字节
-
-
FCS 使用 CRC

-
-
以太网中的通信方式
-
单播
- 一对一
-
组播/多播
- 一对多
-
广播
- 一对所有
如何判断?
-
看目的 MAC 地址
-
广播地址 :
FF-FF-FF-FF-FF-FF -
单播和组播的区别:
-
看目的地址第一个字节的最低位
-
0:单播
-
1:组播

2)解析:目的地址的第一个字节是 54 ,54写成二进制->
5 = 0101 4 = 0100合起来是:
0101 0100,最低为是0->单播 -
-
-
以太网的几个重要特征
-
以太网上以帧为单位传输
-
以太网上传送帧时,各帧之间要求必须有一定的间隔;
接收端只要找到帧开始定界符,后面连续的比特流就是同一帧,因此不需要帧结束符,也不需要使用字节插入保证透明传输。
-
帧间最小间隔
- 9.6 μs ,相当于 96 bit 发送时间
-
帧封装由网卡(网络适配器)完成
-
网卡根据目的 MAC 地址决定是否接收:
网卡接收到数据后,根据帧中的目的MAC地址来判断是否由自己接收。
-
-
-
二、差错检测
-
常用指标 :误码率 BERBit Error Rate
-
含义:传输错误的比特 占 总比特数 的比例
-
和信噪比关系很大
-
-
数据链路层的差错处理方式
-
在帧尾添加 装帧校验序列FCS
-
接收端用 FCS 做检错
-
检出错误后通常直接丢弃 ,不向发送端反馈
->所以数据链路层不提供可靠传输服务
-
-
常见校验码
-
CRC 循环冗余码
-
特点:
-
只能检错
-
不能纠错
-
不能保证可靠传输
-
-
CRC 循环冗余码计算步骤 考试很爱考计算题,步骤一定要清楚:
-
已知原始数据 M 和生成多项式 P
-
设生成多项式最高幂为 n
- 那么冗余码位数就是 n 位
-
将原始数据 M 左移 n 位->也就是后面补 n 个 0
-
用这个结果 除以(进行二进制除法) 生成多项式 P
-
得到的余数就是冗余码 R
- 如果余数不足 n 位,前面补 0
补例题:
-
-
三、Wireshark 抓包
-
Wireshark 是常用抓包工具
-
作用:读取网络接口上的数据包并按协议分析
常用过滤
-
地址过滤
-
ip.dst == 192.168.101.8destination->目的地
-
ip.src == 1.1.1.1source源头->源地址
-
-
协议过滤
http
-
端口过滤
-
tcp.port == 80 -
tcp.dstport == 80 -
tcp.srcport == 80
-
-
多条件过滤
- 用
and、or
- 用
四、以太网的发展与组网
-
以太网发展很快
-
•标准以太网:10base-2、10base-5、10base-T
•快速以太网:100base-TX、100base-T4、100base-FX
•吉以太网网:1000base-SX、1000base-LX、1000base-CX、1000base-T
•10G以太网:10Gbase-SR、10Gbase-LR、10Gbase-ER、10Gbase-CX4、10Gbase-T
•40G以太网、100G以太网、200G以太网、400G以太网......
-
-
一个重要结论
- 以太网技术不断发展,但帧格式基本不变
-
早期以太网与碰撞
-
以太网早期:

•使用 同轴电缆(10base-5、10base-2)作为传输介质 组建 总线型拓扑网络,数据 以广播的方式在传输,必然会存在碰撞的情况。
•使用 双绞线 作为传输介质,集线器作为 中央转发设备组建的星型网络,由于集线器也是以广播的方式发送数据,所以也会产生碰撞。
•我们把这种类型的以太网习惯称为 共享式以太网 ,它们工作在半双工下。
-
-
解决碰撞问题------CSMA/CD
共享式以太网 用 CSMA/CD 解决碰撞问题。
CSMA/CD工作原理可以概括如下:
1:先听后说,边听边说
2:一旦冲突,立即停说
3:等待时机,然后再说
CSMA/CD 的基本过程

-
先监听信道
-
如果信道空闲,等待 96 bit 时间后再发送(确保安全)
-
发送过程中继续检测碰撞
如果检测到碰撞:
- 停止发送->发送干扰信号->等待随机时间->按二进制指数退避算法重发
重点
-
只适用于共享式以太网、半双工环境
-
全双工下不发生碰撞
-
-
最短有效帧长
-
10 Mbps 以太网争用期:
- 51.2 μs
以太网的 端到端往返传输时延 2τ 称为争用期
-
在争用期内可发送的比特数:
51.2 μs × 10 Mbps = 512 bit = 64 字节
-
结论:
-
最短有效帧长 = 64 字节
-
小于 64 字节的帧通常认为是碰撞导致的无效帧
-
-
-
以太网扩展设备
-
物理层设备
-
中继器
-
集线器

- 特点:只做信号转发,不解封装,工作在物理层
-

-
数据链路层设备
- 网桥
- 交换机

-
特点:根据 MAC 地址表 转发,查表依据是目的 MAC 地址,工作在数据链路层
-
问1:交换机工作时会不会有碰撞出现?
工作在半双工时,会出现碰撞,使用CSMA/CD解决。
工作在全双工时,不会出现碰撞。
习惯于把使用交换机组网的以太网 称为交换式以太网。
-
问2:网络中环路存在的意义?
环路存在会对网络产生什么负面影响?
怎么解决这种负面影响?
->
Ø 环路存在的意义:起到冗余备份的作用。
Ø 环路的负面影响:数据在环中循环发送 ,会导致广播风暴
Ø 解决环路的问题:STP(IEEE802.1D)
-
问3:在没有采取任何措施的情况下,一个广播包能够到达的范围(广播域)有多大?
如何限制广播域的范围?
->
Ø 广播域范围 是 所有交换机连接的网络范围
Ø 限制广播域的方法:对网络划分不同的VLAN(IEEE802.1Q,虚拟局域网),将广播域限制在一个VLAN中
-
问4:划分VLAN后,交换机怎么判断接收的数据属于哪一个VLAN?
->
虚拟局域网协议允许在以太网的帧格式中插入一个4字节的标识符,称为 VLAN 标记 (tag);
用来指明发送该帧的计算机属于哪一个虚拟局域网。
插入 VLAN 标记得出的帧 称为 802.1Q 帧 或 带标记的以太网帧。
802.1Q 标记结构
-
4 字节
-
其中 VLAN ID 为 12 位
-
可支持 4096 个 VLAN
-
还包含用户优先级 PRI、CFI 等信息
-
插入 VLAN 标记后
- 最大帧长从 1518 字节 变成 1522 字节

-
-
-
Access 端口与 Trunk 端口
-
Access 端口
-
连接计算机
-
只能属于一个 VLAN
-
发送不带标签的帧(untagged)
-
-
Trunk 端口
-
交换机之间连接
-
可以属于多个 VLAN
-
必须打标签(tagged)
-
用于跨交换机传输同一 VLAN 的数据
-
-
-
VLAN 间与跨交换机通信
-
Access 口 :只给电脑用的,因为电脑不懂 VLAN。它连接时会把 VLAN 标签去掉。
-
Trunk 口 :只给交换机之间用的。它能同时传多个 VLAN 的数据,方法是给数据贴上"标签",防止弄混。
结论:
-
相同 VLAN 跨交换机 :因为交换机之间必须能识别多部门(多 VLAN)数据,所以必须用 Trunk(贴标签),不能用 Access(因为 Access 会强行把标签撕掉,导致数据混乱或丢失)。
-
不同 VLAN 通信:VLAN 本质上就是为了"互不干扰",想跨部门交流,必须找"三层设备(路由器)"做路由转发,这是规则。
-
-
以太网宽带接入
-
以太网宽带接入特点
-
双向宽带通信
-
可灵活升级带宽
-
可实现端到端以太网传输
-
中间不必转换帧格式
-
-
缺点
- 不支持用户身份鉴别
-
PPPoE
•PPP over Ethernet:在以太网上运行 PPP。
将 PPP 帧封装到以太网中来传输。现在的光纤宽带接入 FTTx 都要使用 PPPoE 的方式进行接入。
-