Anteprima
Vedrai una selezione di 6 pagine su 22
Appunti Reti di calcolatori Pag. 1 Appunti Reti di calcolatori Pag. 2
Anteprima di 6 pagg. su 22.
Scarica il documento per vederlo tutto.
Appunti Reti di calcolatori Pag. 6
Anteprima di 6 pagg. su 22.
Scarica il documento per vederlo tutto.
Appunti Reti di calcolatori Pag. 11
Anteprima di 6 pagg. su 22.
Scarica il documento per vederlo tutto.
Appunti Reti di calcolatori Pag. 16
Anteprima di 6 pagg. su 22.
Scarica il documento per vederlo tutto.
Appunti Reti di calcolatori Pag. 21
1 su 22
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

INTERNET: ORIGINI ED EVOLUZIONE

Internet nasce come interconnessione di diverse reti di carattere sperimentale.

Kleinrock, attraverso la teoria delle code, mostra la fattibilità delle reti a commutazione di pacchetto

(1961), verificando che sotto certe condizioni è possibile gestire le comunicazioni all’interno di unità

discrete.

K. lo aveva dimostrato solo a livello esplicativo, per cui solo 3 anni dopo si ebbero le prime attività di rilievo

come sperimentazione di reti a commutazione di pacchetto finanziate per scopi militari (Department of

Defence – DoD, tramite Defence Advanced Research Projects Agency – DARPA) (1964).

Una delle cose mancanti erano i dispostivi di rete in grado di trasportare i pacchetti, per cui si realizzò

l’ARPANET: rete sperimentale basata su Interface Message Processors (IMP) con meccanismi Store-and-

Forward (1967/1969), ovvero oggetti in grado di ricevere un pacchetto, vedere dove questo doveva spedirsi

ed inviarlo (processo appunto di store and forward).

Si giunse, poi, ad un approccio Datagram per garantire la sopravvivenza in

caso di eliminazione di nodi e linee: se ho un fault su un nodo, perdo ciò

che sta attraversando il nodo in quel momento, ma comunque continuo a

“parlare”.

Quindi, un primo gruppo di Università crea un nucleo di rete per sperimentare applicazioni (1969-72), con

collegamenti da 56 kbps. Le sperimentazioni mostrano l’inadeguatezza dei protocolli ARPANET per

differenti architetture: perché ARPANET si preoccupò solo delle reti militari, che ovviamente sono in

numero minore.

Pertanto, ci furono problemi di scalabilità: si aveva, perciò, esigenza di protocolli per “internetworks”.

V. Cerf e R. Kahn progettano la suite TCP-IP (1974)

BBN e UCB vengono finanziate per inserire TCP-IP in Unix BSD • Quattro fattori di successo: PDP/Vax, LAN,

TCP-IP, Unix.

1984: la parte militare di ARPANET si separa (MILNET)

• 1986: La National Science Foundation (NSF) finanzia lo sviluppo di una rete basata su TCP-IP (NSFNET) 9

• NSFNET ha una struttura gerarchica: una dorsale ad alta velocità ed una serie di reti regionali

• Collegamenti da 56 Kbps a T1 (1,544 Mbps)

• 1989: ARPANET è smantellata

• 1990: NSF smette di finanziare la rete e cede la struttura ad una organizzazione non-profit

• Nasce Advanced Network and Services (ANS), una organizzazione fondata da Merit, IBM ed MCI

• Collegamenti da T1 a T3 (45 Mbps)

• 1995: NSFNET è smantellata

• Nascono i Network Access Point (NAP) per interconnettere varie reti commerciali

Internet: architettura della rete

• La rete è progettata secondo un modello a datagram

• L’informazione viaggia in pacchetti (datagram) che vengono trattati dalla rete indipendentemente l’uno

dagli altri

• Ogni terminale è univocamente individuato da un indirizzo associato alla interfaccia che lo collega alla

rete

• Ogni pacchetto contiene almeno l’indirizzo del mittente e l’indirizzo del destinatario

• L’infrastruttura della rete è costituita dai router, che hanno il compito di instradare i pacchetti e

consegnarli a destinazione

• Non c’è garanzia che un pacchetto venga realmente consegnato a destinazione:

- i pacchetti possono andare persi nella rete

- i pacchetti possono seguire percorsi diversi ed arrivare in un ordine diverso da quello con cui sono stati

trasmessi

Struttura di internet

L’accesso ad Internet avviene per mezzo di un fornitore di servizi o

Internet Service Provider, ISP.

Gli ISP sono collegati tra loro secondo una struttura gerarchica:

- ISP locali

- ISP nazionali

Gli ISP nazionali si collegano a fornitori di connettività

internazionali: i Network Backbone Provider (NBP).

Gli NBP sono tra loro collegati in punti di interscambio detti NAP,

Network Access Point.

Cosa manca ad Internet?

Internet non è stata pensata con un protocollo di sicurezza (motivo che risiede nello scenario storico in cui

essa è stata creata, non si aveva bisogno di alcuna sicurezza) e non esiste per essa nessuna primitiva che

consente di capire cosa non sta funzionando in una data comunicazione. 10

ADSL: perché asimmetrica?

A causa dell’elevata

differenza tra la mole di

upstream e downstream. 11

Protocolli HTTP ed FTP

Strato dell’applicazione

Comunicazioni tra processi, ovvero programmi che stanno girando. Cosa definisce un protocollo dello strato

di applicazione:

- tipo di messaggi scambiati

- sintassi dei messaggi

- semantica dei campi

- regole di trasmissione

Applicazioni lato client e lato server (es.: servizi Web, FTP)

Applicazioni utilizzano protocolli: standard (RFC), noti ma non standard, privati e volutamente non

disponibili.

NOTA: un RFC (“Request For Comment”) è un documento pubblico sottoposto alla comunità Internet al fine

di essere valutato. Ciò che è un RFC rappresenta uno standard de facto nella comunità di Internet.

Il protocollo http è un protocollo standard, in quanto non solo ne è noto il funzionamento, ma esso è stato

standardizzato, dunque chiunque voglia fare web server può osservare le specifiche dell’RFC che ha definito

http ed utilizzarle.

Esistono, inoltre, protocolli noti ma non standard, per i quali esistono documenti che ne descrivono il

funzionamento, ma sono definiti non standard in quanto non hanno superato i controlli RFC oppure trattasi

di protocolli di cui non si necessitava la standardizzazione (es.: due studenti che lo usano tra loro).

Infine, vi sono protocolli privati e volutamente non disponibili (ad esempio Skype agli esordi, che voleva

evitare che si potessero controllare le conversazioni, solo un esempio, ma ve ne sono molti altri).

Comunicazione tra processi

API: Application Programming Interface, definisce l’interfaccia tra il livello applicativo e il livello trasporto.

socket: Internet API : due processi comunicano mandando dati in un socket e leggendo dati dal socket.

Come un processo può “identificare” l’altro processo con cui vuole comunicare? Non sono a livello di rete,

ma applicativo, non voglio identificare la macchina, ma il processo che sta girando sulla macchina:

l’indirizzo IP della macchina non basta, perché 1) non è detto che su quella macchina si trovi

esclusivamente quel particolare processo; 2) supponendo di avere una macchina che si collega ad uno

stesso sito, ma aprendo più tab, l’IP non è utile nel riconoscere in quale delle due la macchina sta lavorando

sul processo di interesse

- indirizzo IP dell’host che esegue l’altro processo

- “numero di porta” che permette all’host ricevente di sapere a quale processo locale il messaggio è

destinato (identifica il processo locale a cui vengono inviati i messaggi).

Esistono 3 tipologie di porte per le applicazioni che sono in attesa di ricevere il traffico:

– The Well Known Ports are those from 0 through 1023 (associati ai protocolli standard)

– The Registered Ports are those from 1024 through 49151 (associati ad applicazioni note, ma non

standardizzati) 12

– The Dynamic and/or Private Ports are those from 49152 through 65535 (sono o dinamici o

utilizzati da applicazioni in modo privato; in realtà essi sono usati anche nel contesto del NAT).

I porti Registrati e Dinamici vengono utilizzati da applicazioni multimediali mentre sono già in

comunicazione : esse, sul canale di signaling (di controllo), si mettono d’accordo sul porto da utilizzare per

scambiarsi informazioni, trattandosi perciò di un porto assegnato dinamicamente.

Tutte le connessioni http arrivano per default sul porto 80.

( così dovrebbe funzionare, ma in realtà non più )

Livello Trasporto: cenni

Due tipologie di protocolli:

• TCP (Transmission Control Protocol):

- connection oriented

- trasferimento affidabile

- congestion control (recap: quando i livelli 4 di sorgente e destinazione si accorgono che la comunicazione

si avvicina alla congestione, riducono i flussi di trasmissione)

- nessuna garanzia su velocità di trasmissione e ritardo

(un’applicazione su TCP non deve perdere i pacchetti)

In alternativa, si ha:

• UDP (User Datagram Protocol):

- connection less

- trasferimento non affidabile

- no congestion control

- garanzie sul rispetto di una velocità minima (processi real-time)

(un’applicazione su UDP può perdere i pacchetti, ma è time sensitive per la trasmissione dei dati).

Attualmente, la percentuale di traffico UDP si è notevolmente ridotto. Interazione Client->Server

Occorre conoscere l’IP del

Server(ma esso potrebbe

non esserci proprio o non

star funzionando); Il client

apre una connessione ed

invia il messaggio in un

socket con l’IP Server, si

prende un “efimered port” ?

e lo associa all’uscita.

Riposta: il sorgente come

indirizzo di destinazione e

l’efimered port diviene

mittente (DA

CONTROLLARE)

Ogni duo request-response

non è accoppiato, ovvero non esiste uno stato per esso.

HTTP

Vengono studiate due versioni di http: 13

- http/1.0 (persistente)

- http/1.1 (non persistente)

Il protocollo HTTP/1.0

• Si basa su TCP

• Il client apre un socket verso il porto 80 (se non diversamente specificato) del server

• Il server accetta la connessione

• Il client manda una richiesta

• Il server risponde e chiude la connessione

• Il protocollo è definito/descritto nelle RFC

- http1.0: RFC 1945

- http1.1: RFC 2068, RFC 2616

• Il protocollo HTTP è stateless (privo di stato): né il server né il client mantengono a livello http

informazioni relative ai messaggi precedentemente scambiati (perché, benché risulti fattibile creare uno

stato per i client, come può invece mantenersi lo stato per il server?)

(i cookies dei siti servono a “mantenere” lo stato)

Esempio di comunicazione tramite http/1.0 : 14

Una delle

problematiche risiede

nel tempo impiegato. 15

Esiste un vantaggio tra http 1.0 e 1.1 pipeline se tutte le risorse sono tutte sullo stesso server. Dove è

scritto se sono sullo stesso server? Domanda esame. 16

Il protocollo http

Per effettuare richieste, specificare cosa si richiede, rispondere alle richieste, si rende necessario un

opportuno protocollo. Per lo scambio di documenti, su Internet si usa il protocollo http (che è comunque

usato anche per altri scopi). È un protocollo testuale, per il quale i messaggi sono costituiti da sequenze di

byte. Ogni byte identifica un carattere secondo la tabella ASCII. In certi casi, il payload dei messaggi può

esser

Dettagli
Publisher
A.A. 2022-2023
22 pagine
SSD Scienze matematiche e informatiche MAT/05 Analisi matematica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher alesole20 di informazioni apprese con la frequenza delle lezioni di Reti di calcolatori e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli studi di Napoli Federico II o del prof Pescapè Antonio.