首页> 中国专利> 发布ARP主机路由的方法和装置

发布ARP主机路由的方法和装置

摘要

本申请公开了一种发布ARP主机路由的方法和装置。基于本申请所提供的技术方案,本地路由器依据其各内网端口所配置的链路属性值,能够确定由每个内网端口触发产生的ARP主机路由的优先级,并且,本地路由器还能够将产生的ARP主机路由及其优先级一起发布至外网路由器,以使外网路由器能够依据ARP主机路由对应生成外网路由,并使外网路由器在针对不同本地主机的下行流量优选外网路由时能够延用对应的ARP主机路由的优先级。从而,通过内网端口所配置的链路属性值对优先级的影响,即可决定外网路由器针对下行流量的路由选择,进而能够确保本地路由器中的上行流量和下行流量一致。

著录项

  • 公开/公告号CN102739545A

    专利类型发明专利

  • 公开/公告日2012-10-17

    原文格式PDF

  • 申请/专利权人 杭州华三通信技术有限公司;

    申请/专利号CN201210226344.5

  • 发明设计人 钱三军;孙中良;

    申请日2012-06-29

  • 分类号H04L12/56(20060101);H04L29/12(20060101);

  • 代理机构11018 北京德琦知识产权代理有限公司;

  • 代理人王一斌;王琦

  • 地址 310053 浙江省杭州市高新技术产业开发区之江科技工业园六和路310号华为杭州生产基地

  • 入库时间 2023-12-18 06:57:20

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2023-06-27

    专利权的转移 IPC(主分类):H04L12/701 专利号:ZL2012102263445 登记生效日:20230615 变更事项:专利权人 变更前权利人:新华三技术有限公司 变更后权利人:新华三信息技术有限公司 变更事项:地址 变更前权利人:310052 浙江省杭州市滨江区长河路466号 变更后权利人:310052 浙江省杭州市滨江区长河路466号11楼

    专利申请权、专利权的转移

  • 2017-05-10

    专利权人的姓名或者名称、地址的变更 IPC(主分类):H04L12/701 变更前: 变更后: 申请日:20120629

    专利权人的姓名或者名称、地址的变更

  • 2015-06-10

    授权

    授权

  • 2013-01-09

    实质审查的生效 IPC(主分类):H04L12/56 申请日:20120629

    实质审查的生效

  • 2012-10-17

    公开

    公开

说明书

技术领域

本申请涉及路由技术,特别涉及发布ARP(Address Resolve Protocol,地址解析协议)主 机路由的方法和装置。

背景技术

为使局域网内的本地主机能够通过外网实现流量转发、并同时兼顾流量的负载均衡和转 发的可靠性,现有技术中通常会采用负载均衡的组网方式。即,在一个局域网内由至少两台 本地路由器互为备份地为该局域网内的本地主机提供网关功能,并将提供网关功能的至少两 台本地路由器接入至局域网之外的同一台外网路由器。其中:

对于本地主机发向外网的上行流量,提供网关功能的每台本地路由器需要创建以已知外 网目的IP为前缀(Dest)、以外网路由器为下一跳(Nexthop)的若干条外网路由;

对于外网发向本地主机的下行流量,提供网关功能的每台本地路由器需要创建以局域网 的网段IP地址为前缀、以本地主机为下一跳的网段路由,以及,提供网关功能的每台本地路 由器还需要向外网路由器发布网段路由,以便于外网路由器能够依据每台本地路由器发布的 网段路由分别创建以局域网的网段IP地址为前缀、以该本地路由器为下一跳的外网路由。

由此,在外网路由器和提供网关功能的至少两台本地路由器之间就形成了上行方向和下 行方向上的多条外网路由,从而使上行流量和下行流量均可分担在不同的本地路由器转发, 而且,当有本地路由器与外网路由器之间的链路发生故障时,其他本地路由器也可以代为实 现上行流量和下行流量的转发。

虽然上述负载均衡的组网方式能够实现负载分担、并通过网关备份来提高流量转发的可 靠性,但是,却容易导致上行流量和下行流量不一致的情况出现。具体说:

当有本地主机产生发向外网的上行流量时,由于与该本地主机直连的一台本地路由器会 最先接收到上行流量,因而首选地由该本地路由器向外网路由器转发上行流量;

当外网路由器有需要向本地主机转发的下行流量时,由于外网路由器中相应的各条外网 路由均是以该本地主机所在局域网的网段IP地址为前缀,因而外网路由器无法分辨出哪一台 本地路由器与该本地主机直连,只能任选一条外网路由向对应的一台本地路由器转发下行流 量,此后,若接收到下行流量的本地路由器未直连该本地主机,则需要再次将下行流量在局 域网内转发至直连该本地主机的本地路由器;

从而,对于与任意一台本地主机直连的本地路由器来说,该本地主机的上行流量的发出、 以及该本地主机的下行流量的流入就有可能发生在不同的端口,此时就出现了上行流量和下 行流量不一致的情况出现。

由于上述的上行流量和下行流量不一致的情况通常会被本地路由器中的防火墙认定为攻 击流量、并拒绝其通过,因此,上述的上行流量和下行流量不一致的情况就有可能导致流量 的丢失。

图1为现有技术中的一种负载均衡组网方式的实例示意图。在如图1所示的实例中,局 域网内由本地路由器RouteA和RouteB互为备份地为该局域网内的本地主机PC1和PC2提供 网关功能,并且,本地路由器RouteA和RouteB还接入在同一台外网路由器RouteC。

其中,对于外网发向PC1的下行流量,RouteA和RouteB中均创建有以局域网的网段IP 地址10.0.0.0/8为前缀、以PC1为下一跳的一条网段路由,以及,依据RouteA和RouteB发 布的网段路由,RouteC创建有以局域网的网段IP地址10.0.0.0/8为前缀、分别以RouteA和 RouteB为下一跳的两条外网路由。

当PC1产生发向外网的上行流量时,与PC1直连的RouteA通过内网端口Port_a1从PC1 接收该上行流量、并通过外网端口Port_a0向RouteC转发上行流量;

当RouteC有需要向PC1转发的下行流量时,由于RouteC中相应的两条外网路由均是以 网段IP地址10.0.0.0/8为前缀,因此,RouteC既可以选择以RouteA为下一跳的外网路由、 也可以选择以RouteB为下一跳的外网路由;

若RouteC选择以RouteB为下一跳的外网路由转发下行流量,则RouteB在通过外网端口 Port_b0接收到下行流量后,会通过内网端口Port_b2(RouteB中对应网段路由的二层转发项 的出端口为内网端口Port_b2)将下行流量转交至RouteA的内网端口Port_a2,然后,需要由 RouteA将内网端口Port_a2接收到的下行流量通过内网端口Port_a1(RouteA中对应网段路 由的二层转发项的出端口为内网端口Port_a1)向PC1转发。

这样,对于RouteA来说,其未曾转发上行流量的内网端口Port_a2收到了下行流量,即, 内网端口Port_a2出现进、出流量不一致的情况,因而就有可能导致进入内网端口Port_a2的 下行流量被防火墙认定为攻击流量,从而使得下行流量无法从RouteA的内网端口Port_a1再 继续转发至PC1。

发明内容

有鉴于此,本申请提供了一种发布ARP主机路由的方法和装置。

本申请提供的一种发布ARP主机路由的方法,该方法应用于局域网内的本地路由器,且 应用该方法的本地路由器与处在同一局域网内的其它本地路由器互为备份地为本地主机提供 网关功能、并与局域网内提供网关功能的其它本地路由器接入至局域网之外的同一台外网路 由器,该方法包括:

为本机在局域网内实现互连的各内网端口分别配置对应的链路属性值;

当本机在任意内网端口学习到本地主机的ARP信息后,产生对应的ARP主机路由、并 依据该内网端口的链路属性值产生该ARP主机路由的优先级;其中,与本地主机直连的内网 端口所配置的链路属性值能够使产生的优先级相对高、通过其它本地路由器与本地主机级连 的内网端口所配置的链路属性值能够使产生的优先级相对低;

当本机在任意内网端口产生ARP主机路由后,将产生的ARP主机路由及其优先级发布 至外网路由器,以使外网路由器对应生成与本机所发布的ARP主机路由具有相同前缀、并以 本机为下一跳的外网路由,并使外网路由器将本机发布的ARP主机路由的优先级作为对应生 成的外网路由的优先级。

内网端口为物理端口或逻辑端口。

所述链路属性值为链路开销值;其中,与本地主机直连的内网端口所配置的链路开销值, 小于通过其它本地路由器与本地主机级连的内网端口所配置的链路开销值;并且,链路开销 值越小,优先级越高。

所述链路属性值为链路带宽;其中,与本地主机互连的内网端口所配置的链路带宽值, 大于通过其它本地路由器与本地主机级连的内网端口所配置的链路带宽值;并且,链路带宽 值越大,优先级越高。

本申请提供的一种发布ARP主机路由的装置,该装置应用于局域网内的本地路由器,且 应用该装置的本地路由器与处在同一局域网内的其它本地路由器互为备份地为本地主机提供 网关功能、并与局域网内提供网关功能的其它本地路由器接入至局域网之外的同一台外网路 由器,该装置包括:

端口配置模块,为本机在局域网内实现互连的各内网端口分别配置对应的链路属性值;

ARP模块,当本机在任意内网端口学习到本地主机的ARP信息后,产生对应的ARP主 机路由、并依据该内网端口的链路属性值产生该ARP主机路由的优先级;其中,与本地主机 直连的内网端口所配置的链路属性值能够使产生的优先级相对高、通过其它本地路由器与本 地主机级连的内网端口所配置的链路属性值能够使产生的优先级相对低;

路由协议模块,当本机在任意内网端口产生ARP主机路由后,将产生的ARP主机路由 及其优先级发布至外网路由器,以使外网路由器对应生成与本机所发布的ARP主机路由具有 相同前缀、并以本机为下一跳的外网路由,并使外网路由器将本机发布的ARP主机路由的优 先级作为对应生成的外网路由的优先级。

内网端口为物理端口或逻辑端口。

所述链路属性值为链路开销值;其中,与本地主机直连的内网端口所配置的链路开销值, 小于通过其它本地路由器与本地主机级连的内网端口所配置的链路开销值;并且,链路开销 值越小,优先级越高。

所述链路属性值为链路带宽;其中,与本地主机互连的内网端口所配置的链路带宽值, 大于通过其它本地路由器与本地主机级连的内网端口所配置的链路带宽值;并且,链路带宽 值越大,优先级越高。

由此可见,基于本申请所提供的技术方案,本地路由器依据其各内网端口所配置的链路 属性值,能够确定由每个内网端口触发产生的ARP主机路由的优先级,并且,本地路由器还 能够将产生的ARP主机路由及其优先级一起发布至外网路由器,以使外网路由器能够依据 ARP主机路由对应生成外网路由,并使外网路由器在针对不同本地主机的下行流量优选外网 路由时能够延用对应的ARP主机路由的优先级。从而,通过内网端口所配置的链路属性值对 优先级的影响,即可决定外网路由器针对下行流量的路由选择,进而能够确保本地路由器中 的上行流量和下行流量一致。

附图说明

图1为现有技术中的一种负载均衡组网方式的实例示意图;

图2a至图2b为本申请实施例中发布ARP主机路由的实例示意图;

图3为本申请实施例中发布ARP主机路由的方法的一种示例性流程示意图;

图4为本申请实施例中发布ARP主机路由的装置的一种示例性结构示意图。

具体实施方式

为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对 本发明进一步详细说明。

由于每台本地主机的上行流量通常是由与该本地主机直连的本地路由器进行转发, 因此,为了避免上行流量和下行流量不一致的情况,本实施例首先需要确保外网路由器 能够区分出不同本地主机的下行流量、并分别将每台本地主机的下行流量优先分配至与 该本地主机直连的本地路由器进行转发。

为此,本实施例提供了一种发布ARP主机路由的机制来替代现有技术中发布网段路 由的机制。

首先,该机制需要每台本地路由器在有内网端口(本实施例所述的内网端口是指用 于在局域网内实现互连的端口、其可以是物理端口或逻辑端口)学习到ARP信息时,产 生对应的本地主机的ARP主机路由、并将产生的ARP主机路由发布至外网路由器,以 使外网路由器对应生成与本机所发布的ARP主机路由具有相同前缀、并以本机为下一跳 的外网路由。

由于ARP主机路由的前缀中包含对应的本地主机的IP地址信息,因而,外网路由 器对应生成的以本机为下一跳的外网路由的前缀中也同样包含对应的本地主机的IP地址 信息。从而,不同本地主机的下行流量就能够通过外网路的前缀来区分。

其次,该机制需要在本地路由器的每个内网端口预先配置一种链路属性值,每个内 网端口所配置的链路属性值用于确定由该内网端口触发产生的所有ARP主机路由的优先 级(Prio),其中,与本地主机直连的内网端口所配置的链路属性值能够使产生的优先级 相对高、通过其他本地路由器与本地主机级连的内网端口所配置的链路属性值能够使产 生的优先级相对低;并且,所生成的优先级需要与其对应的ARP主机路由一同发布至外 网路由器,以使外网路由器所生成的外网路由能够延用对应的ARP主机路由的优先级。

这样,当外网路由器为每台本地主机的下行流量选择外网路由时,即可通过比较优 先级的高低而优先选择以直连该本地主机的本地路由器为下一跳的外网路由,进而确保 每台本地主机的下行流量优先转发至与该本地主机直连的本地路由器。

实际应用中,每台本地路由器中的各内网端口的用途通常在组网时就已经确定,即, 用于局域网内的本地主机接入、或用于在局域网内与互为备份的其他本地路由器互通。 其中,用于局域网内的本地主机接入的内网端口就是与本地主机直连的内网端口,而用 于在局域网内与互为备份的其他本地路由器互通的内网端口就是通过其他本地路由器与 本地主机级连的内网端口。

因此,每个内网端口与本地主机之间的直连或级连的连接方式在组网时就是已知的, 从而,对于连接方式已知的内网端口来说,本领域技术人员能够知晓如何适当地选取链 路属性值来确保直连方式的内网端口所产生的ARP主机路由的优先级更高、级连方式的 内网端口所产生的ARP主机路由的优先级更低。

例如,假设选用Cost(链路开销)值作为链路属性值,则,与本地主机互连的内网 端口所配置的Cost值,需要小于通过本地路由器与本地主机级连的内网端口所配置的 Cost值,并且,Cost值越小、优先级就越高。

再例如,假设选取链路带宽值作为链路属性值,则,与本地主机互连的内网端口所 配置的链路带宽值,需要大于通过本地路由器与本地主机级连的内网端口所配置的链路 带宽值,并且,链路带宽值越大、优先级越高。

而且,由于每台本地路由器中的各内网端口的用途通常在组网时就已经确定,因此, 若对于本地路由器在组网时已被使用的内网端口、以及预留的空闲内网端口均预先配置 链路属性值,则当局域网在完成组网之后又有新的主机接入在本地路由器专用于局域网 内的本地主机接入的空闲内网端口时,也无须更改本地路由器中的内网端口配置,这样, 能够更好地适应网络设备的变化。

下面,再结合一实例,对上述发布ARP主机路由的机制进行详细说明。

图2a至图2b为本申请实施例中发布ARP主机路由的实例示意图。

在如图2a至图2b所示的实例中,局域网内由本地路由器RouteA和RouteB互为备 份地为该局域网内的本地主机PC1(IP地址为10.1.1.5/8)和PC2(IP地址为10.1.1.6/8) 提供网关功能,并且,RouteA和RouteB还接入在同一台外网路由器RouteC。

另外,在如图2a至图2b所示的实例中,以选取Cost值作为链路属性值为例,并且, RouteA直连PC1的内网端口Port_a1配置的Cost值为50,RouteA通过RouteB与PC2 级连的内网端口Port_a2配置的Cost值为100;RouteB直连PC2的内网端口Port_b1配 置的Cost值为50,RouteB通过RouteA与PC1级连的内网端口Port_b2配置的Cost值为 100。

请参见图2a:

当RouteA在内网端口Port_a1学习到PC1的ARP信息后,会产生以10.1.1.5/32为 前缀、以PC1为下一跳的ARP主机路由,并依据内网端口Port_a1所配置的Cost值50 产生该ARP主机路由的优先级50,然后,将以10.1.1.5/32为前缀的该ARP主机路由及 其优先级50发布至RouteC;

当RouteB在内网端口Port_b2学习到PC1的ARP信息后,会产生以10.1.1.5/32为 前缀、以PC1为下一跳的ARP主机路由,并依据内网端口Port_b2所配置的Cost值100 产生该ARP主机路由的优先级100,然后,将以10.1.1.5/32为前缀的该ARP主机路由及 其优先级100发布至RouteC;

此后,RouteC即可依据RouteA和RouteB发布的ARP主机路由,对应地生成针对 PC1的两条外网路由,这两条外网路由均以10.1.1.5/32为前缀,但其中一条以RouteA为 下一跳、优先级为相对高的50,另一条以RouteB为下一跳、优先级为相对低的100;

同理,对于PC2,RouteA和RouteB也会向RouteC上报相应的ARP主机路由及优 先级,从而,在RouteC中也可生成对应PC2的两条外网路由,这两条外网路由均以 10.1.1.6/32为前缀,但其中一条以RouteA为下一跳、优先级为相对低的100,另一条以 RouteB为下一跳、优先级为相对高的50。

请参见图2b:

当PC1产生发向外网的上行流量时,与PC1直连的RouteA通过内网端口Port_a1 从PC1接收该上行流量、并通过外网端口Port_a0向RouteC转发上行流量;

此后,当RouteC有需要向PC1转发的下行流量时,RouteC会在以10.1.1.5/32为前 缀的两条外网路由中选择,但由于在这两条外网路由中,以RouteA为下一跳的一条具有 相对高的优先级50,以RouteB为下一跳的另一条具有相对低的优先级100,因此,RouteC 就会选择以RouteA为下一跳的外网路由、并将PC1的下行流量转发至RouteA的外网端 口Port_a0,然后再通过RouteA的内网端口Port_a1转发至PC1,这样,就确保了RouteA 中的上行流量和下行流量一致;

同理,当PC2产生发向外网的上行流量时,与PC2直连的RouteB通过内网端口 Port_b1从PC2接收该上行流量、并通过外网端口Port_b0向RouteC转发上行流量;而 当RouteC有需要向PC2转发的下行流量时,也会选择以RouteB为下一跳的外网路由、 并将PC2的下行流量转发至RouteB的外网端口Port_b0,然后再通过RouteB的内网端 口Port_b1转发至PC2,这样,同样能够确保RouteB中的上行流量和下行流量一致。

基于如上所述的发布ARP主机路由的机制,本实施例提供了一种发布ARP主机路 由的方法。其中,该方法应用于局域网内的任意一台本地路由器,并且,应用该方法的 本地路由器与处在同一局域网内的其他本地路由器互为备份地为本地主机提供网关功 能、并与局域网内提供网关功能的其它本地路由器接入至局域网之外的同一台外网路由 器。

图3为本申请实施例中发布ARP主机路由的方法的一种示例性流程示意图。如图3 所示,该方法包括在应用其的本地路由器中执行的如下步骤:

步骤300,为本机的各内网端口分别配置对应的链路属性值。

在本步骤之后,即可反复循环地执行步骤301~步骤302。

步骤301,当本机在任意内网端口学习到本地主机的ARP信息后,产生对应的ARP 主机路由、并依据该内网端口的链路属性值生成该ARP主机路由的优先级;其中,相比 于通过本地路由器与本地主机级连的内网端口所配置的链路属性值,与本地主机直连的 内网端口所配置的链路属性值能够使产生的ARP主机路由的优先级更高;

步骤302,当本机在任意内网端口产生ARP主机路由后,将产生的ARP主机路由及 其优先级发布至外网路由器,以使外网路由器对应生成与本机所发布的ARP主机路由具 有相同前缀、并以本机为下一跳的外网路由,并使外网路由器将本机发布的ARP主机路 由的优先级作为对应生成的外网路由的优先级。

至此,流程结束。

实际应用中,上述方法能够以计算机程序来实现,因此,与上述方法相对应地,本 实施例还提供了一种发布ARP主机路由的装置。其中,该装置应用于局域网内的任意一 台本地路由器,并且,应用该装置的本地路由器与处在同一局域网内的其他本地路由器 互为备份地为本地主机提供网关功能、并与局域网内提供网关功能的其它本地路由器接 入至局域网之外的同一台外网路由器。

图4为本申请实施例中发布ARP主机路由的装置的一种示例性结构示意图。如图4 所示,该装置包括在应用其的本地路由器中承载的如下模块:

端口配置模块400,为本机在局域网内实现互连的各内网端口分别配置对应的链路 属性值;

ARP模块401,当本机在任意内网端口学习到本地主机的ARP信息后,产生对应的 ARP主机路由、并依据该内网端口的链路属性值生成该ARP主机路由的优先级;其中, 相比于通过本地路由器与本地主机级连的内网端口所配置的链路属性值,与本地主机直 连的内网端口所配置的链路属性值能够使产生的ARP主机路由的优先级更高;

路由协议模块402,当本机在任意内网端口产生ARP主机路由后,将产生的ARP主 机路由及其优先级发布至外网路由器,以使外网路由器对应生成与本机所发布的ARP主 机路由具有相同前缀、并以本机为下一跳的外网路由,并使外网路由器将本机发布的ARP 主机路由的优先级作为对应生成的外网路由的优先级。

基于本实施例所提供的上述方法和装置,本地路由器依据其各内网端口所配置的链 路属性值,能够确定由每个内网端口触发产生的ARP主机路由的优先级,并且,本地路 由器还能够将产生的ARP主机路由及其优先级一起发布至外网路由器,以使外网路由器 能够依据ARP主机路由对应生成外网路由,并使外网路由器在针对不同本地主机的下行 流量优选外网路由时能够延用对应的ARP主机路由的优先级。从而,通过内网端口所配 置的链路属性值对优先级的影响,即可决定外网路由器针对下行流量的路由选择,进而 能够确保本地路由器中的上行流量和下行流量一致。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神 和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号