% linux_configuration_14_networking_support.tex
% since Linux 6.16

%14
\section{Networking support \texorpdfstring{$\rightarrow$}{->}}
CONFIG\_NET [=y] \textbf{[Y]}\\
Wenn Sie nicht wirklich wissen, was Sie tun, sollten Sie hier Y sagen.
Der Grund dafür ist, dass einige Programme die Netzwerkunterstützung des Kernels benötigen, auch wenn sie auf einem eigenständigen Rechner laufen, der nicht mit einem anderen Computer verbunden ist. Wenn Sie von einem älteren Kernel aufrüsten, sollten Sie auch Ihre Netzwerkwerkzeuge aktualisieren, da Änderungen am Kernel und an den Werkzeugen oft Hand in Hand gehen.
Die Werkzeuge sind in dem Paket \texttt{net-tools} enthalten, dessen Standort und Versionsnummer in $<$file:Documentation/Changes$>$ angegeben sind.\\
Für eine allgemeine Einführung in Linux-Netzwerke ist es sehr empfehlenswert, das NET-HOWTO zu lesen, das unter \url{http://www.tldp.org/docs.html#howto} verfügbar ist.
\english{Unless you really know what you are doing, you should say Y here.
The reason is that some programs need kernel networking support even when running on a stand-alone machine that isn't connected to any other computer.\\
If you are upgrading from an older kernel, you should consider updating your networking tools too because changes in the kernel and the tools often go hand in hand.
The tools are contained in the package net-tools, the location and version number of which are given in $<$file:Documentation/Changes$>$.\\
For a general introduction to Linux networking, it is highly recommended to read the NET-HOWTO, available from \url{http://www.tldp.org/docs.html\#howto}.}

%14.1
\subsection{Networking options \texorpdfstring{$\rightarrow$}{->}}
(Vernetzungsoptionen)

%14.1.1
\subsubsection{Packet socket}
CONFIG\_PACKET [=y] \textbf{[Y]}\\
Das Packet-Protokoll wird von Anwendungen verwendet, die direkt mit Netzwerkgeräten kommunizieren, ohne dass ein dazwischenliegendes Netzwerkprotokoll im Kernel implementiert ist, z.\,B. tcpdump.
Wenn Sie wollen, dass diese Anwendungen funktionieren, wählen Sie Y.
Um diesen Treiber als Modul zu kompilieren, wählen Sie hier M: Das Modul wird \texttt{af\_packet} heißen.\\
Wenn Sie unsicher sind, wählen Sie Y.
\english{The Packet protocol is used by applications which communicate directly with network devices without an intermediate network protocol implemented in the kernel, e.g. tcpdump.
If you want them to work, choose Y.\\
To compile this driver as a module, choose M here: the module will be called \texttt{af\_packet}.\\
If unsure, say Y.}

\paragraph{Packet: sockets monitoring interface}$~$\\
CONFIG\_PACKET\_DIAG [=m] \textbf{[M]}\\
Unterstützung für die Überwachungsschnittstelle \texttt{PF\_PACKET}-Sockets, die vom Werkzeug \texttt{ss} verwendet wird.
Wenn Sie unsicher sind, geben Sie Y ein.
\english{Support for PF\_PACKET sockets monitoring interface used by the \texttt{ss} tool.
If unsure, say Y.}

%14.1.2
\subsubsection{Unix domain sockets}
CONFIG\_UNIX [=y] \textbf{[Y]}\\
Wenn Sie hier Y angeben, wird die Unterstützung für Unix-Domain-Sockets einbezogen; Sockets sind der Standard-Unix-Mechanismus für den Aufbau von und den Zugriff auf Netzwerkverbindungen.
Viele häufig verwendete Programme wie das X-Window-System und syslog verwenden diese Sockets, auch wenn Ihr Rechner nicht an ein Netzwerk angeschlossen ist.
Wenn Sie nicht gerade an einem eingebetteten System oder etwas Ähnlichem arbeiten, sollten Sie hier also unbedingt Y sagen.
Sagen Sie Y, wenn Sie nicht genau wissen, was Sie tun.
\english{If you say Y here, you will include support for Unix domain sockets; sockets are the standard Unix mechanism for establishing and accessing network connections.
Many commonly used programs such as the X Window system and syslog use these sockets even if your machine is not connected to any network.
Unless you are working on an embedded system or something similar, you therefore definitely want to say Y here.\\
Say Y unless you know what you are doing.}

\paragraph{UNIX: out-of-bound messages \tiny{seit 6.14}}\mbox{}\\
CONFIG\_AF\_UNIX\_OOB [=y] \textbf{[Y]}\\
Unterstützung für MSG\_OOB in UNIX-Domain-Sockets.
Wenn Sie unsicher sind, sagen Sie Y.
\english{Support for MSG\_OOB in UNIX domain sockets.
If unsure, say Y.}

\paragraph{UNIX: socket monitoring interface}$~$\\
CONFIG\_UNIX\_DIAG [=m] \textbf{[M]}\\
Unterstützung für die vom Tool \texttt{ss} verwendete UNIX-Socket-Überwachungsschnittstelle.
Wenn Sie unsicher sind, sagen Sie Y.
\english{Support for UNIX socket monitoring interface used by the \texttt{ss} tool.
If unsure, say Y.}

%14.1.3
\subsubsection{Transport Layer Security support}
CONFIG\_TLS [=m] \textbf{[M]}\\
Aktivierung der Kernel-Unterstützung für das TLS-Protokoll.
Dadurch kann die symmetrische Verschlüsselung des TLS-Protokolls im Kernel durchgeführt werden.
Wenn Sie unsicher sind, sagen Sie N.
\english{Enable kernel support for TLS protocol.
This allows symmetric encryption handling of the TLS protocol to be done in-kernel.\\
If unsure, say N.}

\paragraph{Transport Layer Security HW offload}$~$\\
CONFIG\_TLS\_DEVICE [=y] \textbf{[Y]}\\
Aktivierung der Kernel-Unterstützung für die HW-Auslagerung des TLS-Protokolls.
Wenn Sie unsicher sind, sagen Sie N.
\english{Enable kernel support for HW offload of the TLS protocol.\\
If unsure, say N.}

\paragraph{Transport Layer Security TCP stack bypass}$~$\\
CONFIG\_TLS\_TOE [=n] \textbf{[N]}\\
Aktivierung der Kernel-Unterstützung für das Legacy-HW-Offload des TLS-Protokolls, das mit der Semantik des Linux-Netzwerkstacks inkompatibel ist.
Wenn Sie unsicher sind, sagen Sie N.
\english{Enable kernel support for legacy HW offload of the TLS protocol, which is incompatible with the Linux networking stack semantics.
If unsure, say N.}

%14.1.4 Transformation user configuration interface
\subsubsection{Transformation user configuration interface}
CONFIG\_XFRM\_USER [=m] \textbf{[M]}\\
Unterstützung für Transformation(XFRM)-Benutzerkonfigurationsschnittstelle wie IPsec, die von nativen Linux-Tools verwendet wird.
Wenn Sie unsicher sind, sagen Sie Y.
\english{Support for Transformation(XFRM) user configuration interface like IPsec used by native Linux tools.\\
If unsure, say Y.}

\paragraph{Compatible ABI support}$~$\\
CONFIG\_XFRM\_USER\_COMPAT [=n] \textbf{[N]}\\
Transformation(XFRM)-Benutzerkonfigurationsschnittstelle wie IPsec, die von kompatiblen
Linux"=Anwendungen verwendet wird. Wenn Sie unsicher sind, sagen Sie N.
\english{Transformation(XFRM) user configuration interface like IPsec used by compatible Linux applications.\\
If unsure, say N.}

%14.1.5
\subsubsection{Transformation virtual interface}
CONFIG\_XFRM\_Interface [=m] \textbf{[M]}\\
Damit wird eine virtuelle Schnittstelle zum Routen des IPsec-Verkehrs bereitgestellt.
Wenn Sie unsicher sind, sagen Sie N.
\english{This provides a virtual interface to route IPsec traffic.\\
If unsure, say N.}

\subsubsection{Transformation sub policy support}
CONFIG\_XFRM\_SUB\_POLICY [=y] \textbf{[Y]}\\
Unterstützung von Unterrichtsrichtlinien für Entwickler.
Durch die Verwendung der Unterrichtlinie mit der Hauptrichtlinie können zwei Richtlinien gleichzeitig auf dasselbe Paket angewendet werden.
Eine Richtlinie, die kürzer im Kernel lebt, sollte eine Unterrichtlinie sein.
Wenn Sie unsicher sind, sagen Sie N.
\english{Support sub policy for developers.
By using sub policy with main one, two policies can be applied to the same packet at once.
Policy which lives shorter time in kernel should be a sub.\\
If unsure, say N.}

\subsubsection{Transformation migrate database}
CONFIG\_XFRM\_MIGRATE [=y] \textbf{[Y]}\\
Eine Funktion zur dynamischen Aktualisierung von Locator(s) einer bestimmten IPsec"=Sicherheitsassoziation.
Diese Funktion ist z.\,B. in einer mobilen IPv6-Umgebung mit IPsec-Konfiguration erforderlich, in der mobile Knoten ihren Verbindungspunkt zum Internet ändern.
Wenn Sie unsicher sind, sagen Sie N.
\english{A feature to update locator(s) of a given IPsec security association dynamically.
This feature is required, for instance, in a Mobile IPv6 environment with IPsec configuration where mobile nodes change their attachment point to the Internet.\\
If unsure, say N.}

\subsubsection{Transformation statistics}
CONFIG\_XFRM\_STATISTICS [=y] \textbf{[Y]}\\
Diese Statistik ist keine SNMP/MIB-Spezifikation, sondern zeigt Statistiken über Transformationsfehler (oder Fast-Fehler) bei der Paketverarbeitung für Entwickler.
Wenn Sie unsicher sind, sagen Sie N.
\english{This statistics is not a SNMP/MIB specification but shows statistics about transformation error (or almost error) factor at packet processing for developer.\\
If unsure, say N.}

\subsubsection{PF\_KEY sockets}
CONFIG\_NET\_KEY [=m] \textbf{[M]}\\
PF\_KEYv2-Buchsenfamilie, kompatibel zu KAME-Buchsen.
Sie sind erforderlich, wenn Sie die von KAME portierten IPsec-Tools verwenden wollen.
Sagen Sie Y, wenn Sie nicht wissen, was Sie tun.
\english{PF\_KEYv2 socket family, compatible to KAME ones.
They are required if you are going to use IPsec tools ported from KAME.\\
Say Y unless you know what you are doing.}

\paragraph{PF\_KEY MIGRATE}$~$\\
CONFIG\_NET\_KEY\_MIGRATE [=y] \textbf{[Y]}\\
Hinzufügen einer PF\_KEY MIGRATE Nachricht zur PF\_KEYv2 Socket Familie.
Die PF\_KEY MIGRATE Nachricht wird zur dynamischen Aktualisierung von Locator(s) einer bestimmten IPsec"=Sicherheitsassoziation verwendet.
Diese Funktion ist z.\,B. in einer mobilen IPv6"=Umgebung mit IPsec-Konfiguration erforderlich, in der mobile Knoten ihren Verbindungspunkt zum Internet ändern.
Detaillierte Informationen sind im Internet-Entwurf $<$draft-sugimoto-mip6-pfkey-migrate$>$ zu finden.
Wenn Sie unsicher sind, sagen Sie N.
\english{Add a PF\_KEY MIGRATE message to PF\_KEYv2 socket family.
The PF\_KEY MIGRATE message is used to dynamically update locator(s) of a given IPsec security association.
This feature is required, for instance, in a Mobile IPv6 environment with IPsec configuration where mobile nodes change their attachment point to the Internet.
Detail information can be found in the internet-draft $<$draft-sugimoto-mip6-pfkey-migrate$>$.\\
If unsure, say N.}

\subsubsection{IPsec IP-TFS/AGGFRAG (RFC~9347) encapsulation support}
CONFIG\_XFRM\_IPTFS [=m] \textbf{[M]}\\
Informationen über die IP-TFS/AGGFRAG-Kapselung finden sich in RFC~9347.
Diese Funktion unterstützt bedarfsgesteuertes IP-TFS (d.\,h. nicht konstante Senderate), um die Vorteile der AGGFRAG-ESP-Nutzlastkapselung zu nutzen.
Dieser Nutzdatentyp unterstützt die Aggregation und Fragmentierung des inneren IP-Paketstroms, was wiederum zu einer höheren Bandbreite bei kleinen Paketen führt und MTU/PMTU-Probleme reduziert.
Eine Staukontrolle ist nicht implementiert, da die Senderate nicht konstant, sondern bedarfsgesteuert ist.\\
Wenn Sie unsicher sind, sagen Sie N.
\english{Information on the IP-TFS/AGGFRAG encapsulation can be found in RFC~9347.
This feature supports demand driven (i.e., non-constant send rate) IP-TFS to take advantage of the AGGFRAG ESP payload encapsulation.
This payload type supports aggregation and fragmentation of the inner IP packet stream which in turn yields higher small-packet bandwidth as well as reducing MTU/PMTU issues.
Congestion control is unimplementated as the send rate is demand driven rather than constant.\\
If unsure, say N.}

\subsubsection{SMC socket protocol family}
CONFIG\_SMC [=m] \textbf{[M]}\\
SMC-R bietet eine \glqq Sockets over RDMA\grqq{}-Lösung, die die RDMA over Converged Ethernet (RoCE)"=Technologie nutzt, um AF\_INET-TCP-Verbindungen transparent zu aktualisieren.
Die Linux"=Implementierung der SMC-R-Lösung ist als separate Socket-Familie SMC konzipiert.
Wählen Sie diese Option, wenn Sie SMC-Socket-Anwendungen ausführen möchten.
\english{SMC-R provides a ``sockets over RDMA'' solution making use of RDMA over Converged Ethernet (RoCE) technology to upgrade AF\_INET TCP connections transparently.
The Linux implementation of the SMC-R solution is designed as a separate socket family SMC.\\
Select this option if you want to run SMC socket applications}

\paragraph{SMC: socket monitoring interface}$~$\\
CONFIG\_SMC\_DIAG [=m] \textbf{[M]}\\
Unterstützung für die SMC-Socket-Überwachungsschnittstelle, die von Tools wie \texttt{smcss} verwendet wird.
Wenn Sie unsicher sind, sagen Sie Y.
\english{Support for SMC socket monitoring interface used by tools such \texttt{smcss}.\\
if unsure, say Y.}

\paragraph{SMC intra-OS shortcut with loopback-ism \tiny{seit 6.10}}\mbox{}\\
CONFIG\_SMC\_LO [=y] \textbf{[Y]}\\
SMC\_LO ermöglicht die Erstellung eines Emulations-ISM-Geräts namens Loopback-ism in SMC und nutzt es für die Übertragung von Daten, wenn die Kommunikation innerhalb desselben Betriebssystems stattfindet.
Dies hilft beim bequemen Testen von SMC-D, da Loopback-ism unabhängig von der Architektur oder Hardware ist.\\
Wenn Sie unsicher sind, sagen Sie N.
\english{SMC\_LO enables the creation of an Emulated-ISM device named loopback-ism in SMC and makes use of it for transferring data when communication occurs within the same OS.
This helps in convenient testing of SMC-D since loopback-ism is independent of architecture or hardware.\\
if unsure, say N.}

\subsubsection{XDP sockets}
CONFIG\_XDP\_SOCKETS [=y] \textbf{[Y]}\\
XDP-Sockets ermöglichen einen Kanal zwischen XDP-Programmen und Userspace-Anwendungen.
\english{XDP sockets allows a channel between XDP programs and userspace applications.}

\paragraph{XDP sockets: monitoring interface}$~$\\
CONFIG\_XDP\_SOCKETS\_DIAG [=m] \textbf{[M]}\\
Unterstützung für die vom \texttt{ss}-Tool verwendete PF\_XDP-Socket"=Überwachungsschnittstelle.
Wenn Sie unsicher sind, sagen Sie Y.
\english{Support for PF\_XDP sockets monitoring interface used by the ss tool.
If unsure, say Y.}

\subsubsection{TCP/IP networking}
CONFIG\_INET [=y] \textbf{[Y]}\\
Dies sind die Protokolle, die im Internet und in den meisten lokalen Ethernets verwendet werden.
Es wird dringend empfohlen hier Y anzugeben (dadurch wird Ihr Kernel um etwa \qty{400}{\kilo\byte} vergrößert), da einige Programme (z.\,B. das X-Window-System) TCP/IP verwenden, auch wenn Ihr Rechner nicht mit einem anderen Computer verbunden ist.
Sie erhalten das sogenannte Loopback-Gerät, mit dem Sie sich selbst anpingen können (was ein großer Spaß ist!).
Eine ausgezeichnete Einführung in die Linux-Netzwerktechnik finden Sie im Linux Networking HOWTO, erhältlich bei \url{http://www.tldp.org/docs.html#howto}.
Wenn Sie hier Y sagen und auch zu \glqq /proc file system support\grqq{} und \glqq Sysctl support\grqq{} unten, können Sie verschiedene Aspekte des Verhaltens des TCP/IP-Codes ändern, indem Sie in die
(virtuellen) Dateien in \texttt{/proc/sys/net/ipv4/*} schreiben; die Optionen werden in der Datei $<$file:Documentation/networking/ip-sysctl.rst$>$ erläutert.\\
Kurze Antwort: Sagen Sie Y.
\english{These are the protocols used on the Internet and on most local Ethernets.
It is highly recommended to say Y here (this will enlarge your kernel by about 400~KB), since some programs (e.g. the X window system) use TCP/IP even if your machine is not connected to any other computer.
You will get the so-called loopback device which allows you to ping yourself (great fun, that!).\\
For an excellent introduction to Linux networking, please read the Linux Networking HOWTO, available from \url{http://www.tldp.org/docs.html\#howto}.\\
If you say Y here and also to ``proc file system support'' and ``Sysctl support'' below, you can change various aspects of the behavior of the TCP/IP code by writing to the (virtual) files in /proc/sys/net/ipv4/*;
the options are explained in the file $<$file:Documentation/networking/ip-sysctl.rst$>$.\\
Short answer: say Y.}

\paragraph{IP: multicasting}$~$\\
CONFIG\_IP\_MULTICAST [=y] \textbf{[Y]}\\
Dabei handelt es sich um einen Code zur gleichzeitigen Adressierung mehrerer vernetzter Computer, der Ihren Kernel um etwa \qty{2}{\kilo\byte} vergrößert.
Sie brauchen Multicasting, wenn Sie am MBONE teilnehmen wollen, einem Netz mit hoher Bandbreite über dem Internet, das Audio- und Videoübertragungen überträgt.
Weitere Informationen über MBONE finden Sie im WWW unter \url{https://www.savetz.com/mbone/}.
Für die meisten Leute ist es sicher, N zu sagen.
\english{This is code for addressing several networked computers at once, enlarging your kernel by about 2~KB.
You need multicasting if you intend to participate in the MBONE, a high bandwidth network on top of the Internet which carries audio and video broadcasts.
More information about the MBONE is on the WWW at \url{https://www.savetz.com/mbone/}.
For most people, it's safe to say N.}

\paragraph{IP: advanced router}$~$\\
CONFIG\_IP\_ADVANCED\_ROUTER [=y] \textbf{[Y]}\\
Wenn Sie beabsichtigen, Ihren Linux-Rechner hauptsächlich als Router zu betreiben, d.\,h. als Computer, der Netzwerkpakete weiterleitet und umverteilt, sagen Sie Y;
Ihnen werden dann mehrere Optionen angezeigt, die eine genauere Kontrolle über den Routing"=Prozess ermöglichen.\\
Die Antwort auf diese Frage wirkt sich nicht direkt auf den Kernel aus: Wenn Sie mit N antworten, überspringt der Konfigurator einfach alle Fragen zum erweiterten Routing.
Beachten Sie, dass Ihr Rechner nur dann als Router fungieren kann, wenn Sie die IP"=Weiterleitung in Ihrem Kernel aktivieren; dies können Sie tun, indem Sie \glqq /proc file system support\grqq{} und \glqq Sysctl support\grqq{} mit Y beantworten und die folgende Zeile\\[.5em]
\texttt{echo "1"\, $>$ /proc/sys/net/ipv4/ip\_forward}\\[.5em]
beim Booten ausführen, nachdem das Dateisystem /proc eingehängt wurde.\\
Wenn Sie die IP-Weiterleitung einschalten, sollten Sie den rp\_filter in Betracht ziehen, der eingehende Pakete automatisch zurückweist, wenn der Routing-Tabelleneintrag für ihre Quelladresse nicht mit der Netzwerkschnittstelle übereinstimmt, an der sie ankommen.
Dies hat Sicherheitsvorteile, weil es das so genannte IP-Spoofing verhindert, kann aber Probleme bereiten, wenn Sie asymmetrisches Routing verwenden (Pakete von Ihnen zu einem Host nehmen einen anderen Weg als Pakete von diesem Host zu Ihnen) oder wenn Sie einen nicht routingfähigen Host betreiben, der mehrere IP-Adressen auf verschiedenen Schnittstellen hat.
Um rp\_filter einzuschalten, verwenden Sie:

\texttt{echo 1 $>$ /proc/sys/net/ipv4/conf/<Gerät>/rp\_filter}\\
oder

\texttt{echo 1 $>$ /proc/sys/net/ipv4/conf/all/rp\_filter}\\
Beachten Sie, dass einige Distributionen dies in Startskripten aktivieren.
Für Details über rp\_filter strict und loose mode lesen Sie $<$file:Documentation/networking/ip-sysctl.rst$>$.
Wenn Sie unsicher sind, geben Sie hier N an.
\english{If you intend to run your Linux box mostly as a router, i.e. as a computer that forwards and redistributes network packets, say Y;
you will then be presented with several options that allow more precise control about the routing process.\\
The answer to this question won't directly affect the kernel: answering N will just cause the configurator to skip all the questions about advanced routing.\\
Note that your box can only act as a router if you enable IP forwarding in your kernel; you can do that by saying Y to ``/proc file system support'' and ``Sysctl support'' below and executing the line\\
\texttt{echo "1" > /proc/sys/net/ipv4/ip\_forward}\\
at boot time after the /proc file system has been mounted.\\
If you turn on IP forwarding, you should consider the rp\_filter, which automatically rejects incoming packets if the routing table entry for their source address doesn't match the network interface they're arriving on.
This has security advantages because it prevents the so-called IP spoofing, however it can pose problems if you use asymmetric routing (packets from you to a host take a different path than packets from that host to you) or if you operate a non-routing host which has several IP addresses on different interfaces.
To turn rp\_filter on use:\\
\texttt{echo 1 $>$ /proc/sys/net/ipv4/conf/$<$device$>$/rp\_filter}\\
or
\texttt{echo 1 $>$ /proc/sys/net/ipv4/conf/all/rp\_filter}\\
Note that some distributions enable it in startup scripts.
For details about rp\_filter strict and loose mode read $<$file:Documentation/networking/ip-sysctl.rst$>$.\\
If unsure, say N here.}

\subparagraph{FIB TRIE statistics}$~$\\
CONFIG\_IP\_FIB\_TRIE\_STATS [=y] \textbf{[Y]}\\
Behalten Sie die Statistiken über die Struktur der FIB TRIE-Tabelle im Auge.
Nützlich zum Testen und Messen der TRIE-Leistung.
\english{Keep track of statistics on structure of FIB TRIE table.
Useful for testing and measuring TRIE performance.}

\subparagraph{IP: policy routing}$~$\\
CONFIG\_IP\_MULTIPLE\_TABLES [=y] \textbf{[Y]}\\
Normalerweise entscheidet ein Router, was mit einem empfangenen Paket zu tun ist, und zwar ausschließlich auf der Grundlage der endgültigen Zieladresse des Pakets.
Wenn Sie hier Y angeben, kann der Linux-Router auch die Quelladresse des Pakets berücksichtigen.
Darüber hinaus kann auch das TOS-Feld (Type-Of-Service) des Pakets für Routing-Entscheidungen verwendet werden.\\
Weitere Informationen finden Sie in der Linux-Dokumentation Advanced Routing and Traffic Control unter \url{https://lartc.org/howto/lartc.rpdb.html}.
Wenn Sie unsicher sind, sagen Sie N.
\english{Normally, a router decides what to do with a received packet based solely on the packet's final destination address.
If you say Y here, the Linux router will also be able to take the packet's source address into account.
Furthermore, the TOS (Type-Of-Service) field of the packet can be used for routing decisions as well.\\
If you need more information, see the Linux Advanced Routing and Traffic Control documentation at\\\url{https://lartc.org/howto/lartc.rpdb.html}\\
If unsure, say N.}

\subparagraph{IP: equal cost multipath}$~$\\
CONFIG\_IP\_ROUTE\_MULTIPATH [=y] \textbf{[Y]}\\
Normalerweise geben die Routing-Tabellen eine einzige Aktion an, die für ein bestimmtes Paket auf deterministische Weise durchgeführt wird.
Wenn Sie hier jedoch Y sagen, ist es möglich, mehrere Aktionen an ein Paketmuster zu knüpfen und damit mehrere alternative Wege für diese Pakete festzulegen.
Der Router betrachtet alle diese Pfade als gleich teuer und wählt einen von ihnen auf nicht-deterministische Weise aus, wenn ein passendes Paket eintrifft.
\english{Normally, the routing tables specify a single action to be taken in a deterministic manner for a given packet.
If you say Y here however, it becomes possible to attach several actions to a packet pattern, in effect specifying several alternative paths to travel for those packets.
The router considers all these paths to be of equal ``cost'' and chooses one of them in a non-deterministic fashion if a matching packet arrives.}

\subparagraph{IP: verbose route monitoring}$~$\\
CONFIG\_IP\_ROUTE\_VERBOSE [=y] \textbf{[Y]}\\
Wenn Sie hier Y angeben, was empfohlen wird, gibt der Kernel ausführliche Meldungen über das Routing aus, zum Beispiel Warnungen über empfangene Pakete, die seltsam aussehen und auf einen Angriff oder ein falsch konfiguriertes System hindeuten könnten.
Die Informationen werden vom klogd-Daemon verarbeitet, der für die Kernelmeldungen zuständig ist (\texttt{man klogd}).
\english{If you say Y here, which is recommended, then the kernel will print verbose messages regarding the routing, for example warnings about received packets which look strange and could be evidence of an attack or a misconfigured system somewhere.
The information is handled by the klogd daemon which is responsible for kernel messages (``man klogd'').}

\paragraph{IP: kernel level autoconfiguration}$~$\\
CONFIG\_IP\_PNP [=n] \textbf{[N]}\\
Dies ermöglicht die automatische Konfiguration der IP-Adressen von Geräten und der Routing-Tabelle beim Booten des Kernels auf der Grundlage von Informationen, die entweder über die Kernel-Befehlszeile oder über BOOTP- oder RARP-Protokolle bereitgestellt werden.
Sie müssen Y nur für plattenlose Maschinen angeben, die zum Booten Netzwerkzugriff benötigen (in diesem Fall sollten Sie auch Y für \glqq Root file system on NFS\grqq{} angeben), da alle anderen Maschinen das Netzwerk in ihren Startskripten konfigurieren.
\english{This enables automatic configuration of IP addresses of devices and of the routing table during kernel boot, based on either information supplied on the kernel command line or by BOOTP or RARP protocols.
You need to say Y only for diskless machines requiring network access to boot (in which case you want to say Y to ``Root file system on NFS'' as well), because all other machines configure the network in their startup scripts.}

\paragraph{IP: tunneling}$~$\\
CONFIG\_NET\_IPIP [=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 die Verkapselung von IP innerhalb von IP, was sich zwar ziemlich sinnlos anhört, aber nützlich sein kann, wenn Sie Ihren (oder einen anderen) Rechner in einem anderen Netz erscheinen lassen wollen, als er tatsächlich ist, oder wenn Sie die Möglichkeiten von Mobile-IP nutzen wollen (wodurch Laptops nahtlos zwischen Netzen wechseln können, ohne ihre IP-Adressen zu ändern).
Wenn Sie diese Option mit Y bestätigen, werden zwei Module ( = Code, der in den laufenden Kernel eingefügt und aus ihm entfernt werden kann, wann immer Sie wollen) erzeugt.
Die meisten Leute werden das nicht brauchen und können N sagen.
\english{Tunneling means encapsulating data of one protocol type within another protocol and sending it over a channel that understands the encapsulating protocol.
This particular tunneling driver implements encapsulation of IP within IP, which sounds kind of pointless, but can be useful if you want to make your (or some other) machine appear on a different network than it physically is, or to use mobile-IP facilities (allowing laptops to seamlessly move between networks without changing their IP addresses).\\
Saying Y to this option will produce two modules ( = code which can be inserted in and removed from the running kernel whenever you want).
Most people won't need this and can say N.}

\paragraph{IP: GRE demultiplexer}$~$\\
CONFIG\_NET\_IPGRE\_DEMUX [=m] \textbf{[M]}\\
Dies ist ein Hilfsmodul zum Demultiplexen von GRE-Paketen anhand von GRE-Versionsfeldkriterien.
Erforderlich für die Module \texttt{ip\_gre} und \texttt{pptp}.
\english{This is helper module to demultiplex GRE packets on GRE version field criteria.
Required by ip\_gre and pptp modules.}

\paragraph{IP: GRE tunnels over IP}$~$\\
CONFIG\_NET\_IPGRE [=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 IPv4-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 Weiterverteilung von Multicast durch den Tunnel.
\english{Tunneling means encapsulating data of one protocol type within another protocol and sending it over a channel that understands the encapsulating protocol.
This particular tunneling driver implements GRE (Generic Routing Encapsulation) and at this time allows encapsulating of IPv4 or IPv6 over existing IPv4 infrastructure.
This driver is useful if the other endpoint is a Cisco router: Cisco likes GRE much better than the other Linux tunneling driver ("IP tunneling" above).
In addition, GRE allows multicast redistribution through the tunnel.}

\subparagraph{IP: broadcast GRE over IP}$~$\\
CONFIG\_NET\_IPGRE\_BROADCAST [=y] \textbf{[Y]}\\
Eine Anwendung von GRE/IP ist der Aufbau eines Broadcast-WAN (Wide Area Network), das wie ein normales Ethernet-LAN (Local Area Network) aussieht, aber über das gesamte Internet verteilt werden kann.
Wenn Sie das tun wollen, sagen Sie hier und bei \glqq IP-Multicast-Routing\grqq{} unten Y.
\english{One application of GRE/IP is to construct a broadcast WAN (Wide Area Network), which looks like a normal Ethernet LAN (Local Area Network), but can be distributed all over the Internet.
If you want to do that, say Y here and to ``IP multicast routing'' below.}

\paragraph{IP: multicast routing}$~$\\
CONFIG\_IP\_MROUTE [=y] \textbf{[Y]}\\
Dies wird verwendet, wenn Ihr Rechner als Router für IP-Pakete mit mehreren Zieladressen fungieren soll.
Er wird für das MBONE benötigt, ein Netzwerk mit hoher Bandbreite über dem Internet, das Audio- und Videoübertragungen überträgt.
Um dies zu tun, würden Sie wahrscheinlich das Programm \texttt{mrouted} ausführen. Wenn Sie davon noch nichts gehört haben, brauchen Sie es nicht.
\english{This is used if you want your machine to act as a router for IP packets that have several destination addresses.
It is needed on the MBONE, a high bandwidth network on top of the Internet which carries audio and video broadcasts.
In order to do that, you would most likely run the program mrouted.
If you haven't heard about it, you don't need it.}

\subparagraph{IP: multicast policy routing}$~$\\
CONFIG\_IP\_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ücksichtigen und mehrere Instanzen von Userspace-Dämonen gleichzeitig laufen lassen, von denen jeder eine einzelne Tabelle bearbeitet.
Wenn Sie unsicher sind, sagen Sie N.
\english{Normally, a multicast router runs a userspace daemon and decides what to do with a multicast packet based on the source and destination addresses.
If you say Y here, the multicast router will also be able to take interfaces and packet marks into account and run multiple instances of userspace daemons simultaneously, each one handling a single table.\\
If unsure, say N.}

\subparagraph{IP: PIM-SM version 1 support}$~$\\
CONFIG\_IP\_PIMSM\_V1 [=y] \textbf{[Y]}\\
Kernelseitige Unterstützung für Sparse Mode PIM (Protocol Independent Multicast) Version 1.
Dieses Multicast-Routing-Protokoll ist weit verbreitet, da Cisco es unterstützt.
Sie benötigen eine spezielle Software, um es zu verwenden (pimd-v1).\\
Weitere Informationen über PIM finden Sie unter \url{http://netweb.usc.edu/pim/}.
Sagen Sie Y, wenn Sie PIM-SM~v1 verwenden wollen.
Beachten Sie, dass Sie hier N sagen können, wenn Sie nur Dense Mode PIM verwenden wollen.
\english{Kernel side support for Sparse Mode PIM (Protocol Independent Multicast) version 1.
This multicast routing protocol is used widely because Cisco supports it.
You need special software to use it (pimd-v1).
Please see \url{http://netweb.usc.edu/pim/} for more information about PIM.\\
Say Y if you want to use PIM-SM v1.
Note that you can say N here if you just want to use Dense Mode PIM.}

\subparagraph{IP: PIM-SM version 2 support}$~$\\
CONFIG\_IP\_PIMSM\_V2 [=y] \textbf{[Y]}\\
Kernelseitige Unterstützung für Sparse Mode PIM Version 2.
Um dies nutzen zu können, benötigen Sie einen experimentellen Routing-Daemon, der dies unterstützt (pimd oder gated-5).
Dieses Routing-Protokoll ist nicht weit verbreitet, also sagen Sie N, es sei denn, Sie wollen damit spielen.
\english{Kernel side support for Sparse Mode PIM version 2.
In order to use this, you need an experimental routing daemon supporting it (pimd or gated-5).
This routing protocol is not used widely, so say N unless you want to play with it.}

\paragraph{IP: TCP syncookie support}$~$\\
CONFIG\_SYN\_COOKIES [=y] \textbf{[Y]}\\
Normale TCP/IP-Netzwerke sind anfällig für einen Angriff, der als \glqq SYN-Flooding\grqq{} bekannt ist.
Dieser Denial-of-Service-Angriff verhindert, dass legitime Remote-Benutzer während eines laufenden Angriffs eine Verbindung zu Ihrem Computer herstellen können, und erfordert vom Angreifer, der von einem beliebigen Ort im Internet aus operieren kann, nur sehr wenig Arbeit.
SYN-Cookies bieten Schutz gegen diese Art von Angriffen.
Wenn Sie hier Y eingeben, verwendet der TCP/IP-Stack ein kryptografisches Herausforderungsprotokoll, das als \glqq SYN-Cookies\grqq{} bekannt ist, um legitime Benutzer in die Lage zu versetzen, weiterhin eine Verbindung herzustellen, selbst wenn Ihr Rechner angegriffen wird.
Die rechtmäßigen Benutzer brauchen ihre TCP/IP-Software nicht zu ändern; SYN-Cookies arbeiten für sie transparent.
Technische Informationen über SYN-Cookies finden Sie unter \url{https://cr.yp.to/syncookies.html}.
Wenn Sie SYN-geflutet werden, ist die vom Kernel gemeldete Quelladresse wahrscheinlich vom Angreifer gefälscht worden; sie wird nur als Hilfe bei der Rückverfolgung der Pakete zu ihrer tatsächlichen Quelle gemeldet und sollte nicht als absolute Wahrheit angesehen werden.
SYN-Cookies können eine korrekte Fehlermeldung auf Clients verhindern, wenn der Server wirklich überlastet ist.
Wenn dies häufig vorkommt, schalten Sie sie besser aus.
Wenn Sie hier Y angeben, können Sie SYN-Cookies zur Laufzeit deaktivieren, indem Sie Y zu \glqq /proc file system support\grqq{} und \glqq Sysctl support\grqq{} unten angeben und den Befehl \texttt{echo 0 $>$ /proc/sys/net/ipv4/tcp\_syncookies} ausführen nachdem das /proc-Dateisystem eingehängt wurde.
Wenn Sie unsicher sind, sagen Sie N.
\english{Normal TCP/IP networking is open to an attack known as ``SYN flooding''.
This denial-of-service attack prevents legitimate remote users from being able to connect to your computer during an ongoing attack and requires very little work from the attacker, who can operate from anywhere on the Internet.\\
SYN cookies provide protection against this type of attack.
If you say Y here, the TCP/IP stack will use a cryptographic challenge protocol known as ``SYN cookies'' to enable legitimate users to continue to connect, even when your machine is under attack.
There is no need for the legitimate users to change their TCP/IP software; SYN cookies work transparently to them.
For technical information about SYN cookies, check out \url{https://cr.yp.to/syncookies.html}.\\
If you are SYN flooded, the source address reported by the kernel is likely to have been forged by the attacker; it is only reported as an aid in tracing the packets to their actual source and should not be taken as absolute truth.\\
SYN cookies may prevent correct error reporting on clients when the server is really overloaded.
If this happens frequently better turn them off.\\
If you say Y here, you can disable SYN cookies at run time by saying Y to ``/proc file system support'' and ``Sysctl support'' below and executing the command\\ \texttt{echo 0 $>$ /proc/sys/net/ipv4/tcp\_syncookies}\\after the /proc file system has been mounted.\\
If unsure, say N.}

\paragraph{Virtual (secure) IP: tunneling}$~$\\
CONFIG\_NET\_IPVTI [=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.
\english{Tunneling means encapsulating data of one protocol type within another protocol and sending it over a channel that understands the encapsulating protocol.
This can be used with xfrm mode tunnel to give the notion of a secure tunnel for IPSEC and then use routing protocol on top.}

\paragraph{IP: Foo (IP protocols) over UDP}$~$\\
CONFIG\_NET\_FOU [=m] \textbf{[M]}\\
Mit Foo over UDP kann jedes IP-Protokoll direkt über UDP gekapselt werden, einschließlich Tunneln (IPIP, GRE, SIT).
Durch die Verkapselung in UDP können Netzwerkmechanismen und Optimierungen für UDP (wie ECMP und RSS) genutzt werden, um einen besseren Service zu bieten.
\english{Foo over UDP allows any IP protocol to be directly encapsulated over UDP include tunnels (IPIP, GRE, SIT).
By encapsulating in UDP network mechanisms and optimizations for UDP (such as ECMP and RSS) can be leveraged to provide better service.}

\paragraph{IP: FOU encapsulation of IP tunnels}$~$\\
CONFIG\_NET\_FOU\_IP\_TUNNELS [=y] \textbf{[Y]}\\
Ermöglicht die Konfiguration von FOU- oder GUE-Kapselung für IP-Tunnel.
Wenn diese Option aktiviert ist, können IP-Tunnel für die Verwendung von FOU- oder GUE-Kapselung konfiguriert werden.
\english{Allow configuration of FOU or GUE encapsulation for IP tunnels.
When this option is enabled IP tunnels can be configured to use FOU or GUE encapsulation.}

\paragraph{IP: AH transformation}$~$\\
CONFIG\_INET\_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.
\english{Support for IPsec AH (Authentication Header).\\
AH can be used with various authentication algorithms.
Besides enabling AH support itself, this option enables the generic implementations of the algorithms that RFC 8221 lists as MUST be implemented.
If you need any other algorithms, you'll need to enable them in the crypto API.
You should also enable accelerated implementations of any needed algorithms when available.\\
If unsure, say Y.}

\paragraph{IP: ESP transformation}$~$\\
CONFIG\_INET\_ESP [=m] \textbf{[M]}\\
Unterstützung für IPsec ESP (Encapsulating Security Payload).
ESP kann mit verschiedenen Verschlüsselungs- 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.
\english{Support for IPsec ESP (Encapsulating Security Payload).\\
ESP can be used with various encryption and authentication algorithms.
Besides enabling ESP support itself, this option enables the generic implementations of the algorithms that RFC 8221 lists as MUST be implemented.
If you need any other algorithms, you'll need to enable them in the crypto API.
You should also enable accelerated implementations of any needed algorithms when available.\\
If unsure, say Y.}

\subparagraph{IP: ESP transformation offload}$~$\\
CONFIG\_INET\_ESP\_OFFLOAD [=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.
\english{Support for ESP transformation offload.
This makes sense only if this system really does IPsec and want to do it with high throughput.
A typical desktop system does not need it, even if it does IPsec.\\
If unsure, say N.}

\subparagraph{IP: ESP in TCP encapsulation (RFC~8229)}$~$\\
CONFIG\_INET\_ESPINTCP [=y] \textbf{[Y]}\\
Unterstützung für die RFC~8229-Kapselung von ESP und IKE über TCP/IPv4-Sockets.
Wenn Sie unsicher sind, sagen Sie N.
\english{Support for RFC 8229 encapsulation of ESP and IKE over TCP/IPv4 sockets.\\
If unsure, say N.}

\paragraph{IP: IPComp transformation}$~$\\
CONFIG\_INET\_IPCOMP [=m] \textbf{[M]}\\
Unterstützung für das IP Payload Compression Protocol (IPComp) (RFC~3173), das normalerweise für IPsec benötigt wird.\\
Wenn Sie unsicher sind, sagen Sie Y.
\english{Support for IP Payload Compression Protocol (IPComp) (RFC3173), typically needed for IPsec.\\
If unsure, say Y.}

\paragraph{INET: Source port perturbation table size (as power of 2) \tiny{seit 6.1}}\mbox{}\\
CONFIG\_INET\_TABLE\_PERTURB\_ORDER [=16] \textbf{[16]}\\
Größe der Quellport-Störungstabelle (als Potenz von 2) für RFC~6056 3.3.4.
Algorithmus 4: Double-Hash Port Selection Algorithm.\\
Die Standardeinstellung ist fast immer das, was Sie wollen.
Ändern Sie dies nur, wenn Sie wissen, was Sie tun.
\english{Source port perturbation table size (as power of 2) for RFC~6056 3.3.4.
Algorithm 4: Double-Hash Port Selection Algorithm.\\
The default is almost always what you want.
Only change this if you know what you are doing.}

\paragraph{INET: socket monitoring interface}$~$\\
CONFIG\_INET\_DIAG [=m] \textbf{[M]}\\
Unterstützung für die INET (TCP, DCCP usw.) Socket"=Überwachungsschnittstelle, die von nativen Linux"=Tools wie \texttt{ss} verwendet wird.
\texttt{ss} ist in iproute2 enthalten und kann derzeit heruntergeladen werden unter: \url{http://www.linuxfoundation.org/collaborate/workgroups/networking/iproute2}\\
Wenn Sie unsicher sind, sagen Sie Y.
\english{Support for INET (TCP, DCCP, etc) socket monitoring interface used by native Linux tools such as \texttt{ss}.
\texttt{ss} is included in iproute2, currently downloadable at:\\\url{http://www.linuxfoundation.org/collaborate/workgroups/networking/iproute2}\\
If unsure, say Y.}

\subparagraph{UDP: socket monitoring interface}$~$\\
CONFIG\_INET\_UDP\_DIAG [=m] \textbf{[M]}\\
Unterstützung für die UDP-Socket-Überwachungsschnittstelle, die vom Tool \texttt{ss} verwendet wird.
Wenn Sie unsicher sind, sagen Sie Y.
\english{Support for UDP socket monitoring interface used by the \texttt{ss} tool.
If unsure, say Y.}

\subparagraph{RAW: socket monitoring interface}$~$\\
CONFIG\_INET\_RAW\_DIAG [=m] \textbf{[M]}\\
Unterstützung für die vom \texttt{ss}-Tool verwendete RAW-Socket-Überwachungsschnittstelle.
Wenn Sie unsicher sind, sagen Sie Y.
\english{Support for RAW socket monitoring interface used by the \texttt{ss} tool. If unsure, say Y.}

\subparagraph{INET: allow privileged process to administratively close sockets}$~$\\
CONFIG\_INET\_DIAG\_DESTROY [=y] \textbf{[Y]}\\
Stellt eine SOCK\_DESTROY-Operation zur Verfügung, die es privilegierten Prozessen (z.\,B. einem
Verbindungsmanager oder einem Netzwerkverwaltungsprogramm wie \texttt{ss}) ermöglicht, von anderen Prozessen
geöffnete Sockets zu schließen. Das Schließen eines Sockets auf diese Weise unterbricht alle blockierenden
Lese-/Schreib-/Verbindungsoperationen auf dem Socket und bewirkt, dass sich zukünftige Socket-Aufrufe so
verhalten, als ob der Socket getrennt worden wäre. Wenn Sie unsicher sind, sagen Sie N.
\english{Provides a SOCK\_DESTROY operation that allows privileged processes (e.g., a connection manager or a network
administration tool such as \texttt{ss}) to close sockets opened by other processes.
Closing a socket in this way interrupts any blocking read/write/connect operations on the socket and causes
future socket calls to behave as if the socket had been disconnected.
If unsure, say N.}

\paragraph{TCP: advanced congestion control \texorpdfstring{$\rightarrow$}{->}}$~$\\
CONFIG\_TCP\_CONG\_ADVANCED [=y] \textbf{[Y]}\\
Unterstützung für die Auswahl verschiedener TCP-Staukontrollmodule. Fast alle Benutzer können hier sicher nein
sagen, und es wird eine sichere Standardauswahl getroffen (CUBIC mit neuem Reno als Fallback).
Wenn Sie unsicher sind, sagen Sie N.
\english{Support for selection of various TCP congestion control modules.\\
Nearly all users can safely say no here, and a safe default selection will be made (CUBIC with new Reno as a fallback).\\
If unsure, say N.}

\subparagraph{Binary Increase Congestion (BIC) control}$~$\\
CONFIG\_TCP\_CONG\_BIC [=m] \textbf{[M]}\\
BIC-TCP ist eine rein senderseitige Änderung, die eine lineare RTT-Fairness bei großen Fenstern gewähr"-lei"-stet
und gleichzeitig Skalierbarkeit und begrenzte TCP-Freundlichkeit bietet. Das Protokoll kombiniert zwei
Verfahren, die additive Erhöhung und die binäre Sucherhöhung. Bei großen Überlastungsfenstern ge"-währ"-lei"-stet
die additive Erhöhung mit einem großen Inkrement eine lineare RTT-Fairness sowie eine gute Skalierbarkeit.
Bei kleinen Überlastungsfenstern sorgt die binäre Sucherhöhung für TCP-Freundlichkeit.\\
Siehe \url{http://www.csc.ncsu.edu/faculty/rhee/export/bitcp/} 
\english{BIC-TCP is a sender-side only change that ensures a linear RTT fairness under large windows while offering
both scalability and bounded TCP-friendliness.
The protocol combines two schemes called additive increase and binary search increase.
When the congestion window is large, additive increase with a large increment ensures linear RTT fairness as well as good scalability.
Under small congestion windows, binary search increase provides TCP friendliness.\\
See \url{http://www.csc.ncsu.edu/faculty/rhee/export/bitcp/}}

\subparagraph{CUBIC TCP}$~$\\
CONFIG\_TCP\_CONG\_CUBIC [=y] \textbf{[Y]}\\
Dies ist die Version 2.0 von BIC-TCP, die neben anderen Techniken eine kubische Wachstumsfunktion verwendet.\\
Siehe \url{http://www.csc.ncsu.edu/faculty/rhee/export/bitcp/cubic-paper.pdf}
\english{This is version 2.0 of BIC-TCP which uses a cubic growth function among other techniques.\\
See \url{http://www.csc.ncsu.edu/faculty/rhee/export/bitcp/cubic-paper.pdf}}

\subparagraph{TCP Westwood+}$~$\\
CONFIG\_TCP\_CONG\_WESTWOOD [=m] \textbf{[M]}\\
TCP Westwood+ ist eine absenderseitige Modifikation des TCP-Reno-Protokollstapels, die die Leistung der TCP-Überlastungssteuerung optimiert.
Es basiert auf einer Ende-zu-Ende"=Bandbreitenschätzung, um das Überlastungsfenster und den Schwellenwert für den langsamen Start nach einer Überlastungsepisode festzulegen.
Auf der Grundlage dieser Schätzung legt TCP Westwood+ adaptiv einen Schwellenwert für den langsamen Start und ein Überlastungsfenster fest, das die zum Zeitpunkt des Auftretens der Überlastung genutzte Bandbreite berücksichtigt.
TCP Westwood+ erhöht die Fairness gegenüber TCP Reno in kabelgebundenen Netzen und den Durchsatz über drahtlose Verbindungen erheblich.
\english{TCP Westwood+ is a sender-side only modification of the TCP Reno protocol stack that optimizes the performance of TCP congestion control.
It is based on end-to-end bandwidth estimation to set congestion window and slow start threshold after a congestion episode.
Using this estimation, TCP Westwood+ adaptively sets a slow start threshold and a congestion window which takes into account the bandwidth used  at the time congestion is experienced.
TCP Westwood+ significantly increases fairness wrt TCP Reno in wired networks and throughput over wireless links.}

\subparagraph{H-TCP}$~$\\
CONFIG\_TCP\_CONG\_HTCP [=m] \textbf{[M]}\\*
H-TCP ist eine nur sendeseitige Modifikation des TCP-Reno-Protokollstapels, die die Leistung der TCP"=Überlastungssteuerung für Hochgeschwindigkeitsnetzverbindungen optimiert.
Es verwendet einen Modeswitch, um die Alpha- und Beta-Parameter von TCP Reno auf der Grundlage der Netzbedingungen und in einer Weise zu ändern, die gegenüber anderen Reno- und H-TCP-Datenströmen fair ist.
\english{H-TCP is a send-side only modifications of the TCP Reno protocol stack that optimizes the performance of TCP congestion control for high speed network links.
It uses a modeswitch to change the alpha and beta parameters of TCP Reno based on network conditions and in a way so as to be fair with other Reno and H-TCP flows.}

\subparagraph{High Speed TCP}$~$\\
CONFIG\_TCP\_CONG\_HSTCP [=m] \textbf{[M]}\\*
Sally Floyds High Speed TCP (RFC~3649) Staukontrolle.
Eine Modifikation des TCP"=Überlastungssteuerungsmechanismus zur Verwendung mit großen Überlastungsfenstern.
In einer Tabelle wird angegeben, um wie viel das Überlastungsfenster vergrößert werden soll, wenn eine ACK empfangen wird.
Für weitere Einzelheiten siehe \url{https://www.icir.org/floyd/hstcp.html}
\english{Sally Floyd's High Speed TCP (RFC 3649) congestion control.
A modification to TCP's congestion control mechanism for use with large congestion windows.
A table indicates how much to increase the congestion window by when an ACK is received.
For more detail see \url{https://www.icir.org/floyd/hstcp.html}}

\subparagraph{TCP-Hybla congestion control algorithm}$~$\\
CONFIG\_TCP\_CONG\_HYBLA [=m] \textbf{[M]}\\*
TCP-Hybla ist eine Änderung, die nur auf der Absenderseite vorgenommen wird, um die Benachteiligung von Verbindungen mit langen Übertragungszeiten und großen Bandbreiten zu beseitigen, z.\,B. wenn Satellitenverbindungen beteiligt sind, insbesondere wenn sie einen gemeinsamen Engpass mit normalen terrestrischen Verbindungen teilen.
\english{TCP-Hybla is a sender-side only change that eliminates penalization of long-RTT, large-bandwidth connections, like when satellite legs are involved, especially when sharing a common bottleneck with normal terrestrial connections.}

\subparagraph{TCP Vegas}$~$\\
CONFIG\_TCP\_CONG\_VEGAS [=m] \textbf{[M]}\\*
TCP Vegas ist eine absenderseitige Änderung von TCP, die den Beginn einer Überlastung durch Schätzung der Bandbreite vorwegnimmt.
TCP Vegas passt die Übertragungsrate durch Änderung des Überlastungsfensters an.
TCP Vegas sollte weniger Paketverluste verursachen, ist aber nicht so aggressiv wie TCP Reno.
\english{TCP Vegas is a sender-side only change to TCP that anticipates the onset of congestion by estimating the bandwidth.
TCP Vegas adjusts the sending rate by modifying the congestion window.
TCP Vegas should provide less packet loss, but it is not as aggressive as TCP Reno.}

\subparagraph{TCP NV}$~$\\
CONFIG\_TCP\_CONG\_NV [=m] \textbf{[M]}\\*
TCP NV ist ein Nachfolger von TCP Vegas.
Es wurde geändert, um mit 10G-Netzen, Messrauschen durch LRO, GRO und Unterbrechungskoaleszenz fertig zu werden.
Außerdem wird der cwnd-Wert nicht mehr linear, sondern multiplikativ verringert.\\
Es ist zu beachten, dass die Stauvermeidung (cwnd wird verringert, wenn die Anzahl der Pakete in der Warteschlange steigt) im Allgemeinen nicht mit der Staukontrolle (cwnd wird nur verringert, wenn es zu Paketverlusten kommt) koexistieren kann, da die Fairness nicht gewährleistet ist.
Ein Szenario, in dem sie sicher koexistieren können, ist, wenn die CA-Flüsse RTTs~$\ll$~CC-Flüsse RTTs haben.
Für weitere Einzelheiten siehe \url{http://www.brakmo.org/networking/tcp-nv/}
\english{TCP NV is a follow up to TCP Vegas.
It has been modified to deal with 10G networks, measurement noise introduced by LRO, GRO and interrupt coalescence.
In addition, it will decrease its cwnd multiplicatively instead of linearly.\\
Note that in general congestion avoidance (cwnd decreased when \# packets queued grows) cannot coexist with congestion control (cwnd decreased only when there is packet loss) due to fairness issues.
One scenario when they can coexist safely is when the CA flows have RTTs~$\ll$~CC flows RTTs.\\
For further details see \url{http://www.brakmo.org/networking/tcp-nv/}}

\subparagraph{Scalable TCP}$~$\\
CONFIG\_TCP\_CONG\_SCALABLE [=m] \textbf{[M]}\\*
Scalable TCP ist eine Änderung von TCP nur auf der Absenderseite, die einen MIMD"=Algorithmus zur Staukontrolle verwendet, der einige nette Skalierungseigenschaften hat, obwohl er bekanntermaßen Probleme mit der Fairness hat.
Siehe \url{http://www.deneholme.net/tom/scalable/}
\english{Scalable TCP is a sender-side only change to TCP which uses a MIMD congestion control algorithm which has some nice scaling properties, though is known to have fairness issues.\\
See \url{http://www.deneholme.net/tom/scalable/}}

\subparagraph{TCP Low Priority}$~$\\
CONFIG\_TCP\_CONG\_LP [=m] \textbf{[M]}\\*
TCP Low Priority (TCP-LP), ein verteilter Algorithmus, dessen Ziel es ist, nur die überschüssige Bandbreite des Netzes im Vergleich zum \glqq fairen Anteil\grqq{} der Bandbreite, wie er von TCP angestrebt wird, zu nutzen.
Siehe \url{http://www-ece.rice.edu/networks/TCP-LP/}
\english{TCP Low Priority (TCP-LP), a distributed algorithm whose goal is to utilize only the excess network bandwidth as compared to the ``fair share'' of bandwidth as targeted by TCP.\\
See \url{http://www-ece.rice.edu/networks/TCP-LP/}}

\subparagraph{TCP Veno}$~$\\
CONFIG\_TCP\_CONG\_VENO [=m] \textbf{[M]}\\*
TCP Veno ist eine rein senderseitige Erweiterung von TCP, um einen besseren Durchsatz in drahtlosen Netzen zu erzielen.
TCP Veno nutzt die Zustandsunterscheidung, um die schwierige Beurteilung der Paketverlustart zu umgehen.
TCP Veno verkleinert das Überlastungsfenster als Reaktion auf zufällige Paketverluste.
Siehe \url{http://ieeexplore.ieee.org/xpl/freeabs\_all.jsp?arnumber=1177186}
\english{TCP Veno is a sender-side only enhancement of TCP to obtain better throughput over wireless networks.
TCP Veno makes use of state distinguishing to circumvent the difficult judgment of the packet loss type.
TCP Veno cuts down less congestion window in response to random loss packets.\\
See \url{http://ieeexplore.ieee.org/xpl/freeabs\_all.jsp?arnumber=1177186}}

\subparagraph{YeAH TCP}$~$\\
CONFIG\_TCP\_CONG\_YEAH [=m] \textbf{[M]}\\*
YeAH-TCP ist ein absenderseitiger Hochgeschwindigkeits"=TCP"=Überlastungskontrollalgorithmus, der einen gemischten Verlust-/Verzögerungsansatz zur Berechnung des Überlastungsfensters verwendet.
Seine Entwurfsziele sind hohe Effizienz, interne, RTT- und Reno-Fairness, Widerstandsfähigkeit gegenüber Verbindungsverlusten und eine möglichst geringe Belastung der Netzelemente.\\
Weitere Einzelheiten finden Sie hier: \url{http://wil.cs.caltech.edu/pfldnet2007/paper/YeAH_TCP.pdf} or \href{https://www.gdt.id.au/~gdt/presentations/2010-07-06-questnet-tcp/reference-materials/papers/baiocchi+castellani+vacirca-yeah-tcp-yet-another-highspeed-tcp.pdf}
{Link via www.gdt.id.au}
\english{YeAH-TCP is a sender-side high-speed enabled TCP congestion control algorithm, which uses a mixed loss/delay approach to compute the congestion window.
It's design goals target high efficiency, internal, RTT and Reno fairness, resilience to link loss while keeping network elements load as low as possible.\\
For further details look here: \url{http://wil.cs.caltech.edu/pfldnet2007/paper/YeAH\_TCP.pdf}}

\subparagraph{TCP Illinois}$~$\\
CONFIG\_TCP\_CONG\_ILLINOIS [=m] \textbf{[M]}\\*
TCP-Illinois ist eine absenderseitige Modifikation von TCP Reno für Hochgeschwindigkeitsverbindungen mit langer Verzögerung.
Es nutzt die Round-Trip-Zeit, um die Alpha- und Beta-Parameter anzupassen, um einen höheren durchschnittlichen Durchsatz zu erreichen und Fairness zu wahren.
Für weitere Einzelheiten siehe: \url{http://www.ews.uiuc.edu/~shaoliu/tcpillinois/index.html}
\english{TCP-Illinois is a sender-side modification of TCP Reno for high speed long delay links.
It uses round-trip-time to adjust the alpha and beta parameters to achieve a higher average throughput and maintain fairness.\\
For further details see: \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"=Kennzeichnung unterstützen und so konfiguriert sein, dass sie bei Erreichen bestimmter Switch-Pufferschwellenwerte gekennzeichnet werden.
Die Standardheuristik für die ECN"=Markierungsschwelle für DCTCP auf Switches liegt bei 20~Paketen (\qty{30}{\kilo\byte}) bei \qty{1}{\giga\bit\per\second} und 65~Paketen ($\approx$ \qty{100}{\kilo\byte}) bei \qty{10}{\giga\bit\per\second}, muss aber möglicherweise noch weiter optimiert werden.\\
Weitere Einzelheiten siehe:\\
\url{http://simula.stanford.edu/~alizade/Site/DCTCP\_files/dctcp-final.pdf}
\english{DCTCP leverages Explicit Congestion Notification (ECN) in the network to provide multi-bit feedback to the end hosts.
It is designed to provide:\\
-- High burst tolerance (incast due to partition/aggregate),\\
-- Low latency (short flows, queries),\\
-- High throughput (continuous data updates, large file transfers) with commodity, shallow-buffered switches.\\
All switches in the data center network running DCTCP must support ECN marking and be configured for marking when reaching defined switch buffer thresholds.
The default ECN marking threshold heuristic for DCTCP on switches is 20~packets (30KB) at 1Gbps, and 65~packets (\~100KB) at 10Gbps, but might need further careful tweaking.\\
For further details see: \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}
\english{CAIA Delay-Gradient (CDG) is a TCP congestion control that modifies the TCP sender in order to:\\
o Use the delay gradient as a congestion signal.\\
o Back off with an average probability that is independent of the RTT.\\
o Coexist with flows that use loss-based congestion control.\\
o Tolerate packet loss unrelated to congestion.\\
For further details see:\\
 D.A. Hayes and G. Armitage. ``Revisiting TCP congestion control using delay gradients.'' In Networking 2011.
 Preprint: \url{http://caia.swin.edu.au/cv/dahayes/content/networking2011-cdg-preprint.pdf}}

\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.
\english{BBR (Bottleneck Bandwidth and RTT) TCP congestion control aims to maximize network utilization and minimize queues.
It builds an explicit model of the bottleneck delivery rate and path round-trip propagation delay.
It tolerates packet loss and delay unrelated to congestion.
It can operate over LAN, WAN, cellular, wifi, or cable modem links.
It can coexist with flows that use loss-based congestion control, and can operate with shallow buffers, deep buffers, bufferbloat, policers, or AQM schemes that do not provide a delay signal.
It requires the fq (``Fair Queue'') 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.
\english{Select the TCP congestion control that will be used by default for all connections.}

\subsubparagraph{Cubic}$~$\\
CONFIG\_DEFAULT\_CUBIC [=y] \textbf{[Y]}\\*
Für diese Option ist keine Hilfe vorhanden.
\english{There is no help available for this option.}

\subsubparagraph{Htcp}$~$\\
CONFIG\_DEFAULT\_HTCP [=n] \textbf{[N]}\\*
Für diese Option ist keine Hilfe vorhanden.
\english{There is no help available for this option.}

\subsubparagraph{DCTCP}$~$\\
CONFIG\_DEFAULT\_DCTCP [=n] \textbf{[N]}\\*
Für diese Option ist keine Hilfe vorhanden.
\english{There is no help available for this option.}

\subsubparagraph{Reno}$~$\\
CONFIG\_DEFAULT\_RENO [=n] \textbf{[N]}\\*
Für diese Option ist keine Hilfe vorhanden.
\english{There is no help available for this option.}

\paragraph{TCP: Authentication Option (RFC5925) \tiny{seit 6.7}}\mbox{}\\
CONFIG\_TCP\_AO [=y] \textbf{[Y]}\\*
TCP-AO spezifiziert die Verwendung von stärkeren Message Authentication Codes (MACs), schützt vor Wiederholungen für langlebige TCP-Verbindungen und bietet mehr Details über die Verbindung von Sicherheit mit TCP-Verbindungen als TCP MD5 (siehe RFC5925)\\
Wenn Sie unsicher sind, sagen Sie N.
\english{TCP-AO specifies the use of stronger Message Authentication Codes (MACs), protects against replays for long-lived TCP connections,
and provides more details on the association of security with TCP connections than TCP MD5 (See RFC5925)\\
If unsure, say N.}

\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.
\english{RFC2385 specifies a method of giving MD5 protection to TCP sessions.
Its main (only?) use is to protect BGP sessions between core routers on the Internet.\\
If unsure, say N.}

\paragraph{The IPv6 protocol \texorpdfstring{$\rightarrow$}{->}}$~$\\
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.
\english{Support for IP version 6 (IPv6).\\
For general information about IPv6, see \url{https://en.wikipedia.org/wiki/IPv6}.\\
For specific information about IPv6 under Linux, see Documentation/networking/ipv6.rst and read the HOWTO at \url{https://www.tldp.org/HOWTO/Linux+IPv6-HOWTO/}\\
To compile this protocol support as a module, choose M here: the module will be called ipv6.}
