Andreas: Netzwerk - TCP/IP

Hallo!

Leider ist der Thread schon im Archiv verschwunden, ohne das ich antworten konnte: http://forum.de.selfhtml.org/archiv/2002/8/21875/

Irgendwie blicke ich da noch nicht so ganz durch:

Die folgende Nachricht zum Thema stammt von: Sven Rautenberg, E-Mail svenr@rtbg.de, 29. August 2002, 10:35 Uhr

http://www.rtbg.de

Die Klassen-Bezeichnung hängt tatsächlich nur von den ersten Bits der IP-Adresse ab. Und daraus resultiert dann zwingend eine Subnetz-Maske: Klasse A: 255.0.0.0, Klasse B: 255.255.0.0, Klasse C: 255.255.255.0.

Also ich weiß das die Klassen imnzwischen nicht mehr gibt, aber den Zusammenhang zwischen der Klasseneinteilung und den ersten Bits sehe ich leider nicht. Die ersten Bits beziehen sich doch nur auf die erste Dezimal-Zahl der IP. Was hat jetzt die erste Zahl mit der Subnetzmaske zu tun? Wie ich das verstehe Kann man die Subnetzmaske frei wählen um einen netzbereich einzuschränken, zumindest wie das mit der letzten Dezimal-Zahl der Subnetzmaske funktioniert habe ich verstanden.

Mit anderen Worten: Du kannst heute nicht nur ganze Klassen-Netzwerke erhalten, sondern auch kleinere Teilbereiche - bzw. eigentlich kriegst du sowieso nur noch kleine Teilbereiche, sofern du den Bedarf dafür nachweist.

Hm, aber wofür braucht man im öffentlichen Netz überhaupt subnetzmasken, wenn gerade dort doch sowieso jede IP absolut eindeutig sein muß? Und eine etwas andere Frage dazu:
Wie das in kleinen Ethernet-Netzwerken mit dem zustellen der Pakete funktioniert habe ich verstanden, aber wie funktioniert das im öffentlichen Netz? Angenommen ich habe eine ISDN-Standleitung und eine feste IP von der Telekom erhalten. Die ISDN Karte kann ja nur über PPP angesprochen werden. Wie funktioniert das, wenn ich irgendwo im Browser jetzt meine feste IP angebe, das ich auf den Apache meines Rechners geleitet werde? OK, vom Browser geht ein Request Raus, an den Provider, durch irgendwelche Gateways die die Angefragte Adresse immer weiterleiten, vermutlich als erstes die erste Zahl, dann innerhalb dieses Netzes die 2. Zahl... und dann? Wie kommt dann das Paket über die Telefonleitung auf meien ISDN-Karte? Router... speichern ja nur IPs und keine Telefonnuummern! Wie funktioniert das?

Typische IP-Adressmengen sind 1, 4, 8, 16..., wobei das _alle_ IP-Adressen umfasst, und außer bei 1 immer zwei Adressen für Netzwerkadresse und Broadcastadresse abzuziehen - deshalb kann man auch nicht 2 IP-Adressen (Netzmaske 31 Bit) erhalten, weil man dann keine nutzbaren Adressen hätte.

Aha! Also entweder eine feste IP, oder direkt ein mehr oder weniger großes Netzwerk. DAs wird dann über die NetzwerkAdresse angesprochen(niedrigste IP), richtig? Aber wofür dann die andern IPs? Ich würde das doch ehe anders machen, eine feste IP und intern ein 192.168er privates Netzwerk und das ganze halt weiterleiten. Was habe ich im öffentlichen Adressraum von Netzwerk und Broadcast Adresse?

Das ganze sagt uns, dass 10.10.10.10 Klasse A sind.

schlechtes Beispiel, denn 10.x.x.x ist reserviert für private Netze, aber auch die können ja Klasse A sein ;-)

Das 10er-Netz ist Klasse A. Nur da die Klassen bedeutungslos sind (IMO waren sie mal fürs Routing interessant - das ist lange vorbei), ist es heutzutage egal, welche IP-Adresse man für private Netzwerke nimmt. Es ist unwahrscheinlich, dass in einem einzigen Netzwerk-Segment 16 Millionen Hosts angeschlossen sind (das Netzwerk würde sicherlich zusammenbrechen). Eher wahrscheinlich ist, dass kleinere Mengen an Rechnern an einem Netzwerksegment hängen und mit den anderen Rechnern durch Router verbunden sind - und dann ist die Wahl der IP-Netzadresse auch relativ egal. Die privaten Klasse-C-Netzwerke 192.168.x.y/24 lassen sich auch als Klasse-B-Netzwerk benutzen (192.168.x.y/16). Wenn das nicht reicht, kann man immer noch auf die offiziellen 16 Klasse-B-Netzwerke zurückgreifen, und dann natürlich noch auf die 256 Klasse-B-Netzwerke im 10er-Klasse-A-Netzwerk.
Also ist die Klasseneinteilung durch bits doch nicht (mehr) richtig sondern doch nur durch die Subnsetzmaske bestimmt, oder? /16 heißt doch Subnetzmaske 255.255.0.0, oder?

Die folgende Nachricht zum Thema stammt von: tOM, E-Mail teka82@gmx.net, 29. August 2002, 10:30 Uhr

Das steht auch unter Deinem Link und wird wohl stimmen, aber dann muß ich sagen das in sehr vielen Anleitungen im Internet Quatsch steht. Ein Beispiel: http://forum.de.selfhtml.org/archiv/2002/8/21565/

? "(PHP) Komisch Variable wird geänder aber nicht angezeigt !"

ups, falscher Link, find en richigen auch gerade nicht, aber so richtig war der eh nicht ;-)

Viele Grüße
Andreas

  1. Hallo!

    Hi

    Also ich weiß das die Klassen imnzwischen nicht mehr gibt, aber den Zusammenhang zwischen der Klasseneinteilung und den ersten Bits sehe ich leider nicht. Die ersten Bits beziehen sich doch nur auf die erste Dezimal-Zahl der IP. Was hat jetzt die erste Zahl mit der Subnetzmaske zu tun? Wie ich das verstehe Kann man die Subnetzmaske frei wählen um einen netzbereich einzuschränken, zumindest wie das mit der letzten Dezimal-Zahl der Subnetzmaske funktioniert habe ich verstanden.

    Das wusste ich mal alles - alles verflogen *g.

    Mit anderen Worten: Du kannst heute nicht nur ganze Klassen-Netzwerke erhalten, sondern auch kleinere Teilbereiche - bzw. eigentlich kriegst du sowieso nur noch kleine Teilbereiche, sofern du den Bedarf dafür nachweist.
    Hm, aber wofür braucht man im öffentlichen Netz überhaupt subnetzmasken, wenn gerade dort doch sowieso jede IP absolut eindeutig sein muß? Und eine etwas andere Frage dazu:

    Ganz einfach. Der Sinn ist z.B. Provider XYZ die Ip-Adressen 217.80.86.0 bis 217.80.86.128 zuordnen zu können.

    Sonst ging das nicht.
    Das is dann ein kleines eigenes Netzwerk mit einer eignene Netz-IP

    Wie das in kleinen Ethernet-Netzwerken mit dem zustellen der Pakete funktioniert habe ich verstanden, aber wie funktioniert das im öffentlichen Netz? Angenommen ich habe eine ISDN-Standleitung und eine feste IP von der Telekom erhalten. Die ISDN Karte kann ja nur über PPP angesprochen werden. Wie funktioniert das, wenn ich irgendwo im Browser jetzt meine feste IP angebe, das ich auf den Apache meines Rechners geleitet werde? OK, vom Browser geht ein Request Raus, an den Provider, durch irgendwelche Gateways die die Angefragte Adresse immer weiterleiten, vermutlich als erstes die erste Zahl, dann innerhalb dieses Netzes die 2. Zahl... und dann? Wie kommt dann das Paket über die Telefonleitung auf meien ISDN-Karte? Router... speichern ja nur IPs und keine Telefonnuummern! Wie funktioniert das?

    Du fragst Sachen *g - keine Ahnung :P

    Typische IP-Adressmengen sind 1, 4, 8, 16..., wobei das _alle_ IP-Adressen umfasst, und außer bei 1 immer zwei Adressen für Netzwerkadresse und Broadcastadresse abzuziehen - deshalb kann man auch nicht 2 IP-Adressen (Netzmaske 31 Bit) erhalten, weil man dann keine nutzbaren Adressen hätte.
    Aha! Also entweder eine feste IP, oder direkt ein mehr oder weniger großes Netzwerk. DAs wird dann über die NetzwerkAdresse angesprochen(niedrigste IP), richtig? Aber wofür dann die andern IPs? Ich würde das doch ehe anders machen, eine feste IP und intern ein 192.168er privates Netzwerk und das ganze halt weiterleiten. Was habe ich im öffentlichen Adressraum von Netzwerk und Broadcast Adresse?

    Nichts. Aber das ist halt Ehternet - ohne geht das nicht. Und wie oben erwähnt braucht man die kleinen Netze.

    Das ganze sagt uns, dass 10.10.10.10 Klasse A sind.

    schlechtes Beispiel, denn 10.x.x.x ist reserviert für private Netze, aber auch die können ja Klasse A sein ;-)

    Das 10er-Netz ist Klasse A. Nur da die Klassen bedeutungslos sind (IMO waren sie mal fürs Routing interessant - das ist lange vorbei), ist es heutzutage egal, welche IP-Adresse man für private Netzwerke nimmt. Es ist unwahrscheinlich, dass in einem einzigen Netzwerk-Segment 16 Millionen Hosts angeschlossen sind (das Netzwerk würde sicherlich zusammenbrechen). Eher wahrscheinlich ist, dass kleinere Mengen an Rechnern an einem Netzwerksegment hängen und mit den anderen Rechnern durch Router verbunden sind - und dann ist die Wahl der IP-Netzadresse auch relativ egal. Die privaten Klasse-C-Netzwerke 192.168.x.y/24 lassen sich auch als Klasse-B-Netzwerk benutzen (192.168.x.y/16). Wenn das nicht reicht, kann man immer noch auf die offiziellen 16 Klasse-B-Netzwerke zurückgreifen, und dann natürlich noch auf die 256 Klasse-B-Netzwerke im 10er-Klasse-A-Netzwerk.
    Also ist die Klasseneinteilung durch bits doch nicht (mehr) richtig sondern doch nur durch die Subnsetzmaske bestimmt, oder? /16 heißt doch Subnetzmaske 255.255.0.0, oder?

    Weiß ich jetzt net und will auch net nachdenken, aber die bits bestimmten die subnetmaske, ja

    tOM

    P.S.: OK, hab fast nicht helfen können, aber 2 Fragen konnte ich glaub ich immerhin beantworten ;)

  2. Hallo Andreas,

    Hallo!

    Leider ist der Thread schon im Archiv verschwunden, ohne das ich antworten konnte: http://forum.de.selfhtml.org/archiv/2002/8/21875/

    Irgendwie blicke ich da noch nicht so ganz durch:

    Die folgende Nachricht zum Thema stammt von: Sven Rautenberg, E-Mail svenr@rtbg.de, 29. August 2002, 10:35 Uhr
    http://www.rtbg.de

    Die Klassen-Bezeichnung hängt tatsächlich nur von den ersten Bits der IP-Adresse ab. Und daraus resultiert dann zwingend eine Subnetz-Maske: Klasse A: 255.0.0.0, Klasse B: 255.255.0.0, Klasse C: 255.255.255.0.

    Man nennt das die "Regel des ersten Quartetts". Für den Computer (die Netzwerkkomponenten) gibt es keine Dezimalschreibweise in vier Oktetten, sondern nur eine 32 Bit lange Dualzahl. Was ihre Bits nun bedeuten, ist eben implizit durch die ersten vier Bits signiert. Das Register mit der IP-Adresse wird dadurch quasi "dynamisch" in zwei Teile geteilt: Netzwerkanteil und Hostanteil. Du kannst sie als zwei getrennte Variablen ansehen.

    Solange man sich strikt an die 5 Klassen A B C (D E) gehalten hat, war keinerlei Netzwerkmaske notwendig. Durch Einführung der Netzwerkmaske sind nun aber auch Hostanteile möglich, die kein Vielfaches von 8 (24, 16, 8 Bit) und entsprechende Netzwerkanteile  (8, 16, 24 Bit). Das macht aber die Klasseneinteilung keinesfalls obsolet. Sie gilt weiterhin an allen Stellen, an denen keine Netzwerkmaske zur Verfügung steht für ein "ungefähres" Routing, sozusagen für die Hauptstraßen. Es besteht quasi immer ein Gateway in das nächst größere Netz, das dann wissen muss, wohin das Packet gehört. Vill ein C-Netz sein Schwesternetz erreichen, dann ist das nur über das nächst größere Netz möglich.

    Ursprünglich waren die Netze topografisch verteilt. Durch Satelitenverbindungen, Glasfaserbackbones und Tunneling kann man heute aber nur noch auf eine topologische Zuordnung rückschließen. Es ist also möglich, dass ein Teil eines Netzes in USA genutzt wird und ein anderer Teil in New Germany. Beide Teile sind aber gewiss einem Betreiber zugewiesen.

    Bei der Subnetzmaske handelt es sich, wie der Name schon sagt, um eine Maske, die schön sauber von links nach rechts mit Bits aufgefüllt werden muss. Es darf kein Bit innerhalb der Maske auf Null stehen. Stell sie Die sicherheitshalber wie einen Schieber vor. Der darf auch nicht mittendrin unterbrochen sein.

    Mit anderen Worten: Du kannst heute nicht nur ganze Klassen-Netzwerke erhalten, sondern auch kleinere Teilbereiche - bzw. eigentlich kriegst du sowieso nur noch kleine Teilbereiche, sofern du den Bedarf dafür nachweist.

    Hm, aber wofür braucht man im öffentlichen Netz überhaupt subnetzmasken, wenn gerade dort doch sowieso jede IP absolut eindeutig sein muß? Und eine etwas andere Frage dazu:

    Man braucht die Klassen, um das hierarchische System zu codieren. Wie sollte der Router sonst wissen, welches das nächst höherwertige Netz ist. Stell Dir das wie einen Baum vor.

    Wie das in kleinen Ethernet-Netzwerken mit dem zustellen der Pakete funktioniert habe ich verstanden, aber wie funktioniert das im öffentlichen Netz? Angenommen ich habe eine ISDN-Standleitung und eine feste IP von der Telekom erhalten. Die ISDN Karte kann ja nur über PPP angesprochen werden. Wie funktioniert das, wenn ich irgendwo im Browser jetzt meine feste IP angebe, das ich auf den Apache meines Rechners geleitet werde? OK, vom Browser geht ein Request Raus, an den Provider, durch irgendwelche Gateways die die Angefragte Adresse immer weiterleiten, vermutlich als erstes die erste Zahl, dann innerhalb dieses Netzes die 2. Zahl... und dann?

    Als erstes wird der Router prüfen, ob die IP zum selben Netzsegment (Netzwerkanteil der Empfänger-IP ist identisch mit dem der Absender-IP) gehört. Wenn ja, wird er das Packet gar nicht weiterverarbeiten. Wenn nicht, dann prüft er vielleicht, über welche Leitung (wenn es ein Multiport-Router ist) er das Packet nun schicken muss. Wenn er es nicht weiß, wird er einen Broadcast an alle übergeordneten Netze absetzen (ICMP) und fragen, ob jemand den Weg kennt. Es macht für den Router keinen Sinn, die kleineren Netze zu befragen.

    Wie kommt dann das Paket über die Telefonleitung auf meien ISDN-Karte? Router... speichern ja nur IPs und keine Telefonnuummern! Wie funktioniert das?

    Der PPP-Router ist mit Deinem ISDN-Port ja Mitglied in einem Netz. Wenn die Antwort im Netz angekommen ist, weiß der Router, an welchen Port er gerade welche IP vergeben hat und stellt das Packet zu.

    Ich empfehle DIr das Buch "TCP/IP Routing" von Cisco. Das ist ein sehr gutes auf deutsch übersetztes Lehrbuch. Ich habe etwas ein halbes Jahr benötigt, es zu lesen und wenn ich es demnächst nochmal lese, werde ich es vielleicht auch verstehen :-))

    Es liest sich leicht, so dass man denkt, es ist alles klar. Alle paar Seiten gibt es aber Kontrollfragen. Ich garantiere Dir, danach fängst Du von vorne an zu lesen.

    Viel Spaß dabei

    Tom

    1. Moin,

      Man nennt das die "Regel des ersten Quartetts". Für den Computer (die Netzwerkkomponenten) gibt es keine Dezimalschreibweise in vier Oktetten, sondern nur eine 32 Bit lange Dualzahl. Was ihre Bits nun bedeuten, ist eben implizit durch die ersten vier Bits signiert.

      Das ist etwas zu vereinfacht. Eigentlich war der Teil der die Klasse angegeben hat, nämlich unterschiedlich lang:
      Höherwertigste Bits    Klasse
       0                        A
       10                       B
       110                      C
       1110                     D (multicast)
       1111                     E (experimentell)

      Bei der Subnetzmaske handelt es sich, wie der Name schon sagt, um eine Maske, die schön sauber von links nach rechts mit Bits aufgefüllt werden muss. Es darf kein Bit innerhalb der Maske auf Null stehen. Stell sie Die sicherheitshalber wie einen Schieber vor. Der darf auch nicht mittendrin unterbrochen sein.

      Interessant, hast du vielleicht einen Literatur-Verweis dazu? Mir war das so bisher nicht bekannt. Lediglich dass diese Einschränkung durch die Verwendung von CIDR-Masken (also bloss die Angabe der Anzahl von 1-Bits) kommt, ist mir klar. Ich würde aber meinen, dass du durchaus beliebige Masken verwenden kannst, solange du alle beteiligten Systeme unter Angabe der vollständigen Maske darüber informierst. (Und gegebenenfalls kaputte Software raushältst, die nicht glauben will, dass *.255 oder *.0 durchaus eine gültige Addresse sein kann.)

      Man braucht die Klassen, um das hierarchische System zu codieren. Wie sollte der Router sonst wissen, welches das nächst höherwertige Netz ist. Stell Dir das wie einen Baum vor.

      Wieso sollte er das wissen wollen? Jedes System (oder kleinerer Router) muss nur wissen welches seine Default-Route ist, und die kann durchaus beliebig sein (solange er sie erreichen kann). Dann braucht er noch eine Route für jedes angeschlossene Netz und alles wird gut. Backbone-Router haben dann natürlich noch eine umfangreichere Routingtabelle, aber damit wird man bestenfalls als Mitarbeiter eines ISP in Berührung kommen.

      Als erstes wird der Router prüfen, ob die IP zum selben Netzsegment (Netzwerkanteil der Empfänger-IP ist identisch mit dem der Absender-IP) gehört. Wenn ja, wird er das Packet gar nicht weiterverarbeiten. Wenn nicht, dann prüft er vielleicht, über welche Leitung (wenn es ein Multiport-Router ist) er das Packet nun schicken muss. Wenn er es nicht weiß, wird er einen Broadcast an alle übergeordneten Netze absetzen (ICMP) und fragen, ob jemand den Weg kennt. Es macht für den Router keinen Sinn, die kleineren Netze zu befragen.

      Das ist für mich verwirrend beschrieben. Der Router nimmt doch einfach bloss das Paket an, schaut dann in seine Routingtabelle, um zu sehen ob eine Route darauf passt und schickt das Paket gegebenenfalls über diese Route weiter. Wenn keine Route passt, schickt er es über seine Default-Route raus (in der Regel ein Router beim ISP), dort wird man schon wissen, wie mit dem Paket weiter zu verfahren ist.

      Grade wird mir auch klar, was du mit dem Baum gemeint hast: Kleinere Netze (weniger 0-Bits in der Netzmaske) werden in der Regel als Teile von größeren Netzen verwaltet. Im globalen Routing muss dann nur eine Route auf das größere Netz bekannt gemacht werden, der Router dort kennt sein Netz genauer, hat selber Routingtabelleneinträge auf die kleineren Netze und kann damit das Paket richtig weiterleiten. Das funktioniert also ähnlich wie DNS: Ich kenne jemanden, der jemanden kennt, der jemanden kennt, der weiss wohin das Paket soll.

      --
      Henryk Plötz
      Grüße aus Berlin

  3. Hallo,

    Also ich weiß das die Klassen imnzwischen nicht mehr gibt, aber den Zusammenhang zwischen der Klasseneinteilung und den ersten Bits sehe ich leider nicht.

    Folgede Aufteil sind für id Netzwerkklassen vorgesehen worden:

    Klasse A: 0 - 127   ( 1. Bit ist 0)
    Klasse B: 128 - 191 ( 1.Bit ist 1 und 2. Bit ist 0)
    Klasse C: >192       (die beiden ersten Bits sind 1)

    Die ersten Bits beziehen sich doch nur auf die erste Dezimal-Zahl der IP.

    Ja.

    Was hat jetzt die erste Zahl mit der Subnetzmaske zu tun? Wie ich das verstehe Kann man die Subnetzmaske frei wählen um einen netzbereich einzuschränken, zumindest wie das mit der letzten Dezimal-Zahl der Subnetzmaske funktioniert habe ich verstanden.

    Nur wenn, man keine Klassen mehr verwendet.

    Hm, aber wofür braucht man im öffentlichen Netz überhaupt subnetzmasken, wenn gerade dort doch sowieso jede IP absolut eindeutig sein muß?

    Um das Routing überhaupt erst möglich zu machen.
    Die Subnetmasken bestimmen, welche IP-Adressen im gleichen Netzwerk sind. Grundsätzlich können ja nur Rechner mit gleichem Netzwerkadresse (die eben mithilfe der Subnetmask definiert wird) miteinander kommunizieren. Willst Du zwei Netzwerke miteinander verbidnen (durhc Routing) muß einer der Rechner Mitglied beider Netzwerke sein. Dieser Rechner kann dann as Router fungieren.

    ie kommt dann das Paket über die Telefonleitung auf meien ISDN-Karte? Router... speichern ja nur IPs und keine Telefonnuummern! Wie funktioniert das?

    Der grundlegende Verbindungsaufbau (inkl. Wahlvorgang) wird nicht vom IP-Protokoll, sondern z.B. von PPP oder SLIP erledigt. Erst wenn diese Verbindung steht, kann das IP-Protokoll aktiviert werden. Diesem ist es dann egal, welche Verbidnungstechnik zugrunde liegt. Es arbeitet vollkommen transparent, will heißen, für das IP-Protokoll und die darauf aufbauenden Protokolle wie TCP,UDP usw. funktioniert alles wie bei Coax, LWL oder Twisted-Pair.

    Das 10er-Netz ist Klasse A. Nur da die Klassen bedeutungslos sind (IMO waren sie mal fürs Routing interessant - das ist lange vorbei), ist es heutzutage egal, welche IP-Adresse man für private Netzwerke nimmt.

    Das ist überhaupt nicht egal. Die sogenannten privaten Netzwerkadressen (10.0.0.0,172.16.0.0 - 172.31.0.0, 192.168.0.0 -192.168.254.0) werden von den öffentlcihen Routern nicht weitergeleitet und es gibt im öffentlichen Netz keine Rechner mit IP-Adressen aus diesem Bereich.

    Würdest Du lokal ein Netzwerk verwenden, daß es im öffentlichen Netz auch gibt bzw. geben kann, dnan würde es Dir unmöglch sein auf die öffentichen rehcner zuzugreifen, da diese Adressen immer nur lokal gesucht werden.

    Grüße
      Klaus

  4. Moin!

    Irgendwie blicke ich da noch nicht so ganz durch:

    Das können wir ändern.

    Die Klassen-Bezeichnung hängt tatsächlich nur von den ersten Bits der IP-Adresse ab. Und daraus resultiert dann zwingend eine Subnetz-Maske: Klasse A: 255.0.0.0, Klasse B: 255.255.0.0, Klasse C: 255.255.255.0.
    Also ich weiß das die Klassen imnzwischen nicht mehr gibt, aber den Zusammenhang zwischen der Klasseneinteilung und den ersten Bits sehe ich leider nicht. Die ersten Bits beziehen sich doch nur auf die erste Dezimal-Zahl der IP. Was hat jetzt die erste Zahl mit der Subnetzmaske zu tun? Wie ich das verstehe Kann man die Subnetzmaske frei wählen um einen netzbereich einzuschränken, zumindest wie das mit der letzten Dezimal-Zahl der Subnetzmaske funktioniert habe ich verstanden.

    Wie anderswo schon erwähnt: Anhand der ersten Bits in der IP-Adresse kann man die ehemalige Klasse feststellen. Ich weiß nicht, ob man das derzeit in Routern noch verwendet - vermutlich eher nicht. Die Klasse-A-Netzwerke sind alle aufgesplittet und in kleineren Einheiten an unterschiedliche Nutzer vergeben worden, die sie ihrerseits wieder aufge- und verteilt haben...

    Die Subnetzmaske hat mit der Klasse erstmal gar nichts zu tun. In früheren Zeite ergab sich aus der Klasse automatisch die Subnetzmaske (siehe oben). Man gibt anstatt der langen Subnetzmaske auch gerne die Anzahl der 1-Bits in der Maske als Dezimalzahl an. Ein Klasse-C-Netz mit der Maske 255.255.255.0 hat 24 1-Bits - also wäre 192.168.0.0/24 eine kurze IP/Netmask-Kombination. Netzmasken haben vorne in der Binärzahl nur 1-Bits, und hinten nur 0-Bits, deshalb ist die Angabe der Zahl der 1-Bits eindeutig - der Rest bis 32 Bit wird mit 0 aufgefüllt.

    Mit anderen Worten: Du kannst heute nicht nur ganze Klassen-Netzwerke erhalten, sondern auch kleinere Teilbereiche - bzw. eigentlich kriegst du sowieso nur noch kleine Teilbereiche, sofern du den Bedarf dafür nachweist.

    Hm, aber wofür braucht man im öffentlichen Netz überhaupt subnetzmasken, wenn gerade dort doch sowieso jede IP absolut eindeutig sein muß?

    Die Subnetzmaske ist wichtig fürs Routing.

    Der sendende Rechner kennt seine eigene IP-Adresse und die des Rechners, an den er senden will. Damit er feststellen kann, ob der andere Rechner direkt über das Netzwerk erreichbar ist, geht er folgendermaßen vor:

    Aus seiner eigenen IP und Netzmaske ermittelt der Rechner die Netzwerk-Adresse. Das geschieht durch logisches bitweises AND:

    192.168.000.023 -> Sender-IP -> 11000000.10101000.00000000.00010111
    255.255.255.000 -> Netzmaske -> 11111111.11111111.11111111.00000000
                   AND-verknüpft -> 11000000.10101000.00000000.00000000
    192.168.000.000 <- dezimal   <-

    Dasselbe macht er mit der IP des Empfängers:
    192.168.001.016 -> Sender-IP -> 11000000.10101000.00000001.00010000
    255.255.255.000 -> Netzmaske -> 11111111.11111111.11111111.00000000
                   AND-verknüpft -> 11000000.10101000.00000001.00000000
    192.168.001.000 <- dezimal   <-

    Sind nach dieser Operation die ermittelten Netzwerkadressen gleich, dann sind sendender und empfangender Rechner am gleichen Netzwerk angeschlossen, und der Sender kann direkt mit dem Empfänger Konkakt aufnehmen.

    Andernfalls hat der Sender einen Router konfiguriert bekommen. Kann er dem Empfänger nicht direkt erreichen, schickt er das Paket stattdessen an diesen Router, um ihm die weitere Übermittlung des Datenpakets zu überlassen.

    Auf diese Weise funktioniert das Routing im Internet: Wenn ein Rechner selbst nicht weiß, wie er den Empfänger direkt erreichen kann, dann schickt er die Daten einem übergeordneten Router, der dann hoffentlich weiß, wohin er die Daten schicken muss. Eventuell weiß er es auch noch nicht, dann schickt er es seinem übergeordneten Router, und so weiter. Diese "Router für den Notfall" nennt man "Default-Gateway". Und bei näherer Betrachtung kann man das Spielchen nicht endlos weiterspielen, denn irgendwer muss irgendwann man wissen, wohin das Paket wirklich gehen soll. Dafür sind die großen Router an den Backbones zuständig. Die haben große Tabellen mit allen IP-Adressräumen dieser Welt (allerdings nicht jede IP einzeln, sondern gruppiert nach den Leitungen, die zum Router hinführen) und wissen so, über welche Leitung sie die Datenpakete weiterleiten müssen. Und falls mal eine Leitung ausfällt, haben sie Möglichkeiten, sich mit den anderen Routern zu verständigen, um Ausweichwege zu finden, damit die Daten trotzdem ankommen. Vielleicht benutzt ein Router auch mehr als eine Leitung, um die Daten zum gleichen Ziel zu senden. All diese Mechanismen können dafür sorgen, dass das Internet auch im Falle eines Atomkrieges ausfallsicher ist. Allerdings ist diese Sicherheit leider nur theoretischer Natur. In der Praxis ist man vom Internet abgeschnitten, wenn z.B. das eigene Modem nicht mehr läuft. Oder die einzige Leitung des Providers ins Internet. Oder der einzige zentrale Datenaustauschpunkt (in Deutschland war Frankfurt IIRC mal der einzige zentrale Datenaustauschpunkt aller Provider - eine Bombe drauf, und schon wäre das Internet in Deutschland ziemlich ausgeschaltet gewesen - es gibt mittlerweile in allen großen Städten Austauschpunkte, so dass dieses Szenario eher unwahrscheinlich ist. Aber dennoch sind Störungen des Betriebes bei Ausfall zentraler Komponenten wahrscheinlich, wenngleich nicht an der Tagesordnung).

    Wie das in kleinen Ethernet-Netzwerken mit dem zustellen der Pakete funktioniert habe ich verstanden, aber wie funktioniert das im öffentlichen Netz? Angenommen ich habe eine ISDN-Standleitung und eine feste IP von der Telekom erhalten. Die ISDN Karte kann ja nur über PPP angesprochen werden.

    Das verwendete Netzwerkübertragungsprotokoll ist für das Funktionieren von TCP/IP unerheblich. PPP ist einfach eine weitere Möglichkeit, neben Ethernet (was nicht nur die Hardware bezeichnet, sondern eigentlich vielmehr das Datenformat auf der Leitung), SLIP (veraltetes serielles Protokoll, von PPP abgelöst), Token Ring, ATM, FDDI etc., Daten zu übertragen. TCP/IP setzt darauf auf. Natürlich muß man für die PPP-Übertragung andere Dinge machen, als fürs Ethernet, aber die Netzwerktreiber sind darauf ausgelegt, die jeweiligen Unterschiede zu kapseln und der Anwendung standardisierte Funktionen zur Verfügung zu stellen, so dass diese Unterschiede absolut unsichtbar bleiben. Das ganze nennt man OSI-Schichtenmodell.

    Wie funktioniert das, wenn ich irgendwo im Browser jetzt meine feste IP angebe, das ich auf den Apache meines Rechners geleitet werde? OK, vom Browser geht ein Request Raus, an den Provider, durch irgendwelche Gateways die die Angefragte Adresse immer weiterleiten, vermutlich als erstes die erste Zahl, dann innerhalb dieses Netzes die 2. Zahl... und dann? Wie kommt dann das Paket über die Telefonleitung auf meien ISDN-Karte? Router... speichern ja nur IPs und keine Telefonnuummern! Wie funktioniert das?

    Die Router sind das Geheimnis. Der Router deines Einwähl-Providers kennt die gewünschte Adresse vielleicht nicht, aber wie oben beschrieben: Irgendwann wird ein Router das Datenpaket erhalten, der die Zieladresse zuordnen kann, und einem untergeordneten Router die Daten senden (beispielsweise weiß er, dass die Zieladresse bei T-Online liegt, und schickt die Daten dem T-Online-Router). Dieser kann die Adresse noch weiter zuordnen (weiß, dass die IP in Hamburg liegt, und schickt sie dem Router in Hamburg). Der nächste Router weiß, in welchem Netzwerksegment die Adresse liegt, und schickt die Daten dorthin... bis der gewünschte Rechner irgendwann gefunden ist.

    Typische IP-Adressmengen sind 1, 4, 8, 16..., wobei das _alle_ IP-Adressen umfasst, und außer bei 1 immer zwei Adressen für Netzwerkadresse und Broadcastadresse abzuziehen - deshalb kann man auch nicht 2 IP-Adressen (Netzmaske 31 Bit) erhalten, weil man dann keine nutzbaren Adressen hätte.
    Aha! Also entweder eine feste IP, oder direkt ein mehr oder weniger großes Netzwerk. DAs wird dann über die NetzwerkAdresse angesprochen(niedrigste IP), richtig? Aber wofür dann die andern IPs?

    Die Netzwerkadresse ist eigentlich funktionslos. Sie geht für die Nutzung durch einen Rechner verloren, weil sie, wie im Beispiel oben gezeigt, beim Routing errechnet wird. Sie kann technisch nicht genutzt werden.

    Ebenso gibt es noch eine Broadcast-Adresse. An diese Adresse werden Daten geschickt, die für alle angeschlossenen Rechner bestimmt sind - also "Rundfunk" im besten Wortsinne. Per Broadcast schickt z.B. Windows Informationen über die Dateifreigabe an alle Rechner im Netz. Auch diese Adresse ist nicht nutzbar, da sie für "alle IP-Adressen in diesem Netzwerksegment" steht.

    Ich würde das doch ehe anders machen, eine feste IP und intern ein 192.168er privates Netzwerk und das ganze halt weiterleiten. Was habe ich im öffentlichen Adressraum von Netzwerk und Broadcast Adresse?

    Du privat - gar nichts. Aber man benötigt für Serveraufgaben feste, öffentliche IP-Adressen. Deshalb werden sie verwendet.

    Also ist die Klasseneinteilung durch bits doch nicht (mehr) richtig sondern doch nur durch die Subnsetzmaske bestimmt, oder? /16 heißt doch Subnetzmaske 255.255.0.0, oder?

    Richtig. Und es gibt genauso /17, /18, /19..., bis hin zu /30. /31 ist Schwachsinn, denn das würde genau 2 IP-Adressen ermöglichen, die beide aus technischen Gründen nicht nutzbar sind: Netzwerkadresse und Broadcast-Adresse.

    Die Broadcast-Adresse ist übrigens die höchstmögliche Adresse im jeweiligen Netzwerk. Man bildet sie aus IP-Adresse und Netzmaske so:
    192.168.000.023 -> Sender-IP -> 11000000.10101000.00000000.00010111
    255.255.255.000 -> Netzmaske -> 11111111.11111111.11111111.00000000
           invertierte Netzmaske -> 00000000.00000000.00000000.11111111
                    OR-verknüpft -> 11000000.10101000.00000000.11111111
    192.168.000.255 <- dezimal   <-

    Der Host-Anteil der IP-Adresse hat alle Bits gesetzt.

    Ich empfehle dir, einfach mal Google zu befragen. Meine schnelle Suche nach "TCP/IP Tutorial" brachte z.B. http://www.sangoma.com/fguide.htm zum Vorschein - leider englisch, aber ausführlich.

    - Sven Rautenberg

  5. Hallo!

    Danke Euch für die hilfreichen Antworten, ist alles doch etwas komplizierter als es auf den ersten Blick aussieht ;-)

    Grüße
    Andreas