[發明專利]一種丟包環境下提升TDS協議解析正確率的方法有效
| 申請號: | 200910101388.3 | 申請日: | 2009-08-03 |
| 公開(公告)號: | CN101631122A | 公開(公告)日: | 2010-01-20 |
| 發明(設計)人: | 范淵;楊永清;李凱 | 申請(專利權)人: | 杭州安恒信息技術有限公司 |
| 主分類號: | H04L29/06 | 分類號: | H04L29/06;H04L12/56;H04L1/00 |
| 代理公司: | 杭州豐禾專利事務所有限公司 | 代理人: | 王鵬舉 |
| 地址: | 310053浙江省杭州市濱江區*** | 國省代碼: | 浙江;33 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 環境 提升 tds 協議 解析 正確率 方法 | ||
技術領域
本發明涉及數據庫審計技術領域,尤其涉及一種在丟包環境下提升TDS協 議解析正確率的方法。
背景技術
表格格式數據流(Tabular?Data?Stream簡稱:TDS)協議是SYBASE和MS?SQL SERVER在客戶端和服務端之間用以交互數據的應用層協議,它是一種面向連接 的服務。TDS協議采用半雙工的通訊方式,即客戶寫一個完整的請求后再從服務 端讀一個完整的響應,并采用格式化的Token(標記)來標記內部內容的排布序 列。
TDS協議解析,應當建立在正確的TCP/IP報文重組之上,以保證TCP數據包 到TDS協議解析模塊的應用數據不重復且順序正確;并且應當建立在正確的協議 數據單元(Protocol?Data?Unit簡稱:PDU)重組之上,以保證哪一些TCP包是 屬于同一個完整的請求或者同一個完整的響應。在業務數據單元(Traffic?Data Unit簡稱:TDU)組裝完成,獲取一個完整請求或響應的所有數據后,再采用TDS 使用的格式化的Token,從第一個字節開始順序分析,直至最后一個字節,然后 再對分析結果進行包裝,對請求和響應進行關聯。下面對TDU、PDU及TCP應用數 據包作一下介紹:
TDU(Traffic?Data?Unit),業務數據單元,表示同一個完整的請求或者同 一個完整的響應所包含的應用數據。
PDU(Protocol?Data?Unit),TDS通信協議中最基礎的數據通信單位,一個 TDU包含一個或多個PDU。
TCP應用數據包,是使用TCP/IP協議的網絡上傳輸的數據包,在剝除以太報 文頭、IP報文頭以及TCP報文頭后所攜帶的應用數據部分。
TDS報文頭結構如下列表格所示:
在TDS協議解析模塊剛剛啟動的情況下,其捕獲到的TCP數據包可能是一 個TDU中間部分的應用數據,這種情況由于沒有該TDU的TDS報文頭而無法解 析該TDU數據,所以需要提供一種檢測機制檢測該種情況。對捕獲到的TCP應 用數據,檢測相應的TDS報文頭的合法性,對于不合法的應用數據包直接進行 丟棄,直到捕獲到有合法TDS報文頭的TCP數據包為止。圖1中的重組算法排 除了上述丟包的情況,其表示在首個TCP數據包為TDU(一個完整請求或響應) 的首個TCP數據包的TDS報文重組和解析的情形:
步驟1-1,TDS協議解析模塊接收一個TCP網絡數據包,收到數據包后,進 入步驟1-2處理;
步驟1-2,判斷當前PDU字節數是否等于0,如果不等于0,則轉入步驟1-3處 理;如果當前PDU字節數等于0,則提取TDS報頭內容,根據TDS報頭設置當前PDU 字節數,本TDU包含下一PDU標志,然后再轉入步驟1-3處理;
步驟1-3,將當前PDU字節數和本PDU已保存字節數與TCP數據包字節數之和 進行比較,如果相等,則進行步驟1-4;如果當前PDU字節數大于本PDU已保存字 節數與TCP數據包字節數之和,則本PDU已保存字節數設置為本PDU已保存字節數 與TCP數據包的字節數之和,然后轉入步驟1-1;如果當前PDU字節數小于本PDU 已保存字節數與TCP數據包字節數之和,則TCP數據包中多余的字節為下一PDU數 據,并設置當前PDU字節數和本PDU已保存字節數均為0,把TCP數據包中多余部 分字節當作TCP包傳入TDS協議解析模塊,即轉入步驟1-1;
步驟1-4,設置當前PDU字節數為0,設置本PDU已保存字節數為0,進入步驟 1-5處理;
步驟1-5,判斷本TDU是否包含下一個PDU,若是,轉入步驟1-1;若否,進 行步驟1-6;
步驟1-6,獲取一個完整的TDU;
步驟1-7,進行TDS?TDU解析,將解析后的內容存儲,以完成該TDU重裝和解 析;
步驟1-8,設置當前PDU字節數為0,設置本TDU不包含下一PDU標示位為真, 本PDU已保存字節數為0,進入接收下一TDU重裝和解析的狀態。
現實中,對于通過捕獲網絡數據包進行重組和解析的數據庫審計系統,往 往存在由于流量突增或網絡環境不夠理想而產生的部分網絡數據包未被捕獲的 情形,從而導致無法按TDS協議正確組裝TDU,無法按照格式化的Token來進行 協議解析。鑒于此,在丟包環境下提升TDS協議解析的正確率就變得十分重要 和迫切。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于杭州安恒信息技術有限公司,未經杭州安恒信息技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200910101388.3/2.html,轉載請聲明來源鉆瓜專利網。





