Università degli Studi di Catania FACOLTA DI MEDICINA E CHIRURGIA Elementi di Informatica Anno accademico: 2008/2009 Docente: Dr. Angelo Nicolosi angelo.nicolosi@unict.it
I protocolli di Internet TCP / IP Il TCP definisce come i dati sono suddivisi in pacchetti come in arrivo sono riassemblati come si comunica all'altra macchina che i pacchetti sono stati ricevuti come pacchetti persi vengono ritrasmessi; IP definisce come i pacchetti vengono inviati a destinazione come sono fatti gli indirizzi di rete
Indirizzo MAC Ogni singola scheda di rete contiene un indirizzo prefissato (è un numero univoco) che la identifica nella LAN di appartenenza. Questo numero è tecnicamente chiamato indirizzo MAC o indirizzo Ethernet.
TCP / IP I dati vengono inviati da computer a computer mediante pacchetti di pochi byte, tecnicamente detti frame Ethernet che al loro interno incapsulano il MAC del pc di destinazione (più precisamente il MAC della scheda di rete del computer di destinazione). L'invio di un dato avviene mediante pacchetti in sequenza composti da due parti distinte: l'header ed una parte di dati (che fanno parte ovviamente del dato di origine). L'header rappresenta il MAC della scheda di destinazione.
Routing Tramite il routing viene scelto il percorso che consente di ottenere le prestazioni migliori In caso di guasto di un nodo, la rete sceglie un percorso alternativo, eventualmente con prestazioni inferiori, ma non si interrompe Il costo da pagare è una minore efficienza Questa caratteristica viene detta fault tolerance (tolleranza ai guasti)
IP In dettaglio l'ip è un numero a 32 bit con una notazione particolare: es. 192.168.90.30. in questo caso il valore corrispondente in binario è 1100000010101000101101011110. In totale si possono avere dunque 2 32 possibili indirizzi. Lo schema degli indirizzamenti IP è stato definito dall'internet Network Information Center (InterNIC), con regole molto precise (o classi)
L'IP è formato da due parti: l'identificativo di rete che è un numero che identifica la rete in cui si trova il computer, mentre la seconda parte rappresenta l'host all'interno di quella stessa rete (tecnicamente chiamato identificativo dell'host). IP Un computer connesso in rete è chiamato host oppure nodo.
IP: Classi di indirizzi classe A: il primo byte rappresenta la rete, gli altri l'host; 1.0.0.0-127.255.255.255 classe B: i primi due byte rappresentano la rete, gli altri l'host; 128.0.0.0-191.255.255.255. classe C: i primi 3 byte rappresentano la rete, gli altri l'host; 192.0.0.0-223.255.255.255. classe D: riservata agli indirizzi multicast 224.0.0.0-239.255.255.255 classe E: riservata per usi futuri 240.0.0.0-255.255.255.255
Classe IP: Classi di indirizzi Totale Numero di Reti Numero Max di Indirizzi Host Classe A Classe B Classe C 128 16.384 2.097.152 16.777.214 65.534 254
IP Dal momento che nel mondo ci possono essere più computer che numeri IP disponibili, è possibile avere delle reti private, cioè delle reti che non possono essere viste da tutto il mondo ma solo da un ristrettissimo numero di macchine Le reti private hanno ugualmente i loro numeri IP, solo che questi non sono unici, quindi possono essere usati anche ripetutamente in più luoghi (più LAN)
IP Le reti private hanno queste classi di numeri IP: 10.xxx.yyy.zzz 172.16.yyy.zzz 192.168.yyy.zzz A questi occorre aggiungere un indirizzo speciale: 127.0.0.1, detto di loopback (o localhost) e che identifica la stessa macchina cui si riferisce
Un Esempio: Sono due reti interconnese fra loro mediante un router (detto anche gateway).
Un Esempio: Supponiamo l'invio di un dato da parte dell'host A all'host B: il layer IP capisce che l'indirizzo 192.168.3.102 (che rappresenta B) appartiene alla stessa rete di appartenenza di A, quindi i dati vengono inviati direttamente all'indirizzo MAC di B.
Un Esempio: In questo caso l'indirizzo di B è ottenuto mediante il protocollo ARP (Address Resolution Protocol). Questo protocollo è più o meno semplice: invia una richiesta a tutte gli host della medesima rete. Ogni macchina riceve questo piccolo pacchetto di byte (detto broadcast) A questo punto A costruisce un frame Ethernet con l'indirizzo di destinazione corretto ed i dati sono spediti a B.
Un Esempio: Se l host A vuole inviare i dati a l host K, i pacchetti di dati giungono ad un IP predefinito rappresentato dall'host Z che si vede in figura: è proprio il router.
Un Esempio: Il router è un host speciale fa da ponte fra le due reti 192.168.3 e 192.168.4 Quindi A costruisce un pacchetto IP (IP datagram) con l'indirizzo IP del nodo Z nell'intestazione (header), genera una richiesta di tipo ARP per rilevare l'indirizzo MAC di Z.
Un Esempio: Il router prende in esame l'indirizzo di destinazione del datagramma e capisce che l'host destinatario appartiene alla rete a cui esso è connesso in modo diretto (192.168.4), usa ARP per trovare l'indirizzo MAC di K, reincapsula il datagramma IP di A in un nuovo frame Ethernet e finalmente lo spedisce a K.
Un Esempio: Se il router Z riceve un datagramma IP destinato ad un'altra rete alla quale egli non è connesso direttamente, il gateway Z dovrà mandare il pacchetto ad un altro router predefinito e sarà quest'ultimo a fare gli opportuni passaggi visti prima per trovare il corretto destinatario. E' così via a catena: tanti router, tante reti interconnesse fra loro. Non sempre va tutto bene: un router può avere dei problemi e quindi i pacchetti di dati vanno persi. Entra in gioco quindi il TCP.
IP e DNS È sicuramente poco pratico dover utilizzare l'indirizzo IP per un qualsiasi servizio internet. A tal proposito è stato progettato uno stratagemma: sostituire l'indirizzo IP con un nome più facile da ricordare, e molto più pratico. Si tratta del Domain Name System (DNS). Il DNS è un sistema per indicare univocamente una macchina mediante un sistema gerarchico: nicolosi.unict.it --> dominio di 1 livello nicolosi.unict.it --> dominio di 2 livello nicolosi.unict.it --> dominio di 3 livello possono essere creati domini fino al livello 255
DNS(2) Ogni host connesso a internet deve necessariamente avere l indirizzo IP di un qualche server DNS, a sua volta collegato ad un server DNS più grande. Ogni Host può far riferimento a più di un server DNS, indicandone però l ordine di risoluzione
DNS(3) I domini di 1 e 2 livello sono regolamentati da un autorità centrale in tutto il mondo: ICANN, (Internet Corporation for Assigned Name and Numbers), non registra nomi a dominio ma tiene solo un registro degli stessi. InterNIC (InterNet Information Center) Per la registrazione dei nomi a dominio In un sistema governato dal DNS ogni livello gerarchico è separato dagli altri da un punto (. ) Il livello gerarchico che sta a destra nella scrittura ha sempre un importanza maggiore
DNS Ogni nazione può avere un autorità locale (in Italia: Network Information Center italiana, NIC.it, www.nic.it) Ogni autorità locale può gestire solo il dominio di 1 livello (assegnare o negarne l assegnazione) corrispondente alla propria estensione geografica I domini di 1 livello non geografici sono assegnati solo ed esclusivamente da InterNIC
DNS(4) I domini di 1 livello devono caratterizzare il cont enuto del network identificato it.us, fr,.de,.es,.uk e gli altri sono network di interesse per le relative nazioni.com network commerciali.org network no-profit (non commerciali).mil network militari US.net network di network.biz network dedicati al business.info informazioni personali, aziendali,.name riservato per le singole persone
DNS(5).gov organizzazioni governative.pro organizzazioni professionali.aero riservato alle aziende aereonautiche.coop riservato alle cooperative riconosciute dall ICA.museum riservato ai musei Le altre estensioni di solito usate sono domini geografici, ma spesso vengono utilizzati per altri scopi.
DNS(6).tv isole Tuvaru, ma usato dai network televisivi.dj Dijbouti, usato per i disc-jokey.fm Federazione della Micronesia, usato per le emittenti radio.cd Repubblica Democratica del Congo, ma usato dai siti che hanno a che fare con la musica o con i CD.nu Niue, ma usato per pubblicizzare le novità (new).ph Filippine, usato da compagnie telefoniche.st Sao Tomé, usato come indirizzo stradale (street)
Server Un server è un computer che può offrire uno o più servizi quali: server Web, server di posta elettronica, server DNS, server FTP,.E tanti altri. L'implementazione di base è la cosiddetta architettura client/server
Implementazione client/server sono presenti due tipologie di componenti software: il client e il server, ciascuno avente compiti ben definiti. Il Client è uno strumento a disposizione dell utente e ha il compito di: trasmettere all'opportuno server le richieste di reperimento dati che derivano dalle azioni dell'utente; ricevere dal server le informazioni richieste;
Implementazione client/server Il server è tipicamente un processo in esecuzione su un elaboratore. Esso, di norma, è sempre in esecuzione ed ha il compito di: rimanere in ascolto di richieste da parte dei client; fare del suo meglio per soddisfare ogni richiesta che arriva: consegnare il dato richiesto, altrimenti restituire un codice di errore;
Porte TCP Il TCP si occupa dell'identificazione e del controllo dei pacchetti di dati, in modo da destinarli alla corretta porta di un certo server in cui sono presenti determinati servizi. Tutti questi servizi sono identificati mediante delle porte (o porta TCP): 80 identifica il servizio per le pagine web; 21 è per connessioni FTP; 53 identifica il servizio DNS; 110 è riservata al protocollo POP3 (il servizio per la ricezione delle email); 25 è utilizzata dal protocollo SMTP, per l'invio di messaggi di posta elettronica);
Porte UDP E usato in connessioni particolari, come ad esempio connessioni realtime, videostreaming, videogiochi in multiplayer. L'UDP non ha stesso controllo dei dati come il TCP, per cui, ad esempio, se si perde un frame video su 1000, non può rispedire quel frame perduto. Esempio: Nel caso del video streaming non è un problema perdere qualche frame, invece sarebbe un guaio se un file arriva con qualche byte in meno, in quanto sarebbe danneggiato per il destinatario.
La posta elettronica: E-mail Lo scopo del servizio è il trasferimento di messaggi da un utente ad un altro La modalità di accesso al servizio è asincrona: non è necessario che mittente e destinatario siano contemporaneamente attivi o collegati. La consegna al destinatario dei messaggi inviati non è garantita. Il mittente può anche richiedere una conferma di consegna o di lettura dei messaggi inviati
La posta elettronica: E-mail(2) I componenti fondamentali del sistema di e-mail sono: client (Mail User Agent), utilizzati per accedere ad una casella di posta elettronica e per inviare messaggi server, che svolgono due funzioni fondamentali: Immagazzinare i messaggi per uno o più utenti Ricevere i messaggi in arrivo ed in partenza e smistarli. I protocolli tipicamente impiegati sono SMTP, usato per l'invio, la ricezione e l'inoltro dei messaggi tra server POP e IMAP, usati per la ricezione e consultazione dei messaggi da parte degli utenti. È anche molto diffusa la possibilità di consultare una casella e-mail attraverso il web.
Altri servizi Internet IRC (Internet Relay Chat). Consente sia la comunicazione diretta fra due utenti che il dialogo contemporeaneo di interi gruppi in "stanze" di discussione chiamate "canali". FTP (File Transfer Protocol), è un protocollo per la trasmissione di dati tra host basato su TCP. A differenza di altri protocolli come ad esempio HTTP, utilizza due connessioni separate per gestire comandi e dati. Telnet è un protocollo di rete utilizzato su Internet per fornire all'utente sessioni di login remoto di tipo linea di comando tra host su internet Portale è un sito web che costituisce un punto di partenza ad un gruppo consistente di risorse di Internet o di una Intranet. I migliori portali consentono ai loro utenti di personalizzare alcune loro prestazioni.
Internet, Intranet, Extranet Internet si intende tutta la rete di computer collegati tra di loro che permettono ad ogni singolo di accedere alle informazioni che si vogliono rendere pubbliche. Intranet al contrario si intende l utilizzo di tecnologie e risorse tipiche del mondo Internet per collegare i computer, i dipartimenti o le filiali di una particolare azienda tra di loro. Extranet è il passo successivo ed è l unione di una Intranet a Internet per poter comunicare con un altra Intranet. Le informazioni che in questo caso vengono messe a disposizione non sono destinate a chiunque ma solamente ad una ristretta cerchia di collaboratori, autorizzati ad accedervi.