Download presentation
Presentation is loading. Please wait.
1
计算机网络 第 6 章 网络互连
2
第 6 章 网络互连 6.1.1 路由器的构成 6.1.2 交换构件 6.1.3 互联网与因特网 *6.2 因特网的网际协议 IP
第 6 章 网络互连 *6.1 路由器在网际互连中的作用 路由器的构成 交换构件 互联网与因特网 *6.2 因特网的网际协议 IP 分类的 IP地址 IP 地址与硬件地址 地址解析协议 ARP 和逆地址解析协议 RARP IP 数据报的格式 IP 层处理数据报的流程
3
第 6 章 网络互连(续) *6.3 划分子网和构造超网 6.3.1 划分子网 6.3.2 使用子网掩码的分组转发过程
第 6 章 网络互连(续) *6.3 划分子网和构造超网 划分子网 使用子网掩码的分组转发过程 无分类编址 CIDR *6.4 因特网控制报文协议 ICMP *6.5 因特网的路由选择协议 有关路由选择协议的几个基本概念 内部网关协议 RIP 内部网关协议 OSPF 外部网关协议 BGP
4
第 6 章 网络互连(续) 6.6 IP 多播和因特网组管理协议 IGMP 6.6.1 IP 多播的基本概念
第 6 章 网络互连(续) 6.6 IP 多播和因特网组管理协议 IGMP IP 多播的基本概念 因特网组管理协议 IGMP 多播路由选择 *6.7 虚拟专用网 VPN 和网络地址转换 NAT 6.8 下一代的网际协议 IPv6 (IPng) * 解决 IP 地址耗尽的措施 * IPv6 的基本首部 IPv6 的扩展首部 IPv6 的地址空间 从 IPv4 到 IPv6 的过渡 ICMPv6
5
6.1 路由器在网际互连中的作用 路由器的构成
6
直接交付和间接交付 直接交付不需要使用路由器 但间接交付就必须使用路由器 路由器的转发分组是网络层主要工作 C A 直接交付 间接交付
B 直接交付不需要使用路由器 但间接交付就必须使用路由器 路由器的转发分组是网络层主要工作
7
典型的路由器的结构 路由选择处理机 3——网络层 2——数据链路层 1——物理层 路由 选择 分组 转发 交换结构 路由选择协议 路由表
输入端口 输出端口 1 2 3 3 2 1 分组处理 … … 转发表 分组 转发 输入端口 输出端口 1 2 3 交换结构 3 2 1
8
数据链路层剥去帧首部和尾部后,将分组送到网络层的队列中排队等待处理。这会产生一定的时延。
输入端口对线路上收到的分组的处理 数据链路层剥去帧首部和尾部后,将分组送到网络层的队列中排队等待处理。这会产生一定的时延。 输入端口的处理 网络层处理 分组排队 从 线 路 接 收 分 组 交 换 结 构 数据链路层 处理 物理层处理 查表和转发
9
输出端口将交换结构传送来的分组发送到线路
当交换结构传送过来的分组先进行缓存。数据链路层处理模块将分组加上链路层的首部和尾部,交给物理层后发送到外部线路。 输出端口的处理 向 线 路 发 送 分 组 网络层处理 分组排队 交 换 结 构 数据链路层 处理 物理层处理 缓存管理
10
互联网与因特网
11
网络互相连接起来 要使用一些中间设备 中间设备又称为中间系统或中继(relay)系统。 物理层中继系统:转发器(repeater)。
数据链路层中继系统:网桥或桥接器(bridge)。 网络层中继系统:路由器(router)。 网桥和路由器的混合物:桥路器(brouter)。 网络层以上的中继系统:网关(gateway)。
12
网络互连使用路由器 名词 internet 和 Internet 转发器或网桥时,一般并不称之为网络互连 网关由于比较复杂,目前使用得较少。
互联网都是指用路由器进行互连的网络。 名词 internet 和 Internet
13
6.2 因特网的网际协议 IP 各种应用层协议 应用层 (TELNET, FTP, SMTP 等) 运输层 TCP, UDP ICMP
IGMP 网际层 IP RARP ARP 与各种网络接口 网络接口层 物理硬件
14
分类的 IP 地址 1. IP 地址及其表示方法 分类的 IP 地址。这是最基本的编址方法,在 1981 年就通过了相应的标准协议。 子网的划分。这是对最基本的编址方法的改进,其标准[RFC 950]在 1985 年通过。 构成超网。这是比较新的无分类编址方法。1993 年提出后很快就得到推广应用。
15
IP 地址中的网络号字段和主机号字段 A 类地址 net-id 8 bit host-id 24 bit B 类地址 1 net-id
net-id 8 bit host-id 24 bit B 类地址 1 net-id 16 bit host-id 16 bit C 类地址 1 1 net-id 24 bit host-id 8 bit D 类地址 多 播 地 址 E 类地址 保 留 为 今 后 使 用
16
路由器转发分组的步骤 先找到目的网络。 到达目的网络后,再利用主机号host-id 将数据报直接交付给目的主机。
按照整数字节划分 net-id 字段和 host-id 字段,就可以使路由器在收到一个分组时能够更快地将地址中的网络号提取出来。
17
1. 点分十进制记法 机器中存放的 IP 地址是 32 bit 二进制代码,如何转变成点分十进制记法呢?
18
2. 常用的三种类别的 IP 地址 IP 地址的使用范围 网络 最大 第一个 最后一个 每个网络 类别 网络数 可用的 可用的 中最大的
网络 最大 第一个 最后一个 每个网络 类别 网络数 可用的 可用的 中最大的 网络号 网络号 主机数 A (27 – 2) ,777,214 B ,384 (214) ,534 C ,097,152 (221)
19
IP地址分类练习 地址 类别 网络 主机 Layer 1 of 2: Purpose: This exercise verifies that the students understand IP address classes, network numbers, and host numbers. Give the students time to list the address class, network, and host number for each IP address in the table. Review the correct answers interactively. The answers are given in the following figure.
20
IP地址分类练习(答案) 地址 类别 网络 主机 10.2.1.1 A 10.0.0.0 0.2.1.1 128.63.2.100 B
Layer 2 of 2: Purpose: This answers to the exercise are given in the figure. Note: Students can also find the answers to this exercise in the “Answers” appendix. C C B Nonexistent
21
IP 地址的一些重要特点 IP 地址是一种分等级的地址结构。 (2) 实际上 IP 地址是标志一个主机(或路由器)和一条链路的接口。
多接口主机(multihomed host)。 一个路由器至少应当有两个不同的 IP 地址。 (3) 用转发器或网桥连接起来的若干个局域网仍为一个网络,因此这些局域网都具有同样的网络号 net-id。 (4) 所有分配到网络号 net-id 的网络,范围很小的局域网,还是可能覆盖很大地理范围的广域网,都是平等的。
22
互联网中的 IP 地址 LAN1 R1 LAN3 N3 LAN2 N2 R3 N1 R2 B 互联网
23
6.2.2 IP 地址与硬件地址 首部 应用层数据 网络层及以上 使用 IP 地址 IP 地址 TCP 报文 首部 链路层及以下
使用硬件地址 硬件地址 IP 数据报 首部 尾部 MAC 帧
24
IP 地址 与MAC地址 IP 层上的互联网 主机 H1 主机 H2 IP 数据报 路由器 R1 路由器 R2 IP1 → IP2
HA1 HA3 HA4 HA5 HA6 HA2 从 HA1 到 HA3 从 HA4 到 HA5 从 HA6 到 HA2 MAC 帧 MAC 帧 MAC 帧
25
6.2.3 地址解析协议 ARP 和 逆地址解析协议 RARP
不管网络层使用的是什么协议,在实际网络的链路上传送数据帧时,最终还是必须使用硬件地址。 每一个主机都设有一个 ARP 高速缓存(ARP cache),里面有所在的局域网上的各主机和路由器的 IP 地址到硬件地址的映射表。 当主机 A 欲向本局域网上的某个主机 B 发送 IP 数据报时,就先在其 ARP 高速缓存中查看有无主机 B 的 IP 地址。如有,就可查出其对应的硬件地址,再将此硬件地址写入 MAC 帧,然后通过局域网将该 MAC 帧发往此硬件地址。
26
主机 A 广播发送 ARP 请求分组 主机 B 向 A 发送 ARP 响应分组
我是 ,硬件地址是 C0-15-AD-18 我想知道主机 的硬件地址 ARP 请求 ARP 请求 ARP 请求 ARP 请求 X Y Z A B 00-00-C0-15-AD-18 主机 B 向 A 发送 ARP 响应分组 我是 硬件地址是 B-00-EE-0A ARP 响应 X Y Z A B 00-00-C0-15-AD-18 B-00-EE-0A
27
逆地址解析协议 RARP 逆地址解析协议 RARP 使只知道自己硬件地址的主机能够知道其 IP 地址。 这种主机往往是无盘工作站。 DHCP
28
物理地址-->IP地址的映射(RARP)
(2)动态主机配置 为了提高IP地址的利用率,可以借助于地址服务器动态获取IP地址,(如下图所示),动态主机配置是通过DHCP协议(DHCP—Dynamic Host Configuration Protocol)实现的,客户端IP地址设为自动获取IP地址。工作过程为: (1)客户端启动时,向DHCP服务器发出请求IP地址的DHCP请求;
29
物理地址-->IP地址的映射(RARP)
(2)DHCP服务器接到DHCP请求时,给予响应,分配一个空闲的IP地址给客户端。 (3)客户端获得IP地址后,可以进行基于TCP/IP的通信,访问因特网。
30
6.2.4 IP 数据报的格式 一个 IP 数据报由首部和数据两部分组成。
在首部的固定部分的后面是一些可选字段,其长度是可变的。
31
比特 1 2 3 4 5 6 7 优 先 级 D T R C 未用 比特 4 8 16 19 24 31 首 部 版 本 首部长度 服 务 类 型 总 长 度 固 定 部 分 标 识 标志 片 偏 移 生 存 时 间 协 议 首 部 检 验 和 源 地 址 目 的 地 址 可变 部分 可 选 字 段 (长 度 可 变) 填 充 数 据 部 分 传送 首 部 数 据 部 分 IP 数据报
32
比特 1 2 3 4 5 6 7 优 先 级 D T R C 未用 比特 4 8 16 19 24 31 固 定 部 分 版 本 首部长度 服 务 类 型 总 长 度 标 识 标志 片 偏 移 首 部 生 存 时 间 协 议 首 部 检 验 和 源 地 址 目 的 地 址 可变 部分 可 选 字 段 (长 度 可 变) 填 充 数 据 部 分 传送 首 部 数 据 部 分 IP 数据报
33
比特 1 2 3 4 5 6 7 优 先 级 D T R C 未用 比特 4 8 16 19 24 31 版 本 首部长度 服 务 类 型 总 长 度 固 定 部 分 标 识 标志 片 偏 移 首 部 生 存 时 间 协 议 首 部 检 验 和 源 地 址 目 的 地 址 可变 部分 可 选 字 段 (长 度 可 变) 填 充 数 据 部 分 传送 首 部 数 据 部 分 IP 数据报
34
IP 数据报分片的举例 数据部分共 3800 字节 需分片的 数据报 偏移 = 0/8 = 0 首部 字节 0 1400 2800 3799
首部 1 首部 2 首部 3 字节 0 1399 1400 2799 2800 3799 数据报片 1 数据报片 2 数据报片 3 偏移 = 0/8 = 0 偏移 = 1400/8 = 175 偏移 = 2800/8 = 350
36
生存时间(8 bit)记为 TTL (Time To Live)
比特 1 2 3 4 5 6 7 优 先 级 D T R C 未用 比特 4 8 16 19 24 31 版 本 首部长度 服 务 类 型 总 长 度 固 定 部 分 标 识 标志 片 偏 移 首 部 生 存 时 间 协 议 首 部 检 验 和 源 地 址 目 的 地 址 可变 部分 可 选 字 段 (长 度 可 变) 填 充 数 据 部 分 生存时间(8 bit)记为 TTL (Time To Live) 数据报在网络中的寿命,其单位为秒。
37
协议(8 bit)字段指出此数据报携带的数据使用何种协议 以便目的主机的 IP 层将数据部分上交给哪个处理过程
比特 1 2 3 4 5 6 7 优 先 级 D T R C 未用 比特 4 8 16 19 24 31 版 本 首部长度 服 务 类 型 总 长 度 固 定 部 分 标 识 标志 片 偏 移 首 部 协议(8 bit)字段指出此数据报携带的数据使用何种协议 以便目的主机的 IP 层将数据部分上交给哪个处理过程 生 存 时 间 协 议 首 部 检 验 和 源 地 址 目 的 地 址 可变 部分 可 选 字 段 (长 度 可 变) 填 充 数 据 部 分
38
运输层 TCP UDP ICMP IGMP OSPF 网络层 首部 数 据 部 分 协议字段指出应将数据 部分交给哪一个进程 IP 数据报
39
首部检验和(16 bit)字段只检验数据报的首部 不包括数据部分。 这里不采用 CRC 检验码而采用简单的计算方法。
比特 1 2 3 4 5 6 7 优 先 级 D T R C 未用 比特 4 8 16 19 24 31 版 本 首部长度 服 务 类 型 总 长 度 固 定 部 分 标 识 标志 片 偏 移 首 部 首部检验和(16 bit)字段只检验数据报的首部 不包括数据部分。 这里不采用 CRC 检验码而采用简单的计算方法。 生 存 时 间 协 议 首 部 检 验 和 源 地 址 目 的 地 址 可变 部分 可 选 字 段 (长 度 可 变) 填 充 数 据 部 分
40
发送端 接收端 字 1 字 1 16 bit 16 bit 数 据 报 首 部 字 2 字 2 16 bit 16 bit … … 置为全 0 检验和 16 bit 检验和 … … 字 n 字 n 16 bit 16 bit 16 bit 反码算术 运算求和 16 bit 反码算术 运算求和 取反码 IP 数据报 取反码 16 bit 检验和 16 bit 结果 若结果为 0, 则保留; 否则,丢弃该数据报 数据部分 不参与检验和的计算 数据部分
41
源地址和目的地址都各占 4 字节 比特 1 2 3 4 5 6 7 优 先 级 D T R C 未用 比特 4 8 16 19 24 31
1 2 3 4 5 6 7 优 先 级 D T R C 未用 比特 4 8 16 19 24 31 版 本 首部长度 服 务 类 型 总 长 度 固 定 部 分 标 识 标志 片 偏 移 首 部 生 存 时 间 协 议 首 部 检 验 和 源地址和目的地址都各占 4 字节 源 地 址 目 的 地 址 可变 部分 可 选 字 段 (长 度 可 变) 填 充 数 据 部 分
42
IP 层转发分组的流程
43
在路由表中,对每一条路由,最主要的是 (目的网络地址,下一跳地址) 路由器 R2 的路由表 10.0.0.4 20.0.0.7
R1 R2 R3 网 1 网 2 网 3 网 4 1 路由器 R2 的路由表 目的主机所在的网络 下一跳路由器的地址 直接交付,接口 0 直接交付,接口 1 R1 R2 R3 链路 1 链路 2 链路 3 链路 4
44
分组转发算法 从数据报的首部提取目的站的 IP 地址 D, 得出目的网络地址为 N。
? 如何得出目的网络地址的呢? (2) 若网络 N 与此路由器直接相连,则直接将数据报交付给目的站 D;否则是间接交付,执行(3)。 (3) 若路由表中有目的地址为 D 的特定主机路由,则将数据报传送给路由表中所指明的下一跳路由器;否则,执行(4)。 (4) 若路由表中有到达网络 N 的路由,则将数据报传送给路由表指明的下一跳路由器;否则,执行(5)。 (5) 若路由表中有一个默认路由,则将数据报传送给路由表中所指明的默认路由器;否则,执行(6)。 (6) 报告转发分组出错。
45
必须强调指出 IP 数据报的首部中没有地方可以用来指明“下一跳路由器的 IP 地址”。
网络接口软件使用 ARP 负责将下一跳路由器的 IP 地址转换成硬件地址,并将此硬件地址放在链路层的 MAC 帧的首部,然后根据这个硬件地址找到下一跳路由器。
46
6.3 划分子网和构造超网 划分子网
47
三级的 IP 地址 从 1985 年起在 IP 地址中又增加了一个“子网号字段”,使两级的 IP 地址变成为三级的 IP 地址。
这种做法叫作划分子网(subnetting) 。划分子网已成为因特网的正式标准协议。
48
划分子网的基本思路 从主机号借用若干个比特作为子网号 subnet-id,而主 机号 host-id 也就相应减少了若干个比特。
IP地址 ::= {<网络号>, <子网号>, <主机号>} (6-2)
49
划分子网的基本思路(续) 凡是从其他网络发送给本单位某个主机的 IP 数据报,仍然是根据 IP 数据报的目的网络号 net-id,先找到连接在本单位网络上的路由器。 然后此路由器在收到 IP 数据报后,再按目的网络号 net-id 和子网号 subnet-id 找到目的子网。 最后就将 IP 数据报直接交付给目的主机。
50
一个未划分子网的 B 类网络145.13.0.0 网络 145.13.0.0 … … … 我的网络地址 是 145.13.0.0
… R2 网络 R1 … R3 … 所有到网络 的分组均到达此路由器
51
划分为三个子网后对外仍是一个网络 网络 145.13.0.0 所有到达网络 145.13.0.0 的分组均到达 此路由器
… R2 子网 子网 … R1 R3 子网 … 网络
52
划分子网后变成了三级结构 当没有划分子网时,IP 地址是两级结构,地址的网络号字段也就是 IP 地址的“因特网部分”,而主机号字段是 IP 地址的“本地部分”。 划分子网后 IP 地址就变成了三级结构。划分子网只是将 IP 地址的本地部分进行再划分,而不改变 IP 地址的因特网部分。
53
2. 子网掩码 从一个IP数据报的首部并无法判断源主机或目的主机所连接的网络是否进行了子网的划分。
2. 子网掩码 从一个IP数据报的首部并无法判断源主机或目的主机所连接的网络是否进行了子网的划分。 使用子网掩码(subnet mask)可以找出 IP 地址中的子网部分。
54
IP 地址的各字段和子网掩码 因特网部分 本地部分 两级 IP 地址 网络号 net-id 主机号 host-id 因特网部分 本地部分
subnet-id 子网号 host-id 网络号 主机号 子网掩码 划分子网时 的网络地址 net-id subnet-id host-id 为全 0
55
(IP 地址) AND (子网掩码) = 网络地址
因特网部分 本地部分 两级 IP 地址 网络号 net-id 主机号 host-id 因特网部分 本地部分 三级 IP 地址 net-id host-id subnet-id AND 网络号 子网号 主机号 子网掩码 划分子网时 的网络地址 net-id subnet-id host-id 为全 0
56
A 类、B 类和 C 类 IP 地址的默认子网掩码 A 类 地 址 网络地址 net-id host-id 为全 0 默认子网掩码
B 类 地 址 网络地址 net-id host-id 为全 0 默认子网掩码 C 类 地 址 网络地址 net-id host-id 为全 0 默认子网掩码
57
6.3.2 使用子网掩码的分组转发过程 在不划分子网的两级 IP 地址下,从 IP 地址得出网络地址是个很简单的事。
使用子网掩码的分组转发过程 在不划分子网的两级 IP 地址下,从 IP 地址得出网络地址是个很简单的事。 但在划分子网的情况下,从IP地址却不能惟一地得出网络地址来,这是因为网络地址取决于那个网络所采用的子网掩码,但数据报的首部并没有提供子网掩码的信息。 因此分组转发的算法也必须做相应的改动。
58
6.3.2 使用子网掩码的分组转发过程 划分子网后分组的转发举例
使用子网掩码的分组转发过程 划分子网后分组的转发举例 R1 的路由表(未给出默认路由器) R1 目的网络地址 子网掩码 下一跳 接口 0 接口 1 R2 子网1: 网络地址 子网掩码 H1 子网2:网络地址 子网掩码 1 H2 R2 1 子网3:网络地址 子网掩码 H3
59
在划分子网的情况下路由器转发分组的算法 (1) 从收到的分组的首部提取目的 IP 地址 D。
相应的网络地址匹配。若匹配,则将分组直接交付。 否则就是间接交付,执行(3)。 (3) 若路由表中有目的地址为 D 的特定主机路由,则将 分组传送给指明的下一跳路由器;否则,执行(4)。 (4) 对路由表中的每一行的子网掩码和 D 逐比特相“与”, 若其结果与该行的目的网络地址匹配,则将分组传送 给该行指明的下一跳路由器;否则,执行(5)。 (5) 若路由表中有一个默认路由,则将分组传送给路由表 中所指明的默认路由器;否则,执行(6)。 (6) 报告转发分组出错。
60
6.3.3 无分类编址 CIDR 1. 网络前缀 IP 编址问题的演进
变长子网掩码 VLSM (Variable Length Subnet Mask) 进一步提高 IP 地址资源的利用率。 无分类域间路由选择 CIDR (Classless Inter-Domain Routing)。
61
CIDR 最主要的特点 CIDR 消除了传统的 A 类、B 类和 C 类地址以及划分子网的概念,更加有效地分配 IPv4 的地址空间。
CIDR使用各种长度的“网络前缀”(network-prefix)来代替分类地址中的网络号和子网号。 从三级编址回到了两级编址。
62
无分类的两级编址 无分类的两级编址的记法是: IP地址 ::= {<网络前缀>, <主机号>} (6-3)
CIDR 还使用“斜线记法”(slash notation)
63
CIDR 地址块 128.14.32.0/20 表示的地址块共有 ?个地址 这个地址块的起始地址是 ?
/20 地址块的最小地址:? /20 地址块的最大地址:? 全 0 和全 1 的主机号地址一般不使用。
64
路由聚合(route aggregation)
一个 CIDR 地址块可以表示很多地址,这种地址的聚合常称为路由聚合,它使得路由表中的一个项目可以表示很多个(例如上千个)原来传统分类地址的路由,减少了路由器之间的路由信息交换。 路由聚合也称为构成超网(supernetting)。 CIDR 虽然不使用子网了,但仍然使用“掩码”这一名词(但不叫子网掩码)。 对于 /20 地址块,它的掩码是 20 个连续的 1。 斜线记法中的数字就是掩码中1的个数。
65
CIDR 记法的其他形式 10.0.0.0/10 可简写为 10/10,也就是将点分十进制中低位连续的 0 省略。
/10 隐含地指出 IP 地址 的掩码是 。此掩码可表示为 掩码中有 10 个连续的 1 255 192
66
CIDR 记法的其他形式 10.0.0.0/10 可简写为 10/10,也就是将点分十进制中低位连续的 0 省略。
/10 相当于指出 IP 地址 的掩码是 ,即 网络前缀的后面加一个星号 * 的表示方法 如 *,在星号 * 之前是网络前缀,而星号 * 表示 IP 地址中的主机号,即
67
广播地址练习 地址 子网掩码 类别 子网 广播地址 201.222.10.60 255.255.255.248 15.16.193.6
Layer 1 of 2: Purpose: Have the students calculate the subnet numbers and the broadcast address for each subnet from the given IP addresses and subnet masks.
68
构成超网 前缀长度不超过 23 bit 的 CIDR 地址块都包含了多个 C 类地址。 这些 C 类地址合起来就构成了超网。
网络前缀越短,其地址块所包含的地址数就越多。而在三级结构的IP地址中,划分子网是使网络前缀变长。
69
CIDR 地址块划分举例 ISP 大学 X 因特网 三系 四系 二系 一系 206.0.64.0/18 206.0.68.0/22
/23 /24 /25 /25 /25 /25 /25 /25 /26 /26 /26 /26 /26 /26 /26 /26 三系 四系 二系 一系 单位 地址块 二进制表示 地址数 ISP / * 大学 / * 一系 / * 二系 / * 三系 / * 四系 / *
70
CIDR 地址块划分举例 ISP 大学 X /18 因特网 /22 /23 /24 /25 /25 /25 /25 /25 /25 /26 /26 /26 /26 /26 /26 /26 /26 三系 四系 二系 一系 这个 ISP 共有 64 (=224-18)个 C 类网络。如果不采用 CIDR 技术,则在与该 ISP 的路由器交换路由信息的每一个路由器的路由表中,就需要有 64 个项目。但采用地址聚合后,只需用路由聚合后的 1 个项目 /18 就能找到该 ISP。
71
2. 最长前缀匹配 使用 CIDR 时,路由表中的每个项目由“网络前缀”和“下一跳地址”组成。在查找路由表时可能会得到不止一个匹配结果。
应当从匹配结果中选择具有最长网络前缀的路由:最长前缀匹配(longest-prefix matching)。 网络前缀越长,其地址块就越小,因而路由就越具体。 最长前缀匹配又称为最长匹配或最佳匹配。
72
6.4 因特网控制报文协议 ICMP 为了提高 IP 数据报交付成功的机会,在网际层使用了因特网控制报文协议 ICMP (Internet Control Message Protocol)。 ICMP 允许主机或路由器报告差错情况和提供有关异常情况的报告。 ICMP 不是高层协议,而是 IP 层的协议。 ICMP 报文作为 IP 层数据报的数据,加上数据报的首部,组成 IP 数据报发送出去。
73
ICMP 报文的格式 8 16 31 前 4 个字节 都是一样的 类型 代码 检验和 (这 4 个字节取决于 ICMP 报文的类型)
8 16 31 前 4 个字节 都是一样的 类型 代码 检验和 (这 4 个字节取决于 ICMP 报文的类型) ICMP 的数据部分(长度取决于类型) ICMP 报文 首 部 数 据 部 分 IP 数据报
74
ICMP 报文 ICMP 报文的种类有两种 ICMP 报文的前 4 个字节是统一的格式,共有三个字段:
类型 代码 检验和 接着的 4 个字节的内容与 ICMP 的类型有关。
75
ICMP 差错报告报文共有 5 种 终点不可达(Destination unreachable) 源站抑制
当路由器或主机由于拥塞而丢弃数据报时 时间超过(Request timed out) 参数问题 当路由器或目的主机收到的数据报的首部中的字段值不正确时 改变路由(重定向)
76
ICMP 差错报告报文的数据字段的内容 IP 数据报的数据字段 收到的 IP 数据报 IP 数据报 首部 8 字节 ICMP 的
前 8 字节 IP 数据报 首部 8 字节 ICMP 差错报告报文 首部 ICMP 差错报告报文 装入 ICMP 报文的 IP 数据报 IP 数据报
77
ICMP 询问报文有四种 回送请求和回答报文 时间戳请求和回答报文 掩码地址请求和回答报文 路由器询问和通告报文
78
PING (Packet InterNet Groper)
PING 使用了 ICMP 回送请求与回送回答报文。 PING 是应用层直接使用网络层 ICMP 的例子,它没有通过运输层的 TCP 或UDP。
79
6.5 因特网的路由选择协议 6.5.1 有关路由选择协议的几个基本概念
6.5 因特网的路由选择协议 有关路由选择协议的几个基本概念 1. 理想路由算法的标准
80
代价 “代价”并不是指“钱”,而是由一个或几个因素综合决定的一种度量(metric) 链路长度 数据率 链路容量 是否要保密 传播时延等
甚至还可以是一天中某一个小时内的通信量 结点的缓存被占用的程度 链路差错率等。
81
路由算法分类 静态路由选择策略——即非自适应路由选择 动态路由选择策略——即自适应路由选择
82
2. 分层次的路由选择协议 因特网采用分层次的路由选择协议。 因特网的规模非常大 保密
83
自治系统(autonomous system)
因特网将整个互联网划分为许多较小的自治系统 AS。 一个自治系统是一个互联网,其最重要的特点就是自治系统有权自主地决定在本系统内应采用何种路由选择协议。 一个自治系统内的所有网络都属于一个行政单位(例如,一个公司,一所大学,政府的一个部门,等等)来管辖。 一个自治系统的所有路由器在本自治系统内都必须是连通的。
84
因特网有两大类路由选择协议 内部网关协议 IGP (Interior Gateway Protocol)
一个自治系统内部 如 RIP 和 OSPF 协议 外部网关协议EGP (External Gateway Protocol) 不同的自治系统中 外部网关协议 EGP 目前使用最多的是 BGP-4。
85
自治系统和 内部网关协议、外部网关协议 自治系统 A 自治系统 B 自治系统 C R3 IGP EGP R2 IGP IGP IGP IGP
H1 IGP H2 IGP IGP IGP IGP 内部网关协议 IGP (例如,RIP) 外部网关协议 EGP (例如,BGP-4) 内部网关协议 IGP (例如,OSPF)
86
6.5.2 内部网关协议 RIP (Routing Information Protocol)
1. 工作原理 路由信息协议 RIP 是内部网关协议 IGP中最先得到广泛使用的协议。 RIP 是一种分布式的基于距离向量的路由选择协议。 RIP 协议要求网络中的每一个路由器都要维护从它自己到其他每一个目的网络的距离记录。
87
“距离”的定义 从一路由器到直接连接的网络的距离定义为 1。 从一个路由器到非直接连接的网络的距离定义为所经过的路由器数加 1。
RIP 协议中的“距离”也称为“跳数”(hop count),因为每经过一个路由器,跳数就加 1。
88
“距离”的定义 “距离短”为好的路由项 RIP 允许一条路径最多只能包含 15 个路由器。 RIP 不支持负载均衡 16 为不可达
89
RIP 协议的三个要点 仅和相邻路由器交换信息。 交换的信息是当前本路由器所知道的全部信息,即自己的路由表。
按固定的时间间隔交换路由信息,例如,每隔 30 秒。
90
一开始,各路由表只有到相邻路由器的信息 “”表示“直接交付” “4”表示“从本路由器到网 4” “1”表示“距离是 1” 1 1
1 1 5 1 E 网 1 1 1 2 1 3 1 网 5 5 1 6 1 2 1 5 1 D 网 2 A 4 1 6 1 F 网 6 B 网 3 网 4 C 3 1 4 1 “”表示“直接交付” “4”表示“从本路由器到网 4” “1”表示“距离是 1”
91
2. 距离向量算法 收到相邻路由器(其地址为 X)的一个 RIP 报文:
(1) 先修改此 RIP 报文中的所有项目:将“下一跳”字段中的地址都改为 X,并将所有的“距离”字段的值加 1。 (2) 对修改后的 RIP 报文中的每一个项目,重复以下步骤: 若项目中的目的网络不在路由表中,则将该项目加到路由表中。 否则 若下一跳字段给出的路由器地址是同样的,则将收到的项 目 替换原路由表中的项目。 若收到项目中的距离小于路由表中的距离,则进行更新, 否则,什么也不做。 (3) 若 3 分钟还没有收到相邻路由器的更新路由表,则将此相邻路由器记为不可达的路由器,即将距离置为16(距离为16表 示不可达)。 (4) 返回。
92
例2 假定网络中的路由器B的路由表如下的项目(这三列分别表示“目的网络”、“距离”和“下一跳路由器”) N1 7 A N2 2 C
N F N E N F 现在B收到从C发来的路由信息(这两列分别表示“目的网络”和“距离”): N N N N N 试求出路由器B更新后的路由表
93
RIP 协议的位置 RIP 协议使用运输层的用户数据报 UDP进行传送(使用 UDP 的端口 520)。
94
3. RIP2 协议的报文格式 4 字节 地址族标识符 路由标记 4 字节 网络地址 命令 版本 子网掩码 必为 0 下一跳路由器地址
距离 (1-16) 首部 路由部分 路由信息 (20 字节/路由) 可重复出现 最多 25 个 RIP 报文 IP 首部 UDP 首部 UDP 用户数据报 IP 数据报
95
RIP 协议的优缺点 好消息传播得快,坏消息传播得慢 最大的优点:简单,开销较小。
路由器之间交换的路由信息是路由器中的完整路由表,因而随着网络规模的扩大,开销也就增加。
96
“”表示“直接交付” “1”表示“从本路由器到网 1” “1”表示“距离是 1” R1 说:“我到网 1 的距离是 1,是直接交付。” 正
常 情 况 1 1 网 1 网 2 1 2 R1 网 3 R1 R2 “”表示“直接交付” “1”表示“从本路由器到网 1” “1”表示“距离是 1” R1 说:“我到网 1 的距离是 1,是直接交付。”
97
“R1”表示 “1”表示“从本路由器到网 1” 经过 R1 “2”表示“距离是 2” R2 说:“我到网 1 的距离是 2,是经过 R1。”
正 常 情 况 1 1 网 1 网 2 1 2 R1 网 3 R1 R2 “R1”表示 经过 R1 “1”表示“从本路由器到网 1” “2”表示“距离是 2” R2 说:“我到网 1 的距离是 2,是经过 R1。”
98
R1 说:“我到网 1 的距离是 16 (表示无法到达), 是直接交付。”
正 常 情 况 1 1 网 1 网 2 1 2 R1 网 3 R1 R2 R2 R1 网 1 网 3 网 2 网 1出了故障 1 2 R1 R1 说:“我到网 1 的距离是 16 (表示无法到达), 是直接交付。” 但 R2 在收到 R1 的更新报文之前,还发送原来的报文, 因为这时 R2 并不知道 R1 出了故障。
99
6.5.3 内部网关协议 OSPF (Open Shortest Path First)
“开放”表示是公开发表的。 “最短路径优先”:由 Dijkstra 提出的最短路径算法SPF 并不表示其他的路由选择协议不是“最短路径优先”。 是分布式的链路状态协议。
100
三个要点 使用洪泛法向本自治系统中所有路由器发送信息 发送的信息为与本路由器相邻的所有路由器的链路状态
而RIP只和自己的邻居交换路由表 发送的信息为与本路由器相邻的所有路由器的链路状态 “链路状态”就是说明本路由器都和哪些路由器相邻,以及该链路的“度量”(metric)。 只有当链路状态发生变化时,路由器才用洪泛法向所有路由器发送此信息。 链路状态不改变的话,只和自己的邻居发送HELLO包,而不会洪泛自己的链路状态
101
三个表 邻居表: 邻居路由器的信息 拓扑表: 也叫链路状态数据库 路由表: 到达目标网络的最佳路径
102
链路状态数据库 (link-state database)
由于各路由器之间频繁地交换链路状态信息,因此所有的路由器最终都能建立一个链路状态数据库。 是全网的拓扑结构图,在全网范围内是一致的 OSPF 的链路状态数据库能较快地进行更新,使各个路由器能及时更新其路由表。OSPF 的更新过程收敛得快是其重要优点。
103
OSPF 的区域(area) 1.骨干区域(area 0) 2.常规区域(注意,所有的常规区域必须和骨干区域相连)
每一个区域都有一个 32 bit 的区域标识符(用点分十进制表示)。 区域也不能太大,在一个区域内的路由器最好不超过 200 个。
104
OSPF 划分为两种不同的区域 至其他自治系统 自治系统 AS 主干区域 0.0.0.0 区域 0.0.0.1 区域 0.0.0.3
R1 R6 网 6 R3 R7 网 1 R5 R9 网 7 网 2 R4 R2 网 3 网 8 R8 网 4 网 5 区域 区域 区域
105
主干路由器即R3、R4 、 R5 、 R6 、 R7 至其他自治系统 自治系统 AS 主干区域 0.0.0.0 区域 0.0.0.1
网 6 R3 R7 网 1 R5 R9 网 7 网 2 R4 R2 网 3 网 8 R8 网 4 网 5 区域 区域 区域
106
区域边界路由器即R3、R4 、 R7 至其他自治系统 自治系统 AS 主干区域 0.0.0.0 区域 0.0.0.1 区域 0.0.0.3
网 6 R3 R7 网 1 R5 R9 网 7 网 2 R4 R2 网 3 网 8 R8 网 4 网 5 区域 区域 区域
107
OSPF 直接用 IP 数据报传送 OSPF 的位置在网络层。 OSPF 构成的数据报很短
108
OSPF 的其他特点 OSPF 对不同的链路可根据 IP 分组的不同服务类型 TOS 而设置成不同的代价。因此,OSPF 对于不同类型的业务可计算出不同的路由。 支持负载平衡。 所有在 OSPF 路由器之间交换的分组都具有鉴别的功能。 支持可变长度的子网划分和无分类编址 CIDR。 每一个链路状态都带上一个 32 bit 的序号,序号越大状态就越新。
109
OSPF 分组 比特 8 16 31 版 本 类 型 分 组 长 度 路 由 器 标 识 符 区 域 标 识 符 检 验 和 鉴 别 类 型
8 16 31 版 本 类 型 分 组 长 度 路 由 器 标 识 符 区 域 标 识 符 检 验 和 鉴 别 类 型 鉴 别 鉴 别 24 字节 OSPF 分组首部 类型 1 至类型 5 的 OSPF 分组 IP数据报首部 OSPF 分组 IP 数据报
110
2. OSPF 的五种分组类型 类型1,问候(Hello)分组。 类型2,数据库描述(Database Description)分组。
类型3,链路状态请求(Link State Request)分组。 类型4,链路状态更新(Link State Update)分组, 用洪泛法对全网更新链路状态。 类型5,链路状态确认(Link State Acknowledgment) 分组。
111
OSPF的基本操作 问候 确定可达性 问候 数据库描述 数据库描述 达到数据库的同步 数据库描述 数据库描述 链路状态请求 新情况下的同步
2/和相邻的数据库交换自己知道的链路信息的摘要 3/有必要的话(自己对一些内容不是很清楚)在向相邻数据库要一些详细信息 数据库描述 新情况下的同步 链路状态请求 链路状态更新 链路状态确认
112
OSPF 更新使用的是可靠的洪泛法 t1 t2 t3 t4 更新报文 R R R ACK报文 t R
113
OSPF 的其他特点 OSPF 还规定每隔一段时间,如 30 分钟,要刷新一次数据库中的链路状态。
由于一个路由器的链路状态只涉及到与相邻路由器的连通状态,因而与整个互联网的规模并无直接关系。因此当互联网规模很大时,OSPF 协议要比距离向量协议 RIP 好得多。 OSPF 没有“坏消息传播得慢”的问题,据统计,其响应网络变化的时间小于 100 ms。
114
指定的路由器(DR) (designated router)
对于广播式的网络 交换Hello数据包的过程中选举出来的 减少路由更新数据流 DR让所有的路由器把链路状态信息和自己交换,然后整理好了,再和其他路由器交换信息 管理链路状态同步 DR可以保证网络上的其他路由器都有关于网络的相同的链路状态信息。 路由错误的数量降低
115
OSPF 支持三种网络的连接 (1) 两个路由器之间的点对点连接(BMA) (2) 具有广播功能的局域网(P2P)
(3) 无广播功能的广域网(NBMA) 如帧中继
116
(a) 网络拓扑 广域网 W4 广域网 W1 广域网 W6 5 12 10 D E B 4 7 8 A 广域网 W2 H 4 I 2 3 8
13 F 局域网 L1 2 G 3 3 2 C 16 12 6 广域网 W5 局域网 L2 广域网 W3 (a) 网络拓扑 W1 W4 B D 12 10 H 4 E 8 W6 5 7 W2 A 4 8 7 2 3 13 3 4 8 3 I F G L1 12 L2 2 2 6 W5 16 C W3 (b) 有向图
117
以路由器F为根的最短路径树 W1 有向图 W4 B D 12 10 H 4 E 8 W6 5 7 W2 A 4 8 7 2 3 13 3 4
I F G L1 12 L2 2 2 6 W5 16 C W3 以路由器F为根的最短路径树 W1 W4 12 B D E W6 W2 5 4 7 8 A 3 8 4 I F L2 G 3 L1 16 6 W5 W3
118
OSPF小结 没有跳数限制(RIP15跳) VLSM 使用组播地址发送链路状态更新,从而减少了那些听不到该组播信息的路由器的处理进程
仅在路由变化时发送更新信息,而不是定期发送。从而可以更有效地利用带宽。 路由收敛快 只要有路由发生变化的信息,则立即扩散,收到新路由信息的路由器重新计算,生成新路由表 OSPF允许逻辑定义网络,划分区域有利于路由总结合过滤不必要的子网信息 允许使用不同的口令验证方式对路由更新进行验证 OSPF采用路径代价(cost)作为路径选择的依据
119
6.5.4 外部网关协议 BGP 是自治系统的路由协议 BGP 的较新版本是 1995 年发表的 BGP-4(BGP 的第 4 个版本)。
120
6.6 IP 多播和因特网组管理协议 IGMP 6.6.1 IP 多播的基本概念
多播可明显地减少网络中资源的消耗。 R4 R3 D C A 多播组 G 复制 B R1 X R2 复制 R5 R6
121
IP 多播的一些特点 多播使用组地址—— IP 使用 D 类地址支持多播。多播地址只能用于目的地址,而不能用于源地址。
(2) 永久组地址——由因特网号码指派管理局 IANA 负责指派。 (3) 动态的组成员 (4) 使用硬件进行多播
122
6.7 虚拟专用网 VPN 和网络地址转换 NAT 6.7.1 虚拟专用网 VPN
本地地址——仅在机构内部使用的 IP 地址,可以由本机构自行分配,而不需要向因特网的管理机构申请。 全球地址——全球惟一的IP地址,必须向因特网的管理机构申请。
123
[RFC 1918]指明的专用地址(private address)
到 到 到 这些地址只能用于一个机构的内部通信,而不能用于和因特网上的主机通信。 专用地址只能用作本地地址而不能用作全球地址。在因特网中的所有路由器对目的地址是专用地址的数据报一律不进行转发。
124
用隧道技术实现虚拟专用网 本地地址 全球地址 本地地址 125.1.2.3 隧道 194.4.5.6 部门 B Y X 部门 A R2 R1
X 隧道 部门 B 部门 A R2 R1 因特网 使用隧道技术
125
用隧道技术实现虚拟专用网 加密的从 X 到 Y 的内部数据报 源地址:125.1.2.3 目的地址:194.4.5.6 外部数据报的数据部分
数据报首部 Y X 隧道 部门 B 部门 A R2 R1 因特网 使用隧道技术 部门 A 部门 B X Y R1 R2 虚拟专用网 VPN
126
内联网 Intranet 和外联网 Extranet (都是基于TCP/IP协议)
由部门 A 和 B 的内部网络所构成的虚拟专用网 VPN 又称为内联网(Intranet),表示部门 A 和 B 都是在同一个机构的内部。 一个机构和某些外部机构共同建立的虚拟专用网 VPN 又称为外联网(Extranet)。 部门 A 部门 B X Y R1 R2 虚拟专用网 VPN
127
6.7.2 网络地址转换 NAT (Network Address Translation)
需要在专用网连接到因特网的路由器上安装 NAT 软件。装有 NAT 软件的路由器叫做 NAT路由器,它至少有一个有效的外部全球地址 IPG。 所有使用本地地址的主机在和外界通信时都要在 NAT 路由器上将其本地地址转换成 IPG 才能和因特网连接。
128
网络地址转换的过程 内部主机 X 用本地地址 IPX 和因特网上主机 Y 通信所发送的数据报必须经过 NAT 路由器。
NAT 路由器将数据报的源地址 IPX 转换成全球地址 IPG,但目的地址 IPY 保持不变,然后发送到因特网。 NAT 路由器收到主机 Y 发回的数据报时,知道数据报中的源地址是 IPY 而目的地址是 IPG。 根据 NAT 转换表,NAT 路由器将目的地址 IPG 转换为 IPX,转发给最终的内部主机 X。
129
6.8 下一代的网际协议 IPv6 (IPng) 6.8.1 解决 IP 地址耗尽的措施
采用无类别编址 CIDR,使 IP 地址的分配更加合理。 采用网络地址转换 NAT方法以节省全球 IP 地址。 采用具有更大地址空间的新版本的 IP 协议 IPv6。
130
6.8.2 IPv6 的基本首部 IPv6 所引进的主要变化如下
更大的地址空间。IPv6 将地址从 IPv4 的 32 bit 增大到了 128 bit, 扩展的地址层次结构。 灵活的首部格式。 改进的选项。 允许协议继续扩充。 支持即插即用(即自动配置) 支持资源的预分配。
131
IPv6 数据报的首部 IPv6 将首部长度变为固定的 40 字节,称为基本首部(base header)。
将不必要的功能取消了,首部的字段数减少到只有 8 个。 取消了首部的检验和字段,加快了路由器处理数据报的速度。 在基本首部的后面允许有零个或多个扩展首部。 所有的扩展首部和数据合起来叫做数据报的有效载荷(payload)或净负荷。
132
IPv6 数据报的一般形式 有效载荷 选项 基本 首部 扩展 首部 1 扩展 首部 N … 数 据 部 分 IPv6 数据报
133
IPv6 数据报首部与 IPv4 数据报首部的对比
有变化 取消 比特 4 8 16 19 24 31 版 本 首部长度 服 务 类 型 总 长 度 固 定 部 分 20 字节 标 识 标志 片 偏 移 生 存 时 间 协 议 首 部 检 验 和 IPv4 首部 源 地 址 目 的 地 址 可变 部分 可 选 字 段 (长 度 可 变) 填 充 上面是 IPv4 数据报的首部
134
比特 4 12 16 24 31 版 本 通 信 量 类 流 标 号 有 效 载 荷 长 度 下 一 个 首 部 跳 数 限 制 源 地 址 IPv6 的 基本首部 (40 B) (128 bit) 目 的 地 址 (128 bit) 扩展首部 / 数据 IPv6 的 有效载荷 (至 64 KB)
135
比特 4 12 16 24 31 版 本 通 信 量 类 流 标 号 有 效 载 荷 长 度 下 一 个 首 部 跳 数 限 制 源 地 址 IPv6 的 基本首部 (40 B) (128 bit) 目 的 地 址 (128 bit) 扩展首部 / 数据 IPv6 的 有效载荷 (至 64 KB)
136
6.8.4 IPv6 的地址空间 1. 128 bit 的地址空间 IPv6 数据报的目的地址可以是以下三种基本类型地址之一:
(1) 单播(unicast) 单播就是传统的点对点通信。 (2) 多播(multicast) 多播是一点对多点的通信。 (3) 任播(anycast) 这是 IPv6 增加的一种类型。任播的目的站是一组计算机,但数据报在交付时只交付给其中的一个,通常是距离最近的一个。
137
结点与接口 IPv6 将实现 IPv6 的主机和路由器均称为结点。 IPv6 地址是分配给结点上面的接口。 一个接口可以有多个单播地址。
一个结点接口的单播地址可用来惟一地标志该结点。
138
冒号十六进制记法 (colon hexadecimal notation)
每个 16 bit 的值用十六进制值表示,各值之间用冒号分隔,共8个部分。 68E6:8C64:FFFF:FFFF:0:1180:960A:FFFF 零压缩(zero compression),即一连串连续的零可以为一对冒号所取代。 FF05:0:0:0:0:0:0:B3 可以写成: FF05::B3
139
点分十进制记法的后缀 0:0:0:0:0:0:128.10.2.1 再使用零压缩即可得出: ::128.10.2.1
再使用零压缩即可得出: :: CIDR 的斜线表示法仍然可用。 60 bit的前缀 12AB CD3 可记为: 12AB:0000:0000:CD30:0000:0000:0000:0000/60 或12AB::CD30:0:0:0:0/60 或12AB:0:0:CD30::/60
140
2. 地址空间的分配 IPv6 将 128 bit 地址空间分为两大部分。 第一部分是可变长度的类型前缀,它定义了地址的目的。
2. 地址空间的分配 IPv6 将 128 bit 地址空间分为两大部分。 第一部分是可变长度的类型前缀,它定义了地址的目的。 第二部分是地址的其余部分,其长度也是可变的。 128 bit 长度可变 长度可变 类型前缀 地址的其他部分
Similar presentations