CN112152921B - 一种建立路由表的方法、电子设备及网络 - Google Patents
一种建立路由表的方法、电子设备及网络 Download PDFInfo
- Publication number
- CN112152921B CN112152921B CN202010981133.7A CN202010981133A CN112152921B CN 112152921 B CN112152921 B CN 112152921B CN 202010981133 A CN202010981133 A CN 202010981133A CN 112152921 B CN112152921 B CN 112152921B
- Authority
- CN
- China
- Prior art keywords
- node
- path
- address
- routing table
- data packet
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/14—Routing performance; Theoretical aspects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/26—Route discovery packet
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/54—Organization of routing tables
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W40/00—Communication routing or communication path finding
- H04W40/24—Connectivity information management, e.g. connectivity discovery or connectivity update
- H04W40/28—Connectivity information management, e.g. connectivity discovery or connectivity update for reactive routing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
一种建立路由表的方法、电子设备及网络。该方法包括:生成第一探测数据包,所述第一探测数据包具有源地址和目的地址;在包含有至少两个节点的网络上从所述源地址对应的源节点开始发送所述第一探测数据包直至到达所述目的地址对应的目的节点,并记录所述第一探测数据包所经过的节点的地址以形成第一路径;根据所述第一路径生成第二路径;其中,所述第二路径为所述第一路径的反向路径;生成第一应答数据包,所述第一应答数据包中包括所述第二路径;沿所述第二路径发送所述第一应答数据包直至到达所述源节点;根据所述第二路径建立路由表项,其中,所述路由表项包括所述目的地址、下一跳节点的地址以及出接口。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种建立路由表的方法、电子设备及网络。
背景技术
内部网关协议(英文:Interior Gateway Protocol,简称:IGP)是在一个自治网络内网关(主机和路由器)间交换路由信息的协议。路由信息能用于因特网协议(英文:Internet Protocol,简称:IP)或者其它网络协议来说明路由传送是如何进行的。
IGP协议的前提是每台路由器的每个接口都设定了IP地址,其中,路由器为转发IP数据包的转发设备。IGP协议运行前还需要在路由器上设定各种参数,例如在一种典型的IGP协议,开放式最短路径优先(英文:Open Shortest Path First,简称:OSPF)中,需要在路由器上配置进程号,路由器标识(RouterID),区域标识(area-id),关联的IP和通配符掩码等。
IGP路由协议包含以下内容:每台路由器都把自己的接口信息(其中包括了链路的成本值)定期向周边发送,也转发其它路由器发送的接口信息。每台路由器的信息充分送达到网络中每台路由器后,每台路由器都会计算出一张整网的拓扑结构图。每台路由器通过自己持有的网络拓扑结构图,计算出一颗以自己为根节点,到达任何其它已知的节点(即其各接口的网段)的最短路径树,然后生成路由表。路由表的索引项是信息互换过程中得知的所有的网段,而每一个网段对应的转发项,依照这棵树的拓扑指引的出接口和下一跳去填写。因此,一个可能的IP路由表项包括数据包的目的IP地址、下一跳的IP地址以及下一跳的出接口。
当网路拓扑发生变化时,比如某条链路中断时,就重复上述步骤,重新建立路由表项。
由上述描述可以看出,通过IGP路由协议建立路由表的方式需要每个路由节点上配置较多的参数,例如要在路由器上配置进程号、路由器标识、区域标识、关联的IP、通配符掩码等。
发明内容
本发明实施例提供一种建立路由表的方法、电子设备及网络,用以解决现有技术中存在的建立路由表的方式需要配置较多参数,无法实现零配置的技术问题。
第一方面,本发明实施例提供一种建立路由表的方法,包括:
第一节点获得第一探测数据包,所述第一探测数据包具有源地址和目的地址;所述第一节点为所述源地址对应的源节点或所述源节点与所述目的地址对应的目的节点的路径上的中间节点;所述第一节点获得新的第一探测数据包;其中,当所述第一节点为所述中间节点时,所述第一节点将所述第一节点的地址记录在所述第一探测数据包中,形成所述新的第一探测数据包;当所述第一节点为所述源节点时,所述新的第一探测数据包即为所述第一探测数据包;所述第一节点发送所述新的第一探测数据包;所述第一节点接收所述第一应答数据包,所述第一应答数据包中包括第二路径,所述第二路径为第一路径的相反路径;所述第一路径为所述新的第一探测数据包所经过的节点的地址;所述第一节点根据所述第二路径中所述第一节点的地址的上一个地址建立路由表项;其中,所述路由表项包括所述目的地址、下一跳节点的地址以及出接口;其中,所述下一跳节点的地址为所述上一个地址。
由上述描述可以看出,在本发明实施例中,通过探测数据包记录从源节点到目的节点的路径节点,再通过应答数据包反路径从目的节点到源节点进行转发,使得源节点和中间节点方便的进行路由表项的建立,相较于现有技术中IGP协议所描述的路由表项的建立方式,本发明实施例中的建立路由表的方法更加简单,各个节点可以实现零配置的建立路由表。
结合第一方面,在第一方面的第一种可能的实现方式中,所述第一节点建立路径评估表项,其中,所述路径评估表项包括所述源地址和所述目的地址、所述下一跳节点的地址以及出接口、所述下一跳节点以及出接口的评价值、业务标识和/或业务目标;其中,所述下一跳节点的地址为所述上一个地址。本实施例用来对路由表项进行评估,以便于方便对路由表项进行监测、优化。
结合第一方面或第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述第一节点发送所述新的第一探测数据包,包括:所述第一节点随机选择下一跳节点以及出接口发送所述新的第一探测数据包。
第二方面,本发明实施例提供一种管理路由表的方法,包括:
第一节点获得第二探测数据包,所述第二探测数据包具有源地址和目的地址;所述第一节点为所述源地址对应的源节点或所述源节点与所述目的地址对应的目的节点的路径上的中间节点;所述第一节点获得新的第二探测数据包;其中,当所述第一节点为所述中间节点时,所述第一节点将所述第一节点的地址记录在所述第二探测数据包中,形成所述新的第二探测数据包;当所述第一节点为源节点时,所述新的第二探测数据包即为所述第二探测数据包;所述第一节点按照预定几率根据预先建立的路由表项发送所述新的第二探测数据包;所述第一节点接收第二应答数据包,所述第二应答数据包中包括第四路径,所述第四路径为第三路径的相反路径;所述第三路径为所述新的第二探测数据包所经过的节点的地址;如果在所述路由表项中匹配成功,且所述第四路径中的所述第一节点的地址的上一个地址与所述路由表项中的下一跳节点的地址相同时,所述第一节点更新预先建立的路径评估表项中的所述下一跳节点以及出接口的评价值。
由以上描述可以看出,在本发明实施例中,利用探测包和应答数据包对预先建立的路由表进行监测,以提高路由表的自适应能力。
结合第二方面,在第二方面的第一种可能的实现方式中,所述方法还包括:如果在所述路由表项中未匹配成功时,所述第一节点根据所述第四路径中所述第一节点的地址的上一个地址建立新的路由表项。本实施例可以用来发现新的路径,进而实现多路径共存。
结合第二方面,在第二方面的第二种可能的实现方式中,所述方法还包括:
如果在所述路由表项中匹配成功,且所述第四路径中所述第一节点的地址的上一个地址与所述路由表项中的下一跳节点的地址不同时,所述第一节点确定是否更新所述路由表项。本实施例中的方法可以用来对路由表项进行优化,以使路由表具有更高的自适应能力。
第二方面或第二方面的第一种可能的实现方式或第二方面的第二种可能的实现方式可以结合到第一方面或第一方面的第一种可能的实现方式或第一方面的第二种可能的实现方式中。
第三方面,本发明实施例提供一种建立路由表的方法,包括:源节点生成第一探测数据包,所述第一探测数据包具有源地址和目的地址;所述源地址为所述源节点的地址;所述源节点发送所述第一探测数据包;所述源节点接收第一应答数据包,所述第一应答数据包中包括第二路径,所述第二路径为第一路径的相反路径;所述第一路径为所述第一探测数据包所经过的节点的地址;所述源节点生成第一路径建立包,所述第一路径建立包中包括所述第一路径;所述源节点根据所述第一路径中所述源地址的下一跳节点的地址以及出接口建立路由表项;其中,所述路由表项包括所述目的地址、所述下一跳节点的地址以及出接口。
由以上描述可以看出,在本实施例中,通过探测数据包记录从源节点到目的节点的路径节点,再通过应答数据包反路径从目的节点到源节点进行转发,然后再将反路径再次进行反路径处理并生成第一路径建立包,使得源节点方便的进行路由表项的建立,相较于现有技术中IGP协议所描述的路由表项的建立方式,本发明实施例中的建立路由表的方法更加简单,各个节点可以实现零配置的建立路由表。
结合第三方面,在第三方面的第一种可能的实现方式中,所述方法还包括:如果已经建立了路由表项,并且已经建立的路由表项中的出接口与所述第一路径对应的出接口不一致,所述源节点则确定所述第一路径对应的出接口是否更优;当所述第一路径对应的出接口更优时,所述源节点则更新所述已经建立的路由表项。本实施例可以用来路由表的监测和优化,以提高路由表的自适应能力。
结合第三方面,在第三方面的第二种可能的实现方式中,所述方法还包括:所述源节点发送第一路径建立包给所述第一路径中所述源节点与所述目的节点之间的中间节点,以使所述中间节点根据所述第一路径中所述中间节点的地址的下一跳地址以及出接口更新各自的路由表项。
第二方面或第二方面的第一种可能的实现方式或第二方面的第二种可能的实现方式可以结合到第三方面或第三方面的第一种可能的实现方式或第三方面的第二种可能的实现方式中。
第四方面,本发明实施例提供一种建立路由表的方法,包括:生成第一探测数据包,所述第一探测数据包具有源地址和目的地址;在包含有至少两个节点的网络上从所述源地址对应的源节点开始发送所述第一探测数据包直至到达所述目的地址对应的目的节点,并记录所述第一探测数据包所经过的节点的地址以形成第一路径;根据所述第一路径生成第二路径;其中,所述第二路径为所述第一路径的反向路径;生成第一应答数据包,所述第一应答数据包中包括所述第二路径;沿所述第二路径发送所述第一应答数据包直至到达所述源节点;根据所述第二路径建立路由表项,其中,所述路由表项包括所述目的地址、下一跳节点的地址以及出接口。
结合第四方面,在第四方面的第一种可能的实现方式中,所述方法还包括:根据所述第二路径和业务目标建立路径评估表项,其中,所述路径评估表项包括所述源地址和所述目的地址、下一跳节点的地址以及出接口、所述下一跳节点以及出接口的评价值、业务标识和/或业务目标。
第五方面,本发明实施例提供一种管理路由表的方法,包括:生成第二探测数据包,所述第二探测数据包具有所述源地址和所述目的地址;在包含有至少两个节点网络上从所述源地址对应的源节点开始按照预定几率根据预设的路由表项发送所述第二探测数据包直至到达所述地址对应的目的节点,并记录所述第二探测数据包所经过的节点的地址以形成第三路径;根据所述第三路径生成第四路径;其中,所述第四路径为所述第三路径的相反路径;生成第二应答数据包,所述第二应答数据包中包括所述第四路径;沿所述第四路径发送所述第二应答数据包直至到达所述源节点;如果在所述路由表项中匹配成功,且所述第四路径中的下一跳的地址以及出接口与所述路由表项中的下一跳的地址以及出接口不同时,则在所述路由表项中添加新的下一跳节点的地址以及出接口、在预先建立的路径评估表项中添加新的下一跳节点以及出接口的评价值;或者确定是否更新所述路由表项。
结合第五方面,在第五方面的第一种可能的实现方式中,所述方法还包括:如果在所述路由表项中匹配成功,且所述第四路径中的下一跳的地址以及出接口与所述路由表项中的下一跳的地址以及出接口相同时,更新预先建立的路径评估表项中的下一跳节点以及出接口的评价值。
结合第五方面,在第五方面的第二种可能的实现方式中,所述方法还包括:如果在所述路由表项中未匹配成功时,则根据所述第四路径建立新的路由表项,以及建立新的路径评估表项。
结合第五方面,在第五方面的第三种可能的实现方式中,所述确定是否更新所述路由表项,包括:确定新的下一跳节点以及出接口的评价值;根据所述新的下一跳节点以及出接口的评价值以及所述预先建立的路径评估表项中的下一跳节点以及出接口的评价值确定是否更新路由表项。
结合第五方面,在第五方面的第四种可能的实现方式中,所述确定是否更新路由表项,包括:确定新的下一跳节点以及出接口的评价值;将所述新的下一跳节点以及出接口的评价值输入随机神经网络,根据所述随机神经网络的运算结果确定是否更新路由表;其中,所述随机神经网络的每个神经元对应一个出接口,所述随机神经网络经过历史下一跳节点以及出接口的评价值训练。
第五方面或第五方面的第一种可能的实现方式至第五方面的第四种可能的实现方式中的任意一种方式可以结合到第四方面或第四方面的第一种可能的实现方式中。
第六方面,本发明实施例提供一种建立路由表的方法,包括:生成第一探测数据包,所述第一探测数据包具有源地址和目的地址;在包含有至少两个节点的网络上从所述源地址对应的源节点开始发送所述第一探测数据包直至到达所述目的地址对应的目的节点,并记录所述第一探测数据包所经过的节点的地址以形成第一路径;根据所述第一路径生成第二路径;其中,所述第二路径为所述第一路径的反向路径;生成第一应答数据包,所述第一应答数据包中包括所述第二路径;沿所述第二路径发送所述第一应答数据包直至到达所述源节点;生成第一路径建立包,所述第一路径建立包中包括所述第二路径的相反路径;根据所述相反路径建立路由表项,其中,所述路由表项包括所述目的地址、下一跳节点的地址以及出接口。
结合第六方面,在第六方面的第一种可能的实现方式中,所述方法还包括:如果已经建立了路由表项,并且已经建立的路由表项中的出接口与所述相反路径对应的出接口不一致,则确定所述相反路径对应的出接口是否更优;当所述相反路径对应的出接口更优时,则更新所述已经建立的路由表项。
结合第六方面,在第六方面的第二种可能的实现方式中,所述方法还包括:生成第二探测数据包,所述第二探测数据包具有所述源地址和所述目的地址;在所述网络上从所述源节点按照预定几率根据所述路由表项发送所述第二探测数据包直至到达所述目的节点,并记录所述第二探测数据包所经过的节点的地址以形成第三路径;根据所述第三路径生成第四路径;其中,所述第四路径为所述第三路径的相反路径;生成第二应答数据包,所述第二应答数据包中包括所述第四路径;沿所述第四路径发送所述第二应答数据包直至到达所述源节点;如果在所述路由表项中匹配成功,且所述第四路径中的下一跳的地址以及出接口与所述路由表项中的下一跳的地址以及出接口相同时,更新预先建立的路径评估表项中的下一跳节点以及出接口的评价值。
第七方面,本发明实施例提供一种数据包发送方法,包括:接收业务数据包;所述业务数据包具有目的地址,并且包含业务标识和/或业务目标;根据所述目的地址、所述业务标识和/或业务目标在预先建立的路由表项中进行最长匹配,所述路由表项包括目的地址、下一跳节点的地址以及出接口、业务标识和/或业务目标;通过匹配成功的路由表项的下一跳节点的地址以及出接口发送所述业务数据包。
第八方面,本发明实施例提供一种电子设备,包括:处理器,用于生成第一探测数据包,所述第一探测数据包具有源地址和目的地址;所述电子设备作为源节点,所述源地址为所述源节点的地址;接口;发送器,用于通过所述接口发送所述第一探测数据包;接收器,用于通过所述接口接收所述第一应答数据包,所述第一应答数据包中包括第二路径,所述第二路径为第一路径的相反路径;所述第一路径为所述第一探测数据包所经过的节点的地址;所述处理器还用于:根据所述第二路径中所述电子设备的地址的上一个地址建立路由表项;其中,所述路由表项包括所述目的地址、下一跳节点的地址以及出接口;其中,所述下一跳节点的地址为所述上一个地址。
结合第八方面,在第八方面的第一种可能的实现方式中,所述处理器还用于:建立路径评估表项,其中,所述路径评估表项包括所述源地址和所述目的地址、所述下一跳节点的地址以及出接口、所述下一跳节点以及出接口的评价值、业务标识和/或业务目标;其中,所述下一跳节点的地址为所述上一个地址。
结合第八方面或第八方面的第一种可能的实现方式,在第八方面的第二种可能的实现方式中,所述发送器用于:随机选择下一跳节点以及所述接口发送所述新的第一探测数据包。
第九方面,本发明实施例提供一种电子设备,包括:接口;接收器,用于通过所述接口接收第一探测包,所述第一探测数据包具有源地址和目的地址,以及所述第一探测数据包当前所经过节点的地址;所述电子设备为所述源地址对应的源节点与所述目的地址对应的目的节点的路径上的中间节点;处理器,用于将所述电子设备的地址记录在所述第一探测数据包中,形成新的第一探测数据包;发送器,用于通过所述接口发送所述新的第一探测数据包;所述接收器还用于通过所述接口接收所述第一应答数据包,所述第一应答数据包中包括第二路径,所述第二路径为第一路径的相反路径;所述第一路径为所述新的第一探测数据包所经过的节点的地址;所述处理器还用于根据所述第二路径中所述电子设备的地址的上一个地址建立路由表项;其中,所述路由表项包括所述目的地址、下一跳节点的地址以及出接口;其中,所述下一跳节点的地址为所述上一个地址。
结合第九方面,在第九方面的第一种可能的实现方式中,所述处理器还用于:建立路径评估表项,其中,所述路径评估表项包括所述源地址和所述目的地址、所述下一跳节点的地址以及出接口、所述下一跳节点以及出接口的评价值、业务标识和/或业务目标;其中,所述下一跳节点的地址为所述上一个地址。
第十方面,本发明实施例提供一种电子设备,包括:处理器,用于生成第二探测数据包,所述第二探测数据包具有源地址和目的地址;所述电子设备作为源节点,所述源地址为所述源节点的地址;接口;发送器,用于按照预定几率根据预先建立的路由表项发送所述第二探测数据包;接收器,用于通过所述接口接收第二应答数据包,所述第二应答数据包中包括第四路径,所述第四路径为第三路径的相反路径;所述第三路径为所述第二探测数据包所经过的节点的地址;所述处理器还用于:如果在所述路由表项中匹配成功,且所述第四路径中的所述电子设备的地址的上一个地址与所述路由表项中的下一跳节点的地址相同时,更新预先建立的路径评估表项中的所述下一跳节点以及出接口的评价值。
结合第十方面,在第十方面的第一种可能的实现方式中,所述处理器还用于:如果在所述路由表项中未匹配成功时,根据所述第四路径中所述第一节点的地址的上一个地址建立新的路由表项。
结合第十方面,在第十方面的第二种可能的实现方式中,所述处理器还用于:如果在所述路由表项中匹配成功,且所述第四路径中所述电子设备的地址的上一个地址与所述路由表项中的下一跳节点的地址不同时,确定是否更新所述路由表项。
结合第十方面的第二种可能的实现方式,在第十方面的第三种可能的实现方式中,所述处理器用于:确定新的下一跳节点以及出接口的评价值;根据所述新的下一跳节点以及出接口的评价值和所述路径评估表项中的下一跳节点以及出接口的评价值确定是否更新路由表项。
结合第十方面的第二种可能的实现方式,在第十方面的第四种可能的实现方式中,所述处理器用于:确定新的下一跳节点以及出接口的评价值;将所述新的下一跳节点以及出接口的评价值输入随机神经网络,根据所述随机神经网络的运算结果确定是否更新路由表;其中,所述随机神经网络的每个神经元对应一个出接口,所述随机神经网络经过历史下一跳节点以及出接口的评价值训练。
第十一方面,本发明实施例提供一种电子设备,包括:接口;接收器,用于通过所述接口接收第二探测数据包,所述第二探测数据包具有源地址和目的地址,以及所述第二探测数据包当前所经过节点的地址;所述电子设备为所述源地址对应的源节点与所述目的地址对应的目的节点的路径上的中间节点;处理器,用于将所述电子设备的地址记录在所述第二探测数据包中,形成所述新的第二探测数据包;发送器,用于按照预定几率根据预先建立的路由表项通过所述接口发送所述新的第二探测数据包;所述接收器还用于:接收第二应答数据包,所述第二应答数据包中包括第四路径,所述第四路径为第三路径的相反路径;所述第三路径为所述新的第二探测数据包所经过的节点的地址;所述处理器还用于:如果在所述路由表项中匹配成功,且所述第四路径中的所述电子设备的地址的上一个地址与所述路由表项中的下一跳节点的地址相同时,更新所述路径评估表项中的所述下一跳节点以及出接口的评价值。
结合第十一方面,在第十一方面的第一种可能的实现方式中,所述处理器还用于:在所述路由表项中未匹配成功时,根据所述第四路径中所述电子设备的地址的上一个地址建立新的路由表项。
结合第十一方面,在第十一方面的第二种可能的实现方式中,所述处理器还用于:如果在所述路由表项中匹配成功,且所述第四路径中所述电子设备的地址的上一个地址与所述路由表项中的下一跳节点的地址不同时,确定是否更新所述路由表项。
结合第十一方面的第二种可能的实现方式,在第十一方面的第三种可能的实现方式中,所述处理器用于:确定新的下一跳节点以及出接口的评价值;根据所述新的下一跳节点以及出接口的评价值和所述路径评估表项中的下一跳节点以及出接口的评价值确定是否更新路由表项。
结合第十一方面的第二种可能的实现方式,在第十一方面的第四种可能的实现方式中,所述处理器用于:确定新的下一跳节点以及出接口的评价值;将所述新的下一跳节点以及出接口的评价值输入随机神经网络,根据所述随机神经网络的运算结果确定是否更新路由表;其中,所述随机神经网络的每个神经元对应一个出接口,所述随机神经网络经过历史下一跳节点以及出接口的评价值训练。
第十二方面,本发明实施例提供一种电子设备,包括:处理器,用于生成第一探测数据包,所述第一探测数据包具有源地址和目的地址;所述源地址为所述电子设备的地址,所述电子设备作为源节点;接口;发送器,用于通过所述接口发送所述第一探测数据包;接收器,用于通过所述接口接收第一应答数据包,所述第一应答数据包中包括第二路径,所述第二路径为第一路径的相反路径;所述第一路径为所述第一探测数据包所经过的节点的地址;所述处理器,还用于生成第一路径建立包,所述第一路径建立包中包括所述第一路径;根据所述第一路径中所述源地址的下一跳节点的地址以及出接口建立路由表项;其中,所述路由表项包括所述目的地址、所述下一跳节点的地址以及出接口。
结合第十二方面,在第十二方面的第一种可能的实现方式中,所述处理器还用于:如果已经建立了路由表项,并且已经建立的路由表项中的出接口与所述第一路径对应的出接口不一致,确定所述第一路径对应的出接口是否更优;当所述第一路径对应的出接口更优时,更新所述已经建立的路由表项。
结合第十二方面或第十二方面的第一种可能的实现,在第十二方面的第二种可能的实现方式中,所述发送器还用于通过所述接口发送第一路径建立包给所述第一路径中所述源节点与所述目的节点之间的中间节点,以使所述中间节点根据所述第一路径中所述中间节点的地址的下一跳地址以及出接口更新各自的路由表项。
结合第十二方面或第十二方面的第一种可能的实现或第十二方面的第二种可能的实现方式,在第十二方面的第三种可能的实现方式中,所述处理器还用于:生成第二探测数据包,所述第二探测数据包具有所述源地址和所述目的地址;所述发送器还用于:按照预定几率根据所述路由表项发送所述第二探测数据包;所述接口器还用于:通过所述接口接收第二应答数据包,所述第二应答数据包中包括第四路径,所述第四路径为第三路径的相反路径;所述第三路径为所述第二探测数据包所经过的节点的地址;所述处理器还用于:如果在所述路由表项中匹配成功,且所述第四路径中所述源地址的下一跳的地址以及出接口与所述路由表项中的下一跳的地址以及出接口相同时,更新预先建立的路径评估表项中的下一跳节点以及出接口的评价值。
第十三方面,本发明实施例提供一种网络,所述网络包括源节点、目的节点和位于所述源节点及所述目的节点之间的中间节点,所述源节点用于生成第一探测数据包并将所述第一探测数据包发送给与所述源节点相邻的中间节点;其中,所述第一探测数据包具有所述源节点的源地址和所述目的节点的目的地址;所述中间节点中从所述相邻的中间节点开始直至所述目的节点的相邻中间节点为止用于依次发送所述第一探测数据包直至到达所述目的节点,并将各自的地址记录在所述第一探测数据包中以形成第一路径;所述目的节点用于根据所述第一路径生成第二路径;其中,所述第二路径为所述第一路径的反向路径;生成第一应答数据包,所述第一应答数据包中包括所述第二路径;所述目的节点、所述中间节点用于沿所述第二路径依次发送所述第一应答数据包直至到达所述源节点;所述中间节点和所述源节点用于根据所述第二路径建立路由表项,其中,所述路由表项包括所述目的地址、下一跳节点的地址以及出接口。
结合第十三方面,在第十三方面的第一种可能的实现方式中,所述中间节点和所述源节点还用于根据所述第二路径和业务目标建立路径评估表项,其中,所述路径评估表项包括所述源地址和所述目的地址、下一跳节点的地址以及出接口、所述下一跳节点以及出接口的评价值、业务标识和/或业务目标。
第十四方面,本发明实施例提供一种网络,所述网络包括源节点、目的节点和位于所述源节点及所述目的节点之间的中间节点,所述源节点用于生成第二探测数据包并发送所述第二探测数据包给相邻的中间节点,所述第二探测数据包具有所述源节点的源地址和所述目的节点的目的地址;所述中间节点中从所述相邻的中间节点开始直至所述目的节点的相邻中间节点为止用于依次按照预定几率根据预设的路由表项发送所述第二探测数据包直至到达所述地址对应的目的节点,并将各自的地址记录在所述第二探测数据包中以形成第三路径;所述目的节点用于根据所述第三路径生成第四路径并生成第二应答数据包;其中,所述第四路径为所述第三路径的相反路径;所述第二应答数据包中包括所述第四路径;所述目的节点、所述中间节点用于沿所述第四路径依次发送所述第二应答数据包直至到达所述源节点;所述中间节点和所述源节点用于如果在所述路由表项中匹配成功,且所述第四路径中的下一跳的地址以及出接口与所述路由表项中的下一跳的地址以及出接口不同时,则在所述路由表项中添加新的下一跳节点的地址以及出接口、在预先建立的路径评估表项中添加新的下一跳节点以及出接口的评价值;或者确定是否更新所述路由表项。
结合第十四方面,在第十四方面的第一种可能的实现方式中,所述中间节点和所述源节点还用于:如果在所述路由表项中匹配成功,且所述第四路径中的下一跳的地址以及出接口与所述路由表项中的下一跳的地址以及出接口相同时,更新预先建立的路径评估表项中的下一跳节点以及出接口的评价值。
结合第十四方面,在第十四方面的第二种可能的实现方式中,所述中间节点和所述源节点还用于:如果在所述路由表项中未匹配成功时,则根据所述第四路径建立新的路由表项,以及建立新的路径评估表项。
第十四方面或第十四方面的第一种可能的实现方式或第十四方面的第二种可能的实现方式可以结合到第十三方面或第十三方面的第一种可能的实现方式中。
第十五方面,本发明实施例提供一种网络,所述网络包括源节点、目的节点和位于所述源节点及所述目的节点之间的中间节点,所述源节点用于生成第一探测数据包并发送所述第一探测数据包给相邻的中间节点,所述第一探测数据包具有所述源节点的源地址和所述目的节点的目的地址;所述中间节点中从所述相邻的中间节点开始直至所述目的节点的相邻中间节点为止用于依次发送所述第一探测数据包直至到达所述目的节点,并将各自的地址记录在所述第一探测数据包中以形成第一路径;所述目的节点用于根据所述第一路径生成第二路径并生成第一应答数据包;其中,所述第二路径为所述第一路径的反向路径;所述第一应答数据包中包括所述第二路径;所述目的节点、所述中间节点用于沿所述第二路径发送所述第一应答数据包直至到达所述源节点;所述源节点还用于生成第一路径建立包并根据所述相反路径建立路由表项,所述第一路径建立包中包括所述第二路径的相反路径;其中,所述路由表项包括所述目的地址、下一跳节点的地址以及出接口;所述源节点还用于将所述第一路径建立包发送给相邻的中间节点;所述中间节点中从所述相邻的中间节点开始直至所述目的节点的相邻中间节点为止用于在接收到所述第一路径建立包时根据所述相反路径建立路由表项。
结合第十五方面,在第十五方面的第一种可能的实现方式中,所述源节点还用于:如果已经建立了路由表项,并且已经建立的路由表项中的出接口与所述相反路径对应的出接口不一致,则确定所述相反路径对应的出接口是否更优;当所述相反路径对应的出接口更优时,则更新所述已经建立的路由表项。
第十六方面,本发明实施例提供一种电子设备,包括:接口;接收器,用于接收业务数据包;所述业务数据包具有目的地址,并且包含业务标识和/或业务目标;处理器,用于根据所述目的地址、所述业务标识和/或业务目标在预先建立的路由表项中进行最长匹配,所述路由表项包括目的地址、下一跳节点的地址以及出接口、业务标识和/或业务目标;发送器,用于通过匹配成功的路由表项的下一跳节点的地址以及出接口发送所述业务数据包;其中,所述出接口为所述接口中的接口。
第十七方面,本发明实施例提供一种电子设备,所述电子设备包括用于实现第一方面或第一方面的第一种可能的实现方式或第一方面的第二种可能的实现方式中的方法的功能单元。
第十八方面,本发明实施例提供一种电子设备,所述电子设备包括用于实现第二方面或第二方面的第一种可能的实现方式至第二方面的第四种可能的实现方式中任意一种方法的功能单元。
第十九方面,本发明实施例提供一种电子设备,所述电子设备包括用于实现第三方面或第三方面的第一种可能的实现方式或第三方面的第二种可能的实现方式中的方法的功能单元。
第二十方面,本发明实施例提供一种电子设备,所述电子设备包括用于实现第七方面的方法的功能单元。
附图说明
图1a-图1c为本发明实施例提供的一种网络结构图;
图2为本发明实施例提供的一种电子设备的结构图;
图3为本发明实施例提供的一种建立路由表的方法的流程图;
图4为本发明实施例提供的另一种建立路由表的方法的流程图;
图5为本发明实施例提供的再一种建立路由表的方法的流程图;
图6为本发明实施例提供的一种源节点侧的建立路由表的方法的流程图;
图7为本发明实施例提供的另一种电子设备的结构图。
具体实施方式
本发明实施例提供一种建立路由表的方法、电子设备及网络,用以解决现有技术中存在的建立路由表的方式需要配置较多参数,无法实现零配置的技术问题。
以下将结合附图对本发明实施例的目的、技术方案和优点进行清楚、详细的描述。
本发明实施例提供的一种建立路由表的方法。该方法可以应用于一种网络中,请参考图1a至图1c,为本发明实施例中可能的网络结构图。如图1a至图1c所示,该网络包括源节点S、中间节点M和目的节点D。其中,源节点S、中间节点M和目的节点D可以均是路由设备,具体可以是接入、汇聚、核心路由器,企业网路由器(例如企业网边缘路由器),也可以是家庭网关,如图1c所示的网络。再例如,源节点S可以是一个用户设备,通过家庭网关接入因特网,与另外一个用户设备进行网络电话(英文:Voice over Internet Protocol,简称:VoIP)通信。此时,源节点S和目的节点D均为用户设备,而中间节点M即为路由器,如图1a所示的网络。再例如,目的节点D可以认为是服务或内容提供商的服务器。再例如,源节点S、中间节点M和目的节点D可以均为家庭或企业网络或者用户设备。
可选的,上述网络为IP网络,每个节点均有自己的IP地址,整个网络通过IP地址进行通信。
可选的,上述网络也可以是非IP网络,在非IP网络中,地址可以不是IP地址,而是对应于非IP网络的通信地址,整个网络通过该通信地址进行通信。
其中,本文中提到的用户设备,可以是无线终端也可以是有线终端,无线终端可以是指向用户提供语音和/或其他业务数据连通性的设备,具有无线连接功能的手持式设备、或连接到无线调制解调器的其他处理设备。无线终端可以经无线接入网(英文:RadioAccess Network;简称:RAN)与一个或多个核心网进行通信,无线终端可以是移动终端,如移动电话(或称为“蜂窝”电话)和具有移动终端的计算机,例如,可以是便携式、袖珍式、手持式、计算机内置的或者车载的移动装置,它们与无线接入网交换语言和/或数据。例如,个人通信业务(英文:Personal Communication Service;简称:PCS)电话、无绳电话、会话发起协议(英文:Session Initiation Protocol;简称:SIP)话机、无线本地环路(英文:Wireless Local Loop;简称:WLL)站、个人数字助理(英文:Personal Digital Assistant;简称:PDA)等设备。无线终端也可以称为系统、订户单元(Subscriber Unit)、订户站(Subscriber Station),移动站(Mobile Station)、移动台(Mobile)、远程站(RemoteStation)、远程终端(Remote Terminal)、接入终端(Access Terminal)、用户终端(UserTerminal)、用户代理(User Agent)、用户设备(User Device or User Equipment)。
接下来请参考图2,图2为本发明实施例提供的电子设备的可能的结构图。该电子设备为源节点S、中间节点M或目的节点D。如图2所示,该电子设备包括:处理器10、发送器20、接收器30、存储器40、接口50。存储器40、发送器20和接收器30和处理器10可以通过总线进行连接。当然,在实际运用中,存储器40、发送器20和接收器30和处理器10之间可以不是总线结构,而可以是其它结构,例如星型结构,本申请不作具体限定。
可选的,处理器10具体可以是中央处理器、特定应用集成电路(英文:ApplicationSpecific Integrated Circuit,简称:ASIC),可以是一个或多个用于控制程序执行的集成电路,可以是使用现场可编程门阵列(英文:Field Programmable Gate Array,简称:FPGA)开发的硬件电路,可以是基带处理器。
可选的,处理器10可以包括至少一个处理核心。
可选的,存储器40可以包括只读存储器(英文:Read Only Memory,简称:ROM)、随机存取存储器(英文:Random Access Memory,简称:RAM)和磁盘存储器。存储器40用于存储处理器10运行时所需的数据。存储器40的数量为一个或多个。
可选的,接口50的数量为一个或多个,用于与相邻的节点连接。
可选的,发送器20和接收器30在物理上可以相互独立也可以集成在一起。发送器20可以通过接口50将数据包发送给其它节点。接收器30可以通过接口50接收其它节点发送的数据。
接下来请参考如图3所示,为本发明实施例中的建立路由表的方法的流程图。如图3所示,该方法包括:
步骤101:生成第一探测数据包,第一探测数据包具有源地址和目的地址;
步骤102:在包含有至少两个节点的网络上从所述源地址对应的源节点开始发送第一探测数据包直至到达所述目的地址对应的目的节点,并记录第一探测数据包所经过的节点的地址以形成第一路径;
步骤103:根据所述第一路径生成第二路径;其中,第二路径为第一路径的反向路径;
步骤104:生成第一应答数据包,第一应答数据包中包括第二路径;
步骤105:沿第二路径发送第一应答数据包直至到达所述源节点;
步骤106:根据所述第二路径建立路由表项,其中,路由表项包括所述目的地址、下一跳节点的地址以及出接口。
具体的,步骤101由源节点S来执行。举例来说,当有业务需要接入网络时,源节点S生成一个第一探测数据包(英文:Exploring Packet,简称:EP)。第一EP具有源地址和目的地址。其中,源地址即为源节点S的IP地址。目的地址为目的节点D的IP地址。
接下来执行步骤102,即通过例如上述网络从源地址开始发送第一EP包直到到达目的地址。具体的,首先由源节点S发送第一EP包。如果源节点S只有一个出接口,即前述描述的接口50,那么源节点S的发送器20通过该唯一的接口50发送第一EP给与该接口50连接的中间节点M。如果源节点S的出接口有多个,即接口50有多个,那么源节点S的发送器20可以随机选择一个接口50发送第一EP给与该接口50连接的中间节点M。当然,在实际运用中,源节点以及之间节点除了可以使用随机选择接口的方式之外,还可以采用其它方式,例如从预设的固定接口发送第一EP,或者以广播的方式发送第一EP。
当中间节点M接收到第一EP时,可以执行与源节点S类似的操作,即将该中间节点M节点的地址写入第一EP中,形成新的第一EP,并随机选择一个或者是从预设的固定接口50发送新的第一EP。在后续的中间节点M重复上述过程,直到第一EP到达目的节点D。此时步骤102执行完成。
当第一EP到达目的节点D时,第一EP已经记录了其所经过的节点的地址,这些经过的节点的地址形成第一路径。
可选的,第一EP中还记录了达到每个节点的时间戳,关于时间戳的作用,将在后面进行详细描述。
需要说明的是,第一EP可以设置有生存时间(英文:Time to live,简称:TTL),所以,在发送第一EP时,有可能会出现在到达目的节点D之前,TTL为0被丢弃的情况。
当第一EP到达目的节点D之后,目的节点D可以执行步骤103和步骤104。具体的,在步骤103中,可以是先将第一路径中的环路去除,然后将去除了环路的相反路径作为第二路径。目的节点D生成第一应答数据包(英文:Response Packet,简称:RP),并在第一RP中携带第二路径。换言之,第一RP能够依据第二路径,逐跳的到达源节点。
接下来执行步骤105。具体的,目的节点D的发送器20通过第二路径发送第一RP给与中间节点M。举例来说,假设第一路径为源节点S→中间节点M1→中间节点M2→中间节点M3→目的节点D。那么第二路径为目的节点D→中间节点M3→中间节点M2→中间节点M1→源节点S。其中,中间节点M表示第一EP是从中间节点M转发的。目的节点D按照第二路径将第一RP发送给中间节点M3。
当中间节点M接收到第一RP时,执行与目的节点D类似的操作,即按照第二路径发送第一RP。其它中间节点M重复上述过程,直到第一RP到达源节点S。此时步骤105执行完成。
在中间节点M以及源节点S接收到第一RP时,如果未建立路由表项,或者想重新建立路由表项,则可以执行步骤106,即根据第二路径建立路由表项。具体的,该路由表项可以包括所述目的地址,下一跳节点的地址以及出接口。举例来说,第二路径继续以前述例子为例,当中间节点M3接收到第一RP时,进行目的地址匹配,发现还没有建立目的节点D的路由表项,则建立路由表项,其中一种可能的路由表的形式如表一所示。
目的地址 | 下一跳节点 | 出接口 |
目的节点D的IP地址 | 节点D的IP地址 | 2 |
表一
需要说明的是,通常各个节点会和邻居节点进行交互,所以会得到邻居节点的地址和出接口的对应关系,所以根据第二路径中下一跳节点的地址,即可得到下一跳节点对应的出接口。当然,也可以是中间节点S和源节点S将接收到第一RP包的接口作为下一跳节点的出接口。
类似的,当中间节点M2接收到第一RP时,进行目的地址匹配,发现还没有建立目的节点D的路由表项,则建立路由表项,其中一种可能的路由表的形式如表二所示。
目的地址 | 下一跳节点 | 出接口 |
目的节点D的IP地址 | 中间节点M3的IP地址 | 3 |
表二
中间节点M重复上述步骤建立各自的针对目的节点D的路由表项。当第一RP到达源节点S时,源节点S进行目的地址匹配,发现还没有建立目的节点D的路由表项,则建立路由表项,其中一种可能的路由表的形式如表三所示。
目的地址 | 下一跳节点 | 出接口 |
目的节点D的IP地址 | 中间节点M1的IP地址 | 4 |
表三
至此,源节点S以及中间节点M建立了到目的节点D的路由表项。因此,在步骤106之后,当有业务数据包需要从源节点S发送到目的节点D时,源节点S和中间节点M可以根据上述路由表项进行路由,转发业务数据包直至到达目的节点D。
由上述描述可以看出,在本发明实施例中,通过探测数据包记录从源节点S到目的节点D的路径节点,再通过应答数据包反路径从目的节点D到源节点S进行转发,使得源节点S和中间节点D方便的进行路由表项的建立,相较于现有技术中IGP协议所描述的路由表项的建立方式,本发明实施例中的建立路由表的方法更加简单,各个节点可以实现零配置的建立路由表。
可选的,第一EP还包括业务标识和/或业务目标,具体的,包括三种情况,第一EP还包括业务标识,或者,第一EP还包括业务标识和业务目标,或者,第一EP还包括业务目标。
其中,业务标识,是该业务的唯一标识。例如,业务标识为针对该业务的一个数字证书,该数字证书可以由源节点S分配或者源节点S到特定的服务器申请得到。该数字证书具有全局唯一性。再例如,可以用源节点S的标识加上序列号来表达该业务的业务标识。
当然,在实际运用中,业务标识也可以不是唯一的,业务标识可以结合其它标识共同唯一确定一个业务。
业务目标可以是用户业务的量化的服务质量(英文:Quality of Service,简称:QoS)等需求的一个或者多个的组合。举例来说,目标可以是最小化时延、最小化丢包率、最小化抖动(针对语音业务)、最小成本等中的一个或多个。
网络中可以预设默认的业务目标(如最小化跳数),此时,第一EP中可以仅包括业务标识,也可以不包括业务标识。
对应的,第一RP中也包括业务标识和/或业务目标。具体的,第一EP中包括哪个,第一RP中就包括哪个。
可选的,步骤106中,建立路由表项时,路由表项还包括业务标识和/或业务目标。即,路由表项可以单独包括业务标识,也可以单独包括业务目标,也可以同时包括业务标识以及业务目标。关于路由表项中的业务标识、业务目标的用途将在后面介绍。
因此,在步骤105执行的过程中,该方法还包括:根据所述第二路径、业务标识和/或业务目标建立路径评估表项,其中,所述路径评估表项可以包括所述源地址和所述目的地址、下一跳节点的地址以及出接口、所述下一跳节点以及出接口的评价值、业务标识和/或业务目标。
其中,需要说明的是,业务标识和/业务目标作为整体与第二路径为并列的对象。业务标识和/业务目标包括三种情况,一是单独的业务标识,二是单独的业务目标,三是二者均包括。
在具体实施过程中,接收到第一RP的中间节点M和源节点S可以根据所述第二路径、业务目标等建立路径评估表项。其中一种可能的路径评估表项如下表四所示。
表四
其中,下一跳节点以及出接口的评价值根据业务目标按照预定规则确定的。在实际运用中,可以将业务目标量化(例如延时、丢包率),并进一步转化为数值,即为评价值。可选的,当目标有多个时,可以在量化目标时,为每个目标设定一个权值。在目标包括时延时,可以通过前述描述的时间戳来确定。
举例来说,当源节点S接收到第一RP时,根据所述第二路径、业务标识以及业务目标建立路径评估表项,其中,第一RP中携带的业务目标为低时延,业务标识为b1。建立的路由评估表如下表五所示。
表五
在表五中,评价值假设为按照上述描述的规则或者其它规则计算出来的值,仅为举例,而不是用于限定本发明。
可选的,为了监测路径的性能以及优化路由表,以使网络可以更快的对网络流量的变化作出反应,提供路由表的自适应能力,该方法还包括:生成第二探测数据包,所述第二探测数据包具有所述源地址和所述目的地址;在所述网络上从所述源节点开始按照预定几率根据预先建立的路由表项发送所述第二探测数据包直至到达所述目的节点,并记录所述第二探测数据包所经过的节点的地址以形成第三路径;根据所述第三路径生成第四路径;其中,第四路径为第三路径的相反路径;生成第二应答数据包,所述第二应答数据包中包括所述第四路径;沿所述第四路径发送所述第二应答数据包直至到达所述源节点。
可选的,如果在所述路由表项中目的地址等匹配成功,且所述第四路径中的下一跳的地址以及出接口与所述路由表项中的下一跳的地址以及出接口相同时,即下一跳的地址相同,且下一跳节点的出接口也相同,则更新预先建立的路由评估表项中的下一跳节点以及出接口的评价值。
可选的,根据第二RP中携带的信息来更新下一跳节点以及出接口的评价值。举例来说,第二RP中包括有业务目标,例如为低时延,那么第二RP包中就会携带到达每个节点的时间戳,所以可以根据时间戳重新计算下一跳节点以及出接口的评价值,然后利用重新计算得到的评价值覆盖原有的评价值。该部分内容可以看作是对原有路径信息的更新。
可选的,预先建立的路由评估表项可以通过前述方法建立的,也可以是通过其它方式建立的。
可选的,可以是当有新业务需要接入网络时,或者是对于旧的业务,源节点S可以生成第二EP。
可选的,可以是周期性发送第二EP进行路径监测和路径探索。
因为已经通过前述方法或其它方法,源节点S和中间节点M已经建立了到达目的节点D的路由表项,所以源节点S和中间节点M在所述网络上从所述源节点按照预定几率根据已经建立的路由表项发送第二EP直至到达目的节点D,在这个转发的过程中,记录第二EP所经过的节点的地址以形成第三路径,该步骤与前述步骤102类似,在此不再赘述。
当第二EP到达目的节点D之后,目的节点获取第二EP中记录的第三路径,并根据第三路径生成第四路径,第四路径为第三路径的反向路径(如果第三路径存在环路则去除),其中,该步骤与前述步骤103类似,在此不再赘述。
与步骤104类似,目的节点D生成第二RP,其中,第二RP中包括第四路径。接下来执行与步骤105类似的步骤。即沿第四路径发送第二RP直至到达源节点S。在该步骤的执行过程中,接收到第二RP的节点,如中间节点M、源节点S,如果在自己的路由表项中匹配成功,且所述第四路径中的自己地址的下一跳的地址以及出接口与所述路由表项中的下一跳的地址以及出接口相同时,则更新前述评价值。
举例来说,假设该业务以时延为评价标准,RP到达会产生新的时间戳和时延数值,据此可以更新该下一跳节点以及出接口的评价值。
可选的,预定几率可以根据实际情况进行设置。举例来说,假设预定几率为95%,换言之,即表示有5%的几率,第二EP被随机路由,而不是按照原有路由表项进行转发。如果第二EP正好全部被按照所述路由表项转发,那么第二RP就会在中间节点、源节点S匹配成功,且第四路径中的下一跳的地址以及出接口与所述路由表项中的下一跳的地址以及出接口相同。换言之,这样的第二EP是用于对原有路径的监测,并可以根据监测结果更新原有路径信息。
如果第二EP在部分中间节点M上,或者源节点S上,没有被按照所述路由表项转发,那么接收到第二RP的节点可能不是第二路径中的节点,所以还未建立到目的节点D的路由表项,所以接收到第二RP的节点,中间节点M可以通过目的地址进行匹配,若发现还未建立路由表项,即未匹配成功时,则可以如步骤106中所述的方式建立新的路由表项。在本实施例中,第二EP可以被用来探索新的路径,有利于实现多路径共存。
可选的,还可以如前述所述的方式建立新的路径评估表项。
可选的,如果第二EP在部分中间节点M上,或者源节点S上,没有被按照所述路由表项转发,那么接收到第二RP的节点也可能是第二路径中的节点,例如中间节点M3,那么路由表项就会匹配成功。然而,虽然目的地址匹配,但是可能第四路径中的中间节点M3的地址的下一跳的地址以及出接口与步骤106中得到的下一跳的地址以及出接口不同,此时,可以在前述路由表项中添加新的下一跳节点的地址以及出接口、以及在前述路径评估表项中添加新的下一跳节点以及出接口的评价值。或者,确定是否更新路由表项。在本实施例中,可以看作是对新路径的探索,有利于找到更优的路径。
可选的,可以根据新的下一跳节点以及出接口的评价值以及原有的下一跳节点以及出接口的评价值确定更新路由表项。举例来说,假设目标为低时延,原有的下一跳节点以及出接口的评价值为0.05,而根据业务目标以及第四路径中新的时间戳确定出的新的下一跳节点以及出接口的评价值为0.04,那么则优化路由表,后续会按照新的下一跳节点的路径转发业务数据包。
当然,在实际运用中,也可以根据其它规则确定是否要更新路由表,例如:确定新的下一跳节点以及出接口的评价值,将所述新的下一跳节点以及出接口的评价值输入随机神经网络,根据所述随机神经网络的运算结果确定是否更新路由表;其中,所述随机神经网络的每个神经元对应一个出接口,所述随机神经网络经过历史下一跳节点以及出接口的评价值训练。
举例来说,可以在中间节点M针对每个业务建立一个人工神经网络,例如粒度可以是三元组(源地址、目的地址、业务标识或目标)。通过机器学习的算法,对上述网络实时的测量值,例如评价值训练该神经网络,并且根据训练的结果来决策是否更新路由表。以下将简单描述一种随机人工神经网络在本发明实施例中的实施方式。举例来说,中间节点M的每个接口50对应一个神经元。神经元有两个属性,一是兴奋权值,二是抑制权值。中间节点M通过前述方式获得评价值G,然后R=1/G。然后根据预定算法计算一个阈值出来,例如Tk=aTk-1+(1-a)Rk,其中,a的取值范围为(0-1),用来调节Tk-1和Rk的权重,Tk是一个动态的数值,来跟踪历史奖励的值,k=1,2,3,……,是不断产生的奖励值R的测量值。然后根据该Tk-1和Rk的大小来决定神经元的两个属性的增加幅度,具体的,当Tk-1小于或等于Rk,则触发奖励操作,通向神经元2(假设当前的出接口对应的神经元是神经元2)的兴奋权值就会有较大的增加,通向其它神经元的抑制权值就会较小的增加。如果Tk-1大于Rk,则触发惩罚操作,通向神经元2的抑制权值就会有较大增加,通向其它神经元的兴奋权值就会有较小增加。当获得新的评价值后,则继续按照上述方式进行处理,不断对神经网络进行训练,最后选择神经网络的运算结果作为下一跳的出接口,从原理上讲,兴奋值越高的出接口越容易被选中。如果新选择出的出接口与之前的出接口不同,那么就可以更新路由表。
可选的,如果第二EP在部分中间节点M上,或者源节点S上,没有被按照所述路由表项转发,那么接收到第二RP的节点也可能是第二路径中的节点,例如中间节点M1,那么路由表项就会匹配成功。假设在M1上目的地址匹配,且第四路径中的中间节点M1的地址的下一跳的地址以及出接口与步骤106中得到的下一跳的地址以及出接口相同,此时,可选的,可以更新前述路径评估表项中的下一跳节点以及出接口的评价值。
上述描述了路由表的建立、监测以及优化的实施方式,下面将描述如何对业务数据包进行转发。
本发明的IP转发,支持进一步按照目的地址和业务标识/业务目标进行,但是也可以兼容没有业务目标和业务标识的流量。即在建立IP路由表的时候,同时加入业务标识和/或业务目标的条目,数据报文如果携带了业务标识、业务目标,则进行最长匹配,按照匹配了业务标识/业务目标的出接口选择出接口。
具体的,对于源节点S和中间节点M而言,该方法包括:
接收业务数据包;所述业务数据包具有目的地址,并且包含业务标识和/或业务目标;
根据所述目的地址、所述业务标识和/或业务目标在预先建立的路由表项中进行最长匹配,所述路由表项包括目的地址、下一跳节点的地址以及出接口、业务标识和/或业务目标;
通过匹配成功的路由表项的下一跳节点的地址以及出接口发送所述业务数据包。
需要说明的是,本实施例中业务标识和/或业务目标的描述方式,针对的目标对象为业务标识和业务目标。业务标识和/或业务目标作为整体与其它目标对象并列。
可选的,在本实施例中,最长匹配原则是指IP网络中当路由表中有多条条目可以匹配目的地址时,一般就采用掩码最长(最精确)的一条作为匹配项并确定下一跳。也叫最长前缀匹配,是路由器在查找路由表进行选路的算法。
例如,考虑下面这个IPv4的路由表:
192.168.20.16/28e0
192.168.0.0/16s0
在要查找目的地址192.168.20.19时,不难发现上述两条都匹配,即这两条都包含要查找的目的地址。此时根据最长掩码匹配原则,选择第一条进行匹配(更明确),所以数据包将通过e0发送出去。
再例如,在IPv6的场景下,考虑下面这个IPv6的路由表:
2001:db8:21d0:3f48:1b9:88d1:cf98:fcaf/128e0
::/0s0
在要查找目的地址2001:db8:21d0:3f48:1b9:88d1:cf98:fcaf时,发现上述两条都匹配,即这两条都包含要查找的目的地址。此时根据最长掩码匹配原则,选择第一条进行匹配(更明确),所以数据包将通过e0发送出去。
可选的,在本实施例中的匹配成功,是指目的地址、业务标识和/或业务目标均匹配。因为在现有技术中,仅按照目的地址进行汇聚,但是对业务不区分,导致传统的路由方案的颗粒度比较大,而本发明实施例中,按照目的地址+业务标识和/业务目标进行汇聚,所以颗粒度稍低。
以下将描述源地址对应的源节点,或者源节点与目的地址对应的目的节点的路径上的中间节点侧的建立路由表的方法,为便于描述,以下将统称为第一节点。请参考图4所示,为本发明实施例提供的第一节点侧的建立路由表的方法流程图,该方法包括:
步骤201:第一节点获得第一探测数据包,所述第一探测数据包具有源地址和目的地址;
步骤202:第一节点获得新的第一探测数据包;其中,当第一节点为中间节点时,第一节点将第一节点的地址记录在第一探测数据包中,形成新的第一探测数据包;当第一节点为源节点时,新的第一探测数据包即为步骤201中的第一探测数据包;
步骤203:第一节点发送新的第一探测数据包;
步骤204:第一节点接收第一应答数据包,第一应答数据包中包括第二路径,第二路径为第一路径的相反路径(如果有环路则去除);第一路径为新的第一探测数据包所经过的节点的地址;
步骤205:第一节点则根据第二路径中第一节点的地址的上一个地址建立路由表项;其中,所述路由表项包括所述目的地址、下一跳节点的地址以及出接口;其中,所述下一跳节点的地址为所述上一个地址。
其中,上一个地址填写在路由表项的下一跳节点的地址栏中。
当第一节点为源节点S时,步骤201包括:第一节点生成第一EP。举例来说,可以是第一节点的处理器10生成第一EP。
当第一节点为中间节点M时,步骤201包括:第一节点接收第一EP。举例来说,第一节点的接收器30通过接口50接收第一EP。
在步骤202中,具体例如是第一节点的处理器10将第一节点的地址封装在第一EP中,形成新的第一EP。
在步骤203中,具体例如是第一节点的发送器20通过接口50发送新的第一EP。
在步骤204中,具体例如是第一节点的接收器30通过接口50接收第一RP。
步骤205的实施方式,具体请参考前述对步骤106的描述。具体的,步骤205可以由第一节点的处理器10执行。
可选的,该方法还包括:第一节点建立路径评估表项,其中,所述路径评估表项包括所述源地址和所述目的地址、下一跳节点的地址以及出接口、下一跳节点以及出接口的评价值、业务标识和/或业务目标。其中,所述下一跳节点的地址为所述上一个地址。具体的实施过程在前述已描述过,在此不再赘述。该步骤可以由第一节点的处理器10执行。
可选的,步骤203包括:第一节点随机选择下一跳节点以及出接口发送新的第一探测数据包。在实际运用中,也可以是通过其它规则发送,例如通过预设的固定接口发送新的第一EP,或者是以广播的形式发送新的第一EP。
可选的,该方法还包括:第一节点获得第二探测数据包,所述第二探测数据包具有所述源地址和所述目的地址;获得新的第二探测数据包;其中,当第一节点将第一节点的地址记录在第二探测数据包中,形成新的第二探测数据包;当第一节点为源节点时,新的第二探测数据包即为所述第二探测数据包;第一节点按照预定几率根据所述路由表项发送新的第二探测数据包;第一节点接收第二应答数据包,第二应答数据包中包括第四路径,第四路径为第三路径的相反路径(如果有环路则去除);第三路径为所述新的第二探测数据包所经过的节点的地址;如果在所述路由表项中匹配成功,且第四路径中的所述第一节点的地址的上一个地址与所述路由表项中的下一跳节点的地址相同时,可选的,第一节点更新路径评估表项中的下一跳地址以及出接口的评价值。该方法的具体实施过程请参考前述的描述,在此不再赘述。
进一步,所述方法还包括:如果在所述路由表项中未匹配成功时,第一节点根据所述第四路径中所述第一节点的地址的上一个地址建立新的路由表项。
进一步,所述方法还包括:如果在所述路由表项中匹配成功,且所述第四路径中所述第一节点的地址的上一个地址与所述路由表项中的下一跳节点的地址不同时,可选的,确定是否更新所述路由表项。
可选的,所述确定是否更新所述路由表项,包括:第一节点确定新的下一跳节点以及出接口的评价值;第一节点根据所述新的下一跳节点以及出接口的评价值和所述路径评估表项中的下一跳节点以及出接口的评价值确定是否更新路由表项。
或者,确定新的下一跳节点以及出接口的评价值;将所述新的下一跳节点以及出接口的评价值输入随机神经网络,根据所述随机神经网络的运算结果确定是否更新路由表;其中,所述随机神经网络的每个神经元对应一个出接口,所述随机神经网络经过历史下一跳节点以及出接口的评价值训练。
上述方法步骤的实施方式已经在前述描述,所以在此不再赘述。
接下来将描述另一种建立路由表的方法,请参考图5所示,该方法包括:
步骤301:生成第一探测数据包,所述第一探测数据包具有源地址和目的地址;
步骤302:在包含有至少两个节点的网络上从所述源地址对应的源节点开始发送所述第一探测数据包直至到达所述目的地址对应的目的节点,并记录所述第一探测数据包所经过的节点的地址以形成第一路径;
步骤303:根据所述第一路径生成第二路径;其中,所述第二路径为所述第一路径的反向路径;
步骤304:生成第一应答数据包,所述第一应答数据包中包括所述第二路径;
步骤305:沿所述第二路径发送所述第一应答数据包直至到达所述源节点;
步骤306:生成第一路径建立包,所述第一路径建立包中包括所述第二路径的相反路径;
步骤307:根据所述相反路径建立路由表项,其中,所述路由表项包括所述目的地址、下一跳节点的地址以及出接口。
其中,步骤301至步骤305的具体实施方式类似于前述步骤101至步骤105。步骤307的具体实施方式与步骤106类似。
在步骤306中,第二路径即为去除了环路的第一路径的相反路径。
可选的,该路径建立包携带该业务的带宽需求,路径上的节点为该业务预先分配带宽资源。该方法中源节点可能收到多个携带第二路径的RP包,源节点可以选择一个或多个路径来传输业务,以及满足业务的带宽需求。
由以上描述可以看出,本发明实施例中的方法规避了各个路由器独立决策转发接口带来的路由环路的风险,并且进一步的,本发明实施例中的方法支持在路径上预留资源,以及为多路径传输业务提供了更好的支持。
可选的,路由表项还包括业务标识和/或业务目标。
可选的,所述方法还包括:对于源节点,如果已经建立了路由表项,并且已经建立的路由表项中的出接口与所述相反路径对应的出接口不一致,则确定所述相反路径对应的出接口是否更优;当所述相反路径对应的出接口更优时,则更新所述已经建立的路由表项。该步骤具体可以由源节点的处理器10来执行。
可选的,确定所述相反路径对应的出接口是否更优,具体可以通过出接口的评价值的大小来确定,也可以通过例如前述的随机人工网络的方式来确定,具体的实施过程与前述类似,所以此处不再赘述。
可选的,在步骤307之后,该方法还包括:发送第一路径建立包给所述相反路径上的其它中间节点,以使其它中间节点根据所述相反路径建立路由表项。
可选的,该方法还包括:生成第二探测数据包,第二探测数据包具有述源地址和所述目的地址;在所述网络上从所述源节点按照预定几率根据预先建立的路由表项发送第二探测数据包直至到达所述目的节点,并记录第二探测数据包所经过的节点的地址以形成第三路径;根据第三路径生成第四路径;其中,第四路径为第三路径的相反路径;生成第二应答数据包,第二应答数据包中包括所述第四路径;沿第四路径发送第二应答数据包直至到达所述源节点;如果在所述路由表项中匹配成功,且所述第四路径中的下一跳的地址以及出接口与所述路由表项中的下一跳的地址以及出接口相同时,更新预先建立的路径评估表项中的下一跳节点以及出接口的评价值。
该方法的最后一个步骤的执行主体为源节点,预先建立的路由表,可以是通过图3所示的方法建立的,也可以是通过图5所示的方法建立的,或者是通过其它方式建立的。该部分内容的其余部分与前述描述第二EP包的内容类似,所以在此不再赘述。
接下来请再参考图6所示,为图5所示方法的源节点侧的流程图。该方法包括:
步骤401:源节点生成第一探测数据包,第一探测数据包具有源地址和目的地址;所述源地址为所述源节点的地址;
步骤402:源节点发送第一探测数据包;
步骤403:源节点接收第一应答数据包,第一应答数据包中包括第二路径,第二路径为第一路径的相反路径;第一路径为第一探测数据包所经过的节点的地址;
步骤404:源节点生成第一路径建立包,第一路径建立包中包括第一路径;
步骤405:源节点根据第一路径中所述源地址的下一跳节点的地址以及出接口建立路由表项;其中,所述路由表项包括所述目的地址、所述下一跳节点的地址以及出接口。
其中,步骤401与步骤201类似,步骤402与步骤203类似,步骤404至步骤405与步骤306至步骤307类似。
可选的,所述方法还包括:如果已经建立了路由表项,并且已经建立的路由表项中的出接口与所述第一路径对应的出接口不一致,源节点则确定所述第一路径对应的出接口是否更优;当所述第一路径对应的出接口更优时,源节点则更新所述已经建立的路由表项。
可选的,所述方法还包括:所述源节点发送第一路径建立包给所述第一路径中所述源节点与所述目的节点之间的中间节点,以使所述中间节点根据所述第一路径中所述中间节点的地址的下一跳地址以及出接口更新各自的路由表项。
可选的,所述方法还包括:源节点生成第二探测数据包,第二探测数据包具有所述源地址和所述目的地址;源节点按照预定几率根据所述路由表项发送所述第二探测数据包;源节点接收第二应答数据包,第二应答数据包中包括第四路径,第四路径为第三路径的相反路径;第三路径为所述第二探测数据包所经过的节点的地址;如果在所述路由表项中匹配成功,且所述第四路径中所述源地址的下一跳的地址以及出接口与所述路由表项中的下一跳的地址以及出接口相同时,可选的,源节点更新预先建立的路径评估表项中的下一跳节点以及出接口的评价值。
基于同一发明构思,本发明实施例还提供一种电子设备,请参考图7所示,该电子设备包括:处理单元701、发送单元702以及接收单元703。
该电子设备可用于实现前述所描述的任一方法。在实际运用过程中,还可以根据实际需求配置其它单元模块。
具体的,当该电子设备用于实现如图4所示的方法时,处理单元701,用于获得第一探测数据包,所述第一探测数据包具有源地址和目的地址;所述电子设备为所述源地址对应的源节点或所述源节点与所述目的地址对应的目的节点的路径上的中间节点;并基于所述第一探测数据包获得新的第一探测数据包;其中,当所述电子设备为所述中间节点时,将所述电子设备的地址记录在所述第一探测数据包中,形成所述新的第一探测数据包;当所述电子设备为所述源节点时,所述新的第一探测数据包即为所述第一探测数据包;发送单元702,用于发送所述新的第一探测数据包;接收单元703,用于接收所述第一应答数据包,所述第一应答数据包中包括第二路径,所述第二路径为第一路径的相反路径;所述第一路径为所述新的第一探测数据包所经过的节点的地址;处理单元701还用于:根据所述第二路径中所述电子设备的地址的上一个地址建立路由表项;其中,所述路由表项包括所述目的地址、下一跳节点的地址以及出接口;其中,所述下一跳节点的地址为所述上一个地址。
可选的,处理单元701还用于:建立路径评估表项,其中,所述路径评估表项包括所述源地址和所述目的地址、所述下一跳节点的地址以及出接口、所述下一跳节点以及出接口的评价值、业务标识和/或业务目标;其中,所述下一跳节点的地址为所述上一个地址。
可选的,发送单元702用于:随机选择下一跳节点以及出接口发送所述新的第一探测数据包。
可选的,处理单元701还用于:获得第二探测数据包,所述第二探测数据包具有所述源地址和所述目的地址;并基于所述第二探测数据包获得新的第二探测数据包;其中,当所述电子设备为所述中间节点时,将所述电子设备的地址记录在所述第一探测数据包中,形成所述新的第一探测数据包;当所述电子设备为所述源节点时,所述新的第一探测数据包即为所述第一探测数据包;
发送单元702还用于:按照预定几率根据所述路由表项发送所述新的第二探测数据包;
接收单元703还用于:接收第二应答数据包,所述第二应答数据包中包括第四路径,所述第四路径为第三路径的相反路径;所述第三路径为所述新的第二探测数据包所经过的节点的地址;
处理单元701还用于:如果在所述路由表项中匹配成功,且所述第四路径中的所述电子设备的地址的上一个地址与所述路由表项中的下一跳节点的地址相同时,更新所述路径评估表项中的所述下一跳节点以及出接口的评价值。
可选的,处理单元701还用于:如果在所述路由表项中未匹配成功时,根据所述第四路径中所述电子设备的地址的上一个地址建立新的路由表项。
可选的,处理单元701还用于:如果在所述路由表项中匹配成功,且所述第四路径中所述电子设备的地址的上一个地址与所述路由表项中的下一跳节点的地址不同时,确定是否更新所述路由表项。
可选的,处理单元701用于:确定新的下一跳节点以及出接口的评价值;根据所述新的下一跳节点以及出接口的评价值和所述路径评估表项中的下一跳节点以及出接口的评价值确定是否更新路由表项。
可选的,处理单元701用于:确定新的下一跳节点以及出接口的评价值;将所述新的下一跳节点以及出接口的评价值输入随机神经网络,根据所述随机神经网络的运算结果确定是否更新路由表;其中,所述随机神经网络的每个神经元对应一个出接口,所述随机神经网络经过历史下一跳节点以及出接口的评价值训练。
具体的,当该电子设备用于实现前述源节点侧的路由表建立方法时,处理单元701,用于生成第一探测数据包,所述第一探测数据包具有源地址和目的地址;所述源地址为所述电子设备的地址;所述电子设备作为源节点;发送单元702,用于发送所述第一探测数据包;接收单元703,用于接收第一应答数据包,所述第一应答数据包中包括第二路径,所述第二路径为第一路径的相反路径;所述第一路径为所述第一探测数据包所经过的节点的地址;处理单元701还用于:生成第一路径建立包,所述第一路径建立包中包括所述第一路径;根据所述第一路径中所述源地址的下一跳节点的地址以及出接口建立路由表项;其中,所述路由表项包括所述目的地址、所述下一跳节点的地址以及出接口。
可选的,处理单元701还用于:如果已经建立了路由表项,并且已经建立的路由表项中的出接口与所述第一路径对应的出接口不一致,确定所述第一路径对应的出接口是否更优;当所述第一路径对应的出接口更优时,更新所述已经建立的路由表项。
可选的,发送单元702还用于:发送第一路径建立包给所述第一路径中所述源节点与所述目的节点之间的中间节点,以使所述中间节点根据所述第一路径中所述中间节点的地址的下一跳地址以及出接口更新各自的路由表项。
可选的,处理单元701还用于:生成第二探测数据包,所述第二探测数据包具有所述源地址和所述目的地址;
发送单元702还用于:按照预定几率根据所述路由表项发送所述第二探测数据包;
接收单元703还用于:接收第二应答数据包,所述第二应答数据包中包括第四路径,所述第四路径为第三路径的相反路径;所述第三路径为所述第二探测数据包所经过的节点的地址;
处理单元701还用于:如果在所述路由表项中匹配成功,且所述第四路径中所述源地址的下一跳的地址以及出接口与所述路由表项中的下一跳的地址以及出接口相同时,更新预先建立的路径评估表项中的下一跳节点以及出接口的评价值。
具体的,当该电子设备用于实现前述业务数据包发送方法时,接收单元703,用于接收业务数据包;所述业务数据包具有目的地址,并且包含业务标识和/或业务目标;处理单元701,用于根据所述目的地址、所述业务标识和/或业务目标在预先建立的路由表项中进行最长匹配,所述路由表项包括目的地址、下一跳节点的地址以及出接口、业务标识和/或业务目标;发送单元702,用于通过匹配成功的路由表项的下一跳节点的地址以及出接口发送所述业务数据包。
前述实施例中的各个方法中的各种变化方式和具体实例同样适用于本实施例的电子设备,通过前述对各个方法的详细描述,本领域技术人员可以清楚的知道本实施例中域间路由装置的实施方法,所以为了说明书的简洁,在此不再详述。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (43)
1.一种管理路由表的方法,其特征在于,包括:
第一节点生成第二探测数据包,所述第二探测数据包具有源地址和目的地址;所述第一节点为所述源地址对应的源节点;
所述第一节点按照预定几率根据预先建立的路由表项发送所述第二探测数据包;
所述第一节点接收第二应答数据包,所述第二应答数据包中包括第四路径,所述第四路径为第三路径的相反路径;所述第三路径包括所述第二探测数据包所经过的节点的地址;
如果在所述路由表项中匹配成功,且所述第四路径中所述第一节点的地址的上一个地址与所述路由表项中的下一跳节点的地址不同时,所述第一节点确定是否更新所述预先建立的路由表项。
2.如权利要求1所述的方法,其特征在于,所述确定是否更新所述预先建立的所述路由表项,包括:
所述第一节点确定新的下一跳节点以及出接口的评价值;
所述第一节点根据所述新的下一跳节点以及出接口的评价值和路径评估表项中的下一跳节点以及出接口的评价值确定是否更新所述预先建立的路由表项。
3.如权利要求1所述的方法,其特征在于,所述确定是否更新所述预先建立的路由表项,包括:
确定新的下一跳节点以及出接口的评价值;
将所述新的下一跳节点以及出接口的评价值输入随机神经网络,根据所述随机神经网络的运算结果确定是否更新所述预先建立的路由表;其中,所述随机神经网络的每个神经元对应一个出接口,所述随机神经网络经过历史下一跳节点以及出接口的评价值训练。
4.如权利要求1-3任一项所述的方法,其特征在于,所述第一节点按照预定几率根据预先建立的路由表项发送所述第二探测数据包,包括:
所述第一节点按照预定几率随机发送所述第二探测数据包。
5.如权利要求1-3任一项所述的方法,其特征在于,所述更新所述预先建立的路由表项,包括在所述预先建立的路由表项中添加新的下一跳节点的地址以及出接口。
6.如权利要求4所述的方法,其特征在于,所述更新所述预先建立的路由表项,包括在所述预先建立的路由表项中添加新的下一跳节点的地址以及出接口。
7.如权利要求1所述的方法,其特征在于,还包括:在路径评估表项中添加新的下一跳节点以及出接口的评价值。
8.如权利要求2所述的方法,其特征在于,所述路径评估表项中所述下一跳节点以及出接口的评价值包括对业务目标的评价。
9.如权利要求8所述的方法,其特征在于,所述业务目标是用户业务服务质量(QoS)中一个或多个指标的组合,所述指标包括最小化时延、最小化丢包率、最小化抖动、最小成本等中的一个或多个。
10.如权利要求8所述的方法,其特征在于,所述业务目标预设默认的业务目标,所述预设默认的业务目标包括最小化跳数。
11.如权利要求1-3任一项所述的方法,其特征在于,所述第四路径为去除了环路的所述第三路径的相反路径。
12.如权利要求4所述的方法,其特征在于,所述第四路径为去除了环路的所述第三路径的相反路径。
13.如权利要求5所述的方法,其特征在于,所述第四路径为去除了环路的所述第三路径的相反路径。
14.如权利要求6所述的方法,其特征在于,所述第四路径为去除了环路的所述第三路径的相反路径。
15.如权利要求7所述的方法,其特征在于,所述第四路径为去除了环路的所述第三路径的相反路径。
16.如权利要求8所述的方法,其特征在于,所述第四路径为去除了环路的所述第三路径的相反路径。
17.如权利要求9所述的方法,其特征在于,所述第四路径为去除了环路的所述第三路径的相反路径。
18.如权利要求10所述的方法,其特征在于,所述第四路径为去除了环路的所述第三路径的相反路径。
19.一种管理路由表的方法,其特征在于,包括:
第一节点接收第二探测数据包,所述第二探测数据包具有源地址和目的地址;所述第一节点为所述源地址对应的源节点与所述目的地址对应的目的节点的路径上的中间节点;
所述第一节点将所述第一节点的地址记录在所述第二探测数据包中,形成新的第二探测数据包;
所述第一节点按照预定几率根据预先建立的路由表项发送所述新的第二探测数据包;
所述第一节点接收第二应答数据包,所述第二应答数据包中包括第四路径,所述第四路径为第三路径的相反路径;所述第三路径包括所述新的第二探测数据包所经过的节点的地址;
如果在所述路由表项中匹配成功,且所述第四路径中所述第一节点的地址的上一个地址与所述路由表项中的下一跳节点的地址不同时,所述第一节点确定是否更新所述预先建立的路由表项。
20.如权利要求19所述的方法,其特征在于,所述确定是否更新所述预先建立的所述路由表项,包括:
所述第一节点确定新的下一跳节点以及出接口的评价值;
所述第一节点根据所述新的下一跳节点以及出接口的评价值和路径评估表项中的下一跳节点以及出接口的评价值确定是否更新所述预先建立的路由表项。
21.如权利要求19或20所述的方法,其特征在于,所述第一节点按照预定几率根据预先建立的路由表项发送所述第二探测数据包,包括:
所述第一节点按照预定几率随机发送所述第二探测数据包。
22.如权利要求20所述的方法,其特征在于,所述路径评估表项中所述下一跳节点以及出接口的评价值包括对业务目标的评价。
23.一种管理路由表的方法,其特征在于,包括:
第一节点生成第二探测数据包,所述第二探测数据包具有源地址和目的地址;所述第一节点为所述源地址对应的源节点;
所述第一节点按照预定几率根据预先建立的路由表项发送所述第二探测数据包;
所述第一节点接收第二应答数据包,所述第二应答数据包中包括第四路径,所述第四路径为第三路径的相反路径;所述第三路径包括所述第二探测数据包所经过的节点的地址;
如果在所述预先建立的路由表项中匹配成功,且所述第四路径中所述第一节点的地址的上一个地址与所述路由表项中的下一跳节点的地址相同时,所述第一节点更新预先建立的路径评估表项中的所述下一跳节点以及出接口的评价值。
24.如权利要求23所述的方法,其特征在于,所述第一节点按照预定几率根据预先建立的路由表项发送所述第二探测数据包,包括:
所述第一节点完全根据预先建立的路由表项发送所述第二探测数据包。
25.如权利要求23或24所述的方法,其特征在于,所述路径评估表项中下一跳节点以及出接口的评价值包括对业务目标的评价。
26.一种电子设备,其特征在于,包括:
处理单元,用于生成第二探测数据包,所述第二探测数据包具有源地址和目的地址;所述电子设备为所述源地址对应的源节点;
发送单元,用于按照预定几率根据预先建立的路由表项发送所述第二探测数据包;
接收单元,用于接收第二应答数据包,所述第二应答数据包中包括第四路径,所述第四路径为第三路径的相反路径;所述第三路径包括所述第二探测数据包所经过的节点的地址;
所述处理单元还用于:如果在所述路由表项中匹配成功,且所述第四路径中所述电子设备的地址的上一个地址与所述路由表项中的下一跳节点的地址不同时,确定是否更新所述预先建立的路由表项。
27.如权利要求26所述的电子设备,其特征在于,所述处理单元用于:
确定新的下一跳节点以及出接口的评价值;
根据所述新的下一跳节点以及出接口的评价值和路径评估表项中的下一跳节点以及出接口的评价值确定是否更新所述预先建立的路由表项。
28.如权利要求26所述的电子设备,其特征在于,所述处理单元用于:
确定新的下一跳节点以及出接口的评价值;
将所述新的下一跳节点以及出接口的评价值输入随机神经网络,根据所述随机神经网络的运算结果确定是否更新所述预先建立的路由表;其中,所述随机神经网络的每个神经元对应一个出接口,所述随机神经网络经过历史下一跳节点以及出接口的评价值训练。
29.如权利要求26-28任一项所述的电子设备,其特征在于,所述发送单元按照预定几率随机发送所述第二探测数据包。
30.如权利要求26-28任一项所述的电子设备,其特征在于,所述处理单元用于在所述预先建立的路由表项中添加新的下一跳节点的地址以及出接口。
31.如权利要求29所述的电子设备,其特征在于,所述处理单元用于在所述预先建立的路由表项中添加新的下一跳节点的地址以及出接口。
32.如权利要求26所述的电子设备,其特征在于,所述处理单元还用于在路径评估表项中添加新的下一跳节点以及出接口的评价值。
33.如权利要求27所述的电子设备,其特征在于,所述路径评估表项中所述下一跳节点以及出接口的评价值包括对业务目标的评价。
34.如权利要求33所述的电子设备,其特征在于,所述业务目标是用户业务服务质量(QoS)中一个或多个指标的组合,所述指标包括最小化时延、最小化丢包率、最小化抖动、最小成本等中的一个或多个。
35.一种电子设备,其特征在于,包括:
接收单元,用于接收第二探测数据包,所述第二探测数据包具有源地址和目的地址;所述电子设备为所述源地址对应的源节点与所述目的地址对应的目的节点的路径上的中间节点;
处理单元,用于将所述电子设备的地址记录在所述第二探测数据包中,形成新的第二探测数据包;
发送单元,用于按照预定几率根据预先建立的路由表项发送所述新的第二探测数据包;
所述接收单元还用于接收第二应答数据包,所述第二应答数据包中包括第四路径,所述第四路径为第三路径的相反路径;所述第三路径包括所述新的第二探测数据包所经过的节点的地址;
所述处理单元还用于:如果在所述路由表项中匹配成功,且所述第四路径中所述电子设备的地址的上一个地址与所述路由表项中的下一跳节点的地址不同时,确定是否更新所述预先建立的路由表项。
36.如权利要求35所述的电子设备,其特征在于,所述确定单元用于:
确定新的下一跳节点以及出接口的评价值;
根据所述新的下一跳节点以及出接口的评价值和路径评估表项中的下一跳节点以及出接口的评价值确定是否更新所述预先建立的路由表项。
37.如权利要求35或36所述的电子设备,其特征在于,所述发送单元用于按照预定几率随机发送所述第二探测数据包。
38.如权利要求35所述的电子设备,其特征在于,所述路径评估表项中所述下一跳节点以及出接口的评价值包括对业务目标的评价。
39.一种电子设备,其特征在于,包括:
处理单元,用于生成第二探测数据包,所述第二探测数据包具有源地址和目的地址;所述电子设备为所述源地址对应的源节点;
发送单元,用于按照预定几率根据预先建立的路由表项发送所述第二探测数据包;
接收单元,用于接收第二应答数据包,所述第二应答数据包中包括第四路径,所述第四路径为第三路径的相反路径;所述第三路径包括所述第二探测数据包所经过的节点的地址;
所述处理单元还用于:如果在所述预先建立的路由表项中匹配成功,且所述第四路径中所述电子设备的地址的上一个地址与所述路由表项中的下一跳节点的地址相同时,更新预先建立的路径评估表项中的所述下一跳节点以及出接口的评价值。
40.如权利要求39所述的电子设备,其特征在于,所述发送单元完全根据预先建立的路由表项发送所述第二探测数据包。
41.如权利要求39或40所述的电子设备,其特征在于,所述路径评估表项中下一跳节点以及出接口的评价值包括对业务目标的评价。
42.一种管理路由表的网络,其特征在于,所述网络包括源节点、目的节点和位于所述源节点及所述目的节点之间的中间节点,
所述源节点用于生成第二探测数据包;按照预定几率根据所述源节点中预先建立的路由表项发送所述第二探测数据包给相邻的中间节点,所述第二探测数据包具有所述源节点的源地址和所述目的节点的目的地址;
所述中间节点中从所述相邻的中间节点开始直至所述目的节点的相邻中间节点为止用于依次发送所述第二探测数据包直至到达所述目的节点,并将各自的地址记录在所述第二探测数据包中以形成第三路径;
所述目的节点用于根据所述第三路径生成第四路径并生成第二应答数据包;其中,所述第四路径为所述第三路径的相反路径;所述第二应答数据包中包括所述第四路径;所述目的节点、所述中间节点用于沿所述第四路径发送所述第二应答数据包直至到达所述源节点;
如果在所述路由表项中匹配成功,且所述第四路径中所述源节点的地址的上一个地址与所述路由表项中的下一跳节点的地址不同时,所述源节点确定是否更新所述源节点中预先建立的路由表项;或者,如果在所述路由表项中匹配成功,且所述第四路径中所述源节点的地址的上一个地址与所述路由表项中的下一跳节点的地址不同时,所述中间节点确定是否更新所述源节点中预先建立的路由表项。
43.如权利要求42所述的管理路由表的网络,其特征在于,所述源节点用于确定新的下一跳节点以及出接口的评价值;根据所述新的下一跳节点以及出接口的评价值和路径评估表项中的下一跳节点以及出接口的评价值确定是否更新所述源节点中所述预先建立的路由表项。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010981133.7A CN112152921B (zh) | 2015-12-30 | 2015-12-30 | 一种建立路由表的方法、电子设备及网络 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010981133.7A CN112152921B (zh) | 2015-12-30 | 2015-12-30 | 一种建立路由表的方法、电子设备及网络 |
PCT/CN2015/099971 WO2017113238A1 (zh) | 2015-12-30 | 2015-12-30 | 一种建立路由表的方法、电子设备及网络 |
CN201580057570.7A CN107431968B (zh) | 2015-12-30 | 2015-12-30 | 一种建立路由表的方法、电子设备及网络 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580057570.7A Division CN107431968B (zh) | 2015-12-30 | 2015-12-30 | 一种建立路由表的方法、电子设备及网络 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112152921A CN112152921A (zh) | 2020-12-29 |
CN112152921B true CN112152921B (zh) | 2023-07-28 |
Family
ID=59224109
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580057570.7A Active CN107431968B (zh) | 2015-12-30 | 2015-12-30 | 一种建立路由表的方法、电子设备及网络 |
CN202010981133.7A Active CN112152921B (zh) | 2015-12-30 | 2015-12-30 | 一种建立路由表的方法、电子设备及网络 |
CN202010982742.4A Pending CN112217723A (zh) | 2015-12-30 | 2015-12-30 | 一种建立路由表的方法、电子设备及网络 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580057570.7A Active CN107431968B (zh) | 2015-12-30 | 2015-12-30 | 一种建立路由表的方法、电子设备及网络 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010982742.4A Pending CN112217723A (zh) | 2015-12-30 | 2015-12-30 | 一种建立路由表的方法、电子设备及网络 |
Country Status (4)
Country | Link |
---|---|
US (2) | US10708167B2 (zh) |
EP (1) | EP3389310B1 (zh) |
CN (3) | CN107431968B (zh) |
WO (1) | WO2017113238A1 (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10257072B1 (en) * | 2017-09-28 | 2019-04-09 | Cisco Technology, Inc. | Weight initialization for random neural network reinforcement learning |
CN107948076B (zh) * | 2017-12-29 | 2021-08-24 | 杭州迪普科技股份有限公司 | 一种转发报文的方法及装置 |
US10965592B2 (en) * | 2019-05-31 | 2021-03-30 | Juniper Networks, Inc. | Inter-network service chaining |
JP7272227B2 (ja) * | 2019-10-10 | 2023-05-12 | 富士通株式会社 | ネットワーク制御装置およびネットワーク制御方法 |
US11088935B2 (en) * | 2019-11-13 | 2021-08-10 | Vmware, Inc. | Tunnel-based routing calculation with address exclusion in software defined networking (SDN) environments |
WO2021097628A1 (zh) * | 2019-11-18 | 2021-05-27 | 深圳市汇顶科技股份有限公司 | 路径选择的方法和ble设备 |
CN112887209B (zh) * | 2019-11-30 | 2023-06-20 | 华为技术有限公司 | 关于数据传输的表项建立方法及相关设备 |
CN112583721B (zh) * | 2020-11-30 | 2023-04-18 | 五八到家有限公司 | 业务请求的路由方法、设备、介质 |
US11729088B2 (en) * | 2020-12-30 | 2023-08-15 | Arteris, Inc. | Broadcast switch system in a network-on-chip (NoC) |
US11606265B2 (en) | 2021-01-29 | 2023-03-14 | World Wide Technology Holding Co., LLC | Network control in artificial intelligence-defined networking |
CN113542000B (zh) * | 2021-05-20 | 2023-11-07 | 新华三大数据技术有限公司 | 一种进程号确定方法及装置 |
CN113765785B (zh) * | 2021-08-19 | 2022-07-05 | 东北大学 | 基于dpdk的多路径传输方法 |
CN114389987B (zh) * | 2021-12-24 | 2022-10-11 | 广州爱浦路网络技术有限公司 | 数据包路由方法、计算机装置和存储介质 |
CN116074285B (zh) * | 2022-12-30 | 2024-07-02 | 中国联合网络通信集团有限公司 | 一种地址冲突检测方法和装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1750512A (zh) * | 2005-09-27 | 2006-03-22 | 杭州华为三康技术有限公司 | 单播反向路径转发方法 |
CN102857427A (zh) * | 2012-08-27 | 2013-01-02 | 上海斐讯数据通信技术有限公司 | 探测路由下一跳mac地址的方法及其路由设备 |
CN104219156A (zh) * | 2014-09-16 | 2014-12-17 | 西安电子科技大学 | 一种适用于层次化空中自组织网络的组播路由方法 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5940598A (en) * | 1997-01-28 | 1999-08-17 | Bell Atlantic Network Services, Inc. | Telecommunications network to internetwork universal server |
US6804201B1 (en) | 2000-10-05 | 2004-10-12 | S. Erol Gelenbe | Cognitive packet network |
US7619982B2 (en) * | 2005-04-25 | 2009-11-17 | Cisco Technology, Inc. | Active probe path management |
US7822027B2 (en) * | 2006-10-05 | 2010-10-26 | Cisco Technology, Inc. | Network routing to the socket |
CN101820391A (zh) * | 2010-03-17 | 2010-09-01 | 中兴通讯股份有限公司 | 用于ip网络的路由转发方法及网络设备 |
CN101980486A (zh) * | 2010-10-12 | 2011-02-23 | 北京星网锐捷网络技术有限公司 | 地址库数据的更新方法及网络设备 |
CN102158300B (zh) * | 2010-12-31 | 2013-10-09 | 华为技术有限公司 | 波分网络中建立路径的方法、通信节点和通信系统 |
CN102333314A (zh) * | 2011-10-19 | 2012-01-25 | 南京信息工程大学 | 一种无线自组网的路由方法 |
CN103096410A (zh) * | 2011-10-31 | 2013-05-08 | 上海万康无线智能控制系统有限公司 | 一种无线抄表系统中的数据传输方法 |
US9066287B2 (en) | 2012-01-24 | 2015-06-23 | Qualcomm Incorporated | Systems and methods of relay selection and setup |
CN103457855B (zh) * | 2012-06-04 | 2018-08-10 | 中兴通讯股份有限公司 | 无类域间路由表建立、以及报文转发的方法和装置 |
CN103260210B (zh) * | 2013-05-31 | 2019-04-26 | 北京新岸线移动多媒体技术有限公司 | 一种多跳网络中多跳路由的建立方法、系统及装置 |
CN103959723B (zh) * | 2014-01-07 | 2016-09-28 | 华为技术有限公司 | 一种重路由方法、系统以及网络设备 |
CN104683210B (zh) * | 2015-03-10 | 2018-10-09 | 新华三技术有限公司 | 一种自动建立隧道的方法和装置 |
-
2015
- 2015-12-30 WO PCT/CN2015/099971 patent/WO2017113238A1/zh active Application Filing
- 2015-12-30 CN CN201580057570.7A patent/CN107431968B/zh active Active
- 2015-12-30 EP EP15911867.8A patent/EP3389310B1/en active Active
- 2015-12-30 CN CN202010981133.7A patent/CN112152921B/zh active Active
- 2015-12-30 CN CN202010982742.4A patent/CN112217723A/zh active Pending
-
2018
- 2018-06-29 US US16/022,729 patent/US10708167B2/en not_active Expired - Fee Related
-
2020
- 2020-06-16 US US16/903,338 patent/US11658896B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1750512A (zh) * | 2005-09-27 | 2006-03-22 | 杭州华为三康技术有限公司 | 单播反向路径转发方法 |
CN102857427A (zh) * | 2012-08-27 | 2013-01-02 | 上海斐讯数据通信技术有限公司 | 探测路由下一跳mac地址的方法及其路由设备 |
CN104219156A (zh) * | 2014-09-16 | 2014-12-17 | 西安电子科技大学 | 一种适用于层次化空中自组织网络的组播路由方法 |
Non-Patent Citations (1)
Title |
---|
《An Integrated Routing and Rate Adaptation Framework for Multi-rate Multi-hop Wireless Networks》;Tae-Suk Kim et al;《Wireless Networks》;20130731;正文第6.1.2节 * |
Also Published As
Publication number | Publication date |
---|---|
US20180316595A1 (en) | 2018-11-01 |
US20200382406A1 (en) | 2020-12-03 |
CN112152921A (zh) | 2020-12-29 |
CN112217723A (zh) | 2021-01-12 |
EP3389310A1 (en) | 2018-10-17 |
EP3389310B1 (en) | 2022-06-01 |
EP3389310A4 (en) | 2018-12-05 |
CN107431968A (zh) | 2017-12-01 |
US11658896B2 (en) | 2023-05-23 |
CN107431968B (zh) | 2020-10-09 |
US10708167B2 (en) | 2020-07-07 |
WO2017113238A1 (zh) | 2017-07-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112152921B (zh) | 一种建立路由表的方法、电子设备及网络 | |
US11005729B2 (en) | Satisfying service level agreement metrics for unknown applications | |
US10305769B2 (en) | Method and apparatus for augmenting TWAMP | |
US9325626B2 (en) | Method and apparatus to reduce cumulative effect of dynamic metric advertisement in smart grid/sensor networks | |
US8472348B2 (en) | Rapid network formation for low-power and lossy networks | |
US8498292B2 (en) | Network node and method for establishing network path and sending data | |
US20070110102A1 (en) | Wireless multi-hop network, terminal and bandwidth ensured communication method for use therewith | |
US20050175009A1 (en) | Enhanced multicast forwarding cache (eMFC) | |
US20050286419A1 (en) | System and method to improve the performance of an on demand routing protocol in a wireless network | |
US20130028140A1 (en) | Using service discovery to build routing topologies | |
Darehshoorzadeh et al. | Distance progress based opportunistic routing for wireless mesh networks | |
Hosek et al. | Investigation on OLSR routing protocol efficiency | |
CN104053208B (zh) | 无线自组网中基于信道分配的路由方法、装置 | |
Kadusic et al. | QoS-aware dynamic MAP selection in HMIPv6 architectures | |
CN107959985B (zh) | 混合mesh网络构建方法、数据传输方法及装置 | |
Garcia-Luna-Aceves et al. | Loop-free integrated forwarding and routing with gradients | |
Zarhouni et al. | Traffic engineering and optimization routing for voip traffic in wireless mesh networks | |
Serrano et al. | VoIP traffic in wireless mesh networks: a MOS‐based routing scheme | |
Vajsar et al. | Design of QoS model for mobile Ad-hoc network | |
JP2018006793A (ja) | 転送装置、サーバ装置、および、転送方法 | |
Zarhouni et al. | Routing constraint for VoIP traffic in wireless mesh networks | |
Savithri et al. | Performance Analysis of VoMAN using Routing Protocols to Improve QoS of VoIP Flows | |
Ştefănescu et al. | AAODV/AAOMDV routing protocols: Single and multipath routing in WMNs | |
Kaushik | Performance comparison of routing protocols using OPNET UMTS model suite | |
Savithri et al. | Issues and challenges of VoIP and the Pitfalls of MANET routing protocols in improving the QoS of VoIP flows |
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 |