[發明專利]一種基于指針迭代的IPV6報文硬件解析方法有效
| 申請號: | 201410196343.X | 申請日: | 2014-05-12 |
| 公開(公告)號: | CN104009923B | 公開(公告)日: | 2017-07-14 |
| 發明(設計)人: | 王雨;李玉峰;黃萬偉;卜佑軍;姜鯤鵬;張霞;杜飛 | 申請(專利權)人: | 中國人民解放軍信息工程大學 |
| 主分類號: | H04L12/741 | 分類號: | H04L12/741;H04L12/749;H04L29/06 |
| 代理公司: | 鄭州大通專利商標代理有限公司41111 | 代理人: | 陳大通 |
| 地址: | 450002 *** | 國省代碼: | 河南;41 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 指針 ipv6 報文 硬件 解析 方法 | ||
1.一種基于指針迭代的IPV6報文硬件解析方法,其特征在于,所述方法包括如下步驟:
A、將輸入報文轉換為64bit寬的數據,從報文頭開始,對報文進行周期計數;
B、根據IPV6基本頭的外層信息,解析出IPV6基本頭的位置以及基本頭中的下個首部所在位置,并存入指針;具體過程為:根據IPV6基本頭的外層信息,解析出IPV6基本頭的位置以及基本頭中的下個首部所在位置,用寄存器basehead_pointer作為指針存儲基本頭的位置,用寄存器first_ext_headtype_pointer作為指針存儲基本頭中下個首部類型域所在位置,計算并生成指針first_ext_headloc_pointer做為基本頭的下個首部所在位置;
C、用報文所在的計數周期以及在周期內的偏移與指針值進行比較,提取出基本頭的下個首部類型并判定是否是IPV6擴展頭,如否,則擴展頭解析結束; 如是,則根據首部類型值以及指針值來提取第一個擴展頭中的頭長度、下個首部類型信息,下個擴展頭的位置信息,并分別存入類型寄存器與位置指針;用類型寄存器與位置指針對下一層報文進行迭代處理,將新計算出的值覆蓋舊值,直至擴展頭解析結束;具體過程為:用報文所在的周期以及在周期內的偏移與寄存器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對下一層報文進行處理,用新計算出的值覆蓋舊值,接著對下層報文進行迭代處理,直至擴展頭解析結束。
2.根據權利要求1所述的一種基于指針迭代的IPV6報文硬件解析方法,其特征在于,所述迭代處理的過程為:解析出首層擴展頭的位置與類型,并將首層擴展頭的位置存入指針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擴展頭,則完成迭代過程。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中國人民解放軍信息工程大學,未經中國人民解放軍信息工程大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410196343.X/1.html,轉載請聲明來源鉆瓜專利網。





