四次握手终止连接_Nestler的博客-程序员宅基地

技术标签: TCP/IP  

和建立连接时的三次握手类似,三次握手建立连接的标识为SYN,四次握手终止连接的标识为FIN。由于TCP连接是全双工,所以发送了FIN的一端只是关闭了发送连接,但仍然可以接受数据。所以,若要彻底关闭连接,则需要双方都发送FIN。

还是通过实验来观察四次握手流程。当通过SSH软件输入exit命令时,客户端发出带FIN标识的TCP包:


服务器收到FIN后,发送一个ACK包,确认序号应该为收到的序号加1, 但这里并没有加1,因为服务器接紧接着会发送一个FIN,在那个FIN中再让确认序号加1


同时,服务器也会发送一个FIN给客户端,果然这里的确认序号为收到序号加1,由于单独的ACK包不消耗序号,所以此TCP包的序号和上一个相同:


客户端收到FIN后,再返回一个ACK包,确认序号为收到序号+1,FIN和SYN一样需要消耗一个序号,所以这里的序号相对于第一次握手还是增加了1:


至此,四次握手结束,TCP连接断开。注意,连接通常是由客户端发起,关闭连接两端都能主动关闭,但通常由客户端决定何时终止连接。

附带一张连接建立和连接终止的整体流程图:


参考:
《TCP/IP详解》 P177.
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/jy02326166/article/details/25551591

智能推荐

广西高考成绩查询2021,广西2021高考成绩排名查询,广西高考个人成绩排名如何查询..._weixin_39626690的博客-程序员宅基地

一、广西高考个人成绩排名如何查询2020年广西高考成绩排名查询方法有两种,第一种可以通过广西招生考试院公布的高考成绩单上面的全省排名查询、第二种是根据2020年广西招生考试院公布的一分一段表来查询排名和位次。二、广西高考成绩排名位次如何使用1.什么是广西高考一分一段表广西高考一分一段表又称为一分段表,其实质就是考生所在省的所有考生按分数高低排序得到的一张位次;由于位次表中的每一分为一段,所以又称一...

java excel解析工具_easyexcel_壮泉四十的博客-程序员宅基地

easyexcel 是一个 JAVA 解析 Excel 工具。Java 解析、生成 Excel 比较有名的框架有 Apache poi、jxl 。但他们都存在一个严重的问题就是非常的耗内存,poi 有一套 SAX 模式的 API 可以一定程度的解决一些内存溢出的问题,但 POI 还是有一些缺陷,比如 07 版 Excel 解压缩以及解压后存储都是在内存中完成的,内存消耗依然很大。easyexcel...

【转】Java: 数字与字符串,相互转换的方法_djj810625的博客-程序员宅基地

**一、数字与字符串,相互转换的方法有如下这些,特别注意的是,不管使用哪种方法,字符串为空或者数字未初始化都是不允许的,编译或运行中会报错 二、自己实例中,值得学习第5小段代码**1如何将字串 String 转换成整数 int?  A. 有两个方法: //两种方法第1种比较方便,第2种需要建立Integer对象,并且对象函数最终...

qq.maps微信定位,逆地址解析(坐标位置描述)_红孩儿2011的博客-程序员宅基地

http://lbs.qq.com/service/webService/webServiceGuide/webServiceGcoder let _this = this; wx.ready(function () { wx.getLocation({ type: 'wgs84', // 默认为wgs84的gps坐标,如果要返回直接给...

关于泰森多边形(转两篇)_weixin_30677073的博客-程序员宅基地

1privatevoidCreatVoronoi()2{3//判定图层是否存在4IMappMap=axMapControl1.Map;5if(pMap.LayerCount==0)6{7MessageBox.Sh...

Silverlight 自定义navigation机制_diaoliti2465的博客-程序员宅基地

1) TypeNameContentLoader2) XmlContentDriverContentLoader3) Combining navigation framework and prism to create MVVM applications4) Integrating prism region navigation with silverlight frame ...

随便推点

C#ComboBox自动搜索框功能的实现(三)_weixin_30483495的博客-程序员宅基地

usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Windows.Forms; ...

python谱聚类算法_谱聚类的python实现_weixin_39987985的博客-程序员宅基地

什么是谱聚类?就是找到一个合适的切割点将图进行切割,核心思想就是:使得切割的边的权重和最小,对于无向图而言就是切割的边数最少,如上所示。但是,切割的时候可能会存在局部最优,有以下两种方法:(1)RatioCut:核心是要求划分出来的子图的节点数尽可能的大分母变为子图的节点的个数 。(2)NCut:考虑每个子图的边的权重和分母变为子图各边的权重和。谱聚类的整体流程?计算距离矩阵(例如欧氏距离)利用K...

QT学习笔记-自定义控件2_Hardy20200507的博客-程序员宅基地

mywidget.h#ifndef MYWIDGET_H#define MYWIDGET_H#include <QWidget>namespace Ui {class MyWidget;}class MyWidget : public QWidget{ Q_OBJECTpublic: explicit MyWidget(QWidget *parent = nullptr); ~MyWidget(); //提供设置slider的calue接

matlab怎样建立一个表,使用1D数组在matlab中创建一个列表?(Creating a one column table in matlab using a 1D array?)..._Eleny君君的博客-程序员宅基地

使用1D数组在matlab中创建一个列表?(Creating a one column table in matlab using a 1D array?)我试图将1D数组保存到MATLAB中的表中。 我希望将数据保存在一列中,包含5行数据,而不是5列包含一行数据(如下所示)。testarray = [1:5];testarray =1 2 3 4 5t=table...

poj1252 Euro Efficiency_missing_all的博客-程序员宅基地

Euro EfficiencyTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 3936 Accepted: 1694DescriptionOn January 1st 2002, The Netherlands, and several other Eur

计算机竞赛进省队可以保送吗,无意入坑竞赛,冒险进省队,最终一路冲进国集保送北大..._一起公考app的博客-程序员宅基地

清华北大作为我国的顶尖的学府,也是每一位学生都向往的高校。今天我们来看一位学习过物理竞赛的孟凡强同学,他曾遭遇挫折险些不能进入省队,而今却冲进国集保送北大。下面来看看他的经历对大家有什么启发。和物理竞赛结缘想起和物理竞赛结缘,不由觉得有些奇妙,而且也有趣。初二的时候无聊逛贴吧,看到了一篇民科的帖子。虽然打开方式似乎有些不太对,但也算开启了一扇新的大门。在帖子里,我第一次听说了相对论的名字,出于好奇...

推荐文章

热门文章

相关标签