I decided to take a crack at an audio representation of network traffic. The solaris version of ping used to have an audio option, which would produce sound for successful pings. In the past I've used audio queues to monitor events like service health and build status.
It seemed like you could produce audio to give an overall feel for what was happening on the network. I was imagining a quick listen would be able to answer questions like:
- How busy is the network
- How many sources are active
- Is the traffic a lot of streams or just a few?
- Are there any interesting events such as packet loss or congestion collapse going on?
- What's the mix of services involved
I divided the project into three segments, which I will write about in future entries:
- What parts of the network to model
- How to present the audio information
- Tools and implementation
I'm fairly happy with what I have. It doesn't represent all the items above. As an example, it doesn't directly track packet loss or retransmissions, nor does it directly distinguish one service from another. Still, just because of the traffic flow, rsync sounds different from http. It models enough of what I'm looking for that I find it to be a useful tool. And I learned a lot about music and Linux audio. I also got to practice designing discrete-time control functions in ways that brought back the halls of MIT.