If you block all incoming connections, how can you still use the internet? There are a few ways to workaround this. One way is to use a VPN service. Another way is to use an proxy server. A third way is to connect through a router or modem that doesn’t support IPv6.


If all incoming connections to your computer are being blocked, then how can you still receive data and/or have an active connection? Today’s SuperUser Q&A post has the answer to a confused reader’s question.

Today’s Question & Answer session comes to us courtesy of SuperUser—a subdivision of Stack Exchange, a community-driven grouping of Q&A web sites.

Screenshot courtesy of Linux Screenshots (Flickr).

The Question

SuperUser reader Kunal Chopra wants to know how his computer can still receive data if all incoming connections have been blocked:

How is data still able to reach Kunal’s computer if all incoming connections have been blocked?

What about video streaming and multi-player games where UDP comes into use? UDP is connectionless, so there is no connection to be established, so how does the firewall or ISP handle that?

The Answer

SuperUser contributor gowenfawr has the answer for us:

Have something to add to the explanation? Sound off in the comments. Want to read more answers from other tech-savvy Stack Exchange users? Check out the full discussion thread here.

The firewall manages this by tracking the state of connections (such a firewall is often called a Stateful Firewall). It sees the outgoing TCP/SYN and allows it. It sees an incoming SYN/ACK, verifies that it matches the outbound SYN it saw, lets that through, and so on. If it permits a three-way handshake (i.e. it is allowed by the firewall rules), it will allow that exchange. And when it sees the end of that exchange (FINs or RST), it will take that connection off the list of allowed packets.

UDP is done similarly, although it involves the firewall remembering enough to pretend that UDP has a connection or session (which UDP does not).