CN101534216B - 基于拓扑桶算法的自动拓扑实现方法 - Google Patents

基于拓扑桶算法的自动拓扑实现方法 Download PDF

Info

Publication number
CN101534216B
CN101534216B CN2009100828938A CN200910082893A CN101534216B CN 101534216 B CN101534216 B CN 101534216B CN 2009100828938 A CN2009100828938 A CN 2009100828938A CN 200910082893 A CN200910082893 A CN 200910082893A CN 101534216 B CN101534216 B CN 101534216B
Authority
CN
China
Prior art keywords
topological
network element
seed
bucket
topology
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN2009100828938A
Other languages
English (en)
Other versions
CN101534216A (zh
Inventor
李会
马化一
陈凡民
薛百华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dongtu Science and Technology (Yichang) Co., Ltd.
Original Assignee
Kyland Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Kyland Technology Co Ltd filed Critical Kyland Technology Co Ltd
Priority to CN2009100828938A priority Critical patent/CN101534216B/zh
Publication of CN101534216A publication Critical patent/CN101534216A/zh
Application granted granted Critical
Publication of CN101534216B publication Critical patent/CN101534216B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了基于拓扑桶算法的自动拓扑实现方法,属于计算机网络管理领域,尤其适用于以太网交换机的网络拓扑管理。解决了广域、自动拓扑快速形成的技术难题。本发明在拓扑种子桶中任选一个网络设备作为种子网元,向种子网元发送查询设备邻接关系的报文,获取设备邻接关系,并将查询到的邻接设备加入到临时拓扑队列,在拓扑面板依次创建网元,设备图标,并建立拓扑关系;将临时拓扑队列中的设备与已拓扑桶中设备、拓扑种子桶比较后;依次从待拓扑队列中,取出邻接设备作为种子网元,不断搜索和循环,直至临时拓扑队列、待拓扑队列、拓扑种子桶为空时拓扑完成拓扑。采用本发明的技术方案具有效率高、灵活性高、精确度高等优点,且拓扑较为直观。

Description

基于拓扑桶算法的自动拓扑实现方法
技术领域
本发明涉及计算机网络管理领域,更具体地说,涉及一种以太网交换机基于网段或网元自动发现网元、识别网元、识别网元间连接关系并自动连线的网络拓扑管理的实现方法。
背景技术
自动网络拓扑技术广泛的应用到局域网内,但在一个城域监控网络中,被监控的对象和监控后台不在同一个子网中;如何能在网管站自动形成拓扑结构,并能快速的形成网络连接,方便网络管理人员管理和发现网络故障变得尤为重要。因为若采用人工建立拓扑关系,当网络中节点达到几百个甚至上千个数量,人工快速建立网络拓扑,是完全不可能的。目前基于网络层的自动拓扑技术已经比较成熟,但是一般的自动发现技术,只能找到相关的设备,不能对相关的设备之间的连接关系进行细分,不能清楚的在网管站实现清晰的拓扑结构。检索到的一些方法通过标准的MIB库来实现网络拓扑,其拓扑可能会导致不精确。为了解决以上问题,本发明采用了基于网段或网元的实现方法,通过LLDP协议来实现精确拓扑关系,得到的拓扑关系为精确拓扑,另外提高了效率;解决了广域、自动拓扑快速形成的技术难题。
发明内容
本发明的目的是克服现有技术中的不足,提供一种简单、快速、高效的基于网段或网元自动拓扑的实现方法。利用该种方法可以自动探测整个网络,发现网元及网元间的连接关系,并进行拓扑连线。
本发明的技术方案是:
本发明通过LLDP协议及采用广度优先算法来实现精确拓扑关系,得到的拓扑关系为精确拓扑,并且大大提高拓扑效率;
具体包括以下步骤:
a、以指定网段或网元作为搜索目标,向网段内所有IP地址发送指定次数请求报文,在指定时间里等待回应,如果得到回应,证明网元存在,将其存储在拓扑种子桶中,如果得不到回应,证明网元不存在,不做任何处理;
b、通过向拓扑种子桶中的网元发送查询报文,如果得到响应,证明其为网络设备,根据返回值与设备类型数据库比较获得设备类型,如果没有得到响应,将网元设备类型设置为其他设备;
c、在拓扑种子桶中任选一个网络设备作为种子网元,根据设备类型,匹配设备类型数据库,在拓扑面板创建网元、设备图标,并将其放入已拓扑桶中;
d、向种子网元发送查询设备邻接关系的报文,获取设备邻接关系;并将查询到的邻接设备加入到临时拓扑队列,在拓扑面板依次创建网元,设备图标,并建立拓扑关系;
e、将临时拓扑队列中的邻接设备与已拓扑桶中设备匹配,如果在已拓扑桶中,删除该邻接设备;如果不在已拓扑桶中,将其加入到待拓扑队列中;然后将待拓扑队列中的邻接设备与拓扑种子桶比较,如果在拓扑队列中的邻接设备在拓扑种子桶中,将该邻接设备从拓扑种子桶中移除;
f、依次从待拓扑队列中,取出邻接设备作为种子网元,将其转移到已拓扑桶中,并执行d-f步骤,直到待拓扑队列中无邻接设备;
g、执行c-f步骤,直到拓扑种子桶中所有种子网元拓扑完成;
h、临时拓扑队列、待拓扑队列、拓扑种子桶为空时拓扑完成。
所述方法,其中,步骤a,向网段内所有IP地址发送指定次数ICMP请求报文,根据是否得到回复确定网元是否存在,从而完成网元搜索,作为初始拓扑种子网元。
所述方法,其中,将邻接设备放入到待拓扑队列中,作为网元搜索和网元拓扑的种子网元。
所述方法,其中,从待拓扑队列中任选一个网元作为种子网元,通过查询该种子网元邻接关系MIB信息,得到该种子网元邻接关系信息。
所述方法,其中,定义设备类型数据库,根据设备类型数据库定义设备类型值。
所述方法,其中,通过发送SNMP报文来识别网元,根据报文返回值来确定设备类型和邻接关系。
所述方法,其中,通过向拓扑种子桶中的网元发送MIB查询报文,OID为1.3.6.1.2.1.1.2(sysObjectID)得到设备类型。
所述方法,其中,向种子网元发送查询设备邻接关系的MIB查询报文,OID为1.3.6.1.4.1.26067.1.15.1.1.1.1.3,得到邻接设备IP地址;OID为1.3.6.1.4.1.26067.1.15.1.1.1.1.7,得到邻接设备类型;OID为1.3.6.1.4.1.26067.1.15.1.1.1.1.1,得到当前种子网元端口ID;OID为1.3.6.1.4.1.26067.1.15.1.1.1.1.5,得到邻接设备端口ID。
所述方法,其中,通过查询SNMP邻接MIB信息,可以获取邻接设备IP地址、邻接设备类型、当前种子网元端口ID、邻接设备端口ID等信息。
所述方法,其中,不断搜索和循环,直至完成网元搜索和网元拓扑。
本发明的有益效果是:本发明提供一种简单、快速、高效的基于网元或网段自动拓扑的实现方法。只需要指定网元或网段即可对增个网络进行自动探测,自动发现网元及网元间的连接关系,并进行拓扑连线。提供了一种具有效率高、较高灵活性、精确度高等优点,且拓扑较为直观的对网络的管理方式。
附图说明
图1设备类型数据库显示图;
图2基于拓扑桶算法的自动拓扑实现方法流程图;
图3拓扑效果图。
具体实施方式
本发明通过LLDP协议及采用广度优先算法来实现精确拓扑关系,得到的拓扑关系为精确拓扑,并且大大提高拓扑效率;
下面结合附图对本发明作进一步的描述。
图1指示了设备类型数据库的构造,DeviceType表示设备类型值;Device表示设备类型;当设备类型是SICOM3000时对应的值为0x10001-0x10006;当设备为SICOM3000BA时对应的值为0x40001-0x40002;当设备为SICOM3024时对应的值为0x20001-0x20010;当设备为SICOM3000BA时对应的值为0x40001-0x40002;当设备为SICOM3024EX时对应的值为0x30001;依次查询;
根据查询MIB信息中的设备返回值,将该返回值与设备类型数据库中的对应,即可知道该返回值对应的设备类型。
图2指示了基于拓扑桶算法的自动拓扑实现方法流程,
1)、以指定网段或网元作为搜索目标,向网段内所有IP地址发送指定次数ICMP请求报文,在指定时间里等待回应,如果得到回应,证明网元存在,将其存储在拓扑种子桶中,如果得不到回应,证明网元不存在,不做任何处理。
2)、通过向拓扑种子桶中的网元发送SNMP的MIB查询报文,OID为1.3.6.1.2.1.1.2(sysObjectID),如果得到响应,证明其为网络设备,根据返回值与设备类型数据库比较获得设备类型,如果没有得到响应,将网元设备类型设置为其他设备;此时即已识别出了查询到的设备类型。
3)、在拓扑种子桶中任选一个通用设备作为种子网元,根据设备类型,匹配设备类型数据库,在拓扑面板创建网元、设备图标,并将其放入已拓扑桶中;
4)、向种子网元发送查询设备邻接关系的报文,获取设备邻接关系;向种子网元发送查询设备邻接关系的SNMP报文,邻接设备IP地址,OID为1.3.6.1.4.1.26067.1.15.1.1.1.1.3;邻接设备类型,OID为1.3.6.1.4.1.26067.1.15.1.1.1.1.7;当前种子网元端口ID,OID为1.3.6.1.4.1.26067.1.15.1.1.1.1.1;邻接设备端口ID,OID为1.3.6.1.4.1.26067.1.15.1.1.1.1.5。通过查询SNMP邻接MIB信息,可以获取邻接设备IP地址、邻接设备类型、当前种子网元端口ID、邻接设备端口ID等信息。并将查询到的邻接设备加入到临时拓扑队列,在拓扑面板依次创建网元,设备图标,并建立拓扑关系。
5)、将临时拓扑队列中的邻接设备与已拓扑桶中设备匹配,如果在已拓扑桶中,删除该邻接设备;如果不在已拓扑桶中,将其加入到待拓扑队列中;然后将待拓扑队列中的邻接设备与拓扑种子桶比较,如果待拓扑队列中的邻接设备在拓扑种子桶中,将该邻接设备从拓扑种子桶中移除;依次从待拓扑队列中,取出邻接设备作为种子网元,将其转移到已拓扑桶中,并执行4)-5)步骤,直到待拓扑队列中无邻接设备;执行3)-5)步骤,直到拓扑种子桶中所有种子网元拓扑完成;不断搜索和循环,直至完成网元搜索和网元拓扑,临时拓扑队列、待拓扑队列、拓扑种子桶为空时拓扑完成。
图3指示了拓扑效果。
基于拓扑桶算法的自动拓扑实现方法拓扑线程表示如下:
public void run(){
       curOltId=AllRealOltCollection.getMaxOltId();
//创建指定设备
       createSpecifyOlt(strSpecifyOltIp);
//将指定设备推入notTopologyQueue
       notTopologyQueue.addLast(specifyOlt);
       while(true){
           if(notTopologyQueue.isEmpty()){
               if(!momentQueue.isEmpty()){
                    Iterator it=momentQueue.iterator();
                    while(it.hasNext()){
                        notTopologyQueue.addLast((OltObject)it.next());
                    }
                    momentQueue.clear();
                }
                    //如果notTopologyQueue和momentQueue都为空说明自动拓扑完成
        else{
                                System.out.println(″Finish Automatic Topology″);
                           break;
                    }
                }
                OltObject localOlt=(OltObject)notTopologyQueue.getFirst();
                if(topologyDoneQueue.contains(localOlt)){
                     notTopologyQueue.remove(localOlt);
                     continue;
                }
                     //搜索邻接设备
                findRemOlt(localOlt);
                     //完成指定设备的拓扑
                     doTopology(localOlt);
                     //从notTopologyQueue队列中删除指定设备
                notTopologyQueue.remove(localOlt);
                     //将指定设备放入topologyDoneQueue
                topologyDoneQueue.add(localOlt);
            }
        }
    //搜索邻接设备如下:
    private void findRemOlt(OltObject localOlt){
            //发送SNMP报文得到邻接信息
            StrNameValueType_ListHolder                      getData
AutoTopoSnmp.getInstance().getRemInfo(localOlt);
            if(getData ==null‖getData.value.length==0){
                return;
            }
    StrNameValueType[]data=getData.value;
          localSlotNum
IpAddressConver.getIntLocalSlotNumF(Integer.parseInt(data[i].values[3]));
          localPortNum
IpAddressConver.getIntLocalPortNumF(Integer.parseInt(data[i].values[3]));
          remSlotNum=IpAddressConver.getIntRemSlotNumF(data[i].values[2]);
          remPortNum=IpAddressConver.getIntRemPortNum(data[i].values[2]);
          OltObject remOlt=(OltObject)(AllRealOltCollection.getAllOltTable().get(remIp));
          int                                  result
doTopology(localOlt,remOlt,localSlotNum,remSlotNum,localPortNum,remPortNum);
    }
以上所述仅为本发明的过程及方法实施例,并不用以限制本发明,凡在本发明的精神和实质之内所做的任何修改、等同替换、改进等,均应包含在本发明保护范围之内。

Claims (10)

1.基于拓扑桶算法的自动拓扑实现方法,通过LLDP协议及采用广度优先算法来实现精确拓扑关系,具体包括以下步骤:
a、以指定网段或网元作为搜索目标,向网段内所有IP地址发送指定次数请求报文,在指定时间里等待回应,如果得到回应,证明网元存在,将其存储在拓扑种子桶中,如果得不到回应,证明网元不存在,不做任何处理;
b、通过向拓扑种子桶中的网元发送查询报文,如果得到响应,证明其为网络设备,根据返回值与设备类型数据库比较获得设备类型,如果没有得到响应,将网元设备类型设置为其他设备;
c、在拓扑种子桶中任选一个网络设备作为种子网元,根据设备类型,匹配设备类型数据库,在拓扑面板创建网元、设备图标,并将其放入已拓扑桶中;
d、向种子网元发送查询设备邻接关系的报文,获取设备邻接关系;并将查询到的邻接设备加入到临时拓扑队列,在拓扑面板依次创建网元、设备图标,并建立拓扑关系;
e、将临时拓扑队列中的邻接设备与已拓扑桶中设备匹配,如果在已拓扑桶中,删除该邻接设备;如果不在已拓扑桶中,将其加入到待拓扑队列中;然后将待拓扑队列中的邻接设备与拓扑种子桶比较,如果在待拓扑队列中的邻接设备在拓扑种子桶中,将该邻接设备从拓扑种子桶中移除;
f、依次从待拓扑队列中,取出邻接设备作为种子网元,将其转移到已拓扑桶中,并执行d-f步骤,直到待拓扑队列中无邻接设备;
g、执行c-f步骤,直到拓扑种子桶中所有种子网元拓扑完成;
h、临时拓扑队列、待拓扑队列、拓扑种子桶为空时拓扑完成。
2.根据权利要求1所述的自动拓扑实现方法,其特征在于:步骤a,向网段内所有IP地址发送指定次数ICMP请求报文,根据是否得到回复确定网元是否存在,从而完成网元搜索,作为初始拓扑种子网元。
3.根据权利要求1所述的自动拓扑实现方法,其特征在于:将邻接设备放入到待拓扑队列中,作为网元搜索和网元拓扑的种子网元。
4.根据权利要求1所述的自动拓扑实现方法,其特征在于:从待拓扑队列中任选一个网元作为种子网元,通过查询该种子网元邻接关系MIB信息,得到该种子网元邻接关系信息。
5.根据权利要求1所述的自动拓扑实现方法,其特征在于:定义设备类型数据库,根据设备类型数据库定义设备类型值。
6.根据权利要求1或5所述的自动拓扑实现方法,其特征在于:通过发送SNMP报文来识别网元,根据报文返回值来确定设备类型和邻接关系。
7.根据权利要求6所述的自动拓扑实现方法,其特征在于:通过向拓扑种子桶中的网元发送MIB查询报文,OID为1.3.6.1.2.1.1.2,得到设备类型。
8.根据权利要求6所述的自动拓扑实现方法,其特征在于:向种子网元发送查询设备邻接关系的MIB查询报文,OID为1.3.6.1.4.1.26067.1.15.1.1.1.1.3,得到邻接设备IP地址;OID为1.3.6.1.4.1.26067.1.15.1.1.1.1.7,得到邻接设备类型;OID为1.3.6.1.4.1.26067.1.15.1.1.1.1.1,得到当前种子网元端口ID;OID为1.3.6.1.4.1.26067.1.15.1.1.1.1.5,得到邻接设备端口ID。
9.根据权利要求1或8所述的自动拓扑实现方法,其特征在于:通过查询SNMP邻接MIB信息,可以获取邻接设备IP地址、邻接设备类型、当前种子网元端口ID、邻接设备端口ID。
10.根据权利要求1所述的自动拓扑实现方法,其特征在于:不断搜索和循环,直至完成网元搜索和网元拓扑。
CN2009100828938A 2009-04-24 2009-04-24 基于拓扑桶算法的自动拓扑实现方法 Active CN101534216B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2009100828938A CN101534216B (zh) 2009-04-24 2009-04-24 基于拓扑桶算法的自动拓扑实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2009100828938A CN101534216B (zh) 2009-04-24 2009-04-24 基于拓扑桶算法的自动拓扑实现方法

Publications (2)

Publication Number Publication Date
CN101534216A CN101534216A (zh) 2009-09-16
CN101534216B true CN101534216B (zh) 2011-05-11

Family

ID=41104619

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009100828938A Active CN101534216B (zh) 2009-04-24 2009-04-24 基于拓扑桶算法的自动拓扑实现方法

Country Status (1)

Country Link
CN (1) CN101534216B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101753266B (zh) * 2009-12-23 2012-12-26 上海全景数字技术有限公司 同轴承载以太网设备的网络拓扑查找及差错控制优化方法
CN101815103B (zh) * 2010-01-29 2012-08-22 北京东土科技股份有限公司 一种多板卡通信设备地址查询方法
CN102271350A (zh) * 2011-03-30 2011-12-07 东方通信股份有限公司 无线集群网管中的网络拓扑的自动发现的方法
WO2012159326A1 (zh) * 2011-07-13 2012-11-29 华为技术有限公司 一种动态搭建组网的方法及装置
CN102857377B (zh) * 2012-09-12 2015-08-05 南车株洲电力机车研究所有限公司 一种列车网络在线拓扑自动生成方法
CN102904753B (zh) * 2012-09-26 2015-08-05 迈普通信技术股份有限公司 一种快速创建网络拓扑的方法及系统
CN103763153B (zh) * 2014-01-10 2017-06-06 迈普通信技术股份有限公司 自动将设备链路信息转换为拓扑图形的方法及系统
CN104363310B (zh) * 2014-11-04 2017-12-26 南车株洲电力机车研究所有限公司 一种用于配置设备ip的方法
CN106470234B (zh) * 2015-08-20 2021-03-26 腾讯科技(北京)有限公司 一种设备发现的方法及装置
CN109067569B (zh) * 2018-07-20 2021-06-01 杭州安恒信息技术股份有限公司 一种工控网络拓扑结构可视化方法
CN111447657B (zh) * 2020-04-03 2022-10-21 吉林大学 一种邻居发现与广度优先算法相结合的无线网络拓扑发现方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5684967A (en) * 1995-09-13 1997-11-04 International Business Machines Corporation System and method for generalized network topology representation
CN101414963A (zh) * 2007-10-18 2009-04-22 华为技术有限公司 Pbb te网络中自动拓扑发现及资源管理的方法和装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5684967A (en) * 1995-09-13 1997-11-04 International Business Machines Corporation System and method for generalized network topology representation
CN101414963A (zh) * 2007-10-18 2009-04-22 华为技术有限公司 Pbb te网络中自动拓扑发现及资源管理的方法和装置

Also Published As

Publication number Publication date
CN101534216A (zh) 2009-09-16

Similar Documents

Publication Publication Date Title
CN101534216B (zh) 基于拓扑桶算法的自动拓扑实现方法
US10516580B2 (en) Physical infrastructure management system
CN103312836B (zh) 一种大型局域网络ip地址管理方法
CN101170483B (zh) 一种路由交换设备堆叠的方法
CN102223651B (zh) 一种协助基站自启动的方法及rnc/dhcp服务器
CN102546251B (zh) 基于混合探测技术的网络拓扑发现和自动布局方法及系统
CN101873229B (zh) 基于snmp的网络拓扑发现方法及装置
CN101702656B (zh) 一种基于snmp的mpls-vpn网络拓扑发现方法及系统
CN105577420A (zh) 自动产生伺服器网络拓扑的方法与系统
CN102291259B (zh) 基于多主站模式的低压电力线通信网络层管理方法
CN113273135B (zh) 变电站中的网络拓扑发现
CN104184616A (zh) 一种局域网资源智能管理系统
CN103532746A (zh) 工业系统的业务拓扑生成方法和系统
CN101304333A (zh) 一种网络管理系统中网络拓扑的建立方法
CN103532747A (zh) 工业系统的网络拓扑生成方法和系统
CN104219153A (zh) 基于mac 地址定向搜索的网络拓扑自发现方法和装置
CN106877904B (zh) 控制表计设备接入的方法和装置
CN101420343A (zh) Epa网络的网络拓扑发现方法
CN116827801B (zh) 网络拓扑构建方法、装置、计算机设备及可读存储介质
CN106992885A (zh) 一种服务器系统中识别设备的方法及服务器系统
CN204442403U (zh) 一种局域网ip管理装置
CN102801618B (zh) 一种在以太环网中确定三层数据路径的方法及装置
CN106559490B (zh) 一种用于存储集群设备的管理方法
CN106875660B (zh) 用于表计设备通信的方法和采集器
CN113259499A (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
TR01 Transfer of patent right

Effective date of registration: 20190903

Address after: 443005 No. 28 Development Avenue, Yichang High-tech Zone, Wuhan City, Hubei Province

Patentee after: Dongtu Science and Technology (Yichang) Co., Ltd.

Address before: 100041 Beijing City, Shijingshan District Hing Street No. 18 Chong creative building 2 layer

Patentee before: Beijing Dongtu Technology Co., Ltd.

TR01 Transfer of patent right