当前位置:  技术问答>linux和unix

请问RST在什么情况下发送?? 使用TCP socket编程的话是否会引起这种TCP包的发送?

    来源: 互联网  发布时间:2015-12-17

    本文导语:  请问RST在什么情况下发送?? 使用TCP socket编程的话是否会引起这种TCP包的发送? | 从google上查找到的,主要发生在非正常的TCP连接中.原文如下: RST is an abnormal close, also called "slamming the conne...

请问RST在什么情况下发送?? 使用TCP socket编程的话是否会引起这种TCP包的发送?

|
从google上查找到的,主要发生在非正常的TCP连接中.原文如下:

RST is an abnormal close, also called "slamming the connection shut." It happens under several circumstances, but none of the common ones are documented in the Stevens diagram. Two of these cases you can cause from Winsock: the first method is to set SO_LINGER to 0 with setsockopt()  and then call closesocket(). The second method is to call shutdown() with how equal to 2, optionally followed by a closesocket() call.

From the Winsock client level, the two other common RST occurrences are "connection refused" and "remote peer terminated connection." The first happens when you try to connect to a port that isn't open on a remote machine. The second happens as a result of the remote peer using one of the two RST-forcing methods above; alternately, the application could have crashed, and the peer's stack sent out a RST for its connection. Another way this can happen is the remote peer catastrophically crashed, and then after the remote machine came back up, your program sent it a packet which the stack rightfully had no way of delivering, so it replied with a RST packet, because the connection's 5-tuple is now invalid.

Generally speaking, RST signals a problem of some kind: either something bad happened to the connection, or there's a bug somewhere. For example, some firewalls improperly use the RST bit to signal a closed connection. The solution, of course, is to replace the firewall product. :)

|
1,三路握手完成,连接建立,客户TCP发一个RST.
2,写一个已经关闭的套接口,收到对方发送的RST

|
看网络编程卷一,很详细

|
TCP SOCKET是会引起的
比如你客户端connect一个服务器未提供服务的端口,服务器会发送RST到客户端;
还有使用close + SO_LINGER
还有重传超时,keepalive等记时器超时。。。。。
TCP/IP illustrated v1 & v2也有介绍

|
目的TCP端口不在监听,或端口无法建立连接时(比如在2msl)
看看tcp/ip详解第一卷

    
 
 

您可能感兴趣的文章:

  • *** 高分, 请问如何发送一个事件, 比如发送一个Tab键? ***
  • 请问在netfilter的forward点上怎么将原来从eth0发送的数据包转向由eth1发送啊?
  • 请问网络连接断开,如何让数据在联网后连续发送?
  • 请问在文本终端下,怎么用shell命令使网卡发送数据?
  • 请问使用SELECT()函数怎么监测串口发送数据?
  • 请问如何从串口发送字符串"102a34"?
  • 请问怎样把数据发送到网页?
  • IT科技资讯 iis7站长之家
  • 请问怎么通过Socket发送一个int数值?急,谢谢!!
  • [求助]请问socket编程中send()函数可以发送整形数据吗?
  • 请问如何向servlet发送消息。源可以是applet或application或其他的什么东东。
  • 请问linux下socket编程服务器数据只能发送不能接收吗?
  • 请问如何判断从raw socket发出的包是哪个进程发送的?
  • 请问怎样用JAVAMAIL实现自动给用户发送邮件的功能?弄好了送100分
  • 请问怎样发送键盘信号?
  • 请问发送数据成功后返回的ack是在内核的什么地方处理的?
  • 我想用jsp做个发送邮件的程序,请问需要什么服务器?怎样配置?最好还能提供一个简单的测试程序!谢谢!
  • 请问新浪,网易,263上面的给手机发送图片,短信,铃声的Web是用什么做的?
  • 请问一个使用JMS发送消息的问题:
  • 请问手机发送接受邮件的原理是什么?
  • 请问怎么知道每个TCP连接所属哪个进程??还有怎么样断开系统中任意一个TCP连接?
  • 请问哪有 比较专业的TCP/IP网站???
  • 请问如何设计tcp数据包啊??
  • 请问如何才能找到<netinet/tcp.h>
  • 请问在linux上tcp能够接收的最大连接数是多少?
  • 请问:哪里可以下tcp/ip详解书上程序的源码
  • 请问linux的TCP/IP编程和unix是一样的吗?
  • 请问使用TCP/IP时,服务器阻塞的问题。(在线讨论)!!
  • 我想学习linux的tcp/ip协议栈,请问从哪里入门
  • 请问谁有在Dos 6.X下利用TCP/IP软件包进行开发的经验
  • 看过《tcp/ip详解》3卷,请问下书中原代码编译问题
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 请问引起IllegalArgumentException的主要原因是什么?
  • 请问如何解决因为库的版本与文件系统不兼容引起的段错误?
  • 请问:我知道路由器的telnet密码,但忘记了enable 密码,请问如何是好?
  • 请问那里有SYBASE的jbdb 2.0下载;jspsmartupload可以直接将文件上传到数据库,请问如何使用
  • 请问最新的reahat9.0是基于什么核心的?2.4?2.6?请问那里能下载?
  • 请问:请问哪里有关于linux基本操作命令讲解的资料下载,最好是幻灯片格式的.
  • 请问,我试图用#admintool&图形工具命令来安装sun workshop5.0,为什么进入的却是用户管理界面?请问具体该如何在solaris下安装应用软件
  • 请问在Redhat 9里,我从登录就是图形介面,请问如何在图形介面内进入命令行方式呢,谢谢
  • 请问玩过SOLARIS的高手门,在不正常关机后,就不能启动到windows公用桌面了,只能在命令提示模式下了,请问怎么解决这个问题啊?急~!~!
  • 请问:我在redhat下装了bochs-2.2.1-1.rpm,.装了后,想设置一下,但找不到bochsrc.fda.bxrc,请问这个文件在哪个曰录下啊。
  • 请问:在配置Qt时,很多文档都说在.profile,.login里加东西,但是我好像没有发现有这两个文件上,请问这些文件在哪个目录下啊
  • 请问:在GCC里的C程序里的变量的声明是不是只能在前面,而且相同类型的变量的声明只能放在一起?如果不是,请问怎么样可以解决这个问题.
  • 请问各位大虾,小弟今天开始学jsp了,这学期我们有java课,所以已经下载了jdk(好象是1.2),请问我的98环境怎么配置jsp环境呀?我的jdk可以运行.java程序,别的我就不知道了....谢谢!
  • 主机是WIN2000,我用的是LUNIX,请问是否可以共享上网? 如果可以请问如何设置? 500分答谢,龟儿食言!
  • 请问linux下GUI开发的问题!
  • 请问出现fstab文件丢失该怎么修复呀?
  • 请问这个方法如何调用?
  • 请问一个奇怪的问题!
  • 请问在网页中打开的新窗口,如何让其居中。
  • 请问我该学什么了
  • 请问安装zhcon,cxterm问题
  • 非常急! 请问daemontools 在red hat 9下的安装问题? 在线等待


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3