專利名稱:網(wǎng)絡(luò)節(jié)點(diǎn)中的冗余幀過濾的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種用于對(duì)網(wǎng)絡(luò)節(jié)點(diǎn)中的冗余幀進(jìn)行過濾的方法,所述冗余
幀具有至少一個(gè)MAC源地址、 一個(gè)幀ID和一個(gè)CRC值,所述網(wǎng)絡(luò)節(jié)點(diǎn)包 括至少兩個(gè)端口 ,每個(gè)端口均包括一個(gè)信號(hào)發(fā)送設(shè)備和一個(gè)信號(hào)接收設(shè)備, 其中,所述信號(hào)發(fā)送設(shè)備具有一個(gè)信號(hào)發(fā)送列表清單,有待傳輸?shù)膸瑑?chǔ)存于 所述列表清單中;所述信號(hào)接收設(shè)備還具有一個(gè)接收存儲(chǔ)器,用于存儲(chǔ)接收 到的幀。
本發(fā)明還涉及一種網(wǎng)絡(luò)節(jié)點(diǎn),這種網(wǎng)絡(luò)節(jié)點(diǎn)包括至少兩個(gè)端口,每個(gè)端 口均包括一個(gè)信號(hào)發(fā)送設(shè)備和一個(gè)信號(hào)接收設(shè)備,其中,所述信號(hào)發(fā)送設(shè)備 具有一個(gè)信號(hào)發(fā)送列表清單,有待傳輸?shù)膸瑑?chǔ)存于所述列表清單中;所述信 號(hào)接收設(shè)備還具有一個(gè)接收存儲(chǔ)器,用于存儲(chǔ)接收到的幀。
背景技術(shù):
這樣一種方法特別適用于具有高可用性的網(wǎng)絡(luò)環(huán)境,在這樣的網(wǎng)絡(luò)中, 經(jīng)常會(huì)出現(xiàn)幀的冗余性傳輸。原則上,幀傳輸?shù)囊?,無論是在傳統(tǒng)的 Profibus標(biāo)準(zhǔn)網(wǎng)絡(luò)中,還在當(dāng)前的或者將來的Profinet標(biāo)準(zhǔn)網(wǎng)絡(luò)中都應(yīng)當(dāng)?shù)?以滿足。這就意味著,在余下的網(wǎng)絡(luò)繼續(xù)工作(即無損于供應(yīng)商與消費(fèi)者之 間的關(guān)系)的同時(shí),網(wǎng)絡(luò)中的設(shè)備交換或者網(wǎng)絡(luò)的擴(kuò)展都能夠得以實(shí)現(xiàn)。其 效果在于,傳統(tǒng)的Profibus線路(總線構(gòu)架)能夠與環(huán)路拓?fù)浣Y(jié)構(gòu)中的Profmet 背景環(huán)境(點(diǎn)對(duì)點(diǎn)構(gòu)架)相符。
對(duì)于Profibus線路,用戶只能一次性發(fā)送其幀,以便其他所有Profibus 用戶能夠接收該幀,而在當(dāng)今的Profmet背景環(huán)境中,循環(huán)幀可以地址為基 礎(chǔ)向環(huán)的兩個(gè)方向發(fā)送從而實(shí)現(xiàn)雙向發(fā)送。而后網(wǎng)絡(luò)會(huì)在傳輸節(jié)點(diǎn)(交換機(jī))上設(shè)法對(duì)該幀重新進(jìn)行一次過濾。由此可避免在環(huán)中出現(xiàn)循環(huán)報(bào)文(F-Bit 機(jī)制)。
因此,當(dāng)今在生產(chǎn)和制造領(lǐng)域使用的系統(tǒng)需要一種生產(chǎn)單元("機(jī)床環(huán)
(Maschinen-Ring)"),所述生產(chǎn)單元裝備有Profinet通信裝置,其以環(huán)狀結(jié) 構(gòu)投入運(yùn)作,因此具有較高的可用性。多個(gè)此類生產(chǎn)單元應(yīng)當(dāng)經(jīng)由一個(gè)全局 性的"工廠環(huán)(Fabrik-Ring)"彼此連接在一起。同時(shí),所述連接也應(yīng)采用
冗余方式實(shí)現(xiàn)。
為了滿足對(duì)網(wǎng)絡(luò)高可用性的要求,單環(huán)應(yīng)當(dāng)連接到已經(jīng)連接起來的環(huán)狀 結(jié)構(gòu)上。此舉意味著,必須將幀從一個(gè)環(huán)中導(dǎo)出,并重新將其導(dǎo)入。然而, 將這種現(xiàn)今采用的冗余信息處理方法應(yīng)用于環(huán)狀通訊,會(huì)將在簡(jiǎn)易環(huán)中運(yùn)轉(zhuǎn) 的原始幀和復(fù)制幀全部導(dǎo)出。由此,在連接著的環(huán)上,原始幀和復(fù)制幀就會(huì) 經(jīng)過兩個(gè)端口產(chǎn)生倍增效果。因此,在隨后相連的環(huán)狀結(jié)構(gòu)中,就產(chǎn)生了四 個(gè)相同的循環(huán)幀。 一般說來,如果多個(gè)這樣的環(huán)是通過開關(guān)一個(gè)接一個(gè)地連 接在一起,則具有每一個(gè)環(huán)路拓?fù)浣Y(jié)構(gòu)的循環(huán)幀的數(shù)量會(huì)翻倍;或者在其他 的每一個(gè)通過開關(guān)連接的環(huán)上,用于環(huán)狀通訊的帶寬會(huì)減半。結(jié)果,環(huán)狀通 訊無法采用這種方式實(shí)現(xiàn)給定的所需數(shù)據(jù)通信率。
在傳輸節(jié)點(diǎn)上,使用通常采用的F-Bit機(jī)制將在環(huán)中循環(huán)的幀從環(huán)中過 濾掉。這就意味著,輸入交換機(jī)和耦合交換機(jī)的存儲(chǔ)器應(yīng)當(dāng)獲悉每一個(gè)輸入 環(huán)內(nèi)的循環(huán)幀的情況;而在重新接收的時(shí)候,所述幀在輸入交換機(jī)和耦合交 換機(jī)上再次進(jìn)行過濾。為此,必須提供使用相應(yīng)的資源,否則無法進(jìn)行幀的 傳輸。
此外, 一種具有較高可用性的網(wǎng)絡(luò)還意味著,環(huán)間的耦合節(jié)點(diǎn)以冗余方 式實(shí)現(xiàn)。也就是說,環(huán)狀結(jié)構(gòu)在兩個(gè)或者更多位置相互連接著(冗余連接)。 在這種冗余連接著的環(huán)狀結(jié)構(gòu)中,循環(huán)幀經(jīng)過兩個(gè)耦合路徑被成倍地傳入緊 接著的環(huán)狀結(jié)構(gòu)中,并在那里經(jīng)過耦合路由器的兩個(gè)端口被發(fā)送出去。同時(shí), 雖然一個(gè)方向的循環(huán)幀在其他的冗余耦合節(jié)點(diǎn)上消失(經(jīng)由F-Bit機(jī)制),但是經(jīng)過緊接著的耦合節(jié)點(diǎn)的幀的數(shù)量就會(huì)翻倍,進(jìn)而在簡(jiǎn)單連接的環(huán)上用于
環(huán)狀Profinet通訊的帶寬也會(huì)減半。
傳統(tǒng)上應(yīng)用的適用于循環(huán)幀的冗余信息處理技術(shù)只能在簡(jiǎn)單的環(huán)狀結(jié) 構(gòu)上得以應(yīng)用。在這種簡(jiǎn)單的環(huán)狀結(jié)構(gòu)上,所有的節(jié)點(diǎn)都以用戶身份存在于 環(huán)上。由環(huán)來安置結(jié)構(gòu)(輸入/輸出控制器、Profmet線路)或者由環(huán)來連接 結(jié)構(gòu),會(huì)造成報(bào)文倍增的后果,從而造成所述路徑上帶寬的損失。因此,目 前通行的處理方法的缺點(diǎn)在于
從環(huán)路拓?fù)浣Y(jié)構(gòu)中輸出的過程中幀被加倍,
對(duì)于采用多播幀或者普通幀的情況,環(huán)中的帶寬會(huì)發(fā)生損失。所述 幀的DA(目的地地址)尚未被獲悉,因?yàn)檫@些幀會(huì)經(jīng)過兩個(gè)環(huán)狀方向被傳 送出去,接著才能由輸入節(jié)點(diǎn)從環(huán)中得到過濾(利用F-Bit機(jī)制),
資源需求較高,因?yàn)樵诃h(huán)中傳輸或者耦合的所有循環(huán)幀都應(yīng)當(dāng)被過 濾列表清單獲悉,并且在接收的過程中這些幀都應(yīng)當(dāng)?shù)玫竭^濾(F-Bit機(jī)制)。 使用通常的Profmet設(shè)備(交換機(jī)),只借助于軟件就可以實(shí)現(xiàn)多個(gè)環(huán)狀 結(jié)構(gòu)的冗余連接。這意味著,在交換機(jī)上甚至不是直接實(shí)現(xiàn)在相鄰的環(huán)狀結(jié) 構(gòu)之間建立連接,而是被導(dǎo)出到相鄰環(huán)內(nèi)的所有的循環(huán)幀都應(yīng)當(dāng)經(jīng)由軟件界 面進(jìn)行管理引導(dǎo)。此外,要設(shè)法保證任何情況下在每一個(gè)耦合交換機(jī)上只輸 出一個(gè)循環(huán)幀(原始幀和復(fù)制幀)。同樣,通過軟件就可以實(shí)現(xiàn)循環(huán)幀的輸 入,以便于避免再次輸入已輸入的循環(huán)幀,而該循環(huán)幀己經(jīng)利用冗余連接路 徑得以傳輸。
用上述方法可達(dá)到的數(shù)據(jù)傳輸率受到了嚴(yán)重制約,無論如何也無法滿足 所需要的數(shù)據(jù)傳輸率。在此情況下,經(jīng)由多個(gè)環(huán)的連接(環(huán)的串聯(lián)),例如 在鐵路系統(tǒng)中,只能在較大的制約下加以實(shí)現(xiàn)。例如來自當(dāng)前制造業(yè)和加工 業(yè)對(duì)工藝改進(jìn)的各種需求,都無法予以滿足。
發(fā)明內(nèi)容
9本發(fā)明的目的是對(duì)網(wǎng)絡(luò)的網(wǎng)絡(luò)節(jié)點(diǎn)中的冗余幀進(jìn)行過濾。 應(yīng)用本文開頭所述的處理方法,即可完成這一任務(wù)。其過程為,由至少 兩個(gè)端口中的一個(gè)端口接收第一幀,且在接收到所述端口的信號(hào)傳送列表清
單中的第一幀的MAC源地址和幀ID之后,應(yīng)當(dāng)搜尋MAC源地址以及幀ID 都與第一幀相同的第二幀。如果存在第二幀,則第一幀就不應(yīng)當(dāng)傳送至本地 系統(tǒng),也不應(yīng)當(dāng)將該幀傳送至本節(jié)點(diǎn)的其他端口,第二幀也不得發(fā)送出去。 這個(gè)目的還通過一種具有權(quán)利要求19所述特征的網(wǎng)絡(luò)節(jié)點(diǎn)而達(dá)成。 為了支持冗余網(wǎng)絡(luò)結(jié)構(gòu),應(yīng)當(dāng)解決冗余循環(huán)Profmet幀從環(huán)中多次傳輸 的問題,也要防止在環(huán)的內(nèi)部出現(xiàn)報(bào)文循環(huán)。采用本發(fā)明所述的"網(wǎng)絡(luò)中的 幀消除"處理方法可以解決這兩個(gè)問題。這其中的基本原理在于,在冗余系 統(tǒng)(例如環(huán)路拓?fù)浣Y(jié)構(gòu))中,經(jīng)由多條通道(典型的就是雙通道)輸入的 幀在該網(wǎng)絡(luò)中的任一位置都會(huì)再次出現(xiàn)。同時(shí),兩個(gè)相同的幀要么可能在兩 個(gè)相鄰的網(wǎng)絡(luò)節(jié)點(diǎn)之間的導(dǎo)線上相遇,要么可能在網(wǎng)絡(luò)節(jié)點(diǎn)上準(zhǔn)確相遇。 如果利用這一特點(diǎn)以便于原始幀及其復(fù)制幀在相遇位置上抵消,則應(yīng)當(dāng)
防止冗余網(wǎng)絡(luò)(典型環(huán))上出現(xiàn)幀循環(huán)以及避免在節(jié)點(diǎn)(交換機(jī))上輸出
兩者(原始幀和復(fù)制幀)。如果兩個(gè)幀無法相遇,則該環(huán)路拓?fù)浣Y(jié)構(gòu)不是冗 余的。原則上,此時(shí)幀循環(huán)或者多次輸出的情況都不會(huì)發(fā)生,且所述"網(wǎng)絡(luò) 中的幀消除"的構(gòu)想也無法實(shí)行。
根據(jù)本發(fā)明的處理方法,如果由一個(gè)端口接收循環(huán)幀,則一旦接收到
MAC源地址和幀ID,則就應(yīng)在所述接收端口的信號(hào)傳送列表清單中搜索循 環(huán)幀。依次完成所述端口的所有傳輸任務(wù),且檢查所有傳輸任務(wù)在MAC源 地址和幀ID方面的同一性。如果接收到的循環(huán)幀與信號(hào)傳述列表清單中待 傳輸?shù)膸g不匹配,則接收到的循環(huán)幀尚未以復(fù)制品的形式經(jīng)由另一個(gè)端 口到達(dá)。因此,該幀無法發(fā)送至所有其他的端口,也不能由本地系統(tǒng)接收。 反之,如果在信號(hào)傳送列表清單中發(fā)現(xiàn)了循環(huán)幀,則循環(huán)幀的復(fù)制品已經(jīng)由 另一個(gè)端口接收,并被鏈入自己的端口以供繼續(xù)傳導(dǎo)。在冗余網(wǎng)絡(luò)結(jié)構(gòu)中,原始幀和復(fù)制幀在網(wǎng)絡(luò)中某一位置上會(huì)再次相遇。 需要設(shè)法做的是,使兩個(gè)幀在網(wǎng)絡(luò)中的相遇位置上相互抵消。這樣即可以防 止幀被多次輸出到鄰近的網(wǎng)絡(luò)結(jié)構(gòu)中,又可以防止幀被多次輸入到自己的網(wǎng) 絡(luò)結(jié)構(gòu)中。這樣一來,就可以實(shí)現(xiàn)以下優(yōu)點(diǎn)-
一存儲(chǔ)器資源不再依賴于網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),也不依賴于待傳輸?shù)臄?shù)據(jù)量 (循環(huán)幀的數(shù)量)。在單獨(dú)節(jié)點(diǎn)上,只需要進(jìn)行反映兩個(gè)鄰近端口的本地關(guān)系 的中間存儲(chǔ)。對(duì)此必需的資源是恒定不變的,并且不依賴于總網(wǎng)絡(luò)的拓?fù)浣Y(jié)
構(gòu),也不依賴于傳輸率(100 MBit, lGBit)。
一己經(jīng)輸出或輸入的循環(huán)幀不存在中間存儲(chǔ),因此在這樣一個(gè)存儲(chǔ)器內(nèi) 部也就沒有必要應(yīng)用復(fù)雜的搜索與學(xué)習(xí)算法,這就使得節(jié)點(diǎn)(交換機(jī))的等 待時(shí)間重新變得較短,由此實(shí)現(xiàn)了更高的數(shù)據(jù)傳輸率。
一支持所有可能的拓?fù)浣Y(jié)構(gòu)。該方案適用于所有可能的冗余網(wǎng)絡(luò)拓?fù)浣Y(jié) 構(gòu)或者非冗余網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)。
一不必對(duì)所述交換機(jī)進(jìn)行特定地參數(shù)化。每一個(gè)交換機(jī),無論其是在環(huán) 的內(nèi)部還是作為耦合交換機(jī)與緊接著的環(huán)相連,都可以相似地參數(shù)化。
在本發(fā)明的一個(gè)優(yōu)選實(shí)施例中,根據(jù)CRC值就可以檢査第二幀是否存 在錯(cuò)誤。只有在第二幀不存在錯(cuò)誤的情況下,第一幀才不傳輸至本地系統(tǒng)或 本節(jié)點(diǎn)的其他端口。另外,如果第二幀存在錯(cuò)誤,則第二幀就不會(huì)被傳輸。 如果第二幀得以正確傳輸,或者將存在誤差的第二幀從網(wǎng)絡(luò)中額外地或者有 選擇地過濾出來,采用上述方法就可以將第一幀從所述網(wǎng)絡(luò)中過濾出來。
根據(jù)本發(fā)明的另一優(yōu)選實(shí)施方式,根據(jù)CRC值檢査第一幀是否存在錯(cuò) 誤。只有在第一幀不存在錯(cuò)誤的情況下,第二幀才不會(huì)傳送。如果第一幀存 在錯(cuò)誤,則第一幀既不能傳輸至本地系統(tǒng)中,也不能傳輸至本節(jié)點(diǎn)的其他端 口。如果第一幀得以正確傳輸,或者將存在錯(cuò)誤的第一幀從網(wǎng)絡(luò)中額外地或 者有選擇地過濾出來,如同以前采用的實(shí)施方式一樣,采用上述方法,可以 僅將第二幀從網(wǎng)絡(luò)中過濾出來。如果只有一個(gè)幀——第一幀或者第二幀,原始幀和復(fù)制幀——存在錯(cuò)誤,則前述的兩種實(shí)施方式會(huì)使得冗余幀部分得到 過濾。然而,這足以滿足高可用性網(wǎng)絡(luò)盡可能高的數(shù)據(jù)安全性保證的要求。
根據(jù)本發(fā)明的又一優(yōu)選實(shí)施方式,檢查第二幀是否被完整地儲(chǔ)存于信號(hào) 發(fā)送列表清單中。如果第二幀沒有被完整地儲(chǔ)存,則第一幀就會(huì)被儲(chǔ)存于接 收存儲(chǔ)器中,直到第二幀被完整地存儲(chǔ)下來為止。上述操作是由存儲(chǔ)轉(zhuǎn)發(fā)方 法實(shí)現(xiàn)的,所述方法在很多交換機(jī)中以標(biāo)準(zhǔn)形式實(shí)施,且用于對(duì)幀進(jìn)行檢查 的情形以便于實(shí)現(xiàn)無錯(cuò)誤的信號(hào)接收。
根據(jù)本發(fā)明的又一優(yōu)選實(shí)施方式,在不存在第二幀的情況下,如果第一 幀不只是適用于本地系統(tǒng),則第一幀被轉(zhuǎn)送至節(jié)點(diǎn)至少一個(gè)上的其他端口以 便向外發(fā)送。因此,只被提交至本地系統(tǒng)的幀(又稱為單播幀)被從網(wǎng)絡(luò)中 取出以便到達(dá)它們的目的地,而不再傳送至其他的節(jié)點(diǎn)。與此相對(duì)的是,多 播幀或者廣播幀則被提交至多于一個(gè)的接收設(shè)備,這兩種幀經(jīng)由與網(wǎng)絡(luò)綁定 的第 一節(jié)點(diǎn)的其他端口得以轉(zhuǎn)送。
根據(jù)本發(fā)明的又一優(yōu)選實(shí)施方式,在不存在第二幀的情況下,如果第一 幀指定用于本地系統(tǒng),第一幀被轉(zhuǎn)送至本地系統(tǒng)。然而,如果第二幀已經(jīng)被 登記列入所述的信號(hào)發(fā)送列表清單中,則所述第二幀已經(jīng)由本地系統(tǒng)接收。
根據(jù)本發(fā)明的又一優(yōu)選實(shí)施方式,與網(wǎng)絡(luò)綁定的各個(gè)端口會(huì)得到明確的 識(shí)別。在第一幀被轉(zhuǎn)送至所述節(jié)點(diǎn)的其他端口以便向外發(fā)送時(shí),所述第一幀 可以被轉(zhuǎn)送至所有已明確識(shí)別的其他端口以便向外發(fā)送。由此,綁定到冗余 網(wǎng)絡(luò)的一個(gè)節(jié)點(diǎn)的各個(gè)端口 (也可以是輸出端口)被特別識(shí)別為冗余端口 (R 端口),且經(jīng)由R端口接收到的循環(huán)幀經(jīng)常都被轉(zhuǎn)送至所有其他的R端口。
根據(jù)本發(fā)明的又一優(yōu)選實(shí)施方式,至少有兩個(gè)最近發(fā)送的幀被存儲(chǔ)于信 號(hào)發(fā)送列表清單的額外存儲(chǔ)區(qū)中。這保證了,如果冗余幀在網(wǎng)絡(luò)通路上的兩 個(gè)節(jié)點(diǎn)之間相遇,則也會(huì)得到過濾。如果原始幀和復(fù)制幀在通路上相遇,則 兩個(gè)幀都會(huì)在抵達(dá)相互對(duì)立放置的接收端口之前得到傳送。發(fā)送過程中,給
定兩個(gè)節(jié)點(diǎn)之間的通路長(zhǎng)度為最大值100m,速率為5ns/m,而沿接收方向穿越PHY層的運(yùn)行時(shí)間為0.2 w,沿發(fā)送方向穿越PHY層的運(yùn)行時(shí)間為0.1 ps,則最大運(yùn)行時(shí)間為(0.5+0.3) ^is = 0.8^is。于是,在使用100 MBit的以 太網(wǎng)絡(luò)時(shí), 一個(gè)最小幀(大約6(is)只是部分地被發(fā)送出去。因此可以確定, 當(dāng)各個(gè)復(fù)制幀剛好被接收到的時(shí)候,兩個(gè)原始幀已經(jīng)登記納入到端口的信號(hào) 發(fā)送列表清單中。這就意味著發(fā)生抵消是可能的。但是,當(dāng)使用lGBit的以 太網(wǎng)絡(luò)的時(shí)候, 一個(gè)幀可以在抵達(dá)相對(duì)設(shè)置的接收端口之前實(shí)現(xiàn)完全發(fā)送。 為了在這種情況下實(shí)現(xiàn)原始幀和復(fù)制幀的安全抵消,有必要提供一個(gè)額外 的、與特定端口相關(guān)的臨時(shí)緩沖器(帶有兩個(gè)條目的長(zhǎng)度)。 根據(jù)本發(fā)明的又一優(yōu)選實(shí)施方式,
一發(fā)送設(shè)備會(huì)將來自無故障傳輸?shù)膸腗AC源地址、幀ID和發(fā)送時(shí) 間點(diǎn)登記儲(chǔ)存入回應(yīng)列表清單中,
一對(duì)于無故障接收到的幀,所述接收設(shè)備會(huì)生成一個(gè)回應(yīng)幀 (Echo-Frame),該回應(yīng)幀至少包括所述無故障接收到的幀的MAC源地址及 幀ID,而該回應(yīng)幀會(huì)被登記錄入發(fā)送設(shè)備的信號(hào)發(fā)送列表清單;
一接收到的回應(yīng)幀不會(huì)被轉(zhuǎn)送,且其中的所述MAC源地址和幀ID將 與回應(yīng)列表清單中的條目進(jìn)行比較,其中如果發(fā)現(xiàn)匹配,則刪除回應(yīng)列表清 單中的相關(guān)條目;以及
一自幀錄入回應(yīng)列表清單的發(fā)送時(shí)間點(diǎn)開始,在一個(gè)回應(yīng)時(shí)間過期之 后,接收存儲(chǔ)器接收到的幀向其他端口轉(zhuǎn)送工作將被中斷,來自其他端口的 待發(fā)送幀向信號(hào)發(fā)送列表清單的轉(zhuǎn)送工作也將被中斷。
另外,如果原始幀和復(fù)制幀都得到無故障地傳輸,則一個(gè)幀才能在網(wǎng)絡(luò) 中由其復(fù)制幀可靠地消除。但是, 一旦在網(wǎng)絡(luò)中的任何地方發(fā)生了錯(cuò)誤(例 如CRC錯(cuò)誤、單向電纜傳輸中斷、導(dǎo)線斷裂),則這會(huì)導(dǎo)致兩個(gè)幀(原始幀 和復(fù)制幀)中會(huì)缺少一個(gè)幀或者兩個(gè)幀中的一個(gè)無法被正確識(shí)別。此后,之 前使用的幀消除機(jī)制就不在起作用,進(jìn)而會(huì)發(fā)生幀的循環(huán)或者幀的多次輸 出。為了防止這樣情況的發(fā)生,有必要應(yīng)用合適的機(jī)制定位存在故障或者缺失的循環(huán)幀,并且在相關(guān)的局部網(wǎng)絡(luò)即故障發(fā)生位置上引入合適的措施。
為了實(shí)現(xiàn)所述目的,無故障發(fā)送的循環(huán)幀的MAC源地址和幀ID應(yīng)存
入端口特定的回應(yīng)列表清單中。如果循環(huán)幀在發(fā)送時(shí)帶有CRC錯(cuò)誤,則幀
就不會(huì)被登記錄入回應(yīng)列表清單。此外,還要額外存儲(chǔ)循環(huán)幀的發(fā)送時(shí)間點(diǎn)。 所述接受節(jié)點(diǎn)會(huì)為每個(gè)正確接收到的循環(huán)幀生成一個(gè)回應(yīng)幀。未被正確接收 的循環(huán)幀將不得到回應(yīng)幀的回復(fù)。因此回應(yīng)幀優(yōu)先地只包含用于比較的必要 的幀信息,所以回應(yīng)幀只包括沒有數(shù)據(jù)字節(jié)的幀頭。如果接收到回應(yīng)幀,則
其在原則上不會(huì)被轉(zhuǎn)送,并且會(huì)與回應(yīng)列表清單上的所述MAC源地址、幀 ID和條目進(jìn)行比較。成功的匹配表明節(jié)點(diǎn)之間的路徑不存在故障(沒有中斷 或者干擾)。如果端口識(shí)別出,存檔于回應(yīng)列表清單中的發(fā)送時(shí)間點(diǎn)與事實(shí) 上的時(shí)間點(diǎn)之間的回應(yīng)時(shí)間己經(jīng)過去,而同時(shí)又沒有相應(yīng)的回應(yīng)幀抵達(dá),則 兩個(gè)節(jié)點(diǎn)之間的路徑(去線或者回線)存在故障。在這樣的情況下,在相應(yīng) 端口上進(jìn)行的所有緊接著的循環(huán)幀的轉(zhuǎn)送工作(傳送目標(biāo)為發(fā)送設(shè)備和接受 設(shè)備)都應(yīng)當(dāng)中斷。然而,本地路徑監(jiān)測(cè)系統(tǒng)應(yīng)當(dāng)繼續(xù)保持運(yùn)作。由于原始 幀停滯于被屏蔽的接收端口進(jìn)而無法得以轉(zhuǎn)送,轉(zhuǎn)送的中斷("轉(zhuǎn)送屏蔽器" 處于開啟狀態(tài))阻止了反向運(yùn)行的復(fù)制幀循環(huán)穿越目前缺失的原始幀。經(jīng)過 其他的節(jié)點(diǎn)輸入的循環(huán)幀以兩種形式(原始幀和復(fù)制幀)進(jìn)入轉(zhuǎn)送屏蔽器, 且于此處在接收端口上得以過濾或者在發(fā)送端口上不被轉(zhuǎn)送。總而言之,每
一個(gè)冗余端口都必須實(shí)現(xiàn)下列功能
一對(duì)于每個(gè)發(fā)出的循環(huán)幀,相鄰交換機(jī)上相對(duì)設(shè)置的端口應(yīng)當(dāng)將一個(gè)回
應(yīng)幀發(fā)回本地。
一如果所述循環(huán)幀在接收過程中不存在故障,則只產(chǎn)生一個(gè)回應(yīng)幀。 一在由己發(fā)出的循環(huán)幀確定的回應(yīng)時(shí)間之內(nèi),所屬幀應(yīng)當(dāng)以回應(yīng)的形式
再次被接收。
一所述發(fā)送端口都應(yīng)當(dāng)各自在一個(gè)端口特定的回應(yīng)循環(huán)緩沖器(回應(yīng)列
表清單)中存儲(chǔ)與回應(yīng)相關(guān)的幀數(shù)據(jù)(MAC源地址、幀ID、發(fā)送時(shí)間)。一如果在所述的計(jì)算時(shí)間點(diǎn)上(在回應(yīng)時(shí)間過去之后)仍然沒有接收到 預(yù)期的回應(yīng)幀,則將屏蔽循環(huán)幀從所述特定端口到所有其他端口或從所有其 他端口到所述特定端口的轉(zhuǎn)送活動(dòng)。然而,對(duì)于所有緊接著的循環(huán)幀,涉及 回應(yīng)構(gòu)成的幀的接收活動(dòng)仍然保持。
根據(jù)本發(fā)明的又一優(yōu)選實(shí)施方式,由接收設(shè)備生成的回應(yīng)幀錄入發(fā)送設(shè) 備的信號(hào)發(fā)送列表清單并賦以最高優(yōu)先權(quán)。為了盡可能直接地將回應(yīng)幀返回 到正在發(fā)送節(jié)點(diǎn),將所述回應(yīng)幀錄入所述信號(hào)發(fā)送列表清單并賦以最高優(yōu)先 權(quán)。因此,只有正在運(yùn)行的幀才能延遲所述回應(yīng)幀。
根據(jù)本發(fā)明的又一優(yōu)選實(shí)施方式,回應(yīng)列表清單中存入一個(gè)條目與接收 到相關(guān)的回應(yīng)幀之間的最大運(yùn)行時(shí)間可以被選定為回應(yīng)時(shí)間。因?yàn)?,在所?實(shí)施例中,只有正在運(yùn)行的幀才能延遲回應(yīng)幀,所以所述最大運(yùn)行時(shí)間可由
一個(gè)在導(dǎo)線長(zhǎng)度最大的情況下(典型值為5 ns/m和對(duì)應(yīng)時(shí)間1 |is的兩次 100m)的"線延遲"加上一個(gè)"橋接延遲"的兩倍,所述鄰近交換機(jī)內(nèi)的執(zhí) 行時(shí)間(與o.3 (is的PHY運(yùn)行時(shí)間相適宜,見上)加上以回應(yīng)幀之前最大 幀造成的所述延遲時(shí)間共同給定。
假如出現(xiàn)最大幀(一般為1530字節(jié))的情況,當(dāng)以太網(wǎng)絡(luò)為1 GBit時(shí), 則上述時(shí)間可能為12.24 當(dāng)以太網(wǎng)絡(luò)為100 MBit時(shí),則上述時(shí)間可能為 122.4|is??偟膩碚f,因此,當(dāng)以太網(wǎng)絡(luò)為1 GBit時(shí),總的回應(yīng)時(shí)間為13.54 Hs;當(dāng)以太網(wǎng)絡(luò)為100 MBit時(shí),總的回應(yīng)時(shí)間為123.7 |_is。
根據(jù)本發(fā)明的又一優(yōu)選實(shí)施方式,當(dāng)以太網(wǎng)絡(luò)為100 MBit時(shí),可以將 最后20個(gè)條目存儲(chǔ)到回應(yīng)列表清單中;當(dāng)以太網(wǎng)絡(luò)為1 GBit時(shí),可以將最 后22個(gè)條目存儲(chǔ)到回應(yīng)列表清單中。假設(shè)一個(gè)到相鄰交換機(jī)的最大導(dǎo)線長(zhǎng) 度(100m),必須存儲(chǔ)一個(gè)最大數(shù)量的幀數(shù)據(jù)以便于鄰近交換機(jī)只發(fā)送一個(gè) 最長(zhǎng)的幀,而帶有96Bit (12字節(jié))"內(nèi)部封裝間隙"長(zhǎng)度最短的幀(64字 節(jié)和前述8字節(jié))只能由發(fā)送端口發(fā)出。待存儲(chǔ)的最大條目由最大延遲時(shí)間 除以用于發(fā)送最小幀(算上"內(nèi)部封裝間隙")的必要時(shí)間計(jì)算得出,其中對(duì)于lGBit以太網(wǎng)絡(luò),所述必要時(shí)間為0.672 (is;而對(duì)于100 MBit以太網(wǎng)絡(luò), 所述必要時(shí)間為6.72 ns。
根據(jù)本發(fā)明的又一優(yōu)選實(shí)施方式,可以排除在當(dāng)前的通信周期結(jié)束時(shí)轉(zhuǎn) 送中斷的情況。做到這一點(diǎn)的前提是,在這個(gè)時(shí)間點(diǎn)上網(wǎng)絡(luò)中所有原始幀和 復(fù)制幀都已經(jīng)得到了傳輸,否則屏蔽的取消會(huì)再次導(dǎo)致循環(huán)幀的流動(dòng)。
根據(jù)本發(fā)明的又一優(yōu)選實(shí)施方式,可以為冗余幀配置周期編碼。該周期 編碼在向網(wǎng)絡(luò)中輸入幀的時(shí)間點(diǎn)給定了所述通信周期。
根據(jù)本發(fā)明的又一優(yōu)選實(shí)施方式,借助于CRC值就可以檢查第一幀是 否存在誤差;而只有當(dāng)該幀存在故障且周期編碼與當(dāng)前的通信周期不匹配 時(shí),第一幀才即不被轉(zhuǎn)送到本地系統(tǒng),也不會(huì)被轉(zhuǎn)送到該節(jié)點(diǎn)的其他端口以 便于向外發(fā)送。這是為了保證,所有原始幀和復(fù)制幀在循環(huán)結(jié)束時(shí)都得以傳 輸。因此,當(dāng)使用每個(gè)交換機(jī)上接收信號(hào)時(shí),只有在當(dāng)前周期中已經(jīng)輸入的 循環(huán)幀才能得以正確(無CRC錯(cuò)誤)轉(zhuǎn)送。所有其他的循環(huán)幀也在沒有CRC 誤差并得到過濾后進(jìn)行發(fā)送。
根據(jù)本發(fā)明的又一優(yōu)選實(shí)施方式,冗余幀配置有TTL計(jì)時(shí)器("生存時(shí) 間"計(jì)數(shù)器),且在TTL計(jì)時(shí)器的值為零的情況下,第一幀既不能被轉(zhuǎn)送到 本地系統(tǒng),也不能為了向外發(fā)送而被轉(zhuǎn)送到所述節(jié)點(diǎn)的其他端口。原則上, 隨著TTL計(jì)時(shí)器的計(jì)時(shí)完成,遲早會(huì)將盤繞的循環(huán)幀從網(wǎng)絡(luò)中過濾出來。 但是,只要TTL計(jì)時(shí)器沒有完成計(jì)時(shí),循環(huán)幀就會(huì)對(duì)以太網(wǎng)絡(luò)通信造成干 擾。使用TTL計(jì)時(shí)器有可能消弱供應(yīng)商和客戶之間的關(guān)系,進(jìn)而對(duì)工作流 程造成損害。只有使用TTL計(jì)時(shí)器,才能保證在一定的時(shí)間(取決于計(jì)時(shí) 器的初始值)之后"恢復(fù)"網(wǎng)絡(luò)。然而,TTL計(jì)時(shí)器只能被用作"保險(xiǎn)裝置", 在檢測(cè)回應(yīng)的基礎(chǔ)上該計(jì)時(shí)器就不應(yīng)當(dāng)再運(yùn)轉(zhuǎn)。但是,即使在相鄰的以太網(wǎng) 絡(luò)接口之間進(jìn)行回應(yīng)監(jiān)測(cè),循環(huán)幀也不會(huì)消除,或者使用環(huán)端口上的屏蔽設(shè) 備也無法將循環(huán)幀過濾掉,然后循環(huán)幀會(huì)發(fā)生盤繞以導(dǎo)致整個(gè)網(wǎng)絡(luò)持續(xù)溢 出。有用的數(shù)據(jù)或管理通信在小范圍內(nèi)仍然有效,也可能完全無效。在這種情況下(不使用TTL計(jì)時(shí)器),只有重新啟動(dòng)系統(tǒng)才是"修復(fù)"網(wǎng)絡(luò)的唯一 辦法,進(jìn)而才能將盤繞的循環(huán)幀過濾出來。為了防止這樣的情況發(fā)生,應(yīng)當(dāng)
將TTL計(jì)時(shí)器用作其他的機(jī)制(例如故障回復(fù)結(jié)構(gòu)),該機(jī)制可以在TTL計(jì) 時(shí)器計(jì)時(shí)完成之后消除每個(gè)盤繞的循環(huán)幀。TTL計(jì)時(shí)器由每個(gè)循環(huán)幀的TTL 域支持。例如,循環(huán)幀上的TTL計(jì)時(shí)器為8位數(shù)據(jù)域(0-255),并且由輸入 節(jié)點(diǎn)將其設(shè)為一個(gè)固定值。
根據(jù)本發(fā)明的又一優(yōu)選實(shí)施方式,第一幀的TTL計(jì)時(shí)器在第一幀接收 的過程中會(huì)減1?;赥TL計(jì)時(shí)器已經(jīng)定義的值域,欲通過的交換機(jī)(節(jié)點(diǎn)) 的最大值一般可以是255 (在8位數(shù)據(jù)域內(nèi))。
根據(jù)本發(fā)明的又一優(yōu)選實(shí)施方式,如果所述網(wǎng)絡(luò)節(jié)點(diǎn)在多于兩個(gè)的端口 上與所述網(wǎng)絡(luò)中另外的網(wǎng)絡(luò)節(jié)點(diǎn)相連,則第一幀的TTL計(jì)時(shí)器在第一幀接 收的過程中減l。這涉及到耦合交換機(jī),其除了與"本身的"網(wǎng)絡(luò)環(huán)的連接 之外,還與例如相鄰的網(wǎng)絡(luò)環(huán)相連,也就是說,TTL計(jì)時(shí)器只有在耦合交換 機(jī)上被接收的情況下才會(huì)減1。因?yàn)閺妮斎氕h(huán)到目標(biāo)環(huán)之間的耦合節(jié)點(diǎn)的數(shù) 量是可以計(jì)數(shù)的,并且該數(shù)值可以作為TTL值被錄入到循環(huán)幀,所以在精 確了解網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的情況下,可以在輸入過程中對(duì)精確的TTL值進(jìn)行調(diào) 節(jié)。因此,盤繞的循環(huán)幀可以實(shí)現(xiàn)快速的過濾。
下文中將用附圖中描述的實(shí)施例來更加仔細(xì)地對(duì)本發(fā)明進(jìn)行描述和講
解,其中
圖1為接收兩個(gè)幀的時(shí)候的網(wǎng)絡(luò)節(jié)點(diǎn);
圖2為接收回應(yīng)幀時(shí)候的端口;以及
圖3為兩個(gè)多重冗余耦合網(wǎng)絡(luò)環(huán)。
具體實(shí)施方式
圖1中展示了帶有本地系統(tǒng)13 (或者本地API "應(yīng)用程序編程接口")
的網(wǎng)絡(luò)節(jié)點(diǎn)6以及兩個(gè)端口 7、 8。兩個(gè)端口7、 8中每一個(gè)都包括一個(gè)發(fā)送 設(shè)備9和一個(gè)接收設(shè)備10,發(fā)送設(shè)備9帶有一個(gè)信號(hào)發(fā)送列表清單11,而 接收設(shè)備10帶有一個(gè)接收存儲(chǔ)器12。兩個(gè)端口 7、 8的接收設(shè)備10分別接 收幀l 、 2,其中兩個(gè)幀1 、 2至少包括一個(gè)MAC源地址3、 一個(gè)幀ID 4和 一個(gè)CRC值5。 一旦接收到MAC源地址3和幀ID 4,接收端口 7、 8各自 的信號(hào)發(fā)送列表清單中就會(huì)搜索所述的幀l、 2。端口7、 8的所有發(fā)送任務(wù) 都要在信號(hào)發(fā)送列表清單中按照順序執(zhí)行,并檢查這些任務(wù)在MAC源地址 3和幀ID 4等方面的匹配性。如果接收到的循環(huán)幀l、 2與信號(hào)發(fā)送列表清 單11中待發(fā)送的幀不匹配,則接收到的循環(huán)幀1、 2尚未經(jīng)由另一個(gè)端口 8 或7以幀的復(fù)制品的形式抵達(dá),且因此可以被傳送至所有其他端口 8、 7或 者由本地系統(tǒng)13接收,又或者兩者同時(shí)接收,同時(shí)接收就要取決于幀是單 播幀、多播幀還是廣播幀的情況。
在圖l所所示的例子中,在端口7接收幀1之前,幀2應(yīng)當(dāng)?shù)诌_(dá)端口8 的接收設(shè)備10?,F(xiàn)在將從端口 7接收到的幀1的角度對(duì)本發(fā)明的處理方法進(jìn) 行說明(本方法亦可用于端口 8接收到的幀2)。其中,幀1指的是第一端口 7接收到的第一幀1 (所謂"原件"),幀2指的是被另一個(gè)端口 8接收到的 第二幀2 (所謂"復(fù)制品")。在第一端口 7接收了第一幀1的MAC源地址3 和幀ID4之后,應(yīng)當(dāng)在第一端口 7的信號(hào)發(fā)送列表清單11中搜索具有同樣 的MAC源地址3和幀ID 4的第二循環(huán)幀2。因?yàn)閺?fù)制品2已經(jīng)由另一個(gè)端 口 8接收且已經(jīng)被鏈入本身的端口 7以便于傳送,所以第二幀2也列入了第 一端口 7的信號(hào)發(fā)送列表清單11中。因此,第一幀1即不能被傳送至本地 系統(tǒng)13,也不能被傳送至本節(jié)點(diǎn)6的另一個(gè)端口 8以便于向外發(fā)送。同理, 第二幀2也不能被這樣傳送。也就是說,復(fù)制品2在端口 7的信號(hào)發(fā)送列表 清單11中被置為"無效"。結(jié)果是,兩個(gè)幀1、 2互相抵消,即成功地將它 們從網(wǎng)絡(luò)中過濾了出來。圖2顯示的是網(wǎng)絡(luò)節(jié)點(diǎn)6的端口 8,該節(jié)點(diǎn)與相鄰的網(wǎng)絡(luò)節(jié)點(diǎn)18的端口 19相連。在端口特定的回應(yīng)列表清單15中,經(jīng)無誤差發(fā)送的循環(huán)幀存儲(chǔ)了 MAC源地址3、幀ID4以及發(fā)送時(shí)間點(diǎn)14。如果循環(huán)幀在發(fā)送的過程中存 在CRC錯(cuò)誤,則該幀就無法列入回應(yīng)列表清單。對(duì)于每一個(gè)正確接收到的 循環(huán)幀,接收節(jié)點(diǎn)18生成一個(gè)回應(yīng)幀17。在節(jié)點(diǎn)18上,回應(yīng)幀17對(duì)于未 正確接收的循環(huán)幀將不做回復(fù)?;貞?yīng)幀17至少包含了用于比較所必要的幀 信息,例如其可以只包括帶有MAC目標(biāo)地址、MAC源地址3、類型屬性和 幀ID 4的無數(shù)據(jù)字節(jié)的幀頭。因此,幀的長(zhǎng)度是固定的且限于24或者28 字節(jié)(包括CRC)。為了盡可能直接地向發(fā)送節(jié)點(diǎn)6重新發(fā)送回應(yīng)幀17,這 些回應(yīng)幀將以最高優(yōu)先權(quán)加入到節(jié)點(diǎn)18的信號(hào)發(fā)送列表清單11中。因此, 只有正在運(yùn)行的幀才會(huì)延遲回應(yīng)幀17。
當(dāng)回應(yīng)幀17抵達(dá)節(jié)點(diǎn)6,則在原則上該回應(yīng)幀不會(huì)被傳下去,且將使用 回應(yīng)列表清單15內(nèi)的條目對(duì)MAC源地址3和幀ID 4進(jìn)行比較。成功匹配 所述列表清單表明節(jié)點(diǎn)6和18之間的路徑不存在錯(cuò)誤(沒有中斷或者干擾)。 如果節(jié)點(diǎn)6借助于時(shí)間檢測(cè)裝置16識(shí)別出回應(yīng)列表清單15中存儲(chǔ)的發(fā)送時(shí) 間點(diǎn)14與實(shí)際上的時(shí)間點(diǎn)之間的回應(yīng)時(shí)間已經(jīng)過去,而相應(yīng)的回應(yīng)幀17沒 有抵達(dá),則節(jié)點(diǎn)6同18之間的路徑(去線或者回線)有故障。在這種情況 下,在相應(yīng)的端口8上,所有緊接著的循環(huán)幀(在發(fā)送設(shè)備上和在接收設(shè)備 上)的傳送工作會(huì)中斷到通信周期的結(jié)束。然而,對(duì)于用于所有緊接著的循 環(huán)幀的回應(yīng)信息的幀的接收保持穩(wěn)定。這與所描述的情況準(zhǔn)確匹配傳送被 中斷(見圖左),而回應(yīng)幀17將由節(jié)點(diǎn)18發(fā)送至節(jié)點(diǎn)6;本地的路徑監(jiān)測(cè)裝
置從而繼續(xù)運(yùn)轉(zhuǎn)。
由于所述原始幀盤進(jìn)入節(jié)點(diǎn)6的屏蔽端口 8進(jìn)而不會(huì)得到傳送,直到周 期結(jié)束的傳送中斷("傳送屏蔽裝置"處于工作狀態(tài))可以防止反向運(yùn)行的 復(fù)制幀循環(huán)通過目前缺失的原始幀。經(jīng)由一個(gè)其他節(jié)點(diǎn)18輸入的循環(huán)幀從 兩個(gè)方面運(yùn)行在節(jié)點(diǎn)6上的傳送屏蔽裝置上,并于此處在接收端口 8上得到過濾或者在發(fā)送端口上不進(jìn)行傳送。
圖3描述了兩個(gè)網(wǎng)絡(luò)環(huán)20、 21的多重冗余連接。必須實(shí)現(xiàn)該連接,這
是為了在每個(gè)環(huán)20、 21上的耦合交換機(jī)KS1—KS4中的一個(gè)發(fā)生故障的情 況下仍然能夠保證網(wǎng)絡(luò)的可用性。環(huán)20包括交換機(jī)(網(wǎng)絡(luò)節(jié)點(diǎn))SW1—SW4 以及耦合交換機(jī)KS1和KS2,其中環(huán)21由交換機(jī)SW5—SW8以及耦合交 換機(jī)KS3和KS4構(gòu)成。耦合交換機(jī)KS1—KS4中每一個(gè)交換機(jī)都兩兩相連, 以實(shí)現(xiàn)兩個(gè)網(wǎng)絡(luò)環(huán)20、 21之間的多重冗余連接。隸屬于交換機(jī)SW1—SW8 和耦合交換機(jī)KS1—KS4的網(wǎng)絡(luò)的端口被特別視為冗余端口即R端口 ,所述 端口只在圖中以R0—R3的形式為耦合交換機(jī)KS1—KS4示出。
經(jīng)過環(huán)20中的網(wǎng)絡(luò)節(jié)點(diǎn)SW1,循環(huán)幀以原始幀(劃成實(shí)線的矢量)和 復(fù)制幀(劃成虛線的矢量)的形式向兩個(gè)方向輸入和輸出,該循環(huán)幀的傳送 目標(biāo)是環(huán)21中的節(jié)點(diǎn)SW5。原始幀分別經(jīng)由耦合交換機(jī)KS1和KS2輸出, 隨后在交換機(jī)SW4中與環(huán)20中的復(fù)制幀一起消亡。之后,被輸出的原始幀 再次在環(huán)21上分別經(jīng)過兩個(gè)R端口 RO和Rl冗余性地輸入到了兩個(gè)耦合交 換機(jī)KS3和KS4上。在此過程中,兩個(gè)經(jīng)由耦合交換機(jī)KS3的端口 Rl和 耦合交換機(jī)KS4的端口 RO輸入的幀相互抵消,以至于只剩下了經(jīng)由耦合交 換機(jī)KS3的端口 RO和耦合交換機(jī)KS4的端口 Rl輸入的幀,因此這些幀再 次有效地組成了原始幀和復(fù)制幀。這些幀以相反方向穿過環(huán)21且兩個(gè)幀都 被網(wǎng)絡(luò)節(jié)點(diǎn)SW5接收到,然而在節(jié)點(diǎn)SW5上所述兩個(gè)幀中的一個(gè)被消滅(通 過幀的抵消),以至于只有一個(gè)幀被本地系統(tǒng)接收到。
在耦合交換機(jī)KS1—KS4之間運(yùn)行的幀的生命歷程可以更精確地描述 如下KS1首先包含了由交換機(jī)SW1輸入的原始幀,且在下一步驟中,KS1 將這個(gè)幀發(fā)送至所有其他的耦合交換機(jī)KS2—KS4。在再下一步驟中,耦合 交換機(jī)KS2—KS4依次將各自接收端口接收到的幀發(fā)送至所有其他R端口 。 因此,如前文所述,不只是KS3和KS4之間的幀會(huì)互相抵消,KS2和KS3 之間以及KS2和KS4之間的幀也會(huì)相互抵消。同時(shí),各個(gè)冗余幀在耦合交換機(jī)KS2—KS4之間的路徑上相遇。但是如同前述說明中解釋過的那樣,這 沒有對(duì)100MBit以太網(wǎng)絡(luò)發(fā)揮任何作用,因?yàn)槊恳粋€(gè)幀在相關(guān)的復(fù)制幀被接 收到的時(shí)候都還沒有被完全發(fā)送。也就是說,這些幀仍然是位于信號(hào)發(fā)送列 表清單內(nèi),因而會(huì)發(fā)生相互抵消。在以太網(wǎng)絡(luò)是lGBit的情況下,在至少具 有兩個(gè)條目的信號(hào)發(fā)送列表清單中應(yīng)當(dāng)使用額外的緩沖存儲(chǔ)器以防止由完 全發(fā)送造成的幀的消失,以在此時(shí)保證幀的抵消。這種額外的緩沖存儲(chǔ)器也 可以是上述的回應(yīng)列表清單,其包含了所有必要的幀信息,如MAC源地址 和幀ID。因此,采用依照本發(fā)明的處理方法對(duì)冗余幀進(jìn)行過濾,即使在與 鄰近的網(wǎng)絡(luò)環(huán)21存在多重冗余連接,也可以只將網(wǎng)絡(luò)環(huán)20中被冗余傳輸?shù)?幀一次性、冗余性地傳輸至網(wǎng)絡(luò)環(huán)21中。
綜上所述,本發(fā)明涉及一種用于對(duì)網(wǎng)絡(luò)節(jié)點(diǎn)中的冗余幀進(jìn)行過濾的方 法,所述冗余幀具有至少一個(gè)MAC源地址、 一個(gè)幀ID和一個(gè)CRC值,所 述網(wǎng)絡(luò)節(jié)點(diǎn)至少包括兩個(gè)端口,而每個(gè)端口均包括一個(gè)信號(hào)發(fā)送設(shè)備和一個(gè) 信號(hào)接收設(shè)備,其中所述信號(hào)發(fā)送設(shè)備包含一個(gè)信號(hào)發(fā)送列表清單,待發(fā)送 的幀儲(chǔ)存于所述列表清單中,而所述信號(hào)接收設(shè)備包括一個(gè)接收存儲(chǔ)器,用 于存儲(chǔ)接收到的幀。根據(jù)上述方法,為了對(duì)網(wǎng)絡(luò)的網(wǎng)絡(luò)節(jié)點(diǎn)中的冗余幀進(jìn)行 過濾,則應(yīng)當(dāng)由所述兩個(gè)端口中的一個(gè)端口接收第一幀,且在接收到所述端 口的信號(hào)發(fā)送列表清單中的第一幀的MAC源地址和幀ID之后,應(yīng)當(dāng)搜尋 MAC源地址及幀ID都與第一幀相同的第二幀,且如果存在第二幀,則第一 幀就不會(huì)被傳送至本地系統(tǒng),也不會(huì)被轉(zhuǎn)送以便于發(fā)送至所述節(jié)點(diǎn)的其他端 口,同時(shí)也不會(huì)發(fā)送所述第二幀。
權(quán)利要求
1.一種用于對(duì)一個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)(6、18、SW1-SW8、KS1-KS4)中的冗余幀(1、2)進(jìn)行過濾的方法,所述冗余幀具有至少一個(gè)MAC源地址(3)、一個(gè)幀ID(4)和一個(gè)CRC值(5),所述網(wǎng)絡(luò)節(jié)點(diǎn)包括至少兩個(gè)端口(7、8、19、R0-R3),其中每個(gè)端口均包括一個(gè)信號(hào)發(fā)送設(shè)備(9)和一個(gè)信號(hào)接收設(shè)備(10),其中所述信號(hào)發(fā)送設(shè)備(9)具有一個(gè)信號(hào)發(fā)送列表清單(11),待傳輸?shù)膸瑑?chǔ)存于所述列表清單中,而所述信號(hào)接收設(shè)備(10)具有一個(gè)接收存儲(chǔ)器(12),用于存儲(chǔ)一個(gè)接收到的幀,其特征在于,一個(gè)第一幀(1)由所述至少兩個(gè)端口(7、8、19、R0-R3)中的一個(gè)端口接收,在接收到所述端口(7、8、19、R0-R3)的信號(hào)發(fā)送列表清單(11)中第一幀(1)的MAC源地址(3)和幀ID(4)之后,會(huì)搜尋一個(gè)與所述MAC源地址(3)和所述幀ID(4)相同的第二幀(2),以及如果存在所述的第二幀(2),就不會(huì)將所述第一幀(1)轉(zhuǎn)送至一個(gè)本地系統(tǒng)(13),也不會(huì)轉(zhuǎn)送所述幀(1)以發(fā)送到所述節(jié)點(diǎn)(6、18、SW1-SW8、KS1-KS4)的其他端口(7、8、19、R0-R3),且所述第二幀(2)也不會(huì)向外發(fā)送。
2. 根據(jù)權(quán)利要求1所述的方法,其中,借助所述CRC值(5)檢查所述第二幀(2)是否存在錯(cuò)誤,而只有當(dāng) 所述第二幀(2)不存在錯(cuò)誤的情況下,所述第一幀(1)才不會(huì)被轉(zhuǎn)送至一 個(gè)本地系統(tǒng)(13),也不會(huì)被轉(zhuǎn)送以便發(fā)送到所述節(jié)點(diǎn)(6、 18、 SW1—SW8、 KS1—KS4)的其他端口 (7、 8、 19、 R0—R3),和/或在所述第二幀(2)存 在錯(cuò)誤的情況下,所述第二幀(2)不會(huì)向外發(fā)送。
3. 根據(jù)權(quán)利要求1或2所述的方法,其中,借助所述CRC值(5)檢査所述第一幀(1)是否存在錯(cuò)誤,而只有當(dāng)所述第一幀(1)不存在錯(cuò)誤的情況下,所述第二幀(2)才不會(huì)向外發(fā)送, 和/或在所述第一幀(1)存在錯(cuò)誤的情況下,所述第一幀(1)不會(huì)被傳送至一個(gè)本地系統(tǒng)(13),也不被轉(zhuǎn)送以便發(fā)送到所述節(jié)點(diǎn)(6、 18、 SW1—SW8、 KS1—KS4)的其他端口 (7、 8、 19、 R0—R3)。
4. 根據(jù)上述權(quán)利要求中任一項(xiàng)權(quán)利要求所述的方法,其中, 檢查所述第二幀(2)是否被完全存儲(chǔ)于所述信號(hào)發(fā)送列表清單(11)中,而在所述第二幀(2)沒有被完全存儲(chǔ)的情況下,所述第一幀(1)就被 存儲(chǔ)于所述接收存儲(chǔ)器(12)中,直至所述第二幀(2)被完全存儲(chǔ)為止。
5. 根據(jù)上述權(quán)利要求中任一項(xiàng)權(quán)利要求所述的方法,其中, 在不存在所述第二幀(2)的情況下,如果所述第一幀(1)不只是適用于一個(gè)本地系統(tǒng)(13),則所述第一幀(1)應(yīng)當(dāng)被傳送至所述節(jié)點(diǎn)(6、 18、 SW1—SW8、 KS1—KS4)的至少一個(gè)另外的端口 (7、 8、 19、 R0—R3)以 便于向外發(fā)送。
6. 根據(jù)上述權(quán)利要求中任一項(xiàng)權(quán)利要求所述的方法,其中, 在不存在所述第二幀(2)的情況下,如果所述第一幀(1)指定用于一個(gè)本地系統(tǒng)(13),則所述第一幀(1)應(yīng)當(dāng)被轉(zhuǎn)送至所述本地系統(tǒng)(13)。
7. 根據(jù)上述權(quán)利要求中任一項(xiàng)權(quán)利要求所述的方法,其中, 對(duì)綁定到所述網(wǎng)絡(luò)(20、 21)的端口 (R0—R3)進(jìn)行明確地識(shí)別,且在轉(zhuǎn)送所述第一幀(1)至所述節(jié)點(diǎn)(SW1—SW8、 KS1—KS4)的其他端口 (R0—R3)以便于向外發(fā)送時(shí),所述第一幀(1)可以被轉(zhuǎn)送至所有其他經(jīng) 過明確識(shí)別的端口 (R0—R3)以便于向外發(fā)送。
8. 根據(jù)上述權(quán)利要求中任一項(xiàng)權(quán)利要求所述的方法,其中, 至少兩個(gè)最近發(fā)送的幀存儲(chǔ)于所述信號(hào)發(fā)送列表清單(11)中的一個(gè)附加存儲(chǔ)區(qū)。
9. 根據(jù)上述權(quán)利要求中任一項(xiàng)權(quán)利要求所述的方法,其中, 所述發(fā)送設(shè)備(9)將來自一個(gè)無錯(cuò)誤傳輸幀的MAC源地址(3)、幀ID (4)和一個(gè)發(fā)送時(shí)間點(diǎn)(14)登記存入一個(gè)回應(yīng)列表清單(15)中;對(duì)于一個(gè)無故障接收的幀,所述接收設(shè)備(10)會(huì)生成一個(gè)回應(yīng)幀(17), 將所述回應(yīng)幀登記錄入所述發(fā)送設(shè)備(9)的信號(hào)發(fā)送列表清單(11),其中 所述回應(yīng)幀至少包括所述的無故障接收到的幀的MAC源地址(3)和幀ID(4);其中接收到的一個(gè)回應(yīng)幀(17)不再被轉(zhuǎn)送,且其MAC源地址(3)和 幀ID (4)會(huì)與所述回應(yīng)列表清單(15)的條目進(jìn)行比較,如果發(fā)現(xiàn)匹配, 則所述回應(yīng)列表清單(15)中的有關(guān)條目會(huì)被刪除;其中,從所述的一個(gè)幀錄入回應(yīng)列表清單(15)的發(fā)送時(shí)間點(diǎn)(14)起, 一個(gè)回應(yīng)時(shí)間過去之后,所述接收存儲(chǔ)器(12)接收到的幀向所述的其他端 口 (7、 8、 19、 R0—R3)的轉(zhuǎn)送工作將被中斷,且來自所述其他端口 (7、 8、 19、 R0—R3)的待發(fā)送幀向所述信號(hào)發(fā)送列表清單(11)的轉(zhuǎn)送工作也 將被中斷。
10. 根據(jù)權(quán)利要求9所述的方法,其中,將由所述接收設(shè)備(10)生成的回應(yīng)幀(17)錄入所述發(fā)送設(shè)備(9) 的信號(hào)發(fā)送列表清單(11)并賦以所述的最高優(yōu)先權(quán)。
11. 根據(jù)權(quán)利要求IO所述的方法,其中,將所述回應(yīng)列表清單(15)中存儲(chǔ)一個(gè)條目與接收所述的相關(guān)回應(yīng)幀 (17)這兩項(xiàng)工作之間的最大流逝時(shí)間選定為回應(yīng)時(shí)間。
12. 根據(jù)權(quán)利要求ll所述的方法,其中,對(duì)于一個(gè)lOOMBit以太網(wǎng)絡(luò),將所述的最后20個(gè)條目存儲(chǔ)到所述回應(yīng) 列表清單(15)中;對(duì)于一個(gè)lGBit以太網(wǎng)絡(luò),將所述的最后22個(gè)條目存 儲(chǔ)到所述回應(yīng)列表清單(15)中。
13. 根據(jù)權(quán)利要求9至12中任一項(xiàng)權(quán)利要求所述的方法,其中, 在所述的一個(gè)當(dāng)前通信周期的末期取消對(duì)所述轉(zhuǎn)送的中斷。
14. 根據(jù)上述權(quán)利要求中任一項(xiàng)權(quán)利要求所述的方法,其中,為所述冗余幀(1、 2)配置一個(gè)周期編碼,所述周期編碼規(guī)定了所述的通信周期,該通信周期處于所述的將所述幀(1、 2)輸入所述網(wǎng)絡(luò)(20、 21) 的時(shí)間點(diǎn)上。
15. 根據(jù)權(quán)利要求14所述的方法,其中,借助所述CRC值(5)檢査所述第一幀(1)是否存在錯(cuò)誤,且只有當(dāng) 所述幀(1)存在錯(cuò)誤且所述周期編碼與當(dāng)前的通信周期不匹配時(shí),所述第 -一幀(1)才即不被轉(zhuǎn)送至一個(gè)本地系統(tǒng)(13),又不會(huì)被轉(zhuǎn)送以便發(fā)送至所 述節(jié)點(diǎn)(6、 18、 SW1—SW8、 KS1—KS4)的其他端口 (7、 8、 19、 R0— R3)用于向外發(fā)送。
16. 根據(jù)上述權(quán)利要求中任一項(xiàng)權(quán)利要求所述的方法,其中, 所述冗余幀(1、 2)配有一個(gè)TTL ("生存時(shí)間")計(jì)時(shí)器,且在所述TTL計(jì)時(shí)器的值為零的情況下,所述第一幀(1)即不會(huì)被轉(zhuǎn)送至一個(gè)本地 系統(tǒng)(13),也不會(huì)被轉(zhuǎn)送以便發(fā)送至所述節(jié)點(diǎn)(6、 18、 SW1—SW8、 KS1— KS4)的其他端口 (7、 8、 19、 R0—R3)。
17. 根據(jù)權(quán)利要求16所述的方法,其中,所述第一幀(1)的TTL計(jì)時(shí)器在所述第一幀(1)被接收的過程中會(huì) 減小1 。
18. 根據(jù)權(quán)利要求16所述的方法,其中,如果所述網(wǎng)絡(luò)節(jié)點(diǎn)(KS1—KS4)在端口 (R0—R3)中多于兩個(gè)的端口 上與所述網(wǎng)絡(luò)(20、 21)中另外的網(wǎng)絡(luò)節(jié)點(diǎn)(SW1—SW8、 KS1—KS4)相 連,則所述第一幀(1)的TTL計(jì)時(shí)器在所述第一幀(1)被接收的過程中 會(huì)減小1 。
19. 一種網(wǎng)絡(luò)節(jié)點(diǎn)(6、 18、 SW1—SW8、 KS1—KS4),所述網(wǎng)絡(luò)節(jié)點(diǎn) 包括至少兩個(gè)端口 (7、 8、 19、 R0—R3),每個(gè)端口均包括一個(gè)信號(hào)發(fā)送設(shè) 備(9)和一個(gè)信號(hào)接收設(shè)備(10),其中所述信號(hào)發(fā)送設(shè)備(9)具有一個(gè) 信號(hào)發(fā)送列表清單(11),待傳輸?shù)膸瑑?chǔ)存于所述列表清單中,而所述信號(hào)接收設(shè)備(10)具有一個(gè)接收存儲(chǔ)器(12),用于存儲(chǔ)一個(gè)接收到的幀(1、 2),其特征在于,所述網(wǎng)絡(luò)節(jié)點(diǎn)(6、 18、 SW1—SW8、 KS1—KS4)包含了用于實(shí)施根據(jù) 權(quán)利要求1至18中任一項(xiàng)權(quán)利要求所述的方法的裝置。
全文摘要
本發(fā)明涉及一種用于對(duì)網(wǎng)絡(luò)節(jié)點(diǎn)中的冗余幀進(jìn)行過濾的方法,所述冗余幀具有至少一個(gè)MAC源地址、一個(gè)幀ID和一個(gè)CRC值,所述網(wǎng)絡(luò)節(jié)點(diǎn)至少包括兩個(gè)端口,其中每個(gè)端口均包括一個(gè)信號(hào)發(fā)送設(shè)備和一個(gè)信號(hào)接收設(shè)備。所述信號(hào)發(fā)送設(shè)備具有一個(gè)信號(hào)發(fā)送列表清單,待傳輸?shù)膸瑑?chǔ)存于該列表清單中;而所述信號(hào)接收設(shè)備具有一個(gè)接收存儲(chǔ)器,用于存儲(chǔ)接收到的幀。根據(jù)所述方法,為了對(duì)網(wǎng)絡(luò)的網(wǎng)絡(luò)節(jié)點(diǎn)中的冗余幀進(jìn)行過濾,則應(yīng)當(dāng)由所述至少兩個(gè)端口中的一個(gè)端口接收第一幀,且在接收到所述端口的信號(hào)發(fā)送列表清單中的第一幀的MAC源地址和幀ID之后,應(yīng)當(dāng)搜尋MAC源地址及幀ID都與所述第一幀相同的第二幀。如果存在所述第二幀,則所述第一幀就不會(huì)被傳送至本地系統(tǒng),也不會(huì)被轉(zhuǎn)送以便于發(fā)送至所述節(jié)點(diǎn)的其他端口,同時(shí)也不會(huì)發(fā)送所述第二幀。
文檔編號(hào)H04L29/14GK101611615SQ200780051762
公開日2009年12月23日 申請(qǐng)日期2007年3月2日 優(yōu)先權(quán)日2007年3月2日
發(fā)明者迪特爾·布呂克恩爾 申請(qǐng)人:西門子公司