一種sdn網(wǎng)絡(luò)中的路徑探測方法和裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信技術(shù)領(lǐng)域,特別是涉及一種SDN網(wǎng)絡(luò)中的路徑探測方法和裝置。
【背景技術(shù)】
[0002]在軟件定義網(wǎng)絡(luò)(Software Design Network, SDN)中,控制平面與轉(zhuǎn)發(fā)平面分離,因此,SDN網(wǎng)絡(luò)是具備高度可擴展性的彈性網(wǎng)絡(luò),能夠適應(yīng)變化的業(yè)務(wù)需求。
[0003]OpenFlow協(xié)議定義了 SDN網(wǎng)絡(luò)中控制器與轉(zhuǎn)發(fā)層之間的通信接口。OpenFlow協(xié)議的思想是,分離控制平面和轉(zhuǎn)發(fā)平面,二者之間使用標(biāo)準(zhǔn)的協(xié)議通信,其中,轉(zhuǎn)發(fā)平面采用基于流的方式進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā)。
[0004]具體地,基于OpenFlow協(xié)議的SDN網(wǎng)絡(luò)由交換機(OpenFlow Switch)、控制器(OpenFlow Controller)和交換機與控制器之間的安全通道(Secure Channel)組成,在實際使用中,控制器根據(jù)數(shù)據(jù)報文信息和/或用戶配置信息生成流表,通過所述安全通道向交換機下發(fā)流表,所述流表用于控制不同特征的數(shù)據(jù)流按照不同的轉(zhuǎn)發(fā)路徑進(jìn)行轉(zhuǎn)發(fā)。交換機在收到數(shù)據(jù)報文以后,根據(jù)控制器下發(fā)的流表轉(zhuǎn)發(fā)數(shù)據(jù)報文。
[0005]當(dāng)SDN網(wǎng)絡(luò)的規(guī)模較大、包含較多的交換機節(jié)點時,眾多的轉(zhuǎn)發(fā)路徑縱橫交錯,一旦某條路徑出現(xiàn)故障,控制器難以及時發(fā)現(xiàn),因此控制器可能仍然控制流量按照已經(jīng)出現(xiàn)故障的路徑進(jìn)行轉(zhuǎn)發(fā),導(dǎo)致流量無法到達(dá)目的節(jié)點。
【發(fā)明內(nèi)容】
[0006]有鑒于此,本發(fā)明提出了一種SDN網(wǎng)絡(luò)中的路徑探測方法和裝置,使得控制器能夠探測出網(wǎng)絡(luò)中指定路徑是否存在故障,從而避免采用出現(xiàn)故障的路徑進(jìn)行流量轉(zhuǎn)發(fā),保證流量能夠到達(dá)目的節(jié)點。
[0007]本發(fā)明提出的技術(shù)方案是:
[0008]一種SDN網(wǎng)絡(luò)中的路徑探測方法,所述方法應(yīng)用于控制器中,該方法包括:
[0009]生成路徑探測報文,所述路徑探測報文攜帶待探測路徑標(biāo)識;
[0010]指示所述待探測路徑上的每個待探測節(jié)點按照所述待探測路徑轉(zhuǎn)發(fā)所述路徑探測報文;
[0011]將所述路徑探測報文發(fā)送給所述待探測路徑的首節(jié)點;
[0012]接收所述待探測路徑的尾節(jié)點發(fā)送的所述路徑探測報文,根據(jù)所述路徑探測報文的發(fā)送和接收確定所述待探測路徑的狀態(tài)。
[0013]一種SDN網(wǎng)絡(luò)中的路徑探測方法,所述方法應(yīng)用于待探測節(jié)點中,該方法包括:
[0014]接收控制器發(fā)送的按照待探測路徑轉(zhuǎn)發(fā)路徑探測報文的指示信息;
[0015]按照所述指示信息向所述待探測路徑的下一個待探測節(jié)點或控制器發(fā)送接收的路徑探測報文;
[0016]其中,所述路徑探測報文攜帶待探測路徑標(biāo)識。
[0017]一種SDN網(wǎng)絡(luò)中的路徑探測裝置,該裝置位于控制器中,該裝置包括報文生成模塊、指示信息下發(fā)模塊和探測模塊;
[0018]所述報文生成模塊,用于生成路徑探測報文,所述路徑探測報文攜帶待探測路徑的標(biāo)識;
[0019]所述指示信息下發(fā)模塊,用于指示所述待探測路徑上的每個待探測節(jié)點按照所述待探測路徑轉(zhuǎn)發(fā)所述路徑探測報文;
[0020]所述探測模塊,用于將所述路徑探測報文發(fā)送給所述待探測路徑的首節(jié)點,接收所述待探測路徑的尾節(jié)點發(fā)送的所述路徑探測報文,根據(jù)所述路徑探測報文的發(fā)送和接收確定所述待探測路徑的狀態(tài)。
[0021]—種SDN網(wǎng)絡(luò)中的路徑探測裝置,該裝置位于待探測節(jié)點中,該裝置包括指示信息接收模塊和報文處理模塊;
[0022]所述指示信息接收模塊,用于接收控制器發(fā)送的按照待探測路徑轉(zhuǎn)發(fā)路徑探測報文的指示信息;
[0023]所述報文處理模塊,用于按照所述指示信息向所述待探測路徑的下一個待探測節(jié)點或控制器發(fā)送接收的路徑探測報文;
[0024]其中,所述路徑探測報文攜帶待探測路徑標(biāo)識。
[0025]由上述技術(shù)方案可見,本發(fā)明實施例中,一方面控制器針對待探測路徑生成路徑探測報文,另一方面,控制器向待探測路徑上的每個待探測節(jié)點都下發(fā)指示信息,指示所述待探測節(jié)點按照所述待探測路徑轉(zhuǎn)發(fā)所述路徑探測報文,因此,根據(jù)路徑探測報文的收發(fā)情況,比如是否在預(yù)定時間內(nèi)從預(yù)設(shè)的尾節(jié)點收到路徑探測報文,以及路徑探測報文的巡回時間、即從控制器將路徑探測報文發(fā)送給首節(jié)點到從尾節(jié)點接收所述路徑探測報文所經(jīng)歷的時間等情況,控制器可以檢測出待探測路徑的狀態(tài),比如,是否暢通、丟包情況、延時情況等,從而使得控制器能夠探測出網(wǎng)絡(luò)中指定路徑是否存在故障,避免采用出現(xiàn)故障的路徑進(jìn)行流量轉(zhuǎn)發(fā),保證流量能夠到達(dá)目的節(jié)點。
【附圖說明】
[0026]圖1是SDN網(wǎng)絡(luò)中的路徑示意圖;
[0027]圖2是本發(fā)明實施例提供的控制器在路徑探測過程中的處理流程圖;
[0028]圖3是本發(fā)明實施例提供的待探測節(jié)點在路徑探測過程中的處理流程圖;
[0029]圖4是本發(fā)明實施例提供的路徑探測報文的結(jié)構(gòu)示意圖;
[0030]圖5是本發(fā)明實施例提供的控制器設(shè)備的硬件結(jié)構(gòu)連接圖;
[0031]圖6是本發(fā)明實施例提供的第一路徑探測裝置的結(jié)構(gòu)示意圖;
[0032]圖7是本發(fā)明實施例提供的交換設(shè)備的硬件結(jié)構(gòu)連接圖;
[0033]圖8是本發(fā)明實施例提供的第二路徑探測裝置的結(jié)構(gòu)示意圖。
【具體實施方式】
[0034]在SDN網(wǎng)絡(luò)中,當(dāng)SDN網(wǎng)絡(luò)的規(guī)模較大、包含較多的交換機節(jié)點時,從一個交換機節(jié)點到達(dá)另一個交換機節(jié)點通常存在多條路徑,參見圖1。
[0035]圖1是SDN網(wǎng)絡(luò)中的路徑示意圖。
[0036]如圖1所示,其中的數(shù)字I到5分別代表交換機節(jié)點I至交換機節(jié)點5,可見,從交換機節(jié)點I到交換機節(jié)點5存在著多條路徑,比如,從節(jié)點I到節(jié)點4再到節(jié)點5,再比如,從節(jié)點I到節(jié)點2然后到節(jié)點3最后再到節(jié)點5。
[0037]本發(fā)明實施例的目的是探測從一個交換機節(jié)點到達(dá)另一個交換機節(jié)點的眾多路徑中的指定路徑是否暢通、即是否存在故障,以避免采用出現(xiàn)故障的路徑進(jìn)行流量轉(zhuǎn)發(fā),保證流量能夠到達(dá)目的節(jié)點。
[0038]為了不影響正常業(yè)務(wù)數(shù)據(jù)報文的轉(zhuǎn)發(fā),本發(fā)明實施例提出,由控制器生成一種新型協(xié)議報文,即路徑探測報文,并控制該路徑探測報文按照指定的路徑進(jìn)行轉(zhuǎn)發(fā),最終再回收該路徑探測報文,根據(jù)路徑探測報文的收發(fā)情況,確定該指定路徑的狀態(tài),比如是否存在故障、丟包率和延時情況如何。
[0039]下面,分別從控制器的角度和待探測節(jié)點的角度,對本發(fā)明實施例提供的路徑探測方法進(jìn)行說明。
[0040]圖2是本發(fā)明實施例提供的控制器在路徑探測過程中的處理流程圖。
[0041 ] 如圖2所示,該流程包括:
[0042]步驟201,控制器生成路徑探測報文,所述路徑探測報文攜帶待探測路徑標(biāo)識。
[0043]其中,控制器可以為每個轉(zhuǎn)發(fā)路徑賦予唯一的標(biāo)識信息,通過在路徑探測報文中攜帶該標(biāo)識信息,指明需要探測的轉(zhuǎn)發(fā)路徑。
[0044]步驟202,控制器向所述待探測路徑上的每個待探測節(jié)點下發(fā)指示信息,指示所述待探測路徑上的每個待探測節(jié)點按照所述待探測路徑轉(zhuǎn)發(fā)所述路徑探測報文。
[0045]步驟203,控制器將所述路徑探測報文發(fā)給所述待探測路徑的首節(jié)點。
[0046]其中,控制器可以通過packet-out消息將路徑探測報文下發(fā)給首節(jié)點。
[0047]步驟204,控制器接收所述待探測路徑的尾節(jié)點發(fā)送的所述路徑探測報文,根據(jù)路徑探測報文的發(fā)送和所述接收確定所述待探測路徑的狀態(tài)。
[0048]其中,尾節(jié)點可以通過packet-1n消息將路徑探測報文上報給控制器。
[0049]由圖2可見,控制器通過生成針對指定路徑的路徑探測報文,控制該路徑探測報文按照該指定路徑進(jìn)行轉(zhuǎn)發(fā)、并回收該路徑探測報文,可以探測出該指定路徑是否存在故障。
[0050]此外,控制器根據(jù)需要,還可以指定路徑探測報文的發(fā)送頻率,通過發(fā)送和接收路徑探測報文,及時地了解指定轉(zhuǎn)發(fā)路徑的連通性。進(jìn)一步地,通過記錄路徑探測報文的發(fā)送時間、數(shù)量等,并相應(yīng)地記錄路徑探測報文的回收時間、數(shù)量等,控制器還可以檢測出該指定路徑的時延和丟包率等轉(zhuǎn)發(fā)性能。
[0051]圖3是本發(fā)明實施例提供的待探測節(jié)點在路徑探測過程中的處理流程圖。
[0052]如圖3所示,該流程包括:
[0053]步驟301,接收控制器發(fā)送的按照待探測路徑轉(zhuǎn)發(fā)路徑探測報文的指示信息。
[0054]步驟302,按照所述指示信息向所述待探測路徑的下一個待探測節(jié)點或控制器發(fā)送接收的路徑探測報文。
[0055]其中,所述路徑探測報文攜帶待探測路徑標(biāo)識。
[0056]圖2和圖3所示方法中,所述的指示信息優(yōu)選地可以是探測流表,對于向待探測路徑的首節(jié)點下發(fā)的指示信息,除了可以是探測流表以外,也可以是在攜帶有路徑探測報文的packet-out消息中攜帶的動作信息,因此:
[0057]在一種實施方式中,控制器可以向所述待探測路徑上的每個待探測節(jié)點下發(fā)探測流表,通過所述探測流表指示所述待探測節(jié)點按照所述待探測路徑轉(zhuǎn)發(fā)所述路徑探測報文。
[0058]在另一種實施方式中,控制器可以向所述待探測