私の理解では、0.0.0.0
これはこのホストのすべてのネットワーク インターフェイス (を含む127.0.0.1
) を意味します。
インターフェースが 3 つあり192.0.2.40
、サーバー (OS は Linux) があるとします203.0.113.150
。127.0.0.1
には192.0.2.40:777
、ServerA があります。 には 203.0.113.150:777
、ServerB があります。 サーバーは へのリクエストをどのように処理するのでしょうか0.0.0.0:777
? つまり、同じポート ( 777
) が異なるインターフェースでリッスンしている場合です。 それとも、私がすべて間違って理解しているのでしょうか?
答え1
サーバーは0.0.0.0:777へのリクエストをどのように処理しますか
そうはなりません。0.0.0.0 にリクエストを送信することはできません。
これは、使用される IP アドレスに関係なく、ホストがすべてのリクエスト (ポート 777) に反応することを意味します。明らかに、サーバーは IP アドレスを使用して構成する必要がありますが、これはサーバー プロセスが追加のフィルタリングを行わないことを意味します。
答え2
0.0.0.0
およびは127.0.0.1
内部的に使用されます。0.0.0.0
はすべてのインターフェイスを指定するために使用され、127.0.0.1
はループバック インターフェイスを指定します。これらは着信トラフィックとは関係ありません。
クライアントがサーバーに接続する必要がある場合、192.0.2.40:777
またはのように、インターフェースの実際のIPアドレスを指定する必要があります203.0.113.150:777
。これにより、Linuxマシンはどのサーバーがリクエストを処理すべきかを認識します。(クライアントが127.0.0.1
またはに接続しようとすると0.0.0.0
、彼ら自身あなたのものではなく、システムのものです。