diff --git a/documentation/linux_configuration.pdf b/documentation/linux_configuration.pdf index 1852652..44d7346 100644 Binary files a/documentation/linux_configuration.pdf and b/documentation/linux_configuration.pdf differ diff --git a/documentation/linux_configuration.tex b/documentation/linux_configuration.tex index c10f092..0cff5ba 100644 --- a/documentation/linux_configuration.tex +++ b/documentation/linux_configuration.tex @@ -4771,4 +4771,237 @@ Verzögerung. Es nutzt die Round-Trip-Zeit, um die Alpha- und Beta-Parameter anz durchschnittlichen Durchsatz zu erreichen und Fairness zu wahren. Für weitere Einzelheiten siehe: \url{http://www.ews.uiuc.edu/~shaoliu/tcpillinois/index.html} +\subparagraph{DataCenter TCP (DCTCP)}$~$\\ +CONFIG\_TCP\_CONG\_DCTCP [=m] \textbf{[M]}\\* +DCTCP nutzt die explizite Überlastungsanzeige (Explicit Congestion Notification, ECN) im Netz, um den Endhosts ein +Multi-Bit-Feedback zu geben. Es wurde entwickelt, um Folgendes zu bieten: +\begin{itemize} + \item[-] Hohe Burst-Toleranz (Incast aufgrund von Partition/Aggregat), +\item[-] Geringe Latenz (kurze Flüsse, Abfragen), +\item[-] hohen Durchsatz (kontinuierliche Datenaktualisierungen, große Dateiübertragungen) mit + handels"-üblichen, flach gepufferten Switches. +\end{itemize} +Alle Switches im Rechenzentrumsnetz, auf denen DCTCP läuft, müssen die ECN-Kenn"-zeichnung unterstützen und so +konfiguriert sein, dass sie bei Erreichen bestimmter Switch-Pufferschwellenwerte ge"-kenn"-zeichnet werden. +Die Standardheuristik für die ECN-Markierungsschwelle für DCTCP auf Switches liegt bei 20 Paketen (30 KB) bei 1 Gbps +und 65 Paketen ($\approx$ 100 KB) bei 10 Gbps, muss aber möglicherweise noch weiter optimiert werden.\\ +Weitere Einzelheiten siehe:\\ +\url{http://simula.stanford.edu/~alizade/Site/DCTCP\_files/dctcp-final.pdf} + +\subparagraph{CAIA Delay-Gradient (CDG)}$~$\\ +CONFIG\_TCP\_CONG\_CDG [=m] \textbf{[M]}\\* +CAIA Delay-Gradient (CDG) ist eine TCP-Überlastungskontrolle, die den TCP-Sender modifiziert, um: +\begin{itemize} + \item[o] Verwendung des Verzögerungsgradienten als Überlastungssignal. + \item[o] mit einer durchschnittlichen Wahrscheinlichkeit, die unabhängig von der RTT ist, zurückzufahren. + \item[o] mit Datenströmen zu koexistieren, die eine verlustbasierte Staukontrolle verwenden. + \item[o] Paketverluste zu tolerieren, die nicht mit der Überlastung zusammenhängen. +\end{itemize} +Für weitere Einzelheiten siehe:\\ +D.A. Hayes und G. Armitage. "Revisiting TCP congestion control using delay gradients".\\ +In Networking 2011. Preprint: \url{http://goo.gl/No3vdg} + +\subparagraph{BBR TCP}$~$\\ +CONFIG\_TCP\_CONG\_BBR [=m] \textbf{[M]}\\* +BBR (Bottleneck Bandwidth and RTT) Die TCP-Überlastungssteuerung zielt darauf ab, die Netzauslastung zu maximieren und Warteschlangen +zu minimieren. Sie erstellt ein explizites Modell der Bottleneck-Zustellrate und der Umlaufverzögerung des Pfades. +Sie toleriert Paketverluste und Verzögerungen, die nicht mit der Überlastung zusammenhängen. Es kann über LAN-, WAN-, Mobilfunk-, +WLAN- oder Kabelmodem-Verbindungen arbeiten. Es kann mit Datenströmen koexistieren, die eine verlustbasierte Staukontrolle verwenden, +und es kann mit flachen Puffern, tiefen Puffern, Bufferbloat, Policern oder AQM-Schemata arbeiten, die kein Verzögerungssignal liefern. +Es erfordert den \texttt{fq} (\glqq Fair Queue\grqq{}) Pacing Packet Scheduler. + +\subparagraph{Default TCP congestion control () \texorpdfstring{$\rightarrow$}{->}}$~$\\ +Wählen Sie die TCP-Überlastungssteuerung aus, die standardmäßig für alle Verbindungen verwendet werden soll. + +\leftskip8em +\subparagraph*{Cubic}$~$\\ +CONFIG\_DEFAULT\_CUBIC [=y] \textbf{[Y]}\\* +Für diese Option ist keine Hilfe vorhanden. +\leftskip8em +\subparagraph*{Reno}$~$\\ +CONFIG\_DEFAULT\_RENO [=n] \textbf{[N]}\\* +Für diese Option ist keine Hilfe vorhanden. + +\leftskip0em +\paragraph{TCP: MD5 Signature Option support (RFC~2385)}$~$\\ +CONFIG\_TCP\_MD5SIG [=y] \textbf{[Y]}\\* +RFC2385 spezifiziert eine Methode zum MD5-Schutz von TCP-Sitzungen. Die wichtigste (einzige?) Anwendung ist der Schutz von BGP-Sitzungen +zwischen Core-Routern im Internet. +Wenn Sie unsicher sind, sagen Sie N. + +\paragraph{The IPv6 protocol}$~$\\ +CONFIG\_IPV6 [=y] \textbf{[Y]}\\* +Unterstützung für die IP Version 6 (IPv6).\\ +Allgemeine Informationen über IPv6 finden Sie unter \url{https://en.wikipedia.org/wiki/IPv6}. +Spezielle Informationen über IPv6 unter Linux finden Sie unter Documentation/networking/ipv6.rst und lesen Sie das HOWTO unter +\url{https://www.tldp.org/HOWTO/Linux+IPv6-HOWTO/}\\ +Um diese Protokollunterstützung als Modul zu kompilieren, wählen Sie hier M: Das Modul wird \texttt{ipv6} heißen. + +\subparagraph{IPv6: Router Preference (RFC~4191) support}$~$\\ +CONFIG\_IPV6\_IOAM6\_LWTUNNEL [=y] \textbf{[Y]}\\* +Die Router-Präferenz ist eine optionale Erweiterung der Router-Advertisement-Nachricht, die die Fä"-hig"-keit der Hosts verbessert, +einen geeigneten Router auszuwählen, insbesondere wenn die Hosts in einem Netz mit mehreren Hosts untergebracht sind. +Wenn Sie unsicher sind, sagen Sie N. + +\leftskip3em +\subparagraph*{IPv6: Router Information (RFC~4191) support}$~$\\ +CONFIG\_IPV6\_ROUTE\_INFO [=y] \textbf{[Y]}\\* +Unterstützung von Routeninformationen. +Wenn Sie unsicher sind, sagen Sie N. + +\leftskip0em + +\subparagraph{IPv6: Enable RC~4429 Optimistic DAD}$~$\\ +CONFIG\_IPV6\_OPTIMISTIC\_DAD [=y] \textbf{[Y]}\\* +Unterstützung für die optimistische Erkennung von doppelten Adressen. Dadurch können automatisch konfigurierte Adressen schneller verwendet werden. +Wenn Sie unsicher sind, sagen Sie N. + +\subparagraph{IPv6: AH transformation}$~$\\ +CONFIG\_INET6\_AH [=m] \textbf{[M]}\\* +Unterstützung für IPsec AH (Authentication Header). +AH kann mit verschiedenen Authentifizierungsalgorithmen verwendet werden. Diese Option aktiviert nicht nur die AH-Unterstützung selbst, +sondern auch die generischen Implementierungen der Algorithmen, die nach RFC~8221 implementiert werden MÜSSEN. +Wenn Sie andere Algorithmen benötigen, müssen Sie diese in der Krypto-API aktivieren. Sie sollten auch beschleunigte Implementierungen +aller benötigten Algorithmen aktivieren, sofern verfügbar. +Wenn Sie unsicher sind, sagen Sie Y für Ja. + +\subparagraph{IPv6: ESP transformation}$~$\\ +CONFIG\_INET6\_ESP [=m] \textbf{[M]}\\* +Unterstützung für IPsec ESP (Encapsulating Security Payload). +ESP kann mit verschiedenen Ver"-schlüs"-selungs"= und Authentifizierungsalgorithmen verwendet werden. Diese Option aktiviert nicht nur die +ESP-Unterstützung selbst, sondern auch die generischen Implementierungen der Algorithmen, die nach RFC~8221 implementiert werden MÜSSEN. +Wenn Sie andere Algorithmen benötigen, müssen Sie diese in der Krypto-API aktivieren. Sie sollten auch beschleunigte Implementierungen +aller benötigten Algorithmen aktivieren, sofern verfügbar. +Wenn Sie unsicher sind, sagen Sie Y für Ja. + +\leftskip3em +\subparagraph*{IPv6: ESP transformation offload}$~$\\ +CONFIG\_INET6\_ESP [=m] \textbf{[M]}\\* +Unterstützung für ESP-Transformationsoffload. Dies ist nur dann sinnvoll, wenn das System wirklich IPsec verwendet und einen hohen +Durchsatz erzielen möchte. Ein typisches Desktop-System braucht dies nicht, selbst wenn es IPsec verwendet. +Wenn Sie unsicher sind, sagen Sie N. + +\subparagraph*{IPv6: ESP in TCP encapsulation (RFC~8229)}$~$\\ +CONFIG\_INET6\_ESPINTCP [=y] \textbf{[Y]}\\* +Unterstützung für die RFC~8229-Kapselung von ESP und IKE über TCP/IPv6-Sockets. +Wenn Sie unsicher sind, sagen Sie N. + +\leftskip0em + +\subparagraph{IPv6: IPComp transformation}$~$\\ +CONFIG\_INET6\_IPCOMP [=m] \textbf{[M]}\\* +Unterstützung für IP Payload Compression Protocol (IPComp) (RFC~3173), typischerweise erforderlich für IPsec. +Wenn Sie unsicher sind, sagen Sie Y. + +\subparagraph{IPv6: Mobility}$~$\\ +CONFIG\_IPV6\_MIP6 [=m] \textbf{[M]}\\* +Unterstützung für IPv6-Mobilität, beschrieben in RFC~3775.\\ +Wenn Sie unsicher sind, sagen Sie N. + +\subparagraph{IPv6: Identifier Locator Addressing (ILA)}$~$\\ +CONFIG\_IPV6\_ILA [=m] \textbf{[M]}\\* +Unterstützung für IPv6 Identifier Locator Addressing (ILA). +ILA ist ein Mechanismus zur Netzwerkvirtualisierung ohne Verkapselung. Das Grundkonzept von ILA besteht darin, dass wir eine +IPv6-Adresse in einen 64-Bit-Locator und einen 64-Bit-Identifier aufteilen. Der Bezeichner ist die Identität einer Entität in der +Kommunikation (\glqq who\grqq{}) und der Locator drückt den Standort der Entität (\glqq where\grqq{}) aus. +ILA kann unter Verwendung der Option \texttt{encap ila} mit dem Befehl \texttt{ip -6 route} konfiguriert werden.\\ +ILA wird in \url{https://tools.ietf.org/html/draft-herbert-nvo3-ila-00} beschrieben. Wenn Sie unsicher sind, sagen Sie N. + +\subparagraph{Virtual (secure) IPv6: tunneling}$~$\\ +CONFIG\_IPV6\_VTI [=m] \textbf{[M]}\\* +Tunneling bedeutet, dass Daten eines Protokolltyps in ein anderes Protokoll eingekapselt und über einen Kanal gesendet werden, +der das einkapselnde Protokoll versteht. Dies kann mit xfrm mode tunnel verwendet werden, um die Vorstellung eines sicheren +Tunnels für IPSEC zu vermitteln und dann ein Routing-Protokoll darüber zu legen. + +\subparagraph{IPv6: IPv6-in-IPv4 tunnel (SIT driver)}$~$\\ +CONFIG\_IPV6\_SIT [=m] \textbf{[M]}\\* +Tunneling bedeutet, dass Daten eines Protokolltyps in ein anderes Protokoll eingekapselt und über einen Kanal gesendet werden, +der das einkapselnde Protokoll versteht. Dieser Treiber implementiert die Einkapselung von IPv6 in IPv4-Pakete. Dies ist +nützlich, wenn Sie zwei IPv6-Netzwerke über einen reinen IPv4-Pfad verbinden wollen. Wenn Sie hier M sagen, wird ein Modul +namens \texttt{sit} erzeugt. Wenn Sie unsicher sind, sagen Sie Y. + +\leftskip3em +\subparagraph*{IPv6: IPv6 Rapid Deployment (6RD)}$~$\\ +CONFIG\_IPV6\_SIT\_6RD [=y] \textbf{[Y]}\\* +IPv6 Rapid Deployment +(6rd; draft-ietf-softwire-ipv6-6rd) baut auf den Mechanismen +von 6to4 (RFC~3056) auf, um Dienste"-anbieter +in die Lage zu versetzen, IPv6"=Unicast"=Dienste schnell an IPv4"=Standorten einzurichten, für die sie Kundengeräte bereitstellen. +Wie 6to4 verwendet es zustandsloses IPv6 in einer IPv4"=Kapselung, um eine reine IPv4"=Netz"-infra"-struktur zu durch"-queren. +Im Gegensatz zu 6to4 verwendet ein 6rd"=Dienstanbieter ein eigenes IPv6"=Präfix anstelle des festen 6to4"=Präfixes. +Wenn diese Option aktiviert ist, bietet der SIT"=Treiber 6rd"=Funktionalität, indem er eine zusätzliche ioctl"=API zur Konfiguration +des IPv6-Präfixes anstelle des statischen 2002::/16 für 6to4 bereitstellt.\\* +Wenn Sie unsicher sind, sagen Sie N. + +\leftskip0em + +\subparagraph{IPv6: IP-in-IPv6 tunnel (RFC~2473)}$~$\\ +CONFIG\_IPV6\_TUNNEL [=m] \textbf{[M]}\\* +Unterstützung für IPv6-in-IPv6- und IPv4-in-IPv6-Tunnel, beschrieben in RFC~2473. +Wenn Sie unsicher sind, sagen Sie N. + +\subparagraph{IPv6: GRE tunnel (RFC~2473)}$~$\\ +CONFIG\_IPV6\_GRE [=m] \textbf{[M]}\\* +Tunneling bedeutet, dass Daten eines Protokolltyps in ein anderes Protokoll eingekapselt und über einen Kanal gesendet werden, +der das einkapselnde Protokoll versteht. Dieser spezielle Tunneling-Treiber implementiert GRE (Generic Routing Encapsulation) +und ermöglicht derzeit die Verkapselung von IPv4 oder IPv6 über eine bestehende IPv6-Infrastruktur. Dieser Treiber ist nützlich, +wenn der andere Endpunkt ein Cisco-Router ist: Cisco mag GRE viel lieber als den anderen Linux-Tunneltreiber +(\glqq IP-Tunneling\grqq{} oben). Außerdem erlaubt GRE die Umverteilung von Multicast durch den Tunnel.\\ +Wenn Sie hier M sagen, wird ein Modul namens \texttt{ip6\_gre} erzeugt. Wenn Sie unsicher sind, sagen Sie N. + +\subparagraph{IPv6: Multiple Routing Tables}$~$\\ +CONFIG\_IPV6\_MULTIPLE\_TABLES [=y] \textbf{[Y]}\\* +Unterstützung mehrerer Routing-Tabellen. + +\leftskip3em +\subparagraph*{IPv6: source address based routing}$~$\\ +CONFIG\_IPV6\_SUBTREES [=y] \textbf{[Y]}\\* +Aktivieren Sie das Routing nach Quelladresse oder Präfix.\\ +Die Zieladresse ist immer noch der primäre Routing-Schlüssel, so dass das Mischen von normalen und quellpräfixspezifischen Routen +in derselben Routing-Tabelle manchmal zu einem unbeabsichtigten Routing-Verhalten führen kann. Dies kann vermieden werden, +indem unterschiedliche Routing-Tabellen für die normalen und die quellpräfixspezifischen Routen definiert werden. +Wenn Sie unsicher sind, sagen Sie N. + +\leftskip0em + +\subparagraph{IPv6: multicast routing}$~$\\ +CONFIG\_IPV6\_MROUTE [=y] \textbf{[Y]}\\* +Unterstützung der IPv6-Multicast-Weiterleitung. +Wenn Sie unsicher sind, sagen Sie N. + +\leftskip3em +\subparagraph*{IPv6: multicast policy routing}S~S\\ +CONFIG\_IPV6\_MROUTE\_MULTIPLE\_TABLES [=y] \textbf{[Y]}\\* +Normalerweise führt ein Multicast-Router einen Userspace-Daemon aus und entscheidet auf der Grundlage der Quell- und Zieladressen, +was mit einem Multicast-Paket geschehen soll. Wenn Sie hier Y angeben, kann der Multicast-Router auch Schnittstellen und +Paketmarkierungen berück"-sichtigen und mehrere Instanzen von Userspace-Dämonen gleichzeitig laufen lassen, von denen jeder eine +einzelne Tabelle bearbeitet. Wenn Sie unsicher sind, sagen Sie N. + +\subparagraph*{IPv6: multicast policy routing}S~S\\ +CONFIG\_IPV6\_MROUTE\_MULTIPLE\_TABLES [=y] \textbf{[Y]}\\* +Unterstützung für das IPv6-PIM-Multicast-Routing-Protokoll PIM-SMv2. Wenn Sie unsicher sind, sagen Sie N. + +\leftskip0em + +\subparagraph{IPv6: Segment Routing Header encapsulation support}$~$\\ +CONFIG\_IPV6\_SEG6\_LWTUNNEL [=y] \textbf{[Y]}\\* +Unterstützung für die Einkapselung von Paketen in einen äußeren IPv6-Header und einen Segment-Routing-Header +unter Verwendung des leichtgewichtigen Tunnelmechanismus. Aktivieren Sie auch die Unterstützung für die erweiterte lokale +Verarbeitung von SRv6-Paketen auf der Grundlage ihres aktiven Segments. Wenn Sie unsicher sind, sagen Sie N. + +\subparagraph{IPv6: Segment Routing HMAC support}$~$\\ +CONFIG\_IPV6\_SEG6\_HMAC [=y] \textbf{[Y]}\\* +Unterstützung für die Erzeugung von HMAC-Signaturen und die Überprüfung von SR-aktivierten Paketen. +Wenn Sie unsicher sind, sagen Sie N. + +\subparagraph{IPv6: RPL Source Routing Header support}$~$\\ +CONFIG\_IPV6\_RPL\_LWTUNNEL [=y] \textbf{[Y]}\\* +Unterstützung für RFC~6554 RPL Source Routing Header unter Verwendung des Lightweight"=Tunnel"=Mechanismus. +Wenn Sie unsicher sind, sagen Sie N. + +\subparagraph{IPv6: IOAM Pre-allocated Trace insertion support}$~$\\ +CONFIG\_IPV6\_IOAM6\_LWTUNNEL [=y] \textbf{[Y]}\\* +Unterstützung für das Einfügen von IOAM Pre-allocated Trace Header unter Verwendung des Lightweight"=Tunnel"=Mechanismus. +Wenn Sie unsicher sind, sagen Sie N. + \end{document}