250 likes | 389 Views
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. STRATIFICAZIONE DEL PROTOCOLLO TCP/IP. NFS. HTTP. FTP. TELNET. DNS.
E N D
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
STRATIFICAZIONE DEL PROTOCOLLO TCP/IP NFS HTTP FTP TELNET DNS SNMP RPC transport layer TCP UDP network layer IP data link layer
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 TCP IP IP IP Network layer Network layer Data layer router
Strato n Strato n Strato n -1 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) Dati strato n -1 header strato n -1 header strato n Dati strato n
TCP Host B Host A syn syn • 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 ack data data fin ack data fin ack
IP • IP specifica il formato dei pacchetti spediti in internet • Il servizio è inaffidabile, non è di tipo end to end, i datagramma possono essere persi
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.
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.
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
Esempio SENZA frammentazione Messaggio di 300 byte inviato da un Client a un Server 300 client Server 300 TCP TCP 20 300 20 300 IP IP 20 20 300 20 20 300 Network layer Network layer T.R. 28 20 20 300 18 20 20 300 ethernet FDDI router2 router1 28 20 20 300
Tempi di Servizio delle Lan Messaggio di 300 byte inviato da un Client a un Server 28 20 20 4404 358 x 8 = = 0.000286 sec. Service Time Eth = 10.000.000 10.000.000 368 x 8 0.00002944 sec. 28 20 20 300 = = Service Time FDDI = 100.000.000 100.000.000 368 x 8 28 20 20 300 = = 0.000184 sec. Service Time TR = 16.000.000 16.000.000
Esempio CON frammentazione Il Server invia una risposta di 10.000 byte al Client Ipotesi di livello TCP che ignora la MTU della rete locale client Server 10000 TCP TCP 20 4404 4424 1172 IP IP 20 20 4404 20 4424 Network layer Network layer 20 1172 28 20 20 4404 T.R. 28 20 4424 ethernet 28 20 1172 FDDI FDDI - 28 20 20 4404 28 = 20 4424 - = FDDI TR 28 20 4424 28 20 4424 - ET IP data - = + 28 20 1172 28 1192 28 20 20 4404 28 28 18 20 1480 - + 28 20 4424 28 28 ET data 18 20 1480 - + 28 20 1172 28 28 18 1192 18 20 1464
Tempi di Servizio delle Lan 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 ( ) x 8 28 20 20 4404 + 28 20 4424 + 28 20 1172 Service Time = 16.000.000 (4472+4472+1220) x 8 Service Time = = 0.005082 sec. 16.000.000
Esempio CON frammentazione Il Server invia una risposta di 10.000 byte al Client Ipotesi di livello TCP che conosce la MTU della rete locale client Server 10000 TCP TCP 20 4404 20 4404 20 1192 IP IP 20 20 4404 20 20 4404 Network layer Network layer 20 20 1192 28 20 20 4404 T.R. 28 20 20 4404 ethernet 28 20 20 1192 FDDI FDDI - 28 20 20 4404 28 = 20 4424 - = FDDI TR 28 20 20 4404 28 20 4424 - ET IP TCP data - = + 28 20 20 1192 28 1232 28 20 20 4404 28 28 18 20 20 1460 - + 28 20 20 4404 28 28 ET data 18 20 1480 - + 28 20 20 1192 28 28 18 1232 18 20 1464
Tempi di Servizio delle Lan 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 ( ) x 8 28 20 20 4404 + 28 20 20 4404 + 28 20 20 1192 Service Time = 16.000.000 (4472+4472+1260) x 8 Service Time = = 0.005102 sec. 16.000.000 0.005102 sec. 20 msec di differenza 0.005082 sec.
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
Tempo medio di servizio caso senza frammentazione TCP ignora la MTU della rete locale TCP conosce la MTU della rete locale MessageSize NSegments = NSegments = NDatagrams 65495 MessageSize + NSegments x TCPOvhd NDatagrams = (stima approssimata) minn MTUn - IPOvhd Overheadn = NSegments x TCPOvhd + Ndatagrams x (IPOvhd + FrameOvhdn) 8 x (MessageSize + Overheadn ) ServiceTimen = 106 x Bandwidth
Esercizio - testo Client DB server • 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. FDDI 100 Mbps MTU: 4472 bytes T.R. Ethernet 10 Mbps MTU: 1518 bytes router1 router2 Token RingI 16 Mbps MTU: 4444 bytes
Esercizio - soluzione MessageSize + Nsegment x TCPOvhd NDatagrams = • Usando la 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
Esercizio - soluzione Overheadn = TCPOvhd+Ndatagrams x (IPOvhd + FrameOvhdn) 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 • Usando la • Usando la 8 x (MessageSize + Overheadn ) ServiceTimen = 106 x Bandwidth 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
Router di rete Router queues
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 MessageSize + TCPOvhd NDatagrams = minn MTUn - IPOvhd
Esercizio Client DB server • I router 1 e 2 processano 400,000 pacchetti/sec • Service time: 2.5 sec (=1/400,000) • Service demand al router FDDI 100 Mbps MTU: 4472 bytes T.R. Ethernet 10 Mbps MTU: 1518 bytes router1 router2 Token RingI 16 Mbps MTU: 4444 bytes