一个netflow记录等于一个session吗?

Is a netflow record equal to a session?

因为不太了解网络中session的定义 我有一个疑惑,一个netflow记录是否等于一个session? 如果我一次通过 FTP 上传一些文件到服务器,并产生 50
netflow 记录(相同的源和目标 IP 但端口不同)。这个进程等于50个session,还是服务器关闭连接后的进程只等于一个session?

比如这张照片:

非常感谢:)

简答;这一切都取决于。

无论是 Cisco 的 Netflow 格式(各种版本)、IETF 的 IPFIX 还是其他类似格式,在处理网络流时都有很多因素和变量。如果我们采用一种非常常见的格式,Netflow v5,一个流由 5 或 7 个元组定义(取决于定义的详细程度)。这些元组是;源和目标 IP 地址、源和目标端口以及协议(此外还有服务类型和入口接口索引)。此外,Netflow v5 是一种单向网络流协议,这意味着它会将来自服务器的连接与去往服务器的连接分开处理。因此,在一个方向上与该 5/7 元组定义匹配的任何 IP 数据包都将构成网络流并产生 Netflow 记录。在检查 Netflow 数据并将其与网络通信会话(它本身也可能根据其上下文有不同的定义)进行比较时,必须考虑所有这些因素。

似乎这还不够,还有一些特定于实现的变量和限制,可能会将一个会话拆分成多个记录。通常流协议实现各种超时,以便能够有效地收集和存储数据。 TCP 会话可能会在很长一段时间内打开连接,这使得流生成器很难在内存中保存和维护流。某些网络流格式能够定位此类拆分记录并将它们合并为一个单独的流记录。

因此,总而言之,开始处理网络流量的网络分析师很容易陷入认为一条记录等于一个会话的陷阱。这种假设有时可能是正确的,但并非总是如此。