IP adresleri MAC adresleriyle nasıl eşlenir?


15

MAC ve IP adresleri arasındaki farkları ve neden ikisine de ihtiyacımız olduğunu okudum.

Özetlemek gerekirse, MAC adresleri atanmış, değiştirilebilir ve sanal iken MAC adresleri her cihaz için fiziksel olarak değiştirilemeyen benzersiz kimliklerdir. Analoglaştırmak için MAC adresleri kalıcı isimlere sahip insanlar gibidir ve IP adresleri şu anda yaşadıkları yerdir.

Gerçek dünyada, adresleri ve adları bir telefon defteri yardımıyla bağlarız. IP adreslerini MAC adreslerine hangi mekanizma bağlar ve bu mekanizma ağda nerede bulunur?


5
Sorularınızı inceledikten sonra, iyi bir kitaptan yararlanacağınızı düşünüyorum. Çizgisinde bir şey okuyan düşünün TCP / IP Illustrated, Vol. 1: Stevens'ın Protokolleri (FYI, 1993 baskısı genellikle 2011 yeniden yayımından daha iyi kabul edilir, ancak 1993 baskısı sadece IPv4'ü derinlemesine kapsamaktadır).
Mike Pennington

"Resimli Ağ: TCP / IP Modern Ağda Nasıl Çalışır" ve / veya "TCP / IP Kılavuzu: Kapsamlı, Resimli İnternet Protokolleri Başvurusu" da görülmeye değer olabilir.
Jens Link

4
@MikePennington Teşekkürler, bu bir "RTFM" ve bir -1 aksine, kelime güzel bir yoludur. Şimdi çevrimiçi okuyorum :)
CodyBugstein


1
MAC adresleri, gerçekte ne fiziksel ne de değiştirilemez ve benzersizdir. MAC'larını her yeniden başlatmada rastgele ayarlayan cihazlar gördüm. Hemen hemen her platformun MAC'ini geçici veya kalıcı olarak değiştirmek için hemen hemen her platform için kesinlikle yardımcı programlar vardır. iOS 8, ağları taramak için wifi MAC'i bile rastgele seçecektir.
MacLemon

Yanıtlar:


19

Mekanizmaya Adres Çözümleme Protokolü (ARP) denir . Her Ethernet IPv4 cihazı ARP'leri, hedef IP'ler için ethernet mac adreslerini çözer. IP-mac eşlemeleri, her cihazın ARP tablosunda (benzetmenizdeki telefon rehberi) saklanır.

Basitleştirmek için: Çoğu durumda, bir IP adresiyle ilişkili MAC adresini çözmek için, bu IP adresine kimin sahip olduğunu soran bir yayın ARP paketi (ağdaki tüm cihazlara) gönderirsiniz. Bu IP adresine sahip cihaz ARP'ye (MAC adresiyle) yanıt verir.


çoğu zaman sadece yerel bir arp tablosundan bakar düşünüyorum. Sadece ilk kez bir yayın yapmak zorunda
Cruncher

Tabii ki, MAC cihazlarını bulduktan sonra, bir süre (birkaç dakika) bir ARP tablosunda saklanır, böylece her paket için ARP sorgulama işlemini tekrarlamak zorunda değildir.
mulaz

Birkaç dakika sonra masayı düşürdüğünün farkında değildim. Bir süre beklediğini düşündüm. Bu ARP zehiri anlamına mı geliyor?
Cruncher

Evet ve "gerçek" ana bilgisayar, zehirli makineye herhangi bir paket göndermemelidir, yoksa makine 'gerçek' MAC'i depolar.
mulaz

1
Neyi başarmaya çalıştığınıza bağlı olarak.
mulaz

13

Soru IPv6 ile etiketlendiğinden, IPv6 IPv4'ten çok farklı olduğu için buna cevap vereceğim.

Başlangıç ​​olarak, ARPv6 diye bir şey yoktur. Katman 2 ve IPv6 adresleri arasındaki eşleme, ICMPv6 üzerinden gönderilen Komşu Bulma Protokolü (NDP) tarafından yapılır. Bu nedenle, eski IP ile özel olduğu gibi ICMPv6'yı yok sayıp filtrelememelisiniz. NDP burada ilgi çekici iki mesaj türü sunmaktadır: Komşu Talep ve Komşu Reklamı. Belirli bir IP adresi için bir bağlantı katmanı adresi öğrenmek isteyen bir düğüm, ilgili bağlantı yerel istemli düğüm çok noktaya yayın adresine bir Komşu İstemi gönderir - IPv6 için artık yayın yoktur.

Örneğin, eğer söz konusu adres ise 2001:db8::0011:2233:4455:6677, o zaman ilgili istenen düğüm çok noktaya yayın adresi ff02::1:ff55:6677ve buna göre ethernet çok noktaya yayın adresi 'dir 33:33:ff:55:66:77. Adresi biten tüm düğümler *55:6677bu çok noktaya yayın grubuna aittir ve bunu dinler - bu büyük olasılıkla yalnızca hedef sistemin kendisidir. Komşu Talep ayrıca tek noktaya yayın IPv6 adreslerini ve talep sisteminin MAC adresini de içerir.

Alındığında, hedef düğüm, talep eden düğümün tek noktaya yayın adresine (bağlantı katmanı ve IPv6) gönderilen Komşu Reklamı ile yanıt verir. Böylece, talep eden düğüm hedef düğümün MAC adresini öğrenir.

Ve evet, NDP sızdırma, ARP sızdırma gibi çalışır. Ve hayır, IPsec cevap değil.


" ARP'nin kendisi kullanılamaz, çünkü 4 bayt ağ katmanı adresleri (yani IPv4) için yapılmıştır. " Bu doğru değil. ARP, katman-2 ve katman-3 adresleri için adres uzunluğunu (255 oktete kadar) belirtmek için adres uzunluğu alanlarını kullanır (bkz. RFC 826). ARP'nin IPv6 ile kullanılamamasının nedeni IPv6'nın yayın olmamasıdır.
Ron Maupin

1
Güvenlik nedenleriyle ARP, v6'da NDP ile değiştirildi (ve daha sonra, tüm iyi v6-bitişik protokoller gibi, önemli özellik sürünmesi yaşandı), v6'nın yayın olmadığı için değil - ARP sadece L2 yayınını kullanıyor ve sağlamak için kolayca genişletilebilirdi v6 adresleri.
Nick Bastin

2
İlk etapta ARP'nin güvenlik nedeniyle değiştirilip değiştirilmediğini bilmiyorum. Gördüğüm kadarıyla ICMPv6'nın tüm kontrol protokollerini kapsama arzusu vardı. Bir yan etki olarak, evet, ICMPv6'yı IPsec ile güvence altına alabilirsiniz. Bununla birlikte, IPsec bir anahtar değişimi gerektirir ve IKE, IP adresi gerektiren UDP üzerinde çalışır. NDP'nin bir görevi bir IP adresi üzerinde anlaşmaktır ve manuel anahtar değişimi ölçeklenmez, bu nedenle NDP + IPsec = güvenli NDP fikri bu şekilde çalışmaz. SeND gibi alternatifler kalkmadı (ve muhtemelen asla çıkmayacak). Sonunda NDP'nin ARP'ye göre herhangi bir güvenlik avantajı görmüyorum.
karşı

4

En iyi cevap iyidir. Yardımcı olması durumunda, telefon rehberi benzetmeniz açısından bir açıklama. Parantez içinde gerçek ağ terimleri.

Adlarına (IP adresi) bağlı olarak, bulunduğunuz bölgede (yayın alanı) yaşadıklarını bilirsiniz. Öncelikle adreslerini (MAC adresi) bilip bilmediğinizi görmek için telefon defterinize (ARP önbellek) bakarsınız. Telefon rehberinde değilse, dışarı çıkıp “Steve nerede yaşıyor?” Diye bağırıyorsunuz. herkesin duyabileceği kadar yüksek (ARP isteği). Steve'in aslında orada yaşadığını ve uyanık olduğunu varsayarsak, sadece sana, bağırmayacağına - “İşte benim adresim” (ARP yanıtı) diye yanıtlıyor. İleride başvurmak için telefon defterinize yazarsınız (ARP önbellekleme).


Elbette. Benim için eğlenceli bir egzersizdi. Yayın / tek noktaya yayın gibi gerçek şeyler analoji üzerinde mükemmel bir şekilde eşleşmez (bağırmak / konuşmak / posta?), Bu yüzden bir tuz alın.
Mart'ta Jacktose

Editöre: Adresi MAC'nin benzetmesinde kullandım.
Jacktose

2
  1. MAC adresleri değiştirilebilir. Linux'ta çoğu Windows için ip veya ifconfig kullanın, ağ arayüzünüzün sürücü ayarlarına bakın.

  2. Hiçbir şeyi dönüştürmezsiniz. MAC adresleri OSI modelinin Layer-2'de, IP Layer-3'te. IPv4 için ARP, hangi MAC (Katman-2) adresinin belirli bir IP (Katman-3) adresine ait olduğunu bulmak için kullanılır. IPv6 için ICMPv6 (Neighbor Discovery) kullanılır.


Özür dilerim, "çevirmek" değil "çevirmek"
demeliydim

0

Adres Çözümleme Protokolü (ARP)

IP Adresi ---> ARP ---> MAC Adresi

MAC Adresi ---> RARP ---> IP Adresi

IP Adresi = Mantıksal Adres [32 bit]

MAC Adresi = Fiziksel Adres [48 bit]

Ağ Katmanı (IP) ----> ARP ---> Veri Bağlantı Katmanı (MAC)

Bir Kaynak / Hedef Ana Bilgisayarı tanımlamak için Ağ Katmanında IP Adresi gereklidir.

Kaynak / Hedef Ana Bilgisayarı tanımlamak için Veri Bağlantı Katmanı'nda MAC Adresi gereklidir.


RARP hakkında yanılıyorsunuz (birçok insanın bu yanlış fikri var). Bu, bir ana bilgisayar tarafından diğer ana bilgisayarların IP adreslerini değil, kendi IP adresini belirlemek için kullanılan bir şeydir. Artık kullanılmamaktadır.
Ron Maupin

0

Ağ yığını ilk olarak yönlendirme tablosundaki hedef IP'yi arar, bundan iki şey belirler.

  1. Paketin hangi arayüzden gönderilmesi gerektiği.
  2. Bir sonraki sekmenin IP adresi nedir. Yönlendirme tablosunda bir sonraki atlama belirtilmezse, hedefin IP'si bir sonraki atlama olarak kullanılır.

Bir sonraki atlama IP adresinin tamamen yerel bir kavram olduğunu unutmayın, kabloya gönderilen bir paketin parçası olmaz.

Paket çok noktalı bir bağlantı katmanında (örneğin Ethernet vb.) Gönderilecekse, işletim sistemi daha sonra arp (ipv4) veya komşu keşif (ipv6) tablosundaki bir sonraki atlama noktasına bakar. Orada eski olmayan bir giriş bulursa, gereken MAC adresine sahiptir ve paketi gönderebilir.

Kullanılabilir bir girişi yoksa, bir sonraki atlama için hedeflenen paketleri beklemeye alır ve MAC adresini bulma isteği gönderir. Buradaki mekanizmalar v4 ve v6 arasında biraz farklıdır.

V4'te arp istekleri gönderilir. Bu normalde yayınlanır, ancak bazı durumlarda ana makinenin eski bir girişi varsa, önce tek noktaya yayın isteğini deneyebilir ve yalnızca başarısız olursa yayına geri dönebilir. Yanıt normalde tek noktaya yayındır.

V6'da komşu istekleri bir sonraki atlama adresinden oluşturulan bir çok noktaya yayın adresine gönderilir. Hedef tek noktaya yayın komşu reklamıyla yanıt verir. Toplantı sahipleri, akran komşu keşif önbelleklerindeki girişleri yenilemek için "tüm düğümler çok noktaya yayın" (etkin bir şekilde yayın olarak adlandırılır) grubuna komşu reklamları da gönderebilir.

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.