Rechnerkommunikation

Werbung
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  2108 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: Rd/c = 125 Bits
- R = 1 Gbps, d = 10.000 km: Rd/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
Herunterladen