A bootstrapping node, also known as a rendezvous host, is a node in an overlay network that provides initial configuration information to newly joining nodes so that they may successfully join the overlay network. Bootstrapping nodes are predominantly found in decentralized peer-to-peer (P2P) networks because of the dynamically changing identities and configurations of member nodes in these networks.
When attempting to join a P2P network, specific discovery or membership protocols (or other configuration information) may be required, and, if a newly joining node is unaware of these protocols, the newly established joining node will not be able to communicate with other nodes and ultimately join the network. Furthermore, these protocols and configuration requirements may dynamically change as the infrastructure and membership of the P2P network evolves. Therefore, there is a need to be able to dynamically inform a newly joining node of the required protocols and configurations.
Identifying a bootstrapping node
A newly joining node may identify which nodes are bootstrapping nodes by using multiple different ways. New nodes may be pre-configured at creation with static addresses of the bootstrapping nodes. In such a case, the bootstrapping node addresses can not change, and therefore should be stable members of the network. Stable, in this case, meaning fault-tolerant and having no desire to leave the network. Alternatively, the bootstrap node can be identified via a DNS service, where a domain name resolves to one of the bootstrapping nodes' addresses. This allows the bootstrapping nodes' addresses to change as needed, and overly stable nodes are therefore not necessary.
Configuration information provided
The objective of the bootstrapping node is to provide newly joining nodes with sufficient configuration information so that the new node may then successfully join the network and access resources, such as shared content. Discovery protocol information can instruct the new node how to discover peers on the network. Membership protocol information can instruct the new node how to request-to-join and subsequently join peer groups on the network. Other configuration information, such as overlay network dependent instructions, may be provided. An example of overlay dependent instructions is instructing a new node how to obtain a zone of a CAN. Further configuration information may be designed for P2P network admission control, used when joining a network that supports trust management, and include such things as encryption/signature protocols or admission policies.
Networks that use bootstrapping nodes
- Francis, Paul (2000-04-02). "Yoid: Extending the Internet Multicast Architecture" (PDF). www.aciri.org. Retrieved 2008-12-24.
- Traversat; et al. (2006-06-20). "US Patent 7,065,579". Retrieved 2008-12-23.
- Saxena; et al. (2003). "Admission Control in Peer-to-Peer: Design and Performance Evaluation" (PDF). In ACM Workshop on Security of Ad Hoc and Sensor Networks (SASN) 2003. Retrieved 2008-12-24.
- Ratnasamy; et al. (2001). "A Scalable Content-Addressable Network" (PDF). In Proceedings of ACM SIGCOMM 2001. Retrieved 2008-12-23.