%Notizen:
%Gliederung:
% - IP --> Internet Protocol
%
\section{IP}
	Das Internet Protocol ist die erste vom Übertragungsmedium unabhängige Schicht. Mithilfe von IP-Adresse und Subnetzmaske (Präfixlänge für IPv6) können Computer innerhalb eines Netzwerks logisch gruppiert werden.

\subsection{IPv4}
	IPv4 is die erste Version des Internet Protocols, welche weltweit verbreitet und eingesetzt wurde, und bildet eine wichtige technische Grundlage des Internets.
	
	\subsubsection{Adressformat}
		Eine IPv4 Adresse besteht aus 4 dezimalen Zahlenblöcken bestehend aus jeweils 8 Bit (0-255). Mit 32 Bit können maximal $ 2^{32} = 4.294.967.296 $ Adressen vergeben werden.
	
	\subsubsection{Netzklassen}
		Vor 1993 gab es fest vorgeschriebene Einteilungen für Netzwerkklassen mit einer festen Länge. 
		Diese Einteilung ist sehr unflexibel, weshalb vorallem im WAN hauptsächlich das CIDR (Classless Inter-Domain Routing) Verfahren genutzt wird. Netzklassen werden jedoch immer noch häufig im lokalen Netz genutzt.  \\
		
		Die maximale Anzahl der zu vergebenen Host-Adressen in einem Netz ist:
		\[ 2^{Anzahl Bits der Hostadresse} - 2 \]
		Dabei wird die Netz- und Broadcastadresse abgezogen. Wenn nach max. Anzahl der PCs im Netz gefragt wird, sollte $- 3$ gerechnet werden und damit das Gateway abgezogen werden.
		
		\begin{figure}[ht!]
			\centering
			\includegraphics[scale=0.55]{netzklassen.jpg}
		\end{figure}
	
	\subsubsection{Classless Inter-Domain Routing (CIDR)}
	
	
\subsection{IPv6}
	\subsubsection{Gründe für IPv6}
		IPv4 verfügt über weniger Adressen wie es Menschen auf der Welt gibt. Da mittlerweile ein Großteil der Menschen über mindestens ein Netzwerkfähiges Gerät verfügen stößt IPv4 mit $ 2^{32} = 4.294.967.296 $ an seine Grenzen.
		
	\subsubsection{Struktur der Adressen und Begriffe}
		Eine IPv6 besteht aus 128 Bit (8 Blöcke * 16 Bits) was theoretisch $ 2^128 $ Adressen entspricht. Die ersten 64 Bit bilden den Präfix, die letzten 64 Bit bilden einen für die Netzwerkschnittstelle eindeutigen Interface-Identifier. Eine Netzwerkschnittstelle kann unter mehreren IP-Adressen erreichbar sein mittels link-local Adressen und einer überall eindeutigen link-global Adresse. Derselbe Interface-Identifier kann damit Teil mehrerer IPv6 Adressen mit verschiedenen Präfixen sein. Diese können auch von verschiedenen ISPs kommen, was Multihoming vereinfacht. Der Interface-Identifier wird mit Hilfe der global eindeutigen MAC-Adresse erzeugt, wodurch die Nachverfolgung von Benutzern ermöglicht wird. Um dies aufzuheben wurden Privacy Extensions (PEX) entwickelt, welche den Interface-Identifier zufällig generieren und regelmäßig wechseln.
		
	\subsubsection{Adressnotation}
		\begin{itemize}
			\item Blöcke werden Hexadezimal notiert $ \Rightarrow $ 16 Bit entsprechen 4 Hexadezimal Stellen
			\item Führende Nullen innerhalb eines Blocks dürfen ausgelassen werden: ?:0000:? $ \Rightarrow $ ?:0:?
			\item Mehrere Blöcke die 0 sind, dürfen zusammengefasst werden: ?:0:0:? $ \Rightarrow $ ?::? Diese Reduktion darf nur einmal gemacht werden
			\item Die letzten 4 Byte (der letzte Block) darf auch in herkömmlicher IPv4 Notation geschrieben werden: ::ffff:7f00:1 $ \Rightarrow $ alternative ::ffff:127.0.0.1 Diese Schreibweise wird vor allem bei Einbettung des IPv4-Adressraums verwendet
		\end{itemize}

	\subsubsection{URL-Notation}
		In einer URL wird die IPv6 Adresse in eckige Klammern eingeschlossen, damit keine Verwechslung mit einer Portnummer entsteht:
			\begin{center}
				http://[2001:0db8:85a3:08d3::0370:7344]:8080/  
			\end{center}
		
	\subsubsection{Autokonfiguration (SLAAC)}
	\label{sec:ipv6slaac}
		Mit Hilfe von Stateless Address Autoconfiguration (SLAAC, Zustandslose Adressenautokonfiguration) kann ein Host vollautomatisch eine Internetverbindung aufbauen. Dazu kommuniziert der Host mit dem nächstgelegenen Routern, um die notwendige Konfiguration zu ermitteln.