I've got a host with OpenVZ installed on it with several containers.
I want to set up a virtual network between some of them but without having to use any physical devices but I'm new to OpenVZ and their wiki has no obvious solutions.
Switching from VENET networking to VETH networking would be ideal for that. With VETH you add interfaces of containers to bridges (see "brctl show", "brctl add", and others). OpenVZ wiki describes how to setup VETH. It's pretty easy but don't skip any steps.
Once setup, you just create persistent bridge devices on the HN and add a single line to each container conf (/etc/vz/config/*). When containers boot they will be in the private MAC-layer networks that you like.
I used this in production for 2 years on webservers and HPC clusters. It gives you all the neccessary control. I also found VETH high performance, reliable, and safe.