Vraag Waarom konden geen MAC-adressen worden gebruikt in plaats van IPv4 | 6 voor netwerken? [Gesloten]


Ik lees informatie over TCP / IP en andere gerelateerde protocollen en technologieën. MAC-adressen worden beschreven als zijnde (redelijk :) uniek en hebben een grote mogelijkheid (enkele honderden biljoenen), terwijl ze ook worden toegewezen aan alle netwerkinterfaces. Wat zijn de historische en technische redenen waarom IPv4- of IPv6-adressen worden gebruikt in plaats van MAC-adressen voor internetwerkcommunicatie?

Mis ik iets dat fundamenteel is of is het gewoon een dwaze reden (bijvoorbeeld om bovenop legacy-technologie te bouwen)?


181
2017-07-24 12:51


oorsprong


Pedantische correctie: redelijk uniek; kaarten met identieke HW MAC-adressen zijn in het wild waargenomen - dit is een "leuk" netwerkprobleem om te debuggen. - Piskvor
Persoonlijk ben ik getuige geweest van een bestuurder met fouten toegewezen hetzelfde MAC-adres voor verschillende netwerkkaarten op verschillende machines (die unieke HW-adressen hadden voordat die driver werd geïnstalleerd). Nou, dat was het wel pijnlijk. - Massimo
Massimo, ik heb precies hetzelfde gezien. Dat is niet ongebruikelijk voor een bestuurder om dat in ontwikkeling te doen en de programmeurs om te vergeten dat onderdeel om te draaien als het gaat produceren. @Felix, het is ook gebruikelijk dat fabrikanten MAC's in de loop van de tijd en in verschillende delen van de wereld hergebruiken. Een kaart die in 2005 in de VS werd verkocht, zou dezelfde MAC kunnen hebben als een kaart die in 2013 in China werd verkocht, bijvoorbeeld. - Robert Kaucher
Het adresseren van een pakket met een MAC-adres zou hetzelfde zijn als het adresseren van een brief met een sofinummer. - Mikey
Hoe zou jij weten waar is nu een specifiek MAC-adres? Vooraan, zonder dat elk knooppunt op het internet op de hoogte wordt gesteld wanneer u naar een ander net verhuist? - Thorbjørn Ravn Andersen


antwoorden:


Het MAC-adres kan uniek zijn, maar er is niets speciaals aan het aantal dat aangeeft waar het zich bevindt. MAC 00-00-00-00-00-00 kan aan de andere kant van de planeet zijn 00-00-00-00-00-01.

IP is een arbitrair nummeringsschema dat op een groep computers op een hiërarchische manier wordt opgelegd om ze logisch van elkaar te onderscheiden als een groep (dat is wat een subnet is). Het verzenden van berichten tussen deze groepen gebeurt door het routeren van tabellen, die zelf zijn opgedeeld in meerdere niveaus, zodat we niet elk afzonderlijk subnet hoeven bij te houden. Bijvoorbeeld, 17.x.x.x bevindt zich binnen het Apple-netwerk. Vanaf daar weet Apple waar elk van de duizenden subnetten zich bevindt en hoe ze bij hen kunnen komen (niemand anders hoeft deze informatie te kennen, ze moeten alleen weten dat 17. alles naar Apple gaat).

Het is ook vrij eenvoudig om dit te relateren aan een ander paar systemen. U hebt een door de staat uitgegeven identiteitsnummer, waarom zou u een postadres nodig hebben als dat ID-nummer al uniek is voor u alleen? U hebt het postadres nodig omdat het een willekeurig systeem is dat beschrijft waar de unieke bestemming voor communicatie naar u zou moeten gaan.


341
2017-07-24 12:56



Dit is een geweldig antwoord. Ik zou hebben toegevoegd dat MAC-adressen uiteindelijk worden gebruikt in IP-communicatie zodra de computers bepalen dat ze zich in hetzelfde subnet bevinden; dat is waarom ARP-vergiftiging werkt als een aanval. Hetzelfde met een standaard gateway, de computer adressen pakketten bestemd voor een ander subnet naar het MAC-adres geretourneerd door de ARP lookup voor de standaard gateway IP. Layer-3 / IP-adressering wordt meestal gebruikt door routers en wordt alleen gebruikt door de host om te bepalen of de bestemming zich op hetzelfde subnet bevindt. - Sean C.
@SeanC, MAC-adressen worden uiteindelijk gebruikt in IP-communicatie via op 802.1 gebaseerde lijnprotocollen (Ethernet, WiFi, Token Ring, enz.). Maar niet over ATM-protocollen, zoals PoSDH en IPoATM. - Chris S
U kunt ook hetzelfde IP-adres behouden als uw netwerkkaart (of hele computer) moet worden vervangen. Stel je voor hoe vervelend het zou zijn zonder de IP-abstractie. - OrangeDog
@ChrisS Ik heb een vriend die als sys-beheerder een stapel kaarten van een enkele leverancier heeft ontvangen en de kaarten slechts één MAC-adres in het hele palet hadden. De verkoper zei dat de kaarten niet correct in de winkelverspreiding werden gemengd, zodat er duplicaten waren, aangezien de bestelling direct uit de fabriek kwam. Voordat de kaarten naar de detailhandel gingen, moesten ze samen worden gemengd om de dupes rond te verspreiden. Dus voor een bepaalde leverancier zijn MAC-geadresseerden niet uniek, en veel minder bij verkopers. - Jarrod Roberson
Er zijn verschillende historische redenen voor het optreden van dubbele mac-adressen inclusief fouten met leveranciersfirmware. - Mike Pennington


Omdat de routingtabellen onmogelijk groot worden.

IP-adressen worden hiërarchisch toegewezen, zodat een router routes kan groeperen op adresprefixen. Het aantal autonome systemen op het net is nu redelijk genoeg om in de hedendaagse hardware te passen.

Aan de andere kant is de distributie van MAC-adressen over het netwerk willekeurig en volledig onafhankelijk van de topologie. Het groeperen van routes zou onmogelijk zijn, elke router zou routes moeten bijhouden voor elk afzonderlijk apparaat dat het verkeer doorgeeft. Dat is wat schakelaars van laag 2 doen, en dat schaalt niet veel verder dan een bepaald aantal hosts.


73
2017-07-24 12:52



Kun je dit nader toelichten? Waarom zouden ze? Waarom is dat niet het geval met IPv *? - Félix Saparelli
Er is geen intrinsieke reden dat routertabellen die een MAC-geformatteerd adres gebruiken "onmogelijk groot" zijn in vergelijking met IPv4 / 6-indelingen. Het probleem is dat toewijzing van IP-adressen is gekoppeld aan een hiërarchie die WAN-routering mogelijk maakt. MAC-adressen worden door fabrikanten toegewezen voor Ethernet-apparaten (en kunnen in software worden gewijzigd) en naarmate het hardware-apparaat beweegt, zou het maken van die ad hoc-revisies naar WAN-routeringstabellen een "onmogelijk grote" taak zijn. - hardmath


De wereld draait niet alleen op ethernet (althans historisch gezien). De IP-laag is onafhankelijk van de onderliggende hardwarelaag.

PPP-knooppunten hebben geen Mac-adressen. Evenmin doen arcnet, token ring, fddi, hppi. Die andere standaarden zijn misschien niet zo relevant vandaag, maar ethernet kan in de toekomst worden vervangen door andere technologieën en het zou transparant zijn voor de IP-laag.

Er is een langere discussie over hoe we nieuwe hardware-protocollen blijven uitvinden en ze ethernet noemen, maar ik dwaal af ...


36
2017-07-24 16:03



Token Ring heeft MAC-adressen. - Chris S
U bedoelt dat ze ook niet naar ipv6 kunnen overschakelen omdat het PPP-knooppunt geen v6-adres heeft? (Of had er tenminste 5-10 jaar geleden nog geen). Voor zover ik weet, is de implementatie van ipv6 vandaag nooit gestopt. Dit maakt ook voor MAC geen verschil. - Dorus
@Dorus: uw opmerking klopt niet. PPP-knooppunten kunnen zowel IPv4- als IPv6-adressen hebben, precies omdat IP zich bouwt op de onderliggende protocollen, zoals Ethernet of PPP. PPP-knooppunten hebben echter geen MAC-adres (omdat de PPP-standaard deze niet heeft). - sleske
3 jaar later (en een beetje meer deskundig) zou ik graag lezen dat "een langere discussie over hoe we nieuwe hardware-protocollen blijven uitvinden en ze ethernet noemen." ; P - Félix Saparelli
Dit is een goed begin - standards.ieee.org/events/ethernet/history.html - Jeff Sacksteder


In aansluiting op de hiërarchische routering van IP, kunt u deze van de MAC-adressen scheiden, zodat u uw netwerkkaart of hele computer kunt wijzigen terwijl u hetzelfde IP-adres behoudt (en dus logische netwerktopologie).

Deze abstractie maakt veel flexibeler en onderhoudbaarder netwerken mogelijk.


30
2017-07-24 14:46





Bekijk de OSI-model: http://en.wikipedia.org/wiki/OSI_model

Dit verklaart waarom het geen zin heeft om routing te maken, een layer 3-concept, beslissingen gebaseerd op een fysiek, laag 2, mechanisme.

Modern netwerken is opgedeeld in veel verschillende lagen om uw end-to-end communicatie tot stand te brengen. Uw netwerkkaart (wat wordt geadresseerd door het mac-adres [fysiek adres]) hoeft alleen verantwoordelijk te zijn voor communicatie met peers op zijn fysieke netwerk.

De communicatie die u met uw MAC-adres mag uitvoeren, wordt beperkt tot andere apparaten die zich fysiek in contact bevinden met uw machine. Op internet bijvoorbeeld, bent u niet fysiek verbonden met elke machine. Daarom maken we gebruik van TCP / IP (een laag 3, logisch adres) -mechanisme wanneer we moeten communiceren met een machine waarmee we niet fysiek zijn verbonden.


22
2017-07-24 15:37



+1 voor het vermelden van het OSI-model. - Massimo


b0fh heeft gelijk, maar ook omdat MAC-adressen niet altijd uniek zijn.

Zie bijvoorbeeld in virtualisatiescenario's. Hier kunnen meerdere hosts virtuele machines met dezelfde MAC-adressen bedienen.


8
2017-07-24 12:54





Routeringstabellen voor MAC-adressen zouden bijna elk afzonderlijk apparaat met een MAC-adres nodig hebben. Routering naar internet voor IP is een enkele invoer 0.0.0.0/0. Voor netwerkenklassen worden ze onderverdeeld als 10.0.0.0/8 172.16.0.0/16 en 192.168.0.0/24. Veel van deze kunnen worden samengevoegd zoals 172.16.0.0/12 en 192.168.0.0/16 waardoor de routetabelomvang verder wordt verkleind.

Routes worden in omgekeerde volgorde doorzocht naar het aantal bits in hun masker. Dit maakt de routing naar 192.168.100.0/24 werk wanneer er een route is voor 192.168.0.0/16 en een andere voor 0.0.0.0/0 (standaardroute).

EDIT: Oorspronkelijk was het IP-bereik onderverdeeld in verschillende klassen; A, B en C zijn de belangrijkste. De A-klasse vormde de eerste helft van het adresbereik, het B-bereik het volgende kwartaal en het C-bereik de volgende acht van het bereik. Deze klassen hadden maskers van respectievelijk 8, 16 en 24 bits. Later werd het strikte gebruik van deze maskers verbroken en werd de toewijzing van de adressen in verschillende groottes uitgevoerd.

De grootte van de toewijzing is altijd een macht van 2 en het laagste en hoogste adres in elke toewijzing is gereserveerd. Elke toewijzing heeft ook een adres voor een router. Dit is vaak het laagste of hoogste niet-gereserveerde adres. De kleinste praktische toewijzing is een / 30-adres.

IPv6 maakt gebruik van dezelfde toewijzingsvorm met een / 64 van de kleinste toewijzing die op internet kan verschijnen. Meestal krijgt ISP een veel grotere toewijzing, wat alle internetrouters moeten weten. Verwachte toewijzingen worden gespecificeerd in de RFC's. De internetprovider moet weten hoe hij zijn eigen subnet moet routeren en welke adressen moeten worden gerouteerd naar welke interconnectierouters. Dit is aanzienlijk eenvoudiger dan te weten hoe elk mac-adres moet worden gerouteerd.


4
2017-07-24 13:38



Er zijn geen Klassen in netwerken en zijn niet meer sinds 1994. = [ - Chris S
@ChrisS IPv4 PTR-zoekopdrachten worden nog steeds per klas uitgevoerd, maar delegeren is mogelijk. De aggregaties zijn nog steeds van toepassing met of zonder klassen, en B- en C-aggregaties worden nog steeds toegepast zelfs vóór klasseloze netwerken. - BillThor
PTR-opzoekingen worden gedaan door Octet, er zijn geen klassen. Zie RFC 1517 tot 1520. - Chris S
@ChrisS Onder de mensen met wie ik werk, worden de klassen gebruikt om te verwijzen naar het aantal octetten in het netmasker A = 1, B = 2 en C = 3. We associëren ze niet met hun historische reeksen en breken de A-klasse 10.0.0.0 in B- en C-stukjes. Klassen leven voort in de traditie, zo niet hun oorspronkelijke betekenis. - BillThor