CN104348732B - 拓扑结构发现方法及装置 - Google Patents
拓扑结构发现方法及装置 Download PDFInfo
- Publication number
- CN104348732B CN104348732B CN201310318048.2A CN201310318048A CN104348732B CN 104348732 B CN104348732 B CN 104348732B CN 201310318048 A CN201310318048 A CN 201310318048A CN 104348732 B CN104348732 B CN 104348732B
- Authority
- CN
- China
- Prior art keywords
- router
- controller
- topology
- response
- information
- 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
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
-
- 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/20—Hop count for routing purposes, e.g. TTL
-
- 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/42—Centralised routing
-
- 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
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/302—Route determination based on requested QoS
- H04L45/306—Route determination based on the nature of the carried application
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例提供一种拓扑结构发现方法及装置。本实施例的拓扑结构发现方法,通过控制器获取N个路由器之间的拓扑结构,接着,控制器根据该拓扑结构,获得每个路由器对应的路由表,并分别向每个路由器发送对应的路由表,其中,该路由表包括路由器与其他N‑1个路由器之间的路由信息,和路由器与控制器之间的路由信息中的至少一种,从而控制器可以获得整个网络的拓扑结构,并根据整个网络的拓扑结构,进行计算可以获得最优路径的路由,进一步的,提高了网络的利用效率以及吞吐量。
Description
技术领域
本发明涉及通信技术,尤其涉及一种拓扑结构发现方法及装置。
背景技术
随着互联网的发展,越来越多的人们从互联网上获取信息,如网络新闻、搜索引擎,网络音乐、网络视频、社交网站、网络论坛等。其中,信息中心网络(Informationcentric networking,以下简称ICN)是以信息内容为中心的网络,例如有命名数据网络(Named Data Network,以下简称NDN)或者内容中心网络(Content Centric Networking,以下简称CCN)等。
现有技术中,路由器首先向周围相邻的路由器发送路由器自身的信息,接着,相邻的路由器再向与该些路由器相邻的路由器发送自身信息以及相邻路由器的信息,从而逐步扩散,直到通知整个网络。
然而,信息中心网络的路由器无法获知整个网络的整体拓扑结构,从而无法获得较优路径的路由。
发明内容
本发明提供一种拓扑结构发现方法及装置,用以获知整个网络的拓扑结构。
第一方面,本发明实施例提供一种拓扑结构发现方法,包括:
控制器获取N个路由器之间的拓扑结构,N为大于或等于1的整数;
所述控制器根据所述拓扑结构,获得每个所述路由器对应的路由表,并分别向每个所述路由器发送对应的路由表,所述路由表包括所述路由器与其他N-1个路由器之间的路由信息,和所述路由器与所述控制器之间的路由信息中的至少一种。
在第一方面的第一种可能的实现方式中,所述控制器获取N个路由器之间的拓扑结构,包括:
所述控制器向第一路由器发送第一拓扑发现请求,所述第一拓扑发现请求用以请求所述第一路由器与第二路由器之间的第一拓扑结构,所述第一路由器与所述第二路由器之间物理连接并间隔为1跳,所述第一路由器与所述控制器之间物理连接并间隔为1跳;
所述控制器接收所述第一路由器发送的第一拓扑发现响应,所述第一拓扑发现响应中携带有所述第一路由器与所述第二路由器之间的所述第一拓扑结构。
结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述控制器接收所述第一路由器发送的第一拓扑发现响应之后,还包括:
所述控制器向第M路由器发送第M拓扑发现请求,所述第M拓扑发现请求用以请求所述第M路由器与第M+1路由器之间的第M拓扑结构,所述第M路由器与所述第M+1路由器之间物理连接并间隔为1跳,所述第M路由器与所述控制器间隔为M跳,M为整数,M大于或等于2,并且M小于或等于N;
所述控制器接收所述第M路由器发送的第M拓扑发现响应,所述第M拓扑发现响应中携带有所述第M路由器与所述第M+1路由器之间的所述第M拓扑结构。
在第一方面的第三种可能的实现方式中,所述控制器获取N个路由器之间的拓扑结构,包括:
所述控制器接收所述路由器通过广播方式发送的拓扑信息上报请求,所述拓扑信息上报请求中携带有所述路由器与相邻路由器之间的相邻拓扑结构,所述相邻路由器与所述路由器物理连接并间隔为1跳。
结合第一方面的第三种可能的实现方式,在第一方面的第四种可能的实现方式中,所述控制器根据所述拓扑结构,获得每个所述路由器对应的路由表,并分别向每个所述路由器发送对应的路由表,包括:
所述控制器根据所述路由器与所述相邻路由器之间的所述相邻拓扑结构和预设策略,获得所述路由器与所述相邻路由器对应的路由表;
所述控制器将所述路由表发送给与所述路由表对应的所述路由器。
结合第一方面的第一种可能的实现方式中至第一方面的第四种可能的实现方式中任意一种,在第一方面的第五种可能的实现方式中,所述控制器根据所述拓扑结构,获得每个所述路由器对应的路由表,并分别向每个所述路由器发送对应的路由表之后,还包括:
所述控制器获取路由器变更信息,所述路由器变更信息为新增路由器、新增与所述路由器相连的链路、所述路由器失效、或者与所述路由器相连的链路失效:
所述控制器根据所述路由器变更信息获取新路由表,并向与所述新路由表对应的所述路由器发送所述新路由表。
结合第一方面的第五种可能的实现方式,在第一方面的第六种可能的实现方式中,所述控制器获取路由器的变更信息,包括:
所述控制器向所述第一路由器或与所述第一路由器间隔为K跳的第K路由器发送拓扑信息变更查询请求,所述拓扑信息变更查询请求用以请求查询所述第一路由器的所述变更信息,所述第K路由器与所述控制器之间直接连接或间接连接,K为大于1的整数;
所述控制器接收所述第一路由器或所述第K路由器发送的拓扑信息变更查询响应,以获取所述第一路由器的所述变更信息。
结合第一方面的第五种可能的实现方式,在第一方面的第七种可能的实现方式中,所述控制器获取路由器的变更信息,包括:
所述控制器接收所述第一路由器或第K路由器发送的拓扑信息上报请求,以获取所述第一路由器的所述变更信息,所述第K路由器与所述第一路由器间隔为K跳,所述第K路由器与所述控制器之间直接连接或间接连接,K为大于1的整数。
结合第一方面至第一方面的第七种可能的实现方式中任意一种,在第一方面的第八种可能的实现方式中,所述控制器获取N个路由器之间的拓扑结构之前,还包括:
所述控制器向第一路由器发送邻居发现请求,所述邻居发现请求用以请求所述第一路由器的标识;或者
所述控制器根据接收到所述第一路由器发送的所述邻居发现请求,向所述第一路由器发送邻居发现响应,所述邻居发现请求用以请求与所述第一路由器相邻的所述控制器标识或所述路由器标识,所述邻居发现响应携带有所述控制器的所述控制器标识。
结合第一方面的第一种可能的实现方式至第一方面的第二种可能的实现方式中任意一种,在第一方面的第九种可能的实现方式中,所述第一拓扑发现请求与所述第一拓扑发现响应均携带有相同的内容名、所述控制器的标识和所述第一路由器的标识中的至少一种。
结合第一方面的第二种可能的实现方式中,在第一方面的第十种可能的实现方式中,所述第N拓扑发现请求与所述第N拓扑发现响应均携带有相同的内容名、所述控制器的标识和所述第M路由器的标识中的至少一种。
结合第一方面的第八种可能的实现方式中,在第一方面的第十一种可能的实现方式中,所述邻居发现请求和所述邻居发现响应的关键字均为NeighborDiscovery。
结合第一方面的第一种可能的实现方式或第一方面的第二种可能的实现方式,在第一方面的第十二种可能的实现方式中,所述第一拓扑发现请求、所述第一拓扑发现响应的关键字均为CTL和RouteTo。
结合第一方面的第二种可能的实现方式中,在第一方面的第十三种可能的实现方式中,所述第M拓扑发现请求和所述第M拓扑发现响应的关键字均为CTL和RouteTo。
结合第一方面的第三种可能的实现方式或第一方面的第四种可能的实现方式,在第一方面的第十四种可能的实现方式中,所述拓扑信息上报请求的关键字均为TopologyDiscovery。
结合第一方面的第六种可能的实现方式中,在第一方面的第十五种可能的实现方式中,所述拓扑信息变更查询请求和所述拓扑信息变更查询响应的关键字均为CTL和NeighborInfoUpdate。
本发明第二方面,提供一种拓扑结构发现方法,包括:
第一路由器向控制器发送网络中网络节点之间的拓扑结构,所述网络包括N个路由器,所述第一路由器为所述N个路由器中的一个,N为大于或等于1的整数;
所述第一路由器接收所述控制器发送的路由表,所述路由表为所述控制器根据所述拓扑结构生成的。
在第二方面的第一种可能的实现方式中,所述第一路由器向控制器发送网络中网络节点之间的拓扑结构,包括:
所述第一路由器接收所述控制器发送的第一拓扑发现请求,所述第一拓扑发现请求用以请求所述第一路由器与第二路由器之间的第一拓扑结构,所述第一路由器与所述第二路由器之间物理连接并间隔为1跳;
所述第一路由器向所述控制器发送第一拓扑发现响应,所述第一拓扑发现响应中携带有所述第一路由器与第二路由器之间的所述第一拓扑结构。
在第二方面的第二种可能的实现方式中,所述第一路由器向控制器发送网络中网络节点之间的拓扑结构,包括:
所述第一路由器通过广播方式向所述控制器发送拓扑信息上报请求,所述拓扑信息上报请求中携带有所述第一路由器与第二路由器之间的相邻拓扑结构,所述第一路由器与所述第二路由器之间直接物理连接并间隔为1跳;
所述第一路由器接收所述控制器发送的拓扑信息上报响应,所述拓扑信息上报响应中携带有从所述控制器到所述第一路由器的跳数,所述第一路由器根据所述跳数确定到所述控制器的路由,并将所述路由存储在所述第一路由器上设置的所述路由表中。
结合第二方面至第二方面的第二种可能的实现方式中任意一种,在第二方面的第三种可能的实现方式中,所述第一路由器向控制器发送网络中网络节点之间的拓扑结构之前,还包括:
所述第一路由器接收所述控制器发送的邻居发现请求,所述邻居发现请求用以请求所述第一路由器物理的标识;或者
所述第一路由器向所述控制器发送所述邻居发现请求之后,所述第一路由器接收所述控制器发送的邻居发现响应,所述邻居发现请求用以请求与所述第一路由器相邻的所述控制器标识或所述路由器标识,所述邻居发现响应携带有所述控制器标识。
结合第二方面至第二方面的第三种可能的实现方式中任意一种,在第二方面的第四种可能的实现方式中,所述第一路由器接收所述控制器路由表之后,还包括:
所述第一路由器向所述控制器发送网络中的变更信息,所述变更信息为所述网络中新增与所述第一路由器相连的链路、所述第一路由器失效、或者与所述第一路由器相连的链路失效;
所述第一路由器接收所述控制器发送的路由表。
结合第二方面的第四种可能的实现方式,在第二方面的第五种可能的实现方式中,所述第一路由器向所述控制器发送网络中的变更信息,包括:
所述第一路由器接收所述控制器发送的拓扑信息变更查询请求,所述拓扑信息变更查询请求用以请求查询所述第一路由器的所述变更信息;
所述第一路由器向所述控制器发送拓扑信息变更查询响应,所述拓扑信息变更查询响应中携带有所述第一路由器的所述变更信息。
结合第二方面的第四种可能的实现方式,在第二方面的第六种可能的实现方式中,所述第一路由器向所述控制器发送网络中的变更信息,包括:
所述第一路由器向所述控制器发送拓扑信息上报请求,以告知所述第一路由器的所述变更信息,所述拓扑信息上报请求中携带有所述第一路由器的所述变更信息。
结合第二方面的第一种可能的实现方式,在第二方面的第七种可能的实现方式中,所述第一拓扑发现请求与所述第一拓扑发现响应均携带有相同的内容名、所述控制器的标识和所述第一路由器的标识中的至少一种。
结合第二方面的第二种可能的实现方式,在第二方面的第八种可能的实现方式中,所述拓扑信息上报请求、所述拓扑信息上报响应均携带有相同的内容名、所述控制器的标识和所述第一路由器的标识中的至少一种。
结合第二方面的第三种可能的实现方式,在第二方面的第九种可能的实现方式中,所述邻居发现请求和所述邻居发现响应均携带有相同的内容名、所述控制器的标识和所述第一路由器的标识中的至少一种;和/或
所述邻居发现请求和所述邻居发现响应的关键字均为NeighborDiscovery。
结合第二方面的第一种可能的实现方式,在第二方面的第十种可能的实现方式中,所述第一拓扑发现请求和所述第一拓扑发现响应的关键字均为CTL和RouteTo。
结合第二方面的第二种可能的实现方式,在第二方面的第十一种可能的实现方式中,所述拓扑信息上报请求、所述拓扑信息上报响应的关键字均为CTL和TopologyDiscovery。
结合第二方面的第五种可能的实现方式,在第二方面的第十二种可能的实现方式中,所述拓扑信息变更查询请求和所述拓扑信息变更查询响应的关键字均为CTL和NeighborInfoUpdate。
第三方面,本发明实施例提供一种拓扑结构发现装置,包括:
获取模块,用于获取N个路由器之间的拓扑结构,N为大于或等于1的整数;
处理模块,用于根据所述拓扑结构,获得每个所述路由器对应的路由表,并分别向每个所述路由器发送对应的路由表,所述路由表包括所述路由器与其他N-1个路由器之间的路由信息,和所述路由器与所述控制器之间的路由信息中的至少一种。
在第三方面的第一种可能的实现方式中,所述获取模块,具体用于向所述第一路由器发送第一拓扑发现请求,所述第一拓扑发现请求用以请求所述第一路由器与第二路由器之间的第一拓扑结构,所述第一路由器与所述第二路由器之间物理连接并间隔为1跳,所述第一路由器与所述控制器之间物理连接并间隔为1跳;并接收所述第一路由器发送的第一拓扑发现响应,所述第一拓扑发现响应中携带有所述第一路由器与第二路由器之间的所述第一拓扑结构。
结合第三方面的第一种可能的实现方式,在第三方面的第二种可能的实现方式中,所述获取模块,还用于向所述第M路由器发送第M拓扑发现请求,所述第M拓扑发现请求用以请求所述第M路由器与所述第N路由器之间的第M拓扑结构,所述第M路由器与所述第M+1路由器之间物理连接并间隔为1跳,所述第M路由器与所述控制器间隔为M跳,M为整数,M大于或等于2,并且M小于或等于N;并接收所述第M路由器发送的第M拓扑发现响应,所述第M拓扑发现响应中携带有所述第M路由器与所述第M+1路由器之间的所述第M拓扑结构。
在第三方面的第三种可能的实现方式中,所述获取模块,具体用于接收所述路由器通过广播方式发送的拓扑信息上报请求,所述拓扑信息上报请求中携带有所述路由器与相邻路由器之间的相邻拓扑结构,所述相邻路由器与所述路由器物理连接并间隔为1跳。
结合第三方面的第三种可能的实现方式,在第三方面的第四种可能的实现方式中,所述获取模块,具体用于根据所述路由器与所述相邻路由器之间的所述相邻拓扑结构和预设策略,获取所述路由器与所述相邻路由器对应的路由表;
所述处理模块,具体用于将所述路由表发送给与所述路由表对应的路由器。
结合第三方面的第一种可能的实现方式中至第三方面的第四种可能的实现方式中任意一种,在第三方面的第五种可能的实现方式中,所述获取模块,还用于获取所述路由器变更信息,所述路由器变更信息为新增路由器、新增与所述路由器相连的链路、所述路由器失效、或者与所述路由器相连的链路失效:
所述处理模块,还用于根据所述路由器变更信息获取新路由表,并向与所述新路由表对应的所述路由器发送所述新路由表。
结合第三方面的第五种可能的实现方式,在第三方面的第六种可能的实现方式中,所述获取模块,具体用于向所述第一路由器或与所述第一路由器间隔为K跳的第K路由器发送拓扑信息变更查询请求,所述拓扑信息变更查询请求用以请求查询所述第一路由器的所述变更信息,所述第K路由器与所述控制器之间直接连接或间接连接,K为大于1的整数;并接收所述第一路由器或所述第K路由器发送的拓扑信息变更查询响应,以获取所述第一路由器的所述变更信息。
结合第三方面的第五种可能的实现方式,在第三方面的第七种可能的实现方式中,所述获取模块,具体用于接收所述第一路由器或第K路由器发送的拓扑信息上报请求,以获取所述第一路由器的所述变更信息,所述第K路由器与所述第一路由器间隔为K跳,所述第K路由器与所述控制器之间直接连接或间接连接,K为大于1的整数。
结合第三方面至第三方面的第七种可能的实现方式中任意一种,在第三方面的第八种可能的实现方式中,还包括,发送模块,用于向第一路由器发送邻居发现请求,所述邻居发现请求用以请求所述第一路由器的标识;或者
所述发送模块,用于根据接收到所述第一路由器发送的所述邻居发现请求,向所述第一路由器发送邻居发现响应,所述邻居发现请求用以请求与所述第一路由器相邻的所述控制器标识或所述路由器标识,所述邻居发现响应携带有所述控制器的所述控制器标识。
结合第三方面的第一种可能的实现方式至第三方面的第二种可能的实现方式中任意一种,在第三方面的第九种可能的实现方式中,所述第一拓扑发现请求与所述第一拓扑发现响应均携带有相同的内容名、所述控制器的标识和所述第一路由器的标识中的至少一种。
结合第三方面的第二种可能的实现方式中,在第三方面的第十种可能的实现方式中,所述第N拓扑发现请求与所述第N拓扑发现响应均携带有相同的内容名、所述控制器的标识和所述第M路由器的标识中的至少一种。
结合第三方面的第八种可能的实现方式中,在第三方面的第十一种可能的实现方式中,所述邻居发现请求和所述邻居发现响应的关键字均为NeighborDiscovery。
结合第三方面的第一种可能的实现方式或第三方面的第二种可能的实现方式,在第三方面的第十二种可能的实现方式中,所述第一拓扑发现请求、所述第一拓扑发现响应的关键字均为CTL和RouteTo。
结合第三方面的第二种可能的实现方式中,在第三方面的第十三种可能的实现方式中,所述第M拓扑发现请求和所述第M拓扑发现响应的关键字均为CTL和RouteTo。
结合第三方面的第三种可能的实现方式或第三方面的第四种可能的实现方式,在第三方面的第十四种可能的实现方式中,所述拓扑信息上报请求的关键字均为TopologyDiscovery。
结合第三方面的第六种可能的实现方式中,在第三方面的第十五种可能的实现方式中,所述拓扑信息变更查询请求和所述拓扑信息变更查询响应的关键字均为CTL和NeighborInfoUpdate。
本发明第四方面,提供一种拓扑结构发现装置,包括:
发送模块,用于向控制器发送网络中网络节点之间的拓扑结构,所述网络包括N个路由器,所述路由器为所述N个路由器中的一个,N为大于或等于1的整数;
接收模块,用于接收所述控制器发送的路由表,所述路由表为所述控制器根据所述拓扑结构生成的。
在第四方面的第一种可能的实现方式中,所述接收模块,用于接收所述控制器发送的第一拓扑发现请求,所述第一拓扑发现请求用以请求所述第一路由器与第二路由器之间的第一拓扑结构,所述第一路由器与所述第二路由器之间物理连接并间隔为1跳;并向所述控制器发送第一拓扑发现响应,所述第一拓扑发现响应中携带有所述第一路由器与第二路由器之间的所述第一拓扑结构。
在第四方面的第二种可能的实现方式中,所述发送模块,具体用于通过广播方式向所述控制器发送拓扑信息上报请求,所述拓扑信息上报请求中携带有所述第一路由器与所述第二路由器之间的相邻拓扑结构,所述第一路由器与所述第二路由器之间直接物理连接并间隔为1跳;
所述接收模块,具体用于第一路由器接收所述控制器发送的拓扑信息上报响应,所述拓扑信息上报响应中携带有从所述控制器到所述第一路由器的跳数,所述第一路由器根据所述跳数确定到所述控制器的路由,并将所述路由存储在所述第一路由器上设置的所述路由表中。
结合第四方面至第四方面的第二种可能的实现方式中任意一种,在第四方面的第三种可能的实现方式中,所述接收模块,还用于接收所述控制器发送的邻居发现请求,所述邻居发现请求用以请求所述第一路由器物理的标识;或者
所述接收模块,还用于向所述控制器发送所述邻居发现请求之后,所述第一路由器接收所述控制器发送的邻居发现响应,所述邻居发现请求用以请求与所述第一路由器相邻的所述控制器标识或所述路由器标识,所述邻居发现响应携带有所述控制器标识。
结合第四方面至第四方面的第三种可能的实现方式中任意一种,在第四方面的第四种可能的实现方式中,所述发送模块,还用于向所述控制器发送网络中的变更信息,所述变更信息为所述网络中新增与所述第一路由器相连的链路、所述第一路由器失效、或者与所述第一路由器相连的链路失效;
所述接收模块,还用于接收所述控制器发送的路由表。
结合第四方面的第四种可能的实现方式,在第四方面的第五种可能的实现方式中,所述接收模块,具体用于接收所述控制器发送的拓扑信息变更查询请求,所述拓扑信息变更查询请求用以请求查询所述第一路由器的所述变更信息;
所述发送模块,具体用于向所述控制器发送拓扑信息变更查询响应,所述拓扑信息变更查询响应中携带有所述第一路由器的所述变更信息。
结合第四方面的第四种可能的实现方式,在第四方面的第六种可能的实现方式中,所述发送模块,具体用于向所述控制器发送拓扑信息上报请求,以告知所述第一路由器的所述变更信息,所述拓扑信息上报请求中携带有所述第一路由器的所述变更信息。
结合第四方面的第一种可能的实现方式,在第四方面的第七种可能的实现方式中,所述第一拓扑发现请求与所述第一拓扑发现响应均携带有相同的内容名、所述控制器的标识和所述第一路由器的标识中的至少一种。
结合第四方面的第二种可能的实现方式,在第四方面的第八种可能的实现方式中,所述拓扑信息上报请求、所述拓扑信息上报响应均携带有相同的内容名、所述控制器的标识和所述第一路由器的标识中的至少一种。
结合第四方面的第三种可能的实现方式,在第四方面的第九种可能的实现方式中,所述邻居发现请求和所述邻居发现响应均携带有相同的内容名、所述控制器的标识和所述第一路由器的标识中的至少一种;和/或
所述邻居发现请求和所述邻居发现响应的关键字均为NeighborDiscovery。
结合第四方面的第一种可能的实现方式,在第四方面的第十种可能的实现方式中,所述第一拓扑发现请求和所述第一拓扑发现响应的关键字均为CTL和RouteTo。
结合第四方面的第二种可能的实现方式,在第四方面的第十一种可能的实现方式中,所述拓扑信息上报请求、所述拓扑信息上报响应的关键字均为CTL和TopologyDiscovery。
结合第四方面的第五种可能的实现方式,在第四方面的第十二种可能的实现方式中,所述拓扑信息变更查询请求和所述拓扑信息变更查询响应的关键字均为CTL和NeighborInfoUpdate。
本发明实施例提供的拓扑结构发现方法,通过控制器获取N个路由器之间的拓扑结构,接着,控制器根据该拓扑结构,获得每个路由器对应的路由表,并分别向每个路由器发送对应的路由表,其中,该路由表包括路由器与其他N-1个路由器之间的路由信息,和路由器与控制器之间的路由信息中的至少一种,从而控制器可以获得整个网络的拓扑结构,并根据整个网络的拓扑结构,进行计算可以获得最优路径的路由,进一步的,提高了网络的利用效率以及吞吐量。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一实施例提供的拓扑结构发现方法的流程图;
图2为本发明另一实施例提供的拓扑结构发现方法的流程图;
图3为本发明再一实施例提供的拓扑结构发现方法的流程图;
图4为本发明再一实施例提供的拓扑结构发现方法的流程图;
图5为本发明一实施例提供的拓扑结构发现装置的结构示意图;
图6为本发明另一实施例提供的拓扑结构发现装置的结构示意图;
图7为本发明再一实施例提供的拓扑结构发现装置的结构示意图;
图8为本发明再一实施例提供的拓扑结构发现装置的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明一实施例提供的拓扑结构发现方法的流程图;如图1所示,本实施例的方法包括:
步骤101、控制器获取N个路由器之间的拓扑结构。
在本实施例中,该拓扑结构为N个路由器之间相互连接的形式,即路由器之间的拓扑结构,其中,N为大于1的整数。
在该网络中,控制器与相邻的路由器物理连接,同时,路由器与相邻的路由器进行物理连接,也就说,控制器不一定与该网络中的所有路由器直接物理连接,但是,控制器可以与所有的路由器通过发送控制指令的方式进行交互,其中,物理连接可以是通过链路层和物理连接建立点对点的邻接关系。
控制器获取N个路由器之间的拓扑结构可以至少有两种实现方式,具体为:
第一种实现方式,首先,控制器向第一路由器发送第一拓扑发现请求,该第一拓扑发现请求用以请求第一路由器与第二路由器之间的第一拓扑结构,其中,第一路由器与第二路由器相邻,即第一路由器与第二路由器之间物理连接并间隔为1跳;接着,控制器接收第一路由器发送的第一拓扑发现响应,该第一拓扑发现响应中携带有第一路由器与第二路由器之间的第一拓扑结构,例如,该第一拓扑发现响应中可以携带有第二路由器的标识,以及第一路由器与第二路由器相连接的端口号,从而控制器根据与第一路由器相邻的第二路由器的标识,获得第一路由器与第二路由器之间的第一拓扑结构,即控制器获得两跳及两跳以内的拓扑结构,需要说明的是,至少有一个第二路由器与第一路由器相邻。
再接着,控制器可以向第M路由器发送第M拓扑发现请求,该第M拓扑发现请求用以请求第M路由器与第N路由器之间的第M拓扑结构,该第M路由器与第N路由器相邻,即第M路由器与第N路由器之间物理连接并间隔为1跳,第M路由器与控制器间隔为M跳,需要说明的是,与控制器间隔为M跳的第M路由器至少有一个,相应的,与控制器间隔为N跳的第N路由器也至少有一个,第N路由器与控制器间隔为N跳,M大于或等于2,然后,控制器接收第M路由器发送的第M拓扑发现响应,该第M拓扑发现响应中携带有第M路由器与第N路由器之间的第M拓扑结构,例如,该第M拓扑发现响应可以携带有与第M路由器相邻的第N路由器的标识,从而,控制器可以根据第M路由器与第N路由器的标识,获得第M路由器与第N路由器之间的第M拓扑结构,也就是说,控制器根据上述的实现方式,获得了与控制器间隔1跳、间隔2跳直到间隔N跳的路由器的信息,从而控制器获得与控制器间隔为N跳以及N跳以内的网络的拓扑结构。控制器将该第M拓扑发现响应携带的拓扑结构存储在拓扑表中。
控制器可以根据上述的实现方式,依次逐跳的获得与各路由器物理连接并间隔为1跳的路由器的信息,如路由器的标识,在控制器无法从第M拓扑发现响应中获得新的路由器的信息时,可确定控制器获得了整个网络的拓扑结构。
需要说明的是,第一拓扑发现请求的内容名字的格式可以为:
CTL/第一路由器的标识/RouteTo/控制器名/端口号;
其中,端口号为第一路由器接收第一拓扑发现请求的端口号。
需要说明的是,关键字CTL、RouteTo不限于此,也可以是其他的能够实现该功能的关键字。
相应的,第一拓扑发现响应与第一拓扑发现请求的内容名字的格式可以相同。
进一步的,第一拓扑发现响应与第一拓扑发现请求的内容名字中还可以携带有源网络节点的标识以及目标网络节点的标识,例如,控制器的标识以及第一路由器的标识。
同样的,第M拓扑发现响应与第M拓扑发现请求的格式与上述的第1拓扑发现响应与第1拓扑发现请求的格式相同,在此不再赘述。
第二种实现方式,控制器接收第一路由器通过广播方式发送的拓扑信息上报请求,该拓扑信息上报请求中携带有第一路由器与相邻路由器之间的相邻拓扑结构,其中,相邻路由器为与第一路由器相邻的路由器,即第一路由器与相邻路由器之间物理连接并间隔为1跳;需要说明的是,每个路由器在完成邻居发现之后,都可以向控制器发送拓扑信息上报请求,用以告知控制器该路由器的拓扑结构,从而在控制器接收到拓扑信息之后,控制器可以将该拓扑结构存储在拓扑表。也就是说,在网络中的每个路由器可以通过广播方式发送该拓扑信息上报请求,从而,控制器可以获得网络中所有路由器与相邻路由器之间的拓扑结构,也就是说,控制器可以根据网络中所有路由器与相邻路由器之间的拓扑结构,确定网络中所有路由器之间的拓扑结构以及路由器与控制器之间的拓扑结构;最后,控制器将拓扑信息上报响应发送给第一路由器。
需要说明的是,第一拓扑信息上报请求的内容名字的格式可以为:
TopologyDiscovery/第一路由器的标识/端口号/第二路由器的标识;
其中,端口号为第一路由器向第二路由器发送拓扑信息上报请求的端口号。
需要说明的是,关键字TopologyDiscovery不限于此,也可以是其他的能够实现该功能的关键字。
相应的,第一拓扑信息上报响应与第一拓扑信息上报请求的内容名字的格式可以相同。
进一步的,第一拓扑信息上报响应与第一拓扑信息上报请求的内容名字中还可以携带有源网络节点的标识以及目标网络节点的标识,例如,第一路由器的标识以及控制器的标识。
步骤102、控制器根据拓扑结,获得每个路由器对应的路由表,并分别向每个路由器发送对应的路由表。
在本实施例中,控制器中设置有拓扑表,并且网络的拓扑结构存储在该拓扑表中。
无论是上述的哪种实现方式,控制器可以根据获取的拓扑结构,获取每个路由器对应的路由表,并分别向每个路由器发送对应的路由表。
具体的,在上述第一种实现方式中,在控制器获取第一路由器与第二路由器之间的拓扑结构之后,即控制器获得两跳以内的拓扑结构之后,控制器可以根据该拓扑结构生成两跳以内路由器的路由表,并将该路由表发送给对应的路由器,接着,在控制器获取第M路由器与第N路由器之间的拓扑结构之后,即控制器获得N跳以内的拓扑结构之后,控制器可以根据该拓扑结构生成N跳以内路由器的路由表,并将该路由表发送给对应的路由器。
具体的,在上述第二种实现方式中,在控制器获取整个网络的拓扑结构之后,可以获得每个路由器对应的路由表,并分别向每个路由器发送对应的路由表。
本实施例的拓扑结构发现方法,通过控制器获取N个路由器之间的拓扑结构,接着,控制器根据该拓扑结构,获得每个路由器对应的路由表,并分别向每个路由器发送对应的路由表,其中,该路由表包括路由器与其他N-1个路由器之间的路由信息,和路由器与控制器之间的路由信息中的至少一种,从而控制器可以获得整个网络的拓扑结构,并根据整个网络的拓扑结构,进行计算可以获得最优路径的路由,进一步的,提高了网络的利用效率以及吞吐量。
需要说明的是,在上述实施例的基础上,在上述第二种实现方式实现中,步骤102、控制器根据拓扑结构,获得每个路由器对应的路由表,并分别向每个路由器发送对应的路由表,还可以包括:
控制器根据路由器与相邻路由器之间的相邻拓扑结构和预设策略,获得路由器与相邻路由器对应的路由表;
控制器将路由表发送给与路由表对应的路由器。
在上述实施例的基础上,控制器获得网络的所有拓扑结构之后,可以通过拓扑表存储的拓扑结构以及预设策略,如最短路径策略,计算出路由,接着,控制器将该路由发送给路由器,路由器在收到该路由之后,可以存储在FIB(Forwarding Information Base,以下转发表)中,并更新之前已有的相关路由,接着,控制器接收路由器发送的响应,该响应是确认该路由器已经接收到控制器发送的路由。从而,建立完成控制器向各路由器发送路由的路径。
具体的,控制器通过第一路由器将路由发送给目的路由器的具体格式可以为:
CTL/第一路由器标识/RouteTo/目的路由器标识/转发端口号;
其中,转发端口号为第一路由器向目的路由器转发该路由的端口号。
需要说明的是,关键字CTL、RouteTo不限于此,也可以是其他的能够实现该功能的关键字。
相应的,控制器将路由发送给网络节点之后,控制器可以接收到网络节点发送的响应,该响应与控制器发送给目的路由器的内容名可以相同。
进一步的,在控制器通过第一路由器将路由发送给目的路由器的内容名字格式,以及对应的响应的内容名字格式中还可以携带有源网络节点的标识以及目标网络节点的标识,例如,控制器的标识以及目的路由器的标识。
在上述实施例的基础上,在步骤101、控制器获取N个路由器之间的拓扑结构之前,还可以包括:
控制器向第一路由器发送邻居发现请求,该邻居发现请求用以请求第一路由器的标识;或者
控制器根据接收到第一路由器发送的的邻居发现请求,向第一路由器发送邻居发现响应,该邻居发现请求用以请求与第一路由器相邻的控制器标识或路由器标识,该邻居发现响应携带有控制器的控制器标识。
具体的,在步骤101之前,即进行拓扑结构的上报之前,网络中的各网络节点之间,即N个路由器之间需要进行邻居发现,从而该网络节点获得与该网络节点相邻的,即物理连接并间隔为1跳的网络节点的信息,如网络节点的标识,例如,第一路由器获得与第一路由器相邻的第二路由器的标识以及控制器的标识,或者,控制器获得与控制器相邻的第一路由器的标识信息,需要说明的是,在网络中,至少有一个第一路由器,以及至少有一个第二路由器。
举例来说,控制器向第一路由器发送邻居发现请求的内容名字格式可以为:
NeighborDiscovery/控制器的标识/端口号;
其中,该端口号为控制器向第一路由器发送邻居发现请求时发送的端口号。
需要说明的是,关键字NeighborDiscovery不限于此,也可以是其他的能够实现该功能的关键字。
邻居发现响应与邻居发现请求的内容名字格式可以相同。
进一步的,在邻居发现响应与邻居发现请求的内容名字中还可以携带有有源网络节点的标识以及目标网络节点的标识,例如,控制器的标识以及第一路由器的标识。
图2为本发明另一实施例提供的拓扑结构发现方法的流程图;如图2所示,本实施例的方法包括:
步骤201、控制器获取N个路由器之间的拓扑结构,该网络中的网络节点包括有控制器和路由器。
步骤202、控制器根据拓扑结构,获得每个路由器对应的路由表,并分别向每个路由器发送对应的路由表。
本实施例中的步骤201和步骤202分别与步骤101和步骤102的实现原理与技术效果相同,在此不再赘述。
步骤203、控制器获取网络中的路由器的变更信息,该变更信息为新增路由器、新增与路由器相连的链路、路由器失效、或者与路由器相连的链路失效。
在本实施例中,该路由器可以是网络中的所有网路节点中的任一个路由器。在整个网络中,若路由器发生变更,例如,网络中新增一个路由器、新增与路由器,即网络已存在路由器相连的链路、路由器失效、或者与路由器相连的链路失效时,控制器获取网络中的路由器的变更信息具有至少两种适用场景,具体为:
第一种适用场景,在控制器等待路由器发送信息的时间超过预设时长时,控制器可以主动向该路由器发送拓扑信息变更查询请求,其中,该路由器是网络中现有的路由器,如第一路由器,例如,控制器可以向第一路由器或与第一路由器间隔为K跳的第K路由器发送拓扑信息变更查询请求,该拓扑信息变更查询请求用以请求查询第一路由器的变更,第K路由器与控制器之间直接连接或间接连接,K为大于1的整数;接着,控制器接收第一路由器或第K路由器发送的拓扑信息变更查询响应,其中,该拓扑信息变更查询响应中携带第一路由器的变更信息。
举例来讲,控制器可以向第一路由器或与第一路由器间隔为K跳的第K路由器发送拓扑信息变更查询请求,该该拓扑信息变更查询请求用以请求查询第一路由器的变更。
CTL/目的路由器的标识/NeighborInfoUpdate
其中,该目的路由器的标识为第一路由器的标识或是与第一路由器间隔为K跳的第K路由器的标识。
需要说明的是,关键字CTL、NeighborInfoUpdate不限于此,也可以是其他的能够实现该功能的关键字。
第二种适用场景,在网络中,第一路由器发生变化时,即新增路由器、新增路由器链路、路由器失效或者与路由器相连的链路发生失效时,发生变更的路由器可以通过上述的邻居发现机制,主动地向控制器上报变更信息。
举例来讲,例如,该路由器为第一路由器,控制器可以接收第一路由器与第一路由器间隔为K跳的第K路由器发送的拓扑信息上报请求,该拓扑信息上报请求中携带有第一路由器的变更信息,第K路由器与控制器之间直接连接或间接连接,K为大于1的整数。
CTL/控制器名/TopologyDiscovery/第一路由器的标识/端口号/与第一路由器相邻的路由器的标识
其中,该端口号为第一路由器向控制器发送该拓扑信息上报请求的端口号,第一路由器的标识是发送该拓扑信息上报请求的路由器的标识。
需要说明的是,关键字CTL、TopologyDiscovery不限于此,也可以是其他的能够实现该功能的关键字。
进一步的,在路由器向控制器发送该拓扑信息上报请求的路径中,在该路径中的路由器可以接收到该拓扑信息上报请求,并根据自身存储的FIB表中“CTLL/控制器名”表项对应的转发端口进行转发,若因拓扑变化导致相应端口无法转发,路由器则通过广播方式向所有端口进行转发。
在控制器接收该拓扑信息变更查询请求之后,控制器可以向路由器发送的拓扑信息变更查询响应,该拓扑信息变更查询响应中携带有请求的信息,其中,拓扑信息上报响应与拓扑信息上报请求的内容名字格式可以相同。
步骤204、控制器更新拓扑表,并根据拓扑表向网络中的所有路由器发送路由表。
在控制器获取网络中的第一路由器的变更信息之后,控制器可以更新拓扑表,并根据拓扑表向网络中的所有路由器发送路由表。
在本实施例中,控制器可以获取网络中的路由器的变更信息,该变更信息为新增路由器、新增与路由器相连的链路、路由器失效、或者与路由器相连的链路失效,并且,控制器可以更新拓扑表,并根据拓扑表向网络中的所有路由器发送路由表。在网络中任一路由器发生变化的情况下,控制器可以首先获知该变更信息,从而,避免了现有技术中将变更的路由信息进行逐步扩散造成的时延现象。
图3为本发明再一实施例提供的拓扑结构发现方法的流程图;如图3所示,本实施例的方法包括:
步骤301、第一路由器向控制器发送网络中网络节点之间的拓扑结构,网络包括N个路由器,该第一路由器为N个路由器中的一个,N为大于或等于1的整数。
在该网络中,控制器与相邻的路由器物理连接,同时,路由器与相邻的路由器进行物理连接,也就说,控制器不一定与该网络中的所有路由器直接物理连接,但是,控制器可以与所有的路由器通过发送控制指令的方式进行交互,其中,物理连接可以是通过链路层和物理连接建立点对点的邻接关系。
第一路由器告知控制器网络中网络节点之间的拓扑结构可以至少有两种实现方式,具体为:
第一种实现方式,第一路由器接收控制器发送的第一拓扑发现请求,该第一拓扑发现请求用以请求第一路由器与第二路由器之间的第一拓扑结构,其中,第一路由器与第二路由器之间物理连接并间隔为1跳;接着,第一路由器向控制器发送第一拓扑发现响应,第一拓扑发现响应中携带有第一路由器与第二路由器之间的第一拓扑结构。
在第一种实现方式中的第一拓扑发现请求的内容名字的格式与上述实施例中的第一拓扑发现请求的内容名字的格式以及实现方式相同,在此不再赘述。
进一步的,第一拓扑发现响应的内容名字的格式与上述实施例中的第一拓扑发现响应的内容名字的格式以及实现方式相同,在此不再赘述。
第二种实现方式,第一路由器通过广播方式向所述控制器发送拓扑信息上报请求,该拓扑信息上报请求中携带有第一路由器与第二路由器之间的相邻拓扑结构,其中,第一路由器与所述第二路由器之间直接物理连接并间隔为1跳;接着,第一路由器接收控制器发送的拓扑信息上报响应,该拓扑信息上报响应中携带有从控制器到第一路由器的跳数,第一路由器根据跳数确定到控制器的路由,并将路由存储在第一路由器上设置的路由表中。需要说明的是,在第一路由器向控制器发送拓扑信息上报请求的路由中间的路由器也是通过广播方式转发该拓扑信息上报请求,直至请求送达控制器。
在第二种实现方式中的拓扑信息上报请求的内容名字的格式与上述实施例中的拓扑信息上报请求的内容名字的格式以及实现方式相同,在此不再赘述。
进一步的,第一拓扑信息上报响应的内容名字的格式与上述实施例中的拓扑信息上报响应的内容名字的格式以及实现方式相同,在此不再赘述。
步骤302、第一路由器接收控制器发送的路由表,路由表为控制器根据拓扑结构生成的。
在本实施例中,无论是上述的哪种实现方式,第一路由器可以接收控制器发送的路由表,该路由表为控制器根据拓扑结构生成的。
具体的,在上述第一种实现方式中,在第一路由器告知控制器网络中各网络节点之间的拓扑结构之后,即控制器获得两跳以内的拓扑结构之后,控制器可以根据该拓扑结构生成两跳以内路由器的路由表,并将该路由表发送给对应的路由器,接着,在控制器获取第M路由器与第N路由器之间的拓扑结构之后,即控制获得N跳以内的拓扑结构之后,控制器可以根据该拓扑结构生成N跳以内路由器的路由表,接着,该路由表对应的路由器接收到控制器发送的该路由表。
具体的,在上述第二种实现方式中,在路由器将整个网络的拓扑结构告知控制器之后,可以接收控制器根据该拓扑结构生成的路由表。
本实施例的拓扑结构发现方法,通过第一路由器向控制器发送网络中网络节点之间的拓扑结构,网络包括N个路由器,其中,第一路由器为N个路由器中的一个,N为大于或等于1的整数,接着,第一路由器接收控制器发送的路由表,路由表为控制器根据拓扑结构生成的,从而控制器可以获得整个网络的拓扑结构,并根据整个网络的拓扑结构,进行计算可以获得最优路径的路由,进一步的,提高了网络的利用效率以及吞吐量。
在上述实施例的基础上,在步骤301、第一路由器告知控制器网络中各网络节点之间的拓扑结构之前,还包括:
第一路由器接收控制器发送的邻居发现请求,该邻居发现请求用以请求第一路由器的标识;或者
第一路由器向控制器发送邻居发现请求之后,该第一路由器接收控制器发送的邻居发现响应,该邻居发现请求用以请求与所述第一路由器相邻的所述控制器标识或所述路由器标识,所述邻居发现响应携带有所述控制器标识。
具体的,在步骤301之前,网络中的各网络节点之间需要进行邻居发现,从而该网络节点获得与该网络节点相邻的,即物理连接并间隔为1跳的网络节点的信息,如网络节点的标识,例如,第一路由器获得与第一路由器相邻的第二路由器的标识以及控制器的标识,以及,第一路由器获得与第一路由器相邻的控制器的标识信息,需要说明的是,在网络中,至少有一个第一路由器,以及至少有一个第二路由器。
需要说明的是,邻居发现请求的内容名字格式与上述实施例的邻居发现请求的内容名字格式相同,实现方式也相同,在此不再赘述。
邻居发现响应与邻居发现请求的内容名字格式可以相同。
进一步的,在邻居发现响应与邻居发现请求的内容名字中还可以携带有有源网络节点的标识以及目标网络节点的标识,例如,控制器的标识以及第一路由器的标识。
图4为本发明再一实施例提供的拓扑结构发现方法的流程图;如图4所示,本实施例的方法包括:
步骤401、第一路由器向控制器发送网络中网络节点之间的拓扑结构,网络包括N个路由器,所述第一路由器为所述N个路由器中的一个,N为大于或等于1的整数。
步骤402、第一路由器接收控制器发送的路由表,路由表为控制器根据拓扑结构生成的。
本实施例中的步骤401和步骤402分别与步骤301和步骤302的实现原理与技术效果相同,在此不再赘述。
步骤403、第一路由器向控制器发送网络中的变更信息,该变更信息为网络中新增与第一路由器相连的链路、第一路由器失效、或者与第一路由器相连的链路失效。
在本实施例中,第一路由器是指网络中的所有网路节点中的任一个路由器。在整个网络中,若第一路由器发生变更,例如,网络中新增与第一路由器相连的链路、第一路由器失效、或者与第一路由器相连的链路失效时,控制器获取网络中的第一路由器的变更信息具有至少两种适用场景,具体为:
第一种适用场景,在控制器等待第一路由器发送信息的时间超过预设时长时,控制器可以主动向路由器,发送拓扑信息变更查询请求,例如,第一路由器接收控制器发送的拓扑信息变更查询请求,该拓扑信息变更查询请求用以请求查询第一路由器的所述变更信息;接着,第一路由器向控制器发送拓扑信息变更查询响应,拓扑信息变更查询响应中携带有第一路由器的所述变更信息。
拓扑信息变更查询请求与上述实施例中的拓扑信息变更查询请求的格式相同,实现方式也相同,在此不再赘述。
第二种适用场景,在网络中,第一路由器发生变化时,即新增第一路由器链路、第一路由器失效或者与第一路由器相连的链路发生失效时,发生变更的第一路由器可以通过上述的邻居发现机制,主动地向控制器上报变更信息。
具体的,第一路由器向控制器发送拓扑信息上报请求,该拓扑信息上报请求中携带有第一路由器的变更信息。
拓扑信息上报请求与上述实施例中的拓扑信息上报请求的格式相同,实现方式也相同,在此不再赘述
步骤404、第一路由器接收控制器发送的路由表。
该路由表为控制器获取网络中的第一路由器的变更信息之后,控制器可以首先更新拓扑表,并根据拓扑表向网络中的所有路由器发送路由表,接着,第一路由器接收控制器发送的路由表。
在本实施例中,第一路由器告知控制器网络中的变更信息,该变更信息为新增所述第一路由器、新增与第一路由器相连的链路、第一路由器失效、或者与第一路由器相连的链路失效,并且,第一路由器接收控制器发送的路由表。在网络中任一路由器发生变化的情况下,该路由器或是该路由器周围的路由器可以将该变更信息告知控制器,从而,避免了现有技术中将变更信息进行逐跳更新造成的时延现象。
图5为本发明一实施例提供的拓扑结构发现装置的结构示意图,如图5所示,该拓扑结构发现装置可以设置在控制器中,其中,该拓扑结构发现装置包括:获取模块501和处理模块502。具体的,
获取模块501,用于获取N个路由器之间的拓扑结构,N为大于或等于1的整数;
处理模块502,用于根据拓扑结构,获得每个路由器对应的路由表,并分别向每个路由器发送对应的路由表,其中,该路由表包括路由器与其他N-1个路由器之间的路由信息,和路由器与控制器之间的路由信息中的至少一种。
本实施例的拓扑结构发现装置,通过控制器获取N个路由器,且控制器可以根据拓扑结构,获得每个路由器对应的路由表,并分别向每个路由器发送对应的路由表,从而控制器可以获得整个网络的拓扑结构,并根据整个网络的拓扑结构,进行计算可以获得最优路径的路由,进一步的,提高了网络的利用效率以及吞吐量。
在上述实施例的基础上,获取模块501,具体用于向第一路由器发送第一拓扑发现请求,第一拓扑发现请求用以请求第一路由器与第二路由器之间的第一拓扑结构,第一路由器与第二路由器之间物理连接并间隔为1跳,第一路由器与所述控制器之间物理连接并间隔为1跳;并接收第一路由器发送的第一拓扑发现响应,第一拓扑发现响应中携带有第一路由器与第二路由器之间的第一拓扑结构。
进一步的,获取模块501,还用于向第M路由器发送第M拓扑发现请求,第M拓扑发现请求用以请求第M路由器与第N路由器之间的第M拓扑结构,第M路由器与第M+1路由器之间物理连接并间隔为1跳,第M路由器与控制器间隔为M跳,M为整数,M大于或等于2,并且M小于或等于N;并接收第M路由器发送的第M拓扑发现响应,第M拓扑发现响应中携带有第M路由器与第M+1路由器之间的第M拓扑结构。
可选的,在上述实施例的基础上,获取模块501,具体用于接收路由器通过广播方式发送的拓扑信息上报请求,拓扑信息上报请求中携带有路由器与相邻路由器之间的相邻拓扑结构,相邻路由器与路由器物理连接并间隔为1跳。
进一步的,获取模块,具体用于根据路由器与相邻路由器之间的相邻拓扑结构和预设策略,获取路由器与所述相邻路由器对应的路由表;
处理模块502,具体用于将路由表发送给与路由表对应的路由器。
在上述实施例的基础上,获取模块501,还用于获取路由器的变更信息,变更信息为新增路由器、新增与路由器相连的链路、路由器失效、或者与路由器相连的链路失效:
处理模块502,还用于根据路由器变更信息获取新路由表,并向与新路由表对应的路由器发送新路由表。
进一步的,获取模块501,具体用于向第一路由器或与第一路由器间隔为K跳的第K路由器发送拓扑信息变更查询请求,拓扑信息变更查询请求用以请求查询第一路由器的变更信息,第K路由器与控制器之间直接连接或间接连接,K为大于1的整数;并接收第一路由器或第K路由器发送的拓扑信息变更查询响应,以获取第一路由器的变更信息。
在上述实施例的基础上,获取模块501,具体用于接收第一路由器或第K路由器发送的拓扑信息上报请求,以获取第一路由器的变更信息,第K路由器与第一路由器间隔为K跳,第K路由器与控制器之间直接连接或间接连接,K为大于1的整数。
在上述实施例的基础上,该装置还包括,发送模块503,用于向第一路由器发送邻居发现请求,邻居发现请求用以请求第一路由器的标识;或者
发送模块503,用于根据接收到第一路由器发送的邻居发现请求,向第一路由器发送邻居发现响应,邻居发现请求用以请求与第一路由器相邻的控制器标识或路由器标识,邻居发现响应携带有控制器的控制器标识。
在上述实施例的基础上,该拓扑信息上报请求与拓扑信息上报响应均携带有相同的内容名、第一路由器的标识和控制器的标识中的至少一种;
第一拓扑发现请求与第一拓扑发现响应均携带有相同的内容名、控制器的标识和第一路由器的标识中的至少一种;
第N拓扑发现请求与第N邻居发现响应均携带有相同的内容名、控制器的标识和第M路由器的标识中的至少一种。
可选的,邻居发现请求和邻居发现响应的关键字均为NeighborDiscovery;
第一拓扑发现请求、第M拓扑发现请求、第一拓扑发现响应和第M拓扑发现响应的关键字均为CTL和RouteTo;
拓扑信息上报请求、拓扑信息上报响应的关键字均为TopologyDiscovery;
拓扑信息变更查询请求和拓扑信息变更查询响应的关键字均为CTL、NeighborInfoUpdate;
拓扑信息上报请求的关键字均为CTL、TopologyDiscovery。
图6为本发明另一实施例提供的拓扑结构发现装置的结构示意图,如图6所示,该拓扑结构发现装置可以设置在路由器中,其中,该拓扑结构发现装置包括:发送模块601和接收模块602。具体的,
发送模块601,用于向控制器发送网络中网络节点之间的拓扑结构,网络包括N个路由器,路由器为N个路由器中的一个,N为大于或等于1的整数;
接收模块602,用于接收控制器发送的路由表,路由表为控制器根据拓扑结构生成的。
本实施例的拓扑结构发现装置,通过第一路由器向控制器发送网络中网络节点之间的拓扑结构,网络包括N个路由器,路由器为N个路由器中的一个,N为大于或等于1的整数,接着,接收控制器发送的路由表,路由表为控制器根据拓扑结构生成的,从而控制器可以获得整个网络的拓扑结构,并根据整个网络的拓扑结构,进行计算可以获得最优路径的路由,进一步的,提高了网络的利用效率以及吞吐量。
在上述实施例的基础上,接收模块602,用于接收控制器发送的第一拓扑发现请求,第一拓扑发现请求用以请求第一路由器与第二路由器之间的第一拓扑结构,第一路由器与第二路由器之间物理连接并间隔为1跳;并向控制器发送第一拓扑发现响应,第一拓扑发现响应中携带有第一路由器与第二路由器之间的第一拓扑结构。
在上述实施例的基础上,发送模块601,具体用于通过广播方式向控制器发送拓扑信息上报请求,拓扑信息上报请求中携带有第一路由器与第二路由器之间的相邻拓扑结构,第一路由器与第二路由器之间直接物理连接并间隔为1跳;
接收模块602,具体用于第一路由器接收控制器发送的拓扑信息上报响应,拓扑信息上报响应中携带有从控制器到第一路由器的跳数,第一路由器根据跳数确定到控制器的路由,并将路由存储在第一路由器上设置的路由表中。
在上述实施例的基础上,接收模块602,还用于接收控制器发送的邻居发现请求,邻居发现请求用以请求第一路由器物理的标识;或者
接收模块602,还用于向控制器发送邻居发现请求之后,第一路由器接收控制器发送的邻居发现响应,邻居发现请求用以请求与第一路由器相邻的控制器标识或路由器标识,邻居发现响应携带有控制器标识。
在上述实施例的基础上,发送模块601,还用于向控制器发送网络中的变更信息,变更信息为网络新增与第一路由器相连的链路、第一路由器失效、或者与第一路由器相连的链路失效;
接收模块602,还用于接收控制器发送的路由表。
进一步的,接收模块602,具体用于接收控制器发送的拓扑信息变更查询请求,拓扑信息变更查询请求用以请求查询第一路由器的变更信息;
发送模块601,具体用于向控制器发送拓扑信息变更查询响应,拓扑信息变更查询响应中携带有第一路由器的变更信息。
在上述实施例的基础上,发送模块601,具体用于向控制器发送拓扑信息上报请求,以告知第一路由器的变更信息,拓扑信息上报请求中携带有第一路由器的变更信息。
在上述实施例的基础上,拓扑信息上报请求与拓扑信息上报响应均携带有相同的内容名、第一路由器的标识和控制器的标识中的至少一种;
第一拓扑发现请求与第一拓扑发现响应均携带有相同的内容名、控制器的标识和第一路由器的标识;
第N拓扑发现请求与第N邻居发现响应均携带有相同的内容名、控制器的标识和第M路由器的标识中的至少一种。
可选的,邻居发现请求和邻居发现请求的关键字均为NeighborDiscovery;
第一拓扑发现请求、第M拓扑发现请求、第一拓扑发现响应和第M拓扑发现响应的关键字均为CTL和RouteTo;
拓扑信息上报请求、拓扑信息上报响应的关键字均为TopologyDiscovery;
拓扑信息变更查询请求和拓扑信息变更查询响应的关键字均为CTL和NeighborInfoUpdate;
拓扑信息上报请求的关键字均为CTL、TopologyDiscovery。
图7为本发明再一实施例提供的拓扑结构发现装置的结构示意图,如图7所示,该拓扑结构发现装置,可以包括:发射器701、接收器702、存储器703以及分别与发射器701、接收器702和存储器703连接的处理器704。当然,在拓扑结构发现装置还可以包括天线、基带处理部件、中射频处理部件、输入输出装置等通用部件,本发明实施例在此不再任何限制。
其中,存储器703中存储一组程序代码,且处理器704用于调用存储器703中存储的程序代码,用于执行以下操作:
获取N个路由器之间的拓扑结构,N为大于或等于1的整数;
根据拓扑结构,获得每个所述路由器对应的路由表,并分别向每个所述路由器发送对应的路由表,所述路由表包括所述路由器与其他N-1个路由器之间的路由信息,和所述路由器与所述控制器之间的路由信息中的至少一种。
在本实施例中,实现了控制器获得整个网络的拓扑结构,并根据整个网络的拓扑结构,进行计算可以获得最优路径的路由,进一步的,提高了网络的利用效率以及吞吐量。
图8为本发明再一实施例提供的拓扑结构发现装置的结构示意图,如图8所示,该拓扑结构发现装置,可以包括:发射器801、接收器802、存储器803以及分别与发射器801、接收器802和存储器803连接的处理器804。当然,在拓扑结构发现装置还可以包括天线、基带处理部件、中射频处理部件、输入输出装置等通用部件,本发明实施例在此不再任何限制。
其中,存储器803中存储一组程序代码,且处理器804用于调用存储器803中存储的程序代码,用于执行以下操作:
向控制器发送网络中网络节点之间的拓扑结构,所述网络包括N个路由器,所述第一路由器为所述N个路由器中的一个,N为大于或等于1的整数;
接收所述控制器发送的路由表,所述路由表为所述控制器根据所述拓扑结构生成的。
在本实施例中,实现了控制器获得整个网络的拓扑结构,并根据整个网络的拓扑结构,进行计算可以获得最优路径的路由,进一步的,提高了网络的利用效率以及吞吐量。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (58)
1.一种拓扑结构发现方法,所述方法用于信息中心网络,其特征在于,包括:
控制器获取N个路由器之间的拓扑结构,N为大于或等于1的整数,所述拓扑结构为所述N个路由器之间相互连接的形式;
所述控制器根据所述拓扑结构,获得每个所述路由器对应的路由表,并分别向每个所述路由器发送对应的路由表,所述路由表包括所述路由器与其他N-1个路由器之间的路由信息,和所述路由器与所述控制器之间的路由信息中的至少一种;
所述控制器根据所述拓扑结构,获得每个所述路由器对应的路由表,并分别向每个所述路由器发送对应的路由表,包括:
所述控制器获得所述信息中心网络的所有拓扑结构之后,通过拓扑表存储的拓扑结构以及预设策略,计算出路由;
所述控制器将所述路由发送给相应的路由器,其中,所述相应的路由器将收到的所述路由存储在转发表中,并更新之前已有的相关路由;所述控制器接收所述相应的路由器发送的响应,其中,所述响应是确认所述相应的路由器已经接收到所述控制器发送的路由。
2.根据权利要求1所述的方法,其特征在于,所述控制器获取N个路由器之间的拓扑结构,包括:
所述控制器向第一路由器发送第一拓扑发现请求,所述第一拓扑发现请求用以请求所述第一路由器与第二路由器之间的第一拓扑结构,所述第一路由器与所述第二路由器之间物理连接并间隔为1跳,所述第一路由器与所述控制器之间物理连接并间隔为1跳;
所述控制器接收所述第一路由器发送的第一拓扑发现响应,所述第一拓扑发现响应中携带有所述第一路由器与所述第二路由器之间的所述第一拓扑结构。
3.根据权利要求2所述的方法,其特征在于,所述控制器接收所述第一路由器发送的第一拓扑发现响应之后,还包括:
所述控制器向第M路由器发送第M拓扑发现请求,所述第M拓扑发现请求用以请求所述第M路由器与第M+1路由器之间的第M拓扑结构,所述第M路由器与所述第M+1路由器之间物理连接并间隔为1跳,所述第M路由器与所述控制器间隔为M跳,M为整数,M大于或等于2,并且M小于或等于N;
所述控制器接收所述第M路由器发送的第M拓扑发现响应,所述第M拓扑发现响应中携带有所述第M路由器与所述第M+1路由器之间的所述第M拓扑结构。
4.根据权利要求1所述的方法,其特征在于,所述控制器获取N个路由器之间的拓扑结构,包括:
所述控制器接收所述路由器通过广播方式发送的拓扑信息上报请求,所述拓扑信息上报请求中携带有所述路由器与相邻路由器之间的相邻拓扑结构,所述相邻路由器与所述路由器物理连接并间隔为1跳。
5.根据权利要求4所述的方法,其特征在于,所述控制器根据所述拓扑结构,获得每个所述路由器对应的路由表,并分别向每个所述路由器发送对应的路由表,包括:
所述控制器根据所述路由器与所述相邻路由器之间的所述相邻拓扑结构和预设策略,获得所述路由器与所述相邻路由器对应的路由表;
所述控制器将所述路由表发送给与所述路由表对应的所述路由器。
6.根据权利要求2-5任一项所述的方法,其特征在于,所述控制器根据所述拓扑结构,获得每个所述路由器对应的路由表,并分别向每个所述路由器发送对应的路由表之后,还包括:
所述控制器获取路由器变更信息,所述路由器变更信息为新增路由器、新增与所述路由器相连的链路、所述路由器失效、或者与所述路由器相连的链路失效:
所述控制器根据所述路由器变更信息获取新路由表,并向与所述新路由表对应的所述路由器发送所述新路由表。
7.根据权利要求2或3所述的方法,其特征在于,所述控制器获取路由器的变更信息,包括:
所述控制器向所述第一路由器或与所述第一路由器间隔为K跳的第K路由器发送拓扑信息变更查询请求,所述拓扑信息变更查询请求用以请求查询所述第一路由器的所述变更信息,所述第K路由器与所述控制器之间直接连接或间接连接,K为大于1的整数;
所述控制器接收所述第一路由器或所述第K路由器发送的拓扑信息变更查询响应,以获取所述第一路由器的所述变更信息。
8.根据权利要求2或3所述的方法,其特征在于,所述控制器获取路由器的变更信息,包括:
所述控制器接收所述第一路由器或第K路由器发送的拓扑信息上报请求,以获取所述第一路由器的所述变更信息,所述第K路由器与所述第一路由器间隔为K跳,所述第K路由器与所述控制器之间直接连接或间接连接,K为大于1的整数。
9.根据权利要求2或3所述的方法,其特征在于,所述控制器获取N个路由器之间的拓扑结构之前,还包括:
所述控制器向第一路由器发送邻居发现请求,所述邻居发现请求用以请求所述第一路由器的标识;或者
所述控制器根据接收到所述第一路由器发送的所述邻居发现请求,向所述第一路由器发送邻居发现响应,所述邻居发现请求用以请求与所述第一路由器相邻的所述控制器标识或所述路由器标识,所述邻居发现响应携带有所述控制器的所述控制器标识。
10.根据权利要求2或3所述的方法,其特征在于,所述第一拓扑发现请求与所述第一拓扑发现响应均携带有相同的内容名和所述控制器的标识和所述第一路由器的标识中的至少一种。
11.根据权利要求3所述的方法,其特征在于,第N拓扑发现请求与所述第N拓扑发现响应均携带有相同的内容名、所述控制器的标识和所述第M路由器的标识中的至少一种。
12.根据权利要求9所述的方法,其特征在于,所述邻居发现请求和所述邻居发现响应的关键字均为NeighborDiscovery。
13.根据权利要求2或3所述的方法,其特征在于,所述第一拓扑发现请求、所述第一拓扑发现响应的关键字均为CTL和RouteTo。
14.根据权利要求3所述的方法,其特征在于,所述第M拓扑发现请求和所述第M拓扑发现响应的关键字均为CTL和RouteTo。
15.根据权利要求4或5所述的方法,其特征在于,所述拓扑信息上报请求的关键字均为TopologyDiscovery。
16.根据权利要求7所述的方法,其特征在于,所述拓扑信息变更查询请求和所述拓扑信息变更查询响应的关键字均为CTL和NeighborInfoUpdate。
17.一种拓扑结构发现方法,所述方法用于信息中心网络,其特征在于,包括:
第一路由器向控制器发送网络中网络节点之间的拓扑结构,所述网络包括N个路由器,所述第一路由器为所述N个路由器中的一个,N为大于或等于1的整数,所述拓扑结构为所述N个路由器之间相互连接的形式;
所述第一路由器接收所述控制器发送的路由表,所述路由表为所述控制器根据所述拓扑结构生成的;
所述第一路由器接收所述控制器发送的路由表,包括:
所述第一路由器接收所述控制器发送的路由之后,存储在转发表中,并更新之前已有的相关路由;所述控制器发送的路由是所述控制器获得所述信息中心网络的所有拓扑结构之后,通过拓扑表存储的拓扑结构以及预设策略,计算出的路由;
所述第一路由器向所述控制器发送响应,所述响应是确认所述第一路由器已经接收到所述控制器发送的路由。
18.根据权利要求17所述的方法,其特征在于,所述第一路由器向控制器发送网络中网络节点之间的拓扑结构,包括:
所述第一路由器接收所述控制器发送的第一拓扑发现请求,所述第一拓扑发现请求用以请求所述第一路由器与第二路由器之间的第一拓扑结构,所述第一路由器与所述第二路由器之间物理连接并间隔为1跳;
所述第一路由器向所述控制器发送第一拓扑发现响应,所述第一拓扑发现响应中携带有所述第一路由器与第二路由器之间的所述第一拓扑结构。
19.根据权利要求17所述的方法,其特征在于,所述第一路由器向控制器发送网络中网络节点之间的拓扑结构,包括:
所述第一路由器通过广播方式向所述控制器发送拓扑信息上报请求,所述拓扑信息上报请求中携带有所述第一路由器与第二路由器之间的相邻拓扑结构,所述第一路由器与所述第二路由器之间直接物理连接并间隔为1跳;
所述第一路由器接收所述控制器发送的拓扑信息上报响应,所述拓扑信息上报响应中携带有从所述控制器到所述第一路由器的跳数,所述第一路由器根据所述跳数确定到所述控制器的路由,并将所述路由存储在所述第一路由器上设置的所述路由表中。
20.根据权利要求17-19任一项所述的方法,其特征在于,所述第一路由器向控制器发送网络中网络节点之间的拓扑结构之前,还包括:
所述第一路由器接收所述控制器发送的邻居发现请求,所述邻居发现请求用以请求所述第一路由器物理的标识;或者
所述第一路由器向所述控制器发送所述邻居发现请求之后,所述第一路由器接收所述控制器发送的邻居发现响应,所述邻居发现请求用以请求与所述第一路由器相邻的所述控制器标识或所述路由器标识,所述邻居发现响应携带有所述控制器标识。
21.根据权利要求17-19任一项所述的方法,其特征在于,所述第一路由器接收所述控制器路由表之后,还包括:
所述第一路由器向所述控制器发送网络中的变更信息,所述变更信息为所述网络中新增与所述第一路由器相连的链路、所述第一路由器失效、或者与所述第一路由器相连的链路失效;
所述第一路由器接收所述控制器发送的路由表。
22.根据权利要求21所述的方法,其特征在于,所述第一路由器向所述控制器发送网络中的变更信息,包括:
所述第一路由器接收所述控制器发送的拓扑信息变更查询请求,所述拓扑信息变更查询请求用以请求查询所述第一路由器的所述变更信息;
所述第一路由器向所述控制器发送拓扑信息变更查询响应,所述拓扑信息变更查询响应中携带有所述第一路由器的所述变更信息。
23.根据权利要求21所述的方法,其特征在于,所述第一路由器向所述控制器发送网络中的变更信息,包括:
所述第一路由器向所述控制器发送拓扑信息上报请求,以告知所述第一路由器的所述变更信息,所述拓扑信息上报请求中携带有所述第一路由器的所述变更信息。
24.根据权利要求18所述的方法,其特征在于,所述第一拓扑发现请求与所述第一拓扑发现响应均携带有相同的内容名、所述控制器的标识和所述第一路由器的标识中的至少一种。
25.根据权利要求19所述的方法,其特征在于,所述拓扑信息上报请求、所述拓扑信息上报响应均携带有相同的内容名、所述控制器的标识和所述第一路由器的标识中的至少一种。
26.根据权利要求20所述的方法,其特征在于所述邻居发现请求和所述邻居发现响应均携带有相同的内容名、所述控制器的标识和所述第一路由器的标识中的至少一种;和/或
所述邻居发现请求和所述邻居发现响应的关键字均为NeighborDiscovery。
27.根据权利要求18所述的方法,其特征在于,所述第一拓扑发现请求和所述第一拓扑发现响应的关键字均为CTL和RouteTo。
28.根据权利要求19所述的方法,其特征在于,所述拓扑信息上报请求、所述拓扑信息上报响应的关键字均为CTL和TopologyDiscovery。
29.根据权利要求22所述的方法,其特征在于,所述拓扑信息变更查询请求和所述拓扑信息变更查询响应的关键字均为CTL和NeighborInfoUpdate。
30.一种拓扑结构发现装置,所述装置用于信息中心网络,其特征在于,包括:
获取模块,用于获取N个路由器之间的拓扑结构,N为大于或等于1的整数,所述拓扑结构为所述N个路由器之间相互连接的形式;
处理模块,用于根据所述拓扑结构,获得每个所述路由器对应的路由表,并分别向每个所述路由器发送对应的路由表,所述路由表包括所述路由器与其他N-1个路由器之间的路由信息,和所述路由器与控制器之间的路由信息中的至少一种;
所述处理模块,具体用于:
获得所述信息中心网络的所有拓扑结构之后,通过拓扑表存储的拓扑结构以及预设策略,计算出路由;
将所述路由发送给相应的路由器,其中,所述相应的路由器将收到的所述路由存储在转发表中,并更新之前已有的相关路由;所述控制器接收所述相应的路由器发送的响应,其中,所述响应是确认所述相应的路由器已经接收到所述控制器发送的路由。
31.根据权利要求30所述的装置,其特征在于,所述获取模块,具体用于向第一路由器发送第一拓扑发现请求,所述第一拓扑发现请求用以请求所述第一路由器与第二路由器之间的第一拓扑结构,所述第一路由器与所述第二路由器之间物理连接并间隔为1跳,所述第一路由器与所述控制器之间物理连接并间隔为1跳;并接收所述第一路由器发送的第一拓扑发现响应,所述第一拓扑发现响应中携带有所述第一路由器与第二路由器之间的所述第一拓扑结构。
32.根据权利要求31所述的装置,其特征在于,所述获取模块,还用于向第M路由器发送第M拓扑发现请求,所述第M拓扑发现请求用以请求所述第M路由器与第N路由器之间的第M拓扑结构,所述第M路由器与所述第M+1路由器之间物理连接并间隔为1跳,所述第M路由器与所述控制器间隔为M跳,M为整数,M大于或等于2,并且M小于或等于N;并接收所述第M路由器发送的第M拓扑发现响应,所述第M拓扑发现响应中携带有所述第M路由器与所述第M+1路由器之间的所述第M拓扑结构。
33.根据权利要求30所述的装置,其特征在于,所述获取模块,具体用于接收所述路由器通过广播方式发送的拓扑信息上报请求,所述拓扑信息上报请求中携带有所述路由器与相邻路由器之间的相邻拓扑结构,所述相邻路由器与所述路由器物理连接并间隔为1跳。
34.根据权利要求33所述的装置,其特征在于,所述获取模块,具体用于根据所述路由器与所述相邻路由器之间的所述相邻拓扑结构和预设策略,获取所述路由器与所述相邻路由器对应的路由表;
所述处理模块,具体用于将所述路由表发送给与所述路由表对应的路由器。
35.根据权利要求31-34任一项所述的装置,其特征在于,所述获取模块,还用于获取所述路由器变更信息,所述路由器变更信息为新增路由器、新增与所述路由器相连的链路、所述路由器失效、或者与所述路由器相连的链路失效:
所述处理模块,还用于根据所述路由器变更信息获取新路由表,并向与所述新路由表对应的所述路由器发送所述新路由表。
36.根据权利要求31或32所述的装置,其特征在于,所述获取模块,具体用于向所述第一路由器或与所述第一路由器间隔为K跳的第K路由器发送拓扑信息变更查询请求,所述拓扑信息变更查询请求用以请求查询所述第一路由器的变更信息,所述第K路由器与所述控制器之间直接连接或间接连接,K为大于1的整数;并接收所述第一路由器或所述第K路由器发送的拓扑信息变更查询响应,以获取所述第一路由器的所述变更信息。
37.根据权利要求31或32所述的装置,其特征在于,所述获取模块,具体用于接收所述第一路由器或第K路由器发送的拓扑信息上报请求,以获取所述第一路由器的变更信息,所述第K路由器与所述第一路由器间隔为K跳,K为大于1的整数。
38.根据权利要求30-34任一项所述的装置,其特征在于,还包括,发送模块,用于向第一路由器发送邻居发现请求,所述邻居发现请求用以请求所述第一路由器的标识;或者
所述发送模块,用于根据接收到所述第一路由器发送的所述邻居发现请求,向所述第一路由器发送邻居发现响应,所述邻居发现请求用以请求与所述第一路由器相邻的所述控制器标识或所述路由器标识,所述邻居发现响应携带有所述控制器的所述控制器标识。
39.根据权利要求31或32所述的装置,其特征在于,所述第一拓扑发现请求与所述第一拓扑发现响应均携带有相同的内容名、所述控制器的标识和所述第一路由器的标识中的至少一种。
40.根据权利要求32所述的装置,其特征在于,所述第N拓扑发现请求与所述第N拓扑发现响应均携带有相同的内容名、所述控制器的标识和所述第M路由器的标识的至少一种。
41.根据权利要求38所述的装置,其特征在于,所述邻居发现请求和所述邻居发现响应的关键字均为NeighborDiscovery。
42.根据权利要求31或32所述的装置,其特征在于,所述第一拓扑发现请求、所述第一拓扑发现响应的关键字均为CTL和RouteTo。
43.根据权利要求32所述的装置,其特征在于,所述第M拓扑发现请求和所述第M拓扑发现响应的关键字均为CTL和RouteTo。
44.根据权利要求33或34所述的装置,其特征在于,所述拓扑信息上报请求的关键字均为TopologyDiscovery。
45.根据权利要求36所述的装置,其特征在于,所述拓扑信息变更查询请求和所述拓扑信息变更查询响应的关键字均为CTL和NeighborInfoUpdate。
46.一种拓扑结构发现装置,所述装置用于信息中心网络,其特征在于,包括:
发送模块,用于向控制器发送网络中网络节点之间的拓扑结构,所述网络包括N个路由器,所述路由器为所述N个路由器中的一个,N为大于或等于1的整数,所述拓扑结构为所述N个路由器之间相互连接的形式;
接收模块,用于接收所述控制器发送的路由表,所述路由表为所述控制器根据所述拓扑结构生成的;
所述接收模块,具体用于:
接收所述控制器发送的路由之后,存储在转发表中,并更新之前已有的相关路由;所述控制器发送的路由是所述控制器获得所述信息中心网络的所有拓扑结构之后,通过拓扑表存储的拓扑结构以及预设策略,计算出的路由;
向所述控制器发送响应,所述响应是确认第一路由器已经接收到所述控制器发送的路由。
47.根据权利要求46所述的装置,其特征在于,所述接收模块,用于接收所述控制器发送的第一拓扑发现请求,所述第一拓扑发现请求用以请求所述第一路由器与第二路由器之间的第一拓扑结构,所述第一路由器与所述第二路由器之间物理连接并间隔为1跳;并向所述控制器发送第一拓扑发现响应,所述第一拓扑发现响应中携带有所述第一路由器与第二路由器之间的所述第一拓扑结构。
48.根据权利要求47所述的装置,其特征在于,所述发送模块,具体用于通过广播方式向所述控制器发送拓扑信息上报请求,所述拓扑信息上报请求中携带有所述第一路由器与所述第二路由器之间的相邻拓扑结构,所述第一路由器与所述第二路由器之间直接物理连接并间隔为1跳;
所述接收模块,具体用于第一路由器接收所述控制器发送的拓扑信息上报响应,所述拓扑信息上报响应中携带有从所述控制器到所述第一路由器的跳数,所述第一路由器根据所述跳数确定到所述控制器的路由,并将所述路由存储在所述第一路由器上设置的所述路由表中。
49.根据权利要求46-48任一项所述的装置,其特征在于,所述接收模块,还用于接收所述控制器发送的邻居发现请求,所述邻居发现请求用以请求所述第一路由器物理的标识;或者
所述接收模块,还用于向所述控制器发送所述邻居发现请求之后,所述第一路由器接收所述控制器发送的邻居发现响应,所述邻居发现请求用以请求与所述第一路由器相邻的所述控制器标识或所述路由器标识,所述邻居发现响应携带有所述控制器标识。
50.根据权利要求46-48任一项所述的装置,其特征在于,所述发送模块,还用于向所述控制器发送网络中的变更信息,所述变更信息为所述网络中新增与所述第一路由器相连的链路、所述第一路由器失效、或者与所述第一路由器相连的链路失效;
所述接收模块,还用于接收所述控制器发送的路由表。
51.根据权利要求50所述的装置,其特征在于,所述接收模块,具体用于接收所述控制器发送的拓扑信息变更查询请求,所述拓扑信息变更查询请求用以请求查询所述第一路由器的所述变更信息;
所述发送模块,具体用于向所述控制器发送拓扑信息变更查询响应,所述拓扑信息变更查询响应中携带有所述第一路由器的所述变更信息。
52.根据权利要求50所述的装置,其特征在于,所述发送模块,具体用于向所述控制器发送拓扑信息上报请求,以告知所述第一路由器的所述变更信息,所述拓扑信息上报请求中携带有所述第一路由器的所述变更信息。
53.根据权利要求47所述的装置,其特征在于,所述第一拓扑发现请求与所述第一拓扑发现响应均至少携带有相同的内容名和所述控制器的标识和所述第一路由器的标识中的至少一种。
54.根据权利要求48所述的装置,其特征在于,所述拓扑信息上报请求、所述拓扑信息上报响应均携带有相同的内容名、所述控制器的标识和所述第一路由器的标识中的至少一种。
55.根据权利要求49所述的装置,其特征在于,所述邻居发现请求和所述邻居发现响应均携带有相同的内容名、所述控制器的标识和所述第一路由器的标识中的至少一种;和/或
所述邻居发现请求和所述邻居发现响应的关键字均为NeighborDiscovery。
56.根据权利要求47所述的装置,其特征在于,所述第一拓扑发现请求和所述第一拓扑发现响应的关键字均为CTL和RouteTo。
57.根据权利要求48所述的装置,其特征在于,所述拓扑信息上报请求、所述拓扑信息上报响应的关键字均为CTL和TopologyDiscovery。
58.根据权利要求51所述的装置,其特征在于,所述拓扑信息变更查询请求和所述拓扑信息变更查询响应的关键字均为CTL和NeighborInfoUpdate。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310318048.2A CN104348732B (zh) | 2013-07-25 | 2013-07-25 | 拓扑结构发现方法及装置 |
EP14829989.4A EP2999174B1 (en) | 2013-07-25 | 2014-07-01 | Topology structure discovery method and device |
PCT/CN2014/081347 WO2015010519A1 (zh) | 2013-07-25 | 2014-07-01 | 拓扑结构发现方法及装置 |
US14/996,799 US10291510B2 (en) | 2013-07-25 | 2016-01-15 | Topology structure discovery method and device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310318048.2A CN104348732B (zh) | 2013-07-25 | 2013-07-25 | 拓扑结构发现方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104348732A CN104348732A (zh) | 2015-02-11 |
CN104348732B true CN104348732B (zh) | 2018-09-07 |
Family
ID=52392688
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310318048.2A Active CN104348732B (zh) | 2013-07-25 | 2013-07-25 | 拓扑结构发现方法及装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10291510B2 (zh) |
EP (1) | EP2999174B1 (zh) |
CN (1) | CN104348732B (zh) |
WO (1) | WO2015010519A1 (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11184240B2 (en) | 2015-07-10 | 2021-11-23 | Idac Holdings, Inc. | Path information updates in information-centric networking |
CN107181775B (zh) * | 2016-03-10 | 2020-09-04 | 北京大学 | 内容中心网络中的路由选择方法及路由选择装置 |
US10218453B2 (en) * | 2016-04-27 | 2019-02-26 | Juniper Networks, Inc. | Methods and apparatus for logical associations between routers and optical nodes within a wavelength division multiplexing (WDM) system |
CN112134724A (zh) * | 2016-06-16 | 2020-12-25 | 华为技术有限公司 | 一种路径确定方法、装置和系统 |
CN106487684B (zh) * | 2016-11-08 | 2019-05-10 | 中国电子科技集团公司第二十研究所 | 一种基于链路质量和排队时延的路由方法 |
EP4049432A1 (en) * | 2019-10-23 | 2022-08-31 | Nokia Technologies Oy | Exploration data for network optimization |
CN113891191B (zh) * | 2021-09-24 | 2023-08-15 | 中移(杭州)信息技术有限公司 | 光路拓扑还原方法、装置、设备及计算机可读存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1794715A (zh) * | 2004-12-20 | 2006-06-28 | 三星电子株式会社 | 多协议标记交换(mpls)网络的集中控制 |
CN101572900A (zh) * | 2009-06-12 | 2009-11-04 | 华为技术有限公司 | 网络拓扑检测方法和装置、基站控制器以及节点 |
CN102204188A (zh) * | 2011-05-25 | 2011-09-28 | 华为技术有限公司 | 虚拟网络单元中的路由计算方法和主节点设备 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7426577B2 (en) * | 2003-06-19 | 2008-09-16 | Avaya Technology Corp. | Detection of load balanced links in internet protocol netwoks |
US20050071469A1 (en) * | 2003-09-26 | 2005-03-31 | Mccollom William G. | Method and system for controlling egress traffic load balancing between multiple service providers |
US20070070983A1 (en) * | 2005-09-28 | 2007-03-29 | Bbn Technologies Corp. | Methods and apparatus for improved efficiency communication |
US9929919B2 (en) * | 2012-10-30 | 2018-03-27 | Futurewei Technologies, Inc. | System and method for virtual network abstraction and switching |
US9439145B2 (en) * | 2012-11-05 | 2016-09-06 | Silver Spring Networks, Inc. | Approach for extended battery life network nodes |
-
2013
- 2013-07-25 CN CN201310318048.2A patent/CN104348732B/zh active Active
-
2014
- 2014-07-01 EP EP14829989.4A patent/EP2999174B1/en active Active
- 2014-07-01 WO PCT/CN2014/081347 patent/WO2015010519A1/zh active Application Filing
-
2016
- 2016-01-15 US US14/996,799 patent/US10291510B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1794715A (zh) * | 2004-12-20 | 2006-06-28 | 三星电子株式会社 | 多协议标记交换(mpls)网络的集中控制 |
CN101572900A (zh) * | 2009-06-12 | 2009-11-04 | 华为技术有限公司 | 网络拓扑检测方法和装置、基站控制器以及节点 |
CN102204188A (zh) * | 2011-05-25 | 2011-09-28 | 华为技术有限公司 | 虚拟网络单元中的路由计算方法和主节点设备 |
Also Published As
Publication number | Publication date |
---|---|
CN104348732A (zh) | 2015-02-11 |
EP2999174A1 (en) | 2016-03-23 |
US10291510B2 (en) | 2019-05-14 |
US20160134510A1 (en) | 2016-05-12 |
WO2015010519A1 (zh) | 2015-01-29 |
EP2999174A4 (en) | 2016-07-20 |
EP2999174B1 (en) | 2019-08-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104348732B (zh) | 拓扑结构发现方法及装置 | |
US10205681B2 (en) | Method for operating controller and switch for relieving network failure from SDN, and controller and switch therefor | |
US9094285B2 (en) | Automatic discovery of multiple controllers in Software Defined Networks (SDNs) | |
CN103477571B (zh) | 无线通信系统中点对点服务的方法和装置 | |
US9495326B2 (en) | Providing communication path information in a hybrid communication network | |
US8451744B2 (en) | Partitioning directed acyclic graph (DAG) topologies | |
CN108432192B (zh) | 流量转移方法和系统以及计算机可读存储介质 | |
US7623533B2 (en) | Switch meshing using multiple directional spanning trees | |
US8406153B2 (en) | Affecting node association through load partitioning | |
CA2931515A1 (en) | Multi-domain source routed forwarding based on collaborating network controllers | |
JP6893583B2 (ja) | 指定フォワーダ選択 | |
CN109644383A (zh) | 通信系统、通信装置和程序 | |
Ahmadi et al. | A hybrid algorithm for preserving energy and delay routing in mobile ad-hoc networks | |
CN107318141A (zh) | 一种数据传输的方法、设备及系统 | |
JPH04219036A (ja) | ネットワークにおけるメッセージ送信設備及びその経路選択制御方法 | |
JP2011223394A (ja) | ノード及び無線通信システム | |
CN105282829A (zh) | 一种连接网络的方法及无线音箱 | |
CN104053208B (zh) | 无线自组网中基于信道分配的路由方法、装置 | |
CN107548120A (zh) | 临空通信网络的路由方法和装置 | |
KR20110122947A (ko) | 허브 및 가상 그룹에 속하는 송, 수신 단말의 통신 방법 | |
CN102891799B (zh) | 一种选择路由的方法及设备 | |
US8509245B1 (en) | Polymorphic routing for dynamic networks | |
CN114172842B (zh) | 一种数据传输处理方法、装置、设备及可读存储介质 | |
WO2022040976A1 (en) | Unified graphical user interface for devices in a wireless network | |
Yassine et al. | A review of SDN‐enabled routing protocols for Named Data Networking |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |