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
HTTP
transport layer
network layer
data link layer
FTP
NFS
RPC
TELNET
TCP
DNS
UDP
IP
SNMP
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
TCP
Host B
IP
TCP
IP
IP
Network
layer
Network
layer
Data layer
router
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.
Strato
n
Strato n
Strato
n -1
Strato
n -1
network
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
PROTOCOLLI DI RETE
Protocol
TCP
UDP
IPv4
IPv6
ATM
Ethernet
Ieee 802.3
Ieee 802.5 TR
FDDI
PDU
name
Segment
Datagram
Datagram
Datagram
Cell
Frame
Frame
Frame
Frame
Max PDU Overhead Max data
size
area
65535
Ltd by IP
65535
65535
53
1518
1518
4472
4500
20
8
20
40
5
18
21
28
28
65515
Ltd by IP
65515
65495
48
1500
1497
4444
4472
TCP
• TCP fornisce un servizio orientato
alla connessione, affidabile, con
controllo di flusso, di tipo end-toend 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
Host B
Host A
syn
syn
ack
data
data
fin
ack
data
fin
ack
• 4 segmenti sono necessari per
terminarla in entrambe le direzioni
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
20 300
client
Server
TCP
TCP
IP
IP
Network
layer
Network
layer
20 20 300
20 300
20 20 300
T.R.
18 20 20 300
28 20 20 300
ethernet
FDDI
router2
router1
28 20 20 300
300
Tempi di Servizio delle Lan
Messaggio di 300 byte inviato da un Client a un Server
28 20 20 4404
Service Time Eth =
10.000.000
358 x 8
=
=
10.000.000
368 x 8
28 20 20 300
Service Time FDDI =
100.000.000
=
16.000.000
0.00002944 sec.
=
100.000.000
368 x 8
28 20 20 300
Service Time TR =
0.000286 sec.
=
=
16.000.000
0.000184 sec.
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
TCP
TCP
IP
IP
Network
layer
Network
layer
10000
20 4404 4424 1172
20 20 4404
20 4424
20 1172
28 20 20 4404
T.R.
28 20 4424
ethernet
28 20 1172
FDDI
28 20 20 4404
28 20 4424
28 20 1172
- 28
- 28
- 28
FDDI
=20 4424
=20 4424
= 1192
ET data
18 1192
FDDI
TR
ET IP data
18 20 1480
18 20 1480
18 20 1464
28 20 20 4404
28 20 4424
28 20 1172
-
28
28
28
+
+
+
28
28
28
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
(
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
)
x8
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
TCP
TCP
IP
IP
Network
layer
Network
layer
10000
20 4404
20 4404
20 1192
20 20 4404
20 20 4404
20 20 1192
28 20 20 4404
T.R.
28 20 20 4404
ethernet
28 20 20 1192
FDDI
- 28
28 20 20 4404 - 28
28 20 20 1192 - 28
28 20 20 4404
FDDI
= 20 4424
= 20 4424
= 1232
ET data
18 1232
FDDI
TR
ET IP TCP data
18 20 20 1460
18 20
1480
18 20
1464
28 20 20 4404
28 20 20 4404
28 20 20 1192
-
28
28
28
+
+
+
28
28
28
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
(
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.
0.005082 sec.
20 msec di differenza
x8
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)
ServiceTimen =
8 x (MessageSize + Overheadn )
106 x Bandwidth
Esercizio - testo
Client
Ethernet
10 Mbps
MTU: 1518 bytes
•
DB server
router1
FDDI
100 Mbps
MTU: 4472 bytes
T.R.
router2
Token RingI
16 Mbps
MTU: 4444 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.
Esercizio - soluzione
MessageSize + Nsegment x TCPOvhd
•
Usando la
NDatagrams
=
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
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
ServiceTimen =
8 x (MessageSize + Overheadn )
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
Calcolo tempi di servizio
Eth
FDDI
TR
Router
Ndatagrams
Overhead (byte)
ServiceTime(msec)
Ndatagrams
Overhead (byte)
ServiceTime(msec)
Ndatagrams
Overhead (byte)
ServiceTime(msec)
Latency (134 usec/packet)
Request
Short reply
Long
reply
1
58
0.366
1
68
0.0374
1
68
0.234
134
6
248
6.67
6
308
0.672
6
08
4.2
804
68
2604
82.1
68
3284
8.26
68
3284
51.6
9.112
Router di rete
Router queues
Tempi di Servizio nei Router di rete
Router latency (msec 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
Ethernet
10 Mbps
MTU: 1518 bytes
•
DB server
router1
FDDI
100 Mbps
MTU: 4472 bytes
T.R.
router2
Token RingI
16 Mbps
MTU: 4444 bytes
I router 1 e 2 processano 400,000 pacchetti/sec
 Service time: 2.5 msec (=1/400,000)
 Service demand al router
Client Request
Short Reply
Long Request
1 x 2.5 = 2.5 msec
6 x 2.5 = 15 msec 68 x 2.5 = 170 msec
Scarica

Nessun titolo diapositiva