Woran erkennt ein Teilnehmer in einem Lokalen Netzwerk, dass ein IP-Paket aus einem fremden Subnetz für ihn bestimmt ist?
Angenommen zwei Rechner (A, B) sind über einen (Layer 2) Switch verbunden und sind nicht im gleichen Subnetz, dann können diese nicht ohne Router miteinander kommunizieren, richtig?.
Sendet Rechner A Rechner B also ein Paket, bekommt es Rechner B zwar, das Paket, da der Switch es weiterleitet, verwirft es aber, da es aus fremdem Subnetz ist.
Wenn A Rechner B ein Paket über einen Router sendet, der ebenfalls am Switch hängt, dann ändert sich an den IP-Adressen doch nichts, nur an der Mac, oder? Wie erkennt dann der Rechner B, dass es er es annehmen soll?
2 Antworten
Normalerweise gilt die Regel "1 Netz hat 1 Netznummer mit 1 Netzmaske". Wenn Du dagegen gezielt verstoßen willst, kannst Du mit Hostrouten arbeiten.
Unter Linux könntest Du z. B. sagen
route add -net 192.168.0.0/24 dev en1
route add -host 192.168.42.42 dev en1
Dann würde sowohl das 192.168.0.0er-Netz wie auch die Einzel-IP 192.168.42.42 direkt aufs Ethernet gegeben, d. h. ohne Router dazwischen sofort ARP-Request für MAC-Zieladresse und dann direkt an die raus.
Problem: in so einer Mischkonstellation müsstest Du die Hostroute dann auf allen beteiligten Rechnern im LAN eintragen. Und der "Adress-Fremdling" mit der 192.168.42.42 braucht dann auch einen Satz Sonderregeln, um an 192.168.0.0/24 ranzukommen.
Abhilfe kann in so einem Fall sein, dass man einen Rechner im LAN tatsächlich mit zwei Netzrouten auf das Ethernet-Device ausstattet, und die anderen Rechner diesen Rechner dann als Gateway nutzen. Dann tun alle außer dem Gateway so, als gäbe es nur ihren Stamm-Adressraum. Und der Gateway weiß, dass die Physik da ein adresstechnisches Doppelleben führt.
Der Switch wird es vermutlich nicht verhindern. Der hört einfach den Traffic mit und hat seine Tabellen, auf welchem seiner Ports er welche MAC-Adressen gesehen hat. Im Prinzip reicht es dazu aus, ARP-Requests und Responses zu überwachen.
Und die Kabel verhindern es auch nicht.
Angenommen zwei Rechner (A, B) sind über einen (Layer 2) Switch verbunden und sind nicht im gleichen Subnetz, dann können diese nicht ohne Router miteinander kommunizieren, richtig?.
Richtig.
Sendet Rechner A Rechner B also ein Paket, bekommt es Rechner B zwar, das Paket, da der Switch es weiterleitet, verwirft es aber, da es aus fremdem Subnetz ist.
Nein. Rechner A erkennt, dass Rechner B in einem anderen Subnetz steht. Er wird also niemals versuchen, den Rechner B direkt zu kontaktieren. Der Weg geht über ein Gateway, also einen Router. Der Rechner A wird also einen ARP-Request auf die IP-Adresse des Standardgateways versenden, auf eine Antwort hoffen und anschließend das Paket an die MAC-Adresse des Standardgateways schicken.
Wenn A Rechner B ein Paket über einen Router sendet, der ebenfalls am Switch hängt, dann ändert sich an den IP-Adressen doch nichts, nur an der Mac, oder?
MAC-Adresse, nicht Mac. MAC steht für Media Access Control. Ansonsten richtig.
Wie erkennt dann der Rechner B, dass es er es annehmen soll?
Der Router wird das Paket an die MAC-Adresse von B senden. Das Paket trägt, wenn es bei B ankommt, also sowohl IP- als auch MAC-Adresse von B. Die Netzwerkkarte nimmt das Paket an, weil die MAC-Adresse stimmt.
Also hindert mich niemand daran, einem Rechner in einem fremden Subnetz ein Paket zu schicken, wenn ich direkt bzw über einen Switch mit ihm verbunden bin?