二、物理层
2.1、通信基础
2.1.1、物理层接口特性
物理层解决 如何在连接各种计算机的传输媒体上 传输数据比特流,而不是指具体的传输媒体。
物理层的任务:确定与传输媒体 接口 有关的一些特性 => 定义标准
- 机械特性:定义物理连接的特性,规定物理连接时,所采用的规格、接口形状、引线数目、引脚数目和排列情况(如,插排、网线….)
- 电气特性:规定传输二进制时,线路上信号的电压范围、阻抗匹配、传输速率和距离限制等(考题通常有数字、范围)
- 功能特性:指明某条线上出现的某一电平表示何种意义,接口部件的信号线的用途(考题通常有:高电平、低电平、什么含义等等)
- 规程特性:(过程特性)定义各条物理线路的工作规程和时序关系(考题通常有:规程、时序、过程)
(紫色部分为常考内容)
2.1.2、基本概念

三种通信方式:
- 单工通信 “你说我听”—— 主播
- 半双工通信 “不能同时”,两条信道 —— 对讲机
- 全双工通信 “能同时”,两条信道 —— 打电话
两种传输方式:
- 串行传输:一个一个 比特 单个发(慢,费用低,适合远距离)
- 并行传输:一堆一堆 比特 一起发(快,费用高,适用近距离)
![]()
实现同步传输的方法:
- 同步传输:数据传送是以一个数据区块为单位(也称 区块传输)
传送数据时,需先送出一个或多个同步字符,再送出整个数据 主要是:要让发送方和接收方保持节奏上的一致,即同步
- 异步传输:简言之,就是分成很多小组,任何时间发送,接收端不知道什么时候到
传送数据时,加一个字符起始位和一个字符中止位 主要是:发送端看心情发,接收方也不知道啥时候到(例如:敲键盘时间不定)
三、数据链路层
3.1、基本概念
结点:主机、路由器 链路:物理通道(双绞线、光纤、微波)(有线链路和无线链路) 数据链路:逻辑链路(实现控制数据传输协议的硬件和软件加到链路上就构成) 帧:链路层的协议数据单元,作用:封装网络层数据报
3.2、功能概述
功能一:为网络层提供服务(有连接一定由确认) 功能二:链路管理 功能三:组帧 功能四:流量控制 功能五:差错控制(帧错/位错)
3.3、组帧
封装成帧:
首部和尾部作用:帧定界
接收方可以区分起始和中止:帧同步
透明传输:就是通过某种手段不让数据信息被识别成控制信息
4种方法:
- 字符计数法:第一个字节用于计数(包含自己)
- 字符填充法:SOH、EOT、ESC(转义字符,写在前面)
- 零比特填充法:5“1”1“0”
- 违规编码法
3.4、差错控制
- 差错从何而来?噪声引起
- 全局性:随机热噪声(电气特性所产生,信道固有)——>提高信噪比即可减少干扰
- 局部性:冲击噪声(产生差错主要原因)——>编码技术解决
- 差错类型
- 帧错
- 位错 ——> 差错控制
- 丢失
- 重复
- 失序
- 通信质量好,有线传输链路:无确认无连接服务
- 通信质量差,无线传输链路:有确认无连接服务、有确认面向连接服务

编码
- 物理层:解决传输过程中比特同步的问题
- 数据链路层:通过冗余码,实现是否出现差错
海明距离:
- 两个合法编码对应比特取值不同的比特数
- 对于有效编码集合,任意两个海明距离中 min 为该集合的海明距离
重点计算
1、CRC循环冗余码 解题过程
- r 位:多项式最高阶数
- 除法:每位异或操作
- 用 0 、1 表示
- 最终结果:d位 + r位FCS
- 检测方式:除以生成多项式,若为 0 ,则无差错,否则有差错,就丢弃
2、海明距离 相关题型解题技巧
- 检测 d 位错:码距 = d + 1
- 纠错 d 位错:码距 = 2d + 1
3、海明码 解题过程
- 确定校验位位数 r :2^r >= m + r + 1 (m:数据位数,r:校验码位数)
- 确定校验码和数据的相应位置:校验码放在 2^n 的位置(n 从 0 开始)
- 求出校验码的值
利用 1 代表管理 111、110、101,依次类推
除自身的数据 异或,得到校验位数据 如:5、6、7 数据异或得到 0 ——> 4号的值 3、6、7 数据异或得到 0 ——> 2号的值 3、5、7 数据异或得到 1 ——> 1号的值**
- 检错并纠错:
取到的数据,把 4、5、6、7 全部 异或,其他同理 得到三位二进制:1、0、1 ==> 101 转换为十进制为 5 ==> 第五位出错
3.5、流量控制与可靠传输机制(非常重要)
流量控制:控制发送速率
- 数据链路层
- 点对点
- 接收方 收不下 就 不回复确认
- 传输层:
- 端对端
- 接收端给发送端一个 窗口公告
重点计算
信道利用率:有效地发送数据所需要的时间占整个发送周期的比率
- T:发送周期(发送数据时间 + 传输数据时间)
- L:T 内发送 L 比特数据
- C:发送方数据传输率
信道吞吐率 = 信道利用率 * 发送方的发送速率
重要协议
1、停止-等待协议
- 属于那一层?区别在于命名,本质都是传输数据
- 数据链路层:传输的是数据帧
- 传输层:传输的是分组
- 为什么要有这个协议?
- 为了解决丢包问题,实现流量控制
- 应用
- 无差错
- 有差错
- 数据帧丢失或检测到帧出错
- 超时计时器,比RTT长一些,超时后,自动重传
- 发完一个帧后,必须保留它的副本,用于重传,直至收到确认后再删除
- 数据帧和确认帧必须编号,解决帧的:丢失、重复 等问题
- ACK 丢失
- 重传的数据因为重复,而被丢弃,重传确认
- ACK 迟到
- 重传并收到确认后,之后收到的确认就丢弃
- 性能分析
- 简单
- 信道利用率低(大部分数据都在传输的路上)
2、后退 N 帧协议(GBN)
- 小知识点
- 解决停止-等待协议,信道利用率低的问题
- 利用流水线技术
- 编号可以复用
- 可以累积确认,即不用一个一个确认
- 发送窗口不一定是全满状态
- 接收到确认的帧,前面一定有序接收到了
- 必须响应的三件事:
- 上层的调用
- 收到一个 ACK
- 对 n 号帧采用:累积确认 ,表明接收方已经收到了 n 号帧和它前面的全部帧
- 超时事件
- 超时:重传所有已经发送,但未确认的帧
- 接收方要做的事情
- 按序收到帧后,返回ACK,并将帧的数据部分上交给上层(解封装)
- 其他情况:丢弃帧,然后发送已接收最大编号帧的 ACK
- 滑动窗口长度
- 采用 n 个比特进行编号(范围见思维导图)
- WT 过大,会导致接收方无法区别 新帧 和 旧帧
- 重点总结
- 累积确认(偶然捎带确认——>接收方发送数据时,携带着确认帧)
- 接收方只按序接收帧,不按序无情丢弃
- 接收方催发,确认序号最大的,按序到达的帧
- 发送窗口最大 (2^n)-1,接收窗口大小 1
- 性能分析
- 提高了信道利用率
- 重传正确传送的帧,传送效率降低
3、选择重传协议(SR)
- 小知识点
- 解决:信道效率低、传送效率低
- 解决办法:设置单个确认,同时加大接收窗口,设置接收缓存,缓存乱序到达的帧
- 必须响应的三件事
- 上层调用
- 收到一个 ACK:发送方窗口移动到未确认编号最小的帧的位置
- 超时事件
- 接收方要做的事情
- 来者不拒
- 接收帧,不管其是否按序,都有确认。失序的帧被缓存下来,直至一些帧收到为止,这时才将前面收到的有序的帧,交付给上层,然后窗口向前移动
- 滑动窗口长度
- WT = WR 最好
- 采用 n 个比特进行编号(范围见思维导图)
- 重点总结
- 对数据帧逐一确认,收一个确认一个
- 只重传出错的帧
- 接收方有缓存
- 最大值 WT = WR = 2^(n-1)
- WT + WR <= 2^n
3.6、介质访问控制
信道划分介质访问控制(静态划分信道)
实际上就是把 广播信道 转变为 点对点信道(划分为多个子信道,互不干扰)
传输数据使用的两种链路:
- 点对点链路
- 应用:PPP 协议
- 常用于:广域网
- 广播式链路
- 应用:早期的总线以太网、无线局域网
- 常用于:局域网
- 典型拓扑结构:总线型、星型
多路复用技术:即共享信道资源,提高信道利用率
- 频分复用(FDM)
- 所有用户在同样的时间占用不同的频率带宽资源
- 类似“并行”
- 优点
- 充分利用带宽,系统效率较高
- 技术成熟,实现比较容易
- 共享时间,不共享空间
- 时分复用(TDM)
- 每一个用户占用固定序号的时隙,用户轮流占用信道
- TDM 帧是在物理层传送的比特流所划分的帧。标志一个周期
- 类似“并发”
- 不共享时间,共享空间
- TDM 改进后:STDM (统计时分复用)
- 用户有了数据后就随时发往集中器中,输入缓存
- 按顺序扫描输入缓存
- 把缓存放入 STDM 帧中
- 一个 STDM 帧满就发出
- STDM 帧不是固定分配时隙,而是按需动态分配时隙。
- STDM 可以提高每个的最高传输速率
- STDM 适于一个用户经常发送数据,其他用户偶尔发送数据
- 波分复用(WDM)
- 光的频分多路复用
- 码分复用(CDM)
- 共享时间,且共享空间
- 码分多址(CDMA)(难点)
- 码分复用的一种方式
- 一个比特分为多个芯片,每个站点被指定一个唯一的 m 位的芯片序列
- 发送1时发送芯片序列(通常 0 写成 -1),发送0时发送芯片序列的反码
- 发送 1
![]()
- 发送 0
- 一些重点计算
- 多个站点同时发送数据时,要求各站点芯片序列相互正交,规格化内积
- 规格化内积:
- 两个向量到了公共信道,线性相加即可
- 数据分离:合并的数据和源站规格化内积(出现的 -1 就是 0):
随机访问介质访问控制(动态划分信道)
所有用户可随机发送信息,发送信息时占全部带宽
为了解决不协调、冲突,产生了如下协议
- ALOHA协议
- 纯ALOHA协议
- 不监听、不按时、随机重发:想发就发
- 时隙ALOHA协议
- 提高了网络吞吐量
- 时间片的开始才可以发送
- 控制想发就发的随意性
- CSMA协议
- CS:载波监听
- MA:多点接入
- 先监听,后发送
- 不同协议
- 1-坚持CSMA(忙之后继续监听)
- 空闲,则直接发,不等
- 忙,则一直监听,直到空闲
- 有冲突,等待一个随机时间,再监听
- 优点:避免媒体利用率的损失
- 缺点:两个及以上发送,就会冲突
- 非坚持CSMA(忙之后不继续监听)
- 空闲,则直接发,不等
- 忙,则等待一个随机时间,再监听
- 优点:减少冲突发送
- 缺点:都在等待时,可能会有空闲状态,使用率降低
- p-坚持CSMA(最优秀的)
- 对于信道空闲的处理(而上面两种都是对忙状态的处理)
- 空闲,以 p 为概率发送,概率 1 - p 等待到下一个时间槽发送
- 忙,则持续监听,直至空闲
- 有冲突,等待等待到下一个时间槽再发送
- 优点:减少冲突,减少媒体空闲时间
- 如果冲突了,还要坚持发,就会造成浪费,解决办法:一冲突就能发现,用下面两种协议
- CSMA/CD协议(非常重要)
- CD:碰撞检测
- 有线局域网
- **
- 传播时延的存在,会导致冲突
- 最迟发现碰撞,2t(t:单程端到端的传播时延)——> 争用期/冲突窗口/碰撞窗口
- 如果经过 2t 后,还没检测到碰撞,就能肯定这次发送不会发送碰撞
- 冲突后,立即叫停,没必要再发
- 不能确定冲突时,就立即重发,会导致死循环(如何解决这种问题?)
- **确定重发时机算法:
- 具体实现:
- 确定基本退避时间:争用期(2t)
- 定义 k
- 不超过 10 ,k = 重传次数
- 超过 10 ,k = 10
- 从离散的 [0,1,,(2^k)-1] 中随机取数 r ,重传退避时间就是 r * 2t
- 当重传达 16 次都不成功,说明网络太拥挤,抛弃并向上层报告出错
- 多次发送碰撞说明:较多站点参与争用信道
- 优点:减小碰撞发送的概率
- 最小帧长 = 2t * 数据传输速率
- 补充:以太网最短帧长 64B,凡是小于它的就是冲突而异常终止的无效帧
- CSMA/CA协议(理解即可)
- CA:碰撞避免
- 无线局域网
- 要这种协议的原因
- 无法做到全方位检测
- 隐蔽站
- 说一句,等一下并检测,再决定发不发
- 原理
- 空闲时,发送端发送:RTS(包含:下一份数据要持续发送多久)
- 接收端发送:CTS,说明可以发送数据(RTS、CTS:解决隐蔽站的问题,可选)
- 预约信道:发送方告诉其他站点自己要发多久,避免冲突
- 接收端要经过CRC校验后,发送ACK
- 没有收到ACK,则执行二进制指数避退算法
- CSMA/CD 和CSMA/CA
- 都属于CSMA思想
- 冲突都重传,有上限的重传
- 核心:先听再说
- 不同点:
- 传输介质不同
- CSMA/CD:总线式以太网(有线)
- CSMA/CA:无线局域网(无线)
- 载波方式不同(检测方式不同)
- CSMA/CD:电缆中电压的变化
- CSMA/CA:能量检测、载波检测、能量载波检测三者混合
- 前者检测,后者避免
轮询访问:令牌传递协议(动态划分信道)
分析前面几种MAC:
- 信道划分MAC协议:
- 多路复用技术,划分信道
- 网络负载重:共享信道效率高,且公平
- 网络负载轻:共享信道效率低
- 随机访问MAC协议:(只有这个会发生冲突)
- 随机发送,独占信道
- 网络负载重:产生冲突开销
- 网络负载轻:共享信道效率高
- 轮询访问MAC协议:
- 结合上面两者的优点:不产生冲突,发生占全部带宽




除自身的数据 异或,得到校验位数据
如:5、6、7 数据异或得到 0 ——> 4号的值
3、6、7 数据异或得到 0 ——> 2号的值
3、5、7 数据异或得到 1 ——> 1号的值**







