An overlay network is a virtual network build on top of another network. The purpose of creating a virtual network is to adapt the underlying infrastructure to some specific needs. For example, the Internet itself is an overlay network build on top of diverse technologies employed to push bits. A multicasting group is another, more dynamic example of such a network.
While overlay networks were important earlier, the arrival of pragmatic peer-to-peer (p2p) networks emphasized the need for more theoretical work. Participation in a p2p collaboration is very dynamic: nodes come and go with some non-deterministic distribution. There is no management infrastructure as is the case with many most of the Internet and local networks (such as Ethernet-based LANs). Therefore, a p2p network has to self-manage - or self-organize in other words. That involves accommodating nodes joining the network and nodes leaving it. To the minimum, the new node has to be tied somehow to the others, but it may also need to assume a role of a local manager for example. On the other hand, a node leaving the network might cause others to be orphaned or incapacitated in some other way (for example, if it acted as a local coordinator).