企业面试季:TCP、UDP你说必须知道的知识

本文深入解析UDP与TCP两种网络协议的主要区别,强调UDP的无连接特性及其轻便高效的优势,对比TCP的面向连接机制,包括数据传输过程中的三次握手与四次挥手流程,详细阐述了这些过程如何确保数据的有效性和可靠性。

UDP和TCP的区别

UDP与TCP最大不同之处在于UDP是无面向对象连接的,在数据传递之前不需要确认对方是否可以连接,不保证其数据有效性!没有任何控制流量的办法,不过其优点也很突出那就是轻便高效。

TCP则不同,每次连接或者断开连接的时候都需要进行握手,确保双方都知道对方的状态,而且在数据的传输过程中,其实可以控制流量,通过算法保证传递数据的有效性。

“三次握手,四次挥手”的理解?

1.1三次握手

客户端与服务器之间进行正常连接的时候,TCP客户端会发出一个SYN的消息,而服务器端会使用SYN+ACK作为回答告诉客户端自己已经接到这个消息,客户端再次以ACK消息响应。服务器知道客户端收到自己到底回答了,这样可靠的TCP便建立起来了。

建立连接时,客户端发送SYN包到服务器,等待服务器响应。(SYN 同步序列编号,是建立连接时使用的握手信号)。

服务器收到SYN包,使用ACK包进行确认应答,同时自己也会发送一个SYN包,即发送SYN+ACK包。

客户端收到服务器的SYN包,向服务器发送确认包ACK。此包发送完毕,代表TCP连接完成,完成了三次握手。

 

三次握手图解

1.2四次挥手

四次挥手是释放TCP连接的握手过程。

当传输结束的时候,客户端向服务端发送报文FIN等待服务器确认,并且自己主动停止发送数据。

服务器接到了客户端释放报文后,会发送ACK包表示自己知道其请求。

注意:虽然这个时候是收尾阶段,服务器与客户端都已经释放了,但服务器还在发送数据,客户端依旧会接收!

服务器将最后的数据发送完毕后,就向客户端发送连接释放报文FIN,等待客户端确认。

客户端收到服务器连接释放报文后,发出ACK包表示确认。此时客户端会进入TIME_WAIT状态,该状态将持续2MSL(最大报文段生存时间,指报文段在网络中生存的时间,超时将被抛弃)时间,若该时间段内没有服务器重发请求的话,就进入关闭状态,当服务端接收到ACK应答后,立即进入关闭状态。

 

三次握手与四次挥手图解

长按二维码,关注我们

新睿云,让云服务触手可及

云主机|云存储|云数据库|云网络


评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值