《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 業界動態 > 基于FPGA的TCP粘合設計與實現

基于FPGA的TCP粘合設計與實現

2008-03-31
作者:程文青,曾 鳴,黃 建

  摘 要: 介紹了數據分流技術的發展狀況,著重分析了TCP粘合技術目前的實現方式,并指出傳統的TCP粘合的軟件實現缺陷,提出一種基于FPGA技術TCP粘合的設計與實現,證明了其設計性能上的優勢。
  關鍵詞: TCP粘合 URL重定向 數據分流


  傳統的數據分流一般基于三層、四層交換,不能在應用層解析數據,導致數據在后端服務器解析后還要相互重新分發,增加了服務器數據傳輸的開銷。為解決該問題,可以在客戶端" title="客戶端">客戶端與服務器之間采用應用級代理服務器,利用該服務器專門對數據包進行解析分發,但是該方式下,數據要進入TCP/IP協議棧,處理速度慢,同時代理服務器還需要與客戶端、服務器雙方通信,需要處理的數據量非常大,因此在集群應用中,特別是大規模負載平衡集群系統中很少使用應用級代理。
  在應用級代理的基礎上,為進一步提高數據處理的速度,提出了TCP粘合技術[1]。該技術在通信雙方建立通信之初對雙方的握手信號以及通信原語進行分析,獲取必要的信息,決定數據的流向,一旦雙方開始通信,該代理就不再對數據進行分析,而僅起到一個透明網關的作用,從而提高代理的系統性能。
  TCP粘合技術采用軟件處理方式時,由于大量數據包不需要上層解析,因此提高了系統性能,但是受軟件處理速度的限制,該技術仍很難應用于大規模的集群系統。本文提出了一種基于FPGA的TCP粘合技術的高速實現機制,利用硬件的高速處理特性和流水線技術來適應高速網絡傳輸的需要。
1 現存的TCP粘合技術
  TCP粘合原理如下:(1)監聽客戶端的連接請求,并在客戶端發出連接請求后(從SYN開始),建立客戶端到均衡器之間的連接(通過TCP的三次握手協議完成)。(2)在隨后的請求報文中分析數據并決定真正被訪問的服務節點。(3)與服務節點建立另一個連接,將兩個連接粘合在一起(Splicing)。其TCP粘合原理示意圖如圖1所示[2]。


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


2.1 系統架構
  TCP粘合系統結構如圖2所示。
  該系統中首先由客戶數據接收端對接收到的HTTP報文進行解析,發現數據包為一個發起連接的SYN數據包時,傳給地址管理單元" title="管理單元">管理單元,地址管理就為該連接分配一個地址空間,同時通過映射單元告訴客戶數據發送端與客戶端完成三次握手,建立連接。
  當客戶數據接收端接收到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所示。


  從上表可以看出在最大" title="最大">最大連接數" title="連接數">連接數方面,在本系統中采用一個18Mbit的CAM,它能夠提供的最大地址空間為288K×144bit,只能支持288K的連接數。對于服務器的最大連接數來說,SYN和GET數據包需要經過軟件協議解析。因此當最大連接數達到582K時CPU的利用率將達到90%以上[3],無法再處理新的連接。從上述分析中可以看出,由于受硬件資源的限制,硬件系統" title="硬件系統">硬件系統可以支持的最大連接數小于代理服務器。但是在實際的網絡傳輸過程中,一個HTTP連接持續的時間一般為幾百個毫秒,在硬件系統達到每秒21K的連接數時,能夠承受的一個HTTP最大持續時間為13秒,遠遠大于實際HTTP連接的持續時間,因此硬件系統支持的最大連接數是夠用的。當代理服務器采用千兆網卡來接收數據時,由于數據需要經過上層協議解析,因此實際能夠接收的數據量只能夠達到300Mbps。假設每次平均請求512B,則代理服務器能夠支持的最大每秒連接數大約為7K;而當硬件系統工作在133MHz,內部采用32bit總線傳輸時,整個系統的帶寬達到4Gbit,同時系統內部采用流水線方式,能夠線速處理1Gbps數據的接收,假設平均每次請求512B,則硬件系統能夠處理的每秒最大連接數達到21K,因此在單位時間內能夠處理的連接數量會高于代理服務器。
  隨著HTTP訪問量的不斷增大,對于訪問數據包的分流粒度要求越來越細。本文提出的基于硬件實現的TCP粘合系統,在TCP粘合技術的基礎上,利用硬件的高速處理特性,可以達到2個GE口收發(2Gbps)的線速處理性能。同時能夠較好地基于內容來區分數據流,從而避免了后端服務器數據的重新分發。
參考文獻
1 Cohen A,Rangarajan S,Slye H.On the performance of TCP splicing for URL-aware redirection.In:USENIX symposium on Internet technologies and systems,1999
2 Rosu M,Ros D.An evaluation of TCP splice benefits in web proxy servers.In:International world wide web conference,2002
3 Jacobson V.A high-Performance TCP/IP implementation gigabit per second TCP workshop.Corporation for National Research Initiatives(CNRI),1993
4 謝希仁.計算機網絡.北京:電子工業出版社,2003

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          亚洲午夜一区二区三区| 免费人成网站在线观看欧美高清| 国产午夜精品一区二区三区欧美| 久久久女女女女999久久| 亚洲一区二区视频在线| 精品成人一区| 一本久道久久综合婷婷鲸鱼| 国产精品日韩欧美一区| 亚洲毛片在线观看.| 亚洲国产日韩欧美在线99| 欧美日韩福利在线观看| 欧美精品午夜| 亚洲日本成人网| 欧美日韩高清免费| 欧美日韩精品欧美日韩精品| 国产欧美在线观看一区| 国产在线观看一区| 国产一区清纯| 伊人春色精品| 国产亚洲欧洲| 99国产一区二区三精品乱码| 欧美a级片网| 久久久久**毛片大全| 国产精品免费区二区三区观看| 欧美视频在线不卡| 国产乱人伦精品一区二区| 欧美在线一级视频| 久久久国产精品一区二区三区| 亚洲永久字幕| 99亚洲视频| 亚洲综合导航| 亚洲色图制服丝袜| 欧美在线高清视频| 欧美高清视频在线播放| 亚洲专区在线| 久久婷婷蜜乳一本欲蜜臀| 女女同性女同一区二区三区91| 国产精品卡一卡二| 欧美日韩精品欧美日韩精品一| 99在线观看免费视频精品观看| 久久视频免费观看| 一区二区三区波多野结衣在线观看| 国产一区二区按摩在线观看| 亚洲一区在线观看视频| 一区二区视频免费完整版观看| 日韩视频在线观看一区二区| 国产最新精品精品你懂的| 欧美日韩ab片| 久久久欧美精品sm网站| 亚洲国产aⅴ天堂久久| 国产精品福利久久久| 欧美日韩免费在线视频| 亚洲私人影院| 欧美日韩伊人| 欧美日韩另类丝袜其他| 午夜精品久久久久99热蜜桃导演| 亚洲综合日韩在线| 91久久精品美女| 99视频在线精品国自产拍免费观看| 毛片一区二区三区| 欧美久久九九| 久久综合影音| 国内精品久久久久久久果冻传媒| 久久午夜色播影院免费高清| 欧美日韩ab| 免费高清在线视频一区·| 99视频在线精品国自产拍免费观看| 午夜老司机精品| 99re成人精品视频| 看欧美日韩国产| 精品999在线播放| 亚洲人线精品午夜| 亚洲国产精品成人综合色在线婷婷| 麻豆成人在线| 亚洲免费成人| 激情综合色丁香一区二区| 国产精品爽爽爽| 国产视频欧美视频| 极品尤物久久久av免费看| 亚洲国产婷婷香蕉久久久久久| 日韩亚洲欧美精品| 一本色道久久综合亚洲精品按摩| 欧美日韩亚洲91| 欧美日韩成人综合在线一区二区| 老司机免费视频一区二区三区| 欧美日韩中文字幕综合视频| 欧美激情亚洲激情| 亚洲图片在线观看| 午夜亚洲性色福利视频| 狠狠色狠狠色综合系列| 亚洲在线一区二区三区| 欧美成人免费观看| 亚洲精品国产视频| 国产日韩欧美不卡在线| 香蕉乱码成人久久天堂爱免费| 欧美日韩国产一级片| 狠狠色香婷婷久久亚洲精品| 欧美91福利在线观看| 亚洲视频一二三| 欧美日韩1区2区3区| 日韩午夜激情电影| 欧美黄色日本| 欧美日韩直播| 亚洲男人的天堂在线aⅴ视频| 久久午夜电影网| 国产酒店精品激情| 中文av一区二区| 亚洲一区二区三区高清不卡| 亚洲三级影院| 亚洲欧洲视频| 99在线视频精品| 一区二区三区四区国产| 欧美激情中文字幕在线| 亚洲欧美久久久| 亚洲电影免费观看高清完整版| 在线视频亚洲一区| 黄色成人在线网站| 久久aⅴ国产欧美74aaa| 亚洲精品久久久蜜桃| 欧美日本韩国一区二区三区| 樱桃国产成人精品视频| 亚洲精品少妇网址| 欧美一区观看| 一本色道久久综合| 99精品久久免费看蜜臀剧情介绍| 曰韩精品一区二区| 欧美精品一区三区在线观看| 欧美韩日精品| 久久精品成人欧美大片古装| 麻豆精品在线观看| 国产情人节一区| 亚洲国产精品成人一区二区| 欧美新色视频| 欧美成va人片在线观看| 欧美一区久久| 香蕉成人啪国产精品视频综合网| 亚洲激情视频在线播放| 免费毛片一区二区三区久久久| 亚洲第一在线综合在线| 在线观看国产成人av片| 亚洲欧洲一区二区在线观看| 国产麻豆日韩| 欧美日韩伊人| 国产伦精品一区二区三区四区免费| 国产欧美精品va在线观看| 亚洲一区二区三区高清不卡| 欧美日韩国产丝袜另类| 91久久久久| 欧美一区二区三区久久精品| 久久野战av| 久久噜噜噜精品国产亚洲综合| 韩国成人福利片在线播放| 狠狠色综合网| 欧美三级视频在线播放| 狠狠色丁香久久婷婷综合丁香| 欧美日韩麻豆| 欧美11—12娇小xxxx| 日韩亚洲欧美一区| 国内精品久久久久国产盗摄免费观看完整版| 一区二区三区四区国产| 亚洲黄色毛片| 欧美区亚洲区| 国产亚洲一区二区三区| 欧美日韩国产999| 久久超碰97中文字幕| 亚洲国产另类精品专区| 久久夜色精品国产亚洲aⅴ| 久久久一本精品99久久精品66| 麻豆精品一区二区综合av| 欧美国产精品劲爆| 亚洲免费观看| 国产亚洲一区在线播放| 国产精品免费观看在线| 午夜久久影院| 欧美日韩国产欧美日美国产精品| 欧美成人中文字幕| 欧美日韩一区二区三| 欧美日韩国产美| 欧美激情一区二区三区在线视频| 国产视频亚洲精品| 黄色亚洲免费| 亚洲欧美日韩国产成人| 欧美成年视频| 一区二区三区视频在线看| 欧美精品性视频| 亚洲第一福利社区| **性色生活片久久毛片| 亚洲黄色影片| 午夜亚洲视频| 伊人色综合久久天天| 欧美成人嫩草网站| 国产主播一区| 久久色在线观看| 亚洲夜晚福利在线观看| 久久国产精品72免费观看| 久久久噜噜噜久久人人看| 国产精品久久久久久模特| 欧美肉体xxxx裸体137大胆| 亚洲国产aⅴ天堂久久| 欧美日韩国产专区| 亚洲精品视频免费在线观看| 雨宫琴音一区二区在线| 国产精品豆花视频| 亚洲欧美另类综合偷拍| 国产精品你懂的在线欣赏| 99人久久精品视频最新地址| 99re66热这里只有精品3直播| 欧美成人午夜激情在线| 欧美亚洲视频在线看网址| 狠狠色丁香婷婷综合久久片| 国产精品久久久一区二区| 国产精品天天看| 一本色道久久综合亚洲精品婷婷| 国产日韩综合一区二区性色av| 亚洲一区二区三区中文字幕在线| 亚洲综合色婷婷| 亚洲国产91精品在线观看| 国产亚洲欧洲一区高清在线观看| 国产亚洲高清视频| 欧美色区777第一页| 国产精品毛片| 久久性色av| 另类图片综合电影| 亚洲午夜精品久久久久久浪潮| 国产一区二区三区的电影| 亚洲婷婷在线| 国产日韩精品一区观看| 欧美日韩国产成人精品| 欧美三日本三级少妇三99| 小嫩嫩精品导航| 亚洲精品久久久久中文字幕欢迎你| 国产精品日日摸夜夜添夜夜av| 久久精品视频免费观看| 日韩一区二区精品葵司在线| 欧美精品国产一区二区| 欧美日韩国产影院| 国产精品久久一级| 欧美三区在线视频| 一本色道久久综合亚洲精品不卡| 午夜欧美不卡精品aaaaa| 国产精品视频专区| 久久久999精品视频| 91久久精品国产91久久性色tv| 亚洲麻豆国产自偷在线| 国产精品久久午夜夜伦鲁鲁| 亚洲综合99| 亚洲日本欧美天堂| 久久一日本道色综合久久| 国产精品亚洲欧美| 国产精品99久久久久久久vr| 洋洋av久久久久久久一区| 欧美在线免费观看视频| 亚洲美女免费精品视频在线观看| 欧美日韩国产影院| 亚洲日本一区二区| 亚洲人成久久| 久久精品国产精品亚洲| 韩国自拍一区| 亚洲视频免费看| 国产精品jvid在线观看蜜臀| 国产精品国产三级国产普通话99| 久久av最新网址| 欧美午夜精品久久久久久人妖| 激情久久五月| 国产日韩精品一区二区三区| 国产精品入口日韩视频大尺度| 中国成人黄色视屏| 亚洲激情成人网| 亚洲国产裸拍裸体视频在线观看乱了| 亚洲黄页视频免费观看| 亚洲精品国产精品国产自| 国产亚洲精品综合一区91| 欧美日韩免费视频| 一区二区三区日韩精品视频| 国产精品视频导航| 中文国产成人精品久久一| 亚洲国内在线| 国产日韩欧美另类| 精久久久久久久久久久| 欧美精品大片| 欧美绝品在线观看成人午夜影视| 欧美一区2区视频在线观看| av成人免费在线| 亚洲日本中文字幕免费在线不卡| 国产欧美亚洲一区| 欧美日本免费| 国产视频久久久久| 欧美精品日韩www.p站| 国产日韩欧美夫妻视频在线观看| 欧美日韩国产精品一区| 欧美xart系列高清| 在线中文字幕不卡| 亚洲激情一区| 亚洲婷婷免费| 亚洲国产精品美女| 亚洲日本免费| 久久视频免费观看| 亚洲国内精品| 久久在线播放| 久久久综合精品| 欧美视频亚洲视频| 国产欧美在线观看一区| 欧美色视频日本高清在线观看| 国产日韩欧美在线视频观看| 亚洲人成毛片在线播放女女| 久久av老司机精品网站导航| 在线观看日产精品| 久久日韩精品| 日韩视频中文字幕| 国产精品久久久久久久久久久久| 欧美呦呦网站| 欧美午夜性色大片在线观看| 亚洲第一精品夜夜躁人人爽| 国内揄拍国内精品久久| 国内伊人久久久久久网站视频| 香蕉乱码成人久久天堂爱免费| 小黄鸭精品aⅴ导航网站入口| 亚洲日本成人| 一区二区不卡在线视频 午夜欧美不卡'| 国产伦一区二区三区色一情| 亚洲男人天堂2024| 久色婷婷小香蕉久久| 亚洲精品乱码久久久久久| 亚洲国产日韩美| 午夜激情一区| 亚洲一卡久久| 国产精品有限公司| 中文精品视频|