2016-09-04 11 views
4

私はそれを理解していませんbind 127.0.0.1(または:: 1など)以外の任意のアドレスへのソケットです。
私はそうではありません - 定義によって - ポートにソケットをバインド私自身のマシン.. localhostですか?
マシンまたはIPアドレスのポートにバインドまたはリッスンするのにどのような意味がありますか?
概念的には、それは私にとって意味をなさない!ソケットをlocalhost以外の任意のアドレスにbind()することは何を意味しますか?

(私は右の用語をグーグルでいないよので、これはおそらく... Googleに驚くほどハードであることが証明された。)

+0

私自身(および将来の読者)のために、後で参考文献[このページ](https://technet.microsoft.com/en-us/magazine/ad9db381-1e1b-4077-be1c-bcefb11f1ea8)が該当します。 – Mehrdad

+0

リンク先ページはどのように関連していますか?結束は全く言及されていません。 – LarsH

+0

@LarsH:正直言ってここに掲載した理由を覚えていませんが、自分のマシンではないアドレスにバインドしているという理由が推測されます。ページの話をする。 – Mehrdad

答えて

11

ソケットの結合が(このソケット上のデータを受信するために、アドレスとポートに行われていますほとんどの場合)、またはデータを送信するときにこのアドレス/ポートをデータのソースとして使用することができます(たとえば、FTPサーバーでデータ接続で使用されます)。

通常、特定のマシンにはいくつかのインターフェイスがあります。つまり、マシンが自身に到達できる擬似インターフェイスループバック、イーサネット、WLAN、VPNなどです。このインターフェイスのそれぞれには、複数のIPアドレスを割り当てることができます。たとえば、ループバックは通常127.0.0.1、IPv6では:: 1ですが、他にも割り当てることができます。イーサネットまたはWLANは、ローカルネットワーク上のIPアドレス、すなわち172.16.0.34などを有する。

データを受信するソケットを特定のアドレスにバインドすると、この特定のIPアドレスに送信されたデータのみを受信できます。たとえば、127.0.0.1にバインドすると、自分のシステムからデータを受信できますが、ローカルネットワーク上の他のシステムからデータを受信することはできません。 127.0.0.1:127.0.0.1 .0.1はに送信されます。 127.0.0.1、127.0.0.1は内部ループバックインターフェイス上の外部から到達できないアドレスです。

ソケットを0.0.0.0`(Ipv4)や::(Ipv6)のようなキャッチオールアドレスにバインドすることもできます。この場合、特定のIPアドレスにバインドされていませんが、マシンの任意のIPアドレスにデータを送信することができます。

+0

+1答えをありがとう。これは実際に私にとっていくつかの質問を提起します:(1)それでは、私がバインドする "アドレス"は実際にバインドしている*インタフェース*を指定していると言うのは正しいですか? (2)最初の部分にもかかわらず、2つのインターフェースで同じアドレスを使用するとどうなりますか?両方に同時にバインドされますか? (3)127.0.0.1にバインドすると、他のシステムがセキュリティの観点から私のパケットを送信できなくなるのは事実ですか?ターゲットの偽のIPアドレスとして指定したパケットを手動で送信することはできませんか? (4)ソケットが100%到達できない偽のアドレスにバインドされていますか? – Mehrdad

+0

@Mehrdad:いいえ、あなたはインターフェイスにバインドするのではなく、インターフェイスのアドレスにバインドしています。 127.0.0.1へのBindungは127.1.1のデータを受け取りません。これは同じインターフェースであっても1です。 (2)別のインターフェース上に同じIPを持つことはできません。混乱を起こした場合(つまり、定義されていない場合) (3)はい、127.0.0.1にバインドすると、127.0.0.1に到達できるすべてのシステムへのアクセスが制限されます。これはシステムのみである必要があります。ほとんどのシステムは、ターゲットアドレスが設定されていないインターフェイスに到着したパケットを拒否または破棄します。 –

+0

(4)誰も偽のアドレスにあなたのデータを送ることができなければ、そこでデータを受け取ることができません。これにより、ほとんどの場合、ソケットは効果的に使用できなくなります。 –

関連する問題