1. Anwendungsprogramme im Netzwerk 1.1 Local Area Network (LAN) Rechner, die mittels Kabel oder Funk verbunden sind und nach außen als Einheit erscheinen, bilden ein LAN. Peer to Peer: Auf unserem Rechner finden wir das Icon „Netzwerkumgebung“. Mit einem Doppelklick auf dieses Icon werden uns die angeschlossenen Rechner und Arbeitsgruppen angezeigt. Lasse dir die Rechner (und Arbeitsgruppen) anzeigen, die mit deinem Rechner verbunden sind. Rechner werden hier nur angezeigt, wenn der Besitzer die Datei- bzw. Druckerfreigabe erteilt hat. Klicke hierzu mit der rechten Maustaste auf das Icon „Netzwerkumgebung“ und wähle die Option „Eigenschaften“. Wenn die Freigabe erteilt ist, können Laufwerke oder Ordner freigegeben werden. Wir erkennen die Freigabe an der „Hand am Icon“. Für die Freigabe klickst du mit der rechten Maustaste auf das gewünschte Objekt und wählst im nun erscheinenden Menü die Option „Freigabe“. Im Peer to Peer – Netz ist der Besitzer des Computers für die Sicherheit seines Rechners selbst verantwortlich. Mittels Peer to Peer –Netz sind viele kleine Heimnetzwerke miteinander verbunden. Durch Aktivierung der „Internetverbindungsfreigabe“ können sogar mehrere Rechner über eine Telefonverbindung im Internet surfen. 1.2 Surfen mit Hilfe eines Servers Das Prinzip des Datenaustauschs zwischen 2 Rechnern in Form von Kommandos und Dateien. 1. Starte den Web-Browser an deinem Rechner 2. Tippe folgenden Text in die Adresszeile des Browers: http://susi/ Netzwerke RLFB-Niederbayern_Netzwerk/Funktion 1 von 15 Was passiert? Das Kommando http://susi/ fordert vom Rechner susi die Datei index.html an. Daraufhin sendet susi diese Datei an den anfordernden Rechner. (Auf dem Rechner „Susi“ ist ein Apache Web-Server installiert.) Diese Datei wird im Cache deines Rechners gespeichert und bleibt daher auch ohne Online-Verbindung im Browser aufrufbar. 1.3 Rechnername, Client, Server Aufgabe: 1. Finde heraus, welchen Namen andere PCs im Raum haben. 2. Ersetzte in der Adresszeile deines Browsers den Namen susi durch einen anderen Rechnernamen im Raum. Name des Rechners: Wie bereits weiter oben beschrieben wird der Rechnername des eigenen PCs sowie der im Netz verbundenen Rechner in der Netzwerkumgebung angezeigt. Adresszeile des Browsers ändern: Das Kommando der Dateianforderung wird von anderen Rechnern im LAN nicht befolgt, weil auf ihnen kein Programm (HTTP-Server) läuft, das auf eine Datei-Anforderung von anderen Rechnern „lauscht“. Der Browser heißt „HTTP-Client“ Client Server Sende mir die Homepage von Client in- Netzwerke RLFB-Niederbayern_Netzwerk/Funktion 2 von 15 Ergebnis: In einem Netzwerk können viele verschiedene Computer mit verschiedenen Betriebssystemen miteinander verbunden sein. Ein Computer, der das Netzwerk steuert und Programme und Daten (auch Websites) beherbergt, die die anderen Computer im Netz brauchen wird „Host“ genannt. (Host = Gastgeber) Programme, die Daten im Netzwerk anfordern, nennt man „Client“. (client = Kunde) Programme, die auf Anforderungen warten, nennt man „Server“. Häufig wird auch der Computer, auf dem das Serverprogramm läuft, als Server bezeichnet und der Rechner, der Daten anfordert, als Client. In unseren Übungen nennen wir den Server „susi“. Alle anderen PCs sind Clients. Auf „susi“ läuft u. a. ein Web-Server, auf den anderen Rechnern läuft u. a. ein Web-Client. (Browser) 2. Netzwerkdienste 2.1 Dienste und Protokolle Außer Web-Servern gibt es eine Reihe weiterer Programme auf Servern, die den Clients andere „Dienste“ zur Verfügung stellen. Dienste sind demnach Server-Computerprogramme, die ununterbrochen auf Anfragen aus dem Netzwerk „lauschen“ Es gibt eine Menge wichtiger Dienste im Netzwerk, z. B.: HTTP FTP Mail Telnet ... Netzwerke sendet HTML-Dateien, die vom Web-Browser des Clients direkt auf dem Bildschirm angezeigt werden. stellt die Verzeichnisstruktur des Server-Hosts dar und ermöglicht das Kopieren von Dateien von Server-Host zu Client-Host und umgekehrt. ermöglicht der auf dem Client-Host angemeldeten Personen, das Versenden und Empfangen vom Textmitteilungen und Dateien. ermöglicht es einer Person, die auf dem Server-Host bekannt ist, Programme und Befehle auf einen Server-Host auszuführen. ... RLFB-Niederbayern_Netzwerk/Funktion 3 von 15 Damit Server und Client sich verstehen können, gibt es präzise Spezifikationen, welche Funktionalität die Server- und Client-Computerprogramme erfüllen müssen und wie der Datenaustausch zwischen den Computern abläuft. Man nennt diese Spezifikationen „Protokoll“. Zum Beispiel sieht das FTP-Protokoll vor, dass es ein Kommando GET (Holen einer Datei vom Server) und ein Kommando PUT (Übertragen einer Datei zum Server) geben muss. Im FTP-Protokoll ist auch ein Kommando DIR vorgesehen, das es beispielsweise im HTTP-Protokoll nicht gibt. Protokolle sind immer die Basis der geordneten Datenübertragung von Host zu Host. 2.2 E-Mail Damit der Mail-Dienst funktioniert, werden Dienste benötigt. Das Verschicken der Nachricht besorgt ein sogenannter SMTP-Server. Das Aufbewahren der Nachrichten in besonderen Dateien und das Versenden der Nachrichten an den Mail-Client wird vom sogenannten POP-Server (oder IMAP-Server) abgewickelt. Da Mail personenbezogen ist, müssen der SMTP-Server und der POP-Server die Personen kennen, d. h., die Personen müssen auf den Servern als Benutzer eingetragen sein. Im rechten Bild ist ein Muster für die Einstellungen in Outlook zu sehen. (Client) Netzwerke RLFB-Niederbayern_Netzwerk/Funktion 4 von 15 2.3 Telnet-Dienst Übung: Starte das Programm „putty.exe“ 172.16.200.10 Gib die IP (wie im Bild oben) ein Gib folgendes ein: 172.16..200.10 login test1 password test1 Anmeldung am Server als User “test1“ Tippe das Kommando: su root als Passwort: 1234 Anmeldung als SuperUser „root“ am Server Gib folgenden Befehl ein: halt Linux-Befehl Was passiert? Telnet erlaubt kommandozeilenorientiertes Arbeiten am Server-Host. Dazu muss der Anwender am Server-Host entsprechende Benutzerrechte haben. In unserem Beispiel arbeitet ein Benutzer als (root) und fährt den Server-Host herunter. 3. Adressierung Netzwerke RLFB-Niederbayern_Netzwerk/Funktion 5 von 15 3.1 Der Begriff „Port“ Ein Dienst erkennt an der Portnummer, ob die aus dem netzwerk kommenden Daten für ihn „bestimmt“ sind. Mit anderen Worten, Dienste werden von Client-Hosts über sogenannte „Portnummern“ angesprochen. Im Bild rechts siehst du die Einstellungen von Outlook, die Ports POP3 und SMTP betreffend. Netzwerke RLFB-Niederbayern_Netzwerk/Funktion 6 von 15 Das Betriebssystem des Servers verwaltet eine Datei, in der die Portnummern mit den dazugehörigen Diensten und Protokollen aufgeführt sind. Bei Rechnern mit UnixBetriebssystem heißt diese Datei „/etc/services“. Starte hierzu das Programm „putty“ noch mal, melde dich als „test1“ an, dann als Superuser (su) und wechsle mit dem Befehl „cd“ ins Verzeichnis „etc“. Öffne dann mit dem Texteditor „joe“ die Datei „services“ (joe services). Die erste Spalte enthält den Namen des Protokolls, das der Dienst zur Kommunikation mit dem korrespondierenden Client-Computerprogramms verwendet. Die zweite Spalte enthält die Portnummer, auf die der Dienst „lauscht“. Nach dem Schrägstrich ist der Name des Protokolls aufgeführt, das zur Datenübertragung verwendet wird. Alle Dienste, die bisher vorgestellt wurden, verwenden zur Datenübertragung TCP. Die Zeichenkette hostname:portnummer, also hier z. B.: „susi:20“ nennt man Socket. Bei der Eingabe von „http://susi“ in den Navigationsbalken des Browsers, wurde das vorangestellte „http“ als Bezeichnung des Protokolls vom Browser in die entsprechende Portnummer (80) übersetzt. Für den Anwender ist diese Übersetzung unsichtbar. 3.2 Datenpakete – die Struktur von TCP Im Netzwerk sollen alle Clients möglichst gleichzeitig bedient werden. Daher werden die Daten in kurzen Paketen und nicht an einem Stück zwischen den Hosts transportiert. Man spricht von Datenpaketen. Jedes Datenpaket enthält neben den eigentlichen Daten zusätzliche Informationen. Welche Informationen an welcher Stelle im Datenpaket steht, ist von internationalen Standardisierungsgremien in der Spezifikation des jeweiligen Protokolls vorgegeben. Jedes Datenpaket hat also eine definierte Struktur. Netzwerke RLFB-Niederbayern_Netzwerk/Funktion 7 von 15 TCP (Transmission Control Protocol) Das TCP hat die Aufgabe alle empfangene Datenpakete dem Sender zu bestätigen. Gleichzeitig muss jedes gesendete Datenpaket solange wiederholt gesendet werden, bis der Empfang bestätigt wurde. Die Programme und Protokolle oberhalb der Transportschicht können sich also fest auf die Übertragungsgarantie von TCP verlassen. Der Verwaltungsoverhead, der dabei entsteht bremst die Performance der Datenübertragung allerdings in erheblichen Maße aus. Jedes Datenpaket, das TCP verschickt, wird ein Header vorrangestellt, der die folgenden Daten enthält: - Sender-Port Empfänger-Port Paket-Reihenfolge (Nummer) Prüfsummen Quittierungsnummer 3.3 Die IP-Adresse Übung - Starte deinen Web-Browser Gib folgenden Befehl ein: http://172.16.200.10 Was passiert? Die Web-Seite, die auch unter dem Namen „susi“ angezeigt wurde, wird wieder angezeigt. Das bedeutet, dass unser Sever die IP-Adresse „172.16.200.10“ hat und diese Adresse gleichbedeutend „susi“ ist. Übung - Finde heraus, welche IP-Adresse dein Rechner hat Finde die anderen IP-Adressen heraus, die in deinem Netzwerk gültig sind. Die IP-Adresse des Rechners erfahren wird, indem wir den Befehl „ipconfig“ oder „winipcfg“ in das DOS-Eingabefenster eintippen. Netzwerke RLFB-Niederbayern_Netzwerk/Funktion 8 von 15 Die Netzwerkkartenadresse ist die sogenannte MAC-Adresse, diese wurde bereits beim Thema Netzwerkkomponenten erwähnt. Andere Rechner im Raum sehen wir in der Netzwerkumgebung, wenn die Dateifreigabe in der Netzwerkumgebung aktiviert wurde. In einem Netzwerk können Hosts durch ihren eindeutigen Namen oder durch eine Nummerkombination (IP-Adresse) angesprochen werden. IP heißt „Internet Protocol“ und sorgt dafür, dass Datenpakete unverfälscht vom gewünschten Host im Netzwerk empfangen werden. IP-Adressen bestehen im Ipv4-System aus einer 32-Bit Folge von Daten. Sie werden traditionell in vier Bytes zusammengefasst, die wiederum in Dezimalschreibweise mit Trennpunkten notiert werden. (194.95.213.193) Beispiel einer Internetadresse: 32 bit binär 11000010 01011111 11011011 11000001 4 Byte dezimal 194 .95 .213 .193 Netznummer Netzpräfix Hostnummer Computernummer Standardmäßig stellt der linke Teil der 32-Bit-Adresse das sog. Netzpräfix und der rechte Teil die Hostadresse dar. Rechner mit dem gleichen Netzpräfix bilden ein Rechnernetz. Solange keine weiteren Maßnahmen (wie z. B. Router) eingesetzt werden, können Daten nur innerhalb dieses Rechnernetzes ausgetauscht werden. Übung - - Öffne die MS-DOS Kommandobox (command) Führe den Ping-Befehl aus: ping susi ping 172.16.200.10 Was passiert? Der Ping-Befehl überprüft, ob ein Kontakt zwischen zwei Rechnern auf IP-Ebene besteht. Netzwerke RLFB-Niederbayern_Netzwerk/Funktion 9 von 15 Übung - Führe den Ping-Befehl mit der IP 172.16.200.11 erneut aus. Was beobachtest du? „pinge“ einen beliebigen Rechner im Raum an. Wie kann ich meine IP-Adresse einstellen? Klicke dazu mit der rechten Maustaste auf das Icon „Netzwerkumgebung“. Wähl aus dem nächsten Menü die Option „Eigenschaften“. Nun klick auf TCP/IP ->“Netzwerkkarte“ (hier im Bild „Realtek RTL ....) und bestätige deine Auswahl mit dem Button „Eigenschaften“. Im Fenster „Eigenschaften von TCP/IP kannst du nun die „IP-Adresse“ festlegen. Die IP-Adressen werden vom INTERNIC (Internet Network Information Center, http://rs.internic.net) weltweit verwaltet. Firmen können über INTERNIC auch ganze Gruppen von IP-Adressen mieten. Man unterscheidet im Wesentlichen zwischen drei IPAdressklassen: Class A B C Netzwerke Netzanteil 8 Bit 16 Bit 24 Bit Host-Anteil 24 Bit 16 Bit 8 Bit RLFB-Niederbayern_Netzwerk/Funktion Subnet-Mask 255.0.0.0 255.255.0.0 255.255.255.0 10 von 15 3.4 Subnetzbildung Durch das IP Adressierungsschema ist es möglich, innerhalb eines Netzwerkes Hosts in Gruppen zusammenzufassen. Man nennt solche Gruppen „Subnetze“. Zu einem Subnetz gehörende Hosts können untereinander Daten austauschen, aber nicht ohne zusätzliche Maßnahmen Daten von anderen Subnetzen empfangen (in der Schule: Klassenraumnetz, Verwaltungsnetz). Dazu wird eine Subnetzmaske eingesetzt. IP-Adresse Subnetz Maske binär 134 .60 .10 .7 255 .255 .255 .0 10000110 00111100 00001010 00000111 11111111 11111111 11111111 00000000 Netzadresse Hostadresse Subnetzadresse 3.5 Routing Wo immer 2 oder mehr logische Netze miteinander kommunizieren kommt IP-Routing ins Spiel. Ein Router ist ein Gerät mit mindestens zwei Netzwerkkarten. Um entscheiden zu können an welche Netzwerkkarte der eingehende Datenverkehr weitergeleitet werden soll verwaltet jeder Router eine Routingtabelle, in der verschiedene Routen bereitgehalten werden. Anhand der Zieladresse in den IP-Headern der Datenpakete werden diese an das entsprechende Interface geleitet. Mit einer zweiten Netzwerkkarte, einem Modem oder einer ISDN-Karte kann jeder PC als Router eingesetzt werden, man spricht hier meistens von Software-Routern, da die Hardware nicht speziell für die Routertätigkeit entwickelt wurde. Hardware-Router sind in ihren kleinsten Ausführungen kaum größer als ihre zugehörigen Handbücher und sind nur für ein eng begrenztes Aufgabengebiet geeignet, z. B. als ISDN-Router. Netzwerke RLFB-Niederbayern_Netzwerk/Funktion 11 von 15 3.6 Network Adress Translation Ein NAT-Proxy ist mit mindestens zwei IP-Adressen konfiguriert. Eine, die zum internen Netz gehört und einer zweiten, die im Internet gültig ist. Alle Clients schicken ihre Internetanfragen an den Proxy-Server, der sie entsprechend verändert und ins Internet weiterleitet. Dabei ersetzt er im ankommenden IP-Paket des Clients zwei Informationen. Die Quell-IPAdresse des Clients wird durch seine öffentliche Adresse ersetzt und der Quell-Port des Clients wird mit einem nicht benutzten Port des Proxys ersetzt. Er führt dabei eine Tabelle, in der gespeichert wird, welche Kombination aus Client-IP und Client-Port auf welchen Proxy-Port gemappt wird. Öffentliche IP-Adresse Private IP-Adresse Der Ziel-Rechner im Internet sieht nun als Absender die IP-Adresse des Proxys und wird seine Antwort an die vom Proxy eingetragenen Port-Nummer schicken. Anhand dieser Port-Nummer in der Antwort kann der Proxy-Server in seiner internen Tabelle nachprüfen, an welche IP-Adresse und unter welcher Port-Nummer die Antwort zurück ins lokale Netz geschickt werden soll. Auf diese Art wird es möglich, mehrere Adressen (intern) auf eine Adresse (extern) abzubilden, was auch zur Anonymisierung des Internetverkehrs eingesetzt werden kann. Private Netze (diese IP sollen nicht geroutet werden) 10.0.0.0 - 10.255.255.254 172.16.0.0 - 172.31.255.254 192.168.0.0 - 192.168.255.254 Loopback (Anfragen an diese IP werden nicht ans Netzwerkkabel geschickt) 127.0.0.1 127.255.255.255 Netzwerke RLFB-Niederbayern_Netzwerk/Funktion 12 von 15 4. Die physikalische Ebene 4.1 Ethernet Die Nachfrage nach Standards für lokale Netzwerke (LAN - Local Area Network) ließ die Organisation IEEE (Institute of Electrical and Electronics Engineers) eine Arbeitsgruppe einrichten. Seit dem steht der Name Ethernet als Synonym für alle unter der Arbeitsgruppe vorgeschlagenen und standardisierten Spezifikationen. Angefangen hat es in den Achtzigerjahren beim 10-MBit-Ethernet über Koaxialkabel, dann Fast Ethernet mit 100 MBit/s und Gigabit Ethernet mit 1000 MBit/s und 10 GBit/s. Alle Ethernet-Varianten haben eines gemeinsam. Sie basieren auf denselben Prinzipien. 4.2 MAC Adresse Ethernet ist ein paketvermittelndes Netzwerk. Die Daten werden in mehrere kleine Pakete aufgeteilt. Diese Pakete werden Frames genannt. In einem Frame werden neben den Daten auch die Zieladresse, die Quelladresse und Steuerinformationen verpackt. Als Adressen dienen die MAC-Adressen. Das ist die einmalig hardwareseitig vom Hersteller konfigurierte Adresse in der Netzwerkkarte. Diese Netzwerkkarte ist der Beginn der physikalischen Ebene. Die MACAdresse (Media Access Control) ist eine 48 Bit (6 Byte) lange Zahl. Die Bits 2 bis 24 bestimmen den Hersteller, die restlichen Bits identifizieren die einzelnen Karten. Beispiele von Netzwerkkarten-Herstellern: Netzwerke 00 AA 00 Intel 08 00 02 3Com 08 00 09 HP 08 00 5A IBM 00 00 E5 Accton RLFB-Niederbayern_Netzwerk/Funktion 13 von 15 4.3 ARP-Anfrage ARP ist eine Abkürzung für Address Resolution Protocol. (Adressenanpassung) Dieses Protokoll ist eine Komponente des Ethernetstandards. Um ein IP-Datenpaket durch das Kabel an die Netzwerkkarte des Ziel-Hosts schicken zu können, muss der Sende-Host die MAC-Adresse des Ziel-Hosts kennen. Er sendet daher ein spezielles Signal (=Datenpaket) an alle Hosts des Netzwerkes. Dem Signal gibt er seine eigene MAC-Adresse als Senderadresse und die IP-Adresse des Ziel-Hosts mit. Der Ziel-Host mit dieser IP antwortet, indem er ein Signal, das nun zusätzlich seine eigene MAC-Adresse enthält, an den Sender-Host schickt. Der Sender-Host speichert diese Information eine Weile (ca. 20min) in einer internen Tabelle. Außerdem kann er mit der Information der MAC-Adresse des ZielHost das IP-Datenpaket um diese Information ergänzen und in das Kabel schicken. Alle PC-Systeme mit TCP/IP (Windows, OS/2 und Unix) stellen das Kommando arp zur Verfügung, um die Adreßabbildung zu beeinflussen oder einzusehen. So gibt der Befehl arp -a die komplette ARP-Tabelle aus. Für jedes Netzwerk-Interface (es können schließlich in einem Rechner mehrere Netzwerkkarten konfiguriert sein) zeigt das Kommando die IP-Adressen, zugehörige MAC-Adressen an. 4.4 Mehrfachzugriff unter CSMA/SD mit Datenkollision Das Fast Ethernet ist ein sogenanntes Kollisionsnetzwerk. Es gibt keine Regeln, die dafür sorgen, dass der Reihe nach oder in irgendeiner anderen Ordnung die Hosts im Netzwerk senden. Es gibt auch Netzwerke (z. B. Token Ring) in denen durch bestimmte Mechanismen Kollisionen vermieden werden. Im Fast Ethernet dürfen prinzipiell alle Hosts gleichzeitig senden. Die Konsequenz sind „Verzerrungen“ der Signale (=elektromagnetische Wellen), wenn sie aufeinanderprallen. Um solche Kollisionen zu vermindern „lauschen“ alle Hosts auf das Netzkabel und senden das Datenpaket erst dann, wenn kein Signal aus dem Netz empfangen werden kann – wenn also die „Leitung frei ist“‘. Netzwerke RLFB-Niederbayern_Netzwerk/Funktion 14 von 15 Es kann aber sein, dass ein anderer Host gleichzeitig oder kurz vorher festgestellt hat, dass er senden kann, und schickt ebenso ein Datenpaket ins Netzkabel. Es kommt nun zu einer Kollision. Derjenige Host, der sich noch im Sende-Status befindet, stellt die Kollision fest und schickt ein besonderes Warnsignal ins Netz. Dieses Signal wird von allen sendenden Host erkannt, die daraufhin den Sendevorgang abbrechen. Nun werden alle Hosts ein paar Sekunden warten und der Vorgang beginnt danach von vorne. Um die Wahrscheinlichkeit einer neuen Kollision zu verhindern, generiert jeder Host per Zufallsgenerator seine Wartezeit. Netzwerke RLFB-Niederbayern_Netzwerk/Funktion 15 von 15