Architetture e protocolli Flashcards
(29 cards)
ISO/OSI
Open System Interconnection.
È un modello di riferimento teorico sviluppato per standardizzare le comunicazioni di rete.
TCP/IP
Trasmission Control Protocol.
È il modello pratico e implementato che descrive come funzionano le reti reali, in particola Internet
ISO/OSI - Livelli
Ha 7 livelli:
Applicazione
Presentazione
Sessione
Trasporto
Rete
Collegamento/Data link
Fisico
TCP/IP - Livelli
Ha 4 livelli:
Applicazione (livelli 5, 6, 7)
Trasporto
Internet
Accesso alla rete (livelli 1, 2)
TCP/IP - Protocolli livello applicazione - Quali sono?
Girano su web server che rimangono in ascolto nella rete in una particolare porta
HTTP (HyperText Transfer Protocol): Utilizzato per trasmettere risorse.
HTTPS (HTTP Secure): È una versione sicura di HTTP con criptografia tramite TLS/SSL.
SMTP (Simple Mail Transfer Protocol): Utilizzato per inviare mail
FTP (File Transfer Protocol): Utilizzato per trasferire file tra client e server.
DNS (Domain Name System): Utilizzato per tradurre nomi di dominio in indirizzi IP.
Telnet e SSH (Secure Shell): Utilizzati per l’accesso remoto ai dispositivi.
Server DNS - Cos’è?
È un sistema utilizzato per individuare i server sulla rete, associando i nomi di dominio (URL) agli indirizzi IP.
Server DNS - Tipi di record
A Record: Associa un URL a un IPv4.
AAAA Record: Associa un URL a un IPv6.
NS (Name Server) Record: Indica quali server sono responsabili di gestire un dominio su Internet.
CNAME: Associa un nome di dominio a un altro dominio invece di un IP.
Server DNS - Tipologie di risoluzione
Inversa, Ricorsiva e Iterativa.
Server DNS - Funzionamento risoluzione ricorsiva
Il browser del client ricerca nella cache locale per verificare se l’IP del dominio richiesto è presente e lo restituisce.
In caso contrario invia una richiesta al DNS Resolver che verifica l’esistenza di un’associazione con l’IP e la restituisce.
In caso contrario inoltra la richiesta ad un root DNS server che restituisce l’indirizzo IP del TLD (Top Level Domain) DNS Server di riferimento.
Il resolver contatta il TLD che fornisce l’IP dell’ANS (Authoritative Name Server) per il dominio richiesto.
Il resolvere contatta l’ANS che risponde restituendo l’IP del dominio.
Il resolver restituisce l’IP al client e lo memorizza nella cache.
DNS - Protocolli di navigazione usati
UDP per comunicazioni tra client e server.
TCP per comunicazioni tra server.
Porta utilizzata 53.
URL - Struttura + esempio
L’URL è composto da:
Protocollo, Sottodominio, Dominio ed Estensione del TLD.
Server DNS - Root - Cosa fanno e quanti ce ne sono nel mondo?
Sono responsabili della risoluzione dei nomi di dominio a livello globale, gestendo i TLD e indirizzando le richieste agli ANS specifici per i vari domini.
Devono essere costantemente aggiornati per garantire risposte accurate e rapide.
Esistono 13 server root distribuiti in tutto il mondo.
Architetture di rete - Client — Server
2 Tier Architecture.
3 Tier Architecture.
Multi-tier Architecture.
Architetture di rete - Peer to Peer
P2P Decentralizzato: Ogni nodo è uguale e può svolgere il ruolo sia di server che di client.
P2P Centralizzato: Un server centrale, o super nodo, gestisce il collegamento tra nodi.
P2P Ibrido: I super nodi hanno tra loro un sistema decentralizzato e hanno un sistema centralizzato con i rispettivi nodi, o client.
URI - Come strutturato e da chi è utilizzato?
Uniform Resource Identifier.
È composto da URL e URN:
URL: Uniform Resource Locator - Specifica dove e come trovare una risorsa.
URN: Uniform Resource Name - Identifica una risorsa in modo univoco senza specificare dove si trova.
Viene utilizzato da HTTP.
HTTP - schema di funzionamento della connessione
HTTP Request: Crea una connessione TCP contenente l’URL della risorsa.
HTTP Response: Risposta ottenuta dal server con la risorsa e tutto il necessario per essa, terminando con la chiusura della connessione TCP.
HTTP - Come sono le HTTP Request?
Stateless - Ogni richiesta è indipendente dalle altre.
Generic - Ogni richiesta può, a sua volta, richiedere qualsiasi tipo di risorsa.
Standard - Ogni richiesta deve seguire un standard specifico.
HTTPS - Differenze tra i protocolli di sicurezza usati
SSL - Secure Socket Layer, all’avvio di una connessione, il client richiede di identificarsi, il server risponde con il certificato SSL.
TLS - Transport Layer Security, successore di SSL, migliore in sicurezza e criptografia.
HTTP - Nomina le sue versioni fino a quella odierna
Versione 0.9, 1.0, 1.1, 2.0, 3.0 (Attuale)
HTTP - Descrivi le sue versioni fino a quella odierna
V0.9:
Supporta solo il linguaggio HTML.
Supporta solo il metodo GET.
Le connessioni non sono persistenti, è necessaria una nuova connessione ad ogni richiesta del client.
V1.0:
HTTP diventa un protocollo generico.
Supporta metodi GET, POST, PUT, HEAD.
V1.1:
Introduzione delle connessioni persistenti.
Introduzione dei cookies e di HTTPS.
Introduzione del Pipeling → tecnica che consente di inviare più richieste senza dover aspettare.
V2.0:
Retrocompatibile.
Sfrutta il protocollo binario per trasmettere le informazioni.
Introduzione del Multiplexing → Tecnica che consente di inviare più richieste e risposte in parallelo su un’unica connessione TCP.
V3.0:
Versione più aggiornata.
HTTP - Struttura HTTP Request.
Request Line:
Metodo usato - URL - Versione HTTP
Header:
Nome campo : Valore
Body (Opzionale):
Corpo del messaggio.
HTTP Request - Elenca i suoi metodi e a cosa servono.
GET - Recupera risorse.
POST - Invia dati e crea risorse.
PUT - Sostituisce risorse.
DELETE - Elimina risorse.
HEAD - Recupera soltanto gli header.
OPTIONS - Mostra i metodi supportati.
TRACE - Traccia le varie richieste.
HTTP Request - Elenca i possibili campi dell’header e cosa fanno.
Host - Contiene il nome dell’host a cui viene effettuata la richiesta.
User-agent - Contiene la versione del browser usato dal client.
Referer - Indica la provenienza della richiesta.
Authorization - Non più utilizzato, serviva per le informazioni di accesso.
Accept - Indica le tipologie di risposte che il client è disposto ad accettare.
Etag - Identificatore univoco usato per verificare eventuali cambiamenti della risorsa salvata nella cache.
HTTP - Struttura HTTP Response.
Status Line:
Versione HTTP - Codice Status - Messaggio
Header:
Nome campo : Valore
Body:
Corpo del messaggio.