156 lines
4.2 KiB
TeX
156 lines
4.2 KiB
TeX
|
\documentclass[a4paper,12pt]{article}
|
||
|
\usepackage[english]{babel}
|
||
|
\usepackage[utf8]{inputenc}
|
||
|
\usepackage{setspace}
|
||
|
|
||
|
% Larger borders -- we do not want do waste paper, even if it is only paper on screen =)
|
||
|
\usepackage[top=2.5cm, bottom=2.5cm, left=2cm, right=2cm]{geometry}
|
||
|
% Remove auto indentation of paragraphs.
|
||
|
\setlength\parindent{0pt}
|
||
|
|
||
|
% Palatino font (nicer serif font: Times is for oldies)
|
||
|
\renewcommand*\rmdefault{ppl}
|
||
|
|
||
|
% Nested itemize list bullet style
|
||
|
\renewcommand{\labelitemi}{$\bullet$}
|
||
|
\renewcommand{\labelitemii}{$\circ$}
|
||
|
\renewcommand{\labelitemiii}{--}
|
||
|
|
||
|
% Math packages
|
||
|
\usepackage{mathtools}
|
||
|
\usepackage{amsmath}
|
||
|
\usepackage{amsfonts}
|
||
|
\usepackage{amssymb}
|
||
|
|
||
|
% Graphic packages
|
||
|
\usepackage{graphicx}
|
||
|
\usepackage{float}
|
||
|
\usepackage{adjustbox}
|
||
|
\usepackage{tikz}
|
||
|
\usepackage{forest,array}
|
||
|
\usetikzlibrary{shadows}
|
||
|
|
||
|
% Graphs styles
|
||
|
\forestset{
|
||
|
giombatree/.style={
|
||
|
for tree={
|
||
|
grow = east,
|
||
|
parent anchor=east,
|
||
|
child anchor=west,
|
||
|
edge={rounded corners=2mm},
|
||
|
fill=violet!5,
|
||
|
drop shadow,
|
||
|
l sep=10mm,
|
||
|
edge path={
|
||
|
\noexpand\path [draw, \forestoption{edge}] (!u.parent anchor) -- +(5mm,0) -- (.child anchor)\forestoption{edge label};
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
\forestset{
|
||
|
qtree/.style={
|
||
|
for tree={
|
||
|
parent anchor=south,
|
||
|
child anchor=north,
|
||
|
align=center,
|
||
|
edge={rounded corners=2mm},
|
||
|
fill=violet!5,
|
||
|
drop shadow,
|
||
|
l sep=10mm,
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
% Project Name
|
||
|
\newcommand{\projectname}{NetPP}
|
||
|
|
||
|
% Hides ugly links from the index
|
||
|
\usepackage[hidelinks]{hyperref}
|
||
|
% Landscape format pdf pagess
|
||
|
\usepackage{pdflscape}
|
||
|
|
||
|
\begin{document}
|
||
|
\pagenumbering{gobble}
|
||
|
|
||
|
{\setstretch{1.0}
|
||
|
\begin{titlepage}
|
||
|
\centering
|
||
|
\includegraphics[width=6cm]{img/unipi.pdf}\par
|
||
|
\vspace{1.5cm}
|
||
|
{\Large Department of Information Engineering \par}
|
||
|
\vspace{1.5cm}
|
||
|
{\huge\textsc{\projectname{}}\par}
|
||
|
\vspace{0.5cm}
|
||
|
{\Large Advanced Networks and Wireless Systems project \par}
|
||
|
\vspace{2cm}
|
||
|
Francesco \textsc{Barbarulo}\par
|
||
|
Bruk Tekalgne \textsc{Gurmesa}\par
|
||
|
Giovan Battista \textsc{Rolandi}
|
||
|
|
||
|
\vfill
|
||
|
|
||
|
% Bottom of the page
|
||
|
{\large A.Y. 2019-2020\par}
|
||
|
\end{titlepage}
|
||
|
}
|
||
|
|
||
|
\tableofcontents % do we really need it? it should be a very quick small doc TODO
|
||
|
|
||
|
\pagenumbering{arabic}
|
||
|
|
||
|
\section{Introduction}
|
||
|
\projectname{} is a simulation of a sensors network which makes use of the following stack:
|
||
|
\begin{itemize}
|
||
|
\item wireless IEEE 802.15.4
|
||
|
\item 6LowPAN
|
||
|
\item IPv6 (routing via RPL)
|
||
|
\item UDP
|
||
|
\item CoAP
|
||
|
\end{itemize}
|
||
|
|
||
|
It is developed on Z1 nodes with Contiki OS, and simulated inside Cooja.
|
||
|
A Java CoAP cache proxy has been developed using Eclipse Californium library, and all CoAP messages are RFC8428 (SenML) compliant.
|
||
|
The Trickle algorithm used inside RPL has been properly tuned in order to deal with a maximum of 40 wireless nodes randomly and uniformly distributed, and a maximum of 4 hops. % TODO please make sure it really is like this
|
||
|
|
||
|
\section{Overview}
|
||
|
Usage of RPL objective function 0 is mandatory by specification.
|
||
|
It is designed to find the nearest grounded (ie. connected to external network) root \cite{rfc:rplof0}.
|
||
|
|
||
|
\section{Trickle Parameters}
|
||
|
Depending on the specific network we want to develop, three different goals can be of interest:
|
||
|
\begin{itemize}
|
||
|
\item energy consumption
|
||
|
\item network formation time
|
||
|
\item network stretch
|
||
|
\end{itemize}
|
||
|
|
||
|
Depending on the most relevant goal for the specific application, the Trickle algorithm used in RPL can be tuned via two parameters:
|
||
|
\begin{itemize}
|
||
|
\item $k$
|
||
|
\item $I_{min}$
|
||
|
\end{itemize}
|
||
|
|
||
|
Since we decided that \$somegoal was more important, and we read mingozzi, %% TODO
|
||
|
from \cite{bib:mingozzi:tricklef} we can infer that... % TODO infer something please
|
||
|
|
||
|
%% ETX expected transmissions %% TODO should we put this somewhere?
|
||
|
|
||
|
\begin{thebibliography}{9}
|
||
|
|
||
|
\bibitem{bib:mingozzi:tricklef}
|
||
|
Mingozzi Enzo, Vallati Carlo --
|
||
|
\emph{Trickle-F Fair broadcast suppression to improve energy-efficient route formation with the RPL routing protocol} --
|
||
|
Università di Pisa
|
||
|
(2013)
|
||
|
|
||
|
\bibitem{rfc:rplof0}
|
||
|
Pascal Thubert --
|
||
|
\emph{RFC6552 (Proposed Standard) Objective Function Zero for the Routing Protocol for Low-Power and Lossy Networks (RPL)} --
|
||
|
Cisco Systems
|
||
|
(2012)
|
||
|
|
||
|
|
||
|
\end{thebibliography}
|
||
|
|
||
|
\end{document}
|