Update on Overleaf.
Before Width: | Height: | Size: 130 KiB After Width: | Height: | Size: 130 KiB |
@ -6,9 +6,9 @@
|
||||
\chapter{Introduction} %Title of the First Chapter
|
||||
|
||||
\ifpdf
|
||||
\graphicspath{{Introduction/Figs/Raster/}{Introduction/Figs/PDF/}{Introduction/Figs/}}
|
||||
\graphicspath{{1_Introduction/Figs/Raster/}{1_Introduction/Figs/PDF/}{1_Introduction/Figs/}}
|
||||
\else
|
||||
\graphicspath{{Introduction/Figs/Vector/}{Introduction/Figs/}}
|
||||
\graphicspath{{1_Introduction/Figs/Vector/}{1_Introduction/Figs/}}
|
||||
\fi
|
||||
|
||||
Most UK residential broadband speeds receive broadband speeds advertised at between 30Mbps and 100Mbps download (Ofcom, “UK Home Broadband Performance.”, \cite{ofcom_performance_2020}). However, it is often possible to have multiple low bandwidth connections installed. More generally, a wider variety of Internet connections for fixed locations are becoming available with time. These include: DSL, Fibre To The Premises, 4G, 5G, Wireless ISPs such as LARIAT and Low Earth Orbit ISPs such as Starlink. This work focuses on a method of providing an aggregate link from multiple distinct connections, regardless of their likeness.
|
Before Width: | Height: | Size: 215 KiB After Width: | Height: | Size: 108 KiB |
Before Width: | Height: | Size: 42 KiB After Width: | Height: | Size: 42 KiB |
Before Width: | Height: | Size: 58 KiB After Width: | Height: | Size: 58 KiB |
@ -5,9 +5,9 @@
|
||||
\chapter{Preparation}
|
||||
|
||||
\ifpdf
|
||||
\graphicspath{{Preparation/Figs/Raster/}{Preparation/Figs/PDF/}{Preparation/Figs/}}
|
||||
\graphicspath{{2_Preparation/Figs/Raster/}{2_Preparation/Figs/PDF/}{2_Preparation/Figs/}}
|
||||
\else
|
||||
\graphicspath{{Preparation/Figs/Vector/}{Preparation/Figs/}}
|
||||
\graphicspath{{2_Preparation/Figs/Vector/}{2_Preparation/Figs/}}
|
||||
\fi
|
||||
|
||||
Proxying packets is the process of taking packets that arrive at one location and transporting them to leave at another. This chapter focuses on the preparatory work to achieve this practically and securely, given the design outlined in the previous chapter, in which the proxy consolidates multiple connections to appear as one to both the wider Internet and devices on the local network. In sections \ref{section:risk-analysis} and \ref{section:preparation-security}, I discuss the security risks and plans to confront them. In section \ref{section:language-selection}, I present three languages: Go, Rust and C++, and provide context for choosing Go as the implementation language. Finally, in sections \ref{section:requirements-analysis} and \ref{section:engineering-approach}, I present a requirements analysis and a description of the engineering approach for the project.
|
||||
@ -285,12 +285,12 @@ One of the most important features of any agile methodology is welcoming changin
|
||||
\centering
|
||||
\begin{subfigure}[t]{0.45\textwidth}
|
||||
\centering
|
||||
\inputminted{go}{Preparation/Samples/string.go}
|
||||
\inputminted{go}{2_Preparation/Samples/string.go}
|
||||
\caption{The structure with a fixed local address.}
|
||||
\end{subfigure}
|
||||
\begin{subfigure}[t]{0.45\textwidth}
|
||||
\centering
|
||||
\inputminted{go}{Preparation/Samples/funcstring.go}
|
||||
\inputminted{go}{2_Preparation/Samples/funcstring.go}
|
||||
\caption{The structure with a dynamic local address.}
|
||||
\end{subfigure}
|
||||
\caption{An example of refactoring for changing requirements.}
|
@ -5,9 +5,9 @@
|
||||
|
||||
% **************************** Define Graphics Path **************************
|
||||
\ifpdf
|
||||
\graphicspath{{Implementation/Figs/Raster/}{Implementation/Figs/PDF/}{Implementation/Figs/}}
|
||||
\graphicspath{{3_Implementation/Figs/Raster/}{3_Implementation/Figs/PDF/}{3_Implementation/Figs/}}
|
||||
\else
|
||||
\graphicspath{{Implementation/Figs/Vector/}{Implementation/Figs/}}
|
||||
\graphicspath{{3_Implementation/Figs/Vector/}{3_Implementation/Figs/}}
|
||||
\fi
|
||||
|
||||
% --------------------------- Introduction --------------------------------- %
|
||||
@ -353,7 +353,7 @@ Although the repeated packet protection is primarily targeted at avoiding repeat
|
||||
The message authentication interfaces, shown in figure \ref{fig:message-authenticator-interface}, are designed to simply support any MAC generator, including digital signatures. The MAC algorithm that is implemented at this point is BLAKE2s \citep{hutchison_blake2_2013}, a fast and secure algorithm that supports prefix-MAC generation. BLAKE2s is available in OpenSSL\footnote{\url{https://openssl.org}} and the Go \verb'crypto'\footnote{\url{https://github.com/golang/crypto}} library, making it accessible. It is also an extremely fast algorithm, that provides the necessary guarantees for this software, so was chosen for its low performance overheads. Any other MAC which can be generated in a similar fashion could also be used.
|
||||
|
||||
\begin{figure}
|
||||
\inputminted{go}{Implementation/Samples/mac.go}
|
||||
\inputminted{go}{3_Implementation/Samples/mac.go}
|
||||
\caption{Message authenticator interface}
|
||||
\label{fig:message-authenticator-interface}
|
||||
\end{figure}
|
Before Width: | Height: | Size: 9.6 KiB After Width: | Height: | Size: 9.6 KiB |
Before Width: | Height: | Size: 9.6 KiB After Width: | Height: | Size: 9.6 KiB |
Before Width: | Height: | Size: 9.6 KiB After Width: | Height: | Size: 9.6 KiB |
Before Width: | Height: | Size: 9.7 KiB After Width: | Height: | Size: 9.7 KiB |
Before Width: | Height: | Size: 9.3 KiB After Width: | Height: | Size: 9.3 KiB |
Before Width: | Height: | Size: 9.6 KiB After Width: | Height: | Size: 9.6 KiB |
Before Width: | Height: | Size: 9.6 KiB After Width: | Height: | Size: 9.6 KiB |
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 10 KiB |
@ -6,9 +6,9 @@
|
||||
|
||||
% **************************** Define Graphics Path **************************
|
||||
\ifpdf
|
||||
\graphicspath{{Evaluation/Figs/Raster/}{Evaluation/Figs/PDF/}{Evaluation/Figs/}}
|
||||
\graphicspath{{4_Evaluation/Figs/Raster/}{4_Evaluation/Figs/PDF/}{4_Evaluation/Figs/}}
|
||||
\else
|
||||
\graphicspath{{Evaluation/Figs/Vector/}{Evaluation/Figs/}}
|
||||
\graphicspath{{4_Evaluation/Figs/Vector/}{4_Evaluation/Figs/}}
|
||||
\fi
|
||||
|
||||
This chapter will discuss the methods used to evaluate my project and the results gained. The results will be discussed in the context of the success criteria laid out in the Project Proposal.
|
@ -6,9 +6,9 @@
|
||||
|
||||
% **************************** Define Graphics Path **************************
|
||||
\ifpdf
|
||||
\graphicspath{{Chapter5/Figs/Raster/}{Chapter5/Figs/PDF/}{Chapter5/Figs/}}
|
||||
\graphicspath{{5_Conclusions/Figs/Raster/}{5_Conclusions/Figs/PDF/}{5_Conclusions/Figs/}}
|
||||
\else
|
||||
\graphicspath{{Chapter5/Figs/Vector/}{Chapter5/Figs/}}
|
||||
\graphicspath{{5_Conclusions/Figs/Vector/}{5_Conclusions/Figs/}}
|
||||
\fi
|
||||
|
||||
\section{Future Work}
|
10
thesis.tex
@ -135,11 +135,11 @@
|
||||
% ******************************** Main Matter *********************************
|
||||
\mainmatter
|
||||
|
||||
\include{Introduction/introduction}
|
||||
\include{Preparation/preparation}
|
||||
\include{Implementation/implementation}
|
||||
\include{Evaluation/evaluation}
|
||||
\include{Conclusions/conclusions}
|
||||
\include{1_Introduction/introduction}
|
||||
\include{2_Preparation/preparation}
|
||||
\include{3_Implementation/implementation}
|
||||
\include{4_Evaluation/evaluation}
|
||||
\include{5_Conclusions/conclusions}
|
||||
|
||||
|
||||
% ********************************** Back Matter *******************************
|
||||
|