Computernetze DVG3 - 14Computernetze 1 Ziele der Computernetze DVG3 - 14Computernetze 2 Datenaustausch zwischen Computern (z.B. NFS, FTP) Nachrichtenaustausch (z.B. SMTP, NNTP) Gemeinsame Nutzung von Ressourcen (z.B. WWW, LPR, CORBA, PVM) Erhöhung der Betriebssicherheit (Cluster) Vereinfachung der Wartung (diskless Client, remote Installation) Gemeinsame Datenbasen (z.B. DNS, NIS) Probleme der Computernetze DVG3 - 14Computernetze 3 Sehr verschiedene Computer mit sehr unterschiedlicher Software Architektur (Prozessorzahl, Speicherzuordnung) Hardware (RISC, PC, MAC, Mainframe, Vektorrechner) Betriebsysteme (UNIX, Windows, MacOS, OS/2, BeOS, Atari, Mainframe-Systeme) Vernetzungssoftware (Ethernet , Appletalk, TokenRing, FDDI, ATM, IP over SDH) Vernetzungshardware (TwistedPair, ThinWire, ThickWire, LWL, Funk, Infrarot) Computer sind sehr weiträumig verteilt und von vielen verschiedenen Personen verwaltet, konfiguriert, gepflegt. Das Netz soll dynamisch und entwicklungsfähig sein. Zentrale Verwaltung der Netze ist nicht möglich und auch nicht gewollt. Lösungsversuch DVG3 - 14Computernetze 4 Standardisierung So detailliert und eng, dass unterschiedliche Systeme zusammenarbeiten können, wenn sie sich an die Standards halten. So offen, dass die Entwicklung eigener Anwendungen und Protokolle möglich ist, ohne andere Anwender zu behindern. Einteilung der Problematik in Schichten oder Layer Einzelne Schichten können getrennt voneinander behandelt werden Schnittstellen zwischen den Schichten werden standardisiert Jede Schicht stellt der darüber liegenden Schicht Dienste zur Verfügung und nutzt Dienste der darunter liegenden Schicht. Dadurch können unterschiedliche Realisierungen von Schichten kombiniert werden. Beispiele für Schichten DVG3 - 14Computernetze 5 SMTP IMAP TCP/IP DECnet Ethernet AppleTalk TwistedPair LWL HTTP Layer 4 Layer 3 ATM Layer 2 Layer 1 Kommunikation zweier Rechner DVG3 - 14Computernetze 6 Rechner 1 Rechner 2 SMTP SMTP Layer 4 TCP/IP TCP/IP Layer 3 Ethernet Ethernet Layer 2 TwistedPair TwistedPair Layer 1 Layer 1 – die physikalische Schicht DVG3 - 14Computernetze 7 Im Layer 1 werden die physikalischen Verbindungen zwischen Rechnern definiert. Kabel (TwistedPair, ThinWire, ThickWire, LWL) Stecker (RJ45, BNC, AUI, ST, SC) Art, wie ein bit übertragen wird (Spannungsimpuls, Spannungswechsel, Lichtimpuls) Art wie Rechner angeschlossen werden können (Punkt zu Punkt, bus-Struktur, Ring-Struktur) Probleme auf dem Layer 1 Dämpfung von Kabeln und Steckern Reflektionen an Verbindungen Übersprechen zwischen mehreren Leitungen Einstreuung von Störungen Layer 2 - Verbindungsschicht DVG3 - 14Computernetze 8 Definiert die Übertragung von Daten zwischen direkt über Layer 1 verbundene Rechner. Daten werden in Paketen zusammengefasst und von einem Rechner zum anderen übertragen. Probleme: Mehrere Rechner können sich das Medium teilen. Pakete müssen eine Adresse und einen Absender enthalten. Es muss gesichert werden, dass nicht mehrere Rechner gleichzeitig Daten auf dem selben Medium senden wollen. Es muss gesichert werden, dass die Daten fehlerfrei empfangen wurden, ggf. muss eine wiederholte Sendung veranlasst werden. Ethernet DVG3 - 14Computernetze 9 Im Ethernet hat jedes Netzinterface eines Rechners eine eindeutige Adresse, die MAC-Adresse. Diese Adresse ist sechs Byte lang und weltweit einzig. Sie besteht aus zwei Teilen: Herstellerverschlüsselung (3 Byte) Interfacenummer (3 Byte) Beispiele 08-00-2b-01-f7-23 08:00:2b:01:f7:23 08002b01f723 Insgesamt gibt es 248 ca. 1015 verschiedene MAC-Adressen. Bestimmte Adressen sind Broadcast-Adressen. MAC-Adressen sind meistens in EPROMS gespeichert. Diese können ggf. gewechselt oder umprogrammiert werden. Datenpaket im Ethernet: Zieladresse Absenderadresse Daten CRC 6 Byte 6 Byte N Byte ? Byte Kollisionserkennung DVG3 - 14Computernetze 10 Wenn mehrere Rechner an einem Medium angeschlossen sind, kann es passieren, dass mehrere Rechner gleichzeitig senden. Dann kommt es zur Verfälschung der Signale. Zur Kontrolle dient das CSMA/CD-Verfahren: Carrier Sense Multiple Access/Collision Detection Jeder sendet nur, wenn auf dem Netz nichts los ist. Wenn er sendet, liest er gleichzeitig die Daten auf dem Netz und vergleicht, ob nichts verfälscht wurde. Wenn während der Sendung festgestellt wurde, dass Verfälschungen auftraten, wird das Senden abgebrochen und nach einer zufälligen Wartezeit erneut versucht zu senden. Das wird solange wiederholt, bis die Daten erfolgreich gesendet wurden. Alle Rechner lesen alle Pakete und entscheiden an Hand der Adresse ob das Paket an das System weitergegeben werden muss. DVG3 - 14Computernetze 11 Vorteile des Ethernet: Einfache Implementierung Keine zentrale Organisation erforderlich Preiswerte Interfacekarten Preiswerte Verkabelung Nachteile des Ethernet: Kabellängen sind begrenzt durch die Laufzeit des Signals und die Länge des kürzesten Paketes Bei hoher Belastung kommt es zu vielen Kollisionen. Das führt zu verstärkter Wiederholung von Paketen und damit zu einer weiteren Erhöhung der Belastung. Effektiver Durchsatz eines 10Mbit/s Ethernets maximal ca. 3 Mbit/s . Verbesserungen möglich durch: Dedizierte Segmente, d.h. Punkt zu Punkt-Verbindung Full-duplex-Betrieb keine Kollisionen Höhere Bandbreite, Fast-Ethernet (100 Mbit/s), Gigabit-Ethernet (1000 Mbit/s) Vergrößerung von Ethernets DVG3 - 14Computernetze 12 Um Kabellängenbeschränkungen zu umgehen nutzt man Repeater. Repeater führen aber auch zu Verzögerungen, sodass nur zwei Repeater in jeder Verbindung erlaubt sind. Repeater führen zu einer Vergrößerung der Kollisions-Domäne, sodass die Zahl der Kollisionen zunimmt. Weitere Möglichkeit: Einsatz von Switchen Switche lernen, welche MAC-Adressen an welchem Port lokalisiert sind und senden Pakte nur an die Segmente wo sich die Zieldresse befindet. Dadurch werden Kollisionen verringert. Token Ring DVG3 - 14Computernetze 13 Das Token Ring Protokoll basiert auf einer Ringförmigen Layer 1 Verbindung der Rechner. Jeder Rechner hat also genau einen Vorgänger und einen Nachfolger im Ring. Im Ring kreist ein spezielles Datenpaket der Token. Wenn der Token als frei gekennzeichnet ist, kann ein Rechner Daten an den Token anhängen und den Token als besetzt kennzeichnen. Jeder Rechner im Ring liest die Adresse des Datenpaketes und liest das Datenpaket falls er der Adressat ist. Wenn die Daten fehlerfrei gelesen wurden, wird ein spezieller Token an den Absender geschickt. Dieser kennzeichnet dann den Token als frei und schickt ihn weiter. Falls das Paket nicht fehlerfrei empfangen wurde wird es noch einmal gesendet. DVG3 - 14Computernetze 14 Vorteile des Token Ring Verfahrens: Es treten keine Kollisionen auf. Keine Probleme im Hochlastbereich Nachteile des Token Ring Verfahrens: Aufwendige Verkabelung Aufwendige Interface-Karten Komplizierte Erweiterung Evtl. lange Wartezeit bis ein freier Token vorbeikommt Fast ausschließlich von IBM eingesetzt ATM DVG3 - 14Computernetze 15 ATM – Asynchronous Transfere Mode Modernes Protokoll mit neuen Eigenschaften ATM ist verbindungsorientiert, d.h. es wird eine Verbindung zwischen dem Absender und dem Adressaten aufgebaut und anschließend werden die Daten gesendet. ATM arbeitet mit Datenpaketen fester Länge = 53 Byte = 48 Byte Daten + 5 Byte Steuerinformation und CRC ATM kann auf einer Leitung mehrere Verbindungen gleichzeitig herstellen. Diese Verbindungen können mit sehr verschiedenen Eigenschaften versehen sein. Z.B.: Feste bit-Rate (z.B. zur Übertragung von Telefongesprächen) Vorgegebene mittlere Datenrate (z.B. für Mietleitungen) Beste mögliche Datenrate (z.B. für Datenübertragung) ATM-Verbindungen können über große Entfernungen geschaltet werden (WAN). ATM ermöglicht die gleichzeitige Übertragung von Daten und Sprache. DVG3 - 14Computernetze 16 Vorteile von ATM: große Datenrate (bis 2 Gbit/s standardisiert) Hohe Qualität der Verbindungen große Flexibilität Nutzbar für gemischte Anwendungen Anwendbar in Echtzeit-Umgebungen Anwendbar im WAN-Bereich und im LAN-Bereich Vielzahl von Emulationen verfügbar • IP over ATM • LAN-Emulation (Ethernet-Emulation) Nachteile von ATM: Teure Geräte Teure Verkabelung Kompliziertes Management Vielzahl komplizierter Management-Protokolle Wenige Rechner können direkt ATM nutzen Layer 3 DVG3 - 14Computernetze 17 Layer 1: erzeugt bits auf Leitungen Layer 2: transportiert Datenpakete von einem Rechner zu einem anderen. Probleme: Die Verbindung zwischen zwei Rechnern geht normalerweise über viele Zwischenstufen. Um ein Paket von einem Rechner zu dem anderen zu schicken, benötigt man nicht nur die Adressen, sondern auch den Pfad zu dem Zielrechner. es werden "Router" und ein "routebares" Protokoll benötigt viele Layer 2 – Adressen sind nicht strukturiert und werden chaotisch vergeben (z.B. Ethernet, TokenRing, FDDI, Ausnahme: ATM) und sind damit nicht "routbar". Es ist ein routbares Layer 3 erforderlich. DECnet ISO-OSI-Protokoll (X.25) Internet (IP) IP-Adressen DVG3 - 14Computernetze 18 32 bit lang 3229415781 0xc07cf965 192.124.249.101 Ordnung: je mehr bits am Anfang übereinstimmen, desto "näher" befinden sich die Adressen. Zunächst Unterteilung nur Byteweise. Einteilung in A- B- und C-Klasse Adressen (A-, B, C-Netze). • A-Netze: gleiches erstes Byte, erstes Byte <128, d.h. erstes bit=0, z.B. 124.0.0.0 • B-Netze: gleiche erste beiden Bytes, erstes Byte zwischen 128 und 191, d.h erstes bit=1, zweites bit=0, z.B. 141.16.0.0 • C-Netze: gleiche erste drei Bytes, erstes Byte >191, d.h. erste und zweites bit=1, z.B. 192.124.249.0 IP-Adressen werden nur Netzweise vergeben. A-, B- und C-Netze werden immer geschlossen vergeben, d.h. es gibt 128 A-Netze 64*256=16384 B-Netze und 4194304 C-Netze Die Adresse 0 ist die Netzadresse und 255 ist die Broadcastadresse. DVG3 - 14Computernetze Vorteile: Durch die Netzweise Vergabe von Adressen kann leichter geroutet werde. Ein Router muss nicht jeden Knoten kennen, sondern nur die Netze (insgesamt ca. 4000000 statt 4000000000). B- und C- Netze werden von untergeordneten Stellen vergeben und können daher in Gruppen geroutet werden. Welt InterNIC Europa RIPE Deutschland DE-NIC Frankreich Niederlande 19 Großbritanien Asien CIDR-Routing DVG3 - 14Computernetze 20 CIDR – Classless Internet Domain Routing Das Routing nach A-, B- und C-Klassen ist nicht flexibel genug, die Adressen werden knapp. Beim CIDR-Routing werden die Subnetze nach der Anzahl der festen bits bestimmt, kleinste Adresse des Bereichs ist die Netzadresse größte Adresse des Bereichs ist die Broadcastadresse 192.124.249.0 192.124.249.0/24 192.124.249.0; 192.124.249.255 141.16.0.0 141.16.0.0/16 141.16.0.0; 141.16.255.255 124.0.0.0 124.0.0.0/8 124.0.0.0; 124.255.255.255 192.124.249.48/29 192.124.249.48...55 192.124.249.48; 192.124.249.55 193.175.148.0/22 193.175.148.0... 193.175.151.0 193.175.148.0; 193.175.151.255 Routing Z.B. CISCO IOS interface ATM1/0 ip address 188.1.1.210 255.255.255.252 DVG3 - 14Computernetze interface ATM2/0 ip address 193.175.148.254 ip address 193.175.150.254 ip address 193.175.151.254 ip address 192.124.249.254 interface Serial3/0 ip address 141.16.245.38 255.255.255.252 ip ip ip ip 21 255.255.255.0 secondary 255.255.255.0 secondary 255.255.255.0 secondary 255.255.255.0 default-gateway 192.124.249.134 classless route 0.0.0.0 0.0.0.0 188.1.1.209 route 141.16.245.0 255.255.255.0 141.16.245.37 ARP DVG3 - 14Computernetze 22 ARP – Address Resolution Protocoll Dient der Zuordnung von IP-Adressen zu MAC-Adressen. Jeder Rechner hat eigenen ARP-Server, der eine Liste aller ihm bekannten Zuordnungen zwischen IP- und MAC-Adressen führt. Wenn er eine Adresse auflösen soll, die er nicht kennt startet er eine Anfrage ans Netz. Broadcast DVG3 - 14Computernetze 23 Rechner IPA will IP-Paket an Rechner IPB schicken: 1. Rechner prüft Routingtabelle, ob IPB direkt erreichbar ist, wenn nicht schickt er das IP-Paket an den Router, zusammen mit der Endzieladresse. 2. IPA fragt seinen eigenen ARP-Server nach der MAC-Adresse von IPB bzw. Router. 3. ARP-Server prüft die eigene Tabelle, ob die MAC-Adresse bekannt ist. 1.Wenn ja MAC-Adresse wird zurückgegeben 2.Wenn nein Anfrage ans Netz 4. IP-Paket wird an Layer 2 mit der gefundenen MAC-Adresse übergeben und von Layer 2 gesendet. Layer 4 DVG3 - 14Computernetze 24 Layer 3 (IP) ermöglicht das versenden eines IP-Paketes an einen beliebigen anderen IP-Knoten (ggf. auch an mehrere IP-Knoten) Probleme: IP-Pakete sind in der Größe beschränkt. Es existiert keine Kontrolle, ob der Transport fehlerfrei erfolgt ist. Mehrere IP-Pakete können verschiedene Wege im Netz wählen, sodass keine Reihenfolge garantiert werden kann. Es werden Protokolle definiert, die auf IP (Layer 3) aufsetzten. UDP : Unix Datagram Protocoll – verbindungsloses Protokoll TCP : Transmission Controll Protocoll – verbindungsorientiertes Protokoll UDP DVG3 - 14Computernetze 25 Einfaches Protokoll zum Transport von Daten in "lokalen" Netzen. Es werden keine Verbindungen aufgebaut. Es erfolgt keine Kontrolle des Erfolgs. Programme, die UDP nutzen, müssen selber für wiederholte Sendung sorgen, falls Daten nicht oder fehlerhaft angekommen sind. Vorteil: Geringer Aufwand, wenig overhead Nachteil: bei unsicheren Verbindungen treten große Paketverluste auf, sodass ein großer Aufwand für die Korrektur getrieben werden muss. In bestimmten Anwendungen ist der vorherige Aufbau einer Verbindung nicht möglich (z.B. ping/echo, bootp) bzw. nicht erwünscht (z.B. nfs). TCP DVG3 - 14Computernetze 26 Verbindungsorientiertes Protokoll Bevor Daten gesendet werden wird eine Verbindung aufgebaut: 1. Rechner A sendet TCP-Anfrage an Rechner B 2. Rechner B stellt fest, ob er die Verbindung aufbauen kann. Nein: keine Reaktion Ende Ja: Rechner B geht in den Bereit-Modus über und sendet eine positive Antwort an A. 3. Rechner A sendet ein Paket, dass nun die Verbindung aufgebaut werden kann B geht bei Empfang des Paketes in den aktiven Modus, Verbindung ist aufgebaut TCP kontrolliert, ob die Daten korrekt und in der richtigen Reihenfolge ankommen. TCP organisiert Wiederholungen automatisch. Vorteil: Anwenderprogramme können von einer sicheren Datenübertragung ausgehen. Funktioniert auch bei schlechten Verbindungen. Nachteil: Im Vergleich zu UDP große Organisationsaufwand. IP-Ports DVG3 - 14Computernetze 27 Jeder Rechner hat nur eine bzw. wenige IP-Adressen. Es werden aber viele verschiedene Dienste benötigt, z.B. ping, ftp, nfs, http, dns, nis u.s.w. Diese Dienste sollten schon bei dem Aufbau der Verbindungen unterschieden werden können. Z.B. nimmt ein Rechner prinzipiell keine smtp-Verbindung an, reagiert aber auf echo-Verbindungen. Zur Unterscheidung der Dienste werden Ports verwendet. Die IP-Adresse wird um die Portnummer (2 Byte) erweitert. ca. 64000 mögliche Ports. Viele Dienste sind mit standardisierten Ports verbunden, z.B. echo = 7, ftp = 21, telnet = 23, smtp = 25, time = 37, bootp = 67, http = 80, pop2 = 109, pop3 = 110, nntp = 119, login = 513 u.s.w. Es können Programme geschrieben werden, die auf bestimmte Ports lauschen und bereit sind, Verbindungen auf diesen Ports aufzubauen. Ports <= 1024 sind privilegierte Ports und können nur vom Superuser benutzt werden. Ports können für TCP und UDP getrennt verwendet werden. Mit Hilfe des Portmappers können Ports dynamisch vergeben werden. Layer 5 DVG3 - 14Computernetze 28 Durch die Dienste von Layer 4 können viele verschiedene IPVerbindungen zwischen Rechnern aufgebaut werden. Es stehen leistungsfähige Basisprotokolle (TCP, UDP) zur Verfügung. Darauf setzten diverse Protokolle zur Lösung komplexer Aufgaben auf. Protokoll: Vereinbarung darüber welche Daten in welchem Format übertragen werden und wie die Gegenstelle auf die Übertragung bestimmter Daten zu reagieren hat. Beispiele für Layer 5 - Dienste: SMTP – Simple Mail Transfere Protocoll FTP - File Transfere Protocoll NFS – Network File Service telnet – virtuelles Terminal login – anmelden http – Hypertext Transfere Protocoll pop2, pop3 – Postoffice Protocoll Die Dienste können entweder TCP (z.B. SMTP), UDP (z.B. BOOTP) oder beides (z.B. NFS) verwenden. IP-Stack SMTP FTP NFS HTTP ECHO DVG3 - 14Computernetze UDP TCP IP Ethernet Twisted Pair 29 DNS DVG3 - 14Computernetze 30 DNS – Distributed Name Service IP-Adressen sind sehr unhandlich und sagen nichts über Funktion des Rechners, Zughörigkeit zu Organisationseinheiten u.s.w. aus. DNS – verwaltet und verteilt derartige Informationen. Rechner werden in Domainen geordnet. Domainen sind hirarchisch geordnet. Top-Level-Domainen sind z.B. de, com, org, edu, fr, net u.s.w. Die Verwaltung der Top-Level-Domainen ist verschiedenen Organisationen übergeben worden z.B. de: DE-NIC Die nächste Ebene wird an Anwender übergeben z.B.: tfh-berlin.de, wias-berlin.de, eplus.de, t-online.de u.s.w. Weiter Unterteilungen obliegen den Anwendern selber. Die Zuordnung zwischen Namen und IP-Adressen erfolgt durch Nameserver. Jeder Verwalter einer Domaine ist für den Betrieb eines Nameservers zuständig der die Namen seiner Domaine auflösen kann. Top-Level-Domain de DVG3 - 14Computernetze 31 tfh-berlin mathematik com wias-berlin net org