Cooperation in Open, Decentralized, and Heterogeneous Computer Networks
Total Page:16
File Type:pdf, Size:1020Kb
Cooperation in Open, Decentralized, and Heterogeneous Computer Networks Axel Neumann PhD Thesis by the Universitat Polit`ecnicade Catalunya Advisors: Leandro Navarro Llorenc¸Cerda-Alabern` Barcelona, Spain 2017 Cooperation in Open, Decentralized, and Heterogeneous Computer Networks. September 2017. Axel Neumann [email protected] Computer Networks and Distributed Systems Group Universitat Polit`ecnicade Catalunya Jordi Girona 1-3 C6, D6 08034 - Barcelona, Spain This dissertation is available on-line at the Theses and Dissertations On-line (TDX) repository, which is coordinated by the Consortium of Academic Libraries of Catalonia (CBUC) and the Supercomputing Centre of Catalonia Consortium (CESCA), by the Catalan Ministry of Universities, Research and the Information Society. The TDX repository is a member of the Networked Digital Library of Theses and Dissertations (NDLTD) which is an international organisation dedicated to promoting the adoption, creation, use, dissemination and preservation of electronic analogues to the traditional paper-based theses and dissertations This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/4.0/ or send a letter to Creative Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, USA. Acknowledgments I am so much grateful to my advisors, Leandro Navarro and Lloren¸cCerd`a-Alabern. Without their endless patience, guidance and support, this work would simply have been impossible. I would like to thank all the people and communities that stimulated and inspired this work Roger Baig (Guifi.net), Pau Escrich (Guifi.net, Libremesh.org), Roger P. Centelles (Guifi.net), Agusti Moll (Guifi.net), Thank you for all the dedication brought up for the idea of community networks. I would also like to thank my co-authors Ester Lopez (UPC) and Leonardo Maccari (UniTn). Lastly, I am thankful to my family for their tremendous support, hand holding, and grounding me. This work was partially supported by the following research projects: European Community Framework Program 7 FIRE Initiative project Community Networks Testbed for the Future Internet (CONFINE) FP7-288535, the H2020 Program netCommons H2020-688768, the Catalan government 2009-SGR-1167, and the Spanish government TIN2013-47245-C2-1-R and TIN2016-77836-C2-2-R. iii Summary Community Networks (CNs) are naturally open and decentralized structures, that grow organically with the addition of heterogeneous network devices, contributed and configured as needed by their participants. The continuous growth in popularity and dissemination of CNs in recent years has raised the perception of a mature and sustainable model for the provisioning of networking services that does not depend on the investment and willingness of profit-oriented traditional network service providers. However, because such infrastructures include uncontrolled entities with non delimited responsibilities, every single network entity does indeed represent a potential single-point of failure that can stop the entire network from working, and that no other entity can prevent or even circumvent. Given the open and decentralized nature of CNs, that brings together individuals and organizations with different and even conflicting economic, political, and technical interests, the achievement of no more than basic consensus on the correctness of all network nodes is challenging. In such environment, the lack of self-determination for CN participants in terms of control and security of routing can be regarded as an obstacle for growth or even as a risk of collapse. To address this problem we first consider deployments of existing Wireless Community Networks (WCNs) and we analyze their technology, characteristics, and performance. We start this investigation with the experimental evaluation of a production 802.11an WCN, and compare to studies of other WCNs deployments in the literature. In an effort to better assess the achievable and achieved path performance of existing deployments and its underlying routing protocol, we compare experimentally obtained throughput traces with path-capacity calculations based on well-known conflict graph models. We observe that in the majority of cases the path chosen by the employed BMX6 routing protocol corresponds with the best identified path in our model. We analyze monitoring and interaction shortcomings of CNs and address these with Network Characterization Tool (NCT), a novel tool that allows users to assess network state and performance, and improve their quality of experience by individually modifying the routing parameters of their devices. We also evaluate performance outcomes when different routing policies are in use. Routing protocols provide self-management mechanisms that allow the continuous operation of a Community Mesh Network (CMN) without requiring the users detailed technological knowledge, permanent monitoring and eventual manual intervention that would be otherwise be required. We focus on three widely used proactive mesh routing protocols and their implementations: BMX6, OLSR, and Babel. We describe the core idea behind these protocols and study the implications of these in terms of scalability, performance, and stability by exposing them to typical but challenging network topologies and scenarios. We evaluated the protocols experimentally using emulation, and the W-ILab.T testbed. That provided us with a realistic wireless medium and respective measurements, especially in terms of interference and CPU consumption. Our results show the relative merits, costs, and limitations of the three protocols. Built upon the studied characteristics of typical CN deployments, their requirements on open and decentralized cooperation, and the potential controversy on the trustiness of particular components of a network infrastructure, we propose and evaluate SEMTOR, a novel routing-protocol that can satisfy these demands. SEMTOR allows the verifiable and undeniable definition and distributed application of individually trusted topologies for routing traffic towards each node. One unique advantage of SEMTOR is that it does not iv v require a global consensus on the trustiness of any node and thus preserves cooperation among nodes with even oppositional defined trust specification. This gives each node admin the freedom to individually define the subset, and the resulting sub-topology, from the whole set of participating nodes that he considers sufficiently trustworthy to meet their security, data-delivery objectives and concerns. The proposed mechanisms have been realized as a usable and open-source implementa- tion called BMX7, as successor of BMX6. We have evaluated its scalability, contributed robustness, and security. Security achievements have been analyzed regarding the cor- rectness of specified guarantees and the performance that our implementation achieves, when encountering an attack of a wrongly trusted adversary, by propagating and applying respectively-updated trust specifications. Scalability has been analyzed with respect to network characteristics that are typical for existing network deployments such as size, density, dynamics, and the limited processing capabilities of nodes, but also with respect to new parameters such as the strength of crypto parameters or the frequency of reconfigured trustiness. These results show that the usage of SEMTOR for securing trusted routing topologies is feasible, even when executed on real and very cheap (10 Euro, Linux SoC) routers as commonly used in CMNs. vi Resumen Las Redes Comunitarias (CNs) son estructuras de naturaleza abierta y descentralizada, que crecen org´anicamente con la adici´onde dispositivos de red heterog´eneosque aportan y configuran sus participantes seg´unsea necesario. El crecimiento continuo en la popularidad y difusi´onde las CNs en los ´ultimosa~nosha ampliado la percepci´oncomo un modelo maduro y sostenible para la provisi´onde servicios de rede que no dependan de la inversi´on y disposici´onde proveedores comerciales de servicios de red tradicionales. Sin embargo, debido a que estas infraestructuras incluyen entidades con responsabilidades poco delimitadas, cada entidad en la red puede representar un punto de fallo que puede impedir que la red funcione y que ninguna otra entidad pueda prevenir o eludir. Dada la naturaleza abierta y descentralizada de las CNs, que agrupa individuos y organizaciones con diferentes e incluso contrapuestos intereses econ´omicos,pol´ıticosy t´ecnicos,conseguir poco m´asque un consenso b´asicosobre los nodos correctos en la red puede ser un reto. En este entorno, la falta de autodeterminaci´onpara los participantes de una CN en cuanto a control y seguridad del encaminamiento puede considerarse un obst´aculopara el crecimiento o incluso un riesgo de colapso. Para abordar este problema consideramos primero las implementaciones de redes comu- nitarias inal´ambricas (WCN) y se analiza su tecnolog´ıa, caracter´ısticas y desempe~no. Comenzamos esta investigaci´oncon la evaluaci´onexperimental de una WCN 802.11an establecida y se compara con estudios de otros despliegues similares en la literatura. Para evaluar mejor el rendimiento alcanzable y alcanzado por las implementaciones existentes y el protocolo de encaminamiento utilizado, comparamos las trazas de rendimiento experi- mentales con c´alculosde la capacidad de los caminos basados en modelos bien conocidos del grafo. Se observa que en la mayor´ıade los casos el camino elegido por el protocolo