《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于FPGA的TCP粘合設計實現
基于FPGA的TCP粘合設計實現
Icbuy
Icbuy
摘要: 行業產品市場行情,產品價格趨勢分析,全國各類展會動態,盡在ICBuy電子網行業資訊頻道。他是您把握市場行情不可多得的得力助手!
Abstract:
Key words :
</a>信息" title="信息">信息" title="信息">信息,決定數據的流向,一旦雙方開始通信,該代理就不再對數據進行分析,而僅起到一個透明網關的作用,從而提高代理的系統性能。

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

  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中查找出對應的替換信息,完成雙方數據包的映射。

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

  2.2 設計實現

  在該系統中,為完成TCP粘合并且保證TCP通信的可靠性,必須能夠正確識別接收到的數據包類型;同時由于實際網絡數據傳輸的延時,在一個客戶端通信過程中可能會插入很多其他客戶端發起的新的連接請求,系統內部根據對CAM查找返回的地址來區分不同的數據流,因此要對內部地址空間進行有效的釋放回收,為處理網絡通信異常中斷而導致內部地址無法回收而引入定時器機制;在數據發送部分,客戶端數據發送模塊偽裝成服務器與客戶端完成TCP三次握手協議;服務器數據發送模塊則偽裝成客戶端與服務器完成TCP三次握手協議。雙方在通信過程中轉發對方的數據包。

  2.2.1 數據收發

  對于系統的發送接口來說,所有發送數據包的轉發由數據包映射單元完成,因此發送接口僅完成簡單的數據包轉發功能。而當系統接收到數據包時,要對數據包進行協議解析,從而決定數據包后端處理的方式。在接收部分主要對三種數據包進行區分:(1)雙方發起連接的SYN數據包。這表示一個新連接的發起,因此交給地址管理單元,為它分配一個新的地址空間,同時要求發送端返回一個ACK數據包;(2)客戶端發來的GET數據包中含有客戶端所需信息的URL地址,將該數據包送給字符串匹配表以獲得該信息所在后端服務器的位置;(3)雙方通信的普通數據包。該數據包交給數據包映射單元實現雙發的通信。具體接收的狀態轉換圖如圖3所示。

 

  2.2.2 地址管理單元

  在地址管理的方式上,在此處利用一個地址鏈表進行管理,如圖4所示。

 

  每次地址管理單元接收到新的請求連接就從鏈表的頭部取出該可用地址空間,將新請求的SIP、DIP信息寫入該地址的CAM中,同時在該地址對應的SSRAM的頁面中寫入相關的信息,假設鏈表中取出地址為n,頁面大小為m,則SSRAM中對應的頁面起始地址l為:

  l=n×m

  當地址管理單元接收到字符串匹配表返回的后端服務器位置信息時,首先通過該數據包的SIP、DIP從CAM中查找該數據流對應的地址,通過上述計算公式找出SSRAM中對應的頁面,寫入返回信息。

  對于地址空間的回收,為防止通信異常中斷而無法回收地址,在系統中采用定時器機制,即在一段時間后對SSRAM中的定時器標志位進行檢測,一旦發現該標志位過時則通知地址管理單元回收地址。地址管理單元收到某一地址過時的信息后,將該地址掛在地址管理鏈表尾部,同時清除該地址CAM中的SIP、DIP信息。這樣當同一IP發起新的連接時就不會查找到過時信息。

  2.2.3 數據包映射單元

  為完成數據包的映射,該部分需要實現兩個功能:ACK序列號轉換和雙方轉換信息的存儲。

  在TCP粘合過程中,由于TCP粘合系統送給客戶端的ACK序列號和后端服務器送給客戶端的ACK序列號不相同,因此要進行ACK序列號的轉換,同時要重新計算數據包的TCP/IP校驗和。

  現假設客戶端發送了請求連接的SYN數據包,而客戶端返回給客戶端的SYN序列號為地址管理單元分配給該連接的地址A0,而當系統和服務器建立鏈接時服務器端返回的SYN序列號為A1,則根據這兩個序列號可計算差值A為:A=A0-A1。

  以后通信的過程中,只要將服務器發送給系統的序列號加上A就能夠轉換成為系統送給客戶端的序列號,這樣就完成了服務器端向客戶端發送數據的轉換,反之就可以完成客戶端向服務器發送數據的轉換。

  對于數據包的校驗和轉換而言,由于校驗和本質上是加法運算,所以只需要在原來的校驗和基礎上加上序列號之差(或減去一個差值)即可完成校驗和的轉換。

  在同一個通信過程中,ACK序列號轉換、校驗和的轉換、發起連接的SYN、GET數據包和定時器標志位等信息都需要存儲,由于每個數據流需要存儲的內容較多,單一的地址已經無法滿足存儲要求。此處存儲管理采用頁面式的管理方式。將整個存儲空間分為若干頁面,每個數據流信息存入一個頁面中。SSRAM的存儲格式如圖5所示。

 

  3 性能分析

  該架構已在試驗系統上實現,接收端為兩個GE口。相對于采用TCP粘合的應用代理服務器來說(其中代理服務器CPU Pentium IV 2GHz),具體的性能對比如表1所示。

 

  從上表可以看出在最大連接數方面,在本系統中采用一個18Mbit的CAM,它能夠提供的最大地址空間為288K×144bit,只能支持288K的連接數。對于服務器的最大連接數來說,SYN和GET數據包需要經過軟件協議解析。因此當最大連接數達到582K時CPU的利用率將達到90%以上[3],無法再處理新的連接。從上述分析中可以看出,由于受硬件資源的限制,硬件系統可以支持的最大連接數小于代理服務器。但是在實際的網絡傳輸過程中,一個HTTP連接持續的時間一般為幾百個毫秒,在硬件系統達到每秒21K的連接數時,能夠承受的一個HTTP最大持續時間為13秒,遠遠大于實際HTTP連接的持續時間,因此硬件系統支持的最大連接數是夠用的。當代理服務器采用千兆網卡來接收數據時,由于數據需要經過上層協議解析,因此實際能夠接收的數據量只能夠達到300Mbps。假設每次平均請求512B,則代理服務器能夠支持的最大每秒連接數大約為7K;而當硬件系統工作在133MHz,內部采用32bit總線傳輸時,整個系統的帶寬達到4Gbit,同時系統內部采用流水線方式,能夠線速處理1Gbps數據的接收,假設平均每次請求512B,則硬件系統能夠處理的每秒最大連接數達到21K,因此在單位時間內能夠處理的連接數量會高于代理服務器。

  隨著HTTP訪問量的不斷增大,對于訪問數據包的分流粒度要求越來越細。本文提出的基于硬件實現的TCP粘合系統,在TCP粘合技術的基礎上,利用硬件的高速處理特性,可以達到2個GE口收發(2Gbps)的線速處理性能。同時能夠較好地基于內容來區分數據流,從而避免了后端服務器數據的重新分發。



 

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲女女女同性video| 蜜桃伊人久久| 亚洲欧洲精品一区二区| 欧美一区二区三区四区高清| 亚洲午夜久久久久久久久电影网| 亚洲欧洲日本mm| 亚洲国产精品激情在线观看| 1769国产精品| 伊人成人开心激情综合网| 国产综合av| 在线不卡中文字幕| 亚洲大胆人体视频| 亚洲国产精品视频一区| 亚洲国产欧美不卡在线观看| 亚洲高清影视| 亚洲精品之草原avav久久| 日韩视频在线观看一区二区| 亚洲另类黄色| 日韩午夜电影在线观看| 一本到高清视频免费精品| 一本综合久久| 亚洲欧美欧美一区二区三区| 午夜亚洲福利| 久久精品九九| 亚洲精品少妇网址| 中国日韩欧美久久久久久久久| 亚洲网友自拍| 欧美一区精品| 老司机成人网| 欧美裸体一区二区三区| 欧美午夜寂寞影院| 国产精品视频免费观看| 国产又爽又黄的激情精品视频| 伊人久久男人天堂| 亚洲日本视频| 亚洲视频精选| 欧美亚洲专区| 亚洲韩国一区二区三区| 9久草视频在线视频精品| 亚洲欧美999| 久久久精品tv| 欧美国产欧美亚州国产日韩mv天天看完整| 欧美日韩1区2区| 欧美视频官网| 国产丝袜一区二区三区| 亚洲高清一二三区| 亚洲视频电影图片偷拍一区| 欧美一区二区| 亚洲精品久久久蜜桃| 亚洲一区二区高清视频| 久久精品2019中文字幕| 欧美大片一区二区三区| 欧美午夜一区二区福利视频| 国产区精品视频| 亚洲电影免费观看高清完整版| 一区二区三区欧美在线| 欧美一区二区在线免费观看| 亚洲精品日韩激情在线电影| 小处雏高清一区二区三区| 久久综合中文色婷婷| 欧美视频精品在线| 激情视频亚洲| 亚洲素人在线| 亚洲人体偷拍| 久久国产一区| 欧美视频一区二区三区…| 韩国三级电影久久久久久| 亚洲免费av电影| 久久精品一本| 亚洲主播在线观看| 欧美成人精品在线观看| 国产视频久久久久| 亚洲美女视频| 亚洲国产另类精品专区| 午夜精品亚洲一区二区三区嫩草| 欧美成人午夜激情视频| 国产色爱av资源综合区| 亚洲精品一二三区| 久久gogo国模裸体人体| 亚洲网址在线| 欧美国产丝袜视频| 国产在线成人| 亚洲中字黄色| 亚洲视频电影图片偷拍一区| 牛夜精品久久久久久久99黑人| 国产欧美日韩视频一区二区| 日韩视频在线播放| 亚洲理伦在线| 麻豆freexxxx性91精品| 国产一区二区成人久久免费影院| 一个人看的www久久| 一本色道88久久加勒比精品 | 国内揄拍国内精品少妇国语| 亚洲一区999| 宅男精品视频| 欧美区在线观看| 亚洲大片在线| 亚洲国产精品久久久久婷婷老年| 久久狠狠婷婷| 国产美女一区| 亚洲一二三区精品| 亚洲一级高清| 欧美日精品一区视频| 亚洲人www| 亚洲精品少妇| 欧美韩国在线| 亚洲福利视频网| 亚洲欧洲精品一区二区三区波多野1战4 | 亚洲欧洲综合另类| 91久久精品日日躁夜夜躁欧美| 久久精品夜色噜噜亚洲a∨ | 亚洲一区二区三区高清 | 欧美一区二区三区在线观看| 欧美一二三区在线观看| 国产精品嫩草99av在线| 中国女人久久久| 亚洲在线成人| 国产精品久久久久久亚洲毛片| 中文亚洲字幕| 午夜精品一区二区三区电影天堂| 国产精品久久久久久久久久免费看| a4yy欧美一区二区三区| 国产欧美日韩在线播放| 免费成人你懂的| 一本久道综合久久精品| 欧美日韩成人综合天天影院| 亚洲欧洲在线看| 中文日韩欧美| 国产精品入口| 久久国内精品视频| 免费视频亚洲| 亚洲精品看片| 亚洲小说欧美另类社区| 国产精品国产精品国产专区不蜜| 亚洲一级在线观看| 久久精品国产欧美亚洲人人爽| 精品二区久久| 亚洲精品中文字幕在线观看| 欧美日韩极品在线观看一区| 亚洲午夜久久久久久尤物 | 国产精品手机在线| 欧美一区国产在线| 欧美成人第一页| 日韩亚洲欧美一区二区三区| 午夜天堂精品久久久久 | 亚洲第一免费播放区| 欧美成人一区二区三区| 一区二区三区久久网| 久久岛国电影| 亚洲国产婷婷香蕉久久久久久99| 亚洲最黄网站| 国产日韩欧美在线一区| 亚洲人成在线播放| 国产精品h在线观看| 久久爱另类一区二区小说| 免费欧美在线| 一本色道久久加勒比88综合| 久久国产精品免费一区| 亚洲国产精品尤物yw在线观看| 亚洲一本视频| 激情丁香综合| 亚洲小说欧美另类社区| 国外成人在线| 亚洲午夜一区二区| 狠狠色狠狠色综合日日tαg| 一卡二卡3卡四卡高清精品视频| 国产欧美一区二区三区国产幕精品| 亚洲高清视频中文字幕| 欧美午夜剧场| 亚洲黄页视频免费观看| 国产精品久久久久久久久| 亚洲国产日韩精品| 国产精品国产三级国产aⅴ9色| 久久精品国产99国产精品| 欧美日韩在线播放一区二区| 久久福利影视| 国产精品九九久久久久久久| 亚洲青涩在线| 国产情人节一区| 亚洲色图自拍| 亚洲电影视频在线| 欧美亚洲色图校园春色| 亚洲国产欧美国产综合一区| 性高湖久久久久久久久| 亚洲精品免费一区二区三区| 久久久免费av| 亚洲午夜精品福利| 欧美国产在线电影| 欧美怡红院视频| 国产精品人成在线观看免费| 亚洲免费高清| 在线观看国产精品淫| 欧美一区三区二区在线观看| 亚洲精品日韩综合观看成人91| 噜噜噜躁狠狠躁狠狠精品视频| 亚洲免费在线视频一区 二区| 欧美日本中文| 亚洲精品视频中文字幕| 狠狠色2019综合网| 欧美制服丝袜第一页|