ECN support for qdiscs in ns-3
Jump to navigation
Jump to search
Enabling ECN support for ns-3 qdiscs - Summer Project 2016
- Student: Shravya Kaudki Srinivas
- Mentors: Mohit Tahiliani , Tom Henderson
- Abstract: This project aims to provide ECN support to the existing AQM mechanisms in ns-3, verify the same by writing tests and document it.
- Referred RFC: The Addition of Explicit Congestion Notification (ECN) to IP [ https://tools.ietf.org/html/rfc3168]
- Referred ns-2 code:
- ns-3 ECN code:
- Other Material: Implementing explicit congestion notification in ns-3 [ http://dl.acm.org/citation.cfm?id=2630782]
- About me: : I am pursuing B.Tech in Computer Science from National Institute of Technology Karnataka, Surathkal, India. Currently, I am a Mitacs intern working under Dr. Ehab Elmallah on Wireless Underwater Sensor Networks at University of Alberta, Canada.
Weekly Plan
Week 1
* Going through the RFC * Going through the Linux and ns-2 stack * Preparing the architecture for merging ECN with the existing AQM mechanisms in ns-3 Key Deliverable: Information Architecture
Week 2
* Implementation of ECN bits in the TCP and IP headers * Implementation of ECN Negotiation by adding ECN Capability to TCP's SYN/ACK packets * Writing tests for this scenario and documenting the ECN support in TCP and IP packets Key Deliverable: RFC compliant packet structure
Week 3
* Implementation of ECN at TCP sender (i.e., setting ECN code points in data packets) * Writing tests for this scenario and documentation of the implementation and tests. Key Deliverable: The sending module at layer 4
Week 4
* Incorporating ECN functionality in PIE * Write tests to verify the functionality of ECN with PIE * Documenting the implementation of ECN for PIE. * We can have Mid-term review this week
Week 5
* Implementation of ECN at TCP receiver (i.e., recognising ECN marks from data packets) * Writing example for implementation of ECN in layer 4 * Completing tests for this scenario and documenting the implementation and tests. Key Deliverable: The complete implementation of ECN in layer 4
Week 6
* Integration across layers * Verifying the complete functionality of ECN * Putting up code for review * Complete the documentation
Week 7
Week 7: * Addressing reviewer’s comments * Solving bugs before declaring the code to be 'ready to merge' state. * Finalize the documentation.