xpipi 发布的文章

4.1 网络层提供的两种服务

为什么要网络层
  • 数据链路层解决了同一局域网计算机间帧的传输问题,但没有解决异构网络之间的连接和资源共享问题

    • 异构网络互联:即跨局域网连接和资源共享
    • 互联网络中主机标识问题
    • 互联网中主机间路由选择问题(最佳路径)
    • 互联网中数据转发的问题(分组转发)
  • 数据链路层帧的校验没有解决可靠传输的问题,网络层需要解决可靠传输吗?
  • 网络层要向传输层提供面向连接的服务,还是无连接的服务?(实质:在计算机通信中,可靠交付应当网络负责还是端系统负责
两种服务:虚电路服务和数据报服务

4.2 网际协议IP

4.2.1 虚拟互连网络

image-20250415154148830.png

  • 如何将异构的网络连接在一起?

    • 使用中间设备
中间设备功能
运输层及以上网关(Gateway)连接不兼容系统,进行高层协议转换
网络层路由器(Router)连接不同网络
数据链路层网桥或桥接器(Bridge),交换机(Switch)仅仅把一个网络扩大了
物理层转发器(Repeater)
IP 协议

image-20250415155626813.png

与网际协议 IPv4 配套的3个协议:

  • 地址解析协议ARP
  • 网际控制报文协议 ICMP
  • 网际组管理协议 IGMP

image-20250415155938343.png

4.2.2 IP数据报的格式

image-20250415160410268.png

首部:固定部分(20B)+可变部分

  • 版本:IPv4协议字段值$(0100)_2 = 4$
  • 首部长度:4bit最大可表示为1111,即首部最大长度为固定20+可变40 = 60字节
  • 区分服务 TOS 2Byte
  • 总长度:首部+数据部分的总长度,最大$2^116 - 1 = 65535$字节(理论值,在实际中受到数据链路层MTU限制)

    • MTU限制方式:在传输过程中进行多次分片和重组
  • 标识:所有分片具有相同的标识
  • 标志:保留位、DF位、MF位

    • DF:Don't Fragment 不要分组,为1时标识当前未进行分片
    • MF:More Fragment 更多分组,为1时标识当前并非最后一个分片
  • 片偏移:指出分片后某片在原分组中的相对位置

image-20250415163104321.png

  • 生存时间 TTL:指示数据报在网络中可通过的路由器数的最大值
  • 协议 :指出应将数据部分交给哪一个进程

image-20250421173956556.png

  • 首部校验和(只校验首部)
  • 源地址、目的地址:32位二进制地址,标识各个接口,用于网络层寻址
  • 可选字段(长度可变):支持排错、测量以及安全等错视,内容丰富 长度可变 增加功能同时增加开销,因此实际上很少使用
IP 协议功能及报头字段总结

网络层基本功能

  • 支持多跳寻路将IP数据报送达目的端:目的IP地址
  • 表面发送端身份:源IP地址
  • 根据IP头部协议类型,提交给不同上层协议处理:协议

其它相关问题

  • 数据报长度大于传输链路MTU的问题,通过分片机制解决:标识、标志、片偏移
  • 防止循环转发浪费网络资源(路由错误、设备故障等),通过跳数限制解决:生存时间TTL
  • IP报头错误导致无效传输,通过头部机校验解决:首部校验和

4.2.3 IP 地址

IP地址:给每个连接在互联网上的主机或路由器的每一个接口分配的全球唯一的标识符,IPv4 是32位的二进制地址,理论上地址空间共有 $2^{32}$ 个地址

  • ICANN:负责全球Internet上的IP地址进行编号分配的机构
  • RIR:地区级互联网注册机构
  • NIR:国家级互联网注册机构 中国互联网络信息中心CNNIC

IP地址采用 2级结构 32位二进制数 采用点分十进制记法 IP地址 ::= {<网络号>,<主机号>}

  • 网络号 net-id:n位
  • 主机号 host-id:(32-n)位

分级地址结构的好处:

  • IP地址管理机构负责分配网络号,单位负责分配主机号,方便IP地址的管理;
  • 路由器根据网络号将分组转发到对应网络,大大减小路由表项目数,减少存储空间占用,提高效率;
分类的IP地址
  • 单播地址:

    • A类 net-id8位 第一位为0
    • B类 net-id16位 前二位为10
    • C类 net-id24位 前三位为110
  • 多播地址

    • D类
  • 保留地址
A类地址

网络号 net-id为8位 第一位为0 可表示$2^7 - 2$个不同网络

主机号 host-id为24位 每个网络$2^{24} -2$个主机号

其中

  • 网络号 00000000 表示本网络
  • 网络号 01111111 用于本地软件环回测试
  • 主机号 全0 表示该主机所在的网络地址
  • 主机号 全1 表示该网络的所有主机(广播)
网络类别网络数第一个网络号最后一个网络号每个网络中主机数
A126($2^7 -2$)112616777214($2^{24}-2$)
B16384($2^{14}$)128.0191.25565534($2^{16} -2$)
C2097152($2^{21}$)192.0.0223.255.255254($2^8 -2$)

网络规模:A类 > B类 > C类

一般不用于分配的特殊IP地址
地址用途
网络号全0的地址系统启动时用于启动时临时通信,本网络上的某主机
网络127.0.0.0指本地结点(一般为127.0.0.1),用于测试网卡及TCP/IP软件
主机号全0的地址用于指定网络本身,称之为网络地址或者网络号
主机号全1的地址用于广播,也称定向广播,需要指定目标网络
0.0.0.0本网络上的本主机
255.255.255.255受限广播地址
子网划分 subnetting

将主机号分为 子网号subnet-id + 主机号host-id

可变长子网掩码 VLSM

划分子网是单位内部的事情:在网络内部将一个网络块进行划分以供多个内部网络使用,对外仍然是同一个网络

  • 例:将C类网络200.1.1.0划分8个子网

image-20250512175605620.png

子网掩码 subnet mask
  • 与IP地址一一对应,是32bit的二进制数,置1表示网络位(网络号+子网号),置0表示主机位
  • IP地址与对应的子网掩码进行按位与运算(AND),可得到当前子网的网络地址
判断多个IP地址是否在同一网络?

1.条件一:子网掩码 是否位数相同

2.条件二:IP地址与子网掩码逐位与运算 得到的网络地址是否相同

分类的IP地址的优点和缺点

优点:

  • 管理简单
  • 使用方便
  • 转发分组迅速
  • 划分子网,灵活地使用

缺点:

  • 设计上不合理
  • 大地址块,浪费地址资源
  • 即使采用划分子网的方法,也无法解决IP地址枯竭的问题(不够用)
无分类编制方法 CIDR

问题:

  • 子网划分解决了网络过大的问题,可以把大的网络分的更小
  • 如果想把网络变得更大怎么办?
  • 例如希望一个网络有2个A类网络那么大,直接使用两个A类网络,彼此之间无法直接通信,应该怎么办?

——无分类编制方法 CIDR(Classless Inter-Domain Routing)

image-20250512182619679.png

  • 网络前缀 net-id:长度可变
  • 消除了传统的 A类、B类和C类地址以及划分子网的概念,可以更有效地分配IPv4的地址空间
  • 本质:使网络号长度随意可变
CIDR 的掩码

同样的,CIDR也用掩码表示网络前缀长度

image-20250512183016584.png

  • 斜线记法 Slash Notation:IP地址/n

    • 例如:200.1.0.0/20 表示前20位为网络前缀

CIDR如何表示一个任意大小的地址块?

  • 1个CIDR地址块200.1.0.0相当于16个C类网络200.1.0.0/24
  • 每一个CIDR地址块中的地址数一定是 2的整数次幂
常用的CIDR地址块

image-20250512210616030.png

三个特殊的CIDR地址块

image-20250512210713416.png

路由聚合
  • 一个CIDR地址块可以表示很多地址,多个较小地址块也能构成一个更大的地址块,称为 构成超网(super net),又称为 路由聚合(route aggregation)

何意味?↓

例:将206.0.68.0/23分为四个地址块(每次改变主机号的第一位)

206.0. 0100010 0.00000000/23 ->

206.0. 01000100 .00000000/24 和 206.0. 01000101 .00000000/24 -> …

聚合反之

  • 路由聚合可以减少路由条目,但CIDR也无法解决地址空间不足的问题
IP地址的特点
  • 每个IP地址都有网络前缀和主机号两部分组成

    • IP地址是一种 分等级 的地址结构

      • 方便了 IP 地址的分配和管理
      • 实现路由聚合,减小了转发表所占的存储空间以及查找转发表的时间
  • IP地址是标志一台主机(或路由器)和一条链路的接口

    • 当一台主机同时连接到两个网络上时,该主机就必须同时具有两个相应的IP地址,其网络号必须是不同的。这种主机称为多归属主机。
    • 一个路由器至少应当连接到两个网络,因此一个路由器至少应当拥有两个不同的IP地址
  • 转发器或交换机连接起来的若干个局域网仍为一个网络

    • 一个网络(或子网)是指具有相同网络前缀的主机的集合
    • 转发器或交换机连接起来的若干个局域网都具有相同的网络号,他们仍为一个网络
    • 具有不同网络号的局域网必须使用路由器进行互连
    • 同一网络主机接口必须具有同样的网络号
  • 在IP地址中,所有分配到网络前缀的网络都是平等的

    • 互联网同等对待每一个IP地址,不管是范围很小的局域网,还是可能覆盖很大地理范围的广域网

4.3 IP分组的转发

4.3.1 基于终点的转发

  • 分组在互联网中是逐跳转发的,路由器通过查转发表确定下一跳
  • 基于终点的转发:基于分组首部中的目的地址传送和转发
路由转发表
  • 路由转发表中可能包含哪些信息?

    • 提示:交换机的MAC地址表包含哪些信息

image-20250513095522384.png

  • 路由器转发表包含信息:目的地址、下一跳地址

    • 目的地址:不是目的端的IP地址,而是目的端所在网络的网络地址
    • 下一跳地址:直接交付 or 下一跳的IP地址
  • 一个网络中可能有多个地址,为压缩路由表的大小,将“目的地址”变化为“目的网络地址

image-20250513100115740.png

查找转发表过程
  • 查找转发表的过程就是逐行寻找前缀匹配

1.找到目标地址所在网络:IP地址和掩码进行与运算,得到地址所在的网络

2.与路由表中列出的网络地址,逐行匹配:目标网络的路由表列出的网络地址是同一个

3.找到正确的条目,进行下一跳转发(找不到则丢弃)

Question

  • IP首部中只有目的地址,没有掩码怎么办?——在路由表中增加掩码

image-20250513100804262.png

转发表中的2中特殊的路由
  • 主机路由 (host route)

    • 又叫做特定主机路由
    • 是对特定目的主机的IP地址专门指明的一个路由
    • 网络前缀就是 a.b.c.d/32
    • 放在转发表的最前面
  • 默认路由 (default route)

    • 不管分组的最终目的网络在哪里,都由指定的路由器R来处理
    • 用特殊网络前缀 0.0.0.0/0 表示
    • 放在转发表的最后面

4.3.2 最长前缀匹配

  • 使用CIDR时,在查找转发表时可能会得到不止一个匹配结果

最长前缀匹配:当得到多个匹配结果时,谁网络前缀(host-id)更长选择谁,也就是选择更精确的网络

  • 最长前缀匹配原则:选择前缀最长的一个作为匹配的前缀
  • 网络前缀越长,其地址块就越小,因而路由就越具体
  • 把前缀最长的排在转发表的第1行
路由器分组转发算法

image-20250513110239104.png

特别的,路由器人工定义禁止转发广播地址(255.255.255.255),因此称为 受限广播地址;但如果是有特定网络号的广播地址(例2.255.255.255/8),是可以被路由器转发的,因此称为 直接广播地址

使用二叉线索查找转发表
  • 尽管已经通过将目的地址改为目的网络地址压缩了路由表,但路由表的条目数量仍然可能是巨大的,如何提高查找效率?
  • 二叉线索:一种特殊结构的树,可以快速在转发表中找到匹配的叶节点
  • 从二叉线索的根结点自顶向下的深度最多有 32 层,每一层对应于IP地址中的一位
  • 为简化二叉线索的结构,可以用唯一前缀(unique prefix)来构造二叉线索
  • 为了提高二叉线索的查找速度,广泛使用了各种压缩技术

image-20250513113702121.png

4.3.3 IP地址与MAC地址

image-20250513114003098.png

从协议栈的层次上看IP地址和MAC地址

image-20250513114219208.png

  • 尽管互连在一起的网络的MAC地址体系各不相同,但IP层抽象的互联网却屏蔽了下层这些很复杂的细节
  • 只要我们在网络层上讨论问题,就能够使用统一的、抽象的IP地址研究主机和主机或路由器之间的通信

4.3.4 地址解析协议ARP

  • 实现IP通信时使用了两个地址:

    • IP地址(网络层地址)
    • MAC地址(数据链路层地址)

image-20250513114819099.png

地址解析协议ARP的作用
  • ARP(Address Resolution Protocol)作用:已知主机或路由器的IP地址,解析出其相对应的MAC地址

image-20250513115506463.png

  • ARP高速缓存(ARP Cache):

    • 存放IP地址到MAC地址的映射表
    • 映射表动态更新(新增或超时删除)

image-20250513115659243.png

ARP高速缓存的作用:

  • 存放最近获得的IP地址到MAC地址的绑定
  • 减少ARP广播的通信量
  • 为进一步减少ARP通信量,主机A在发送其ARP请求分组时,就将自己的IP地址到MAC地址的映射写入ARP请求分组
  • 当主机B收到A的ARP请求分组时,就将主机A的IP地址及其对应的MAC地址映射写入主机B自己的ARP高速缓存中,不必再向A发送ARP请求

工作流程:

image-20250513115915883.png

2台主机不在同一个局域网上的地址解析

A->Router 发送ARP请求

Router->B 发送ARP请求

MAC帧由路由器中转转发

使用ARP的四种典型情况
  • 发送方是主机,要把IP数据报发送到本网络上的另一个主机。这时候用ARP找到目的主机的硬件地址
  • 发送方是主机,要把IP数据报发送到另一个网络上的主机。这时候用ARP找到本网络上的一个路由器的硬件地址,剩下工作由这个路由器完成
  • 发送方是路由器,要把IP数据报转发到本网络上的一个主机。这时候用ARP找到目的主机的硬件地址
  • 发送方是路由器,要把IP数据报转发到另一个网络上的主机。这时候用ARP找到本网络上的一个路由器的硬件地址,剩下工作由这个路由器完成
为什么要使用两种地址:IP地址和MAC地址
  • MAC地址之间的转换非常复杂,对以太网MAC地址进行寻址也是极其困难的。MAC地址不适合跨网络寻址使用
  • IP编址把这个复杂问题解决了,即使必须多次调用ARP来找到MAC地址,但这个过程都是由计算机软件自动进行的,对用户来说是看不见的
  • 虚拟互联网使用IP,各局域网使用MAC

4.4 网际控制报文协议 ICMP

image-20250513155534959.png

  • ICMP允许主机或路由器报告差错情况和提供有关异常情况的报告
  • 由主机和路由器用于网络层信息的通信
  • ICMP是网络层的互联网标准协议

4.4.1 ICMP报文的格式和种类

image-20250513155654477.png

*封装在IP数据报中

ICMP报文种类
ICMP报文种类类型的值ICMP报文的类型
差错报告报文3终点不可达
差错报告报文11时间超过
差错报告报文12参数问题
差错报告报文5改变路由(Redirect)
询问报文8或10回送(Echo)请求或回答
询问报文13或14时间戳(Timestamp)请求或回答

差错报告报文:单向 询问报文:双向

注:根据RFC 6633规定,已不再使用类型值为4、10或9、15或16、17或18的报文

类型代码功能描述
00回送应答(ping)
30目的网络不可达
31目的主机不可达
32目的协议不可达
33目的端口不可达
36目的网络未知
37目的主机未知
80回送请求(ping)
90路由通告
100路由发现
110TTL过期
120坏的IP首部
ICMP差错报告报文

image-20250513160839567.png

Traceroute和ICMP
  • 如何知道整个路径上路由器的地址?Tracert/Traceroute
  • 利用IP数据报中的TTL字段、ICMP时间超过差错报告报文和ICMP终点不可达差错报告报文实现对从源点到终点的路径追踪

过程:

  • 源向目的地发送一系列UDP段(不可能的端口号),第一个TTL=1,第二个TTL=2……,每次发送三个
  • 当第n个数据报到达第n个路由器:

    • 路由器丢弃数据报
    • 并向源发送3个ICMP报文(类型11,编码0)
    • 报文的源IP地址就是路由器的IP地址
  • 停止条件:

    • UDP段最终到达目的地主机
    • 目的地返回 ICMP“端口不可达”分组(类型3,编码3)
    • 当源得到该ICMP,停止
不应发送ICMP差错报告的几种情况
  • 对ICMP差错报告报文不再发送ICMP差错报告原文
  • 对第一个分片的数据报片的所有后续数据报片都不发送ICMP差错报告报文
  • 对具有多播地址的数据报都不发送ICMP差错报告报文
  • 对具有特殊地址(如127.0.0.0或0.0.0.0)的数据报不发送ICMP差错报告报文
ICMP询问报文
  • 回送请求和回答

    • 由主机或路由器向一个特定的目的主机发出的询问
    • 收到此报文的主机必须给源主机或路由器发送ICMP回送回答报文
    • 这种询问报文用来测试目的站是否可达,以及了解其有关状态
  • 时间戳请求和回答

    • 请某台主机或路由器回答当前的日期和时间
    • 时间戳回答报文中有一个32位的字段,其中写入的整数代表从1900年1月1日起到当前时刻一共有多少秒
    • 时间戳请求和回答可用于时钟同步和时间测量
Ping(Packet InterNet Groper)和ICMP
  • Ping用来测试两个主机之间的连通性、往返时延、单向转发跳数TTL
  • Ping使用ICMP回送请求与回送回答报文

*Ping命令返回的TTL值可以用来判断对方主机操作系统的类型:

image-20250513162916074.png

4.4.2 ICMP的应用举例

4.5 下一代网络协议 IPv6

4.5.1 IPv6协议概述

为什么需要IPv6? ——IPv4地址耗尽问题、安全问题、支持性问题

IPv6主要变化
  • 更大的地址空间。将地址从IPv4的32位增大到了128位,全局可达,聚合性更高
  • 扩展的地址层次结构。可以划分为更多层次
  • 灵活的首部格式。定义了许多可选的扩展首部
  • 改进的选项。允许数据报包含有选项的控制信息,其选项放在有效载荷中
  • 允许协议继续扩充。更好地适应新的应用
  • 支持即插即用(即自动配置)。使用NDP获取地址前缀
  • 支持资源的预分配。
  • IPv6首部改为8字节对齐。首部长度必须是8字节的整数倍
  • 更小的路由表。IPv4分配不连续,分配时考虑了聚类问题,相同区域默认分配相同前缀IP地址
  • 分段处理。主机进行分片处理(默认最小MTU为1280字节),IPv6分组不能在传输途中分片,只能在源端进行分片(不需要路由器分片),路由器如果发现需要分片,丢弃并向源端报错
  • 传输安全性。强制使用IPSec安全加密传输
IPv6数据报的一般形式
  • 由两大部分组成:

    • 基本首部 base header
    • 有效载荷 payload

      • 也称为净负荷。有效载荷允许有零个或多个扩展首部,再后面是数据部分

image-20250514160638767.png

IPv6的基本首部

image-20250514160713460.png

  • 版本version:4位。指明了协议的版本,IPv6字段是6(0110)
  • 通信量类traffic class:8位。这是为了区分不同IPv6数据报的类别或优先级
  • 流标号flow label:20位。“流”是互联网络上从特定源点到特定终点的一系列数据报,所有属于同一个流的数据报都具有相同的流标号。资源预分配时使用,对实时音频/视频中使用
  • 有效载荷长度payload length:16位。指明IPv6数据报除基本首部以外的字节数(扩展首部+数据)
  • 下一个首部next header:8位。相当于IPv4的协议字段或可选字段,可能是TCP/UDP/ICMP等,也可能是扩展头
  • 跳数限制hop limit:8位。相当于IPv4的TTL,最大值255,为0时丢弃
  • 源地址、目的地址:128位
IPv4与IPv6的首部对比

image-20250514161342214.png

首部格式改变提升转发处理速度

IPv6的扩展首部
  • IPv6选项的功能都放到扩展首部中,由两端的源点和终点的主机来处理,路由器不处理(逐跳选项扩展首部除外)
  • 每个扩展首部都包含“下一个首部”字段(IPv6首部固定字段也有)

    • 可指向下一个扩展首部类型
    • 最后一个扩展首部指明上层协议:TCP/UDP/ICMP…
  • 如有多个扩展首部,需按规定顺序出现:

    • 逐跳选项、路由选择、分片、鉴别、封装安全有效载荷、目的站选项

4.5.2 IPv6的地址

  • 在IPv6中,每个地址占128位,地址空间大于$3.4 * 10^{38}$
  • 三种基本类型

    • 单播 unicast:传统的点对点通信
    • 多播 multicast:一点对多点的通信
    • 任播 anycast:IPv6新增加的一种类型。任播的终点是一组计算机,但数据报在交付时只交付其中的一个。通常是按照路由算法得出距离最近的一个
冒号十六进制记法

image-20250514162723764.png

点分十进制:每8位一段 冒号十六进制:每16位一段

冒号十六进制省略规则:

  • 每一段前面的0可省略
  • 每一段连续的0可省略
  • 连续多段0可以进行零压缩
零压缩

零压缩:一串连续的零可以用一对冒号取代。

example: FF05:0:0:0:0:0:0:B3 可压缩为 FF05::B3

在任一地址中,只能使用一次零压缩

点分十进制记法的后缀
  • 结合使用点分十进制记法的后缀在IPv4向IPv6的转换阶段特别有用
  • 例如:

0:0:0:0:0:0:128.10.2.1 -> ::128.10.2.1

IPv6前缀的表示方法
  • CIDR的斜线表示法仍然可用,但取消了子网掩码
  • 例如:

    CIDR记法地址:2001:0DB8:0:CD30:123:4567:89AB:CDEF/60

    IPv6的地址是:2001:0DB8:0:CD30:123:4567:89AB:CDEF

    网络前缀是:2001:0DB8:0:CD30::/60

IPv6地址分类
地址类型二进制前缀IPv6记法
未指明地址00…0(128位),仅此一个::/128
环回地址00…1(128位),仅此一个::1/128
多播地址11111111(8位),功能和IPv4的一样FF00::/8
本地链路单播地址1111111010(10位),未连接到互联网不能和互联网上的其他主机通信FE0::/10
全球单播地址除上述四种外,所有其它二进制前缀
IPv6地址配置方式
  • 手动配置
  • DHCPv6(IPv6动态主机配置协议)
  • 无状态地址自动配置,基于邻居发现协议(ND)的路由器请求报文(RS)的IPv6前缀信息,结合自己的链路层地址生成IPv6地址

4.5.3 从IPv4向IPv6过渡

  • IPv4协议和IPv6协议并不兼容,迁移需要经历很长时间

    • 涉及:互联网用户、互联网服务提供商ISP、互联网内容提供商ICP、网络设备厂家
  • 向后兼容:IPv6系统必须能够接收和转发IPv4分组,并且能够为IPv4分组选择路由
  • 两种过渡策略

    • 使用双协议栈
    • 使用隧道技术
双协议栈

由域名系统DNS查询结果决定使用哪一套系统

image-20250515164302087.png

image-20250515164526369.png

问题:协议数据报转换时可能丢失一部分字段,首部不再完整

隧道技术

image-20250515164626167.png

问题:增加了多余的首部,提高了传输成本

4.5.4 ICMPv6

image-20250515164810115.png

  • ICMPv6是面向报文的协议,用来报告差错,获取信息,探测邻站或管理多播通信:

    • 比ICMPv4复杂
    • ARP协议和IGMP协议的功能合并到ICMPv6中
    • 增加了对移动IPv6的支持
ICMPv6报文的分类

image-20250515165432080.png

4.6 路由选择协议

4.6.1 路由选择协议概述

理想的路由算法
  • 算法必须是正确的和完整的
  • 算法在计算上应简单
  • 算法应能适应通信量和网络拓扑的变化,要有自适应性
  • 算法应具有稳定性
  • 算法应是公平的
  • 算法应是最佳的 -> 关于“最佳路由”:

    • 不存在一种绝对的最佳路由算法
    • 所谓“最佳”只能是相对于某一种特定要求下得出的较为合理的选择而已

路由选择非常复杂:

  • 需要许多路由器协同动作
  • 环境不断变化,而这种变化有时候无法事先知道
  • 当网络发生拥塞时,很难获得所需的路由选择信息
路由算法划分

根据路由算法是否随网络等等通信量或拓扑自适应划分

  • 静态路由选择策略

    • 非自适应路由选择
    • 缺点:不能及时适应网络状态变化
    • 优点:简单、开销小
  • 动态路由选择策略

    • 自适应路由选择
    • 缺点:实现较为复杂,开销较大
    • 优点:能较好地适应网络状态的变化
分层次的路由选择协议

image-20250518162628776.png

可以通过地址聚合进一步缩减路由条目

地址聚合依赖于:连续的地址分配以及拓扑结构(条件)

现实情况:

  • 互联网规模非常大
  • 地址分配往往是随机的,难以进行高效的地址聚合,导致 路由表爆炸,通信链饱和
  • 每个网络的网络管理员有自己的管理方法和思路,并不希望每个路由器都干涉本网络内部的地址分配等问题
层次路由

可以解决:

  • 网络的扩展性问题:当网络扩大时,控制路由表条目和路由表存储空间的增长
  • 管理的自治问题:网络管理员可以控制和管理自己网络的路由
自治系统

互联网由大量不同的网络互连,每个管理机构控制的网络是自治的

  • 自治系统 Autonomous System

    • 是在单一技术管理下的许多网络、IP地址以及路由器
    • 这些路由器使用一种自治系统内部的路由选择协议和共同的度量(跳数、带宽、时延…)
    • 每一个AS对其它AS表现出的是一个 单一的和一致的 路由选择策略
    • 不同的AS可以使用不同的路由算法/路由协议
    • 每个AS有一个全球唯一的ID号:AS ID
  • 自治系统内的还可以进一步划分层次:私有自治系统或区域

image-20250518163701596.png

  • 自治系统内部使用内部网关路由协议 Interior Gateway Protocols(IGP)

    • 每个自治系统域内路由算法可不同
    • 典型IGP协议:OSPF、RIP、IS-IS、IGRP、EIGRP等等
  • 自治系统之间使用外部网关路由协议 Exterior Gateway Protocols(EGP)

    • 各自治系统域之间的路由需统一
    • 典型EGP协议:BGP

层次路由的效果:

image-20250518163807866.png

4.6.2 内部网关协议 RIP

image-20250518163853792.png

RIP的工作原理
  • 路由信息协议RIP(Routing Information Protocol)是一种 分布式的、基于距离向量的 路由选择协议
  • 最大优点:简单
  • 要求网络中的每个路由器都要维护从它自己到其他每一个目的网络的距离记录
RIP “距离”的定义
  • 路由器到 直接连接 的网络距离 = 1
  • 路由器到 非直接连接 的网络距离 = 所经过的路由器数+1
  • RIP协议中的“距离”也称为“跳数”(hop count),每经过一个路由器跳数+1
  • 好路由 = “距离短”的路由 最佳路由 = “距离最短”的路由
  • 一条路径最多只能包含15个路由器,“距离”的最大值为16时即相当于不可达
  • RIP不能在两个网络之间同时使用多条路由,只选择“距离最短”的路由

image-20250518180738005.png

RIP协议的三个特点

1.和谁交换信息?

仅和 相邻 路由器交换信息

2.交换什么信息?

交换的信息是当前本路由器所知道的 全部信息,即自己的路由表

3.什么时候交换?

固定时间间隔 交换路由信息,例如每隔30s。当网络拓扑发生变化时,路由器夜蛾及时向相邻路由器通告拓扑变化后的路由信息

间隔太短,消耗网络资源;间隔太长,无法及时更新

RIP路由表的建立
  • 路由器在刚刚开始工作时,只知道 直接连接 的网络的距离(此距离定义为1)
  • 之后,每一个路由器也只和 相邻路由器 交换并更新路由信息
  • 经过若干次更新后,所有的路由器最终都会知道到达本自治系统中每个目的网络的最短距离和下一跳路由器的地址
  • RIP路由表项:目的网络、距离、下一跳
目的网络距离下一跳路由器
Net23R4

RIP协议的收敛过程较快

  • “收敛”就是在自治系统中所有的结点都得到正确的路由选择信息的过程
距离向量算法

阅读详解:https://blog.csdn.net/weixin_42374938/article/details/119349738

RIP2报文(二代)

image-20250518183419961.png

坏消息传得慢
  • RIP协议特点:好消息传播的块,坏消息传播的慢
  • 问题:坏消息传播得慢(慢收敛
  • Means:当网络出现故障时,要经过比较长的时间才能将此信息(坏消息)传送到所有路由器
RIP协议的优缺点
  • 优点:

    • 实现简单,开销较小
  • 缺点:

    • 网络规模有限。最大距离为15(16表示不可达)
    • 交换的路由信息为完整路由表,开销较大
    • 坏消息传播得慢,收敛时间过长

4.6.3 内部网关协议 OSPF

  • 开放最短路径优先OSPF 是为了克服 RIP 的不足在1989开发出来的
  • 使用了Dijkstra提出的最短路径算法 SPF
  • 采用分布式的链路状态协议 link state protocol
  • 现在使用OSPFv2
OSPF特点
  • 向本自治系统中所有路由器洪泛信息
  • 发送的信息就是与本路由器相邻的所有路由器的链路状态
  • 只有当链路状态发生变化时路由器才用洪泛法发送此信息
  • “链路状态”就是说明本路由器都和哪些路由器相邻,以及该链路的“度量”

    • OSPF度量值一般包括:费用、距离、时延、带宽
  • 由于各路由器之间频繁地交换链路状态信息,因此所有的路由器最终都能建立一个链路状态数据库LSDB
  • 这个数据库实际上就是区域内的拓扑结构图,他在区域内是一致的(称为LSDB的同步)
  • 指定的路由器DR 代表该局域网上所有的链路向连接到该网络上的各路由器发送状态信息

image-20250519174032529.png

OSPF适用于更大的网络,为加快收敛、便于管理,使用层次结构的区域划分,以减小LSDB规模,减少网络流量

划分为:主干区域、普通区域

  • 主干路由器 BR backbone router
  • 区域边界路由器 ABR area border router
划分区域

优点:

  • 减少了整个网络上的通信量
  • 减少了需要维护的状态数量

缺点:

  • 交换信息的种类增多了
  • 使OSPF协议更加复杂了
OSPF的五种分组类型
  • 问候分组 Hello
  • 数据库描述分组 Database Description
  • 链路状态请求分组 Link State Request
  • 链路状态更新分组 Link State Update
  • 链路状态确认分组 Link State Acknowledgment
OSPF分组

image-20250519175308382.png

OSPF-邻居状态机
  • 邻居

    • 端口连接到同一个网段
    • 由Hello报文维护
  • 完全邻接

    • 为了交换路由信息而形成的关系
    • 并非所有的邻居关系都能成为邻接关系

image-20250519175515997.png

OSPF工作过程

详解:https://blog.csdn.net/XY0918ZWQ/article/details/108681831

image-20250519175650770.png

OSPF使用 可靠的洪泛法 发送更新分组

image-20250519175712654.png

4.6.4 外部网关协议 BGP

  • BGP是 不同自治系统的路由器之间 交换路由信息的协议
  • 目前互联网中唯一实际运行的自治域之间的路由协议
  • 当前使用 BGP-4
协议 BGP 的主要特点
  • 力求选择出一条能够跨越AS到达目的路由且 比较好的路由 (不能兜圈子),而并非要计算出一条最佳路由

    • 互联网的规模太大,使得自治系统AS之间的路由之间选择非常困难
  • 采用了路径向量路由选择协议

image-20250519180237279.png

  • 对等 BGP发言者(BGP speaker) 在AS之间交换信息
eBGP连接和iBGP连接(使用TCP连接)

image-20250519180344915.png

  • eBGP(external BGP)连接:运行eBGP协议,在不同AS之间交换路由信息
  • iBGP(internal BGP)连接:运行iBGP协议,在AS内部的路由器之间交换BGP路由信息。AS内部路由器之间同时还要交换内部网关路由协议信息,例如RIP、OSPF

image-20250519181538122.png

  • R4->R3可以通报给R1或R2(外到内)
  • R1->R3或R2->R3可以通报给R4(内到外)
  • R1->R3不能通报给R2(不能经过BGP Speaker在内部传递信息)
BGP路由信息

BGP路由[前缀,AS-PATH,NEXT-HOP]

image-20250519181826805.png

BGP的路由选择顺序

image-20250519182024029.png

  • 比较好的BGP路由不能兜圈子
如何判断BGP“兜圈子”?
  • 在属性AS-PATH中,不允许出现相同的AS号
BGP的四种报文
报文功能
OPEN 打开用来与相邻的另一个BGP Speaker建立关系,使通信初始化
UPDATE 更新用来通告某一路由的信息,以及列出要撤销的多条路由
KEEPALIVE 保活用来周期性地证实邻站的连通信
NOTIFICATION 通知用来发送检测到的差错
BGP的首部

image-20250519182446789.png

4.6.5 路由器工作原理

  • 路由器工作在网络层。用于在不同网络之间转发分组
  • 在路由器之间传送的信息有以下两大类:

    • 主机之间所需要传送的数据
    • 路由信息(为数据传送服务)
  • 路由器包含两个核心功能:

    • 控制层面:运行各种路由协议(BGP、OSPF、RIP等),学习去往不同目的的转发路径(路由表)
    • 数据层面:根据上述路由表,将收到的IP分组转发到正确的下一跳链路

image-20250519183020404.png

路由器的结构

image-20250519210437658.png

不同路由种类的优先级

优先级数值越小,优先级越高

image-20250519210541076.png

路由器中IP报文转发核心功能
  • 链路层解封装,IP头部校验
  • 获取报文目的IP地址
  • 用目的IP地址,基于最长前缀匹配规则查询转发表
  • 查询失败,丢弃报文
  • 查询成功

    • √ 获取转发出接口和下一跳IP地址
    • √ IP头部“TTL”字段值减一,重新计算IP头部“校验和”
    • 重新进行链路层封装,发送报文
三种典型的交换结构

image-20250519212218655.png

家用路由器

与典型网络路由器差异极大

  • 不运行动态路由协议(出口唯一)
  • 运行DHCP协议,分配私有IP
  • NAT地址转换
  • 本地DNS服务
  • 用户管理及认证
  • 防火墙功能
  • 无线AP

4.7 IP多播

4.7.1 IP多播

多播 multicast:源主机给网络中的一部分目标用户发送数据报

目的:更好地支持一对多通信

一对多通信:一个源点发送到许多终点

image-20250519213004574.png

多播的应用
  • 音频/视频会议
  • 共享电子白板
  • 数据分发
  • 实时数据组播
  • 游戏与仿真

4.7.2 多播实现的两个步骤

1.确定多播组成员

2.多播路由

  • 网际组管理协议IGMP,让连接在本地局域网上的多播路由器知道本局域网上是否有主机参加或退出了某个多播组,即让路由器获悉该网段的组播组成员

image-20250520111153448.png

1.主机加入多播组

2.路由器定期探寻成员变化情况

History
  • 1989 RFC1112(IGMPv1) 成为互联网标准协议
  • 1997 RFC2236(IGMPv2,建议标准)
  • 2002/10 RFC3376(IGMPv3,建议标准)
多播IP地址
  • 在IP多播数据报的目的地址使用IP地址中的 D类地址(多播地址)表示组成员
  • 每一个D类地址标志一个多播组

    • 地址范围:224.0.0.0~239.255.255.255
    • 常用:224.0.0.0/24
  • 多播地址只能用于目的地址,不能用于源地址
多播地址(一跳子网使用)设备
224.0.0.1LAN上所有设备
224.0.0.2LAN上所有路由器
224.0.0.5LAN上所有OSPF路由器
224.0.0.251LAN上所有DNS服务器
多播硬件地址
  • TCP/IP协议使用的以太网地址多播地址的范围是:

    • 00-00-5E-00-00-00 ~ 00-00-5E-FF-FF-FF
  • 所有通信都使用IP多播。只要有可能,都用硬件多播来传送,以减小网络开销

4.8 虚拟专用网 VPN 和网络地址转换 NAT

4.8.1 虚拟专用网VPN

  • 由于 IP地址的紧缺,一个机构无法使所有主机都拥有公网IP
  • 考虑到 互联网并不很安全,一个机构内也并不需要把所有的主机接入到外部的互联网
  • 使用专用链路:铺设、租用(费用高,不灵活,安全性高)
  • 虚拟专用网VPN(Virtual Private Network)

    • 专用网络的经济、可靠、灵活的解决方案
    • 使用安全隧道技术将专用网络在公共网络上扩展

image-20250520113152525.png

  • 虚拟专用网VPN利用 公用互联网 作为本机构各个 专用网 之间的 通信载体

image-20250520113515112.png

专用网络IP地址块(本地地址)
  • 10.0.0.0/8

    • A类,从10.0.0.0到10.255.255.255 1个
  • 172.16.0.0/12

    • B类,从172.16.0.0到172.31.255.255 连续16个
  • 192.168.0.0/16

    • C类,从192.168.0.0到192.168.255.255 连续256个

4.8.2 网络地址转换NAT

  • 所有使用本地地址的主机在和外界通信时,都要在NAT路由器上将其 本地IP地址 转换成 全球IP地址,才能和互联网连接

image-20250520114149332.png

  • 当NAT路由器具有 n 个全球IP地址时,专用网内最多可以同时有n台主机接入到互联网——并不能节省IP地址
  • 可以使专用网内较多数量的主机 轮流 使用NAT路由器有限数量的全球IP地址
网络地址与端口号转换 NAPT
  • 使用运输层端口号的NAT叫做 网络地址与端口号转换 NAPT
  • NAPT可以使多台拥有本地地址的主机,共用一个全球IP地址,同时和互联网上的不同主机进行通信
  • NAPT把专用网内不同的源IP地址都转换为相同的全球IP地址,将TCP源端口号转换为不同的新TCP端口号
  • 收到从互联网发来的应答时,从IP数据报的数据部分找出运输层端口号,从NAPT转换表中找到正确的目的主机
方向字段旧的IP地址和端口号新的IP地址和端口号
源IP地址:TCP源端口10.0.0.3:30000138.0.1.5:40001
源IP地址:TCP源端口10.0.0.4:30000138.0.1.5:40002
目的IP地址:TCP目的端口138.0.1.5:4000110.0.0.3:30000
目的IP地址:TCP目的端口138.0.1.5:4000210.0.0.4:30000
NAT的优点与缺点

优点:

  • 节省合法地址,减少地址冲突
  • 灵活连接Internet
  • 保护局域网的私密性

缺点:

  • 违反了IP的结构模型,路由器处理传输层协议
  • 违反了端到端的原则
  • 违反了最基本的协议分层规则
  • 不能处理IP报头加密
  • 新型网络应用设计者必须考虑NAT场景,如P2P应用程序

4.9 多协议标记交换 MPLS

4.9.1 MPLS的工作原理

  • 当网络很大时,查找路由表要花费很多时间
  • 在出现突发通信时,缓存会溢出,引起分组丢失、传输时延增大和服务质量下降
  • MPLS:互联网建议标准

    • 多协议:在MPLS的上层可以采用多种协议
    • 标签:MPLS利用面向连接技术,使每个分组携带一个叫做标签(label)的小整数。标签交换路由器用标签值检索转发表,实现分组的快速转发
标签转发接口
01
10
21
31

image-20250520121019692.png

MPLS协议的工作过程

image-20250520203607946.png

LSR同时具有 标记交换 和 路由选择 这两种功能

4.9.2 MPLS报文结构

  • MPLS采用 封装技术
MPLS首部的格式

image-20250520203744547.png

4.10 软件定义网络 SDN 简介

4.10.1 SDN与协议OpenFlow

  • 软件定义网络 SDN 于2009年首先提出
  • 优点

    • 提高网络带宽利用率
    • 网络运行更加稳定
    • 管理更加高效简化
    • 运行费用明显降低

image-20250520204242459.png

image-20250520204305760.png

OpenFlow数据层面:流表

  • 流表 (flow table):规定“匹配+动作”
  • :穿过网络的一种分组序列,而在此序列中的分组都共享分组首部某些字段的值

image-20250520204437439.png

  • 数据层面的分组交换机或OpenFlow交换机完成“匹配+动作”,即广义转发

匹配:对不同层次首部中的字段进行匹配

动作:转发,重写,丢弃等

流表结构

image-20250520204618722.png

4.10.2 SDN体系结构

image-20250520205006743.png

SDN与传统网络的差别
SDN传统网络
功能分散。交换机、SDN控制器、网络控制应用程序都是可以分开的实体。
可以由不同的厂商和机构来提供
控制层面、数据层面、协议的实现都垂直集成在一个机器里
由单独的厂商提供

3.1 数据链路层概述

3.1.1 数据链路层简介

Why需要数据链路层?

  • 物理层解决了相邻结点透明传输比特的问题,但没有解决以下问题:

    • 如何在比特流中找到一组数据开始和结束的位置
    • 线路上有多个设备的时候比特流由谁接收
    • 比特传输错误怎么办
什么是数据链路?
  • 链路(link)是结点间的物理通道,无源的物理线路,中间无任何其它交换结点
  • 数据链路(data link)是结点间的逻辑通道,是把实现控制数据传输的协议的硬件加软件加到链路上,即链路+协议
  • 数据链路层:负责通过一条链路从一个结点向物理链路直接相连的相邻结点传送帧
  • 帧:链路层协议数据单元,封装网络层的数据报
从协议栈看数据链路层

image-20250310111700154.png

  • 数据链路层不必考虑物理层如何实现比特传输的细节
数据链路层信道类型
  • 点对点信道(一对一通信)
  • 广播信道(一对多通信 )

3.1.2 三个基本问题

  • 封装成帧、透明传输、差错控制
1.封装成帧

How? 在一段数据的前后分别添加首部和尾部(标识),构成一个帧

  • 首部和尾部的一个重要作用就是进行帧定界(即确定帧的界限)
  • 将比特流划分为“帧”的主要目的是为了检测和纠正物理层在比特传输中可能出现的错误(以帧为单位进行差错控制)

image-20250310113125919.png

最大传输单元MTU:规定了所能传送的帧的数据部分长度上限

为什么要规定MTU大小? 如果过大,容易出错;如果过小,浪费资源

成帧的方式:
  • 字节计数法
  • 字节填充的定界符法
  • 比特填充的定界符法:使用特殊比特序列作为帧开始,遇到数据部分与比特填充定界符相同时,采用比特填充法实现透明传输
  • 物理层编码违例:使用特殊的定界符,保证在正常的编码中不太容易产生或不会产生响应的信号,例如以太网中的帧前导码、差分曼彻斯特编码的不正常跳变信号等

image-20250310113655580.png

问题:如果出现差错,破坏了帧的边界,会导致一连串帧的错误

image-20250310113829017.png

问题:如果数据部分包含与“定界符”相同的字节会导致帧的错误“找到帧的边界”

透明传输:

发送方采用“字节填充”或“字符填充”法 (类似于转义字符)

image-20250315110027604.png

接收方逐个字节检查,遇到填充符则不会将后续字符认作帧首或帧尾,去掉填充符,接收数据

差错控制:

噪声会导致数据在传输过程中可能会产生比特差错

误码率 BER:在一段时间内,传输错误的比特占所传输比特总数的比率,与信噪比有关

为保证帧的正确传输,数据链路层需要进行差错检验:

  • 纠错码:主要用于错误发生比较频繁的信道上,如无线链路
  • 检错码:除妖用在高可靠、误码率较低的信道上,例如光纤链路

循环冗余校验CRC原理:

  • 在发送端先把数据划分为组M,假定M有k个比特
  • CRC运算在k个比特后再添加供差错检测用的n位冗余码,然后构成一个帧发送出去,一共发送(k+n)位

image-20250317175009416.png

通过CRC计算出来的冗余码称作帧检验序列FCS

CRC循环冗余检验不能完全实现数据的可靠传输,WHY?

  • 仅仅使用CRC差错检测技术只能做到无差错接收,即“凡是接受的帧(不包括丢弃的帧),我们都能以非常接近于1的概率认为这些帧在传输过程中没有产生差错”
  • “无比特差错”与“无传输差错”是不同的,CRC只能检测到比特差错,不能检测到传输差错(帧丢失、帧重复、帧失序等)

可靠传输:数据链路层的发送端发送什么,在接收端就收到什么。要做到可靠传输,不仅需要CRC技术,还必须再加上帧编号、确认和重传等机制

3.2 点对点协议 PPP

3.2.1 PPP 协议的特点

1.当前使用最广泛

2.PPP 协议的组成:

  • 一种将IP数据报封装到同步/异步串行链路的方法
  • 链路控制协议LCP:建立链路、配置链路 最重要的功能:身份验证
  • 网络控制协议NCP:用于支持不同网络层协议

3.2.2 PPP 协议的帧格式

image-20250317181854773.png

PPP 是面向字节的,所有的 PPP 帧的长度都是整数字节

透明传输问题:

  • 当 PPP 用在异步传输时,使用字节填充法
  • 当 PPP 用在同步传输时,采用零比特填充法

    • 同步传输(SONET/SDH链路):面向比特的传输,同步传输的单位是帧;同步传输收发双时钟统一、字符间传输同步无间隔
    • 异步传输:面向字节的传输,异步传输的单位是字符;异步传输效率低。高速链路开销大

image-20250317182350093.png

image-20250318155918534.png

3.2.3 PPP 协议的工作状态

状态图

image-20250318155948926.png

3.3 使用广播信道的数据链路层

3.3.1 局域网的数据链路层

1.局域网的主要优点:

  • 具有广播功能,从一个站点可以方便的访问全网
  • 便于系统的扩展和逐渐地演变,各设备位置可灵活调整和改变
  • 提高了系统的可靠性、可用性和生存性

2.局域网拓扑结构:(两个结点之间的连接关系)

星形网、环形网、总线网

image-20250318160755374.png

共同特点:共享同一信道

3.广播信道的问题:

  • 可能两个或更多站点同时请求占用信道

解决方法:介质的多路访问控制,在多路访问信道上确定下一个使用者(信道分配)

  • 怎么介质访问控制?(分配信道,媒体共享技术)

    • 静态分配
    • 动态分配

4.媒体共享技术

  • 静态划分信道:频分复用、时分复用、波分复用、码分复用

    • 适用于通信量大且流量稳定、用户数量少且数目恒定的情况
    • 代价高,不适合突发性业务,不适合局域网
  • 动态媒体介入控制(多点接入)

    • 随机接入:所有用户可随机地发送信息(以太网)
    • 受控接入:用户必须服从一定的控制。如轮询(Polling)

5.以太网的历史(非考点)

  • 1973年Bob Metcalfe提出以太网连接方案的备忘录
  • 1976年Metcalfe和David Boggs发表了《以太网:…》的论文
  • 1979年Metcalfe创立3Com,推进以太网的商业化
  • 1985年,IEEE成为以太网的官方标准化组织。开放的标准帮助以太网成为了占绝对支配的LAN技术
  • 1986年,IEEE发布10Base5以太网标准(粗以太网)
  • 1989年,Kalpana推出第一台以太网交换机,最终取代了网桥和集线器
  • 1991年,IEEE批准了Cat-3双绞线10Base-T以太网,很快成为LAN部署的标准配置
  • 1994年,IEEE批准10BaseF标准,即数据中心所用光纤以太网标准
  • 1995年,100Mbps以太网标准,称快速以太网
  • 1998年,1000Base-T千兆以太网
  • 2001年,万兆以太网标准前产品开始问世,2002年标准正式通过
  • 40G/100G以太网标准在2010年中制定完成,当前使用附加标准IEEE 802.3ba用以说明
  • 2014年,成立200 Gb/s和400 Gb/s以太网标准工作组IEEE 802.3bs

6.以太网的两个标准:

  • IEEE 802.3:第一个IEEE的以太网标准。数据链路层分为两个子层:

    • 逻辑链路控制LCC子层
    • 媒体接入控制MAC子层
  • DIX Ethernet V2:世界上第一个局域网产品(以太网)的规约。

    • 发现LCC子层没啥意义,现生成的适配器基本上仅装有MAC协议而没LCC协议

7.适配器的作用:

image-20250324110154656.png

重要功能:

  • 进行串行/并行转换
  • 对数据进行缓存
  • 在计算机的操作系统安装设备驱动程序
  • 实现以太网协议

8.以太网采取的2钟重要措施:

  • 采用较为灵活的无连接的工作方式

    • 不必先建立连接就可以直接发送数据
    • 对发送的数据帧不编号,也不要求接收方发回确认(不可靠)
    • 提供不可靠、尽最大努力的交付服务
    • 差错帧是否重传由高层决定
  • 对发送的数据都使用曼彻斯特编码,便于同步

    • 缺点:所占频带宽度比原始的基带信号增加了一倍

image-20250324110704469.png

9.总线型以太网的工作特点:

  • 最早的以太网:将许多计算机都连接到一根总线上
  • 总线特点:易于实现广播通信,简单可靠
  • 如何实现一对一通信?

    • 将接收站的硬件地址写入帧首部中的目的地址字段中,仅当数据帧中的目的地址与适配器硬件地址一致时,才能接收这个数据帧

image-20250324111421204.png

  • 如果多个用户同时在发送数据呢?

    • 总线缺点:多个站点同时发送时,会产生发送冲突,导致发送失败
    • 因此需要在以太网上实现动态媒体接入控制

3.3.2 CSMA/CD 协议

CSMA/CD:载波监听多点接入/碰撞检测

  • 多点接入:总线型网络,以多点接入的方式连接在一根总线
  • 载波监听:即“边发送边监听”,不管是发送数据之前还是之中,每个站必须不停地检测信道
  • 碰撞检测:适配器边发送数据,边检测信道上信号电压的变化情况。电压摆动值超过一定门限值时,就认为总线上至少有两个站在同时发送数据,表明产生了碰撞

    • 检测到碰撞后:

      • 适配立即停止发送(碰撞点后面的已发信号会一直叠加)
      • 等待一段随机时间后再次发送(避免再次冲突)

image-20250331113303753.png

关于CSMA/CD协议的问题:

问题1:既然发送前已经监听过信道,为什么还要进行碰撞检测?

  • 因为信号有传播时延,监听信道空闲,但信道可能并非真正空闲

问题2:A发送数据后,至少要在多少时间内收到数据才说明没有碰撞

  • 以太网的端到端往返时延$2\tau$称为*争用期,或碰撞窗口
  • 具体争用期时间 = 51.2$\mu s$

问题3:经过争用期这段时间还没有检测到碰撞,就能肯定这次发送不会遇到碰撞吗?

  • YES!当然如此

问题4:碰撞后什么时候重传?

  • 采用截断二进制指数退避来确定

    • 发生碰撞的站停止发送数据后,要退避一个随机时间后再发送数据:

      • 基本退避时间 = $2 \tau$
      • 从整数集合 $[0,1,...,(2^{k}-1)]$ 中随机取出一个数记为 $r$ ,重传所需要的时延 T = r x 基本退避时延
      • 参数 k = Min[重传次数,10]
      • 当重传达16次仍不成功时即丢弃该帧,并向高层报告
NOTE:
  • 10Mbps以太网争用期的长度 $2 \tau = 51.2 \mu s$
  • 对于10Mbps以太网,在争用期可以发送512bit,即64字节
  • 因此规定了最短有效帧长为64字节,凡长度小于64字节的帧都是由于冲突而异常终止的无效帧,应丢弃
  • 口诀:先听先发,边听边发,冲突停止,延迟重发
CSMA/CD 重要特性:
  • 使用 CSMA/CD 协议的以太网不能进行全双工通信而只能进行双向交替通信(半双工通信
  • 每个站在发送数据之后的一小段时间内,存在着遭遇碰撞的可能性
  • 这种发送的不确定性使得整个以太网的平均通信量远小于以太网的最高数据率

3.3.3 使用集线器的星形拓扑

  • 传统以太网传输媒体:粗同轴电缆 -> 细同轴电缆 -> 双绞线

    • 10Base-T双绞线

      • 速率:10Mbps 基带:Base 双绞线:T
  • 使用双绞线的以太网采用星形拓扑
  • 在星形的中心则增加了一种可靠性非常高的设备,叫做集线器(hub)
集线器的特点:
  • 使用集线器的以太网在逻辑上仍然是一个总线网,只是使用电子器件来模拟实际电缆线的工作
  • 仍然是共享信道,各工作站使用的还是 CSMA/CD 协议,并共享逻辑上的总线
  • 工作在物理层
  • 采用了专门芯片,进行自适应串音回波抵消,减少了近端串音

3.3.4 以太网的信道利用率

image-20250331112522474.png

  • 成功发送一个帧 $T_0 + \tau$,比帧的发送时间要多一个单程端到端时延$\tau$
  • $\tau / T_0$越小,信道利用率越高
  • 因此在以太网中定义参数a = $\tau / T_0$ 以太网的信道利用率 $S_{max} = \frac{T_0}{T_0+ \tau} = \frac{1}{1+a}$
  • 改进以太网的方法:使参数 a 尽可能小

    • 以太网的长度受到限制,否则$\tau$的数值会太大
    • 以太网的帧长不能太短,否则$T_0$会太小,使得 a 太大
  • 只有当参数 a << 1 才能得到尽可能高的极限信道利用率

3.3.5 以太网的MAC层

MAC层的硬件地址:
  • 又称为物理地址或MAC地址
  • IEEE 802标准为局域网规定了一种48位的全球地址 指局域网上的每一台计算机中固化在适配器的ROM中的地址
  • 每一个适配器有一个MAC地址,相当于它的标识符,与其所处的位置无关
  • 局域网上的每一个接口都有一个MAC地址

image-20250331175446630.png

  • IEEE 注册管理机构 RA 负责向厂家分配前3个字节(高24位)称为组织唯一标识符 OUI 厂家自行指派后三个字节(低24位)称为扩展唯一标识符 必须确保生产的适配器没有重复地址
MAC地址分类:
  • 单站地址:I/G位 = 0
  • 组地址:I/G位 = 1。组地址用来进行多播,只能作为目的地址使用
  • 广播地址:所有48位都为1,只能作为目的地址使用

image-20250331180025987.png

全球管理与本地管理:
  • 全球管理:G/L位 = 0 。厂商向 IEEE购买的 OUI 都属于全球管理
  • 本地管理:G/L位 = 1 。这时用户可任意分配网络上的地址

image-20250331180156426.png

MAC 帧的格式:

最常用:DIX Ethernet V2标准 以太网V2的格式

image-20250331180801801.png

  • 什么样的MAC帧是无效的? ——直接丢弃

    • 数据字段长度与长度字段的值不一样
    • 帧的长度不是整数个字节
    • 用收到的帧检验序列 FCS 查出有差错
    • 数据字段的长度不在 46~1500 字节之间 (有效MAC帧长度应在 64~1518 字节之间)
*IEEE 802.3 MAC与以太网 V2 MAC的区别:

image-20250331181214396.png

3.4.1 在物理层扩展以太网

  • 使用光纤扩展(光纤调制解调器+光纤)
  • 使用集线器扩展 (取代传统总线)

    • 碰撞域:又称冲突域,指网络中一个站点发出的帧会与其他站点发出的帧产生碰撞或冲突的那部分网络

image-20250401160952573.png

3.4.2 在数据链路层扩展以太网

  • 更常用,早期使用网桥,现在多用以太网交换机

image-20250401161334590.png

网桥根据 MAC 帧的目的地址对收到的帧进行转发和过滤,或者转发,或者丢弃

以太网交换机的特点:
  • 实质上是一个多接口网桥
  • 每个接口都直接与一个单台主机或另一个以太网交换机相连,并且一般都工作在全双工方式
  • 以太网交换机具有并行性

    • 每个接口都是一个碰撞域
  • 接口是存储器
  • 即插即用。其内部的帧交换表(又称地址表)是通过自学习算法自动地逐渐建立起来的
  • 使用专用的交换结构芯片,用硬件转发,其转发速率要比使用软件转发的网桥快很多
  • 每个接口用户独享带宽,增加了总容量
  • 支持多种速率、多种类型的接口

image-20250401162709540.png

以太网交换机的自学习功能

image-20250401163417952.png

两个以太网交换机互连

image-20250401163725187.png

问题:可能会形成回路,造成广播风暴,使得交换机性能急剧下降

消除回路:使用生成树协议 STP
  • 生成树协议 STP 不改变网络的实际拓扑,但在逻辑上则切断某些链路,使得从一台主机到所有其它主机的路径是无环路的树状结构,从而消除回路的问题
从总线以太网到星形以太网

image-20250401174825994.png

3.4.3 虚拟局域网

以太网存在的主要问题:

  • 广播风暴
  • 安全问题
  • 管理困难等
广播域
  • 指这样一部分网络,其中任何一台设备发出的广播通信都能被该部分网路中所有其他设备所接收
  • 一个以太网是一个广播域

image-20250401180721100.png

安全问题、管理问题

image-20250401181344311.png

虚拟局域网 VLAN(Virtual LAN)
  • IEEE 802.1Q 对虚拟局域网的定义:

    • 虚拟局域网 VLAN 是由一些局域网网段构成的与物理位置无关的逻辑组,而这些网段具有某些共同的需求。每一个 VLAN 的帧都有一个明确的标识符,指明发送这个帧的计算机是属于哪一个VLAN
  • 虚拟局域网其实只是局域网给用户提供的一种服务,并非一种新型局域网

image-20250401182809935.png

  • 一台主机发出的广播包,只能在其所在的VLAN中传播

image-20250401183519434.png

image-20250401183543814.png

3.5 高速以太网

3.5.1 100BASE-T 以太网

  • 又称快速以太网
  • 在双绞线上传送100Mbps 星形拓扑以太网 使用IEEE802.3的CSMA/CD协议 正式标准:IEEE802.3u
  • 特点:

    • 可在全双工方式下工作,此时不使用CSMA/CD协议
    • 使用 IEEE802.3 协议规定的MAC帧格式
    • 保持最短帧长不变,但将一个网段的最大电缆长度减小到100米
    • 帧间间隔从原来的 $9.6\mu s$ 缩短到 $0.96 \mu s$

image-20250402155218206.png

3.5.2 吉比特(Gbps)以太网

特点:

  • 允许在 1 Gbps 下以全双工和半双工两种方式工作
  • 使用 IEEE802.3 协议规定的MAC帧格式
  • 半双工方式下使用 CSMA/CD 协议,在全双工方式下不适用
  • 与 10BASE-T 和 100BASE-T 技术向后兼容

image-20250402155543560.png

image-20250402155711006.png

  • 载波衍伸:将争用时间增大为512字节,凡发送的 MAC 帧长不足 512 字节时,就用一些特殊字符填充在帧的后面

image-20250402155854294.png

  • 分组突发:当很多短帧要发送时,第 1 个短帧采用载波延伸方法进行填充,随后的一些短帧则可一个接一个地发送,只需留有必要的帧间最小间隔即可。这样就形成可一串分组的突发,直到达到1500字节或稍多一些为止

image-20250402160124474.png

3.5.3 10吉比特以太网(10GE)和更快的以太网

特点:

  • 万兆比特
  • 与10、100Mbps和1Gbps以太网的帧格式完全相同
  • 保留了 IEEE802.3 标准规定的 以太网最小和最大帧长
  • 只使用光纤作为传输媒体
  • 只工作在全双工方式,没有争用问题,不使用 CSMA/CD 协议

image-20250402160416111.png

端到端的以太网传输
  • 以太网的工作范围已经扩大到城域网和广域网,实现了 端到端 的以太网传输
  • 好处:

    • 技术成熟
    • 互操作性好
    • 在广域网中使用以太网时价格便宜
    • 采用统一的以太网帧格式,简化了操作和管理

3.5.4 使用以太网进行宽带接入

  • 以太网宽带接入具有以下特点:

    • 可以提供双向的宽带通信
    • 可以根据用户对宽带的需求灵活地进行带宽升级
    • 可以实现端到端的以太网传输,中间不需要再进行帧格式的转换
    • 但不支持用户身份鉴别
PPPoE
  • PPPoE (PPP over Ethernet):在以太网上运行PPP
  • 将 PPP 帧封装到以太网中来传输
  • 现在的光纤宽带接入 FTTx 都要使用 PPPoE 的方式进行接入
  • 利用 ADSL 进行宽带上网时,从用户个人电脑到家中的 ADSL 调制解调器之间的连接也使用 RJ45 和 5类线,也使用 PPPoE

第二章 通信信道

2.1 通信信道的定义及分类

  • 信道:指以传输媒介为基础的信号通路 作用是传输信号

    • 狭义信道:有线信道、无线信道
    • 广义信道:调制信道(模拟通信系统)、编码信道(数字通信系统)

2.2 通信信道模型

(1)调制信道:

从调制器的输出端到解调器的输入端

image-20250305104747112.png

主要特性:

  • ①有一对或多对输入端,则必有一对或多对输出端
  • ②绝大部分信道是线性的,即满足叠加原理
  • ③信号通过信道需要一定的迟延
  • ④信道对信号有损耗(固定损耗或时变损耗)
  • ⑤即使没有信号输入,在信道的输出端仍可能存在一定的功率输出(噪声)

可使用二对端(或多对端)的时变线性网络替代:

image-20250305105155757.png

输入输出关系式: $e_{o}(t) = f[e_{i}(t)]+n(t)$

  • 其中 $e_{o}(t)$ 为信道输出信号 $e_{i}(t)$ 为信道输入信号 $n(t)$ 为信道噪声
  • 其其中 $f[e_{i}(t)]$ 为信道对信号影响的某种函数关系,也可以写成乘性干扰+加性干扰的形式:$f[e_i(t)] = k(t) \cdot e_{i}(t)+n(t)$

    • 加性干扰$n(t)$:人为造成或者外界环境噪声
    • 乘性干扰$k(t)$:复杂函数(线性畸变、非线性失真、时间延迟及衰减等)或随时间变化的特性

调制信道的分类:

  • 恒参信道:$k(t)不随时间t变化或变化极其缓慢$
  • 随参信道:$k(t)随时间t随机变化$
(2)编码信道:

从编码器的输出端到译码器的输入端

image-20250305110526874.png

image-20250305110614753.png

主要特点:

  • ①包括调制器、解调器、发送变换器以及传输媒介
  • ②对信号的影响是数字序列的变换
  • ③调制信道不理想会导致编码信道产生错码,且调制信道越差发生错误的概率越大
  • ④有时候编码信道可以看成一种数字信道

编码信道的模型可用数字信号信道转移概率来描述

①二进制无记忆编码信道模型

image-20250305111008108.png

  • 正确转移概率:$P(0/0)和P(1/1)$
  • 错误转移概率:$P(0/1)和P(1/0)$
②多进制无记忆编码信道模型

image-20250305111204254.png


(3)信道带宽:

信号带宽表达式:$B = f_2 - f_1$ 单位$Hz$

  • 其中,$f_1$是信道能通过的最低频率,$f_2$是信道能通过的最高频率

2.3 信道噪声和干扰

  • 通常将加性噪声$n(t)$分为自然噪声人为干扰,它们降低了接收信号的信干比,从而影响接收机的正常工作,导致模拟通信产生失真,数字通信产生误码

噪声:

(1)标准Ⅰ:高斯噪声

指概率密度函数服从高斯分布(即正态分布)

高斯噪声的一维概率密度函数表示:$p(x) = \frac{1}{\sqrt{2\pi}\sigma}exp[-\frac{(x-a)^2}{2\sigma^2}]$

image-20250305112516214.png

当噪声均值a=0为零时,噪声的平均功率等于噪声的方差,即:$P_n = \sigma^2$

(2)标准Ⅱ:白噪声

功率谱密度函数在整个频域范围内是常数,即功率谱密度函数在频域内均匀分布:

image-20250305112834118.png

不符合上述条件的噪声称为有色噪声

(3)高斯白噪声

指噪声的概率密度函数满足正态分布统计特性,其功率谱密度函数是常数

  • 典型的高斯白噪声:热噪声

!!!在通信系统的理论分析中,特别是在分析、计算系统抗噪声性能时,经常假定系统中信道噪声为高斯型白噪声 WHY??

  • 1.高斯型白噪声确实反映了实际信道中的加性噪声情况,比较真实地代表了信道噪声的特性
  • 2.高斯型白噪声可用具体的数学表达式表述,便于推导分析和运算

干扰:

image-20250305113500201.png

2.4 信道容量

信道容量:用于衡量物理信道能够传输数据的最大能力的基本标准,常以单位时间内信道中信息能够无差错传输的最大平均信息速率表征

有时也表示为单位时间内可传输的二进制位的位数,即信道的数据传输速率(位速率),单位为:位/秒(b/s) 简记为bps

分类:连续信道(模拟通信系统)、离散信道(数字通信系统)

(1)香农公式

无差错传输的最大信息速率C(信道容量)为:

$C=Blog_2(1+\frac{S}{n_0{B}}) (b/s)$

其中噪声功率$N=n_0{B}$,因此也可化为信噪比式子$S/N = S/n_0{B}$

结论:

  • 任何一个连续信道都有信道容量。实际传输速率(一般地)要求不能大于信道容量,除非允许存在一定的差错率
  • 增大信号功率 $S$ 可以增加信道容量 $C$
  • 当信道容量保持不变时,信道带宽 $B$ 、信号噪声功率比 $S/N$ 及传输时间三者是可以互换的
(2)离散信道容量

广义信道中的编码信道就是一种离散信道,常用转移概率描述

  • $P(x_i)$ 信源发送符号$x_i$的概率
  • $P(y_j)$ 接收端收到$y_j$的海女
  • $P(x_i|y_j)$ 在发送$x_i$的条件下收到$y_j$的条件概率,也称转移概率
①平均信息熵

$H(x)= -\sum^n_{i=1}P(x_i)log_2P(x_i) (b/s)$

②因信道噪声而损失的平均信息量

$H(x|y) = -\sum^m_{j=1}P(y_i)\sum^n_{i=1}P(x_i|y_i)log_2P(x_i|y)i$

③信道每秒传输的平均信息量

信息传输速率R

$R = r[H(x)-H(x|y)]$

符号速率r,指信道每秒传输的符号数

④信道容量

对一切可能的信源概率分布,求信息传输速率R的最大值即可:

$C = \max_{P(x)}\{r[H(x)-H(x|y)]\} (b/s)$

2.0 前言

笔记内容来自计算机网络课程PPT;习题来自 计算机网络(第8版),谢希仁 ;整体格式由Deepseek R1润色

在第二章物理层的内容中,涉及的各种概念极多,需要自行理解

2.1 物理层的基本概念

  • 位置:网络体系的最底层

不是具体传输媒体,也不是具体连接计算机的具体物理设备

  • 功能:如何在连接各种计算机的传输媒体上传输数据比特流
  • 作用:尽可能屏蔽掉不同传输媒体和通信手段的差异
  • 用于物理层的协议也常称为物理层规程(procedure)
  • 主要任务:确定与传输媒体的接口有关的一些特性

image-20250303102150919.png

数据终端设备(DTE) 数据电路终结设备(DCE)

物理层协议是DTE和DCE间的约定,规定了标准化的DTE/DCE皆有具有的特性:

(1)机械特性

(2)电气特性

(3)功能特性:指明某条线上出现的某一电平的电压的意义,定义接线器的每一引脚(针,pin)的作用

(4)过程特性:指明对于不同功能的各种可能事件的出现顺序

2.2 数据通信的基础知识

2.2.1 数据通信系统的模型

  • 三大部分:源系统(或发送端、发送方)、传输系统(或传输网络)和目的系统(或接收端、接收方)

数据通信常用术语

  • 通信是在源点与终点之间传递消息或者信息,但消息和信息有着不同的概念
  • 消息是指能向人们表达客观物质运动和主观思维活动的文字、符号、数据、等(能被通信双方理解的同时也可以相互传递)
  • 信息是指包含在消息中对通信者有意义的部分内容,消息是信息的载体
  • 数据是指对某一事实的不经解释并赋予一定含义的数字、字母、文字等符号及其组合的原始表达,是运送消息的实体,分为模拟数据数字数据
  • 信号是消息的载体(比如光信号、电信号),是数据的电气的或电磁的表现 电信号有模拟信号和数字信号

2.2.2 有关信道的几个基本概念

  • 信道:信号传播的通道(传输媒介),按照数据信号在信道上的传送方向与时间的关系,传输方式可分为三类:

    • 单向通信(单工通信)
    • 双向交替通信(半双工通信) 双方不能同时发送,也不能同时接收
    • 双向同时通信(全双工通信)
  • 基带信号(基本频带信号)

    • 信源发出的没有经过调制的原始信号
    • 包含较多低频成分,甚至有直流成分
  • 调制:让信号可以在相应信道中传输

    • 基带调制(编码 Coding):仅对基带信号的波形进行变换 数字信号->另一种形式的数字信号
    • 带通调制:使用载波(carrier)进行调制,把基带信号的频率范围搬移到较高的频段,并转换为模拟信号。经过载波调制后的信号称为带通信号

image-20250303112554287.png

  • 码元:在使用时域的波形表示数字信号时,代表不同离散数值的基本波形

    • 使用二进制编码时,只有两种不同码元:0状态、1状态
    • 1码元可以携带多个比特的信息量
    • 当码元的离散状态有M个时(M>2),此时码元称作M进制码元

(1)常用编码方式

  • 不归零制:正电平代表1,负电平代表0
  • 归零制:正脉冲代表1,负脉冲代表0
  • 曼彻斯特:位周期中心向上跳变代表0,向下跳变代表1。也可以反过来定义
  • 差分曼彻斯特:在每一位的中心处均有跳变。位开始边界有跳变代表0,没有跳变代表1

image-20250304093110935.png

1.曼彻斯特编码产生的频率比不归零制高

2.不归零制没有自同步能力,而曼彻斯特编码和差分曼彻斯特编码具有自同步能力

(2)基本的带通调制方法

  • 调幅(AM):载波的振幅随基带数字信号而变化
  • 调频(FM):载波的频率随基带数字信号而变化
  • 调相(PM):载波的初始相位随基带数字信号而变化

image-20250304093411619.png

  • 正交振幅调制(QAM)

2.2.3 信道的极限容量

image-20250304094320462.png

失真的原因:

信号的传输距离远、传输媒体质量差、噪声干扰(环境干扰、人为恶意干扰)、码元传输速率高(不可能以任意高速率进行传送)

限制码元在信道上的传输速率的两个因素:

  • 信道能够通过的频率范围
  • 信噪比 $S/N$

(1)信道能够通过的频率范围

奈氏准则:
  • 带宽为 $W(Hz)$理想低通信道(无噪声、带宽受限)中,码元传输的最高速率 = $2W$(码元/秒)
  • 奈氏准则给出了码元传输速率的限制,没有对信息传输速率做出限制,因此:
  • $v$进制码元情况下,理想低通信道的极限数据传输速率 = $2Wlog_{2}v(b/s)$

信道的频带越宽,也就是能够通过的信号高频分量越多,那么可以用更高的速率传输码元而不出现码间串扰

码间串扰:接收端收到的信号波形失去了码元之间的清晰界限

(2)信噪比

信号的平均功率/噪声的平均功率,常记为$S/N$,用分贝(db)作为度量单位

信噪比(dB) $= 10log_{10}(S/N) (dB)$

香农定理:

带宽受限且有高斯白噪声干扰的信道的极限、无差错的信息传输速率可表示为

​ $C = Wlog_{2}(1+S/N)(bit/s)$

  • 香农公式表明:信道带宽或信道中的信噪比 S/N 越大,则信息的极限传输速率就越高

image-20250304101108114.png

2.3 物理层下面的传输媒体

  • 传输媒体是数据传输系统中在发送器和接收器之间的物理通路
  • 两大类:

    • 导引型传输媒体
    • 非导引型传输媒体:指自由空间。非导引型传输媒体中电磁波的传输常称为无线传输

2.3.1 导引型传输媒体

1.双绞线
  • 将两根互相绝缘的铜导线并排放在一起,然后用规则的方法绞合(twist)起来
  • 绞合度越高,可用的数据传输率越高(3类线、5类线)
  • 根据是否有屏蔽层分为两大类:

    • 无屏蔽双绞线 UTP
    • 屏蔽双绞线 STP (必须有接地线)
  • 一般双绞线所指最长传输距离:100m(6A线、7类线)
2.同轴电缆
  • 内导体铜质芯线、绝缘层、网状编制的外导体屏蔽层、保护塑料外层组成
  • 具有良好的抗干扰特性,被广泛用于传输较高速率的数据
3.光缆
  • 光纤之父高锟 2009年诺贝尔物理学奖
  • 光纤是光纤通信的传输媒体。通过传递光脉冲来进行通信
  • 其传输带宽远远大于目前其它各种传输媒体的带宽

image-20250304155824504.png

  • 发送端:要有光源,在电脉冲的作用下产生出光脉冲

    • 光源:发光二极管、半导体激光器等
  • 接收端:要有光检测器,利用光电二极管做成,在检测到光脉冲时还原出电脉冲
  • 光纤可分为:多模光纤、单模光纤
  • 常用三个波段的中心:850nm 1300nm 1550nm 均具有25000~30000Ghz的带宽

优点与缺点:

优点:

  • 通信容量非常大
  • 传输损耗小,中继距离长
  • 抗雷电和电磁干扰性能好
  • 无串音干扰,保密性好
  • 体积小,重量轻(但在实际使用中外层保护层会比较重)

缺点:

  • 质地脆,机械强度差
  • 连接困难
  • 弯曲半径不能过小
  • 分路、耦合不灵活
  • 怕水

2.3.2 非导引型传输媒体

即无线传输

1.无线电微波通信
  • 占有特殊重要的地位
  • 微波频率范围:300Mhz~300Ghz 主要使用:2~40Ghz
  • 在空间主要是以直线传播
  • 微波接力:远距离微波通信,中继站把前一站送来的信号放大后再发送到下一站
2.卫星通信

同步卫星

  • 通信容量大、距离远、稳定,通信费用与通信距离物馆
  • 传播时延较大、保密性相对较差、造价较高
  • 案例:中国北斗卫星导航系统(BDS)、美国全球定位系统(GPS)等等

低轨道卫星(近地卫星)通信系统:

  • 案例:空中互联网系统、全球星系统、星链互联网系统Starlink等等

2.4 信道复用技术

2.4.1 频分复用、时分复用和统计时分复用

Q1.为什么要信道复用?

  • 信道资源是有限的,实际网络中多对用户往往需要利用相同信道资源传输信息
  • 不同的信号同时在同一信道中传输会产生严重的相互干扰,导致传输失败

Q2.什么是信道复用?

  • 多路复用技术:把多个信号组合在一条物理信道中进行传输,使得多个计算机或终端设备共享信道资源,提高信道利用率
  • 允许用户使用一个共享信道进行通信,降低成本、提高利用率

3.1 总线的基本概念

什么是总线?
  • 总线是连接各个部件的信息传输线,是各个部件共享的传输介质
总线上信息的传送方式:
  • 串行、并行

总线结构的计算机举例:

1.单总线结构框图

image-20250304110715312.png

存在总线争用、延迟过高的问题

2.面向CPU的双总线结构框图

image-20250304110827972.png

3.以存储器为中心的双总线结构框图

image-20250304110945376.png

3.2 总线的分类

根据位置划分:

  • 片内总线:芯片内部的总线
  • 系统总线:计算机各部件之间的信息传输线

    • 数据总线 双向,与机器字长、存储字长有关
    • 地址总线 单向,与存储地址、I/O地址有关
    • 地址总线 有出,有入
  • 通信总线:用于 计算机系统之间 或 计算机系统与其他系统(如控制仪表、移动通信等)之间的通信

    • 按传输方式可分为:串行通信总线、并行通信总线

3.3 总线特性及性能指标

一、总线物理实现

二、总线特性

  • 机械特性:尺寸、形状、管脚数、排列吮吸
  • 电气特性:传输方向和有效的电平范围
  • 功能特性:每根传输线的功能(地址、数据、控制信号)
  • 时间特性:信号的时序关系

三、总线的性能指标

  • 总线宽度:数据线的根数
  • 标准传输率:每秒传输的最大字节数(MBps)
  • 时钟同步/异步:同步、不同步
  • 总线复用:地址线与数据线复用
  • 信号线数:地址线、数据线和控制线的总和
  • 总线控制方式:突发、自动、仲裁、逻辑、计数
  • 其他指标:负载能力

四、总线标准

image-20250304112326312.png

3.4 总线结构

一、单总线结构(系统总线)

  • 缺点:所有设备都在同一总线,判优困难;不能保证设备均在同一速度下运行,需要以最低速度设备运行

二、多总线结构

1.双总线结构
  • 主存总线+I/O总线
2.三总线结构
  • 主存总线+I/O总线+DMA总线

    • DMA:直接存储器访问 高速设备直接访问CPU
  • 局部总线+系统总线+扩展总线(对外部设备的工作速度有影响)
3.四总线结构
  • 局部总线+系统总线+高速总线+扩展总线

image-20250307102511645.png

三、总线结构举例

1.传统微型机总线结构
2.VL-BUS局部总线结构
3.PCI总线结构
4.多层PCI总线结构
  • 通过桥电路实现总线的扩展

3.5 总线控制

一、总线判优控制

1.基本概念:

  • 主设备(模块) 对总线有控制权
  • 从设备(模块) 相应来自主设备发来的总线命令

总线判优控制分类:

  • 集中式

    • 链式查询
    • 计数器定时查询
    • 独立请求方式
  • 分布式

2.链式查询方式:

image-20250307103243766.png

  • 特点:结构简单,增删设备简单;进行可靠性设计容易;存在接口的优先级;对电路故障敏感

3.计数器定时查询方式:

image-20250307103710988.png

  • 响应BS的优先级可由计数器决定,具有更灵活的特点
  • 设备地址线的带宽与设备数量有关

4.独立请求方式:

image-20250307104310988.png

  • 请求优先级由总线控制部件内部的排队器决定
  • 缺陷:使用的线过多

二、总线通信控制

1.目的

解决通信双方协调配合问题

2.总线传输周期
  • 申请分配阶段 主模块申请,总线仲裁决定
  • 寻址阶段 主模块向从模块给出地址和命令
  • 传数阶段 主模块和从模块交换数据
  • 结束阶段 主模块撤销有关信息
3.总线通信的四种方式
  • 同步通信 由统一时标控制数据传送
  • 异步通信 采用应答方式,没有公共时钟标准
  • 半同步通信 同步、异步结合
  • 分离式通信 充分挖掘系统总线每个瞬间的潜力

1)同步式数据输入

  • 在固定的时间点给出固定的操作
  • 特点:一定有定宽定距的时钟进行控制;在给定的时间点上完成相应操作

image-20250307110134576.png

2)同步式数据输出

  • 主从模块强制同步,必须选择速度最慢的模块进行数据传输
  • 通常应用在 总线长度较短、各个模块传输速率相对一致 的系统中

image-20250307110304651.png

3)异步通信

  • 没有定宽定居的时钟信号,而是由请求、回答两条线(两个握手信号)决定

image-20250307110542904.png

  • 半互锁方式的问题:又可能造成请求信号一直保持高电平

4)半同步通信(同步、异步结合)

  • 同步

    • 发送方用系统时钟前沿发信号
    • 接收方用系统时钟后沿判断、识别
  • 异步

    • 允许不同速度的模块和谐工作
    • 增加一条“等待”响应信号 $\overline{WAIT}$

image-20250307111216926.png

  • $T_1$ 主模块发地址
  • $T_2$ 主模块发命令
  • $T_w$ 当 $\overline{WAIT}$ 为低电平时,等待一个T
  • $T_w$ 再检测一次 $\overline{WAIT}$ 是否为低电平,等待一个T
  • $T_3$ 从模块提供数据
  • $T_4$ 从模块撤销数据,主模块撤销命令

5)三种通信方式的共同点

  • 一个总线传输周期

    • 主模块发地址、命令 占用总线
    • 从模块准备数据 不占用总线 !总线空闲!
    • 从模块向主模块发数据 占用总线

如何解决总线空闲的问题?👇

6)分离式通信

大大提高了总线的利用率

  • 一个总线传输周期

    • 子周期1

      • 主模块申请占用总线,使用完后即放弃总线的使用权
    • 子周期2

      • 从模块申请占用总线,将各种信息送至总线上

特点:

  • 各个模块均有权申请占用总线(各个模块都可以变成主模块)
  • 采用同步方式通信,不等对方回答
  • 各模块准备数据时,不占用总线
  • 总线被占用时,无空闲