udp协议路由服务器,TCP/UDP通信协议详解

一.通信协议概述:

1.定义:

通信设备双方通过共同遵从一组约定,从而使数据可在网络上进行相互传输。

打个比方,不同国家不同母语的两个人,如果要实现交流,就必须以大家都熟悉的一种通用语言来交流,比如英语。同样数据的格式只有一致,通信双方才能正常传输。

2.通信协议层次划分:

国际上通用的划分有tcp/ip四层模型和osi七层模型两种,TCP/UDP协议在两种模型中对应如下:

osi七层模型

c741387eda659ba32d342fa6ce380610.png

TCP/IP四层模型

0b30da1f894d71585c7e040349443d40.png

二、TCP/UDP通信协议

1.概念

TCP、UDP是最常用的传输协议,同属于传输层,不同之处在于:

TCP(Transmission Control Protocol传输控制协议):是一种面向连接的、可靠的、基于字节流的通信协议;主要传输数据较大、可靠性要求较高的;

UDP(User Datagram Protocol用户数据报协议)是一种无连接的通信,不能保证数据包被发送到目标地址;主要是传输少量数据;

打个比方:TCP连接就像打电话,用户拨特定的号码,对方在线并拿起电话,然后双方进行通话,通话完毕之后再挂断,整个过程是一个相互联系缺一不可的过程;

而UDP连接就像发短信,用户要发送短信给对方,只要输入对方的手机号码即可发送,并不需要先连接对方。

2.三次握手

TCP作为一个可靠连接需要经过3次“对话”,即我们常说的“三次握手”:

第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;

第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;

第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手.

完成三次握手,客户端与服务器开始传送数据

8759b27ca46cc2449cd85b43c09e1b00.png

UDP是面向非连接的,所以在服务端与客户端通信之前,不需要经过三次握手这个过程。

3.TCP/UDP对比

da95f19a0f31a5e5f07e22d493b2201d.png

二.佰马科技相关产品通信模式的选择

佰马科技提供的无线工业级无线DTU和工业级无线路由器作为透传产品,支持TCP、UDP、MODBUS、MQTT等主流常用的协议,本章节通过实测重点对比TCP、UDP两种传输协议在DTU、路由器上传输时数据格式的差异性,对于如何实现连接以及可靠性不做对比测试。

佰马工业级无线DTU传输模式支持TCP、UDP协议:

1)TCP:包括FTCP、HTCP、CTCP、TCPSVR;

2)UDP:包括NUDP、HUDP、CUDP、UDPSVR;

其中:CTCP 、CUDP属于数据纯透传,即不带任何心跳包和注册包,如果要带,必须自定义设置。其余都带有心跳包和注册包。

27b3e14dbb632b08649c33a74beb6a4c.png

以佰马BMD100-A为例,将GPRS工作模式设置成FTCP,连接上服务器,可以观察到服务器收到了BMD100发送的心跳包和数据包123。如下图所示:

c7a69e727d454f23791df0d131b985bd.png

同样以佰马BMD100-A为例,将GPRS工作模式设置成CTCP,连接上服务器,可以观察到服务器只收到BMD100发送的数据123,而没有心跳包。如下图所示:

3e849b73268946d9439f57f98fe598c2.png

同样以佰马BMD100-A为例,将GPRS工作模式设置成NUDP,连接上服务器,可以观察到服务器收到了BMD100发送的心跳包和数据。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值