專利名稱:容錯(cuò)以太網(wǎng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明一般涉及容錯(cuò)電子通信網(wǎng)絡(luò),尤其涉及迅速操作以糾正在網(wǎng)絡(luò)組件 故障時(shí)所發(fā)生的錯(cuò)誤并且適合于實(shí)時(shí)工業(yè)控制的容錯(cuò)網(wǎng)絡(luò)。
背景技術(shù):
工業(yè)控制器是提供制造設(shè)備、機(jī)器以及過(guò)程的實(shí)時(shí)的高度可靠的控制的專用計(jì)算機(jī)。通常,工業(yè)控制器執(zhí)行所存儲(chǔ)的程序以經(jīng)由一組輸入/輸出(i/o)電路通過(guò)與工業(yè)控制器連接的傳感器來(lái)讀取來(lái)自機(jī)器或過(guò)程的輸入。基于這些輸 入,工業(yè)控制器生成用于通過(guò)致動(dòng)器等控制機(jī)器或過(guò)程的輸出信號(hào)。通常,工業(yè)控制系統(tǒng)的組件將分布在整個(gè)工廠各處,因而將通過(guò)提供使用 專用協(xié)議進(jìn)行的高速操作(以允許實(shí)時(shí)控制)的專用通信網(wǎng)絡(luò)進(jìn)行通信,以確 保數(shù)據(jù)被可靠且可預(yù)測(cè)地傳送。理想地,工業(yè)控制系統(tǒng)的組件可以使用常用網(wǎng)絡(luò)組件例如通常可用的以太 網(wǎng)組件互連。這一能力可削減建立和維護(hù)網(wǎng)絡(luò)的成本,并且在某些情形中將允 許使用現(xiàn)有網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)。另外,使用諸如以太網(wǎng)等常用網(wǎng)絡(luò)的能力可便于與 工業(yè)控制系統(tǒng)外部的或控制過(guò)程中不直接涉及的設(shè)備通信。采用以太網(wǎng)和類似的標(biāo)準(zhǔn)網(wǎng)絡(luò)的一個(gè)障礙在于它們不是容錯(cuò)的,即在小到 一個(gè)網(wǎng)絡(luò)組件中的故障都會(huì)引起網(wǎng)絡(luò)失效,這在可靠性至關(guān)重要的工業(yè)控制系 統(tǒng)中是不可接受的可能性?,F(xiàn)有技術(shù)提供了幾種提高以太網(wǎng)及類似網(wǎng)絡(luò)的容錯(cuò)性的方法。第一種方法 是使用其中各個(gè)終端設(shè)備(節(jié)點(diǎn))用由互連的組件(諸如交換機(jī))和通信介質(zhì) 構(gòu)成的環(huán)與其它節(jié)點(diǎn)連接的環(huán)形拓?fù)?。環(huán)形網(wǎng)絡(luò)的操作是由環(huán)管理器設(shè)備用特 殊軟件控制的。環(huán)中一個(gè)組件或介質(zhì)段的故障仍提供每一節(jié)點(diǎn)之間的第二路 徑。在正常操作模式下,此第二路徑由環(huán)管理器設(shè)備封鎖。在檢測(cè)到網(wǎng)絡(luò)故障
時(shí),環(huán)管理器設(shè)備將重新配置網(wǎng)絡(luò)以使用第二路徑。這樣的系統(tǒng)提供ioo微秒 至500毫秒量級(jí)上的網(wǎng)絡(luò)故障糾正。缺點(diǎn)在于不能容許多個(gè)錯(cuò)誤(例如兩段介質(zhì)的故障)。第二種方法為每一節(jié)點(diǎn)配備用于控制該節(jié)點(diǎn)與兩個(gè)或多個(gè)不同網(wǎng)絡(luò)的連 接的軟件"中間件"。在組件或介質(zhì)故障的情況下,該中間件改變本地網(wǎng)絡(luò)接 口以在使用新以太網(wǎng)地址的后備網(wǎng)絡(luò)上發(fā)送和接收消息。中間件與在其它節(jié)點(diǎn) 處的中間件通信以更新這一改變的地址。此方法能容許多個(gè)錯(cuò)誤,但重新配置網(wǎng)絡(luò)所需的時(shí)間可能會(huì)多達(dá)30秒。此后一種方法的另一問(wèn)題在于需要多個(gè)網(wǎng)絡(luò)(一個(gè)用于主要使用, 一個(gè)用于后備),這可能難以維護(hù),由此不可避免地 存在配置和性能的差異。在第三種方法中,使用具有兩個(gè)或多個(gè)冗余網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)的單個(gè)網(wǎng)絡(luò),并 且每一設(shè)備設(shè)有多個(gè)端口,且每一端口與該網(wǎng)絡(luò)的一冗余基礎(chǔ)結(jié)構(gòu)連接。每一 設(shè)備中的中間件設(shè)有通過(guò)多個(gè)基礎(chǔ)結(jié)構(gòu)通向網(wǎng)絡(luò)中的所有其它設(shè)備的替換路 徑。每一設(shè)備中的中間件定期在各替換路徑上發(fā)送診斷消息并連續(xù)與所有其它 設(shè)備中的中間件交換各路徑的狀態(tài)信息。當(dāng)需要發(fā)送應(yīng)用層消息時(shí),源設(shè)備中 的中間件將在當(dāng)前路徑狀態(tài)信息的基礎(chǔ)上選取到目標(biāo)設(shè)備的有效路徑。在一路 徑上有網(wǎng)絡(luò)故障的情況下,設(shè)備中的中間件將或通過(guò)接收不到來(lái)自該路徑上的 其它設(shè)備的診斷消息或通過(guò)經(jīng)由替換路徑從其它設(shè)備接收到路徑狀態(tài)信息來(lái) 檢測(cè)到該故障。 一檢測(cè)到路徑故障,該路徑的狀態(tài)信息就將被更新并且該路徑 將不被用于未來(lái)的傳送。這類檢測(cè)和重新配置通??稍?秒以內(nèi)發(fā)生。在有網(wǎng)絡(luò)故障時(shí)重新配置各節(jié)點(diǎn)的這一需要從根本上限制了校正網(wǎng)絡(luò)故 障的速度,這既是因?yàn)樾枰獜?fù)雜的軟件(中間件)來(lái)檢測(cè)故障和坐標(biāo)地址或路 徑狀態(tài)變化,又是因?yàn)榕c網(wǎng)絡(luò)上的其它節(jié)點(diǎn)通信所需的時(shí)間。發(fā)明內(nèi)容本發(fā)明通過(guò)為各終端節(jié)點(diǎn)提供均具有相同網(wǎng)址的兩個(gè)網(wǎng)絡(luò)連接很大程度 上消除了重新配置其它終端節(jié)點(diǎn)的需要。響應(yīng)于所檢測(cè)到的故障由網(wǎng)卡中的硬 件激活擇一的網(wǎng)絡(luò)連接。此硬件交換以及地址改變需要的消除甚至對(duì)于非常大
的網(wǎng)絡(luò)也可提供故障檢測(cè)以及小于1毫秒的重新配置速度。網(wǎng)絡(luò)故障可以使用IEEE 802.3的標(biāo)準(zhǔn)機(jī)制來(lái)檢測(cè),例如本地故障,以及 通過(guò)使用定位在網(wǎng)絡(luò)上的特定信標(biāo)使得信標(biāo)包的丟失指示遠(yuǎn)程網(wǎng)絡(luò)故障來(lái)檢 測(cè)。兩種類型的故障均可以在硬件中容易地檢測(cè)。諸節(jié)點(diǎn)連接的單個(gè)網(wǎng)絡(luò)被配置成使各節(jié)點(diǎn)之間存在多條路徑。優(yōu)選地,這 是通過(guò)提供由高可靠度連接互連的至少兩個(gè)主干交換機(jī)并將各終端節(jié)點(diǎn)直接 或間接連接至兩個(gè)交換機(jī)來(lái)完成的。具體而言,本發(fā)明提供一種用于創(chuàng)建終端設(shè)備的容錯(cuò)以太網(wǎng)的系統(tǒng),各終端設(shè)備由網(wǎng)絡(luò)交換機(jī)和網(wǎng)絡(luò)介質(zhì)連接。該系統(tǒng)包括與各終端設(shè)備相關(guān)聯(lián)并在終 端設(shè)備的主微處理器與具有共同以太網(wǎng)址并可連接至不同網(wǎng)絡(luò)介質(zhì)的至少兩 個(gè)端口之間通信的以太網(wǎng)通信電路。該通信電路在發(fā)生影響第一個(gè)端口的錯(cuò)誤 時(shí)將終端設(shè)備切換至第二個(gè)端口 。因此,本發(fā)明的至少一個(gè)實(shí)施例的一個(gè)目的在于提供不需要重新配置節(jié)點(diǎn) 地址并可以主要用高速硬件完成的極快速糾錯(cuò)。該以太網(wǎng)通信電路可以通過(guò)檢測(cè)與同第一端口通信的網(wǎng)絡(luò)交換機(jī)的以太 網(wǎng)通信的故障來(lái)檢測(cè)影響第一端口的錯(cuò)誤。因此,本發(fā)明的至少一實(shí)施例的一個(gè)目的在于提供使用在IEEE 802.3標(biāo) 準(zhǔn)中提供的機(jī)制的簡(jiǎn)單本地故障檢測(cè)。該系統(tǒng)可包括一個(gè)或多個(gè)信標(biāo)設(shè)備,用于通過(guò)網(wǎng)絡(luò)介質(zhì)將信標(biāo)包發(fā)送至第 一和第二端口,并且以太網(wǎng)通信電路可以通過(guò)檢測(cè)在預(yù)定義的超時(shí)時(shí)段內(nèi)在相 應(yīng)端口處沒(méi)有接收到任何信標(biāo)包來(lái)檢測(cè)影響第一或第二端口的錯(cuò)誤。因此,本發(fā)明的至少一個(gè)實(shí)施例的一個(gè)目的在于提供遠(yuǎn)離給定終端設(shè)備的 錯(cuò)誤的全面檢測(cè)。信標(biāo)包可以用周期性的速率轉(zhuǎn)發(fā),并且所述預(yù)定義的超時(shí)時(shí)段通常可以被 推斷成稍大于周期性速率的兩倍。因此,本發(fā)明的至少一個(gè)實(shí)施例的目的在于提供只受仍有待消除故障假檢 測(cè)的網(wǎng)絡(luò)中信號(hào)的傳播速度限制的極快速錯(cuò)誤檢測(cè)。該以太網(wǎng)通信電路可包括可由用戶選擇性地致動(dòng)以通過(guò)網(wǎng)絡(luò)介質(zhì)將信標(biāo) 包傳送至其它以太網(wǎng)通信電路的信標(biāo)設(shè)備。因此,本發(fā)明的至少一個(gè)實(shí)施例的另一個(gè)目的在于提供可以用單個(gè)專用電 路卡實(shí)現(xiàn)并的且在所有其它方面可釆用標(biāo)準(zhǔn)以太網(wǎng)硬件的容錯(cuò)系統(tǒng)。信標(biāo)設(shè)備可以在IEEE 802.3下以最高優(yōu)先級(jí)發(fā)送。因此,本發(fā)明的至少一個(gè)實(shí)施例的一個(gè)目的在于利用以太網(wǎng)的優(yōu)先級(jí)結(jié)構(gòu) 以確保錯(cuò)誤的極快速檢測(cè)。該以太網(wǎng)通信電路可以在通信電路在諸端口之間切換時(shí)將包廣播至其它 以太網(wǎng)通信電路,以通過(guò)使用學(xué)習(xí)協(xié)議的中間交換機(jī)來(lái)促進(jìn)學(xué)習(xí)。因此,本發(fā)明的至少一個(gè)實(shí)施例的一個(gè)目的是允許中間交換機(jī)等在發(fā)生錯(cuò) 誤的情況下重新學(xué)習(xí)信號(hào)的合適路由。這些以太網(wǎng)通信電路可采用專用電路系統(tǒng)來(lái)在諸端口之間切換。因此,本發(fā)明的至少一個(gè)實(shí)施例的一個(gè)目的在于消除復(fù)雜軟件中間件的需 要,由此來(lái)提高切換的速度。這些以太網(wǎng)通信電路可以在具有作為指定的頂層交換機(jī)的至少兩個(gè)交換 機(jī)的網(wǎng)絡(luò)上使用并且通過(guò)容錯(cuò)主干相互通信。各終端設(shè)備可以通過(guò)一個(gè)端口直 接或間接地與第一個(gè)頂層交換機(jī)通信并且通過(guò)第二端口直接或間接地與第二 個(gè)頂層交換機(jī)通信。因此,本發(fā)明的至少一個(gè)實(shí)施例的一個(gè)目的在于在單個(gè)網(wǎng)絡(luò)中提供允許容 錯(cuò)的簡(jiǎn)單拓?fù)?。這些特定目的和優(yōu)點(diǎn)可只適用于落在權(quán)利要求范圍內(nèi)的某些實(shí)施例,因而 并不限定本發(fā)明的范圍。
圖1是具有作為各自與多個(gè)以太網(wǎng)交換機(jī)通信的節(jié)點(diǎn)連接在以太網(wǎng)上的 控制器和其它終端設(shè)備的工業(yè)控制系統(tǒng)的框圖。圖2是圖1的終端節(jié)點(diǎn)所采用的提供使用相同地址與多個(gè)交換機(jī)連接的兩 個(gè)端口并且示出用于在兩個(gè)端口之間切換的電路系統(tǒng)的通信電路的框圖。圖3是配置成與本發(fā)明一起用于將多個(gè)終端設(shè)備冗余地連接至頂層的兩
個(gè)不同主干交換機(jī)中的每一個(gè)的以太網(wǎng)的圖。圖4是與圖3相似的圖,它示出網(wǎng)絡(luò)上的單個(gè)本地錯(cuò)誤; 圖5是與圖4相似的圖,它示出網(wǎng)絡(luò)上的單個(gè)遠(yuǎn)程錯(cuò)誤; 圖6是與圖5相似的圖,它示出交換機(jī)故障。 圖7是與圖6相似的圖,它示出主干交換機(jī)之間的互連故障; 圖8是與圖7相似的圖,它示出影響信標(biāo)設(shè)備的本地故障; 圖9是與圖8相似的圖,它示出信標(biāo)設(shè)備故障。 圖10是與圖9相似的圖,它示出多個(gè)錯(cuò)誤;圖11是示出在優(yōu)選實(shí)施例中的通信電路的硬件中所實(shí)現(xiàn)的在錯(cuò)誤狀況下 圖2的網(wǎng)卡的操作的流程圖;以及圖12示出與圖10中相似的本發(fā)明的用于提供多個(gè)冗余的擴(kuò)展的局部視圖。
具體實(shí)施方式
工業(yè)控制系統(tǒng)現(xiàn)在參見(jiàn)圖l,工業(yè)控制系統(tǒng)IO可包括多個(gè)終端設(shè)備12a-12e,每一設(shè)備 具有經(jīng)由以太網(wǎng)接口電路20 (圖l中未示出)通過(guò)獨(dú)立的網(wǎng)絡(luò)介質(zhì)18分別與 不同的交換機(jī)16a和16b通信的兩個(gè)連接14a和14b。交換機(jī)16、網(wǎng)絡(luò)介質(zhì)18和以太網(wǎng)接口電路20 —起提供如下所述的容錯(cuò) 網(wǎng)絡(luò)11。終端設(shè)備12a至12e可以是諸如可編程邏輯控制器(終端設(shè)備12a)、人 機(jī)接口 (終端設(shè)備12b)、標(biāo)準(zhǔn)個(gè)人計(jì)算機(jī)(終端設(shè)備12c)、電動(dòng)機(jī)控制器 (終端設(shè)備12d)和輸入/輸出架(終端設(shè)備12e)等任何工業(yè)控制設(shè)備。交換機(jī)16a和16b中的每一個(gè)可以是本領(lǐng)域已知類型的標(biāo)準(zhǔn)以太網(wǎng)交換 機(jī)。就交換機(jī)16可能具有以太網(wǎng)多播地址的IGMP嗅探和過(guò)濾的程度而言, 優(yōu)選地,此特征可被停用以允許這些交換機(jī)用本發(fā)明更快速地工作。就交換機(jī) 16可能具有以太網(wǎng)單播地址的"學(xué)習(xí)"和"過(guò)濾"的程度而言,優(yōu)選地,交換機(jī)可提供針對(duì)所學(xué)習(xí)到的地址的可配置老化機(jī)制,然而這不是必要的。
網(wǎng)絡(luò)介質(zhì)18可以是例如電纜、光纖或無(wú)線發(fā)送機(jī)/接收機(jī)對(duì)等。 容錯(cuò)接口電路現(xiàn)在參見(jiàn)圖2,如上所述,每一終端設(shè)備12可包括提供到網(wǎng)絡(luò)11的其余部分的兩個(gè)連接Ma和14b的以太網(wǎng)接口電路20。連接14a和14b是通過(guò)分別 接受附連于網(wǎng)絡(luò)介質(zhì)18的連接器24a和24b的兩個(gè)標(biāo)準(zhǔn)物理端口 22a和22b 來(lái)實(shí)現(xiàn)的。物理端口 22a和22b與硬件開(kāi)關(guān)電路26連接,硬件開(kāi)關(guān)電路26諸如可以 使用現(xiàn)場(chǎng)可編程門陣列(FPGA)和/或?qū)S眉呻娐?ASIC)來(lái)實(shí)現(xiàn),用于在 端口 22a和22b中擇一與主微處理器28之間提供通信。在這一點(diǎn)上,開(kāi)關(guān)電 路26可包括多線端口選擇器32,根據(jù)端口選擇器32的狀態(tài)將來(lái)自端口 22a 或端口 22b的數(shù)據(jù)流切換至主微處理器28。作為開(kāi)關(guān)電路26的一部分的邏輯 電路34根據(jù)通常檢測(cè)錯(cuò)誤并在端口 22a和22b之間切換的狀態(tài)機(jī)來(lái)控制端口 選擇器32。在任意給定時(shí)刻,端口選擇器32只啟用一個(gè)端口 22a并禁用另一 端口22b,或與之相反。所有通信流只通過(guò)被啟用的端口 22。主微處理器28通常執(zhí)行實(shí)現(xiàn)終端設(shè)備12的特定特征的程序。重要地,主 微處理器28保存在端口 22a和22b被擇一地啟用時(shí)由它們中被啟動(dòng)的那一個(gè) 作為網(wǎng)址使用的單個(gè)媒體訪問(wèn)控制層(MAC)網(wǎng)址30。在優(yōu)選實(shí)施例中,當(dāng)發(fā)生錯(cuò)誤或其它重大網(wǎng)絡(luò)事件時(shí),在邏輯電路34向 主處理器28提供中斷之后,主處理器28授權(quán)邏輯電路34在端口 22a和22b 之間切換。主微處理器28的切換授權(quán)要求執(zhí)行非常少的代碼,使得主微處理 器28能以小于IO微秒的延遲重新配置端口。在這一短暫的切換時(shí)間時(shí)段里, 某些包將被丟失但更高層網(wǎng)絡(luò)協(xié)議將正確地作用來(lái)處理這些丟失的包就好象 包是由于其它網(wǎng)絡(luò)錯(cuò)誤而丟失的一樣。在此延遲時(shí)段里不太可能接收到復(fù)制 包,但是如果收到少量復(fù)制包,則它們將由更高層網(wǎng)絡(luò)協(xié)議檢測(cè)到。仍參見(jiàn)圖2,邏輯電路34可根據(jù)錯(cuò)誤對(duì)于以太網(wǎng)接口電路20是"本地的" 還是"遠(yuǎn)程的",即與以太網(wǎng)接口電路20隔開(kāi)至少一個(gè)交換機(jī)16,來(lái)用兩種方 法直接檢測(cè)錯(cuò)誤。
對(duì)于檢測(cè)到"遠(yuǎn)程的"錯(cuò)誤,優(yōu)選地,邏輯電路34包括或者提供用于在兩個(gè)端口 22a和22b上同時(shí)接收信標(biāo)包(如下所述)或者在如此配置時(shí)在端口 22a 和22b中啟用的那一個(gè)上發(fā)送信標(biāo)包的手段的信標(biāo)發(fā)生器/檢測(cè)器35。在此模 式中,不論端口 22a和22b中哪一個(gè)啟用于數(shù)據(jù)傳送,都將在端口22a和22b 兩者處檢測(cè)信標(biāo)包。通常,當(dāng)信標(biāo)發(fā)生器/檢測(cè)器35檢測(cè)到任何信標(biāo)包沒(méi)能在預(yù)定義的超時(shí)時(shí) 段從網(wǎng)絡(luò)中的遠(yuǎn)程信標(biāo)設(shè)備到達(dá)端口 22a或22b中啟用的一個(gè)時(shí),沒(méi)能檢測(cè)到 信標(biāo)包的的特定端口被聲明處于出錯(cuò)模式。在此情況下,邏輯電路34中斷主 微處理器28,并且主微處理器28指令邏輯電路34切換至另一端口 22 (假定 先前它沒(méi)有出錯(cuò))。類似地,當(dāng)出錯(cuò)的端口 22再次變成啟用時(shí),它可以在由 邏輯電路34中斷時(shí)由主微處理器28恢復(fù)。因此, 一個(gè)或多個(gè)信標(biāo)設(shè)備的正確 定位允許各以太網(wǎng)接口電路20檢測(cè)從給定通信電路20以及與其直接連接的交 換機(jī)16去除的遠(yuǎn)程錯(cuò)誤。邏輯電路34還可在以太網(wǎng)接口電路20與使用IEEE 802.3標(biāo)準(zhǔn)的機(jī)制的 最近交換機(jī)16之間檢測(cè)"本地的"錯(cuò)誤。這些錯(cuò)誤象"遠(yuǎn)程的"錯(cuò)誤那樣被傳送至 主微處理器28,并且以類似的方式被處理,以觸發(fā)端口22a和22b的改變。當(dāng)信標(biāo)發(fā)生器/檢測(cè)器35被配置成發(fā)生器時(shí),它以固定的間隔提供信標(biāo)包 的發(fā)送以幫助如上所述的遠(yuǎn)程錯(cuò)誤的檢測(cè)。信標(biāo)包使用交換機(jī)16被配置成支 持的正EE 802.3優(yōu)先級(jí)標(biāo)記幀在網(wǎng)絡(luò)上以最高優(yōu)先級(jí)發(fā)送。在該優(yōu)選實(shí)施例中,發(fā)生器/檢測(cè)器35為了效率將信標(biāo)包生成和信標(biāo)包檢 測(cè)這兩個(gè)功能組合,然而,從以下說(shuō)明中將認(rèn)識(shí)到信標(biāo)生成功能可以由單獨(dú)設(shè) 備執(zhí)行。在該優(yōu)選實(shí)施例中,開(kāi)關(guān)電路26使用IEEE 802.3介質(zhì)不相關(guān)接口 (Mil) 總線與主微處理器28和端口 22及22b通信。主微處理器28的地址和數(shù)據(jù)總 線允許主微處理器28使用存儲(chǔ)器映射的寄存器來(lái)配置邏輯電路34并可提供中 斷信號(hào)的發(fā)送。開(kāi)關(guān)電路26還可提供多播地址過(guò)濾以使得主微處理器28不會(huì) 被由于交換機(jī)16中的IGMP嗅探和過(guò)濾的禁用所引起的多播話務(wù)所充斥。容錯(cuò)網(wǎng)絡(luò) 現(xiàn)在參見(jiàn)圖3,雖然本發(fā)明可以對(duì)提供至少某些冗余的任何網(wǎng)絡(luò)拓?fù)淦鹱?用,但理想地,該網(wǎng)絡(luò)是對(duì)具有不重疊子樹(shù)的對(duì)稱冗余或非對(duì)稱冗余建立的,其中各終端設(shè)備12的連接14a和14b之一直接與兩個(gè)網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)即(l)網(wǎng)絡(luò) 基礎(chǔ)結(jié)構(gòu)A和(2)網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)B中的不同的一個(gè)中的交換機(jī)16連接。在各網(wǎng) 絡(luò)基礎(chǔ)結(jié)構(gòu)中可以采用多層交換機(jī)16,其中各網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)中的所有連接通向 形成網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)頂層40的兩個(gè)交換機(jī)16'和16"中擇一的一個(gè)交換機(jī)。頂層 交換機(jī)16,和16"在包括提供按照IEEE 802.2第三部分"Carrier sense multiple access with collision detection (CSMA/CD) Access Method and Physical Layer Specification,2002"的鏈路集結(jié)能力的一個(gè)或多個(gè)鏈路的主干42上相互直接通 信。通過(guò)鏈路集結(jié)能力,話務(wù)在兩個(gè)頂層交換機(jī)16'和16"之間的鏈路之間被 共享,從而主干42的一條線路上的故障將不會(huì)妨礙這樣的通信。通過(guò)這類設(shè) 置,網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)A和網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)B形成單個(gè)邏輯網(wǎng)絡(luò)。如上所述的網(wǎng)絡(luò)11在網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)A和網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)B兩者中的各終端 設(shè)備12與交換機(jī)16之間提供冗余連接,并通過(guò)頂層交換機(jī)16'和16"確保網(wǎng) 絡(luò)基礎(chǔ)結(jié)構(gòu)A和網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)B之間高度可靠的連接。通常,交換機(jī)16的準(zhǔn) 確數(shù)目和層將取決于應(yīng)用要求。本發(fā)明構(gòu)想可以構(gòu)造極大的網(wǎng)絡(luò)。例如,在具 有三層交換機(jī),每個(gè)交換機(jī)使用8個(gè)本地鏈路加上一個(gè)上行鏈路的情況下,可 以構(gòu)造出有超過(guò)500個(gè)節(jié)點(diǎn)的網(wǎng)絡(luò),而在每個(gè)交換機(jī)使用24個(gè)本地鏈路加上 一個(gè)上行鏈路的情況下,可以構(gòu)造出有超過(guò)10,000個(gè)節(jié)點(diǎn)的網(wǎng)絡(luò)。在該優(yōu)選實(shí)施例中,兩個(gè)終端設(shè)備12'被設(shè)計(jì)成只提供信標(biāo)包(通過(guò)信標(biāo) 發(fā)生器/檢測(cè)器35),而其余的終端設(shè)備12被配置成檢測(cè)如此發(fā)送的信標(biāo)包。 優(yōu)選地,發(fā)送信標(biāo)包的兩個(gè)終端設(shè)備12,將這些包發(fā)送到它們的連接14a和14b 之一以外以使得來(lái)自一個(gè)終端設(shè)備12'的一組信標(biāo)包直接傳到頂層交換機(jī)16' 而來(lái)自另一終端設(shè)備12'的另一組信標(biāo)包直接傳到頂層交換機(jī)16"。如上所述,信標(biāo)終端設(shè)備12,定期在網(wǎng)絡(luò)上廣播短信標(biāo)包。信標(biāo)包發(fā)送的 周期是由信標(biāo)包從信標(biāo)終端設(shè)備12'傳播至特定網(wǎng)絡(luò)11的最遠(yuǎn)終端設(shè)備12的 最壞情形下的延遲確定的。此周期被編程到各以太網(wǎng)接口電路20中從而信標(biāo) 檢測(cè)器可以使用超時(shí)測(cè)量來(lái)確定信標(biāo)包已被丟失以及聲明端口22a或22b上有 錯(cuò)誤。通常,超時(shí)時(shí)段稍大于最壞情形下的延遲的兩倍以防止假觸發(fā)。例如, 對(duì)于諸如所示出的三層交換機(jī)系統(tǒng),信標(biāo)周期可以為450微秒而超時(shí)時(shí)段可以為950微秒,稍高于兩個(gè)信標(biāo)周期。示例出錯(cuò)狀況現(xiàn)在參見(jiàn)圖2、 4和11,在終端設(shè)備12與其在網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)A上連接的 交換機(jī)16之間可能會(huì)發(fā)生單個(gè)"本地的"錯(cuò)誤60。這一錯(cuò)誤可能發(fā)生在形成設(shè) 備12與交換機(jī)16之間的連接的介質(zhì)18、將介質(zhì)18與交換機(jī)16或終端設(shè)備 12連接的連接器、或是交換機(jī)16或終端設(shè)備12的單個(gè)物理層電接口中。在此 例中,將假定終端設(shè)備12通過(guò)連接14a和端口 22a (第一端口)與交換機(jī)16 連接。如圖11中所示,此錯(cuò)誤60如在判定塊50指示地由邏輯電路34使用檢測(cè) 這樣的本地連接故障的標(biāo)準(zhǔn)IEEE 802.3機(jī)制檢測(cè)。如由處理塊52指示的,錯(cuò) 誤60的檢測(cè)使以太網(wǎng)接口電路20向主微處理器28發(fā)送中斷(由處理塊52指 示)。在判定塊54中,邏輯電路34根據(jù)沒(méi)能從信標(biāo)設(shè)備接收信標(biāo)包或本地錯(cuò) 誤中反映的來(lái)確定另一端口 22b是否出錯(cuò)(意味著在它與兩個(gè)頂層交換機(jī)之間 的某處存在故障)。如果是這樣,則在處理塊55處報(bào)告出錯(cuò)并且網(wǎng)絡(luò)己在雙 重出錯(cuò)狀況下故障。然而,更典型地,邏輯電路34將在判定塊54處判定另一端口 22b未出錯(cuò) 并且由處理塊56所指示的在禁用端口 22a的同時(shí)以太網(wǎng)接口電路20將切換至 端口22b。在后續(xù)處理塊58中,以太網(wǎng)接口電路20發(fā)出允許居間交換機(jī)學(xué)習(xí) 的短廣播消息。此時(shí),網(wǎng)絡(luò)繼續(xù)與終端設(shè)備12操作,然而,是通過(guò)連接14b和端口 22b 進(jìn)行通信。如上所述,如果端口 22a的錯(cuò)誤被糾正,則可以恢復(fù)通過(guò)端口22a 的通信。現(xiàn)在參見(jiàn)圖2、 5和11,在第二種情形中,錯(cuò)誤60可能位于交換機(jī)16與 頂層交換機(jī)16'之間,前一交換機(jī)16服務(wù)多個(gè)終端設(shè)備12a至12c。和以前一 樣,將假定這些設(shè)備12a至12c中的每一個(gè)在出錯(cuò)時(shí)正通過(guò)其連接14a和端口 22a與網(wǎng)絡(luò)11通信。在此錯(cuò)誤下,當(dāng)在預(yù)定義的超時(shí)時(shí)段內(nèi)沒(méi)有接收到信標(biāo)包 時(shí),終端設(shè)備12a至12c不能根據(jù)判定塊50直接檢測(cè)故障而必須根據(jù)判定塊 62從正常通過(guò)交換機(jī)16的丟失的信標(biāo)包來(lái)推斷遠(yuǎn)程錯(cuò)誤。當(dāng)檢測(cè)到這類遠(yuǎn)程 錯(cuò)誤時(shí),邏輯電路34進(jìn)到處理塊64并且一中斷被發(fā)送至主微處理器28,再次 使端口根據(jù)終端設(shè)備12a至12c中的每一個(gè)的處理塊54、 56和58從端口 22a 切換至22b。現(xiàn)在參見(jiàn)圖2、 6和11,根據(jù)通過(guò)IEEE 802.3標(biāo)準(zhǔn)機(jī)制的判定塊50可能 不能將與終端設(shè)備12a、 12b和12c直接連接的交換機(jī)16上的內(nèi)部錯(cuò)誤檢測(cè)為 本地錯(cuò)誤,然而,該錯(cuò)誤將根據(jù)判定塊62從如上所述的信標(biāo)包的丟失來(lái)檢測(cè) 到。邏輯電路34進(jìn)到處理塊64并且一中斷被發(fā)送至主微處理器28,再次使端 口根據(jù)終端設(shè)備12a至12c中的每一個(gè)的處理塊54、 56和58從端口 22a切換 至22b。應(yīng)注意如果錯(cuò)誤發(fā)生在頂層交換機(jī)16'或16"上,則所有終端設(shè)備12 將切換至網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)B并且系統(tǒng)將繼續(xù)操作。現(xiàn)在參見(jiàn)圖2、 7和11,錯(cuò)誤60可發(fā)生在網(wǎng)絡(luò)主干42上。這一錯(cuò)誤是由 作為IEEE 802.3的標(biāo)準(zhǔn)部分的上述鏈路集結(jié)過(guò)程處理的?,F(xiàn)在參見(jiàn)圖2、 8和11,單個(gè)錯(cuò)誤可能發(fā)生在信標(biāo)終端設(shè)備12'與主干的 頂層交換機(jī)16"之間。因?yàn)殄e(cuò)誤發(fā)生在到信標(biāo)終端設(shè)備12'和頂層交換機(jī)16" 的直接鏈路上,所以信標(biāo)終端設(shè)備12,將根據(jù)判定塊50立即檢測(cè)到它并開(kāi)始向 交換機(jī)16'發(fā)送。交換機(jī)16'通過(guò)交換機(jī)16"將信標(biāo)信號(hào)中繼至網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)A。最后,如圖2、 9和11中所示,與交換機(jī)16"通信的信標(biāo)終端設(shè)備12'可 能本身發(fā)生故障。但是,因?yàn)榱硪恍艠?biāo)終端設(shè)備12'仍舊是活動(dòng)的,所以系統(tǒng) 將沒(méi)有任何問(wèn)題地繼續(xù)操作,其中信標(biāo)脈沖例如從信標(biāo)終端設(shè)備12'被發(fā)送至 交換機(jī)16'然后發(fā)送至交換機(jī)16"以實(shí)現(xiàn)在網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)A上分發(fā)。參見(jiàn)圖2、 lO和ll,從上述說(shuō)明將理解本發(fā)明能處理所有單個(gè)錯(cuò)誤以及 多個(gè)單一錯(cuò)誤的所有組合,如所示的60a-60f就是這樣一個(gè)組合?,F(xiàn)在參見(jiàn)圖12,為了清楚起見(jiàn)相對(duì)于兩個(gè)網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)A和B說(shuō)明了本 發(fā)明,然而,如將從以上說(shuō)明理解的,本發(fā)明能容易地?cái)U(kuò)展到任意數(shù)目的網(wǎng)絡(luò) 基礎(chǔ)結(jié)構(gòu),例如具有頂層交換機(jī)16'、 16"和16'"以及與各基礎(chǔ)結(jié)構(gòu)分區(qū)相關(guān)聯(lián)的三個(gè)信標(biāo)終端設(shè)備12,的網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)A、 B和C。此網(wǎng)絡(luò)ll'也是各終端 設(shè)備12(未示出)在網(wǎng)絡(luò)上具有唯一地址的單個(gè)網(wǎng)絡(luò)。用三個(gè)網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu),可 以容許所有單個(gè)錯(cuò)誤、所有雙重錯(cuò)誤以及多個(gè)單一和雙重錯(cuò)誤的所有組合。從本說(shuō)明將可理解,交換機(jī)16中多播包的轉(zhuǎn)發(fā)可能受到IGMP嗅探和過(guò) 濾的影響。因此,如果IGMP嗅探和過(guò)濾是打開(kāi)的,則系統(tǒng)中的交換機(jī)16在 終端設(shè)備的重新配置改變端口 22a和22b之后將具有無(wú)效知識(shí)。這將使得多播 包被轉(zhuǎn)發(fā)至錯(cuò)誤的端口并且重新配置的端口將接收不到那些包。因此,如上所 述,IGMP嗅探和過(guò)濾在交換機(jī)16中被關(guān)閉。單播包受到可以包括在交換機(jī)16中的學(xué)習(xí)和過(guò)濾特征的影響。在重新配 置(即,從端口22a切換至22b)之后,交換機(jī)16將具有無(wú)效知識(shí)。然而,正 確實(shí)現(xiàn)學(xué)習(xí)的交換機(jī)16將在與存儲(chǔ)在數(shù)據(jù)庫(kù)中的學(xué)習(xí)到的端口不同的端口上 接收到源字段中具有學(xué)習(xí)到的MAC地址的包時(shí)更新其數(shù)據(jù)庫(kù)。因此,如上所 述,當(dāng)終端設(shè)備12重新配置其端口時(shí),它根據(jù)圖11的處理塊58發(fā)出短廣播 消息。此廣播包是其它終端設(shè)備所不感興趣的并且將被丟棄。某些交換機(jī)16還可提供針對(duì)學(xué)習(xí)到的地址的可配置老化機(jī)制。此特征還可用作便于快速重新配置的后退機(jī)制。尤其旨在使本發(fā)明不被限定于本文所包含的實(shí)施例和例示,而是包括落在所附權(quán)利要求書(shū)的范圍內(nèi)的那些包括實(shí)施例的某些部分以及不同實(shí)施例的要 素的組合的實(shí)施例修改形式。
權(quán)利要求
1. 一種用于創(chuàng)建由多個(gè)網(wǎng)絡(luò)交換機(jī)和多個(gè)網(wǎng)絡(luò)介質(zhì)連接的多個(gè)終端設(shè)備 的容錯(cuò)以太網(wǎng)的系統(tǒng),所述系統(tǒng)包括與各終端設(shè)備相關(guān)聯(lián)并在所述終端設(shè)備的主微處理器與具有共同以太網(wǎng) 址并可連接至不同網(wǎng)絡(luò)介質(zhì)的至少兩個(gè)端口之間通信的以太網(wǎng)通信電路,所述 通信電路在發(fā)生影響所述端口中的第一個(gè)的錯(cuò)誤時(shí),可將所述終端設(shè)備切換連 接至所述端口中的第二個(gè);由此無(wú)須重新映射以太網(wǎng)址即可獲得快速的糾錯(cuò)。
2. 如權(quán)利要求1所述的系統(tǒng),其特征在于,所述以太網(wǎng)通信電路是通過(guò) 檢測(cè)與連接到所述第一端口的網(wǎng)絡(luò)交換機(jī)的以太網(wǎng)通信的故障來(lái)檢測(cè)影響所 述第一端口的錯(cuò)誤。
3. 如權(quán)利要求1所述的系統(tǒng),其特征在于,還包括通過(guò)所述網(wǎng)絡(luò)介質(zhì)將 信標(biāo)包發(fā)送至所述第一端口的至少一個(gè)信標(biāo)設(shè)備,并且所述以太網(wǎng)通信電路是 通過(guò)在所述第一端口處檢測(cè)在預(yù)定義的超時(shí)時(shí)段內(nèi)丟失所有信標(biāo)包來(lái)檢測(cè)影 響所述第一端口的錯(cuò)誤。
4. 如權(quán)利要求3所述的系統(tǒng),其特征在于,所述信標(biāo)包是以周期性速率 轉(zhuǎn)發(fā)的,并且所述用于在端口處檢測(cè)丟失所有信標(biāo)包的預(yù)定義超時(shí)時(shí)段是從所 述周期性速率推導(dǎo)出的。
5. 如權(quán)利要求3所述的系統(tǒng),其特征在于,所述信標(biāo)包是以周期性速率 轉(zhuǎn)發(fā)的,并且所述用于在端口處檢測(cè)丟失所有信標(biāo)包的預(yù)定義超時(shí)時(shí)段是從所 述周期性速率推導(dǎo)出的。
6.如權(quán)利要求3所述的系統(tǒng),其特征在于,所述以太網(wǎng)通信電路還包括 可由用戶選擇性地致動(dòng)以通過(guò)所述網(wǎng)絡(luò)介質(zhì)將信標(biāo)包發(fā)送至其它以太網(wǎng)通信 電路的信標(biāo)設(shè)備。
7.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述以太網(wǎng)通信電路在所述 通信電路在諸端口之間切換時(shí)向其它以太網(wǎng)通信電路廣播一用于促進(jìn)學(xué)習(xí)的 包。
8. 如權(quán)利要求1所述的系統(tǒng),其特征在于,所述交換機(jī)中的至少兩個(gè)被 指定為頂層交換機(jī)并經(jīng)由容錯(cuò)主干相互通信;并且各終端設(shè)備經(jīng)由一個(gè)端口直接或間接地與所述頂層交換機(jī)中的第一個(gè)通 信,并經(jīng)由第二個(gè)端口直接或間接地與所述頂層交換機(jī)中的第二個(gè)通信。
9. 如權(quán)利要求1所述的系統(tǒng),其特征在于,包括通過(guò)所述網(wǎng)絡(luò)介質(zhì)發(fā)送 信標(biāo)包的至少兩個(gè)信標(biāo)設(shè)備;各信標(biāo)設(shè)備直接與多個(gè)頂層交換機(jī)連接;其中是 根據(jù)在端口處在預(yù)定義的超時(shí)時(shí)段內(nèi)沒(méi)有任何信標(biāo)包來(lái)檢測(cè)錯(cuò)誤的。
10. —種創(chuàng)建容錯(cuò)網(wǎng)絡(luò)的方法,包括以下步驟(a) 提供一組具有將各終端設(shè)備的主微處理器連接至具有相同網(wǎng)址的至少 兩個(gè)端口的通信電路的終端設(shè)備;(b) 通過(guò)網(wǎng)絡(luò)交換機(jī)和網(wǎng)絡(luò)介質(zhì)將所述各終端設(shè)備連接至被指定為頂層交 換機(jī)并通過(guò)容錯(cuò)主干相互通信的至少兩個(gè)交換機(jī),其中各終端設(shè)備通過(guò)一個(gè)端 口直接或間接地與所述頂層交換機(jī)中的第一個(gè)通信并通過(guò)第二個(gè)端口直接或 間接地與所述頂層交換機(jī)中的第二個(gè)通信;以及(c)在發(fā)生影響任何通信電路的端口中的第一個(gè)的錯(cuò)誤時(shí),將所述終端 設(shè)備切換至所述端口中的第二個(gè)。
全文摘要
通過(guò)使用提供可以用相同網(wǎng)址擇一地啟用的復(fù)制端口的專用接口來(lái)提供容錯(cuò)以太網(wǎng)。端口之間的切換糾正雙向冗余系統(tǒng)中的單個(gè)錯(cuò)誤而不需費(fèi)時(shí)重新配置其它終端設(shè)備也不需要終端設(shè)備中復(fù)雜的中間件。
文檔編號(hào)H04L12/437GK101146014SQ200710148998
公開(kāi)日2008年3月19日 申請(qǐng)日期2007年9月13日 優(yōu)先權(quán)日2006年9月13日
發(fā)明者希瓦拉姆·芭拉瑟伯拉梅尼恩, 阿納托里·莫多瓦斯基 申請(qǐng)人:洛克威爾自動(dòng)控制技術(shù)股份有限公司