1
0
Fork 0
mirror of https://gitlab.com/netravnen/NetworkLabNotes.git synced 2024-11-26 19:27:57 +00:00

Merge branch 'develop'

This commit is contained in:
unknown 2017-05-22 18:28:57 +02:00
commit d14234b4a6
7 changed files with 221 additions and 20 deletions

29
LICENSE Normal file
View file

@ -0,0 +1,29 @@
BSD 3-Clause License
Copyright (c) 2017, Netravnen
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
* Neither the name of the copyright holder nor the names of its
contributors may be used to endorse or promote products derived from
this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

1
code/vtp/example.cfg Normal file
View file

@ -0,0 +1 @@
# Code goes here

Binary file not shown.

After

Width:  |  Height:  |  Size: 95 KiB

BIN
img/vtp/vtp-pruning.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 201 KiB

1
latexmkrc Normal file
View file

@ -0,0 +1 @@
$ENV{'TZ'}='Europe/Berlin';

191
main.tex
View file

@ -1,5 +1,7 @@
% Declare Document Class % Declare Document Class
\documentclass[a4paper,12pt,twoside]{book} \documentclass[a4paper,12pt,twoside,twocolumn]{book}
\setlength{\columnsep}{2em}
% Latex Packages % Latex Packages
\usepackage[T1]{fontenc} \usepackage[T1]{fontenc}
@ -12,6 +14,11 @@
\usepackage{float} \usepackage{float}
\usepackage[english]{babel} \usepackage[english]{babel}
\usepackage{fancyhdr} \usepackage{fancyhdr}
\usepackage{wrapfig}
\usepackage{array}
\usepackage{lipsum}
\usepackage{fancybox}
\usepackage{varwidth}
% Define color % Define color
\definecolor{codegreen}{rgb}{0,0.6,0} \definecolor{codegreen}{rgb}{0,0.6,0}
@ -42,24 +49,33 @@
% Path where images are located relative % Path where images are located relative
% to the file main.tex % to the file main.tex
\graphicspath{{img/}} \graphicspath{{img/}{figures/}}
% Custom commands % Custom commands
% Usage: \pic{ [<pct-of-testwidt>] }{ <path-to-file> } % Usage: \pic[<pct-of-columnwidth>]{<path-to-file>}
\newcommand{\pic}[2][25]{ \newcommand{\pic}[2][50]{
\begin{center} \begin{center}
\transparent{0.4} \transparent{0.4}
\includegraphics[width=0.#1\textwidth]{#2} \includegraphics[width=0.#1\columnwidth]{#2}
\end{center} \end{center}
} }
% Usage: \fig{ [<caption>] }{ <label> }{ <path-to-file> } % Usage: \fig{<path-to-file>}{<label>}{<caption>}
\newcommand{\fig}[3][]{ \newcommand{\fig}[3]{
\begin{figure}[h] \begin{figure}[h]
\centering \centering
\includegraphics[width=0.25\textwidth]{#3} \includegraphics[width=0.95\columnwidth]{#1}
\caption{#1} \caption{#3}
\label{fig:#2} \label{fig:#2}
\end{figure} \end{figure}
}
\newcommand{\notice}[2]{%
\shadowbox{%
\begin{varwidth}{\linewidth}
\texttt{\textbf{#1}}\\
#2
\end{varwidth}
}
} }
% In which order to look after images in % In which order to look after images in
@ -70,7 +86,11 @@
\DeclareGraphicsExtensions{.jpg,.png,.pdf} \DeclareGraphicsExtensions{.jpg,.png,.pdf}
% Package Params % Package Params
\geometry{a4paper,margin=1in} \geometry{a4paper,margin=4em}
%\setlength{\parindent}{4em}
%\setlength{\parskip}{1em}
%\renewcommand{\baselinestretch}{2.0}
% Define fancy header and footer % Define fancy header and footer
\pagestyle{fancy} \pagestyle{fancy}
@ -80,9 +100,13 @@
\fancyfoot[CE,CO]{\leftmark} \fancyfoot[CE,CO]{\leftmark}
\fancyfoot[LE,RO]{\thepage} \fancyfoot[LE,RO]{\thepage}
% width of header and footer rule is by default 0px.
\renewcommand{\headrulewidth}{2pt} \renewcommand{\headrulewidth}{2pt}
\renewcommand{\footrulewidth}{1pt} \renewcommand{\footrulewidth}{1pt}
% Use the roman numeric system for pagenumbers
\pagenumbering{roman}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% % % %
% BEGIN DOCUMENT % % BEGIN DOCUMENT %
@ -100,6 +124,11 @@
\tableofcontents \tableofcontents
% Define length between paragrahps
\setlength{\parskip}{1em}
% Define lineheight
\renewcommand{\baselinestretch}{1.15}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% % % %
% BEGIN CHAPTER: Base Configuration % % BEGIN CHAPTER: Base Configuration %
@ -159,10 +188,106 @@
\subsection{Static} \subsection{Static}
\subsection{BGP} \subsection{BGP}
\newpage
\section{VLAN} \section{VLAN}
%\subsection{BPDU} \subsection{VTP}
%\subsection{} \fig{vtp/implementing-vtp}{imp-vtp1}{VTP}
\subsubsection{VTP Modes}
The tree modes a VTP \textit{enabled} device can operate are
\begin{itemize}
\item Transparent
\item Server
\item Client
\end{itemize}
Of course you can \textit{disable} VTP altogether.
Key things to be aware of \textit{before} enabling VTP in your environment is to make double sure of only having 1 VTP domain. \textbf{If} 2 or more VTP domains exists. Be triple sure to separate them! As to avoid having an VTP server DB overridden with data from another VTP domain.
The three VTP modes \textit{operates} as follow
\begin{itemize}
\item Transparent
\begin{itemize}
\item Creates, modifies and deletes \textit{local} vlans only
\item Forwards advertisements
\item Does \textit{not} synchronizes vlan configurations.
\end{itemize}
\item Server
\begin{itemize}
\item Creates, modifies and deletes vlans
\item Sends and forwards advertisements
\item Synchronizes vlan configurations
\end{itemize}
\begin{itemize}
\item Cannot create, modify or delete vlans
\item Send and forwards advertisements
\item Synchronizes vlan configurations
\end{itemize}
\end{itemize}
\subsubsection{VTP Announcement}
VTP operates with announcements sent out in intervals. Summarized it amounts to
\begin{itemize}
\item 1 \textit{summary} announcement per 5th minute from the server
\item The summary announcement informs clients of the current revision
\item An announcement is sent out \textit{on the spot} when a change has been made on the VTP server
\end{itemize}
Do remember it is \textbf{only} the VTP server which has the vlan configuration stored \textbf{on disk}. All device clients and transparent nodes do only store the vlans delegated by VTP in memory.
\subsubsection{Common Issues}
\begin{itemize}
\item Different/Incompatible VTP versions
\item Wrong password
\item Incorrect mode name
\item No server set (all devices configured in transparent/client/vtp disabled mode)
\end{itemize}
\subsubsection{VTP Versions}
\begin{itemize}
\item Version 1
\item Version 2
\begin{itemize}
\item Version-dependent transparent mode
\item Consistencycheck
\item Token ring support
\item Unrecognized type-length-value support
\end{itemize}
\item Version 3 (not "yet" common)
\begin{itemize}
\item Extended VLAN support: Allow ranges are 1-1005,1018-2095. Not mentioned vlans ranges up to 4095 is still reserved.
\item Domain name is not automatically learned.
\item Better security.
\item Better database propagation.
\item MST now supported.
\end{itemize}
\end{itemize}
\subsubsection{VTP Pruning}
The art of only allowing the vlan traffic to flow on \textit{necessary} links.
This means if there are no clients in a vlan on a device. Then no traffic for the inactive vlans is send down-/upstream on the link in question.
\fig{vtp/vtp-pruning}{vtpruning1}{VTP Pruning}
\subsubsection{Security}
It is \textbf{strongly} recommended to enable the security features supported in VTP.
\textbf{Password:} MD5 hashing, Case-sensitive, Length between 8 and 64 chars.
\notice{VTP Scaling}{
As the network grows and grows and grows and grows some more over long/short timespans.
You will \textbf{for certain} come to cross-rode, where you \textbf{must} consider to
go away from using VTP in the network. The problems of managing an elderly network and
wiping and re-introducing nodes in the network. You \textbf{will} face the issue of a
wiped vlan database from the VTP domain.
}
\subsubsection{Example configuration}
\lstinputlisting{code/vtp/example.cfg}
\newpage
\section{Spanning Tree} \section{Spanning Tree}
@ -170,7 +295,6 @@
\subsection{PVST} \subsection{PVST}
\subsection{RPVST+} \subsection{RPVST+}
\subsection{MTP} \subsection{MTP}
\subsection{VTP}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@ -183,6 +307,33 @@
\section{BGP} \section{BGP}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %
% BEGIN LIST OF FIGURES %
% %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\renewcommand{\listfigurename}{List of plots}
\listoffigures
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %
% BEGIN LIST OF TABLES %
% %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\renewcommand{\listtablename}{Tables}
\listoftables
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %
% BEGIN REFERENCES %
% %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\bibliographystyle{unsrt}
\bibliography{unsrt}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% % % %
% END DOCUMENT % % END DOCUMENT %

19
unsrt.bib Normal file
View file

@ -0,0 +1,19 @@
@online{vtpchap4,
ALTauthor = {Hector Camba Lainez},
ALTeditor = {editor},
title = {Cap4 implementing vtp},
date = {Jun 25, 2010},
url = {https://www.slideshare.net/lucky0679/cap4-implementing-vtp},
OPTsubtitle = {subtitle},
OPTtitleaddon = {titleaddon},
OPTlanguage = {language},
OPTversion = {version},
OPTnote = {note},
OPTorganization = {organization},
OPTdate = {22},
OPTmonth = {05},
OPTyear = {2017},
OPTaddendum = {addendum},
OPTpubstate = {pubstate},
OPTurldate = {2017-05-22},
}