#LyX 1.3 created this file. For more info see http://www.lyx.org/
\lyxformat 221
\textclass report
\begin_preamble
\input{preamble}
\end_preamble
\language english
\inputencoding auto
\fontscheme times
\graphics default
\paperfontsize 11
\spacing double
\papersize letterpaper
\paperpackage a4
\use_geometry 1
\use_amsmath 1
\use_natbib 1
\use_numerical_citations 1
\paperorientation portrait
\leftmargin 1.5in
\topmargin 0.9in
\rightmargin 1in
\bottommargin 1in
\headsep 0.17in
\footskip 0in
\secnumdepth 4
\tocdepth 3
\paragraph_separation indent
\defskip medskip
\quotes_language english
\quotes_times 2
\papercolumns 1
\papersides 1
\paperpagestyle fancy
\layout Chapter
Conclusion and future work
\layout Standard
\begin_inset ERT
status Collapsed
\layout Standard
\backslash
thispagestyle{empty}
\end_inset
\begin_inset ERT
status Collapsed
\layout Standard
\backslash
renewcommand
\backslash
figurename{Fig.}
\end_inset
This last chapter is a high level summery of discoveries of this thesis
and possible future work.
The contributions include:
\layout Itemize
The performance increase with multiple path routing.
\layout Itemize
Weighted multiple path routing further increases bandwidth performance.
\layout Itemize
A technique for connection based buffering technique to remove out of sequence
packets.
\layout Itemize
Documentation on debugging the Linux kernel with an IDE or emacs editors,
an additional tool for other kernel developers.
\layout Itemize
Documention explaining networking packets processing by the Linux TCP/IP
sutie, INET.
\layout Section
Work contributions
\layout Standard
\begin_inset Float figure
placement H
wide false
collapsed false
\layout Standard
\align center
\begin_inset Graphics
filename Figures/26multipathResult.eps
display none
\end_inset
\layout Caption
\begin_inset LatexCommand \label{fig: Result Figure Multipath bandwidth limiting}
\end_inset
Multiple path routing with bandwidth rate limiting to 150 kB/s
\end_inset
\layout Standard
\begin_inset Float table
placement H
wide false
collapsed false
\layout Standard
\begin_inset Tabular
\begin_inset Text
\layout Standard
# of node
\end_inset
|
\begin_inset Text
\layout Standard
Bandwidth for each path is restricted to 150 kB/s
\end_inset
|
\begin_inset Text
\layout Standard
1
\end_inset
|
\begin_inset Text
\layout Standard
100.45 kB/s
\end_inset
|
\begin_inset Text
\layout Standard
2
\end_inset
|
\begin_inset Text
\layout Standard
215.88 kB/s
\end_inset
|
\begin_inset Text
\layout Standard
3
\end_inset
|
\begin_inset Text
\layout Standard
339.72 kB/s
\end_inset
|
\begin_inset Text
\layout Standard
4
\end_inset
|
\begin_inset Text
\layout Standard
557.24 kB/s
\end_inset
|
\begin_inset Text
\layout Standard
5
\end_inset
|
\begin_inset Text
\layout Standard
700.82 kB/s
\end_inset
|
\end_inset
\layout Standard
\SpecialChar ~
\newline
\layout Caption
\begin_inset LatexCommand \label{Table: Result FigureMultipath bandwidth limiting}
\end_inset
Multiple path routing with bandwidth rate limiting to 150 kB/s
\end_inset
\layout Standard
Fig.\SpecialChar ~
\begin_inset LatexCommand \ref{fig: Result Figure Multipath bandwidth limiting}
\end_inset
and Table\SpecialChar ~
\begin_inset LatexCommand \ref{Table: Result FigureMultipath bandwidth limiting}
\end_inset
is a reproduction from Section\SpecialChar ~
\begin_inset LatexCommand \ref{sec:Bandwidth-controlled-scenario}
\end_inset
to show how the bandwidth increases as the number of nodes in multiple
path routing increases.
This bandwidth increase is shown better in the table.
Each path is restricted by a given bandwidth listed in the column headers
of the table.
\layout Standard
Multiple path routing takes advantage of the bandwidth of addtional intermediate
proxies and increases the overall bandwidth.
These results are a begining of a solution to the problem posed in Section\SpecialChar ~
\begin_inset LatexCommand \ref{sec:Goals-and-Motivation}
\end_inset
.
The technique for multiple path routing is described in Section\SpecialChar ~
\begin_inset LatexCommand \ref{sec:Iproute2-to-create}
\end_inset
and Section\SpecialChar ~
\begin_inset LatexCommand \ref{sec:Changing-the-Linux}
\end_inset
.
\layout Standard
\begin_inset Float figure
placement H
wide false
collapsed false
\layout Standard
\align center
\begin_inset Graphics
filename Figures/26weightResult.eps
display none
\end_inset
\layout Caption
\begin_inset LatexCommand \label{fig: Result Figure Weight Multipath bandwidth limiting}
\end_inset
Weighted Multiple path routing with the first path bandwidth limited to
150 kB/s and using five nodes
\end_inset
\layout Standard
\begin_inset Float table
placement H
wide false
collapsed false
\layout Standard
\begin_inset Tabular
\begin_inset Text
\layout Standard
Weight ratio
\end_inset
|
\begin_inset Text
\layout Standard
Bandwidth for the first path is restricted to 150 kB/s
\end_inset
|
\begin_inset Text
\layout Standard
1
\family roman
\series medium
\shape up
\size normal
\emph off
\bar no
\noun off
\color none
:5
\end_inset
|
\begin_inset Text
\layout Standard
\family roman
\series medium
\shape up
\size normal
\emph off
\bar no
\noun off
\color none
969.8
\family default
\series default
\shape default
\size default
\emph default
\bar default
\noun default
\color default
kB/s
\end_inset
|
\begin_inset Text
\layout Standard
1:10
\end_inset
|
\begin_inset Text
\layout Standard
\family roman
\series medium
\shape up
\size normal
\emph off
\bar no
\noun off
\color none
2841.25
\family default
\series default
\shape default
\size default
\emph default
\bar default
\noun default
\color default
kB/s
\end_inset
|
\begin_inset Text
\layout Standard
1:15
\end_inset
|
\begin_inset Text
\layout Standard
\family roman
\series medium
\shape up
\size normal
\emph off
\bar no
\noun off
\color none
4362.48
\family default
\series default
\shape default
\size default
\emph default
\bar default
\noun default
\color default
kB/s
\end_inset
|
\begin_inset Text
\layout Standard
1:20
\end_inset
|
\begin_inset Text
\layout Standard
\family roman
\series medium
\shape up
\size normal
\emph off
\bar no
\noun off
\color none
5525.86
\family default
\series default
\shape default
\size default
\emph default
\bar default
\noun default
\color default
kB/s
\end_inset
|
\begin_inset Text
\layout Standard
1:25
\end_inset
|
\begin_inset Text
\layout Standard
\family roman
\series medium
\shape up
\size normal
\emph off
\bar no
\noun off
\color none
6800
\family default
\series default
\shape default
\size default
\emph default
\bar default
\noun default
\color default
kB/s
\end_inset
|
\begin_inset Text
\layout Standard
1:50
\end_inset
|
\begin_inset Text
\layout Standard
\family roman
\series medium
\shape up
\size normal
\emph off
\bar no
\noun off
\color none
9471.17
\family default
\series default
\shape default
\size default
\emph default
\bar default
\noun default
\color default
kB/s
\end_inset
|
\end_inset
\layout Standard
\SpecialChar ~
\newline
\layout Caption
\begin_inset LatexCommand \label{Table: Result Figure Weight Multipath bandwidth limiting}
\end_inset
Weighted Multiple path routing with the first path bandwidth limited to
150 kB/s and using five nodes
\end_inset
\layout Standard
Fig.\SpecialChar ~
\begin_inset LatexCommand \ref{fig: Result Figure Weight Multipath bandwidth limiting}
\end_inset
and Table\SpecialChar ~
\begin_inset LatexCommand \ref{Table: Result Figure Weight Multipath bandwidth limiting}
\end_inset
are cropped versions of results from Section\SpecialChar ~
\begin_inset LatexCommand \ref{sec:Weighted-scenarios}
\end_inset
.
Fig.\SpecialChar ~
\begin_inset LatexCommand \ref{fig: Result Figure Weight Multipath bandwidth limiting}
\end_inset
is respresentive of all results demonstrating as the weighted ratio increases
to higher bandwidth paths, the overall bandwidth increases.
\layout Standard
Section\SpecialChar ~
\begin_inset LatexCommand \ref{sec:Packet-buffering}
\end_inset
describes the technique for creating a connection based buffer.
Connection based buffering is a good concept but still needs more work
to be benifial for multiple path routing.
Connection based buffering significantly reduce the number of duplicate
acknowledgements as shown with ethereal network taps, but Fig
\begin_inset LatexCommand \ref{fig: Result buffer}
\end_inset
shows the bandwidth is lower with connection based buffering and multiple
path routing.
The connection based buffering techniques has a perfomance hit caused by
waiting for the correct packet before processing the buffer.
This delay increases the overall window and in higher bandwidth environments
decreases the overall bandwidth speed.
\layout Standard
\begin_inset Float figure
placement H
wide false
collapsed false
\layout Standard
\align center
\begin_inset Graphics
filename Figures/27BufferResult.eps
display none
\end_inset
\layout Caption
\begin_inset LatexCommand \label{fig: Result buffer}
\end_inset
Multiple path routing vs multipath routing using a connection based buffer
\end_inset
\layout Standard
\begin_inset Float table
placement H
wide false
collapsed false
\layout Standard
\begin_inset Tabular
\begin_inset Text
\layout Standard
# of node
\end_inset
|
\begin_inset Text
\layout Standard
\family roman
\series medium
\shape up
\size normal
\emph off
\bar no
\noun off
\color none
No buffer
\end_inset
|
\begin_inset Text
\layout Standard
Buffer
\end_inset
|
\begin_inset Text
\layout Standard
1
\end_inset
|
\begin_inset Text
\layout Standard
100.45 kB/s
\end_inset
|
\begin_inset Text
\layout Standard
\family roman
\series medium
\shape up
\size normal
\emph off
\bar no
\noun off
\color none
105.93
\family default
\series default
\shape default
\size default
\emph default
\bar default
\noun default
\color default
kB/s
\end_inset
|
\begin_inset Text
\layout Standard
2
\end_inset
|
\begin_inset Text
\layout Standard
215.88 kB/s
\end_inset
|
\begin_inset Text
\layout Standard
\family roman
\series medium
\shape up
\size normal
\emph off
\bar no
\noun off
\color none
122.87
\family default
\series default
\shape default
\size default
\emph default
\bar default
\noun default
\color default
kB/s
\end_inset
|
\begin_inset Text
\layout Standard
3
\end_inset
|
\begin_inset Text
\layout Standard
339.72 kB/s
\end_inset
|
\begin_inset Text
\layout Standard
\family roman
\series medium
\shape up
\size normal
\emph off
\bar no
\noun off
\color none
365.87
\family default
\series default
\shape default
\size default
\emph default
\bar default
\noun default
\color default
kB/s
\end_inset
|
\begin_inset Text
\layout Standard
4
\end_inset
|
\begin_inset Text
\layout Standard
557.24 kB/s
\end_inset
|
\begin_inset Text
\layout Standard
\family roman
\series medium
\shape up
\size normal
\emph off
\bar no
\noun off
\color none
427.14
\family default
\series default
\shape default
\size default
\emph default
\bar default
\noun default
\color default
kB/s
\end_inset
|
\begin_inset Text
\layout Standard
5
\end_inset
|
\begin_inset Text
\layout Standard
700.82 kB/s
\end_inset
|
\begin_inset Text
\layout Standard
\family roman
\series medium
\shape up
\size normal
\emph off
\bar no
\noun off
\color none
513.21
\family default
\series default
\shape default
\size default
\emph default
\bar default
\noun default
\color default
kB/s
\end_inset
|
\end_inset
\layout Standard
\SpecialChar ~
\newline
\layout Caption
\begin_inset LatexCommand \label{Table: Result buffer}
\end_inset
Multiple path routing vs multipath routing using a connection based buffer
\end_inset
\layout Section
Additional work
\layout Standard
Appendix\SpecialChar ~
\begin_inset LatexCommand \ref{cha:Comments-on-User}
\end_inset
and\SpecialChar ~
\begin_inset LatexCommand \ref{cha:Instruction-manual}
\end_inset
talk about how to setup a virtual operating system, User Mode Linux, to
debug and study the Linux kernel.
Many months went into figuring out the online documenation and experimenting
with configurations so the virtual machine would work properly.
\layout Standard
Appendix\SpecialChar ~
\begin_inset LatexCommand \ref{cha:A3-Assessment on TCP}
\end_inset
and\SpecialChar ~
\begin_inset LatexCommand \ref{cha:tcpStructs}
\end_inset
documents the study of the Linux kernel's TCP/IP suite, INET.
Considering the lack of documentation for the INET code, the writer believes
it could be very popular and a useful tool to understanding and teaching
the TCP/IP protocol suite.
\layout Section
Future work
\layout Standard
While there are many applications fo expand a technique for utlitilizing
bandwidth over multiple connections, here are a few the writer would like
to share.
\layout Subsection
A scheduler for applying the weights to each connection path
\layout Standard
Using the technique talked about in Section\SpecialChar ~
\begin_inset LatexCommand \ref{sec:Weighted-scenarios}
\end_inset
, a scheduler could be written to manage and change the weights based on
the available bandwidth.
The bandwidth per connection needs to be stored in a structure.
The bulk of the data could be routed through faster connections and calculation
s could be done to find the weight peaking the bandwidth.
The algorithm used could also write to the scheduler and send packets later
in the window anticipating a delay and utilitizing the slow connection
path without incurring out of sequence packets.
The results shown in Section\SpecialChar ~
\begin_inset LatexCommand \ref{fig: WeightedPacketDistro}
\end_inset
demonstrates the possiblity of raising the bandwidth to fully utilize the
combined bandwidth of all the connection paths.
\layout Subsection
One-time pad crytograpy using the INET code
\layout Standard
\begin_inset Float figure
placement H
wide false
collapsed false
\layout Standard
\align center
\begin_inset Graphics
filename Figures/28onetimepad.eps
\end_inset
\layout Caption
\begin_inset LatexCommand \label{fig: oneTimePad}
\end_inset
One time pad with the INET code modifications
\end_inset
The techniques for virtual machines and modifying the TCP/IP protocol explained
in\SpecialChar ~
\begin_inset LatexCommand \ref{cha:Comments-on-User}
\end_inset
,\SpecialChar ~
\begin_inset LatexCommand \ref{cha:A3-Assessment on TCP}
\end_inset
, and\SpecialChar ~
\begin_inset LatexCommand \ref{cha:tcpStructs}
\end_inset
could be the baseline for creating a secure protocol based on the TCP/IP
and one-time pad cryptography
\begin_inset LatexCommand \citep{wikipedia}
\end_inset
.
\layout Standard
A random generated file containtaing multiple keys is stored on a removeable
media (i.e., one gigabyte flash card).
The flie's location and a switch for using this random file are passed
to the kernel through the proc.
Section\SpecialChar ~
\begin_inset LatexCommand \ref{sec:Utilizing-the-Proc}
\end_inset
talks about how proc can input data to the kernel.
The TCP protocol has acknowledgment packets with no data in the payload.
Both computers (server and client) have access to the random generated
file.
The acknowledgement packet can carry a pointer to the current key.
The INET code can be modified to encrypt the payload based on the current
key.
When the packet is received, the INET code knows the key to decrypt the
data's content.
\layout Standard
Since the keys change every four to five packets received (roughly 1500
bytes per packet or 6000 bytes).
Using a one gigabyte removable device and encryption keys of 128 bits every
four packets.
A one gigabyte flash card should be able to send rougly 6.25 terabyes of
data (excluding the overhead for the packet transfer) before being recharged
with a new random file.
Fig.\SpecialChar ~
\begin_inset LatexCommand \ref{fig: oneTimePad}
\end_inset
graphically illistrates this idea of using one time pad with INET modifications.
\layout Standard
Each acknowledgement sends the location of the next key to be used.
Since acknowledgments are sent every four to five packets during an established
connection, the next sent packet uses the next key in the location.
This ensures each packet is encrypted with a unque key and data within
the acknowledgements are merely pointers to verify where each side is pointing
to within the file.
\layout Subsection
Pornography filter within the kernel
\layout Standard
Kernel modifications can force an Internet user to check a website for decency
without user intervention.
If the check returns saying the site is no allowable, the kernel can return
an invalid message and block contiuation of the connection.
\layout Standard
A protocol similar to ARP could be developed to check a website by sending
the IP address to an online database.
When the online database checks the website, a confirmation can be sent
to the computer, similar to DNS.
The Linux kernel can also cache the list of acceptable sites to further
speed up validation.
\the_end