• Keine Ergebnisse gefunden

Protokoll High‐Level Objekt

N/A
N/A
Protected

Academic year: 2022

Aktie "Protokoll High‐Level Objekt"

Copied!
21
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Protokolle und Schichten

(2)

Host  1

Protokoll und Interface

Protokoll High‐Level Objekt

Host  2

Protokoll High‐Level Objekt

Peer‐to‐peer Service

Interface

Service

Interface

(3)

Message‐Sequence‐Chart (MSC)

H1 H2

(4)

Protokollzustandsautomat

Wait for connection

request

Wait for file request connection request/

connection response

close request

file request/

file response

(5)

Beispiel

H N S

Service‐Primitiven:

Zustände:

Zeitvorgaben:

Nachrichtenformate:

File f GET_FILE(), void ABORT_FILE_RETRIVAL(), ...

CLIENT_IDLE, CLIENT_WAITS_FOR_FILE, ...

if client waits 1000ms then change to state CLIENT_ERROR

FILE_REQUEST_MESSAGE: |CLIENT_ADR|SERVER_ADR|FILE_NAME|

(6)

Host  1

Protokollgraph

Protokoll 1

Protokoll 3

Protokoll 2

Protokoll 4

Host  2

Protokoll 1

Protokoll 3

Protokoll 2

Protokoll 4

(7)

Nachrichtenkapselung

Host  1

Anwendung 1

Protokoll 1

Protokoll 2

Protokoll 3

Host  2

Daten

Daten H1

Daten H1

H2

Daten H1

H2 H3

Anwendung 1

Protokoll 1

Protokoll 2

Protokoll 3

Daten

Daten H1

Daten H1

H2

(8)

Host  1

Multiplexing und Demultiplexing

Protokoll 1

Protokoll 3

Protokoll 2

Protokoll 4

Host  2

Protokoll 1

Protokoll 3

Protokoll 2

Protokoll 4

(9)

OSI‐Modell

(10)

Internet‐Modell

Nothing stated

(11)

Internet‐Protokolle

(12)

Anwendungssicht auf TCP (oder UDP)

Erzeugen eines Sockets

int socket(int domain, int type, int protocol) domain : PF_INET, PF_UNIX, PF_PACKET, ...

type : SOCK_STREAM, SOCK_DGRAM, ...

protocol : UNSPEC, ...

Passive‐Open auf der Server‐Seite

int bind(int socket, struct sockaddr *address, int len) int listen(int socket, int backlog)

int accept(int socket, struct sockaddr *address, int *len) address : enthält IP-Adresse und Port

backlog : Anzahl erlaubter Pending-Connections

Active‐Open auf der Client‐Seite

int connect(int socket, struct sockaddr *address, int len)

(13)

Host 2 Host 1

Adressen im Internet‐Modell

TCP

IP IP

LINK LINK

physical

TCP UDP

UDP

physical

Application Application Application Application

Physikalische Adresse

IP‐Adresse Port

Demux‐Key

(14)

Performance

(15)

Bandbreite

1 s

1 Sekunde

0 1 1 0 0 1 1 …

Bandbreite b in obigem Beispiel:

(16)

Bps und bps

Kenngröße Größenordnung Wert

KBps 2

10

Byte/s 1.024

MBps 2

20

Byte/s 1.048.576

GBps 2

30

Byte/s 1.073.741.824

TBps 2

40

Byte/s 1.099.511.627.776

Kbps 10

3

Bits/s 1.000

Mbps 10

6

Bits/s 1.000.000

Gbps 10

9

Bits/s 1.000.000.000

Tbps 10

12

Bits/s 1.000.000.000.000

Vereinfachung für Überschlagsrechnungen:

(17)

Zeit x zur Übertragung eines Bits bei Distanz d und Signalausbrei‐

tungsgeschwindigkeit l

Propagation‐Delay

H2 H1

d

(18)

Zeit x zur Übertragung von n Bits bei Distanz d Signalausbreitungs‐

geschwindigkeit l und Bandbreite b:

Delay einer Single‐Hop‐Übertragung

H2 H1

d

(19)

Zeit x zur Übertragung von n Bits bei Distanz d, Signalausbreitungs‐

geschwindigkeit l, Bandbreite b und Queuing‐Zeit q:

Delay einer Multi‐Hop‐Übertragung

H2 H1

d

(20)

Delay‐Bandbreiten‐Produkt

Bandbreite

Delay

Beispiel: Anzahl Bits n die ein Kanal mit 100ms Latenz und 50Mbps

Bandbreite speichert

(21)

Transferzeit und Effektiver Durchsatz

H2 H1

Beispiel: Überschlagsrechnung zu Transferzeit z und effektivem Durchsatz d und bei 

Abrufen einer 1MB Datei über einen Kanal mit 1Gbps Bandbreite und 92ms RTT:

Referenzen

ÄHNLICHE DOKUMENTE

Das Verfahren integrierte Planung im Dialog Die Vorgehensweise setzte auf ein integriertes, Ergebnis orientiertes Verfahren und knüpfte dabei an vorhandene Untersuchungen, Planungen

int bind(int socket, struct sockaddr *address, int len) int listen(int socket, int backlog). int accept(int socket, struct sockaddr *address, int *len) address : enthält IP-Adresse

int bind(int socket, struct sockaddr *address, int len) int listen(int socket, int backlog). int accept(int socket, struct sockaddr *address, int *len) address : enthält IP-Adresse

int accept(int socket, struct sockaddr *address, int *len) address : enthält IP-Adresse und Port. backlog : Anzahl

int accept(int socket, struct sockaddr *address, int *len) address : enthält IP-Adresse und Port.. backlog : Anzahl

int accept(int socket, struct sockaddr *address, int *len) address : enthält IP-Adresse und Port. backlog : Anzahl

int bind(int socket, struct sockaddr *address, int len) int listen(int socket, int backlog).. int accept(int socket, struct sockaddr *address, int *len) address : enthält IP-Adresse

➥ int sendto(int sockfd, char *msg, int len, int flags, struct sockaddr *addr, int addrlen);. ➥ msg: zu sendende Nachricht (L