Inhalt der Vorlesung „Rechnerkommunikation“ Einführung Anwendungsschicht Transportschicht Netzwerkschicht Sicherungsschicht Physikalische Schicht Netzwerksicherheit Rechnerkommunikation, Einführung 1 Einführung Beispiele für Rechnerkommunikation Konzept der Lehrveranstaltung Klassifikation von Kommunikationssystemen Protokolle Geschichte Literatur Rechnerkommunikation, Einführung 2 Beispiele für Rechnerkommunikation IP-Netz (Internet) Kommunikation zwischen Anwendungen auf Endsystemen (Host, Server) Verwendung von InternetProtokollen (u.a. TCP, UDP, IP) und weiteren (z.B. Ethernet, WLAN) Infrastruktur besteht u.a. aus Vermittlungseinheiten (Switches, Router), Funkbasisstationen, Modems kabelgebundene und drahtlose Verbindungen Unterscheidung von Zugangsnetz und Kernbereich Internet Service Provider (ISP) lokaler ISP Unternehmensnetz Host Rechnerkommunikation, Einführung regionaler ISP Server Router Switch Modem 3 Beispiele für Rechnerkommunikation Universal Serial Bus (USB) verbreitete serielle Anbindung von Peripheriegeräten an PC Sterntopologie aus Blättern (Nodes) und Verteilern (Hubs) Adressierung: 8 Bits für Node, 3 Bits für Endpunkt (Function) in Node Aufbau von Kanälen (Pipes) zwischen PC und Functions Protokoll für Übertragung basierend auf Sendeberechtigungen (Token) Rechnerkommunikation, Einführung 4 Beispiele für Rechnerkommunikation RNS UE1 Node B Iub Iu RNC Universal Mobile Telecommunications System (UMTS) CN UE2 Node B UE3 Iur Node B Node B Iub RNC Node B RNS Rechnerkommunikation, Einführung mobile Telekommunikation der 3. Generation: Sprache + Daten Mobilstation (User Equipment) Radio Network Subsystem für funkorientierte Funktionen mit Funkzellen und Basisstationen (Node B) Zugangsnetz (gegenwärtig Einsatz der ATM-Technologie), Kernnetz für Signalisierung, Transport, Übergang zu anderen Netzen geplanter Übergang zu IP 5 Beispiele für Rechnerkommunikation Bluetooth Bsp. für Wireless Personal Area Network (WPAN) verbreitete drahtlose Anbindung von Peripheriegeräten an PC Pikonetz: Ansammlung von Geräten die sich spontan (ad-hoc) vernetzen ein Gerät wird zum Master, die anderen verhalten sich als Slaves Master bestimmt Frequenzsprungfolge, Slaves müssen dieser folgen Kommunikation immer Master Slave Verbindungen für Daten und Sprache, diverse Konfigurationsmöglichkeiten Rechnerkommunikation, Einführung P S S M P SB S P SB M=Master P=Parked S=Slave SB=Standby 6 Beispiele für Rechnerkommunikation Ad-Hoc-Netze, Sensornetze Ad-Hoc-Netze: ohne Infrastruktur, Nutzung von Endgeräten der Netzteilnehmer für die Vernetzung, selbstorganisierend z.B. drahtlose Sensornetze (Wireless Sensor Networks, WSN) - einzelne Komponenten • klein (z. Zt. cm2, mm2 in Vorbereitung), billig • Energieversorgung (Batterie oder aus Umgebung) • Prozessor, Funkkommunikation • Sensoren: Licht, Feuchtigkeit, Druck, Erschütterung, Beschleunigung, Position, Magnetismus, Schall, … - Einsatzszenarien z.B.: Logistik, Sicherheit, Umwelt, Landwirtschaft, Gesundheitswesen, Heimautomatisierung, … Rechnerkommunikation, Einführung 7 Beispiele für Rechnerkommunikation Ein typisches drahtloses Sensornetz SN SN GW SN GW SN Bluetooth SN SN SN SN SN SN GW GW SN SN GW: gateway SN: sensor node Rechnerkommunikation, Einführung 8 Beispiele für Rechnerkommunikation Vernetzung im Fahrzeug heutige Mittelklasse- und Oberklasse-Fahrzeuge besitzen ca. 60 bis 100 elektronische Steuergeräte (Electronic Control Units, ECUs) für Antriebsstrang, Fahrerassistenz, Komfort, Infotainment Controller Area Network (CAN) verbreitetes Bussystem zur Kommunikation besondere Anforderungen an Zuverlässigkeit, Echtzeit Rechnerkommunikation, Einführung 9 Beispiele für Rechnerkommunikation Beispielhafte Vernetzungsarchitektur im Fahrzeug zentrales Gateway Anschluss der ECUs über mehrere CAN-Busse und weitere Bussysteme (z.B. FlexRay mit höheren Raten, MOST mit noch höheren Raten für Infotainment) an ECUs weitere Busse, z.B. Local Interconnect Network (LIN) Rechnerkommunikation, Einführung 10 Beispiele für Rechnerkommunikation Vernetzung mit anderen Fahrzeugen oder Infrastruktur Steigerung von Sicherheit, Effizienz und Komfort im Straßenverkehr Kommunikation über WLAN oder Mobilfunk Szenario des CoCar-BMBF-Verbundprojekts mit Nutzung von UMTS: Rechnerkommunikation, Einführung 11 Beispiele für Rechnerkommunikation Gemeinsame Aspekte trotz Technologievielfalt Netztopologie: Anordnung der Kommunikationsgeräte Hierarchisierung in Protokollschichten, Beschreibung von Nachrichtenformaten und Protokollverhalten Adressierung, Wegesuche und Weiterleitung von Nachrichten Flußkontrolle: Optimierung der Senderate ohne Empfänger zu überlasten Überlastkontrolle: Verschonung des Netzes vor Überlast Fehlersicherung: Ausgleich von Bitfehlern und Verlusten Medienzugriff: Koordination des Zugriffs mehrerer Sender auf gemeinsames Medium Bitübertragung: Kodierung und Modulation Netzwerksicherheit: Verschlüsselung, Authentifizierung etc. Leistung: erreichbare Durchsätze und Verzögerungszeiten Zuverlässigkeit: Wahrscheinlichkeit von Ausfällen Rechnerkommunikation, Einführung 12 Einführung Beispiele von Rechnernetzen Konzept der Lehrveranstaltung Klassifikation von Kommunikationssystemen Protokolle Geschichte Literatur Rechnerkommunikation, Einführung 13 Konzept der Lehrveranstaltung Nutzen von Rechnernetzen Zugriff auf entfernte Informationen Informationsaustausch Steuerung entfernter Geräte gemeinsame Nutzung von Betriebsmitteln Leistungssteigerung und Fehlertoleranz Bedeutung von Rechnernetzen starkes Wachstum von Anzahl und Nutzung in den letzten 20 Jahren Basistechnologie, Infrastruktur für alle Lebensbereiche: Büro, Verwaltung, Bildung, Unterhaltung, E-Commerce, Telearbeit, Fertigung, Straßenverkehr, eingebettete Geräte, „allgegenwärtiges“ Rechnen, … Netzwerk- und andere Industrie: Entwerfen, Entwickeln, Installieren, Betreiben, Verwalten der HW und SW von Rechnernetzen viele Produkte benötigen Kommunikation viele (alle?) SW-Programme benötigen Kommunikation Rechnerkommunikation, Einführung 14 Konzept der Lehrveranstaltung Bedeutung des Internets globales Netz von Rechnernetzen größtes und wichtigstes Rechnernetz Inhalt von Rechnerkommunikation Netzwerke werden hauptsächlich am Beispiel des Internets untersucht die Schichten werden dabei von oben nach unten durchlaufen (Anwendungsschicht, Transportschicht, Netzwerkschicht, Sicherungsschicht, physikalische Schicht) dabei werden die wichtigsten grundlegenden Mechanismen von Rechnernetzen behandelt, die oft auch in anderen Netzen von Bedeutung sind an einigen Stellen werden auch analytische Ansätze zur Auslegung vorgestellt danach Netzwerksicherheit als übergreifender Aspekt Vertiefung durch Programmierübungen und theoretische Übungen Rechnerkommunikation, Einführung 15 Einführung Beispiele von Rechnernetzen Konzept der Lehrveranstaltung Klassifikation von Kommunikationssystemen Protokolle Geschichte Literatur Rechnerkommunikation, Einführung 16 Klassifikation von Kommunikationssystemen Einige Unterscheidungsmerkmale … Kommunikationsart Unicast (Punkt-zu-Punkt): ein Sender, ein Empfänger Multicast (Punkt-zu-Mehrpunkt, Gruppenruf): ein Sender, ein Gruppe von Empfängern Broadcast (Rundruf): an alle Teilnehmer des Netzes Anycast: ein Empfänger aus einer Gruppe möglicher Ziele Rechnerkommunikation, Einführung 17 Klassifikation von Kommunikationssystemen Übertragungsart Übertragungsrichtung - simplex: unidirektionale Verbindung - halbduplex: bidirektionale Verbindung mit Umschalten, also nicht gleichzeitig in beide Richtungen (1) (2) - (voll-)duplex: gleichzeitig in beide Richtungen Rechnerkommunikation, Einführung 18 Klassifikation von Kommunikationssystemen Multiplexverfahren: Verwendung eines physikalischen Mediums durch mehrere Geräte - Frequenzmultiplex (Frequency Divsion Multiplex, FDM): Geräte verwenden verschiedene Teile des Frequenzspektrums - Zeitmultiplex (Time Divsion Multiplex, TDM): Geräte wechseln sich zeitlich ab FDM 4 KHz Kanal Frequenzspektrum 4 KHz TDM 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 Zeitschlitz Rechnerkommunikation, Einführung Rahmen Zeit 19 Klassifikation von Kommunikationssystemen Vermittlungsart - Leitungsvermittlung • zwischen Sender und Empfänger wird mittels Signalisierung ein Kanal zur Übertragung aufgebaut (z.B. durch Zeit- oder Frequenzmultiplex) • die zur Verfügung stehende Bitrate muß fest auf die Kanäle aufgeteilt werden • Standardverfahren in der Telefonie, bei schwankenden Datenaufkommen mit vielen Pausen ineffizient - Paketvermittlung • Sender schickt Daten in Paketen, die einzeln zum Sender gelangen • die Bitrate wird effizienter aufgeteilt • kurzfristiges höheres Datenaufkommen kann über Puffer abgefangen werden • dies kann zu Verzögerungen und Pufferüberläufen führen Rechnerkommunikation, Einführung 20 Klassifikation von Kommunikationssystemen Statistisches Multiplexen vergleicht man Paketvermittlung mit den bei der Leitungsvermittlung bekannten Multiplexverfahren, so erscheint diese wie statistisches Multiplexen 10 Mbps Ethernet A C 1.5 Mbps B Puffer mit Paketen, die auf Weiterleitung warten D Rechnerkommunikation, Einführung E 21 Klassifikation von Kommunikationssystemen Übertragungsmedium leitungsgebunden - z.B. verdrillte Kupferdrähte, Glasfaser - Bitraten von Kbps bis viele Gbps - Signalausbreitungsgeschwindigkeit Teil der Lichtgeschwindigkeit, c 2108 m/s = 200 m/µs - kleine Bitfehlerraten, bei Glasfaser z.B. 10-10 drahtlos - z.B. Funk (terrestrisch, Satellit), Infrarot - Bitfehlerraten hoch wegen verschiedener Probleme bei der Ausbreitung von Funkwellen: 10-5 bis 10-2 - außerdem treten Bitfehler oft in Schüben (Bursts) auf Rechnerkommunikation, Einführung 22 Klassifikation von Kommunikationssystemen Entfernung Systembusse (z.B. PCI), Peripheriekommunikation (z.B. USB, Bluetooth) lokale Netze (LANs) - einige Kilometer, Ausbreitungsverzögerung z.B. 2,5 km/c = 12,5 ms Metropolitan Area Networks (MANs) - urbane Region, 50-100 km Wide Area Networks (WANs) - weltweit, Ausbreitungsverzögerung z.B. 10.000 km/c = 50 ms Bitrate 56 Kbps für Modem bis viele Gbps (Glasfaser, Satellit) Produkt von Bitrate und Ausbreitungsverzögerung gibt Daten auf Leitung - R = 10 Mbps, d = 2,5 km: Rd/c = 125 Bits - R = 1 Gbps, d = 10.000 km: Rd/c 500 MB Rechnerkommunikation, Einführung 23 Klassifikation von Kommunikationssystemen Einige Beispiele für Übertragungsvolumina Modem - Bitrate: 56 Kbps - Übertragungsvolumen pro Tag: 0,57 MB - Pro Monat: 17,3 MB DSL - Bitrate: 16 Mbps - Übertragungsvolumen pro Tag: 83,3 GB - Pro Monat: 2,5 TB Hochgeschwindigkeitsnetz - Bitrate: 10 Gbps - Übertragungsvolumen pro Tag: 100,5 TB - Pro Monat: 3160 TB = 3,16 EB Rechnerkommunikation, Einführung 24 Klassifikation von Kommunikationssystemen Leistungsanalyse für Paketvermittlung Erste Fragestellungen: Wie lange dauert die Übertragung eines Datenobjekts? Welchen Einfluss haben Bitrate und Ausbreitungsverzögerung? Wie groß ist die Speicherkapazität eines Datenkanals? Beispiele in den Übungen! Mehr Infos zur Leistungsanalyse und deren Anwendung in Rechnernetzen kommt in Kapitel 3 (Transportschicht) Rechnerkommunikation, Einführung 25 Klassifikation von Kommunikationssystemen Produkt aus Bitrate und Verzögerung Bitrate R, Ausbreitungsverzögerung D vom Sender zum Empfänger einfacher Kanal, A sendet ohne Unterbrechung an B RD > 1: RD < 1: B t = 0: A beginnt zu senden A B t = D: erstes Bit erreicht B, RD Bits sind mittlerweile gesendet A B t = 0: A beginnt zu senden A B t = D: der Anfang des Bits erreicht B, RD·100% des Bits sind mittlerweile gesendet A B t = 1/R: das Ende des Bits verläßt A A B t = 1/R + D: das Ende des Bits erreicht B A Rechnerkommunikation, Einführung 26 Klassifikation von Kommunikationssystemen Kanalpuffergröße in Bits R D D d / v Ausbreitun gsverzöger ung 1 /R 1 /R Bitsendeze it = Anzahl gesendeter Bits während sich das erste Bit vom Sender zum Empfänger ausbreitet = Kanalpuffergröße in Bits Beispiel für RD > 1: - R = 100 Mbps, d = 4800 km, v = 3·108m/s bits 4800 103 m 3 - RD 100 10 1600 10 bits 195,3 KB 8 s 3 10 m / s 6 Beispiel für RD < 1: - R = 10 Mbps, d = 10 m, v = 2·108m/s - RD 10 106 Bits 10 m 0,5 Bits 8 s 2 10 m / s Rechnerkommunikation, Einführung 27 Klassifikation von Kommunikationssystemen Kanalpuffergröße in Paketen mit Paketgröße L: a R D d / v Ausbreitun gsverzöger ung L L /R Paketsende zeit = Anzahl gesendeter Pakete während sich das erste Bit vom Sender zum Empfänger ausbreitet = Kanalpuffergröße in Paketen Rechnerkommunikation, Einführung 28 Klassifikation von Kommunikationssystemen Normierung der Zeit durch Paketsendezeit (L/R = eine Zeiteinheit), dann - ist 1 Zeiteinheit die Zeit zum Senden eines Pakets (1 L/R) - sind a Zeiteinheiten die Ausbreitungsverzögerung (a L/R = RD/L L/R = D) t0 A B t0 A B t0+1 A B t0+a A B t0+a A B t0+1 A B t0+1+a A B t0+1+a A B t0+1+2a A B t0+1+2a A B pkt ACK a>1 Rechnerkommunikation, Einführung a<1 29 einige Werte für a: Bitrate (Mbps) Paketgröße (Bits) Entfernung (km) a 0,064 1000 0,1 0,00003 0,064 1000 1 0,0003 0,064 1000 35863 7,65 0,064 10.000 0,1 0,000003 0,064 10.000 1 0,00003 0,064 10.000 35863 0,77 1 1000 1 0,005 1 1000 3000 15 1 1000 35863 119,5 1 10.000 1 0,0005 1 10.000 3000 1,5 1 10.000 35863 11,95 10 1000 0,05 0,0025 10 1000 0,5 0,025 10 10.000 0,05 0,00025 10 10.000 0,5 0,0025 100 1000 0,1 0,05 100 10.000 0,1 0,005 1000 1000 0,1 0,5 1000 10.000 0,1 0,05 Rechnerkommunikation, Einführung 30 Klassifikation von Kommunikationssystemen Topologie Ring Bus (linear) Baum Rechnerkommunikation, Einführung 2D-Torus Stern vollständig vermascht 31 Einführung Beispiele von Rechnernetzen Konzept der Lehrveranstaltung Klassifikation von Kommunikationssystemen Protokolle Geschichte Literatur Rechnerkommunikation, Einführung 32 Protokolle Rechnernetze sind „ziemlich“ komplex Endgeräte, Switches, Router, Schnittstellenkarten, Leitungen, Kanäle, Verbindungen Nachrichten Mechanismen zur Fehlersicherung, Fluß- und Überlastkontrolle, Adressierung, Wegsuche, Weiterleitung, Medienzugriff, … Protokolle wesentliches Strukturierungsprinzip legen Nachrichtenformat und Verhalten der Kommunikationspartner fest Beispiel: Hypertext Transfer Protocol (HTTP) - HTTP-Client erfragt Inhalte von HTTP-Server - 2 Arten von Nachrichten: Anfrage und Antwort - festgelegte Formate beider Nachrichten - festgelegtes Verhalten von HTTP-Client und HTTP-Server Rechnerkommunikation, Einführung 33 Protokolle Strukturierung in Schichten Instanzen der Schicht n+1 nutzen die Dienste der Schicht n Dienst wird zwischen Schichten an Dienstzugangspunkten (Service Access Points, SAPs) angeboten, dafür werden Service Data Units (SDUs) übergeben Instanzen der Schicht n auf verschiedenen Hosts tauschen Protocol Data Units (PDUs) aus, jede PDU enthält einen Kopf (Header) n+1 entity n+1 entity n-SAP n-SDU n-SDU n-SDU H n entity n entity H Rechnerkommunikation, Einführung n-SAP n-SDU n-PDU 34 Protokolle Beispiel: HTTP nutzt die Dienste der Transportschicht HTTP server HTTP client Port 80 Ephemeral port # GET 80, # TCP TCP #, 80 Rechnerkommunikation, Einführung STATUS 35 Protokolle ISO Open Systems Interconnection (OSI) verbreitete Terminologie Kommunikation wird durch Instanzen durchgeführt Dienst - was eine Instanz anbietet - ähnlich zu der öffentlichen Schnittstelle einer Softwarekomponente Protokoll - wie die Instanzen interagieren, um Dienst zu realisieren - Nachrichtenformat, Verhaltensregeln - eine Beschreibung der Implementierung, aber noch nicht die Implementierung Schicht - Zusammenfassung von Instanzen Schichtenarchitektur - System von Schichten, bei denen die Funktion der einzelnen Schichten und das Prinzip der Interaktion untereinander festgelegt ist Rechnerkommunikation, Einführung 36 Protokolle: OSI-Referenzmodell der Schichtenarchitektur Anwendungsprotokoll 7 Anwendung APDU Schnittstelle PPDU 6 Präsentation SPDU 5 Sitzung TPDU 4 Transport Paket 3 Präsentationsprotokoll Application APDU Interface Presentation PPDU Sitzungsprotokoll Session SPDU Transport TPDU Protokolle Router-Router Network Network Network Packet Transportprotokoll Netzwerk Rahmen 2 Verbindung Data link Data link Data link Frame 1 Bitübertragung Physical Physical Physical Bit Router Router Host B Bit Host A Schicht Name der ausgetauschten Informationseinheit Netzwerkprotokoll Host-Router Verbindungsprotokoll Host-Router Layer Bitübertragungsprotokoll Host-Router Rechnerkommunikation, Einführung 37 Protokolle: OSI-Referenzmodell der Schichtenarchitektur Bitübertragungsschicht (Physical Layer) mechanische, elektrische und prozedurale Eigenschaften zur Übertragung von Bits: Zeitsynchronisation, Kodierung, Modulation, … Sicherungs- oder Verbindungsschicht (Data Link Layer) Medienzugriff und gesicherte Übertragung von Rahmen (Frames): Rahmensynchronisation, Fehler- und Flußkontrolle, … Vermittlungsschicht (Network Layer) Übertragung von Paketen bzw. Datagrammen: Verbindungsaufbau, Wegewahl, Vermittlung, Betriebsmittelverwaltung, … Transportschicht (Transport Layer) zuverlässiger Ende-zu-Ende Transport von Segmenten Sitzungsschicht (Session Layer) Kommunikation zwischen Anwendungen Darstellungsschicht (Presentation Layer) Syntax und Semantik der ausgetauschten Informationen, z.B. mit Abstract Syntax Number One (ASN.1) oder XML Anwendungsschicht (Application Layer) Kommunikation der Anwendungsprozesse mit anwendungsspezifischen Informationen Rechnerkommunikation, Einführung 38 Protokolle Schichtenarchitektur im Internet OSI-Referenzmodell hat sich nicht durchgesetzt, vereinfachtes Modell des Internet ist verbreitet Anwendungsschicht - Netzwerkanwendungen (HTTP, FTP, …) Transportschicht - Transport von Segmenten zwischen Anwendungen (TCP, UDP) Netzwerkschicht - Datagramme zwischen Hosts über Router (IP), Weiterleitung, Wegewahl (Routing) Verbindungsschicht - Rahmen zwischen benachbarten Geräten, Medienzugriff, Sicherung physikalische Schicht - binäre Formate, Modulationsverfahren Rechnerkommunikation, Einführung Application Transport Network Link Physical 39 Protokolle Weg einer Nachricht zwischen Anwendungen Abstieg: jeweils ein Kopf dazu, Aufstieg: Kopf wird entfernt Message M Segment Ht M Datagram Hn Ht M Frame Hl Hn Ht M Source Application Transport Network Link Physical H l H n Ht M Link Physical H l H n Ht M Link-layer switch Destination Hn Hl Hn Ht Ht Ht M M M M Application Transport Network Link Physical Rechnerkommunikation, Einführung Router Hn Ht M Hl Hn Ht M Network Link Physical Hn Ht M Hl Hn Ht M 40 Protokolle Implementierung von Protokollen die Schichten unterhalb der Anwendungsschicht sind typischerweise Teil des Betriebssystems die Dienste der Transportschicht können durch Betriebssystemaufrufe genutzt werden die meisten Programmiersprachen stellen APIs hierfür zur Verfügung, z.B. Objekte und Methoden in Java (java.net) im Betriebssystem verschiedene Realisierungsmöglichkeiten, für Effizienz wird das mehrmalige Kopieren von SDUs bei der Übergabe vermieden, stattdessen Übergabe von Referenzen Cross-Layer Optimierung die saubere Trennung in Schichten wird in der Realität oft nicht eingehalten, z.B. werden zur Steigerung der Effizienz manchmal Mechanismen der Bitübertragungs- und der Verbindungsschicht gekoppelt Rechnerkommunikation, Einführung 41 Protokolle Beschreibung von Protokollen Protokolle werden in Dokumenten von Standardisierungsgremien festgelegt informelle Beschreibung: bei IETF verbreitet, zusätzlich Referenzimplementierungen formale Beschreibung - Format der Nachrichten: ähnlich wie Datenstrukturen in Programmiersprachen, z.B. mit Abstract Syntax Notation One (ASN.1) der ISO - Szenarien: typische Abläufe des Nachrichtenaustauschs, z.B. Message Sequence Charts (MSCs) der ITU bzw. Sequenzdiagramme in der UML - Verhalten der Instanzen: Automaten, z.B. Specification and Description Language (SDL) der ITU oder Statecharts in der UML Rechnerkommunikation, Einführung 42 Protokolle Bsp. für SDL Prof. Stud. erzählen schlafen Frage stellen Frage hören warten Antwort erhalten denken 10 s richtig nein ja erklären Antwort geben 20 s - - Rechnerkommunikation, Einführung 43 Protokolle Bsp. für MSC Prof. Stud. Frage 10 s Wartezeit Antwort Rechnerkommunikation, Einführung 44 sta_tx_idle_2f(11) Process Tx_Coordination_sta Protokolle Bsp. für SDL Teil der Spezifikation des Medienzugriffs im IEEE 802.11g WLAN Standard, 2003 ein Automat, der Eingaben erhält und Ausgaben erstellt TxC_Idle Pdu_ Request (fsdu) not import( mBkIP) Ack, Cfend, Cts, Wake and MmCancel ignored in TxC_Idle state. Entry when CfPoll station wakes (endRx, ) up to transmit. txc_ req tpdu:= fsdu!pdus (fsdu!fCur) fsdu!eol fsdu!sqf:= seqnum, import (mCfp) rx_ poll TxC_Cfp * Atw_Start Test if fsdu seq number and tx lifetime set. These transitions are only present at Cf-pollable stations. TBTT defent:= -1 import(mBssId), import(mBssId), ) import (mIbss) (false) tpdu:= setSeq(tpdu, fsdu!sqf) `txrate:= selected tx data rate` TxTime( Rechnerkommunikation, Einführung tpdu:= fsdu!pdus (fsdu!fCur) See 9.6 for rules about selecting transmit data rate. sAckCtsLng/8, txrate, ackctstime) send_ frag tpdu:= mkFrame( Cfack. tx_ sifs BkDone (defent) seqnum:=if seqnum=4095 then 0 else seqnum+1 fi, fsdu!eol:= now + import (dot11MaxTransmitMsduLifetime) TxCfAck (endRx, ) - (true) dcfcw:=ccw, ccw:=atimcw AtimW Atim Window 45 Protokolle FFD next higher layer FFD MAC FFD PHY MLME-RESET.request MLME-SCAN.request (Energy detection) MLME-SCAN.confirm (SUCCESS) Bsp. für MSC Select PANId, ShortAddress, LogicalChannel Teil der Spezifikation des Medienzugriffs im 802.15.4 LR-WPAN Standard, 2003 senkrechte Linien heißen Lebenslinien und sind Instanzen zugeordnet Rechnerkommunikation, Einführung Perform energy detection scan MLME-START.request PLME-SET-TRX-STATE.request (Tx on) PLME-SET-TRX-STATE.confirm (SUCCESS) PD-DATA.request MLME-START.confirm (SUCCESS) PD-DATA.confirm(SUCCESS) Beacon PLME-SET-TRX-STATE.request (Rx on) PLME-SET-TRX-STATE.confirm (SUCCESS) 46 Protokolle Protokollbeschreibung in Rechnerkommunikation meist informell Szenarien (informell, nicht gemäß MSC) Client Server manchmal kommunizierende Automaten: Statecharts wie in UML Rechnerkommunikation, Einführung 47 Protokolle Dienstgüte (Quality-of-Service, QoS) Sammelbegriff für quantitative Aspekte von Rechnernetzen und ihren Protokollen, z.B.: - Antwortzeit (z.B. auf die Reaktion eines Servers) - Durchsatz (übertragene Daten pro Zeiteinheit, nicht gleich der Bruttobitrate) - Verlust- und Fehlerrate (z.B. von Paketen in einem Netz bei drahtloser Übertragung) - Verfügbarkeit (Zeitanteil, in dem ein System einsatzfähig ist, z.B. ist Server 99.99% der Zeit verfügbar, dann 4,32 Minuten im Monat unverfügbar) wichtig zur Auswahl und Konfiguration von Netzwerkarchitekturen und Protokollen Ansätze: Messung, (stochastische) Analyse, Simulation Unterstützung durch Werkzeuge Rechnerkommunikation, Einführung 48 Einführung Beispiele von Rechnernetzen Konzept der Lehrveranstaltung Klassifikation von Kommunikationssystemen Protokolle Geschichte Literatur Rechnerkommunikation, Einführung 49 Geschichte einige Meilensteine vor 1970: leitungsvermitteltes Telefonnetz 60er Jahre: erste Konzepte von paketvermittelten Datennetzen, militärische Zwecke, Verbindung von Großrechnern 70er Jahre: ARPAnet, lokale Netze basierend auf Zufallszugriff (Aloha, Ethernet), Konzept des Internetworking Growth of the ARPANET (a) December 1969. (b) July 1970. (c) March 1971. (d) April 1972. (e) September 1972. Rechnerkommunikation, Einführung 50 Geschichte einige Meilensteine 80er Jahre: Entwicklung von Protokollen wie TCP/IP, SMTP, DNS, FTP, Nutzung vor allem akademischer Bereich 90er Jahre: Entwicklung populärer Anwendungsprotokolle wie HTTP, Verbreitung von Web-Browsern, Kommerzialisierung, geschätzte Nutzeranzahl > 100 Millionen, Sicherheit wird wichtiges Thema, erste drahtlose Netze (WLAN) 00er Jahre: Crash, weiteres Wachstum, weitere Anwendungen, z.B. Internettelefonie, Peer-to-Peer-Systeme, Web2.0, weitere drahtlose Netze (Bluetooth, ZigBee, Wimax) ausführlicher in Kurose/Ross Rechnerkommunikation, Einführung 51 Geschichte Einige Gremien zur Standardisierung von Protokollen International Standards Organization (ISO) - internationale Standards - national: American National Standards Institute (ANSI), ... International Telecommunications Union (ITU) - Telekommunikationsstandards, PTTs - ITU-T (Telecommunications Sector, früher CCITT) - ITU-R (Radiocommunications Sector) European Telecommunications Standards Institute (ETSI) Internet Engineering Task Force (IETF) - Request for Comments (RFCs) Institute of Electrical and Electronic Engineers (IEEE) Industrieforen zur schnelleren Entwicklung (vielleicht) und Zertifizierung interoperabler Produkte - World Wide Web Consortium (W3C), Object Management Group (OMG), MPLS Forum, WiFi Alliance, Bluetooth Special Interest Group, ZigBee Alliance, Wimax Forum, … Rechnerkommunikation, Einführung 52 Einführung Beispiele von Rechnernetzen Konzept der Lehrveranstaltung Klassifikation von Kommunikationssystemen Protokolle Geschichte Literatur Rechnerkommunikation, Einführung 53 Literatur Auswahl aus den zahlreichen Lehrbüchern Kurose, Ross. Computer Networking: A Top-Down Approach Featuring the Internet. 5th Ed., Addison Wesley, 2009 (deutsche Übersetzung der 4. Ausgabe: Computernetzwerke: Der Top-Down-Ansatz, Addison Wesley, 2008) - einfache und anschauliche Einführung, Fokus auf Internet, TopDown-Ansatz, Hauptquelle der Vorlesung Leon-Garcia, Widjaja. Communication Networks: Fundamental Concepts and Key Architectures, 2nd Ed., McGraw Hill, 2004 - enthält auch Material über andere Netze, z.B. leitungsvermittelte Netze sowie analytische Aspekte W. Stallings. Data and Computer Communications, 8th Ed., Pearson Education, 2006 - der Autor hat große Zahl von Netzwerk-Büchern geschrieben mit jeweils unterschiedlichem Schwerpunkt, werden häufig aktualisiert Tanenbaum. Computer Networks. 4th Ed., Prentice Hall, 2003 (auch auf Deutsch erschienen) - Standardlehrbuch über Rechnernetze, war eins der ersten auf dem Markt Rechnerkommunikation, Einführung 54 Literatur Peterson, Davie. Computer Networks: A Systems Approach. Elsevier, 4th Ed., 2007 (auch auf Deutsch erschienen) - umfassende und sehr gut lesbare Einführung, macht viele Designentscheidungen nachvollziehbar Halsall. Computer Networking and the Internet. Addison-Wesley, 2005 - sehr gründlich in technischen Einzelheiten Comer. Computer Networks and Internets. 4th ed., Pearson Education, 2003 (auch auf Deutsch erschienen) - einfache Darstellung der wichtigen Mechanismen, weitere Bücher über Netze des Autors Comer, Stevens. Internetworking with TCP/IP, Volumes I, II, III. Prentice Hall, 2005, 2007, 2000 (auch auf Deutsch erschienen) - 3-bändiges Standardwerk über Transport- und Netzwerkschicht S. Tanenbaum, van Steen: Distributed Systems. Principles and Paradigms. 2nd Ed., Prentice Hall, 2006 (auch auf Deutsch erschienen) - Standardlehrbuch über Konzepte verteilter Systeme Rechnerkommunikation, Einführung 55