天天看點

計算機網絡prp,一種Windows系統下PRP網絡連接配接方法與流程

計算機網絡prp,一種Windows系統下PRP網絡連接配接方法與流程

本發明涉及一種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幀後,從PRP tag中取出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實體網卡上,同時生成虛拟網卡,供上層協定或應用使用。接收封包時,在從實體雙網上接收的鍊路層封包經過驅動處理後,提取第一個收到的幀封包,丢棄重複的那幀封包,然後上送備援處理後的那幀封包至虛拟網卡。發送封包時,應用層發給虛拟網卡一幀封包,驅動對這幀封包進行複制處理,同時發送到兩個網絡上。本發明的并行備援實作方法能實作變電站智能裝置網絡通信的備援,處理效率高,且故障時無縫切換,能極大地提高變電站中保護裝置網絡的通信品質。