Skip to content

计算机网络(本)2024-11-21 第 3-5 节 PPT

IPv6

:material-circle-edit-outline: 约 2499 个字 :material-clock-time-two-outline: 预计阅读时间 8 分钟

将协议数据单元 PDU 称为分组 (packet) ,不需要使用 DHCP

IPv6 首部改为 8 字节对齐。首部长度必须是 8 字节的整数倍

IPv6 数据报的一般形式

  1. 基本首部 (base header)
  2. 有效载荷 (payload)。有效载荷也称为净负荷。有效载荷允许有零个或多个扩展首部 (extension header),再后面是数据部分

IPv6 数据报的基本首部

image-20241115204427062

IPv6 的地址分为三种类型(单播 (unicast)多播 (multicast)任播 (anycast)),每种类型的地址都有不同

IPv6 将实现 IPv6 的主机和路由器均称为节点,IPv6 地址是分配给节点上接口的

在 IPv6 中,每个地址占 128 位

冒号十六进制记法

IPv4 一个数字是 8bit 十进制,IPv6 一个数字是 16bit 十六进制

主要是有两个技术

零压缩 (zero compression):一串连续的零可以用一对冒号取代

FF05:0:0:0:0:0:0: B3 -> FF05:: B3

在一个地址中只能使用一次,防止歧义

点分十进制记法的后缀 例如 0:0:0:0:0:0:128.10.2.1 -> :: 128.10.2.1

[!EXAMPLE]

CIDR 记法地址: 2001:0DB8:0:CD30:123:4567:89AB: CDEF/60,表示: IPv6 的地址是: 2001:0DB8:0:CD30:123:4567:89AB: CDEF 其子网号是: 2001:0DB8:0:CD30::/60

路由选择协议/算法

自治系统 AS (Autonomous System)

每一个 AS 对其他 AS 表现出的是一个单一的和一致的路由选择策略

image-20241122173329661

内部网关协议 IGP 是在一个 AS 内部使用的路由选择协议,域内路由选择

外部网关协议 EGP 是在不同自治系统之间进行路由选择时使用的协议,域间路由选择

image-20241123130500172

三种不同的自治系统 AS

image-20241206203830995

内部网关协议 RIP

工作原理

路由信息协议 RIP (Routing Information Protocol) 是分布式的、基于 距离向量 的路由选择协议,最大的优点是简单

  • 路由器到直接连接的网络的距离 = 1
  • 路由器到非直接连接的网络的距离 = 所经过的路由器数 + 1

RIP 协议中的“距离”也称为“跳数”(hop count),每经过一个路由器,跳数就加 1

好路由 = “距离短”的路由,最佳路由 = “距离最短”的路由

一条路径最多只能包含 15 个路由器,“距离”的最大值为 16 时即相当于不可达

三个特点+优越点

  1. 仅和相邻路由器交换信息
  2. 交换的信息是当前本路由器所知道的全部信息,即自己的路由表
  3. 按固定时间间隔交换路由信息
  4. 好消息传播得快,坏消息传播得慢

[!EXAMPLE] 坏消息传播得慢

坏消息指发生错误的信息传播得慢,router 要很久才能确定一个地方出问题了

如下图,网 1 出了问题,R1 会标记该目的地址距离为 16

image-20241123125337658

但是, R2 先会将距离为 2 的信息交给 R1,并且按照算法不会接收 R1 的 RIP 报文

R1 接收到 R2 的 RIP 报文,会按照算法以为 R2 是可以到网 1 的,就会接收这个信息,替换掉原来标记的不可达信息

然后 R1 又将错误的信息发送给 R2,两者就这么来回更新,直到更新到距离都为 16,才都确认网 1 出了故障

image-20241123125603983

路由表的建立

RIP 的路由表一个 entity 包含 <目的网络,最短距离,下一跳地址> 三部分

路由器在刚刚开始工作时,路由表是空的

  1. 先识别直接连接的网络,距离设置为 1
  2. 之后每一个路由器和相邻路由器交换路由信息

    • 使用距离向量算法更新最短距离
  3. 经过若干次交换后就存了整个 AS 的路由信息

RIP 协议的收敛 (convergence) 过程较快

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

距离向量算法

交换路由信息时,router 发送的叫 RIP 报文,router 收到 X 发来的 RIP 报文时:

  1. 先将里面路由表所有最短距离+1,将下一跳地址改为发送者 X
  2. 对报文里的每个 entity,重复以下步骤
    • 若自己的路由表没有这个 dest addr,就加入路由表
    • 若已经有这个 dest addr,且 dest addr 已经是 X,就用报文里的距离替换已有的距离
    • 若已经有这个 dest addr,且目前的 next addr 不是 X,但发现报文里的距离小于目前已有的,就将已有的替换为报文的
    • 若已经有这个 dest addr,目前的 next addr 不是 X,距离比 X 的要小,就不改
  3. 若 3 分钟还未收到相邻路由器的 RIP 报文,则将其记为不可达路由器(距离设 16)

算法基础:Bellman-Ford 算法(或 Ford-Fulkerson 算法)

RIP2 的报文用使用 UDP 传送(使用 UDP 端口 520)。

内部网关协议 OSPF

开放最短路径优先 OSPF (Open Shortest Path First),采用分布式的链路状态协议 (link state protocol),克服了 RIP 的缺点,对大型 AS 很有效

使用了 Dijkstra 提出的最短路径算法 SPF

三个特点

  1. 采用洪泛法 (flooding),向本自治系统中所有路由器发送信息
  2. 发送的信息是与本路由器相邻的所有路由器的链路状态
    • 这只是路由器所知道的部分信息
    • 链路状态:说明本路由器都和哪些路由器相邻,以及该链路的度量 (metric)
  3. 链路状态发生变化,或每隔一段时间(如 30 分钟),路由器才用洪泛法向所有路由器发送此信息

[!NOTE] 链路状态数据库 (link-state database)

全网的拓扑结构图,每个路由器最终都能建立

在全网范围内是一致的(这称为链路状态数据库的同步)

每个路由器使用链路状态数据库中的数据构造自己的路由表

OSPF 将自治系统划分为两种不同的区域 (area)

image-20241123130917549

  • 主干区域 (backbone area) 标识符 = 0.0.0.0
    • 作用:连通其他下层区域。
    • 包括 ABR 在内的主干区域的 router 都叫做 主干路由器 BR (backbone router)
    • R3, R4, R7 这种属于 区域边界路由器 ABR (area border router)
    • R6 这种属于 自治系统边界路由器 ASBR (AS border router)

[!NOTE] 划分区域优点和缺点

优点:

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

缺点:

  • 交换信息的种类增多了。
  • 使 OSPF 协议更加复杂了

OSPF 分组用 IP 数据报传送

OSPF 工作过程

  1. 确定邻站可达
    • 相邻路由器定期交换一次问候分组
    • 若长时间没收到某 router 发来的问候分组,则认为其不可达
  2. 同步链路状态数据库
    • 两个同步的路由器叫做完全邻接的 (fully adjacent) 路由器
  3. 更新链路状态
    • 只要链路状态发生变化,路由器就使用链路状态更新分组
    • 采用可靠的洪泛法向全网更新链路状态
    • 定期刷新一次数据库中的链路状态

外部网关协议 BGP

计算机网络(本)2024-11-28第3-5节

不知道要不要学,写作业看看,我这里没怎么学

BGP 是 AS 的路由器之间交换路由信息的、采用了路径向量 (path vector) 路由选择协议

力求选择出一条能够到达目的网络且比较好的路由(不能兜圈子),而并非要计算出一条最佳路由

每个 AS 选一个 ASBR 作为 BGP 发言者 (BGP speaker)参与协议计算

  • eBGP (external BGP) 连接:运行 eBGP 协议,在不同 AS 之间交换路由信息。
  • iBGP (internal BGP) 连接:运行 iBGP 协议, 在 AS 内部的路由器之间交换 BGP 路由信息

BGP 路由信息

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

  • 前缀
    • 指明到哪一个子网(用 CIDR 记法表示)
  • BGP 属性
    • 自治系统路径 AS-PATH
    • 下一跳 NEXT-HOP

image-20241206202038434

BGP 路由如何避免兜圈子?

在属性 AS-PATH 中,不允许出现相同的 AS 号

image-20241206203803224

BGP 的路由选择

  1. 本地偏好 (local preference) 值最高的路由 (默认值=100)
  2. AS 跳数最小的路由
  3. 使用热土豆路由选择算法
    • 分组在 AS 内的转发次数最少
  4. 路由器 BGP ID 数值最小的路由
    • 具有多个接口的路由器有多个 IP 地址
    • BGP ID 就使用该路由器的 IP 地址中数值最大的一个。

本地偏好 (local preference) 值最高

image-20241206204010291

AS 跳数最小

image-20241206204027730

热土豆路由选择算法

image-20241206204040844

热土豆拿在手里是想丢掉的

?????

路由器的构成

路由器的结构

路由器的结构

image-20241123202327218

[!NOTE] “转发”和“路由选择”的区别

转发只有一个 router 参与,静态

路由涉及多个 router,动态

输入端口对线路上收到的分组的处理

image-20241123202654718

  1. 物理层:从输入端口接收比特
  2. 数据链路层:剥去帧的首部和尾部
  3. 网络层
    • 若是路由信息交换分组,送交路由选择处理机
    • 若是是数据分组,按目的地址查找转发表,根据得出的结果,经交换结构到达合适的输出端口。
    • 有排队机制

输出端口将交换结构传送来的分组发送到线路

image-20241123202644611

  1. 网络层
    • 从交换结构接收分组。
    • 当交换结构传送的分组的速率超过输出链路的发送速率时,来不及发送的分组就必须缓存在队列中。
    • 若分组处理的速率赶不上分组进入队列的速率,队列满时,丢弃后面进入的分组。
  2. 数据链路层
  3. 物理层

交换结构

交换方法有三种:通过存储器、通过总线、通过纵横交换结构

image-20241123203136757

具体没看,PPT 250 页