Download presentation
Presentation is loading. Please wait.
1
计算机网络原理 计算机与信息工程分院 周文峰
2
章前回顾 广域网的基本概念 广域网中的分组转发机制 广域网的路由选择算法 拥塞控制 X.25网、帧中继FR、异步传递方式ATM
3
主要内容 第六章 互连网络 路由器在网际互连中的作用 因特网的网际协议 IP 划分子网和构造超网 因特网控制报文协议 因特网路由选择协议
IP多播和因特网组管理协议IGMP 虚拟专用网 VPN 和网络地址转换NAT 下一代的网际协议IPv6(IPng)
4
6.1 路由器在网际互连中的作用 一、路由器的构成 1、路由器的作用
直接交付:若源主机和目的主机在同一个网络上,则数据报不需要通过路由器直接交付给目的主机。 间接交付:若目的主机与源主机不在同一个网络上,则应将数据报发送到本网上的某个路由器,由该路由器再按照路由表指出的路由将数据报转发给下一个路由器。 上一页 下一页 返回
5
直接交付和间接交付 直接交付不需要使用路由器 但间接交付就必须使用路由器 C A 直接交付 间接交付 间接交付 间接交付 直接交付 B
上一页 下一页 返回
6
路由/路由器/路由选择 路由:是指通过相互连接的网络把信息从源地点移动到目标地点的活动。
路由器:是一种具有多个输入端口和多个输出端口的专用计算机,其主要任务就是转发分组。 路由选择:是按照分布式算法,根据从各相邻路由器得到的关于网络拓扑的变化情况,动态地改变所选择的路由。 上一页 下一页 返回
7
路由器的构成 整个路由器结构划分为路由选择和分组转发部分 分组转发:由交换结构、一组输入端口和一组输出端口组成。
路由选择(控制部分):核心部件是路由选择处理机,其任务是根据所选定的路由选择协议构造路由表,同时经常或定期地和相邻路由器交换路由信息而不断地更新和维护路由表。 分组转发:由交换结构、一组输入端口和一组输出端口组成。 交换结构:根据转发表对分组进行处理,将某个输入端口进入的分组从一个合适的端口转发出去。 上一页 下一页 返回
8
典型的路由器的结构 路由选择处理机 3——网络层 2——数据链路层 1——物理层 路由 选择 分组 转发 交换结构 路由选择协议 路由表 3
输入端口 交换结构 输出端口 分组 转发 转发表 分组处理 … 1 2 3——网络层 2——数据链路层 1——物理层 上一页 下一页 返回
9
“转发”和“路由选择”的区别 “转发”(forwarding)与“路由选择”(routing)
路由表是根据路由选择算法得出的。而转发表是从路由表得出的。 在讨论路由选择的原理时,往往不去区分转发表和路由表的区别。 上一页 下一页 返回
10
输入端口对收到的分组的处理 物理层进行比特接收,数据链路层剥去帧首部和尾部后,将分组送到网络层的队列中排队等待处理。这会产生一定的时延。
物理层处理 数据链路层 处理 网络层处理 分组排队 交 换 结 构 输入端口的处理 从 线 路 接 收 分 组 查表和转发 上一页 下一页 返回
11
输出端口将分组发送到线路 当交换结构传送过来的分组先进行缓存。数据链路层处理模块将分组加上链路层的首部和尾部,交给物理层后发送到外部线路。
物理层处理 数据链路层 处理 网络层处理 分组排队 输出端口的处理 向 线 路 发 送 分 组 缓存管理 交 换 结 构 上一页 下一页 返回
12
分组丢弃 若路由器处理分组的速率赶不上分组进入队列的速率,则队列的存储空间最终必定减少到零,这就使后面再进入队列的分组由于没有存储空间而只能被丢弃。 路由器中的输入或输出队列产生溢出是造成分组丢失的重要原因。 上一页 下一页 返回
13
交换结构 交换结构——将分组从一个输入端口转移到某个合 适的输出端口。 常用的三种交换方法: (1)通过存储器进行交换 (2)通过总线方法
(3)纵横交换(互连网络) 结构 上一页 下一页 返回
14
交换结构 I1 I3 I2 O1 O2 总线 O3 I1 I3 I2 O1 O2 存 储 器 O3 (b) 通过总线 (a) 通过存储器
互连网络 I2 I3 O2 (c) 通过互连网络 上一页 下一页 返回 O1 O3
15
互联网与因特网 互连在一起的网络要进行通信,会遇到许多问题需要解决,如: 不同的寻址方案 不同的最大分组长度 不同的网络接入机制
不同的超时控制 不同的差错恢复方法 不同的路由选择技术 不同的服务(面向连接服务和无连接服务) 不同的管理与控制方式等等 上一页 下一页 返回
16
网络互相连接要使用的中间设备 中间设备又称为中间系统或中继(relay)系统。 物理层中继系统:转发器(repeater)。
数据链路层中继系统:网桥或桥接器(bridge)。 网络层中继系统:路由器(router)。 网桥和路由器的混合物:桥路器(brouter)。 网络层以上的中继系统:网关(gateway)。 上一页 下一页 返回
17
网络互连使用路由器 当中继系统是转发器或网桥时,一般并不称之为网络互连,因为这仅仅是把一个网络扩大了,而这仍然是一个网络。
网关由于比较复杂,目前使用得较少。 一般讨论的互连网络是指用路由器进行互连的网络。 由于历史的原因,许多有关 TCP/IP 的文献将网络层使用的路由器称为网关。 上一页 下一页 返回
18
Internet的标准化方法 由于参加互连的计算机网络都使用相同网际协议 IP,因此,可将互连后的网络看成为一个虚拟网
上一页 下一页 返回
19
互连网络与虚拟互连网络 路由器 网络 网络 虚拟互连网络 (IP 网) 网络 网络 网络 (b) 虚拟互连网络 (a) 互连网络 上一页
下一页 返回
20
虚拟互连网络的意义 所谓虚拟互连网络也就是逻辑互连网络,它的意思就是互连起来的各种物理网络的异构性本来是客观存在的,但是我们利用IP协议就可以使这些性能各异的网络从用户看起来好像是一个统一的网络。 上一页 下一页 返回
21
小结 在本小节中,我们重点学习了路由器 的典型结构,总结了网络互连需要的中间 设备,最后介绍了虚拟互连网即IP网的概 念。 思考题:
路由器与节点交换机的异同? 何为网际协议IP? 上一页 下一页 返回
22
6.2 因特网的网际协议IP 网际协议 IP 是 TCP/IP 体系中两个最主要的协议之一 。与 IP 协议配套使用的还有四个协议:
地址解析协议 ARP (Address Resolution Protocol) 逆地址解析协议 RARP (Reverse Address Resolution Protocol) 因特网控制报文协议 ICMP (Internet Control Message Protocol) 因特网组管理协议 IGMP (Internet Group Management Protocol) 上一页 下一页 返回
23
网际协议IP及其配套协议 TCP,UDP IP 物理硬件 与各种网络的接口 RARP ARP ICMP 各种应用协议
Data link,物理层不是 TCP/IP的一部分 TCP/IP TELNET,FTP,SMTP 1 物理层 2 Data link 3 网络层 (Internet层) 4 运输层 应用层 OSI IGMP IP 上一页 下一页 返回
24
网际协议IP 网际协议是一个网络层协议,它包含寻址信息和控制信息,可使数据包在网络中路由。
IP协议是TCP/IP协议族中的主要网络层协议,与 TCP协议结合组成整个因特网协议的核心协议。 IP协议同样都适用于LAN和WAN通信。 IP协议有两个基本任务: 提供无连接的和最有效的数据包传送; 提供数据包的分割及重组以支持不同最大传输单元大小的数据连接。 上一页 下一页 返回
25
分类的IP地址 在TCP/IP体系中,IP地址是一个最重要的概念:
我们把整个因特网看成为一个单一的、抽象的网络。IP地址就是给每个连接在因特网上的主机(或路由器)分配一个在全世界范围是惟一的 32bit的标识符。 IP地址现在由因特网名字与号码指派公司ICANN (Internet Corporation for Assigned Names and Numbers)进行分配 上一页 下一页 返回
26
IP 地址的编址方法 IP地址的编址方法共经历了三个历史阶段:
子网的划分。这是对最基本的编址方法的改进,其标准[RFC 950]在 1985 年通过。 构成超网。这是比较新的无分类编址方法。1993 年提出后很快就得到推广应用。 上一页 下一页 返回
27
分类 IP 地址 分类的IP地址:将IP地址划分成若干个固定类,每一类地址都由两个固定长度的字段组成,其中一个字段是网络号net-id,它标志主机(或路由器)所连接到的网络,而另一个字段则是主机号 host-id,它标志该主机(或路由器)。 两级的IP地址可以记为: IP 地址 ::= { <网络号>, <主机号>} 上一页 下一页 返回
28
分类 IP 地址 A 类地址 host-id 8 bit B 类地址 16 bit C 类地址 1 net-id 24 bit D 类地址
A 类地址 B 类地址 C 类地址 1 D 类地址 多 播 地 址 E 类地址 保 留 为 今 后 使 用
29
路由器转发分组的步骤 先按所要找的IP地址中的网络号net-id把目的网络找到。
当分组到达目的网络后,再利用主机号host-id 将数据报直接交付给目的主机。 上一页 下一页 返回
30
IP地址的表示方法 点分十进制记法 10000000000010110000001100011111 机器中存放的 IP 地址
是 32 bit 二进制代码 每隔 8 bit 插入一个空格 能够提高可读性 将每 8 bit 的二进制数 转换为十进制数 采用点分十进制记法 则进一步提高可读性 上一页 下一页 返回
31
常用的三种类别的 IP 地址 A类地址: 网络号占一个字节(8位),只有7位可供使用, 且可提供使用的网络号是126个(27-2);每个A类
网络中的最大主机数是224-2。 上一页 下一页 返回
32
常用的三种类别的IP地址 IP 地址的使用范围 网络 最大 第一个 最后一个 每个网络 类别 网络数 可用的 可用的 中最大的
网络 最大 第一个 最后一个 每个网络 类别 网络数 可用的 可用的 中最大的 网络号 网络号 主机数 A (27 – 2) ,777,214 B ,384 (214) ,534 C ,097,152 (221) 上一页 下一页 返回
33
几个特殊地址 网络号 主机号 源地址使用 目的地址使用 代表的意思 可以 不可 Host-id 全1 127 Any 本网络本主机
可以 不可 本网络本主机 Host-id 本网络的某主机 全1 本网络广播 net-id 对net-id上广播 127 Any 用作本地软件环测试 上一页 下一页 返回
34
IP地址的一些重要特点 (1) IP地址是一种分等级的地址结构。分两个等级的好处是:
第一,IP 地址管理机构在分配 IP 地址时只分配网络号,而剩下的主机号则由得到该网络号的单位自行分配。这样就方便了 IP 地址的管理。 第二,路由器仅根据目的主机所连接的网络号来转发分组,这样就可以使路由表中的项目数大幅度减少,从而减小了路由表所占的存储空间。 上一页 下一页 返回
35
IP 地址的一些重要特点 (2) 实际上IP地址是标志一个主机(或路由器)和 一条链路的接口。
当一个主机同时连接到两个网络上时,该主机就必须同时具有两个相应的IP地址,其网络号 net-id 必须是不同的。这种主机称为多接口主机(multihomed host)。 由于一个路由器至少应当连接到两个网络(这样它才能将 IP 数据报从一个网络转发到另一个网络),因此一个路由器至少应当有两个不同的IP地址。 上一页 下一页 返回
36
IP 地址的一些重要特点 (3) 用转发器或网桥连接起来的若干个局域网仍为一个网络,因此这些局域网都具有同样的网络号net-id。
上一页 下一页 返回
37
互联网中的 IP 地址 在同一个局域网上的主机或路由器的IP地址中的网络号必须是一样的。图中的网络号就是IP 地址中的 net-id B
R1 R3 R2 LAN3 N3 N2 N1 LAN2 LAN1 互联网 上一页 下一页 返回
38
互联网中的 IP 地址 路由器总是具有两个或两个以上的 IP 地址。路由器的每一个接口都有一个不同网络号的 IP 地址。 B
R1 R3 R2 LAN3 N3 N2 N1 LAN2 LAN1 互联网 上一页 下一页 返回
39
互联网中的 IP 地址 两个路由器直接相连的接口处,可指明也可不指明 IP 地 址。如指明 IP 地址,则这一段连线就构成了一种只包含
LAN1 R1 LAN3 N3 LAN2 N2 R3 N1 R2 B 互联网 上一页 下一页 返回
40
IP地址与硬件地址 TCP 报文 IP 数据报 MAC 帧 应用层数据 首部 尾部 链路层及以下 使用硬件地址 硬件地址 网络层及以上
上一页 下一页 返回
41
查找路由表 查找路由表 通信的路径 H1→经过 R1 转发→再经过 R2 转发→H2 主机 H1 主机 H2 IP1 硬件地址 IP2
HA1 HA3 HA4 HA5 HA6 HA2 局域网 局域网 局域网 通信的路径 H1→经过 R1 转发→再经过 R2 转发→H2
42
从协议栈的层次上看数据的流动 IP 层上的互联网 主机 H1 主机 H2 IP1 硬件地址 IP2 路由器 R1 路由器 R2 HA1
局域网 局域网 局域网 主机 H1 主机 H2 IP 数据报 路由器 R1 路由器 R2 IP1 → IP2 IP1 → IP2 IP1 → IP2 IP1 IP2 IP3 IP4 IP5 IP6 IP 层上的互联网 HA1 HA3 HA4 HA5 HA6 HA2 从 HA1 到 HA3 从 HA4 到 HA5 从 HA6 到 HA2 MAC 帧 MAC 帧 MAC 帧
43
从虚拟的 IP 层上看 IP 数据报的流动 IP 层上的互联网 主机 H1 主机 H2 IP1 硬件地址 IP2 路由器 R1 路由器 R2
HA1 HA3 HA4 HA5 HA6 HA2 局域网 局域网 局域网 主机 H1 主机 H2 IP 数据报 路由器 R1 路由器 R2 IP1 → IP2 IP1 → IP2 IP1 → IP2 IP1 IP2 IP3 IP4 IP5 IP6 IP 层上的互联网 HA1 HA3 HA4 HA5 HA6 HA2 从 HA1 到 HA3 从 HA4 到 HA5 从 HA6 到 HA2 MAC 帧 MAC 帧 MAC 帧
44
在链路上看 MAC 帧的流动 IP 层上的互联网 主机 H1 主机 H2 IP1 硬件地址 IP2 路由器 R1 路由器 R2 HA1
局域网 局域网 局域网 主机 H1 主机 H2 IP 数据报 路由器 R1 路由器 R2 IP1 → IP2 IP1 → IP2 IP1 → IP2 IP1 IP2 IP3 IP4 IP5 IP6 IP 层上的互联网 HA1 HA3 HA4 HA5 HA6 HA2 从 HA1 到 HA3 从 HA4 到 HA5 从 HA6 到 HA2 MAC 帧 MAC 帧 MAC 帧
45
两个重要问题 (1)如何知道某一个主机或路由器的硬件地址? (2)IP数据报如何找到下一站路由器? 上一页 下一页 返回
46
地址解析协议和逆地址解析协议 每个主机都设有一个ARP高速缓存(ARP cache),里面有所在的局域网上的各主机和路由器的IP地址到硬件地址的映射表。 当主机A欲向本局域网上的某个主机B发送IP数据报时,就先在其ARP高速缓存中查看有无主机B的 IP地址。如有,就可查出其对应的硬件地址,再将此硬件地址写入MAC帧,然后通过局域网将该 MAC帧发往此硬件地址。 上一页 下一页 返回
47
主机 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
48
ARP高速缓存的作用 如没有ARP高速缓存,那就要一次次的发请求。
为了减少网络上的通信量,主机A在发送其ARP 请求分组时,就将自己的IP地址到硬件地址的映射写入ARP请求分组。 当主机B收到A的ARP请求分组时,就将主机A的这一地址映射写入主机B自己的ARP高速缓存中。这对主机B以后向A发送数据报时就更方便了。 上一页 下一页 返回
49
应当注意的问题 ARP是解决同一个局域网上的主机或路由器的 IP地址和硬件地址的映射问题。
上一页 下一页 返回
50
应当注意的问题 从IP地址到硬件地址的解析是自动进行的,主机的用户对这种地址解析过程是不知道的。
ARP将保存在高速缓存中的每一个映射地址都设置生存时间,凡是超过生存时间的项目就从高速缓存中删除掉。 上一页 下一页 返回
51
逆地址解析协议RARP 逆地址解析协议RARP使只知道自己硬件地址的主机能够知道其IP地址。
无盘工作站其实就是把硬盘和主机分离,无盘工作站只执行操作不执行存储。 上一页 下一页 返回
52
② RARP服务器从事先做好的无盘工作站的物理地址→IP地址映射表中查出B的IP; ③ 写入RARP响应分组发回B;
C 无盘工作站 RARP 服务器 ① B向LAN发布一个RARP请求分组; ② RARP服务器从事先做好的无盘工作站的物理地址→IP地址映射表中查出B的IP; ③ 写入RARP响应分组发回B; ④ B得到自己的IP的地址,并写入Cache。 上一页 下一页 返回
53
IP数据报的格式 一个IP数据报由首部和数据两部分组成。 首部的前一部分是固定长度,共20字节,是所有 IP数据报必须具有的。
在首部的固定部分的后面是一些可选字段,其长度是可变的。 上一页 下一页 返回
54
比特 1 2 3 4 5 6 7 优 先 级 D T R C 未用 比特 4 8 16 19 24 31 首 部 版 本 首部长度 服 务 类 型 总 长 度 固 定 部 分 标 识 标志 片 偏 移 生 存 时 间 协 议 首 部 检 验 和 源 地 址 目 的 地 址 可变 部分 可 选 字 段 (长 度 可 变) 填 充 数 据 部 分 传送 首 部 数 据 部 分 IP 数据报
55
比特 1 2 3 4 5 6 7 优 先 级 D T R C 未用 比特 4 8 16 19 24 31 固 定 部 分 版 本 首部长度 服 务 类 型 总 长 度 标 识 标志 片 偏 移 首 部 生 存 时 间 协 议 首 部 检 验 和 源 地 址 目 的 地 址 可变 部分 可 选 字 段 (长 度 可 变) 填 充 数 据 部 分 传送 首 部 数 据 部 分 IP 数据报
56
比特 1 2 3 4 5 6 7 优 先 级 D T R C 未用 比特 4 8 16 19 24 31 版 本 首部长度 服 务 类 型 总 长 度 固 定 部 分 标 识 标志 片 偏 移 首 部 生 存 时 间 协 议 首 部 检 验 和 源 地 址 目 的 地 址 可变 部分 可 选 字 段 (长 度 可 变) 填 充 数 据 部 分 传送 首 部 数 据 部 分 IP 数据报
57
版本——占 4 bit,指IP协议的版本 目前的 IP 协议版本号为 4 (即 IPv4) 比特 1 2 3 4 5 6 7 优 先 级 D
1 2 3 4 5 6 7 优 先 级 D T R C 未用 比特 4 8 16 19 24 31 版本——占 4 bit,指IP协议的版本 目前的 IP 协议版本号为 4 (即 IPv4) 版 本 首部长度 服 务 类 型 总 长 度 固 定 部 分 标 识 标志 片 偏 移 首 部 生 存 时 间 协 议 首 部 检 验 和 源 地 址 目 的 地 址 可变 部分 可 选 字 段 (长 度 可 变) 填 充 数 据 部 分
58
首部长度——占 4 bit,可表示的最大数值 是 15 个单位(一个单位为 4 字节)因此 IP 的首部长度的最大值是60字节。 比特 1
1 2 3 4 5 6 7 优 先 级 D T R C 未用 比特 4 8 16 19 24 31 版 本 首部长度——占 4 bit,可表示的最大数值 是 15 个单位(一个单位为 4 字节)因此 IP 的首部长度的最大值是60字节。 首部长度 服 务 类 型 总 长 度 固 定 部 分 标 识 标志 片 偏 移 首 部 生 存 时 间 协 议 首 部 检 验 和 源 地 址 目 的 地 址 可变 部分 可 选 字 段 (长 度 可 变) 填 充 数 据 部 分
59
服务类型——占 8 bit,用来获得更好的服务 这个字段以前一直没有被人们使用
比特 1 2 3 4 5 6 7 优 先 级 D T R C 未用 比特 4 8 16 19 24 31 版 本 服务类型——占 8 bit,用来获得更好的服务 这个字段以前一直没有被人们使用 首部长度 服 务 类 型 总 长 度 固 定 部 分 标 识 标志 片 偏 移 首 部 生 存 时 间 协 议 首 部 检 验 和 源 地 址 目 的 地 址 可变 部分 可 选 字 段 (长 度 可 变) 填 充 数 据 部 分
60
总长度——占 16 bit,指首部和数据之和的长度, 单位为字节,因此数据报的最大长度为 65535 字节。
比特 1 2 3 4 5 6 7 优 先 级 D T R C 未用 比特 4 8 16 19 24 31 总长度——占 16 bit,指首部和数据之和的长度, 单位为字节,因此数据报的最大长度为 字节。 总长度必须不超过最大传送单元 MTU。 版 本 首部长度 服 务 类 型 总 长 度 固 定 部 分 标 识 标志 片 偏 移 首 部 生 存 时 间 协 议 首 部 检 验 和 源 地 址 目 的 地 址 可变 部分 可 选 字 段 (长 度 可 变) 填 充 数 据 部 分
61
标识(identification) 占 16 bit,它是一个计数器, 用来产生数据报的标识。
比特 1 2 3 4 5 6 7 优 先 级 D T R C 未用 比特 4 8 16 19 24 31 版 本 首部长度 服 务 类 型 总 长 度 固 定 部 分 标识(identification) 占 16 bit,它是一个计数器, 用来产生数据报的标识。 标 识 标志 片 偏 移 首 部 生 存 时 间 协 议 首 部 检 验 和 源 地 址 目 的 地 址 可变 部分 可 选 字 段 (长 度 可 变) 填 充 数 据 部 分
62
标志(flag) 占 3 bit,最低位MF(More Fragment)=1
比特 1 2 3 4 5 6 7 优 先 级 D T R C 未用 比特 4 8 16 19 24 31 版 本 首部长度 服 务 类 型 总 长 度 固 定 部 分 标志(flag) 占 3 bit,最低位MF(More Fragment)=1 表示后面还有分片;DF为(Don’t Fragment)=1表示不 能分片,只有该位为0时才能分片。 标 识 标志 片 偏 移 首 部 生 存 时 间 协 议 首 部 检 验 和 源 地 址 目 的 地 址 可变 部分 可 选 字 段 (长 度 可 变) 填 充 数 据 部 分
63
片偏移(12 bit)指出:较长的分组在数据分片后 某片相对数据字段的起点,该片从何开始。片 偏移以 8 个字节为偏移单位。
比特 1 2 3 4 5 6 7 优 先 级 D T R C 未用 比特 4 8 16 19 24 31 版 本 首部长度 服 务 类 型 总 长 度 固 定 部 分 片偏移(12 bit)指出:较长的分组在数据分片后 某片相对数据字段的起点,该片从何开始。片 偏移以 8 个字节为偏移单位。 标 识 标志 片 偏 移 首 部 生 存 时 间 协 议 首 部 检 验 和 源 地 址 目 的 地 址 可变 部分 可 选 字 段 (长 度 可 变) 填 充 数 据 部 分
64
IP 数据报分片的举例1 偏移 = 0/8 = 0 偏移 = 1400/8 = 175 偏移 = 2800/8 = 350 1400
3799 2799 1399 需分片的 数据报 数据报片 1 首部 数据部分共 3800 字节 首部 1 首部 2 首部 3 字节 0 数据报片 2 数据报片 3 上一页 下一页 返回
65
IP 数据报分片的举例2 一个包含3个网段的网络,每个网段的MTU如图所示。计算 机A发出一个含有1110字节数据的数据报,目标为计算机
B。该分组的总长度=IP首部长度+IP数据长度 =1130 字节。经过R1时必须切割。 上一页 下一页 返回
66
IP 数据报分片的举例2 设:原始分组的分组标识号为x,分段标志位DF=0,则每个新的IP分组的首部部分域值为:
第一个分组:分组标识号=x,分组标志位MF=1, 分段偏移=0,分组长度=508 第二个分组:分组标识号=x,分组标志位MF=1, 分段偏移=61,分组长度=508 第三个分组:分组标识号=x,分组标志位MF=0, 分段偏移=122,分组长度=154 思考题:被R1切割后的每个分组被独立传输,在经过R2时 将再次被切割,请计算出每个切割后的分组首部的部分域 值。 上一页 下一页 返回
67
生存时间(8 bit)记为 TTL (Time To Live) 数据报在网络中的寿命,其单位为秒。 建议值为32秒
比特 1 2 3 4 5 6 7 优 先 级 D T R C 未用 比特 4 8 16 19 24 31 版 本 首部长度 服 务 类 型 总 长 度 固 定 部 分 标 识 标志 片 偏 移 首 部 生存时间(8 bit)记为 TTL (Time To Live) 数据报在网络中的寿命,其单位为秒。 建议值为32秒 生 存 时 间 协 议 首 部 检 验 和 源 地 址 目 的 地 址 可变 部分 可 选 字 段 (长 度 可 变) 填 充 数 据 部 分
68
协议(8 bit)字段指出此数据报携带的数据使用何种协议 以便目的主机的 IP 层将数据部分上交给哪个处理过程
比特 1 2 3 4 5 6 7 优 先 级 D T R C 未用 比特 4 8 16 19 24 31 版 本 首部长度 服 务 类 型 总 长 度 固 定 部 分 标 识 标志 片 偏 移 首 部 协议(8 bit)字段指出此数据报携带的数据使用何种协议 以便目的主机的 IP 层将数据部分上交给哪个处理过程 生 存 时 间 协 议 首 部 检 验 和 源 地 址 目 的 地 址 可变 部分 可 选 字 段 (长 度 可 变) 填 充 数 据 部 分
69
运输层 TCP UDP ICMP IGMP OSPF 网络层 首部 数 据 部 分 协议字段指出应将数据 部分交给哪一个进程 IP 数据报
70
首部检验和(16 bit)字段只检验数据报的首部不包括数据部 分。这里不采用 CRC 检验码而采用简单的计算方法。
比特 1 2 3 4 5 6 7 优 先 级 D T R C 未用 比特 4 8 16 19 24 31 版 本 首部长度 服 务 类 型 总 长 度 固 定 部 分 标 识 标志 片 偏 移 首 部 首部检验和(16 bit)字段只检验数据报的首部不包括数据部 分。这里不采用 CRC 检验码而采用简单的计算方法。 生 存 时 间 协 议 首 部 检 验 和 源 地 址 目 的 地 址 可变 部分 可 选 字 段 (长 度 可 变) 填 充 数 据 部 分
71
发送端 接收端 字 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, 则保留; 否则,丢弃该数据报 数据部分 不参与检验和的计算 数据部分
72
源地址和目的地址都各占 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 字节 源 地 址 目 的 地 址 可变 部分 可 选 字 段 (长 度 可 变) 填 充 数 据 部 分
73
IP 数据报首部的可变部分 IP首部的可变部分就是一个选项字段,用来支持排错、测量以及安全等措施,内容很丰富。
选项字段的长度可变,从1个字节到40个字节不等,取决于所选择的项目。 增加首部的可变部分是为了增加IP数据报的功能,但这同时也使得IP数据报的首部长度成为可变的。这就增加了每一个路由器处理数据报的开销。 实际上这些选项很少被使用。 上一页 下一页 返回
74
IP 层转发分组的算法 路由器和结点交换机有些区别: 路由器是用来连接不同的网络,而结点交换机只是在一个特定的网络中工作。
路由器是专门用来转发分组的,而结点交换机还可接上许多个主机。 路由器使用统一的IP协议,而结点交换机使用所在广域网的特定协议。 路由器根据目的网络地址找出下一个路由器,而结点交换机则根据目的站所接入的交换机号找出下一跳(即下一个结点交换机)。 上一页 下一页 返回
75
在路由表中,对每一条路由,最主要的是 (目的网络地址,下一跳地址) 路由器 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
76
特定主机路由 这种路由是为特定的目的主机指明一个路由。
采用特定主机路由可使网络管理人员能更方便地控制网络和测试网络,同时也可在需要考虑某种安全问题时采用这种特定主机路由。 上一页 下一页 返回
77
分组转发算法 (1) 从数据报的首部提取目的站的 IP 地址 D, 得出目的网络地址为 N。
(2) 若网络 N 与此路由器直接相连,则直接将数据报交付给目的站 D;否则是间接交付,执行(3)。 (3) 若路由表中有目的地址为 D 的特定主机路由,则将数据报传送给路由表中所指明的下一跳路由器;否则,执行(4)。 (4) 若路由表中有到达网络 N 的路由,则将数据报传送给路由表指明的下一跳路由器;否则,执行(5)。 (5) 若路由表中有一个默认路由,则将数据报传送给路由表中所指明的默认路由器;否则,执行(6)。 (6) 报告转发分组出错。 上一页 下一页 返回
78
必须强调指出 IP数据报的首部中没有地方可以用来指明“下一跳路由器的IP地址”。
网络接口软件使用ARP负责将下一跳路由器的 IP地址转换成硬件地址,并将此硬件地址放在链路层的MAC帧的首部,然后根据这个硬件地址找到下一跳路由器。 上一页 下一页 返回
79
小结 在本小节的学习中,我们首先对IP协议 有了一定的了解,然后重点学习了IP地址 的一种编址方法——分类IP地址,随后又
知道了如何知道某一个主机或路由器的硬 件地址(IP地址),接着通过学习IP数据 报的格式,重点学习IP协议的功能,最后 学习了IP层转发分组的流程。 思考题: IP数据报为什么要分片?怎么分片? 针对两级IP地址的缺点,如何解决? 小结 上一页 下一页 返回
80
6.3 划分子网和构造超网 一、划分子网 1. 从两级IP地址到三级IP地址 在ARPANET的早期,IP地址的设计确实不够合理。
给每一个物理网络分配一个网络号会使路由表变得太大因而使网络性能变坏。 两级的IP地址不够灵活。 上一页 下一页 返回
81
三级的 IP 地址 从 1985 年起在 IP 地址中又增加了一个“子网号字段”,使两级的 IP 地址变成为三级的IP地址。
这种做法叫作划分子网(subnetting) 。划分子网已成为因特网的正式标准协议。 上一页 下一页 返回
82
划分子网的基本思路 划分子网纯属一个单位内部的事情。单位对外仍然表现为没有划分子网的网络。
从主机号借用若干个比特作为子网号 subnet-id, 而主机号 host-id 也就相应减少了若干个比特。 IP地址 ::= {<网络号>, <子网号>, <主机号>} 上一页 下一页 返回
83
划分子网的基本思路 凡是从其他网络发送给本单位某个主机的IP数据报,仍然是根据IP数据报的目的网络号net-id,先找到连接在本单位网络上的路由器。 然后此路由器在收到IP数据报后,再按目的网络号net-id和子网号subnet-id找到目的子网。 最后就将IP数据报直接交付给目的主机。 上一页 下一页 返回
84
一个未划分子网的B类网络 网络 145.13.0.0 … 我的网络地址 是 145.13.0.0 145.13.3.101
所有到网络 的分组均到达此路由器 我的网络地址 是 R1 R3 R2 网络
85
一个划分了子网的B类网络 网络 145.13.0.0 所有到达网络 145.13.0.0 的分组均到达 此路由器 145.13.3.101
… 子网 子网 子网 所有到达网络 的分组均到达 此路由器 网络 R1 R3 R2
86
划分子网后变成了三级结构 当没有划分子网时,IP地址是两级结构,地址的网络号字段也就是IP地址的因特网部分,而主机号字段是IP地址的本地部分。 划分子网后IP地址就变成了三级结构。划分子网只是将IP地址的本地部分进行再划分,而不改变IP地址的因特网部分。 上一页 下一页 返回
87
子网掩码 从一个IP数据报的首部并无法判断源主机或目的主机所连接的网络是否进行了子网的划分。
使用子网掩码(subnet mask)可以找出 IP 地址中的子网部分。 上一页 下一页 返回
88
IP 地址的各字段和子网掩码 因特网部分 本地部分 两级 IP 地址 网络号 net-id 主机号 host-id 因特网部分 本地部分
subnet-id 子网号 host-id 网络号 主机号 子网掩码 划分子网时 的网络地址 net-id subnet-id host-id 为全 0
89
子网地址 AND 因特网部分 本地部分 两级 IP 地址 网络号 net-id 主机号 host-id 因特网部分 本地部分
subnet-id AND 网络号 子网号 主机号 子网掩码 划分子网时 的网络地址 net-id subnet-id host-id 为全 0
90
说明 子网掩码:32比特,与网络号和子网号对应的位为1,与主机号对应的位为0。 网络地址:将主机号置为全0的IP地址。
上一页 下一页 返回
91
三类IP地址的默认子网掩码 A 类 地 址 网络地址 net-id host-id 为全 0 默认子网掩码 255.0.0.0
B 类 地 址 网络地址 net-id host-id 为全 0 默认子网掩码 C 类 地 址 网络地址 net-id host-id 为全 0 默认子网掩码
92
若一个路由器连接在两个子网上,就拥有两个网络地址和两个子网掩码。
子网掩码是一个网络或一个子网的重要属性。表现在路由器在交换路由信息时不仅要交换目的网络地址,还要交换目的网络的子网掩码,所以路由表中要有子网掩码这一项。 若一个路由器连接在两个子网上,就拥有两个网络地址和两个子网掩码。 上一页 下一页 返回
93
通过子网掩码划分子网 10 host—id host—id 以一个B类地址为例,说明划分子网的方法。 10 11111111
2 本地分配 2 B类地址 10 host—id 子网号 主机号 增加子网号 10 subnet—id host—id 6位 10bit 111111 子网掩码 8 8 6 10 上一页 下一页 返回
94
通过子网掩码划分子网 B类的一个网络地址为130.50.0.0,其用二进制表示为:
说明: ① Subnet—id(子网号)6位:可表示子网号62个;(全“1”,“0”不用)26-2 ② 主机号(host—id)10位:可表示1022个主机(全1”,全“0”不用) 210-2 ③ 子网可使用的IP地址: 第一子网:从 开始~ ; 第二子网:从 开始~………… 上一页 下一页 返回
95
使用子网掩码的分组转发过程 在不划分子网的两级 IP 地址下,从 IP 地址得出网络地址是个很简单的事。
因此分组转发的算法也必须做相应的改动。 上一页 下一页 返回
96
划分子网后分组的转发举例 R1 的路由表(未给出默认路由器) 子网2:网络地址 128.30.33.128
目的网络地址 子网掩码 下一跳 接口 0 接口 1 R2 子网1: 网络地址 子网掩码 H1 子网2:网络地址 子网掩码 1 H2 R2 1 子网3:网络地址 子网掩码 H3
97
请注意:H1 并不知道 H2 连接在哪一个网络上。 H1 仅仅知道 H2 的 IP 地址是 128.30.33.138
R1 的路由表(未给出默认路由器) 目的网络地址 子网掩码 下一跳 接口 0 接口 1 R2 子网1: 网络地址 子网掩码 H1 R1 子网2:网络地址 子网掩码 1 R2 H2 请注意:H1 并不知道 H2 连接在哪一个网络上。 H1 仅仅知道 H2 的 IP 地址是 因此 H1 首先检查主机 是否连接在本网络上 如果是,则直接交付; 否则,就送交路由器 R1,并逐项查找路由表。 1 子网3:网络地址 子网掩码 H3
98
主机 H1 首先将本子网的子网掩码 255. 255. 255. 128与分组的 IP 地址 128. 30. 33
主机 H1 首先将本子网的子网掩码 与分组的 IP 地址 逐比特相“与”(AND 操作) R1 的路由表(未给出默认路由器) AND 的计算 H1 目的网络地址 子网掩码 下一跳 接口 0 接口 1 R2 子网1: 网络地址 子网掩码 255 就是二进制的全 1,因此 255 AND xyz = xyz, 这里只需计算最后的 128 AND 138 即可。 R1 子网2:网络地址 子网掩码 128 → 138 → 1 H2 逐比特 AND 操作后: → 128 R2 1 逐比特 AND 操作 子网3:网络地址 子网掩码 H1 的网络地址 H3
99
因此 H1 必须把分组传送到路由器 R1,然后逐项查找路由表
目的网络地址 子网掩码 下一跳 接口 0 接口 1 R2 子网1: 网络地址 子网掩码 H1 R1 子网2:网络地址 子网掩码 1 H2 R2 1 子网3:网络地址 子网掩码 H3
100
路由器 R1 收到分组后就用路由表中第 1 个项目的子网掩码和 128.30.33.138 逐比特 AND 操作
R1 收到的分组的目的 IP 地址: R1 的路由表(未给出默认路由器) 目的网络地址 子网掩码 下一跳 接口 0 接口 1 R2 子网1: 网络地址 子网掩码 H1 R1 子网2:网络地址 子网掩码 不一致 1 R2 H2 AND = 不匹配! (因为 与路由表中的 不一致) 1 子网3:网络地址 子网掩码 H3
101
路由器 R1 再用路由表中第 2 个项目的 子网掩码和 128.30.33.138 逐比特 AND 操作
R1 收到的分组的目的 IP 地址: R1 的路由表(未给出默认路由器) 目的网络地址 子网掩码 下一跳 接口 0 接口 1 R2 子网1: 网络地址 子网掩码 H1 一致! R1 子网2:网络地址 子网掩码 1 R2 H2 AND = 匹配! 这表明子网 2 就是收到的分组所要寻找的目的网络 1 子网3:网络地址 子网掩码 H3
102
在划分子网的情况下路由器转发分组的算法 (1) 从收到的分组的首部提取目的 IP 地址 D。
相应的网络地址匹配。若匹配,则将分组直接交付。 否则就是间接交付,执行(3)。 (3) 若路由表中有目的地址为 D 的特定主机路由,则将 分组传送给指明的下一跳路由器;否则,执行(4)。 (4) 对路由表中的每一行的子网掩码和 D 逐比特相“与”, 若其结果与该行的目的网络地址匹配,则将分组传送 给该行指明的下一跳路由器;否则,执行(5)。 (5) 若路由表中有一个默认路由,则将分组传送给路由表 中所指明的默认路由器;否则,执行(6)。 (6) 报告转发分组出错。 上一页 下一页 返回
103
无分类编址 CIDR 划分子网在一定程度上缓解了因特网在发展中遇 到的困难。然而在1992年因特网仍然面临三个必 须尽早解决的问题,这就是:
B类地址在1992年已分配了近一半,眼看就要在1994年3月全部分配完毕! 因特网主干网上的路由表中的项目数急剧增长(从几千个增长到几万个)。 整个IPv4的地址空间最终将全部耗尽。 上一页 下一页 返回
104
IP 编址问题的演进 1987年,RFC1009就指明了在一个划分子网的网络中可同时使用几个不同的子网掩码。使用变长子网掩码VLSM(Variable Length Subnet Mask)可进一步提高IP地址资源的利用率。 在VLSM的基础上又进一步研究出无分类编址方法,它的正式名字是无分类域间路由选择 CIDR(Classless Inter-Domain Routing)。 上一页 下一页 返回
105
CIDR 最主要的特点 CIDR消除了传统的A类、B类和C类地址以及划分子网的概念,因而可以更加有效地分配IPv4的地址空间。
CIDR使用各种长度的“网络前缀”(network-prefix)来代替分类地址中的网络号和子网号。 IP地址从三级编址(使用子网掩码)又回到了两级编址。 上一页 下一页 返回
106
无分类的两级编址 无分类的两级编址的记法是: IP地址 ::= {<网络前缀>, <主机号>}
CIDR 使用“斜线记法”(slash notation),它又称为CIDR记法,即在IP地址后面加上一个斜线“/”,然后写上网络前缀所占的比特数(这个数值对应于三级编址中子网掩码中比特1的个数)。 CIDR将网络前缀都相同的连续的IP地址组成“CIDR地址块”。 上一页 下一页 返回
107
CIDR 地址块 /20表示的地址块共有212个地址(因为斜线后面的20是网络前缀的比特数,所以主机号的比特数是12)。 这个地址块的起始地址是 。 在不需要指出地址块的起始地址时,也可将这样的地址块简称为“/20地址块”。 /20地址块的最小地址: /20 地址块的最大地址: 全 0 和全 1 的主机号地址一般不使用。 上一页 下一页 返回
108
/20 表示的地址(212 个地址) 最小地址 所有地址 的 20 bit 前缀都是 一样的 最大地址
109
路由聚合(route aggregation)
一个CIDR地址块可以表示很多地址,这种地址的聚合常称为路由聚合,它使得路由表中的一个项目可以表示很多个(例如上千个)原来传统分类地址的路由。 路由聚合也称为构成超网(supernetting)。 CIDR虽然不使用子网了,但仍然使用“掩码”这一名词(但不叫子网掩码)。 对于/20地址块,它的掩码是20个连续的1。 斜线记法中的数字就是掩码中1的个数。 上一页 下一页 返回
110
CIDR 记法的其他形式 10.0.0.0/10 可简写为 10/10,也就是将点分十进制中低位连续的 0 省略。
/10 隐含地指出 IP 地址 的掩码是 。此掩码可表示为 掩码中有 10 个连续的 1 255 192 上一页 下一页 返回
111
CIDR 记法的其他形式 网络前缀的后面加一个星号*的表示方法
如 *,在星号*之前是网络前缀,而星号 * 表示 IP 地址中的主机号。 上一页 下一页 返回
112
构成超网 前缀长度不超过23bit的CIDR地址块都包含了多个C类地址。 这些C类地址合起来就构成了超网。
网络前缀越短,其地址块所包含的地址数就越多。而在三级结构的IP地址中,划分子网是使网络前缀变长。 上一页 下一页 返回
113
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 / * 大学 / * 一系 / * 二系 / * 三系 / * 四系 / *
114
CIDR 地址块划分举例 ISP 大学 X 206.0.64.0/18 因特网
/22 /23 /24 /25 /25 /25 /25 /25 /25 /26 /26 /26 /26 /26 /26 /26 /26 三系 四系 二系 一系 这个 ISP 共有 64 个 C 类网络。如果不采用 CIDR 技术,则在与该 ISP 的路由器交换路由信息的每一个路由器的路由表中,就需要有 64 个项目。但采用地址聚合后,只需用路由聚合后的 1 个项目 /18 就能找到该 ISP。
115
最长前缀匹配 使用CIDR时,路由表中的每个项目由“网络前缀”和“下一跳地址”组成。在查找路由表时可能会得到不止一个匹配结果。
应当从匹配结果中选择具有最长网络前缀的路由:最长前缀匹配(longest-prefix matching)。 网络前缀越长,其地址块就越小,因而路由就越具体。 最长前缀匹配又称为最长匹配或最佳匹配。 上一页 下一页 返回
116
最长前缀匹配举例 收到的分组的目的地址 D = 206.0.71.130 路由表中的项目:206.0.68.0/22 (ISP)
/25 (四系) 查找路由表中的第 1 个项目 第 1 个项目 /22 的掩码 M 有 22 个连续的 1。 M = 因此只需把 D 的第 3 个字节转换成二进制。 M = AND D = 与 /22 匹配
117
最长前缀匹配举例 收到的分组的目的地址 D = 206.0.71.130 路由表中的项目:206.0.68.0/22 (ISP)
/25 (四系) 再查找路由表中的第 2 个项目 第 2 个项目 /25 的掩码 M 有 25 个连续的 1。 M = 因此只需把 D 的第 4 个字节转换成二进制。 M = AND D = 与 /25 匹配
118
最长前缀匹配 D AND ( ) = / 匹配 D AND ( ) = / 匹配 选择两个匹配的地址中更具体的一个,即选择最长 前缀的地址。 上一页 下一页 返回
119
小结 在本小节中,主要学习了IP地址的另 外两种编址方法,重点是它们的思想、掩 码的概念以及在路由选择算法种的应用。 思考题:
CIDR为什么能够进一步提高IP地址资 源的利用率? 上一页 下一页 返回
120
6.4 因特网控制报文协议ICMP 为了提高IP数据报交付成功的机会,即减少分组的丢失,在网际层使用了因特网控制报文协议 ICMP(Internet Control Message Protocol)。 ICMP 允许主机或路由器报告差错情况和提供有关异常情况的报告。 ICMP不是高层协议,而是IP层的协议。 ICMP报文作为IP层数据报的数据,加上数据报的首部,组成IP数据报发送出去。 上一页 下一页 返回
121
ICMP 报文的格式 8 16 31 前 4 个字节 是统一的格式 类型 代码 检验和 (这 4 个字节取决于 ICMP 报文的类型)
8 16 31 前 4 个字节 是统一的格式 类型 代码 检验和 (这 4 个字节取决于 ICMP 报文的类型) ICMP 的数据部分(长度取决于类型) ICMP 报文 首 部 数 据 部 分 IP 数据报 上一页 下一页 返回
122
ICMP 报文 ICMP报文的种类有两种: 即ICMP差错报告报文和ICMP询问报文。 上一页 下一页 返回
123
ICMP差错报告报文共有5种 终点不可达 源站抑制 时间超过 参数问题 改变路由(重定向) 上一页 下一页 返回
124
ICMP差错报告报文数据字段的内容 IP 数据报的数据字段 收到的 IP 数据报 IP 数据报 首部 8 字节 ICMP 的 前 8 字节
上一页 下一页 返回
125
不应发送ICMP差错报告报文的情况 对ICMP差错报告报文不再发送ICMP差错报告报文。
上一页 下一页 返回
126
ICMP 询问报文有四种 回送请求和回答报文 时间戳请求和回答报文 掩码地址请求和回答报文 路由器询问和通告报文 上一页 下一页 返回
127
PING PING——应用层一个常用的服务。 PING用来测试两个主机之间的连通性。 PING使用了ICMP回送请求与回送回答报文。
PING是应用层直接使用网络层ICMP的例子,它没有通过运输层的TCP或UDP。 上一页 下一页 返回
128
小结 在本小节中,主要学习了因特网控制 报文协议ICMP,重点是它能够完成什么功 能。 思考题: ICMP的5种差错报告报文分别在什么时
候发送? IP分组是如何找到“下一跳”的? 上一页 下一页 返回
129
6.5 因特网的路由选择协议 有关路由选择协议的几个基本概念 1. 理想的路由算法 算法必须是正确的和完整的。 算法在计算上应简单。
算法应能适应通信量和网络拓扑的变化,这就是说,要有自适应性。 算法应具有稳定性。 算法应是公平的。 算法应是最佳的。 上一页 下一页 返回
130
代价 在研究路由选择时,需要给每一条链路指明一定的代价。
这里“代价”并不是指“钱”,而是由一个或几个因素综合决定的一种度量(metric),如链路长度、数据率、链路容量、是否要保密、传播时延等,甚至还可以是一天中某一个小时内的通信量、结点的缓存被占用的程度、链路差错率等。 上一页 下一页 返回
131
最佳路由 不存在一种绝对的最佳路由算法。 所谓“最佳”只能是相对于某一种特定要求下得出的较为合理的选择而已。
实际的路由选择算法,应尽可能接近于理想的算法。 路由选择是个非常复杂的问题 它是网络中的所有结点共同协调工作的结果。 路由选择的环境往往是不断变化的,而这种变化有时无法事先知道。 上一页 下一页 返回
132
从路由算法的自适应性考虑 静态路由选择策略——即非自适应路由选择,其特点是简单和开销较小,但不能及时适应网络状态的变化。
动态路由选择策略——即自适应路由选择,其特点是能较好地适应网络状态的变化,但实现起来较为复杂,开销也比较大。 上一页 下一页 返回
133
分层次的路由选择协议 因特网采用的路由选择协议主要是自适应的、分布式路由选择协议,而且由于以下两个原因,因特网采用的还是分层次的路由选择协议: 因特网的规模非常大。 许多单位不愿意外界了解自己单位网络的布局细节和本部门所采用的路由选择协议(这属于本部门内部的事情),但同时还希望连接到因特网上。 上一页 下一页 返回
134
自治系统(autonomous system)
因特网将整个互联网划分为许多较小的自治系统 AS。 一个自治系统是一个互联网,其最重要的特点就是自治系统有权自主地决定在本系统内应采用何种路由选择协议。 一个自治系统内的所有网络都属于一个行政单位(例如,一个公司,一所大学,政府的一个部门,等等)来管辖。 一个自治系统的所有路由器在本自治系统内都必须是连通的。 上一页 下一页 返回
135
因特网有两大类路由选择协议 内部网关协议IGP(Interior Gateway Protocol) 即在一个自治系统内部使用的路由选择协议。目前这类路由选择协议使用得最多,如RIP和OSPF 协议。 外部网关协议EGP (External Gateway Protocol) 若源站和目的站处在不同的自治系统中,当数据报传到一个自治系统的边界时,就需要使用一种协议将路由选择信息传递到另一个自治系统中。在外部网关协议中目前使用最多的是BGP-4。 上一页 下一页 返回
136
自治系统和内、外部网关协议 自治系统 A 自治系统 B 自治系统 C R3 IGP EGP R2 IGP IGP IGP IGP IGP
H1 IGP H2 IGP IGP IGP IGP 内部网关协议 IGP (例如,RIP) 外部网关协议 EGP (例如,BGP-4) 内部网关协议 IGP (例如,OSPF) 上一页 下一页 返回
137
因特网的路由选择协议 内部网关协议IGP:具体的协议有多种,如RIP和OSPF等。 外部网关协议EGP:目前使用的协议就是BGP。 上一页
下一页 返回
138
内部网关协议 RIP 工作原理 路由信息协议 RIP 是内部网关协议 IGP中最先得到广泛使用的协议。
上一页 下一页 返回
139
“距离”的定义 从一路由器到直接连接的网络的距离定义为1。 从一个路由器到非直接连接的网络的距离定义为经过一个路由器,距离就加1。
RIP协议中的“距离”也称为“跳数”(hop count),因此每经过一个路由器,跳数就加1。 上一页 下一页 返回
140
“距离”的定义 RIP 认为一个好的路由就是它通过的路由器的数目少,即“距离短”。 RIP 允许一条路径最多只能包含15个路由器。
上一页 下一页 返回
141
RIP 协议的三个要点 和那些路由器交换信息? 仅和相邻路由器交换信息。 交换什么信息?
交换的信息是当前本路由器所知道的全部信息,即自己的路由表。 在什么时候交换信息? 按固定的时间间隔交换路由信息,例如,每隔 30秒。 上一页 下一页 返回
142
路由表的建立 路由器在刚刚开始工作时,只知道到直接连接的网络的距离(此距离定义为1)。
以后,每一个路由器也只和数目非常有限的相邻路由器交换并更新路由信息。 经过若干次更新后,所有的路由器最终都会知道到达本自治系统中任何一个网络的最短距离和下一跳路由器的地址。 RIP 协议的收敛(convergence)过程较快,即在自治系统中所有的结点都得到正确的路由选择信息的过程。 上一页 下一页 返回
143
距离向量算法 收到相邻路由器(其地址为 X)的一个 RIP 报文:
(1) 先修改此 RIP 报文中的所有项目:将“下一跳”字段中的地址都改为 X,并将所有的“距离”字段的值加 1。 (2) 对修改后的 RIP 报文中的每一个项目,重复以下步骤: 若项目中的目的网络不在路由表中,则将该项目加到路由表中。 否则 若下一跳字段给出的路由器地址是同样的,则将收到的项 目 替换原路由表中的项目。 若收到项目中的距离小于路由表中的距离,则进行更新, 否则,什么也不做。 (3) 若 3 分钟还没有收到相邻路由器的更新路由表,则将此相邻路由器记为不可达的路由器,即将距离置为16(距离为16表 示不可达)。 (4) 返回。
144
一开始,各路由表只有到相邻路由器的信息 “”表示“直接交付” “4”表示“从本路由器到网 4” “1”表示“距离是 1” 1 1
1 1 5 1 E 1 1 2 1 3 1 网 1 网 5 5 1 6 1 2 1 5 1 D 网 2 A 4 1 6 1 F 网 6 B 网 3 网 4 3 1 4 1 C “”表示“直接交付” “4”表示“从本路由器到网 4” “1”表示“距离是 1” 上一页 下一页 返回
145
路由器 B 收到相邻路由器 A 和 C 的路由表 更新后
1 1 5 1 E 1 1 2 1 3 1 1 1 2 1 3 1 1 1 2 1 3 1 网 1 网 5 5 1 6 1 2 1 5 1 D 网 2 A 4 1 6 1 4 1 6 1 4 1 6 1 4 1 6 1 F 网 6 B 网 3 网 4 3 1 4 1 C 更新后 A 说:“我到网1的距离是1。”因此 B 现在也可以到网 1,距离是 2,经过 A。” 1 2 A 2 2 A 3 1 4 1 6 2 C 上一页 下一页 返回
146
更新后 A 说:“我到网 2 的距离是 1。” 因此 B 现在也可以到网 2,距离 是 2,经过 A。” 1 1 5 1 E
1 1 5 1 E 1 1 2 1 3 1 网 1 网 5 5 1 6 1 2 1 5 1 D 网 2 A 4 1 6 1 F 网 6 B 网 3 1 1 2 1 3 1 网 4 3 1 4 1 4 1 6 1 C 更新后 A 说:“我到网 2 的距离是 1。” 因此 B 现在也可以到网 2,距离 是 2,经过 A。” 1 2 A 2 2 A 3 1 4 1 6 2 C 上一页 下一页 返回
147
更新后 A 说:“我到网 3 的距离是 1。” 但 B 没有必要绕道经过路由器 A 再到达网 3,因此这一项目不变。 1 1 5 1
1 1 5 1 E 1 1 2 1 3 1 网 1 网 5 5 1 6 1 2 1 5 1 D 网 2 A 4 1 6 1 F 网 6 B 网 3 1 1 2 1 3 1 网 4 3 1 4 1 4 1 6 1 C 更新后 A 说:“我到网 3 的距离是 1。” 但 B 没有必要绕道经过路由器 A 再到达网 3,因此这一项目不变。 1 2 A 2 2 A 3 1 4 1 6 2 C 上一页 下一页 返回
148
更新后 C 说:“我到网 4 的距离是 1。” 但 B 没有必要绕道经过路由器 C 再到达网 4,因此这一项目不变。 1 1 5 1
1 1 5 1 E 1 1 2 1 3 1 网 1 网 5 5 1 6 1 2 1 5 1 D 网 2 A 4 1 6 1 F 网 6 B 网 3 1 1 2 1 3 1 网 4 3 1 4 1 4 1 6 1 C 更新后 C 说:“我到网 4 的距离是 1。” 但 B 没有必要绕道经过路由器 C 再到达网 4,因此这一项目不变。 1 2 A 2 2 A 3 1 4 1 6 2 C 上一页 下一页 返回
149
C说:“我到网6的距离是1。”因此B现在也可以到网6,距离是2,经过C。”
1 1 5 1 E 1 1 2 1 3 1 网 1 网 5 5 1 6 1 2 1 5 1 D 网 2 A 4 1 6 1 F 网 6 B 网 3 1 1 2 1 3 1 网 4 3 1 4 1 4 1 6 1 C 更新后 C说:“我到网6的距离是1。”因此B现在也可以到网6,距离是2,经过C。” 1 2 A 2 2 A 3 1 4 1 6 2 C 上一页 下一页 返回
150
最终所有的路由器的路由表都更新了 F E D C B A 1 1 2 1 3 1 4 2 B 5 2 E 6 3 B 2 2 A
1 1 2 1 3 1 4 2 B 5 2 E 6 3 B 2 2 A 3 2 A 4 3 A 5 1 6 2 F 1 2 E 2 2 D 3 3 C 4 2 C 6 1 1 3 B 2 3 B 3 2 B 4 1 5 2 F 网 2 网 6 网 5 网 1 网 3 网 4 1 2 A 5 3 C 6 2 C 上一页 下一页 返回
151
路由器之间交换信息 RIP协议使互联网中的所有路由器都和自己的相邻路由器不断交换路由信息,并不断更新其路由表,使得从每一个路由器到每一个目的网络的路由都是最短的(即跳数最少)。 虽然所有的路由器最终都拥有了整个自治系统的全局路由信息,但由于每一个路由器的位置不同,它们的路由表当然也应当是不同的。 上一页 下一页 返回
152
RIP 协议的位置 RIP协议使用运输层的用户数据报 UDP进行传送(使用UDP的端口520)。
因此 RIP 协议的位置应当在应用层。但转发IP 数据报的过程是在网络层完成的。 上一页 下一页 返回
153
RIP2 协议的报文格式 4 字节 地址族标识符 路由标记 4 字节 网络地址 命令 版本 子网掩码 必为 0 下一跳路由器地址
距离 (1-16) 指出报文的意义 首部 路由部分 若干个路由信息 (20 字节/路由) 可重复出现 最多 25 个 RIP 报文 IP 首部 UDP 首部 UDP 用户数据报 IP 数据报 上一页 下一页 返回
154
RIP2 的报文 地址族标识符(又称为地址类别)字段用来标志所使用的地址协议(若是IP地址,则值为2)。
再后面指出某个网络地址、该网络的子网掩码、下一跳路由器地址以及到此网络的距离。 上一页 下一页 返回
155
RIP 协议的优缺点 RIP协议最大的优点就是实现简单,开销较小。
路由器之间交换的路由信息是路由器中的完整路由表,因而随着网络规模的扩大,开销也就增加。 上一页 下一页 返回
156
“”表示“直接交付” “1”表示“从本路由器到网 1” “1”表示“距离是 1” R1 说:“我到网 1 的距离是 1,是直接交付。” 正
常 情 况 1 1 网 1 网 2 1 2 R1 网 3 R1 R2 “”表示“直接交付” “1”表示“从本路由器到网 1” “1”表示“距离是 1” R1 说:“我到网 1 的距离是 1,是直接交付。” 上一页 下一页 返回
157
“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。” 上一页 下一页 返回
158
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 出了故障。 上一页 下一页 返回
159
正 常 情 况 网 1 1 1 网 2 1 2 R1 网 3 R1 R2 R2 R1 网 1 网 3 网 2 网 1出了故障 1 2 R1 1 3 R2 R1 收到 R2 的更新报文后,误认为可经过 R2 到达网1,于是更新自己的路由表,说:“我到网 1 的距离是 3,下一跳经过 R2”。然后将此更新信息发送给 R2。 上一页 下一页 返回
160
R2 以后又更新自己的路由表为“1, 4, R1”,表明 “我到网1距离是4,下一跳经过R1”。
正 常 情 况 网 1 1 1 网 2 1 2 R1 网 3 R1 R2 R2 R1 网 1 网 3 网 2 网 1出了故障 1 2 R1 1 3 R2 1 4 R1 R2 以后又更新自己的路由表为“1, 4, R1”,表明 “我到网1距离是4,下一跳经过R1”。 上一页 下一页 返回
161
… … 这就是好消息传播得快,而坏消息传播得慢。网络出故障的传播时间往往需要较长的时间(例如数分钟)。这是RIP的一个主要缺点。
正 常 情 况 这就是好消息传播得快,而坏消息传播得慢。网络出故障的传播时间往往需要较长的时间(例如数分钟)。这是RIP的一个主要缺点。 1 1 网 1 网 2 1 2 R1 网 3 R1 R2 自治系统 AS 网 1 网 2 网 3 R1 R2 网 1出了故障 1 2 R1 1 3 R2 1 4 R1 1 5 R2 … … R2 R1 这样不断更新下去,直到R1和R2到网1的距离都增大到 16时,R1和R2才知道网1是不可达的。
162
内部网关协议 OSPF 问题的提出: RIP协议的局限性:
①RIP限制了网络的规模,它能使用的最大距离为15,不适应当今网络的发展需要。(即RIP限制了网络规模N≦15) ②路由器之间交换的完整路由信息开销太大。 ③路由更新过程的收敛时间长,即坏消息传得慢。 开放最短路径优先 OSPF(Open Shortest Path First)就是为克服RIP的这些缺点提出来的。 上一页 下一页 返回
163
内部网关协议 OSPF OSPF协议的基本特点: “开放”表明OSPF协议不是受某一家厂商控制,而是公开发表的,任何人不需要付费。
“最短路径优先”是因为使用了Dijkstra提出的最短路径算法SPF。 OSPF只是一个协议的名字,它并不表示其他的路由选择协议不是“最短路径优先”。 是分布式的链路状态协议。 上一页 下一页 返回
164
OSPF的三个要点 和那些路由器交换信息? 向本自治系统中所有路由器发送信息,这里使用的方法是洪泛法。 交换什么信息?
发送的信息就是与本路由器相邻的所有路由器的链路状态,但这只是路由器所知道的部分信息(“链路状态”就是说明本路由器都和哪些路由器相邻,以及该链路的“度量”(metric))。 在什么时候交换信息? 只有当链路状态发生变化时,路由器才用洪泛法向所有路由器发送此信息。 上一页 下一页 返回
165
链路状态数据库 由于各路由器之间频繁地交换链路状态信息,因此所有的路由器最终都能建立一个链路状态数据库。
这个数据库实际上就是全网的拓扑结构图,它在全网范围内是一致的(这称为链路状态数据库的同步)。 OSPF的链路状态数据库能较快地进行更新,使各个路由器能及时更新其路由表。OSPF的更新过程收敛得快是其重要优点。 上一页 下一页 返回
166
OSPF的区域(area) 为了使OSPF能够适用于规模很大的网络,OSPF将一个自治系统再划分为若干个更小的范围,叫作区域。
每一个区域都有一个32bit的区域标识符用点分十进制表示)。 区域也不能太大,在一个区域内的路由器最好不超过200个。 上一页 下一页 返回
167
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 区域 区域 区域 上一页 下一页 返回
168
划分区域 划分区域的好处就是将利用洪泛法交换链路状态信息的范围局限于每一个区域而不是整个的自治系统,这就减少了整个网络上的通信量。
在一个区域内部的路由器只知道本区域的完整网络拓扑,而不知道其他区域的网络拓扑的情况。 OSPF 使用层次结构的区域划分。在上层的区域叫作主干区域(backbone area)。主干区域的标识符规定为 。主干区域的作用是用来连通其他在下层的区域。 上一页 下一页 返回
169
主干路由器 至其他自治系统 自治系统 AS 主干区域 0.0.0.0 区域 0.0.0.1 区域 0.0.0.3 区域 0.0.0.2 R1
网 6 R3 R7 网 1 R5 R9 网 7 网 2 R4 R2 网 3 网 8 R8 网 4 网 5 区域 区域 区域 上一页 下一页 返回
170
区域边界路由器 至其他自治系统 自治系统 AS 主干区域 0.0.0.0 区域 0.0.0.1 区域 0.0.0.3 区域 0.0.0.2
R1 R6 网 6 R3 R7 网 1 R5 R9 网 7 网 2 R4 R2 网 3 网 8 R8 网 4 网 5 区域 区域 区域 上一页 下一页 返回
171
OSPF的其他特点 OSPF不用UDP而是直接用IP数据报传送,可见 OSPF位置在网络层。
上一页 下一页 返回
172
OSPF的其他特点 如果到同一个目的网络有多条相同代价的路径,那么可以将通信量分配给这几条路径。这叫作多路径间的负载平衡。
支持可变长度的子网划分和无分类编址CIDR。 每一个链路状态都带上一个32bit的序号,序号越大状态就越新。 上一页 下一页 返回
173
OSPF的其他特点 OSPF还规定每隔一段时间,如30分钟,要刷新一次数据库中的链路状态。
由于一个路由器的链路状态只涉及到与相邻路由器的连通状态,因而与整个互联网的规模并无直接关系。因此当互联网规模很大时,OSPF协议要比距离向量协议RIP好得多。 OSPF没有“坏消息传播得慢”的问题,据统计,其响应网络变化的时间小于100ms。 上一页 下一页 返回
174
OSPF分组 比特 8 16 31 版 本 类 型 分 组 长 度 路 由 器 标 识 符 区 域 标 识 符 检 验 和 鉴 别 类 型
8 16 31 版 本 类 型 分 组 长 度 路 由 器 标 识 符 区 域 标 识 符 检 验 和 鉴 别 类 型 鉴 别 鉴 别 24 字节 OSPF 分组首部 类型 1 至类型 5 的 OSPF 分组 IP数据报首部 OSPF 分组 IP 数据报
175
OSPF的五种分组类型 类型1:问候(Hello)分组。 类型2:数据库描述(Database Description)分组。
类型3:链路状态请求(Link State Request)分组。 类型4:链路状态更新(Link State Update)分组。 用洪泛法对全网更新链路状态 类型5:链路状态确认(Link State Acknowledgment) 分组。 上一页 下一页 返回
176
OSPF的基本操作 问候 确定可达性 问候 数据库描述 数据库描述 达到数据库的同步 数据库描述 数据库描述 链路状态请求 新情况下的同步
链路状态更新 链路状态确认
177
OSPF支持三种网络的连接 两个路由器之间的点对点连接 具有广播功能的局域网 无广播功能的广域网 上一页 下一页 返回
178
局域网 L1 L2 (a) 网络拓扑 2 5 4 3 8 13 12 10 6 16 A B H G F E C D I (b) 有向图
7 6 16 A B H G F E C D I 广域网 W5 W3 W2 W6 W1 W4 (b) 有向图 L1 L2 W1 W3 W2 D B C A I H G F E 12 4 2 3 13 16 7 8 10 W4 W6 W5 6 5
179
有向图 L1 L2 W1 W3 W2 D B C A H G F E 12 4 2 3 13 16 7 8 10 W4 W6 W5 6 5 I 以路由器F为根的最短路径树 W1 W4 12 B D E W2 W6 5 4 7 8 A 3 8 4 I F L2 G 3 L1 6 16 W5 W3
180
小结 在本小节中,主要学习了因特网的两 种路由选择协议RIP和OSPF,重点是它们 的思想以及实现算法。 思考题:
上一页 下一页 返回
181
6.6 IP多播和因特网组管理协议 IP多播的基本概念 多播可明显地减少网络中资源的消耗。 R4 R3 多播组 G A 复制 B R1 X
D C A 多播组 G 复制 B R1 X R2 复制 R5 R6
182
IP多播的一些特点 1110 多播使用组地址—— IP 使用 D 类地址支持多播。多播地址只能用于目的地址,而不能用于源地址。
永久组地址——由因特网号码指派管理局IANA 负责指派。 动态的组成员 使用硬件进行多播 1110 组播地址 上一页 下一页 返回
183
因特网组管理协议IGMP IGMP是在多播环境下使用的协议,它位于网际层。
IGMP使用IP数据报传递其报文(即IGMP报文加上 IP首部构成IP数据报),但它也向IP提供服务。 不把IGMP看成是一个单独的协议,而是属于整个网际协议IP的一个组成部分。 上一页 下一页 返回
184
IGMP可分为两个阶段 第一阶段:当某个主机加入新的多播组时,该主机应向多播组的多播路由器发送IGMP报文,声明自己要成为该组的成员。本地的多播路由器收到 IGMP 报文后,将组成员关系转发给因特网上的其他多播路由器。 上一页 下一页 返回
185
IGMP可分为两个阶段 第二阶段:因为组成员关系是动态的,因此本地多播路由器要周期性地探询本地局域网上的主机,以便知道这些主机是否还继续是组的成员。 只要对某个组有一个主机响应,那么多播路由器就认为这个组是活跃的。 但一个组在经过几次的探询后仍然没有一个主机响应,则不再将该组的成员关系转发给其他的多播路由器。 上一页 下一页 返回
186
多播路由选择 多播路由选择相当复杂: 即使网络拓扑不发生变化,但由于某个应用程序加入或离开了一个多播组,多播路由都会发生变化。
多播转发要求路由器不仅要检查目的地址,而且还要检查源地址,以便确定何时需要复制多播数据报和转发多播数据报副本。 多播数据报可以由不是多播组成员的主机产生,并且可能通过没有任何组成员的网络。 上一页 下一页 返回
187
隧道技术(tunneling) 不支持多播 的网络 网 1 (支持多播) 网 2 隧道 多播数据报 单播 IP 数据报 首部 数 据 数 据
数 据 数 据 网 1 和网 2 中的多播数据报 隧道中通行的单播 IP 数据报 R2 R1 网 1 (支持多播) 网 2
188
小结 在本小节中,知道了IP多播并且学习 了因特网的组播管理协议IGMP,重点是它 们的思想以及功能。 思考题:
IP单播、IP多播、IP广播的特点? IPV4的下一个版本IPV6有什么特点? 上一页 下一页 返回
189
6.7 虚拟专用网和网络地址转换 虚拟专用网VPN:
本地地址——仅在机构内部使用的 IP 地址,可以由本机构自行分配,而不需要向因特网的管理机构申请。 全球地址——全球惟一的IP地址,必须向因特网的管理机构申请。 上一页 下一页 返回
190
指明的专用地址 到 到 到 这些地址只能用于一个机构的内部通信,而不能用于和因特网上的主机通信。 专用地址只能用作本地地址而不能用作全球地址。在因特网中的所有路由器对目的地址是专用地址的数据报一律不进行转发。 上一页 下一页 返回
191
专用网与虚拟专用网 专用网——使用转用IP地址的互连网络; 虚拟转用网——指的是在公用网络上建立专用网络的技术。 上一页 下一页 返回
192
用隧道技术实现虚拟专用网 本地地址 全球地址 本地地址 Y 10.2.0.3 125.1.2.3 194.4.5.6 隧道 部门 B
部门 A R2 R1 因特网 使用隧道技术 上一页 下一页 返回
193
用隧道技术实现虚拟专用网 加密的从 X 到 Y 的内部数据报 源地址:125.1.2.3 目的地址:194.4.5.6 外部数据报的数据部分
数据报首部 Y X 隧道 部门 B 部门 A R2 R1 因特网 使用隧道技术 部门 A 部门 B X Y R1 R2 虚拟专用网 VPN
194
内联网和外联网 由部门A和B的内部网络所构成的虚拟专用网VPN 又称为内联网(Intranet),表示部门A和B都是在同一个机构的内部。
一个机构和某些外部机构共同建立的虚拟专用网VPN又称为外联网(Extranet)。 部门 A 部门 B X Y R1 R2 虚拟专用网 VPN 上一页 下一页 返回
195
网络地址转换 网络地址转换NAT: 网络地址转换NAT方法于1994年提出。
需要在专用网连接到因特网的路由器上安装 NAT 软件。装有NAT软件的路由器叫做NAT路由器,它至少有一个有效的外部全球地址IPG。 所有使用本地地址的主机在和外界通信时都要在 NAT 路由器上将其本地地址转换成IPG才能和因特网连接。 上一页 下一页 返回
196
网络地址转换的过程 内部主机X用本地地址IPX 和因特网上主机Y通信所发送的数据报必须经过NAT路由器。
NAT路由器将数据报的源地址IPX 转换成全球地址IPG,但目的地址IPY 保持不变,然后发送到因特网。 NAT 路由器收到主机Y 回的数据报时,知道数据报中的源地址是IPY 而目的地址是IPG。 根据NAT转换表,NAT 路由器将目的地址IPG 转换为IPX,转发给最终的内部主机X。 上一页 下一页 返回
197
小结 在本小节中,我们知道了什么是虚拟专 用网和网络地址转换,了解了它们的功能 及实现方法。 上一页 下一页 返回
198
6.8下一代的网际协议IPv6(IPng) 从计算机本身发展以及从因特网规模和网络传输速率来看,现在 IPv4 已很不适用。其中最主要的问题就是 32 bit 的 IP 地址不够用。 要解决 IP 地址耗尽的问题的措施: 采用无类别编址 CIDR,使IP地址的分配更加合理。 采用网络地址转换 NAT方法以节省全球IP地址。 采用具有更大地址空间的新版本的IP协议IPv6。 上一页 下一页 返回
199
IPv6 的变化 IPv6 所引进的主要变化如下: 更大的地址空间。 扩展的地址层次结构。 灵活的首部格式。 改进的选项。
允许协议继续扩充。 支持即插即用(即自动配置) 支持资源的预分配。 上一页 下一页 返回
200
IPv6 数据报的首部 IPv6 将首部长度变为固定的 40 字节,称为基本首部(base header)。
将不必要的功能取消了,首部的字段数减少到只有 8 个。 取消了首部的检验和字段,加快了路由器处理数据报的速度。 在基本首部的后面允许有零个或多个扩展首部。 所有的扩展首部和数据合起来叫做数据报的有效载荷(payload)或净负荷。 上一页 下一页 返回
201
IPv6 数据报的一般形式 有效载荷 选项 基本 首部 扩展 首部 1 扩展 首部 N … 数 据 部 分 IPv6 数据报 上一页 下一页
数 据 部 分 IPv6 数据报 上一页 下一页 返回
202
IPv6与IPv4数据报首部的对比 有变化 取消 上面是 IPv4 数据报的首部 比特 4 8 16 19 24 31 版 本
4 8 16 19 24 31 版 本 首部长度 服 务 类 型 总 长 度 固 定 部 分 20 字节 标 识 标志 片 偏 移 生 存 时 间 协 议 首 部 检 验 和 IPv4 首部 源 地 址 目 的 地 址 可变 部分 可 选 字 段 (长 度 可 变) 填 充 上面是 IPv4 数据报的首部
203
IPv6数据报的基本首部 31 4 16 版 本 比特 目 的 地 址 源 地 址 下 一 个 首 部 流 标 号 12 通 信 量 类
4 16 版 本 比特 目 的 地 址 源 地 址 下 一 个 首 部 流 标 号 12 通 信 量 类 (128 bit) 有 效 载 荷 长 度 跳 数 限 制 24 扩展首部 / 数据 IPv6 的 基 本 首 部 40 B IPv6 的有 效载 荷
204
IPv6数据报的基本首部 31 4 16 版 本 比特 目 的 地 址 源 地 址 下 一 个 首 部 流 标 号 12 通 信 量 类
4 16 版 本 比特 目 的 地 址 源 地 址 下 一 个 首 部 流 标 号 12 通 信 量 类 (128 bit) 有 效 载 荷 长 度 跳 数 限 制 24 扩展首部 / 数据 IPv6 的 基 本 首 部 40 B IPv6 的有 效载 荷
205
IPv6数据报的基本首部 4 16 31 版 本 比特 目 的 地 址 源 地 址 下 一 个 首 部 流 标 号 12 通 信 量 类
4 16 31 版 本 比特 目 的 地 址 源 地 址 下 一 个 首 部 流 标 号 12 通 信 量 类 (128 bit) 有 效 载 荷 长 度 跳 数 限 制 24 IPv6 的 基 本 首 部 40 B 版本(version)—— 4 bit。它指明了协议的版本,对 IPv6 该字段总是 6。
206
IPv6数据报的基本首部 4 16 31 版 本 比特 目 的 地 址 源 地 址 下 一 个 首 部 流 标 号 12 通 信 量 类
4 16 31 版 本 比特 目 的 地 址 源 地 址 下 一 个 首 部 流 标 号 12 通 信 量 类 (128 bit) 有 效 载 荷 长 度 跳 数 限 制 24 IPv6 的 基 本 首 部 40 B 通信量类(traffic class)—— 8 bit。这是为了区分不同的 IPv6 数据报的类别或优先级。目前正在进行不同的通信量类性能的实验。
207
IPv6数据报的基本首部 4 16 31 版 本 比特 目 的 地 址 源 地 址 下 一 个 首 部 流 标 号 12 通 信 量 类
4 16 31 版 本 比特 目 的 地 址 源 地 址 下 一 个 首 部 流 标 号 12 通 信 量 类 (128 bit) 有 效 载 荷 长 度 跳 数 限 制 24 IPv6 的 基 本 首 部 40 B 流标号(flow label)—— 20 bit。“流”是互联网络上从特定源点到特定终点的一系列数据报,“流”所经过的路径上的路由器都保证指明的服务质量。所有属于同一个流的数据报都具有同样的流标号。
208
IPv6数据报的基本首部 4 16 31 版 本 比特 目 的 地 址 源 地 址 下 一 个 首 部 流 标 号 12 通 信 量 类
4 16 31 版 本 比特 目 的 地 址 源 地 址 下 一 个 首 部 流 标 号 12 通 信 量 类 (128 bit) 有 效 载 荷 长 度 跳 数 限 制 24 IPv6 的 基 本 首 部 40 B 有效载荷长度(payload length)—— 16 bit。它指明 IPv6 数据报除基本首部以外的字节数(所有扩展首部都算在有效载荷之内),其最大值是 64 KB。
209
IPv6数据报的基本首部 比特 4 12 16 24 31 版 本 通 信 量 类 流 标 号 有 效 载 荷 长 度 下 一 个 首 部
4 12 16 24 31 版 本 通 信 量 类 流 标 号 有 效 载 荷 长 度 下 一 个 首 部 跳 数 限 制 IPv6 的 基 本 首 部 40 B 源 地 址 (128 bit) 目 的 地 址 (128 bit) 下一个首部(next header)—— 8 bit。它相当于 IPv4 的协议字段或可选字段。
210
IPv6数据报的基本首部 比特 4 12 16 24 31 版 本 通 信 量 类 流 标 号 有 效 载 荷 长 度 下 一 个 首 部
4 12 16 24 31 版 本 通 信 量 类 流 标 号 有 效 载 荷 长 度 下 一 个 首 部 跳 数 限 制 IPv6 的 基 本 首 部 40 B 源 地 址 (128 bit) 目 的 地 址 (128 bit) 跳数限制(hop limit)—— 8 bit。源站在数据报发出时即设定跳数限制。路由器在转发数据报时将跳数限制字段中的值减1。当跳数限制的值为零时,就要将此数据报丢弃。
211
IPv6数据报的基本首部 比特 4 12 16 24 31 版 本 通 信 量 类 流 标 号 有 效 载 荷 长 度 下 一 个 首 部
4 12 16 24 31 版 本 通 信 量 类 流 标 号 有 效 载 荷 长 度 下 一 个 首 部 跳 数 限 制 IPv6 的 基 本 首 部 40 B 源 地 址 (128 bit) 目 的 地 址 (128 bit) 源地址—— 128 bit。是数据报的发送站的 IP 地址。
212
IPv6数据报的基本首部 比特 4 12 16 24 31 版 本 通 信 量 类 流 标 号 有 效 载 荷 长 度 下 一 个 首 部
4 12 16 24 31 版 本 通 信 量 类 流 标 号 有 效 载 荷 长 度 下 一 个 首 部 跳 数 限 制 IPv6 的 基 本 首 部 40 B 源 地 址 (128 bit) 目 的 地 址 (128 bit) 目的地址——128bit。是数据报的接收站的IP地址。
213
IPv6 的扩展首部 IPv6 将原来 IPv4 首部中选项的功能都放在扩展首部中,并将扩展首部留给路径两端的源站和目的站的主机来处理。
数据报途中经过的路由器都不处理除逐跳选项扩展首部之外的扩展首部 这样就大大提高了路由器的处理效率。 上一页 下一页 返回
214
六种扩展首部 在[RFC 2460]中定义了六种扩展首部: 逐跳选项 路由选择 分片 鉴别 封装安全有效载荷 目的站选项 上一页 下一页
返回
215
IPv6 的扩展首部 无扩展首部 有扩展首部 基本首部 下一个首部 = TCP/UDP 有效载荷 TCP/UDP 首部 和数据
= 路由选择 路由选择首部 下一个首部 = 分片 分片首部 下一个首部 = TCP/UDP TCP/UDP 首部 和数据 (TCP/UDP 报文段) 有效载荷 上一页 下一页 返回
216
IPv6 的地址空间 IPv6 数据报的目的地址可以是以下三种基本类型 地址之一: (1) 单播(unicast)单播就是传统的点对点通信。
(2) 多播(multicast)多播是一点对多点的通信。 (3) 任播(anycast)这是 IPv6 增加的一种类型。任播的目的站是一组计算机,但数据报在交付时只交付给其中的一个,通常是距离最近的一个。 上一页 下一页 返回
217
结点与接口 IPv6 将实现IPv6的主机和路由器均称为结点。 IPv6 地址是分配给结点上面的接口。 一个接口可以有多个单播地址。
一个结点接口的单播地址可用来惟一地标志该结点。 上一页 下一页 返回
218
冒号十六进制记法 每个 16 bit 的值用十六进制值表示,各值之间用冒号分隔。
68E6:8C64:FFFF:FFFF:0:1180:960A:FFFF 零压缩(zero compression),即一连串连续的零可以为一对冒号所取代。 FF05:0:0:0:0:0:0:B3 可以写成:FF05::B3 上一页 下一页 返回
219
点分十进制记法的后缀 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 上一页 下一页 返回
220
地址空间的分配 IPv6 将 128 bit 地址空间分为两大部分。 第一部分是可变长度的类型前缀。
第二部分是地址的其余部分,其长度也是可变的。 类型前缀 地址的其他部分 长度可变 128 bit 上一页 下一页 返回
221
从IPv4向IPv6过渡 向 IPv6 过渡只能采用逐步演进的办法,同时,还必须使新安装的 IPv6 系统能够向后兼容。
双协议栈(dual stack)是指在完全过渡到 IPv6 之前,使一部分主机(或路由器)装有两个协议栈,一个IPv4和一个IPv6。 上一页 下一页 返回
222
双协议栈 IPv4 IPv4/IPv6 双协议栈 IPv6 应用层 应用层 应用层 TCP 或 UDP TCP 或 UDP
数据链路层 物理层 数据链路层 物理层 数据链路层 物理层 和 IPv4 通信 和 IPv6 通信 上一页 下一页 返回
223
双协议栈从IPv4到IPv6的过渡 … 上一页 下一页 返回 双协议栈 IPv6/IPv4 IPv4 网络 双协议栈 IPv6/IPv4
A B C D E F 流标号:X 源地址:A 目的地址:F …… 数据部分 源地址:A 目的地址:F …… 源地址:A 目的地址:F …… 流标号:无 源地址:A 目的地址:F …… 数据部分 … 数据部分 数据部分 IPv4 数据报 IPv6 数据报 IPv6 数据报 上一页 下一页 返回
224
使用隧道技术从IPv4到IPv6过渡 IPv4 网络 IPv6 A B C D E F … IPv4 数据报 IPv4 网络 隧道
双协议栈 IPv6/IPv4 流标号:X 源地址:A 目的地址:F …… 数据部分 IPv6 数据报
225
小结 通过本小节的学习,我们对下一代网 际协议IPV6大体上有了一定的了解,知道 了从IPv4向IPv6过渡的两种方法。 上一页 下一页
返回
226
作业 课本P243 6-03、6-04、6-05、6-07、6-09、 6-14、6-16、6-17、6-18、6-23、
6-24、6-26、6-34、6-35 上一页 下一页 返回
Similar presentations