パブリックホスト名を使用してコンピューターにデータを送信する場合、実際にはインターネットを経由しますか?


12

明確にするために:

パブリックホスト名を使用してMySQLデータベースに接続しています。ホスト名は、サーバーの外部IP(1.2.3.4など)に解決されます。MySQL接続を介して送受信しているデータは、インターネットを経由しますか?ローカルホストを使用する方が速いでしょうか?サーバーの帯域幅を占有しますか?

回答:


28

確認したい場合は、を使用できますtraceroute 1.2.3.4。これにより、コマンドを実行しているホストと1.2.3.4 IPアドレスを持つデバイスとの間のすべてのルーターがリストされます。


3
単語「devive」を文に組み込むための+1。今、私はもう一つ英語の単語を知っています。
ガニシムセック

en.wiktionary.org/wiki/deviveには「devive-活力を失わせる」と書かれています。よくわかりません。たぶんそれは「デバイス」であるべきですか?
アノン

7
基本的に、「これが彼がこれまでに実行する最後のトレースルートです
-Xeoncross

5
@xeoncross-それはトレースルートの一つの地獄です。このコマンドラインオプションがあるバージョンはどこで入手できますか?Windows XPを使用しています。ping of deathのインストールにも興味があります。
アノン

6
Windowsでは、tracertを使用します
マウロ

15

MySQLサーバーに接続するためのホスト名として「localhost」を使用すると、MySQLはTCPではなくソケットを使用します。これは、ローカルで実行されているMySQLサーバーに接続するための最速の方法です。

サーバーに「適切に」設定された外部IPがある場合、つまり、内部ネットワークのファイアウォールまたはプロキシの背後にない場合、ターゲットIPアドレスが同じシステムであることを認識しているため、トラフィックはサーバーを離れません。


1
また、Linuxの場合、「localhost」または「127.0.0.1」を使用すると、loアダプターを介して接続されます。アダプターは、これらのアドレスにのみ使用される擬似アダプターです。Windowsについてはわかりませんが、似たようなものがあると思います。
ネイサンモース

2
@Nathanモースとしては、に記載されたMySQLのマニュアルローカルホストへの接続の場合、MySQLプログラムは、Unixソケットファイルを使用して、ローカルサーバーに接続しようとしました。

1
MySQLである必要はなく、localhostに接続しているより一般的な状況について説明していました。質問と回答の文言を無視して申し訳ありません。
ネイサンモース

5

ルーティングまたはスイッチング機器については何も言及していませんが、戻ってくる前にデータを外に出すために邪魔することはできますが、実際にはほぼ確実にデータはこのようには出ません。


「データがまったく外部に移動しないことを確認するには、何を確認する必要がありますか?」という暗黙の質問があると確信しています。
ライライアン

私は同意しますが、彼はルーティングや切り替えに関する詳細を提供していないので、この段階では、思い切った仮定をせずにさらに追加することはできません。
Chopper3

3

すべてが1台のマシン上にある場合、マシンから離れることはありません。


マシンからマシンへのすべてのトラフィックは、ループバックインターフェイスを介してルーティングされます。ネットワークから切断しても、引き続き機能します。
-BillThor

@BillThorは確かですが、それは問題ではありませんでした。
mailq

これについてはよくわかりません。名前はマシンのパブリック(インターネット)IPアドレスに解決されると言っていました。マシンがポートフォワーディングを使用してNATの背後にある場合、少なくともゲートウェイまで移動する必要があります。
ジョエルCoel

127.0.0.1以外の@BillThor IPアドレスは、ネットワーク(ルーター/スイッチ/ ISP)によってマシンに割り当てられるため、ネットワークから切断すると、アドレスの割り当てが事実上解除されます。
ルクマン

2
これは、サーバーが1.2.3.4であることを認識している場合、内部IP(つまり192.168.xx)にあることしか認識していない場合にのみ、データが少なくともルーターに送信されます。
Unkwntech

2

そのマシンのサーバーIP構成がパブリックIPアドレスを使用している場合、トラフィックはサーバーを離れません(ただし、パフォーマンスを向上させるために、とにかくlocalhostを使用する方が安全です)

IPがネイトされ、ルーターにパブリックIPがあり、サーバーに内部IPがある場合、少なくともトラフィックはサーバーを離れ、ルーターからポートリフレクションを行うと仮定して、ルーターからサーバーに反映されますポートフォワーディングの一部-ある意味ではトラフィックはネットワークを離れませんが、一部のトラフィックはサーバーを離れます

ネットワーク設定情報がなければ、私はそれ以上決定的ではありません


1

イーサネットケーブルを抜くか、wifiを切断してデータベース接続を試してください。答えが得られます。大騒ぎもムスもありません!


修正に近いものでもありません。地元のネットワーク?
ナバホ

@navaho Originalのポスターは、「localhostを使用した方が速いでしょうか」と言いました。これは、データベースが自分のアプリケーションと同じマシン上にあることを示しています。したがって、私のソリューションを使用するためにローカルネットワークアクセスは必要ありません。
スティーブンストライガ

質問は、インターネット経由でコンピューターにデータを送信した場合、実際にはインターネット経由で送信されますか?説明は、MySQLデータベースに接続するために> public hostname <を使用しています。ホスト名は、サーバーの外部IP <に解決されます(例:1.2.3.4)。MySQL接続を介して送受信しているデータは、インターネットを経由しますか?あなたの答えは、提示された質問に答えませんでした。コードをヤンクして、何が起こるかを見てください。はい、2番目の質問に回答しました。localhostを使用した方が速いでしょうが、元の質問については短くなりました。
ナバホ

0

結果は異なる場合がありますが、インターネットから切断されたルーターで、外部アドレスを介してシステムにアクセスできます。ただし、これを行うには、適切な固定IPアドレスを使用してルーターを構成する必要がありました。これは通常、DHCPを介してISPによって発行されるためです。

速度の違いに関しては、理論的にlocalhostを使用すると、ネットワークの横断に伴うさまざまなオーバーヘッドが除去されるため、より高速になります。しかし実際には、その差はごくわずかであるため、気付かないはずです。


0

traceroute(すでに述べた)に加えて、tcpdumpまたはwiresharkを使用して、ホストからルーティングされるmysql接続を監視できます。Localhostは常に高速である必要があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.