[發明專利]一種基于指針迭代的IPV6報文硬件解析方法有效
| 申請號: | 201410196343.X | 申請日: | 2014-05-12 |
| 公開(公告)號: | CN104009923B | 公開(公告)日: | 2017-07-14 |
| 發明(設計)人: | 王雨;李玉峰;黃萬偉;卜佑軍;姜鯤鵬;張霞;杜飛 | 申請(專利權)人: | 中國人民解放軍信息工程大學 |
| 主分類號: | H04L12/741 | 分類號: | H04L12/741;H04L12/749;H04L29/06 |
| 代理公司: | 鄭州大通專利商標代理有限公司41111 | 代理人: | 陳大通 |
| 地址: | 450002 *** | 國省代碼: | 河南;41 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 指針 ipv6 報文 硬件 解析 方法 | ||
技術領域
本發明涉及計算機網絡技術中的一種報文解析方法,特別是涉及一種基于指針迭代的IPv6報文硬件解析方法。
背景技術
近年來,IPv6網絡有了很大的發展和應用,尤其是基于各種隧道協議的Ipv6網絡層出不窮。豐富多樣的報文類型對與網絡設備的報文解析能力與報文分類帶來了很大的壓力。
因為各層協議種類豐富,協議間的嵌套變化多端,使得使用硬件對各種報文進行實時解析困難重重。目前通常的做法是,用硬件完成基礎的功能較為簡單的協議解析,隨后通過控制通道或數據通道交由上層的協議處理軟件進行進一步處理。這種做法的好處是處理比較靈活,可重構性強,但在數據流量巨大的情況下采用上述方法會使系統處理能力與實時性受到很大限制。因此,現在亟需一種能夠通過硬件實時完成更多的協議解析的方法。
發明內容
本發明的目的是:提供一種基于指針迭代的能夠實時對IPv6報文解析的方法。
本發明的技術方案是:
一種基于指針迭代的IPV6報文硬件解析方法,其特征在于,所述方法包括如下步驟:
A、將輸入報文轉換為64bit寬的數據,從報文頭開始,對報文進行周期計數;
B、根據IPV6基本頭的外層信息,解析出IPV6基本頭的位置以及基本頭中的下個首部所在位置,并存入指針;
C、用報文所在的計數周期以及在周期內的偏移與指針值進行比較,提取出基本頭的下個首部類型并判定是否是IPV6擴展頭,如否,則擴展頭解析結束; 如是,則根據首部類型值以及指針值來提取第一個擴展頭中的頭長度、下個首部類型信息,下個擴展頭的位置信息,并分別存入類型寄存器與位置指針;用類型寄存器與位置指針對下一層報文進行迭代處理,將新計算出的值覆蓋舊值,直至擴展頭解析結束。
進一步地,所述步驟B的具體過程為:根據IPV6基本頭的外層信息,解析出IPV6基本頭的位置以及基本頭中的下個首部所在位置,用寄存器basehead_pointer作為指針存儲基本頭的位置,用寄存器first_ext_headtype_pointer作為指針存儲基本頭中下個首部類型域所在位置,計算并生成指針first_ext_headloc_pointer作為基本頭的下個首部所在位置。
進一步地,所述步驟C的具體過程為:用報文所在的周期以及在周期內的偏移與寄存器first_ext_headtype_pointer進行匹配,提取出基本頭的下個首部類型并存入寄存器first_ext_headtype,根據寄存器first_ext_headtype存儲的值來判定是否是IPV6擴展頭,如否,則擴展頭解析結束;如是,根據first_ext_headloc_pointer來提取第一個擴展頭中的頭長度和下個擴展頭的首部類型的信息,累加計算下個擴展頭的位置與類型,并分別存入指針next_ext_headloc_pointer與寄存器next_ext_headtype;用指針next_ext_headloc_pointer與寄存器next_ext_headtype對下一層報文進行處理,用新計算出的值覆蓋舊值,接著對下層報文進行迭代處理,直至擴展頭解析結束。
進一步地,所述迭代處理的過程為:解析出首層擴展頭的位置與類型,并將首層擴展頭的位置存入指針first_ext_headloc_pointer,將其類型存入寄存器first_ext_headtype;根據首層擴展頭的位置與類型,解析出第二層擴展頭的位置及其類型,并存入指針next_ext_headloc_pointer與寄存器next_ext_headtype;依次類推,根據第n層擴展頭的位置與類型,解析出第n+1層的擴展頭位置及其類型,并同樣存入指針next_ext_headloc_pointer與寄存器next_ext_headtype,進行替換;直至next_ext_headtype指示下一層為非IPV6擴展頭,則完成迭代過程。
本發明的有益效果是:
1)靈活,系統可以支持任意Ipv6擴展頭的任意組合,無需增加新的組件,不會降低系統的處理能力與實時性;
2)實時,系統支持對Ipv6數據的實時解析,解析過程僅有微秒級的邏輯處理延時。
附圖說明
下面結合附圖和實施例對本發明作進一步詳細說明
圖1為本發明的系統步驟流程示意圖;
圖2為本發明實施例的數據報文格式;
具體實施方式
下面將結合附圖,對本發明的技術方案作進一步的描述。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中國人民解放軍信息工程大學,未經中國人民解放軍信息工程大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410196343.X/2.html,轉載請聲明來源鉆瓜專利網。





