ip協議與scsi協議(可靠性最高的工業網絡傳輸協議)
2023-10-08 04:32:25 1
圖片來源:虹科
「
本文將簡要介紹HSR/PRP協議本身的一些概念,並簡要介紹PRP協議的主要機制,最後則給各位讀者展示虹科與西班牙的合作夥伴SoC-e/RELYUM能夠提供的HSR/PRP相關解決方案。
」
近年來,列車、工控甚至網際網路等行業對網絡可靠性傳輸的需求不斷提升,加之當今的網絡拓撲也越來越複雜,亟需一項兼容性好、易於使用的冗餘協議。如此背景使得HSR/PRP這兩項發布已久,並在電力行業已經得到廣泛使用、驗證的冗餘協議,再次出現在人們的視野之中。
什麼是HSR/PRP?HSR/PRP全稱分別為High-availability Seamless Redundancy(高可靠性無縫冗餘)與Parallel Redundancy Protocol(並行冗餘協議),其所屬的國際標準為IEC 62439,這是一個專注於解決高可靠性自動化網絡傳輸的標準,共有7個部分,分別描述在鏈路層實現冗餘的多種方法:
▎IEC 62439 標準與IEC 62439-3
而HSR/PRP協議位於其中的第3部分,即IEC 62439-3,IEC官方的協議連結如下:
https://webstore.iec.ch/publication/24438
自2008年標準發布以來,IEC 62439-3也經過了2010年、2012年、2016年的三次修訂,每次修訂均會修訂或添加不少新的內容:
▎IEC 62439-3 各版本修訂內容
從中也可以看到實際上2008年第一版的協議中只有PRP協議,HSR協議是在2010年的第二版中才添加進去的。
最初,IEC發布此項標準主要目的是為了滿足IEC 61850-5中所提到的變電站自動化應用中各通信組件或服務故障所要求的恢復時間問題,但協議設計時的通用性,使得這兩項協議能不僅僅適用於變電站的應用場景下,而是成為一項工業網絡中的通用解決方案。
PRP如何實現冗餘?HSR/PRP協議分別提供獨特的冗餘機制進行網絡鏈路的冗餘備份,簡要的機制介紹如下。
▎PRP網絡簡要示意圖
名詞概念:
• SAN: Singly Attached Node,單埠節點,不實現PRP功能
• DANP:Doubly Attached Node implementing PRP,PRP的雙埠節點,可直接發送PRP流量
• RedBox:Redundancy Box,冗餘盒,將SAN傳入的流量轉換成PRP流量發送出去
• C Frame:原始信息幀,指代用戶想要冗餘備份的信息
• A Frame、B Frame:附帶特定欄位的PRP信息幀,由原始信息幀擴展而來
PRP冗餘機制的實現,主要依託於兩個邏輯或物理分隔的子網(LAN A,LAN B,即所謂的A網、B網),以上圖中的信息傳輸為例:
PRP發送方(Source DANP)將原始信息幀(C Frame)複製一份,並在兩份幀中添加一特定欄位(RCT,下面會提到這個),形成PRP信息幀(A Frame、B Frame),分別從自身的兩個埠發送出去(分別對應A網、B網),分別途徑兩個獨立的子網到達同一個PRP接收方(Destination DANP);PRP接收方從兩個埠分別接收到這兩份PRP信息幀後,會經過一系列的幀處理算法進行處理,簡而言之,就是依據「先來後到」的原則,將後到達的PRP信息幀消除,僅保留一份先到達的PRP信息幀,將特定欄位消除後,還原成原來的原始信息,傳遞給上層。
那麼問題來了,「A幀」和「B幀」是如何產生和消除的?具體的幀組成又是怎樣的呢?請看下圖:
▎DANP內部原理圖(一)
▎DANP內部原理圖(二)
這是DANP節點的簡要示意圖,主要分為上層(鏈路層以上)、LRE(Link Redundancy Entity,鏈路層冗餘實體)子層、下層(鏈路層及物理層)。可以看到PRP設備的內部實現只是在標準乙太網設備的MAC層中增添了一個LRE子層,這個子層內部實現了PRP信息幀的產生和消除算法。具體而言,就是在原始信息幀的基礎上,增加了一個RCT(Redundancy Control Trailer,冗餘控制體)欄位,並針對這個欄位進行一系列的處理,基於802.3標準乙太網的PRP幀格式如下圖所示:
▎802.3 PRP幀格式
RCT欄位由6個字節組成,內部又會細分為不同的位域,指代不同的含義,簡要介紹如下:
• Sequence Number: 16位幀序列號,LRE對同一原始信息幀複製而來的PRP幀賦予相同的序列號,並會隨PRP幀的發送而遞增序列號的值
• LSDU size:12位載荷大小,標識Payload欄位 RCT欄位的總字節大小
• Lan Id:4位子網ID,僅有兩個值可選,0xa、0xb,代表A、B兩個子網
• PRP Suffix:16位PRP信息幀後綴,固定為0x88fb
LRE所實現的總體功能,就如先前所提到的:發送方向,將原始幀複製一份,打上A、B兩個子網的RCT欄位,向兩個埠分別發送;接收方向,則是根據源MAC、RCT中的幀序列號識別某一PRP幀,後依據「先來後到」的原則,僅保留一份PRP信息幀,褪去RCT欄位後傳輸給上層應用程式。而LRE子層內部的具體實現有興趣的讀者可以自行移步IEC官網了解。
下面是筆者測試SoC-e MEZU開發板(已搭載SoC-e PRP IP核,用作Redbox)時的一些抓包情況,詳細測試環境此處省略,僅供各位讀者參考PRP抓包的一些信息:
▎虹科SoC-e MEZU開發板,已搭載SoC-e PRP IP核
▎抓包情況——A網的SAN節點
可以在A網SAN節點中wireshark的抓包情況中看到,MEZU開發板轉發ping幀的末尾中已經附帶了6位元組的RCT欄位,也對應了RCT中的各個位域:
00 04:幀序列號
a:LAN ID,指示這是A網
0 5a:即十進位的90,即RCT Payload段的長度,104減去乙太網幀的14個字節的源MAC、目的MAC、幀類型(不包含前導碼和FCS)
88 fb:PRP幀後綴
▎抓包情況——B網的SAN節點
另一邊B網中的SAN節點的抓包情況也大同小異,只是LAN ID欄位有所不同:
00 04:幀序列號
b:LAN ID,指示這是B網
0 5a:即十進位的90,即RCT Payload段的長度,104減去乙太網幀的14個字節的源MAC、目的MAC、幀類型(不包含前導碼和FCS)
88 fb:PRP幀後綴
最後對PRP做一個簡要的特點總結:
1、數據熱交換,某個子網出現故障時,零切換延時,不丟數據
2、純二層的實現,可用於現有的任何工業乙太網中,對應用層的程序透明
3、在任何網絡拓撲結構中均可使用
4、支持實時應用場景的數據傳輸
5、需要搭建兩個物理或邏輯獨立的子網
HSR/PRP解決方案虹科與西班牙合作夥伴SoC-e/RELYUM給國內的客戶帶來了有關於HSR/PRP的多種解決方案,包括面向OEM廠商的基於FPGA的HPS(HSR/PRP Switch)、MRS(Managed Redundant Switch)IP核,面向工業終端用戶的成品HSR/PRP板卡、交換機等等。關鍵特性如下:
HPS IP核:
▎VIVADO中的HPS配置GUI
1、集成10/100/1000多速率MAC,可提供(R)(G)MII接口與PHY晶片對接
2、提供基於輸入埠、VLAN PCP(802.1Q)、DSCP TOS(IPv4/IPv6)等方式的QoS管理機制
3、支持自定義的基於源、目的MAC的報文幀過濾,支持最高4Kbytes的巨型幀
4、實現HSR/PRP冗餘協議,HSR模式下支持HSR-SAN、HSR-PRP、HSR-HSR三種運行模式
5、支持1588v2混合時鐘(僅從站)、IRIG-B主時鐘的同步方式
6、向外部提供AXI4-Lite、UART、MDIO、CoE(Configuration over Ethernet)這四種配置IP內部的控制/統計用寄存器的手段
7、支持Xilinx旗下多個系列、多個型號的FPGA,如6系列的Spartan、Virtex,7系列的Zynq, Spartan, Artix, Kintex, Virtex等等等等....
RELY-RB HSR/PRP交換機:
▎RELY-RB——整體視圖
▎RELY-RB——正面接口
▎RELY-RB——背面接口
▎RELY-RB 2多口HSR/PRP交換機——正面接口
1、產品已經推出6年,成熟可靠,並已廣泛應用於歐洲各個行業,構建高可靠性的工業網絡
2、支持豐富的網管、同步、冗餘等協議,如802.1Q、HSR/PRP、RSTP、SNMP、IEEE 1588v2、NTP...
3、嵌入式的網頁管理器,不需要安裝額外的配置軟體,配置界面簡潔、友好
4、「1 2 2」的乙太網埠配置,提供1個交換機管理接口、2個interlink埠、2個HSR/PRP冗餘埠;另有RELY-RB 2的可選型號,可提供高達「1 7 2」的埠配置
應用案例在乙太網技術和IP技術廣泛應用的今天,傳統的音視頻廣播行業也完成了向AoIP(Audio over IP)的轉型,將以往需要專用硬體(HEADEND)和專用電纜所架構的音視頻傳輸網絡,由乙太網/IP方案、高級應用軟體以及通用伺服器所替代。
但基於乙太網/IP的新型的設備與網絡架構也面臨著新的問題:如何實現零延時的故障切換,以在故障發生時保持所有站點間內容的緊密同步?
▎SMPTE 2022-7冗餘網絡場景——實際上與PRP的相同
▎RTP協議所處的位置——傳輸層
傳統音視頻網絡的冗餘採用的是SMPTE 2022-7這個基於RTP(Real-time Transport Protocol)協議的冗餘標準:與PRP冗餘網絡的場景相同,也是兩個子網,發送方在RTP報頭中插入了序列號等信息(類似於PRP協議的RCT欄位),接收方可以地通過識別RTP報頭中的特定信息,但是此標準在AoIP網絡中很明顯地會出現「水土不服」——RTP是一個建立在UDP協議之上的傳輸層的子層,意味著相當多不基於UDP的報文(如HTTPS、SSH等等)無法通過這項標準進行冗餘傳輸。
而PRP正是此困境的解決方案,純二層實現使得更上層的協議能夠順利的基於PRP進行冗餘傳輸,而RELY基於自家的RELY-PCIe、RELY-RB產品為歐洲一家老牌的音視頻廣播服務公司提供PRP冗餘方案的實現,以下為網絡的拓撲圖:
▎應用案例——音視頻廣播行業
參考資料:
[1] 李俊剛,宋小會,狄軍峰,魏勇.基於IEC 62439-3的智能變電站通信網絡冗餘設計[J].電力系統自動化,2011,35(10):70-73.
[2] SoC-e HSR-PRP IP core datasheet
[3] wiki百科,HSR詞條,High-availability Seamless Redundancy - Wikipedia
[4] wiki百科,PRP詞條,Parallel Redundancy Protocol - Wikipedia
,