Flowgrind is a testing and benchmarking tool to measure throughput and other metrics for
TCP.
It was originally developed to study performance and behavior of TCP variants within
Wireless mesh networks.
In contrast to similar tools like
Iperf
Iperf is a tool for network performance measurement and tuning. It is a Cross-platform software, cross-platform tool that can produce standardized performance measurements for any network. Iperf has Client (computing), client and Server (computin ...
or
Netperf
Netperf is a software application that provides network bandwidth testing between two hosts on a network. It supports Unix domain sockets, TCP, SCTP, DLPI and UDP via BSD Sockets. Netperf provides a number of predefined tests e.g. to measure bu ...
it features a distributed architecture, where throughput and other
metrics are measured between flowgrind
server
Server may refer to:
Computing
*Server (computing), a computer program or a device that provides functionality for other programs or devices, called clients
Role
* Waiting staff, those who work at a restaurant or a bar attending customers and su ...
processes. The Flowgrind
client
Client(s) or The Client may refer to:
* Client (business)
* Client (computing), hardware or software that accesses a remote service on another computer
* Customer or client, a recipient of goods or services in return for monetary or other valuabl ...
has
the purpose to schedule such measurements and collect the measurement data.
Inherent with this architecture and its designation for
Wireless mesh networks flowgrind supports:
* separation of measured traffic and control traffic (e.g., to measure the wireless performance, but don't let the control traffic interfere),
* a simultaneous measurement between any number of hosts running the flowgrind server (e.g., to create wireless crosstalk),
* uni-directional, bi-directional or sophisticated request/response tests (e.g., to simulate various usage scenarios and protocols) and
*
packet capture
A packet analyzer, also known as packet sniffer, protocol analyzer, or network analyzer, is a computer program or computer hardware such as a packet capture appliance, that can intercept and log traffic that passes over a computer network or ...
support (e.g., for offline in-depth traffic analysis).
Flowgrind allows the user to set various protocol parameters (e.g. the
Congestion control
Network congestion in data networking and queueing theory is the reduced quality of service that occurs when a network node or link is carrying more data than it can handle. Typical effects include queueing delay, packet loss or the blocking o ...
algorithm) individually for each connection. This can be used to explore how certain settings affect network utilization and how they may compete which each other.
Unlike most cross-platform testing tools, besides
application layer
An application layer is an abstraction layer that specifies the shared communications protocols and interface methods used by hosts in a communications network. An ''application layer'' abstraction is specified in both the Internet Protocol ...
metrics, Flowgrind can output some
transport layer
In computer networking, the transport layer is a conceptual division of methods in the layered architecture of protocols in the network stack in the Internet protocol suite and the OSI model. The protocols of this layer provide end-to-end ...
metrics, which are
usually internal to the
TCP/IP
The Internet protocol suite, commonly known as TCP/IP, is a framework for organizing the set of communication protocols used in the Internet and similar computer networks according to functional criteria. The foundational protocols in the suit ...
Stack. For example, on Linux this includes
the kernel's estimation of the end-to-end
round-trip
time and the size of the
congestion window.
See also
*
Iperf
Iperf is a tool for network performance measurement and tuning. It is a Cross-platform software, cross-platform tool that can produce standardized performance measurements for any network. Iperf has Client (computing), client and Server (computin ...
,
Netperf
Netperf is a software application that provides network bandwidth testing between two hosts on a network. It supports Unix domain sockets, TCP, SCTP, DLPI and UDP via BSD Sockets. Netperf provides a number of predefined tests e.g. to measure bu ...
,
Ttcp
The program ttcp (Test Transmission Control Protocol, TCP) is a utility for measuring network throughput, popular on Unix systems. It measures the network throughput between two systems using the Transmission Control Protocol, TCP or optionally ...
,
bwping
BWPing is a tool to measure bandwidth and response times between two hosts using Internet Control Message Protocol ( ICMP) echo request/echo reply mechanism. It does not require any special software on the remote host. The only requirement is th ...
: tools of a similar nature.
*
Measuring network throughput
Throughput of a network can be measured using various tools available on different platforms. This page explains the theory behind what these tools set out to measure and the issues regarding these measurements.
Reasons for measuring throughput i ...
*
Packet generation model
References
{{reflist
External links
Flowgrind HomepageFlowgrindat
GitHub
GitHub, Inc. () is an Internet hosting service for software development and version control using Git. It provides the distributed version control of Git plus access control, bug tracking, software feature requests, task management, co ...
Network performance