Università degli Studi di Parma

Slides:



Advertisements
Presentazioni simili
Prof. Carla Fanchin – L.S. Tron
Advertisements

Corso di Fondamenti di Informatica
Tecnologie. Reti locati e reti globali Reti locali (LAN, Local Area Networks) –Nodi su aree limitate (ufficio, piano, dipartimento) Reti globali (reti.
Elaborazione del Book Informatico
INTERNET : ARPA sviluppa ARPANET (rete di computer per scopi militari)
Laboratorio Informatica – I lezione
IL NOSTRO LABORATORIO. Di INFORMATICA..
ING. CARLO MANFUCCI COMUNE DI GROSSETO
Internet e Web Dinamico
I modelli di riferimento OSI e TCP/IP
La rete in dettaglio: rete esterna (edge): applicazioni e host
Internetworking.
Sistemi e Tecnologie della Comunicazione
Reti di Calcolatori Domande di riepilogo Quarta Esercitazione
Programmazione su Reti
Architettura del World Wide Web
Internet Control Message Protocol rfc. Error Reporting Testing di affidabilità Controllo di congestione Notifica di route-change Misurazione di performance.
Labbreviazione: WWW letteralmente: World = mondo Wide = esteso Web = rete Può essere tradotta come: Rete estesa in tutto il mondo.
introduzione Cos’è Internet Quali sono i servizi che offre
Corso di Informatica Corso di Laurea in Conservazione e Restauro dei Beni Culturali Gianluca Torta Dipartimento di Informatica Tel: Mail:
RETI E INTERNET.
EUCIP IT Administrator Modulo 4 - Uso Esperto della Rete Modello di riferimento OSI AICA © 2005.
Reti di Calcolatori IL LIVELLO RETE.
Reti di Calcolatori IL LIVELLO RETE.
Reti di Calcolatori MODELLI ISO/OSI e TCP/IP.
4 Cosa è una rete? ã Punto di vista logico: sistema di dati ed utenti distribuito ã Punto di vista fisico: insieme di hardware, collegamenti, e protocolli.
ICMP - PING - TRACEROUTE
Corso di Informatica per Giurisprudenza Lezione 7
Cos’è Internet Una rete globale di reti basata sul protocollo TCP/IP.
Server Web in una rete Windows Sommario Meccanismi di accesso remoto Meccanismi di accesso remoto Introduzione ai Server Web Introduzione ai Server.
Il modello di riferimento OSI
Il World Wide Web Lidea innovativa del WWW è che esso combina tre importanti e ben definite tecnologie informatiche: Documenti di tipo Ipertesto. Sono.
Informatica Lezione 9 Scienze e tecniche psicologiche dello sviluppo e dell'educazione (laurea triennale) Anno accademico:
Corso di Laurea in Conservazione e Restauro dei Beni Culturali
Reti di Calcolatori ed Internet Fabio Massimo Zanzotto.
Internet.
L’architettura a strati
Internet: una panoramica
Distributed System ( )7 TCP/IP four-layer model.
Questo modello può essere utilizzato come file iniziale per la presentazione di materiale didattico per la formazione in gruppo. Sezioni Fare clic con.
Creato da Riccardo Nuzzone
Reti di Calcolatori Sesta Esercitazione
Livello di trasporto Protocolli TCP e UDP.
Configurazione IP4a-1 Configurazione IP Reti II Stefano Leonardi.
Informatica Lezione 10 Scienze e tecniche psicologiche dello sviluppo e dell'educazione (laurea triennale) Anno accademico:
Informatica Lezione 9 Psicologia dello sviluppo e dell'educazione (laurea magistrale) Anno accademico:
Comunicazione nelle reti – protocolli
1 Informatica Generale Alessandra Di Pierro Ricevimento: Giovedì ore presso Dipartimento di Informatica, Via Buonarroti,
1: Introduction1 Stratificazione protocollare (Protocol “Layering”) Le reti sono complesse! r Molti elementi: m host m router m link fisici dalle caratteristiche.
1 Luigi Vetrano Esercitazione di Reti di Calcolatori A.A
Sistemi di elaborazione dell’informazione Modulo 2 -Protocolli di rete TCP/IP Unità didattica 4 -Gestione degli indirizzi Ernesto Damiani Lezione 1 – Assegnazione.
INTRODUZIONE A INTERNET
Servizi Internet Claudia Raibulet
Sistemi di elaborazione dell’informazione Modulo 2 -Protocolli di rete TCP/IP Unità didattica 3 -Instradamento statico Ernesto Damiani Lezione 2 – ICMP.
Sistemi di elaborazione dell’informazione Modulo 2 -Protocolli di rete TCP/IP Unità didattica 6 -User Datagram Protocol Ernesto Damiani Lezione 2 – UDP.
Strato di accesso alla rete (network access layer); comprende le funzioni che nel modello OSI sono comprese negli strati fisico, di collegamento e parte.
Sistemi e Tecnologie della Comunicazione
Protocolli di rete. Sommario  Introduzione ai protocolli di rete  Il protocollo NetBEUI  Il protocollo AppleTalk  Il protocollo DLC  Il protocollo.
Università Roma Tre Corso di laurea magistrale CINEMA TELEVISIONE E PRODUZIONEMULTIMEDIALE Corso “Media digitali: Televisione, video, Internet” Docente:
I NTERNET Rete interconnessa che permette il collegamento tra due host eterogenei, appartenenti a reti differenti separati anche da grande distanze. Internet.
ARCHITETTURA DI RETE Protocollo: insieme di regole che governano le comunicazioni tra i nodi di una rete. La condivisione di queste regole tra tutte gli.
Applicazione Presentazione Sessione Trasporto Rete Data link Fisico OSI Processo / Applicazione Trasporto Rete- Internet Interfaccia di.
INTERNET PROTOCOL SUITE FACOLTA’ DI INGEGNERIA Corso di Laurea Specialistica in Ingegneria delle Telecomunicazioni Docente: Prof. Pasquale Daponte Tutor:
LE RETI Cos’è una rete Un po’ di storia Classificazione delle reti Mezzi fisici di trasmissione Modalità di trasmissione Topologia delle reti Internet.
INTERNET E INTRANET Classe VA SIA. La Storia di INTERNET ’ – ARPANET 1969 – anno di nascita università Michigan - Wayne 1970 – – INTERNET.
1 Il livello transport. Concetti fondamentali - Canale logico e canale fisico 2 Quando un segnale deve essere trasmesso, viene inviato su un Canale, cioè.
II PROVA Svolgimento tramite protocollo ISO/OSI. I LIVELLO : LIVELLO FISICO Scelta del mezzo fisico; tenere conto degli standard IEEE Procedura di codifica.
Raccogliere informazioni ALCUNE DOMANDE FONDAMENTALI È stato modificato qualche componente HW o SW? Il sintomo si presenta regolarmente o ad intermittenza?
LE RETI Cos’è una rete Un po’ di storia Classificazione delle reti Mezzi fisici di trasmissione Modalità di trasmissione Topologia delle reti Internet.
Slide #: 1/232 Internet - Architettura, principali protocolli e linee evolutive Nicola Blefari Melazzi Copyright © 2005 – The McGraw-Hill Companies srl.
Transcript della presentazione:

Università degli Studi di Parma L’architettura di rete TCP/IP

Cenni Storici Nella prima metà degli anni ‘70 la DARPA dimostra interesse e finanzia l’Università di Stanford e la BBN (Bolt, Beraken e Newman) per realizzare una rete: a commutazione di pacchetto; tra elaboratori eterogenei; per le istituzioni di ricerca degli USA. Verso la fine degli anni ‘70 si completa la realizzazione dell’Internet Protocol Suite, di cui i due principali protocolli sono: IP: Internet Protocol; TCP: Transmission Control Protocol. Da cui il nome TCP/IP usato per questa architettura di rete. Nasce la rete Arpanet, prima rete della ricerca mondiale che evolve e diventa Internet.

L’architettura di rete TCP/IP Comprende anche molti altri protocolli, quali: UDP (User Datagram Protocol); NFS (Network File System). È una architettura di dominio pubblico realizzata da tutti i costruttori di calcolatori. Molto spesso è l’unica architettura di rete fornita. Standardizzata con dei documenti detti RFC (Request For Comment).

L’Architettura di rete TCP/IP Application Telnet FTP SMTP SNMP NFS Presentation XDR Session RPC Transport TCP e UDP Network IP ICMP Protocolli di routing Arp e Rarp Data Link Non Specificati Physical OSI Internet Protocol Suite

Sotto l’IP - I livelli 1 e 2 L’architettura TCP/IP è concepita come un mezzo per fare internetworking tra reti (locali o geografiche). È in grado di operare su tutte le reti: Ethernet, token-ring, FDDI ATM, SMDS, Frame Relay X.25 SLIP, PPP, Dialup Esistono realizzazioni di TCP/IP anche per reti non standard.

IP (Internet Protocol) È il livello Network di TCP/IP. Offre un servizio non connesso offrendo un semplice protocollo di tipo Datagram. Un protocollo datato ... ma non obsoleto. Si occupa di: instradare i messaggi; frammentare i messaggi; rilevare gli errori. 4 8 16 19 24 31 Version HLEN Service Type Total Length Identification Flags Fragment Offset Time To Live Protocol Header Checksum Source IP Address Destination IP Address Options PAD

Indirizzi IP Ampi 32 bit (4 byte). Si scrivono come 4 numeri decimali separati dal carattere “.”. Ogni numero rappresenta il contenuto di un byte ed è quindi compreso tra 0 e 255. Esempi: 131.190.0.2 1.1.2.17 200.70.27.33 Esistono 5 classi di indirizzi IP.

Indirizzi IP Classe A Classe B Host Network Host Network Network 7 bit (128 reti) primo decimale dell’ indirizzzo tra 0 e 127 Host 24 bit (16M host) Classe B Network 14 bit (16K reti) primo decimale dell’indirizzzo tra 128 e 191 Host 16 bit (64K host) Host 1 7 8 31 Network 1 15 16 31 2 Host Network

Reserved for Future Use Indirizzi IP Classe C Network 21 bit (2M reti) primo decimale dell’indirizzzo tra 192 e 223 Host 8 bit (256 host) Classi D ed E 1 23 24 31 2 3 Host Network 1 31 2 3 Multicast Address Reserved for Future Use

Subnetting Il campo Host di un indirizzo di classe A, B e C può essere diviso in due parti: subnet host L’ampiezza del campo subnet può essere definito in base a un parametro detto netmask: bit a 1 in corrispondenza dei campi network e subnetwork; bit a 0 in corrispondenza del campo host. Esempio: si supponga di voler partizionare una rete di classe B in 16 subnet da 4096 host: Netmask 11111111 11111111 11110000 00000000 Netmask esadecimale ff ff f0 00 Netmask decimale 255.255.240.0

Subnetting Network Host Network Subnet Host 1 Network Host Indirizzo di classe B prima del subnetting Indirizzo di classe B dopo il subnetting 1 Network Subnet Host

Subnetting IP assume una corrispondenza biunivoca tra reti fisiche e subnet: routing implicito all’interno di una subnet; realizzazioni più moderne ammettono più subnet sulla stessa rete fisica; mai più reti fisiche sulla stessa subnet. Il routing tra subnet diverse è esplicito: gestito dai router tramite tabelle di instrada-mento. All’interno della subnet l’instradamento deve essere fornito dalla rete fisica. Corrispondenza tra gli indirizzi di subnet (indirizzi IP) e gli indirizzi di livello 2 gestita da ARP.

Subnetting Gli host devono conoscere almeno un router presente sulla loro rete fisica. Il protocollo ICMP permette di ottimizzare dinamicamente il routing. Ad esempio sull’host H4: route add default 190.3.1.5 L’instradamento tra subnet diverse viene gestito da tabelle di instradamento presenti sui router. Ad esempio: tabelle di instradamento del router R5; 3 subnet non raggiungibili direttamente. Subnet di Destinazione Indirizzo del router 190.3.1.0 190.3.3.2 190.3.7.0 190.3.3.2 190.3.9.0 190.3.6.8

Subnetting Subnet di Destinazione Indirizzo del router 190.3.1.0 190.3.3.2 190.3.7.0 190.3.3.2 190.3.9.0 190.3.6.8

ARP (Address Resolution Protocol) & RARP (Reverse ARP) Protocolli in broadcast di tipo sollicitation. ARP la stazione che vuole scoprire l’indirizzo MAC di un’altra stazione, di cui conosce l’indirizzo di livello 3, invia la richiesta in broadcast di tipo sollicitation; la stazione sollecitata risponde. RARP usato da stazioni diskless per sapere il proprio indirizzo IP; la stazione che vuole scoprire il proprio indirizzo IP conoscendo il proprio indirizzo MAC, invia la richiesta in broadcast di tipo sollicitation; una stazione sollecitata risponde.

ICMP (Internet Control Message Protocol) Verificare lo stato della rete Echo request ed Echo reply Riportare anomalie Destination Unreachable Time Exceeded for a Datagram Parameter Problem on a Datagram Scoprire la netmask Introdotto nelle ultime versioni Mask Request Address Mask Reply Migliorare il routing Redirect Valore Tipo di Messaggio Echo Reply 3 Destination Unreachable 4 Source Quence 5 Redirect 8 Echo Request 11 Time Exceeded for a Datagram 12 Parameter Problem on a Datagram 13 Timestamp Request 14 Timestamp Reply 15 Information Request 16 Information Reply 17 Address Mask Request 18 Address Mask Reply

Protocolli di Routing Le reti sono raggruppate in Autonomous System cioè in gruppi di reti controllate dalla stessa autorità. I router si dividono in IR (Interior Router) e in ER (Exterior Router). Gli IR si scambiano informazioni di instradamento tramite dei IGP (Interior Gateway Protocol): RIP (Routing Information Protocol) IGRP (Interior Gateway Routing Protocol) OSPF (Open Shortest Path First) Integrated IS-IS Gli ER si scambiano informazioni di instradamento tramite dei Exterior Gateway Protocol (EGP): EGP (Exterior Gateway Protocol) BGP (Border Gateway Protocol)

Nomi e Indirizzi vm.cnuce.cnr.it computer istituto ente nazione Agli indirizzi IP si associano per comodità uno o più nomi memorizzati in un file “hosts”. Il file hosts diviene impraticabile quando la rete IP cresce di dimensione. Si può utilizzare una base di dati distribuita per la gestione dei nomi DNS (Domain Name Server). Non esiste corrispondenza tra domini e reti. Nomi di tipo gerarchico. 223.1.2.1 alpha 223.1.2.2 beta 223.1.2.3 gamma 223.1.2.4 delta mycomputer 223.1.3.2 epsilon 223.1.4.2 iota computer istituto ente nazione vm.cnuce.cnr.it

I protocolli UDP e TCP Due protocolli di trasporto alternativi. Realizzano funzionalità comuni a tutti gli applicativi. Possono operare simultaneamente con molti applicativi diversi, tramite il concetto di porta. Le porte sono il mezzo con cui un programma client su un elaboratore indirizza un programma server su un altro elaboratore: ad esempio un ftp client che voglia connettersi ad un ftp server lo specifica indicando l’indirizzo IP dell’elaboratore remoto e il numero della porta associata allo ftp server. Gli applicativi principali hanno una Well Known Port, ad esempio: Telnet è associato alla porta 23 di TCP; SNMP è associato alla porta 161 di UDP.

I protocolli UDP e TCP UDP PDU Header 4 8 16 19 24 31 UDP Source Port 4 8 16 19 24 31 UDP Source Port UDP Destination Port UDP Checksum UDP Message Length 4 8 16 19 24 31 Source Port Destination Port Sequence Number Acknowledgement Number Checksum Options Window Urgent Pointer Data Offset Res Control Padding TCP PDU Header

UDP (User Datagram Protocol) Protocollo di trasporto di tipo non connesso. Aggiunge due funzionalità a quelle di IP: multiplexing delle informazioni tra le varie applicazioni tramite il concetto di porta; checksum (opzionale) per verificare l’integrità dei dati. Utile quando: si opera su rete locale; l’applicazione mette tutti i dati in un singolo pacchetto; non è importante che tutti i pacchetti arrivino a destinazione; l’applicazione gestisce meccanismi di ritrasmissione. Le applicazioni principali che utilizzano UDP sono: NFS (Network File System); SNMP (Simple Network Management Protocol); Applicazioni Runix (rwho, ruptime, ...).

TCP (Transmission Control Protocol) Un protocollo di trasporto connesso. Utilizzato da applicativi che richiedono la trasmissione affidabile dell’informazione: telnet ftp (file transfer protocol) smtp (simple mail transfer protocol) rcp (remote copy) TCP garantisce la consegna del pacchetto, UDP no! Il TCP di un nodo, quando deve comunicare con il TCP di un altro nodo, crea un circuito virtuale. Al circuito virtuale è associato un protocollo di trasporto: full-duplex; acknowledge; controllo di flusso.

TCP (Transmission Control Protocol) TCP richiede più banda e più CPU di UDP. TCP segmenta e riassembla i dati secondo le sue necessità: non garantisce nessuna relazione tra il numero di read e quello di write Il TCP remoto deve fornire un acknowledge dei dati, normalmente tramite piggybacking. Protocollo con sliding window, timeout e ritrasmissione. I protocolli a sliding window richiedono di fissare la dimensione della finestra. In TCP la dimensione della finestra è in byte, non in segmenti. Il campo “window” del pacchetto TCP indica quanti byte possono ancora essere trasmessi prima di un ACK.

TCP (Transmission Control Protocol) 1 2 3 4 5 6 7 8 9 10 11 ... inviati e ACK inviati ma non ACK inviabili non inviabili Larghezza della finestra del ricevente Finestra usabile

TCP (Transmission Control Protocol) Le prime versioni di TCP quando andavano in timeout ritrasmettevano l’intera window. Questo poteva causare gravi congestioni della rete: Nell’ottobre 1986 Arpanet fu bloccata da una congestione (da 32 kbs a 40 bps). Per evitare le congestioni venne introdotto l’algoritmo slow-start: Quando si verifica un timeout la window viene reinizializzata al valore minimo e fatta crescere lentamente, per evitare nuove congestioni. Il campo “Urgent Pointer” indica che nel pacchetto ci sono uno o più byte urgenti. Tipicamente associati ad eventi asincroni (interrupt).

RPC (Remote Procedure Call) Sviluppato da SUN Microsystem. È un paradigma di programmazione distribuita di tipo client-server: un programma (client) genera una richiesta e un programma (server) gli risponde. Imita la chiamata di una procedura locale. Il processo client su una macchina chiama una procedura che è realizzata da un processo server su un’altra macchina, passandogli dei parametri. Il processo server è “dormiente” in attesa di chiamate: viene risvegliato esegue la procedura ritorna il risultato al client Client Server richiesta risposta

RPC (Remote Procedure Call) Non vengono fatte ipotesi sul modello di concorrenza, client e server possono operare, ad esempio, in modo sincrono o asincrono. Rispetto alle chiamate a procedure locali RPC si differenzia per: Gestione degli errori. Variabili Globali e “side effect”. Prestazioni. Meccanismi di autenticazione. RPC è indipendente dal protocollo di trasporto: può appoggiarsi su TCP, UDP e altri protocolli. RPC non aggiunge affidabilità. L’applicativo deve essere a conoscenza di quale protocollo di trasporto è utilizzato sotto RPC.

XDR: eXternal Data Representation È uno standard per la descrizione e la codifica dei dati. Dati con identica semantica possono essere rappresentati su elaboratori diversi con formati diversi. XDR permette di descrivere formati di dati molto complessi in modo conciso e non ambiguo.

INTERNET rete mondiale: è una rete di reti milioni di nodi. crescita di circa 80% all’anno. protocolli TCP/IP.

Applicativi A UDP/TCP si appoggiano i seguenti applicativi: telnet per l’accesso a calcolatore remoto; ftp per l’accesso a file remoto; e-mail per la posta elettronica; Usenet News; Sistemi Informativi concentrati: Archie Wais sistemi informativi distribuiti: X500 Gopher WWW X-Window NFS (Network File System) NTP (Network Time Protocol) SNMP (Simple Network Management Protocol)

Introduzione a Internet

Sommario Breve storia di Internet Commutazione di pacchetto e TCP/IP Il Web HTTP HTML CGI Connessione tra basi di dati e Web

Sistema globale di informazione Internet Sistema globale di informazione collegato da un unico spazio di indirizzi basato sul protocollo IP consente di comunicare mediante protocollo TCP/IP o sue estensioni rende accessibili, pubblicamente o privatamente, servizi basati sulla infrastruttura descritta

Federal Networking Council, 24/10/1995 Gruppo di coordinazione delle rappresentanze di agenzie federali coinvolte nello sviluppo ed uso del networking con attenzione particolare a reti che utilizzano TCP/IP e connesse ad Internet Membri da parte di: DOD, DOE, DARPA, NSF, NASA, and HHS

Gli albori: ARPANET reti a commutazione di pacchetto e applicazioni militari delle telecomunicazioni

Gli albori: ARPANET Kleinrok (MIT) pubblica i risultati delle sue ricerche sulle reti a commutazione di pacchetto 1961-64

Gli albori: ARPANET Kleinrok (MIT) pubblica i risultati delle sue ricerche sulle reti a commutazione di pacchetto 1961-64

Gli albori: ARPANET Nasce il progetto ARPANET finanziato da DARPA per una rete di calcolatori basata su commutazione di pacchetto 1961-64 1967

Il primo scambio di messaggi tra due calcolatori in rete Gli albori: ARPANET Il primo scambio di messaggi tra due calcolatori in rete 1961-64 1967 1969 UCLA Stanford

Gli albori: ARPANET Prima dimostrazione pubblica di rete a commutazione di pacchetto (ICCC 72) 1961-64 1967 1969 In 1972 a group of computer network researchers organized themselves into the International Packet Network Working Group (INWG) with Dr. Vinton Cerf as its first Chair. At the Fall 1972 International Conference of Computer Communication (ICCC) 1972

Internet: la rete delle reti dalle reti di calcolatori alle reti di reti: la nascita di TCP/IP

Cerf & Kahn pubblicano i primi articoli su un protocollo per reti di reti (TCP) 1961-64 1967 1969 1972 1972-74

TCP diviene TCP / IP e si diffondono varie realizzazioni, tra cui UNIX BSD 1961-64 1967 1969 1972 1972-74 1974-80

TCP / IP diviene il protocollo ufficiale di ARPANET 1961-64 1967 1969 1972 1972-74 1974-80 1983

dalle applicazioni militari agli Le reti scientifiche dalle applicazioni militari agli usi civili di internet

CSNET Nasce il progetto Computer Science Net per collegare i dipartimenti di CS delle principali università americane 1961-64 1967 1969 1972 1972-74 1974-80 1979

NSFNET Entra in funzione la rete dellla National Science Foundation (NSFNET) la più importante rete scientifica 1961-64 1967 1969 1972 1972-74 1974-80 1979 1986 ....

L’era moderna il World Wide Web dalle applicazioni scientifiche all’uso personale e commerciale di Internet

Tim Berners Lee pubblica l’articolo Hypertexts and CERN, una proposta per il trattamento elettronico di ipertesti 1989 Il Web

Nasce il nome World Wide Web; il primo browser (Line Mode WWW ) entra in uso al CERN 1989 client server 1990-91 richiesta risposta

Marc Andreessen fonda la "Mosaic Communications Corp" (ora Netscape) 1989 1990-91 1994

Lo sviluppo di Internet

Protocolli e linguaggi di Internet TCP / IP, HTTP, HTML

Il protocollo TCP/IP Transfer Control Protocol / Internet Protocol Insieme di protocolli (suite) strutturati in maniera gerarchica Ogni livello della gerarchia (detta PILA) usa i servizi forniti dal livello inferiore e offre servizi al livello superiore

La pila TCP/IP offre servizi utilizzabili dalle applicazioni o dall’utente (es. telnet, ftp, stmp) application layer fornisce meccanismi di comunicazione tra applicazioni (TCP, UDP) transport layer fornisce il meccanismo di trasmissione dati attraverso la rete Internet (IP) internet layer nasconde i dettagli di accesso alla rete fisica ai livelli superiori network interface layer

TCP e IP Internet Protocol si occupa della spedizione in rete di unità di informazione (datagram) definisce il meccanismo di indirizzamento dei nodi di Internet (IP address) Transfer Control Protocol converte il flusso dati proveniente dalla applicazione in pacchetti (segment) trasmissibili in rete verifica integrità e corretezza dei dati trasmessi (recupero pacchetti persi, rimozione duplicati ...)

Il protocollo HTTP HyperText Transfer Protocol Protocollo a livello di applicazione per lo scambio di ipertesti multimediali Prescrive il formato di nomi delle risorse (URL) richieste risposte Versioni: HTTP/0.9, 1.0, 1.1 Principale designer: Tim Berners-Lee RFC 1945 HTTP/1.0, RFC 2616 HTTP/1.1

Caratteristiche HTTP Livello applicativo Richiesta/risposta Privo di stato Trasferimento dati bidirezionale (forms) Possibile negoziazione (character set) Supporto per il caching Supporto per i proxy

Gli attori di HTTP cliente (browser): genera richieste di risorse (origin) server: depositario della risorsa richiesta

Gli attori di HTTP proxy: nodo intermedio che può fungere sia da client che da server

Gli attori di HTTP gateway: nodo intermedio che può agire solo da server, per tradurre richieste in altri protocolli o a fini di protezione $%##~^&^& $$=@@@ %4$$$-]]

Uniform Resource Locator (URL) E’ una stringa strutturata, ad esempio: http://www.ce.unipr.it/didattica/SI.html Protocollo: http, ma anche ftp e gopher Indirizzo della macchina: simbolico: www.ce.unipr.it numerico (IP): 160.78.28.27 può includere il numero di porta (es. :8080) Path: sequenza di direttori Nome risorsa: identificativo di un file se la risorsa è un file html, può includere un indirizzo interno, es. SI.html#risultati

Formato delle richieste full-request :- request-line *(general-header | request-header | entity-header) CRLF [entity-body] request-line :- method SP URL SP version CRLF method :- GET | POST | HEAD | altri.. Esempio: GET /pub/papers/pap101.html HTPP/1.0

Formato delle risposte full-response :- status-line *(general-header | request-header | entity-header) CRLF [entity-body] status-line :- version SP status SP message CRLF Codici di stato: 1XX (informativo), 2XX (successo), 3XX (ridirezione), 4XX(errore client), 5XX (errore server)

Formato dei documenti I documenti risiedono sul server come file e vengono inviati al client usando il campo entity-body della risposta ES: Ipertesto = file ASCII scritto secondo la sintassi HyperText Markup Language (HTML) Estensioni tipiche del file: *.html *.htm Il documento può contenere inserti multimediali (immagini, audio, video) il programma client carica e visualizza il testo poi richiede al server i file corrispondenti agli inserti multimediali

Esempio HTML <html> <head> <title>Titolo</title> </head> <body> Il vostro testo va qui. La pagina del corso la trovate <A HREF=“http://www.ce.unipr.it/didatti ca/SI.html”> qui<A> </body> </html>

HTML vs. XML <B>John Q Public</B> <P> john.q.public.1@gsfc.nasa.gov<BR> phone: 301-286 aaaa<BR> fax: 301-286-bbbb<BR> Bldg. 23, Rm. 999<BR> NASA<BR> Goddard Space Flight Center<BR> 588.0<BR> Greenbelt, MD 20221<BR> Se scritto in modo appropriato, HTML può riflettere la struttura del documento (presentazione) ma non può rappresentare adeguatamente la struttura dei dati

HTML vs. XML <EMPLOYEE> <NAME> <FIRST>John</FIRST> <MIDDLE>Q</MIDDLE> <LAST>Public</LAST> </NAME> <EMAIL>john.q.public.1@gsfc.nasa.gov</EMAIL> <PHONE>301-286-aaaa</PHONE> <FAX>301-286-bbbb</FAX> <LOCATION> <BUILDING>Bldg. 23</BUILDING> <ROOM>999</ROOM> </LOCATION> <ADDRESS> <ORG>NASA</ORG> <CENTER>Goddard Space Flight Center</CENTER> <MAILSTOP>588.0</MAILSTOP> <CITY>Greenbelt</CITY> <STATE>MD</STATE> <ZIP>20221</ZIP> </ADDRESS> </EMPLOYEE> XML (Extensible Markup Language) può rappresentare la relazione tra i vari oggetti. La semantica e la struttura dei dati sono preservati.

Sicurezza in HTTP/1.0 Le risorse del server sono organizzate in domini (realms)

Sicurezza in HTTP/1.0 Richieste di risorse protette devono contenere un campo (authorization) con le credenziali (username+ password) NB: le credenziali vengono trasmesse sotto forma di stringa codificata secondo il formato base64

Sicurezza in HTTP/1.0 Se la richiesta non contiene le giuste credenziali, il server risponde con il codice 401 (unauthorized) + campo (authenticate) che provoca la richiesta di username e password

Il browser HTTP Applicazione in grado di: accedere alla rete secondo il protocollo HTTP richiedere risorse identificate da un URL a un server interpretare e rendere a video la risposta del server

Server HTTP: architettura base client WEB server Applicazioni interfaccia di rete applicazioni