ARCHITETTURE DI PROTOCOLLI - 1 Architetture di protocolli Gruppo Reti TLC nome.cognome@polito.it

Post on 01-May-2015

220 views 0 download

Transcript of ARCHITETTURE DI PROTOCOLLI - 1 Architetture di protocolli Gruppo Reti TLC nome.cognome@polito.it

ARCHITETTURE DI PROTOCOLLI - 1

Architetture di protocolli

Gruppo Reti TLC

nome.cognome@polito.it

http://www.tlc.polito.it/

ARCHITETTURE DI PROTOCOLLI - 2

Architetture e protocolli

• Definizione CCITT– Comunicazione: trasferimento di informazioni

secondo convenzioni prestabilite

• La comunicazione richiede cooperazione

• Una descrizione astratta delle modalità di comunicazione tra due o più utenti richiede la definizione di un– modello di riferimento

ARCHITETTURE DI PROTOCOLLI - 3

Architetture e protocolli

• Al massimo livello di astrazione il modello di riferimento specifica una– architettura di rete

ARCHITETTURE DI PROTOCOLLI - 4

Architetture di protocolli

• Un’architettura di rete definisce gli oggetti usati per descrivere – il processo di comunicazione– le relazioni tra tali oggetti– le funzioni necessarie per la comunicazione– le modalità organizzative delle funzioni

ARCHITETTURE DI PROTOCOLLI - 5

Architetture di protocolli

• Si usano architetture stratificate

– semplicità di progetto– facilità di gestione– semplicità di standardizzazione– separazione di funzioni

ARCHITETTURE DI PROTOCOLLI - 6

router 1

router 2router 3

host 1

host 2

host 3

host 4

subnet 1

subnet 2

subnet 4subnet 3

trasferimentopacchetti

instradamento

controlloerrori

applicativi

Separazione di funzioni: Internet

ARCHITETTURE DI PROTOCOLLI - 7

7

6

5

4

3

2

1

Applicazione

Presentazione

Sessione

Trasporto

Rete

Collegamento

Fisico

OSI

ARCHITETTURE DI PROTOCOLLI - 8

DECNET

User

Netw. Appl.

Session

End to End

Routing

Data Link

Physical

OSI

Application

Presentation

Session

Transport

Network

Data Link

Physical

ARPA

Application

Service

Internetwork

Network

SNA

TransactionService

PresentationService

DataFlow

Trans.Control

Mana.Servi.

Virtual RouteExplicit RouteTransm. Group

Data Link

Physical

pathcontrol

halfsession

Architetture stratificate

ARCHITETTURE DI PROTOCOLLI - 9

Non Specificati

IP

TCP e UDP

RPC

XDR

NFS

Internet Protocol Suite

Arp e Rarp

ICMP Protocollidi routing

TelnetFTP

SMTPSNMP

Application

Presentation

Session

Transport

Network

Data Link

Physical

OSI

OSI ed Internet

ARCHITETTURE DI PROTOCOLLI - 10

Piano di gestione

Piano di controllo Piano di utente

Livelli alti

AAL

ATM

Fisico

Gestio

ne d

i livello

Gestio

ne d

i pian

o

Livelli alti

B - ISDN

ARCHITETTURE DI PROTOCOLLI - 11

Protocolli• Definizione CCITT

– descrizione formale delle procedure adottate per assicurare la comunicazione tra due o più oggetti dello stesso livello gerarchico

• Definizione di protocolli:– semantica

• insieme di comandi e risposte

– sintassi• struttura di comandi e risposte

– temporizzazione• sequenze temporali di comandi e risposte

ARCHITETTURE DI PROTOCOLLI - 12

Protocolli

• I protocolli sono insiemi di regole: – semantiche

• algoritmi

– sintassi• formati

– temporizzazione

ARCHITETTURE DI PROTOCOLLI - 13

Modello di riferimento ISO/OSI

• (Open System Interconnection) è recepito nei seguenti standard– ISO IS 7498– CCITT X.200

• I principi fondamentali definiti dal modello di riferimento OSI sono oggi universalmente accettati.

• Ciò non significa che tutte le architetture di protocolli siano conformi al modello OSI.

ARCHITETTURE DI PROTOCOLLI - 14

Sistema j

mezzi trasmissivi

Sistema 1Sistema 2

Sistema n

Sistema 3

Modello OSI

ARCHITETTURE DI PROTOCOLLI - 15

processi applicativi

Sistema A Sistema B Sistema C Sistema D

mezzi trasmissivi

Modello OSI

ARCHITETTURE DI PROTOCOLLI - 16

SistemaA

SistemaB

strato piùelevato

sottosistema(N + 1) - strato (N) - strato (N - 1) - strato

strato piùbasso

mezzi trasmissivi

Strati o livelli

ARCHITETTURE DI PROTOCOLLI - 17

SistemaA

SistemaB

(N) - strato

(N) - entità

mezzi trasmissivi

Entità

– elementi attivi di un sottosistema– svolgono le funzioni di strato– interagiscono all’interno di uno strato

ARCHITETTURE DI PROTOCOLLI - 18

Stratificazione

• Ogni strato (o livello)– fornisce servizi allo strato superiore– usando

• i servizi dello strato inferiore • le proprie funzioni

• Identificabili:– fornitori di servizio– utenti del servizio – punti di accesso al servizio: SAP (Service Access

Point)

ARCHITETTURE DI PROTOCOLLI - 19

(N + 1) - strato

(N) - strato(N) - servizio

usa

fornisce

Servizi

• Gli utenti del livello N, le (N+1)-entità, cooperano e comunicano usando lo (N)-servizio fornito dallo (N)-fornitore di servizio

ARCHITETTURE DI PROTOCOLLI - 20

(N) - servizio

N + 1

N

N + 1

N(N) - fornitoredi servizio

Black-Box per le(N + 1) - entità

Servizi

ARCHITETTURE DI PROTOCOLLI - 21

N

N - 1

N

N - 1

(N-1) - servizio

(N-1) - fornitoredi servizio

Black-Box per le(N) - entità

Servizi

ARCHITETTURE DI PROTOCOLLI - 22

(N) - entità

(N-1) - entità

(N - 1) - SAP

(N) - livello

(N-1) - livello

(N-1) - entità

SAP

ARCHITETTURE DI PROTOCOLLI - 23

Sistema A Sistema B

(N) - servizio

(N+1) - protocollo

(N) - protocollo(N) - strato

(N+1) - entità

(N) - entità

(N) - SAP

(N+1) - entità

(N) - entità

Protocolli

ARCHITETTURE DI PROTOCOLLI - 24

(N) - entità

(N - 1) - entità

(N) - Strato

(N - 1) - Strato

(N - 1) - SAP

(N) - titolo

(N - 1) -indirizzo

Indirizzi

ARCHITETTURE DI PROTOCOLLI - 25

(N) - entità (N-1) - indirizzo

(N) - titolo

Funzioni di identificazione

• (N) directory

ARCHITETTURE DI PROTOCOLLI - 26

(N) - entità

(N) - SAP

(N - 1) - SAP

(N) - indirizzo

(N - 1) - indirizzo

Funzioni di identificazione

• (N)-mapping

ARCHITETTURE DI PROTOCOLLI - 27

(N) - strato K K L MEDDC

K L M

EDCBA

F G H J

one-to-one hierarchical tabular

Tipologie di mapping

ARCHITETTURE DI PROTOCOLLI - 28

(N) - entitàC

(N) - entitàB

(N) - entitàA

(N) - strato

(N - 1) - strato

(N-1) - connessioni

(N - 1) - SAP

Connessioni

ARCHITETTURE DI PROTOCOLLI - 29

(N) - entitàC

(N) - entitàB

(N) - entitàA

(N) - strato

(N - 1) - strato

(N - 1) - SAP

connessionipunto - punto

connessionepunto - multipunto

Connessioni

ARCHITETTURE DI PROTOCOLLI - 30

(N) - entitàA

(N) - entitàB

(N) - entitàC

(N) - strato

(N - 1) - strato

(N - 1) - CEP

(N - 1) - SAP

Connessione

ARCHITETTURE DI PROTOCOLLI - 31

(N) - entitàA

(N) - entitàB

(N) - entitàC

(N) - strato

(N - 1) - strato

(N - 1) - CEP.id

(N - 1) - SAP (N - 1) - CEP

Connessioni

ARCHITETTURE DI PROTOCOLLI - 32

Accordo tra tre parti

(N + 1) - entità (N + 1) - entità

(N) - fornitore di servizio

Le tre parti

Accordo

ARCHITETTURE DI PROTOCOLLI - 33

Le Le due parti parti

(N + 1) - entità (N + 1) - entità

(N) - fornitore di servizio

(N + 1) - entità (N + 1) - entità

(N) - fornitore di servizio

Le due parti

Le due parti

Accordo

• Nel caso di trasferimento di informazioni senza connessione è sufficiente un accordo tra due parti

ARCHITETTURE DI PROTOCOLLI - 34

Le tre parti

(N + 1) - entità (N + 1) - entità

(N) - fornitore di servizio

(N + 1) - entità (N + 1) - entità

(N) - fornitore di servizio

Accordo

• Nel caso di trasferimento di informazioni con connessione è necessario un accordo tra le tre parti

ARCHITETTURE DI PROTOCOLLI - 35

(N+1) - strato

(N) - strato

(N) - SAP (N) - CEP

Connessioni

• multiplazione di (N) - connessioni su una (N-1)-connessione

ARCHITETTURE DI PROTOCOLLI - 36

(N) - strato

(N) - SAP

(N) - CEP

Connessioni

• suddivisione di una (N) - connessione su più (N - 1) - connessioni

ARCHITETTURE DI PROTOCOLLI - 37

(N) - livello

interfaccia

(N-1) - livello

(N - 1) - SDU

(N - 1) - PCI (N - 1) - SDU

(N - 1) - PDU

SAP

(N) - PDU

Creazione PDU

ARCHITETTURE DI PROTOCOLLI - 38

Creazione PDU

• Sulle unità dati esiste la possibilità di– segmentazione – concatenazione

• La segmentazione può avvenire sia costruendo più (N)-PDU da una (N)-SDU, sia generando più (N-1)-SDU da una (N)-PDU.

• Analogamente per la concatenazione.

ARCHITETTURE DI PROTOCOLLI - 39

Sistema A Sistema B Sistema C Sistema D

mezzi trasmissivi

percorso delle informazioni

Trasferimento informazioni

ARCHITETTURE DI PROTOCOLLI - 40

Applicazione

Presentazione

Sessione

Trasporto

Rete

Collegamento

Fisico

RicevitoreTrasmettitore

Applicazione

Presentazione

Sessione

Trasporto

Rete

Collegamento

Fisico

dati

APCI ASDU

PPCI PSDU

SPCI SSDU

TPCI TSDU

NPCI NSDU

DLPCI DLSDU

bit o simboli

Trasferimento informazioni

ARCHITETTURE DI PROTOCOLLI - 41

utente(N) - servizio

utente(N) - servizio

(N) - entità(N) - entità

(N) - SAP (N) - SAP

(N) - protocollo

RIC

HIE

ST

A

CO

NF

ER

MA

IND

ICA

ZIO

NE

RIS

PO

ST

A

(N + 1) - strato

(N) - strato

fornitore dell’ (N) - servizio

Primitive

ARCHITETTURE DI PROTOCOLLI - 42

Fornitore del servizio

Utentedel servizio

Utentedel servizio

Primitiva di richiesta

Primitiva di conferma

Primitivadi indicazione

Primitivadi risposta

Servizio confermato

Uso di primitive

ARCHITETTURE DI PROTOCOLLI - 43

Fornitore del servizio

Utentedel servizio

Utentedel servizio

Servizio non confermato

Primitiva di richiesta Primitiva

di indicazione

Uso di primitive

ARCHITETTURE DI PROTOCOLLI - 44

Fornitore del servizio

Utentedel servizio

Utentedel servizio

Servizio iniziato dal fornitore

Primitivadi indicazione

Primitivadi indicazione

Uso di primitive

ARCHITETTURE DI PROTOCOLLI - 45

Apertura di connessione

(N) - fornitore di servizio

(N + 1) - entità (N + 1) - entità

(N) - CONNECT

(N) - CONNECT

(N) - CONNECTREQUEST

CONFIRM

INDICATION

RESPONSE

(N) - SAP (N) - SAP

(N) - CONNECT

Uso di primitive

ARCHITETTURE DI PROTOCOLLI - 46

Trasferimento dati

(N) - fornitore di servizio

(N + 1) - entità (N + 1) - entità

(N) - DATA

(N) - DATAREQUEST

INDICATION

(N) - SAP (N) - SAP

Uso di primitive

ARCHITETTURE DI PROTOCOLLI - 47

Chiusura di connessione iniziata dall’utente

(N) - fornitore di servizio

(N + 1) - entità (N + 1) - entità

(N) - DISCONNECT

(N) - DISCONNECTREQUEST

INDICATION

(N) - SAP (N) - SAP

Uso di primitive

ARCHITETTURE DI PROTOCOLLI - 48

applicazione

presentazione

sessione

trasporto

rete

collegamento

fisico

mezzi trasmissivi

Protocollo di applicazione

Protocollo di presentazione

Protocollo di sessione

Protocollo di trasporto

Protocollo di rete

Protocollo di collegamento

Protocollo di strato fisico

applicazione

presentazione

sessione

trasporto

rete

collegamento

fisico

Setti strati OSI

ARCHITETTURE DI PROTOCOLLI - 49

Applicazione

Presentazione

Sessione

Trasporto

Rete

Collegamento

Fisico

Applicazione

Presentazione

Sessione

Trasporto

Rete

Collegamento

Fisico

• sistemi terminalisistemi terminali• sistemi di rilegamento (relay)sistemi di rilegamento (relay)

SISTEMA A RELAY SYSTEM SISTEMA B

Rete

Colleg.

Fisico

mezzi trasmissivi

Sistemi

ARCHITETTURE DI PROTOCOLLI - 50

strati ditrasferimento

strati ditrasferimento

strati diutilizzazione

apparecchioterminale

nodo diaccesso

nodo ditransito

sezione di accesso sezione di rete interna

protocolli di utilizzazione

strati ditrasferimento

protocolli di accesso

protocolli di rete

Reti pubbliche

ARCHITETTURE DI PROTOCOLLI - 51

Strato 1: fisico

• Physical layer:– fornisce i mezzi meccanici, fisici, funzionali e

procedurali per attivare, mantenere e disattivare le connessioni fisiche

– ha il compito di effettuare il trasferimento delle cifre binarie scambiate dalle entità di livello di collegamento

– le unità dati sono bit o simboli– definizione di codifiche di linea, connettori, livelli

di tensione

ARCHITETTURE DI PROTOCOLLI - 52

Strato 2: collegamento

• Data link layer– fornisce i mezzi funzionali e procedurali per il

trasferimento delle unità dati tra entità di livello rete e per fronteggiare malfunzionamenti del livello fisico

– funzioni fondamentali:• rivelazione e recupero degli errori di trasmissione• controllo di flusso• delimitazione delle unità dati

ARCHITETTURE DI PROTOCOLLI - 53

Strato 3: rete

• Network layer– fornisce i mezzi per instaurare, mantenere e

abbattere le connessioni di rete tra entità di livello trasporto

– fornisce i mezzi funzionali e procedurali per lo scambio di informazioni tra entità di livello trasporto

– funzioni fondamentali:• instradamento• controllo di flusso e congestione• tariffazione

ARCHITETTURE DI PROTOCOLLI - 54

Strato 4: trasporto

• Transport layer– fornisce alle entità di livello sessione le

connessioni di livello trasporto– colma le deficienze della qualità di servizio delle

connessioni di livello rete– ottimizza l’uso del servizio di livello rete– funzioni fondamentali:

• controllo d’errore • controllo di sequenza• controllo di flusso

ARCHITETTURE DI PROTOCOLLI - 55

Strato 4: trasporto

– è il livello più basso con significato da estremo a estremo

– esegue la multiplazione e la suddivisione di connessioni

– permette la frammentazione di messaggi in pacchetti e la loro ricomposizione

ARCHITETTURE DI PROTOCOLLI - 56

Strato 5: sessione

• Session layer– assicura alle entità di presentazione una

connessione di sessione– organizza il colloquio tra le entità di

presentazione– struttura e sincronizza lo scambio di dati in modo

da poterlo sospendere, riprendere e terminare ordinatamente

– maschera le interruzioni del servizio trasporto

ARCHITETTURE DI PROTOCOLLI - 57

Strato 6: presentazione

• Presentation layer– risolve i problemi di compatibilità per quanto

riguarda la rappresentazione dei dati da trasferire

– risolve i problemi relativi alla trasformazione della sintassi dei dati

– può fornire servizi di cifratura delle informazioni

ARCHITETTURE DI PROTOCOLLI - 58

Strato 7: applicazione

• Application layer– fornisce ai processi applicativi i mezzi per

accedere all’ambiente OSI

• Esempi di servizio– trasferimento di file - FTAM– terminale virtuale - VT– posta elettronica - X.400

ARCHITETTURE DI PROTOCOLLI - 59

U 1 N 1 U 2

Esempio

• Rete semplicissima

ARCHITETTURE DI PROTOCOLLI - 60

Esempio

• Supponiamo che una (4)-entità debba comunicare con una (4)-entità remota e seguiamo passo - passo– primitive– SDU– PDU

ARCHITETTURE DI PROTOCOLLI - 61

• servizio di livello 3 con connessione• servizio di livello 2 senza connessione• servizio di livello 1 senza connessione

U 1U 1 N 1N 1 U 2U 2

Esempio

ARCHITETTURE DI PROTOCOLLI - 62

A

B

C

H

I

J

X X’

D

E

F

G

Esempio

Z

ARCHITETTURE DI PROTOCOLLI - 63

A

B

C

H

I

J

X X’

D

E

F

G

A,HX,X’

Esempio

Z

Direttorio

ARCHITETTURE DI PROTOCOLLI - 64

A

B

C

H

I

J

X X’

D

E

F

G

N-CONNECT.request (H,A,...)

Esempio

Z

ARCHITETTURE DI PROTOCOLLI - 65

AA

BB

CC

HH

II

JJ

XX X’X’

DD

EE

FF

GG

N-PDU (H,A,VCid’,call request,...)

Esempio

Z

ARCHITETTURE DI PROTOCOLLI - 66

A

B

C

H

I

J

X X’

D

E

F

G

A,ZA,H

Esempio

Z

Instradamento

ARCHITETTURE DI PROTOCOLLI - 67

A

B

C

H

I

J

X X’

D

E

F

G

B,DA,Z

Esempio

Z

Mapping

ARCHITETTURE DI PROTOCOLLI - 68

A

B

C

H

I

J

X X’

D

E

F

G

DL-DATA.request (D,B,DL-SDU,...)

Esempio

Z

ARCHITETTURE DI PROTOCOLLI - 69

A

B

C

H

I

J

X X’

D

E

F

G

DL-PDU (D,B,DL-SDU,DL-PCI)

Esempio

Z

ARCHITETTURE DI PROTOCOLLI - 70

A

B

C

H

I

J

X X’

D

E

F

G

C,EB,D

Esempio

Z

Mapping

ARCHITETTURE DI PROTOCOLLI - 71

A

B

C

H

I

J

X X’

D

E

F

G

PH-DATA.request (E,C,simbolo)

Esempio

Z

ARCHITETTURE DI PROTOCOLLI - 72

A

B

C

H

I

J

X X’

D

E

F

G

01100111

Esempio

Z

ARCHITETTURE DI PROTOCOLLI - 73

A

B

C

H

I

J

X X’

D

E

F

G

PH-DATA.indication (E,C,simbolo)

Esempio

Z

ARCHITETTURE DI PROTOCOLLI - 74

A

B

C

H

I

J

X X’

D

E

F

G

DL-PDU (D,B,DL-SDU,DL-PCI)

Esempio

Z

ARCHITETTURE DI PROTOCOLLI - 75

A

B

C

H

I

J

X X’

D

E

F

G

DL-DATA.indication (D,B,DL-SDU,...)

Esempio

Z

ARCHITETTURE DI PROTOCOLLI - 76

N-PDU (H,A,VCid’,call request,...)

A

B

C

H

I

J

X X’

D

E

F

G

Esempio

Z

ARCHITETTURE DI PROTOCOLLI - 77

A

B

C

H

I

J

X X’

D

E

F

G

Z,HA,H

Esempio

Z

Instradamento

ARCHITETTURE DI PROTOCOLLI - 78

A

B

C

H

I

J

X X’

D

E

F

G

F,IZ,H

Esempio

Z

Mapping

ARCHITETTURE DI PROTOCOLLI - 79

A

B

C

H

I

J

X X’

D

E

F

G

N-PDU (H,A,VCid’’,incoming call,...)

Esempio

Z

ARCHITETTURE DI PROTOCOLLI - 80

A

B

C

H

I

J

X X’

D

E

F

G

DL-DATA.request (I,F,DL-SDU,...)

Esempio

Z

ARCHITETTURE DI PROTOCOLLI - 81

A

B

C

H

I

J

X X’

D

E

F

G

DL-PDU (I,F,DL-SDU,DL-PCI)

Esempio

Z

ARCHITETTURE DI PROTOCOLLI - 82

A

B

C

H

I

J

X X’

D

E

F

G

G,JF,I

Esempio

Z

Mapping

ARCHITETTURE DI PROTOCOLLI - 83

A

B

C

H

I

J

X X’

D

E

F

G

PH-DATA.request (J,G,simbolo)

Esempio

Z

ARCHITETTURE DI PROTOCOLLI - 84

A

B

C

H

I

J

X X’

D

E

F

G

01100111

Esempio

Z

ARCHITETTURE DI PROTOCOLLI - 85

A

B

C

H

I

J

X X’

D

E

F

G

PH-DATA.indication (J,G,simbolo)

Esempio

Z

ARCHITETTURE DI PROTOCOLLI - 86

A

B

C

H

I

J

X X’

D

E

F

G

DL-PDU (I,F,DL-SDU,DL-PCI)

Esempio

Z

ARCHITETTURE DI PROTOCOLLI - 87

A

B

C

H

I

J

X X’

D

E

F

G

DL-DATA.indication (I,F,DL-SDU,...)

Esempio

Z

ARCHITETTURE DI PROTOCOLLI - 88

A

B

C

H

I

J

X X’

D

E

F

G

N-PDU (H,A,VCid’’,incoming call,...)

Esempio

Z

ARCHITETTURE DI PROTOCOLLI - 89

A

B

C

H

I

J

X X’

D

E

F

G

N-CONNECT.indication (H,A,CEP.id’,...)

Esempio

Z

ARCHITETTURE DI PROTOCOLLI - 90

A

B

C

H

I

J

X X’

D

E

F

G

N-CONNECT.response (CEP.id’,...)

Esempio

Z

ARCHITETTURE DI PROTOCOLLI - 91

A

B

C

H

I

J

X X’

D

E

F

G

N-PDU (A,H,VCid’’,call accepted,...)

Esempio

Z

ARCHITETTURE DI PROTOCOLLI - 92

A

B

C

H

I

J

X X’

D

E

F

G

N-PDU (A,H,VCid’’,call accepted,...)

Esempio

Z

ARCHITETTURE DI PROTOCOLLI - 93

A

B

C

H

I

J

X X’

D

E

F

G

N-PDU (A,H,VCid’,call connected,...)

Esempio

Z

ARCHITETTURE DI PROTOCOLLI - 94

A

B

C

H

I

J

X X’

D

E

F

G

N-PDU (A,H,VCid’,call connected,...)

Esempio

Z

ARCHITETTURE DI PROTOCOLLI - 95

A

B

C

H

I

J

X X’

D

E

F

G

N-CONNECT.confirm (A,H,CEP.id’’,...)

Esempio

Z

ARCHITETTURE DI PROTOCOLLI - 96

A

B

C

H

I

J

X X’

D

E

F

G

T-PDU (T-PCI,T-SDU)

Esempio

Z

ARCHITETTURE DI PROTOCOLLI - 97

A

B

C

H

I

J

X X’

D

E

F

G

N-DATA.request (CEP.id’’,N-SDU,...)

Esempio

Z

ARCHITETTURE DI PROTOCOLLI - 98

A

B

C

H

I

J

X X’

D

E

F

G

N-DATA.indication (CEP.id’,N-SDU,...)

Esempio

Z

ARCHITETTURE DI PROTOCOLLI - 99

A

B

C

H

I

J

X X’

D

E

F

G

T-PDU (T-PCI,T-SDU)

Esempio

Z

ARCHITETTURE DI PROTOCOLLI - 100

A

B

C

H

I

J

X X’

D

E

F

G

N-DISCONNECT.request (CEP.id’)

Esempio

Z

ARCHITETTURE DI PROTOCOLLI - 101

A

B

C

H

I

J

X X’

D

E

F

G

N-DISCONNECT.indication (CEP.id’’)

Esempio

Z