I protocolli di livello superiore non si preoccupano dei dettagli dei livelli inferiori . Assumono che gli strati inferiori siano stati implementati in qualche modo e procedono da lì. Se seguiamo il modello TCP / IP, ci sono quattro di questi livelli:
OSI definisce un livello fisico, che gestisce il collegamento di due macchine insieme; TCP / IP no, ma è utile pensarci qui . Twisted-pair, coassiale, CAT6 e onde radio sono alcuni modi comuni per connettere le macchine, ma puoi usare quasi tutto, inclusi raggi laser, onde sonore e, sì, piccioni viaggiatori .
Il livello Link, che gestisce l'acquisizione di un segnale su due macchine direttamente connesse . La famiglia 802.11 (Wi-Fi), la famiglia 802.3 (Ethernet) e PPP (modem) sono probabilmente i protocolli di livello link più popolari oggi, ma ce ne sono altri.
Il livello Internet, che riceve un segnale su due macchine che non sono collegate direttamente attraverso una catena di macchine che . È qui che risiede l'IP, sia in IPv4 che in IPv6.
Il livello di trasporto, che gestisce la logistica dei segnali di svolta in un flusso di dati utilizzabile . TCP e UDP vivono entrambi qui, così come alcuni protocolli meno conosciuti.
Il livello applicazione, che interpreta i dati assemblati dal livello di trasporto . Qui è dove la maggior parte dei protocolli che sentiamo comunemente su -HTTP, FTP, POP, IMAP e così via- live.
HTTP vive nel livello applicazione . Si presuppone che tu abbia già un modo significativo per ottenere un flusso di dati su macchine che potrebbero non essere direttamente collegate l'una con l'altra. Finché l'hai ottenuto, a HTTP non importa da dove provenga il flusso di dati. Tecnicamente non è nemmeno necessario utilizzare TCP / IP nel trasporto sottostante, anche se in pratica quasi tutti lo fanno.
Per scopi quotidiani, SSL / TLS vive nel livello di trasporto (la verità tecnica della questione è più complicata, ma non influisce sugli utenti finali). Vale a dire, gli dai un flusso di dati da inviare e recuperare un flusso di dati quando ricevi, proprio come TCP / IP. In particolare, SSL / TLS non si preoccupa del contenuto del suo flusso di dati: puoi passarlo come vuoi e farà il suo dovere.
Poiché nessuno dei due livelli si interessa di quello che fa l'altro, puoi cambiarli liberamente . L'HTTP è felice finché ottiene gli stream che vuole, e non si preoccupa di ciò che i protocolli sottostanti fanno a quei flussi nel frattempo, quindi puoi usare qualsiasi protocollo di livello di trasporto sottostante. TCP / IP (e SSL / TLS) non si preoccupano del contenuto dei dati, tranne se necessario per assicurarsi che i dati risultanti dall'altra parte siano esattamente uguali a quelli inviati dall'utente, quindi è possibile utilizzare qualsiasi applicazione -player protocollo con loro