網(wǎng)絡(luò)故障恢復(fù)方法、控制服務(wù)器及交換的制造方法
【專利摘要】本發(fā)明實(shí)施例提供一種網(wǎng)絡(luò)故障恢復(fù)方法、控制服務(wù)器及交換機(jī)。該方法通過控制服務(wù)器確定與第一交換機(jī)之間的現(xiàn)有鏈路中斷,接著,向第二交換機(jī)發(fā)送第一恢復(fù)流表,該第一恢復(fù)流表中包括控制服務(wù)器與第一交換機(jī)之間路由的信息以及第二端口的信息,該第二端口為第二交換機(jī)通與第一交換機(jī)通信的端口,再接著,向第二交換機(jī)發(fā)送第一LLDP消息,該第一LLDP消息用以確定控制服務(wù)器與第一交換機(jī)進(jìn)行通信的第一端口,然后,接收第一交換機(jī)從第一端口發(fā)送的第一TCP握手消息,并根據(jù)第一TCP握手消息建立控制服務(wù)器與第一交換機(jī)之間的緊急鏈路通道。從而實(shí)現(xiàn)第一交換機(jī)與控制器之間鏈路的恢復(fù),進(jìn)一步的,提高了該交換機(jī)所在網(wǎng)絡(luò)的可靠性及健壯性。
【專利說明】網(wǎng)絡(luò)故障恢復(fù)方法、控制服務(wù)器及交換機(jī)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明實(shí)施例涉及通信技術(shù),尤其涉及一種網(wǎng)絡(luò)故障恢復(fù)方法、控制服務(wù)器及交換機(jī)。
【背景技術(shù)】
[0002]OpenFlow技術(shù)是將原本完全由交換機(jī)或路由器控制數(shù)據(jù)包的轉(zhuǎn)發(fā)過程,轉(zhuǎn)化為由OpenFlow交換機(jī)(OpenFlow Switch)和控制服務(wù)器(Controller)分別完成的獨(dú)立過程。
[0003]現(xiàn)有Openflow技術(shù)對(duì)于控制面主要采取多控制服務(wù)器冗余策略,即一個(gè)交換機(jī)直接與至少2個(gè)控制服務(wù)器同時(shí)連接,然而在使用過程中,如果控制服務(wù)器發(fā)生故障引起一條控制通道中斷時(shí),則可以將該交換機(jī)與控制服務(wù)器之間的控制通路切換到另一個(gè)與該交換機(jī)連接的控制服務(wù)器上。
[0004]然而,在現(xiàn)有技術(shù)中,如果交換機(jī)與控制服務(wù)器之間的鏈路中斷,無法恢復(fù)該交換機(jī)與該控制服務(wù)器的中斷。
【發(fā)明內(nèi)容】
[0005]本發(fā)明提供一種網(wǎng)絡(luò)故障恢復(fù)方法、控制服務(wù)器及交換機(jī),以解決交換機(jī)與控制服務(wù)器之間中斷鏈路的恢復(fù)。
[0006]第一個(gè)方面,本發(fā)明提供一種網(wǎng)絡(luò)故障恢復(fù)方法,包括:
[0007]控制服務(wù)器確定與第一交換機(jī)之間的現(xiàn)有鏈路中斷;
[0008]所述控制服務(wù)器向與所述第一交換機(jī)直接連接的第二交換機(jī)發(fā)送第一恢復(fù)流表,所述第一恢復(fù)流表中包括所述控制服務(wù)器與所述第一交換機(jī)之間路由的信息以及第二端口的信息,所述第二端口為所述第二交換機(jī)與所述第一交換機(jī)通信的端口,所述第二端口設(shè)置在所述第二交換機(jī);
[0009]所述控制服務(wù)器向所述第二交換機(jī)發(fā)送第一鏈路層發(fā)現(xiàn)協(xié)議LLDP消息,所述第一 LLDP消息用以確定所述控制服務(wù)器與所述第一交換機(jī)進(jìn)行通信的第一端口,所述第一端口設(shè)置在所述第一交換機(jī);
[0010]所述控制服務(wù)器接收所述第一交換機(jī)從所述第一端口發(fā)送的第一 TCP握手消息,所述第一端口為所述第一交換機(jī)接收所述控制服務(wù)器發(fā)送的所述第一 LLDP消息的端口 ;
[0011]所述控制服務(wù)器根據(jù)所述第一 TCP握手消息建立所述控制服務(wù)器與所述第一交換機(jī)之間的緊急鏈路通道,其中,所述第一交換機(jī)從第一端口發(fā)送的所述第一 TCP握手消息是由所述第二交換機(jī)根據(jù)所述第一恢復(fù)流表轉(zhuǎn)發(fā)給所述控制服務(wù)器的。
[0012]在第一種可能的實(shí)現(xiàn)方式中,所述控制服務(wù)器確定與第一交換機(jī)之間的現(xiàn)有鏈路中斷,包括:
[0013]所述控制服務(wù)器確定所述控制服務(wù)器與所述第一交換機(jī)之間的第一鏈路中斷,所述第一鏈路為所述第一交換機(jī)通過帶外接口與所述控制服務(wù)器相連的鏈路。
[0014]在第二種可能的實(shí)現(xiàn)方式中,所述控制服務(wù)器確定與第一交換機(jī)之間的現(xiàn)有鏈路中斷,包括:
[0015]所述控制服務(wù)器確定第三交換機(jī)與所述第一交換機(jī)之間的第二鏈路中斷,所述第一交換機(jī)通過所述第三交換機(jī)與所述控制服務(wù)器連接,其中,所述第三交換機(jī)與所述第一交換機(jī)直接連接。
[0016]結(jié)合第一個(gè)方面的第二種可能的實(shí)現(xiàn)方式,在第三種可能的實(shí)現(xiàn)方式中,所述控制服務(wù)器向所述第二交換機(jī)發(fā)送所述第一鏈路層發(fā)現(xiàn)協(xié)議LLDP消息之前,還包括:
[0017]所述控制服務(wù)器向所述第三交換機(jī)發(fā)送第二恢復(fù)流表,所述第二恢復(fù)流表中包括所述控制服務(wù)器通過所述第三交換機(jī)與所述第一交換機(jī)之間路由的信息以及第四端口的信息,所述第四端口為所述第三交換機(jī)通過所述第二交換機(jī)與所述第一交換機(jī)通信的端口,所述第四端口設(shè)置在所述第三交換機(jī);
[0018]所述控制服務(wù)器向所述第三交換機(jī)發(fā)送第二 LLDP消息,所述第二 LLDP消息用以確定所述控制服務(wù)器與所述第二交換機(jī)進(jìn)行通信的第三端口 ;
[0019]所述控制服務(wù)器接收所述第二交換機(jī)從所述第三端口發(fā)送的第二 TCP握手消息,所述第三端口為所述第二交換機(jī)接收所述控制服務(wù)器發(fā)送的所述第二 LLDP消息的端口 ;
[0020]所述控制服務(wù)器根據(jù)所述第二 TCP握手消息建立所述控制服務(wù)器與所述第二交換機(jī)之間的緊急鏈路通道,以用于建立所述控制服務(wù)器與所述第一交換機(jī)之間的緊急鏈路通道,其中,所述第二交換機(jī)從所述第三端口發(fā)送的所述第二 TCP握手消息是由所述第三交換機(jī)根據(jù)所述第二恢復(fù)流表轉(zhuǎn)發(fā)給所述控制服務(wù)器的。
[0021]結(jié)合第一個(gè)方面或是第一個(gè)方面的第一種可能的實(shí)現(xiàn)方式,在第四種可能的實(shí)現(xiàn)方式中,所述控制服務(wù)器根據(jù)所述第一 TCP握手消息建立所述控制服務(wù)器與所述第一交換機(jī)之間的緊急鏈路通道之后,還包括:
[0022]所述控制服務(wù)器接收所述第一交換機(jī)通過所述第二交換機(jī)的所述第二端口發(fā)送的TCP完成指示,所述TCP完成指示用于指示所述控制服務(wù)器斷開所述控制服務(wù)器與所述第一交換機(jī)之間的緊急鏈路通道;
[0023]所述控制服務(wù)器接收所述第一交換機(jī)發(fā)送的恢復(fù)鏈路請(qǐng)求,所述恢復(fù)鏈路請(qǐng)求用于指示所述控制服務(wù)器恢復(fù)所述控制服務(wù)器與所述第一交換機(jī)之間的所述現(xiàn)有鏈路。
[0024]結(jié)合第一個(gè)方面的第四種可能的實(shí)現(xiàn)方式,在第五種可能的實(shí)現(xiàn)方式中,所述控制服務(wù)器接收所述第一交換機(jī)發(fā)送的恢復(fù)鏈路請(qǐng)求之后,還包括:
[0025]所述控制服務(wù)器向所述第二交換機(jī)發(fā)送流表修改信息,所述流表修改信息用以刪除所述第二交換機(jī)上存儲(chǔ)的所述第一恢復(fù)流表。
[0026]第二個(gè)方面,本發(fā)明實(shí)施例提供一種網(wǎng)絡(luò)故障恢復(fù)方法,包括:
[0027]在第一交換機(jī)與控制服務(wù)器之間的現(xiàn)有鏈路中斷的情況下,所述第一交換機(jī)接收所述控制服務(wù)器發(fā)送的第一鏈路層發(fā)現(xiàn)協(xié)議LLDP消息,所述第一 LLDP消息用以確定所述控制服務(wù)器與所述第一交換機(jī)通信的第一端口,所述第一端口設(shè)置在所述第一交換機(jī);
[0028]所述第一交換機(jī)從第一端口向所述控制服務(wù)器發(fā)送第一 TCP握手消息,所述第一端口為所述第一交換機(jī)接收所述控制服務(wù)器發(fā)送的所述第一 LLDP消息的端口,所述第一TCP握手消息用以建立所述控制服務(wù)器與所述第一交換機(jī)之間的緊急鏈路通道,其中,所述第一 TCP握手消息是由第二交換機(jī)根據(jù)所述第一恢復(fù)流表轉(zhuǎn)發(fā)給所述控制服務(wù)器的,并且所述第一交換機(jī)與所述第二交換機(jī)直接連接。
[0029]在第一種可能的實(shí)現(xiàn)方式中,所述第一交換機(jī)從第一端口向所述控制服務(wù)器發(fā)送第一 TCP握手消息之后,還包括:
[0030]所述第一交換機(jī)通過所述第二交換機(jī)的所述第二端口向所述控制服務(wù)器發(fā)送TCP完成指示,所述TCP完成指示用于指示所述控制服務(wù)器斷開所述控制服務(wù)器與所述第一交換機(jī)之間的緊急鏈路通道;
[0031]所述第一交換機(jī)向所述控制服務(wù)器發(fā)送恢復(fù)鏈路請(qǐng)求,所述恢復(fù)鏈路請(qǐng)求用于指示所述控制服務(wù)器恢復(fù)所述控制服務(wù)器與所述第一交換機(jī)之間的所述現(xiàn)有鏈路。
[0032]第三個(gè)方面,本發(fā)明實(shí)施例提供一種控制服務(wù)器,包括:
[0033]確定模塊,用于確定與第一交換機(jī)之間的現(xiàn)有鏈路中斷;
[0034]第一發(fā)送模塊,用于向與所述第一交換機(jī)直接連接的第二交換機(jī)發(fā)送第一恢復(fù)流表,所述第一恢復(fù)流表中包括有所述控制服務(wù)器與所述第一交換機(jī)之間路由的信息以及第二端口的信息,所述第二端口為所述第二交換機(jī)與所述第一交換機(jī)通信的端口,所述第二端口設(shè)置在所述第二交換機(jī);
[0035]第二發(fā)送模塊,用于向所述第二交換機(jī)發(fā)送第一鏈路層發(fā)現(xiàn)協(xié)議LLDP消息,所述第一 LLDP消息用以確定所述控制服務(wù)器與所述第一交換機(jī)進(jìn)行通信的第一端口,所述第一端口設(shè)置在所述第一交換機(jī);
[0036]接收模塊,用于接收所述第一交換機(jī)從所述第一端口發(fā)送的第一 TCP握手消息,所述第一端口為所述第一交換機(jī)接收所述控制服務(wù)器發(fā)送的所述第一 LLDP消息的端口 ;
[0037]建立模塊,用于根據(jù)所述第一 TCP握手消息建立所述控制服務(wù)器與所述第一交換機(jī)之間的緊急鏈路通道,其中,所述第一交換機(jī)從第一端口發(fā)送的所述第一 TCP握手消息是由所述第二交換機(jī)根據(jù)所述第一恢復(fù)流表轉(zhuǎn)發(fā)給所述接收模塊的。
[0038]在第一種可能的實(shí)現(xiàn)方式中,所述確定模塊,具體用于確定所述控制服務(wù)器與所述第一交換機(jī)之間的第一鏈路中斷,所述第一鏈路為所述第一交換機(jī)通過帶外接口與所述控制服務(wù)器相連的鏈路。
[0039]在第二種可能的實(shí)現(xiàn)方式中,所述確定模塊,具體用于確定第三交換機(jī)與所述第一交換機(jī)之間的第二鏈路中斷,所述第一交換機(jī)通過所述第三交換機(jī)與所述控制服務(wù)器連接,其中,所述第三交換機(jī)與所述第一交換機(jī)直接連接。
[0040]結(jié)合第三個(gè)方面的第二種可能的實(shí)現(xiàn)方式,在第三種可能的實(shí)現(xiàn)方式中,
[0041]所述第一發(fā)送模塊,還用于向所述第三交換機(jī)發(fā)送第二恢復(fù)流表,所述第二恢復(fù)流表中包括所述控制服務(wù)器通過所述第三交換機(jī)與所述第一交換機(jī)之間路由的信息以及第四端口的信息,所述第四端口為所述第三交換機(jī)通過所述第二交換機(jī)與所述第一交換機(jī)通信的端口,所述第四端口設(shè)置在所述第三交換機(jī);
[0042]所述第二發(fā)送模塊,還用于向所述第三交換機(jī)發(fā)送第二 LLDP消息,所述第二 LLDP消息用以確定所述控制服務(wù)器與所述第二交換機(jī)進(jìn)行通信的第三端口 ;
[0043]所述接收模塊,還用于接收所述第二交換機(jī)從所述第三端口發(fā)送的第二 TCP握手消息,所述第三端口為所述第二交換機(jī)接收所述控制服務(wù)器發(fā)送的所述第二 LLDP消息的端口 ;
[0044]所述建立模塊,還用于根據(jù)所述第二 TCP握手消息建立所述控制服務(wù)器與所述第二交換機(jī)之間的緊急鏈路通道,以用于建立與所述第一交換機(jī)之間的緊急鏈路通道,其中,所述第二交換機(jī)從所述第三端口發(fā)送的所述第二 TCP握手消息是由所述第三交換機(jī)根據(jù)所述第二恢復(fù)流表轉(zhuǎn)發(fā)的。
[0045]結(jié)合第三個(gè)方面或是第三個(gè)方面的第一種可能的實(shí)現(xiàn)方式,在第四種可能的實(shí)現(xiàn)方式中,所述接收模塊,還用于接收所述第一交換機(jī)通過所述第二交換機(jī)的所述第二端口發(fā)送的TCP完成指示,所述TCP完成指示用于指示所述控制服務(wù)器斷開所述控制服務(wù)器與所述第一交換機(jī)之間的緊急鏈路通道;
[0046]接收所述第一交換機(jī)發(fā)送的恢復(fù)鏈路請(qǐng)求,所述恢復(fù)鏈路請(qǐng)求用于指示所述控制服務(wù)器恢復(fù)所述控制服務(wù)器與所述第一交換機(jī)之間的所述現(xiàn)有鏈路。
[0047]結(jié)合第三個(gè)方面的第四種可能的實(shí)現(xiàn)方式,在第五種可能的實(shí)現(xiàn)方式中,
[0048]所述第一發(fā)送模塊,還用于向所述第二交換機(jī)發(fā)送流表修改信息,所述流表修改信息用以刪除所述第二交換機(jī)上存儲(chǔ)的所述第一恢復(fù)流表。
[0049]第四個(gè)方面,本發(fā)明實(shí)施例提供一種交換機(jī),包括:
[0050]接收模塊,用于在與控制服務(wù)器之間的現(xiàn)有鏈路中斷的情況下,接收所述控制服務(wù)器發(fā)送的第一鏈路層發(fā)現(xiàn)協(xié)議LLDP消息,所述第一 LLDP消息用以確定所述控制服務(wù)器與所述交換機(jī)通信的第一端口,所述第一端口設(shè)置在所述交換機(jī);
[0051]發(fā)送模塊,用于從第一端口向所述控制服務(wù)器發(fā)送第一 TCP握手消息,所述第一端口為所述交換機(jī)接收所述控制服務(wù)器發(fā)送的所述第一 LLDP消息的端口,所述第一 TCP握手消息用以建立所述控制服務(wù)器與所述交換機(jī)之間的緊急鏈路通道,其中,所述第一 TCP握手消息是由所述第二交換機(jī)根據(jù)所述第一恢復(fù)流表轉(zhuǎn)發(fā)給所述控制服務(wù)器的,并且所述交換機(jī)與所述第二交換機(jī)直接連接。
[0052]在第一種可能的實(shí)現(xiàn)方式中,所述發(fā)送模塊,還用于通過所述第二交換機(jī)的所述第二端口向所述控制服務(wù)器發(fā)送TCP完成指示,所述TCP完成指示用于指示所述控制服務(wù)器斷開所述控制服務(wù)器與所述交換機(jī)之間的緊急鏈路通道;并向所述控制服務(wù)器發(fā)送恢復(fù)鏈路請(qǐng)求,所述恢復(fù)鏈路請(qǐng)求用于指示所述控制服務(wù)器恢復(fù)所述控制服務(wù)器與所述交換機(jī)之間的所述現(xiàn)有鏈路。
[0053]本發(fā)明實(shí)施例提供的網(wǎng)絡(luò)故障恢復(fù)方法和裝置,通過控制服務(wù)器確定與第一交換機(jī)之間的現(xiàn)有鏈路中斷;接著,控制服務(wù)器向與第一交換機(jī)直接連接的第二交換機(jī)發(fā)送第一‘陜復(fù)流表,該第一‘陜復(fù)流表中包括控制服務(wù)器與第一交換機(jī)之間路由的信息以及第二端口的信息,該第二端口為第二交換機(jī)通與第一交換機(jī)通信的端口,該第二端口設(shè)置在所述第二交換機(jī);再接著,控制服務(wù)器向第二交換機(jī)發(fā)送第一 LLDP消息,該第一 LLDP消息用以確定控制服務(wù)器與第一交換機(jī)進(jìn)行通信的第一端口,第一端口設(shè)置在第一交換機(jī),然后,控制服務(wù)器接收第一交換機(jī)從第一端口發(fā)送的第一 TCP握手消息,第一端口為第一交換機(jī)接收控制服務(wù)器發(fā)送的第一 LLDP消息的端口,控制服務(wù)器根據(jù)第一 TCP握手消息建立控制服務(wù)器與第一交換機(jī)之間的緊急鏈路通道,其中,第一交換機(jī)從第一端口發(fā)送的第一 TCP握手消息是由第二交換機(jī)根據(jù)第一‘陜復(fù)流表轉(zhuǎn)發(fā)給控制服務(wù)器的。從而在第一交換機(jī)與該第一交換機(jī)直接連接的交換機(jī)之間的鏈路發(fā)生故障,或是第一交換機(jī)與控制服務(wù)器之間的鏈路發(fā)生故障的情況下,實(shí)現(xiàn)第一交換機(jī)與控制器之間緊急鏈路的恢復(fù),進(jìn)一步的,提高了該交換機(jī)所在網(wǎng)絡(luò)的可靠性及健壯性。
【專利附圖】
【附圖說明】
[0054]為了更清楚地說明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作一簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0055]圖1為本發(fā)明網(wǎng)絡(luò)故障恢復(fù)方法實(shí)施例一的流程示意圖;
[0056]圖2為本發(fā)明網(wǎng)絡(luò)故障恢復(fù)方法再一實(shí)施例的流程示意圖;
[0057]圖3為本發(fā)明網(wǎng)絡(luò)故障恢復(fù)方法另一實(shí)施例的流程示意圖;
[0058]圖4為本發(fā)明網(wǎng)絡(luò)故障恢復(fù)方法一實(shí)施例的結(jié)構(gòu)示意圖;
[0059]圖5為本發(fā)明網(wǎng)絡(luò)故障恢復(fù)方法另一實(shí)施例的流程示意圖;
[0060]圖6為本發(fā)明控制服務(wù)器實(shí)施例一的結(jié)構(gòu)示意圖;
[0061]圖7為本發(fā)明交換機(jī)實(shí)施例一的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0062]為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0063]本發(fā)明實(shí)施例提供的網(wǎng)絡(luò)故障恢復(fù)方法具體可以應(yīng)用于Openflow網(wǎng)絡(luò)中控制服務(wù)器與交換機(jī)之間的鏈路發(fā)生故障,或者,交換機(jī)之間鏈路發(fā)生故障的情況,該網(wǎng)絡(luò)故障恢復(fù)方法具體可以通過網(wǎng)絡(luò)故障恢復(fù)裝置來執(zhí)行,該網(wǎng)絡(luò)故障恢復(fù)裝置可以集成在控制服務(wù)器或交換機(jī)中,該網(wǎng)絡(luò)故障恢復(fù)裝置可以采用軟件和/或硬件的方式來實(shí)現(xiàn)。以下對(duì)本實(shí)施例提供的網(wǎng)絡(luò)故障恢復(fù)方法及裝置進(jìn)行說明。
[0064]圖1為本發(fā)明網(wǎng)絡(luò)故障恢復(fù)方法實(shí)施例一的流程示意圖。本實(shí)施例的執(zhí)行的主體可以是網(wǎng)絡(luò)故障恢復(fù)裝置,該網(wǎng)絡(luò)故障恢復(fù)裝置可以集成在控制服務(wù)器中。如圖1所示,本實(shí)施例提供的網(wǎng)絡(luò)故障恢復(fù)方法具體包括如下步驟:
[0065]步驟101、控制服務(wù)器確定與第一交換機(jī)之間的現(xiàn)有鏈路中斷。
[0066]在本實(shí)施例中,第一交換機(jī)與控制服務(wù)器之間直接或間接連接,其中,控制服務(wù)器確定與第一交換機(jī)之間的鏈路中斷至少有兩種實(shí)現(xiàn)場(chǎng)景,包括:
[0067]第一種實(shí)現(xiàn)場(chǎng)景,控制服務(wù)器確定控制服務(wù)器與第一交換機(jī)之間的第一鏈路中斷,該第一鏈路為第一交換機(jī)通過帶外接口與控制服務(wù)器相連的鏈路。
[0068]第二種實(shí)現(xiàn)場(chǎng)景,控制服務(wù)器確定第三交換機(jī)與第一交換機(jī)之間的第二鏈路中斷,該第二鏈路為第一交換機(jī)通過帶內(nèi)接口與第三交換機(jī)相連的鏈路,其中,第三交換機(jī)與第一交換機(jī)之間直接連接,第一交換機(jī)通過第三交換機(jī)與控制服務(wù)器之間連接。
[0069]步驟102、控制服務(wù)器向與第一交換機(jī)直接連接的第二交換機(jī)發(fā)送第一恢復(fù)流表。
[0070]本實(shí)施例中的第一恢復(fù)流表中包括控制服務(wù)器與第一交換機(jī)之間路由的信息,以及第二端口的信息,該第二端口為第二交換機(jī)與第一交換機(jī)通信的端口,該第二端口設(shè)置在第二交換機(jī)。
[0071]步驟103、控制服務(wù)器向第二交換機(jī)發(fā)送第一鏈路層發(fā)現(xiàn)協(xié)議LLDP消息,該第一LLDP消息用以確定控制服務(wù)器與第一交換機(jī)進(jìn)行通信的第一端口,第一端口設(shè)置在第一交換機(jī)。
[0072]具體的,不論步驟101是上述的哪種實(shí)現(xiàn)場(chǎng)景,在控制服務(wù)器確定與第一交換機(jī)之間的鏈路中斷之后,控制服務(wù)器可以向與第一交換機(jī)直接連接的第二交換機(jī)發(fā)送第一LLDP消息,該第一 LLDP消息用以確定控制服務(wù)器與第一交換機(jī)進(jìn)行通信的第一端口,以確定控制服務(wù)器與第一交換機(jī)之間相通的緊急鏈路通道,第一端口設(shè)置在所述第一交換機(jī)。
[0073]需要說明的是,對(duì)應(yīng)于第二種實(shí)現(xiàn)場(chǎng)景,控制服務(wù)器向第二交換機(jī)發(fā)送第一 LLDP消息之前,還可以包括有:
[0074]控制服務(wù)器向第三交換機(jī)發(fā)送第二恢復(fù)流表,其中,該第二恢復(fù)流表中包括控制服務(wù)器通過第三交換機(jī)與第一交換機(jī)之間路由的信息,以及第四端口的信息,該第四端口為第三交換機(jī)通過第二交換機(jī)與第一交換機(jī)通信的端口,第四端口設(shè)置在第三交換機(jī);
[0075]控制服務(wù)器向第三交換機(jī)發(fā)送第二 LLDP消息,該第二 LLDP消息用以確定控制服務(wù)器與第二交換機(jī)進(jìn)行通信的第三端口;
[0076]控制服務(wù)器接收第二交換機(jī)從第三端口發(fā)送的第二 TCP握手消息,第三端口為第二交換機(jī)接收控制服務(wù)器發(fā)送的第二 LLDP消息的端口。
[0077]控制服務(wù)器根據(jù)第二 TCP握手消息建立控制服務(wù)器與第二交換機(jī)之間的緊急鏈路通道,以用于建立控制服務(wù)器與第一交換機(jī)之間的緊急鏈路通道,其中,第二交換機(jī)從第三端口發(fā)送的第二 TCP握手消息是由第三交換機(jī)根據(jù)第二恢復(fù)流表轉(zhuǎn)發(fā)給控制服務(wù)器的。
[0078]步驟104、控制服務(wù)器接收第一交換機(jī)從第一端口發(fā)送的第一 TCP握手消息,第一端口為第一交換機(jī)接收控制服務(wù)器發(fā)送的第一 LLDP消息的端口。
[0079]步驟105、控制服務(wù)器根據(jù)第一 TCP握手消息建立控制服務(wù)器與第一交換機(jī)之間的緊急鏈路通道。
[0080]在本實(shí)施例中,第一交換機(jī)從第一端口發(fā)送的第一 TCP握手消息是由第二交換機(jī)根據(jù)第一恢復(fù)流表轉(zhuǎn)發(fā)給控制服務(wù)器的。也就是說,在控制服務(wù)器確定控制服務(wù)器與第一交換機(jī)進(jìn)行通信的第一端口之后,控制服務(wù)器可以建立與第一交換機(jī)連接,即TCP連接。
[0081]具體的,不論是上述的哪種實(shí)現(xiàn)場(chǎng)景,控制服務(wù)器可以接收第一交換機(jī)從第一端口發(fā)送的第一 TCP握手消息,并且在第二交換機(jī)接收到第一交換機(jī)發(fā)送的該第一 TCP握手消息之后,根據(jù)第一‘陜復(fù)流表將該第一 TCP握手消息發(fā)送給控制服務(wù)器,其中,第一端口為第一交換機(jī)接收控制服務(wù)器發(fā)送的第一 LLDP消息的端口。
[0082]本發(fā)明實(shí)施例提供的網(wǎng)絡(luò)故障恢復(fù)方法,通過控制服務(wù)器確定與第一交換機(jī)之間的現(xiàn)有鏈路中斷;接著,控制服務(wù)器向與第一交換機(jī)直接連接的第二交換機(jī)發(fā)送第一恢復(fù)流表,該第一恢復(fù)流表中包括控制服務(wù)器與第一交換機(jī)之間路由的信息以及第二端口的信息,該第二端口為第二交換機(jī)與第一交換機(jī)通信的端口,該第二端口設(shè)置在所述第二交換機(jī);再接著,控制服務(wù)器向第二交換機(jī)發(fā)送第一 LLDP消息,該第一 LLDP消息用以確定控制服務(wù)器與第一交換機(jī)進(jìn)行通信的第一端口,第一端口設(shè)置在第一交換機(jī),然后,控制服務(wù)器接收第一交換機(jī)從第一端口發(fā)送的第一 TCP握手消息,第一端口為第一交換機(jī)接收控制服務(wù)器發(fā)送的第一 LLDP消息的端口,控制服務(wù)器根據(jù)第一 TCP握手消息建立控制服務(wù)器與第一交換機(jī)之間的緊急鏈路通道,其中,第一交換機(jī)從第一端口發(fā)送的第一 TCP握手消息是由第二交換機(jī)根據(jù)第一恢復(fù)流表轉(zhuǎn)發(fā)給控制服務(wù)器的。從而在第一交換機(jī)與該第一交換機(jī)直接連接的交換機(jī)之間的鏈路發(fā)生故障,或是第一交換機(jī)與控制服務(wù)器之間的鏈路發(fā)生故障的情況下,實(shí)現(xiàn)第一交換機(jī)與控制器之間緊急鏈路的恢復(fù),進(jìn)一步的,提高了該交換機(jī)所在網(wǎng)絡(luò)的可靠性及健壯性。
[0083]在上述實(shí)施例的基礎(chǔ)上,在步驟103之后,還可以包括:
[0084]控制服務(wù)器接收第一交換機(jī)通過第二交換機(jī)的第二端口發(fā)送的TCP完成指示,該TCP完成指示用于指示以斷開控制服務(wù)器斷開控制服務(wù)器與第一交換機(jī)之間的緊急鏈路通道;
[0085]控制服務(wù)器接收第一交換機(jī)發(fā)送的恢復(fù)鏈路請(qǐng)求,該恢復(fù)鏈路請(qǐng)求用于指示控制服務(wù)器恢復(fù)控制服務(wù)器與第一交換機(jī)之間的現(xiàn)有鏈路,即建立緊急鏈路通道之前中斷的鏈路。
[0086]進(jìn)一步的,在上述實(shí)施例的基礎(chǔ)上,還可以包括:控制服務(wù)器向與第一交換機(jī)相鄰的第二交換機(jī)發(fā)送流表修改信息,該流表修改信息用以刪除第二交換機(jī)上存儲(chǔ)的第一恢復(fù)流表。
[0087]圖2為本發(fā)明網(wǎng)絡(luò)故障恢復(fù)方法再一實(shí)施例的流程示意圖。如圖2所示,本實(shí)施例的執(zhí)行的主體可以是網(wǎng)絡(luò)故障恢復(fù)裝置,該網(wǎng)絡(luò)故障恢復(fù)裝置可以集成在交換機(jī)中。如圖2所示,本實(shí)施例提供的網(wǎng)絡(luò)故障恢復(fù)方法具體包括如下步驟:
[0088]步驟201、在第一交換機(jī)與控制服務(wù)器之間的現(xiàn)有鏈路中斷的情況下,第一交換機(jī)接收控制服務(wù)器發(fā)送的第一鏈路層發(fā)現(xiàn)協(xié)議LLDP消息,該第一 LLDP消息用以確定控制服務(wù)器與第一交換機(jī)通信的第一端口,該第一端口設(shè)置在所述第一交換機(jī)。
[0089]在本實(shí)施例中,在第一交換機(jī)確定第一交換機(jī)與控制服務(wù)器之間的現(xiàn)有鏈路中斷的情況下,或者,控制服務(wù)器確定第一交換機(jī)與控制服務(wù)器之間的現(xiàn)有鏈路中斷的情況下,至少包括有至少兩種適用場(chǎng)景:
[0090]第一種適用場(chǎng)景,控制服務(wù)器與第一交換機(jī)之間的現(xiàn)有鏈路中斷,第一鏈路為第一交換機(jī)通過帶外接口與控制服務(wù)器相連的鏈路。
[0091]第二種適用場(chǎng)景,第三交換機(jī)與第一交換機(jī)之間的現(xiàn)有鏈路中斷,第一交換機(jī)通過第三交換機(jī)與控制服務(wù)器連接,其中,第二交換機(jī)和第三交換機(jī)分別與第一交換機(jī)直接連接。
[0092]步驟202、第一交換機(jī)從第一端口向控制服務(wù)器發(fā)送第一 TCP握手消息,該第一TCP握手消息用以建立控制服務(wù)器與第一交換機(jī)之間的緊急鏈路通道,第一端口為第一交換機(jī)接收控制服務(wù)器發(fā)送的第一 LLDP消息的端口。
[0093]具體的,第一 TCP握手消息是由第二交換機(jī)根據(jù)第一恢復(fù)流表轉(zhuǎn)發(fā)給控制服務(wù)器的。
[0094]在本實(shí)施例中,在第一交換機(jī)與控制服務(wù)器之間的現(xiàn)有鏈路中斷的情況下,第一交換機(jī)接收控制服務(wù)器發(fā)送的第一鏈路層發(fā)現(xiàn)協(xié)議LLDP消息,該第一 LLDP消息用以確定控制服務(wù)器與第一交換機(jī)通信的第一端口,該第一端口設(shè)置在第一交換機(jī),然后,第一交換機(jī)從第一端口向控制服務(wù)器轉(zhuǎn)發(fā)送第一 TCP握手消息,該第一 TCP握手消息用以建立控制服務(wù)器與第一交換機(jī)之間的緊急鏈路通道,其中,所述第一 TCP握手消息是由所述第二交換機(jī)根據(jù)所述第一恢復(fù)流表轉(zhuǎn)發(fā)給所述控制服務(wù)器的,并且第一交換機(jī)與第二交換機(jī)直接連接。從而在第一交換機(jī)與該第一交換機(jī)直接連接的交換機(jī)之間的鏈路發(fā)生故障,或是第一交換機(jī)與控制服務(wù)器之間的鏈路發(fā)生故障的情況下,實(shí)現(xiàn)第一交換機(jī)與控制器之間鏈路的恢復(fù),進(jìn)一步的,提高了該交換機(jī)所在網(wǎng)絡(luò)的可靠性及健壯性。
[0095]進(jìn)一步的,在上述實(shí)施例的基礎(chǔ)上,在步驟202之后,還可以包括:
[0096]第一交換機(jī)通過第二交換機(jī)的第二端口向控制服務(wù)器發(fā)送TCP完成指示,該TCP完成指示用于指示所述控制服務(wù)器斷開控制服務(wù)器與第一交換機(jī)之間的緊急鏈路通道;
[0097]第一交換機(jī)向控制服務(wù)器發(fā)送恢復(fù)鏈路請(qǐng)求,該恢復(fù)鏈路請(qǐng)求用于指示控制服務(wù)器恢復(fù)控制服務(wù)器與第一交換機(jī)之間的現(xiàn)有鏈路。
[0098]圖3為本發(fā)明網(wǎng)絡(luò)故障恢復(fù)方法另一實(shí)施例的流程示意圖。如圖3所示,本發(fā)明實(shí)施例提供的網(wǎng)絡(luò)故障恢復(fù)方法,具體適用于控制器與交換機(jī)之間鏈路中斷,也就是說,第一交換機(jī)通過帶外接口與控制服務(wù)器相連鏈路的中斷,即帶外中斷的情況,該網(wǎng)絡(luò)故障恢復(fù)方法具體包括如下步驟:
[0099]步驟301、控制服務(wù)器確定控制服務(wù)器與第一交換機(jī)之間的第一鏈路中斷。
[0100]在本實(shí)施例中,該第一鏈路為第一交換機(jī)通過帶外接口與控制服務(wù)器相連的鏈路,其中,第一交換機(jī)與控制服務(wù)器之間直接連接。
[0101]具體的,控制服務(wù)器確定控制服務(wù)器與第一交換機(jī)之間的第一鏈路中斷的實(shí)現(xiàn)方式為,控制器接收第一交換機(jī)發(fā)送的握手ECHO消息超時(shí)或發(fā)送其他Openflow消息超時(shí)。
[0102]步驟302、控制服務(wù)器向與第一交換機(jī)直接連接的第二交換機(jī)發(fā)送第一恢復(fù)流表。
[0103]在本實(shí)施例中,第二交換機(jī)可以通過帶外接口與控制服務(wù)器相連。其中,該第一恢復(fù)流表中包括有第二交換機(jī)與第一交換機(jī)之間路由的信息以及第二端口的信息,第二端口為第二交換機(jī)與第一交換機(jī)通信的端口。
[0104]步驟303、控制服務(wù)器向與第一交換機(jī)直接連接的第二交換機(jī)發(fā)送第一 LLDP消息,該第一 LLDP消息用以確定控制服務(wù)器與第一交換機(jī)進(jìn)行通信的第一端口,該第一端口設(shè)置在第一交換機(jī)。
[0105]在本實(shí)施例中,在控制服務(wù)器向與第一交換機(jī)直接連接的第二交換機(jī)發(fā)送第一LLDP消息的過程中,控制服務(wù)器可以開啟定時(shí)器,也就是說,控制服務(wù)器可以在該定時(shí)器計(jì)時(shí)的時(shí)長(zhǎng)內(nèi)不刪除故障交換機(jī),即第一交換機(jī)中存儲(chǔ)的現(xiàn)有鏈路的信息,從而,在恢復(fù)現(xiàn)有鏈路之后,第一交換機(jī)可以快速的與控制服務(wù)器建立該現(xiàn)有鏈路的連接。
[0106]步驟304、控制服務(wù)器接收第一交換機(jī)從第一端口發(fā)送的第一 TCP握手消息。
[0107]在本實(shí)施例中,第一端口為第一交換機(jī)接收控制服務(wù)器發(fā)送的第一 LLDP消息的端口。
[0108]步驟305、控制服務(wù)器根據(jù)第一 TCP握手消息建立控制服務(wù)器與第一交換機(jī)之間的緊急鏈路通道。
[0109]在本實(shí)施例中,第一交換機(jī)從第一端口發(fā)送的第一 TCP握手消息是由第二交換機(jī)根據(jù)第一恢復(fù)流表轉(zhuǎn)發(fā)給控制服務(wù)器的。
[0110]具體的,控制服務(wù)器向與第一交換機(jī)直接連接的第二交換機(jī)發(fā)送第一 LLDP消息之后,控制服務(wù)器可以接收到第一交換機(jī)發(fā)送的第一 LLDP響應(yīng)消息,從而建立故障恢復(fù)流表,該故障恢復(fù)流表中以第一交換機(jī)接收第一 LLDP響應(yīng)消息的端口作為恢復(fù)端口。接著,控制服務(wù)器接收第一交換機(jī)通過第一端口發(fā)送的第一 TCP握手消息,并且在第二交換機(jī)接收到第一交換機(jī)發(fā)送的第一 TCP握手消息之后,根據(jù)第二交換機(jī)上的第一恢復(fù)流表轉(zhuǎn)發(fā)該第一 TCP握手消息。
[0111]需要說明的是,在控制服務(wù)器接收第一交換機(jī)通過第一端口發(fā)送的第一 TCP握手消息的過程中,若第一交換機(jī)在預(yù)設(shè)時(shí)長(zhǎng)內(nèi)沒有接收到控制服務(wù)器發(fā)送的TCP握手響應(yīng)消息,則第一交換機(jī)可以在預(yù)設(shè)時(shí)長(zhǎng)內(nèi)進(jìn)行重試。進(jìn)一步的,在達(dá)到預(yù)設(shè)時(shí)長(zhǎng)之后,第一交換機(jī)仍然沒有收到控制服務(wù)器發(fā)送的TCP握手響應(yīng)消息,則將緊急流表中恢復(fù)端口更改為另一個(gè)能收到LLDP消息的端口繼續(xù)重試,直到遍歷完所有LLDP端口。
[0112]在上述實(shí)施例的基礎(chǔ)上,在第一交換機(jī)與控制服務(wù)器之間的鏈路中斷之后,第一交換機(jī)啟動(dòng)故障恢復(fù)檢測(cè)進(jìn)程,即通過帶外寬口周期性的向控制服務(wù)器發(fā)送數(shù)據(jù)包,如Ping包,用以檢測(cè)故障鏈路,即現(xiàn)有鏈路是否恢復(fù)。
[0113]需要說明的是,在上述實(shí)施例的基礎(chǔ)上,在控制服務(wù)器接收第一交換機(jī)通過第一端口向第二交換機(jī)和第三交換機(jī)發(fā)送的第一 TCP握手消息之后,還可以包括:
[0114]控制服務(wù)器接收第一交換機(jī)通過第二交換機(jī)的第二端口發(fā)送的TCP完成指示,該TCP完成指示用于指示斷開控制服務(wù)器與第一交換機(jī)之間的緊急鏈路通道;
[0115]控制服務(wù)器接收第一交換機(jī)發(fā)送的恢復(fù)鏈路請(qǐng)求,該恢復(fù)鏈路請(qǐng)求用于指示控制服務(wù)器恢復(fù)控制服務(wù)器與第一交換機(jī)之間的現(xiàn)有鏈路。
[0116]進(jìn)一步的,在上述實(shí)施例的基礎(chǔ)上,還可以包括:控制服務(wù)器向與第一交換機(jī)相鄰的第二交換機(jī)發(fā)送流表修改信息,該流表修改信息用以刪除第二交換機(jī)上存儲(chǔ)的第一恢復(fù)流表。
[0117]圖5為本發(fā)明網(wǎng)絡(luò)故障恢復(fù)方法另一實(shí)施例的流程示意圖。圖4為本發(fā)明網(wǎng)絡(luò)故障恢復(fù)方法一實(shí)施例的結(jié)構(gòu)示意圖。如圖4和圖5所示,本發(fā)明實(shí)施例提供的網(wǎng)絡(luò)故障恢復(fù)方法,具體適用于交換機(jī)與交換機(jī)之間鏈路中斷,也就是說,第一交換機(jī)通過帶內(nèi)接口與第二交換機(jī)相連的鏈路中斷,即帶內(nèi)中斷的情況,該網(wǎng)絡(luò)故障恢復(fù)方法具體包括如下步驟:
[0118]步驟501、控制服務(wù)器確定第三交換機(jī)與第一交換機(jī)之間的第二鏈路中斷,其中,第一交換機(jī)通過所述第三交換機(jī)與控制服務(wù)器連接。
[0119]在本實(shí)施例中,第二交換機(jī)和第三交換機(jī)分別與第一交換機(jī)直接連接,其中,在第三交換機(jī)與第一交換機(jī)之間的第二鏈路中斷之前,第一交換機(jī)通過第三交換機(jī)與控制服務(wù)器之間連接,進(jìn)一步的,第四交換機(jī)、第五交換機(jī)與第二交換機(jī)通過第一交換機(jī)與控制服務(wù)器相連。
[0120]具體的,在控制器通過第二交換機(jī)與第一交換機(jī)建立連接的情況下,控制服務(wù)器確定第三交換機(jī)與第一交換機(jī)之間的第二鏈路中斷的實(shí)現(xiàn)方式為,控制器接收第一交換機(jī)發(fā)送的握手ECHO消息超時(shí)或發(fā)送其他Openflow消息超時(shí)。
[0121]步驟502、控制服務(wù)器向第三交換機(jī)發(fā)送第二恢復(fù)流表,該第二恢復(fù)流表中包括有控制服務(wù)器通過第三交換機(jī)與第一交換機(jī)之間路由的信息以及第四端口的信息。
[0122]具體的,控制服務(wù)器確定第三交換機(jī)與第一交換機(jī)之間的第二鏈路中斷之后,控制服務(wù)器可以向第三交換機(jī)發(fā)送第二恢復(fù)流表,該第二恢復(fù)流表中設(shè)置控制服務(wù)器通過第三交換機(jī)與第一交換機(jī)之間路由的信息以及第四端口的信息,第四端口為第三交換機(jī)通過第二交換機(jī)與第一交換機(jī)通信的端口,第四端口設(shè)置在第三交換機(jī)。
[0123]步驟503、控制服務(wù)器向第三交換機(jī)發(fā)送第二 LLDP消息,該第二 LLDP消息用以確定控制服務(wù)器與第二交換機(jī)進(jìn)行通信的第三端口。
[0124]步驟504、控制服務(wù)器接收第二交換機(jī)從第三端口發(fā)送的第二 TCP握手消息。
[0125]本實(shí)施例中的第三端口為第二交換機(jī)接收控制服務(wù)器發(fā)送的第二 LLDP消息的端□。
[0126]步驟505、控制服務(wù)器根據(jù)第二 TCP握手消息建立控制服務(wù)器與第二交換機(jī)之間的緊急鏈路通道。
[0127]在本實(shí)施例中,控制服務(wù)器根據(jù)第二 TCP握手消息建立控制服務(wù)器與第二交換機(jī)之間的緊急鏈路通道,可以用于建立控制服務(wù)器與第一交換機(jī)之間的緊急鏈路通道,其中,第二交換機(jī)從第三端口發(fā)送的第二 TCP握手消息是由第三交換機(jī)根據(jù)第二恢復(fù)流表轉(zhuǎn)發(fā)給控制服務(wù)器的。
[0128]步驟506、控制服務(wù)器向與第一交換機(jī)直接連接的第二交換機(jī)發(fā)送第一恢復(fù)流表。
[0129]在本實(shí)施例的第一恢復(fù)流表中包括控制服務(wù)器與第一交換機(jī)之間路由的信息以及第二端口的信息,該第二端口為第二交換機(jī)與第一交換機(jī)通信的端口,第二端口設(shè)置在第二交換機(jī)。
[0130]步驟507、控制服務(wù)器向第二交換機(jī)發(fā)送第一鏈路層發(fā)現(xiàn)協(xié)議LLDP消息。
[0131]具體的,該第一 LLDP消息用以確定控制服務(wù)器與第一交換機(jī)進(jìn)行通信的第一端口,第一端口設(shè)置在第一交換機(jī)。
[0132]步驟508、控制服務(wù)器接收第一交換機(jī)從第一端口發(fā)送的第一 TCP握手消息。
[0133]在本實(shí)施例中,該第一端口為第一交換機(jī)接收控制服務(wù)器發(fā)送的第一 LLDP消息的端口。
[0134]步驟509、控制服務(wù)器根據(jù)第一 TCP握手消息建立控制服務(wù)器與第一交換機(jī)之間的緊急鏈路通道。
[0135]在本實(shí)施例中,第一交換機(jī)從第一端口發(fā)送的第一 TCP握手消息是由第二交換機(jī)根據(jù)第一恢復(fù)流表轉(zhuǎn)發(fā)給控制服務(wù)器的。
[0136]需要說明的是,在控制服務(wù)器接收第一交換機(jī)通過第一端口發(fā)送的第一 TCP握手消息的過程中,若第一交換機(jī)在預(yù)設(shè)時(shí)長(zhǎng)內(nèi)沒有接收到控制服務(wù)器發(fā)送的TCP握手響應(yīng)消息,則第一交換機(jī)可以在預(yù)設(shè)時(shí)長(zhǎng)內(nèi)進(jìn)行重試。進(jìn)一步的,在達(dá)到預(yù)設(shè)時(shí)長(zhǎng)之后,第一交換機(jī)仍然沒有收到控制服務(wù)器發(fā)送的TCP握手響應(yīng)消息,則將緊急流表中恢復(fù)端口更改為另一個(gè)能收到LLDP消息的端口繼續(xù)重試,直到遍歷完所有LLDP端口。
[0137]需要說明的是,在上述實(shí)施例的基礎(chǔ)上,控制服務(wù)器接收第一交換機(jī)通過第一端口向第二交換機(jī)和第三交換機(jī)發(fā)送的第一 TCP握手消息,從而建立控制服務(wù)器與第一交換機(jī)之間的緊急鏈路,接著,控制服務(wù)器與第一交換機(jī)之間的通信通過該緊急鏈路進(jìn)行,無論第一交換機(jī)與控制服務(wù)器之間的故障鏈路是否恢復(fù)。
[0138]圖6為本發(fā)明控制服務(wù)器實(shí)施例一的結(jié)構(gòu)示意圖。如圖6所示,該控制服務(wù)器,包括:確定模塊601、第一發(fā)送模塊602、第二發(fā)送模塊603、接收模塊604以及建立模塊605。其中,
[0139]確定模塊601,用于確定與第一交換機(jī)之間的現(xiàn)有鏈路中斷;
[0140]第一發(fā)送模塊602,用于向與第一交換機(jī)直接連接的第二交換機(jī)發(fā)送第一恢復(fù)流表,第一‘陜復(fù)流表中包括有控制服務(wù)器與第一交換機(jī)之間路由的信息以及第二端口的信息,第二端口為第二交換機(jī)與第一交換機(jī)通信的端口,第二端口設(shè)置在第二交換機(jī);
[0141]第二發(fā)送模塊603,用于向第二交換機(jī)發(fā)送第一鏈路層發(fā)現(xiàn)協(xié)議LLDP消息,該第一 LLDP消息用以確定控制服務(wù)器與第一交換機(jī)進(jìn)行通信的第一端口,第一端口設(shè)置在第一交換機(jī);
[0142]接收模塊604,用于接收第一交換機(jī)從第一端口發(fā)送的第一 TCP握手消息,第一端口為第一交換機(jī)接收控制服務(wù)器發(fā)送的第一 LLDP消息的端口。
[0143]建立模塊605,用于根據(jù)第一 TCP握手消息建立控制服務(wù)器與第一交換機(jī)之間的緊急鏈路通道,其中,第一交換機(jī)從第一端口發(fā)送的第一 TCP握手消息是由第二交換機(jī)根據(jù)第一恢復(fù)流表轉(zhuǎn)發(fā)給所述接收模塊604的。
[0144]本發(fā)明實(shí)施例中,通過控制服務(wù)器確定與第一交換機(jī)之間的現(xiàn)有鏈路中斷,接著,控制服務(wù)器向與第一交換機(jī)直接連接的第二交換機(jī)發(fā)送第一恢復(fù)流表,該第一恢復(fù)流表中包括有控制服務(wù)器與第一交換機(jī)之間路由的信息以及第二端口的信息,該第二端口為第二交換機(jī)與第一交換機(jī)通信的端口,第二端口設(shè)置在第二交換機(jī),再接著,控制服務(wù)器向第二交換機(jī)發(fā)送第一 LLDP消息,該第一 LLDP消息用以確定控制服務(wù)器與第一交換機(jī)進(jìn)行通信的第一端口,第一端口設(shè)置在第一交換機(jī),再接著,控制服務(wù)器接收第一交換機(jī)從第一端口發(fā)送的第一 TCP握手消息,第一端口為第一交換機(jī)接收控制服務(wù)器發(fā)送的第一 LLDP消息的端口,然后,根據(jù)第一 TCP握手消息建立控制服務(wù)器與第一交換機(jī)之間的緊急鏈路通道,其中,第一交換機(jī)從第一端口發(fā)送的第一 TCP握手消息是由第二交換機(jī)根據(jù)第一恢復(fù)流表轉(zhuǎn)發(fā)給控制服務(wù)器的。從而在第一交換機(jī)與該第一交換機(jī)直接連接的交換機(jī)之間的鏈路發(fā)生故障,或是第一交換機(jī)與控制服務(wù)器之間的鏈路發(fā)生故障的情況下,實(shí)現(xiàn)第一交換機(jī)與控制器之間鏈路的恢復(fù),進(jìn)一步的,提高了該交換機(jī)所在網(wǎng)絡(luò)的可靠性及健壯性。
[0145]在本實(shí)施例中,確定模塊601,具體用于確定控制服務(wù)器與第一交換機(jī)之間的第一鏈路中斷,第一鏈路為第一交換機(jī)通過帶外接口與控制服務(wù)器相連的鏈路。
[0146]可選的,確定模塊601,具體用于確定第三交換機(jī)與第一交換機(jī)之間的第二鏈路中斷,第一交換機(jī)通過第三交換機(jī)與控制服務(wù)器連接,其中,第三交換機(jī)與第一交換機(jī)直接連接。
[0147]在上述實(shí)施例的基礎(chǔ)上,第一發(fā)送模塊602,還用于向第三交換機(jī)發(fā)送第二恢復(fù)流表,第二恢復(fù)流表中包括控制服務(wù)器通過第三交換機(jī)與第一交換機(jī)之間路由的信息以及第四端口的信息,第四端口為第三交換機(jī)通過第二交換機(jī)與第一交換機(jī)通信的端口,第四端口設(shè)置在第三交換機(jī);
[0148]第二發(fā)送模塊603,還用于向第三交換機(jī)發(fā)送第二 LLDP消息,該第二 LLDP消息用以確定控制服務(wù)器與第二交換機(jī)進(jìn)行通信的第三端口;
[0149]接收模塊604,還用于接收第二交換機(jī)從第三端口發(fā)送的第二 TCP握手消息第三端口為第四交換機(jī)接收控制服務(wù)器發(fā)送的第二 LLDP消息的端口。
[0150]建立模塊605,還用于根據(jù)第二 TCP握手消息建立控制服務(wù)器與第二交換機(jī)之間的緊急鏈路通道,以用于建立與第一交換機(jī)之間的緊急鏈路通道,其中,第二交換機(jī)從第三端口發(fā)送的第二 TCP握手消息是由第三交換機(jī)根據(jù)第二恢復(fù)流表轉(zhuǎn)發(fā)的。
[0151 ] 進(jìn)一步的,在上述實(shí)施例的基礎(chǔ)上,接收模塊604,還用于接收第一交換機(jī)通過第二交換機(jī)的第二端口發(fā)送的TCP完成指示,該TCP完成指示用于指示控制服務(wù)器斷開控制服務(wù)器與第一交換機(jī)之間的緊急鏈路通道;
[0152]接收第一交換機(jī)發(fā)送的恢復(fù)鏈路請(qǐng)求,恢復(fù)鏈路請(qǐng)求用于指示控制服務(wù)器恢復(fù)控制服務(wù)器與第一交換機(jī)之間的現(xiàn)有鏈路。
[0153]第一發(fā)送模塊603,還用于向第二交換機(jī)發(fā)送流表修改信息,該流表修改信息用以刪除第二交換機(jī)上存儲(chǔ)的第一恢復(fù)流表。
[0154]圖7為本發(fā)明交換機(jī)實(shí)施例一的結(jié)構(gòu)示意圖。如圖7所示,該交換機(jī),包括:接收模塊701和發(fā)送模塊702。其中,
[0155]接收模塊701,用于在與控制服務(wù)器之間的現(xiàn)有鏈路中斷的情況下,接收控制服務(wù)器發(fā)送的第一鏈路層發(fā)現(xiàn)協(xié)議LLDP消息,該第一 LLDP消息用以確定控制服務(wù)器與交換機(jī)通信的第一端口,第一端口設(shè)置在交換機(jī);
[0156]發(fā)送模塊702,用于從第一端口向控制服務(wù)器發(fā)送第一 TCP握手消息,第一端口為交換機(jī)接收控制服務(wù)器發(fā)送的第一 LLDP消息的端口,第一 TCP握手消息用以建立控制服務(wù)器與交換機(jī)之間的緊急鏈路通道,其中,第一 TCP握手消息是由第二交換機(jī)根據(jù)第一恢復(fù)流表轉(zhuǎn)發(fā)給控制服務(wù)器的,并且交換機(jī)與第二交換機(jī)直接連接。
[0157]在上述實(shí)施例的基礎(chǔ)上,發(fā)送模塊702,還用于通過第二交換機(jī)的第二端口向控制服務(wù)器發(fā)送TCP完成指示,該TCP完成指示用于指示控制服務(wù)器斷開控制服務(wù)器與交換機(jī)之間的緊急鏈路通道;并向控制服務(wù)器發(fā)送恢復(fù)鏈路請(qǐng)求,恢復(fù)鏈路請(qǐng)求用于指示控制服務(wù)器恢復(fù)控制服務(wù)器與交換機(jī)之間的現(xiàn)有鏈路。
[0158]在本實(shí)施例中,通過在與控制服務(wù)器之間的現(xiàn)有鏈路中斷的情況下,交換機(jī)接收控制服務(wù)器發(fā)送的第一 LLDP消息,該第一 LLDP消息用以確定控制服務(wù)器與交換機(jī)通信的第一端口,第一端口設(shè)置在交換機(jī),接著,交換機(jī)從第一端口向控制服務(wù)器發(fā)送第一 TCP握手消息,第一端口為交換機(jī)接收控制服務(wù)器發(fā)送的第一 LLDP消息的端口,第一 TCP握手消息用以建立控制服務(wù)器與交換機(jī)之間的緊急鏈路通道,其中,第一 TCP握手消息是由第二交換機(jī)根據(jù)第一恢復(fù)流表轉(zhuǎn)發(fā)給控制服務(wù)器的。從而在交換機(jī)與該交換機(jī)直接連接的交換機(jī)之間的鏈路發(fā)生故障,或是交換機(jī)與控制服務(wù)器之間的鏈路發(fā)生故障的情況下,實(shí)現(xiàn)交換機(jī)與控制器之間鏈路的恢復(fù),進(jìn)一步的,提高了該交換機(jī)所在網(wǎng)絡(luò)的可靠性及健壯性。
[0159]本領(lǐng)域普通技術(shù)人員可以理解:實(shí)現(xiàn)所述各方法實(shí)施例的全部或部分步驟可以通過程序指令相關(guān)的硬件來完成。前述的程序可以存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中。該程序在執(zhí)行時(shí),執(zhí)行包括所述各方法實(shí)施例的步驟;而前述的存儲(chǔ)介質(zhì)包括:R0M、RAM、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。
[0160]最后應(yīng)說明的是:以上各實(shí)施例僅用以說明本發(fā)明的技術(shù)方案,而非對(duì)其限制;盡管參照前述各實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分或者全部技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的范圍。
【權(quán)利要求】
1.一種網(wǎng)絡(luò)故障恢復(fù)方法,其特征在于,包括: 控制服務(wù)器確定與第一交換機(jī)之間的現(xiàn)有鏈路中斷; 所述控制服務(wù)器向與所述第一交換機(jī)直接連接的第二交換機(jī)發(fā)送第一恢復(fù)流表,所述第一恢復(fù)流表中包括所述控制服務(wù)器與所述第一交換機(jī)之間路由的信息以及第二端口的信息,所述第二端口為所述第二交換機(jī)與所述第一交換機(jī)通信的端口,所述第二端口設(shè)置在所述第二交換機(jī); 所述控制服務(wù)器向所述第二交換機(jī)發(fā)送第一鏈路層發(fā)現(xiàn)協(xié)議LLDP消息,所述第一LLDP消息用以確定所述控制服務(wù)器與所述第一交換機(jī)進(jìn)行通信的第一端口,所述第一端口設(shè)置在所述第一交換機(jī); 所述控制服務(wù)器接收所述第一交換機(jī)從所述第一端口發(fā)送的第一 TCP握手消息,所述第一端口為所述第一交換機(jī)接收所述控制服務(wù)器發(fā)送的所述第一 LLDP消息的端口 ; 所述控制服務(wù)器根據(jù)所述第一 TCP握手消息建立所述控制服務(wù)器與所述第一交換機(jī)之間的緊急鏈路通道,其中,所述第一交換機(jī)從第一端口發(fā)送的所述第一 TCP握手消息是由所述第二交換機(jī)根據(jù)所述第一恢復(fù)流表轉(zhuǎn)發(fā)給所述控制服務(wù)器的。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述控制服務(wù)器確定與第一交換機(jī)之間的現(xiàn)有鏈路中斷,包括: 所述控制服務(wù)器確定所述控制服務(wù)器與所述第一交換機(jī)之間的第一鏈路中斷,所述第一鏈路為所述第一交換機(jī)通過帶外接口與所述控制服務(wù)器相連的鏈路。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述控制服務(wù)器確定與第一交換機(jī)之間的現(xiàn)有鏈路中斷,包括: 所述控制服務(wù)器確定第三交換機(jī)與所述第一交換機(jī)之間的第二鏈路中斷,所述第一交換機(jī)通過所述第三交換機(jī)與所述控制服務(wù)器連接,其中,所述第三交換機(jī)與所述第一交換機(jī)直接連接。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述控制服務(wù)器向所述第二交換機(jī)發(fā)送所述第一鏈路層發(fā)現(xiàn)協(xié)議LLDP消息之前,還包括: 所述控制服務(wù)器向所述第三交換機(jī)發(fā)送第二恢復(fù)流表,所述第二恢復(fù)流表中包括所述控制服務(wù)器通過所述第三交換機(jī)與所述第一交換機(jī)之間路由的信息以及第四端口的信息,所述第四端口為所述第三交換機(jī)通過所述第二交換機(jī)與所述第一交換機(jī)通信的端口,所述第四端口設(shè)置在所述第三交換機(jī); 所述控制服務(wù)器向所述第三交換機(jī)發(fā)送第二 LLDP消息,所述第二 LLDP消息用以確定所述控制服務(wù)器與所述第二交換機(jī)進(jìn)行通信的第三端口; 所述控制服務(wù)器接收所述第二交換機(jī)從所述第三端口發(fā)送的第二 TCP握手消息,所述第三端口為所述第二交換機(jī)接收所述控制服務(wù)器發(fā)送的所述第二 LLDP消息的端口 ; 所述控制服務(wù)器根據(jù)所述第二 TCP握手消息建立所述控制服務(wù)器與所述第二交換機(jī)之間的緊急鏈路通道,以用于建立所述控制服務(wù)器與所述第一交換機(jī)之間的緊急鏈路通道,其中,所述第二交換機(jī)從所述第三端口發(fā)送的所述第二 TCP握手消息是由所述第三交換機(jī)根據(jù)所述第二恢復(fù)流表轉(zhuǎn)發(fā)給所述控制服務(wù)器的。
5.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述控制服務(wù)器根據(jù)所述第一TCP握手消息建立所述控制服務(wù)器與所述第一交換機(jī)之間的緊急鏈路通道之后,還包括: 所述控制服務(wù)器接收所述第一交換機(jī)通過所述第二交換機(jī)的所述第二端口發(fā)送的TCP完成指示,所述TCP完成指示用于指示所述控制服務(wù)器斷開所述控制服務(wù)器與所述第一交換機(jī)之間的緊急鏈路通道; 所述控制服務(wù)器接收所述第一交換機(jī)發(fā)送的恢復(fù)鏈路請(qǐng)求,所述恢復(fù)鏈路請(qǐng)求用于指示所述控制服務(wù)器恢復(fù)所述控制服務(wù)器與所述第一交換機(jī)之間的所述現(xiàn)有鏈路。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述控制服務(wù)器接收所述第一交換機(jī)發(fā)送的恢復(fù)鏈路請(qǐng)求之后,還包括: 所述控制服務(wù)器向所述第二交換機(jī)發(fā)送流表修改信息,所述流表修改信息用以刪除所述第二交換機(jī)上存儲(chǔ)的所述第一恢復(fù)流表。
7.—種網(wǎng)絡(luò)故障恢復(fù)方法,其特征在于,包括: 在第一交換機(jī)與控制服務(wù)器之間的現(xiàn)有鏈路中斷的情況下,所述第一交換機(jī)接收所述控制服務(wù)器發(fā)送的第一鏈路層發(fā)現(xiàn)協(xié)議LLDP消息,所述第一 LLDP消息用以確定所述控制服務(wù)器與所述第一交換機(jī)通信的第一端口,所述第一端口設(shè)置在所述第一交換機(jī); 所述第一交換機(jī)從第一端口向所述控制服務(wù)器發(fā)送第一 TCP握手消息,所述第一端口為所述第一交換機(jī)接收所述控制服務(wù)器發(fā)送的所述第一 LLDP消息的端口,所述第一 TCP握手消息用以建立所述控制服務(wù)器與所述第一交換機(jī)之間的緊急鏈路通道,其中,所述第一TCP握手消息是由第二交換機(jī)根據(jù)所述第一恢復(fù)流表轉(zhuǎn)發(fā)給所述控制服務(wù)器的,并且所述第一交換機(jī)與所述第二交換機(jī)直接連接。
8.根據(jù)權(quán)利要求7所述的方法,其特征在于,所述第一交換機(jī)從第一端口向所述控制服務(wù)器發(fā)送第一 TCP握手消息之后,還包括: 所述第一交換機(jī)通過所述第二交換機(jī)的所述第二端口向所述控制服務(wù)器發(fā)送TCP完成指示,所述TCP完成指示用于指示所述控制服務(wù)器斷開所述控制服務(wù)器與所述第一交換機(jī)之間的緊急鏈路通道; 所述第一交換機(jī)向所述控制服務(wù)器發(fā)送恢復(fù)鏈路請(qǐng)求,所述恢復(fù)鏈路請(qǐng)求用于指示所述控制服務(wù)器恢復(fù)所述控制服務(wù)器與所述第一交換機(jī)之間的所述現(xiàn)有鏈路。
9.一種控制服務(wù)器,其特征在于,包括: 確定模塊,用于確定與第一交換機(jī)之間的現(xiàn)有鏈路中斷; 第一發(fā)送模塊,用于向與所述第一交換機(jī)直接連接的第二交換機(jī)發(fā)送第一恢復(fù)流表,所述第一恢復(fù)流表中包括有所述控制服務(wù)器與所述第一交換機(jī)之間路由的信息以及第二端口的信息,所述第二端口為所述第二交換機(jī)與所述第一交換機(jī)通信的端口,所述第二端口設(shè)置在所述第二交換機(jī); 第二發(fā)送模塊,用于向所述第二交換機(jī)發(fā)送第一鏈路層發(fā)現(xiàn)協(xié)議LLDP消息,所述第一LLDP消息用以確定所述控制服務(wù)器與所述第一交換機(jī)進(jìn)行通信的第一端口,所述第一端口設(shè)置在所述第一交換機(jī); 接收模塊,用于接收所述第一交換機(jī)從所述第一端口發(fā)送的第一 TCP握手消息,所述第一端口為所述第一交換機(jī)接收所述控制服務(wù)器發(fā)送的所述第一 LLDP消息的端口 ; 建立模塊,用于根據(jù)所述第一 TCP握手消息建立所述控制服務(wù)器與所述第一交換機(jī)之間的緊急鏈路通道,其中,所述第一交換機(jī)從第一端口發(fā)送的所述第一 TCP握手消息是由所述第二交換機(jī)根據(jù)所述第一恢復(fù)流表轉(zhuǎn)發(fā)給所述接收模塊的。
10.根據(jù)權(quán)利要求9所述的控制服務(wù)器,其特征在于,所述確定模塊,具體用于確定所述控制服務(wù)器與所述第一交換機(jī)之間的第一鏈路中斷,所述第一鏈路為所述第一交換機(jī)通過帶外接口與所述控制服務(wù)器相連的鏈路。
11.根據(jù)權(quán)利要求9所述的控制服務(wù)器,其特征在于,所述確定模塊,具體用于確定第三交換機(jī)與所述第一交換機(jī)之間的第二鏈路中斷,所述第一交換機(jī)通過所述第三交換機(jī)與所述控制服務(wù)器連接,其中,所述第三交換機(jī)與所述第一交換機(jī)直接連接。
12.根據(jù)權(quán)利要求11所述的控制服務(wù)器,其特征在于, 所述第一發(fā)送模塊,還用于向所述第三交換機(jī)發(fā)送第二恢復(fù)流表,所述第二恢復(fù)流表中包括所述控制服務(wù)器通過所述第三交換機(jī)與所述第一交換機(jī)之間路由的信息以及第四端口的信息,所述第四端口為所述第三交換機(jī)通過所述第二交換機(jī)與所述第一交換機(jī)通信的端口,所述第四端口設(shè)置在所述第三交換機(jī); 所述第二發(fā)送模塊,還用于向所述第三交換機(jī)發(fā)送第二 LLDP消息,所述第二 LLDP消息用以確定所述控制服務(wù)器與所述第二交換機(jī)進(jìn)行通信的第三端口 ; 所述接收模塊,還用于接收所述第二交換機(jī)從所述第三端口發(fā)送的第二 TCP握手消息,所述第三端口為所述第二交換機(jī)接收所述控制服務(wù)器發(fā)送的所述第二 LLDP消息的端Π ; 所述建立模塊,還用于根據(jù)所述第二 TCP握手消息建立所述控制服務(wù)器與所述第二交換機(jī)之間的緊急鏈路通道,以用于建立與所述第一交換機(jī)之間的緊急鏈路通道,其中,所述第二交換機(jī)從所述第三端口發(fā)送的所述第二 TCP握手消息是由所述第三交換機(jī)根據(jù)所述第二恢復(fù)流表轉(zhuǎn)發(fā)的。
13.根據(jù)權(quán)利要求10或11所述的控制服務(wù)器,其特征在于, 所述接收模塊,還用于接收所述第一交換機(jī)通過所述第二交換機(jī)的所述第二端口發(fā)送的TCP完成指示,所述TCP完成指示用于指示所述控制服務(wù)器斷開所述控制服務(wù)器與所述第一交換機(jī)之間的緊急鏈路通道; 接收所述第一交換機(jī)發(fā)送的恢復(fù)鏈路請(qǐng)求,所述恢復(fù)鏈路請(qǐng)求用于指示所述控制服務(wù)器恢復(fù)所述控制服務(wù)器與所述第一交換機(jī)之間的所述現(xiàn)有鏈路。
14.根據(jù)權(quán)利要求13所述的控制服務(wù)器,其特征在于, 所述第一發(fā)送模塊,還用于向所述第二交換機(jī)發(fā)送流表修改信息,所述流表修改信息用以刪除所述第二交換機(jī)上存儲(chǔ)的所述第一恢復(fù)流表。
15.—種交換機(jī),其特征在于,包括: 接收模塊,用于在與控制服務(wù)器之間的現(xiàn)有鏈路中斷的情況下,接收所述控制服務(wù)器發(fā)送的第一鏈路層發(fā)現(xiàn)協(xié)議LLDP消息,所述第一 LLDP消息用以確定所述控制服務(wù)器與所述交換機(jī)通信的第一端口,所述第一端口設(shè)置在所述交換機(jī); 發(fā)送模塊,用于從第一端口向所述控制服務(wù)器發(fā)送第一 TCP握手消息,所述第一端口為所述交換機(jī)接收所述控制服務(wù)器發(fā)送的所述第一 LLDP消息的端口,所述第一 TCP握手消息用以建立所述控制服務(wù)器與所述交換機(jī)之間的緊急鏈路通道,其中,所述第一 TCP握手消息是由所述第二交換機(jī)根據(jù)所述第一恢復(fù)流表轉(zhuǎn)發(fā)給所述控制服務(wù)器的,并且所述交換機(jī)與所述第二交換機(jī)直接連接。
16.根據(jù)權(quán)利要求15所述的交換機(jī),其特征在于,所述發(fā)送模塊,還用于通過所述第二交換機(jī)的所述第二端口向所述控制服務(wù)器發(fā)送TCP完成指示,所述TCP完成指示用于指示所述控制服務(wù)器斷開所述控制服務(wù)器與所述交換機(jī)之間的緊急鏈路通道;并向所述控制服務(wù)器發(fā)送恢復(fù)鏈路請(qǐng)求,所述恢復(fù)鏈路請(qǐng)求用于指示所述控制服務(wù)器恢復(fù)所述控制服務(wù)器與所述交換機(jī)之間的所述現(xiàn)有鏈路。
【文檔編號(hào)】H04L12/24GK104468168SQ201310431771
【公開日】2015年3月25日 申請(qǐng)日期:2013年9月18日 優(yōu)先權(quán)日:2013年9月18日
【發(fā)明者】馮強(qiáng), 那聞?dòng)? 梁劍耀, 李泉材 申請(qǐng)人:華為技術(shù)有限公司