Linuxfibel - Der Kernel - Prozessdateisystem

Aus LinWiki.de

Projektseite
Navigation
Anfang
Inhalt
Einleitung
Erste Schritte
Die Bash
Das Dateisystem
Nutzerkommandos
Installation
Shells
Unix-Werkzeuge
System-Administration
X Window System
Der Kernel
Netzwerk Grundlagen
Netzwerk Clients
Netzwerk Server
Sicherheit
Anhang
Register

Inhaltsverzeichnis

[Bearbeiten] Übersicht

Beim Prozessdateisystem handelt es sich um ein virtuelles Dateisystem. D.h. es existiert nur während der Laufzeit von Linux, es beansprucht keinen Speicherplatz auf der Festplatte, es liegt im Hauptspeicher und besitzt mit dem Verzeichnis »/proc« einen definierten Eintrittspunkt.

Das Prozessdateisystem ist ein Spiegel des Systems und ordnet die Informationen des Kernels in einer hierarchischen Struktur an. Aus ihm lassen sich etliche Informationen gewinnen und - in gewissen Grenzen - die Arbeit des Kernels modifizieren.

Das Prozessdateisystem wurde speziell für die x86er-Architektur entwickelt und steht deswegen unter Linux-Implementierungen auf anderen Hardwaretypen nicht immer zur Verfügung.

Weitere Implementierungen gibt es für die Architekturen

  • IBM s390
  • IBM s390x

[Bearbeiten] Informationen über das System

Nicht nur dem Administrator stehen mit dem Prozessdateisystem allerlei Informationen über den Zustand des Systems zur Verfügung:

  • Zu jedem aktiven Prozess des Systems sammelt der Kernel im Prozessdateisystem alle relevanten Informationen, wie Rechendauer, aktueller Zustand, Speicherverbrauch, seine Kommandozeilenoptionen,...
  • Die Einstellungen der Hardware (IO-Basisadressen, Interrupts,...)
  • Die Parameter des Netzwerks (Statistiken)
  • Speicherauslastung, Systemauslastung
  • Geöffnete Dateien, Dateisperren, ...

Etliche Kommandos, die Informationen aus den oben genannten Bereichen darstellen, gewinnen diese aus dem Prozessdateisystem. Andere Kommandos wiederum kommunizieren direkt mit dem Kernel.

[Bearbeiten] Der Inhalt des Prozessdateisystems

[Bearbeiten] Informationen zu einem Prozess

Ein Blick in das Verzeichnis »/proc« bringt eine Reihe von Verzeichnissen, die mit Ziffern benannt sind, zu Tage. Eine Ziffer entspricht dabei genau der Nummer (PID) eines Prozesses. Und jeder aktive Prozess ist durch sein eigenes Verzeichnis vertreten. Jedes der Unterverzeichnisse enthält diegleichen Einträge:

user@sonne> ls -l /proc/1
ls: /proc/1/exe: Keine Berechtigung
ls: /proc/1/root: Keine Berechtigung
ls: /proc/1/cwd: Keine Berechtigung
insgesamt 0
-r--r--r--   1 root     root            0 Jul  5 15:58 cmdline
lrwx------   1 root     root            0 Jul  5 15:58 cwd
-r--------   1 root     root            0 Jul  5 15:58 environ
lrwx------   1 root     root            0 Jul  5 15:58 exe
dr-x------   2 root     root            0 Jul  5 15:58 fd
pr--r--r--   1 root     root            0 Jul  5 15:58 maps
-rw-------   1 root     root            0 Jul  5 15:58 mem
lrwx------   1 root     root            0 Jul  5 15:58 root
-r--r--r--   1 root     root            0 Jul  5 15:58 stat
-r--r--r--   1 root     root            0 Jul  5 15:58 statm
-r--r--r--   1 root     root            0 Jul  5 15:58 status 

Auch wenn das Kommando ls jedem Eintrag die Speichergröße »0« bescheinigt, sind die Dateien keineswegs leer:

user@sonne> cat /proc/1/status
Name:   init
State:  S (sleeping)
Pid:    1
PPid:   0
Uid:    0       0       0       0
Gid:    0       0       0       0
Groups:
VmSize:      372 kB
VmLck:         0 kB
VmRSS:       204 kB
VmData:       24 kB
VmStk:         4 kB
VmExe:       332 kB
VmLib:         0 kB
SigPnd: 0000000000000000
SigBlk: 0000000000000000
SigIgn: 7fffffffd7f0d8fc
SigCgt: 00000000280b2603
CapInh: 00000000fffffeff
CapPrm: 00000000ffffffff
CapEff: 00000000fffffeff

Die Einträge enthalten im Einzelnen:

cmdline Argumente der Kommandozeile

cwd Link zum Arbeitsverzeichnis des Prozesses

environ Werte der Umgebungsvariablen

exe Link zum Programm

fd Verzeichnis, dass die offenen Dateideskriptoren des Prozesses beinhaltet

maps Speichermapping

mem Speicherbedarf des Prozesses

root Link zum Wurzelverzeichnis

stat Prozessstatus

statm Informationen zum belegten Speicher

status Wie »stat«, nur in tabellarischer Form

[Bearbeiten] Die Kerneldaten

Direkt unterhalb von »/proc« finden sich allerlei Dateien, die teilweise identische Namen haben, wie sie bei den einzelnen Prozessen auftauchten. Etwas oberflächlich betrachtet, ist der Kernel ja auch nichts anderes als ein Programm und da er aktiv ist, weiß er allerlei zu berichten:

apm Die Statistiken des Power Managements

cmdline Die Kommandozeilenargumente des Kernels

cpuinfo Informationen zum Herz des Rechners

devices Dem Kernel bekannte Devices

dma Benutzte DMA-Kanäle

filesystems Unterstützte Dateisysteme

interrupts Belegte Interrupts

ioports Verwendete IO-Ports

kcore Zugang zum Arbeitsspeicher

kmsg Protokolldatei des Kernels (siehe Protokollierung - klogd)

ksyms Die Symboltabelle des Kernels (Zuordung von Adressen zu Funktionsnamen)

loadavg Systemlast

locks Sperren des Kernels

meminfo Auslastung des Speichers

misc Statistiken, die anderen Bereichen nicht zuzuordnen sind

modules Alle geladenen Module

mounts Gemountete Dateisysteme

partitions Alle bekannten Partitionen

pci Aktivierte PCI-Geräte

rtc Real Time Clock

slabinfo Slab Pool Informationen

stat Allgemeine Statistiken

swaps Swap-Auslastung

uptime Zeitdauer, die das System aktiv ist u.a.

version Kernelversion und Übersetzungsdatum

Viele der Informationen stehen auch dem normalen Benutzer zur Verfügung. Als Beispiel lesen wir die Daten zur CPU aus:

user@sonne> cat /proc/cpuinfo
processor       : 0
vendor_id       : AuthenticAMD
cpu family      : 5
model           : 8
model name      : AMD-K6(tm) 3D processor
stepping        : 12
cpu MHz         : 451.035904
fdiv_bug        : no
hlt_bug         : no
sep_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 1
wp              : yes
flags           : fpu vme de pse tsc msr mce cx8 sep mtrr pge mmx 3dnow
bogomips        : 897.84

[Bearbeiten] IDE-Geräte

Die Informationen zu den IDE-Geräten befinden sich im Verzeichnis "/proc/ide". Zunächst enthält die dortige Datei "drivers" die dem Kernel bekannten IDE-Treiber:

user@sonne> cat /proc/ide/drivers
ide-floppy version 0.9
ide-tape version 1.13
ide-cdrom version 4.54
ide-disk version 1.09

Weiterhin existieren Unterverzeichnisse, deren Namensgebungen der Nummerierung der IDE-Geräte im System entsprechen und es existieren Links auf das jeweilige Verzeichnis, deren Namen wie das zugehörige Device lauten. Zum Beispiel ist die erste IDE-Festplatte das erste IDE-Gerät im System und wird durch das Verzeichnis »ide0« repräsentiert. Auf dieses existiert der Link »hda«. Wechseln wir in das Verzeichnis der ersten IDE-Festplatte:

user@sonne> ls /proc/ide/ide0/
channel  config  hda  mate  model

channel ist der verwendete IDE-Kanal (0 oder 1), config enthält bei PCI-Bridges die Konfigurationsdaten, mate beinhaltet Namen verwandter IDE-Geräte und model ist der Typ des Gerätes (z.B. »pci«). Weiterhin existiert ein Unterverzeichnis hda, das die Details zum Gerät kennt:

cache Cache-Speicher (nur bei Festplatten)

capacity Speicherkapazität des Gerätes

driver Treibername und -version

geometry Plattengeometrie (nur bei Fetsplatten)

identify Block, anhand dessen das Gerät erkannt wird

media Mediumtyp (disk, cdrom, ...)

model Kennung des Gerätes

settings Einstellungen des Gerätes

smart_thresholds Schranken des IDE-Disk Managements

smart_values Werte des IDE-Disk Managements

[Bearbeiten] Netzwerk

Im Unterverzeichnis »/proc/net« finden Sie die Statistiken und Informationen zum Netzwerk:

user@sonne> ls /proc/net/
arp        igmp         ip_masquerade  rarp   rt_acct   tcp
dev        ip_fwchains  netlink        raw    rt_cache  tr_rif
dev_mcast  ip_fwnames   netstat        route  snmp      udp
dev_stat   ip_masq      psched         rpc    sockstat  unix

arp ARP-Tabelle des Kernels (Zuordnung von IP-Adressen zur Hardwareadresse)

dev Statistiken der Netzwerk-Devices

dev_mcast Multicast-Gruppen, die an einem Device »lauschen«

dev_stat Status der Netzwerk-Devices

igmp Tabelle des Internet Group Management Protocol (für Routing)

ip_fwchains Firewall IP-Forwarding Regeln

ip_fwnames Namen der Firewall-Listen

ip_masq Unterverzeichnis mit Tabellen für das Masquerading (Maskieren einer privaten IP-Adresse durch eine öffentliche), aktive »Maskierungen«

ip_masquerade Zuordnungstabelle für das Masquerading

netlink' Liste der Netlink Sockets

netstat Netzwerk Statistiken

psched Parameter des Paket Schedulers, der die Pakete filtert, um eine dedizierte Auswertung des Datenaufkommens vornehmen zu können

rarp Kerneltabelle des Reverse ARP (nur für plattenlose Rechner relevant, die ihre IP-Adresse von einem Server anhand ihrer Hardwareadresse anfordern)

raw Statistiken des raw-Devices

route Routing Tabelle des Kernels

rpc Verzeichnis mit Informationen aktiver RPC-Dienste

rt_cache Cache mit Routing-Informationen

snmp Daten (Managements Information Bases) des Simple Network Management Protocols

sockstat Statistiken aller Sockets

tcp Tabelle der TCP Sockets

tr_rif Token Ring Routing Tabelle

udp Tabelle der UDP Sockets

unix Tabelle der geöffneten Unix Domain Sockets mit Refernzzähler, Protokoll, Flags, Typ, Status, Inodenummer und Pfad

[Bearbeiten] Parallele Schnittstellen

Informationen zu den parallelen Schnittstellen des System werden im Verzeichnis »/proc/parports« gehalten. Zu jeder existierenden Schnittstelle existiert ein Unterverzeichnis (Benennung »0«, »1«,...),

autoprobe Informationen, die automatisch erworben wurden

devices Liste der Devices, die den Port verwenden

hardware IO-Port-Adresse, (default) Interruptnummer, DMA-Kanal und Modus

irq Interruptnummer (überschreibt die Nummer in "hardware")

[Bearbeiten] SCSI-Geräte

Alle im System aktiven SCSI-Adapter erhalten ein eigenes Unterverzeichnis mit allen angeschlossenen Geräten. Diese Dateien liefern Informationen (Parameter) und Statistiken zum jeweiligen SCSI-Gerät.

Die Datei »/proc/scsi/scsi« beinhaltet eine Liste aller erkannten SCSI-Geräte des Systems.

[Bearbeiten] System

Im Unterverzeichnis «/proc/sys» befinden sich verschiedene Kernelinformationen. Die Einordnung dieser in einen eigenen Verzeichnisbaum könnte durch die Möglichkeit motiviert worden sein, durch manuelle Änderung dieser Parameter Einfluss auf den aktiven Kernel nehmen zu können.

Dieser »heiklen« Methode der Konfiguration werden wir uns im nächsten Abschnitt annehmen. Hier soll nur eine knappe Beschreibung der enthaltenen Dateien und Verzeichnisse erfolgen (diese können sich von Kernelversion zu Kernelversion teils stark unterscheiden).

dev Die Parameter des CDROM-Treibers stehen hier (andere Treiber sollen in späteren Kernelversionen Unterstützung erfahren)

fs Informationen zu einigen unterstützten Dateisystemen findet man hier

kernel Hier kann direkt am Kernel geschraubt werden, so lassen sich Rechnername, NIS-Domainname, die Menge der Debugausgaben u.v.m. manipulieren

net Hierunter finden sich Dateien, über die sich einige Netzwerkparameter abstimmen lassen

sunrpc Das Debuggen einer RPC-Dientse kann an- bzw. abgestellt werden

vm Die hier enthaltenen Dateien steuern das Verhalten der virtuellen Speicherverwaltung

[Bearbeiten] Terminals

Die aktiven und verfügbaren Terminals (tty's) sind im Verzeichnis »/proc/tty« enthalten.

driver Verzeichnis, das die Datei »serial« enthält, in der wiederum die Zugriffsstatistiken stehen

drivers Liste der Terminal-Treiber

ldiscs ???

[Bearbeiten] Manuelle Eingriffe

Stellen Sie sich vor, Sie müssten ein Linux-System auf einen Webserver aufspielen. Die Forderung seitens Ihres Chefs lautet, dass gleichzeitig 1000 Zugriffe bedient werden müssen. Ihre Anwort gipfelt in einer Aufzählung der erforderlichen Hardware: SMP-System mit Gigahertz-Prozessoren, ultra flinke SCSI-Platten, maximaler Hauptspeicheraufbau... Und dennoch werden Sie nach verrichteter Arbeit bald bemerken, dass die Zugriffszahlen allmählich schwinden. Ihre Nachforschungen werden ergeben, dass die schlechten Antwortzeiten Ihres Systems die Benutzer vergraulten. Und dabei werkelten die Prozessoren doch niemals am Limit?

Der Grund identifiziert sich bald in Form einiger Schranken, die Linux sich selbst auferlegt, weil diese Schranken dem »Normalfall« allemal genügen und das gesamte System so schneller läuft.

Aber Ihr Fall ist kein Normalfall. Und so sollten Sie ein wenig an den Schrauben der Begrenzung drehen...

Vorsicht: Ein unüberlegter Eingriff kann Ihr System abstürzen lassen!

[Bearbeiten] Schranken in »/proc/sys/fs/«

user@sonne> ls /proc/sys/fs
dentry-state  dquot-nr  file-nr    inode-nr     super-max
dquot-max     file-max  inode-max  inode-state  super-nr

dentry-state Statusinformation zum Verzeichniscache, wobei der zweite Eintrag die Anzahl freier Cachezeilen angibt und der dritte die Verweildauer, bis ein Eintrag, auf den nicht mehr zugegriffen wurde automatisch gelöscht wird

dquot-max Maximale Anzahl von Quota-Einträgen im Cache (mit Quotas kann der Verbrauch an Festplattenspeicher für einzelne Benutzer begrenzt werden), für Systeme auf denen sehr viele Benutzer zur selben Zeit angemeldet sind, kann eine Erhöhung des Wertes notwendig werden:

root@sonne> cat /proc/sys/fs/dquot-max
1024
root@sonne> echo "2048" > /proc/sys/fs/dquot-max
root@sonne> cat /proc/sys/fs/dquot-max
2048

dquot-nr Anzahl belegter und freier Einträge im Quota-Cache

file-max Maximale Anzahl gleichzeitig geöffneter Dateien, der übliche Wert wird für einige Serveranwendungen nicht ausreichen und sollte erhöht werden (spätestens wenn Fehlermeldungen erscheinen, dass keine neuen Dateien mehr geöffnet werden können:

root@sonne> echo "8192" > /proc/sys/fs/file-max

Ein einzelner Prozess darf allerdings nur eine beschränkte Anzahl Dateien öffnen (meist 1024), um diesen Wert zu erhöhen, muss ein neuer Kernel mit vorherigem Eingriff in den Datei limits.h und fs.h generiert werden.

file-nr Die drei Werte bezeichnen von links nach rechts die Anzahl insgesamt reservierter Dateihandle, die Anzahl (davon) belegter Dateihandle sowie maximal verfügbare Anzahl Dateihandles.

inode-max Die Inodes geöffnter Dateien werden zum schnelleren Zugriff in einer Kernelstruktur gehalten. Wieviele Einträge so zwischengespeichert werden, kann durch den Wert "inode-max" beeinflusst werden. Er sollte "(3-4)*file-max" betragen.

inode-nr Zwei statistische Werte: Zum einen die Anzahl tatsächlich allokierter Einträge für Inodes (er kann etwas größer sein als »inode-max«, da die Anforderung neuen Speichers seitenweise erfolgt und die gesamte Seite für neue Inodes zur Verfügung steht), zum zweiten die Anzahl freier Einträge

inode-state Von den sieben Werten werden die letzten derzeit nicht verwendet, die beiden ersten decken sich mit den Informationen aus »inode-nr«, der dritte Wert ist verschieden von Null, um anzuzeigen, dass für neue Inodes kein weitere Speicher angefordert werden kann, sondern andere (ältere) Inode-Einträge überschrieben werden müssen

super-max Auch die Superblöcke der gemounteten Dateisysteme werden in einer Kernelstruktur gehalten, werden sehr viele Mounts notwendig, kann die Erhöhung des Wertes angemessen sein

super-nr Anzahl derzeit verwendeter Superblock-Einträge

[Bearbeiten] Schranken in »/proc/sys/kernel/«

user@sonne> ls /proc/sys/kernel
acct           hostname        panic         rtsig-nr
cap-bound      modprobe       printk         shmall
ctrl-alt-del   osrelease      real-root-dev  shmmax
domainname     ostype         rtsig-max       version

acct Betrifft die Kontrolle der Prozesserzeugung nach BSD, wo diese von der Belegung des Dateisystems (dasjenige, wo die Prozessdaten abgelegt werden) abhängig gemacht wird. Die drei Werte bestimmen die Grenze an freiem Speicherplatz (1.Wert in Prozent), ab der die Erzeugung neuer Prozesse verhindert wird, die Schranke (in Prozent), ab welcher die Erzeugung wieder zugelassen wird und das Zeitintervall in Sekunden, nachdem die Speicherbelegung neu bewertet wird.

ctrl-alt-del Der Wert sollte immer »0« sein, da diese Tastenkombination den Prozess init zu einem Reboot überredet. Wird hier ein von »0« verschiedener Wert eingegeben, so bootet init ohne das Sichern von irgendwelchen Puffern!

domainname Der NIS-Domainname des Rechners

hostname Der Rechnername

modprobe Zugriffspfad zum Programm, das die Module nachlädt (normal »/sbin/modprobe«)

osrelease Version des Kernels

ostype Name des Betriebssystems, sollte immer "Linux" sein

panic panic ist eine Meldung höchster Priorität und deutet einen schwerwiegenden Fehler im System an (siehe auch Syslog-Dämon), der normalerweise einen Neustart erfordert. Steht in dieser Datei »0«, so hält der Kernel das System an (so dass die letzten Konsolenausgaben nicht sichtbar sind). Bei einem Server, der ohne Aufsicht läuft ist solch ein Verhalten allerdings nicht erwünscht. Ein solcher sollte selbsttätig booten. Indem in "panic" ein Wert >0 eingetragen wird, rebootet der Kernel das System nach Ablauf der durch Wert angegebenen Sekunden.

printk Die Datei beeinflusst die Arbeit der Kernelfunktion »printk()«, die die Kernelmeldungen ausgibt. Der erste Wert ist das Level, ab welcher Priorität Kernelmeldungen auf der Konsole ausgegeben werden (siehe klogd). Der zweite Wert ist das Prioritätslevel, mit dem Meldungen, die keine Prioritätsangabe enthalten, versehen werden. Wert Nr. 3 ist das Minimum, worauf der erste Eintrag gesetzt werden darf und der vierte Eintrag ist das voreingestellte Level, ab dem Meldungen auf der Konsole landen.

real-root-dev Enthält die Devicenummer, wo sich das Root-Dateisystems befindet., für NFS steht hier die Pseudonummer 255

rtsig-max Anzahl Signale, die gleichzeitig verwaltet werden können (bis zur Behandlung eines Signals wird dieses in einer Kernlstruktur zwischengespeichert)

rtsig-nr Anzahl aktueller Signale

shmall Maximale Anzahl Shared Memory Segmente

shmmax Maximale Größe eines Shared Memory Segments in Bytes

version Übersetzungsdatum des Kernel

[Bearbeiten] Schranken in »/proc/sys/net/«

user@sonne> ls /proc/sys/net
802  core  ethernet  ipv4  token-ring  unix

802 In diesem Unterverzeichnis befinden sich die Daten zum E802-Protokoll (AX.25), allerdings macht Linux selten hiervon Gebrauch

core Einige generelle Einstellungen zum Netzwerk lassen sich hier vornehmen. Interessant ist message_burst, das die Zeitspanne in zehntel Sekunden enthält, innerhalb derer maximal eine Warnung von Netzwerktreibern protokolliert wird. Damit wird sicher gestellt, dass durch Fehlermeldungen (die durchaus »von außen« mutwillig provoziert werden könnten) binnen kurzer Zeit die Protokolldateien anschwellen. Mit message_cost kann durch einen hohen Wert die im Netzwerk generierte Anzahl der Meldungen verringert werden. Empfangene Nachrichten werden zwischen gespeichert und sobald als möglich an den Kernel weitergereicht. Wieviele Pakete maximal gespeichert werden könen, steht in netdev_max_backlog. optmem_max beschränkt die Puffer (Platz zur Aufnahme der Köpfe ohne Daten der Pakete), die für Sockets zur Verfügung stehen. Wieviel Speicher einem Socket bei dessen Erzeugung für zu empfangende Daten insgesamt zur Verfügung steht, sagt rmem_default. Der Socket selbst kann weiteren Speicher anfordern, insgesamt jedoch nicht mehr als rmem_max besagt. Die zu sendenden Datenpuffer werden durch wmem_default bzw. wmem_max beschränkt.

ethernet Das Unterverzeichnis kann Daten zum Ethernet Protokoll enthalten

ipv4

Unter diesem Verzeichnis verbirgt sich der komplexeste Teil des Netzwerks.

conf In diesem Unterverzeichnis finden Sie weitere Verzeichnisse zu jedem im System konfigurierten Netzwerkdevice. Zusätzlich steht noch ein Verzeichnis all zur Verfügung, um Konfigurationen vorzunehmen, die alle Devices betreffen. Jedes Unterverzeichnis beinhaltet die gleichen Dateien: accept_redirects enthält »1« oder »0«, je nachdem, ob der Kernel ICMP-Pakete annehmen soll oder nicht. Fungiert der Rechner als Router, sollte »0« eingetragen werden. accept_source_route legt fest, ob »Source routing« Pakete vermittelt oder verworfen werden. Beim »Source Routing« wird der Weg eines Paketes nicht dynamisch ermittelt, sondern durch den Absender vorgegeben. Der Wert sollte im Falle von Routern auf »1« stehen und»0« sonst. bootp_relay wird von aktuellen Kerneln nicht unterstützt forwarding erlaubt oder verhindert das Weiterleiten von Paketen zu einer IP-Adresse über dieses Device. log_martians Pakete, deren Route nicht ermittelt werden kann, können protokolliert werden. mc_forwarding erlaubt oder unterbindet Multicast-Routing, mit dem ein Paket gleichzeitig an mehrere Empfänger geleitet werden kann proxy_arp unterstützt bzw. unterbindet Proxy ARP (der lokale Rechner liefert stellvertretend für andere Rechner deren Hardwareadresse, falls eine ARP-Anfrage gestellt wird) rp_filter schaltet die Überprüfung der Sender-IP an bzw. ab secure_redirects akzeptiert ICMP-Pakete nur von bekannten Gateway-Rechnern send_redirects stellt ein, ob ICMP-Pakete vermittelt werden shared_media erlaubt den direkten Datenaustausch zwischen verschiedenen Netzwerken (»1«), oder untersagt diesen »0«.

icmp_echo_ignore_all und icmp_echo_ignore_broadcasts Die Werte sollten immer auf »0« stehen, um Anforderungen eines ICMP ECHO's zu bearbeiten, die zweite Datei betrifft nur Multicast- und Broadcastadressen (indem der Wert von icmp_echo_ignore_all auf »1« gesetzt wird, kann der Rechner vor einer »ping«-Anfrage verborgen werden)

icmp_destunreach_rate, icmp_echoreply_rate, icmp_paramprob_rate und icmp_timeexeed_rate Hier wird angegeben, in welchem Zeitintervall maximal ein ICMP-Paket gesendet werden darf (Angabe in 1/100 Sekunden), »0« hebt die Beschränkung auf. Die einzelnen Dateien stehen für den Grund, warum ein Paket verworfen und eine ICMP-Nachricht erzeugt wurde.

ip_autoconfig Enthält eine »1«, falls der Rechner seine IP-Adresse über ARP, BOOTP oder DHCP erhält, sonst »0«

ip_default_ttl Maximale Anzahl Stationen, die ein Paket durchläuft, bevor es als unzustellbar gilt

ip_dynaddr Die dynamische Vergabe von IP-Adressen kann an- bzw. abgeschaltet werden. Rechner mit Modem erhalten die IP für dieses Device meist vom Provider zugewiesen.

ip_forward Erlaubt oder untersagt das Routen von Paketen zwischen verschiedenen Netzwerkinterfacen.

ip_local_port_range Bereich der Portnummern, die von TCP oder UDP als lokale Ports verwendet werden können. Die Angabe erfolgt als Bereich <von_Portnummer>-<bis_Portnummer>.

ip_masq_debug Schaltet die Debugmeldungen über das Masquerading ein und aus.

ip_no_pmtu_disc Schaltet die MTU (maximal transfer unit), die Beschränkung der Paketlängen ein oder aus.

ipfrag_high_trash, ipfrag_low_trash Puffergröße zum Zusammenfügen fragmentierter IP-Pakete. Wenn der Puffer die Größe »ipfrag_high_trash«, erreicht, werden alle Pakete verworfen, bis er den Wert »ipfrag_low_trash« unterschreitet.

ipfrag_time Zeit in Sekunden, nach der ein ungenutztes Fragment eines IP-Paketes verworfen wird (falls nicht alle Fragmente ihr Ziel erreichen, wird sichergestellt, dass unvollständige Pakete nicht ewig im Speicher verharren)

neigh

Eigenschaften der Verbindung zu Rechnern im selben Netzwerksegment werden in diesem Unterverzeichnis vereinbart. Es existiert ein »default«- sowie zu jedem Netzwerkdevice ein eigenes Verzeichnis. Was in »default« steht, gilt allgemein:

anycast_delay wird von Linux nicht verwendet app_solicit beinhaltet wie oft der ARP-Dämon befragt werden soll (bevor eine IP-Adresse als nicht vermittelbar eingestuft wird) base_reachable_time Wert, der verwendet wird um eine »zufällige« Zeitspanne zu warten, bevor auf einem Netzwerkdevice gesendet wird delay_first_probe_time Verzögerungszeit, bis ein benachbarter Rechner auf seine Erreichbarkeit hin überprüft wird gc_stale_time Alle wieviel Sekunden soll der ARP-Cache nach veralteten Einträgen überprüft werden? Bei einem verfallenen Eintrag wird versucht, erneut die Hardwareadresse zu einer IP zu ermitteln. locktime Minimale Zeit, die ein Eintrag in der ARP-Tabelle seine Gültigkeit behält. mcast_solicit Maximale Anzahl Wiederholungen von Multicast-Anforderungen proxy_delay Solange wartet ein Proxy-ARP, bis er auf eine Anfrage antwortet proxy_qlen Maximale Anzahl Timer für eine verzögerte Antwort eines Proxy-ARP's. retrans_time Zeit in 1/100 Sekunden zwischen dem erneuten Senden eines Paketes, zu dem die Anwort noch aussteht ucast_solicit Maximale Anzahl Wiederholungen von Unicast-Anforderungen unres_qlen Anzahl Einträge in der Warteschlange für ausstehende ARP-Anfragen

route

Das Verzeichnis enthält eine Reihe von Dateien mit Routing-Informationen: error_burst Faktor, der die Anzahl von Fehlermeldungen vom Routingsystem limitiert error_cost Bestimmt, alle wieviel Sekunden (Angabe 1/100 Sekunden) maximal eine Meldung protokolliert werden darf flush Beim Leeren des Routing-Caches wird der Inhalt in diese Datei geschrieben gc_elasticity, gc_interval, gc_min_interval, gc_thresh, gc_timeout Steuerung der Zeitspannen und Art, wie der Routing-Cache aufgeräumt wird max_delay, min_delay Minimale und maximale Zeit zwischen dem Leeren des Caches (damit alte Routen nicht ewig ihre Gültigkeit behalten) max_size Maximale Anzahl Einträge im Routing Cache, ist er voll, überschreibt ein neue Route den ältesten nicht verwendeten Eintrag mtu_expires Maximale Zeit, die eine unbenutzte Route im Cache verweilen kann redirect_load Dies ist ein Faktor der bestimmt, ab welcher Belastung des Netzwerksystems ICMP-Nachrichten nicht gesendet werden. redirect_number Anzahl Versuche, eine ICMP-Nachricht zuzustellen redirect_silence Zeitspanne zwischen zwei Versuchen, eine ICMP-Nachricht zuzustellen

tcp_fin_timeout Wenn bei einer TCP-Verbindung die Gegenseite dem Wunsch zum Abbau der Verbindung nicht nachkommt, wird diese nach Ablauf dieser Zeitspanne (Sekunden) gekappt.

tcp_keepalive_probes Anzahl Testpakete, die ausgesendet werden, um festzustellen, ob der Partner aktiv ist. Danach gilt die Verbindung als unterbrochen.

tcp_keepalive_time Zeit des regelmäßigen Aussendens von Testpaketen, um eine Verbindung offen zu halten. Die Uhr startet neu, sobald ein »reguläres« Paket über die Verbindung geht.

tcp_max_ka_probes Wie viele Pakete zum Überprüfen sollen gesendet werden, während ein Timer die Zeitspanne bis zum Beenden der Verbindung stoppt?

tcp_max_syn_backlog Länge der Warteschlange für eingehende TCP-Verbindungsanforderungen für einen Socket. Treffen weitere Verbindungswünsche ein, werden die Pakete einfach verworfen, außer »syncookies« ist eingeschaltet. In letzterem Fall wird die Länge der Warteschlange ignoriert.

tcp_retrans_collapse Es soll Netzwerkdrucker mit einem fehlerhaften TCP-Stack geben. Durch eine »1« wird versucht, ein vom Drucker abgelehntes Paket diesem doch noch unterzuschieben, indem die Größe des Pakets erhöht wird und somit der Stack-Fehler (hoffentlich) nicht mehr Tragen kommt.

tcp_retries1, tcp_retries2 Der erste Wert bestimmt, wie oft eine Antwort auf ein TCP-Paket gesendet wird (jedes Paket muss vom Partner quittiert werden), bevor aufgegeben wird. Der zweite Wert bestimmt die maximale Anzahl von Versuchen, ein TCP-Paket zu senden

tcp_stdurg Einschalten der Funktionalität des Urgent Pointers (Vorrangdaten) nach den RFC793-Vorgaben, Voreinstellung ist die Interpretation nach BSD. Solche Datenpakete werden beim Empfänger sofort zur betreffenden Anwendung durchgestellt und nicht erst durch den Empfangspuffer geschleust.

tcp_syn_retries Anzahl Versuche eines Verbindungsaufbaus (ausgehende Verbindungen)

tcp_timestamps Die Verwendung von Zeitstempeln wird an- oder abgeschaltet

tcp_window_scaling Das dynamische Anpassen des Übertragunsgfensters wird aktiviert. Hierdurch kann allmählich versucht werden, die Übertragung zu beschleunigen. Treten dabei Paketverluste auf (z.B. weil der Empfänger die Pakete nicht schnell genug verarbeitet), wird das Fenster dynamisch verkleinert.

token-ring Daten zum Token Ring von IBM

unix Im Unterverzeichnis existieren drei Dateien. delete_delay gibt die Zeit in Sekunden an, nachdem ein geschlossener Socket aus der Tabelle entfernt wird. Sein reservierter Speicher wird nach der in destroy_delay festgelegten Spanne frei gegeben. max_dgram_qlen gibt die Länge der Warteschlange an, die eintreffende Daten am Socket zwischenspeichern kann.

Diese Seite wurde zuletzt am 20. Juni 2006 um 06:40 Uhr geändert.
Diese Seite wurde bisher 11.477-mal abgerufen.