Konfiguration

Die Internetnummer

Die Internetnummer ist eine 32-Bit Zahl, die die Netzwerkschnittstelle eines Computers im Netz eindeutig bestimmt. Der besseren Lesbarkeit wegen wird sie byteweise dezimal geschrieben und durch Punkte getrennt. Ein Host hat mindestens soviele Internet-Adressen, wie er Schnittstellen zum Netz eingerichtet hat.

Netzwerkklassen, Subnetze und Netzmasken

Die IP-Nummer bezeichnet einen Host eindeutig. In der IP-Nummer wird auch das Netzwerk, in dem der Host steht bezeichnet. Welcher Teil der IP-Nummer zum Host und welche zum Netzwerk gehört, wird grundsätzlich durch die Netzklasse bestimmt, zu der die IP-Nummer gehört. Die Netzklasse wird durch die ersten Bits des ersten Bytes bestimmt. Dabei gilt:

Bits für Netze Anzahl der NetzeBits für Stationen Anzahl der Stationen Kennungen der ersten Zahl
Class A 7 128 24 16777216 1-127
Class B 14 16384 16 65536 128-191
Class C 21 2097152 8 256 192-223

Die Nummern 224-255 im ersten Byte sind reserviert und dürfen nicht als Netzwerknummern verwendet werden. Die Nummer einer Station darf weder alle Bits der Host-ID high oder low haben. Alle IP-Nummern mit der gleichen Netzwerknummer gehören zum gleichen Netz. Damit wird eine Nachricht von einem Host direkt an den Zielrechner gesandt.

Subnetze

Ein Netz kann intern aufgeteilt werden. Dazu dient die Netzmaske. Für außenstehende Rechner erscheint das Netz homogen. Dazu wird die Netzmaske (netmask) verwendet. Diese beschreibt, welche Bits der Internet-Adresse das Netzwerk bezeichnen. Für die drei Klassen von Netzen sind folgende Netzmasken Standard:

Klasse hexadezimal dezimal
Class A 0xFF000000 255.0.0.0
Class B 0xFFFF0000 255.255.0.0
Class C 0xFFFFFF00 255.255.255.0

Die Maske enthält für jedes Bit, das zur Netzwerkadresse gehören soll, eine 1. Soll nun ein Class C Netzwerk in zwei Teilnetze gegliedert werden, muß zumindest das erste Bit der Hostadresse als Netzwerkadresse mitverwendet werden. Die neue Netzwerkmaske wäre also 0xFFFFFF80. Damit wären alle Hosts mit einer Hostadresse größer als 128 in dem einen Netz und diejenigen mit der Adresse kleiner als 127 in dem anderen Netz. Die Adressen 0 und 128 sind nun Netzadressen und die Adressen 127 und 255 Broadcastadressen und dürfen entsprechend nicht als Hostadressen verwendet werden.

Freie LAN-Nummern

Für jede Klasse wurde ein Bereich von Nummern definiert, der im Internet nicht geroutet wird. Eine solche Nummer sollte für lokale Netze verwendet werden, solange keine eigene IP-Nummer reserviert ist.

Class A 10.0.0.0
Class B 172.16.0.0
Class C 192.168.0.0 bis 192.168.255.0

Festlegen der IP-Nummer

Der Befehl ifconfig legt die Internet-Adresse jeder Schnittstelle fest. Der Aufruf erfolgt in einer der Startup-Dateien. Er kann aber nachträglich noch geändert werden. Leider ist der Name der Schnittstelle nicht einheitlich. Lediglich der Name der Loopback-Einheit ist allgemein lo0.

    ifconfig eth0 192.168.109.237

Hier wird der ersten Ethernet-Karte die Internet-Adresse 192.168.109.237 zugeordnet. Der Name der Kommunikationseinheit ist nicht auf allen Systemen ein Eintrag des Verzeichnisses /etc, sondern wird oft auf anderen Wegen festgelegt.

SystemInterfacename
SCO: Je nach Hardware 3b0, wdn0 und so weiter
OS/2 ftp PCTCP: nd0
Linux: eth0
Solaris: le0

Der Befehl ifconfig <Schnittstelle> ohne Parameter zeigt die aktuelle Einstellung des Interfaces an. Mit dem Befehl


    ifconfig <interface> [down | up]

kann ein Interface ab- und wieder eingeschaltet werden. Dies ist vor allem bei seriellen Verbindungen von Bedeutung. Dem ifconfig-Befehl muß die Option metric mit einer Nummer angehängt werden. Dies versieht die Verbindung mit einer künstlichen Entfernung zum eigenen Netz. Dadurch können
dynamische Routing-Algorithmen dazu gebracht werden, diese Schnittstelle nur dann zu verwenden, wenn andere Wege nicht mehr zugreifbar sind. Ein typisches Beispiel ist eine Wählleitung, die als Ausfalleitung einspringt, wenn die Standleitung ausfällt. Im Normalfall ist die metric beim ifconfig 0.

Routing: Verbindung mehrerer Netzwerke

Aus den verschiedensten Gründen werden Netzwerke in mehrere Netzwerke aufgesplittet. Dies kann aufgrund technischer Gegebenheiten sein, weil beispielsweise unterschiedliche physikalische Netzträger verwendet werden, etwa Ethernet und Token-Ring. Dies ist auch der Fall, wenn eine Filiale über Modem oder ISDN angekoppelt werden soll. Ein weiterer Grund kann das Ziel sein, die Netzlast in den einzelnen Netzen zu reduzieren.

Jeder Host kann von jedem Host im gleichen Netzwerk über seine Internetadresse erreicht werden. Dagegen ist eine Internetadresse eines fremden Netzes oder Subnetzes nur dann gegeben, wenn die Pakete weitervermittelt werden. Dazu dient ein Gateway. Im einfachsten Falle stellt das Gateway nur eine Bridge dar. In diesem Fall muß jeder Rechner, der über dieses Gateway nach außen will, angeben, welcher Host diese Funktion erfüllt. Dabei kann es verschiedene Gateways für verschiedene Netze geben.

Gateways

Ein Gateway ist ein Computer mit zwei Netzwerkanschlüssen, die jeweils an ein anderes Netz angeschlossen sind. Jede Schnittstelle hat eine eigene Internet-Nummer, die dem entsprechenden Netzwerk zugeordnet ist. Kommt ein Paket auf der einen Netzwerkkarte für das jeweils andere Netz an, weiß der Computer, daß er sie in das andere Netz einspeisen kann.

Statische Festlegung einer Route

Der Rechner hält eine Routing-Tabelle, in der er ablegt, auf welchen Wegen er welche Netze erreichen kann. Um einen Rechner in einem fremden Netz zu finden, kann folgender Befehl gegeben werden:

    route add [host] <Host> [gateway] <Gateway> [metric] <Tiefe>

Will man ein komplettes Netzwerk über ein bestimmtes Gateway erreichen, lautet der Befehl:

    route add [net] <Netz> [gateway] <Gateway> [metric] <Tiefe>

Schließlich kann man den Rechner anweisen, alle unbekannten Netzwerkadressen über ein bestimmtes Gateway hinauszuschleusen:

    route add default [gateway] <Gateway> [metric] <Tiefe>

Der Eintrag default entspricht der IP-Nummer 0.0.0.0. Einträge in der Routing-Tabelle können wieder gelöscht werden:

    route delete [net|host] <Zieladresse< <Gateway>

Der metric-Parameter wird nur beim dynamischen Routing verwendet, um eine Bewertung der Qualität der Strecke vorzunehmen. Bei statischem Routing ist der Parameter irrelevant.

vgl. Hurt: p 138.

Anzeigen der Routingtabelle

Zum Anzeigen der eingetragenen Routen dient der Befehl:

    netstat -r

Er zeigt an, welche Adressen über welches Gateway geleitet werden und welche lokale Schnittstelle verwandt wird. Die angezeigten Flags haben die folgende Bedeutung

Flag Bedeutung
U used: die Route wird verwendet
G gateway: die Route zeigt auf ein ganzes Netz über ein Gateway
H host: diese Route zeigt nur auf einen einzelnen Rechner
D dumped: wurde durch ICMP redirected.

Beispiel für das Einrichten eines Gateways

Um das Zusammenspiel anschaulicher zu machen, soll eine Maschine zum Gateway zwischen zwei Subnetzen eingesetzt werden. Dazu muß der Rechner zunächst zwei Schnittstellen haben, die jeweils an eines der beiden Netze angeschlossen ist. Bei einem PC ist darauf zu achten, daß die Schnittstellen sich weder im IRQ, noch in der I/O-Adresse, noch im RAM-Bereich überschneiden. Die Treiber beider Karten müssen geladen werden. Dies geschieht unter OS/2 durch Eintrag des DEVICE in der CONFIG.SYS. In der Datei PROTOCOL.INI werden diese Treiber den logischen Karten zugeordnet.

ifconfig nd0 192.168.109.144 netmask 255.255.255.128

ifconfig nd1 192.168.109.14 netmask 255.255.255.128

Bei OS/2 ftp reichen diese Einträge bereits. Ein Blick in die Routing-Tabelle mit netstat -r zeigt:

192.168.109      192.168.109.14   U   nd0

192.168.109.128  192.168.109.144  U   nd1

Unter Linux beispielsweise erreicht der Befehl ifconfig nur den Eintrag der Internet-Adresse. Die Verbindung zum Netz muß explizit durch einen route-Befehl geschaltet werden.

route add 192.168.109.0 gw 192.168.109.14 metric 0

Dynamisches Routen

Insbesondere das Internet mit seinen vielen Teilnetzen und der ständigen Veränderung erfordert ein Routingverfahren, das sich dynamisch verändert. Für diese Zwecke gibt es diverse Protokolle, die nur dazu dienen, solche Veränderungen festzustellen und in den Routingtabellen zu aktualisieren.

In einem LAN, das keine Verbindung zum Internet hat, das nicht mehrere Ausfallrouten besitzt, ist der Einsatz solcher dynamischer Routing-Protokolle meist nicht sinnvoll.

Man unterscheidet internes und externes dynamisches Routen. Für das interne Routing ist der Router-Dämon (routed) verantwortlich. Er verwendet meist das RIP-Protokoll (Routing Information Protocol). Ist externes Routing erforderlich, wird der Gateway-Dämon (gated) eingesetzt, der neben dem internen RIP auch das externe EGP (Exterior Gateway Protocol) verwendet. routed und gated sollten niemals gemeinsam auf einer Maschine laufen. Neuer als das EGP ist das BGP (Border Gateway Protocol). Da das externe Protokoll aber mit den Nachbarnetzen abgestimmt sein muß, ist ein Verschwinden des EGP in nächster Zeit nicht zu erwarten.

Das EGP informiert über die Erreichbarkeit autonomer Systeme. Ein autonomes System kann ein komplexes Netzwerk mit diversen internen Routern sein. Es muß nur nach außen abgeschlossen sein.

RIP (Routing Information Protocol)

Das RIP sendet alle 30 Sekunden Routing Informationen aus. Darin stehen Einträge für die Routingtabellen. Wird eine neue Verbindung mitgeteilt, wird die lokale Routingtabelle automatisch erweitert. Meldet sich ein Gateway nach 180 Sekunden nicht mehr, werden alle Routing-Einträge dieses Gateways aus der Routingtabelle gelöscht. Mit dem Aufruf route -q werden keine Routen in die lokale Tabelle eingetragen. routed liest beim Start die Datei /etc/gateways. Hier werden Routen von Gateways eingetragen, die keine Informationen versenden. Fehler im RIP können mit Hilfe des Befehls ripquery analysiert werden. Er zeigt alle Informationen, die durch RIP in die Routingtabelle eingegangen sind.

gated

gated kann sowohl das interne als auch das externe Routing durchführen. Für das interne Routing wird meist RIP verwandt. Als Startdatei verwendet es /etc/gated.conf. gated sollte niemals parallel zu routed laufen.

WAN-Verbindungen

Unter WAN-Verbindungen (WAN: Wide Area Network) versteht man Verbindungen zwischen LANs, Local Area Networks. Diese erfolgen i. A. per Modem oder über ISDN. Die Besonderheiten ergeben sich an mehreren Punkten: Um eine Modemverbingung in das TCP-IP-Netz zu integrieren sind die beiden verbreitetsten Protokolle SLIP und PPP.

Sowohl SLIP als auch PPP verwenden cu oder tip, um die Modemverbindung aufzubauen.

SLIP

SLIP ist ist die ältere Version, die nicht durch irgendeinen Standard definiert ist. Sie ist allerdings weiter verbreitet als PPP, das relativ neu ist. SLIP muß in vielen Fällen im Kernel vorgesehen sein. Evtl. ist eine Kernel-Konfiguration und ein anschließendes Neubilden erforderlich. Im SLIP wird zur Definition der Schnittstelle statt dem Befehl ifconfig der Befehl slattach verwendet. (SUN, SCO):

    slattach      

Es muß also die Zieladresse im Vorhinein bekannt sein.
slogin
Mit slogin ist es möglich, kurzfristige Verbindungen zu anderen Netzen aufzubauen.\footnote{vgl.: Hurt pp. 127-129.}
Besonderheiten verschiedener Implementationen
SCO kennt den Befehl sldeattach <tcp-Schnittstelle> Dieser gibt die Schnittstelle für normale Dienste wie Terminal- oder Modemanschluß wieder frei. tcp-Schnittstelle meint hier nicht das Schnittstellen-Device wie beim slattach, sondern der Name des Interface, wie er beim netstat -i erscheint.

AIX verwendet slattach für die Zuordnung der seriellen Schnittstelle und ifconfig zur Definition der IP-Nummer.


    slattach /dev/tty1 '""ATZ OK \pATDT 5544 CONNECT""'

PPP

PPP (point to point protocol) ist durch eine RFC standardisiert. Es hat ein 3-Layer Protokoll. Data Link Layer Protocol ist ein modifiziertes HDLC. Es verfügt über Mechanismen der Reliability. Link Control Protocol befaßt sich mit Verbindungsauf- und -abbau. Network Control Protocol Eine Verbindung wird mit dem Befehl

    ppp  <eigene IP-Nr>:[<IP-Nr der Gegenstelle>]  <Device>  &

hergestellt. Wird die IP-Nr. der Gegenstelle nicht angegeben, ``lernt'' ppp diese beim Verbindungsaufbau.

Paketgrößen

Die MTU bestimmt die Größe eines Pakets und ist abhängig vom physikalischen Medium, über das das Paket versendet wird. Gerade im WAN-Bereich können große Pakete dadurch teuer werden, daß die Störungswahrscheinlichkeit höher ist und die Leitung langsam ist.

Die Windowgröße gibt an, welche Größe der Empfangspuffer der Maschine ist. Dieser Wert wird zwischen den Partnern beim Verbindungsaufbau ausgetauscht. Der Sender schickt immer soviele Daten bis das Window voll ist. Spätestens jetzt wartet er auf eine Bestätigung der Gegenseite. Erfolgt diese nicht, wird das vollständige Window noch einmal versandt.


(C) Copyright Arnold Willemer 1999