next up previous contents
Next: BSD-Socket Up: Linux-Internals Interprozess- und Netzwerkkommunikation Previous: Zusammenfassung Kommunikationsbeziehungen   Contents


Netzwerkkommunikation

Note that 120 sec is defined in the protocol as the maximum possible RTT.
I guess we'll have to use something other than TCP to talk to the University of Mars.
- aus net/ipv4/tcp_timer.c
Eines der Grundanforderungen an ein Betriebssystem ist es Netzwerkkommunikation zu unterstützen. Linux, selbst nur durch das Internet so schnell verbreitet und gewachsen, unterstützt das Internet Protocol (IP) seit ca. Version 0.96a. Die Netzwerkimplementation basiert auf 4.3 BSD Sockets mit einigen Erweiterungen.

Wie in anderen Bereichen des Linux Kernels, wurden auch bei der Netzwerkimplementation verschiedene Abstraktionsschichten eingeführt. Die folgende Darstellung verdeutlicht dies:



\includegraphics{net_layers.eps}



Folgend werden nun die einzelnen Schichten und ihre Implementation im Linux-Kernel erläutert. Jede Schicht interagiert dabei mit der Schicht über bzw. unter ihr, um die Daten zu transportieren.

Insgesamt wird darauf geachtet, dass die zu transportierenden Daten möglichst selten kopiert werden, da dies den Netzwerk-Datendurchsatz des Linux-Kernels entscheidend beeinflusst. Soll ein Datenpaket zwischen zwei Programmen der beiden Rechner A und B verschickt werden, werden diese Daten insgesamt nur viermal kopiert. Vom Userspace des Rechners A in den Kernelbereich, von dort zum Netzwerkgerät, dann vom Netzwerkgerät des Rechners B in dessen Kernelbereich und von dort in den Userspace des Programms auf Rechner B.



Subsections
next up previous contents
Next: BSD-Socket Up: Linux-Internals Interprozess- und Netzwerkkommunikation Previous: Zusammenfassung Kommunikationsbeziehungen   Contents
2002-02-17