added week numbers
This commit is contained in:
parent
90a44d8d54
commit
9905629763
@ -212,42 +212,42 @@ A sample network is provided in Figure \ref{fig:sample-network}.
|
||||
\pagebreak
|
||||
\section*{Timetable and Milestones}
|
||||
|
||||
\subsection*{12/10/2020 - 1/11/2020}
|
||||
\subsection*{12/10/2020 - 1/11/2020 (Weeks 1-3)}
|
||||
|
||||
Study Go, Rust and C++'s abilities to read all packets from an interface and place them into some form of concurrent queue. Research the positives and negatives of each language's SPMC and MPSC queues.
|
||||
|
||||
\noindent \\
|
||||
Milestone: Example programs in each language that read all packets from a specific interface and place them into a queue, or a reason why this isn't feasible. A decision of which language to use for the rest of the project, based on these code segments and the status of SPMC queues in the language.
|
||||
|
||||
\subsection*{02/11/2020 - 15/11/2020}
|
||||
\subsection*{02/11/2020 - 15/11/2020 (Weeks 4-5)}
|
||||
|
||||
Set up the infrastructure to effectively test any produced work from this point onwards.
|
||||
|
||||
\noindent \\
|
||||
Milestone: A virtual router acting as a virtual Internet for these tests. 3 standard VMs below this level for each: the Local Server, the Remote Server and a speed test server to host iPerf3. Behind the Local Server should be another virtual machine, acting as the client to test the speed from. Backups of this setup should also have been made.
|
||||
|
||||
\subsection*{16/11/2020 - 29/11/2020}
|
||||
\subsection*{16/11/2020 - 29/11/2020 (Weeks 6-7)}
|
||||
|
||||
This section should focus on the security of the application. This would include the ability for someone to maliciously use a Remote Server to perform a DoS attack.
|
||||
|
||||
\noindent \\
|
||||
Milestone: An analysis of how the security of this solution compares, both with other multipath solutions and a network without any multipath solution applied.
|
||||
|
||||
\subsection*{30/11/2020 - 20/12/2020}
|
||||
\subsection*{30/11/2020 - 20/12/2020 (Weeks 8-10)}
|
||||
|
||||
Implementation of the transport aspect of the Local Server and Remote Server. The first data structure for transport should also be created. This does not include the load sharing between connections - it is for a single connection. To enable testing, this will also require the setup of configuration options for each side. At this stage, it would be reasonable for the Remote Server to require two different IPs - one for server communication, and one as the public IP of the Local Router. The initial implementation should use TCP, but if time is available, UDP with a custom datagram should be explored for reduced overhead.
|
||||
|
||||
\noindent \\
|
||||
Milestone: A piece of software that can act either as the Local Server or Remote Server based on configuration. Any IP packets sent to the Local Server should emerge from the Remote Server.
|
||||
|
||||
\subsection*{21/12/2020 - 10/01/2021}
|
||||
\subsection*{21/12/2020 - 10/01/2021 (Weeks 11-13)}
|
||||
|
||||
Create mock connections for tests that support variable speeds, a list of packet numbers to lose and a number of packets to stop handling packets after. Produce the first draft of the preparation chapter.
|
||||
|
||||
\noindent \\
|
||||
Milestone: Mock connections and tests for the existing single transport. A draft of the preparation chapter.
|
||||
|
||||
\subsection*{11/01/2021 - 07/01/2021}
|
||||
\subsection*{11/01/2021 - 07/02/2021 (Weeks 14-17)}
|
||||
|
||||
Implement the load balancing between multiple connections for both servers. At this point, connection losses should be tested too.
|
||||
|
||||
@ -256,7 +256,7 @@ The progress report is due soon after this work segment, so that should be compl
|
||||
\noindent \\
|
||||
Milestone: The Local Server and Remote Server are capable of balancing load between multiple connections. They can also suffer a network failure of all but one connection with minimal packet loss. The progress report should be prepared.
|
||||
|
||||
\subsection*{08/02/2021 - 21/02/2021}
|
||||
\subsection*{08/02/2021 - 21/02/2021 (Weeks 18-19)}
|
||||
|
||||
Implementation of a DHCP server for the Local Server. This should create a DHCP pool with a single address, that of the Remote IP.
|
||||
|
||||
@ -265,35 +265,35 @@ As well as code in this period, it is important to complete the preparation chap
|
||||
\noindent \\
|
||||
Milestone: The router behind the Local Server should automatically receive the Public IP of the Remote Server from DHCP. The dissertation should have a completed preparation chapter, and an acceptably drafted implementation chapter.
|
||||
|
||||
\subsection*{22/02/2021 - 21/03/2021}
|
||||
\subsection*{22/02/2021 - 21/03/2021 (Weeks 20-23)}
|
||||
|
||||
Complete dissertation.
|
||||
|
||||
\noindent \\
|
||||
Milestone: Benchmarks and graphs for non-extended success criteria complete and added. Complete dissertation draft handed to DoS and supervisor for feedback.
|
||||
|
||||
\subsection*{22/03/2021 - 25/04/2021}
|
||||
\subsection*{22/03/2021 - 25/04/2021 (Weeks 24-28)}
|
||||
|
||||
Flexible time: divide between re-drafting dissertation and adding additional extended success criteria features, with priority given to re-drafting the dissertation.
|
||||
|
||||
\noindent \\
|
||||
Milestone: A finished dissertation and any extended success criteria that have been completed.
|
||||
|
||||
\subsection*{26/04/2021 - 09/05/2021}
|
||||
\subsection*{26/04/2021 - 09/05/2021 (Weeks 29-30)}
|
||||
|
||||
New additions freeze. Nothing new should be added to either the dissertation or code at this point.
|
||||
|
||||
\noindent \\
|
||||
Milestone: Bug fixes and polishing.
|
||||
|
||||
\subsection*{10/05/2021 - 14/05/2021}
|
||||
\subsection*{10/05/2021 - 14/05/2021 (Week 31)}
|
||||
|
||||
The project should already be submitted a week clear of the deadline, so this week has no planned activity.
|
||||
|
||||
\section*{Resources Required}
|
||||
|
||||
\begin{itemize}
|
||||
\item Personal Computer (AMD R9 3950X, 16GB RAM)
|
||||
\item Personal Computer (AMD R9 3950X, 32GB RAM)
|
||||
\item Personal Laptop (AMD i7-8550U, 16GB RAM)
|
||||
\end{itemize}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user