無標題文章

背景

TCP協(xié)議增強器,是指將TCP/IP協(xié)議棧中傳輸層的TCP協(xié)議進行增強,使之符合一些復(fù)雜網(wǎng)絡(luò)環(huán)境的參數(shù)要求(如時延、誤碼率、速率等)的一種應(yīng)用層軟件技術(shù),將TCP協(xié)議增強器編譯在PC上,可以作為一般網(wǎng)絡(luò)和復(fù)雜網(wǎng)絡(luò)通信的橋梁,或者說轉(zhuǎn)換網(wǎng)絡(luò)環(huán)境的網(wǎng)關(guān),其應(yīng)用示意圖如下:


上圖中,客戶端如果要訪問服務(wù)器網(wǎng)頁,由客戶端發(fā)送的連接請求經(jīng)過左邊的TCP協(xié)議增強器GW1增強,成功傳輸?shù)接疫叺腡CP協(xié)議增強器GW2,然后轉(zhuǎn)換成原來的TCP包再發(fā)送給服務(wù)器,這樣就能在復(fù)雜網(wǎng)絡(luò)環(huán)境下也能建立連接并進一步傳輸數(shù)據(jù)。
TCP協(xié)議增強網(wǎng)絡(luò)系統(tǒng)的關(guān)鍵部分是TCP協(xié)議增強軟件,這是在github上可下載的開源軟件,實現(xiàn)在Linux平臺上,編譯后軟件運行在應(yīng)用層,將傳輸層的TCP協(xié)議進行增強,轉(zhuǎn)換成復(fù)雜網(wǎng)絡(luò)環(huán)境需要的協(xié)議,適應(yīng)某些網(wǎng)絡(luò)環(huán)境的復(fù)雜性。本片博客中說明了該軟件的編譯和配置,并搭建模擬通信環(huán)境,對于TCP協(xié)議增強器的技術(shù)實現(xiàn)方案進行測試和抓包驗證。

要求和術(shù)語

****TCP增強網(wǎng)絡(luò)系統(tǒng)的一般技術(shù)要求:(1)兩個增強器直連:網(wǎng)絡(luò)層Ping通,傳輸層正常進行Socket通信,應(yīng)用層正常進行HTTP傳輸;(2)兩個增強器通過網(wǎng)線連接同一個路由器,:網(wǎng)絡(luò)層Ping通,傳輸層正常進行Socket通信,應(yīng)用層正常進行HTTP傳輸;其中TCP協(xié)議增強器應(yīng)用軟件按照編譯方式的不同分為TUN模式和TAP模式,前者是點對點方式,后者是模擬以太網(wǎng)設(shè)備的方式,本博客主要介紹TUN方式。術(shù)語TCP:TCP(Transmission Control Protocol 傳輸控制協(xié)議)是一種面向連接的、可靠的、基于字節(jié)流的傳輸層通信協(xié)議,廣泛應(yīng)用與互聯(lián)網(wǎng)TCP/IP協(xié)議棧的傳輸層中。TAP:TCP協(xié)議增強器的TAP模式,也可說是以太網(wǎng)連接模式。此外TAP還是一種虛擬網(wǎng)卡模擬方式.TUN:TCP協(xié)議增強器的TUN模式,也可以說是一種點對點設(shè)備。此外TUN還是一種虛擬網(wǎng)卡模擬方式.Tap/Tun虛擬網(wǎng)卡工作原理:http://www.ibm.com/developerworks/cn/linux/l-tuntap/Namespace:一種虛擬空間的實現(xiàn)方式,簡單來說就是在一臺PC上可以實現(xiàn)類似于兩臺PC通信的效果,將TCP協(xié)議增強器應(yīng)用軟件放在客戶端虛擬空間內(nèi),然后虛擬空間外的瀏覽器就可以認為TCP協(xié)議增強器是在另一臺PC上。在Linux上創(chuàng)建虛擬空間參考:http://blog.csdn.net/dog250/article/details/26147357

編譯

源碼編譯首先介紹TAP模式的TCP協(xié)議增強器源碼編譯過程:1 在Ubuntu平臺上解壓縮源碼包2 解壓后進入source文件夾,修改Makefile.in文件中Versionondate\nCompile-time改為Version on date Compile-time,即用空格代替原來的”\n”2cd ../apps3./configure4cd ../source5./configure --gateway=yes –tap=yes6cd ..7make clean,make再介紹TUN模式的TCP協(xié)議增強器源碼編譯過程:1 在Ubuntu平臺上解壓縮源碼包2 解壓后進入source文件夾,修改Makefile.in文件中Versionondate\nCompile-time改為Version on date Compile-time,即用空格代替原來的”\n”2cd ../apps3./configure4cd ../source5./configure --gateway=yes --tun=yes6cd ..7make clean,make

測試

4.1 TCP增強器軟件與客戶端獨立的方案4.1.1 測試拓撲

4.1.2 測試步驟1.內(nèi)核配置。按照上述的內(nèi)核配置內(nèi)容修改rp_filter和reverse path2.源碼編譯配置。按照上述的源碼編譯內(nèi)容編譯成TUN模式。3.工具安裝。安裝必備工具brctl和Wireshark。4.網(wǎng)絡(luò)地址配置。按照下面的ip配置給各個網(wǎng)口分配ip地址


注意:服務(wù)器端要把相鄰網(wǎng)口的IP設(shè)為默認網(wǎng)關(guān),這樣在Ping的時候才能讓網(wǎng)口找到不同網(wǎng)段的目的IP地址。5.TCP協(xié)議增強器的resource file(rfile)中綁定各個網(wǎng)口,并開啟,rfile配置見user_manual。6. IP和rfile確定正確配置完后,開啟兩個TCP協(xié)議增強器。7. 在客戶端上ping服務(wù)器地址192.168.2.2,能夠ping通則進行下一步。在客戶端PC上運行socket程序客戶端并指定本機ip(192.168.1.2),同時在服務(wù)器PC上運行socket程序服務(wù)器端并指定本機ip(192.168.2.2)和對端ip(192.168.1.2),socket通信成功則進行下一步(socket程序見其他博客)。在中間的PC上運行Wireshark抓包。8. 確保服務(wù)器端Apache開啟后,在客戶端PC的瀏覽器輸入服務(wù)器ip(192.168.2.2),能正確顯示預(yù)先寫好的服務(wù)器頁面,包括文字和圖片,并能下載服務(wù)器上的文件。這時同樣在服務(wù)器端PC上運行Wireshark抓包。4.2 TCP增強器軟件內(nèi)置于客戶端(虛擬空間內(nèi))4.2.1 測試拓撲
4.2.2 測試步驟1.內(nèi)核配置。按照上述的內(nèi)核配置內(nèi)容修改rp_filter和reverse path2.源碼編譯配置。按照上述的源碼編譯內(nèi)容編譯成TUN模式。3.工具安裝。安裝必備工具tunctl/brctl和Wireshark在客戶端PC上創(chuàng)建Namespace,并在虛擬空間Namespace上啟動TCP協(xié)議增強器(還有一種方案是在虛擬空間Namespace上創(chuàng)建虛擬網(wǎng)卡)4.網(wǎng)絡(luò)地址配置。按照下面的ip配置給各個網(wǎng)口分配ip地址:

5.在TCP協(xié)議增強器的resource file(rfile)中綁定各個網(wǎng)口,并開啟,rfile配置見用戶手冊。6. IP和rfile確定正確配置完后,開啟兩個TCP協(xié)議增強器。在這里將4和6所述的操作都寫在一個shell腳本中,只需執(zhí)行這個腳本文件即可。7. 在客戶端上ping服務(wù)器地址192.168.2.2,能夠ping通則進行下一步。在客戶端PC上運行socket程序客戶端并指定本機ip(192.168.1.2),同時在服務(wù)器PC上運行socket程序服務(wù)器端并指定本機ip(192.168.2.2)和對端ip(192.168.1.2),socket通信成功則進行下一步(socket程序見其他博客)。在中間的PC上運行Wireshark抓包。8. 確保服務(wù)器端Apache開啟后,在客戶端PC的瀏覽器輸入服務(wù)器ip(192.168.2.2),能正確顯示預(yù)先寫好的服務(wù)器頁面,包括文字和圖片,并能下載服務(wù)器上的文件。這時同樣在中間的PC上運行Wireshark抓包。

功能配置/注意事項

在測試過程中,如果發(fā)現(xiàn)傳輸速率過慢,則可以在rfile配置中對傳輸速率進行更改,如果發(fā)現(xiàn)傳輸?shù)揭徊糠謹嚅_傳輸,則對緩沖區(qū)進行調(diào)整。具體調(diào)整見TCP協(xié)議增強器目錄下內(nèi)置的配置手冊。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 我的地址 :http://blog.csdn.net/jinglijun/article/details/9365...
    趙宇_ios閱讀 888評論 0 0
  • 在濱湖,我們管爺爺叫做“老爺”。 我老爺啊,他是個懶到極致的人。他在家啥也不干,他只會打骨牌。我媽說她嫁過來的時候...
    澄寧閱讀 186評論 0 1
  • 這是我們認識第三個年頭了。從高中跨到大學(xué)。從朝夕相處到現(xiàn)在的異地。你總說我總寫很矯情的東西?,F(xiàn)在我想寫寫我們?nèi)辍?..
    右南閱讀 308評論 1 0
  • 喪失安全感的人,只能用努力工作來激勵自己。 01、 女人有所依靠的時候,是不會那么拼命的,她會不自覺地沉浸在愛情里...
    歪叔留小白閱讀 1,598評論 1 1
  • 沒有心理上的不平衡,只有相對規(guī)則來說 沒有絕對的不平等,只是相較群體而言
    九瀛閱讀 113評論 0 1

友情鏈接更多精彩內(nèi)容