Linux'ta 0.0.0.0 bağlaması nasıl gerçekleşir?


4

Bir ping için 0.0.0.0gelen yanıtlar 127.0.0.1. Bununla birlikte, eğer localhost loopback'i kapatır ve başka bir ip ile başka bir arayüzü tutarsam, o zaman ping 0.0.0.0hata verir

$ping 0.0.0.0 connect: Invalid argument

Is not 0.0.0.0tüm arabirimler dinlemek gerekiyordu? Öyleyse, temelde, bir 0.0.0.0ağ oluşturma perspektifinden tam olarak nasıl çalışır? ping 0.0.0.0sadece geri döngü için çalışır, diğer arayüz için nasıl olmaz ?

  • Güncelleme Başka bir yerde okudum ve burada benzer yanıtlar aldım (0.0.0.0'da ping yapamazsınız).
[anshup@s2 ~]$ ping 0.0.0.0 PING 0.0.0.0 (127.0.0.1) 56(84) bytes of data.
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.010 ms
64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.009 ms
64 bytes from 127.0.0.1: icmp_seq=3 ttl=64 time=0.009 ms
^C
--- 0.0.0.0 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2551ms
rtt min/avg/max/mdev =
0.009/0.009/0.010/0.002 ms

Peki ping yapamazsak tam olarak ne oluyor burada 0.0.0.0? ve soruyu yineleyen, neden 0.0.0.0ana bilgisayardaki diğer herhangi bir arayüzden değil, sadece geri döngüden gelen yanıtı geri veriyor ?

Yanıtlar:


17

0.0.0.0/0bir adres değil, bir ağ kimliğidir (yönlendirme için kullanılır ve 'Tüm Ağlar' anlamına gelir). Bu şekilde ping yapamazsınız. Eğer her sisteme ping yapmak isteseydin kullanırdın 255.255.255.255. Her ağın genellikle .0ve .255sırasıyla olmak üzere iki özel adresi vardır: Kimlik ve Yayın .

örneğin ağda 192.168.5.0/24, Kimlik = 192.168.5.0ve yayın = 192.168.5.255. ilk ev sahibi 192.168.5.1ve sonuncusu 192.168.5.254. hiçbir sunucunun Kimlik veya Yayın adresini kendi IP adresleri olarak kullanamayacağını unutmayın.

ana bilgisayar varsayılan ağ geçidi, tanım gereği, tüm bilinmeyen ağlara ulaşmak için kullandığınız yoldur, bu nedenle 0.0.0.0/0, yalnızca Tüm Ağlara referanstır.

Düzenleme: Geri döngü yanıt vermiyor nedeni RFC1700'de belirtilmemiş 'tanımsız' davranıştır . RFC'ye göre, 0 ile başlayan bir adrese (Ondalık olarak ifade edildiğinde) hiçbir zaman bir hedef olarak (yalnızca bir yayın paketinin kaynağı olarak) izin verilmez, bu nedenle ağ yığınınızın yazarının geridöngü yanıtını vermesini seçer.

Bir 0.0.0.0Win7 / powershell isteminden ping yapmaya çalıştığımda , sadece 'PING: aktarım başarısız' mesajını alıyorum. Genel başarısızlık.' Bu, belirli bir işletim sistemi yığına özgü veya hatta sürücüye özgü olan davranışlardır. İşletim sisteminizi sağlarsanız, daha fazlasını bulabiliriz, ancak uygulamanın özel davranışları ağ standartları tarafından yönetilmeyen davranışlarından bu yana anlamlı hiçbir soruyu yanıtlamaz. Tahminimce, işletim sisteminiz tüm geçersiz adresleri adres olarak adlandırıyor 127.x.y.z.


@frank: Cevapladığınız için teşekkürler. Cevabınıza göre daha fazla bilgi eklemek için soruyu güncellemek.
Anshu Prateek

@ Frank: Güncelleme / düzenleme cevabı için teşekkürler. Bu yardımcı olur. Fedora 17 Am 17. Uygulamasını kontrol eder.
Anshu Prateek

1

İnternet Protokolü sürüm 4'te adres 0.0.0.0, geçersiz, bilinmeyen veya uygulanabilir olmayan bir hedef belirlemek için kullanılan yönlendirilemeyen bir meta adresidir .

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.