Hackathon@AIS Builds Technical Capacity Around Networking Standards in Africa
As African Networks Expand, Demand for Skilled African Engineers Is Increasing
Report from the African Internet Summit 2018 Hackathon
The Internet landscape in Africa is experiencing unprecedented growth, fueled by increased infrastructure investments from private and public sector combined with initiatives from the Internet technical community to enhance connectivity through capacity building and critical infrastructure development. The building of Internet exchange points, early deployments of IPv6, and other advances have further contributed to improving Africa’s connectivity and lowering Internet costs. As African networks expand, the demand for skilled African engineers, who are able to design and manage networks in conformance to Internet standards, will increase significantly.
This presents a unique opportunity to ensure that African engineers are able to contribute to the continued improvement and development of Internet standards that can be applied locally as well as globally. The infusion of African diversity in Internet standards development ensures that the needs of the African Internet landscape are included in the Internet of the future.
The African Internet Summit 2018 (AIS ’18) was 29 April – 11 May in Dakar, Senegal. Launched in 2012, this annual event gathers members of the Africa Internet industry together with the global Internet community. The Summit consists of seminars, workshops, tutorials, conference sessions, birds-of-a-feather (BOFs), and other forums for sharing ICT knowledge within the African region. A hackathon (Hackathon@AIS) was run for the first time as part of last year’s Summit. This year, under the leadership of Dawit Beleke (Regional Bureau Director for Africa, ISOC), and Kevin Chege (Internet Developer Manager for Africa, ISOC), the Hackathon@AIS returned for a second round.
The Hackathon@AIS aims to build technical capacity around networking standards, advance deployment of existing and evolving IETF standards, and encourage contribution to standards development process within the region. This year’s hackathon occurred 9 – 10 May, featured three projects, and attracted more than 75 participants from 15 countries throughout Africa. Participants came from various industries and universities. Some were more comfortable speaking French, others preferred English, but all shared a common appreciation and desire to contribute to Internet standards and running code.
Network Time Protocol Project
Loganaden Velvindron (AFRINIC), Nitin Mutkawoa (hackers.mu) and Serge Goma Parfait (OSC 242) led a project on the Network Time Protocol (NTP). NTP is an IETF standard (RFC 5905) used to synchronize computer clocks in the Internet. The hackathon project was to implement an IETF draft titled, NTP Client Data Minimization, that proposes backward-compatible updates to NTP to strip unnecessary identifying information from client requests and to improve resilience against blind spoofing of unauthenticated server responses. In other words, it aims to enhance the security and privacy of individuals using NTP. That includes you and me. The devices associated with us, our mobile phones, home computers, and many more, use NTP regularly. Multiple teams successfully implemented the draft and made presentations demonstrating their work and lessons learned along the way.
Network Programmability Project
Charles Eckel (Cisco DevNet) and Khoudia Gueye (NSRC) led a project on Network Programmability. This project featured YANG (RFC 6020), a data modeling language defined by the IETF for modeling network data in a standardized manner, and NETCONF (RFC 6241) and RESTCONF (RFC 8040), two network configuration protocols for configuring and managing network elements programmatically. Together these IETF standards can be used to automate network operations, making them more dynamic and less prone to human error.
Participants organized into small teams, working together through a series of online learning labs available through Cisco DevNet. They used tools such as Postman, programming languages such as Python, and network and device level YANG models via NETCONF and RESTCONF to interact with Cisco IOS XE devices and OpenDaylight, an open source software defined networking (SDN) controller. Network automation and programming resources on Cisco DevNet were available for the teams to use. At the end of the hackathon, multiple teams presented what they learned and illustrated their knowledge of network programmability with live demos of OpenDaylight controlling networks created using Mininet.
Intelligent Transportation Systems Project
Professor Nabil Benamar (University of Moulay Ismail, Morocco) led a project on Intelligent Transportation Systems. The project was focused on an Internet draft, Transmission of IPv6 Packets over IEEE 802.11 Networks operating in mode Outside the Context of a Basic Service Set, that describes the transmission of IPv6 packets on IEEE Standard 802.11-OCB networks. Participants installed IEEE-802.11-OCB cards in desktop computers (PCs) provided as part of the project. They modified and recompiled the kernel to use these new cards, analyzed and verified the correctness of the over the air communication enabled by these cards using tools such as Wireshark, and tested the ability to communicate between the PCs using this new interface. Insights gained by participants while working on this project were later shared with the IPWAVE working group in IETF to improve the ongoing standardization efforts.
All three hackathon projects benefitted from participation from a talented and motivated combination of industry professionals and students. There was tremendous teamwork within and across the projects despite differences in language, culture, and backgrounds. Greater than anticipated demand to participate in the hackathon led to a higher ratio of participants to project leaders than planned. The willingness and ability of participants to help each other and work together as teams helped out tremendously.
The focus, dedication, and ability to learn and apply new concepts was amazing. When it came time for teams to share the results of their efforts, the presentations were impressive and inspiring. So too were accounts shared by participants when they recapped their experience.
Keziah Naggita, a recent graduate from Makerere University in Uganda and now a System and Software Engineer at RENU, joined the network programmability track of the hackathon. “There is so much to learn through interacting with other people. In programming, all you need is the initiation, the rest is history. Small decisions, like attending a certain session at a conference, can change your life forever.” Keziah also shared this tip for others, “Cisco DevNet provides programmers and network enthusiasts free access to tools and resources to test out their scripts and learn how to write clean code for network devices. It is a great community with amazing resources to become a better network engineer”.
Ramanou Biaou, from World Internet Labs in Benin, had this to share, “The Hackathon@AIS is an exceptional experience for me. This Network Programmability Hackathon is a synthesis of skills (System, Network and Programming). This has helped me to understand SDN and various tools to help with network virtualization and deployment configurations.”
Additional Info, Thanks, and Plans for the Future
Complete description of projects, links to presentations and photos, free access to technical training materials, and more are all available via the event wiki.
Special thanks to Stephen Honlue (AFRINIC) and Cedrick Mbeyet (AFRINIC) for their help with the setup and running the hackathon, and to the ICT Ministry and the ISOC Senegal Chapter for providing computers.
We plan to continue to build on the success and growth of the Hackathon@AIS. We welcome your comments, suggestions, contributions, and sponsorship going forward. AIS ’19 will be in Uganda, and we are already looking forward to and starting the planning for the Hackathon@AIS ’19.
Many people were surprised and excited to learn that much of this training material is available anytime for free on DevNet. Here are some self-paced, online training modules available on Cisco DevNet. Access is free. All you need is a DevNet account. Login or create an account quickly by clicking here. Then give these learning modules a try:
- Networking Basics (Module, 3 labs)
- Intro to Coding Fundamentals (Module, 4 labs)
- Intro to Model Driven Programmability (e.g. NETCONF/YANG) (Module, 4 labs)
Thanks for reading, and hope to see you there.
Charles Eckel, Cisco DevNet, @eckelcu