YD/T 1344-2005
基本信息
标准号:
YD/T 1344-2005
中文名称:IPv6地址结构协议——IPv6无状态地址自动配置
标准类别:通信行业标准(YD)
标准状态:现行
发布日期:2005-05-11
实施日期:2005-11-01
出版语种:简体中文
下载格式:.rar.pdf
下载大小:10317373
相关标签:
地址
结构
协议
状态
自动
配置
标准分类号
标准ICS号:电信、音频和视频技术>>电信系统>>33.040.40数据通信网络
中标分类号:通信、广播>>通信设备>>M33光通信设备
关联标准
采标情况:RFC 2462 MOD RFC 3041 MOD
出版信息
出版社:人民邮电出版社
页数:18页
标准价格:18.0 元
出版日期:2005-11-01
相关单位信息
起草人:吴英桦、薛宁、王浩、杜禾青
起草单位:信息产业部电信研究院
归口单位:中国通信标准化协会
提出单位:中国通信标准化协会
发布部门:中华人民共和国信息产业部
标准简介
本标准规定了IPv6无状态地址自动配置技术要求、包括配置条件的基本要求、配置参数、地址生成、重复地址检测、配置一致性和安全等。本标准适用于支持IPv6的设备。 YD/T 1344-2005 IPv6地址结构协议——IPv6无状态地址自动配置 YD/T1344-2005 标准下载解压密码:www.bzxz.net
标准内容
ICS33.040.40
中华人民共和国通信行业标准
YD/T1344-2005
IPv6地址结构协议
-IPv6无状态地址自动配置
IPv6addressstructureprotocol-iPv6statelessaddressautoconfiguration2005-05-11发布
2005-11-01实施
中华人民共和国信息产业部
规范性引用文件
概述·
配置参数
5.1节点配置变量
自动配置相关变量
地址生成.
6.1链路本地地址的产生
全局和站点本地地址的产生
重复地址检测
消息有效性
发送邻居多方请求消息
7.3接收邻居多方请求消息·
7.4接收邻居宣告消息
当重复地址检测失效时
8无状态地址配置过程
8.1链路本地地址配置过程
8.2站点本地地址和全局地址配置过程9站点重编号·
配置一致性
12IPv6无状态地址自动配置的保密性扩展12.1
假定·
随机接口标识符的产生
12.3生成临时地址
临时地址的失效
随机接口标识符的再生
YD/T1344-2005
本标准修改采用IETF的RFC2462和RFC3041,主要差异如下:1.按照GB1(2000)系列的要求对标准格式进行了修改:YD/T1344-2005
2.为了标准的完整性,参考并修改了RFC2462的内容,作为本标准的第4、5、6、7、8、9、10、11章,将RFC3041的内容写人本标准的第12章。本标准是“IPv6协议”系列标准之一,该系列标准预计的结构及名称如下:1.《IPv6基本协议——IPv6协议》2.《IPv6技术要求一支持计算机移动部分》3.《IPv6技术要求一—地址、过渡及服务质量》4.《IPv6地址结构一—IPv6无状态地址自动配置》5.《IPv6邻居发现协议一—基于IPv6的邻居发现协议》6.《IPv6协议一致性测试方法》本标准由中国通信标准化协会提出并归口。本标准起草单位:信息产业部电信研究院本标准主要起草人:吴英桦薛宁王浩杜禾青I
1范围
IPv6地址结构协议
IPv6无状态地址自动配置
YD/T1344-2005
本标准规定了IPv6无状态地址自动配置的技术要求,包括配置条件的基本要求、配置参数、地址生成、重复地址检测、配置一致性和安全等。本标准适用于支持IPv6的设备。2规范性引用文件
下列文件中的条款通过本标准的引用而成为本标准的条款。凡是注日期的引用文件,其随后所有的修改单(不包括勘误的内容)或修订版均不适用于本标准,然而,鼓励根据本标准达成协议的各方研究是否可使用这些文件的最新版本。凡是不注日期的引用文件,其最新版本适用于本标准。IETFRFC2462(1998)
IETFRFC3041(2001)
3定义
下列术语和定义用于本标准。
IPinternetprotoco
IPv6无状态地址自动配置
IPv6无状态地址自动配置的保密性扩展因特网协议版本6。术语IPv4仅用于有必要避免混淆的地方。3.2
节点node
执行IPv6的设备。
路由器router
负责转发(目标地址不是它本身)P包的节点。3.4
主机host
除路由器以外的节点。
上层upperlayer
紧靠IP层上面的协议层,该协议层可能是传输层协议,如TCP、UDP,或者如ICMP等控制协议、OSPF等路由协议以及在IP层上建立隧道的互联网(intermet)或低层协议,比如IPX、AppleTalk,或者也可以是IP协议本身。
YD/T1344-2005
链路link
通信设备或媒介,节点可以通过这种通信设备或媒介进行链路层(P层的下一层)通信。链路的例子有以太网(简单的或桥接的)PPP链路、X.25、顿中继或ATM网,另外还有internet层(或上层)隧道,如基于IPv4或IPv6的隧道。
接口interface
节点到链路的连接点。
数据包packet此内容来自标准下载网
IP头和有效载荷构成的数据块。3.9
地址address
为一个接口或一组接口分配的IP层标示符。3.10
单播地址unicastaddress
为单个接口分配的标示符,目标地址是单播地址的包将被发送到由该地址标识的接口。3.11
组播地址multicastaddress
分配给一组接口的地址,该组接口可以属于不同的节点,目标地址是组播地址的包将发送到所有由该地址标识的接口。
泛播地址anycastaddress
分配给一组接口的地址,该组接口可以属于不同的节点,目标地址是泛播地址的包将发送到所有由该地址标识的接口中的一个,此接口是按路由协议中的距离标准确定的路由距离最短的一个。参见【地址结构。
请求节点组播地址Solicited-nodemulticastaddress邻居多方请求消息发送到的组播地址。计算该地址的算法参见【邻居发现]。3.14
链路层地址link-layeraddress
为一个接口分配的链路层标识符,如以太网链路的IEEE802地址和ISDN链路的E.164地址。3.15
链路本地地址link-localaddress局限于链路范围的用于到达同一链路上的邻居节点的地址,所有的接口都有一个链路本地单播地址。3.16
站点本地地址
site-localaddress
局限于本地站点范围内的地址。全局地址globaladdress
范围无限制的地址。
通信communication
YD/T1344-2005
节点之间进行的任何包交换,要求在这种包交换过程中,每个节点进行交换时使用的地址保持不变。例如,TCP连接或UDP请求与响应。3.19
临时地址tentativeaddress
将一个地址分配到一个接口之前要确认其在链路上的惟一性,正在进行确认的这种地址称为临时地址。临时地址不是通常意义上认为的分配到-个接口上的地址。对临时地址要进行重复地址检测操作,接口会接收与此有关的邻居发现包,但对收到的其他寻址到临时地址的包予以丢弃。3.20
推荐地址preferredaddress
分配给接口的一个地址,高层协议对它的使用不受限制。推荐地址可以被用做出(或人)接口的源(或目的)地址。
不推荐地址deprecatedaddress
分配给接口的一个地址,对它的使用不鼓励,但也不禁止。在新的通信过程中,不推荐地址应不再用做源地址,但送往不推荐地址或从不推荐地址送出的包仍按预期方式传送。在转向推荐地址给特定高层行为(例如,一个现存的TCP连接)带来困难的情况下,通信过程中会继续用不推荐地址做源地址。3.22
有效地址validaddress
推荐或不推荐地址。有效地址可以作为一个包的源地址或目的地址出现,intermet路由系统会将发往有效地址的包传送到它们希望送达的接收者。3.23
无效地址invalidaddress
未分配给任何接口的地址或有效地址超过有效生存期之后成为无效地址。无效地址不应作为包的目的或源地址出现。在前---种情况下,internet路由系统将不能传送该包,在后一种情况下,包的接收者将不能发送响应。
推荐生存期preferredlifetime
有效地址作为推荐地址的时长(即直到成为不推荐地址之前的时间)。超过推荐生存期之后,地址变成不推荐地址。
有效生存期valid lifetime
YD/T1344-2005
地址保持有效状态的时长(即直到无效之前的时间)。有效生存期必须大于等于推荐生存期。超过有效生存期之后,地址变为无效。3.26
接口标识符interfaceidentifier对应于一个接口,(至少)在每条链路上惟一的基于链路的标识符。无状态地址自动配置用一个接口标识符和一个前缀合成一个地址。从地址自动配置的观点来看,接口标识符是个已知长度的比特申。接口标识符的确切长度以及产生的方式在单独的链路类型特定文件中定义,文件中会涉及在某种链路类型(如以太网)上传送P的有关问题。在很多情况下,标识符与接口的链路层地址相同。4概述
本标准规定的自动配置过程适用于主机,不适用于路由器。由于主机的自动配置要使用路由器发布的信息,因此路由器的配置要通过其他方式完成。但有一种情况例外,即路由器在产生链路本地地址时会使用本标准中规定的机制。
自动配置分为有状态地址自动配置和无状态地址自动配置。当站点不特别关注主机使用的确切地址,只要求该地址是惟一的并且能通过适当方式被寻路时,使用无状态地址自动配置;当站点对确切的地址分配要求进行较严格的控制时,使用有状态地址自动配置。在路由器宣告里无状态地址自动配置和有状态地址自动配置的处理是彼此独立的,并且主机可以同时使用无状态地址自动配置和有状态地址自动配置。站点管理者通过对路由器宣告消息中的适当字段进行设置,来规定使用哪种类型的自动配置。无状态地址自动配置和有状态地址自动配置互为补充,例如,主机可以使用无状态自动配置来配置自已的地址,但使用有状态自动配置来获取其他信息。在有状态自动配置模型中,主机从服务器获得接口地址和/或配置信息及参数。服务器维护个数据库,对哪个地址已被分配给了哪个主机进行跟踪。有状态地址自动配置使主机能够从服务器获得地址、或其他配置信息,或同时获得这两种信息。无状态自动配置不要求对主机进行手动配置,对路由器要求进行最少(若有)的配置,并且不要求有额外的服务器。无状态机制通过将本地可获取的信息与路由器发布的信息相结合,使主机能够产生自已的地址。对于与一条链路相关的子网,路由器发布标识该子网的前缀,主机则产生在该子网上惟一标识一个接口的接口标识符,通过将前缀和接口标识符结合在一起产生地址。在没有路由器的情况下,主机只能产生链路本地地址,但连接到同一链路的节点之间完全能够利用链路本地地址进行通信。本标准只规定无状态地址配置方面的要求,IPv6有状态地址配置方面的规定有待进一步研究。有关信息参见DHCPv6。
无状态地址自动配置机制应满足下列要求:一在将单个设备连到网络之前不必进行手动配置,而是通过自动配置机制使主机能够为其每个接口获得或产生惟一地址。每个接口能够提供对应于该接口的惟一标识符(即一个接口标识符)。在最简单的情况下,接口标识符由接口的链路层地址构成。接口标识符可与前缀结合起来构成一个地址。
一对于由连接到单一链路的一组设备构成的小型站点,不应把提供有状态服务器或路由器作为进行通信的前提条件。即插即用通信是通过使用链路本地地址实现的。链路本地地址具有一个众所周知的前缀,该前缀标识了一组节点连接到(单)共享链路。主机将自已的接口标识符附加到链4
路本地前缀后边,构成一个链路本地地址。YD/T1344-2005
一对于由多个网络和路由器构成的大型站点,不应要求提供有状态地址配置服务器。为了产生站点本地地址或全局地址,主机必须确定其连接的子网前缀。路由器周期性地产生路由器宣告消息,其中包含的选项列出了一条链路上一组激活的前缴。一地址配置应便于站点设备的利重编号。例如,当一个站点转移到一个新的网络业务提供者时,其所有的节点可能需要重编号。重编号是通过将地址租用给接口以及将多个地址分配给同一个接口实现的。当前缀的租用生存期过期时,站点废止该前缀。将多个地址分配给一个接口时存在一个过渡期,在过渡期内新地址和即将过期作废的地址同时工作。系统管理者要具备规定使用无状态自动配置、有状态自动配置或两者都用的能力。路由器宣告消息中包含的标记规定了主机应使用哪种机制。5配置参数
5.1节点配置变量
对于每个广播接口,节点必须允许系统管理配置下列自动配置相关变量:-DupAddrDetectTransmits
在一个临时地址上完成重复地址检测工作时发送连续的邻居多方请求消息的数目。值为\0”表示不在临时地址上完成重复地址检测工作;值为“1”表示只传送一次,没有后续的重传。请求消息的数目默认值为“1”,但在涉及特定链路类型上传送IP的文件中,这个值可以被一个链路类型特定值覆盖。
RetransTimer
自动配置还假定存在变量RetransTimer。为进行自动配置,RetransTimer规定了进行重复地址检测时,完成连续的邻居多方请求消息传送之间的延迟(如果DupAddrDetectTransmits大于1),以及节点在结束重复地址检测过程之前,发送最后一个邻居多方请求消息之后等待的时间。5.2自动配置相关变量
主机维护若干个与自动配置有关的数据结构和标记。以下列出几个概念上的变量,并说明如何利用这些变量完成自动配置。这些特定变量只用于示范,并不要求所有的实现方式都具有这些变量,只要求实现方式的外在行为符合本标准的规定。除链路本地地址的构成以及重复地址检测机制的使用之外,路由器如何(自动)配置其接口不在本标准的涉及范围内。
主机针对每个接口维护下列变量:ManagedFlag
从最近接收的路由器宣告消息的M标记字段(即“被管理地址配置”标记)拷贝。该标记指明是否使用有状态自动配置机制来配置地址,初始为FALSE状态。--OtherConfigFlag
从最近接收的路由器宣告消息的O标记字段(即“其他有状态配置”标记)拷贝。该标记指明除地址之外的其他信息是否要使用有状态地址自动配置机制获得:初始为FALSE状态。此外,当ManagedFlag值为“TRUE”时,OtherConfigFlag值也隐含为“TRUE”。一台主机如果使用有状态地址自动配置只请求得到地址,而不接收其他配置信息,则不是一个有效的5
YD/T1344-2005
配置。
主机还维护个地址及其相应生存期的表。地址表中包含自动配置的地址和手工配置的地址。6地址生成
6.1链路本地地址的产生
每当接口启动时节点就形成一个链路本地地址。一个接口可以在下列任何一个事件之后启动:接口在系统启动时初始化;
接口在暂时的接口故障或被系统管理暂时禁用之后重新启动;接口第一次被连在链路上;
接口被系统管理通过管理手段禁用之后启动。链路本地地址是将众所周知的(适当长度的)链路本地前缀FE80::0加在接口标识符前边形成的。若接口标识符的长度为N比特,则接口标识符取代链路本地前缀最右边的N个“0”比特。若接口标识符长度超过118比特,则自动配置失败,需要进行手工配置。注意,接口标识符一般为64比特,并且基于EUI-64标识符。
链路本地地址具有无限首选并有效的生存期,永远不会过期失效。6.2全局和站点本地地址的产生
全局和站点本地地址是通过将接口标识符附加到一个适当长度的前缀之后构成的。前缀是从路由器宣告中包含的前缀信息选项中得到的。全局和站点本地地址的产生以及本节描述的其他参数的配置应可在本地完成。然而,下文描述的处理必须是缺省启用的。6.2.1路由器宣告处理
路由器宣告包含了两个标识,即“M”比特和“O”比特。“M”比特为“管理地址配置”标记,指明主机是否使用无状态自动配置以外的管理(有状态)协议来获得地址;“O”比特为“其他有状态配置”标记,标识指明主机是否应该使用被管理的(有状态)协议来获得除地址外的其他信息。主机接收到-个合法的路由器宣告后,将宣告信息的“M”比特值拷贝到ManagedFlag中,如果ManagedFlag的值由FALSE变为TRUE,而且该主机尚未运行有状态地址自动配置协议,则应该调用有状态地址自动配置协议,请求得到地址信息和其他信息;如果ManagedFlag的值由TRUE变为FALSE,主机应继续运行有状态地址自动配置,也就是说,ManagedFlag值的改变对主机的运行没有任何影响;如果该标识位的值没有改变,则主机不做任何动作。尤其需要说明的是,如果一台主机在先前宣告中已经启用了有状态协议,则不需要重新调用有状态地址配置协议。路由宣告的“o”标志位以类似的方式处理。主叫将“o”标志位的值拷贝到OtherConfigFlag中,如果OtherConfigFlag的值由FALSE变为TRUE,主机就应该调用有状态自动配置协议来请求得到信息(如果ManagedFlag的值为FALSE,则不包括地址信息);如果OtherConfigFlag的值由TRUE变为FALSE,则主机继续运行有状态地址自动配置协议,也就是说,O标志位对OtherConfigFlag值的改变没有影响;如果该标志位的值没有变化,则不采取任何动作。尤其需要说明的是,如果一台主机在先前宣告中已经启用了有状态协议,则不需要重新调用有状态地址配置。路由器宣告也包含零个或多个前缀信息选项,这些选项的内容包括无状态地址自动配置生成站点本地地址和全局地址所使用的信息。前缀信息选项域中的“自治地址配置”标记指明该前缀信息是否可用于地址的自动配置。如果可以,选项域中还要包括一个子网前缀,同时指明用该前缀生成的地址的生存期。6
对于路由宣告中的每个前缀信息选项进行如下处理。a)如果没有设置“自治地址配置”标记,则忽略前缀信息选项。b)如果前缀是链路本地前缀,则忽略前缀信息选项。YD/T1344-2005
c)如果推荐生存期大于有效生存期,则忽略前缀信息选项,在这种情况下,节点可能会记录一个系统管理差错。
d)如果宣告的前缀与地址列表中的前缀不符,并且其有效生存期不是0,则在列表中由这个宜告的前缀和链路接口标识符按下列格式创建一个地址:4
(128-M)比特
链路前缀
N比特
接口标识符
如果前缀长度与接口标识符长度的和不等于128比特,则必须忽略前缀信息选项。此时应记录个系统管理差错。系统管理器应负责确保路由宣告中包含的前缀长度与该链路类型的接口标识符的长度匹配。注意,接口标识符的典型长度是64比特。如果成功的创建了一个地址,主机将其加人分配给该接口的地址列表中,并在前缀信息选项中初始化其指定的有效生存期的值。e)如果宣告的前缀与该接口相关的地址列表中的自动配置地址(即通过有状态地址自动配置或无状态地址自动配置获得的地址)前缀相匹配,则根据收到的宣告中的有效生存期和前面自动配置的地址的生存期(以下称作存储的生存期)采取动作:1)如果收到的生存期>2h,或者超过存储的生存期,则更新相应地址存储的生存期。2)如果存储的生存期≤2h,并且收到的生存期小于或等于存储的生存期,除非获得该前缀信息选项的路由宣告是已被授权的,否则忽略该前缀。如果路由宣告已授权,则存储的生存期应设置成接收到的选项中的生存期。3)如果不是上述两种情况,则重新设置相关地址中存储的生存期为2h。上述规则防止了带有非常小有效生存期前缀的伪造宣告的业务攻击。如果没有上述规则,仅一个包含具有很短生存期的前缀信息选项的未授权宣告可能会导致所有节点的地址过早失效。上述规则确保合法的宣告(它们是定期发送的)在真正生效前将生存期短的宣告删掉。6.2.2地址生存期过期
当指定的生存期过期后,一个指定的地址将失效。在当前的通信中,一个失效的地址应该继续当做一个源地址,但如果有一个可用的替换(没有失效的)地址并且其范围足够时,失效地址不能用于新的通信。既然失效地址仍然是接口的一个合法地址,IP层和更高层(如TCP和UDP)必须继续接受目标是该失效地址的数据包。在实际操作中可能会避免新的通信使用已失效的地址,但是系统管理必须有能力废止该功能,并在系统中默认该功能已被废止。当有效的生存期过期后,一个地址和它相关的接口就变为无效。失效的地址不能当做通信中的源地址,也不能当做接收接口的目标地址。7重复地址检测
将单播地址配置到一个接口之前,如果该接口的DupAddrDetectTransmits的值大于0,则要进行重复地址检测。重复地址检测必须在给接口配置地址之前执行是为了防止多个节点同时使用相同的地址)。如果一个节点在进行重复地址检测的同时开始使用某一地址,并且别的节点已经在使用该地址,则执行7
YD/T1344-2005
重复地址检测的节点就会错误地处理实际上是对另一个节点的数据流,这就会导致一种可能的负面效果,即要重新建立传输控制协议的连接。无论通过状态(有状态的、无状态的)或手工配置获得的单播地址,都必须进行重复地址检测,但以下情况例外:
一不能对泛播地址执行重复地址检测。一每一个单播地址都应该进行惟一性检测。但是当使用无状态地址自动配置时,假定指定的子网前缀都是正确的,地址的惟一性仅仅决定于接口标识符(也就是说,如果所有接口地址都由一个标识符产生,那么其中所有的地址都不会有重复)。因此,对产生于同一个接口标识符的一组地址来说,检查产生于该标识符的链路本地在该链路上的惟一性就足够了。而且在这种情况下,链路本地地址必须进行惟一性检测,如果没有检测到重复地址,则对于从同一个接口标识符产生的附加地址,可以不进行重复地址检测。重复地址检测过程使用如下所述的邻居多方请求和宣告消息。如果在过程中发现重复地址,就不能将这个地址配置给接口。如果该地址是由接口标识符得出的,则需要对该接口设置一个新的标识符,或者对该接口的全部P地址进行人工配置。注意检测重复的方法不是完全可靠的,并且很可能重复地址仍然会存在(例如,当执行重复地址检测的时链路是分开的)。重复地址检测成功完成以前,即检测过程中使用的地址被称作是临时的。从传统意义上讲,临时地址是不考虑“分派给接口”的。也就是说,该接口必须接受在目标地址域里包含该临时地址的邻居多方请求和宣告消息,但对此类包的处理不同于对那些目标地址与配置到接口上的地址相匹配的数据包的处理。其他指向该临时地址的数据包应当被丢弃。下面的小节描述节点为确定地址惟一一性所进行的特定测试。如果在DupAddrDetectTransmits次邻居多方请求消息之后,在RetransTimer毫秒内没有检测出存在重复的地址,那么该地址就可以被认为是惟一的。一旦某一地址被判定是惟一的,就可以把它配置到接口。7.1消息有效性
节点必须悄悄丢弃任何未通过在邻居发现协议里规定的有效性检查的邻居多方请求或宣告消息。通过有效性检查的请求被称作有效多方请求或有效宜告。7.2发送邻居多方请求消息
发送邻居多方请求之前,接口必须具有全部节点的组播地址以及临时地址的请求节点组播地址。前者确保该节点收到来自其他已经在使用这个地址的节点的邻居宣告;后者确保企图同时使用同样地址的两个节点探测到彼此的存在。
为了检查一个地址,节点发送DupAddrDetectTransmits次邻居多方请求,每次间隔RetransTimer毫秒。该请求的目标地址设置为被检查的地址,该IP的源地址设置为未指定的地址,而该IP的目的地址设置为目标地址的多方请求节点组播地址。如果该邻居多方请求是接口在(重新)初始化以后接口发出的第一个消息,则该节点应该延迟发送该消息,延迟的时间是随机的,范围为0和Max_Rtr_SolicitationDelay之间的任意值。在该链路上许多节点同时启动时这种服务能缓解拥塞,比如在电源故障以后的情况,并且可以有助于避免同时有多个节点试图请求同样地址时的竞争情况。为了改善重复地址检测算法的健壮性,在延迟传输初始邻居多方请求期间,对发送给所有节点的组播地址或临时地址的请求节点组播地址的数据报,接口必须予以接收和处理。8
小提示:此标准内容仅展示完整标准里的部分截取内容,若需要完整标准请到上方自行免费下载完整标准文档。