国产精品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>

      流表創(chuàng)建及查詢方法

      文檔序號:9600772閱讀:443來源:國知局
      流表創(chuàng)建及查詢方法
      【技術(shù)領(lǐng)域】
      [0001]本發(fā)明涉及數(shù)據(jù)通信領(lǐng)域中的數(shù)據(jù)報文轉(zhuǎn)發(fā)控制技術(shù),具體涉及流表創(chuàng)建及查詢方法。
      【背景技術(shù)】
      [0002]在數(shù)據(jù)通信設(shè)備如路由器中,轉(zhuǎn)發(fā)面需要處理一些控制業(yè)務(wù)如ACUAccessControl List,訪問控制列表)、Q0S(Quality Of Service,服務(wù)質(zhì)量)等,這些業(yè)務(wù)的處理一般需要查詢比較大的表,查表比較耗時,一般不能滿足數(shù)據(jù)報文轉(zhuǎn)發(fā)性能要求。
      [0003]ACL、Q0S等控制業(yè)務(wù)需要使用報文中的五元組(源地址、源端口、目的地址、目的端口和層四協(xié)議號)或者七元組(源地址、源端口、目的地址、目的端口、層四協(xié)議號、服務(wù)類型(Tos,Type Of Service)和層4標志)對報文進行控制。
      [0004]為此,以報文的六元組(源地址、源端口、目的地址、目的端口、層四協(xié)議號和接口索引)或者九元組(源地址、源端口、目的地址、目的端口、層四協(xié)議號、分片標志、服務(wù)類型、層4標志和接口索引)可以唯一定義一條流,使用六元組或者九元組作為KEY值構(gòu)建流表項,流表項中包括KEY值和其它字段。接口接收到報文后,先在流表中查找流表項,把查找的流表項保存在特定的位置(如報文描述符中,報文描述符是存儲報文信息的控制塊)。ACL、Q0S等控制業(yè)務(wù)直接在特定位置獲取流表項,ACL、Q0S等控制業(yè)務(wù)可以一次查找結(jié)果,將結(jié)果記錄在流表項中,后續(xù)直接使用流表項中記錄的結(jié)果。
      [0005]目前,流表已經(jīng)成為加速控制業(yè)務(wù)的一種重要手段,那么如何快速查找流表則對于提高流表查詢速度實現(xiàn)報文快速轉(zhuǎn)發(fā)具有實際意義。

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

      [0006]本發(fā)明所要解決的技術(shù)問題是:提出一種流表創(chuàng)建及查詢方法,提高流表查詢速度實現(xiàn)報文快速轉(zhuǎn)發(fā)。
      [0007]本發(fā)明解決上述技術(shù)問題所采用的方案是:流表創(chuàng)建方法,包括:
      [0008]采用HASH表組織流表并創(chuàng)建流表項,HASH值的范圍為0到2N,所述流表項中包括以報文六元組或者九元組構(gòu)成的KEY值及利用所述KEY值計算出來的32位HASH值;以32位HASH值的低N位作為HASH表的HASH值,將所述流表項添加到低N位HASH值對應(yīng)的沖突鏈上。
      [0009]進一步的,在創(chuàng)建流表項時,將所述KEY值及利用所述KEY值計算出來的32位HASH值作為流表項中開始部分的字段。
      [0010]進一步的,所述六元組包括:源地址、源端口、目的地址、目的端口、層四協(xié)議號和接口索引;所述九元組包括源地址、源端口、目的地址、目的端口、層四協(xié)議號、服務(wù)類型、層四標志和接口索引。
      [0011]此外,本發(fā)明還提出了一種流表查詢方法,包括:
      [0012]當設(shè)備從接口接收到報文后,采用報文的六元組或九元組作為KEY值,并對所述KEY值進行HASH計算,獲得32位HASH值,以所述32位HASH值的低N位作為HASH表的HASH值,在所述HASH值對應(yīng)的沖突鏈上查找流表。
      [0013]進一步的,該流表查詢方法還包括:
      [0014]若查找到流表則對流表項進行相應(yīng)操作,若未查找到流表,則創(chuàng)建流表項。
      [0015]具體的,若未查找到流表,則創(chuàng)建流表項包括:創(chuàng)建的流表項中包括六元組或者九元組或轉(zhuǎn)發(fā)信息,將創(chuàng)建的流表項保存在其KEY值在HASH表中對應(yīng)的沖突鏈的末尾。
      [0016]進一步的,所述對流表項進行相應(yīng)操作包括:
      [0017]對流表項進行刷新操作,并且將流表項記錄保存到特定位置。
      [0018]進一步的,所述特定位置為報文描述符。
      [0019]進一步的,所述對流表項進行相應(yīng)操作還包括:根據(jù)流表信息轉(zhuǎn)發(fā)報文。
      [0020]進一步的,該流表查詢方法還包括:
      [0021]若某個流表項在一定時間內(nèi)未被報文刷新,則將該流表項進行老化處理。
      [0022]進一步的,在所述HASH值對應(yīng)的沖突鏈上查找流表的方法為:
      [0023]使用32位HASH值和KEY值依次與沖突鏈上各個流表項的32位HASH值和KEY值進行比較運算,若二者都相等,則所對應(yīng)的流表項就是需要查找的流表項。
      [0024]本發(fā)明的有益效果是:使用報文中的六元組或者九元組構(gòu)造流表KEY值,通過所述KEY值計算出32位HASH值,流表中包括32位HASH值字段和KEY值字段,取出32位HASH值中的低16位作為HASH表的HASH值。報文在HASH表的沖突鏈中通過32位HASH值和KEY值創(chuàng)建流表和查找流表,這樣提高了 KEY值中前面大部分字段相同的流表的查找速度。
      【附圖說明】
      [0025]圖1為采用HASH表組織流表的結(jié)構(gòu)示意圖;
      [0026]圖2為流表項構(gòu)成示意圖;
      [0027]圖3為進行優(yōu)化后的流表結(jié)構(gòu)示意圖;
      [0028]圖4為設(shè)備使用流表轉(zhuǎn)發(fā)報文流程圖。
      【具體實施方式】
      [0029]本發(fā)明旨在提出一種流表查詢方法,提高流表查詢速度實現(xiàn)報文快速轉(zhuǎn)發(fā)。在本發(fā)明中,使用HASH表組織流表,HASH值的范圍為0到2N (N是一個經(jīng)驗值,與系統(tǒng)中流表的規(guī)模相關(guān))。
      [0030]在進行流表創(chuàng)建時需要為流表項分配存儲空間,其中定義流表中的流表項的方法為:使用報文的六元組(源地址、源端口、目的地址、目的端口、層四協(xié)議號和接口索引)或者九元組(源地址、源端口、目的地址、目的端口、層四協(xié)議號、服務(wù)類型、分片標志、層四標志和接口索引)作為KEY值。對所述KEY進行HASH計算,計算出32位的HASH值。使用所述32位HASH值和所述KEY值作為流表項中開始部分的字段,然后以32位HASH值的低N位作為HASH表的HASH值,將所述流表項添加到低N位HASH值對應(yīng)的沖突鏈上。
      [0031]本發(fā)明中的流表查詢方法為:接口接收到報文后,以六元組或者九元組為KEY值,并計算出所述KEY值的32位HASH值,以所述32位HASH值的低N位作為HASH表的HASH值,在所述HASH值對應(yīng)的沖突鏈上查找流表。查找流表時,使用32位HASH值和KEY值依次與沖突鏈上各個流表項的32位HASH值和KEY值進行比較運算,若二者都相等,則所對應(yīng)的流表項就是需要查找的流表項,流表項查找到以后需要對流表進行刷新操作,并且把流表項記錄到特定位置(如報文描述中)。在進行流表查詢時,若未查找到流表,則需要進行流表的創(chuàng)建。
      [0032]實施例:
      [0033]如圖1所示,在進行流表創(chuàng)建時,使用HASH表組織流表,HASH值的范圍為0?216;
      [0034]流表項中包括所述32位HASH值字段,其值為H32,流表項中包括所述KEY值字段,其值為K,流表項中還包括其它信息字段,
      [0035]使用報文六元組或者九元組作為KEY值。對所述KEY進行HASH計算,計算出32位的HASH值。如圖2所示,使用所述32位HASH值和所述KEY值作為流表項中開始部分的字段,流表項中還包括其它信息字段,最后將流表項添加到低16位HASH值對應(yīng)的沖突鏈上,這樣優(yōu)化后的流表組織結(jié)構(gòu)如圖3所示。
      [0036]如圖4所示,設(shè)備從接口接收到IPv4報文后,獲取報文的六元組或者九元組作為KEY值。通過KEY計算出32位HASH值,使用所述32位HASH值的低16位作為HASH值在HASH表中查找流表項,如果查找到相應(yīng)流表項則可以根據(jù)流表信息轉(zhuǎn)發(fā)報文,如查找不成功則創(chuàng)建流表項。
      [0037]流表查找的過程為:使用所述六元組或者九元組作為KEY值K,通過所述KEY值計算出32位HASH值H32,所述32位HASH值中的低16位作為H16值,根據(jù)H16值定位到查找的HASH表的沖突鏈的位置,然后在沖突鏈上依次比較流表項中的32位HASH值與H32是是否相等,且流表項中的KEY值與K相等,如果沖突鏈上某個流表項的32位HASH值與H32相等,且KEY值與K相等,則該流表項就是所查找的流表項。如果查找不到流表項,則進行流表項創(chuàng)建。
      [0038]通過不同的六元組或者8元組計算的32位HASH值H32,H32中的低16值H16,在H16相等而H32也相等的幾率很小,幾乎為0。因此,一個沖突鏈上的流表項中的32位HASH值幾乎互不相等。
      [0039]在查詢流表時,先比較所述32位Hash值是否相等,如果不等,則比較下一個流表的32位Hash值是否相等。這樣,16位Hash值H16對應(yīng)8個流表項,即使是查詢第八個流表項,也只需要做8次32位數(shù)的比較后,然后再比較KEY值即可。
      [0040]某些情況下,KEY值的九元組中前面的大部分元組相同,最后少部分不同,本發(fā)明將比較多個個元素簡化為比較一個元素,提高了流表的查詢速度。
      [0041]報文查詢到流表項后需要對流表項進行刷新,如果某個流表項一段時間沒有被報文刷新,則老化所述流表項,釋放其所占用的存儲空間。
      [0042]本發(fā)明方案不僅適用于IPv4報文,還適用于IPv6和其它類型的報文。
      【主權(quán)項】
      1.流表創(chuàng)建方法,其特征在于,包括: 采用HASH表組織流表并創(chuàng)建流表項,HASH值的范圍為0到2N,所述流表項中包括以報文六元組或者九元組構(gòu)成的KEY值及利用所述KEY值計算出來的32位HASH值;以32位HASH值的低N位作為HASH表的HASH值,將所述流表項添加到低N位HASH值對應(yīng)的沖突鏈上。2.如權(quán)利要求1所述的流表創(chuàng)建方法,其特征在于,在創(chuàng)建流表項時,將所述KEY值及利用所述KEY值計算出來的32位HASH值作為流表項中開始部分的字段。3.如權(quán)利要求1所述的流表創(chuàng)建方法,其特征在于,所述六元組包括:源地址、源端口、目的地址、目的端口、層四協(xié)議號和接口索引;所述九元組包括源地址、源端口、目的地址、目的端口、層四協(xié)議號、服務(wù)類型、分片標志、層四標志和接口索引。4.流表查詢方法,其特征在于,包括: 當設(shè)備從接口接收到報文后,采用報文的六元組或九元組作為KEY值,并對所述KEY值進行HASH計算,獲得32位HASH值,以所述32位HASH值的低N位作為HASH表的HASH值,在所述HASH值對應(yīng)的沖突鏈上查找流表。5.如權(quán)利要求4所述的流表查詢方法,其特征在于,在所述HASH值對應(yīng)的沖突鏈上查找流表的方法為: 使用32位HASH值和KEY值依次與沖突鏈上各個流表項的32位HASH值和KEY值進行比較運算,若二者都相等,則所對應(yīng)的流表項就是需要查找的流表項。6.如權(quán)利要求5所述的流表查詢方法,其特征在于,還包括:若查找到流表則對流表項進行相應(yīng)操作,若未查找到流表,則創(chuàng)建流表項。7.如權(quán)利要求6所述的流表查詢方法,其特征在于,所述若未查找到流表,則創(chuàng)建流表項包括:創(chuàng)建的流表項中包括六元組或者九元組或者轉(zhuǎn)發(fā)信息,將創(chuàng)建的流表項保存在其KEY值在HASH表中對應(yīng)的沖突鏈的末尾。8.如權(quán)利要求7所述的流表查詢方法,其特征在于,該流表查詢方法還包括:若某個流表項在一定時間內(nèi)未被報文刷新,則將該流表項進行老化處理。9.如權(quán)利要求7所述的流表查詢方法,其特征在于,所述特定位置為報文描述符。10.如權(quán)利要求6-9任意一項所述的流表查詢方法,其特征在于,所述對流表項進行相應(yīng)操作還包括: 根據(jù)流表信息轉(zhuǎn)發(fā)報文。
      【專利摘要】本發(fā)明涉及數(shù)據(jù)通信領(lǐng)域中的數(shù)據(jù)報文轉(zhuǎn)發(fā)控制技術(shù),其公開了一種流表創(chuàng)建及查詢方法,提高流表查詢速度實現(xiàn)報文快速轉(zhuǎn)發(fā)。本發(fā)明采用HASH表組織流表并創(chuàng)建流表項,HASH值的范圍為0到2N,所述流表項中包括以報文六元組或者九元組構(gòu)成的KEY值及利用所述KEY值計算出來的32位HASH值;以32位HASH值的低N位作為HASH表的HASH值,將所述流表項添加到低N位HASH值對應(yīng)的沖突鏈上。本發(fā)明適用于各種類型報文的轉(zhuǎn)發(fā)控制。
      【IPC分類】H04L12/741, H04L12/743
      【公開號】CN105357128
      【申請?zhí)枴緾N201510731215
      【發(fā)明人】何三波
      【申請人】邁普通信技術(shù)股份有限公司
      【公開日】2016年2月24日
      【申請日】2015年10月30日
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1