衛星網路中使用TCP協議的劣勢

2021-06-22 01:43:08 字數 701 閱讀 3985

衛星網路中使用tcp協議的劣勢

為了避免產生網路擁塞,原tcp協議綜合採用了慢啟動、擁塞避免、快速重傳以及快速恢復等演算法。但這些演算法應用的前提是網路發生擁塞造成丟包,然而在誤位元速率相對較高的衛星通訊系統中,部分丟包是由誤碼造成的,tcp協議對此不能區分,從而造成tcp傳輸效能的惡化。

1、  大傳播延時

(1)頻寬時延積頻寬x時延bdp決定了一條tcp連線所能在「空中傳輸」的報文總量,其中時延是rtt(傳送方傳送書包的往返時延)。然而在大bdp的衛星通訊系統中,tcp吞吐量受滑動視窗大小的限制,在不考慮丟包的情況下,tcp的吞吐量可大致由下式得出:

最大吞吐量 = 滑動視窗的大小 / rtt

tcp中最大滑動視窗大小為 64kbytes, geo衛星(地球靜止軌道衛星)的rtt為550ms左右,從而tcp在geo衛星通訊系統中的最大吞吐量為 128kbytes/s = 1.024mbit/s

(2)慢啟動和擁塞避免機制在大延時衛星網路中效能也很差(實驗結果)

(3)快速重傳和快速恢復在衛星鏈路中受長延時的影響,重複確認資訊的多次傳輸會造成衛星資源的浪費

2、誤位元速率

通道誤位元速率高造成丟包 會干擾tcp的擁塞控制(主要針對網路擁塞丟包),從而大大降低傳輸速率

3、  通道不對稱

衛星通訊系統前向鏈路和反向鏈路不對稱,反向鏈路受限造成應答延時或丟包,進而造成前向鏈路傳送阻塞、慢啟動緩慢,避免重傳的快速重傳機制的有效性下降。

網路程式設計 TCP協議使用1

網路的基礎概念 tcp程式設計就像乙個手機,整個過程可以模擬打 的過程,tcp服務端和客戶端首先都要建立套接字,相當於在運營商那裡辦理sim卡,你有卡才能打 tcp服務端,bind就是將服務端的手機號公開,讓別人知道,這樣別人就能給服務端打 了,listen是設定未完成3次握手佇列和已完成3次握手佇...

JAVA中使用TCP協議程式設計模擬C S模式

一 程式設計的基本思想 1 構建乙個伺服器和乙個客戶端,伺服器物件使用serversocket類進行宣告,在構建的同時需要給應用程式分配埠號 客戶端物件使用socket類進行宣告,在宣告客戶端物件時需要輸入伺服器的主機名或ip位址,以及埠號。2 當連線建立之後,伺服器將要傳送的資訊輸入到i o流中,...

基於tcp的網路程式設計協議分析

在本地電腦的虛擬機器上搭建乙個tcp伺服器,如下 include include include include include include include include define buffer size 128 int main int argc,char ar if argc 3 if...