From 1d85158b8ecbd0194d850caf2f01d0886e4ef8c2 Mon Sep 17 00:00:00 2001 From: = <=> Date: Fri, 14 Dec 2018 00:47:38 +0100 Subject: [PATCH] Fuck manet text --- notes.org | 31 +- notes.pdf | Bin 191092 -> 252388 bytes notes.tex | 1126 ++++++++++++++++++++++++++++++++++++++++++++++++----- 3 files changed, 1058 insertions(+), 99 deletions(-) diff --git a/notes.org b/notes.org index d8301f4..f83124c 100644 --- a/notes.org +++ b/notes.org @@ -281,6 +281,7 @@ than one hop away from the destination), but there is no routing table entry. As - A backhoe is unlikely to take out a major part of the system – at least if we store at k closest nodes * Mobile Ad-hoc Networks and Wireless Sensor Networks +TODO : READ COOPERATION WITH OTHER PROTOCOLS IN MANET TEXT ** Routing in Mobile Ad-hoc Networks *** Introduction - Routing is the process of passing some data, a message, along in a network. @@ -581,9 +582,35 @@ than one hop away from the destination), but there is no routing table entry. As - Favours nodes in dense areas, due to N, which is amount_of_neighbours. - When number_of_retrans isn't changed, but the sleep time is, packets might be lost. A fix could be to make this variable as well. - Apparently doubles the overall lifetime, as network density rises. - **** Span - +- Power-save approach based on notion of connected dominating sets (CDSs). +- A CDS is a connected subgraph S of G, such that every vertex u in G is either in S or adjacent to some vertex v in S. +- So all nodes can be reached from the CDS +- A CDS is ideal for routing purposes since the defnition of a CDS means that all nodes of the network can be reached from it. It is therefore possible to use the nodes in the CDS as the only routers in the network. +- These are called coordinators. They are the routing backbone. +- Non-coordinator nodes are thus not used for routing purposes and they may therefore spend some of their time sleeping. +- A coordinator selection scheme attempts to distribute the coordinator responsibility among the nodes. +- Nodes have battery capacity and utility. Utility being it's reach in the network. +- The coordinator selection algorithm is invoked periodically at every non-coordinator node +- So is a coordinator-withdrawal algorithm, at the coordinators. +- the potential coordinator node needs information about its one and two-hop neighbours, and for each neighbour also whether that neighbour is a coordinator. This information is maintained pro-actively by using a standard HELLO message approach, as the one described, where each HELLO message contains information about neighbours and coordinators of the sending node. +- As mentioned both the utility of the node and the remaining energy is taken into consideration when finding new coordinators. The way that it is implemented is by using a randomised back-off delay that the node uses before announcing itself as a new coordinator. +- This ensures there is a somewhat linear relation between energy capacity and willingness to become a coordinator. +- Additionally, nodes that offer a good connectivity of the routing backbone are preferred, which means less coordinators overall. +- Also, there is a random part, such that the coordinator announcements are evenly distributed. +- After waiting for the calculated amount of time two things may have happened: + 1) Another node in the vicinity may have announced that it wants to become a coordinator + 2) No one announcements have been heard and the node thus announces that it's now a coordinator. +- Nodes can withdraw if everything is connected regardless of it being there or if anything can partly reach each other. Then the node becomes a tentative coordinator, who wants to leave and they aren't considered coordinators, for the coordinator selection algorithm. +- Span isn't a routing protocol. +- Span doesn't play nicely with AODV, since the neighbourhoods which can be used change often, as only the CDS may forward messages in Span, which results in a lot links breaking constantly. It's fine for geographic forwarding (a greedy GPS dependent protocol) though. +*** Span on BECA/AFECA +- Span needs to work with another power saving algorithm, that actually puts the nodes to sleep +- The neighbourhood information needed by Span can be piggybacked on the HELLO messages used by AODV. +- This can be used to build the CDS backbone +- We make coordinators be the only nodes who can forward RREQ. RREP simply follow the reverse path, as such no need to worry there. +- There is no need to perform retransmissions, since the coordinator nodes are always awake. +- A larger ratio between T_l and T_s is allowed, which results in lower energy consumption. * Accessing and Developing WoT ** Chapter 6 *** REST STUFF diff --git a/notes.pdf b/notes.pdf index 20100da4cf331c44f6e830bb14ec0d0157cd292a..b669b33550387bf3b28eafb28673d26b37a0c28b 100644 GIT binary patch literal 252388 zcmb5VWo#x}kR)n`&uo9jw%ulCW@c(LGcz+YGcz-@-DYNHW@fhA(B3<5W>>4XS8wN) z&W}`;R4VD5ipa=}B$XEtqh+LH1(41y4X**12p9DfwPH-iIJVL z34o6e;N> zL!~~Li%pL>49B_$gc0Id7)ozg3c|A{tpGNSvUMY|hIhBbgo_K_O|MkG^CvhZJwf5=><1 z45Y|DBNn)3^aOA*WV`3)yYOIvYEi}q1g3!fj36AwRRUvM8xk0SC8vf56?dN>vk53m z*aD-6CxHbKwh;#j34oV?W=p~9izf0GN}*~@ge@2HM?Hu^0kxXgaj|U?NlxoJhljizKKpwFKVNBg303S{P^=VBKIz~lF5Yec!AI~;7E)igk7!5?U z$m3#QATgjoBZwnFqCS^)HoFfHiJtdI8I&+~XJCRyKo2&onU)~ZIJAOnP?uI58!iw6 zLL4##f{t?xfl!2xphSTljlrM^umxZVuniyt8=(atgb(1k#K#&XfOI?1unP0UmY9~0 zHjspPXFL0Va|+S|z#7pb?$T*54C+VN8jEK0&aK7F{N8?-H92ur=&T&|e9Go5q|p~8 zX(+X5EUMZ{D&;PuSmFCTH}QS>X?L!L*arFazAitQtb*Uxe77}Ld^TS9{6rn`iOK44 zpze5*R)dFK{AKXyC9b!)p`b=4OTGIxg(L*?@z*<}Mdf&+ny}YZg$j|ixOF4>Y4rd%YM^r?Z1LQ_$X2PkVl)PVsltnMQW0i;_(&`CeSb@Fve` z?aZyzLmLZEk*}F__jlg;LQNzOZ?2GC77o3Jz&nT^BOQebTL#Hw)6$M{F9 zCT8sq1P>v#9&9E{Pj<^|%ak6mubJ-I=jApe56NR{PS4leXzAWDIPt^dGOxVr6;bwC zc8_C#+A52a$#s=Mr!l+DYLCssL#+JxBxh{P?9WZ+uI~_ijU#Luxb>ST!3eKu`cbu{ zKN$NGyFLq&=aroZvbJ`QG+}!zAcr6)C8ZVjN4fsni0wFt;~xkeFLAZ+$sU6A6gqX( zd8V(z0-kcEcmg?m?QMl0?R=)$CRij2f>4)RyzK*Z$A>X_y^>Wsda~yo4(J(1DHmUB z+P_SlGN*g>wBcblE?!@cF7OmKkMF)79KFA06LjC|)85@??ZYgb-oUrVNSSfWAFYLZydt9CjBXXd(m?ytb2Nd#Erl@R286nEUwgbKDGZ0bpWl{9pL=PxK$y z$HdI?zoFoNp&Ta%+kb)_!T%lQw$)|rHaU>HPu0#OK&ffNlHVL;G;a%OQL$nIc%8lE zjmc0{Tfro4v;1}oB*tSeYqr=z@bqXx2!}oFOn2gigF5}8{PN}#PKU3qW_tx735=jD zP^WCcOGRiPAOa`UNr=*?gOH3hT1sL0XLb&(@j!;SWHWMV3`Y_P4uGpx?CjLjnB3^% zD)8}8DAIe|?}=mL z9t3#9_XEAd2~q|cn(;*sSRWdve~lvBi|)_}mr7`jJ|b0y~$c6`S)_njmyntA)ewtU+r*=VQMUPH}FYc?KRhGii_$JqANxS z6HALHkm6%YDfCoYHBD(jmwKMXr*kz4ZnyVabGnt=H5H0H_Z!ssC0#o%y)?%S8yY;? ztJKPxbXN$F>3Nb253~nQOR=AJTd0yw*petez*WA~JX0zZtwbT5OsXtWLa&sjRpP#% zn>TB5XVlRuX^A(L*8EKH9?=Cm+wET$VWPaNFe4vD{42p&vuZc#UGm61%q)yQ}^SQ^(2%yk#+EmzG0 z+)Au^MJ!F0n|hHyVi0fQWtH1iIs5!LhcT?RbJExbmN?X8I&BtZh`*+EvnG9hzq7k8 z>6qRf=M}P*SbW~KXt1T&2vc5Q44eo-QF_vEx7`nhj?8{oE@Mn`pAPP%xsO9{{sB7x zv4;aex<>@*IpXt}N1QsHees(?EJ*@?qrj_cyE4||?8M674ZOX)7F_}UemqCpeMLa9 z_&#bo z�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

)2 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%0Ak12bGDr+H7!ddS+GJ@w$GIB{qe?9 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%0DgP+@d#rKxk3ZB?%RnNicE8b&{XQzxW=p7 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 Z4hU2b0{aUCL1m#*(qw#mYWnJA{|B8wyDk6# diff --git a/notes.tex b/notes.tex index 116ca7e..b34e4c2 100644 --- a/notes.tex +++ b/notes.tex @@ -1,39 +1,968 @@ -% Created 2018-12-11 Tue 17:49 -% Intended LaTeX compiler: pdflatex +% Created 2018-12-13 Thu 23:57 \documentclass[11pt]{article} \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} +\usepackage{fixltx2e} \usepackage{graphicx} -\usepackage{grffile} \usepackage{longtable} +\usepackage{float} \usepackage{wrapfig} \usepackage{rotating} \usepackage[normalem]{ulem} \usepackage{amsmath} \usepackage{textcomp} +\usepackage{marvosym} +\usepackage{wasysym} \usepackage{amssymb} -\usepackage{capt-of} \usepackage{hyperref} -\author{Alexander Munch-hansen} +\tolerance=1000 +\usepackage{minted} +\author{alex} \date{\today} -\title{} +\title{notes} \hypersetup{ - pdfauthor={Alexander Munch-hansen}, - pdftitle={}, - pdfkeywords={}, - pdfsubject={}, - pdfcreator={Emacs 26.1 (Org mode 9.1.6)}, - pdflang={English}} + pdfkeywords={}, + pdfsubject={}, + pdfcreator={Emacs 25.2.2 (Org mode 8.2.10)}} \begin{document} +\maketitle \tableofcontents +\section{Structured P2P Networks} +\label{sec-1} +TODO, potentially read all of the experiments performed in pastry. Potentially not, who cares. Also the math in Kademlia. +\subsection{Chord} +\label{sec-1-1} +\subsubsection{Introduction} +\label{sec-1-1-1} +\begin{itemize} +\item A fundamental problem that confronts peer-to-peer applications is to efficiently locate the node that stores a particular data item. +\item Chord provides support for just one operation: given a key, it maps the key onto a node. +\item Data location can be easily implemented on top of Chord by associating a key with each data item, and storing the key/data item pair at the node to which the key maps. +\item Peer-to-peer systems and applications are distributed systems without any centralised control or hierarchical structure or organisation and each peer is equivalent in functionality. +\item Peer-to-peer applications can promote a lot of features, such as redundant storage, permanence, selection of nearby server, anonymity, search, authentication and hierarchical naming (note the structure is still peer-to-peer, the names are just attributes and data the peers hold) +\item Core operation in most P2P systems is efficient location of data items. +\item Chord is a scalable protocol for lookup in a dynamic peer-to-peer system with frequent node arrivals and departures. +\item Chord uses a variant of consistent hashing to assign keys to Chord nodes. +\item Consistent hashing is a special kind of hashing such that when a hash table is resized, only K/n keys need to be remapped on average, where K is the number of keys and n is the number of slots. +\item Additionally, consistent hashing tends to balance load, as each node will receive roughly the same amount of keys. +\item Each Chord node needs "routing" information about only a few others nodes, leading to better scaling. +\item Each node maintains information about O(log N) other nodes and resolves lookups via O(log N) messages. A change in the network results in no more than O(log$^{\text{2}}$ N) messages. +\item Chords performance degrades gracefully, when information is out of date in the nodes routing tables. It's difficult to maintain consistency of O(log N) states. Chord only requires one piece of information per node to be correct, in order to guarantee correct routing. +\item Finger tables only forward looking +\item I.e messages arriving at a peer tell it nothing useful, knowledge must be gained explicitly +\item Rigid routing structure +\item Locality difficult to establish +\end{itemize} +\subsubsection{System Model} +\label{sec-1-1-2} +\begin{itemize} +\item Chord simplifies the design of P2P systems and applications based on it by addressing the following problems: +\begin{enumerate} +\item \textbf{Load balance:} Chord acts as a Distributed Hash Function, spreading keys evenly over the nodes, which provides a natural load balance +\item \textbf{Decentralization:} Chord is fully distributed. Improves robustness and is nicely suited for loosely-organised p2p applications +\item \textbf{Scalability:} The cost of a lookup grows as the log of the number of nodes +\item \textbf{Availability:} Chord automatically adjusts its internal tables to reflect newly joined nodes as well as node failures, ensur- ing that, barring major failures in the underlying network, the node responsible for a key can always be found. This is true even if the system is in a continuous state of change. +\item \textbf{Flexible naming:} No constraints on the structure of the keys it looks up +\end{enumerate} +\end{itemize} +\begin{enumerate} +\item Use cases of Chord +\label{sec-1-1-2-1} +\begin{itemize} +\item Cooperative Mirroring: Essentially a load balancer +\item Time-Shared Storage: If a person wishes some data to be always available machine is only occasionally available, they can offer to store others’ data while they are up, in return for having their data stored elsewhere when they are down. +\item Distributed Indexes: A key in this application could be a few keywords and values would be machines offering documents with those keywords +\item Large-scale Combinatorial Search: Keys are candidate solutions to the problem; Chord maps these keys to the machines responsible for testing them as solutions. +\end{itemize} +\end{enumerate} +\subsubsection{The Base Chord Protocol} +\label{sec-1-1-3} +\begin{itemize} +\item The Chord protocol specifies how to find the locations of keys, how new nodes join the system, and how to recover from the failure (or planned departure) of existing nodes. +\end{itemize} +\begin{enumerate} +\item Overview +\label{sec-1-1-3-1} +\begin{itemize} +\item Chord improves the scalability of consistent hashing by avoid- ing the requirement that every node know about every other node. +\end{itemize} +\item Consistent Hashing +\label{sec-1-1-3-2} +\begin{itemize} +\item The consistent hash function assigns each node and key an m-bit identifier using a base hash function such as SHA-1. A node’s identifier is chosen by hashing the node’s IP address, while a key identifier is produced by hashing the key. +\item Identifiers are ordered in an identifier circle modulo 2$^{\text{m}}$ +\item Key k is assigned to the first node whose identifier is equal to or follows (the identifier of) k in the identifier space. +\item This node is called the successor node of key k, succ(k). It's the first node clockwise from k, if identifiers are presented as a circle. +\item To maintain the consistent hashing mapping when a node n joins the network, certain keys previously assigned to n’s successor now become assigned to n. When node n leaves the network, all of its assigned keys are reassigned to n’s successor. +\item The claims about the effeciency of consistent hashing, relies on the identifiers being chosen uniformly randomly. SHA-1 is very much deterministic, as is all hash functions. As such, an adversary could in theory pick a bunch of identifiers close to each other and thus force a single node to carry a lot of files, ruining the balance. However, it's considered difficult to break these hash functions, as such we can't produce files with specific hashes. +\item When consistent hashing is implemented as described above, the theorem proves a bound of eps = O(log N). The consistent hashing paper shows that eps can be reduced to an arbitrarily small constant by having each node run O(log N) “virtual nodes” each with its own identifier. +\item This is difficult to pre-determine, as the load on the system is unknown a priori. +\end{itemize} +\item Scalable Key Location +\label{sec-1-1-3-3} +\begin{itemize} +\item A very small amount of routing information suffices to imple- ment consistent hashing in a distributed environment. Each node need only be aware of its successor node on the circle. +\item Queries for a given identifier can be passed around the circle via these suc- cessor pointers until they first encounter a node that succeeds the identifier; this is the node the query maps to. +\item To avoid having to potentialy traverse all N nodes, if the identifiers are "unlucky", Chord maintains extra information. +\item m is the number of bits in the keys +\item Each node n maintains a routing table with at most m entries, called the finger table. +\item The i'th entry in the table at node n contains the identity of the first node, s, that succeeds n by at least 2$^{\text{(i-1)}}$ on the identifier circle, s = succ(n+2$^{\text{(i-1)}}$) for 1 <= i <= m and everything i mod 2$^{\text{m}}$ +\item Node s in the ith finger of node n is n.finger[i].node +\item A finger table entry includes both the Chord identifier and the IP address (and port number) of the relevant node. +\item First, each node stores information about only a small number of other nodes, and knows more about nodes closely following it on the identifier circle than about nodes farther away. +\item The nodes keep an interval for each key implicitly, which essentially covers the keys that the the specific key is the predecessor for. This allows for quickly looking up a key, if it's not known, since one can find the interval which contains it! +\item The finger pointers at repeatedly doubling distances around the circle cause each iteration of the loop in find predecessor to halve the distance to the target identifier. +\end{itemize} +\item Node Joins +\label{sec-1-1-3-4} +\begin{itemize} +\item In dynamic networks, nodes can join and leave at any time. Thus the main challenge is to preserve the ability to lookup of every key. +\item There are to invariants: +\begin{enumerate} +\item Each node's succ is correctly maintained +\item For every key k, node succ(k) is responsible for k +\end{enumerate} +\item We also want the finger tables to be correct +\item To simplify the join and leave mechanisms, each node in Chord maintains a predecessor pointer. +\item To preserve the invariants stated above, Chord must perform three tasks when a node n joins the network: +\begin{enumerate} +\item Initialise the predecessor and fingers of node n +\item Update the fingers and predecessors of existings node to reflect the addition of n +\item Notify the higher layer software so that it can transfer state (e.g. values) associated with keys that node n is now responsible for. +\end{enumerate} +\end{itemize} +\begin{enumerate} +\item Initializing fingers and predecessor +\label{sec-1-1-3-4-1} +\begin{itemize} +\item Node n learns its pre- decessor and fingers by asking n' to look them up +\end{itemize} +\item Updating fingers of existing nodes +\label{sec-1-1-3-4-2} +\begin{itemize} +\item Thus, for a given n, the algorithm starts with the ith finger of node n, and then continues to walk in the counter-clock-wise direction on the identifier circle until it encounters a node whose ith finger precedes n. +\end{itemize} +\item Transfering keys +\label{sec-1-1-3-4-3} +\begin{itemize} +\item Node n contacts it's the node immediately following itself and simply asks for the transfering of all appropriate values +\end{itemize} +\end{enumerate} +\end{enumerate} +\subsubsection{Concurrenct operations and failures} +\label{sec-1-1-4} +\begin{enumerate} +\item Stabilitzation +\label{sec-1-1-4-1} +\begin{itemize} +\item The join algorithm in Section 4 aggressively maintains the finger tables of all nodes as the network evolves. Since this invariant is difficult to maintain in the face of concurrent joins in a large net- work, we separate our correctness and performance goals. +\item A basic “stabilization” protocol is used to keep nodes’ successor pointers up to date, which is sufficient to guarantee correctness of lookups. Those successor pointers are then used to verify and correct fin- ger table entries, which allows these lookups to be fast as well as correct. +\item Joining nodes can affect performance in three ways, all tables are still correct and result is found, succ is correct but fingers aren't, result will still be found and everything is wrong, in which case nothing might be found. The lookup can then be retried shortly after. +\item Our stabilization scheme guarantees to add nodes to a Chord ring in a way that preserves reachability of existing nodes +\item We have not discussed the adjustment of fingers when nodes join because it turns out that joins don’t substantially damage the per- formance of fingers. If a node has a finger into each interval, then these fingers can still be used even after joins. +\end{itemize} +\item Failures and Replication +\label{sec-1-1-4-2} +\begin{itemize} +\item When a node n fails, nodes whose finger tables include n must find n’s successor. In addition, the failure of n must not be allowed to disrupt queries that are in progress as the system is re-stabilizing. +\item The key step in failure recovery is maintaining correct successor pointers +\item To help achieve this, each Chord node maintains a “successor-list” of its r nearest successors on the Chord ring. +\item If node n notices that its successor has failed, it replaces it with the first live en- try in its successor list. At that point, n can direct ordinary lookups for keys for which the failed node was the successor to the new successor. As time passes, stabilize will correct finger table entries and successor-list entries pointing to the failed node. +\end{itemize} +\end{enumerate} +\subsubsection{Simulations and Experimental Results} +\label{sec-1-1-5} +\begin{itemize} +\item The probability that a particular bin does not contain any is for large values of N approximately 0.368 +\item As we discussed earlier, the consistent hashing paper solves this problem by associating keys with virtual nodes, and mapping mul- tiple virtual nodes (with unrelated identifiers) to each real node. Intuitively, this will provide a more uniform coverage of the iden- tifier space. +\end{itemize} +\subsubsection{Conclusion} +\label{sec-1-1-6} +\begin{itemize} +\item Attractive features of Chord include its simplicity, provable cor- rectness, and provable performance even in the face of concurrent node arrivals and departures. It continues to function correctly, al- beit at degraded performance, when a node’s information is only partially correct. Our theoretical analysis, simulations, and exper- imental results confirm that Chord scales well with the number of nodes, recovers from large numbers of simultaneous node failures and joins, and answers most lookups correctly even during recov- ery. +\end{itemize} +\subsection{Pastry} +\label{sec-1-2} +\begin{itemize} +\item Pastry, a scalable, distributed object location and routing substrate for wide-area peer-to-peer applications. +\item It can be used to support a variety of peer-to-peer applications, including global data storage, data sharing, group communication and naming. +\item Each node in the Pastry network has a unique identifier (nodeId). When presented with a message and a key, a Pastry node efficiently routes the message to the node with a nodeId that is numerically closest to the key, among all currently live Pastry nodes. Each Pastry node keeps track of its immediate neighbors in the nodeId space, and notifies applications of new node arrivals, node failures and recoveries. +\item Pastry takes into account network locality; it seeks to minimize the distance messages travel, according to a to scalar proximity metric like the number of IP routing hops. +\item Experimental results obtained with a prototype implementation on an emulated network of up to 100,000 nodes confirm Pastry’s scalability and efficiency, its ability to self-organize and adapt to node failures, and its good network locality properties. +\end{itemize} +\subsubsection{Introduction} +\label{sec-1-2-1} +\begin{itemize} +\item Pastry is completely decentralized, fault-resilient, scalable, and reliable. Moreover, Pastry has good route locality properties. +\item Pastry is intended as general substrate for the construction of a variety of peer-to- peer Internet applications like global file sharing, file storage, group communication and naming systems. +\item Several application have been built on top of Pastry to date, including a global, persistent storage utility called PAST [11, 21] and a scalable publish/subscribe system called SCRIBE \footnote{DEFINITION NOT FOUND.}. Other applications are under development. +\item Each node in the Pastry network has a unique numeric identifier (nodeId) +\item When presented with a message and a numeric key, a Pastry node efficiently routes the message to the node with a nodeId that is numeri- cally closest to the key, among all currently live Pastry nodes. +\item The expected number of routing steps is O(log N), where N is the number of Pastry nodes in the network. +\item At each Pastry node along the route that a message takes, the application is notified and may perform application-specific computations related to the message. +\item Pastry takes into account network locality; it seeks to minimize the distance mes- sages travel, according to a scalar proximity metric like the number of IP routing hops. +\item Because nodeIds are randomly assigned, with high probability, the set of nodes with adjacent nodeId is diverse in geography, ownership, jurisdiction, etc. Applications can leverage this, as Pastry can route to one of nodes that are numerically closest to the key. +\item A heuristic ensures that among a set of nodes with the closest nodeIds to the key, the message is likely to first reach a node “near” the node from which the message originates, in terms of the proximity metric. +\end{itemize} +\begin{enumerate} +\item PAST +\label{sec-1-2-1-1} +\begin{itemize} +\item PAST, for instance, uses a fileId, computed as the hash of the file’s name and owner, as a Pastry key for a file. Replicas of the file are stored on the k Pastry nodes with nodeIds numerically closest to the fileId. A file can be looked up by sending a message via Pastry, using the fileId as the key. By definition, the lookup is guaranteed to reach a node that stores the file as long as one of the k nodes is live. +\item Moreover, it follows that the message is likely to first reach a node near the client, among the k nodes; that node delivers the file and consumes the message. Pastry’s notification mechanisms allow PAST to maintain replicas of a file on the nodes closest to the key, despite node failure and node arrivals, and using only local coordination among nodes with adjacent nodeIds. +\end{itemize} +\item SCRIBE +\label{sec-1-2-1-2} +\begin{itemize} +\item in the SCRIBE publish/subscribe System, a list of subscribers is stored on the node with nodeId numerically closest to the topicId of a topic, where the topicId is a hash of the topic name. That node forms a rendez-vous point for publishers and subscribers. Subscribers send a message via Pastry using the topicId as the key; the registration is recorded at each node along the path. A publisher sends data to the rendez-vous point via Pastry, again using the topicId as the key. The rendez-vous point forwards the data along the multicast tree formed by the reverse paths from the rendez-vous point to all subscribers. +\end{itemize} +\end{enumerate} +\subsubsection{Design of Pastry} +\label{sec-1-2-2} +\begin{itemize} +\item A Pastry system is a self-organizing overlay network of nodes, where each node routes client requests and interacts with local instances of one or more applications. +\item Each node in the Pastry peer-to-peer overlay network is assigned a 128-bit node identifier (nodeId). +\item The nodeId is used to indicate a node’s position in a circular nodeId space, which ranges from 0 to 2$^{\text{128}}$ - 1 (sounds like a modular ring type thing, as in Chord). +\item Nodeids are distributed uniformly in the 128-bit nodeid space, such as computing the hash of IP. +\item As a result of this random assignment of nodeIds, with high probability, nodes with adjacent nodeIds are diverse in geography, ownership, jurisdiction, network attachment, etc. +\item Under normal conditions, in a network of N nodes, Pastry can route to the numerically closest node to a given key in less than log$_{\text{(2}^{\text{b}}\text{)}}$ N steps. b is some random configuration parameter. +\item For the purpose of routing, nodeIds and keys are thought of as a sequence of digits with base 2$^{\text{b}}$. +\item In each routing step, a node normally forwards the message to a node whose nodeId shares with the key a prefix that is at least one digit (or bits) longer than the prefix that the key shares with the present node’s id. If no such node is known, the message is forwarded to a node whose nodeId shares a prefix with the key as long as the current node, but is numerically closer to the key than the present node’s id. To support this routing procedure, each node maintains some routing state +\item Despite concurrent node failures, eventual delivery is guaranteed unless |L|/2 nodes with adjacent nodeIds fail simul- taneously (|L| is a configuration parameter with a typical value of 16 or 32). +\end{itemize} +\begin{enumerate} +\item Pastry Node State +\label{sec-1-2-2-1} +\begin{itemize} +\item Each Pastry node maintains a routing table, a neighborhood set and a leaf set. +\item A node’s routing table, R, is organized into log$_{\text{(2}^{\text{b}}\text{)}}$ N rows with 2$^{\text{b}}$ - 1 entries each. +\item The 2$^{\text{b}}$ - 1 entries at row n each refer to a node whose nodeid shares the present node's nodeid in the first n digits, but whose n+1th digit has one of the 2$^{\text{b}}$ - 1 possible values other than then n+1th digit in the present node's id. +\item Each entry in the routing table contains the IP address of one of potentially many nodes whose nodeId have the appropriate prefix; in practice, a node is chosen that is close to the present node, according to the proximity metric. +\item If no node is known with a suitable nodeId, then the routing table entry is left empty. +\item The neighborhood set M contains the nodeIds and IP addresses of the |M| nodes that are closest (according the proximity metric) to the local node. +\item Applications are responsible for providing proximity metrics +\item The neighborhood set is not normally used in routing messages; it is useful in maintaining locality properties +\item The leaf set L is the set of nodes with the |L|/2 numerically closest larger nodeIds, and the |L|/2 nodes with numerically closest smaller nodeIds, relative to the present node’s nodeId. The leaf set is used during the message routing +\end{itemize} +\item Routing +\label{sec-1-2-2-2} +\begin{itemize} +\item Given a message, the node first checks to see if the key falls within the range of nodeIds covered by its leaf set +\item If so, the message is forwarded directly to the destination node, namely the node in the leaf set whose nodeId is closest to the key (possibly the present node) +\item If the key is not covered by the leaf set, then the routing table is used and the message is forwarded to a node that shares a common prefix with the key by at least one more digit +\item In certain cases, it is possible that the appropriate entry in the routing table is empty or the associated node is not reachable, in which case the message is forwarded to a node that shares a prefix with the key at least as long as the local node, and is numerically closer to the key than the present node’s id. +\item Such a node must be in the leaf set unless the message has already arrived at the node with numerically closest nodeId. And, unless |L|/2 adjacent nodes in the leaf set have failed simultaneously, at least one of those nodes must be live. +\item It can be shown that the expected number of routing steps is log$_{\text{(2}^{\text{b}}\text{)}}$ N steps. +\item If a message is forwarded using the routing table, then the set of nodes whose ids have a longer prefix match with the key is reduced by a factor of 2$^{\text{b}}$ in each step, which means the destination is reached in log$_{\text{(2}^{\text{b}}\text{)}}$ N steps. +\item If the key is within range of the leaf set, then the destination node is at most one hop away. +\item The third case arises when the key is not covered by the leaf set (i.e., it is still more +\end{itemize} +than one hop away from the destination), but there is no routing table entry. Assuming accurate routing tables and no recent node failures, this means that a node with the appropriate prefix does not exist. +\begin{itemize} +\item The likelihood of this case, given the uniform distribution of nodeIds, depends on |L|. Analysis shows that with |L| = 2$^{\text{b}}$ and |L| = 2 * 2$^{\text{b}}$, the probability that this case arises during a given message transmission is less than .02 and 0.006, respectively. When it happens, no more than one additional routing step results with high probability. +\end{itemize} +\item Pastry API +\label{sec-1-2-2-3} +\begin{itemize} +\item Substrate: not an application itself, rather it provides Application Program Interface (API) to be used by applications. Runs on all nodes joined in a Pastry network +\item Pastry exports following operations; nodeId and route. +\item Applications layered on top of PAstry must export the following operations; deliver, forward, newLeafs. +\end{itemize} +\item Self-organization and adaptation +\label{sec-1-2-2-4} +\begin{enumerate} +\item Node Arrival +\label{sec-1-2-2-4-1} +\begin{itemize} +\item When a new node arrives, it needs to initialize its state tables, and then inform other nodes of its presence. We assume the new node knows initially about a nearby Pastry node A, according to the proximity metric, that is already part of the system. +\item Let us assume the new node’s nodeId is X. +\item Node X then asks A to route a special “join” message with the key equal to X. Like any message, Pastry routes the join message to the existing node Z whose id is numerically closest to X. +\item In response to receiving the “join” request, nodes A, Z, and all nodes encountered on the path from A to Z send their state tables to X. +\item Node X initialized its routing table by obtaining the i-th row of its routing table from the i-th node encountered along the route from A to Z to +\item X can use Z's leaf set as basis, since Z is closest to X. +\item X use A's neighborhood to initialise its own +\item Finally, X transmits a copy of its resulting state to each of the nodes found in its neighborhood set, leaf set, and routing table. Those nodes in turn update their own state based on the information received. +\end{itemize} +\item Node Depature +\label{sec-1-2-2-4-2} +\begin{itemize} +\item A Pastry node is considered failed when its immediate neighbors in the nodeId space can no longer communicate with the node. +\item To replace a failed node in the leaf set, its neighbor in the nodeId space contacts the live node with the largest index on the side of the failed node, and asks that node for its leaf table. +\item The failure of a node that appears in the routing table of another node is detected when that node attempts to contact the failed node and there is no response. +\item To replace a failed node in a routing table entry, a node contacts the other nodes in the row of the failed node and asks if any of them knows a node with the same prefix. +\item a node attempts to contact each member of the neighborhood set periodically to see if it is still alive. +\end{itemize} +\end{enumerate} +\item Locality +\label{sec-1-2-2-5} +\begin{itemize} +\item Pastry’s notion of network proximity is based on a scalar proximity metric, such as the number of IP routing hops or geographic distance. +\item It is assumed that the application provides a function that allows each Pastry node to determine the “distance” of a node with a given IP address to itself. +\item Throughout this discussion, we assume that the proximity space defined by the cho- sen proximity metric is Euclidean; that is, the triangulation inequality holds for dis- tances among Pastry nodes. +\item If the triangulation inequality does not hold, Pastry’s basic routing is not affected; however, the locality properties of Pastry routes may suffer. +\end{itemize} +\begin{enumerate} +\item Route Locality +\label{sec-1-2-2-5-1} +\begin{itemize} +\item although it cannot be guaranteed that the distance of a message from its source increases monotonically at each step, a message tends to make larger and larger strides with no possibility of returning to a node within d$_{\text{i}}$ of any node i encountered on the route, where d$_{\text{i}}$ is the distance of the routing step taken away from node i. Therefore, the messag ehas nowhere to go but towards its destination. +\end{itemize} +\item Locating the nearest among k nodes +\label{sec-1-2-2-5-2} +\begin{itemize} +\item Recall that Pastry routes messages towards the node with the nodeId closest to the key, while attempting to travel the smallest possible distance in each step. +\item Pastry makes only local routing decisions, minimizing the distance traveled on the next step with no sense of global direction. +\end{itemize} +\end{enumerate} +\item Arbitrary node failures and network partitions +\label{sec-1-2-2-6} +\begin{itemize} +\item As routing is deterministic by default, a malicious node can fuck things up. Randomized routing fixes this. +\item Another challenge are IP routing anomalies in the Internet that cause IP hosts to be unreachable from certain IP hosts but not others. +\item However, Pastry’s self-organization protocol may cause the creation of multiple, isolated Pastry overlay networks during periods of IP routing failures. Because Pastry relies almost exclusively on information exchange within the overlay network to self-organize, such isolated overlays may persist after full IP connectivity resumes. +\item One solution to this problem involves the use of IP multicast. +\end{itemize} +\end{enumerate} +\subsubsection{Conclusion} +\label{sec-1-2-3} +\begin{itemize} +\item This paper presents and evaluates Pastry, a generic peer-to-peer content location and routing system based on a self-organizing overlay network of nodes connected via the Internet. Pastry is completely decentralized, fault-resilient, scalable, and reliably routes a message to the live node with a nodeId numerically closest to a key. Pastry can be used as a building block in the construction of a variety of peer-to-peer Internet applications like global file sharing, file storage, group communication and naming systems. Results with as many as 100,000 nodes in an emulated network confirm that Pastry is efficient and scales well, that it is self-organizing and can gracefully adapt to node failures, and that it has good locality properties. +\end{itemize} + +\subsection{Kademlia} +\label{sec-1-3} +\subsubsection{Abstract} +\label{sec-1-3-1} +\begin{itemize} +\item A peer-to-peer distributed hash table with provable consistency and performance in a fault-prone environment +\item system routes queries and locates nodes using a novel XOR-based metric topology +\item The topology has the property that every message exchanged conveys or reinforces useful contact information. +\item The system exploits this information to send parallel, asynchronous query messages that tolerate node failures without imposing timeout delays on users. +\end{itemize} +\subsubsection{Introduction} +\label{sec-1-3-2} +\begin{itemize} +\item Kademlia is a P2P DHT +\item Kademlia has a number of desirable features not simultaneously offered by any previous DHT. It minimizes the number of configuration messages nodes must send to learn about each other. +\item Configuration information spreads automatically as a side-effect of key lookups. +\item Kademlia uses parallel, asynchronous queries to avoid timeout delays from failed nodes. +\item Keys are opaque, 160-bit quantities (e.g., the SHA-1 hash of some larger data) +\item Participating computers each have a node ID in the 160-bit key space. +\item (key,value) pairs are stored on nodes with IDs “close” to the key for some notion of closeness. +\item XOR is symmetric, allowing Kademlia participants to receive lookup queries from precisely the same distribution of nodes contained in their routing tables +\item Without this property, systems such as Chord do not learn useful routing information from queries they receive. +\item Worse yet, asymmetry leads to rigid routing tables. Each entry in a Chord node’s finger table must store the precise node preceding some interval in the ID space. +\item Each entry in a Chord node’s finger table must store the precise node preceding some interval in the ID space. Any node actually in the interval would be too far from nodes preceding it in the same interval. Kademlia, in contrast, can send a query to any node within an interval, allowing it to select routes based on latency or even send parallel, asynchronous queries to several equally appropriate nodes. +\item Kademlia most resembles Pastry’s first phase, which (though not described this way by the authors) successively finds nodes roughly half as far from the target ID by Kademlia’s XOR metric. +\item In a second phase, however, Pastry switches distance metrics to the numeric difference between IDs. It also uses the second, numeric difference metric in replication. Unfortunately, nodes close by the second metric can be quite far by the first, creating discontinuities at particular node ID values, reducing performance, and complicating attempts at formal analysis of worst-case behavior. +\end{itemize} +\subsubsection{System Description} +\label{sec-1-3-3} +\begin{itemize} +\item Kademlia assign 160-bit opaque IDs to nodes and provide a lookup algorithm that locates successively “closer” nodes to any desired ID, converging to the lookup target in logarithmically many steps +\item An identifier is opaque if it provides no information about the thing it identifies other than being a seemingly random string or number +\item Kademlia effectively treats nodes as leaves in a binary tree, with each node’s position determined by the shortest unique prefix of its ID +\item For any given node, we divide the binary tree into a series of successively lower subtrees that don’t contain the node. The highest subtree consists of the half of the binary tree not containing the node. +\item The next subtree consists of the half of the remaining tree not containing the node, and so forth +\item The Kademlia protocol ensures that every node knows of at least one node in each of its subtrees, if that subtree contains a node. With this guarantee, any node can locate any other node by its ID +\end{itemize} +\begin{enumerate} +\item XOR Metric +\label{sec-1-3-3-1} +\begin{itemize} +\item Each Kademlia node has a 160-bit node ID. Node IDs are currently just random 160-bit identifiers, though they could equally well be constructed as in Chord. +\item Every message a node transmits includes its node ID, permitting the recipient to record the sender’s existence if necessary. +\item Keys, too, are 160-bit identifiers. To assign hkey,valuei pairs to particular nodes, Kademlia relies on a notion of distance between two identifiers. Given two 160-bit identifiers, x and y, Kademlia defines the distance between them as their bitwise exclusive or (XOR) intepreted as an integer. +\item XOR is nice, as it is symmetric, offers the triangle property even though it's non-euclidean. +\item We next note that XOR captures the notion of distance implicit in our binary-tree-based sketch of the system. +\item In a fully-populated binary tree of 160-bit IDs, the magnitude of the distance between two IDs is the height of the smallest subtree containing them both. When a tree is not fully populated, the closest leaf to an ID x is the leaf whose ID shares the longest common prefix of x. +\item Overlap in regards to closest might happen. In this case the closest leaf to x will be the closest leaf to ID x\textasciitilde{} produced by flipping the bits in corresponding to the empty branches of the tree (???) +\item Like Chord’s clockwise circle metric, XOR is unidirectional. For any given point x and distance ∆ > 0, there is exactly one point y such that d(x, y) = ∆. Unidirectionality ensures that all lookups for the same key converge along the same path, regardless of the originating node. Thus, caching hkey,valuei pairs along the lookup path alleviates hot spots. +\end{itemize} +\item Node state +\label{sec-1-3-3-2} +\begin{itemize} +\item For each 0 ≤ i < 160, every node keeps a list of (IP address, UDP port, Node ID) triples for nodes of distance between 2$^{\text{i}}$ and 2$^{\text{i}}$+1 from itself. We call these lists k-buckets. +\item Each k-bucket is kept sorted by time last seen—least-recently seen node at the head, most-recently seen at the tail. For small values of i, the k-buckets will generally be empty (as no appropriate nodes will exist). For large values of i, the lists can grow up to size k, where k is a system-wide replication parameter. +\item k is chosen such that it is unlikely that k nodes will fail at the same time. +\item When a message is received, request or reply, from another node, the receiver updates its appropriate k-bucket, for the sender's node id. If the node is already present there, it's moved to the tail, if it's not there and there is room, it's inserted. If the bucket is full, the least recently seen node is pinged, if it doesn't respond, it gets replaced, if it does respond, the new node is discarded. +\item k-buckets effectively implement a least-recently seen eviction policy, except that live nodes are never removed from the list. +\item This works well for systems with an otherwise high churn rate, as nodes who are alive for a longer period, are more likely to stay alive. +\item A second benefit of k-buckets is that they provide resistance to certain DoS attacks. One cannot flush nodes’ routing state by flooding the system with new nodes, as new nodes are only inserted, once the old ones die. +\end{itemize} +\item Kademlia Protocol +\label{sec-1-3-3-3} +\begin{itemize} +\item The Kademlia protocol consists of four RPCs: ping, store, find node, and find value. +\item The ping RPC probes a node to see if it is online. +\item store a node to store a (key, value) pair for later retrieval +\item find node takes a 160-bit ID as an argument. The recipient of the RPC returns (IP address, UDP port, Node ID) triples for the k nodes it knows aboutclosest to the target ID. These triples can come from a single k-bucket, or they may come from multiple k-buckets if the closest k-bucket is not full. In any case, the RPC recipient must return k items (unless there are fewer than k nodes in all its k-buckets combined, in which case it returns every node it knows about). +\item find value behaves like find node—returning (IP address, UDP port, Node ID) triples—with one exception. If the RPC recipient has received a store RPC for the key, it just returns the stored value. +\item In all RPCs, the recipient must echo a 160-bit random RPC ID, which provides some resistance to address forgery. pings can also be piggy-backed on RPC replies for the RPC recipient to obtain additional assurance of the sender’s network address. +\end{itemize} +\begin{enumerate} +\item Node lookup +\label{sec-1-3-3-3-1} +\begin{enumerate} +\item Node lookup is performed recursively. The lookup initiator starts by picking alpha nodes from its closest k-bucket (is the closest to the iniator or closest to the node we wish to lookup ??). +\item The iniator then sends parallel async find$_{\text{node}}$ RPCs to these alpha nodes. +\item In the recursive step, the initiator resends the find node to nodes it has learned about from previous RPCs. (This recursion can begin before all α of the previous RPCs have returned). +\item If a response is not found the alpha nodes queried, the iniator instead query all of the k nodes which were returned. +\item Lookup terminates when all k has responded or failed to respond. +\item When α = 1, the lookup algorithm resembles Chord’s in terms of message cost and the latency of detecting failed nodes. However, can route for lower latency because it has the flexibility of choosing any one of k nodes to forward a request to. +\end{enumerate} +\item Store +\label{sec-1-3-3-3-2} +\begin{itemize} +\item Most operations are implemented in terms of the above lookup procedure. To store a (key,value) pair, a participant locates the k closest nodes to the key and sends them store RPCs +\item Additionally, each node re-publishes (key,value) pairs as necessary to keep them alive +\item For file sharing, it's required that the original publisher of a (key,value) pair to republish it every 24 hours. Otherwise, (key,value) pairs expire 24 hours after publication, so as to limit stale index information in the system. +\end{itemize} +\item Find value +\label{sec-1-3-3-3-3} +\begin{itemize} +\item To find a (key,value) pair, a node starts by performing a lookup to find the k nodes with IDs closest to the key. However, value lookups use find value rather than find node RPCs. Moreover, the procedure halts immediately when any node returns the value. For caching purposes, once a lookup succeeds, the requesting node stores the (key,value) pair at the closest node it observed to the key that did not return the value. +\item Because of the unidirectionality of the topology, future searches for the key are likely to hit cached entries before querying the closest node. +\item To avoid overcaching, the expiration time of any key-value pair is determined by the distance between the current node and the node whose ID is closest to the key ID. +\end{itemize} +\item Refreshing buckets +\label{sec-1-3-3-3-4} +\begin{itemize} +\item To handle pathological cases in which there are no lookups for a particular ID range, each node refreshes any bucket to which it has not performed a node lookup in the past hour. Refreshing means picking a random ID in the bucket’s range and performing a node search for that ID +\end{itemize} +\item Joining network +\label{sec-1-3-3-3-5} +\begin{itemize} +\item To join the network, a node u must have a contact to an already participating node w. u inserts w into the appropriate k-bucket. u then performs a node lookup for its own node ID. Finally, u refreshes all k-buckets further away than its closest neighbor. During the refreshes, u both populates its own k-buckets and inserts itself into other nodes’ k-buckets as necessary. +\end{itemize} +\end{enumerate} +\item Routing Table +\label{sec-1-3-3-4} +\begin{itemize} +\item The routing table is a binary tree whose leaves are k-buckets. +\item each k-bucket covers some range of the ID space, and together the k-buckets cover the entire 160-bit ID space with no overlap. +\item When a node u learns of a new contact and this can be inserted into a bucket, this is done. Otherwise, if the k-bucket’s range includes u’s own node ID, then the bucket is split into two new buckets, the old contents divided between the two, and the insertion attempt repeated. This is what leads to one side of the binary tree being one large bucket, as it won't get split +\item If tree is highly unbalanced, issues may arise (what issues ??). To avoid these, buckets may split, regardless of the node's own ID residing in these. +\item nodes split k-buckets as required to ensure they have complete knowledge of a surrounding subtree with at least k nodes. +\end{itemize} +\item Efficient key re-publishing +\label{sec-1-3-3-5} +\begin{itemize} +\item Keys must be periodically republished as to avoid data disappearing from the network or that data is stuck on un-optimal nodes, as new nodes closer to the data might join the network. +\item To compensate for nodes leaving the network, Kademlia republishes each key-value pair once an hour. +\item As long as republication intervals are not exactly synchronized, only one node will republish a given key-value pair every hour. +\end{itemize} +\end{enumerate} +\subsubsection{Implementation Notes} +\label{sec-1-3-4} +\begin{enumerate} +\item Optimized contact accounting +\label{sec-1-3-4-1} +\begin{itemize} +\item To reduce traffic, Kademlia delays probing contacts until it has useful messages to send them. When a Kademlia node receives an RPC from an unknown contact and the k-bucket for that contact is already full with k entries, the node places the new contact in a replacement cache of nodes eligible to replace stale k-bucket entries. +\item When a contact fails to respond to 5 RPCs in a row, it is considered stale. If a k-bucket is not full or its replacement cache is empty, Kademlia merely flags stale contacts rather than remove them. This ensures, among other things, that if a node’s own network connection goes down teporarily, the node won’t completely void all of its k-buckets. +\item This is nice because Kademlia uses UDP. +\end{itemize} +\item Accelerated lookups +\label{sec-1-3-4-2} +\begin{itemize} +\item Another optimization in the implementation is to achieve fewer hops per lookup by increasing the routing table size. Conceptually, this is done by considering IDs b bits at a time instead of just one bit at a time +\item This also changes the way buckets are split. +\item This also changes the XOR-based routing apparently. +\end{itemize} +\end{enumerate} +\subsubsection{Summary} +\label{sec-1-3-5} +\begin{itemize} +\item With its novel XOR-based metric topology, Kademlia is the first peer-to-peer system to combine provable consistency and performance, latency-minimizingrouting, and a symmetric, unidirectional topology. Kademlia furthermore introduces a concurrency parameter, α, that lets people trade a constant factor in bandwidth for asynchronous lowest-latency hop selection and delay-free fault recovery. Finally, Kademlia is the first peer-to-peer system to exploit the fact that node failures are inversely related to uptime. +\end{itemize} +\subsection{Bouvin notes} +\label{sec-1-4} +\begin{itemize} +\item While first generation of structured P2P networks were largely application specific and had few guarantees, usually using worst case O(N) time, the second generation is based on structured network overlays. They are typically capable of guaranteeing O(log N) time and space and exact matches. +\item Much more scalable than unstructured P2P networks measured in number of hops for routing However, churn results in control traffic; slow peers can slowdown entire system (especially in Chord); weak peers may be overwhelmed by control traffic +\item The load is evenly distributed across the network, based on the uniformness of the ID space More powerful peers can choose to host several virtual peers +\item Most systems have various provisions for maintaining proper routing and defending against malicious peers +\item A backhoe is unlikely to take out a major part of the system – at least if we store at k closest nodes +\end{itemize} + +\section{Mobile Ad-hoc Networks and Wireless Sensor Networks} +\label{sec-2} +\subsection{Routing in Mobile Ad-hoc Networks} +\label{sec-2-1} +\subsubsection{Introduction} +\label{sec-2-1-1} +\begin{itemize} +\item Routing is the process of passing some data, a message, along in a network. +\item The message originates from a source host, travels through intermediary hosts and ends up at a destination host. +\item Intermediary hosts are called routers +\item Usually a few questions has to be answered when a message is routed: +\begin{enumerate} +\item How do the hosts acting as routers know which way to send the message? +\item What should be done if multiple paths connect the sender and receiver? +\item Does an answer to the message have to follow the same path as the original message? +\end{enumerate} +\item Simple solution: Broadcast message, i.e. send it to every single person you know, every time. +\item Creates a lot of traffic, it's also known as flooding. +\item The responsibility of a routing protocol is to answer the three questions posed. +\end{itemize} +\subsubsection{Basic Routing Protocols} +\label{sec-2-1-2} +\begin{itemize} +\item A routing protocol must enable a path or route to be found, through the network +\item A network is usually modelled as a graph, inside the computers. +\item This allows for edges to be weighted. Can either be distance, traffic or some metric like that +\item There are two classes, Link State (LS) and Distance Vector (DS). Main difference being whether or not they use global information. +\item Algorithms using global information are "Link State", as all nodes need to maintain state information about all links in the network. +\item Distance Vector algorithms do not rely on global information. +\end{itemize} +\begin{enumerate} +\item Link State +\label{sec-2-1-2-1} +\begin{itemize} +\item All nodes and links with weights are known to all nodes. +\item This makes the problem a SSSP problem (single-source shortest path) +\end{itemize} +\begin{enumerate} +\item Djikstra +\label{sec-2-1-2-1-1} +\begin{itemize} +\item A set W is initialised, containing only the source node v. +\item In each iteration, the edge e with the lowest cost connecting W with a node u which isn't in W, is chosen and u is added to the set. +\item Algorithm loops n-1 times, and then the shortest path to all other nodes have been found. +\item Requires each router to have complete knowledge of the network. +\item Can be accomplished by broadcasting the identities and costs of all of the outgoing links to all other routers in the network. This has to be done, every time a weight or link changes. +\item Unrealistic for anything but very small networks. +\item Works great for small stable networks however. +\end{itemize} +\end{enumerate} +\item Distance Vector +\label{sec-2-1-2-2} +\begin{itemize} +\item No global knowledge is needed +\item The shortest distance to any given node is calculated in cooperation between the nodes. +\item Based on Bellman-Ford. +\item Apparently original Bellman-Ford requires global knowledge. This is a knock-off algorithm. +\end{itemize} +\begin{enumerate} +\item Bellman-Ford +\label{sec-2-1-2-2-1} +\begin{itemize} +\item Decentralised, no global information is needed +\item Requires the information of the neighbours and the link costs between them and the node +\item Each node stores a distance table +\item The distance table is just a mapping between a node name and the distance to it. It's over all known nodes, so not just neighbours. +\item When a new node is encountered, this is simply added +\item Node sends updates to its neighbours. This message states that the distance from the node v to node u has changed. As such, the neighbours can compute their distance to this node u as well and update their table. +\item This update may cause a chain of updates, as the neighbours might discover that this new distance is better than what they currently had. +\item The route calculation is bootstrapped by having all nodes broadcast their distances to their neighbours, when the network is created. +\item Algorithm +\begin{enumerate} +\item Distance table is initialised for node x +\item Node x sends initial updates to neighbours +\item The algorithm loops, waiting for updates or link cost changes of directly connected links (neighbours (?)) +\item Whenever either event is received, the appropriate actions are taken, such as sending updates or changing values in the distance table +\end{enumerate} +\item Generates less traffic, since only neighbours are needed to be known. +\item Doesn't need global knowledge, general advantage in large networks or networks with high churn rate +\item Doesn't have to recompute the entire distance table whenever a single value changes, as Djikstras algorithm has to. +\item Suffers from the "Count-to-infinity" problem, which happens when a route pass twice through the same node and a link starts going towards infinity. If there is a network A - B - C - D. A dies. B sets the distance to infinity. When tables are shared, B sees that C knows a route to A of distance 2, as such it updates its distance to 3. (1 to C, 2 from C to A). C then has to update its distance to A to 4 and so it goes. +\item A way of avoiding this, is only sending information to the neighbours that are not exclusive links to the destination, so C shouldn't send any information to B about A, as B is the only way to A. +\end{itemize} +\end{enumerate} +\end{enumerate} +\subsubsection{MANET Routing} +\label{sec-2-1-3} +\begin{itemize} +\item Both Djikstra and Bellman-Ford were designed to operate in fairly stable networks. +\item MANETs are usually quite unstable, as possibly all nodes are mobile and may be moving during communication. +\item MANETs typically consist of resource-poor, energy constrained devices with limited bandwidth and high error rates. +\item Also has missing infrastructure and high mobility +\item According to Belding-Royer (who he??), the focus should be on the following properties +\begin{enumerate} +\item Minimal control overhead (due to limited energy and bandwidth) +\item Minimal processing overhead (Typically small processors) +\item Multihop routing capability (No infrastructure, nodes must act as routers) +\item Dynamic topology maintenance (High churn rates forces topology to be dynamic and be capable of easily adapting) +\item Loop prevention (Loops just take a lot of bandwidth) +\end{enumerate} +\item MANET routing protocols are typically either pro-active or re-active. +\end{itemize} +\begin{enumerate} +\item Proactive +\label{sec-2-1-3-0-1} +\begin{itemize} +\item Every node maintains a routing table of routes to all other nodes in the network +\item Routing tables are updated whenever a change occurs in the network +\item When a node needs to send a message to another node, it has a route to that node in its routing table +\item Two examples of proactive protocols +\begin{enumerate} +\item Destination-sequenced distance vector (DSDV) +\item Optimised link state routing (OSLR) +\end{enumerate} +\end{itemize} +\item Reactive +\label{sec-2-1-3-0-2} +\begin{itemize} +\item Called on-demand routing protocols +\item Does not maintain routing tables at all times +\item A route is discovered when it is needed, i.e. when the source has some data to send +\item Two examples of reactive protocols +\begin{enumerate} +\item Ad-hoc on demand distance vector (AODV) +\item Dynamic source routing (DSR) +\end{enumerate} +\end{itemize} +\item Combination of proactive and reactive +\label{sec-2-1-3-0-3} +\begin{itemize} +\item Zone Routing Protocol (ZRP) +\end{itemize} +\item Local connectivity management +\label{sec-2-1-3-1} +\begin{itemize} +\item MANET protocols have in common, that they need to have a mechanism that allows discovery of neighbours +\item Neighbours are nodes within broadcast range, i.e. they can be reached within one hop +\item Neighbours can be found by periodically broadcasting "Hello" messages. These won't be relayed. These messages contain information about the neighbours known by the sending node. +\item When a hello message from x is received by y, y can check, if y is in the neighbour list of x. If y is there, the link must be bi-directional. Otherwise, it's likely uni-directional. +\end{itemize} +\item Destination-Sequenced Distance Vector +\label{sec-2-1-3-2} +\begin{itemize} +\item Uses sequence numbers to avoid loops. +\item Has message overhead which grows as O(n²), when a change occurs in the network. +\end{itemize} +\begin{enumerate} +\item Using sequence numbers +\label{sec-2-1-3-2-1} +\begin{itemize} +\item Each node maintains a counter that represents its current sequence number. This counter starts at zero and is incremented by two whenever it is updated. +\item A sequence number set by a node itself, will always be even. +\item The number of a node is propagared through the network in the update messages that are sent to the neighbours. +\item Whenever an update message is sent, the sender increments its number and prefixes this to the message. +\item Whenever an update message is received, the receiver can get the number. This information is stored in the receiving nodes route table and is further propagated in the network in subsequent update messages sent, regarding routes to that destination. +\item Like this, the sequence number set by the destination node is stamped on every route to that node. +\item Update messages thus contain; a destination node, a cost of the route, a next-hop node and the latest known destination sequence number. +\item On receiving an update message, these rules apply: +\begin{enumerate} +\item If the sequence number of the updated route is higher than what is currently stored, the route table is updated. +\item If the numbers are the same, the route with the lowest cost is chosen. +\end{enumerate} +\item If a link break is noticed, the noticer sets the cost to be inf to that node and increments the gone node's sequence number by one and sends out an update. +\item Thus, the sequence number is odd, whenever a node discovers a link breakage. +\item Because of this, any further updates from the disappeared node, will automatically supersede this number +\item This makes DSDV loop free +\item Sequence numbers are changed in the following ways +\begin{enumerate} +\item When a line breaks. The number is changed by a neighbouring node. Link breakage can't form a loop +\item When a node sends an update message. The node changes its own sequence number and broadcasts this. This information is passed on from the neighbours. +\end{enumerate} +\item Thus, the closer you are, the more recent sequence number you know. +\item When picking routes, we trust the routers who knows the most recent sequence number, in addition to picking the shortest route. +\end{itemize} +\item Sending updates +\label{sec-2-1-3-2-2} +\begin{itemize} +\item Two types of updates; full and incremental +\item Full updates contain information about all routes known by the sender. These are sent infrequently. +\item Incremental updates contain only changed routes. These are sent regularly. +\item Decreases control bandwidth. +\item Full updates are sent in some relatively large interval +\item Incremental updates are sent frequently +\item Full updates are allowed to use multiple network protocol data units, NPDUs (??????), whereas incremental can only use one. Too many incremental to fit in a single -> send full instead +\item When an update to a route is received, different actions are taken, depending on the information: +\begin{enumerate} +\item If it's a new route, schedule for immediate update, send incremental update ASAP +\item If a route has improved, send in next incremental update +\item If sequence number has changed, but route hasn't, send in next incremental if space +\end{enumerate} +\end{itemize} +\item Issue +\label{sec-2-1-3-2-3} +\begin{itemize} +\item Suffers from routing fluctuations +\item A node could repeatedly switch between a couple of routes +\item Essentially, one route is slower, but for some reason the update comes from that first, while the other is quicker, but the number comes slower. You receive an update and update the route to be the slowest. Then you receive the slower update and have to to another update, as the new route is shorter. +\item Fixed by introduction delay. If the cost to a destination changes this information is scheduled for advertisement at a time depending on the average settling time for that destination. +\end{itemize} +\end{enumerate} +\item Optimised Link State Routing +\label{sec-2-1-3-3} +\begin{itemize} +\item Designed to be effective in an environment with a dense population of mobile devices, which communicate often. +\item Introduces multi point relay (MPR) sets. These are a subset of one-hop neighbours of a node, that is used for routing the messages of that node. These routers are called MPR selectors. +\end{itemize} +\begin{enumerate} +\item Multipoint relay set +\label{sec-2-1-3-3-1} +\begin{itemize} +\item Selected independently by each node as a subset of its neighbours. +\item Selected such that the set covers all nodes that are two hops away +\item Doesn't have to be optimal +\item Each node stores a list of both one-hop and two-hop neighbours. Collected from the hello messages which are broadcasted regardless. These should also contain neighbours. This means that all neighbours of the one-hop neighbours, must be the set of two-hop neighbours. We can then simply check if we know all. +\end{itemize} +\item Routing with MPR +\label{sec-2-1-3-3-2} +\begin{itemize} +\item A topology control (TC) message is required to create a routing table for the entire network +\item This is sent via the MPR and will eventually reach the entire network. It's not as much flooding as the standard LS algorithm. +\end{itemize} +\end{enumerate} +\item Ad-hoc On-Demand Distance Vector +\label{sec-2-1-3-4} +\begin{itemize} +\item Reactive +\item Routes are acquired when they are needed +\item Assumes symmetrical links +\item Uses sequence numbers to avoid loops +\end{itemize} +\begin{enumerate} +\item Path Discovery +\label{sec-2-1-3-4-1} +\begin{itemize} +\item When a node wishes to send something, a path discovery mechanism is triggered +\item If node x wishes to send something to node y, but it doesn't know a route to y, a route request (RREQ) message is send to x's neighbours. The RREG contains: +\begin{enumerate} +\item Source address +\item Source seq no +\item Broadcast id - A unique id of the current RREQ +\item Destination addr +\item Destionation seq no +\item Hop count - The number of hops so far, incremented when RREQ is forwarded +\end{enumerate} +\item (source addr, broadcast id) uniquely identifies a RREQ. This can be used to check if RREG has been seen before. +\item When RREQ is received, two actions can be taken +\begin{enumerate} +\item If a route to the destination is known and that path has a sequence number equal or greater than the destionation seq no in the RREQ, it responds to the RREQ by sending a RREP (route reply) back to the source. +\item If it doesn't have a recent route, it broadcasts the RREQ to neighbours with an increased hop count. +\end{enumerate} +\item When a RREQ is received, the address of the neighbour from whom this was received, is recorded. This allows for the generation of a reverse path, should the destination node be found. +\item RREP contains source, destination addr, destionation seq no, the total number of hops from source to dest and a lifetime value for the route. +\item If multiple RREPs are received by an intermediary node, only the first one is forwarded and the rest are forwarded if their destination sequence number is higher or they have a lower hop count, but the same dest seq no. +\item When the RREP is send back to the source, the intermediary nodes record which node they received the RREP from, to generate a forward path to route data along. +\end{itemize} +\item Evaluation +\label{sec-2-1-3-4-2} +\begin{itemize} +\item Tries to minimise control traffic flowing, by having nodes only maintain active routes. +\item Loops prevented with sequence numbers +\item No system wide broadcasts of entire routing tables +\item Every route is only maintained, as long as it's used. It has a timeout and is discarded, if this timeout is reached. +\item Path finding can be costly, as a long of RREG gets propagated through the network +\item Expanding ring algorithm can help control the amount of messages going out, but if the receiver isn't close, this can be even more costly than the standard way +\item Upon link failure; Upstream neighbour sends RREP with seq. no. +1 and hop count set to infinity to any active neighbours—that is neighbours that are using the route. +\end{itemize} +\end{enumerate} +\item Dynamic Source Routing +\label{sec-2-1-3-5} +\begin{itemize} +\item On-demand protocol +\item DSR is a source routing protocol. This is main difference between DSR and AODV +\item Source routing is a technique, where every message contains a header describing the entire path that the message must follow. +\item When a message is received, the node checks if it's the destination node, if not, it forwards the message to the next node in the path. +\item There is no need for intermediate nodes to keep any state about active routes, as was the case in the AODV protocol. +\item DSR doesn't assume symmetrical links and can use uni-directional links, i.e. one route can be used from A to B and then a different route from B to A. +\end{itemize} +\begin{enumerate} +\item Path Discovery +\label{sec-2-1-3-5-1} +\begin{itemize} +\item Discovery is similiar to AODV +\item RREQ contains the source and destination address and a request id. +\item Source address and request id defines the RREQ +\item When an intermediate node receives a RREQ it does a few things. +\begin{enumerate} +\item If it has no route to the dest, it appends itself to the list of nodes in the RREQ and then forwards it to its neighbours +\item If it does have a route to the dest, it appends this route to the list of nodes and sends a RREP back to the source, containing this route. +\end{enumerate} +\item This system uses the same amount of messages, as AODV, and finds the same routes. +\item When a node is ready to send RREP back to source, it can do one of 3 things: +\begin{enumerate} +\item If it already has a route to the source, it can send RREP back along this path +\item It can reverse the route in the RREP (i.e., the list the nodes append themselves to, when forwarding) +\item It can initiate a new RREQ to find a route to the source +\end{enumerate} +\item The second option assumes symmetrical links. +\item The third approach can cause a loop, as the source and the dest host can endlessly look for each other +\item Can be avoided by piggybacking the RREP on the second RREQ message. The receiver of this RREQ will be given a path to use when returning the reply. +\end{itemize} +\item Route cache +\label{sec-2-1-3-5-2} +\begin{itemize} +\item There is no route table +\item DSR use a route cache of currently known routes. The route cache of a node is in effect a tree rooted at the node +\item This tree can contain multiple routes to a single destination +\item This means it's most robust against broken links, as even though a link breaks, another can maybe be used +\item Might take up O(n²) space +\end{itemize} +\item Promiscuous mode operation +\label{sec-2-1-3-5-3} +\begin{itemize} +\item DSR takes advantage of the fact that wireless devices can overhear messages that aren't addressed to them. +\item Since messages tend to be broadcasted, other nodes within the range of the broadcast, can also read the message +\item Having nodes overhear messages that are not addressed to them, is called promiscuous mode operation. +\item It's not required for DSR to work, but it improves the protocol. +\item When two nodes on a path moves out of transmission range, some sort of acking mechanism must be used. This is usually done by using link-layer acks, but if such functionality isn't available, this must be done through other means. +\item A passive ack is when a host, after sending a message to the next hop host in a path, overhears that the receiving host is transmitting the message again. This can be taken as a sign, that the host has in fact received the message and is now in the process of forwarding it towards the next hop. +\item A host that overhears a message may add the route of the message to its route cache +\item It might also be an error message, then the route cache can be corrected. +\item Can also be used for route shortening, if A sends to B who sends to C, but C overhears the message to B, C can send an RREP to A and let A know the route can be shortened. +\end{itemize} +\item Evaluation +\label{sec-2-1-3-5-4} +\begin{itemize} +\item Like AODV, DSR only uses active routes, i.e. routes timeout +\item Control messages used are kept low by using same optimisations as AODV +\item Storage overhead is O(n) - Route cache and information about recently received RREQ +\item Loops are easily avoided in source routing, since nodes can just check if they're already a part of a path. If so, message is discarded. +\end{itemize} +\end{enumerate} +\item Zone Routing Protocol +\label{sec-2-1-3-6} +\begin{itemize} +\item Hybrid protocol +\item In ZRP, each node defines a zone consisting of all of it's n-hop neighbours, where n may be varied. +\item Within this zone, the node proactively maintains a routing table of routes to all other nodes in the zone. This is done using intrazone routing protocol, which is LS based. +\item These zones can be used, when sending to nodes within the zone +\item Outside the zone, a re-active interzone routing scheme is used. +\item This uses a concept called bordercasting. +\item The source node sends a route request (essentially an RREQ message) to all of the nodes on the border of its zone. +\item These border nodes check if they can reach the dest directly. If not, they propagate the message to their border nodes. +\end{itemize} +\begin{enumerate} +\item Evaluation +\label{sec-2-1-3-6-1} +\begin{itemize} +\item Less control traffic when doing route discovery, as messages are either sent to border nodes (skipping a lot of intermediary hops) or they're sent directly to someone within the zone. +\item More control messages within limited range of the zones though. +\item Storage complexity of O(n²) where n is the number of neighbours within the zone. +\item Since LS is used, the running time is O(m + n log n), where m is edges connecting the n nodes in the zone. +\item In dense scenarios, ZRP won't be feasible. +\end{itemize} +\end{enumerate} +\end{enumerate} + +\subsection{Energy Efficient MANET Routing} +\label{sec-2-2} +\begin{itemize} +\item All mentioned protocols in chapter 2 try to minimise control traffic, which, albeit does save energy since transmitting fewer messages is nice, but this is done primarily to avoid wasting bandwidth. +\end{itemize} +\subsubsection{Introduction to energy efficient routing} +\label{sec-2-2-1} +\begin{itemize} +\item Two main approaches +\begin{enumerate} +\item Power-save +\item power-control +\end{enumerate} +\item Power-save is concerned with sleep states. In a power-save protocol the mobile nodes utilise that their network interfaces can enter into a sleep state where less energy is consumed. +\item Power-control utilises no sleep states. Instead the power used when transmitting data is varied; which also varies transmission range of nodes. +\item Power-control can save some energy, but the real energy saver is in power-save, as the real waste in most MANETs is idle time. +\item As such, power-save is the most important, but power-control can be used to complement it. +\item Goal of the energy efficiency is important to define: +\item One approach is to maximise overall lifetime of the entire network +\item Stronger nodes that have a longer battery life, may be asked to do a lot of the heavy lifting. +\item Another approach is to use minimum energy when routing, such that the route using the minimum amount of energy is taken. +\item The physical position of nodes can be important when making routing decisions. +\item Protocols tend to assume there is some positioning mechanism available, such as GPS. +\item This is not assumed here. +\item A third energy saving approach is load balancing. The protocol attempts to balance the load in such a way that it maximises overall lifetime. (This sounds a lot like having a few strong nodes do heavylifting) +\end{itemize} +\subsubsection{The power-control approach} +\label{sec-2-2-2} +\begin{itemize} +\item Power-control protocols cut down on energy consumption by controlling the transmission power of the wireless interfaces. +\item Turning down transmission power when sending to neighbours is nice. It consumes less energy for the sender, since the range is lowered, less nodes have to spend energy overhearing the message. +\item There is a non-linear relation between transmission range and energy used, thus, more hops might in fact yield less energy spent. +\item System called PARO uses this, as it allows more intermediary nodes, if this lowers the overall cost of the path. +\end{itemize} +\subsubsection{Power-save approach} +\label{sec-2-2-3} +\begin{itemize} +\item Protocols that use the power-save approach cut down on energy consumption by utilising the sleep states of the network interfaces +\item When a node sleeps, it can't participate in the network +\item This means these protocols have to either +\begin{enumerate} +\item use retransmissions of messages to make sure that a message is received +\item make sure that all of the nodes do not sleep at the same time, and thus delegate the work of routing data to the nodes that are awake. +\end{enumerate} +\item Power-save protocols define ways in which nodes can take turns sleeping and being awake, so that none, or at least a very small percentage of the messages sent in the network are lost, due to nodes being in the sleep state. +\item They are specifications of how it is possible to maximise the amount of time that nodes are sleeping, while still retaining the same connectivity and loss rates comparable to a network where no nodes are sleeping. +\item IEEE 802.11 ad hoc power saving mode, part of the IEEE standard, uses sleep states. +\item It uses the protocol on the link layer and is as such independent of which routing protocol is used on network layer. +\item BECA/AFECA uses retransmissions +\item Span specifices when nodes can sleep and delegates routing to the rest +\end{itemize} +\begin{enumerate} +\item IEEE +\label{sec-2-2-3-1} +\begin{itemize} +\item Beacon interval within which each node can take a number of actions +\item In the end of each beacon interval, the nodes compete for transmission of the next beacon, the one who first transmits, win. +\item In the beginning of ea h bea on interval all nodes must be awake. +\item It works in a few phases, where nodes can announce to receivers that they want to send stuff. After this phase, any node which wasn't contacted, can safely sleep. +\end{itemize} +\item BECA/AFECA +\label{sec-2-2-3-2} +\begin{itemize} +\item The difference between BECA and AFECA is that AFECA takes node density into consideration when determining the period of time that a node may sleep. +\item Both approaches are only power saving algorithms and not routing protocols. This means that they need to work together with some existing MANET routing protocol. +\item It makes sense to choose an on-demand routing protocol for this purpose, as pro-active would keep the nodes alive. +\end{itemize} +\begin{enumerate} +\item Basic Energy-Conserving algorithm (BECA) +\label{sec-2-2-3-2-1} +\begin{itemize} +\item Based on retransmissions +\item Consists of timing information that defines the periods that nodes spend in the different states defined by the algorithm, and a specification of how many retransmissions are needed. +\item BECA has three states +\begin{enumerate} +\item sleeping +\item listening +\item active +\end{enumerate} +\item Some rules to ensure no messages are lost +\begin{enumerate} +\item T$_{\text{listen}}$ = T$_{\text{retransmissions}}$ +\item T$_{\text{sleep}}$ = k * T$_{\text{retransmissions}}$, for some k +\item Number$_{\text{of}}$$_{\text{retrans}}$ >= k + 1 +\item T$_{\text{idle}}$ = T$_{\text{retransmissions}}$ +\end{enumerate} +\item If A sends to B, but B sleeps, the message will be retrans R >= k + 1 times with interval T$_{\text{restrans}}$, until the message has been received. +\item Since T$_{\text{sleep}}$ is defined as k * T$_{\text{retrans}}$, at least one of the retrans will be received, even when B sleeps just before A transmits the message. +\item Incurs higher latency, worst case k * T$_{\text{retrans}}$ and on average (k * T$_{\text{retrans}}$) / 2. This latency is added for each hop. +\item Thus, to keep this low, k must be somewhat small, which counteracts the energy saving. +\item Thus, one needs to find a nice ratio. +\item Apparently k = 1 is nice. +\item A nice feature of BECA, which also applies to AFECA, is that in high traffic scenarios, where all nodes are on at all times, nodes are simply kept in the active state. In this way the power saving mechanism is disabled and the performance of the protocol is thus as good as the underlying protocol. +\end{itemize} +\item Adaptive Fidelity energy-conserving algorithm (AFECA) +\label{sec-2-2-3-2-2} +\begin{itemize} +\item Same power save model as BECA, except instead of T$_{\text{sleep}}$, it has T$_{\text{varia}}$$_{\text{sleep}}$ +\item T$_{\text{vs}}$ is varied according to amount of neighbours surrounding a node. +\item This is estimated when in listening state, according to how many are overheard. +\item Nodes are removed from the estimation after they timeout at T$_{\text{gone}}$ time. +\item T$_{\text{vs}}$ is then defined as T$_{\text{vs}}$ = Random(1, amount$_{\text{of}}$$_{\text{neighbours}}$) * T$_{\text{sleep}}$ +\item Sleep time of (N * T$_{\text{sleep}}$) / 2 on average +\item Favours nodes in dense areas, due to N, which is amount$_{\text{of}}$$_{\text{neighbours}}$. +\item When number$_{\text{of}}$$_{\text{retrans}}$ isn't changed, but the sleep time is, packets might be lost. A fix could be to make this variable as well. +\item Apparently doubles the overall lifetime, as network density rises. +\end{itemize} +\end{enumerate} + +\item Span +\label{sec-2-2-3-3} +\end{enumerate} + \section{Accessing and Developing WoT} -\label{sec:org0162eed} +\label{sec-3} \subsection{Chapter 6} -\label{sec:org3e11f0f} +\label{sec-3-1} \subsubsection{REST STUFF} -\label{sec:org5bb1f3d} +\label{sec-3-1-1} \begin{itemize} \item The first layer is called access. This layer is aptly named Access because it covers the most fundamental piece of the WoT puzzle: how to connect a Thing to the web so that it can be accessed using standard web tools and libraries. \item REST provides a set of architectural constraints that, when applied as a whole, empha- sizes scalability of component interactions, generality of interfaces, independent deploy- ment of components, and intermediary components to reduce interaction latency, enforce security, and encapsulate legacy systems. @@ -43,43 +972,43 @@ \end{itemize} \begin{enumerate} \item Client/server -\label{sec:org0651884} +\label{sec-3-1-1-1} \begin{itemize} \item Maximises decoupling, as client doesn't need to know how the server works and vice versa \item Such a separation of concerns between data, control logic, and presentation improves scalability and portability because loose coupling means each component can exist and evolve independently. \end{itemize} \item Uniform interfaces -\label{sec:org6a278c3} +\label{sec-3-1-1-2} \begin{itemize} \item Loose coupling between components can be achieved only when using a uniform interface that all components in the system respect. \item This is also essential for the Web of Things because new, unknown devices can be added to and removed from the system at any time, and interacting with them will require min- imal effort. \end{itemize} \item Stateless -\label{sec:org2cec37a} +\label{sec-3-1-1-3} \begin{itemize} \item The client context and state should be kept only on the client, not on the server. \item Each request to server should contain client state, visibility (monitoring and debugging of the server), robustness (recovering from network or application failures) and scalability are improved. \end{itemize} \item Cacheable -\label{sec:orge16b0ad} +\label{sec-3-1-1-4} \begin{itemize} \item Caching is a key element in the performance (loading time) of the web today and therefore its usability. \item Servers can define policies as when data expires and when updates must be reloaded from the server. \end{itemize} \item Layered -\label{sec:orgad0dd47} +\label{sec-3-1-1-5} \begin{itemize} \item For example, in order to scale, you may make use of a proxy behaving like a load balancer. The sole purpose of the proxy would then be to forward incoming requests to the appropriate server instance. \item Another layer may behave like a gateway, and translate HTTP requests to other protocols. \item Similarly, there may be another layer in the architecture responsible for caching responses in order to minimize the work needed to be done by the server. \end{itemize} \item HATEOAS -\label{sec:org6942fa3} +\label{sec-3-1-1-6} \begin{itemize} \item Servers shouldn’t keep track of each client’s state because stateless applications are easier to scale. Instead, application state should be addressable via its own URL, and each resource should contain links and information about what operations are possible in each state and how to navigate across states. HATEOAS is particularly useful at the Find layer \end{itemize} \item Principles of the uniform interface of the web -\label{sec:orgcfba620} +\label{sec-3-1-1-7} \begin{itemize} \item Our point here is that what REST and HTTP have done for the web, they can also do for the Web of Things. As long as a Thing follows the same rules as the rest of the web—that is, shares this uniform interface—that Thing is truly part of the web. In the end, the goal of the Web of Things is this: make it possible for any physical object to be accessed via the same uniform interface as the rest of the web. This is exactly what the Access layer enables \item Addressable resources—A resource is any concept or piece of data in an application that needs to be referenced or used. Every resource must have a unique identi- fier and should be addressable using a unique referencing mechanism. On the web, this is done by assigning every resource a unique URL. @@ -89,7 +1018,7 @@ \end{itemize} \begin{enumerate} \item Principle \#1, adressable resources -\label{sec:orgdedadd2} +\label{sec-3-1-1-7-1} \begin{itemize} \item REST is a resource-oriented architecture (ROA) \item A resource is explicitly identified and can be individually addressed, by its URI @@ -98,7 +1027,7 @@ \item Hierachical naming! \end{itemize} \item Principle \#2, manipulation of resources through representation -\label{sec:orga93ac95} +\label{sec-3-1-1-7-2} \begin{itemize} \item On the web, Multipurpose Internet Mail Extensions (MIME) types have been introduced as standards to describe various data for- mats transmitted over the internet, such as images, video, or audio. The MIME type for an image encoded as PNG is expressed with image/png and an MP3 audio file with audio/mp3. The Internet Assigned Numbers Authority (IANA) maintains the list of the all the official MIME media types. \item The tangible instance of a resource is called a representation, which is a standard encoding of a resource using a MIME type. @@ -108,7 +1037,7 @@ \item A common way of dealing with unofficial MIME types is to use the x- extension, so if you want your client to ask for MessagePack, use Content-Type: application/x-msgpack. \end{itemize} \item Principle \#3: self-descriptive messages -\label{sec:orgc61491f} +\label{sec-3-1-1-7-3} \begin{itemize} \item REST emphasizes a uniform interface between components to reduce coupling between operations and their implementation. This requires every resource to support a standard, common set of operations with clearly defined semantics and behavior. \item The most commonly used among them are GET, POST, PUT, DELETE, and HEAD. Although it seems that you could do everything with just GET and POST, it’s important to correctly use all four verbs to avoid bad surprises in your applications or introducing security risks. @@ -121,7 +1050,7 @@ \item CORS—ENABLING CLIENT-SIDE JAVASCRIPT TO ACCESS RESOURCES \end{itemize} \item CORS -\label{sec:org5690128} +\label{sec-3-1-1-7-4} \begin{itemize} \item Although accessing web resources from different origins located on various servers in any server-side application doesn’t pose any problem, JavaScript applications running in web browsers can’t easily access resources across origins for security reasons. What we mean by this is that a bit of client-side JavaScript code loaded from the domain apples.com won’t be allowed by the browser to retrieve particular representations of resources from the domain oranges.com using particular verbs. \item This security mechanism is known as the same- origin policy and is there to ensure that a site can’t load any scripts from another domain. In particular, it ensures that a site can’t misuse cookies to use your credentials to log onto another site. @@ -133,7 +1062,7 @@ When a script in the browser wants to make a cross-site request, it needs to inc \end{itemize} For verbs other than GET/HEAD, or when using POST with representations other than application/x-www-form-urlencoded, multipart/form-data, or text/ plain, an additional request called preflight is needed. A preflight request is an HTTP request with the verb OPTIONS that’s used by a browser to ask the target server whether it’s safe to send the cross-origin request. \item Principle \#4 : Hypermedia as the Engine of Application State -\label{sec:orga88bdba} +\label{sec-3-1-1-7-5} \begin{itemize} \item contains two subconcepts: hypermedia and application state. \item This fourth principle is centered on the notion of hypermedia, the idea of using links as connections between related ideas. @@ -146,7 +1075,7 @@ For verbs other than GET/HEAD, or when using POST with representations other tha \end{itemize} \item Five-step process -\label{sec:org43889bc} +\label{sec-3-1-1-7-6} \begin{itemize} \item A RESTful architecture makes it possible to use HTTP as a universal protocol for web-connected devices. We described the process of web-enabling Things, which are summarized in the five main steps of the web Things design process: \item Integration strategy—Choose a pattern to integrate Things to the internet and the web, either directly or through a proxy or gateway. This will be covered in chapter 7, so we’ll skip this step for now. @@ -158,17 +1087,17 @@ For verbs other than GET/HEAD, or when using POST with representations other tha \end{enumerate} \item Design rules -\label{sec:org1b1561b} +\label{sec-3-1-1-8} \begin{enumerate} \item \#2–CONTENT NEGOTIATION -\label{sec:org0637210} +\label{sec-3-1-1-8-1} \begin{itemize} \item Web Things must support JSON as their default representation. \item Web Things support UTF8 encoding for requests and responses \item Web Things may offer an HTML interface/representation (UI). \end{itemize} \item \#3 : Self-descriptive messages -\label{sec:orgccb460b} +\label{sec-3-1-1-8-2} \begin{itemize} \item Web Things must support the GET, POST, PUT, and DELETE HTTP verbs. \item Web Things must implement HTTP status codes 20x, 40x, 50x. @@ -176,7 +1105,7 @@ For verbs other than GET/HEAD, or when using POST with representations other tha \item Web Things should support CORS \end{itemize} \item \#4 : HATEOAS -\label{sec:orgfd2343d} +\label{sec-3-1-1-8-3} \begin{itemize} \item Web Things should support browsability with links. \item Web Things may support OPTIONS for each of its resources. @@ -185,10 +1114,10 @@ For verbs other than GET/HEAD, or when using POST with representations other tha \end{enumerate} \subsubsection{EVENT STUFF} -\label{sec:org54e9c67} +\label{sec-3-1-2} \begin{enumerate} \item Events and stuff -\label{sec:org4e99fdf} +\label{sec-3-1-2-1} \begin{itemize} \item Unfortunately, the request-response model is insufficient for a number of IoT use cases. More precisely, it doesn’t match event-driven use cases where events must be communicated (pushed) to the clients as they happen. \item A client-initiated model isn’t practical for applications where notifications need to be sent asynchronously by a device to clients as soon as they’re produced. @@ -196,13 +1125,13 @@ For verbs other than GET/HEAD, or when using POST with representations other tha \item Most of the requests will end up with empty responses (304 Not Modified) or with the same response as long as the value observed remains unchanged. \end{itemize} \item Publish/subscribe -\label{sec:orgf294bcd} +\label{sec-3-1-2-2} \begin{itemize} \item What’s really needed on top of the request-response pattern is a model called publish/subscribe (pub/sub) that allows further decoupling between data consumers (subscribers) and producers (publishers). Publishers send messages to a central server, called a broker, that handles the routing and distribution of the messages to the various subscribers, depending on the type or content of messages. \item A publisher can send notifications into a topic, which subscribers can have subscribed to \end{itemize} \item Webhooks -\label{sec:org0204bb8} +\label{sec-3-1-2-3} \begin{itemize} \item The simplest way to implement a publish-subscribe system over HTTP without break- ing the REST model is to treat every entity as both a client and a server. This way, both web Things and web applications can act as HTTP clients by initiating requests to other servers, and they can host a server that can respond to other requests at the same time. This pattern is called webhooks or HTTP callbacks and has become popular on the web for enabling different servers to talk to each other. \item The implementation of this model is fairly simple. All we need is to implement a REST API on both the Thing and on the client, which then becomes a server as well. This means that when the Thing has an update, it POSTs it via HTTP to the client @@ -210,7 +1139,7 @@ For verbs other than GET/HEAD, or when using POST with representations other tha \item webhooks have one big drawback: because they need the subscriber to have an HTTP server to push the notification, this works only when the subscriber has a publicly accessible URL or IP address. \end{itemize} \item Comet -\label{sec:org6b43283} +\label{sec-3-1-2-4} \begin{itemize} \item Comet is an umbrella term that refers to a range of techniques for circumventing the limitations of HTTP polling and webhooks by introducing event-based communication over HTTP. \item This model enables web servers to push data back to the browser without the client requesting it explicitly. Since browsers were initially not designed with server-sent events in mind, web application developers have exploited several specification loop- holes to implement Comet-like behavior, each with different benefits and drawbacks. @@ -218,7 +1147,7 @@ For verbs other than GET/HEAD, or when using POST with representations other tha \item With long poll- ing, a client sends a standard HTTP request to the server, but instead of receiving the response right away, the server holds the request until an event is received from the sensor, which is then injected into the response returned to the client’s request that was held idle. As soon as the client receives the response, it immediately sends a new request for an update, which will be held until the next update comes from the sensor, and so on. \end{itemize} \item Websockets -\label{sec:orgfd467fd} +\label{sec-3-1-2-5} \begin{itemize} \item WebSocket is part of the HTML5 specification. The increasing support for HTML5 in most recent web and mobile web browsers means WebSocket is becoming ubiquitously available to all web apps \item WebSockets enables a full-duplex communication channel over a single TCP connection. In plain English, this means that it creates a permanent link between the client and the server that both the client and the server can use to send messages to each other. Unlike techniques we’ve seen before, such as Comet, WebSocket is standard and opens a TCP socket. This means it doesn’t need to encapsulate custom, non-web content in HTTP messages or keep the connection artificially alive as is needed with Comet implementations. @@ -231,7 +1160,7 @@ For verbs other than GET/HEAD, or when using POST with representations other tha \item The drawback, however, is that keeping a TCP connection permanently open can lead to an increase in battery consumption and is harder to scale than HTTP on the server side. \end{itemize} \item HTTP/2 -\label{sec:orgbba8bb6} +\label{sec-3-1-2-6} \begin{itemize} \item This new version of HTTP allows multiplexing responses—that is, sending responses in parallel, This fixes the head-of-line blocking problem of HTTP/1.x where only one request can be outstanding on a TCP/IP connection at a time. \item HTTP/2 also introduces compressed headers using an efficient and low-memory compression format. @@ -239,7 +1168,7 @@ For verbs other than GET/HEAD, or when using POST with representations other tha \end{itemize} \end{enumerate} \subsubsection{SUMMARY} -\label{sec:org55f80e6} +\label{sec-3-1-3} \begin{itemize} \item When applied correctly, the REST architecture is an excellent substrate on which to create large-scale and flexible distributed systems. \item REST APIs are interesting and easily applicable to enable access to data and ser- vices of physical objects and other devices. @@ -249,28 +1178,28 @@ For verbs other than GET/HEAD, or when using POST with representations other tha \item HTTP/2 will bring a number of interesting optimizations for Things, such as multiplexing and compression. \end{itemize} \subsection{Chapter 7} -\label{sec:orgf64a532} +\label{sec-3-2} \subsubsection{Connecting to the web} -\label{sec:org4e4b864} +\label{sec-3-2-1} \begin{enumerate} \item Direct Integration -\label{sec:org772db9a} +\label{sec-3-2-1-1} \begin{itemize} \item The most straightforward integration pattern is the direct integration pattern. It can be used for devices that support HTTP and TCP/IP and can therefore expose a web API directly. This pattern is particularly useful when a device can directly connect to the internet; for example, it uses Wi-Fi or Ethernet \end{itemize} \item Gateway Integration -\label{sec:org4cbb4fa} +\label{sec-3-2-1-2} \begin{itemize} \item Second, we explore the gateway integra- tion pattern, where resource-constrained devices can use non-web protocols to talk to a more powerful device (the gateway), which then exposes a REST API for those non-web devices. This pattern is particularly useful for devices that can’t connect directly to the internet; for example, they support only Bluetooth or ZigBee or they have limited resources and can’t serve HTTP requests directly. \end{itemize} \item Cloud Integration -\label{sec:org5103220} +\label{sec-3-2-1-3} \begin{itemize} \item Third, the cloud integration pattern allows a powerful and scalable web platform to act as a gateway. This is useful for any device that can connect to a cloud server over the internet, regardless of whether it uses HTTP or not, and that needs more capability than it would be able to offer alone. \end{itemize} \end{enumerate} \subsubsection{Five step process} -\label{sec:orgf92435c} +\label{sec-3-2-2} \begin{enumerate} \item Integration strategy—Choose a pattern to integrate Things to the internet and the web. The patterns are presented in this chapter. \item Resource design—Identify the functionality or services of a Thing, and organize the hierarchy of these services. @@ -280,7 +1209,7 @@ For verbs other than GET/HEAD, or when using POST with representations other tha \end{enumerate} \begin{enumerate} \item Direct integration -\label{sec:org52f73f9} +\label{sec-3-2-2-1} \begin{itemize} \item the direct integration pattern is the perfect choice when the device isn’t battery powered and when direct access from clients such as mobile web apps is required. \item the resource design. You first need to consider the physical resources on your device and map them into REST resources. @@ -290,7 +1219,7 @@ For verbs other than GET/HEAD, or when using POST with representations other tha \item The core of this implementation is using the Object.observe() function.9 This allows you to asynchronously observe the changes happening to an object by registering a callback to be invoked whenever a change in the observed object is detected. \end{itemize} \item Gateway integration pattern -\label{sec:orga483e50} +\label{sec-3-2-2-2} \begin{itemize} \item Gateway integration pattern. In this case, the web Thing can’t directly offer a web API because the device might not support HTTP directly. An application gateway is working as a proxy for the Thing by offering a web API in the Thing’s name. This API could be hosted on the router in the case of Bluetooth or on another device that exposes the web Thing API; for example, via CoAP. \item The direct integration pattern worked well because your Pi was not battery powered, had access to a decent bandwidth (Wi-Fi/Ethernet), and had more than enough RAM and storage for Node. But not all devices are so lucky. Native sup- port for HTTP/WS or even TCP/IP isn’t always possible or even desirable. For batterypowered devices, Wi-Fi or Ethernet is often too much of a power drag, so they need to rely on low-power protocols such as ZigBee or Bluetooth instead. Does it mean those devices can’t be part of the Web of Things? Certainly not. @@ -303,13 +1232,13 @@ For verbs other than GET/HEAD, or when using POST with representations other tha \end{itemize} \begin{enumerate} \item Summary -\label{sec:orgf364674} +\label{sec-3-2-2-2-1} \begin{itemize} \item For some devices, it might not make sense to support HTTP or WebSockets directly, or it might not even be possible, such as when they have very limited resources like memory or processing, when they can’t connect to the internet directly (such as your Bluetooth activity tracker), or when they’re battery-powered. Those devices will use more optimized communication or application protocols and thus will need to rely on a more powerful gateway that connects them to the Web of Things, such as your mobile phone to upload the data from your Bluetooth bracelet, by bridging/translat- ing various protocols. Here we implemented a simple gateway from scratch using Express, but you could also use other open source alternatives such as OpenHab13 or The Thing System. \end{itemize} \end{enumerate} \item Cloud Integration pattern -\label{sec:org2defed3} +\label{sec-3-2-2-3} \begin{itemize} \item Cloud integration pattern. In this pattern, the Thing can’t directly offer a Web API. But a cloud service acts as a powerful application gateway, offering many more features in the name of the Thing. In this particular example, the web Thing connects via MQTT to a cloud service, which exposes the web Thing API via HTTP and the WebSockets API. Cloud services can also offer many additional features such as unlimited data storage, user management, data visualization, stream processing, support for many concurrent requests, and more. \item Using a cloud server has several advantages. First, because it doesn’t have the physical constraints of devices and gateways, it’s much more scalable and can process and store a virtually unlimited amount of data. This also allows a cloud platform to support many protocols at the same time, handle protocol translation efficiently, and act as a scalable intermediary that can support many more concurrent clients than an IoT device could. @@ -318,7 +1247,7 @@ For verbs other than GET/HEAD, or when using POST with representations other tha \end{itemize} \end{enumerate} \subsubsection{Summary} -\label{sec:orge1e872b} +\label{sec-3-2-3} \begin{itemize} \item There are three main integration patterns for connecting Things to the web: direct, gateway, and cloud. \item Regardless of the pattern you choose, you’ll have to work through the following steps: resource design, representation design, and interface design. @@ -329,8 +1258,10 @@ For verbs other than GET/HEAD, or when using POST with representations other tha \item Gateway integration allows integrating Things without web APIs (or not sup- porting web or even internet protocols) to the WoT by providing an API for them. You tried this by integrating a CoAP device via a gateway on your cloud. \item Cloud integration uses servers on the web to act as shadows or proxies for Things. They augment the API of Things with such features as scalability, analy- tics, and security. You tried this by using the EVRYTHNG cloud. \end{itemize} +\section{Discovery and Security for the Web of Things} +\label{sec-4} \subsection{Chapter 8} -\label{sec:org3699f30} +\label{sec-4-1} \begin{itemize} \item Having a single and common data model that all web Things can share would further increase interoperability and ease of integration by making it possible for applications and services to interact without the need to tailor the application manually for each specific device. \item The ability to easily discover and understand any entity of the Web of Things—what it is and what it does—is called findability. @@ -340,7 +1271,7 @@ For verbs other than GET/HEAD, or when using POST with representations other tha \item this is useful for discovering web Things as they get con- nected to a local network or to the web. Second, it allows applications, services, and other web Things to search for and find new devices without installing a driver for that Thing \end{itemize} \subsubsection{Findability problem} -\label{sec:org86994d1} +\label{sec-4-1-1} \begin{itemize} \item For a Thing to be interacted with using HTTP and WebSocket requests, there are three fundamental problems \begin{enumerate} @@ -354,7 +1285,7 @@ For verbs other than GET/HEAD, or when using POST with representations other tha \item But what if the heater has no user interface, only a RESTful API?1 Because Lena is an experienced front-end developer and never watches TV, she decides to build a sim- ple JavaScript app to control the heater. Now she faces the second problem: even though she knows the URL of the heater, how can she find out the structure of the heater API? What resources (endpoints) are available? Which verbs can she send to which resource? How can she specify the temperature she wants to set? How does she know if those parameters need to be in Celsius or Fahrenheit degrees? \end{itemize} \subsubsection{Discovering Things} -\label{sec:org638e5da} +\label{sec-4-1-2} \begin{itemize} \item The bootstrap problem deals with two scopes: \begin{enumerate} @@ -364,7 +1295,7 @@ For verbs other than GET/HEAD, or when using POST with representations other tha \end{itemize} \begin{enumerate} \item Network discovery -\label{sec:org61f2c02} +\label{sec-4-1-2-1} \begin{itemize} \item In a computer network, the ability to automatically discover new participants is common. \item In your LAN at home, as soon as a device connects to the network, it automatically gets an IP address using DHCP @@ -376,13 +1307,13 @@ For verbs other than GET/HEAD, or when using POST with representations other tha \end{itemize} \begin{enumerate} \item mDNS -\label{sec:org516b7a9} +\label{sec-4-1-2-1-1} \begin{itemize} \item In mDNS, clients can discover new devices on a network by listening for mDNS mes- sages such as the one in the following listing. The client populates the local DNS tables as messages come in, so, once discovered, the new service—here a web page of a printer—can be used via its local IP address or via a URI usually ending with the .local domain. In this example, it would be \url{http://evt-bw-brother.local}. \item The limitation of mDNS, and of most network-level discovery protocols, is that the network-level information can’t be directly accessed from the web. \end{itemize} \item Network discovery on the web -\label{sec:orgd50a905} +\label{sec-4-1-2-1-2} \begin{itemize} \item Because HTTP is an Application layer protocol, it doesn’t know a thing about what’s underneath—the network protocols used to shuffle HTTP requests around. \item The real question here is why the configu- ration and status of a router is only available through a web page for humans and not accessible via a REST API. Put simply, why don’t all routers also offer a secure API where its configuration can be seen and changed by others’ devices and applications in your network? @@ -390,19 +1321,19 @@ For verbs other than GET/HEAD, or when using POST with representations other tha \item This way, you use the existing HTTP server of your router to create an API that exposes the IP addresses of all the devices in your network. This makes sense because almost all net- worked devices today, from printers to routers, already come with a web user inter- face. Other devices and applications can then retrieve the list of IP addresses in the network via a simple HTTP call (step 2 in figure 8.3) and then retrieve the metadata of each device in the network by using their IP address (step 3 of figure 8.3). \end{itemize} \item Resource discovery on the web -\label{sec:org7941376} +\label{sec-4-1-2-1-3} \begin{itemize} \item Although network discovery does the job locally, it doesn’t propagate beyond the boundaries of local networks. \item how do we find new Things when they connect, how do we understand the services they offer, and can we search for the right Things and their data in composite applications? \item On the web, new resources (pages) are discovered through hyperlinks. Search engines periodically parse all the pages in their database to find outgoing links to other pages. As soon as a link to a page not yet indexed is found, that new page is parsed and added to directory. This process is known as web crawling. \end{itemize} \item Crawling -\label{sec:org6eb0f9a} +\label{sec-4-1-2-1-4} \begin{itemize} \item From the root HTML page of the web Thing, the crawler can find the sub-resources, such as sensors and actuators, by discovering outgoing links and can then create a resource tree of the web Thing and all its resources. The crawler then uses the HTTP OPTIONS method to retrieve all verbs supported for each resource of the web Thing. Finally, the crawler uses content negotiation to understand which format is available for each resource. \end{itemize} \item HATEOAS and web linking -\label{sec:orgd6a5f53} +\label{sec-4-1-2-1-5} \begin{itemize} \item The simple way of crawling, of basically looping through links found is a good start, but it also has several limitations. First, all links are treated equally because there’s no notion of the nature of a link; the link to the user interface and the link to the actuator resource look the same—they’re just URLs. \item Additionally, it requires the web Thing to offer an HTML interface, which might be too heavy for resource-constrained devices. Finally, it also means that a client needs to both understand HTML and JSON to work with our web Things. @@ -413,7 +1344,7 @@ For verbs other than GET/HEAD, or when using POST with representations other tha \item The URL of each resource is contained between angle brackets () and the type of the link is denoted by rel="X", where X is the type of the rela- tion. \end{itemize} \item New HATEOAS rel link things -\label{sec:orged9f052} +\label{sec-4-1-2-1-6} \begin{itemize} \item REL="MODEL" : This is a link to a Web Thing Model resource; see section 8.3.1. \item REL="TYPE" : This is a link to a resource that contains additional metadata about this web Thing. @@ -423,7 +1354,7 @@ For verbs other than GET/HEAD, or when using POST with representations other tha \end{enumerate} \end{enumerate} \subsubsection{Describing web Things} -\label{sec:org0b5af12} +\label{sec-4-1-3} \begin{itemize} \item knowing only the root URL is insufficient to interact with the Web Thing API because we still need to solve the sec- ond problem mentioned at the beginning of this chapter: how can an application know which payloads to send to which resources of a web Thing? \item how can we formally describe the API offered by any web Thing? @@ -435,14 +1366,14 @@ For verbs other than GET/HEAD, or when using POST with representations other tha \end{itemize} \begin{enumerate} \item Introducing the Web Thing model -\label{sec:org33e7efe} +\label{sec-4-1-3-1} \begin{itemize} \item Once we find a web Thing and understand its API structure, we still need a method to describe what that device is and does. In other words, we need a conceptual model of a web Thing that can describe the resources of a web Thing using a set of well-known concepts. \item In the previous chapters, we showed how to organize the resources of a web Thing using the /sensors and /actuators end points. But this works only for devices that actually have sensors and actuators, not for complex objects and scenarios that are com- mon in the real world that can’t be mapped to actuators or sensors. To achieve this, the core model of the Web of Things must be easily applicable for any entity in the real world, ranging from packages in a truck, to collectible card games, to orange juice bot- tles. This section provides exactly such a model, which is called the Web Thing Model. \end{itemize} \begin{enumerate} \item Entities -\label{sec:org14695b5} +\label{sec-4-1-3-1-1} \begin{itemize} \item the Web of Things is composed of web Things. \item A web Thing is a digital representation of a physical object—a Thing—accessible on the web. Think of it like this: your Facebook profile is a digital representation of yourself, so a web Thing is the “Facebook profile” of a physical object. @@ -457,17 +1388,17 @@ For verbs other than GET/HEAD, or when using POST with representations other tha \end{itemize} \begin{enumerate} \item Metadata -\label{sec:org310d6fc} +\label{sec-4-1-3-1-1-1} \begin{itemize} \item In the Web Thing Model, all web Things must have some associated metadata to describe what they are. This is a set of basic fields about a web Thing, including its identifiers, name, description, and tags, and also the set of resources it has, such as the actions and properties. A GET on the root URL of any web Thing always returns the metadata using this format, which is JSON by default \end{itemize} \item Properties -\label{sec:org3b2cace} +\label{sec-4-1-3-1-1-2} \begin{itemize} \item Web Things can also have properties. A property is a collection of data values that relate to some aspect of the web Thing. Typically, you’d use properties to model any dynamic time series of data that a web Thing exposes, such as the current and past states of the web Thing or its sensor values—for example, the temperature or humid- ity sensor readings. \end{itemize} \item Actions -\label{sec:org9cf8aed} +\label{sec-4-1-3-1-1-3} \begin{itemize} \item Actions are another important type of resources of a web Thing because they represent the various commands that can be sent to that web Thing. \item In theory, you could also use properties to change the status of a web Thing, but this can be a prob- lem when both an application and the web Thing itself want to edit the same property. @@ -475,7 +1406,7 @@ For verbs other than GET/HEAD, or when using POST with representations other tha \item Actions are sent to a web Thing with a POST to the URL of the action \{WT\}/actions/\{id\}, where id is the ID of the action \end{itemize} \item Things -\label{sec:orgecbcb88} +\label{sec-4-1-3-1-1-4} \begin{itemize} \item a web Thing can act as a gateway between the web and devices that aren’t connected to the internet. In this case, the gateway can expose the resources—properties, actions, and metadata—of those non-web Things using the web Thing. \item The web Thing then acts as an Application-layer gateway for those non-web Things as it converts incoming HTTP requests for the devices into the various protocols or interfaces they support natively. For example, if your WoT Pi has a Bluetooth dongle, it can find and bridge Bluetooth devices nearby and expose them as web Things. @@ -484,19 +1415,19 @@ For verbs other than GET/HEAD, or when using POST with representations other tha \end{enumerate} \end{enumerate} \item The WoT pie model -\label{sec:org8d9a812} +\label{sec-4-1-3-2} \begin{itemize} \item A new tree structure, fitting the discussed model, where the different sensors end up in /properties, setLedState ends up in /actions, we have no /things and /model is the metadata as well as all sensor data, their properties, the actions, everything. \item Following the model allows for dynamically creating routes and such, as all information is maintained in the model of the Thing, /model, /properties, /actions, /things. \end{itemize} \item Summary -\label{sec:org9d8d30b} +\label{sec-4-1-3-3} \begin{itemize} \item In this section, we introduced the Web Thing Model, a simple JSON-based data model for a web Thing and its resources. We also showed how to implement this model using Node.js and run it on a Raspberry Pi. We showed that this model is quite easy to understand and use, and yet is sufficiently flexible to represent all sorts of devices and products using a set of properties and actions. The goal is to propose a uniform way to describe web Things and their capabilities so that any HTTP client can find web Things and interact with them. This is sufficient for most use cases, and this model has all you need to be able to generate user interfaces for web Things automatically. \end{itemize} \end{enumerate} \subsubsection{The Semantic Web of Things (Ontologies)} -\label{sec:orgd27aa7a} +\label{sec-4-1-4} \begin{itemize} \item In an ideal world, search engines and any other applications on the web could also understand the Web Thing Model. Given the root URL of a web Thing, any applica- tion could retrieve its JSON model and understand what the web Thing is and how to interact with it. \item The question now is how to expose the Web Thing Model using an existing web standard so that the resources are described in a way that means some- thing to other clients. The answer lies in the notion of the Semantic Web and, more precisely, the notion of linked data that we introduce in this section. @@ -504,13 +1435,13 @@ For verbs other than GET/HEAD, or when using POST with representations other tha \end{itemize} \begin{enumerate} \item Linked Data and RDFa -\label{sec:orgbb50389} +\label{sec-4-1-4-1} \begin{itemize} \item The HTML specification alone doesn’t define a shared vocabulary that allows you to describe in a standard and non-ambiguous manner the elements on a page and what they relate to. \end{itemize} \begin{enumerate} \item Linked Data -\label{sec:org30a3bc3} +\label{sec-4-1-4-1-1} \begin{itemize} \item Enter the vision of linked data, which is a set of best practices for publishing and connecting structured data on the web, so that web resources can be interlinked in a way that allows computers to automatically understand the type and data of each resource. \item This vision has been strongly driven by complex and heavy standards and tools centered on the Resource Description Framework (RDF) @@ -520,7 +1451,7 @@ For verbs other than GET/HEAD, or when using POST with representations other tha \item using RDFa to describe the metadata of a web Thing will make that web Thing findable and search- able by Google. \end{itemize} \item RFDa -\label{sec:org3499817} +\label{sec-4-1-4-1-2} \begin{itemize} \item vocab defines the vocabulary used for that element, in this case the Web of Things Model vocabulary defined previously. \item property defines the various fields of the model such as name, ID, or descrip- tion. @@ -528,12 +1459,12 @@ For verbs other than GET/HEAD, or when using POST with representations other tha \item This allows other applications to parse the HTML representation of the device and automatically understand which resources are available and how they work. \end{itemize} \item JSON-LD -\label{sec:org47f0271} +\label{sec-4-1-4-1-3} \begin{itemize} \item JSON-LD is an interesting and lightweight semantic annotation format for linked data that, unlike RDFa and Microdata, is based on JSON.29 It’s a simple way to semanti- cally augment JSON documents by adding context information and hyperlinks for describing the semantics of the different elements of a JSON objects. \end{itemize} \item Micro-summary -\label{sec:org8989294} +\label{sec-4-1-4-1-4} \begin{itemize} \item This simple example already illustrates the essence of JSON-LD it gives a context to the content of a JSON document. As a consequence, all clients that understand the \url{http://schema.org/Product} context will be able to automatically process this informa- tion in a meaningful way. This is the case with search engines, for example. Google and Yahoo! process JSON-LD payloads using the Product schema to render special search results; as soon as it gets indexed, our Pi will be known by Google and Yahoo! as a Raspberry Pi product. This means that the more semantic data we add to our Pi, the more findable it will become. As an example, try adding a location to your Pi using the Place schema,33 and it will eventually become findable by location. \end{itemize} @@ -541,7 +1472,7 @@ We could also use this approach to create more specific schemas on top of the We \end{enumerate} \end{enumerate} \subsubsection{Summary} -\label{sec:org1880676} +\label{sec-4-1-5} \begin{itemize} \item The ability to find nearby devices and services is essential in the Web of Things and is known as the bootstrap problem. Several protocols can help in discover- ing the root URL of Things, such as mDNS/Bonjour, QR codes or NFC tags. \item The last step of the web Things design process, resource linking design (also known as HATEOAS in REST terms), can be implemented using the web linking mechanism in HTTP headers. @@ -550,7 +1481,7 @@ We could also use this approach to create more specific schemas on top of the We \item The Web Thing Model can be extended with more specific semantic descriptions such as those based on JSON-LD and available from the Schema.org repository. \end{itemize} \subsection{Chapter 9} -\label{sec:orgf3234a1} +\label{sec-4-2} \begin{itemize} \item In most cases, Internet of Things deployments involve a group of devices that com- municate with each other or with various applications within closed networks— rarely over open networks such as the internet. It would be fair to call such deploy- ments the “intranets of Things” because they’re essentially isolated, private net- works that only a few entities can access. But the real power of the Web of Things lies in opening up these lonely silos and facilitating interconnection between devices and applications at a large scale. \item when it comes to public data such as data.gov initiatives, real-time traffic/weather/pollution conditions in a city, or a group of sensors deployed in a jungle or a volcano, it would be great to ensure that the general public or researchers anywhere in the world could access that data. This would enable anyone to create new innovative applications with it and possibly gener- ate substantial economic, environmental, and social value. @@ -559,7 +1490,7 @@ We could also use this approach to create more specific schemas on top of the We \item First, we’ll show how Layer 3 of the WoT architecture covers the security of Things: how to ensure that only authorized parties can access a given resource. Then we’ll show how to use existing trusted systems to allow sharing physical resources via the web. \end{itemize} \subsubsection{Securing Things} -\label{sec:org89cfd7f} +\label{sec-4-2-1} \begin{itemize} \item Ultimately, every security breach hurts the entire web because it erodes the overall trust of users in technology. \item Security in the Web of Things is even more critical than in the web. Because web Things are physical objects that will be deployed everywhere in the real world, the risks associated with IoT attacks can be catastrophic. @@ -568,32 +1499,32 @@ We could also use this approach to create more specific schemas on top of the We \end{itemize} \begin{enumerate} \item Securing the IoT has three major problems -\label{sec:orgd9a36d2} +\label{sec-4-2-1-1} \begin{itemize} \item First, we must consider how to encrypt the communications between two enti- ties (for example, between an app and a web Thing) so that a malicious inter- ceptor—a “man in the middle”—can’t access the data being transmitted in clear text. This is referred to as securing the channel \item Second, we must find a way to ensure that when a client talks to a host, it can ensure that the host is really “himself” \item Third, we must ensure that the correct access control is in place. We need to set up a method to control which user can access what resource of what server or Thing and when and then to ensure that the user is really who they claim to be. \end{itemize} \item Encryption 101 -\label{sec:org1292139} +\label{sec-4-2-1-2} \begin{itemize} \item encryption is an essential ingredient for any secure system. \item Without encryption, any attempt to secure a Thing will be in vain because attackers can sniff the communication and understand the security mechanisms that were put in place. \end{itemize} \begin{enumerate} \item Symmetric Encryption -\label{sec:orgf6d4bf2} +\label{sec-4-2-1-2-1} \begin{itemize} \item The oldest form of encoding a message is symmetric encryption. The idea is that the sender and receiver share a secret key that can be used to both encode and decode a message in a specific way \end{itemize} \item Assymetric Encryption -\label{sec:org4a4c9c9} +\label{sec-4-2-1-2-2} \begin{itemize} \item another method called asymmetric encryption has become popular because it doesn’t require a secret to be shared between parties. This method uses two related keys, one public and the other private (secret) \end{itemize} \end{enumerate} \item Web Security with TLS: The S of HTTPS -\label{sec:org5f343b3} +\label{sec-4-2-1-3} \begin{itemize} \item Fortunately , there are standard protocols for securely encrypting data between clients and servers on the web. \item The best known protocol for this is Secure Sockets Layer (SSL) @@ -601,7 +1532,7 @@ We could also use this approach to create more specific schemas on top of the We \end{itemize} \begin{enumerate} \item TLS 101 -\label{sec:orgb7402b8} +\label{sec-4-2-1-3-1} \begin{itemize} \item Despite its name, TLS is an Application layer protocol (see chapter 5). TLS not only secures HTTP (HTTPS) communication but is also the basis of secure WebSocket (WSS) and secure MQTT (MQTTS) \item First, it helps the client ensure that the server is who it says it is; this is the SSL/TLS authentication. Second, it guarantees that the data sent over the communication channel can’t be read by any- one other than the client and the server involved in the transaction (also known as SSL/TLS encryption). @@ -610,7 +1541,7 @@ We could also use this approach to create more specific schemas on top of the We \item The rest of the process generates a key from the public certificates. This key is then used to encrypt the data going back and forth between the server and the client in a secure manner. Because this process is dynamic, only the client and the server know how to decrypt the data they exchange during this session. This means the data is now securely encrypted: if an attacker manages to capture data packets, they will remain meaningless. \end{itemize} \item Beyond Self-signed certificates -\label{sec:org6981105} +\label{sec-4-2-1-3-2} \begin{itemize} \item Clearly, having to deal with all these security exceptions isn’t nice, but these excep- tions exist for a reason: to warn clients that part of the security usually covered by SSL/ TLS can’t be guaranteed with the certificate you generated. Basically, although the encryption of messages will work with a self-signed certificate (the one you created with the previous command), the authenticity of the server (the Pi) can’t be guaran- teed. In consequence, the chain of trust is broken—problem 2 \item In an IoT context, this means that attackers could pretend to be the Thing you think you’re talk- ing to. @@ -619,7 +1550,7 @@ We could also use this approach to create more specific schemas on top of the We \end{enumerate} \end{enumerate} \subsubsection{Authentication and access control} -\label{sec:orgfedcf82} +\label{sec-4-2-2} \begin{itemize} \item Once we encrypt the communication between Things and clients as shown in the pre- vious section, we want to enable only some applications to access it. \item First, this means that the Things—or a gateway to which Things are connected—need to be able to know the sender of each request (identification). @@ -628,7 +1559,7 @@ We could also use this approach to create more specific schemas on top of the We \end{itemize} \begin{enumerate} \item Access control with REST and API tokens -\label{sec:org78f5037} +\label{sec-4-2-2-1} \begin{itemize} \item Server-based authentication is used when we use our username/password to log into a website, we initiate a secure session with the server that's stored for a limited time in the server application's memory or in a local browser cookie. \item server-based authentication is usually stateful because the state of the client is stored on the server. But as you saw in chapter 6, HTTP is a stateless protocol; therefore, using a server-based authentication method goes against this principle and poses certain problems. First, the performance and scalability of the overall systems are limited because each session must be stored in memory and over- head increases when there are many authenticated users. Second, this authentication method poses certain security risks—for example, cross-site request forgery. @@ -637,7 +1568,7 @@ We could also use this approach to create more specific schemas on top of the We \item API tokens shouldn’t be valid forever. API tokens, just like passwords, should change regularly. \end{itemize} \item OAuth: a web authorization framework -\label{sec:org758d208} +\label{sec-4-2-2-2} \begin{itemize} \item OAuth is an open standard for authorization and is essentially a mechanism for a web or mobile app to delegate the authentication of a user to a third-party trusted service; for example, Facebook, LinkedIn, or Google. \item OAuth dynamically generates access tokens using only web protocols. @@ -649,7 +1580,7 @@ We could also use this approach to create more specific schemas on top of the We \end{itemize} \begin{enumerate} \item OAuth Roles -\label{sec:org767e2c3} +\label{sec-4-2-2-2-1} \begin{itemize} \item A typical OAuth scenario involves four roles \begin{enumerate} @@ -665,7 +1596,7 @@ access the resources. It’s a web server offering an OAuth API to authenticate \end{enumerate} \end{enumerate} \subsubsection{The Social Web of Things} -\label{sec:orgd47a93c} +\label{sec-4-2-3} \begin{itemize} \item Using OAuth to manage access control to Things is tempting, but not if each Thing has to maintain its own list of users and application. This is where the gateway integration pattern can be used. \item use the notion of delegated authentication offered by OAuth, which allows you to use the accounts you already have with OAuth providers you trust, such as Facebook, Twitter, or LinkedIn. @@ -673,7 +1604,7 @@ access the resources. It’s a web server offering an OAuth API to authenticate \end{itemize} \begin{enumerate} \item A Social Web of Things authentication proxy -\label{sec:orga46325d} +\label{sec-4-2-3-1} \begin{itemize} \item The idea of the Social Web of Things is to create an authentication proxy that controls access to all Things it proxies by identifying users of client applications using trusted third-party services. \item Again, we have four actors: a Thing, a user using a client application, an authenti- cation proxy, and a social network (or any other service with an OAuth server). The client app can use the authentication proxy and the social network to access resources on the Thing. This concept can be implemented in three phases: @@ -686,29 +1617,29 @@ access the resources. It’s a web server offering an OAuth API to authenticate \item Social Web of Things authentication proxy: the auth proxy first establishes a secret with the Thing over a secure channel. Then, a client app requests access to a resource via the auth proxy. It authenticates itself via an OAuth server (here Facebook) and gets back an access token. This token is then used to access resources on the Thing via the auth proxy. For instance, the /temp resource is requested by the client app and given access via the auth proxy forwarding the request to the Thing and relaying the response to the client app. \end{itemize} \item Leveraging Social Networks -\label{sec:org84a30b3} +\label{sec-4-2-3-2} \begin{itemize} \item This is the very idea of the Social Web of Things: instead of creating abstract access control lists, we can reuse existing social structures as a basis for sharing our Things. Because social networks increasingly reflect our social relationships, we can reuse that knowledge to share access to our Things with friends via Facebook, or work colleagues via LinkedIn. \end{itemize} \item Implementing Access Control Lists -\label{sec:org0587472} +\label{sec-4-2-3-3} \begin{itemize} \item In essence, you need to create an access control list (ACL). There are various ways to implement ACLs, such as by storing them in the local database. \end{itemize} \item Proxying Resources of Things -\label{sec:orgbdcfb50} +\label{sec-4-2-3-4} \begin{itemize} \item Finally, you need to implement the actual proxying: once a request is deemed valid by the middleware, you need to contact the Thing that serves this resource and proxy the results back to the client. \end{itemize} \end{enumerate} \subsubsection{Beyond book} -\label{sec:orge17ccff} +\label{sec-4-2-4} \begin{itemize} \item But just as HTTP might be too heavy for resource-limited devices, security pro- tocols such as TLS and their underlying cypher suites are too heavy for the most resource-constrained devices. This is why lighter-weight versions of TLS are being developed, such as DTLS,26 which is similar to TLS but runs on top of UDP instead of TCP and also has a smaller memory footprint \item device democracy.27 In this model, devices become more autonomous and favor peer-to-peer interactions over centralized cloud services. Security is ensured using a blockchain mechanism: similar to the way bitcoin transactions are validated by a number of independent parties in the bitcoin network, devices could all participate in making the IoT secure. \end{itemize} \subsubsection{Summary} -\label{sec:org44eb186} +\label{sec-4-2-5} \begin{itemize} \item You must cover four basic principles to secure IoT systems: encrypted commu- nication, server authentication, client authentication, and access control. \item Encrypted communication ensures attackers can’t read the content of mes- sages. It uses encryption mechanisms based on symmetric or asymmetric keys. @@ -720,4 +1651,5 @@ access the resources. It’s a web server offering an OAuth API to authenticate \item The delegated authentication mechanism of OAuth relies on other OAuth pro- viders to authenticate users and create API tokens. As an example, a user of a Thing can be identified using Facebook via OAuth. \item You can implement access control for Things to reflect your social contacts by creating an authentication proxy using OAuth for clients’ authentication and contacts from social networks. \end{itemize} +% Emacs 25.2.2 (Org mode 8.2.10) \end{document} \ No newline at end of file