Bir ağ adresi neden geçerli bir ana bilgisayar adresi olamaz?


18

Yani ... CCNA için çalıştım ve en azından son 8 yıldır IP ağları ile çalışıyorum. Her zaman bir alt ağın ağ adresinin geçerli bir ana bilgisayar adresi olmadığını gördüm ve söyledim. Şimdi önce bunun doğru olduğunu bildiğimi söyleyerek başlayacağım. Sorum daha fazla ... Kullanılamamasının teknik bir nedeni var mı veya spesifikasyonun ne zaman tasarlandığı sadece keyfi olarak kabul edildi mi? Bir yayın adresinin neden kullanılamadığını anlıyorum (GERÇEKTEN kullanıldığı için). Bir ağ adresi kullanılan normalde sadece NETWORK adresleri kullanan yönlendirme olduğunu gördüğüm şeydir. Bu durumda, (ağ adresleri yalnızca bir ağ adresi beklerken kullanılır), ağ adresinin gerçek geçerli bir ana bilgisayar adresi olamamasının teknik bir nedeni var mı?

Yanıtlar:


16

Anladığım kadarıyla, özel bir adres olarak "ağ adresi", geçmişten gelen klasik IP ağlarının bir eseridir. Bugün, İnternet'te bir ağ adresi kavramına sahip olmayan Sınıfsız Alanlar Arası Yönlendirme ( CIDR ) kullanıyoruz (yukarıda bağlı RFC 4632'ye bakarsanız, eski başına 256 olası IP adresini listelediğini göreceksiniz. "C" bloğu, örneğin ağ veya yayın adresi için ayrılmış adres yok (yayınlar diğer RFC'lerde zorunlu olarak tanımlanmış olsa da).

Bununla birlikte, bir ağdaki belirli bir ana bilgisayara bir ağ adresi atamamalısınız: Ağ adresi yönlendirme için gereklidir. Bu konsept RFC'lerde yaygın olarak kullanılmaktadır ( RFC 1812 ). Yönlendirme tablolarına ( routekomut) bakın, yerel ağ trafiğinizi yönlendiriciden geçmesi gerekenden ayırmak için yerel ağ adresinizin nasıl kullanıldığını göreceksiniz. Bu yerel ağ adresi bazı ana bilgisayarlara atanmışsa ne olur?

Daha da kötüsü, bu adres bir ağ adresi olmasa bile sıfırla biten IP adreslerini atamamak daha iyidir . Ağınız 10.10.0.0/255.255.0.0 ise, IP adresi 10.10.5.0 ağ adresiniz değildir, ancak klasik IP ağlarında bile tamamen geçerli olsa bile bu tür bir IP atamasanız iyi olur. Bazı eski yazılım / IP yığınları ile ilgili sorunlar olabilir.

GÜNCELLEME: goblinlord tarafından

RFC 1812'ye (Bölüm 5.3.5.2) göre, bir ağ adresi dediğimiz şey başlangıçta istenen ağa bir yayın paketi gönderecek olan "yönlendirilmiş yayınlar" için kullanılmıştır. Bu işlev, SMURF saldırıları nedeniyle eski hale getirildi. Fonksiyon RFC 2644'te resmen değiştirildi . Daha sonra, başka uygulamalar gerekir (ağ adresi) tarif edildiği gibi sessiz bir kaynak adresi paketleri bırakın. Olması gereken bu olsa da, aslında kaç uygulamanın gerçekleştirildiğini merak ediyorum.

Bu, / 31 alt ağı ele alındığında RFC 3021'e eklenir .


5
@grawity: Her zaman değil. Sadece / 31'den büyük bir ağda. Örneğin P2P'nin iki adresi olabilir ve yayın adresi olmayabilir.
12'de

3
Hmmm ... cevabın ilk kısmını beğendim ... bunun klasik IP ağlarından bir eser olması. İkinci bölümle ilgili sorunum, yönlendirme tablolarının özellikle bir ağa yönlendirmek için kullanılmasıdır. Anladığım kadarıyla, yönlendirme tablosu yalnızca alıcının açık olmadığı bir ağa yönlendirmek için incelenir (hedef IP, alt ağınızın / ağınızın bir parçası değildir). Bu durumda ... bir yönlendirme tablosuna bakıldığında, içindeki adreslerin ağ adresleri olduğu ve ana bilgisayar adresleri olmadığı açıktır, bu nedenle bunu bir ana paket hedef IP'sinden ayırır. Gerçek trafikte, bir net adresin hedef IP'si asla kullanılmaz.
Goblinlord

1
Bu nedenle ... bu 2 örnek zaten ayrıysa (özellikle bir yönlendirme tablosuna bakmanız gerekip gerekmediğini belirlerken yönlendirme tablosundaki ağ adresi ve hedef IP) özel olarak ayırmak için herhangi bir neden vardır.
Goblinlord

1
@ Goblinlord: Bulabileceğim resmi bir neden yok (son RFC'ler, vb.). Ancak, ağ adresinin "özel" olduğu varsayımıyla o kadar çok yazılım inşa edilmiştir ki, pratikte bu adresi bir ana bilgisayar IP adresi olarak kullanmamanız daha iyi olur.
haimg

1
Ağ adresinin de en az 10 yıldır bir ana bilgisayar olmasına izin veren bir cisco yapılandırma girişi var ... Hiç kullanmadım, hatta test etmedim ve belirtildiği gibi olası yığın sorunları nedeniyle özellikle Ana bilgisayarların sorumlu olduğum ağlarda .0 veya .255 ile bitmesine izin vermiyorum, ancak / 24'lerin altında, @Home'da ve CoreOS istediği sırada kullanılan diğer ağlara veya yayın adreslerine rastlamamıştım Orta .0 ve .255'i sanbrunocable'ın / 23'lerinin ve / 21'inin ana bilgisayarları olarak verdim, onları elle ayırdım.
Nevin Williams

5

Yani pratik cevap: Gerçekten değişir. Göre değişir:

  • Birçok RFC'de tam adres ve anlamları
  • İşletim sisteminizin sürümü ve revizyonu
  • ... ve yönlendiricinizin ve diğer tüm yukarı yönlü yönlendiricilerin
  • ... ve bu yönlendiricilerin tüm ağ yöneticilerinin zekası ve karmaşıklığı ...

Bunu test ederken herhangi bir siteye erişmekte herhangi bir sorunla karşılaşmadım; sonuçta her şey ağ yöneticilerinin kaprislerine kalmış gibi görünüyor. Bir akış yukarı cihazın genellikle bir adresin bir ağın veya yayın adresinin bir parçası olup olmadığını söylemesinin bir yolu yoktur, çünkü bunlar sadece daha büyük bir bloktaki bir adres olduğundan ... size atamadıkları ve ağ yöneticileri açıkça engellemedikçe, ağ adresinizi kullanarak.

Eminim orada tam olarak kaç tane TCP-IP yığın uygulaması varyantı olduğuna ve ne yaptıklarına, izin vermediklerine veya izin vermediklerine ve tam olarak nasıl ve nerede işaretlerini kaçırdıklarına dair delicesine detaylı istatistikleri olan güvenlik analistleri ve bilgisayar korsanları olduğundan eminim. .

Aslına bakarsanız, bunu ağ adresimden gönderiyorum ve gönderiyorum.

Bu kart evini düzeltmek için daha iyi bir çözümünüz yoksa bana kötü bir netizen demeyin: gerçek şu ki, eğer mümkünse gerçekleşecek. Gerçek şu ki, hiç kimse yeterince akıllı bir şekilde oturmadı ve tüm aptalca bir tasarıma ulaşmak için, insanların hayattaki çoğu şeyde olduğu gibi, tamamen aptalca bir tasarıma ulaşmak için bunu düşünmedi. Sonuç? Birçok şeyin çeviri yapmadığı ve / veya çeviri sırasında kaybolmadığı standartlar.

Gerçek dünyaya hoş geldin. Sizi her zaman zor olan ideal idealleri kovalamaktan alıkoymasına izin vermeyin ... Ellerinizi kirletmek ve zamanınızı ve hayatınızı buna adamak istemiyorsanız, "resmi" kanallardan veya forumlardan destek beklemeyin. gerekli fikir birliği ve bunun etrafında siyasetin dolaşılması.

Yani, diğer posterlerin ne demeye çalıştığını düşünüyorum: Bu resmi politikayı yapmak ve üretimde kullanmak istiyorsanız, kendi başınızasınız. (Ama yine de değil misin?) Belki şanslı olacağız ve bir bilgisayar zekası bize IPv4 ve IPv6 ve tüm kırık uygulamaları ile geriye dönük uyumlu bir IPv8 tasarlayacağız.


Tabii ki - ağ adresinizi kullanırken, atandığı cihaz bazı ağ yığınları bunu bir yayın olarak değerlendirdiğinden her türlü yayın trafiğini alabilir. Ancak bunlar genellikle sessizce düştükleri için çok fazla müdahale etmezler. Kaç ağ istismarının bunu çevreleyen özelliklere bağlı olduğunu merak ediyorum ...
Dagelf

2

Ağa yeniyim ama 2 sentimi de vereceğim.

Eğer xxx0 - xxx15 arasında bir / 28 alt ağım varsa Önceden tanımlanmış kurallara göre 14 kullanılabilir ana bilgisayar ve 2 tane kaldı. geri kalanı ağ ve yayın içindir.

Yukarıdaki kurala uymak yerine 16 ana bilgisayarın tümünü kullanalım. Sonra bu durumda herşey yolunda, sorun yok. Ancak ağ dışında iletişimin sağlanması gerekiyorsa, bilgi göndermek veya almak için kaynak eksikliği nedeniyle mümkün olmazdı.

Açıklamakta iyi değilim ama başka bir deyişle.

Bir sokakta bir evde yaşıyorsam ve sokakta 14 ev vardı. Ana yola erişim için bir giriş ve çıkış yolu.

Posta adresim 1-14 Kişisel Cadde, Ağ Yolu Dışı olacaktır.

Postacı için sorun olmazdı. Şimdi geliştiricilerin açgözlü olduğunu ve 2 ev daha eklediğini ve yollardan kurtulduğunu varsayalım.

Sonra yeni posta adresim 1-16 Kişisel Cadde arasında değişiyordu

Bu durumda postacı başı dertte olur.

Bu bir tahmin, boğa konuşuyorsam bana bildirin.


0

Ağ adresi, sabit boyutlu (4 bayt IPv4) hedef sütunu ve sabit boyutlu ikili işlemler içeren yol tabloları oluşturmanıza olanak tanır; böylece ana bilgisayar yönlendirmesi ve ağ yönlendirmesi aslında aynı şeydir.

Bunun gibi bir yönlendirme tablosu düşünün: (bu PC'nin başka bir PC ve ağ kartı ile paralel bağlantısı vardır)

Dest           Mask    Dev
192.168.0.123  /32     plip0   # This is a single host
192.168.0.0    /24     eth0    # This is a network

IP adresi ve ağ maskesi arasındaki AND size tam olarak ihtiyacınız olanı verir, daha fazla hesaplama yapmadan her bir satırla karşılaştırılabilecek 4 baytlık bir sayıdır.

Bu nedenle sıfır ana bilgisayar numarası, AND işleminden sonra adresinin doğal olarak tüm ağı temsil etmesi açısından özeldir.

Ağ numarasını ana bilgisayar numarası olarak kullanmaya karar verdiyseniz, aşağıdaki gibi bir tabloyla sonuçlanır:

Dest           Mask    Dev
192.168.0.0    /32     eth0    # This is the host (it's a redundant line)
192.168.0.0    /24     eth0    # This is the network

Bu yasal görünüyor, bu yüzden ağ adresi kavramının yönlendirme nedenleriyle kullanıldığını ve bu nedenle keyfi olarak özel bir adres olarak işaretlenmesine ve bir ana bilgisayar adresi olarak kullanılmasının yasaklanmasına karar verildiğini düşünüyorum.

Şey ... aslında o kadar basit değil. Bir denemeye karar verdim (!!!):

# route add -net 192.168.0.0/32 eth0
# ping 192.168.0.0
Do you want to ping broadcast? Then -b
# telnet 192.168.0.0
Trying 192.168.0.0...
telnet: connect to address 192.168.0.0: Network is unreachable

Şu anda ağ programları bir ağ numarasını normal adres olarak kullanmama izin vermiyor.


İlk yönlendirme tablosu örneğiniz göz önüne alındığında, bu şeyleri yapmanın gerçekten kötü bir yol olduğunu düşünüyorum ... .0.0 alt ağınızda başka ana bilgisayarlarınız varsa, statik olarak yol ayarlamadan birbirleriyle ve .0.123 ana bilgisayarlarıyla nasıl düzgün iletişim kurarlar? her ev sahibi? Bu gerçekten bir şeyler yapmak için uygun bir yol gibi görünmüyor.
Goblinlord

Bu sadece kurgusal bir örnek, asla böyle bir tablo kurmazdım :-) Geri kalanı normal ethernet ağı iken .123 ana bilgisayar bir noktadan noktaya bağlantı ile bağlanır. Diğer makinelerin .123 ana bilgisayarına erişmesini istiyorsanız, ek iş yapmanız gerekir, ancak bu imkansız değildir.
David Costa

0

Bu sorunun cevabını ararken Cisco'dan bu makaleye rastladım . Bu makaleden aşağıdaki alıntı bence güzel özetliyor.

[...] 172.16.1.10 IP adresini düşünün. Bu IP adresine karşılık gelen alt ağ adresini hesaplarsanız, ulaştığınız cevap 172.16.0.0 alt ağıdır (alt ağ sıfır). Bu alt ağ adresinin, ilk etapta alt ağa bağlanmış 172.16.0.0 ağ adresiyle özdeş olduğunu unutmayın, bu nedenle alt ağ gerçekleştirdiğinizde, ayırt edilemeyen adreslere sahip bir ağ ve bir alt ağ (alt ağ sıfır) alırsınız. Bu daha önce büyük bir karışıklık kaynağıydı .

Karışıklıktan kaçınmak benim için yeterince iyi bir neden.


Bu sorunun uzun zaman önce sorulduğunu biliyorum ama sadece bu şeyleri inceliyordum. Alıntı yaptığınız makale "alt ağ sıfır" veya bir ağ adresindeki ilk alt ağdan bahsediyor. Bu tamamen farklı bir şey ve her anahtarda çalıştığım herhangi bir modern ağda "ip subnet-zero" özelliği var. Ayrıca bu günlerde tüm anahtarlarında varsayılan olarak etkinleştirildiğinden bahsediyor (2003'te piyasaya sürülen sürüm 12'den itibaren).
Goblinlord

0

RFC 1122 ("İnternet Ana Bilgisayarları için Gereksinimler - İletişim Katmanları") bunu yasaklar:

IP adreslerinin <Ana bilgisayar numarası>, <Ağ numarası> veya <Alt ağ numarası> alanlarının hiçbiri için 0 veya -1 değerine sahip olmasına izin verilmez.


0

Ağ adresi bir ana bilgisayar adresi olarak kabul edilmez, ancak yalnızca bir sayıdır. Noktadan noktaya ağlar gibi sınırlı alanlardaki adreslerde sık sık a / 30 maskesi kullanılır, ancak yine de ana bilgisayar adresleri kullanılır. Daha az uygulama, ancak aynı prensibi yerine getirir / 31 maskesi kullanmak ve bir ucunu ağ adresi, diğer ucunu yayın olarak kullanmaktır.

Ör.

Router(config)#int gi0/0
Router(config-if)#ip add 10.0.0.0 255.255.255.254
Router(config-if)#no shut


Router2(config)#int gi0/0
Router2(config-if)#ip add 10.0.0.1 255.255.255.254
Router2(config-if)#no shut


        .0        .1
[Router]-----------[Router2]
   network      broadcast
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.