Passa al contenuto principale

I. Un riepilogo del software IMP

Messaggi​

Le informazioni vengono trasmesse da host a host in pacchetti chiamati messaggi (messages). Un messaggio è qualsiasi flusso di non più di 8080 bit, insieme alla sua intestazione. L'intestazione è di 16 bit e contiene le seguenti informazioni:

Destinazione (Destination)     5 bit
Collegamento (Link) 8 bit
Traccia (Trace) 1 bit
Riserva (Spare) 2 bit

La destinazione è il codice numerico per l'host a cui il messaggio deve essere inviato. Il bit di traccia segnala agli IMP di registrare informazioni di stato sul messaggio e inviare le informazioni al NMC (Network Measurement Center, centro di misurazione della rete, cioè UCLA). I bit di riserva non sono utilizzati.

Collegamenti​

Il campo di collegamento è un dispositivo speciale utilizzato dagli IMP per limitare determinati tipi di congestione. Funzionano come segue. Tra ogni coppia di host ci sono 32 connessioni logiche full-duplex (logical full-duplex connections) su cui i messaggi possono essere trasmessi in entrambe le direzioni. Gli IMP pongono la restrizione su questi collegamenti che nessun host può inviare due messaggi successivi sullo stesso collegamento prima che l'IMP di destinazione abbia inviato un messaggio speciale chiamato RFNM (Request for Next Message, richiesta del messaggio successivo). Questa disposizione limita la congestione che un host può causare a un altro se l'host mittente sta tentando di inviare troppo su un collegamento. Notiamo, tuttavia, che poiché l'IMP di destinazione non ha capacità sufficiente per gestire tutti i 32 collegamenti simultaneamente, i collegamenti servono il loro scopo solo se il sovraccarico proviene da uno o due collegamenti. È necessario che gli host cooperino in questo senso.

I collegamenti hanno le seguenti caratteristiche primitive. Sono sempre funzionanti e ce ne sono sempre 32.

Per "sempre funzionanti" intendiamo che gli IMP sono sempre pronti a trasmettere un altro messaggio su di essi. Nessuna nozione di inizio o fine di una conversazione è contenuta nel software IMP. Quindi non è possibile interrogare un IMP sullo stato di un collegamento (sebbene possa essere possibile interrogare un IMP sulla cronologia recente di un collegamento -- una questione completamente diversa!).

L'altra caratteristica primitiva dei collegamenti è che ce ne sono sempre 32, indipendentemente dal fatto che siano utilizzati o meno. Ciò significa che ogni IMP deve mantenere 18 tabelle, ciascuna con 32 voci, indipendentemente dal traffico effettivo.

Nonostante le obiezioni alla struttura dei collegamenti, i collegamenti sono facilmente programmabili all'interno degli IMP e sono probabilmente un'alternativa migliore a disposizioni più complesse proprio a causa della loro semplicità.

Trasmissione IMP e controllo errori​

Dopo aver ricevuto un messaggio da un host, un IMP partiziona il messaggio in uno o più pacchetti (packets). I pacchetti non sono lunghi più di 1010 bit e sono l'unità di trasmissione dati da IMP a IMP. Un checksum ciclico (cyclic checksum) a 24 bit viene calcolato dall'hardware di trasmissione e viene aggiunto a un pacchetto in uscita. Il checksum viene ricalcolato dall'hardware di ricezione e viene controllato rispetto al checksum trasmesso. I pacchetti vengono riassemblati in messaggi all'IMP di destinazione.

Questioni aperte sul software IMP​

  1. Viene fornito un campo a 8 bit per la specifica del collegamento, ma vengono forniti solo 32 collegamenti, perché?

  2. L'host dovrebbe essere in grado di inviare messaggi al suo IMP. Come lo fa?

  3. Un host, in contrapposizione al suo IMP, può controllare gli RFNM?

  4. Gli IMP eseguiranno la conversione del codice? Come verrà controllata?