====================================================================== = = = TCP/IP = = = ====================================================================== TCP/IP ist die erste genutzte Netzwerkprotokoll-Suite; sie wird auch heute noch im Internet genutzt, da sie sich auf UNIX-Rechnern als Standard durchgesetzt hat. Mittlerweile ist sie auch auf anderen Plattformen zuhause. Die Spezifikationen fuer die TCP/IP-Protokolle sind frei zugaenglich fuer jeden, der Applikationen dafuer entwickeln will. Sie finden sich in einem oder mehreren 'Request for Comments' (RFCs). Diese 'Bitten um Kommentare' werden uebertragen von Benutzern des Internets, die neue Protokolle vorschlagen oder auf Verbesserungen bestehender Protokolle hinweisen. Auf diesen Protokollen bauen unter anderem verschiedene Netzwerkdienste auf: email, telnet, USEnet, ftp, www und gopher. Die TCP/IP Protokoll Suite umfasst (nach dem DOD Modell) vier Ebenen; jede Ebene ist fuer die Durchfuehrung spezifischer Netzwerk-Funktionen verantwortlich und kann mehrere Protokolle beinhalten. DOD Modell: Netzwerkfunktionen: |--------------| | Prozess/ | Applikation | Applikation | Benutzerschnittstelle |--------------|---------------------------------------------------- | Host-to-Host | Integritaet der Daten von Ende-zu-Ende | | Qualitaet des Service |--------------|---------------------------------------------------- | Internet | Routing zwischen den Netzwerken |--------------|---------------------------------------------------- | Netzwerk | Physische Verbindung zwischen zwei Punkten | Zugang | |--------------| Prozess/Applikations Ebene: TCP/IP Applikationen enthalten fuer gewoehnlich ein Client- und ein Serverprogramm. Das Serverprogramm wird oft daemon genannt. Der daemon-Prozess laeuft typischerweise nicht staendig auf dem Server sondern wartet im Hintergrund auf Anfragen vom Client. Zu diesen Applicationen gehoeren zum Beispiel: Terminal Emulatoren (telnet), email (SMTP), Dateien- Transfer (FTP, TFTP), Applikationen gemeinsam nutzen (X Windows (UNIX)), Dateien gemeinsam nutzen (NFS) oder Drucken ueber ein Netzwerk Host-to-Host Ebene: Die Host-to-Host Ebene der TCP/IP Suite besteht aus dem Transmission Control Protocol (TCP) und dem User Datagramm Protocol (UDP). TCP: richtet eine virtuelle Bahn zwischen den Hosts ein sorgt fuer eine verlaessliche Verbindung zwischen den Hosts zum Datenaustausch Alle Datenpakete sind aufeinanderfolgend und bekannt z.B. von telnet und FTP genutzt UDP: Datenlieferung erfolgt ohne staendige Verbindung, ist aber auch weniger verlaesslich Hat weniger Overhead an Daten innerhalb der Datenpakete z.B. von TFTP oder NFS genutzt Internet Ebene: Primaeres Ziel der Internet Ebenen Protokolle ist das Weiter- leiten der Datenpakete zwischen verschiedenen Hosts. Verbindet man mehrere kleinere Netzwerke miteinander, kann ein kompli- ziertes Labyrinth entstehen. Die Hosts koennen in verschiede- nen, von Routern verbundenen, Netzwerken lokalisiert werden. Netzwerk Zugang Ebene: Die Protokolle auf der Netzwerkebene sorgen fuer den physi- kalischen Zugang und beschreiben das verwendete Netzwerk, z.B. ob es sich um einen Ethernet-Zugang handelt, um Token Ring oder andere. Verschiedene Netzwerk-Klassen: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ class A: 1 - 127.y.y.y erstes bit=0 127 moegliche Netze 265^3 moegliche Hosts (entspr. 16.777.216) class B: 128 - 191.x.y.y erstes bit=1, zweites bit=0 (191-127)*256 moegliche Netze (entspr. 16.384) 256^2-2 moegliche Hosts (entspr. 65.534) class C: 192 - 223.x.x.y erstes u. zweites bit=1, drittes=0 (223-191)*256^2 moegliche Netze (entspr. 2.097.152) 256-2 moegliche Hosts (entspr. 254) class D: 224.0.0.0 - 239.255.255.255 ersten drei bits=1, viertes=0 für Multicast-Pakete, benutzt von verschiedenen Protokollen, z.B. werden ueber ICMP alle Router mit 224.0.0.2 angesprochen class E: 240.0.0.0 - 255.255.255.255 ersten vier bits=1 reserviert fuer zukuenftige Addressierungen Besondere IP-Adressen: ~~~~~~~~~~~~~~~~~~~~~~ 127.0.0.1 localhost 127.0.0.0 loopback 0.0.0.0 uebergibt an Default-Route alle Netz-Bits 0 bezieht sich auf 'dieses' Netzwerk alle Host-Bits 0 bezieht sich auf das Netzwerk selber wird in Routing-Tabellen genutzt Default Mask: ~~~~~~~~~~~~~ Klasse A: Default Mask 11111111.00000000.00000000.00000000 255.0.0.0 Netz | Hosts Klasse B: 11111111.11111111.00000000.00000000 255.255.0.0 Netz | Hosts Klasse C: 11111111.11111111.11111111.00000000 255.255.255.0.0 Netz | Hosts Jedes Bit, welches fuer das Netzwerk verwendet wird, ist auf eins gesetzt. Jedes Bit, das den Host kennzeichnet, ist auf null gesetzt. Man kann so auch ein C-Netz in weitere Subnetze aufteilen, indem man z.B. drei Bits des Host-Teils fuer die Kennzeichnung eines Netzes verwendet (11111111.11111111.11111111.11100000 , dez: 255.255.255.224). Hieraus ergeben sich jetzt sechs moegliche Subnetze mit jeweils 30 darin enthaltenen Hosts. Bits binär dezimal Subnetze Hosts 1 10000000 128 0 126 2 11000000 192 2 62 3 11100000 224 6 30 4 11110000 240 14 14 5 11111000 248 30 6 6 11111100 252 62 2 7 11111110 254 126 0 8 11111111 255 254 N/A Tabelle gilt fuer die Maskierung des vierten Oktets eines C-Netzes. Generell lassen sich die Anzahlen der moeglichen Netze und Hosts nach folgenden Formeln berechnen: moegliche Subnetze = 2^(maskierte Bits) - 2 moegliche Hosts = 2^(unmaskierte Bits) - 2 Beispiel: Netz: 132.132 Maske: 255.255.224.0 = 11111111.11111111.111 00000.00000000 16 Netzwerkbits | | 13 Hostbits ^- 3 Subnetzbits moegliche Subnetze = 2^3 - 2 = 6 moegliche Hosts = 2^13 - 2 = 8190 Man sollte keine Subnetze mit null benennen, da dies zu Fehlern und Missverstaendnissen fuehren kann. Die weitere Subnetzbenennung wird an einem Beispiel verdeutlicht: Netzwerk Subnetz Node Maske: 11111111.11111111. 111 00000.00000000 (dezimal) (255) (255) (224) (0) 000 nicht verwenden! 001 = 32 010 = 64 011 = 96 132 . 132 . 100 = 128 x. y 101 = 160 110 = 192 111 nicht verwenden! Wenn man die Subnetze zugeordnet hat, werden die Hosts nach folgenden Regeln zugeordnet: -Jede Adresse muss einzigartig sein -Der Netzwerk- und Subnetz-Teil muss auf allen Hosts in einem Segment identisch sein -Der Node-Teil darf nicht komplett auf null oder eins gesetzt sein Z.B. Das Subnetz 132.132.128.0 (Maske: 255.255.224.0): -Die ersten beiden Oktette aller Adressen muessen 132.132 sein -Die ersten drei Bits des dritten Oktetts muessen 100 sein, also alles im Bereich von 128 bis einschliesslich 159 -Die beiden Adressen 132.132.128.0 und 132.132.159.255 duerfen nicht verwendet werden (im ersten Fall sind alle Node-Bits null, im Zweiten eins) IP-Adresse = 132.132.x.y x = 128 - 159 y = 0 - 255