计算机网络第三章笔记(一)

目录

一、数据链路层基础概念与功能

1.1基本术语

[1.2 核心功能](#1.2 核心功能)

1.3服务类型

[二、 数据链路层的三个核心问题](#二、 数据链路层的三个核心问题)

2.1封装成帧

2.1.1核心定义

2.1.2相关概念

[2.1.3 帧格式的核心字段](#2.1.3 帧格式的核心字段)

[2.2 透明传输](#2.2 透明传输)

[2.2.1 问题本质](#2.2.1 问题本质)

[2.2.2 实现方法](#2.2.2 实现方法)

[2.3 差错检测](#2.3 差错检测)

[2.3.1 差错类型](#2.3.1 差错类型)

[2.3.2 校验码](#2.3.2 校验码)

三、差错检测编码

[3.1 奇偶校验](#3.1 奇偶校验)

[3.1.1 核心原理](#3.1.1 核心原理)

[3.1.2 检错能力](#3.1.2 检错能力)

[3.2 海明校验](#3.2 海明校验)

[3.2.1 核心特性](#3.2.1 核心特性)

[3.2.2 关键公式](#3.2.2 关键公式)

[3.2.3 编码步骤](#3.2.3 编码步骤)

[3.2.4 纠错步骤](#3.2.4 纠错步骤)

[3.3 循环冗余校验(CRC)](#3.3 循环冗余校验(CRC))

[3.3.1 核心特性](#3.3.1 核心特性)

[3.3.2 核心原理](#3.3.2 核心原理)

[3.3.3 生成多项式的规则](#3.3.3 生成多项式的规则)

[3.3.5 校验步骤](#3.3.5 校验步骤)


一、数据链路层基础概念与功能

1.1基本术语

|------|----------------------------------------|
| 术语 | 定义 |
| 链路 | 节点间的物理线路(有线/无线),无协议约束,仅负责比特传输 |
| 数据链路 | 物理链路 + 通信协议 + 软硬件(如网卡,含物理层+数据链路层功能) |
| 帧 | 数据链路层PDU,对等实体逻辑通信的基本单位,由首部+数据+尾部组成 |
| 透明传输 | 使数据链路层对上层交付的PDU内容无限制,可传输任意比特组合 |

1.2 核心功能

  1. 封装成帧:给网络层IP数据报添加首部和尾部,形成帧

  2. 透明传输:解决帧定界符与数据的冲突问题

  3. 差错检测:检测帧在传输过程中的比特错(误码)

  4. 可靠传输:可选功能,实现帧的无差错、不丢失、不重复、按序交付

  5. 链路管理:面向连接协议(如HDLC)的链路建立、维护与释放

1.3服务类型

为网络层提供两种服务:无确认的无连接服务(如以太网)、有确认的无连接服务(如无线局域网)

二、 数据链路层的三个核心问题

2.1封装成帧

2.1.1核心定义

给网络层PDU添加首部和尾部 ,实现帧的定界,区分连续传输的不同帧

2.1.2相关概念

最大传送单元(MTU)

帧的数据载荷(网络层PDU)的最大长度,由数据链路层协议规定(以太网MTU为1500字节,PPP协议MTU可配置)

最大报文段长度(MSS)

TCP报文段的数据部分的最大长度(不含TCP首部),由TCP层协商

2.1.3 帧格式的核心字段

|-------|---------------------------------|-------------------------------------|
| 协议 | 核心字段 | 功能 |
| 以太网V2 | 目的MAC地址、源MAC地址、类型字段、FCS序列 | 类型字段标识上层协议(如0x0800表示IP协议),FCS用于差错检测 |
| PPP | 标志字段(0x7E)、地址字段、控制字段、协议字段、FCS序列 | 标志字段用于帧定界,协议字段标识上层协议 |

2.2 透明传输

2.2.1 问题本质

解决帧定界符与数据内容冲突的问题(如数据中出现与帧标志字段相同的比特序列)

2.2.2 实现方法
  1. 字节填充(字符填充)

    1. 适用场景:面向字节的协议(如PPP协议)

    2. 定界符:0x7E(帧开始和结束标志)

    3. 填充规则:

      • 发送方:数据中出现0x7E ,替换为0x7D 0x5E ;出现0x7D ,替换为0x7D 0x5D (即将原始的冲突字符减去0x2E, 再在前面加上0x7D

      • 接收方:反向替换,恢复原始数据

  2. 比特填充

    1. 适用场景:面向比特的协议(PPP协议)

    2. 定界符:01111110

    3. 填充规则:

      • 发送方:扫描数据,每遇到5个连续的1 ,在其后插入1个0

      • 接收方:扫描收到的帧,每遇到5个连续的1 ,删除其后的1个0

  3. 以太网的特殊处理

    1. 通过8字节前导码(7字节同步码+1字节帧开始符)实现帧定界,无需帧结束符

    2. 以太网还规定了帧间间隔时间为96比特时间

2.3 差错检测

2.3.1 差错类型
  • 比特错(误码):信道失真导致比特翻转(1→0或0→1),数据链路层主要检测此类差错

  • 分组丢失/失序/重复:由网络拥塞、链路故障等导致,数据链路层不处理,由上层(如TCP)负责

2.3.2 校验码
  1. 码距(海明距离)

    1. 定义:两个等长二进制编码中,对应位不同的位数

    2. 编码集的码距:任意两个编码的最小码距 ,记为

  2. 码距与检错、纠错能力的关系

    1. 检错能力:若要检测 位误码,需满足

    2. 纠错能力:若要纠正 位误码,需满足

    3. 同时检错纠错:若要检测 位误码并纠正 位误码(),需满足

三、差错检测编码

3.1 奇偶校验

3.1.1 核心原理

在原始数据后添加1位校验位,使整个编码(数据位+校验位)中1的个数为奇数(奇校验)或偶数(偶校验)

3.1.2 检错能力

码距可检测1位误码 ,无法检测偶数位误码,无纠错能力

3.2 海明校验

3.2.1 核心特性
  • 基于奇偶校验改进,可检测2位误码,纠正1位误码 ,编码集码距

  • 局限性:无法可靠纠正2位及以上误码,仅适用于1位误码场景

3.2.2 关键公式

设原始数据位为,校验位为,需满足:

  • 公式含义:个状态中,1个状态表示无错,剩余个状态用于标识位中某一位出错

  • 示例:时,),构成12位海明码

3.2.3 编码步骤
  1. 确定校验位位置 :校验位放在海明码中编号为2的幂次方 的位置,海明码编号从1开始

  2. 确定数据位位置:原始数据位依次填充海明码中除校验位外的剩余位置

  3. 分配校验组 :将每个数据位的位置编号拆分为校验位位置编号的和,该数据位即归属于对应校验位的校验组(一个数据位可属于多个校验组)

  4. 计算校验位值:每个校验位的值由其校验组内所有数据位的异或结果决定

3.2.4 纠错步骤
  1. 接收方根据校验组重新计算每个校验位的预期值

  2. 比较预期值与实际值,得到校验结果位(1表示出错,0表示无错)

  3. 将校验结果位按顺序排列,得到出错位置编号,若为0则无错,否则纠正该位置的比特

3.3 循环冗余校验(CRC)

3.3.1 核心特性
  • 专门针对突发性多比特误码,开销小、检错效率高,以太网、PPP、802.11均采用

  • 检错能力:与生成多项式相关,可检测所有奇数位误码、所有长度小于等于 的突发误码(最高次幂)

  • 局限性:无纠错能力,若检测到误码,直接丢弃帧;一般需要结合重传机制进行重传

3.3.2 核心原理

基于二进制模2运算 (无进位加法、无借位减法,等价于异或运算)的多项式除法,收发双方预先约定生成多项式

3.3.3 生成多项式的规则

必须包含最高次项 和最低次项 (即多项式系数的最高位和最低位均为1)

3.3.4 编码步骤

  1. 多项式转换 :将原始数据表示为多项式,生成多项式 的最高次幂为

  2. 数据左移 :将 左移 位,得到(即原始数据尾部添加 个0)

  3. 模2除法 :用 做模2除法,得到余数(冗余码,长度为 位,不足则补0)

  4. 生成CRC码 :CRC校验码 = 原始数据 + 冗余码(该码能被 整除)

3.3.5 校验步骤
  1. 接收方将收到的CRC校验码表示为多项式

  2. 做模2除法

  3. 结果判断:余数为0则无错;余数不为0则存在误码,丢弃该帧

相关推荐
551只玄猫9 小时前
新编大学德语1第三版笔记 第3课Studentenleben
笔记·德语·外语·德语a1·德语笔记·自学德语·新编大学德语
Hubianji_0910 小时前
[SPIE] 2026年计算机网络、通信工程与智能系统国际学术会议 (ISCCN 2026)
大数据·人工智能·计算机网络·国际会议·论文投稿·国际期刊
头疼的程序员10 小时前
计算机网络:自顶向下方法(第七版)第二章 学习分享(一)
学习·计算机网络
老朋友此林10 小时前
React Hook原理速通笔记1(useEffect 原理、使用踩坑、渲染周期、依赖项)
javascript·笔记·react.js
广州服务器托管10 小时前
[2026.1.6]WINPE运维版20260106,带网络功能的PE维护系统
运维·开发语言·windows·计算机网络·个人开发·可信计算技术
-To be number.wan10 小时前
两道经典IP子网题解析|掌握CIDR与广播地址的奥秘
网络·网络协议·tcp/ip·计算机网络
BOB-wangbaohai10 小时前
软考-系统架构师-计算机网络(二)
计算机网络·软考·系统架构师·网络通信
Chris_121911 小时前
Halcon学习笔记-Day5
人工智能·笔记·python·学习·机器学习·halcon
日更嵌入式的打工仔11 小时前
Ehercat代码解析中文摘录<7>
笔记·ethercat
悠哉悠哉愿意11 小时前
【嵌入式学习笔记】AD/DA
笔记·单片机·嵌入式硬件·学习