Phiên Hỏi & Đáp hôm nay đến với chúng tôi theo lịch sự của SuperUser - một phân khu của Stack Exchange, một nhóm các trang web Hỏi & Đáp do cộng đồng điều hành.
Ảnh chụp màn hình lịch sự của Ảnh chụp màn hình Linux (Flickr).
Câu hỏi
Người đọc siêu người dùng Kunal Chopra muốn biết máy tính của mình vẫn có thể nhận dữ liệu như thế nào nếu tất cả các kết nối đến đã bị chặn:
If your ISP or firewall is blocking all incoming connections, how can web servers still send data to your browser? You send the request (outgoing) and the server sends data (incoming). If you block all incoming connections, how can the web server respond?
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?
Dữ liệu vẫn có thể tiếp cận máy tính của Kunal như thế nào nếu tất cả các kết nối đến đã bị chặn?
Câu trả lời
Người đóng góp SuperUser gowenfawr có câu trả lời cho chúng tôi:
“Incoming block” means that incoming new connections are blocked, but established traffic is allowed. So if outbound new connections are allowed, then the incoming half of that exchange is okay.
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).
Có cái gì để thêm vào lời giải thích? Tắt âm thanh trong các ý kiến. Bạn muốn đọc thêm câu trả lời từ những người dùng Stack Exchange có hiểu biết công nghệ khác? Xem toàn bộ chuỗi thảo luận tại đây.