[發明專利]以太網中進行數據處理的方法有效
| 申請號: | 200810066133.3 | 申請日: | 2008-03-21 |
| 公開(公告)號: | CN101247266A | 公開(公告)日: | 2008-08-20 |
| 發明(設計)人: | 鹿丙杰 | 申請(專利權)人: | 深圳國人通信有限公司 |
| 主分類號: | H04L12/24 | 分類號: | H04L12/24;H04L12/26;H04L29/06 |
| 代理公司: | 廣州華進聯合專利商標代理有限公司 | 代理人: | 鄭小粵 |
| 地址: | 518057廣東省深圳*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 以太網 進行 數據處理 方法 | ||
【技術領域】
本發明涉及通信技術領域,尤其涉及一種以太網中進行數據處理的方法。
【背景技術】
在通信領域,通信設備的監控單元用來對網絡設備進行初始化設置,監控網絡設備的運行狀態。監控單元在工作過程中所處理的數據往往不是來自網口,而是通過光纖或其它電纜傳輸過來的具有特殊協議格式的數據,這樣就要求使用一種方法來將從光纖傳輸過來的數據取出并發送給應用程序。傳統的采用物理網口和專用網口芯片來實現的方案由于對傳輸介質、傳輸協議和所傳輸的數據格式有特殊要求,顯然已滿足不了這種需求。
【發明內容】
本發明的發明目的是提供一種以太網中進行數據處理的方法,可以從傳輸介質取出數據進行處理,并提高網絡處理的靈活性和兼容性。
為達到上述發明目的,本發明提出以下的技術方案:
一種以太網中進行數據處理的方法,包括以下步驟:
A、CPU加載虛擬網絡設備驅動程序并進行初始化;
B、CPU從底層物理設備讀取數據并緩存到緩沖區中;將所述數據和虛擬網絡設備驅動接收函數一起發送到網絡任務隊列,所述網絡任務隊列調用驅動接收函數對數據進行處理并提交到協議棧;所述協議棧將數據發送到上層應用程序;
C、所述上層應用程序將數據發送到協議棧,將所述數據從協議棧取出存入虛擬網絡設備;所述虛擬網絡設備將數據打包并發往底層物理設備;所述底層物理設備將數據進行發送。
其中,所述步驟A包括以下步驟:
A1、CPU創建虛擬網絡設備描述符,調用字符串解析函數和網絡內存申請函數,注冊設備驅動函數,對虛擬網絡設備進行操作配置;其中,所述字符串解析函數用于對傳入的字符串進行解析,所述網絡內存池申請函數用于向物理內存申請內存,并設定最大傳輸單元的大小;
A2、對變量、中斷和回調函數進行初始化;
A3、將所述虛擬網絡設備驅動與IP協議棧進行掛接;
A4、設置虛擬網絡設備的初始化參數;其中,所述初始化參數包括IP地址、子網掩碼、路由設置參數。
其中,所述步驟B具體包括以下步驟:
B1、當檢測到底層物理設備有數據到達時,觸發CPU中斷,將所述數據讀出存入緩沖區;
B2、向網絡任務隊列發送所述數據在緩沖區的首尾指針和虛擬網絡設備驅動接收函數;
B3、網絡任務隊列依次從隊列中取出接收到的數據并調用虛擬網絡設備驅動接收函數對數據進行處理并提交到協議棧;
B4、所述協議棧將數據發送到上層應用程序。
其中,所述步驟B3具體包括以下步驟:
B311、從網絡內存池中申請一塊空間,將所述首尾指針之間的MAC數據幀復制到申請到的所述空間;
B312、對MAC數據幀的MAC地址進行判斷,如果所述MAC數據幀是組播包,則將組播包內容保存到本地存儲系統,將組播包計數器變量加一,并退出回調函數和驅動接收函數;
B313、如果所述MAC數據幀是單播包或廣播包,則退出回調函數,由驅動接收函數將所述MAC數據幀提交到協議棧,并將單播包或廣播包計數器加一。
其中,所述步驟B3具體包括以下步驟:
B321、從網絡內存池中申請一塊空間,并將頭尾指針之間的HDLC數據幀復制到申請到的所述空間;
B322、對HDLC數據幀類型進行判斷,如果所述HDLC數據幀為請求測試包,則CPU將打包一個類型為請求回復包的HDLC數據幀,由FPGA發送到設備一并退出回調函數和驅動接收函數;如果所述HDLC數據幀為請求回復包,則將該HDLC數據幀丟棄并退出回調函數和驅動接收函數;如果所述HDLC數據幀為IP數據包,則回調函數退出;
B323、對HDLC數據幀承載的IP數據包加上一個MAC幀頭,將其提交到協議棧,同時將數據包接收計數變量加一。
其中,所述步驟C具體包括以下步驟:
C1、應用程序通過協議棧發送數據;
C2、協議棧通過虛擬網絡驅動發送函數將所述數據發送到虛擬網絡設備;
C3、虛擬網絡設備驅動發送函數從協議棧取得獲取數據并進行處理,打包成所需要的數據格式并發送到底層物理設備。
其中,所述步驟C3具體包括以下步驟:
C31、將所述數據從協議棧取出放到緩沖區;
C32、將取出的數據包偏移MAC幀頭個長度,給IP數據包加上HDLC幀頭,將源地址設置為源設備地址,目的地址設置為目的設備地址,將包類型設置為IP數據包類型;
C33、將設置好的HDLC幀寫到所述底層物理設備FPGA的FIFO中,由FPGA通過光口將數據進行發送。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于深圳國人通信有限公司,未經深圳國人通信有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200810066133.3/2.html,轉載請聲明來源鉆瓜專利網。





