專利名稱::一種鏈路保活方法、控制器及交換機(jī)的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及通信領(lǐng)域,尤其涉及一種鏈路?;罘椒ā⒖刂破骷敖粨Q機(jī)。
背景技術(shù):
:現(xiàn)在的網(wǎng)絡(luò)暴露出了越來越多的弊病,并且人們對(duì)網(wǎng)絡(luò)性能的需求也不斷提高,于是研究人員不得不把很多復(fù)雜的功能加入到路由器的體系結(jié)構(gòu)當(dāng)中,例如0SPF(開放式最短路徑優(yōu)先),BGP(邊界網(wǎng)關(guān)協(xié)議),組播,區(qū)分服務(wù),流量工程,NAT(網(wǎng)絡(luò)地址轉(zhuǎn)換),防火墻和MPLS(多協(xié)議標(biāo)簽交換)等。這就使得路由器等交換設(shè)備越來越臃腫而且性能提升的空間越來越小,無法滿足日益增長的新業(yè)務(wù)需求。2008年,美國斯坦福大學(xué)提出了openflow網(wǎng)絡(luò)的概念,一個(gè)基本的openflow網(wǎng)絡(luò)包括控制面的網(wǎng)絡(luò)控制器controller和轉(zhuǎn)發(fā)面的交換機(jī)switch兩個(gè)主要控制實(shí)體。controller通過標(biāo)準(zhǔn)化的openflow協(xié)議控制多個(gè)switch,下發(fā)flowtable流表給switch。switch則根據(jù)流表執(zhí)行轉(zhuǎn)發(fā),如果沒有流表項(xiàng)匹配,則需要將數(shù)據(jù)報(bào)文頭信息封裝在packet_in消息中上送給controller處理,controller根據(jù)已有的拓?fù)湫畔⒂?jì)算路徑,下發(fā)流表項(xiàng)指導(dǎo)轉(zhuǎn)發(fā)?,F(xiàn)有軟件定義網(wǎng)絡(luò)環(huán)境下,控制器controller周期性的,鏈路層發(fā)現(xiàn)機(jī)制是控制器周期性的(如0.1秒)為交換機(jī)的每一個(gè)活動(dòng)端口下發(fā)鏈路發(fā)現(xiàn)報(bào)文(鏈路探測(cè)報(bào)文,意同)(封裝在Packet-Out中)給交換機(jī)(源交換機(jī)),從交換機(jī)的相應(yīng)端口將鏈路發(fā)現(xiàn)報(bào)文發(fā)送出去,如鏈路層發(fā)現(xiàn)協(xié)議LLDP報(bào)文。源交換機(jī)另一端的交換機(jī)接收到鏈路發(fā)現(xiàn)報(bào)文以后查詢流表,針對(duì)鏈路發(fā)現(xiàn)報(bào)文,控制器并不預(yù)先下發(fā)相應(yīng)的流表,交換機(jī)查詢不到流表匹配規(guī)則后,將報(bào)文(Packet-1n)上傳給控制器??刂破鹘邮?qǐng)?bào)文后,解析報(bào)文,鏈路探測(cè)報(bào)文通常包含發(fā)送報(bào)文的交換機(jī)的標(biāo)識(shí)及端口號(hào)(源交換機(jī)),如LLDP報(bào)文就包含交換機(jī)的標(biāo)識(shí)、出端口號(hào)及TTL等信息??刂破鞲鶕?jù)上送報(bào)文的交換機(jī)的標(biāo)識(shí)和端口號(hào)(目的交換機(jī)),就可以得到一條鏈路,進(jìn)而構(gòu)建網(wǎng)絡(luò)拓?fù)?。控制器在接收到每一個(gè)鏈路探測(cè)報(bào)文后,均需要對(duì)報(bào)文進(jìn)行解析,得到鏈路信息,更新相應(yīng)鏈路的時(shí)間戳;在指定的時(shí)間間隔內(nèi)如果沒有鏈路狀態(tài)更新,則認(rèn)為鏈路失效,刪除相應(yīng)的信息,更新拓?fù)?。由于鏈路是?dòng)態(tài)變化的,所以交換機(jī)需要將收到的每一條鏈路探測(cè)報(bào)文都上送到控制器,以保持網(wǎng)絡(luò)拓?fù)涞膶?shí)時(shí)性。一般鏈路探測(cè)報(bào)文是周期性在每個(gè)交換機(jī)的活動(dòng)端口發(fā)送的,如0.1秒,所以報(bào)文數(shù)量很大。這些重復(fù)發(fā)送給控制器的鏈路探測(cè)報(bào)文占用了較多的網(wǎng)絡(luò)帶寬,同時(shí)也耗費(fèi)了較多控制器的計(jì)算資源。
發(fā)明內(nèi)容本發(fā)明要解決的技術(shù)問題是提供一種鏈路保活方法、控制器及交換機(jī),在openflow網(wǎng)絡(luò)中,能夠避免交換機(jī)與控制器之間的大量的鏈路探測(cè)報(bào)文的交互。為解決上述技術(shù)問題,本發(fā)明的一種鏈路?;罘椒?,包括控制器獲取鏈路信息,在得到鏈路信息后,將所述鏈路信息發(fā)送給鏈路信息對(duì)應(yīng)鏈路的源交換機(jī)和/或目的交換機(jī);并且,相應(yīng)的向源交換機(jī)和/或目的交換機(jī)發(fā)送?;罘绞叫畔⒑玩溌繁;顔?dòng)指令,觸發(fā)所述源交換機(jī)和/或目的交換機(jī)根據(jù)所述鏈路信息和保活方式信息進(jìn)行源交換機(jī)和目的交換機(jī)之間的鏈路?;?;或者,所述控制器在得到鏈路信息后,將所述鏈路信息發(fā)送給鏈路信息對(duì)應(yīng)鏈路的源交換機(jī)和/或目的交換機(jī),觸發(fā)所述源交換機(jī)和/或目的交換機(jī)確定鏈路?;畈捎玫姆绞讲凑账_定的方式進(jìn)行源交換機(jī)和目的交換機(jī)之間的鏈路?;睢_M(jìn)一步地,所述保活方式信息包含鏈路?;钍褂玫膮f(xié)議的信息,用于向交換機(jī)指示進(jìn)行鏈路保活采用的協(xié)議。進(jìn)一步地,還包括所述控制器在向所述源交換機(jī)和/或目的交換機(jī)發(fā)送保活方式信息時(shí),還將鏈路保活使用的協(xié)議的相關(guān)配置信息和/或使用的協(xié)議數(shù)據(jù)報(bào)文發(fā)送給所述源交換機(jī)和/或目的交換機(jī)。進(jìn)一步地,所述鏈路?;畈捎玫姆绞桨溌繁;钍褂玫膮f(xié)議和協(xié)議的相關(guān)配置信息。進(jìn)一步地,還包括所述控制器在向所述源交換機(jī)和/或目的交換機(jī)發(fā)送?;罘绞叫畔⒑螅辉傧蛩鲈唇粨Q機(jī)下發(fā)鏈路發(fā)現(xiàn)報(bào)文,接收交換機(jī)發(fā)送的鏈路異常信息,在接收到鏈路異常信息后,啟動(dòng)下發(fā)對(duì)所述鏈路的鏈路發(fā)現(xiàn)報(bào)文進(jìn)行鏈路發(fā)現(xiàn)。進(jìn)一步地,一種鏈路?;罘椒?,包括交換機(jī)接收控制器發(fā)送的鏈路信息及保活方式信息;并且,在接收到所述控制器發(fā)送的鏈路?;顔?dòng)指令后,根據(jù)所述鏈路信息及?;罘绞叫畔⑴c鏈路信息指示的對(duì)端交換機(jī)進(jìn)行鏈路?;?;或者,所述交換機(jī)接收控制器發(fā)送的鏈路信息,在接收到所述鏈路信息后,確定進(jìn)行鏈路?;畈捎玫姆绞讲凑账_定的方式與鏈路信息指示的對(duì)端交換機(jī)進(jìn)行鏈路保活。進(jìn)一步地,還包括所述交換機(jī)在鏈路保活過程中,在鏈路正常的情況下,不再接收所述控制器發(fā)送的鏈路發(fā)現(xiàn)報(bào)文;在鏈路發(fā)生異常的情況下,向所述控制器發(fā)送鏈路異常信息。進(jìn)一步地,所述?;罘绞叫畔溌繁;钍褂玫膮f(xié)議的信息,用于指示進(jìn)行鏈路保活采用的協(xié)議;根據(jù)所述鏈路信息及保活方式信息與鏈路信息指示的對(duì)端交換機(jī)進(jìn)行鏈路?;睿ㄋ鼋粨Q機(jī)采用?;罘绞叫畔⒅甘镜膮f(xié)議,與鏈路信息指示的對(duì)端交換機(jī)進(jìn)行鏈路?;睢_M(jìn)一步地,確定進(jìn)行鏈路?;畈捎玫姆绞?,包括所述交換機(jī)與鏈路信息指示的對(duì)端交換機(jī)協(xié)商鏈路?;钍褂玫膮f(xié)議和協(xié)議的相關(guān)配置信息。進(jìn)一步地,一種控制器,包括鏈路信息獲取單元和鏈路?;羁刂茊卧?,其中所述鏈路信息獲取單元,用于獲取鏈路信息;所述鏈路?;羁刂茊卧糜谠谒鲦溌沸畔@取單元得到鏈路信息后,將所述鏈路信息發(fā)送給鏈路信息對(duì)應(yīng)鏈路的源交換機(jī)和/或目的交換機(jī);并且,相應(yīng)的向源交換機(jī)和/或目的交換機(jī)發(fā)送?;罘绞叫畔⒑玩溌繁;顔?dòng)指令,觸發(fā)所述源交換機(jī)和/或目的交換機(jī)根據(jù)所述鏈路信息和?;罘绞叫畔⑦M(jìn)行源交換機(jī)和目的交換機(jī)之間的鏈路保活;或者,將所述鏈路信息發(fā)送給鏈路信息對(duì)應(yīng)鏈路的源交換機(jī)和/或目的交換機(jī),觸發(fā)所述源交換機(jī)和/或目的交換機(jī)確定進(jìn)行鏈路?;畈捎玫姆绞讲凑账_定的方式進(jìn)行源交換機(jī)和目的交換機(jī)之間的鏈路保活。進(jìn)一步地,所述保活方式信息包含鏈路?;钍褂玫膮f(xié)議的信息,用于向交換機(jī)指示進(jìn)行鏈路?;畈捎玫膮f(xié)議。進(jìn)一步地,所述鏈路保活控制單元,還用于在向所述源交換機(jī)和/或目的交換機(jī)發(fā)送保活方式信息后,不再向所述源交換機(jī)下發(fā)鏈路發(fā)現(xiàn)報(bào)文,接收交換機(jī)發(fā)送的鏈路異常信息,在接收到鏈路異常信息后,啟動(dòng)下發(fā)對(duì)所述鏈路的鏈路發(fā)現(xiàn)報(bào)文進(jìn)行鏈路發(fā)現(xiàn)。進(jìn)一步地,一種交換機(jī),包括接收單元和鏈路?;顔卧?,其中所述接收單元,用于接收控制器發(fā)送的鏈路信息;或接收控制器發(fā)送的鏈路信息、?;罘绞叫畔⒓版溌繁;顔?dòng)指令;所述鏈路?;顔卧?,用于在所述接收單元接收到所述控制器發(fā)送的鏈路?;顔?dòng)指令后,根據(jù)所述鏈路信息及?;罘绞叫畔⑴c鏈路信息指示的對(duì)端交換機(jī)進(jìn)行鏈路?;睿换蛘?,在所述接收單元接收到鏈路信息后,確定進(jìn)行鏈路?;畈捎玫姆绞讲凑账_定的方式與鏈路信息指示的對(duì)端交換機(jī)進(jìn)行鏈路保活。進(jìn)一步地,所述鏈路?;顔卧?,還用于在鏈路?;钸^程中,在鏈路正常的情況下,不再接收所述控制器發(fā)送的鏈路發(fā)現(xiàn)報(bào)文;在鏈路發(fā)生異常的情況下,向所述控制器發(fā)送鏈路異常信息。進(jìn)一步地,所述保活方式信息包含鏈路?;钍褂玫膮f(xié)議的信息,用于指示進(jìn)行鏈路保活采用的協(xié)議;所述鏈路?;顔卧唧w用于采用保活方式信息指示的協(xié)議,與鏈路信息指示的對(duì)端交換機(jī)進(jìn)行鏈路?;?。綜上所述,本發(fā)明在openflow網(wǎng)絡(luò)模型下,controller控制器下發(fā)鏈路探測(cè)報(bào)文進(jìn)行鏈路探測(cè),在得到鏈路信息后,下發(fā)鏈路保活信息給交換機(jī),與交換機(jī)協(xié)商鏈路?;畹姆椒?,交換機(jī)根據(jù)控制器與交換機(jī)的協(xié)商自行實(shí)現(xiàn)鏈路?;?;控制器也可以通知交換機(jī)已獲得的鏈路信息,由鏈路上的交換機(jī)自行協(xié)商決定鏈路?;畹姆绞?;在鏈路狀態(tài)變化時(shí)通知控制器,避免交換機(jī)與控制器之間的大量的鏈路探測(cè)報(bào)文,節(jié)省了網(wǎng)絡(luò)帶寬的占用,以及控制器的計(jì)算資源的耗費(fèi)。圖圖圖圖圖圖圖圖1是目前的openflow的網(wǎng)絡(luò)拓?fù)?是本發(fā)明實(shí)施例1的鏈路?;罘椒ǖ牧鞒虉D3是本發(fā)明實(shí)施例2的鏈路?;罘椒ǖ牧鞒虉D4是本發(fā)明實(shí)施例3的鏈路?;罘椒ǖ牧鞒虉D5是本發(fā)明實(shí)施例4的鏈路?;罘椒ǖ牧鞒虉D6是本發(fā)明實(shí)施例5的鏈路?;罘椒ǖ牧鞒虉D7是本發(fā)明實(shí)施方式的控制器的架構(gòu)8是本發(fā)明實(shí)施方式的交換機(jī)的架構(gòu)圖。具體實(shí)施例方式本實(shí)施方式中交換機(jī)在首次接收到某端口過來的鏈路探測(cè)(鏈路發(fā)現(xiàn))報(bào)文時(shí),在控制器對(duì)鏈路探測(cè)報(bào)文未下發(fā)流表時(shí),交換機(jī)匹配不到相應(yīng)流表后將鏈路探測(cè)報(bào)文上送給控制器;控制器也可以對(duì)鏈路探測(cè)報(bào)文下發(fā)相應(yīng)的流表以提高匹配的效率,這種情況下,交換機(jī)匹配到流表項(xiàng)后,將鏈路探測(cè)報(bào)文上傳給控制器,控制器得到鏈路信息??刂破髟诘玫芥溌沸畔⒑螅捎靡韵氯我夥绞教幚?I)下發(fā)已探測(cè)到的鏈路信息至鏈路的源交換機(jī)和/或目的交換機(jī),控制器下發(fā)?;罘绞叫畔⒓跋嚓P(guān)配置信息至鏈路的源交換機(jī)和/或目的交換機(jī)以支持鏈路檢測(cè)協(xié)議實(shí)現(xiàn)鏈路保活keep-live,使鏈路的源交換機(jī)和目的交換機(jī)相應(yīng)的動(dòng)態(tài)發(fā)送和/或接收鏈路檢測(cè)報(bào)文;(2)下發(fā)已探測(cè)到的鏈路信息至鏈路的源交換機(jī)和/或目的交換機(jī),由鏈路上的交換機(jī)自行通過交互報(bào)文協(xié)商或按照預(yù)先的配置自行確定進(jìn)行鏈路?;畈捎玫姆绞健M瑫r(shí)控制器不再下發(fā)此鏈路相關(guān)的鏈路探測(cè)報(bào)文。本實(shí)施方式中,交換機(jī)之間動(dòng)態(tài)檢測(cè)鏈路狀態(tài),實(shí)現(xiàn)鏈路?;?,如果鏈路狀態(tài)不發(fā)生變化,交換機(jī)和控制器之間便無需進(jìn)行相應(yīng)鏈路狀態(tài)有關(guān)的信息交互,當(dāng)然也不再上送相應(yīng)鏈路的鏈路發(fā)現(xiàn)報(bào)文到控制器;如果鏈路變化,如鏈路失效,則上送鏈路失效信息給控制器,控制器維護(hù)鏈路狀態(tài),然后下發(fā)此鏈路的鏈路探測(cè)(發(fā)現(xiàn))報(bào)文進(jìn)行鏈路探測(cè)(發(fā)現(xiàn))。為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,下文中將結(jié)合附圖對(duì)本發(fā)明的實(shí)施例進(jìn)行詳細(xì)說明。需要說明的是,在不沖突的情況下,本申請(qǐng)中的實(shí)施例及實(shí)施例中的特征可以相互任意組合。如圖1所示,在openflow網(wǎng)絡(luò)中,controller對(duì)多個(gè)switch進(jìn)行控制和管理,當(dāng)控制器獲得一條鏈路信息時(shí),下發(fā)?;罘绞叫畔⒓跋嚓P(guān)配置信息給相應(yīng)鏈路上的交換機(jī),并通知交換機(jī)啟動(dòng)鏈路?;?。交換機(jī)之間自行進(jìn)行鏈路?;?,在鏈路狀態(tài)不發(fā)生變化的情況下,控制器無需再向交換機(jī)下發(fā)鏈路發(fā)現(xiàn)報(bào)文Packet-out,致使交換機(jī)也無需上送相應(yīng)的報(bào)文。當(dāng)鏈路狀態(tài)發(fā)生變化時(shí),交換機(jī)通知控制器相應(yīng)的鏈路狀態(tài),控制器重新進(jìn)行鏈路探測(cè)。實(shí)施例1:本實(shí)施例中控制器與交換機(jī)進(jìn)行鏈路?;畹奶幚磉^程中,控制器一次性下發(fā)保活方式信息及相關(guān)配置信息并通知交換機(jī)啟動(dòng)鏈路?;?;如圖2所示,switch上電后與controller建立連接,連接建立完成后,控制器獲得交換機(jī)的活動(dòng)端口,本實(shí)施方式的方法包括步驟201:控制器下發(fā)鏈路發(fā)現(xiàn)報(bào)文給交換機(jī),鏈路發(fā)現(xiàn)報(bào)文承載于Packet-Out數(shù)據(jù)包中,報(bào)文中包含進(jìn)行鏈路發(fā)現(xiàn)的交換機(jī)端口的信息;步驟202:交換機(jī)收到鏈路發(fā)現(xiàn)報(bào)文后,從控制器指定的端口上發(fā)送鏈路發(fā)現(xiàn)報(bào)文;步驟203:另一端相連的交換機(jī)接收到報(bào)文后,匹配流表后,上送報(bào)文到控制器(承載在Packet-1n中);步驟204:控制器收到Packet-Ιη,報(bào)文中承載上送Packet-Ιη的交換機(jī)的標(biāo)識(shí)及相應(yīng)的端口號(hào),并從報(bào)文中得到發(fā)送鏈路發(fā)現(xiàn)報(bào)文的源交換機(jī)的標(biāo)識(shí)及端口號(hào),獲得一條鏈路的鏈路信息;步驟205:控制器將獲得的鏈路信息下發(fā)給相應(yīng)鏈路上的交換機(jī);步驟206:交換機(jī)保存控制器下發(fā)的鏈路信息,以便進(jìn)行鏈路?;?;步驟207:控制器下發(fā)用于鏈路?;畹谋;罘绞叫畔⒓跋嚓P(guān)配置信息,?;罘绞叫畔溌繁;钍褂玫膮f(xié)議的信息,協(xié)議數(shù)據(jù)報(bào)文可以下發(fā),也可以由交換機(jī)自行組包;發(fā)送鏈路?;顔?dòng)指令啟動(dòng)鏈路?;?;鏈路?;羁梢圆捎媚壳笆褂玫娜魏捂溌繁;顓f(xié)議,包括但不限于鏈路層發(fā)現(xiàn)協(xié)議LLDP、操作管理和維護(hù)協(xié)議OAMPDU以及雙向轉(zhuǎn)發(fā)檢測(cè)協(xié)議BFD。對(duì)于LLDP協(xié)議,相關(guān)配置信息包含協(xié)議報(bào)文發(fā)送的時(shí)間間隔,協(xié)議報(bào)文的生存時(shí)間TTL;對(duì)于OAM協(xié)議,相關(guān)配置信息包含報(bào)文的類型,錯(cuò)誤幀周期事件的檢測(cè)周期,錯(cuò)誤信號(hào)的數(shù)量閥值和錯(cuò)誤幀的數(shù)量閥值等;對(duì)于BFD協(xié)議,相關(guān)配置信息有檢測(cè)模式,認(rèn)證類型,發(fā)送周期和檢測(cè)時(shí)間等。相關(guān)配置信息也可以直接配置在交換機(jī)中,不通過控制器發(fā)送給交換機(jī)。步驟208:交換機(jī)之間自行按照控制器下發(fā)的?;罘绞叫畔⒑拖嚓P(guān)配置信息進(jìn)行鏈路?;?,鏈路?;畹倪^程無需控制器再進(jìn)行干預(yù);步驟209:如果鏈路正常,則繼續(xù)進(jìn)行保活;步驟210:如果鏈路發(fā)生異常,發(fā)送相應(yīng)的鏈路異常信息給控制器,由控制器重新進(jìn)行鏈路發(fā)現(xiàn)或后續(xù)工作。實(shí)施例2:本實(shí)施例中控制器與交換機(jī)進(jìn)行鏈路?;畹奶幚磉^程中,控制器下發(fā)?;罘绞叫畔⒓跋嚓P(guān)配置信息給交換機(jī),然后下發(fā)鏈路?;顔?dòng)指令給交換機(jī)進(jìn)行鏈路?;?;在圖3中,switch上電后與controller建立連接,連接建立完成后,控制器獲得交換機(jī)的活動(dòng)端Π步驟301:控制器下發(fā)鏈路發(fā)現(xiàn)報(bào)文給交換機(jī),報(bào)文承載于Packet-Out數(shù)據(jù)包,報(bào)文中包含進(jìn)行鏈路發(fā)現(xiàn)的交換機(jī)端口的信息;步驟302:交換機(jī)收到鏈路發(fā)現(xiàn)報(bào)文后,從控制器指定的端口上發(fā)送鏈路發(fā)現(xiàn)報(bào)文;步驟303:另一端相連的交換機(jī)接收到報(bào)文后,匹配流表后,上送報(bào)文到控制器(承載在Packet-1n中);步驟304:控制器收到Packet-Ιη,報(bào)文中承載上送Packet-Ιη的交換機(jī)的標(biāo)識(shí)及相應(yīng)的端口號(hào),并從報(bào)文中得到發(fā)送鏈路發(fā)現(xiàn)報(bào)文的源交換機(jī)的標(biāo)識(shí)及端口號(hào),獲得一條鏈路的鏈路信息;步驟305:控制器將獲得的鏈路信息下發(fā)給相應(yīng)鏈路上的交換機(jī);步驟306:交換機(jī)保存控制器下發(fā)的鏈路信息,以便進(jìn)行鏈路?;?;步驟307:控制器下發(fā)用于鏈路?;畹南嚓P(guān)配置信息及?;罘绞叫畔?,?;罘绞叫畔溌繁;钍褂玫膮f(xié)議的信息,協(xié)議數(shù)據(jù)報(bào)文可以下發(fā),也可以由交換機(jī)自行組包;協(xié)議報(bào)文信息也可以在下一步下發(fā);步驟308:控制器在步驟307未下發(fā)協(xié)議數(shù)據(jù)報(bào)文時(shí),下發(fā)協(xié)議數(shù)據(jù)報(bào)文并發(fā)送鏈路?;顔?dòng)指令啟動(dòng)鏈路?;?;步驟309:交換機(jī)之間自行按照控制器下發(fā)的?;罘绞叫畔⑦M(jìn)行鏈路?;睿溌繁;畹倪^程無需控制器再進(jìn)行干預(yù);步驟310:如果鏈路正常,則繼續(xù)進(jìn)行?;?;步驟311:如果鏈路發(fā)生異常,發(fā)送相應(yīng)的鏈路異常信息給控制器,由控制器重新進(jìn)行鏈路發(fā)現(xiàn)或后續(xù)工作。實(shí)施例3控制器與交換機(jī)使用具體協(xié)議進(jìn)行鏈路發(fā)現(xiàn)與保活的處理過程,這是實(shí)施例1的一個(gè)具體的實(shí)現(xiàn)方式的描述,采用LLDP協(xié)議進(jìn)行鏈路發(fā)現(xiàn),采用BFD協(xié)議用于鏈路保活;在圖4中,switch上電后與controller建立連接,連接建立完成后,控制器獲得交換機(jī)的活動(dòng)立而口步驟401:控制器下發(fā)LLDP鏈路發(fā)現(xiàn)報(bào)文給交換機(jī),報(bào)文承載于Packet-Out數(shù)據(jù)包中,報(bào)文中包含進(jìn)行鏈路發(fā)現(xiàn)的交換機(jī)端口的信息;步驟402:交換機(jī)收到LLDP鏈路發(fā)現(xiàn)報(bào)文后,從控制器指定的端口上發(fā)送LLDP鏈路發(fā)現(xiàn)報(bào)文;步驟403:另一端相連的交換機(jī)接收到LLDP鏈路發(fā)現(xiàn)報(bào)文后,匹配流表后,上送包到控制器(承載在Packet-1n中);步驟404:控制器收到Packet-Ιη,在報(bào)文中承載有上送Packet-Ιη的交換機(jī)的標(biāo)識(shí)及相應(yīng)的端口號(hào),從LLDP鏈路發(fā)現(xiàn)報(bào)文中得到發(fā)送LLDP鏈路發(fā)現(xiàn)報(bào)文的源交換機(jī)的標(biāo)識(shí)及端口號(hào),獲得一條鏈路的鏈路信息;步驟405:控制器將獲得的鏈路信息下發(fā)給相應(yīng)鏈路上的交換機(jī);步驟406:交換機(jī)保存控制器下發(fā)的鏈路信息,以便進(jìn)行鏈路?;?;步驟407:控制器下發(fā)用于鏈路保活的?;罘绞叫畔⒓跋嚓P(guān)配置信息,通知交換機(jī)使用BFD協(xié)議進(jìn)行鏈路保活,BFD協(xié)議數(shù)據(jù)報(bào)文可以下發(fā),也可以由交換機(jī)自行組包;啟動(dòng)鏈路?;?;步驟408:交換機(jī)之間使用BFD協(xié)議進(jìn)行鏈路?;?,鏈路?;畹倪^程無需控制器再進(jìn)行干預(yù);步驟409:如果鏈路正常,則繼續(xù)進(jìn)行?;?;步驟410:如果鏈路發(fā)生異常,發(fā)送相應(yīng)的鏈路異常信息給控制器,由控制器重新進(jìn)行鏈路發(fā)現(xiàn)或后續(xù)工作。實(shí)施例4控制器與交換機(jī)使用具體協(xié)議進(jìn)行鏈路發(fā)現(xiàn)與?;畹奶幚磉^程,這是實(shí)施例1的另一個(gè)具體的實(shí)現(xiàn)方式的描述,LLDP協(xié)議進(jìn)行鏈路發(fā)現(xiàn),OAX協(xié)議用于鏈路?;睿辉趫D5中,switch上電后與controller建立連接,連接建立完成后,控制器獲得交換機(jī)的活動(dòng)端口步驟501:控制器下發(fā)LLDP鏈路發(fā)現(xiàn)報(bào)文給交換機(jī),LLDP鏈路發(fā)現(xiàn)報(bào)文承載于Packet-Out數(shù)據(jù)包中,報(bào)文中包含進(jìn)行鏈路發(fā)現(xiàn)的交換機(jī)端口的信息;步驟502:交換機(jī)收到LLDP鏈路發(fā)現(xiàn)報(bào)文后,從控制器指定的端口上發(fā)送LLDP鏈路發(fā)現(xiàn)報(bào)文;步驟503:另一端相連的交換機(jī)接收到LLDP報(bào)文后,匹配流表后,上送數(shù)據(jù)包到控制器(承載在Packet-1n中);步驟504:控制器收到Packet-Ιη,在報(bào)文中承載有上送Packet-Ιη的交換機(jī)的標(biāo)識(shí)及相應(yīng)的端口號(hào),并從LLDP鏈路發(fā)現(xiàn)報(bào)文中得到發(fā)送LLDP鏈路發(fā)現(xiàn)報(bào)文的源交換機(jī)的標(biāo)識(shí)及端口號(hào),獲得一條鏈路的鏈路信息;步驟505:控制器將獲得的鏈路信息下發(fā)給相應(yīng)鏈路上的交換機(jī);步驟506:交換機(jī)保存控制器下發(fā)的鏈路信息,以便進(jìn)行鏈路?;?;步驟507:控制器下發(fā)用于鏈路?;畹谋;罘绞叫畔⒓跋嚓P(guān)配置信息,通知交換機(jī)使用OAM協(xié)議進(jìn)行鏈路?;?,OAM協(xié)議數(shù)據(jù)報(bào)文可以下發(fā),也可以由交換機(jī)自行組包;啟動(dòng)鏈路?;睿徊襟E508:交換機(jī)之間使用OAM協(xié)議進(jìn)行鏈路?;?,交換機(jī)之間通過發(fā)送OAMPDU信息進(jìn)行交互,鏈路?;畹倪^程無需控制器再進(jìn)行干預(yù);步驟509:如果鏈路正常,則繼續(xù)進(jìn)行?;?;步驟510:如果鏈路發(fā)生異常,發(fā)送相應(yīng)的鏈路異常信息給控制器,由控制器重新進(jìn)行鏈路發(fā)現(xiàn)或后續(xù)工作。實(shí)施例5本實(shí)施例中控制器與交換機(jī)進(jìn)行鏈路?;畹奶幚磉^程中,控制器僅下發(fā)獲得的鏈路信息,通知交換機(jī)自行選擇鏈路?;畹姆绞剑蝗鐖D6所示,switch上電后與controller建立連接,連接建立完成后,控制器獲得交換機(jī)的活動(dòng)端口,本實(shí)施方式的方法包括步驟601:控制器下發(fā)鏈路發(fā)現(xiàn)報(bào)文給交換機(jī),鏈路發(fā)現(xiàn)報(bào)文承載于Packet-Out數(shù)據(jù)包中,報(bào)文中包含進(jìn)行鏈路發(fā)現(xiàn)的交換機(jī)端口的信息;步驟602:交換機(jī)收到鏈路發(fā)現(xiàn)報(bào)文后,從控制器指定的端口上發(fā)送鏈路發(fā)現(xiàn)報(bào)文;步驟603:另一端相連的交換機(jī)接收到報(bào)文后,匹配流表后,上送報(bào)文到控制器(承載在Packet-1n中);步驟604:控制器收到Packet-Ιη,報(bào)文中承載上送Packet-Ιη的交換機(jī)的標(biāo)識(shí)及相應(yīng)的端口號(hào),并從報(bào)文中得到發(fā)送鏈路發(fā)現(xiàn)報(bào)文的源交換機(jī)的標(biāo)識(shí)及端口號(hào),獲得一條鏈路的鏈路信息;步驟605:控制器將獲得的鏈路信息下發(fā)給相應(yīng)鏈路上的交換機(jī),通知交換機(jī)進(jìn)行鏈路?;?,?;畹姆绞接山粨Q機(jī)自行選擇;步驟606:交換機(jī)保存控制器下發(fā)的鏈路信息,以便進(jìn)行鏈路保活;步驟607:交換機(jī)之間協(xié)商決定鏈路保活的方式,包括鏈路保活使用的協(xié)議,協(xié)議的相關(guān)配置信息等;協(xié)商決定鏈路?;罘绞胶?,啟動(dòng)鏈路?;睿徊襟E608:交換機(jī)之間自行按照協(xié)商好的鏈路?;畹姆绞竭M(jìn)行鏈路?;睿溌繁;畹倪^程無需控制器再進(jìn)行干預(yù);步驟609:如果鏈路正常,則繼續(xù)進(jìn)行?;?;步驟610:如果鏈路發(fā)生異常,發(fā)送相應(yīng)的鏈路異常信息給控制器,由控制器重新進(jìn)行鏈路發(fā)現(xiàn)或后續(xù)工作。如圖7所示,本實(shí)施方式還提供了一種控制器,包括鏈路信息獲取單元和鏈路保活控制單元,其中鏈路信息獲取單元,用于獲取鏈路信息;鏈路?;羁刂茊卧糜谠阪溌沸畔@取單元得到鏈路信息后,將鏈路信息發(fā)送給鏈路信息對(duì)應(yīng)鏈路的源交換機(jī)和/或目的交換機(jī);并且,相應(yīng)的向源交換機(jī)和/或目的交換機(jī)發(fā)送?;罘绞叫畔⒑玩溌繁;顔?dòng)指令,觸發(fā)源交換機(jī)和/或目的交換機(jī)根據(jù)鏈路信息和?;罘绞叫畔⑦M(jìn)行源交換機(jī)和目的交換機(jī)之間的鏈路保活;或者,將鏈路信息發(fā)送給鏈路信息對(duì)應(yīng)鏈路的源交換機(jī)和/或目的交換機(jī),觸發(fā)源交換機(jī)和/或目的交換機(jī)確定進(jìn)行鏈路保活采用的方式并按照所確定的方式進(jìn)行源交換機(jī)和目的交換機(jī)之間的鏈路?;睢f溌繁;畈捎玫姆绞桨溌繁;钍褂玫膮f(xié)議和協(xié)議的相關(guān)配置信息。保活方式信息包含鏈路?;钍褂玫膮f(xié)議的信息,用于向交換機(jī)指示進(jìn)行鏈路?;畈捎玫膮f(xié)議。鏈路保活控制單元,還用于在向源交換機(jī)和/或目的交換機(jī)發(fā)送?;罘绞叫畔⒑?,不再向源交換機(jī)下發(fā)鏈路發(fā)現(xiàn)報(bào)文,接收交換機(jī)發(fā)送的鏈路異常信息,在接收到鏈路異常信息后,啟動(dòng)下發(fā)對(duì)鏈路的鏈路發(fā)現(xiàn)報(bào)文進(jìn)行鏈路發(fā)現(xiàn)。如圖8所示,本實(shí)施方式還提供了一種交換機(jī),包括接收單元和鏈路?;顔卧渲薪邮諉卧?,用于接收控制器發(fā)送的鏈路信息;或接收控制器發(fā)送的鏈路信息、?;罘绞叫畔⒓版溌繁;顔?dòng)指令;鏈路保活單元,用于在接收單元接收到控制器發(fā)送的鏈路保活啟動(dòng)指令后,根據(jù)鏈路信息及?;罘绞叫畔⑴c鏈路信息指示的對(duì)端交換機(jī)進(jìn)行鏈路保活;或者,在接收單元接收到鏈路信息后,確定進(jìn)行鏈路保活采用的方式并按照所確定的方式與鏈路信息指示的對(duì)端交換機(jī)進(jìn)行鏈路?;睢f溌繁;顔卧€用于在鏈路?;钸^程中,在鏈路正常的情況下,不再接收控制器發(fā)送的鏈路發(fā)現(xiàn)報(bào)文;在鏈路發(fā)生異常的情況下,向控制器發(fā)送鏈路異常信息。?;罘绞叫畔溌繁;钍褂玫膮f(xié)議的信息,用于指示進(jìn)行鏈路?;畈捎玫膮f(xié)議;鏈路?;顔卧唧w用于采用?;罘绞叫畔⒅甘镜膮f(xié)議,與鏈路信息指示的對(duì)端交換機(jī)進(jìn)行鏈路?;?。鏈路保活單元確定進(jìn)行鏈路?;畈捎玫姆绞?,包括所述交換機(jī)與鏈路信息指示的對(duì)端交換機(jī)協(xié)商鏈路?;钍褂玫膮f(xié)議和協(xié)議的相關(guān)配置信息。當(dāng)然,本發(fā)明還可有其它多種實(shí)施例,在不背離本發(fā)明精神及其實(shí)質(zhì)的情況下,熟悉本領(lǐng)域的技術(shù)人員當(dāng)可根據(jù)本發(fā)明做出各種相應(yīng)的改變和變形,但這些相應(yīng)的改變和變形都應(yīng)屬于本發(fā)明所附的權(quán)利要求的保護(hù)范圍。權(quán)利要求1.一種鏈路?;罘椒ǎ刂破鳙@取鏈路信息,在得到鏈路信息后,將所述鏈路信息發(fā)送給鏈路信息對(duì)應(yīng)鏈路的源交換機(jī)和/或目的交換機(jī);并且,相應(yīng)的向源交換機(jī)和/或目的交換機(jī)發(fā)送?;罘绞叫畔⒑玩溌繁;顔?dòng)指令,觸發(fā)所述源交換機(jī)和/或目的交換機(jī)根據(jù)所述鏈路信息和保活方式信息進(jìn)行源交換機(jī)和目的交換機(jī)之間的鏈路?;?;或者,所述控制器在得到鏈路信息后,將所述鏈路信息發(fā)送給鏈路信息對(duì)應(yīng)鏈路的源交換機(jī)和/或目的交換機(jī),觸發(fā)所述源交換機(jī)和/或目的交換機(jī)確定鏈路?;畈捎玫姆绞讲凑账_定的方式進(jìn)行源交換機(jī)和目的交換機(jī)之間的鏈路?;?。2.如權(quán)利要求1所述的方法,其特征在于,所述保活方式信息包含鏈路?;钍褂玫膮f(xié)議的信息,用于向交換機(jī)指示進(jìn)行鏈路?;畈捎玫膮f(xié)議。3.如權(quán)利要求2所述的方法,其特征在于,還包括所述控制器在向所述源交換機(jī)和/或目的交換機(jī)發(fā)送?;罘绞叫畔r(shí),還將鏈路?;钍褂玫膮f(xié)議的相關(guān)配置信息和/或使用的協(xié)議數(shù)據(jù)報(bào)文發(fā)送給所述源交換機(jī)和/或目的交換機(jī)。4.如權(quán)利要求1所述的方法,其特征在于,所述鏈路?;畈捎玫姆绞桨溌繁;钍褂玫膮f(xié)議和協(xié)議的相關(guān)配置信息。5.如權(quán)利要求1所述的方法,其特征在于,還包括所述控制器在向所述源交換機(jī)和/或目的交換機(jī)發(fā)送?;罘绞叫畔⒑螅辉傧蛩鲈唇粨Q機(jī)下發(fā)鏈路發(fā)現(xiàn)報(bào)文,接收交換機(jī)發(fā)送的鏈路異常信息,在接收到鏈路異常信息后,啟動(dòng)下發(fā)對(duì)所述鏈路的鏈路發(fā)現(xiàn)報(bào)文進(jìn)行鏈路發(fā)現(xiàn)。6.一種鏈路?;罘椒ǎń粨Q機(jī)接收控制器發(fā)送的鏈路信息及?;罘绞叫畔?;并且,在接收到所述控制器發(fā)送的鏈路保活啟動(dòng)指令后,根據(jù)所述鏈路信息及?;罘绞叫畔⑴c鏈路信息指示的對(duì)端交換機(jī)進(jìn)行鏈路保活;或者,所述交換機(jī)接收控制器發(fā)送的鏈路信息,在接收到所述鏈路信息后,確定進(jìn)行鏈路保活采用的方式并按照所確定的方式與鏈路信息指示的對(duì)端交換機(jī)進(jìn)行鏈路?;?。7.如權(quán)利要求6所述的方法,其特征在于,還包括所述交換機(jī)在鏈路?;钸^程中,在鏈路正常的情況下,不再接收所述控制器發(fā)送的鏈路發(fā)現(xiàn)報(bào)文;在鏈路發(fā)生異常的情況下,向所述控制器發(fā)送鏈路異常信息。8.如權(quán)利要求6所述的方法,其特征在于所述?;罘绞叫畔溌繁;钍褂玫膮f(xié)議的信息,用于指示進(jìn)行鏈路保活采用的協(xié)議;根據(jù)所述鏈路信息及?;罘绞叫畔⑴c鏈路信息指示的對(duì)端交換機(jī)進(jìn)行鏈路?;?,包括所述交換機(jī)采用?;罘绞叫畔⒅甘镜膮f(xié)議,與鏈路信息指示的對(duì)端交換機(jī)進(jìn)行鏈路?;睢?.如權(quán)利要求6所述的方法,其特征在于,確定進(jìn)行鏈路?;畈捎玫姆绞?,包括所述交換機(jī)與鏈路信息指示的對(duì)端交換機(jī)協(xié)商鏈路保活使用的協(xié)議和協(xié)議的相關(guān)配置信息。10.一種控制器,包括鏈路信息獲取單元和鏈路保活控制單元,其中所述鏈路信息獲取單元,用于獲取鏈路信息;所述鏈路保活控制單元,用于在所述鏈路信息獲取單元得到鏈路信息后,將所述鏈路信息發(fā)送給鏈路信息對(duì)應(yīng)鏈路的源交換機(jī)和/或目的交換機(jī);并且,相應(yīng)的向源交換機(jī)和/或目的交換機(jī)發(fā)送保活方式信息和鏈路?;顔?dòng)指令,觸發(fā)所述源交換機(jī)和/或目的交換機(jī)根據(jù)所述鏈路信息和?;罘绞叫畔⑦M(jìn)行源交換機(jī)和目的交換機(jī)之間的鏈路保活;或者,將所述鏈路信息發(fā)送給鏈路信息對(duì)應(yīng)鏈路的源交換機(jī)和/或目的交換機(jī),觸發(fā)所述源交換機(jī)和/或目的交換機(jī)確定進(jìn)行鏈路?;畈捎玫姆绞讲凑账_定的方式進(jìn)行源交換機(jī)和目的交換機(jī)之間的鏈路保活。11.如權(quán)利要求10所述的控制器,其特征在于,所述?;罘绞叫畔溌繁;钍褂玫膮f(xié)議的信息,用于向交換機(jī)指示進(jìn)行鏈路?;畈捎玫膮f(xié)議。12.如權(quán)利要求10所述的控制器,其特征在于所述鏈路?;羁刂茊卧?,還用于在向所述源交換機(jī)和/或目的交換機(jī)發(fā)送保活方式信息后,不再向所述源交換機(jī)下發(fā)鏈路發(fā)現(xiàn)報(bào)文,接收交換機(jī)發(fā)送的鏈路異常信息,在接收到鏈路異常信息后,啟動(dòng)下發(fā)對(duì)所述鏈路的鏈路發(fā)現(xiàn)報(bào)文進(jìn)行鏈路發(fā)現(xiàn)。13.一種交換機(jī),包括接收單元和鏈路?;顔卧?,其中所述接收單元,用于接收控制器發(fā)送的鏈路信息;或接收控制器發(fā)送的鏈路信息、?;罘绞叫畔⒓版溌繁;顔?dòng)指令;所述鏈路?;顔卧糜谠谒鼋邮諉卧邮盏剿隹刂破靼l(fā)送的鏈路?;顔?dòng)指令后,根據(jù)所述鏈路信息及?;罘绞叫畔⑴c鏈路信息指示的對(duì)端交換機(jī)進(jìn)行鏈路?;睿换蛘?,在所述接收單元接收到鏈路信息后,確定進(jìn)行鏈路?;畈捎玫姆绞讲凑账_定的方式與鏈路信息指示的對(duì)端交換機(jī)進(jìn)行鏈路?;?。14.如權(quán)利要求13所述的交換機(jī),其特征在于所述鏈路保活單元,還用于在鏈路?;钸^程中,在鏈路正常的情況下,不再接收所述控制器發(fā)送的鏈路發(fā)現(xiàn)報(bào)文;在鏈路發(fā)生異常的情況下,向所述控制器發(fā)送鏈路異常信息。15.如權(quán)利要求13所述的交換機(jī),其特征在于所述?;罘绞叫畔溌繁;钍褂玫膮f(xié)議的信息,用于指示進(jìn)行鏈路?;畈捎玫膮f(xié)議;所述鏈路?;顔卧?,具體用于采用保活方式信息指示的協(xié)議,與鏈路信息指示的對(duì)端交換機(jī)進(jìn)行鏈路?;?。全文摘要本發(fā)明公開了一種鏈路?;罘椒?、控制器及交換機(jī),包括控制器獲取鏈路信息,在得到鏈路信息后,將所述鏈路信息發(fā)送給鏈路信息對(duì)應(yīng)鏈路的源交換機(jī)和/或目的交換機(jī);并且,相應(yīng)的向源交換機(jī)和/或目的交換機(jī)發(fā)送?;罘绞叫畔⒑玩溌繁;顔?dòng)指令,觸發(fā)所述源交換機(jī)和/或目的交換機(jī)根據(jù)所述鏈路信息和?;罘绞叫畔⑦M(jìn)行源交換機(jī)和目的交換機(jī)之間的鏈路?;?;或者,所述控制器在得到鏈路信息后,將所述鏈路信息發(fā)送給鏈路信息對(duì)應(yīng)鏈路的源交換機(jī)和/或目的交換機(jī),觸發(fā)所述源交換機(jī)和/或目的交換機(jī)確定鏈路?;畈捎玫姆绞讲凑账_定的方式進(jìn)行源交換機(jī)和目的交換機(jī)之間的鏈路?;?。本發(fā)明避免交換機(jī)與控制器之間的大量的鏈路探測(cè)報(bào)文。文檔編號(hào)H04L12/813GK103001887SQ20121047840公開日2013年3月27日申請(qǐng)日期2012年11月22日優(yōu)先權(quán)日2012年11月22日發(fā)明者院仁杰申請(qǐng)人:中興通訊股份有限公司