短波通信是中、遠程無線電通信的傳統手段,它具有通信距離遠、架設方便、抗摧毀能力強、運行費用低等優點,在軍隊、外交等部門有著廣泛的應用。在20世紀80年代手期,美國制訂了軍標MIL-STD-188-110A,此后國外一些公司紛紛提出了符合該標準的新一代高速串行調制解調器,如哈里斯公司的RF 5710,使得短波數據通信效率明顯改善。
我國許多用戶引進了符合110A軍標的調制解調器,如外交部全球短波數據通信系統采用了哈里斯公司的RF 5710,但是沒有合適的通信軟件。在多年實踐經驗基礎上,于1999年初步設計和實現了基于選擇式ARQ的鏈路層協議,并對影響傳輸效率的因素和改進措施作了定性分析。對該協議的時間參數和性能初步作了定量分析。
本文首先分析了協議的不足之處,然后給出了改進型半雙工選擇式ARQ協議的設計方案,定時分析了新協議的時間參數、信道利用率,在定量分析的基礎上給出了自適應閾值;在新的鏈路層協議上,制定了文件傳輸層協議。
1 改進型半雙工選擇式ARQ協議和支持傳送協議
1.1 短波半雙工選擇ARQ協議概況
協議一次最多發送16幀,然后等待對方的應答;幀的編號從1~240,當傳輸到第240幀數據后,強行將序號1~240中沒有正確傳送的幀送到對方,然后才能進入下一個240幀的傳輸,這與通常的滑動窗口機制有差異。對于選擇式協議來說,極端情況下240幀的第一幀沒有成功收到,那么所有的數據都不能交給應用層,這樣對于優先級非常高的文件,無法及時傳輸。為了解決這類問題,在每個文件傳輸時,首先強制性地把文件名稱、長度送到對方,然后將文件中的數據送走。這種方案保證先發送的文件先到達,但是文件頭和文件體需要至少發送兩次,對于長交織模式來說傳遞一批小文件(需要確保優先級高的文件先送到,不能把它們合成一個文件一來傳輸)時效率非常低。
導致效率低下的原因有以下幾個方面:首先,沒有將全雙工選擇式ARQ中滑動窗口技術正確地推廣到短波半雙工條件下;其次,一次發送的數據幀固定為16幀;第三,缺少對滑動窗口頂部數據幀的保護,使得滑動窗口機制無法快速下滑;第四,通信雙方采用一樣的交織模式,并且沒有制定信道條件變化時自適應改變交織模式的定量準則。
1.2 改進型半雙工選擇式ARQ協議
數據幀結構
標志發地址收地址幀號幀數數據CRC標志
1221130,60,12,24021
說明:數據幀的長度接收方自動匹配,由幀的結束符號來自動區分。兩個幀之間的分隔符號用一個。
應答幀結構
標志發地址收地址確認幀號CRC標志
122多個字節21
說明:確認幀號是最后一次正確接收的所有數據幀號。如果最近一次傳輸的幀號全部正確,那么該域包含了所有的數據幀號,如果全部錯誤,那么該域就沒有數據。
應答幀的保護:根據應答幀的定義最長不超過60字節,在信道傳輸質量變差的條件下一次發送的幀數會減少,即應答幀的長度很短,因此同一個應答幀發送三遍既保證了應答幀的可靠性又不會增加傳輸的負擔。發送方只要收到一次正確的應答幀就可以了,不管其余兩幀是否正確。應答幀可靠的重要性在于一旦它出錯會造成最近發送的一批數據幀重新傳輸。
交織模式的選擇:為了適應信道傳輸質量的變化,應該及時調整交織模式。對于交織模式的配置原則如下:數據的接收方固定設置為無交織模式(應答幀已經有錯誤保護機制),數據主發送方初始6設置為無交織,在發送過程中重傳的幀數達到一定閾值,則再次發送前交織模式設置為短交織,依此類推。反過來,長交織模式誤幀率很低則可以設置成短交織,依此類推。
滑動窗口和一次發送幀數:協議啟動時初次發送的數據幀個數最多為20幀,在傳輸過程中如果誤幀率很小,則可以逐步加大到60幀。收發雙方滑動窗口的長度都定為120帖,實際一次發送的幀數受滑動窗口大小和緩沖區中待傳送數據幀數可以多一些。這樣修改后,當信道十分良好時,只要很少幾次應答確認就可以完成非常大的數據量傳輸,可以大大提高數據通信的效率。
對滑動窗口頂部數據幀的保護:由于本協議的滑動窗口長度限定為120,當較小序號的數據幀沒有正確送走時會限制一次發送的數據幀個數(極端情況下,第1幀沒有成功地送走,而第2~120幀全部送走,此時一次只能送一個幀);另外接收方會積壓許多數據幀而未能交給上一層協議,影響上一層通信的實時性。
為了解決這一問題,對于沒有正確傳送的數據幀在一次發送中允許最多一遍,這樣可以加速滑動窗口迅速下滑。具體做法:當實際能夠發送的數據幀不足20幀,或者最小沒有成功送走的序號與最大成功送走的序號之間間隔超過30幀時,對傳輸失敗的幀重復發送兩遍。如仍然出現差錯,則發達三遍。
采取保護措施后可以解決由于個別幀遲遲沒有正確傳輸而導致滑動窗口不能下移而影響傳輸的實時性和效率問題。
1.3 文件傳輸層協議
協議修改后,鏈路層能夠比較迅速地將數據遞交給文件層,因此文件傳輸層可以與鏈路層切分出來。由于鏈路層能夠保證無差錯,因此文件之間只要能夠區分格式就可以了。一個文件的數據格式定義如下:
分隔符+文件名稱+分隔符+文件長度+分隔符+文件數據內容
多個文件可以按照上面的格式一個接一個傳輸。
2 改進型協議下的時間參數和通信利用率
2.1 時間參數的確定
已經指出協議關聯的時間參數有六個。對比本文可以發現,四個參數計算公式沒有變化。但包同步延時和ACK同步延時有些變化,主要是本協議采用非對稱的交織模式,即應答一方總是采用無交織模式,因此可以減少包同步延時和ACK同步延時。參照文獻[3]的計算方法,用Tsyn表示包同步延時,TAck表示ACK同步延時,TFrame表示幀同步延時,TInterDelay表示交織延時,則改進型的時間參數計算公式如下:
TAck=2×TInterDelay+1.2×2+TFrame(取整) (1)
TSyn=2×TInterDelay+1.2×2 (2)
也就是說TInterDelay的系數從4變為2,這對長交織來說TAck和TSyn將減汪9.6秒,可以較大幅度地提高信道的利用率。
假設一次發送數據幀個數為N、數據幀長為L字節、信道速率為H(bps),那么信道利用率計算公式為:
(N×L×8/H)/(TAck+N(L+10)8/H+TRtsDelay1+TRtsDelay2) (3)
其是分子為實際數據傳輸所用的時間,分母為數據開始發送到接收確認的時間,常數10為數據幀中額外的字節,8為一個字節的比特數目,TRtsDelay1和TRtsDelay2分別代表鍵控前延時和鍵控中延時。
2.2 不同幀長和交織模式下的信道利用率
從信道利用率角度,當傳輸速率較高時要求具有較長的數據包和一次發送較多的數據幀數,尤其是長交織模式下:
吞吐率是標識通信協議性能的重要標準,對于半雙工通信協議來說它被定義為一定的時間單位里,從發送方到達接收方數據正確傳輸的數據總量如果用S表示正確發送的數據量,I表示相繼發送的兩次時間間隔,吞吐率用Rbyte來表示,那么相應的數據率計算公式為:
Rbyte=S/I (4)
在半雙工ARQ協議中:
S=N×L (5)
I=IInterDelay×2+(TRstDelay1+TRtsDelay2)×2+[N×(L+10)×8]/Rate+(70×8)/(Rate) (6)
其中N表示一次發送幀數,L表示一幀的有效數據長度,最后一項表示接收應答時間,為簡經起見把幀長定為70字節。
按照上述公式可繪出在不同幀長、幀數和交織模式下的吞吐量圖,參數圖1、圖2。
從圖1和圖2比較可以看出:
(1)在相同的交織方式下,幀長越長,發送有效數據的時間占總時間的比例越高,有效吞吐率就越大,協議的效率越高;
(2)在相同的交織方式和相同的幀長前提下,信道速率越高,總的發送時間縮短,有效吞吐率就越大,協議的效率越高;
(3)在相同的信道速率和幀長條件下,交織越短有效吞吐率越高。
協議在多個小文件傳輸中的效率,在長交織模式下,由于一個文件的傳輸分為文件頭和文件體兩次傳輸,因此在無干擾條件下單個文件的最短傳輸時間應該不小于2Tack時間,即46秒。無論采取什么樣的速率和多小的文件,對于多個小文件來說傳輸效率非常低。
新低輸協議主要取決多個文件的總長度、傳輸速率和幀長。如果10個文件的總長度為9.6K字節、速率為2400bps、幀長為120字節,那么在無干擾條件下的傳輸時間,第一次20幀為2400字節,時間為22秒;第二次40幀為4800字節,時間32秒;第三次20幀為2400字節,時間為22秒;因此總時間為75秒,并且與文件個數無關。同樣,從前面計算中可以看出,一次發送的幀數的加大,尤其是對長織來說可以較大幅度地提高吞吐量。
3 自適應準則閾值的確定
從短波鏈路層協議判斷短波信道傳輸質量的依據是錯誤幀數(110A標準可以從遙控中取到信噪比,但實現起來有一定困難,本文以誤幀來判斷信道質量),因此模式的改變和一次發送幀數的調整由誤幀來決定。
3.1 交織模式的確定
以無交織模式為例,先假設在無交織模式下誤幀率為E,而這些誤幀可以經過短交織模式得到糾正,在這樣情況下短交織的有效吞吐量民無交織的有效吞吐量相等的條件是:
(N-E)/IN=N/Is (7)
其中IN、Is分別為無交織和短交織傳輸N幀所需要的總時間。
依據該公式確定出誤幀率,可以認為是從無交織過渡到短交織域值。由于該計算公式有一個前提,而該前提在實際通信中未必能夠成立,作為決定從交織變為短交織閾值應該更大一些, 通常加2或更大的設置。該原則同樣適用于從短交織到長交織的閾值。
反過來,當信道持續處于較好的條件下,應該從長交織降到短交織甚至無交織。由于長交織沒有誤幀或很少誤幀的情況下,短交織可能存在比較多的誤幀,因此要求沒有誤幀的情況下,才從長交織下降到短交織。同樣該原則適用于短交織到無交織。
3.2 一次發送幀數的確定準則
從信道利用率的角度最好一次發送比較多的數據幀,尤其是長交織的情況下。但是一次發送的幀數太多,當信道遇到干擾時不能及時地調整參數,比如數據交織模式、數據幀長、信道速率等,這樣會導致產生較多的錯幀。
比較謹慎的做法是:無交織初始幀數為20,如果沒有誤幀則逐步加長到40、60和80幀;而短交織初始設置為40幀,沒有誤幀條件下逐步加大60、80幀,而長交織初始為60帖。謹慎的原因主要考慮信道不穩定情況下,相對較少的數據幀可以加快參數的調整。由于定量分析相對較難,在本文中不作進一步分析。
協議經過修改后,在信道很好地實際傳輸效率非常高,在信道傳輸質量發生變化的情況下能夠較好選擇合適的交織模式。通過采取非對稱交織模式可以將長交織壓縮近一半的RTT時間。通過滑動窗口的控制和窗口頂部數據幀的保護,提高了鏈路層數據傳輸的實時性,大大改善了多個小文件的傳輸效率。協議的設計思想也可以應用于其它半雙工信道。
責任編輯:gt
-
調制解調器
+關注
關注
3文章
854瀏覽量
38817 -
通信系統
+關注
關注
6文章
1190瀏覽量
53350 -
無線電
+關注
關注
60文章
2143瀏覽量
116476
發布評論請先 登錄
相關推薦
評論