GSOC2022TCPMaximumSegmentSize
Jump to navigation
Jump to search
Main Page - Roadmap - Summer Projects - Project Ideas - Developer FAQ - Tools - Related Projects
HOWTOs - Installation - Troubleshooting - User FAQ - Samples - Models - Education - Contributed Code - Papers
Back to GSoC 2022 projects
Project Overview
- Project Name: TCP maximum segment size (MSS) improvements
- Student: Akash Mondal
- Mentors: Mohit Tahiliani, Bhaskar Kataria, Vivek Jain
- Google page: https://summerofcode.withgoogle.com/programs/2022/projects/QsOiooM7
- Project Goals: TCP MSS directly influences the size of an IP packet. And an optimal packet size can highly improve the throughput of a network. Thus, the goal of this project is to dynamically change the MSS of a TCP connection, which can be done by the following setups:
- Add Path MTU discovery support for IPv4
- Communication layer between l3 and l4 protocols to send PMTU updates
- Adapt TCP to support dynamic changes of the maximum segment size (MSS)
- Repository:
- About Me: I’m a Master of Engineering student at Jadavpur University, Kolkata. I have an interest in application development and competitive coding. And I also love to contribute to open sources. I have developed several app development projects on the MERN stack. And I extensively use C++ and its powerful STL libraries for problem-solving related to competitive coding. I started working with ns-3 while doing my final year project of M.E. and eventually grew my interest in computer networks as well. Sometimes I draw random sketches and portraits during my free time, which I take as a hobby. I enjoy doing all my work listening to music because it boosts my brain, so I low-key consider myself a music lover too.
Milestones and Deliverables
- Detailed Project Plan (will be continuously updated throughout the GSoC program duration)
Weekly Reports
Week 1
Duration: June 6 - June 12
- Study about Layering, Router Specs, Storing & Purging PMTU from RFC 1191.
- Understand different approaches to path MTU discovery (Packetization Layer Path MTU Discovery [RFC 4821], Classical Path MTU Discovery [RFC 1191]).
Week 2
Duration: June 13 - June 19
- Understand the working of Packetization Layer Path MTU Discovery and Classical Path MTU Discovery.
- List out the main differences between the two. link
Week 3
Duration: June 20 - June 26
- Pros and Cons of Packetization Layer Path MTU Discovery and Classical Path MTU Discovery. link
- Flow chart to understand the working of Packetization Layer Path MTU Discovery. link
Week 4
Duration: June 27 - June 3
- Planned the design for the implementation of Packetization Layer Path MTU Discovery.
- Created a diagram showing different class function interactions in this implementation.
Week 5
Duration: June 4 - June 10
- Added classical path MTU discovery implementation to IPv4 network.
- Create a merge request implementing Classical Path MTU Discovery.
Week 6
Duration: June 11 - June 17
- Did different code refactoring and changes as suggested.
- Made both implemented Ipv4 PMTUD and already existing IPv6 PMTUD aligned to each other.
Week 7
Duration: June 18 - June 24
- Made changes such that any router, that doesn't have PMTUD enabled, uses the minimum link MTU.
- Updated MTU getter and setter functions at the IP l4 protocol
- GetLinkMtu - specific for output device link mtu
- GetPmtu - for geting pmtu when PMTUD is enabled, or min mtu value when disabled
- SetPmtu - for setting pmtu from the icmp