GPRS/CDMA行業(yè)應(yīng)用中的TCP與UDP的比較
中國移動(dòng)、中國聯(lián)通推行的GPRS網(wǎng)絡(luò)、CDMA網(wǎng)絡(luò)已覆蓋大量的區(qū)域,通過無線網(wǎng)絡(luò)實(shí)現(xiàn)數(shù)據(jù)傳輸成為可能。無線Modem采用GPRS、CDMA模塊通過中國移動(dòng)、中國聯(lián)通的GPRS、CDMA網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)傳輸,并通過TCP/IP協(xié)議進(jìn)行數(shù)據(jù)封包,可靈活地實(shí)現(xiàn)多種設(shè)備接入,工程安裝簡單,在工業(yè)現(xiàn)場數(shù)據(jù)傳輸?shù)膽?yīng)用中,能很好的解決偏遠(yuǎn)無網(wǎng)絡(luò)無電話線路地區(qū)的數(shù)據(jù)傳輸?shù)碾y題。同傳統(tǒng)的數(shù)傳電臺想比較,更具有簡便性、靈活性、易操作性,同時(shí)還降低了成本,無線Modem傳輸方案是現(xiàn)代化工業(yè)現(xiàn)場數(shù)據(jù)傳輸最好的選擇方案。
目前中國移動(dòng)、中國聯(lián)通提供的GPRS網(wǎng)絡(luò)、CDMA網(wǎng)絡(luò)的數(shù)據(jù)傳輸帶寬在40Kbps左右,且受帶寬的限制,數(shù)據(jù)采集方案最好采用于主動(dòng)告警、數(shù)據(jù)輪巡采集、告警主動(dòng)回叫等對傳輸帶寬占用較少的采集方式。同時(shí)考慮對前置機(jī)實(shí)時(shí)采集方案的支持,無線Modem傳輸方案只能作為目前傳輸方案的補(bǔ)充。
隨著無線通訊技術(shù)的不斷發(fā)展,無線傳輸數(shù)據(jù)帶寬將不斷提高,采用3G無線網(wǎng)絡(luò),數(shù)據(jù)傳輸帶寬將達(dá)到2M,無線傳輸方案將逐漸成為監(jiān)控傳輸組網(wǎng)的主要應(yīng)用方案。
目前,由于GPRS和CDMA固有的特性,在各個(gè)領(lǐng)域中GPRS和CDMA的應(yīng)用也越來越廣泛,但是關(guān)于傳輸中使用TCP/IP協(xié)議還是UDP協(xié)議,卻爭論很多。
這里先簡單的說一下TCP與UDP的區(qū)別:
1.基于連接與無連接
2.對系統(tǒng)資源的要求(TCP較多,UDP少)
3.UDP程序結(jié)構(gòu)較簡單
4.流模式與數(shù)據(jù)報(bào)模式
5.TCP保證數(shù)據(jù)正確性,UDP可能丟包,TCP保證數(shù)據(jù)順序,UDP不保證
另外結(jié)合GPRS網(wǎng)絡(luò)的情況具體的談一下他們的區(qū)別:
1.TCP傳輸存在一定的延時(shí),大概是1600MS(移動(dòng)提供),UDP響應(yīng)速度稍微快一些。
2.TCP包頭結(jié)構(gòu)
源端口16位
目標(biāo)端口 16位
序列號 32位
回應(yīng)序號 32位
TCP頭長度 4位
reserved 6位
控制代碼6位
窗口大小16位
偏移量16位
校驗(yàn)和16位
選項(xiàng) 32位(可選)
這樣我們得出了TCP包頭的最小大小.就是20字節(jié).
UDP包頭結(jié)構(gòu)
源端口16位
目的端口16位
長度 16位
校驗(yàn)和 16位
UDP的包小很多.確實(shí)如此.因?yàn)閁DP是非可靠連接.設(shè)計(jì)初衷就是盡可能快的將數(shù)據(jù)包發(fā)送出去.所以UDP協(xié)議顯得非常精簡.
3.GPRS網(wǎng)絡(luò)端口資源,UDP十分緊缺,變化很快;而TCP采用可靠鏈路傳輸,不存在端口變化的問題
工業(yè)場合的應(yīng)用一般都有以下特點(diǎn):
1. 要求時(shí)時(shí)傳輸,但也有一些場合是定時(shí)傳輸,總的來說在整個(gè)傳輸過程中要求服務(wù)器中心端和GPRS終端設(shè)備能相互的、時(shí)時(shí)的傳輸數(shù)據(jù)。
TCP本身就是可靠鏈路傳輸,提供一個(gè)時(shí)時(shí)的雙向的傳輸通道,能很好的滿足工業(yè)現(xiàn)場傳輸?shù)囊蟆5荊PRS網(wǎng)絡(luò)對TCP鏈路也存在一個(gè)限制:此條鏈路在長時(shí)間(大概20分鐘左右,視具體情況而定)沒有數(shù)據(jù)流量,會自動(dòng)降低此鏈路的優(yōu)先級直至強(qiáng)制斷開此鏈路。所以在實(shí)際使用中也會采用心跳包(一般是一個(gè)字節(jié)的數(shù)據(jù))來維持此鏈路。
UDP由于自身特點(diǎn),以及GPRS網(wǎng)絡(luò)UDP端口資源的有限性,在一段時(shí)間沒有數(shù)據(jù)流量后,端口容易改變,產(chǎn)生的影響就是從服務(wù)器中心端向GPRS終端發(fā)送數(shù)據(jù),GPRS終端接收不到。具體的原因就是移動(dòng)網(wǎng)關(guān)從中作了中轉(zhuǎn),需要隔一定時(shí)間給主機(jī)發(fā)UDP包來維持這個(gè)IP和端口號,這樣主機(jī)就能主動(dòng)給GPRS發(fā)UDP包了并且我在測試中發(fā)現(xiàn),這個(gè)間隔時(shí)間很短,我在1多分鐘發(fā)一次UDP包才能夠維持,但是再長可能移動(dòng)網(wǎng)關(guān)那邊就要丟失這個(gè)端口了,此時(shí)如果主機(jī)想主動(dòng)發(fā)數(shù)據(jù)給GPRS,那肯定是不行的了,只有GPRS終端設(shè)備再發(fā)一個(gè)UDP包過去,移動(dòng)重新給你分配一個(gè)中轉(zhuǎn)IP和端口,才能夠進(jìn)行雙向通訊。
2. 要求數(shù)據(jù)的丟包率較小。有些工業(yè)場合,例如電力、水務(wù)抄表,環(huán)保監(jiān)測等等,不容許傳輸過程中的數(shù)據(jù)丟失或者最大限度的要求數(shù)據(jù)的可靠性。
從這一點(diǎn)來看,很顯然在無線數(shù)據(jù)傳輸過程中,TCP比UDP更能保證數(shù)據(jù)的完整性、可靠性,存在更小的丟包率。在實(shí)際測試中也是如此。以廈門桑榮科技有限公司提供的GPRS終端設(shè)備為例:TCP的在千分之9,UDP的在千分之17左右。
3. 要求降低費(fèi)用。目前有很大部分GPRS設(shè)備的應(yīng)用都是取代前期無線數(shù)傳電臺,除了使用范圍外,其考慮的主要問題就是費(fèi)用。能降低費(fèi)用當(dāng)然都是大家最愿意接受的。和費(fèi)用直接相關(guān)的就是流量了,流量低,費(fèi)用就低了。
雖然TCP本身的包頭要比UDP多,但是UDP在實(shí)際應(yīng)用中往往需要維護(hù)雙向通道,就必須要通過大量的心跳包數(shù)據(jù)來維護(hù)端口資源??偟谋容^起來,UDP的實(shí)際流量要比TCP還要大。很多使用者在初期的時(shí)候并不了解UDP需要大量心跳包來維持端口資源這個(gè)問題,往往都認(rèn)為UDP要比TCP更節(jié)省流量,實(shí)際上這里存在著一個(gè)誤區(qū)。
4. 在某些特定的應(yīng)用場合,例如一些銀行的時(shí)時(shí)交互系統(tǒng),對響應(yīng)速度要求很高,此時(shí)數(shù)據(jù)傳輸頻率較快,不需要大量心跳包維持UDP端口資源,采用UDP就比較有利了。
5. 在目前的1:N的傳輸模式中,既有多個(gè)GPRS終端設(shè)備往一個(gè)服務(wù)器中心傳輸數(shù)據(jù),此時(shí)采用UDP會比TCP要好的多,因?yàn)閁DP耗用更少的系統(tǒng)資源。但是在實(shí)際應(yīng)用中卻發(fā)現(xiàn),很多用戶還是采用TCP的傳輸方式,建立二級中心1:A(1:N),即每一個(gè)分中心對應(yīng)N/A臺設(shè)備,獨(dú)立處理數(shù)據(jù),再統(tǒng)一將數(shù)據(jù)傳送到主中心。這樣既能保證了傳輸過程中采用了TCP的傳輸協(xié)議,又能很好處理了中心服務(wù)器的多鏈路的系統(tǒng)耗用的問題。
總的來說,TCP/IP協(xié)議更能滿足目前各行業(yè)對遠(yuǎn)程數(shù)據(jù)傳輸?shù)囊?,它提供更穩(wěn)定更便利的傳輸通道,很好的滿足了遠(yuǎn)程數(shù)據(jù)傳輸?shù)囊蟆?
目前中國移動(dòng)、中國聯(lián)通提供的GPRS網(wǎng)絡(luò)、CDMA網(wǎng)絡(luò)的數(shù)據(jù)傳輸帶寬在40Kbps左右,且受帶寬的限制,數(shù)據(jù)采集方案最好采用于主動(dòng)告警、數(shù)據(jù)輪巡采集、告警主動(dòng)回叫等對傳輸帶寬占用較少的采集方式。同時(shí)考慮對前置機(jī)實(shí)時(shí)采集方案的支持,無線Modem傳輸方案只能作為目前傳輸方案的補(bǔ)充。
隨著無線通訊技術(shù)的不斷發(fā)展,無線傳輸數(shù)據(jù)帶寬將不斷提高,采用3G無線網(wǎng)絡(luò),數(shù)據(jù)傳輸帶寬將達(dá)到2M,無線傳輸方案將逐漸成為監(jiān)控傳輸組網(wǎng)的主要應(yīng)用方案。
目前,由于GPRS和CDMA固有的特性,在各個(gè)領(lǐng)域中GPRS和CDMA的應(yīng)用也越來越廣泛,但是關(guān)于傳輸中使用TCP/IP協(xié)議還是UDP協(xié)議,卻爭論很多。
這里先簡單的說一下TCP與UDP的區(qū)別:
1.基于連接與無連接
2.對系統(tǒng)資源的要求(TCP較多,UDP少)
3.UDP程序結(jié)構(gòu)較簡單
4.流模式與數(shù)據(jù)報(bào)模式
5.TCP保證數(shù)據(jù)正確性,UDP可能丟包,TCP保證數(shù)據(jù)順序,UDP不保證
另外結(jié)合GPRS網(wǎng)絡(luò)的情況具體的談一下他們的區(qū)別:
1.TCP傳輸存在一定的延時(shí),大概是1600MS(移動(dòng)提供),UDP響應(yīng)速度稍微快一些。
2.TCP包頭結(jié)構(gòu)
源端口16位
目標(biāo)端口 16位
序列號 32位
回應(yīng)序號 32位
TCP頭長度 4位
reserved 6位
控制代碼6位
窗口大小16位
偏移量16位
校驗(yàn)和16位
選項(xiàng) 32位(可選)
這樣我們得出了TCP包頭的最小大小.就是20字節(jié).
UDP包頭結(jié)構(gòu)
源端口16位
目的端口16位
長度 16位
校驗(yàn)和 16位
UDP的包小很多.確實(shí)如此.因?yàn)閁DP是非可靠連接.設(shè)計(jì)初衷就是盡可能快的將數(shù)據(jù)包發(fā)送出去.所以UDP協(xié)議顯得非常精簡.
3.GPRS網(wǎng)絡(luò)端口資源,UDP十分緊缺,變化很快;而TCP采用可靠鏈路傳輸,不存在端口變化的問題
工業(yè)場合的應(yīng)用一般都有以下特點(diǎn):
1. 要求時(shí)時(shí)傳輸,但也有一些場合是定時(shí)傳輸,總的來說在整個(gè)傳輸過程中要求服務(wù)器中心端和GPRS終端設(shè)備能相互的、時(shí)時(shí)的傳輸數(shù)據(jù)。
TCP本身就是可靠鏈路傳輸,提供一個(gè)時(shí)時(shí)的雙向的傳輸通道,能很好的滿足工業(yè)現(xiàn)場傳輸?shù)囊蟆5荊PRS網(wǎng)絡(luò)對TCP鏈路也存在一個(gè)限制:此條鏈路在長時(shí)間(大概20分鐘左右,視具體情況而定)沒有數(shù)據(jù)流量,會自動(dòng)降低此鏈路的優(yōu)先級直至強(qiáng)制斷開此鏈路。所以在實(shí)際使用中也會采用心跳包(一般是一個(gè)字節(jié)的數(shù)據(jù))來維持此鏈路。
UDP由于自身特點(diǎn),以及GPRS網(wǎng)絡(luò)UDP端口資源的有限性,在一段時(shí)間沒有數(shù)據(jù)流量后,端口容易改變,產(chǎn)生的影響就是從服務(wù)器中心端向GPRS終端發(fā)送數(shù)據(jù),GPRS終端接收不到。具體的原因就是移動(dòng)網(wǎng)關(guān)從中作了中轉(zhuǎn),需要隔一定時(shí)間給主機(jī)發(fā)UDP包來維持這個(gè)IP和端口號,這樣主機(jī)就能主動(dòng)給GPRS發(fā)UDP包了并且我在測試中發(fā)現(xiàn),這個(gè)間隔時(shí)間很短,我在1多分鐘發(fā)一次UDP包才能夠維持,但是再長可能移動(dòng)網(wǎng)關(guān)那邊就要丟失這個(gè)端口了,此時(shí)如果主機(jī)想主動(dòng)發(fā)數(shù)據(jù)給GPRS,那肯定是不行的了,只有GPRS終端設(shè)備再發(fā)一個(gè)UDP包過去,移動(dòng)重新給你分配一個(gè)中轉(zhuǎn)IP和端口,才能夠進(jìn)行雙向通訊。
2. 要求數(shù)據(jù)的丟包率較小。有些工業(yè)場合,例如電力、水務(wù)抄表,環(huán)保監(jiān)測等等,不容許傳輸過程中的數(shù)據(jù)丟失或者最大限度的要求數(shù)據(jù)的可靠性。
從這一點(diǎn)來看,很顯然在無線數(shù)據(jù)傳輸過程中,TCP比UDP更能保證數(shù)據(jù)的完整性、可靠性,存在更小的丟包率。在實(shí)際測試中也是如此。以廈門桑榮科技有限公司提供的GPRS終端設(shè)備為例:TCP的在千分之9,UDP的在千分之17左右。
3. 要求降低費(fèi)用。目前有很大部分GPRS設(shè)備的應(yīng)用都是取代前期無線數(shù)傳電臺,除了使用范圍外,其考慮的主要問題就是費(fèi)用。能降低費(fèi)用當(dāng)然都是大家最愿意接受的。和費(fèi)用直接相關(guān)的就是流量了,流量低,費(fèi)用就低了。
雖然TCP本身的包頭要比UDP多,但是UDP在實(shí)際應(yīng)用中往往需要維護(hù)雙向通道,就必須要通過大量的心跳包數(shù)據(jù)來維護(hù)端口資源??偟谋容^起來,UDP的實(shí)際流量要比TCP還要大。很多使用者在初期的時(shí)候并不了解UDP需要大量心跳包來維持端口資源這個(gè)問題,往往都認(rèn)為UDP要比TCP更節(jié)省流量,實(shí)際上這里存在著一個(gè)誤區(qū)。
4. 在某些特定的應(yīng)用場合,例如一些銀行的時(shí)時(shí)交互系統(tǒng),對響應(yīng)速度要求很高,此時(shí)數(shù)據(jù)傳輸頻率較快,不需要大量心跳包維持UDP端口資源,采用UDP就比較有利了。
5. 在目前的1:N的傳輸模式中,既有多個(gè)GPRS終端設(shè)備往一個(gè)服務(wù)器中心傳輸數(shù)據(jù),此時(shí)采用UDP會比TCP要好的多,因?yàn)閁DP耗用更少的系統(tǒng)資源。但是在實(shí)際應(yīng)用中卻發(fā)現(xiàn),很多用戶還是采用TCP的傳輸方式,建立二級中心1:A(1:N),即每一個(gè)分中心對應(yīng)N/A臺設(shè)備,獨(dú)立處理數(shù)據(jù),再統(tǒng)一將數(shù)據(jù)傳送到主中心。這樣既能保證了傳輸過程中采用了TCP的傳輸協(xié)議,又能很好處理了中心服務(wù)器的多鏈路的系統(tǒng)耗用的問題。
總的來說,TCP/IP協(xié)議更能滿足目前各行業(yè)對遠(yuǎn)程數(shù)據(jù)傳輸?shù)囊?,它提供更穩(wěn)定更便利的傳輸通道,很好的滿足了遠(yuǎn)程數(shù)據(jù)傳輸?shù)囊蟆?
文章版權(quán)歸西部工控xbgk所有,未經(jīng)許可不得轉(zhuǎn)載。