Hi!
Es gibt in der Netzwerktechnologie so tolle Dinge wie Sub- und Supernetting. Mit diesen „Techniken“ bzw. Verfahrensweisen wird die Anzahl maximal möglicher Clients (Rechner sind nicht die einzigen Geräte, die IP-Adressen brauchen!) weiter eingegrenzt (subnetting) oder erweitert (supernetting). Die Netzwerke zählen dann immernoch zu der Klasse, der die IP-Adresse zu Grunde liegt.
Hier wird fälschlicherweise angenommen, dass sich die Klasse eines Netzes nur von der Subnet-Mask herleitet, das ist aber blödsinn. Vielmehr ist der verwendete IP-Bereich ausschlaggebend für die Klassifizierung eines Netzwerks. Ebenfalls auf Wikipedia kannst du unter dem Begriff „Netzklassen“ nachschauen, welche Klassen es gibt.
Um nun Netzwerke besser verstehen zu können muss man jedoch die Arbeitsweise etwas näher beleuchten. Denn: Damit sich Clients an einem physikalisch ungetrennten (!) Netzwerk über das TCP/IP-Protokoll „unterhalten“ können, muss der IP-Bereich und die Subnet-Mask stimmen. Hierbei darf man sich die aber sowohl die IP-Adresse, als auch die Subnet-Mask nicht als Zahlen-Adresse vorstellen, sondern die Adresse in Binärzahlen umrechnen. Hier würde also eine IP mit 192.168.0.1 in Binär so aussehen:
11000000.10101000.00000000.00000001
Die Subnet-Mask in Form von 255.255.255.0 sieht so aus:
11111111.11111111.11111111.00000000
Nun wird es etwas kompliziert: Die IP-Adresse wird in einen Netz- und einen Client-Anteil aufgeteilt und genau da kommt die Subnet-Mask ins Spiel. Es wird nämlich jede Position der Binärzahl aus der Subnet-Mask, die eine 1 beinhaltet mit der entsprechend gleichen Position in der IP-Adresse logisch mit UND verknüpft (Sprich: Sind beide Positionen 0 oder 1, ergibt es eine 1, sind beide Positionen unterschiedlich, ergibt es eine 0). Das Ergebnis ist dann folgendes:
11000000.10101000.00000000
Das Ergebnis bildet den Netzwerk-Anteil. Alle Clients mit diesem Netz-Anteil können miteinander kommunizieren.
Die übrigen Stellen der Subnet-Mask (alle Nullen) stellen den Client-Anteil dar und begrenzen die maximal mögliche Zahl der Clients in dem Netzwerk. Da sich in diesem Beispiel 8 Bits für die Rechneradressierung zur Verfügung stehen und jede Position nur 2 Zustände annehmen kann (0 oder 1) ergeben sich 256 verschiedene Kombinationsmöglichkeiten. Allerdins ist hierbei zu beachten, dass der kleinste und größte Wert als Netz- und Broadcastadresse reserviert sind und nicht benutzt werden können. Ergo bleiben bei einem 192.168.0.x/24er Netz maximal 254 mögliche Clients übrig. Die /24 gibt im Übrigen die Anzahl Bits an, die für den Netzwerk-Anteil genutzt werden.
Rein Theoretisch kann man an beliebigen Stellen in der Subnet-Mask Nullen eintragen, um die maximale Zahl der Clients zu erhöhen, der Einfachheit halter geht man aber „von rechts nach links“ (bim supernetting) bzw. „von links nach rechts“ (beim subnetting), sodass die Subnet-Mask „links“ alle Bits für den Netzwerk-Anteil und „rechts“ alle Bits für den Client-Anteil besitzt. Es ist also möglich auch ein Class-C-Netz mit nur einem Bit für den Netzwerk-Anteil zu erstellen (Subnet-Mask: 128.0.0.0). Es handelt sich immernoch um ein Class-C-Netz, wenn die IP-Adresse mit 110… (in Binärschreibweise) beginnt (siehe Wikipedia Thema Netzklassen).
Nun solltest du in etwa wissen, wie es sich bei Netzwerken mit TCP/IPv4 mit dem Verhältnis zwischen IP-Adresse und Subnet-Mask verhält. Komme ich nun also zu deiner Aufgabenstellung:
Ich finde, dass die Frage unglücklich gestellt ist. Denn nach obigem Beispiel ist es mit einem Class-C-Netz sehr wohl möglich. Ich denke aber, dass dein Lehrer wohl eher wissen will, ob es mit der Subnet-Mask 255.255.255.0 möglich ist. Grundsätzlich gibt es jedoch 2 praktikable und auch praxisnahe Lösungen, die beide ihre Vor- und Nachteile haben.
A) Man erweitert ein übliches Class-C-Netz mittels supernetting, um weitere Clients im selben Netz beherbergen zu können oder
B) man verbindet zwei Class-C-Netze mittels Router.
Vorteil von A) ist ganz klar: Es wird keine weitere Hardware benötigt.
Nachteil von A) hingegen ist der Aufwand: Es muss jeder Client neu konfiguriert werden. Das ist noch verhältnismäßig einfach, wenn ein DHCP-Server zur Verteilung der IP-Adressen genutzt wird, wenn jedoch nicht ist es bei 304 Clients schon nicht mehr ganz so einfach.
Vorteil von B) ist die recht einfache Einbindung neuer Strukturen, sofern bereits vorgesorgt wurde. Wenn jedoch bei jedem Client der Gateway manuell konfiguriert werden muss, ist der Aufwand doch schon wieder größer.
Nachteil von B) ist die eventuelle Anschaffung neuer Hardware, die im Spitzensegment durchaus mehrere tausend Euro kosten kann.
Zur Umsetzung von A):
Um 304 Clients in einem (!) Netz ansprechen zu können, muss der Clientanteil von 8 Bits (256 Kombinationsmöglichkeiten) auf 9 Bits (512 Kombinationsmöglichkeiten) erweitert werden. Die Punkte-Trennung ist hierbei nicht entscheidend, die wurde nnur zur einfacheren Adressierung für uns dumme Menschen eingeführt (ebenso wie die Dezimalschreibweise), weil wir mit Binärzahlen selten was anfangen können. Es ergibt sich also folgende Subnet-Mask:
11111111.11111111.11111110.00000000 => 255.255.254.0
Wer nun aufgepasst hat, weiß nun, dass hiermit im 192.168.x.xer-Netzwerk also zwischen IP-Adressen von z.B. 192.168.0.1-192.168.1.254 kommuniziert werden kann.
Zur Umsetzung von B):
Hierbei bleiben die Subnet-Masks unberührt und es werden für deinen Anwendungsfall 2 Class-C-Netze genutzt. z.B. 192.168.0.x und 192.168.1.x. Hierbei müsste ein Router zwischengeschaltet werden, der die beiden logisch getrennten Netzwerke miteinander verbindet. Hierbei wird eine Route im Router vom einen ins andere Netz und zurück eingetragen und zusätzlich wird die IP-Adresse des Routers aus dem entsprechenden Netzwerk als Gateway am Client eingetragen. Alle Datenpakete, die aufgrund der IP-Adresse nicht zum selben Netzwerk gehören (siehe oben: UND-Verknüpfung der Subnet-Mask mit der IP-Adress; In diesem Fall wären die Netz-Anteile vom Client und der Ziel-Adresse unterschiedlich) dem Gateway übergeben. Dieser prüft anhand seiner Routen, ob aus dem Netzwerk, aus dem das Datenpaket kommt, eine Route in das Netzwerk, wo das Paket hin soll eine Route besteht oder nicht. Ist das nicht der Fall, kann die Verbindung nicht hergestellt werden, andernfalls läuft die Verbindung zwischen den beiden Clients über den Router. Hierdurch kann es natürlich zu Engpässen kommen, da mehrere Verbindungen über einen Flaschenhals geleitet werden, statt direkt zugestellt werden zu können.
Funktionieren tun beide Lösungsansätze. Letztendlich ist es eine Entscheidung, die vom Umfeld abhängt und natürlich von den finanziellen Mitteln.
Wenn ich die Frage nochmal lese und daran denke, dass es eine Klausur in der Schule sein soll, würde ich eher dazu tendieren, dass der Lehrer Lösung A) haben will. Wenn ich aber deine Kommentare in den anderen Posts anschaue, scheint er doch eher Lösung B) haben zu wollen. In diesem Punkt kann ich dir also leider nicht weiterhelfen, aber ich sehe es einfach mal so: Beide Lösungen funktionieren in der Praxis und deshalb darf dein Lehrer dir eigentlich keine Punkte abziehen bzw. nicht geben, wenn du einen Lösungsansatz lieferst, den er vielleicht nicht erwartet hat.
Im Übrigen gibt es einen kleinen Unterschied (neben dem Flaschenhals beim Router) zwischen den Lösungen: Bei A) sind insgesamt 510 Clients möglich und bei B) nur 506. Ist zwar nicht ausschlaggebend für die Aufgabenstellung, aber nur mal „nice to know“: Es fallen in Lösung A) 2 Adressen weg (192.168.0.0 und 192.168.1.255) und bei Lösung B) fallen 6 Adressen weg (192.168.0.0, .255, 192.168.1.0, .255 und je eine Adresse aus dem 192.168.0.x- und dem 192.168.1.x-Netz als Adresse für den Router! Nicht vergessen!).
Ich hoffe, dass ich dir die spannende Welt der Netzwerke im IPv4-Bereich etwas näher bringen konnte.