Bir MAC adresinin tam kullanımı nedir?


126

IP adreslerinin hiyerarşik olduğunu anlıyorum, böylece internet üzerindeki yönlendiriciler bir paketi hangi yöne yönlendireceğini biliyorlar. MAC adreslerinde hiyerarşi yoktur ve bu nedenle paket iletimi mümkün olmazdı. Bu nedenle, MAC adresleri paket aktarımı için kullanılmaz.

Sebepsiz yere orada oturduğunu sanmıyorum. Öyleyse sorum şu, paket transferi sırasında bir MAC adresi tam olarak nerede devreye giriyor?

Yanıtlar:


57

TL; DR> MAC adresleri, bir Ethernet ağının (ve WiFi gibi diğer bazı standartlara benzer) düşük bir bileşenidir. Bir cihazın yerel fiziksel ağdaki (LAN) bir makine ile iletişim kurmasını sağlar ve İnternet üzerinden yönlendirilemez - çünkü fiziksel donanım teorik olarak dünyanın herhangi bir yerine takılabilir.

Buna karşılık, IP adresleri tüm interneti kapsar ve yönlendiriciler, hedeflerine ulaşmak için birden fazla atlamaya ihtiyaç duysalar bile nereye veri göndereceklerini bulmak için bunları kullanırlar - ancak yerel ağınızdaki fiziksel donanıma müdahale etmekte yardımcı olmazlar.

Ethernet'ten daha iyi bir standart bulmuş olsaydık, MAC adreslerini kullanmayabilirdi, ancak internetten IP trafiği, internetten diğer insanlar daha önce hiç duymamış olsa bile, yine de üzerinden akabilirdi.

IP'den daha iyi bir standart bulmuş olsaydık (örneğin tüm IPv4 adresleri tükenirse IPv6), çoğu Ethernet donanımı yeni tür trafiği değişiklik yapmadan taşıyabilirdi - ve basit bir yazılım / bellenim güncellemesi geri kalanının çoğunu giderebilirdi.

Yerel Ethernet (veya wifi) ağ işlevi yapmak için MAC adresleri gerekir. Fiziksel bağlantı paylaşılsa bile, bir ağ cihazının doğrudan bağlı tek bir cihazın dikkatini çekmesine izin verir. Binlerce cihaz tek bir kuruluşta birbirine bağlandığında bu önemli olabilir. Daha geniş internette hiçbir işlevi yoktur.

Bu sorunun cevabını gerçekten anlamak için, OSI (bazen 7 katmanlı olarak da bilinir) modelini anlamanız gerekir .

Doğrudan fiziksel bağlantısı olmayan ayrı makinelerde çalışan 2 uygulama arasında iletişimin gerçekleşmesi için çok iş yapılması gerekiyor.

Eski günlerde, her uygulama uzak uçtaki uygulamaya ulaşacak ve çözülebilecek uygun bir sinyal üretmek için hangi makine kod talimatlarının çalıştırılması gerektiğini tam olarak bilirdi. Tüm iletişim etkili bir şekilde noktaya uçtu ve konuşlandırılacağı duruma tam olarak uyacak şekilde yazılım yazılması gerekiyordu. Açıkçası, bu sürdürülemezdi.

Bunun yerine ağ oluşturma problemi katmanlara ayrılmıştı ve her katman uzaktaki bir makinede eşleşen katmanla nasıl konuşulacağını ve bunun altındaki makineyle yerel makinede nasıl bir katman (ve bazen yukarıda) konuşacağını biliyordu. Diğer katmanlarla ilgili hiçbir şey bilmiyordu - bu yüzden web tarayıcınızın bir token ring, ethernet veya wifi ağı kullanan bir makinede çalışıp çalışmamasına dikkat etmesi gerekmez - ve kesinlikle hangi donanımı bilmesi gerekmez uzaktaki makine kullanır.

Bu işi yapmak için, 7 katmanlı model iç içe geçmiş zarflar gibi bir sistem kullanır; uygulama verilerini oluşturur ve İşletim Sisteminin teslim etmesi için bir zarfa sarılır. İşletim sistemi bunu başka bir zarfa sarar ve Ağ sürücüsüne iletir. Ağ sürücüsü bunu başka bir zarfa sardı ve fiziksel kabloya yerleştirdi. Ve bunun gibi.

Alt katman, katman 1 , fiziksel katmandır. Bu teller, transistörler ve radyo dalgaları tabakasıdır ve bu tabakada, iletişim çoğunlukla sadece bir olanlar ve bir şeyler akışıdır. Veriler fiziksel olarak bağlı her yere gidiyor. Bilgisayarınızın ağ bağlantı noktasını bir CAT-5 kablosu kullanarak anahtarınıza takın.

Katman 2 , Veri bağlantı katmanıdır. Bu, olanlar ve geceler için bir yapı, bazı hata tespit ve düzeltme yetenekleri ve fiziksel olarak bağlı cihazın (buradaki fiziksel bağlantılar aslında wifi üzerinden olabilir) mesaja dikkat etmesi gerektiğine dair bazı göstergeler sağlar. MAC adreslerinin devreye girdiği katman budur ve daha sonra geri döneceğiz. Ancak MAC adresleri bu katmandaki tek olasılık değil. Token ring ağları, örneğin, farklı bir veri bağlantısı uygulamasına ihtiyaç duyar.

Katman 3 , Ağ katmanıdır. Bu, IP'nin çalıştığı katmandır (yalnızca tek ağ katmanı protokolü olmasa da) ve bilgisayarların "ağ" üzerindeki herhangi bir makineye ulaşabilecek bir ileti göndermesine olanak sağlayan katmandır. Söz konusu makineler arasında doğrudan bir bağlantı olması gerekmez.

Katmanlar 4-7 daha yüksek seviye protokollerdir. Donanımdan uzaklaşıp uygulamaya daha da yaklaşıyorlar. Örneğin, TCP, IP'nin üstüne oturur ve mesajları kaybolduğunda otomatik olarak yeniden gönderen mekanizmalar sağlar.

Böylece MAC adresleri Katman 2'de çalışır ve aynı fiziksel bağlantıyı paylaşan diğer makineler tarafından göz ardı edilecek mesajların gönderilmesi için fiziksel olarak birbirine bağlı 2 makineye izin verir.

Makineye veri göndermek isteyen bir uygulamam olduğunu varsayalım.

Katman 3, verileri, diğerlerinin yanı sıra, IP adresi 8.8.8.8'i içeren bir zarf içine sarar ve bunu katman 2'ye verir.

Katman 2 bu IP adresine bakar ve doğrudan bağlı olduğu hangi makineye bu mesajla baş edebileceğine karar verir. Doğrudan bağlı olan IP adreslerinin seçiminde, makinedeki ağ kartının ilgili MAC adresi ile birlikte bir arama tablosu olacaktır. Bu arama tablosu, bir ağ kartının doğrudan bağlı diğer cihazlarla ilgili sorular sormasını sağlayan ARP adlı bir protokol kullanılarak oluşturulmuştur. Ethernet, bir cihazın fiziksel olarak bağlı tüm cihazlarla konuşmasını sağlayan FF: FF: FF: FF: FF: FF özel bir MAC adresi saklar .

IP adresi tablodaysa (veya ARP aracılığıyla çözülebilirse), Katman 3 zarfını, yeni başlıkta MAC adresi ile birlikte Katman 2 zarfına saracak ve tüm paketi Katman 1'deki donanıma geçirecektir. Eşleşen MAC adresine sahip ağ kartı mesajı alacak ve ağ sürücüsü Katman 2 zarfını açacak ve içeriği, işletim sisteminin hangi kısmının belirli bir IP adresinde mesaj almayı beklediğine kadar iletecektir.

Alternatif olarak, IP adresi yerel ağda değilse, yeni zarf bu ağ arayüzü için yapılandırılmış olan varsayılan ağ geçidinin (yani Router) MAC adresine sahip olacak ve donanım paketi yönlendiriciye taşıyacaktır.

Yönlendirici, katman 2 zarfında kendi MAC adresini fark eder ve seviye 2 paketini açar. Seviye 3 zarfındaki IP adresine bakar ve mesajın daha sonra nereye gitmesi gerektiğine karar verir, bu muhtemelen ISS'nizdeki yönlendirici olacaktır. Yönlendirici NAT (veya benzeri) kullanıyorsa, dahili IP adreslerinizi gizli tutmak için bu noktada seviye 3 zarfını bile değiştirebilir. Daha sonra, seviye 3 zarfı, ISS'nin yönlendiricisinin MAC adresine yönlendirilen yeni bir seviye 2 zarfa saracak ve mesajı oraya gönderecektir.

Dış zarfı çıkarma ve içerikleri zincirdeki bir sonraki adıma yönelik yeni bir zarf içine sarma işlemi, mesaj hedef makineye ulaşana kadar devam edecektir.

Zarflar daha sonra, mesaj katmanları yukarı doğru hedeflenen alıcıya ulaşana kadar geriye doğru yürüdükçe sökülmeye devam edecektir; bu, bir yerde bir uygulama olacak, umarız mesajla ne yapacağını bilemeyecek, mesajı oraya ya da cevabı orijinal makineye geri döndürmek için gerekli tüm adımları attı.

Ama hepsi işe yarıyor, neredeyse sihir gibi!

Ağ anahtarlarının, ağ trafiğini akışını optimize etmek için MAC adreslerini kullanabileceğini unutmayın. Bir ethernet hub'ı, gelen tüm trafiği tüm bağlantı noktalarına iletir, buna karşılık bir anahtar trafiği yalnızca paketin hedef MAC adresinin bağlı olduğu tek bağlantı noktasına iletebilir. Bu, ağın etkin bant genişliğini arttırır; Belirli bağlantı noktalarını hedefleyerek, anahtar ağın gereksiz bölümlerinde trafiği yönlendirmekten kaçınır. Anahtar, hangi aygıtların hangi bağlantı noktasına bağlı olduğunu belirlemek için ARP veya paket koklama özelliğini kullanır. Anahtarlar, Katman 2 paketlerinin içeriğini tamamen yok sayar.


Selam! Cevap için teşekkürler. Okuduğum kadarıyla, cevabın en iyisidir. Senaryonuza ARP ve NAT gibi daha fazla kavram ekleyebilirseniz çok iyi olur.
Vishnu Vivek

1
ARP ve ağ Anahtarlarına referans eklendi. NAT'ın MAC adresleriyle bir ilgisi olduğunu sanmıyorum, katman 3 işlevi ...
Bill Michell

@BillMichell: IPv6'da IP'yi oluşturmak için MAC veya diğer yerel ('donanım') kimlikleri kullanılabilir.
Luciano

Cevap topluluk Wiki'dir. OP'nin sorusunu yanıtlamaya yardımcı olacağını düşünüyorsanız, muhtemelen bu ek bilgileri içerecek şekilde düzenleyebilirsiniz.
Bill Michell

Bunun bir TL'ye ihtiyacı var; DR.
AJMansfield

113

MAC adresleri ne için kullanılır?

MAC adresleri, yerel ethernet tabanlı ağınızın çalışmasını sağlayan düşük seviye temelleridir. Yerel, ağ cihazlarının doğrudan bir kablo veya WiFi ile veya bir ağ hub'ı veya ağ anahtarı üzerinden bağlandığı anlamına gelir.

Ağ kartlarının her birinin benzersiz bir MAC adresi vardır. Ethernet üzerinden gönderilen paketler her zaman bir MAC adresinden gelir ve bir MAC adresine gönderilir. Bir ağ bağdaştırıcısı bir paket alıyorsa, paketin hedef MAC adresini adaptörün kendi MAC adresiyle karşılaştırıyordur. Adresler eşleşirse, paket işlenir, aksi takdirde atılır.

Özel MAC adresleri vardır, örneğin bir tanesi ff: ff: ff: ff: ff: ff, ki yayın adresidir ve ağdaki her ağ adaptörünü adresler.

IP adresleri ve MAC adresleri birlikte nasıl çalışır?

IP, ethernet üzerindeki bir katmanda kullanılan bir protokoldür. Örneğin başka bir protokol IPX olacaktır. IP, farklı yerel ağların birbirine bağlanmasına ve böylece bir kurumsal ağ veya küresel internet oluşturulmasına izin verir.

Bilgisayarınız bazı IP adresleri xxxx'e bir paket göndermek istediğinde, ilk kontrol, hedef adresin bilgisayar ile aynı IP ağında olup olmadığını kontrol eder. Xxxx aynı ağdaysa, hedef IP'ye doğrudan ulaşılabilir, aksi takdirde paketin yapılandırılmış yönlendiriciye gönderilmesi gerekir.

Şimdiye kadar her şey daha kötüye gidiyor gibi görünüyor, çünkü şimdi iki IP adresimiz var: biri orijinal IP paketinin hedef adresi, diğeri paketi göndermemiz gereken cihazın IP adresidir (bir sonraki atlama, sonuncu Hedef veya yönlendirici).

Ethernet, MAC adreslerini kullandığından, gönderenin bir sonraki sekmenin MAC adresini alması gerekir. Bunun için kullanılan özel bir protokol ARP'si (adres çözünürlük protokolü) vardır. Gönderici bir sonraki sıçramanın MAC adresini aldıktan sonra, bu hedef MAC adresini paketin içine yazar ve paketi gönderir.

ARP nasıl çalışır?

ARP'nin kendisi, IP veya IPX gibi ethernet üzerindeki bir protokoldür. Bir cihaz belirli bir IP adresi için MAC adresini bilmek istediğinde, yayın MAC adresine "IP adresi yyyy kimdir?" Diye bir paket gönderir. Tüm cihazlar bu paketi alır, ancak yalnızca IP adresi yyyy olan bir paket "Ben benim" olarak yanıt verir. Soran cihaz cevabı alır ve şimdi ARP paketinin kaynak MAC adresinin kullanılacak doğru MAC adresi olduğunu bilir. Elbette sonuç önbelleklenir, böylece cihazın MAC adresini her seferinde çözmesi gerekmez.

Yönlendirme

Neredeyse bahsetmeyi unuttum: MAC adreslerine göre yönlendirme yok. Düşük seviye ethernet ve MAC adresleri yalnızca aynı ağdaki her cihaza erişebilir (kablolu veya kablosuz). A arasında bir yönlendirici bulunan iki ağınız varsa, A ağındaki bir cihazınız olamaz. B ağındaki bir cihazın MAC adresine bir paket göndermeyin. A ağındaki hiçbir cihaz B ağındaki cihazın MAC adresini alamaz. Bu MAC adresine gönderilen paket, A ağındaki tüm cihazlar tarafından (ayrıca yönlendirici tarafından) atılır.

Yönlendirme IP seviyesinde yapılır. Basitçe görüldüğü gibi, yönlendirici yukarıda "IP adresleri ve MAC adresleri birlikte nasıl çalışır?" Bölümünde anlattığım şeyi yapıyor. Yönlendirici, paketleri kendi MAC adresi için ancak farklı bir IP adresi için alacak. Daha sonra doğrudan hedef IP adresine ulaşıp ulaşamayacağını kontrol edecektir. Eğer öyleyse, paketi hedefe gönderir. Aksi halde, yönlendiricinin kendisi de yapılandırılmış bir yukarı yönelticiye sahiptir ve paketi bu yönlendiriciye gönderir.

Tabii ki, yapılandırılmış birden fazla yönlendiriciye sahip olabilirsiniz. Ev yönlendiricinizde yalnızca bir yukarı yönlendirici yapılandırılmış olacaktır, ancak internet omurgasında büyük yönlendiriciler büyük yönlendirme tablolarına sahiptir, böylece tüm paketler için en iyi yöntemleri bilirler.

MAC adresleri için diğer kullanım durumları

  1. Ağ anahtarları, her bağlantı noktasında görülen bir MAC adresleri listesini saklar ve yalnızca paketleri görmesi gereken bağlantı noktalarına paketleri iletir.

  2. Kablosuz erişim noktaları, erişim kontrolü için genellikle MAC adreslerini kullanır. Doğru şifreyle yalnızca bilinen cihazlara erişim sağlar (MAC adresi benzersizdir ve cihazları tanımlar).

  3. DHCP sunucuları, cihazları tanımlamak ve bazı cihazlara sabit IP adresleri vermek için MAC adresini kullanır.


16
Aslında + 1 sorusunu yanıtlamayı bilmeyen kişilerin anlayabileceği şekilde yanıtlamak için.
kabarık

Yardım edemem ama harika bir Infographic / diyagram yaratma dürtüsünü bir şekilde hissetmek istiyorum, MAC / IP etkileşimi oldukça ilginç!
NRGdallas

1
güzel bir cevap sadece bir ayrıntı: MAC adresleri Ethernet olmayan cihazlar için de kullanılıyor ve temelde bir IP yığını ile kullanılan herhangi bir veri bağlantı katmanı için geçerli olduğunu açıkladınız
kriss

Worth Kablosuz MACs hakkında belirterek: onlar olsa genellikle benzersiz ve edebilirsiniz cihazları tanımlamak için kullanılabilecek, bunlar taklit etmek kolay ve açık olarak hava üzerinden gönderilen konum. Bağlantıda kullanılan başka bir şifreleme / kimlik doğrulama yoksa veya diğer şifreleme / kimlik doğrulama mekanizmaları zayıfsa (örneğin: WEP), bir saldırganın yetkili bir cihazı taklit etmesi ve ağa katılması çok önemlidir.
Iszi

1
@Rick Haklısın, bir bağlantının hedef IP'si değişmiyor. Ancak belirtilen paragrafta, paketin doğrudan hedefi hakkında konuşuyordum - bu yönlendirici olabilir ve yönlendirici bağlantı sırasında değişebilir. İkinci yorumunuzla ilgili olarak metni "ARP paketinin kaynak MAC adresi" olarak değiştirdim. Umarım bu daha açıktır.
Werner Henze,

47

Genel olarak MAC Adresi (Medya Erişim Kontrolü adresi), bir ağdaki cihazların tanımlayıcısıdır. Böylece her NIC (yönlendirici, PC, ağ yazıcısı, sunucu vb. Bulunan ağ arayüz denetleyicisi) MAC adreslerine sahiptir. Bazı sunucularda birden fazla ağ kartı bulunur ve bu nedenle birden fazla MAC adresi vardır. MAC adresi 6 Bayt uzunluğundadır (6 oktet). Sol en önemli Byte ve sağ en düşük Byte'dır. Aşağıdaki resimde görebileceğiniz gibi, ilk 3 Bayt Örgütsel Olarak Benzersiz Tanımlayıcıdır . Bu, bu cihazı yapan üreticiyi gösterir.

İşte Kurumsal Özgün Tanıtıcı'nın bir listesi : Standards.ieee.org

İşte yukarıdakilere bir alternatif: MAC-Satıcı-Arama

Yaygın bilinen üreticilere birkaç örnek:

  • 00-05-5D (D-Link Sistemleri A.Ş.)
  • 00-09-5B (Netgear Inc.)
  • 00-E0-4C (Realtek Semiconductor Corp.)
  • 00-E0-4F (Cisco Systems Inc.)
  • 00-E0-64 (Samsung Elektronik)

Son 3 Bayt (3 oktet) üretici tarafından rastgele atanır.

Pjc50'nin doğru bir şekilde belirtildiği gibi, bir Ethernet ağındaki MAC adresi, anahtarların hangi paketin nereye gönderileceğine karar vermesine yardımcı olur. Bir Yayın-MAC-Adresi de bulunmaktadır. Broadcast-MAC Adresi için ff: ff: ff: ff: ff: ff kullanılır. MAC Adresinin değiştirilebileceğini unutmayın, bu nedenle kesin bir cihaz tanımlayıcısı olarak kullanıldığında dikkatli olun! MAC Adresi, ARP (Adres Çözünürlük Protokolü) protokolüyle de kullanılır. Öyleyse nasıl çalışır? PC A, PC B'ye kendi IP Adresini, MAC Adresini, alıcının IP Adresini ve yukarıda belirtilen yayın adresini içeren PC B'ye bir ARP Talebi gönderir (ff: ff: ff: ff: ff : ff). Bundan sonra PC B Paketin kendisine gönderilip gönderilmediğini kontrol eder. Eğer evet ise, B bilgisayarı kendi MAC adresini, IP adresini, alıcının MAC adresini ve alıcının IP adresini geri gönderir. Diğer cihazlar paketi atar.

Hem PC A hem de B, başarılı bağlantıyı ARP-Cache olarak kaydeder. PC'lerin bağlantıyı kaydetme şekli cihazdan cihaza farklılık gösterir. IP adresini bilmiyorsanız, IP Adresini Ters Adres Çözüm Protokolü (RARP) ile alabilirsiniz. RARP ile cihaz merkezi bir müşteriye bağlanır ve IP Adresini ister. Ancak bu yöntem günümüzde pek kullanılmamaktadır.

Aşağıdaki teknolojiler MAC-48 tanımlayıcı formatını kullanır:

  • Ethernet
  • 802.11 kablosuz ağlar
  • Bluetooth
  • IEEE 802.5 token halkası
  • diğer birçok IEEE 802 ağı
  • FDDI
  • ATM (yalnızca bir NSAP adresinin parçası olarak sanal bağlantılar değiştirildi) Fiber Kanal ve Seri Bağlı SCSI (Dünya Çapında Adın bir parçası olarak)

4
Daha doğrusu "Her Cihazı (...) MAC-Adresleri var." Yerine, her NIC sahip bir MAC adresi . (Özel bir MAC adresi belirleme yeteneğini dikkate almamak.) Tüm yazıcılarda dahili ağ kartları yoktur ve birçok sunucuda birden fazla ağ kartı ve dolayısıyla birden fazla MAC adresi vardır.
CVn

2
PC-1'in PC-2'ye bir Paket gönderdiğini söyleyelim. Şimdi Switch sadece PC-1'in MAC adresini okuyor ve bir tabloya kaydediyor. Nasıl çalıştığı hakkında daha fazla bilgi istiyorsanız, şunu okuyun: LAN Anahtarları Nasıl Çalışır :)
Meintjes

3
Diğer bir nokta, MAC adresinin, NIC'nin neyin atılacağına ve işlem için neyin işlemciye gönderileceğine karar vermesidir. Kabloda karşılaşılan bir Ethernet çerçevesi NIC MAC adresi ile birlikte hedef MAC adresine XOR'd sahiptir ve eğer sonuç 0sa, bu NIC için tasarlanan bir çerçevedir.
bbayles

7
-1: Bir MAC adresinin değil, MAC adreslerinin nasıl kullanıldığı sorusu soruldu. Cevabınızın soruyu yanıtlayan tek kısmı, sonuçta bulunan mermi listesidir ve fazla ayrıntıya girmez.
Kevin

4
Resim wikipedia'dan alınmıştır: en.wikipedia.org/wiki/File:MAC-48_Address.svg , Creative Commons altında lisanslanan resimler kullanıldığında yazarlarına atfedilmelidir.
Étienne

24

Onlar edilir bir Ethernet ağında, cihazların bir dizi vardır ve MAC adresi paket almalıdır hangi cihaz belirtir: Paket transferi için kullandı. Ethernet anahtarları, alınan bir paketin gönderileceği bağlantı noktasını seçmek için kullanır.


5
Ethernet'in orijinal olarak tüm makinelerin fiziksel olarak aynı medyayı paylaştığı bir veri yolu ortamı olduğunu belirtmek ilginç olabilir (bu kablosuz ağlar için hala geçerlidir). Yani mantıksal olarak böyle çalışır.
LawrenceC

ve hala hub kullanan ağlar için de geçerlidir :)
Doon

bundan böyle anahtarlar sadece bir tesis (gerçekten RJ-45 LAN'larla yayıldı) ve onlarsız IP ağlarımız var (hub veya 802.11 kullanarak)
kriss

7

Bu durumda hiyerarşiyi unutun, çok önemli bir konu değil.

MAC adresi, ISO / OSI veya TCP / IP modellerinde katman 2 (link katmanı) adresleridir. IP adresleri aynı modellerde 3. katmandan (Ağ katmanı) gelir.

Bir katman 2 ağında, örneğin ortak bir Ethernet ağında, bağlı olan tüm ekipmanın tüm kareleri (katman 2 birim verileri) herhangi bir uç noktadan alabildiği bir çarpışma alanı vardır. Ancak ağın dışındaki hiç kimse bu kareleri alamaz. MAC adresleri bu alanlardaki adreslerdir.

Paketler, katman 3 birim verileridir, tipik olarak IP paketleridir. Bir veya daha fazla çarpışma alanından geçerler. IP adresleri bu etki alanındaki adreslerdir.

Anahtarlar, katman 2 aygıtları ve MAC adres tablolarını kullanan ileri karelerdir. Yönlendiriciler, katman 3'tür ve IP adres tablolarını kullanarak paketleri iletirler.


6

Ethernet, konuşmak istediği diğer bilgisayara (diğer MAC) ağ bağdaştırıcısından doğrudan erişilebildiğini varsayar. IP yok. IP, tüm dünyadaki herhangi bir IP'ye ulaşabileceğini ve mevcut alt ağda ulaşamadığı takdirde, bir yönlendiricinin onu yine de taşıyacağını varsaymaktadır. Ağ geçitleri kavramı, Katman 2 veya Ethernet'te mevcut değil.

Bir anahtara bağlı birkaç makineniz varsa ve başka ağlarla / İnternet ile yönlendiriciyle trafik almanıza gerek kalmayacaksa, gerçekten IP açıp çalıştırmanız gerekmez. Elbette, bir uygulamanın katman 2'nin üzerinde kendi protokolünü uygulaması veya sağlaması gerekir, çünkü hemen hemen tüm işletim sistemleri ve uygulamalar her zaman TCP / IP kullanmak istediğinizi varsayar.

Her zaman IP 'interneti' hatırlamak demektir 'internetworking' gerçekten trafik alıyor ilgilidir anlam arasındaki daha ağlarda içinde bunun için de kullanılan belli ki olabilir de, bir ağa (ve).


İlk paragraf mükemmel cevap! Aydınlatıcı!
Milind R

6

MAC adresi fiziksel transferde kullanılır. Bir ethernet adaptörü IP hakkında hiçbir şey bilmiyor. Böylece ethernet adaptörü veri paketinin alıcısına hitap etmek için MAC adresini kullanır.

Ethernet bağdaştırıcısı IP hakkında bir şey biliyorsa, yeni bir protokole geçmek için tüm donanım yazılımımızı güncellememiz gerekir (IPv4'ten IPV6'ya gibi).

Ayrıca MAC adresinde üretici ile ilgili bazı bilgiler vardır.


3
Yönlendiriciler, MAC adresini herhangi bir şeyi yönlendirmek için kullanmazlar. IP adreslerini kullanıyorlar. Hub'lar trafiği limanlarından değiştirilmemiş olarak kopyalar, ancak trafik farklı bir ağ üzerinden değil aynı ağ üzerinden geçtiğinden köprüleme denir.
LawrenceC

5

IPv4 için ARP (Adres çözümleme protokolü) veya IPv6 için NDP (Komşu Keşif Protokolü), karelerin hangi benzersiz ana bilgisayara gönderileceğini belirlemek için IP Adreslerini MAC adreslerine çevirdiğinde kullanılır.


Bu oldukça yakın, ancak tüm kullanımları kapsamıyor. Bir MAC, TCP / IP ile ilgilidir, ancak bir MAC, bundan çok daha fazlası için kullanılır. Bu ilk cevap, ancak bir -1 vermiyorum (sayfanın altından çalışırken).
Mark Henderson,

@Mark Henderson Eleştiri için teşekkürler. Ben sadece soruyu cevaplamaya çalıştım How MAC addresses were used in packet transferve sonra Ethernet düzeyinde olduğunu varsaydım. Ve evet bu basit bir cevap, ama kendi
seviyeme

3

Başkalarının cevaplarını tamamlamak için MAC adresinin yönlendiriciler için anahtarlardan çok daha önemli olduğunu eklerdim. Daha kritik demek istediğim, IP ağının var olması için anahtarların gerçekten gerekli olmadığıdır. 20 yıl geriye bakarsanız (RJ-45'ten önce) Yerel IP ağları, yönlendirilmiş olmayan ethernet ağları anahtarlar olmadan mükemmel bir şekilde çalışıyordu, aynı kablo üzerindeki cihazları bağlıyorlardı (örneğin, X base-T ethernet teknolojisine bir göz atın).

Diğer taraftan, IP ağları yönlendirmeyi desteklemek için icat edildi ve MAC ve IP adresleme şemalarına güvendi.

IP ağlarındaki yönlendirme paketleri, hedef makineye doğrudan erişilemediğinde, ilk önce nihai IP hedefine daha yakın olan başka bir makineye (ağ geçidi) gönderileceği anlamına gelir.

Ağ paketi başlıkları açısından, bir ağ geçidine gönderilen bir paketin, ağ geçidinin MAC adresindeki ethernet seviyesi başlığında hedef olarak olduğu, IP seviyesi başlığının değişmeden kaldığı anlamına gelir.

MAC adreslerinin genellikle bugünlerde MAC-48 (fiziksel cihaz adresi) veya EUI-48 (mantıksal cihaz adresi) veya hatta daha büyük ağlarda kullanılan 8 bayt EUI-64 adresleri anlamına geldiğini de fark etmelisiniz . Tarihsel olarak MAC, Ethernet teknolojisi için Xerox tarafından icat edildi ve daha sonra bir cihazı tanımlaması gereken diğer ağ taşıma teknolojileri (802.11, Bluetooth, FibreChannel, BlueTooth) için yeniden kullanıldı.

Dediğim gibi, ethernet yerine başka bir katman-2 kullanabilirsiniz, ancak çoğu ağ tanımlayıcısı olarak bir MAC adresi kullanır ve altta yatan MAC / IP karşılık şeması tutar ve hala ARP kullanabilirsiniz. Bildiğim kadarıyla tüm IP yığınları MAC adresleri ve IP Adresleri arasındaki yazışmalar tablosuna dayanıyor.

IP Yığınları için diğer bazı aygıt düğümü tanımlayıcıları vardır. Örneğin, X.25 MAC adreslerine dayanmaz, ancak bağlantı bazında kurulan sanal kanallara dayanır veya ATM Cihazları SNPA'lar kullanan ATM ağlarında tanımlanır. Fakat ne X.25 ne de ATM, IP yığınları değildir (ve ATM bile ATM adreslerinin kaba bir karşılığı olarak MAC adresleri biçimini kullanır, ATM için bir IP adresinin kaba karşılığıdır).


Yönlendiriciler MAC adreslerini umursamıyor. En az 2 NIC'nin her birine alt ağ atamasıyla ilgileniyorlar, ancak gerçekten MAC adresleri ile ilgilenmiyorlar. Bir IP’den diğerine, bir IP’den bir MAC’e veya onun gibi bir şey değil, trafik iletir (yani kopyalar).
LawrenceC

4
@ultrasawblade, ifadeniz çok saçma . Bir yönlendirici bir Ethernet ağına bağlıysa, Ethernet protokolünü kullanarak iletişim kurması gerekir. IP paketleri Ethernet Çerçevesinde kapsüllenecektir. Bu, tüm ** doğrudan Ethernet ana bilgisayarlarının ** mac adreslerini bilmek anlamına gelir, kesinlikle gereklidir. Bir katman 3 cihazı sihirli bir şekilde sadece bir katman 3 protokolü üzerinde iletişim kurmaz, katman 3 protokolünü bir katman 2 protokolü içinde kapsüllenmelidir, daha sonra katman 1 ortamı üzerinden iletilir.
Zoredache

3
İlk cümleyle aynı fikirde değilim - onlar yönlendiriciler için anahtarlardan daha "kritik" değillerdir - Ethernet ağının tamamında hepsi aynı derecede önemlidir.
Mark Henderson,

1
Alttaki katman 2'yi tamamen farklı bir şeyle değiştirebilirsiniz (ne olduğunu bilmeme rağmen) ve IP hala aynı şekilde çalışacaktır. IP protokolü (Katman 3), bireysel ana bilgisayarların MAC veya başka bir program tarafından ele alınmasını önemsemez. Elbette IP'yi MAC eşlemesine tutmaya ihtiyaç vardır - ama ARP'nin gerçekten de Katman 3 veya Katman 2'ye "ait" olup olmadığını bilmek zordur. / Layer 2 protokolünün ne olduğunu bilmek gerekir.
LawrenceC

2
@Mark Henderson: Yaşlandıkça, etrafta herhangi bir anahtarın olmadığı bir zamanı hatırlıyorum. Gerçekten de kritik bir ekipman parçası değiller. IP ağları anahtarsız çalışabiliyor. Anahtarlar yalnızca önceden varolan bir veri ağı düzenini kullandı. Halihazırda her yerde bu noktalara sahipsek, eski otobüslerin yerini alan RJ noktadan noktaya teknolojinin bir sonucudur. Başka bir deyişle: Anahtarların çalışmasını sağlamak için MAC adresleri icat edilmedi. Öte yandan, IP ağları yönlendirme amacıyla icat edildi, bu nedenle MAC ile IP ilişkisi kritik.
kriss

2

Geçiş günlerine (göbekler) geri dönün.

İnsanlar bilgisayar ise, MAC adresi onların adıdır.

Sanırım bir sürü insan (bilgisayarlar) aynı telefon görüşmesinde. Herkes aynı anda konuşuyor.

SİZ (bir bilgisayar) bu sohbetin TÜMÜNÜ duyuyor, ancak ne dinlemeniz gerektiğini bilmiyorsunuz, UNTIL biri bir cümlenin (paket) adında adınızı (MAC adresinizi) söylüyor.

"FRED, THERE IS ICE CREAM!"

Elbette, yayın adresine gönderilen cümleleri de dinlersiniz . Sadece bunu bağıran biri olarak düşün.

"EVERYONE, THERE IS ICE CREAM!"

Konferans görüşmesine daha fazla kişi (bilgisayar) katıldıkça, filtrelemeniz gerekir. Teknoloji gelişti ve anahtarlar doğrudan bir kişiyle (bilgisayar / MAC) konuşmamızı sağladı, böylece tüm bu gürültüyü filtrelemek (ve daha fazla bant genişliği serbest bırakmak) için çok çalışmak zorunda kalmayacaklardı.

IP, temel analojide çok benzer, ancak MAC adreslemesinin üstünde daha fazla özellik ve katmana sahip. OSI Modelinde sırasıyla 2. ve 3. katmanlar .


Önceden ayarlanmış günlere geri dönmeyi düşünmenize gerek yok. MAC adresleri canlı ve iyi durumda ve Ethernet adaptörünü bugün bırakan her pakette kullanılıyor .
Mark Henderson,

Çok doğru. Fakat analojiye yardımcı olur. Ve NIC'ler hala aynı şekilde davranıyor.
Randy James

2

MAC adresi gereklidir, çünkü "veri yoluna" (Ethernet ağı) bağlı birden fazla adres vardır. Bir gönderenin, alıcıyı tanımlayabilmesi ve kendisini alıcıya tanımlayabilmesi gerekir.

Tüm donanım veri yollarının adreslenmesi gerekir, çünkü birden fazla gönderen ve alıcı aynı kabloları paylaşır ve iletilerin belirli alıcılara gitmesi ve ayrıca gelen gönderenleri tanımlaması gerekir.

I2C, PCI, Ethernet, siz adlandırın.

Ağlar arası bağlantıda birden fazla adresimiz var (IP adresi ve donanım adresi) çünkü donanım düzeyinde bir adres yalnızca belirli bir fiziksel ağ için yereldir. Bir datagram ağdan ağa geçerken, ağ düzeyinde adresini koruma eğilimindedir, ancak donanım adreslerini yol boyunca defalarca değiştirir. Bazı ağlar üzerinden geçerken, hiçbir donanım adresine sahip olmayabilir ve bazılarında ethernet MAC olmayan bir donanım adresine sahip olabilir. (Elbette bir ağ geçidi tarafından ağ adresleri yeniden yazılabilir, ancak bir paket yönlendiriciyi geçtiğinde donanım adresleri sıyrılır ve değiştirilir.)


1

Eski günlerde ağlar otobüslerle paylaşılıyordu. Her bir ağa bağlı aygıt aynı kabloya ya da gönderdiğiniz her paketin ağdaki her aygıt tarafından alındığı anlamına gelen bir göbeğe bağlı.

Ağ yazılımı daha basitti. Her cihazın benzersiz olduğu garanti edilen bir MAC adresi vardı. Başka bir şey olması gerekmedi - tek yaptığı, aynı ağdaki hiçbir cihazın aynı adrese sahip olmadığından emin olmaktı.

Cihazınız başka bir cihazla konuşmak isterse, alıcının MAC adresi ile bir paket gönderir ve alıcı onu şebekeden alır. Diğer tüm cihazlar bunu görmezden gelirdi - MAC adreslerine adreslenmedi.

Zamanla insanlar ağa çok fazla cihaz bağladılar ve trafiğe ayak uyduramadılar, bu yüzden ağları ayırmaya başladılar ve iki ağ anahtarla bağladılar. Bu anahtarlar, her bir ağda hangi MAC adreslerinin bulunduğunu bildiren devasa tablolara sahipti. Bir ağda, diğer ağdaki bir MAC adresine gönderilen bir paket gördülerse, mesajı diğer ağa kopyalarlardı. Sadece diğer ağa gitmek için gerekli olanları, tüm mesajları kopyalamazlardı.

Bu, tıkanıklığı azalttı ve daha fazla cihazın ağa bağlanmasına ve daha genel trafik kullanımına izin verdi. Bu bir paket anahtarlamalı ağdır .

Bununla birlikte, tüm sorunları çözmedi ve büyük bir dezavantaj yaşadı - anahtar tabloları büyüdükçe ağlar yavaşladı. Anahtarlarla birbirine bağlı 50 makineye 5.000 makine bağladıysanız, her bir anahtar 5.000 MAC adresini ve rota paketlerini buna göre öğrenmek zorunda kaldı.

Üniversiteler gibi farklı kurumlardan insanların ağlarını birbirine bağlamak istediği ve gereken tabloların muazzam olacağı kadar önemli değildi. Bugün birkaç yüz bin MAC adresinin izini sürmek pek de önemli görünmüyor, ancak 1970'lerde bu anahtarlar bilgisayarların kendisi, sınırlı bellek ve hıza sahip, paketlerini birkaç dakika boyunca takip edip hızlı bir şekilde değiştiriyorlardı. yüz bir problemdi.

Çözüm bir IP ağına gidiyor ve yönlendiriciler kullanıyordu. Bu, MAC adreslerine dayalı anahtarlı paket ağın üzerine inşa edilmiştir. Ham verilerden ziyade, paketler şimdi bir paket içinde bir paket olan bir IP paketini içerir.

Artık daha büyük ağlar yönlendiricilere bağlı. Bunlar, MAC adresleri ile bir paket görene kadar bekler, sonra IP paketini çıkarır ve IP adresini inceler. Daha sonra IP paketini, üzerinde yeni bir MAC adres alıcısı bulunan başka bir pakete tekrar sarın ve yeni bir ağa gönderin. Bu MAC adresi muhtemelen yeni ağdaki başka bir yönlendiriciye yöneliktir, ancak IP adresi olan makine de olabilir.

Günümüz ağlarında hub'ları ve otobüsleri nadiren görüyorsunuz (ortamın doğal olarak paylaşıldığı kablosuz ağlar hariç) ve bunun yerine makinem doğrudan yönlendiriciye bağlanan bir anahtara bağlanıyor.

Makinemde çeşitli algoritmalar ve protokoller var, böylece ağın nasıl kurulduğunu biliyor.

Yerel ağımdaki bir makineye bir IP paketi gönderirsem, makinem doğru MAC adresli bir paketin içine koyacaktır. Anahtarlar yerel olarak doğru ağa geçecek ve doğru MAC adresine sahip olduğu için hedef aldığı makine onu alacaktır. IP paketini alırlar ve IP adresinin de bunun için tasarlandığını iki kez kontrol ederler ve buna göre davranırlar.

İnternette başka bir yerde bir makineye yönelik bir IP paketi gönderirsem, makinem yönlendiriciye göndermeyi bilir, böylece yönlendiricinin MAC adresi ile paketin içine koyar. Yine yönlendiricimin bulunduğu ağa ulaşana kadar ağımda yerel olarak değiştirildi, ardından yönlendirici çıkardı, IP paketini çıkardı, IP paketini inceler ve internet hakkındaki bilgisine dayanarak başka bir yönlendiriciye gönderir. Başka bir ağ, amaçlanan yönlendirici veya hedef bilgisayar için MAC adresi ile bir pakete sarılmış.

Parlattığım çok küçük detaylar var ve oyunda her şeyin çalışmasını sağlayan bazı gerçekten ilginç algoritmalar ve protokoller var, ama bu MAC adresinin bugün bile bizim için yaptıklarının temel hikayesi.


1
İyi başladınız, ancak ortada birbiriyle bağlantılı ağlar hakkında konuşmaya başladığınız yeri kaybettiniz. Anahtarlar, 90'lı yıllara kadar yaygın değildi, fakat rotalama bundan 20 yıl önce mevcuttu.
Mark Henderson,

-1

Kök fark, MAC'ın imalat zamanında imalatçı tarafından atanması, IP adresinin ise bağlantı zamanında atanmasıdır.

MAC gereklidir, çünkü ağa bağlanmadan önce bir cihazı tanımlamak için kullanılabilir ; bununla birlikte, statik olarak atandığından, rastgele dağıtılır, bu nedenle tek bir ağdan daha verimli bir şekilde yönlendirmek için uygun değildir (bunu yapmak gezegendeki tüm cihazların gezegendeki tüm diğer cihazlara büyük bir yönlendirme masasına sahip olmasını gerektirir. ). Bu nedenle, IP adresi gereklidir, çünkü bağlantı zamanında atanır ve atandığı yol daha verimli uzun mesafeli yönlendirmeye izin verir (IP ile çoğu cihazın yalnızca bitişik ağlarını bilmesi gerekir).

Yalnızca IP adresi varsa, o zaman bir IP adresi atanmamış olan cihazlar, hangi mesajın onlar için olduğunu söyleyemez. Bu DHCP'nin sizin için olduğunu ve aynı zamanda yaklaşık olarak adres tahsisi talebinde bulunan bir başkası için olmadığını nasıl belirleyeceksiniz?

Tabii ki MAC, paket göndermenin diğer bölümleri için de kullanılır, ancak bu kullanımların çoğu, hemen hemen aynıdır ve en azından teoride, dinamik olarak atanmış numaralarla (ör. IP adresi) değiştirilebilir.


+ 1'i neden MAC adreslerini kullanmaya devam etmediğimize göre.
deed02392

3
İlk paragraf teknik olarak doğru, ancak bu kök farkı değil. Kök fark, bir MAC'nin Ethernet'e ve bir IP'nin de TCP / IP'ye ait olmasıdır. TCP / IP'yi birden fazla Katman 2 protokolü üzerinden çalıştırabilirsiniz (örneğin ATM) ve Etherhet üzerinden çalışan TCP / IP'den daha fazlası vardır. "Ağa bağlanmadan önce" diye bir şey yoktur, ancak "DHCP'den bir IP adresi almadan önce" yoktur. Ancak MAC hala ondan sonra kullanılıyor - OSI modelinde farklı bir katmana oturduğundan. Son paragraf düpedüz yanlıştır - ağda bir MAC adresi için yedek yoktur .
Mark Henderson,

@MarkHenderson: Amacım, Ethernet ve IP’den TCP / IP’ye ait MAC’in tarihi bir kaza olduğu; Teorik olarak, tüm internet yığınını sıfırdan yeniden tasarladıysak (ve OSI'yi ve diğer ağlarla uyumluluğu yok sayarsak), fabrika tarafından atanan numaraların (örn. MAC) çoğu kullanımının dinamik olarak atanmış numaralarla (örneğin IP) değiştirilmesi mümkün olacaktır. Dinamik olarak atanmış bir numara alınmadan önce gönderilmesi / alınması gereken çok sayıda paket bulunduğunu ve bu nedenle de fabrika tarafından atanmış global olarak benzersiz bir tanımlayıcıya ihtiyaç duyulduğunu belirtin.
Lie Ryan

@MarkHenderson: IMO, MAC ve IP'ye ihtiyaç duyduğumuzu söylüyor çünkü MAC katman 2 ve IP katman 3'teki gibi, "interneti bu şekilde tasarladığımız için ihtiyacımız var" diyor, noktayı özlüyor ve hiçbir yararlı bilgi vermiyor olursa olsun. Burada cevapladığım şey, hem fabrikada atanmış hem de dinamik olarak atanmış tanımlayıcının neden sorunun doğası gereği ve nedense internet bağlantısı olmadan ne gerektirdiğidir (dinamik olarak atanmış bir kimlik ve yönlendirme zorluğu için yönlendirme etkinliği kaybı) fabrikada atanmış bir kimlik için dinamik kimlik atamasından önce bir cihaza özel olarak hitap eder).
Lie Ryan

@LieRyan, Aslında bilgisayarımızın MAC adresini değiştirebiliriz .......
Pacerier
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.