CN111600800B - 一种跨网段拓扑发现的方法及设备 - Google Patents
一种跨网段拓扑发现的方法及设备 Download PDFInfo
- Publication number
- CN111600800B CN111600800B CN202010252487.8A CN202010252487A CN111600800B CN 111600800 B CN111600800 B CN 111600800B CN 202010252487 A CN202010252487 A CN 202010252487A CN 111600800 B CN111600800 B CN 111600800B
- Authority
- CN
- China
- Prior art keywords
- query message
- message
- query
- upper computer
- switch
- 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
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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种跨网段拓扑发现的方法及设备,该方法包括:上位机通过UDP组播发送查询报文;三层交换机接收到所述查询报文后,若判定所述查询报文为上位机发送的查询报文,则向上位机发送当前三层交换机的邻居信息响应报文,并将所述查询报文转发至其它网段;若判定所述查询报文为交换机转发的查询报文,则判断所述查询报文是否有效,若有效则向上位机发送当前三层交换机的邻居信息响应报文,并修改所述查询报文预定字段,将修改后的查询报文转发至其他网段。通过该方案解决了现有上位机无法通过广播获取非直连交换机拓扑信息的问题,可以方便快捷的获取非直连交换机的拓扑结构。
Description
技术领域
本发明涉及通信领域,尤其涉及一种跨网段拓扑发现的方法。
背景技术
对于三层的交换机之间,都会存在两个或以上的网段,由于各交换机间已经建立单播路由,一般为获取当前网络拓扑,电脑直接发送广播无法获取非直连交换机拓扑信息,不便于获取交换机的网络拓扑图。
发明内容
有鉴于此,本发明实施例提供了一种跨网段拓扑发现的方法,以解决现有无法通过广播获取非直连交换机拓扑信息的问题。
在本发明实施例的第一方面,提供了一种跨网段拓扑发现的方法,包括:
上位机通过UDP组播发送查询报文;
三层交换机接收到所述查询报文后,若判定所述查询报文为上位机发送的查询报文,则向上位机发送当前三层交换机的邻居信息响应报文,并将所述查询报文转发至其它网段;
若判定所述查询报文为交换机转发的查询报文,则判断所述查询报文是否有效,若有效则向上位机发送当前三层交换机的邻居信息响应报文,并修改所述查询报文预定字段,将修改后的查询报文转发至其他网段。
在本发明实施例的第二方面,提供了一种用于跨网段拓扑发现的设备,包括:
接收模块,用于接收上位机通过UDP组播发送的查询报文;
转发模块,用于在三层交换机接收到所述查询报文后,若判定所述查询报文为上位机发送的查询报文,则向上位机发送当前三层交换机的邻居信息响应报文,并将所述查询报文转发至其它网段;
若判定所述查询报文为交换机转发的查询报文,则判断所述查询报文是否有效,若有效则向上位机发送当前三层交换机的邻居信息响应报文,并修改所述查询报文预定字段,将修改后的查询报文转发至其他网段。
本发明实施例中,通过UDP组播发送查询报文,交换机接收到所述查询报文后,则向上位机发送当前交换机邻居信息响应报文,并将所述查询报文转发至其它网段;若为交换机转发的查询报文,判定所述查询报文有效,则向上位机发送交换机的邻居信息响应报文,并修改所述查询报文预定字段,将修改后的查询报文转发至其他网段。基于交换机的响应获得交换机的邻居信息,上位机通过拓扑算法生成网络拓扑图,可以解决现有无法通过广播获取非直连交换机拓扑信息的问题,能实现跨网段显示当前网络中交换机拓扑图,简单实用。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单介绍,显而易见地,下面描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获取其他附图。
图1为本发明的一个实施例提供的跨网段拓扑发现的方法的流程示意图;
图2为本发明的一个实施例提供的跨网段拓扑发现的方法的另一流程示意图;
图3为本发明的一个实施例提供的用于跨网段拓扑发现的设备的结构示意图。
具体实施方式
为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
本发明的说明书或权利要求书及上述附图中的术语“包括”以及其他相近意思表述,意指覆盖不排他的包含,如包含一系列步骤或单元的过程、方法或系统、设备没有限定于已列出的步骤或单元。
请参阅图1,图1为本发明实施例提供的一种跨网段拓扑发现方法的流程示意图,包括:
S101、上位机通过UDP组播发送查询报文;
上位机的查询报文为UDP组播报文,即上位机以UDP组播的方式发送查询报文,示例性的,组播IP地址为224.0.0.200,目的端口为60001,自定义报文头部分,第一个字段为上位机的IP地址,type固定值为0x01,交换机查询到此字段为1即表示收到查询报文。
S102、三层交换机接收到所述查询报文后,若判定所述查询报文为上位机发送的查询报文,则向上位机发送当前三层交换机的邻居信息响应报文,并将所述查询报文转发至其它网段;
三层交换机收到报文后,三层交换机本身除了响应上位机,给上位机发送响应报文外,还将作为代理,将报文转发至其它网段,其它三层交换机收到查询报文后,也会给上位机发送一个响应报文,并转发至其他网段。
可选的,根据所述查询报文预定字段的字段值,判断所述查询报文类型。
示例性的,每个交换机监听60001端口,若60001端口的套接字收到数据后,判断报文内容,当type字段值0x1,表示收到上位机查询报文,当type字段值为0xA1,表示收到交换机转发的上位机的查询报文。
具体的,修改所述查询报文的类型值、生存时间、计数及数据长度,并增加当前交换机的IP地址。如将Type类型设置为0xA1,生存时间TTL值减1,COUNT值加1,Datalength值加4,以及记录本机vlan1.1的IP地址。
S103、若判定所述查询报文为交换机转发的查询报文,则判断所述查询报文是否有效,若有效则向上位机发送当前三层交换机的邻居信息响应报文,并修改所述查询报文预定字段,将修改后的查询报文转发至其他网段。
具体的,判断所述查询报文的生存时间值是否大于0,并判断所述查询报文是否已经经过当前三层交换机。进一步的,遍历所述查询报文的内容字段,获取所述查询字段中IP地址,判断所述IP地址中是否包括当前交换机的IP地址。
具体的,修改所述查询报文的生存时间、计数及数据长度,并增加当前交换机的IP地址。如生存时间TTL值减1,COUNT值加1,Datalength值加4,在报文内容部分添加一条本机vlan1.1的IP地址
在本发明另一个实施例中,如图2所示,交换机SW1收到上位机PC发送的查询报文后,首先向上位机发送本机交换机邻居信息,然后按照规则1(即将type字段修改为0xA1,生存时间TTL值减1,count值加1,datanum值加4,将自身vlan1.1的IP地址填入内容部分)修改报文,最后按照规则4(即三层交换机收到查询报文后,会将报文转发到其它网段,不会从收到该报文的网段转发报文)转发报文即将报文通过ge2和ge3端口转发给其它交换机。
交换机SW2从ge1端口收到交换机SW1发送的转发查询报文后,首先按照规则3(即生存时间TTL大于0,且转发报文没有经过本机,通过遍历转发报文内容字段,是否有IP地址和本机vlan1.1的IP地址匹配,如果匹配,说明报文经过了本交换机)判断报文是否有效,如果报文有效,向上位机发送本机交换机邻居信息,然后按照规则2(即生存时间TTL值减1,count值加1,datanum值加4,内容部分添加一条SW2vlan1.1的IP地址)修改报文,最后按照规则4转发报文,即将报文通过ge2端口转发给交换机SW3。
交换机SW3从ge1端口收到交换机SW2发送的转发查询报文后,按照规则3判断报文是否有效,如果报文有效,向上位机发送本机交换机邻居信息,按照规则2修改报文(如count值为3,datanum为12,内容部分添加一条SW3vlan1.1的IP地址),最后按照规则4转发报文,即将报文通过ge2端口转发给交换机SW1。
其中,SW4,SW5为二层交换机,SW1的GE1和GE3在同一个vlan,组播报文会在vlan内洪泛,所以SW4会收到PC的原始查询报文,SW4收到查询报文,只需将本机的邻居信息发送给上位机即可,SW2的GE1和GE3在同一个vlan,SW5会收到SW1发送的转发查询报文,SW5收到查询报文,只需将本机的邻居信息发送给上位机即可。
进一步的,当交换机收到上位机查询报文(包括交换机转发的查询报文),交换机响应报文,每个查询报文的自定义报文头部第一个字段的4个字节为上位机的IP地址,交换机收到查询报文后,会向这个地址发送一条单播响应报文,具体按照应答报文格式填充报文。
示例性的,定义了一种交换机响应报文,与上位机查询报文不同的地方就是查询响应码为0x02,UDP报文部分目的端口为60000,报文内容部分为交换机自身信息和交换机的邻居信息,该部分是变长的,取决于与本机相邻的交换机的数量,如果与本机相连的交换机比较多,则此响应报文可能会超过1518,当一个以太网数据帧无法这么多内容,会将报文分片,如可以定义内容部分最大长度为1000个字节,当超过1000个字节时,报文将进行分片传输,data num为分片编号(当内容部分小于1000时,此值为0,表示此报文没有分片),当分片报文为最后一个分片时,flag部分设置为1,表示分片结束。
在一个实施例中,所述上位机查询报文为:
UDP头部主要字段如下:
查询报文UDP头字段如下:
三层交换机转发查询报文格式为:
交换机转发查询报文UDP头部和原始查询报文头部Type类型一致,其他内容按照实际内容填充,三层交换机转发查询报文部分PC IP部分为原始查询报文内的IP,此处不能改为本交换机的IP,交换机收到查询报文就是向这个地址发送单播查询报文的,所以这个地址不能更改。
交换机响应报文格式
响应报文UDP头部主要字段如下:
交换机应答报文:
SW IP为交换机本机ip,如果应答报文没有分包,FLAG和Num均为0,当响应报文比较长,需要分包时,num为分包编号,flag发送最后一个分包时值为1,表示分包结束。
上述实施例中,基于查询报文转发,上位机可以通过拓扑算法得到完整的网络拓扑图。
应理解,上述实施例中各步骤的序号大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
图3为本发明实施例提供的一种用于跨网段拓扑发现的设备结构示意图,该设备包括:
接收模块310,用于接收上位机通过UDP组播发送的查询报文;
转发模块320,用于在三层交换机接收到所述查询报文后,若判定所述查询报文为上位机发送的查询报文,则向上位机发送当前三层交换机的邻居信息响应报文,并将所述查询报文转发至其它网段;
具体的,根据所述查询报文预定字段的字段值,判断所述查询报文类型;
具体的,修改所述查询报文的类型值、生存时间、计数及数据长度,并增加当前交换机的IP地址。
若判定所述查询报文为交换机转发的查询报文,则判断所述查询报文是否有效,若有效则向上位机发送当前三层交换机的邻居信息响应报文,并修改所述查询报文预定字段,将修改后的查询报文转发至其他网段。
具体的,判断所述查询报文的生存时间值是否大于0,并判断所述查询报文是否已经经过当前三层交换机。
进一步的,遍历所述查询报文的内容字段,获取所述查询字段中IP地址,判断所述IP地址中是否包括当前交换机的IP地址。
具体的,修改所述查询报文的生存时间、计数及数据长度,并增加当前交换机的IP地址。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (6)
1.一种跨网段拓扑发现的方法,其特征在于,包括:
上位机通过UDP组播发送查询报文;
三层交换机接收到所述查询报文后,若判定所述查询报文为上位机发送的查询报文,则向上位机发送当前三层交换机的邻居信息响应报文,并将所述查询报文转发至其它网段;
若判定所述查询报文为交换机转发的查询报文,则判断所述查询报文是否有效,若有效则向上位机发送当前三层交换机的邻居信息响应报文,并修改所述查询报文预定字段,将修改后的查询报文转发至其他网段;
其中,修改所述查询报文的生存时间、计数及数据长度,并增加当前交换机的IP地址。
2.根据权利要求1所述的方法,其特征在于,所述三层交换机接收到所述查询报文后,若判定所述查询报文为上位机发送的查询报文,则向上位机发送响应报文,并将所述查询报文转发至其它网段还包括:
根据所述查询报文预定字段的字段值,判断所述查询报文类型。
3.根据权利要求1所述的方法,其特征在于,所述当判定所述查询报文为上位机发送的查询报文,则向上位机发送响应报文,并将所述查询报文转发至其它网段包括:
修改所述查询报文的类型值、生存时间、计数及数据长度,并增加当前交换机的IP地址。
4.根据权利要求1所述的方法,其特征在于,所述判断所述查询报文是否有效具体为:
判断所述查询报文的生存时间值是否大于0,并判断所述查询报文是否已经经过当前三层交换机。
5.根据权利要求4所述的方法,其特征在于,所述判断所述查询报文是否已经经过当前三层交换机具体为:
遍历所述查询报文的内容字段,获取所述查询字段中IP地址,判断所述IP地址中是否包括当前交换机的IP地址。
6.一种用于跨网段拓扑发现的设备,其特征在于,包括:
接收模块,用于接收上位机通过UDP组播发送的查询报文;
转发模块,用于在三层交换机接收到所述查询报文后,若判定所述查询报文为上位机发送的查询报文,则向上位机发送当前三层交换机的邻居信息响应报文,并将所述查询报文转发至其它网段;
若判定所述查询报文为交换机转发的查询报文,则判断所述查询报文是否有效,若有效则向上位机发送当前三层交换机的邻居信息响应报文,并修改所述查询报文预定字段,将修改后的查询报文转发至其他网段;
其中,修改所述查询报文的生存时间、计数及数据长度,并增加当前交换机的IP地址。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010252487.8A CN111600800B (zh) | 2020-04-01 | 2020-04-01 | 一种跨网段拓扑发现的方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010252487.8A CN111600800B (zh) | 2020-04-01 | 2020-04-01 | 一种跨网段拓扑发现的方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111600800A CN111600800A (zh) | 2020-08-28 |
CN111600800B true CN111600800B (zh) | 2022-06-28 |
Family
ID=72190378
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010252487.8A Active CN111600800B (zh) | 2020-04-01 | 2020-04-01 | 一种跨网段拓扑发现的方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111600800B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114760206A (zh) * | 2022-03-18 | 2022-07-15 | 青岛海信宽带多媒体技术有限公司 | 一种优化拓扑结构方法、装置及家庭智能网关 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050080913A1 (en) * | 2003-10-09 | 2005-04-14 | Thomas David Andrew | Method and system for querying information from a switch by a server in a computer network |
WO2007010408A2 (en) * | 2005-05-25 | 2007-01-25 | Lga Partnership | Next generation network for providing diverse data types |
CN100442776C (zh) * | 2005-12-06 | 2008-12-10 | 杭州华三通信技术有限公司 | 在三层交换机上实现组播转发的方法 |
CN101159688B (zh) * | 2007-11-08 | 2010-06-23 | 华为技术有限公司 | 组播路由跟踪的方法和路由器 |
CN101296105B (zh) * | 2008-06-11 | 2011-04-20 | 杭州华三通信技术有限公司 | 一种组播快速切换的方法、系统和三层网络设备 |
CN101572900B (zh) * | 2009-06-12 | 2012-05-23 | 华为技术有限公司 | 网络拓扑检测方法和装置、基站控制器以及节点 |
CN101827032A (zh) * | 2010-04-29 | 2010-09-08 | 华为技术有限公司 | 一种收敛二层组播网络的方法及设备 |
CN102291414A (zh) * | 2011-09-01 | 2011-12-21 | 西安电子科技大学 | 基于c/s模式的移动终端可信接入兼管理系统及方法 |
CN104348737B (zh) * | 2013-08-02 | 2018-01-23 | 华为技术有限公司 | 一种组播报文的传输方法及交换机 |
CN103873301A (zh) * | 2014-03-20 | 2014-06-18 | 浙江宇视科技有限公司 | 一种自动发现和添加设备的系统和方法 |
CN105099721B (zh) * | 2014-04-28 | 2018-12-07 | 华为技术有限公司 | 维护组播成员的方法及设备 |
CN104320345B (zh) * | 2014-10-30 | 2018-02-09 | 新华三技术有限公司 | Sdn网络中拓扑信息收集的方法及装置 |
WO2017113300A1 (zh) * | 2015-12-31 | 2017-07-06 | 华为技术有限公司 | 路由确定方法、网络配置方法以及相关装置 |
CN106603745B (zh) * | 2016-12-22 | 2019-09-24 | 北京东土科技股份有限公司 | 一种修改协议地址的方法及装置 |
CN111756817A (zh) * | 2020-06-04 | 2020-10-09 | 深圳市三旺通信股份有限公司 | 设备发现方法、装置及计算机可读存储介质 |
-
2020
- 2020-04-01 CN CN202010252487.8A patent/CN111600800B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN111600800A (zh) | 2020-08-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1858212B1 (en) | A MAC Frame Transfer Method, an edge bridge, and a system for reducing flooding | |
US7877508B1 (en) | Method and system for intelligently forwarding multicast packets | |
CN107968750B (zh) | 报文传输方法、装置及节点 | |
US8270406B2 (en) | Method and apparatus for blocking forged multicast packets | |
US20020097732A1 (en) | Virtual private network protocol | |
CN110830371B (zh) | 报文重定向方法、装置、电子设备及可读存储介质 | |
US20080075078A1 (en) | Frame Transfer System | |
US7274704B1 (en) | Piggybacking VPN information in BGP for network based VPN architectures | |
WO2018032962A1 (zh) | 一种信息同步的方法,装置及系统 | |
WO2012156852A1 (en) | Label switched routing to connect low power network domains | |
JP2003110567A (ja) | 無線通信システム及び無線lanアクセスポイント | |
US20070165603A1 (en) | Access network system, subscriber station device, and network terminal device | |
CN102891800A (zh) | 获知溢出地址的可升级转发表 | |
EP1944918B1 (en) | A method and system for realizing the consistency of the virtual circuit status | |
US20190007279A1 (en) | Control apparatus, communication system, virtual network management method, and program | |
US6868086B1 (en) | Data packet routing | |
CN111600800B (zh) | 一种跨网段拓扑发现的方法及设备 | |
CN109257190B (zh) | 一种基于sdn的组播处理方法、控制器、交换机及系统 | |
CN113037883B (zh) | 一种mac地址表项的更新方法及装置 | |
WO2011103761A1 (zh) | 数据报文传输方法及接入设备 | |
CN104734877A (zh) | 一种获取配置服务器信息的方法、装置及系统 | |
Cisco | Configuring Banyan VINES | |
Cisco | Glossary of Terms | |
WO2022222582A1 (zh) | 一种报文处理方法、装置、存储介质及电子装置 | |
WO2024045537A1 (zh) | 报文传输的方法和网络设备 |
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 |