There is nwdiag which is part of blockdiag: http://blockdiag.com/en/nwdiag/index.html
Unfortunately, it seems the package is abandoned with the maintainer being unresponsive. But I've been using it within Sphinx to generate some documentation for a Bluetooth protocol, and it generates pretty useful diagrams.