一種修改服務(wù)鏈配置的方法和裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及一種修改服務(wù)鏈配置的方法和裝置。
【背景技術(shù)】
[0002]數(shù)據(jù)報文在網(wǎng)絡(luò)中傳遞時,需要經(jīng)過各種各樣的業(yè)務(wù)節(jié)點(Service Node),才能保證網(wǎng)絡(luò)能夠按照設(shè)計要求,提供給用戶安全、快速、穩(wěn)定的網(wǎng)絡(luò)服務(wù),其中業(yè)務(wù)節(jié)點包括熟知的防火墻(FW,F(xiàn)ire Walls)、入侵檢測(IPS, Intrus1n Prevent1n System)、負(fù)載均衡(LB,Load Balancing)等。通常網(wǎng)絡(luò)流量需要按照業(yè)務(wù)邏輯所要求的順序,穿過這些業(yè)務(wù)節(jié)點,形成服務(wù)鏈(Service Chaining)。
[0003]現(xiàn)在運營商廣泛開展服務(wù)鏈業(yè)務(wù),開始階段用到的FW、IPS、LB等設(shè)備是網(wǎng)絡(luò)設(shè)備制造商提供的硬件設(shè)備,價格不菲且擴(kuò)容不易。隨著運營商提出的網(wǎng)絡(luò)功能虛擬化(NFV,Network Funct1ns Virtualizat1n)的不斷推進(jìn),軟件定義網(wǎng)絡(luò)(SDN,Software DefinedNetwork)及云服務(wù)的開展,逐漸實現(xiàn)每個租戶擁有自己個性化的服務(wù)鏈。
[0004]服務(wù)鏈通過在配置中定義業(yè)務(wù)特征進(jìn)行個性化業(yè)務(wù)。目前,修改服務(wù)鏈配置,例如在源/目的業(yè)務(wù)組變化或服務(wù)鏈配置變化等情況下,只要修改服務(wù)鏈配置,不管修改的內(nèi)容如何,都會刪除流表,等下次被觸發(fā)時,再重建流表,這樣,勢必造成重建流表導(dǎo)致的流量中斷。
【發(fā)明內(nèi)容】
[0005]有鑒于此,本發(fā)明提供一種修改服務(wù)鏈配置的方法和裝置,能夠在修改服務(wù)鏈配置的過程中減少刪除流表的操作,保障虛機(jī)業(yè)務(wù)的正常訪問。
[0006]具體地,所述修改服務(wù)鏈配置的方法,應(yīng)用在SDN中的控制器上,包括:當(dāng)修改了服務(wù)鏈配置時,服務(wù)鏈應(yīng)用程序APP向VSM APP發(fā)送刪除事件,所述刪除事件包括刪除原因;如果所述刪除原因是服務(wù)變化導(dǎo)致的刪除,或者業(yè)務(wù)組變化導(dǎo)致的刪除且流表的虛擬端口 vport不存在于所述業(yè)務(wù)組的vport,則VSM APP向開放虛擬交換機(jī)OVS發(fā)送刪除流表事件,使所述OVS將所述刪除流表事件中對應(yīng)的流表置上無效標(biāo)志。
[0007]所述修改服務(wù)鏈配置的裝置,應(yīng)用在SDN中的控制器上,包括:服務(wù)鏈APP模塊,用于當(dāng)修改了服務(wù)鏈配置時,向VSM APP模塊發(fā)送刪除事件,所述刪除事件包括刪除原因;VSMAPP模塊,用于如果所述刪除原因是服務(wù)變化導(dǎo)致的刪除,或者業(yè)務(wù)組變化導(dǎo)致的刪除且流表的虛擬端口 vport不存在于所述業(yè)務(wù)組的vport,則向開放虛擬交換機(jī)OVS發(fā)送刪除流表事件,使所述OVS將所述刪除流表事件中對應(yīng)的流表置上無效標(biāo)志。
[0008]由以上技術(shù)方案可見,本發(fā)明的修改服務(wù)鏈配置的方法和裝置,當(dāng)服務(wù)鏈配置改變時,根據(jù)刪除原因的不同有條件的對流表進(jìn)行刪除,即如果刪除原因是服務(wù)變化導(dǎo)致的刪除,或者業(yè)務(wù)組變化導(dǎo)致的刪除且流表的虛擬端口 vport不存在于所述業(yè)務(wù)組的vport,則控制器才向OVS發(fā)送刪除流表事件,如此,能夠在修改服務(wù)鏈配置的過程中減少刪除流表的操作,保障虛機(jī)業(yè)務(wù)的正常訪問。
【附圖說明】
[0009]圖1是本發(fā)明一種實施方式中修改服務(wù)鏈配置的方法的流程圖。
[0010]圖2是基于圖1的修改服務(wù)鏈配置的方法的詳細(xì)流程圖。
[0011]圖3是本發(fā)明一種實施方式中修改服務(wù)鏈配置的裝置的邏輯結(jié)構(gòu)圖。
【具體實施方式】
[0012]在實際應(yīng)用中,服務(wù)鏈配置包含源業(yè)務(wù)組、目的業(yè)務(wù)組和服務(wù)。源業(yè)務(wù)組和目的業(yè)務(wù)組的配置包括四種維度:路由器(Router),網(wǎng)絡(luò)(Network),子網(wǎng)絡(luò)(Subnet)和端口(Port),其中 Port 指虛擬機(jī)(VM,Virtual Machine)連接的 VPort。
[0013]SDN中的控制器根據(jù)接收到的報文提取源端口,并根據(jù)源端口確定所屬的subnet、network和router信息作為源端口的屬性信息;根據(jù)報文的目的IP獲取目的VM連接的目的端口,并根據(jù)目的端口確定所屬的subnet、network和router信息作為目的端口的屬性信息。使用源端口的屬性信息和目的端口的屬性信息與服務(wù)鏈配置中的業(yè)務(wù)特征進(jìn)行正向匹配,如果找到匹配的服務(wù)鏈,則下發(fā)流表;如果沒有找到匹配的服務(wù)鏈,交換源端口的屬性信息和目的端口的屬性信息,然后與服務(wù)鏈配置中的業(yè)務(wù)特征進(jìn)行反向匹配;如果找到匹配的服務(wù)鏈,則下發(fā)流表,如果沒有找到匹配的服務(wù)鏈,則卸載流表。此外,在匹配服務(wù)鏈配置中的業(yè)務(wù)特征時,按照不同的維度可能會匹配多條服務(wù)鏈。當(dāng)匹配到多條服務(wù)鏈時,按照最精確匹配的原則確定實際使用的服務(wù)鏈配置。
[0014]在一些情況下,例如出現(xiàn)源/目的業(yè)務(wù)組變化或服務(wù)鏈配置變化等情況,需要對服務(wù)鏈配置進(jìn)行修改。目前因為只要修改服務(wù)鏈配置,不管修改的內(nèi)容如何,都會刪除流表,所以服務(wù)鏈應(yīng)用程序(APP)會通知向量空間模型VSM(Vector Space Model) APP刪除事件,VSM APP接受到刪除事件后,根據(jù)服務(wù)鏈ID向OVS (Open Vswitch,開放虛擬交換機(jī))下發(fā)刪除流表事件,OVS刪除服務(wù)鏈的流表,如此會導(dǎo)致再次需要這些已刪除流表時,需要重建,從而導(dǎo)致流量中斷。
[0015]本發(fā)明對目前的方案進(jìn)行改進(jìn),在服務(wù)鏈配置修改的過程中盡量減少刪除流表的操作。請參考圖1,本發(fā)明一種實施方式中修改服務(wù)鏈配置的方法的流程圖,應(yīng)用在SDN中的控制器上,所述控制器上包括服務(wù)鏈APP和VSM APP,所述方法包括如下步驟:
[0016]步驟101,當(dāng)修改了服務(wù)鏈配置時,服務(wù)鏈APP向VSM APP發(fā)送刪除事件,所述刪除事件包括刪除原因;
[0017]步驟102,如果所述刪除原因是修改服務(wù)變化導(dǎo)致的刪除,或者業(yè)務(wù)組變化導(dǎo)致的刪除且流表的vport不存在于所述業(yè)務(wù)組的vport,VSM APP向開放虛擬交換機(jī)OVS發(fā)送刪除流表事件,使所述OVS將所述刪除流表事件中對應(yīng)的流表置上無效標(biāo)志。
[0018]請參考圖2,基于步驟101和步驟102,本發(fā)明一種實施方式中修改服務(wù)鏈配置的方法的詳細(xì)步驟流程圖,包括如下步驟:
[0019]步驟201,計算服務(wù)鏈配置中修改前業(yè)務(wù)組包含的vport。
[0020]具體地,服務(wù)鏈配置中的業(yè)務(wù)組包括源業(yè)務(wù)組和目的業(yè)務(wù)組,根據(jù)源業(yè)務(wù)組和目的業(yè)務(wù)組的配置維度,分別計算修改前的源業(yè)務(wù)組和目的業(yè)務(wù)組包含的vport,其中所述修改前的源業(yè)務(wù)組的vport為s_vport_b,所述修改前的目的業(yè)務(wù)組的vport為d_vport_b:
[0021]當(dāng)所述源業(yè)務(wù)組或所述目的業(yè)務(wù)組的配置維度為Router,則根據(jù)Router查找到對應(yīng)的Subnet,再根據(jù)Subnet查找到包含的vport ;
[0022]當(dāng)所述源業(yè)務(wù)組或所述目的業(yè)務(wù)組的配置維度為Network,則根據(jù)Network查找到對應(yīng)的Subnet,再根據(jù)Subnet找到包含的vport ;
[0023]當(dāng)所述源業(yè)務(wù)組或所述目的業(yè)務(wù)組的配置維度為Subnet,則根據(jù)Subnet查找到包含的vport ;
[0024]當(dāng)所述源業(yè)務(wù)組或所述目的業(yè)務(wù)組的配置維度為Port,則為單獨vport。
[0025]步驟202,修改所述服務(wù)鏈配置。
[0026]具體地,如果發(fā)生業(yè)務(wù)組變化或者服務(wù)變化等情況,對服務(wù)鏈配置進(jìn)行修改。
[0027]步驟203,判斷所述服務(wù)鏈配置中是否修改了服務(wù),如果是,進(jìn)行步驟204,如果否,進(jìn)行步驟205。
[0028]具體地,服務(wù)鏈配置還包含服務(wù),比較所述服務(wù)鏈配置中修改前的服務(wù)和修改后的服務(wù),判斷是否修改了服務(wù)。
[0029]步驟204,向VSM APP發(fā)送刪除事件,所述刪除事件包括刪除原因,進(jìn)行步驟207。
[0030]具體地,相比較現(xiàn)有技術(shù),本發(fā)明定義刪除原因及對應(yīng)的標(biāo)識,對刪除事件進(jìn)行擴(kuò)展,將刪除原因的標(biāo)識攜帶在刪除事件中進(jìn)行下發(fā),其中定義的刪除原因及對應(yīng)的標(biāo)識如下:
[0031]第一標(biāo)識-表示服務(wù)變化導(dǎo)致的刪除;
[0032]第二標(biāo)識-表示業(yè)務(wù)組變化導(dǎo)致的刪除。
[0033]在本發(fā)明具體實施例中,第一標(biāo)識和第二標(biāo)識可采用數(shù)值代替,例如第一標(biāo)識為I,第二標(biāo)識為2,當(dāng)然可采用其他形式,在此不限定。在本發(fā)明具體實施例中,定義了兩種刪除原因,當(dāng)然還有其他可能的刪除原因,可根據(jù)需要進(jìn)行定義補(bǔ)充,這里不贅述。