1 / 34

Comunicazione nelle reti – protocolli

Comunicazione nelle reti – protocolli. Abbiamo visto che la comunicazione tra due calcolatori in una rete è governata da un insieme di regole che prendono il nome di protocollo Un protocollo fornisce delle funzionalità per: Indirizzamento (addressing) Instradamento (routing)

sidone
Télécharger la présentation

Comunicazione nelle reti – protocolli

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Comunicazione nelle reti – protocolli • Abbiamo visto che la comunicazione tra due calcolatori in una rete è governata da un insieme di regole che prendono il nome di protocollo • Un protocollo fornisce delle funzionalità per: • Indirizzamento (addressing) • Instradamento (routing) • Gestione di eventuali errori di trasmissione (error detection, error recovery, sequence control) • Gestione della velocità di comunicazione (flow control)

  2. Protocolli • Un protocollo “monolitico” che realizzi tutte le funzionalità necessarie per la comunicazione tra elaboratori in rete è difficile da realizzare • Inoltre, se cambia qualche componente della rete, si deve modificare l’intero protocollo • Per ridurre la complessità di progettazione la maggior parte dei protocolli è organizzata come una serie di livelli

  3. Comunicazione multilivello Tedesco Francese Francese a inglese Inglese a tedesco Inglese Inglese

  4. Comunicazione multilivello • Qualcosa di simile accade nei protocolli di comunicazione tra calcolatori • Si ipotizzano dei livelli e • Il livello n di un calcolatore comunica (virtualmente) con il livello n di un altro calcolatore • In realtà nessun dato viene trasferito da un livello n ad un altro (n>1) ma passa ad un livello sottostante • Un protocollo di livello n svolge le sue funzioni usando i servizi forniti dal livello n-1 e fornisce i servizi al livello n+1

  5. Comunicazione multilivello • Per ogni coppia di livelli adiacenti esiste una interfaccia • Le convenzioni usate nella conversazione sono il protocollo • Si tratta di un accordo tra i participanti su come deve avvenire la comunicazione • Al di sotto del livello più basso c’è il mezzo fisico che serve per il trasferimento dei dati

  6. Comunicazione multilivello: ISO - OSI • Modello teorico di riferimento per definire le caratteristiche della comunicazione multilivello • OSI: Open Standard Interconnection

  7. Comunicazione multilivello: ISO - OSI • Modello teorico di riferimento per definire le caratteristiche della comunicazione multilivello • OSI: Open Standard Interconnection Per esempio: Servizi per utilizzo delle rete Comunicazione end-to-end Indirizzamento, routing tra reti

  8. Comunicazione multilivello: ISO - OSI

  9. Comunicazione multilivello: ISO - OSI • Il livello n di un calcolatore comunica virtualmente • con il livello n di un altro calcolatore • In realtà nessun dato viene trasferito da un livello n ad • un altro ma passa ad un livello sottostante

  10. Comunicazione multilivello: ISO - OSI • I livelli più bassi sono quelli più vicini all’hardware e definiscono delle regole di basso livello che consentono di “azzerare” le differenze tra le diverse reti fisiche • Si introduce un livello virtuale uniforme sul quale si basano i livelli successivi che possono essere definiti in modo indipendente dalle reti fisiche sottostante

  11. Internet La reti delle reti: collega fra loro reti locali, metropolitane, geographiche e singoli computer di tutto il mondo

  12. Internet • 1990: 3000 reti e 200.000 computer (detti host) • 1992: viene collegato il milionesimo host • Agli esordi il numero di host cresce in modo esponenziale mentre in questi anni si osserva un rallentamento, con incremento annuo del del 6% • 2002: hanno accesso ad Internet 457 milioni di persone (di cui 174 milioni negli Stati Uniti)

  13. Internet • Una macchina è in Internet se: • utilizza il protocollo TCP/IP • ha un suo indirizzo IP (Internet Protocol) • ed ha la capacità di spedire pacchetti IP a tutte le altre macchine su Internet • È possibile essere in Internet anche in modo temporaneo chiamando un fornitore di servizi Internet (mediante un modem) • Si parla di Internet Service Provider (ISP)

  14. La famiglia di protocolli TCP/IP Application layer … HTTP FTP SMTP TELNET … DNS TCP UDP Transport layer Network layer IP Link + physical layer

  15. Network layer: IP • Internet può essere vista come una collezione di sottoreti diverse (eterogenee) connesse tra loro (internetworking) • La “colla” che tiene insieme le varie sottoreti è l’Internet Protocol (IP) • Permette di trasportare i dati dalla sorgente alla destinazione, sfruttando la presenza di reti intermedie lungo il percorso

  16. Network layer: IP • Una entità di livello Network è presente su tutti i dispositivi ad Internet • Trasmissione di tipo packet switching

  17. Network layer: IP • Ogni computer collegato ad Internet possiede un indirizzo univoco detto indirizzo IP (32 bit) • I 32 bit di un indirizzo IP sono suddivisi in 4 campi da 8 bit ciascuno • Per esempio: 10000000000101000011111010101011 • Di solito si usa una rappresentazione formata da 4 numeri decimali seperati da un punto • Per esempio: 128.10.2.30

  18. Network layer: IP • Gli indirizzi IP devono essere univoci • Quando vi collegate ad Internet da casa è il provider che vi assegna un indirizzo IP scegliendolo tra quelli che ha acquistato

  19. Network layer: IP • IP fornisce anche l’instradamento (routing) dei pachetti tra mittente e destinario • Protocollo di routing: • Scopo: determinare un “buon” percorso nella rete tra sorgente e destinazione • Percorso “buono”: in genera significa “più corto” • La topologia della rete può cambiare (qualche router o link si può guastare)

  20. Transport layer • Il compito del livello Transport è quello di fornire un trasporto affidabile dall’host di origine a quello di destinazione, indipendentemente dalla rete utilizzata • In Internet il protocollo di questo livello è chiamato Transmission Control Protocol (TCP)

  21. Transport layer • Si deve specificare la destinazione finale, cioè si deve decidere come è fatto l’indirizzo del livello di trasporto • TSAP = <indirizzo NSAP, informazione supplementare> • TSAP: Transport Service Access Point • NSAP: Network Service Access Point • TSAP per TCP: <indirizzo IP mittente, porta mittente>

  22. Application layer • Si colloca al di sopra del livello Transport ed è il livello nel quale viene svolto il “lavoro utile” per l’utente • In questo livello si trovano diversi protocolli, alcuni relativi alle applicazioni che usiamo abitualmente in Internet • SMTP: Simple Mail Transfer Protocol • FTP: File Transfer Protocol • TELNET • HTTP: HyperText Transfer Protocol

  23. Application layer • I protocolli del livello Application sono basati sul modello di interazione client/server • Per usare i servizi messi a disposizione mediante questi protocolli bisogna contattare un server • Per esempio: tutte le volte che usate il browser e richiedete delle pagina di un sito web, di fatto state contattando un web server remoto • Per esempio: tutte le volte che inviate una e-mail di fatto del vostro provider contatta il mail server del provider del vostro destinario

  24. Application layer: DNS • Gli indirizzi IP numerici sono difficili da ricordare • Si usano quindi degli indirizzi simbolici che sono più significativi per l’essere umano • di.unito.it, cs.bham.ac.uk, developer.netscape.com • Questi nome vengono tradotti in indirizzi IP numerici mediante il Domain Name System (DNS) • Gli indirizzi simbolici hanno un formato come quello seguente … nome5.nome4.nome3.nome2.nome1

  25. Application layer: DNS • Sono costruiti a partire da uno schema gerarchico di nomi basato sul concetto di dominio root … … com edu gov mil net org au it zw Livello 1 unito unige gnu Livello 2 www.gnu.org di psych disi Livello 3 www www.di.unito.it www www elios Livello 4

  26. Application layer: DNS • Domini di primo livello (top level)

  27. Application layer: DNS • Ogni dominio deve essere in grado di “risolvere i nomi” dei calcolatori di sua competenza • Si usano i name server che gestiscono la corrispondenza tra nomi simbolici e indrizzi IP numerici • Quando un’applicazione deve collegarsi ad una risorsa di cui conosce il nome logico (ad es. www.unito.it), invia una richiesta al suo name server locale

  28. Application layer: DNS • Il name server, se conosce la risposta, la invia direttamente al richiedente • Altrimenti interroga il name server di top level; questi può conoscere l’indirizzo oppure inoltrare l’interrogazione ai suoi figli nella gerarchia • Si continua con le interrogazioni fino a quando non si ottiene l’indirizzo IP numerico della risorsa • Quando l’applicazione riceve la risposta crea una connessione TCP con la destinazione, usando l’indirizzo IP appena ricevuto

  29. Application layer: posta elettronica • Si basa sul protocollo SMTP e permette lo scambio dei messaggi tra gli utenti collegati alla rete • È necessario fornire: • L’indirizzo del mittente • L’indirizzo del destinario • Il corpo del messaggio Gli indirizzi devono avere un formato ben preciso

  30. Application layer: posta elettronica • Viene implementata in Internet attraverso la cooperazione in due sottosistemi • Mail User Agent (MUA) che permette all’utente di comporre il proprio messaggio, di leggere i messaggi in arrivo, … • Mail Transport Agent (MTA) che si occupa di trasportare i messaggi sulla rete fino alla consegna al Mail Transport Agent di destinazione

  31. Application layer: posta elettronica (SMTP) • Si occupa del trasporto dei messaggi in Internet • Quando l’utente, dopo aver composto il messaggio, preme il pulsante Send, il suo client di posta contatta il server SMTP • Il server SMTP chiede al DNS l’indirizzo del server SMTP che si trova nel dominio del destinario • Si apre una connessione TCP, poi una conversazione tra i due server e viene consegnato il messaggio

  32. Application layer: posta elettronica (SMTP) • Quando il destinario usa il pulsante Get Mail del suo programma di posta elettronica di fatto il suo MUA contatta il MTA per scaricare la posta in arrivo • Si possono usare due protocolli diversi: • POP3 (Post Office Protocol) • IMAP (Internet Mail Access Protocol)

  33. Application layer • Trasferimento file: • Si basa sul File Transfer Protocol (FTP) • Permette di collegarsi a siti remoti per prendere (download)/salvare (upload) file • L’accesso può essere riservato (tramite login e password) oppure aperto a tutti (si parla di anonymous ftp) • Collegamento remoto: • Telnet: permette di collegarsi a calcolatore che si trovano in località remote per lavorare interattivamente su di essi

  34. Application layer: World Wide Web • Si basa sul protocollo HTTP (HyperText Transfer Protocol) che gestisce l’interazione tra un client e un server web • Client e server si scambiano dei messaggi • Richieste da parte del client • Risposte da parte del server • Piú precisamente: • L’utente richiede una pagina residente su un server e il suo browser richiede una connessione TCP con il server • Il server accetta la connessione iniziata dal browser • Il browser ed il server si scambiano messaggi • La connessione viene chiusa

More Related