CN112491666A - 一种针对电网广域相位测量系统的弹性可靠路由器 - Google Patents
一种针对电网广域相位测量系统的弹性可靠路由器 Download PDFInfo
- Publication number
- CN112491666A CN112491666A CN202110144836.9A CN202110144836A CN112491666A CN 112491666 A CN112491666 A CN 112491666A CN 202110144836 A CN202110144836 A CN 202110144836A CN 112491666 A CN112491666 A CN 112491666A
- Authority
- CN
- China
- Prior art keywords
- data packet
- data
- router
- packet
- processing module
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0823—Errors, e.g. transmission errors
- H04L43/0829—Packet loss
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R25/00—Arrangements for measuring phase angle between a voltage and a current or between voltages or currents
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/22—Alternate routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/28—Routing or path finding of packets in data switching networks using route fault recovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种针对电网广域相位测量系统的弹性可靠路由器,该弹性可靠路由器括Data数据包处理模块、RetransReq数据包处理模块、RetransReport数据包处理模块、基本数据包处理模块、多路径转发状态表模块、内容存储队列模块和物理端口。本发明的弹性可靠路由器实现主动的丢失数据包检测,以及单一或批量重传机制,使得丢失数据包可直接从其途径的上游路由器进行网内直接恢复,改进了丢失数据包恢复时间成功率和高效性,保障电网广域相位测量通信系统的安全稳定运行。
Description
技术领域
本发明属于针对电网广域相位测量系统可靠通信的技术领域,具体地涉及一种针对电网广域相位测量系统的弹性可靠路由器。
背景技术
在现代电网中在变电站、配电网等大量部署了相位测量单元(PhasorMeasurement Unit,PMU)实现对电网线路和变压器的监测,PMU采集数据通常通过IEEEC37.118.2或IEC 61850-9-2规约传输到相位数据集中器(Phasor Data Concentrator,PDC),采集频率可达到每秒钟10-60次,端到端的数据传输时延要求达到35-50ms之间。PDC所采样的数据对于电网监控与数据采集系统(SCADA)的状态估计正确性至关重要。
然而,由于链路故障、网络拥塞等造成数据包丢失问题难以避免,对于数据包的快速重传恢复是确保数据包按期交付的关键。现有技术采用的是TCP(Transmission ControlProtocol)重传控制,然而其重传成功率受到了回执数据包(Acknowledgement,ACK)和重传数据包丢失的影响;其对于丢失数据包推测时间以及TCP发送端和接收端的传输时间均会严重增加端到端的数据传输时延,影响SCADA的状态估计和保护动作,进而破坏电网的安全稳定运行。因此,解决丢失数据包重传的成功率和高效性是确保PMU和PDC之间正常测量与控制的关键问题。
发明内容
针对现有技术中存在的问题,本发明提供了一种针对电网广域相位测量系统的弹性可靠路由器,提升了上述丢失数据包重传的成功率和效率,充分考虑电网广域相位测量系统的应用特点。
为实现上述目的,本发明采用如下技术方案:一种针对电网广域相位测量系统的弹性可靠路由器,包括Data数据包处理模块、RetransReq数据包处理模块、RetransReport数据包处理模块、基本数据包处理模块、多路径转发状态表模块、内容存储队列模块和物理端口;
所述基本数据包处理模块在接收到RetransReq数据包时,将RetransReq数据包传递给RetransReq数据包处理模块,所述RetransReq数据包处理模块先会调用内容存储队列模块获取与RetransReq数据包相匹配的Data数据包,如果匹配,则会调用多路径转发状态表模块获取匹配的下一跳的物理端口,将匹配的Data数据包发送到下一跳的物理端口;
所述基本数据包处理模块在收到Data数据包后,调用Data数据包处理模块,如发现Data数据包发生丢失,则先发送RetransReport数据包,后发送RetransReq数据包;并调用多路径转发状态表模块,查询下一跳的物理端口,并将所述Data数据包从该物理端口发送出去;
所述基本数据包处理模块收到RetransReport数据包时,将RetransReport数据包传递给RetransReport数据包处理模块,调用多路径转发状态表模块,查询下一跳的物理端口,并将所述RetransReport数据包发送到下一跳的物理端口中。
进一步地,所述Data数据包处理模块的工作过程为:
(1)如果Data数据包的数据类型为原始数据,则跳转执行步骤(3);否则如果所述Data数据包的Data ID记录在已经转发的数据包Data ID集合中时,结束Data数据包处理模块的工作过程,否则将所述Data数据包的Data ID添加到已经转发的数据包Data ID集合中;
(2)如果所述Data数据包的数据类型为单一重传时,则从正在等待的数据包DataID集合和正在等待单一重传的数据包Data ID集合中清除掉所述Data数据包的Data ID;否则,从正在等待批量重传的数据包Data ID集合中清除掉所述Data数据包的Data ID;然后跳转至步骤(9);
(3)从所述Data数据包中提取Data ID,查询先进先出队列中是否存在该Data ID,如果存在则不进行如下步骤,否则将该Data ID添加到先进先出队列中;
(4)检查所述Data数据包的Data ID是否存在于当前路由器的上游路由器所报告丢失数据包的Data ID集合中,如果存在,则将所述Data数据包的Data ID移除,并跳转至步骤(8);否则,执行步骤(5);
(5)如果所述Data数据包的Data ID与路由器最后转发出去的Data ID差值超过2时,则计算出最近未被重传的Data ID集合,计算出需要发送批量重传请求的Data ID集合,并从等待下一个数据包达到的事件标识集合中删除最近未被重传的Data ID集合;
(6)如果最近未被重传的Data ID集合的大小大于0,则将最近未被重传的Data ID集合打包为RetransReport数据包,并发送到多路径转发状态表模块中主路径的下一跳路由器;然后,沿着当前路由器的冗余子路径以及多路径转发状态表模块转发项中主路径的上游路径发送RetransReq数据包,将所述RetransReport数据包的请求重传的Data ID集合设置为最近未被重传的Data ID集合;将其重传类型设置为批量;将其重传的请求标识设置为唯一值,之后,通过查询多路径转发状态表模块,根据所述RetransReport数据包的可靠弹性路由器子图标识和多路径转发状态表模块中主路径的ID,找到多路径转发状态表模块中主路径的下游路由器节点的物理端口,并发送携带该RetransReq数据包;
(7)如果所述Data数据包的Data ID大于路由器最后转发出去的Data ID,则将路由器最后转发出去的Data ID更新为Data数据包的Data ID;
(8)将所述Data数据包从等待下一个数据包达到的事件标识集合和等待单个数据包重传反馈的RetransReq事件标识集合中删除;
(9)查询多路径转发状态表模块转发项中主路径的下游路由器的物理端口,如果可查询到,将所述Data数据包从该物理端口转发出去;如果未查询到,则将所述Data数据包转发到相位数据集中器;
(10)如果所述Data数据包的Data ID等于路由器最后转发出去的Data ID,则等待下一个到达数据包的Data ID赋值为自最近被转发的Data数据包的Data ID加1开始不在上游路由器所报告丢失数据包的Data ID集合中的最小值,并计算等待下个数据包最大延迟;其中,为等待下一个到达数据包的Data ID、为最近被转发的Data数据包的Data ID、为相位测量单元发送的两个连续测量数据包之间最大间隔时间、为该路由器与其邻接的上游路由器之间的上行链路传输延迟最大值;
(11)该路由器开启一个定时计划任务事件,所述计划任务事件延迟执行,如果等待下一个数据包达到的事件标识集合被去除,则该任务终止执行。
进一步地,所述RetransReq数据包处理模块的工作过程为:
(1)从RetransReq数据包中提取出请求重传的数据标识集,对于每一个请求重传的Data ID,在内容存储队列模块中通过查找最为匹配的数据包,如果查询值为空,则该过程结束;
(2)从数据包中提取重传类型为批量或单一,将匹配到的数据包打包为一个新的Data数据包,其RSG ID、Path ID、数据类型以及Data ID分别赋值为对应的通信对、入口端口对应的冗余子路径、重传类型以及匹配到的数据包Data ID,并设置Transient标签,并将其发送回所述数据包的进入物理端口中。
进一步地,所述RetransReport数据包处理模块的工作过程为:
(a)从RetransReport数据包中提取Data ID的集合记作新发现丢失的数据包DataID集合,当新发现丢失的数据包Data ID大于0时,将所述新发现丢失的数据包Data ID合并到当前路由器的上游路由器的RetransReport数据包的Data ID集合中,等待下一个到达数据包的Data ID为-1;否则跳转执行步骤(d);
(b)对于每个存在于当前路由器的上游路由器的RetransReport数据包的Data ID集合中的数据包,如果所述数据包存在于等待下一个数据包达到的事件标识集合中,则将所述数据包从等待下一个数据包达到的事件标识集合和等待单个数据包重传反馈的RetransReq事件标识集合中移除,并且计算等待下一个到达数据包的Data ID更新为当前等待下一个到达数据包的Data ID与到达数据包Data ID的最大值;之后将到达数据包的Data ID从等待批量重传的数据包Data ID集合中移除掉;
(c)如果等待下一个到达数据包的Data ID不等于-1,则赋值为自开始不在中的最小值,并计算等待下个数据包最大延迟;之后,该路由器开启一个定时计划任务事件,该任务延迟执行,如果所述计划任务事件被去除,则该计划任务事件终止执行;
(d)查询多路径转发状态表模块转发项中主路径上下一跳路由器的物理端口,并将该RetransReport数据包从该物理端口转发出去。
进一步地,所述基本数据包处理模块的工作过程为:
(1)如果该路由器是冗余子路径上的节点并且非主路径上的节点,则根据该数据包的路径标识、转发方向,在多路径转发状态表模块中查询到对应的转发项,如果转发项非空,则将该数据包打上Transient标签,并从查询到转发项对应的物理端口发送出去;
(2)如果该数据包未标记Transient标签,则将该数据包存储到内容存储队列中;
(3)如果该数据包不是多路径转发状态表模块转发项中主路径上转发的数据包,则根据该数据包的路径标识、转发方向,在本地的转发表中查询到对应的转发项,如果转发项非空,则将该数据包打上Transient标签,并从查询到转发项对应的物理端口发送出去;
(4)如果该数据包的操作符是Data,则调用Data数据包处理模块;如果是RetransReq,则调用RetransReq数据包处理模块;如果是RetransReport,则调用RetransReport数据包处理模块。
进一步地,所述内容存储队列模块的工作过程为:
(1)初始条件下,在本地初始化一个先进先出队列,队列中的每个单元大小不小于数据包大小的最大值;
(2)当有数据包存储请求时,将所述数据包推入到所述先进先出队列的末尾,如所述先进先出队列已满,则在此之前将所述先进先出队列头部元素去除;
(3)当有数据包Data ID查询请求时,在所述先进先出队列中搜索与数据包DataID最为匹配的数据包Data ID,并将匹配到的数据包返回给请求者;如果未查到,则返回空值。
进一步地,所述多路径转发状态表模块由多条转发规则项和可靠弹性路由器子图标识对应的转发状态集合构成。
与现有技术相比,本发明具有如下有益效果:本发明所述弹性可靠路由器实现丢失数据包的快速检测和网络内的多路径丢失数据包快速重传,检测过程是在作为接收方的一端路由器上完成的,速度较快,且多冗余子路径可避免重传时遇到的链路故障等问题,提升数据包恢复的效率。相比而言,传统路由器不具备丢失数据包的重传能力,而传输控制协议(Transmission Control Protocol,TCP)的丢失数据包是在发送方实现的,丢失数据包的检测依赖于对于连续数据包回应丢失的猜测,猜测时间较长,且重传必须开始于发送端,重传路径和重传时间均较长;一旦网络链路发生故障,TCP重传也将失效,导致数据包无法恢复。本发明可改进电网广域相位测量系统通信可靠性,高效解决丢失数据包的快速重传恢复,提高重传成功率,满足控制业务通信的苛刻要求,确保电网安全运行。
附图说明
图1为本发明针对电网广域相位测量系统的弹性可靠路由器的示意图;
图2为可靠弹性路由器在网内重传过程示意图;
图3为弹性可靠路由器在广域相位测量系统中的通信过程图。
具体实施方式
本发明的数据包()采用了统一的数据帧结构,包括如下成员:通信节点对标识、路径标识(Path ID)、临时标记(Transient Tag)、操作符、数据内容,该数据帧可处于现有分组交换网络中的链路层、网络层或传输层之上。
如图1为本发明针对电网广域相位测量系统的弹性可靠路由器的示意图,所述弹性可靠路由器包括Data数据包处理模块、RetransReq数据包处理模块、RetransReport数据包处理模块、基本数据包处理模块、多路径转发状态表模块、内容存储队列模块和物理端口;
当操作符是RetransReq时,该数据帧用于承载重传请求的相关信息,相应的数据内容包括:请求重传的数据标识集合(记作)、重传类型(单一/批量),批量重传标识。当基本数据包处理模块在接收到RetransReq数据包时,将RetransReq数据包传递给RetransReq数据包处理模块,所述RetransReq数据包处理模块先会调用内容存储队列模块获取与RetransReq数据包相匹配的Data数据包,如果匹配,则会调用多路径转发状态表模块获取匹配的下一跳的物理端口,将匹配的Data数据包发送到下一跳的物理端口。
当操作符为Data时,该数据帧用于承载原始/重传的PMU测量数据,相应的数据内容包括:、数据类型、批量重传标识、载荷。其中,载荷部分用于承载PMU的测量数据;数据类型包括原始数据、单一重传、批量重传三种。当基本数据包处理模块在收到Data数据包后,调用Data数据包处理模块,如发现Data数据包发生丢失,则先发送RetransReport数据包,后发送RetransReq数据包;并调用多路径转发状态表模块,查询下一跳的物理端口,并将所述Data数据包从该物理端口发送出去。
当操作符是RetransReport时,该数据包用于承载上游路由器节点的重传请求情况,相应的数据内容包括:请求重传的数据标识集()、源路由器标识。当基本数据包处理模块收到RetransReport数据包时,将RetransReport数据包传递给RetransReport数据包处理模块,调用多路径转发状态表模块,查询下一跳的物理端口,并将所述RetransReport数据包发送到下一跳的物理端口中。
所述可靠弹性路由器(Resilient Routes,RR)包括两部分:① 主路径(Primary Path,PP),经过b个路由器,记作,其中,为第个路由器;② 对于P中的某个路由器,存在个上游节点可以与之互联,记作,路由器和路由器之间的路径称为冗余子路径(Redundant Sub-Path,RSP)。
所述多路径转发状态表模块(Forwarding State Table,FST)由多条转发规则项和可靠弹性路由器子图标识对应的转发状态集合构成;其中每条转发项由如下成员构成:① RR子图标识(RR Subgraph ID,RSG ID),代表一个PMU和一个PDC通信对;② 路径标识(Path ID),该标识具备唯一性,代表上述的PP或RSP;③ 转发方向,取值为上游或下游,下游代表从PMU到PDC的方向,上游与之相反;④ 路由器输出网络端口的标识。所述每项RSGID对应的转发状态集合包括如下成员:①路由器最后转发出去的Data ID;②一个先进先出的队列,其数值集合是由已转发的Data ID构成;③ Data ID的集合,代表当前路由器PP的上游路由器所报告丢失数据包的Data ID集合;④等待下一个数据包达到的事件标识集合;⑤等待单个数据包重传反馈的RetransReq事件标识集合;⑥等待批量数据包重传反馈的RetransReq事件标识集合。图2给出了本发明所述的多个弹性可靠路由器之间在网内重传过程示意图,PMU和PDC之间建立了一条主路径,即。其中在有条RSP到达其上游路由器即,当检测到来自其前一跳的路由器即数据包丢失时,将发送重传请求(RetransReq)数据包到其上游路由器,任一上游路由器沿着RSP路径向发送重传的测量数据Data数据包,会在收到重传数据包之后,将最早达到的数据包转发到其下游的下一跳路由器即,上述过程具体说明如下:
所述Data数据包处理模块的工作过程为:
(1)如果Data数据包的数据类型为原始数据,则跳转执行步骤(3);否则如果所述Data数据包的Data ID记录在已经转发的数据包Data ID集合中时,结束Data数据包处理模块的工作过程,否则将所述Data数据包的Data ID添加到已经转发的数据包Data ID集合中;
(2)如果所述Data数据包的数据类型为单一重传时,则从正在等待的数据包DataID集合和正在等待单一重传的数据包Data ID集合中清除掉所述Data数据包的Data ID;否则,从正在等待批量重传的数据包Data ID集合中清除掉所述Data数据包的Data ID;然后跳转至步骤(9);
(3)从所述Data数据包中提取Data ID,查询先进先出队列中是否存在该Data ID,如果存在则不进行如下步骤,否则将该Data ID添加到先进先出队列中;
(4)检查所述Data数据包的Data ID是否存在于当前路由器的上游路由器所报告丢失数据包的Data ID集合中,如果存在,则将所述Data数据包的Data ID移除,并跳转至步骤(8);否则,执行步骤(5);该步骤避免重复发送相同的重传请求数据包。
(5)如果所述Data数据包的Data ID与路由器最后转发出去的Data ID差值超过2时,则计算出最近未被重传的Data ID集合,计算出需要发送批量重传请求的Data ID集合,并从等待下一个数据包达到的事件标识集合中删除最近未被重传的Data ID集合;
(6)如图2所示,如果最近未被重传的Data ID集合的大小大于0,则将最近未被重传的Data ID集合打包为RetransReport数据包,并发送到多路径转发状态表模块中主路径的下一跳路由器;然后,沿着当前路由器的条冗余子路径以及多路径转发状态表模块转发项中主路径的上游路径发送RetransReq数据包,将所述RetransReport数据包的请求重传的Data ID集合设置为最近未被重传的Data ID集合;将其重传类型设置为批量;将其重传的请求标识设置为唯一值,设置方法可以是自增值、递减值、随机值等。之后,通过查询多路径转发状态表模块,根据所述RetransReport数据包的RSG ID、PP ID,找到多路径转发状态表模块中主路径的下游路由器节点的物理端口,并发送携带该RetransReq数据包;
(7)如果所述Data数据包的Data ID大于路由器最后转发出去的Data ID,则将路由器最后转发出去的Data ID更新为Data数据包的Data ID;
(8)将所述Data数据包从等待下一个数据包达到的事件标识集合和等待单个数据包重传反馈的RetransReq事件标识集合中删除;
(9)查询多路径转发状态表模块转发项中主路径的下游路由器的物理端口,如果可查询到,将所述Data数据包从该物理端口转发出去;如果未查询到,则将所述Data数据包转发到相位数据集中器;
(10)如果所述Data数据包的Data ID等于路由器最后转发出去的Data ID,则等待下一个到达数据包的Data ID赋值为自最近被转发的Data数据包的Data ID加1开始不在上游路由器所报告丢失数据包的Data ID集合中的最小值,并计算等待下个数据包最大延迟;其中,为等待下一个到达数据包的Data ID、为最近被转发的Data数据包的Data ID、为相位测量单元发送的两个连续测量数据包之间最大间隔时间、为该路由器与其邻接的上游路由器之间的上行链路传输延迟最大值;
(11)该路由器开启一个定时计划任务事件,所述计划任务事件延迟执行,如果等待下一个数据包达到的事件标识集合被去除,则该任务终止执行。所述任务执行时有两个步骤:首先,通过在FST转发表中查找PP下游的下一跳端口出口,发送携带等待下一个到达数据包的Data ID信息的RetransReport消息转发给下一跳出口;然后,会沿着其条RSP以及PP的上游路径发送RetransReq数据包的重传请求,其数据包中的重传类型为单一,请求重传的数据标识集合为等待下一个到达数据包的Data ID,批量重传标识为空值。
所述RetransReq数据包处理模块的工作过程为:
(1)从RetransReq数据包中提取出请求重传的数据标识集,对于每一个请求重传的Data ID,在内容存储队列模块中通过查找最为匹配的数据包,如果查询值为空,则结束RetransReq数据包处理模块的工作过程;
(2)从数据包中提取重传类型为批量或单一,将匹配到的数据包打包为一个新的Data数据包,其RSG ID、Path ID、数据类型以及Data ID分别赋值为对应的通信对、入口端口对应的冗余子路径、重传类型以及匹配到的数据包Data ID,并设置Transient标签,并将其发送回所述数据包的进入物理端口中。
所述RetransReport数据包处理模块的工作过程为:
(a)从RetransReport数据包中提取Data ID的集合记作新发现丢失的数据包DataID集合,当新发现丢失的数据包Data ID大于0时,将所述新发现丢失的数据包Data ID合并到当前路由器的上游路由器的RetransReport数据包的Data ID集合中,等待下一个到达数据包的Data ID为-1;否则跳转执行步骤(d)。
(b)对于每个存在于当前路由器的上游路由器的RetransReport数据包的Data ID集合中的数据包,如果所述数据包存在于等待下一个数据包达到的事件标识集合中,则将所述数据包从等待下一个数据包达到的事件标识集合和等待单个数据包重传反馈的RetransReq事件标识集合中移除,并且计算等待下一个到达数据包的Data ID更新为当前等待下一个到达数据包的Data ID与到达数据包Data ID的最大值;之后将到达数据包的Data ID从等待批量重传的数据包Data ID集合中移除掉;
(c)如果等待下一个到达数据包的Data ID不等于-1,则赋值为自开始不在中的最小值,并计算等待下个数据包最大延迟;之后,该路由器开启一个定时计划任务事件,该任务延迟执行,如果所述计划任务事件被去除,则该计划任务事件终止执行。所述计划任务事件执行时有两个步骤:首先,通过在FST转发表中查找PP下游的下一跳端口出口,发送携带等待下一个到达数据包的Data ID信息的RetransReport消息转发给下一跳出口;然后,会沿着其条RSP以及PP的上游路径发送RetransReq数据包的重传请求,其数据包中的重传类型为单一,请求重传的数据标识集合为等待下一个到达数据包的Data ID,批量重传标识为空值。
(d)查询多路径转发状态表模块转发项中主路径上下一跳路由器的物理端口,并将该RetransReport数据包从该物理端口转发出去。
所述基本数据包处理模块的工作过程为:
(1)如果该路由器是冗余子路径上的节点并且非主路径上的节点,则根据该数据包的路径标识、转发方向,在多路径转发状态表模块中查询到对应的转发项,如果转发项非空,则将该数据包打上Transient标签,并从查询到转发项对应的物理端口发送出去;最后结束该基本数据包处理模块的工作过程。
(2)如果该数据包未标记Transient标签,则将该数据包存储到内容存储队列中;
(3)如果该数据包不是多路径转发状态表模块转发项中主路径上转发的数据包,则根据该数据包的路径标识、转发方向,在本地的转发表中查询到对应的转发项,如果转发项非空,则将该数据包打上Transient标签,并从查询到转发项对应的物理端口发送出去;
(4)如果该数据包的操作符是Data,则调用Data数据包处理模块;如果是RetransReq,则调用RetransReq数据包处理模块;如果是RetransReport,则调用RetransReport数据包处理模块。
所述内容存储队列模块的工作过程为:
(1)初始条件下,在本地初始化一个先进先出队列,队列中的每个单元大小不小于数据包大小的最大值;所述先进先出队列可基于SRAM、DRAM、SSD或磁盘等任意方式来实现;
(2)当有数据包存储请求时,将所述数据包推入到所述先进先出队列的末尾,如所述先进先出队列已满,则在此之前将所述先进先出队列头部元素去除,确保队列大小确定;
(3)当有数据包Data ID查询请求时,在所述先进先出队列中搜索与数据包DataID最为匹配的数据包Data ID,并将匹配到的数据包返回给请求者;如果未查到,则返回空值。
实施例
图3给出了该弹性可靠路由器在现有的PMU和PDC设备通信网中的部署及通信过程示意图,PMU与其PDC的端到端通信通过本发明所涉及到的11台弹性可靠路由器来实现。该PMU和PDC构成的通信对之间的RR建立如下:一是PP路径为,二是对于其中的一个路由器,与其PP上上游的3个路由器分别建立了3条RSP路径分别为:① ;②;③ 。其中,和之间的链路为,和共用,和以及和之间的2条链路为和共用。 上由多路径转发状态表模块生成的FST的转发项如表1所示,上FST转发项如表2所示,上的FST转发项如表3所示,其余路由器类似于上面三个例子进行生成,这里不再赘述。同时,在初始条件下,FST的各项转发状态均设置为空。
基于上面的RR,阐述本发明中的6个模块协作方式。假定PMU到PDC的数据流可形式化定义为:,其中表示由PMU发送的第个数据包,PMU在发送前,在初始条件下,的RSG ID、Path ID和数据类型被分别标记为对应的通信对、PP和原始,并且其Data ID为自增值,初始为某个正整数值,每次发送后会递增1。这样,当在t时刻,以和之间的链路发生数据包丢失,同时,在时刻,其中为常量,,,和均收到了,并进行转发和处理,则自到t时刻,弹性可靠路由器的处理过程如下:
(1)对于的上游路由器,,和,由于是PP上的节点,执行过程中判断重传类型是否为单一重传,如果是,则从正在等待的数据包Data ID集合和正在等待单一重传的数据包Data ID集合中清除掉所述Data数据包的Data ID;否则,从正在等待批量重传的数据包Data ID集合中清除掉所述Data数据包的Data ID。然后,将存储在本地内容存储队列中。之后,从提取 Data ID,查询先进先出队列中是否存在该Data ID,如果存在则意味着已经转发数据包,则不进行后续步骤,否则将该Data ID添加到先进先出队列中。依据的RSG ID、Path ID,上述4个路由器分别查询对应的出口地址,如在表1中查找出口地址位于第一条,即达到的出口地址。最后,检查的Data ID是否存在于当前路由器的上游路由器所报告丢失数据包的Data ID集合中,分两种情况:一种情况是存在于该集合中,则将所述Data数据包的Data ID移除,将的Data ID从等待下一个数据包达到的事件标识集合和等待单个数据包重传反馈的RetransReq事件标识集合中删除。另一种情况是不存在,此时如果所述Data数据包的Data ID与路由器最后转发出去的Data ID差值超过2时,则计算出最近未被重传的Data ID集合,计算出需要发送批量重传请求的Data ID集合,并从等待下一个数据包达到的事件标识集合中删除最近未被重传的Data ID集合。上述两种情况是为了避免重复发送相同的重传请求(RetransReq)数据包。
(2),,和在收到时,因其数据类型为原始数据,则从中提取Data ID,查询先进先出队列中是否存在该Data ID,如果存在则结束,否则将该Data ID添加到先进先出队列中。首先判断数据包的Data ID是否记录在已经转发的数据包Data ID集合中,如果是重复发送的数据包,则直接丢弃,并不进行如下步骤的处理;否则,视为一个新的Data数据包,此时意味着已转发数据包Data ID的集合()中只包括了的Data ID。由于不在前路由器PP的上游路由器所报告丢失数据包的Data ID集合中,则将从等待下一个数据包达到的事件标识集合和等待单个数据包重传反馈的RetransReq事件标识集合中删除,将从等待下一个数据包达到的事件标识集合和等待单个数据包重传反馈的RetransReq事件标识集合中移除,确保等待重传的事件全部终止运行;在FST中查询到与的RSG ID、Path ID和下游标记相匹配的转发项,并将转发出去,上述4个路由器分别转发到、、和(即PP上的下一跳路由器)。此时,由于和之间链路断开,则未收到数据包。
(3)在上,分为如下两种情况。第一种情况是下一个数据包等待超时,如果等待的等待下一个数据包达到的事件标识集合超时,在处理数据包时生成,则执行如下步骤:首先,将期待重传的下一个Data ID(即)通过RetransReport数据包发送到PP上的下一跳节点(即),之后将该数据包发至其PP下一跳。然后将RetransReq数据包从、、以及到共4条路径上发送,则到将收到RetransReq数据包,将该数据包由基本数据包处理模块指派到RetransReq数据包处理模块进行处理,由于这些路由器均位于RSP之上,则直接在FST中通过其RSG ID、Path ID和转发方向信息查询到对应的出口,即在对应RSP上的下一跳路由器。这样,RetransReq数据包经过上述3条RSP以及PP上游路径中每个路由器转发到对应的PP上路由器,即、、和。
第二种情况是发现数据包丢失,如果收到了,其中,意味着发生了丢失,此时“Data数据包处理模块”执行如下步骤:如果的DataID与路由器最后转发出去的Data ID差值超过2时,则计算出最近未被重传的Data ID集合,计算出需要发送批量重传请求的Data ID集合,并从等待下一个数据包达到的事件标识集合中删除最近未被重传的Data ID集合,,因而计算出;然后,将打包为RetransReport数据包,并发送到PP的下一跳,即,在受到后将转发给它在PP上的下一跳,由于在其FST转发规则中无下一跳,则终止;然后,将通过RetransReq数据包从、、和PP上游路径上发送出去,如果则设置重传类型为单一;否则设置重传类型为批量,同时将重传请求标记设置为一个唯一值,如自增值来实现。后续与第一种情况类似。
(4)在、和收到RetransReq数据包时,则“基本数据包处理模块”不进行存储,然后分配给“RetransReq数据包处理模块”处理。具体首先通过该模块调用“内容存储队列模块”,由于,则可查询到作为查询结果,再根据“RetransReq数据包处理模块”,将该打包为Data数据包,并根据RetransReq数据包重传类型对Data数据包中的数据类型进行标注,同时将数据包的Path ID分别设置、、和PP,从进入端口发出,即、、和。
(5)RSP上的路由器至在收到上面步骤(4)的RetransReport数据包或重传Data数据包时,执行基本数据包处理模块,由于这些路由器均在RSP之上且不再PP上,则根据该数据包的路径标识、转发方向,在多路径转发状态表模块中查询到对应的转发项,将数据包转发至各自FST所对应的RSP上下一条路由器,最终达到。
(6)在收到RetransReport数据包时,根据“RetransReport数据包处理模块”,首先将数据包中的添加至,此时;然后,将清除相关重传等待事件,避免再次发送具有相同Data ID的RetransReq数据包;最后,根据该模块步骤3,将计算,这里假定为25ms,考虑到当PMU采样频率达到50Hz时,对应PIAT平均值为20ms,并考虑存在最大5ms的偏离,并假定的上行链路传输最大总延迟为2ms,上述数字可人为进行设定,同时计算为;再次,增加一项最大等待时延为的重传事件计划任务,等待的Data ID为,避免数据包被重传;最后,由于其下一跳路由器为空,该RetransReport不再转发。
(7)在收到第5个步骤中来自、和的重传Data数据包时,其中,“Data数据包处理模块”将对该数据包进行恢复,过程如下:首先,假定来自的最先达到 (沿着),则添加到中,后续来自的、和PP上游路径的将被抛弃;然后,依据重传类型为单一或批量,分别决定在单一重传事件(和)或者批量重传事件()中清除,避免重复发送RetransReq;再次,将转发到PP下一跳(),转发丢失的数据包;最后,重新计算及其,并开启等待下一个数据包重传的计划任务。
Claims (7)
1.一种针对电网广域相位测量系统的弹性可靠路由器,其特征在于,包括Data数据包处理模块、RetransReq数据包处理模块、RetransReport数据包处理模块、基本数据包处理模块、多路径转发状态表模块、内容存储队列模块和物理端口;
所述基本数据包处理模块在接收到RetransReq数据包时,将RetransReq数据包传递给RetransReq数据包处理模块,所述RetransReq数据包处理模块先会调用内容存储队列模块获取与RetransReq数据包相匹配的Data数据包,如果匹配,则会调用多路径转发状态表模块获取匹配的下一跳的物理端口,将匹配的Data数据包发送到下一跳的物理端口;
所述基本数据包处理模块在收到Data数据包后,调用Data数据包处理模块,如发现Data数据包发生丢失,则先发送RetransReport数据包,后发送RetransReq数据包;并调用多路径转发状态表模块,查询下一跳的物理端口,并将所述Data数据包从该物理端口发送出去;
所述基本数据包处理模块收到RetransReport数据包时,将RetransReport数据包传递给RetransReport数据包处理模块,调用多路径转发状态表模块,查询下一跳的物理端口,并将所述RetransReport数据包发送到下一跳的物理端口中。
2.根据权利要求1所述针对电网广域相位测量系统的弹性可靠路由器,其特征在于,所述Data数据包处理模块的工作过程为:
(1)如果Data数据包的数据类型为原始数据,则跳转执行步骤(3);否则如果所述Data数据包的Data ID记录在已经转发的数据包Data ID集合中时,结束Data数据包处理模块的工作过程,否则将所述Data数据包的Data ID添加到已经转发的数据包Data ID集合中;
(2)如果所述Data数据包的数据类型为单一重传时,则从正在等待的数据包Data ID集合和正在等待单一重传的数据包Data ID集合中清除掉所述Data数据包的Data ID;否则,从正在等待批量重传的数据包Data ID集合中清除掉所述Data数据包的Data ID;然后跳转至步骤(9);
(3)从所述Data数据包中提取Data ID,查询先进先出队列中是否存在该Data ID,如果存在则不进行如下步骤,否则将该Data ID添加到先进先出队列中;
(4)检查所述Data数据包的Data ID是否存在于当前路由器的上游路由器所报告丢失数据包的Data ID集合中,如果存在,则将所述Data数据包的Data ID移除,并跳转至步骤(8);否则,执行步骤(5);
(5)如果所述Data数据包的Data ID与路由器最后转发出去的Data ID差值超过2时,则计算出最近未被重传的Data ID集合,计算出需要发送批量重传请求的Data ID集合,并从等待下一个数据包达到的事件标识集合中删除最近未被重传的Data ID集合;
(6)如果最近未被重传的Data ID集合的大小大于0,则将最近未被重传的Data ID集合打包为RetransReport数据包,并发送到多路径转发状态表模块中主路径的下一跳路由器;然后,沿着当前路由器的冗余子路径以及多路径转发状态表模块转发项中主路径的上游路径发送RetransReq数据包,将所述RetransReport数据包的请求重传的Data ID集合设置为最近未被重传的Data ID集合;将其重传类型设置为批量;将其重传的请求标识设置为唯一值,之后,通过查询多路径转发状态表模块,根据所述RetransReport数据包的可靠弹性路由器子图标识和多路径转发状态表模块中主路径的ID,找到多路径转发状态表模块中主路径的下游路由器节点的物理端口,并发送携带该RetransReq数据包;
(7)如果所述Data数据包的Data ID大于路由器最后转发出去的Data ID,则将路由器最后转发出去的Data ID更新为Data数据包的Data ID;
(8)将所述Data数据包从等待下一个数据包达到的事件标识集合和等待单个数据包重传反馈的RetransReq事件标识集合中删除;
(9)查询多路径转发状态表模块转发项中主路径的下游路由器的物理端口,如果可查询到,将所述Data数据包从该物理端口转发出去;如果未查询到,则将所述Data数据包转发到相位数据集中器;
(10)如果所述Data数据包的Data ID等于路由器最后转发出去的Data ID,则等待下一个到达数据包的Data ID赋值为自最近被转发的Data数据包的Data ID加1开始不在上游路由器所报告丢失数据包的Data ID集合中的最小值,并计算等待下个数据包最大延迟;其中,为等待下一个到达数据包的Data ID、为最近被转发的Data数据包的Data ID、为相位测量单元发送的两个连续测量数据包之间最大间隔时间、为该路由器与其邻接的上游路由器之间的上行链路传输延迟最大值;
(11)该路由器开启一个定时计划任务事件,所述计划任务事件延迟执行,如果等待下一个数据包达到的事件标识集合被去除,则该任务终止执行。
3.根据权利要求1所述针对电网广域相位测量系统的弹性可靠路由器,其特征在于,所述RetransReq数据包处理模块的工作过程为:
(1)从RetransReq数据包中提取出请求重传的数据标识集,对于每一个请求重传的Data ID,在内容存储队列模块中通过查找最为匹配的数据包,如果查询值为空,则该过程结束;
(2)从数据包中提取重传类型为批量或单一,将匹配到的数据包打包为一个新的Data数据包,其RSG ID、Path ID、数据类型以及Data ID分别赋值为对应的通信对、入口端口对应的冗余子路径、重传类型以及匹配到的数据包Data ID,并设置Transient标签,并将其发送回所述数据包的进入物理端口中。
4.根据权利要求1所述针对电网广域相位测量系统的弹性可靠路由器,其特征在于,所述RetransReport数据包处理模块的工作过程为:
(a)从RetransReport数据包中提取Data ID的集合记作新发现丢失的数据包Data ID集合,当新发现丢失的数据包Data ID大于0时,将所述新发现丢失的数据包Data ID合并到当前路由器的上游路由器的RetransReport数据包的Data ID集合中,等待下一个到达数据包的Data ID为-1;否则跳转执行步骤(d);
(b)对于每个存在于当前路由器的上游路由器的RetransReport数据包的Data ID集合中的数据包,如果所述数据包存在于等待下一个数据包达到的事件标识集合中,则将所述数据包从等待下一个数据包达到的事件标识集合和等待单个数据包重传反馈的RetransReq事件标识集合中移除,并且计算等待下一个到达数据包的Data ID更新为当前等待下一个到达数据包的Data ID与到达数据包Data ID的最大值;之后将到达数据包的Data ID从等待批量重传的数据包Data ID集合中移除掉;
(c)如果等待下一个到达数据包的Data ID不等于-1,则赋值为自开始不在中的最小值,并计算等待下个数据包最大延迟;之后,该路由器开启一个定时计划任务事件,该任务延迟执行,如果所述计划任务事件被去除,则该计划任务事件终止执行;
(d)查询多路径转发状态表模块转发项中主路径上下一跳路由器的物理端口,并将该RetransReport数据包从该物理端口转发出去。
5.根据权利要求1所述针对电网广域相位测量系统的弹性可靠路由器,其特征在于,所述基本数据包处理模块的工作过程为:
(1)如果该路由器是冗余子路径上的节点并且非主路径上的节点,则根据该数据包的路径标识、转发方向,在多路径转发状态表模块中查询到对应的转发项,如果转发项非空,则将该数据包打上Transient标签,并从查询到转发项对应的物理端口发送出去;
(2)如果该数据包未标记Transient标签,则将该数据包存储到内容存储队列中;
(3)如果该数据包不是多路径转发状态表模块转发项中主路径上转发的数据包,则根据该数据包的路径标识、转发方向,在本地的转发表中查询到对应的转发项,如果转发项非空,则将该数据包打上Transient标签,并从查询到转发项对应的物理端口发送出去;
(4)如果该数据包的操作符是Data,则调用Data数据包处理模块;如果是RetransReq,则调用RetransReq数据包处理模块;如果是RetransReport,则调用RetransReport数据包处理模块。
6.根据权利要求1所述针对电网广域相位测量系统的弹性可靠路由器,其特征在于,所述内容存储队列模块的工作过程为:
(1)初始条件下,在本地初始化一个先进先出队列,队列中的每个单元大小不小于数据包大小的最大值;
(2)当有数据包存储请求时,将所述数据包推入到所述先进先出队列的末尾,如所述先进先出队列已满,则在此之前将所述先进先出队列头部元素去除;
(3)当有数据包Data ID查询请求时,在所述先进先出队列中搜索与数据包Data ID最为匹配的数据包Data ID,并将匹配到的数据包返回给请求者;如果未查到,则返回空值。
7.根据权利要求1所述针对电网广域相位测量系统的弹性可靠路由器,其特征在于,所述多路径转发状态表模块由多条转发规则项和可靠弹性路由器子图标识对应的转发状态集合构成。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110144836.9A CN112491666B (zh) | 2021-02-03 | 2021-02-03 | 一种针对电网广域相位测量系统的弹性可靠路由器 |
PCT/CN2021/075891 WO2022165822A1 (zh) | 2021-02-03 | 2021-02-07 | 一种针对电网广域相位测量系统的弹性可靠路由器 |
US17/566,741 US11437846B2 (en) | 2021-02-03 | 2021-12-31 | Reliable resilient router for wide-area phasor measurement system of power grid |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110144836.9A CN112491666B (zh) | 2021-02-03 | 2021-02-03 | 一种针对电网广域相位测量系统的弹性可靠路由器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112491666A true CN112491666A (zh) | 2021-03-12 |
CN112491666B CN112491666B (zh) | 2021-06-01 |
Family
ID=74912161
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110144836.9A Active CN112491666B (zh) | 2021-02-03 | 2021-02-03 | 一种针对电网广域相位测量系统的弹性可靠路由器 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN112491666B (zh) |
WO (1) | WO2022165822A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112737953A (zh) * | 2021-03-31 | 2021-04-30 | 之江实验室 | 针对电网广域相位测量系统可靠通信的弹性路由生成系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040229612A1 (en) * | 2003-05-15 | 2004-11-18 | Vidya Narayanan | Method for improving the reliability of low latency handoffs |
CN1685675A (zh) * | 2002-10-28 | 2005-10-19 | 思科技术公司 | 内部bgp下载器 |
CN103973482A (zh) * | 2014-04-22 | 2014-08-06 | 南京航空航天大学 | 具有全局通信事务管理能力的容错片上网络系统及方法 |
CN106487673A (zh) * | 2016-12-08 | 2017-03-08 | 北京时代民芯科技有限公司 | 一种基于三模冗余的检错重传容错路由单元 |
CN108574690A (zh) * | 2018-02-12 | 2018-09-25 | 东南大学 | 一种缓解命名数据网络中内容毒害攻击的方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101615990A (zh) * | 2008-06-24 | 2009-12-30 | 华为技术有限公司 | 一种数据重传的方法、系统和装置 |
US8780706B1 (en) * | 2012-01-04 | 2014-07-15 | Cisco Technology, Inc. | Controlled distribution of Phasor measurement data using multicast routing |
CN108650070A (zh) * | 2018-05-11 | 2018-10-12 | 全球能源互联网研究院有限公司 | 一种信息中心网络相量测量单元通信的系统与方法 |
-
2021
- 2021-02-03 CN CN202110144836.9A patent/CN112491666B/zh active Active
- 2021-02-07 WO PCT/CN2021/075891 patent/WO2022165822A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1685675A (zh) * | 2002-10-28 | 2005-10-19 | 思科技术公司 | 内部bgp下载器 |
US20040229612A1 (en) * | 2003-05-15 | 2004-11-18 | Vidya Narayanan | Method for improving the reliability of low latency handoffs |
CN103973482A (zh) * | 2014-04-22 | 2014-08-06 | 南京航空航天大学 | 具有全局通信事务管理能力的容错片上网络系统及方法 |
CN106487673A (zh) * | 2016-12-08 | 2017-03-08 | 北京时代民芯科技有限公司 | 一种基于三模冗余的检错重传容错路由单元 |
CN108574690A (zh) * | 2018-02-12 | 2018-09-25 | 东南大学 | 一种缓解命名数据网络中内容毒害攻击的方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112737953A (zh) * | 2021-03-31 | 2021-04-30 | 之江实验室 | 针对电网广域相位测量系统可靠通信的弹性路由生成系统 |
CN112737953B (zh) * | 2021-03-31 | 2021-08-03 | 之江实验室 | 针对电网广域相位测量系统可靠通信的弹性路由生成系统 |
WO2022205925A1 (zh) * | 2021-03-31 | 2022-10-06 | 之江实验室 | 针对电网广域相位测量系统可靠通信的弹性路由生成系统 |
Also Published As
Publication number | Publication date |
---|---|
WO2022165822A1 (zh) | 2022-08-11 |
CN112491666B (zh) | 2021-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4587053B2 (ja) | 通信装置、通信システム、パケット欠落検出方法、およびパケット欠落検出プログラム | |
US8717871B2 (en) | Packet retransmission control system, method and program | |
KR101696776B1 (ko) | 향상된 확인응답 및 재송신 메커니즘 | |
JP6264743B2 (ja) | 重複パケット抑制 | |
US6954797B1 (en) | Data Communication method, terminal equipment, interconnecting installation, data communication system and recording medium | |
CN1969492A (zh) | 动态转发邻接关系 | |
CN104038322B (zh) | 中间节点、通信网络及其数据传输控制方法 | |
JP4924285B2 (ja) | 通信装置、通信システム、転送効率向上方法及び転送効率向上プログラム | |
CN112422421B (zh) | 一种异构网络的多路径数据包传输方法 | |
CN112491666B (zh) | 一种针对电网广域相位测量系统的弹性可靠路由器 | |
US11437846B2 (en) | Reliable resilient router for wide-area phasor measurement system of power grid | |
CN114363260A (zh) | 一种针对数据中心网络的数据流调度方法 | |
JP5046197B2 (ja) | 通信装置、通信システム、パケット欠落検出方法、およびパケット欠落検出プログラム | |
CN113612737A (zh) | 一种基于分组与重传机制的长报文可靠传输方法 | |
JP5761193B2 (ja) | 通信装置、通信システム、パケット再送制御方法およびパケット再送制御プログラム | |
WO2013045509A1 (en) | Method of failure detection in an operating system | |
JP5382556B2 (ja) | 通信装置、通信システム、パケット欠落検出方法、およびパケット欠落検出プログラム | |
Yedugundla et al. | Probe or Wait: Handling tail losses using Multipath TCP | |
Fang et al. | Design and implementation of embedded rudp | |
JP5170847B2 (ja) | 通信装置、通信システム、パケット欠落検出方法、およびパケット欠落検出プログラム | |
Cha et al. | CORN: Cloud-optimized RDMA Networking | |
Saha et al. | StorageFlow: SDN-enabled efficient data regeneration for distributed storage systems | |
Wang et al. | An SSCOP-based link layer protocol for wireless LANs | |
CN118214705A (zh) | 一种基于源路由的存储转发方法及装置 | |
CN115460136A (zh) | 一种基于PINet的身份标识网络的存储感知路由方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |