25
Prof. Bruno Ciciani Facoltà di Ingegneria Università di Roma La Sapienza Determinazione del tempo di servizio (trasferimento) di un messaggio trasmesso su LAN tramite protocollo TCP Tempi di Servizio nei Router di rete

Prof. Bruno Ciciani Facoltà di Ingegneria Università di Roma La Sapienza Determinazione del tempo di servizio (trasferimento) di un messaggio trasmesso

Embed Size (px)

Citation preview

Page 1: Prof. Bruno Ciciani Facoltà di Ingegneria Università di Roma La Sapienza Determinazione del tempo di servizio (trasferimento) di un messaggio trasmesso

Prof. Bruno Ciciani

Facoltà di Ingegneria

Università di Roma La Sapienza

Determinazione del tempo di servizio (trasferimento) di un messaggio trasmesso su LAN tramite protocollo TCP

Tempi di Servizio nei Router di rete

Page 2: Prof. Bruno Ciciani Facoltà di Ingegneria Università di Roma La Sapienza Determinazione del tempo di servizio (trasferimento) di un messaggio trasmesso

STRATIFICAZIONE DEL PROTOCOLLO TCP/IP

IP

UDP

TELNETHTTP FTP

TCP

NFS DNS SNMP

data link layer

network layer

transport layer

RPC

Page 3: Prof. Bruno Ciciani Facoltà di Ingegneria Università di Roma La Sapienza Determinazione del tempo di servizio (trasferimento) di un messaggio trasmesso

INOLTRO DATAGRAMMA IP

Il router mantiene una tabella di routing, usata per cercare il prossimo router o l’host cui inoltrare il datagramma

Host A Host B

TCP

IP

Network layer

TCP

IP

Network layer

IP

Data layer

router

Page 4: Prof. Bruno Ciciani Facoltà di Ingegneria Università di Roma La Sapienza Determinazione del tempo di servizio (trasferimento) di un messaggio trasmesso

Strato n

Strato n -1

Strato n

Strato n -1

network

PROTOCOLLILa progettazione di un protocollo di comunicazione segue un approccio basato su una architettura a stratiOgni entità dello stato n comunica solo , scambiando PDU, con le entità remote di strato n,usa i servizi forniti dallo strato n -1 e fornisce servizi allo strato n+1.

Al momento del trasferimento dei dati ogni strato aggiunge una intestazione (header)

Dati strato nheader strato n

Dati strato n -1

header strato n -1

Page 5: Prof. Bruno Ciciani Facoltà di Ingegneria Università di Roma La Sapienza Determinazione del tempo di servizio (trasferimento) di un messaggio trasmesso

PROTOCOLLI DI RETE

Protocol PDUname

Max PDUsize

Overhead Max dataarea

TCP Segment 65535 20 65515UDP Datagram Ltd by IP 8 Ltd by IPIPv4 Datagram 65535 20 65515IPv6 Datagram 65535 40 65495ATM Cell 53 5 48Ethernet Frame 1518 18 1500Ieee 802.3 Frame 1518 21 1497Ieee 802.5 TR Frame 4472 28 4444FDDI Frame 4500 28 4472

Page 6: Prof. Bruno Ciciani Facoltà di Ingegneria Università di Roma La Sapienza Determinazione del tempo di servizio (trasferimento) di un messaggio trasmesso

TCP• TCP fornisce un servizio orientato alla

connessione, affidabile, con controllo di flusso, di tipo end-to-end e garantisce la consegna dei dati nell’ordine di spedizione, senza perdite.

• TCP implementa un meccanismo affidabile di connessione detto Three way handshake

• 3 segmenti sono necessari per stabilire una connessione

• 4 segmenti sono necessari per terminarla in entrambe le direzioni

Host A Host B

syn

syn

ack

data

data

fin

ack

data

fin

ack

Page 7: Prof. Bruno Ciciani Facoltà di Ingegneria Università di Roma La Sapienza Determinazione del tempo di servizio (trasferimento) di un messaggio trasmesso

IP

• IP specifica il formato dei pacchetti spediti in internet

• Il servizio è inaffidabile, non è di tipo end to end, i datagramma possono essere persi

Page 8: Prof. Bruno Ciciani Facoltà di Ingegneria Università di Roma La Sapienza Determinazione del tempo di servizio (trasferimento) di un messaggio trasmesso

FRAMMENTAZIONE

• Le entità di ciascuno strato comunicano con le altre attraverso lo scambio di PDU composte da un preambolo (header) ed un’area dati

• Le PDU hanno una dimensione massima per l’area dati (chiamata, per lo strato di rete, MTU)

• Essendo diverse le lunghezze degli MTU per i diversi protocolli, il router deve essere in grado di frammentare i datagramma, che verranno riassemblati a livello IP dall’host di destinazione.

Page 9: Prof. Bruno Ciciani Facoltà di Ingegneria Università di Roma La Sapienza Determinazione del tempo di servizio (trasferimento) di un messaggio trasmesso

Svantaggi della frammentazione

• Il router deve poter dividere il PDU

• il nodo destinazione deve riassemblare i frammenti

• RACCOMANDAZIONE:

IP standard raccomanda di frammentare dal nodo sorgente, in previsione del percorso da effettuare.

Page 10: Prof. Bruno Ciciani Facoltà di Ingegneria Università di Roma La Sapienza Determinazione del tempo di servizio (trasferimento) di un messaggio trasmesso

Tempi di Servizio

Service Time of a message

Time to transmit the messageover the network

=

=

# of bytes (including protocolheader -trailer, and fragmentation if there is)

bandwidth

=

Page 11: Prof. Bruno Ciciani Facoltà di Ingegneria Università di Roma La Sapienza Determinazione del tempo di servizio (trasferimento) di un messaggio trasmesso

Esempio SENZA frammentazioneMessaggio di 300 byte inviato da un Client a un Server

TCP

IP

Network layer

client

TCP

IP

Network layer

Server

ethernetT.R.

FDDI

300

30020

3002020

300202018

300202028

300202028

300

30020

3002020

router1 router2

Page 12: Prof. Bruno Ciciani Facoltà di Ingegneria Università di Roma La Sapienza Determinazione del tempo di servizio (trasferimento) di un messaggio trasmesso

Tempi di Servizio delle Lan

4404202028

Service Time Eth =10.000.000

= =358 x 8

10.000.000

0.000286 sec.

Service Time FDDI =100.000.000

= =368 x 8

100.000.000

0.00002944 sec.

Service Time TR =16.000.000

= =368 x 8

16.000.000

0.000184 sec.

300202028

300202028

Messaggio di 300 byte inviato da un Client a un Server

Page 13: Prof. Bruno Ciciani Facoltà di Ingegneria Università di Roma La Sapienza Determinazione del tempo di servizio (trasferimento) di un messaggio trasmesso

Esempio CON frammentazione

TCP

IP

Network layer

client

TCP

IP

Network layer

Server

ethernetT.R.

FDDI

10000

440420 4424 1172

44042020

442420

117220

44042020

442420

117220

28

28

28

44042020

442420

117220

28

28

28

28 28- +

TR FDDI

28 28+-28 28+-

44042020

442420

117220

28

28

28

28-FDDI

28-28-

= 4424

4424=

= 119214802018

14802018

14642018

dataIPET

119218

dataET

Il Server invia una risposta di 10.000 byte al ClientIpotesi di livello TCP che ignora la MTU della rete locale

20

20

Page 14: Prof. Bruno Ciciani Facoltà di Ingegneria Università di Roma La Sapienza Determinazione del tempo di servizio (trasferimento) di un messaggio trasmesso

Tempi di Servizio delle Lan

Service Time =16.000.000

Il Server invia una risposta di 10.000 byte al Client(Ipotesi di livello TCP che ignora la MTU della rete locale)

Caso della rete Token Ring

44042020 442420 11722028 28 28+ +

Service Time =16.000.000

(4472+4472+1220) x 8

= 0.005082 sec.

( ) x 8

Page 15: Prof. Bruno Ciciani Facoltà di Ingegneria Università di Roma La Sapienza Determinazione del tempo di servizio (trasferimento) di un messaggio trasmesso

Esempio CON frammentazione

TCP

IP

Network layer

client

TCP

IP

Network layer

Server

ethernetT.R.

FDDI

10000

440420 4404 1192

44042020

440420

119220

44042020

440420

119220

28

28

28

44042020

440420

119220

28

28

28

28 28- +

TR FDDI

28 28+-28 28+-

44042020

440420

119220

28

28

28

28-FDDI

28-28-

= 4424

4424=

= 123214602018

14802018

14642018

dataIPET

123218

dataET

Il Server invia una risposta di 10.000 byte al ClientIpotesi di livello TCP che conosce la MTU della rete locale

20

20

20

20

20 20

20

20

20

20

20

2020

TCP

Page 16: Prof. Bruno Ciciani Facoltà di Ingegneria Università di Roma La Sapienza Determinazione del tempo di servizio (trasferimento) di un messaggio trasmesso

Tempi di Servizio delle Lan

Service Time =16.000.000

Il Server invia una risposta di 10.000 byte al Client(Ipotesi di livello TCP che conosce la MTU della rete locale)

Caso della rete Token Ring

44042020 440420 11922028 28 28+ +

Service Time =16.000.000

(4472+4472+1260) x 8

= 0.005102 sec.

( ) x 820 20

0.005082 sec.

0.005102 sec.20 sec di differenza

Page 17: Prof. Bruno Ciciani Facoltà di Ingegneria Università di Roma La Sapienza Determinazione del tempo di servizio (trasferimento) di un messaggio trasmesso

Tempo medio di servizioCalcolo nel caso senza frammentazione

Indichiamo con:

MTUn: MTU in byte della rete nXOvhd: overhead in byte del protocollo XFrameOvhdn: overhead in byte del frame nella rete nOverheadn: overhead totale (TCP+IP+frame) in byte nella rete nBandwidthn: bandwidth in Mbps della rete nNdatagrams: numero di datagramma IP necessariNsegments: numero di segmenti TCP necessari (< o = di Ndatagrams)N: numero di reti

Page 18: Prof. Bruno Ciciani Facoltà di Ingegneria Università di Roma La Sapienza Determinazione del tempo di servizio (trasferimento) di un messaggio trasmesso

Tempo medio di serviziocaso senza frammentazione

NDatagrams =

ServiceTimen =

MessageSize + NSegments x TCPOvhd

minn MTUn - IPOvhd

Overheadn = NSegments x TCPOvhd + Ndatagrams x (IPOvhd + FrameOvhdn)

8 x (MessageSize + Overheadn )

106 x Bandwidth

NSegments =MessageSize

65495

NSegments = NDatagrams

TCP conosce la MTU della rete localeTCP ignora la MTU della rete locale

(stima approssimata)

Page 19: Prof. Bruno Ciciani Facoltà di Ingegneria Università di Roma La Sapienza Determinazione del tempo di servizio (trasferimento) di un messaggio trasmesso

Esercizio - testo

T.R.FDDI100 MbpsMTU: 4472 bytes

• Il client effettua delle richieste al server al ritmo di 3 transazioni al minuto (0.05 tps), con una lunghezza media dei messaggi di 400 byte. L’80% delle risposte sono lunghe 8092 byte e il 20% 100.000 byte. Assumendo che non c’è frammentazione e che il livello TCP non conosce la MTU della rete, calcolare il tempo medio di servizio delle richieste e delle risposte per ciascuna delle tre reti.

router1 router2

Client DB server

Ethernet10 MbpsMTU: 1518 bytes

Token RingI16 MbpsMTU: 4444 bytes

Page 20: Prof. Bruno Ciciani Facoltà di Ingegneria Università di Roma La Sapienza Determinazione del tempo di servizio (trasferimento) di un messaggio trasmesso

Esercizio - soluzione

• Usando la NDatagrams =MessageSize + Nsegment x TCPOvhd

minn MTUn - IPOvhd

Possiamo calcolare il numero dei datagramma necessari nei tre casi (richiesta, risposta breve e risposta lunga):

(400+20)/(1500-20) = 1 per la richiesta

(8092+20)/(1500-20) = 6 per la risposta breve

(100000+40)/(1500-20) = 68 per la risposta lunga

Page 21: Prof. Bruno Ciciani Facoltà di Ingegneria Università di Roma La Sapienza Determinazione del tempo di servizio (trasferimento) di un messaggio trasmesso

Esercizio - soluzione

• Usando la

Possiamo calcolare l’overhead per le reti (solo caso della ethernet) OverheadEth = 20 + 1 (20 + 18) = 58 per la richiesta

OverheadEth = 20 + 6 (20 + 18) = 248 per la risposta breve

OverheadEth = 20 + 68 (20 + 18) = 2604 per l arisposta lunga

Overheadn = TCPOvhd+Ndatagrams x (IPOvhd + FrameOvhdn)

• Usando la

Possiamo calcolare il Service Time (solo caso della ethernet) OverheadEth = 8 x (400 + 58) / 10.000.000 = 0.366 msec per la richiesta

OverheadEth = 8 x (8092 + 248) / 10.000.000 = 6.67 msec per la risposta breve

OverheadEth = 8 x (100.000 + 2604) / 10.000.000 = 82.1 msec per l arisposta lunga

ServiceTimen =8 x (MessageSize + Overheadn )

106 x Bandwidth

Page 22: Prof. Bruno Ciciani Facoltà di Ingegneria Università di Roma La Sapienza Determinazione del tempo di servizio (trasferimento) di un messaggio trasmesso

Calcolo tempi di servizio

Request Short reply Long reply

Ndatagrams 1 6 68 Overhead (byte) 58 248 2604

Eth

ServiceTime(msec) 0.366 6.67 82.1 Ndatagrams 1 6 68

Overhead (byte) 68 308 3284 FDDI

ServiceTime(msec) 0.0374 0.672 8.26 Ndatagrams 1 6 68

Overhead (byte) 68 08 3284 TR

ServiceTime(msec) 0.234 4.2 51.6

Router Latency (134 usec/packet) 134 804 9.112

Page 23: Prof. Bruno Ciciani Facoltà di Ingegneria Università di Roma La Sapienza Determinazione del tempo di servizio (trasferimento) di un messaggio trasmesso

Router di rete

Router queues

Page 24: Prof. Bruno Ciciani Facoltà di Ingegneria Università di Roma La Sapienza Determinazione del tempo di servizio (trasferimento) di un messaggio trasmesso

Tempi di Servizio nei Router di rete

Router latency (sec per packet): tempo impiegato dal router per processare un datagramma, fornito dal costruttore.

RouterServiceTime: Ndatagrams * RouterLatency

In cui

NDatagrams =MessageSize + TCPOvhd

minn MTUn - IPOvhd

Page 25: Prof. Bruno Ciciani Facoltà di Ingegneria Università di Roma La Sapienza Determinazione del tempo di servizio (trasferimento) di un messaggio trasmesso

Esercizio

• I router 1 e 2 processano 400,000 pacchetti/sec

Service time: 2.5 sec (=1/400,000) Service demand al router

T.R.FDDI100 MbpsMTU: 4472 bytesrouter1 router2

Client DB server

Ethernet10 MbpsMTU: 1518 bytes

Token RingI16 MbpsMTU: 4444 bytes

Client Request Short Reply Long Request

1 x 2.5 = 2.5 sec 6 x 2.5 = 15 sec 68 x 2.5 = 170 sec