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
TELNETHTTP FTP
TCP
NFS DNS SNMP
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 l’host cui inoltrare il datagramma
Host A Host B
TCP
IP
Network layer
TCP
IP
Network layer
IP
Data layer
router
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
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
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
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 messageover the network
=
=
# of bytes (including protocolheader -trailer, and fragmentation if there is)
bandwidth
=
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
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
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
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
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
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
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
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)
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
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
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
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
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
minn MTUn - 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.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
Top Related