GPRS网络条件下TCP、UDP的比较

  使用场景:使用GPRS的场合。

  名词解释:NAT(Network Address Translation,网络地址转换)

  中国移动的GPRS网络是使用的虚拟IP地址,需要通过移动的虚拟地址转换路由器进行与internet之间消息的转发,具体实现过程:

  1、NAT路由器得到从内网IP地址发来的请求;

  2、把该请求的IP源地址,端口号替换成一个真实的internet IP地址和一个空闲端口号,并在内部表格中添加相应翻译信息的表项;

  3、把信息传递给远端

  今后NAT 路由器将维护该表格中的表项,如果从远端收到指向该表项端口号的信息,将把真实的虚拟IP地址和端口号翻译回来。
  因此使用GPRS网络进行与internet通信需要gprs虚拟IP侧首先发起tcp连结或发udp数据包给远端server,这样才能让NAT router 建立起正确的翻译表项。今后就可以进行双向网络数据传输了。
  从NAT协议的实现上,对UDP翻译表项和TCP翻译表项的保持时间不同,因为UDP没有类次TCP的连接撤销报文协议,因此采用超时无消息包传送即释放的方式,实测中国移动的网络UDP表项保持时间只有几秒钟。也就是说,如果几秒钟双方没有通信,如果是internet server侧发送信息给GPRS虚拟ip,该信息因为相应的NAT router表项已经释放的原因将丢失。为避免这个问题,除非用户仅实现gprs网络侧的上传等待回应这种消息传送方式,否则为了保持NAT路由器的翻译表项,GRPR需要不停发送信息(一般称为heartbeat信息,或称心跳信息)来获得该连结表项的保持。这样会带来额外的流量费用。
  而tcp做为一个连接型的协议,因此nat route 可以知道何时双方连接结束,因此会一直保持该连结,就不需要不停发heartbeat来保持该连结。当然也有可能需要重新刷新该表项的情况,如NAT 路由器掉电或复位,或资源不足而释放相应表项,但这种情况的概率是非常小的。可以使用发送超时或一个较长时间的heartbeat来解决。
  另外GPRS网络的时延和误码率相对较高,TCP协议实现了重发,排序和流控,而UDP需要用户自己在应用程序中做这些工作,用户自己的实现不可能比已经广泛应用了几十年的TCP协议更可靠,因此可知,tcp协议更适合gprs网络的现状。

转载于:https://www.cnblogs.com/sarafill/p/5423954.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值