Genel ana bilgisayar adını kullanarak bilgisayarıma veri gönderirsem, aslında internet üzerinden mi geçer?


12

Netleştirmek için:

MySQL veritabanına bağlanmak için genel ana bilgisayar adımı kullanıyorum. Ana bilgisayar adı sunucumun harici IP'sine çözümleniyor (ör. 1.2.3.4). MySQL bağlantısı üzerinden gönderdiğim / aldığım veriler internet üzerinden mi gidiyor? Localhost kullanmak daha hızlı olur mu? Sunucumun bant genişliğini alacak mı?

Yanıtlar:


28

Emin olmak istiyorsanız kullanabilirsiniz traceroute 1.2.3.4. Bu, komutu çalıştıran ana bilgisayar ile 1.2.3.4 IP adresine sahip aygıt arasındaki tüm yönlendiricileri listeler.


3
"Devive" kelimesini cümlenize eklediğiniz için +1. Şimdi bir tane daha İngilizce kelime biliyorum.
Gani Şimşek

en.wiktionary.org/wiki/devive "devive - cansız kılmak" diyor. Kafam karıştı. Belki "cihaz" olmalı?
anon

7
Yani temelde, " bu şimdiye kadar koşacağı son
iz

5
@xeoncross - Bu bir traceroute cehennemi. Bu komut satırı seçeneğine sahip sürümü nereden edinebilirim? Windows XP kullanıyorum. Ölüm pingini kurmakla da ilgileniyorum.
anon

6
Windows'da tracert kullanırsınız
Mauro

15

MySQL sunucunuza bağlanmak için ana bilgisayar adı olarak "localhost" kullanırsanız, MySQL TCP kullanmaz, ancak soketler kullanır. Bu, yerel olarak çalışan bir MySQL sunucusuna bağlanmanın en hızlı yolu olmalıdır.

Sunucunuzda "düzgün" ayarlanmış harici bir IP varsa, yani dahili bir ağdaki bir güvenlik duvarının veya proxy'nin arkasında değilse, hedef IP adresinin aynı sistem olduğunu bildiği için trafik sunucunuzdan ayrılmaz.


1
Ayrıca, Linux'taysanız, "localhost" veya "127.0.0.1" kullanmak, loyalnızca bu adresler için kullanılan sözde bağdaştırıcı olan bağdaştırıcı aracılığıyla bağlanır . Windows hakkında emin değilim, ama bence benzer bir şey var.
Nathan Moos

2
@Nathan Moos MySQL kılavuzunda belirtildiği gibi : localhost'a bağlantılar için, MySQL programları bir Unix soket dosyası kullanarak yerel sunucuya bağlanmaya çalışır.
Shi

1
MySQL değil, localhost'a bağlandığınız daha genel bir durumu tanımlıyordum. Soru ve cevap ifadelerini görmezden geldiğim için üzgünüm.
Nathan Moos

5

Yönlendirme veya anahtarlama ekipmanınız hakkında hiçbir şeyden bahsetmezsiniz, ancak verilerinizin geri gelmeden önce dışarı çıkmasını sağlamak için yolunuzdan çıkabilirsiniz, ancak gerçekte verileriniz kesinlikle bu şekilde çıkmayacaktır.


Örtük bir soru olduğundan eminim: "Verilerin dışarıya hiç çıkmadığını bilmek için nelere ihtiyacım var?"
Yalan Ryan

Kabul ediyorum, ancak yönlendirmesi veya geçişi hakkında herhangi bir ayrıntı vermediğinden, bu aşamada vahşi varsayımlar yapmadan daha fazla eklemek imkansız.
Chopper3

3

Hayır, hepsi bir makinede ise makineden ayrılmaz.


Makineden makineye giden tüm trafik geri döngü arabirimi üzerinden yönlendirilir. Ağınızla bağlantıyı keserseniz, yine de çalışır.
BillThor

@BillThor emin, ama soru bu değildi.
mailq

Bundan emin değilim: adın makinenin genel (internet) IP adresine çözümlendiğini söyledi. Makine portforwarding kullanarak NAT'ın arkasındaysa, en azından ağ geçidine kadar gitmelidir.
Joel Coel

@BillThor 127.0.0.1 dışındaki IP adresleri ağa (yönlendirici / anahtar / ISS) makineye atanır, bu nedenle ağ bağlantısını kesmek adreslerin etkin bir şekilde atamasını kaldırır.
Lukman

2
Bu sadece sunucu 1.2.3.4 olduğunu biliyorsa, sadece dahili ipte (yani 192.168.xx) olduğunu biliyorsa, verilerin en azından yönlendiriciye gönderileceğinden daha doğrudur.
Unkwntech

2

makinenizdeki sunucu ip yapılandırmanız genel IP adresini kullanıyorsa, hiçbir trafik sunucunuzu terk etmez (ancak performans avantajları için emin olmak ve yine de localhost'u kullanmak daha güvenlidir)

IP'niz doğalsa ve yönlendiricinizin genel IP'si varsa ve sunucunuzda dahili bir IP varsa, en azından trafik muhtemelen sunucunuzdan ayrılır ve yönlendiricinin bağlantı noktası yansıması yaptığı varsayılarak yönlendiriciden sunucunuza geri yansıtılır. bağlantı noktasının bir kısmı - bu nedenle bir anlamda trafik ağınızdan ayrılmaz, ancak bazı trafik sunucunuzdan ayrılır

herhangi bir ağ kurulum bilgisi olmadan bundan daha kesin olamaz


1

Ethernet kablonuzu çıkarın veya wifi bağlantınızı kesin ve veritabanı bağlantınızı deneyin, yanıtı alacaksınız. Telaş yok, telaş yok!


Düzeltmek için bile yakın değil. Yerel ağ?
navaho

@navaho Orijinal poster, veritabanının uygulamasıyla aynı makinede olduğunu belirten "localhost'u kullanmak daha hızlı olur" dedi; bu nedenle çözümümü kullanmak için yerel ağ erişimine gerek yoktur.
Steven Striga

Soru, bilgisayarıma internet üzerinden veri gönderirsem, aslında internet üzerinden mi geçiyordu? Açıklama bir MySQL veritabanına bağlanmak için benim> genel ana bilgisayar adı <kullanıyorum. Ana makine adı> sunucumun harici IP'sine <gider (örn. 1.2.3.4). MySQL bağlantısı üzerinden gönderdiğim / aldığım veriler internet üzerinden mi gidiyor? Cevabınız, sorulan soruya cevap vermedi. Kordonu çekin ve ne olduğunu görün, en iyi ihtimalle kısa. Evet, ikincil soruyu cevapladınız, localhost'u kullanmak daha hızlı olurdu, ancak orijinal soruya ilişkin olarak kısa geldi.
navaho

0

Sonuçlarınız farklı olabilir, ancak yönlendiricinin İnternet bağlantısı kesilmiş durumdayken sistemime harici adres üzerinden erişebiliyorum. Ancak bunu yapmak için, yönlendiriciyi normalde ISP tarafından DHCP üzerinden yayınladığından, yönlendiriciyi uygun sabit IP adresiyle yapılandırmak zorunda kaldım.

Hız farkına gelince, teorik olarak localhost kullanımı daha hızlı olmalıdır, çünkü bir ağda gezinme ile ilgili çeşitli genel giderleri kaldırır. Gerçek anlamda, fark o kadar minimal olmalı ki, asla fark edemeyeceksiniz.


0

Traceroute'a (daha önce bahsedilmiş) ek olarak, tcpdump veya wireshark'ı kullanabilir ve ana makinenizden yönlendirilen mysql bağlantılarını izleyebilirsiniz. Localhost her zaman daha hızlı olmalıdır.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.