新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于FPGA的TCP粘合設計實現

        基于FPGA的TCP粘合設計實現

        作者: 時間:2011-08-15 來源:網絡 收藏

        在應用級代理的基礎上,為進一步提高數據處理的速度,提出了技術[1]。該技術在通信雙方建立通信之初對雙方的握手信號以及通信原語進行分析,獲取必要的信息,決定數據的流向,一旦雙方開始通信,該代理就不再對數據進行分析,而僅起到一個透明網關的作用,從而提高代理的系統性能。

        本文引用地址:http://www.104case.com/article/150354.htm

          技術采用軟件處理方式時,由于大量數據包不需要上層解析,因此提高了系統性能,但是受軟件處理速度的限制,該技術仍很難應用于大規模的集群系統。本文提出了一種技術的高速機制,利用硬件的高速處理特性和流水線技術來適應高速網絡傳輸的需要。

          1 現存的TCP粘合技術

          TCP粘合原理如下:(1)監聽客戶端的連接請求,并在客戶端發出連接請求后(從SYN開始),建立客戶端到均衡器之間的連接(通過TCP的三次握手協議完成)。(2)在隨后的請求報文中分析數據并決定真正被訪問的服務節點。(3)與服務節點建立另一個連接,將兩個連接粘合在一起(Splicing)。其TCP粘合原理示意圖如圖1所示[2]。

          

        TCP粘合原理示意圖

          2 TCP粘合技術的硬件

          TCP粘合技術的關鍵在于,當客戶端發起連接請求時,系統并不是立即將該請求發給后端服務器,而是偽裝成服務器與客戶端建立連接,取得用戶的GET數據包。通過對URL的匹配來找到信息在后端服務器的位置,然后再在客戶端與服務器之間建立連接通信。

          2.1 系統架構

          TCP粘合系統結構如圖2所示。

          

          該系統中首先由客戶數據接收端對接收到的HTTP報文進行解析,發現數據包為一個發起連接的SYN數據包時,傳給地址管理單元,地址管理就為該連接分配一個地址空間,同時通過映射單元告訴客戶數據發送端與客戶端完成三次握手,建立連接。

          當客戶數據接收端接收到GET數據包時,將該數據包發送給字符串匹配表,該表會將信息在后端服務器的位置返回給地址管理單元,地址管理單元將該信息送給數據包映射單元,映射單元將該信息寫入相應的SSRAM空間中,同時通知服務器發送端與后端服務器建立連接。這樣就完成了一個TCP的粘合過程。

          在客戶端與服務器的通信過程中,數據包映射單元通過雙方SIP、DIP信息從SSRAM中查找出對應的替換信息,完成雙方數據包的映射。

          在雙方通信結束時,由地址管理單元對雙方使用的地址空間進行回收;同時為防止通信過程中的異常中斷,地址管理單元內部還采用了定時器機制對地址空間進行監測,根據定時器返回結果回收過時地址,防止過時信息被查用。


        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 乌审旗| 莲花县| 郯城县| 永仁县| 阜阳市| 罗甸县| 抚远县| 郴州市| 家居| 霍山县| 蓬莱市| 安乡县| 钟山县| 溆浦县| 澄江县| 商丘市| 资溪县| 黑山县| 行唐县| 定日县| 漳平市| 新安县| 锡林浩特市| 开原市| 乌鲁木齐县| 得荣县| 黄浦区| 大城县| 焦作市| 营口市| 义马市| 裕民县| 萝北县| 定西市| 兰坪| 土默特左旗| 金阳县| 平凉市| 台东县| 突泉县| 桐庐县|