TCP/IP und Routing Grundwissen: Unterschied zwischen den Versionen
Yehudi (Diskussion | Beiträge) (→Subnetzmasken) |
Yehudi (Diskussion | Beiträge) (→Tests mit PING) |
||
Zeile 116: | Zeile 116: | ||
Wenn der Test fehlschlägt dann kann das auch daran liegen daß einer der beteiligten Router den Rückweg nicht kennt. | Wenn der Test fehlschlägt dann kann das auch daran liegen daß einer der beteiligten Router den Rückweg nicht kennt. | ||
− | Class A/B/C Subnetze | + | |
+ | == Class A/B/C Subnetze == | ||
+ | |||
Abhaengig von ihrer Groesse bezeichnet man Subnetze oft als Class A, B oder C: | Abhaengig von ihrer Groesse bezeichnet man Subnetze oft als Class A, B oder C: | ||
Zeile 123: | Zeile 125: | ||
Class C Subnetzmaske 255.255.255.0 | Class C Subnetzmaske 255.255.255.0 | ||
− | GAW hat Folgendes geschrieben: | + | |
+ | === GAW hat Folgendes geschrieben: === | ||
+ | |||
Die Klasseneinteilung in A, B und C ist ganz genau genommen nur noch historisch bedingt und das schon ziemlich lange (1996). Heute leben wir im Zeitalter der klassenlosen IP's (CIDR gesprochen ceider). Aus diesem Grund muß die Netzwerkmaske ja angegeben werden. Trotzdem wenden viele Systemadmins noch diese Begriffe an und wählen Netzmasken die den traditionen Einteilungen entsprechen. | Die Klasseneinteilung in A, B und C ist ganz genau genommen nur noch historisch bedingt und das schon ziemlich lange (1996). Heute leben wir im Zeitalter der klassenlosen IP's (CIDR gesprochen ceider). Aus diesem Grund muß die Netzwerkmaske ja angegeben werden. Trotzdem wenden viele Systemadmins noch diese Begriffe an und wählen Netzmasken die den traditionen Einteilungen entsprechen. | ||
Zeile 166: | Zeile 170: | ||
TomcatMJ hat Folgendes geschrieben: | TomcatMJ hat Folgendes geschrieben: | ||
− | Private Klasse D Multicast-Netzwerke | + | |
+ | === Private Klasse D Multicast-Netzwerke === | ||
+ | |||
(die aber wohl kaum jemand zuhaus haben wird*G*): | (die aber wohl kaum jemand zuhaus haben wird*G*): | ||
224.0.0.0 - 224.0.0.255 | 224.0.0.0 - 224.0.0.255 |
Version vom 7. September 2006, 13:22 Uhr
Autor: Martin Breidenbach
Eine TCP/IP-Adresse besteht aus vier Bytes (0..255) und sieht zum Beispiel so aus:
192.168.0.17
d.h. die uebliche Schreibweise ist dass man die vier Bytes durch Punkte voneinander trennt.
Ein Geraet erhaelt seine TCP/IP-Adresse entweder dadurch dass sie manuell eingetragen wird, oder sie wird zentral von einem Server vergeben, der die Protokolle BOOTP oder DHCP unterstuetzt bzw. entsprechende Dienste installiert hat.
Zwei Geraete die TCP/IP verwenden koennen nun entweder direkt miteinander kommunizieren (weil sie im Netzwerk direkt miteinander verkabelt sind *UND* im selben IP-Subnetz liegen) oder muessen ueber einen Router (in diesem Zusammenhang auch oft Gateway genannt) miteinander kommunizieren. Dazu unterteilt man die Adressbereiche in Subnetze. Zwei Geraete die im selben Subnetz liegen koennen miteinander direkt kommunizieren. Liegen sie nicht im selben Subnetz dann muessen die Datenpakete ueber ein Gateway gesendet werden.
Die Entscheidung, ob zwei TCP/IP-Adressen im selben Subnetz liegen, wird ueber die Subnetzmaske gefaellt. Beide Adressen werden durch ein logisches AND mit der Subnetzmaske verknuepft. Kommt dabei dasselbe heraus liegen sie im selben Subnetz.
Bei der am haeufigsten verwendeten Subnetzmaske 255.255.255.0 bedeutet das: wenn die ersten drei Bytes von zwei IP-Adressen identisch sind dann liegen sie im selben Subnetz.
Wenn man nun einen Rechner mit mehreren Netzwerkkarten hat (und sei das 'normale' Netzwerkkarte und WLAN) so sollte man die auch fuer unterschiedliche Subnetze konfigurieren sonst kommt das Routing durcheinander.
Nun will ich auf die Funktion der Subnetzmasken etwas detaillierter eingehen.
Inhaltsverzeichnis
Kurzer Exkurs ins binaere Rechnen
Die AND-Operation funktioniert so:
0 AND 0 = 0 0 AND 1 = 0 1 AND 0 = 0 1 AND 1 = 1
Die Byte-Werte der TCP/IP-Adresse werden wie folgt in Binaerwerte umgerechnet:
Jede Stelle einer Binaerzahl steht fuer eine Zweierpotenz (so wie wir ueblicherweise Zehnerpotenzen im Dezimalsystem verwenden):
1234 dezimal = 1*1000 + 2*100 + 3*10 + 4*1 = 1*10^3 + 2*10^2 + 3*10^1 + 4*10^0
1010 binaer = 1*8 + 0*4 + 1*2 + 0*1 = 1*2^3 + 0*2^2 + 1*2^0 + 0*2^0
147 dezimal = 1*128 + 0*64 + 0*32 + 1*16 + 0*8 + 0*4 + 1*2 + 1*1 =10010011 binaer
Subnetzmasken
Hier ein Link mit einer Grafik die die verschiednen Subnetzmasken veranschaulicht:
http://shorewall.net/pub/shorewall/contrib/IPSubNetMask.html
Subnetze, Beispiel 1
Adresse 1 : 192.168.000.001 Adresse 2 : 192.168.000.002 Adresse 3 : 192.168.001.001 Subnetzmaske : 255.255.255.000 Adresse 1 : 192.168.000.001 AND 255.255.255.000 = 192.168.000.000 Adresse 2 : 192.168.000.002 AND 255.255.255.000 = 192.168.000.000 Adresse 3 : 192.168.001.001 AND 255.255.255.000 = 192.168.001.000
Die ersten beiden Adressen liegen also im selben Subnetz.
Subnetze, Beispiel 2
Adresse 1 : 192.168.000.001 Adresse 2 : 192.168.000.002 Adresse 3 : 192.168.000.033 Adresse 4 : 192.168.000.034 Subnetzmaske : 255.255.255.224 Adresse 1 : 192.168.000.001 AND 255.255.255.224 = 192.168.000.000 Adresse 2 : 192.168.000.002 AND 255.255.255.224 = 192.168.000.000 Adresse 3 : 192.168.000.033 AND 255.255.255.224 = 192.168.000.032 Adresse 4 : 192.168.000.034 AND 255.255.255.224 = 192.168.000.032
Die ersten beiden Adressen und die letzten beiden liegen jeweils im selben Subnetz.
Die Subnetzmaske legt also die Groesse eines Subnetzes fest (und umgekehrt). Die erste und die letzte Adresse eines Subnetzes koennen nicht fuer Geraete verwendet werden, da sie fuer die Adressierung des Subnetzes selbst und Broadcasts verwendet werden (Broadcasts sind Pakete die 'an Alle' gesendet werden). Bei einer Subnetzmaske von Maske 255.255.255.0 waeren dies die .0 und .255, es stehen also 256-2=254 Adressen zur Verfuegung. Im Beispiel 2 (255.255.255.224) sind das 32-2=30 Adressen.
Schreibweise 192.168.0.1/24 fuer Subnetzmasken
Eine unter Unix/Linux beliebte Schreibweise fuer IP-Adressen und Subnetzmasken besteht darin dass man einfach die Anzahl der Einser der Subnetzmaske hinter der Adresse angibt: 192.168.1.1/24 ist also 192.168.1.1 mit einer Subnetzmaske aus 24 Einsen, also 255.255.255.0
Das Standardgateway
Wenn ein Geraet ein anderes ansprechen will das in einem anderen Subnetz liegt dann schickt es das TCP/IP-Datenpaket zu einem Gateway (im OSI-Schichtenmodell ist das ein Router). Dieses Gateway wurde so konfiguriert dass es selber weiss wie es das Datenpaket weiterzuleiten hat so dass es am Empfaenger ankommt.
Meistens gibt es innerhalb eines Subnetzes ein Standardgateway (oder auch default gateway).
Beispiel:
Vorhanden ist ein Server mit zwei Netzwerkkarten (A und B). Ausserdem gibt es einen ISDN-Router der eine Verbindung zu einem Internet-Zugangsprovider darstellt. Mit Karte A sind 10 Rechner verbunden, mit Karte B 27 Rechner und der ISDN-Router.
Segment A umfasst 11 Adressen (10+Server), Segment B 29 (27+Router+Server). Die Groesse der Subnetze sollte also 32 oder mehr sein. Angenommen der Internet-Provider weist einen Adressbereich von 64 Adressen zu, beginnend mit 195.130.37.0. Dann kann eine moegliche Konfiguration so aussehen:
- Der Adressbereich wird in zwei Haelften geteilt (.0-.31 und .32-.63) - Die Arbeitsplatz-PCs schicken Pakete deren Empfaenger nicht in ihrem Subnetz liegt zum Server - Der Server 'weiss' wie er die beiden Subnetze anzusprechen hat. Alles unbekannte soll er zum ISDN-Router schicken. - Dem ISDN-Router muss mitgeteilt werden dass er Pakete mit Empfaenger im Subnetz 'A' zum Server schickt der sie dann weiterleitet. Dies geschieht durch den Eintag einer 'Statischen Route'. Wie dies genau geschieht haengt von der Software des ISDN-Routers ab, jedenfalls wird ihm mitgeteilt dass Pakete an das Subnetz 195.130.037.000 mit der Maske 255.255.255.224 an die Adresse 195.130.037.033 (Karte B im Server) weitergeleitet werden muessen.
Karte A im Server: 195.130.037.001, Subnetzmaske 255.255.255.224, default gateway leer Karte B im Server: 195.130.037.033, Subnetzmaske 255.255.255.224, default gateway 195.130.037.034 (der ISDN-Router) ISDN-Router : 195.130.037.034, Subnetzmaske 255.255.255.224, default gateway Adresse des Routers beim Provider PC im Netz 'A' : 195.130.037.002, Subnetzmaske 255.255.255.224, default 195.130.037.001 (Karte im Server) PC im Netz 'B' : 195.130.037.035, Subnetzmaske 255.255.255.224, default 195.130.037.033 (Karte im Server)
Tests mit PING
Ob das TCP/IP-Routing funktioniert kann man mit dem PING-Befehl testen, der ueblicherweise immer installiert wird wenn man TCP/IP-Protokoll installiert. Die Verwendung ist einfach, PING <Zieladresse>. Um im obigen Beispiel zu testen ob ein PC im Subnetz A den ISDN-Router ansprechen kann wuerde man auf dem PC einfach PING 195.130.037.034 eingeben. Wenn eine Antwort kommt dann hat es geklappt.
Wenn der Test fehlschlägt dann kann das auch daran liegen daß einer der beteiligten Router den Rückweg nicht kennt.
Class A/B/C Subnetze
Abhaengig von ihrer Groesse bezeichnet man Subnetze oft als Class A, B oder C: Class A Subnetzmaske 255.0.0.0 Class B Subnetzmaske 255.255.0.0 Class C Subnetzmaske 255.255.255.0
GAW hat Folgendes geschrieben:
Die Klasseneinteilung in A, B und C ist ganz genau genommen nur noch historisch bedingt und das schon ziemlich lange (1996). Heute leben wir im Zeitalter der klassenlosen IP's (CIDR gesprochen ceider). Aus diesem Grund muß die Netzwerkmaske ja angegeben werden. Trotzdem wenden viele Systemadmins noch diese Begriffe an und wählen Netzmasken die den traditionen Einteilungen entsprechen.
Die seltsamen Zahlenkombinationen dieser ehemaligen Klassen lassen sich besser verstehen wenn man die ip Adresse des ersten Byte binär betrachtet.
Klasse A beginnt mit einer 0: von bis 00000000 - 01111111 0-127 (127 ist allerdings reserviert für Loopbackadressen)
Klasse B beginnt mit einer 10 von bis 10000000 -10111111 128 - 191
Klasse C beginnt mit einer 110: von 11011111 - 11011111 192 - 223
Es gibt noch zwei weitere Klassen: Klasse D beginnt mit 1110:
11100000 - 11101111 224 - 239
Diese Klasse dient für Multicastaufrufe. Das bedeutet es lassen sich verschiedene IP-Adressen und einer Adresse gemeinsam ansprechen. Allerdings müssen die zwischenliegenden Router das unterstützen.
Die letzte Klasse E die mit 1111 ist reserviert, das stammt noch aus den Zeiten als der Vorläufer vom Internet vom Militär geponsort wurde
Neben den schon genannten privaten Adressen sind noch die firmeneigenen Adressen zu nennen, die sich MS-System selber geben, wenn sie weder eine IP-Numer mit DHCP erhalten noch die IP-Adresse per Hand eingerichtet wurde. Dieses Verfahren bezeichnet MS als APIPA Automatic Private IP Adressing. Die entsprechenden Adressen sind bei der IANA eingetragen und daher ebenfalls private Adressen und zwar im folgenden Bereich:
169.254.0.1 bis 169.254.255.254/16.
weitere spezielle Adressen:
Loopback-Netz:
127.0.0.0
Loopback-Host:
127.0.0.1
alle Adressen:
0.0.0.0
TomcatMJ hat Folgendes geschrieben:
Private Klasse D Multicast-Netzwerke
(die aber wohl kaum jemand zuhaus haben wird*G*): 224.0.0.0 - 224.0.0.255
Quelle: http://www.iana.org/assignments/multicast-addresses
Wer sich für die genaue Adressraumvergabe interessiert kann ja unter http://www.iana.org nachschauen. Dort sind einige Interessante Dokumente zum Thema IP-Adressräume (IPv4 und IPv6) zu finden (Auflistung diese Dokumente: http://www.iana.org/ipaddress/ip-addresses.htm)
Reservierte Adressbereiche fuer private Netze
Fuer den Fall dass man TCP/IP-Protokoll verwenden muss, aber nicht ber einen reservierten Adressbereich verfuegt, gibt es reservierte Adressen die nicht im Internet verwendet werden. Diese Bereiche sind:
Class A 10.0.0.0 Class B 172.16.0.0 - 172.31.0.0 Class C 192.168.0.0 - 192.168.255.0
P.S. Kommentare, Verbesserungsvorschlaege, Korrekturen und Hinweise wie man den Kram verstaendlicher machen koennte jederzeit erwuenscht.
P.P.S. Teile von GAW und TomcatMJ
eingefügt von --Yehudi 15:18, 7. Sep 2006 (CEST)