亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

軟件定義網(wǎng)絡中的流表下發(fā)方法、報文轉(zhuǎn)發(fā)方法及設備的制造方法_3

文檔序號:9491774閱讀:來源:國知局

[0071] 步驟33,在所述數(shù)據(jù)包與當前本地流表的頭域中的所有匹配項均匹配時,根據(jù)該 當前本地流表對所述數(shù)據(jù)包進行轉(zhuǎn)發(fā)處理。
[0072] 這里,在數(shù)據(jù)包與當前流表中的所有匹配項均匹配時,判斷該數(shù)據(jù)包與當前流表 相匹配,此時,將根據(jù)該匹配的流表,對所述數(shù)據(jù)包進行轉(zhuǎn)發(fā)處理。具體的,本地流表的操作 域包括有至少一個指令項,所述指令項包括有預設指令、第二偏移量和第二長度值。在本步 驟33中根據(jù)該當前本地流表對所述數(shù)據(jù)包進行轉(zhuǎn)發(fā)處理時,轉(zhuǎn)發(fā)設備對所述數(shù)據(jù)包中以 所述第二偏移量為起始位、且長度等于所述第二長度值的第二字段,執(zhí)行所述預設指令定 義的操作。
[0073] 更進一步的,所述指令項還包括有第二匹配值。所述轉(zhuǎn)發(fā)設備對所述數(shù)據(jù)包進行 轉(zhuǎn)發(fā)處理時,進一步根據(jù)所述第二匹配值,對所述第二字段執(zhí)行所述預設指令定義的操作。
[0074] 步驟34,在所述數(shù)據(jù)包與當前本地流表的頭域中的所有匹配項部分匹配或均不匹 配時,判斷該數(shù)據(jù)包與當前流表不匹配,返回步驟32,,繼續(xù)將所述數(shù)據(jù)包與下一條本地流 表進行匹配處理,直至完成最后一條本地流表的匹配處理。
[0075] 本發(fā)明實施例中,若所述數(shù)據(jù)包與最后一條本地流表也不匹配,則將所述數(shù)據(jù)包 發(fā)送至控制器,以請求控制器生成該數(shù)據(jù)包的流表。然后,轉(zhuǎn)發(fā)設備接收控制器下發(fā)的針對 所述數(shù)據(jù)包的流表并保存在本地,后續(xù)轉(zhuǎn)發(fā)設備即可根據(jù)所述針對所述數(shù)據(jù)包的流表,對 所述數(shù)據(jù)包進行轉(zhuǎn)發(fā)處理。
[0076] 下面對本發(fā)明實施例中的預設指令進行說明。請參照表1,本發(fā)明實施例中的預設 指令可以包括以下指令的一種或多種,控制器和轉(zhuǎn)發(fā)設備均需要能夠識別該指令:
[0077] 1)設置字段值指令:SFFV {offset, length} = X,該指令表示對數(shù)據(jù)包中以offset 為起始位,長度為length的字段,執(zhí)行賦值操作,即賦值X ;
[0078] 2)設置字段格式指令:SFFM{offset,length} = Y,該指令表示對數(shù)據(jù)包中以 offset為起始位,長度為length的字段,執(zhí)行賦元數(shù)據(jù)操作,即賦元數(shù)據(jù)Y ;
[0079] 3)修改字段值指令:MFV{offset, length} = X,該指令表示對數(shù)據(jù)包中以offset 為起始位,長度為length的字段,執(zhí)行修改操作,即修改為X ;
[0080] 4)修改字段格式指令:MFM{offset, length} = Y,該指令表示對數(shù)據(jù)包中以 offset為起始位,長度為length的字段,執(zhí)行元數(shù)據(jù)修改操作,即修改為Y ;
[0081] 5)匹配字段值指令:AFV{offset, length} = X,該指令表示對數(shù)據(jù)包中以offset 為起始位,長度為length的字段,執(zhí)行判斷操作并返回判斷結(jié)果,即,判斷該字段的值是否 為X,若是,則返回True ;否則,返回False ;
[0082] 6)匹配字段格式指令:AFM{offset, length} = Y,該指令表示對數(shù)據(jù)包中以 offset為起始位,長度為length的字段的元數(shù)據(jù),執(zhí)行判斷操作并返回判斷結(jié)果,即,判斷 該字段的元數(shù)據(jù)值是否為Y,若是,則返回True ;否則,返回False ;
[0083] 7)添加字段指令:AF{offset, length} = Z,該指令表示在數(shù)據(jù)包中以offset為 起始位,長度為length的位置處,執(zhí)行添加字段操作,即添加描述為Z的字段;
[0084] 8)刪除字段指令:DF{offset, length},該指令表示對數(shù)據(jù)包中以offset為起始 位,長度為length的字段,執(zhí)行刪除操作,即刪除該字段;
[0085] 9)轉(zhuǎn)發(fā)至端口指令:TP,該指令表示對數(shù)據(jù)包進行轉(zhuǎn)發(fā)操作,即轉(zhuǎn)發(fā)至對應的端 P ;
[0086] 10)轉(zhuǎn)發(fā)至控制器指令:TC,該指令表示對數(shù)據(jù)包進行轉(zhuǎn)發(fā)操作,即轉(zhuǎn)發(fā)至控制 器。
[0088] 表 1
[0089] 上述指令可通過偏移量+長度,定位出數(shù)據(jù)包中的特定字段,并對該字段執(zhí)行該 指令定義的操作,如賦值、修改、判斷、刪除等處理。除此之外,也可以定義對報文進行整體 操作的指令,如上述"轉(zhuǎn)發(fā)至端口"指令(可以攜帶具體的端口信息)和"轉(zhuǎn)發(fā)至控制器"指 令等。當然,本領域技術人員也可以根據(jù)實際應用需要,開發(fā)出符合上述原則的的各種新的 指令。為節(jié)約篇幅,此處不再詳述。
[0090] 基于以上方法,本發(fā)明實施例還提供了用于實現(xiàn)上述方法的控制器和轉(zhuǎn)發(fā)設備。 請參照圖4,本發(fā)明實施例提供的控制器,包括:
[0091] 報文接收單元41,用于接收轉(zhuǎn)發(fā)設備發(fā)送的未知數(shù)據(jù)包,所述未知數(shù)據(jù)包是未能 與轉(zhuǎn)發(fā)設備的本地流表匹配上的數(shù)據(jù)包。
[0092] 流表生成單元42,用于對所述未知數(shù)據(jù)包進行協(xié)議分析,生成對應于所述未知數(shù) 據(jù)包的流表,所述流表的頭域包括有至少一個匹配項,所述匹配項包括有第一偏移量、第一 長度值和第一匹配值,用于表示所述匹配項匹配的數(shù)據(jù)包中,以所述第一偏移量為起始位、 且長度等于所述第一長度值的第一字段的值為所述第一匹配值。
[0093] 流表下發(fā)單元43,用于將所述流表下發(fā)至所述轉(zhuǎn)發(fā)設備,以供所述轉(zhuǎn)發(fā)設備根據(jù) 所述流表中的匹配項中的所述第一偏移量、第一長度值和第一匹配值,對所述未知數(shù)據(jù)包 進行流表匹配,并根據(jù)匹配上的流表執(zhí)行轉(zhuǎn)發(fā)處理。
[0094] 本發(fā)明實施例中,所述流表的操作域包括有至少一個指令項,所述指令項包括有 預設指令、第二偏移量和第二長度值,用于指示所述轉(zhuǎn)發(fā)設備對所述流表匹配的數(shù)據(jù)包中, 以所述第二偏移量為起始位、且長度等于所述第二長度值的第二字段,執(zhí)行所述預設指令 定義的操作。所述指令項還包括有第二匹配值,用于指示所述轉(zhuǎn)發(fā)設備根據(jù)所述第二匹配 值,對所述第二字段執(zhí)行所述預設指令定義的操作。
[0095] 本發(fā)明實施例中,所述流表生成單元42,進一步用于判斷所述未知數(shù)據(jù)包是否需 要進行應用層網(wǎng)關ALG變換;在所述未知數(shù)據(jù)包需要進行ALG變換時,根據(jù)預設的ALG變換 信息生成對應于所述未知數(shù)據(jù)包的流表。
[0096] 請參照圖5,本發(fā)明實施例提供的轉(zhuǎn)發(fā)設備,包括:
[0097] 報文接收單元51,用于接收一數(shù)據(jù)包;
[0098] 流表匹配單元52,用于根據(jù)預設的流表匹配順序,將所述數(shù)據(jù)包與本地流表逐條 進行匹配,并在所述數(shù)據(jù)包與當前本地流表的頭域中的所有匹配項部分匹配或均不匹配 時,繼續(xù)將所述數(shù)據(jù)包與下一條本地流表進行匹配,直至最后一條本地流表,其中,所述本 地流表的頭域包括有至少一個匹配項,所述匹配項包括有第一偏移量、第一長度值和第一 匹配值,在所述數(shù)據(jù)包中的以所述第一偏移量為起始位、且長度等于所述第一長度值的第 一字段的值,等于所述匹配項中的第一匹配值時,判斷所述數(shù)據(jù)包與所述匹配項相匹配。
[0099] 轉(zhuǎn)發(fā)處理單元53,用于在所述數(shù)據(jù)包與當前本地流表的頭域中的所有匹配項均匹 配時,根據(jù)該當前本地流表對所述數(shù)據(jù)包進行轉(zhuǎn)發(fā)處理。
[0100] 本發(fā)明實施例中,所述轉(zhuǎn)發(fā)設備還可以包括:
[0101] 交互單元(圖中未示出),用于在所述數(shù)據(jù)包與最后一條本地流表的所有匹配項 部分匹配或均不匹配時,將所述數(shù)據(jù)包發(fā)送至控制器;
[0102] 流表接收單元(圖中未示出),用于接收控制器下發(fā)的針對所述數(shù)據(jù)包的流表并 保存在本地;
[0103] 所述轉(zhuǎn)發(fā)處理單元53,還用于根據(jù)所述針對所述數(shù)據(jù)包的流表,對所述數(shù)據(jù)包進 行轉(zhuǎn)發(fā)處理。
[0104] 本發(fā)明實施例中,所述本地流表的操作域包括有至少一個指令項,所述指令項包 括有預設指令、第二偏移量和第二長度值。所述轉(zhuǎn)發(fā)處理單元53,還用于在根據(jù)該當前本地 流表對所述數(shù)據(jù)包進行轉(zhuǎn)發(fā)處理時,對所述數(shù)據(jù)包中以所述第二偏移量為起始位、且長度 等于所述第二長度值的第二字段,執(zhí)行所述預設指令定義的操作。
[0105] 本發(fā)明實施例中,所述指令項還包括有第二匹配值。所述轉(zhuǎn)發(fā)處理單元53,還用于 在根據(jù)該當前本地流表對所述數(shù)據(jù)包進行轉(zhuǎn)發(fā)處理時,進一步根據(jù)所述第二匹配值,對所 述第二字段執(zhí)行所述預設指令定義的操作。
[0106] 從以上所述可以看出,本發(fā)明實施例可以使用支持OpenFlow協(xié)議的路由器,通過 擴展OpenFlow協(xié)議實現(xiàn)SDN中不同通信協(xié)議的擴展應用。本發(fā)明實施例依賴于拓展的 OpenFl
當前第3頁1 2 3 4 5 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1