Grundlagen der Informatik III WS 2008 / 2009 [Folien basierend auf VL von Prof. Dr. Claudia Eckert, WS 07/08] Prof. Dr. rer. nat. Frederik Armknecht Sascha Müller Daniel Mäurer Fachbereich Informatik / CASED Mornewegstraße 30 64293 Darmstadt Gliederung der Vorlesung GdI 3 1. Einführung 2. Assemblerprogrammierung 3. Leistungsbewertung 4. Speicherhierarchie 5. Assembler, Binder, Lader 6. Betriebssysteme und Ein-/Ausgabe (Grundlagen) 7. Rechnernetze (Grundlagen) 8. Compiler (Grundlagen) Fachbereich Informatik | Prof. Dr. F. Armknecht | 2 Gliederung dieses Kapitels 7.1 Klassifikation von Netzen 7.2 Netz-Topologien 7.3 Übertragungsmedien 7.4 Kommunikationsformen 7.5 Kommunikationsprotokolle 7.6 Sicherungsschicht 7.7 Netzwerkschicht 7.8 Internet-Protokoll-Familie 7.9 Protokolle der Anwendungschicht, Auswahl Fachbereich Informatik | Prof. Dr. F. Armknecht | 3 Kapitel 7 Rechnernetze Ziel: wesentliche Aufgaben, Protokolle, Netzstrukturen Literatur A.S. Tanenbaum, Computer Networks, Prentice Hall Motivation: was passiert bei einem Zugriff auf eine Web-Seite Internet Zur Realisierung werden benötigt: • Kommunikationsprotokolle und Netzwerk-Komponenten Fachbereich Informatik | Prof. Dr. F. Armknecht | 4 7.1. Klassifikation von Netzen Meist eine Klassifikation anhand der physischen Ausdehnung der Netze: LAN, MAN, WAN, (PAN, BAN?) PAN mit Bluetooth Fachbereich Informatik | Prof. Dr. F. Armknecht | 5 7.1.1 Local Area Networks (LAN) • Netz für bitserielle Übertragung von Daten zwischen unabhängigen, untereinander verbundenen Systemen. • Rechtlich unter der Kontrolle des Benutzers; auf den Bereich innerhalb eines Grundstücks, Gebäudes beschränkt. • Durchmesser wenige 100m, begrenzte Teilnehmerzahl • Relativ hohe Datenrate: u.a. 16Mbit/s, 1-10Gbit/s • Übertragung unterschiedlicher Informationsarten (Text, Bild, Sprache, ...) • Verwendung verschiedener Medien zur Datenübertragung (Kupfer, Koax, Glasfaser, Äther) Bem.: Bei Gigabit-Ethernet ist auch parallele Übertragung standardisiert. Dennoch spricht man von LAN-Technologie. Fachbereich Informatik | Prof. Dr. F. Armknecht | 6 7.1.2 Metropolitan Area Networks (MAN) Durchmesser: wenige Kilometer, Stadt(gebiet) Beispiel: MAN basierend auf Kabel-TV Fachbereich Informatik | Prof. Dr. F. Armknecht | 7 7.1.3 Wide Area Networks (WAN) • Ausdehnung über große geografische Gebiete (Land, Kontinent) • Hosts sind über Kommunikations-Subnetze verbunden • Ein Kommunikations-Subnetz: typisch verwaltet durch Telefongesellschaft oder durch Internet Provider • Subnetz besteht aus Übertragungsleitungen und • Vermittlungselementen (Router) Fachbereich Informatik | Prof. Dr. F. Armknecht | 8 7.1.3 Wide Area Networks (WAN) • Kommunikation ist auch zwischen nicht direkt verbundenen Routern möglich: Pfad über andere Router • übertragenen Daten werden in idR in Pakete aufgeteilt • Router können Pakete speichern und weiterleiten: • store-and-forward or packet-switched subnet • wichtige Aufgabe: Routing-Verfahren für Pakete Fachbereich Informatik | Prof. Dr. F. Armknecht | 9 7.1.4 Internet: Netz von Netzen • Gateways: Maschinen, die zwischen verschiedenen Hardware-Komponenten, Protokollen und Software vermitteln • Gebräuchliche Form: LANs verbunden durch WAN Fachbereich Informatik | Prof. Dr. F. Armknecht | 10 7.2 Netz-Topologien Netz-Topologie: Struktur von Rechnernetzen • Klassifikation danach, welche Beziehungen die Rechner aufgrund der Verbindungsleitungen zueinander haben 7.2.1 Bus-Topologien • alle Rechner an einem Übertragungsmedium angeschlossen • Broadcastmedium, jede Station hört ständig das Medium ab • Beispiel: Ethernet Fachbereich Informatik | Prof. Dr. F. Armknecht | 11 7.2.2 Ring • In der Regel sendet jede Station nur in eine Richtung und empfängt aus der anderen; d.h. • jede Station muss ein empfangenes Paket weiter senden, der Ring besteht aus Punkt-zu-Punkt-Verbindungen • Beispiel: FDDI (Fiber Distributed Data Interface), Token Ring Bem.: FDDI idR als Doppelring aufgebaut Fachbereich Informatik | Prof. Dr. F. Armknecht | 12 7.2.3 Stern • jede Station wird mit einer (zentralen) Station verbunden • Beispiel z.B. Telefonnetz der Telekom • zentrale Station muss hoch zuverlässig sein • Vorteil: Fehlverhalten einer einzelnen nicht zentralen Station wird schnell erkannt und der Rest des Netzes kann vor dieser geschützt werden kann Beispiele: • Hub: • zentralen Verteiler bei stern-gekoppelten Bus/Ringnetzen • Switch: • zentrale Station, die verschiedene Netzsegmente verbindet Fachbereich Informatik | Prof. Dr. F. Armknecht | 13 7.2.4 Backbone Netze • Netze, die alleine dazu dienen, andere Netze zu verbinden. unterschiedliche Toplogien: z.B. Bus, Ring, Stern • häufig in einer schnellen Technologie erstellt, z.B. mit Lichtwellenleitern (FDDI-Backbone). Beispiel: Fachbereich Informatik | Prof. Dr. F. Armknecht | 14 7.3 Übertragungsmedien • der Austausch der Daten zwischen Rechnern erfolgt über Verbindungen • Verbindungen sind realisiert als physikalischer Kanal • Sender verändert dessen physikalischen Zustand • Empfänger misst den Zustand und schließt aus den Änderungen auf die übertragene Information • hierzu verwendet: • elektrische und zunehmend optische Signale • wichtigstes Merkmal eines physikalischen Kanals: • Geschwindigkeit, mit der Daten übertragen werden können • idR in Bits pro Sekunde (Bit/s) oder Bytes pro Sek. (Byte/s) • Baud (veraltet) steht für Zeichen pro Sekunde Fachbereich Informatik | Prof. Dr. F. Armknecht | 15 7.3.1 Twisted Pair • verdrilltes Kupferkabel (z.B.Telefondraht) • preiswerteste Technologie, für niedrige Frequenzen, • sehr störungsempfindlich, da elektromagnetische Einstrahlungen (Motoren, Spulen, Höhenstrahlung) fast ungedämpft die Signale beeinflussen können. • einfach zu verlegen, weit verbreitet und gut genormt • Entwicklung: hohe Übertragungsraten (>100 MBit/sec) • nur für kurze Entfernungen (ca. 100 m), z.B. Gebäude • STP=shielded twisted pair; UTP=unshielded twisted pair Bem.: heute UTP meist für Ethernet • Eingeteilt in Kategorien 1-7 Kategorie 5: ca. 100 MBits/sec über ca. 100 m Entfernung Fachbereich Informatik | Prof. Dr. F. Armknecht | 16 7.3.2 Koaxialkabel (coaxial cable) • für hohe bis sehr hohe Frequenzen eingesetzt, teurer als TP • Technisch bestehen sie aus einem zentralen Leiter, der von einem peripheren Leiter ummantelt wird (Innen-, Außenleiter) • Elektromagnetische Einstrahlungen wirken auf beide Leiter in beide Richtungen gleichermaßen und heben sich nahezu auf • strahlen auch bei hohen Frequenzen nahezu keine eigene Energie ab, so dass die Dämpfung entsprechend gering bleibt • genormte Varianten, z.B. Ethernet das „Yellow cable“ Isolation (Dielektrikum) Schutzmantel Außenleiter Innenleiter (Seele) Fachbereich Informatik | Prof. Dr. F. Armknecht | 17 7.3.3 Lichtwellenleiter (LWL; fibre optics) (Glasfaser) • für höchste Frequenzen geeignet, teuer • moderne Monomodefasern können Licht über fast 100 Kilometer ohne Zwischenverstärkung übertragen • in Lichtwellenleiter (LWL) wird • ein (monochromatischer) Laserlichtstrahl mittels • totaler Reflektion im inneren des LWL entlang geführt und • kann an dessen Ende wieder empfangen werden. Fachbereich Informatik | Prof. Dr. F. Armknecht | 18 7.3.4 Funktechnik • Mobilkommunikation: GSM/GPRS, UMTS • 802.11-WLAN für einige Kilometer, … Richtfunk • benutzt eine elektromagnetische Welle als Träger und moduliert dieser das zu übertragende Signal auf. • eingesetzt in dünn besiedelten Gebieten • Da zwischen Sender und Empfänger Sichtverbindung herrschen muss, sind die Einsatzmöglichkeiten beschränkt. Satelliten • interkontinentale Kommunikationsverbindungen • sehr großen Entfernungen zw. Sender/Empfänger: • spürbare Übertragungszeitverzögerungen Fachbereich Informatik | Prof. Dr. F. Armknecht | 19 Klassifikation: Funktechnologien Einordnung nach Reichweite und Datenrate Fachbereich Informatik | Prof. Dr. F. Armknecht | 20 7.4 Kommunikationsformen 7.4.1 Vermittlungstechniken Wie werden die Daten an einem Netzknoten weitergeleitet? Zwei Techniken bekannt: Leitungs- und Paketvermittlung Leitungsvermittlung (circuit switched network) Vom Sender zum Empfänger wird eine durchgängige, physikalische Leitung etabliert. Eine Kommunikation findet in folgenden Phasen statt: 1. Verbindungsaufbau 2. Datenaustausch 3. Verbindungsabbau Nach dem Verbindungsaufbau steht die Bandbreite dem Sender vollständig zur Verfügung (reservierte Bandbreite). Beispiele: Telefonverbindungen, DATEX-L Fachbereich Informatik | Prof. Dr. F. Armknecht | 21 7.4 Kommunikationsformen Paketvermittlung (packet switched network) Nachrichten werden in kleine Einheiten, sogenannte Pakete (packets) zerlegt. Vom Sender existiert lediglich eine durchgängige Leitung zur nächsten Relais-Station. Relais-Stationen nehmen Pakete entgegen und leiten sie in Richtung des Ziels weiter. Relais-Stationen müssen die Wege zu den einzelnen Zielen kennen (Wegewahl). Die Bandbreite zwischen Relais kann besser genutzt und verplant werden. Beispiele: DATEX-P, Internet Fachbereich Informatik | Prof. Dr. F. Armknecht | 22 7.4.2 Verbindungsorientiert vs. verbindungslos Verbindungsorientiert vs. verbindungslos Verbindungsorientierte Kommunikation (connection oriented) Jede Kommunikation erfordert zunächst den Aufbau einer Verbindung zum Kommunikationspartner (Signalisierung). Verbindungsorientierte Kommunikation kann auf Leitungsvermittlungs- und Speichervermittlungssystemen realisiert werden. Die Adresse des Empfängers wird nur beim Verbindungsaufbau angegeben. Ausfälle von Netzkomponenten führen zum (bemerkbaren) Verbindungsabbruch. Fachbereich Informatik | Prof. Dr. F. Armknecht | 23 7.4.2 Verbindungsorientiert vs. verbindungslos Verbindungslose Kommunikation (connectionless) Der Datenaustausch kann jederzeit ohne speziellen Verbindungsaufbau beginnen. Verbindungslose Kommunikation kann auf Leitungsvermittlungs- und Speichervermittlungssystemen realisiert werden. Jede versendete Nachricht muss vollständige Adressinformationen besitzen. Ausfälle und Störungen können zu unbemerkten Verlusten von Nachrichten führen. Fachbereich Informatik | Prof. Dr. F. Armknecht | 24 7.4.2 Verbindungsorientiert vs. verbindungslos Matrix der Kommunikationsformen und Beispiele Fachbereich Informatik | Prof. Dr. F. Armknecht | 25 7.5 Kommunikationsprotokolle Aufgabe: standardisierte Schritte zum Austausch von Daten • Komplexe Aufgabe: u.a. • Finden eines Weges zum Ziel-Rechner • Prüfen, ob Sender alle Daten in der richtigen Reihenfolge erhalten hat, Fehlererkennung und -behebung • Transformation der Daten, so dass sie über physisches Medium übertragen werden können • Konsequenz: Aufgabe wird in Teilaufgaben zerlegt, • Schichtenstruktur: jede Schicht bietet Dienste • oberste (abstrakteste) Schicht: Anwendung (z.B. HTTP) • unterste Schicht: physikalische Ebene der Bitübertragung • Standardisierte Schichten und Protokolle: ISO/OSI-Modell Fachbereich Informatik | Prof. Dr. F. Armknecht | 26 Kommunikation in Schichten Indischer Philosoph Dolmetscher A: Englisch Niederländisch Techniker A: kennt einzelne Buchstaben und sendet („morst“) diese. Diskussion über philosophische Grundfragen Uninterpretierte Sätze ohne Kenntnis der Philosophie Uninterpretierte Zeichen in korrekter Reihenfolge Netz Fachbereich Informatik | Fachgebiet Graphisch-Interaktive Systeme (GRIS) | Prof. Dr. D. Fellner | 27 Französischer Philosoph Dolmetscher B: Niederländisch Französisch Techniker B: empfängt einzelne Buchstaben und setze diese zusammen. 7.5.1 ISO/OSI-Referenzmodell ISO International Standards Organisation Schicht i+1 Schicht i+1 OSI: Open System Interconnection request request reply reply Schichtenansatz (layer): Prinzip • Jede Schicht definiert Schicht i Schicht i Dienste (service) • Schicht i nutzt zur Erbringung ihrer Schicht i-1 Dienste nur Dienste der Schicht i-1 Schicht i-1 Protokoll Schicht i-1 • Dienste der Schicht i sind über Schnittstellen von der Schicht i+1 nutzbar • die Daten werden als Protokolldateneinheiten (PDU=protocol data unit) ausgetauscht Bsp. Dienste: Fehlererkennung, Verbindungsaufbau, Wegewahl Fachbereich Informatik | Prof. Dr. F. Armknecht | 28 7.5.1 ISO/OSI-Referenzmodell Die 7 Schichten des OSI-Modells Fachbereich Informatik | Prof. Dr. F. Armknecht | 29 7.5.1 ISO/OSI-Referenzmodell Schichtenbildung und Protokolle • Schicht i von Rechner A kommuniziert (virtuell) über Schicht-i Protokoll mit der Schicht i des Rechners B • Schicht i fügt den Daten einen Schicht-i-Header hinzu: Kontrollinformation der Schicht i (z.B. Adressierungsinfos) Vorteile der Schichtenbildung: • eingesetzte Netzwerktechnik ist transparent für Anwender, d.h. • Details über Blocklängen, Fehlerbehebung, • Details der Kodierung von Information etc. sind transparent • Ergebnis: • unterschiedliche Prozesse können auf vielfältigen Plattformen standardisiert zusammenarbeiten Fachbereich Informatik | Prof. Dr. F. Armknecht | 30 7.5.2 Die Protokollschichten im Überblick Schicht 1 Bitübertragung (physical layer): • physikalischen Verbindung zwischen zwei direkt verbundenen Kommunikationspunkten • Übertragung unstrukturierter Ströme von Bits • legt die Charakteristika der physischen Verbindung fest, z.B. Spannungspegel, Dauer eines Impulses für 1 Bit, etc Schicht 2 Sicherungsschicht (data link layer): • Austausch von Daten zwischen direkt verbundenen Knoten • bündelt Bitströme zu Einheiten, genannt Frames • strukturiert Bitstrom u. fügt Kontrollinformationen zu: u.a • Prüfsummen zur Erkennung von Übertragungsfehlern Frame Flag= 0111 1110 .... Steuerinfo Nutzdaten Prüfsumme Flag Fachbereich Informatik | Prof. Dr. F. Armknecht | 31 7.5.2 Die Protokollschichten im Überblick Frame Flag= 0111 1110 .... Steuerinfo Nutzdaten Prüfsumme Flag Spezielle Aufgabe der Schicht 2 bei Broadcast-Medien (z.B. Ethernet, WLAN) • Broadcast: gemeinsam genutztes Medium: jeder mit jedem • Aufgabe: Regelung des Medien-Zugangs: Medium-Access Control (MAC) z.B. CSMA/CD Verfahren • Adressierung auf der Schicht 2 bei Broadcast-Medien notwendig (auf Schicht 2 sonst direkt verbundene Rechner) • Broadcast-Medium: tatsächlicher Empfänger muss identifizierbar sein • Eindeutige Identifikation des Empfangsrechners über 48-Bit Adressen, MAC-Adresse Fachbereich Informatik | Prof. Dr. F. Armknecht | 32 7.5.2 Die Protokollschichten im Überblick Schicht 3 Netzwerkschicht (network layer): • verknüpft und kontrolliert Teilnetze, • Ende-zu-Ende Kommunikation zwischen Kommunikationspartnern, die nicht direkt benachbart sein müssen: d.h. • Weiterleiten der Daten-Pakete über verschiedene Knoten, • Vermittlung von Leitungen bei circuit switched Netzen • Routingaufgabe (Wegewahl): • Anlegen von Routing-Tabellen (u.a. Pfad von A nach B) • Routingalgorithmen: statisch, dynamisch • Erkennen, Auflösen von Stausituationen (congestion control) Beispiel: IP (Internet Protocol siehe später mehr) Fachbereich Informatik | Prof. Dr. F. Armknecht | 33 7.5.2 Die Protokollschichten im Überblick Schicht 4 Transportschicht (transport layer): • Ende-zu-Ende Kommunikation idR zwischen Prozessen • in der Regel zuverlässiges, verbindungsorientiertes Protokoll: • Verbindungsauf- und –abbau (logische Verbindung), z.B. Zustandsinformation in Datenstrukturen ablegen • korrekte Reihenfolge: Vergabe von Sequenznummern, • erneutes Versenden bei Paketverlusten, nach Timeout • Bestätigen empfangener Pakete (Acknowlegment) • Beispiel: TCP (später mehr) • Schicht 4: auch verbindungslose, unzuverlässige Dienste • Beispiel UDP (später mehr) Fachbereich Informatik | Prof. Dr. F. Armknecht | 34 7.5.2 Die Protokollschichten im Überblick Schicht 5 Sitzungsschicht (session layer): • Unterstützung von Sitzungen über längere Zeiträume hinweg: • Synchronisation der Datenübertragung über mehrere Verbindungen • Zustandsinformation ist notwendig, z.B. Sicherungspunkte, zur Weiterführung eines unterbrochenen Transfers • Bem: Sitzungsschicht wird selten unterstützt Schicht 6 Darstellungsschicht (presentation layer): • Aushandeln gemeinsamer Datenformate, Syntax, Semantik Beispiele: ASN.1 (Abstract Syntax Notation No 1), XML • Absprache der Informationsdarstellung: Byte-Ordering, Zahldarstellung (u.a. Komplement, Gleitkomma-Darstellung) Fachbereich Informatik | Prof. Dr. F. Armknecht | 35 7.5.2 Die Protokollschichten im Überblick Schicht 7 Anwendungsschicht (application layer) • Vielzahl von Protokollen, die von Anwendungen genutzt werden können • Beispiele: http (www), smtp (e-mail), ftp (Datei-Transfer) Fachbereich Informatik | Prof. Dr. F. Armknecht | 36 7.5.3 Netzwerk Komponenten Repeater: auf Schicht 1: • Verstärken eines Signals, bitweises Kopieren • Verbindung gleichartiger Medien Hub: Multiport Repeater: verbinden mehrerer Netze • eingehendes Signal an einem Port wird aufbereitet und an alle ausgehenden Ports weitergeleitet Fachbereich Informatik | Prof. Dr. F. Armknecht | 37 7.5.3 Netzwerk Komponenten Bridge: Verbindung von Netzen auf der Schicht 2, • z.B. Verbindungen von Ethernet-Segmenten, • Weiterleiten von Frames an MAC-Adressen, Verwaltung von Tabellen zum Weiterleiten der Frames • Verbindung auch unterschiedlicher Medien Fachbereich Informatik | Prof. Dr. F. Armknecht | 38 7.5.3 Netzwerk Komponenten Switch: Multiport Bridge: Weiterleitung von Paketen nur an Ports mit MAC-Adress-Eintrag des Empfängers: Filterung Router: Verbindung von Netzen auf Netzwerk Ebene • Routing-Tabellen für Wege-Wahl manuell oder automatisch erstellt, aktualisiert • häufig dezidierter Rechner für Routing Aufgaben Bridge versus Router • Gateway: Verbindung von Netzen, auch unterschiedl. Typen • z.B. IP-Netz und Apple-Talk Fachbereich Informatik | Prof. Dr. F. Armknecht | 39 7.6 Sicherungsschicht (Data Link Layer) 7.6.1 Framing Aufteilung des Bitstroms in Frames (Datenblöcke) u.a. zur Fehlererkennung (u. –korrektur) Flag= 0111 1110 .... Steuerinfo Nutzdaten Prüfsumme Flag • Header und Trailer: Schicht2- Steuerdaten • Start- und Endflag, um Rahmen zu definieren: Byte-Stuffing • Berechnung einer Prüfsumme über den ganzen Rahmen Fachbereich Informatik | Prof. Dr. F. Armknecht | 40 7.6.2 Medienzugriff (Medium Access Control, MAC) • Regelung des Kanalzugriffs bei Broadcast-Medien durch MAC-Protokolle • MAC-Schicht wird auch als Schicht 2a bzeichnet • verschiedene Verfahren im Einsatz: ALOHA, slottet ALOHA und Varianten von CSMA (Carrier Sense Multiple Access) Problem: Behandlung von Konkurrenzsituationen Rahmenübertragung beendet Zeitschlitze Kollision: Überschneiden von Signalen: Fehler Übertragungsperiode Konkurrenzperiode Fachbereich Informatik | Fachgebiet Graphisch-Interaktive Systeme (GRIS) | Prof. Dr. D. Fellner | 41 Leerlaufperiode 7.6.2 Medienzugriff Medien-Zuteilungsverfahren: Zuteilungsverfahren überlassen sendebereiten Knoten in einer festgelegten Reihenfolge den Zugang zum Medium. Feste Zuteilungsverfahren definieren feste Zeiten, zu denen ein Teilnehmer senden darf. Variable Zuteilungsverfahren weisen das Medium entsprechend der Anforderungen dynamisch zu. Zufallsstrategien: Diese basieren auf der Idee, das Medium zufällig einem Teilnehmer zuzuteilen. Dabei können Kollisionen entstehen, die geeignet behandelt werden müssen. Fachbereich Informatik | Prof. Dr. F. Armknecht | 42 7.6.2 Medienzugriff Zuteilungsverfahren: Reines ALOHA: Frames werden zu beliebigen Zeiten übertragen. Jeder sendet, wann er will. Falls der Sender auf den Kanal hören kann, kann der Sender den Fehler erkennen und nochmals senden. Fachbereich Informatik | Prof. Dr. F. Armknecht | 43 7.6.2 Medienzugriff Durchsatz vs. Versuche pro Rahmenübertragungszeit: Slotted ALOHA: Feste Zeitschlitze werden ausgehandelt, in denen gesendet werden darf. Fachbereich Informatik | Prof. Dr. F. Armknecht | 44 7.6.2 Medienzugriff CSMA-Protokolle • CSMA: Carrier Sense Multiple Access Bei S-ALOHA: Stationen senden, wann sie wollen, ohne auf Aktivitäten der anderen Stationen zu achten. Viele Kollisionen zu erwarten. In LANs: Stationen können erkennen, was andere tun, und ihr Verhalten dementsprechend anpassen. Viel bessere Auslastung möglich. Protokolle, bei denen Stationen einen Träger (carrier) abhören, heißen Protokolle mit Trägerüberprüfung (carrier sense protocols) Fachbereich Informatik | Prof. Dr. F. Armknecht | 45 7.6.2 Medienzugriff 1-persistente CSMA-Verfahren: • sendewillige Station hört das Medium ab • ist der Kanal besetzt, warten bis Kanal frei ist • ist der Kanal frei, wird gesendet senden mit Wahrscheinlichkeit 1, deshalb 1-persistent • falls eine Kollision auftritt, wartet die Station eine zufällige Zeitspanne und beginnt erneut Fachbereich Informatik | Prof. Dr. F. Armknecht | 46 7.6.2 Medienzugriff p-persistentes Verfahren: Stationen sind weniger ‚gierig‘ • abhören des Mediums, warten bis Kanal frei ist • ist der Kanal frei, sendet die Station mit Wahrscheinlichkeit p, mit Wahrscheinlichkeit q=1-p wartet sie auf den nächsten Slot • falls eine Kollision auftritt: wie bei 1-persistentem Verfahren Vergleich der Kanalauslastung in Abhängigkeit vom Datenverkehr bei verschiedenen zufallsgesteuerten Protokollen Fachbereich Informatik | Prof. Dr. F. Armknecht | 47 7.6.2 Medienzugriff CSMA-Protokolle stellen sicher, dass keine Station sendet, wenn sie den Kanal als belegt erkannt hat. Weitere Verbesserung: Abbruch einer Übertragung, wenn Kollision erkannt wird, z.B. Zwei Stationen erkennen Kanal als frei an und beginnen gleichzeitig zu senden. Beide erkennen fast sofort eine Kollision. Statt die Übertragung der Rahmen zu beenden (ohnehin irreparabel verstümmelt), besser Übertragung sofort abbrechen. CSMA/CD-Protokoll: with collision detection Mehrfachzugang mit Trägerprüfung und Kollisionserkennung Fachbereich Informatik | Prof. Dr. F. Armknecht | 48 7.6.2 Medienzugriff • Stationen müssen fortwährend prüfen, ob eine Kollision auftritt • Anwendung •häufig bei LANs in der MAC-Teilschicht •Grundlage für Ethernet-LAN Beispiel: Fachbereich Informatik | Prof. Dr. F. Armknecht | 49 7.6.2 Medienzugriff CSMA/CD kann sich in einem von drei Zuständen befinden: Konkurrenz, Übertragung oder Leerlaufzustand: Zeitschlitze Übertragung Konkurrenz Zeit Leerlauf In t0 : Station hat die Übertragung ihres Rahmens beendet. Jede andere Station, die einen Rahmen zu senden hat, kann das jetzt versuchen. Kollision kann auftreten, wenn mehr als 1 gleichzeitig senden Kollisionen können erkannt werden, indem die Leistung oder Impulsbreite des empfangenen Signals mit dem übertragenen Signal verglichen wird. Fachbereich Informatik | Prof. Dr. F. Armknecht | 50 7.6.2 Medienzugriff Jede Station erkennt die Kollision, unterbricht ihre Übertragung, wartet eine zufällige Zeitspanne und versucht es dann erneut Eigenschaften von CSMA/CD Änderungen am Netz erfordern keinerlei Anpassung des Medienzugangsverfahrens. keine zentrale Überwachung (no single point of failure). Bei hoher Auslastung treten verstärkt Kollisionen auf, wodurch die erzielte Datenübertragungsrate drastisch sinkt. Kollisionen können wiederholt auftreten: keine Zusagen, wann die Übertragung eines Datums beendet sein wird. Verfahren ist probabilistisch. Daher keine Zusicherung, wann bzw. ob ein Paket versendet werden kann. Fachbereich Informatik | Prof. Dr. F. Armknecht | 51 7.6.3 Link Control Protokolle (Schicht 2) Ziele: zuverlässige Übertragung, P2P-Verbindungen aushandeln • Angleichen der Sende- und Empfangsgeschwindigkeiten Sender darf Empfangspuffer nicht zum Überlauf bringen Lösung: • Timer, um nicht bestätigte Rahmen erneut zu senden, wenn Timer abgelaufen ist • Sequenznummern: • sequentiell durchnummerierte Frames, um mehrfach gesendete Frames erkennen und löschen zu können • verschiedene Protokollvarianten: • Stop-and-Wait oder insbesondere • Schiebefenster-Protokolle (Sliding-Window) Fachbereich Informatik | Prof. Dr. F. Armknecht | 52 7.6.3 Link Control Protokolle (Schicht 2) Sliding Window (Schiebefenster-Protokoll) • bidirektionaler Datenverkehr • jeder gesendete Rahmen erhält eine Sequenznummer von 0 bis 2n-1 (d.h. n-bit Sequenznummer) • Sender und Empfänger verwalten jeweils ein ‚Fenster‘ von Sequenznummern Sendefenster: • enthält Sequenznummern von Rahmen, die gesendet, deren Empfang aber noch nicht bestätigt wurden • kommt von der Schicht 3 ein Paket zum Versandt, so erhält dies die nächste Sequenznummer und die Obergrenze des Sendefensters wird um eins nach rechts verschoben Fachbereich Informatik | Prof. Dr. F. Armknecht | 53 7.6.3 Link Control Protokolle (Schicht 2) • kommt vom Empfänger eine Bestätigung, so wird die Untergrenze um eins nach rechts verschoben • das Sendefenster hat eine maximale Größe, wenn diese erreicht ist, muss der Sender blockiert werden Empfängerfenster • Empfang eines Rahmes mit Nummer innerhalb des Fensters: Rahmen wird an Schicht 3 zur Bearbeitung weitergeleitet • Ack wird an Sender verschickt, Fenster wird um eine Position nach rechts verschoben (die Größe bleibt also gleich) • Rahmen, die nicht im Fenster liegen, werden vom Empfänger verworfen Fachbereich Informatik | Prof. Dr. F. Armknecht | 54 7.6.3 Link Control Protokolle (Schicht 2) Beispiel: Fenstergröße 1 und 3-bit Sequenznummer Bem.: bei Fenstergröße 1 werden Rahmen nur sequentiell empfangen, das muss aber bei größeren Fenstern nicht so sein! (a) Initialer Zustand (b) Erster Rahmen gesendet (c) Erster Rahmen empfangen (d) Erstes Ack empfangen Fachbereich Informatik | Prof. Dr. F. Armknecht | 55 7.6.3 Link Control Protokolle (Schicht 2) Beispiele für Sicherungsprotokolle: • HDLC – High-Level Data Link Control • PPP (Pont-to-Point Protocol), im Internet verwendet für u.a. Router-zu-Router Kommunikation oder Heim-PC zu ISP, wesentliche Aufgabe: Verbindungsauf- und Abbau PPP-Frame Fachbereich Informatik | Prof. Dr. F. Armknecht | 56 7.6.3 Link Control Protokolle (Schicht 2) Beispiel: Ablauf: PPP-Verbindung (1) Aufbau einer physikalischen Verbindung: Modem (PC) zu Router beim ISP: Zustand established (2) Austausch von PPP Paketen: z.B. zur Authentifizierung Beispiel: PAP: Übertragung eines Passwords (3) Aushandeln der Parameter der Netzwerkschicht z.B. für IP Protokoll: ISP weist PC eine IP-Adresse zu (4) Datenübertragung nach Eintritt in Zustand ‚öffnen‘ z.B. PC kann IP-Pakete senden/empfangen (5) Nutzer beendet die Verbindung: z.B. IP-Adresse wird wieder frei gegeben (6) Modem legt auf, Verbindung auf Schicht 1 beendet Fachbereich Informatik | Prof. Dr. F. Armknecht | 57 7.6.3 Link Control Protokolle (Schicht 2) Beispiel: Ablauf: PPP-Verbindung Fachbereich Informatik | Prof. Dr. F. Armknecht | 58 7.7 Netzwerkschicht (Schicht 3) Hauptaufgabe: Routing: • Weiterleitung von Datenpaketen: Store and forward Prinzip • Routing-Tabellen, um ‚gute‘ Wege zu ermitteln • Gütekriterien: schnell, Vermeiden von Staus, stabil, fair, … • H1, H2 sind Host-Rechner • Hosts senden Pakete zum nächst gelegenen Router • Router speichert bis Paket vollständig empfangen • Forwarden des Pakets zum nächsten Router Fachbereich Informatik | Prof. Dr. F. Armknecht | 59 7.7 Netzwerkschicht (Schicht 3) Ziele der Wegewahl Geringe Durchlaufzeiten von Nachrichten durch das Netz Gleichmäßige Auslastung der Netzknoten Geringe Zahl von Knoten, die zu durchlaufen sind Auswahl alternativer Wege bei Störungen Auswahl alternativer Wege bei Lastspitzen Nachrichten sollen nicht zyklisch im Netz umherlaufen Stabilität der Wegewahl (gleicher Ablauf bei gleichen Verhältnissen) Randbedingungen Möglichst keine Annahmen über die Netztopologie Robustheit gegenüber Änderungen, Ausfällen,Störungen Korrektheit, Fairness, Effizienz Einfachheit des Verfahrens Fachbereich Informatik | Prof. Dr. F. Armknecht | 60 7.7.1 Routing-Verfahren Es gibt eine Vielzahl von Routing-Verfahren: u.a. • Shortest Path, Flooding, Distance Vector, Link State Routing Klassen von Verfahren: • statisch, nicht-adaptiv: • Routingtabellen werden vorab berechnet, • keine Änderungen aufgrund von Verkehrsmessungen oder Topologie-Änderungen • Beispiel: kürzeste Wege (Dijkstra-Alg.), Flooding • dynamisch, adaptiv: • Routingtabellen werden dynamisch neu berechnet, • Beispiele: Distance Vector, Link State Routing Fachbereich Informatik | Prof. Dr. F. Armknecht | 61 7.7.1 Routing-Verfahren Distance Vector Routing (oder Bellman-Ford Routing) • Algorithmus eingesetzt im ARPANET (Vorgänger des Internet) • unter dem Namen RIP im Internet verwendet Idee: • jeder Router verwaltet eine Routing-Tabelle (genannt Vektor) • Tabelle: enthält für jedes Ziel • die bestmögliche, bekannte Entfernung (z.B. in Anzahl von Hops, oder geschätzter Übertragungszeit gemessen) • und die zu verwendende Verbindung • Verfahren basiert darauf, dass Entfernung zu den NachbarRoutern bekannt sind Fachbereich Informatik | Prof. Dr. F. Armknecht | 62 7.7.1 Routing-Verfahren Algorithmus: Basis: Sei Übertragungszeit das Entfernungsmaß: • jeder Router sendet alle T ms an alle Nachbarn eine Liste mit den geschätzten Übertragungszeiten zum Ziel • er empfängt eine analoge Liste von jedem Nachbarn • Annahme: • eine Tabelle von Nachbar X sei beim Router j eingetroffen • Xi: Abschätzung der Zeit für den Weg von X zum Router i • die Entfernung von j zu X sei m ms, • dann weiß j, dass Router i über X in Xi + m ms erreichbar ist • Router j berechnet für jeden Nachbarknoten die Entfernung, beste Strecke wird in der Routing-Tabelle vermerkt Fachbereich Informatik | Prof. Dr. F. Armknecht | 63 Beispiel: Distance Vector Routing Kürzeste Strecke von JG führt über H ? Betrachtet: • Router J und • die Vektoren seiner Nachbarn A,I,K,H Fachbereich Informatik | Prof. Dr. F. Armknecht | 64 Beispiel: Distance Vector Routing Algorithmus weist in der Praxis eine gravierende Schwäche auf: • er reagiert zwar schnell auf gute Nachrichten • reagiert aber sehr träge auf schlechte Nachrichten: Count-to-infinity Problem • Ursache: Router wissen nicht, über wen geroutet wird A ist Anfangs nicht verfügbar und geht irgendwann wieder online. Diese gute Nachricht wird schnell verbreitet Fachbereich Informatik | Prof. Dr. F. Armknecht | 65 A fällt plötzlich aus Beispiel: Link State Routing Link State Routing weit verbreitet im Einsatz 5 Schritte, die von jedem Router durchzuführen sind: 1. Ermitteln der Nachbarn und deren Netzadressen 2. Messen der Kosten/Zeiten zu jedem Nachbar 3. Erzeuge Paket mit Informationen über die Nachbarn 4. Sende Paket an alle anderen Router 5. Berechne kürzesten Pfad zu allen anderen Routern Schritt 1: Senden von Hello-Paketen, antworten mit Identität Fachbereich Informatik | Prof. Dr. F. Armknecht | 66 Beispiel: Link State Routing Schritt 2: Ermittlung von Leitungskosten • Einfachster Weg: senden von Echo-Paketen • Messen der Laufzeit bis zum Erhalt einer Antwort Schritt 3: Erstellen eines Informationspakets: • Name des Senders, Sequenznummer, Alter des Pakets • Liste der Nachbarn mit Übertragungszeiten zu diesen Teilnetz und Link-State Pakete für das Teilnetz Fachbereich Informatik | Prof. Dr. F. Armknecht | 67 Beispiel: Link State Routing Schritt 4: Sende Paket an alle anderen Router • Optionen für Erzeugungs/Versendezeitpunkt: In regelmäßigen Abständen; oder wenn sich die lokale Umgebung eines Routers ändert (Struktur bzw. Übertragungszeiten) • Robuste Sendemethode sollte gewählt werden, um Gefahr von abweichenden Zustandsinformationen bei den einzelnen Routern klein zu halten. Ansatz: Flooding mit Sequenznummer und Timer Schritt 5: Berechne kürzesten Pfad zu allen anderen Routern • Aufbau des Subnetz Graphen mit kürzeste Wege Algorithmus sobald vollständiger Satz von Link State Pakets erhalten wurde • Installation des Ergebnisses in der Routing Tabelle der Router Fachbereich Informatik | Prof. Dr. F. Armknecht | 68 7.7.2 Weitere Aufgabe der Schicht 3 Flusskontrolle (Congestion Control) Prinzip: • Beobachten des Netzverkehrs • Erkennen von Stausituationen • Auflösung der Stausituation: Anpassen von Operationen z.B. vorübergehendes Drosseln von Senderaten, Umleiten von Paketen über andere Routen etc. Quality of Service • z.B. Reservieren hoher Bandbreite für MultimediaÜbertragung • Pufferung, um Verzögerungen zu minimieren Detaillierte Behandlung ist nicht Gegenstand von GdI III Fachbereich Informatik | Prof. Dr. F. Armknecht | 69 7.8 Internet-Protokoll-Familie 7.8.1 Die Entwicklung des Internets • Ende der 60er Jahre als Projekt der Defense Advanced Research Projects Agency (DARPA) der USA gestartet • Es entsteht das ARPANET, ein auf gemieteten Leitungen realisiertes Datagramm-Netz. • Das ARPANET wird zum Backbone-Netzwerk zwischen den Universitäten der USA. • Anfang der 80er Jahre wird eine Implementierung der Internet-Protokolle als Teil des BSD UNIX-Betriebssystems allgemein verfügbar. • Das BSD UNIX erhält eine Socket-Programmierschnittstelle, mit der sich relativ einfach netzwerkfähige Applikationen entwickeln lassen. Fachbereich Informatik | Prof. Dr. F. Armknecht | 70 7.8.1 Die Entwicklung des Internets Fachbereich Informatik | Prof. Dr. F. Armknecht | 71 7.8.1 Die Entwicklung des Internets 1983 wird das ARPANET in das Forschungsnetz ARPANET und das militärisch genutzte MILNET aufgeteilt. 1986 wird von der National Science Foundation der USA das NSFNET realisiert. 1990 geht das NSFNET in das ANSNET über, das von MERIT, MCI und IBM betrieben wird und eine kommerzielle Nutzung des Internets möglich macht. Anfang der 90er Jahre wird am CERN (bei Genf) das World Wide Web geboren. Derzeit laufen Initiativen für Gigabit-Backbones und technologisch der Übergang von der IP-Version 4 zur IP-Version 6. Fachbereich Informatik | Prof. Dr. F. Armknecht | 72 7.8.1 Die Entwicklung des Internets Anzahl der Hosts, die im DNS registriert sind Fachbereich Informatik | Prof. Dr. F. Armknecht | 73 7.8.2 TCP/IP Modell • Modelle beschreibt den Aufbau und das Zusammenwirken der Netzwerkprotokolle aus der TCP/IP-Familie • Aufteilung der TCP/IP-Protokolle in vier aufeinander aufbauende Schichten, man spricht hier häufig von dem TCP/IP Protokoll-Stack • Fokus: Internet-Protokolle: • Datenaustausch über die Grenzen lokaler Netzwerke hinaus (Internetworking) • Deshalb: • weder der Zugriff auf ein Übertragungsmedium • noch die Datenübertragungstechnik werden definiert. Fachbereich Informatik | Prof. Dr. F. Armknecht | 74 7.8.2 TCP/IP Modell Internet-Protokollfamilie Fachbereich Informatik | Prof. Dr. F. Armknecht | 75 7.8.2 TCP/IP Modell Aufgabe der TCP/IP Protokolle: • Datenpakete über mehrere Punkt-zu-Punkt-Verbindungen (Hops) weitervermitteln • Verbindungen zwischen Netzwerkteilnehmern über mehrere Hops herzustellen. Fachbereich Informatik | Prof. Dr. F. Armknecht | 76 7.8.3 Schichten des TCP/IP-Referenzmodells • Anwendungsschicht, Transportschicht, • Netzwerkschicht und Host-an-Netz-Schicht Vergleich zur ISO/OSI-Schichtung: Fachbereich Informatik | Prof. Dr. F. Armknecht | 77 7.8.4 Internet Protocol (IP) • paketvermittelndes, unzuverlässiges, verbindungsloses Protokoll • Ende-zu-Ende Kommunikation zwischen Rechnern IP-Adressen • Identifikation über IP-Adressen: 2 Teile: Netz u- Hostadresse • IPv4: 32-Bit Adressen, 4er Gruppe a 1Byte z.B. 130.149.25.97 (Dottet dezimal Notation) • Klassen von Netzen: A, B, C, D Fachbereich Informatik | Fachgebiet Graphisch-Interaktive Systeme (GRIS) | Prof. Dr. D. Fellner | 78 7.8.4 Internet Protocol (IP) Formatklassen: • Realisierung verschieden großer Netze • Unterscheidung anhand der höchstwertigen Bits • Weiterleitung eines IP-Pakets: über Netzadresse • Tabelle mit Netz-Identifikatoren: • in der Klasse A nur 128 Einträge, • in der Klasse B 16384 Einträge für verschiedene Netze • Klasse C-Netze: Tabelle mit über 2 Millionen Einträgen Subnetze: • Klasse B: sehr große Anzahl von Rechnern: 216=65534 nur in wenigen Institutionen wird Adressraum ausgeschöpft • Deshalb: Einführung von Unternetzen (Subnet) Fachbereich Informatik | Fachgebiet Graphisch-Interaktive Systeme (GRIS) | Prof. Dr. D. Fellner | 79 Typisches Beispiel eines Campusnetzes Implementierung von Subnetzen über Subnetz-Masken • idR Dezimalzahlen (z.B. 255.255.252.0) • Subnetze sind nicht nach außen sichtbar • Subnetzmaske eines Klasse B-Netzes mit 64 Teilnetzen Fachbereich Informatik | Fachgebiet Graphisch-Interaktive Systeme (GRIS) | Prof. Dr. D. Fellner | 80 7.8.4 Internet Protocol (IP) Routingtabellen bei der Nutzung von Subnetzen: Einträge: • dieses Netz, dieses Teilnetz, Host i im Teilnetz sind die Host direkt adressierbar • dieses Netz, Teilnetz, 0 man kennt die Teilnetze, muss aber darin nicht jeden einzelnen Host kennen • Effekt: weniger Einträge in Routingtabellen Vorgehen: • Router extrahiert aus der gesamten Zieladresse nur die Netz- und Subnetzadresse: IPadresse UND Subnetzmaske (Hostadresse wird maskiert) Fachbereich Informatik | Prof. Dr. F. Armknecht | 81 7.8.4 Internet Protocol (IP) Dynamische Adressvergabe Problem: zu wenige weltweit eindeutige IP-Adressen • z.B. ISP mit 16-Bit Hostadressen kann nur 65.534 aktive Nutzer unterstützen • heute: ISP mit zehntausenden von Kunden keine Seltenheit! • Kunden: meist gleichzeitig online, IP-Adressen reichen nicht Lösung: NAT (Network Adress Translation), RFC 3022 • viele interne (nicht gleichzeitig genutzte) IP-Adressen • werden auf wenige feste, öffentlich bekannte IP-Adressen (z.B. erhalten durch den ISP) abgebildet (Adressübersetzung) Beispiel (siehe auch nächste Folie) • intern habe jeder Rechner eine IP-Adresse der Form 10.x.y.z Fachbereich Informatik | Prof. Dr. F. Armknecht | 82 7.8.4 Internet Protocol (IP) • NAT-Box ersetzt IP Adresse ausgehender Pakete im Beispiel wird 10.0.0.1 durch 198.60.42.12 ersetzt • die NAT-Box verwaltet Tabellen, um von außen kommende Pakete korrekt nach innen weiterzuleiten (über Portadressen) Bem.: NAT ist eine Übergangslösung bis IPv6 kommt • NAT verursacht etliche Probleme, welche? Fachbereich Informatik | Prof. Dr. F. Armknecht | 83 7.8.4 Internet Protocol (IP) IP-Datenpaket • besteht aus Datenteil (Payload) und Header-Teil • der Header beinhaltet Verwaltungsinformationen • IP-Pakete werden fragmentiert, Fragmente einzeln versandt Format eines IP-Paket-Headers Fachbereich Informatik | Prof. Dr. F. Armknecht | 84 7.8.4 Internet Protocol (IP) Erläuterungen zur IP-Paket-Format • Version: Versionsnummer des Protokolls, z.Z Version 4 • Länge: Länge des Headers als 32 Bit Worte, meist 5*32 Bits • Diensttyp: für Qualitätsattribute, wird in der Praxis ignoriert • Gesamtlänge: des IP-Pakets in Oktetten (zu 8 Bits), Höchstgrenze: 65.535 Byte • Identifikation: notwendig, um Fragmente eines IP-Pakets wieder zusammenfügen zu können, alle Fragmente eines Pakets enthalten die gleiche Identifikation • Lebenszeit: Hop-Count, herunterzählen des Wertes, verhindert, dass fehlgeleitete Pakete unendlich lange zirkulieren • Prüfsumme: nur des Headers: Einerkomplement-Summe der Worte im Header, modulo 216 • Adressen: Sender- und Empfänger-IP-Adresse Fachbereich Informatik | Prof. Dr. F. Armknecht | 85 7.8.5 Internet-Steuerprotokolle Wichtige der Steuerungsprotokolle der IP-Familie sind: • ICMP, ARP und DHCP Internet Control Message Protocol (ICMP): • Aufgabe: Übermittlung von Fehler- und Statusmeldungen • ICPM-Nachrichten werden als IP-Pakete versandt • Beispiel: Status-Informationen einer Maschine: ping Fachbereich Informatik | Prof. Dr. F. Armknecht | 86 7.8.5 Internet-Steuerprotokolle Address Resolution Protocol (ARP), RFC 826 • Hardware auf der Schicht 2 ‚versteht‘ keine IP-Adressen • jeder Rechner besitzt eine 48 Bit Ethernet-Adresse (auf der Netzwerkkarte des Rechners eingetragen), MAC-Adress Aufgabe: Abbilden: IP-Adressen auf MAC-Adressen (Ethernet) Lösung: Rechner: führt ARP-Adresstabelle ( als Cache) • Cache-Miss: Empfänger IP-Adresse steht nicht im Cache, • Aktion: Broadcast-Request: wer hat MAC-Adr.? • Rechner mit angefragter Empfänger IP-Adresse: schickt seine MAC-Adresse zurück (ARP-Reply) • Cache-Eintrag wird aktualisiert Problem: ARP ist ein zustandsloses Protokoll • ankommende ARP-Replies werde auch ohne vorherige Anfrage angenommen Fachbereich Informatik | Prof. Dr. F. Armknecht | 87 7.8.5 Internet-Steuerprotokolle DHCP (Dynamic Host Configuration Protocol), RFC 2131, 2132 • DHCP-Server verwalten Adressbereiche • DHCP-Server weist auf Anfrage einem Rechner (Client) dynamisch eine IP-Adresse zu • Client erhält IP-Adresse mit begrenzter Gültigkeit • Idee: wenige Adressen einer großen Anzahl an Teilnehmern zuordnen, die evtl. nicht ständig auf das Netz zugreifen Fachbereich Informatik | Prof. Dr. F. Armknecht | 88 7.8.6 Transmission Control Protocol (TCP) RFC 793 Schicht 4-Protokoll, setzt auf dem IP-Protokoll auf IP-Header TCP-Header Einordnung von TCP (und UDP) Fachbereich Informatik | Prof. Dr. F. Armknecht | 89 Nutzdaten 7.8.6 Transmission Control Protocol (TCP) TCP-Header Fachbereich Informatik | Prof. Dr. F. Armknecht | 90 7.8.6 Transmission Control Protocol (TCP) Aufgaben von TCP: • Etablieren einer zuverlässigen Verbindung zwischen Hosts • Flusskontrolle unter Einsatz eines Sliding-Window-Protokolls • Flusskontrolle: Slow-Start Protokolle (nicht in GdI III) • Verbindungsmanagement: • Verbindungen werden zwischen Sockets aufgebaut • socket = IP address + (lokale) port number • eine Port Nummer ist eine16-Bit Adresse Zuverlässige Verbindungen: • Ziel: Einhalten der korrekten Reihenfolge der Pakete und erkennen von Übertragungsfehler und Re-Transmission • Lösungskonzepte: • Sequenznummern, Timer Fachbereich Informatik | Prof. Dr. F. Armknecht | 91 7.8.6 Transmission Control Protocol (TCP) Zuverlässige Verbindungen: (Forts.) • Vergabe von Sequenznummern an Pakete, • Absender bestimmt ISN (Initial Sequence Number), • gefordert, dass ISN möglichst nicht vorhersagbar ist • Re-Transmission eines Pakets, falls Fehler erkannt • Erhalt eines TCP-Pakets wird vom Empfänger quittiert (Ack-Nummer) • Sender setzt Timer, speichert Pakete in Warteschlange • falls Ack für das gesendete Paket nicht rechtzeitig eintrifft: Re-Transmission des Pakets • Sliding-Window Protokoll • zur Koordinierung von Sender und Empfänger Fachbereich Informatik | Prof. Dr. F. Armknecht | 92 7.8.6 Transmission Control Protocol (TCP) TCP-Verbindungen • Aufbau einer logischen Ende-zu-Ende Verbindung • Verbindung erfolgt zwischen Ports: 16-Bit Adresse • Datentransfer zu Dienst, der an Port gebunden ist • Ports < 1024 üblicherweise privilegiert, d.h. nur durch root-Prozesse bindbar • Beispiel für Standarddienste: RFC 1700, www.iana.org Port 21 23 25 69 Protocol Use FTP File transfer Remote login Telnet E-mail SMTP Trivial File Transfer Protocol TFTP Finger Lookup info about a user 79 80 World Wide Web HTTP POP-3 110 Remote e-mail access USENET news 119 NNTP Fachbereich Informatik | Fachgebiet Graphisch-Interaktive Systeme (GRIS) | Prof. Dr. D. Fellner | 93 7.8.6 Transmission Control Protocol (TCP) 3-Wege-Handshake zum Verbindungsaufbau (1) Sender: sendet SYN-Paket mit: ISN, Portadresse für Antwort, Fenstergröße SYN-Paket: gespeichert (z.B. Linux: Default: 128 Anfragen) (2) Empfänger: SYN/ACK-Paket zurück, speichert Paket (3) Sender bestätigt seinerseits Empfang des Pakets Basis-Operationen: Fachbereich Informatik | Prof. Dr. F. Armknecht | 94 TCP-Handshake A (1) Speichern des Syn Pakets Bem.: Window-Größe definiert Puffer für Datenempfang SYN: ISN=1234, port=1695, windows=1024, .. B (2) Speichern: SYN/ACK Pakete SYN: ISN=4253, port=2007, windows=15000, ACK: ack=1235 Quittiert wird letztes Byte (3) ACK: ack= 4254, … Verbindung steht, Daten werden ausgetauscht Fachbereich Informatik | Prof. Dr. F. Armknecht | 95 7.8.7 User Datagram Protocol (UDP) • auch auf Schicht 4, auf IP aufsetzend • verbindungsloses, unzuverlässig Protokoll, d.h. • Sender hat auf IP- und UDP-Ebene keine Informationen, ob Daten beim Empfänger angekommen sind • UDP-Pakete können in beliebiger Reihenfolge beim Sender eintreffen, • Duplikate werden nicht erkannt • Kommunikation erfolgt wie bei TCP über Ports als Endpunkte Fachbereich Informatik | Prof. Dr. F. Armknecht | 96 7.8.2 TCP/IP Modell Internet-Protokollfamilie Fachbereich Informatik | Prof. Dr. F. Armknecht | 97 7.9 Protokolle der Anwendungschicht, Auswahl 7.9.1 DNS Domain Name Service Problem: • Numerische IP-Adressen sind für Menschen schwer zu merken Lösung: • DNS übersetzt numerische Adresse in Namen und vice versa • Beispiel Fachbereich Informatik | Prof. Dr. F. Armknecht | 98 7.9 Protokolle der Anwendungschicht, Auswahl 7.9.1 DNS Domain Name Service Problem: • Numerische IP-Adressen sind für Menschen schwer zu merken Lösung: • DNS übersetzt numerische Adresse in Namen und vice versa • Beispiel: www.tu-darmstadt.de ↔ 130.83.58.221 DNS entwickelt in den 80er Jahren Grundlegende Definitionen: Name server • RFC 1034 & 1035, 1987 Zahllose weitere RFCs für die Nutzung von DNS, Updates etc. • Hierarchisches Namensschema • Verteilte Namensdatenbank • DNS-Protokoll: query-response protocol Fachbereich Informatik | Prof. Dr. F. Armknecht | 99 2 cs.princeton.edu User 1 user @ cs.princeton.edu Mail program 192.12.69.5 192.12.69.5 3 Port=25 4 TCP 192.12.69.5 IP 5 7.9.1 DNS Domain Name Service Basis: hierarchischer Namensraum: • top-level Domänen u. Unterdomänen • ICANN verwaltet die top-level Domänen • verteilte Datenbank, um Namensabbildung durchzuführen • verteilte DNS-Server führen DNS-Protokoll durch Fachbereich Informatik | Prof. Dr. F. Armknecht | 100 7.9.1 DNS Domain Name Service Aufgabe von DNS: • Abbilden (Resolve) von logischen Namen auf IP-Adressen • jeder DNS-Server verwaltet einen Cache von erfragten und manuell eingetragene Adresszuordnungen • Über DNS-Anfrage-Antwort Protokoll können Clients von den DNS-Servern IP-Adressen von Rechnern erfragen, von denen nur der DNS-Name bekannt ist • das Protokoll ist idR UDP-basiert, d.h. • unzuverlässige Kommunikation • Client sendet unbeantwortete Anfragen erneut • Unerwartete Antwortpakete, z.B. Antworten auf bereits beantwortete Anfragen, werden einfach ignoriert Prinzip: Best Effort Fachbereich Informatik | Prof. Dr. F. Armknecht | 101 7.9.1 DNS Domain Name Service Beispiel: Ausschnitt aus einer möglichen DNS-Datenbank Felder v.l.n.r.: •Domain_name •Time_to_live •Class •Type •Value Fachbereich Informatik | Prof. Dr. F. Armknecht | 102 7.9.1 DNS Domain Name Service Beispiel: Ausschnitt aus einer möglichen DNS-Datenbank Ressource record types: Fachbereich Informatik | Prof. Dr. F. Armknecht | 103 7.9.1 DNS Domain Name Service Ablauf bei einer DNS-Anfrage: (siehe folgende Folien) 1. Client A stellt eine DNS-Anfrage an den Port 53 eines DNS-Servers X: IP-Adresse von www.beispiel.de? 2. falls Cache-Miss bei Server X, 3. leitet X die Anfrage weiter an zuständigen Server Y 4. falls Cache-Hit bei Y, schickt dieser die Antwort, also die IP-Adresse von www.beispiel.de an Server X zurück 5. Server X aktualisiert seinen Cache, um Anfragen nach www.beispiel.de direkt beantworten zu können. 6. Server X liefert Client die angefragte IP- Adresse zurück Fachbereich Informatik | Prof. Dr. F. Armknecht | 104 7.9.1 DNS Domain Name Service Ablauf einer DNS-Anfrage: zusammengefasst Server X Cache 2. DNS-Server: Cache-Miss, kein Eintrag für www.beispiel.de 3. 1. DNS-Anfrage www.beispiel.de ? 4. Zuständiger Server Y Cache www.beispiel.de : 130.83.56.60 Client A Fachbereich Informatik | Prof. Dr. F. Armknecht | 105 7.9.1 DNS Domain Name Service Server Y beantwortet Anfrage (4) Server X Cache www.beispiel.de : 130.83.65.60 5. Cache Aktualisierung Server Y 4. 130.83.65.60 6. Client A Fachbereich Informatik | Prof. Dr. F. Armknecht | 106 Cache www.beispiel.de : 130.83.65.60 7.9.2 E-Mail Elektronische Mail ist die mit Abstand häufigste Anwendung in vernetzten Systemen E-Mail-Typen: • Einfache ASCII-Mails: aufsetzend auf dem Simple Mail Transfer Protocol (SMTP), aber nur ASCII-Texte • Multimediale Nachrichten: codiert mittels Multipurpose Internet Mail Extension Protocol (MIME) Vorgehen: analog zur Papier-Mail • User-Agent: Mailprogramm zur Texterstellung Text mit Absender/Empfänger-Info versehen • Mail-Zustellung: Mail Transfer System: SMTP Fachbereich Informatik | Prof. Dr. F. Armknecht | 107 7.9.2 E-Mail Analogon: Papier-Mail versus E-Mail Fachbereich Informatik | Prof. Dr. F. Armknecht | 108 Grobarchitektur eines E-Mails-Systems LAN LAN MTA Internet MUA Recipient MUA Sender MTA MUA= Mail User Agent, wird als Mail Client bezeichnet MTA=Mail Transport Agent, wird als Mail Server bezeichnet Fachbereich Informatik | Prof. Dr. F. Armknecht | 109 7.9.2 E-Mail Versenden von E-Mails: (RFC822-konforme Mail als Bsp.) • MUA = Mail Client, z. B. Mozilla, Microsoft Outlook, … • Sender füllt To: … und Subject: …. Feld sowie den Nachrichten-Body aus • MUA transformiert das in eine RFC 822 konforme Nachricht und sendet diese via LAN-Verbindung zum MTA = Mail Server des Senders • MUA weist den MTA an, welches Mail-Protokoll zu verwenden ist Bem.: RFC 822: erlaubt nur ASCII Zeichen, SMTP als Protokoll • eine Mail besteht aus 2 Teilen: • Header: sender, recipient, date, subject, delivery path,… • Body: Inhalt Fachbereich Informatik | Prof. Dr. F. Armknecht | 110 7.9.2 E-Mail • der MTA des Senders nutzt den DNS-Dienst, um die IP-Adresse des Empfänger MTA zu finden • der MTA des Senders öffnet eine Verbindung zum Empfänger MTA • Übertragung der Nachricht mittels SMTP SMTP: einfaches ASCII-Protokoll • nutzt TCP (also verbindungsorientiert) über Port 25 • Sender (client) baut Verbindung zu Server auf (1) • Server antwortet mit seiner Identität und der Bereitschaft, Mails zu empfangen (2) • Client meldet von wem, an wen die Mail gehen soll (3) • falls Empfänger beim Server bekannt, gibt Server Startsignal zum Senden der Mail durch den Client (4) Fachbereich Informatik | Prof. Dr. F. Armknecht | 111 7.9.2 E-Mail Empfänger MTA: • stellt die Nachricht dem MUA des Empfängers zu • oder speichert sie lokal für einen späteren Abruf über das LAN Bem.: • SMTP basiert darauf, dass der Sender eine TCP-Verbindung zum Empfänger-Rechner aufbauen kann Fachbereich Informatik | Prof. Dr. F. Armknecht | 112 7.9.2 E-Mail d.h. der Empfänger muss online sein. • das ist aber häufig nicht der Fall! Lösung: ISP ist immer online und nimmt E-Mails der Kunden an • zusätzliche Protokolle, um von Kunden-Rechner die Mails beim ISP abzurufen: • POP3 (Post Office Protocol) • IMAP (Internet Message Access Protocol) Fachbereich Informatik | Prof. Dr. F. Armknecht | 113 Abbildung (a): permanente Verbindung und der User Agent läuft auf dem gleichen Rechner wie der MTA Abbildung (b): Empfänger besitzt Wählverbindung zu einem ISP Fachbereich Informatik | Prof. Dr. F. Armknecht | 114 7.9.2 E-Mail Ablauf (grob) des POP3-Protokolls: RFC 1939 • POP3 beginnt mit dem Start des Mailprogramms • Mailprogramm richtet eine TCP-Verbindung zum Port 110 und MTA des ISP (zum POP3-Server des ISP) eine Verbindung ein • der POP3-Client führt eine Benutzer-Authentisierung durch, indem er den Benutzernamen und das Passwort sendet • nach erfolgreicher Anmeldung: Client kann sich die Mailbox anzeigen lassen (list-Befehl) • im Transaktionszustand können Benutzer E-Mails abholen und zum Löschen markieren • sind alle Mails abgerufen, sendet der Client ein quit, • der ISP-Server aktualisiert die Mailbox (löscht markierte Mails) • die Verbindung kann terminiert werden Fachbereich Informatik | Prof. Dr. F. Armknecht | 115 7.9.2 E-Mail Beispiel: Abruf von drei Nachrichten mit POP3 Fachbereich Informatik | Prof. Dr. F. Armknecht | 116 7.9.2 E-Mail Probleme mit POP3 • falls Benutzer seine Mails von verschiedenen Rechnern abruft: • Mails des Benutzers sind auf diese Rechner verteilt Lösung: IMAP Internet Message Access Protocol • E-Mails verbleiben beim Server (unbegrenzt) • oder werden wie bei POP3 abgeholt Fachbereich Informatik | Prof. Dr. F. Armknecht | 117 /offline 7.9.3 World Wide Web Grundmodell • Browser zeigt Web-Seite auf Client-PC an, • Hyperlink verweist auf Server abcd.com, • von dort wird Seite angefordert Fachbereich Informatik | Fachgebiet Graphisch-Interaktive Systeme (GRIS) | Prof. Dr. D. Fellner | 118 7.9.3 World Wide Web Client-Seite: Schritte, wenn Benutzer im Browser einen Hyperlink anklickt (URL Uniform Resource Locator) Am Beispiel der URL http://www.itu.org/home/index.html • Browser ermittelt die URL und fragt den DNS-Server nach der IP-Adresse von www.itu.org • DNS gibt IP-Adresse zurück, hier 156.106.192.32 • Browser baut zu Port 80 (http) eine TCP-Verbindung zum Rechner mit der IP-Adresse 156.106.192.32 auf • Browser sendet Anfrage nach http://www.itu.org/home/index.html • Server sendet Datei home/index.html (wenn Client berechtigt ist) • die TCP-Verbindung wird getrennt • der Browser zeigt den Text von home/index.html im Display Fachbereich Informatik | Prof. Dr. F. Armknecht | 119 7.9.3 World Wide Web Server-Seite: • nimmt TCP-Verbindung an, prüft die Identität des Client, • prüft die Zulässigkeit des Dateizugriffs • ruft angeforderte Datei von Festplatte ab und • sendet die angeforderten Daten und loggt die Aktion Problem: Datentransfer erfordert jeweils Zugriff auf die Platte Lösung: Cachen der n zuletzt zugegriffenen Dateien und Multi-Threaded Server Fachbereich Informatik | Prof. Dr. F. Armknecht | 120 Einordnung von HTTP (Wiederholung) http-Protokoll Fachbereich Informatik | Prof. Dr. F. Armknecht | 121 7.9.3 World Wide Web HTTP (HyperText Transfer Protocol), RFC 2616 • Standardübertragungsprotokoll im Web • legt fest, welche Nachrichten Clients an Server senden dürfen • und welche Antworten die Server senden können • jede Interaktion besteht aus einer ASCII-Anfrage und einer MIME-ähnlichen Antwort • Methoden unter HTTP Fachbereich Informatik | Prof. Dr. F. Armknecht | 122 Fazit Kapitel 7 Einführung in Netzwerk Architekturen Bedeutung, Historie, Topologien, Übertragungsformen ISO/OSI Abstraktion Layer 1: Div. Übertragungsmedien (Twisted Pair, LWL, Richtfunk etc.) Layer 2a (Media Access): ALOHA, CSMA, CSMA/CD Layer 2b (Logical Link Control): Sliding Window, PPP Architektur Layer 3 (Netzwerk): Flooding; Distance Vector und Link State Routing Layer 4 (Transport) Layer 5 (Sitzung) Layer 6 (Darstellung) Layer 7 (Anwendung) TCP/IP Protokoll Stack IP Adressierung und Paketstruktur, TCP ARP, NAT, DHCP Anwendungsschicht DNS, Email, WWW Fachbereich Informatik | Prof. Dr. F. Armknecht | 123