rst是复位报文 几种TCP链接中出现rst的情况
来源:互联网 发布:蜂云网络 51订货网 编辑:程序博客网 时间:2024/05/16 02:21
服务器程序端口未打开而客户端来连接。这种情况是最为常见和好理解的一种了。去 telnet 一个未打开的 TCP 的端口可能会出现这种错误。这个和操作系统的实现有关。在某些情况下,操作系统也会完全不理会这些发到未打开端口请求 。
当然在某些操作系统的主机上,未必是这样的表现。比如向一台 WINDOWS7 的主机发送一个连接不存在的端口的请求,这台主机就不会回应 。
2 请求超 时
曾经遇到过这样一个情况 : 一个客户端连接服务器, connect 返回 -1 并且 error=EINPROGRESS 。 直接 telnet 发现网络连接没有问题。 ping 没有出现丢包。用抓包工具查看,客户端是在收到服务器发出的 SYN 之后就莫名其妙的发送了 RST 。
有 89 、 27 两台主机。主机 89 向主机 27 发送了一个 SYN ,表示希望连接 8888 端口,主机 27 回应了主机 89 一个 SYN 表示可以连接。但是主机 27 却很不友好,莫名其妙的发送了一个 RST 表示我不想连接你了 。
后来经过排查发现,在主机 89 上的程序在建立了 socket 之后,用 setsockopt 的 SO_RCVTIMEO 选项设置了 recv 的超时时间为100ms 。而我们看上面的抓包结果表示,从主机 89 发出 SYN 到接收 SYN 的时间多达 110ms 。(从 15:01:27.799961 到15:01:27.961886 , 小数点之后的单位是微秒)。因此主机 89 上的程序认为接收超时,所以发送了 RST 拒绝进一步发送数据 。
3 提前关 闭
4 在一个已关闭的 socket 上收到数 据
如果某个 socket 已经关闭,但依然收到数据也会产生 RST 。
- rst是复位报文 几种TCP链接中出现rst的情况
- 几种TCP连接中出现RST的情况
- 几种TCP连接中出现RST的情况
- 几种TCP连接中出现RST的情况
- 原 几种TCP连接中出现RST的情况
- 几种TCP连接中出现RST的情况
- 几种TCP连接中出现RST的情况
- 几种TCP连接中出现RST的情况
- 几种TCP连接中出现RST的情况
- 几种TCP连接中出现RST的情况
- 几种TCP连接中出现RST的情况
- 几种TCP连接中出现RST的情况
- 几种TCP连接中出现RST的情况
- 几种TCP连接中出现RST的情况
- 几种TCP连接中出现RST的情况
- 几种TCP连接中出现RST的情况
- TCP中出现RST包的几种情况
- 几种TCP连接中出现RST的情况
- C程序中常见的与存储器有关的错误
- 一步一步制作yaffs/yaffs2根文件系统(七)---真挚地道歉以及纠正前边出现的错误!
- 关于使用memset(a,0xff,sizeof(a)),输出-1的问题
- HTTP错误码
- CentOS 单个Tomcat 的启动服务脚本
- rst是复位报文 几种TCP链接中出现rst的情况
- Postfix重要数据结构
- 3345数据结构实验之二叉树六:哈夫曼编码
- @ModelAttribute和@SessionAttributes
- C++之动态链接库的封装与使用
- 数组连续子序列的最大的和;四种算法,四种时间复杂度
- elasticsearch-5.5.1安装head客户端
- OpenGL学习脚印:光源类型和使用多个光源(Light source and multiple lights)
- 深入理解javascript原型和闭包