Jika saya mengirim data ke komputer saya menggunakan nama host publiknya, apakah itu benar-benar pergi melalui internet?

12

Untuk memperjelas:

Saya menggunakan nama host publik saya untuk terhubung ke database MySQL. Nama host diselesaikan ke IP eksternal server saya (mis. 1.2.3.4). Apakah data yang saya kirim / terima melalui koneksi MySQL melalui internet? Apakah lebih cepat menggunakan localhost? Apakah akan memakan bandwidth server saya?

Tom Marthenal
sumber

Jawaban:

28

Jika Anda ingin memastikan, Anda bisa menggunakannya traceroute 1.2.3.4. Ini akan mencantumkan semua router antara host yang menjalankan perintah dan perangkat dengan 1.2.3.4 alamat IP.

mouviciel
sumber
3
+1 untuk memasukkan kata "devive" ke dalam kalimat Anda. Sekarang saya tahu satu kata bahasa Inggris lagi.
Gani Simsek
en.wiktionary.org/wiki/devive mengatakan "devive - Untuk membuat hidup." Saya bingung. Mungkin itu harus "perangkat"?
anon
7
Jadi pada dasarnya, " itu traceroute terakhir yang pernah ia jalankan "
Xeoncross
5
@xeoncross - Itu adalah traceroute. Di mana saya mendapatkan versi yang memiliki opsi baris perintah ini? Saya menggunakan Windows XP. Saya juga tertarik memasang ping kematian.
anon
6
di windows Anda akan menggunakan tracert
Mauro
15

Jika Anda menggunakan "localhost" sebagai nama host untuk menghubungkan ke server MySQL Anda, MySQL tidak akan menggunakan TCP, tetapi soket. Ini harus menjadi cara tercepat untuk terhubung ke server MySQL yang berjalan secara lokal.

Jika server Anda memiliki IP eksternal yang diatur "dengan benar", artinya, ia tidak berada di belakang firewall atau proksi di jaringan internal, lalu lintas tidak akan meninggalkan server Anda karena mengetahui bahwa alamat IP target adalah sistem yang sama.

Shi
sumber
1
Juga, jika Anda menggunakan Linux, menggunakan "localhost" atau "127.0.0.1" akan terhubung melalui loadaptor, yang merupakan pseudo-adapter yang hanya digunakan untuk alamat tersebut. Tidak yakin tentang Windows, tapi saya pikir itu memiliki sesuatu yang serupa.
Nathan Moos
2
@Nathan Moos Sebagaimana dinyatakan dalam manual MySQL : Untuk koneksi ke localhost, program MySQL berupaya untuk terhubung ke server lokal dengan menggunakan file socket Unix.
Shi
1
Saya sedang menggambarkan situasi yang lebih umum di mana Anda terhubung ke localhost, belum tentu MySQL. Maaf saya mengabaikan kata-kata dari pertanyaan dan jawaban.
Nathan Moos
5

Anda tidak menyebutkan apa pun tentang perutean atau peralatan switching Anda, tetapi Anda bisa keluar dari jalan untuk memastikan data Anda keluar sebelum kembali tetapi pada kenyataannya hampir pasti data Anda tidak akan keluar dengan cara ini.

Chopper3
sumber
Saya cukup yakin ada pertanyaan tersirat: "Apa yang harus saya periksa untuk mengetahui bahwa data tidak bepergian ke luar sama sekali?"
Lie Ryan
Saya setuju, tetapi dia tidak memberikan perincian tentang perutean atau peralihannya, jadi pada tahap ini tidak mungkin untuk menambahkan lebih banyak tanpa membuat asumsi liar.
Chopper3
3

Tidak jika semua dalam satu mesin tidak meninggalkan mesin.

mailq
sumber
Semua lalu lintas dari mesin ke mesin dialihkan melalui antarmuka loopback. Jika Anda memutuskan koneksi dari jaringan Anda, itu masih berfungsi.
BillThor
@ BillThor yakin, tapi bukan itu pertanyaannya.
mailq
Tidak yakin tentang ini: dikatakan bahwa nama tersebut memutuskan untuk alamat IP publik (internet). Jika mesin berada di belakang NAT menggunakan portforwarding, itu harus pergi setidaknya sejauh gateway.
Joel Coel
@BillThor alamat IP selain 127.0.0.1 ditugaskan ke mesin oleh jaringan (router / switch / ISP) sehingga memutuskan sambungan dari jaringan secara efektif membatalkan penetapan alamat.
Lukman
2
Ini hanya benar jika server tahu bahwa itu 1.2.3.4, jika hanya tahu bahwa itu ada di ip internal (yaitu 192.168.xx) daripada data akan, setidaknya, dikirim ke router.
Unkwntech
2

jika konfigurasi ip server Anda pada mesinnya menggunakan alamat IP publik, maka tidak ada lalu lintas yang akan meninggalkan server Anda (tetapi lebih aman untuk memastikan dan tetap menggunakan localhost untuk keuntungan kinerja)

jika IP Anda dinotasikan dan router Anda memiliki ip publik dan server Anda memiliki IP internal maka paling tidak lalu lintas akan meninggalkan server Anda dan dipantulkan kembali ke server Anda dari router dengan asumsi bahwa router melakukan refleksi port sebagai bagian dari port forwarding - jadi dalam arti tidak ada lalu lintas akan meninggalkan jaringan Anda tetapi beberapa lalu lintas akan meninggalkan server Anda

tanpa info pengaturan jaringan saya tidak bisa lebih pasti dari itu

anthonysomerset
sumber
1

Cabut kabel ethernet Anda atau putuskan koneksi wifi Anda dan coba koneksi database Anda dan Anda akan mendapatkan jawabannya. Tanpa ribut, tidak ada muss!

Steven Striga
sumber
Bahkan tidak mendekati benar. Jaringan lokal?
navaho
Poster asli @navaho mengatakan "apakah akan lebih cepat menggunakan localhost" yang menunjukkan bahwa database berada pada mesin yang sama dengan aplikasinya; karena itu untuk menggunakan solusi saya, akses jaringan lokal tidak diperlukan.
Steven Striga
Pertanyaannya adalah jika saya mengirim data ke komputer saya melalui internet, apakah itu benar-benar masuk ke internet? Penjelasannya adalah saya menggunakan> nama host publik saya <untuk terhubung ke database MySQL. Nama host> diselesaikan ke IP eksternal server saya <(mis. 1.2.3.4). Apakah data yang saya kirim / terima melalui koneksi MySQL melalui internet? Jawaban Anda tidak menjawab pertanyaan yang diajukan. Tarik kabelnya dan lihat apa yang terjadi, paling banter, pendek. Ya, Anda menjawab pertanyaan kedua, apakah akan lebih cepat menggunakan localhost, tetapi untuk pertanyaan awal Anda menjawab pendek.
navaho
0

Hasil Anda mungkin berbeda tetapi saya dapat mengakses sistem saya melalui alamat eksternal baik-baik saja dengan router terputus dari Internet. Namun, untuk melakukan ini saya harus mengkonfigurasi router dengan alamat IP tetap yang sesuai, karena ini biasanya dikeluarkan oleh ISP melalui DHCP.

Adapun perbedaan kecepatan, secara teoritis menggunakan localhost harus lebih cepat karena menghilangkan berbagai overhead yang terlibat dalam melintasi jaringan. Secara riil perbedaannya harus sangat kecil sehingga Anda tidak akan pernah bisa melihatnya.

John Gardeniers
sumber
0

Selain traceroute (telah disebutkan), Anda dapat menggunakan tcpdump atau wireshark dan menonton koneksi mysql yang dikeluarkan dari host Anda. Localhost harus selalu lebih cepat.

Andrew Case
sumber