CN100514928C - 一种快速生成网络设备树状拓扑结构的方法 - Google Patents
一种快速生成网络设备树状拓扑结构的方法 Download PDFInfo
- Publication number
- CN100514928C CN100514928C CNB2005100773551A CN200510077355A CN100514928C CN 100514928 C CN100514928 C CN 100514928C CN B2005100773551 A CNB2005100773551 A CN B2005100773551A CN 200510077355 A CN200510077355 A CN 200510077355A CN 100514928 C CN100514928 C CN 100514928C
- Authority
- CN
- China
- Prior art keywords
- equipment
- line
- couplet
- roots
- message
- 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
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种快速生成网络设备树状拓扑结构的方法,该方法包括以下步骤:1.将所要管理的网络设备连接成树状网络结构,并将其认为是一个“管理域”;2.将“管理域”内最上层的一台设备指定为“代理设备”;3.“管理域”内的各设备之间进行信息交互,收集自己上层链路设备的信息,使每台设备建立完成自己的“上联设备信息表”;4.各个设备根据自己的“上联设备信息表”进行链路计算,得出自己的父设备和代理设备,并将计算结果发送给“代理设备”;5.由“代理设备”对域内各设备的计算结果进行记录和信息整合,生成整个“管理域”内设备的拓扑结构;6.重复执行第3~第5步,定期进行拓扑结构的维护及故障处理。
Description
技术领域
本发明涉及网络设备拓扑结构的生成方法,更具体地说,涉及一种针对组成树状网络的大规模网络设备,快速、准确、及时地生成其拓扑结构的方法。
背景技术
近几年,中国的宽带接入技术发展迅速,这为宽带接入提供了巨大的商机,使得越来越多的用户可以通过宽带登录互联网。
在宽带运营商根据需要扩大网络规模、增加网络设备的同时,他也面临着因为网络规模的扩大和网络设备数量的增加而带来的对宽带网络和设备管理的困难。
在通常的网络接入中,网络运营商会在其管理中心设置少量的管理设备,通过管理设备对连接在网络中的数量巨大而管理级别较低的网络设备进行管理和简单的故障诊断、处理。为了实现对网络中的各个网络设备进行管理的目的,管理者必须准确、及时地掌握网络中各个网络设备的物理连接结构,即网络设备的拓扑结构,只有这样才能提高管理效率、及时发现网络故障、降低网络运营成本。因此,如何快速、准确、及时地生成网络设备拓扑结构就成为一个非常重要的问题。
发明内容
由于在网络设备接入时,一般从管理中心到社区和楼道,网络设备通常都连接成树状结构,所以,本发明的目的是提供一种针对组成树状网络的大规模网络设备,快速、准确、及时地生成其拓扑结构的方法。
为实现上述目的,本发明采用以下技术方案:一种快速生成网络设备树状拓扑结构的方法,该方法包括以下步骤:
第一步:将所要管理的网络设备连接成树状网络结构,并将其认为是一个“管理域”,作为拓扑结构生成对象;
第二步:在这个“管理域”中,将处于这个树状网络最上层的一台设备指定为“代理设备”;
第三步:使“管理域”内的各个设备之间进行信息交互,收集自己上层链路设备的信息,从而,使每台设备建立完成自己的“上联设备信息表”;
第四步:各个设备根据自己的“上联设备信息表”进行链路计算,比较计算得出自己的父设备和代理设备,并将计算结果发送给“代理设备”;
第五步:由“代理设备”对域内各设备计算结果进行记录,然后将收集到的信息进行整合,生成整个“管理域”内设备的拓扑结构;
第六步:重复执行第三步~第五步,定期进行拓扑结构的维护及故障处理。
所述第三步“管理域”内的各个设备之间进行信息交互,收集自己上层链路设备的信息,每台设备建立完成自己的“上联设备信息表”又由以下步骤完成:
(1)管理域中的每台设备每隔一定间隔发送一次寻根请求
(2)管理域内的设备对其下联设备的寻根请求发送寻根应答
(a)、寻根应答的接收:下联设备接收其上联设备发送的寻根应答,并进行解析,在设备内生成自己的“上联设备信息表”。
(b)、寻根应答的发送:当上联设备收到其下联设备发送的寻根请求后,根据其自己的“上联设备信息表”发送寻根应答
(3)在设备收到来自上联设备的寻根应答后,即发送寻根应答确认。
所述第四步中的链路计算方法是:将“上联设备信息表”中的各条记录进行比较,选择各记录中“上联设备的上联设备个数”最多的一条记录;因为如果此记录中“上联设备的上联设备个数”个数最多,说明记录中的这个上联设备到顶级“代理设备”的路径最长,也就说明这个上联设备是在本链路中离自己最“近”的一个上联,则这个上联设备即为自身的父设备。
所述第五步中由“代理设备”对这些计算结果进行接收记录,然后将收集到的信息进行整合,生成整个“管理域”内设备的拓扑结构由以下步骤完成:
(1)、由“代理设备”收集其下的所有设备发送的父子信息,生成“父子关系表”:
(2)“代理设备”根据网络管理员的指令,依据其“父子关系表”生成该“管理域”的拓扑结构
(a)、查找“代理设备”的所有一级子设备
(b)、查找“代理设备”的各个一级子设备的子设备
(c)、逐级类推,最终查找出“代理设备”各级子设备的子设备,生成此“代理设备”下的网络设备的树状拓扑结构。
本发明在网络拓扑结构生成过程中,“管理域”中的每台设备都主动发现、计算其父设备和代理设备,并将信息报告给“管理域”中的“代理设备”,由“代理设备”生成该“管理域”的拓扑结构。“非代理设备”只进行信息的收集和计算,而“代理设备”才进行信息的收集、整理和拓扑结构的生成,平均了各个设备的负荷,使得拓扑生成过程中,设备间握手次数和报文传递大大的减少,提高了拓扑结构生成的效率,减轻了网络负荷,所以,本发明提供的拓扑结构生成方法快速、及时、有效。
另外,本发明提供的拓扑结构生成方法可以架构于任何标准OSI模型的数据链路层之上进行数据传输,由此可以不限定特定的数据链路层,即只要有数据链路支持,就可以进行网络拓扑发现。这对于在网络通信设备组成的网络中有较大的优势,由于不依赖网络层的支持,即可以在网络通信设备没有配置有效IP的情况下进行拓扑发现,这样对于IP资源匮乏的运营商来说可以节省大量的有效IP地址。
附图说明
图1为树状网络结构示意图
图2为本发明公开的拓扑结构生成方法流程图
图3为图1中的设备对其下联设备的寻根请求应答过程示意图
图4为两个代理设备的拓扑结构示意图
图5为本发明代理设备生成拓扑结构流程图
图6为GNMP协议族协议结构图
图7为本发明设备通信时数据封装和传输过程图
具体实施方式
由于在网络设备接入时,一般从管理中心到社区和楼道,网络设备通常都连接成如图1所示的树状结构,所以,本发明针对组成树状网络的大规模网络设备,提出了一种快速生成其拓扑结构的方法。该方法如图2所示包括以下步骤:
第一步:将所要管理的网络设备连接成树状网络结构,并将其认为是一个“管理域”,作为拓扑结构生成对象;
第二步:在这个“管理域”中,将处于这个树状网络最上层的一台设备指定为“代理设备”;
第三步:使“管理域”内的各个设备之间进行信息交互,收集自己上层链路设备的信息,从而,使每台设备建立完成自己的“上联设备信息表”;
第四步:各个设备根据自己的“上联设备信息表”进行链路计算,比较计算得出自己的父设备和代理设备,并将计算结果发送给“代理设备”;
第五步:由“代理设备”对域内各设备的计算结果进行记录,然后将收集到的信息进行整合,生成整个“管理域”内设备的拓扑结构;
第六步:重复执行第三步~第五步,定期进行拓扑结构的维护及故障处理。
下面结合附图和图表,详细地说明本发明生成树状网络拓扑结构的方法。
该方法包括以下步骤:
第一步:将所要管理的网络设备连接成如图1所示的树状网络结构,并将其认为是一个“管理域”,作为拓扑结构生成对象。
第二步:在这个“管理域”中,将处于这个树状网络最上层的一台设备指定为“代理设备”。
如图1所示,在这个“管理域”中,将处于这个树状网络最上层的设备A指定为“代理设备”。具体方法可以通过对A设备的一个属性状态位进行设置来实现。在本发明中,被指定为“代理设备”的A设备为“管理域”的根设备,最终由它生成整个网络的拓扑结构。
第三步:使“管理域”内的各个设备之间进行信息交互,收集自己上层链路设备的信息,从而,使“管理域”内的每台设备建立完成自己的“上联设备信息表”。
在图1所示的管理域中,设备间的物理拓扑关系由上至下类似于倒置的树状结构。从管理域的最顶端设备A到最底端设备D1、C2、C3形成有三条链路,如A→B1→C1→D1,A→B1→C2,A→B2→C3。在信息交互环节中,其目的就是通过设备间的数据通信,使得每台设备均得到本链路中自己的上联设备信息。
具体通过以下步骤实现:
(1)管理域中的每台设备每隔一定间隔发送一次寻根请求
目的是:对域内的所有上联设备进行信息请求,请求获得这些上联设备的应答。
具体操作:每台网络设备开始工作后,就以一定的时间间隔连续发送N次寻根请求广播信息,发送N次请求的目的是为了使自己上联的所有设备都得到自己的请求信息。发送完成后,将自身的状态位——“寻根请求完成状态”置位,表示自己已经发送完成N次寻根请求信息。
(2)寻根应答:对来自下联设备的寻根请求发送寻根应答。
当网络设备只有收到来自其下联设备的寻根广播后,才对请求设备发送点对点的应答信息,目的是将自己的信息以及自己收集的所有上联设备信息应答给发送请求的这个下联设备;而设备在对下联设备进行寻根应答的同时,也会收到来自上联设备对自己寻根请求的应答,将应答报文中的各上联设备信息进行记录。所有设备通过对寻根应答报文的接收和发送,使得域内各个设备可以得到自己所有上联设备的信息。
(a)、寻根应答的接收:下联设备接收其上联设备发送的寻根应答,并进行解析,在设备内生成自己的“上联设备信息表”。
每台设备都有一个“上联设备信息表”,设备每收到一个上联设备对自己的寻根应答信息后,就对寻根应答信息进行信息解析,将信息中记录的这个上联设备、这个上联设备的属性特征和这个上联设备的各个上联设备都记录下来,做成如下所示的“上联设备信息表”,该表中包括:
应答上联设备标识 | 该应答上联设备的属性 | 该应答上联设备的上联设备数 | 该应答上联设备的上联设备标识 | |
应答上联设备1的标识 | 上联设备1的属性 | 上联设备1的上联设备个数 | 上联设备1的各个上联设备标识 | 记录时间 |
应答上联设备2的标识 | 上联设备2的属性 | 上联设备2的上联设备个数 | 上联设备2的各个上联设备标识 | 记录时间 |
...... | ...... | ...... | ...... | ...... |
应答上联设备N的标识 | 上联设备N的属性 | 上联设备N的上联设备个数 | 上联设备N的各个上联设备标识 | 记录时间 |
表1
其中,“标识”是指应答设备的数据链路层通信标识,如基于以太网的网络交换设备数据传输,设备的标识即为MAC地址。“属性”指的是应答设备是否为“代理设备”。“上联设备的上联设备数”记录此应答设备的所有上联设备个数;“上联设备的各个上联设备标识”记录了这个应答设备的各个上联设备标识。“记录”时间表示记录此条信息的时间。
具体接收处理操作如下:设备对自身接收到的来自上联设备发送的寻根应答信息进行解析,将应答中携带的应答上联设备标识和属性,以及这个上联设备的各个上联设备标识记录到“上联设备信息表”中,并填入记录这些信息的时间。
(b)、寻根应答的发送:当上联设备收到其下联设备发送的寻根请求后,根据其自己的“上联设备信息表”发送寻根应答。
各个设备在接收的同时也会对来自下联的请求进行寻根应答。寻根应答信息就是根据自己的“上联设备信息表”中的信息记录来填充。
应答具体操作如下:每台设备都会收到来自上联和下联的寻根请求广播,但寻根请求的目的是对上联设备的发现,因此设备只需对从下联口处接收到的寻根请求进行应答。
设备每收到一个来自下联的寻根请求,便对发送寻根请求的设备回应一个寻根应答;在应答信息中,依次填入如下信息:
a.本设备的标识信息;
b.本设备的属性特征(即是否为“代理设备”);
c.本设备“上联设备信息表”记录的各个应答上联设备标识,即本设备此时收集到的各个应答上联设备信息。
例如:图1中链路A→B1→C1→D1中各设备对其下联设备的寻根请求的应答过程如图3所示:
在A对B1、A对C1、A对D1的应答中包含的信息为A设备自己的标识和属性;在B1对C1、B1对D1的应答中包含的信息为B1设备自己的标识和属性,以及它的上联设备A的标识;在C1对D1的应答中包含的信息为C1设备自己的标识和属性,以及它的上联设备B1、上联设备A的标识。
通过设备间的信息交互,即设备间的寻根请求、寻根请求的应答以及寻根应答的发送与接收,图1中的网络设备D1的“上联设备信息表”中就记录了以下三条信息:
上联设备标识 | 该上联设备的属性 | 该上联设备的上联设备数 | 上联设备的上联设备标识 | |
上联设备C1 | 非代理设备 | 它还有2个上联设备 | B1、A | 接收时间 |
上联设备B1 | 非代理设备 | 它还有1个上联设备 | A | 接收时间 |
上联设备A | 代理设备 | 它还有0个上联 | 无 | 接收时间 |
表2
由这个表可以看出,通过寻根应答信息的解析记录,每台设备的“上联设备信息表”中实际记录下了自己所在链路中,每台设备到“代理设备”的链路信息。
由于每台设备都会发送N次寻根请求信息,在通信正常的情况下,设备也会收到N个来自某个上联的寻根应答(如果某设备所在链路有M个上联设备,则一共会收到M×N个寻根应答信息)。各个设备通过对应答信息的接收和解析,它们的“上联设备信息表”中就可以完备的记录下自己所在链路中的每台上联设备和这个上联设备的所有上联设备。
(3)在设备收到来自上联设备的寻根应答后,即发送寻根应答确认。
目的是通知上联设备寻根应答信息已被收到。具体操作:设备收到上联设备对自己的寻根应答即给发送方回应一个应答确认信息;寻根应答发送完成后在N时间内未收到确认报文,就会重发一次应答信息,直到收到相应的应答确认信息或者重发次数超出限值。此确认信息可以保证“上行链路发现”的完备性和稳定性。
在信息交互环节中,通过设备间“请求”→“应答”→“确认应答”几次信息的交互,每台设备的“上联设备信息表”就记录完备了计算链路所需的上行链路所有信息。
第四步:各个设备根据自己的“上联设备信息表”进行链路计算,比较计算得出自己的父设备和代理设备,并将计算结果发送给“代理设备”。
在上一步完成后,每台设备的“上联设备信息表”中都记录了自己的每台上联设备及相关信息,实际上就相当于记录下了自己上行链路中每台上联设备到“代理设备”的链路信息。链路计算就是根据“上联设备信息表”的这些信息进行计算,得出父子信息和代理信息。
方法是:将“上联设备信息表”中的各条记录进行比较,选择各记录中“上联设备的上联设备个数”最多的一条记录;因为如果此记录中“上联设备的上联设备个数”个数最多,说明记录中的这个上联设备到顶级“代理设备”的路径最长,也就说明这个上联设备是在本链路中离自己最“近”的一个上联,则这个上联设备即为自身的父设备。
如表2中所示,D1“上联设备信息表”记录的信息中,C1有B1和A两个上联设备,B1有A一个上联设备,A的上联设备数为0,则记录中的C1的上联设备数最多,也就说明C1是在链路中离D1最近的一个上联设备,即C1是D1的父设备。
同理:C1根据其“上联设备信息表”可以确认B1是它的父设备;A是B1的父设备。
同样,根据此方法,每台设备根据自己的“上联设备信息表”确定在本链路中自己的代理设备。
当网络中出现如图4所示的不同管理域时,即本设备的上行链路中有几台设备属性均为“代理设备”时,可以根据这几个“代理设备”的“上联设备的上联设备个数”多少,来得出链路中离自己“最近”的代理来,认为这个“代理设备”即为自己所在“管理域”的“代理设备”。例如:在D1的链路中如果B1和A均为“代理设备”属性,则根据链路长短,可以计算得出B1是离D1最近的“代理设备”,D1属于以B1为代理的管理域,记录B1为自己的代理设备。
在此算法中,由于网络故障或环境恶劣造成的信息丢失,可能会使各设备收集的上联设备信息不完备,从而造成计算错误,但是这种错误会随着维护过程中对信息的进一步收集完善来解决。
第五步:由“代理设备”对域内各设备的计算结果进行记录,然后将收集到的信息进行整合,生成整个“管理域”内设备的拓扑结构;
(1)、“代理设备”收集其下的所有设备发送的父子信息,生成“父子关系表”
如:“代理设备”A生成的“父子关系表”为:
子设备标识 | 子设备属性 | 其父设备标识 | 其父设备属性 | 记录时间 |
B1标识 | 非代理设备 | A标识 | 代理设备 | 记录时间 |
B2标识 | 非代理设备 | A标识 | 代理设备 | 记录时间 |
C1标识 | 非代理设备 | B1标识 | 非代理设备 | 记录时间 |
C2标识 | 非代理设备 | B1标识 | 非代理设备 | 记录时间 |
C3标识 | 非代理设备 | B2标识 | 非代理设备 | 记录时间 |
D1标识 | 非代理设备 | C1标识 | 非代理设备 | 记录时间 |
表3
(2)“代理设备”根据网络管理员的指令,依据其“父子关系表”生成该“管理域”的拓扑结构
在通常情况下,“代理设备”只是保存本“管理域”的“父子关系表”,并不生成拓扑结构,这样可以减少计算量、节省存储空间,并且方便父子信息的记录更新。
只有当管理员向“代理设备”发出拓扑查询指令时,“代理设备”即根据“父子关系表”中记录的各条父子关系信息,进行信息整合,得出拓扑结构来。具体方法如图5所示:
(a)、查找“代理设备”的所有一级子设备
顺序查找“父子关系表”各条记录中“其父设备属性”一栏为“代理设备”的所有记录,这些记录中的“子设备”就是“代理设备”的一级子设备;
根据表3,可以查找出代理设备A的所有子设备为B1和B2。
(b)、查找“代理设备”的各个一级子设备的子设备
依照上述方法,逐个查找“代理设备”的各个一级子设备是否为“父子关系表”中各条记录的“父设备信息”,从而找出代理设备各个一级子设备的所有子设备,即代理设备的二级子设备。
根据表3,可以查找出B1的子设备为C1和C2,B2的子设备为C3。
(c)、逐级类推,最终查找出“代理设备”各级子设备的子设备,生成此“代理设备”下的网络设备的树状拓扑结构。
第六步:重复执行第三步~第五步,定期进行拓扑的维护及故障处理。
当各个设备在完成初始的链路发现和计算后,直接进入维护状态,对首次发现中的错误进行纠正,并且动态对拓扑变化进行更新。
在维护状态中,设备仍会定时发送寻根请求报文,从而发起一次新的信息交互过程,然后对新的信息进行计算,并将计算结果报告给代理,这样“代理设备”就可以不断的更新域内设备的父子关系信息。通过这样的定时维护,可以做到:
1.错误纠正。由于信息交互的不断进行,各个设备得到的上行链路信息也就更加完备,这样可以将首次拓扑发现中由于信息不完备造成的错误进行更正;
2.动态更新。当拓扑结构发生变化或添加新设备时,由于设备定期进行的信息交互和计算报告,及时对变化的状态进行了信息更新,从而维护了新的拓扑结构。
3.老化更新删除设备。在维护状态中,各个设备也会对“上联设备信息表”和“父子关系表”进行定期的刷新老化,根据各表中表项的记录时间将超过老化期的信息项予以删除,这样可以将已不在域内工作的设备从拓扑结构中去除。
下面以利用运行于OSI数据链路层上的自定义协议-----长城网络管理协议(简称GNMP协议)进行信息交互和数据通信的组成树状结构的网络设备为例,说明本发明提供的网络拓扑结构生成方法是如何快速、准确、及时地生成其拓扑结构的。
GNMP协议是一组自定义的网络管理协议族。此协议为一个三层协议***,是一组分布在网络层、传输层和应用层的多个协议的组合。一般情况下,GNMP协议直接架构在OSI模型中的数据链路层之上的,但在特殊情况下它可以被架构在其它协议层之上。本协议族中的其它所有自定义协议如GNAP协议和GTDP协议数据均以GNMP数据包格式进行传输。
GNAP协议(长城网络应用协议)是GNMP协议的一个简单应用协议,为传输层协议;GTDP协议(长城设备拓扑发现协议)是基于GNAP协议的设备拓扑自动发现协议,为应用层协议;三者关系如图6所示。
下面对GNMP协议、GNAP协议和GTDP协议的报文格式进行如下说明:
GNMP协议报文格式为:
表4
其中:
版本:4bit,协议版本,定义不同的报文格式,此文档描述的版本为0001;
长度:12bit,整个报文长度;
保留:8bit,保留;
保留:8bit,保留;
状态:8bit,标识设备状态;
保留:8bit,保留;
保留:8bit,保留;
类型:8bit,协议报文类型,定义了0x07为GTDP报文
保留:8bit,保留;
目的ID:24bit,目的设备标识;
源ID:24bit,源设备标识;
保留:8bit,保留;
数据:208~11840bit,填充GNAP首部及其数据区部分;
填充码:16bit,填充码,必须是0x00;
校验计数:16bit,整个报文数据的16位累加和。
GNAP协议报文格式
表5
目的操作码:16bit,目标操作码;
源操作码:16bit,源操作码;
状态:16bit,状态;
保留:16bit,保留;
目标系列号:16bit,目标系列号;
源系列号SN:16bit,源系列号;
数据:数据,长度可变,填充GTDP协议不同报文的首部和数据区。
应用层的GTDP协议是基于GNAP协议的设备拓扑自动发现协议,为应用层协议。GNAP协议的目的操作码用于标识区分GTDP协议中不同的操作报文类型。GTDP中不同的操作报文标识如下:
0x0011 | 寻根报文 |
0x0012 | 寻根应答报文 |
0x0018 | 寻根应答确认报文 |
0x0019 | 父子关系信息通知报文 |
表6
GTDP报文格式
表7
保留:8bit,保留;
源设备状态:8bit,源设备的状态,“1”表示是代理;
源ID:24bit,源设备的标识;
源Mac首字段:32bit,源设备Mac地址的前4个Byte;
源Mac尾字段:16bit,源设备Mac地址的后2个Byte;
源IP:32bit,源设备的IP地址;
源S/N:152bit,源设备S/N;
发送寻根次数:8bit,发送寻根的次数;
连接端口:8bit,在发送寻根应答报文时有效,表示所在上连设备的端口号;
代理设备ID:24bit,代理设备的标识;
代理设备状态:8bit,所属域代理设备的状态;
代理Mac首字段:32bit,根设备Mac地址的前4个Byte;
代理Mac尾字段:16bit,根设备Mac地址的后2个Byte;
代理IP:32bit,根设备的IP地址;
第一数据区长度:8bit,第一块数据区的长度,长度以字节数记;
第二数据区长度:8bit,保留;
本身的层次:8bit,保留;
本拓扑最大层数:8bit,保留;
第一个ID:24bit,保留;
数值:8bit,保留;
设备ID:24bit,保留;
数据:填充数据,长度可变,根据GTDP不同的报文包含不同长度的数据,
下面的表格说明不同报文对应的数据区内容。
表8
在本实施例中,树状网络设备其拓扑结构生成方法是:
第一步:将所要管理的网络设备连接成如图1所示的树状网络结构,并将其认为是一个“管理域”。
第二步:在这个“管理域”中,将处于这个树状网络最上层的一台设备A指定为“代理设备”。
第三步:使“管理域”内的各个设备之间按照GNMP协议、GNAP协议和GTDP协议格式进行信息交互,收集自己上层链路设备的信息,建立完成自己的“上联设备信息表”。
在整个拓扑结构生成过程中,“管理域”中的每台设备所发送、接收的信息如发送寻根请求、进行寻根请求应答、发送寻根请求应答确认和进行父子关系信息报告都先按照GNMP协议族中各层协议格式填充完整GNMP报文;然后,将其构架于数据链路层之上进行数据通信;同时,对接收到的报文也按照GNMP协议族中各层协议格式进行解析,从而完成设备间的信息交互。
“管理域”中的每台设备所发送、接收的信息都是按照GTDP协议报文、GNAP报文和GNMP报文的顺序进行填充,具体步骤如下:
(1)填充GTDP报文
根据发送报文的类型将需要发送的数据信息填入表7所示的GTDP协议的“数据区”,然后,封装GTDP协议报文的首部信息,组成符合GTDP协议的应用数据。
如寻根请求报文、寻根应答报文、寻根应答确认报文、父子关系通知报文等,首先,按照GTDP协议中定义的报文类型标号和相应报文类型中需要填充的信息进行填充,然后,封装GTDP报文的首部信息,组成符合GTDP协议的应用数据。
(2)填充GNAP报文首部
将填写好的应用数据填写到GNAP协议报文的“数据区”中,然后根据发送报文的类型,填充GNAP报文首部,组成符合GNAP协议的传输数据。
(3)填充GNMP报文首部
将填充好GNAP报文首部信息的报文嵌入到GNMP协议报文的“数据区”中,然后根据GNMP协议中的定义填写GNMP报文的其它数据信息
经过上面三步数据填充,就完成了一个完整的GNMP报文填充,将此报文通过数据链路层进行传输就可以实现设备间的数据通信。
在这样的数据通信机制中,由于GNMP协议报文直接架构于数据链路层之上,只要有数据链路层的支持,就可以进行设备间的数据通信。而在GNMP协议族网络层协议中定义的源ID和目的ID为自定义的设备标识,类似于TCP/IP协议中的IP,设备是否具有有效ID并不影响设备间的数据传输,即本实施例提出的优点之一——拓扑生成方法可以在没有网络层支持的情况下,进行数据通信,从而生成网络设备拓扑结构。
如果将本例的GNMP协议构架到基于以太网的数据链路层上,则在GNMP报文前封装一个以太网首部即可通过以太网物理介质进行数据传输,则本例中设备通信时的数据封装和传输过程如图7所示。
按照GTDP报文、GNAP报文和GNMP报文的顺序填充好的信息,在“管理域”内的各个设备之间进行信息交互的具体过程是:
(1)管理域中的每台设备每隔一定间隔发送一次寻根请求报文
具体操作:每台设备开始工作,就以一定的时间间隔连续发送N次寻根请求广播报文,发送N次请求的目的是为了使自己上联的所有设备都得到自己的请求信息。每发送一次寻根请求报文就进行发送次数累计,下一次寻根请求发送就将这个累计的发送次数填入GTDP报文的“发送寻根次数”字段;发送完N次后,将自身的状态位——“寻根请求完成状态”置位,表示自己已经发送完成N次寻根请求信息。
(2)寻根应答:对来自下联设备的寻根请求发送寻根应答
当网络设备只有收到来自其下联设备的寻根广播后,才对请求设备发送点对点的应答信息,目的是将自己的信息以及自己收集的所有上联设备信息应答给发送请求的这个下联设备;而设备在对下联设备进行寻根应答的同时,也会收到来自上联设备对自己寻根请求的应答,从而,使得其下联设备可以得到自己所有上联设备的信息。
(a)、寻根应答的接收:下联设备接收其上联设备发送的寻根应答,并进行解析,在设备内生成自己的“上联设备信息表”。
每台设备有一个“上联设备信息表”,设备每收到一个上联设备对自己的寻根应答报文,就进行逐层的报文解析,将GTDP报文“数据区”中记录的这个上联设备、这个上联设备的属性特征和这个上联设备的各个上联设备都记录下来,做为一条表项。
(b)、寻根应答的发送:当上联设备收到其下联设备发送的寻根请求后,根据其自己的“上联设备信息表”发送寻根应答。
各个设备在接收的同时也会对来自下联的请求进行寻根应答。应答信息就是根据“上联设备信息表”中的信息记录来填充。
应答具体操作如下:每台设备都会收到来自上联和下联的寻根请求广播,但寻根请求的目的是对上联设备的发现,因此设备只需对从下联口处接收到的寻根请求进行应答。
设备每收到一个来自下联的寻根请求,便对发送寻根请求的设备回应一个寻根应答报文;在应答报文的GTDP数据信息中,依次填入如下信息:
a.GTDP报文首部中“源设备状态”字段,如果自己是“代理设备”,此位置1;否则置0;
b.本设备的标识信息;
c.本设备的属性特征(即是否为“代理设备”);
d.本设备“上联设备信息表”记录的各个应答上联设备标识,即将自己此时收集到的各个应答上联设备信息连同自身信息一起应答给了下联的请求设备.
各个设备通过对应答信息的接收和解析,它们的“上联设备信息表”中就可以完备的记录下自己所在链路中的每台上联设备和这个上联设备的所有上联设备。
(3)在设备收到来自上联设备的寻根应答后,即发送寻根应答确认。
在设备收到来自上联的寻根应答后,即回应此信息,目的是通知上联设备寻根应答信息已被收到。
在信息交互环节中,通过设备间“请求”→“应答”→“确认应答”几次信息的交互,每台设备的“上联设备信息表”就记录完备了计算链路所需的上行链路所有信息。
第四步:各个设备根据自己的“上联设备信息表”进行链路计算,比较计算得出自己的父设备和代理设备,并将计算结果发送给“代理设备”。
第五步:由“代理设备”对这些计算结果进行接收记录,然后将收集到的信息进行整合,生成整个“管理域”内设备的拓扑结构。
第六步:重复执行第三步~第五步,定期进行拓扑的维护及故障处理。
综上所述可知,本发明在网络拓扑结构生成过程中,“管理域”中的每台设备都主动发现、计算其父设备和代理设备,并将信息报告给“管理域”中的“代理设备”,由“代理设备”生成该“管理域”的拓扑结构。“非代理设备”只进行信息的收集和计算,而“代理设备”才进行信息的收集、整理和拓扑结构的生成,平均了各个设备的负荷,使得拓扑生成过程中,设备间握手次数和报文传递大大的减少,提高了拓扑结构生成的效率,减轻了网络负荷,所以,本发明提供的拓扑结构生成方法快速、及时、有效。
本发明在完成首次拓扑结构发现后,即转入拓扑的维护和故障处理过程,对首次发现中的错误进行纠正,并且动态地对拓扑变化进行更新,动态的维护一个稳定的拓扑结构,使生成的拓扑结构更准确。从而,解决了在大规模网络设备管理中,对设备拓扑结构进行发现并及时维护的问题。
另外,本发明提供的拓扑结构生成方法可以架构于任何标准OSI模型的数据链路层之上进行数据传输,由此可以不限定特定的数据链路层,即只要有数据链路支持,就可以进行网络拓扑发现。这对于在网络通信设备组成的网络中有较大的优势,由于不依赖网络层的支持,即可以在网络通信设备没有配置有效IP的情况下进行拓扑发现,这样对于IP资源匮乏的运营商来说可以节省大量的有效IP地址。
Claims (8)
1、一种快速生成网络设备树状拓扑结构的方法,该方法包括以下步骤:
第一步:将所要管理的网络设备连接成树状网络结构,并将其认为是一个“管理域”,作为拓扑结构生成对象;
第二步:在这个“管理域”中,将处于这个树状网络最上层的一台设备指定为“代理设备”;
第三步:使“管理域”内的各个设备之间进行信息交互,收集自己上层链路设备的信息,从而,使每台设备建立完成自己的“上联设备信息表”;所述“上联设备信息表”包括:该应答上联设备是否为代理设备、该应答上联设备的上联设备个数;
第四步:各个设备根据自己的“上联设备信息表”进行链路计算,比较计算得出自己的父设备和代理设备,并将计算结果发送给“代理设备”;所述父设备为“上联设备信息表”中记录“应答上联设备的上联设备个数”最多的应答上联设备;
第五步:由“代理设备”对域内各设备计算结果进行记录,然后将收集到的信息进行整合,生成整个“管理域”内设备的拓扑结构;
第六步:重复执行第三步~第五步,定期进行拓扑结构的维护及故障处理。
2、根据权利要求1所述的一种快速生成网络设备树状拓扑结构的方法,其特征在于:所述第三步“管理域”内的各个设备之间进行信息交互,收集自己上层链路设备的信息,每台设备建立完成自己的“上联设备信息表”又由以下步骤完成:
(1)管理域中的每台设备每隔一定间隔发送一次寻根请求;
(2)管理域内的设备对其下联设备的寻根请求发送寻根应答;
(a)、寻根应答的发送:当上联设备收到其下联设备发送的寻根请求后,根据其自己的“上联设备信息表”发送寻根应答;
(b)、寻根应答的接收:下联设备接收其上联设备发送的寻根应答,并进行解析,在设备内生成自己的“上联设备信息表”;
该表中包括:
(3)在设备收到来自上联设备的寻根应答后,即发送寻根应答确认。
3、根据权利要求2所述的一种快速生成网络设备树状拓扑结构的方法,其特征在于:所述寻根应答信息中,包括以下信息:
a.本设备的标识信息;
b.本设备是否为“代理设备”;
c.本设备“上联设备信息表”记录的各个应答上联设备标识,即将自己此时收集到的各个应答上联设备信息一并发送。
4、根据权利要求3所述的一种快速生成网络设备树状拓扑结构的方法,其特征在于:所述第四步中的链路计算方法是:将“上联设备信息表”中的各条记录进行比较,选择各记录中“上联设备的上联设备个数”最多的一条记录;因为如果此记录中“上联设备的上联设备个数”个数最多,说明记录中的这个上联设备到顶级“代理设备”的路径最长,也就说明这个上联设备是在本链路中离自己最“近”的一个上联,则这个上联设备即为自身的父设备。
5、根据权利要求4所述的一种快速生成网络设备树状拓扑结构的方法,其特征在于:所述第五步中由“代理设备”对这些计算结果进行接收记录,然后将收集到的信息进行整合,生成整个“管理域”内设备的拓扑结构由以下步骤完成:
(1)、由“代理设备”收集其下的所有设备发送的父子信息,生成“父子关系表”:
该“父子关系表”包括:
(2)“代理设备”根据网络管理员的指令,依据其“父子关系表”生成该“管理域”的拓扑结构;
(a)、查找“代理设备”的所有一级子设备;
(b)、查找“代理设备”的各个一级子设备的子设备;
(c)、逐级类推,最终查找出“代理设备”各级子设备的子设备,生成此“代理设备”下的网络设备的树状拓扑结构。
6、根据权利要求1或2或3所述的一种快速生成网络设备树状拓扑结构的方法,其特征在于:所述“管理域”内各个设备之间所交互的信息,即“管理域”内每台设备所发送、接收的信息如发送寻根请求、进行寻根请求应答、发送寻根请求应答确认和进行父子关系信息报告都是先按照GNMP协议格式、GNAP协议格式和GTDP协议格式进行填充的完整GNMP报文;然后,将其构架于数据链路层之上进行数据通信;同时,每台设备对其接收到的报文也按照GNMP协议格式、GNAP协议格式和GTDP协议格式进行解析,完成设备间的信息交互;
所述GNMP协议是一组自定义的网络管理协议族,此协议为一个三层协议***,是一组分布在网络层、传输层和应用层的多个协议的组合;它直接架构在OSI模型中的数据链路层之上或架构在其它协议层之上;
所述GNAP协议是GNMP协议的一个简单应用协议,为传输层协议;
所述GTDP协议是基于GNAP协议的设备拓扑自动发现协议,为应用层协议。
7、根据权利要求6所述的一种快速生成网络设备树状拓扑结构的方法,其特征在于:
所述GNMP协议报文格式为:
其中:
版本:4bit,协议版本,定义不同的报文格式,
长度:12bit,整个报文长度;
保留:8bit,保留;
保留:8bit,保留;
状态:8bit,标识设备状态;
保留:8bit,保留;
保留:8bit,保留;
类型:8bit,协议报文类型,定义了0x07为GTDP报文
保留:8bit,保留;
目的ID:24bit,目的设备标识;
源ID:24bit,源设备标识;
保留:8bit,保留;
数据:208~11840bit,填充GNAP首部及其数据区部分;
填充码:16bit,填充码,必须是0x00;
校验计数:16bit,整个报文数据的16位累加和;
所述GNAP协议报文格式
其中:
目的操作码:16bit,目标操作码;
源操作码:16bit,源操作码;
状态:16bit,状态;
保留:16bit,保留;
目标系列号:16bit,目标系列号;
源系列号SN:16bit,源系列号;
数据:数据,长度可变,填充GTDP协议不同报文的首部和数据区;
GTDP协议是基于GNAP协议的设备拓扑自动发现协议,为应用层协议,
GNAP协议的目的操作码用于标识区分GTDP协议中不同的操作报文类型,
GTDP中不同的操作报文标识如下:
所述GTDP报文格式:
其中:
保留:8bit,保留;
源设备状态:8bit,源设备的状态,“1”表示是代理;
源ID:24bit,源设备的标识;
源Mac首字段:32bit,源设备Mac地址的前4个Byte;
源Mac尾字段:16bit,源设备Mac地址的后2个Byte;
源IP:32bit,源设备的IP地址;
源S/N:152bit,源设备S/N;
发送寻根次数:8bit,发送寻根的次数;
连接端口:8bit,在发送寻根应答报文时有效,表示所在上连设备的端口号;
代理设备ID:24bit,代理设备的标识;
代理设备状态:8bit,所属域代理设备的状态;
代理Mac首字段:32bit,根设备Mac地址的前4个Byte;
代理Mac尾字段:16bit,根设备Mac地址的后2个Byte;
代理IP:32bit,根设备的IP地址;
第一数据区长度:8bit,第一块数据区的长度,长度以字节数记;
第二数据区长度:8bit,保留;
本身的层次:8bit,保留;
本拓扑最大层数:8bit,保留;
第一个ID:24bit,保留;
数值:8bit,保留;
设备ID:24bit,保留;
数据:填充数据,长度可变,根据GTDP不同的报文包含不同长度的数据;
不同报文所对应的数据区内容为:
所述GNAP协议和GTDP协议数据均以GNMP数据包格式进行传输。
8、根据权利要求7所述的一种快速生成网络设备树状拓扑结构的方法,其特征在于:所述“管理域”内的每台设备所发送、接收的信息都是按照GTDP协议报文、GNAP报文和GNMP报文的顺序进行填充,具体步骤如下:
(1)填充GTDP报文
根据发送报文的类型将需要发送的数据信息填入所述GTDP协议报文的“数据区”,然后,封装GTDP协议报文的首部信息,组成符合GTDP协议的应用数据;
(2)填充GNAP报文首部
将填写好的应用数据填写到GNAP协议报文的“数据区”中,然后根据发送报文的类型,填充GNAP报文首部,组成符合GNAP协议的传输数据;
(3)填充GNMP报文首部
将填充好GNAP报文首部信息的报文嵌入到GNMP协议报文的“数据区”中,然后根据GNMP协议中的定义填写GNMP报文的其它数据信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005100773551A CN100514928C (zh) | 2005-06-22 | 2005-06-22 | 一种快速生成网络设备树状拓扑结构的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2005100773551A CN100514928C (zh) | 2005-06-22 | 2005-06-22 | 一种快速生成网络设备树状拓扑结构的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1885811A CN1885811A (zh) | 2006-12-27 |
CN100514928C true CN100514928C (zh) | 2009-07-15 |
Family
ID=37583798
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005100773551A Active CN100514928C (zh) | 2005-06-22 | 2005-06-22 | 一种快速生成网络设备树状拓扑结构的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100514928C (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101145967B (zh) * | 2007-07-19 | 2010-07-07 | 中兴通讯股份有限公司 | 一种快捷的网管资源的选择方法以及*** |
CN102655461A (zh) * | 2012-03-13 | 2012-09-05 | 武汉迈威实达软件有限公司 | 一种基于以太网的交互式智能化树形拓扑实现技术 |
CN103516824B (zh) * | 2012-06-30 | 2016-12-28 | 华为技术有限公司 | 基于ip层的网络拓扑识别方法和设备 |
CN103246545B (zh) * | 2013-05-07 | 2014-05-14 | 中国人民解放军国防科学技术大学 | 面向多虚拟域可定制的PCIe外设设备树生成方法 |
CN104410537B (zh) * | 2014-12-22 | 2019-10-11 | 上海斐讯数据通信技术有限公司 | 一种树状网络拓扑图的生成***及其生成方法 |
CN108123832A (zh) * | 2017-12-15 | 2018-06-05 | 安徽长泰信息安全服务有限公司 | 一种it基础设施快速拓扑方法及装置 |
CN112671584B (zh) * | 2020-12-25 | 2023-03-24 | 深圳深宝电器仪表有限公司 | 网络拓扑的识别方法、装置、***和存储介质 |
-
2005
- 2005-06-22 CN CNB2005100773551A patent/CN100514928C/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN1885811A (zh) | 2006-12-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100514928C (zh) | 一种快速生成网络设备树状拓扑结构的方法 | |
CN110191148B (zh) | 一种面向边缘计算的统计函数分布式执行方法及*** | |
CN100512194C (zh) | 链路聚合方法、装置、mac帧收发方法和*** | |
CN104734893B (zh) | 一种面向wia‑pa网络的tr069协议管理方法 | |
CN109150640A (zh) | 一种基于二层网络协议的网络拓扑发现方法及*** | |
CN101459534B (zh) | 一种树状网络的网络拓扑收集方法和网络设备 | |
CN112153048B (zh) | 信息的解析方法及装置、***、存储介质、电子装置 | |
CN108847979A (zh) | 一种基于scada的自适应组态***及方法 | |
CN101834742A (zh) | 通过网管服务器远程配置网元的方法 | |
CN103516541A (zh) | 基于智能化变电站的配置信息自动管理方法 | |
CN110177013A (zh) | 一种基于FPGA的EtherCAT主从站设计与实现方法 | |
CN101686145A (zh) | 一种具有升级功能的设备、升级方法及*** | |
CN102158983A (zh) | 一种构建6LoWPAN无线传感器网络的实现方法 | |
CN109150854B (zh) | 基于xml文件的动态可配置通信规约转换*** | |
CN102474456A (zh) | 分配更新消息和用于在网状网络中更新分配的方法 | |
CN101420343B (zh) | Epa网络的网络拓扑发现方法 | |
CN104394209B (zh) | 一种用于分布式能源管理的实时库数据传输方法 | |
CN101572621A (zh) | 一种出错原因返回方法和一种实现网络管理的*** | |
CN107612714A (zh) | 一种自动拓扑结构实现方法及*** | |
CN109167729B (zh) | 拓扑发现方法、装置及多业务传输网络*** | |
CN105761003A (zh) | 一种基于cmdb的自动注册资产***及其实现方法 | |
CN114338419A (zh) | 一种IPv6全球组网边缘节点监测及预警方法及*** | |
CN108737134A (zh) | 一种模拟网元测试方法和装置 | |
CN109617654A (zh) | 工业互联网大数据服务***数据传输方法与数据聚合解析装置 | |
CN109861846A (zh) | 应用调用关系获取方法、***及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |