Netzwerke

Ein Netzwerk (auch LAN = Local Area Network genannt) verbindet mehrere Computer, damit diese auf gemeinsam genutzte Ressourcen wie Laufwerke, Drucker, E-Mails oder Online-Dokumente zugreifen können.

Peer-to-Peer oder Server?

Mit Windows-Computern, aber auch unter DOS oder Linux, lässt sich ein Peer-to-Peer-Netzwerk aufbauen. Das ist eines, bei dem es nicht (oder nicht unbedingt) einen zentralen Server-Computer gibt, auf dem alle gemeinsam genutzten Daten liegen, sondern jeder PC kann z.B. auf die Festplatte eines anderen PC zugreifen. Natürlich ist der Haken dabei, dass bei derart verteilten Ressourcen keiner der PCs jemals ausgeschaltet werden darf, solange irgend ein anderer noch auf seine Dateien zugreifen will. Ferner können eine hohe Systemlast oder Instabilitäten, die durch Anwenderprogramme verursacht werden, zu Problemen beim Zugriff auf diesen PC von anderen Workstations aus führen.

In größeren Netzwerken wird deshalb ein zentraler, dedizierter Server verwendet, der gewöhnlich mit ausgeschaltetem Bildschirm Tag und Nacht vor sich hin surrt und vor Stromausfällen durch eine USV (Unterbrechungsfreie Strom-Versorgung) geschützt ist. Dieser kann dann gleichzeitig auch zentrale Kommunikations-Aufgaben erfüllen, z.B. als Mail-Server, Web-Proxy, Faxserver oder Sprachmailbox.

Ob Server-basiertes oder Peer-to-Peer-Netz - jede für andere Rechner freigegebene Ressource erhält einen Namen, beispielsweise einfach C für das Laufwerk C. Das Ansprechen von Dateien im Netz kann prinzipiell auf zwei Arten erfolgen:

  1. durch Laufwerks-Mapping, d.h. einem freien Laufwerksbuchstaben der Workstation wie etwa D: wird eine bestimmte Server-Ressource (z.B. \\Server1\C) zugewiesen, so dass eine dort befindliche Datei Datei1.txt auf der Workstation als D:\Public\Datei1.txt erreichbar ist;
  2. durch UNC (Universal Naming Convention): Die Ressource wird ohne Laufwerks-Mapping direkt über den Server-Namen angesprochen, beispielsweise \\Server1\C\Public\Datei1.txt. Allerdings unterstützen nicht alle Anwendungs-Programme die Möglichkeit, solche Dateinamen einzugeben.

Die seit Windows 95 möglichen "langen" Dateinamen, die außer der größeren Länge gegenüber den alten DOS-Namen (8.3-Schema) auch gemischte Groß- und Kleinschreibung erlauben, werden von älteren Servern und Clients teilweise noch nicht unterstützt. Probleme können sich auch bei Leerräumen und bestimmten Sonderzeichen in Dateinamen ergeben, die je nach verwendetem Betriebssystem u.U. nicht oder nur eingeschränkt möglich sind.

Topologien: Stern, Bus, Ring

RJ45-SteckerUnter Topologie versteht man die physikalische Struktur des Netzwerks. Es sind drei Arten von Topologien üblich: Stern, Bus, Ring. Diese Struktur hat nichts damit zu tun, ob das Netz ein Peer-to-Peer-Netzwerk ist oder auf einem zentralen Server baisert; sie beschreibt lediglich die Art der Verkabelung. Üblich ist dafür auch eine Bezeichnung wie "xBase-y", wobei x die Transferrate in Mbit/s angibt und y die Kabelsorte, z.B. 2 = Koaxkabel, T = Twisted Pair (verdrillte Adernpaare), C = Kupferkabel, ein X steht für "eXtended rate", also erhöhte Geschwindigkeit. "Base" bedeutet Basisband-Technologie, d.h. die Daten werden nicht auf eine Trägerfrequenz aufmoduliert, sondern direkt gesendet. "10Base-T" kennzeichnet also ein Basisband-Netzwerk mit 10 Mbit/s über Twisted-Pair-Kabel.

Stern-Topologie

PC1 __ Hub __ PC2
       
PC3 __ __ PC4

Bei der heute überwiegend eingesetzten Stern-Topologie benutzt man normalerweise einen zentralen Hub oder Switch mit RJ45-Buchsen (die auch bei ISDN-Anschlüssen benutzt werden!) als Knoten. An ihn können soviele Rechner mit jeweils einem eigenen Kabel angeschlossen werden, wie der Hub Buchsen aufweist.

Kabel= weiß-orange
orange
weiß-grün
blau
weiß-blau
grün
weiß-braun
braun
1 Sendedaten +
2 Sendedaten -
3 Empfangsd. +
4
5
6 Empfangsd. -
7
8
Belegung eines RJ45-Steckers für
10/100 Mbit/s (Draufsicht auf die
Stecker-Kontakte, Adernfarben nach
EIA/TIA 568 B)

Gegenüber der Bus-Technologie hat diese Art der Verkabelung den Vorteil, dass der Ausfall eines Kabelsegments nicht gleich das gesamte Netzwerk lahmlegt. Ferner sind außer den früher üblichen 10 Mbit/s (10BaseT) damit wesentlich höhere Datenraten möglich: Die Fast-Ethernet-Netze (100BaseTX) schaffen 100 Mbit/s, wobei zur Taktrückgewinnung jeweils 4 Bits als 5 Bits (4B5B) mit 125 Mbit/s codiert übertragen werden. Dafür genügt eine Bandbreite von 31,25 MHz, da jeweils vier Bits in einen Zyklus passen (MLT-3 = dreiwertige Modulation, Trägerfrequenz 25 MHz).

Das Gigabit-Netz 1000BaseT (IEEE 802.3ab) arbeitet sogar mit 1 Gbit/s, also 1000 Mbit/s. Hierfür wird ähnlich wie bei V.90-Modems eine 5stufige Phasen-Amplituden-Modulation (PAM) mit einer Mittenfrequenz von 125 MHz verwendet.

Hubs besitzen meist 4, 6, 8 oder 16 RJ45-Anschlüsse. Einige haben zusätzlich noch einen BNC- oder Glasfaser-Anschluss, damit sie mit einem auf der Bus- oder Ring-Topologie basierenden Netz-Segment verbunden werden können, das beispielsweise die einzelnen Stockwerke eines Gebäudes miteinander verbindet. - Die nebenstehende Übersicht zeigt die Belegung der RJ45-Stecker und die am häufigsten benutzte Zuordnung zu den Adernfarben des Kabels.

Es ist übrigens nicht möglich, die RJ45-Buchsen zweier Netzwerkkarten ohne Hub oder Switch direkt über ein 1:1-Kabel miteinander zu verbinden, wohl aber über ein speziell angefertigtes Kabel, das die Empfangs- und Sendedaten-Adern passend miteinander vertauscht.

Netzwerk-Kabeltypen
Kategorie Frequenz Typische Anwendung
CAT1 0,1 MHz ISDN-Basisanschluss
CAT2 1 MHz ISDN-Primärmultiplex 
CAT3 16 MHz 10 Mbit/s (10BaseT)
CAT4 20 MHz 16-Mbit/s-Token Ring 
CAT5 100 MHz 100 Mbit/s (100BaseTX)
CAT6 200 MHz 1000 Mbit/s (1000BaseT)
CAT7 600 MHz Spezialanwendungen

Als Verbindung dienen heute meist S/UTP-Kabel (shielded/unshielded twisted pair), bei denen um die insgesamt acht Adern (meist sind nur sechs davon benutzt) eine Abschirmung gelegt ist. STP-Kabel besitzen um jedes Adernpaar einen getrennten Schirm, sind wegen der hohen Kosten aber nur selten anzutreffen.

Reine UTP-Kabel ohne Abschirmung sind nur bis 10 Mbit/s sinnvoll (10BaseT), bei höheren Geschwindigkeiten verursachen sie eine unvertretbare Störstrahlung. Die maximale Länge beträgt typischerweise 100 Meter, der Wellenwiderstand 100 Ohm.

Mit dem IEEE-Standard 802.3af, "Power over Ethernet" (PoE), ist über das Netzwerkkabel optional auch eine Stromversorgung angeschlossener Peripheriegeräte möglich. Es gibt zwei PoE-Varianten: Entweder kann man die freien Stecker-Pins 4, 5, 7, 8 dafür benutzen (spare wire), oder die Spannung wird den Sende/Empfangs-Datenleitungen überlagert (Phantom-Speisung). Das Gerät, das die Einspeisung übernimmt, bezeichnet man als PSE (power sourcing equipment, z.B. ein entsprechend ausgestatteter Switch oder Hub), die Verbraucher als PD (powered device). Die normale Arbeitsspannung beträgt 48 V (Toleranz 44...57 V).

Adernbelegung bei PoE
1 Tx, V-
2 Tx, V-
3 Rx, V+
4
5
6 Rx, V+
7
8
  1 Tx
2 Tx
3 Rx
4 V+
5 V+
6 Rx
7 V-
8 V-
Phantom   Spare wire

Ein PSE darf maximal 400 mA Strom liefern. Die Verbraucher sind in fünf Leistungsklassen eingeteilt: 0 = 0,44...12,95 W, 1 = 0,44...3,84 W, 2 = 3,84...6,49 W, 3 = 6,49...12,95 W, 4 = reserviert. Die benötigte Leistung wird in der Einschaltphase 10...75 ms lang vom PSE getestet, indem zunächst nur 15,5...20,5 V angelegt werden; das PD signalisiert seine Leistungsklasse durch den dabei auftretenden Strom: 0 = 0...4 mA, 1 = 9..12 mA, 2 = 17...20 mA, 3 = 26...30 mA, 4 = 36...44 mA.

Bus-Topologie

Bei einem als Bus aufgebauten Netzwerk ziehen alle Rechner an einem Strang: Ein einziges Kabel, gewöhnlich ein 50-Ohm-Koaxkabel mit BNC-Steckern, verläuft vom ersten bis zum letzten der maximal 30 Rechner (Thin Ethernet, auch Cheapernet oder 10Base2 genannt). Diese als IEEE 802.3 genormte Technik eignet sich nur für 10 Mbit/s (einige Speziallösungen schaffen 20 Mbit/s) und ist deshalb heute veraltet.

PC1   PC2   PC3
®_|__ ___ __|__ ____ __|_®
 ® =Abschlusswiderstand
_|_=BNC-T-Stück

An den zwei End-Rechnern befindet sich jeweils ein 50-Ohm-Abschlusswiderstand, der dafür sorgt, dass Signale an den Kabelenden nicht reflektiert werden. Die dazwischenliegenden Computer werden über BNC-T-Stücke in das Kabel eingefügt. Jedes T-Stück muss direkt auf den Netzwerk-Adapter des Rechners aufgesteckt werden; es sind keine Abzweig-Leitungen erlaubt, da diese zu einer Impedanz-Fehlanpassung und somit zu Signal-Reflektionen und Datenverfälschungen führen würden.

BNC-TDie Bezeichnung "50 Ohm" für ein Koax-Kabel bedeutet übrigens keineswegs, dass man mit einem Ohm-Meter bei einer bestimmten Kabellänge diesen Gleichstrom-Widerstand messen würde. Vielmehr bedeutet eine Kabel-Impedanz von 50 Ohm, dass bei beidseitigem Abschluss eines solchen Kabels mit diesem Widerstand keine Hochfrequenz-Reflektionen an den Kabel-Enden auftreten, und das ist Voraussetzung dafür, dass sich aufeinanderfolgende Daten-Bits nicht durch Reflektions-Laufzeiten gegenseitig stören oder gar auslöschen.

Die maximale Länge vom einen bis zum anderen Ende des Kabels darf bei "Thin Ethernet" 190 m nicht überschreiten, da sonst einerseits die Kollisions-Erkennung wegen zu großer Signallaufzeiten nicht mehr funktioniert, andererseits aber auch die Kabeldämpfung zu groß wird. Der Mindest-Abstand zweier Rechner beträgt 0,5 m.

Wenn ein solches Koaxkabel-Netz einmal nicht funktioniert, ist häufig ein Kabelproblem die Ursache. Die einfachste Methode, die defekte Stelle zu finden, ist, das Netz irgendwo durch Ziehen eines BNC-Steckers aufzutrennen und mit einem Ohm-Meter (ein normales Vielfach-Messinstrument genügt).

BNC-RAn jedem der beiden nun offenen Kabelenden muss man dann überprüfen, ob der Widerstand zwischen Innenleiter und Außenmantel des Koaxkabels etwa 50 Ohm beträgt. Das müsste der Fall sein, weil ja an beiden Kabelenden 50-Ohm-Abschlusswiderstände sitzen (Bild). Dabei sollte man allerdings überall die BNC-T-Stücke von den PCs oder Hubs abziehen.

Im PC-Bereich eher unüblich ist das "Thick Ethernet", zu erkennen an den gelben, dickeren Koax-Kabeln. Die maximale Länge darf hier bis zu 500 m betragen, der Mindestabstand zweier Rechner beträgt 2,5 m, und bis zu 100 Rechner lassen sich damit verbinden. Der Anschluss des Kabels an die Netzwerkkarte erfolgt nicht über BNC-Stecker, sondern über eine externe Transceiver-Elektronik (AUI, Attachment Unit Interface), die ihrerseits mit einer 15poligen D-Sub-Buchse der Karte verbunden wird.

Ring-Topologie

PC1 ___ PC2
|   |
PC3 ___ PC4

Im PC-Bereich ist die Ring-Topologie vor allem in Zusammenhang mit Glasfaser-Netzen bekannt (FDDI = Fiber Distributed Data Interface, 100 Mbit/s, standardisiert durch ANSI X3T9 und ISO 9314, zwei gegenläufige Ringe). Bis zu etwa 1000 Stationen sind ringförmig miteinander verbunden, und die Entferung kann rund 200 km betragen - weit mehr als bei den anderen Topologien. Ein Ring-Protokoll (Token-Ring) dient zur Vermeidung von Datenpaket-Kollisionen: Ein spezielles Datenpaket, das "Token", wird zyklisch von einer Station abgesandt und durchläuft den Ring im Uhrzeigersinn. Jeder Rechner, der etwas zu senden hat, kann an dieses Token seine Nutzdaten anhängen.

Das Kabel braucht natürlich nicht wirklich ringförmig verlegt zu werden. Hin- und Rückleitung können in einem einzigen Strang untergebracht werden, so dass sich der Netz-Aufbau ganz ähnlich gestaltet wie etwa beim Verbinden mehrerer ISDN-Geräte an einem Bus.

Drahtlose Netze

WLAN-PCIWLAN

Die Möglichkeit, Computer drahtlos zu vernetzen, ist auf den ersten Blick verlockend. Trotzdem sollte man ein drahtloses Netz (WLAN = Wireless LAN) nicht als generellen Ersatz für kabelgebundene Netzwerke betrachten, denn der Netto-Datendurchsatz drahtloser Netze ist bei 2...54 Mbit/s brutto geringer als bei herkömmlichen Netzwerkkarten für 10...1000 Mbit/s.

Die heutigen "Radio LANs" arbeiten überwiegend mit dem gegenüber Störungen relativ unempfindlichen Spread-Spectrum-Verfahren gemäß der Norm IEEE 802.11, bei dem die Daten auf viele Trägerfrequenzen verteilt werden, typisch mit einer Bandbreite von 20 MHz. In dem für diesen Zweck freigegebenen 83,5 MHz breiten Frequenzbereich bei 2,4 GHz bringt man rechnerisch vier Access Points ohne gegenseitige Störungen unter. Technisch ist der Bereich jedoch in 13 Kanäle unterteilt, die sich gegenseitig überschneiden; man sollte also zwei Access Points, die sich gegenseitig "sehen", nicht unmittelbar benachbarte Kanäle zuweisen. Die Sendeleistung beträgt typisch etwa 40 mW. Die angegebenen Datenraten sind stets als Brutto-Angaben zu verstehen, die alle Fehlerkorrektur- und Adressierungsbits einschließen. In der Praxis werden als Netto-Datenrate nur etwa 50...70 % der Brutto-Rate erzielt, also etwa 6 Mbit/s (0,75 MByte/s) bei einem IEEE-802.11b-WLAN mit netto 11 Mbit/s. Bei ungünstiger Signalqualität wird die Datenrate automatisch in Stufen reduziert, z.B. auf 5 oder 2 Mbit/s.

Das Spreizen des Signals erfolgt heute meist mit dem Direct-Sequence-Verfahren (DSSS), seltener durch das zyklische Springen zwischen mehreren Frequenzbändern (FHSS, Frequency Hopping Spread Spectrum). Sicherheitshalber werden die Daten verschlüsselt. Frühere Lösungen benutzten eine 64-Bit-Verschlüsselung, tatsächlich nutzbar sind davon allerdings nur 40 Bit. Heute wird überwiegend eine 128-Bit-Codierung verwendet (WEP = Wired Equivalent Privacy, Sicherheit fast wie in Kabelnetzwerken, Nachfolger ist WPA = Wireless Fidelity Alliance protected Access). Eine zusätzliche Sicherheit erreicht man, indem im Access Point nur bestimmte MAC-Adressen (physikalische Netzwerkadapter-Adressen von Clients) freigegeben werden, allerdings lassen sich diese von Angreifern aus dem laufenden Netzverkehr mithören und fälschen.

Zur Unterscheidung von WLAN-Adaptern sollte man folgende IEEE-Standards kennen:

Der Betrieb von Endgeräten nach unterschiedlichen Standards an derselben Basisstation (Access Point) vermindert den erzielbaren Datendurchsatz deutlich. Deshalb sollte man unbedingt vermeiden, z.B. 802.11b-Clients zusammen mit 802.11n-Geräten in einem Funknetz zu kombinieren.

Ein Repeater eignet sich zur Verbesserung der WLAN-Reichweite, die innerhalb von Gebäuden selten mehr als etwa 20 bis 30 m beträgt. Da dieser das Signal des Access Points aber auf demselben Kanal aussendet, auf dem er es auch empfängt, halbiert sich dadurch der Datendurchsatz. Deshalb ist ein Repeater stets nur eine Notlösung; ein via Kabel angebundener zweiter Access Point auf einem anderen Kanal ist in jedem Fall zu bevorzugen. Dieser zweite Access Point kann dieselbe Funknetz-Kennung (SSID) wie der erste verwenden; damit ist ein automatisches Roaming der Clients möglich, sie suchen sich die am stärksten empfangbare Basis.

Zur Konfiguration von WLAN-Access Points und Adaptern gibt es eine Reihe von Fachausdrücken:

Typische WLAN-Adapter benötigen eingeschaltet etwa 120...180 mA Strom, im Energiespar-Modus aber nur 10...20 mA. Für batteriebetriebene Geräte ist deshalb der Sparmodus unbedingt vorzuziehen. In ihm wird der Empfänger nur jeweils für das erwartete nächste Beacon-Paket kurz eingeschaltet und dann sofort wieder deaktiviert. Dadurch sinkt der Stromverbrauch um mehr als 85 %. Innerhalb des Beacon-Pakets übermittelt der Access Point Informationen, für welche Clients Daten vorliegen:

Sind drahtlose Netze wirklich ein vollwertiger Ersatz für drahtgebundene Netzwerke? Nicht wirklich. Die WLAN-Verbindung ist meist erst einige Sekunden nach Booten verfügbar, da erst das Konfigurations-Programm des WLAN-Adapters geladen werden muss. Deshalb ist ist die Einrichtung von Netzwerk-Laufwerken (drive mapping) u.U. problematisch. Durch Störsignale oder Feldstärke-Schwankungen sind kurze Unterbrechungen möglich. Bei mehrstündigem Mithören könnten Daten ferner statistisch entschlüsselt werden.

DECT

DECT wird bei digitalen schnurlosen Telefonen eingesetzt und eignet sich prinzipiell ebenfalls zur Datenübertragung, wenn auch die erreichbare Geschwindigkeit deutlich unter sonstigen Radio-LANs liegt. Für DECT stehen 10 Kanäle zwischen 1880 und 1900 MHz im Abstand von 1728 kHz zur Verfügung (FDMA = Frequency Division Multiple Access), die Brutto-Bitrate je Kanal beträgt 1152 kbit/s. Im Gegensatz zu GSM und anderen Funkdiensten erfolgt das Senden und Empfangen auf der gleichen Frequenz (TDD = Time Division Duplex, 10 ms Rahmendauer), wobei jeder Kanal durch 12 Zeitschlitze bis zu sechs Gespräche erlaubt (TDMA = Time Division Multiple Access). Die Sendeleistung beträgt zeitlich gemittelt 10 mW.

Bluetooth-USBBluetooth

Bluetooth ist ein Standard für die Kurzstrecken-Funkübertragung insbesondere zur drahtlosen Anbindung von Peripheriegeräten. Das Bild zeigt einen USB-Adapter.

Bluetooth benutzt das Frequenzband von 2,402 bis 2,480 GHz. Die 79 jeweils 1 MHz breiten Kanäle werden im Frequenzsprung-Verfahren (Frequency Hopping, Spread Spectrum) mit bis zu 1600 Sprüngen je Sekunde abwechselnd benutzt, um Störungen zu minimieren. Mit 1 mW Sendeleistung werden etwa 10 m Reichweite erzielt, mit 100 mW rund 100 m, also deutlich weniger als bei DECT. Im Prinzip erlaubt Bluetooth im Synchronmodus auch eine ISDN-kompatible Sprachübertragung mit 64 kbit/s.

Der normale asynchrone Modus ermöglicht netto bis zu 721 kbit/s im Hauptkanal und 57,6 kbit/s im Rückkanal. Ein alternativer symmetrischer Modus gestattet 432,6 kbit/s in beiden Richtungen. Jedes Bluetooth-Paket besteht aus 72 Bit als Access Code, 54 Bit als Paket-Header und einem Nutzdatenteil von bis zu 2745 Bits. Wie bei Netzwerkkarten wird eine 48-Bit-Adresse gemäß IEEE 802 als eigene Identifikation benutzt. Diejenige Station, die die Verbindung aufbaut, agiert als "Master" und steuert den Übertragungstakt sowie die Frequenzsprünge der "Slaves". Im stromsparenden Standby-Modus prüft ein Bluetooth-Gerät nur alle 1,28 s auf 32 dafür reservierten Kanälen, ob jemand etwas von ihm will, so dass die Antwortzeiten etwas größer sind als bei einer Kabel-Anbindung oder bei WLAN-Lösungen.

Netzwerk-Protokolle

Netzwerke verwenden bestimmte Software-Protokolle, die bestimmen, wer wann etwas senden soll und wie Adressen im Netzwerk vergeben werden, wie etwa TCP/IP, NetBEUI und IPX/SPX.

Bei der Datenübertragung ordnet man die benutzten Protokolle gern in Schichten entsprechend dem von der International Standards Organization ISO genormten OSI-Referenzmodell (Open Standards Interface), das auch bei der ISDN-Übertragung verwendet wird. Jede Schicht baut auf die jeweils darunterliegende auf.

Nr. Layer (engl.) Schicht (dt.) Beispiele
7 Application Anwendung Browser, Mail-Prog.
6 Presentation Darstellung HTML, XML, MIME
5 Session Steuerung HTTP, POP3, FTP
4 Transport Transport TCP, SPX, NetBeui
3 Network Vermittlung IP, IPX, X.25, T.70
2 Data link Sicherung PPP, LAP, HDLC
1 Physical Übertragung IEEE 802, ATM

Die Protokollschicht 1, die für den reinen Bit-Transport zuständig ist, benutzt bei lokalen Netzwerken über Koax-, STP- und UTP-Kabel gewöhnlich den Ethernet-Standard IEEE 802. Er benutzt das CSMA-Verfahren (Carrier-Sense Multiple Access), um das Senden eines Pakets sofort abzubrechen, wenn z.B. auf dem Koax-Kabel eine Kollision mit einer gleichzeitig sendenden anderen Station erkannt wird. Schnelle großflächige WANs (Wide Area Networks) oder MANs (Metropolitan Area Networks) verwenden dagegen das noch junge ATM-Verfahren (Asynchronous Transfer Mode).

Die Schicht 2 hat für einen fehlerfreien Transport der Daten zu sorgen, beispielsweise durch eine automatische Wiederholung falsch übertragener Pakete. Fehler werden dabei gewöhnlich an einer mitgesendeten Prüfsumme der Datenbytes erkannt (FCS = frame checksum). Hierfür wird bevorzugt der CRC-Algorithmus eingesetzt (cyclic redundancy check), der auch vertauschte Bytes erkennt.

Erst die darüberliegenden Protokollschichten wie NetBeui, IPX/SPX oder TCP/IP bestimmen, was mit den einzelnen Datenpaketen zu geschehen hat. Windows erlaubt es, mehrere Protokolle zu "binden", sogar an denselben Adapter. Dadurch kann man über das gleiche Netzwerk-Kabel Server ansprechen, die mit unterschiedlichen Protokollen arbeiten, etwa NetBeui und TCP/IP.

Das am häufigsten benutzte Protokoll sollte man in der Systemsteuerung als "Standard-Protokoll" definieren, da Windows dieses Protokoll dann immer als erstes versucht.

TCP/IP

Dieses Kapitel ist etwas länger als diejenigen über die anderen Netzwerk-Protokolle. Das liegt einerseits daran, dass TCP/IP etwas mehr Know-How erfordert als ein NetBeui- oder IPX-Netzwerk, aber andererseits auch daran, dass heute im Internet-Zeitalter niemand mehr an TCP/IP vorbeikommt. Den Begriff sollte man zunächst zum besseren Verständnis in die Adressierung IP und das Protokoll TCP aufspalten.

Das Internet Protocol (IP)

Das Internet Protocol wird im Internet und in größeren lokalen Netzen eingesetzt. Es ordnet physikalischen Netzwerkkarten-Adressen logische IP-Adressen zu. An deren Struktur ist für einen Router sofort zu erkennen, ob sich ein bestimmter Rechner im eigenen, lokalen Netzwerk befindet oder in einem anderen, entfernten. Jede IP-Adresse besteht aus 32 Bits und somit vier Bytes, die gewöhnlich in Form von vier dezimalen Zahlen (0...255) hingeschrieben werden. Der vordere Teil gibt an, in welchem Netz sich der jeweilige Computer befindet, und der hintere kennzeichnet einen bestimmten Computer in diesem Netz. Die Werte 0 und 255 sind hierbei jeweils verboten, da sie für spezielle Aufgaben reserviert sind.

Außer der eigenen IP-Adresse wird auch eine Subnetz-Maske (subnet mask) angegeben. Das ist ein Bitmuster, anhand dessen der Rechner weiß, welche anderen Adressen sich im eigenen Netz befinden (zu anderen müsste ggf. eine Router-Verbindung oder DFÜ-Netz-Verbindung per Modem oder ISDN hergestellt werden). 0-Bytes in der Subnetz-Maske geben an, dass das IP-Adressenbyte an der entsprechenden Stelle ignoriert werden soll, da es sich um die Adressierung im eigenen lokalen Netz handelt. Maskenbytes mit dem Wert 255 bedeuten, dass es sich um ein anderes, entferntes Netzwerk handelt, wenn das entsprechende IP-Adressenbyte anders lautet als das des eigenen Rechners.

Da einerseits weltweit mehr als 65536 lokale Netze und andererseits Netze mit mehr als 65536 Computern existieren (so viele Möglichkeiten gibt es jeweils mit 2 Bytes), gibt es drei Möglichkeiten, welcher Teil der IP-Adresse als Netzkennung und welcher als lokale Rechnerkennung dient:

Netzwerkklassen und max. Rechneranzahl
Klasse 1. Adr.-Byte Subnetz-Maske Rechner
A 1...126 255.0.0.0 16 Mio.
B 128...191 255.255.0.0 65000
C 192...223 255.255.255.0 250

Öffentliche und private IP-Adressen

Oft wird DHCP zur automatischen Vergabe von IP-Adressen verwendet (Dynamic Host Configuration Protocol). Es basiert auf Broadcast-Paketen (UDP). Dabei wird vom Router bzw. DHCP-Server auf Anfrage eine IP-Adresse im gemeinsamen Subnetz-Bereich vergeben. In einem leitungsgebundenen LAN funktioniert das meist problemlos, in einem WLAN klappt insbesondere bei aktiviertem Energiespar-Modus die Broadcast-Übertragung aber nicht immer zuverlässig, so dass man mit einer statischen IP-Adresse weniger Probleme hat. Darüber hinaus kann es auch aus Sicherheits-Überlegungen ratsam sein, IP-Adressen manuell zu vergeben: So kann man in einer Firewall eindeutige Adressen freigeben bzw. sperren und in Server-Protokollen aus einer IP-Adresse auf den zugehörigen Netzwerk-Teilnehmer rückschließen.

Welche IP-Adresse soll man nun für einen Rechner einstellen? Es gibt folgende Möglichkeiten:

Private IP-Adressenbereiche
Netzklasse IP-Adr. von bis
A 10.0.0.1 10.255.255.254
B 172.16.0.1 172.31.255.254
C 192.168.0.1 192.168.255.254

Außer der expliziten Angabe eines IP-Bereichs wie etwa 10.0.0.0-10.255.255.255 ist auch die Angabe der Anzahl der linksbündig festen Adressenbits hinter einem Schrägstrich möglich, also z.B. 10.0.0.0/8 oder manchmal auch kurz 10/8. Das bedeutet hier, dass von den insgesamt 32 Adressenbits der IP-Version 4 (IPv4) nur die ersten 8 fest und die restlichen 24 variabel sind.

Diese Notation nennt man auch CIDR (Classless Internet Domain Routing). Das Formular rechnet eine CIDR-Angabe wie etwa 192.168.1.0/24 in den entsprechenden IP-Bereich um und zeigt dabei auch gleich die resultierende Subnetz-Maske wie etwa 255.255.255.0 an

CIDR:
IP-Bereich:

Der Adressenbereich 127.0.0.0/8 (also 127.0.0.0 bis 127.255.255.255) ist als "Local Loopback" reserviert, d.h. hiermit kann ein Programm ein anderes Programm auf demselben Rechner ansprechen, z.B. einen Antivirus-Proxy. Typischerweise wird dabei die Adresse 127.0.0.1 bevorzugt.

Das Domain Name System (DNS) und die HOSTS-Datei

Das Domain Name System erlaubt es, einen Computer statt mit der noch etwas unhandlichen numerischen IP-Adresse mit einem Klartext-Namen anzusprechen. In einem lokalen Netzwerk mit einem NT- oder Linux-Server sind dabei auch dynamisch vergebene IP-Adressen möglich, indem der Server jeder Workstation eine eindeutige Adresse aus seinem Pool (z.B. 192.168.x.y) zuweist.

Das DNS wird auch im Internet benutzt, dort allerdings gewöhnlich mit festen IP-Adressen. Dadurch können Sie im Browser einfach www.shamrock.de eintippen, und der Name Server findet innerhalb ein oder zwei Sekunden heraus, welche IP-Adresse zu diesem Namen gehört. Ein solcher Name Server steht bei jedem größeren Internet-Provider. Jeder kennt aber nur einen kleinen Teil des "Name Space", nämlich die bei diesem Provider selbst registrierten Domain-Namen (die A- oder Address-Records) und, anhand spezieller Name-Server-Einträge (NS records), auch die der benachbarten Server. Anfragen an unbekannte Domains werden an andere Name Server weitergereicht, aber jeder hat auch einen Cache-Speicher, in dem er sich die Antworten über einen begrenzten Zeitraum merkt, um beim nächsten Mal schneller reagieren zu können. Dadurch kann es allerdings ein oder zwei Tage dauern, bis eine umgemeldete Domain überall korrekt geroutet wird.

Ein Name Server kann auch MX-Records enthalten, das sind Mail-eXchange-Einträge, die ausschließlich für das Routing von E-Mails zuständig sind. Falls ein Host unter mehreren Domain-Namen erreichbar ist, verweisen CName-Records von den Alias-Namen auf den wahren Domain-Namen.

Wenn kein Domain Name Service im lokalen Netz zur Verfügung steht, z.B. weil es nicht über einen entsprechenden Server verfügt, kann man sich mit einer Datei HOSTS behelfen, die im Windows-Verzeichnis aller beteiligten Workstations vorhanden sein muss und die Zuordnung von Server-Namen und IP-Adressen regelt. In dieser Datei stehen zeilenweise IP-Adressen und Server-Namen, zum Beispiel:

192.168.61.42 Susi
192.168.61.45 Peter

Die Adressierung bei IP-Netzen erfolgt also in drei Stufen:

  1. die physikalische, fest eingebrannte Adresse der Netzwerkkarte, z.B. 002018289A4F, oder via DFÜ-Netzwerk eine intern vergebene Pseudo-Adresse,
  2. die in der Systemsteuerung oder im DFÜ-Netzwerk eingestellte IP-Adresse (z.B. 194.97.64.118) oder eine dynamisch vom Server vergebene IP-Adresse;
  3. der Rechner-Name (z.B. www.shamrock.de), der entweder vom Name Server oder der Datei HOSTS einer bestimmten IP-Adresse zugeordnet wird.

Das Transmission Control Protocol (TCP)

Typische TCP-Dienste Port
Echo-Port (für Testzwecke)
FTP-Daten (File-Transfer)
FTP-Steuerkommandos
Telnet (Terminal-Zugriff)
SMTP (Mail senden)
DNS (Domain Name System)
DHCP (Dyn.Host Conf.Prot.)
Gopher (Web-Vorläufer)
HTTP (Web-Browser)
POP3 (Mail empfangen)
NNTP (Newsgroups)
NetBIOS Name Service
NetBIOS File/Print Sharing
IMAP4 (Mail-Protokoll)
IRC (Internet Relay Chat)
SSL-HTTPS
SOCKS (Firewall)
Real Audio/Video
SQL (Datenbank-Abfrage)
Bridge/Proxy-Port
7
20
21
23
25
53
67
70
80
110
119
137
139
143
194
443
1080
1090
1114
8080

Das Transmission Control Protocol wurde wie das Internet Protocol 1980 definiert und benutzt die IP-Adressierung, um logische Verbindungen zwischen den beteiligten Applikationen aufzubauen. Außer TCP- werden im Internet auch UDP- (User Datagram Protocol, z.B. Broadcast-Messages ohne Bestätigung) und ICMP-Pakete übertragen (Internet Control Message Protocol, es ist Steuerungszwecken vorbehalten).

Als zusätzliche Unter-Adressierung kann man bei einem per TCP oder UDP erreichbaren Computer auch noch Ports ansprechen, die unterschiedliche Dienstleistungen eines Rechners unter derselben IP-Adresse ermöglichen. Die Ports von 0 bis 1023 sind von der IANA standardisiert. Ports von 1024 bis 49151 sollten bei der IANA zumindest angemeldet werden, während Ports von 49152 bis 65535 frei verwendet werden können. Die wichtigsten Standard-Werte auf der angerufenen Seite (Host) sind in der Tabelle aufgeführt.

Da das IP-Protokoll die einzelnen Datenpakete dem Empfänger unter Umständen auf unterschiedlichen Wegen zuleitet, kann es die korrekte Reihenfolge dieser Pakete bei der Ankunft nicht garantieren. Das darüberliegende TCP-Protokoll puffert die empfangenen Pakete, solange noch einzelne fehlen, was es an den Blocknummern erkennt, und stellt die ursprüngliche Reihenfolge wieder her. Die Software, die diese Aufgabe übernimmt, nennt man TCP/IP-Stack.

Aufbau des TCP-Headers bei IPv4

Netzwerk-Sniffer-Programme wie Ethereal oder AnalogX-PacketMon erlauben die Anzeige der Rohdaten in Netzwerk-Paketen. Die Interpretation erfordert allerdings etwas Wissen über den Aufbau der Paket-Kopfdaten. Die folgende Tabelle gibt die dezimalen Offsets und Längen der einzelnen Felder in einem TCP/IP-Paket wieder. Der TCP-Teil beginnt ab Offset 24, davor befindet sich der IP-Header.

Die Fenstergröße (englisch Window size oder RWIN=Receive Window) hat einen massgeblichen Einfluss auf die erzielbare Übertragungsrate. Sie legt fest, ab welcher gesendeten Datenmenge der Absender auf eine Bestätigung warten muss, bevor er weitere Daten sendet. Sie sollte deshalb immer mindestens so groß sein wie das Produkt aus Geschwindigkeit (Bytes pro Sekunde) und Antwortzeit (englisch round-trip delay, mit dem PING-Befehl messbar), damit keine Lücken im Datenstrom entstehen. Beispiel: Bei einer DSL-Leitung mit 2 Mbit/s = max. 250 KByte/s und einer typischen Antwortzeit von 0,2 s muss die Fenstergröße mindestens 250 * 0,2 KByte = 50 KByte betragen, um einen unterbrechungsfreien Datenstrom zu gewährleisten.

Werte im TCP-Header
Offset Bytes Inhalt
0

2
4
8

12
16
20
22
24
28
32
34
36

38
2

2
4
4

4
4
2
2
4
4
2
2
2

4
IP-Version (Bit 0-3), Headerlänge/4
(Bit 4-7), Servicetyp (Bit 8-15)
Gesamtlänge in Bytes inkl. Header
Identifikation, Flags, Frame-Offset
Time to live (TTL), Protokoll/Header,
Header-CRC-Prüfsumme
Quell-IP-Adresse
Ziel-IP-Adresse
Quell-Port
Ziel-Port
Sequenznummer
Letzte korrekt empfangene Paketnr.
Daten-Offset Bit 0-3, Flags 10-15
Fenstergröße (erlaubte Datenmenge
bis zum Warten auf Bestätigung)
CRC-Prüfsumme des Pakets
Urgent-Zeiger f. priv. Daten, meist 0

Bei der zur Zeit seltener genutzten Protokollversion IPv6 wird im IP-Header mit 128 Bit langen Adressen gearbeitet. Da das Hauptargument für IPv6 - nämlich der vermeintlich knappe Adressenraum bei IPv4 - heute dank einer intelligenteren Zuweisung von Adressenräumen durch die Registrare kaum noch eine Rolle spielt und andererseits IPv6 sehr große, schwer zu wartende Routing-Tabellen erfordert, konnte sich dieses Protokoll bisher nicht auf breiter Basis durchsetzen.

NetBeui: Für kleine Netze

Der Vorteil des NetBeui-Protokolls (Network Basic Extended User Interface) ist, dass es ziemlich einfach zu konfigurieren ist, recht schnell ist und mit wenig Overhead arbeitet: Jeder Computer bekommt irgend einen willkürlichen Namen, zum Beispiel "Susi", "Hans" oder "Server". Diese Namen werden intern automatisch den in den Netzwerk-Karten fest eingebrannten, stets eindeutigen Adapternummern zugeordnet. NetBeui ist nicht für Router geeignet, die entfernte Netze miteinander verbinden, da anhand des NetBeui-Namens nicht erkennbar ist, in welchem der verbundenen Netze sich der jeweilige Rechner befindet.

Außer IBM, wo NetBeui entwickelt wurde, hat auch Microsoft das Protokoll in Netzwerk-Treibern für DOS und Windows implementiert. Windows XP unterstützt NetBeui allerdings nicht mehr.

IPX/SPX von Novell

Das IPX/SPX-Protokoll von Novell ist ähnlich einfach zu konfigurieren wie NetBeui, ist aber über spezielle Vorkehrungen auch für Router geeignet. Allerdings ist IPX/SPX ein proprietäres Protokoll. Es wird zwar beispielsweise von Windows so gut es geht simuliert; da Novell aber nie alle Details des Protokolls offengelegt hat, wird es immer ein paar IPX/SX-Funktionen geben, die nur mit Novell-eigener Software funktionieren.

Sie sollten IPX/SPX deshalb nur einsetzen, wenn Sie z.B. aufgrund eines Novell-Servers im Netzwerk keine andere Wahl haben. Andernfalls ist TCP/IP vorzuziehen; letzteres wird inzwischen auch von Novell unterstützt.

Das Windows-DFÜ-Netz

Windows stellt mit dem DFÜ-Netz (Datenfernübertragungs-Netzwerk) eine Möglichkeit zur Verfügung, eine Verbindung zu einem anderen Computer via Modem oder ISDN aufzubauen. Diese Möglichkeit wird als Remote Network Access (RNA) oder auch als Remote Access Service (RAS) bezeichnet. Auch Windows 3.11 sowie Microsofts "Client for MS-DOS" stellten bereits ein DFÜ-Netz zur Verfügung, allerdings nur als Client, nicht als Server. Ferner wurde als Protokoll dafür ausschließlich NetBeui unterstützt, nicht TCP/IP. Diese Einschränkung gilt bei Windows 95/98 auch noch für den optionalen DFÜ-Server, wenn man damit einen RAS-Zugriff auf Dateien erlauben möchte, nicht aber für den Client.

Die DFÜ-Netz-Treiber von Windows sind für Modems ausgelegt. Das bedeutet, dass erst einmal ein Modem über die Systemsteuerung unter "Modems" installiert werden muss; es genügt also nicht, wenn eines an einem COM-Port angeschlossen ist. Bei Benutzen einer ISDN-Karte hat man zwei Möglichkeiten, die in der Dokumentation des Herstellers ausführlicher beschrieben werden:

  1. Es wird ein NDIS-WAN-Treiber des ISDN-Karten-Herstellers installiert. Die ISDN-Karte verhält sich dann nicht wie ein Modem, sondern wie eine Netzwerkkarte. NDIS bedeutet Network Device Interface Standard und stellt die Software-Schnittstelle für Netzwerkkarten-Treiber dar; WAN heißt Wide Area Network. Bei dieser Methode kann man auch eine Kanalbündelung mit (fast) doppelter Geschwindigkeit, aber auch doppelten Gebühren nutzen.
  2. Es wird ein virtuelles Modem des ISDN-Karten-Herstellers benutzt, z.B. der CapiPort-Treiber von AVM; dieser erlaubt das Ansprechen der ISDN-Karte mit AT-Befehlen wie bei einem Modem. Mit einer Initialisierung wie S42=1;S49=98765 wird das bei PPP-Verbindungen gebräuchliche HDLC-Protokoll sowie die abgehende MSN auf die Beispielnummer 98765 eingestellt (Systemsteuerung - Modem - Eigenschaften - Einstellungen - Erweitert).

Bei einem externen ISDN-Adapter mit serieller Schnittstelle, der sich mit AT-Befehlen steuern lässt, muss ebenfalls das HDLC-Protokoll eingestellt werden, z.B. beim Elsa-ISDN/TL mit \N10 %P1.

Der Rechner lässt sich auch anrufen, wenn man im DFÜ-Netzwerk unter "Verbindungen" die Option DFÜ-Server für ein Modem oder eine ISDN-Modem-Emulation aktiviert; ein NDIS-WAN-Treiber funktioniert hierfür leider nicht.

Die Verbindungsaufbauzeit ist spürbar kürzer, wenn in der DFÜ-Netz-Konfiguration für die jeweilige Verbindung nur dasjenige Netz-Protokoll aktiviert ist, das die Gegenstelle unterstützt. Beispielsweise sollte man für die Verbindung zu einem Internet-Service-Provider (ISP) das Kästchen "NetBeui" im DFÜ-Netzwerk deaktivieren und nur TCP/IP ankreuzen. Ob dafür in der Systemsteuerung eine feste IP-Adresse angegeben werden muss oder darf, hängt vom jeweiligen Provider ab; meist wird aber mit dynamischen, vom Server vergebenen IP-Adressen gearbeitet. Das Kästchen "Am Netzwerk anmelden" sollte beim Internet-Zugriff ebenfalls deaktiviert sein, da Windows andernfalls zunächst versucht, sich mit Ihrem Windows-Login-Namen beim Provider anzumelden.

Das DFÜ-Netz lässt sich auch für DSL-Verbindungen verwenden, wenn man dazu einen RAS-PPPoE-Treiber installiert (RAS Point-to-Point over Ethernet). Die gegenüber dem Ethernet-Standardwert 1500 Byte etwas reduzierte Maximum Transfer Unit (MTU) von 1492 Byte für PPPoE-Pakete ergibt sich dabei daraus, dass die Datenpakete in einen PPP-Rahmen verpackt werden, der selber acht Bytes beansprucht.

Hub, Router, Proxy, Firewall

In der Netzwerk-Literatur liest man immer wieder von Hubs (die haben wir bei der Netzwerk-Topologie "Stern" schon kennengelernt), aber auch von Bridges, Switches, Routern, Proxies und Firewalls. Was ist der Unterschied?

Hub, Bridge und Switch

Bei einem Hub, einer Bridge oder einem Switch handelt es sich um Geräte, die innerhalb eines lokalen Netzwerks eingesetzt werden, um Computer miteinander zu vernetzen.

Ein Hub ermöglicht das Verbinden von mehreren Netzwerkkarten mit RJ45-Anschluss (Twisted-Pair-Kabel) und besitzt manchmal zusätzlich auch einen BNC-Anschluss (nur für 10 Mbit/s). Hubs besitzen keine Eigenintelligenz: Alle Pakete, gleich welches Netzwerk-Protokoll sie benutzen, finden sich unverändert an allen Anschlüssen des Hubs wieder. Alle angeschlossenen Geräte müssen mit derselben Geschwindigkeit arbeiten.

8-Port-SwitchEine Bridge verbindet Netzwerk-Segmente, die mit unterschiedlichen physikalischen Übertragungsarten arbeiten, beispielsweise ein 100-Mbit/s-Segment mit einem 10-Mbit/s-Segment.

Ein Switch (Bild) ist im Grunde nichts anderes als eine Bridge. Switches sind aber auch in der Lage, sich zu merken, welche physikalischen Ethernet-Adressen (nicht IP-Adressen!) sich auf welcher Seite des Switches befinden; wenn zwei PCs auf derselben Switch-Seite miteinander "sprechen", werden deren Pakete dann nicht auf die andere Seite kopiert und entlasten so einen Teil des Netzes. Ein Beispiel dafür ist das DSL-Modem der Telekom, das Pakete mit lokalen Netzwerk-Adressen ausfiltert, damit sie nicht ins Internet gelangen.

Router

Router verbinden entfernte Netzwerke miteinander, z.B. das lokale Netz mit dem Internet. Um eine Wählverbindung nicht unnötig aufrechtzuhalten, wenn sie nicht wirklich gebraucht wird, können Router sogenannte Broadcast-Pakete ausfiltern. Es ist auch möglich, die Weiterleitung bestimmter Paketarten (z.B. NetBios) zu sperren. Anwendungs-Software auf Workstations "sieht" das Internet durch den Router völlig transparent, ohne dass z.B. im Web-Browser eine spezielle Konfiguration erforderlich wäre (vgl. Proxy). Router sind meist als externe Hardware realisiert, z.B. für ISDN oder DSL.

Damit ein Router beispielsweise Web-Seiten oder Download-Dateien gleichzeitig für mehrere Netzwerk-Benutzer vom Internet-Provider anfordern und liefern und dabei unterscheiden kann, welche Daten für welche Workstation bestimmt sind, gibt es zwei Verfahren der Adressen-Umsetzung, wobei NAT das überwiegend benutzte ist:

Eine wesentliche und nicht immer erwünschte Eigenschaft von NAT-Routern ist, dass sie ankommende UDP-Pakete nur dann dem richtigen lokalen Client zuordnen können, wenn dieser vorher mindestens ein abgehendes Paket zur selben externen IP-Adresse gesendet hat. Damit trotzdem Server-Dienste hinter einem Router betrieben werden können, muss ein sog. Port-Forwarding in ihm konfiguriert werden, d.h. ankommende Pakete mit einem bestimmten Ziel-Port werden automatisch zu einer bestimmten lokalen IP-Adresse geroutet.

Prinzipiell stellt Ihr Internet Service Provider (ISP) beim Web-Zugang nichts anderes als einen Router dar: Sie wählen sich über eine PPP-Verbindung (Point-to-Point Protocol) via Modem oder ISDN bei ihm ein, z.B. mit dem T-Online-Decoder oder mit dem DFÜ-Netzwerk von Windows, und von dort werden Daten von und zu Web-Servern über das Internet geroutet. Ein DNS-Server ermittelt dabei aus einer URL (Universal Resource Locator, so nennt man eine Internet-Adresse wie etwa http://www.shamrock.de/dfu) die zugehörige numerische IP-Adresse. Um häufig aufgerufene Web-Seiten schneller verfügbar zu machen, benutzen viele Internet-Provider Proxy-Rechner mit Cache-Speicher, die nach der LRU-Strategie (last recently used) abgerufene Seiten lokal speichern. Allerdings führt deren Benutzung manchmal dazu, dass man veraltete Versionen der Seiten oder Dateien lädt.

Mit dem Tool tracert (Trace Route), das sowohl bei Windows als auch bei Unix/Linux enthalten ist, lässt sich der Weg der Pakete durch eine Kette von Routern ganz einfach feststellen. Geben Sie an der DOS-Kommandozeile probeweise zum Beispiel mal ein:
tracert www.telekom.de
Sie sehen dann den Weg Ihrer Test-Datenpakete durchs Internet sowie die Laufzeit auf den einzelnen Teilstücken der Verbindung. Eventuelle Probleme lassen sich damit gezielt auf die betroffene Teilstrecke eingrenzen, und Sie wissen besser, bei wem Sie sich beschweren müssen, wenn es mal nicht recht klappt.

Proxy

Ein Proxy verbindet wie ein Router ein lokales Netzwerk mit dem Internet. In der Anwendungs-Software der Workstations (z.B. Browser) ist es jedoch erforderlich, die Proxy-Adresse zu konfigurieren; deshalb ist nicht jede Anwendung für den Proxy-Betrieb geeignet. Teilweise verfügen Proxy-Systeme auch über einen Cache für Internet-Seiten und/oder DNS-Adressen, um diese lokal schneller zur Verfügung zu stellen, wenn sie kurz vorher schon einmal geholt wurden. Ein Proxy ist gewöhnlich als Software auf einem zentralen Server-PC realisiert.

Wenn mehrere Workstations einen Proxy-PC für den gemeinsamen Internet-Zugang über eine einzige Leitung nutzen, werden im Browser IP-Adresse und Portnummer des Proxy-PC konfiguriert. Der Port ist dabei meist 80, 8080 oder 3128. Um eine Seite von einem Webserver anzufordern, konnektiert der Browser die Proxy-Adresse (also nicht direkt den Webserver) und sendet dorthin eine Anforderungszeile, die ähnlich wie ein HTTP-Request aussieht, aber nicht einen relativen Pfad- und Dateinamen enthält, sondern die vollständige URL, zum Beispiel:

GET http://www.skyfile.com/index.htm HTTP/1.0

Damit der Proxy für die unterschiedlichen Dienste wie HTTP, HTTPS, FTP, POP3, SMTP nicht jeweils einen eigenen Port verwalten muss, was wertvolle Systemressourcen verschwenden würde, hat sich mit dem SOCKS-Protokoll ein von vielen Clients (z.B. MS-IE, Netscape) unterstütztes Proxy-Verfahren durchgesetzt, bei dem der Proxy intern nur auf einem einzigen Port "hören" muss und diesen je nach Dienst nach außen passend übersetzt. Für Software, die das SOCKS-Verfahren nicht direkt unterstützt, ist auf dem Client-PC ein Treiber nötig (z.B. SocksCap).

Firewall

Eine Firewall erlaubt das Ausfiltern von Netzwerkdaten nach einstellbaren Kriterien, z.B. Sperrung oder Freigabe bestimmter IP-Adressen und Ports, und Verbindungswünsche aus dem Internet werden abgewiesen. Sie kann entweder als Hardware (auch innerhalb eines Routers) oder als Software realisiert sein (Personal Firewall bzw. auch die in Windows eingebaute).

Ein DSL-Router o.ä. stellt schon deshalb eine Firewall dar, weil extern ankommende Verbindungen explizit zu einer bestimmten internen IP-Adresse geroutet werden müssten, damit sie zustandekommen. Ports, für die kein Routing konfiguriert ist, sind deshalb nur abgehend benutzbar.

Ein Vorteil einer Software-Firewall ist, dass man Verbindungen über bestimmte Ports gezielt einzelnen Programmen erlauben oder verbieten kann; ein potentielles Problem ist allerdings, dass bösartige Software (z.B. ein Trojaner) versuchen könnte, den Firewall-Dienst zu beenden.

Nicht immer ist es möglich, mit statischen Regeln vorherzusehen, welche Ports legal benötigt werden. Das FTP-Protokoll, bei dem ein Steuer- und ein Daten-Port abgehend und ankommend verwendet werden, ist ein Beispiel dafür. Mit Verfahren wie der Stateful Inspection kann man z.B. anhand der vorher zu einer bestimmten IP-Adresse aufgebauten Steuerverbindung auf Port 21 eine ankommende Datenverbindung auf einem anderen, dynamisch zugewiesenen Port erlauben. Ebenso ist es damit möglich, nach dem Senden eines UDP-Pakets ankommende Antwort-Pakete von derselben IP-Adresse durchzulassen, z.B. bei DNS-Anfragen.

Voice over IP

Die Themen dieses Abschnitts:

VoIP-Protokolle

Eigenschaften von VoIP

BT102Als VoIP bezeichnet man Verfahren, Sprache (Voice) mit Hilfe des Internet-Protokolls (IP) zu transportieren, um über das Internet oder innerhalb eines lokalen Netzwerks telefonieren zu können. Mit dem Aufkommen preisgünstiger Breitband-Internet-Anschlüsse (z.B. DSL oder TV-Kabel) verbreiteten sich rasch VoIP-Router und IP-Telefone, da das Telefonieren via Internet oft - wenn auch nicht immer - deutlich preisgünstiger ist als im herkömmlichen Festnetz. Manche SIP-Telefonanlagen erlauben nicht nur Interngespräche zwischen IP-Telefonen, sondern können auch als ISDN-Gateway dienen, so dass mit ISDN-Telefonen dann auch VoIP-Gespräche möglich sind und umgekehrt.

Kurze Zeit nach der Einführung von VoIP-Telefoniediensten kam man auf die Idee, Telefonummern in einem System abzubilden, das mit dem Domain Name System (DNS) kompatibel ist. Dieses ENUM genannte Verfahren (telephone number mapping) basiert darauf, dass die Telefonnummer umgedreht und inklusiver internationaler Vorwahl als Subdomain von e164.arpa verwendet wird. Aus +49 89 123 wird also 3.2.1.9.8.9.4.e164.arpa. So plausibel das System klingt, konnte es sich trotz anfänglicher Euphorie nicht recht durchsetzen. Die Zahl der bei der deutschen Registratur DENIC angemeldeten Enum-Domains stagnierte seit dem Frühjahr 2007 unter 8000. Statt dessen werden heute überwiegend herkömmliche Telefonnummern verwendet, wobei das Routing über VoIP-Provider erfolgt.

VoIP-Protokolle

Für das Telefonieren via IP-Netzwerk bzw. Internet haben sich um wesentlichen zwei Standards etabliert:

Daneben gibt es noch proprietäre Protokolle für Spezialzwecke, z.B. IAX (Inter-Asterisk eXchange) zum Koppeln mehrerer auf der Linux-Software Asterisk basierenden Telefonanlagen: IAX verwendet im Gegensatz zu SIP/RTP denselben UDP-Port für Steuerungs- und Sprachdaten und überträgt Requests nicht wie SIP als Klartext, sondern binär codiert, um Bandbreite zu sparen.

SIP: Session Description Protocol

SIP dient nicht zur Übertragung von Sprache, sondern nur der Übermittlung von Verbindungswünschen. Es ähnelt im Aufbau sehr stark HTTP, aber mit einem wesentlichen Unterschied: Während HTTP mit fehlerkorrigierenden TCP-Verbindungen arbeitet, benutzt SIP (wie auch RTP) gewöhnlich ungesicherte UDP-Pakete. Die Endgeräte müssen also selbst dafür sorgen, dass verlorengegangene Pakete ggf. wiederholt werden. Standardmäßig wird der Port 5060 verwendet.

Der Verbindungsaufbau kann entweder zwischen zwei Telefonen direkt erfolgen, soweit eine statische IP-Adresse oder Domain des Gesprächspartners bekannt ist, gewöhnlich wird aber ein Provider benutzt, der nicht nur Gespräche zwischen VoIP-Telefonen mit dynamischen Adressen ermöglicht, sondern auch ein Festnetz-Gateway zur Verfügung stellt.

Die erste Zeile eines SIP-Pakets lautet beispielsweise:
INVITE sip:1234567@example.com SIP/2.0
Damit versucht der Absender, eine Verbindung zum Telefon mit der Nummer 1234567 beim SIP-Provider example.com herzustellen. Im Header des SIP-Requests folgen weitere Angaben, u.a. Absenderbezeichnung und Sequenznummer; dann folgt eine Leerzeile und ggf. ein SDP-Body. Ein vollständiger SIP-Header könnte zum Beispiel so aussehen:

INVITE sip:bob@biloxi.com SIP/2.0
Via: SIP/2.0/UDP pc33.atlanta.com;branch=z9hG4bK776asdhds
Max-Forwards: 70
To: Bob <sip:bob@biloxi.com>
From: Alice <sip:alice@atlanta.com>;tag=1928301774
Call-ID: a84b4c76e66710@pc33.atlanta.com
CSeq: 314159 INVITE
Contact: <sip:alice@pc33.atlanta.com>
Content-Type: application/sdp
Content-Length: 142

Der Angerufene antwortet wiederum mit einer SIP-Response wie etwa:
SIP/2.0 200 OK
und weiteren Header-Zeilen.

Wenn eine SIP-Verbindung über einen NAT-Router (Network Address Translation) abgewickelt wird, muss irgendwie sichergestellt werden, dass dieser empfangene Pakete auch zum jeweiligen IP-Telefon bzw. zur IP-Telefonanlage durchlässt. Dafür wird meist ein sogenanntes NAT-Keepalive benutzt: Das Endgerät sendet z.B. minütlich ein leeres UDP-Paket zum SIP-Provider. Der Router speichert dadurch die IP-Adressen und Port-Nummern der beiden Verbindungspartner in seiner internen NAT-Tabelle und ist dadurch in der Lage, aus dem Internet kommende Pakete wieder dem richtigen lokalen Endgerät zuzuordnen.

SDP: Session Description Protocol

SDP dient zur Aushandlung des zur Sprachübertragung verwendeten Codecs. So bezeichnet man die Codierung der Sprachdaten je nach gewünschter Qualität und vertretbarer Bandbreite. Bei einem Anruf tauschen die Endgeräte auf beiden Seiten eine Liste der verfügbaren Codecs in der Reihenfolge der bevorzugten Verwendung aus und einigen sich dann auf einen, der von beiden Seiten unterstützt wird.

Die SDP-Daten sind im "Body" eines VoIP-Pakets untergebracht, d.h. sie folgen nach dem SIP-Header hinter einer Leerzeile. Jeder SDP-Parameter besteht aus einem Buchstaben, einem Gleichheitszeichen und einem Parameter. Zwingend vorgeschrieben sind nur folgende Angaben:

v = Protokoll-Version
o = Session-Identifizierung
s = Session-Name
t = Session-Aktivitätszeit
m = Medienname, IP-Adresse und Portnummer

Beispiel einer SDP-Beschreibung mit einem Audio- und einem Video-Codec:

v=0
o=jdoe 2890844526 2890842807 IN IP4 10.47.16.5
s=SDP-Test
t=2873397496 2873404696
m=audio 49170 RTP/AVP 0
m=video 51372 RTP/AVP 99

RTP: Real-Time Transport Protocol

RTP ist nicht nur für Sprache, sondern auch für Video- und andere Daten geeignet. Die Daten werden in relativ kleinen Blöcken (um die Verzögerungszeit gering zu halten) ungesichert als UDP-Pakete übertragen. Ein gesichertes Protokoll wie TCP kommt dafür nicht in Frage, weil die bei Fehlern nötigen Paketwiederholungen eine verzögerungsarme Echtzeit-Übertragung unmöglich machen würden.

Selbst wenn der SIP-basierte Verbindungsaufbau über einen VoIP-Provider erfolgt, können die RTP-Daten im Prinzip zwischen den beteiligten Teilnehmern im Internet auch direkt ausgetauscht werden. In der Praxis fließen allerdings auch die RTP-Daten meist über den Provider.

Parallel zur eigentlichen RTP-Übertragung gibt es zur Überwachung der Verbindungsqualität auch noch RTCP-Pakete (Real-Time Control Protocol), die von allen Verbindungsteilnehmern periodisch gesendet werden müssen.

STUN: Simple traversal of UDP over NAT

Hinter einem Internet-Router ist die eigene öffentliche IP-Adresse für Endgeräte meist nicht ohne weiteres ermittelbar, sie "sehen" nur ihre lokale Adresse. Deshalb hat sich mit STUN (standardisiert in RFC 3489) ein Verfahren etabliert, wie Endgeräte ihre öffentliche Adresse bei einem Server (z.B. stun.t-online.de) abfragen und somit korrekt adressierte SIP-Pakete zu einem VoIP-Provider senden können.

Der für STUN standardmäßig benutzte UDP-Port ist 3478. Die Pakete werden nicht als Klartext, sondern bandbreitensparend binär codiert übertragen. Bei Verwendung eines Endgeräts, das ohne Router direkt mit dem Internet verbunden ist (z.B. via PPPoE bzw. DFÜ-Netzwerk), ist die STUN-Aktivierung überflüssig.

Eigenschaften von VoIP

Sprachqualität

Die Sprachqualität bei VoIP-Telefonaten wird vor allem durch die folgenden Parameter beeinflusst:

Während die IP-Telefonie innerhalb eines lokalen Netzwerks meist zu keinen nennenswerten Qualitätseinbußen gegenüber der herkömmlichen Festnetz-Telefonie führt, nimmt man beim Telefonieren via Internet bewusst einige Qualitätseinschränkungen in Kauf, um im Schnitt auf günstigere Gesprächsgebühren zu kommen.

Sprachcodierung

Ein Verfahren zur Umsetzung analoger Sprachsignale in digitale Daten und umgekehrt nennt man Codec, zusammengesetzt aus den Worten Coder und Decoder. Die nebenstehende Tabelle zeigt einige verbreitete Codecs zur Übertragung der RTP-Daten. Die an einem IP-Telefongespräch beteiligten Endgeräte teilen sich zu Beginn der Verbindung jeweils die ihnen zur Verfügung stehenden Codecs mit und einigen sich dann auf einen gemeinsamen.

Codec-
Name
Netto
kbit/s
Brutto
kbit/s
Gespräche
256 kbit/s
G.711 64 87,2 2
G.722 64 87,2 2
G.729 8 31,2 8
G.723 5,3 20,8 12
G.726 16 31,5 8
GSM 13,2 36,4 7
iLBC 13,3 28,8 8

Im Festnetz ist die ISDN-Codierung G.711 mit 64 kbit/s üblich. Dabei gibt es die Varianten a-Law (u.a. in Europa üblich, auch PCMA genannt) und µ-Law (USA und andere Länder, PCMU), die sich nur geringfügig in der Codierungs-Kennline unterscheiden und qualitativ etwa gleichwertig sind. Die meisten IP-Telefone unterstützen beide Varianten. G.722 arbeitet bei derselben Bitrate mit höherer Abtastrate und dafür geringerer Amplituden-Auflösung; damit kann man höhere Frequenzen wiedergeben, allerdings auf Kosten des Dynamikumfangs. G.726 ist das auch bei DECT-Schnurlos-Telefonen benutzte Verfahren, es kommt mit der halben ISDN-Datenrate aus, liefert aber noch eine relativ gute Sprachqualität. Alle anderen Codecs benutzen wesentlich geringere Bitraten bei noch akzeptabler Sprachverständlichkeit, allerdings hören sich Wartemelodien o.ä. mit ihnen oft schon ziemlich schräg an. Von einigen Codecs (z.B. G.723, G.726, iLBC) gibt es Varianten mit unterschiedlichen Bitraten als Kompromiss zwischen verfügbarer Datenrate und Sprachqualität; die in der Tabelle aufgeführten Varianten sind die mit der geringstmöglichen Bitrate. Da für einige Codecs Lizenzkosten anfallen, unterstützen die meisten Endgeräte nur eine begrenzte Anzahl von ihnen.

Für die Brutto-Datenrate, also die z.B. via DSL tatsächlich belegte Bandbreite, wurden insgesamt 58 Bytes Overhead angenommen (12 Bytes RTP-Header, 8 Bytes UDP-Header, 20 Bytes IP-Header, 18 Bytes Ethernet-Header). Für die maximale Anzahl gleichzeitiger Gespräche ist bei ADSL (asymmetrisches DSL mit geringerer Uplink-Rate im Vergleich zum Downlink) allein die Uplink-Rate ausschlaggebend, sie wurde in der Tabelle mit 256 kbit/s angenommen. Die großen Unterschiede im Verhältnis von Brutto- und Netto-Datenrate ergeben sich in erster Linie durch die unterschiedlichen Paketgrößen; zwar wird bei größeren RTP-Paketen die Brutto-Rate durch den geringen Overhead kleiner, aber gleichzeitig steigt auch die unerwünschte Sprachverzögerung.

Nicht vergessen sollte man dabei allerdings, dass die DSL-Leitung u.U. zeitweise auch für andere Dinge benutzt wird. Insbesondere das Senden von E-Mails und FTP-Dateien belastet den Uplink parallel und schränkt die nutzbare Anzahl von Gesprächen entsprechend ein. Router oder RAS-Treiber mit Traffic-Shaping-Funktionen versuchen, die VoIP-Daten bevorzugt zu behandeln, um ein Stottern der Sprachwiedergabe in solchen Fällen zu vermeiden.

Problemkandidat: Fax via VoIP (FoIP)

Wie weiter oben geschrieben arbeitet RTP mit ungesicherten UDP-Datenpaketen. Es liegt in der Natur des Internet, dass ab und zu Datenpakete verloren gehen. Die CCITT-standardisierte Fax-Übertragung arbeitet jedoch selbst wiederum ungesichert; d.h. der Absender sendet die vollständige Faxseite nach der anfänglichen Verhandlungsphase praktisch "blind" und erwartet lediglich am Ende der Seite eine Empfangsbestätigung. Es ist naheliegend, dass beim Verlust auch nur weniger RTP-Pakete die Faxübertragung so viele Fehler aufweist, dass der Empfänger die Seite nicht als erfolgreich übertragen bestätigen kann.

Gegenüber dem normalen Festnetz, bei dem alle Vermittlungsstellen untereinander synchronisiert sind und ihren Takt an die Endgeräte liefern, arbeitet ferner jedes Endgerät mit einem lokal erzeugten Abtast-Takt (z.B. 64000 Samples pro Sekunde). Wenn nun der Sender mit einem nur geringfügig schnelleren Takt arbeitet als der Empfänger, muss der Empfänger ab und zu Datenpakete verwerfen. Im umgekehrten Fall treten unvermeidlich Pausen auf. Aus diesen Gründen führt eine normale Faxübertragung via VoIP oft zu unbefriedigenden Ergebnissen. Deshalb wurde mit dem Standard T.38 ein Verfahren ausgeklügelt, bei dem die Fax-Modemsignale decodiert, als IFP-Pakete (Internet Facsimilie Protokoll) in Echtzeit via VoIP übertragen und dann wieder in Modemsignale zurückgewandelt werden. Die meisten VoIP-Provider unterstützen T.38 bisher allerdings nicht.

Insgesamt muss man deshalb von einer Faxübertragung per VoIP eher abraten. Dasselbe gilt selbstverständlich auch für den Versuch, eine VoIP-Übertragungsstrecke zur Datenübertragung mit analogen Modems verwenden zu wollen.


© Shamrock Software GmbH