Fleutan - and operational FLUIDITY

Read in 4 min.

logo

Notion

What is Fleutan? It's meant as a general tooling suite around all sort of flowing connected apparitions on unixoid systems (especially linux). Though, it's far from complete and should meanwhile rather been seen as a first illustrating radicales to show the desire for standardized open meta tooling suits around advanced network concepts in unxoid systems. The purpose was also not to compete with anything around in this area but rather either augment (install operators with wieldability) it or complement it, since brilliant suits and low level tooling is amplesomely around in the open wild.

NB: This blog is rather meant as another tentacle to make the Project conveniently spottable and therefore rather sparse in order to prevent forming a duplicate of the Github appearance. Look for link at the top. Moreover, I gave a similar outline on quora.

Use Cases

Nominally, one would spin a SDN or comparable technologies allowing to take track of traffic as a minimum granularity on flow level as Fleutan does. In other words, some more or less centric component would do the aggregation and analysis in a holistic manner. Depending on the detail gathering strategies of a centric solution, though, for nifty trouble shooting or network related performance tuning decisions, only a closer look on the end nodes in scope makes a sane action taking or correlation tangible.

E.g., let's take a look at convenient way to see the associativity between active network processing entities (processes) and the cpu core usage distribution with Fleutan over time. This example is trivial, but it illustrates that from this one can quickly get an overview for which network intensive processes for instance affinity tunings on a global manner are profitable to performance. In this case, the firefox processes are rather dancing around and could be tuned.

# fleutan flows --cpu -i 5
~>/usr/lib/thunderbird/thunderbird(2847)
tcp              192.168.10.50#34718                     212.227.17.170#993
tcp              192.168.10.50#55258                     194.25.134.115#993
___

####################################################################################################
*************************************************************************          100.00          0
                                                                                     0.00          1
                                                                                     0.00          2
                                                                                     0.00          3
                                                                                     0.00          4
                                                                                     0.00          5
                                                                                     0.00          6
                                                                                     0.00          7
...
~>hexchat(11290)
tcp       2003:62:4655:968b:18d0:33a6:3314:7c7#34482               2001:5a0:3604:1:64:86:243:181#6667
tcp       2003:62:4655:968b:18d0:33a6:3314:7c7#38930               2a02:2f0d:bff0:1:81:18:73:123#6667
tcp       2003:62:4655:968b:18d0:33a6:3314:7c7#35660                 2605:ac00:0:39::38#6697
___

####################################################################################################
                                                                                     0.00          0
                                                                                     0.00          1
                                                                                     0.00          2
                                                                                     0.00          3
*************************************************************************          150.00          4
                                                                                     0.00          5
                                                                                     0.00          6
                                                                                     0.00          7
...
~>/usr/lib/firefox/firefox(11181)
tcp       2003:62:4655:968b:18d0:33a6:3314:7c7#59780                2a00:1450:4021:c::b#443
tcp       2003:62:4655:968b:18d0:33a6:3314:7c7#59774                2a00:1450:4021:c::b#443
tcp       2003:62:4655:968b:18d0:33a6:3314:7c7#44950               2a00:1450:4001:81f::200e#443
___

####################################################################################################
************************                                                            15.00          0
**************                                                                       9.00          1
***************************************                                             24.00          2
*****************************                                                       18.00          3
****                                                                                 3.00          4
                                                                                     0.00          5
**************************************************************************          45.00          6
***********************************************************                         36.00          7

On top, might wants to rebalance the flowing activity being currently gushed out of the network stack  over the different queueing discipline instances on the egress side of the stack.

# fleutan flows -q -i 5

qdisc queues #>
load (bytes) per qu
####################################################################################################
███████████████████████                                                              0.3K          0
██████████████████████████████████████████████████████████████████████████          1.00K          1
----

flowing volumes per qu ##>
0
#######################################################################################################################################################
████                                                         66.00                 192.168.10.50#47956         91.1.49.97#80                         
█████                                                        78.00                            ::#58                      ::#0                          
██████                                                       86.00          2003:62:4625:d1a4:a166:cf47:30a6:e612#51358 2a00:1450:4001:80b::200a#80    
██████                                                       86.00          2003:62:4625:d1a4:a166:cf47:30a6:e612#51360 2a00:1450:4001:80b::200a#80

----
flowing volumes per qu ##>
1
#######################################################################################################################################################
██████                                                       86.00          2002:22:4625:d1a4:a166:cf47:30a6:e612#51360 2a00:1450:4001:80b::200a#80    
███████                                                     112.00                 192.168.10.50#43660        192.111.249.9#443                        
████████████                                                172.00          2003:62:4625:d1a4:a166:cf47:30a6:e612#55834 2a02:26f0:fc::5c7a:317c#80     
██████████████████████████████████████████████████          710.00          2003:62:4625:d1a4:a166:cf47:30a6:e612#54292 2a00:1450:4001:819::200e#443

For further examples, please visit the Github appearance.

Thinkable Outlook

  • incorporation into current open monitoring/analysis solutions like the ELK stack solution, namely as a backend mechanism to gather flowing related stats
  • growing several APIs to it or turning parts of it to a generic library to make it's purpose spinnable from different technologies
  • having a look at growing RDMA flowing and incoroporate it into the suite
Category
Tagcloud
operations interpretation transmitting wan networks testbed cable to sky TX hint skb HAP flowing engineering tc tcp rmem ethtool bandwith product driver queues scaling KVM/Qemu satellites up/down link backbone internet transmission queues airborne networking stack config airborne internet backbone optics tcp wmem genbackupdata queuing discipline system operations rsync cp flowing Traffic Control traffic flows transeive window scaling congestion control theory queueing resource usage sending socket radio links transmit packet steering ibvirt FSO links egress data migration user land core emulator bottle-neck utility perf json flow grouping msi XPS net traversal NAPI comparison data series explanation machine readable wireless suite c-ISP future backbones ss cwnd speed of light stack traversal global backbone network high altitude platform vs Monitoring laser communication mechanism introspection network paths nfs space-to-earth-link trouble shooting virt-builder flent nic driver flows automation metrics airship softirq ebpf fibre backbone analysis bcc traffic volume multi queueing correlation internet engineering atmospheric mitigation techniques tcp python tcp/ip statistics linux engineering tool qdisc kernel research networking tcp flows Tuning performance linux network stack