Replies: 1 comment 5 replies
-
|
@neyney10 Thank you for opening this discussion. I was also thinking about host layer dynamics at some time but after focused on building a reliable flow computation engine. Now that we can tell that it's being used/tested by several users, we can indeed start to expand it to other layers.
So what I propose is to provide us with more insights about what will be the per host event. An example:
Zied |
Beta Was this translation helpful? Give feedback.
5 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
I would like to extend this amazing tool to extract more features from other layers.
NFStream currently only extracts data related to flows/sessions, but we can look at the traffic in the prespective of Hosts (sent/recv flows/sessions/packets from host) and timed-windows.
So I've started to look into the engine's internals and came across the function of "packet_fanout"
reference
nfstream/nfstream/engine/engine_cc.c
Line 500 in ed42a79
which is responsible for distributing packets to meters by using a hash of the 6 tuple, i.e, packets of the same flow will go to the same meter.
reference
nfstream/nfstream/engine/engine_cc.c
Line 559 in ed42a79
This by itself make it hard for me to distribute all packets that are related to some host to a specific meter, and the data can be spread across meters, If I change the hash value computation to match a host, it will be problematic as well because each packet has source host (src ip) and destination host (dst ip) which means the system need to somehow remember which host has shared packets with some other hosts (as they share a flow/session), some way is to use the "direction" of the packet to separate the logic to "this host sent this packet" and "this host received this packet" which then each host can live in different meters, and a the associated flow can be in one of the meters only (or even more, should I maybe seperate bidrectional-flows to unidirectional-flows for this kind of scenario?), ofcourse, all fo this by still not maintaning a good balance of workload between meters.
I have 2 questions:
Beta Was this translation helpful? Give feedback.
All reactions