專利名稱:冗余和非冗余幀的接收的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及諸如交通工具控制、驅(qū)動(dòng)控制或變電站自動(dòng)化的應(yīng)用中的通信網(wǎng)絡(luò)領(lǐng)域。其出自根據(jù)權(quán)利要求1的前序的通過通信網(wǎng)絡(luò)中的接收設(shè)備來接收幀的方法,所述通信網(wǎng)絡(luò)包括至少兩個(gè)用于傳輸冗余幀的物理鏈路或者基本網(wǎng)絡(luò)。
背景技術(shù):
為了增加重要的數(shù)據(jù)網(wǎng)絡(luò)或者如交通工具控制、驅(qū)動(dòng)控制或變電站自動(dòng)化等關(guān)鍵應(yīng)用的可用性,需要冗余?;旧?,冗余可以通過復(fù)制通信線路例如電或光傳輸線路以及對(duì)應(yīng)協(xié)議棧的至少物理層來提供。盡管復(fù)制信息的發(fā)送通常不是直接實(shí)施的主要障礙,但是對(duì)復(fù)制信息的接收和處理可要求特殊的設(shè)備。
通信標(biāo)準(zhǔn)IEC 61375規(guī)定了兩個(gè)物理上獨(dú)立的基本網(wǎng)絡(luò),并引入了逐幀冗余,其目的是改進(jìn)可用性以使其能夠用于軌道交通工具,其中,發(fā)送器同時(shí)通過兩個(gè)線路來發(fā)送冗余幀,而接收器主要通過一個(gè)線路來接收數(shù)據(jù)而對(duì)另一個(gè)進(jìn)行觀察。美國專利申請(qǐng)公開US 2003/0147377 A1將該原理應(yīng)用于冗余的交換式全雙工以太網(wǎng)類型的通信網(wǎng)絡(luò)中。為了過濾副本,在兩個(gè)基本網(wǎng)絡(luò)上發(fā)送同樣的幀之前,發(fā)送器將標(biāo)識(shí)符字段添加到幀中。只有當(dāng)幀的標(biāo)識(shí)符先前沒有通過另一網(wǎng)絡(luò)被接收到時(shí),即副本在鏈路層被拒絕時(shí),接收器才接受該幀。標(biāo)識(shí)符是相繼幀的連續(xù)的幀號(hào)或序列計(jì)數(shù)器值,所述幀號(hào)或序列計(jì)數(shù)器值在預(yù)定的計(jì)數(shù)之后從0重新開始,如IEEE標(biāo)準(zhǔn)802.2所揭示的。給定的時(shí)間窗對(duì)接受幀的時(shí)間進(jìn)行定界。為了保持標(biāo)準(zhǔn)互聯(lián)網(wǎng)協(xié)議(IP)幀頭,優(yōu)選地將序列計(jì)數(shù)器插入在凈荷和校驗(yàn)序列之間。
前面提到的方法在封閉環(huán)境中工作良好,其中,所有設(shè)備都被預(yù)期在幀中插入序列計(jì)數(shù)器。然而,尤其是在變電站自動(dòng)化區(qū)域中,第三方設(shè)備和/或移動(dòng)設(shè)備如工程用膝上型電腦經(jīng)常只連接到兩個(gè)冗余線路中的一個(gè),且不具有由網(wǎng)絡(luò)中的大多數(shù)設(shè)備所使用的特定的冗余協(xié)議知識(shí)。在這種情況下,接收器會(huì)遇到攜帶有序列計(jì)數(shù)器的幀和未攜帶有序列計(jì)數(shù)器的幀。在這種情況下,接收器可將包括序列計(jì)數(shù)器并附加到前面的幀的字段解釋為錯(cuò)誤,或者將其作為填充而忽略掉。傳輸控制協(xié)議(TCP)和用戶數(shù)據(jù)報(bào)協(xié)議(UDP)能夠處理這種情況,而其它協(xié)議實(shí)際上會(huì)拒絕該幀。為避免這種情況,在任何數(shù)據(jù)通信之前,需要擴(kuò)展的網(wǎng)絡(luò)和設(shè)備配置過程,該過程針對(duì)每個(gè)設(shè)備來確定該設(shè)備是遵守還是不遵守冗余協(xié)議。另外,以太網(wǎng)幀的普遍問題在于這樣的事實(shí),即在某些情況下,沒有有關(guān)幀長度的可靠信息。因此,將幀截短在某些情況下可能會(huì)得出正確的校驗(yàn)和,從而導(dǎo)致未檢測(cè)出的錯(cuò)誤。
EP 854 610公開了一種以太網(wǎng)冗余方法,其無需進(jìn)行用于交換測(cè)量數(shù)據(jù)和控制命令的切換。該方法借助于數(shù)據(jù)標(biāo)識(shí)符在接收設(shè)備的低層控制部分將副本(即冗余幀)丟棄,但是并未提供對(duì)剝離了所述數(shù)據(jù)標(biāo)識(shí)符的單獨(dú)幀(singular frames)的主動(dòng)檢測(cè)。具體地,尋址到接收設(shè)備的單獨(dú)傳輸數(shù)據(jù)存儲(chǔ)在緩存器部分的接收區(qū)域中。在檢查是否已通過冗余系統(tǒng)的通信線路接收了同樣的數(shù)據(jù)的后續(xù)步驟中,沒有發(fā)現(xiàn)這樣的同樣的數(shù)據(jù),而單獨(dú)數(shù)據(jù)(singular data)實(shí)際上被轉(zhuǎn)發(fā)到相應(yīng)的接收隊(duì)列以及上層應(yīng)用。一些時(shí)間后,異常處理將從接收隊(duì)列中去除單獨(dú)數(shù)據(jù),就此而言,在預(yù)定的超時(shí)時(shí)段內(nèi)將不會(huì)接收到副本。單獨(dú)數(shù)據(jù)的出現(xiàn)被當(dāng)作異常行為的罕見情況來處理,該方法固有地將單獨(dú)數(shù)據(jù)給上層應(yīng)用來處理,甚至不考慮在接收設(shè)備的低層控制部分去識(shí)別該單獨(dú)數(shù)據(jù)。
發(fā)明內(nèi)容
因此,本發(fā)明的目的是,通過有限的配置或不進(jìn)行配置,使發(fā)送設(shè)備能夠連接到冗余通信網(wǎng)絡(luò)的兩個(gè)線路之一,并向接收設(shè)備發(fā)送幀,該接收設(shè)備連接到兩個(gè)線路并準(zhǔn)備好接收通過兩個(gè)線路所發(fā)送的冗余幀。該目的通過根據(jù)權(quán)利要求1和11的接收幀的方法和用于數(shù)據(jù)幀的數(shù)據(jù)格式來實(shí)現(xiàn)。根據(jù)從屬的專利權(quán)利要求,進(jìn)一步的優(yōu)選實(shí)施例是易于理解的。
根據(jù)本發(fā)明,接收設(shè)備對(duì)只通過一個(gè)線路傳輸?shù)姆侨哂嗉磫为?dú)幀以及通過兩個(gè)線路傳輸或者至少打算傳輸?shù)膹?fù)制即冗余幀進(jìn)行辨別或區(qū)分。識(shí)別為單獨(dú)幀、沒有其副本存在的任何幀被直接轉(zhuǎn)發(fā)以進(jìn)一步處理。針對(duì)預(yù)先已接收的副本,識(shí)別為冗余幀、根據(jù)某冗余協(xié)議來傳輸?shù)娜魏螏诤罄m(xù)被檢查。如果后者不是該情況,則冗余幀被識(shí)別為第一幀,并被轉(zhuǎn)發(fā)以進(jìn)一步處理。否則,冗余幀被識(shí)別為第二幀或晚到的幀并被忽略,盡管如此,從其接收中可得到某些信息。因此,接收設(shè)備能夠通過通信網(wǎng)絡(luò)與實(shí)施特定冗余協(xié)議的發(fā)送設(shè)備以及不遵守特定冗余協(xié)議的發(fā)送設(shè)備進(jìn)行通信。
前述的辨別可在接收器所實(shí)施的協(xié)議棧中的任何協(xié)議層進(jìn)行,因此在數(shù)據(jù)鏈路層對(duì)第二幀進(jìn)行識(shí)別和消除有利地使后續(xù)的協(xié)議層免于執(zhí)行與副本拒絕相關(guān)的額外任務(wù)。盡管如此,在對(duì)其冗余或原幀被轉(zhuǎn)發(fā)到后續(xù)的協(xié)議層有疑問的情況下,不會(huì)偶然地忽視或丟掉幀。后續(xù)的協(xié)議層可以是進(jìn)一步對(duì)所轉(zhuǎn)發(fā)的有疑問的幀進(jìn)行檢查的更高級(jí)別的層,或者可以是通過另一單獨(dú)線路即非冗余總線來發(fā)送所轉(zhuǎn)發(fā)的幀的冗余或中繼設(shè)備的另一單獨(dú)鏈路層。
在本發(fā)明的優(yōu)選變體中,作為發(fā)送設(shè)備處冗余協(xié)議的部分,冗余標(biāo)識(shí)符被添加到兩個(gè)冗余幀。該冗余標(biāo)識(shí)符基于將被傳輸?shù)膸瑏碛?jì)算,并與在接收設(shè)備處基于所接收的幀所計(jì)算的冗余標(biāo)識(shí)符進(jìn)行比較。與用于相同目的的固定和/或預(yù)定的標(biāo)識(shí)符相比,利用僅幾個(gè)比特的相比較短的冗余標(biāo)識(shí)符即能夠獲得高置信度。
諸如校驗(yàn)和或散列(hashing)等的幾個(gè)方法可用來識(shí)別冗余幀,但在簡單的實(shí)施例中,冗余標(biāo)識(shí)符的值被設(shè)置為等于幀的長度。這種計(jì)算有效的對(duì)幀特定信息的利用額外地允許接收器對(duì)被截短的、具有碰巧正確的檢驗(yàn)和的幀進(jìn)行檢測(cè)。
在本發(fā)明的優(yōu)選實(shí)施例中,借助幀或與所接收的幀一起傳輸?shù)男蛄杏?jì)數(shù)器值,通過第一線接收的冗余幀被識(shí)別為一對(duì)具有同樣信息的冗余幀中的第一幀。所接收的幀的值與計(jì)數(shù)器或預(yù)定義的最大長度的落下窗(dropwindow)進(jìn)行比較,因此不必維護(hù)大的所用計(jì)數(shù)器值表。盡管對(duì)于網(wǎng)絡(luò)管理來說,跟蹤從設(shè)備接收幀的最后時(shí)間可能是有幫助的,但是本方法沒有利用時(shí)間窗。
有利的是,先前提到的落下窗由同步計(jì)數(shù)器值來定界。一旦在線路之一上所接收的幀落在另一線路的同步計(jì)數(shù)器值的后面,這就被解釋為兩個(gè)線路間的同步缺失或者至少前一線路暫時(shí)不可用。因此,例如,在交換機(jī)通過執(zhí)行如生成樹協(xié)議來對(duì)自身進(jìn)行重新配置時(shí),可發(fā)生的按順序的幾個(gè)幀的丟失,也能得以處理。雖然在兩個(gè)線路間的延遲不可預(yù)測(cè)時(shí)算法可失敗,但是這并不損害傳輸,這是因?yàn)樵谟幸蓡柕那闆r下,沒有幀被拒絕,且對(duì)于該幀的使用的決策被留給了更高的協(xié)議層。
換句話說,根據(jù)本發(fā)明的冗余方法的優(yōu)選實(shí)施例包括一個(gè)或多個(gè)如下有利特征。a)支持混合的冗余和單獨(dú)數(shù)據(jù)業(yè)務(wù),這允許將非關(guān)鍵設(shè)備只附接于兩個(gè)冗余線路中的一個(gè),而無需使接收設(shè)備的接口聲明另一線路為故障的。b)使用長序列的標(biāo)識(shí)符,這使得不需要針對(duì)每個(gè)單個(gè)的標(biāo)識(shí)符的來創(chuàng)建定時(shí)器并跟蹤超時(shí)。c)使用連續(xù)的標(biāo)識(shí)符,使得不需要仔細(xì)檢查所接收的標(biāo)識(shí)符表就能更新每個(gè)源的兩個(gè)計(jì)數(shù)器值,并能夠檢測(cè)失序的幀。d)冗余方案的可擴(kuò)展能力,以同時(shí)覆蓋如以太網(wǎng)安全問題方的其它需求。
本發(fā)明的主題將在下文中參考在附圖中進(jìn)行圖示的優(yōu)選的典型實(shí)施例進(jìn)行詳細(xì)地描述,其中圖1示出了通信網(wǎng)絡(luò)的總線拓?fù)洌粓D2示出了通信網(wǎng)絡(luò)的交換機(jī)拓?fù)?;圖3描述了設(shè)備的組件和功能塊;圖4圖示了冗余幀;圖5示出了兩個(gè)落下窗的演變;圖6描述了共享某些物理元件的虛擬冗余網(wǎng)絡(luò);圖7示出了冗余箱;圖8圖示了在另一虛擬冗余網(wǎng)絡(luò)中的冗余交換機(jī)。
在附圖中使用的參考符號(hào)及其意義在總表中以參考符號(hào)的列表列出。原則上,在圖中同樣的部件被提供有相同的參考標(biāo)記。
具體實(shí)施例方式
圖1示出了表示例如根據(jù)IEC 61158的現(xiàn)場(chǎng)總線的總線拓?fù)洌瑘D2示出了表示例如以太網(wǎng)類型局域網(wǎng)(LAN)的通信網(wǎng)絡(luò)的交換機(jī)拓?fù)?。在這兩種情況下,兩個(gè)或多個(gè)設(shè)備11、12、13、14由彼此完全分離的兩個(gè)線路1a和1b連接,以避免公共的故障源。在本上下文中,術(shù)語線路不是僅描述點(diǎn)到點(diǎn)的物理鏈接,而是通指可以是電的、光的或基于另一拓?fù)涞膬蓚€(gè)冗余路徑中的一個(gè)。如從下面的詳細(xì)描述中將是明顯的,本發(fā)明與連接元件、集線器或交換機(jī)的數(shù)量以及它們相應(yīng)的設(shè)置(例如以環(huán)或樹拓?fù)涞男问?無關(guān),且可應(yīng)用于任何類型的網(wǎng)絡(luò)和通信介質(zhì)、以及任何數(shù)量的冗余線路及甚至僅部分(即逐段(section-wise))冗余的線路。
發(fā)送設(shè)備或源用戶設(shè)備11、12通過兩個(gè)線路1a、1b來發(fā)送相同的信息100a、100b,而接收設(shè)備或目的訂戶設(shè)備13、14從信息先到的任何一個(gè)線路接收該信息,忽略來自晚到的線路的信息,但是仍然登記其接收。如果僅一個(gè)線路被擾亂,則信息通過另一線路到達(dá)。由于在擾亂的情況下不必通過先前靜默的線路來重復(fù)信息,因此該方法提供了完全無縫的切換。該方法還提供對(duì)帶有正常業(yè)務(wù)的兩個(gè)冗余線路的完全的監(jiān)管,確保高的覆蓋并避免了用于監(jiān)管備份線路的專用業(yè)務(wù)。在圖2中,設(shè)備30、31未參與冗余協(xié)議,且僅向一個(gè)交換機(jī)20b發(fā)送單獨(dú)的即非復(fù)制的信息100s。
圖3示出了根據(jù)本發(fā)明的實(shí)施例的用于發(fā)送或接收冗余幀的設(shè)備的組件和功能塊。在協(xié)議層層次結(jié)構(gòu)方面,該方法基本上要求物理層和鏈路層4被復(fù)制。相應(yīng)地,發(fā)送設(shè)備11包括兩個(gè)線路收發(fā)器2a和2b、以及兩個(gè)以太網(wǎng)控制器3a和3b。發(fā)送設(shè)備11的處理器10負(fù)責(zé)提供數(shù)據(jù)包,并根據(jù)其來準(zhǔn)備針對(duì)一對(duì)復(fù)制幀100a、100b。將被發(fā)送的幀通過兩個(gè)以太網(wǎng)控制器3a、3b遞送到收發(fā)器2a、2b,所述收發(fā)器又通過冗余線路1a、1b來發(fā)送所述幀。
在接收設(shè)備12、13處,一對(duì)的兩個(gè)幀100a、100b通常幾乎是同時(shí)被接收到。兩個(gè)幀的到達(dá)時(shí)間之間的任何差異可歸因于用于接入各線路1a、1b的獨(dú)立的仲裁過程,或者可歸因于交換機(jī)20a、20b中或圖2中未示出的其它連接元件中的各延遲。在任何情況下,可以預(yù)期由設(shè)備11通過一個(gè)線路1a發(fā)送的幀的次序或順序是被保持的,但是,通過一個(gè)線路1a發(fā)送的后幀101a可能先于通過另一線路1b在所述后幀101a之前發(fā)送的幀100b的接收而被接收。
收發(fā)器2a和2b是信息傳遞過程的最低協(xié)議層的部分,即在其中發(fā)生數(shù)字?jǐn)?shù)據(jù)調(diào)制的通信、調(diào)制解調(diào)器或物理層。兩個(gè)以太網(wǎng)控制器3a、3b建立到通信介質(zhì)的連接,并接收來自其他網(wǎng)絡(luò)設(shè)備中的對(duì)應(yīng)以太網(wǎng)控制器的幀,或向其他網(wǎng)絡(luò)設(shè)備中的對(duì)應(yīng)以太網(wǎng)控制器發(fā)送幀。它們提供功能和過程裝置,以在網(wǎng)絡(luò)設(shè)備之間傳遞數(shù)據(jù),并對(duì)可發(fā)生在物理層中的錯(cuò)誤進(jìn)行檢測(cè)并有可能進(jìn)行糾正。除了其它任務(wù)外,處理器10還執(zhí)行作為數(shù)據(jù)鏈路層的部分的兩個(gè)鏈路層協(xié)議或者驅(qū)動(dòng)器4a、4b。數(shù)據(jù)鏈路層在層次結(jié)構(gòu)上位于物理層之上,并且排外地處理以數(shù)字或二進(jìn)制形式的數(shù)據(jù)。突出的示例是用于局域網(wǎng)的以太網(wǎng)。以太網(wǎng)是基于包的計(jì)算機(jī)組網(wǎng)技術(shù),其定義了用于物理層的布線和信令、以及針對(duì)數(shù)據(jù)鏈路層的媒體訪問控制(MAC)子層的包格式和協(xié)議。通常在驅(qū)動(dòng)器4a、4b中執(zhí)行的數(shù)據(jù)鏈路協(xié)議經(jīng)常實(shí)施為IEEE標(biāo)準(zhǔn)802.2規(guī)定,而互聯(lián)網(wǎng)協(xié)議使用透明數(shù)據(jù)鏈路協(xié)議。
在傳統(tǒng)的非冗余數(shù)據(jù)傳輸中,協(xié)議棧的鏈路層4通過鏈路-到-網(wǎng)絡(luò)層接口6直接連接到網(wǎng)絡(luò)層7。網(wǎng)絡(luò)層對(duì)消息進(jìn)行處理并且將邏輯地址和名稱翻譯成物理地址。網(wǎng)絡(luò)層還確定從源到目的設(shè)備的路由并管理諸如對(duì)數(shù)據(jù)包的分段進(jìn)行交換、路由和控制等的業(yè)務(wù)問題?;ヂ?lián)網(wǎng)協(xié)議(IP)是廣泛使用的網(wǎng)絡(luò)協(xié)議,其將數(shù)據(jù)作為塊來發(fā)送,所述塊被稱為包或數(shù)據(jù)報(bào),包括頭和數(shù)據(jù)即凈荷區(qū)。在網(wǎng)絡(luò)層之上的是未在圖3中示出的傳輸層,其又例如根據(jù)傳輸控制協(xié)議(TCP)或用戶數(shù)據(jù)報(bào)協(xié)議(UDP)來工作。在傳輸層上存在應(yīng)用層9。
原則上,在處理器10中,兩個(gè)鏈路層協(xié)議4a、4b可以只發(fā)送兩個(gè)冗余幀到網(wǎng)絡(luò)層7,而幀復(fù)制可以由處理器10中的更高層協(xié)議來處理。例如,傳輸協(xié)議如TCP被設(shè)計(jì)為拒絕由路由而引起的可出現(xiàn)在每個(gè)網(wǎng)絡(luò)中的副本。其它協(xié)議如UDP或ARP不檢測(cè)副本,而是假定應(yīng)用9不會(huì)受到對(duì)副本的接收的影響。當(dāng)網(wǎng)絡(luò)承載工業(yè)應(yīng)用如IEC 61850中的采樣值時(shí),后者是真的,這是因?yàn)楦北静蓸訙y(cè)量值的接收不會(huì)損害原始測(cè)量的精確度。面向?qū)ο蟮淖冸娬就ㄓ檬录?GOOSE)由變電站自動(dòng)化標(biāo)準(zhǔn)IEC 61850來規(guī)范,并涉及縮減的協(xié)議棧8,該協(xié)議棧8允許應(yīng)用9直接訪問以太網(wǎng)協(xié)議的鏈路層,即旁路掉通常的網(wǎng)絡(luò)和傳輸層。這對(duì)于在相同“子網(wǎng)”上(即,沒有在路由器或網(wǎng)關(guān)處的中繼)的設(shè)備間的快速通信是極其有利的。作為示例,用于聯(lián)鎖(interlock)的信號(hào)或指示變電站狀態(tài)并以例如4ms的短間隔采樣的數(shù)據(jù)通常以這種方式來傳輸。
然而,在鏈路層4對(duì)副本進(jìn)行過濾而不是在傳輸層處理冗余幀,減小了處理器的計(jì)算負(fù)載。而且,尤其是,在變電站自動(dòng)化和IEC 61850標(biāo)準(zhǔn)的使用的環(huán)境中,可期望遵從該標(biāo)準(zhǔn)的許多設(shè)備將被連接到用于變電站自動(dòng)化的通信網(wǎng)絡(luò),而不需預(yù)先遵從公共的冗余協(xié)議。再次,在鏈路層4上消除副本避免了使這些設(shè)備的較高層協(xié)議7、8遭遇雙倍的業(yè)務(wù)。
根據(jù)本發(fā)明的優(yōu)選實(shí)施例,在協(xié)議棧中引入了一個(gè)或多個(gè)附加層。尤其是,形式上為鏈路層4的部分并在層次結(jié)構(gòu)上處于兩個(gè)獨(dú)立鏈路層驅(qū)動(dòng)器4a、4b上的合并層5執(zhí)行冗余協(xié)議,并與在非冗余的情況下一樣,向高層協(xié)議7或8提供相同的鏈路-到-網(wǎng)絡(luò)層接口6。因此,只要拒絕協(xié)議工作正常,應(yīng)用層9和高層協(xié)議7或8完全不會(huì)注意到冗余的存在或不存在。合并層5自身表現(xiàn)為針對(duì)鏈路層驅(qū)動(dòng)器4a和4b的網(wǎng)絡(luò)層,并跟蹤兩個(gè)冗余線路1a、1b的健康狀態(tài),且因此可將擾亂發(fā)信號(hào)通知網(wǎng)絡(luò)管理,尤其是發(fā)生在兩個(gè)線路之一上的失去同步和失效的情況,否則其可保持不被檢測(cè)到。合并層5的主要任務(wù)在于例如,通過檢查冗余尾部200(如下文所詳述),將參與冗余協(xié)議的幀與非冗余即單獨(dú)幀區(qū)分開。
圖4示出了基于以太網(wǎng)協(xié)議的互聯(lián)網(wǎng)中使用的典型幀,其可通過線路1a或1b的任一個(gè)來發(fā)送。所述幀以前導(dǎo)101開始,隨后的是標(biāo)識(shí)目的地的目的MAC地址102,隨后是標(biāo)識(shí)在相同子網(wǎng)內(nèi)的發(fā)送器的源MAC地址103。下一字段104是鏈路層控制,其遵從例如802.2、802.1q或另一鏈路層協(xié)議,以對(duì)共享相同的媒體接入的設(shè)備間的數(shù)據(jù)業(yè)務(wù)進(jìn)行控制。然后是凈荷105,例如由IP頭、TCP頭以及有用數(shù)據(jù)構(gòu)成的互聯(lián)網(wǎng)包,或IEC61850中的GOOSE包。結(jié)束該幀的是幀校驗(yàn)序列FCS 106,例如循環(huán)冗余校驗(yàn)CRC,其由總線控制器3a、3b計(jì)算。
注意冗余協(xié)議,預(yù)定義比特長度的多至四個(gè)字段的每個(gè)作為冗余尾部200被插入到凈荷105和幀校驗(yàn)序列106之間。冗余尾部200包括序列計(jì)數(shù)器201;線路標(biāo)識(shí)符202,其指示幀通過哪個(gè)線路被發(fā)送和接收;長度字段203,其用作冗余標(biāo)識(shí)符并給出幀的長度,例如所包括的從字段101到字段204,F(xiàn)CS 106是基于該幀長度來計(jì)算的;以及可選的標(biāo)識(shí)符字段204。顯然,在冗余尾部200中的前述字段的次序不受限制。
當(dāng)鏈路層頭104遵從例如用于橋到橋通信的IEEE 802.2協(xié)議時(shí),長度字段203復(fù)制鏈路層幀頭104中的信息。但是,互聯(lián)網(wǎng)幀以協(xié)議類型來替代該長度字段,潛在的完整性缺陷被本方案所克服。
線路標(biāo)識(shí)符202用作網(wǎng)絡(luò)管理目的,并允許檢查網(wǎng)絡(luò)是否被正確地配置,在正確配置情況下線路1a的幀應(yīng)該不可能出現(xiàn)在線路1b上。在某些情況下,例如在試運(yùn)行或具有簡化的冗余性的網(wǎng)絡(luò)中,一對(duì)的兩個(gè)冗余幀可能通過同一線路被接收,在該情況下,接收器通過線路標(biāo)識(shí)符字段202來隔離線路,應(yīng)用相同協(xié)議,就好像冗余幀是通過分離線路被接收的一樣。同時(shí),由于這種情形有單個(gè)故障點(diǎn)的危險(xiǎn),因此接收器就配置錯(cuò)誤發(fā)信號(hào)。在正常操作情況下,線路標(biāo)識(shí)符202可以被用作冗余標(biāo)識(shí)符的部分,例如,通過分配給它“A”或“B”的十六進(jìn)制編碼。
為了將根據(jù)冗余協(xié)議發(fā)送的幀100a、100b與非冗余即單獨(dú)幀100s區(qū)分開,接收器檢查位于位置203處的預(yù)定長度的字段是否具有與由接收器的控制器所計(jì)算的冗余標(biāo)識(shí)符相匹配的冗余標(biāo)識(shí)符。換句話說,如果字段203的內(nèi)容不等于在接收器處所計(jì)算的接收幀的長度,那么接收器認(rèn)為該幀沒有參與冗余協(xié)議,并將該幀轉(zhuǎn)發(fā)給后續(xù)層。出于同樣的目的,可以檢查字段202,以驗(yàn)證其是否包含正確的線路標(biāo)識(shí)符,和/或可選的標(biāo)識(shí)符字段204可以如下面所進(jìn)一步詳述地來評(píng)價(jià)。
如果前述字段202、203、204中的一個(gè)或多個(gè)指示冗余幀,那么通過對(duì)處于位置201的字段中的序列號(hào)進(jìn)行評(píng)價(jià),對(duì)該幀進(jìn)行進(jìn)一步檢驗(yàn)。最近幀的序列或幀計(jì)數(shù)器201用來如下所述的副本拒絕的目的。原則上,所有操作都基于模N算法來執(zhí)行,N為計(jì)數(shù)器的最大值加1,其中計(jì)數(shù)器預(yù)期具有16比特。相應(yīng)地,當(dāng)實(shí)施下面的算法并涉及計(jì)數(shù)器值的差時(shí),必須特別小心。
如上所提及的,每個(gè)發(fā)送器保持以任意值且優(yōu)選為隨機(jī)值來初始化的發(fā)送計(jì)數(shù)器,將相同的發(fā)送計(jì)數(shù)器值插入到一對(duì)的兩個(gè)幀中,同時(shí),發(fā)送器設(shè)置線路標(biāo)識(shí)符202并計(jì)算長度字段203。發(fā)送計(jì)數(shù)器值針對(duì)發(fā)送設(shè)備按順序發(fā)送的每個(gè)幀對(duì)來增加。
如圖5中所示,針對(duì)由發(fā)送器MAC地址和可能的鏈路層業(yè)務(wù)接入點(diǎn)(LSAP)進(jìn)行標(biāo)識(shí)的每個(gè)發(fā)送器,以及針對(duì)兩個(gè)線路,接收器維護(hù)Lw連續(xù)計(jì)數(shù)器值的落下窗,其中,窗長度Lw是包括在1和最大窗長度LWMax之間的整數(shù)。落下窗由同步計(jì)數(shù)器CS和還未接收到的下一期望序列號(hào)CN來定界。從定義上說,序列號(hào)CN不是落下窗的部分,因此CN-CS=Lw。
初始化之后,接收器將從發(fā)送器接收的第一幀的計(jì)數(shù)器值作為該線路的同步計(jì)數(shù)器CS來接收。參考圖5,計(jì)數(shù)器值為23的幀是第一個(gè)通過線路a接收到的,隨后是通過同一線路a的另外四個(gè)幀。長度Lw等于4的最終落下窗由同步計(jì)數(shù)器CS=23來定界,且下一期望序列號(hào)CN=27,如在指示為“線路A1”的最上面的行所示。
現(xiàn)在,假定接收器通過線路b來接收幀,其中當(dāng)前計(jì)數(shù)器值CCB為25,接收器驗(yàn)證當(dāng)前計(jì)數(shù)器CCB是否具有期望的值,否則將產(chǎn)生失序錯(cuò)誤,并且將當(dāng)前計(jì)數(shù)器CCB與另一線路a的落下窗比較。由于計(jì)數(shù)器CCB在另一線路的落下窗之內(nèi),因此該幀被忽略,因?yàn)槠湟淹ㄟ^線路a被接收。針對(duì)b的下一期望序列號(hào)被增量到CNB2=CCB+1。假定該序列號(hào)不會(huì)向后進(jìn)行并參考行“線路A2”和“線路B2”,通過將新的同步計(jì)數(shù)器CSB2設(shè)置為CCB,線路b的落下窗被減小到其最小長度,且通過將同步計(jì)數(shù)器CSA2也設(shè)置為CCB,線路a的落下窗被相應(yīng)地縮短。
接下來,假定接收器通過線路a接收下一期望幀,其中當(dāng)前計(jì)數(shù)器值CCA為27。由于該值CCA在針對(duì)線路b的當(dāng)前窗之外,該幀被接受并傳遞到較高的層。當(dāng)下一期望值CNA3增加1時(shí),窗大小LWA從2增加到3,且同步計(jì)數(shù)CSA3不變,而線路b的落下窗保持在最小長度,如在行“線路A3”和“線路B3”中所描述的。如果幾個(gè)幀通過線路a被相繼接收,則前述過程被重復(fù)幾次,且窗大小LWA增加到最大值LWMax。一旦達(dá)到該最大值,同步計(jì)數(shù)CSA也增加,這又可使線路b的下一期望值CNB落在線路a的窗之外。在這種情況下,錯(cuò)誤計(jì)數(shù)器增加,這表明線路b被停止以及線路失去同步。該失去同步的狀態(tài)可一直持續(xù),直到通過發(fā)送序列號(hào)在線路a的落下窗內(nèi)的幀而使落在后面的線路b追上。
可選標(biāo)識(shí)符字段204可攜帶附加的信息,如根據(jù)在發(fā)送器和接收器之間協(xié)商一致的算法所計(jì)算的幀校驗(yàn)和,并且該字段可用作用于拒絕或進(jìn)一步處理所接收的幀的附加標(biāo)識(shí)符。尤其是,由以太網(wǎng)協(xié)議所計(jì)算的幀的校驗(yàn)和的重復(fù)可以被用作附加的冗余標(biāo)識(shí)符。同樣地,幀的校驗(yàn)和與對(duì)應(yīng)的計(jì)數(shù)器值可一起存儲(chǔ)在接收器,且僅當(dāng)計(jì)數(shù)器值和后幀的校驗(yàn)和與先前的冗余幀匹配時(shí),才拒絕復(fù)制幀??蛇x標(biāo)識(shí)符字段204的存在或不存在可由字段202中的比特模式來指示。
在圖1和2中,線路被描述為完全分離的。但是在某些情況下,且尤其是在安裝期間,在發(fā)送器11和接收器13之間的點(diǎn)到點(diǎn)物理鏈路的某些物理元件在兩個(gè)線路之間共享,因而避免了完全復(fù)制鏈路的必要。例如,圖6描述了一種配置,其中交換機(jī)20的可靠性被認(rèn)為足夠高,以致于允許其在1a、1b兩個(gè)線路中使用。這樣,兩個(gè)所謂的虛擬局域網(wǎng)21a、21b被創(chuàng)建,而不是如圖2所示的兩個(gè)分離的物理LAN。為了使交換機(jī)20能夠應(yīng)對(duì)該情形,針對(duì)終結(jié)于一個(gè)且相同的設(shè)備11的兩個(gè)線路1a、1b應(yīng)該使用不同的MAC地址,有必要使地址解析協(xié)議(ARP)在兩個(gè)網(wǎng)絡(luò)上獨(dú)立運(yùn)行。
圖7又顯示了分離的冗余箱15,其包括在線路1a、1b和線路1s之間中繼幀所必需的所有元件,即復(fù)制收發(fā)器2a、2b、控制器3a、3b、鏈路層協(xié)議4a、4b以及合并層協(xié)議5。合并層協(xié)議5連接到第三單獨(dú)鏈路層協(xié)議4s和控制器3s以及對(duì)應(yīng)的單獨(dú)線路1s。合并層5負(fù)責(zé)為由控制器3s所接收的那些單獨(dú)幀來產(chǎn)生冗余幀100a、100b,并負(fù)責(zé)消除由控制器3a、3b之一所接收的如上所述的晚到的冗余幀。顯然,冗余箱15的功能性可以被合并到冗余交換機(jī)20中,如圖8所示,其中,基本上非冗余設(shè)備30、31經(jīng)由兩個(gè)冗余線路1a、1b被連接到設(shè)備11上。
根據(jù)圖4的幀或協(xié)議數(shù)據(jù)單元(PDU)可以被有利地用于以后向兼容的方式向以太網(wǎng)引入認(rèn)證和加密,如下所述。到現(xiàn)在為止,通過在其相應(yīng)的PDU即所傳輸?shù)陌刑砑舆m當(dāng)?shù)臉?biāo)準(zhǔn)化的頭字段,已將安全協(xié)議引入到網(wǎng)絡(luò)-(IP-)、傳輸-(TCP-)和更高的通信層上。這些字段向接收節(jié)點(diǎn)指示如何進(jìn)行PDU上的消息認(rèn)證和解密。這假定目的節(jié)點(diǎn)能夠讀出那些附加的與安全相關(guān)的字段并對(duì)PDU進(jìn)行相應(yīng)處理。在以太網(wǎng)(鏈路)層上,迄今為止,還沒有安全協(xié)議被標(biāo)準(zhǔn)化。然而,這種以太網(wǎng)層安全對(duì)于以下情況是需要的(i)用于防止鏈路層偽造(偽造鏈路層源地址),以及(ii)用于在沒有可用的更高層安全協(xié)議的情況下進(jìn)行保護(hù)。后者發(fā)生在例如工業(yè)以太網(wǎng)中,特別是在變電站自動(dòng)化領(lǐng)域中,在TCP/IP層被旁路以在由例如上面所提到的GOOSE協(xié)議所規(guī)范的局域網(wǎng)內(nèi)進(jìn)行更快地傳輸?shù)那闆r下。在這種情況下,依賴IP-或TC-P層安全協(xié)議來保護(hù)這種“僅以太網(wǎng)”的PDU免于竊聽和篡改不再是可能的。
引入額外的協(xié)議如安全協(xié)議的直接的方式是通過在提供必要的觸發(fā)的以太網(wǎng)包頭的鏈路層控制(LLC)部分104中定義合適的字段這樣,能夠辨別這些值的節(jié)點(diǎn)就知道了如何進(jìn)一步解釋屬于加密和/或認(rèn)證的頭字段,且可相應(yīng)地處理PDU。該方案要求有標(biāo)準(zhǔn)來規(guī)范這些字段。除了上面的以太類型的規(guī)定外,至今沒有建立另外的以太網(wǎng)安全協(xié)議標(biāo)準(zhǔn)。但是,即使利用這種標(biāo)準(zhǔn),該方案要求網(wǎng)絡(luò)中所有的節(jié)點(diǎn)必須能夠辨別這些字段。如果源通過單播或多播發(fā)送攜帶安全協(xié)議字段的以太網(wǎng)包,不能辨別這些字段的“不兼容的”接收節(jié)點(diǎn)將不能正確地讀出該包的其余部分。由于在今天的以太網(wǎng)網(wǎng)絡(luò)接口卡中沒有實(shí)現(xiàn)標(biāo)準(zhǔn)化的以太網(wǎng)安全協(xié)議,這種后向兼容性問題對(duì)于以太網(wǎng)安全的引入來說經(jīng)常成為不可逾越的障礙。
為了以與未參與到安全方案中的以太網(wǎng)接收節(jié)點(diǎn)兼容的方式引入以太網(wǎng)安全,可以使用如上所述的與用于引入冗余信息相類似的方法。如圖4中所示,冗余標(biāo)識(shí)符作為冗余尾部200的部分被附加在PDU末尾,與該冗余標(biāo)識(shí)符相類似,引入了優(yōu)選以幀長度字段的形式的安全標(biāo)識(shí)符。為了區(qū)分根據(jù)安全協(xié)議的PDU和其它PDU,接收器檢查位于長度字段203位置的值是否與由以太網(wǎng)接收器的控制器所確定的物理包長度相同。如果不同,則接收器認(rèn)為該幀沒有參與到安全協(xié)議中,并將其轉(zhuǎn)發(fā)到上層而不作進(jìn)一步處理。如果值一致,則接收器根據(jù)由以太網(wǎng)安全協(xié)議所定義的格式對(duì)冗余尾部的剩余字段進(jìn)行解碼并進(jìn)行相應(yīng)動(dòng)作。作為示例,所感興趣的安全字段可以從公知的IPSec頭的定義、尤其是封裝的安全凈荷(ESP)頭中取出。相應(yīng)地,所述尾部字段包括(i)安全參數(shù)索引,其指向安全策略數(shù)據(jù)庫(指示加密和/或認(rèn)證算法類型和密鑰)的相關(guān)入口;(ii)用于重新進(jìn)行保護(hù)的序列號(hào);(iii)消息認(rèn)證碼(MAC)。所述消息認(rèn)證碼可覆蓋完整的PDU,以進(jìn)行包完整性和包源的驗(yàn)證。
不理解以太網(wǎng)安全協(xié)議的節(jié)點(diǎn)能夠讀未經(jīng)加密的包,盡管其不能驗(yàn)證完整性和進(jìn)行認(rèn)證。不進(jìn)行消息認(rèn)證或加密的接收對(duì)于非關(guān)鍵的接收器可能是足夠的,例如對(duì)于多播包。但是,在傳輸模式下啟動(dòng)的加密必須排除某些以太網(wǎng)尋址字段,以允許以太網(wǎng)交換機(jī)進(jìn)行基于地址的交換,即使這些尋址字段不參與到以太網(wǎng)安全協(xié)議中。
未參與到安全協(xié)議中的以太網(wǎng)接收器將簡單地不讀所附加的字段,但是仍然能夠正確地讀PDU,并處理用于錯(cuò)誤檢測(cè)的幀校驗(yàn)序列(FCS)。因此,該方案使新以太網(wǎng)安全協(xié)議能夠以兼容的方式引入。如果在網(wǎng)絡(luò)中采用安全協(xié)議和冗余方案二者,組合的冗余和/或安全標(biāo)識(shí)符可用于指示該事實(shí),由附加的標(biāo)志來補(bǔ)充,所述標(biāo)志表明PDU中任一個(gè)或兩個(gè)的存在。
參考標(biāo)記列表1a,1b,1s 線路2a,2b,2s 線路收發(fā)器3a,3b,3s 以太網(wǎng)控制器4a,4b,4s 鏈路層協(xié)議/驅(qū)動(dòng)器4 鏈路層5 合并層6 接口7 網(wǎng)絡(luò)和上層8 GOOSE協(xié)議棧9 應(yīng)用10 處理器
11,12發(fā)送設(shè)備13,14接收設(shè)備15冗余箱20,20a,20b 交換機(jī)21a,21b 虛擬局域網(wǎng)30,31單獨(dú)/非冗余設(shè)備100a,100b冗余幀100s 單獨(dú)幀101 前導(dǎo)102 目的MAC地址103 源MAC地址104 鏈路層控制105 凈荷,較高協(xié)議數(shù)據(jù)106 幀校驗(yàn)序列FCS200 冗余尾部201 序列或幀計(jì)數(shù)器202 線路標(biāo)識(shí)符203 冗余標(biāo)識(shí)符,幀長度字段204 可選的標(biāo)識(shí)符字段
權(quán)利要求
1.一種通過通信網(wǎng)絡(luò)中的設(shè)備(13,14,15,20)接收幀的方法,其中,所述設(shè)備(13,14,15,20)具有分別與第一和第二線路(1a,1b)相連接的第一和第二網(wǎng)絡(luò)控制器(3a,3b),用于接收由發(fā)送設(shè)備(11,12,30,31)通過所述網(wǎng)絡(luò)發(fā)送的幀(100a,100b,100s);所述方法包括,在對(duì)通過所述第一線路(1a,1b)接收的幀(100a,100b,100s)進(jìn)行處理的協(xié)議棧的第一層(5,7),-a)確定所述幀(100a,100b,100s)是否為一對(duì)的兩個(gè)冗余幀(100a,100b)中的第二幀(100b),所述兩個(gè)冗余幀中的每個(gè)分別通過兩個(gè)線路(1a,1b)中的一個(gè)進(jìn)行傳輸;以及-b)除非所述幀為第二幀(100b),否則轉(zhuǎn)發(fā)所述幀(100a,100s)以進(jìn)一步處理;其特征在于,所述方法包括,在步驟a)之前,-確定所述幀是否為僅通過所述第一線路(1a,1b)傳輸?shù)膯为?dú)幀(100s),或者其是否為每個(gè)通過兩個(gè)線路(1a,1b)中的一個(gè)來傳輸?shù)囊粚?duì)的兩個(gè)冗余幀(100a,100b)中的冗余幀。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述設(shè)備(13,14,15)的所述協(xié)議棧的所述第一層是在連接到所述網(wǎng)絡(luò)控制器(3a,3b)的兩個(gè)鏈路層驅(qū)動(dòng)器(4a,4b)上面的合并層(5),以及在于,所識(shí)別的單獨(dú)和第一幀(100s,100a)被轉(zhuǎn)發(fā)到后續(xù)層(7,8,4s)以進(jìn)一步處理。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述合并層(5)向較高級(jí)協(xié)議層(7,8)提供單獨(dú)的鏈路-到-網(wǎng)絡(luò)層接口(6)。
4.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述合并層(5)通過單獨(dú)的控制器(3s)向單獨(dú)線路或向非冗余總線(1s)轉(zhuǎn)發(fā)所識(shí)別的單獨(dú)和第一幀(100s,100a)。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,通過針對(duì)所接收的幀來計(jì)算冗余標(biāo)識(shí)符、并將所計(jì)算的冗余標(biāo)識(shí)符和與冗余幀(100a,100b)一起傳輸而單獨(dú)幀(100s)所缺少的冗余標(biāo)識(shí)符(202,203,204)進(jìn)行比較,來識(shí)別單獨(dú)和冗余幀。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述冗余標(biāo)識(shí)符為所述冗余幀(100a,100b)的幀長度(203)。
7.根據(jù)權(quán)利要求1所述的方法,其特征在于,由發(fā)送設(shè)備(11)所發(fā)送的一對(duì)冗余幀(100a,100b)中的第一幀是通過比較計(jì)數(shù)器值(201,CCB)和落下窗(CSA1-CNA1)來確定的,所述計(jì)數(shù)器值(201,CCB)與通過第一線路(1b)所接收的冗余幀(100b)一起傳輸,所述落下窗(CSA1-CNA1)針對(duì)到所述發(fā)送設(shè)備(11)的第二線路(1a)維護(hù)在所述接收設(shè)備(13)處。
8.根據(jù)權(quán)利要求7所述的方法,其特征在于,針對(duì)兩個(gè)線路(1a,1b)和每個(gè)發(fā)送設(shè)備(11,12)維護(hù)在所述接收設(shè)備(13)處的落下窗由同步計(jì)數(shù)器(CSA,CSB)來定界,并具有最大尺寸LWMax。
9.根據(jù)權(quán)利要求1到8中的任一項(xiàng)所述的方法,其特征在于,所述兩個(gè)網(wǎng)絡(luò)控制器(3a,3b)是以太網(wǎng)控制器;以及在于,所述通信網(wǎng)絡(luò)用作變電站自動(dòng)化的目的。
10.一種用于通過通信網(wǎng)絡(luò)中的接收設(shè)備(13,14)接收幀的計(jì)算機(jī)程序,所述計(jì)算機(jī)程序可加載入數(shù)據(jù)處理單元中且可在所述數(shù)據(jù)處理單元上執(zhí)行,以及當(dāng)通過所述數(shù)據(jù)處理單元執(zhí)行時(shí),該計(jì)算機(jī)程序執(zhí)行根據(jù)權(quán)利要求1到8中的任一項(xiàng)所述的方法。
11.一種用于數(shù)據(jù)幀(100a,100b,100s)的數(shù)據(jù)格式,其包括冗余和/或安全標(biāo)識(shí)符(203),所述冗余和/或安全標(biāo)識(shí)符(203)基于所述幀來計(jì)算,且被提供以在處理所述幀(100a,100b,100s)的通信網(wǎng)絡(luò)中的設(shè)備(13,14,15,20)的協(xié)議棧的第一層(5,7)被評(píng)價(jià)。
12.根據(jù)權(quán)利要求11所述的數(shù)據(jù)格式,其特征在于,冗余尾部(200)包括所述冗余標(biāo)識(shí)符(203)、線路標(biāo)識(shí)符(202)以及序列或幀計(jì)數(shù)器(201);還在于,所述冗余標(biāo)識(shí)符(203)、所述線路標(biāo)識(shí)符(202)以及所述幀計(jì)數(shù)器(201)被插入冗余幀(100a,100b)的凈荷(105)和幀校驗(yàn)序列(FCS)之間。
13.根據(jù)權(quán)利要求11所述的數(shù)據(jù)格式,其特征在于,安全尾部(200)包括所述安全標(biāo)識(shí)符(203)、安全參數(shù)索引、序列號(hào)(201)以及消息認(rèn)證碼;還在于,所述安全標(biāo)識(shí)符(203)、所述安全參數(shù)索引、所述序列號(hào)(201)以及所述消息認(rèn)證碼被插入安全幀(100s)的凈荷(105)和幀校驗(yàn)序列(FCS)之間。
14.根據(jù)權(quán)利要求11所述的數(shù)據(jù)格式,其特征在于,冗余和/或安全尾部(200)包括表明在所述數(shù)據(jù)幀(100a,100b,100s)中存在冗余和/或安全協(xié)議的標(biāo)志。
全文摘要
本發(fā)明涉及高度可用的通信網(wǎng)絡(luò),具體是用于如變電站自動(dòng)化等的工業(yè)或公用事業(yè)應(yīng)用。設(shè)備通過兩個(gè)獨(dú)立的收發(fā)器(2a,2b)和總線控制器(3a,3b)連接到兩個(gè)冗余線路(1a,1b),即對(duì)應(yīng)協(xié)議棧的物理層和鏈路層被復(fù)制。為了無縫操作,發(fā)送器(11)同時(shí)通過兩個(gè)線路發(fā)送幀(100a,100b),且接收器(13)接受一對(duì)中先到的任何一個(gè)幀并忽略晚到的幀。本發(fā)明描述了一種基于插入到所述幀中的計(jì)數(shù)器(202,203)用于在鏈路層丟棄副本而不考慮較高協(xié)議層的方法、以及用于拒絕的算法,該用于拒絕的算法利用對(duì)應(yīng)的裝置來檢測(cè)哪些幀是按照所述冗余協(xié)議工作的。
文檔編號(hào)H04L1/22GK101057483SQ200580038914
公開日2007年10月17日 申請(qǐng)日期2005年11月15日 優(yōu)先權(quán)日2004年11月16日
發(fā)明者休伯特·基爾曼, 達(dá)克費(fèi)·朱 申請(qǐng)人:Abb研究有限公司