CN104219113B - Display and the method for analysis multicast distributed topology figure - Google Patents
Display and the method for analysis multicast distributed topology figure Download PDFInfo
- Publication number
- CN104219113B CN104219113B CN201410250288.8A CN201410250288A CN104219113B CN 104219113 B CN104219113 B CN 104219113B CN 201410250288 A CN201410250288 A CN 201410250288A CN 104219113 B CN104219113 B CN 104219113B
- Authority
- CN
- China
- Prior art keywords
- node
- port
- multicast
- neighbor
- multicast address
- 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.)
- Expired - Fee Related
Links
Classifications
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Reducing energy consumption in communication networks
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
显示和分析多播分布的拓扑图算法,采用客户端/服务端架构,服务端分为通讯线程和服务线程。通讯线程负责接收客户端的邻居信息和多播地址信息并建立公共数据结构,该结构存放设备信息、端口相连的邻居信息、多播地址信息,并建立三者之间关联。服务线程负责绘制拓扑图和接收用户查询,用户可查看设备的多播地址并查询特定多播地址在网络中的分布。客户端进程和LLDP协议、GMRP协议、IGMP协议同步协作,将邻居信息和多播地址信息发给客户进程,客户进程处理后发给服务端。
Display and analyze the topology map algorithm of multicast distribution, adopt the client/server architecture, and the server is divided into communication thread and service thread. The communication thread is responsible for receiving the client's neighbor information and multicast address information and establishing a public data structure, which stores device information, neighbor information connected to the port, and multicast address information, and establishes the relationship between the three. The service thread is responsible for drawing topology diagrams and receiving user queries. Users can view the multicast addresses of devices and query the distribution of specific multicast addresses in the network. The client process cooperates synchronously with the LLDP protocol, GMRP protocol, and IGMP protocol to send neighbor information and multicast address information to the client process, and the client process sends it to the server after processing.
Description
技术领域technical field
本发明为显示和分析多播分布拓扑图的方法,属于网络通信领域。该算法采用C/S架构,网络中一台PC机作为服务端,网络中的交换机或路由器作为客户端,客户端收集数据上报给服务端,服务端按照客户端上报的数据生成整个网络的拓扑图,同时反映网络中的多播分布情况。The invention relates to a method for displaying and analyzing a multicast distribution topology diagram, which belongs to the field of network communication. The algorithm adopts C/S architecture, a PC in the network is used as the server, and a switch or router in the network is used as the client. The client collects data and reports it to the server. The server generates the topology of the entire network according to the data reported by the client. Figure, while reflecting the multicast distribution in the network.
背景技术Background technique
现在网络中多播应用非常广泛,多播和广播相比有明显的优势:一点发送,多点接收,接收方可以选择离开或加入该多播组。和广播不同的是,不加入多播组的设备,可以不受多播影响,减轻了这些设置处理负担。多播的广泛的应用带来的一个问题就是管理员需要了解当前网络的多播分布情况,比如一个特定多播地址在网络中流动的路径,该多播的源发起端在何处,它的最终的目的端在何处,中间通过何种设备。本发明提出的算法可以解决上述问题,它计算整个网络的拓扑图,同时在拓扑图上显示多播分布情况,帮助用户诊断网络。它直观、实时地显示网络中的多播路径,查看特定多播流所经过的设备,以及该多播流的发送端和接收端。本算法支持复杂的拓扑图生成,和多播路径结合起来,可以在生成的网络拓扑图上显示特定拓扑节点的多播流,同时实时展示特定的多播流流经的拓扑节点,方便管理员的监视和管理。Nowadays, multicast is widely used in the network. Compared with broadcast, multicast has obvious advantages: send at one point, receive at many points, and the receiver can choose to leave or join the multicast group. Unlike broadcasting, devices that do not join a multicast group are not affected by multicasting, which reduces the burden of these settings. One of the problems brought about by the wide application of multicast is that the administrator needs to understand the multicast distribution of the current network, such as the flow path of a specific multicast address in the network, where is the originator of the multicast, and its Where is the final destination and what kind of equipment is passed in the middle. The algorithm proposed by the invention can solve the above problems. It calculates the topological diagram of the entire network, and at the same time displays the multicast distribution on the topological diagram to help users diagnose the network. It intuitively displays the multicast path in the network in real-time, viewing the devices that a particular multicast flow passes through, and the sender and receiver of the multicast flow. This algorithm supports the generation of complex topology graphs. Combined with multicast paths, it can display the multicast streams of specific topological nodes on the generated network topology graph, and at the same time display the topological nodes through which specific multicast streams flow in real time, which is convenient for administrators. monitoring and management.
发明内容Contents of the invention
本算法采用C/S结构,选择网络中一台PC作为服务端,网络中交换机和路由器作为客户端,客户端和服务端之间采用UDP协议通讯。服务端的程序分成两个独立的线程,分别是通讯线程和服务线程。通讯线程负责和客户端的通讯并接收客户端的上传信息,根据上传信息生成网络拓扑图,保存各种上传数据,建立各网络节点和多播地址的对应关系。服务线程主要用来展现拓扑图,展现各个节点上的多播表,同时提供查询入口供管理人员使用。两个线程使用公共的数据结构来存放拓扑图和多播表的数据,两个线程采用同步机制,通讯线程收到客户端的数据,建立维护公共数据结构,在操作完公共数据结构后则通知服务线程,服务线程接收到通知,读取公共的数据结构,按照公共数据结构存放的信息重新绘制拓扑图。通讯线程和服务线程的同步关系如图1所示。This algorithm adopts the C/S structure, selects a PC in the network as the server, switches and routers in the network as the client, and uses UDP protocol for communication between the client and the server. The server program is divided into two independent threads, namely the communication thread and the service thread. The communication thread is responsible for communicating with the client and receiving the uploaded information from the client, generating a network topology map based on the uploaded information, saving various uploaded data, and establishing the corresponding relationship between each network node and the multicast address. The service thread is mainly used to display the topology map, display the multicast table on each node, and provide query entry for management personnel to use. The two threads use a common data structure to store the data of the topology map and the multicast table. The two threads use a synchronization mechanism. The communication thread receives the data from the client, establishes and maintains the common data structure, and notifies the service after operating the common data structure Thread, the service thread receives the notification, reads the public data structure, and redraws the topology map according to the information stored in the public data structure. The synchronization relationship between the communication thread and the service thread is shown in Figure 1.
公共数据结构包括三个部分:设备链表、多播地址表。设备链表包含设备节点。设备节点包括设备标示、设备IP地址、设备MAC地址,指向端口节点的指针、指向下一个设备节点的指针。端口节点包括:本端的端口编号、对端的端口编号,邻居设备指针、指向同一个设备的下一个端口节点的指针;多播地址表包括:多播地址节点,该节点包含多播地址的类型、多播MAC地址、多播IP地址、指向的多播设备节点的指针,指向下一个多播地址节点的指针。多播设备节点包括指向设备节点的指针、该多播地址使用的设备端口向量,指向下一个多播设备节点的指针。公共数据结构之间的关系如图2所示。The public data structure includes three parts: device linked list and multicast address table. The device list contains device nodes. A device node includes a device label, a device IP address, a device MAC address, a pointer to a port node, and a pointer to the next device node. The port node includes: the port number of the local end, the port number of the opposite end, the neighbor device pointer, and the pointer pointing to the next port node of the same device; the multicast address table includes: the multicast address node, which contains the type of multicast address, Multicast MAC address, multicast IP address, pointer to the multicast device node, and pointer to the next multicast address node. The multicast device node includes a pointer to the device node, a device port vector used by the multicast address, and a pointer to the next multicast device node. The relationship between public data structures is shown in Figure 2.
服务端和客户端采用UDP协议,客户端发现连接变化或IP/MAC多播流变化时,主动上传信息给服务端。网络稳定的情况下需要上传的数据很少,当网络产生变化时需要及时将变化信息发给服务端,服务端和客户端经常是短连接,传输的数据量不大,对时间要求较高,故采用UDP协议,同时相比TCP服务器采用UDP服务端可以支持更多的UDP客户端。服务端对客户端上传的报文进行确认,为此通讯双方定义两种数据格式:客户端上传的数据格式和服务端确认的数据格式。上传的数据格式包含:序列号、发送者IP地址、发送者MAC地址、命令类型、命令的正文部分。其中一个上传的UDP报文包含一个或者多个命令的类型和命令的正文部分,命令的类型决定了正文部分的内容,命令的类型及其正文有下面几种:The server and the client adopt the UDP protocol. When the client finds that the connection changes or the IP/MAC multicast flow changes, it actively uploads information to the server. When the network is stable, very little data needs to be uploaded. When the network changes, it is necessary to send the change information to the server in a timely manner. The server and the client often have short connections, the amount of transmitted data is not large, and the time requirement is high. Therefore, the UDP protocol is adopted, and the UDP server can support more UDP clients than the TCP server. The server confirms the message uploaded by the client, and the communication parties define two data formats: the data format uploaded by the client and the data format confirmed by the server. The uploaded data format includes: serial number, sender IP address, sender MAC address, command type, and command text. One of the uploaded UDP packets contains one or more command types and the text part of the command. The type of command determines the content of the text part. The types of commands and their texts are as follows:
1.命令类型0x01,含义是加入新的邻居;该命令的正文包括:发送者的IP地址,发送者的MAC地址,本端的端口编号,对端的端口编号,邻居的IP地址,邻居的MAC地址。1. The command type is 0x01, which means to join a new neighbor; the text of the command includes: sender's IP address, sender's MAC address, local port number, peer port number, neighbor's IP address, neighbor's MAC address .
2.命令类型0x11,含义是失去邻居连接;该命令的正文包括:发送者的IP地址,发送者的MAC地址,本端的端口编号,对端的端口编号,邻居的IP地址,邻居的MAC地址。2. The command type is 0x11, meaning that the neighbor connection is lost; the text of the command includes: the IP address of the sender, the MAC address of the sender, the port number of the local end, the port number of the peer end, the IP address of the neighbor, and the MAC address of the neighbor.
3.命令类型0x02,含义是新加入多播地址;该命令正文包括:发送者的IP地址,发送者的MAC地址,多播地址的类型,多播IP地址,多播MAC地址,对应的端口向量。3. The command type is 0x02, which means adding a new multicast address; the command text includes: sender's IP address, sender's MAC address, type of multicast address, multicast IP address, multicast MAC address, and corresponding port vector.
4.命令类型0x22,含义是多播地址离开;该命令正文包括:发送者的IP地址,发送者的MAC地址,多播地址的类型,多播IP地址,多播MAC地址,对应的端口向量。4. The command type is 0x22, which means leaving the multicast address; the text of the command includes: sender’s IP address, sender’s MAC address, type of multicast address, multicast IP address, multicast MAC address, and corresponding port vector .
首先服务端绑定双方约定的公共的UDP端口,等待客户端数据到达。服务端收到客户端的上传报文后,首先发出回应报文,回应报文内容包括上传报文的序列号,然后解析报文的内容,操作公共数据结构。服务端取出报文中发送方的IP和发送方的MAC地址,据此查询对应的设备链表。如果没有查询到对应的设备节点,则新建一个设备节点,然后查看命令的类型。First, the server binds the public UDP port agreed by both parties, and waits for the client data to arrive. After receiving the upload message from the client, the server first sends a response message. The content of the response message includes the serial number of the upload message, and then parses the content of the message and operates the public data structure. The server retrieves the sender's IP and MAC address from the message, and queries the corresponding device list accordingly. If the corresponding device node is not found, create a new device node and check the command type.
如果命令类型是0x01,用命令正文中发送者设备的IP和MAC在设备链表中找到对应的发送设备节点,如果可以找到对应的设备,按照命令正文中的本端的端口编号,查找设备节点指向的端口链表有无对应的本端的端口编号的端口节点,如果有对应的端口节点存在,则将端口节点的邻居设备针指向的设备节点与命令正文中邻居设备的IP和MAC进行比较。如果相等,则证明该邻居关系已经存在,结束处理;如果邻居设备不能匹配,则用命令正文中邻居设备的IP和MAC在设备链表中找到对应的设备节点,若找到对应的邻居设备节点,则修改端口节点的邻居设备指针指向新找到的设备节点,若没有找到邻居设备,则创建一个新的设备节点,插入到设备链表的末尾,然后端口节点的邻居设备指针指向该设备;如果没找到对应的发送设备的本端的端口编号,则创建一个端口节点,插入到设备节点端口链表的尾部,用命令正文中的邻居设备的IP和MAC在设备链表中找对应的设备节点,如果找到对应的邻居设备将新创建的端口节点的邻居设备指针指向找到的设备节点,如果没有找到邻居设备,创建一个新的设备节点,插入到设备链表的末尾,该端口节点的邻居设备指针指向该设备。If the command type is 0x01, use the IP and MAC of the sender device in the command text to find the corresponding sending device node in the device linked list. If the corresponding device can be found, search for the device node pointed to by the port number of the local end in the command text. Whether there is a port node corresponding to the local port number in the port list, if there is a corresponding port node, compare the device node pointed to by the neighbor device pin of the port node with the IP and MAC of the neighbor device in the command text. If they are equal, it proves that the neighbor relationship already exists, and the process ends; if the neighbor device cannot match, then use the IP and MAC of the neighbor device in the command text to find the corresponding device node in the device list, if the corresponding neighbor device node is found, then Modify the neighbor device pointer of the port node to point to the newly found device node. If no neighbor device is found, create a new device node and insert it at the end of the device list, and then the neighbor device pointer of the port node points to the device; if no corresponding The local port number of the sending device, create a port node, insert it at the end of the port list of the device node, use the IP and MAC of the neighbor device in the command text to find the corresponding device node in the device list, if the corresponding neighbor is found The device points the neighbor device pointer of the newly created port node to the found device node. If no neighbor device is found, create a new device node and insert it at the end of the device list. The neighbor device pointer of the port node points to the device.
如果命令类型是0x11,用命令正文中发送者设备的IP和MAC在设备链表中找到对应的发送设备节点,如果没有对应的发送设备结束处理。如果有对应的发送设备,按照命令正文中的本端的端口编号,查找设备节点指向的端口表有无对应的端口,如果没有对应端口结束处理;如果有对应的端口节点,将端口节点的邻居设备指针指向的设备节点的IP和MAC与命令正文中的邻居设备的IP和MAC进行比较。如果比较相同,则把端口的设备指针设为空指针;如果比较不相同,则不作处理。If the command type is 0x11, use the IP and MAC of the sender device in the command text to find the corresponding sending device node in the device linked list, and if there is no corresponding sending device, end the process. If there is a corresponding sending device, according to the port number of the local end in the command text, check whether there is a corresponding port in the port table pointed to by the device node, and if there is no corresponding port, end the processing; The IP and MAC of the device node pointed to by the pointer are compared with the IP and MAC of neighbor devices in the command text. If the comparison is the same, the device pointer of the port is set to a null pointer; if the comparison is not the same, no processing is performed.
如果命令的类型是0x02,则代表有新的多播地址加入,首先查找多播地址表,如果找到多播地址节点,则查找多播地址指向的多播设备节点,如果多播设备节点的设备指针所指向的设备节点的IP和MAC和报文中的IP和MAC一样,则用用命令正文中端口向量填充该节点的端口向量,结束处理流程;如果没有找到对应的设备节点,创建一个新的设备节点,插入到设备链表的末尾,用用命令正文中端口向量填充该节点的端口向量,多播设备节点的设备指针所指向新建立的设备。如果没有找到多播地址节点,则添加一个多播地址节点;然后查找该多播地址关联的设备节点是否存在,如果不存在则新建一个设备节点,该设备节点放到设备链表的末尾,然后按照报文中的端口向量创建一个或多个端口节点,新创建的设备链表节点的端口节点指针指向新创建的端口节点;新的多播地址节点的设备链表设备指针指向新建的设备节点,用命令正文中端口向量填充该节点的端口向量,设备指针指向创建的设备节点。如果找到多播地址节点,然后查找该多播地址关联的设备节点是否存在,如果不存在则新建一个设备链表节点,该设备链表节点放到设备链表的末尾,然后按照报文中的端口向量创建一个或多个端口节点,新创建的设备链表节点的端口节点指针指向新创建的端口节点;新的多播地址节点的设备链表设备指针指向新建的设备节点,用命令正文中端口向量填充该节点的端口向量,设备指针指向创建的设备节点。如果存在该设备节点,查看多播设备节点的端口向量是否相同,若果不相同则替换,相同则结束处理。如果多播地址节点存在的同时对应的设备也存在,则查看多播设备节点的端口向量是否相同,若果不相同则替换,相同则结束处理。If the type of the command is 0x02, it means that there is a new multicast address added. First, search the multicast address table. If the multicast address node is found, then search for the multicast device node pointed to by the multicast address. If the device of the multicast device node The IP and MAC of the device node pointed to by the pointer are the same as the IP and MAC in the message, then fill the port vector of the node with the port vector in the command text, and end the processing flow; if the corresponding device node is not found, create a new one Insert the device node at the end of the device linked list, fill the port vector of the node with the port vector in the command text, and the device pointer of the multicast device node points to the newly created device. If no multicast address node is found, add a multicast address node; then check whether the device node associated with the multicast address exists, if not, create a new device node, put the device node at the end of the device list, and then follow The port vector in the message creates one or more port nodes, and the port node pointer of the newly created device link list node points to the newly created port node; the device link list device pointer of the new multicast address node points to the newly created device node, and the command The port vector in the body fills the port vector of the node, and the device pointer points to the created device node. If the multicast address node is found, then check whether the device node associated with the multicast address exists, if not, create a new device link list node, put the device link list node at the end of the device link list, and then create it according to the port vector in the message One or more port nodes, the port node pointer of the newly created device link list node points to the newly created port node; the device link list device pointer of the new multicast address node points to the newly created device node, fill this node with the port vector in the command text port vector, and the device pointer points to the created device node. If the device node exists, check whether the port vectors of the multicast device nodes are the same, if not, replace them, and end the process if they are the same. If the multicast address node exists and the corresponding device also exists, check whether the port vectors of the multicast device nodes are the same, if not, replace them, and end the process if they are the same.
如果命令的类型是0x22,则代表有多播地址离开,首先查找多播地址表,如果找到多播地址节点,查找它指向的设备节点指针,然后比较设备指针指向的多播设备节点的设备的IP地址和MAC地址与报文发送方的IP地址和MAC地址是否相等。如果相等判断报文中的端口向量和多播设备节点中端口向量按位进行比较,如果对应的位两者都是1,则该多播设备对应的端口向量的该位置0;若多播设备指针指向的多播设备的ip地址和mac于报文中不相等,比较下一个多播设备节点指针指向的下一个多播设备节点。上述服务端接收命令的处理流程如图3所示。If the type of the command is 0x22, it means that the multicast address is left, first look up the multicast address table, if you find a multicast address node, look up the device node pointer it points to, and then compare the multicast device node pointed to by the device pointer Whether the IP address and MAC address are equal to those of the sender of the packet. If it is equal, the port vector in the message is compared with the port vector in the multicast device node bit by bit, if both of the corresponding bits are 1, then the position of the port vector corresponding to the multicast device is 0; if the multicast device The ip address of the multicast device pointed to by the pointer is not equal to the mac in the message, and the next multicast device node pointed to by the next multicast device node pointer is compared. The processing flow of the command received by the server above is shown in FIG. 3 .
如上所述,服务端的通讯线程负责建立并维护公共数据结构,如果通讯线程发现公共数据结构有任何更改,通知服务线程开始重新绘制拓扑图。服务端长时间运行,随着时间的推移,公共数据结构会有越来越多的垃圾数据,为此通讯线程打开定时器,定时收集清理公共数据结构中不需要的数据。具体的清理方法如下:As mentioned above, the communication thread on the server is responsible for establishing and maintaining the public data structure. If the communication thread finds any changes in the public data structure, it will notify the service thread to start redrawing the topology map. The server runs for a long time. As time goes by, there will be more and more garbage data in the public data structure. For this reason, the communication thread starts a timer to regularly collect and clean up unnecessary data in the public data structure. The specific cleaning method is as follows:
首先清理孤立的设备节点,孤立的设备节点是没有任何邻居设备的节点。依次扫描设备链表,查看设备链表指向的端口链表指针是否是空指针,如果是空指针,表明该设备没有邻居,是一个孤立的设备,则删除该设备节点;如果端口链表指针非空,检查该设备的所有的端口节点的邻居设备指针是否都是空指针,如果都是空指针,则可以删除该设备的所有端口节点,然后删除该设备节点。其次清空无效的多播地址,无效的多播地址是指该多播地址不在任何设备上。清除的步骤是:扫描多播地址表,查看多播地址节点的多播设备节点指针是否为空指针,如果是空指针,删除该多播地址节点。First clean up orphaned device nodes, which are nodes without any neighbor devices. Scan the device list one by one to check whether the port list pointer pointed to by the device list is a null pointer. If it is a null pointer, it indicates that the device has no neighbors and is an isolated device, then delete the device node; if the port list pointer is not empty, check the Whether the neighbor device pointers of all the port nodes of the device are null pointers, if they are all null pointers, all port nodes of the device can be deleted, and then the device node can be deleted. Secondly, empty the invalid multicast address. An invalid multicast address means that the multicast address is not on any device. The cleaning step is: scan the multicast address table, check whether the multicast device node pointer of the multicast address node is a null pointer, and delete the multicast address node if it is a null pointer.
服务线程的功能之一是生成网络拓扑图,生成拓扑图的可以采用深度优先搜索算法和广度优先搜索的算法。本算法采用深度优先搜索,其具体步骤是:One of the functions of the service thread is to generate a network topology map, and the depth-first search algorithm and the breadth-first search algorithm can be used to generate the topology map. This algorithm uses depth-first search, and its specific steps are:
A.设置环网标志量为0表明没有出现环路,设备链表的每个节点设置为没有搜索完成标志;A. Set the ring network flag amount to 0 to indicate that there is no loop, and each node of the device linked list is set to have no search completion flag;
B.寻找一个没有搜索完成的设备,如果没有找到该设备退出整个步骤。如果找到该设备,把该设备的当前深度和最大深度置0,建立当前设备当前深度路径向量,当前深度路径向量,最深深度路径向量,同时把所有设备的所有端口设置为未被访问标志;B. Look for a device that has not been searched. If the device is not found, exit the whole step. If the device is found, set the current depth and maximum depth of the device to 0, establish the current depth path vector of the current device, the current depth path vector, and the deepest depth path vector, and set all ports of all devices as unvisited flags;
C.建立一个栈,栈的元素包含节点的类型,设备节点,端口节点;如果类型等于0代表存放的是设备,端口节点清零代表没有意义;如果类型等于1存放的是端口,此时设备存放的是端口所在的设备节点,端口存放端口节点数据,代表当前设备节点入栈;把步骤B找到的未搜索完成设备节点入栈,设备节点存入当前深度路径向量,当前深度值1;C. Create a stack. The elements of the stack include the type of node, device node, and port node; if the type is equal to 0, it means that the device is stored, and the port node is cleared to indicate that it is meaningless; if the type is equal to 1, the port is stored. At this time, the device Stores the device node where the port is located, and the port stores the port node data, representing the current device node into the stack; the unsearched device node found in step B is pushed into the stack, and the device node is stored in the current depth path vector, and the current depth value is 1;
D.判断栈是否为空,如果栈为空,最近出栈的设备节点设置为搜索已完成,转步骤B;如果不为空,取栈顶元素,如果栈顶元素是端口节点则转向步骤E;如果栈顶元素是设备节点,查找该设备未被访问过的端口节点并入栈,设置该端口为已访问标志,同时把端口节点指向的邻居设备的对应的端口设置为已访问标志;如果设备没有找到未被访问过的端口节点,则出栈,当前深度减一,当前路径深度向量移除该设备,转向步骤D;如果找到该端口,该端口入栈,设置该端口为已访问标志,同时把端口节点指向的邻居设备的对应的端口设置为已访问标志;如果该端口节点的邻居设备指针存在,查看指针所指的设备节点和路径向量中的节点是否相同,相同转步骤G,如果都不相同,则当前深度加1,邻居设备存入当前深度路径向量,然后跳转到邻居设备指针指向的设备节点,邻居设备入栈,同时移入当前深度路径向量;转步骤F;D. Determine whether the stack is empty, if the stack is empty, set the device node popped out of the stack as the search completed, go to step B; if not empty, take the top element of the stack, if the top element of the stack is a port node, go to step E ; If the top element of the stack is a device node, find the unvisited port node of the device and add it to the stack, set the port as the visited flag, and set the corresponding port of the neighbor device pointed to by the port node as the visited flag; if If the device does not find a port node that has not been visited, it will be popped out of the stack, the current depth will be reduced by one, the current path depth vector will remove the device, and turn to step D; if the port is found, the port will be pushed into the stack, and the port will be set as the visited flag , and at the same time set the corresponding port of the neighbor device pointed to by the port node as the visited flag; if the neighbor device pointer of the port node exists, check whether the device node pointed to by the pointer is the same as the node in the path vector, if the same, go to step G, If they are not the same, add 1 to the current depth, store the neighbor device in the current depth path vector, and then jump to the device node pointed to by the pointer of the neighbor device, push the neighbor device into the stack, and move into the current depth path vector at the same time; go to step F;
E.如果栈顶元素是端口节点,从该栈顶元素中得到端口所在的设备,查找该设备的未访问的端口节点,找到该端口入栈,设置该端口为已访问标志,同时把端口节点指向的邻居设备的对应的端口设置为已访问标志,端口节点所指邻居设备节点入栈,转向步骤D;未访问的端口节点不存在,出栈,转向步骤D;E. If the top element of the stack is a port node, get the device where the port is located from the top element of the stack, search for the unvisited port node of the device, find the port and put it on the stack, set the port as the visited flag, and at the same time put the port node The corresponding port of the pointed neighbor device is set as the visited flag, and the neighbor device node pointed to by the port node is pushed into the stack, and turns to step D; the unvisited port node does not exist, pops out of the stack, and turns to step D;
F.当前深度加1,当前深度大于最大深度时,用当前深度更新最大深度,同时当前深度路径向量复制到最大深度向量,转向步骤D;F. Add 1 to the current depth. When the current depth is greater than the maximum depth, update the maximum depth with the current depth, and copy the current depth path vector to the maximum depth vector, and turn to step D;
G.如果相同,则证明出现环路,记录环路上的所有节点并保存,设置环网标志量为1表明出现环路,同时保存该环存在的节点数,放弃本次深度搜索,把环路中出现的所有节点,设置为已搜索完成标记,然后开始寻找下个深度优先搜索的根节点,该节点没有在记录的环路中出现过。转向步骤B;G. If they are the same, it proves that there is a loop, record and save all the nodes on the loop, set the ring network flag to 1 to indicate that there is a loop, and save the number of nodes that exist in the ring at the same time, give up this deep search, and save the loop All the nodes that appear in , set the search completion flag, and then start looking for the root node of the next depth-first search, which has not appeared in the recorded cycle. Go to step B;
重复上述所有步骤直到所有设备都设置了搜索完成标志,通过上述操作可以求出所有以该设备为根节点的最大深度。如果在求最大深度过程中没有发现在重复的节点,则网络结构是树形拓扑结构。求最大深度的算法流程如图4所示。Repeat all the above steps until all the devices have set the search completion flag, through the above operations, you can find the maximum depth of all the devices with this device as the root node. If no repeated nodes are found in the process of finding the maximum depth, the network structure is a tree topology. The algorithm flow for finding the maximum depth is shown in Figure 4.
求出最大深度后,开始计算设备之间的距离,每个设备所占的面积,用正方形代表设备,设备之间的距离等于画布的总高度除以最大深度:假设该距离为D,代表设备的正方形的边长等于设备距离的八分之一,即边长a=D/8。每个设备有2个隐藏画布,一个画布记录设备的基本信息包括设备标示、IP地址、MAC地址,另一个画布记录设备的每个端口关联的多播地址。同时每2个设备的连线的两端有一个隐藏画图,记录所连设备的端口号。After finding the maximum depth, start to calculate the distance between the devices. The area occupied by each device is represented by a square. The distance between the devices is equal to the total height of the canvas divided by the maximum depth: assuming that the distance is D, which represents the device The side length of the square is equal to one-eighth of the distance from the device, that is, the side length a=D/8. Each device has 2 hidden canvases, one canvas records the basic information of the device including device identification, IP address, MAC address, and the other canvas records the multicast address associated with each port of the device. At the same time, there is a hidden drawing at both ends of the connection between every two devices, recording the port number of the connected device.
网络拓扑图有两大类:树形拓扑结构、环形拓扑结构。按照深度优先搜索和广度优先搜索,在搜索路径中出现两个和多个同样的设备节点,则可以判断是环形拓扑结构,否则是树形拓扑结构,本算法求设备节点的最大深度过程中判断网络是环形还是树形拓扑,并采用不同的方法绘制拓扑图。There are two types of network topology diagrams: tree topology and ring topology. According to the depth-first search and breadth-first search, if two or more identical device nodes appear in the search path, it can be judged to be a ring topology, otherwise it is a tree topology. This algorithm judges in the process of finding the maximum depth of the device node Whether the network is a ring or a tree topology, and the topology is drawn in different ways.
树形拓扑结构的绘制步骤为:检测环网标志量,如果为0,则代表是树形结构,检查每个设备节点的最大深度,如果深度相同则比较设备的mac地址,mac地址小的优先,把它们进行降序排列,找到排列第一个设备,把它置于画布的最上方的中央位置,然后遍历该设备的路径向量,当前扫描下标的设备指向排列的开始,从下标指向的排列的第1个设备开始,在设备的正下方的D距离,画出下一个设备,然后画线连接这两个设备。按此方法画出此设备的最大深度路径上的所有设备。当深度最深设备的最深路径的所有设备连线绘制完成以后,当前扫描下标加1,开始绘制扫描下标所指的设备最大深度的设备节点路径:首先判断该设备是否在以前绘制的图形中出现过,如果出现过则不用单独绘制,找出该节点,然后按照绘制第一条最深路径的方法进行绘制。每次绘制该节点之前,首先判断该节点是否已经存在,如果已经存在则不用绘制,直接用直线连接即可。如果该节点未出现过,水平偏移D距离,垂直偏移H(H=(最大深度-当前节点深度)×D),绘制该节点。另外为了图的总体保持平衡,轮流在最深的路径左右两边绘制路径和设备,每次绘制向下方偏离D距离,同时向左边或右边偏离D距离。按照此种方法直到队列中的所有设备都绘制完成。然后再次扫描设备链表,这次按照广度优先搜索,检查哪些设备连线没有绘制,如果没有绘制则用指向连上这两个设备。树形结构的绘制方法如图5所示The drawing steps of the tree topology are as follows: detect the amount of the ring network flag, if it is 0, it means it is a tree structure, check the maximum depth of each device node, if the depth is the same, compare the mac address of the device, the one with the smaller mac address is preferred , arrange them in descending order, find the first device in the arrangement, place it in the uppermost center of the canvas, and then traverse the path vector of the device, the device currently scanning the subscript points to the beginning of the arrangement, and the arrangement pointed to by the subscript Starting from the first device, draw the next device at a distance D directly below the device, and then draw a line connecting the two devices. Draw all devices on the maximum depth path for this device in this way. When all the device connections of the deepest path of the deepest device are drawn, add 1 to the current scan subscript, and start to draw the device node path of the maximum depth of the device pointed to by the scan subscript: first determine whether the device is in the previously drawn graph It has appeared, if it has appeared, there is no need to draw it separately, find out the node, and then draw it according to the method of drawing the first deepest path. Before drawing the node each time, first judge whether the node already exists, if it already exists, do not need to draw, just connect it with a straight line. If the node has not appeared before, the horizontal offset is D, the vertical offset is H (H=(maximum depth-current node depth)×D), and the node is drawn. In addition, in order to keep the overall balance of the map, paths and equipment are drawn on the left and right sides of the deepest path in turn. Each time the drawing deviates from the D distance downward, and at the same time deviates from the D distance to the left or right. Follow this method until all devices in the queue are drawn. Then scan the device list again, this time according to the breadth-first search, check which device connections are not drawn, if not, use the pointer to connect the two devices. The drawing method of the tree structure is shown in Figure 5
环形拓扑图的绘制,检测环网标志量,如果为1,检查保存的所有的环网节点和环网中节点数数据,从中找出保存的节点数最多的那个环。如果几个环的节点数一样,则先检测的优先,把该环的节点数设置为深度H,绘制该环上的设备并连线,在画布的中央确定一点,以该点为圆心、画布的1/4宽度为半径,开始绘制圆周长上的设备。每次增加360/H度圆心角,绘制出环上的所有设备并直线连接。然后再依次以该环上的设备为源点,做广度搜索,首先查看它邻居设备在已绘制的图中是否出现,如果出现过并且他们之间没有连线,则直接画直线连接这两个设备;如果没有出现过,以环上的设备为圆心,画布的1/8宽度为半径,把它的未出现的邻居设备都绘制在画布上。每次绘制增加一个固定角度的圆心角,假设它为T=360/未出现过的邻居数,当把环上所有设备的邻居都绘制完以后,再按照同样的方式,以这些新加入的设备为圆心开始绘制,直到所有的边和设备都在画布上出现过。Draw the ring topology map, check the ring network flag, if it is 1, check all the ring network nodes and the number of nodes in the ring network, and find out the ring with the largest number of nodes. If the number of nodes in several rings is the same, the one detected first will be given priority. Set the number of nodes in the ring to the depth H, draw the devices on the ring and connect them, and determine a point in the center of the canvas, with this point as the center of the circle. 1/4 the width of the canvas is the radius, starting to draw the device on the circumference of the circle. Increase the central angle by 360/H degrees each time, draw all the equipment on the ring and connect them in a straight line. Then take the devices on the ring as the source point in turn, do a breadth search, first check whether its neighbor devices appear in the drawn diagram, if they appear and there is no connection between them, directly draw a straight line to connect the two Device; if it has not appeared, take the device on the ring as the center and 1/8 of the width of the canvas as the radius, and draw its non-appearing neighbor devices on the canvas. Each drawing increases a fixed angle of the central angle, assuming it is T=360/the number of neighbors that have not appeared before. After drawing the neighbors of all devices on the ring, follow the same method to use these newly added devices Start drawing for the center of the circle until all sides and devices are present on the canvas.
按照上述的树形结构和环形结构的绘制方法,在绘制每个设备的同时,在隐藏图层的同样位置添加该设备的IP地址、MAC地址、描述信息、设备连线两边的端口信息。在所有设备及设备之间的连线绘制完成后,扫描多播地址表,将多播地址添加到多播地址关联设备的隐藏画布上,同时也添加该多播地址对应设备的端口向量。According to the drawing method of the above-mentioned tree structure and ring structure, when drawing each device, add the IP address, MAC address, description information, and port information on both sides of the device connection at the same position of the hidden layer. After all the devices and the connections between the devices are drawn, scan the multicast address table, add the multicast address to the hidden canvas of the device associated with the multicast address, and also add the port vector of the device corresponding to the multicast address.
服务端的服务线程负责用户接口部分,它具有显示并隐藏图层、查询设备信息、查询多播地址信息、查询多播路径等各种功能。用户查询特定设备的多播地址,只需要把设备隐藏的多播地址画布重新显示出来。用户要想查询特定的多播地址是否在当前网络中存在,首先需查询该地址是否存在于多播地址表中,如果在多播地址表中不存在,返回查询失败信息;如果存在,则查询多播地址指向的多播设备指针链表,然后在画布上把指针所指向的这些相关设备加亮显示,连线也加粗显示。藉此可以查看当前网络中的任何一个多播地址在网络中的分布情况。The service thread of the server is responsible for the user interface part, which has various functions such as displaying and hiding layers, querying device information, querying multicast address information, and querying multicast paths. When users query the multicast address of a specific device, they only need to redisplay the hidden multicast address canvas of the device. If the user wants to inquire whether a specific multicast address exists in the current network, he first needs to inquire whether the address exists in the multicast address table. If it does not exist in the multicast address table, the query failure information will be returned; The linked list of multicast device pointers pointed to by the multicast address, and then these related devices pointed to by the pointer are highlighted on the canvas, and the connection lines are also boldly displayed. In this way, you can view the distribution of any multicast address in the current network in the network.
客户端负责上传信息给服务端,客户端需要知道服务端的IP地址和端口号,一般端口号保持不变,但是有时网络管理员会更改服务端的IP设置,或者管理员把服务端从一台电脑迁移到另一台电脑,此时在常规情况下所有的客户端都需要重新配置。本发明提出以下的方案解决该问题:服务端运行过程中,周期性的对外广播自己的IP地址,客户端在刚开始运行中首先采用以前保存的IP来探测服务端是否正常,如果超时没有收到服务端的响应信息,开始接收服务端的广播信息,从接收的广播信息的内容中得到新的服务端的IP地址,然后用新的IP地址和服务端通讯,并保存该IP地址,到下次运行时使用该地址。The client is responsible for uploading information to the server. The client needs to know the IP address and port number of the server. Generally, the port number remains unchanged, but sometimes the network administrator will change the IP settings of the server, or the administrator will switch the server from a computer Migrate to another computer, at which point all clients will normally need to be reconfigured. The present invention proposes the following solutions to solve this problem: in the running process of the server, it periodically broadcasts its own IP address to the outside, and the client first uses the previously saved IP to detect whether the server is normal when it starts running. Response information to the server, start to receive the broadcast information of the server, get the IP address of the new server from the content of the received broadcast information, then use the new IP address to communicate with the server, and save the IP address until the next operation use this address.
客户端需要上传邻居信息和多播地址信息,客户端进程和LLDP协议进程,GMRP协议进程,IGMP协议进程进行同步协作。同步协作的方式有管道、消息队列、共享内存、网络套接字等几种类型。在本算法中采用消息队列,这里消息类型和服务端处理的命令的类型是完全一样的,消息类型的编号和含义如下:The client needs to upload neighbor information and multicast address information, and the client process and LLDP protocol process, GMRP protocol process, and IGMP protocol process perform synchronous cooperation. There are several types of synchronous collaboration methods such as pipelines, message queues, shared memory, and network sockets. In this algorithm, a message queue is used, where the message type is exactly the same as the command type processed by the server, and the number and meaning of the message type are as follows:
1.消息类型0x01,发现新的邻居。1. Message type 0x01, new neighbor found.
2.消息类型0x02,以前的邻居失去联系。2. Message type 0x02, the previous neighbor lost contact.
3.消息类型0x11,发现新的多播地址。3. Message type 0x11, new multicast address found.
4.消息类型0x12,多播地址离开一个端口。4. Message type 0x12, multicast address leaves a port.
客户端进程需要和LLDP协议进程协作得到邻居信息,两个进程之间采用消息队列进行数据传送和同步。LLDP协议发现一个新的邻居后,设置消息类型0x01,将发送者的IP地址、发送者的MAC地址、邻居的IP地址、MAC地址及对应的端口号等这些信息,通过消息队列发给客户端进程。客户端进程在消息队列中收到该信息后,组装成UDP报文发给服务端。LLDP协议发现邻居失去联系后,设置消息类型0x02,将发送者的IP地址、发送者的MAC地址、邻居的IP地址、MAC地址及对应的端口号这些信息,通过消息队列发给客户端进程,客户端进程在队列中收到该信息后,组装成UDP报文发给服务端。The client process needs to cooperate with the LLDP protocol process to obtain neighbor information, and the message queue is used between the two processes for data transmission and synchronization. After the LLDP protocol discovers a new neighbor, it sets the message type to 0x01, and sends the information such as the sender's IP address, the sender's MAC address, the neighbor's IP address, MAC address, and the corresponding port number to the client through the message queue process. After the client process receives the information in the message queue, it assembles it into a UDP message and sends it to the server. After the LLDP protocol finds that the neighbor has lost contact, it sets the message type to 0x02, and sends the sender's IP address, sender's MAC address, neighbor's IP address, MAC address and corresponding port number to the client process through the message queue. After the client process receives the information in the queue, it assembles it into a UDP message and sends it to the server.
客户端进程需要和GMRP协议或者IGMP协议进程协作得到多播地址信息,当GMRP协议或者IGMP协议进程收到加入报文注册多播地址时,设置消息类型0x11,将发送者的IP地址、发送者的MAC地址、多播地址类型、多播地址、对应的端口向量,写到消息队列中,当GMRP协议或者IGMP协议进程收到离开报文注销多播地址时或者多播地址超时被清楚时,设置消息类型0x12,把发送者的IP地址、发送者的MAC地址、多播地址类型、多播地址、对应的端口向量、写到消息队列中。客户端进程在队列中收到该信息后,组装成UDP报文发给服务端。服务端和客户端的进程间的协作关系如图5所示。The client process needs to cooperate with the GMRP protocol or IGMP protocol process to obtain multicast address information. When the GMRP protocol or IGMP protocol process receives a join message to register a multicast address, set the message type to 0x11, and send the sender’s IP address, sender The MAC address, multicast address type, multicast address, and corresponding port vector are written to the message queue. When the GMRP protocol or IGMP protocol process receives the leave message and cancels the multicast address or when the multicast address timeout is cleared, Set the message type to 0x12, and write the sender's IP address, sender's MAC address, multicast address type, multicast address, and corresponding port vector into the message queue. After the client process receives the information in the queue, it assembles it into a UDP message and sends it to the server. The cooperative relationship between the processes of the server and the client is shown in Fig. 5 .
附图说明Description of drawings
图1通讯线程和服务线程的同步关系Figure 1 Synchronization relationship between communication thread and service thread
图2公共数据结构之间关系图Figure 2 Relationship between public data structures
图3服务端处理命令的流程Figure 3 The process of processing commands on the server side
图4以设备节点为根求最大深度的算法流程Figure 4 Algorithm flow for finding the maximum depth with the device node as the root
图5树形结构的绘制方法Figure 5 The drawing method of the tree structure
图6环形结构的绘制方法Figure 6 Drawing method of ring structure
图7服务端和客户端的进程间的协作关系Figure 7 The collaborative relationship between the processes of the server and the client
具体实施方式detailed description
首先选择一台高性能的服务器作为服务端,它具有并行处理大量网络数据的能力同时具有良好的人机界面,运行服务端进程。服务端的通讯线程周期性对外发布自己的IP地址,接收客户端的上传信息,建立公共数据结构。如果公共数据结构有变动,发信号通知服务线程刷新拓扑图。服务端周期性清理无效的设备、无效的设备邻居关系、当前无用的多播地址,在此过程中若发现数据结构被清除,则发信号通知服务线程刷新拓扑图。服务端的服务线程等待接收信号,收到信号后,扫描公共数据结构,生成新的拓扑图。服务线程在生成拓扑图后,根据公共数据结构中多播地址表信息,在隐藏图层上填充每个设备的多播地址信息,同时它接收用户的查询请求,收到查询请求后,查询公共数据机构和生成的拓扑图,然后打开隐藏图层的内容展现给用户。当用户查询特定设备的多播地址时,只需把该设备隐藏填充的多播地址信息画布显示出来。当用户查询特定多播地址的分布时,首先查询特定多播地址表中是否存在,如果在多播地址表中不存在,返回查询失败信息;如果该多播地址存在,查询多播地址指向的设备指针链表,然后在画布上把指针所指向的这些相关设备加点、加亮显示,连线也加粗显示。藉此可以查看当前网络中的任何一个多播地址在网络中的分布情况。First, choose a high-performance server as the server, which has the ability to process a large amount of network data in parallel and has a good man-machine interface to run the server process. The communication thread of the server periodically publishes its own IP address, receives uploaded information from the client, and establishes a public data structure. If there is a change in the public data structure, signal the service thread to refresh the topology map. The server periodically cleans up invalid devices, invalid device neighbor relationships, and currently useless multicast addresses. If the data structure is found to be cleared during the process, it will send a signal to the service thread to refresh the topology map. The service thread on the server side waits to receive the signal, and after receiving the signal, scans the public data structure to generate a new topology map. After generating the topology map, the service thread fills the multicast address information of each device on the hidden layer according to the multicast address table information in the public data structure. At the same time, it receives the query request from the user, and queries the public The data structure and the generated topology map are then opened to show the contents of the hidden layer to the user. When the user queries the multicast address of a specific device, it only needs to display the multicast address information canvas filled with the hidden information of the device. When the user queries the distribution of a specific multicast address, first check whether the specific multicast address exists in the table, if it does not exist in the multicast address table, return query failure information; if the multicast address exists, query the multicast address pointed to Link list of device pointers, and then add dots and highlight the related devices pointed to by the pointers on the canvas, and display the connections in bold. In this way, you can view the distribution of any multicast address in the current network in the network.
客户端包含支持LLDP协议,GMRP协议,IGMP协议的设备,一般情况包括智能交换机,路由器,智能电子设备。客户端需要修改LLDP协议,GMRP协议,IGMP协议,打开各自的消息队列,这些队列连接到客户端进程,需要将这些协议的源代码进行修改,在GMRP协议,IGMP协议发现需要注册和注销特定多播地址时,将这些信息都过消息队列发给客户进程进行处理。在LLDP协议发现新的邻居设备或者有邻居设备失去联系时,将这些信息都过消息队列发给客户进程进行处理。客户端进程在收到这些消息后,通过UDP报文发给服务端进行处理。Clients include devices that support LLDP, GMRP, and IGMP, generally including smart switches, routers, and intelligent electronic devices. The client needs to modify the LLDP protocol, GMRP protocol, and IGMP protocol, and open their respective message queues. These queues are connected to the client process. The source code of these protocols needs to be modified. In the GMRP protocol and IGMP protocol, it is necessary to register and log out specific multiple When broadcasting the address, the information is sent to the client process through the message queue for processing. When the LLDP protocol discovers a new neighbor device or a neighbor device loses contact, it sends the information to the client process through the message queue for processing. After the client process receives these messages, it sends them to the server through UDP packets for processing.
以上所述内容,只是本发明的一个具体的实例,并不仅用于限定本发明的保护范围。凡在本发明的原创范围以内的任何修改,等价替换,改进和任何参数调整,都应包含在本发明的保护范围之中。The above-mentioned content is only a specific example of the present invention, and is not only used to limit the protection scope of the present invention. Any modification, equivalent replacement, improvement and any parameter adjustment within the original scope of the present invention shall be included in the protection scope of the present invention.
Claims (8)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410250288.8A CN104219113B (en) | 2014-06-09 | 2014-06-09 | Display and the method for analysis multicast distributed topology figure |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410250288.8A CN104219113B (en) | 2014-06-09 | 2014-06-09 | Display and the method for analysis multicast distributed topology figure |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104219113A CN104219113A (en) | 2014-12-17 |
CN104219113B true CN104219113B (en) | 2017-11-24 |
Family
ID=52100267
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410250288.8A Expired - Fee Related CN104219113B (en) | 2014-06-09 | 2014-06-09 | Display and the method for analysis multicast distributed topology figure |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104219113B (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI638549B (en) * | 2016-12-14 | 2018-10-11 | 中華電信股份有限公司 | Visualized software network service dynamic supply and series system and method thereof |
TWI653857B (en) | 2017-12-27 | 2019-03-11 | 中華電信股份有限公司 | Method and system for topological operation |
CN114630361A (en) * | 2022-03-14 | 2022-06-14 | 浙江瑞瀛物联科技有限公司 | Zigbee wireless communication analysis system based on imaging |
CN114844864B (en) * | 2022-06-30 | 2022-10-25 | 深圳市爱图仕影像器材有限公司 | Configuration method and device of DMX equipment information |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1588884A (en) * | 2004-07-06 | 2005-03-02 | 北京航空航天大学 | Automatic Discovery Method of IPv6 Internet Network Topology |
CN101212348A (en) * | 2006-12-31 | 2008-07-02 | 中兴通讯股份有限公司 | Resilient packet ring based graphical display method for service topology |
CN102148703A (en) * | 2011-01-19 | 2011-08-10 | 武汉迈威光电技术有限公司 | Network management topology realizing algorithm of switchboard |
CN102195857A (en) * | 2010-03-18 | 2011-09-21 | 武汉迈威光电技术有限公司 | Network topology structure and node information gathering method |
-
2014
- 2014-06-09 CN CN201410250288.8A patent/CN104219113B/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1588884A (en) * | 2004-07-06 | 2005-03-02 | 北京航空航天大学 | Automatic Discovery Method of IPv6 Internet Network Topology |
CN101212348A (en) * | 2006-12-31 | 2008-07-02 | 中兴通讯股份有限公司 | Resilient packet ring based graphical display method for service topology |
CN102195857A (en) * | 2010-03-18 | 2011-09-21 | 武汉迈威光电技术有限公司 | Network topology structure and node information gathering method |
CN102148703A (en) * | 2011-01-19 | 2011-08-10 | 武汉迈威光电技术有限公司 | Network management topology realizing algorithm of switchboard |
Also Published As
Publication number | Publication date |
---|---|
CN104219113A (en) | 2014-12-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1756189B (en) | SNMP-based IP Network Topology Discovery Method | |
Bharath-Kumar et al. | Routing to multiple destinations in computer networks | |
Misra et al. | Network routing: fundamentals, applications, and emerging technologies | |
CN101577722B (en) | Method for realizing MAC forced forwarding function and device | |
CN103338150B (en) | Communication network architecture method for building up, device, server and router | |
US9401861B2 (en) | Scalable MAC address distribution in an Ethernet fabric switch | |
CN100388695C (en) | Internet inter-domain routing monitoring and analysis system and its working method | |
CN104219113B (en) | Display and the method for analysis multicast distributed topology figure | |
CN103825759B (en) | Obtain the method and system of network topological information | |
JPWO2012090993A1 (en) | Information system, control device, communication method and program | |
CN108449210B (en) | Network routing fault monitoring system | |
CN102694732B (en) | Method and system for constructing virtual network based on local virtualization | |
US11991046B2 (en) | Determining an organizational level network topology | |
CN105656715B (en) | Method and apparatus for monitoring the state of network equipment in cloud computing environment | |
CN101110820A (en) | A method and switch for processing spanning tree protocol message | |
CN109168050A (en) | A kind of video multicast method based on SDN | |
CN107104809A (en) | A kind of method and system for generating network topological diagram | |
CN104506339A (en) | Industrial Ethernet network topology management implementation method based on PROFINET | |
Feng et al. | OpenRouteFlow: Enable legacy router as a software-defined routing service for hybrid SDN | |
WO2012119372A1 (en) | Message processing method, device and system | |
US8958310B2 (en) | Investigating quality of service disruptions in multicast forwarding trees | |
CN105071986A (en) | Method for monitoring operation state of system | |
CN114465935B (en) | Method for generating network topological graph for network system and related equipment | |
Chen et al. | SoMR: A scalable distributed QoS multicast routing protocol | |
CN104901884B (en) | Wide area network SDN collecting topologies implementation method and device |
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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20180111 Address after: 430070 Hubei Province, Wuhan City, Donghu High Technology Development Zone Light Valley Road 62 light valley headquarters international 6 Building 9 layer Patentee after: WUHAN MAIWE COMMUNICATION CO.,LTD. Address before: 430073 9 floors of the Optics Valley headquarters, Optics Valley Avenue, Wuhan, Wuhan, Hubei Patentee before: WUHAN MAIWEI SHIDA SOFTWARE Co.,Ltd. |
|
TR01 | Transfer of patent right | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: 430000 Block E, Phoenix Industrial Park, 52 Liufang Avenue, Donghu New Technology Development Zone, Wuhan City, Hubei Province, No. 2 Patentee after: Wuhan Maiwei Communications Co.,Ltd. Address before: 430070 Hubei Province, Wuhan City, Donghu High Technology Development Zone Light Valley Road 62 light valley headquarters international 6 Building 9 layer Patentee before: WUHAN MAIWE COMMUNICATION CO.,LTD. |
|
EE01 | Entry into force of recordation of patent licensing contract | ||
EE01 | Entry into force of recordation of patent licensing contract |
Application publication date: 20141217 Assignee: Shanxi MeiAn Technology Co.,Ltd. Assignor: Wuhan Maiwei Communications Co.,Ltd. Contract record no.: X2021420000032 Denomination of invention: Method for displaying and analyzing multicast distribution topology Granted publication date: 20171124 License type: Common License Record date: 20211123 |
|
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20171124 |