CN107332834A - 一种Windows系统下PRP网络连接方法 - Google Patents
一种Windows系统下PRP网络连接方法 Download PDFInfo
- Publication number
- CN107332834A CN107332834A CN201710494889.7A CN201710494889A CN107332834A CN 107332834 A CN107332834 A CN 107332834A CN 201710494889 A CN201710494889 A CN 201710494889A CN 107332834 A CN107332834 A CN 107332834A
- Authority
- CN
- China
- Prior art keywords
- prp
- message
- microsoft loopback
- loopback adapter
- physical network
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/40—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/26—Special purpose or proprietary protocols or architectures
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Maintenance And Management Of Digital Transmission (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及一种Windows系统下PRP(并行冗余协议)网络连接方法:设计一种NDIS中间层驱动,此驱动内部实现PRP节点的链路冗余体LRE:驱动在协议栈上边界生成一块虚拟网卡,协议栈下边界绑定到两物理网卡,系统上层应用只与此虚拟网卡通信;两物理网卡收到报文后,经过驱动冗余算法处理,将报文作为原始报文送给虚拟网卡,供上层应用使用;上层应用下发给虚拟网卡的报文,经驱动处理后,一分为二,分别由两物理网卡转发至外部PRP网络中。本发明利用windows的NDIS驱动实现PRP节点的链路冗余体LRE,简化了网络连接方式,处理效率高,提高了冗余网络的可靠性。
Description
技术领域
本发明涉及一种Windows系统下PRP网络连接方法,属于电力工程的自动化通信技术领域。
背景技术
IEC 62439规定的并行冗余协议PRP由于安全可靠、实时切换、兼容常规并行双网架构等优点,特别适用于电力系统变电站内部通信。目前变电站监控系统为了系统易用性,主机相当一部分采用了Windows操作系统,而目前Windows系统接入变电站PRP通信网络,一般采用外置交换模块(RedBox)的方法进行实现。但外置交换模块的方式不仅增加了系统成本,而且增加了系统网络连接,一定程度上减少了网络冗余的效果,影响系统的可靠性。
NDIS是Windows网络协议栈组件间的接口规范。它横跨传输层、网络层和数据链路层,是网卡(或网卡驱动)与上层协议(或应用)间的通信接口。所有发送到网络和从网络接受的报文都由NDIS通过,通过NDIS驱动可以任意修改、转发系统的所有网络报文。
发明内容
本发明的目的是:提供一种Windows系统下PRP网络连接实现方法,简化系统网络连接,以解决目前PRP的应用中系统复杂、成本高、效果差问题。
本发明为解决上述技术问题而提供了一种windows系统下PRP网络连接方法,该方法首先设计一种NDIS中间层驱动程序,安装加载后,驱动程序生成一块虚拟网卡,上层应用直接通过此网卡与外部网络进行交互。同时驱动程序绑定到两块物理网卡,它们设置同样的MAC地址,分别连接到外部PRP网络的A、B网。
驱动程序绑定的物理网卡收到报文后,截取报文最后6个字节作为PRP标签,取出标签里的SeqNum、LanID以及帧头的源MAC,查询全局节点表,根据丢弃算法决定此帧报文是丢弃还是向转给虚拟网卡,虚拟网卡收到报文后就转发给上层协议栈及应用。
上层应用下发给虚拟网卡的报文,先复制成2份,并分别补上PRP标签,填上当前的SeqNum等信息,分别通过驱动绑定的两物理网卡转发出去。
本发明的有益效果是:通过系统的NDIS驱动实现PRP协议的链路冗余体LRE,直接处理链路层报文,实现冗余发送与接收抛弃处理。接收报文时,物理双网上接收到的报文经过PRP标签识别、冗余抛弃处理后传送到虚拟网卡处;发送报文时,虚拟网卡的报文经过复制并添加PRP标签后,通过两物理网卡转发到PRP网络上。本发明的PRP网络连接方法能简化网络连接,实现报文的透明处理,且故障时无缝切换,能极大地提高变电站网络通信的可靠性。
附图说明
图1是包含驱动的PRP系统协议栈层次结构图,上层应用只与驱动的的虚拟网卡通信,驱动负责对接两物理网卡,冗余处理由驱动进行。
图2是PRP系统驱动协议层接收流程图。
图3是PRP系统驱动微端口层发送流程图。
具体实施方式
下面结合附图对本发明的NDIS驱动架构及里面PRP协议实现细节作进一步的说明。
初始化:本发明的NDIS驱动安装初始化时,注册提供两套回调函数集,一套处理虚网卡相关请求,另一套处理绑定的物理网卡请求。初始化后驱动有选择性的绑定到预先确定的2块物理网卡上,并生成一新的虚拟网卡,如图1所示。在绑定PRP A网对应的物理网卡时,初始化此虚拟网卡,将其与上层协议栈如TCP/IP绑定,并设置此虚拟网卡相关信息,如网速、MTU等。
接收报文:物理网卡收到的报文到达驱动后,如图2所示,首先获取报文最后6个字节数据,判断最后2字节是否为PRP协议的标示字(suffix)0xFB88。若这2字节为0xFB88,则认为该帧报文为PRP帧,这6字节为PRP tag,否则直接丢弃此帧报文。判断为PRP帧后,从PRPtag中取出SeqNum、LanID以及帧头的源MAC。通过源MAC查找全局的PRP节点表。若未查到,则添加新节点NODE_DAT至节点表。接着判断此帧是否为PRP监视帧,若为监视帧,可以抛弃此帧报文,否则根据SeqNum、LanID调用抛弃函数判断此帧报文是否已经接受过。若此帧报文接受过,则直接抛弃,未接受则在原报文数据基础上去掉PRP tag构建新的报文帧,并传递给虚拟网卡,通知上层协议新报文到达。
发送报文:虚拟网卡需要发送报文时,如图3所示,驱动首先线性化报文到缓冲区,并判断缓冲区数据长度是否小于以太网最小帧长,小于最小帧长的帧在缓冲区结尾处补零使帧长达到最小帧长。然后再次在缓冲区末尾扩充6字节,并复制为2份,同时将这2份数据末尾6字节标示为PRP tag,分别填充对应的LanID、SeqNum等字节,并以此为基础创建2新的报文帧,最后通过驱动绑定的从2块物理网卡分别发送出去。
定时任务:PRP协议定义了节点表用于记录与监控网络节点的状态。节点表是用来识别和丢弃复制帧的基础,也用来监测和管理外部PRP节点。驱动初始化时,启动2个定时器,分别用于自身节点监视帧的定时发送以及全局节点表每个节点状态的定时检测、更新。
本发明通过Windows NDIS网络驱动了实现了PRP协议的LRE模块:驱动协议层绑定到2物理网卡上,同时生成虚拟网卡,供上层协议或应用使用。接收报文时,在从物理双网上接收的链路层报文经过驱动处理后,提取第一个收到的帧报文,丢弃重复的那帧报文,然后上送冗余处理后的那帧报文至虚拟网卡。发送报文时,应用层发给虚拟网卡一帧报文,驱动对这帧报文进行复制处理,同时发送到两个网络上。本发明的并行冗余实现方法能实现变电站智能装置网络通信的冗余,处理效率高,且故障时无缝切换,能极大地提高变电站中保护装置网络的通信质量。
Claims (3)
1.一种Windows系统下PRP网络连接方法,其特征是:设计NDIS中间层驱动,内部实现PRP节点的链路冗余体LRE:
驱动在协议栈上边界生成一块虚拟网卡,同时下边界绑定到两物理网卡,两物理网卡收到报文后,经过驱动冗余算法处理,将报文作为原始报文送至驱动上边界的虚拟网卡,供上层应用使用;
上层应用下发给虚拟网卡的报文,经驱动上边界复制处理成两份,由下边界分别送至两物理网卡,由物理网卡转发到外部PRP网络。
2.如权利要求1所述的Windows系统下PRP网络连接方法,其特征是:下边界物理网卡收到报文后,经过去PRP标签及丢弃算法判断后,将处理后的报文直接送至驱动的虚拟网卡。
3.如权利要求1所述的Windows系统下PRP网络连接方法,其特征是:上层应用下发给虚拟网卡的报文,经虚拟网卡处理后复制为2份,并打上对应的PRP标签,分别送至两物理网卡并转发。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710494889.7A CN107332834B (zh) | 2017-06-26 | 2017-06-26 | 一种Windows系统下PRP网络连接方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710494889.7A CN107332834B (zh) | 2017-06-26 | 2017-06-26 | 一种Windows系统下PRP网络连接方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107332834A true CN107332834A (zh) | 2017-11-07 |
CN107332834B CN107332834B (zh) | 2020-11-17 |
Family
ID=60194378
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710494889.7A Active CN107332834B (zh) | 2017-06-26 | 2017-06-26 | 一种Windows系统下PRP网络连接方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107332834B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109474496A (zh) * | 2018-12-07 | 2019-03-15 | 南京南瑞继保电气有限公司 | 网络测试方法及装置、存储介质及网元 |
CN112511347A (zh) * | 2020-11-25 | 2021-03-16 | 超越科技股份有限公司 | 一种高可靠全冗余网络链路系统及实现方法 |
CN113312520A (zh) * | 2021-06-11 | 2021-08-27 | 西安微电子技术研究所 | 一种基于HASH和LRU算法的Linux模块化的并行冗余协议系统及数据处理方法 |
CN115022424A (zh) * | 2022-06-27 | 2022-09-06 | 西安热工研究院有限公司 | 水电lcu控制器网卡虚拟控制方法、系统、设备及其介质 |
CN115314388A (zh) * | 2022-08-03 | 2022-11-08 | 中国船舶集团有限公司第七一六研究所 | 一种基于Bond机制的PRP协议实现方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101867578A (zh) * | 2010-05-27 | 2010-10-20 | 北京星网锐捷网络技术有限公司 | 检测仿冒网络设备的方法和装置 |
CN105978762A (zh) * | 2016-04-27 | 2016-09-28 | 刘巍 | 冗余以太网数据传输设备、系统及方法 |
CN106789425A (zh) * | 2016-12-22 | 2017-05-31 | 北京东土科技股份有限公司 | 一种确定重复报文的方法及装置 |
-
2017
- 2017-06-26 CN CN201710494889.7A patent/CN107332834B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101867578A (zh) * | 2010-05-27 | 2010-10-20 | 北京星网锐捷网络技术有限公司 | 检测仿冒网络设备的方法和装置 |
CN105978762A (zh) * | 2016-04-27 | 2016-09-28 | 刘巍 | 冗余以太网数据传输设备、系统及方法 |
CN106789425A (zh) * | 2016-12-22 | 2017-05-31 | 北京东土科技股份有限公司 | 一种确定重复报文的方法及装置 |
Non-Patent Citations (2)
Title |
---|
张政: "Windows下与硬件无关的网卡冗余设备的研究与设计", 《中国优秀硕士学位论文全文数据库》 * |
资瑶: "EPL实时工业以太网冗余方案设计与实现研究", 《中国优秀硕士论文全文数据库》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109474496A (zh) * | 2018-12-07 | 2019-03-15 | 南京南瑞继保电气有限公司 | 网络测试方法及装置、存储介质及网元 |
CN112511347A (zh) * | 2020-11-25 | 2021-03-16 | 超越科技股份有限公司 | 一种高可靠全冗余网络链路系统及实现方法 |
CN113312520A (zh) * | 2021-06-11 | 2021-08-27 | 西安微电子技术研究所 | 一种基于HASH和LRU算法的Linux模块化的并行冗余协议系统及数据处理方法 |
CN113312520B (zh) * | 2021-06-11 | 2023-05-02 | 西安微电子技术研究所 | 一种基于HASH和LRU算法的Linux模块化的并行冗余协议系统及数据处理方法 |
CN115022424A (zh) * | 2022-06-27 | 2022-09-06 | 西安热工研究院有限公司 | 水电lcu控制器网卡虚拟控制方法、系统、设备及其介质 |
CN115022424B (zh) * | 2022-06-27 | 2024-01-09 | 西安热工研究院有限公司 | 水电lcu控制器网卡虚拟控制方法、系统、设备及其介质 |
CN115314388A (zh) * | 2022-08-03 | 2022-11-08 | 中国船舶集团有限公司第七一六研究所 | 一种基于Bond机制的PRP协议实现方法 |
CN115314388B (zh) * | 2022-08-03 | 2023-11-21 | 中国船舶集团有限公司第七一六研究所 | 一种基于Bond机制的PRP协议实现方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107332834B (zh) | 2020-11-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107332834A (zh) | 一种Windows系统下PRP网络连接方法 | |
US8160106B2 (en) | Method, device and system for transmitting Ethernet packets | |
US8150997B2 (en) | Technique for efficient data transfer within a virtual network | |
CN100558072C (zh) | 三层虚拟专用网转发报文的方法、系统和设备 | |
CN102970227A (zh) | 在asic中实现vxlan报文转发的方法和装置 | |
CN104125191B (zh) | 基于以太网的点对点协议的处理方法、设备和系统 | |
CN101136730A (zh) | 一种分布式网络设备中的可靠同步方法 | |
CN106411740A (zh) | 基于以太网控制器的网络端口扩展方法 | |
CN101160850A (zh) | 一种转发报文的方法及装置 | |
CN101848171A (zh) | 一种基于gre隧道的数据传输方法、设备和系统 | |
CN102957619A (zh) | 虚拟路由系统及方法 | |
CN102333210B (zh) | 一种视频数据存储方法及其设备 | |
CN101741927A (zh) | 穿越nat设备的远程控制方法 | |
CN107508828B (zh) | 一种超远程数据交互系统及方法 | |
CN107124393A (zh) | 通过网络的远程主机管理 | |
CN105933235B (zh) | 数据通信方法及装置 | |
US20130028253A1 (en) | Transmission of multi-channel mpeg | |
CN101527707B (zh) | 用于sctp协议栈热备份的实时一致性检验方法及相关装置 | |
CN105284083A (zh) | OpenFlow设备与IP网络设备通信的方法、装置和系统 | |
CN110086669A (zh) | 一种基于zynq的网络发包机 | |
EP2760173A1 (en) | Data transmission method, device and system | |
CN101022423A (zh) | 一种atm网络与ip网络数据交换的方法和系统 | |
CN100561981C (zh) | 多协议标签交换转发方法及转发设备 | |
CN1960281B (zh) | 具有虚拟线卡的虚拟网络交换系统及其传输方法 | |
CN100502365C (zh) | 板间通信方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |