了解Tcp/ip三次握手四次挥手

三次握手

客户端向服务器发送请求 之前需要建立三次握手 这个握手是怎样建立的呢?

次数客户端服务端报文重点具体报文
第一次客户端发出一个小的包 要求建立连接 你能收到我的信息吗接收数据SYN包里是SYN=1 seq=x 包中不含数据
第二次接收数据服务端礼貌返回一个数据包 收到包确认信息 我能收到信息 你试试能不能收到我的信息SYN+ACK包里是SYN=1 ACK=1 seq=y ack=x+1 包中不含数据
第三次客户端发送我收到确认的信息 我能收到你发送的信息服务端接收数据ACKACK=1 seq=x+1 ack =y+1 包中不含数据

第三次主要是为了让服务端确认 服务端发送的信息客户端是可以接收的
只有经过三次握手之后才能确认:服务端发送和接收数据都没问题 ,客户端发送接收数据都没问题
注意:三次发送都是不含请求数据的小包 若发送没回复 会进行重试

三次握手之后发生

双方开辟资源 各有一个发送队列和接收队列

四次挥手

次数客户端服务端报文重点具体报文
第一次客户端发出一个小的包 我要跟你分手接收数据FINFIN=1 seq=u
第二次接收数据服务端返回一个数据包 收到包确认信息 哼 我知道了 我还不确认要不要分手FIN+ACKACK=1 seq=v ack=u+1
第三次接收数据服务端再发送一个数据包 确认自己也要断开连接 我也要分手 离就离呗FINFIN=1 ACK=1 seq=w ack=u+1
第四次发送数据 代表接收到断开的请求 好嘞 等的就是你这句话接收数据FINACK=1 seq = u+1 ack =w+1

为什么要建立四次?
因为双方建立连接时开辟了资源
如果不确认对方要断开连接就释放资源 但是当对方不想断连接时 连接已经不复存在了

建立连接网络断开会发生什么

双方建立连接后 是无感知的 会有一个确认心跳机制 发送报文 若确认没有心跳了 连接就会断开

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
TCP/IP协议中的三次握手是为了在客户端和服务端建立一个安全可靠的连接。在第三次握手时,客户端能够发出第三次握手报文,表示已经接收到来自服务端的第二次握手报文,从而确认连接的建立。此时,服务端的状态会切换为ESTABLISHED,可以开始传输数据了。\[1\] 三次握手的过程如下: 1. 客户端发送一个连接请求报文给服务端,表示想要建立连接。 2. 服务端接收到请求后,发送一个确认报文给客户端,表示已经收到请求。 3. 客户端接收到确认报文后,再次向服务端发送一个确认报文,表示已经收到服务端的确认。 至于为什么不进行四次握手,实际上是可以的,即在服务端收到客户端的第一次连接请求后,可以将ACK和SYN分两次发送给客户端。但这样做会浪费资源,因为一次能完成的事情为什么要分为两次呢?所以,TCP/IP协议采用了三次握手的机制来建立连接。\[2\]\[3\] #### 引用[.reference_title] - *1* [TCP/IP协议、三次握手四次挥手详解](https://blog.csdn.net/Q0717168/article/details/111933810)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [TCP三次握手四次挥手(详细+通俗)](https://blog.csdn.net/m0_38089031/article/details/108567936)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值