From 1b4204ea8f3114c2fe3f16afbc5ae08ad05b67ef Mon Sep 17 00:00:00 2001 From: Oana Baron Date: Thu, 9 Jun 2011 19:58:16 +0300 Subject: [PATCH] research2: add raw sockets part + abstract --- doc/research2/my-report.tex | 14 ++++++-------- doc/research2/src/abstract.tex | 13 +++++++++++++ doc/research2/src/arch.tex | 18 ++++++++++++++++++ doc/research2/src/intro.tex | 6 ++++-- 4 files changed, 41 insertions(+), 10 deletions(-) create mode 100644 doc/research2/src/abstract.tex diff --git a/doc/research2/my-report.tex b/doc/research2/my-report.tex index 543d110..14c1026 100644 --- a/doc/research2/my-report.tex +++ b/doc/research2/my-report.tex @@ -60,12 +60,10 @@ Splaiul Independenței nr. 313, Bucharest, Romania \\ \maketitle -%\begin{abstract} -%\input{src/abstract} -%\end{abstract} +\begin{abstract} +\input{src/abstract} +\end{abstract} -{\bf \hspace*{0.8cm} \textbf{\emph{Keywords}} -- bittorrent, multiparty, transport protocol, linux kernel,\\ -\hspace*{0.8cm} Merkle hash trees, binmaps} \section{Introduction} \label{sec:introduction} @@ -81,9 +79,9 @@ Splaiul Independenței nr. 313, Bucharest, Romania \\ \label{sec:arch} \input{src/arch} -\section{Raw Sockets} -\label{sec:rawsock} -\input{src/rawsock} +%\section{Raw Sockets} +%\label{sec:rawsock} +%\input{src/rawsock} \section{Testing and Evaluation} \label{sec:testing} diff --git a/doc/research2/src/abstract.tex b/doc/research2/src/abstract.tex new file mode 100644 index 0000000..ed02d8d --- /dev/null +++ b/doc/research2/src/abstract.tex @@ -0,0 +1,13 @@ +%\begin{abstract} +{\bf +BitTorrent is the protocol responsible with the greatest chunk of traffic in the Internet. A new approach, similar to +BitTorrent, is swift – the multiparty(swarming) transport protocol. Swift may be understood as BitTorrent at the +transport layer. Ultimately swift aims at the abstraction of the Internet as a single big data cloud. This paper +proposes an approach to the swift integration into kernel as a transport protocol in the Linux kernel networking +stack. + +\emph{Keywords} -- bittorrent, multiparty, transport protocol, linux kernel, Merkle hash trees, binmaps +} + + +%\end{abstract} diff --git a/doc/research2/src/arch.tex b/doc/research2/src/arch.tex index 320500e..ac09b11 100644 --- a/doc/research2/src/arch.tex +++ b/doc/research2/src/arch.tex @@ -28,6 +28,20 @@ through custom made system calls with the wrapper library. This two phases are d \image[scale=0.5]{img/kernel.png}{img:kernel}{Detail architecture} +% RAW sockets +A socket is one of the most fundamental technologies of computer networking. +Sockets allow applications to communicate using standard mechanisms built into +network hardware and operating systems. + +Raw mode is basically there to allow you to bypass some of the way that your +computer handles TCP/IP. Rather than going through the normal layers of +encapsulation/decapsulation that the TCP/IP stack on the kernel does, you just +pass the packet to the application that needs it. No TCP/IP processing -- so +it's not a processed packet, it's a raw packet. The application that's using +the packet is now responsible for stripping off the headers, analyzing the +packet, all the stuff that the TCP/IP stack in the kernel normally does for +you. + Raw socket implementation will support all syscalls and it will be a copy of our kernel implementation. This implementation will have the same API and behavior as the kernel implementation. Still, in the first implementation, a swift socket will be available to act as only a seeder or a leecher, explicitly one operation transmit @@ -54,3 +68,7 @@ data to other Leechers. In order to do this it must connect to the multiparty pr listening to a mutliparty socket. When binding the Seeder practically uses the hash as a parameter. This means that for every file hashed there will be a socket on which the seeder can receive and serve requests. The Seeder then waits for requests and sends data packets as requested. + + + + diff --git a/doc/research2/src/intro.tex b/doc/research2/src/intro.tex index 4e774f6..3698b8a 100644 --- a/doc/research2/src/intro.tex +++ b/doc/research2/src/intro.tex @@ -56,6 +56,8 @@ has the advantage of providing means to have modular functionality tests. \textbf{Outline}. The rest of the paper is organized as follows. In section \ref{sec:preliminarywork} we discuss some previous approaches in designing the system with their sthrengths and weaknesess. In section \ref{sec:arch} presents our current approach to integrate the \emph{swift} protocol as a transport layer protocol into the Linux -kernel. Section \ref{sec:rawsock} presents a preliminary implementation using raw socktes that prepares the ground for -the final stage of the project. We describe our testing scenariou in detail in section \ref{sec:testing}. Section +kernel. +%Section \ref{sec:rawsock} presents a preliminary implementation using raw socktes that prepares the ground for +%the final stage of the project. +We describe our testing scenariou in detail in section \ref{sec:testing}. Section \ref{sec:summary} concludes the article and refers to future work. -- 2.20.1