TCP和 UDP

TCP和UDP是互联网协议中的两种传输层协议。TCP提供可靠的数据传输,通过三次握手建立连接,确保数据的有序无丢失,但效率较低。UDP则是快速且无连接的,不保证数据的可靠性,适用于实时应用。TCP的四次挥手过程确保连接的正确关闭。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

TCP和 UDP
TCP协议:
1、使用TCP协议前,须先建立TCP连接,形成传输数据通道;
2、传输前,采用“三次握手”方式,点对点通信,是可靠的;
3、TCP协议进行通信的两个应用进程:客户端、服务端;
4、在连接中可进行大数据量的传输;
5、传输完毕,需释放已建立的连接,效率低;
UDP协议:
1、将数据、源、目的封装成数据包,不需要建立连接;
2、每个数据报的大小限制在64K内;
3、发送不管对方是否准备好,接收方收到也不确认,故是不可靠的;
4、可以广播发送;
5、发送数据结束时无需释放资源,开销小,速度快;

在这里插入图片描述
在这里插入图片描述

TCP三次握手执行过程:
第一次握手:客户端将标志位SYN置为1,随机产生一个值序列号seq=x,并将该数据包发送给服务端,客户端 进入syn_sent状态,等待服务端确认。
第二次握手:服务端收到数据包后由标志位SYN=1知道客户端请求建立连接,服务端将标志位SYN和 ACK都置为1,ack=x+1,随机产生一个值seq=y,并将该数据包发送给客户端以确认连接请求,服务端进入syn_rcvd状态。
第三次握手:客户端收到确认后检查,如果正确则将标志位ACK为1,ack=y+1,并将该数据包发送给服务端,服务端进行检查如果正确则连接建立成功,客户端和服务端进入established状态,完成三次握手,随后客户端和服务端之间可以开始传输数据了。
在这里插入图片描述

TCP四次挥手:
四次挥手也是客户端发起的,客户端会发送一个报文,报文 FIN = 1 。
当服务端收到这个报文之后,就知道了客户端想要和我断开连接,但是此时服务端不一定做好准备,因为当客户端发起断开连接的报文的时候,服务端有可能还有未发送完的报文消息需要继续发送,所以此时服务端只能告诉客户端我知道你要和我断开连接了,但是我这里可能还没做好准备,需要等我一下,等会我会告诉你,于是,发完这个消息确认报之后。
稍过片刻之后服务端继续发送一个断开连接的报文,FIN = 1 ,表明服务端已经做好断开连接的准备,那么,当这个消息发给客户端的时候。客户端同样需要继续发送一个消息确认的报文,那么通过这四次的相互沟通和连接,我就知道了,不管是客户端还是服务端,都已经做好了断开的准备。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值