GPRS网上传输协议之讨论 点击:1580 | 回复:5



Benone

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 9回
  • 年度积分:0
  • 历史总积分:20
  • 注册:2004年12月21日
发表于:2005-09-30 15:35:00
楼主
施伟年 凌海宏 深圳市宏电技术开发有限公司,广东 深圳 518040 摘自:《电力系统通信》2004年第8期 摘要:本文将UDP与TCP两种协议进行对比,从可靠性、适用性、资费等方面深入讨论在GPRS网络上,数据传输协议在不同应用领域的适用性。 关键词:UDP TCP 信道 0、引言 GPRS应用于个人商务网络,主要访问网页、收发邮件等,各种应用有确定的协议,但在工业数据传输等行业应用领域中,用户面对可选的UDP与TCP传输,没有明确的标准,业主单位、设备供应商、系统集成商常常为在GPRS网络上选用何种传输协议进行长时间讨论与测试。本文将两种协议进行对比,从可靠性、适用性、资费等方面深入讨论在GPRS网络上,两种数据传输协议在不同应用领域的适用性。 1、GPRS行业应用 GPRS当前应用广泛的行业有电力、油田、工业控制、运输、金融、证券、商业、公共安全业、天气预报、交通信息实时发布等,应用特点是数据量小,发送时间间隔大,或不定时发送。通过GPRS网络进行数据传输,具有成本低、组网迅速灵活、范围广、专业队伍维护的优势。 应用中,用户在GPRS网络上可选择UDP与TCP传输协议,由于没有明确的标准,选用何种协议让业主单位、设备供应商、系统集成商常常为在选用何种传输协议进行长时间讨论,并且进行了大量测试,几乎每个项目都要进行小规模试验,影响了GPRS在行业应用的进程。系统运行效果除受协议选择影响外,还受到网络质量、使用方式、外围设备的影响。很多试验的结果不尽一致,不能准确反映TCP/UDP协议选择带来的效果。让TCP/UDP选择再次陷入新一轮讨论与测试过程。 2、两种传输协议的定义与主要特征的比较 关于UDP、TCP两种协议的详细讲解请参阅相关资料,这里针对行业应用的特点进行说明。 UDP是一个简单的面向数据报的运输层协议:进程的每个输出操作都正好产生一个UDP数据报,并组装成一份待发送的IP数据报。UDP数据报封装成一份IP数据报的格式如图所示: http://www.mdtu.com/bbs/UploadFile/2004-8/tup1.jpg UDP不提供可靠性连接:它把应用程序传给IP层的数据发送出去,但是并不保证它们能到达目的地。 TCP和UDP都使用相同的网络层(IP)。TCP提供了一种可靠的面向连接的字节流运输层服务。如图所示: http://www.mdtu.com/bbs/UploadFile/2004-8/tup2.jpg[/IMG] TCP向应用层提供与UDP完全不同的服务。TCP提供一种面向连接的、可靠的字节流服务。TCP将用户数据打包构成报文段;它发送数据后启动一个定时器,等待对端数据确认;另一端对收到的数据进行确认,对失序的数据重新排序,丢弃重复数据;TCP提供端到端的流量控制,并计算和验证一个强制性的端到端检验和。 面向连接意味着两个使用TCP的应用(通常是一个客户和一个服务器)在彼此交换数据之前必须先建立一个TCP连接。这一过程与打电话很相似,先拨号振铃,等待对方摘机说“喂”,然后才说明是谁。 TCP传输协议连接过程: 首先建立连接,TCP用三个报文段完成连接的建立。这个过程也称为三次握手(three-way handshake)。如图所示: http://www.mdtu.com/bbs/UploadFile/2004-8/tup3.jpg[/IMG] 终止一个连接要经过4次握手。如图所示: http://www.mdtu.com/bbs/UploadFile/2004-8/tup4.jpg[/IMG] 数据发送必须经过接收方确认,并且有超时重传等保障机制,这是TCP传输有一定保障的根本原因。 http://www.mdtu.com/bbs/UploadFile/2004-8/tup5.jpg[/IMG] 可以看到,完成一次数据传送,除了完成连接、终止连接外,至少还需要一个数据分组与一个ACK分组。 UDP与TCP提供不同的传输方式与不同的传输质量,TCP以增加网络开销的方式提供传输保障。在GPRS网络实际测试,当网络正常情况下,从GPRS DTU->GPRS网络->互联网->用户数据中心这个通路上,UDP传输有效性>99%,TCP传输有效性≈100% 3、传输效率 在只考虑UDP/TCP分组情况下,发送应用数据,数据包为IP头+UDP/TCP头+应用数据。GPRS网络计费按照流量计费,数据传送效率就显得十分重要。由于目前分组数据机费按照网络协议二层以上数据计算(即IP包数据),传输效率计算按照以下公式计算: 包传输效率= 数据长度/(数据长度+UDP/TCP头长度) 数据长度 UDP效率 TCP效率 8 50.00% 28.57% 16 66.67% 44.44% 32 80.00% 61.54% 64 88.89% 76.19% 128 94.12% 86.49% 256 96.97% 92.75% 512 98.46% 96.24% 1024 99.22% 98.08% 通过协议内容分析,可以看到单包传送的用户数据量比较小时,UDP协议传输效率明显高于TCP协议。行业应用数据量比较小,不同行业应用选择协议时,需要仔细分析应用层数据单帧字节数。 以上只是数据分组的传输效率,TCP协议还需要连接、终止连接、ACK包等额外开销,UDP与TCP实际传送效率差别将远大于上表中的计算效率差别。 4、网络承载能力 GPRS分组业务信道可采用CS-1~CS-4不同的编码方式(其数据速率分别为9.05kbit/s、13.4kbit/s、15.6kbit/s、21.4kbit/s)。采用编码方式为CS-4时,且无线环境良好,信道充足的情况下,可以实现GPRS网络支持的理论最高速率171.2kbps,这种速率完全可以支持一些多媒体图像传输业务等对带宽要求较高的应用业务。但实际数据传输速率受网络编码方式和终端支持的因素影响,CS-3、CS-4的接收参考灵敏度较低,这两种编码方式只有在距离基站较近且信号较好的地区才能够真正使用。 目前,GPRS采用CS-2信道编码方案。保证实现小区的90%以上覆盖,满足C/I不低于9dB的要求。在小区内,提供上下行分别为1~4 GPRS信道(PDCH)。GPRS无线信道的分配初期至少设置一个静态的分组数据业务信道,以后根据GPRS的流量调整PDCH分配。按照话音优先的原则,动态信道将优先分配给话音信道,保证GSM质量。所以GPRS带宽为13.4Kbps~54.4Kbps。 在中国移动GPRS网络上,采用上下行不对称方法分配信道,上行小,下行大,通常为1+2、1+3、2+4等。这主要是为客户访问互联网设置的,而在行业应用中,出现的情况正相反,上行数据大于下行数据。因此,在考虑GPRS网络带宽问题时,应该考虑带宽较窄的上行带宽。 GPRS业务的特点是数据通道共享,这带来了按流量计费的便利,但小区内,终端数量多,数据量大等情况下,终端必须在有限的带宽中竞争,导致掉线率高,上网困难等现象。这也就是GPRS开通一年之久后体现出的新应用特点:GPRS在个人用户市场上竞争力不强,但是在大量的行业数据传输上具有非常强的优势。 有限的带宽资源对应用提出了要求:数据量小、传输效率高。 5、行业应用的需求 GPRS行业应用,无论是电力抄表、管网监测、气象采集、金融业务等,都是终端设备与数据服务器之间的通讯,在提供GPRS传输方式之前,有电台、MODEM(电话线)、专线、直接电缆连接等方式。这些方式提供的通讯质量差异较大。不同的应用,对传输可靠性的要求是不同的,有的可以接受少量数据丢失,有的必须确保任何数据的不丢失,有的不接受超时效数据。不同的应用中,相同的特点是不依赖传输手段提供的数据保障,终端与数据中心之间有各自的通讯协议,通过误码/超时重传等方法,确保数据的安全准确。 采用UDP协议传送,UDP包等同应用数据包,基本没有额外开销。 TCP协议按照协议窗口进行多包统一确认的方式,可以减少ACK报文的数量,但是在行业应用中,应用的特点是数据量小,发送间隔通常从几秒到几小时之间不等,数据报文之间发送间隔通常超过TCP协议需要的最大确认间隔,导致几乎每个数据报文都需要在TCP协议中的ACK报文。 http://www.mdtu.com/bbs/UploadFile/2004-8/tup6.jpg[/IMG] http://www.mdtu.com/bbs/UploadFile/200



林湘建

  • 精华:18帖
  • 求助:0帖
  • 帖子:49帖 | 1012回
  • 年度积分:0
  • 历史总积分:1686
  • 注册:2003年4月07日
发表于:2005-10-01 03:29:00
1楼
GPRS/CDMA行业应用中的TCP与UDP的比较!(正好对比) 中国移动、中国联通推行的GPRS网络、CDMA网络已覆盖大量的区域,通过无线网络实现数据传输成为可能。无线Modem采用GPRS、CDMA模块通过中国移动、中国联通的GPRS、CDMA网络进行数据传输,并通过TCP/IP协议进行数据封包,可灵活地实现多种设备接入,工程安装简单,在工业现场数据传输的应用中,能很好的解决偏远无网络无电话线路地区的数据传输的难题。同传统的数传电台想比较,更具有简便性、灵活性、易操作性,同时还降低了成本,无线Modem传输方案是现代化工业现场数据传输最好的选择方案。   目前中国移动、中国联通提供的GPRS网络、CDMA网络的数据传输带宽在40Kbps左右,且受带宽的限制,数据采集方案最好采用于主动告警、数据轮巡采集、告警主动回叫等对传输带宽占用较少的采集方式。同时考虑对前置机实时采集方案的支持,无线Modem传输方案只能作为目前传输方案的补充。   随着无线通讯技术的不断发展,无线传输数据带宽将不断提高,采用3G无线网络,数据传输带宽将达到2M,无线传输方案将逐渐成为监控传输组网的主要应用方案。    目前,由于GPRS和CDMA固有的特性,在各个领域中GPRS和CDMA的应用也越来越广泛,但是关于传输中使用TCP/IP协议还是UDP协议,却争论很多。      这里先简单的说一下TCP与UDP的区别:    1。基于连接与无连接    2。对系统资源的要求(TCP较多,UDP少)    3。UDP程序结构较简单    4。流模式与数据报模式    5。TCP保证数据正确性,UDP可能丢包,TCP保证数据顺序,UDP不保证      另外结合GPRS网络的情况具体的谈一下他们的区别:   1。TCP传输存在一定的延时,大概是1600MS(移动提供),UDP响应速度稍微快一些。   2。TCP包头结构     源端口16位     目标端口 16位     序列号 32位     回应序号 32位     TCP头长度 4位     reserved 6位     控制代码6位     窗口大小16位     偏移量16位     校验和16位     选项 32位(可选)     这样我们得出了TCP包头的最小大小.就是20字节.        UDP包头结构     源端口16位     目的端口16位     长度 16位     校验和 16位     UDP的包小很多.确实如此.因为UDP是非可靠连接.设计初衷就是尽可能快的将数据包发送出去.所以UDP协议显得非常精简.      3。GPRS网络端口资源,UDP十分紧缺,变化很快;而TCP采用可靠链路传输,不存在端口变化的问题      工业场合的应用一般都有以下特点,      1。要求时时传输,但也有一些场合是定时传输,总的来说在整个传输过程中要求服务器中心端和GPRS终端设备能相互的、时时的传输数据。   TCP本身就是可靠链路传输,提供一个时时的双向的传输通道,能很好的满足工业现场传输的要求。但是GPRS网络对TCP链路也存在一个限制:此条链路在长时间(大概20分钟左右,视具体情况而定)没有数据流量,会自动降低此链路的优先级直至强制断开此链路。所以在实际使用中也会采用心跳包(一般是一个字节的数据)来维持此链路。   UDP由于自身特点,以及GPRS网络UDP端口资源的有限性,在一段时间没有数据流量后,端口容易改变,产生的影响就是从服务器中心端向GPRS终端发送数据,GPRS终端接收不到。具体的原因就是移动网关从中作了中转,需要隔一定时间给主机发UDP包来维持这个IP和端口号,这样主机就能主动给GPRS发UDP包了并且我在测试中发现,这个间隔时间很短,我在1多分钟发一次UDP包才能够维持,但是再长可能移动网关那边就要丢失这个端口了,此时如果主机想主动发数据给GPRS,那肯定是不行的了,只有GPRS终端设备再发一个UDP包过去,移动重新给你分配一个中转IP和端口,才能够进行双向通讯。      2。要求数据的丢包率较小。有些工业场合,例如电力、水务抄表,环保监测等等,不容许传输过程中的数据丢失或者最大限度的要求数据的可靠性。   从这一点来看,很显然在无线数据传输过程中,TCP比UDP更能保证数据的完整性、可靠性,存在更小的丢包率。在实际测试中也是如此。以厦门桑荣科技有限公司提供的GPRS终端设备为例:TCP的在千分之9,UDP的在千分之17左右。      3。要求降低费用。目前有很大部分GPRS设备的应用都是取代前期无线数传电台,除了使用范围外,其考虑的主要问题就是费用。能降低费用当然都是大家最愿意接受的。和费用直接相关的就是流量了,流量低,费用就低了。   虽然TCP本身的包头要比UDP多,但是UDP在实际应用中往往需要维护双向通道,就必须要通过大量的心跳包数据来维护端口资源。总的比较起来,UDP的实际流量要比TCP还要大。很多使用者在初期的时候并不了解UDP需要大量心跳包来维持端口资源这个问题,往往都认为UDP要比TCP更节省流量,实际上这里存在着一个误区。      4。在某些特定的应用场合,例如一些银行的时时交互系统,对响应速度要求很高,此时数据传输频率较快,不需要大量心跳包维持UDP端口资源,采用UDP就比较有利了。      5。在目前的1:N的传输模式中,既有多个GPRS终端设备往一个服务器中心传输数据,此时采用UDP会比TCP要好的多,因为UDP耗用更少的系统资源。但是在实际应用中却发现,很多用户还是采用TCP的传输方式,建立二级中心1:A(1:N),即每一个分中心对应N/A台设备,独立处理数据,再统一将数据传送到主中心。这样既能保证了传输过程中采用了TCP的传输协议,又能很好处理了中心服务器的多链路的系统耗用的问题。       总的来说,TCP/IP协议更能满足目前各行业对远程数据传输的要求,它提供更稳定更便利的传输通道,很好的满足了远程数据传输的要求。桑荣公司所有DTU产品都支持TCP和UDP协议,客户可以自行选择. 厦门桑荣科技有限公司 手 机:13328783071(联通)13950074071(移动) 直线电话: 0592-5908790 技术交流:MSN: lxj7871@tom.com   QQ:17817807

Benone

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 9回
  • 年度积分:0
  • 历史总积分:20
  • 注册:2004年12月21日
发表于:2005-10-04 20:28:00
2楼
真是仁者见仁 智者见智呀.不过强烈鄙视拿讨论的帖子做广告的 呵呵

林湘建

  • 精华:18帖
  • 求助:0帖
  • 帖子:49帖 | 1012回
  • 年度积分:0
  • 历史总积分:1686
  • 注册:2003年4月07日
发表于:2005-10-09 21:47:00
3楼
小左,你怎么这么孩子气啊?比老左差远了.

zhongdingjidian

  • 精华:3帖
  • 求助:0帖
  • 帖子:167帖 | 1364回
  • 年度积分:0
  • 历史总积分:2372
  • 注册:2003年5月29日
发表于:2005-10-11 08:27:00
4楼
哈!!行业应用需要大家做贡献。

明天的晚餐

  • 精华:0帖
  • 求助:0帖
  • 帖子:12帖 | 35回
  • 年度积分:0
  • 历史总积分:98
  • 注册:2004年4月10日
发表于:2005-10-15 10:38:00
5楼
呵呵,怎么没有人发表一下意见阿!

热门招聘
相关主题

官方公众号

智造工程师