TCP连接资料2
来源:互联网 发布:sql怎么设置两个主键 编辑:程序博客网 时间:2024/05/01 22:24
RST复位报文段
TCP首部中的RST比特是用于“复位”的。一般来说,无论何时一个报文段发往基准的连接出现错误,TCP都会发出一个复位报文段。TCP在下列三种情况下产生RST复位报文段。
1.到不存在的端口的连接请求
产生复位的一种常见情况是当连接请求到达时,目的端口没有进程正在监听。对于UDP,当一个数据报到达目的端口时,该端口没在使用,它将产生一个ICMP端口不可达的信息;而TCP则使用复位。
2.异常终止一个连接
终止一个连接的正常方式是一方发送FIN,这也称为有序释放,因为在所有排队数据都已发送之后才发送FIN,正常情况下没有任何数据丢失。但也有可能发送一个复位报文段而不是FIN来中途释放一个连接,这也称为异常释放。异常终止一个连接对应用程序来说有两个优点:(1)丢弃任何待发数据并立即发送复位报文段;(2)RST的接收方会区分另一端执行的是异常关闭还是正常关闭。
3.检测半关闭连接
如果一方已经关闭或异常终止连接而另一方却还不知道,我们将这样的TCP连接称为半打开的。任何一端的主机异常都可能导致发生这种情况。只要不打算在半打开连接上传输数据,仍处于连接状态的一方就不会检测另一方已经出现异常。下面介绍一种建立半打开连接的情形。在bsdi上运行Telnet客户程序,通过它和svr4上的丢弃服务器建立连接。接着断开服务器主机与以太网的电缆,并重启服务器主机。这可以模拟服务器主机出现异常(在重启服务器之前断开以太网电缆是为了防止它向打开的连接发送FIN,某些TCP在关机时会这么做)。服务器主机重启后,我们重新接上电缆,并从客户向服务器发送一行字符。由于服务器的TCP已经重新启动,它将丢失复位前连接的所有信息,因此它不知道数据报文段中提到的连接。TCP处理的原则是接收方以复位作为应答。
参考资料:
1.《TCP/IP详解 VOL.1》 18.7节
- TCP连接资料2
- TCP相关资料的搜集:如:连接队列
- TCP连接
- TCP连接
- TCP连接
- TCP连接
- TCP连接
- TCP连接
- TCP连接
- TCP连接
- tcp连接
- TCP连接
- TCP/IP资料
- TCP 资料收集
- TCP、UDP 相关资料
- TCP/IP 之TCP协议(2):连接和状态
- TCP学习(2)--TCP连接的建立(三次握手)
- MyIM2006开发报告2:Tcp连接
- Android学习笔记03: 通过setContentView切换Activity的View,保存动态修改后的视图
- LoadRunner本地网站压力测试记录1
- 网络中的商标交易
- 1027. Colors in Mars (20)
- 如何Android数据库缓存进行管理
- TCP连接资料2
- C++ 虚函数表解析
- 单例模式的常见应用场景
- MAC下安装与配置MySQL
- 如何将Eclipse 中Java project 转变为 Tomcat 下的Struts B/S项目
- NSArray ,NSSet, NSDictionary
- 初探C#的打印功能
- GRE词汇常出现的错误
- Android studio运行时乱码 编码问题 閿欒: 缂栫爜UTF-8鐨勪笉鍙槧灏勫瓧绗?