1
0
Fork 0

More text

I do not care about how the commits work. Splitting this (and the
previous commit) correctly would be a chore.
master
LEdoian 1 year ago
parent 53d7a0dbf3
commit e783b58a3c

@ -3,8 +3,11 @@
In order to avoid as many problems as possible when visualising and In order to avoid as many problems as possible when visualising and
analysing a OSPF topology, we need to understand several aspects of networking, analysing a OSPF topology, we need to understand several aspects of networking,
the OSPF protocol and its implementation in BIRD. However, the aim of this the OSPF protocol and its implementation in BIRD. However, the aim of this
thesis is not to be a complete guide to OSPF nor BIRD, so we only describe thesis is not to be a complete guide to OSPF nor BIRD, therefore, for the sake
enough details to be able to reason about the design of the implementation. of brevity, we skip many details which do not influence our project.
Later in this chapter we also present a way to simulate uncommon network states
using a \uv{swarm} of virtual machines.
\section{OSPF overview} \section{OSPF overview}
@ -16,10 +19,10 @@ running it on a much smaller scale is also possible.
OSPF requires routers to share information about the state of the topology in OSPF requires routers to share information about the state of the topology in
messages called \emph{Link State Advertisements} (or LSAs for short). The LSAs messages called \emph{Link State Advertisements} (or LSAs for short). The LSAs
contain information about which network segments are adjacent \X{term} to which contain information about which network segments are incident to which
router on which interfaces and with which routers it is possible to communicate router on which interfaces and with which routers it is possible to communicate
on those interfaces. To distinguish between routers, each router is assigned a on those interfaces. To distinguish between routers, each router is assigned a
32-bit number called \emph{Router ID} by the network administrator \X{term}. 32-bit number called \emph{Router ID} by the network administrator.
Router IDs are usually written in a quad-dotted notation \X{glos}. Router IDs are usually written in a quad-dotted notation \X{glos}.
The LSAs are flooded throughout the system in order to let all the routers know The LSAs are flooded throughout the system in order to let all the routers know
@ -30,12 +33,12 @@ DR) which coordinates exchange of the messages in that network segment.
Second, the system can be partitioned into \emph{areas}. That way, the frequent Second, the system can be partitioned into \emph{areas}. That way, the frequent
LSAs are only flooded throughout a limited set of networks; the \emph{area LSAs are only flooded throughout a limited set of networks; the \emph{area
border routers} (ABRs) send accumulated LSAs into other areas.\footnote{These border routers} (ABRs) send accumulated LSAs into other areas.\footnote{These
inter-area LSAs are called \uv{Summary LSAs}, but there is no requirement that inter-area LSAs are called \uv{Summary LSAs} in OSPFv2, but there is no requirement that
the routing information is actually aggregated.} These LSAs do not describe the the routing information is actually aggregated.} These LSAs do not describe the
topology of the originating area. topology of the originating area.
The area 0.0.0.0 is called the \emph{backbone area} and all other areas must be The area 0.0.0.0 is called the \emph{backbone area} and all other areas must be
adjacent to it, so that it has all the routing information. When this is incident to it, so that it has all the routing information. When this is
impractical, OSPF allows two routers to be connected using a \emph{virtual impractical, OSPF allows two routers to be connected using a \emph{virtual
link}. From the routing perspective, this is a point-to-point connection link}. From the routing perspective, this is a point-to-point connection
between the routers in the backbone area. which allows to forward LSAs through between the routers in the backbone area. which allows to forward LSAs through
@ -52,7 +55,8 @@ Figure.~\ref{fig:nettypes} shows the same classification visually.
\begin{figure}[h] \begin{figure}[h]
\centering \centering
\includegraphics[width=12cm]{../img/types-of-networks.pdf} % full width and hope it is readable…
\includegraphics[width=\textwidth]{../img/types-of-networks.pdf}
\caption{Types of networks as seen from the cyan area.} \caption{Types of networks as seen from the cyan area.}
\label{fig:nettypes} \label{fig:nettypes}
\end{figure} \end{figure}
@ -78,7 +82,7 @@ any internal or type 1 cost.
The OSPF family of routing protocols has undergone long evolution since the The OSPF family of routing protocols has undergone long evolution since the
first specification in 1989\cite{rfc1131}, There are currently two versions of first specification in 1989\cite{rfc1131}, There are currently two versions of
the protocol in use -- versions 2 and 3. While the basic idea is still the the protocol in use -- versions 2 and 3. While the basic idea is still the
same, OSPFv2 can only handle IPv4 systems. While OSPFv3 claims to be same, OSPFv2 can only handle IPv4 systems. Although OSPFv3 claims to be
network-protocol-independent, it is usually only used with IPv6 systems and in network-protocol-independent, it is usually only used with IPv6 systems and in
fact, features like virtual links can only be used with that network fact, features like virtual links can only be used with that network
protocol\cite{rfc5838}. protocol\cite{rfc5838}.

@ -0,0 +1,4 @@
\chapter*{Glossary}\label{ch:glossary}
\addcontentsline{toc}{chapter}{Glossary}
\XXX{TODO}

@ -51,6 +51,7 @@
\usepackage{paralist} % improved enumerate and itemize \usepackage{paralist} % improved enumerate and itemize
\usepackage{xcolor} % typesetting in color \usepackage{xcolor} % typesetting in color
\usepackage{csquotes} \usepackage{csquotes}
\usepackage{subcaption}
%% SPECIMEN %% SPECIMEN
% Parts marked as SPECIMEN are used for building the example PDF. % Parts marked as SPECIMEN are used for building the example PDF.
@ -132,24 +133,21 @@ Abstract. \X{Recommended length around 80--200 words. This is not a~copy of your
%%% Bibliography %%% Bibliography
\include{bibliography} \include{bibliography}
%%% Figures used in the thesis (consider if this is needed) \include{glossary}
\listoffigures
%%% Tables used in the thesis (consider if this is needed) %% %%% Figures used in the thesis (consider if this is needed)
%%% In mathematical theses, it could be better to move the list of tables to the beginning of the thesis. %% \listoffigures
\listoftables %%
\XXX{In mathematical theses, it could be better to move the list of tables to the beginning of the thesis.} %% %%% Tables used in the thesis (consider if this is needed)
%% %%% In mathematical theses, it could be better to move the list of tables to the beginning of the thesis.
%% \listoftables
%% \XXX{In mathematical theses, it could be better to move the list of tables to the beginning of the thesis.}
%%% Abbreviations used in the thesis, if any, including their explanation %%% Abbreviations used in the thesis, if any, including their explanation
%%% In mathematical theses, it could be better to move the list of abbreviations to the beginning of the thesis. %%% In mathematical theses, it could be better to move the list of abbreviations to the beginning of the thesis.
\chapwithtoc{List of Abbreviations} \chapwithtoc{List of Abbreviations}
\XXX{In mathematical theses, it could be better to move the list of abbreviations to the beginning of the thesis.} \XXX{In mathematical theses, it could be better to move the list of abbreviations to the beginning of the thesis.}
\XXX{TODO}
%% PHDONLY
%%% Doctoral theses must contain a list of author's publications
\chapwithtoc{List of publications}
\XXX{Doctoral theses must contain a list of author's publications.}
%% ONLYPHD
%%% Attachments to the bachelor thesis, if any. Each attachment must be %%% Attachments to the bachelor thesis, if any. Each attachment must be
%%% referred to at least once from the text of the thesis. Attachments %%% referred to at least once from the text of the thesis. Attachments

Binary file not shown.

@ -25,15 +25,15 @@
inkscape:deskcolor="#ffffff" inkscape:deskcolor="#ffffff"
inkscape:document-units="mm" inkscape:document-units="mm"
showgrid="false" showgrid="false"
inkscape:zoom="0.84096521" inkscape:zoom="1.6819304"
inkscape:cx="363.86761" inkscape:cx="414.40478"
inkscape:cy="174.20459" inkscape:cy="228.60637"
inkscape:window-width="1920" inkscape:window-width="1920"
inkscape:window-height="1167" inkscape:window-height="1167"
inkscape:window-x="1024" inkscape:window-x="1024"
inkscape:window-y="1094" inkscape:window-y="1094"
inkscape:window-maximized="1" inkscape:window-maximized="1"
inkscape:current-layer="layer2" inkscape:current-layer="layer3"
showborder="true" /><defs showborder="true" /><defs
id="defs1667"><linearGradient id="defs1667"><linearGradient
inkscape:collect="always" inkscape:collect="always"
@ -301,16 +301,26 @@
transform="translate(0.23249152,-26.528239)"><text transform="translate(0.23249152,-26.528239)"><text
xml:space="preserve" xml:space="preserve"
style="font-size:3.175px;font-family:'Latin Modern Roman';-inkscape-font-specification:'Latin Modern Roman, ';fill:#aa4400;-inkscape-stroke:none;stop-color:#000000" style="font-size:3.175px;font-family:'Latin Modern Roman';-inkscape-font-specification:'Latin Modern Roman, ';fill:#aa4400;-inkscape-stroke:none;stop-color:#000000"
x="124.99501" x="135.27777"
y="88.370018" y="88.370018"
id="text2524" id="text2524"
inkscape:label="vlink_label"><tspan inkscape:label="vlink_label"><tspan
sodipodi:role="line" sodipodi:role="line"
id="tspan2522" id="tspan2522"
x="124.99501" x="135.27777"
y="88.370018" y="88.370018"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333px;font-family:'Latin Modern Roman';-inkscape-font-specification:'Latin Modern Roman, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal">virtual link</tspan></text><path style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333px;font-family:'Latin Modern Roman';-inkscape-font-specification:'Latin Modern Roman, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:center;text-anchor:middle">virtual link</tspan><tspan
style="fill:none;fill-rule:evenodd;stroke:#d45500;stroke-width:0.565;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1" sodipodi:role="line"
x="135.27777"
y="92.676376"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.175px;font-family:'Latin Modern Roman';-inkscape-font-specification:'Latin Modern Roman, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:center;text-anchor:middle"
id="tspan1046">(in backbone</tspan><tspan
sodipodi:role="line"
x="135.27777"
y="96.645126"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:3.175px;font-family:'Latin Modern Roman';-inkscape-font-specification:'Latin Modern Roman, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:center;text-anchor:middle"
id="tspan1048">area only)</tspan></text><path
style="fill:none;fill-rule:evenodd;stroke:#d45500;stroke-width:0.565;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:0.565,2.25999999;stroke-opacity:1;stroke-dashoffset:0"
d="m 80.284687,73.948517 c 29.325473,24.350953 63.526953,3.295679 63.526953,3.295679" d="m 80.284687,73.948517 c 29.325473,24.350953 63.526953,3.295679 63.526953,3.295679"
id="path3386" id="path3386"
inkscape:label="vlink_path" /></g><g inkscape:label="vlink_path" /></g><g

Before

Width:  |  Height:  |  Size: 146 KiB

After

Width:  |  Height:  |  Size: 147 KiB

Loading…
Cancel
Save