Networking Basics

Werbung
Networking Basics
Peter Puschner
Institut für Technische Informatik
[email protected]
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
2
Strategies
•  Data Migration
•  Computation Migration (z.B. Remote Procedure Call)
•  Process Migration
Peter Puschner, TU Wien
3
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
4
WAN Communication
H
H
network host
user processes
host OS
user processes
CP
CP
CP
host OS
CP
communication
processor
Peter Puschner, TU Wien
communication
subsystem
H
5
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
6
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
7
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
8
Network Topologies
H
H
H
H
H
H
H
H
fully connected
H
H
H
Peter Puschner, TU Wien
H
H
H
partially connected
H
H
Tree
H
H
H
H
H
H
H
H
H
H
Star
H
Ring
H
H
H
9
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
10
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
11
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
12
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
13
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
14
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
15
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
16
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
17
host A
process A
OSI Layers
network device
host B
process B
application
application
presentation
presentation
session
session
transport
transport
network
network
network
data-link
data-link
data-link
physical
physical
physical
Peter Puschner, TU Wien
18
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
19
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
20
Interfaces and Services
IDU
layer n+1
ICI
SDU
service access point (SAP)
interface
layer n
header
ICI
SDU
layer n
comm.
SDU
n-PDU
ICI … interface control information, IDU … interface data unit
SDU … service data unit, PDU … protocol data unit
Peter Puschner, TU Wien
21
OSI Communication
process A
header
process B
data
application
application
presentation
presentation
session
session
transport
transport
network
network
CRC
data-link
physical
Peter Puschner, TU Wien
data-link
bit stream
physical
22
OSI versus TCP/IP
OSI Layers
TCP/IP Layers
application
presentation
TCP/IP Protocol Suite
FTP
SMTP HTTP
application
telnet
session
pop
…
UDP
network
internet
IP
ICMP
data-link
physical
Peter Puschner, TU Wien
network
interface
FDDI
TCP
Token
Ring/Bus
transport
Ethernet
transport
…
23
Zusammenfassung
•  Schichtung von Protokollebenen zur Komplexitätsreduktion
•  Verteilte Services erlauben Optimierung durch
Migration
–  Erweiterte Services, Beschleunigung, Fehlertoleranz
•  Kosten
–  Management, Konsistenthaltung
Peter Puschner, TU Wien
24
Herunterladen