Recent years have seen the emergence of the deployment of many distributed systems of global scale. In addition, one of the age-long requirements and goals of distributed systems is the attainment of large degree of scalability, the ability of a system to cope with ever increasing number of participants. As one of the solutions to this problem, the Peer-to-Peer (P2P) paradigm was introduced and immediately received increasing attention. This leads to the quick evolution of the P2P systems, which branched out into two main categories, namely the structured and the unstructured systems. Structured systems are based on a more sophisticated way of interconnection between the participants of the system, which enables more efficient communication primitives. At the same time, this rigidness limits the scalability of those systems. Unstructured systems, on the other hand, are based on a more loose interconnection structure. Although this structure makes it easier for those systems to scale to global deployment, the communication primitives are less efficient, thus limiting their scaling ability. In this thesis we present an effort to tackle this problem of unstructured systems in many levels. We develop novel algorithms which enable the communication primitives of unstructured systems to better scale to a higher number of participants by reducing the functional costs not only for the P2P system itself but also for the network medium used. Contributions of this thesis include (i) a novel broadcast-like technique which generates a much smaller amount of network traffic, (ii) a new participants interconnection structure which enables more sophisticated search methods without transforming an unstructured system to a structured one and (iii) another, complementary or stand-alone method to create the P2P overlay so as to allow the system to work in the same manner a before, but at the same time reducing the traffic load imposed on the network medium used by the system.