CN108282404B - 一种路由生成方法、装置及系统 - Google Patents

一种路由生成方法、装置及系统 Download PDF

Info

Publication number
CN108282404B
CN108282404B CN201810044512.6A CN201810044512A CN108282404B CN 108282404 B CN108282404 B CN 108282404B CN 201810044512 A CN201810044512 A CN 201810044512A CN 108282404 B CN108282404 B CN 108282404B
Authority
CN
China
Prior art keywords
branch node
information
node
branch
tunnel
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201810044512.6A
Other languages
English (en)
Other versions
CN108282404A (zh
Inventor
梁桂风
张笛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
New H3C Security Technologies Co Ltd
Original Assignee
New H3C Security Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by New H3C Security Technologies Co Ltd filed Critical New H3C Security Technologies Co Ltd
Priority to CN201810044512.6A priority Critical patent/CN108282404B/zh
Publication of CN108282404A publication Critical patent/CN108282404A/zh
Application granted granted Critical
Publication of CN108282404B publication Critical patent/CN108282404B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/54Organization of routing tables

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明实施例提供了一种路由生成方法、装置及系统,其中,路由生成方法包括:在接收到至少一个分支节点发送的数据流时,建立中心节点与每个分支节点对应的隧道动态表项;根据隧道动态表项中的网络地址信息、掩码信息及接口信息,生成中心节点至每个分支节点的静态路由。通过本方案,可以提高点到多点GRE隧道组网中的中心节点的路由配置效率。

Description

一种路由生成方法、装置及系统
技术领域
本发明涉及通信技术领域,特别是涉及一种路由生成方法、装置及系统。
背景技术
通用路由封装(英文:Generic Routing Encapsulation,简称:GRE)是虚拟专用网络(英文:Virtual Private Network,简称:VPN)的第三层隧道协议。即是在协议层之间采用的一种隧道技术,用于对某些网络层协议的数据报文进行封装,使这些被封装的数据报文能够在另一个网络层协议中传输。
GRE隧道是一个点到点的虚拟连接,为封装的数据报文提供了一条传输通路,GRE隧道的两端网络设备分别对待传输的数据报文进行封装和解封装操作。在GRE应用于如图1所示的网络时,需要在中心节点和各个分支节点之间建立点到点的多条GRE隧道,如果分支节点的数量庞大,建立多条GRE隧道会非常耗时。
为了应对上述问题,中心节点和分支节点可以构建点到多点GRE隧道组网。点到多点GRE隧道组网提供了一个中心节点到多个分支节点的虚拟连接。在点到多点GRE隧道组网中,中心节点上配置点到多点GRE隧道接口,分支节点上配置传统的点到点GRE隧道接口。在中心节点向分支节点封装、转发数据报文之前,需要配置经过点到多点GRE隧道接口到达分支节点的路由,路由配置的方式一般采用静态路由的方式,即预先获知所有的分支节点的路由信息,然后,在中心节点上生成包含所有分支节点的路由信息的路由表。
如果分支节点的数量过于庞大,获知所有的分支节点的路由信息会耗费大量的时间、且工作量巨大,导致点到多点GRE隧道组网中的中心节点的路由配置效率较低。
发明内容
本发明实施例的目的在于提供一种路由生成方法、装置及系统,以提高点到多点GRE隧道组网中的中心节点的路由配置效率。具体技术方案如下:
第一方面,本发明实施例提供了一种路由生成方法,所述方法包括:
在接收到至少一个分支节点发送的数据流时,建立中心节点与所述至少一个分支节点中每个分支节点对应的隧道动态表项,所述隧道动态表项包括所述分支节点的网络地址信息、所述分支节点的掩码信息及所述分支节点的接口信息;
根据所述网络地址信息、所述掩码信息及所述接口信息,生成所述中心节点至所述每个分支节点的静态路由。
可选的,所述建立中心节点与所述至少一个分支节点中每个分支节点对应的隧道动态表项,包括:
从所述每个分支节点发送的数据流中获取所述每个分支节点的网络地址信息、所述每个分支节点的掩码信息及所述每个分支节点的接口信息;
基于所述每个分支节点的网络地址信息、所述每个分支节点的掩码信息以及所述每个分支节点的接口信息,建立所述中心节点至所述每个分支节点对应的隧道动态表项;
所述根据所述网络地址信息、所述掩码信息及所述接口信息,生成所述中心节点至所述每个分支节点的静态路由,包括:
根据所述每个分支节点的网络地址信息及掩码信息,确定所述每个分支节点的网段信息;
生成所述中心节点至所述每个分支节点的静态路由,所述静态路由包括所述每个分支节点的网段信息及所述每个分支节点的接口信息。
可选的,所述根据所述网络地址信息、所述掩码信息及所述接口信息,生成所述中心节点至所述每个分支节点的静态路由之后,所述方法还包括:
检测是否更新所述隧道动态表项;
如果检测到所述隧道动态表项已更新,则更新与所述隧道动态表项对应的所述静态路由。
第二方面,本发明实施例提供了一种路由生成装置,所述装置包括:
建立模块,用于在接收到至少一个分支节点发送的数据流时,建立中心节点与所述至少一个分支节点中每个分支节点对应的隧道动态表项,所述隧道动态表项包括所述分支节点的网络地址信息、所述分支节点的掩码信息及所述分支节点的接口信息;
生成模块,用于根据所述网络地址信息、所述掩码信息及所述接口信息,生成所述中心节点至所述每个分支节点的静态路由。
可选的,所述建立模块,具体用于:
从所述每个分支节点发送的数据流中获取所述每个分支节点的网络地址信息、所述每个分支节点的掩码信息及所述每个分支节点的接口信息;
基于所述每个分支节点的网络地址信息、所述每个分支节点的掩码信息以及所述每个分支节点的接口信息,建立所述中心节点至所述每个分支节点对应的隧道动态表项;
所述生成模块,具体用于:
根据所述每个分支节点的网络地址信息及掩码信息,确定所述每个分支节点的网段信息;
生成所述中心节点至所述每个分支节点的静态路由,所述静态路由包括所述每个分支节点的网段信息及所述每个分支节点的接口信息。
可选的,所述装置还包括:
检测模块,用于检测是否更新所述隧道动态表项;
更新模块,用于如果检测到所述隧道动态表项已更新,则更新与所述隧道动态表项对应的所述静态路由。
第三方面,本发明实施例提供了一种路由生成系统,所述系统包括:一个中心节点及多个分支节点;
所述分支节点,用于在配置所述分支节点至所述中心节点的隧道接口后,向所述中心节点发送数据流;
所述中心节点,用于在接收到至少一个分支节点发送的数据流时,建立所述中心节点与所述至少一个分支节点中每个分支节点对应的隧道动态表项,所述隧道动态表项包括所述分支节点的网络地址信息、所述分支节点的掩码信息及所述分支节点的接口信息;根据所述网络地址信息、所述掩码信息及所述接口信息,生成所述中心节点至所述每个分支节点的静态路由。
可选的,所述分支节点,还用于:
根据预先配置的地址转换策略,将所述分支节点的私网地址信息转换为基于所述隧道接口的网络地址信息,并配置掩码信息;
在向所述中心节点发送的数据流中,添加所述网络地址信息、所述掩码信息及所述隧道接口的接口信息。
可选的,所述中心节点,具体用于:
从所述每个分支节点发送的数据流中获取所述每个分支节点的网络地址信息、所述每个分支节点的掩码信息及所述每个分支节点的接口信息;
基于所述每个分支节点的网络地址信息、所述每个分支节点的掩码信息以及所述每个分支节点的接口信息,建立所述中心节点至所述每个分支节点对应的隧道动态表项;
根据所述每个分支节点的网络地址信息及掩码信息,确定所述每个分支节点的网段信息;
生成所述中心节点至所述每个分支节点的静态路由,所述静态路由包括所述每个分支节点的网段信息及所述每个分支节点的接口信息。
可选的,所述中心节点,还用于:
检测是否更新所述隧道动态表项;
如果检测到所述隧道动态表项已更新,则更新与所述隧道动态表项对应的所述静态路由。
因此,通过本发明实施例提供的一种路由生成方法、装置及系统,在点到多点GRE隧道组网中,中心节点内的第一出口网关在接收到至少一个分支节点内的第二出口网关发送的数据流时,建立与每个分支节点对应的隧道动态表项。根据隧道动态表项中所包括的网络地址信息、掩码信息和接口信息,第一出口网关生成中心节点至每个分支节点的静态路由。由于在点到多点GRE隧道组网中,在第二出口网关上配置有传统的点到点GRE隧道接口,第二出口网关可以通过隧道接口向第一出口网关发送数据流;而在第一出口网关接收到数据流时,会建立隧道动态表项,该隧道动态表项中包含有用于生成静态路由的网络地址信息、掩码信息和接口信息。因此,克服了现有技术中中心节点获知所有的分支节点的路由信息产生的耗费时间、工作量巨大,以及配置效率较低等缺陷。
在本发明实施例中,第一出口网关可以不预先获知所有的分支节点的路由信息,而是在接收到第二出口网关发送的数据流后根据建立的隧道动态表项生成静态路由,实现了中心节点至各分支节点的静态路由可以独立配置,能够简单快速地配置中心节点至各分支节点的静态路由,进而提高了路由配置效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术的网络结构示意图;
图2为本发明一实施例的路由生成方法的流程示意图;
图3为本发明一实施例的点到多点GRE隧道组网的结构示意图;
图4为本发明另一实施例的路由生成方法的流程示意图;
图5为本发明一实施例的路由生成装置的结构示意图;
图6为本发明另一实施例的路由生成装置的结构示意图;
图7为本发明实施例的路由生成系统的结构示意图;
图8为本发明实施例的电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在当前的路由配置协议中,也可通过对中心节点配置动态路由协议的方式,提高路由配置效率。虽然可以通过在中心节点上配置动态路由协议的方式,中心节点动态生成经过点到多点GRE隧道接口到达分支节点的路由,进而减少手动配置静态路由的工作量。但是,在私网(中心节点及分支节点)接入公网(例如互联网)的时候,由于访问机制的设置,可能会不允许中心节点使用动态路由协议。例如,公网IP由于是运营商进行维护,对于中心节点或者分支节点而言,其IP地址都是固定的,不可以动态的生成路由信息,因此该应用场景不允许使用动态路由协议。
为了提高点到多点GRE隧道组网中的中心节点的路由配置效率,同时,也为了克服中心节点无法使用动态路由协议的场景,本发明实施例提供了一种路由生成方法、装置及系统。
本发明实施例的应用场景为点到多点GRE隧道组网,点到多点GRE隧道组网中,中心节点与各分支节点之间配置了点到多点GRE隧道,点到多点GRE隧道具有配置简单、维护代价小、分支节点接入方式灵活、可靠性高等特点,因此在例如大规模的企业网中,针对具有大量分支节点的网络,常将网络构建为点到多点GRE隧道组网。
下面,首先对本发明实施例所提供的路由生成方法进行介绍。
本发明实施例所提供的路由生成方法的执行主体为点到多点GRE隧道组网的中心节点内的出口网关。具体的,该出口网关可以为路由器,中心节点内包括了至少一个主机以及一个出口网关,每个主机均与出口网关连接,各主机通过出口网关将数据报文发送至分支节点。实现本发明实施例所提供的路由生成方法的方式可以为设置于执行主体中的软件、硬件电路和逻辑电路中的至少一种。如图2所示,本发明实施例所提供的一种路由生成方法,可以包括如下步骤:
S201,在接收到至少一个分支节点发送的数据流时,建立中心节点与每个分支节点对应的隧道动态表项。
中心节点与多个分支节点构成了点到多点GRE隧道组网。在中心节点的出口网关(第一出口网关)上配置了点到多点GRE隧道接口,在分支节点的出口网关(第二出口网关)上配置了传统的点到点GRE隧道接口。由于第二出口网关上配置的是传统的点到点GRE隧道接口,第二出口网关可向第一出口网关发送数据流。
第二出口网关向第一出口网关发送的数据流中,携带分支节点内主机的网络地址信息、掩码信息、接口信息等信息;或者,第二出口网关向第一出口网关发送数据流的同时,将分支节点内主机的网络地址信息、掩码信息、接口信息等信息打包发至第一出口网关。
因此,第一出口网关在接收到第二出口网关发送的数据流时,可以获得分支节点内主机的网络地址信息、掩码信息、接口信息等信息。第一出口网关通过对这些信息进行分析后,自动建立中心节点与分支节点对应的隧道动态表项。
可以理解的是,如果第二出口网关没有数据流发送至第一出口网关,则在第一出口网关上不会产生隧道动态表项。所建立的隧道动态表项中,至少可以包括分支节点内主机的网络地址信息、掩码信息及接口信息。
例如,如图3所示,中心节点310与第一分支节点320、第二分支节点330组成点到多点GRE隧道组网。中心节点310内包括至少一个第一主机311以及一个第一出口网关312。第一分支节点320内包括至少一个第二主机321以及一个第二出口网关322。第二分支节点330内包括至少一个第三主机331以及一个第三出口网关332。
以出口网关为路由器为例,如表1所示,给出了第一路由器(第一出口网关312)、第二路由器(第二出口网关322)和第三路由器(第三出口网关332)的千兆以太网(英文:Gigabit Ethernet,简称:GE)接口地址和隧道接口地址。第一分支节点320的网段信息为192.168.12.0/24,第二分支节点330的网段信息为192.168.13.0/24。
表1
Figure BDA0001550464820000071
Figure BDA0001550464820000081
当有数据流从第一分支节点320发送至中心节点310时,中心节点310内的第一路由器自动建立如表2所示格式的隧道动态表项。该隧道动态表项中表明了:中心节点310内的第一路由器的隧道接口类型为点到多点GRE隧道类型,且隧道标识为隧道0,目的地址即为第一分支节点320内主机的网络地址信息、掩码/字首长度即为第一分支节点320内主机的掩码信息,隧道目的地址即为第一分支节点320内第二路由器的接口地址信息,隧道动态表项中的其他参数与现有的隧道表项中的参数意义相同,这里不再一一赘述。
表2
Figure BDA0001550464820000082
可选的,上述步骤S201中,第一出口网关建立中心节点与分支节点对应的隧道动态表项的过程,具体可以为:
从每个分支节点的出口网关发送的数据流中获取每个分支节点内主机的网络地址信息、每个分支节点内主机的掩码信息及每个分支节点的第二出口网关的接口信息;
基于每个分支节点内主机的网络地址信息、每个分支节点内主机的掩码信息以及每个分支节点的第二出口网关的接口信息,第一出口网关建立中心节点至每个分支节点对应的隧道动态表项。
如果数据流中携带有该分支节点内主机的网络地址信息、掩码信息和第二出口网关的接口信息,则第一出口网关在建立隧道动态表项时,直接从数据流中获取每个分支节点内主机的网络地址信息、掩码信息和第二出口网关的接口信息,建立包含有每个分支节点内主机的网络地址信息、掩码信息和第二出口网关接口信息的隧道动态表项。因此,第一出口网关建立隧道动态表项的过程简单快速。
S202,根据隧道动态表项中的网络地址信息、掩码信息及接口信息,生成中心节点至每个分支节点的静态路由。
由于隧道动态表项中包括用于生成路由表的网络地址信息、掩码信息及接口信息。因此,第一出口网关根据该网络地址信息、掩码信息和接口信息,生成中心节点至每个分支节点的静态路由。该静态路由可通过表格(如,路由表)的形式进行存储。该路由表中至少包括每个分支节点内主机的网段信息和接口信息。可以理解的是,该接口信息为下一跳接口信息。
例如,上述表2所示的隧道动态表项中,包含了路由表生成所需要的网络地址信息、掩码信息和接口信息。即,第一分支节点320内主机的网络地址信息为192.168.12.0;第一分支节点320内主机的掩码信息为255.255.255.0,24位掩码;接口信息为隧道0。因此,根据这些信息直接触发中心节点内的出口路由器或者中心节点内的路由模块生成中心节点至分支节点的静态路由。
当然,可以理解的是,为了保证数据流的传输效率,且提高传输过程中数据流传输的实时性,数据流中可以携带每个分支节点内主机的网络地址信息、每个分支节点内主机的掩码信息、每个分支节点的第二出口网关的接口信息等信息。
相应的,上述S202中,第一出口网关根据隧道动态表项中的网络地址信息、掩码信息及接口信息,生成中心节点至每个分支节点的静态路由的过程,具体可以为:
根据隧道动态表项中的每个分支节点内主机的网络地址信息及掩码信息,确定每个分支节点的网段信息;
生成中心节点至每个分支节点的静态路由,该静态路由包括每个分支节点的网段信息及接口信息。
掩码信息可以体现掩码的位数,例如掩码信息为255.255.255.0则对应24位掩码、掩码信息为255.255.255.255则对应32位掩码。根据网络地址信息和掩码信息,则可确定分支节点的网段信息。
例如,分支节点内主机的网络地址信息为192.168.12.0、掩码信息为255.255.255.0,则分支节点的网段信息为192.168.12.0/24。所生成的静态路由通过表格(如,静态路由表)的形式进行存储。该静态路由表包括网段信息和接口信息,更为直观的反映路由信息。
例如,基于表2所示的隧道动态表项,第一出口网关生成的静态路由表如表3所示。静态路由表中至少包括:第一分支节点320的网段信息为192.168.12.0/24,路由协议采用静态路由协议,接口信息为隧道0,静态路由表中还可以包括优先级、下一跳路由地址等信息,这些信息与现有的路由表中的信息意义相同,这里不再一一赘述。
表3
Figure BDA0001550464820000101
应用本实施例,在点到多点GRE隧道组网中,中心节点内的第一出口网关在接收到至少一个分支节点内的第二出口网关发送的数据流时,建立与每个分支节点对应的隧道动态表项。根据隧道动态表项中所包括的网络地址信息、掩码信息和接口信息,第一出口网关生成中心节点至每个分支节点的静态路由。由于在点到多点GRE隧道组网中,在第二出口网关上配置有传统的点到点GRE隧道接口,第二出口网关可以通过隧道接口向第一出口网关发送数据流;而在第一出口网关接收到数据流时,会建立隧道动态表项,该隧道动态表项中包含有用于生成静态路由的网络地址信息、掩码信息和接口信息。因此,克服了现有技术中中心节点获知所有的分支节点的路由信息产生的耗费时间、工作量巨大,以及配置效率较低等缺陷。
在本发明实施例中,第一出口网关可以不预先获知所有的分支节点的路由信息,而是在接收到第二出口网关发送的数据流后根据建立的隧道动态表项生成静态路由,实现了中心节点至各分支节点的静态路由可以独立配置,能够简单快速地配置中心节点至各分支节点的静态路由,进而提高了路由配置效率。
基于图2所示实施例,本发明实施例还提供了一种路由生成方法,如图4所示,该路由生成方法可以包括如下步骤:
S401,在接收到至少一个分支节点发送的数据流时,建立中心节点与每个分支节点对应的隧道动态表项。
S402,根据隧道动态表项中的网络地址信息、掩码信息及接口信息,生成中心节点至每个分支节点的静态路由。
S403,检测是否更新隧道动态表项。
其中,隧道动态表项的更新包括对隧道动态表项的增加、修改、删除等操作。以隧道动态表项被删除为例,如果第一出口网关长时间未接收到某一第二出口网关发送的数据流,且长时间内未向该第二出口网关发送数据流,则说明该分支节点与中心节点之间的隧道连接可能发生了改变、或者发生了故障。为了减少中心节点的设备开销,在长时间未接收到某一第二出口网关发送的数据流且长时间未向该第二出口网关发送数据流的情况下,第一出口网关删除该分支节点对应的隧道动态表项。
S404,如果检测到隧道动态表项已更新,则更新与该隧道动态表项对应的静态路由。
如果隧道动态表项已更新,则说明下一次第一出口网关到该第二出口网关的路由可能会发生变化。因此为了保证路由的准确性,且减少中心节点的设备开销,第一出口网关在确定隧道动态表项更新时,同时更新该动态隧道动态表项对应的静态路由。
应用本实施例,在点到多点GRE隧道组网中,中心节点内的第一出口网关在接收到至少一个分支节点内的第二出口网关发送的数据流时,建立与每个分支节点对应的隧道动态表项。根据隧道动态表项中所包括的网络地址信息、掩码信息和接口信息,第一出口网关生成中心节点至每个分支节点的静态路由。由于在点到多点GRE隧道组网中,在第二出口网关上配置有传统的点到点GRE隧道接口,第二出口网关可以通过隧道接口向第一出口网关发送数据流;而在第一出口网关接收到数据流时,会建立隧道动态表项,该隧道动态表项中包含有用于生成静态路由的网络地址信息、掩码信息和接口信息。因此,克服了现有技术中中心节点获知所有的分支节点的路由信息产生的耗费时间、工作量巨大,以及配置效率较低等缺陷。
第一出口网关可以不预先获知所有的分支节点的路由信息,而是在接收到第二出口网关发送的数据流后根据建立的隧道动态表项生成静态路由,实现了中心节点至各分支节点的静态路由可以独立配置,能够简单快速地配置中心节点至各分支节点的静态路由,进而提高了路由配置效率。并且,在隧道动态表项更新的情况下,相应更新该隧道动态表项对应的静态路由,可以减少中心节点的设备开销。
相应于上述方法实施例,本发明实施例提供了一种路由生成装置,如图5所示,该路由生成装置可以包括:
建立模块510,用于在接收到至少一个分支节点发送的数据流时,建立中心节点与所述至少一个分支节点中每个分支节点对应的隧道动态表项,所述隧道动态表项包括所述分支节点的网络地址信息、所述分支节点的掩码信息及所述分支节点的接口信息;
生成模块520,用于根据所述网络地址信息、所述掩码信息及所述接口信息,生成所述中心节点至所述每个分支节点的静态路由。
可选的,所述建立模块510,具体可以用于:
从所述每个分支节点发送的数据流中获取所述每个分支节点的网络地址信息、所述每个分支节点的掩码信息及所述每个分支节点的接口信息;
基于所述每个分支节点的网络地址信息、所述每个分支节点的掩码信息以及所述每个分支节点的接口信息,建立所述中心节点至所述每个分支节点对应的隧道动态表项;
所述生成模块502,具体可以用于:
根据所述每个分支节点的网络地址信息及掩码信息,确定所述每个分支节点的网段信息;
生成所述中心节点至所述每个分支节点的静态路由,所述静态路由包括所述每个分支节点的网段信息及所述每个分支节点的接口信息。
应用本实施例,在点到多点GRE隧道组网中,中心节点内的第一出口网关在接收到至少一个分支节点内的第二出口网关发送的数据流时,建立与每个分支节点对应的隧道动态表项。根据隧道动态表项中所包括的网络地址信息、掩码信息和接口信息,第一出口网关生成中心节点至每个分支节点的静态路由。由于在点到多点GRE隧道组网中,在第二出口网关上配置有传统的点到点GRE隧道接口,第二出口网关可以通过隧道接口向第一出口网关发送数据流;而在第一出口网关接收到数据流时,会建立隧道动态表项,该隧道动态表项中包含有用于生成静态路由的网络地址信息、掩码信息和接口信息。因此,克服了现有技术中中心节点获知所有的分支节点的路由信息产生的耗费时间、工作量巨大,以及配置效率较低等缺陷。
在本发明实施例中,第一出口网关可以不预先获知所有的分支节点的路由信息,而是在接收到第二出口网关发送的数据流后根据建立的隧道动态表项生成静态路由,实现了中心节点至各分支节点的静态路由可以独立配置,能够简单快速地配置中心节点至各分支节点的静态路由,进而提高了路由配置效率。
基于图5所示实施例,本发明实施例还提供了一种路由生成装置,如图6所示,该路由生成装置可以包括:
建立模块610,用于在接收到至少一个分支节点发送的数据流时,建立中心节点与所述至少一个分支节点中每个分支节点对应的隧道动态表项,所述隧道动态表项包括所述分支节点的网络地址信息、所述分支节点的掩码信息及所述分支节点的接口信息;
生成模块620,用于根据所述网络地址信息、所述掩码信息及所述接口信息,生成所述中心节点至所述每个分支节点的静态路由;
检测模块630,用于检测是否更新所述隧道动态表项;
更新模块640,用于如果检测到所述隧道动态表项已更新,则更新与所述隧道动态表项对应的所述静态路由。
应用本实施例,在点到多点GRE隧道组网中,中心节点内的第一出口网关在接收到至少一个分支节点内的第二出口网关发送的数据流时,建立与每个分支节点对应的隧道动态表项。根据隧道动态表项中所包括的网络地址信息、掩码信息和接口信息,第一出口网关生成中心节点至每个分支节点的静态路由。由于在点到多点GRE隧道组网中,在第二出口网关上配置有传统的点到点GRE隧道接口,第二出口网关可以通过隧道接口向第一出口网关发送数据流;而在第一出口网关接收到数据流时,会建立隧道动态表项,该隧道动态表项中包含有用于生成静态路由的网络地址信息、掩码信息和接口信息。因此,克服了现有技术中中心节点获知所有的分支节点的路由信息产生的耗费时间、工作量巨大,以及配置效率较低等缺陷。
在本发明实施例中,第一出口网关可以不预先获知所有的分支节点的路由信息,而是在接收到第二出口网关发送的数据流后根据建立的隧道动态表项生成静态路由,实现了中心节点至各分支节点的静态路由可以独立配置,能够简单快速地配置中心节点至各分支节点的静态路由,进而提高了路由配置效率。
相应于上述方法实施例,本发明实施例提供了一种路由生成系统,如图7所示,该路由生成系统可以包括:一个中心节点710及多个分支节点720。需要说明的是,下述分支节点、中心节点所执行的过程由各节点的出口网关完成。
所述分支节点720,用于在配置所述分支节点至所述中心节点710的隧道接口后,向所述中心节点发送数据流;
所述中心节点710,用于在接收到至少一个分支节点发送的数据流时,建立所述中心节点与所述至少一个分支节点中每个分支节点对应的隧道动态表项,所述隧道动态表项包括所述分支节点的网络地址信息、所述分支节点的掩码信息及所述分支节点的接口信息;根据所述网络地址信息、所述掩码信息及所述接口信息,生成所述中心节点至所述每个分支节点的静态路由。
可选的,所述分支节点720,还可以用于:
根据预先配置的地址转换策略,将所述分支节点的私网地址信息转换为基于所述隧道接口的网络地址信息,并配置掩码信息;
在向所述中心节点发送的数据流中,添加所述网络地址信息、所述掩码信息及所述隧道接口的接口信息。
由于在对分支节点进行IP地址划分时,可能会存在个别分支节点划分相同IP地址的情况,从而导致多个分支节点内主机的私网地址信息出现IP重叠。即几个分支节点内主机的私网地址信息相同。
例如,图3所示点到多点GRE隧道组网中,第一分支节点320内主机与第二分支节点330内主机的私网地址相同,均为192.168.12.2/24。
这种情况下,中心节点会生成两条具有相同网络地址信息、不同接口地址信息的隧道动态表项。如表4所示,按照隧道动态表项的匹配规则,只会匹配最新学习到的隧道动态表项,所以只有一个分支节点可以和中心节点通信。
表4
Figure BDA0001550464820000151
为了应对上述问题,在发生主机私网地址重叠的分支节点上预先配置地址转换策略。例如,带外网络地址转换(NAT Outband)策略,根据该地址转换策略,分支节点将私网地址信息转换为基于隧道接口的网络地址信息。由于隧道接口地址不同,因此转换之后得到的网络地址信息也不相同,有效地解决了上述两个私网地址相同的分支节点中只有一个分支节点能与中心节点进行通信的问题。
由于对私网地址进行转换,则需要重新配置掩码信息。例如,可以将掩码信息配置为255.255.255.255(即32位掩码)。这样,两个私网地址相同的分支节点会对应在中心节点上学习到两条不同的隧道动态表项。如表5所示,就会自动生成两条不同的静态路由。可以看出,在分支节点上结合地址转换功能后,两个私网地址相同的分支节点均可以与中心节点进行通信,解决了私网地址重叠的问题。
可以理解的是,上述执行地址转换的过程可以由分支节点的出口网关完成。
表5
Figure BDA0001550464820000161
可选的,所述中心节点710,具体可以用于:
从所述每个分支节点发送的数据流中获取所述每个分支节点的网络地址信息、所述每个分支节点的掩码信息及所述每个分支节点的接口信息;
基于所述每个分支节点的网络地址信息、所述每个分支节点的掩码信息以及所述每个分支节点的接口信息,建立所述中心节点至所述每个分支节点对应的隧道动态表项;
根据所述每个分支节点的网络地址信息及掩码信息,确定所述每个分支节点的网段信息;
生成所述中心节点至所述每个分支节点的静态路由,所述静态路由包括所述每个分支节点的网段信息及所述每个分支节点的接口信息。
可选的,所述中心节点710,还可以用于:
检测是否更新所述隧道动态表项;
如果检测到所述隧道动态表项已更新,则更新与所述隧道动态表项对应的所述静态路由。
应用本实施例,在点到多点GRE隧道组网中,中心节点在接收到至少一个分支节点发送的数据流时,建立与每个分支节点对应的隧道动态表项。根据隧道动态表项中所包括的网络地址信息、掩码信息和接口信息,中心节点生成自身至每个分支节点的静态路由。由于在点到多点GRE隧道组网中,在分支节点上配置有传统的点到点GRE隧道接口,分支节点可以通过隧道接口向第一出口网关发送数据流;而在中心节点接收到数据流时,会建立隧道动态表项,该隧道动态表项中包含有用于生成静态路由的网络地址信息、掩码信息和接口信息。因此,克服了现有技术中中心节点获知所有的分支节点的路由信息产生的耗费时间、工作量巨大,以及配置效率较低等缺陷。
在本发明实施例中,中心节点可以不预先获知所有的分支节点的路由信息,而是在接收到分支节点发送的数据流后根据建立的隧道动态表项生成静态路由,实现了中心节点至各分支节点的静态路由可以独立配置,能够简单快速地配置中心节点至各分支节点的静态路由,进而提高了路由配置效率。
本发明实施例还提供了一种电子设备,如图8所示,包括处理器801和计算机可读存储介质802,所述计算机可读存储介质802存储有能够被所述处理器801执行的机器可执行指令,所述处理器801被所述机器可执行指令促使实现本发明实施例提供的路由生成方法的所有步骤。
上述计算机可读存储介质可以包括随机存取存储器(英文:Random AccessMemory,简称:RAM),也可以包括非易失性存储器(英文:Non-volatile Memory,简称:NVM),例如至少一个磁盘存储器。可选的,计算机可读存储介质还可以是至少一个位于远离前述处理器的存储装置。
上述处理器可以是通用处理器,包括中央处理器(英文:Central ProcessingUnit,简称:CPU)、网络处理器(英文:Network Processor,简称:NP)等;还可以是数字信号处理器(英文:Digital Signal Processor,简称:DSP)、专用集成电路(英文:ApplicationSpecific Integrated Circuit,简称:ASIC)、现场可编程门阵列(英文:Field-Programmable Gate Array,简称:FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本发明实施例中,电子设备的处理器通过读取各自计算机可读存储介质中存储的计算机程序,并通过运行计算机程序,能够实现:在点到多点GRE隧道组网中,中心节点内的第一出口网关在接收到至少一个分支节点内的第二出口网关发送的数据流时,建立与每个分支节点对应的隧道动态表项。根据隧道动态表项中所包括的网络地址信息、掩码信息和接口信息,第一出口网关生成中心节点至每个分支节点的静态路由。由于在点到多点GRE隧道组网中,在第二出口网关上配置有传统的点到点GRE隧道接口,第二出口网关可以通过隧道接口向第一出口网关发送数据流;而在第一出口网关接收到数据流时,会建立隧道动态表项,该隧道动态表项中包含有用于生成静态路由的网络地址信息、掩码信息和接口信息。因此,克服了现有技术中中心节点获知所有的分支节点的路由信息产生的耗费时间、工作量巨大,以及配置效率较低等缺陷。
在本发明实施例中,第一出口网关可以不预先获知所有的分支节点的路由信息,而是在接收到第二出口网关发送的数据流后根据建立的隧道动态表项生成静态路由,实现了中心节点至各分支节点的静态路由可以独立配置,能够简单快速地配置中心节点至各分支节点的静态路由,进而提高了路由配置效率。
另外,相应于上述实施例所提供的路由生成方法,本发明实施例提供了一种计算机可读存储介质,用于存储计算机程序,所述计算机程序被处理器执行时,实现本发明实施例提供的路由生成方法的所有步骤。
本发明实施例中,计算机可读存储介质存储有在运行时执行本发明实施例所提供的路由生成方法的应用程序,因此能够实现:在点到多点GRE隧道组网中,中心节点内的第一出口网关在接收到至少一个分支节点内的第二出口网关发送的数据流时,建立与每个分支节点对应的隧道动态表项。根据隧道动态表项中所包括的网络地址信息、掩码信息和接口信息,第一出口网关生成中心节点至每个分支节点的静态路由。由于在点到多点GRE隧道组网中,在第二出口网关上配置有传统的点到点GRE隧道接口,第二出口网关可以通过隧道接口向第一出口网关发送数据流;而在第一出口网关接收到数据流时,会建立隧道动态表项,该隧道动态表项中包含有用于生成静态路由的网络地址信息、掩码信息和接口信息。因此,克服了现有技术中中心节点获知所有的分支节点的路由信息产生的耗费时间、工作量巨大,以及配置效率较低等缺陷。
在本发明实施例中,第一出口网关可以不预先获知所有的分支节点的路由信息,而是在接收到第二出口网关发送的数据流后根据建立的隧道动态表项生成静态路由,实现了中心节点至各分支节点的静态路由可以独立配置,能够简单快速地配置中心节点至各分支节点的静态路由,进而提高了路由配置效率。
对于电子设备以及计算机可读存储介质实施例而言,由于其所涉及的方法内容基本相似于上述的方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
需要说明的是,在本发明实施例中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、系统、电子设备和计算机可读存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (10)

1.一种路由生成方法,其特征在于,所述方法包括:
在接收到至少一个分支节点发送的数据流时,建立中心节点与所述至少一个分支节点中每个分支节点对应的隧道动态表项,所述隧道动态表项包括所述分支节点的网络地址信息、所述分支节点的掩码信息及所述分支节点的接口信息;
根据所述每个分支节点的网络地址信息及掩码信息,确定所述每个分支节点的网段信息;
生成所述中心节点至所述每个分支节点的静态路由,所述静态路由包括所述每个分支节点的网段信息及所述每个分支节点的接口信息。
2.根据权利要求1所述的方法,其特征在于,所述建立中心节点与所述至少一个分支节点中每个分支节点对应的隧道动态表项,包括:
从所述每个分支节点发送的数据流中获取所述每个分支节点的网络地址信息、所述每个分支节点的掩码信息及所述每个分支节点的接口信息;
基于所述每个分支节点的网络地址信息、所述每个分支节点的掩码信息以及所述每个分支节点的接口信息,建立所述中心节点至所述每个分支节点对应的隧道动态表项。
3.根据权利要求1所述的方法,其特征在于,所述根据所述网络地址信息、所述掩码信息及所述接口信息,生成所述中心节点至所述每个分支节点的静态路由之后,所述方法还包括:
检测是否更新所述隧道动态表项;
如果检测到所述隧道动态表项已更新,则更新与所述隧道动态表项对应的所述静态路由。
4.一种路由生成装置,其特征在于,所述装置包括:
建立模块,用于在接收到至少一个分支节点发送的数据流时,建立中心节点与所述至少一个分支节点中每个分支节点对应的隧道动态表项,所述隧道动态表项包括所述分支节点的网络地址信息、所述分支节点的掩码信息及所述分支节点的接口信息;
生成模块,用于根据所述每个分支节点的网络地址信息及掩码信息,确定所述每个分支节点的网段信息;生成所述中心节点至所述每个分支节点的静态路由,所述静态路由包括所述每个分支节点的网段信息及所述每个分支节点的接口信息。
5.根据权利要求4所述的装置,其特征在于,所述建立模块,具体用于:
从所述每个分支节点发送的数据流中获取所述每个分支节点的网络地址信息、所述每个分支节点的掩码信息及所述每个分支节点的接口信息;
基于所述每个分支节点的网络地址信息、所述每个分支节点的掩码信息以及所述每个分支节点的接口信息,建立所述中心节点至所述每个分支节点对应的隧道动态表项。
6.根据权利要求4所述的装置,其特征在于,所述装置还包括:
检测模块,用于检测是否更新所述隧道动态表项;
更新模块,用于如果检测到所述隧道动态表项已更新,则更新与所述隧道动态表项对应的所述静态路由。
7.一种路由生成系统,其特征在于,所述系统包括:一个中心节点及多个分支节点;
所述分支节点,用于在配置所述分支节点至所述中心节点的隧道接口后,向所述中心节点发送数据流;
所述中心节点,用于在接收到至少一个分支节点发送的数据流时,建立所述中心节点与所述至少一个分支节点中每个分支节点对应的隧道动态表项,所述隧道动态表项包括所述分支节点的网络地址信息、所述分支节点的掩码信息及所述分支节点的接口信息;根据所述每个分支节点的网络地址信息及掩码信息,确定所述每个分支节点的网段信息;生成所述中心节点至所述每个分支节点的静态路由,所述静态路由包括所述每个分支节点的网段信息及所述每个分支节点的接口信息。
8.根据权利要求7所述的系统,其特征在于,所述分支节点,还用于:
根据预先配置的地址转换策略,将所述分支节点的私网地址信息转换为基于所述隧道接口的网络地址信息,并配置掩码信息;
在向所述中心节点发送的数据流中,添加所述网络地址信息、所述掩码信息及所述隧道接口的接口信息。
9.根据权利要求8所述的系统,其特征在于,所述中心节点,具体用于:
从所述每个分支节点发送的数据流中获取所述每个分支节点的网络地址信息、所述每个分支节点的掩码信息及所述每个分支节点的接口信息;
基于所述每个分支节点的网络地址信息、所述每个分支节点的掩码信息以及所述每个分支节点的接口信息,建立所述中心节点至所述每个分支节点对应的隧道动态表项。
10.根据权利要求7所述的系统,其特征在于,所述中心节点,还用于:
检测是否更新所述隧道动态表项;
如果检测到所述隧道动态表项已更新,则更新与所述隧道动态表项对应的所述静态路由。
CN201810044512.6A 2018-01-17 2018-01-17 一种路由生成方法、装置及系统 Active CN108282404B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810044512.6A CN108282404B (zh) 2018-01-17 2018-01-17 一种路由生成方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810044512.6A CN108282404B (zh) 2018-01-17 2018-01-17 一种路由生成方法、装置及系统

Publications (2)

Publication Number Publication Date
CN108282404A CN108282404A (zh) 2018-07-13
CN108282404B true CN108282404B (zh) 2021-05-14

Family

ID=62803833

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810044512.6A Active CN108282404B (zh) 2018-01-17 2018-01-17 一种路由生成方法、装置及系统

Country Status (1)

Country Link
CN (1) CN108282404B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109495567B (zh) * 2018-11-16 2020-12-29 网宿科技股份有限公司 一种静态路由的部署方法、设备及系统
CN111327507A (zh) * 2018-12-17 2020-06-23 上海擎感智能科技有限公司 一种apn链路负载均衡的实现方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102045233A (zh) * 2009-10-22 2011-05-04 杭州华三通信技术有限公司 一种网络通信中控制报文转发的方法和设备
CN102045249A (zh) * 2009-10-22 2011-05-04 杭州华三通信技术有限公司 一种网络通信中报文的转发方法和设备

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102164090B (zh) * 2011-05-13 2013-12-25 杭州华三通信技术有限公司 基于通用路由封装隧道的报文转发的方法、系统及设备
CN102546434B (zh) * 2012-02-15 2015-12-16 杭州华三通信技术有限公司 一种DVPN大规模组网的方法和Spoke
CN102868586B (zh) * 2012-09-25 2015-06-10 杭州华三通信技术有限公司 一种建立隧道转发表项的方法、中心节点和分支节点
US20170005830A1 (en) * 2015-06-30 2017-01-05 Futurewei Technologies, Inc. Demultiplexing Bonded GRE Tunnels
CN107360154B (zh) * 2017-07-10 2020-01-07 中国科学院沈阳计算技术研究所有限公司 一种内网安全接入方法及系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102045233A (zh) * 2009-10-22 2011-05-04 杭州华三通信技术有限公司 一种网络通信中控制报文转发的方法和设备
CN102045249A (zh) * 2009-10-22 2011-05-04 杭州华三通信技术有限公司 一种网络通信中报文的转发方法和设备

Also Published As

Publication number Publication date
CN108282404A (zh) 2018-07-13

Similar Documents

Publication Publication Date Title
CN109218178B (zh) 一种报文处理方法及网络设备
CN109756425B (zh) 组播转发方法、装置以及bfr
CN110971433B (zh) 获取SRv6隧道信息的方法、设备和系统
US10320664B2 (en) Cloud overlay for operations administration and management
EP3896923A1 (en) Bier packet sending method and apparatus
TWI744359B (zh) 一種資料傳輸的方法及網路設備
US8750288B2 (en) Physical path determination for virtual network packet flows
US11979322B2 (en) Method and apparatus for providing service for traffic flow
US10263808B2 (en) Deployment of virtual extensible local area network
JP7432095B2 (ja) SRv6サービス機能チェーンでパケットを転送する方法、SFF、およびSFデバイス
WO2020156166A1 (zh) 用于处理报文的方法和装置
WO2015192501A1 (zh) 地址信息的发布方法及装置
US11522795B1 (en) End to end application identification and analytics of tunnel encapsulated traffic in the underlay
CN108718269B (zh) 报文处理方法及装置
US9531564B2 (en) Single hop overlay architecture for line rate performance in campus networks
WO2022021818A1 (zh) 数据报文的处理方法及装置、存储介质、电子装置
US20190215191A1 (en) Deployment Of Virtual Extensible Local Area Network
CN108282404B (zh) 一种路由生成方法、装置及系统
US20230327983A1 (en) Performance measurement in a segment routing network
WO2023273957A1 (zh) 算力发布方法、算力更新方法及装置
EP4333382A1 (en) Packet transmission method, apparatus and system, network device, and storage medium
CN114520800B (zh) Mac地址表的更新方法及装置
WO2022001666A1 (zh) 建立vxlan隧道的方法及相关设备
WO2022199365A1 (zh) 信息处理方法、设备和存储介质
EP4319096A1 (en) Packet transmission method and related device

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant