• Non ci sono risultati.

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

N/A
N/A
Protected

Academic year: 2022

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

Copied!
25
0
0

Testo completo

(1)

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

(2)

STRATIFICAZIONE DEL PROTOCOLLO TCP/IP

IP

UDP TELNET

HTTP FTP

TCP

NFS DNS SNMP

network layer transport layer

RPC

(3)

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

(4)

Strato n Strato n -1

Strato n

Strato n -1

network

PROTOCOLLI

La progettazione di un protocollo di comunicazione segue un approccio basato su una architettura a strati

Ogni 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)

(5)

PROTOCOLLI DI RETE

Protocol PDU

name

Max PDU size

Overhead Max data area

TCP Segment 65535 20 65515

UDP Datagram Ltd by IP 8 Ltd by IP

IPv4 Datagram 65535 20 65515

IPv6 Datagram 65535 40 65495

ATM Cell 53 5 48

Ethernet Frame 1518 18 1500

Ieee 802.3 Frame 1518 21 1497

Ieee 802.5 TR Frame 4472 28 4444

FDDI Frame 4500 28 4472

(6)

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

(7)

IP

• IP specifica il formato dei pacchetti spediti in internet

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

(8)

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.

(9)

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.

(10)

Tempi di Servizio

Service Time of a message

Time to transmit the message over the network

=

=

# of bytes (including protocol

header -trailer, and fragmentation if there is) bandwidth

=

(11)

Esempio SENZA frammentazione

Messaggio di 300 byte inviato da un Client a un Server

TCP IP Network layer

client

TCP IP Network layer

Server

ethernet

T.R.

FDDI

300 300 20

300 20 20

300 20 20 18

300 20 20 28

300 20 20 28

300 300 20

300 20 20

router1 router2

(12)

Tempi di Servizio delle Lan

4404 20

20 28 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.

300 20 20 28

Messaggio di 300 byte inviato da un Client a un Server

(13)

Esempio CON frammentazione

TCP IP Network layer

client

TCP IP Network layer

Server

ethernet

T.R.

FDDI

10000 4404

20 4424 1172

4404 20

20

4424 20

1172 20

4404 20

20

4424 20

1172 20

28 28 28

4404 20

20

4424 20

1172 20

28 28 28

28 28

- +

TR FDDI

28 + 28

-

28 + 28

-

4404 20

20

4424 20

1172 20

28 28 28

- 28 FDDI

- 28

- 28

= 4424

= 4424

= 1192

1480 20

18

1480 20

18

data IP ET

data ET

Il Server invia una risposta di 10.000 byte al Client

Ipotesi di livello TCP che ignora la MTU della rete locale

20 20

(14)

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

4404 20

20 20 4424 20 1172

28 + 28 + 28

Service Time =

16.000.000

(4472+4472+1220) x 8

= 0.005082 sec.

( ) x 8

(15)

Esempio CON frammentazione

TCP IP Network layer

client

TCP IP Network layer

Server

ethernet

T.R.

FDDI

10000 4404

20 4404 1192

4404 20

20

4404 20

1192 20

4404 20

20

4404 20

1192 20

28 28 28

4404 20

20

4404 20

1192 20

28 28 28

28 28

- +

TR FDDI

28 + 28

-

28 + 28

-

4404 20

20

4404 20

1192 20

28 28 28

- 28 FDDI

- 28

- 28

= 4424

= 4424

= 1232

1460 20

18

1480 20

18

data IP

ET

data ET

Il Server invia una risposta di 10.000 byte al Client

Ipotesi di livello TCP che conosce la MTU della rete locale

20 20

20 20

20 20

20 20

20 20 20

20 20

TCP

(16)

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

4404 20

20 20 4404 20 1192

28 + 28 + 28

Service Time =

16.000.000

(4472+4472+1260) x 8

= 0.005102 sec.

( 20 20 ) x 8

(17)

Tempo medio di servizio

Calcolo nel caso senza frammentazione

Indichiamo con:

MTUn: MTU in byte della rete n

XOvhd: overhead in byte del protocollo X

FrameOvhdn: overhead in byte del frame nella rete n

Overheadn: overhead totale (TCP+IP+frame) in byte nella rete n Bandwidthn: bandwidth in Mbps della rete n

Ndatagrams: numero di datagramma IP necessari

Nsegments: numero di segmenti TCP necessari (< o = di Ndatagrams) N: numero di reti

(18)

Tempo medio di servizio

caso senza frammentazione

NDatagrams =

MessageSize + NSegments x TCPOvhd

minn MTUn - IPOvhd

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

NSegments = MessageSize 65495

NSegments = NDatagrams

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

(stima approssimata)

(19)

Esercizio - testo

FDDI T.R.

100 Mbps

MTU: 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

Ethernet 10 Mbps

MTU: 1518 bytes

Token RingI 16 Mbps

MTU: 4444 bytes

(20)

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

(21)

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

(22)

Calcolo tempi di servizio

(23)

Router di rete

Router queues

(24)

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

(25)

Esercizio

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

 Service time: 2.5 sec (=1/400,000)

 Service demand al router

FDDI T.R.

100 Mbps

MTU: 4472 bytes

router1 router2

Client DB server

Ethernet 10 Mbps

MTU: 1518 bytes

Token RingI 16 Mbps

MTU: 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

Riferimenti

Documenti correlati

• I livelli data link e fisico del modello OSI sono uniti in un unico “livello” network access, che non è un vero livello (secondo la definizione ISO-OSI) perché non ha una

L’acquisizione dei dati dall’oscilloscopio avviene tramite l’interfaccia hardware GPIB, mentre il software per l’elaborazione è stato realizzato con il linguaggio di

n quando viene creata una connessione, la finestra di congestione è uguale alla dimensione del massimo segmento che può essere inviato sulla connessione. n se questo è

We’ll do so by analyzing a trace of the TCP segments sent and received in transferring a 150KB file (containing the text of Lewis Carrol’s Alice’s Adventures in Wonderland) from

Numero di porta del destinatario nel segmento inviato dal client al server corrisponde al numero di porta del servizio richiesto (ad es. 80 per HTTP). Numero di porta del mittente

Il router preleva allora la porzione dati del datagram IP e lo spezza in più porzioni, in modo che ciascuna (aggiungendovi l’header) stia in un frame, e in modo che ogni frammento

Il protocollo ICMP può svolgere le seguenti funzioni: ü · fornire messaggi di echo e di risposta per verificare l’attendibilità di una connessione tra due host, ü

„ Il campo “window” del pacchetto TCP indica quanti byte possono ancora essere trasmessi prima di un ACK. TCP: Timeout