确定网络流量中的关闭/关闭流量

时间:2015-04-17 19:39:16

标签: c network-programming tcp-ip libpcap packet-capture

我在C中开发了一个网络流量分类程序。我使用5元组来确定流量。 5元组是:

  1. 来源地址
  2. 目的地地址
  3. 源端口
  4. 目的地港口
  5. 协议(tcp,udp,dns等)
  6. 但是,除了确定流量之外,我还必须决定流量关闭的时间。首先,我计划在TCP中使用FIN标志,但我有一个问题:

    它可以是多个包,包括流中的FIN标志。我什么时候决定流量完全关闭?

    其次,如果我要使用超时机制来确定流量是关闭/关闭的,那么时间阈值应该是多少?

1 个答案:

答案 0 :(得分:1)

FIN标志表示发件人已完成,将不再发送。另一方可以继续发送或关闭或不做任何事情。这被称为“半封闭”连接。一旦FIN双向通过,连接就会“关闭”。

如果主机不想再接收,它只会完全断开连接,并且只对RST响应所有传入的数据包。不过,如果没有先发送一个FIN来表示关闭,那将是“糟糕的形式”。

至于超时...... TCP通常没有“空闲超时”。如果您指的是“无响应超时”,则取决于主机的配置。如果主机因超时而中止连接,则可能获得RST