數(shù)據(jù)通信知多少?數(shù)據(jù)通信鏈路層設計(上篇)
數(shù)據(jù)通信在被廣泛使用,隨著數(shù)據(jù)通信的應用,大家對于數(shù)據(jù)通信也更為了解。本文中,小編將對基于選擇式ARQ的短波自適應數(shù)據(jù)通信鏈路層協(xié)議設計加以介紹。本文僅為上篇,更多內(nèi)容請參考下篇。如果你對數(shù)據(jù)通信具有興趣,不妨繼續(xù)往下閱讀哦。
一、前言
短波通信是中、遠程無線電通信的傳統(tǒng)手段,它具有通信距離遠、架設方便、抗摧毀能力強、運行費用低等優(yōu)點,在軍隊、外交等部門有著廣泛的應用。在20世紀80年代手期,美國制訂了軍標MIL-STD-188-110A,此后國外一些公司紛紛提出了符合該標準的新一代高速串行調制解調器,如哈里斯公司的RF 5710,使得短波數(shù)據(jù)通信效率明顯改善。
我國許多用戶引進了符合110A軍標的調制解調器,如外交部全球短波數(shù)據(jù)通信系統(tǒng)采用了哈里斯公司的RF 5710,但是沒有合適的通信軟件。在多年實踐經(jīng)驗基礎上,于1999年初步設計和實現(xiàn)了基于選擇式ARQ的鏈路層協(xié)議,并對影響傳輸效率的因素和改進措施作了定性分析。對該協(xié)議的時間參數(shù)和性能初步作了定量分析。
本文首先分析了協(xié)議的不足之處,然后給出了改進型半雙工選擇式ARQ協(xié)議的設計方案,定時分析了新協(xié)議的時間參數(shù)、信道利用率,在定量分析的基礎上給出了自適應閾值;在新的鏈路層協(xié)議上,制定了文件傳輸層協(xié)議。
二、改進型半雙工選擇式ARQ協(xié)議和支持傳送協(xié)議
2.1 短波半雙工選擇ARQ協(xié)議概況
協(xié)議一次最多發(fā)送16幀,然后等待對方的應答;幀的編號從1~240,當傳輸?shù)降?40幀數(shù)據(jù)后,強行將序號1~240中沒有正確傳送的幀送到對方,然后才能進入下一個240幀的傳輸,這與通常的滑動窗口機制有差異。對于選擇式協(xié)議來說,極端情況下240幀的第一幀沒有成功收到,那么所有的數(shù)據(jù)都不能交給應用層,這樣對于優(yōu)先級非常高的文件,無法及時傳輸。為了解決這類問題,在每個文件傳輸時,首先強制性地把文件名稱、長度送到對方,然后將文件中的數(shù)據(jù)送走。這種方案保證先發(fā)送的文件先到達,但是文件頭和文件體需要至少發(fā)送兩次,對于長交織模式來說傳遞一批小文件(需要確保優(yōu)先級高的文件先送到,不能把它們合成一個文件一來傳輸)時效率非常低。
導致效率低下的原因有以下幾個方面:首先,沒有將全雙工選擇式ARQ中滑動窗口技術正確地推廣到短波半雙工條件下;其次,一次發(fā)送的數(shù)據(jù)幀固定為16幀;第三,缺少對滑動窗口頂部數(shù)據(jù)幀的保護,使得滑動窗口機制無法快速下滑;第四,通信雙方采用一樣的交織模式,并且沒有制定信道條件變化時自適應改變交織模式的定量準則。
2.2 改進型半雙工選擇式ARQ協(xié)議
數(shù)據(jù)幀結構
標志發(fā)地址收地址幀號幀數(shù)數(shù)據(jù)CRC標志
1221130,60,12,24021
說明:數(shù)據(jù)幀的長度接收方自動匹配,由幀的結束符號來自動區(qū)分。兩個幀之間的分隔符號用一個。
應答幀結構
標志發(fā)地址收地址確認幀號CRC標志
122多個字節(jié)21
說明:確認幀號是最后一次正確接收的所有數(shù)據(jù)幀號。如果最近一次傳輸?shù)膸柸空_,那么該域包含了所有的數(shù)據(jù)幀號,如果全部錯誤,那么該域就沒有數(shù)據(jù)。
應答幀的保護:根據(jù)應答幀的定義最長不超過60字節(jié),在信道傳輸質量變差的條件下一次發(fā)送的幀數(shù)會減少,即應答幀的長度很短,因此同一個應答幀發(fā)送三遍既保證了應答幀的可靠性又不會增加傳輸?shù)呢摀?。發(fā)送方只要收到一次正確的應答幀就可以了,不管其余兩幀是否正確。應答幀可靠的重要性在于一旦它出錯會造成最近發(fā)送的一批數(shù)據(jù)幀重新傳輸。
交織模式的選擇:為了適應信道傳輸質量的變化,應該及時調整交織模式。對于交織模式的配置原則如下:數(shù)據(jù)的接收方固定設置為無交織模式(應答幀已經(jīng)有錯誤保護機制),數(shù)據(jù)主發(fā)送方初始6設置為無交織,在發(fā)送過程中重傳的幀數(shù)達到一定閾值,則再次發(fā)送前交織模式設置為短交織,依此類推。反過來,長交織模式誤幀率很低則可以設置成短交織,依此類推。
滑動窗口和一次發(fā)送幀數(shù):協(xié)議啟動時初次發(fā)送的數(shù)據(jù)幀個數(shù)最多為20幀,在傳輸過程中如果誤幀率很小,則可以逐步加大到60幀。收發(fā)雙方滑動窗口的長度都定為120帖,實際一次發(fā)送的幀數(shù)受滑動窗口大小和緩沖區(qū)中待傳送數(shù)據(jù)幀數(shù)可以多一些。這樣修改后,當信道十分良好時,只要很少幾次應答確認就可以完成非常大的數(shù)據(jù)量傳輸,可以大大提高數(shù)據(jù)通信的效率。
對滑動窗口頂部數(shù)據(jù)幀的保護:由于本協(xié)議的滑動窗口長度限定為120,當較小序號的數(shù)據(jù)幀沒有正確送走時會限制一次發(fā)送的數(shù)據(jù)幀個數(shù)(極端情況下,第1幀沒有成功地送走,而第2~120幀全部送走,此時一次只能送一個幀);另外接收方會積壓許多數(shù)據(jù)幀而未能交給上一層協(xié)議,影響上一層通信的實時性。
為了解決這一問題,對于沒有正確傳送的數(shù)據(jù)幀在一次發(fā)送中允許最多一遍,這樣可以加速滑動窗口迅速下滑。具體做法:當實際能夠發(fā)送的數(shù)據(jù)幀不足20幀,或者最小沒有成功送走的序號與最大成功送走的序號之間間隔超過30幀時,對傳輸失敗的幀重復發(fā)送兩遍。如仍然出現(xiàn)差錯,則發(fā)達三遍。
采取保護措施后可以解決由于個別幀遲遲沒有正確傳輸而導致滑動窗口不能下移而影響傳輸?shù)膶崟r性和效率問題。
2.3 文件傳輸層協(xié)議
協(xié)議修改后,鏈路層能夠比較迅速地將數(shù)據(jù)遞交給文件層,因此文件傳輸層可以與鏈路層切分出來。由于鏈路層能夠保證無差錯,因此文件之間只要能夠區(qū)分格式就可以了。一個文件的數(shù)據(jù)格式定義如下:
分隔符+文件名稱+分隔符+文件長度+分隔符+文件數(shù)據(jù)內(nèi)容
多個文件可以按照上面的格式一個接一個傳輸。
于其它半雙工信道。
以上便是此次小編帶來的“數(shù)據(jù)通信”相關內(nèi)容,通過本文,希望大家對數(shù)據(jù)通信鏈路層設計具備初步的認識。如果你喜歡本文,不妨持續(xù)關注我們網(wǎng)站哦,小編將于后期帶來更多精彩內(nèi)容。最后,十分感謝大家的閱讀,have a nice day!