黃滔 葉立芳
摘 要:本文主要對廣域網并行TCP加速系統進行研究,對并行TCP加速系統的實現提出了一些看法,以供參考。
關鍵詞:互聯網;廣域網;加速系統
中圖分類號:TP39 文獻標識碼:A
一、概述
網絡技術發展至今,其功德無量造福著全人類。在各種迅速發展的電子商務、網游等業務中,提出了對處理數據速度及網絡的傳輸速度更高的要求。在高帶寬延時廣域網的發展中,傳統的TCP將難以適應。在高帶寬延時的網絡條件下,TCP流將有抖動的發生,在不停的抖動下讓路由器中的隊列長度產生未穩定性狀態,且TCP的性能方面會伴隨著鏈路帶寬或延時的增加而降低。一些學者們對TCP的擁塞控制機制加以改進,經由加以改變TCP擁塞窗口的調整參數,使其在互聯網中發揮更好的性能,而并行TCP主要是經由TCP流之間的相互協作及讓TCP連接的數目有所增加,從而有助于網絡傳輸的性能方面的提高。
并行TCP加速系統的設計
二、在當前的廣域網中,主要存在著三個方面的問題,它們分別是帶寬、延遲與可靠性,對并行TCP廣域網加速系統的設計采取雙網關模式,該加速系統主要由系統配置、會話控制的接入、數據應用管理與網關間傳輸控制該四個模塊構成。
1 系統配置。該模塊方便用戶針對各種不同服務同其側重的優化指標配置系統參數,同時能達成加速效應,例如設置并發流的數目和調度方式,以及多種策略自身的參數等等。
2 會話控制的接入。此模塊可讓管理會話、同步控制會話與會話數據流量的控制得以實現。按用戶的需求而言,能對局域網中的各種服務應用進行訪問,在系統中分組管理各種會話,可按服務應用的端口同IP地址來進行。在管理會話當中經由所接入會話設置的ID碼,促使會話的迅速控制與定位得以實現。因進行設計時采取雙網關加速模式,數據傳輸是由網關兩端會話接入同網間并行TCP隧道一同協作得以完成,在啟動系統的時候服務器端會話已成功創建,在準許會話接入負載時,服務器端網關會分配一個空閑會話連接于接入客戶端網關新會話里,共同與網間隧道組成數據鏈路1條,以此達成用戶與服務器間進行傳輸數據。
3 數據應用管理。此模塊功能是對數據進行轉化轉發,當中含有分塊封裝的會話數據、分配轉發控制及分發控制、網間數據的重組解析。
該模塊經由對會話類型加以判斷,分別完成對會話數據的接入與網間隧道會話數據的操作處理。系統將按會話接入的會話號同組標識進行分塊封裝其數據,分配給相對應的網間隧道會話需依據分配數據的策略,然后對網間隧道會話數據加以解析,然后進行獲取控制信息,把當中的有效數據分發至對應的接入會話。
4 網關間的傳輸控制。在此模塊中,可實現隧道TCP會話的接入控制與輸送隧道數據,也就是網關間并行TCP隧道的管理,在隧道TCP會話接入的控制過程中,它是按配置文件的服務器端網關的IP及隧道偵聽端口對隧道TCP會話分組進行有效管理,由此產生并行TCP隧道。該系統的準確定位是經由隧道TCP會話標識同隧道標識一起加以實現, socket可以完成其隧道數據的傳輸。
三、廣域網并行TCP加速系統的實現
據此種設計,使系統加速的客戶端網關模式與服務器端網關模式得到了實現。
1 數據轉化轉發的控制。若要使轉化轉發中的網關間數據與會話數據得以實現,數據應用管理對網關間數據傳輸的包封裝格式有所定義;數據包的用處是對會話數據加以攜帶,能對控制信息的確認包與同步包加以攜帶,其在會話流量控制和會話同步控制過程中分別得到很好的應用。
在數據轉發控制中,若果實現對會話數據進行重組,可在會話的發送緩存過程中所獲得。而會話的發送緩存為BC (BlockContainer)對象,BC對象是以指向數據包中有效數據的指針同數據包序列號構成映射,對數據包加以解析完后,能夠于會話發送的緩存BC對象里增添對應表項,這樣可使大量避免數據的轉儲存。
在會話中發送數據的時候,能夠對緩存BC中的表項進行有效讀取,若果返回的為非空指針的話,可在對應內存地址中進行對數據塊讀取,若果為空指針的話,數據包則有延遲現象產生,產生阻塞的必是發送線程,仍需等待該數據包來對此發送線程進行有效激活。
2 會話管理。在加速網關系統會話類型的實現中,分別有網間隧道中的TCP會話與系統可外接入會話。基于socket編程中建立連接的方式有偵聽接收與主動請求兩種,系統對服務器端與會話的客戶端分別能夠實現異同的管理模式。
在服務器端管理的層次中,它同客戶端管理存在異曲同工之處,它們的區別主要在于服務端的管理目標為TS(TcpServer),是以其監聽的套接字同端口號為主鍵創建Map對象。
3 會話同步的控制。在實現系統的過程當中,可以使著布爾型數組得到維護的是每個會話分組,數組位序也可當作待分配的會話號資源,在兩端網關上,其數組布爾型元素的值也有著不同尋常的意義。
在服務器端中的網關,它所能標記的是其位序對應會話的狀態為忙碌或空閑;在客戶端的網關中,它標識其位序對應會話的創建或斷開。該系統功能可達成會話號充分使會話狀態及會話的綁定,由此通過對網關兩端同樣的會話號資源進行靈活設置,最終達成會話的同步性。
4 會話流量的控制。在TCP滑動窗口的機制里,為實現流量的控制,該系統中卻選用相似TCP滑動窗口流量控制機制,需經由返回信息確認進行統計數據量。
依據用戶的配置來看,該系統為每個會話分組設定一個接收窗口值RCV_W與發送窗口值SND_W,并且要確保RCV_W不大于SND_W。而各個接入會話對兩個變量進行了聲明,在整個流量控制的過程里,完全可由兩端處會話的發送線程和接收線程一起協同來完成。
結語
在當今互聯網上,廣域網廣泛存在著一些瓶頸,而能解決廣域網遇到的瓶頸卻是并行TCP加速網關系統。該系統可實現會話接入的重定向、會話數據的截獲和數據網關間的并行傳輸等。為了在實際網絡中可得到應用,還需進行完善網關的控制,客戶端網關同服務器端網關之間需要使狀態信息的交互得以實現,以便應付網絡異常情況的產生,從而能使系統的健壯性得到有效提高。
參考文獻
[1]詹海菊.基于Linux的傳感器網絡網關設計[J].微計算機信息,2009(17).