田錦
(金陵科技學院江蘇省信息分析工程實驗室,南京211169)
GPRS 數據分包長度和心跳包間隔性能分析?
田錦
(金陵科技學院江蘇省信息分析工程實驗室,南京211169)
分析了車載GPRS數據傳輸的難點,在南京地區建立GPRS網絡測試系統,測試結果表明:為確保高速率移動數據傳輸的可靠性和高效性,在GPRS網絡中使用TCP協議時,心跳包間隔最大9min;使用UDP協議時,心跳包間隔最大4min;數據分包長度小于500 byte。該試驗為實際工程應用中的參數設置提供了依據。
智能交通;GPRS;心跳包;數據分包;傳輸協議;性能分析
智能交通(ITS)系統是通過對關鍵基礎理論模型的研究,將信息技術、通信技術、電子控制技術和系統集成技術等有效地應用于交通運輸系統,從而建立起大范圍內發揮作用的實時、準確、高效的交通運輸管理系統。伴隨著IPv6、3G、傳感技術的不斷發展進步,智能交通正伴隨著物聯網在向“新一代智能交通發展”。城市公共交通是智能交通的重要領域,也是發展較快的一個領域。
GPRS是第二代移動通信技術向第三代移動通信技術演進過程中的一種通信技術,被稱為第2.5代通信技術[1]。雖然現在第三代移動通信技術已經商用,但是目前GSM/GPRS網絡仍然是全球應用最廣泛、用戶數最多的移動通信網絡,電信運營商仍然需要一張可靠的、低成本的、覆蓋廣的基礎語音和中低速數據網絡,以滿足最重要的移動話音溝通需求和中低速的數據通信業務。此外,GPRS具有覆蓋范圍廣、支持TCP/IP協議、永遠在線和按流量計費等優點,結合嵌入式技術開發的具有GPRS數據通信功能的車載移動數據終端,在諸如車輛位置管理、物流管理、移動售票以及金融業務的辦理與開通等行業中具有無可比擬的性價比優勢[2-4]。
GPRS終端安裝在公交車上,車輛在城市內行駛。借助GPRS移動通信鏈路傳輸的數據業務包括GPS位置坐標、固定短語、短消息、調度命令、公交IC卡刷卡數據、車內廣告、車內照片、到站數據、電子站牌數據、員工通知、其他運行信息等。其數據特點如下:
(1)數據實時性要求較強,如GPS位置坐標、公交IC卡刷卡數據等要求時效性好;
(2)數據長度參差不齊,有的數據塊非常大,有的數據塊小得如同一個短消息;
(3)數據準確性要求較高,如公交IC卡刷卡數據要求不能出差錯,否則經濟損失將會很大。
基于GPRS的車載數據傳輸面臨幾個困難:一是帶寬有限造成通信擁擠和掉線;二是小區切換造成數據延遲和出錯;三是終端IP地址變換要求使用心跳包維護終端地址信息。
圍繞GPRS展開的研究相當廣泛,主要研究內容涉及:GPRS通信技術的相關理論介紹與分析;GPRS無線傳輸系統的設計;GPRS數據終端的應用和實現;GPRS通信中協議的研究和GPRS網絡的優化等。但是對于車載GPRS移動數據通信中,面向具體應用場景數據終端的參數設置方面研究較少,而這些參數的設置對數據傳輸性能的好壞有很大影響。數據分包長度和心跳包間隔對車載環境下GPRS的性能影響較大。為此,本文研究車載移動環境下GPRS數據傳輸時心跳包間隔時間的設計和基于數據分包的數據流控制技術,這對實際工程應用中保障移動數據通信的可靠性和高效性有很大幫助,可為系統參數的具體設置提供良好的依據。
在實際應用中,GPRS數據傳輸速率速率比理論值要低得多,要達到理論上的最大值172.2 kbit/s,就要求一個用戶占用所有8個時隙并且沒有任何防錯保護,這顯然是不太可能的。GPRS在無線信道上實現了分組交換,空中資源可以為多個用戶共享,共享是以犧牲帶寬為代價的,因此吞吐率的降低有可能是在線用戶數多造成的。另外,不同終端類型支持的GPRS上下行時隙數的能力也不同,GPRS用戶的有限帶寬因此也會受到嚴重的限制。同時總體來看,無論哪種GPRS終端其上下行最多同時占用的時隙都沒有超過4個時隙,加之網上可采用的無線傳輸的編碼方式為“CS1”和“CS2”,使得用戶使用GPRS的理論值也只有13.4×4=53.6 kbit/s,這也影響GPRS上網速率的進一步提升[5]。
在實際雙頻網絡中,對于GPRS手機可能會頻繁地發生路由區更新和小區重選。對比GSM,GPRS在READY模式下數據傳輸過程中發生小區重選時,將停止數據傳輸,之后要進行數據重傳,如果是基站控制器(Base Station Controller,BSC)內部的小區重選,數據需從BSC傳給新的基站系統GPRS協議虛連接標示(BSSGPRSProtocol Virtual Connection Identifier,BVCI);如果是BSC間的小區重選,數據需從老BSC中的BVCI中清除,由GPRS業務支持節點(Service GPRS Support Node,SGSN)重新傳給新BSC的BVCI,造成較大的停頓。頻繁小區重選造成更嚴重的數據重傳甚至不可恢復的中斷。因此,對GPRS應用來說,希望盡量減少重選次數。此外,如果小區采用混合廣播控制信道/獨立專用控制信道(Broadcast Control Channel/Stand-Alone Dedicated Control Channel,BCCH/SDCCH),會使得移動臺(Mobile Station,MS)耗費更多的時間讀取相鄰小區的信息,造成更長的數據傳輸停頓。路由區域更新會造成時間更長的數據傳輸停頓,同樣出現數據重傳和吞吐率下降的現象。根據測試統計經驗,下載一個2 Mbyte大的文件,在一般情況下,如果發生3次路由區更新,則平均速率會降低約12%。
IP包組成中8位協議可選擇TCP方式或UDP方式,8位TTL為Time To Live,指數據包在網絡中的存活時間。
相對于IP數據包,UDP數據包的組成比較簡單,主要包含所要發送的數據信息即數據段,其中最后的UDP校驗與IP數據包中的IP校驗方式一樣,但與點到點協議(Point-to-point Protocol,PPP)中的幀校驗序列(Frame Sequence Check,FSC)校驗方式不同。FSC校驗屬于循環冗余校驗(Cyclic Redundancy Check,CRC)16位校驗方式的一種,而IP校驗和UDP校驗是相對簡單的反碼求和的校驗機制。并且,對于IP及UDP校驗而言需要將數據包需要校驗部分的16位轉換為32位進行校驗,校驗好之后再轉換為16位。
網絡層和傳輸層雖然屬于IP及UDP協議實現的功能,但此兩者都是建立在數據鏈路層基礎上的,因此在發送UDP/IP包的時候仍然不能擺脫對PPP協議的依賴。
IP/X.25層的用戶數據增加了分組頭后首先送到SNDCP層,在SNDCP層分為多個幀,幀信息在LLC層附加了幀頭和FCS之后,每幀進一步分塊送到無線鏈路控制(Radio Link Control,RLC)/MAC層,在RLC/MAC層附加了塊頭和塊校驗序列及必要的尾比特后進行卷積編碼和突發脈沖形成,卷積編碼后生成了的456 bit數據,在20ms時間內傳輸。
3.1 實驗設備
(1)GPRS數據終端的實現。結合當前熱點的嵌入式技術,采用ARM9系列的微處理器AT91SAM9260作為GPRS數據終端的微處理器,采用SIMCOM公司的GPRS通信模塊SIM300C作為無線接入模塊,其中GPRS模塊和微處理器之間通過三線串口協議進行通信。通過相關硬件電路設計、嵌入式Linux系統的移植以及GPRS模塊應用程序開發,完成GPRS數據終端的研制。
(2)一張開通GPRS功能(CMNET業務)的手機卡(SIM卡);一個公網的IP地址;TCP/UDP網絡調試軟件。目前GPRS的業務有CMWAP和CMNET業務兩個種類:CMWAP業務一般用于網頁瀏覽,通過CMWAP方式時,即通過移動網關的HTTP代理訪問網絡時,只允許HTTP連接請求通過;CMNET允許直接接入互聯網,允許基于TCP和UDP協議的數據傳輸服務。公網IP地址可以通過電信的寬帶撥號獲得。
3.2 建立實驗系統
帶有CPU和嵌入式操作系統的目標板與GPRS模塊構成GPRS傳輸終端。開發和調試服務器將程序調試好后,通過串口下載到目標板中。目標板中的數據通過GPRS無線鏈路,經由路由器到達數據中心服務器。建立的實驗系統如圖1所示。

圖1 實驗系統示意圖Fig.1 Experiment system sketchmap
實驗系統的公網IP地址是通過電信寬帶撥號獲得。考慮到公網IP地址缺乏,但為了使開發服務器和數據中心服務器都能上網,因此把實驗系統的數據中心服務器連接在路由器上,所以在進行實驗前還需要對路由器進行相關設置,把對路由器WAN口一個協議端口的訪問重定向到了內網中的數據中心服務器。
3.3 試驗結果及分析
心跳間隔時間和數據分包長度是GPRS系統中兩個重要參數。不同廠家或者不同行業應用的GPRS數據終端在個別細節上可能有所不同(比如心跳重發次數等),使用軟硬件平臺在南京市進行試驗測量。
(1)心跳包間隔時間研究
對于GPRS系統而言,心跳機制以及IP地址和端口管理機制是GPRS系統兩大必需的功能機制,這是由GPRS運行特點決定的。心跳功能是指GPRS數據終端每隔一定時間,發一個數據包到數據中心,這個數據包就是心跳包。它的主要功能可以概括為以下兩點:一是防止掉線,移動通信網絡運營商當發現GPRS數據終端在一定時間內沒有傳輸數據時就會把它踢下線;二是實現遠程主動在線監測。GPRS數據終端訪問外部數據網絡時,都必須依靠GPRS網關支持節點(Gateway GPRS Support Node,GGSN)單元為其產生的網絡地址轉換(Network Address Translation,NAT)映射,每個映射均有一個生存時間,因此需要GPRS數據終端定時發一些心跳包來保持住該NAT映射狀態。
發送心跳包的時間間隔是重要的網絡使用參數。心跳間隔時間設置過短,發送心跳包就越頻繁,由此產生的流量引起的網絡開銷負荷量也就越高。心跳間隔時間設置過長,可能無法達到發送心跳包的目的,維持數據通信鏈路,最終無法保證數據傳輸的可靠性。在實際的工程應用中,根據經驗心跳間隔時間一般設置為30 s到幾分鐘不等。在利用GPRS進行數據傳輸時,一般采用TCP和UDP兩種通信協議,因此分別研究采用TCP和UDP協議通信時心跳間隔時間設計問題。
TCP是面向連接的通信協議,心跳間隔時間的設置主要考慮網絡是否會把GPRS數據終端踢下線,不同的數據發送時間間隔下,GPRS數據終端在線率的測試結果如表1所示。

表1 TCP通信在不同時間間隔下的終端在線率Table 1 Terminal online rate on TCP communications in different interval
而對于UDP通信,它是一種無連接的通信協議,它的通信端口號每隔一段時間會自動加1,所以心跳間隔時間的設置主要不是考慮它是否掉線,而是考率如何維持住原先的通信端口,以便數據中心能夠主動發起到GPRS數據終端的數據傳輸。不同的數據發送時間間隔下,端口變化率的測試結果如表2所示。
由上述的研究結果可以看出,對于TCP通信,心跳間隔時間設置為9min及小于9min時,心跳包接收次數等于發送次數,即在線次數等于實驗次數,GPRS終端都沒有掉線,因此心跳最大間隔時間可以設置為9min。對于UDP通信,心跳間隔時間設置為4.5min及大于4.5min時,GPRS終端UDP端口變化次數等于心跳包發送次數;心跳間隔時間設置為4min及以下時,端口沒有變化。因此如果要在服務器端隨時主動地發起與GPRS終端的通信,心跳最大間隔時間可以設置為4min。若只考慮成本,心跳間隔時間應設置為最大,但在實際的工程中考慮到數據傳輸的可靠性要求可以設置得相對保守一點。
(2)數據分包長度研究
GPRS通信適合短時間內的大數據量傳輸,因此在實際應用中會使用GPRS來傳輸圖像或視頻等多媒體數據。但是GPRS通信模塊內嵌TCP/IP協議棧的緩存區有限,若寫入串口數據速率遠高于GPRS傳輸速率,由于緩存區溢出,系統將會丟失數據。因此,為保證數據傳輸的可靠性,必須進行流控制。主要的流控制方法有兩種:硬件握手法[6]和數據分包法。數據分包法是指在終端傳輸文件時,先將文件分成若干個小數據包,逐個寫入串口,然后由GPRS模塊發送。在GPRS通信中,過大的數據包會增加傳輸時延并且數據容易丟失;過小的數據分包,網絡吞吐量和發送效率又會大大降低。數據分包長度的選擇主要受網絡負荷量的影響。研究數據分包長度對傳輸性能的影響需要研究網絡關于時間的負荷量。據相關監測表明,在GSM/GPRS系統中,每天不同的時間段業務負荷不盡相同,網絡性能也會有較大差別[7],如圖2所示。

圖2 不同時段下的GSM/GPRS網絡業務負荷Fig.2 GSM/GPRSnetwork services payload in different period
為避免不同時間段下網絡性能差別而給研究結果帶來的干擾,采取分時間段進行研究,主要選取上午10:00~12:00,下午15:00~17:00以及晚上23:00~凌晨1:00 3個時間段,其中12:00時刻網絡業務負荷量最大。丟包率是衡量數據傳輸性能好壞的指標。由于TCP具有傳輸確認和重傳機制,不便于直接顯示丟包率指標,所以研究UDP協議下數據傳輸的丟包率。在3個時間段,采用不同的數據分包長度傳輸一個60 kbyte大小的文件,其丟包率如圖3所示。

圖3 3個時間段下丟包率和數據分包長度的關系Fig.3 Loss packet rate changeswith data packetization in three time periods
從圖中可以看出,在每一個時間段,它們的變化趨勢都是一樣的,即隨著數據分包長度的增大,丟包率都會有比較明顯的增加,數據傳輸性能明顯降低。同時,從圖中也可以看出,在不同的時間段即在不同的網絡狀況下,數據分包長度對數據傳輸性能的影響不甚相同。隨著數據分包長度的增大,3個時間段下的丟包率的差別也在變大。在10:00~12:00和15:00~17:00兩個時間段,當分包長度為600 byte時,丟包率低于5%;當分包長度為800 byte時,丟包率大于5%,這時服務質量不能滿足要求。所以,在10:00~12:00和15:00~17:00兩個時間段,分包長度一般小于500 byte能夠保證服務質量。
一般來說,數據分包長度越大,吞吐量和發送效率會好一些。但在實際的工程應用中,應用層中加入了確認和重傳機制,如果丟失的數據包需要重發,就需要大量的開銷,最后實際結果并不一定達到最優。因此,在網絡狀況較好、丟包率不是太大時,可以設置數據分包長度大一點,提高吞吐量和發送效率;而在網絡狀況較差時,可以把數據分包長度設置得小一點,以便能夠達到一個較佳的發送效率。在實際的工程應用中可根據行業應用的實際需要,找到一個合適的平衡點,合理設置數據分包長度,使數據的傳輸性能最佳。
GPRS通信受網絡的影響比較大,各個地方的網絡質量也有差別。網絡質量的優劣以及各地移動網絡運營商對網絡通信參數的不同配置都會使心跳包間隔時間和分包長度的測試結果出現差異。
GPRS數據通信中心跳機制和分包長度技術是基本而重要的通信參數。測試研究表明:使用TCP協議通信,心跳時間間隔設置為9 min以下,系統在線性能較好;使用UDP協議通信,心跳時間間隔設置為4min以下,系統端口維護性能較好。考慮不同時間段的業務負荷,在任何時間段,分包長度為500 byte時,丟包率低于5%,完全能夠保證服務質量。該研究結果填補了業界在該領域定量研究的空白,可廣泛應用于GPRS數據傳輸中,使GPRS數據傳輸配置更具體化,為工程實踐提供了依據。為適應網絡狀況,進一步提高GPRS數據傳輸性能,在后續的研究中,參考已有研究成果[8],研究一種自適應改變數據分包長度的算法,還可以利用“分包短、傳輸快、心跳包少”的原理,研究心跳包發送間隔與分包長度聯合優化策略。
[1]呂捷.GPRS技術[M].北京:北京郵電大學出版社,2001. LV Jie.GPRSTechnologies[M].Beijing:Beijing University of Posts and Telecommunications Press,2001.(in Chinese)
[2]王藝,劉方,林曉輝.基于GPRS的嵌入式智能家居終端的設計與實現[J].微計算機信息,2007,23(26):23-25. WANGYi,LIU Fang,LIN Xiao-hui.Design and Realization ofWireless Home Intelligent Controller Based on Embedded System[J].Microcomputer Information,2007,23(26):23-25.(in Chinese)
[3]段志超,杜克明,孫忠富,等.基于ARM-Linux和GPRS的農業環境無線遠程監控系統[J].農業網絡信息,2008(6):12-15. DUAN Zhi-chao,DU Ke-ming,SUN Zhong-fu,et al. Wireless telemonitoring system for agriculture environment based on ARM-Linux and GPRS[J].Agriculture Network Information,2008(6):12-15.(in Chinese)
[4]陳琦,丁天懷,李成,等.基于GPRS/GSM的低功耗無線遠程測控終端設計[J].清華大學學報,2009,49(2):223-225,231. CHEN Qi,DING Tian-huai,LICheng,etal.Low-power wireless remote terminal design based on GPRS/GSM[J]. Journal of Tsinghua University,2009,49(2):223-225,231.(in Chinese)
[5]韓斌杰.GPRS原理及其網絡優化[M].北京:機械工業出版社,2003. HAN Bin-jie.GPRS principle and network optimization[M].Beijing:China Machine Press,2003.(in Chinese)
[6]陳斯斯,王耀南,王磊,等.GPRS在嵌入式智能視覺監控系統中的應用[J].微計算機信息,2008,24(17):15-17. CHEN Si-si,WANG Yao-nan,WANG Lei,et al.The Application Of GPRS In Embedded Intelligent Vision Surveillance System[J].Microcomputer Information,2008,24(17):15-17.(in Chinese)
[7]Mishra A R.蜂窩網絡規劃與優化基礎[M].北京郵電通信設計研究院天線通信研究所,譯.北京:機械工業出版社,2005. Mishra A R.Fundamentals of cellular network planning and optimization[M].Translated byWireless Communication Research Institute of Beijing Consulting and Design Institute of P&T.Beijing:China Machine Press,2005.(in Chinese)
[8]Worrall ST,Sadka AH,Sweeney P,eta1.Backward Compatible User-Defined Data Insertion into MPEG-4 Bitstreams[J].Electronics Letters,2000,36(12):1036-1037.
Performance Analysis on GPRS Data Packetization Size and Heartbeat-packets Interval
TIAN Jin
(Jiangsu Province Information Analysis Engineering Laboratory,Jinling Institute of Technology,Nanjing 211169,China)
The difficulties of data transmission by GPRSare analysed,and a test system for GPRSnetwork is established in Nanjing,China.The experiment results show in order to reliably and efficiently transmitmobile high data rate,the interval time between heartbeat-packets is atmost 9 minutes when using TCP;atmost 4 minuteswhen using UDP;and data packetization is atmost500 bytes size.The experiment provides a valuable foundation to set the communication parameter in practical engineering applications.
ITS;GPRS;heartbeat-packets;data packetization;transmission protocol;performance analysis
Doctor Foundation of Jinling Institute of Technology(No.40610035)
the B.S.degree in Electrical and Electronic Physics from Xuzhou Normal University,and the M.S.degree from Southeast University in 1996,and the Ph.D.degree from NationalMobile Communications Research Laboratory,Southeast University,in 1988,1996 and 2009,respectively.He is now a senior engineer.His research interests include cognitive radio,wide band wirelessaccess technologies,pervasive heterogeneousnetwork communication theory in 4thmobile communication,and system and theory of Intelligent Transport System.
1001-893X(2012)04-0576-05
2011-09-05;
2012-02-17
金陵科技學院博士基金資助項目(40610035)
TN929.5
A
10.3969/j.issn.1001-893x.2012.04.031
田錦(1963—),男,四川江安人,1988年于徐州師范大學獲電子與電氣物理專業學士學位,1996年于東南大學獲光電子技術與光纖通信系統專業碩士學位,2009年于東南大學移動通信國家重點實驗室獲通信與信息系統專業移動通信方向博士學位,現為高級通信工程師,主要研究方向為認知無線電技術、寬帶無線接入技術、第四代移動通信泛在異構網絡通信理論、智能交通系統與理論。
Email:tj.tech@jit.edu.cn
TIAN Jin was born in Jiang′an,Sichuan Province,in 1963.He