IA368- Tópicos em Engenharia de Computação V (Turma T)

Tema: Redes na Era de Cloud Computing e Software Defined Networking

Professor(es): Christian Esteve Rothenberg, Maurício Ferreira Magalhães

Créditos: 4

Ementa

Objetivo:

Apresentar e discutir recentes tendências na área de redes de computadores. Revisão da literatura em propostas de novas arquiteturas para Internet, redes de conteúdo, computação em nuvem, redes de data center, e redes definidas por software. Pequeno projeto prático final (individual ou em grupo) sobre experimentação com tecnologias de vanguarda em redes e computação (ex: OpenFlow/SDN, IaaS da Amazon/Rackspace, OpenStack, Content-Centric Networking, Proxy Cache HTTP, Segurança/IDS, Deep Packet Inspection, Multipath-TCP, OpenWRT WiFi, Raspberry PI).

Mais detalhes sobre tópicos a serem abordados, dinâmica da disciplina, avaliação, literatura e exemplos de temas de projeto prático:

http://www.dca.fee.unicamp.br/~chesteve/teaching/2013-2sem-pg-topicos-redes.html

Tópicos a serem abordados:

  1. Introdução à interconexão de Redes; Revisão arquitetura Internet e protocolos de roteamento IP.
  2. Novas propostas de arquiteturas de Internet (clean-slate e evolucionarias): Redes com separação de identificador do localizador; Redes Overlay; Redes Peer-to-Peer; Redes Orientadas a Conteúdo
  3. Redes definidas por software (SDN - Software Defined Networking): Separação de plano de controle de plano de rede; Novas abstrações e implementações de planos de controle; Protocolo OpenFlow; Visão pesquisa e visão mercado; Exemplos de arquiteturas, projetos de pequisa, e produtos comerciais.
  4. Computação em nuvem: Princípios, virtualização, modelos (IaaS, PaaS, SaaS), arquiteturas de software e novas arquiteturas de rede de data centers.

Dinâmica da disciplina:

  1. A disciplina contará com aulas expositivas dos professores intercaladas com apresentações de artigos da literatura pelos alunos.
  2. Será divulgada uma lista de publicações para escolha, estudo e apresentação na aula de forma individual ou em grupo em função do tema e número de alunos.
  3. Também faz parte da disciplina um pequeno projeto prático (individual ou em grupo) com o objetivo de executar um experimento com tecnologias relacionadas aos temas da disciplina e apresentação na aula dos resultados e experiências.

Avaliações:

  1. 30% nota de prova escrita após exposição da primeira parte da disciplina,
  2. 30% nota da apresentação do artigo,
  3. 30% nota do projeto prático,
  4. 10% nota de participação nas discussões da aula.

Temas de projeto prático (exemplos):

Experiência prática com:

  1. Rede OpenFlow/SDN e a plataforma Mininet (lista de ideas projetos GSOC)
  2. Rede OpenFlow/SDN e a plataforma Trema
  3. SDN baseado no POF (Protocol Oblivious Forwarding)
  4. SDN com novas propostas de linguagens / northbound APIs (Pyretic, Frenetic, Netcore)
  5. STS: SDN Troubleshooting Simulator
  6. SDN com Open Exchange Software Suite (OESS)
  7. OpenDaylight: controlador SDN em Java
  8. Indigo Virtual Switch (IVS)
  9. Monitoramento sFlow e controle OpenFlow
  10. Open vSwitch (OVS) no sistema operacional Android
  11. RouteFlow: Roteamento IP sobre redes OpenFlow
  12. Roteador WiFi com suporte a OpenFlow 1.3
  13. Protocolo Multipath-TCP
  14. Raspberry PI em ambiente domiciliar
  15. Rede de conteúdo CCN emulada na plataforma Mini-CCNx
  16. Roteamento IP com a plataforma AutoNetkit
  17. Detecção de intrusão, ataques, e DPI com o BroIDS
  18. Caching HTTP e proxy cache Squid
  19. Ferramenta de detecção de middleboxes Tracebox
  20. Personal Cloud Using BitTorrent Sync
  21. Ambiente de computação em nuvem OpenStack
  22. Ambiente de computação em nuvem comercial (ex: Amazon, Rackspace)
  23. Hadoop & Big Data
  24. Memcached
  25. Remus: Alta disponibilidade de VMs
  26. Tor (The Onion Router): Anonimidade na Internet
  27. Google QUIC (Quick UDP Internet Connections).
  28. Neo4j Graph Database para topologias de rede
  29. Intel DPDK (Data Plane Development Kit)

Bibliografia:

  1. Campista, M. E. M., Ferraz, L. H. G., Moraes, I. M., Lanza, M. L. D., Costa, L. H. M. K., and Duarte, O. C. M. B - "Interconexão de Redes na Internet do Futuro: Desafios e Soluções", In Minicursos do XXVIII  Simpósio Brasileiro de Redes de Computadores (SBRC), Gramado, RS, Brazil, May 2010.
  2. de Brito, G M., Velloso, P. B., and Moraes, I. M.. "Redes Orientadas a Conteúdo: Um Novo Paradigma para a Internet.". In Minicursos do XXX Simpósio Brasileiro de Redes de Computadores (SBRC), Ouro Preto, MG, Brazil, May, 2012.
  3. Verdi, F. L., Rothenberg, C. E., Pasquini, R.  and Magalhães, M. F. "Novas Arquiteturas de Data Center para Cloud Computing". In Minicursos do XXVIII  Simpósio Brasileiro de Redes de Computadores (SBRC), Gramado, RS, Brazil, May 2010.
  4. Rothenberg, C. E., Nascimento, M. R., Salvador,  M. R., and Magalhães, M. F. "OpenFlow e redes definidas por software: um novo paradigma de controle e inovação em redes de pacotes". In Cadernos CPqD Tecnología, Vol 7. No 1. jun/2011
  5. Software Defined Networking. Coursera course by Nick Feamster. Available online:  https://www.coursera.org/course/sdn
  6. Computer Networking : Principles, Protocols and Practice. Olivier Bonaventure. Available online: http://inl.info.ucl.ac.be/cnp3
  7. Artigos publicados na literatura.

Literatura (sugestão de artigos para apresentação pelos alunos):

Arquiteturas Internet / Information-Centric Networking

  1. E. Grasa et al. Design principles of the Recursive InterNetwork Architecture (RINA), http://irati.eu/
  2. Google QUIC (Quick UDP Internet Connections). June 2013.
  3. A Peel of Onion. Paul Syverson. In 2011 Annual Computer Security Applications Conference (ACSAC 27). http://www.acsac.org/2011/program/keynotes/syverson-pres.pdf
  4. How Hard Can It Be? Designing and implementing a deployable Multipath TCP - C. Raiciu, C. Paasch, S. Barre, A. Ford, F. Duchene, O. Bonaventure and M. Handley in procedings of Usenix NSDI, San Jose, California
  5. Less Pain, Most of the Gain: Incrementally Deployable ICN. Seyed Kaveh Fayazbakhsh, Yin Lin, Amin Tootoonchian, Ali Ghodsi, K. C. Ng, Teemu Koponen, Bruce Maggs, Vyas Sekar, and Scott Shenker. In ACM SIGCOMM, 2013
  6. CCN and TCP co-existence in the Future Internet: Should CCN be compatible to TCP? Stefan Braun, Massimo Monti, Manolis Sifalakis, and Christian Tschudin. In IFIP/IEEE International Symposium on Integrated Network Management (IM), 5th Workshop on Management of the future Internet (ManFI),May 2013, Ghent, Belgium. + "An Empirical Study of Receiver-based AIMD Flow-Control Strategies for CCN"
  7. Privacy in Content-Oriented Networking: Threats and Countermeasures. A. Chaabane, E. De Cristofaro, M. A. Kaafar, and E. Uzun. In SIGCOMM 2013
  8. NLSR: Named-data Link State Routing Protocol. A K M Mahmudul Hoque, Syed Obaid Amin, Adam Alyyan, Beichuan Zhang, Lixia Zhang and Lan Wang. In ACM SIGCOMM Workshop on Information Centric Networking (ICN), Aug. 2013.
  9. Pursuing a Software-Defined Information-Centric Network, D. Syrivelis, G. Parisis, D. Trossen, P. Flegkas, V. Sourlas, T. Korakis, L. Tassiulas, In EWSDN 2012, IEEE, Darmstad Germany.
  10. TCP ex Machina: Computer-Generated Congestion ControlKeith Winstein, Hari Balakrishnan.  In SIGCOMM 2013

Cloud Computing / Data Center Networking

  1. Ananta: Cloud Scale Load Balancing. Parveen Patel, Deepak Bansal, Lihua Yuan, Ashwin Murthy, Albert Greenberg, David A. Maltz, Randy Kern, Hemant Kumar, Marios Zikos, Hongyu Wu, Changhoon Kim, and Naveen Karri. In SIGCOMM 2013
  2. Integrating Microsecond Circuit Switching into the Data Center. George Porter, Richard Strong, Nathan Farrington, Alex Forencich, Pang-Chen Sun, Tajana Rosing, Yeshaiahu Fainman, George Papen and Amin Vahdat. Proceedings of ACM SIGCOMM, August 2013.
  3. pFabric: Minimal Near-Optimal Datacenter Transport. Mohammad Alizadeh, Shuang Yang, Milad Sharif, Sachin Katti, Nick McKeown, Balaji Prabhakar, and Scott Shenker. Proceedings of ACM SIGCOMM, August 2013.
  4. ElasticSwitch: Practical Work-Conserving Bandwidth Guarantees for Cloud Computing. Lucian Popa, Praveen Yalagandula, Sujata Banerjee, Jeffrey Mogul, Yoshio Turner, and Renato Santos. Proceedings of ACM SIGCOMM, August 2013.
  5. Ananta: Cloud Scale Load Balancing. Parveen Patel, Deepak Bansal, Lihua Yuan, Ashwin Murthy, Albert Greenberg, David A. Maltz, Randy Kern, Hemant Kumar, Marios Zikos, Hongyu Wu, Changhoon Kim, and Naveen Karri. Proceedings of ACM SIGCOMM, August 2013.
  6. Achieving High Utilization with Software-Driven WAN. Chi-Yao Hong, Srikanth Kandula, Ratul Mahajan, Ming Zhang, Vijay Gill, Mohan Nanduri, and Roger Wattenhofer.  Proceedings of ACM SIGCOMM, August 2013.
  7. F10: A Fault-Tolerant Engineered Network. Vincent Liu, Daniel Halperin, Arvind Krishnamurthy, and Thomas Anderson. In USENIX Symposium on Networked Systems Design and Implementation (NSDI), Lombard, IL, April 2013.

Software Defined Networking

  1. B4: Experience with a Globally-Deployed Software Defined WAN. Sushant Jain, Alok Kumar, Subhasree Mandal, Joon Ong, Leon Poutievski, Arjun Singh, Subbaiah Venkata, Jim Wanderer, Junlan Zhou, Min Zhu, Jonathan Zolla, Urs Hölzle, Stephen Stuart, and Amin Vahdat.  In ACM SIGCOMM 2013.
  2. SIMPLE-fying Middlebox Policy Enforcement Using SDN. Zafar Qazi, Cheng-Chun tu, Luis Chiang, Rui Miao, Vyas Sekar, Minlan Yu. In ACM SIGCOMM 2013
  3. Forwarding Metamorphosis: Fast Programmable Match-Action Processing in Hardware for SDN.  Pat Bosshart, Glen Gibb, Hun-Seok Kim, George Varghese, Nick McKeown, Martin Izzard, Ferndando Mujica, and Mark Horowitz. In ACM SIGCOMM 2013.
  4. Protocol Oblivious Forwarding: Unleash the Power of SDN through a Future-Proof Forwarding Plane. Haoyu Song. In ACM SIGCOMM Workshop on Hot Topics in Software Defined Networking (HotSDN) 2013.
  5. Composing Software Defined Networks. Christopher Monsanto, Joshua Reich, Nate Foster, Jennifer Rexford, and David Walker. In USENIX Symposium on Networked Systems Design and Implementation (NSDI), Lombard, IL, April 2013.
  6. CAP for Networks. Aurojit Panda, Colin Scott, Ali Ghodsi, Teemu Koponen and Scott Shenker. In ACM SIGCOMM Workshop on Hot Topics in Software Defined Networking (HotSDN) 2013.
  7. Leveraging SDN Layering to Systematically Troubleshoot Networks. Brandon Heller, Colin Scott, Nick McKeown, Scott Shenker, Andreas Wundsam, Hongyi Zeng, Sam Whitlock, Vimalkumar Jeyakumar, Nikhil Handigol, Murphy McCauley, Kyriakos Zarifis and Peyman Kazemian, In ACM SIGCOMM Workshop on Hot Topics in Software Defined Networking (HotSDN) 2013.
  8. VeriFlow: Verifying Network-Wide Invariants in Real Time. Ahmed Khurshid, Xuan Zou, Wenxuan Zhou, Matthew Caesar, and P. Brighten Godfrey.  In USENIX Symposium on Networked Systems Design and Implementation (NSDI), Lombard, IL, April 2013.
  9. FlowTags: Enforcing Network-Wide Policies in the Presence of Dynamic Middlebox Actions.Seyed Kaveh Fayazbakhsh, Vyas Sekar, Minlan Yu and Jeff Mogul, In ACM SIGCOMM Workshop on Hot Topics in Software Defined Networking (HotSDN) 2013.
  10. Participatory Networking: An API for Application Control in SDNs, Andrew D. Ferguson, Arjun Guha, Chen Liang, Rodrigo Fonseca, and Shriram Krishnamurthi. In ACM SIGCOMM 2013
  11. FatTire: Declarative Fault Tolerance for Software Defined Networks. Mark Reitblatt, Marco Canini, Arjun Guha, and Nate Foster. In ACM SIGCOMM Workshop on Hot Topics in Software Defined Networking (HotSDN) 2013.
  12. A Balance of Power: Expressive, Analyzable Controller Programming. Tim Nelson, Arjun Guha, Daniel J. Dougherty, Kathi Fisler, and Shriram Krishnamurthi. In ACM SIGCOMM Workshop on Hot Topics in Software Defined Networking (HotSDN) 2013.
  13. Towards an Elastic Distributed SDN Controller. Advait Dixit, Fang Hao, Sarit Mukherjee, T. V. Lakshman, Ramana Rao Kompella.  In ACM SIGCOMM Workshop on Hot Topics in Software Defined Networking (HotSDN) 2013.
  14. Cheap Silicon: Myth or Reality? Picking the Right Data Plane Hardware for Software Defined Networking. Gergely Pongrácz, Zoltán Turányi, László Molnár and Zoltán Lajos Kis. In ACM SIGCOMM Workshop on Hot Topics in Software Defined Networking (HotSDN) 2013.
  15. OF.CPP: Consistent Packet Processing for OpenFlow. Peter Perešíni, Maciej Kuźniar, Nedeljko Vasić, Marco Canini and Dejan Kostić.  In ACM SIGCOMM Workshop on Hot Topics in Software Defined Networking (HotSDN) 2013.
  16. Extending SDN to Large-Scale Networks. Aurojit Panda (UC Berkeley), Scott Shenker and Murphy McCauley (UC Berkeley and ICSI), and Teemu Koponen and Martin Casado (VMware). In ONS’13 Research Track.
  17. SoftRAN : Software Defined Radio Access Network. Aditya Gudipati, Daniel Perry, Li Erran Li and Sachin Katti.  In ACM SIGCOMM Workshop on Hot Topics in Software Defined Networking (HotSDN) 2013.
  18. Seungwon Shin, Phillip Porras, Vinod Yegneswaran, Martin Fong, Guofei Gu, Mabry Tyson. FRESCO: Modular Composable Security Services for Software-Defined Networks. Proceedings of the Network and Distributed Security Symposium (NDSS), February 2013
  19. Software Defined Traffic Measurement with OpenSketch. Minlan Yu, Lavanya Jose, Rui Miao. In Proc. Networked Systems Design and Implementation (NSDI), April 2013.
  20. Real Time Network Policy Checking Using Header Space Analysis. Peyman Kazemian, Michael Chang, Hongyi Zeng, George Varghese, Nick McKeown. Scott Whyte. In Proc. Networked Systems Design and Implementation (NSDI), April 2013.
  21. Ensuring Connectivity via Data Plane Mechanisms. Junda Liu, Aurojit Panda, Ankit Singla, Brighten Godfrey, Michael Schapira, Scott Shenker. . In Proc. Networked Systems Design and Implementation (NSDI), April 2013.
  22. Mobileflow: Toward software-defined mobile networks. Pentikousis, K. ; Wang, Y. ; Hu, W. In IEEE Communications Magazine, Issue 7,  July 2013.

Misc.

  1. Bitcoin: A Peer-to-Peer Electronic Cash System. Satoshi Nakamoto, www.bitcoin.org
  2. Percival, C., "Stronger key derivation via sequential memory-hard functions", BSDCan'09, May 2009. http://www.tarsnap.com/scrypt/scrypt.pdf,    
  1. Security Now! Episode #388. Memory Hard Problems https://www.grc.com/sn/sn-388.pdf
  2. IETF DRAFT draft-josefsson-scrypt-kdf-00
  3. Abadi, Martin et al. "Moderately hard, memory-bound functions." ACM Transactions on Internet Technology (TOIT) 5.2 (2005): 299-327.
  4. Coelho, Fabien. "Exponential memory-bound functions for proof of work protocols." Sep. 2005.
  1. Remus: high availability via asynchronous virtual machine replication. Brendan Cully, Geoffrey Lefebvre, Dutch Meyer, Mike Feeley, Norm Hutchinson, and Andrew Warfield. In Proceedings of the 5th USENIX Symposium on Networked Systems Design and Implementation (NSDI'08).
  2. EU Project ULOOP (User-centric Wireless Local Loop).