detnet01 networking basics - ti.tuwien.ac.at · Peter Puschner, TU Wien 2 Why Networking? •...

24
Networking Basics Peter Puschner Institut für Technische Informatik [email protected]

Transcript of detnet01 networking basics - ti.tuwien.ac.at · Peter Puschner, TU Wien 2 Why Networking? •...

Page 1: detnet01 networking basics - ti.tuwien.ac.at · Peter Puschner, TU Wien 2 Why Networking? • Communication • Computation speedup (Parallelisierung von Subtasks) • Load balancing

Networking Basics

Peter Puschner Institut für Technische Informatik [email protected]

Page 2: detnet01 networking basics - ti.tuwien.ac.at · Peter Puschner, TU Wien 2 Why Networking? • Communication • Computation speedup (Parallelisierung von Subtasks) • Load balancing

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

Page 3: detnet01 networking basics - ti.tuwien.ac.at · Peter Puschner, TU Wien 2 Why Networking? • Communication • Computation speedup (Parallelisierung von Subtasks) • Load balancing

Peter Puschner, TU Wien 3

Strategies •  Data Migration •  Computation Migration (z.B. Remote Procedure Call) •  Process Migration

Page 4: detnet01 networking basics - ti.tuwien.ac.at · Peter Puschner, TU Wien 2 Why Networking? • Communication • Computation speedup (Parallelisierung von Subtasks) • Load balancing

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

Page 5: detnet01 networking basics - ti.tuwien.ac.at · Peter Puschner, TU Wien 2 Why Networking? • Communication • Computation speedup (Parallelisierung von Subtasks) • Load balancing

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

Page 6: detnet01 networking basics - ti.tuwien.ac.at · Peter Puschner, TU Wien 2 Why Networking? • Communication • Computation speedup (Parallelisierung von Subtasks) • Load balancing

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)

Page 7: detnet01 networking basics - ti.tuwien.ac.at · Peter Puschner, TU Wien 2 Why Networking? • Communication • Computation speedup (Parallelisierung von Subtasks) • Load balancing

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

Page 8: detnet01 networking basics - ti.tuwien.ac.at · Peter Puschner, TU Wien 2 Why Networking? • Communication • Computation speedup (Parallelisierung von Subtasks) • Load balancing

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

Page 9: detnet01 networking basics - ti.tuwien.ac.at · Peter Puschner, TU Wien 2 Why Networking? • Communication • Computation speedup (Parallelisierung von Subtasks) • Load balancing

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

Page 10: detnet01 networking basics - ti.tuwien.ac.at · Peter Puschner, TU Wien 2 Why Networking? • Communication • Computation speedup (Parallelisierung von Subtasks) • Load balancing

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.

Page 11: detnet01 networking basics - ti.tuwien.ac.at · Peter Puschner, TU Wien 2 Why Networking? • Communication • Computation speedup (Parallelisierung von Subtasks) • Load balancing

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

Page 12: detnet01 networking basics - ti.tuwien.ac.at · Peter Puschner, TU Wien 2 Why Networking? • Communication • Computation speedup (Parallelisierung von Subtasks) • Load balancing

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

Page 13: detnet01 networking basics - ti.tuwien.ac.at · Peter Puschner, TU Wien 2 Why Networking? • Communication • Computation speedup (Parallelisierung von Subtasks) • Load balancing

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

Page 14: detnet01 networking basics - ti.tuwien.ac.at · Peter Puschner, TU Wien 2 Why Networking? • Communication • Computation speedup (Parallelisierung von Subtasks) • Load balancing

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

Page 15: detnet01 networking basics - ti.tuwien.ac.at · Peter Puschner, TU Wien 2 Why Networking? • Communication • Computation speedup (Parallelisierung von Subtasks) • Load balancing

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

Page 16: detnet01 networking basics - ti.tuwien.ac.at · Peter Puschner, TU Wien 2 Why Networking? • Communication • Computation speedup (Parallelisierung von Subtasks) • Load balancing

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

Page 17: detnet01 networking basics - ti.tuwien.ac.at · Peter Puschner, TU Wien 2 Why Networking? • Communication • Computation speedup (Parallelisierung von Subtasks) • Load balancing

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

Page 18: detnet01 networking basics - ti.tuwien.ac.at · Peter Puschner, TU Wien 2 Why Networking? • Communication • Computation speedup (Parallelisierung von Subtasks) • Load balancing

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

Page 19: detnet01 networking basics - ti.tuwien.ac.at · Peter Puschner, TU Wien 2 Why Networking? • Communication • Computation speedup (Parallelisierung von Subtasks) • Load balancing

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)

Page 20: detnet01 networking basics - ti.tuwien.ac.at · Peter Puschner, TU Wien 2 Why Networking? • Communication • Computation speedup (Parallelisierung von Subtasks) • Load balancing

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

Page 21: detnet01 networking basics - ti.tuwien.ac.at · Peter Puschner, TU Wien 2 Why Networking? • Communication • Computation speedup (Parallelisierung von Subtasks) • Load balancing

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

Page 22: detnet01 networking basics - ti.tuwien.ac.at · Peter Puschner, TU Wien 2 Why Networking? • Communication • Computation speedup (Parallelisierung von Subtasks) • Load balancing

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

Page 23: detnet01 networking basics - ti.tuwien.ac.at · Peter Puschner, TU Wien 2 Why Networking? • Communication • Computation speedup (Parallelisierung von Subtasks) • Load balancing

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

Page 24: detnet01 networking basics - ti.tuwien.ac.at · Peter Puschner, TU Wien 2 Why Networking? • Communication • Computation speedup (Parallelisierung von Subtasks) • Load balancing

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