From: Richard Whitehouse Date: Mon, 7 Feb 2011 13:38:47 +0000 (+0000) Subject: Progress Report X-Git-Url: https://git.richardwhiuk.com/?a=commitdiff_plain;h=refs%2Fheads%2Fdemodiss;p=ns-moose.git Progress Report --- diff --git a/docs/repbody.tex b/docs/repbody.tex new file mode 100644 index 0000000..56025d6 --- /dev/null +++ b/docs/repbody.tex @@ -0,0 +1,58 @@ + +% Draft 1 + +\vfil + +\centerline{\Large Part II Computer Science Project Progress Report} +\vspace{0.4in} +\centerline{\Large Simulation of Data Link Layer Protocols } +\vspace{0.4in} +\centerline{\large R.~J.~Whitehouse, Homerton College} +\vspace{0.4in} +\centerline{rjw201@cam.ac.uk} +\vspace{0.3in} +\centerline{\large 4 February 2011} + +\vfil + +\noindent +{\bf Project Supervisor:} M.~Scott +\vspace{0.2in} + +\noindent +{\bf Director of Studies:} Dr~B.~Roman +\vspace{0.2in} +\noindent + +\noindent +{\bf Project Overseers:} Dr~A.~Blackwell \& Dr~C.~Mascolo + +\vfil +\pagebreak + +% Main document + +\section*{Schedule} + +The project is roughly on schedule, according to the schedule given in the project proposal, as of the time of writing this report. As such, preparatory work researching the network simulation and other related concepts, the implementation of a switch which performs MOOSE, including rewriting packet addresses at the switch, the rewriting of the storage of state on the switch to fit the MOOSE protocol and the rewriting of ARP (Address Resolution Protocol) packets to work on a MOOSE orientated network have all been completed. Inital work into designing simulations is complete and the implementation of these designs into the codebase is ongoing. Extensions to the MOOSE protocol have not been completed, as of the time of writing. + +\section*{Difficulties encountered} + +The project was originally designed to use the ns2 network simulator, however after researching the issue, specifically looking at how robust the code for simulating link layer switches / bridges, I took the decision, based on guidance from my supervisor, that it would be preferable to use the ns3 simulator which has a more complete implementation of this layer, in particular, the Ethernet implementation can be easily configured to do dynamic routing as is required by the project, and a bridge which largely implemented the 802.1D specification. + +\section*{Work completed} + +Preliminary work involved setting up version control, ensuring access to the necessary resources and checking that the project was adequatly backed up. This has been completed. + +The first stage of work was exploring the space in which the project is positioned - this involved familiarising myself with the ns2 codebase and architecture, and then subsequently the ns3 architecture and code base. + +The second stage of work was designing the implementation of the MOOSE switch implementation. This led to a decision to refactor the existing ns2 switch into code into two separate parts - one which controlled the port, and one which controlled the bridge itself, including the switching fabric. This allowed the code to mirror the hardware closer, and also allow it to be extended to support MOOSE in a more natural way. + +The third stage of work involved writing the MOOSE switch. This was comprised of a number of subsections. First a state storage setup was designed, with three distinct parts. Then this was utilised in order to rewrite incoming packets as they arrived on the switch. Once this was complete the switching fabric was adapted to take use of the new state design. Finally additional logic was placed on the switch to rewrite ARP packets, as they perform a layering violation (namely including link layer protocol addresses inside a network layer packet and so have to be modified to fit MOOSE). Finally basic testing to ensure that the switch performed as expected. + +The fourth stage of work involved designing simulations to test the MOOSE switch. This involved exploring different network topologies, of which a number have been deemed suitable for highlighting the differences between MOOSE and Ethernet, sourcing packet traces in order to map onto the network topologies and implementing the simulations within the project. This stage is ongoing, however rapid progress ahas been made. + +\section*{Looking forward} + +No additional problems have been identified looking forward. It is expected that the project will continue on the schedule outlined in the project proposal. + diff --git a/docs/report.tex b/docs/report.tex new file mode 100644 index 0000000..9fddf84 --- /dev/null +++ b/docs/report.tex @@ -0,0 +1,14 @@ +% This is a LaTeX driving document to produce a standalone copy +% of the project proposal held in propbody.tex. Notice that +% propbody can be used in this context as well as being incorporated +% in the dissertation (see diss.tex). + +\documentstyle[12pt,a4]{article} +\begin{document} + +\include{repbody} + +\end{document} + + +