实现路由聚合的方法、 装置和系统 【技术领域】
本发明涉及通信领域, 尤其涉及一种实现路由聚合的方法、 装置和系统。背景技术 如 图 1 所 示, 典 型 的 通 过 DHCPv6PD(Dynamic Host Configuration Protocol version 6Prefix Delegation 动态主机配置协议版本 6 前缀委派 ) 分配互联网协议版 本 6(Internet Protocol version 6, IPv6) 地址前缀的组网包括家庭网关 (Residential Gateway, RG) 或者用户端设备 (Customer Premise Equipment, CPE), RG 或 CPE 实现请求 路由器 (requesting router) 功能, 连接用户的家庭网络 (home network) 和外部的网络服 务提供商 (network service provider, NSP) 网络。RG 或 CPE 通过各种接入技术, 如数字 用户线 (digital subscriber line, DSL)、 无源光网络 (passive optical network, PON) 技术, 与接入节点 (Access Node, AN) 连接, AN 实现 DHCPv6 轻量级中继代理功能。多个 AN 接到宽带远程接入服务器 (broadband remote access server, BRAS) 或宽带网络网关 (broadband network gateway, BNG) 设备, BRAS 或 BNG 实现 DHCPv6 中继代理功能。BRAS 或 BNG 连接到 NSP 的网络。DHCPv6 服务器 (server) 部署在 NSP 网络中, 用于为请求路由 器分配 IPv6 地址或者 IPv6 地址前缀。DHCPv6 服务器上配置前缀池, 用于通过 DHCPv6PD 方式为请求路由器分配 IPv6 地址前缀。所述前缀池是 IPv6 地址前缀的集合。举例说 明前缀池为 : 2001:0EFF:1B00::/40, 前缀池中每一个前缀的前缀长度为 56, 则前缀池是 2001:0EFF:1B00:0100::/56 ~ 2001:0EFF:1BFF:FF00::/56 总共 65535 个 prefix/56 的前 缀的集合。
以 BRAS 为例, 为保证从网络上接收的报文能够正确的路由到家庭网络中的用户 电脑, 在 BRAS 上需要为每一个由 DHCP 服务器 (server) 通过 DHCP PD 方式分配给 RG 的 IPV6 前缀建立一条目的地址为该 IPV6 前缀的间接路由, 称为请求路由器前缀路由。 举例说 明前缀池为 : 2001:0EFF:1B00::/40, 前缀池中每一个前缀的前缀长度为 56, 则总共能够分 配从 2001:0EFF:1B00:0100::/56 ~ 2001:0EFF:1BFF:FF00::/56 总共 65535 个 prefix/56 的前缀。在前缀池中的前缀全部分配的情况下, BRAS 上需要建立 65535 条前缀长度为 56(prefix/56) 的请求路由器前缀路由, BRAS 上建立的请求路由器前缀路由表如表 1 所示, 请求路由器前缀路由的目的地址为分配的地址前缀, 下一跳地址为 RG 的 WAN 口地址, 出接 口为 BRAS 与 RG 的通信接口 ;
表1: BRAS 路由表
目的地址 下一跳地址 接口
2001:0EFF:1B00:0100::/56 RG1WAN 口地址 BRAS 与 RG1 通信接口
2001:0EFF:1B00:0200::/56 RG2WAN 口地址 BRAS 与 RG2 通信接口
...
2001:0EFF:1BFF:FF00::/56 RGn WAN 口地址 BRAS 与 RGn 通信接口
为保证目的地址为以上前缀的报文的正确路由, BRAS 需要将以上路由信息通过路
由协议发布到网络中。BRAS 向网络中发布的请求路由器前缀路由信息如表 2 所示, 请求路 由器前缀路由的目的地址为分配的地址前缀, 下一跳地址为 BRAS 网络侧接口地址。
表2: BRAS 向网络中发布的请求路由器前缀路由信息
目的地址 下一跳地址
2001:0EFF:1B00:0100::/56 BRAS 网络侧接口地址
2001:0EFF:1B00:0200::/56 BRAS 网络侧接口地址
2001:0EFF:1BFF:FF00::/56 BRAS 网络侧接口地址
现有实现方式, BRAS 需要将成千上万条到 RG 的请求路由器前缀路由通过路由协 议发布到网络中。通过现有技术在 BRAS 上发布的路由数目太多, 导致骨干网的路由表项巨 大。 发明内容
本发明实施例提供的实现路由聚合的方法、 装置和系统, 用以解决现有技术中由 于在 DHCPv6 中继代理路由器上发布的路由数目太多, 导致骨干网的路由表项巨大的问题。
为达到上述目的, 本发明实施例采用如下技术方案 : 一种实现路由聚合的方法, 包括 : 发送消息给动态主机配置协议 DHCPv6 中继代 理, 以使得所述 DHCPv6 中继代理根据所述消息生成请求路由器前缀路由的聚合路由 ; 所述 消息包括为接入所述 DHCPv6 中继代理的请求路由器分配地址前缀的前缀池的信息或根据 所述前缀池的信息生成的聚合路由目的地址信息。
一种实现路由聚合的方法, 包括 : 接收消息, 所述消息包括为接入所述 DHCPv6 中 继代理的请求路由器分配地址前缀的前缀池的信息或根据所述前缀池的信息生成的聚合 路由目的地址信息 ; 根据所述消息生成请求路由器前缀路由的聚合路由。
一种网络通信装置, 包括 :
第一发送单元, 用于发送消息给动态主机配置协议 DHCPv6 中继代理, 所述消息包 括为接入所述 DHCPv6 中继代理的请求路由器分配地址前缀的前缀池的信息或根据所述前 缀池的信息生成的聚合路由目的地址信息。
一种实现路由聚合的装置, 包括 :
第四接收单元, 用于接收消息, 所述消息包括为接入所述 DHCPv6 中继代理的请求 路由器分配地址前缀的前缀池的信息或根据所述前缀池的信息生成的聚合路由目的地址 信息 ;
生成单元, 用于根据所述接收单元接收的响应消息生成请求路由器前缀路由的聚 合路由。
一种实现路由聚合的系统, 包括 :
网络通信装置, 用于发送消息给动态主机配置协议 DHCPv6 中继代理, 所述消息包 括为接入所述 DHCPv6 中继代理的请求路由器分配地址前缀的前缀池的信息或根据所述前 缀池的信息生成的聚合路由目的地址信息 ;
动态主机配置协议 DHCPv6 中继代理, 用于接收消息, 根据所述网络通信装置发送 的消息生成请求路由器前缀路由的聚合路由。
本发明实施例提供的实现路由聚合的方法、 装置和系统, 由于所述消息中包含为
接入所述 DHCPv6 中继代理的请求路由器分配地址前缀的前缀池的信息或根据所述前缀池 的信息生成的聚合路由目的地址信息, 根据所述前缀池的信息或所述聚合路由目的地址信 息生成请求路由器前缀路由的聚合路由, 大量减少了在 DHCPv6 中继代理路由器上发布的 路由数目, 解决了现有技术中由于在 DHCPv6 中继代理路由器上发布的路由数目太多, 导致 骨干网的路由表项巨大的问题。 附图说明 图 1 为典型的通过 DHCPv6PD 分配 IPv6 地址前缀的组网图 ;
图 2 为本发明实施例提供的实现路由聚合的方法的流程图 ;
图 3 为本发明又一实施例提供的实现路由聚合的方法的流程图 ;
图 4(a) 为 DHCPv6PD 方式的 IPv6 地址前缀分配的消息流程图 ;
图 4(b) 为按照图 4(a) 所示的 DHCPv6PD 方式的 IPv6 地址前缀分配的消息流程图 实现地址前缀分配的 DHCPv6PD 方式分配 IPv6 地址前缀的组网图 ;
图 4(c) 为通过 DHCPv6PD 分配 IPv6 地址前缀的组网图 ;
图 4(d) 为与图 4(a) 对应的 DHCP PD 流程的消息示例 ;
图 5(a) 为本发明再一实施例提供的实现路由聚合的方法的流程图一 ; 图 5(b) 为图 5(a) 所示的实现路由聚合的方法应用的组网图 ; 图 5(c) 为图 5(a) 所示的实现路由聚合的方法应用的组网图 ; 图 6(a) 为本发明再一实施例提供的实现路由聚合的方法的流程图二 ; 图 6(b) 为本发明再一实施例提供的实现路由聚合的方法的流程图三 ; 图 6(c) 为本发明再一实施例提供的实现路由聚合的方法的流程图四 ; 图 7(a) 为与图 6(a) 对应的 DHCP PD 流程的消息示例 ; 图 7(b) 为与图 6(b) 对应的 DHCP PD 流程的消息示例 ; 图 7(c) 为与图 6(c) 对应的 DHCP PD 流程的消息示例 ; 图 8(a) 为本发明实施例提供的网络通信装置的结构示意图一 ; 图 8(b) 为本发明实施例提供的网络通信装置的结构示意图二 ; 图 8(c) 为本发明实施例提供的网络通信装置的结构示意图三 ; 图 8(d) 为本发明实施例提供的网络通信装置的结构示意图四 ; 图 9(a) 为本发明实施例提供的实现路由聚合的装置结构示意图一 ; 图 9(b) 为本发明实施例提供的实现路由聚合的装置结构示意图二 ; 图 9(c) 为图 9(b) 为所示的实现路由聚合的装置中发布单元的结构示意图 ; 图 10 为本发明实施例提供的实现路由聚合的系统结构示意图。具体实施方式
下面将结合本发明实施例中的附图, 对本发明实施例中的技术方案进行清楚、 完 整地描述, 显然, 所描述的实施例仅仅是本发明一部分实施例, 而不是全部的实施例。基于 本发明中的实施例, 本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他 实施例, 都属于本发明保护的范围。
为了解决现有技术中由于在 DHCPv6 中继代理路由器上发布的路由数目太多, 导致骨干网的路由表项巨大的问题, 本发明实施例提供一种实现路由聚合的方法、 装置和系 统。
如图 2 所示, 本发明实施例提供的实现路由聚合的方法, 包括 :
步骤 201, 发送消息给 DHCPv6 中继代理, 以使得所述 DHCPv6 中继代理根据所述消 息生成请求路由器前缀路由的聚合路由 ; 所述消息包括为接入所述 DHCPv6 中继代理的请 求路由器分配地址前缀的前缀池的信息或根据所述前缀池的信息生成的聚合路由目的地 址信息。
在本实施例中所述消息可以由 DHCPv6 服务器 (server) 发送, 也可以由网络管理 系统 (network management system, NMS) 进行发送。所述中继代理可以是 BRAS, 也可以是 BNG, 或者具有 DHCPv6 中继代理的路由器。
所述前缀池的信息包括前缀池前缀长度和 IPv6 前缀池前缀 ; 所述聚合路由目的 地址信息包括聚合路由目的地址前缀长度和聚合路由目的地址前缀, 所述聚合路由目的地 址信息可以根据前缀池的信息生成, 也可以是根据前缀池的信息的一部分生成。
在本实施例中, 所述 DHCPv6 中继代理根据所述消息生成请求路由器前缀路由的 聚合路由的具体方法为, 所述 DHCPv6 中继代理根据所述消息中前缀池的信息或聚合路由 目的地址信息生成聚合路由的目的地址, 根据所述 DHCPv6 中继代理网络侧接口地址生成 聚合路由的下一跳地址 ; 在一个前缀池被单个 BRAS 下的 RG 共享时, 所述聚合路由目的地址前缀为前缀 池前缀, DHCP server 向 BRAS 响应的聚合路由目的地址信息就是前缀池的信息。例如, 2001:0EFF:1B00::/40 的前缀池被单个 BRAS 下的 RG 共享, 则 DHCP server 向 BRAS 响应的 聚合路由目的地址信息为 2001:0EFF:1B00::/40。
在一个前缀池被多个 BRAS 下的 RG 共享, DHCP 服务器向 BRAS 响应的聚合路由目的 地址信息不一定是前缀池的信息, 可能是前缀池的部分信息。例如, 2001:0EFF:1B00::/40 的前缀池被两个 BRAS 下的 RG 共享, 那么可以将 2001:0EFF:1B00::/40 的前缀池分为两部 分:
2001:0EFF:1B00:0100::/56 ~ 2001:0EFF:1B7F:FF00::/56 ;
2001:0EFF:1B80:0100::/56 ~ 2001:0EFF:1BFF:FF00::/56,
每一部分分配给不同的 BRAS, 则 DHCP server 向 BRAS 响应的聚合路由目的地址信 息为 2001:0EFF:1B00::/41 与 2001:0EFF:1B80::/41。
本发明实施例提供的实现路由聚合的方法, 由于所述消息中包含为接入所述 DHCPv6 中继代理的请求路由器分配地址前缀的前缀池的信息或根据所述前缀池的信息生 成的聚合路由目的地址信息, 根据所述前缀池的信息或所述聚合路由目的地址信息生成请 求路由器前缀路由的聚合路由, 大量减少了在 DHCPv6 中继代理路由器上发布的路由数目, 解决了现有技术中由于在 DHCPv6 中继代理路由器上发布的路由数目太多, 导致骨干网的 路由表项巨大的问题。
如图 3 所示, 本发明又一实施例提供的实现路由聚合的方法, 包括 :
步骤 301, 接收消息, 所述消息包括为接入所述 DHCPv6 中继代理的请求路由器分 配地址前缀的前缀池的信息或根据所述前缀池的信息生成的聚合路由目的地址信息。
在本实施例中, 所述消息由 DHCPv6 中继代理接收, 所述中继代理可以是 BRAS, 也
可以是 BNG, 或者具有 DHCPv6 中继代理的路由器。所述前缀池的信息或聚合路由目的地址 信息如上述实施例所述, 此处不再赘述。
步骤 302, 根据所述消息生成请求路由器前缀路由的聚合路由。
在本实施例中, 所述 DHCPv6 中继代理根据所述消息生成请求路由器前缀路由的 聚合路由的具体方法为, 所述 DHCPv6 中继代理根据所述消息中前缀池的信息或聚合路由 目的地址信息生成聚合路由的目的地址, 根据所述 DHCPv6 中继代理网络侧接口地址生成 聚合路由的下一跳地址。
举例说明, 在 2001:0EFF:1B00::/40 的前缀池中每一个前缀的前缀长度为 56, 前 缀池中的前缀全部分配的情况下, BRAS 上需要建立 65535 条前缀长度为 56(prefix/56) 的 路由, BRAS 路由表如表 1 所示。
为保证目的地址为以上前缀的报文的正确路由, BRAS 需要将以上路由信息通过 路由协议发布到网络中。采用本发明的方法, BRAS 向网络中发布如表 3 所示的路由信息 替代现有技术中需要向网络中发布如表 2 所示的路由信息, 由此达到聚合原来 65535 条 prefix/56 路由的目的。
表3: BRAS 向网络中发布的路由信息 :
目的地址 下一跳地址
2001:0EFF:1B00::/40 BRAS 网络侧接口地址
本发明实施例提供的实现路由聚合的方法, 由于所述消息中包含为接入所述 DHCPv6 中继代理的请求路由器分配地址前缀的前缀池的信息或根据所述前缀池的信息生 成的聚合路由目的地址信息, 根据所述前缀池的信息或所述聚合路由目的地址信息生成请 求路由器前缀路由的聚合路由, 大量减少了在 DHCPv6 中继代理路由器上发布的路由数目, 解决了现有技术中由于在 DHCPv6 中继代理路由器上发布的路由数目太多, 导致骨干网的 路由表项巨大的问题。
为了使本领域技术人员能够更清楚地理解本发明实施例提供的技术方案, 下面通 过具体的实施例对本发明实施例提供的实现路由聚合的方法进行详细说明。
为了便于本领域技术人员的理解, 现就 DHCPv6PD 方式的 IPv6 地址前缀分配进行 详细的说明。
如图 4(a) 所示, DHCPv6PD 方式的 IPv6 地址前缀分配包括 :
步骤 401, RG 作为请求路由器 (requesting router), 发送请求 (REQUEST) 消息, 该消息中携带第一 OPTION_IA_PD(Identity Association for Prefix Delegation 前缀委 派身份联盟 ) 选项 (option), 该 option 用于请求地址前缀。
步骤 402, AN 作为轻量级 DHCPv6 中继代理 (Lightweight DHCPv6Relay Agent), 接收到 REQUEST 消息, 创建第一中继转发 (RELAY-FORW) 消息, 第一中继转发 (RELAY-FORW) 消 息 中 第 一 OPTION_RELAY_MSG 选 项 的 内 容 为 接 收 到 的 REQUEST 消 息, 第 一 OPTION_ INTERFACE_ID 选项的内容为 AN 标识及消息接收的框、 槽位和端口号等信息 ; AN 发送所述第 一中继转发 (RELAY-FORW) 消息。
步 骤 403, BRAS 作 为 DHCPv6 中 继 代 理 (DHCPv6Relay Agent), 接收到第一中 继 转 发 (RELAY-FORW) 消 息, 创 建 第 二 中 继 转 发 (RELAY-FORW) 消 息, 所述第二中继转 发 (RELAY-FORW) 消息中第二 OPTION_RELAY_MSG 选项的内容为接收到的第一中继转发(RELAY-FORW) 消息, 第二 OPTION_INTERFACE_ID 选项的内容为 BRAS 标识及消息接收的框、 槽位和端口号等信息 ; BRAS 发送所述第二中继转发 (RELAY-FORW) 消息。
步骤 404, DHCP server 接收到 BRAS 发送的第二中继转发 (RELAY-FORW), 解析所 述第二中继转发 (RELAY-FORW) 消息, 如果 REQUEST 消息中包含第一 OPTION_IA_PD 选项, 说 明需要分配地址前缀 (address prefix)。DHCP server 从第一 OPTION_INTERFACE_ID 选 项携带的 AN 标识对应的前缀池 (prefix pool) 中分配地址前缀 ; 根据分配的地址前缀生 成 OPTION_IAPREFIX 选项, 分配的地址前缀作为 OPTION_IAPREFIX 选项的内容, 根据所述 OPTION_IAPREFIX 选项生成第二 OPTION_IA_PD 选项, 整个 OPTION_IAPREFIX 作为所述第二 OPTION_IA_PD 选项的内容, 根据所述第二 OPTION_IA_PD 选项生成响应 (REPLY) 消息, 封装 响应 (REPLY) 消息, 再将响应 (REPLY) 消息做两次中继响应 (RELAY-REPL) 消息封装。
步 骤 405, BRAS 与 AN 解 析 中 继 响 应 (RELAY-REPL) 消 息, 最 终 RG 接 收 到 响 应 (REPLY) 消息。RG 根据 REPLY 消息中携带的地址前缀, 为家庭网络的用户电脑分配 IPv6 地 址。
具 体 的,如 图 4(b) 所 示, DHCP 服 务 器 (server) 接 收 到 第 二 中 继 转 发 (RELAY-FORW) 消息后, 解析所述第二中继转发 (RELAY-FORW) 消息后, 得到了请求消息, 以 及转发该请求消息的 AN 的标识, DHCP 服务器根据所述 AN 的标识获取与所述 AN 的标识对 应的前缀池, 该前缀池前缀为 : 2001:0EFF:1B00::/40, 前缀池中每一个前缀的前缀长度为 56, 则能够分配从 2001:0EFF:1B00:0100::/56 ~ 2001:0EFF:1BFF:FF00::/56 总共 65535 个 prefix/56 的前缀。DHCP 服务器返回给 RG 的前缀值为 2001:0EFF:1B00:0100::/56。RG 将该前缀拆分为从 2001:0EFF:1B00:0101::/64 ~ 2001:0EFF:1B00:01FF::/64 总共 255 个 prefix/64 的前缀, 从中为家庭网络中的每一个子网分配一个 prefix/64 的前缀, 整个 DHCP PD 流程的消息示例如图 4(c) 所示。
在前缀池中的前缀全部分配的情况下, BRAS 上需要建立 65535 条 prefix/56 的路 由, BRAS 上路由表如表 1 所示。
值 得 说 明 的 是, DHCP 服 务 器 (server) 除 了 支 持 根 据 AN 上 添 加 的 所 述 第 一 OPTION_INTERFACE_ID 携带的 AN 信息 ( 例如 AN 标识, 框、 槽位和端口号 ) 决定对应的前缀 池中分配地址前缀, 还支持根据 BRAS 上添加的所述第二 OPTION_INTERFACE_ID 携带的 BRAS 信息 ( 例如 BRAS 标识, 框、 槽位和端口号 ) 决定对应的前缀池中分配地址前缀。如图 4(d) 所示, 在只有 BRAS 上实现 DHCP 中继代理的情况下, DHCP 服务器 (server) 支持根据 BRAS 上 添加的所述第二 OPTION_INTERFACE_ID 携带的 BRAS 信息 ( 例如 BRAS 标识, 框、 槽位和端口 号 ) 决定对应的前缀池中分配地址前缀。
为了减少 DHCP 中继代理向网络中发布的路由信息条数, 如图 5(a) 所示, 本发明再 一实施例提供的实现路由聚合的方法, 包括 :
步骤 501, 发送消息给 DHCPv6 中继代理, 所述消息包括为接入所述 DHCPv6 中继代 理的请求路由器分配地址前缀的前缀池的信息或根据所述前缀池的信息生成的聚合路由 目的地址信息。
在本实施例中, 如图 1 和图 5(b) 所示, DHCP 服务器 (server) 发送消息给 DHCPv6 中继代理, 在图 1 中, 所述消息为中继响应消息, 所述中继响应消息包括前缀池的信息或聚 合路由目的地址信息, 而图 5(b) 中所述消息为配置消息, 所述配置消息包括前缀池的信息或聚合路由目的地址信息。图 1 和图 5(b) 是包含 DHCPv6 中继代理 (DHCPv6Relay Agent) 和 DHCPv6 服务器 (server) 的组网。 图 1 和图 5(b) 中, 所述 DHCPv6 中继代理 (DHCPv6Relay Agent) 为 BRAS, DHCPv6 中继代理连接到部署有 DHCPv6 服务器 (server) 的 NSP 网络。
具体的, 图 1 所示的组网实现路由聚合的方法, 在上述提供的 DHCPv6PD 分配 IPv6 地址前缀的基础上实现。
如图 6(a) 和图 7(a) 所示, 在所述步骤 403 之后包括步骤 501, 在所述步骤 501 之 前, 还包括 :
步骤 601, 所述 DHCPv6 服务器 (server) 在解析到所述中继转发消息中包含前缀委 派身份联盟选项信息 ( 即 OPTION_IA_PD 选项 ) 时, 生成响应 (REPLY) 消息, 所述响应消息包 括地址前缀和前缀池的信息, 所述前缀池的信息为 OPTION_PREFIX_POOL 前缀池选项内容, 前缀池选项如表 4 所示 :
表4:
OPTION_PREFIX_POOL 为选项代码 ; option-length 为选项长度, 以字节 (octets) 计量, 该值通常为 17 ; prf-len-pool 为前缀池前缀长度, 所述前缀池前缀长度以字节计量 ; IPv6prefix 为 IPv6 前缀池。
在 本 实 施 例 中, 前 缀 池 (prefix pool) 信 息 作 为 OPTION_PREFIX_POOL 选 项 的 内容 ; 上述 DHCPv6PD 方式的 IPv6 地址前缀分配过程中生成的 OPTION_IAPREFIX 选项与 OPTION_PREFIX_POOL 选项作为 OPTION_IA_PD 选项的内容, 并将 OPTION_IA_PD 选项封装为 响应 (REPLY) 消息。
所述步骤 501 具体包括 : 所述 DHCPv6 服务器 (server) 将所述响应 (REPLY) 消息 做中继响应 (RELAY-REPL) 消息封装并发送所述中继响应 (RELAY-REPL) 消息给所述 DHCPv6 中继代理。
又或者, 如图 6(b) 和图 7(b) 所示, 在所述 402 之后包括步骤 501, 在所述步骤 501 之前, 还包括 :
步骤 602, DHCPv6 中继代理发送第二中继转发 (RELAY-FORW) 消息给 DHCPv6 服务 器 (server), 所述第二中继转发 (RELAY-FORW) 消息包括请求代理通知选项。
在本实施例中, 所述 DHCPv6 中继代理, 如 BRAS, 在第二中继转发 (RELAY-FORW)
消息中增加请求代理通知选项 (OPTION_AGENT_NOTIFY) 的 OPTION_ORO(option request option) 选项。
所述步骤 501 具体包括 : 所述 DHCPv6 服务器 (server) 在检查到所述第二中继 转发 (RELAY-FORW) 消息中包含请求代理通知选项时, 将所述前缀池的信息通过中继响应 (RELAY-REPL) 消息发送给 DHCPv6 中继代理。
在本实施例中, DHCPv6 服务器 (server) 接收到 DHCPv6 中继代理, 如 BRAS, 发送的 第二中继转发 (RELAY-FORW) 消息, 解析所述第二中继转发 (RELAY-FORW) 消息, DHCP 服务器 (server) 检查如果存在请求代理通知选项 (OPTION_AGENT_NOTIFY) 的 OPTION_ORO(option request option) 选项, 则需要将前缀池 (prefix pool) 信息作为 OPTION_PREFIX_POOL 选 项的内容 ; OPTION_PREFIX_POOL 选项作为 OPTION_AGENT_NOTIFY 选项的内容之一, 通过中 继响应 (RELAY-REPL) 消息发送给 DHCPv6 中继代理。
再或者, 如图 6(c) 和图 7(c) 所示, 在所述 402 之后包括步骤 501, 在所述步骤 501 之前, 还包括 :
步骤 603, DHCPv6 中继代理发送第二中继转发 (RELAY-FORW) 消息给 DHCPv6 服务 器 (server), 所述第二中继转发 (RELAY-FORW) 消息包括请求中继代理路由通知选项。 在本实施例中, 所述 DHCPv6 中继代理, 如 BRAS, 在第二中继转发 (RELAY-FORW) 消 息中增加请求中继代理路由通知选项 (OPTION_RA_ROUTE_NOTIFY) 的 OPTION_ORO(option request option) 选项。
所述步骤 501 具体包括 : 所述 DHCPv6 服务器 (server) 在检查到所述第二中继转 发 (RELAY-FORW) 消息中包含请求中继代理路由通知选项时, 根据所述前缀池的信息生成 聚合路由目的地址信息, 将所述聚合路由目的地址信息通过中继响应 (RELAY-REPL) 消息 发送给 DHCPv6 中继代理。
在本实施例中, DHCPv6 服务器 (server) 接收到 DHCPv6 中继代理, 如 BRAS, 发送的 第二中继转发 (RELAY-FORW) 消息, 解析所述第二中继转发 (RELAY-FORW) 消息, DHCPv6 服 务器 (server) 检查如果存在请求中继代理路由通知选项 (OPTION_RA_ROUTE_NOTIFY) 的 OPTION_ORO(option request option) 选项, 则根据前缀池 (prefix pool) 信息, 生成聚合 路由目的地址信息, 作为中继代理路由通知选项 (OPTION_RA_ROUTE_NOTIFY) 的内容, 通过 中继响应 (RELAY-REPL) 消息发送给 DHCPv6 中继代理。
所述中继代理路由通知选项包括选项代码、 选项长度、 聚合路由目的地址前缀长 度和聚合路由目的地址前缀。具体的, 所述中继代理路由通知选项的格式如表 5 所示 :
表5:
OPTION_RA_ROUTE_NOTIFY 为 选 项 代 码 ; option-length 为 选 项 长 度, 以字节 (octets) 计量, 该值通常为 17 ; prefix-length 为聚合路由目的地址前缀长度, 所述前缀池 前缀长度以字节 (octets) 计量 ; IPv6prefix 为聚合路由目的地址前缀。
可选的, 如图 5(c) 所示, 由 NMS 发送消息给 DHCPv6 中继代理, 所述消息为配置消 息, 所述配置消息包括前缀池的信息或聚合路由目的地址信息。图 5(c) 是包含网络管理系 统 (network management system, NMS)、 DHCPv6 中继代理和 DHCPv6 服务器 (server) 的组 网。 图 5(c) 中, 所述 DHCPv6 中继代理 (DHCPv6Relay Agent) 为 BRAS, 所述 NMS、 所述 DHCPv6 中继代理 (DHCPv6Relay Agent) 均连接到部署有 DHCPv6 服务器 (server) 的 NSP 网络。所 述配置消息可以是由 NMS 通过简单网络管理协议 (Simple Network Management Protocol, SNMP) 协议发送给 DHCPv6 中继代理的。
步骤 502, DHCPv6 中继代理接收所述消息, 根据所述消息生成请求路由器前缀路 由的聚合路由。
在本实施例中, 所述 DHCPv6 中继代理根据所述消息生成请求路由器前缀路由的 聚合路由的具体方法为, 所述 DHCPv6 中继代理根据所述消息中前缀池的信息或聚合路由 目的地址信息生成聚合路由的目的地址, 根据所述 DHCPv6 中继代理网络侧接口地址生成 聚合路由的下一跳地址。
具体的, 如图 6(a) 所示, 所述步骤 502 在所述步骤 404 之后, 所述步骤 502 包括 :
所述 DHCPv6 中继代理解析所述中继响应 (RELAY-REPL) 消息中的响应 (REPLY) 消 息中存在前缀池 (prefix pool) 信息, 根据所述前缀池的信息生成请求路由器前缀路由的 聚合路由。
在本实施例中, DHCPv6 中继代理, 如 BRAS, 接收到 DHCP 服务器 (server) 发送的中 继响应 (RELAY-REPL) 消息, 解析响应 (REPLY) 消息中存在 OPTION_PREFIX_POOL 选项。根 据该选项中前缀池 (prefix pool) 信息生成请求路由器, 如 RG, 前缀路由的聚合路由。
又或者, 如图 6(b) 所示, 所述步骤 502 在所述步骤 404 之后, 所述步骤 502 包括 :
所 述 DHCPv6 中 继 代 理 解 析 所 述 中 继 响 应 (RELAY-REPL) 存 在 前 缀 池 (prefix pool) 信息, 根据所述前缀池 (prefix pool) 信息生成请求路由器前缀路由的聚合路由。
在本实施例中, 所述 DHCPv6 中继代理, 如 BRAS, 接收到 DHCPv6 服务器 (server) 发 送的中继响应 (RELAY-REPL) 消息, 解析 OPTION_AGENT_NOTIFY 选项中的 OPTION_PREFIX_ POOL 选项, 根据该选项中前缀池的信息生成请求路由器, 如 RG, 前缀路由的聚合路由。
再或者, 如图 6(c) 所示, 所述步骤 502 在所述步骤 404 之后, 所述步骤 502 包括 :
所述 DHCPv6 中继代理解析所述中继响应 (RELAY-REPL) 聚合路由目的地址信息,
根据所述聚合路由目的地址信息生成请求路由器前缀路由的聚合路由。
在本实施例中, 所述 DHCPv6 中继代理, 如 BRAS, 接收到 DHCPv6 服务器 (server) 发 送的中继响应 (RELAY-REPL) 消息, 解析 OPTION_RA_ROUTE_NOTIFY 选项中的聚合路由目的 地址信息, 根据所述聚合路由目的地址信息生成请求路由器, 如 RG, 前缀路由的聚合路由。
本发明实施例提供的实现路由聚合的方法, 由于所述消息中包含为接入所述 DHCPv6 中继代理的请求路由器分配地址前缀的前缀池的信息或根据所述前缀池的信息生 成的聚合路由目的地址信息, 根据所述前缀池的信息或所述聚合路由目的地址信息生成请 求路由器前缀路由的聚合路由, 大量减少了在 DHCPv6 中继代理路由器上发布的路由数目, 解决了现有技术中由于在 DHCPv6 中继代理路由器上发布的路由数目太多, 导致骨干网的 路由表项巨大的问题。
如图 8(a) 所示, 本发明实施例提供的网络通信装置, 包括 :
第一发送单元 801, 用于发送消息给动态主机配置协议 DHCPv6 中继代理, 所述消 息包括为接入所述 DHCPv6 中继代理的请求路由器分配地址前缀的前缀池的信息或根据所 述前缀池的信息生成的聚合路由目的地址信息。具体的实现方法可以参见如图 2 所示的步 骤 201 所述, 此处不再赘述。
如图 8(b) 所示, 进一步的, 所述网络通信装置, 还包括 :
第一接收单元 802, 用于接收 DHCPv6 中继代理发送的中继转发消息。具体的实现 方法可以参见如图 4(a) 所示的步骤 404 所述, 此处不再赘述。
第一生成单元 803, 在解析到所述第一接收单元接收的中继转发消息中包含前缀 委派身份联盟信息时, 用于生成响应消息, 所述响应消息包括地址前缀和前缀池的信息。 具 体的实现方法可以参见如图 6(a) 所示的步骤 501 所述, 此处不再赘述。
封装单元 804, 用于将所述第一生成单元生成的响应消息做中继响应消息封装。 具 体的实现方法可以参见如图 6(a) 所示的步骤 501 所述, 此处不再赘述。
如图 8(c) 所示, 进一步的, 所述网络通信装置, 还包括 :
第二接收单元 805, 用于接收 DHCPv6 中继代理发送的中继转发消息, 所述中继转 发消息包括请求代理通知选项 ; 具体的实现方法可以参见如图 6(b) 所示的步骤 602 所述, 此处不再赘述。
所述第一发生单元 801, 包括 :
第一发送子单元 8011 : 在检查到所述中继转发消息中包含请求代理通知选项时, 将所述前缀池的信息通过中继响应消息发送给 DHCPv6 中继代理。
进一步的, 8(d) 所示, 进一步的, 所述网络通信装置, 还包括 :
第三接收单元 806, 用于接收 DHCPv6 中继代理发送的中继转发消息, 所述中继转 发消息包括请求中继代理路由通知信息 ; 具体的实现方法可以参见如图 6(c) 所示的步骤 603 所述, 此处不再赘述。
所述第一发送单元 801, 包括 :
第一生成子单元 8012, 在检查到所述中继转发消息中包含请求中继代理路由通知 信息时, 用于根据所述前缀池的信息生成聚合路由目的地址信息。
第二发送子单元 8013, 将所述第一生成子单元生成的聚合路由目的地址信息通过 中继响应消息发送给 DHCPv6 中继代理。本发明实施例提供的网络通信装置, 由于所述消息中包含为接入所述 DHCPv6 中 继代理的请求路由器分配地址前缀的前缀池的信息或根据所述前缀池的信息生成的聚合 路由目的地址信息, 根据所述前缀池的信息或所述聚合路由目的地址信息生成请求路由器 前缀路由的聚合路由, 大量减少了在 DHCPv6 中继代理路由器上发布的路由数目, 解决了现 有技术中由于在 DHCPv6 中继代理路由器上发布的路由数目太多, 导致骨干网的路由表项 巨大的问题。
如图 9(a) 所示, 本发明实施例提供的实现路由聚合的装置, 包括 :
第四接收单元 901, 用于接收消息, 所述消息包括为接入所述 DHCPv6 中继代理的 请求路由器分配地址前缀的前缀池的信息或根据所述前缀池的信息生成的聚合路由目的 地址信息 ; 具体的实现方法可以参见如图 3 所示的步骤 301 所述, 此处不再赘述。
聚合单元 902, 用于根据所述接收单元接收的消息生成请求路由器前缀路由的聚 合路由。具体的实现方法可以参见如图 3 所示的步骤 302 所述, 此处不再赘述。
进一步的, 如图 9(b) 所示, 所述实现路由聚合的装置, 还包括 :
第二发送单元 903, 用于发送中继转发消息给动态主机配置协议 DHCPv6 服务器 ; 和/或 第三发送单元 904, 用于发送中继转发消息给 DHCPv6 服务器, 所述中继转发消息 包括请求代理通知选项或请求中继代理路由通知选项。 具体的实现方法可以参见如图 6(b) 和图 6(c) 所示的步骤 602 和步骤 603 所述, 此处不再赘述。
在本实施例中, 所述聚合单元, 如图 9(c) 所示, 包括 :
解析子单元 9021, 用于解析所述第四接收单元接收的消息中的响应消息中存在前 缀池的信息或聚合路由目的地址信息 ; 具体的实现方法可以参见如图 6(b) 和图 6(c) 所示 的步骤 502 和步骤 502 所述, 此处不再赘述。
聚合子单元 9022, 用于根据所述解析子单元解析得到的前缀池的信息或聚合路由 目的地址信息生成请求路由器前缀路由的聚合路由。具体的实现方法可以参见如图 6(b) 和图 6(c) 所示的步骤 502 和步骤 502 所述, 此处不再赘述。
本发明实施例提供的实现路由聚合的装置, 由于所述消息中包含为接入所述 DHCPv6 中继代理的请求路由器分配地址前缀的前缀池的信息或根据所述前缀池的信息生 成的聚合路由目的地址信息, 根据所述前缀池的信息或所述聚合路由目的地址信息生成请 求路由器前缀路由的聚合路由, 大量减少了在 DHCPv6 中继代理路由器上发布的路由数目, 解决了现有技术中由于在 DHCPv6 中继代理路由器上发布的路由数目太多, 导致骨干网的 路由表项巨大的问题。
如图 10 所示, 本发明实施例提供的实现路由聚合的系统, 包括 :
网络通信装置 1001, 用于发送消息给 DHCPv6 中继代理, 所述消息包括为接入所述 DHCPv6 中继代理的请求路由器分配地址前缀的前缀池的信息或根据所述前缀池的信息生 成的聚合路由目的地址信息。
动态主机配置 DHCPv6 中继代理 1002, 用于接收消息, 根据所述 DHCPv6 服务器发送 的消息生成请求路由器前缀路由的聚合路由。
本发明实施例提供的实现路由聚合的系统, 由于所述消息中包含为接入所述 DHCPv6 中继代理的请求路由器分配地址前缀的前缀池的信息或根据所述前缀池的信息生
成的聚合路由目的地址信息, 根据所述前缀池的信息或所述聚合路由目的地址信息生成请 求路由器前缀路由的聚合路由, 大量减少了在 DHCPv6 中继代理路由器上发布的路由数目, 解决了现有技术中由于在 DHCPv6 中继代理路由器上发布的路由数目太多, 导致骨干网的 路由表项巨大的问题。
本发明实施例提供的实现路由聚合的的方法、 装置和系统, 能够应用于 DHCPv6 组 网中。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以 通过程序来指令相关的硬件完成, 所述的程序可以存储于一计算机可读存储介质中, 如 ROM/RAM、 磁碟或光盘等。
以上所述, 仅为本发明的具体实施方式, 但本发明的保护范围并不局限于此, 任何 熟悉本技术领域的技术人员在本发明揭露的技术范围内, 可轻易想到变化或替换, 都应涵 盖在本发明的保护范围之内。 因此, 本发明的保护范围应以所述权利要求的保护范围为准。