Docker Networking or virtual Networking

I have seen the docker beginners and advanced docker course. I am glad about the courses are really straight into concepts. The explanation about networking is reasonable.
I need more resources to read about virtual networks.
how one can create a virtual network?
basically want to understand more how virtual network uses underlay or actual physical infrastructure network to communicate like overlay network?