CN104702530B - 一种环网中Goose报文的发送方法及装置 - Google Patents
一种环网中Goose报文的发送方法及装置 Download PDFInfo
- Publication number
- CN104702530B CN104702530B CN201310654968.1A CN201310654968A CN104702530B CN 104702530 B CN104702530 B CN 104702530B CN 201310654968 A CN201310654968 A CN 201310654968A CN 104702530 B CN104702530 B CN 104702530B
- Authority
- CN
- China
- Prior art keywords
- goose
- messages
- message
- goose messages
- sequence identification
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种环网中Goose报文的发送方法及装置。当普通节点设备通过环端口接收到Goose报文时,识别该报文中携带的顺序标识信息,以判断该报文是否连续,当判断报文连续时转发该Goose报文,否则判断自身是否曾接收该Goose报文,当确定自身曾接收过该报文时,转发该报文,当确定自身未曾接收过该报文时,创建请求下一顺序标识信息的Goose报文请求并发送。由于在发明中根据Goose报文中携带的顺序标识信息,在确定接收的Goose报文不连续时,只请求自身未曾接收过的Goose报文,因此可以满足在网络的连续拓扑变化时零丢包的要求,同时通过提高节点保存报文的缓存的利用率来解决Goose报文丢失问题。
Description
技术领域
本发明涉及工业以太网技术领域,尤其涉及一种环网中Goose报文的发送方法及装置。
背景技术
面向通用对象的变电站事件(Goose)是为了满足变电站自动化***快速报文需求的机制,发送的Goose报文可以便于运行人员监控、测量以及分析网络各方面的状况。
当前DRP等环网协议可以帮助用户自动裁剪网络中的冗余链路,防止报文在环网中出现风暴,同时也保证网络发生变化时,可以根据实际情况回复冗余链路。但是新的网络拓扑需要一定时间来稳定,在这段时间内DRP协议无法保证环网内报文的零丢包要求,因此为了调高零丢包的质量,针对Goose报文在环网中的传播提出了零丢包方面的解决方案。
在环网中,当网络中有间断性的拓扑变化时,网络能够保证720PPS的零丢包质量。但是当网络中出现连续的拓扑变化时,网络只能保证100PPS的零丢包质量。造成这种情况的主要原因是,当网络发生连续的拓扑变化时,在网络中会出现大量的重传报文,从而使设备在进行报文处理时,需要增加数倍的工作量,因此导致零丢包质量较低。而针对网络的连续拓扑变化,如何满足零丢包的要求,成为了目前亟待解决的问题。
另外,当各个节点设备为了防止丢包而保存报文进行缓存时,由于各个节点设备保存报文的缓存空间是有限的,如何利用有效利用缓存是个问题,一般的技术方案是将报文进行标记序号发送或接收并保存在缓存中,当缓存空间占满后进行清除空间。这种方案必然面对的一个问题就是当缓存空间即将占满后,后续报文将会重新计数进行标记识别,而此时如果报文请求重传的话,原来被清除的报文将无法完成重传,这是引起报文丢包的一种情况,也是需要解决的。
发明内容
本发明实施例提供一种环网中Goose报文的发送方法及装置,用以解决现有技术环网中出现连续拓扑变化时,如何满足零丢包要求的问题。
本发明实施例提供一种环网中Goose报文的发送方法,所述方法包括:
环网中的普通节点设备通过第一环端口接收Goose报文,识别该Goose报文中携带的顺序标识信息;
根据所述顺序标识信息,及上一时刻处理的Goose报文的顺序标识信息,判断该Goose报文是否连续;
当确定该Goose报文连续时,通过第二环端口转发该Goose报文,并将该Goose报文从自身的非环端口发出;
当确定该Goose报文不连续时,判断该Goose报文是否为曾接收过的报文;
当确定该Goose报文非曾接收过的报文时,根据上一时刻处理的Goose报文的顺序标识信息,创建携带下一顺序标识信息的Goose报文请求并发送;
当确定该Goose报文为曾接收过的报文时,通过第二环端口转发该Goose报文。
本发明实施例提供一种环网中Goose报文的发送装置,所述装置包括:
识别模块,用于通过第一环端口接收Goose报文,识别该Goose报文中携带的顺序标识信息;
判断模块,用于根据所述顺序标识信息,及上一时刻处理的Goose报文的顺序标识信息,判断该Goose报文是否连续;当确定该Goose报文不连续时,判断该Goose报文是否为曾接收过的报文;
发送模块,用于当确定该Goose报文连续时,通过第二环端口转发该Goose报文,并将该Goose报文从自身的非环端口发出;当确定该Goose报文非曾接收过的报文时,根据上一时刻处理的Goose报文的顺序标识信息,创建携带下一顺序标识信息的Goose报文请求并发送;当确定该Goose报文为曾接收过的报文时,通过第二环端口转发该Goose报文。
本发明实施例提供一种环网中Goose报文的发送方法及装置,该方法包括: 当环网中的普通节点设备通过环端口接收到Goose报文时,识别该报文中携带的顺序标识信息,以判断该报文是否连续,当判断报文连续时,转发该Goose报文,否则,判断自身是否曾接收该Goose报文,当确定自身曾接收过该报文时,直接转发该报文,当确定自身未曾接收过该报文时,创建请求下一顺序标识信息的Goose报文请求并发送。由于在发明实施例中根据Goose报文中携带的顺序标识信息,判断接收的Goose报文是否连续,在确定不连续时,只请求自身未曾接收过的Goose报文,因此可以有效的减小报文的发送数量,也满足了在环网出现连续拓扑变化时零丢包的要求,同时通过提高节点保存报文的缓存的利用率来解决Goose报文丢失问题。
附图说明
图1为本发明实施例提供的一种环网中Goose报文的发送过程示意图。
图2为本发明实施例提供的该环网中Goose报文的一种详细发送过程示意图。
图3为本发明实施例提供的环网中Goose报文的另一详细实施过程示意图。
图4本发明实施例提供的环网中各节点设备的连接关系结构图。
图5为本发明实施例提供的一种环网中Goose报文的发送装置的结构示意图。
具体实施方式
本发明为了在环网出现连续拓扑变化时,有效的减少重传报文的数量,满足零丢包的要求,提供了一种环网中Goose报文的发送方法及装置。
下面结合说明书附图,对本发明实施例进行详细说明。
图1为本发明实施例提供的一种环网中Goose报文的发送过程示意图,该过程包括以下步骤:
S101:环网中的普通节点设备通过第一环端口接收Goose报文,识别该Goose报文中携带的顺序标识信息。
具体的在本发明实施例中,环网中的节点设备分为普通节点设备和介入(GAP)节点设备。普通节点设备通过环端口接收Goose报文,GAP节点设备通过非环端口接收Goose报文。并且当GAP节点设备接收到Goose报文后,为了便于普通节点设备判断自身接收到的Goose报文是否连续,GAP节点设备在Goose报文中添加顺序标识信息。
在本发明实施例中为了满足零丢包的要求,当普通节点设备接收到Goose报文后,识别该Goose报文中携带的顺序标识信息。
S102:根据所述顺序标识信息,及保存的上一时刻处理的Goose报文的顺序标识信息,判断该Goose报文是否连续,当判断连续时,执行步骤S103,否则,执行步骤S104。
普通节点设备为了便于判断接收到的Goose报文是否连续,当接收并处理一个连续的Goose报文后,识别该Goose报文中的顺序标识信息并保存。当再接收到Goose报文时,根据该接收到的Goose报文中携带的顺序标识信息,及保存上一时刻处理的Goose报文的顺序标识信息,可以判断该接收的Goose报文是否与上一时刻处理的Goose报文连续。
S103:通过第二环端口转发该Goose报文,并将该Goose报文从自身的非环端口发出。
当普通节点设备确定该接收的Goose报文与上一时刻处理的Goose报文连续时,对该接收的Goose报文进行处理,并采用该Goose报文中携带的顺序标识信息,对自身保存的上一时刻处理的Goose报文的顺序标识信息进行更新。
普通节点设备对该Goose报文进行处理包括:将该Goose报文通过其他的环端口发送,并通过自身的非环端口将该Goose报文发送出去。其中在每个普通节点设备的非环端口可以连接有分析仪,以便根据该Goose报文分析网络中存在的问题。另外,在普通节点设备在通过非还端口发送该Goose报文时,为了避免分析仪识别报文时出现问题,先将该Goose报文中的顺序标识信息去除后,再发送。
S104:判断该Goose报文是否为曾接收过的报文,当判断该报文为曾接收过的报文时,进行步骤S105,否则,进行步骤S106。
当确定接收的该Goose报文与上一时刻处理的Goose报文不连续时,为了减少Goose报文的重传次数,还要判断该Goose报文是否自身曾接收过的报文。
S105:通过第二环端口转发该Goose报文。
S106:根据保存的上一时刻处理的Goose报文的顺序标识信息,创建携带下一顺序标识信息的Goose报文请求并发送。
如果接收到的该Goose报文为自身曾接收过的报文,则说明该Goose报文为其他节点设备请求的报文,自身不进行处理直接转发即可,如果接收到的该Goose报文非自身曾接收过的报文,说明此时出现了Goose报文丢失的问题,为了满足零丢包的要求,创建携带下一顺序标识信息的Goose报文请求并发送。在本发明实施例中的Goose报文的请求阶段,不进行Goose报文的转发处理,此时,将该Goose报文丢弃即可。
由于在发明实施例中根据Goose报文中携带的顺序标识信息,判断接收的Goose报文是否连续,在确定不连续时,只请求自身未曾接收过的Goose报文,因此可以有效的减小报文的发送数量,也满足了在环网出现连续拓扑变化时零丢包的要求。
在本发明实施例中为了有效的满足在环网的连续拓扑变化时零丢包的要求,保证在环网中每个节点设备按照Goose报文的原始生成、发送顺序,对Goose报文进行处理。而为了保证每个节点设备按照Goose报文的原始生成、发送顺序处理,在本发明实施例中按照Goose报文的原始生成、发送顺序对该Goose报文进行排序,在该Goose报文中携带顺序标识信息。
具体的,与Goose报文发送设备连接的节点设备,通过非环端口连接该Goose报文发送设备,为了确定该Goose报文的原始生成、发送顺序,与该Goose报文发送设备通过非环端口连接的节点设备作为介入(GAP)节点设备。当节点设备确定自身通过非环端口接收Goose报文时,确定自身为GAP节点设备。当节点设备确定自身通过环端口接收Goose报文时,则该节点设备确定自身为普通节点设备。
GAP节点设备具有关于网络中所需传播报文的最准确的信息,因此GAP节点设备可以掌握和发布当前Goose报文的顺序标识信息。GAP节点设备根据接收到的Goose报文的顺序(即Goose报文的原始生成、发送顺序),在Goose报文中添加顺序标识信息,以便环网中的普通节点设备确定接收到的Goose报文是否连续。
具体的,在Goose报文中添加顺序标识信息时,在Goose报文中存在一个保留位,该保留位在不被使用的情况下始终为零。利用该特点,在本发明实施例中可以将该顺序标识信息添加在该保留位中。GAP节点设备每通过非环端口接收一个Goose报文就增加一个计数值,将该计数值作为顺序标识信息添加到Goose报文中。
GAP节点设备在通过非环端口接收到Goose报文后,在该Goose报文中添加顺序标识信息后,将该报文通过环端口发送出去,并在本地存储该Goose报文,以便后续环网中出现丢包时,能够将该丢包后的Goose报文重新提供给环网中的其他节点设备。
环网中其他节点设备都是通过自身的环端口接收Goose报文的,因此当该节点设备判断自身通过环端口接收Goose报文时,该节点设备判断自身为普通节点设备。该普通节点设备对自身接收的Goose报文具有辨识能力,按照Goose报文中的顺序标识信息递增的顺序,来辨别接收到的Goose报文是否连续。普通节点设备能够识别出该Goose报文中携带的顺序标识信息,从而判断自身当前接收的Goose报文是否为一个连续报文。
当环网中每个节点设备确定了自身的角色后,GAP节点设备发送Goose报文,当普通节点设备通过环端口接收到该Goose报文时,识别该Goose报文中携带的顺序标识信息,根据该顺序标识信息,及保存的上一时刻处理的Goose报文的顺序标识信息,判断该Goose报文是否连续,即判断该上一时刻处理的Goose报文的顺序标识信息与识别的该顺序标识信息是否连续。当确定该Goose报文连续时,通过其他环端口转发该Goose报文,并为了对该Goose报文进行分析,将该Goose报文从自身的非环端口发出。
当确定该Goose报文不连续时,为了满足零丢包的要求,并减小环网中报文的重传次数,该普通节点设备判断该Goose报文是否为曾接收过的报文,如果曾经接收过该Goose报文,则可以确定该Goose报文为其他节点设备请求的报文,为了保证其他节点设备能够接收到该Goose报文,该普通节点设备通过环端口转发该Goose报文;如果该报文非曾接收过的报文,该普通节点设备丢弃该报文不对该报文进行处理,并为了保证零丢包的要求,该普通节点设备根据保存的上一时刻处理的Goose报文的顺序标识信息,创建携带下一顺序标识信息的Goose报文请求并发送。
环网中有多个普通节点设备,当网络拓扑发生变化时,往往大部分,乃至所有的普通节点设备都会遇到丢包的情况,此时如果每个普通节点设备在出现丢包时,都发送Goose报文请求,则此时环网中将会存在大量的重复的Goose报文请求。而GAP节点设备为了响应,将会不断的发送重复的Goose报文,该方法对环网的压力很大,严重影响环网的数据传输效率。
为了有效的避免环网中大量的重复报文,在本发明实施例中,当普通节点设备判断当前接收的Goose报文不连续时,首先需要判断该Goose报文自身是否曾经接收过,只有在自身曾经未接收过时,才向GAP节点设备发送携带下一顺序标识信息的Goose报文请求。
另外,为了进一步降低环网中重复报文的发送数量,在本发明实施例中该普通节点设备发送该携带下一顺序标识信息的Goose报文请求包括:
判断自身是否接收或请求过携带所述下一顺序标识信息的Goose报文请求;
当自身未接收或请求过时,创建该携带下一顺序标识信息的Goose报文请求并通过环端口发送。
在本发明实施例中当该普通节点设备接收到Goose报文,并根据该Goose报文中携带的顺序标识信息,判断该Goose报文非连续报文,并且之前未曾接收过时,还要判断自身是否接收过或者请求过该下一顺序标识信息的Goose报文请求,当自身之前没有接收也没有请求过该下一顺序标识信息的Goose报文请求时,该普通节点设备创建该携带下一顺序标识信息的Goose报文请求并通过环端口发送,当自身之前接收或请求过该下一顺序标识信息的Goose报文请求时,为了减少环网中重复报文的发送数量,该普通节点设备此时不再请求该顺序标识信息的Goose报文。
即为了进一步减小环网中重复报文的发送数量,并且还能满足零丢包的要求,当普通节点设备确定接收的Goose报文断续时,并且该Goose报文未曾接收过时,普通节点设备还需要判断自身之前是否请求或接收过该携带所述下一顺序标识信息的Goose报文请求,当自身未请求或接收过时,创建该携带下一顺序标识信息的Goose报文请求并通过环端口发送。该方法可以使环网中的重复报文被大量的削减,在保证零丢包要求的同时降低网络和各个节点设备的处理能力。
更进一步地,
当介入节点设备发送的1个或多个Goose报文被丢弃时,其它节点设备是不能感知到的,虽然普通节点设备可以通过将后续接收到Goose报文的序号与其中保存的Goose报文的序号进行比较来来判断是否丢包,当节点的缓存空间即将占满后,后续报文将会重新计数进行标记识别,而此时如果报文请求重传的话,原来被清除的报文将无法完成重传,可以采用介入节点设备定时发送Goose顺序标识判断报文来解决该问题。
具体地,如下步骤:
A、当介入节点设备在预设时间的三分之一时间段内没有收到Goose报文时,发送Goose顺序标识判断报文给其它节点,其它节点设备(普通节点设备或/和另外的接入节点设备)根据其接收到的Goose顺序标识判断报文携带的介入节点最后一次发送Goose报文的顺序标识与自身最后保存的Goose报文的顺序标识比较判断是否有相关Goose报文丢失,Goose报文顺序标识不连续时,所述其它节点设备发送相应丢失顺序标识段的Goose报文请求;
B、所述介入节点设备在预设时间的剩余三分之二时间段内没有收到新的Goose报文和Goose报文请求时,清除保存在介入节点设备的报文缓存,该介入节点设备缓存保存的Goose报文顺序标识重新从零计数。
这里预设时间为保证之前已经接收的Goose报文能被传送到各个设备的最大时间,与设备的处理能力和网络大小有关。例如133M CPU,5台设备,时间大概在3秒钟,该时间包括报文上CPU、缓存、查找、转发和重传等处理。
图2为本发明实施例提供的该环网中Goose报文的一种详细发送过程示意图,该过程包括以下步骤:
S201:环网中的普通节点设备通过第一环端口接收Goose报文,识别该Goose报文中携带的顺序标识信息。
S202:根据所述顺序标识信息,及保存的上一时刻处理的Goose报文的顺序标识信息,判断该Goose报文是否连续,当判断连续时,执行步骤S203,否则,执行步骤S204。
S203:通过第二环端口转发该Goose报文,并将该Goose报文从自身的非环端口发出。
S204:判断该Goose报文是否为曾接收过的报文,当判断该报文为曾接收过的报文时,进行步骤S205,否则,进行步骤S206。
S205:通过第二环端口转发该Goose报文。
S206:判断自身是否接收或请求过携带所述下一顺序标识信息的Goose报文请求,当判断结果为是时,进行步骤S207,否则,进行步骤S208。
S207:将该Goose报文丢弃,不对该报文进行处理。
S208:创建该携带下一顺序标识信息的Goose报文请求,并通过环端口发送。
通过本发明的上述实施例,可以使环网中的重复报文被大量的削减,保证零丢包要求的同时降低网络和各个节点设备的处理能力。
另外,为了进一步的使环网中的重复报文被大量的削减,在保证零丢包要求的同时降低网络和各个节点设备的处理能力,在本发明实施例中,当普通节点设备接收到Goose报文请求时,该方法还包括:
所述环网中的普通节点设备通过第一环端口接收其他节点设备发送的Goose报文请求,其中所述Goose报文请求中携带请求的Goose报文的顺序标识信息;
判断自身是否请求或接收过所述顺序标识信息的Goose报文请求;
当判断自身发送或接收过该顺序标识信息的Goose报文请求时,通过自身的非环端口发送所述Goose报文请求,否则,通过环端口转发所述Goose报文请求。
在本发明实施例中为了保证零丢包的要求,并且同时减低环网中重复报文发送的数量,当普通节点设备接收到Goose报文请求后,需要判断应该如何对该Goose报文请求进行处理。当普通节点设备接收到Goose报文请求后,由于该Goose报文请求中携带请求的Goose报文的顺序标识信息,因此普通节点设备根据该Goose报文请求,可以判断自身之前是否请求过该顺序标识信息的Goose报文请求,当自身没有请求过时,还需要判断自身是否之前接收过其他普通节点设备发送该顺序标识信息的Goose报文请求,当也未曾接收过其他普通节点设备发送的该顺序标识信息的Goose报文请求时,该普通节点设备才通过环端口将该Goose报文请求发送出去,只要自身请求或接收过所述顺序标识信息的Goose报文请求,该普通节点设备为了减少环网中重复报文发送的数量,通过自身的非环端口发送该Goose报文请求。
图3为本发明实施例提供的环网中Goose报文的另一详细实施过程示意图,该过程包括以下步骤:
S301:环网中的普通节点设备通过第一环端口接收其他节点设备发送的Goose报文请求,其中所述Goose报文请求中携带请求的Goose报文的顺序标识信息。
S302:所述普通节点设备根据所述顺序标识信息,判断自身是否请求或接收过所述顺序标识信息的Goose报文请求,当判断结果为是时,进行步骤S303,否则,进行步骤S304。
S303:通过自身的非环端口发送所述Goose报文请求。
S304:通过环端口转发所述Goose报文请求。
图4本发明实施例提供的环网中各节点设备的连接关系结构图,在图4中包括节点设备1、2、3、4,其中节点设备3为GAP节点设备,其余节点设备为普通节点设备,节点设备的环端口相互连接,并且GAP节点设备的非环端口连接Goose报文发送设备,节点设备2和节点设备4的非环端口连接分析仪,节点设备1的非环端口连接Goose报文订阅设备。
节点设备3通过非环端口接收Goose报文发送设备发送的Goose报文,自身判断该Goose报文是通过非环端口接收的,因此将自身确定为GAP节点设备。该GAP节点设备根据接收的Goose报文的发送顺序,依次生成每个顺序标识信息,将该顺序标识信息添加到每个Goose报文的保留位中,之后通过自身的环端口发送该Goose报文。为了计数方便,在GAP节点设备确定的该首个Goose报文的顺序标识信息可以为1,之后按照Goose报文的接收顺序,依次分别确定每个Goose报文中携带的顺序标识信息。
节点设备2通过第一环端口接收到Goose报文后,自身判断该Goose报文是通过环端口接收的,因此将自身确定为普通节点设备。该普通节点设备接收到该Goose报文后,识别该Goose报文中携带的顺序标识信息。当识别该Goose报文中携带的顺序标识信息为1时,自身保存的上一时刻处理的Goose报文的顺序标识信息为0,确定该Goose报文为首个报文,并确定该Goose报文与上一时刻处理的Goose报文连续。节点设备2通过第二环端口发送该Goose报文,之后去除该Goose报文的保留位中携带的顺序标识信息,将去除顺序标识信息后的Goose报文通过自身的非环端口发送到分析仪进行分析。并将自身上一时刻处理的Goose报文的顺序标识信息更新为1。
之后,节点设备2通过第一环端口接收Goose报文,识别该Goose报文中的顺序标识信息。如果此时识别的该顺序标识信息为1,节点设备根据自身保存的上一时刻处理的Goose报文的顺序标识信息,判断当前接收的Goose报文与上一时刻处理的Goose报文不连续,之后,节点设备2根据该Goose报文中携带的顺序标识信息,及自身保存的上一时刻处理的Goose报文的顺序标识信息,判断当前接收的Goose报文为曾接收过的报文,因此可以确定该Goose报文为其他节点设备请求的报文,节点设备2通过第二环端口转发该Goose报文。
如果此时识别的该顺序标识信息为2,节点设备根据自身保存的上一时刻处理的Goose报文的顺序标识信息,判断当前接收的Goose报文与上一时刻处理的Goose报文连续,节点设备2通过第二环端口发送该Goose报文,之后去除该Goose报文中保留位中携带的顺序标识信息,将去除顺序标识信息后的Goose报文通过自身的非环端口发送到分析仪进行分析。并将自身上一时刻处理的Goose报文的顺序标识信息更新为2。
如果此时识别的该顺序标识信息为3,节点设备根据自身保存的上一时刻处理的Goose报文的顺序标识信息,判断当前接收的Goose报文与上一时刻处理的Goose报文不连续,之后,节点设备2根据该Goose报文中携带的顺序标识信息,及自身保存的上一时刻处理的Goose报文的顺序标识信息,判断当前接收的Goose报文为非曾接收过的报文,因此可以判断此时环网的拓扑结构发生变化,为了满足零丢包的要求,另外还为了降低环网中重传报文的数量,该节点设备2判断自身是否请求或接收过携带顺序标识信息为2的Goose报文请求,当确定自身请求或接收过时,将该Goose报文丢弃,不对该报文进行处理,当确定自身未曾请求或接收过时,创建该携带下一顺序标识信息的Goose报文请求并通过第二环端口发送。
图5为本发明实施例提供的一种环网中Goose报文的发送装置的结构示意图,所述装置包括:
识别模块51,用于通过第一环端口接收Goose报文,识别该Goose报文中携带的顺序标识信息;
判断模块52,用于根据所述顺序标识信息,及保存的上一时刻处理的Goose报文的顺序标识信息,判断该Goose报文是否连续;当确定该Goose报文不连续时,判断该Goose报文是否为曾接收过的报文;
发送模块53,用于当确定该Goose报文连续时,通过第二环端口转发该Goose报文,并将该Goose报文从自身的非环端口发出;当确定该Goose报文非曾接收过的报文时,根据保存的上一时刻处理的Goose报文的顺序标识信息,创建携带下一顺序标识信息的Goose报文请求并发送;当确定该Goose报文为曾接收过的报文时,通过第二环端口转发该Goose报文。
所述识别模块51,还用于判断该Goose报文是否为通过自身的环端口接收;当确定该Goose报文通过自身的环端口接收时,确定自身为环网中的普通节点设备,否则,确定自身为环网中的介入节点设备。
所述发送模块53,还用于当介入节点设备在预设时间的三分之一时间段内没有收到Goose报文时,发送Goose顺序标识判断报文给其它节点,其它节点设备根据其接收到的Goose顺序标识判断报文携带的介入节点最后一次发送Goose报文的顺序标识与自身最后保存的Goose报文的顺序标识比较判断是否有相关Goose报文丢失,Goose报文顺序标识不连续时,所述其它节点设备发送相应丢失顺序标识段的Goose报文请求;所述介入节点设备在预设时间的剩余三分之二时间段内没有收到新的Goose报文和Goose报文请求时,清除保存在介入节点设备的报文缓存,该介入节点设备缓存保存的Goose报文顺序标识重新从零计数。
所述发送模块53,还用于当确定自身为环网中的介入节点设备时,根据自身接收到的Goose报文的顺序,在Goose报文中添加顺序标识信息,以便环网中的普通节点设备确定接收到的Goose报文是否连续。
所述装置还包括:
接收模块54,用于通过第一环端口接收其他节点设备发送的Goose报文请求,其中所述Goose报文请求中携带请求的Goose报文的顺序标识信息;
所述判断模块52,还用于判断自身是否发送或接收过所述顺序标识信息的Goose报文请求;
所述发送模块53,还用于当判断自身发送或接收过该顺序标识信息的Goose报文请求时,通过自身的非环端口发送所述Goose报文请求,否则,通过环端口转发所述Goose报文请求。
所述发送模块53,具体用于判断自身是否接收或请求过所述下一顺序标识信息的Goose报文请求;当自身未接收或请求过时,创建该携带下一顺序标识信息的Goose报文请求并通过环端口发送。
本发明实施例提供一种环网中Goose报文的发送方法及装置,该方法包括: 当环网中的普通节点设备通过环端口接收到Goose报文时,识别该报文中携带的顺序标识信息,以判断该报文是否连续,当判断报文连续时,转发该Goose报文,否则,判断自身是否曾接收该Goose报文,当确定自身曾接收过该报文时,直接转发该报文,当确定自身未曾接收过该报文时,创建请求下一顺序标识信息的Goose报文请求并发送。由于在发明实施例中根据Goose报文中携带的顺序标识信息,判断接收的Goose报文是否连续,在确定不连续时,只请求自身未曾接收过的Goose报文,因此可以有效的减小报文的发送数量,从而满足在网络的连续拓扑变化时零丢包的要求。
本领域内的技术人员应明白,本申请的实施例可提供为方法、***、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (8)
1.一种环网中Goose报文的发送方法,其特征在于,所述方法用于环网的拓扑关系连续发生变化时,所述方法包括:
环网中的普通节点设备通过第一环端口接收Goose报文,识别该Goose报文中携带的顺序标识信息;
根据所述顺序标识信息,及保存的上一时刻处理的Goose报文的顺序标识信息,判断该Goose报文是否连续;
当确定该Goose报文连续时,通过第二环端口转发该Goose报文,并将该Goose报文从自身的非环端口发出;
当确定该Goose报文不连续时,判断该Goose报文是否为曾接收过的报文;
当确定该Goose报文非曾接收过的报文时,根据保存的上一时刻处理的Goose报文的顺序标识信息,创建携带下一顺序标识信息的Goose报文请求并发送;当确定该Goose报文为曾接收过的报文时,通过第二环端口转发该Goose报文;
所述创建携带下一顺序标识信息的Goose报文请求并发送包括:
判断自身是否接收或请求过携带所述下一顺序标识信息的Goose报文请求;当自身未接收或请求过时,创建该携带下一顺序标识信息的Goose报文请求并通过环端口发送;当自身接收或请求过时,将该Goose报文丢弃,不对该报文进行处理。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
环网中的节点设备判断该Goose报文是否为通过自身的环端口接收;
当确定该Goose报文通过自身的环端口接收时,确定自身为环网中的普通节点设备,否则,确定自身为环网中的介入节点设备;
当介入节点设备在预设时间的三分之一时间段内没有收到Goose报文时,发送Goose顺序标识判断报文给其它节点,其它节点设备根据其接收到的Goose顺序标识判断报文携带的介入节点最后一次发送Goose报文的顺序标识与自身最后保存的Goose报文的顺序标识比较判断是否有相关Goose报文丢失,Goose报文顺序标识不连续时,所述其它节点设备发送相应丢失顺序标识段的Goose报文请求;
所述介入节点设备在预设时间的剩余三分之二时间段内没有收到新的Goose报文和Goose报文请求时,清除保存在介入节点设备的报文缓存,该介入节点设备缓存保存的Goose报文顺序标识重新从零计数。
3.如权利要求2所述的方法,其特征在于,所述方法还包括:
所述环网中的介入节点设备根据自身接收到的Goose报文的顺序,在Goose报文中添加顺序标识信息,以便环网中的普通节点设备确定接收到的Goose报文是否连续。
4.如权利要求2所述的方法,其特征在于,所述方法还包括:
所述环网中的普通节点设备通过第一环端口接收其他节点设备发送的Goose报文请求,其中所述Goose报文请求中携带请求的Goose报文的顺序标识信息;
判断自身是否请求或接收过所述顺序标识信息的Goose报文请求;
当判断自身请求或接收过该顺序标识信息的Goose报文请求时,通过自身的非环端口发送所述Goose报文请求,否则,通过环端口转发所述Goose报文请求。
5.一种环网中Goose报文的发送装置,其特征在于,所述装置包括:
识别模块,用于通过第一环端口接收Goose报文,识别该Goose报文中携带的顺序标识信息;
判断模块,用于根据所述顺序标识信息,及保存的上一时刻处理的Goose报文的顺序标识信息,判断该Goose报文是否连续;当确定该Goose报文不连续时,判断该Goose报文是否为曾接收过的报文;
发送模块,用于当确定该Goose报文连续时,通过第二环端口转发该Goose报文,并将该Goose报文从自身的非环端口发出;当确定该Goose报文非曾接收过的报文时,根据保存的上一时刻处理的Goose报文的顺序标识信息,创建携带下一顺序标识信息的Goose报文请求并发送;当确定该Goose报文为曾接收过的报文时,通过第二环端口转发该Goose报文;
所述发送模块,具体用于判断自身是否接收或请求过携带所述下一顺序标识信息的Goose报文请求;当自身未接收或请求过时,创建该携带下一顺序标识信息的Goose报文请求并通过环端口发送;当自身接收或请求过时,将该Goose报文丢弃,不对该报文进行处理。
6.如权利要求5所述的装置,其特征在于,所述识别模块,还用于判断该Goose报文是否为通过自身的环端口接收;当确定该Goose报文通过自身的环端口接收时,确定自身为环网中的普通节点设备,否则,确定自身为环网中的介入节点设备;
所述发送模块,还用于当介入节点设备在预设时间的三分之一时间段内没有收到Goose报文时,发送Goose顺序标识判断报文给其它节点,其它节点设备根据其接收到的Goose顺序标识判断报文携带的介入节点最后一次发送Goose报文的顺序标识与自身最后保存的Goose报文的顺序标识比较判断是否有相关Goose报文丢失,Goose报文顺序标识不连续时,所述其它节点设备发送相应丢失顺序标识段的Goose报文请求;所述介入节点设备在预设时间的剩余三分之二时间段内没有收到新的Goose报文和Goose报文请求时,清除保存在介入节点设备的报文缓存,该介入节点设备缓存保存的Goose报文顺序标识重新从零计数。
7.如权利要求6所述的装置,其特征在于,所述发送模块,还用于当确定自身为环网中的介入节点设备时,根据自身接收到的Goose报文的顺序,在Goose报文中添加顺序标识信息,以便环网中的普通节点设备确定接收到的Goose报文是否连续。
8.如权利要求6所述的装置,其特征在于,所述装置还包括:
接收模块,用于通过第一环端口接收其他节点设备发送的Goose报文请求,其中所述Goose报文请求中携带请求的Goose报文的顺序标识信息;
所述判断模块,还用于判断自身是否请求或接收过所述顺序标识信息的Goose报文请求;
所述发送模块,还用于当判断自身请求或接收过该顺序标识信息的Goose报文请求时,通过自身的非环端口发送所述Goose报文请求,否则,通过环端口转发所述Goose报文请求。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310654968.1A CN104702530B (zh) | 2013-12-06 | 2013-12-06 | 一种环网中Goose报文的发送方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310654968.1A CN104702530B (zh) | 2013-12-06 | 2013-12-06 | 一种环网中Goose报文的发送方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104702530A CN104702530A (zh) | 2015-06-10 |
CN104702530B true CN104702530B (zh) | 2018-02-13 |
Family
ID=53349308
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310654968.1A Active CN104702530B (zh) | 2013-12-06 | 2013-12-06 | 一种环网中Goose报文的发送方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104702530B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106451376B (zh) * | 2016-09-30 | 2018-12-04 | 西电通用电气自动化有限公司 | 一种goose报文发布的方法及装置 |
CN109361559B (zh) * | 2017-08-10 | 2023-01-06 | 北京东土科技股份有限公司 | 一种并行冗余网络故障的检测方法和装置 |
CN111740939B (zh) * | 2019-08-07 | 2022-11-08 | 北京京东尚科信息技术有限公司 | 报文传输装置、设备、方法及存储介质 |
CN111030910A (zh) * | 2019-12-20 | 2020-04-17 | 国网上海市电力公司 | 环网节点通信状态监测方法、***及测控装置和就地模块 |
CN113704789A (zh) * | 2021-08-31 | 2021-11-26 | 中汽创智科技有限公司 | 一种车载通讯安全处理方法、装置、设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101068170A (zh) * | 2007-06-05 | 2007-11-07 | 华为技术有限公司 | 一种报文接收异常的检测方法、***及其装置 |
CN101184050A (zh) * | 2007-12-24 | 2008-05-21 | 杭州华三通信技术有限公司 | 分布式节点组播方法、分布式节点组播组件和分布式*** |
CN101459615A (zh) * | 2008-12-25 | 2009-06-17 | 华为技术有限公司 | 一种传输报文的方法、端口和*** |
CN101616080A (zh) * | 2009-07-17 | 2009-12-30 | 北京星网锐捷网络技术有限公司 | 一种弹性分组环报文保序方法、装置和网络设备 |
CN101883047A (zh) * | 2010-06-25 | 2010-11-10 | 黄宏程 | 多网络接口设备的数据并发传输方法 |
CN103297358A (zh) * | 2012-02-27 | 2013-09-11 | 北京东土科技股份有限公司 | 一种智能电网跨广域网goose报文传输***及方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100534625B1 (ko) * | 2003-02-18 | 2005-12-07 | 삼성전자주식회사 | 분산형 라우터의 신뢰성 있는 라우팅 정보 교환 장치 및그 방법 |
-
2013
- 2013-12-06 CN CN201310654968.1A patent/CN104702530B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101068170A (zh) * | 2007-06-05 | 2007-11-07 | 华为技术有限公司 | 一种报文接收异常的检测方法、***及其装置 |
CN101184050A (zh) * | 2007-12-24 | 2008-05-21 | 杭州华三通信技术有限公司 | 分布式节点组播方法、分布式节点组播组件和分布式*** |
CN101459615A (zh) * | 2008-12-25 | 2009-06-17 | 华为技术有限公司 | 一种传输报文的方法、端口和*** |
CN101616080A (zh) * | 2009-07-17 | 2009-12-30 | 北京星网锐捷网络技术有限公司 | 一种弹性分组环报文保序方法、装置和网络设备 |
CN101883047A (zh) * | 2010-06-25 | 2010-11-10 | 黄宏程 | 多网络接口设备的数据并发传输方法 |
CN103297358A (zh) * | 2012-02-27 | 2013-09-11 | 北京东土科技股份有限公司 | 一种智能电网跨广域网goose报文传输***及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104702530A (zh) | 2015-06-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104702530B (zh) | 一种环网中Goose报文的发送方法及装置 | |
EP3758412B1 (en) | Multichannel data transmission method, apparatus, system and computer-readable medium | |
US10798199B2 (en) | Network traffic accelerator | |
US8806007B2 (en) | Inter-node communication scheme for node status sharing | |
CN113994642A (zh) | 在线性能监测 | |
CN107147481A (zh) | 丢包重传方法、装置及电子设备 | |
EP2978171B1 (en) | Communication method, communication device, and communication program | |
CN105939297B (zh) | 一种tcp报文重组方法和装置 | |
JP5208945B2 (ja) | 無線通信ネットワークにおいてデータを伝送し、分析するための方法、およびその装置 | |
US8081644B2 (en) | Method and device for controlling a queue buffer | |
CN103763073B (zh) | 一种丢包重传的方法及终端 | |
CN102611620A (zh) | 拥塞控制方法和报文处理设备 | |
RU2014137331A (ru) | Способ управления таблицей посредников в беспроводной сети, использующей устройства-посредники | |
CN104283808B (zh) | 拥塞控制方法、设备及*** | |
EP3567813A1 (en) | Method, apparatus and system for determining content acquisition path and processing request | |
US20230042747A1 (en) | Message Processing Method and Device, Storage Medium, and Electronic Device | |
CN115037700B (zh) | 一种复杂网络数据包传送方法、***、终端及存储介质 | |
EP3425850B1 (en) | Method and device for processing communication path | |
CN104038322A (zh) | 中间节点、通信网络及其数据传输控制方法 | |
CN107547301A (zh) | 一种主备设备倒换方法及装置 | |
CN111953568A (zh) | 丢包信息管理方法与装置 | |
CN116668977A (zh) | 配电网安全信息管控方法与平台 | |
EP2775675A1 (en) | Synchronization method among network devices, network device and system | |
CN103152278A (zh) | 拥塞确定方法、装置和网络设备 | |
CN110233856A (zh) | 报文处理方法、装置及计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |