networkinghomer
Goto Top

NAT und MAC - was wird wann gesendet?

Wrum unterscheiden sich der englischsprachige und deutsche Wikipedia-Artikel so enorm in Bezug auf MAC?

Hallo Leute,

es geht um die Frage, wann die MAC-Adresse bei der TCP/IP-Kommunikation übertragen wird. Meine Philosophie zu dem Thema kann man hier nachlesen: http://www.elektronik-kompendium.de/sites/net/0812111.htm Dort ist nicht die Rede von einer MAC-Übertragung.

Anders ist es bei dem deutschsprachigen Wikipedia-Artikel, der am Beispiel Source-NAT stets von einer Übertragung der MAC ausgeht. http://de.wikipedia.org/wiki/Network_Address_Translation

Der englischsprachige Wikipedia-Artikel zu dem Thema: http://en.wikipedia.org/wiki/Network_address_translation - hier wird MAC nicht einmal erwähnt und steht damit für mich im Widerspruch zur deutschen Wiki-Ausgabe.

Also, wrum liest sich der deutsche Wiki-Text in meinen Augen so verwirrend? MAC sollte nach meiner Auffasung nur bei dem Bezug einer IP-Adresse via DHCP eine Rolle spielen und ist ansonsten bei TCP/IP unnötig, ist das richtig?

Beste Grüße

Homer

Content-Key: 192668

Url: https://administrator.de/contentid/192668

Ausgedruckt am: 28.03.2024 um 16:03 Uhr

Mitglied: MrNetman
MrNetman 12.10.2012 um 11:20:31 Uhr
Goto Top
Hi Homer,

nein, nicht ganz.
Die MAC Adresse wird für fast alle lokalen Vorgänge benutzt. Der Switch braucht sie, das ARP-Protokoll braucht sie.
Sobald die Kommunikation über eine Routinginstanz läuft ist die lokale MAC verschwunden. Diese wird durch eine weitere lokale MAC ersetzt, die jetzt dem Router entspricht. Bis zum Endgerät werden so alle MACs (mehrfach) ersetzt.
Als Ausnahme stehen Tunnel da, bei denen die äußeren MACs wie gehabt ersetzt werden, die inneren aber stabil bleiben.

Dieser Vorgang wird durch NAT nicht beeinflußt. Die MAC verläßt das lokale Netzwerk nicht.

Gruß
Netman
Mitglied: AndiEoh
AndiEoh 12.10.2012 um 11:20:36 Uhr
Goto Top
Hallo

habs nur kurz gelesen aber das Problem im deutschen Artikel liegt wohl darin das auch die Layer 2 (ethernet) Kommunikation zwischen den Routern beschrieben wird anstatt nur der IP/NAT Part. Deshalb kommt die MAC Adresse darin vor. Mit NAT hat die MAC Adresse nur insofern was zu tun das diese auf Layer 2 an Netzwerkgrenzen auch geändert wird und dort auch NAT stattfindet.

Gruß

Andi
Mitglied: aqui
aqui 12.10.2012 aktualisiert um 12:58:44 Uhr
Goto Top
Die Grundfrage die sich stellt ist WAS networkinghomer nun eigentlich wirklich hier betrachten will ?
Er würfelt hier wahllos und laienhaft OSI Layer 2 und Layer 3 Sichtweisen durcheinander zusammen mit IP Protokollfeatures was eigentlich eher darauf schliessen lässt das er die Basis, das OSI Schichtenmodell das einen Ethernet IP Kommunikation zugrunde liegt, gar nicht verstanden hat !?
Er redet von MAC Adressen zitiert dazu oben aber ein IP Protokollfeature (NAT) beim Elektronik Kompendium. Das ist so als wenn man über Autos diskutiert und einen Wikipedia Artikel über Goldfische dazu zitiert.
Ebenso der Unsinn mit dem Verheiraten von Mac Adressen und DHCP. Das hat soviel miteinander zu tun wie ein Fisch mit einem Fahrrad wenn man mal von der Tatsache absieht das DHCP Pakete einen Layer 2 Mac Header zum Transport benötigen...und auch NUR das ! Ziemlich sinnfreier Mischmasch oben also...
Es macht deshalb tunlichst Sinn sich ertsmal das OSI Schichtenmodell im Klaren zu werden:
http://de.wikipedia.org/wiki/OSI-Modell
und es zu verstehen ! Dann erschliesst sich auch der Rest der darauf aufsetzenden IP Protokolle.
Sinn ist es beim OSI Modell ja den Layer 2 (Mac Adress Layer) vom Layer 3 (IP usw.) zu abstrahieren. Das eine hat mit dem anderen nichts oder nur bedingt was zu tun (Auto, Goldfisch), denn auf dem L2 basieren ja auch noch andere Netzwerk Protokolle außer TCP/IP.
Als Fazit kann man deshalb festhalten:
Keine IP Kommunikation OHNE die dadrunter liegende Mac Adress Kommunikation (L2) !!
Der Austausch und das Wissen der gegenseitigen Mac Adressen ist also zwingend notwendig bei Kommunikationspartnern und auch der aktiven Netzwerk Infrastruktur (Switch / Router) und das ist logischerweise völlig unabhängig davon ob sie NAT, TCP, UDP, HTTP oder was auch immer sprechen über den Mac Adress Header in höheren Schichten.
Mitglied: AndiEoh
AndiEoh 12.10.2012 um 13:27:10 Uhr
Goto Top
Zitat von @aqui:
Als Fazit kann man deshalb festhalten:
Keine IP Kommunikation OHNE die dadrunter liegende Mac Adress Kommunikation (L2) !!

Wenn wir schon beim haarespalten sind:
"Keine IP Kommunikation OHNE funktionierende Layer 1 u. 2"
Es muß nicht unbedingt Ethernet sein, IP geht auch mit anderen Layer 2 Protokollen die keine MAC Adressen haben.

Gruß

Andi
Mitglied: NetworkingHomer
NetworkingHomer 12.10.2012 aktualisiert um 18:48:35 Uhr
Goto Top
Hi Leute,

danke erstmal für die vielen Antworten. Ich habe einige Fragen und Anmerkungen, möchte mich aber zunächst auf das Folgende beschränken:

1. Besonders interessiert mich Netmans Info, dass alle MACs mehrfach ersetzt werden. Angenommen, ich gehe über einen Client und Fritzbox ins Internet, z.B. auf diese Seite hier. Mit welcher MAC kommuniziert dann dieser Server? Die meiner Fritzbox oder kann es auch eine beliebige sein, z.B. irgendeine zufällige Zwischenstation auf dem Weg zu dieser Seite, die letztlich übermittelt wird?

Beste Grüße

Homer
Mitglied: MrNetman
MrNetman 12.10.2012 um 20:54:01 Uhr
Goto Top
In einer Broadcastdomäne gibt es immer nur zwei verwendete MACs. Die eine ist vom Absender, die andere vom Ziel. Also verliert der Client seine MAC auf dem Weg und geht mit der MAC der Fritzbox ins Internet. Beim Server ist das gleich. Auch seine MAC ist für den Transport nicht mehr relevant und wird ersetzt.

Ausnahme WLAN. Hier werden drei bis 4 MACs pro Paket verwendet um den AP zu erkennen, über den kommuniziert wird. Aber hinter dem Router ist wieder alles gleich.

Um das zu erkennen nutze einmal Wireshark. Dort wirst du sehen, dass es trotz des Ansurfens von 20 Servern immer nur eine einzige MAC für den Internetverkehr gibt.

lg
Netman
Mitglied: AndiEoh
AndiEoh 13.10.2012 um 12:12:04 Uhr
Goto Top
Die MAC Adresse ist nur im "lokalen" Netz (ethernet) relevant und wird an *jedem* Router durch die des ausgehenden Interfaces ersetzt. Darum sieht man immer nur die MAC des letzten Routers und nicht die des Absenders. Wie bereits bemerkt können zwischen dir und einem Server im Internet sogar IP-Strecken sein die gar keine MAC Adressen kennen.
Mitglied: NetworkingHomer
NetworkingHomer 13.10.2012 um 12:18:33 Uhr
Goto Top
Hi Netman,

ich habe dieses Wireshark-Beispiel studiert: http://www.nwlab.net/tutorials/wireshark/wireshark-tutorial-2.html

Ich interpretiere es so, wie du selber schreibst: "In einer Broadcastdomäne gibt es immer nur zwei verwendete MACs."
In dem Beispiel tauchen ja auch nur 2 MACs auf (Client-PC und Fritzbox). Soweit, so gut, OSI-Layer 2.

Die Vorgänge im Layer 3 sind mir (glaube ich) soweit klar (IP).

Was ich nicht verstehe: In dem Beispiel von nwlab werden nur 2 MACs angezeigt. Offenbar wiederholt die Fritzbox und der Server die Kommunikation auf Layer 2 nicht, sondern bleibt auf Layer >=3? Oder wird es doch wiederholt, nur dass es nicht messbar mit Wireshark ist? Es hieß ja: Keine TCP/IP-Kommunikation ohne, dass eine MAC gesendet wird.

face-smile Mir macht das Spaß!

Beste Grüße

Homer
Mitglied: NetworkingHomer
NetworkingHomer 13.10.2012 um 12:28:35 Uhr
Goto Top
Hi Andi,

OK, habe das zu spät gelesen bzw. erst nach dem Absenden meines Beitrages oben. Das klingt dann für mich logisch und entspricht ja auch den Wireshark-Ergebnissen von dort: http://www.nwlab.net/tutorials/wireshark/wireshark-tutorial-2.html

Jetzt habe ich noch eine Frage zu deinem Satz: "Darum sieht man immer nur die MAC des letzten Routers und nicht die des Absenders. " Das man die des Routers sieht, verstehe ich. Aber: Wo sieht man denn diese MAC? Z.B. auf dem Proxy meines Providers? Oder auch z.b. in den Logfiles z.B. von google.com? Oder nur innerhalb meiner Broadcast-Domäne?

Hier wird beschrieben, dass die MAC nie ins Internet gelangt.

Mit Mac - Adresse übers Internet ermitteln wann man online ist

Also, ich glaube, ich habe es gleich verstanden und hoffe auf Verständnis für meine vielen Fragen face-smile

Beste Grüße

Homer
Mitglied: MrNetman
MrNetman 13.10.2012 um 13:39:36 Uhr
Goto Top
Der Layer 2 wiederholt niemals etwas (Ausnahme WLAN)
Für die Layer2 Kommunikation stehen die Endpunkte nach der Anfrage aus dem lokalen Netzwerk fest. Folglich muss nichts mehr erfragt werden - zumindest keine Informationen aus der Broadcastdomäne oder den Switchports.
Die MAC des fremden Servers erfährt man nicht, zumindest nicht bei der normalen Kommunikation. Sie ist nur dem Serverhoster, also der dortigen Broadcastdomäne bekannt. Auch der Provider kennt die MAC des Server nicht.

lg Netman
Mitglied: NetworkingHomer
NetworkingHomer 13.10.2012 aktualisiert um 18:42:11 Uhr
Goto Top
Hallo nochmal,

ein paar Erkenntnisse, hoffentlich stimmen sie:

Das ich in Wireshark nur 2 MACs sehe (Client- und AVM-MAC) liegt daran, dass das Programm die Kommunikation zwischen AVM-Fritzbox und Provider nicht erfassen kann bzw. es sich um eine separate Verbindung handelt, die "nur" meine Layer-3-Pakete weiterleitet. Jedenfalls aus Sicht des Client-PC ist die MAC des Providers bedeutungslos, stimmt`s? Das erklärt auch, weshalb die AVM-MAC nicht in das Internet gerät, da das "Internet" erst ab dem Provider "beginnt". Meine Kommunikationspartner im Internet sind nicht dafür verantwortlich (aber darauf angewiesen), dass ich eine korrekte IP erhalte, daher interessiert sie die Layer 2-Kommunikation nicht, sie wollen lediglich meine IP-Adresse, unter der ich im Internet erreichbar bin. Der Provider hingegen muss dafür Sorge tragen, mich mit einer IP auszustatten und Pakete korrekt an mich weiterzuleiten. Daher findet zwischen ihm und mir (AVM-Box) auch eine eigenständige Kommunikation statt, die auch den Layer 2 (inkl. MAC-Austausch, Broadcast, ARP etc.)enthält. Oder?

In Wireshark kann ich also sehr komfortabel (danke noch mal Netman für diesen Tipp!) sehen, wie die Kommunikation zwischen Fritzbox und Client-PC auf dem OSI-Levels 1-3 funktioniert, wobei bei jeder neuen Verbindung auch diese Schichten komplett durchlaufen werden. Und natürlich werden da auch immer MACs verwendet, z.B. um die Fritzbox aufzuspüren oder die Fritzbox möchte zwecks Identifikation wissen, wer die MAC xy:... hat (Layer 2), weil sie ihm etwas senden möchte (dann über Layer 3, also über TCP/IP).

Aus meiner Client-PC-Sicht ist mit Layer-2-Kommunikation ab der Fritzbox Richtung "Internet" schluss, es werden lediglich Protokolle > Layer 2 verwendet.

Bis hierhin erstmal.

Beste Grüße

Homer
Mitglied: MrNetman
MrNetman 13.10.2012 um 19:50:31 Uhr
Goto Top
Bitte gehe an die Grundlagen!
Die Pferde gehen mit dir durch.

Selbstverständlich ist die MAC der Fritzbox sichtbar, aber nur für die nächste Routing-Instanz. Das ist in dem Falle dein Zugangsprovider. Weiter sieht das niemand.

Ausnahme deine Nachbarn.
Wenn du nämlich ein paar Standards an der Fritzbox nicht veränderst, erkennt jeder Nachbar an der SSID sofort, dass du eine Fritzbox hast und über die WLAN-MAC evtl. auch.

Der Prozeß wird nicht immer voll durchlaufen. Es gibt Caches. Die Geräte merken sich Dinge. Siehe ARP-Tabelle des lokalen PC oder MAC-Tabelle des Switches. Wenn also Dinge bekannt sind, dann muss man sie nicht noch einmal abfragen.
Das würde nämlich lauten, dass man zu einer IP-Adresse einmal die MAC sucht. Wenn die nicht lokal vorhanden ist oder lokal beantwortet wird, wird die MAC des default-Gateway benutzt. Das ist hier die Fritzbox. Und die sieht wieder nach und fragt weiter oder lehnt ab. ... das ist aber jetzt arg grob.
Gehe zur Netzmafia und dort zu Datenkommunikation Netze. Evtl. etwas weiter zu http://www.netzmafia.de/skripten/netze/netz8.html
Da geht es ausführlicher zu.

Eine schöne Aufgabe fürs Wochenende.
Gruß
Netman
Mitglied: NetworkingHomer
NetworkingHomer 14.10.2012 aktualisiert um 15:20:21 Uhr
Goto Top
Hi Netman,

danke für deine Antwort und auch die Quellenhinweise. Ich habe das gelesen, eine Nacht drüber geschlafen und nun verstehe ich sogar den deutschen Wikipedia-Artikel face-smile http://de.wikipedia.org/wiki/Network_Address_Translation

Heute Morgen habe ich auch nochmal dieses Video http://www.youtube.com/watch?v=7CyC9Y-1Vvw&feature=relmfu angeschaut, das von horizontaler und vertikaler Kommunikation spricht. Um nun auf meine 2 obigen Beispiele zurückzukommen bzw. diese zu korrigieren:

Auf der einen Seite ist es richtig, dass auf horizontaler (virtueller) Kommunikationsebene via IP-Protokoll Pakete hin und her geschickt werden. Damit dürfte sich NAT zu einem Teil erklären lassen, z.B. hier: http://www.elektronik-kompendium.de/sites/net/0812111.htm

Ich hatte wohl Probleme, die vertikale reale Kommunikation damit in Zusammenhang zu bringen. Diese ist letztlich (in dem zuvor von mir als verwirrend bezeichneten) deutschen Wiki-NAT-Artikel sehr schön beschrieben. Die vielen Zwischenstationen im Internet (Router) ändern die Pakete alle auf Layer 2, indem jeder Router die eigene MAC mit der des folgenden Routers hinzufügt ersetzt: "Es erhält nun abweichend die MAC-Adresse des nächsten Routers". Das klingt logisch und bestätigt natürlich die Aussagen der obigen Diskussionsteilnehmer: Keine TCP-Kommunikation ohne MAC. Lediglich meine Fritzbox fügt auch noch auf Schicht 3 etwas dem Paket hinzu, nämlich ihre öffentliche IP und einen zufällig freien Port.

Nach wie vor interessant finde ich, dass es scheinbar Unterschiede im amerikanischen und deutschen Raum gibt, an diese Sache heran zu gehen. Zumindest bei meinen Recherchen haben die Amis stets die horizontale Kommunikation beschrieben, während eben auf deutscher Seite auch die vertikale thematisiert wurde. Ich glaube, beides hat aus didaktischer Sicht Vor- und Nachteile?

Beste Grüße

Homer
Mitglied: aqui
aqui 14.10.2012 aktualisiert um 13:48:37 Uhr
Goto Top
Wenn du jetzt noch dein "hinzufügen" durch ersetzen ersetzt, dann stimmt es. Stell dir mal vor du machst eine Kommunikation über 10 Router Hops von der Quelle zum Ziel dann würde beim "hinzufügen" dein Paket ja wachsen auf 10 Macs wenn du Macs oder IPs immer hinzufügen müsstest. Vermutlich meinst du das aber auch so und hast dich nur gedrückt falsch aus...
Die Hops einer IP Kommunikation kannst du immer mit "traceroute" (tracert bei Winblows) oder "pathping" sehen.
tracert www.administrator.de zeigt dir also alle Routerhops zwischen dir und Administrator.de an.
Mitglied: Lochkartenstanzer
Lochkartenstanzer 14.10.2012 aktualisiert um 14:18:20 Uhr
Goto Top
Zitat von @NetworkingHomer:
die Aussagen der obigen Diskussionsteilnehmer: Keine TCP-Kommunikation ohne MAC.

Keine Regeln ohne Ausnahme:

Man könnte natürlich diskutieren ob bei SLIP MAC-Adressen Verwendung finden, da SLIP ein Point-To-Point-protokoll ist und prinzipiell keine Mac-Apdresse benötigt.

lks
Mitglied: aqui
aqui 14.10.2012 um 14:31:20 Uhr
Goto Top
Lass uns mal lieber bei rein Ethernet bleiben sonst artet das hier noch aus... face-wink
Mitglied: Lochkartenstanzer
Lochkartenstanzer 14.10.2012 um 14:48:11 Uhr
Goto Top
Zitat von @aqui:
Lass uns mal lieber bei rein Ethernet bleiben sonst artet das hier noch aus... face-wink

Man könnte natürlich noch das modernere Ip over Avian carriers ins Feld führen, aber dann wären wir irgendwann vielleicht doch off-topic. face-smile

lks
Mitglied: NetworkingHomer
NetworkingHomer 14.10.2012 aktualisiert um 15:26:10 Uhr
Goto Top
Danke für die Hinweise, aqui, habe den Beitrag entsprechend editiert. face-smile Ich check jetzt mal Traceroute.