技术领域technical field
本发明涉及通信领域,尤其涉及一种Ad Hoc网络中的路由环路的检测方法和装置。The present invention relates to the field of communications, in particular to a method and device for detecting routing loops in an Ad Hoc network.
背景技术Background technique
数据包在无线Ad Hoc网络中传播时,通常需要多个节点的转发才能到达目标节点。当数据包被一系列节点相互重复转发时,它就陷入了路由环路。通过路由环路的数据包将被无限次转发,却无法到达目标节点。如果不能及时解决路由环路问题,它将引起通信资源的浪费,并影响网络的正常工作。When a data packet propagates in a wireless Ad Hoc network, it usually needs forwarding of multiple nodes to reach the target node. When a packet is repeatedly forwarded to each other by a series of nodes, it gets stuck in a routing loop. The data packets passing through the routing loop will be forwarded infinitely, but cannot reach the destination node. If the routing loop problem cannot be solved in time, it will cause a waste of communication resources and affect the normal operation of the network.
常规解决方法通常采用历史信息表检测路由环路。历史信息表保存着节点发送过的数据包的信息。如果节点收到一个数据包,但是该数据包的信息已经出现在历史信息表中,则表明有路由环路存在。常规方法中,数据包的路由路径上的所有节点都需要将该数据包的信息存储到历史信息表中。所以,虽然常规方法中的历史信息表可以检测和解决路由环路问题,但是当网络中数据量很大时,历史信息表将占用大量的内存。A conventional solution usually uses a history information table to detect routing loops. The history information table saves the information of the data packets sent by the node. If a node receives a data packet, but the information of the data packet has already appeared in the history information table, it indicates that there is a routing loop. In the conventional method, all nodes on the routing path of the data packet need to store the information of the data packet in the history information table. Therefore, although the historical information table in the conventional method can detect and solve the routing loop problem, when the amount of data in the network is large, the historical information table will occupy a large amount of memory.
应该注意,上面对技术背景的介绍只是为了方便对本发明的技术方案进行清楚、完整的说明,并方便本领域技术人员的理解而阐述的。不能仅仅因为这些方案在本发明的背景技术部分进行了阐述而认为上述技术方案为本领域技术人员所公知。It should be noted that the above introduction of the technical background is only for the convenience of a clear and complete description of the technical solution of the present invention, and for the convenience of understanding by those skilled in the art. It cannot be considered that the above technical solutions are known to those skilled in the art just because these solutions are described in the background of the present invention.
发明内容Contents of the invention
本发明实施例的主要目的在于提供一种路由环路的检测方法和装置,以避免因发生路由环路而导致的资源浪费。The main purpose of the embodiments of the present invention is to provide a routing loop detection method and device, so as to avoid resource waste caused by routing loops.
本发明实施例的上述目的是通过如下技术方案实现的:The above object of the embodiments of the present invention is achieved through the following technical solutions:
一种Ad Hoc网络中的节点,其中,所述节点包括:A node in an Ad Hoc network, wherein the node includes:
解析单元,其解析接收到的数据包中的信息;An analysis unit, which analyzes the information in the received data packet;
判断单元,其根据所述数据包中的拐点列表或者历史信息表中的拐点相关信息判断所述节点是否对所述数据包进行过标记;A judging unit, which judges whether the node has marked the data packet according to the inflection point list in the data packet or the inflection point related information in the history information table;
处理单元,其在所述节点对所述数据包进行过标记时,确定发生路由环路。A processing unit, configured to determine that a routing loop occurs when the node overmarks the data packet.
一种路由环路的检测方法,其中,所述方法包括:A method for detecting a routing loop, wherein the method includes:
根据接收到的数据包的期望路由花费和本地节点为所述数据包选择的路由的花费判断本地节点是否是拐点;judging whether the local node is an inflection point according to the expected route cost of the received data packet and the cost of the route selected by the local node for the data packet;
如果本地节点是拐点,则对所述数据包进行标记;If the local node is an inflection point, marking the data packet;
如果接收到本地节点标记过的数据包,则确定发生了路由环路。If a data packet marked by the local node is received, it is determined that a routing loop has occurred.
本发明实施例的有益效果在于,通过本发明实施例的方法和装置,避免了因发生路由环路而导致的资源浪费,保证了网络的正常工作。The beneficial effect of the embodiments of the present invention is that, through the method and device of the embodiments of the present invention, resource waste caused by routing loops is avoided, and normal operation of the network is ensured.
参照后文的说明和附图,详细公开了本发明的特定实施方式,指明了本发明的原理可以被采用的方式。应该理解,本发明的实施方式在范围上并不因而受到限制。在所附权利要求的精神和条款的范围内,本发明的实施方式包括许多改变、修改和等同。With reference to the following description and accompanying drawings, there are disclosed in detail specific embodiments of the invention, indicating the manner in which the principles of the invention may be employed. It should be understood that embodiments of the invention are not limited thereby in scope. Embodiments of the invention encompass many changes, modifications and equivalents within the spirit and scope of the appended claims.
针对一种实施方式描述和/或示出的特征可以以相同或类似的方式在一个或更多个其它实施方式中使用,与其它实施方式中的特征相组合,或替代其它实施方式中的特征。Features described and/or illustrated with respect to one embodiment can be used in the same or similar manner in one or more other embodiments, in combination with, or instead of features in other embodiments .
应该强调,术语“包括/包含”在本文使用时指特征、整件、步骤或组件的存在,但并不排除一个或更多个其它特征、整件、步骤或组件的存在或附加。It should be emphasized that the term "comprising/comprising" when used herein refers to the presence of a feature, integer, step or component, but does not exclude the presence or addition of one or more other features, integers, steps or components.
附图说明Description of drawings
参照以下的附图可以更好地理解本发明的很多方面。附图中的部件不是成比例绘制的,而只是为了示出本发明的原理。为了便于示出和描述本发明的一些部分,附图中对应部分可能被放大或缩小。在本发明的一个附图或一种实施方式中描述的元素和特征可以与一个或更多个其它附图或实施方式中示出的元素和特征相结合。此外,在附图中,类似的标号表示几个附图中对应的部件,并可用于指示多于一种实施方式中使用的对应部件。Many aspects of the invention can be better understood with reference to the following figures. The components in the figures are not drawn to scale, merely illustrating the principles of the invention. In order to facilitate illustration and description of some parts of the present invention, corresponding parts in the drawings may be exaggerated or reduced. Elements and features described in one drawing or one embodiment of the present invention may be combined with elements and features shown in one or more other drawings or embodiments. Furthermore, in the drawings, like numerals indicate corresponding parts in the several figures and may be used to indicate corresponding parts used in more than one embodiment.
在附图中:In the attached picture:
图1是本发明实施例的路由环路检测方法的流程图;Fig. 1 is the flowchart of the routing loop detection method of the embodiment of the present invention;
图2a是示例一中源节点发送数据包的一个实施方式的流程图;Fig. 2a is a flowchart of an embodiment of sending a data packet by a source node in Example 1;
图2b是示例一中源节点发送数据包的另一个实施方式的流程图;Fig. 2b is a flow chart of another embodiment in which the source node sends a data packet in Example 1;
图3是示例一中路由节点转发数据包的流程图;Fig. 3 is the flowchart of routing node forwarding data packets in example one;
图4a是示例二中源节点发送数据包的一个实施方式的流程图;Fig. 4a is a flowchart of an embodiment of sending a data packet by a source node in Example 2;
图4b是示例二中源节点发送数据包的另一个实施方式的流程图;Fig. 4b is a flow chart of another embodiment in which the source node sends a data packet in Example 2;
图5是示例二中路由节点转发数据包的流程图;Fig. 5 is the flowchart of routing node forwarding data packets in example two;
图6是示例二中历史信息表的更新流程图;Fig. 6 is an update flow chart of the historical information table in Example 2;
图7是本发明实施例的节点的组成示意图。Fig. 7 is a schematic diagram of the composition of a node according to an embodiment of the present invention.
具体实施方式Detailed ways
参照附图,通过下面的说明书,本发明实施例的前述以及其它特征将变得明显。这些实施方式只是示例性的,不是对本发明的限制。The foregoing and other features of embodiments of the present invention will become apparent from the following description, with reference to the accompanying drawings. These embodiments are illustrative only, and do not limit the present invention.
为了使本领域的技术人员能够容易地理解本发明的原理和实施方式,本发明实施例以Ad-hoc网络为例进行说明,但可以理解,本发明实施例并不限于Ad-hoc网络,例如,本发明实施例提供的方法和装置也适用于传感器网络等其他多跳网络。In order to enable those skilled in the art to easily understand the principle and implementation of the present invention, the embodiment of the present invention is described by taking the Ad-hoc network as an example, but it can be understood that the embodiment of the present invention is not limited to the Ad-hoc network, for example , the method and device provided by the embodiments of the present invention are also applicable to other multi-hop networks such as sensor networks.
在Ad hoc网络中,路由表存储着节点的路由信息。本发明实施例假定节点具有如表1所示的路由表结构。在表1中,节点Ni(i=1,..,n)是当前节点的邻居节点。当前节点可以将数据直接转发给任意一个邻居节点。从表1可以看出,当前节点经过节点N1转发数据给节点Ndest,需要的路由花费为C1;经过Nn转发数据给节点Ndest,需要的路由花费为Cn。一般地,节点选择路由花费最小的路由路径进行数据转发。In the Ad hoc network, the routing table stores the routing information of the nodes. The embodiment of the present invention assumes that a node has a routing table structure as shown in Table 1. In Table 1, nodes Ni (i=1,...,n) are neighbor nodes of the current node. The current node can directly forward the data to any neighbor node. It can be seen from Table 1 that the current node forwards data to node Ndest via node N1 , and the routing cost required is C1 ; forwarding data to node Ndest via Nn requires routing cost Cn . Generally, a node selects the routing path with the least routing cost for data forwarding.
表1:路由表的结构Table 1: Structure of routing table
在本发明实施例中,拐点是指为数据包选择的路由的花费大于或等于该数据包的期望路由花费的节点。例如,节点N接收到需要转发数据包,数据包的期望花费为C1,节点N通过查询路由表为该数据包选择的路由的花费为C2,如果C2>=C1,则节点N是拐点;否则,节点N不是拐点。In this embodiment of the present invention, an inflection point refers to a node where the cost of the route selected for the data packet is greater than or equal to the expected route cost of the data packet. For example, node N receives a data packet that needs to be forwarded, the expected cost of the data packet is C1 , the cost of the route selected by node N for the data packet by querying the routing table is C2 , if C2 >=C1 , then node N is an inflection point; otherwise, node N is not an inflection point.
下面参照附图对本发明的优选实施方式进行说明。Preferred embodiments of the present invention will be described below with reference to the drawings.
实施例1Example 1
本发明实施例提供了一种路由环路的检测方法。图1是该方法的流程图,请参照图1,该方法包括:An embodiment of the present invention provides a method for detecting a routing loop. Fig. 1 is the flowchart of this method, please refer to Fig. 1, this method comprises:
步骤101:根据接收到的数据包的期望路由花费和本地节点为所述数据包选择的路由的花费判断本地节点是否是拐点;Step 101: judging whether the local node is an inflection point according to the expected route cost of the received data packet and the cost of the route selected by the local node for the data packet;
其中,本地节点可以通过查询路由表为所述数据包选择路由花费最小的路由,并通过比较数据包的期望路由花费和选择的路由的花费,确定本地节点是否是拐点。Wherein, the local node may select a route with the least routing cost for the data packet by querying the routing table, and determine whether the local node is an inflection point by comparing the expected routing cost of the data packet with the cost of the selected route.
其中,如果选择的路由的花费大于或等于期望的路由花费,则认为本地节点是拐点,也就是说,经该节点转发出去的该数据包还有可能回来,从而形成路由环路,影响网络的正常工作;如果选择的路由的花费小于期望的路由花费,则认为本地节点不是拐点。Among them, if the cost of the selected route is greater than or equal to the expected route cost, the local node is considered to be an inflection point. Works as normal; if the cost of the chosen route is less than the expected route cost, the local node is considered not to be an inflection point.
步骤102:如果本地节点是拐点,则对所述数据包进行标记;Step 102: if the local node is an inflection point, mark the data packet;
其中,通过步骤101的判断,如果确认本地节点是拐点,则需要对该数据包进行标记,然后再转发进行了标记的数据包。原因在于,本地节点为该数据包选择的路由的路由花费大于或等于该数据包期望的路由花费,导致该数据包有可能被转发回来,从而发生路由环路,通过对这种数据包进行标记,可以确认接收到的数据包是否曾被转发过,从而判定是否发生路由了环路,为后续处理提供依据。Wherein, through the judgment in step 101, if it is confirmed that the local node is an inflection point, the data packet needs to be marked, and then the marked data packet is forwarded. The reason is that the routing cost of the route selected by the local node for the data packet is greater than or equal to the expected routing cost of the data packet, which may cause the data packet to be forwarded back, thereby causing a routing loop. By marking this data packet , can confirm whether the received data packet has been forwarded, so as to determine whether a routing loop occurs, and provide a basis for subsequent processing.
其中,通过步骤101的判断,如果确认本地节点不是拐点,则按照常规方式转发该数据包,例如,修改该数据包中的发送节点地址(LS)、接收节点地址(LD)以及期望的路由花费(Cost)并转发。Among them, through the judgment of step 101, if it is confirmed that the local node is not an inflection point, the data packet will be forwarded in a conventional manner, for example, the sending node address (LS), receiving node address (LD) and the expected routing cost in the data packet will be modified (Cost) and forwarded.
其中,对数据包进行标记的方式将在以下进行说明。Wherein, the manner of marking the data packet will be described below.
步骤103:如果接收到本地节点标记过的数据包,则确定发生了路由环路。Step 103: If the data packet marked by the local node is received, it is determined that a routing loop occurs.
其中,在确定发生了路由环路后,可以执行解决路由环路的操作,例如,丢弃所述数据包,更新路由表,或重新转发数据包等。Wherein, after it is determined that a routing loop has occurred, operations to resolve the routing loop may be performed, for example, discarding the data packet, updating the routing table, or re-forwarding the data packet.
在以上的实施例中,本地节点是在接收到数据包后,根据本地节点是否是该数据包的拐点来确定是否对该数据包进行标记,然而,本实施例并不以此作为限制,在其他的实施例中,一个节点也可以直接对其生成的数据包进行标记,以便进行路由环路的检测,例如,某节点对其生成的数据包进行标记,一旦接收到其标记过的数据包即判断发生了路由环路。其中,除了对其生成的数据包进行标记,该节点也可以同时将该数据包期望的路由花费添加入该数据包中,以便接收到该数据包的节点可以据此确定其是否为该数据包的拐点。In the above embodiments, after receiving the data packet, the local node determines whether to mark the data packet according to whether the local node is an inflection point of the data packet. However, this embodiment is not limited by this, in In other embodiments, a node can also directly mark the data packets it generates, so as to detect routing loops. For example, a node can mark the data packets generated by it. That is, it is judged that a routing loop has occurred. Among them, in addition to marking the data packet generated by it, the node can also add the expected routing cost of the data packet to the data packet at the same time, so that the node receiving the data packet can determine whether it is the data packet turning point.
其中,由于按照步骤102的方法对可能发生路由环路的数据包进行了标记,或者按照前述方法对生成的数据包进行了标记,则本地节点在接收到一个数据包时,会判断本地节点是否对该数据包进行过标记,如果进行过标记,则说明本地节点曾经转发过该数据包或者该数据包就是本地生成的数据包,也即发生了路由环路。因为曾经转发过或发送过该数据包,此时,本地节点可以选择丢失该数据包,不对其作任何处理。如果经判断确认本地节点没有对该数据包进行过标记,则继续步骤101~102的处理,也即通过为该数据包选择路由确认本地是否是拐点,从而在本地节点是拐点的情况下对该数据包进行标记后再转发,在本地节点不是拐点的情况下直接转发该数据包。在转发数据包(转发标记后的数据包或者转发未标记的数据包)的过程中,该节点可以将该数据包的路由花费添加入该数据包中,以便接收到该数据包的节点可以根据步骤101确定其本身是否为拐点。Wherein, because the data packets that may cause routing loops are marked according to the method in step 102, or the generated data packets are marked according to the aforementioned method, when the local node receives a data packet, it will judge whether the local node is The data packet is marked, and if it is marked, it means that the local node has forwarded the data packet or the data packet is a locally generated data packet, that is, a routing loop has occurred. Because the data packet has been forwarded or sent, at this time, the local node can choose to lose the data packet without any processing. If it is determined that the local node has not marked the data packet, continue the processing of steps 101 to 102, that is, determine whether the local is an inflection point by selecting a route for the data packet, so that the local node is an inflection point if the local node is an inflection point. The data packet is marked and then forwarded, and the data packet is directly forwarded when the local node is not an inflection point. In the process of forwarding a data packet (forwarding a marked data packet or forwarding an unmarked data packet), the node can add the routing cost of the data packet to the data packet, so that the node receiving the data packet can according to Step 101 determines whether it is an inflection point itself.
其中,由于对数据包进行标记的方式不同,则判断接收到的数据包是否是本地节点标记过的数据包的方式也不同,具体将在以下进行说明。Wherein, due to the different ways of marking the data packets, the ways of judging whether the received data packets are data packets marked by the local node are also different, which will be described in detail below.
在步骤102的实施方式中,如果本地节点是拐点,则可以对该数据包进行标记,在本发明实施例中,提供了两种标记方法,一种是将本地节点的信息加入到所述数据包的拐点列表中,另外一种是将所述数据包的信息加入到拐点历史信息表的拐点相关信息中。通过这两种方法对该数据包进行标记,当本地节点再次收到该数据包时,即可由此确认已经转发过该数据包,也即形成了路由环路,为了避免影响网络的正常工作,可以选择丢弃该数据包。In the implementation of step 102, if the local node is an inflection point, the data packet can be marked. In the embodiment of the present invention, two marking methods are provided. One is to add the information of the local node to the data packet In the inflection point list of the packet, another method is to add the information of the data packet into the inflection point related information in the inflection point history information table. The data packet is marked by these two methods. When the local node receives the data packet again, it can confirm that the data packet has been forwarded, that is, a routing loop is formed. In order to avoid affecting the normal operation of the network, This packet can optionally be dropped.
其中,前述两种标记数据包的方法只是举例说明,本发明实施例并不以此作为限制,任何在本发明实施例的精神指导下对数据包进行标记的方法都包含于本发明实施例的保护范围。Wherein, the foregoing two methods of marking data packets are just examples, and the embodiments of the present invention are not limited thereto. Any method of marking data packets under the spirit of the embodiments of the present invention is included in the embodiments of the present invention. protected range.
在本实施例中,如果是采用前一种方法对数据包进行标记,也即通过将本地节点的信息加入到数据包的拐点列表中来对数据包进行标记,则在步骤103中,当本地节点的信息位于接收到的数据包的拐点列表中时,确认接收到的数据包是本地节点标记过的数据包,也即本地节点对该数据包进行过标记。In this embodiment, if the former method is used to mark the data packet, that is, the data packet is marked by adding the information of the local node into the inflection point list of the data packet, then in step 103, when the local When the information of the node is in the inflection point list of the received data packet, it is confirmed that the received data packet is a data packet marked by the local node, that is, the local node has marked the data packet.
在本实施方式中,该数据包的帧结构如表2所示。In this embodiment, the frame structure of the data packet is shown in Table 2.
表2:数据包帧结构Table 2: Packet frame structure
其中,GS(Global Source)是源节点的地址;GD(Global Destination)是目标节点的地址;LS(Local Source)是发送节点的地址;LD(Local Destination)是接收节点的地址;Cost是期望的路由花费;No是拐点的个数;TP(Turning Point)是拐点信息列表(简称拐点列表);Seq(Sequence)是数据包的序号;Len(Length)是数据区域的长度;Data是数据区。Among them, GS (Global Source) is the address of the source node; GD (Global Destination) is the address of the target node; LS (Local Source) is the address of the sending node; LD (Local Destination) is the address of the receiving node; Cost is the expected Routing cost; No is the number of turning points; TP (Turning Point) is the turning point information list (referred to as the turning point list); Seq (Sequence) is the sequence number of the data packet; Len (Length) is the length of the data area; Data is the data area.
在本实施方式中,数据包中TP数据段的具体结构如表3所示。In this embodiment, the specific structure of the TP data segment in the data packet is shown in Table 3.
表3:TP数据段结构Table 3: TP data segment structure
其中,TP_i(i=1,2,...No)为第i个拐点的拐点信息。该拐点信息可以包括拐点的地址。Among them, TP_i (i=1,2,...No) is the inflection point information of the i-th inflection point. The inflection point information may include the address of the inflection point.
在本实施方式中,当一个节点接收到一个数据包,通过步骤101的判断发现本地节点是拐点时,则该节点将其相关信息放入该数据包的拐点列表中,由此完成了对该数据包的标记(步骤102)。之后,当该节点再次接收到一个数据包,且其地址位于该数据包的拐点列表中时,则确认对该数据包进行过标记,也即曾经转发过该数据包,此时该节点可以执行解决路由环路的操作,例如丢弃该数据包(步骤103)。In this embodiment, when a node receives a data packet and finds that the local node is an inflection point through the judgment of step 101, the node puts its related information into the inflection point list of the data packet, thereby completing the Marking of data packets (step 102). Afterwards, when the node receives a data packet again, and its address is in the inflection point list of the data packet, it is confirmed that the data packet has been marked, that is, the data packet has been forwarded, and the node can execute Operations to resolve routing loops, such as discarding the data packet (step 103).
其中,表3所示的TP数据段的结构只是举例说明,本发明实施例并不以此作为限制。例如,在其他的实施方式中,对应每一个拐点,可以包含该拐点的地址以及接收节点(该拐点转发该数据包时的接收节点)的地址。也即,当该节点对该数据包进行标记时,不仅将自己的地址放入该数据包的拐点列表中,同时将该数据包的接收节点的地址也放入该数据包的拐点列表中。由此,当一个节点接收到一个数据包,则当其地址位于该数据包的拐点列表中,确认曾经对该数据包进行过标记。同时,从节点的拐点列表可以获得上次转发该数据包时的接收节点地址。将数据包转发给该接收地址发生了路由环路,因此可以对该接收节点的路由信息进行更新,比如增大该接收节点的路由花费等。Wherein, the structure of the TP data segment shown in Table 3 is only an example, and the embodiment of the present invention is not limited thereto. For example, in other implementation manners, corresponding to each inflection point, the address of the inflection point and the address of the receiving node (the receiving node when the inflection point forwards the data packet) may be included. That is, when the node marks the data packet, it not only puts its own address into the inflection point list of the data packet, but also puts the address of the receiving node of the data packet into the inflection point list of the data packet. Thus, when a node receives a data packet, when its address is in the turning point list of the data packet, it is confirmed that the data packet has been marked. At the same time, the slave node's inflection point list can obtain the address of the receiving node when the data packet was forwarded last time. A routing loop occurs when the data packet is forwarded to the receiving address, so the routing information of the receiving node can be updated, such as increasing the routing cost of the receiving node.
在本实施例中,如果采用后一种方法对数据包进行标记,也即通过将数据包的信息加入到拐点的历史信息表中来对数据包进行标记,则在步骤103中,当接收到的数据包的信息位于拐点的历史信息表中时,确认接收到的数据包是本地节点标记过的数据包,也即本地节点对该数据包进行过标记。In this embodiment, if the latter method is used to mark the data packet, that is, the data packet is marked by adding the information of the data packet to the historical information table of the inflection point, then in step 103, when the When the information of the data packet is located in the historical information table of the inflection point, it is confirmed that the received data packet is a data packet marked by the local node, that is, the local node has marked the data packet.
在本实施方式中,该数据包的帧结构如表4所示。In this embodiment, the frame structure of the data packet is shown in Table 4.
表4:数据包帧结构Table 4: Packet frame structure
其中,GS(Global Source)是源节点的地址;GD(Global Destination)是目标节点的地址;LS(Local Source)是发送节点的地址;LD(Local Destination)是接收节点的地址;Cost是期望的路由花费;Seq(Sequence)是数据包的序号;Len(Length)是数据区域的长度;Data是数据区。Among them, GS (Global Source) is the address of the source node; GD (Global Destination) is the address of the target node; LS (Local Source) is the address of the sending node; LD (Local Destination) is the address of the receiving node; Cost is the expected Routing cost; Seq (Sequence) is the serial number of the data packet; Len (Length) is the length of the data area; Data is the data area.
在本实施方式中,拐点的历史信息表的结构如表5所示。In this embodiment, the structure of the inflection point history information table is shown in Table 5.
表5:历史信息表结构Table 5: History information table structure
其中,GS(Global Source)是数据包的源节点地址;Seqstart(Start Sequence)起始序号;Seqend(End Sequence)是终止序号;LD(Local Destination)是接收节点地址;UT(Update Time)为该条目的更新时间。以表5为例,当前节点将源节点地址为N1,序号在S1和E1之间的数据包都转发给了节点D1,最新的更新时间为T1。Among them, GS (Global Source) is the source node address of the data packet; Seqstart (Start Sequence) start sequence number; Seqend (End Sequence) is the end sequence number; LD (Local Destination) is the receiving node address; UT (Update Time) is the update time of this entry. Taking Table 5 as an example, the current node forwards the data packets whose source node address is N1 and whose serial number is between S1 and E1 to node D1 , and the latest update time is T1 .
在本实施方式中,当一个节点接收到一个数据包,通过步骤101的判断发现本地节点是拐点时,则该节点将该数据包的源节点的地址、序号、接收节点存入其对应的条目下,并更新该条目的更新时间,由此完成了对该数据包的标记(步骤102)。之后,当该节点再次接收到一个数据包,且该数据包的源节点的地址、序号位于该节点的拐点历史信息表中时,则确认对该数据包进行过标记,也即曾经转发过该数据包,此时该节点确定发生了路由环路,可以执行解决路由环路的操作(步骤103)。In this embodiment, when a node receives a data packet and finds that the local node is an inflection point through the judgment of step 101, the node stores the address, serial number, and receiving node of the data packet's source node into its corresponding entry Next, and update the update time of the entry, thereby completing the marking of the data packet (step 102). Afterwards, when the node receives a data packet again, and the address and serial number of the source node of the data packet are located in the turning point history information table of the node, it is confirmed that the data packet has been marked, that is, the data packet has been forwarded once. At this time, the node determines that a routing loop has occurred, and can perform an operation to resolve the routing loop (step 103).
其中,表5所示的历史信息表的结构只是举例说明,本发明实施例并不以此作为限制。例如,在其他的实施方式中,可以不存储数据包的序号区间,而只存储数据包的序号,如表6所示,当通过步骤101判断为本地节点为拐点时,如果历史信息表中没有对应该数据包的条目,则将该数据包的源节点地址、序号、接收节点地址存入一个条目,并更新该条目的更新时间;如果历史信息表中有对应该数据包的条目,则只更新该条目的更新时间。再例如,表5中的接收节点的地址也是可选的,在其他的实施方式中,也可以不存储该内容,而只存储该数据包的源节点地址、序号/序号区间、以及更新时间,在判断是否对接收到的数据包进行过标记时,仅根据以上信息进行判断。Wherein, the structure of the history information table shown in Table 5 is only an example, and the embodiment of the present invention is not limited thereto. For example, in other embodiments, the serial number interval of the data packet may not be stored, but only the serial number of the data packet is stored. As shown in Table 6, when it is determined that the local node is an inflection point through step 101, if there is no For the entry of the data packet, store the source node address, serial number, and receiving node address of the data packet into an entry, and update the update time of the entry; if there is an entry corresponding to the data packet in the historical information table, only Update the update time of this entry. For another example, the address of the receiving node in Table 5 is also optional. In other embodiments, the content may not be stored, but only the source node address, sequence number/sequence number interval, and update time of the data packet are stored. When judging whether to mark the received data packet, it is judged only based on the above information.
表6:历史信息表结构二Table 6: History Information Table Structure II
在本实施例中,在确定发生路由环路后,可以执行解决路由环路的操作,例如直接丢掉该数据包;或者,更新路由表信息并重新转发数据包;或者,还可以将所述节点的本地路由表中的上次转发所述数据包时的路由节点的花费置为最大,原因在于,在该路由上发生了路由环路,则该路由不适于转发数据包。In this embodiment, after it is determined that a routing loop occurs, an operation to resolve the routing loop can be performed, such as directly dropping the data packet; or, updating the routing table information and retransmitting the data packet; or, the node can also be The cost of the routing node in the local routing table when the data packet was forwarded last time is set to the maximum, because if a routing loop occurs on the route, the route is not suitable for forwarding the data packet.
为了使本发明实施例的路由环路检测方法更加清楚易懂,以下通过两个示例分别对通过将拐点的信息放入数据包的方式对数据包进行标记,以及通过将数据包的信息存入拐点的历史信息表的方式对数据包进行标记,对本发明实施例的方法的实施进行说明。In order to make the routing loop detection method of the embodiment of the present invention clearer and easier to understand, the following two examples respectively mark the data packet by putting the information of the inflection point into the data packet, and store the information of the data packet in the The data packet is marked by means of the history information table of the inflection point, and the implementation of the method in the embodiment of the present invention is described.
示例一example one
在本示例中,以将拐点的地址放入数据包的方式对数据包进行标记为例,对本发明实施例的方法进行说明,其中,数据包的帧结构以表2为例,拐点列表的结构以表3为例。In this example, the method of the embodiment of the present invention is described by taking the method of marking the data packet by putting the address of the inflection point into the data packet as an example, wherein the frame structure of the data packet is shown in Table 2 as an example, and the structure of the inflection point list Take Table 3 as an example.
图2a为该示例的一个实施方式中源节点发送信息的操作流程图。Fig. 2a is a flow chart of the operation of the source node sending information in an implementation manner of this example.
请参照图2a,节点S需要向节点N发送数据时,首先从路由表中查找目标节点地址为N且路由花费最小的路由节点,节点地址记为route_best,路由花费记为cost_min;然后构建数据包,令GD=N,GS=S,LD=route_best,LS=S,Cost=cost_min,No=0;最后,发送该数据包。Please refer to Figure 2a. When node S needs to send data to node N, it first searches the routing table for the routing node with the target node address N and the lowest routing cost. The node address is recorded as route_best, and the routing cost is recorded as cost_min; then build a data packet , set GD=N, GS=S, LD=route_best, LS=S, Cost=cost_min, No=0; finally, send the data packet.
图2b为该示例的另一个实施方式中源节点发送信息的操作流程图。Fig. 2b is a flow chart of the operation of the source node sending information in another embodiment of the example.
请参照图2b,与图2a不同的是,在该实施方式中,在发送数据包之前,节点S先对该数据包进行标记,在图2b的示例中,是通过修改数据包的帧结构来对该数据包进行标记,例如,将其GS放入该数据包中,例如,将其GS放入拐点列表中,并将拐点数加1。具体的标记方式如前所述,在此不再赘述。Please refer to FIG. 2b. The difference from FIG. 2a is that in this embodiment, before sending the data packet, the node S marks the data packet first. In the example of FIG. 2b, the frame structure of the data packet is modified to Mark the data packet, for example, put its GS into the data packet, for example, put its GS into the inflection point list, and add 1 to the inflection point number. The specific marking manner is as described above, and will not be repeated here.
图3为路由节点接收到该数据包后对该数据包中的数据进行转发的流程图。Fig. 3 is a flow chart of forwarding the data in the data packet after the routing node receives the data packet.
请参照图3,节点R接收到一个新的数据包后,首先解析数据包的信息,数据包的目标地址记为GDin,源节点地址记为GSin,发送节点地址记为LSin,接收节点地址记为LDin,期望路由花费记为Cin,拐点列表为TPin。Please refer to Figure 3. After node R receives a new data packet, it first analyzes the information of the data packet. The destination address of the data packet is marked as GDin , the source node address is marked as GSin , the sending node address is marked as LS in , and the receiving node address is marked as LSin . The node address is recorded as LDin , the expected route cost is recorded as Cin , and the inflection point list is TPin .
节点R只处理接收节点LDin为R(也即本地节点为该数据包的接收节点)的数据包,其他数据包应丢弃。如果节点R收到的数据包中GDin=R,也即节点R为该数据包的目标节点,则该节点R将该数据包传给上层协议;否则,该节点R需要对数据包进行转发。Node R only processes data packets whose receiving node LDin is R (that is, the local node is the receiving node of the data packet), and other data packets should be discarded. If GDin = R in the data packet received by node R, that is, node R is the target node of the data packet, then the node R transmits the data packet to the upper layer protocol; otherwise, the node R needs to forward the data packet .
转发时,节点R首先查看该数据包的拐点列表TPin,如果节点R的地址位于该数据包的拐点列表中,则说明数据包经过了一个路由环路,节点R曾经转发过该数据包,则节点R检测到路由环路,执行解决路由环路的操作,例如将该数据包丢弃。如果节点R的地址不在拐点列表中,则节点R为该数据包选择路由,例如,从路由表中查找目标节点地址为GDin且花费最小的节点,节点地址记为route_best,期望路由花费记为cost_min。When forwarding, the node R first checks the inflection point list TPin of the data packet. If the address of the node R is in the inflection point list of the data packet, it means that the data packet has passed through a routing loop, and the node R has forwarded the data packet once. Then node R detects a routing loop, and performs operations to resolve the routing loop, such as discarding the data packet. If the address of node R is not in the inflection point list, node R selects a route for the data packet, for example, finds the node whose destination node address is GDin and has the lowest cost from the routing table, the node address is recorded as route_best, and the expected route cost is recorded as cost_min.
然后,节点R构建数据包,数据包中目标节点地址为GDin,源节点地址为GSin,发送节点地址为R,接收节点地址为route_best。Then, node R constructs a data packet, in which the address of the destination node is GDin , the address of the source node is GSin , the address of the sending node is R, and the address of the receiving node is route_best.
其中,当cost_min大于或等于Cin时,也即,节点R为该数据包选择的路由的路由花费大于或等于该数据包的期望路由花费时,则确定节点R为该数据包的拐点,节点R将自己的地址加入到拐点列表中,No=No+1,TP_No=R。Wherein, when cost_min is greater than or equal to Cin , that is, when the route cost of the route selected by node R for the data packet is greater than or equal to the expected route cost of the data packet, then it is determined that node R is the inflection point of the data packet, node R adds its own address to the inflection point list, No=No+1, TP_No=R.
最后,发送该数据包。Finally, send the packet.
本示例的方法通过将拐点的信息放入数据包中来对数据包进行标记,由此可以根据自己的地址是否在接收到的数据包中来判断是否发生路由环路,及时地解决了路由环路的问题,避免了通信资源的浪费,并保证了网络的正常工作。The method in this example marks the data packet by putting the information of the inflection point into the data packet, so you can judge whether a routing loop occurs according to whether your own address is in the received data packet, and solve the routing loop in time The problem of the road is avoided, the waste of communication resources is avoided, and the normal operation of the network is guaranteed.
示例二Example two
在本示例中,以将数据包的信息存入拐点的历史信息表的方式对数据包进行标记为例,对本发明实施例的方法进行说明,其中,数据包的帧结构以表4为例,拐点的历史信息表的结构以表5为例。In this example, the method of the embodiment of the present invention is described by taking the method of storing the information of the data packet into the historical information table of the inflection point to mark the data packet as an example, wherein the frame structure of the data packet is shown in Table 4 as an example, Take Table 5 as an example for the structure of the historical information table of the inflection point.
图4a为该示例二的一个实施方式中源节点发送信息的操作流程图。Fig. 4a is an operation flow chart of the source node sending information in an implementation manner of the second example.
请参照图4a,节点S需要向节点N发送数据时,首先从路由表中查找目标节点地址为N且路由花费最小的路由节点,节点地址记为route_best,路由花费记为cost_min;然后构建数据包,令GD=N,GS=S,LD=route_best,LS=S,Cost=cost_min;最后,发送该数据包。Please refer to Figure 4a. When node S needs to send data to node N, it first searches the routing table for the routing node with the target node address N and the lowest routing cost. The node address is recorded as route_best, and the routing cost is recorded as cost_min; then build a data packet , set GD=N, GS=S, LD=route_best, LS=S, Cost=cost_min; finally, send the data packet.
图4b为该示例二的另一个实施方式中源节点发送信息的操作流程图。Fig. 4b is an operation flow chart of the source node sending information in another implementation manner of the second example.
请参照图4b,与图4a不同的是,在该实施方式中,在发送数据包之前,节点S先对该数据包进行标记,与图2b的标记方式不同的是,在图4a的示例中,是通过修改历史信息表来对该数据包进行标记,例如,将其GS、Seq以及route_best插入历史信息表中。具体的标记方式如前所述,在此不再赘述。Please refer to FIG. 4b. The difference from FIG. 4a is that in this embodiment, before sending the data packet, the node S first marks the data packet. The difference from the marking method in FIG. 2b is that in the example of FIG. 4a , is to mark the data packet by modifying the historical information table, for example, inserting its GS, Seq and route_best into the historical information table. The specific marking manner is as described above, and will not be repeated here.
图5为路由节点接收到该数据包后对该数据包中的数据进行转发的流程图。请参照图5,节点R接收到一个新的数据包后,首先解析数据包的信息,数据包的目标地址记为GDin,源节点地址记为GSin,发送节点地址记为LSin,接收节点地址记为LDin,期望路由花费记为Cin,数据包的序号为Seqin。FIG. 5 is a flow chart of forwarding the data in the data packet after the routing node receives the data packet. Please refer to Figure 5. After node R receives a new data packet, it first analyzes the information of the data packet. The destination address of the data packet is marked as GDin , the source node address is marked as GSin , the sending node address is marked as LS in , and the receiving node address is marked as LSin . The node address is recorded as LDin , the expected routing cost is recorded as Cin , and the sequence number of the data packet is Seqin .
节点R只处理接收节点LDin为R(也即本地节点为该数据包的接收节点)的数据包,其他数据包应丢弃。如果节点R收到的数据包中GDin=R,也即节点R为该数据包的目标节点,则该节点R将该数据包传给上层协议;否则,该节点R需要对数据包进行转发。Node R only processes data packets whose receiving node LDin is R (that is, the local node is the receiving node of the data packet), and other data packets should be discarded. If GDin = R in the data packet received by node R, that is, node R is the target node of the data packet, then the node R transmits the data packet to the upper layer protocol; otherwise, the node R needs to forward the data packet .
转发时,节点R首先检查本地存储的拐点历史信息表,如果该数据包位于该历史信息表中,则说明数据包经过了一个路由环路,也即节点R曾经转发过该数据包,则节点R启动解决路由环路的操作,例如,该节点R更新路由表,即将上次转发时的路由节点的花费置为最大。如果该数据包不在该历史信息表中,则节点R为该数据包选择路由,例如,从路由表中查找目标节点地址为GDin且花费最小的节点,节点地址记为route_best,期望路由花费记为cost_min。When forwarding, node R first checks the inflection point historical information table stored locally. If the data packet is located in the historical information table, it means that the data packet has passed through a routing loop, that is, node R has forwarded the data packet before, then node R R starts the operation to solve the routing loop, for example, the node R updates the routing table, that is, the cost of the routing node at the time of the last forwarding is set to the maximum. If the data packet is not in the historical information table, the node R selects a route for the data packet, for example, searching the routing table for the node whose destination node address is GDin and costs the least, the node address is recorded as route_best, and the expected routing cost is recorded as is cost_min.
然后,节点R构建数据包,数据包中目标节点地址为GDin,源节点地址为GSin,发送节点地址为R,接收节点地址为route_best。Then, node R constructs a data packet, in which the destination node address is GDin , the source node address is GSin , the sending node address is R, and the receiving node address is route_best.
其中,当cost_min大于或等于Cin时,也即,节点R为该数据包选择的路由的路由花费大于或等于该数据包的期望路由花费时,则确定节点R为该数据包的拐点,节点R将(GSin,Seqin,route_best)加入历史信息表。Wherein, when cost_min is greater than or equal to Cin , that is, when the route cost of the route selected by node R for the data packet is greater than or equal to the expected route cost of the data packet, then it is determined that node R is the inflection point of the data packet, node R will add (GSin , Seqin , route_best) to the history information table.
最后,发送该数据包。Finally, send the packet.
图6为节点R向历史信息表加入新条目的流程图。FIG. 6 is a flow chart of node R adding new entries to the history information table.
请参照图6,节点R将数据包的信息(GSin,Seqin,route_best)插入历史信息表时,首先查找历史信息表。Please refer to FIG. 6 , when node R inserts the data packet information (GSin , Seqin , route_best) into the history information table, it first searches the history information table.
如果历史信息表中Ni=GSin,Di=route_best,Ei=Seqin+1,更新Ni对应的条目,使终止序号加1,更新时间为当前时间。If Ni =GSin , Di =route_best, Ei =Seqin +1 in the historical information table, update the entry corresponding to Ni to add 1 to the termination sequence number, and the update time is the current time.
如果历史信息表中没有上述信息,则插入新的条目,其中源节点地址为GSin,起始序号为Seqin,终止序号为Seqin,接收节点地址为route_best,更新时间为当前时间。If there is no above information in the historical information table, insert a new entry,where the source node address is GSin , the starting sequence number is Seq in , the ending sequence number is Seqin , the receiving node address is route_best, and the update time is the current time.
当历史信息表中某个条目超过一定时间没有更新时,则删除该条目。此时,可以通过一个计时器来实现该操作。When an entry in the historical information table has not been updated for a certain period of time, the entry is deleted. At this time, the operation can be realized through a timer.
本示例的方法通过将数据包的信息存入拐点的历史信息表中来对数据包进行标记,由此可以根据接收到的数据包的信息是否在拐点的历史信息表中来判断是否发生路由环路,及时的解决了路由环路的问题,避免了通信资源的浪费,并保证了网络的正常工作。The method of this example marks the data packet by storing the information of the data packet in the historical information table of the inflection point, so it can be judged whether a routing loop occurs according to whether the information of the received data packet is in the historical information table of the inflection point It solves the problem of routing loops in time, avoids the waste of communication resources, and ensures the normal operation of the network.
本发明实施例还提供了一种节点,如下面的实施例2所述,由于该节点解决问题的原理与实施例1的方法类似,因此,其具体的实施可以参照实施例1的方法的实施,内容相同之处不再重复说明。The embodiment of the present invention also provides a node, as described in the following embodiment 2, since the principle of solving the problem of this node is similar to the method in embodiment 1, its specific implementation can refer to the implementation of the method in embodiment 1 , where the content is the same will not be repeated.
实施例2Example 2
本发明实施例提供了一种Ad Hoc网络中的节点。图7是该节点的组成示意图,请参照图7,该节点包括:The embodiment of the present invention provides a node in an Ad Hoc network. Figure 7 is a schematic diagram of the composition of the node, please refer to Figure 7, the node includes:
解析单元71,其解析接收到的数据包中的信息;Parsing unit 71, which parses the information in the received data packet;
判断单元72,其根据所述数据包中的拐点列表或者历史信息表中的拐点相关信息判断所述节点是否对所述数据包进行过标记;A judging unit 72, which judges whether the node has marked the data packet according to the inflection point list in the data packet or the inflection point related information in the history information table;
处理单元73,其在所述节点对所述数据包进行过标记时,确定发生路由环路。The processing unit 73 is configured to determine that a routing loop occurs when the node marks the data packet.
在一个实施例中,该节点还包括:In one embodiment, the node also includes:
标记单元74,其对所述节点生成的数据包进行标记,或者在所述判断单元72判断为所述节点没有对接收到的所述数据包进行过标记,且所述节点为接收到的所述数据包选择的路由的花费大于或等于所述数据包的期望路由花费时,对接收到的所述数据包进行标记。A marking unit 74, which marks the data packet generated by the node, or judges in the judging unit 72 that the node has not marked the received data packet, and the node is the received data packet When the cost of the route selected by the data packet is greater than or equal to the expected route cost of the data packet, mark the received data packet.
其中,该标记单元74可以通过将所述节点的信息加入生成的数据包或者接收到的数据包的拐点列表中来对所述生成的数据包或者接收到的数据包进行标记,也可以通过将生成的数据包或者接收到的数据包的信息加入所述历史信息表的拐点相关信息中来对生成的数据包或者接收到的数据包进行标记。Wherein, the marking unit 74 can mark the generated data packet or the received data packet by adding the information of the node into the inflection point list of the generated data packet or the received data packet, or by adding The information of the generated data packet or the received data packet is added to the inflection point related information of the history information table to mark the generated data packet or the received data packet.
在一个实施例中,该节点还包括:In one embodiment, the node also includes:
转发单元75,其用于在标记单元74对所述节点生成的数据包进行标记后,发送所述数据包,或者在所述标记单元74没有对接收到的所述数据包进行过标记,且所述节点为接收到的所述数据包选择的路由的花费大于或等于所述数据包的期望路由花费时,转发标记后的所述数据包;在所述标记单元74没有对接收到的所述数据包进行过标记,但所述节点为接收到的所述数据包选择的路由的花费小于上述数据包的期望路由花费时,转发所述数据包。A forwarding unit 75, configured to send the data packet after the marking unit 74 marks the data packet generated by the node, or the marking unit 74 has not marked the received data packet, and When the cost of the route selected by the node for the received data packet is greater than or equal to the expected route cost of the data packet, forward the marked data packet; The data packet has been marked, but the cost of the route selected by the node for the received data packet is less than the expected routing cost of the data packet, forwarding the data packet.
其中,如果所述标记单元74通过将所述节点的地址加入数据包的拐点列表中来对数据包进行标记,则标记后的数据包包括:源节点地址、目标节点地址、发送节点地址、接收节点地址、期望的路由花费、拐点数、拐点列表、数据包序号、数据包长度以及数据区。Wherein, if the marking unit 74 marks the data packet by adding the address of the node into the inflection point list of the data packet, the data packet after the marking includes: source node address, target node address, sending node address, receiving Node address, expected routing cost, inflection point number, inflection point list, data packet sequence number, data packet length, and data area.
其中,如果所述标记单元74通过将数据包的信息加入所述历史信息表中来对数据包进行标记,则标记后的数据包包括:源节点地址、目标节点地址、发送节点地址、接收节点地址、期望的路由花费、数据包序号、数据包长度以及数据区。Wherein, if the marking unit 74 marks the data packet by adding the information of the data packet into the history information table, the data packet after the marking includes: source node address, destination node address, sending node address, receiving node Address, expected routing cost, packet sequence number, packet length, and data field.
在一个实施例中,该节点还可以包括:In one embodiment, the node may also include:
数据构建单元76,其用于在所述转发单元75转发标记后的所述数据包之前,或者转发所述数据包之前,将所述数据包的路由花费添加入所述数据包中,以便接收到该数据包的节点通过对该数据的解析确定是否发生了路由环路。A data construction unit 76, configured to add the routing cost of the data packet into the data packet before the forwarding unit 75 forwards the marked data packet, or before forwarding the data packet, so as to receive The node receiving the data packet determines whether a routing loop occurs by analyzing the data.
在一个实施例中,所述处理单元73还用于在确定发生路由环路后,执行解决路由环路的操作,例如,将所述节点的本地路由表中的上次转发所述数据包时的路由节点的花费置为最大。In one embodiment, the processing unit 73 is further configured to perform an operation to resolve the routing loop after it is determined that the routing loop occurs, for example, the last time the data packet was forwarded in the local routing table of the node The cost of the routing node is set to the maximum.
本实施例的节点通过对数据包进行标记来根据接收到的数据包判断是否发生路由环路,及时的解决了路由环路的问题,避免了通信资源的浪费,并保证了网络的正常工作。The node in this embodiment judges whether a routing loop occurs according to the received data packet by marking the data packet, which solves the problem of the routing loop in time, avoids the waste of communication resources, and ensures the normal operation of the network.
本发明实施例还提供了一种通信网络,该通信网络包括一个或多个实施例2所述的节点。其内容被合并于此,在此不再赘述。An embodiment of the present invention also provides a communication network, where the communication network includes one or more nodes described in Embodiment 2. Its content is incorporated here, and will not be repeated here.
本发明实施例还提供了一种计算机可读程序,其中当在终端设备中执行该程序时,该程序使得计算机在所述终端设备中执行实施例1所述的路由环路检测方法。An embodiment of the present invention also provides a computer-readable program, wherein when the program is executed in a terminal device, the program causes a computer to execute the routing loop detection method described in Embodiment 1 in the terminal device.
本发明实施例还提供了一种存储有计算机可读程序的存储介质,其中该计算机可读程序使得计算机在终端设备中执行实施例1所述的路由环路检测方法。An embodiment of the present invention also provides a storage medium storing a computer-readable program, wherein the computer-readable program enables a computer to execute the routing loop detection method described in Embodiment 1 in a terminal device.
以上参照附图描述了本发明的优选实施方式。这些实施方式的许多特征和优点根据该详细的说明书是清楚的,因此所附权利要求旨在覆盖这些实施方式的落入其真实精神和范围内的所有这些特征和优点。此外,由于本领域的技术人员容易想到很多修改和改变,因此不是要将本发明的实施方式限于所例示和描述的精确结构和操作,而是可以涵盖落入其范围内的所有合适修改和等同物。The preferred embodiments of the present invention have been described above with reference to the accompanying drawings. The many features and advantages of these embodiments are apparent from this detailed description, and thus the appended claims are intended to cover all such features and advantages of these embodiments that fall within their true spirit and scope. Moreover, since many modifications and changes will readily occur to those skilled in the art, it is not intended to limit the embodiments of the present invention to the precise structures and operations illustrated and described, but to cover all suitable modifications and equivalents falling within the scope thereof thing.
流程图中或在此以其它方式描述的任何过程或方法描述或框可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程中的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中,可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或者按相反的顺序,来执行功能,这应被本发明所述技术领域的技术人员所理解。Any process or method descriptions or blocks in flowcharts or otherwise described herein may be understood to represent a module comprising code of one or more executable instructions for implementing specific logical functions or steps in a process, fragments or portions, and the scope of the preferred embodiment of the invention includes additional implementations in which execution may be performed out of the order shown or discussed, including substantially concurrently or in reverse order depending on the functions involved functions, which should be understood by those skilled in the art to which the present invention pertains.
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201310227098.XACN104243224B (en) | 2013-06-08 | 2013-06-08 | The detection method and device of route loop |
| JP2014115641AJP2014239437A (en) | 2013-06-08 | 2014-06-04 | Method and device for detecting routing loop |
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201310227098.XACN104243224B (en) | 2013-06-08 | 2013-06-08 | The detection method and device of route loop |
| Publication Number | Publication Date |
|---|---|
| CN104243224Atrue CN104243224A (en) | 2014-12-24 |
| CN104243224B CN104243224B (en) | 2017-11-10 |
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201310227098.XAExpired - Fee RelatedCN104243224B (en) | 2013-06-08 | 2013-06-08 | The detection method and device of route loop |
| Country | Link |
|---|---|
| JP (1) | JP2014239437A (en) |
| CN (1) | CN104243224B (en) |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN106792857A (en)* | 2016-12-27 | 2017-05-31 | 上海斐讯数据通信技术有限公司 | Loop detecting method, loop detection means and system |
| CN107395523A (en)* | 2016-05-16 | 2017-11-24 | 智邦科技股份有限公司 | control method and network architecture |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP6459558B2 (en)* | 2015-01-27 | 2019-01-30 | 富士通株式会社 | Wireless communication apparatus, wireless communication method, and wireless communication program |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20090129316A1 (en)* | 2007-08-20 | 2009-05-21 | Bbn Technologies Corp. | Systems and methods for adaptive routing in mobile ad-hoc networks and disruption tolerant networks |
| CN101784067A (en)* | 2010-01-14 | 2010-07-21 | 重庆邮电大学 | Method for quickly sensing meeting nodes based on cross-layer triggering in opportunistic network |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20090129316A1 (en)* | 2007-08-20 | 2009-05-21 | Bbn Technologies Corp. | Systems and methods for adaptive routing in mobile ad-hoc networks and disruption tolerant networks |
| CN101784067A (en)* | 2010-01-14 | 2010-07-21 | 重庆邮电大学 | Method for quickly sensing meeting nodes based on cross-layer triggering in opportunistic network |
| Title |
|---|
| 吕志鹏等: "无线Ad hoc网络中防止路由环路方案", 《电子测量技术》* |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN107395523A (en)* | 2016-05-16 | 2017-11-24 | 智邦科技股份有限公司 | control method and network architecture |
| CN107395523B (en)* | 2016-05-16 | 2021-04-13 | 智邦科技股份有限公司 | Control method and network architecture |
| CN106792857A (en)* | 2016-12-27 | 2017-05-31 | 上海斐讯数据通信技术有限公司 | Loop detecting method, loop detection means and system |
| Publication number | Publication date |
|---|---|
| CN104243224B (en) | 2017-11-10 |
| JP2014239437A (en) | 2014-12-18 |
| Publication | Publication Date | Title |
|---|---|---|
| US9172636B2 (en) | Efficient link repair mechanism triggered by data traffic | |
| US10178019B2 (en) | Low-overhead anchorless managing of producer mobility in information-centric networking | |
| US8743866B2 (en) | Method and apparatus to reduce cumulative effect of dynamic metric advertisement in smart grid/sensor networks | |
| US9800493B2 (en) | Routing messages in a computer network using deterministic and probalistic source routes | |
| US20110228696A1 (en) | Dynamic directed acyclic graph (dag) topology reporting | |
| US10979340B2 (en) | Link state addition and deletion based on reception of a single message in link state vector routing | |
| WO2018184487A1 (en) | Bier message forwarding method and device | |
| US10959157B2 (en) | Systems and methods for wireless communication network loop detection | |
| WO2016029862A1 (en) | Method and device for link state information announcement | |
| CN104937878B (en) | The method that Protocol Independent Multicast tree is established in the presence of unidirectional tunnel | |
| EP3157211B1 (en) | Isis-based flooding method and device | |
| CN104243224B (en) | The detection method and device of route loop | |
| CN107852367A (en) | Path in mesh network is established | |
| EP3166263B1 (en) | Routing calculation method and device for trill isis | |
| US20130290560A1 (en) | Systems and methods for determining routes in networks | |
| WO2023098703A1 (en) | Path notification method, topology algorithm combination generation method, path calculation method, data transmission method, electronic device, and computer-readable storage medium | |
| CN105577535B (en) | Compounded link guard method based on multi-next-hop and backup path | |
| WO2011150835A1 (en) | Method for requesting to obtain route information and corresponding route device thereof | |
| CN104104605A (en) | Downlink route acquisition and maintenance method and device | |
| WO2017140238A1 (en) | Message transmission method and device | |
| JP5664768B2 (en) | Node, link forming method and link forming program | |
| CN106912082B (en) | Wireless mesh network system, node, data transmission method and message transmission method | |
| CN101330447A (en) | A Method of Detecting Next Hop MAC Address | |
| JP6459558B2 (en) | Wireless communication apparatus, wireless communication method, and wireless communication program | |
| WO2022188488A1 (en) | Path establishment method and apparatus, node and computer-readable storage medium |
| 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 | ||
| 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:20171110 Termination date:20180608 |