Fix some discussed points
This commit is contained in:
parent
72547882be
commit
11e8fb9f3d
2 changed files with 49 additions and 37 deletions
BIN
imgs/Git-Logo-1788C.eps
Normal file
BIN
imgs/Git-Logo-1788C.eps
Normal file
Binary file not shown.
86
slides.tex
86
slides.tex
|
@ -30,7 +30,7 @@ routing protocol}
|
||||||
\href{https://datatracker.ietf.org/doc/draft-bastian-babel-v4ov6/}{
|
\href{https://datatracker.ietf.org/doc/draft-bastian-babel-v4ov6/}{
|
||||||
draft-bastian-babel-v4ov6}}
|
draft-bastian-babel-v4ov6}}
|
||||||
\author[\slidecountline]
|
\author[\slidecountline]
|
||||||
{Théophile Bastian, Juliusz Chroboczek}
|
{Théophile Bastian, joint work with Juliusz Chroboczek}
|
||||||
\date{}
|
\date{}
|
||||||
%\subject{}
|
%\subject{}
|
||||||
%\logo{}
|
%\logo{}
|
||||||
|
@ -44,29 +44,30 @@ draft-bastian-babel-v4ov6}}
|
||||||
\maketitle{}
|
\maketitle{}
|
||||||
|
|
||||||
\begin{frame}{Traditional routing}
|
\begin{frame}{Traditional routing}
|
||||||
\begin{align*}
|
|
||||||
\text{Network prefix (IPvX)} \quad &\longrightarrow
|
|
||||||
\quad \text{Next-Hop (IPvX)}
|
|
||||||
\end{align*}
|
|
||||||
|
|
||||||
\pause{}
|
|
||||||
|
|
||||||
\begin{table}
|
\begin{table}
|
||||||
\centering
|
\centering
|
||||||
\textbf{IPv4 routing table} \\
|
\textbf{IPv4 routing table} \\
|
||||||
\medskip
|
\medskip
|
||||||
\begin{tabular}{@{} lcl @{}}
|
\begin{tabular}{@{} lcl @{}}
|
||||||
\toprule
|
\toprule
|
||||||
Prefix & $\rightarrow$ & Next-Hop \\
|
Network Prefix (IPvX) & $\rightarrow$ & Next-Hop (IPvX)\\
|
||||||
\midrule
|
\midrule
|
||||||
default & & 10.42.0.254 \\
|
default & & 10.42.0.254 \\
|
||||||
10.102.0.0/16 & & 10.102.0.1 \\
|
10.102.0.0/16 & & 10.102.0.1 \\
|
||||||
10.102.10.0/24 & & 10.102.10.1 \\
|
10.102.0.0/24 & & 10.102.0.2 \\
|
||||||
\only<3>{10.0.0.0/8 & & % \makebox[0pt]{\color{red}---}
|
10.0.0.0/8 & & \xcancel{fd80:1::1} \\
|
||||||
\xcancel{fd80:1::1}} \\
|
|
||||||
\bottomrule
|
\bottomrule
|
||||||
\end{tabular}
|
\end{tabular}
|
||||||
\end{table}
|
\end{table}
|
||||||
|
|
||||||
|
\vspace{1em}
|
||||||
|
|
||||||
|
\begin{itemize}
|
||||||
|
\item \textbf{Control plan:} \alert{babel}, routing protocol.
|
||||||
|
\alert{Fills the routing table}.
|
||||||
|
\item \textbf{Data plan:} correctly forward incoming packets.
|
||||||
|
\alert{Uses the routing table}.
|
||||||
|
\end{itemize}
|
||||||
\end{frame}
|
\end{frame}
|
||||||
|
|
||||||
\begin{frame}{The router's job}
|
\begin{frame}{The router's job}
|
||||||
|
@ -76,7 +77,7 @@ draft-bastian-babel-v4ov6}}
|
||||||
\end{figure}
|
\end{figure}
|
||||||
\end{frame}
|
\end{frame}
|
||||||
|
|
||||||
\begin{frame}{What's under the hull?}
|
\begin{frame}{What's under the hood?}
|
||||||
\begin{figure}
|
\begin{figure}
|
||||||
\centering
|
\centering
|
||||||
\only<1>{\includegraphics[width=\columnwidth]{imgs/_autogen/mac/01.pdf}}
|
\only<1>{\includegraphics[width=\columnwidth]{imgs/_autogen/mac/01.pdf}}
|
||||||
|
@ -93,7 +94,12 @@ draft-bastian-babel-v4ov6}}
|
||||||
\end{figure}
|
\end{figure}
|
||||||
\end{frame}
|
\end{frame}
|
||||||
|
|
||||||
\begin{frame}{Why would we want this?}
|
\begin{frame}{The idea behind}
|
||||||
|
\textbf{New type of route!} v4 prefix with v6 next-hop: \alert{v4-over-v6
|
||||||
|
route}.
|
||||||
|
|
||||||
|
\vspace{2em}
|
||||||
|
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item Supporting both v4 and v6 is cumbersome: twice the configuration
|
\item Supporting both v4 and v6 is cumbersome: twice the configuration
|
||||||
\item v6-only core, still serve v4 to clients
|
\item v6-only core, still serve v4 to clients
|
||||||
|
@ -103,15 +109,27 @@ draft-bastian-babel-v4ov6}}
|
||||||
\item no need for DHCP or IP addresses configuration \emph{at all}!
|
\item no need for DHCP or IP addresses configuration \emph{at all}!
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|
||||||
|
\vspace{2em}
|
||||||
|
|
||||||
|
\textbf{Not an original idea!} BGP had it first:
|
||||||
|
\href{https://datatracker.ietf.org/doc/draft-ietf-bess-rfc5549revision/}{draft-ietf-bess-rfc5549revision}
|
||||||
\end{frame}
|
\end{frame}
|
||||||
|
|
||||||
\begin{frame}[fragile]{Supported in Linux since 5.2 --~July 2019}
|
\begin{frame}[fragile]{Linux support}
|
||||||
\begin{block}{d1566268 -- 2019-04-05 -- ipv4: Allow ipv6 gateway with ipv4 routes}
|
\textbf{Supported in Linux} since 5.2 --~July 2019!
|
||||||
\quad{}Add support for \lstbash{RTA_VIA} and allow an IPv6 nexthop for v4
|
|
||||||
routes.
|
|
||||||
\end{block}
|
|
||||||
|
|
||||||
\vspace{1em}
|
\begin{minipage}[c]{0.1\textwidth}
|
||||||
|
\includegraphics[height=1.2em]{imgs/Git-Logo-1788C}
|
||||||
|
\end{minipage}
|
||||||
|
\begin{minipage}[c]{0.85\textwidth}
|
||||||
|
\begin{block}{d1566268 -- 2019-04-05 -- ipv4: Allow ipv6 gateway with ipv4 routes}
|
||||||
|
\quad{}Add support for \lstbash{RTA_VIA} and allow an IPv6 nexthop for v4
|
||||||
|
routes.
|
||||||
|
\end{block}
|
||||||
|
\end{minipage}
|
||||||
|
|
||||||
|
\vspace{2em}
|
||||||
|
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item{} Usually, add a v4 route with
|
\item{} Usually, add a v4 route with
|
||||||
|
@ -141,6 +159,17 @@ draft-bastian-babel-v4ov6}}
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
\end{frame}
|
\end{frame}
|
||||||
|
|
||||||
|
\begin{frame}{Backwards compatibility}
|
||||||
|
\textbf{An unextended node must}
|
||||||
|
|
||||||
|
\begin{itemize}
|
||||||
|
\item Be able to \alert{ignore v4-over-v6 routes}
|
||||||
|
\item \alert{Route correctly} pure v4 and v6
|
||||||
|
\end{itemize}
|
||||||
|
|
||||||
|
\todo{Choices considered}
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
\begin{frame}{Introducing a new AE}
|
\begin{frame}{Introducing a new AE}
|
||||||
In Babel, \alert{Address Encodings} (AEs) define the type of address/prefix
|
In Babel, \alert{Address Encodings} (AEs) define the type of address/prefix
|
||||||
contained in a TLV.
|
contained in a TLV.
|
||||||
|
@ -157,23 +186,6 @@ draft-bastian-babel-v4ov6}}
|
||||||
introduced.
|
introduced.
|
||||||
\end{frame}
|
\end{frame}
|
||||||
|
|
||||||
\begin{frame}{Backwards compatibility}
|
|
||||||
\textbf{With older implementations}
|
|
||||||
\begin{itemize}
|
|
||||||
\item Ignore v4-over-v6 routes
|
|
||||||
\item No state updates missed
|
|
||||||
\end{itemize}
|
|
||||||
|
|
||||||
\vspace{2em}
|
|
||||||
|
|
||||||
\textbf{With older kernels}
|
|
||||||
\begin{itemize}
|
|
||||||
\item Won't advertise a route that cannot be locally set
|
|
||||||
\item In babeld, detect kernel version
|
|
||||||
\end{itemize}
|
|
||||||
\end{frame}
|
|
||||||
|
|
||||||
|
|
||||||
%%%%%%%%%%% Conclusion frame %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
%%%%%%%%%%% Conclusion frame %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
|
||||||
\begin{frame}{}
|
\begin{frame}{}
|
||||||
|
|
Loading…
Reference in a new issue