IPv6网络协议技术

上传人:hjk****65 文档编号:39642852 上传时间:2021-11-11 格式:DOC 页数:31 大小:132KB
收藏 版权申诉 举报 下载
IPv6网络协议技术_第1页
第1页 / 共31页
IPv6网络协议技术_第2页
第2页 / 共31页
IPv6网络协议技术_第3页
第3页 / 共31页
资源描述:

《IPv6网络协议技术》由会员分享,可在线阅读,更多相关《IPv6网络协议技术(31页珍藏版)》请在装配图网上搜索。

1、IPv6 网络协议技术网络协议技术 目目 录录第第 1 章章.简介简介.1第第 2 章章.IPV6 报文格式报文格式.2第第 3 章章.ICMPV6 协议协议 .3第第 4 章章.IPV6 地址发现协议地址发现协议.64.1邻居发现协议的功能.9第第 5 章章.IPV6 地址地址.12第第 6 章章.IPV6 寻址模型寻址模型.14第第 7 章章.IPV6 地址类型地址类型.157.1单播.157.2组播.19第第 8 章章.IPV6 扩展头扩展头.228.1扩展头.228.2扩展头的用法.228.3扩展头的标识.238.4扩展头的顺序.238.5选项.258.6逐跳扩展头.258.7选路扩展

2、头.268.8分段扩展头.278.9目的地扩展头.28第第 1 章章. 简介简介随着 IP 网络规模和业务的迅速发展,IP 网络的用户数急剧增加,正因为如此,IP 网络也暴露出越来越多的问题,如地址空间不足、QoS、安全问题等。为了解决 Internet 的这些问题,尤其是解决地址空间不足的问题,IETF 于 1992 年在 IPv4 的基础上定义了下一代的 Internet 协议,被称之为“Ipng”或“IPv6”。 IPv6 解决的最大问题是扩大了地址空间,另外,它与 IPv4 相比在其它许多方面都具有优势,例如安全性、服务质量、移动性等。IPv6 的一个显著特点就是它具有“即插即用”功能

3、。即插即用使节点直接连接到网络后,不需要经过任何人工配置就能够使用,即插即用使网络的管理和控制变得更加简单;其次,节点只需要知道自己的链路层地址及本地网络的子网前缀,就能够通过 IPv6 的无状态或者全状态自动配置得到惟一的 IPv6 地址,从而成为网络的一部分;另外,IPv6 还实现了更好的对节点移动性的支持。这些功能都是通过邻居发现协议来实现的,同一个子网内的所有主机和路由器之间的交互也都是通过邻居发现协议来实现的。 本章主要是介绍 IPv6 协议的基本原理。本章主要内容:IPv6 报文格式ICMPv6 协议IPv6 地址发现协议IPv6 地址IPv6 寻址模型IPv6 扩展头第第 2 章

4、章. IPv6 报文格式报文格式在 IPv6 中,包头以 64 位为单位,且包头的总长度是 40 字节。IPv6 协议为对其包头定义了以下字段:版本。长度为 4 位,对于 IPv6,该字段必须为 6。类别。长度为 8 位,指明为该包提供了某种“区分服务”。RFC 1883 中最初定义该字段只有 4 位,并命名为“优先级字段”,后来该字段的名字改为“类别”,在最新的 IPv6Internet 草案中,称之为“业务流类别”。该字段的定义独立于 IPv6,目前尚未在任何 RFC 中定义。该字段的默认值是全 0。流标签。长度为 20 位,用于标识属于同一业务流的包。一个节点可以同时作为多个业务流的发送

5、源。流标签和源节点地址唯一标识了一个业务流。在 RFC 1883 中这个字段最初被设计为 2 4 位,但当类别字段的长度增加到 8 位后,流标签字段被迫减小长度来作补偿。净荷长度。长度为 16 位,其中包括包净荷的字节长度,即 IPv6 头后的包中包含的字节数。这意味着在计算净荷长度时包含了 IPv6 扩展头的长度。下一个头。这个字段指出了 IPv6 头后所跟的头字段中的协议类型。与 IPv4 协议字段类似,下一个头字段可以用来指出高层是 TCP 还是 UDP,但它也可以用来指明 IPv6 扩展头的存在。跳极限。长度为 8 位。每当一个节点对包进行一次转发之后,这个字段就会被减 1。如果该字段

6、达到0,这个包就将被丢弃。IPv4 中有一个具有类似功能的生存期字段,但与 IPv4 不同,人们不愿意在 IPv6中由协议定义一个关于包生存时间的上限。这意味着对过期包进行超时判断的功能可以由高层协议完成。源地址。长度为 128 位,指出了 IPv6 包的发送方地址。目的地址。长度为 128 位,指出了 IPv6 包的接收方地址。这个地址可以是一个单播、组播或任意点播地址。如果使用了选路扩展头(其中定义了一个包必须经过的特殊路由),其目的地址可以是其中某一个中间节点的地址而不必是最终地址。第第 3 章章. ICMPv6 协议协议IP 节点需要一个特殊的协议来交换报文以了解与 IP 相关的情况。

7、ICMP 正好适用于这种需求。在IPv4 升级到 IPv6 的过程中,ICMP 也经历了一定的修改。ICMPv6 最新的定义在 RFC 2463 中定义。ICMP 报文可以用来报告错误和信息状态,以及类似于包的 Internet 探测(Ping)和跟踪路由的功能。ICMP 报文的产生来源于一些错误情况。例如,如果一个路由器由于某些原因不能处理一个 IP 包,它就可能会产生某种类型的 ICMP 报文,并直接回送到包的源节点,然后源节点将采取一些办法来纠正所报告的错误状态。例如,如果路由器无法处理一个 IP 包的原因是由于包太长而无法将其发送到网络链路上,则路由器将产生一个 ICMP 错误报文来指

8、出包太长,源节点在收到该报文后可以用它来确定一个更加合适的包长度,并通过一系列新的 IP 包来重新发送该数据。RFC 2463 中定义了以下报文类型(没有包括该文档中定义的有关组的报文):目的地不可达。包太长。超时。参数问题。回声请求。回声应答。下面将详细介绍这些报文。目的地不可达这个报文由路由器或源主机在由于除业务流拥塞之外的原因而无法转发一个包的时候产生。这种错误报文有五个代码,包括:0:没有到达目的地的路由。这个报文在路由器没有定义 IPv6 包的目的地路由时产生,通常在路由器没有设置默认路由时会产生这种错误。1:与目的地的通信被管理员禁止。当被禁止的某类业务流欲到达防火墙内部的一个主机

9、时,包过滤防火墙将产生该报文。2:地址不可达。这个代码指出在把 IPv6 目的地址解析到链路层地址时遇到了一些问题,或者在目的地网络的链路层上去往其目的地时遇到了问题。3:端口不可达。这种情况发生在高层协议(如 UDP)没有侦听包目的端口,且传输层协议又没有其他办法把这个问题通知源节点时。包太长当接收某包的路由器由于包长度大于将要转发到的链路的 MTU,而无法对其进行转发时,将会产生包太长报文。该 ICMPv6 错误报文中有一个字段指出导致该问题的链路的 MTU 值。在路径 MTU 发现过程中这是一个有用的错误报文。超时当路由器收到一个跳极限为 1 的包时,它必须在转发该包之前减小这个数值。如

10、果在路由器减小该数值后,跳极限字段的值变为 0 (或者是路由器收到一个跳限制字段为 0 的包),那么路由器必须丢弃该包,并向源节点发送 ICMPv6 超时报文。源节点在收到该报文后,可以认为最初的跳限制设置得太小(包的真实路由比源节点想象的要长),也可以认为有一个选路循环导致包无法交付。在“跟踪路由”功能中这个报文非常有用。这个功能使得一个节点可以标识一个包在从源节点到目的节点的路径上的所有路由器。它的工作方式如下:首先,一个去往目的地的包的跳极限被设置为 1。它所到达的第一个路由器将跳极限减小到 0,并回送一个超时报文,这样一来源节点就标识了路径上的第一个路由器。然后如果该包必须经过第二个路

11、由器的话,源节点会再发送一个跳极限为 2 的包,该路由器将把跳极限减小到 0,并产生另一个超时报文。这将持续到包最终到达其目的地为止,同时源节点也获得了从每个中间路由器发来的超时报文。参数问题当 IPv6 头或扩展头中的某些部分有问题时,路由器由于无法处理该包而会将其丢弃。路由器的实现中应该可以产生一个 ICMP 参数错误报文来指出问题的类型(如错误的头字段、无法识别的下一个头类型或无法识别的 IPv6 选项),并通过一个指针值指出在第几个字节遇到这种错误情况。ICMPv6 回声功能ICMPv6 中包含了一个与错误情况无关的功能。所有 IPv6 节点都需要支持两种报文:回声请求和回声应答。回声

12、请求报文可以向任何一个正确的 IPv6 地址发送,并在其中包含一个回声请求标识符、一个顺序号和一些数据。尽管二者都是可选项,但回声请求标识符和顺序号可以用来区分对应不同请求的响应。回声请求的数据也是一个选项,并可用于诊断。当一个 IPv6 节点收到一个回声请求报文后,它必须回送一个回声应答报文。在应答中包含相同的请求标识符、顺序号和在最初的请求报文中携带的数据。ICMPv6 回声请求/应答报文对是 ping 功能的基础。ping 是一个重要的诊断功能,因为它提供了一种方法来决定一个特定的主机是否与其他一些主机连接在相同的网络上。第第 4 章章. IPv6 地址发现协议地址发现协议邻居发现协议是

13、 IPv6 协议的一个基本的组成部分,它实现了在 IPv4 中的地址解析协议(ARP)、控制报文协议(ICMP)中的路由器发现部分、重定向协议的所有功能,并具有邻居不可达检测机制。 邻居发现协议实现了路由器和前缀发现、地址解析、下一跳地址确定、重定向、邻居不可达检测、重复地址检测等功能,可选实现链路层地址变化、输入负载均衡、泛播地址和代理通告等功能。 邻居发现协议采用 5种类型的 IPv6 控制信息报文(ICMPv6)来实现邻居发现协议的各种功能。这 5 种类型消息如下。 (1) 路由器请求(Router Solicitation):当接口工作时,主机发送路由器请求消息,要求路由器立即产生路由

14、器通告消息,而不必等待下一个预定时间。 (2) 路由器通告(Router Advertisement):路由器周期性地通告它的存在以及配置的链路和网络参数,或者对路由器请求消息作出响应。路由器通告消息包含在连接(on-link)确定、地址配置的前缀和跳数限制值等。 (3) 邻居请求(Neighbor Solicitation):节点发送邻居请求消息来请求邻居的链路层地址,以验证它先前所获得并保存在缓存中的邻居链路层地址的可达性,或者验证它自己的地址在本地链路上是否是唯一的。 (4) 邻居通告(Neighbor Advertisement):邻居请求消息的响应。节点也可以主动发送邻居通告以快速的

15、通告链路层地址的变化。 (5) 重定向(Redirect):路由器通过重定向消息通知主机。对于特定的目的地址,如果不是最佳的路由,则通知主机到达目的地的最佳下一跳。 IPv6 的一个设计要求是:即使在一个受限制的网络内,主机也必须正确工作,可以不需要存储像路由器上的路由表,也可以不需要有固定的配置。因此主机必须能进行自动配置,必须能学习到如何将数据发送到目的地的相关信息。这些信息储存的存储器叫做缓存,这些数据结构是一系列记录的排列,称作表项。每个表项储存的信息有一定的有效期,需要周期性地清除缓存中的表项,以保证缓存的空间大小。 主机需要为每一接口维护以下信息。 邻居缓存:一组有关单个邻居的表项

16、,这些邻居接收到了最新的数据流。表项是连接单播地址的关键,它包括的信息有:其链路层地址、指示邻居是路由器还是主机的标志、指向任何排队等待完成地址解析数据包的指针等。邻居缓存表项还包括由邻居不可达检测算法所使用的信息,如可达状态、探测无应答的次数以及下一次邻居不可达检测发生的时间。目的地缓存:一组有关最近收到数据流的目的地节点表项。目的地缓存包括“在连接(on-link)”和“非连接(off-link)”目的地,并在其中提供一定程度的间接寻址。目的地缓存能把目的地 IP 地址映射成下一跳邻居的 IP 地址,该缓存通过重定向消息进行信息更新。如果在目的地缓存表项中存储与邻居发现没有直接关系的附加信

17、息,例如路径 MTU(PMTU)以及由传输协议设定的往返时间,则执行时会更加方便。 前缀列表:规定一组“在连接(on-link)”地址的前缀组成的列表。前缀列表表项产生于路由器通告接收到的信息。每一个表项都有一个相关的失效计时器值(由通告信息确定),它用于在前缀失效时废弃这些前缀。除非在后续通告中收到了一个新的(有限)值,否则特殊的“无限”计时器值规定前缀永久有效。本地链路(1ink-local)前缀位于带有无限失效计时器的前缀列表,而不管路由器是否正在向其通告前缀。接收的路由器通告不应该修改本地链路前缀的失效计时器。 缺省路由器列表:接收数据包的路由器列表。路由器列表的表项指向邻居缓存中的相

18、应的表项。缺省路由器的选择算法是:选择那些已知可达的路由器,而不选择可达性还不确定的路由器。每一个表项还有一个相关的失效计时器值(从路由器通告信息中得到),它的作用是删除不再通告的表项。 上述数据结构可以用不同的方法实现。其中一种实现方法是对所有数据结构使用单个最长匹配路由表。不管采用哪种特定的实现方法,为了防止重复性的邻居不可达检测,路由器的邻居缓存表项可以由使用该路由器的所有目的地缓存表项共享。 邻居缓存包含有邻居不可达检测算法维护的信息。邻居可达性状态是最关键的信息,它的取值是下列的 5 个值之一:不完整性(INCOMPLETE):正在进行地址解析,邻居的链路层地址还没确定。 可达性(R

19、EACHABLE):邻居在最近处于可达状态(在小于 10s 以前)。 失效性(STALE):在数据流发送给该邻居以前邻居是不可达的,并无法验证其可达性。 延迟(DELAY):邻居不再是可达的,同时数据流在最近已经发送给邻居,但不立即对该邻居进行探测,而在一个短时延后发送探测信息,这样就可以为上层协议提供可达性确认。 探测(PROBE):邻居不再是可达的,同时发送单播邻居请求探测以验证可达性。 数据包的发送算法 节点向目的地发送数据包时,使用目的地缓存、前缀列表、默认路由器列表确定合适的下一跳的 IP地址,然后路由器查询邻居缓存确定邻居的链路层地址。 IPv6 单播地址的下一跳确定操作如下:发送

20、者使用前缀列表中的前缀进行最长前缀匹配,确定包的目的地是在连接的还是非连接的。如果下一跳是在连接的,下一跳地址就和目的地地址相同,否则发送者从默认路由器列表中选择下一跳。如果默认路由器列表为空,则发送者认为目的地是在连接的。 下一跳确定的信息存储在目的地缓存中,下一个包可以使用这些信息。当路由器发送包时,首先检查目的地缓存,如果目的地缓存没有相关信息存在,就激活下一跳确定过程。 在学习到下一跳路由器的 IPv6 地址后,发送者检查邻居缓存以决定链路层地址。如果没有下一跳IPv6 地址的表项存在,路由器的工作如下: 创建一个新表项,并设置其状态为不完全。 开始进行地址解析。 对传送的包进行排队。

21、 当地址解析结束时,获得链路层地址,存储在邻居缓存中。此时表项到达新的可达状态,排队的包能够传送。 对于组播包,下一跳总是认为在连接,确定组播 IPv6 地址的链路层地址取决于链路类型。当邻居缓存开始传送单播包时,发送者根据邻居不可达检测算法检测相关的可达性信息,验证邻居的可达性。当邻居不可达时,再次执行下一跳确定,验证到达目的地的另一条路径是否是可达的。 如果知道了下一跳节点的 IP 地址,发送方就检查邻居缓存中有关邻居的链路层信息。如果没有表项存在,发送方就创建一条,并设置其状态为“不完整性”,同时启动地址解析,然后对没有完成地址解析的数据包进行排队。对具有组播功能的接口来说,地址解析的过

22、程是发送一个邻居请求信息,以及等待一个邻居通告。当收到一个邻居通告应答时,链路层地址被表项在邻居缓存中,同时发送排队的数据包。 在传输单播数据包期间每次读取邻居发现缓存的表项,发送方根据邻居不可达性检测的算法检查邻居不可达性检测的相关信息,但不可达性检测会使发送方发出单播邻居请求,以验证该邻居还是可达的。 数据流第一次送往目的地时就执行下一跳确定的操作,随后该目的地如果仍能正常通信,目的地缓存的表项就可以继续使用。如果邻居不可达算法决定在某一点终止通信,则需要重新执行下一跳确定,例如故障路由器的流量应该切换到正常工作的路由器,流向移动节点的数据流可能要重新路由到“移动代理”。 当节点重做下一跳

23、确定时,不需要丢弃整个目的地缓存的表项,其中 PMTU 和往返计时器值的信息是很有用的。 4.1 邻居发现协议的功能邻居发现协议的功能 1、 路由器和前缀发现 路由器必须无条件丢弃不满足有效性检查的路由器请求和路由器通告消息。 路由器发现功能用来标识与给定链路相连的路由器,并获取与地址自动配置相关的前缀和配置参数。 作为对请求消息的响应,路由器应周期地发送组播路由器通告消息,来通告链路上节点的可达性。每个主机从链路上相连的路由器上接收路由器通告消息,并建立默认路由器列表(当到达目的地的路径不可知时所使用的路由器)。如果路由器很频繁地产生路由器通告消息,那么主机就能在几分钟内学习到路由器的存在,

24、否则就要使用邻居不可达检测。 路由器通告消息应包含用来确定在连接可达性的前缀列表。主机通过使用从路由器通告消息中提取的前缀,来确定目的地是否在连接,能否直接可达,或者是否非连接,还是仅通过一个路由器就可达。目的地是在连接的,但这个目的地没有被路由器通告消息学到的前缀覆盖,在这种情况下,主机认为目的地是非连接的,路由器发送重定向消息给发送者。 路由器通告消息应包含一些标志位,这些标志位通知主机怎样执行地址的自动配置,例如路由器能指定主机是使用有状态地址配置还是无状态地址配置。 另外,路由器通告消息中还应包含简化网络集中管理的参数,例如主机产生的数据包中使用的跳数限制参数的缺省值,或链路 MTU

25、值。 当主机向路由器发出路由器请求消息时,路由器应立刻发送路由器通告消息,通过这种方式能加速节点的配置过程。 2、 地址解析 IPv6 节点通过邻居请求和邻居通告消息将 IPv6 地址解析成链路层地址,对组播地址不执行地址解析。 节点通过组播邻居请求消息来激活地址解析过程,邻居请求消息用来请求目标路由器返回它的链路层地址。源路由器在邻居请求消息中包含了它的链路层地址,并将邻居请求消息组播到与目标地址相关的请求节点组播地址,目标路由器在单播的邻居通告消息中返回它的链路层地址。这一对消息使源和目标路由器能解析出相互的链路层地址。 3、 重定向功能 当包必须发送到一个非连接的目的地时,需要选择转发包

26、的路由器。当选择的路由器作为消息传送的下一跳并不是最好的下一跳时,路由器需产生重定向消息,通知源节点到达目的地存在一个更佳的下一跳路由器。 路由器必须能够确定每个邻居路由器的本地链路(1ink-local)地址,以保证重定向消息里的目标地址根据本地链路地址来识别邻居路由器。 在源端没有正确应答重定向消息,或者源端选择忽略没有被验证的重定向消息的情况下,为了节省频带和处理的费用,路由器必须限定发送重定向消息的速率。 在收到重定向消息时,路由器不能更新路由表。 4、 邻居不可达检测 任何时候通过邻居或到达邻居的通信,会因各种原因而中断,包括硬件故障、接口卡的热拔插等。如果目的地失效,则恢复是不可能

27、的,通信失败;如果路径失效,则恢复是可能的。因此节点应该主动跟踪数据包发向邻居的可达性状态。 主机与邻居节点之间所有路径都应进行邻居不可达性检测,包括主机到主机、主机到路由器以及路由器到主机之间的通信,也可用于路由器之间,以检测邻居或邻居前向路径发生的故障。 如果路由器最近收到确认,邻居的 IP 层已经收到最近发送到它的数据包,那么该邻居是可达的。邻居不可达检测使用两种方法进行确认:一种是从上层协议来的提示,提供“连接正在处理”的确认;另一种是路由器发送单播邻居请求消息,收到了应答的邻居通告消息。为了减少不必要的网络流量,探测消息仅发送到邻居。 邻居不可达性检测与向邻居发送数据包同时进行。在邻

28、居可达性确认期间,路由器继续向缓存链路层地址的邻居发送数据包;如果没有数据包发向邻居,则不发送检测。 自从 IETF 在 1998 年 12 月制定了邻居发现协议的标准文本 RFC2461 后,邻居发现就成为 IPv6 节点使用的重要协议,它解决了连接在同一条链路上的所有节点之间的互操作问题。 虽然目前 IPv6 的标准已经比较稳定,国内外厂商研制的相关产品和设备也已经成熟,但由于 IPv6 技术在我国的市场需求还不是很明朗,因此 IPv6 技术在我国还处于试验网的实践和运行阶段。随着 IPv6 网络应用商业化进程的加快,邻居发现协议的使用将会越来越广泛。第第 5 章章. IPv6 地址地址I

29、Pv4 与 IPv6 地址之间最明显的差别在于长度: IPv4 地址长度为 32 位,而 IPv6 地址长度为 128 位。RFC 2373 中不仅解释了这些地址的表现方式,同时还介绍了不同的地址类型及其结构。IPv4 地址可以被分为 2 至 3 个不同部分(网络标识符、节点标识符,有时还有子网标识符),IPv6 地址中拥有更大的地址空间,可以支持更多的字段。IPv6 地址有三类、单播、组播和泛播地址。单播和组播地址与 IPv4 的地址非常类似;但 IPv6 中不再支持 IPv4 中的广播地址,而增加了一个泛播地址。地址表达方式IPv6 地址长度 4 倍于 IPv4 地址,表达起来的复杂程度也

30、是 IPv4 地址的 4 倍。IPv6 地址的基本表达方式是 X:X:X:X:X:X:X:X,其中 X 是一个 4 位十六进制整数( 16 位)。每一个数字包含 4 位,每个整数包含 4 个数字,每个地址包括 8 个整数,共计 128 位( 448 = 128 )。例如,下面是一些合法的 IPv6 地址:CDCD:910A:2222:5498:8475:1111:3900:20201030:0:0:0:C9B4:FF12:48AA:1A2B2000:0:0:0:0:0:0:1请注意这些整数是十六进制整数,其中 A 到 F 表示的是 10 到 1 5。地址中的每个整数都必须表示出来,但起始的 0

31、 可以不必表示。这是一种比较标准的 IPv6 地址表达方式,此外还有另外两种更加清楚和易于使用的方式。某些 IPv6 地址中可能包含一长串的 0 (就像上面的第二和第三个例子一样)。当出现这种情况时,标准中允许用“空隙”来表示这一长串的 0。换句话说,地址2000:0:0:0:0:0:0:1可以被表示为:2000:1这两个冒号表示该地址可以扩展到一个完整的 128 位地址。在这种方法中,只有当 16 位组全部为 0时才会被两个冒号取代,且两个冒号在地址中只能出现一次。在 IPv4 和 IPv6 的混合环境中可能有第三种方法。IPv6 地址中的最低 32 位可以用于表示 IPv4 地址,该地址可

32、以按照一种混合方式表达,即 X:X:X:X:X:X:d.d.d.d,其中 X 表示一个 16 位整数,而 d 表示一个8 位十进制整数。例如,地址0:0:0:0:0:0:10.0.0.1就是一个合法的 IPv4 地址。把两种可能的表达方式组合在一起,该地址也可以表示为::10.0.0.1由于 IPv6 地址被分成两个部分子网前缀和接口标识符,因此人们期待一个 IP 节点地址可以按照类似 CIDR 地址的方式被表示为一个携带额外数值的地址,其中指出了地址中有多少位是掩码。即,IPv6节点地址中指出了前缀长度,该长度与 IPv6 地址间以斜杠区分,例如:1030:0:0:0:C9B4:FF12:4

33、8AA:1A2B/60这个地址中用于选路的前缀长度为 60 位。第第 6 章章. IPv6 寻址模型寻址模型每个单播地址标识一个单独的网络接口。IP 地址被指定给网络接口而不是节点,因此一个拥有多个网络接口的节点可以具备多个 IPv6 地址,其中任何一个 IPv6 地址都可以代表该节点。尽管一个网络接口能与多个单播地址相关联,但一个单播地址只能与一个网络接口相关联。每个网络接口必须至少具备一个单播地址。这里有一个非常重要的声明和一个非常重要的例外。这个声明与点到点链路的使用有关。在 IPv4 中,所有的网络接口,其中包括连接一个节点与路由器的点到点链路(用许多拨号 Internet 连接中),

34、都需要一个专用的 IP 地址。随着许多机构开始使用点到点链路来连接其分支机构,每条链路均需要其自己的子网,这样一来消耗了许多地址空间。在 IPv6 中,如果点到点链路的任何一个端点都不需要从非邻居节点接受和发送数据的话,它们就可以不需要特殊的地址。即,如果两个节点主要是传递业务流,则它们并不需要具备 IPv6 地址。为每个网络接口分配一个全球唯一的单播地址的要求阻碍了 IPv4 地址的扩展。一个提供通用服务的服务器在高需求量的情况下可能会崩溃。因此, IPv6 地址模型中又提出了一个重要的例外:如果硬件有能力在多个网络接口上正确地共享其网络负载的话,那么多个网络接口可以共享一个 IPv6 地址

35、。这使得从服务器扩展至负载分担的服务器群成为可能,而不再需要在服务器的需求量上升时必须进行硬件升级。第第 7 章章. IPv6 地址类型地址类型IP 地址有三种类型:单播、组播和任意点播。广播地址已不再有效。RFC2373 中定义了三种 IPv6 地址类型:单播:一个单接口的标识符。送往一个单播地址的包将被传送至该地址标识的接口上。泛播:一组接口(一般属于不同节点)的标识符。送往一个泛播地址的包将被传送至该地址标识的接口之一(根据选路协议对于距离的计算方法选择“最近”的一个)。组播:一组接口(一般属于不同节点)的标识符。送往一个组播地址的包将被传送至有该地址标识的所有接口上。7.1 单播单播单

36、播地址标识了一个单独的 IPv6 接口。一个节点可以具有多个 IPv6 网络接口。每个接口必须具有一个与之相关的单播地址。单播地址可被认为包含了一段信息,这段信息被包含在 128 位字段中:该地址可以完整地定义一个特定的接口。此外,地址中数据可以被解释为多个小段的信息。但无论如何,当所有的信息被放在一起后,将构成标识一个节点接口的 128 位地址。IPv6 地址本身可以为节点提供关于其结构的或多或少的信息,这主要根据是由谁来观察这个地址以及观察什么。例如,节点可能只需简单地了解整个 128 位地址是一个全球唯一的标识符,而无须了解节点在网络中是否存在。另一方面,路由器可以通过该地址来决定,地址

37、中的一部分标识了一个特定网络或子网上的一个唯一节点。例如,一个 IPv6 单播地址可看成是一个两字段实体,其中一个字段用来标识网络,而另一个字段则用来标识该网络上节点的接口。网络标识符可被划分为几部分,分别标识不同的网络部分。IPv6 单播地址功能与 IPv4 地址一样受制于 CIDR,即,在一个特定边界上将地址分为两部分。地址的高位部分包含选路用的前缀,而地址的低位部分包含网络接口标识符。最简单的方法是把 IPv6 地址作为不加区分的一块 128 位的数据,而从格式化的观点来看,可把它分为两段,即接口标识符和子网前缀。接口标识符的长度取决于子网前缀的长度。两者的长度是可以变化的,这取决于谁对

38、它进行解释。对于非常靠近寻址的节点接口(远离骨干网)的路由器可用相对较少的位数来标识接口。而离骨干网近的路由器,只需用少量地址位来指定子网前缀,这样,地址的大部分将用来标识接口标识符。IPv6 单播地址包括下面几种类型:可集聚全球地址。未指定地址或全 0 地址。回环地址。嵌有 IPv4 地址的 IPv6 地址。基于供应商和基于地理位置的供应商地址。OSI 网络服务访问点( NSAP )地址。网络互联包交换( IP X )地址。单播地址格式RFC 2373 改变和简化了 IPv6 的地址分配。其中之一是取消了基于地理位置的地址分配,基于供应商的单播地址改变成可集聚全球单播地址。从名字的改变上就可

39、看出,对于基于供应商的地址,允许前面定义的集聚以及基于交换局的新型集聚。这也反映了一种更平衡的地址分类。NSAP 和 IPX 地址空间仍然保留着,且八分之一的地址分配给可集聚地址。另外,除了组播地址和某类保留地址外, IPv6 地址空间的其余部分都是未分配的地址,为将来的发展预留了足够的空间。1. 接口标识符在 IPv6 寻址体系结构中,任何 IPv6 单播地址都需要一个接口标识符。接口标识符非常像 48 位的介质访问控制(MAC)地址,MAC 地址由硬件编码在网络接口卡中,由厂商烧入网卡中,而且地址具有全球唯一性,不会有两个网卡具有相同的 MAC 地址。这些地址能用来唯一标识网络链路层上的接

40、口。IPv6主机地址的接口标识符基于 IEEE EUI-64 格式。该格式基于已存在的 MAC 地址来创建 64 位接口标识符,这样的标识符在本地和全球范围是唯一的。RFC 2373 包括的附录解释了如何创建接口标识符。这些 64 位接口标识符能在全球范围内逐个编址,并唯一地标识每个网络接口。这意味着理论上可多达个不同的物理接口,大约有 1.8个不同的地址,而且这也只用了 IPv6 地址空间的一半。这至6421910少在可预见的未来是足够的。2. 可集聚全球单播地址可集聚全球单播地址是另一种类型的集聚,它是独立于 ISP 的。基于供应商的可集聚地址必须随着供应商的改变而改变,而基于交换局的地址

41、则由 IPv6 交换实体直接定位。由交换局提供地址块,而用户和供应商为网络接入签订合同。这样的网络接入或者是直接由供应商提供,或者通过交换局间接提供,但选路通过交换局。这就使得用户改换供应商时,无需重新编址。同时也允许用户使用多个 ISP 来处理单块网络地址。可集聚全球单播地址包括地址格式的起始 3 位为 001 的所有地址(此格式可在将来用于当前尚未分配的其他单播前缀)。包括下列字段:FP 字段: IPv6 地址中的格式前缀, 3 位长,用来标识该地址在 IPv6 地址空间中属于哪类地址。目前该字段为“001”,标识这是可集聚全球单播地址。TLA ID 字段:顶级集聚标识符,包含最高级地址选

42、路信息。这指的是网络互连中最大的选路信息。目前,该字段为 13 位,可得到最大 8192 个不同的顶级路由。RES 字段:该字段为 8 位,保留为将来用。最终可能会用于扩展顶级或下一级集聚标识符字段。NLA ID 字段:下一级集聚标识符, 2 4 位长。该标识符被一些机构用于控制顶级集聚以安排地址空间。换句话说,这些机构(可能包括大型 ISP 和其他提供公网接入的机构)能按照他们自己的寻址分级结构来将此 2 4 位字段切开用。这样,一个实体可以用 2 位分割成 4 个实体内部的顶级路由,其余的 2 2 位地址空间分配给其他实体(如规模较小的本地 ISP )。这些实体如果得到足够的地址空间,可将

43、分配给它们的空间用同样的方法再子分。SLA ID 字段:站点级集聚标识符,被一些机构用来安排内部的网络结构。每个机构可以用与 IPv4 同样的方法来创建自己内部的分级网络结构。若 16 位字段全部用作平面地址空间,则最多可有 65 535 个不同子网。如果用前 8 位作该组织内较高级的选路,那么允许 255 个高级子网,每个高级子网可有多达 255个子子网。接口标识符字段:64 位长,包含 IEEE EUI-64 接口标识符的 64 位值。3. 特殊地址和保留地址在第一个 1/256 IPv6 地址空间中,所有地址的第一个 8 位:0000 0000 被保留。大部分空的地址空间用作特殊地址,这

44、些特殊地址包括:未指定地址:这是一个“全 0”地址,当没有有效地址时,可采用该地址。例如当一个主机从网络第一次启动时,它尚未得到一个 IPv6 地址,就可以用这个地址,即当发出配置信息请求时,在 IPv6 包的源地址中填入该地址。该地址可表示为 0:0:0:0:0:0:0:0,也可写成:。回环地址:在 IPv4 中,回返地址定义为 127.0.0.1。任何发送回返地址的包必须通过协议栈到网络接口,但不发送到网络链路上。网络接口本身必须接受这些包,就好像是从外面节点收到的一样,并传回给协议栈。回返功能用来测试软件和配置。IPv6 回返地址除了最低位外,全为 0,即回返地址可表示为0:0:0:0:

45、0:0:0:1 或:1。嵌有 IPv4 地址的 IPv6 地址:有两类地址,一类允许 IPv6 节点访问不支持 IPv6 的 IPv4 节点,另一类允许 IPv6 路由器用隧道方式,在 IPv4 网络上传送 IPv6 包。4. 嵌有 IPv4 地址的 IPv6 地址不管人们是否愿意,逐渐向 IPv6 过渡已成定局。这意味着 IPv4 和 IPv6 节点必须找到共存的方法。当然两个不同 IP 版本最明显的一个差别是地址。最早由 RFC 1884 定义,然后被带入 RFC 2373 中,IPv6提供两类嵌有 IPv4 地址的特殊地址。这两类地址高阶 8 0 位均为 0,低价 32 位包含 IPv4

46、 地址。当中间的16 位被置为 FFFF 时,则指示该地址为 IPv4 映象的 IPv6 地址。IPv4 兼容地址被节点用于通过 IPv4 路由器以隧道方式传送 IPv6 包。这些节点既理解 IPv4 又理解IPv6。IPv4 映象地址则被 IPv6 节点用于访问只支持 IPv4 的节点。5. 链路本地和站点本地地址对于不愿意申请全球唯一性的 IPv4 网络地址的一些机构,通过采用网络 10 型地址对 IPv4 网络地址进行翻译,可以为这些机构提供一个选项。位于机构之外,但由机构使用的路由器不应该转发这些地址,但是不能阻止转发这些地址,也不能区分这些地址和其他有效的 IPv4 地址。可以相对容

47、易地配置路由器,使其能转发这些地址。为实现这一功能, IPv6 从全球唯一的 Internet 空间中分出两个不同的地址段。链路本地地址用于单网络链路上给主机编号。前缀的前 10 位标识的地址即链路本地地址。路由器在它们的源端和目的端对具有链路本地地址的包不予处理,因为永远也不会转发这些包。该地址的中间 54 位置成 0。而 64 位接口标识符同样用的 IEEE 结构,地址空间的这部分允许个别网络连接多达( - 1)个主机。6427.2 组播组播像广播地址一样,组播地址在类似老式的以太网的本地网中特别有用,在这种网中,所有节点都能检测出线路上传输的所有数据。每次传输开始时,每个节点检查其目的地

48、址,如果与本节点接口地址一致,节点就拾取该传输的其余部分。这使节点拾取广播和组播传输相对比较简单。如果是广播,节点只要侦听,无须做任何决定,因此简单。对组播来说,稍复杂一些,节点要预订一个组播地址,当检测出目的地址为组播地址时,必须确定是否是节点预定的那个组播地址。IP 组播就更为复杂。一个重要的原因是 IP 并不是不加鉴别就将业务流放在 Internet 上转发至所有节点,这是 IP 成功之处。如果要这样做的话,它将迫使大多数甚至所有连接的网络屈服。这就是为什么路由器不应该转发广播包的原因。不过,对组播而言,只要路由器以其他节点的名义预订组播地址,就能有选择地转发它。当节点预订组播地址时,它

49、声明要成为组播的一个成员。于是任何本地路由器将以该节点的名义预订组播地址。同一网络上的其他节点要发送信息到该组播地址时, IP 组播包将被封装到链路层组播数据传输单元中。在以太网上,封装的单元指向以太网组播地址;在其他用点对点电路传输的网络上(如 ATM ),通过其他某些机制将包发送给订户,通常通过某类服务器将包发送给每个订户。从本地网以外来的组播,用同样方法处理,只是传递给路由器,由路由器把包转发给预订节点。1. 组播地址格式IPv6 组播地址的格式不同于 IPv6 单播地址。组播地址只能用作目的地址,没有数据报把组播地址用作源地址。地址格式中的第 1 个字节为全“1”,标识其为组播地址。组

50、播地址格式中除第 1 字节外的其余部分,包括如下三个字段:标志字段:由 4 个单个位标志组成。目前只指定了第 4 位,该位用来表示该地址是由 Internet 编号机构指定的熟知的组播地址,还是特定场合使用的临时组播地址。如果该标志位为“0”,表示该地址为熟知地址;如果该位为“1”,表示该地址为临时地址。其他 3 个标志位保留将来用。范围字段:长 4 位,用来表示组播的范围。即,组播组是只包括同一本地网、同一站点、同一机构中的节点,还是包括 IPv6 全球地址空间中任何位置的节点。该 4 位的可能值为组标识符字段:长 112 位,用于标识组播组。根据组播地址是临时的还是熟知的以及地址的范围,同

51、一个组播标识符可以表示不同的组。永久组播地址用指定的赋予特殊含义的组标识符,组中的成员既依赖于组标识符,又依赖于范围。所有 IPv6 组播地址以 FF 开始,表示地址的第 1 个 8 位为全“1”。目前,因为标志的其余位未定义,所以地址的第 3 个十六进制数字若为“0”,则表示熟知地址;若为“1”,则表示临时地址。第 4 个十六进制数字表示范围,可以是未分配的值或保留的值。2. 组播组IPv4 已具备使用组播的应用,由于这种应用将同样的数据发送到多个节点。用分配的组播地址和组播范围进行组合,可以表现出多种含义,并用在其他应用上。一些早期注册的组播地址,包括成组的路由器、DHCP 服务、音频和视

52、频服务以及网络游戏服务,详情请参阅 RFC 2375(IPv6 组播地址分配)。泛播组播地址在某种意义上可以由多个节点共享。组播地址成员的所有节点均期待着接收发给该地址的所有包。一个连接 5 个不同的本地以太网网络的路由器,要向每个网络转发一个组播包的副本(假设每个网络上至少有一个预订了该组播地址)。泛播地址与组播地址类似,同样是多个节点共享一个泛播地址,不同的是,只有一个节点期待接收给泛播地址的数据报。泛播对提供某些类型的服务特别有用,尤其是对于客户机和服务器之间不需要有特定关系的一些服务,例如域名服务器和时间服务器。名字服务器就是个名字服务器,不论远近都应该工作得一样好。同样,一个近的时间

53、服务器,从准确性来说,更为可取。因此当一个主机为了获取信息,发出请求到泛播地址,响应的应该是与该泛播地址相关联的最近的服务器。1. 泛播地址的分配及其格式泛播地址被分配在正常的 IPv6 单播地址空间以外。因为泛播地址在形式上与单播地址无法区分开,一个泛播地址的每个成员,必须显式地加以配置,以便识别泛播地址。2. 泛播选路了解如何为一个单播包确定路由,必须从指定单个单播地址的一组主机中提取最低的公共选路命名符。即,它们必定有某些公共的网络地址号,并且其前缀定义了所有泛播节点存在的地区。比如一个 ISP可能要求它的每一个用户机构提供一个时间服务器,这些时间服务器共享单个泛播地址。在这种情况下,定

54、义泛播地区的前缀,被分配给 ISP 作再分发用。发生在该地区中的选路是由共享泛播地址的主机的分发来定义的。在该地区中,一个泛播地址必定带有一个选路项:该选路项包括一些指针,指向共享该泛播地址的所有节点的网络接口。上述情况下,地区限定在有限范围内。泛播主机也可能分散在全球 Internet 上,如果是这种情况的话,那么泛播地址必须添加到遍及世界的所有路由表上。第第 8 章章. IPv6 扩展头扩展头8.1 扩展头扩展头为简化的 IPv6 头,由工作在无选项方式的大多数网络业务流所采用,同时它提高了网络对确实需要选项的包的处理能力。这种新的 IPv6 扩展头包括:逐跳选项头:此扩展头必须紧随在 I

55、Pv6 头之后,它包含包所经路径上的每个节点都必须检查的可选数据。到目前为止,只定义了一个选项:巨型净荷选项。该选项指明,此包的净荷长度超出了 IPv6 的 16位净荷长度字段。只要包的净荷(包括逐跳选项头)超出 65535 字节,就必须包含该选项。如果节点不能转发此包,则必须返回一个 ICMPv6 出错报文。选路头:此扩展头指明包在到达目的地途中将经过的特殊的节点。它包含包沿途经过的各节点的地址列表。IPv6 头的最初目的地址不是包的最终目的地址,而是选路头中所列的第一个地址。此地址对应的节点接收到该包后,对 IPv6 头和选路头进行处理,然后将包发送到选路头列表中的第二个地址。如此继续,直

56、至该包到达最终目的地。分段头:此扩展头包含一个分段偏移值、一个“更多段”标志和一个标识字段,用于源节点对长度超出源端和目的端间路径 MTU 的包进行分段。目的地选项头:此扩展头包含只能由最终目的地节点所处理的选项。目前,只定义了填充选项,将该头填充为 64 位边界,以备将来所用。身份验证头(AH):此扩展头提供了一种机制,对 IPv6 头、扩展头和净荷的某些部分进行加密的较验和计算。封装安全性净荷(ESP)头:这是最后一个扩展头,不进行加密,它指明剩余的净荷已经加密,并为已获得授权的目的节点提供足够的解密信息。8.2 扩展头的用法扩展头的用法将 IPv4 选项合并到标准 IPv4 头比较复杂。

57、IPv4 头最短为 20 字节,最长为 60 字节,附加数据包含IPv4 选项,必须由路由器翻译以对 IP 包进行处理。这种方法有两个影响:其一,路由器实现时往往对附加选项的包进行分流处理,因此导致处理效率降低;其二,由于选项导致性能下降,应用开发者倾向于不使用选项。使用 IPv6 扩展头,可以在不影响性能的前提下实现选项。开发者可以在必要时使用选项,而无须担心路由器会对带扩展选项的包区别对待,除非是设置了选路扩展头或逐跳选项。即使设置了这两个选项,路由器仍可以进行必要的处理,比使用 IPv4 选项容易。8.3 扩展头的标识扩展头的标识所有的 IPv6 头长度都一样,并且看起来几乎相同,唯一的

58、区别在于下一个头字段。在没有扩展头的IPv6 包中,此字段的值表示上一层协议。即,若 IP 包中含有 TCP 段,则下一个头字段的 8 位二进制值是6 (源自 RFC 1700(已指派号码) );若 IP 包中含有 UDP 数据报,这个值就是 17。下一个头字段值指明是否有下一个扩展头及下一个扩展头是什么,因此, IPv6 头可以链接起来,从基本的 IPv6 头开始,逐个链接各扩展头。8.4 扩展头的顺序扩展头的顺序一个 IPv6 包可以有多个扩展头,但是,只有一种情况允许同一类型的扩展头在一个包中多次出现,而且各扩展头在链接时有一个首选顺序。RFC 1883 规定,扩展头应该依照如下顺序:(

59、1) IPv6 头。(2) 逐跳选项头。(3) 目的地选项头(应用于 IPv6 目的地址字段的第一个目的地和选路头中所列的附加目的地中)。(4) 选路头。(5) 分段头。(6) 身份验证头。(7) ESP 头。(8) 目的地选项头(当使用选路头时,仅应用于包的最终目的地)。(9) 上层头。从以上顺序可知,在同一个 IP 包中只有目的地选项扩展头可以多次出现,并且仅限于包中包含选路扩展头的情况。上述顺序并不是绝对的。例如,前面已提及,在包的其余部分要加密时,ESP 头必须是最后一个扩展头。同样,逐跳选项优先于所有其他扩展头,因为每个接收 IPv6 包的节点都必须对该选项进行处理。建立新的选项扩展

60、头必须通过 IPv6 头的下一个头字段来确认。这意味着由于这个字段为 8 位,最多只能有 256 个不同值。即使将来该字段的可能取值的个数有所减少,也必须支持上一层头的所有可能值。即,该值不仅对扩展头进行标识,还标识着封装在 IP 包内的所有其他协议。因此,目前已经指派了很多值,未指派的值相当有限。IPv6 用于扩展头的某些协议标识符沿自 IPv4,例如身份验证头和 ESP 头。到目前为止,已指派了很多扩展头,但也允许通过逐跳选项扩展头和目的地选项扩展头来建立新的选项。除了为下一个头字段保存协议值以外,通过使用这些选项头扩展,很容易健壮地实现新选项。如果使用一个全新的头类型来发送 IP 包,若

61、目的节点支持新的头类型,则一切顺利;反之,如果新的头类型对目的节点是未知的,则目的节点只能丢弃该包。另一方面,所有的 IPv6 节点都必须支持逐跳选项扩展头、目的地选项扩展头以及一些基本选项(参见下节)。此时,如果目的节点收到带有目的地选项扩展头的包,即使不支持该扩展头中的选项,它也能够响应。选项也可以请求目的节点发回一个 ICMP 出错报文,以指明目的节点不理解此选项。选项扩展头逐跳选项扩展头和目的地选项扩展头可以包含特定的选项。RFC 1883 中定义了两个填充选项,用于确保扩展头字段符合边界要求。即,如果选项使用 3 个 8 位字段后接一个 32 位字段,就必须插入(即填充)附加的 8

62、位,以确保在越过一个 32 位字边界时,选项中的 32 位字段不会被拆开。如果无需填充,则只定义一个功能选项,即逐跳选项扩展头中使用的巨型净荷选项。所有的选项扩展头逐跳选项扩展头和目的地选项扩展头都有类似的帧格式。这些扩展头只有两个预定义的字段:下一个头字段和头扩展长度字段。所有 IPv6 头都包含下一个头字段。头扩展长度字段占8 位,指明该选项头的长度。该长度以 8 字节为单位,不包含扩展头的第一个 8 字节,即如果选项扩展头只有 8 字节长,该字段值即为 0。该字段限制了扩展头最多为 2048 字节。扩展头的其余部分为该扩展头所包含的选项。8.5 选项选项IPv6 选项包含如下三个字段:选

63、项类型:该字段为 8 位标识符,指明选项的类型。即使目的节点不能够识别选项,也可以由该字段的前 3 位编码翻译出选项的类型。选项数据长度:该字段为 8 位整数,表示选项数据字段的长度。该字段最大值为 255。选项数据:该字段包含选项特定的数据,最大长度为 255 字节。选项类型字段的前 2 位表示目的节点在不能识别特定的选项时应该采取的动作,共有如下四种选项类型:00:忽略此选项,完成对扩展头其余部分的处理。01:丢弃整个包。10:丢弃包,不论该包的目的地址是否是组播地址,都向该包的源地址发送一个 ICMP 报文。11:丢弃包,如果该包的目的地址是单播地址或任意点播地址(即非组播地址),则向该

64、包的源地址发送一个 ICMP 报文。选项类型的第 3 位指明在包从源地址到目的地址的传送过程中,选项数据的值是否可以改变。若为0,则不允许改变;若为 1,则选项数据是可变的。逐跳选项扩展头和目的地选项扩展头都包含的相同选项是两个填充选项:填充选项 1 和填充选项 N。填充选项 1 很特别,它只有 8 位,全部置为 0,没有选项数据长度字段和其他选项数据。而填充选项 N 是由前面的四种选项类型之一来标识的,它使用多个字节来填充扩展头。如果扩展头需要 N 字节填充,则选项数据长度字段值为 N - 2,即选项数据字段占 N - 2 个字节,全部置为 0。再加上1 字节的选项类型字段、1 字节的选项数

65、据长度字段,一共填充了 N 字节。8.6 逐跳扩展头逐跳扩展头从源节点到目的节点的路由上的每个节点,即每个转发包的路由器都检查逐跳选项中的信息。到目前为止,只定义了一个逐跳选项:巨型净荷选项。与其他选项扩展头相同,前两个字段指明了下一个头协议和扩展头的长度(此时,由于整个选项只有8 位,扩展头长度的字段值为 0 )。巨型净荷选项从扩展头的第三个字节开始。第三个字节为扩展头类型,其值为 194;第四个字节,即巨型净荷选项数据长度的值为 4。选项的最后一个字段为巨型净荷长度,指明包括逐跳选项扩展头在内, IP 包中所包含的实际字节数,但不包括 IPv6 头。只有沿途每个路由器都能够处理时,节点才能

66、使用巨型净荷选项来发送大型 IP 包。因此,该选项在逐跳扩展头中使用,要求沿途的每个路由器都必须检查此信息。巨型净荷选项允许 IPv6 包净荷长度超过 65 535 字节,超过了 40 亿字节。如果使用该选项,要求 IPv6 头的 16 位净荷长度字段值必须为 0,扩展头中的巨型净荷长度字段值不小于 65 535。如果不满足这两个条件,接收包的节点应该向源节点发送 ICMP 出错报文,通知有问题发生。此外还有一个限制:如果包中有分段扩展头,就不能同时使用巨型净荷选项,因为使用巨型净荷选项时不能对包进行分段。8.7 选路扩展头选路扩展头选路头代替了 IPv4 中所实现的源选路。源选路允许用户指定包的路径,即到达目的地沿途必须经过的路由器。在 IPv4 源选路中,使用 IPv4 选项,对用户可以指定的中间路由器的个数有一定限制:带扩展的 IPv4 头有 40 个附加字节,最多只能填入 10 个 32 位地址。此外,由于路径上的每个路由器都必须处理整个地址列表,而不论该路由器是否在列表中,因而对源路由包的处理很慢。IPv6 定义了一个通用的选路扩展头,有两个字段,各占 1 字节:选路类型字段

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!