Hem MAC hem de IP adresi nedeni


25

Bilgisayarımın bir IP adresi varsa, neden bir MAC adresine ihtiyaç duyuyor?


2
Size en iyi cevabı verebilmek için, bilgisayarınızda IP adresi varsa, neden bir MAC adresine ihtiyaç duymayacağınızı düşündüğünüzü de içerecek şekilde sorunuzu genişletebilir misiniz?
Brett Lykins,

1
Ağ oluşturma hakkında iyi bir temel kitap alıp okumanızı tavsiye ederim; buna değecek. Bu soruyu ve daha fazlasını cevaplayacaktır: amazon.com/Computer-Networking-Top-Down-Approach-Edition/dp/…
Manoj Pandey 22.03

4
Bu kulağa çok hoş geliyor ama kargaşayı azaltmanın en basit yolu bu. Bilgisayarınıza neden bir ethernet NIC yerleştirdiniz? Bu soruyu cevaplayın ve bir mac adresinin gerekliliği hakkındaki soruyu yanıtlayın.
Mike Pennington

4
Yorumların / cevapların gerçekten bu ifadeyi verdiği tek yer olan @Reprovo, OP'nin Teun Vink'in cevabına cevaplarda ağ kurma modellerinden kaçınmak isteğiyle cevap vermesidir. Niçin ve ağ modellerinin nasıl olduğunu bilmiyorsanız, ağınızı gerçekten anlamıyorsunuzdur ve "işi halletmek" ya çok daha acı verici olacak ya da ek sorunlar yaratacaktır. Gerçekten bir ağ uzmanı olarak bilmeniz gereken pek çok şey var (örneğin, tellerin ucuna nasıl konulduğunu vb.), Ancak ağ modelleri en azından temel bir anlayışa girmekten kaçınabilecekleri bir şey değildir.
YLearn

2
@ user1369975, noktayı kaçırdığınızı düşünüyorum. Sorunun geçersiz olduğunu söylemiyoruz, ne de insanların öğrenmelerine gerek olmadığını söylüyoruz. Ancak bu, ağ mühendisleri / uzmanları için bir sitedir ve burada ağ oluşturmanın temel temellerini göz ardı ederken yanıt vermeyi istemek makul değildir. Diğer ağ profesyonellerine yönelik olmayan bir cevap istiyorsanız, bunu SuperUser gibi diğer sitelerden birine sormalısınız .
YLearn

Yanıtlar:


13

OSI modeline girmeden, TCP katmanını vs.

Zamanında ağlar kuruldu: bazı bilgisayarlar bir şeyleri paylaşmak için birbirleriyle iletişim kurardı. Bunu yapmak için kimin konuştuğunu ve kiminle konuştuğunu bilmeleri gerekir . Bu yüzden, her bilgisayara bir isim vermek yerine, onlara bir kimlik verdik. Bu kimliğe MAC adresi denir, her bilgisayarın kendine özgü bir kimliği olmalıdır.

(Tamam, her ağ kartını tanımlayın, ancak o zamanlar her bilgisayar için bir MAC adresi düşünebilirsiniz).

Bilgisayarların birbirleriyle nasıl konuşacaklarına dair benzersiz bir özellik yoktu: birçok protokol ortaya çıktı: TCP / IP, IPX / SPX, vb. Her protokol, tamam olduğunu düşündüğü gibi şeyleri belirtir. Örneğin, IPX / SPX, MAC adresini ve daha fazla bilgiyi kullanarak her bir bilgisayara hitap eder.

Ancak TCP / IP protokolü biraz farklı olarak tasarlandı: 4 byte'lık (0.0.0.0 - 255.255.255.255) sanal bir adrese sahip olmanın yeterli olduğuna karar verdiler. ağ kartlarınızın hepsinin benzer bir MAC adresi var ya da yok, bilgisayarımızı 10.0.xx ile başlayan tüm TCP / IP adresleri mühendislik grubunun bir parçası olacak ve 10.1.xx’in yazıcıları olacak şekilde gruplayacağız. ..

Bu nedenle, bir TCP / IP adresinin bir başkasıyla iletişim kurması gerekiyorsa, sadece TCP / IP adresini kullanır. Ancak ağ cihazlarının bu mesajın hangi ağ kartına gittiğini bilmesi gerekir, bu nedenle bir şekilde TCP / IP adresini MAC adresine çevirirler.

Neden sadece MAC'yi elimine etmiyor ve bunun yerine sadece TCP / IP kullanıyorsunuz?

bazı nedenler:

  • TCP / IP adreslerini gruplamak kolay,
  • tüm aygıtlar MAC adresinin bakımı için düşük seviyedeki gereksinime göre üretilmiştir ve bunların değiştirilmesi gerekir.
  • büyük çoğunluk olmasına rağmen (bence :-P), diğer bazı protokoller hala kullanılıyor ve MAC adreslerine güveniyorlar

25

MAC adresleri ve IP adresleri, internet protokol paketinin farklı katmanlarında çalışır . MAC adresleri, aynı yayın ağındaki makineleri katman 2'de tanımlamak için kullanılırken, IP adresleri katman 3'te farklı ağlardaki makineleri tanımlamak için kullanılır.

Bilgisayarınızın bir IP adresi olsa bile, aynı ağdaki diğer makineleri (özellikle ağın / internetin geri kalanına yönlendirici / ağ geçidi) bulmak için bir MAC adresine ihtiyaç duyar, çünkü her katman temel katmanları kullanır. Daha önce bahsedilen sayfada , protokol paketini detaylı olarak açıklayan bazı güzel diyagramlar bulabilirsiniz.


teşekkürler Cevabınız için çok ama herkes OSI Katman veya TCP Katman özelliklerine girmeden, bir cevap verebilirseniz çok iyi olurdu
user1369975

11
Bu çok zorsa, bu gerçekten sizin için bir site değil. Ağ mühendisleri için ortak bilgi olarak kabul edildiğinden bu sorunun konu dışı olduğunu iddia edebilirsiniz.
Teun Vink

11
@ user1369975, referans verdiğiniz modeller, ağların nasıl çalışması için tasarlandığı (hem donanım hem de yazılım) çerçevelerdir. Bu temel anlayış olmadan, sorunuza anlamlı bir cevap olmazdı. Bu, (ABD vatandaşı hakkında), “neden bir sosyal güvenlik numarasına ihtiyaç duydukları bir adı varsa” cevabında hükümetten söz etmeden sormaya benzer.
YLearn

5
Bir MAC adresini, sokağınızdaki evin tanımı olarak düşünün. Komşularınız için hepsi "yeşil ev" veya "Mr. Johnsons house" veya "Köşedeki dubleks" i anlayacaklardır - Bunlar yalnızca yerel olarak tanımlayıcı olan bir MAC adresiyle karşılaştırılabilir. Bir IP adresi halka açık bir şekilde yönlendirilebiliyor, bu yüzden tam adresleri kullanmak gibi olurdu: 123 Main St, Somewhere, CA 92069. Öyleyse sanırım MAC'in IP adresi, sokağa gelen ve "123 AT'TA KİM VAR? !?!?" Bay Johnson onu duyuyor ve "Yeşil ev!" dedi. Sanırım? Korkunç analoji.
David Houde

3
Bu, güncel mimariye niçin ihtiyaç duyulduğunu açıklar. Fakat mimarlık neden bu şekilde tasarlandı? Yalnızca yerel IP adreslerinin ve WAN IP adreslerinin bulunduğu bir dünyayı kolayca hayal edebiliyorum. Teknik olarak mümkün.
Merhaba Dünya

17

IP-IP iletişiminin gerçekten her yönlendirici sekmesinde gerçekleşen bir dizi MAC-MAC iletişimi olduğunu anladığınızda, neden ikisinin de gerekli olduğunu göreceksiniz.

İş istasyonunuzu farklı bir alt ağdaki IP'ye yönlendiren bir paketin IP üstbilgisi, kaynak IP ve hedef IP'yi koruyarak NAT'ı şimdilik unutur. [Daha sonra, hedef aynı alt ağdayken ne olacağını tartışacağım.] Ethernet başlığı, kaynak MAC'inizi ve varsayılan ağ geçidinizin hedef MAC'ini içerir. Nihai hedef MAC hakkında sizin bakış açınızdan bilgi yok. Bu ilk yönlendirici, kaynak MAC'in kendisine ve hedef MAC'in bir sonraki yönlendirici sekmesine tekrar yazacaktır, ve paket doğrudan hedef alt ağa doğrudan bağlı olan en son yönlendiriciye ulaşana kadar devam edecektir.

Basit bir gösterimi denemek için, L2 / L3 başlıklarını bir paket kaynak IP'den (sIP) bir hedef IP'ye (dIP) taşırken, kaynak ve hedef MAC'leri - fs = first-source ve ld boyunca yeniden yazılır. = son hedef ve r1-r3 yönlendiricilerdir:

fsMAC-r1MAC / sIP-dIP 
r1MAC-r2MAC / sIP-dIP
r2MAC-r3MAC / sIP-dIP
r3MAC-ldMAC / sIP-dIP

İlgili L2 anahtarları MAC adreslerini değiştirmeyecektir.

Şimdi, alt ağınızdaki başka bir IP ile iletişim için doğrudan MAC iletişimine ihtiyaç vardır, ancak bu MAC adresinin elde edilmesi için alt ağda yayın bulmak için ARP protokolünü gerektirir. Bu arada, iş istasyonunuz aynı alt ağınızda bulunması gereken varsayılan ağ geçidinizin MAC adresini bu şekilde alır.


3
Özetlemek gerekirse, MACiletiyi bir atlamadan diğerine ileten şey, IP ise orijinal kaynak ve hedefi takip eder. Bu, bir postaneye benziyor, mektubumu Phoenix'deki Büyükanneme yönlendiriyorum, ancak posta kutusundan alan postacı sadece postaneye getirmeyi umursuyor ve postane yalnızca sıralamaya getirmeyi umursuyor merkez vb ...
CodyBugstein

3
Ancak sorum şu: neden MAC için ayrı bir protokol var? Neden bir sonraki IP adresini atlamak ve mevcut kaynak / hedef IP'leri orijinal kaynak / hedef IP'leriyle birlikte saklamak istemiyorsunuz?
CodyBugstein

@Imray: MAC protokolünü ortadan kaldırmak için ilk sorun, Ethernet ve TCP / IP standartlarının yeniden tasarlanmasını / yeniden yazılmasını gerektirir. İkincisi, IP L3'te iletişim kurmak için L2'de MAC adreslerini kullanan tek protokol değildir. Üçüncüsü, MAC adresleri normalde NIC'lerde donanım (yanmış) adreslerine bağlanırken, daha yüksek seviyedeki IP'nin esneklik için biraz keyfi olmasına izin verilir. Dördüncüsü, MAC'ler yalnızca yerel olarak ilgilidir; IP'ler global olarak ilgilidir (orijinal tasarımın bir parçası olmayan NAT ve özel adreslerde yapılan son değişiklikler dikkate alınmaz).
generalnetworkerror

14

Sizi fiziksel olarak sadece L2 ve L3 için IP adresi olan bir ağ tasarlamadan alıkoyacak bir şey yok. Ardından 'ethernet anahtarı' gelen paketlerin SIP adresini öğrenir ve DIP adresine doğru taşınır veya ilerler.

Bununla birlikte, bu ağ yalnızca IP'yi destekleyecektir, yeni nesil IPvX geldiğinde, 'ethernet anahtarı' bu protokolü destekleyemediğinden çalışmayacaktır. Ayrıca, IPX ve AppleTalk gibi başka protokoller veya evinizde geliştirdiğiniz ve test ettiğiniz bazı yeni protokolleri çalıştıramazsınız.

Soyutlama katmanları, bir pencereyi değiştirmek için tüm evi yeniden inşa etmeniz gerekmediğinden geliştirme hızını artırır ve yenilikçiliği teşvik eder.

Artık aynı ethernet anahtarlarını çalıştırmış ve LAN'ınıza hiç dokunmadan ağınızı IPX'den IPv4'e IPv6'ya geçirmiş olabilirsiniz.


Sadece hayal gücünüzde var olan bu bileşenlerin dışında sizi bu ağı tasarlamanızdan alıkoyacak hiçbir şey yok: A) kaynak IP adreslerini öğrenen bir ethernet anahtarı B) mac adresi olmadan bir ethernet NIC
Mike Pennington

3

IP adresi ve MAC adresi farklı (ancak çok önemli) amaçlara hizmet eder:

MAC adresi bir NIC'den diğerine bir kare alır. IP adresi bir bilgisayardan sunucuya bir paket alır.

Böylece aşağıdakiler verilmiştir:

Source Computer  <--->  RouterA  <--->  RouterB  <--->  Destination Server

Paketi "Kaynak" dan "Hedef" e yönlendiren IP adresidir. Ancak paketi Kaynak Bilgisayardan RouterA'ya ve ardından RouterA'dan RouterB'e ve daha sonra RouterB'dan Hedef'e alan MAC adresleridir.

İçeri ilişkiyi görebilirsiniz bu resimde:

Paket Yolculuğu - Paketler İnternette nasıl hareket eder - pracnet.net/pt


Elbette, yönlendiriciden yönlendiriciye bağlantıların MAC adresleri olmayan bir protokol kullanması çok yaygındır.
Ron Maupin

@RonMaupin Evet. Tabii ki. Fakat ... özellikle MAC adresleri hakkında sorulan soru verildiğinde bunun anlamı nedir?
Eddie

Sadece cevabınız her atlamada atanan ve yanıltıcı olabilecek bir MAC adresi olacağı anlamına geliyor gibi görünüyor. Ayrıca şemanız MAC adreslerini yalnızca ilk ve son atlamalarda gösteriyorsa çalışır. Biraz eksik, bu yüzden yorum yaptım.
Ron Maupin

1

IP protokolü, alt ağlar ve yönlendirme kavramını desteklemek için temel sağlar . Bu, IP'nin hedefinizin aynı ağda olduğunu varsaymadığı anlamına gelir - değilse, trafiğinizin yönlendirici gibi bir aracı aygıt üzerinden yönlendirilmesi gerekir. IP, TTL / Hop Limit alanlarına ve bunu destekleyenlere sahiptir.

Ethernet, veriler arayüzünden çıkarıldığında hedef MAC'in doğrudan ulaşılabilir olduğunu varsayar. Ethernet aslında bir ağdaki bilgisayarları bağlamanın en yaygın yolu fiziksel bir veri yolu topolojisiydi. Hemen hemen tüm kablolu Ethernet trafiği şimdi değiştirilse de, mantıksal olarak bir veri yolu topolojisi gibi çalışmaktadır. Bu nedenle Ethernet ile ilgili temel varsayım, hedef MAC ile olan düğümün fiziksel olarak aynı ağ üzerinde olmasıdır. IP ile ilgili böyle bir varsayım yoktur.

Sanırım Ethernet'i alt ağlar ve yönlendirme yapmakla "kesebilirsin", ancak Ethernet'in düşük seviye ayrıntılarına ve varsayımlarına dayanmayan bir protokol tasarlayabilir ve bu yüzden IP'ye sahip oluruz.


0

Mümkün olduğunca basit olmak:

Bir Mac Adresi , NIC kartınızın veya ağ arayüzünüzün fiziksel veya sanal adresidir. Ağın bakış açısındaki bir bilgisayardan, o bilgisayarın NIC kartının fiziksel adresidir. Bu bilgisayara OSI modelinin 2. Katmanı hakkında bilgi vermek için kullanılır.

IP adresi Sen farklı alt ve aygıtlara üzerinde bilgisayarlarla iletişim gerektirecek katmanda 3. gereklidir IP Adresi cihazı bir ağ içinde yer almaktadır "" doğrular.

IP adresleri ve Mac Adresleri birlikte kullanılmaktadır. Adres Çözümleme Protokolü çözme araya ikisini bağlamak için kullanılan IP adresleri için Mac Adresleri tek bir ağ içinde bağlantı Katmanı içinde.

Daha ayrıntılı bir açıklama için burayı da kontrol etmek isteyebilirsiniz .


1
Basit Tutmak: Bir İsminiz varsa, kendinizi yörede tanıtırsınız. Sizi Küresel düzeyde tanımlamanız için bir
SSN'ye

-2

MAC adresi, donanımın kurduğu donanımları temsil eder ve farklı tedarikçiler tarafından yapılan ağımızdaki farklı sistemler çok farklı mac eklentileri içerir, bu yüzden bir ağ olarak düzenlenmesi zor olurlar. Ancak ip adreslerini kullanarak cihazlarımızı düzenleyebiliriz. eşzamanlı adres olan arange ağ. mac eklentilerimizi dış ağlara gönderemiyoruz.


-2

Öncelikle, bu temel ağ temellerine değinen çok güzel bir soru. Sorunuzun özü şu ki, bağlantı kurmak için gerçekten bir MAC adresine ihtiyacımız yok. Teorik olarak, yalnızca IP adreslerini uygulayan bir ağ kurulabilir! Bununla birlikte, bazı pratik zorluklar böyle bir programın kullanılmasından ortaya çıkabilir. Her ağ cihazına manuel olarak bir IP adresi atamayı düşünüyorsanız, ana tuzaklardan kaçınabilirsiniz. Bununla birlikte, manuel olarak yönetilemeyecek kadar çok ağ düğümü olduğu gibi, otomatik olarak IP adresleri atamanız gerekirse, her düğümün tam olarak tek bir IP adresi veya önceden belirlenmiş bir sayı tahsis edildiğinden emin olmanın bir yolu yoktur, çünkü Adres dağıtım kuruluşu talep eden cihazı benzersiz ve kesin olarak tanımlayamadığı sürece, birini diğerinden söyleyemez, örneğin; LAN'daki herhangi bir cihaz için benzersiz olduğu kabul edilen MAC adresi ile. Bu şekilde tanımlanamayan bir cihaz tekrar tekrar ek IP adresleri isteyebilir ve nihayetinde ağın canlılığına zarar verebilir. Konuya geri dönecek olursanız, sadece IP olan bir ağ kurmanız için tek ihtiyacınız olan, ağ arabirim adaptörünün Veri Bağlantı Katmanının, alabileceği herhangi bir MAC ile karşılaştırılabilir adres türünden bağımsız olarak, doğrudan Ağ Katmanına aldığı herhangi bir veri çerçevesinden geçmesine izin vermektir. Veri Katmanında filtrelenmek yerine hedef IP adresine göre filtrelenir. Sadece kavramı göstermek için, RS-232 UART portlarını birbirine bağlayarak bir ağ kurulduğunu varsayalım: UART cihazlarında MAC adresleri veya bu konuda başka herhangi bir benzersiz tanımlayıcı yoktur, ancak UART'ları ve IP adreslerini kullanarak yerel bir ağ oluşturabilirsiniz yalnız, uygun UART sürücülerini kurmanızı sağlamak. Umarım bu bölüm size konuyla ilgili bazı görüşler sağlamıştı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.