IP adresleri neden her bir cihaza değil cihaza veriliyor? Bunun etkileri ne olurdu?


12

Neden her arabirime IP adresi vermemiz gerekiyor? Her cihaza bir tane vermek yeterli olmaz mı?


3
Bazı cihazlar yalnızca belirli bir arabirime bağlı olmadığı yönetim için bir IP alır. Diğerleri sizin tanımladığınız şekilde çalışır. Cihaza, modele ve yazılıma / yazılıma göre değişir. Ayrıca, görevin gereksinimlerine bağlı olarak arabirim başına farklı bir IP adresi atamanız gerekebilir.
Jesse P.

3
Kısa cevap - yönlendiricileri mümkün kılmak için. Bir yönlendirici, farklı ağlara bağlanması gereken bir bilgisayar (bu günlerde büyük olasılıkla Linux) - bu nedenle birden fazla IP adresine sahip olma yeteneği olmalıdır. Cihaz başına çoklu IP, yönlendiricinin icadı ile hemen hemen aynı zamanda ortaya çıktı.
slebetman

Tarihsel bilgi ile cevap yok mu? Hayal kırıklığına :-)
Daniel W.

Bu soru bir anlam ifade etmiyor veya somut veya tam mantıksal ifade değil. Bu sadece kelimelerin bir kombinasyonu. Bir ip adresi, çeşitli yorum isteklerinde tanımlanan internet protokolünde kullanılan bir tamsayıdır. "Cihaz" veya "arayüz kavramının tanımlandığına inanmıyorum.
marshal craft

Örneğin, aynı fiziksel makinede çalışan iki pencere uygulaması, iletişim kurmak için ip protokolü kullanan bir ağ kullanabilir. Bunun artıları ve eksileri var. Bununla birlikte, ip protokolü, tekrarladıkları temel katmanların üstünde çalışan soyut bir mantıksal şeydir ve IP ile aynı soyut olabilir.
marshal craft

Yanıtlar:


25

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.


14

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.


1
Neden farklı IP adresleri olmayanlar her arayüzde nelere ulaşılabileceğini bilmiyordunuz?
Paŭlo Ebermann

Yapabilirsiniz (ve gerçekten de böyle bir yönlendirme kurallarına sahip olmak mümkündür), ancak daha sonra "10.1.2.1'e uymayan bir şey gönder" ve bununla bitir (OSI katmanı) yerine daha düşük bir soyutlamaya gidersiniz. 3), şimdi "hangi arabirimlerden istiyorum (katman 2)" işlemek gerekir. Ayrıca mümkündür , ancak soyutlama konuları basitleştirir.
Piskvor

2
Ve başka bir şey - IP adresleri, başkalarının da sizinle iletişim kurması için atanır. WiFi ve ethernet üzerinden bağlandığınızı varsayalım; arabirimlerin her biri farklı bir ağa girer, ancak her iki ağ da internete erişebilir. Şimdi 10.1.2.3'ünüzden 1.2.3.4'e bir paket gönderiyorsunuz - dönüş rotası nedir? Wifi veya kablolu? Tahmin edebilirsiniz, ancak yanlış tahmin ederseniz, paket yanlış arayüzden geri gelir ve atılabilir. (Evet, durumlar vardır istiyorum aynı IP addr, veya birden fazla IP addrs bir Iface ya da hiç adresine sahip bir Iface ile birden arayüzleri - sıradışı)
Piskvor bina bıraktı

5

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:

  • Bir yönlendirici iki ağı birbirine bağlar; iki ağın her birinin bir ağ maskesi vardır
  • İ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!


Belirli bir durumda, ethernet için TSN spesifikasyonları , deterministik ethernet (802.1cb) için kesintisiz yedek yolları desteklemek amacıyla aynı IP, maske ve MAC Adresi ile birden fazla arabirime izin verir . Artıklık MAC düzeyinde (çift paketlenmiş ve gereksiz bilgilerin göz ardı edilmesi) işlenir, bu nedenle ana bilgisayarlar perspektifinden tek bir arabirimdir.
crasic

4

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.


1
Güzel ve özlü cevap, nedenini açıklamanın çok net bir yolu .
Stilez

3

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.


2

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:

  • trafiği hedef IP adresine göre uygun yerel ağa yönlendirmek için
  • trafiği o yerel ağdaki uygun cihaza yönlendirmek için (örneğin 802.x yerel ağlarında bir ARP aramasından sonra).

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.


0

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.


0

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.

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.