專利名稱:基于epa網(wǎng)橋的鏈路冗余控制方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡通信技術(shù),具體是一種EPA(基于以太網(wǎng)的工業(yè)自動化)網(wǎng)絡的鏈 路冗余控制方法。
背景技術(shù):
EPA實時以太網(wǎng),是一種全新的適用于工業(yè)現(xiàn)場設(shè)備的開放性實時以太網(wǎng)標準, 將大量成熟的IT技術(shù)應用于工業(yè)控制系統(tǒng)。EPA系統(tǒng)是一種分布式系統(tǒng),它利用ISO/ IEC8802-3、 IEEE802. 11、 IEEE802. 15等協(xié)議將分布在現(xiàn)場的若干個設(shè)備、微網(wǎng)段以及控制 /監(jiān)視設(shè)備連接起來,使所有設(shè)備一起運作,協(xié)同完成工業(yè)生產(chǎn)過程和操作中的測量和控 制。 EPA網(wǎng)絡應用于工業(yè)現(xiàn)場,可靠性要求非??量獭PA網(wǎng)橋是EPA產(chǎn)品鏈中的重要 設(shè)備,它把兩個或多個微網(wǎng)段互連起來,既要求實現(xiàn)微網(wǎng)段內(nèi)設(shè)備的通信數(shù)據(jù)有效隔離,又 必須確保微網(wǎng)段內(nèi)設(shè)備同外網(wǎng)段設(shè)備數(shù)據(jù)通信的快速性和準確性。因此EPA網(wǎng)橋鏈路的可 靠性對于EPA網(wǎng)絡高效、可靠運行非常關(guān)鍵。鏈路冗余技術(shù)對于提高和改善工業(yè)以太網(wǎng)鏈 路的可靠性具有很好的應用價值?,F(xiàn)有的以太網(wǎng)鏈路冗余技術(shù)主要在交換機上實現(xiàn),通過 在各交換節(jié)點之間構(gòu)建多條物理鏈路來提供冗余通信路徑,(如"雙以太網(wǎng)冗余通信系統(tǒng)的 設(shè)計及應用"劉麗軍等,工業(yè)控制計算機2005年18巻7期,通過建立在TCP/IP (傳輸控制 協(xié)議/網(wǎng)際協(xié)議)協(xié)議基礎(chǔ)上的Socket (套接字)來建立客戶端和服務器端的連接,客戶 端和服務器如果檢測到通信故障將自動啟用備用鏈路),從而提高網(wǎng)絡的容錯能力和提高 網(wǎng)絡通信的可靠性。然而交換機與EPA網(wǎng)橋功能定義不同,交換機實現(xiàn)鏈路冗余的控制方 法無法實現(xiàn)微網(wǎng)段設(shè)備通信數(shù)據(jù)的有效隔離;同時,目前針對EPA網(wǎng)絡的鏈路冗余控制方 法還沒有出現(xiàn)較好的解決方案。為此,設(shè)計一種基于EPA網(wǎng)橋的鏈路冗余控制方法以提高 EPA網(wǎng)絡的可靠性。
發(fā)明內(nèi)容
本發(fā)明針對EPA工業(yè)控制網(wǎng)絡中鏈路的高可靠性要求,提出了一種適用于工業(yè)控
制網(wǎng)絡,以EPA網(wǎng)橋為載體的鏈路冗余控制方法。 本發(fā)明解決上述技術(shù)問題所采用的技術(shù)方案如下 根據(jù)EPA工業(yè)控制網(wǎng)絡的特點并結(jié)合EPA協(xié)議標準,在EPA網(wǎng)橋中設(shè)置EPA網(wǎng)絡 鏈路冗余處理模塊,修改EPA網(wǎng)橋的報文轉(zhuǎn)發(fā)功能,采用yC/0S-II(實時嵌入式)操作系 統(tǒng)以任務管理機制對網(wǎng)橋所有功能進行統(tǒng)一管理。EPA網(wǎng)橋進入數(shù)據(jù)通信狀態(tài)后,一方面 提取與其通信的設(shè)備的EPA通信標識符(0x88CB),判定通信設(shè)備的合法性和當前鏈路的狀 態(tài),網(wǎng)橋解析模塊接收網(wǎng)絡上其他所有網(wǎng)橋發(fā)送的配置橋協(xié)議數(shù)據(jù)單元BPDU報文,解析各 個BPDU包文中所攜帶的各個網(wǎng)橋唯一 的ID號,將ID號最小的網(wǎng)橋確定為網(wǎng)絡中的根網(wǎng) 橋,根網(wǎng)橋負責周期性向全網(wǎng)發(fā)送拓撲協(xié)議數(shù)據(jù)單元TPDU,即將網(wǎng)絡拓撲結(jié)構(gòu)告知其他網(wǎng) 橋。網(wǎng)絡解析模塊對網(wǎng)絡路徑進行分析判斷,如果當前網(wǎng)橋收到攜帶自己ID號的橋協(xié)議數(shù)據(jù)單元BPDU報文,說明網(wǎng)絡中存在環(huán)路,將由根網(wǎng)橋根據(jù)路徑優(yōu)先級確定修剪后的網(wǎng)絡拓 撲結(jié)構(gòu);而優(yōu)先級判斷模塊根據(jù)時間戳差確定網(wǎng)橋的優(yōu)先級,選擇最健壯的鏈路作為通信 鏈路,其余為冗余備份鏈路,端口狀態(tài)模塊將環(huán)路中連接冗余備份鏈路的網(wǎng)橋端口設(shè)置為 阻塞狀態(tài),將網(wǎng)絡修剪為無環(huán)路的樹狀結(jié)構(gòu)。另一方面通過STP (Spanning TreeProtocol) 生成樹算法周期性發(fā)送鏈路探測報文,識別通信鏈路的通信狀態(tài),當發(fā)現(xiàn)當前通信鏈路出 現(xiàn)故障時,由生成樹算法(STP)自動啟用備用鏈路,從而實現(xiàn)EPA通信鏈路快速、高效、可靠 運行。 鏈路冗余控制避免環(huán)路的出現(xiàn),本發(fā)明所提出的控制方法通過在EPA網(wǎng)橋?qū)崿F(xiàn) STP (Spanning Tree Protocol)生成樹算法來阻塞一些冗余鏈路端口 ,將具有冗余鏈路功 能的網(wǎng)絡結(jié)構(gòu)修剪成一個無環(huán)路的樹形拓撲,避免了網(wǎng)絡中出現(xiàn)環(huán)路。當活動鏈路失效時, 自動調(diào)整拓撲結(jié)構(gòu)重新構(gòu)造出一個樹形拓撲,由此達到鏈路備份的目的,EPA網(wǎng)絡也因此具 備了一定的網(wǎng)絡容錯能力。該網(wǎng)橋采用生成樹算法(STP)實現(xiàn)了微網(wǎng)段鏈路冗余控制功 能,避免網(wǎng)段出現(xiàn)通信環(huán)路,提高了通信鏈路的可靠性,使EPA網(wǎng)絡設(shè)備實時、有序、可靠的 進行報文處理和轉(zhuǎn)發(fā),從而有助于構(gòu)建具有高可靠性的大規(guī)模EPA控制網(wǎng)絡。
圖1EPA現(xiàn)場設(shè)備或微網(wǎng)段拓撲結(jié)構(gòu)圖 圖2EPA網(wǎng)橋軟件組成結(jié)構(gòu)示意圖 圖3EPA網(wǎng)橋鏈路冗余控制示意圖 (a)實際物理網(wǎng)絡拓撲結(jié)構(gòu)圖 (b)修剪后的生成樹示意圖 (c)故障恢復后的生成樹示意圖
具體實施例方式
以下針對附圖和具體實例對本發(fā)明的實施進行具體描述。 圖1為EPA網(wǎng)絡拓撲結(jié)構(gòu),包括兩個網(wǎng)段監(jiān)控級L2網(wǎng)段和現(xiàn)場設(shè)備級網(wǎng)段。 現(xiàn)場設(shè)備級網(wǎng)段用于實現(xiàn)工業(yè)生產(chǎn)現(xiàn)場的各種現(xiàn)場設(shè)備之間以及現(xiàn)場設(shè)備與L2網(wǎng)段的 連接;監(jiān)控級^網(wǎng)段主要用于實現(xiàn)控制室儀表、裝置以及人機接口之間的連接。無論是監(jiān) 控級^網(wǎng)段還是現(xiàn)場設(shè)備級1^網(wǎng)段,均可分為一個或幾個微網(wǎng)段。每個微網(wǎng)段作為一個控 制區(qū)域,用于連接多個EPA設(shè)備。在一個控制區(qū)域內(nèi),EPA設(shè)備之間互相通信,實現(xiàn)特定的 測量與控制功能。微網(wǎng)段之間通過EPA網(wǎng)橋相互連接, 一個微網(wǎng)段通過一個EPA網(wǎng)橋與其 他微網(wǎng)段相連。 圖2所示為EPA網(wǎng)橋組成結(jié)構(gòu)示意圖。包括,P C/0S-II (實時嵌入式)操作系統(tǒng)、 EPA通信協(xié)議棧模塊、EPA網(wǎng)橋安全功能模塊、網(wǎng)橋底層驅(qū)動模塊、鏈路冗余模塊。在EPA網(wǎng) 橋中設(shè)置鏈路冗余處理模塊,修改EPA網(wǎng)橋的報文轉(zhuǎn)發(fā)功能,采用P C/0S-II (實時嵌入式) 操作系統(tǒng)以任務管理機制對網(wǎng)橋所有功能進行統(tǒng)一管理。P C/0S-II操作系統(tǒng)模塊為EPA 網(wǎng)橋中的多任務提供調(diào)度和通信的功能,管理各個功能模塊。EPA通信協(xié)議棧模塊實現(xiàn)EPA 網(wǎng)橋的組態(tài)和調(diào)度管理。EPA網(wǎng)橋安全功能模塊采用防火墻機制,對微網(wǎng)段設(shè)備進行EPA報 文鑒別,非EPA設(shè)備的通信數(shù)據(jù)就地丟棄,從而實現(xiàn)非EPA數(shù)據(jù)的過濾;EPA網(wǎng)橋底層驅(qū)動模塊實現(xiàn)報文的接收與轉(zhuǎn)發(fā)。EPA網(wǎng)橋鏈路冗余模塊確保通信鏈路的可靠性,通過鏈路冗余控制實現(xiàn)EPA網(wǎng)絡鏈路的備份,當主鏈路出現(xiàn)故障時,啟用備份鏈路,從而提高EPA網(wǎng)絡整體的可靠性。 鏈路冗余模塊具體包括初始化模塊、根網(wǎng)橋選擇模塊、網(wǎng)橋解析模塊、優(yōu)先級設(shè)置模塊、端口狀態(tài)模塊。各個網(wǎng)橋上電啟動后,初始化模塊將網(wǎng)橋自身的狀態(tài)設(shè)定為根網(wǎng)橋(Root Bridge),并通過網(wǎng)橋上所有端口 (兩端口網(wǎng)橋端口設(shè)為A、 B,三端口網(wǎng)橋端口設(shè)為A、B、C)向網(wǎng)絡發(fā)送配置橋協(xié)議數(shù)據(jù)單元BPDU (Bridge Protocol Data Unit),發(fā)送自身ID號(每個ID號全網(wǎng)絡唯一)以及發(fā)送信息的時間戳到網(wǎng)絡上,為網(wǎng)絡競爭根網(wǎng)橋(RootBridge)提供ID號和最優(yōu)路徑選取提供時間戳。網(wǎng)橋解析模塊接收到網(wǎng)絡上其他所有網(wǎng)橋發(fā)送的BPDU報文,解析各個BPDU報文中所攜帶的ID號,并將其發(fā)送到根網(wǎng)橋選擇模塊;根網(wǎng)橋選擇模塊將所有接收到的其他網(wǎng)橋BPDU報文中的ID號與自己的ID號進行比較,如果所有接收BPDU報文中的ID號都比自身的ID號大,則設(shè)定該網(wǎng)橋自己為根網(wǎng)橋。如果某個網(wǎng)橋接收到的BPDU報文中所攜帶的ID號比自己的ID號小,則改變該網(wǎng)橋目前的狀態(tài)為非根網(wǎng)橋。 端口狀態(tài)模塊根據(jù)網(wǎng)橋當前工作的不同任務設(shè)置網(wǎng)橋端口狀態(tài),根據(jù)網(wǎng)橋的任務可設(shè)置網(wǎng)橋端口為阻塞(Blocking)、偵聽(Listening)、學習(Learning)、轉(zhuǎn)發(fā)(Forwarding)或禁用(Disabled) 5個狀態(tài)中其中之一狀態(tài)。端口狀態(tài)模塊根據(jù)不同任務設(shè)置網(wǎng)橋的端口狀態(tài)上電工作時,設(shè)置端口為偵聽狀態(tài),接收外來BPDU報文所攜帶的ID號,通過比較所接收ID號和自身ID號的大小,如果存在一個ID比自身ID號小,則將該網(wǎng)橋設(shè)置為非根網(wǎng)橋,如果該網(wǎng)橋接收的所有ID都比自身的ID號大,則設(shè)置該網(wǎng)橋為根網(wǎng)橋,負責周期性向全網(wǎng)發(fā)送拓撲協(xié)議數(shù)據(jù)單元TPDU,將網(wǎng)絡拓撲結(jié)構(gòu)信息告知其他網(wǎng)橋,并向網(wǎng)絡發(fā)送BPDU報文,且將該根網(wǎng)橋端口狀態(tài)置為學習狀態(tài),端口處于正常收發(fā)狀態(tài)。網(wǎng)絡解析模塊對網(wǎng)絡路徑進行分析,如果當前網(wǎng)橋收到攜帶自己ID號的橋協(xié)議數(shù)據(jù)單元BPDU報文,說明網(wǎng)絡中存在環(huán)路,則根據(jù)根網(wǎng)橋所發(fā)送的TPDU報文中的拓撲結(jié)構(gòu)信息,該網(wǎng)橋端口狀態(tài)模塊將連接在環(huán)路中的冗余備份鏈路端口設(shè)置為阻塞狀態(tài);當端口狀態(tài)模塊檢測到一個3端口或更多端口的網(wǎng)橋中出現(xiàn)某些端口不能正常工作時,置這些端口為禁用狀態(tài)。
以圖3為例具體說明,圖3為EPA網(wǎng)橋冗余模塊實現(xiàn)鏈路冗余控制的示意框圖。圖3為鏈路冗余模塊利用生成樹算法(STP)自動調(diào)整拓撲結(jié)構(gòu)重新構(gòu)造出一個樹形拓撲的示意圖。假定實際物理網(wǎng)絡為圖3(a)中所示,網(wǎng)絡中存在不允許的回環(huán)網(wǎng)絡(如環(huán)形箭頭所示)。系統(tǒng)上電初始化后,接入網(wǎng)絡中的網(wǎng)橋采用IEEE1588協(xié)議實現(xiàn)網(wǎng)橋的時鐘同步,網(wǎng)橋之間通過相互發(fā)送并傳遞BPDU報文獲得網(wǎng)絡的拓撲信息并根據(jù)鏈路的優(yōu)先級選擇最健壯的鏈路作為生成樹的"樹枝"。每個網(wǎng)橋接收其他網(wǎng)橋發(fā)送的BPDU報文,提取BPDU報文中攜帶的時間戳信息L,收到BPDU報文的網(wǎng)橋記錄下收到此BPDU報文時的時間戳T2,存入存儲器中,存儲器中建立時間戳列表,計算其他網(wǎng)橋發(fā)送的BPDU報文中攜帶的時間戳與自己收到時的接收時間戳之差(T廠T》,將時間戳之差存儲到存儲器列表中,以此時間差的大小確定路徑優(yōu)先級,優(yōu)先級判斷模塊根據(jù)時間戳差(T廠T》確定網(wǎng)橋的優(yōu)先級,時間戳差越小的網(wǎng)橋優(yōu)先級越高。假定初始化時已經(jīng)判斷出網(wǎng)橋1為根網(wǎng)橋,把網(wǎng)橋3和網(wǎng)橋5加入到網(wǎng)絡中。工作在網(wǎng)橋3和網(wǎng)橋5的每個端口分別向網(wǎng)絡中其他網(wǎng)橋發(fā)送BPDU報文,網(wǎng)橋收到BPDU報文后分析出存在環(huán)路,則發(fā)送報文到網(wǎng)橋3和網(wǎng)橋5中進行路徑優(yōu)先級選擇,網(wǎng)橋3和網(wǎng)橋5分別記錄時間戳,并根據(jù)時間戳差判斷路徑優(yōu)先級,保留滿足優(yōu)先級條件的路徑,并將非優(yōu)先級路徑作為冗余備份路徑。端口狀態(tài)模塊將連接冗余備份路徑的網(wǎng)橋端口設(shè)置為阻塞狀態(tài),如本例中確定出網(wǎng)橋3的端口 B和網(wǎng)橋5的端口 A應當設(shè)置為阻塞狀態(tài),阻塞端口之間的鏈路為被阻塞鏈路(圖中用虛線表示),使圖3(a)變成如圖3(b)所示的無回環(huán)網(wǎng)絡,使被阻塞鏈路作為冗余備份鏈路。根網(wǎng)橋周期性對網(wǎng)橋端口進行掃描,如果在規(guī)定時間內(nèi)沒有收到路徑上相應網(wǎng)橋發(fā)送的BPDU報文,則判斷相應網(wǎng)橋發(fā)生故障。根網(wǎng)橋端口狀態(tài)模塊發(fā)送控制命令恢復被阻塞的端口 ,并根據(jù)優(yōu)先級原則重新選擇滿足優(yōu)先級條件的最優(yōu)路徑作為通信路徑。如果網(wǎng)橋4在周期時間中沒有向根網(wǎng)橋發(fā)送BPDU報文,則可知該網(wǎng)橋發(fā)生故障不能工作,E網(wǎng)段將暫時無法與其它網(wǎng)段通信,根網(wǎng)橋發(fā)送命令到網(wǎng)橋3,網(wǎng)橋3根據(jù)此命令由生成樹算法(STP)自動恢復被阻塞的端口B,重新修剪出通暢的通信鏈路,重新修剪出的網(wǎng)絡如圖3(c)所示。 以上只是本發(fā)明的優(yōu)選實施例說明,本發(fā)明的保護范圍基于本領(lǐng)域技術(shù)人員的理解結(jié)合權(quán)利要求進行限定。
權(quán)利要求
基于EPA網(wǎng)橋的鏈路冗余控制方法,在EPA網(wǎng)橋中設(shè)置鏈路冗余處理模塊,修改EPA網(wǎng)橋的報文轉(zhuǎn)發(fā)功能,采用實時嵌入式操作系統(tǒng)以任務管理機制對網(wǎng)橋所有功能進行統(tǒng)一管理,提取與其通信的設(shè)備的EPA通信標識符,判定通信設(shè)備的合法性和當前鏈路的狀態(tài),其特征在于,鏈路冗余模塊具體包括,初始化模塊、根網(wǎng)橋選擇模塊、網(wǎng)橋解析模塊、優(yōu)先級設(shè)置模塊、端口狀態(tài)模塊,初始化模塊設(shè)置本網(wǎng)橋為根網(wǎng)橋,向網(wǎng)絡中其他網(wǎng)橋所有端口發(fā)送配置橋協(xié)議數(shù)據(jù)單元BPDU;網(wǎng)橋解析模塊接收到其他所有網(wǎng)橋發(fā)送的BPDU報文,解析各個BPDU包文中所攜帶的ID號;根網(wǎng)橋選擇模塊根據(jù)ID號確定網(wǎng)絡中的根網(wǎng)橋;網(wǎng)絡解析模塊對網(wǎng)絡路徑進行分析,如果網(wǎng)絡中存在環(huán)路,優(yōu)先級判斷模塊根據(jù)時間戳差確定網(wǎng)橋的優(yōu)先級,選擇最健壯的鏈路作為通信鏈路,其余為冗余備份鏈路,端口狀態(tài)模塊將環(huán)路中連接冗余備份鏈路的網(wǎng)橋端口設(shè)置為阻塞狀態(tài),將網(wǎng)絡修剪為無環(huán)路的樹狀拓撲結(jié)構(gòu)。
2. 根據(jù)權(quán)利要求1所述的鏈路冗余控制方法,其特征在于,所述根據(jù)ID號確定網(wǎng)絡中 的根網(wǎng)橋具體包括,根網(wǎng)橋選擇模塊將所有接收到的BPDU報文中的ID號與該網(wǎng)橋自己的 ID號進行比較,如果所有接收BPDU報文中的ID號都沒有自己的ID號大,則確定自己為根 網(wǎng)橋,如果接收到的BPDU報文中的ID號比自己的ID號大,則改變該網(wǎng)橋目前的狀態(tài)為非 根網(wǎng)橋。
3. 根據(jù)權(quán)利要求1所述的鏈路冗余控制方法,其特征在于,優(yōu)先級設(shè)置模塊確定網(wǎng)橋 的優(yōu)先級具體為,存儲器中建立時間戳列表,計算其他網(wǎng)橋發(fā)送的BPDU報文中攜帶的時間 戳與自己收到BPDU報文時的接收時間戳差(T2-T1),優(yōu)先級設(shè)置模塊確定時間戳差越小的 網(wǎng)橋優(yōu)先級越高。
4. 根據(jù)權(quán)利要求1所述的鏈路冗余控制方法,其特征在于,如果在規(guī)定時間內(nèi)沒有收 到網(wǎng)橋發(fā)送的BPDU報文,則判斷相應網(wǎng)橋發(fā)生故障,端口狀態(tài)模塊發(fā)送控制命令恢復被阻 塞的端口 ,優(yōu)先級設(shè)置模塊重新選擇滿足優(yōu)先級條件的最優(yōu)路徑作為通信鏈路。
全文摘要
本發(fā)明請求保護EPA網(wǎng)橋鏈路冗余控制的實現(xiàn)方法,涉及工業(yè)現(xiàn)場控制領(lǐng)域。本發(fā)明在EPA網(wǎng)橋上實現(xiàn)了EPA網(wǎng)絡鏈路冗余功能、冗余管理功能。該方法采用STP生成樹算法實現(xiàn)其鏈路冗余功能,對網(wǎng)絡路徑進行分析,如果網(wǎng)絡中存在環(huán)路,選擇最健壯的鏈路作為通信鏈路,其余為冗余備份鏈路,并將環(huán)路中連接冗余備份鏈路的網(wǎng)橋端口設(shè)置為阻塞狀態(tài),將網(wǎng)絡修剪為無環(huán)路的樹狀拓撲結(jié)構(gòu)。本方法提供的冗余鏈路管理功能,使用STP冗余管理協(xié)議,對通信鏈路進行自動管理,提高了EPA網(wǎng)絡整體的可靠性、穩(wěn)定性與健壯性。本發(fā)明適用于高可靠性、高實時數(shù)據(jù)傳輸?shù)墓I(yè)以太網(wǎng)。
文檔編號H04L12/24GK101764706SQ20091025103
公開日2010年6月30日 申請日期2009年12月28日 優(yōu)先權(quán)日2009年12月28日
發(fā)明者向敏, 周川, 周濤, 孫韶偉, 王平 申請人:重慶郵電大學