[發明專利]支持動態擴展幀頭的過濾匹配預處理方法及裝置有效
| 申請號: | 201110317463.7 | 申請日: | 2011-10-19 |
| 公開(公告)號: | CN102316121A | 公開(公告)日: | 2012-01-11 |
| 發明(設計)人: | 徐寧;李松 | 申請(專利權)人: | 武漢烽火網絡有限責任公司 |
| 主分類號: | H04L29/06 | 分類號: | H04L29/06;H04L12/56 |
| 代理公司: | 北京捷誠信通專利事務所(普通合伙) 11221 | 代理人: | 魏殿紳;龐炳良 |
| 地址: | 430074 湖北省武漢*** | 國省代碼: | 湖北;42 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 支持 動態 擴展 過濾 匹配 預處理 方法 裝置 | ||
技術領域
本發明涉及以太網及其高層協議數據包的過濾領域,特別是涉及一種支持動態擴展幀頭的過濾匹配預處理方法及裝置。
背景技術
隨著互連網絡對其主要承載體的以太網絡設備處理能力要求的不斷增長,新的以太網交換機除了單純的數據轉發之外,還要能夠提供2到7層的處理能力,需要更強的重定優先級能力。這些都要求以太網交換或接口芯片提供2到7層的數據包過濾、分類處理的功能。因此需要為交換機提供高速率和更強處理能力的快速包過濾處理器。
在目前的交換芯片以及以太網接口芯片中的數據包匹配過濾器中,根據規則表的相關字段來定位,并提取當前數據包中的匹配關鍵字,一般采用固定偏移量方法:傳統的關鍵字掩碼表項字段參見圖1所示,在相應的過濾規則表中指定提取關鍵字的偏移量值,在匹配的過程中從數據包的固定位置(一般是包頭)開始,根據過濾表中規定的偏移量,計算要提取的關鍵字在數據包中的位置,從這個位置上提取相應的關鍵字,與規則表的內容比較,以確定是否匹配相應規則。
這種固定偏移量方法,對于數據包中各個字段相對于數據包頭的位置基本固定的以太網和無擴展幀頭的IPv4幀頭是可行的,但是,若將這個方法應用于IPv6格式的數據包和有擴展幀頭的IPv4幀頭,則表現出了很大的局限性,因為IPv6的數據包頭和有擴展幀頭的IPv4幀頭,除了定長頭部之外,還有擴展頭部,而擴展頭部長度以及個數沒有限制。例如,參見圖2所示,TCP(Transmission?Control?Protocol,傳輸控制協議)協議幀頭的起點在IPv6數據包中的起始位置,可以是以下幾種情況之一:
(1)IPv6固定幀頭緊跟著TCP幀頭;
(2)IPv6固定幀頭緊跟著路由幀頭,路由幀頭后面緊跟著TCP幀頭;
(3)IPv6固定幀頭后面緊跟著路由幀頭,路由幀頭后面緊跟著分片幀頭,分片幀頭后面緊跟著TCP幀頭。
很明顯,在上述幾種情況下,TCP幀頭相對于IPv6幀頭第一個字節或者以太網幀頭第一個字節的偏移位置不確定,如果采用傳統的固定偏移量來定位關鍵字,顯然不可能正確過濾TCP幀頭內容。
發明內容
本發明的目的是為了克服上述背景技術的不足,提供一種支持動態擴展幀頭的過濾匹配預處理方法及裝置,能夠將數據包中所有鏈路及IP固定幀頭和擴展幀頭的位置都識別出來,配合預先建立的掩碼規則,即可實現關鍵字匹配,正確過濾TCP幀頭內容。
本發明提供的支持動態擴展幀頭的過濾匹配預處理方法,包括以下步驟:A、從數據包的鏈路層幀頭開始掃描整個數據包,根據所有起始點為數據包鏈路層幀頭的掩碼規定的偏移量,提取數據包鏈路層幀頭中指定位置的內容,與該掩碼本身相與之后得到所需關鍵字;B、根據數據包中的鏈路層負載類型字段,定位IP協議幀的基本幀頭的起始位置;然后根據IP協議幀的版本號、幀頭長度以及擴展幀頭類型字段,定位數據包中所有IP協議幀的擴展幀頭的位置;根據起始點為相應基本幀頭或擴展幀頭的掩碼規定的偏移量,提取數據包IP協議幀的基本幀頭或擴展幀頭中指定位置的內容,與該掩碼本身相與之后得到所需關鍵字;C、完成數據包的掃描,提取掩碼規定提取的所有關鍵字,并將已經提取的關鍵字送到過濾器進行規則匹配。
在上述技術方案中,步驟A之前還包括以下步驟:建立預處理所需要的掩碼規則,所述掩碼規則包括:偏移量起始點所在的網絡協議層級Layer、相對偏移的起始點類型Type、相對偏移量Offset、掩碼和關鍵字,其中,偏移量起始點所在的網絡協議層級Layer和相對偏移的起始點類型Type按照以下四種情況之一建立:情況a:Layer=0,掩碼中偏移量起始點為數據包中的鏈路層幀頭;情況b:Layer=1,掩碼中偏移量起始點為IPv4基本幀頭或擴展幀頭,Type=0或IPv4協議規定的擴展幀頭類型;情況c:Layer=2,掩碼中偏移量起始點為數據包中的TCP/UDP?幀頭,Type=IPv4協議下的用戶數據報協議UDP或傳輸控制協議TCP;情況d:Layer=3,掩碼中偏移量起始點為IPv6基本幀頭或擴展幀頭,Type=0或IPv6協議規定的擴展幀頭類型。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于武漢烽火網絡有限責任公司,未經武漢烽火網絡有限責任公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201110317463.7/2.html,轉載請聲明來源鉆瓜專利網。





