Write MPLS
This commit is contained in:
parent
8527cdd8b4
commit
0e8e66751a
2 changed files with 151 additions and 16 deletions
|
@ -101,6 +101,9 @@
|
|||
\@addtoreset{chapter}{part}
|
||||
\makeatother
|
||||
|
||||
\usepackage{tikz}
|
||||
\usetikzlibrary{shapes}
|
||||
|
||||
\usepackage{letltxmacro}
|
||||
\LetLtxMacro{\normalparagraph}{\paragraph}
|
||||
\renewcommand{\paragraph}[1]{\normalparagraph{#1}\mbox{}}
|
||||
|
|
|
@ -20,7 +20,92 @@
|
|||
|
||||
Le routage se fait à l'entrée du réseau.
|
||||
À l'intérieur du réseau, on a une plus grande rapidité~: l'intelligence se trouve aux extrémités du réseau.
|
||||
\gls{mpls} permet également un mariage facile d'\gls{ip} avec des technologies de niveau 2 telles qu'\gls{atm} par l'ajout d'une couche très simple sur \gls{ip}.
|
||||
|
||||
\subsection{La commutation de label}
|
||||
|
||||
\begin{center}
|
||||
\begin{tikzpicture}
|
||||
|
||||
\node (site_a) at (-5,0) {Site A};
|
||||
\node[rectangle,draw] (ler_a) at (-3,0) {\acrshort{ler}};
|
||||
\node[circle,draw] (lsr) at (0,0) {\acrshort{lsr}};
|
||||
\node[rectangle,draw] (ler_b) at (3,0) {\acrshort{ler}};
|
||||
\node (site_b) at (5,0) {Site B};
|
||||
\draw (site_a) -- (ler_a) -- (lsr) -- (ler_b) -- (site_b);
|
||||
|
||||
\node (ler_a_ins) at (-3,-2) {\parbox{3cm}{\centering
|
||||
\begin{tabular}{|c|c|}
|
||||
\hline
|
||||
& IP \\
|
||||
\hline
|
||||
IP & L48 \\
|
||||
\hline
|
||||
ETH & ETH \\
|
||||
\hline
|
||||
PHY & PHY \\
|
||||
\hline
|
||||
\end{tabular}
|
||||
}};
|
||||
\draw[-latex,very thick] (ler_a_ins) -- (ler_a);
|
||||
|
||||
\node (lsr_ins) at (0,-2) {\parbox{3cm}{\centering
|
||||
\begin{tabular}{|c|c|}
|
||||
\hline
|
||||
L48 & L52 \\
|
||||
\hline
|
||||
ETH & ETH \\
|
||||
\hline
|
||||
PHY & PHY \\
|
||||
\hline
|
||||
\end{tabular}
|
||||
}};
|
||||
\draw[-latex,very thick] (lsr_ins) -- (lsr);
|
||||
|
||||
\node (ler_b_ins) at (3,-2) {\parbox{3cm}{\centering
|
||||
\begin{tabular}{|c|c|}
|
||||
\hline
|
||||
IP & \\
|
||||
\hline
|
||||
L52 & IP \\
|
||||
\hline
|
||||
ETH & ETH \\
|
||||
\hline
|
||||
PHY & PHY \\
|
||||
\hline
|
||||
\end{tabular}
|
||||
}};
|
||||
\draw[-latex,very thick] (ler_b_ins) -- (ler_b);
|
||||
|
||||
\end{tikzpicture}
|
||||
\end{center}
|
||||
|
||||
\subsubsection{L'en-tête \gls{mpls}}
|
||||
|
||||
\begin{tabularx}{\linewidth}{|Y|c|c|Y|}
|
||||
\hline
|
||||
Label & CoS & S & TTL \\
|
||||
\hline
|
||||
20\glspl{bit} & 3\glspl{bit} & 1\gls{bit} & 8\glspl{bit} \\
|
||||
\end{tabularx}
|
||||
|
||||
\subsubsection{Fonctionnement}
|
||||
|
||||
\gls{mpls} permet également un mariage facile d'\gls{ip} avec des technologies de niveau 2 telles qu'\gls{atm} par l'ajout d'une couche très simple sur \gls{ip}.
|
||||
|
||||
Le trafic de base est présenté au \gls{ler}, où les labels sont mis en place.
|
||||
Ces paquets sont envoyés au travers des \gls{lsp-mpls} aux \gls{lsr}, où les labels sont traités.
|
||||
|
||||
En sortie de réseau \gls{mpls} (\gls{egress} to the network), le \gls{ler} enlève les labels et délivre les paquets \gls{ip}.
|
||||
|
||||
Il est possible de gérer un trafic à travers plusieurs réseaux, en empilant les labels pour créer un tunnel.
|
||||
|
||||
\subsubsection{Étapes}
|
||||
|
||||
\begin{enumerate}
|
||||
\item Push --- À l'arrivé dans le réseau \gls{mpls} (\gls{ingress} network), le \gls{ler} affecte un label et l'insère entre les couches~\ref{itm:osi2} et~\ref{itm:osi3}.
|
||||
\item Swap --- À chaque passage de \gls{lsr}, le label est échangé suivant la table de commutation du \gls{lsr}.
|
||||
\item Pop --- En sortie de réseau \gls{mpls} (\gls{egress} network), le label est retiré.
|
||||
\end{enumerate}
|
||||
|
||||
\subsection{Les \acrshort{fec}}
|
||||
|
||||
|
@ -38,27 +123,74 @@
|
|||
|
||||
Une \gls{fec} est associée à un label local dans chaque \gls{lsr}.
|
||||
|
||||
\subsubsection{Distribution des labels}
|
||||
\subsection{Distribution des labels}
|
||||
|
||||
Le \gls{ldp} est du routage implicite.
|
||||
C'est un protocole de distribution des labels \emph{hop by hop}.
|
||||
La table de commutation de labels est construite sur chaque routeur.
|
||||
Il se base sur le protocole de routage interne pour le routage.
|
||||
Le \gls{ldp} est du routage implicite.
|
||||
C'est un protocole de distribution des labels \emph{hop by hop}.
|
||||
La table de commutation de labels est construite sur chaque routeur.
|
||||
Il se base sur le protocole de routage interne pour le routage.
|
||||
|
||||
\subsubsection{Downstream on-demand}
|
||||
|
||||
Il s'agit d'une demande de label qu'on recevra.
|
||||
|
||||
\subsubsection{Downstream unsolicited}
|
||||
|
||||
Il s'agit de l'envoi de label.
|
||||
|
||||
\subsubsection{Connexion \gls{ldp}}
|
||||
|
||||
\gls{ldp} est bidirectionnel et découvre les n\oe{}uds adjacents de manière dynamique grâce à des messages \texttt{Hello} échangés par \acrshort{udp}.
|
||||
Une fois que les n\oe{}uds se sont découverts, ils établissent une session \acrshort{tcp}.
|
||||
|
||||
\subsubsection{Rétention des labels}
|
||||
\subsection{Rétention des labels}
|
||||
|
||||
Il y a deux modes~:
|
||||
Il y a deux modes~:
|
||||
|
||||
\begin{enumerate}
|
||||
\item Le mode \emph{liberal} --- Un \gls{lsr} conserve tous les labels annoncés, même ceux non utilisés.
|
||||
La convergence est rapide mais ce mode est consommateur en mémoire.
|
||||
Ce mode est utilisé en mode \emph{Downstream Unsolicited}.
|
||||
\item Le mode \emph{conservative} --- Les \gls{lsr} conservent seulement les labels reçus des next-hop pour chaque \gls{fec}.
|
||||
La convergence est plus lente, mais peu de mémoire est consommée.
|
||||
Ce mode est utilisé en mode \emph{Downstream On Demand}.
|
||||
\end{enumerate}
|
||||
\begin{enumerate}
|
||||
\item Le mode \emph{liberal} --- Un \gls{lsr} conserve tous les labels annoncés, même ceux non utilisés.
|
||||
La convergence est rapide mais ce mode est consommateur en mémoire.
|
||||
Ce mode est utilisé en mode \emph{Downstream unsolicited}.
|
||||
\item Le mode \emph{conservative} --- Les \gls{lsr} conservent seulement les labels reçus des next-hop pour chaque \gls{fec}.
|
||||
La convergence est plus lente, mais peu de mémoire est consommée.
|
||||
Ce mode est utilisé en mode \emph{Downstream on-demand}.
|
||||
\end{enumerate}
|
||||
|
||||
\subsection{Établissement d'un \gls{lsp-mpls}}
|
||||
|
||||
Un \gls{lsr} lie un label à une \gls{fec}~:
|
||||
|
||||
\begin{itemize}
|
||||
\item S'il est le \gls{egress} \gls{ler}.
|
||||
\item S'il a déjà reçu une association label/\gls{fec} du prochain saut pour cette \gls{fec}.
|
||||
\end{itemize}
|
||||
|
||||
\begin{itemize}
|
||||
|
||||
\item En mode \emph{Downstream unsolicited}~:
|
||||
|
||||
\begin{center}
|
||||
\begin{tikzpicture}
|
||||
\node[rectangle,draw,thick] (iler) at (-5,0) {\acrshort{iler}};
|
||||
\node[rectangle,draw,thick] (lsr) at (0,0) {\acrshort{lsr}};
|
||||
\node[rectangle,draw,thick] (eler) at (5,0) {\acrshort{eler}};
|
||||
\draw[-latex] (eler) -- (lsr) node[above,midway] {\small 1. label mapping};
|
||||
\draw[-latex] (lsr) -- (iler) node[above,midway] {\small 2. label mapping};
|
||||
\end{tikzpicture}
|
||||
\end{center}
|
||||
|
||||
\item En mode \emph{Downstream on-demand}~:
|
||||
|
||||
\begin{center}
|
||||
\begin{tikzpicture}
|
||||
\node[rectangle,draw,thick] (iler) at (-5,0) {\acrshort{iler}};
|
||||
\node[rectangle,draw,thick] (lsr) at (0,0) {\acrshort{lsr}};
|
||||
\node[rectangle,draw,thick] (eler) at (5,0) {\acrshort{eler}};
|
||||
\draw[-latex] (iler.north east) -- (lsr.north west) node[above,midway] {\small 1. label request};
|
||||
\draw[-latex] (lsr.north east) -- (eler.north west) node[above,midway] {\small 2. label request};
|
||||
\draw[-latex] (eler.south west) -- (lsr.south east) node[below,midway] {\small 3. label mapping};
|
||||
\draw[-latex] (lsr.south west) -- (iler.south east) node[below,midway] {\small 4. label mapping};
|
||||
\end{tikzpicture}
|
||||
\end{center}
|
||||
|
||||
\end{itemize}
|
||||
|
|
Loading…
Reference in a new issue