国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      報文轉(zhuǎn)發(fā)方法和設(shè)備的制造方法

      文檔序號:8285147閱讀:200來源:國知局
      報文轉(zhuǎn)發(fā)方法和設(shè)備的制造方法
      【技術(shù)領(lǐng)域】
      [0001]本申請涉及網(wǎng)絡(luò)通信技術(shù),特別涉及報文轉(zhuǎn)發(fā)方法和設(shè)備。
      【背景技術(shù)】
      [0002]在軟件自定義網(wǎng)絡(luò)(SDN:Soft Defined Networks)中,開放虛擬交換機(OVS:Open vSwitch)都設(shè)有兩張流表,一張為內(nèi)核流表,另一張為用戶態(tài)流表。其中,用戶態(tài)流表為多級流表,內(nèi)核流表為單級流表。
      [0003]如圖1所示,當(dāng)OVS收到虛擬機(VM -Virtual Machine) A發(fā)送的報文后,解析報文頭中的特征字段,比如源MAC、目的MAC、源IP、目的IP、協(xié)議類型、源端口、目的端口等字段,依據(jù)該特征字段從內(nèi)核流表中查詢匹配的流表項;
      [0004]如果在內(nèi)核流表中查詢到特征字段匹配的流表項,依據(jù)匹配的流表項對報文執(zhí)行轉(zhuǎn)發(fā);
      [0005]如果在內(nèi)核流表中未查詢到特征字段匹配的流表項,進一步利用該特征字段從用戶態(tài)流表中查詢匹配的流表項;
      [0006]如果在用戶態(tài)流表中查詢到特征字段匹配的流表項,依據(jù)該流表項中的動作對報文執(zhí)行轉(zhuǎn)發(fā),并將該流表項下發(fā)至內(nèi)核流表;
      [0007]如果在用戶態(tài)流表中未查詢到特征字段匹配的流表項,將報文攜帶在數(shù)據(jù)包接入(Packet In)消息中上送到SDN控制器(controller),以請求SDN控制器下發(fā)報文的特征字段匹配的流表項,依據(jù)請求的流表項對報文執(zhí)行轉(zhuǎn)發(fā),并將該請求的流表項記錄至本OVS的用戶態(tài)流表。
      [0008]從上面描述可以看出,OVS在接收到報文后,都需要先從內(nèi)核流表查詢匹配的流表項,如果查詢到則根據(jù)查詢到的流表項對報文執(zhí)行轉(zhuǎn)發(fā)。在應(yīng)用中,同一個VM可能會連續(xù)發(fā)送多個具有相同特征字段的報文,而OVS每次收到報文,都從內(nèi)核流表查詢匹配的流表項會降低OVS轉(zhuǎn)發(fā)報文的效率,且開銷也比較大。

      【發(fā)明內(nèi)容】

      [0009]本申請?zhí)峁┝藞笪霓D(zhuǎn)發(fā)方法和設(shè)備,以提高報文轉(zhuǎn)發(fā)效率。
      [0010]本申請?zhí)峁┑募夹g(shù)方案包括:
      [0011]一種報文轉(zhuǎn)發(fā)的方法,該方法應(yīng)用于軟件自定義網(wǎng)絡(luò)SDN中的開放虛擬交換機OVS,包括:
      [0012]通過連接虛擬機VM的虛擬機端口接收報文;
      [0013]從所述報文中解析出所述報文攜帶的特征字段;
      [0014]檢查所述虛擬機端口對應(yīng)的流緩存flow cache表中的流表項是否與所述特征字段匹配,
      [0015]如果是,依據(jù)所述flow cache表中所述特征字段匹配的流表項轉(zhuǎn)發(fā)報文;
      [0016]如果否,從本OVS的內(nèi)核流表中找到所述特征字段匹配的流表項,依據(jù)從內(nèi)核流表中找到的所述特征字段匹配的流表項轉(zhuǎn)發(fā)報文,并將所述flow cache表中的流表項更新為從所述內(nèi)核流表中找到的所述特征字段匹配的流表項。
      [0017]—種報文轉(zhuǎn)發(fā)的設(shè)備,該設(shè)備應(yīng)用于軟件自定義網(wǎng)絡(luò)SDN中的開放虛擬交換機OVS,包括:
      [0018]接收單元,用于通過連接虛擬機VM的虛擬機端口接收報文;
      [0019]解析單元,用于從所述報文中解析出所述報文攜帶的特征字段;
      [0020]檢查單元,用于檢查所述虛擬機端口對應(yīng)的流緩存flow cache表中的流表項是否與所述特征字段匹配,
      [0021]處理單元,用于在所述檢查單元的檢查結(jié)果為是時,依據(jù)所述flow cache表中所述特征字段匹配的流表項轉(zhuǎn)發(fā)報文;
      [0022]以及,在所述檢查單元的檢查結(jié)果為否時,從本OVS的內(nèi)核流表中找到所述特征字段匹配的流表項,依據(jù)從內(nèi)核流表中找到的所述特征字段匹配的流表項轉(zhuǎn)發(fā)報文,并將所述flow cache表中的流表項更新為從所述內(nèi)核流表中找到的所述特征字段匹配的流表項。
      [0023]由以上技術(shù)方案可以看出,本發(fā)明中,當(dāng)OVS通過虛擬機接口接收到報文時,如果該虛擬機接口對應(yīng)的flow cache表中存在與報文攜帶的特征字段匹配的流表項,則可直接通過flow cache表中存在的與特征字段匹配的流表項轉(zhuǎn)發(fā)報文,無需再通過查詢內(nèi)核流表進行報文轉(zhuǎn)發(fā),能夠極大地提高報文轉(zhuǎn)發(fā)效率。
      【附圖說明】
      [0024]圖1為現(xiàn)有報文轉(zhuǎn)發(fā)示意圖;
      [0025]圖2為本發(fā)明提供的方法流程圖。
      [0026]圖3為本發(fā)明實施例提供的組網(wǎng)示意圖;
      [0027]圖4為本發(fā)明提供的設(shè)備結(jié)構(gòu)圖。
      【具體實施方式】
      [0028]為了使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面結(jié)合附圖和具體實施例對本發(fā)明進行詳細描述。
      [0029]參見圖2,圖2為本發(fā)明提供的方法流程圖。在該方法中,預(yù)先針對OVS上的虛擬機端口(vport)配置對應(yīng)的流緩存(flow cache)表,在初始時,每一虛擬機端口對應(yīng)的flowcache表為默認值。這里,虛擬機端口為OVS上連接VM的端口,比如圖3所示的OVS連接VMl 的 vport 1、OVS 連接 VM2 的 vport 2、OVS 連接 VM3 的 vport3。
      [0030]基于上述配置,則應(yīng)用于0VS,圖2所示的方法流程可包括以下步驟:
      [0031]步驟201,通過虛擬機端口接收報文。
      [0032]步驟202,從所述報文中解析出所述報文攜帶的特征字段。
      [0033]作為本發(fā)明的一個實施例,這里的特征字段可為報文頭中的字段,比如源MAC、目的MAC、源IP、目的IP、協(xié)議類型、源端口、目的端口等字段,本發(fā)明并不具體限定。
      [0034]步驟203,檢查所述虛擬機端口對應(yīng)的flow cache表中的流表項是否與所述特征字段匹配,如果是,執(zhí)行步驟204,如果否,執(zhí)行步驟205。
      [0035]步驟204,依據(jù)所述flow cache表中所述特征字段匹配的流表項轉(zhuǎn)發(fā)報文。結(jié)束當(dāng)前流程。
      [0036]通過步驟204可以看出,當(dāng)flow cache表中存在與特征字段匹配的流表項時,可直接通過flow cache表中與特征字段匹配的流表項轉(zhuǎn)發(fā)報文,無需再通過查詢內(nèi)核流表進行報文轉(zhuǎn)發(fā),這能夠極大地提高報文轉(zhuǎn)發(fā)效率。
      [0037]步驟205,從本OVS的內(nèi)核流表中找到所述特征字段匹配的流表項,依據(jù)從內(nèi)核流表中找到的所述特征字段匹配的流表項轉(zhuǎn)發(fā)報文,并將所述flowcache表中的流表項更新為從所述內(nèi)核流表中找到的所述特征字段匹配的流表項。
      [0038]作為本發(fā)明的一個實施例,在本步驟205中,如果從內(nèi)核流表中未查找到所述特征字段匹配的流表項,則可進一步執(zhí)行以下步驟:
      [0039]檢查本OVS的用戶態(tài)流表中是否存在所述特征字段匹配的流表項,
      [0040]如果否,請求本OVS連接的SDN控制器下發(fā)所述特征字段匹配的流表項,依據(jù)所述SDN控制器下發(fā)的所述特征字段匹配的流表項轉(zhuǎn)發(fā)所述報文,并將所述SDN控制器下發(fā)的所述特征字段匹配的流表項記錄至所述用戶態(tài)流表。這里,請求本OVS連接的SDN控制器下發(fā)所述特征字段匹配的流表項的方式可以通過向SDN控制器發(fā)送Packet In消息實現(xiàn)。
      [0041]如果是,依據(jù)所述用戶態(tài)流表中所述特征字段匹配的流表項轉(zhuǎn)發(fā)所述報文,并將所述用戶態(tài)流表中所述特征字段匹配的流表項下發(fā)至內(nèi)核流表。之后,OVS再次通過上述虛擬機端口收到攜帶所述特征字段的報文時,就會基于步驟203、步驟205將內(nèi)核流表中與所述特征字段匹配的流表項更新到該虛擬機端口對應(yīng)的flow cache表中,這能夠保證后續(xù)攜帶所述特征字段的報文都直接通過查詢flow cache表進行轉(zhuǎn)發(fā),無需再通過查詢內(nèi)核流表進行報文轉(zhuǎn)發(fā),能夠極大地提高報文轉(zhuǎn)發(fā)效率。
      [0042]至此,完成圖2所示的流程。
      [0043]通過圖2所示的流程可以看出,當(dāng)flow cache表中存在與報文攜帶的特征字段匹配的流表項時,可直接通過flow cache表中存在的與特征字段匹配的流表項轉(zhuǎn)發(fā)報文,無需再通過查詢內(nèi)核流表進行報文轉(zhuǎn)發(fā),能夠極大地提高報文轉(zhuǎn)發(fā)效率。該報文轉(zhuǎn)發(fā)效率的提高幅度可通過以下舉例體現(xiàn):
      [0044]比如,假設(shè)一個VM每秒處理20個并發(fā)會話請求,并針對每一會話請求回復(fù)5個報文,則如果每一個報文在內(nèi)核流表中查詢平均需要5次匹配,則按照現(xiàn)有方案需要每秒內(nèi)在內(nèi)核流表進行20*5*5 = 500次匹配,而采用本發(fā)明的上述圖2所示流程,則只需要20*5+80*1 = 180次匹配,其中,20*5表示各個會話請求的首個回復(fù)報文在內(nèi)核流表查詢所需要的匹配次數(shù),80*1表示各個會話請求的除首個回復(fù)報文之外的剩余回復(fù)報文在flowcache表查詢所需要的匹配次數(shù)??梢钥闯?,采用本發(fā)明,有效的提升實際應(yīng)用網(wǎng)絡(luò)中OVS內(nèi)核的轉(zhuǎn)發(fā)性能。
      [0045]作為本發(fā)明的一個實施例,在本發(fā)明中,上述步驟205中將flow cache表中的流表項更新為從內(nèi)核流表中找到的所述特征字段匹配的流表項具體實現(xiàn)時可有以下兩種實現(xiàn)方式:
      [0046]方式1:
      [0047]本方式I下,將flow cache表中的流表項更新為從內(nèi)核流表中找到的所述特征字段匹配的流表項可包括:
      [0048]檢查flow cache表是否存有流表項,
      [0049]如果否,將從內(nèi)核流表中找到的所述特征字段匹配的流表項拷貝至所述flowcache 表;
      [0050]如果是,拷貝從內(nèi)核流表中找到的所述特征字段匹配的流表項,將flow cache表中的流表項更新為拷貝的流表項。
      [0051]可以看出,本方式I下,flow cache表中僅記錄
      當(dāng)前第1頁1 2 3 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1