一種流表的管理方法和裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及一種流表的管理方法和裝置。
【背景技術(shù)】
[0002]SDN(Software Defined Network,軟件定義網(wǎng)絡(luò))的核心思想是通過將網(wǎng)絡(luò)設(shè)備的控制平面與數(shù)據(jù)平面分離,以實現(xiàn)網(wǎng)絡(luò)流量的靈活控制。在SDN中,SDN控制器和網(wǎng)絡(luò)設(shè)備(如SDN交換機)通過管理通道進行通信,SDN控制器根據(jù)用戶的配置或者動態(tài)運行的協(xié)議,生成用于指導(dǎo)網(wǎng)絡(luò)設(shè)備進行流量轉(zhuǎn)發(fā)的流表,并將流表下發(fā)到網(wǎng)絡(luò)設(shè)備。網(wǎng)絡(luò)設(shè)備依據(jù)SDN控制器下發(fā)的流表進行報文處理。其中,該流表包括匹配選項和動作選項,該匹配選項通常包括報文的源IP地址和目的IP地址,動作選項通常包括報文的出端口。
[0003]如圖1所示,為SDN的一種應(yīng)用場景示意圖,針對VMl (Virtual Machine,虛擬機)發(fā)送給VM2的報文,SDN控制器會生成該報文所對應(yīng)的流表1,并將該流表I下發(fā)給網(wǎng)絡(luò)設(shè)備I。該流表I的匹配選項為該報文的源IP地址和目的IP地址,動作選項為指向網(wǎng)絡(luò)設(shè)備2的端口。網(wǎng)絡(luò)設(shè)備I基于該流表I,在接收到VMl發(fā)送給VM2的報文時,利用報文的源IP地址和目的IP地址,匹配到流表1,并利用流表I的動作選項將報文發(fā)送給網(wǎng)絡(luò)設(shè)備2,并由網(wǎng)絡(luò)設(shè)備2將報文發(fā)送給VM2,最終實現(xiàn)VMl與VM2之間的通信。
[0004]在上述應(yīng)用場景下,當VMl下線時,網(wǎng)絡(luò)設(shè)備I會將VMl下線的信息發(fā)送給SDN控制器,SDN控制器通知各網(wǎng)絡(luò)設(shè)備刪除VMl對應(yīng)的流表,由各網(wǎng)絡(luò)設(shè)備刪除VMl對應(yīng)的流表,如網(wǎng)絡(luò)設(shè)備I刪除流表I。當VMl重新上線時,針對VMl發(fā)送給VM2的報文,SDN控制器會重新生成該報文所對應(yīng)的流表I,并將該流表I下發(fā)給網(wǎng)絡(luò)設(shè)備I。網(wǎng)絡(luò)設(shè)備I基于該流表1,在接收到VMl發(fā)送給VM2的報文時,可以基于該流表I進行報文轉(zhuǎn)發(fā)。
[0005]針對VM的一次下線到上線過程,會觸發(fā)流表的刪除和重新生成過程,而流表的刪除和重新生成過程均會耗費一定時間,并造成SDN控制器反復(fù)生成流表和刪除流表,加大SDN控制器的處理工作量。在VMl重新上線之后,流表被重新生成之前,VMl發(fā)送給VM2的報文會發(fā)生丟失,導(dǎo)致流量中斷。
【發(fā)明內(nèi)容】
[0006]本發(fā)明提供一種流表的管理方法,所述方法包括以下步驟:
[0007]軟件定義網(wǎng)絡(luò)SDN控制器確定第一流表需要被刪除時,將所述第一流表設(shè)置為無效狀態(tài),并向網(wǎng)絡(luò)設(shè)備下發(fā)所述第一流表對應(yīng)的去激活消息;由所述網(wǎng)絡(luò)設(shè)備在接收到所述去激活消息后,將所述第一流表設(shè)置為無效狀態(tài),當所述第一流表被設(shè)置為無效狀態(tài)時,所述第一流表不再指導(dǎo)流量轉(zhuǎn)發(fā);
[0008]所述SDN控制器在生成第二流表時,比較所述第二流表與設(shè)置為無效狀態(tài)的第一流表是否相同;如果相同,則所述SDN控制器將所述第一流表設(shè)置為有效狀態(tài),并向所述網(wǎng)絡(luò)設(shè)備下發(fā)所述第一流表對應(yīng)的激活消息;由所述網(wǎng)絡(luò)設(shè)備在接收到所述激活消息后,將所述第一流表設(shè)置為有效狀態(tài);當所述第一流表被設(shè)置為有效狀態(tài)時,所述第一流表用于指導(dǎo)流量轉(zhuǎn)發(fā)。
[0009]所述SDN控制器在將所述第一流表設(shè)置為無效狀態(tài)之后,所述方法進一步包括:所述SDN控制器為所述第一流表啟動老化定時器;
[0010]在所述老化定時器超時之前,如果所述第一流表被所述SDN控制器設(shè)置為有效狀態(tài),則所述SDN控制器刪除所述老化定時器;
[0011]在所述老化定時器超時時,如果所述第一流表仍然為無效狀態(tài),則所述SDN控制器刪除所述第一流表,并向所述網(wǎng)絡(luò)設(shè)備下發(fā)所述第一流表對應(yīng)的刪除消息;由所述網(wǎng)絡(luò)設(shè)備在接收到所述刪除消息后,刪除所述第一流表。
[0012]所述第一流表中包含預(yù)設(shè)無效屬性;
[0013]當所述預(yù)設(shè)無效屬性為第一標識時,表示所述第一流表為無效狀態(tài);當所述預(yù)設(shè)無效屬性為第二標識時,表示所述第一流表為有效狀態(tài)。
[0014]當所述第一流表為服務(wù)鏈對應(yīng)的流表時,所述SDN控制器確定第一流表需要被刪除的過程,具體包括:
[0015]當所述服務(wù)鏈的配置被修改時,所述SDN控制器確定所述服務(wù)鏈對應(yīng)的第一流表需要被刪除;所述服務(wù)鏈的配置被修改包括以下之一或者任意組合:
[0016]所述服務(wù)鏈的源業(yè)務(wù)組發(fā)生變化;
[0017]所述服務(wù)鏈的目的業(yè)務(wù)組發(fā)生變化;
[0018]所述服務(wù)鏈的業(yè)務(wù)節(jié)點的順序發(fā)生變化。
[0019]本發(fā)明提供一種流表的管理方法,所述方法包括以下步驟:
[0020]網(wǎng)絡(luò)設(shè)備接收來自軟件定義網(wǎng)絡(luò)SDN控制器的第一流表對應(yīng)的去激活消息,并將所述第一流表設(shè)置為無效狀態(tài);當所述第一流表被設(shè)置為無效狀態(tài)時,所述第一流表不再指導(dǎo)流量轉(zhuǎn)發(fā);其中,所述去激活消息是所述SDN控制器確定第一流表需要被刪除,將所述第一流表設(shè)置為無效狀態(tài)后發(fā)送的;
[0021]所述網(wǎng)絡(luò)設(shè)備接收來自所述SDN控制器的所述第一流表對應(yīng)的激活消息,并將所述第一流表設(shè)置為有效狀態(tài);當所述第一流表被設(shè)置為有效狀態(tài)時,則所述第一流表用于指導(dǎo)流量轉(zhuǎn)發(fā);其中,所述激活消息是所述SDN控制器在生成第二流表時,如果確定所述第二流表與設(shè)置為無效狀態(tài)的第一流表相同,則在將所述第一流表設(shè)置為有效狀態(tài)后發(fā)送的。
[0022]所述第一流表中包含預(yù)設(shè)無效屬性;
[0023]當所述預(yù)設(shè)無效屬性為第一標識時,表示所述第一流表為無效狀態(tài);當所述預(yù)設(shè)無效屬性為第二標識時,表示所述第一流表為有效狀態(tài)。
[0024]本發(fā)明提供一種流表的管理裝置,所述流表的管理裝置應(yīng)用于軟件定義網(wǎng)絡(luò)SDN控制器上,且所述流表的管理裝置具體包括:
[0025]第一處理模塊,用于確定第一流表需要被刪除,并在確定所述第一流表需要被刪除時,將所述第一流表設(shè)置為無效狀態(tài);
[0026]第一發(fā)送模塊,用于向網(wǎng)絡(luò)設(shè)備下發(fā)所述第一流表對應(yīng)的去激活消息;由所述網(wǎng)絡(luò)設(shè)備在接收到所述去激活消息后,將所述第一流表設(shè)置為無效狀態(tài),當所述第一流表被設(shè)置為無效狀態(tài)時,所述第一流表不再指導(dǎo)流量轉(zhuǎn)發(fā);
[0027]第二處理模塊,用于在生成第二流表時,比較所述第二流表與設(shè)置為無效狀態(tài)的第一流表是否相同;如果相同,則將所述第一流表設(shè)置為有效狀態(tài);
[0028]第二發(fā)送模塊,用于向所述網(wǎng)絡(luò)設(shè)備下發(fā)所述第一流表對應(yīng)的激活消息;由所述網(wǎng)絡(luò)設(shè)備在接收到所述激活消息后,將所述第一流表設(shè)置為有效狀態(tài);當所述第一流表被設(shè)置為有效狀態(tài)時,所述第一流表用于指導(dǎo)流量轉(zhuǎn)發(fā)。
[0029]還包括:第三處理模塊,用于在將所述第一流表設(shè)置為無效狀態(tài)之后,為所述第一流表啟動老化定時器;在所述老化定時器超時之前,如果所述第一流表被設(shè)置為有效狀態(tài),則刪除所述老化定時器;在所述老化定時器超時時,如果所述第一流表仍然為無效狀態(tài),則刪除所述第一流表;
[0030]第三發(fā)送模塊,用于在所述老化定時器超時時,如果所述第一流表仍然為無效狀態(tài),則向所述網(wǎng)絡(luò)設(shè)備下發(fā)所述第一流表對應(yīng)的刪除消息;由所述網(wǎng)絡(luò)設(shè)備在接收到所述刪除消息之后,刪除所述第一流表。
[0031]所述第一流表中包含預(yù)設(shè)無效屬性;
[0032]當所述預(yù)設(shè)無效屬性為第一標識時,表示所述第一流表為無效狀態(tài);當所述預(yù)設(shè)無效屬性為第二標識時,表示所述第一流表為有效狀態(tài)。
[0033]所述第一處理模塊,具體用于當所述第一流表為服務(wù)鏈對應(yīng)的流表時,在確定所述第一流表需要被刪除的過程中,當所述服務(wù)鏈的配置被修改時,則確定所述服務(wù)鏈對應(yīng)的第一流表需要被刪除;
[0034]所述服務(wù)鏈的配置被修改包括以下之一或者任意組合:
[0035]所述服務(wù)鏈的源業(yè)務(wù)組發(fā)生變化;
[0036]所述服務(wù)鏈的目的業(yè)務(wù)組發(fā)生變化;
[0037]所述服務(wù)鏈的業(yè)務(wù)節(jié)點的順序發(fā)生變化。
[0038]本發(fā)明提供一種流表的管理裝置,所述流表的管理裝置應(yīng)用于網(wǎng)絡(luò)設(shè)備上,且所述流表的管理裝置具體包括:
[0039]第一接收模塊,用于接收來自軟件定義網(wǎng)絡(luò)SDN控制器的第一流表對應(yīng)的去激活消息,將所述第一流表設(shè)置為無效狀態(tài);當?shù)谝涣鞅肀辉O(shè)置為無效狀態(tài)時,所述第一流表不再指導(dǎo)流量轉(zhuǎn)發(fā);其中,所述去激活消息是所述SDN控制器確定第一流表需要被刪除,將所述第一流表設(shè)置為無效狀態(tài)后發(fā)送的;
[0040]第二接收模塊,用于接收來自所述SDN控制器的所述第一流表對應(yīng)的激活消息,并將所述第一流表設(shè)置為有效狀態(tài);當所述第一流表被設(shè)置為有效狀態(tài)時,則