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:
commit
d14234b4a6
29
LICENSE
Normal file
29
LICENSE
Normal 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
1
code/vtp/example.cfg
Normal file
|
@ -0,0 +1 @@
|
||||||
|
# Code goes here
|
BIN
img/vtp/implementing-vtp.jpg
Normal file
BIN
img/vtp/implementing-vtp.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 95 KiB |
BIN
img/vtp/vtp-pruning.png
Normal file
BIN
img/vtp/vtp-pruning.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 201 KiB |
185
main.tex
185
main.tex
|
@ -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
19
unsrt.bib
Normal 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},
|
||||||
|
}
|
Loading…
Reference in a new issue