TCP和UDP的介绍

介绍

这篇文章主要介绍”TCP和UDP的介绍”,在日常操作中,相信很多人在TCP和UDP的介绍问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答“TCP和UDP的介绍”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

什么是TCP/IP ?
计算机与网络设备要相互通信,双方就必须基于相同的方法,比如,如何探测到通信目标,由哪一边先发起通信,使用哪种语言进行通信,怎样结束通信等规则都需要事先确定。不同的硬件,操作系统之间的通信,所有的这一切都需要一种规则。而我们就把这种规则称为协议(协议).

TCP/IP是互联网相关的各类协议族的总称,比如:TCP、UDP、IP、FTP、HTTP、ICMP、SMTP等都属于TCP/IP协议族内的协议。像这样把与互联网相关联的协议集合起来总称为TCP/IP。也有说法认为,TCP/IP是指TCP和IP这两种协议。还有一种说法认为,TCP/IP是在IP协议的通信过程中,使用到的协议族的统称。
- - - - - - - - - - - - - - - - -
原文链接:https://blog.csdn.net/chaoshenzhaoxichao/article/details/79785318

一、定义

TCP:,传输控制协议(传输控制协议)是一种面向连接的,可靠的,基于字节流的传输层通信协议

UDP:用户数据报协议(用户数据报协议)是一个简单的面向数据报的传输层协议

二、TCP握的手,挥手

,所谓三次握手(三方握手)即建立TCP连接,就是指建立一个TCP连接时,需要客户端和服务端总共发送3个包以确认连接的建立。在套接字编程中,这一过程由客户端执行连接来触发,整个流程如下图所示:

 TCP和UDP的介绍

,,,,,,(1)第一次握手:客户端将标志位SYN置为1,随机产生一个值seq=J,并将该数据包发送给服务器,客户端进入SYN_SENT状态,等待服务器确认。
,,,,,,(2)第二次握手:服务器收到数据包后由标志位SYN=1知道客户请求建立连接,服务器将标志位SYN和ACK都置为1,ACK=J + 1,随机产生一个值seq=K,并将该数据包发送给客户以确认连接请求,服务器进入SYN_RCVD状态。
,,,,,,(3)第三次握手:客户端收到确认后,检查ack是否为J + 1, ack是否为1,如果正确则将标志位ack置为1,ack=K + 1,并将该数据包发送给服务器,服务器检查ack是否为K + 1, ack是否为1,如果正确则连接建立成功,客户机和服务器进入建立状态,完成三次握的手,随后客户端与服务器之间可以开始传输数据了。

,,,,所谓四次挥手(四通Wavehand)即终止TCP连接,就是指断开一个TCP连接时,需要客户端和服务端总共发送4个包以确认连接的断开。在套接字编程中,这一过程由客户端或服务端任一方执行关闭来触发,整个流程如下图所示:

 TCP和UDP的介绍

,,,,,,流程和状态在上图中已经很明了了,在此不再赘述,可以参考前面的四次挥手解析步骤。

,,,,,,,,为什么建立连接是三次握的手,而关闭连接却是四次挥手呢?
,,,,,,这是因为服务端在听状态下,收到建立连接请求的SYN报文后,把ACK和SYN放在一个报文里发送给客户端。而关闭连接时,当收到对方的鳍报文时,仅仅表示对方不再发送数据了但是还能接收数据,己方也未必全部数据都发送给对方了,所以己方可以立即接近,也可以发送一些数据给对方后,再发送鳍报文给对方来表示同意现在关闭连接,因此,己方ACK和鳍一般都会分开发送。

<强> TCP与UDP区别总结:

<李>

TCP面向连接(如打电话要先拨号建立连接),UDP是无连接的,即发送数据之前不需要建立连接。

<李>

TCP提供可靠的服务,也就是说,通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达;UDP尽最大努力交付,即不保证可靠交付。

<李>

TCP通过校验和,重传控制,序号标识,滑动窗口,确认应答实现可靠传输。如丢包时的重发控制,还可以对次序乱掉的分包进行顺序控制。

<李>

UDP具有较好的实时性,工作效率比TCP高,适用于对高速传输和实时性有较高的通信或广播通信。

<李>

每一条TCP连接只能是点到点的;UDP支持一对一,一对多、多对一和多对多的交互通信。

<李>

TCP对系统资源要求较多,UDP对系统资源要求较少

到此,关于“TCP和UDP的介绍”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

TCP和UDP的介绍