You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
140 lines
5.6 KiB
TeX
140 lines
5.6 KiB
TeX
\chapter*{Introduction}
|
|
\addcontentsline{toc}{chapter}{Introduction}
|
|
|
|
Network administrators need to be aware of the
|
|
current state of their networks. While routing protocols like OSPF often need
|
|
to have complete information about the state of the networks, we did not find
|
|
an existing project that would visualise this data easily. We have therefore
|
|
created a rather simple program called Birdvisu, which aims to fill this hole.
|
|
|
|
Apart from visualising the topology, we provide the user with basic analysis
|
|
tools like showing the shortest path DAGs for routers. Furthermore, the
|
|
architecture of Birdvisu will allow enhancing the data from the routing
|
|
protocol with additional data, e.g. the utilization of particular links.
|
|
|
|
\section*{Terminology}
|
|
\addcontentsline{toc}{section}{Terminology}
|
|
|
|
In this thesis, we use the word \emph{host} to mean a device connected to a
|
|
network and capable of processing (sending, receiving, forwarding, \dots) IP packets.
|
|
|
|
An \emph{administrator} is a person or a group of people, who provide the
|
|
routers with configuration and who make sure that the routers (and other
|
|
infrastructure) functions correctly.
|
|
|
|
The word \emph{network}, when used as a noun, will always denote a set of hosts, that can exchange
|
|
packets \uv{directly}, without forwarding, under normal circumstances. While
|
|
this is somewhat synonymous with the term \emph{network segment}, when the
|
|
network splits, there may be multiple link-layer segments belonging to the same
|
|
network.
|
|
|
|
We say that a router is said to be \emph{incident} to a network when it has an
|
|
interface into it. For simplicity, we also say that that network is incident to
|
|
that router (that is, the incidence relation is symmetrical). We say that
|
|
a router is a \emph{neighbour} of another router, when they are incident to a
|
|
shared network, and conversely, that two networks are neighbours when they
|
|
share a router.
|
|
|
|
We will use the word \emph{network system} (or just \emph{system}) to describe a
|
|
set of networks managed by a single administrator, which is intended to forward
|
|
packets across it. This can mean the whole autonomous system\footnote{This is
|
|
where we borrowed the word \uv{system} from.}, but often this is a much smaller
|
|
part. When we speak about routing using OSPF, a system is only the set of
|
|
networks that run a single instance of the OSPF protocol.
|
|
|
|
By the term \emph{IP} we mean the Internet Protocol of either version 4 or 6.
|
|
When it is important to distinguish, we explicitly write \emph{IPv4} or
|
|
\emph{IPv6}. IP may also denote an IP address, as in \uv{a router has an IP},
|
|
but this usage should be clear from the context.
|
|
|
|
We distinguish between \emph{routing} as the act of finding next hops,
|
|
and \emph{forwarding}, the act of sending a received packet through an
|
|
interface according to a \emph{routing table}. (Whether the routing table is
|
|
distinct from the network-layer forwarding table is an implementation detail.)
|
|
|
|
A \emph{topology} describes the connections in the network system, i.e. which
|
|
router is connected to which networks, with what costs etc. We use the term
|
|
\emph{graph} only when talking about visualisation of the network to
|
|
distinguish between the real state and a virtual one. Moreover, in
|
|
section~\ref{s:net-unusual} we will see that a topology is in fact not a
|
|
graph (as understood by graph theory).
|
|
|
|
\medskip
|
|
|
|
We will be using many other networking terms, which we hope are well-known, but
|
|
for the sake of completeness, we provide a \hyperref[ch:glossary]{glossary} and
|
|
a \hyperref[ch:abbrs]{list of abbreviations} at the end of this thesis.
|
|
|
|
\section*{Notation}
|
|
\addcontentsline{toc}{section}{Notation}
|
|
|
|
We write filenames and commands in monospace font, like in \texttt{rm -rf
|
|
/bin}. Snippets of code are also written in monospace, but when we speak of a
|
|
particular class in text, it is only capitalised, as in \uv{The keys of the
|
|
dictionary are VertexIDs}.
|
|
|
|
For network diagrams, we use the Network topology icons from
|
|
Cisco~\cite{cisco-icons}. The basic icons are shown on
|
|
Figure~\ref{fig:basic-icons}.
|
|
|
|
\begin{figure}[h]
|
|
\centering
|
|
\begin{subfigure}[b]{0.25\textwidth}
|
|
\centering
|
|
\includegraphics[width=0.6\textwidth]{../img/router.pdf}
|
|
\caption*{Router}
|
|
\end{subfigure}
|
|
\hfil
|
|
\begin{subfigure}[b]{0.25\textwidth}
|
|
\centering
|
|
\includegraphics[width=0.6\textwidth]{../img/cloud.pdf}
|
|
\caption*{Network}
|
|
\end{subfigure}
|
|
\hfil
|
|
\begin{subfigure}[b]{0.25\textwidth}
|
|
\centering
|
|
\includegraphics[width=0.6\textwidth]{../img/workgroup-switch.pdf}
|
|
\caption*{Switch}
|
|
\end{subfigure}
|
|
\caption{Basic Cisco network icons}
|
|
\label{fig:basic-icons}
|
|
\end{figure}
|
|
|
|
\section*{Structure of the thesis}
|
|
\addcontentsline{toc}{section}{Structure of the thesis}
|
|
|
|
In the \hyperref[ch:motivation]{first} chapter, we explore various approaches of visualising and
|
|
monitoring a network system. Then, in chapter~\ref{ch:analysis}, we understand the
|
|
behaviour of relevant networking technologies. From that, we derive a design
|
|
for Birdvisu in chapter~\ref{ch:design}. Chapter~\ref{ch:usage} explains the usage
|
|
of the program. At the \hyperref[ch:evaluation]{end}, we discuss how the
|
|
project copes with topologies of network systems of various sizes.
|
|
|
|
%- motivation
|
|
% -tgt audience of birdvisu
|
|
% - previous work / other approaches to network monitoring
|
|
% - And why we do not like them
|
|
% - Problem statement / project goals
|
|
% - Non-goals and future goals
|
|
%- Analysis / Survey (behaviour of computer networks)
|
|
% - gennet as a method of testing behaviour
|
|
% - OSPF
|
|
% - BIRD + caveats
|
|
% - Idiosyncracies of
|
|
%- Design
|
|
% - Technologies
|
|
% - Project structure / overview
|
|
% - Annotators
|
|
% - handles
|
|
% - Handling expected expansion
|
|
%- Usage
|
|
%- Evaluation?
|
|
% - Home
|
|
% - KAM
|
|
%- Conclusion
|
|
%
|
|
% References?
|
|
%
|
|
% Glossary
|
|
% List of abbreviations
|