AFRINIC is looking to collaborate with students at undergraduate or graduate level in form of student projects (practicum) or through on-site or remote internship at AFRINIC. Below is a list of potential projects students or future interns can choose from.
The duration of the projects are indicative and will depend on the resources allocated to each project and the availability of the students. It is possible to accommodate more than 1 student or intern per project, depending on their interest, availability and funding.
AFRINIC is also open to other projects related to the technical aspects of the Internet. These can include any project related to:
- End-to-end Internet performance measurement
- Internet topology characteristics, including peering and routing
- Application-level performance, including DNS, Web, CDNs, Cloud Computing
- Detection of middleboxes, censorship, and content filtering
- Data analytics and visualization for network monitoring and traffic analysis
- Network topology and performance visualization
- Internet access, use, and quality of experience
- Internet freedom, digital security and privacy
- Internet protocols development
- Internet policy
Interns will receive a monthly stipend and the amount will depend on whether it is an on-site or remote internship agreement. For on-site interns, subject to availability of funds, AFRINIC can offer accommodation and bear the cost of a return flight from the country where the student is located.
List of student projects and internship opportunities:
Number of students/interns required: 1
Duration: 6-12 months
Internship description
WIDER is a data visualization portal intended to inform data journalists, network operators, regulators and other interested parties on the state of the Internet in a specific country or region. AFRINIC worked on a preliminary proof-of-concept that incorporates internet measurement data. More information at https://wider.isoc.org.za
The technical components of the project would involve the consolidation of the different data sources and the development of information retrieval /curation processes using appropriate big data technologies. Another important component will be the enhancement of the visualization front-end to offer the maximum value to the end-users. The role of the software engineering intern will be to adapt an existing visualization platform, develop a data retrieval API, select appropriate datasets and populate a data store.
Keywords: Python/Django, PostgreSQL, Charts.js, Tiles.js, data visualization
Key deliverables
- Further develop the existing Proof-of-concept into an MVP (Minimum Viable Product). This includes developing proper documentation, setup instructions and system provisioning.
- Design and implement a data model for multiple data sources
- Implement additional pre-identified data sources
Skills required:
- Databases (PostgreSQL)
- Web development (Python/Django, php)
- Front-end development (Javascript, Angular.js, D3.js, etc)
Skills required:
- Databases (MySQL/PostgreSQL)
- Web development (Python/Django, php)
- Front-end development (Javascript, Angular.js, D3.js, etc)
- RESTFUL Web services
Number of students/interns required: 1
Duration: 3-6 months
Project description
AFRINIC is the Regional Internet Registry (RIR) which allocates public Internet number resources (IP prefixes and AS numbers) to network operators in Africa. Resources are allocated based on prescribed policies as defined by the CPM (Consolidated Policy Manual) https://afrinic.net/policy/manual. However, it was observed that in many cases some clauses are not duly followed/implemented by resource holders.
This project proposes to build up a dashboard, which will inform AFRINIC hostmasters on the status of a resource holder and its level of compliance to AFRINIC policies.
Keywords: Policy compliance, resource allocation, dashboard, monitoring
Key deliverables
- Identify policy compliance issues for allocated, reserved and available resources
- Design a methodology and select appropriate metrics to quantify policy compliance
- Build a dashboard which facilitates retrieval of information
- Build a backend web service which would allow information retrieval through an API
Number of students/interns required: 1
Duration: 3-6 months
Project description
Public DNS (PDNS) Open resolvers are used by networks operators to resolve domain names. Examples of public open DNS resolvers are (Cloudflare 1.1.1.1, Google 8.8.8.8, IBM 9.9.9.9, etc). Those PDNS are anycast servers and are generally protected against DDOS attacks, but other openly accessible DNS resolvers (usually hosted by network operators) are considered to be a serious security threat as they can be used to launch massive DDOS attacks. Best practice is not to operate an Open DNS resolver, unless you are a PDNS with the required level of security.
This project is about unveiling the current open DNS resolvers in the AFRINIC IP space (both IPv4 and IPv6) and visualize them on a map. This project involves running measurements to detect open resolvers, maintain a database and develop a front-end to visualize the results.
Keywords: DNS, open resolvers, DDOS
Key deliverables
- Survey of African networks and detection of DNS Open resolvers (IPv4 and IPv6)
- Visualisation of DNS open resolvers on a map, with details on each resolver
- Development of an API to facilitate retrieval of data
Skills required
- Bash scripting
- Databases (MySQL, PostgreSQL)
- Web development (Python/Django, Php, Angular.js, etc)
Number of students/interns required: 1
Duration: 3-6 months
Project description
On 1 February 2019, the below-listed major public DNS resolver operators disabled workarounds for DNS standards non-compliance. This change will affect domains hosted on authoritative servers which do not comply either with original DNS standard from 1987 (RFC1035) or the newer EDNS standards from 1999 (RFC2671 and RFC6891). Non-compliant domains may become unreachable through these services.
AFRINIC has a list of reverse domains for prefixes delegated to members which are publicly accessible: http://ftp.afrinic.net/pub/zones. AFRINIC also provides secondary DNS services to ccTLDs in Africa (30 ccTLDs) and maintain secondary DNS services for around 150 zones.
AFRINIC would like to run EDNS compliance tests on all reverse domains and domains from ccTLDs in Africa. The results will be reported on a dashboard or via the WIDER platform. More information can be found here: https://dnsflagday.net
Keywords: DNS, EDNS, data visualization
Key deliverables
- Survey of EDNS non-compliant domains from AFRINIC reverse DNS and secondary DNS zones
- Data characterisation and visualization
- Data API
Skills required
- Bash scripting
- Databases (MySQL, PostgreSQL)
- Web development (Python/Django, Php, Angular.js, etc)
Number of students/interns required: 1
Duration: 3-6 months
Project description
NAT and CGNAT are translation mechanisms that are used by network operators to translate between private and public IP addresses. Networks on NAT have private IP addresses and will use a single public IP addresses for outbound communication. At a wider scale, CGNAT is often used for e.g. by mobile operators whereby user phones are all working on private IP ranges and consequently, usage of NAT is not helpful in promoting the deployment of IPv6 networks.
This project is about defining a new methodology or adapt an existing methodology to detect NAT and CGNAT in the wild in African networks. Once detection mechanism in place, measurement campaigns will be run to unveil the NAT/CGNAT prevalence. Data collected will be visualised on a map to provide insights about NAT/CGNAT usage.
Keyword: internet measurements, data visualisation, research
Key deliverables
- Adaptation of existing methodologies to detect NAT/CGNAT
- Data characterisation and visualization
- Data API
Skills required
- Bash scripting
- Databases (MySQL, PostgreSQL)
- Web development (Python/Django, php, Angular.js, etc)
Number of students/interns required: 1
Duration: 3-6 months
Project description
Africa remains significantly behind other regions in terms performance and quality of service. This obviously has many implications on the Quality of Service (QoS) of networks in general but also on the Quality of Experience (QoE) from the end-user’s perspective. While some parts of Africa are performing very well, we see considerably bad performance in different subregions and specific countries such as Angola and Ethiopia. AFRINIC used SpeedChecker probes found in 52 different countries (~ 850 probes) as vantage points and OOKLA Speedtest servers as targets (~213 servers) in 42 different countries. In this study more than 300 ASes were probed which yielded 42K RTT samples and 31K traceroutes were captured over a period on 3 months.
The project is about adapting an existing visualization or creating a new visualization widget to display latency clusters in an interactive way (and in a longitudinal fashion i.e. how does the cluster changes over time). More information here <https://afrinic.net/blog/333-revealing-latency-clusters-in-africa>
Keyword: Latency, QoS, Clustering, data visualization
Key deliverables
- Review existing latency measurement scripts, repackage them into a proper data capture tool
- Build an interactive platform for visualizing latency clusters
- Perform longitudinal data analysis
Skills required
- Python scripting
- RESTFUL API
- Databases (MySQL, PostgreSQL)
- Web development (Python/Django, php, Angular.js, etc)
Number of students/interns required: 1
Duration: 3-6 months
Project description
Network operators, content providers and content delivery networks (CDNs) at times need to know the latency between major hubs before making decision on where to place a PoP, a cache or a server. Not only they need to know the route, but they also want to know which network in a country or city would provide the fastest connectivity to the other endpoint.
The first goal of the project is to serve a quick way for network operators, content providers or CDNs to find the fastest network from a location to any other measurable endpoint in Africa. The interactive should tell you the time difference between different competing networks operating from the same origin.
The second goal is to find the best and worst-performing networks and routes. We need to understand where the delays are coming from, i.e. whether the traffic is actually going through IXPs or international links (tromboning). In particular, we are concerned with which networks are fastest relative to the geodesic distance (i.e. taking in consideration speed of light in fiber). We should also highlight routes that are traversing IXPs either in-country or in a region.
This project involves running ping and traceroute measurements in between cities, collect, curate the data, storing in a machine readable format and visualizing on a custom made platform.
Keywords: Internet measurements, traceroute, latency, ping, visualization, javascript
Key deliverables
- Interactive tool for finding the fastest route to selected destinations using different providers
- Tool should allow longitudinal data analysis to see evolution of the performance of networks
- Should incorporate IXP data
Skills required
- Python scripting
- RESTFUL API
- Databases (MySQL, PostgreSQL)
- Web development (Python/Django, php, Angular.js, etc)
Number of students/interns required: 1
Duration: 6-8 months
Project description
DNSSEC is a mechanism to protect the integrity of DNS records and protect end-users against DNS cache poisoning attacks. However, operating a DNSSEC signing infrastructure requires a lot of investment and effort for the maintenance and to ensure the security of the signing service. There is also a need to maintain a proper key management life-cycle. This project is about operating a DNSSEC signing service for external parties (any network operator). We envisage it to be a container-based infrastructure, where a new container is spun every time a new operator enrols into this service. Each signer will have their isolated environment for e.g. running on a Docker and keys will be stored in a softHSM. There will be a web portal allowing the users to activate their service and get the configuration to setup zone transfers for signing between master and slave servers.
Keyword: DNSSEC, Docker, SoftHSM, web development, security
Key deliverables
- A container-based system for activating a DNSSEC engine for AFRINIC members
- Key management strategy within Docker ecosystem
- Web interface to manage and monitor ecosystem
Skills required
- Bash scripting
- Good understanding of the DNS and DNSSEC infrastructure
- Good working knowledge of Docker, Kubernetes, etc
- Web development (Python/Django, php, Angular.js, etc)
Applications:
If you wish to apply for this position, please send a letter of motivation accompanied by your CV, both in English, by email to jobs@afrinic.net , putting as email subject : afjob-INTP-20190318 and the concerned internship title in the mail:
- WIDER (World Internet Data Portal) - Data Analyst/Web
- Policy Compliance Dashboard - Software Engineer
- DNS Open Resolvers in African networks
- EDNS Compliance in African networks
- Detection of NAT/CGNAT in African networks
- Latency Clusters
- Fastest routes
- Managed DNSSEC services
APPLICATION DEADLINE: 16th April 2019
Start date: As soon as possible
Interviews will be held at AFRINIC office in Ebène or telephone interviews will be conducted for candidates outside Mauritius.
AFRINIC reserves the right to call only the best qualified candidates for an interview and not to make any appointment following this advertisement.