Inter-net-working Insieme delle attività che riguardano lo sviluppo delle tecniche hardware e software per far funzionare (working) tra loro (inter) due o più reti (net) proprietarie diverse (eterogenee), al fine di superare l’incompatibilità tra le differenti reti Le soluzioni proposte – –Hardware: router – –Software: il protocollo TCP/IP
Un po’ di storia… Le origini di Internet si possono far risalire al progetto americano DARPA (Defense Advanced Research Project Agency)(inizi anni 70') Necessità di interconnettere reti dei centri militari, universitari e di ricerca: definizione della rete ARPANET 1973 viene commissionato all'Università di Stanford il progetto di una suite di protocolli standard che garantissero connettività a livello di rete Verso la fine degli anni ’70 al completamento dell’Internet Protocol Suite, di cui i due protocolli più noti sono il TCP e l’IP Il nome più appropriato per l’architettura di rete rimane quello di Internet Protocol Suite, anche se comunemente si fa riferimento ad essa con la sigla TCP/IP I protocolli appartenenti a questa architettura sono specificati tramite standard denominati RFC (Request For Comments) (
Internet Nel tempo si è trasformata rapidamente nella più praticata via d'informazione oggi presente. E’ costituita da migliaia di reti autonome organizzate intorno a poche dorsali, formate da speciali router collegati da linee di trasmissione dati a elevate velocità. Ai nodi di una dorsale accedono poi altre reti che ricoprono spazi sempre minori, da una regione fino a quelli di una città o di un singolo ufficio
Internet: dal punto di vista tecnico Rete a commutazione di pacchetto Connessione di sottoretti composta da migliaia di elaboratori eterogenei Progettata secondo il modello ISO/OSI Si appoggia sullo stack (o suite ) di protocolli TCP/IP che suddivide l’informazione in pacchetti e la ricostruisce a destinazione e che prende il nome dai due più importanti protocolli in essa definiti. nod o informazi one
TCP/IP Tranmission Control Protocol / Internet Protocol E’ un insieme di protocolli utilizzati da Internet NOTA:i due livelli più bassi non sono specificati: il protocollo IP si può innestare su qualunque livello sottostante, quindi su qualunque rete
InternetLANMANWAN FISICO +COLLEG. DATI IP Internet Protocol RETE TCP Transport Control Protocol UDP User Datagram Protocol TRASPORTO FTP File Transfer protocol HTTP Hyper Text Transfer Protocol SMTP Simple Mail Transfer Protocol DNS Domain Name System APPLICAZIONE + PRESENTAZIONE + SESSIONE TFTP Trivial File Transfer Protocol DNS Domain Name System Schema delle relazioni tra alcuni protocolli della pila TCP/IP
___I livelli: Network interface e Internet Rete: – –comprende i primi due livelli (fisico e data link), – –si occupa di istradare fisicamente i pacchetti dalla sorgente fino alla destinazione attraversando i vari sistemi intermedi(router). IP/INTERNET: – –Protocollo principale è IP – –Consente ad un host di inviare pacchetti ad un qualunque altro host della rete indipendentemente gli uni dagli altri e magari per strade diverse, fino alla destinazione.
___Internet Protocol: IP___ Caratteristiche: – –Unreliable: (inaffidabile) la consegna a destinazione dei pacchetti avviene senza preoccuparsi dell’ordine e di eventuali errori – –Connectionless: (servizio senza connessione) ciascun pacchetto viaggia indipendentemente dall’altro attraverso la strada più breve e conveniente. Il percorso non è noto a priori e dipende dalle decisioni dei router situati tra mittente e destinatario. – –Best effort delivery: la rete cerca in ogni caso di portare il dato a destinazione
Le funzioni svolte dal protocollo IP Definizione di un meccanismo di indirizzamento, che permette di definire indirizzi univoci nell’ambito di tutte le reti interconesse Istradamento dei pacchetti: definizione del successivo nodo al quale inviare i pacchetti per permettere che giungano a destinazione Frammentazione dei pacchetti: quando occorre passare da una rete con dimensione di pacchetto maggiore a una rete con una dimensione di pacchetto inferiore. Deve essere previsto un meccanismo che permetta di ricostruire l’informazione originaria
___Il livello TRANSPORT Sono definiti due protocolli in questo livello: - TCP (Transmission Control Protocol): Protocollo orientato alla connessione,(si deve aver la certezza che tutti i pacchetti abbiano raggiunto la destinazione) affidabile (TCP fornisce un servizio full-duplex con conferma e controllo di flusso) – UDP (User Datagram Protocol):protocollo non orientato alla connessione (connectionless), inaffidabile non garantisce né l’arrivo dei pacchetti a destinazione, né la ritrasmissione in caso di perdita d’informazione, né la corretta sequenza. I dati vengono trasmessi in pacchetti chiamati datagram di dimensioni prestabilite UDP viene utilizzato da applicazioni che non richiedono acknowledgment e che trasmettono pacchetti di piccole dimensioni.
Il protocollo TCP Orientato alla connessione: prima di poter trasmettere dati deve stabilire la comunicazione creando un circuito virtuale che viene esplicitamente chiuso quando non più necessario. Orientato al flusso di dati: considera il flusso di dati dall’host mittente fino al destinatario Trasferimento con buffer: i dati sono memorizzati in un buffer e poi inseriti in un pacchetto quando il buffer è pieno Connessione full duplex (bi-direzionale): una volta instaurata una connessione, è possibile il trasferimento contemporaneo in entrambe le direzioni della connessione
Pacchetti persi TCP utilizza il riscontro positivo con ritrasmissione (positive acknowledgment with retransmission) per garantire una trasmissione affidabile TCP utilizza il riscontro positivo con ritrasmissione (positive acknowledgment with retransmission) per garantire una trasmissione affidabile Il ricevente invia un messaggio di riscontro (acknowledgment,ACK) al mittente per confermare la ricezione corretta dei dati Il ricevente invia un messaggio di riscontro (acknowledgment,ACK) al mittente per confermare la ricezione corretta dei dati Il mittente imposta un timer quando trasmette un messaggio; Il mittente imposta un timer quando trasmette un messaggio; se il tempo finisce prima di ricevere il relativo riscontro il mittente ritrasmette i dati(reimpostando il timer) se il tempo finisce prima di ricevere il relativo riscontro il mittente ritrasmette i dati(reimpostando il timer)
La sessione TCP: Scambio dati Ogni pacchetto viene numerato prima dell’invio in modo che il ricevitore possa riassemblare i segmenti. Se un segmento manca ne viene richiesta la ritrasmissione.
Il protocollo UDP UDP(user datagram protocol) connectionless senza ACK e senza garanzia di affidabilità. Il rilevamento di errori e la ritrasmissione deve essere gestita da protocolli di livello più alto. UDP non ha ACK => determina un traffico sulla rete inferiore rispetto TCP UDP è utilizzato quando i dati inviati non necessitano di conferma o perché la rete è ritenuta sufficientemente affidabile o perché l’applicativo che utilizza il servizio di trasporto sarebbe troppo penalizzato. Quando conviene utilizziare UDP? Quando si vuole evitare dei ritardi nella trasmissione dei dati (l'attesa degli ACK).
___Il livello application___ Sopra il livello transport c'è direttamente il livello application, che contiene tutti i protocolli che vengono usati dalle applicazioni reali I più famosi sono: Telnet: Terminale virtuale permette ad un utente di sfruttare le risorse di un altro calcolatore remoto (CPU, hard disk, programmi, ecc.), come se fossero quelle del proprio sistema FTP (File Transfer Protocol): per trasferi file in Internet DNS: (Domain Name System): mappa il nome mnemonico assegnato alla macchina in un indirizzo IP
SMTP (Simple Mail Transfer Protocol): per la trasmissione via internet di . IMAP (Internet Message Access Protocol): per accedere ad un mail server e gestire i messaggi come se si stesse lavorando in locale, per cui non è necessario scaricare i file Transfer Protocol): per il trasferimento di pagine ipertestuali e di risorse nel World Wide Web.
DNS ( domain name system): un approfondimento Ad ogni calcolatore collegato a Internet (host) è associato un indirizzo IP Utilizzo di nomi simbolici da parte degli utenti Necessità di una traduzione dei nomi simbolici in indirizzi IP prima del loro utilizzo (posta elettronica, www, …) Il software che esegue la traduzione rappresenta un esempio di applicazione client/server : il client fornisce il nome simbolico di un host ed il server restituisce l’indirizzo IP corrispondente. A differenza degli altri servizi (web, , FTP) il servizio DNS è invisibile all’utente.
Funzionamento Prospettiva del client: DNS come scatola nera (servizio di traduzione). Il cliente invia un messaggio di richiesta DNS specificando l’hostname che deve essere trasformato in indirizzo IP Dopo un ritardo che va da msec a decine di secondi il client riceve un messaggio di risposta DNS che fornisce la correlazione desiderata, e può pertanto contattare il sito desiderato La scatola nera è molto complessa e consiste di un gran numero di server dei nomi distribuiti sulla terra. Es. di db distribuito implementato in Internet.
Soluzione centralizzata Un solo server dei nomi che contiene tutte le correlazioni: i client indirizzano le richieste al server che risponde direttamente ai client. Problemi: - Un punto singolo di guasto - Volume di traffico - Database centralizzato distante (word wide wait) - Manutenzione
Soluzione decentrata L’archivio dei nomi simbolici è distribuito tra più server situati in diverse località e collegati tra loro. Il client invia il nome simbolico ad uno di questi server. Se il server non è in grado di stabilire la corrispondenza tra nome simbolico e indirizzo IP diventa client nei confronti di un altro server e così via fino a trovare l’indirizzo IP cercato.
Struttura dei nomi simbolici Dal punto di vista sintattico un nome è una sequenza di segmenti alfanumerici separati da un punto. Es: deis.unibo.it La prima parte del nome rappresenta uno specifico calcolatore (host) La seconda parte rappresenta il gruppo che lo possiede. La terza parte (in generale, quella più a destra) rappresenta il top level domain
… Teoricamente non c’ è limite al numero dei segmenti. Ciascun ente stabilisce il numero ed il significato dei segmenti. Es: lia.deis.unibo.it Per il segmento più significativo (top level) il DNS stabilisce i valori possibili ed il loro significato.
Top level domains TLD (Top Level Domain): quattro categorie principali: 1. Codici identificativi delle singole nazioni: it, fr,… (country code TLD) 2. Tre TLD che esistono solo negli Stati Uniti: mil, edu, gov 3. TLD generici utilizzabili da soggetti in qualunque nazione: org, com, net,… Suffisso int riservato alle organizzazioni nate in seguito a trattati internazionali
Servizi offerti Basandosi sui protocolli Internet offre vari servizi – –Accedere a pagine multimediali in ambiente WWW – –Inviare e ricevere messaggi via – –Partecipare a gruppi di discussione (News-group) – –Scaricare programmi e documenti (FTP). – –Accedere dal proprio PC ad un altro connesso in rete con (Telnet) – –Semplicemente chiacchierare (chat)
___Indirizzi di Internet___ L'indirizzamento IP permette di identificare ogni host all'interno di una rete TCP/IP. Grazie all'utilizzo delle classi di indirizzi è possibile organizzare e gestire in modo più efficiente il proprio network. Ogni computer (interfaccia di rete) per collegarsi a internet deve possedere un indirizzo numerico univoco chiamato IP Address Esistono due tipi di indirizzi IP: IPv4 usato ampiamente nelle reti attuali, e IPv6 destinato a sostituire il primo per far fronte alla crescente richiesta di indirizzi IP
IPv4 Un indirizzo IP, chiamato anche indirizzo logico, rappresenta quindi un identificativo software per le interfacce di rete. Un IP Address è un numero di 32 bit (→ 2 32 = 4,3 miliardi di indirizzi diversi) suddiviso in quattro gruppi da 8 bit ciascuno, la forma con la quale viene solitamente rappresentato è detta decimale puntata (Dotted Decimal). Esempio indirizzo IP in numerazione binaria: IP decimale: NOTA : con 8 bit si può al massimo rappresentare in decimale il numero 255 Essendo ogni numero rappresentato da 8 bit, può assumere un range di valori da 0 a 255. Con 32 bit per indirizzo è possibile avere combinazioni di indirizzi diversi. In realtà esistono alcuni indirizzi particolari, di conseguenza non tutti i valori sono disponibili per identificare un host nella rete. Ogni indirizzo IP è diviso in 2 parti : Network address (Indirizzo di rete) Network address (Indirizzo di rete) Host address (Indirizzo host, computer ospite) Host address (Indirizzo host, computer ospite) Le parti dell'indirizzo IP utilizzate come indirizzi di rete e di host non sono fisse. Per determinare questa informazione è necessario un altro numero a 32 bit denominato subnet mask.
LE SUBNET MASK Per il corretto funzionamento di una rete, ogni host deve poter distinguere quale parte dell'indirizzo identifica l'host e quale la rete. Questo può avvenire grazie all'ausilio delle subnet mask (Maschere di sottorete). Per determinare quale parte dell’indirizzo identifica l’host e quale invece identifica la rete in cui si sta lavorando viene effettuata una Subnet mask:
Con il processo sopra raffigurato viene effettuata una AND bit a bit tra i 32bit dell’indirizzo IP (qui rappresentati in forma decimale) e gli altrettanti bit della subnet mask, il risultato dell’operazione identifica così la rete mentre i bit mascherati identificano l’host:
INDIRIZZI SPECIALI: NETWORK, BROADCAST E LOOPBACK network e broadcast e loopback: Esistono alcuni particolari indirizzi di rete che non possono essere assegnati per l'identificazione di un host, tra questi abbiamo: network e broadcast e loopback: - Network: quando i bit dell'ottetto che rappresenta l'host hanno tutti valore 0, l'indirizzo è detto di rete o Network Address: ; : quando tutti i bit hanno valore zero, identificano "questo host"; Broadcast - Broadcast: quando i bit del numero che rappresenta l'host hanno tutti valore 1, l'indirizzo è detto di broadcast o broadcast address, e rappresenta tutti gli host di quella rete. Inviare un pacchetto all'indirizzo equivale a mandare un pacchetto a tutti gli host della rete ; Broadcast di rete - Broadcast di rete: abbiamo questo tipo di indirizzo quando tutti i bit, sia della parte relativa all'host sia della parte relativa alla rete hanno valore 1. Inviare un pacchetto a significa inoltrarlo verso tutti gli host della rete corrente; Loopback - Loopback: è utilizzato per funzioni di test del protocollo TCP/IP, non genera traffico di rete e corrisponde all'indirizzo ;
CLASSI DI INDIRIZZI Per permettere una migliore organizzazione della rete, gli indirizzi disponibili sono stati suddivisi in classi in base alle dimensioni del network da gestire. In questo modo verranno utilizzate le classi più adatte ad alla dimensioni della rete, con conseguente minore spreco di IP address. Sono disponibili cinque classi di indirizzi IP, di cui solo le prime tre possono essere utilizzate per assegnare indirizzi agli host.
CLASSE A: CLASSE A: Sono concepiti per poche reti di dimensioni molto grandi. Gli indirizzi di classe A sono riconoscibili in quanto il il bit più significativo del primo byte è posto a zero, e quindi il primo campo dell'indirizzo è compreso tra 0 e 127. I bit che indicano la rete sono 7 e quelli che indicano l'host 24. Quindi si possono avere al massimo 128 reti di classe A, ciascuna con una dimensione massima di circa 16 milioni di indirizzi. CLASSE B: CLASSE B: Sono pensati per un numero medio reti di dimensioni medio-grandi. Gli indirizzi di classe B si riconosconno perchè i 2 bit più significativi del primo byte sono posti a 10, quindi il primo campo dell'indirizzo è compreso tra 128 e 191. I bit che indicano la rete sono 14 e quelli che indicano l'host 16. Si possono avere circa reti di classe B, ciascuna con circa indirizzi.
CLASSE C: CLASSE C: identificaNO molte reti di dimensioni piccole. Gli indirizzi di classe C hanno i primi 3 bit settati a 110 e quindi il primo campo dell'indirizzo è compreso tra 192 e 223. I bit che indicano la rete sono 21 e quelli che indicano l'host 8. Quindi si possono avere al massimo 2 milioni di reti di classe C, ciascuna con una dimensione massima di 256 indirizzi. CLASSE D CLASSE D. Sono indirizzi usati per applicazioni di multicast. Gli indirizzi di classe D si riconoscono perchè i primi 4 bit del primo byte sono settati a 1110, e quindi il primo campo dell'indirizzo è compreso tra 224 e 239 Classe E Classe E: sono riservati per usi futuri. Gli indirizzi di classe E hanno i 4 bit più significativi settati a 1111, e quindi il primo campo dell'indirizzo è compreso tra 240 e 255.
___Le subnet mask___ Per il corretto funzionamento di una rete, ogni host deve poter distinguere quale parte dell'indirizzo identifica l'host e quale la rete. Questo può avvenire grazie all'ausilio delle subnet mask (Maschere di sottorete). Per quanto riguarda le classi A B C standard, esistono delle subnet di default: - Classe A: Rete.Host.Host.Host ha come subnet ; - Classe B: Rete.Rete.Host.Host ha come subnet ; - Classe C: Rete.Rete.Rete.Host ha come subnet ;
___Il processo di messa in AND___ Due host per poter comunicare direttamente devono appartenere alla stessa sottorete. Per verificare ciò il mittente mette in AND la propria maschera con il suo indirizzo IP e con quello del destinatario. Se i risultati sono uguali: comunicazione diretta Se i risultati sono diversi: è necessario un router Es. Host A IP subnet vuole inviare dei pacchetti ad un Host B IP subnet , Host A: : Ip address : Subnet mask : Ris op Host B: : Ip address : Subnet mask : Ris op I risultati sono uguali: comunicazione diretta
___Indirizzi IP Privati___ Alcune classi di indirizzi vengono chiamati privati e sono utilizzati per i client di una LAN non connessi direttamente ad internet: es a con sm: Questi indirizzi non possono essere utilizzati in Internet, e sono riservati per utilizzi in reti interne. Qualora però un host all'interno di un lan si connetta ad internet il suo indirizzo verrà riscritto tramite NAT (Network Address Traslation) da un router. In tal modo più utenti della rete locale possono operare simultanemamente con Internet, utilizzando un solo indirizzo IP.Internet
Le Porte Le porte sono lo strumento utilizzato per permettere ad un utente di utilizzare contemporaneamente più applicativi distinti, facendo in modo che i dati contenuti nei pacchetti in arrivo vengano indirizzati al processo che li sta aspettando.pacchettiprocesso Le porte sono numeri (in TCP e UDP sono a 16 bit) utilizzati per identificare una specifica applicazione di rete su un computerTCPUDP Quando si invia una richiesta(il pacchetto) al server, questa contiene un campo porta, che consente al server di rispondere passando i dati al protocollo applicativo specificato. Gli applicativi standard normalmente utilizzano una porta standard (es.HTTP 80)
Gli standard digitali per le reti pubbliche (si rimanda a pagg ) ISDN (Integrated Services Digital Network) standard internazionale per trasmettere sulla stessa linea telefonica voce, video e dati con velocità di 64Kbps. La connnessione ISDN offre in genere due linee: una per la voce e l’altra per i dati. Negli ultimi anni questo tipo di linee è stata sostituita a favore dell’ADSL ADSL (Asymmetrical Digital Subscriber Line) standard per la trasmissione di informazioni multimediali ad alta velocità sulle linee esistenti, su normale cavo telefonico. La velocità di download (8 Mbps a 24 Mbps) è più alta rispetto alla velocità di upload (0,8-1 Mbps) perché il flusso di dati in download è statisticamente superiore che in upload
Bibliografia icons/fotosettori/intenetworking pdf icons/fotosettori/intenetworking pdf icons/fotosettori/intenetworking pdf icons/fotosettori/intenetworking pdf lib/diz.cgi?name=udp lib/diz.cgi?name=udp lib/diz.cgi?name=udp lib/diz.cgi?name=udp TCP.pdf TCP.pdf TCP.pdf TCP.pdf Protocol Protocol Protocol Protocol /telecomunicazioni/classi_di_reti.pdf /telecomunicazioni/classi_di_reti.pdf /telecomunicazioni/classi_di_reti.pdf /telecomunicazioni/classi_di_reti.pdf 04.pdf 04.pdf 04.pdf 04.pdf