Fix some discussed points

This commit is contained in:
Théophile Bastian 2020-07-25 13:01:56 +02:00
parent 72547882be
commit 11e8fb9f3d
2 changed files with 49 additions and 37 deletions

BIN
imgs/Git-Logo-1788C.eps Normal file

Binary file not shown.

View file

@ -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}{}