IP kullanmadan bir Ethernet ağı oluşturabilir miyim


14

ISO-OSI modelinden anladığım gibi, MAC adresleri IP adreslerinden farklı bir katmanda çalışır. Bu benim için açık.

Ethernet (LAN) 'ın iletişim kurmak için sadece IP adreslerini kullanmadığını, ancak MAC adreslerini kullandığını kabul edebilirim. Bu MAC adreslerinin hiyerarşik olarak tanımlanmadığı için LAN dışında yönlendirme için kullanılamayacağını anlıyorum. IP'nin büyük internet üzerinden yönlendirme yapmanın en iyi yolu olduğunu da anlıyorum. Tamamen ikna olmadığım MAC adreslerinin LAN'da iletişim kurmanın en iyi yolu olması


Sorularım şunlardır:

  1. Ethernet, mesaj göndermek için IP adreslerini kullanamadı mı? Yapması gerektiğini söylemiyorum, sadece yapmayı seçip seçemeyeceğini soruyorum.
  2. Ethernet iletişim için MAC adresleri kullandığından, aygıtların IP adresi olmayacakları, sadece MAC adreslerinin bulunduğu bir Ethernet ağı oluşturabilir miyim?

Tanım olarak, Ethernet ağı, cihazların IP adreslerinin bulunmadığı bir ağdır. Bir TCP / IP ağı, belirttiğiniz gibi, başka bir şeydir ve IP, IEEE 802.3, 802.11 veya 802.5 üzerinden çalışıp çalışmadığını umursamaz.
miken32

Yanıtlar:


5

Ethernet, kendi veri bağlantı katmanı adresleri yerine IP adresleri kullanabilir mi? Kesinlikle hayır, hangi katman-3 protokolünü kullandığı konusunda agnostik olmak istiyorsa.

Katmanları karıştırıp eşleştirebilmemiz için katmanlar halinde ağ protokolleri tasarlıyoruz.

Ethernet ilk olarak Bob Metcalfe ve diğerleri tarafından Xerox PARC'de Ağ katmanı agnostik olarak geliştirildi, çünkü hedefleri sadece TCP / IP erişimi değil, aynı zamanda Xerox'un kendi tescilli XNS ağ protokol yığını / paketi içindi.

DEC (Digital Equipment Corporation), öncelikle DECnet protokol yığını / paketi için kullanan başka bir erken benimseyen oldu.

80'lerin sonunda ve 90'ların başında, şirket Ethernet LAN'larında çalışan çok sayıda rakip LAN protokolü süiti (tümü TCP / IP'den tamamen bağımsız) vardı. XNS ve DECnet'in yanı sıra Apple'ın AppleTalk (EtherTalk), Novell'in IPX, Banyan VINES, NetBEUI, DLC / LLC, IBM SNA, OSI / ISO ve unuttuğum diğerleri vardı.

Evet, Ethernet'i IP olmadan kullanabilirsiniz. 80'lerde ve 90'larda birçok kurumsal ağ bunu yaptı.

Ethernet, üzerinde hangi Layer-3 (Network Layer) protokolünün çalıştığını umursamayacak şekilde tasarlandığından, bu kurumsal LAN'ların çeşitli satıcıların ekipmanlarının karışımlarını desteklemesi nispeten kolaydı ve bu LAN'ların IPv4 eklemesi nispeten kolaydı İnternet 90'lı yılların ortalarından sonlarına doğru kalktığında destek verdi ve şimdi IPv6 desteği eklememiz nispeten kolay oldu.


1
Bazı şeyleri bağlama koyduğunuz için teşekkür ederiz! Keşke sorunun ikinci kısmında biraz daha genişlemiş olsaydınız .. Herhangi bir Ağ katmanı protokolü kullanmadan çalışan bir Ethernet tabanlı LAN yapmak mümkün müdür? Başka bir ana bilgisayara çapraz kablolu Ethernet bağlantısı kurarsam, neden bu ana bilgisayarla iletişim kurmak için IP'ler kullanmam gerekir? IP üzerinden TCP yerine MAC üzerinden TCP kullanmak mümkün olabilir mi?
jj_

4

Ethernet iletişim için MAC adresleri kullandığından, aygıtların IP adresi olmayacakları, sadece MAC adreslerinin bulunduğu bir Ethernet ağı oluşturabilir miyim?

Kendi yazılımınızı sıfırdan yazıyorsanız, bunu kesinlikle yapabilirsiniz. Yazılımın, bu programın normal muadilinin bir IP adresini kabul ettiği herhangi bir yerde bir MAC adresini kabul etmesini sağlayın. IP adresi yerine ham ethernet paketleri göndermek için tüm sistem çağrılarını kullanın ve işe yarayacaktır - ancak büyük bir güçlük olacaktır.

Genellikle, ağınızdaki MAC adresleri herhangi bir kalıp izlemez. Üretici tarafından donanıma yakılırlar. Uzun ve hacimlidirler. Benimki şu anda C8-60-00-CA-4B-9A. Yanımdaki bilgisayar 00-40-F4-48-1B-88.

Makinelerin birbirinizle konuşabilmesi için, her makineye ağdaki diğer tüm makinelerin tüm MAC adreslerinin sabit kodlu bir listesini verebilir, böylece paketleri nereye göndereceğini bilir. Bu, hataya eğilimli bir çok yazımdır ve herhangi bir ağ donanımınızı her değiştirdiğinizde, yeni MAC adreslerini yansıtacak şekilde tüm listeleri değiştirmeniz gerekir.

Bu büyük bir güçlüktür, bu yüzden muhtemelen ağdaki makinelerin yayın paketlerini kullanarak birbirlerinin MAC adreslerini otomatik olarak keşfetmeleri için bir yol bulursunuz. Daha sonra, onlara anlamlı bir adresle kendilerini tanımlamaları için bir yol verirsiniz, böylece "telnet C8-60-00-CA-4B-9A" gibi komutlar yazmanız gerekir.

IP'nin yaptığı tam olarak budur - sabit kodlama MAC adresleri yerine bir ağdaki ana bilgisayarları adreslemek için anlamlı sayılar kullanmanın bir yoludur. IP'nin üstüne DNS ekleyin ve "telnet webserver" gibi bir komut yazabilirsiniz.

Ethernet, mesaj göndermek için IP adreslerini kullanamadı mı? Yapması gerektiğini söylemiyorum, sadece yapmayı seçip seçemeyeceğini soruyorum.

MAC adresleri 6 bayt bilgi ve IP adresleri sadece 4 bayt olduğundan, 1'e 1 eşleme yapamazsınız. MAC adresini (pakete koymak için) bir IP adresinden (ağdaki başka bir ana bilgisayarla iletişim kurmak isteyen yazılım tarafından sağlanan) bulmak için bir yol bulmanız gerekir.

Bunu yapmanın bir (sabit çekirdek) yolu, ağdaki her makineye gitmek ve ilk iki baytı sıfır (veya aynı olan başka bir sabit sayı) yaparak donanım MAC adresini bir IP adresi gibi görünecek şekilde değiştirmek olacaktır. ağdaki her makine için) ve alt dört baytı ağda olmasını istediğiniz "IP adresi" olarak ayarlayın. (Çoğu ağ kartı girip satıcının atadığı MAC adresini değiştirmenize izin verir)

Bunun gerçekten işe yaramasını sağlamak için, daha sonra bu sistemi kullanmak için ağ yığınınızdaki kodu hacklemeniz gerekir. Temel olarak ARP (IP'nin IP adreslerini MAC adresine çevirmek için kullandığı yöntem) ile ilgili her şeyi yırtıyorsunuz. IP başlıklarını oluşturan / okuyan parçaları sökersiniz. Bunun yerine, hepsini wxyz adresinde ana bilgisayara gönderilecek bir IP paketi verildiğinde, DEST adresi 00-00-wxyz olarak ayarlanmış bir ethernet çerçevesi oluşturan çok basit bir kodla değiştirirsiniz.

Ayrıca, bir paketin alıcısına hangi protokolün (UDP, TCP) kastedildiğini belirtmenin bir yoluna ihtiyacınız olacaktır. Muhtemelen mevcut bir alanı geçersiz kılarak ethernet başlığında bir yere yapıştırabilirsiniz. Belki kaynak adresin ilk iki baytından birini kullanın? Bu, hedef makinelerin alma yeteneğini etkilemez, ancak bazı anahtarları bozabilir. Protokolü Ethernet çerçevesinin başına veya sonuna ekleyebilir ve yük boyutunu bir tane artırabilirsiniz - ancak bu bir IP başlığı gibi kokmaya başlar.

Peki tüm bu işler size ne satın alacaktı?

İlk olarak, her giden paketteki ARP tablosundaki bir arama yükünü kurtaracaktır. Bu muhtemelen sadece mikrosaniye civarındadır.

Bilgi işlem IP başlığı sağlama toplamlarını ve bunları tutmak için gereken belleği kaydedersiniz. Modern donanımda bu muhtemelen önemli değildir.

IP üstbilgisi olmayacağından ağdaki her pakete 16 bayt kaydedersiniz. Bu, uygulamaya bağlı olarak toplanabilir.

En büyük kazanç, herhangi bir ARP isteği yapmak zorunda kalmamanızdır. Standart bir IP paketinin yeni bir ana bilgisayara gönderilmesi, milisaniye sürebilen ve öngörülemeyen bir ARP değişimini tetikler. Bu, gecikmeye ve titremeye çok duyarlı bazı uygulamalar için büyük bir kazanç olabilir.

Bazı çok özel uygulamalar için bu aslında mantıklı. Bir keresinde, bu ARP dizilerinin devreye girmesini ve beklenmedik bir şekilde gecikme ve titreme eklemesini önlemek için tüm ana bilgisayarlar arası iletişim için yalnızca yayın UDP paketlerini kullanan gerçek zamanlı bir sistem çalıştım. Ayrıca bir keresinde doğrudan IP paketleri içinde UDP yükleri göndererek (IP başlığı yok) çalışan sınırlı bir sistem üzerinde çalıştım çünkü tüm ARP ve ağ maskesi ve ekstra sağlama toplamlarını uygulamak için gereken tüm karmaşıklığı ve belleği kaydetti.


1

Ethernet, mesaj göndermek için IP adreslerini kullanamadı mı? Yapması gerektiğini söylemiyorum, sadece yapmayı seçip seçmeyeceğini soruyorum

Sanırım Ethernet, altı baytlık adresler yerine IPv4 gibi dört baytlık adresler kullanmış olabilir. Şimdiye kadar sayılar bittiği için yapmadıkları muhtemelen iyi.

Ethernet iletişim için MAC adresleri kullandığından, aygıtların IP adresi olmayacakları, sadece MAC adreslerinin bulunduğu bir Ethernet ağı oluşturabilir miyim?

IP adresleri yerine MAC adresleriyle çalışacak programlarınız varsa, bunu yapabilirsiniz. Tabii ki bu ağda sıkışıp kalacak ve bazı hackery olmadan başkalarına ulaşamazsınız.

IP katmanına yalnızca yönlendirme yapmayı planlıyorsanız, özellikle de başka bir ağ Token Ring gibi Ethernet'ten farklı bir Katman 2 teknolojisi kullanıyorsa, bunun çoğu geliştirildiğinde gerçek bir olasılıktı. Gelecekte başka bir Katman 2 teknolojisinin her yerde her yerde bulunup bulunamayacağını kim bilebilir, eğer öyleyse IP ondan bağımsızdır.


0
> Couldn't Ethernet make use of IP addresses to send messages? I'm not
> saying it should, I'm just asking if it could have chosen to do so.

Ethernet'i Ağ Katmanı olarak adlandırıyorsanız, o zaman hayır, yapamaz. Ağ katmanı, ağ aygıtının fiziksel adresini gerektirir. IP adresi, basitlik adına MAC adresine atanan rastgele bir sayıdır. IP Adresleri, ağ kartının bir parçası değil, bir donanım çözümü olan bir yazılım çözümüdür. Bu yüzden IP adresleri kolayca değiştirilebilir, MAC adresleri karta sabit olarak kodlanır ve değiştirilemez (MAC adresi adres sahteciliği yazılımına rağmen, adresin ne olduğu konusunda adresi o kadar da değiştirmez. )

> As Ethernet uses MAC addresses for communication, could I create an
> Ethernet network where devices would not have an IP address, just a
> MAC address?

Evet, kullanabilirsiniz, ancak işlevsellik çok sınırlı olacağı ve kullanıcı dostu olmadığı için kullanmaktan hoşlanmayacaksınız. Taşıma katmanının uygulanmasının bir nedeni vardır.

Gönderen O Wikipedia , aktarım katmanı akış kontrolü, segmentasyon / desegmentation ve hata kontrolü sayesinde belirli bir bağlantının güvenilirliğini kontrol eder. Bazı protokoller durum ve bağlantı yönelimlidir. Bu, taşıma katmanının segmentleri takip edebileceği ve başarısız olanları yeniden iletebileceği anlamına gelir. Aktarım katmanı aynı zamanda başarılı veri iletiminin onaylanmasını sağlar ve herhangi bir hata meydana gelmezse bir sonraki verileri gönderir.

Dolayısıyla, günümüzde TCP / IP protokolü anlamına gelen Aktarım katmanını kullanmadan, verilerinizin hedefine ulaşmasını sağlama veya eksik parçaların otomatik olarak sıfırlanması yeteneğine sahip olmayacaksınız.


MAC adresi kesinlikle değiştirilebilir. (Uzun zamandır ölen) bilgisayarım, ADSL sağlayıcım bağladığı ve değiştirmek için ücret aldığı (ve birkaç gün sürdüğü) için MAC'ı yıllarca bozuk bir Ethernet kartından kullandı.
vonbrand

0

Yerel ağdaki makinelerin yönlendirme katmanı olmadan iletişim kurması kesinlikle mümkündür. Sadece bir Ethernet çerçevesi içine mesaj gömmek ve en iyisini umuyoruz. Biraz kartpostal üzerine not yazmak ve postanenin işini yapmasını ummak gibi.

Alıcının dinlediğini ummalısınız, Ve bir cevap mesajını dikkatlice dinleyin (potansiyel olarak diğer düğümlerden gelen birçok mesaj arasında). Tüm bu mesajları kendiniz çözmekle yükümlüsünüz.

1: 1 mesajlaşma gibi şeyler istiyorsanız, tüm bunları dinlemek için Ethernet çerçevelerinin üstünde başka bir protokole ihtiyacınız olacaktır. Noktadan Noktaya Protokolü (PPP) genellikle bunun için kullanılır, Ethernet üzerinden buna PPPoE denir. PPPoE, bir yayın ağında hem çok iyi fikirler hem de kimlik doğrulama ve şifreleme sağlar.

Ancak bazı yönlendirme bilgileri olmadan yalnızca yerel ağdaki düğümlerle iletişim kurabilirsiniz. İletileri iletmek için yönlendirme bilgilerini kullanmaya başlar başlamaz (örneğin, internete), IP veya IPX gibi bir tür yönlendirme protokolü istersiniz. Muhtemelen iletim kontrolü (TCP) de isteyeceksiniz ...


0

IP ağları bir soyutlama, dolaylı bir katman, yani herhangi bir fiziksel iletişim yöntemine veya cihaza kalıcı olarak bağlı olmayan sanal bir ağdır .

Ethernet ana bilgisayarında, onu genel olarak benzersiz şekilde tanımlayan bir MAC adresi (NIC başına) bulunur. Bununla birlikte, bu ana bilgisayar her zaman tek bir MAC adresini kullanırken, her biri için farklı bir IP adresine sahip birçok IP ağına aynı anda ait olabilir.

Fiziksel ve mantıksal adreslemenin bu şekilde ayrılması veya adreslemenin sanallaştırılması, IP ana bilgisayarını (örn. Bir sunucu) farklı bir MAC adresiyle bir fiziksel makineden diğerine taşımak, ancak diğer ana bilgisayarların yeniden yapılandırılmasını gerektirmeden belirli esneklik sağlar. (örn. istemci yazılımı).

IP veya Internet Protokolü ve Ethernet farklı sorunları çözer: Ethernet, LAN düzeyinde ve yalnızca tek bir LAN'da iletişim sağlar, LAN'ın bir yönlendirici üzerinden hangi ağlara bağlanabileceğini önemsemez. Halbuki IP, internet çalışmasıyla ilgilidir ve bu nedenle LAN agnostiktir. Ethernet, MAC adresleri yerine IP adreslerini kullanabilir mi? Elbette, ancak bu mesajlar LAN ile sınırlı olacağından size hiçbir şey kazandırmaz.

İkinci sorunuzun bir cevabı olarak, bu tür bir durum IP adresi tahsisi için Dinamik Ana Bilgisayar Yapılandırma Protokolü'nü (DHCP) kullanan bir Ethernet LAN'da farklı zamanlarda mevcuttur . Yeni bir ana bilgisayar LAN'a bağlandığında, bir IP adresi yoktur, bu nedenle tüm cihazlara yayınlanmış bir Ethernet çerçevesi gönderir ve bir DHCP sunucusundan yanıt bekler. Bu noktada, istemci ne DHCP sunucusunun MAC adresini ne de IP adresini, dolayısıyla yayını bilir. İstek alındığında, sunucu artık istemcinin MAC adresini bilir ve böylece yanıtı doğru bir şekilde çözebilir.

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.