网络通信中 TCP 产生 RST 的三个条件分析
RST 是 TCP 发生错误时发送的一种 TCP 分节( segment:传输层的 PDU ),可用来异常的关闭一个连接,此时客户端会返回一个 ECONNREFUSED 错误。
它会在以下三种情况下产生:
- 目的地为某个端口的 SYN 到达服务器,但并没有服务器在该端口监听。
- TCP 想取消一个已有连接,即异常地关闭连接。
- TCP 接收到一个根本不存在的连接上的分节。
第一种情况可能有如下原因:
客户端连接的端口不正确或者端口未打开(即服务器未运行)。
第二种情况可以查看第二个参考链接
第三种情况的原因:
服务端在接收到客户端部分数据后,主动关闭了连接(此时服务端处于 TIME_WAIT 状态,可以接收数据),但是客户端仍然继续在发送剩余数据。此时服务端会给客户端发送 RST。
RST 有什么用途?
在 TCP 连接发生异常情况时可以通过发送 RST 包告知对方关闭连接,不必等缓冲区的包都发出去(不像上面的FIN包),直接就丢弃缓存区的包发送 RST 包。而接收端收到 RST 包后,也不必发送 ACK 包来确认。
参考链接:
- https://blog.csdn.net/yang_chen_shi_wo/article/details/47398907
- https://blog.csdn.net/yusiguyuan/article/details/22515921
网络通信中 TCP 产生 RST 的三个条件分析相关推荐
- matlab中能控标准型,实验三利用Matlab分析能控性和能观性
<实验三利用Matlab分析能控性和能观性>由会员分享,可在线阅读,更多相关<实验三利用Matlab分析能控性和能观性(5页珍藏版)>请在装配图网上搜索. 1. 实验三 利用M ...
- 网络通信中TCP出现的黏包以及解决方法 socket 模拟黏包
粘包问题概述 1.1 描述背景 采用TCP协议进行网络数据传送的软件设计中,普遍存在粘包问题.这主要是由于现代操作系统的网络传输机制所产生的.我们知道,网络通信采用的套接字(socket)技术,其实 ...
- IP、MAC和端口号——网络通信中确认身份信息的三要素
在茫茫的互联网海洋中,要找到一台计算机非常不容易,有三个要素必须具备,它们分别是 IP 地址.MAC 地址和端口号. IP地址 IP地址是 Internet Protocol Address 的缩写, ...
- php nodename,JavaScript中nodeName nodeType nodeValue这三个属性分析
JavaScript中,存在有nodeName .nodeType. nodeValue这三个属性的区别 理解了这几个概念以后操作文档tree就比较容易上手 nodeName 刚学的时候我以为就是代表 ...
- 一起Talk Android吧(第三百二十四回:Android中网络通信之TCP通信模型一)
各位看官们,大家好,上一回中咱们说的是Android中网络通信之TCP客户端的例子,这一回中咱们说的例子是网络通信之TCP通信模型.闲话休提,言归正转.让我们一起Talk Android吧! 看官们, ...
- TCP报文格式和三次握手——三次握手三个tcp包(header+data),此外,TCP 报文段中的数据部分是可选的,在一个连接建立和一个连接终止时,双方交换的报文段仅有 TCP 首部。...
from:https://blog.csdn.net/mary19920410/article/details/58030147 TCP报文是TCP层传输的数据单元,也叫报文段. 1.端口号:用来标识 ...
- startupinfo为什么需要初始化_为什么 TCP 建立连接要三次握手
为什么这么设计(Why's THE Design)是一系列关于计算机领域中程序设计决策的文章,我们在这个系列的每一篇文章中都会提出一个具体的问题并从不同的角度讨论这种设计的优缺点.对具体实现造成的影响 ...
- mobaxterm为什么无法连接_为什么 TCP 建立连接需要三次握手
为什么这么设计(Why's THE Design)是一系列关于计算机领域中程序设计决策的文章,我们在这个系列的每一篇文章中都会提出一个具体的问题并从不同的角度讨论这种设计的优缺点.对具体实现造成的影响 ...
- 深入理解网络通信与tcp/ip协议
计算机网络发展简史 1.诞生阶段,20世纪60年代中期之前的第一代计算机网络是以单个计算机为中心的远程联机系统. 2.ARPANET,多个主机通过通信线路互联起来.60年代初.当时,美国国防部为了保证 ...
- TCP报文格式及三次握手详解
一.TCP报文格式 TCP 报文是 TCP 层传输的数据单元,也称为报文段.TCP 报文中每个字段如图所示. 在Wireshark中查看 图中 TCP 报文中每个字段的含义如下: 源端口和目的端口字段 ...
最新文章
- GitHub为所有人免费提供了所有核心功能-这就是您应该关心的原因
- 牛逼哄哄的布隆过滤器,到底有什么用?
- python创建矩阵行向量_python矩阵和向量的转置问题
- JavaScript---详解cookie
- ISV客户博客系列:iVoteSports通过Windows Azure扩展它的面向棒球的移动游戏应用程序...
- 晶振两端的谐振电容有特殊要求吗_干货 | 晶振电路设计诀窍
- 【JAVA SE】第十三章 序列化与反序列化
- Linux 编译时查找错误字符,编译Linux内核时出现“fatal error: linux/netfilter/xt_dscp: No such file or directory”...
- 自己写的一个执行带参数的sql,PreparedStatement
- 检查pandas是否存在一列或者多列
- 分享75个商务商城PHP源码,总有一款适合你
- 快手测试开发工程师面试
- 向量代数:混合积、双重外积与拉格朗日恒等式
- win10壁纸存储位置_这是Windows 10存储其默认壁纸的位置
- asan c/c++内存检测
- 基于TI 335X的工业网关参考设计
- 熊猫 PK27QA2 评测
- 学习笔记----层次分析法
- 读《黄自元间架结构九十二法》
- Java中super关键字及super()的使用
热门文章
- ADB Interface 找不到驱动程序
- postgresql集群方案hot standby初级测试(四)——xlog详细解释header
- android 获取IP地址
- 我对职业规划和未来发展的一些思考
- 数据分析模型篇—麦肯锡矩阵(GE矩阵)
- php自我介绍50字,【自我介绍50字左右】自我介绍50字
- CBAM、通道注意力、空间注意力学习
- 九度OJ题目1035:找出直系亲属
- 英语语法基础03(长难句)
- 查询失败,后台服务器运行错误,添加网络打印机错误?怎么处理?Windows 无法连接到打印机。 服务器打印后台处理程序服务没有运行。...