程序员必知的HTTP知识,TCP三次握手,四次挥手,TCP与UDP的相同与区别(一)

编程入门 行业动态 更新时间:2024-10-24 12:27:28

程序员必知的HTTP知识,TCP三次握手,<a href=https://www.elefans.com/category/jswz/34/1767084.html style=四次挥手,TCP与UDP的相同与区别(一)"/>

程序员必知的HTTP知识,TCP三次握手,四次挥手,TCP与UDP的相同与区别(一)

TCP三次握手协议
1、客户端(client)想要建立连接,向服务端发送消息(server),SYN,等待服务端的响应。
2、服务端在接收到客户端的SYN包后,会对客户端进行ACK响应,同时也会发送自己的SYN包,即发送SYN+ACK包。
3、客户端收到服务端的响应SYN后,向服务端发送确认包ACK后。此包发送完毕,代表TCP三次握手完成。

个人理解:之所以要进行反复确认,就是两端(客户端,服务端)都要确认自己既要有发送能力,又要有接收能力,同时也要确认对方有接收,发送能力。

第一次握手:客户端发送SYN,服务端就接收。这个时候客户端发出去了,但是他自己不能确认自己是否发出去了。
第二次:服务端接收到消息。这时候服务端自己知道 客户端有发送能力了,同时自己(服务端)的接收能力没问题,所以告诉客户端没问题(ACK),同时发出去自己的SYN状态码。
第三次: 客户端接收到服务端的消息,这个时候可以确认服务端有发送能力,同时自己(客户端)有接收能力,也有发送能力.。所以再一次的将确认发出去,当服务端收到时候,服务端自己也可以确认服务端有发送能力,客户端有接收能力

所以这就为什么要三次握手,三次是最小的安全次数,可以保证通信的双方都具有发送消息和接收响应的能力。

TCP四次挥手
1、客户端发送FIn,等待服务端确认
2、服务端收到释放请求后,发送ACK确认。这个时候服务端已经不会在接受客户端的东西,但是依旧会发送数据(做事不能虎头蛇尾,还要吧最后的事情干完),当前了,客户端也依旧可以接受到信息。
3、服务端吧最后的数据发完之后,也想向客户端发送FIN,等带确认
4、客户端收到后发送ACK确认,当服务端收到后,连接断开。(当然在客户端发出ACK确认保温,而服务端还没有接受收到的时候,还有一个短暂的间隙2MSL,这个间隙如果服务端发送,还是会再次连接的)

个人理解
比如两人谈恋爱,
1、男方说,分手吧,不合适
2、女方接收到,想着在挽回,但是这个时候男方冷暴力不理女方,女方依旧做着付出
3、女方忍不了了,说,那就分手吧
4、男方收到消息说,好(ACK确认),这种时候男生是脆弱的,如果女方来一句挽回,说不定就真的不分手了,但是大多数情况下,是没有机会挽回了。直接分手

TCP与UDP的相同与区别

相同:两个协议均是传输层的协议
不同:
1、TCP面向连接(三次握手);UDP是无连接的,即发送数据之前不需要建立连接
2、TCP传输可靠,没有差错,不丢包。UDP比较佛系,尽自己最大的能力传输,不可靠
3、因为是握手,注定是一对一的,UDP支持一对一,一对多,多对一和多对多的交互通信(角色更多)
4、TCP对系统资源要求较多(频繁是握手,挥手),UDP对系统资源要求较少。

更多推荐

程序员必知的HTTP知识,TCP三次握手,四次挥手,TCP与UDP的相同与区别(一)

本文发布于:2023-07-28 16:31:29,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1250576.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:四次   程序员   区别   知识   TCP

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!