Warum sind Subnetzmasken für den einzelnen Computer im Netzwerk relevant?

48

Ich verstehe, wie Subnetzmasken verwendet werden, um ein Netzwerk in Subnetze zu unterteilen, aber warum muss jeder Computer im Netzwerk die Subnetzmaske kennen und nicht nur den Router?

Ich könnte es verstehen, wenn jeder Computer physisch über ein Kabel miteinander verbunden wäre, aber alle Pakete trotzdem über den Router gesendet werden müssten.

Nehmen wir an, ich habe einen Computer in einem Netzwerk 192.168.0.0/255.255.255.0, der die IP hat 192.168.0.1.

Wenn dieser Computer versucht, einen Computer außerhalb des Subnetzwerks zu erreichen 192.168.1.1, sendet er beispielsweise die Nachricht an den Router. Der Router erkennt, dass sich die IP außerhalb des IP-Bereichs des Subnetzwerks befindet, und überträgt sie nicht über das Subnetzwerk. Netzwerk, es überträgt es an das Netzwerk, mit dem es verbunden ist (möglicherweise ein anderer Router).

Orpedo
quelle
31
Computer müssen keinen Router durchlaufen, um ein Netzwerk zu bilden.
Overmind
1
@Overmind: Stimmt, aber sie können . Netzmasken sind in der Tat nicht zwingend erforderlich, sie sind eine Optimierung, um dem Router die Arbeit zu erleichtern.
MSalters
3
if each computer were physically connected to each other with a wire- man muss bedenken, dass tcp / ip zu einer zeit erfunden wurde, in der dies tatsächlich der fall ist. Google 10-base-2. Es gibt andere Protokolle, die anders als TCP / IP funktionieren, aber in den letzten 20 Jahren hat IPv4 den Protokollkampf gewonnen.
Slebetman
Sie scheinen ein Missverständnis darüber zu haben, wie Computernetzwerke funktionieren. Ich schlage vor, du
schaust
@InterLinked mit einem Erzähler mit so einer gruseligen Stimme? noch nie.
verschlang Elysium

Antworten:

78

Ihre ursprünglichen Annahmen stimmen nicht ganz. Was Sie als "Router" bezeichnen, sind zwei Geräte in einem - ein Zwei-Port-Router, der intern mit einem Ethernet-Switch mit mehreren Ports verbunden ist . (Hier ist ein Beispiel - Diagramm ) .

Dies bedeutet , dass die Computer sind direkt auf der Schicht 2 verbunden und können Pakete miteinander senden , ohne Umweg über den Router Kern - sie sind einfach zwischen den Anschlüssen durch den Switch - Chip weitergeleitet. (Der Router hat einen eigenen "Port" im Switch.)

Wenn Sie sich also die Pakete mit Wireshark ansehen, werden Sie feststellen, dass sie direkt die MAC-Adressen des anderen verwenden, während "externe" Pakete immer die MAC-Adresse des Routers als Ziel haben.

(Ich nehme an, Sie sprechen von den typischen "drahtlosen Routern", die in den meisten Haushalten zu finden sind und die die übliche Ursache für diese Art von Fragen sind. Ein größeres Netzwerk hätte einen separaten Router mit einem Port pro Subnetz und ein paar separate Switches (vielleicht ein Master plus einen pro Etage / Raum) und mehrere Dutzend Computer, die an diese Switches angeschlossen sind.)

Bei Wi-Fi-Netzwerken ist dies in etwa gleich, mit der Ausnahme, dass "Switch" durch "Wireless Bridge" (auch als "Access Point" bezeichnet) ersetzt wird. In beiden Fällen können verbundene Computer auf Schicht 2 Pakete direkt aneinander senden, ohne den Router zu durchlaufen.


Bemerkungen:

Als ich Router sagte, meinte ich eigentlich Switch. Mein Fehler. Mein Punkt ist, dass jeder Computer in einem Subnetz nicht miteinander verbunden ist, sondern mit einem Switch, der Pakete dann an das richtige Ziel weiterleiten kann. Ein Ethernet-Frame enthält keine Subnetzmaske, da der Switch dieses Wissen bereits besitzt und es daher nicht benötigt, um das richtige Switching durchzuführen.

Das ist wieder falsch. Switches verfügen nicht über dieses Wissen. ihre Vermittlungskerne arbeiten auf Schicht 2 und wissen nicht , etwas über IP - es vorwärts Ethernet - Frames rein auf der Grundlage der ‚Ziel - MAC - Adresse‘ ein.

Daher benötigen Hosts die Subnetzmaske, um herauszufinden, welche MAC-Adresse als Ziel verwendet werden soll:

  • Wenn der Peer im gleichen Subnetz ist, wird es angenommen, dass On-Link per Definition - so wird der Ethernet - Frame Peer MAC als Ziel hat.

  • Für Peers außerhalb des Subnetzes hat der Ethernet-Frame den MAC des Gateways als Ziel.

(Dies gilt für die Standardkonfiguration. Einige Spezialschneeflockennetzwerke ändern dies - z. B. erlauben die meisten Betriebssysteme das Hinzufügen zusätzlicher "On-Link" -Routen für zusätzliche Subnetze. Umgekehrt können einige Switches so konfiguriert werden, dass ARP-Antworten sogar "On-Link" sind "Der Datenverkehr wird durch das Gateway gezwungen.)

Grawity
quelle
Danke, obwohl mir das verknüpfte Diagramm nicht klar war, ergab Ihre Erklärung einen Sinn und ich lernte etwas Neues.
Sir Adelaide
7
Wenn ein Paket an eine IP-Adresse gesendet wird, die sich nicht im ARP-Cache befindet, wird anhand der Subnetzmaske entschieden, ob: 1. eine ARP-Anfrage für die Ziel-IP-Adresse gesendet und das Ergebnis als Ziel-MAC-Adresse für die verwendet wird Originalverpackung; oder 2. Verwenden Sie die MAC-Adresse des Routers als Ziel-MAC-Adresse für das ursprüngliche Paket.
6
@Orpedo: Switches sprechen keine IP und wissen nichts über die Subnetzstruktur. Sie sind vollständig auf das Ziel-MAC-Feld angewiesen. Daher wird die Subnetzmaske benötigt, um herauszufinden, welche MAC-Adresse (dh welche Empfänger-Hosts) zuerst auf den Ethernet-Frame gesetzt werden sollen.
Grawity
2
@Orpedo-Switches sind "Ethernet-Router". Sie verwenden Ethernet-Adressen (MAC-Adressen), um herauszufinden, wohin Ethernet-Pakete gesendet werden sollen. Im Gegensatz zu IP-Routern, die IP-Adressen verwenden, um herauszufinden, wohin IP-Pakete gesendet werden sollen.
user253751
1
@Orpedo Aus historischen Gründen wird IP in der Regel über Ethernet ausgeführt, sodass die Nutzlast des Ethernet-Pakets ein IP-Paket ist und die Zieladresse des Ethernet-Pakets die Ethernet-Adresse des nächsten IP-Routers ist. Es geht auch weiter nach oben. Wenn Sie Tor über IP ausführen, ist die Nutzlast des IP-Pakets ein Tor-Paket * und die Zieladresse des IP-Pakets des nächsten Tor-Routers. (* Damit die Analogie funktioniert, müssen Sie TCP und Tor zusammen zählen.)
user253751
32

Woher weiß ein Computer, ob sich eine Zieladresse im selben Subnetz in einem anderen befindet?

Überprüfen der lokalen Adresse und der Subnetzmaske .

Schauen wir uns ein paar Beispiele an:

Wenn mein Computer die IP 192.168.0.1und die Maske hat 255.0.0.0, bedeutet dies, dass sich jede Adresse von 192.0.0.0bis 192.255.255.255im selben Subnetz befindet. Die Pakete an alle anderen Computer müssen nicht über den Router gesendet werden, sondern können direkt gesendet werden. Senden Sie ein ARP-Paket, um die MAC-Adresse des Zielcomputers abzurufen, und senden Sie dann das Paket.

Aber wenn mein Computer die IP hat 192.168.0.1und die Maske ist, 255.255.255.128dann sind die Computer im selben Subnetz nur von IP-Adresse 192.168.0.0zu 192.168.0.127. Sie können direkt erreicht werden (ARP senden, MAC - Adresse ermitteln usw.) Jede andere Adresse muss zum Beispiel 192.168.0.200über den Router erreicht werden.

jcbermu
quelle
1
Aber warum muss es wissen, ob es sich im selben Subnetz befindet? Das ist hier die eigentliche Frage.
Grawity
3
Befindet sich das Ziel im selben Subnetz, sendet der Computer das Paket direkt, andernfalls sendet er es an den Router. Das ist alles!!!!
JCBERMU
@jcbermu Aber seine Frage basierte auf der Idee, dass Pakete für die meisten Heimnetzwerke ohnehin ohnehin durch den Router geleitet werden - sowohl, wenn sie nach draußen gesendet werden müssen, als auch, wenn sie zu einem anderen lokalen Subnetz umgeleitet werden müssen Geräte.
Elysium verschlungen 11.
11

Was an IP nicht offensichtlich ist, ist, dass jedes IP-Gerät selbst ein Router ist .

Dies kann auf einem normalen PC mit dem Befehl "Route drucken" angezeigt werden. Sie sind mit zwei Netzwerken verbunden: Ihrem lokalen Ethernet- oder WLAN-Segment und dem lokalen Host-Netzwerk. Für jedes Paket muss eine Entscheidung darüber getroffen werden, in welches Netzwerk es gestellt werden soll.

Dies wird deutlicher, wenn Sie Ihren Computer in zwei Netzwerke einbinden, z. B. ein "öffentliches" und ein "privates". Jetzt benötigen Sie definitiv die Subnetzmaske, um zu entscheiden, über welches Netzwerk das Paket gesendet werden soll.

Viele Leute werden aus Versehen feststellen, dass ein PC mit einer einzigen Netzwerkverbindung möglicherweise mit einer falsch konfigurierten Submaske funktioniert: Sie senden einfach alles an das Gateway.

pjc50
quelle
1
Ich denke, sein Punkt ist, dass es nicht notwendig ist, dass jedes Gerät ein Router ist. Alle Nicht-Router-Geräte können einfach alles an den Router senden, und er leitet es an das Ziel weiter, auch wenn es sich im selben Netzwerk wie der Absender befindet.
Barmar
@Barmar könntest du bitte angeben, auf wen und was du antwortest, sonst macht dein Kommentar keinen Sinn, wenn sie zB ihren Kommentar löschen, was in deinem Fall passiert sein könnte. Was Sie dort geschrieben haben, kann interessant sein, wenn Sie den Kontext sehen und den Kontext-Barmar bereitstellen.
Barlop
1
@Barmar oh, na ja, wenn das ein Punkt oder eine Frage ist, von der Sie denken, dass sie nicht angesprochen wurde - die Antwort ist, dass sie eine Hierarchie hat - Switch, Router, lernt die Last auf dem Router. Der Fragesteller war jedoch durch den falschen Gedanken verwirrt, dass alle Pakete ohnehin an den Router gehen, und das war die Wurzel der Frage.
Barlop
1
Einstellung "iprouting": Sie können die Weiterleitung deaktivieren , benötigen jedoch eine Routing-Tabelle, um zu wissen, welche Schnittstelle für ausgehende Pakete verwendet werden soll, auch wenn die Optionen nur "lo" und "eth0" sind. Erneut "alles an Router senden": Die Vorteile, dies nicht zu tun, sind bei gemeinsam genutzten Layer2-Netzwerken klarer, aber 10base2 wird von niemandem mehr verwendet.
pjc50
1
@Barmar: "Alle Nicht-Router-Geräte können einfach alles an den Router senden, und er leitet es an das Ziel weiter, auch wenn es sich im selben Netzwerk wie der Absender befindet." Nein, falsch. So funktioniert das nicht. In der Theorie könnte es. In der Praxis ist dies nicht der Fall. Router können versuchen, ihre Ressourcen zu optimieren, indem sie einfach den Datenverkehr ignorieren, der in dasselbe Subnetz fließt, aus dem der Datenverkehr stammen kann. Da das eigentlich ist , wie (zumindest etwas) Router arbeiten, müssen andere Geräte komplex genug , um zu wissen , dass wäre eine Verschwendung von Zeit - Verkehr an einen Router zu senden, oder auch die anderen Geräte nicht kommunizieren direkt
TOOGAM
7

Ich sehe dies in einigen der anderen Antworten hier, aber ich denke, es könnte klarer sein: Auf Computern mit mehreren Netzwerkschnittstellen kann die Subnetzmaske verwendet werden, um basierend auf der Ziel-IP-Adresse automatisch zu bestimmen, auf welcher physischen Schnittstelle IP-Verkehr gesendet werden soll .

Wenn Sie ein Paket an ein Gerät in einem LAN senden, das mit einer der Schnittstellen verbunden ist, kann der Computer die Schnittstellen überprüfen, um festzustellen, auf welcher Schnittstelle das Paket gesendet werden soll (wenn Sie keine Route explizit konfiguriert haben) wenn subnet_mask & destination_ip == subnet_mask & interface_ip (damit &meine ich bitweise und damit ==meine ich Gleichheit zu behaupten), und wenn es eine Übereinstimmung gibt, wählen Sie diese Schnittstelle.

So, wenn Sie zB haben:

  • Schnittstelle A mit 192.168.1.42/24
  • Schnittstelle B mit 10.0.0.15/24
  • Schnittstelle C mit 192.168.2.97/24

Wenn Sie ein Paket an 192.168.2.123 senden und keine Route eingerichtet haben, kann festgelegt werden, dass die Schnittstelle C verwendet werden soll, da 255.255.255.0 & 192.168.2.123 == 255.255.255.0 & 192.168.2.97 .

Dies wäre nicht möglich, wenn die Subnetzmaske nicht bekannt wäre und Sie für jede einzelne IP-Adresse, an die Sie Daten gesendet haben, eine Route einrichten müssten.

Jason C
quelle
6

TCP / IP könnte wie von Ihnen vorgeschlagen entworfen worden sein - Blattknoten senden alles an den Router und leiten es an das Ziel weiter, das sich möglicherweise im selben Subnetz wie der Absender befindet.

Dies wäre jedoch aus zwei Gründen kein optimales Design:

  1. Es wird mehr Bandbreite verwendet: Jedes Paket zwischen Geräten im selben Subnetz muss zweimal übertragen werden: einmal vom Absender zum Router und erneut vom Router zum Empfänger. In Netzwerken, in denen der Router auch der Netzwerk-Switch ist, ist dies eigentlich keine zusätzliche Bandbreite, da er den Switch sowieso passieren würde. Aber nicht alle Netzwerktechnologien funktionieren so. Das ursprüngliche Ethernet-Design war eine Bustechnologie ohne zentralen Switch oder Repeater.

  2. Dadurch wird der Router stärker belastet. Auch wenn der Router gleichzeitig der Switch ist, ist dies etwas aufwändiger, da die Implementierung des Layer-3-Routings vorangetrieben wurde und nicht das einfachere Layer-2-Switching.

Eine allgemeine Philosophie, die das Design von TCP / IP verkörpert, ist, dass Endknoten intelligente Geräte sind, sodass davon ausgegangen wird, dass sie einen Teil der Arbeit erledigen können. Sie müssen nicht die gesamte Netzwerktopologie kennen, wie dies bei Backbone-Routern der Fall ist, aber sie wissen genug über die lokale Umgebung, um einen Teil der anfänglichen Routing-Aufgaben zwischen lokalem und Remote-Netzwerk zu übernehmen. Es ist nicht viel Code erforderlich, um dieses einfache anfängliche Routing zu implementieren.

Darüber hinaus befinden sich Nicht-Router-Geräte nicht unbedingt in nur einem Subnetz. Sie können problemlos mehrere Netzwerkkarten in einem PC haben - viele haben sowohl Ethernet als auch WiFi. Jedes dieser Geräte kann mit einem anderen Subnetz verbunden werden. Mithilfe von Adressen und Subnetzmasken wird festgelegt, welche Netzwerkkarte verwendet werden soll. Wenn Sie virtuelle Maschinen ausführen, besteht wahrscheinlich ein virtuelles Subnetz, das sie mit dem Hostsystem verbindet.

Barmar
quelle
Inzwischen glaube ich , ATM - Netze wurden auf diese Weise entwickelt (wahrscheinlich als Folge des Seins leitungsorientierten) - es gab keine Broadcast- und keinen Unterschied zwischen Router und Switches; Baum / Stern-Topologie den ganzen Weg.
Grawity
@grawity Tatsächlich gab es in den 70er und 80er Jahren einen großen Unterschied in der Philosophie zwischen Telekommunikationsunternehmen und Wissenschaftlern bei der Gestaltung ihrer Netzwerke. Telekommunikationsunternehmen waren an intelligente Netzwerke mit dummen Endknoten (z. B. Telefonen) gewöhnt und entwarfen ihre Netzwerke mit Leitungsvermittlung, die vom Kern verwaltet wird.
Barmar
5

Wenn wir uns eine Routing-Tabelle ansehen (das ist zufällig mein Desktop-Computer):

ip route

default via 172.20.25.1 dev eth1 
172.20.25.0/24 dev eth1 proto kernel scope link src 172.20.25.33 
192.168.0.0/24 dev eth0 proto kernel scope link src 192.168.0.1

Route

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         172.20.25.1     0.0.0.0         UG    0      0        0 eth1
172.20.25.0     0.0.0.0         255.255.255.0   U     0      0        0 eth1
192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0

Jede Ansicht vermittelt die gleichen Informationen. Die Subnetzmasken geben an, welche Hosts in diesem Netzwerk direkt erreichbar sind, und andere Hosts werden über ein Gateway gefunden. Insbesondere müssen wir wissen, dass das Gateway erreichbar ist, da wir sonst keine Pakete zur Weiterleitung senden können.

Sie können im Prinzip alles über Ihren Gateway-Host senden. Das würde so aussehen

default via 172.20.25.1 dev eth1 
172.20.25.1 dev eth1 proto kernel scope link src 172.20.25.33 

oder

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         172.20.25.1     0.0.0.0         UG    0      0        0 eth1
172.20.25.1     0.0.0.0         255.255.255.255 U     0      0      

Ich habe das nicht ausprobiert, aber es kann für MAC-Forced Forwarding verwendet werden .

Toby Speight
quelle
Die letztere Methode wird manchmal absichtlich angewendet; siehe MAC Forced Forwarding .
Grawity
2

Okay, ich verstehe, wie Subnetzmasken verwendet werden, um ein Netzwerk in Subnetzwerke zu unterteilen. Meine Frage ist jedoch, warum jeder Computer im Netzwerk die Subnetzmaske und nicht nur den Router kennen muss.

Nun, die Geräte, die als Router bezeichnet werden, sind normalerweise nicht nur Router. Daher verwenden die Leute manchmal Begriffe wie NAPT-Router, Heim-Router oder Consumer-Router, um darauf hinzuweisen, dass es sich nicht nur um einen Router handelt. Um zu verdeutlichen, dass diese Geräte nicht nur Router sind, sondern auch NAPT (was kein Routing ist) und einen eingebauten Switch (ein Switch führt Bridging aus, was kein Routing ist - Unterscheidung zwischen einem Switch und einer Bridge) sind ein bisschen nicht so gut definiert - man könnte sagen, dass eine Bridge oft zwei Ports hat und verschiedene Netzwerkmedien (z. B. Ethernet und Nicht-Ethernet) verbindet, während ein Switch mehrere Ports und dasselbe Netzwerkmedium hat. Ein Schalter überbrückt.

Wenn der Switch vom "Router" getrennt wäre, wäre dies in der Tat klarer. Wenn sich die IP-Adresse im selben Netzwerk befindet, wird das Paket an geleitet Das Kabel führt zum nächsten physischen Switch, der letztendlich für einen anderen Computer im Netzwerk bestimmt ist (es sei denn, es handelt sich um einen verwalteten Switch und Sie haben eine Verbindung zum Switch hergestellt, z. B. telnet oder http, und der Switch hatte eine eigene IP-Adresse ) und da das Paket nicht für ein anderes Netzwerk bestimmt ist, erreicht es den Router nicht. Wenn es für einen Computer in einem anderen Netzwerk bestimmt ist, wird es natürlich weiterhin an den Switch weitergeleitet, danach jedoch an den Router (der Switch hat das Paket an den Router und die Ziel-MAC-Adresse des eingehenden Pakets weitergeleitet) der Switch wäre die MAC-Adresse des Routers gewesen, und die Route würde sie aus der richtigen Schnittstelle des Routers herausleiten.

Bei diesen Dingen, die normalerweise als Router bezeichnet werden und Switches enthalten (z. B. keine professionellen Cisco / Wacholder-Router), befindet sich der Switch im Inneren. Dies ist jedoch nur die Position des Switches Im selben Netzwerk wird dann das Paket an den Switch adressiert und nicht an den Router. Und es geht nur zum Schalter innerhalb des Fräsers und erreicht nicht den Fräser.

Ich könnte es verstehen, wenn jeder Computer physisch über ein Kabel miteinander verbunden wäre,

was meinst du hier .. Wenn alle Computer in einem gesamten Netzwerk physisch mit einem Kabel verbunden wären .. dann bräuchten Sie wohl keinen Switch oder Router. Was Sie beschreiben, klingt ein bisschen wie Original-Ethernet. Und wenn alle mit einem Kabel verbunden wären, wäre es wahrscheinlich kein so großes Netzwerk. Und es wird sowieso kein Draht sein, wie Sie es gewohnt sind. Auf dem Weg dorthin wären Computer mit "Wasserhähnen" verbunden. Ich weiß also nicht, warum Sie diesen Satz gerade reingeworfen haben.

aber alle pakete müssen ohnehin durch den router gehen.

Sie wollen also die Idee von allen Computern beiseite lassen, die mit einem Kabel ohne Router verbunden sind.

Und nein, selbst bei Ihnen zu Hause gehen sie nicht jedes Mal durch den Router. Auch mit Ihrem "Heimrouter", nennen Sie es eine Internetbox. Sie gehen zum Schalter hinein.

Nehmen wir an, ich habe einen Computer in einem Netzwerk 192.168.0.0/255.255.255.0, der die IP 192.168.0.1 hat.

Wenn dieser Computer versucht, einen Computer außerhalb des Subnetzwerks zu erreichen, beispielsweise 192.168.1.1, überträgt er die Nachricht an den Router.

zum switch dann vom switch geht es zum router

Der Router erkennt, dass sich die IP außerhalb des IP-Bereichs des Subnetzwerks befindet, und überträgt sie nicht über das Subnetzwerk, sondern an das Netzwerk, mit dem er verbunden ist (möglicherweise an einen anderen Router).

Nun, der Router erkennt, für welche Netzwerkschnittstelle er bestimmt ist. Es sendet von einer Schnittstelle zu einer anderen Schnittstelle. Eine Unterscheidung - neben welcher Schnittstelle, wäre, ob ein Netzwerk direkt angeschlossen ist oder nicht. Es könnte an einen Switch und dann an einen Computer weitergeleitet werden. Oder es könnte an einen Computer senden. Wenn das Netzwerk nicht direkt verbunden ist, wird es an einen anderen Router weitergeleitet.

und dein letzter satz war

es überträgt die Nachricht an den Router,

Und dann hast du plötzlich beschlossen, nicht mehr zu schreiben?

Der Router erkennt, dass sich die IP außerhalb des IP-Bereichs des Subnetzwerks befindet, und überträgt sie nicht über das Subnetzwerk, sondern an das Netzwerk, mit dem er verbunden ist (möglicherweise an einen anderen Router).

Nun, ich würde es nicht so ausdrücken. Jede Schnittstelle am Router hat einen anderen IP-Bereich.

Bei Ihrem Consumer- oder Home-Router ist dies jedoch wie bei einem Router mit zwei Schnittstellen, an die an Ihrer Seite ein Switch angeschlossen ist. Und die mehreren Ports sind Ports des Switch.

Also, wenn Sie in Bezug auf den Router-Teil denken, ist es nicht so, als ob sich das innerhalb des Subnetzwerks und das außerhalb befindet, denn es gibt möglicherweise viele Netzwerke. Es gibt eine auf jeder Schnittstelle. Und der Router sendet es nicht an dasselbe Netzwerk zurück, von dem es stammt. Der Grund, warum es den Router an erster Stelle erreichte, ist genau, dass der Switch (den es zuerst erreichte) die MAC-Adresse sah und so sah, dass dies nicht die MAC-Adresse des Routers ist.

Der Computer, der das Paket gesendet hat, überprüft, ob sich die Ziel-IP des Pakets in seinem eigenen Netzwerk oder in demselben Netzwerk befindet, und wählt dann basierend darauf die relevante MAC-Adresse aus. Entweder die MAC-Adresse des Computers, für den sie bestimmt ist (wenn sich der Computer im selben Netzwerk befindet). Oder (wenn sich der Computer an einer anderen Schnittstelle des Routers befindet), ist dies die MAC-Adresse des Routers. Ich denke, das könnte den Titel Ihrer Frage ganz direkt beantworten, warum der Computer die Subnetzmaske kennen muss. Im TCP / IP-System wie es ist, wählt der Computer die relevante Schicht 2 aus Adresse zB für Ethernet die MAC-Adresse.

barlop
quelle
1
Eher konsequente Antwort, aber okay. Wenn Sie denken, dass dies mein letzter Satz war, lädt Ihr Browser nicht die gesamte Seite.
Orpedo
@Orpedo ok das habe ich nicht bemerkt. Ich habe diese Zeile entfernt und gefragt, ob Sie aufgehört haben zu schreiben. Ich habe den Rest dieses Absatzes eingefügt und geantwortet. Das war eigentlich ein ganz wichtiger Absatz, denn die Antwort darauf befasst sich mit dem Thema Ihrer Frage.
Barlop
Re: Schalter gegen Brücke. Switch wird in der Regel für transparente Bridges verwendet, dh Bridges mit einer Datenbank (Forwarding Information Base IIRC), die MACs und Ports in Beziehung setzen und die FIB füllen, indem sie die MACs vom Quell-MAC in Ethernet-Frames lernen. Im Gegensatz zu anderen Arten von Bridges, zB Proxy-ARP-Bridges. Eine andere generische Bedeutung von Switch ist ein Gerät auf einer beliebigen Ebene, z. B. ein L7-Switch leitet Verbindungen basierend auf Metadaten auf Anwendungsebene weiter, ein Router könnte auch als L3-Switch bezeichnet werden, ... </ lexicographic rant>
Ninjalj
Re: ein Router nicht etwas , an das gleiche Netzwerk überträgt es herkam: in der Tat kann es, und es wird auch einen ICMP-Redirect zu sagen , die Herkunft übertragen: „Hey, das Ziel in Ihrem Netzwerk ist, können Sie mit ihm kommunizieren direkt“ .
Ninjalj
@ninjalj Ich nehme an, wenn Sie einen Hub mit dem Router verbunden haben, erhält der Router ein Paket, das für das Netzwerk bestimmt ist, von dem er stammt. Aber wenn Sie einen Switch haben (ich nehme an, die Leute haben jetzt nur noch Hubs für Diagnosezwecke) ) .. dann sendet der Switch kein Paket an den Router, wenn das Paket über diesen Switch zu dem Netzwerk zurückkehren soll, von dem es stammt. Und die Boxen, die Router und Switches natürlich per Definition kombinieren, haben einen Switch. Es gibt keine Boxen, die Router und Hub kombinieren.
Barlop
1

Aber warum gibt es dann die Subnetzmaske für den Cuputer / das Gerät, wenn es für nichts benötigt wird? - Orpedo 22. März um 13:45 Uhr

Der Computer / Gerät funktioniert verwenden , um die Subnetz - Maske , um die IP - Broadcast - Adresse zu berechnen.

IP-Schnittstellen, die sich nicht im Promiscuous-Modus befinden, sind so konfiguriert, dass sie sowohl auf die IP-Broadcast-Adresse als auch auf ihre eigene IP-Adresse reagieren.

Joe Inwap
quelle
Bereits eine Antwort markiert, aber dies war eigentlich eine recht kurze und hilfreiche Antwort.
Orpedo
1
Ich glaube, dass das fast völlig falsch ist. Netzwerkschnittstellen kennen sich mit IP nicht aus. Sie reagieren auf MAC-Adressen (und wenden diese automatisch an). Aus diesem Grund haben wir ARP: Wenn ich die IP-Adresse eines Computers in meinem lokalen Netzwerk kenne, kann ich die MAC-Adresse ermitteln und diese zur Kommunikation mit dem Computer verwenden. Nun, es gibt eine Broadcast-MAC-Adresse, die in allen Broadcasts verwendet wird. Die gesendete IP-Adresse existiert nur zur Vereinheitlichung.
G-Man sagt, dass Monica am
-1

Ich habe ein Konto erstellt, um dies zu beantworten, da ich denke, dass andere die Rolle einer Subnetzmaske verkomplizieren.

Die Subnetzmaske bestimmt, mit welchen anderen Computern in einem Netzwerk ein Host kommunizieren soll. Wenn sich ein Host außerhalb meines Subnetzes befindet, versuche ich, über mein Gateway mit diesem Computer zu kommunizieren. Befindet sich dieser Host in meinem Subnetz, spreche ich direkt mit diesem Host (kein Gateway erforderlich). Wenn ein Computer außerhalb des Subnetzes eines Hosts versucht, mit ihm zu kommunizieren, werden diese Pakete auf taube Ohren gestoßen und sofort verworfen.

Warum ist das für dich relevant? Wenn wir keine Netzmasken verwenden würden, müssten Sie (und JEDER andere Host, der mit dem DNS-Server von Google (8.8.8.8) kommuniziert) die physikalische Adresse (MAC-Adresse) kennen. Dies würde dazu führen, dass Ihr Computer und alle anderen Benutzer einen ARP-Eintrag für jeden Internetcomputer erstellen müssen, mit dem Sie sprechen. Dies würde Ihren Arbeitsspeicher verschwenden und das gesamte Netzwerk verlangsamen, da die physische Adresse von Computern viel weiter als erforderlich übergeben wird.

Szeraax
quelle
Ich habe bereits erwähnt, was passieren würde, wenn wir keine Netzwerke und Gateways verwenden, und was passieren würde, wenn wir keine Netzmasken verwenden. Wenn wir keine Gateways und Netzwerke verwenden würden, wäre das Internet ein riesiges flaches Netzwerk. Um mit dem DNS-Server von Google zu kommunizieren, müsste das Paket über das gesamte Internet übertragen werden und geprüft werden, ob Google geantwortet hat. Das Internet würde sofort mit allen brechen, die diese Art von Rundfunkverkehr betreiben.
Szeraax
1
Es gibt zwei Arbeitsmodi ohne Subnetzmasken: Entweder versucht der Host, direkt auf L2 zuzugreifen, oder er verwendet das L3-Gateway für alles. Sie gehen davon aus, dass erstere die einzige Option wäre, aber das stimmt nicht - die ursprüngliche Frage und alle anderen Antworten beziehen sich eher auf den letzteren Modus, der in einigen Netzwerken sogar in der Praxis verwendet wird.
Grawity