当前位置:首页 > 通信技术 > 通信技术
[导读]本文介绍在串口转TCP/IP中如何使用各种TCP工作模式,根据不同的应用如何进行灵活选择TCP客户端、TCP服务器、UDP、UDP组播。1.TCP&UDP工作模式  TCP/IP是网际互联的基本协议,TCP/IP实际涉及网络协议的两层:网络层

本文介绍在串口转TCP/IP中如何使用各种TCP工作模式,根据不同的应用如何进行灵活选择TCP客户端、TCP服务器、UDP、UDP组播。

1.TCP&UDP工作模式

  TCP/IP是网际互联的基本协议,TCP/IP实际涉及网络协议的两层:网络层和传输层。IP属于网络层,而TCP属于传输层,实际上TCP/IP协议还有另外部分协议即UDP协议,UDP协议和TCP协议共同组成了TCP/IP协议的传输层。而TCP协议有具有客户端和服务端两种工作模式。在RS232/RS485联网模块应用中,主要在UDP、TCP客户端、TCP服务器3种模式之间进行选择。如图1所示。

1.1 TCP和UDP的区别和比较

图1.TCP&UDP各种工作模式演示

  TCP(Transmission Control Protocol)是可靠连接协议。我们可以用打电话来类比TCP协议。使用TCP协议进行数据传输,首先需要建立连接;就如在通电话前需要先拨通电话一样。TCP是可靠传输的,即你传输的数据有误或者丢失,则会自动重新传输以保证数据正确;这正如打电话的时候,如果信号不好,收方会说:“听不清,请再说一遍。”

  UDP(User Datagram Protocol)是报文传输协议。我们可以用手机短信来类比UDP协议。使用UDP协议,你无需先征得对方的同意(无需先建立连接),可以随时发送。但是UDP协议是不可靠传输的,你发送出去的数据不能够保证正确地被对方收到;

  所谓“正确接收”,它包括3方面的内容:1.丢失问题:数据丢失后可以重传。2.误码问题:数据内容错误能被检测并重新发送。3.顺序问题:UDP无法保证数据的顺序,例如在发送长文字的短信的时候,有可能后半部分短信内容先收到,然后再收到前半部分短信内容。这给接收者较大的迷惑,TCP协议没有这个问题。

UDP协议的也有自身优点。1.简单性、方便性,UDP协议非常类似串口通信,因为串口发送数据本身基于非连接(报文)的。此时在串口转以太网的时候,使用UDP协议符合原来的思维。2.UDP协议具有广播、组播功能,可以实现一对多通信。

表1. TCP与UDP的区别 

 

TCP

UDP

需要连接

占用线路

可靠传输

简单易用

支持广播

1.2 TCP客户端和TCP服务器的区别

  在选择TCP进行通信的时候,通信的双方,必须一方为TCP客户端(TCP Client),一方为TCP服务器(TCP Server)。以打电话来类比,打电话的人是TCP客户端,接电话的一方为TCP服务器。TCP/IP协议中的IP地址类似电话号码,而TCP/IP中的端口号类似电话分机号。客户端(拨电话者),首先需要知道对方的IP地址和端口(电话号码和分机号),先连接上TCP服务器端(接听者的电话摘机),才能进行数据传输(通话)。和一般电话不同,在这里TCP服务器可以同时接入多个TCP客户端,就如有多路线路的电话,不会因为一路电话在接通中而不能接入其它电话。

  在ZLSN联网模块的RS232转网络中,TCP的长连接和短连接。TCP长连接就是连接建立后不断开,直到断电。TCP短连接是指需要通信的时候建立连接,通信完毕后立即关闭连接。

2.工作模式的选择

2.1 TCP和UDP的选择

  TCP协议有很多优点,这里只介绍何时使用UDP协议

1.节省上位机的线路资源。在ZLSN模块的串口转以太网应用中,如果选择TCP协议,且为TCP客户端的话,那么TCP连接是在模块上电之后就开始连接的,属于“长连接”。这就使得TCP协议一直占用一条通信线路(一个socket接口),如果联网模块个数很多(例如上万个),那么用TCP协议占用较多资源。

2.简化上位机编程的复杂性。基于UDP的socket编程相对于TCP要简单些。

3.需要广播或者组播的应用。

2.2 客户端和服务器的选择

1. 一个监控中心还是多个监控中心。

  一个监控中心:在单个监控中心的集中监控系统中,分散在各个采集点的ZLSN模块将采集数据传送到中心计算机,此时最好采用ZLSN模块为TCP客户端的方式,因为此时每个模块只要设置一个目的IP(中心计算机的IP地址)即可。当然也可以采用中心为客户端、模块为服务端方式,但是此时中心必须记住每个模块的IP地址,不利于系统的延展性和配置的灵活性。

  多个监控中心:现在有多个中心计算机需要监控联网模块,由于TCP客户端模块只能连接一个中心,所以多个中心无法监控一个模块(除非或者采用卓岚的“硬件TCP/IP协议栈”功能,让模块可以根据需要连接到不同的中心)。此时应该采用模块为客户端的方式。

2.知道对方IP地址。如果通信的AB双方中如果有一方A不知道对方B的IP地址,那么A必须作为客户端。这是因为A不知道B的IP地址,也无法进行连接操作。在ZLSN联网模块大量应用的网络中,ZLSN联网模块的IP地址通过动态获取,所以中心并不知道所有模块的IP地址,所以此时模块应该作为客户端。

3.主从关系。在主从关系的通信模式中,主机总是先发送数据,从机给出应答。在TCP短连接应用中,主机应该采用客户端。这是因为短连接采用有数据发送的时候建立TCP连接的方式,只有主机才知道何时需要发送那个数据合适需要建立连接,所以主机为客户端。

2.3 TCP短连接和TCP长连接的选择

  TCP短连接由于占用的TCP线路资源少,一般效率优于长连接。但是以下情况下采用长连接:通信的双方没有主从关系。任何一方都有首先发送数据的可能,所以要保持TCP连接一直保持。选择长连接的时候需要注意,在连接建立到当前,中间网线是否有断开,需要时时检测连接的可用性,短连接无该问题,使用较为方便。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

在当今数字化浪潮席卷全球的时代,计算机网络如同一张无形却无比强大的巨网,将世界各地的人们、设备和信息紧密相连。而在这庞大复杂的网络通信体系中,TCP/IP协议族宛如基石一般,支撑着整个网络的稳定运行,成为计算机网络通信不...

关键字: TCPIP 计算机

在互联网的浩瀚宇宙中,TCP/IP协议栈犹如一座坚固的桥梁,连接着世界的每一个角落。它不仅承载着数据的传输重任,更是构建可靠、高效网络通信的基石。本文旨在深入探讨TCP/IP协议的工作原理、核心组件及其在数据传输中的关键...

关键字: TCPIP 互联网

RS485是一种常见的通信接口标准,广泛应用于工业自动化、智能家居等领域。它采用差分信号传输方式,具有传输距离远、抗干扰能力强、数据传输速率高等特点。

关键字: rs485 RS232

异步通信的工作原理基于事件驱动模型。例如,当一个进程想要向另一个进程发送数据时,它会发送一个请求并继续执行。当接收方准备好处理该请求时,它会触发一个事件来通知发送方,从而达到异步通信的目的。

关键字: 异步通信 RS232

串口通信的原理是采用串行异步通信协议,以字符帧作为数据传输单位,通过串口按位依次传输字符帧的每个位,完成数据的传输。在串口通信中,字符帧由起始位、数据位、可选的校验位和停止位组成。起始位用于标识字符帧的开始,占1位;数据...

关键字: 串口通信 RS232

串口是“串行接口”的简称,即采用串行通信方式的接口。串行通信将数据字节分成一位一位的形式在一条数据线上逐个传送,其特点是通信线路简单,但传输速度较慢。因此串口广泛应用于嵌入式、工业控制等领域中对数据传输速度要求不高的场合...

关键字: 串口 RS232 同步传输

DHCP(动态主机配置协议)是一个局域网的网络协议。指的是由服务器控制一段IP地址范围,客户机登录服务器时就可以自动获得服务器分配的IP地址和子网掩码。默认情况下,DHCP作为Windows Server的一个服务组件不...

关键字: DHCP 子网掩码 IP地址

倘若不能对IP地址进行有效管理,可能会造成降低了网络可用性与服务质量,严重甚至会导致网络崩溃。

关键字: IP地址 PING

IP地址(Internet Protocol Address)是指互联网协议地址,又译为网际协议地址。IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的...

关键字: IP地址 互联网 物理地址

路由器(Router)是连接两个或多个网络的硬件设备,在网络间起网关的作用,是读取每一个数据包中的地址然后决定如何传送的专用智能性的网络设备。

关键字: 路由器 IP地址
关闭