Nodes are clusterd. Cluster has a cluster range:CR. Every node is assigned an distance value: DV. which is the distance to the center. The center node's DV is 0. The network is connected with Gnutella protocol. But maintain a tree structure as shown in the graph.
When node joins the netwok. It has a neighbour list. While, it choose one from the nighbourlist whose degree is less than the maximum degree and whose DV<CR. It connect to this nighbour, and the neibhour assgin this node a DV as its DV+1. E.g. When a node joins and connects to the center node, it get DV 1, if it connects to a node with DV 1, it get DV 2. When it try to connect a node with DV 2, and if the CR is 2, it fails.