当前位置:网站首页>TCP三次握手、四次断开
TCP三次握手、四次断开
2022-08-08 23:43:00 【仲夏夜之梦~*ω*】
TCP三次握手、四次断开
三次握手:双方在确认对方的序列号, ack序列号+1表明已经确认
(1)首先客户端向服务器端发送一段TCP报文,表示“请求建立新连接”。
(2)服务器端接收到来自客户端的TCP报文,并同意创建新连接”(即告诉客户端,服务器收到了他的数据)。
(3)客户端接收到来自服务器端的确认收到数据的TCP报文之后,明确了从客户端到服务器的数据传输是正常的。
“第三次握手”是客户端向服务器端发送数据,这个数据就是要告诉服务器,客户端有没有收到服务器“第二次握手”时传过去的数据。若发送的这个数据是“收到了”的信息,接收后服务器就正常建立TCP连接,否则建立TCP连接失败,服务器关闭连接端口。由此减少服务器开销和接收到失效请求发生的错误。
1、为什么需要三次握手?
相当于需要双向确认
client 发出的第一个连接请求报文段并没有丢失,而是在某个网络结点长时间的滞留了,以致延误到连接释放以后的某个时间才到达 server。本来这是一个早已失效的报文段。但 server 收到此失效的连接请求报文段后,就误认为是 client 再次发出的一个新的连接请求。于是就向 client 发出确认报文段,同意建立连接。假设不采用 “三次握手”,那么只要 server 发出确认,新的连接就建立了。由于现在 client 并没有发出建立连接的请求,因此不会理睬 server 的确认,也不会向 server 发送数据。但 server 却以为新的运输连接已经建立,并一直等待 client 发来数据。这样,server 的很多资源就白白浪费掉了。采用 “三次握手” 的办法可以防止上述现象发生。如刚才那种情况,client 不会向 server 的确认发出确认。server 由于收不到确认,就知道 client 并没有要求建立连接。”
四次断开(标准断开)
1、当主机A确认发送完数据且知道B已经接受完了,想要关闭发送数据口,就会发FIN给主机B。
2、主机B收到A发送的FIN,表示收到了,就会发送ACK回复。
3、但这时B可能还在发送数据,没有想要关闭数据口的意思,所以FIN与ACK不是同时发送的,而是等到B数据发送完了,才会发送FIN给主机A。
4、A收到B发来的FIN,知道B的数据也发送完了,回复ACK, A等待之后,没有收到B传来的任何消息,知道B已经收到自己的ACK了,A就关闭链接,B也关闭链接了。
有三次断开
可以三次 把fin ack一次发送
也可以两次断开 一般是服务为了节约资源
2.为什么需要四次断开?
断开的决定权不在四层(TCP), 需要请求应用程序指示
这是由于TCP的半关闭造成的,因为TCP连接是全双工的( 即数据可在两个方向上同时传递)所以进行关闭时每个方向上都要单独进行关闭,这个单方向的关闭就叫半关闭. 关闭的方法是一方完成它的数据传输后,就发送一个FIN来向另一方通告将要终止这个方向的连接.当一端收到一个FIN,它必须通知应用层TCP连接已终止了这个方向的数据传送,发送FIN通常是应用层进行关闭的结果.
边栏推荐
- 51nod1798 打怪兽
- 移动端真机调试:chrome://inspect/#devices打开inspect后出现空白页
- [Deep Learning] TensorFlow Learning Road One: Introduction to TensorFlow and Implementation of Linear Regression and Logistic Regression
- 牛客多校2 G League of Legends
- (2022杭电多校三)1002-Boss Rush(状压DP+二分)
- 时间对象的格式化
- Small program figure display banner
- 北斗网络同步时钟与GPS卫星时钟同步设备的区别
- 机器学习建模高级用法!构建企业级AI建模流水线
- RHCSA--第二天
猜你喜欢
随机推荐
神经网络学习笔记(1)
实用小技能:一键获取Harbor中镜像信息,快捷查询镜像
牛客练习赛88 D 克鲁斯卡尔重构树
13 Spark on RDD 全局累加器
(2022牛客多校四)N-Particle Arts(思维)
如何学好编程
win10:如何修改以太网名字
[PP-YOLOv2] Training a custom dataset
51nod 2887 抓小偷 平面图最小割转换成最短路
最小生成树prim 求得 树上两点之间的最大最小值
最常用正则表达式
启牛商学院靠不靠谱呢?证券账户开了安全吗
生成二维码容错级别的问题
(2022杭电多校三)1009.Package Delivery(贪心)
我们的爱恨情仇:人性-关系-危机-和谐的科学研究
[QNX Hypervisor 2.2用户手册]10.13 shmem - 更新中
(2022杭电多校六)1010-Planar graph(最小生成树)
Common problems in installing mysql in linux environment and using it
win10电脑:电脑触摸板控制
MES对接Simba实现展讯平台 IMEI 写号与耦合测试