自动识别面对边缘的路由器的制作方法

文档序号:7897644阅读:264来源:国知局
专利名称:自动识别面对边缘的路由器的制作方法
技术领域
本公开一般涉及在诸如订户路由网络(subscriber-routed network)之类的网络 中自动配置路由器。
背景技术
本节中描述的方案可以被实行,但不一定是先前已想出或实行过的方案。因此,除 非在此另有指出,否则本节所描述的方案对本申请中的权利要求来说不是现有技术,并且 并不因为包括在此节中而被承认为现有技术。由于因特网协议版本4(IPv4)地址空间几乎被用尽,因此独立的零售家用路由 器将越来越多地使用IP版本6 (IPv6)。在IPv6中使用NAT(网络地址转换)遇到了阻 碍。结果,在IETF(因特网工程任务组)内达成了这样的一致意见在家庭网络中使用动 态主机配置协议版本6(DHCPv6)前缀委派(delegation)来向子网分配前缀,来代替用于 IPv4的NAT。如果家庭网络具有多于一个路由器(这是常见的部署情形),则前缀转委派 (sub-delegation)将被用于 IPv6。具有多于一个路由器的家庭网络的一个示例是这样的网络,该网络具有(1)包括 嵌入路由器的线缆调制解调器,以及( 逻辑上位于嵌入路由器“后面”的零售独立路由 器。嵌入路由器通常不用作无线接入点,而零售的独立路由器通常用作无线接入点。因为 期望零售的独立路由器在不用配置的情况下工作,所以必须使前缀转委派自动化。希望将/64前缀用在家庭网络中,因为这使得无状态地址自动配置(SLAAC,在RFC 48622中定义)能够用于自动地配置子网上的主机的IPv6地址。例如,网络服务提供商 (SP)将/60前缀(或比/64短的任何前缀)委派给面对SP(SP-faCing)的家庭路由器。面 对SP的路由器可以通过分层级的转委派来自动地转委派前缀。分层级的转委派包括面对 SP的路由器基于被上入到最近的2的幂的LAN子网(面对SP的路由器被连接到的子网) 的数目来分割地址。“下游”路由器(或者相对于SP网络位于面对SP的路由器“后面”的 路由器)可以利用同一机制,并且家庭网络中的所有子网将被寻址。然而,结果,产生了至 少两个问题。首先,未节省地址空间,因为从SP委派的/60可能得到的/64子网不是全都被使 用。第二,分层级转委派不是在任意路由的图网络中都起作用,因为分层级转委派“假设”家 庭网络的拓扑为树形。网络的拓扑是指路由器在网络中的布置。如果家庭网络的拓扑为树 形,则在该家庭网络的拓扑中不存在循环。

发明内容
根据本发明一个方面,提供了一种装置,包括用于在订户网络的第一路由器处获 取数据的装置;用于基于所述数据判断所述第一路由器是否是面对服务提供商SP的路由 器的装置;用于响应于判断出所述第一路由器是面对SP的路由器,存储标识所述第一路由 器为面对SP的路由器的标识数据的装置;用于响应于判断出所述第一路由器不是面对SP
6的路由器,存储标识所述第一路由器为非面对SP的路由器的标识数据的装置。根据本发明另一方面,提供了一种装置,包括用于在订户网络的第一路由器处获 取DHCP消息的装置;用于响应于获取到所述DHCP消息,识别在所述DHCP消息中指示的前 缀委派的装置;用于判断所述前缀委派是否少于64比特的装置;用于响应于判断出所述前 缀委派少于64比特,存储标识所述第一路由器为面对服务提供商SP的路由器的标识数据 的装置;用于响应于判断出所述前缀委派为64比特,存储标识所述第一路由器为非面对SP 的路由器的标识数据的装置。根据本发明另一方面,提供了一种数据分组路由器,包括一个或多个处理器;一 个或多个存储介质,耦合到所述一个或多个处理器并且存储指令,所述指令在由所述一个 或多个处理器执行时使得获取数据;基于所述数据判断所述数据分组路由器是否是面对 服务提供商SP的路由器;响应于判断出所述数据分组路由器是面对SP的路由器,存储标识 所述数据分组路由器为面对SP的路由器的标识数据;响应于判断出所述数据分组路由器 不是面对SP的路由器,存储标识所述数据分组路由器为非面对SP的路由器的标识数据。根据本发明另一方面,提供了一种数据分组路由器,包括一个或多个处理器;一 个或多个存储介质,耦合到所述一个或多个处理器并且存储指令,所述指令在由所述一个 或多个处理器执行时使得在订户网络的数据分组路由器处获取DHCP消息;响应于获取到 所述DHCP消息,识别在所述DHCP消息中指示的前缀委派;判断所述前缀委派是否少于64 比特;响应于判断出所述前缀委派少于64比特,在所述数据分组路由器上存储标识所述数 据分组路由器为面对服务提供商SP的路由器的标识数据;响应于判断出所述前缀委派为 64比特,在所述数据分组路由器上存储标识所述数据分组路由器为非面对SP的路由器的 标识数据。根据本发明另一方面,提供了一种方法,包括在订户网络的第一路由器处获取数 据;基于所述数据判断所述第一路由器是否是面对服务提供商SP的路由器;响应于判断出 所述第一路由器是面对SP的路由器,存储标识所述第一路由器为面对SP的路由器的标识 数据;响应于判断出所述第一路由器不是面对SP的路由器,存储标识所述第一路由器为非 面对SP的路由器的标识数据,其中,所述方法由一个或多个计算机执行。根据本发明另一方面,提供了一种方法,包括在订户网络的第一路由器处获取 DHCP消息;响应于获取到所述DHCP消息,识别在所述DHCP消息中指示的前缀委派;判断所 述前缀委派是否少于64比特;响应于判断出所述前缀委派少于64比特,存储标识所述第一 路由器为面对服务提供商SP的路由器的标识数据;响应于判断出所述前缀委派为64比特, 存储标识所述第一路由器为非面对SP的路由器的标识数据;其中,所述方法由一个或多个 计算机执行。


在附图中图1描绘了连接到单个因特网服务提供商(ISP)的示例家庭网络;图2描绘了连接到两个不同ISP的示例家庭网络;图3描绘了判断路由器是否是面对SP的路由器的过程;图4描绘了判断路由器是否是面对SP的路由器的过程;
图5A描绘了判断路由器是否是面对SP的路由器的过程;图5B描绘了当发现协议选项值包括被委派的前缀时,判断路由器是否是面对SP 的路由器的过程;图6描绘了可以在其上实现实施例的计算机系统。
具体实施例方式在下面的描述中,为了说明的目的,阐述了多个具体细节以提供对本发明的透彻 理解。然而,本领域技术人员将清楚,可以不用这些具体细节来实施本发明。在其它实例中, 公知的结构和设备以框图形式示出,以避免不必要地模糊本发明。这里对“家庭网络”的提及包括任何S0H0/SMB网络。SOHO是“小型办公室、家庭办 公室”(Small Office, Home Office)的首字母缩写,SMB是“小型和中型企业”(Small and Medium Business)的首字母缩写。因此,“家庭网络”包括驻留在一个或多个家庭或企业中 的网络。“面对SP的路由器”(SP-facing router)被耦合到SP路由器并且没有其它路由 器在逻辑上位于该面对SP的路由器与该SP路由器之间。因此,面对SP的路由器将家庭网 络连接到SP网络,并且转发非明确寻址到面对SP的路由器的IPv6分组。面对SP的路由 器也称为“面对边缘的路由器”(edge-facing router) 0除非另有具体声明,否则术语“DHCP”是指DHCPv6。这里根据下面的大纲来描述实施例概述1.0 “平坦”前缀转委派2. 0识别面对SP的路由器2. 1路由器通告中的保留比特2. 2DHCPv6 选项2. 3所接收的前缀委派2. 4包括指定前缀的路由器通告选项3. 0识别面对SP的路由器的其它应用4. 0实现机制一硬件概述5. 0扩展和替代概述在实施例中,存储介质存储指令,指令在由一个或多个处理器执行时使得在订户 网络的第一路由器处获取数据;基于数据判断第一路由器是否是面对服务提供商(SP)的 路由器;响应于判断出第一路由器是面对SP的路由器,在第一路由器上存储将第一路由器 标识为面对SP的路由器的标识数据;响应于判断出第一路由器不是面对SP的路由器,在第 一路由器上存储将第一路由器标识为非面对SP的路由器的标识数据。在实施例中,存储介质存储指令,指令在由一个或多个处理器执行时使得在订户 网络的第一路由器处获取DHCP消息;响应于获取到DHCP消息,识别在DHCP消息中指示的 前缀委派;判断前缀委派是否少于64比特;响应于判断出前缀委派少于64比特,在第一路 由器上存储将第一路由器标识为面对服务提供商(SP)的路由器的标识数据;并且响应于判断出前缀委派为64比特,在第一路由器上存储标识第一路由器为非面对SP的路由器的 标识数据。这些实施例可以在诸如CPE路由器之类的数据分组路由器以及其它联网基础设 施元件中实现。1.0 “平坦”前缀转委派图1描绘了家庭网络的示例,其部分地图示出了在分层级转委派情况下出现的未 节省地址空间。家庭网络100包括用户端设备(Customer Premises Equipment,CPE)路 由器102,办公室路由器104、106,家庭路由器108以及其它路由器110。CPE路由器102是 面对SP的路由器并被连接到ISP 120。在此示例中,ISP 120将/60前缀委派给CPE路由 器102。作为响应,CPE路由器102确定要转委派给紧邻的下游路由器(包括办公室路由器 104、106以及家庭路由器108)的前缀。CPE路由器102确定LAN子网的数目为3个。大于 3但最接近3的2的幂是4,4对应于两个比特。因此,CPE路由器102将三个不同的/62前 缀转委派给各个LAN子网,S卩,向办公室路由器104、106以及家庭路由器108中的每一个转 委派一个前缀。例如,办公室路由器104、106以及家庭路由器108各自具有相同的/60前 缀,但具有不同的一组两个其余比特61、62。被委派给办公室路由器104的比特61、62可以 是“00”;被委派给办公室路由器106的比特61、62可以是“01”;并且被委派给家庭路由器 108的比特61、62可以是“10”。基于该情形,比特值“ 11”(即,对应于比特61、62)被浪费,因为其未被委派给任何 路由器。此外,如果ISP 120仅将/64前缀委派给CPE路由器102,则CPE路由器102将仅 能够支持一个网络。家庭网络100中的所有其它路由器将不能为了 SLAAC的目的而获得地址。一种用于克服浪费地址空间的问题的方案是单个面对SP的路由器通过DHCPv6前 缀委派来将前缀转委派给家庭网络中的所有子网。该方法在此被称为“平坦前缀转委派”。 利用单个面对SP的委派路由器,下游路由器请求用于每个被路由子网的/64地址。该面对 SP的委派路由器运行DHCPv6服务器,而家庭网络中的所有其它路由器运行DHCPv6中继器。 因此,需要每个路由器判断其是面对SP的路由器还是非面对SP的路由器。一旦前缀被转委派给家庭网络中的所有路由器,则每个转委派的前缀被注入对 应家庭路由器路由表中并且通过诸如下一代路由信息协议(RIPng)或开放最短路径优先 (OSPF)之类的内部网关协议(IGP)被通告到其它家庭路由器。平坦前缀转委派节省了地址空间,因为单个面对SP的路由器可以利用例如顺 序前缀编号方案来转委派整个地址空间。这样的方法还支持任意图网络,因为多宿主 (multi-homed)网络可以并发地被编号,并且非多宿主的循环网络仅使用单个面对SP的委 派路由器。在实施例中,CPE路由器102可以包括在图1右下部分中以放大形式示出的逻辑。 在实施例中,CPE路由器102容纳操作系统132,操作系统132容纳、管理或监督其它应用, 其它应用包括检测逻辑134以及可选地邻居发现协议(NDP)逻辑140、多播监听发现(MLD) 代理逻辑142、防火墙逻辑144以及DHCP逻辑138中的一个或多个。检测逻辑134被配置 来实现将参考图3、图4、图5A、图5B进一步描述的过程。检测逻辑134可以利用这里将进 一步描述的技术基于检测逻辑是否检测到路由器102是面对SP的路由器来设置面对SP的路由器的标志136的值。邻居发现协议(NDP)逻辑140实现NDP。多播监听发现(MLD)代 理(RFC4605)逻辑142实现这里将进一步描述的多播监听。防火墙逻辑144实现用于选择 性地允许或阻止进入和/或外出分组的路由器防火墙功能。DHCP逻辑138基于所存储的配 置或者基于从检测逻辑134接收的指令来实现DHCPv6服务器或DHCPv6中继代理功能,如 将进一步描述的。在各个实施例中,检测逻辑134、邻居发现协议(NDP)逻辑140、多播监听发现 (MLD)代理逻辑142、防火墙逻辑144和DHCP逻辑138中的一个或多个可以利用诸如一个 或多个专用集成电路(ASIC)或被永久编程的现场可编程门阵列(FPGA)之类的数字电子设 备来实现,或者可以包括根据固件、存储器、其它存储设备或其组合中的程序指令来编程的 一个或多个通用硬件处理器。这样的专用计算设备还可以将定制硬连线逻辑、ASIC或FPGA 与定制编程相组合来实现这些技术。专用计算设备可以是桌上型计算机系统、便携式计算 机系统、手持设备、联网设备,或者包括硬连线和/或程序逻辑以实现这里描述的技术的任 何其它设备。图2描绘了示例家庭网络,以图示出当只有面对SP的路由器是DHCPv6服务器而 同一网络中的所有其它路由器是DHCPve中继器时的前缀转委派。家庭网络200连接到ISP 230,240,并且包括CPE路由器210、212,办公室路由器214、216,家庭路由器218以及其它 路由器220。CPE路由器210、212是分别可通信地连接到ISP 230,240的面对SP的路由器。 CPE路由器210、212的每个实现DHCPv6服务器功能,而家庭网络200中的其它路由器都实 现DHCPv6中继功能。在其它路由器220被添加到家庭网络200中之后,其它路由器220向办公室路由 器214、216多播DHCPv6 SOLICIT消息。办公室路由器214将其接收到的SOLICIT消息中 继到办公室路由器214从那儿接收到其地址的那个路由器,亦即CPE路由器210、212。类似 地,办公室路由器216将其接收到的SOLICIT消息中继到CPE路由器210、212。因此,CPE 路由器210、212都接收到两个SOLICIT消息。CPE路由器210以具有相同/64前缀的两个DHCPv6 ADVERTISE(通告)消息来响 应这两个SOLICIT消息。ADVERTISE消息被发送给办公室路由器214、216的每个,因为两个 SOLICIT消息都承载了来自其它路由器220的相同DHCPv6唯一 ID(DUID)。DUID是唯一地 标识DHCPv6客户端的标识符。类似地,CPE路由器212利用与来自CPE路由器210的前缀不同的前缀值,以具有 相同/64前缀的两个ADVERTISE消息来响应这两个SOLICIT消息。ADVERTISE消息被发送 给办公室路由器214、216的每个,因为两个SOLICIT消息都承载了来自其它路由器220的 相同DUID。两个不同/64前缀(其被承载在来自CPE路由器210、212的ADVERTISE消息 中)被中继回其它路由器220,该其它路由器220将这两个/64前缀配置在其接口的每个 上,其中对于每个ISP有一个接口。一般地,如果订户网络中存在N个面对SP的路由器,像家庭网络200中的情况那 样,则向每个非面对SP的路由器分配N个/64前缀。然后在主机上使用源地址选择来确定 要与之通信的SP。一般地,可以通过诸如RFC 4191中描述的MSR之类的应用来管理源地址 选择。因此,应用可以决定哪个SP是要与之通信的最佳SP。然后,每个主机接收与每个SP 结合使用的地址。以此方式,上面的“平坦”前缀委派方案可用在诸如家庭网络200之类的任意图网络中。然而,如果路由器未能适当地将其自身识别为面对SP的路由器或非面对SP的路 由器,则该路由器将在该路由器未面对SP时调用DHCPV6服务器操作,或者在路由器面对SP 时调用DHCPv6中继操作。如果路由器未面对SP并且作为DHCPv6服务器,则该路由器将仅 接收/64前缀并且不能将多个/64前缀委派给家庭网络中的其它路由器。如果路由器面对SP并且调用了 DHCPv6中继操作,则该路由器将该路由器接收的 每个前缀委派请求直接转发给SP。这样的情形将使得SP的DHCP表因/64前缀请求而膨 胀。SP可能不会被设置来处理许多/64前缀请求。此外,/64前缀请求具有将家庭网络的 拓扑暴露给SP的不合希望的效果。一种类型的家庭路由器是嵌入宽带调制解调器的路由器。所有被嵌入的家庭路由 器面对SP并且仅支持DHCPV6服务器。然而,独立的家庭路由器应当支持DHCHPV6服务器和 中继这两种能力。给定的独立家庭路由器将调用DHCPv6服务器功能或中继功能,但不会调 用两者。因此,正确检测路由器是否面对SP对于家庭网络中的高效前缀转委派是重要的。2. 0识别路由器面对SP这里提供了用于家庭网络中的路由器确定该路由器是否面对SP的多种技术。实 施例不限于任何特定技术。在一个实施例中,路由器包括实现用于判断路由器是否面对SP 的一个或多个功能的数字计算机逻辑。路由器接收数据。响应于路由器通过其数字计算机 逻辑并基于所接收数据来判断路由器是否面对SP,路由器存储将路由器标识为面对SP的 标识数据;例如,路由器改变路由器的存储器中指示路由器面对SP的特定比特或其它值。取决于特定比特或其它值是否指示路由器面对SP,作为响应,其它数字计算机逻 辑也可以有条件地执行。在家庭网络中正确判定面对SP的路由器对于高效且自动地转委 派前缀是有用的。此外,该判定还可以用于其它目的,例如,判断家庭网络中的哪个路由器 应当实现防火墙。这样的目的将在下面更详细地描述。2. 1路由器通告中的保留比特邻居发现协议(NDP,在RFC 4861中描述的)被IPv6使用。NDP在链路层操作,并 且负责发现链路上的其它节点、确定其它节点的链路层地址、寻找可用路由器以及维护与 去往其它活动邻居节点的路径有关的可达性信息。NDP定义了五种不同的消息类型,其中之 一是路由器通告(RA)。RA类型的NDP分组是从IPv6路由器发送给下游节点的控制消息。RA消息是路由 器的本地IPv6子网上的包括主机和路由器在内的所有客户端将接收和处理的多播消息。 支持IPv6的路由器发送出RA消息。同一链路上的作为IPv6路由器的主机读取在RA消息 中通告的任何前缀,并且利用EUI-64格式基于主机接口的MAC地址来配置地址。因此,不 需要主机利用DHCP服务器来配置它们各自的地址。RA消息的格式包括保留的6比特字段。图3描绘了判断路由器是否是面对SP的路由器的过程。在操作302中,路由器接 收NDP RA分组。在实施例中,检测逻辑134从NDP逻辑140接收NDP RA分组的拷贝,或者 图3的功能可被集成到NDP逻辑中。NDP RA分组是在路由器处接收的可用于判断该路由器 是否面对SP的数据的示例。在操作304中,RA分组的保留字段的特定比特被检视。在实施例中,RA消息的保 留字段中的特定比特在被设为“1”时指示出该RA消息源发于SP网络中的SP路由器。反之,该同一特定比特在被设为“0”时指示出该RA消息不是源发于SP路由器的。因此,在实 施例中,SP边缘路由器将该特定比特设置为“1”,而家庭网络中的面对SP的路由器清除该 特定比特(这是保留比特的默认设置)。如果家庭网络中的路由器接收到RA消息并且确定了特定比特的当前值,则该路 由器可以判断其是否是面对SP的路由器。因此,在操作306中,执行测试以判断保留字段 中的特定比特是否被设置。如果特定比特被设置,则在操作308中,过程存储用于将路由器 标识为面对SP的路由器的标识数据。例如,过程设置指示路由器是面对SP的路由器的标 志。例如,检测逻辑134设置面对SP的路由器的标志136。在操作310中,过程向一个或多个其它应用告知标志的状态或者路由器作为面对 SP的路由器的身份,或者执行其它响应动作。响应动作的示例在这里的其它地方提供,例如 在第3节中。在实施例中,作为NDP协议的操作的一部分,当面对SP的路由器将任何RA消息发 送给家庭网络中其它路由器以向下游节点通告其自身时,面对SP的路由器清除该特定比 特。因此,位于面对SP的路由器下游的路由器可以根据特定比特的值确定它们不是面对SP 的路由器。在实施例中,诸如线缆调制解调器端接路由器(CMTS)或数字订户线接入复用器 (DSLAM或DSLAM上游的路由器)之类的SP边缘路由器被配置为支持特定的保留比特。在实施例中,当RA消息中的特定比特被设为“0”时指示家庭网络中的路由器是面 对SP的路由器,而值“1”指示家庭网络中的路由器不是面对SP的。当路由器接收到特定 比特设为“0”的RA消息时,该路由器可以确定该路由器是面对SP的路由器。然后,该面对 SP的路由器将被发送给下游路由器的RA消息中的特定比特设为“1”。在此实施例中,无需 对SP网络中的SP路由器进行任何改变。不用将SP边缘路由器重新配置为支持特定比特, 因为SP边缘路由器的默认操作会让保留字段中的比特保持为“0”。2. 2使用特定DHCPv6选项指示面对SP的路由器用于IPv6的动态主机配置协议(DHCPv6,在RFC 3315中描述)使得DHCP服务器 能够将诸如IPv6网络地址之类的配置参数传递给IPv6节点。DHCPv6提供了自动分配可再 使用的网络地址的能力以及额外的配置灵活性。DHCPv6是用于在IPv6中进行地址获取的 SLAAC的替代手段,并且可以与SLAAC分离地或并发地使用来获取配置参数。图4描绘了判断路由器是否是面对SP的路由器的过程。在操作402中,路由器接 收DHCP响应分组。DHCP响应分组是在路由器处接收的可用来判断该路由器是否面对SP的 数据的示例。在实施例中,检测逻辑134从DHCP逻辑138接收DHCP响应分组的拷贝,或者图 4的功能可被集成到DHCP逻辑中。在操作404,响应分组中的特定DHCP选项值被检视。 在实施例中,在一个示例实施例中可表示为“0PTI0N_SP”的特定DHCPv6选项值在诸如 ADVERTISE(通告)和REPLY(回复)消息之类的各种DHCPv6响应消息中被传达。在实施 例中,SP网络中的DHCPv6服务器将被发送给客户端的DHCPv6响应消息中的特定选项值设 为“1”。只有连接到SP边缘路由器的家庭路由器发送将到达位于SP的DHCPv6服务器的 DHCPv6请求。因此,当位于SP的DHCPv6服务器向家庭路由器响应以0PTI0N_SP时,家庭路 由器可以确定其是面对SP的路由器。
因此,在操作406中,过程测试该特定DHCP选项值是否被设置。如果该特定选项 值被设置,则在操作408中,过程存储标识该路由器为面对SP的路由器的标识数据。例如, 过程设置指示该路由器是面对SP的路由器的标志。例如,检测逻辑134设置面对SP的路 由器的标志136。在操作40中,过程向一个或多个其它应用告知标志的状态或者路由器作 为面对SP的路由器的身份,或者执行其它响应动作。响应动作的示例将在这里的其它地方 提供,例如在第3节中。当面对SP的路由器中的DHCPv6服务器对来自非面对SP的路由器的DHCPv6请求 作出响应时,面对SP的路由器上的DHCPV6服务器响应以包括有被设为“0”的0PTI0N_SP 的消息。因此,接收到0PTI0N_SP被设为“0”的DHCPv6响应消息的路由器可以确定其是面 对SP的路由器。在替代实施例中,0PTI0N_SP为“0”指示路由器是面对SP的路由器,而0PTI0N_SP 为“1”指示路由器不是面对SP的。2. 3识别所接收的前缀委派SP路由器被配置有一组前缀,该组前缀用于在每个订户第一次连接到SP网络时 分配给客户。当面对SP的路由器通过DHCPV6请求前缀委派信息时,前缀委派过程开始。来 自面对SP的路由器的DHCPv6消息被SP委派路由器接收。当SP路由器接收到请求时,SP 路由器选择可用的一个或多个前缀用于委派给作出了请求的面对SP的路由器。SP路由器 随后该将一个或多个前缀返回给面对SP的路由器。获取前缀相当于家庭路由器在DHCPv6请求中将DHCPv6 IA_PD选项发送给在SP 路由器上运行的DHCPv6服务器。DHCPv6服务器向该IA_PD填充前缀并且向家庭路由器发 送回复。家庭路由器使用该前缀来将其它地址提供给其它下游客户端。如果位于面对SP 的路由器后面的路由器在面对SP的路由器获取到IA_PD之前发送对IA_PD的请求,则面对 SP的路由器丢弃来自位于其下游的该路由器的IA_PD请求;下游路由器重试,如RFC 3315 中规定的。图5A描绘了判断路由器是否是面对SP的路由器的过程。在操作502中,在实施 例中,诸如CPE路由器102、210、212之类的前缀请求路由器从诸如ISP120、230、240中的SP 路由器之类的前缀委派路由器接收DHCPv6响应消息。DHCPv6响应消息是在路由器处接收 的可用来判断该路由器是否面对SP的数据的示例。在操作504中,作出请求的路由器分析该消息以判断所委派的前缀是否少于64比 特,例如/56前缀或/61前缀。如果作出请求的路由器被委派了少于64比特的前缀,如在 操作506中所测试的,则作出请求的路由器确定其是面对SP的路由器。在实施例中,如操 作308所示,过程存储标识该路由器为面对SP的路由器的标识数据。例如,作出请求的路 由器设置指示该路由器是面对SP的路由器的标志;例如,检测逻辑134设置面对SP的路由 器的标志136。如果作出请求的路由器被委派了 64比特的前缀,则作出请求的路由器判定 其不是面对SP的路由器,如图5A中来自操作506的“否”路径所指示的。在操作310中, 路由器可以告知其它应用或者执行其它响应动作,如在上面和第3节中进一步描述的。面对SP的路由器随后可以将一个或多个/64前缀转委派给家庭网络中的其它路 由器。例如,CPE路由器212可以将前缀转委派给路由器214、216、218、220。因此,如果作 出请求的路由器在DHCPv6响应消息的IA_PD选项字段中接收到短于/64的前缀,则作出请求的路由器可以确定其是面对SP的路由器。面对SP的路由器可能从SP接收/64前缀。然而,这样的前缀不允许进一步进行 前缀转委派。2. 4路由器通告选项在实施例中,特定RA消息选项值表明路由器是否面对SP,并且保留比特方案是否 必要。如果6比特的保留字段全部被投入其它目的,则使用特定RA消息选项值可能是有用 的。图5B描绘了在选项值包括所委派的前缀时判断路由器是否是面对SP的路由器的 过程。在操作512中,路由器接收NDP RA分组。在操作514,NDP RA分组中的特定RA选项 字段值被检视并且所委派的前缀值被检视。如果作出请求的路由器被委派了少于64比特的前缀,如在操作516中所测试的, 则作出请求的路由器判定其是面对SP的路由器。在实施例中,如操作308所示,过程存储 标识该路由器为面对SP的路由器的标识数据。例如,作出请求的路由器设置指示该路由器 是面对SP的路由器的标志;例如,检测逻辑134设置面对SP的路由器的标志136。如果作 出请求的路由器被委派了 64比特的前缀,则作出请求的路由器判定其不是面对SP的路由 器,如图5B中来自操作516的“否”路径所指示的。在操作510中,路由器可以转委派前缀, 告知其它应用或者执行其它响应动作,如在上面和第3节中进一步描述的。3. 0识别面对SP路由器的其它应用如上所述,面对SP的标识被用于在任意图网络中转委派IPv6前缀而不会浪费地 址空间并且确保/64前缀可用于家庭网络中的所有设备(只要SP所委派的初始前缀足够 小以支持家庭网络中的所有子网)。还可从判断其是否面对SP的路由器获得额外益处。在实施例中,如果家庭路由器确定其面对SP,则该家庭路由器还用作防火墙。因 此,例如,图3、图4、图5A、图5B的操作310中的响应动作可以包括使能实现已确定其面对 SP的CPE路由器的防火墙逻辑144或其它防火墙功能。优选地,仅在家庭网络的面对SP的路由器上使能防火墙。因此,如果在家庭路由 器处接收到进入连接,则该家庭路由器取决于该家庭路由器是否面对SP而阻止或允许该 连接。如果家庭路由器面对SP,则该家庭路由器阻止该连接。如果该家庭路由器不是面对 SP的,则该家庭路由器不阻止该连接。在另一实施例中,如果家庭路由器确定其面对SP,则该家庭路由器使得MLD代理 逻辑142能够使能作为多播监听发现(MLD)代理(在RFC4605中描述)的操作。多播流量 取决于家庭路由器是否面对SP而被处理。许多家庭路由器支持MLD代理,但只有面对SP 的路由器应当使能MLD代理。因此,面对SP的路由器可以为家庭网络代理所有多播数据和 控制。在面对SP的路由器处使能MLD代理使得该面对SP的路由器能够代表该路由器通过 标准MLD接口发现的主机来发出MLD主机消息。在另一实施例中,通知DHCP逻辑138,并且该DHCP逻辑使能实现DHCP中继代理 功能或DHCP服务器功能。例如,如果操作306、406、506为肯定的,则在操作310、510中,检 测逻辑134或DHCP逻辑138将使得DHCP逻辑能够作为DHCP中继代理来操作。如果操作 306、406、506为否定的,则在操作310,510中,检测逻辑134或DHCP逻辑138将使得DHCP 逻辑能够作为DHCP服务器来操作。
4. 0实现机制一硬件概述根据一个实施例,这里描述的技术通过一个或多个专用计算设备来实现。专用计 算设备可以被硬连线来执行这些技术,或者可以包括数字电子设备,例如一个或多个专用 集成电路(ASIC)或者被永久编程来执行这些技术的现场可编程门阵列(FPGA),或者可以 包括一个或多个通用硬件处理器,这些处理器被编程来根据固件、存储器、其它存储装置或 它们的组合中的程序指令来执行这些技术。这样的专用计算设备还可以将定制的硬连线逻 辑、ASIC或者FPGA与定制编程相结合来实现这些技术。专用计算设备可以是桌上型计算 机系统、便携式计算机系统、手持设备、联网设备或者包括硬连线和/或程序逻辑以实现这 些技术的任何其它设备。例如,图6是示出本发明的实施例可在其上实现的计算机系统600的框图。计算 机系统600包括用于传送信息的总线602或其他通信机构以及与总线602相耦合用于处理 信息的处理器604。硬件处理器604例如可以是通用微处理器。计算机系统600还包括诸如随机访问存储器(RAM)或其他动态存储设备之类的主 存储器606,其耦合到总线602,用于存储信息和处理器604要执行的指令。主存储器606 还可用于存储在处理器604执行指令期间的临时变量或其他中间信息。这种指令在被存储 在处理器604可访问的存储介质中时使得计算机系统600成为被定制成执行这些指令中规 定的操作的专用机器。计算机系统600还包括只读存储器(ROM) 608或其他静态存储设备,其耦合到总线 602,用于存储静态信息和处理器604的指令。提供了诸如磁盘或光盘之类的存储设备610, 其耦合到总线602,用于存储信息和指令。计算机系统600可以经由总线602耦合到显示器612,例如阴极射线管(CRT),用 于向计算机用户显示信息。包括字母数字和其他键的输入设备614被耦合到总线602,用于 向处理器604传送信息和命令选择。另一类用户输入设备是光标控制装置616,例如鼠标、 轨迹球或光标方向键,用于向处理器604传送方向信息和命令选择,并用于控制显示器612 上的光标移动。该输入设备一般具有两个轴(第一轴(例如χ)和第二轴(例如y))上的 两个自由度,其允许设备指定平面中的位置。计算机系统600可以利用定制的硬连线逻辑、一个或多个ASIC或FPGA、固件和/ 或程序逻辑来实现这里描述的技术,这些定制的硬连线逻辑、一个或多个ASIC或FPGA、固 件和/或程序逻辑与计算机系统相结合使得计算机系统600成为专用机器或者将计算机系 统600编程为专用机器。根据一个实施例,这些技术由计算机系统600响应于处理器604 执行包含在主存储器606中的一条或多条指令的一个或多个序列而执行。这种指令可以被 从另一计算机可读介质(如存储设备610)读取到主存储器606中。对包含在主存储器606 中的指令序列的执行使得处理器604执行这里描述的过程步骤。在替换实施例中,可以使 用硬连线电路来替代软件指令或与软件指令相组合以实现本发明。这里所用的术语“存储介质”指存储使得机器以特定方式工作的数据和/或指令 的任何介质。这种存储介质可包括非易失性介质和/或易失性介质。非易失性介质例如 包括光盘或磁盘,如存储设备610。易失性介质包括动态存储器,如主存储器606。存储 介质的常见形式例如包括软盘、柔性盘、硬盘、固态驱动器、磁带或任何其他磁数据存储介 质,CD-ROM、任何其他光数据存储介质,任何具有孔图案的物理介质,RAM、PROM和EPR0M、FLASH-EPR0M、任何其他存储器芯片或卡盘。存储介质不同于传输介质,但可结合传输介质来使用。传输介质参与在存储介质 之间传送信息。例如,传输介质包括同轴电缆、铜线和光纤,包括构成总线602的导线。传输 介质还可以采取声波或光波的形式,例如在无线电波和红外数据通信期间生成的那些波。各种形式的介质可用于将一条或多条指令的一个或多个序列传送到处理器604 以供执行。例如,指令可以首先承载在远程计算机的磁盘或固态驱动器上。远程计算机可 以将指令加载到其动态存储器中,并利用调制解调器经由电话线发送指令。计算机系统600 本地的调制解调器可以接收电话线上的数据,并使用红外发送器来将数据转换为红外信 号。红外检测器可以接收在红外信号中携带的数据,并且适当的电路可以将数据置于总线 602上。总线602将数据传送到主存储器606,处理器604从主存储器606取得指令并执行 指令。主存储器606接收的指令可以可选地在处理器604执行之前或之后存储在存储设备 610 上。计算机系统600还包括耦合到总线602的通信接口 618。通信接口 618提供到与 本地网络622相连接的网络链路620的双向数据通信耦合。例如,通信接口 618可以是综 合业务数字网络(ISDN)卡、线缆调制解调器、卫星调制解调器或者提供与相应类型电话线 的数据通信连接的调制解调器。又例如,通信接口 618可以是局域网(LAN)卡,以提供与兼 容LAN的数据通信连接。也可以实现无线链路。在任何这种实现方式中,通信接口 618发 送并接收电的、电磁的或光的信号,这些信号携带了表示各种类型信息的数字数据流。网络链路620通常通过一个或多个网络提供到其他数据设备的数据通信。例 如,网络链路620可以通过本地网络622提供与主机计算机6 或由因特网服务供应商 (ISP)6^操作的数据设备的连接。ISP 6 进而通过全球分组数据通信网络(现在通常 称为“因特网”)6 提供数据通信服务。本地网络622和因特网6 都使用携带数字数据 流的电的、电磁的或光的信号。经过各种网络的信号和在网络链路620上并经过通信接口 618的信号(这些信号携带去往和来自计算机系统600的数字数据)是传输介质的示例性 形式。计算机系统600可以通过(一个或多个)网络、网络链路620和通信接口 618发 送消息并接收数据,其中包括程序代码。在因特网示例中,服务器630可以通过因特网628、 ISP 626、本地网络622和通信接口 618发送针对应用程序的请求代码。接收到的代码可以在接收时被处理器604执行,和/或被存储在存储设备610或 其他非易失性存储装置中以供以后执行。5.0扩展和替代在前述说明书中,参考依实现方式而不同的多个具体细节描述了本发明的实施 例。因此,说明书和附图应被认为是例示性的而不是限制性的。
权利要求
1.一种装置,包括用于在订户网络的第一路由器处获取数据的装置;用于基于所述数据判断所述第一路由器是否是面对服务提供商SP的路由器的装置;用于响应于判断出所述第一路由器是面对SP的路由器,存储标识所述第一路由器为 面对SP的路由器的标识数据的装置;用于响应于判断出所述第一路由器不是面对SP的路由器,存储标识所述第一路由器 为非面对SP的路由器的标识数据的装置。
2.如权利要求1所述的装置,其中,用于在第一路由器处获取数据的装置包括用于获 取包含所述数据的DHCP消息的装置;其中,所述数据指示前缀委派;其中,用于判断所述第 一路由器是否是面对SP的路由器的装置包括用于判断所述前缀委派是否少于64比特的 装置;其中,用于生成并存储标识数据的装置包括用于如果所述前缀委派少于64比特,则 生成并存储所述标识数据的装置。
3.如权利要求1所述的装置,其中,用于在第一路由器处获取数据的装置包括用于获 取包含所述数据的路由器通告RA消息的装置;其中,所述数据位于所述RA消息的特定部分 中;其中,用于判断所述第一路由器是否是面对SP的路由器的装置包括用于分析所述RA 消息的特定部分以判断所述特定部分处的数据是否指示路由器是面对SP的的装置。
4.如权利要求3所述的装置,其中,所述RA消息的特定部分是所述RA消息的选项字段 或者是所述RA消息的保留字段中的特定比特。
5.如权利要求1所述的装置,其中,用于在第一路由器处获取数据的装置包括用于获 取包含所述数据的DHCP消息的装置;其中,所述数据位于所述DHCP消息的选项字段中;其 中,用于判断所述第一路由器是否是面对SP的路由器的装置包括用于分析所述DHCP消息 的选项字段以判断所述选项字段中的所述数据是否指示路由器是面对SP的的装置。
6.如权利要求1所述的装置,还包括用于在判断出所述第一路由器是面对SP的路由 器之后,将64比特的前缀委派给所述订户网络中的每个其它路由器的装置。
7.如权利要求1所述的装置,还包括用于响应于判断出所述第一路由器是面对SP的 路由器,使得所述第一路由器用作防火墙以防止未授权消息被转发给所述订户网络中的一 个或多个主机的装置。
8.如权利要求1所述的装置,还包括用于响应于判断出所述第一路由器是面对SP的 路由器,使得所述第一路由器用作多播代理的装置。
9.一种装置,包括用于在订户网络的第一路由器处获取DHCP消息的装置;用于响应于获取到所述DHCP消息,识别在所述DHCP消息中指示的前缀委派的装置;用于判断所述前缀委派是否少于64比特的装置;用于响应于判断出所述前缀委派少于64比特,存储标识所述第一路由器为面对服务 提供商SP的路由器的标识数据的装置;用于响应于判断出所述前缀委派为64比特,存储标识所述第一路由器为非面对SP的 路由器的标识数据的装置。
10.一种数据分组路由器,包括一个或多个处理器;一个或多个存储介质,耦合到所述一个或多个处理器并且存储指令,所述指令在由所 述一个或多个处理器执行时使得获取数据;基于所述数据判断所述数据分组路由器是否是面对服务提供商SP的路由器;响应于判断出所述数据分组路由器是面对SP的路由器,存储标识所述数据分组路由 器为面对SP的路由器的标识数据;响应于判断出所述数据分组路由器不是面对SP的路由器,存储标识所述数据分组路 由器为非面对SP的路由器的标识数据。
11.如权利要求10所述的数据分组路由器,其中,使得在所述分组路由器处获取数据 的指令包括使得获取包含所述数据的DHCP消息的指令;其中,所述数据指示前缀委派;其 中,使得判断所述数据分组路由器是否是面对SP的路由器的指令包括使得判断所述前缀 委派是否少于64比特的指令;其中,使得生成并存储标识数据的指令包括使得如果所述 前缀委派少于64比特,则生成并存储所述标识数据的指令。
12.如权利要求10所述的数据分组路由器,其中,使得在数据分组路由器处获取数据 的指令包括使得获取包含所述数据的路由器通告RA消息的指令;其中,所述数据位于所 述RA消息的特定部分中;其中,使得判断所述数据分组路由器是否是面对SP的路由器的指 令包括使得分析所述RA消息的特定部分以判断所述特定部分处的数据是否指示路由器 是面对SP的指令。
13.如权利要求12所述的数据分组路由器,其中,所述RA消息的特定部分是所述RA消 息的选项字段或者是所述RA消息的保留字段中的特定比特。
14.如权利要求10所述的数据分组路由器,其中,使得在数据分组路由器处获取数据 的指令包括使得获取包含所述数据的DHCP消息的指令;其中,所述数据位于所述DHCP消息 的选项字段中;其中,使得判断所述数据分组路由器是否是面对SP的路由器的指令包括 使得分析所述DHCP消息的选项字段以判断所述选项字段中的所述数据是否指示路由器是 面对SP的指令。
15.如权利要求10所述的数据分组路由器,其中,所述指令在由一个或多个处理器执 行时还使得在判断出所述数据分组路由器是面对SP的路由器之后,将64比特的前缀委派 给所述订户网络中的每个其它路由器。
16.如权利要求10所述的数据分组路由器,其中,所述指令在由一个或多个处理器执 行时还使得响应于判断出所述数据分组路由器是面对SP的路由器,使得所述数据分组路 由器用作防火墙以防止未授权消息被转发给所述订户网络中的一个或多个主机。
17.如权利要求10所述的数据分组路由器,其中,所述指令在由一个或多个处理器执 行时还使得响应于判断出所述数据分组路由器是面对SP的路由器,使得所述数据分组路 由器用作多播代理。
18.如权利要求10所述的数据分组路由器,包括被配置为耦合到家庭网络的用户端设 备 CPE。
19.一种数据分组路由器,包括一个或多个处理器;一个或多个存储介质,耦合到所述一个或多个处理器并且存储指令,所述指令在由所述一个或多个处理器执行时使得在订户网络的数据分组路由器处获取DHCP消息;响应于获取到所述DHCP消息,识别在所述DHCP消息中指示的前缀委派;判断所述前缀委派是否少于64比特;响应于判断出所述前缀委派少于64比特,在所述数据分组路由器上存储标识所述数 据分组路由器为面对服务提供商SP的路由器的标识数据;响应于判断出所述前缀委派为64比特,在所述数据分组路由器上存储标识所述数据 分组路由器为非面对SP的路由器的标识数据。
20.如权利要求19所述的数据分组路由器,包括被配置为耦合到家庭网络的用户端设 备 CPE。
21.一种方法,包括在订户网络的第一路由器处获取数据;基于所述数据判断所述第一路由器是否是面对服务提供商SP的路由器; 响应于判断出所述第一路由器是面对SP的路由器,存储标识所述第一路由器为面对 SP的路由器的标识数据;响应于判断出所述第一路由器不是面对SP的路由器,存储标识所述第一路由器为非 面对SP的路由器的标识数据,其中,所述方法由一个或多个计算机执行。
22.如权利要求21所述的方法,其中,在第一路由器处获取数据包括获取包含所述数 据的DHCP消息;其中,所述数据指示前缀委派;其中,判断所述第一路由器是否是面对SP 的路由器包括判断所述前缀委派是否少于64比特;其中,生成并存储标识数据包括如果 所述前缀委派少于64比特,则生成并存储所述标识数据。
23.如权利要求21所述的方法,其中,在第一路由器处获取数据包括获取包含所述数 据的路由器通告RA消息;其中,所述数据位于所述RA消息的特定部分中;其中,判断所述 第一路由器是否是面对SP的路由器包括分析所述RA消息的特定部分以判断所述特定部 分处的数据是否指示路由器是面对SP的。
24.如权利要求23所述的方法,其中,所述RA消息的特定部分是所述RA消息的选项字 段或者是所述RA消息的保留字段中的特定比特。
25.如权利要求21所述的方法,其中,在第一路由器处获取数据包括获取包含所述数 据的DHCP消息;其中,所述数据位于所述DHCP消息的选项字段中;其中,判断所述第一路 由器是否是面对SP的路由器包括分析所述DHCP消息的选项字段以判断所述选项字段中 的所述数据是否指示路由器是面对SP的。
26.如权利要求21所述的方法,其中,所述指令在由一个或多个处理器执行时还使得 在判断出所述第一路由器是面对SP的路由器之后,将64比特的前缀委派给所述订户网络 中的每个其它路由器。
27.如权利要求21所述的方法,其中,所述指令在由一个或多个处理器执行时还使得 响应于判断出所述第一路由器是面对SP的路由器,使得所述第一路由器用作防火墙以防 止未授权消息被转发给所述订户网络中的一个或多个主机。
28.如权利要求21所述的方法,其中,所述指令在由一个或多个处理器执行时还使得响应于判断出所述第一路由器是面对SP的路由器,使得所述第一路由器用作多播代理。
29. 一种方法,包括在订户网络的第一路由器处获取DHCP消息;响应于获取到所述DHCP消息,识别在所述DHCP消息中指示的前缀委派; 判断所述前缀委派是否少于64比特;响应于判断出所述前缀委派少于64比特,存储标识所述第一路由器为面对服务提供 商SP的路由器的标识数据;响应于判断出所述前缀委派为64比特,存储标识所述第一路由器为非面对SP的路由 器的标识数据;其中,所述方法由一个或多个计算机执行。
全文摘要
本发明公开了自动识别面对边缘的路由器。提供了用于在网络中自动识别面对边缘的路由器的技术。
文档编号H04L12/56GK102137004SQ20101061195
公开日2011年7月27日 申请日期2010年12月17日 优先权日2010年1月22日
发明者威廉·小毕比, 拉尔夫·多莫斯, 欧利·图恩, 赫曼特·司恩格 申请人:思科技术公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1