Kommunikationssysteme und das Internet – Teil I
Vorlesung vom 24. April 2017 Birger Krägelin
Inhalt
OSI-Schichten-Modell
Verkabelung Ethernet TCP/IP - Protokollfamilie
Grundlagen der Rechnerkommunikation Damit Rechner miteinander kommunizieren können, müssen verschiedene Festlegungen getroffen werden:
Technische Eigenschaften
Darstellung von Informationen
Kommunikationsverhalten (wer darf wann?)
Verhalten im Fehlerfall
Die Festlegungen bezeichnet man als Protokolle.
Grundlagen der Rechnerkommunikation Für unterschiedliche Anforderungen gibt es jeweils angepasste Festlegungen. Um die Festlegungen einfach und übersichtlich zu machen, werden die Aufgaben in Schichten definiert, die aufeinander aufsetzen. In jeder Schicht gibt es verschiedene Varianten, die gegeneinander austauschbar sind.
Technik: WLAN, UMTS, DSL verbindungsorientiert (Telefonie) verbindungslos (Daten)
OSI-Schichtenmodell
OSI-Schichtenmodell
Physical Layer – Bitübertragung Aufgaben
Festlegen der Eigenschaften des Übertragungsmediums (Kupfer, Glasfaser, Funk)
Übertragungsgeschwindigkeit
Bit-Codierung
Modulationsverfahren
Link Layer - Sicherung Aufgaben
Bilden von Datenpaketen
Sicherung der Übertragung durch RedundanzCodes (CRC)
Zugriffssteuerung
Datenflusskontrolle
Network Layer - Vermittlung Aufgaben
Ende-zu-Ende-Adressierung
Ende-zu-Ende Datenvermittlung
Wegesuche
Datenpaket-Fragmentierung (Anpassung an Link-Layer-Eigenschaften)
Transport Layer - Datentransport Aufgaben
Daten-Segmentierung (Paket-Bildung)
Paket-Sortierung und Re-Assembly
Fehler-Sicherung und Fehler-Behebung
Stau-Vermeidung
Session Layer – Kommunikationssteuerung Aufgaben
Prozess-zu-Prozess-Kommunikation
Verbindungs-Aufbau und –Abbau
Synchronisierter Datenaustausch
Fehlerbehebung, Wiederaufsetzpunkte
Presentation Layer - Darstellung Aufgaben
Systemabhängige Daten-Darstellung
Zeichencode-Wandlung
Datenkompression
Daten-Verschlüsselung
Application Layer - Anwendung Aufgaben
Client-/Server-Verbindungen
Normierte Anwendungs-Protokolle
E-Mail Web Dateitransfer Verzeichnisdienste Login Datei-Ablage Druck-Dienste
Physical Layer – im Detail Bitübertragungsschicht - Aufgaben
Festlegen der Eigenschaften des Übertragungsmediums (Kupfer, Glasfaser, Funk)
Übertragungsgeschwindigkeit
Bit-Codierung
Modulationsverfahren
Strukturierte Verkabelung Es werden drei Verkabelungs-Bereiche unterschieden:
Primärverkabelung Verbindung von Gebäuden auf einem Gelände Glasfaser oder Telefon-Kabel Sekundärverkabelung Verbindung von Stockwerken untereinander bzw. mit Gebäudeverteiler (Backbone) Glasfaser Tertiärverkabelung Verbindung von Büros auf einem Stockwerk mit Verteilerschrank Twisted-Pair-Kabel
Twisted Pair Kabel 8 Adern, paarweise verdrillt (twisted)
UTP unshielded twisted pair billigste Variante STP shielded twisted pair paarweise mit Schirm (Folie oder Geflecht) S/UTP screened UTP Folienschirm um alle Paare
heutiges Standard-Kabel
Twisted Pair Kabel Verschiedene Normen
Category 5 / 5e Standard-Kabel bis 100 MHz, ausreichend für GBit-Ethernet Category 6 bis 250 MHz, bei Neuverkabelungen verwendet mit anderen Steckern für 10GE geeignet Category 7 bis 600 MHz bisher keine Anwendung dafür
Glasfaser-Kabel
Multimode-Kabel 62,5/125 μ 50/125 μ Moden-Dispersion
Monomode-Kabel 9/125 μ chromatische Dispersion
Serielle Datenübertragung Daten werden bitweise nacheinander übertragen.
Billige Verkabelung mit wenigen Adern
Wenig Störungen (keine parallelen Kabel)
Nur serielle Übertragungen können moduliert werden.
Ausnahme: Mit modernen Modulationsverfahren werden mehrere Bits pro Schritt übertragen.
Serielle Datenübertragung Bytes müssen auf der Sendeseite in Bitfolgen gewandelt werden und auf der Empfängerseite wieder zurückgewandelt werden.
Welches Bit kommt als erstes? MSB - most significant bit first LSB - least significant bit first
Wie erkenne ich, wann das erste Bit kommt?
Wie trenne ich die Bytes?
Byteweise Übertragung Üblicherweise wird LSB-Übertragung verwendet.
Ruhezustand auf der Leitung Mark - logisch 1 Startbit zeigt Beginn der Übertragung an Startbit - logisch 0 Datenbits in LSB-Reihenfolge Stopbit zeigt Byte-Ende an Stopbit - logisch 1
Fehlererkennung Bei der Übertragung können Störungen auftreten. Bei der ASCII-Übertragung werden Parity-Bits eingefügt.
even parity -
gerade Anzahl 1
Odd parity
-
ungerade Anzahl 1
7E1 7O1 8N1
-
7 Datenbits + parity even 7 Datenbits + parity odd 8 Datenbits no parity
Byteweise Übertragung
Aufgabe:
Zeichnen Sie ein Diagramm für die Übertragung des Zeichens h (0x68) in 8N1
Link Layer – im Detail Sicherungsschicht - Aufgaben
Bilden von Datenpaketen
Sicherung der Übertragung durch RedundanzCodes (CRC)
Zugriffssteuerung
Datenflusskontrolle
Ethernet: Entwicklung Anfang der 70er Jahre am Xerox PARC von Robert Metcalfe entwickelt.
Thickwire / Yellow cable
Thinwire / Cheapernet
Adressen Ethernet verwendet weltweit eindeutige Adressen:
48 Bit, Schreibweise hexadezimal 00:14:51:ee:6e:da
Adressen werden vom Hersteller des Adapters vergeben
Hersteller-Codes (erste drei Bytes) von IEEE vergeben Broadcast-Adresse "alle Stationen" ff:ff:ff:ff:ff:ff
Datenpakete Ethernet-Pakete sind variabel lang, min. 64 Byte, max. 1518 Byte.
Destination-Adresse, Source-Adresse jeweils 6 Byte Typ-Feld (höheres Protokoll) 2 Byte
Nutzdaten 46 – 1500 Byte CRC-32 (frame check sequence) 4 Byte
Datenpakete
Zugriffsverfahren: CSMA-CD
Carrier Sense Stationen erkennen, ob das Kabel elektrisch in Ordnung ist. Multiple Access Stationen dürfen unabhängig (gleichzeitig) auf das Netz zugreifen. Collision Detect Stationen erkennen, ob ein Datenpaket zerstört wurde.
Geschwindigkeiten Ethernet hat eine lange Entwicklung hinter sich.
10 MBit/sec ursprüngliches Ethernet, auf Koax-Kabel
100 MBit/sec Fast-Ethernet, heute am meisten verbreitet
1 GBit/sec Gigabit-Ethernet, Standard für Stationen
10 GBit/sec 10GE, im Backbone, für Hochleistungs-Server
100 GBit/Sec 100GE, derzeit in Entwicklung und Normung
WLAN - Standards Drahtlose Netze sind unter den Bezeichnungen ihres Standards bekannt:
802.11b (1999) 11 MBit/sec 802.11a (1999) 54 MBit/sec 802.11g (2003) 54 MBit/sec
802.11n (2009) bis 600 MBit/sec
2,4 GHz 802.11h (Europa 2002)
5 GHz
2,4 GHz Draft-N (Vorabversion)
2,4 GHz und 5GHz
Zugriffsverfahren CSMA-CA
Carrier Sense Stationen lauschen, ob ein Datentransfer stattfindet Multiple Access Stationen dürfen unabhängig (gleichzeitig) auf das Netz zugreifen. Collision Avoidance Station sendet zuerst ein RTS (request to send) an Access-Point Access-Point genehmigt die Übertragung und antwortet mit CTS (clear to send)
Frequenzen und Kanäle Der Frequenzbereich ist in mehrere Kanäle aufgeteilt.
13 Kanäle Breite Abstand
25 MHz 5 MHz
Kanäle überlappen sich
Störungen
MIMO-Techniken 802.11n nutzt zur Steigerung der Geschwindigkeit die Überlagerung von mehreren gleichzeitigen Übertragungen.
Mehrere Antennen für Senden und Empfangen
Reflexionen und Laufzeitunterschiede
Schnelle Signalprozessoren rekonstruieren die gesendeten Signale.
Verschlüsselungsverfahren Im Funknetz kann jeder mithören oder gefälschte Daten verschicken.
Verschlüsselung der Daten zwischen Station und Access-Point ergibt Sicherheit einer kabelgebundenen Verbindung. WEP-Verfahren (wired equivalent privacy) ist wegen Design-Fehlern gebrochen. WPA mit TKIP (temporal key integrity protocol) ist ebenfalls unsicher. WPA2 verwendet AES zur Verschlüsselung (advanced encryption standard)
WPA2 Wi-Fi Protected Access Stufe 2 implementiert mehrere Sicherheitsverfahren:
Verschlüsselung mit AES
Passwort-Authentifikation mit Preshared Key mit 63 Zeichen Länge Username/Passwort-Authentifikation in Unternehmensnetzen (benötigt einen RADIUS-Server)
Network Layer – im Detail Vermittlungsschicht - Aufgaben
Ende-zu-Ende-Adressierung
Ende-zu-Ende Datenvermittlung
Wegesuche
Datenpaket-Fragmentierung (Anpassung an Link-Layer-Eigenschaften)
Die Protokolle des Internet
Historie des Internet 1969
Start des ARPANET als Forschungsnetz (US-Verteidigunsministerium)
1982
Netzwerk-Protoll TCP/IP
1989
Anschluss Deutschlands an das Internet
1989
Entwicklung der Hyperlinks (Tim Berners-Lee am CERN, Genf)
1993
Beginn des WWW (World Wide Web) 1. grafischer Browser Mosaic (entwickelt am NCSA, Illinois USA)
Normen des Internet Die Community selbst arbeitet an den Normen des Internet, es gibt keine offizielle Standardisierungs-Organisation. Die Normen des Internet werden als RFC veröffentlicht.
(request for comment) Ein RFC wird zur Norm wenn das Beschriebene relevant ist wenn die Community zustimmt wenn es mehrere Implementierungen gibt
RFCs sind für Alle verbindlich und werden eingehalten.
Einige ausgewählte RFCs
RFC 791
internet protocol
RFC 793
transmission control protocol
RFC 1035
domain names
RFC 5322 internet message format Nachfolger für RFC 822/2822/4021
RFC 1149 internet datagrams on avian carriers (Datenpaketbeförderung mit Brieftauben) RFC 2100 naming of hosts (… is difficult) RFC 2410 the NULL encryption algorithm
IP-Adressen IP verwendet weltweit eindeutige Adressen:
32 Bit, Schreibweise dezimal 192.168.178.21 Adressen werden von einer Registrierstelle oder vom Internet Service Provider vergeben
IP-Adressen bestehen aus Netzwerknummer und Host-Adresse Broadcast-Adresse "alle Stationen" bei Hostadresse alle Bits 1
Klassen Früher wurden die Adressen in Klassen eingeteilt:
Klasse A Netzwerknummer Hostadresse
8 Bit 24 Bit
(0 .. 127)
Klasse B Netzwerknummer Hostadresse
16 Bit 16 Bit
(128.0 .. 191.255)
Klasse C Netzwerknummer Hostadresse
24 Bit 8 Bit
(192.0.0 .. 223.255.255)
Subnetze / Netzmasken Heute wird für Adressen immer eine Netzmaske angegeben:
Klasse A 84.0.0.0/8
Fa. Cisco
Klasse B 129.13.0.0/16
Universität Karlsruhe
Klasse C 192.196.6.0/24
Duale Hochschule Karlsruhe
Mit Netzmasken sind auch andere Netzwerkgrößen möglich:
153.96.0.0/15
Fraunhofer-Gesellschaft
78.47.29.192/29
teamx.leute.server.de
Netzmasken Eine Folge von 1-Bits legt den Bereich der Netzwerknummer fest, die folgenden 0-Bits den Bereich der Host-Adresse.
Netzmaske /24 11111111 11111111 11111111 00000000 255.255.255.0
Von den resultierenden Hostnummern sind zwei reserviert:
Alle Bit 0
Netzwerknummer
Alle Bit 1
Broadcast-Adresse
IP - Datenpaket
IP - Datenpaket Kopf des Paketes besteht aus:
Länge des Kopfes
Länge des Datenpaketes
Time to Live – Feld
Typ
IP-Adressen
verhindert endlos kreisende Pakete
höheres Protokoll (Sender, Empfänger)
Typfeld – höhere Protokolle Protokolle der Transportschicht:
TCP
transmission control protocol
realisiert eine verlässliche Verbindung
UDP
user datagram protocol
ungesicherte Verbindung Reaktion auf Datenverlust durch Anwendung
Routing Routing ist die Suche eines Weges zur Zielstation und die Vermittlung der Datenpakete:
Zielstation im gleichen Netzwerk Versenden als Ethernet-Paket an Host
Zielstation in anderem Netzwerk Bestimmen des nächstgelegenen Routers Versenden als Ethernet-Paket an Router
Routing-Tabellen Informationen über Netze und next hop sind in umfangreichen Tabellen gespeichert.
Normaler Host hat nur wenige Einträge Normaler Router kennt das vollständige Unternehmensnetzwerk Router bei Internet Service Provider kennt das ganze Internet
Default-Routing Jeder Host kennt seinen Default-Router.
Über diesen Router sind der Rest des Unternehmens und das Internet erreichbar. Default-Router ist im eigenen Netzwerk. Wird vom Administrator konfiguriert oder dynamisch zugewiesen.
Video
Transport Layer – im Detail Datentransportschicht - Aufgaben
Daten-Segmentierung (Paket-Bildung)
Paket-Sortierung und Re-Assembly
Fehler-Sicherung und Fehler-Behebung
Stau-Vermeidung
Variante 1: Das Protokoll TCP Transmission Control Protocol
Dient zum zuverlässigen Datentransfer für Anwendungsprotokolle
verbindungsorientiert
Ende-zu-Ende Verbindung
Voll-Duplex (gleichzeitig bidirektional)
behandelt Paketreihenfolge
behandelt Paket-Verlust
TCP-Datenpaket
TCP-Datenpaket Kopf des Paketes besteht aus:
Port-Nummern
(Sender, Empfänger)
Sequenznummer
Acknowledge-Nummer
diverse Flags
Ports und höhere Protokolle Ports dienen zur Identifikation der höheren Protokolle (der Anwendungen). Client-seitig sind die Ports dynamisch.
Port 25
SMTP
simple mail transfer
Port 80
HTTP
hypertext transfer
Port 110
POP3
post office
Port 139 Port 445
NETBIOS Microsoft
windows network active directory
Variante 2: Das Protokoll UDP User Datagram Protocol
Dient zum (nicht zuverlässigen) Datentransfer für Anwendungsprotokolle
verbindungslos Paketverlust und Paketreihenfolge müssen von Anwendung behandelt werden
Kaum Overhead
Hohe Datenraten im LAN
UDP-Datenpaket
UDP-Datenpaket Kopf des Paketes besteht aus:
Port-Nummern
(Sender, Empfänger)
Länge
(Header + Daten)
Checksumme
Ports und höhere Protokolle Ports dienen zur Identifikation der höheren Protokolle (der Anwendungen). Client-seitig sind die Ports dynamisch.
Port 53
DNS
domain name service
Port 69
TFTP
trivial file transfer
Port 137 Port 445
NETBIOS Microsoft
name service file sharing
Fragen ??