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
STRATIFICAZIONE DEL PROTOCOLLO TCP/IP IP UDP TELNETHTTPFTP TCP NFS DNSSNMP data link layer network layer transport layer RPC
INOLTRO DATAGRAMMA IP Il router mantiene una tabella di routing, usata per cercare il prossimo router o lhost cui inoltrare il datagramma Host AHost B TCP IP Network layer TCP IP Network layer IP Data layer router
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) Dati strato nheader strato n Dati strato n -1 header strato n -1
PROTOCOLLI DI RETE
TCP TCP fornisce un servizio orientato alla connessione, affidabile, con controllo di flusso, di tipo end-to- end e garantisce la consegna dei dati nellordine 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 ack 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 unarea dati Le PDU hanno una dimensione massima per larea 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 dallhost 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 TCP IP Network layer client TCP IP Network layer Server ethernet T.R. FDDI router1 router2
Tempi di Servizio delle Lan Service Time Eth = == 358 x sec. Service Time FDDI = == 368 x sec. Service Time TR = == 368 x sec Messaggio di 300 byte inviato da un Client a un Server
Esempio CON frammentazione TCP IP Network layer client TCP IP Network layer Server ethernet T.R. FDDI TR FDDI FDDI = 4424 = = dataIPET dataET Il Server invia una risposta di byte al Client Ipotesi di livello TCP che ignora la MTU della rete locale 20
Tempi di Servizio delle Lan Service Time = Il Server invia una risposta di byte al Client (Ipotesi di livello TCP che ignora la MTU della rete locale) Caso della rete Token Ring Service Time = ( ) x 8 = sec. () x 8
Esempio CON frammentazione TCP IP Network layer client TCP IP Network layer Server ethernet T.R. FDDI TR FDDI FDDI = 4424 = = dataIPET dataET Il Server invia una risposta di byte al Client Ipotesi di livello TCP che conosce la MTU della rete locale 20 TCP
Tempi di Servizio delle Lan Service Time = Il Server invia una risposta di byte al Client (Ipotesi di livello TCP che conosce la MTU della rete locale) Caso della rete Token Ring Service Time = ( ) x 8 = sec. () x sec sec. 20 sec di differenza
Tempo medio di servizio Calcolo nel caso senza frammentazione Indichiamo con: MTU n : MTU in byte della rete n XOvhd: overhead in byte del protocollo X FrameOvhd n : overhead in byte del frame nella rete n Overhead n : overhead totale (TCP+IP+frame) in byte nella rete n Bandwidth n : 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 NDatagrams = ServiceTime n = MessageSize + NSegments x TCPOvhd min n MTU n - IPOvhd Overhead n = NSegments x TCPOvhd + Ndatagrams x (IPOvhd + FrameOvhd n ) 8 x (MessageSize + Overhead n ) 10 6 x Bandwidth NSegments = MessageSize NSegments = NDatagrams TCP conosce la MTU della rete locale TCP ignora la MTU della rete locale (stima approssimata)
Esercizio - testo T.R. FDDI 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. L80% delle risposte sono lunghe 8092 byte e il 20% 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. router1router2 ClientDB server Ethernet 10 Mbps MTU: 1518 bytes Token RingI 16 Mbps MTU: 4444 bytes
Esercizio - soluzione Usando la NDatagrams = MessageSize + Nsegment x TCPOvhd min n MTU n - IPOvhd Possiamo calcolare il numero dei datagramma necessari nei tre casi (richiesta, risposta breve e risposta lunga): (400+20)/( ) = 1 per la richiesta ( )/( ) = 6 per la risposta breve ( )/( ) = 68 per la risposta lunga
Esercizio - soluzione Usando la Possiamo calcolare loverhead per le reti (solo caso della ethernet) Overhead Eth = ( ) = 58 per la richiesta Overhead Eth = ( ) = 248 per la risposta breve Overhead Eth = ( ) = 2604 per l arisposta lunga Overhead n = TCPOvhd+Ndatagrams x (IPOvhd + FrameOvhd n ) Usando la Possiamo calcolare il Service Time (solo caso della ethernet) Overhead Eth = 8 x ( ) / = msec per la richiesta Overhead Eth = 8 x ( ) / = 6.67 msec per la risposta breve Overhead Eth = 8 x ( ) / = 82.1 msec per l arisposta lunga ServiceTime n = 8 x (MessageSize + Overhead n ) 10 6 x Bandwidth
Calcolo tempi di servizio
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 NDatagrams = MessageSize + TCPOvhd min n MTU n - IPOvhd
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. FDDI 100 Mbps MTU: 4472 bytes router1router2 ClientDB server Ethernet 10 Mbps MTU: 1518 bytes Token RingI 16 Mbps MTU: 4444 bytes Client RequestShort ReplyLong Request 1 x 2.5 = 2.5 sec6 x 2.5 = 15 sec 68 x 2.5 = 170 sec