Difference between revisions of "NSOC2020Routing"

From Nsnam
Jump to: navigation, search
(Update NSoC2020 Routing Page)
(Routing for community wireless)
 
(3 intermediate revisions by 2 users not shown)
Line 4: Line 4:
  
 
== Routing for community wireless ==
 
== Routing for community wireless ==
 +
 +
'''Note:''' This project is paused (as of late August 2020) due to lack of available time.
 +
 
* '''Student:''' [mailto:rrbothra@gmail.com Rahul Bothra]
 
* '''Student:''' [mailto:rrbothra@gmail.com Rahul Bothra]
 
* '''Mentor:''' [mailto:tomh@tomh.org Tom Henderson]
 
* '''Mentor:''' [mailto:tomh@tomh.org Tom Henderson]
Line 10: Line 13:
 
: TL;DR - Rahul works as a Software Engineer at Microsoft. He graduated from BITS Pilani, India in Dec 2019. His area of interest is Networks and Systems.
 
: TL;DR - Rahul works as a Software Engineer at Microsoft. He graduated from BITS Pilani, India in Dec 2019. His area of interest is Networks and Systems.
 
* '''Abstract:''' This project aims to develop models and evaluation programs related to routing in current community wireless networks.  [https://www.open-mesh.org/projects/batman-adv/wiki/BATMAN_IV batman-adv] for [https://freifunk.net/ Freifunk.net] is the initial target.
 
* '''Abstract:''' This project aims to develop models and evaluation programs related to routing in current community wireless networks.  [https://www.open-mesh.org/projects/batman-adv/wiki/BATMAN_IV batman-adv] for [https://freifunk.net/ Freifunk.net] is the initial target.
 
  
 
== Project Overview ==
 
== Project Overview ==
 +
: We meet Thursdays 3:30 PM GMT at https://meet.google.com/tam-izjx-wsg.
 +
: The tentative duration for this project is <s>3</s> 4 months.
 +
 +
'''TODOs''':
 +
* [https://www.open-mesh.org/doc/batman-adv/index.html Specs] are outdated, contribute towards fixing them as gaps are found.
 +
* Discuss the use of Tags with Mentors.
 +
 +
'''Next Milestone''':
 +
* Have a fully functional neighbor discovery taking into account the entry and exit of nodes from the mesh.
 +
* Define test cases which should cover all possible features and conditions.
 +
* Get feedback for completeness of test cases and discovery protocol from the batadv community.
 +
 +
 +
----
 +
 +
'''15th June - 30th June''':
 +
: Summary - Understanding the batadv-protocol and ns-3 code structure.
 +
* Read B.A.T.M.A.N. [https://tools.ietf.org/html/draft-wunderlich-openmesh-manet-routing-00 IETF draft].
 +
* Read Thesis on analysis and simulation of a Freifunk network using batman - [https://thardes.de/wp-content/uploads/2016/03/thesis.pdf]
 +
* Read documentation and specs - [https://www.open-mesh.org/doc/batman-adv/index.html]. Understood that the IETF draft is highly outdated and should be ignored.
 +
* Went through the ns-3 source code, the way models are designed, and how should the batman module be designed.
 +
 +
'''1st July - 15th July''':
 +
: Summary - Implementing the basic structure of the batman module.
 +
* Wrote definitions for [https://gitlab.com/pro-panda/ns-3-dev/-/blob/batman/master/src/batman/model/batman-header.h packet headers].
 +
* Wrote [https://gist.github.com/pro-panda/9d95ab9fa20162a98cdb5391921afcb4 script] to simulate batman on virtual namespaces on a Linux machine.
 +
* Started writing protocol definition and defining structures to maintain state on the nodes. Discussion with Tom helped in understanding that this should plugin itself to the mesh module.
 +
 +
 +
'''16th July - 25th July''':
 +
: LEAVE
 +
 +
'''25th July - 31st July''':
 +
: Summary - Implementing protocol and state definitions as a routing protocol plugin to the mesh protocol.
 +
* Wrote definitions for [https://gitlab.com/pro-panda/ns-3-dev/-/merge_requests/4 batman helper].
 +
* Rewriting definitions for batman protocol and state.
 +
 +
'''Since late August''':
 +
 +
: This project is paused because Rahul does not have free time to devote to i.

Latest revision as of 23:25, 16 October 2020

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 NSoC 2020 projects

Routing for community wireless

Note: This project is paused (as of late August 2020) due to lack of available time.

TL;DR - Rahul works as a Software Engineer at Microsoft. He graduated from BITS Pilani, India in Dec 2019. His area of interest is Networks and Systems.
  • Abstract: This project aims to develop models and evaluation programs related to routing in current community wireless networks. batman-adv for Freifunk.net is the initial target.

Project Overview

We meet Thursdays 3:30 PM GMT at https://meet.google.com/tam-izjx-wsg.
The tentative duration for this project is 3 4 months.

TODOs:

  • Specs are outdated, contribute towards fixing them as gaps are found.
  • Discuss the use of Tags with Mentors.

Next Milestone:

  • Have a fully functional neighbor discovery taking into account the entry and exit of nodes from the mesh.
  • Define test cases which should cover all possible features and conditions.
  • Get feedback for completeness of test cases and discovery protocol from the batadv community.



15th June - 30th June:

Summary - Understanding the batadv-protocol and ns-3 code structure.
  • Read B.A.T.M.A.N. IETF draft.
  • Read Thesis on analysis and simulation of a Freifunk network using batman - [1]
  • Read documentation and specs - [2]. Understood that the IETF draft is highly outdated and should be ignored.
  • Went through the ns-3 source code, the way models are designed, and how should the batman module be designed.

1st July - 15th July:

Summary - Implementing the basic structure of the batman module.
  • Wrote definitions for packet headers.
  • Wrote script to simulate batman on virtual namespaces on a Linux machine.
  • Started writing protocol definition and defining structures to maintain state on the nodes. Discussion with Tom helped in understanding that this should plugin itself to the mesh module.


16th July - 25th July:

LEAVE

25th July - 31st July:

Summary - Implementing protocol and state definitions as a routing protocol plugin to the mesh protocol.
  • Wrote definitions for batman helper.
  • Rewriting definitions for batman protocol and state.

Since late August:

This project is paused because Rahul does not have free time to devote to i.