mirror of
https://gitlab.com/netravnen/NetworkLabNotes.git
synced 2024-09-27 16:09:40 +00:00
42 lines
2.3 KiB
TeX
42 lines
2.3 KiB
TeX
\chapter[IP]{Internet Protocol}
|
|
|
|
\section[IPv6]{Internet Protocol v6}
|
|
|
|
\gls{ipv6} has recently been defined in an updated \rfc{8200} which obsoletes several of the older \gls{rfc} documents regarding \gls{ipv6}.
|
|
|
|
\gls{ipv6} came about in 1998 when the original \rfc{2460} was published. It aims to provide globally route-able addresses (i.e. no need for \gls{nat}) and provides a hierarchical way to allocate address prefixes in a way which makes it simple to do route aggregation\footnote{This helps limits the size of the Internet's global routing table!}.
|
|
|
|
\wikicommons[An illustration of an example IPv6 address with leading zeros in the binary rendering]{ipv6_address_leading_zeros}
|
|
|
|
\subsection{IP to client}
|
|
|
|
Several ways to assign a client an address exists.
|
|
\begin{itemize}
|
|
\item Let the client handle it itself (i.e. \gls{dhcp} server present): \gls{slaac}.
|
|
\begin{itemize}
|
|
\item \gls{icmp6} router discovery messages is used to detect info 'bout the connected network segment.
|
|
\item Upon \textit{link up} client sends link-local solicitation multicast req. for network parameters,
|
|
\item router \textit{responds with} router adv. packet cont. \gls{ip} cfg parameters.
|
|
\end{itemize}
|
|
\item Let the \gls{dhcp} server assign \textit{partial} info to the client.
|
|
\item Let the \gls{dhcp} server assign \textit{every} info to the client.
|
|
\end{itemize}
|
|
|
|
\textbf{Privacy} is a large concern regarding \gls{ipv6} because of the globally unique address the client posses.
|
|
|
|
Implementation to do privacy regarding the host bits of an \gls{ip6} has been done to protect the clients (and users) from being tracked. Alas, if the \gls{isp} do static prefix assignments to end users. This privacy protection may be somewhat unusable. As the network prefix will always remain the same. Regardless of the host-bits being changed often.
|
|
|
|
Have 3 different forms:
|
|
\begin{enumerate}
|
|
\item 2001:0db8:0000:0000:0000:ff00:0042:8329,
|
|
\item 2001:db8:0:0:0:ff00:42:8329, {\footnotesize (i.e. remove leading zeroes per group delimited by colon)}
|
|
\item 2001:db8::ff00:42:8329. {\footnotesize (i.e. remove groups containing all zeroes in succession after each other) (only done \textit{once!}}
|
|
\end{enumerate}
|
|
|
|
\subsection{Packet Header}
|
|
|
|
\wikicommons{Ipv6_header}
|
|
|
|
\subsection{Multicast}
|
|
|
|
\section[IPv4]{Internet Protocol v4} |