程序员必知的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对系统资源要求较少。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值