Networking Basics
Peter Puschner Institut für Technische Informatik [email protected]
Peter Puschner, TU Wien 2
Why Networking? • Communication • Computation speedup (Parallelisierung von Subtasks) • Load balancing • Hardware preference (z.B. Nutzung spezieller HW) • Software preference (SW auf bestimmten Knoten) • Data transfer • Data access (Prozess Migration statt Datentransfer) • Distributed application (Embedded Systems) • Fehlertoleranz
Peter Puschner, TU Wien 3
Strategies • Data Migration • Computation Migration (z.B. Remote Procedure Call) • Process Migration
Peter Puschner, TU Wien 4
Network Structure (WAN) Wide-Area Network (WAN)
• große geographische Ausdehnung • Punkt-zu-Punkt Verbindungen über große
Entfernungen • Typische Übertragungsrate: 1.5 – 45 Mbit/sec • Broadcast erfordert Versenden mehrerer
Nachrichten • Knoten: Workstations, PCs, Mainframes
Peter Puschner, TU Wien
WAN Communication
5
user processes
host OS
user processes
host OS
communication processor
CP CP
CP
CP
network host
H H
H
communication subsystem
Peter Puschner, TU Wien 6
Network Structure (LAN) Local-Area Network (LAN)
• kleine geographische Ausdehnung (bis etwa 10km) • Multi-access Bus, Ring, Stern • Übertragungsrate: 10 Mbit/sec – 1 Gbit/sec • Broadcast: schnell, billig • Knoten: Workstations, PCs, ev. Mainframe(s)
Peter Puschner, TU Wien 7
Communication Networks • Topology – physikalische Verbindungsstruktur • Naming, Name Resolution – Lokalisierung der
Kommunikationspartner • Routing • Connection Strategy – Aufbau logischer
Verbindungen • Contention – Auflösung von Zugriffskonflikten
Peter Puschner, TU Wien 8
Network Topology • Installationskosten – Kosten der physikalischen
Verbindung? • Kommunikationskosten – wie lange ist eine
Nachricht unterwegs? • Zuverlässigkeit – Effekt des Ausfalls von Knoten
Peter Puschner, TU Wien
Network Topologies
9
H H
H H
H H
H H
H H
H H
H
H
H
H
H H
H H
H H
H H
H
H
H
H
H
H Tree
Star Ring
fully connected partially connected
Peter Puschner, TU Wien 10
Naming, Name Resolution Spezifikation des Kommunikationspartners (Rechner und Prozess)
< hostname, identifier >
Name Resolution: Zuordnung: Name è Host ID • Fixe Übersetzungstabelle per Host • Domain-name system (DNS)
– IP Adressen aus Teilen (Bsp.: mail.tuwien.ac.at) – Adressauflösung von hinten nach vorne – Anfrage an Name Server für jeden Teil liefert Adresse
des Name Servers für Sub-Domain, usw.
Peter Puschner, TU Wien 11
DNS Lookup Bsp.: DNS Lookup von mail.tuwien.ac.at
1. Kernel sendet Anfrage um Adresse des Name Servers für Domain ac.at an Server für Domain at (letzterer muss bekannt sein)
2. at Server liefert Adresse des Name Servers für ac.at
3. Kernel fragt ac.at Server um Adresse für tuwien.ac.at
4. Anfrage an resultierende Adresse liefert Internet-Adresse für mail.tuwien.ac.at è 128.130.35.36
Peter Puschner, TU Wien 12
Routing Welchen Weg nimmt ein Nachrichtenpaket?
Routing Table • Info. über Alternativen, Geschwindikeit, Kosten • automatisches oder manuelles Update
Routing Strategien • Fixed Routing: fixer Weg von A nach B • Virtual Circuit: Weg von A nach B pro Session fix;
Nachrichtenreihenfolge bleibt erhalten • Dynamic Routing: Pfad einer Nachricht wird beim
Senden bestimmt; Out-of-order Arrival möglich
Peter Puschner, TU Wien 13
Connection Strategies Wie wird eine Communication Session zwischen zwei Prozessen realisiert? • Circuit Switching: permanente physikalische
Verbindung für die Dauer der Session • Message Switching: Temporäre Verbindung für
die Dauer einer Nachrichtenübertragung • Packet Switching: Nachrichten variabler Länge
werden in Paketen gleicher Länge übertragen; Pfade der Pakete können verschieden sein
Setup Time versus Overhead bei Übertragung
Peter Puschner, TU Wien 14
LAN: Contention Auflösung von Zugriffskonflikten, wenn Prozesse gleichzeitig Daten am Netzwerk senden wollen: • CSMA/CD: carrier sense, multiple access (CSMA),
with collision detection (CD) – Sendebeginn, wenn freies Medium erkannt wird – Abbruch und neulicher Versuch nach Zufallsintervall,
wenn Kollision erkannt wird – Viele Kollisionen bei Hochlast – Einsatz in Ethernet
Peter Puschner, TU Wien 15
LAN: Contention (2) • Token Passing: eine speziell ausgezeichnete
Nachricht (token) wird laufend unter den Knoten “im Kreis” weitergegeben – Wenn ein Knoten im Besitz des Tokens ist, kann er eine
Nachricht senden – Weitergabe des Tokens nach dem Senden, bzw. wenn
der Knoten nichts zu senden hat – Physikalische oder logische Ringstruktur – Spezielle Protokolle zur Generierung des Tokens am
Anfang bzw. bei Tokenverlust
Peter Puschner, TU Wien 16
Communication Protocols Kommunikationsprotokoll • Satz von Regeln und Konventionen für die
Kommunikation von Daten • definiert Syntax, Semantik und Synchronisation • typische Eigenschaften von Protokollen
– Identifikation der physikalischen Verbindung, des Kommunikationspartners
– Verbindungsaufbau, -abbau – Beginn, Ende, Formatierung von Botschaften – Flusskontrolle, Fehlerbehandlung
Peter Puschner, TU Wien 17
Communication Protocols (2) Verwendung von geschichteten Protokollen (Protocol Stacks), um Komplexität zu beherrschen • Schicht (Layer) n bietet der Schicht n+1 ein
Interface mit Service Access Points (SAPs) • Schicht n verwendet Services der Schicht n-1, um
eigene Services zu implementieren • Kommunikationspartner: Einheiten des gleichen
Layers auf den kommunizierenden Knoten Beispiele:
OSI Referenzmodell, TCP/IP Protokollsuite
Peter Puschner, TU Wien
OSI Layers
18
application
process A network device
presentation
session
transport
network
data-link
physical
network
data-link
physical
application
process B
presentation
session
transport
network
data-link
physical
host A host B
Peter Puschner, TU Wien 19
OSI-Protocol Layers (1) OSI-Schichtenmodell der Netzwerkkommunikation • Physical Layer: mechanische und elektrische
Codierung für Übertragung von Bit Streams • Data-link Layer: gesicherte Übertragung von
Frames auf dem Physical Layer (Flusskontrolle, Fehlererkennung und Korrektur)
• Network Layer: liefert Verbindungen und Routing von Paketen (Interpretation von Adressen, Verwaltung von Routing Informationen, Routing)
Peter Puschner, TU Wien 20
OSI-Protocol Layers (2) • Transport Layer: Transfer von Daten zwischen
Komm.-Endknoten, Partitionierung von Nachrichen, Ordnen von Paketen
• Session Layer: Realisiert Verbindungen zwischen Prozessen (Sessions); Kommunikation für Remote Login, File oder Mail Transfer
• Presentation Layer: Auflösung unterschiedlicher Formate (Syntax, Semantik)
• Application Layer: Interaktion mit Applikationen; File Transfer, Remote Login Protokolle, E-Mail
Peter Puschner, TU Wien
Interfaces and Services
21
ICI layer n+1
interface
layer n
service access point (SAP)
SDU
ICI SDU
IDU
SDU n-PDU
header layer n comm.
ICI … interface control information, IDU … interface data unit SDU … service data unit, PDU … protocol data unit
Peter Puschner, TU Wien
OSI Communication
22
application
process A
presentation
session
transport
network
data-link
physical
application
process B
presentation
session
transport
network
data-link
physical
data
bit stream
header
CRC
Peter Puschner, TU Wien
OSI versus TCP/IP
23
application
presentation
session
transport
network
data-link
physical
application
transport
network interface
internet
TCP
Eth
erne
t
IP
OSI Layers TCP/IP Layers TCP/IP Protocol Suite
UDP
ICMP
Toke
n R
ing/
Bus
FDD
I
…
SMTP FTP
telnet pop …
HTTP
Peter Puschner, TU Wien 24
Zusammenfassung • Schichtung von Protokollebenen zur Komplexitäts-
reduktion • Verteilte Services erlauben Optimierung durch
Migration – Erweiterte Services, Beschleunigung, Fehlertoleranz
• Kosten – Management, Konsistenthaltung
Top Related