轉發表的設置,提升系統設備間的穩定性。
[0039]如圖1所示,當系統中某一成員設備按照需求需要將其某一成員端口退出鏈路時,預先通知對端成員設備其成員端口即將異常,具體的操作步驟包括:
[0040]S101、收到成員端口退出指令的成員設備,向對端成員設備發送消息通知報文,告知對端成員設備所述成員端口即將異常;具體實現步驟包括:
[0041]收到成員端口退出指令的成員設備獲取本地即將退出鏈路的成員端口的物理端口編號和即將退出的鏈路的邏輯端口編號。端口編號為用戶自定義,主要用于不同端口的識別。
[0042]組裝消息通知報文,消息通知報文為用戶自定義報文或者是在已有通用協議報文中進行擴展,消息通知報文的內容包含:消息類型,用于表示鏈路中有成員端口退出、有成員端口退出的鏈路的邏輯口編號和退出鏈路的成員端口的物理端口編號。
[0043]將組裝好的消息通知報文按最高優先級方式發送給對端成員設備,為了保證成員設備能盡快接收處理該消息通知報文,所以消息通知報文會以最高優先級進行發送。
[0044]S102、對端成員設備在收到所述消息通知報文后,提前觸發與所述成員端口對應連接的本地成員端口進行業務切換。具體實現步驟包括:
[0045]對端成員設備接收到有成員端口退出鏈路的消息通知報文后,解析該消息通知報文,獲取即將退出鏈路的成員端口的物理端口編號和所述成員端口將退出的鏈路的邏輯端口編號;根據所述成員端口的物理端口編號和所述成員端口將退出的鏈路的邏輯口編號,查找與之對應連接的本地成員端口的物理端口編號和對應連接的鏈路的邏輯端口編號;根據查找到的本地成員端口的物理端口編號和對應連接的鏈路的邏輯端口編號,觸發本地成員端口進行新業務端口的切換,同時更新軟硬件轉發表。
[0046]S103、所述收到成員端口退出指令的成員設備執行相應的退出操作。具體實現包括:從本地非異常成員端口中選出新的成員端口作為設備間的業務轉發端口,同時更新軟硬件轉發表。
[0047]本發明實施例以兩臺交換設備組成的堆疊系統為例來詳細說明本發明的技術方案和技術效果,如圖2所示,堆疊系統由SW0設備和SW1設備兩臺三層交換機組成,SW0設備配置有一條虛擬交換鏈路(vsl-channel 0/1),vsl_channel 0/1鏈路中添加有兩個物理成員端口 teO/1/l和teO/1/2 aSWl設備配置有一條虛擬交換鏈路(vs 1-channel 1/1),vs 1-channel 1/1鏈路中添加有兩個物理成員端口 tel/1/1和tel/1/2 JWO與SW1兩臺設備虛擬交換鏈路連接關系是vsl-channel 0/1對應vsl_channel 1/1;兩臺設備間物理端口連接關系teO/1/l連接tel/1/1,te0/l/2連接tel/1/2。虛擬交換鏈路里面存在有兩個物理端口,堆疊設備SWO和SW1需要選舉出控制端口,以便通過控制端口收發設備間交互的業務數據報文;SWO設備選舉teO/1/l為控制端口,SW1設備對應選舉tel/1/l為控制端口。同時,兩臺堆疊設備還需要通過交互選舉產生出主控設備和成員設備,經過選舉產生出主控設備為SWO,成員設備為SW1。堆疊系統完成所有選舉后,系統將進入穩定狀態。
[0048]當SWO設備根據管理需求,收到需要將控制端口teO/1/l退出虛擬交換鏈路vsl-channel 0/1相關操作指令,此操作將導致teO/1/l端口不能再作為SWO設備的堆疊端口進行業務數據報文操作。在本發明實施例中,SW0設備在執行控制端口 teO/1/l退出虛擬交換鏈路vsl-channel 0/1時,SW0設備所需執行的具體操作步驟包括:
[0049]步驟一:SW0設備根據需求,需要將控制端口 teO/1/l退出虛擬交換鏈路vsl-channel 0/1,執行端口退出的操作方式通常有:shell命令配置和snmp代理執行。
[0050]步驟二: SW0設備根據shel 1命令中攜帶的端口數據或者snmp代理下發的端口數據,獲取控制端口teO/1/l所對應內部端口編號和虛擬交換鏈路vsl-channel 0/1對應的邏輯端口內部編號。
[0051 ] 步驟三:根據步驟二獲取的控制端口 teO/1/l和虛擬交換鏈路vsl-channel 0/1的內部端口編號組裝消息通知報文,在本實施例中組裝的消息通知報文通過對LMP(LinkManagement Protocol)鏈路管理協議字段的擴充實現。
[0052]步驟四:根據步驟三組裝好的消息通知報文,SW0將按照設備處理報文最高優先級發送原則對該消息通知報文進行處理。為了保證成員設備SW1設備能盡快接收處理該報文,所以消息通知報文會以最高優先級進行發送。
[0053]步驟五:發送消息通知報文成功后,SW0設備將會根據現有成員端口信息選舉出新的控制端口teO/1/2,然后將選舉出新的控制端口信息更新到軟硬件轉發表中。此時新的控制端口 teO/1/2將負責后續堆疊設備SWO和SW1之間的業務數據收發。
[0054]SW1設備在接收到來自于SW0的消息通知報文后,SW1設備所需要執行的具體操作步驟包括:
[0055]步驟一:SW1設備接收來自于SWO設備的消息通知報文,由于此消息通知報文需要優先處理,所以需要按照SW1設備接收最高優先級的報文處理流程執行。
[0056]步驟二:根據步驟一接收到的消息通知報文,解析獲取出該消息通知報文攜帶的數據信息。信息中包含:消息類型、退出虛擬交換鏈路的控制端口 teO/1/l對應的內部端口編號和虛擬交換鏈路vsl-channel 0/1邏輯端口內部編號。
[0057]步驟三,根據步驟二中解析的出的vsl-channel 0/1內部端口編號和teO/1/l內部端口編號,查詢出SW1設備與之對接的虛擬交換鏈路vsl-channel 1/1和堆疊控制端口 tel/1/1。
[0058]步驟四,根據步驟三獲取的SW1設備的堆疊控制端口 tel/1/1,可以預判出從此控制端口 tel/1/l所發送的業務數據報文即將或者已經無法到達堆疊設備SW0,因為與之對接的控制端口 teO/1/l即將退出或者已經退出虛擬交換鏈路vsl-channeO/1,te0/l/l端口將變成普通端口,不會再承載堆疊業務數據的轉發能力。為了保證SW1設備能快速切換承載堆疊業務數據的轉發端口,需要模擬控制tel/1/l端口故障,觸發SW1設備對控制端口選舉。
[0059]步驟五:根據步驟四觸發SW1設備控制端口的選舉,SW1設備選舉出新控制端口tel/1/2,然后更新SW1堆疊設備的軟硬件轉發表。tel/1/2端口將承載SW0設備與SW1設備之間堆疊業務數據接收與轉發。
[0060]通常情況下,SW1設備虛擬交換鏈路中的控制端口 tel/1/l端口需要檢測DOWN事件后,才能進行控制端口的選舉切換。SW1設備在進行控制端口切換前,所有堆疊業務發送數據均需要通過tel/1/l端口進行發送,而此時與之對接的端口 teO/1/l已經無法處理堆疊業務數據,這樣就會導致SW1設備發送到SW0設備的數據出現中斷,直到新選舉出控制端口tel/1/2,業務數據轉發才能恢復。在本發明實施例中主要是采用預通知機制,提前觸發堆疊設備SW1設備進行虛擬交換鏈路中控制端口的選舉切換,從而加快了虛擬交換鏈路的收斂,增強了堆疊系統的穩定性。
[0061]如圖3所示,為本發明實施例1提供一種鏈路快速收斂的裝置,該實施裝置相當于實施上述鏈路快速收斂方法的成員設備,建立包括至少兩條物理連接的鏈路的兩端成員設備之間是對等的,也就是說該裝置即可以是發送消息通知報文的成員設備,也可能是接收消息通知報文的設備。當作為收到成員端口退出指令的成員設備,