以太網(wǎng)設(shè)備的發(fā)展過(guò)程及工業(yè)以太網(wǎng)冗余原理
掃描二維碼
隨時(shí)隨地手機(jī)看文章
由于工業(yè)環(huán)境對(duì)工業(yè)控制網(wǎng)絡(luò)可靠性能的超高要求,工業(yè)以太網(wǎng)的冗余功能應(yīng)運(yùn)而生。從快速生成樹冗余(RSTP)、環(huán)網(wǎng)冗余(RapidRing)到主干冗余(Trunking),都有各自不同的優(yōu)勢(shì)和特點(diǎn),控制工程師們可以根據(jù)自己的要求進(jìn)行選擇。
以太網(wǎng)設(shè)備的發(fā)展過(guò)程1. 集線器
相信絕大多數(shù)人都熟悉集線器。很多人使用這種簡(jiǎn)易設(shè)備去連接各種基于以太網(wǎng)的設(shè)備,如個(gè)人計(jì)算機(jī)、可編程控制器等。集線器接收到來(lái)自某一端口的消息,再將消息廣播到其他所有的端口。
對(duì)來(lái)自任一端口的每一條消息,集線器都會(huì)把它傳遞到其他的各個(gè)端口。在消息傳遞方面,集線器是低速低效的,可能會(huì)出現(xiàn)消息沖突。然而,集線器的使用非常簡(jiǎn)單——實(shí)際上可以即插即用。集線器沒(méi)有任何華而不實(shí)的功能,也沒(méi)有冗余功能。
2. 非管理型交換機(jī)
集線器的發(fā)展產(chǎn)生了一種叫非管理型交換機(jī)的設(shè)備。它能實(shí)現(xiàn)消息從一個(gè)端口到另一個(gè)端口的路由功能,相對(duì)集線器更加智能化。非管理型交換機(jī)能自動(dòng)探測(cè)每臺(tái)網(wǎng)絡(luò)設(shè)備的網(wǎng)絡(luò)速度。另外,它具有一種稱為“MAC地址表”的功能,能識(shí)別和記憶網(wǎng)絡(luò)中的設(shè)備。
換言之,如果端口2收到一條帶有特定識(shí)別碼的消息,此后交換機(jī)就會(huì)將所有具有那種特定識(shí)別碼的消息發(fā)送到端口2。這種智能避免了消息沖突,提高了傳輸性能,相對(duì)集線器是一次巨大的改進(jìn)。然而,非管理型交換機(jī)不能實(shí)現(xiàn)任何形式的通信檢測(cè)和冗余配置功能。
3. 管理型交換機(jī)
以太網(wǎng)連接設(shè)備發(fā)展的下一代產(chǎn)品是管理型交換機(jī)。相對(duì)集線器和非管理型交換機(jī),管理型交換機(jī)擁有更多更復(fù)雜的功能,價(jià)格也高出許多——通常是一臺(tái)非管理型交換機(jī)的3~4倍。管理型交換機(jī)提供了更多的功能,通常可以通過(guò)基于網(wǎng)絡(luò)的接口實(shí)現(xiàn)完全配置。它可以自動(dòng)與網(wǎng)絡(luò)設(shè)備交互,用戶也可以手動(dòng)配置每個(gè)端口的網(wǎng)速和流量控制。一些老設(shè)備可能無(wú)法使用自動(dòng)交互功能,因此手動(dòng)配置功能是必不可缺的。
絕大多數(shù)管理型交換機(jī)通常也提供一些高級(jí)功能,如用于遠(yuǎn)程監(jiān)視和配置的SNMP(簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議),用于診斷的端口映射,用于網(wǎng)絡(luò)設(shè)備成組的VLAN(虛擬局域網(wǎng)),用于確保優(yōu)先級(jí)消息通過(guò)的優(yōu)先級(jí)排列功能等。利用管理型交換機(jī),可以組建冗余網(wǎng)絡(luò)。使用環(huán)形拓?fù)浣Y(jié)構(gòu),管理型交換機(jī)可以組成環(huán)形網(wǎng)絡(luò)。每臺(tái)管理型交換機(jī)能自動(dòng)判斷***傳輸路徑和備用路徑,當(dāng)優(yōu)先路徑中斷時(shí)自動(dòng)阻斷備用路徑。
4. 管理型冗余交換機(jī)
高級(jí)的管理型冗余交換機(jī)提供了一些特殊的功能,特別是針對(duì)有穩(wěn)定性、安全性方面嚴(yán)格要求的冗余系統(tǒng)進(jìn)行了設(shè)計(jì)上的優(yōu)化。構(gòu)建冗余網(wǎng)絡(luò)的主要方式主要有以下幾種,STP、RSTP;環(huán)網(wǎng)冗余RapidRing
(1) STP及RSTP
STP(Spanning Tree Protocol,生成樹算法,IEEE 802.1D),是一個(gè)鏈路層協(xié)議,提供路徑冗余和阻止網(wǎng)絡(luò)循環(huán)發(fā)生。它強(qiáng)令備用數(shù)據(jù)路徑為阻塞(blocked)狀態(tài)。如果一條路徑有故障,該拓?fù)浣Y(jié)構(gòu)能借助激活備用路徑重新配置及鏈路重構(gòu)。網(wǎng)絡(luò)中斷恢復(fù)時(shí)間為30~60s之間。RSTP(快速生成樹算法,IEEE 802.1w)作為STP的升級(jí),將網(wǎng)絡(luò)中斷恢復(fù)時(shí)間,縮短到1~2s。生成樹算法網(wǎng)絡(luò)結(jié)構(gòu)靈活,但也存在恢復(fù)速度慢的缺點(diǎn)。
(2) 環(huán)網(wǎng)冗余RapidRing
為了能滿足工業(yè)控制網(wǎng)絡(luò)實(shí)時(shí)性強(qiáng)的特點(diǎn),RapidRing孕育而生。這是在以太網(wǎng)網(wǎng)絡(luò)中使用環(huán)網(wǎng)提供高速冗余的一種技術(shù)。這個(gè)技術(shù)可以使網(wǎng)絡(luò)在中斷后300ms之內(nèi)自行恢復(fù)。并可以通過(guò)交換機(jī)的出錯(cuò)繼電連接、狀態(tài)顯示燈和SNMP設(shè)置等方法來(lái)提醒用戶出現(xiàn)的斷網(wǎng)現(xiàn)象。這些都可以幫助診斷環(huán)網(wǎng)什么地方出現(xiàn)斷開。
RapidRing也支持兩個(gè)連接在一起的環(huán)網(wǎng),使網(wǎng)絡(luò)拓樸更為靈活多樣。兩個(gè)環(huán)通過(guò)雙通道連接,這些連接可以是冗余的,避免單個(gè)線纜出錯(cuò)帶來(lái)的問(wèn)題。
(3) 主干冗余Trunking
將不同交換機(jī)的多個(gè)端口設(shè)置為Trunking主干端口,并建立連接,則這些交換機(jī)之間可以形成一個(gè)高速的骨干鏈接。不但成倍的提高了骨干鏈接的網(wǎng)絡(luò)帶寬,增強(qiáng)了網(wǎng)絡(luò)吞吐量,而且還還提供了另外一個(gè)功能,即冗余功能。
如果網(wǎng)絡(luò)中的骨干鏈接產(chǎn)生斷線等問(wèn)題,那么網(wǎng)絡(luò)中的數(shù)據(jù)會(huì)通過(guò)剩下的鏈接進(jìn)行傳遞,保證網(wǎng)絡(luò)的通訊正常。Trunking主干網(wǎng)絡(luò)采用總線型和星型網(wǎng)絡(luò)結(jié)構(gòu),理論通訊距離可以***延長(zhǎng)。該技術(shù)由于采用了硬件偵測(cè)及數(shù)據(jù)平衡的方法,所以使網(wǎng)絡(luò)中斷恢復(fù)時(shí)間達(dá)到了新的高度,一般恢復(fù)時(shí)間在10ms以下。
工業(yè)以太網(wǎng)冗余原理在一個(gè)橋接的局域網(wǎng)里,為了增強(qiáng)可靠性控制工程網(wǎng)版權(quán)所有,必然要建立一個(gè)冗余的路徑,網(wǎng)段會(huì)用冗余的網(wǎng)橋連接。但是,在一個(gè)透明橋橋接的網(wǎng)絡(luò)里,存在冗余的路徑就能建立一個(gè)橋回路,橋回路對(duì)于一個(gè)局域網(wǎng)是致命的。它會(huì)帶來(lái)如下問(wèn)題:
A.廣播風(fēng)暴
B.同一幀的多份拷貝
C.不穩(wěn)定的MAC地址表
因此,在交換網(wǎng)絡(luò)中必須有一個(gè)機(jī)制來(lái)阻止回路。
2、生成樹協(xié)議
生成樹協(xié)議就是IT界中常用的機(jī)制。生成樹協(xié)議是一種橋嵌套協(xié)議,在IEEE 802.1d規(guī)范里定義,可以用來(lái)消除橋回路。它的工作原理是這樣的:生成樹協(xié)議定義了一個(gè)數(shù)據(jù)包,叫做橋協(xié)議數(shù)據(jù)單元BPDU(Bridge Protocol Data Unit)。網(wǎng)橋用BPDU來(lái)相互通信,并用BPDU的相關(guān)機(jī)能來(lái)動(dòng)態(tài)選擇根橋和備份橋。但是因?yàn)閺闹行臉虻饺魏尉W(wǎng)段只有一個(gè)路徑存在,所以橋回路被消除。
在一個(gè)生成樹環(huán)境里,橋不會(huì)立即開始轉(zhuǎn)發(fā)功能,它們必須首先選擇一個(gè)橋?yàn)楦鶚?,然后建立一個(gè)指定路徑。在一個(gè)網(wǎng)絡(luò)里邊擁有最低橋ID的將變成一個(gè)根橋,全部的生成樹網(wǎng)絡(luò)里面只有一個(gè)根橋。根橋的主要職責(zé)是定期發(fā)送配置信息,然后這種配置信息將會(huì)被所有的指定橋發(fā)送。這在生成樹網(wǎng)絡(luò)里面是一種機(jī)制,一旦網(wǎng)絡(luò)結(jié)構(gòu)發(fā)生變化,網(wǎng)絡(luò)狀態(tài)將會(huì)重新配置。
當(dāng)選定根橋之后,在轉(zhuǎn)發(fā)數(shù)據(jù)包之前,它們必須決定每一個(gè)網(wǎng)段的指定橋,運(yùn)用生成樹的這種算法,根橋每隔2秒鐘從它所有的端口發(fā)送BPDU包控制工程網(wǎng)版權(quán)所有,BPDU包被所有的橋從它們的根端口復(fù)制過(guò)來(lái),根端口是接根橋的那些橋端口。BPDU包括的信息叫做端口的COST,網(wǎng)絡(luò)管理員分配端口的COST到所有的橋端口,當(dāng)根橋發(fā)送BPDU的時(shí)候,根橋設(shè)置它的端口值為零。然后沿著這條路徑,下一個(gè)橋增加它的配置端口COST為一個(gè)值,這個(gè)值是它接收和轉(zhuǎn)發(fā)數(shù)據(jù)包到下一個(gè)網(wǎng)段的值。這樣每一個(gè)橋都增加它的端口的COST值為它所接收的BPDU的包的COST值,所有的橋都檢測(cè)它們的端口的COST值,擁有最低端口的COST值的橋就變?yōu)榱酥付ǖ臉?。擁有比較高端口COST值的橋置它的端口進(jìn)入阻塞狀態(tài),變?yōu)榱藗浞輼?。在阻塞狀態(tài),一個(gè)橋停止了轉(zhuǎn)發(fā),但是它會(huì)繼續(xù)接收和處理BPDU數(shù)據(jù)包。
IEEE 802.1D規(guī)范包括了生成樹算法(Spanning Tree Algorithm,STA),這是一種確保轉(zhuǎn)發(fā)循環(huán)永遠(yuǎn)不會(huì)發(fā)生的機(jī)制。STA使用網(wǎng)橋協(xié)議數(shù)據(jù)單元(Bridge Protocol Data Units,BPDU),自動(dòng)配置網(wǎng)橋上處于轉(zhuǎn)發(fā)或阻塞狀態(tài)的獨(dú)立端口。BPDU是網(wǎng)橋發(fā)送到一個(gè)已保存的多播MAC地址(對(duì)于以太網(wǎng),這個(gè)地址是01-80-C2-00-00-00)的消息,所有透明網(wǎng)橋都會(huì)偵聽該地址。在阻塞狀態(tài)下,端口不會(huì)獲悉或轉(zhuǎn)發(fā)已接收到的幀。STA的最終結(jié)果是一個(gè)無(wú)循環(huán)的橋接環(huán)境,不管局域網(wǎng)網(wǎng)段拓?fù)浣Y(jié)構(gòu)是否改變,這個(gè)環(huán)境總是一直存在。生成樹算法,決定了網(wǎng)絡(luò)鏈路故障恢復(fù)時(shí)間,最少不低于15秒。
生成樹的狀態(tài):
運(yùn)行生成樹協(xié)議的交換機(jī)上的端口,總是處于下面五個(gè)狀態(tài)中的一個(gè):
阻塞:所有端口以阻塞狀態(tài)啟動(dòng)以防止回路,由生成樹確定哪個(gè)端口切換為轉(zhuǎn)發(fā)狀態(tài),處于阻塞狀態(tài)的端口不轉(zhuǎn)發(fā)數(shù)據(jù)幀但可接受BPDU。
監(jiān)聽:不轉(zhuǎn)發(fā)數(shù)據(jù)幀,但檢測(cè)BPDU(臨時(shí)狀態(tài))。
學(xué)習(xí):不轉(zhuǎn)發(fā)數(shù)據(jù)幀,但學(xué)習(xí)MAC地址表(臨時(shí)狀態(tài))。
轉(zhuǎn)發(fā):可以傳送和接受數(shù)據(jù)數(shù)據(jù)幀。
禁用:通常由于端口故障或交換機(jī)配置錯(cuò)誤引起。
3、Supreme-Ring協(xié)議
Supreme-Ring協(xié)議是在工業(yè)以太網(wǎng)使用的冗余機(jī)制。Supreme-Ring協(xié)議和生成樹協(xié)議有點(diǎn)相似,Supreme-Ring協(xié)議也定義了一種數(shù)據(jù)包,稱為HELLO包,又稱為WD包(Watch Dog Packets)。交換機(jī)之間用HELLO包通信,在主交換機(jī)上動(dòng)態(tài)選擇主鏈路和備份鏈路。但是因?yàn)閺闹行臉虻饺魏尉W(wǎng)段只有一個(gè)路徑存在,所以橋回路被消除。
在工業(yè)冗余環(huán)網(wǎng)網(wǎng)絡(luò)環(huán)境里,交換機(jī)不會(huì)立即開始轉(zhuǎn)發(fā)功能,主交換機(jī)(Local)由手動(dòng)指定,選擇主鏈路和備份鏈路建立一個(gè)指定路徑,由Supreme-Ring協(xié)議自動(dòng)指定。一個(gè)工業(yè)冗余環(huán)網(wǎng)網(wǎng)絡(luò)里面只能有一個(gè)主交換機(jī)(Local)。主交換機(jī)(Local)會(huì)定期發(fā)送配置信息,這種配置信息將會(huì)被所有的從交換機(jī)(Remote)發(fā)送。一旦網(wǎng)絡(luò)結(jié)構(gòu)發(fā)生變化,網(wǎng)絡(luò)狀態(tài)將會(huì)重新配置。
當(dāng)指定主交換機(jī)(Local)之后,在轉(zhuǎn)發(fā)數(shù)據(jù)包之前,所有端口都以阻塞方式啟動(dòng)。運(yùn)用Supreme-Ring算法,主交換機(jī)(Local)選擇最低COST值的端口作為主鏈路,另一條COST值高的端口作為備份鏈路。備份鏈路不轉(zhuǎn)發(fā)數(shù)據(jù),只接收和處理HELLO包,處于熱備(Hot Standby)狀態(tài)。從交換機(jī)(Remote)沒(méi)有主鏈路和備份鏈路的區(qū)別。Supreme-Ring協(xié)議是一種簡(jiǎn)潔高效的冗余協(xié)議,能夠保證環(huán)網(wǎng)在鏈路故障時(shí),在300ms之內(nèi)恢復(fù)網(wǎng)絡(luò)通信。
Supreme-Ring的狀態(tài):
運(yùn)行Supreme-Ring協(xié)議的交換機(jī)上的端口,總是處于下面四個(gè)狀態(tài)中的一個(gè):
阻塞:所有端口以阻塞狀態(tài)啟動(dòng)以防止回路,處于阻塞狀態(tài)的端口不轉(zhuǎn)發(fā)數(shù)據(jù)幀但可接受HELLO包。
熱備:不轉(zhuǎn)發(fā)數(shù)據(jù)幀,但學(xué)習(xí)MAC地址表,在主鏈路故障時(shí),在300ms之內(nèi),立刻進(jìn)入轉(zhuǎn)發(fā)狀態(tài)。
轉(zhuǎn)發(fā):可以傳送和接受數(shù)據(jù)數(shù)據(jù)幀。
禁用:通常由于端口故障或交換機(jī)配置錯(cuò)誤引起。
4、結(jié)束語(yǔ)
工業(yè)網(wǎng)絡(luò)環(huán)境需要快速反應(yīng)冗余機(jī)制,生成樹協(xié)議的15秒恢復(fù)時(shí)間,不能滿足工業(yè)環(huán)境要求。只有采用Supreme-Ring協(xié)議才是工業(yè)網(wǎng)絡(luò)環(huán)境的最佳冗余機(jī)制。