Ethernet / MAC adresleri neden gereklidir?


16

Ethernet MAC adreslerinin neden gerekli olduğunu anlamıyorum. Tüm bilgisayarlar yalnızca birleşik ağa bağlanıp iletişim kurmak için IP adreslerini kullanamıyor mu?

Örneğin, Ethernet'te aşağıdaki bir mekanizma vardır:

  1. IP ile Bilgisayar 192.168.1.1( X.1) için bir paket göndermek istediğini 192.168.1.2( X.2)
  2. X.1 MAC almak için ARP kullanır X.2
  3. Bunu yapmak için, X.1ağdaki tüm bilgisayarlara bir paket göndermesi gerekir; sadece biri cevap verecek
  4. X.1 MAC alır ve paketi gönderir

Sadece bir adım atmak daha kolay olmaz mıydı:

  1. X.1ağdaki tüm bilgisayarlara bir paket gönderir; sadece X.2işleyecek, diğerleri görmezden gelecek

Tamamlayıcı soru şudur: Tüm cihazların benzersiz MAC adresleri varsa neden IP adresleri gereklidir?


Bilgisayarlar verileri görmezden gelmeleri gerektiğini nasıl biliyorlar? MAC adresi olmadan ağdaki hangisinin işlemesi gerektiğini söyleyemezler ...
Bakuriu

1
MAC adresi yerine IP adresini kullanabilirler
user2449761

erm ... bilgisayar <-> IP adresi tarafsız bir eşleme değil . Sorumu yeniden yazacağım: Bilgisayarlar verileri görmezden gelmeleri gerektiğini nasıl biliyorlar? MAC adresi olmadan ağdaki hangisinin onu işlemesi gerektiğini söyleyemezler ... çünkü birden fazla aynı IP'ye sahip olabilir mi?
Bakuriu

4
aynı alt ağda aynı IP'ye sahip olmamalıdırlar ... bu bir çakışmadır
user2449761

Yanıtlar:


31

Farklı ağ katmanları onları farklı teknoloji için takas izin vermek vardır.

Burada bahsettiğiniz iki katman, katman 2 ve 3'tür. Bu senaryoda Katman 2, MAC adreslerinin ortaya çıktığı Ethernet ve Katman 3 IP'dir.

Ethernet yalnızca yerel düzeyde, bir yayın ağına "datalink" bağlı ağ cihazları arasında çalışır, IP ise yönlendirilebilir bir protokoldür ve uzak ağlardaki cihazları hedefleyebilir.

Bunların her birinin gereksinimleri farklıdır. Ethernet, ağ aygıtları arasında paketlerin gönderilmesine ve alınmasına izin veren bir teknoloji ailesi belirtirken IP, veri paketlerinin birden çok ağda geçiş yapmasına izin veren bir protokol tanımlar.

Her ikisi de diğerine bağımlı değildir, bu da ağa esnekliğini verir. Örneğin, internet servisinize ethernet üzerinden IP kullanarak bağlanmayı seçebilirsiniz, ancak dahili ağınızda IP üzerinden ... kağıt kullanmayı seçebilirsiniz. Birinin her paketin içeriğini yazdığı ve fiziksel olarak başka bir makineye götürdüğü ve yazdığı yer. Açıkçası bu özellikle hızlı olmazdı, ancak IP yönlendirme kurallarına uyan kağıt parçalarını taşıyan kişi IP olsa bile yine de IP olurdu.

Gerçek dünyada, zaten iki farklı olanı kullandığınız farklı veri bağlantısı protokolleri vardır (adresleme şemaları aynı olmasına rağmen): 802.3 - ethernet ve 802.11 - wifi.

IP, alttaki katmanın ne olduğu umurumda değil.

Aynı şekilde, IP, farklı ağ katmanı protokolleri için değiştirilebilir (tüm katılımcılar için olması şartıyla). Bu gibi atm .

Hem katman 2'yi hem de katman 3'ü kapsayan bir protokolün oluşturulmasını doğrudan engelleyen bir şey olmasa da, daha az esnek ve çok daha az çekici ve kullanılması pek olası değildir.


2
Dahili ağ için RFC1149 kullanmalısınız . (Daha az teknik açıklama )
Scott Chamberlain

2
El sinyal bayraklarını kullanmak gibi bir şey var mı?
Scott Chamberlain

1
@ScottChamberlain: El işareti bayraklarındaki ASCII sanatını seviyorum!
Fred Larson

5
IPoAC, dahili iletişim için kötü bir seçimdir; güvercinler açık havada daha iyi çalışır
cpast

2
@ user2449761 kişi yalnızca aptalları listeledi. Ethernet yerine bluetooth, çevirmeli bağlantı, GPRS, LTE, USB, DSL, token ring, vb.
Kullanabilirsiniz

8

Paketin işlenip işlenmeyeceğine dair bu karar nerede verilir? Hiçbir cevap gerçekten tatmin edici değildir:

1) Anahtarda? Bu, anahtarların hangi bilgisayarların hangi paketlerle ilgilendiğini belirleyen her protokolü anlaması gerektiği anlamına gelir. Bu sadece anahtarların maliyetini arttırmak ve hızlarını düşürmekle kalmaz, aynı zamanda IP protokolündeki değişikliklerin de zorlaştırılmasını zorlaştırır.

2) Ethernet arayüzünün donanımında? Bu, her veri paketinin her makineye gitmesi gerektiği için ağı çok daha yavaş hale getirir. WiFi ve daha yavaş köprülere sahip köprü ağları gibi teknolojiler imkansız olacaktır. Ethernet'in farklı hızlarda birlikte çalışması mümkün değildir. IPv6 veya IP çok noktaya yayın gibi teknolojilerin tüm Ethernet uç istasyonlarına dağıtılması için donanım değişiklikleri yapılması gerekir.

3) Yazılımda? Bu, bilgisayarları çok daha fazla sayıda ağ arabirim kesintisiyle uğraşmak zorunda oldukları için çok daha yavaş hale getirecektir. Yukarıda bahsedilen tüm köprüleme, VPN ve Wifi endişeleri de sorun olacaktır.

Tüm bunlar Ethernet'i IP olmadan kullanılamaz hale getirecek ve IP'de değişiklik yapmak için Ethernet'te değişikliklerin gerekli olacağı anlamına gelecektir. Yuck.

Endişelerin ayrılması iyidir.


Ayrıca, genel ağ performansını büyük ölçüde düşürebilir. Seçenek 3 için, 1GBit ağımı doyurmak için büyük bir dosya gönderiyorum ve aniden ağdaki diğer herkes de bu dosyayı alıyor ve yoksaymak zorunda ve parçası olmayan birisine dosya göndermek için bant genişliğine sahip değil geçerli dosya aktarımının
PlazmaHH

ikinci seçenek Ethernet'in nasıl çalıştığını açıklamıyor mu? Tüm arabirimler aynı paketleri alıyor, ancak yalnızca bir makine onu görmezden gelmeyecek (karışık modda olanlar hariç). Anahtarlar işleri hızlandırmak için vardır ...
user2449761

2
@ user2449761 Tüm paketler tüm bilgisayarlara yalnızca anahtar yerine hub bulunan eski bir ağ donanımı kullanıyorsanız gider. Hublar aslında maliyet nedenleriyle bir seçimdi; ama şimdi anahtarlar ucuz, artık kimse onları kullanmıyor.
Dan Firelight tarafından Fiddling

@Dan bahsettiğim şey bu ...
user2449761

2
Seçenek 1 zaten gerçekleşiyor. MAC adreslerinin kullanımının yerini almıyor, en azından henüz değil. Ancak bazı anahtarlama donanımı, giden arabirimi seçmek için hedef MAC adresini veya hedef IP adresini kullanacak şekilde yapılandırılabilir. 10 veya 20 yıl içinde MAC adresinin sadece tarihi amaçlar için kalması ve tüm paket yönlendirmelerinin sadece IP adresine göre yapılması mümkündür. IP'deki değişikliklerin konuşlandırılması zor olan kısımdan kaçınılmamıştır, çünkü omurga yönlendiricileri yıllardır donanımdaki hedef IP adresine göre yönlendirilmektedir.
kasperd

3

IP adresi ve MAC adresleri, internet protokol paketinin farklı katmanlarında çalışır . MAC adresleri, katman 2'deki aynı yayın ağı içindeki makineleri 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, her katman temel katmanları kullandığından, aynı ağdaki diğer makineleri bulmak için bir MAC adresine ihtiyaç duyar. Daha önce bahsedilen sayfada, protokol paketini ayrıntılı olarak açıklayan bazı güzel diyagramlar bulabilirsiniz.


2

Tıkanıklık sorunu boyut olarak arttıkça ethernet ağı ile karşı karşıyadır. Bu giriş ağı boğabilir ve gecikmeye neden olabilir. Bu, alt ağ kavramını getiren faktörlerden biridir. Ancak, alt ağlarda, paketin bir alt ağdaki bir makineden başka bir alt ağdaki bir makineye gitmesini sağlamak için yönlendirici adı verilen ek bir varlığa ihtiyacımız var.

Ethernet kablosunun kapsadığı mesafe, belirli bir sınırın ötesine geçerse iletimlerin başarısını sınırlayabileceği için bir başka önemli sorundur. Bu, hub / tekrarlayıcı şeklinde yeni varlıklar getirdi.

Tüm iletişim mekanizmalarının iletişim için MAC adresi kullanmadığını unutmayın. PPP ve HDLC tanımlama için MAC adresini kullanmaz.

Ayrıca, bazı ağların ethernet kullanmadığını unutmayın. Token ring ağları farklı bir veri bağlantı katmanı gerektirir.

B ağındaki aygıtın mac adresi üzerinden adres atarak A ağından B ağındaki bir aygıta bir paket gönderirseniz, A ağının kendisine bırakılır. Ağ A ve ağ B arasında yönlendirici olsa bile, yönlendiricinin mac adresine gönderilen ancak farklı ip adresi için paketler alarak çalıştığı için yönlendiricinin paketi düşüreceğini unutmayın.

Yukarıdaki senaryolardan, çeşitli yerel / özel ağlar nedeniyle internetin düz bir ağ olmadığı çok açıktır. Kaynak ve hedef arasında çeşitli ağ varlıkları da vardır.

İnternet düz bir ağ olmadığından, MAC adresi tüm iletişim türleri için kullanılmadığından ve bazı ağlar ethernet dışında farklı veri bağlantı katmanı gerektirdiğinden, düğümün konumundan bağımsız olarak istenen düğüme yönlendirmek için IP adresine ihtiyacımız var ve bu ağ katmanı ile elde edilir.

Ayrıca, /programming/26290069/arp-vs-ip-why-do-we-need-both adresindeki benzer bir tartışmaya bakın.


Alternatif Katman 2'nin "kuş taşıyıcıları", "el sinyalleri" ve "kağıt ve kalem" örneklerine ek olarak, tuhaf ama bazen yararlı olan bazı örnekler de vardır . SMS, Facebook veya hatta e-posta üzerinden IP. Sonra eski standbys SLIP, PPP ve PPPoE var. Bu üçü Ethernet veya WIFI bağlantısıyla aynı türden yüzleri VERMEZ - yine de bunların hepsi IP'yi alır ve tamamen yönlendirilebilir.
Ross Presser

2

Diğerlerinin açıkladığı gibi, yerel ağınızdaki tıkanıklık kontrolü için Katman 2 protokollerine ihtiyacınız vardır. Katman 3, ağlar arasında yönlendirme ve adresleme için kullanılır.

Bunu söyledikten sonra, geçerli bir soru şunlar olabilir: Neden her iki katman da aynı adresleme şemasını kullanamıyor?

İlk cevap: Diğerlerinin de belirttiği gibi, bu L2 ve / veya L3 teknolojilerini değiştirmenize izin verir ve her şey hala çalışır.

İkinci cevap: Herkes Katman 2 protokollerinin IP adreslerini kullanmasını kabul etse bile, biri Katman 2 için diğeri Katman 3 için olmak üzere iki IP adresi kullanmanız gerekir. Neden? Natting. Bilgisayarınızın genel bir IP adresi varsa, L2 ve L3 adresleri aynı olabilir. Ancak, NATting kullanırsanız, L2 ve L3 adresleriniz farklı olur.

Son yorum: Herkesin mesajı aldığını ve alıcı olmayanların onları görmezden geldiğini söylediğinizde, WiFi'den bahsediyorsunuz. Kablolu Ethernet artık böyle çalışmıyor. Eskiden koaksiyel kablo kullandığımızda ve daha sonra hub kullandığımızda böyle olurdu. Anahtarlar yalnızca iletileri / paketleri uygun bağlantı noktasına gönderir (bunlara saldırı yapmaz ve tablolarını doyurmazsanız).


Son yorumu eklediğiniz için çok memnunum. Belirttiğiniz gibi: tıkanıklık anahtarlar tarafından yönetilebilir. Anahtarlar yalnızca IP adresleme şemasını kullanabilir. Ayrıca NATing argümanını da anlamıyorum: NAT'ın her iki tarafında iki IP adresine ihtiyacımız var. Bence geçerli soru şu: modern ağlarda neden ayrı DataLink ve Network katmanlarına ihtiyacımız var? Jeton halkası, güvercinler ve kağıtlar kullanıldığında 70'lerde ayrılmanın gerekli olduğunu anlıyorum.
user2449761

0

MAC adresleri ve IP adresleri , farklı amaçlar için farklı ağ katmanlarında çalışır . Katmanlardan birinden kurtulmak sorunlara neden olabilir, karışıklık yaratabilir veya işlerin çalışmasını engelleyebilir.

Diyelim ki sadece IPX konuşan eski bir donanıma sahibim (bir milyon dolarlık CNC torna) . Yalnızca IP ağınızda, herkes onunla nasıl konuşur? Veya yapılandırılmamış bir bilgisayarı yeni bir ağa bağladığımı varsayalım. MAC adreslerinin yokluğunda, DHCP sunucusu bilgisayarıma hangi IP adresini kullanacağını nasıl söyleyebilir?

Diyelim ki bir omurga anahtarına dört gigabit bağlantısı olan, tek bir sanal bağlantı halinde toplanmış bir sunucum var . Yalnızca MAC ağınızda, sunucumun adresi nedir? Veya PPPoA modem ile bağlı bir bilgisayarım olduğunu ve MAC adresimin olmadığını varsayalım . Herkes ona nasıl bağlanabilir?


0

Hmmm Bunun işe yarayabileceğini düşünüyorum (aslında / el / MAC adres ataması yaptım); ancak bu yapılsaydı, IPv6 için yeni bir donanım satın almanız gerekirdi ve büyük olasılıkla çakışma olmazdı. Sonuçta sonuçları sevmiyorum.


0

Ben IP açılımı ınternetworking Protokolü.

Yani bir IP'nin tüm dünyadaki TÜM ağlar arasında benzersiz olduğu varsayılır.

IP adreslerinin kelimenin tam anlamıyla küresel olması gerekir. 9.9.9.9'a trafik gönderirseniz, 9.9.9.9'un fiziksel olarak nerede olduğu veya 9.9.9.9'un fiziksel olarak hangi ağda olduğu fark etmeksizin 9.9.9.9'un olduğu yere ulaşması gerekir.

(Bu NAT nedeniyle bir şekilde kırılır. TCP / IP icat edildiğinde NAT orijinal planın bir parçası değildi ve IPv6 gerekmediği yerde daha yaygın hale gelene kadar bir "hack" idi. bu cevap.)

MAC adresinin yalnızca ana bilgisayarın bulunduğu yerel ağda benzersiz olması gerekir. Aynı yerel ağda olmayan bir şey arasındaki iletişime izin vermek için tasarlanmamıştır. Dolayısıyla MAC adresleri ile ilgili fiziksel bir sınırlama vardır ancak IP adresleri ile böyle bir sınırlama yoktur.

TCP / IP aşağıdakilere dayanmaktadır:

  • sistemlerin bir yönlendirici dahil olmadan doğrudan birbirleriyle konuşabileceği yerel ağlar vardır
  • bazen bir ağdaki bilgisayarlar başka bir bilgisayardaki bilgisayarlarla konuşmak isterler ve bunu yapmak için bir yönlendiriciye ihtiyaç duyarlar.

Yukarıdaki iki kavramın uygulanmadığı başka bir temel mekanizma mevcut olsaydı, şu anda olduğu gibi IP ve MAC'a ihtiyaç duyulmaz.

Aynı yerel ağın dışındaki makinelerle kesinlikle konuşmak zorunda olmayan bir protokol veya başka bir şey tasarlıyorsanız, MAC adreslerine sadık kalmak iyi bir fikirdir. ATA sürücülerinin güvenlik amacıyla internet üzerinden değil, aynı ağ üzerinde paylaşılmasına izin verecek şekilde tasarlandığından, Ethernet üzerinden ATA protokolünün böyle olduğunu düşünüyorum.


0

Ben de benzer düşüncelerim vardı. Ama MAC katmanına ihtiyacınız olduğunu fark ettim. Anahtarlama amacı için bile değil!

Kaçınılmaz sorun, IP hakkında konuşmamıza rağmen IPv4 ve IPv6 da olsa, sadece IP protokolünden başka bir şeye sahip olmanızdır. Ağ cihazı hangisinin olduğunu nasıl biliyor? bu yüzden bir bootstrapping katmanı olarak MAC'a ihtiyacınız var, bunun protokol alanında MAC üzerinde ne taşındığını söyleyen bir sonraki katman.


-2

Sadece tek bir OSI katmanını düşünerek takılıp kalıyorsunuz. IP yalnızca Ethernet (ve diğerleri) var olduğu için çalışır, aynı şekilde Ethernet yalnızca trafiği taşımak için fiziksel kablolar olduğu için bulunur. "IP veya MAC" değil - trafiğin yönlendirilmesi MAC adreslerinin çalışmasını gerektirir : IP teknolojisi (diğer, ilişkili ve ilgisiz teknolojiler) bunun üzerinde yer alır. Birini diğeriyle değiştiremezsiniz.


-6

Dinamik IP'ler arkadaşım! Yerel ortamınızda (eviniz, kolejiniz, işyeriniz) bir ağ kurulumunuz var. Doğrudan Internet'e (büyük 'I' harfi ile) bağlı değil, bir yönlendirici aracılığıyla. Bu yönlendirici, ISS'nizden dinamik bir IP (çoğu durumda statik bir tane yoksa) alır ve bağlı tüm bilgisayarlara dinamik (yukarıdaki ile aynı 'ancak') adresleri atar. Neden böyle yapılıyor? Bir satırda, sahip olduğunuz IP'lerden daha fazla kullanıcıya hizmet sunmak için. Mesele şu ki, diğer tüm bilgisayarlar arasında MacBook Pro'nuzu (: D) tanımlayabilmeniz gerekiyor, bu nedenle dinamik / paylaşılan bir adrese değil, UNIQUE bir adrese ihtiyacınız var. Bu senin mac'un. Ve bu yüzden ona ihtiyacın var.

Buradan daha fazla okuyabilirsiniz


2
MAC adreslerini kullanmak için hiçbir sebep yok.
Daniel B

1
Mesele şu ki: tüm bilgisayarların benzersiz bir IP adresi yoktur, bazen bunu bile istemezsiniz, bu yüzden ayrı bir LAN adresine sahip olmaları için iyi bir argüman, MAC adresi budur.
reinierpost

1
Evet onlar yapar. İnternet üzerinden yönlendirilebilen her şey, tanım gereği, benzersiz bir şekilde adreslenebilir. Aksi takdirde internet çalışmaz. NAT gibi uçtan uca prensibi ihlal eden şeyler var. NAT durumunda ayrı bir LAN adresiniz de vardır.
Daniel B

@DanielB Bunun doğru olmadığından eminim, ama sizi yanlış anlıyorum. Örneğin: Daha önce herhangi bir bağlantı kurulmadan, yerel bir özel ağda bulunan, bulunduğunuz yerden bu PC'ye nasıl benzersiz bir şekilde hitap edeceğinizi söyleyebilir misiniz? Bunun yerine bilgisayarı bunun yanında ele almak isterseniz ne olur?
SevenSidedDie

@DanielB Elbette nedeni bu değil. OP'nin sorusu: Tüm bilgisayarlar yalnızca birleşik ağa bağlanamaz ve iletişim kurmak için IP adreslerini kullanamaz mı? Cevabım, “Ethernet modelinde neden MAC adresleri kullanıyoruz?” Satırında ilerleyen varsayımsal soru değil, bu soru hakkında bilgi sağlar . Neden sadece IP'leri kullanamayacağımızı sorduğundan , cevabım var. Lütfen, bir dahaki sefere downvoting önce dikkatlice okuyun :)
tfrascaroli
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.