簡介
衛星通信協定
衛星通信協定,主要是指衛星通訊中的tcp/ip協定。TCP/IP協定又稱網際網路協定,隨著網際網路的迅猛發展,TCP/IP協定已經成為21世紀初套用最廣泛的通訊協定,各種通訊媒介都被用來傳輸IP數據。衛星通信是數據通信網路的重要形式,傳統上是作為“通信子網”,即只支持網路層以下的功能,是數據包傳輸的透明通道。為更有效地提供數據傳輸業務,減少與其他網路協定的接口轉換,TCP/IP在衛星通信網中的套用已受到關注。
基本概念
TCP/IP協定
TCP/IP協定是一個包含了主要的網路層功能,全部傳輸層功能和一部分會話層功能的協定棧(stack);它向下依靠低層的介質訪問層、數據鏈路層和物理層協定提供的點對點數據包傳輸能力;它向上通過標準的服務接口(socket)向上層套用協定提供端到端的數據塊傳輸業務,這一數據塊傳輸可以是面向聯接的可靠傳輸(TCP),也可以是面向報文的非可靠傳輸(UDP)。TCP也完成會話層的一部分功能,支持端到端連線的建立、維持和拆除。總之,TCP/IP協定遮掩了不同類型網路間數據轉接的細節和不同數據終端設備的系統軟硬體的差異。
利用OSI中對各層協定的定義,可以較簡明的說明TCP/IP的主要功能:
(1)IP層協定,它實現網路層的定址、路由和轉接功能,將數據報文從源數據設備轉發到目的設備,只面對獨立報文,不面向聯接,它支持報文的分解與重組,不保證報文傳輸的可靠和報文間的先後次序;
(2)TCP層協定,它實現源數據設備和目的數據設備間的可靠的數據塊傳送,支持數據拆、打包(PAD)、差錯控制(檢錯糾錯)、順序控制、流量與擁塞控制等。
衛星通信網
衛星通信主要是傳送數據的通信子網,而不是產生數據源的業務子網。衛星通信網的主要功能是支持網路層以下各層的數據包傳送業務,與IP層協定直接相關並可以支持IP層協定形成端到端連線。但由此形成的端到端聯接的延遲、速率、誤碼率等信道特性會對終端設備上的TCP協定產生實質性影響,是TCP協定在衛星通信網中套用必須考慮的問題。
套用
衛星通信協定
由於衛星通信是經過天上衛星轉發器這一固有的特點,衛星通信網基本上有兩種網路結構:星狀網和網狀網。這樣的網路結構相對於地面的數據網路來說要簡單的多,因此,路由選擇、擁塞控制、多路徑傳輸衝突等網路層協定控制的主要功能在衛星網中都沒有真正的體現,而這些正是IP協定的強項,所以很少有衛星通信網使用複雜的IP協定來實現網路層功能。
正如IPoverATM,IPoverFrameRelay等IP套用環境一樣,衛星通信網支持IP協定的最簡單方式也是IPoverSatNet。這裡,SatNet是衛星網內部網路層以下各層數據傳輸協定組成的協定棧,通常會有一個能完成衛星網內數據包目的定址和路由轉接的網路層。在一些使用DAMA等頻道資源復用技術的衛星網中,還需要有一個動態分配資源的介質訪問層(MAC)。這兩部分統一稱為Net/MAC層,建立於其下層提供的數據鏈路層服務之上。
在很多情況下,如在一個格線狀衛星網中,衛星鏈路的建立便確定了數據鏈路的唯一路程,既沒有定址路由的要求,也不需要資源配置。這時可以取消Net/MAC層。這時IP是“透明”地經過衛星網,沒有額外的協定開銷。這種情形似乎對TCP/IP協定在衛星網中的套用的必要性提出了挑戰。但這種網路形態在衛星網的拓撲結構和數據業務都非常簡單,僅限於在嚴格的“通信子網”的情形下才成立。隨著衛星網功能的增強,這一簡單的網路形式已不再適用。例如,網路管理已成為衛星通信網的必要組成部分。
從功能上看,網路管理子系統屬於上層套用軟體,即Application。它依賴於下層的通信協定提供的數據傳輸服務。現在最為通用的網管協定是SNMP(SimpleNetworkManagementProtocol),而SNMP是建立在UDP提供服務的基礎上的,在不直接支持IP協定的“透明”網路結構中,類似SNMP的數據傳輸協定和使用這些協定的上層業務都無法實現,根本限制了衛星網的功能與服務。僅憑這一點,就足以說明在衛星數據通信網中支持TCP/IP協定的意義。TCP/IP協定正是依靠其廣泛的軟體支持而壓倒其他可能在“技術上更好”的通信協定而成為Internet的標準。
影響
衛星通信網對TCP協定控制的影響
支持IP只是在衛星網中實現了IP數據包的非可靠傳輸,差錯和流量控制這些保障通信質量和效能的協定控制,都是由兩端數據終端上的TCP協定來實現的。相對於各種類型的地面網,衛星網的突出特點就是大的傳播延遲,一跳的延遲達到0.25秒。這不是說衛星網沒有其他的特點,衛星發射、接收、調製解調等都有著鮮明的特點,只不過這些特點都在物理層和數據鏈路層,對上層的IP和TCP協定沒有影響(層狀協定優點的體現)。TCP所見的是一條端到端的邏輯通路,由傳播延遲、誤碼率、信道速率等參數所定義。對同步衛星通信網,這些數值的典型值有:傳播延遲Td=0.25s/跳;誤碼率Er=10-4~10-7信道速率R=2.4Kbit/s~4Mbit/s。TCP的差錯和流量控制是一個相當複雜的問題,這裡只討論其基本的機制和參數。
TCP採用視窗傳送、逐幀應答、逾時重發的方式實現差錯和流量控制。TCP基本模式具體採用以下機制:
1.傳送視窗控制。傳送視窗可以編程設定,但更主要的是依靠TCP協定本身調節。TCP協定可通過在數據幀和應答幀中加入時間標籤的方式來測定環路的雙向傳播延遲RTTM(RoundTripTimeMeasurement),並進而根據信道速率確定視窗長度。對最大傳送位元組數的另一個限制是接收方的數據快取長度,在TCP基本模式中這個值是64Kbytes。
2.糾錯重發。採用Go-back-to-N的重發方式,即從收方應答中發現錯誤的幀,重發這一幀直到傳送視窗中已傳送的最後一幀。
3.慢啟動與擁塞控制。在TCP協定的正常使用環境,尤其在有可靠的數據鏈路層差錯控制的條件下,一個或多個IP包的逾時丟失意味著網路發生擁塞,網路中的IP轉接節點開始丟棄IP包。在這種情況下,繼續按原視窗傳送會造成進一步的阻塞。TCP協定此時會把傳送視窗縮小到1個IP包,並在接到成功應答後逐次(每次遞乘以2)增大視窗到原有的設定值,即所謂慢啟動與擁塞控制。
影響TCP差錯與流量控制的最重要參數,是端到端邏輯信道的歸一化傳播延遲a=信道傳播延遲/數據包傳輸延遲即a=Td/Tf=(D/E)/(L/R),其中,D:收發兩端間傳輸介質長度,E:電波在介質中的傳播速率,L:數據包比特長度,R:信道比特速率。
通過衛星通信網的端到端傳播延遲是衛星網內傳播延遲與地面網傳播延遲之和,在多數情況下以衛星信道傳播延遲為主,即Td≈0.25s,所以a=R/4L。其中,L由TCP協定決定。對TCP基本模式,長度在40bytes到1024bytes之間。設衛星信道速率為端到端的有效速率(衛星信道速率通常低於地面網信道,是速率瓶頸),對應於500bit~10000bit的包長,2.4kbit/s~4Mbit/s的速率,可知a的範圍:a=0.06~2000。
視窗傳送方式下,為避免傳送視窗不必要的限制傳送數據流,最多可傳送IP包數的視窗值Wp應高於(1+2a),即Wp≥0.12~4001。在TCP協定中,傳送視窗單位不是最多可傳送數據包數,而是最大可傳送位元組數Wb。顯然,這個數值不能高於收方的接收快取長度,對TCP的基本模式而言,這個值是64Kbytes。
依照前面的數據,衛星通信網傳送視窗位元組數:Wb=Wp×L/8=R/16,Bytes對4Mbit/s速率而言:Wb=250Kbytes>>64Kbytes。這表明TCP的基本模式在高速衛星網中直接套用會出現傳送視窗限流,將傳送效率降到僅約25%,因此有必要對TCP參數加以調整。
如上所述,在使用不限流傳送視窗時,最多已傳送而未應答的數據包可以多達數百甚至數千;在誤碼率10-6的較好情況下,1個1024bytes長度數據包的誤包率可達1/10。這時Go-back-to-N重發機制根本無法工作,必須使用選擇重發(Selective-resending),即只重發收方指明出錯的數據包。同時,這樣大的傳送視窗也會直接影響到慢啟動和擁塞控制。TCP基本模式的這兩種控制此時需要很長的時間使視窗回復到正常值,會極大的降低傳送效率。此時TCP協定可使用比1更大的初值和比×2更大的步進方式來提高傳輸效率。
綜上所述,衛星通信網的長傳播延遲在較高信道速率下會造成TCP協定傳輸效率下降。由於TCP協定是在兩端實行控制,衛星網對這一調整無能為力。而TCP協定的一些擴展模式提供了適應於這一信道條件的機制和參數。
協定擴展
衛星通信協定
在TCP報頭定義中,在20bytes長度的既定報頭外,允許40bytes的選擇報頭。這一選擇項為TCP協定的擴展留下了空間。
在TCP建立端到端聯接時,要經過SYN/ACK握手才能實現同步。TCP協定擴展可在這一握手過程中在選擇報頭段添加選擇項參數,通過參數握手定義不同於基本模式的擴展參數。這些擴展參數只對本次TCP聯接有效。
TCP擴展協定RFC1323、RFC2018、RFC2581和RFC2001支持的協定擴展直接解決了TCP在衛星網中的套用所遇到的問題。
RFC1323針對延遲大、速率高的網路,即所謂的“Long-and-fastNetwork”。通過前述的擴展參數握手,收方可以回響發方請求,在本次聯接中將接收快取區調整到大於64kbytes,一般取2n·64kbytes。這樣允許發方使用更大的傳送視窗,提高傳輸效率;RFC2018定義了Selective-Resending的選擇重發模式,使TCP在大傳送視窗和較高誤碼率的情況下也可以高效工作,適用於衛星網的套用。應注意現今並非所有的TCP協定版本都支持這個擴展;RFC2581和RFC2001定義通過參數握手可使用不同於基本模式的慢啟動和擁塞控制參數,使用戶在衛星網中使用TCP協定時可以根據實際情況選擇合適的參數。
這些TCP協定的擴展有效地解決了在衛星網中支持TCP/IP協定所遇到的問題,顯示了TCP/IP協定作為最受廣泛支持的協定標準的適應性和靈活性,使得TCP/IP協定在衛星網中的套用更為有效。而且這些擴展是由兩端的TCP協定來實現的,沒有增加衛星網通信協定的負擔。但由於同樣的原因,衛星網的開發設計者也較難於針對特定用戶業務對衛星網路協定的要求做出反應。由此,TCP/IP協定是完全可以套用於衛星通信網中並得到較高的傳輸效率。使用TCP/IP協定也使衛星通信網具有最廣泛支持的開放協定平台,可以方便的採用主流軟硬體開發成果,降低費用,增加數據業務種類。可以說,採用TCP/IP協定將是衛星通信網協定體制的主流方向。
面臨問題
衛星IP網路面臨的各種問題源於衛星信道和衛星網路的各種固有特性,主要有3個方面:
(1)信道差錯率
衛星信道的比特差錯率(BER)大約為10-6數量級,這遠遠高於高速有線媒質(如光纖)。另外空間信道的各種隨機因素(如雨衰等)使得信道出現突發錯誤。噪聲相對高的衛星鏈路大大地降低了TCP的性能,因為TCP是一個使用分組丟失來控制傳輸行為的丟失敏感協定,它無法區分擁塞丟失和鏈路惡化丟失。較大的BER過早地觸發了視窗減小機制,雖然這時網路並沒有擁塞。此外,ACK分組的丟失使吞吐量進一步惡化。
(2)傳播延遲
影響衛星網路延遲的因素有一些,主要的一個是軌道類型。多數情況下低軌系統單向傳播延遲是20一25ms,中軌系統是110-130ms,靜止軌道系統為250-280ms。系統延遲還受星間路由選擇、星上處理以及快取等因素的影響。一般而言,延遲對TCP的影響體現在:它降低了TCP對分組丟失的回響,特別對於僅想臨界傳送超過預設啟動視窗大小(僅超過一個TCP數據段)的連線更是如此。此時用戶必須在慢啟動狀態下,在第一個ACK分組收到前,等待一個完全的往返延遲;衛星延遲和不斷增加的信道速度(10Mbit/S或更高)還要求有效的快取;增加的延遲偏差(variance)反過來也會通過在估算中加入噪聲影響TCP定時器機制,這一偏差會過早產生逾時或重傳,出現不正常的視窗大小,降低了總的頻寬效率。簡單地增加TCP定時器粒度(tranularity)在此沒有多大幫助,因為儘管較大的值可以降低錯誤逾時,但頻寬利用不足也將因較長的延遲而增加。
(3)信道不對稱
許多衛星系統在前向和反向數據信道間有較大的頻寬不對稱性,採用速度較慢的反向信道可使接收機設計更經濟且節省了寶貴的衛星頻寬。考慮到大量TCP傳輸的較大單方向性特性(如從Web伺服器到遠端主機),慢速反向信道在一定程度上是可以接受的。 但非對稱配置對TCP仍有顯著的影響。例如,由於ACK分組會丟失或在較大數據分組後排隊,較慢的反向信道會引起像ACK丟失和壓縮(compression)的有害影響,從而大大減小吞吐量,有資料顯示吞吐量隨不對稱的增加呈指數減小。此外,前向和反向信道速率的較大不對稱會由於線速率突發錯誤較大而明顯加重前向快取擁塞。