ISPまたはファイアウォールがすべての着信接続をブロックしている場合、Webサーバーはどのようにしてブラウザにデータを送信できますか?リクエストを送信(送信)し、サーバーがデータを送信(受信)します。すべての着信をブロックした場合、Webサーバーはどのように応答できますか?
UDPを使用するビデオストリーミングやマルチプレイヤーゲームについてはどうですか?UDPはコネクションレスであるため、確立する接続はありません。ファイアウォールまたはISPはそれをどのように処理しますか?
ISPまたはファイアウォールがすべての着信接続をブロックしている場合、Webサーバーはどのようにしてブラウザにデータを送信できますか?リクエストを送信(送信)し、サーバーがデータを送信(受信)します。すべての着信をブロックした場合、Webサーバーはどのように応答できますか?
UDPを使用するビデオストリーミングやマルチプレイヤーゲームについてはどうですか?UDPはコネクションレスであるため、確立する接続はありません。ファイアウォールまたはISPはそれをどのように処理しますか?
回答:
「着信ブロック」とは、新しい着信接続はブロックされるが、確立されたトラフィックは許可されることを意味します。したがって、アウトバウンドの新しい接続が許可されている場合、その会話の着信半分は問題ありません。
ファイアウォールは、接続状態を追跡することでこれを管理します(このようなファイアウォールは、多くの場合「ステートフルファイアウォール」と呼ばれます)。発信TCP SYNを確認して許可します。着信SYN / ACKを確認し、見た発信SYNと一致することを確認し、それを通過させます。3ウェイハンドシェイクが許可されている場合(ファイアウォールルールに従って許可されている場合など)、その会話が許可されます。そして、その会話(FINまたはRST)の終わりを見ると、許可するパケットのリストからその接続を取り除きます。
UDPも同様に行われますが、UDPには接続またはセッションがある(UDPにはない)ふりをするのに十分なことをファイアウォールが記憶しています。
@gowenfawrには概要があります。しかし、初心者にとっては魔法のように聞こえるかもしれないので、接続追跡の「マッチング」がどのように実行されるかについて詳細を追加すると思いました。
すべてのTCP接続には、各側のポート番号があります。ほとんどの技術者が知っているように、HTTPサーバーはポート80で実行されます。ブラウザがWebサーバーに接続すると、オペレーティングシステムに「ローカル」ポート番号を生成するよう要求します。そのコンピューターからのTCP接続(そして、OSはすべてのアクティブなTCP接続を知っているため、これを行うことができます)。次に、最初のTCPセットアップパケットがマシンのIP(IP_YOURS)とポート番号29672からWebサーバーのIP(IP_WEBSERVER)とポート番号80に送信されます。その時点で、ステートフルファイアウォールは「あぁ、IP_WEBSERVERポートからの将来のパケットIP_YOURSポート29672への80は新しい接続ではなく、既存の接続への応答であり、許可されます。ステートフルファイアウォールはテーブルを維持し、