Warum sind Ethernet / Mac-Adressen in Hex- und IP-Zahlen in Dezimalstellen?


7

Warum sind Ethernet- / Mac-Adressen in Hex (und haben 48 Bit) und IP-Nummern in Dezimalstellen (und haben 32 Bit)? Hat das historische oder praktische Gründe?


Hat dir eine Antwort geholfen? Wenn ja, sollten Sie die Antwort akzeptieren, damit die Frage nicht für immer auftaucht und nach einer Antwort sucht. Alternativ können Sie Ihre eigene Antwort bereitstellen und akzeptieren.
Ron Maupin

Antworten:


11

Unterschiedliche Personen entwerfen unterschiedliche Protokolle. Ethernet kann mehr als IP transportieren (IPX war vor 15 bis 20 Jahren weit verbreitet und verwendete auch Hex in seinen Adressen. Genauer gesagt: Der lokale Teil einer IPX-Adresse war die MAC-Adresse). IP hingegen kann ohne Verwendung von Ethernet als Layer-2-Protokoll ausgeführt werden.

Irgendwie wurde Ethernet (und MAC-Adressierung) zum dominanten Layer-2-Protokoll und IPv4 zum dominanten Layer-3-Protokoll. Mit IPv6 haben wir HEX wieder in unseren IP (v6) -Adressen.


2

Jens hat eine großartige technische Antwort (und hat eine positive Bewertung von mir erhalten), aber der andere Aspekt ist die Lesbarkeit des Menschen, denn als Menschen sollten wir immer die "Dinge" sein, die diese Adressen auf einer höheren Bewusstseinsebene verstehen müssten, die maschinell funktioniert nicht besitzen. Die Übermittlung einer 48-Bit-Adresse in Dezimalzahl wäre weniger effizient als die Übermittlung einer 32-Bit-Adresse in Dezimalzahl (im Kontext der menschlichen Lesbarkeit; alles ist binär zu einem Router / Switch / was auch immer).

Zum Beispiel eignet sich der Zahlenraum, der durch 32 Bit ausgedrückt werden kann, gut dazu, diesen Raum in gleichmäßig große Blöcke (die Blöcke hier sind Bytes oder Oktette ) von jeweils 8 Bit zu zerlegen, und Sie haben eine maximale Dezimalstelle "von 255 für jeden dieser Brocken. Dies würde natürlich dazu führen, dass diese Adressen im gepunkteten Dezimalformat dargestellt werden, da Sie niemals ein Oktett haben werden, das länger als 3 Dezimalstellen ist.

Eine MAC-Adresse ist anders. Hexadezimal ist hier effizienter, weil Sie mit weniger mehr ausdrücken können und Sie wiederum den Umfang der Ziffernlänge einschränken, um den größeren Adressraum auszugleichen. Eine 48-Bit-Adresse enthält 6 Oktette, und jede hexadezimale Ziffer besteht aus 4 Bit. In einer 48-Bit-Adresse darf kein Oktett länger als zwei hexadezimale Ziffern sein.

aa:d3:ad:be:ef:aa

ist einfacher (effizienter) zu lesen, zu schreiben und zu interpretieren als

170:211:173:190:239:170

1
Sie erhalten den gleichen Bereich von hex und es ist immer sicher, jedes Oktett als 2 hexadezimale Ziffern darzustellen. Anstelle von 192.168.1.1 hätten Sie also C0.A8.01.01 haben können. Viel einfacher zu lesen und sich zu erinnern. Sie können auch aussprechbare Mnemonik verwenden, beispielsweise könnte das beliebteste Präfix für das Heimnetzwerk umgangssprachlich als "Koate" bezeichnet werden. Schließlich wären mit hex keine ungültigen Darstellungen möglich, dh es gibt kein hex, das 256.310.001.999 entspricht. ffffffff ist die maximal darstellbare Anzahl UND die höchste IP-Adresse. Hex ist einfach viel effizienter und klarer als Dezimal. Schade: /
Justin Force

1
Um klar zu sein, ich mag Ihre Antwort. Aber es scheint wirklich nur der Fall zu sein, dass wir in erster Linie hexadezimal für IPv4-Adressen hätten verwenden sollen. : D
Justin Force
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.