我在C中开发了一个网络流量分类程序,我使用了5个元组来确定流量。这5个元组是:
但是,除了确定一个流,我还必须决定流关闭的时间。首先,我计划在TCP中使用FIN标志,但我有一个问题:
它可以是多个包,其中包括FIN标志在流中。什么时候我才能确定流量是完全关闭的?
第二,如果我要使用超时机制来确定流是关闭/关闭的,那么时间阈值应该是多少?
发布于 2015-04-18 02:00:32
FIN标志指示发送方已完成发送,并将不再发送。另一方可以自由地继续发送或关闭或什么也不做。这被称为“半封闭”连接。一旦FIN通过了这两种方式,连接就会“关闭”。
如果主机不想再接收任何信息,它只会完全中断连接,并且只对所有传入的数据包使用RST进行响应。但是,如果不首先发送一个FIN以一种很好的方式指示关闭,那么这样做是“不好的形式”。
至于暂停..。TCP通常没有“空闲超时”。如果您指的是“无响应超时”,则取决于主机的配置。如果主机由于超时而中止连接,则可能会得到RST。
https://stackoverflow.com/questions/29708028
复制相似问题