blob: 246761783c20149c28946f645d079b6d2c0d162f [file] [log] [blame]
Nick Gordonf3a9ecb2017-01-24 13:55:14 -06001\section{Link-State Advertisements}
2\label{sec:lsas}
3
4Link-State Advertisements (LSAs) represent pieces of routing information distributed by routers.
Nick Gordonf3a9ecb2017-01-24 13:55:14 -06005
6\subsection{LSA Base Class}
7\label{sec:lsa-base-class}
8
9All three LSA implementations inherit from an LSA Base class, \texttt{Lsa}, which maintains information that is included in each LSA.
10The \texttt{LSA} class contains the following member variables:
11\begin{itemize}
Nick Gordon221531c2017-06-08 11:44:45 -050012\item \textbf{Origin Router} - the router that advertised the LSA. Specifically, this is a name prefix that follows the NLSR convention of router naming.
13\item \textbf{Sequence Number} - a number used to indicate the LSA's version. Because sequence numbers are preserved between NLSR restarts, a higher sequence number also always indicates a \emph{newer} LSA.
14\item \textbf{Expiration Time Point} - a time point indicating when the LSA is no longer valid. This currently is represented as a Unix timestamp (i.e. seconds since Jan 1, 1970).
Ashlesh Gawande69903472017-06-28 13:30:46 -050015\end{itemize}
Nick Gordonf3a9ecb2017-01-24 13:55:14 -060016
17\subsection{Adjacency LSAs}
18\label{sec:adjacency-lsas}
19
Nick Gordon221531c2017-06-08 11:44:45 -050020Adjacency LSAs maintain an \texttt{AdjacencyList} which contains information about all the currently \texttt{ACTIVE} neighbors of the origin router. It also includes the number of active routers, not just the list itself. This aids in serialization.
Nick Gordonf3a9ecb2017-01-24 13:55:14 -060021
22\subsection{Coordinate LSAs}
23\label{sec:coordinate-lsas}
24
Ashlesh Gawande69903472017-06-28 13:30:46 -050025Coordinate LSAs maintain the hyperbolic angle(s) and hyperbolic radius of the origin router.
Nick Gordonf3a9ecb2017-01-24 13:55:14 -060026
27\subsection{Name LSAs}
28\label{sec:name-lsas}
29
Nick Gordon221531c2017-06-08 11:44:45 -050030Name LSAs maintain a \texttt{NamePrefixList} which contains the name prefixes that are reachable at the origin router.