專利名稱:基于fc交換機(jī)的一種端口隔離及恢復(fù)的實(shí)現(xiàn)方法
技術(shù)領(lǐng)域:
本發(fā)明屬于計(jì)算機(jī)通信技術(shù),涉及FC交換機(jī)的一種故障端口隔離及恢復(fù)的實(shí)現(xiàn)方法。
背景技術(shù):
FC網(wǎng)絡(luò)具備高帶寬、低延遲和高可靠等特性,非常適合在對數(shù)據(jù)傳輸實(shí)時(shí)性有較高要求的分布式實(shí)時(shí)系統(tǒng)中使用。在FC通信網(wǎng)絡(luò)中,為了保證接收方緩沖區(qū)不會(huì)溢出,采用流量控制技術(shù)來匹配發(fā)送方發(fā)送速率和接收方接收速率。FC通信網(wǎng)絡(luò)流量控制在FC-2層實(shí)現(xiàn),用來協(xié)調(diào)節(jié)點(diǎn)機(jī)之間、節(jié)點(diǎn)機(jī)與交換機(jī)、以及交換機(jī)內(nèi)部端口之間的幀流量,防止接收方緩沖區(qū)溢出。流量控制中使用的方法有兩種端到端信用(EE_Credit)管理和緩沖到緩沖信用(BB_Credit)管理。在當(dāng)前的民用和軍用航空電子FC網(wǎng)絡(luò)中,大多支持3類服務(wù),采用緩沖到緩沖的信用管理機(jī)制實(shí)現(xiàn)流量控制。在實(shí)時(shí)網(wǎng)絡(luò)系統(tǒng)中,交換機(jī)作為整個(gè)網(wǎng)絡(luò)的核心部件,負(fù)責(zé)為網(wǎng)絡(luò)中所有節(jié)點(diǎn)機(jī)提供數(shù)據(jù)交換。但是如果節(jié)點(diǎn)機(jī)發(fā)生故障,在接收到交換機(jī)轉(zhuǎn)發(fā)的數(shù)據(jù)幀后不向?qū)?yīng)的交換機(jī)端口回復(fù)R_RDY原語,導(dǎo)致交換機(jī)對應(yīng)端口信用丟失。FC標(biāo)準(zhǔn)規(guī)定,當(dāng)端口沒有信用超過設(shè)置時(shí)間后,該端口將會(huì)發(fā)生鏈路復(fù)位,然后再重新同步鏈路。如果該節(jié)點(diǎn)機(jī)故障一直存在,一直不能向與其連接的交換機(jī)端口回復(fù)R_RDY原語,會(huì)導(dǎo)致該節(jié)點(diǎn)機(jī)和與其連接的交換機(jī)端口頻繁發(fā)生鏈路復(fù)位。同時(shí)由于該端口長時(shí)間無信用,會(huì)導(dǎo)致目的端口為該端口的數(shù)據(jù)不能轉(zhuǎn)發(fā)到該端口,并且會(huì)最終反壓到發(fā)送端口的輸入緩沖區(qū),如果與交換機(jī)發(fā)送端口相連的節(jié)點(diǎn)機(jī)一直發(fā)送數(shù)據(jù),會(huì)導(dǎo)致它們之間發(fā)生鏈路復(fù)位,這樣會(huì)多個(gè)該故障端口和已該故障端口為目的端口的發(fā)送端口都發(fā)生鏈路復(fù)位,從而引起整個(gè)交換網(wǎng)絡(luò)堵塞,會(huì)大幅度降低交換機(jī)的交換性能
發(fā)明內(nèi)容
本發(fā)明提出一種基于FC交換機(jī)的一種端口隔離及恢復(fù)的實(shí)現(xiàn)方法,解決了由于交換機(jī)端口發(fā)送信用丟失而頻繁發(fā)生鏈路復(fù)位的問題。該方法將交換機(jī)發(fā)送信用丟失的端口強(qiáng)制隔離,確保交換機(jī)其它端口正常工作,實(shí)現(xiàn)線速無阻交換當(dāng)節(jié)點(diǎn)機(jī)故障消除時(shí),將對應(yīng)端口進(jìn)行恢復(fù)。本發(fā)明的解決方案如下。對交換機(jī)各個(gè)端口進(jìn)行信用管理,當(dāng)信用為O并且持續(xù)時(shí)間超過設(shè)置的信用丟失時(shí)間(E_D_T0V)時(shí),產(chǎn)生鏈路復(fù)位,將該端口強(qiáng)制隔離,使該端口 MAC —直處于下線狀態(tài)(0LS1)。同時(shí)將該事件上報(bào)網(wǎng)絡(luò)管理器,當(dāng)網(wǎng)絡(luò)管理器檢測到發(fā)生故障的節(jié)點(diǎn)機(jī)故障消除時(shí),將對應(yīng)的交換機(jī)端口恢復(fù),使其重新上線。具體方案如下?;贔C交換機(jī)的一種端口隔離及恢復(fù)的實(shí)現(xiàn)方法,包括以下環(huán)節(jié)I)交換機(jī)內(nèi)部各個(gè)端口獨(dú)立進(jìn)行端口信用管理,如果某端口信用丟失,則向故障隔離單元一個(gè)“端口信用丟失”信號;2)端口隔離單元根據(jù)“端口信用丟失”信號,控制FC MAC發(fā)生鏈路復(fù)位,等鏈路重新到達(dá)AC狀態(tài)后,再將該端口強(qiáng)制隔離,使FC MAC—直處于離線狀態(tài);同時(shí)產(chǎn)生一個(gè)“鏈路復(fù)位中斷”上報(bào)網(wǎng)絡(luò)管理器;3)網(wǎng)絡(luò)管理器響應(yīng)中斷,并讀取交換機(jī)內(nèi)部中斷狀態(tài)寄存器確定是哪個(gè)端口發(fā)生了鏈路復(fù)位,并且可以根據(jù)節(jié)點(diǎn)機(jī)故障情況決定是否恢復(fù)該端口,即,當(dāng)檢測該節(jié)點(diǎn)機(jī)故障消除時(shí),使該端口的FC MAC重新到達(dá)AC狀態(tài);步驟I)所述的端口信用管理的實(shí)現(xiàn)過程具體如下1.1)設(shè)置發(fā)送信用計(jì)數(shù)器當(dāng)交換機(jī)端口的發(fā)送端每發(fā)送一個(gè)幀,該端口的發(fā)送信用計(jì)數(shù)減1,當(dāng)該端口的接收端收到與之連接的節(jié)點(diǎn)機(jī)發(fā)送的R_RDY原語后,發(fā)送信用加I ;1. 2)交換機(jī)端口的發(fā)送端在發(fā)送每一幀前,首先檢測該端口的發(fā)送信用,如果當(dāng)前的發(fā)送信用不為0,則允許該端口發(fā)送數(shù)據(jù)幀,同時(shí),信用丟失時(shí)間計(jì)數(shù)器清零;如果發(fā)送信用為0,則該端口不能發(fā)送數(shù)據(jù)幀,同時(shí),信用丟失時(shí)間計(jì)數(shù)器以IOOus的時(shí)鐘精度逐步遞增;1. 3)當(dāng)信用丟失時(shí)間計(jì)數(shù)器的值大于設(shè)定值(E_D_T0V)時(shí),產(chǎn)生一個(gè)“信用丟失”
信號; 步驟2)所述的FC MAC發(fā)生鏈路復(fù)位的實(shí)現(xiàn)過程具體如下2.1)在正常通信時(shí),交換機(jī)端口 MAC (簡稱MAC A)和與之連接的節(jié)點(diǎn)機(jī)端口 MAC(簡稱MAC B)均處于AC狀態(tài);2. 2)當(dāng)MAC A收到link_to_reset后,進(jìn)入LRl狀態(tài),此時(shí)發(fā)送LR原語;MAC B接收到LR原語后,進(jìn)入LR2狀態(tài),發(fā)送LRR原語;2. 3)當(dāng)MAC A收到LRR原語后,進(jìn)入LR3狀態(tài),此時(shí)發(fā)送IDLE原語;MAC B接收到IDLE原語后,進(jìn)入AC狀態(tài),發(fā)送IDLE原語;2. 4)當(dāng)MAC A收到IDLE語言后,進(jìn)入AC狀態(tài),此時(shí)發(fā)送IDLE原語,此時(shí)MAC A和MAC B均處于AC狀態(tài),完成鏈路復(fù)位過程;步驟2)所述的端口強(qiáng)制隔離的實(shí)現(xiàn)過程具體如下當(dāng)完成鏈路復(fù)位后,內(nèi)部產(chǎn)生一個(gè)強(qiáng)制離線信號(link_to_off),當(dāng)MAC A收到link_to_off后,進(jìn)入OLSl狀態(tài),并且固定在OLSl狀態(tài),不再發(fā)生跳變,此時(shí)發(fā)送OLS原語;MAC B接收到OLS原語后,進(jìn)入0LS2狀態(tài),發(fā)送LR原語,實(shí)現(xiàn)端口隔離;步驟3)所述的端口恢復(fù)的實(shí)現(xiàn)過程具體如下3.1)當(dāng)需要使該端口重新上線時(shí),通過軟件操作將link_to_off清零。當(dāng)MAC A接收到LR原語后,進(jìn)入LR2狀態(tài),發(fā)送LRR原語;MAC B接收到LRR原語后,進(jìn)入LR3狀態(tài),發(fā)送IDLE原語;3. 2)當(dāng)MAC A收到IDLE語言后,進(jìn)入AC狀態(tài),此時(shí)發(fā)送IDLE原語,此時(shí)MAC A和MAC B均處于AC狀態(tài),實(shí)現(xiàn)端口恢復(fù)。本發(fā)明的優(yōu)點(diǎn)是實(shí)時(shí)性強(qiáng)采用硬件邏輯對故障端口進(jìn)行檢測,一旦發(fā)生故障,可以立即將故障端口從整個(gè)網(wǎng)絡(luò)中剔除。
安全性高將故障端口隔離后,消除故障端口帶來的影響,保證交換機(jī)其它正常端口能夠線速無阻的交換。具有故障恢復(fù)功能當(dāng)網(wǎng)絡(luò)管理器檢測到發(fā)生故障的節(jié)點(diǎn)機(jī)故障消除后,通過軟件進(jìn)行配置,可使對應(yīng)的交換機(jī)隔離端口重新上線,恢復(fù)正常工作
圖1是端口隔離及恢復(fù)實(shí)現(xiàn)方案示意圖;圖2是端口信用管理實(shí)現(xiàn)步驟示意圖;圖3是FC MAC狀態(tài)遷移示意圖。
具體實(shí)施例方式本發(fā)明的實(shí)現(xiàn)方式分為端口隔離及恢復(fù)實(shí)現(xiàn)方案、端口信用管理、FC MAC狀態(tài)遷移三個(gè)部分。下面分別對三個(gè)部分進(jìn)行具體介紹。1.端口隔離及恢復(fù)實(shí)現(xiàn)方案如圖1所示,當(dāng)交換機(jī)的某個(gè)或某些Egress端口(端口輸出端)信用長時(shí)間為零時(shí),對端口進(jìn)行隔離,其過程如下I)交換機(jī)內(nèi)部各個(gè)端口獨(dú)立進(jìn)行信用管理,如果某端口信用丟失(信用為O且為O的時(shí)間超過了 E_D_T0V設(shè)置),向`故障隔離單元一個(gè)“端口信用丟失”信號。2)端口隔離單元根據(jù)“端口信用丟失”信號,控制FC MAC發(fā)生鏈路復(fù)位(link_to_reset),等鏈路重新到達(dá)AC狀態(tài)后(作為鏈路復(fù)位和端口隔離的區(qū)分點(diǎn)),再將該端口強(qiáng)制隔離,使FC MAC—直處于離線狀態(tài)(0LS)。同時(shí)產(chǎn)生一個(gè)“鏈路復(fù)位中斷”上報(bào)網(wǎng)絡(luò)管理器。3)網(wǎng)絡(luò)管理器響應(yīng)中斷,并讀取交換機(jī)內(nèi)部中斷狀態(tài)寄存器確定是哪個(gè)端口發(fā)生了鏈路復(fù)位,并且可以根據(jù)節(jié)點(diǎn)機(jī)故障情況決定是否恢復(fù)該端口,當(dāng)檢測該節(jié)點(diǎn)機(jī)故障消除時(shí),使該端口的FC MAC重新到達(dá)AC狀態(tài)。2.端口信用管理如圖2所示,端口信用管理負(fù)責(zé)維護(hù)交換機(jī)的信用,根據(jù)信用判斷是否產(chǎn)生“信用丟失信號”,其實(shí)現(xiàn)步驟如下I)交換機(jī)輸出端口在發(fā)送每一幀前,需要檢測該端口發(fā)送信用,如果發(fā)送信用不為0,則該端口可以發(fā)送數(shù)據(jù)幀,如果發(fā)送信用為0,則該端口不能發(fā)送數(shù)據(jù)幀。2 )交換機(jī)輸出端口每發(fā)送一個(gè)幀,發(fā)送信用計(jì)數(shù)減I,當(dāng)該端口收到與之連接的節(jié)點(diǎn)機(jī)發(fā)送的R_RDY原語后,發(fā)送信用加I。3)當(dāng)該端口信用為O時(shí),啟動(dòng)信用丟失時(shí)間計(jì)數(shù)器以IOOus的時(shí)鐘精度逐步遞增,當(dāng)該端口信用不為O時(shí),信用丟失時(shí)間計(jì)數(shù)器清零。4)當(dāng)信用丟失時(shí)間寄存器大于設(shè)置時(shí)間(E_D_T0V)時(shí),產(chǎn)生一個(gè)“信用丟失”信號。3. FC MAC 狀態(tài)遷移對于交換機(jī)中發(fā)生信用丟失的端口,其發(fā)生鏈路復(fù)位、端口隔離和端口恢復(fù),都是通過對FC MAC的控制實(shí)現(xiàn),在本節(jié)內(nèi)容中,主要描述鏈路服務(wù)、端口隔離和端口恢復(fù)時(shí)FCMAC的狀態(tài)遷移過程,完整的FC MAC遷移圖可以參考FC-FS-2標(biāo)準(zhǔn)。交換機(jī)發(fā)送端口 FCMAC狀態(tài)遷移如圖3所示,其中,步驟I)到4)為鏈路復(fù)位過程,步驟5)為端口隔離過程,步驟6)到7)為端口恢復(fù)過程。I)在正常通信時(shí),交換機(jī)發(fā)送端口 MAC (簡稱MAC A)和與之連接的節(jié)點(diǎn)機(jī)的接收端(簡稱MAC B)均處于AC狀態(tài)。2)當(dāng)MAC A收到link_to_reset后,進(jìn)入LRl狀態(tài),此時(shí)發(fā)送LR原語;MAC B接收到LR原語后,進(jìn)入LR2狀態(tài),發(fā)送LRR原語。3)當(dāng)MAC A收到LRR原語后,進(jìn)入LR3狀態(tài),此時(shí)發(fā)送IDLE原語;MAC B接收到IDLE原語后,進(jìn)入AC狀態(tài),發(fā)送IDLE原語。4)當(dāng)MAC A收到IDLE語言后,進(jìn)入AC狀態(tài),此時(shí)發(fā)送IDLE原語,此時(shí)MAC A和MAC B均處于AC狀態(tài),完成鏈路復(fù)位過程。5)當(dāng)完成鏈路復(fù)位后,內(nèi)部產(chǎn)生一個(gè)強(qiáng)制離線信號(link_to_off),當(dāng)MAC A收到link_to_off后,進(jìn)入OLSl狀態(tài),并且固定在OLSl狀態(tài),不再發(fā)生跳變,此時(shí)發(fā)送OLS原語;MAC B接收到OLS原語后,進(jìn)入0LS2狀態(tài),發(fā)送LR原語。6)當(dāng)需要使該端口重新上線·時(shí),通過軟件操作將link_to_off清零。當(dāng)MAC A接收到LR原語后,進(jìn)入LR2狀態(tài),發(fā)送LRR原語;MAC B接收到LRR原語后,進(jìn)入LR3狀態(tài),發(fā)送IDLE原語。7)當(dāng)MAC A收到IDLE語言后,進(jìn)入AC狀態(tài),此時(shí)發(fā)送IDLE原語,此時(shí)MAC A和MAC B均處于AC狀態(tài),完成重新同步過程。
權(quán)利要求
1.基于FC交換機(jī)的一種端口隔離及恢復(fù)的實(shí)現(xiàn)方法,包括以下環(huán)節(jié)1)交換機(jī)內(nèi)部各個(gè)端口獨(dú)立進(jìn)行端口信用管理,如果某端口信用丟失,則向故障隔離單元一個(gè)“端口信用丟失”信號;2)端口隔離單元根據(jù)“端口信用丟失”信號,控制FCMAC發(fā)生鏈路復(fù)位,等鏈路重新到達(dá)AC狀態(tài)后,再將該端口強(qiáng)制隔離,使FC MAC—直處于離線狀態(tài);同時(shí)產(chǎn)生一個(gè)“鏈路復(fù)位中斷”上報(bào)網(wǎng)絡(luò)管理器;3)網(wǎng)絡(luò)管理器響應(yīng)中斷,并讀取交換機(jī)內(nèi)部中斷狀態(tài)寄存器確定是哪個(gè)端口發(fā)生了鏈路復(fù)位,并且可以根據(jù)節(jié)點(diǎn)機(jī)故障情況決定是否恢復(fù)該端口,即,當(dāng)檢測該節(jié)點(diǎn)機(jī)故障消除時(shí),使該端口的FC MAC重新到達(dá)AC狀態(tài);步驟I)所述的端口信用管理的實(shí)現(xiàn)過程具體如下1. O設(shè)置發(fā)送信用計(jì)數(shù)器當(dāng)交換機(jī)端口的發(fā)送端每發(fā)送一個(gè)幀,該端口的發(fā)送信用計(jì)數(shù)減1,當(dāng)該端口的接收端收到與之連接的節(jié)點(diǎn)機(jī)發(fā)送的R_RDY原語后,發(fā)送信用加I ;.1.2)交換機(jī)端口的發(fā)送端在發(fā)送每一幀前,首先檢測該端口的發(fā)送信用,如果當(dāng)前的發(fā)送信用不為0,則允許該端口發(fā)送數(shù)據(jù)幀,同時(shí),信用丟失時(shí)間計(jì)數(shù)器清零;如果發(fā)送信用為0,則該端口不能發(fā)送數(shù)據(jù)幀,同時(shí),信用丟失時(shí)間計(jì)數(shù)器以IOOus的時(shí)鐘精度逐步遞增;.1.3)當(dāng)信用丟失時(shí)間計(jì)數(shù)器的值大于設(shè)定值(E_D_T0V)時(shí),產(chǎn)生一個(gè)“信用丟失”信號;步驟2)所述的FC MAC發(fā)生鏈路復(fù)位的實(shí)現(xiàn)過程具體如下.2.1)在正常通信時(shí),交換機(jī)端口 MAC (簡稱MAC A)和與之連接的節(jié)點(diǎn)機(jī)端口 MAC (簡稱MAC B)均處于AC狀態(tài);.2.2)當(dāng)MAC A收到link_to_re s et后,進(jìn)入LRl狀態(tài),此時(shí)發(fā)送LR原語;MAC B接收到LR原語后,進(jìn)入LR2狀態(tài),發(fā)送LRR原語;.2.3)當(dāng)MAC A收到LRR原語后,進(jìn)入LR3狀態(tài),此時(shí)發(fā)送IDLE原語;MAC B接收到IDLE 原語后,進(jìn)入AC狀態(tài),發(fā)送IDLE原語;.2.4)當(dāng)MAC A收到IDLE語言后,進(jìn)入AC狀態(tài),此時(shí)發(fā)送IDLE原語,此時(shí)MAC A和MAC B均處于AC狀態(tài),完成鏈路復(fù)位過程;步驟2)所述的端口強(qiáng)制隔離的實(shí)現(xiàn)過程具體如下當(dāng)完成鏈路復(fù)位后,內(nèi)部產(chǎn)生一個(gè)強(qiáng)制離線信號(link_to_off),當(dāng)MAC A收到link_ to_ofT后,進(jìn)入OLSl狀態(tài),并且固定在OLSl狀態(tài),不再發(fā)生跳變,此時(shí)發(fā)送OLS原語;MAC B接收到OLS原語后,進(jìn)入0LS2狀態(tài),發(fā)送LR原語,實(shí)現(xiàn)端口隔離;步驟3)所述的端口恢復(fù)的實(shí)現(xiàn)過程具體如下.3.1)當(dāng)需要使該端口重新上線時(shí),通過軟件操作將link_to_off清零。當(dāng)MAC A接收到LR原語后,進(jìn)入LR2狀態(tài),發(fā)送LRR原語;MAC B接收到LRR原語后,進(jìn)入LR3狀態(tài),發(fā)送 IDLE原語;.3.2)當(dāng)MAC A收到IDLE語言后,進(jìn)入AC狀態(tài),此時(shí)發(fā)送IDLE原語,此時(shí)MAC A和MAC B均處于AC狀態(tài),實(shí)現(xiàn)端口恢復(fù)。
全文摘要
本發(fā)明提出一種基于FC交換機(jī)的一種端口隔離及恢復(fù)的實(shí)現(xiàn)方法,解決了由于交換機(jī)端口發(fā)送信用丟失而頻繁發(fā)生鏈路復(fù)位的問題。該方法對交換機(jī)各個(gè)端口進(jìn)行信用管理,當(dāng)信用為0并且持續(xù)時(shí)間超過設(shè)置的信用丟失時(shí)間(E_D_TOV)時(shí),產(chǎn)生鏈路復(fù)位,將該端口強(qiáng)制隔離,使該端口MAC一直處于下線狀態(tài)(OLS1)。同時(shí)將該事件上報(bào)網(wǎng)絡(luò)管理器,當(dāng)網(wǎng)絡(luò)管理器檢測到發(fā)生故障的節(jié)點(diǎn)機(jī)故障消除時(shí),將對應(yīng)的交換機(jī)端口恢復(fù),使其重新上線。本發(fā)明實(shí)時(shí)性強(qiáng),安全性高,具有故障恢復(fù)功能。
文檔編號H04L12/24GK103051482SQ201210591198
公開日2013年4月17日 申請日期2012年12月28日 優(yōu)先權(quán)日2012年12月28日
發(fā)明者李大鵬, 田園, 李玉發(fā), 蒲愷 申請人:中國航空工業(yè)集團(tuán)公司第六三一研究所