I have a distributed system with components spread across multiple boxes. They talk to each other using tcp or multicast. Each components interchanges messages with each other -
You can checkout Zopkio : https://github.com/linkedin/Zopkio. Its an open source framework for functional and performance testing of distributed systems.