首页 理论教育 通信协议:TCP和UDP的区别及应用场景分析

通信协议:TCP和UDP的区别及应用场景分析

更新时间:2025-01-08 工作计划 版权反馈
【摘要】:该协议用于执行全球网络的数据通信。TCP和UDP是一种通信两端的设备或计算机在处理时使用的协议(传输层)。图2-7 端口号在实际应用中,由以下的5个要点组合起来用以识别通信:1)送信目的地IP地址;2)送信源IP地址;3)送信目的地端口号;4)送信源端口号;5)协议号。TCP的可靠性高,先选定发信至目的地的路径并连接,然后与通信对象进行双向的1对1通信。

我们先来介绍OSI(开放系统互连)参考模型。OSI参考模型是国际标准化机构(ISO)制定的,它将实现通信所必需的功能分为7个层次,见表2-4。

表2-4 OSI参考模型

978-7-111-30673-3-Chapter02-9.jpg

层号越大说明越是靠上,越逻辑化;相对而言,层号越小越是靠下,越物理化。

我们在这里常说的IP是位于网络层,而TCP(传输控制协议)和UDP(用户数据报协议)则位于传输层。

另外,以太网位于数据链路层和物理层。

图2-6所示为和OSI参考模型对应的Q系列以太网模块网络协议模型,Q系列以太网模块的物理层和数据链路层为“以太网”,而网络层和传输层则为“IP”和“TCP/UDP”。

978-7-111-30673-3-Chapter02-10.jpg

图2-6 以太网模块通信协议模型

Q PLC各种软件功能对应于高层协议的会话层、表示层以及应用层,它可以实现Q PLC的CPU(以下简称Q CPU)和以太网模块的信息交换。

对于上图中所涉及的通用网络协议的解释如下:

(1)TCP(Transmission Control Protocol,传输控制协议)。该协议保证个人计算机/工作站和通过网络连接的PLC之间的通信中数据的可信性和可靠性,并提供下列功能:

1)通过打开(逻辑线路)创建一个逻辑连接,就好像在外部设备之间建立一条专用线路;

2)最多可以建立16个连接,并且可以同时在以太网模块中与多个缓存进行通信;

3)通过使用序号、数据再次传送功能和校验的步骤控制来保持数据的可靠性;

4)可以使用Windows的操作来控制通信数据流;

5)支持Maximum Segment选项,对TCP传送或TCP重新传送,Maximum Segment选项可以设置为有效。处理信息前,数据接收端必须检查接收数据的长度。

(2)UDP(User Datagram Protocol,用户数据包协议)。该协议不能保证个人计算机/工作站和通过网络连接的PLC之间的通信中数据的可信性和可靠性。因此,即使数据没有到达目标节点,也不会再次传送。

1)因为它是无节点的,所以能高速传送;

2)能够通过校验增加通信数据的可靠性。然而,当必须保持较大的可靠性时,必须利用用户应用程序或TCP。

(3)IP(网际协议)。

1)以数据报格式发送和接收通信数据;

2)可以分割和重新汇编通信数据;

3)不支持路由选项。

(4)ARP(地址解析协议)。该协议用于从IP地址获得以太网物理地址。

(5)ICMP(因特网控制消息协议)。

1)该协议用于交换IP网络上发生的各种错误和与网络相关的各种信息;

2)提供传送IP错误信息的功能;

(6)FTP(文件传输协议)。该协议用于传送文件,可以上传和下载PLC CPU文件。

(7)DNS(域名系统)。该系统将IP地址翻译成用户容易记住的名字。

(8)SMTP(简单邮件传送协议)。该协议传送邮件。

(9)POP3(邮局协议版本3)。该协议将邮件服务器收到的邮件传送给本地计算机。

(10)HTTP(超文本传送协议)。该协议用于执行全球网络的数据通信。

对于TCP、UDP、IP的含义及应用原理等内容详细说明如下:

(1)IP。IP是连接在IP网络上的所有设备需要处理的网络层协议;TCP/IP、UDP/IP在网络最重要的作用是将数据送往目的地址设备和计算机;而它必须通过IP来实现。打个比方,数据好比是货物,IP报头好比是邮寄单,正如邮寄任何货物需要邮寄单一样,传输数据时也需将IP报文加载在数据首部。(www.xing528.com)

(2)TCP和UDP。TCP和UDP是一种通信两端的设备或计算机在处理时使用的协议(传输层)。

(3)端口号。(port number)实际的通信是在设备或计算机上运行的应用程序间进行的。在TCP/UDP中通过端口号可以识别到底是哪两个应用程序在进行通信。

在这里,IP地址相当于“邮政地址”,而端口号相当于“建筑物的楼层”,如图2-7所示。

978-7-111-30673-3-Chapter02-11.jpg

图2-7 端口号

在实际应用中,由以下的5个要点组合起来用以识别通信:

1)送信目的地IP地址;

2)送信源IP地址;

3)送信目的地端口号;

4)送信源端口号;

5)协议号(TCP=6H,UDP=17H)。

(4)TCP和UDP的比较。用户使用的应用程序不同,对网络的要求也不同。当然如果对于每一种要求都制作一种固定的协议也是不切实际的。因此TCP和UDP被开发出来,用以满足必要的基本服务。

TCP的可靠性高,先选定发信至目的地的路径并连接,然后与通信对象进行双向的1对1通信。

UDP将应用数据向指定的送信目标单向传送,因为直接使用IP送信,所以通信速度快。

TCP和UDP特征的比较见表2-5。

表2-5 TCP和UDP特征的比较

978-7-111-30673-3-Chapter02-12.jpg

①多点广播(1对n)通信中的n是指处于同一以太网上的一个组中的多个设备。

②当网络中存在过多的数据包时,网络的性能就会下降,被称为拥塞。

③在连接打开时变更通信对象会造成通信中断,因此在通信已经建立的情况下,尽量不要临时变更通信对象。

可见,TCP最适用于需要将数据准确地传送到目的地的场合,UDP适用于在计算机画面中进行实时监视的场合。

(5)打开和关闭处理。TCP/IP通信中,通过建立连接(逻辑回路)来保证与对方设备间有一条专用回路。包括主动进行打开处理的主动打开和被动进行打开处理的被动打开,如图2-8所示。

打开处理:以太网模块的系统通过打开处理与对方设备建立连接,并使用该连接进行通信。

1)主动打开:对处于被动等待状态的对方设备,主动发送打开请求。以移动电话为例,向对方打电话即为主动打开处理。

978-7-111-30673-3-Chapter02-13.jpg

图2-8 打开处理示意图

2)被动打开:被动打开等待来自于主动打开的打开请求。

以移动电话为例,将电话开机进入来电等待状态就是被动打开处理。

被动打开有非被动(Unpassive)打开和完全被动(Fullpassive)两种。完全被动打开就是仅接收网络中某些特定设备发送给自己的主动打开请求,以移动电话为例,仅接听已登记号码的来电就是完全被动打开。非被动打开就是接收网络中所有设备发送给自己的主动打开请求,以移动电话为例,对不显示号码的来电也接听就是非被动打开。

关闭处理:关闭处理就是切断打开处理建立起来的与对方设备的连接(断开逻辑电路)。关闭处理正常结束之后,可以使用该连接与另一设备进行通信(对方设的变更)。以移动电话为例,通话后切断电话就是关闭处理。

打开/关闭处理的小结:以太网模块设定为主动打开时,对方设备应设定为被动打开。如果对方设备的打开状态已经确定,那么需要按图2-9所示来进行设定。

978-7-111-30673-3-Chapter02-14.jpg

图2-9 打开和关闭状态的设定

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈