專利名稱:一種鏈路切換方法及其裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及一種鏈路切換方法及其裝置。
背景技術(shù):
隨著IP視頻監(jiān)控技術(shù)的發(fā)展,IP視頻監(jiān)控的部署越來越廣泛,對IP視頻監(jiān)控系統(tǒng)的可靠性要求也越來越高,很多鏈路都需要考慮可靠性,雙網(wǎng)口的EC (視頻編碼器)在此種背景條件下應(yīng)運而生。如圖1所示,目前一般的組網(wǎng)圖下,EC有兩個網(wǎng)絡(luò)接口(P1、P2),分別與2個接入層交換機(Si、S2)相連,進行鏈路備份。當EC的兩個網(wǎng)絡(luò)接口有一條出現(xiàn)故障時,不會影響視頻監(jiān)控業(yè)務(wù)的正常運行。同時,EC的兩個網(wǎng)口在同一個交換芯片上,只能實現(xiàn)基本的網(wǎng)絡(luò)轉(zhuǎn)發(fā)功能。上述組網(wǎng)圖中,由于成本控制的原因,EC的兩個網(wǎng)口都在同一個交換芯片上,且該芯片功能簡單,不支持STP (Spanning Tree Protocol,生成樹協(xié)議)、RRPP (Rapid Ring Protection Protocol,快速環(huán)網(wǎng)保護協(xié)議)等特性。如此一來,上述組網(wǎng)會有存在一定的問題如果只在交換機上啟用RSTP(Rapid Spanning Tree Protocol,快速生成樹協(xié)議),由于EC本身不支持RSTP特性,如果網(wǎng)絡(luò)中發(fā)生故障時,原擁塞端口無法馬上切換到 Forward (轉(zhuǎn)發(fā))狀態(tài),根據(jù)RSTP協(xié)議規(guī)定,需要等待連續(xù)三個Hello時間,接收不到上游指定橋送來的BPDU((Bridge Protocol Data Unit,網(wǎng)橋協(xié)議數(shù)據(jù)單元)后,才進行端口狀態(tài)的切換;而且,EC設(shè)備不響應(yīng)STP協(xié)議報文,EC上的MAC (Media Access Control,媒體接入控制)地址不會馬上刷新,所以鏈路故障時,切換時間會很長,一般都在10S左右,遠遠達不到視頻監(jiān)控業(yè)務(wù)的性能要求。
發(fā)明內(nèi)容
本發(fā)明提供了一種鏈路切換方法及其裝置,應(yīng)用于網(wǎng)絡(luò)設(shè)備雙網(wǎng)口分別連接有不同交換設(shè)備的網(wǎng)絡(luò),用以減少鏈路切換時延。本發(fā)明提供的鏈路切換方法,應(yīng)用于網(wǎng)絡(luò)設(shè)備雙網(wǎng)口分別連接有不同交換設(shè)備的網(wǎng)絡(luò),該方法包括網(wǎng)絡(luò)設(shè)備雙網(wǎng)口連接的兩個交換設(shè)備之間,根據(jù)在與所述網(wǎng)絡(luò)設(shè)備連接的端口上所配置的鏈路檢測協(xié)議進行鏈路檢測;當所述兩個交換設(shè)備中有交換設(shè)備檢測到對端交換設(shè)備鏈路故障,且本端交換設(shè)備上與所述網(wǎng)絡(luò)設(shè)備連接的端口為待命狀態(tài)時,將該待命狀態(tài)的端口切換為轉(zhuǎn)發(fā)狀態(tài),根據(jù)本端交換設(shè)備的媒體接入控制MAC地址表生成單播報文,通過該切換為轉(zhuǎn)發(fā)狀態(tài)的端口發(fā)送所生成的單播報文,并通過該端口所屬虛擬局域網(wǎng)VLAN內(nèi)除了該端口以外的其他端口發(fā)送Flush報文;其中,所述單播報文的源MAC地址分別為所述MAC地址表中該端口所屬 VLAN內(nèi)的MAC地址,且各單播報文的源MAC地址各不相同,所述單播報文的目的MAC地址為
5所述本端交換設(shè)備從對端交換設(shè)備接收過的鏈路檢測報文的源MAC地址,所述單播報文用于使接收到該報文的網(wǎng)絡(luò)設(shè)備根據(jù)該報文進行MAC地址表更新。本發(fā)明提供的交換設(shè)備,應(yīng)用于網(wǎng)絡(luò)設(shè)備雙網(wǎng)口分別連接有不同交換設(shè)備的網(wǎng)絡(luò),該交換設(shè)備包括鏈路檢測配置模塊,用于在與網(wǎng)絡(luò)設(shè)備雙網(wǎng)口連接的端口上配置鏈路檢測協(xié)議;鏈路檢測模塊,用于根據(jù)在與所述網(wǎng)絡(luò)設(shè)備連接的端口上所配置的鏈路檢測協(xié)議與連接于所述所述網(wǎng)絡(luò)設(shè)備雙網(wǎng)口中的另一網(wǎng)口的對端交換設(shè)備之間進行鏈路檢測;端口狀態(tài)管理模塊,用于在本端交換設(shè)備檢測到對端交換設(shè)備鏈路故障,且本端交換設(shè)備上與所述網(wǎng)絡(luò)設(shè)備連接的端口為待命狀態(tài)時,將該待命狀態(tài)的端口切換為轉(zhuǎn)發(fā)狀態(tài);表項刷新通知模塊,用于根據(jù)本端交換設(shè)備上的MAC地址表生成單播報文,通過切換為轉(zhuǎn)發(fā)狀態(tài)的端口發(fā)送所生成的單播報文,并通過該端口所屬VLAN內(nèi)除了該端口以外的其他端口發(fā)送Flush報文;其中,所述單播報文的源MAC地址分別為所述MAC地址表中該端口所屬VLAN內(nèi)的MAC地址,且各單播報文的源MAC地址各不相同,所述單播報文的目的MAC地址為所述本端交換設(shè)備從對端交換設(shè)備接收過的鏈路檢測報文的源MAC地址,所述單播報文用于使接收到該報文的網(wǎng)絡(luò)設(shè)備根據(jù)該報文進行MAC地址表更新。本發(fā)明的有益技術(shù)效果包括一方面,通過在網(wǎng)絡(luò)設(shè)備雙網(wǎng)口連接的兩個交換設(shè)備上與該網(wǎng)絡(luò)設(shè)備連接的端口上配置鏈路檢測協(xié)議,并根據(jù)在該端口上所配置的鏈路檢測協(xié)議進行鏈路檢測,從而可以及時發(fā)現(xiàn)鏈路故障情況;另一方面,當有交換設(shè)備檢測到對端交換設(shè)備鏈路故障,且本端交換設(shè)備與所述網(wǎng)絡(luò)設(shè)備連接的端口為待命狀態(tài)時,將該待命狀態(tài)的端口切換為轉(zhuǎn)發(fā)狀態(tài), 從而在發(fā)生鏈路故障時及時進行鏈路故障切換;再一方面,在進行端口狀態(tài)切換后,交換設(shè)備根據(jù)其上的MAC地址表生成單播報文,通過該端口發(fā)送所生成的單播報文,以使所述網(wǎng)絡(luò)設(shè)備根據(jù)所述單播報文進行MAC地址表更新,并通過所述端口所屬VLAN內(nèi)除了該端口以外的其他端口發(fā)送Flush報文,以通知同VLAN內(nèi)的其他網(wǎng)絡(luò)設(shè)備更新包括MAC地址表在內(nèi)的相關(guān)表項,從而使其他設(shè)備及時更新各自的MAC地址表等相關(guān)表項。與現(xiàn)有技術(shù)相比,減少了鏈路切換的時延。
圖1為現(xiàn)有技術(shù)中EC雙網(wǎng)口組網(wǎng)示意圖;圖2為本發(fā)明實施例中鏈路故障時的鏈路切換流程示意圖;圖3為本發(fā)明實施例中鏈路故障恢復(fù)時的鏈路切換流程示意圖;圖4為本發(fā)明實施例中EC端口聯(lián)動機制與上行鏈路機制聯(lián)動的流程示意圖;圖5為本發(fā)明實施例中的交換設(shè)備的結(jié)構(gòu)示意圖。
具體實施例方式為解決現(xiàn)有技術(shù)存在的上述問題,本發(fā)明實施例利用鏈路檢測機制,判斷連接EC 雙網(wǎng)口的兩個交換機的連通性,并根據(jù)交換機的連通情況對交換機連接EC的端口狀態(tài)進行設(shè)置,以防止環(huán)路的產(chǎn)生和鏈路的快速切換。
本發(fā)明實施例中定義如下交換機端口狀態(tài)ACTIVE(轉(zhuǎn)發(fā))狀態(tài)該狀態(tài)下的端口可轉(zhuǎn)發(fā)數(shù)據(jù)報文;STANDBY(待命)狀態(tài)該狀態(tài)下的端口不轉(zhuǎn)發(fā)數(shù)據(jù)報文,但能夠接收和發(fā)送鏈路檢測協(xié)議報文;LEARN(學(xué)習)狀態(tài)該狀態(tài)下的端口只轉(zhuǎn)發(fā)和接收鏈路檢測協(xié)議報文;阻塞狀態(tài)該狀態(tài)下的端口不接收和發(fā)送任何報文。下面結(jié)合附圖,對本發(fā)明實施進行詳細描述。本發(fā)明實施例仍以圖1所示的組網(wǎng)架構(gòu)為例,其中,交換機S 1的端口 El和交換機S2的端口 E2屬于同一 VLAN。在連接EC雙網(wǎng)口的兩個二層交換機(Si、S2)的對應(yīng)端口(El、E2)上配置鏈路檢測協(xié)議,本發(fā)明實施例以CFD(Connectivity Fault Detection,連通錯誤檢測)協(xié)議為例, 在交換機Sl連接EC的端口 El,以及交換機S2連接EC的端口 E2上配置CFD的內(nèi)向維護端點。另外,還要使能維護端點的CCM(Continuity Check Message,連續(xù)性檢測報文)發(fā)送功能。在端口 El和端口 E2上進行如上配置后,端口 El和端口 E2進入LEARN狀態(tài)。該狀態(tài)下的端口只轉(zhuǎn)發(fā)和接收CCM報文。在進行如上配置時,可將端口 El和端口 E2上的內(nèi)向維護端點配置為同一維護域的同一維護集,并對應(yīng)該維護集設(shè)置服務(wù)實例。根據(jù)CFD協(xié)議提供的連通性檢測功能,交換機會周期性的向同一服務(wù)實例內(nèi)的維護端點發(fā)送CCM報文。本實施例中,兩個交換機可通過比較接收到的CCM報文的源MAC地址信息決定端口的狀態(tài),從而使兩個處于LEARN狀態(tài)的端口中的一個端口切換為ACTIVE狀態(tài),另一個端口切換為STANDBY狀態(tài)。具體實施時,可約定源MAC地址小的設(shè)備優(yōu)先,比如交換機S2接收到交換機Sl發(fā)送的CCM報文的源MAC地址小于本設(shè)備發(fā)送CCM報文的源MAC地址,則將端口 E2阻塞,狀態(tài)由LEARN狀態(tài)切換為STANDBY狀態(tài),只允許CCM報文的發(fā)送和接收;另一方面,交換機Sl 接收到交換機S2發(fā)送的CCM報文的源MAC地址大于本設(shè)備發(fā)送CCM報文的源MAC地址,則將端口 El狀態(tài)由LEARN狀態(tài)切換為ACTIVE狀態(tài)。此后,交換機Sl可以轉(zhuǎn)發(fā)EC與其他設(shè)備之間的流量。也可通過擴展鏈路檢測報文,使得鏈路檢測報文攜帶設(shè)備優(yōu)先級,或端口優(yōu)先級等信息,將這類優(yōu)先級信息作為比較的依據(jù),從而確定端口狀態(tài)。根據(jù)CFD協(xié)議提供的連通性檢測功能,交換機會周期性的向同一服務(wù)實例內(nèi)的維護端點發(fā)送報文。當某交換機未能在一定時間內(nèi)(CFD協(xié)議中規(guī)定為3. 5個報文發(fā)送周期) 接收到對端交換機發(fā)送的CCM報文時,將判斷對端交換機故障或?qū)?yīng)鏈路發(fā)生故障。為了在發(fā)生鏈路故障的情況下,保證流量的正常轉(zhuǎn)發(fā),本發(fā)明實施例中,當端口狀態(tài)為STANDBY的交換機在設(shè)定長時間內(nèi)未接收到對端交換機發(fā)送的CCM報文時,則判斷對端交換機故障或?qū)?yīng)鏈路故障,此時,該交換機將該STANDBY狀態(tài)的端口切換為ACTIVE狀態(tài),從而實現(xiàn)鏈路切換。其中,所述設(shè)定長時間的時間長度,可參照CFD協(xié)議制定,如在3. 5 個CCM報文發(fā)送周期內(nèi)未收到對端維護端點發(fā)來的CCM報文,則認為鏈路有問題。進一步的,為加速網(wǎng)絡(luò)收斂,當交換機的端口由STANDBY狀態(tài)切換至ACTIVE狀態(tài)時,該交換機可通過該ACTIVE狀態(tài)的端口發(fā)送特定報文,以使與該端口連接的EC能夠根據(jù)該報文刷新本地的MAC地址表,從而節(jié)省EC進行MAC地址學(xué)習的時間。該特定報文可以是一系列的單播報文,該單播報文的源MAC地址分別為該交換機的MAC地址表中的MAC地址,該單播報文的目的MAC地址是該交換機之前接收到的CCM報文中的源MAC地址。一方面, 通過將該單播報文的源MAC地址設(shè)置為該交換機的MAC地址表中的MAC地址,可以使EC在接收到該報文后學(xué)習到這些MAC地址以刷新相應(yīng)端口上的MAC地址表,即借助于交換機構(gòu)造并發(fā)送的這些單播報文使EC能夠?qū)崿F(xiàn)MAC地址刷新;另一方面,通過將單播報文的目的 MAC地址設(shè)置為該交換機接收到的CCM報文的源MAC地址,可以保證這些單播報文僅在本交換機和發(fā)送該CCM報文的交換機之間的鏈路上轉(zhuǎn)發(fā),不會影響網(wǎng)絡(luò)上其它設(shè)備的MAC地址學(xué)習。進一步的,交換機發(fā)送完構(gòu)造的單播報文后,再通過與該發(fā)送端口同VLAN內(nèi)的其他端口發(fā)送Flush報文,以通知同VLAN內(nèi)的其他網(wǎng)絡(luò)設(shè)備進行MAC地址轉(zhuǎn)發(fā)表項,以及 ARP(Address Resolution Protocol,地址角軍析協(xié)、議)或 / 禾口 ND(Neighbor Discover,鄰居發(fā)現(xiàn))等表項的刷新操作。當然發(fā)送Flush報文的操作與上述發(fā)送特定單播報文的操作在時序上沒有嚴格要求??紤]到交換機的MAC地址表中還包括與該端口(即狀態(tài)從STANDBY切換到ACTIVE 的端口 )連接的EC的MAC地址,為了避免從該端口發(fā)出去的單播報文的源MAC地址為與該端口連接的EC的MAC地址,即為了避免EC接收到源MAC地址為自己的報文,本發(fā)明實施例中,在構(gòu)造上述單播報文時,可不包括源MAC地址為該ACTIVE狀態(tài)端口作為出端口所對應(yīng)的MAC地址(即不包括出端口為該ACTIVE狀態(tài)端口的MAC地址)。在具體實施時,以圖1所示的組網(wǎng)架構(gòu)為例,當交換機S2通過CFD協(xié)議提供的連通性檢測功能檢測到交換機Sl出現(xiàn)故障,或EC的Pl端口與交換機Sl的El端口間鏈路出現(xiàn)故障,導(dǎo)致交換機S2接收不到交換機Sl發(fā)送的CCM報文時,交換機S2將狀態(tài)為STANDBY 的端口 E2設(shè)置為ACTIVE狀態(tài)。此后,交換機Sl可轉(zhuǎn)發(fā)EC與其他設(shè)備之間的流量。其鏈路切換流程可如圖2所示,當交換機S2的端口 E2在設(shè)定長時間內(nèi)未接收到交換機Sl發(fā)送的CCM報文時,該流程可包括步驟201,交換機S2將狀態(tài)為STANDBY的端口 E2切換為ACTIVE狀態(tài)。步驟202,交換機S2根據(jù)其上的MAC地址表,構(gòu)造一系列單播報文,并通過端口 E2 發(fā)送這些單播報文,EC的端口 P2接收到這些單播報文后,根據(jù)該單播報文的源MAC地址刷新該端口上的MAC地址表。其中,這些單播報文的源MAC地址為端口 E2所在VLAN內(nèi)、出端口不為端口 E2的其他所有MAC地址,目的MAC地址為從交換機Sl接收的CCM報文的源MAC地址。步驟203,交換機S2向該VLAN的其他端口發(fā)送Flush報文,以通知同VLAN內(nèi)的其他網(wǎng)絡(luò)設(shè)備進行MAC地址轉(zhuǎn)發(fā)表項,以及ARP或/和ND表項的刷新操作。當發(fā)生故障的交換機恢復(fù)正常,或交換機與EC間的鏈路故障恢復(fù)后,交換機可以向?qū)Χ私粨Q機發(fā)送CCM報文以及接收對端設(shè)備發(fā)送的CCM報文,這樣,使得兩交換機的CFD 機制檢測到鏈路正常。此時,原故障交換機或故障鏈路上的交換機與EC連接的端口的狀態(tài)為LEARN狀態(tài),而對端交換機與EC連接的端口的狀態(tài)為ACTIVE狀態(tài),這種情況下,雙方交換機通過比較各自接收到的CCM報文來確定各自與EC連接的端口的狀態(tài),從而實現(xiàn)將其中一個交換機與EC連接的端口設(shè)置為ACTIVE狀態(tài),另一個交換機與EC連接的端口設(shè)置為 STANDBY狀態(tài)。具體根據(jù)CCM報文確定端口狀態(tài)的方式可如前所述,如根據(jù)MAC地址大小或端口優(yōu)先級來確定,在此不再贅述。
進一步的,為了加速網(wǎng)絡(luò)收斂速度,當有端口從ACTIVE狀態(tài)切換為STANDBY狀態(tài)時,該發(fā)生端口狀態(tài)變化的交換機通過與該端口屬于同一 VLAN中除與該端口以外的所有其他端口發(fā)送Flush報文,以通知同VLAN內(nèi)的其他網(wǎng)絡(luò)設(shè)備進行MAC地址表,以及ARP/ND 等表項的刷新操作。并且,在該端口上(即該發(fā)生狀態(tài)變化的端口上)快速進行shutdown 和up切換操作,使得EC能感知鏈路的down和up,促使EC清空與該鏈路連接的端口上的 MAC 表。在具體實施時,以圖1所示的組網(wǎng)架構(gòu)為例,當交換機Sl恢復(fù)正常,或交換機Sl 的端口 El與EC的端口 Pl間鏈路恢復(fù)正常后,使得交換機Sl和交換機S2的CFD機制檢測到鏈路正常,此時,交換機Sl上的端口 El的狀態(tài)為LEARN狀態(tài),交換機S2上的端口 E2的狀態(tài)為ACTIVE狀態(tài),雙方交換機均可發(fā)送CCM報文以及接收對端發(fā)送的CCM報文,其后的鏈路切換流程可如圖3所示,包括步驟301,交換機S2比較接收到的CCM報文中的源MAC地址與本設(shè)備發(fā)送的CCM 報文的源MAC地址,根據(jù)前述的原則(即MAC地址小的端口應(yīng)設(shè)為ACTIVE狀態(tài)),由于交換機S2的MAC地址大于交換機Sl的MAC地址,因此交換機Sl上的端口 El由LEARN狀態(tài)切換為ACTIVE狀態(tài),交換機S2上的端口 E2由ACTIVE狀態(tài)切換為STANDBY狀態(tài)。步驟302,交換機S2通過端口 E2所在VLAN內(nèi)除端口 E2以外的所有其他端口發(fā)送Flush報文,通知同VLAN內(nèi)的其他網(wǎng)絡(luò)設(shè)備進行MAC地址轉(zhuǎn)發(fā)表項和ARP/ND表項的刷新操作。步驟303,交換機S2在端口 E2上快速進行shutdown和up切換操作,使得EC能感知鏈路的down和up。EC在感知端口 P2所在鏈路的down和up變化后,刪除P2端口上的 MAC地址信息。此時,由于端口 E2進行了 down和up切換操作,可能會使得該端口由STANDBY 狀態(tài)切換為LEARN狀態(tài),重新收到CCM報文后,再切換回STANDBY狀態(tài),而交換機Sl可能由于交換機S2上端口 E2的down和up切換,短時間內(nèi)未收到CCM報文,但端口 El當前處于 ACTIVE狀態(tài),不會影響流量轉(zhuǎn)發(fā),因此端口 El上的ACTIVE狀態(tài)維持不變。圖3所示流程中的步驟302和步驟303的時序沒有嚴格要求。通過如上的處理,可以使得EC在不改變現(xiàn)有機制的情況下,快速響應(yīng)網(wǎng)絡(luò)拓撲變化,保證鏈路切換時,業(yè)務(wù)能在較短時間內(nèi)得到恢復(fù),如可以實現(xiàn)毫秒級的恢復(fù)。本發(fā)明實施例上述在交換機與EC連接的端口上所實現(xiàn)的功能,包括端口狀態(tài)的確定、端口狀態(tài)變化時所執(zhí)行的處理機制等,可稱為EC聯(lián)動機制。更優(yōu)的,交換機連接EC 的端口上的EC聯(lián)動機制還可以與上行鏈路CFD CC機制聯(lián)動,即,在交換機與上行鏈路上的網(wǎng)絡(luò)設(shè)備上配置CFD或其他鏈路檢測協(xié)議并進行鏈路檢測,當交換機之間CFD檢測到鏈路正常,端口狀態(tài)為ACTIVE的交換機發(fā)現(xiàn)聯(lián)動的上行鏈路發(fā)生故障,則將本設(shè)備上與EC連接的當前為ACTIVE狀態(tài)的端口阻塞,以阻止該端口接收EC的流量。此后,如果發(fā)生故障的鏈路恢復(fù)正常,則將原阻塞的端口恢復(fù)為LEARN狀態(tài),在LEARN狀態(tài)下的端口可以發(fā)送CCM報文,根據(jù)前述描述,此種情況下,該交換機與對端交換機將根據(jù)CCM報文確定各自端口的狀態(tài),最終實現(xiàn)其中的一個端口為ACTIVE狀態(tài),另一個端口為STANDBY狀態(tài),其中,從ACTIVE 狀態(tài)切換為SDANDBY狀態(tài)的端口所在的交換機將按照前述方式,通過發(fā)送報文以使其他設(shè)備的MAC地址等表項進行更新。在具體實施時,比如若圖1中的交換機Sl的端口 El當前為ACTIVE狀態(tài),交換機Sl到網(wǎng)關(guān)設(shè)備S3的鏈路出現(xiàn)故障,以及后續(xù)該鏈路故障恢復(fù)的過程中,如圖4所示,包括以下步驟步驟401,交換機Sl將本設(shè)備上與EC連接的端口 El阻塞,不發(fā)送CCM報文。步驟402,交換機S2超時接收不到CCM報文,則將本設(shè)備的端口 E2的狀態(tài)由 STANDBY切換為ACTIVE狀態(tài),并按照圖2所示的流程中的步驟202 203的方式,通過交換機S2發(fā)送報文以更新其他相關(guān)設(shè)備的MAC地址等表項。步驟403,交換機Sl與S3間鏈路恢復(fù)正常,交換機Sl將原阻塞的端口 El恢復(fù)為 LEARN狀態(tài),該狀態(tài)下可以發(fā)送CCM報文。步驟404,交換機Sl和交換機S2根據(jù)接收和發(fā)送的CCM報文的源MAC地址,確定各自與EC連接的端口的狀態(tài)。由于交換機Sl的MAC地址小于交換機S2的MAC地址,則交換機Sl的端口 El由LEARN狀態(tài)切換為ACTIVE狀態(tài),交換機S2上的端口 E2由ACTIVE狀態(tài)切換為STANDBY狀態(tài)。步驟405,交換機S2按照圖3所示流程中的步驟302 303,通過發(fā)送報文以及快速切換與EC連接的鏈路狀態(tài)的方式,更新相應(yīng)設(shè)備上的MAC地址等表項。通過上述描述可以看出,本發(fā)明實施例一方面,通過在網(wǎng)絡(luò)機雙網(wǎng)口連接的兩個交換即上與EC連接的端口上配置鏈路檢測協(xié)議,并根據(jù)在該端口上所配置的鏈路檢測協(xié)議進行鏈路檢測,從而可以及時發(fā)現(xiàn)鏈路故障情況;另一方面,當有交換機檢測到對端交換設(shè)備鏈路故障,且本端交換機與EC連接的端口為待命狀態(tài)時,將該待命狀態(tài)的端口切換為轉(zhuǎn)發(fā)狀態(tài),從而在發(fā)生鏈路故障時及時進行鏈路故障切換;再一方面,在進行端口狀態(tài)切換后,交換機根據(jù)其上的MAC地址表生成單播報文,通過該端口發(fā)送所生成的單播報文,以使 EC根據(jù)該單播報文進行MAC地址表更新,并通過該端口所屬VLAN內(nèi)除了該端口以外的其他端口發(fā)送Flush報文,以通知同VLAN內(nèi)的其他網(wǎng)絡(luò)設(shè)備更新包括MAC地址表在內(nèi)的相關(guān)表項,從而使其他設(shè)備及時更新各自的MAC地址表等相關(guān)表項。與現(xiàn)有技術(shù)相比,減少了鏈路切換的時延。需要說明的是本發(fā)明的上述實施例是以視頻監(jiān)控系統(tǒng)的組網(wǎng)架構(gòu)為例描述的,事實上本發(fā)明實施例也可應(yīng)用于類似網(wǎng)絡(luò)架構(gòu)以及有類似需求的組網(wǎng)系統(tǒng),如,對于某些雙網(wǎng)口設(shè)備,其不支持STP、RRPP等特性的情況,采用本發(fā)明實施例也可減少鏈路切換時延, 提高鏈路切換效率?;谙嗤募夹g(shù)構(gòu)思,本發(fā)明實施例還提供了一種可應(yīng)用于上述流程的交換設(shè)備。如圖5所示,該交換設(shè)備可包括鏈路檢測配置模塊501,用于在與網(wǎng)絡(luò)設(shè)備雙網(wǎng)口連接的端口上配置鏈路檢測協(xié)議;鏈路檢測模塊502,用于根據(jù)在與所述網(wǎng)絡(luò)設(shè)備連接的端口上所配置的鏈路檢測協(xié)議與連接于所述所述網(wǎng)絡(luò)設(shè)備雙網(wǎng)口中的另一網(wǎng)口的對端交換設(shè)備之間進行鏈路檢測;端口狀態(tài)管理模塊503,用于在本端交換設(shè)備檢測到對端交換設(shè)備鏈路故障,且本端交換設(shè)備上與所述網(wǎng)絡(luò)設(shè)備連接的端口為待命狀態(tài)時,將該待命狀態(tài)的端口切換為轉(zhuǎn)發(fā)狀態(tài);表項刷新通知模塊504,用于根據(jù)本端交換設(shè)備上的MAC地址表生成單播報文,通
10過切換為轉(zhuǎn)發(fā)狀態(tài)的端口發(fā)送所生成的單播報文,并通過該端口所屬VLAN內(nèi)除了該端口以外的其他端口發(fā)送Flush報文;其中,所述單播報文的源MAC地址分別為所述MAC地址表中該端口所屬VLAN內(nèi)的MAC地址,且各單播報文的源MAC地址各不相同,所述單播報文的目的MAC地址為所述本端交換設(shè)備從對端交換設(shè)備接收過的鏈路檢測報文的源MAC地址, 所述單播報文用于使接收到該報文的網(wǎng)絡(luò)設(shè)備根據(jù)該報文進行MAC地址表更新。上述交換設(shè)備中,表項刷新通知模塊504在根據(jù)MAC地址表生成單播報文時,可針對MAC地址表中所述端口所屬VLAN內(nèi)除了該端口作為出端口所對應(yīng)的MAC地址以外,分別使用其他MAC地址作為源MAC地址生成單播報文。上述交換設(shè)備中,端口狀態(tài)管理模塊503還可在鏈路檢測配置模塊501配置鏈路檢測協(xié)議之后,使本端交換設(shè)備上與所述網(wǎng)絡(luò)設(shè)備連接的端口進入學(xué)習狀態(tài),根據(jù)本端交換設(shè)備發(fā)送的和從對端交換設(shè)備接收的鏈路檢測報文,將該端口從學(xué)習狀態(tài)切換為轉(zhuǎn)發(fā)狀態(tài)或待命狀態(tài)。上述交換設(shè)備中,表項刷新通知模塊504還用于在本端交換設(shè)備上與所述網(wǎng)絡(luò)設(shè)備連接的端口為轉(zhuǎn)發(fā)狀態(tài)的情況下,本端交換設(shè)備檢測到對端交換設(shè)備鏈路故障恢復(fù), 并將該端口從轉(zhuǎn)發(fā)狀態(tài)切換為待命狀態(tài)之后,通過該端口所屬的VLAN內(nèi)除該端口以外的其他端口發(fā)送Flush報文;以及,在該端口上進行shutdown和up的快速切換操作,以使所述網(wǎng)絡(luò)設(shè)備感知該鏈路的狀態(tài)變化并在感知到該鏈路狀態(tài)變化后清空與該鏈路連接的端口上的MAC地址表。上述交換設(shè)備中,端口狀態(tài)管理模塊503還用于在本端交換設(shè)備為發(fā)生鏈路故障的交換設(shè)備且鏈路故障恢復(fù)時,將與所述網(wǎng)絡(luò)設(shè)備連接的端口進入學(xué)習狀態(tài),根據(jù)本端交換設(shè)備發(fā)送的和從對端交換設(shè)備接收的鏈路檢測報文,將本端交換設(shè)備上與所述網(wǎng)絡(luò)設(shè)備連接的端口從學(xué)習狀態(tài)切換為轉(zhuǎn)發(fā)狀態(tài)或待命狀態(tài);以及,在本端交換設(shè)備上當前與所述網(wǎng)絡(luò)設(shè)備連接的端口為轉(zhuǎn)發(fā)狀態(tài),并檢測到對端交換設(shè)備鏈路故障恢復(fù)時,根據(jù)本端交換設(shè)備發(fā)送的和從對端交換設(shè)備接收的鏈路檢測報文,將本端交換設(shè)備上與所述網(wǎng)絡(luò)設(shè)備連接的端口從轉(zhuǎn)發(fā)狀態(tài)切換為待命狀態(tài)或保持轉(zhuǎn)發(fā)狀態(tài)。上述交換設(shè)備中,鏈路檢測配置模塊501還可與上行鏈路上的設(shè)備之間配置鏈路檢測協(xié)議。相應(yīng)的,鏈路檢測模塊502根據(jù)與上行鏈路上的設(shè)備之間配置的鏈路檢測協(xié)議, 與上行鏈路上的設(shè)備進行鏈路檢測。端口狀態(tài)管理模塊503還用于在本端交換設(shè)備上與所述網(wǎng)絡(luò)設(shè)備連接的端口為轉(zhuǎn)發(fā)狀態(tài)的情況下,檢測到上行鏈路故障時,將本端交換設(shè)備上與所述網(wǎng)絡(luò)設(shè)備連接的當前為轉(zhuǎn)發(fā)狀態(tài)的端口阻塞。上述交換設(shè)備中,端口狀態(tài)管理模塊503還用于在本端交換設(shè)備上與所述網(wǎng)絡(luò)設(shè)備連接的端口為阻塞狀態(tài)的情況下檢測到上行鏈路故障恢復(fù)后,將阻塞的端口恢復(fù)為學(xué)習狀態(tài),根據(jù)本端交換設(shè)備發(fā)送的和從對端交換設(shè)備接收的鏈路檢測報文,將該端口從學(xué)習狀態(tài)切換為轉(zhuǎn)發(fā)狀態(tài)或待命狀態(tài)。通過以上的實施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明可借助軟件加必需的通用硬件平臺的方式來實現(xiàn),當然也可以通過硬件,但很多情況下前者是更佳的實施方式?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺終端設(shè)備(可以是手機,個人計算機,服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行
11本發(fā)明各個實施例所述的方法。 以上所述僅是本發(fā)明的優(yōu)選實施方式,應(yīng)當指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應(yīng)視本發(fā)明的保護范圍。
權(quán)利要求
1.一種鏈路切換方法,應(yīng)用于網(wǎng)絡(luò)設(shè)備雙網(wǎng)口分別連接有不同交換設(shè)備的網(wǎng)絡(luò),其特征在于,該方法包括網(wǎng)絡(luò)設(shè)備雙網(wǎng)口連接的兩個交換設(shè)備之間,根據(jù)在與所述網(wǎng)絡(luò)設(shè)備連接的端口上所配置的鏈路檢測協(xié)議進行鏈路檢測;當所述兩個交換設(shè)備中有交換設(shè)備檢測到對端交換設(shè)備鏈路故障,且本端交換設(shè)備上與所述網(wǎng)絡(luò)設(shè)備連接的端口為待命狀態(tài)時,將該待命狀態(tài)的端口切換為轉(zhuǎn)發(fā)狀態(tài),根據(jù)本端交換設(shè)備的媒體接入控制MAC地址表生成單播報文,通過該切換為轉(zhuǎn)發(fā)狀態(tài)的端口發(fā)送所生成的單播報文,并通過該端口所屬虛擬局域網(wǎng)VLAN內(nèi)除了該端口以外的其他端口發(fā)送Flush報文;其中,所述單播報文的源MAC地址分別為所述MAC地址表中該端口所屬VLAN 內(nèi)的MAC地址,且各單播報文的源MAC地址各不相同,所述單播報文的目的MAC地址為所述本端交換設(shè)備從對端交換設(shè)備接收過的鏈路檢測報文的源MAC地址,所述單播報文用于使接收到該報文的網(wǎng)絡(luò)設(shè)備根據(jù)該報文進行MAC地址表更新。
2.如權(quán)利要求1所述的方法,其特征在于,交換設(shè)備根據(jù)MAC地址表生成單播報文時, 針對MAC地址表中所述端口所屬VLAN內(nèi)除了該端口作為出端口所對應(yīng)的MAC地址以外,分別使用其他MAC地址作為源MAC地址生成單播報文。
3.如權(quán)利要求1所述的方法,其特征在于,在交換設(shè)備與所述網(wǎng)絡(luò)設(shè)備連接的端口上配置鏈路檢測協(xié)議之后,還包括交換設(shè)備上與所述網(wǎng)絡(luò)設(shè)備連接的端口進入學(xué)習狀態(tài),該交換設(shè)備根據(jù)本端交換設(shè)備發(fā)送的和從對端交換設(shè)備接收的鏈路檢測報文,將本端交換設(shè)備上與所述網(wǎng)絡(luò)設(shè)備連接的端口從學(xué)習狀態(tài)切換為轉(zhuǎn)發(fā)狀態(tài)或待命狀態(tài)。
4.如權(quán)利要求1所述的方法,其特征在于,還包括當前與所述網(wǎng)絡(luò)設(shè)備連接的端口為轉(zhuǎn)發(fā)狀態(tài)的交換設(shè)備檢測到對端交換設(shè)備鏈路故障恢復(fù)時,且該端口從轉(zhuǎn)發(fā)狀態(tài)切換為待命狀態(tài)之后,還包括端口從轉(zhuǎn)發(fā)狀態(tài)切換為待命狀態(tài)的交換設(shè)備通過該端口所屬的VLAN內(nèi)除該端口以外的其他端口發(fā)送Flush報文;在該端口上進行shutdown和up的快速切換操作,以使所述網(wǎng)絡(luò)設(shè)備感知該鏈路的狀態(tài)變化并在感知到該鏈路狀態(tài)變化后清空與該鏈路連接的端口上的MAC地址表。
5.如權(quán)利要求1所述的方法,其特征在于,還包括交換設(shè)備鏈路故障恢復(fù)時,發(fā)生鏈路故障的交換設(shè)備上與所述網(wǎng)絡(luò)設(shè)備連接的端口進入學(xué)習狀態(tài),該交換設(shè)備根據(jù)本端交換設(shè)備發(fā)送的和從對端交換設(shè)備接收的鏈路檢測報文,將本端交換設(shè)備上與所述網(wǎng)絡(luò)設(shè)備連接的端口從學(xué)習狀態(tài)切換為轉(zhuǎn)發(fā)狀態(tài)或待命狀態(tài);當前與所述網(wǎng)絡(luò)設(shè)備連接的端口為轉(zhuǎn)發(fā)狀態(tài)的交換設(shè)備檢測到對端交換設(shè)備鏈路故障恢復(fù)時,根據(jù)本端交換設(shè)備發(fā)送的和從對端交換設(shè)備接收的鏈路檢測報文,將本端交換設(shè)備上與所述網(wǎng)絡(luò)設(shè)備連接的端口從轉(zhuǎn)發(fā)狀態(tài)切換為待命狀態(tài)或保持轉(zhuǎn)發(fā)狀態(tài)。
6.如權(quán)利要求1所述的方法,其特征在于,所述交換設(shè)備與上行鏈路上的設(shè)備之間配置有鏈路檢測協(xié)議,該方法還包括當前與所述網(wǎng)絡(luò)設(shè)備連接的端口為轉(zhuǎn)發(fā)狀態(tài)的交換設(shè)備檢測到上行鏈路故障時,將本設(shè)備上與所述網(wǎng)絡(luò)設(shè)備連接的當前為轉(zhuǎn)發(fā)狀態(tài)的端口阻塞。
7.如權(quán)利要求6所述的方法,其特征在于,當與所述網(wǎng)絡(luò)設(shè)備連接的端口為阻塞狀態(tài)的交換設(shè)備檢測到上行鏈路故障恢復(fù)后,還包括將阻塞的端口恢復(fù)為學(xué)習狀態(tài),根據(jù)本端交換設(shè)備發(fā)送的和從對端交換設(shè)備接收的鏈路檢測報文,將該端口從學(xué)習狀態(tài)切換為轉(zhuǎn)發(fā)狀態(tài)或待命狀態(tài)。
8.一種交換設(shè)備,應(yīng)用于網(wǎng)絡(luò)設(shè)備雙網(wǎng)口分別連接有不同交換設(shè)備的網(wǎng)絡(luò),其特征在于,包括鏈路檢測配置模塊,用于在與網(wǎng)絡(luò)設(shè)備雙網(wǎng)口連接的端口上配置鏈路檢測協(xié)議;鏈路檢測模塊,用于根據(jù)在與所述網(wǎng)絡(luò)設(shè)備連接的端口上所配置的鏈路檢測協(xié)議與連接于所述所述網(wǎng)絡(luò)設(shè)備雙網(wǎng)口中的另一網(wǎng)口的對端交換設(shè)備之間進行鏈路檢測;端口狀態(tài)管理模塊,用于在本端交換設(shè)備檢測到對端交換設(shè)備鏈路故障,且本端交換設(shè)備上與所述網(wǎng)絡(luò)設(shè)備連接的端口為待命狀態(tài)時,將該待命狀態(tài)的端口切換為轉(zhuǎn)發(fā)狀態(tài);表項刷新通知模塊,用于根據(jù)本端交換設(shè)備上的MAC地址表生成單播報文,通過切換為轉(zhuǎn)發(fā)狀態(tài)的端口發(fā)送所生成的單播報文,并通過該端口所屬VLAN內(nèi)除了該端口以外的其他端口發(fā)送Flush報文;其中,所述單播報文的源MAC地址分別為所述MAC地址表中該端口所屬VLAN內(nèi)的MAC地址,且各單播報文的源MAC地址各不相同,所述單播報文的目的MAC 地址為所述本端交換設(shè)備從對端交換設(shè)備接收過的鏈路檢測報文的源MAC地址,所述單播報文用于使接收到該報文的網(wǎng)絡(luò)設(shè)備根據(jù)該報文進行MAC地址表更新。
9.如權(quán)利要求8所述的交換設(shè)備,其特征在于,所述表項刷新通知模塊具體用于,在根據(jù)MAC地址表生成單播報文時,針對MAC地址表中所述端口所屬VLAN內(nèi)除了該端口作為出端口所對應(yīng)的MAC地址以外,分別使用其他MAC地址作為源MAC地址生成單播報文。
10.如權(quán)利要求8所述的交換設(shè)備,其特征在于,所述端口狀態(tài)管理模塊還用于,在所述鏈路檢測配置模塊配置鏈路檢測協(xié)議之后,使本端交換設(shè)備上與所述網(wǎng)絡(luò)設(shè)備連接的端口進入學(xué)習狀態(tài),根據(jù)本端交換設(shè)備發(fā)送的和從對端交換設(shè)備接收的鏈路檢測報文,將該端口從學(xué)習狀態(tài)切換為轉(zhuǎn)發(fā)狀態(tài)或待命狀態(tài)。
11.如權(quán)利要求8所述的交換設(shè)備,其特征在于,所述表項刷新通知模塊還用于,在本端交換設(shè)備上與所述網(wǎng)絡(luò)設(shè)備連接的端口為轉(zhuǎn)發(fā)狀態(tài)的情況下,本端交換設(shè)備檢測到對端交換設(shè)備鏈路故障恢復(fù),并將該端口從轉(zhuǎn)發(fā)狀態(tài)切換為待命狀態(tài)之后,通過該端口所屬的 VLAN內(nèi)除該端口以外的其他端口發(fā)送Flush報文;以及,在該端口上進行shutdown和up的快速切換操作,以使所述網(wǎng)絡(luò)設(shè)備感知該鏈路的狀態(tài)變化并在感知到該鏈路狀態(tài)變化后清空與該鏈路連接的端口上的MAC地址表。
12.如權(quán)利要求8所述的交換設(shè)備,其特征在于,所述端口狀態(tài)管理模塊還用于,在本端交換設(shè)備為發(fā)生鏈路故障的交換設(shè)備且鏈路故障恢復(fù)時,將與所述網(wǎng)絡(luò)設(shè)備連接的端口進入學(xué)習狀態(tài),根據(jù)本端交換設(shè)備發(fā)送的和從對端交換設(shè)備接收的鏈路檢測報文,將本端交換設(shè)備上與所述網(wǎng)絡(luò)設(shè)備連接的端口從學(xué)習狀態(tài)切換為轉(zhuǎn)發(fā)狀態(tài)或待命狀態(tài);以及在本端交換設(shè)備上當前與所述網(wǎng)絡(luò)設(shè)備連接的端口為轉(zhuǎn)發(fā)狀態(tài),并檢測到對端交換設(shè)備鏈路故障恢復(fù)時,根據(jù)本端交換設(shè)備發(fā)送的和從對端交換設(shè)備接收的鏈路檢測報文,將本端交換設(shè)備上與所述網(wǎng)絡(luò)設(shè)備連接的端口從轉(zhuǎn)發(fā)狀態(tài)切換為待命狀態(tài)或保持轉(zhuǎn)發(fā)狀態(tài)。
13.如權(quán)利要求8所述的交換設(shè)備,其特征在于,所述鏈路檢測配置模塊還用于,與上行鏈路上的設(shè)備之間配置鏈路檢測協(xié)議;所述鏈路檢測模塊還用于,根據(jù)與上行鏈路上的設(shè)備之間配置的鏈路檢測協(xié)議,與上行鏈路上的設(shè)備進行鏈路檢測;所述端口狀態(tài)管理模塊還用于,在本端交換設(shè)備上與所述網(wǎng)絡(luò)設(shè)備連接的端口為轉(zhuǎn)發(fā)狀態(tài)的情況下,檢測到上行鏈路故障時,將本端交換設(shè)備上與所述網(wǎng)絡(luò)設(shè)備連接的當前為轉(zhuǎn)發(fā)狀態(tài)的端口阻塞。
14.如權(quán)利要求13所述的交換設(shè)備,其特征在于,所述端口狀態(tài)管理模塊還用于,在本端交換設(shè)備上與所述網(wǎng)絡(luò)設(shè)備連接的端口為阻塞狀態(tài)的情況下檢測到上行鏈路故障恢復(fù)后,將阻塞的端口恢復(fù)為學(xué)習狀態(tài),根據(jù)本端交換設(shè)備發(fā)送的和從對端交換設(shè)備接收的鏈路檢測報文,將該端口從學(xué)習狀態(tài)切換為轉(zhuǎn)發(fā)狀態(tài)或待命狀態(tài)。
全文摘要
本發(fā)明公開了一種鏈路切換方法及其裝置,應(yīng)用于網(wǎng)絡(luò)設(shè)備雙網(wǎng)口分別連接有不同交換設(shè)備的網(wǎng)絡(luò),該方法包括該兩個交換設(shè)備之間進行鏈路檢測;當有交換設(shè)備檢測到對端鏈路故障,且本端與所述網(wǎng)絡(luò)設(shè)備連接的端口為待命狀態(tài)時,將該端口切換為轉(zhuǎn)發(fā)狀態(tài),根據(jù)本端的MAC地址表生成單播報文并通過該端口發(fā)送,通過該端口所屬VLAN內(nèi)除了該端口以外的其他端口發(fā)送Flush報文;其中,所述單播報文的源MAC地址分別為所述MAC地址表中該端口所屬VLAN內(nèi)的MAC地址,且各單播報文的源MAC地址各不相同,目的MAC地址為本端交換設(shè)備從對端接收過的鏈路檢測報文的源MAC地址,該單播報文用于使接收到該報文的網(wǎng)絡(luò)設(shè)備根據(jù)該報文進行MAC地址表更新。本發(fā)明可減少鏈路切換時延。
文檔編號H04L12/24GK102255757SQ20111022565
公開日2011年11月23日 申請日期2011年8月8日 優(yōu)先權(quán)日2011年8月8日
發(fā)明者周迪, 林鵬程 申請人:杭州華三通信技術(shù)有限公司