《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > 廣域網并行TCP加速系統的研究與實現
廣域網并行TCP加速系統的研究與實現
來源:電子技術應用2013年第6期
高 雅1, 郭振華2
1. 洛陽師范學院 物理與電子信息學院,河南 洛陽471022; 2. 中南大學 信息科學與工程學院, 湖南 長沙410083
摘要: 隨著互聯網業務的高速發展,廣域網在網絡響應速度方面已經越來越無法滿足用戶的需求。鑒于此,提出了一種基于并行TCP的廣域網加速方案,采用雙網關加速模式,設計實現了一個并行TCP加速網關系統。該系統實現了會話接入控制管理以及會話數據截獲、處理、加速傳輸和流量控制。最后,通過對系統進行了Web網頁訪問測試和文件傳輸測試表明,該系統大大提高了廣域網的響應速度,表現出很好的廣域網加速效果。
中圖分類號: TP393
文獻標識碼: A
文章編號: 0258-7998(2013)06-0096-04
Research and implementation of parallel TCP in acceleration system for WAN
Gao Ya1, Guo Zhenhua2
1. Luoyang Normal College, Luoyang 471022,China; 2. College of Information Science & Engineering, Central South University, Changsha 410083, China
Abstract: With the development of applications, current Internet has a challenge. In the paper, parallel TCP is proposed to address this problem in current network hierarchy. An acceleration gateway system is designed and implemented for WAN application in double-end acceleration mode. This system has the functions of access control of session, interception, processing and transmission of application data and flow control of session. Finally, the results of the tests indicate that this system reduces internet response time and improves transmission performance.
Key words : WAN acceleration; parallel TCP; gateway design

    網絡技術的發展給人們的工作和生活帶來了極大的便利,用戶數量與日俱增。電子商務、網絡游戲等業務對網絡的傳輸速度和數據處理速度提出了更高的要求。傳統TCP協議采用的加性增加和乘性減少的AIMD 窗口管理機制使其不能適應高帶寬延時廣域網的發展[1]。在高帶寬延時網絡環境下,TCP流將會不斷抖動,造成路由器上的隊列長度產生不穩定性,TCP 的性能會隨著鏈路帶寬或延時的增加而逐漸降低[2]。針對這些問題,很多學者對TCP的擁塞控制機制進行了改進,例如:BIC TCP、CUBIC、FAST TCP等,這些協議通過改變TCP擁塞窗口的調整參數使之在當今網絡中發揮更好的性能。但是,由Hamilton實驗室搭建的測試床對上述TCP協議進行測試的實驗結果表明,除了H-TCP外,其他協議均存在很大的性能問題,特別是RTT不公平性問題[3]。與上述改進TCP協議的研究方法不同,并行TCP是通過增加TCP連接的數目以及TCP流之間的協作來提高網絡傳輸性能的。

1 并行TCP加速系統的設計
    針對廣域網目前存在的帶寬、可靠性和延遲三方面存在的問題,并行TCP廣域網加速系統設計采用雙網關模式,實現客戶端局域網中的用戶對服務器端局域網內多種服務應用的加速訪問。加速系統主要由以下幾個模塊組成:系統配置和日志記錄、接入會話控制、應用數據管理和網關間傳輸控制。
    (1) 系統配置和日志記錄
    系統配置提供給用戶靈活配置系統參數的功能,用戶可以針對不同的服務及其側重的優化指標進行靈活的系統參數配置,實現更好的加速效果,例如并發流數目的設置、并發流的調度策略以及各種策略本身的參數等。
    (2) 接入會話控制
    接入會話控制實現了會話管理、會話同步控制和會話數據流量控制三個功能。
    根據需求,用戶可以訪問對端局域網內的多個服務應用,系統將根據服務應用的IP地址和端口對各種會話進行分組管理。會話管理通過為接入會話設置的ID,實現對會話的快速定位和控制。
   由于采用雙網關加速設計模式,數據的傳輸由兩端網關接入會話和網間并行TCP隧道協同完成。服務器端會話在系統啟動時已經創建成功。在系統支持的接入會話負載允許時,服務器端網關將為接入客戶端網關新會話分配一個“空閑”會話連接,與網間隧道共同組成一條數據鏈路,完成用戶與服務器之間的數據傳輸。
    (3) 應用數據管理
    應用數據管理主要負責數據的轉化轉發任務,包括對會話數據分塊封裝、分配轉發控制和對網間數據進行重組解析、分發控制。
        應用數據管理通過對會話類型的判斷,分別完成對接入會話數據和網間隧道會話數據的不同處理操作。對于接入會話,系統根據接入會話的組標識和會話號對其數據進行分塊封裝,并按照數據分配策略分配給相應的網間隧道會話。對于網間隧道會話,系統將對其數據進行解析,根據解析得到的控制信息將其有效數據分發給相應的接入會話。
    在低速網絡中,傳統TCP協議表現出良好公平性使得平均分配策略效率很高且簡單易行,但是,隨著帶寬延時乘積增大,AIMD的窗口調整策略使傳統TCP在高帶寬延網絡中公平分享帶寬的調整時間過長,因此傳統TCP協議的公平性越來越差。最小緩存數據量優先分配策略解決了這問題,根據緩存中排隊的數據量的多少,判斷TCP連接的發送能力,進而為其分配相當的數據。
    (4) 網關間傳輸控制
    網關間傳輸控制實現了網關間并行TCP隧道的管理,即隧道TCP會話的接入控制和隧道數據的傳輸。與會話管理中的會話接入控制相似,隧道TCP會話的接入控制是根據配置文件來配置的服務器端網關的IP地址和隧道偵聽端口對隧道TCP會話進行分組管理,形成并行TCP隧道。系統通過隧道標識和隧道TCP會話標識進行定位,從而完成接入會話數據向隧道TCP會話的數據分配。隧道數據的傳輸交付socket完成。
2 并行TCP加速系統的實現
    根據設計,系統實現了加速網關的兩種啟動模式:服務器端網關模式和客戶端網關模式,具體的網關數據通信流程如圖1所示。

2.1 數據轉化轉發控制
    為了實現會話數據和網間數據的轉化轉發,應用數據管理定義了自己的網關間傳輸數據包封裝格式。數據包用于攜帶會話數據;確認包和同步包用于攜帶控制信息,分別應用于會話流量控制和會話同步控制。
    數據轉發控制對會話數據的重組是在會話的發送緩存中完成的。會話的發送緩存是BlockContainer對象,是用STL容器中的映射表map實現的,BlockContainer對象以數據包序列號和指向數據包中有效數據的指針構成映射。數據轉發控制完成對數據包的解析后,就可以在會話發送緩存BlockContainer對象中添加對應表項,這樣可以避免大量數據的轉儲,如圖2所示。會話發送數據時,則可順序讀取緩存BlockContainer中的表項,如果返回指針非空,則在對應內存地址取數據塊;如果是空指針,則說明有數據包延遲,發送線程將會阻塞,等待該數據包到達激活該發送線程。

2.2 會話管理
    加速網關系統的實現有兩種會話類型,系統外接入會話和網間隧道中的TCP會話?;趕ocket編程中的主動請求和偵聽接收兩種建立連接的方式,系統分別對會話的客戶端和服務器端實現了不同的管理方式。
    客戶端管理分三個層次,如圖3所示,客戶端分組的特征字符串是所連接服務器的IP地址和端口,多個Client對象組成一個Client group,多個Client group隸屬于Client Manager對象進行統一管理。

    Client Manager對象實現了針對服務應用的Client Group管理,Client Group直接對屬于自己分組的Client對象進行管理,以會話號LINK_ID為關鍵字建立映射map,map定義為<LINK_ID,TCPClient>,實現TCP Client的快速定位。Client Group對象完成組內客戶端的查找、添加和刪除。 TCP Client對象實現了socket通信的基本功能,如發起連接、接收數據和發送數據,數據的接收和發送采用獨立的線程操作,提高通信效率。
     服務器端管理的層次與客戶端管理是類似的,兩者區別是服務端管理TcpServer Manager的管理對象是TcpServer,是以其監聽的套接字和端口號為主鍵創建Map對象。TcpServer對象實現了端口監聽和接收新連接的操作,將接收新連接TcpClient對象添加到其成員類TCPGroup對象進行管理。
2.3 會話同步控制
    系統實現中,每一個會話分組都維護了一個布爾型數組。數組位序就是待分配的會話號資源(LINK_ID)。數組布爾型元素的值在兩端網關上有著不同的意義,在客戶端網關上,它標識其位序對應會話的&ldquo;建立&rdquo;或&ldquo;斷開&rdquo;;在服務器端網關上,它標識的是其位序對應會話的&ldquo;忙&rdquo;或&ldquo;空閑&rdquo;狀態。系統通過會話號實現了會話狀態位和會話的綁定,進而通過對兩端網關設置相同的會話號資源實現兩端系統中的會話同步。
2.4 會話流量控制
    TCP滑動窗口機制是通過控制發送窗口開始和結束位置包序列號來實現的。與其不同,本系統采用了類似TCP滑動窗口的流量控制機制,通過返回確認信息進行數據量統計來實現流量控制。
    根據用戶配置,系統分別為每個會話分組設定了一個發送窗口值SND_W和接收窗口值RCV_W,且保證SND_W不小于RCV_W。每個接入會話聲明了兩個變量snd_count和rcv_count,分別統計會話已轉發到網關但未被對端確認的數據量和已從網關接收的數據量。整個流量控制過程由兩端會話的接收線程和發送線程協同完成。
3 系統測試分析
    系統測試是在實驗室里搭建的測試床上進行的,如圖4所示,網關主機配置Linux 2.6內核,用WANem模擬廣域網,用iperf來生成TCP背景流。在100 MB的瓶頸帶寬環境下,對系統進行大文件傳輸測試和Web網頁訪問測試。

 

 

    在部署加速網關前,在無背景流的網絡環境中,隨著網絡時延的增加,瓶頸鏈路的帶寬有效利用率逐漸下降,由10 ms時的25 Mb/s降低到100 ms時的5 Mb/s??梢?,網絡延時對瓶頸帶寬利用率的影響是很嚴重的,增加了背景流后的瓶頸鏈路的帶寬有效利用率更差。在部署加速網關系統之后,無論有無背景流,瓶頸鏈路帶寬的有效利用率明顯得到提高。特別是在有背景流的網絡環境中,瓶頸鏈路帶寬的有效利用率提高了14~23倍之多。這說明了并行TCP傳輸在高帶寬長時延的廣域網中具有更好的帶寬利用率。
3.2 Web網頁訪問測試
      測試方案:廣域網瓶頸帶寬設置為100 MB,網絡延時設置為100 ms,分別在有無背景流網絡環境中,在啟用加速網關的前后,對Web訪問的平均響應時間進行測試。下載網頁的大小為3 126 B。為了避免系統所帶來的隨機性,測試結果是多次測試結果的平均值,如圖6所示。在實驗中,Web訪問測試采用了LoadRunner測試工具,錄制了特定的測試腳本,實現了測試方案的可重復性,并對測試做出了準確的結果分析。
    從圖6中可以看出,在部署加速網關之前,在添加背景流前后,網頁下載時間增長200 ms左右,其他的細分分量都有相應增加。這說明了添加背景流對Web網頁訪問的效率是有影響的。

    在無背景流的情況下,部署加速網關明顯減少了網頁下載時間,在其三個細分分量中,連接時間減少到幾乎為零,這是因為部署加速網關前,連接時間是指客戶端經過客戶端網關、路由器和服務器端網關與Web服務器建立連接花費的時間,經歷了模擬廣域網的網絡時延;部署加速網關后,連接時間是指客戶端與客戶端網關建立連接的時間,這個連接的建立過程是在局域網內完成的,網關間的連接和服務器端網關與Web服務器的連接是在網關系統啟動時建立好的,因此,從用戶角度看,大大節省了連接建立的時間。
     綜上所述,針對要解決的網絡應用環境所存在的問題,對于文件傳輸應用,并行TCP加速系統提高了對廣域網瓶頸帶寬的利用率,提高了數據的傳輸性能;對于Web網頁訪問應用,并行TCP加速系統減少了網頁下載速度。可見,該加速方案對這兩大互聯網應用都具有很好的加速效果。
    針對目前網絡上普遍存在的廣域網瓶頸問題,并行TCP加速網關系統提供了一個很好的解決方案。該系統已經實現了會話接入的重定向、會話數據的截獲、分塊封裝、解封重組和數據的網關間的并行傳輸等系統功能。為了能應用到實際網絡中,還需要從網關關聯控制方面進行完善,該系統是一個分布式系統,客戶端網關與服務器端網關之間需要實時的狀態信息交互,以應對可能出現的網絡異常情況(如網絡的異常斷開等),提高系統的健壯性。
參考文獻
[1] AKYILDIZ I F, WANG X, WANG W. Wireless mesh networks: a survey[J]. Computer Networks, 2005,47(4):445-487.
[2] 王建新,郭振華,盛羽.基于并行TCP技術的廣域網通信加速方法[P].CN201010528603.0.中南大學,2011-02-16.
[3] IEEE Standard 802.16-2004.IEEE standard for local and metropolitan area networks-part 16: air interface for fixed  broadband wireless access systems[z]. Oct. 2004.
[4] KATEVENIS M, SIDIRPPOUS S, COURCOUBETIS. Courcoubetis[J]. Weighted Round Robin Cell Multiplexing in a General Purpose ATM Switch Chip. IEEE J. Select. Areas Commun.,1991,9(10):1265-1279.

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 精品视频麻豆入口| 亚洲欧美综合区自拍另类| 97无码免费人妻超级碰碰夜夜 | 91香焦国产线观看看免费| 扒开两腿猛进入爽爽视频| 亚洲另类激情综合偷自拍图| 福利视频999| 国产色综合久久无码有码| 久久777国产线看观看精品| 欧美性生交xxxxx久久久| 国产成人久久91网站下载| 99热这里只/这里有精品| 欧美中文在线观看| 国产亚洲情侣久久精品| 777国产偷窥盗摄精品品在线| 日韩欧美在线观看一区| 啊轻点灬大ji巴太粗太长了电影| gogo免费在线观看| 欧美一级视频在线| 免费观看成人毛片| 2020欧美极品hd18| 快点cao我要被cao烂了男女| 么公的又大又深又硬想要| 老司机福利精品视频| 国产欧美日韩综合精品一区二区| 丽玲老师高跟鞋调教小说| 欧美又黄又嫩大片a级| 国产SM主人调教女M视频| av在线手机播放| 欧美jlzz18性欧美| 四虎影视免费永久在线观看| 99久久精品国产一区二区成人| 日韩精品视频在线观看免费 | 午夜一级黄色片| 色吧亚洲欧美另类| 天天躁日日躁狠狠躁av麻豆| 五月婷婷免费视频| 精品久久伦理中文字幕| 国产精品久久久久影院嫩草| eeuss影院130020部| 日韩加勒比在线|