Decoupling State from Control in Software-Defined Networking
Total Page:16
File Type:pdf, Size:1020Kb
Decoupling State from Control in Software-Defined Networking Alberto Rodriguez-Natal Advisor: Albert Cabellos-Aparicio, PhD Co-Advisor: Fabio Maino, PhD Department of Computer Architecture Technical University of Catalonia This dissertation is submitted in partial fulfillment of the requirements for the degree of Doctor of Philosophy in Computer Science July 2016 To my parents, to my sister and to Andrea, of course “This is how you do it: you sit down at the keyboard and you put one word after another until it’s done. It’s that easy, and that hard.” - Neil Gaiman Acknowledgements I have always thought that the acknowledgments section is the most important part of a thesis for two reasons. First because you can find the research elsewhere, but you can onlyfind the acknowledgments here. Second because while the research evolves and the results get eventually obsoleted, the people you meet along the way remain. Therefore, I have been thinking on what to put in this section for a long time. However, now that I am finally writing it down I believe that I am making no justice to the people mentioned here. I can not find the words to express the gratitude I feel towards them. What follows is only a humble attempt. As it should be, the first lines are for my advisor, Albert Cabellos. Exceptional researcher, mentor and individual. With so many PhD advisors out there, I consider myself fortunate for having ended up under his supervision. His clear vision, endless motivation and pragmatism drove me through the most challenging periods of this thesis. Thanks also for always giving me honest feedback, even when I was not going to like it. However, for what I must thank him most is for his advice beyond what concerns research. His down-to-earth recommendations and life pro tips came really handy countless times. For those I am as thankful as for his research guidance. Thanks also for being a proficient geek with whom exchange obscure references on movies and comics. Unfortunately, at the time of this writing, determining who outperforms the other on geek knowledge requires further investigation and remains as an open question. Closely after comes my deep gratitude to my co-advisor, Fabio Maino. My honest apprecia- tion to him, who believed in my ability from the very beginning and encouraged me with sound trust even when I hesitated. Thanks for being a guide to the inner dynamics of the industry and for sharing curated knowledge with a newcomer. Thanks also for periodically giving me the chance to showcase my work to all sorts of audiences, but specially for doing so with solid confidence in the successful outcome. I will be eternally indebted to Fabio for sponsoring my research and for offering me the opportunity to grow professionally, both during my thesis and afterwards. Thanks also for that conversation we once had in our way to the airport. I remember vividly the counseling I received that day. Let me also express my appreciation to the faculty members of the CBA research group at UPC. First, thanks to professors Jordi Domingo-Pascual and Josep Solé-Pareta, for guiding me during my first steps as a researcher and for having been a source of advice since then. Thanks viii also to Davide Careglio, for the shared sense of humor and for taking me in those trips to my first project meetings. Finally, thanks to Pere Barlet for his always clever analysis andforthe quality feedback provided at different points of my research. My deep gratitude goes too to some members of the industry that inspired part of this thesis. First of all to Sharon Barkai, for being a modern patron of the arts and the greatest expert I know on combining networks and databases. My great appreciation to Sharon for completely changing my view on SDN and for being a great source of inspiration for this thesis. Sharon was the one who coined the idea of "global knowledge, local decisions", and Chapter4 was only possible thanks to him (kudos also to the rest of the great guys from ConteXtream: Ariel Noy, Ajay Sahai, Gideon Kaempfer, and the others). My most special thanks also to Dino Farinacci, one of the fathers of LISP and engineer beyond compare. Capable, like no one else, of discussing both high-level architectural abstractions and bit-level details of the implementation. I greatly appreciate those technical discussions on all things LISP, and in general all the help provided over these years. Finally, my honest gratitude to David Meyer, truly visionary in the networking field, for sharing his vision. Thanks to Dave for always being glad to engage on discussions on the future of networking, and for giving me a hand whenever I needed it. My sincere appreciation also to those LISP experts at Cisco. First and foremost to Vina Ermagan, one of the major driving forces of this thesis. Vina’s talent for team building and gracious management were hugely appreciated when we were struggling to make it through deadlines. I could not thank her enough for these years of tireless support and guidance, on this thesis and beyond. Her hard work and sharp advice truly shaped this research. My great gratitude as well to Marc Portolés, who saved me on my first visit to the bay area and made the stay much more enjoyable. For that, I owe him countless beers. Thanks also for being such a passionate researcher and for dragging me into those creative technical discussions. Finally, a huge thank you to Darrel Lewis for his always realistic technical advice, to Preethi Natarajan for those early days of research on LISP-MN and to Vasileios Lakafosis for all his help with LISPmob. I could not go without mentioning those months spent in Tokyo working at the laboratory of Professor Yusheng Ji. Among all the great experiences that this thesis has granted me, I remember my stay in Japan as one of the best. My deep gratitude to Prof. Ji as well for giving me a different perspective on my research. Her deep knowledge and multidisciplinary experience truly completed my work. Thanks also to Kien Nguyen for his practical advice on how to survive in Tokyo and for those discussions about OpenFlow in the coffee room. Thanks to both for keep supporting me in the present day, long after my internship ended. ix A special note also to those I met via the IETF. A huge thanks to Luigi Iannone and Damien Saucez for the discussions on LISP and for making those IETF meetings more interesting. Thanks as well to Joel Halpern for sharing his technical wisdom and enlightening me on the intricate mechanisms of the IETF. Thanks also to Diego López for sharing his perspective on SDN, and for -unbelievably- always being present in all conferences I go. A final mention to the people who lived with me in the D6-008 office. First to Florin Coras, who is ultimately the one to blame for this thesis. Shall I had not listened to him, I would have not ended up doing a PhD with Albert and Fabio. Fortunately enough, I trusted his word back then. Sorry for all the silly jokes during these years Florin, it is just my way to pay you back. Thanks as well to Loránd Jakab, who guided me during the beginning of my research. He gave me right on the spot technical advices at that time and continues to do so today. Thanks also to Albert Mestres, Sergi Abadal, Raül Gómez and Valentín Carela for the lunches and the fun. I could not ask for better people to share an office with. Finally, my most deep and sincere gratitude to Albert López, an extraordinary research engineer but also a good friend. His rigorous work, methodical testing, and continuous contributions (often behind the scenes) can not be thanked enough. May these lines serve to give him part of the credit he deserves. Gràcies Albert!. To conclude, I would like to acknowledge the funding that made this thesis possible. Thanks to Cisco Systems for their generosity supporting this research and to the Spanish Ministry of Education, Culture and Sport for supporting me trough scholarship FPU2012/01137. A nivel personal me gustaría agradecer a mis compañeras de piso, Raquel y María, por aguantarme estos últimos años y en especial estos últimos meses. Sé que a veces no ha sido fácil. Gracias también a toda esa gente que lleva años on fire y a todos los presentes (físicamente o no) en ese 28 de mayo. A todos ellos perdón por no haber podido estar en cafés, partidas y cervezas. Sabéis que os quiero a todos, pero la tesis siempre fue muy celosa. Quiero dar las gracias de manera especial a mi familia. A mis padres, por darme todo su apoyo durante estos años, pero sobretodo porque nunca dudaron. Por ellos he llegado hasta aquí y por ellos ahora tengo que seguir adelante. Perdón por irme, pero gracias por entenderlo. Gracias también a mi hermana Laura, por todas las llamadas que le debo. Siento que hayas tenido que ser hija única, pero estoy orgulloso de como has sabido salir adelante. Las últimas palabras, por supuesto, son para Andrea. Para ella, a quien no hizo falta explicarle lo que era el índice JCR. Para ella, por todas las noches que tuvo que dormir con la luz encendida. Para ella, por estar tan loca como para acompañarme en la aventura que empieza donde acaba este doctorado. Para ella, gracias. Abstract Software-Defined Networking (SDN) arose as a solution to address the limitations of traditional networking.