Neden her arabirime IP adresi vermemiz gerekiyor? Her cihaza bir tane vermek yeterli olmaz mı?
Neden her arabirime IP adresi vermemiz gerekiyor? Her cihaza bir tane vermek yeterli olmaz mı?
Yanıtlar:
Bir ağa bir arayüz bağlamak, o ağın bir parçası haline getirir. Bu nedenle, IP adresi ana bilgisayarın değil, bağlantının bir özelliğidir.
Benzer şekilde, bir ana bilgisayar birçok ağ bağlantısına ve buna bağlı olarak IP adreslerine sahip olabilir. Farklı arayüzler genellikle farklı işlevlere sahiptir, bu nedenle aralarında ayrım yapmak önemlidir (örn. Dahili konsol, kamu hizmetleri, iSCSI).
Yönlendiriciler, arabirimleri için birden çok IP adresi gerektirir.
Hayır.
Bununla birlikte, basitleştirilmiş bir örnek görelim:
Üç arayüzlü bir bilgisayarım var: eth0
(kablolu Ethernet), wlan0
(wifi) ve vboxnet0
(sanal kutu). Arabirimlerden biri dahili bir ağa, biri de internete, sonuncusu ise sanal bilgisayarlardan oluşan bir ağa bağlıdır. Diyelim ki tek bir adresim var, 10.1.2.3 ve 192.168.1.2'ye bir sürü paket göndermek istiyorum, bu ağlardan birinde erişilebilir - bunları nereye gönderebilirim? Onları her yere gönderemezsiniz, böyle bir davranış tüm ağları kısa sürede sular altında bırakacaktır.
Ancak eth0 arayüzünde 192.168.1.3, wlan0'da 10.1.2.3 ve vboxnet0'da 172.0.0.1 varsa, varsayılan yönlendirme tablosu muhtemelen "eth0'u dışarı gönder" diyecektir. (Bu açıkça daha karmaşık yönlendirme kuralları ile çok daha karmaşık hale gelebilir).
Tersine, bir hizmeti yalnızca özel ağa açık arabirimde çalıştırmak isteyebilirim - bu nedenle, farklı bir arabirimde bir istek geldiğinde, hiç ele alınmaz.
Durum 1: Yönlendiriciler
Teorik olarak bu mümkün olacaktır.
Ancak, IP adresi belirli bir ağ maskesiyle "eşleştiğinde" (örn. 10.0.0.0/28) normalde bir IP paketi hedefe "doğrudan" gönderilir; aksi takdirde paket bir yönlendirici üzerinden gönderilir.
Bu şu anlama gelir:
İki ağdan birinde bir bilgisayardan diğerine gönderilen paketler yönlendiriciyi geçmez.
Bu, her bilgisayarın IP adreslerinin bağlı oldukları ağın ağ maskesiyle eşleştiği anlamına gelir.
Yönlendiriciye gönderilen paketler (yönlendirici tarafından yönlendirilen paketler de dahil!) Bilgisayardan ikinci bir yönlendirici aracılığıyla yönlendiriciye gönderilmez.
Bu, yönlendiricinin IP adresinin her iki ağın ağ maskeleriyle eşleşmesi gerektiği anlamına gelir.
Ancak bir ağdaki bir bilgisayardan diğer ağdaki bir bilgisayara gönderilen IP paketleri yönlendirici üzerinden gönderilir.
Bu, bir ağdaki bilgisayarların IP adreslerinin diğer ağın ağ maskesiyle eşleşmemesi gerektiği anlamına gelir.
Bir IP adresi ve bir IP adresi her iki ağ maskesiyle eşleşecek şekilde bir IP adresi ve iki ağ maskesi seçmek neredeyse imkansızdır, ancak birçok IP adresi yalnızca bir ağ maskesiyle eşleşir.
Durum 2: Farklı özel ağlar
Bir bilgisayarın birbirleri arasında veri alışverişi yapamayan iki özel ağa bağlı olması durumunda olabiliriz.
Bu durumda, bir bilgisayar her iki ağda da aynı IP adresine sahip olabilir.
IPv4 durumunda, çoğu işletim sistemi bunu desteklemez çünkü işletim sistemleri iki ağın ağ maskelerini aralarında ayrım yapmak için kullanır. Ağların farklı ağ maskeleri olması gerekir ...
IPv6 durumunda bir bilgisayar ( "bağlantı yerel" adreslerini kullanarak) olabilir ve bu nedenle iki ağ kartları aynı IP adresine sahip olabilir - İki farklı ağlar aynı (bağlantı-yerel) IP adresi!
Bir IP adresine sahip bir cihaz var içinde bir ağ.
Yönlendirici, birincil amacı ağlar arasındaki trafiği iletmek olan bir cihazdır .
Bir Yönlendirici iki ağ arasında paket geçmek için, bulunmalıdır içinde iki ağda.
Yönlendiricinin her ağın içinde bir "kolu" olacaktır - ya da bizim dediğimiz gibi bir arayüz . Ve bir ağ içinde bir arayüzün var olma şekli, ağ içinde bir IP adresi atamaktır.
Bir yönlendirici yapılandırılırken Bu nedenle, her bir arayüz olduğunu Yönlendirici ait ağları tanımlamak için, bir IP adresi alır içinde .
Feragatname: Yukarıdaki link bloguma aittir. Blogumdan para kazanılmıyor. Sizden okurken kar etmiyorum. Ben sadece sizin (ve diğer okurların) yararına bir bağlantı sağlıyorum.
Merak ediyordum, neden her arayüze IP adresleri vermemiz gerekiyor? Her cihaza yeterince vermeyecek misiniz?
Varsayımınıza meydan okuyarak başlayayım. Neden makinelerin böyle davranmadığını söylüyorsun? Diyelim ki eth1'e 192.168.1.1/24 ve eth2'ye 192.168.2.1/24 atarım. 192.168.1.0/24 çıkışı eth1 ve 192.168.2.0/24 çıkışı eth2 için bir rota yüklemek ve bu yol boyunca gönderilen paketler için tercih edilen kaynak IP adresini belirlemek dışında, hangi arabirime IP adresini atadığımı gerçekten ne kadar önemli? Gerçekten ne değişiyor? Makine ne anlamda makinedeki arabirimlere atanan tüm IP adresleri makineye aitmiş gibi davranmıyor?
Her iki yaklaşım da kullanılır. En yaygın yaklaşım aslında bu iki yaklaşımın bir melezidir.
"Bir aygıta bir IP adresi ver" uç noktasında, tüm arabirimleri köprüye bir IP adresi atanmış bir filtreleme köprüsüne bağlanmış gibi davranan bir aygıt hayal edebilirsiniz.
"Her arabirime bir IP adresi ver" aşırı noktasında, sahip olduğu her arabirim ayrı bir makine gibi davranan bir aygıt hayal edebilirsiniz. ( Cihazların şu anda böyle çalıştığını veya bir arabirime atanan bir IP adresine bağlanan, ancak paketler gelip başka bir IP adresine gönderilen birini düşündüğünüzü buraya bakın .)
Pratikte, çoğu makine aralarında bir yerde çalışır. Tüm IP adresleri makineye aitmiş gibi davranırlar. Belirli bir aygıta IP ataması, işletim sistemine söz konusu arabirimi varsayılan bir yol yüklemesini ve kaynak IP adresinin olmadığı arabirime gönderilen paketler için varsayılan kaynak IP adresini ayarlamasını söylemenin ötesinde bir şey yapmaz. ' t zorla.
Aksi takdirde, tüm IP adresleri makineye aitmiş gibi davranırlar. Bir paketin işlenme şekli, hangi arabirimde alındığına bağlı değildir - bir diğerine alınan bir arabirime atanan bir kaynak IP adresi olan paketler rutindir. Bir adresin hangi arayüze atandığı, bir paketin hangi arayüze gönderildiği üzerinde doğrudan bir etkisi yoktur, yönlendirme tablosu bunu belirler.
Genel durumda, bağlandığınız yerel ağ başına bir IP'ye ihtiyacınız vardır ve TCP / IP bu şekilde tanımlanmıştır: belirli bir yerel ağdaki her ana makinenin aşağıdakilere izin veren bir IP adresi vardır:
Birden fazla cihaza bağlı yerel ağlarınız olduğu sürece (Ethernet, Wi-Fi dahil olmak üzere çoğu 802.x yerel ağ), TCP / IP'nin çalışma şeklini temelden değiştirmediğiniz sürece bunu yapmak oldukça zordur.
Bununla birlikte, oldukça spesifik olmasına rağmen, aslında bundan kaçınmak mümkündür.
Yalnızca noktadan noktaya bağlantıları olan bir ağı düşünün (anahtar veya hub olmayan iki cihaz arasında noktadan noktaya Ethernet, DSL bağlantıları, SONET / SDH bağlantıları, Çerçeve Rölesi veya ATM VC'leri ...).
Genel kural, her bağlantı için a / 30 kullanmaktır, bu nedenle her iki uçtaki aygıtın bu bağlantıda bir IP adresi vardır.
Ancak "IP numarasız" kullanabilir ve hiçbir IP adresini bu bağlantılarla ilişkilendiremezsiniz. Şimdi, cihazın geri döngü arayüzüne bir IP atarsınız (herhangi bir arayüz gerçekten, ancak geri döngü bu amaç için en kolay olanıdır) ve dinamik bir yönlendirme protokolü (IS-IS, OSPF, EIGRP ...) kullanırsınız. Bu yönlendirme protokolü, çeşitli numaralandırılmamış bağlantılar aracılığıyla trafiğin bu IP adresine nasıl yönlendirileceğini bildirecektir.
IP adresleri, yönlendirme bilgilerini içerir. Bir IP adresi, atanmış bir önek uzunluğuna (başlangıçta bir ağ maskesi olarak ifade edilir ve ağ yığınlarında dahili olarak nasıl uygulanır) bağlı olarak , ağ numarası ve ana bilgisayar numarası olmak üzere iki bileşene ayrılır .
Yönlendirmenin düzgün çalışması için, belirli bir ağa bağlı tüm cihazların aynı ağ numarasına sahip adresleri olmalıdır. Gönderenler, kendi ağ numaralarını alıcının adresiyle karşılaştırarak alıcının aynı mı yoksa farklı bir ağda mı olduğunu belirler. Aynı ağdaysa, doğrudan gönderirler; aksi takdirde, işi mesajı hedefe yaklaştırmak olan bir yönlendiriciye gönderilirler.
Dolayısıyla, bir cihaz birden fazla ağa bağlıysa, bu ağların her birinde bir adrese ihtiyaç duyar, böylece o ağdaki cihazlar tarafından erişilebilir.
Bununla birlikte, adreslerin belirli ağ arabirimlerine özel olarak atanması gerçekten gerekli değildir. Cihaz, sahip olduğu tüm IP'lerin listesini tek bir tabloda alabilir. Ancak arayüzler hala hangi ağa bağlı oldukları hakkında bilgiye ihtiyaç duyar. Her arabirime bir IP ve ağ maskesi atayarak tasarımı basitleştirerek bu bilgileri tek bir yere koyarız. IP listesini arayüzlerin bağlı olduğu ağların listesiyle tutarlı tutmak için ekstra koda gerek yoktur.
Standart durumda bir IP'ye sahip olmak yeterli olabilir, ancak diğer cevaplarla vurgulandığı gibi, olmadığı birçok durum vardır.
Diğer cevaplar zaten bir yönlendirici durumundan bahsetti. Bunlardan biri sanal makinelerde olan sanal kutudan bahsediyor: tek bir fiziksel cihazda birkaç sanal cihaz çalıştırıyor olabilirsiniz. Başka bir durum VLAN'lardır, aslında tek bir ağ kartına, farklı IP adreslerine sahip birkaç farklı sanal LAN'a bağlanmış olabilirsiniz. Bazı nedenlerden dolayı, örneğin 80 numaralı TCP bağlantı noktasında birkaç web sunucusu çalıştırmak istediğiniz için birden fazla IP'li bir arabiriminiz bile olabilir. Böyle bir yapılandırma sunucular için nadir değildir, kiraladığınız donanımın tek bir ağ arabirim kartı olabilir , ancak yapılandırılmış birkaç IP adresiniz olacaktır.