GSOC2022PerfectArp

From Nsnam
Revision as of 06:23, 20 June 2022 by Zhiheng (Talk | contribs) (Weekly Reports)

Jump to: navigation, search

Main Page - Current Development - Developer FAQ - Tools - Related Projects - Project Ideas - Summer Projects

Installation - Troubleshooting - User FAQ - HOWTOs - Samples - Models - Education - Contributed Code - Papers

Back to GSoC 2022 projects

Project Overview

  • Project Name: Perfect ARP and NDP
  • Student: Zhiheng Dong
  • Mentors: Tommaso Pecorella, Ameya Deshpande, Manoj Kumar Rana
  • Google page: https://summerofcode.withgoogle.com/programs/2022/projects/DdUT09pZ
  • Project Goals: The project aims to implement a “Perfect” version of ARP and NDP which produce caches that contain all needed IP address–MAC address mapping. ARP and NDP are sometimes intrusive in high level testing, it will introduce unexpected noise to the simulation (unwanted delays, packet drops, etc.). Perfect ARP/NDP can ensure every ARP/NDP look-up hits the cache so that no ARP messages or Neighbor discovery messages will be generated.
  • Repository: https://gitlab.com/ZhiHengD/ns-3-dev
  • About Me: I’m a first-year computer science graduate student from University of Southern California, US. I got my bachelor’s degree in computer science from University of Wisconsin- Madison, US. I began my graduate study in August 2021. I’m interested in computer networks and have good code experience in C and C++, I also did projects with Python, Java and JavaScript.
  • Project Plan: link

Milestones and Deliverables

Phase 1

Duration: Week 1 to Week 3

  • Enable ipv4 static perfect Arp
  • Enable ipv6 static perfect Ndp
  • Prepare examples and tests for them

Phase 2

Duration: Week 4 to Week 7

  • Enable ipv4 dynamical perfect Arp
  • Enable ipv6 dynamical perfect Ndp
  • Prepare examples and tests for them

Phase 3

Duration: Week 8 to Week 10

  • Handle DAD
  • Enable ipv6 dynamical perfect Ndp
  • Update documentation

Weekly Reports

Week1

Duration: June 7 - June 13

  • Start working on IPv4 perfect Arp.
  • Implemented an approach of creating subclass of ArpL3Protocol and ArpCache to dynamically create shared perfect cache.
  • Handled interface up/down event in that approach.
  • Tested IP neighbor cache flushing behavior on Linux.
  • Determined to implement perfect cache in a more concise way, which is create static perfect cache first after discussing with mentors.