tcp/ip 基本原理 第三章 网络互连层

96

Click here to load reader

Upload: damian

Post on 25-Jan-2016

114 views

Category:

Documents


2 download

DESCRIPTION

TCP/IP 基本原理 第三章 网络互连层. 本章学习要求 : 掌握: IP v4 、 ICMP 、 IPv6 协议原理及报文格式 掌握:路由器工作原理 掌握: IP 地址分类、掩码、子网与超网、 CIDR 概念 掌握:路由表的构造及各项意义 了解: ICMP 的功能. 3.1 Internet 层的任务与功能. 任务: Internet 层负责在源计算机和目的计算机间传输数据。发送方主机从高层接收数据,然后递交给网络接口层传输到远方节点;接收方节点从网络接口层接收数据,然后递交给高层。 功能: 选定恰当的路由,将数据传到目的节点。 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: TCP/IP 基本原理 第三章  网络互连层

3-1中国科学技术大学 远程教育

TCP/IPTCP/IP 基本原理基本原理

第三章 网络互连层第三章 网络互连层

Page 2: TCP/IP 基本原理 第三章  网络互连层

3-2中国科学技术大学 远程教育

本章学习要求:

掌握: IPv4 、 ICMP 、 IPv6 协议原理及报文格式掌握:路由器工作原理掌握: IP 地址分类、掩码、子网与超网、 CIDR 概念掌握:路由表的构造及各项意义了解: ICMP 的功能

Page 3: TCP/IP 基本原理 第三章  网络互连层

3-3中国科学技术大学 远程教育

3.1 Internet 层的任务与功能

任务: Internet 层负责在源计算机和目的计算机间传输数据。发送方主机从高层接收数据,然后递交给网络接口层传输到远方节点;接收方节点从网络接口层接收数据,然后递交给高层。功能:

选定恰当的路由,将数据传到目的节点。处理传输中出现的错误和分段,并负责分段后的重组。

涉及的协议:工作在该层的协议有 Internet 协议 (IP) 、Internet 报文控制协议 (ICMP) 和 Internet 组管理协议 (IGMP) 。本章只介绍前两个常用协议。

Page 4: TCP/IP 基本原理 第三章  网络互连层

3-4中国科学技术大学 远程教育

Page 5: TCP/IP 基本原理 第三章  网络互连层

3-5中国科学技术大学 远程教育

因特网的通信工作方式传输层从上层应用程序获取数据流并其分成最

大长度为 64KB 的数据报。每个数据报经过一个或者多个同构或者异构网络的传输,其间可能会被分为更小的分段。当所有的分段都到达目的地的时候,由 Internet 层把它们重组为原来的数据报。数据报完整地传到传输层后,被插入传输层进程的输入流中。

所以在 Internet 层,因特网可以被看作一组相互连接的子网或自治系统。将因特网连接在一起的是网络互连协议( IP )。 IP 服务是不可靠的,即它不能保证数据无差错地到达目的端,也不保证顺序到达,由传输层负责恢复各种可能的错误。

Page 6: TCP/IP 基本原理 第三章  网络互连层

3-6中国科学技术大学 远程教育

ARP 协议位于哪一层?

ARP 协议被描述成 Internet 层的协议。但实际上, ARP 协议横跨网络接口层和 Internet 层。 ARP 协议使用广播机制找到目的主机的物理地址。因为大多数路由器并不转发广播分组,所以 ARP 协议的作用仅限于本地网段。

Page 7: TCP/IP 基本原理 第三章  网络互连层

3-7中国科学技术大学 远程教育

3.2 Internet 协议( IPv4 )

3.2.1 引言

IP 是 TCP/IP 协议族中最为核心的协议。

该协议族中所有的其它协议,如 TCP 、 UDP 、 ICMP 和 IGMP 的数据都以 IP 数据报格式传输。

IP 提供不可靠、无连接的数据报传送服务,使得各种各样的物理网络只要能够提供数据报传输,就能够互联。这是因特网在短时间内风靡全球的主要原因。

Page 8: TCP/IP 基本原理 第三章  网络互连层

3-8中国科学技术大学 远程教育

IP 提供的三个重要定义

定义了在整个 TCP/IP 互联网上传输数据所用的基本单元,因此规定了互联网上传输数据的确切格式;

完成路由选择的功能,在网状通路中选择一条传递数据的路径;

包括一组不可靠分组投递思想的规则,这些规则指明了主机和路由器应该如何如何处理分组、如何发出错误信息以及在什么情况下可以放弃分组。

Page 9: TCP/IP 基本原理 第三章  网络互连层

3-9中国科学技术大学 远程教育

3.2.2 IP 地址IP 地址:给每一个连接在 Internet 上的主机分配一个在全世界范围唯一的 32比特长的地址。 IP地址的寻址过程是这样的:先按 IP 地址中的网络号 net-id 把网络找到,再按主机号 host-id 把主机找到。 IP 地址指出了连接到某个网络上的某个计算机。表示方式:一般常用 32bit 的 IP 地址中的每 8 个比特的等效十进制表示 IP 地址,产并且在这些数字之间加上一个点,即点分十进制数。地址 127.11.3.30 表示地址:

10000000 00001011 00000011 00011110 。

Page 10: TCP/IP 基本原理 第三章  网络互连层

3-10中国科学技术大学 远程教育

地址分类: IP 地址分为 A 、 B 、 C 、 D 、 E五类。常用的 A 类、 B 类和 C 类地址都由两个字段组成,即:网络号字段 net-id 。 A 类、 B 类和 C类地址的网络号字段分别为 1 , 2 和 3字节长,在网络号字段的最前面有 1~3bit 的类别比特,其数值规定为 0 、 10 和 110 。主机号字段 host-id 。A 类、 B 类和 C 类地址的主机号字段分别为 3 ,2 和 1字节长。 D 类地址是多播地址, E 类地址预留。

Page 11: TCP/IP 基本原理 第三章  网络互连层

3-11中国科学技术大学 远程教育

IP 地址分类方法

IP 地址类型 0 1 2 3 4 8 16 24 31

A类 0

网络号 (7位 )

主机号 (32 位 )

B类 1 0 网络号 (14 位 ) 主机号 (16 位 )

C类 1 1 0 网络号 (21 位 ) 主机号 (8 位 )

D类 1 1 1 0 组播地址

E类 1 1 1 1 保留未使用

Page 12: TCP/IP 基本原理 第三章  网络互连层

3-12中国科学技术大学 远程教育

A 类地址最高位为 0 ,其后是 7 位网络号, 24 位主机号, A 类地址有 126 个网络,用于少数主机数量众多的大型网,主机数量可达 224-2=16777214 。B 类地址最高 2 位为 10 ,其后是 14 位网络号, 16 位主机号, B 类地址有 16384 个网络,用于中等规模网网络,主机数量可达 216-2=65534 。B 类地址最高 3 位为 110 ,其后是 21 位网络号,8 位主机号, C 类地址有 2097152 个网络,用于小型网网络,主机数量可达 28-2=254 。D 类地址最高 4 位为 1110 ,为组播地址。它用一个地址代表一组主机。主机组是由 0 个或多个用同一 D 类 IP 目的地址表示的主机集合。

Page 13: TCP/IP 基本原理 第三章  网络互连层

3-13中国科学技术大学 远程教育

IPv4 地址指标

网络类别

最大网络数

地址范围

每个网络中的最大主机数

A 126 1.0.0.1~126.255.255.254 16,777,214

B 16,382 128.0.0.1~191.255.255.254 65,534

C 2,097,150 192.0.0.1~223.255.255.254 254

Page 14: TCP/IP 基本原理 第三章  网络互连层

3-14中国科学技术大学 远程教育

特殊的 IP 地址

网络号 主机号 地址类型 用途

全 0 全 0 本机 启动时使用

网络号 全 0 网络 标识一个网络

网络号 全 1 直接广播 在特定网上广播

全 1 全 1 有限广播 在本地网上广播

127 任意 回绕地址 测试

Page 15: TCP/IP 基本原理 第三章  网络互连层

3-15中国科学技术大学 远程教育

内联网络的 IP 地址

企业联网所使用的 IP 地址必须经过专门申请才能获得,不能随意使用。如果企业局域网不与外部网络连通,可使用内联网的专用 IP 地址。它们是:

10.0.0.0~10.255.255.255 (1 个 A 类地址 )

172.16.0.0~172.31.255.255 ( 16 个 B 类地址 )

192.168.0.0~192.168.255.255 (256 个 C 类地址 )

Page 16: TCP/IP 基本原理 第三章  网络互连层

3-16中国科学技术大学 远程教育

3.2.3 子网与子网掩码

子网 (subnet) : IP 地址的实际应用中,一个 A 类网可以有 16777214台主机,一个 B 类网可以有 65534台主机,一个 C 类网可以有 254台。事实上,很少碰上这么大的网, 可以对它们进一步分层,将一个网络分成多个小的子网。可以将 IP 地址中的主机地址的高几位拿出来作为子网地址。这样可以充分利用紧缺的 IP 地址资源。我们以一个 C 类网为例来进行子网划分:

Page 17: TCP/IP 基本原理 第三章  网络互连层

3-17中国科学技术大学 远程教育

子网划分实例:设企业经申请获得一个 C 类网 IP 地址:210.8.2.0 ,但企业建有两个网络 LAN A 、 LAN B ,经路由器互联为一体。且 A 网联有 10台主机, B 网联有8台主机。 我们可以将 IP 地址主机号的高 2 位作为子网号: A 网的子网号为 01 , B 网的子网号为 10 。则A 、 B 网络的网络号为:

子网 A 子网 B

网络号 210.8.2.64 网络号 210.8.2.128

1# 机地址 210.8.2.65 1# 机地址 210.8.2.129

2# 机地址 210.8.2.66 2# 机地址 210.8.2.130

… … … …

10# 机地址

210.8.2.74 8# 机地址 210.8.2.136

子网掩码 255.255.255.192 子网掩码 255.255.255.192

Page 18: TCP/IP 基本原理 第三章  网络互连层

3-18中国科学技术大学 远程教育

子网掩码 (subnet mask)

子网掩码的作用:对于网络管理员来说,由于参与了子网的划分与主机 IP 地址的配置,他会知道网内任何一台主机 IP 地址中的网络号和主机号。比如说,上例中子网 A 中 1# 主机的 IP地址为: 210.8.2.65 ,用二进制数字表示为:

因而网管员知道实际的网络号为 26 位,实际的主机号为 6 位。但对于计算机来说,并不知道网管员是如何划分子网的。这就要依靠每个网络的子网掩码。通过子网掩码与一个 IP 地址的“逻辑与”,计算机就可以将一个 IP 地址的网络地址和主机地址分别提取出来,从而判断该 IP 地址所在的网络是本地子网还是外部子网。

11010010 00001000 00000010 10 000001

←─────── 网络地址 ────→ ←主机号

Page 19: TCP/IP 基本原理 第三章  网络互连层

3-19中国科学技术大学 远程教育

子网掩码的构成:子网掩码是一个 32 位数字,形式上也是点分十进制数,与 IP 地址一样。构成方法是:对于一个网络来说,我们将该网个主机的 IP 地址中实际网络地址比特用“ 1”填写,而实际主机地址比特用“ 0”填写,所得的 32 位二进制数就是子网掩码。仍然以上例来说明:

IP 地址: 11010010 00001000 00000010 10000001

AND 子网掩码: 11111111 11111111 11111111 11000000

子网地址: 11010010 00001000 00000010 10000000

如何使用子网掩码:将本网络的掩码与 IP 地址作一个逻辑说与的操作,就将 IP 地址的网络地址提取了出来,从而判断该主机是否位于本地子网;将掩码的反码与 IP 地址作一个逻辑于操作,可以将主机 IP号中的主机地址提取出来。

Page 20: TCP/IP 基本原理 第三章  网络互连层

3-20中国科学技术大学 远程教育

标准网络的掩码:如果网络没有作进一步的子网划分,是标准的 A 类或 B 类或 C 类网,则其子网掩码就非常容易构造:

标准网络的子网掩码类 子网掩码 说明A 255.0.0.0 高 8 位为网络地址,置 1

B 255.255.0.0 高 16 位为网络地址,置1

C 255.255.255.0 高 24 位为网络地址,置1

Page 21: TCP/IP 基本原理 第三章  网络互连层

3-21中国科学技术大学 远程教育

子网掩码的作用:确定目的主机是本地的还是远程的。主机中的 IP逻辑遵循以下准则:

如果目的主机是本地的,在 ARP 协议的配合下传输分组;如果目的主机是远程的,在 ARP 的配合下将分组传给默认网关;如果分组是发给远程主机,但是未配置默认网关,就要丢弃该分组。

Page 22: TCP/IP 基本原理 第三章  网络互连层

3-22中国科学技术大学 远程教育

IP 主机将分组传递给本地目的主机的步骤

分组由更高层的协议传递给 IP 协议,其中包含着目的主机 IP 地址。 IP 协议比较目的主机和本地主机的网络 ID ,确定它们的数值是相同的。由于目的主机网络 ID 与本地主机的网络 ID 相同,该分组是发送给本地网络中的一台主机的。使用 ARP 广播机制从目的主机处获得它的以太网地址。分组传递给数据链路层,以传递给目的主机。

Page 23: TCP/IP 基本原理 第三章  网络互连层

3-23中国科学技术大学 远程教育

IP 主机将分组传递给远程主机的步骤

分组由更高层的协议传递给 IP 协议,其中包含着目的主机 IP 地址。 IP 协议比较目的主机和本地主机的网络 ID ,确定它们的数值是不同的。由于目的主机网络 ID 与本地主机网络的 ID 不同,该分组是发送给远程网络中的一台主机。IP 协议检查路由表中的表项,而没有发现任何相关内容,所以要用到默认路由。使用 ARP 广播机制与本地主机的默认网关交换 IP 和以太网地址信息。默认网关是在默认路由表中查出的。使用数据链路层协议将分组传递给默认网关,从那里分组进人路由器网络。路由器网络完成分组的传递。最后一个路由器拥有一条抵达目的主机的本地路由,可使用 ARP 协议把分组传递给目的主机。

Page 24: TCP/IP 基本原理 第三章  网络互连层

3-24中国科学技术大学 远程教育

子网划分的规律

假设将一个网络的主机号拿出 n 位作为子网号。则:可将原来的网络划分为 2n 个子网;在使用连续子网掩码时,如果 n<8 ,子网地址部分对应的掩码为十进制数 28-28-n ;每一个子网的子网地址字节都能够被 28-n 整除。

Page 25: TCP/IP 基本原理 第三章  网络互连层

3-25中国科学技术大学 远程教育

3.2.4 超网与 CIDR

超网 (supernet) :将多个小的网络地址合并为一个大的网络地址。超网同样采用掩码方式来识别,不过是将部分网络号的最低几位用作主机号。超网实例:某大学的 IP 地址范围是由 16 个 C 类地址聚集而成: IP 地址范围: 210.8.96.1~210.8.111.254 ,将它们的 IP 地址中的网络号的低 4 位作为主机号,就形成了一个超网:

IP 地址范围: 210.8.96.1~210.8.111.254 超 网 掩 码: 255.255.240.0 ( 将网络号的低 4 位作为主机

号 )

广 播 地 址: 210.8.111.255

这样,原本不在同一个网络,分散在 16 个网络中的地址,就归纳在了同一个超网中了。

Page 26: TCP/IP 基本原理 第三章  网络互连层

3-26中国科学技术大学 远程教育

子网编址的发明,节省了大量闲置的 IP 地址空间。

超网编址的出现,解决了大、中型网络紧缺的矛盾。

Page 27: TCP/IP 基本原理 第三章  网络互连层

3-27中国科学技术大学 远程教育

无类域间路由选择 CIDR

CIDR产生的原因:随着网络应用的普及,世界上网络的安装量迅猛增加,使得边缘路由器的路由表中表项暴涨,严重降低路由器的工作效率。

在人们提出的解决方案中, CIDR(Classless Inter-domain Routing ,无类域间路由选择 ) 是一个较好的可行办法。它使得路由表的项目可以大大减少,提高路由器工作效率。CIDR 原理: CIDR 是一种 IP编址方案,它是在分类( A 、 B 、C 、 D 、 E 类)编址方案以后开发出来的。 CIDR编址仍使用传统的点分十进制数来表示 IP 地址,但后面紧接一个斜线和数字,来规定 IP 地址中网络号的位数。比如:

192.168.3.15/26

202.10.68.52/19

斜线后面的数字表示 IP 地址的网络号使用的位数。

Page 28: TCP/IP 基本原理 第三章  网络互连层

3-28中国科学技术大学 远程教育

CIDR 的优点:按照 CIDR策略,将 C 类地址划分成 16 个区,每个区有 232-3/16=225 ,约 3200万个地址,也将世界划分成 4 个区,每个区分配一块连续的 C 类地址,见下表:

好处很明显。比如,亚洲以外的路由器发送目的地为 202.xxx.yyy.zzz 或 203.xxx.yyy.zzz ,只需要将它送到亚洲网关路由器就可以了。边缘路由器的路由表长度大大减短。路由器工作效率大大提高。

CIDR 的 IP 地址划分地区 分配的 C 类地址 掩码 地址前缀欧洲 194.0.0.0~195.255.255.255 254.0.0.0 194.0.0.0

北美 198.0.0.0~199.255.255.255 254.0.0.0 198.0.0.0

中南美 200.0.0.0~201.255.255.255 254.0.0.0 200.0.0.0

亚太 202.0.0.0~203.255.255.255 254.0.0.0 202.0.0.0

保留 其它地址

Page 29: TCP/IP 基本原理 第三章  网络互连层

3-29中国科学技术大学 远程教育

CIDR 实例: 设南京大学的 IP 地址范围为: 202.24.0.0~202.24.7.255 ,掩码为 255.255.248.0 ;北京大学的 IP 地址范围为: 202.24.16.0 ~ 202.24.31.255 ,掩码为 255.255.240.0 ;兰州大学的 IP 地址范围为 202.24.8.0~202.24.11.25 ,掩码为 255.255.252.0 。于是,亚洲、太平洋地区内的路由器的路由选择表都增加了 3 个表项,每个表项包括 1 个分配的最低地址号(也称基地址),和 1 个掩码,列表于下:

设一个分组到达此路由器,其目的地址为 202.24.17.4 ,协议首先将它与南京大学的掩码做“与”操作,结果与南京大学的基地址不匹配,接着再与北京大学的掩码做“与”操作,结果与北京大学的基地址匹配,说明该分组应该发送到北京大学的路由器。采用 CIDR ,原来的A 、 B 、 C 、 D 、 E 类网络分类已无必要,所以叫“无类域间路由选择。

基地址 掩码南京大学 1100101

000011000 0000000

000000000 11111111 11111111 11111000 00000000

北京大学 11001010

00011000 00010000

00000000 11111111 11111111 11110000 00000000

兰州大学 11001010

00011000 00001000

00000000 11111111 11111111 11111100 00000000

Page 30: TCP/IP 基本原理 第三章  网络互连层

3-30中国科学技术大学 远程教育

3.3 IP 数据报

IP 的主要功能是在互联网上将数据以数据报的形式从一台主机传到另一台主机;中间可能要穿越若干个物理网络。在不同的网络之间通过路由器来传递。

Page 31: TCP/IP 基本原理 第三章  网络互连层

3-31中国科学技术大学 远程教育

3.3.1 IP 数据报格式

0 4 8 16 20 31

版本报头长度 服务类型 总长度标识 DF MF 分片位移

生存时间 协议号 报头校验和源 IP 地址

目的 IP 地址选项 +填充

数据……

Page 32: TCP/IP 基本原理 第三章  网络互连层

3-32中国科学技术大学 远程教育

IP 数据报头各字段意义版本 (4 位 ) :本数据报所属的 IP版本号,对于 IP v4 ,此字段值为4 。报头长度 (4 位 ) :本数据报头(包括选项)的长度,长度以 32比特为单位。服务类型 (8 位 ) : 3 位优先权 ,4 位 TOS( 最小时延 , 最大吞吐量 , 最高可靠性 , 最小费用 , 全 0 为一般服务 ),1 位未用但必须置 0 。总长度 (16 位 ) :数据报的长度,以字节为单位 , 最大为 65535字节 ,但它在传送时可能会对它分片 ,而主机也会对数据报长度加以限制。标识 (16 位 ) :唯一地标识每一个数据报,主机每发一个数据报,该值加 1 。DF(1 位 ) : =1 ,表示数据报禁止分片。MF(1 位 ) : =1 ,表示不是最后一个分片; =0 ,表示最后一个分片。分片偏移 (13 位 ) :分片在原始报文中的偏移量

Page 33: TCP/IP 基本原理 第三章  网络互连层

3-33中国科学技术大学 远程教育

生存时间 (Time to Live,8 位 ) :数据报可经过的最多路由器数 , 每经过一台路由器 , 该值减 1, 当该值为 0 时 , 数据报被丢弃。协议 (8 位 ) :指明接收数据报数据部分的上层协议。报头检验和 (16 位 ) :根据报头计算的检验和 , 不对数据部分作检验。源 IP 地址 (32 位 ) :数据报源主机 IP 地址。目的 IP 地址 (32 位 ) :数据报目的主机 IP 地址。选项的组成:选项码、长度、数据项

选项码• 自由源路径• 严格源路径• 记录路径• Internet 时戳• 选项表结束

Page 34: TCP/IP 基本原理 第三章  网络互连层

3-34中国科学技术大学 远程教育

数据报头的 C 描述struct iphdr {

BYTE versionihl; BYTE tos; WORD tot_len; WORD id; WORD frag_off; BYTE ttl; BYTE protocol; WORD check; DWORD saddr; DWORD daddr; /* Put options here. */ };

Page 35: TCP/IP 基本原理 第三章  网络互连层

3-35中国科学技术大学 远程教育

3.3.2 报头校验方法

IP 协议校验编码:设校验和初值为 0 ,然后对数据每16 位求异或,结果取反,便得校验和。IP 协议校验解码:校验时将数据(含校验和)按同样的算法求和,结果为 0则数据正确,不为 0 表示通讯出错,需要丢弃该数据包。

Page 36: TCP/IP 基本原理 第三章  网络互连层

3-36中国科学技术大学 远程教育

IP校验和编码与解码程序typedef unsigned int _u16; typedef unsigned long _u32;_u16 checksum( _u16 xdata *dp, _u16 length) { _u32 sum = 0;

_u16 len = length >> 1; while(len-- > 0) sum += *dp++; if (length & 1) sum += (*dp & 0xFF00); sum = (sum >> 16) + (sum & 0xFFFF); sum += (sum >> 16); len = sum & 0xFFFF; return (~len);

}所有 TCP/IP 协议校验和计算和数据包的校验均由上面的

子程序完成。不过要注意的是 TCP 和 UDP 的校验需要加上伪头标,不然得不到正确的结果,伪头标违背了协议的分层原则,但这种违背是出于实际需要的,也正体现了 TCP/IP 协议设计的灵活性

Page 37: TCP/IP 基本原理 第三章  网络互连层

3-37中国科学技术大学 远程教育

3.3.3 分片与重组

IP 分片 (Fragmentation) : IP 数据报封装在帧中传输时,大小超过节点路由器最大传输单位 MTU(Maximum Transmission Unit) 时,需要将数据帧划分成更小的分片才能通该过路由器传输到下一节点。比如,在以太网( Ethernet )环境中可传输最大 IP 报文大小( MTU )为 1518字节。如果要传输的报文大小超过1518字节,则需要分片之后进行传输。

分片影响的报头字段:包括 MF标志、分片位移、报头长、总长度及报头校验和。个分片报头的这些字段要重新计算,其他字段从原报头复制即可。分片后的数据报在转发过程中可能需要进一步分成更小的片段。

Page 38: TCP/IP 基本原理 第三章  网络互连层

3-38中国科学技术大学 远程教育

数据报分片示意图

路由器在对数据报分片时,把报头中的大部分字段都拷贝到每个分片的报头中,其主要目的是为了让目的主机知道每个到达的数据片段属于哪个数据报。目的主机通过片段的片段的标识字段、源 IP 地址、目的 IP地址来识别数据报。

Page 39: TCP/IP 基本原理 第三章  网络互连层

3-39中国科学技术大学 远程教育

重组:数据报的重组有两种方法:一是在通过一个网络后就将分片的数据报重组,二是在到达目的主机后重组。 IP 重组采用的后一种方法。这种方法允许对每一数据片段独立地进行路由选择,而且不要求路由器存储和重组分片。数据报头中的标识、标志和分片位移字段用做控制分片和重组。目的主机要缓存数据片段,等分片到齐后进行重组。如果某些片段在传输中丢失,协议规定了缓存片段的最长时间,它从数据报最先到达的分片开始计时,若逾期分片未到齐,则丢弃已经到达的分片。

Page 40: TCP/IP 基本原理 第三章  网络互连层

3-40中国科学技术大学 远程教育

3.3.4 IP 数据报选项选项字段主要用于网络测试和调试。 IP 选项字段的长度是可变的,长度依赖于所选的项。选项有两种格式:

1: 单独一个选项码字节2: 一个选项码字节,一个选项长度字节和实际选项数据字节

选项码的构成:

拷贝标志:控制路由器分片时对选项的处理:置 1 ,说明该选项应该拷贝到所有片段中去;若置 0 ,则只拷贝到第一个片段中去。选项类和选项号指明选项的类型,并给定该类中的一个特殊选项。下表显示了选项类如何分配。

0 1 2 3 7

拷贝 选项类 选项号

选项类 意义0 数据报或网络控制1 保留2 排错或度量3 保留选项号

Page 41: TCP/IP 基本原理 第三章  网络互连层

3-41中国科学技术大学 远程教育

IP 选项列表选项类 选项号 长度 描述

0 0 - 选项表结束。只占一个字节,没有长度字节0 1 - 无操作。只占一个字节,没有长度字节

0 2 11 安全,用于传送安全, Compartmentation ,用户组( TCC )和 DOD 规则兼容的处理限制码

0 3 可变 宽松源地址路由,使用源地址提供的信息进行路由0 7 可变 记录路由,用于跟踪数据报采用的路由0 8 4 流 ID ,用于传送流标记0 9 可变 严格源地址路由,使用源地址提供的信息进行路由2 4 可变 Internet 时间戳

Page 42: TCP/IP 基本原理 第三章  网络互连层

3-42中国科学技术大学 远程教育

3.4 IP 数据报的路由选择

3.4.1 直接传送与间接传送

路由 (Routing) :是指选择一条路径发送分组的过程。路由器 (Router)则是指做这种工作的计算机。直接传送 (direct delivery) :指在一个物理网络上,数据报从一台计算机直接传送到另一台计算机。仅当两台计算机同时连到同一底层物理传输系统 (例如以太网 ) 时,才能进行直接传送。直接传送方法:直接传送不设计路由器。发送方将 IP 数据报封装在物理帧中,将目的 IP 地址和一个物理硬件地址绑定在一起,然后将产生的帧直接传送到目的站点。判断两台计算机位于同一物理网的方法: IP 地址分为网络地址和主机地址,如果两台计算机的网络地址相同,就认为它们位于同一个物理网络中。

Page 43: TCP/IP 基本原理 第三章  网络互连层

3-43中国科学技术大学 远程教育

间接传送 (indirect delivery) :当源计算机和目的计算机不在同一个底层物理网时,数据报必须经过路由器转发,才能传送到目的计算机上。间接传送方法:发方计算机通过网络将数据报封装成帧直接传送到直连的路由器,该路由器接到该帧后从中取出数据报,在通往目的主机的路径上选择下一个路由器,然后又封装成帧通过下一个物理网络传送到下一个路由器。如此接力转发到与目的网络相连的最后一个路由器,由它将数据报在目的网络中直接传送到目的主机。

Page 44: TCP/IP 基本原理 第三章  网络互连层

3-44中国科学技术大学 远程教育

3.4.2 IP 路由表

每台主机或路由器上都有一张路由表,该表存储各个目的站点以及如何到达目的站点的信息。主机或路由器根据自己的路由表转发数据报。IP 路由表包含多个 (N , R) 信息对,其中 N 是目的网络的IP 地址, R 是到目的网络 N 的路径上的“下一个”路由器的 IP 地址。由于路由器中的路由表只指定了到达目的网络的路径上的一步,因而它并不知道到目的网络的完整路径。在路由器 M 的路由表中列出的所有路由器都必须在与 M直接相连的网络上。当数据报准备离开M 时,协议找到目的IP 地址,并抽取出其中的网络号,然后根据路由表选取一个可以之间到达的路由器将报文转发过去。

Page 45: TCP/IP 基本原理 第三章  网络互连层

3-45中国科学技术大学 远程教育

网络40.0.0.0网络40.0.0.0

网络10.0.0.0网络10.0.0.0

网络20.0.0.0网络20.0.0.0

网络30.0.0.0网络30.0.0.0Q R S

10.0.0.5←

↑20.0.0.5

↑20.0.0.6

↑30.0.0.6

↑30.0.0.7

30.0.0.7→

路由器 R 的路由表目的主机网络地址 路由 路径长度 ( 跳步数 )

20.0.0.0 直接传送 0

30.0.0.0 直接传送 0

10.0.0.0 20.0.0.5 1

40.0.0.0 30.0.0.7 1

Page 46: TCP/IP 基本原理 第三章  网络互连层

3-46中国科学技术大学 远程教育

3.4.3 IP 路由算法

从数据报中抽取目的 IP 地址 D ,计算出它的网络地址 NIF (N 与任何直连网络地址匹配 )

{ 找到 D 的物理地址,封装成帧,从该网直接传送数据报到 D}ELSE IF ( 路由表中包含了一个到 D 的路由 )

{ 将数据报转发到指定的下一个路由器 }ELSE IF ( 路由表中包含了一个到 N 的路由 )

{ 将数据报转发到指定的下一个路由器 }ELSE IF ( 表中包含了一个默认路由 )

{ 将数据报转发到默认的路由器 }ELSE

{ 宣布出错 }ENDIF

Page 47: TCP/IP 基本原理 第三章  网络互连层

3-47中国科学技术大学 远程教育

目的主机收到 IP 数据报后,判断数据报的目的地址是否与自己的 IP 地址相符,若一致,则接收下来并传给高层软件处理;若不匹配,就丢弃该错投的数据报。路由器收到数据报后,要判断它的目的地址是否是自己的 IP 地址,若一致,则交给路由器的高层协议处理,若不匹配,则要根据路由表继续转发该数据报。

Page 48: TCP/IP 基本原理 第三章  网络互连层

3-48中国科学技术大学 远程教育

3.4.4 如何阅读路由表 某路由器的路由表如下:==============================================================Network Destination Netmask Gateway Interface Metric

0.0.0.0 0.0.0.0 192.168.123.254 192.168.123.68 1 缺省路由 127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1 本地环路 192.168.123.0 255.255.255.0 192.168.123.68 192.168.123.68 1 直连网络 192.168.123.68 255.255.255.255 127.0.0.1 127.0.0.1 1 给自己的 192.168.123.255 255.255.255.255 192.168.123.68 192.168.123.68 1 本地广播 224.0.0.0 224.0.0.0 192.168.123.68 192.168.123.68 1 组播 255.255.255.255 255.255.255.255 192.168.123.68 192.168.123.68 1 全局广播 ============================================================= 原理:通过目标 IP 地址和网络掩码,可计算出目标的网络号。如果求出的网

络号与表中的网络目标 IP 一致,就找到了一条路由。然后通过表中同一记录指定的路由器接口 (Interface) 地址将数据发送到 Gateway字段列出的地址上去。

路由表是倒着读的(由底往上)。

Page 49: TCP/IP 基本原理 第三章  网络互连层

3-49中国科学技术大学 远程教育

其中Network destination :目的网段 mask :子网掩码 interface :到达该目的地的本路由器的出口 ip

gateway :下一跳路由器入口的 IP ,路由器通过 interface 和gateway 定义到下一个路由器的链路,通常情况下, interface和 gateway 是同一网段。 metric :跳数,该条路由记录的质量,一般情况下,如果有多条到达相同目的地的路由记录,路由器会采用 metric值小的那条路由。

第一条:缺省路由。当一个数据包的目的网段不在路由表记录中,路由器把数据包发送到那里。缺省路由的网关是由连接的 default gateway决定的。该路由记录的意思是:当收到数据包的目的网段不在路由记录中,将该数据包通过 192.168.123.68 接口发送到192.168.123.254 路由器。这样数据包就可以交付给下一个路由器处理。该路由记录的跳数 为 1 。

Page 50: TCP/IP 基本原理 第三章  网络互连层

3-50中国科学技术大学 远程教育

第二条 :本地环路: 127.0.0.0 这个网段内所有地址都指向自己机器,如果收到这样一个数据,应该发向本机。该路由记录的跳数 1 。第三条:直联网段的路由记录:当路由器收到发往直联网段的数据包时该如何处理,这种情况,路由记录的 interface 和 gateway 是同一个。当收到一个数据包的目的网段是 192.168.123.0 时,将该数据包通过 192.168.123.68 这个接口直接发送出去,因为这个端口直接连接着 192.168.123.0 这个网段。该路由记录的跳数 1 。第四条:本地主机路由:当路由器收到发送给自己的数据包时将如何处理。当收到一个数据包的目的网段是 192.168.123.68时,将该数据包收下,因为这个数据包是发送给路由器自己的,该路由记录的跳数 1 。第五条 :本地广播路由:当路由器收到发送给直联网段的本地广播时如何处理。当收到广播数据包的目的网段是 192.168.123.255 时,将该数据从 192.168.123.68 接口以广播的形势发送出去,该路由记录的跳数 1 。

Page 51: TCP/IP 基本原理 第三章  网络互连层

3-51中国科学技术大学 远程教育

第六条:组播路由:当路由器收到一个组播数据包时该如何处理。当收到组播数据包时,将该数据从 192.168.123.68 接口以组播的形势发送出去,该路由记录的跳数 1 。第七条 :广播路由:当路由器收到一个绝对广播时该如何处理。当收到绝对广播数据包时,将该数据包丢弃掉

Page 52: TCP/IP 基本原理 第三章  网络互连层

3-52中国科学技术大学 远程教育

3.5 Internet 控制报文协议 (ICMP)

3.5.1 ICMP 简介ICMP 的全称是 Internet Control Message Protocol (网

间报文控制协议):它是一个工作在主机和路由器之间的消息控制和差错报告协议。它可以使互联网中的路由器或主机报告差错或提供有关意外情况的信息。

在 IP 网络这样的传输系统中,网络层设备自动地完成寻径和报文传输工作,无需源主机的参与。在传输过程中,可能发生各种错误,而 IP 协议本身并没有差错控制的内在机制。为了减少分组的丢失,就要使用 ICMP 。 ICMP 允许主机或路由器报告差错情况和提供有关异常情况的报告。但 ICMP 不是高层协议,它仍是 IP 层中的协议。 ICMP 报文作为 IP 数据报的数据部分,加上数据报的首部,组成 IP 数据报发送出去。

Page 53: TCP/IP 基本原理 第三章  网络互连层

3-53中国科学技术大学 远程教育

3.5.2 ICMP 的功能

主机探测

路由维护

路由选择

流量控制

Page 54: TCP/IP 基本原理 第三章  网络互连层

3-54中国科学技术大学 远程教育

主机探测

使用一个 ICMPECHO 数据包来探测主机地址是否存活(当然在主机没有被配置为过滤 ICMP形式),通过简单的发送一个 ICMP ECHO (Type 8) 数据包到目标主机,如果 ICMP ECHO Reply(type0) 数据包接收到,说明主机是存活状态。如果没有就可以初步判断主机没有在线或者使用了某些过滤设备过滤了 ICMP 的 REPLY 。这种机制就是我们通常所用的 ping 命令来检测目标主机是否可以 ping到。 若要形成一个回送响应消息,应该将源和目的地址交换,将类型代码更改为 0 ,重新计算机校验码。 如果网关在处理数据报时发现生存周期域为零,此数据报必须抛弃,然后通知源主机。如果主机在组装分段的数据报时因为丢失段未能在规定时间内组装数据, 此数据报必须抛弃。网关发送超时信息。

Page 55: TCP/IP 基本原理 第三章  网络互连层

3-55中国科学技术大学 远程教育

路由维护

计算机初始化时,路由表通常只包含几个项。其中的一个项指定默认网关。如果数据报目标 IP 地址在路由表中没有较好的匹配,则它被发送到默认网关。但是,因为路由器共享有关网络拓扑的信息,因此默认网关可能知道到给定地址的更好路由。在这种情况下,当收到可采取更佳路径的数据报时,此路由器通常就会转发数据报。然后,它使用 ICMP Redirect 消息向发送者建议一条更好的路由。这些消息可以为一个主机、子网或整个网络指定重定向。当计算机接收到 ICMP 重定向时,就会执行有效性检查,确保它是否来自当前路由的第一个跃点网关,以及此网关是否在直接连接的网络上。如果是,则将一个主机路由添加到该目标 IP 地址的路由表中。如果 ICMP 重定向不是来自当前路由的第一个跃点网关,或者该网关不在直接连接的网络上,则忽略 ICMP 重定向。

Page 56: TCP/IP 基本原理 第三章  网络互连层

3-56中国科学技术大学 远程教育

路由选择

假设 Router1 现在有下面所给的六个表项的路由表,分组目的地址为201.66.43.33 ,看看路由表,除了缺省路由外,这并不能匹配任何路由。静态路由将其通过路由器 201.66.39.254 发送 (trip 1) ,但是,该路由器知道所有发向子网 201.66.43.0 的分组应该通过 201.66.39.253 ,因此,它把分组转发到适当的路由器 (trip 2) 。但是如果主机直接把分组发到 201.66.39.253 就会提高效率 (trip 3) 。

目的 掩码 网关 标志 接口

127.0.0.1 255.255.255.255 127.0.0.1 HU lo0

201.66.37.0 255.255.255.0 201.66.37.74 U eth0

201.66.39.0 255.255.255.0 201.66.39.21 U eth1

default 0.0.0.0 201.66.39.254 UG eth1

Page 57: TCP/IP 基本原理 第三章  网络互连层

3-57中国科学技术大学 远程教育

因为路由器把分组从同一接口发回了分组,所以它知道有更好的路由,路由器可以通过 ICMP 重定向指示主机使用新的路由。虽然路由器知道所有发向 201.66.43.0 子网的分组应该通过 201.66.39.253 ,它通常只发送特定的主机的 ICMP 重定向(此例中是 201.66.43.33 )。主机将在路由表中创建一个新的表项:

Page 58: TCP/IP 基本原理 第三章  网络互连层

3-58中国科学技术大学 远程教育

目的 掩码 网关 标志 接口

127.0.0.1 255.255.255.255 127.0.0.1 HU lo0

201.66.37.0 255.255.255.0 201.66.37.74 U eth0

201.66.39.0 255.255.255.0 201.66.39.21 U eth1

default 0.0.0.0 201.66.39.254 UG eth1

201.66.43.33 255.255.255.255 201.66.39.253 UGHD eth1

表中标志:• U :表示“激活”;• G :表示此项将分组转向外部网关;• H :通过网关到达特定主机的路由;• D :由 ICMP 重定向创建的路由。

Page 59: TCP/IP 基本原理 第三章  网络互连层

3-59中国科学技术大学 远程教育

流量控制

当 TCP/IP 主机发送数据到另一主机时,如果速度达到路由器或者链路的饱和状态,路由器发出一个 ICMP源抑制消息。也就是说,一个路由器临时用光了缓冲区,因为必须丢弃后来的数据包,因此在丢弃一个数据包时,路由器就会向创建该数据包的主机发送一个源抑制报文,当一台主机收到源抑制报文,就需要降低传送速度。

Page 60: TCP/IP 基本原理 第三章  网络互连层

3-60中国科学技术大学 远程教育

路由器的工作原理如果网络阻塞,包在路由器中停滞, TTL 至少减 1 或更多。要是它降到 0 的话,包就会被抛弃。如果对于下一网络来说包太大的话, IP 将它分割成若干个小包。如果包被分解, IP 为每个新小包制造一个新头,其中包括:一个标志,用来显示其它小包在其后;一个小包 ID ,用来确定所有小包是一起的;一个小包偏移,用来告诉接收机怎么重组它们。IP 计算一个新的检验和。 IP 获取一个路由的目标硬件地址。 IP 转发包。 在下一主机,包被发送到 TCP 或 UDP 。每个路由器都要重复该过程。直到包到达最终目的地。当包到达最终目的地后, IP 将小包组装成原来的包。

Page 61: TCP/IP 基本原理 第三章  网络互连层

3-61中国科学技术大学 远程教育

3.5.3 ICMP 报文

ICMP 报文为两级封装, ICMP 报文放在 IP 数据报的数据部分,IP 数据报则放在帧的数据中进行网络传输 ( 如下图所示 ) 。 ICMP 报文与其他普通报文一样,具有相同的路由选择,并没有特殊的优先权和增加可靠性。

Page 62: TCP/IP 基本原理 第三章  网络互连层

3-62中国科学技术大学 远程教育

ICMP 报文格式

类型 代码 校验和未使用

Internet 报头 + 原始数据报的前 64 位

ICMP 报文分为头标和数据区两大部分,其中头标包含三个字段:•一个长度为 8bit 的类型字段,用来标识报文,可以有 15 个不同的值;•一个长度为 8bit 的代码字段提供有关报文类型的进一步信息;•一个长度为 16bit 的校验和字段。检验和字段只覆盖 ICMP 报文。使用的算法与 IP首部检验和算法相同。 ICMP 的检验和是必需的。

ICMP 报文的数据区包含引起错误的数据报报头及该数据报前 64bit 的数据,提供这些信息的目的在于帮助源主机确定出错的数据报。

Page 63: TCP/IP 基本原理 第三章  网络互连层

3-63中国科学技术大学 远程教育

ICMP 类型字段定义了报文的格式及意义:类型字段

代码

ICMP 报文类型 类型字段

代码

ICMP 报文类型

0 回送应答 (Ping 应答 )

3

7 目的主机不认识

3

目的地不可达 8 源主机被隔离 ( 作废 )

0 网络不可达 9 目的网络被强制禁止

1 主机不可达 10 目的主机被强制禁止2 协议不可达 11 服务类为 TOS ,网络不可达

3 端口不可达 12 服务类型 TOS ,主机不可达4 需要分片但设置了不分片 13 由于过滤,通信被强制禁止

5 源站选路失败 14 主机越权6 目的网络不认识 15 优先权中止生效

Page 64: TCP/IP 基本原理 第三章  网络互连层

3-64中国科学技术大学 远程教育

类型字段

代码

ICMP 报文类型 类型字段

代码

ICMP 报文类型

4源站抑制 ( 源端被关闭,基本流控制 )

11

数据报超时

5

重定向 0 传输期间生存时间为 0

0 对网络重定向 1 在数据报组装期间生存时间为 0

1 对主机重定向

12

数据报参数错

2 对服务类型和网络重定向 0 坏的 IP首部(包括各种差错)

3 对服务类型和主机重定向 1 缺少必需的选项

8 回送请求( Ping请求) 13 时间戳请求

9 路由器通告 14 时间戳应答

10 路由器请求 17 地址掩码请求18 地址掩码回答

Page 65: TCP/IP 基本原理 第三章  网络互连层

3-65中国科学技术大学 远程教育

3.5.4 Ping 命令工作原理: Ping 命令通过向计算机发送 ICMP 消息,回应报文且监听回应报文的返回,用以校验与远程计算机或本地计算机的连接情况。对于每个发送的报文, Ping 最多等待 1 秒并显示发送和接收报文的数量,并比较每个接收报文和发送报文,校验其有效性。默认情况发送四个回应报文,每个报文包含 32字节的数据。 Ping 命令 用法: ping 只有在安装 TCP/IP 协议后才可使用,其格式如下所述: Ping [-t] [-a] [-n count] [-l size] [-f] [-i TTL] [-v TOS] [-r count] [-s count] [[-j host-list] | [-k host-list]] [-w timeout] destination-list Ping 命令常用参数如下所述:(1)-t :不断向指定的计算机发送报文,按 Ctrl+Break 可查看统计信息或继续运行,直至用户按 Ctrl+C 键中断。(2)-a :将 IP 地址解析为计算机名。(3)-n count : 发送由 count指定数量的回应报文。(4)-l size: 发送由 size指定数据大小的回应报文。例如获取中科大主页地址,可在 MS-DOS 方式下输入:

ping www.ustc.edu.cn

Page 66: TCP/IP 基本原理 第三章  网络互连层

3-66中国科学技术大学 远程教育

命令执行的显示信息如下:

Page 67: TCP/IP 基本原理 第三章  网络互连层

3-67中国科学技术大学 远程教育

Ping 命令的作用 : Ping 命令常用于对 TCP/IP 网络进行诊断。通过向目的计算机发送报文,让其将该报文返送,如果返回的报文和发送的报文一致,即代表Ping 命令执行成功。如果在指定时间内未收到应答报文,则 Ping认为该计算机不可到达,显示“ Request time out” 信息。

通过对 Ping 的数据进行分析,可判断计算机是否开机,网络是否存在配置和物理故障,或该报文从发送至返回所需的时间。另外,也可使用 Ping测试计算机名和 IP 地址。

当然报文返回时间越短,“ Request time out”字样出现的次数越少,代表与此计算机的连接稳定和速度快

Page 68: TCP/IP 基本原理 第三章  网络互连层

3-68中国科学技术大学 远程教育

用 ping 命令解析计算机 NetBios 名:可使用 ping -a 命令来实现解析计算机 NetBios 名的目的。如在 MS-DOS方式下输入 ping -a 202.38.64.2 ,显示的结果中会包含如下所示的文字:

Pinging bbs.ustc.edu.cn [202.38.64.31] with 32 bytes of data:

从中可获取 IP 为 202.38.64.3 的计算机 NetBios 名为 bbs.ustc.edu.cn 。用 ping 命令指定 Echo 数据包的数量和大小:可使用 ping -n count 命令来实现发送指定数量的 Echo 数据包的目的。其中 count参数指定 Echo 数据包数。

默认情况一般发送四个数据包,通过该命令可自定义发送的个数,对测量网络速度很有帮助。

可使用 ping -l size 命令来实现定义 Echo 数据包大小的目的。其中 size 参数定义 Echo 数据包的大小。

默认情况 ping 发送的数据包大小为 32b ,可自定义其大小,但存在限制,即最大发送字节数为 65500 。

Page 69: TCP/IP 基本原理 第三章  网络互连层

3-69中国科学技术大学 远程教育

用 ping 命令在数据包中发送“不要分段”标志:可使用 ping -f 命令来实现在数据包中发送“不要分段”标志的目的。一般发送的数据包均会通过路由分段再发送,使用该参数后路由即不会分段处理。 用 ping 命令指定 TTL值在系统停留的时间:可使用 ping-i 命令来实现指定 TTL值在系统停留时间的目的。此参数可检查网络的运转情况。 用 ping 命令在“记录路由”字段中记录传出和返回数据包的路由:可使用 ping -r count 命令来实现在“记录路由”字段中记录传出和返回数据包的路由的目的 ping 命令的其他技巧:在一般情况下还可以通过 ping对方让对方返回给你的 TTL值大小,粗略的判断目标主机的系统类型是Windows 系列还是 UNIX/Linux 系列,一般情况下Windows 系列的系统返回的 TTL值在 100-130之间,而 UNIX/Linux 系列的系统返回的 TTL值在 240-255之间,当然 TTL 的值在对方的主机里是可以修改的。

Page 70: TCP/IP 基本原理 第三章  网络互连层

3-70中国科学技术大学 远程教育

3.5.5 Tracert 命令命令功能: Tracert通过向目的地发送具有不同生存时间的 ICMP回应报文,来确定至目的地的路由。即 Tracert 命令可用于跟踪一个报文从一台计算机至另一台计算机所经过的路径。示例:试显示从作者机器到科大 Web 服务器之间的路由器的 IP地址:

Page 71: TCP/IP 基本原理 第三章  网络互连层

3-71中国科学技术大学 远程教育

3.6 IPv6 简介

在开发 IPv4 时, 32 位的 IP 地址似乎足够用 Internet 的需要,但随着 Internet 的发展, 32 位的 IPv4 地址将很快被用完。1994 年 IETF 的下一代 IP 工作组提出了 IP ng (IP next generation) ,它就是为了克服地址不足而设计的。正式名称为 IPv6 。特点

显著增大了地址空间;全球唯一的等级编址,基于前缀而不是基于地址类,这样路由表极小而且骨干选路效率高;为网络接口自动配置提供了机制;支持自身封装和其他协议封装;使用了服务类别来区分数据类型;增强了组播选路支持(优先于广播);内置认证和加密;提供了从 IPv4移植的过渡方法;提供了与 IPv4 共存和通信的兼容方法。

Page 72: TCP/IP 基本原理 第三章  网络互连层

3-72中国科学技术大学 远程教育

3.6.1 IPv6 报头格式

Page 73: TCP/IP 基本原理 第三章  网络互连层

3-73中国科学技术大学 远程教育

下面对 IPv6 数据报头的各项进行简单介绍:优先级:在 IPv6优先级域中首先要区分二大业务量 (traffic) :

受拥塞控制 (congestion-controlled)业务量;不受拥塞控制的 (noncongestion-controlled)业务量。

  在 IPv6 规范中 0~7 级的优先级为受拥塞控制的业务量保留,这种业务量的最低优先级为 1 , Internet 控制用的业务量的优先级为 7 。不受拥塞控制的业务量是指当网络拥塞时不能进行速率调整的业务量。对时延要求很严的实时话音即是这类业务量的一个示例。在 IPv6 中将其值为 8~15 的优先级分配给这种类型的业务量。如下页表格所示

Page 74: TCP/IP 基本原理 第三章  网络互连层

3-74中国科学技术大学 远程教育

IPv6优先级域分配情况 优先级 业务类型

0 无特殊优先级 1背景( Bacjground)1 业务量(如网络新闻)2 零散数据传送(如电子邮件) 3 保留4 连续批量传送(如 FTP 、 NFS )5 保留6 会话型业务量(如 Telnet 及窗口系统) 7 Internet 控制业务量 ( 如寻路协议及 SNMP 协

议 )

8~15 不受拥塞控制业务量(如实时语音业务等)

Page 75: TCP/IP 基本原理 第三章  网络互连层

3-75中国科学技术大学 远程教育

流标号一个流由其源地址,目的地址和流序号来命名。在 I

Pv6 规范中规定“流”是指从某个源点向(单目或组播的)信宿发送的分组群中,源点要求中间路由器作特殊处理的那些分组。也就是说,流是指源点、信宿和流标记三者分别相同的分组的集合。任何的流标记都不得在此路由器中保持 6 秒以上。此路由器在 6 秒之后必须删除高速缓存( cache )中登录项,当该流的下一个分组出现时,此登录项被重新学习。并非所有的分组都属于流。实际上从 IPv4 向IPv6 的过渡期间大部分的分组不属于特定的流。例如, SMTP 、 FTP 以及 WWW 浏览器等传统的应用均可生成分组。这些程序原本是为了 IPv4而设计的,在过渡期为使 IPv4 地址和 IPv6 地址都能处理而进行了改进,但不能处理在 IPv4中不存在的流。在这分组中应置入由 24 位 0 组成的空流标记。

Page 76: TCP/IP 基本原理 第三章  网络互连层

3-76中国科学技术大学 远程教育

净负荷长度净负荷荷长度域指示 IP 基本头标以后的 IP 数据报剩余

部分的长度,单位是字节。此域占 16 位,因而 IP 数据报通常应在 65535字节以内。但如果使用 Hop By Hop 选项扩展头标的特大净荷选项,就能传送更大的数据报。利用此选项时净荷长度置0 。下一跳首部来标识数据报中的基本 IP头标的下一个头标。在此头标中,指示选项的 IP头标和上层协议。跳数限度

决定能将分组传送到多远。主机在生成数据报时,在站段限度域中设置某一初值,数据报送到网上的路由器时该值减 1 。如果为 0 ,则丢弃该数据报。使用站段限制有二个目的:一是防止寻路发生闭环( loop ),另外是为了让主机利用它在网内进行检索。 PC 要向其中一个服务器发送数据报,无论发向哪个都行。为了减轻网络负荷, PC 希望搜索到离它最近的服务器。

Page 77: TCP/IP 基本原理 第三章  网络互连层

3-77中国科学技术大学 远程教育

3.6.2 IPv6 地址

地址格式IPv6 共有 128 位地址,是 Ipv4 的整整四倍。地址的

每个字段由 16比特组成,因此, IPv6 有 8 个字段。每个字段的最大值为 16384 ,但在书写时用四位的十六进制数字表示,字段之间用“:”隔开。而且字段中前面为零的数值可以省略,如果整个字段为零也可以省略,即:

x:x:x:x:x:x:x:x

128 位的地址空间在可预见的很长时期内,它能够为所有可以想象出的网络设备提供一个全球唯一的地址。 128 位地址空间包含的准确的地址数总共是 340,282,366,920,938,463,463,374,607,431,768,211,456 ,形象地说,世界上每一粒沙子都可以有一个 IP 地址。

Page 78: TCP/IP 基本原理 第三章  网络互连层

3-78中国科学技术大学 远程教育

几种 IPv6 地址及缩写冒分 16 进制表示的 IPv6 地址 缩写 注释1080:0:0:0:8:800:200C:417A 1080::8:800200C:417A 单播地址FF01:0:0:0:0:0:0:101 FF01::101 组播地址0:0:0:0:0:0:0:1 ::1 回绕地址0:0:0:0:0:0:0:0 :: 未指明的地址

IPv6 亿分配的地址前缀分配 前缀 (二进指 ) 所占地址空间比例

保留地址 ( 如与 IPv4 有关的地址 ) 0000 0000 1/256

为 NSAP 保留 0000 001 1/128

为 IPX 保留 0000 010 1/128

可集成的全局单播地址 001 1/8

链路本地单播地址 1111 1110 10 1/1024

场所本地单播地址 1111 1110 11 1/1024

组播地址 1111 1111 1/256

Page 79: TCP/IP 基本原理 第三章  网络互连层

3-79中国科学技术大学 远程教育

IPv6的地址用途 前缀 在地址空间中所占比例

保留(包括 I Pv4) 0000 0000 1/ 256

未指定 0000 0001 1/ 256

OSI NSAP地址 0000 001 1/ 128

Novel l NetWare I PX地址 0000 010 1/ 128

未指定 0000 011 1/ 128

未指定 0000 1 1/ 32

未指定 0001 1/ 16

未指定 001 1/ 8

基于提供者单点播送的地址 010 1/ 8

未指定 011 1/ 8

基于地理的单点播送地址 100 1/ 8

未指定 101 1/ 8

未指定 110 1/ 8

未指定 1110 1/ 16

未指定 1111 0 1/ 32

未指定 1111 10 1/ 64

未指定 1111 110 1/ 128

未指定 1111 1110 0 1/ 512

链路本地使用地址 1111 1110 10 1/ 1024

网点本地使用地址 1111 1110 11 1/ 1024

多点播送 1111 1111 1/ 256

Page 80: TCP/IP 基本原理 第三章  网络互连层

3-80中国科学技术大学 远程教育

地址分类从传送类型来分类, IPv6 地址分为三种地址类型:

单播地址 (Unicast Address) ;多播地址 (Multicast Address) ;任播地址 (Anycast Address) 。

所有类型的 IPv6 地址都是属于接口 (Interface)而不是节点 (node) 。一个 IPv6 单点传送地址被赋给某一个接口,而一个接口又只能属于某一个特定的节点,因此一个节点的任意一个接口的单点传送地址都可以用来标识该节点。

Page 81: TCP/IP 基本原理 第三章  网络互连层

3-81中国科学技术大学 远程教育

从地域来分类, IPv6 又可以把主机接口类型分为:全球地址( Globally );全球单播地址( unicast );区域地址( on-site );链路本地地址( link local address );场所本地地址( site local address );广播地址( Broadcast );多播群地址( multicast group address );任播地址( anycast address );移动地址( Mobility );家乡地址( home address );转交地址( care-of address )。

Page 82: TCP/IP 基本原理 第三章  网络互连层

3-82中国科学技术大学 远程教育

基于服务提供者的 IPv6 地址格式← 3 位 →← 13 位  → ← 8 位 

→← 24 位 → 

← 16 位 →← 64 位 →

FP TLA ID RES NLA ID SLA ID Interface ID

可集成的全局单播地址用于全球通信,其地址格式充分考虑了路由项的有效集成:

其中:• FP :地址前缀 ( 也称为“格式前缀” ) ,值为 001 。• TLA ID :顶级集成 ID 。顶级集成是因特网的顶级机构,是因特网的服务提

供者。本字段表示服务提供者的网络号。• RES:保留位,以备将来 TLA或 NLA扩充之用;• NLA ID :次级集成 ID 。由顶级机构指定,该字段可以细分为两个部分,

前一部分表示网络的一层或多层编号,后一部分表示用户场所编号。• SLA ID :场所级 ID ,用于用户分层构建网络;• Interface ID :用户的链路接口 ID 。

TLA、 NLA、 SLA三者构成了自顶向下排列的三个网络层次,并且依次向上一级申请 ID号。分层结构的最底层是网络主机的链路接口 ID 。

Page 83: TCP/IP 基本原理 第三章  网络互连层

3-83中国科学技术大学 远程教育

局部使用的单播地址局部使用的单播地址 (local-use uncast address)

用于内部网络,不能连到因特网。它又细分为本链路使用 (link-local) 和本场所使用 (site-local) 两类。前者用于单一链路,其用途是自动地址配置、邻居发现或其它没有路由器的场合。若数据报的目的地址是此类地址,路由器不转发该数据报;本场所使用的单播地址用在不需要全局前缀的场所内部使用。如果数据包的目的地址属于此类型,路由器不把它转发到场所以外的地方。

一个场所可以使用路由器连接的多个以太网链路。

Page 84: TCP/IP 基本原理 第三章  网络互连层

3-84中国科学技术大学 远程教育

任播地址任播地址也是一个标识符对应多个接口的情况。

如果一个报文要求被传送到一个任播地址,它将被传送到由该地址标识的一组接口中的最近一个(根据路由选择协议距离度量方式决定)。

任播地址是从单播地址空间中划分出来的,因此它可以使用表示单播地址的任何形式。从语法上来看,它与单播地址间没有差别。当一个单播地址被指向多于一个接口时,该地址就成为任播地址,并且被明确指明。当用户发送一个数据包到这个任播地址时,离用户最近的一个服务器将响应用户。任播地址不能作为 IPv6 数据报的源地址,也不能分配给 IPv6 主机。

Page 85: TCP/IP 基本原理 第三章  网络互连层

3-85中国科学技术大学 远程教育

组播地址 IPv6 多播地址用于表示一组节点。一个节点可能会属于几个多点

传送地址。 RFC-2373对于多点传送地址进行了更为详细的说明,并给出了一系列预先定义的多点传送地址。

其中:标记 (flags) :高 3 位保留,须置 0 ,第 4 位 T置 0 表示永久性的周知 (well-known) 组播地址,由因特网权威机构指定; T置 1 表示临时性的组播地址。范围 (scope) :限制组播组的范围。其值为

=0 、 F ,保留 ; =1 ,本节点范围 (node-loacl scope)=2 ,本链路范围 (link-loacl scope)=5 ,本场所范围 (site-local scope)=8 ,本机构范围 (organization-local scope)=E ,全局范围 (global scope)

IPv6 组播地址格式8 位 4 位 4 位 112 位

11111111 标记 范围 组标识

Page 86: TCP/IP 基本原理 第三章  网络互连层

3-86中国科学技术大学 远程教育

IPv6的地址

3010

m提供者标识

o用户标识

p子网标识

125-m-n-o-p接口标识

n登记处标识

1011111111010

n0

118-n接口标识

118-n-m接口标识

1011111111011

n0

m子网标识

32IPv4地址

960

128-n0

n子网前缀

811111111

4标志

4范围

112组标识

比特:

比特:

比特:

比特:

比特:

比特:

(a) 基于提供者的单点播送地址

(b) 本地链路地址

(c) 本地网点地址

(d) 与IPv4兼容的地址

(e) 子网-路由器任意播送地址

(f) 多点播送地址

Page 87: TCP/IP 基本原理 第三章  网络互连层

3-87中国科学技术大学 远程教育

嵌入 IPv4 地址的 IPv6 地址

有两种方法将 IPv4 地址嵌入 IPv6 地址中:与 IPv4 兼容的 IPv6 地址 (IPv4-compatible IPv6 address) ,它的高 96位为 0 ,低 32 位为 IPv4 地址。这类地址用于实施双 IP 层隧道技术的节点。即在 IPv4 路由拓扑的基础上,将 IPv6 的数据报外加在 IPv4 报头转发。

映射 IPv4 的 IPv6 地址 (IPv4-mapped IPv6address) ,它的高 80 位为 0 ,随后的 4 位为 1 ,然后是 32 位 IPv4 地址。这类地址用于只实现 IPv4而不支持 IPv6 的节点。

80 16 32

00000000000………..0000 0000 IPv4 地址

80 16 32

00000000000………..0000 FFFF IPv4 地址

Page 88: TCP/IP 基本原理 第三章  网络互连层

3-88中国科学技术大学 远程教育

3.6.3 IPv6 扩展项

目前, IPv6 协议建议定了如下可选的扩展项: 逐项选项头 (Hop-by-Hop Option Header) :定义了途经路由器所需检验的信息。目的选项头:含目的站点处理的可选信息。路由选项头 (Routing) :提供到达宿点所必须经过的中间路由器。分段 (Fragmentation)头:类似于 IPv4 ,包括数据报标识符、段号以及是否终止标识符。认证 (Authentication)头:目的端对源端的身份验证。加载安全负载 (Security encrypted payload)头:对负载进行加密,以防止数据在传输过程中发生信息泄露。

Page 89: TCP/IP 基本原理 第三章  网络互连层

3-89中国科学技术大学 远程教育

3.7 IPv6 的域名系统IPv6 的 DNS 与 IPv4 的 DNS 在体系结构上是一致的,都

采用树型结构的域名空间。 IPv4 和 IPv6 共同拥有统一的域名空间。在 IPv4 到 IPv6 的过渡阶段,域名可以同时对应于多个 IPv4和 IPv6 的地址。随着 IPv6 网络的普及, IPv6 地址将逐渐取代 IPv4 地址。

可聚集全局单播地址是目前主要应用的 IPv6 地址,因 IPv6 可聚集全局单播地址是在全局范围内使用的地址,必须进行层次划分及地址聚集。

IPv6 全局单播地址的分配方式如下:顶级地址集成机构TLA 获得大块地址,负责给次级地址集成机构 NLA (中小规模ISP )分配地址, NLA 给站点级地址集成机构 SLA (子网)和网络用户分配地址。 IPv6 地址的层次性在 DNS 中通过地址链技术可以得到很好的支持。

Page 90: TCP/IP 基本原理 第三章  网络互连层

3-90中国科学技术大学 远程教育

3.7.1 正向解析IPv4 的地址正向解析的资源记录是“ A” ,而 IPv6 地址的正向解析目前有两种资源记录,即“ AAAA” 和“ A6”记录。其中“ AAAA”较早提出,它是对 IPv4 协议“ A”记录的简单扩展,由于 IP 地址由 32 位扩展到 128 位,扩大了 4 倍,所以资源记录由“ A” 扩大成 4 个“ A” 。但“ AAAA” 用来表示域名和 IPv6 地址的对应关系,并不支持地址的层次性。AAAA资源记录类型用来将一个合法域名解析为 IPv6 地址,与 IPv4 所用的 A资源记录类型相兼容。之所以给这新资源记录类型取名为 AAAA ,是因为 128 位的 IPv6 地址正好是 32位 IPv4 地址的四倍,下面是一条 AAAA资源记录实例: host1.microsoft.com IN AAAA FEC0::2AA:FF:FE3F:2A1C

Page 91: TCP/IP 基本原理 第三章  网络互连层

3-91中国科学技术大学 远程教育

“A6” 是把一个 IPv6 地址与多个“ A6”记录建立联系,每个“ A6”记录都只包含了 IPv6 地址的一部分,结合后拼装成一个完整的 IPv6 地址。“ A6”记录支持一些“ AAAA” 所不具备的新特性,如地址聚集,地址更改 (Renumber)等。

“ A6”记录根据可聚集全局单播地址中的 TLA 、 NLA和 SLA 项目的分配层次把 128 位的 IPv6 的地址分解成为若干级的地址前缀和地址后缀,构成了一个地址链。每个地址前缀和地址后缀都是地址链上的一环,一个完整的地址链就组成一个 IPv6地址。这种思想符合 IPv6 地址的层次结构,从而支持地址聚集。

同时,用户在改变 ISP 时,其拥有的 IPv6 地址也要改变。在用“ A6”记录表示的地址链中,只要改变地址前缀对应的 ISP名字即可,可以大大减少 DNS 中资源记录的修改。并且在地址分配层次中越靠近底层,所需要改动的越少。

Page 92: TCP/IP 基本原理 第三章  网络互连层

3-92中国科学技术大学 远程教育

3.7.2 反向解析IPv6反向解析的记录和 IPv4 一样,是“ PTR” ,但地址表示形

式有两种。一种是用“ .” 分隔的半字节 16 进制数字格式( Nibble Format ),低位地址在前,高位地址在后,域后缀是“ IP6.INT.” 。另一种是二进制串( Bit-string )格式,以“ \[”开头, 16 进制地址(无分隔符,高位在前,低位在后)居中,地址后加“ ]” ,域后缀是“ IP6.ARPA.” 。半字节 16 进制数字格式与“ AAAA”对应,是对 IPv4 的简单扩展。二进制串格式与“ A6”记录对应,地址也象“ A6” 一样,可以分成多级地址链表示,每一级的授权用“ DNAME”记录。和“ A6” 一样,二进制串格式也支持地址层次特性。

IP6.INT域用于为 IPv6 提供逆向地址到主机名解析服务。逆向检索也称为指针检索,根据 IP 地址来确定主机名。为了给逆向检索创建名字空间,在 IP6.INT域中, IPv6 地址中所有的 32 位十六进制数字都逆序分隔表示。例如,为地址 FEC0::2AA:FF:FE3F:2A1C (完全表达式为: FEC0:0000:0000:0000:02AA:00FF:FE3F:2A1C )查找域名时,在 IP6.INT域中是: C.1.A.2.F.3.E.F.F.F.0.0.A.A.2.0.0.0.0.0.0.0.0.0.0.0.0.0.0.C.E.F.IP6.INT

Page 93: TCP/IP 基本原理 第三章  网络互连层

3-93中国科学技术大学 远程教育

3.7.3 IPv4 与 IPv6对比表

对比项目 IPv4 IPv6

长度 ( 位 ) 32 128

表示形式 点分十进制 冒分十六进制分类方法 A 、 B 、 C 、 D 、 E 5 类 按传输类型分类

网络号表示 以掩码或前缀长度表示 以前缀长度格式表示 环绕地址 127.0.0.1 ::1

自动配置地址 自动配置的地址 (169.254.0.0/16) 链路本地地址 (FE80::/64)

多播地址 多点传送地址( 224.0.0.0/4 ) IPv6 多点传送地址( FF00::/8

广播地址 有广播地址 未定义广播地址未指明的地址 0.0.0.0 :: ( 即 0:0:0:0:0:0:0:0)

内联网专用地址 10.0.0.0/8 、 172.16.0.0/12 、 192.168.0.0/16

站点本地地址( FEC0::/48 )

域名解析 IPv4 主机地址( A )资源记录 IPv6 主机地址 (AAAA)资源记录

逆向域名解析 IN-ADDR.ARPA域 IP6.INT域

Page 94: TCP/IP 基本原理 第三章  网络互连层

3-94中国科学技术大学 远程教育

CERNET

徐闻

长春

哈尔滨

乌鲁木齐

拉萨

西宁兰州银川

呼和浩特

台北

沈阳

南昌

西安 徐州

武汉 合肥

郑州

石家庄

北京

南宁

广州

福州

杭州上海

南京

天津

贵阳

海口三亚

湛江

无锡

大连

太原 济南 烟台

成都

长沙

重庆 黄梅

九江

昆明

青岛

汕头

唐山

汉中

宜昌

珠海深圳惠州

柳州百色 厦门

主干网地区网

GigaPopPop

桂林

深圳

Page 95: TCP/IP 基本原理 第三章  网络互连层

3-95中国科学技术大学 远程教育

中国教育科研网 CERNET2 概略图

北京

郑州

西安

武汉 合肥 上海

杭州

广州

成都

沈阳

天津

重庆

济南

厦门

大连

长春 哈尔滨

长沙

南京

兰州

10G

2.5G

用户接入网 用户接入网 用户接入网

用户接入网 用户接入网

用户接入网

用户接入网

用户接入网用户接入网用户接入网

用户接入网

用户接入网

用户接入网

用户接入网

用户接入网用户接入网

用户接入网 用户接入网 用户接入网

CERNET2网络结构图

Page 96: TCP/IP 基本原理 第三章  网络互连层

3-96中国科学技术大学 远程教育

本章习题

参见教师网页: http://staff.ustc.edu.cn/~leeyi