TCP 连接状态和 Netstat 输出

文章翻译 文章翻译
文章编号: 137984 - 查看本文应用于的产品
展开全部 | 关闭全部

本文内容

概要

本文介绍了 TCP 连接状态,以及如何读取 Netstat (NETSTAT.EXE) 输出。

在 TCP 数据传输进行之前,必须先建立一个连接。 TCP 采用三向握手 (RFC793,第 3 章中找不到这样的详细信息:"功能的技术")。

更多信息

TCP 连接状态

下面是此握手的简短解释。在此上下文中"客户端"是对等方请求连接并在"服务器"是对等机器接受连接。请注意此表示法作为体系结构主体不会反映客户端/服务器的关系。

  1. 连接建立

    • 客户端发送 SYN 消息,其中包含服务器的端口和客户端的初始序列号 (ISN) 到服务器 (活动打开)。
    • 服务器会发送回其自己的 SYN 和 ACK (其中包括的客户端的 ISN + 1)。
    • 客户端发送一个 ACK,(其中包括的服务器的 ISN + 1)。
  2. 连接的关闭 (已修改的三种方式握手)。

    • 客户端发送一个 FIN (活动收盘)。这是一个现在半关闭连接。客户端不能再将数据,发送,但仍然能够从服务器接收数据。收到此 FIN 服务器进入被动关闭状态。
    • 服务器发送一个 ACK (这是客户端 FIN 序列 + 1)
    • 服务器发送其自身 FIN。
    • 客户端发送一个 ACK (这是服务器的 FIN 序列 + 1)。收到此 ACK 服务器关闭连接。
半关闭连接可用于终止发送数据时接收数据的窗台。套接字应用程序可以调用关闭与第二个参数设置为 1,以进入此状态。

Netstat 输出

可以在 TCP 标志下的网络跟踪中监视上面的 TCP 连接状态。也可能是通过运行 Netstat 实用工具并查看状态列确定连接的状态。 Netstat 随 Windows NT、 Windows 95 和 TCP/IP-32 为 Windows 提供的工作组。

状态说明,Netstat 中所示:
状态说明
------------ --------------------------------------------------------

SYN_SEND 指示活动打开。

SYN_RECEIVED 服务器只是 SYN 从客户端接收到。

已建立,则客户端接收到的服务器的 SYN,建立会话。

侦听服务器是准备接受连接。

注: 请参阅文档 listen() 套接字调用。TCP 套接字在侦听状态中的不显示-这是 NETSTAT 的限制。有关更多的信息,请参阅下面 Microsoft 知识库中相应的文章:
134404NETSTAT.EXE 不会显示 TCP 侦听套接字
FIN_WAIT_1 指示活动结束。

TIMED_WAIT 客户端活动关闭后进入此状态。

CLOSE_WAIT 指示被动关闭。服务器从客户端只接收到第一个 FIN。

FIN_WAIT_2 客户端只是其第一个 FIN 的确认从服务器接收到。

LAST_ACK 服务器处于此状态时它将发送其自身 FIN。

合服务器从客户端收到 ACK,并关闭连接。
作为一个的示例,请考虑以下情形:

套接字应用程序终止,但 Netstat 报告插槽 CLOSE_WAIT 状态中。这可能表明客户端正常关闭 (已发送 FIN) 连接,但服务器仍有打开的套接字。 这可能是在所有的线程或进程) 之间的不关闭套接字的一个实例的结果。

注: 它是时间的普通 TIME_WAIT 状态中的一套接字有较长。在指定时间 RFC793 中作为两次最大段生存时间 (MSL)。MSL 被指定为 2 分钟。因此,套接字可以处于 TIME_WAIT 状态为最长 4 分钟。某些系统为 MSL 实现不同的值 (小于 2 分钟)。

更多参考:
  • 通过 Douglas Comer 的"internetworking 使用 TCP/IP,卷 1"
  • "TCP/IP,卷 1"的所示刘维 Stevens。
  • "计算机网络"Andrew Tanenbaum 通过

属性

文章编号: 137984 - 最后修改: 2003年12月5日 - 修订: 3.0
这篇文章中的信息适用于:
  • Microsoft Windows NT Workstation 3.5
  • Microsoft Windows NT Workstation 3.51
  • Microsoft Windows NT Server 3.5
  • Microsoft Windows NT Server 3.51
  • Microsoft TCP/IP for Windows for Workgroups 3.11
  • Microsoft Windows 95
关键字:?
kbmt KB137984 KbMtzh
机器翻译
注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。
点击这里察看该文章的英文版: 137984
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。
不再更新的 KB 内容免责声明
本文介绍那些 Microsoft 不再提供支持的产品。因此本文按“原样”提供,并且不再更新。

提供反馈

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com