I firewall funzionano generalmente bloccando il traffico non richiesto . Supponiamo che tu visiti una pagina Web (stackexchange.com che ha un indirizzo IP 69.59.197.21
) con il tuo browser web. Esegui un handshake TCP a tre vie con 69.59.197.21
prima di trasmettere qualsiasi informazione. Questo è il tuo browser Web richiede prima un SYN (SYNchronize) con un numero di sequenza casuale a 32 bit al server web dire (x = 850003392). Il server Web risponde con un ACK SYN (ACKnowledgment) che restituisce il numero di sequenza (incrementato di 1) come ACK (x + 1 = 850003393) insieme al numero di sequenza casuale (y = 4013010515), quindi il client invia indietro un ACK (x + 1, y + 1) per completare l'handshake a tre vie. L'handshake garantisce che sia il web server che il client concordano sui numeri.
Quindi, oltre la connessione TCP stabilita, il tuo browser invia una richiesta HTTP alla porta 80 a 69.59.197.21
da una porta casuale dal tuo computer (ad esempio la porta 35235) che non viene utilizzata al momento. Una porta è solo un numero compreso tra 0 e 65535 (2 16 -1) che consente alla scheda ethernet di avere più conversazioni distinte allo stesso tempo; in modo da poter visitare più pagine Web in modo simulatoso e avere più applicazioni Internet aperte; ognuno con una connessione separata. Ogni pacchetto contiene un indirizzo IP e una porta, un indirizzo IP e una porta di destinazione). Il tuo firewall vede che hai appena fatto una richiesta di informazioni da 69.59.197.21:80
e poi permette che l'indirizzo IP 69.59.197.21
invii una risposta HTTP (con la pagina Web HTML, le immagini, ecc.) Al tuo indirizzo IP sulla porta 35235
che il sistema operativo trasferirà al tuo browser web.
È simile per UDP tranne che non c'è un handshake TCP.