对用于自动前缀委派的IPv6邻居发现协议的扩展的制作方法

文档序号:7937645阅读:294来源:国知局
专利名称:对用于自动前缀委派的IPv6邻居发现协议的扩展的制作方法
技术领域
本公开一般涉及路由器将因特网协议(IP)网络地址前缀委派
(delegating)给其它路由器。
背景技术
因特网工程任务组(IETF)请求注解(RFC) 2461描述了用于连接在 同一有线或无线链路上的IPv6节点的邻居发现协议。RFC 2461还规定了 路由器公告消息(router advertisement message)格式,该格式使得路由器 能够指定由附接到该链路的主机用于自治(无状态)地址配置的地址前 缀;或者,路由器公告消息可以指导连接到链路的主机根据例如在RFC 3315中描述的动态主机配置协议(DHCPv6)来利用有状态地址配置。
RFC 3633描述IPv6前缀委派,其中,包括DHCP服务器的委派路由 器可以例如跨越管辖边界将地址前缀委派给请求路由器。


对附图进行参考,其中,在整个附图中具有相同标号的元件表示类似 的元件,并且其中,
图1图示出了根据示例实施例的具有可以执行自动前缀委派的路由器 的示例网络。
图2图示出了来自图1的网络的示例路由器。
图3图示出了根据示例实施例由图1中的路由器之一生成的并且具有 指定了经委派地址前缀的示例前缀委派信息选项的示例路由器公告消息。
图4图示出了根据示例实施例由图1中的路由器之一生成的并且具有 指定了被主张权利(claim)或被拥有地址前缀的示例前缀主张权利/所有权选项的示例邻居公告消息。
图5图示出了根据示例实施例由路由器主张权利用于基于附接路由器
的经委派地址前缀在入口链路(ingress link)上进行指派和转委派的示例 地址前缀。
图6图示出了根据示例实施例由委派了地址前缀的附接路由器执行的 示例方法。
图7A、 7B和7C图示出了根据示例实施例由从附接路由器接收未经 请求经委派地址前缀的被附接路由器执行的示例方法。
具体实施例方式
概览
在一个实施例中, 一种方法包括由路由器检测来自附接路由器的第 一路由器公告消息,附接路由器提供路由器所使用的附接链路,第一路由 器公告消息指定了附接路由器所拥有的并且可用于附接链路上的地址自动
配置的第一IPv6地址前缀。该方法还包括由路由器检测来自附接路由器 的并且可供路由器使用的未经请求经委派IPv6地址前缀。该方法还包括
由路由器从经委派IPv6地址前缀的至少一部分中主张对第二 IPv6地址前
缀的权利以供在路由器的至少一条入口链路上使用。
在另一实施例中, 一种方法包括由路由器生成具有前缀委派信息选
项字段的路由器公告消息。前缀委派信息选项字段指定了具有指定前缀长
度的经委派IPv6地址前缀,以供经由路由器提供的入口链路附接到路由器 的被附接路由器使用该经委派IPv6地址前缀的至少一部分。该方法还包
括由路由器将路由器公告消息输出到入口链路上以供被附接路由器使 用。
详细描述
特定实施例扩展了诸如根据RFC 2460、 RFC 2461和RFC 3513实现的 IPv6网络之类的因特网协议(IP)网络中的路由器的能力。这种路由器已 经能够生成未经请求的路由器公告消息并将其输出到网络链路上,该路由 器公告消息指定了可以用于网络链路上的地址自动配置的IPv6地址前缀的前缀信息选项(PIO),如RFC 2461中所描述的。然而,迄今为止的这种路由器依赖于具有前缀委派的动态主机配置协议(DHCP) (DHCP-PD),例如在RFC 3315、 RFC 3633以及美国专利No. 7,039, 035中所描述的。
特定实施例通过使得路由器能够生成并输出指定了前缀委派信息选项
(PDIO)的未经请求路由器公告来扩展路由器的能力,PDIO指定了可由
被附接路由器用于附接链路上的路由操作而非地址自动配置的地址前缀。
前缀委派信息选项(PDIO)可以如RFC 2461中所述的与i^有前缀信息选
项(PIO)同时被附接,或者可以在未指定任何用于地址自动配置的前缀
信息选项的其自身的路由器公告消息内被输出。因此,路由器可以通过输
出指定了前缀委派信息选项的路由器公告消息来自治地将地址前缀指派到
链路上,该前缀委派信息选项标识了可由附接到该链路的其它路由器使用的至少一个经委派地址前缀。
因此,在接收到的路由器公告消息中检测前缀委派信息选项的路由器可以从未经请求的路由器公告消息所指定的经委派地址前缀中自动地主张对前缀的权利。从经委派地址前缀主张前缀的权利的路由器还可以输出具有指定了所主张权利的前缀的前缀主张权利/所有权选项字段的邻居公告消息,以判断是否有任何其它路由器也试图主张前缀的权利。已经主张了前缀主张权利/所有权选项字段中所指定的前缀的权利的任何其它路由器可以生成并输出对所主张权利的地址前缀的所有权进行声称的冲突邻居公告消息。因此,路由器可以基于对未经请求的路由器公告消息中所指定的经委派地址前缀的至少一部分主张权利来自动地获取地址前缀,并且公告所主张权利的前缀以确保对于所主张权利的前缀不存在冲突。
因此,特定实施例使得地址前缀委派能够例如通过小型家庭办公室(SOHO)网络中的消费级路由器在IP网络中被自动执行,而无需实现例如在RFC 3315、 RFC 3633以及美国专利No. 7,039, 035中公开的需要存储经委派前缀的状态信息的诸如具有前缀委派的动态主机配置协议(DHCP-PD)之类的有状态协议。
另外,特定实施例使得前缀委派信息选项中的经公告前缀能够选择性
ii地被转委派(sub-delegate),这使得能够由经委派地址前缀内的相继路由器执行递归的地址前缀委派。因此,可以在(例如根据树状拓扑进行组织的)整个网络中自动地指派并分发地址前缀,而无需基于生成并输出指定了经委派地址前缀的未经请求路由器公告消息的路由器来进行手动配置,其中,经委派地址前缀的多个部分还可以基于经核准的递归前缀委派而由被附接路由器转委派。
图1是图示出根据示例实施例具有被配置用于自治前缀委派的路由器12的示例网络10的示图。每个路由器12可以被配置用于将路由器公告
(RA)消息14输出到其入口链路上,入口链路用作所附接路由器的附接链路(即,出口链路)。术语"入口链路"指由"附接路由器"提供的供
"被附接路由器"附接的链路,而术语"出口链路"指由"被附接路由器"用来附接到"附接路由器"的链路。如图l所示,路由器"R0" 12用作网络10的簇首(clusterhead),并且依赖于出口链路20a作为其到广域网22的附接链路;路由器"R0"提供了入口链路"L0" 20b,入口链路
"L0" 20b用作路由器"R-00"和"R-01" 12的附接链路,路由器"R-00"和"R-01" 12已附接到作为它们的附接路由器的路由器"R0" 12。类似地,依赖于出口链路20b的路由器"R-01"具有其附接链路,提供其入口链路"L-00" 20b作为其它被附接路由器(未示出)的附接链路,并且还提供其入口链路"L-01" 20c作为被附接路由器"R-000"和"R-001"12的附接链路。在不存在路由协议的情况下,即使复杂拓扑包括重叠分支,也可以将更复杂的拓扑"瓦解"(例如,被表征为)为逻辑树状拓扑。
因此,树状拓扑中的每个路由器都将仅有用作该路由器的"附接链路"的一个出口链路,以及可以提供针对被附接路由器的各个附接链路的一个或多个入口链路。
每个路由器12可被配置用于将未经请求路由器公告消息14输出到其入口链路上。例如,路由器"R0" 12可以被配置用于将包括如RFC 2461的4.2部分所规定的前缀信息选项(PIO) 16的未经请求路由器公告消息14a输出到其入口链路"L0" 20b。路由器"R0"还可以被配置用于向其入口链路"L0" 20b输出指定了前缀委派信息选项(PDIO) 18的未经请求路由器公告消息14b, PDIO 18指定了经委派的IPv6地址前缀,将在下面相对于图3进一步详细描述。因此,每个路由器12 (例如,路由器
"RO")可以被配置为向其入口链路(例如,"LO" 20b)输出指定了要用于地址自动配置的前缀信息选项16的路由器公告消息(例如,14a),以及指定了前缀委派信息选项18的第二未经请求路由器公告消息(例如,14b),前缀委派信息选项18标识了供被附接路由器(例如,路由器
"R-00"和"R-01" ) 12使用的未经请求经委派IPv6地址前缀。如下面进一步描述的,每个路由器(例如,"R-01" ) 12还可以被配置用于向其入口接口 (例如,"L-01" 20c)输出包括如下两者的路由器公告消息(例如,14d):用于相对应入口链路(例如,20c)上的地址自动配置的前缀信息选项(PIO) 16,以及指定了供相对应入口链路(例如,20c)上的路由器(例如,"R-000"和"R-001")使用的经委派IPv6地址前缀的前缀委派信息选项(PDIO) 18。
每个路由器12 (例如,路由器"R-01" 12)响应于接收到指定了前缀委派信息选项(PDIO) 18的未经请求路由器公告消息(例如14b),可以通过自动地对PDIO 18所指定的经委派IPv6地址前缀的至少一部分中的IPv6地址前缀主张权利,来对未经请求路由器公告消息(例如14b)作出响应。路由器(例如,"R-01" 12)可以响应于自动地对PDIO 18中所指定的经委派IPv6地址前缀的中的IPv6地址前缀主张权利,向其附接链路
(例如20b)输出指定了标识所主张权利的IPv6地址前缀的前缀主张权利/所有权选项(PCOO) 24的邻居公告消息(例如,"NA1" ) 22。如果在规定时间间隔内相对应附接链路上的其它路由器(例如,链路"L0" 20b上的路由器"R-00")未对针对前缀主张权利/所有权选项(PCOO) 24中所指定的前缀的权利主张提出异议,则已输出邻居公告消息22的路由器将地址前缀的状态从"被主张权利"改变为"被拥有",并且开始使用所拥有的前缀,包括再次划分所拥有前缀以供在其入口链路(例如,"L-00" 20b和"L-01" 20c)上使用,以及保卫所拥有前缀以免于附接到同一附接链路(例如,"L0" 20b)的其它路由器的其它后续权利主张。
13因此,路由器可以自动地从接收到的指定了前缀委派信息选项18的路由器公告消息中获取经委派地址前缀,并且可以利用指定了前缀主张权
利/所有权选项(PCOO) 24的邻居公告消息22来主张权利并保卫所获得的地址前缀。
图2是图示出根据示例实施例的示例路由器12 (例如,"R-01")的示图。路由器12包括网络接口电路26、路由电路28和存储器电路30。网络接口电路26包括出口接口电路32,出口接口电路32被配置用于例如响应于检测到指定了对要用于自动配置的网络地址前缀进行标识的前缀信息选项字段16的未经请求路由器公告消息(例如,14a),而检测并连接到由附接路由器(即,"父"路由器)(例如,"R0")提供的附接链路(例如,"L0" 20b)。如下所述,出口接口电路32还可以从接收到的路由器公告消息(例如,14b)检测前缀委派信息选项18。
网络接口电路26还包括入口接口电路34,该入口接口电路34被配置用于提供用作被附接路由器的附接链路的入口链路。入口接口电路34还可以被配置用于输出针对各个入口链路(例如,20b、 20c)的路由器公告消息(例如,14c、 14d)。出口接口电路32和入口接口电路34都可被配置用于将邻居公告消息22输出到各个出口和入口链路上。
路由电路28被配置用于从出口接口电路32和入口接口电路34接收消息,从存储器电路30存储和读取数据,并且适当地生成路由器公告消息14和邻居公告消息22用于由出口接口电路32或入口接口电路34输出。如下所述,路由电路28可以主张权利并保卫从接收到的路由器公告消息中取得的地址前缀,并且可以使用所取得的地址前缀供在入口链路上使用,包括输出路由器公告消息用于入口链路上的地址自动配置,或者基于确定从附接路由器(即,父路由器)核准了递归委派,而对入口链路上的地址前缀进行转委派。路由电路28还被配置用于执行本领域公知的路由操作,例如转发分组、对因特网控制管理协议(ICMP)分组进行响应等。
存储器电路30包括路由表存储器电路36、后缀选择存储器电路38、具有被主张权利/所有权状态字段42的路由器前缀寄存器电路40、经指派链路前缀表电路44以及经委派链路前缀表电路46。路由表电路36被配置用于存储路由表条目,包括用于到达所标识的主机地址或地址前缀的可达性信息,如本领域公知的。后缀选择存储器电路38被配置用于存储与路由电路28应当如何从如接收到的前缀委派信息选项18所指定的经委派前缀中选择子前缀有关的信息如下所述,后缀选择存储器电路38可以指定要附加到任何接收到的前缀的特定四比特后缀,或者可替代地可以通过利用散列键(hash key)缓存所接收前缀来存储在动态生成后缀时要使用的至少一个散列键,以确定要附加到所接收前缀的适当后缀。
路由器前缀寄存器电路40被配置用于存储将由路由电路28使用的当前所选地址前缀;被主张权利/所有权状态字段42标识出路由器前缀寄存器电路40中所指定的当前所选地址前缀是"被主张权利"还是"被拥有"。假设没有其它路由器声称己经拥有当前所选地址前缀,则地址前缀被"被主张权利",然后等待路由电路28对是否建立当前所选地址前缀的所有权的决定;如下面相对于图7A所述的,如果标识当前所选地址前缀的冲突邻居公告消息22被接收到,并且如果路由电路28确定状态字段42将当前所选地址前缀标识为"被主张权利"(即,未被拥有),则路由电路28将放弃当前所选地址前缀并且尝试选择接收到的前缀委派信息选项18中所指定的经委派前缀中的另一地址前缀。然而,如果路由电路28确定状态字段42将当前所选地址前缀标识为"被拥有",则路由电路28将通过输出其自身的邻居公告消息22来保卫其当前所选地址前缀,该邻居公告消息22具有声称地址前缀的所有权的前缀主张权利/所有权选项24。
经指派链路前缀表44逐入口链路地标识被指派给给定入口链路用于自动配置的前缀。经委派链路前缀表46逐入口链路地标识被委派给给定入口链路用于下述递归委派的前缀。
虽然未在图2中示出,然而,例如如果被附接节点不公平地输出对经公告前缀的相对大量的权利主张,或者如果被附接节点不公平地输出对短于最小委派前缀长度64的前缀的权利主张,则存储器电路30还可以包括"滥用列表",该列表标识由路由电路28检测到的被附接节点的MAC地址,并且该列表不遵从根据路由器12所输出的邻居公告消息22的策略。 在此情况中,路由电路28可以将"忽略列表"输出到其入口接口电路34 以向其它被附接节点通知来自"忽略列表"上的任何节点的任何邻居公告 消息22都应当被忽略;因此,可以排除"忽略列表"上的不相容被附接 节点对经委派前缀在被附接节点之间进行仲裁,以便使由错误配置的被附 接节点引起的配置问题最小化。
路由器12的任何所公开电路(包括网络接口电路26、路由电路28及 其关联组件)都可以用多种形式来实现,多种形式包括在诸如可编程逻 辑阵列(PLA)、现场可编程门阵列(FPGA)之类的逻辑阵列中实现 的,或者通过对诸如专用集成电路(ASIC)之类的集成电路进行掩模编程 来实现的硬件逻辑;还可以利用由诸如微处理器(未示出)之类的相应内 部处理器执行的基于软件的可执行资源来实现这些电路中的任何电路,其 中,对存储在内部非易失性存储器(例如,存储器电路30内)中的可执 行代码的执行使得处理器将应用状态变量存储在处理器存储器中,从而创 建执行如这里所述的电路的操作的可执行应用资源(例如,应用实例)。 因此,在此说明书中对术语"电路"的使用是指基于硬件的电路或基于软 件的电路两者,基于硬件的电路包括用于执行所述操作的逻辑,基于软件 的电路包括用于存储通过处理器执行可执行代码而被修改的应用状态数据 和应用变量的处理器存储器的保留部分。存储器电路30可以被实现为非 易失性存储器,例如EPROM、 DRAM等。
此外,可以基于如下操作来实现对"输出消息"或"输出分组"的任 何引用以数据结构的形式创建消息/分组,并且将该数据结构存储在所公 开装置中的有形存储介质中(例如,发送缓冲器中),以及经由通信介质 (例如,适当的有线或无线链路)(还可以适当地使用光传输)将存储在 有形存储介质中的消息/分组以电的形式发送(例如,适当地经由有线电流 或无线电场)到另一网络节点。类似地,可以基于所公开的装置的如下操
作来实现对"接收消息"或"接收分组"的任何引用在通信介质上检测
消息/分组的电(或光)传输,并且将检测到的传输作为数据结构存储在所 公开装置中的有形存储介质中(例如,接收缓冲器中)。
16图3是图示出根据示例实施例由路由电路28生成的示例邻居公告消 息14的示图。邻居公告消息14可以包括根据RFC 2460的IPv6头部50、 路由器公告消息头部52、前缀信息选项16以及前缀委派信息选项18。优 选地,可以省略前缀信息选项16,以使得可以分离地在不同路由器公告消 息中发送选项16和18。
路由器公告消息头部52包括如RFC 2461的部分4.2所规定的ICMP 字段。前缀信息选项16指定了如RFC 2461的部分4.2所规定的用于自治 地址自动配置的经指派前缀。
前缀委派信息选项(PDIO) 18指定了经委派IPv6地址前缀,并且还 可以指定类型字段58、选项长度字段60、前缀长度字段62、最小所需委 派前缀长度(MDL)字段64以及委派核准标识符66。类型字段58标识前 缀委派信息选项(PDIO) 18以确保所指定的经委派前缀56用于IPv6地址 前缀委派而非自治地址配置;换言之,类型字段58唯一地标识选项18, 以确保不将选项18与用于地址自动配置的已有前缀信息选项16混淆。长 度字段60指定了选项18的长度,并且前缀长度字段62根据有效比特数来 标识经委派前缀的长度;因此,如果128比特经委派前缀字段56指定了 十六进制值"2001'.0DB8::"(根据RFC 3513中的协定)并且前缀长度字 段62指定了 (十进制)值"48",贝ijPDIO 18根据RFC 3513中的协定指 定了IPv6地址前缀"2001:0DB8::/48"。
MDL字段64规定了试图对经委派前缀56中的前缀主张权利的任何路 由器是否需要最小所需委派前缀长度。例如,如果前缀长度字段62和经 委派前缀字段56致使PDI0 18指定经委派地址前缀"2001:0DB8::/48", 则MDL字段64可以用来确保任何路由器都不试图对整个48比特前缀主 张权利;因此,如果MDL字段64指定了 (十进制)值"52",则可由任 何被附接路由器主张权利的最小长度前缀为52比特前缀;如果MDL字段 64指定了 (十进制)值"64",则可由任何被附接路由器主张权利的最小 长度前缀为64比特前缀。
委派核准标识符66 (例如,利用一比特标志)规定是否核准任何被附 接路由器根据PDIO 18所指定的经委派IPv6地址前缀的被主张权利部分来执行递归前缀委派。如果未核准递归前缀委派,则被附接路由器可以仅将 经委派IPv6地址前缀中的其主张权利部分用于其入口链路上的地址自动配
置;然而,如果DA字段66核准了递归前缀委派,则路由器可以执行递归 前缀委派并且将其所主张权利的地址前缀的一部分指派给其入口链路之一 上的另一被附接路由器。
虽然未在图3中示出,然而,PDIO 18还可以包括标识有效委派间隔 (例如, 一小时、 一天等)的定时器字段,其中,定时器字段值零表示已 撤销了对所指定前缀56的所有委派并且将重新开始前缀委派。路由电路 28可以例如响应于向其忽略列表添加MAC地址或者某种其它管辖改变, 来将定时器字段值设为零。
图4是图示出根据示例实施例由路由电路28生成的示例邻居公告消 息22的示图。邻居公告消息22包括IPv6头部50、根据RFC 2461指定 ICMP字段的邻居公告头部70,以及前缀主张权利/所有权选项(PCOO) 24。 PCOO 24包括将选项24标识为前缀主张权利/所有权选项的类型字 段72,以及指定选项24的长度的选项长度字段74、指定在128比特前缀 字段78中所指定的前缀的长度(g卩,有效比特数)的前缀长度字段76, 以及被主张权利/被拥有(C/0)字段(例如, 一比特标志)80。 C/0字段 80指定了 PCOO 24中所指定的前缀是否被IPv6头部50中的源地址字段所 标识的路由器12主张权利,或者前缀是否由该路由器拥有。具体地,如 果C/0字段80指定PCOO 24中所指定的前缀由输出了邻居公告消息22的 路由器所拥有,则其它路由器将放弃对该前缀主张权利的任何尝试;然 而,如果C/0字段80指定前缀未被路由器拥有而是被路由器"主张权 利",贝喊另一路由器先前已输出了指定同一前缀的邻居公告消息的情况 下,该另一路由器可以例如基于规定的仲裁方案通过生成并输出冲突邻居 公告消息来声称所有权。
因此,路由器可以利用PC00 24向其它路由器发送询问,以便判断任 何其它路由器是否通过将C/0字段80设为"被主张权利"状态来尝试对 所指定的前缀主张权利;类似地,路由器可以利用PC00 24,以通过将 C/O字段80设为"被拥有"状态来保卫对所指定前缀的所有权。图5是图示出根据示例实施例由被附接路由器(例如,"R-01")使 用附接路由器(例如,"R0")在该被附接路由器的附接链路(例如,
"L0"20b)上公告的经委派IPv6地址前缀82的示例的示图。图6是图示 出根据示例实施例由附接路由器(例如,"R0")执行的示例方法的示 图。图7A、 7B和7C是总结了根据示例实施例由被附接路由器(例如
"R-01")执行的示例方法的示图。图6、 7A、 7B和7C所述的步骤可以 被实现为存储在计算机可读介质(例如,软盘、硬盘、EEPROM、 CD-ROM 等)上的可执行代码,基于由处理器执行代码来实现这些步骤;这 里所描述的步骤还可以被实现为被编码在一个或多个有形介质中供执行的 可执行逻辑(例如,可编程逻辑阵列或器件、现场可编程门阵列、可编程 阵列逻辑、专用集成电路等)。
如图6所示,附接路由器(例如,"R0")的路由电路28在步骤100 中生成将由被附接路由器(例如,"R-00"和"R-01")用于如RFC 2461 中所述的地址自动配置的前缀信息选项(PIO) 16。附接路由器(例如,
"R0")的路由电路28在步骤102中生成图3所示的供被附接路由器
(例如,"R-00"和"R-01")使用的前缀委派信息选项(PDIO) 18。例 如,假设附接路由器的路由电路28在PDIO 18中将经委派IPv6地址前缀 指定为"2001:0DB8::/48" 82并且路由器28还设置委派核准(DA)字段 66以指示被附接路由器的递归委派被核准。附接路由器(例如,"R0") 的路由电路28在步骤104中经由其入口接口电路34将至少一个未经请求 路由器公告消息输出到其入口链路(例如,20b),并且未经请求路由器 公告消息指定了前缀信息选项16和前缀委派信息选项18;如图l所示, 还可以在各自的未经请求路由器公告消息(例如,14a和14b)中输出选项 16和18。
如下面相对图7B所述的,如果在步骤106,路由电路28判定前缀信 息选项16中所指定的可用地址前缀在前缀委派信息选项18所指定的经委 派前缀82内,则路由电路28可以在步骤108中输出邻居公告消息22,该 邻居公告消息22保卫所发送路由器公告消息的前缀信息选项16所指定的 前缀;或者,被附接路由器可被配置为解释任何前缀信息选项16内在地
19正保卫所指定地址前缀,这消除了附接路由器将邻居公告消息22输出到 其入口链路上的需要。
参考图7A,由附接路由器(例如,"R0")提供的附接链路(例如 "L0" 20b)上的每个被附接路由器(例如"R-01")在步骤110中检测 在其出口接口电路32上接收的未经请求路由器公告消息(例如,14a和域 14b)。继续被附接路由器"R-01"的示例,路由电路28在步骤112中判 断是否检测到了用于地址自动配置的前缀信息选项(PIO) 16;如果检测 到PIO 16,则路由电路28在步骤114中通过指派默认附接地址并将其默 认附接地址存储在存储器电路30 (例如,路由表36内)或出口接口电路 32中,来按照需要执行例如RFC 2461中所述的自动配置。
路由电路28还在步骤116中判断是否从接收到的路由器公告消息 (例如,14b)中检测到了指定经委派IPv6地址前缀82 (例如图5所示) 的前缀委派信息选项(PDIO) 18。假设检测到了前缀委派信息选项18, 则路由电路28在步骤118中对图5所示的所选IPv6地址前缀120主张权 利。应当清楚,图5所示的所选IPv6地址前缀120仅仅用作示例,这是因 为可从PDIO 18所指定的经委派IPv6地址前缀(例如,图5的82)中选 择IPv6地址前缀。例如,图7C图示出了图7A的步骤118的示例实施方 式,其中,可以取决于实施方式和发送了前缀委派信息选项18的附接路 由器的偏好来选择不同的前缀长度。
例如,路由电路28可以实施图7A的步骤118,以通过在步骤122判 断最小经委派前缀长度(MDL)字段64是否指定了 64比特的最小前缀长 度,来从经委派前缀中选择所选IPv6地址前缀。例如,附接路由器 "R0"可以被配置为逐链路地限制由被附接路由器执行的委派;在此情况 中,如果MDL字段64指定了 64比特最小前缀长度,则被附接路由器 "R-01"的路由电路28可以被配置为在步骤124中从48比幕经委派前缀 (例如,图5的82)中主张64比特前缀的权利用于其入口链路(例如, "L-00" 、 "L-01"等)的每个链路。或者,被附接路由器"R-01"的路 由电路28可被配置为在步骤124中仅主张针对相应入口链路的一个64比 特前缀的权利,例如如果前缀长度62和MDL字段64都指定了 64比特前缀长度的话,此时,路由电路28可以在步骤126中等待接收指定了用于 下一链路的另一经委派前缀的另一路由器公告。
步骤128和130中公开了路由电路28从经委派IPv6地址前缀82中选 择IPv6地址前缀的替代实施方式,其中,路由电路28可以在步骤128中 通过向指定48比特的经委派前缀82附加后缀选择存储器电路38中的规定 所存储值或者基于将存储在后缀选择存储器电路38中的散列键应用到经 委派前缀82而生成的后缀,来选择所选IPv6地址前缀120。如下面相对 于图7C所述的,路由电路28还可以在步骤130中,在建立了对所选前缀 120的所有权时,从所选前缀120中选择各个链路前缀131和各个经转委 派前缀134。路由电路28的另一替代实施方式可以包括路由电路28基于 活动入口链路数目动态地选择前缀长度,例如,如果被附接路由器仅具有 两个活动入口链路,则路由电路28可以判定仅需要两个64比特前缀,并 且因此可以选择对单个63比特前缀主张权利,其中,两个64比特前缀在 63比特前缀的范围内。
再次参考图7A,被附接路由器(例如"R-01")的路由电路28将所 选路由器前缀(例如,图5的120)存储在路由器前缀寄存器40中,并且 在步骤136中生成并经由其出口接口电路32向其出口链路(即,"附接 链路")(例如20b)输出邻居公告消息(图1的"NA1" ) 22,该邻居 公告消息22指示了 (在PCOO 24中指定的)被主张权利IPv6地址前缀 120正被路由器("R-01")主张权利,如由IPv6头部50的源地址字段 中所指定的其IPv6地址所标识的。路由电路28在步骤138中判断是否在 规定时间间隔内经由其出口接口电路32接收到了对同一 IPv6地址的所有 权主张权利的冲突邻居公告消息22:如果在规定时间间隔内检测到了来自 未在附接路由器所指定的"忽略列表"上的网络节点的冲突邻居公告消息 22,则路由电路28在步骤140中放弃存储在路由器前缀条目40中的所主 张权利前缀,并且尝试对委派前缀82内的另一前缀主张权利。
然而,如果路由电路28在步骤138中确定在规定时间间隔内未接收 到冲突邻居公告消息,则路由电路28在步骤142中将C/0字段42中的所 选IPv6地址的状态从"被主张权利"设置为"被拥有"。当建立了对所选
21IPv6地址120的所有权后,路由电路28将所拥有前缀120内的所选链路 地址前缀132指派给各个入口链路(例如,20b、 20c),并且在步骤144 中生成(并输出)相应路由器公告消息(例如,14c、 14d),这些路由器 公告消息指定了所拥有前缀120内的要用于地址自动配置的各个所选链路 前缀132。
如果在步骤146中路由电路28基于PDIO 18中的委派核准比特66确 定递归前缀委派被核准,则路由电路28启动递归前缀委派,如图7B所示 的。具体地,路由电路28在步骤148中生成新的前缀委派信息选项18, 其指定了被委派给相对应链路用于前缀委派的经转委派前缀134 (不是地 址自动配置)。例如,图1和图5图示出了路由电路28生成用于输出到 入口链路"L-00"的路由器公告消息14c,该路由器公告消息14c在PDI0 18中指定了经转委派的IPv6地址前缀"2001:0DB8:0:1000::/56" 134被转 委派给入口链路"L-00" 20b;并且路由电路28生成用于输出到入口链路 "L-01"的路由器公告消息14d,该路由器公告消息14d在PDIO 18中指 定了经转委派的IPv6地址前缀"2001:0DB8:0:1100::/56" 134被转委派给 入口链路"L-01" 20c。路由电路28在步骤150中经由其入口接口电路34 将指定了 PDIO 28的路由器公告消息输出到相对应入口链路上。如图1所 示,前缀信息选项(PIO) 16和前缀委派信息选项(PDIO) 18可以被插入 同一路由器公告消息(例如,14c、 14d)内,或者分开地在不同路由器公 告消息(例如,14a、 14b)中被发送。
如先前所述的,如果在步骤152中所选链路前缀132在经转委派前缀 134的地址范围内,如图5相对于被保留用于入口链路"L-00" 20b的前缀 132和134所示,路由电路28可以在步骤154中将指定所指派前缀132由 路由器"R-01" 12拥有的邻居公告消息22输出到其入口链路(例如, 20b)上;或者,指定了 PIO 14的路由器公告消息可以用来对被指派链路 前缀132的所有权主张权利。
假设如路由器公告消息14的定时器字段中所指定的委派间隔尚未截 止,如果路由电路28在步骤156中检测到经由其出口接口电路32或其入 口接口电路34接收到的并且对任何所拥有前缀(例如,针对其入口链路
22之一所拥有的前缀)主张权利的邻居公告消息,则路由电路28将在步骤
158中输出具有前缀主张权利/所有权选项(PCOO) 24的冲突邻居公告消 息以声明其所拥有的前缀。从前面可清楚,如果委派间隔已截止,则被附 接网络节点将等待新的有效路由器公告消息14并且重新开始上述过程。
如这里所示的,示例实施例使能自治前缀委派,而无需诸如DHCP之 类的有状态服务。
权利要求
1.一种方法,包括由路由器检测来自提供由所述路由器使用的附接链路的附接路由器的未经请求第一路由器公告消息,所述第一路由器公告消息指定了由所述附接路由器拥有的并且可用于所述附接链路上的地址自动配置的第一IPv6地址前缀;由所述路由器检测来自所述附接路由器的并且可供所述路由器使用的未经请求的经委派IPv6地址前缀;以及由所述路由器从所述经委派IPv6地址前缀的至少一部分中主张对第二IPv6地址前缀的权利以供在所述路由器的至少一条入口链路上使用。
2. 如权利要求1所述的方法,其中,主张权利步骤包括将具有指定了对所述第二 IPv6地址前缀的所有权或经尝试所有权之一的前缀选项字段的邻居公告消息输出到所述附接链路上。
3. 如权利要求2所述的方法,其中,所述主张权利步骤还包括响应于在规定间隔内确定在所述附接链路上不存在指定了对所述第二 IPv6地址 前缀的所有权的任何冲突邻居公告消息,将所述第二 IPv6地址前缀的状态 从经尝试所有权改变为所有权。
4. 如权利要求2所述的方法,其中,所述主张权利步骤还包括响应于在规定间隔内在所述附接链路上检测到指定了对所述第二 IPv6地址前缀 的所有权的冲突邻居公告消息,而放弃所述第二IPv6地址前缀,并且从所 述经委派IPv6地址前缀中主张不同于所述第二 IPv6地址前缀的第三IPv6 地址前缀的权利。
5. 如权利要求1所述的方法,其中,主张权利步骤包括根据存储在 所述路由器中的规定选择准则来选择所述第二 IPv6地址前缀。
6. 如权利要求1所述的方法,还包括由所述路由器将第二路由器公告消息输出到所述至少一条入口链路 上,所述第二路由器公告消息指定了用于所述至少一条入口链路上的地址自动配置的所述第二IPv6地址前缀;以及响应于所述路由器从所述第二 IPv6地址前缀检测到核准递归前缀委派 的标识符,由所述路由器向所述至少一条入口链路输出来自所述经委派 IPv6地址前缀的第二经委派IPv6地址前缀可供任何路由器在所述至少一 条入口链路上使用。
7. 如权利要求6所述的方法,其中,所述第二 IPv6地址前缀在所述第二经委派IPv6地址前缀内,所述方法还包括由所述路由器向所述至少一条入口链路输出邻居公告消息,该邻居公告消息具有指定了所述第二 IPv6地址前缀由所述路由器拥有的前缀选项字段。
8. 如权利要求1所述的方法,其中,所述路由器提供多个入口链路并 且所述第二 IPv6地址前缀是所述经委派IPv6地址前缀的一部分,所述方法还包括基于向相对应入口链路输出指定了可用于地址自动配置的所述第二IPv6地址前缀的相对应部分的相对应路由器公告消息,来向每个入口链路 指派所述第二 IPv6地址前缀的相对应部分。
9. 如权利要求8所述的方法,其中,主张权利步骤还包括基于所述路由器提供的入口链路数目,由所述路由器选择所述第二 IPv6地址前缀相 对于所述经委派IPv6地址前缀的前缀长度。
10. 如权利要求1所述的方法,其中,所述经委派IPv6地址前缀是由 所述路由器在所述第一路由器公告消息或来自所述附接路由器的且未指定 可用于地址自动配置的所述第一 IPv6地址的第二路由器公告消息之一中检 测到的。
11. 如权利要求1所述的方法,其中,主张权利步骤包括基于由所述附接路由器针对所述经委派IPv6地址前缀指定的最小所需委派前缀长 度,来选择所述第二IPv6地址前缀的前缀长度。
12. 如权利要求1所述的方法,其中,所述第二 IPv6地址前缀等于所述经委派IPv6地址前缀,所述方法还包括检测来自所述附接路由器的并且可供所述路由器使用的第二未经请求经委派IPv6地址前缀;由所述路由器对所述第二未经请求经委派IPv6地址前缀主张权利以供在所述路由器的第二入口链路上使用。
13. —种方法,包括由路由器生成具有前缀委派信息选项字段的路由器公告消息,所述前 缀委派信息选项字段指定了具有指定前缀长度的经委派IPv6地址前缀,以 供经由所述路由器提供的入口链路附接到所述路由器的被附接路由器使用 所述经委派IPv6地址前缀的至少一部分;以及由所述路由器将所述路由器公告消息输出到所述入口链路上以供所述 被附接路由器使用。
14. 如权利要求13所述的方法,其中,所述前缀委派信息选项字段包 括核准任何被附接路由器对所述经委派IPv6地址前缀的至少一部分的递 归前缀委派的标识符。
15. 如权利要求14所述的方法,还包括由所述路由器生成并输出前缀信息选项字段,该前缀信息选项字段指 定了将用于所述入口链路上的地址自动配置的第一IPv6地址前缀;通过将所述前缀信息选项字段插入到具有前缀委派信息选项字段的所 述路由器公告消息或者由所述路由器输出到所述入口链路上的、未指定所 述前缀委派信息选项字段的第二路由器公告消息中的至少一个中,从而由 所述路由器生成所述前缀信息选项字段并将其输出到入口链路上。
16. 如权利要求15所述的方法,其中,所述第一 IPv6地址前缀在所述经委派IPv6地址前缀内,所述方法还包括由所述路由器生成并输出邻居公告消息,该邻居公告消息具有指定了所述第一 IPv6地址前缀由所述路由器拥有的前缀选项字段。
17. 如权利要求15所述的方法,其中,所述第一 IPv6地址前缀在所述 经委派IPv6地址前缀内,所述前缀信息选项字段指定了所述路由器拥有所 述第一IPv6地址前缀。
18. 如权利要求13所述的方法,其中,所述前缀委派信息选项字段指 定了所述被附接路由器在利用所述经委派IPv6地址前缀的至少一部分时使 用的最小所需委派前缀长度。
19. 如权利要求13所述的方法,其中,所述前缀委派信息选项字段包括指定了所述经委派IPv6地址前缀将用于IPv6地址前缀委派而非自治 地址配置的标识符。
20. —种装置,包括网络接口电路,被配置用于连接到附接链路,并且从提供所述附接链 路的附接路由器接收未经请求第一路由器公告消息,所述第一路由器公告 消息指定了由所述附接路由器拥有并且可用于所述附接链路上的地址自动 配置的第一 IPv6地址前缀,所述网络接口电路还被配置用于提供针对被附 接网络节点的至少一条入口链路;以及路由电路,被配置用于检测由所述网络接口电路从所述附接路由器接收到的、并且可供所述路由电路使用的未经请求的经委派IPv6地址前缀, 所述路由电路被配置用于从所述经委派IPv6地址前缀的至少一部分中主张 第二 IPv6地址前缀的权利以供在所述至少一条入口链路上使用。
21. 如权利要求20所述的装置,其中,所述路由电路被配置用于生成 供所述网络接口电路输出到所述附接链路上的邻居公告消息,该邻居公告 消息具有指定了对所述第二 IPv6地址前缀的所有权或经尝试所有权之一的 前缀选项字段。
22. 如权利要求21所述的装置,还包括被配置用于存储所述第二 IPv6 地址前缀的状态的存储器电路,所述路由电路被配置用于响应于在规定间 隔内确定在所述附接链路上不存在指定了对所述第二 IPv6地址前缀的所有 权的任何冲突邻居公告消息,来将所述第二 IPv6地址前缀的状态从经尝试 所有权改变为所有权。
23. 如权利要求21所述的装置,其中,所述路由电路被配置用于响 应于在规定间隔内从所述附接链路接收到指定了对所述第二 IPv6地址前缀 的所有权的冲突邻居公告消息,而放弃所述第二 IPv6地址前缀,并且从所 述经委派IPv6地址前缀中主张不同于所述第二 IPv6地址前缀的第三IPv6 地址前缀的权利。
24. 如权利要求20所述的装置,还包括被配置用于存储针对经委派地 址前缀的规定选择准则的存储器电路,所述路由电路被配置用于根据所述 规定选择准则来选择所述第二 IPv6地址前缀。
25. 如权利要求20所述的装置,其中所述路由电路被配置用于生成供所述网络接口电路输出到所述至少一条入口链路上的第二路由器公告消息,所述第二路由器公告消息指定了用于所述至少一条入口链路上的地址自动配置的所述第二IPV6地址前缀;所述路由电路被配置为响应于所述路由电路从所述第二 IPv6地址前缀检测到核准了递归前缀委派的标识符,生成供所述网络接口电路输出到所述至少一条入口链路上的未经请求前缀委派信息选项字段,所述未经请求前缀委派信息选项字段指定了来自经委派IPv6地址前缀的第二经委派IPv6地址前缀可供任何路由器在所述至少一条入口链路上使用。
26. 如权利要求25所述的装置,其中,所述第二 IPv6地址前缀在所述第二经委派IPv6地址前缀内,所述路由电路被配置用于生成供所述网络接口电路输出到所述至少一条入口链路上的、具有指定了所述第二 IPv6地址前缀由所述装置拥有的前缀选项字段的邻居公告消息。
27. 如权利要求20所述的装置,其中所述网络接口电路提供多个入口链路,并且所述路由电路被配置用于对所述经委派IPv6地址前缀中作为所述第二 IPv6地址前缀的一部分主张权利所述路由电路被配置用于基于生成供所述网络接口电路输出到相对应入口链路上的、指定了可用于地址自动配置的所述第二 IPv6地址前缀的相对应部分的相对应路由器公告消息,来向每个入口链路指派所述第二IPv6地址前缀的相对应部分。
28. 如权利要求27所述的装置,其中,所述路由电路被配置用于基于所述网络接口电路提供的入口链路数目,选择所述第二 IPv6地址前缀相对于所述经委派IPv6地址前缀的前缀长度。
29. 如权利要求20所述的装置,其中,所述经委派IPv6地址前缀是由所述路由电路在所述第一路由器公告消息或来自所述附接路由器的且未指定可用于地址自动配置的所述第一IPv6地址的第二路由器公告消息之一中检测到的。
30. 如权利要求20所述的装置,其中,所述路由电路被配置用于基于由所述附接路由器针对所述经委派IPv6地址前缀指定的最小所需委派前缀长度,来选择所述第二IPv6地址前缀的前缀长度。
31. 如权利要求20所述的装置,其中所述路由电路被配置用于主张所述经委派IPv6地址前缀作为所述第二IPv6地址前缀,所述经委派IPv6地址前缀和所述第二 IPv6地址前缀具有相等的长度;所述路由电路被配置用于检测来自所述附接路由器的并且可供所述路由电路使用的第二未经请求经委派IPv6地址前缀,所述路由电路还被配置用于对所述第二未经请求经委派IPv6地址前缀主张权利以供在所述网络接口电路提供的第二入口链路上使用。
32. —种装置,包括路由电路,被配置用于生成具有前缀委派信息选项字段的路由器公告消息,所述前缀委派信息选项字段指定了具有指定前缀长度的经委派IPv6地址前缀,以供在入口链路上被附接的被附接路由器使用所述经委派IPv6地址前缀的至少一部分;以及网络接口电路,被配置用于提供所述入口链路,并且将所述路由器公告消息输出到所述入口链路上以供所述被附接路由器使用。
33. 如权利要求32所述的装置,其中,所述路由电路被配置用于将核准了所述被附接路由器中的任何一个对所述经委派IPv6地址前缀的至少一部分的递归前缀委派的标识符插入到所述前缀委派信息选项字段中。
34. 如权利要求33所述的装置,其中:所述路由电路被配置用于生成供所述网络接口电路输出到所述入口电路上的前缀信息选项字段,所述前缀信息选项字段指定了将用于所述入口链路上的地址自动配置的第一 IPv6地址前缀;所述路由电路被配置用于将所述前缀信息选项字段插入到具有前缀委派信息选项字段的所述路由器公告消息或者由所述路由电路生成并输出到所述入口链路上的、未指定所述前缀委派信息选项字段的第二路由器公告消息中的至少一个中。
35. 如权利要求34所述的装置,其中,所述第一 IPv6地址前缀在所述经委派IPv6地址前缀内,所述路由电路被配置用于生成供所述网络接口电路输出到所述入口电路上的、具有指定了所述第一 IPv6地址前缀由所述装置拥有的前缀选项字段的邻居公告消息。
36. 如权利要求34所述的装置,其中,所述第一 IPv6地址前缀在所述经委派IPv6地址前缀内,所述前缀信息选项字段指定了所述装置拥有所述第一IPv6地址前缀。
37. 如权利要求32所述的装置,其中,所述路由电路被配置用于向所述前缀委派信息选项字段中插入所述被附接路由器在利用所述经委派IPv6地址前缀的至少一部分时要使用的最小所需委派前缀长度。
38. 如权利要求32所述的装置,其中,所述路由电路被配置用于向所述前缀委派信息选项字段中插入指定了所述经委派IPv6地址前缀将用于IPv6地址前缀委派而非自治地址配置的标识符。
39. —种设备,包括用于连接到附接链路并且从提供所述附接链路的附接路由器接收未经请求第一路由器公告消息的装置,所述第一路由器公告消息指定了由所述附接路由器拥有的并且可用于所述附接链路上的地址自动配置的第一 IPv6地址前缀,该用于连接的装置还被配置用于为被附接网络节点提供至少一条入口链路;以及用于检测由所述用于连接的装置从所述附接路由器接收到的并且可供所述设备使用的未经请求的经委派IPv6地址前缀的装置,该用于检测的装置被配置用于从所述经委派IPv6地址前缀的至少一部分中主张第二 IPv6地址前缀的权利以供在所述至少一条入口链路上使用。
40. —种设备,包括用于生成具有前缀委派信息选项字段的路由器公告消息的装置,所述前缀委派信息选项字段指定了具有指定前缀长度的经委派IPv6地址前缀,以供在入口链路上附接的被附接路由器使用所述经委派IPv6地址前缀的至少一部分;以及用于提供所述入口链路,并且将所述路由器公告消息输出到所述入口链路上以供所述被附接路由器使用的装置。
全文摘要
在一个实施例中,一种方法包括由路由器检测来自提供由路由器使用的附接链路的附接路由器的第一路由器公告消息,第一路由器公告消息指定了由附接路由器拥有的并且可用于附接链路上的地址自动配置的第一IPv6地址前缀。路由器检测来自附接路由器的并且可供路由器使用的未经请求经委派IPv6地址前缀。路由器从经委派IPv6地址前缀的至少一部分中主张对第二IPv6地址前缀的权利以供在路由器的至少一条入口链路上使用。
文档编号H04L29/12GK101663878SQ200880013152
公开日2010年3月3日 申请日期2008年4月22日 优先权日2007年4月23日
发明者安东尼·李·阿因, 拉尔夫·爱德华·多莫斯 申请人:思科技术公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1