strato di trasporto - università degli studi di roma "tor vergata" · 2012-11-22 ·...

48
Strato di Trasporto Romeo Giuliano [email protected] 1

Upload: vuongdang

Post on 18-Feb-2019

214 views

Category:

Documents


0 download

TRANSCRIPT

Strato di Trasporto

Romeo Giuliano [email protected]

1

Argomenti

� Il servizio di trasporto� Servizi forniti agli strati superiori� Perché un altro strato� Primitive del servizio di trasporto� Socket Berkeley� Esempio di programmazione con

socket

� Primitive di servizio� Entità di trasporto di esempio � Macchina a stati finiti

� Problemi di prestazioni� Prestazioni nelle reti di computer� Misurazioni delle prestazioni di rete� Progettazione del sistema per

aumentare le prestazioni� Elementi del protocollo di trasporto� Protocollo di trasporto� Indirizzamento� Stabilire una connessione� Rilascio di una connessione� Controllo di flusso e buffering� Multiplazione� Ripristino dopo un crash

� Controllo della congestione� Esempio di un semplice protocollo di

trasporto

Progettazione del sistema per aumentare le prestazioni

� Problemi e nuovi protocolli per le reti gigabit

2

Obiettivi

� Conoscere il servizio di trasporto � Presentazione di alcuni esempi

� Descrivere gli elementi del protocollo di trasporto� Analizzare e comprendere un semplice protocollo di

trasportotrasporto� Conoscere e analizzare i problemi legati alle prestazioni

dei sistemi

3

Strato di Trasporto

Servizio e protocollo di trasporto

Romeo Giuliano [email protected]

4

Argomenti

� Servizio di trasporto� Servizio, primitive, socket, esempio

� Elementi del protocollo di trasporto� Indirizzamento, stabilire e rilasciare una connessione,

multiplazione, controllo di flusso e bufferingmultiplazione, controllo di flusso e buffering

5

Il servizio di trasporto

Obiettivo: Fornire il trasporto dati affidabile, efficiente dal computer di origine al computer destinazione, indipendentemente dalla rete o dalle reti fisiche utilizzate

� Servizi forniti agli strati superiori� Perché un altro strato� Primitive del servizio di trasporto� Socket Berkeley� Esempio di programmazione con socket

� Un file server Internet

6

Servizi forniti agli strati superiori

� Per raggiungere il suo obiettivo, lo strato di trasporto utilizza i servizi forniti dallo strato di rete

� Relazione logica tra strato di rete, di trasporto e applicazione (in figura)

7

Perché un altro strato

� Similitudini con lo strato di rete� Servizio di trasporto orientato alla connessione o senza

connessione� Indirizzamento� Controllo di flusso

� Perché serve un altro strato oltre quello di rete?� Lo strato di trasporto è end-to-end (codice sulle macchine

utente), mentre nello strato di rete, il codice è sui router� Per servizi di rete degradati, l’unica soluzione è uno strato

superiore che ne controlli e ne migliori la qualità del servizio �affidabilità

� Servizi offerti da reti differenti (per es. LAN e sistema telefonico) sono nascosti dallo strato di trasporto � no gestione delle interfacce tra le reti

� Confine tra fornitori del servizio di trasporto e fruitori del servizio di trasporto � strato di trasporto è in posizione chiave

8

Primitive del servizio di trasporto

� Due processi di strato 4 sono connessi da un pipe UNIX: la trasmissione dei dati deve essere affidabile al 100% � lo strato di trasporto deve fornire un servizio affidabile (orientato alla connessione) su una rete inaffidabile

� Primitive del servizio di trasporto: nella tabella ci sono le � Primitive del servizio di trasporto: nella tabella ci sono le primitive essenziali per instaurare, utilizzare e rilasciare la connessione

9

Primitive del servizio di trasporto (2)

� Transport Protocol Data Unit, TPDU: messaggi inviati tra due entità di strato 4� I messaggi dello strato di trasporto sono comunemente chiamati

segmenti

� TPDU sono incapsulate nei pacchetti di strato 3 TPDU sono incapsulate nei pacchetti di strato 3 � I pacchetti di strato 3 sono incapsulati nelle trame di

strato2

10

Primitive del servizio di trasporto (3)

� Instaurazione della connessione� Il server esegue LISTEN: lo blocca fino a che un processo cerca di

connettersi� Quando il client desidera comunicare con il server esegue

CONNECT: invia un pacchetto TPDU di CONNECTION REQUEST per attivare la connessione

� Alla ricezione di questo pacchetto, il server viene sbloccato e invia un pacchetto TPDU di CONNECTION ACCEPTED al clientAlla ricezione di questo pacchetto, il server viene sbloccato e invia un pacchetto TPDU di CONNECTION ACCEPTED al client

� Il client riceve tale pacchetto e la connessione è stabilita� Utilizzo della connessione: cliente e server si scambiano i dati

� Il server esegue RECEIVE in attesa dell’arrivo di un pacchetto. Il cliente esegue SEND per trasmettere dati. Poi invertono i ruoli finché hanno dei dati da trasmettere

� Abbattimento della connessione� Asimmetrica: una entità esegue DISCONNECT� Simmetrica: ogni entità esegue DISCONNECT e le connessioni nei

due versi vengono chiuse

11

Primitive del servizio di trasporto (4)

� Diagramma di stato: semplice schema per la gestione della connessione� Ogni transizione è

innescata da un evento: avvio di una primitiva (non avvio di una primitiva (non in corsivo) o arrivo di un pacchetto (in corsivo)

� Sequenza stati del client (linee continue)

� Sequenza stati del server (linee tratteggiate)

12

Socket Berkeley

� Primitive utilizzate per TCP in Berkeley UNIX �frequentemente utilizzate in Internet

• SOCKET + BIND crea punto finale con un indirizzo � ci si può connettere a tale server• Le primitive SOCKET permettono di creare un servizio orientato alla connessione chiamato reliable byte stream: può essere usato per ogni applicazione 13

Esempio di programmazionecon Socket: File Server Internet

� Un client richiede un file da un server

� Codice server� SERVER_PORT: numero � SERVER_PORT: numero

tra 1024 e 65535� BUF_SIZE: dimensione del

blocco dati trasmesso� QUEUE_SIZE: numero

massimo ammeso di connessioni pendenti

� WRITE ≡ SEND� READ ≡ RECEIVE

14

Esempio di programmazionecon Socket: File Server Internet (2)

� Codice clientChiamata del client:client flits.cs.vu.nl/usr/tom/nomefile >f

Nome del server

Nome del file

15

Elementi del protocollo di trasporto

� Protocollo di trasporto� Indirizzamento� Stabilire una connessione� Rilascio di una connessione

Controllo di flusso e buffering� Controllo di flusso e buffering� Multiplazione� Ripristino dopo un crash

16

Protocollo di trasporto

� Il servizio di trasporto è implementato da un protocollo di trasporto tra due entità nello strato di trasporto

� Similitudini con lo strato di collegamento (controllo errori, ordinamento in sequenza, controllo di flusso).

� Differenza sostanziale: (a) nel data link la connessione è su un canale fisico diretto; (b) nello strato di trasporto il canale fisico è l’intera rete � Altre differenze:l’intera rete � Altre differenze:� Necessità esplicita di indirizzamento� Maggiore complicazione nell’instaurazione della connessione iniziale� Potenzialmente la rete può immagazzinare dei pacchetti� Gestione del buffer e del controllo di flusso è eseguito su diverse conness.

17

Indirizzamento

� Un processo applicativo deve specificare a quale processo applicativo remoto vuole connettersi: si definiscono indirizzi di trasporto su cui i processi possono restare in ascolto delle richieste di connessione� Indirizzi di strato di trasporto = Transport Service Access Point,

TSAP� Si chiamano porte in Internet

e AAL-SAP in ATM

18

In figura, relazione tra TSAP e NSAP (Network SAP). Esempio:1. Server 1 (es. di posta) su host 2 si mette in

ascolto sull’indirizzo TSAP 1522: primitiva LISTEN

2. Client su host 1 prende il TSAP 1208 per instaurare la connessione (e spedire una mail: primitiva CONNECT con source_addr=1208, dest_addr=1522

3. Trasmissione dati (e.g. mail) e disconnessione

Indirizzamento (2)

� Indirizzi stabili: funzionano bene per i servizi che non cambiano mai ma è dispendioso mantenerli tutti attivi

� Il client si connette ad un portmapper (con un TSAP ben conosciuto) per conoscere il TSAP del servizio richiesto. Il portmapper risponde indicandogli il TSAP di tale servizio

� Protocollo di connessione iniziale: anziché avere ogni server in ascolto su uno TSAP noto, un process server

Domanda. “Come fa il client a

conoscere il TSAP del processo a

cui vuole connettersi?”

server in ascolto su uno TSAP noto, un process server ascolta un insieme di porte contemporaneamente, attendendo una richiesta di connessione:

a. Connessione con il processserver se nessun’altro server è in ascolto

b. Dopo la richiesta, il processserver crea il server richiesto, che eredita la connessione

19

Stabilire una connessione

� Un’entità di trasporto invia un messaggio TPDU CONNECTION REQUEST alla destinazione, che risponde con un messaggio TPDU CONNECTION ACCEPTED

� Problema se i pacchetti sono corrotti, persi, duplicati o ritardati (rete congestionata). Soluzioni:� Utilizzo di indirizzi di trasporto monouso: chiusi al termine della

connessione; il client come conosce l’indirizzo nuovo?connessione; il client come conosce l’indirizzo nuovo?� Connessione con identificatore: connessione = [entità di trasporto,

identificatore]; cosa se un server subisce un crash (perdita di memoria)?

� Limitare la durata di vita di un pacchetto� Sottoreti limitate: evita i cicli, riduce il tempo massimo di ritardo� Numero limitato di salti ammissibili: quando tale valore è nullo, la rete

scarta il pacchetto� Applicazione di un timestamp: inserisce l’ora in ogni pacchetto,

trascorso un certo intervallo i pacchetti vengono eliminati (server sincronizzati)

20

� Occorre garantire che per un pacchetto eliminato lo siano anche i suoi ack

� Si definisce un tempo T, come l’intervallo temporale che si deve attendere per essere sicuri che il pacchetto e i suoi ack e duplicati siano tutti eliminati

� Metodo dell’orologio giornaliero: assicura che non siano in circolazione due TPDU con lo stesso numero

Stabilire una connessione (2)

circolazione due TPDU con lo stesso numero� Ogni host ha un orologio (non sincr.), il cui contatore aumenta ad ogni

istante e che non perde il conteggio anche se si verifica un crash dell’host� I k bit inferiori del contatore dell’orologio sono anche il numero di sequenza

iniziale dei segmenti trasmessi (init_seq)� Una volta concordato con init_seq, si implementa un protocollo di sliding

window per il controllo diflusso

� NOTA: esiste un massimo ritmo di trasmissione dei segmenti (vedi fig.(b) )

21

Stabilire una connessione (3)

� L’orologio giornaliero risolve la trasmissione dei segmenti (e.g. duplicazione) ma non quello di delle CONNECTION_REQUEST (CR)

� Strategia di handshake a tre vie. Tre possibili scenaria. Operazioni normalib. Una vecchia CONNECTION REQUEST duplicata appare dal nullac. La presenza di CONNECTION REQUEST e ACK duplicati

22

Rilascio di una connessione

� Rilascio asimmetrico: � Basta che una delle due parti richieda una disconnessione

(DISCONNECTION REQUEST, DR) affinché la connessione venga chiusa

� È improvvisa, con perdita di dati (vedi figura)

23

Rilascio di una connessione (2)

� Rilascio simmetrico: � Tratta la connessione come se ci fossero due connessione

unidirezionali (disconnessione di entrambe separatamente)� Entrambi gli host devono aver finito di trasmettere i dati per non

perderli nella disconnessione: ma si ha il problema dei due esercitieserciti

24

Rilascio di una connessione (3)

� Quattro scenari per il rilascio della connessionea. Caso normale di handshake a tre vie

1. L’host 1 invia una TPDU DR (DR = disconnection request) per iniziare il rilascio della connessione

2. Alla sua ricezione l’host 2 invia una TPDU DR e attiva un timer3. Alla sua ricezione l’host 1 trasmette una TPDU ACK e rilascia la 3. Alla sua ricezione l’host 1 trasmette una TPDU ACK e rilascia la

connessione4. Alla ricezione dell’ACK, l’host 2 rilascia la connessione

b. ACK finale perduto1. Se l’ACK è perso,

l’host 2 rilascia laconnessione allo scadere del timer

25

Rilascio di una connessione (4)

� Quattro scenari per il rilascio della connessione (2)c. Risposta perdutad. Risposta perduta e DR successive perdute

26

Controllo di flusso e buffering

� Come nello strato 2, protocolli di sliding window; a differenza dello strato 2, ogni host ha numerose connessioni rispetto alle poche linee di uscita dei router� Buffering sul mittente: deve conservare i TPDU finché non sono

stati accettati� Buffering sul ricevitore: presente e con che organizzazione?� Buffering sul ricevitore: presente e con che organizzazione?

a. Dimensione identicab. Dimensione variabilec. Singolo buffer circolare

per ogni connessione� Dimensioni dei buffer

origine/destinazione: dipende dal traffico� Traffico intermittente � buffer dinamico (nel mittente)� Trasferimento di file � intera window di buffer (nel ricevitore)

27

Controllo di flusso e buffering (2)

� Connessioni aperte e chiuse � allocazione dei buffer variabile. Il destinatario comunica alla sorgente ack dei segmenti ricevuti e buffer rimanente in un campo apposito (e.g. window size nel TCP)

� Funzionamento della gestione dinamica delle window in sottoreti con numeri di sequenza di 4 bit

28

Controllo di flusso e buffering (3)

� Se lo spazio dei buffer non limita la connessione, il collo di bottiglia è la capacità di trasmissione della rete

� Schema di controllo del flusso basato su sliding window: � Il mittente regola dinamicamente la dimensione della window� Il mittente dovrebbe monitorare i parametri per la regolazione � Il mittente dovrebbe monitorare i parametri per la regolazione

ottimale della finestra (capacità = numero di TPDU ricevute con ACK per unità di tempo)

� sliding window dinamica usata per controllo di flusso e per controllo della congestione

29

Multiplazione

a. Multiplazione upward: tutte le connessioni di trasporto usano lo stesso indirizzo di rete

b. Multiplazione downward: per limiti di trasmissione imposti dalla rete, lo strato di trasporto può aprire più connessioni contemporaneamente in paralleloconnessioni contemporaneamente in parallelo

30

Ripristino dopo un crash

� Scenario: il client trasmette TPDU al server che le passa agli strati superiori � Se va in crash un server, il client si può trovare in due stati: TPDU in circolazione ovvero

senza aver ricevuto l’ACK (stato S1) e senza TPDU in circolazione (stato s0)� Il passaggio della TPDU (scrittura in un database) e l’invio dell’ACK sono due eventi distinti

non contemporanei� il crash può verificarsi tra l’ACK e la scrittura o tra la scrittura e l’ACK� Il server può essere programmato in due modi: prima invia l’ACK e poi scrivi o viceversa

(ellisse rossa)� Il client può essere programmato in 4 modi (ellisse blu)� Nella tabella sono riportati i tre eventi del server: invio ACK (A), scrittura dell’output (W) e � Nella tabella sono riportati i tre eventi del server: invio ACK (A), scrittura dell’output (W) e

crash (C)

�il crash e il ripristino devono essere risolti dagli strati superiori

31

Strato di Trasporto

Controllo della congestione e prestazioni

Romeo Giuliano [email protected]

32

Argomenti

� Controllo della congestione� Problemi di prestazioni

33

Controllo della congestione: argomenti

� Regolazione del ritmo di trasmissione� Problemi nel wireless

34

Controllo della congestione

� Lo strato di trasporto (congiuntamente allo strato di rete) deve evitare congestioni nella rete (i.e. pacchetti persi o ritardati)

� L’unico modo è immettere meno pacchetti nella rete� Allocazioni delle risorse

� Efficienza: tutte le risorse della rete sono utilizzate. A causa della variabilità del traffico, si può arrivare a congestione (figura sx)variabilità del traffico, si può arrivare a congestione (figura sx)

� Fairness: dare a tutti gli utenti la stessa frazione di banda� Converganza: l’algoritmo di controllo della congestione deve

convergere velocemente ad un punto stabile di allocazione delle risorse (figura dx)

35

Variazione allocazione

banda nel tempo del flow 1

Flow 1: banda maxFlow 2: banda maxFlow 3: banda ≤20%

Regolazione del ritmo di trasmissione

� Ritmo di trasmissione limitato da (fig.): (a) capacità ridotta del ricevitore; (b) congestione interna alla rete

� In entrambi i casi, lo strato di trasporto deve ridurre i pacchetti trasmessi � eseguire il controllo di flusso e il controllo della congestioneIl controllo della congestione � Il controllo della congestione si esegue in base a:� Feedback della rete espliciti

(e.g. explicit congestionnotification)

� Informazioni implicite (e.g. round-trip-time o perdita di pacchetti nel RED)

36

Regolazione del ritmo di trasmissione (2)

� I feedback per la regolazione del ritmo di trasmissione indicano alla sorgente di decrementare il proprio bit rate � legge del controllo di trasmissione

� Scopo della legge: giungere all’uso efficiente ed equo delle risorsedelle risorse

� Si usa l’incremento additivo e il decremento moltiplicativo (AIMD)

37

Legge AIDM

Problemi nel wireless

� Protocolli dello strato di trasporto dovrebbero essere indipendenti dallo strato fisico. Tuttavia …

� Nel wireless ci sono molti errori (perdita di pacchetti)� Lo strato di trasporto considera come congestione � riduzione dei pacchetti

trasmessi� Lo strato di collegamento considera come errori di trasmissioni �

ritrasmissioni e aumento dei pacchetti trasmessiritrasmissioni e aumento dei pacchetti trasmessi

� Soluzioni: I. Nessuna, perché i due protocolli lavoro con scale temporali diverse; II. Per collegamenti molto lunghi (e.g. satellitari)

� Uso del FEC e non delle ritrasmissioni� L a congestione si ha per segnalazioni esplicite e non per la perdita di pacchetti

38

Problemi nel wireless (2)

� Il controllo della congestione prevede che sia usata la massima capacità disponibile (efficienza) � lo strato di trasporto deve adattare la trasmissione

� Nel wireless la capacità è variabile (a causa di e.g. numero di nodi connessi, variabilità del canale, variabilità numero di nodi connessi, variabilità del canale, variabilità del traffico offerto)

� Soluzioni:I. Nessuna, il protocollo di strato di trasporto deve comunque

adattare il ritmo di trasmissione alla variabilità del traffico offerto � nel wireless solo meno performante ma funzionante

II. Progetto del protocollo ad hoc per collegamenti wireless

39

Problemi di prestazioni

� Prestazioni nelle reti di computer� Misurazioni delle prestazioni di rete� Progettazione del sistema per aumentare le prestazioni� Problemi e nuovi protocolli per le reti gigabit

40

Prestazioni nelle reti di computer

� Prestazioni degradate per sovraccarichi momentanei della rete

� Ma anche dovuti a squilibri strutturali delle risorse� Linee veloci su PC lenti � ritrasmissioni � Sovraccarichi sincroni

� Segmenti con parametri errati inviati a molte macchine � broadcast � Segmenti con parametri errati inviati a molte macchine � broadcast storm

� Mancanza di energia elettrica: al ritorno della corrente elettrica inizio simultaneo delle macchine affette da black out

� Risorse sufficienti ma gestite male� Buffer non congruo alla finestra di ricezione � rallentamenti� Timeout non ottimizzati: compromesso time out lunghi o brevi

� Gestione delle connessioni real time: prestare attenzione alla banda ma anche al jitter

� Finestra del controllo di flusso nelle reti con elevato prodotto banda-ritardo (vedi dopo)

41

Misurazioni delle prestazioni di rete

� Ciclo di base per migliorare le prestazione di rete� Misurare i parametri di rete rilevanti e le loro prestazioni� Cercare di capire cosa sta accadendo� Cambiare un parametro

� Assicurarsi che la dimensione del campione sia sufficientemente elevatasufficientemente elevata

� Assicurarsi che i campioni siano rappresentativi� Fare attenzione quando si usa un orologio grossolano� Assicurarsi che non accada nulla di imprevisto durante i test� Le cache possono disturbare le misurazioni� Comprendere cosa si sta misurando� Prestare attenzione all’estrapolazione dei risultati (vedi slide

successiva)

42

Misurazioni delle prestazioni di rete (2)

� Prestare attenzione all’estrapolazione dei risultati� Misurazione tra 0 (rete scarica) e 40% del carico rispetto alla

capacità � comportamento lineare� L’estrapolazione per un carico ρ > 40% prevede una crescita

lineare del tempo di risposta della reteTuttavia molti risultati di accodamento implicano un fattore � Tuttavia molti risultati di accodamento implicano un fattore 1/(1- ρ) � la curva reale è quella con crescita maggiore

43

Progettazione del sistema per aumentare le prestazioni: regole

� La velocità della CPU è più importante della velocità della rete� Il collo di bottiglia è nel software degli host

� Ridurre il numero di pacchetti per ridurre l’overhead del software� Pacchetti piccoli comportano maggiore overhead e interrupt (usare il buffering)� La riduzione dell’overhead riduce il consumo di potenza (utile nei terminali mobili

� Minimizzare le copie nelle memorie interne alla macchina� Buffer hardware, kernel, buffer di rete, buffer di trasporto, buffer applicativo

Impletare il processamento congiunto tra gli strati (es. TCP/IP)� Impletare il processamento congiunto tra gli strati (es. TCP/IP)� Minimizzare i cambi di contesto

� Provocano sprechi nel tempo della CPU (vedi slide successiva)� È possibile comprare più banda ma non diminuire il ritardo

� Riduzione del ritardo richiede il miglioramento del software di gestione (protocollo, sist. op., interfaccia di rete)

� Evitare la congestione è meglio che correggere il problema� Evitare i timeout

� Impostare i timer i modo leggermente conservativo ma non troppo

44

Progettazione del sistema per aumentare le prestazioni (2)

Regola 4: Minimizzare i cambi di contesto � Quattro cambi di contesto per gestire un pacchetto con

un gestore di rete nello spazio utente1. Cambio di contesto dall’utente al kernel all’arrivo di un

pacchettopacchetto2. Cambio dal kernel al gestore della rete3. Cambio da gestore al ritorno al kernel4. Cambio da kernel al processo ricevente (utente)

45

Problemi e nuovi protocolli per le reti con un elevato prodotto banda-ritardo (long fat netw)

1. Molti protocolli utilizzano numeri di sequenza a 32 bit: con linee gigabit vi è la possibilità di avere pacchetti in rete con lo stesso numero di sequenza

2. Le velocità di comunicazione sono migliorate più in fretta delle velocità per l’elaborazione: il collo di bottiglia diventa il PC non la rete

3. La dimensione della finestra del controllo di flusso: troppo piccola per reti con elevato prodotto banda-ritardo (vedi figura)La dimensione della finestra del controllo di flusso: troppo piccola per reti con elevato prodotto banda-ritardo (vedi figura)� La finestra deve essere almeno

grande quanto il prodotto banda-ritardo per riempire la linea di trasmissione

46

Es. invio burst dati da San Diego a Boston (a) A t=0, (b) Dopo 500 µs(c) Dopo 20 ms, (d) Dopo 40 ms� Efficienza bassa perchè utilizzo del canalenon completo

Problemi e nuovi protocolli per le reti con un elevato prodotto banda-ritardo (2)

4. Protocolli “torna indietro di n” hanno prestazioni scadenti in reti con elevato prodotto banda-ritardo: eventuali ritrasmissioni creano un enorme spreco di banda

5. Nelle reti veloci il ritardo di round-trip (trasferimento del file e ricezione dell’ack) domina sul tempo di trasferimento del semplice dato (vedi figura: file da 1Mb su linea di 4000km)semplice dato (vedi figura: file da 1Mb su linea di 4000km)

6. Per applicazioni multimediali è importante garantire bassa varianza dei tempi di arrivo dei pacchetti

47

Problemi e nuovi protocolli per le reti con un elevato prodotto banda-ritardo (3)

� Progettare veloci interfacce di rete in hardware: tuttavia l’hardware potrebbe avere una seconda CPU con cui la CPU principale deve sincronizzarsi

� Evitare la controreazione � Come nei protocolli sliding window: si trasmette al massimo fino alla velocità

concordata senza che il ricevente debba aggiornare la dimensione della finestra� Come nei protocolli ad avvio lento per sondare le caratteristiche della rete:

riservare le risorse al momento dell’instaurazione della connessioneriservare le risorse al momento dell’instaurazione della connessione� Intestazione dei pacchetti piccola per ridurre il tempo di elaborazione� Il checksum dell’intestazione e dei dati calcolato separatamente

� Posso evitare di calcolare il chechsum dei dati� Verifico l’esattezza dell’intestazione e poi eventualmente copio i dati

� Dimensione dei pacchetti molto grande per l’efficienza� Trasmettere dati insieme alla richiesta di connessione� Software del protocollo deve:

� Concentrarsi sul caso normale (ridurre il tempo di elaborazione quando la trasmissione è senza errori)

� Ridurre il tempo o il numero di copie dei pacchetti nelle memorie locali

48