Home | C# | XML | Tipps | Links | Person
Tipps rund um den PC
Inhalt
Bei TCP/IP (Transmission Control Protocol/Internet Protocol) handelt es sich um eine Protokollfamilie, die für WANs (Wide Area Networks) konzipiert wurde. TCP/IP hat sich aber auch als bevorzugte Protokollfamilie in LANs (Local Area Networks) durchgesetzt.
Diese Kurzbeschreibung geht auf Aspekte ein, die für das Verständnis von TCP/IP sehr wichtig sind und mit denen Anwender häufig konfrontiert werden, wenn Sie ein kleines Netzwerk betreiben möchten. Bei Verwendung modernster Betriebssysteme und Netzwerkgeräte sind diese Kenntnisse nicht erforderlich, wenn sich der Anwender auf die Nutzung von Standard-Anwendungssoftware beschränkt.
Quellen mit ausführlicheren Informationen finden Sie ganz unten, Pkt. 15 - Weiterführende Informationen
Eine internationale Gruppe, die Internet Society (ISOC), verwaltete die TCP/IP-Protokollfamilien. Die TCP/IP-Standards werden in RFCs (Request for Comments) veröffentlicht.
Die TCP/IP-Protokolle sind nach einem Vierschichtenmodell aufgebaut:
+---------------------+ | Anwendung | +---------------------+ | Transport | +---------------------+ | Internet | +---------------------+ | Netzwerk | +---------------------+
Die Netzwerkschnittstellenschicht legt Rahmen (Datenpakete) auf das Netz und zieht die Rahmen vom Netz herunter (Senden und Empfangen). Technologien sind in LANs z. B. Ethernet und Token Ring, in WANs Frame Relay und ATM.
Auf der Internetschicht werden die Rahmen in Internet-Datagramme eingeschlossen und von Host zu Host geleitet. Dies erfolgt wiederum durch die vier Internetprotokolle:
Transportprotokolle ermöglichen Kommunikationssitzungen. Die beiden möglichen Transportprotokolle sind TCP (Transmission Control Protocol) und UDP (User Datagram Protocol).
TCP ist eine verbindungsorientierte Kommunikation, bei welcher der Datenempfang bestätigt wird. UDP ist eine verbindungslose Kommunikation, bei der keine Empfangsbestätigung erfolgt, sie wird deshalb in der Regel nur bei der Übertragung sehr kleiner Datenmengen verwendet. Bei der Nutzung von UDP muss die Prüfung der empfangenen Daten in der Anwendung implementiert werden.
Die Anwendungsschicht bietet Programmen Zugang zum Netzwerk (z. B. einem Browser wie dem MS Internet-Explorer, einem E-Mail-Client wie MS Outlook oder auch einem Webserver). Ein Programm setzt sich nicht mit der Frage auseinander, wie die Informationen von der Anwendungsschicht übertragen werden, sondern übergibt seine Informationen mit Adresse an die Anwendungsschicht und überlässt dieser alles Weitere.
Die Windows-Betriebssysteme bieten zwei Anwendungsprogrammierschnittstellen (API - Application Programming Interface): Windows Sockets und NetBIOS.
Eine Schlüsselstellung für die Netzwerkkommunikation über TCP/IP und deren Verständnis hat ARP (Adress Resolution Protocol): die Zuordnung einer IP-Adresse zu seiner entsprechenden Hardware-Adresse innerhalb eines physischen Netzwerkes.
Jedes Netzwerkgerät (Netzwerkkarte, ...) wird von seinem Hersteller mit einer weltweit einmaligen Hardware-Adresse versehen (MAC-Adresse = Media Access Control, Ethernet-ID oder bei Apple Airport-ID und Ethernet-ID genannt). Die Hardware-Adresse ist unveränderlich, sie kann aber und wird auch häufig wechselnden IP-Adressen zugeordnet, insbesondere bei Verwendung von DHCP (Dynamic Host Control Protocol) und privaten Internetzugängen.
Aufgabe von ARP ist es, die Hardware-Adresse einer IP-Adresse zu ermitteln, um so die Kommunikation mit dem betreffenden Host zu ermöglichen. Ein PC-Anwender wird mit der Hardware-Adresse normalerweise nicht konfrontiert. Bei speziellen Aufgaben wird die Hardware-Adresse aber benötigt, z. B. für den Schutz eines WLAN (Wireless LAN). Als sehr einfache und zugleich wirksame Schutzvorkehrung kann z. B. ein WLAN-Router so konfiguriert werden, dass dieser nur mit WLAN-Adaptern in Verbindung tritt, deren Hardware-Adresse in einer definierten Liste aufgeführt ist.
Die Hardware-Adresse wird mit 48 Bits codiert und lesbar in Hexadezimalschreibweise dargestellt, z. B.:
00-aa-00-62-c6-09
Die Vergabe einer IP-Adresse für einen Netzwerkadapter mit einer bestimmten Hardware-Adresse erfolgt manuell oder automatisch per DHCP. In Windows XP erfolgt die Eingabe z. B. unter: Systemsteuerung > Netzwerkverbindungen > Eigenschaften der betreffenden Netzwerkverbindung > Eigenschaften von: Internetprotokoll (TCP/IP). Bei Auswahl von IP-Adresse automatisch beziehen versucht der PC von einen DHCP-Server eine IP-Adresse zu erhalten. Bei manueller Eingabe von IP-Adresse und Subnet Mask werden diese Angaben verwendet.
Die Ermittlung ist in Windows-Betriebssystemen möglich, in Windows XP z. B. über: Systemsteuerung > Netzwerkverbindungen > Status der betreffenden Netzwerkverbindung > Details. Die gleichen Informationen liefert auch das Dienstprogramm ARP, welches über die Eingabeaufforderung gestartet wird.
Das Adressierungsschema für IP-Adresse verwendet 32 Bit. Dabei werden vier 8-Bit-Felder gebildet, die so genannten Oktette.
Das lesbare Format einer IP-Adresse wird als Punkt-Dezimalschreibweise bezeichnet:
222.248.98.112
Binäres Format:
11011110 11111000 1100010 1110000
Mit einem Oktett von 8 Bit kann eine Dezimalzahl von 0 bis 255 dargestellt werden. Deshalb finden sich in den vier Gruppen der lesbaren IP-Adressen auch immer nur Dezimalzahlen aus diesem Bereich.
Für die Adressierung des Netzwerkes (Netzwerk-ID) können nur das erste oder die ersten beiden bzw. die ersten drei Oktette verwendet werden (Netzwerke der Klassen A, B oder C). Die verbleibenden drei, zwei bzw. drei Oktette werden für die Host-ID verwendet. Werden die ersten drei Oktette für die Netzwerk-ID verwendet (Klasse C), können sehr viele Netzwerke adressiert werden, ca. 17 Millionen; für die Hostadressierung steht dann aber nur noch ein Oktett zur Verfügung, mit dem innerhalb des durch die ersten drei Oktette bezeichneten Netzwerks nur noch 253 Hosts (Endgeräte wie PCs, Drucker, Webcams, ...) adressiert werden können. In großen Unternehmen mit mehreren Hundert oder Tausend Hosts benötigt man ein Netzwerk der Klasse A oder B. Für diese Klassen wird nur das erste bzw. das erste und zweite Oktett für die Netzwerk-ID verwendet. Dadurch verbleiben drei bzw. zwei Oktette für die Host-IDs (Klasse A: 17 Mill Hosts, Klasse B: 65.000 Hosts).
Eine IP-Adresse allein ist für die vollständige Adressierung eines Datenpaketes nicht ausreichend, weil nur anhand der IP-Adresse nicht zu erkennen ist, welche Oktette die Netzwerk-ID und welche die Host-ID bezeichnen. Eine vollständige Rechneradressierung erfordert eine Subnet Mask. Eine Subnet Mask ist eine 32-Bit-Adresse, die zum Abdecken oder »Maskieren« eines Teils der IP-Adresse verwendet wird, um so die Netzwerk-ID von der Host-ID zu unterscheiden.
Die Standard-Subnet-Masks der Netzwerkklassen
Netzwerk- klasse IP-Adresse -------------------------------------------------------------- A 11111111 00000000 00000000 00000000 (255.0.0.0) B 11111111 11111111 00000000 00000000 (255.255.0.0) C 11111111 11111111 11111111 00000000 (255.255.255.0)
Bevor ein Datenpaket gesendet wird, erfolgt mit Hilfe der Subnet Mask eine Prüfung, ob die Ziel-IP-Adresse zum lokalen oder zu einem Remote-Netzwerk gehört. Dazu werden die IP-Adresse des Quell- und des Ziel-Hosts jeweils einem AND-Vergleich mit der Subnet Mask des Absenders unterzogen. Führen die Vergleiche zu identischen Ergebnissen, gehört der Ziel-Host zum lokalen Netzwerk. Das Datenpaket wird in diesem Fall im lokalen Netzwerk verteilt. Stimmen die Ergebnisse nicht überein, wird das Datenpaket an die IP-Adresse eines IP-Routers übermittelt.
Beispiel für das ANDing:
11011110 11111000 1100010 1110000 (222.248.98.112 = Quell-Host) 11111111 11111111 0000000 0000000 (255.255.0.0 = Subnet Mask) --------------------------------------------------------------- 11011110 11111000 0000000 0000000 (222.248.0.0 = Netzwerk-ID) 11011110 11111000 0000111 0110110 (222.248.7.54 = Ziel-Host) 11111111 11111111 0000000 0000000 (255.255.0.0 = Subnet Mask) --------------------------------------------------------------- 11011110 11111000 0000000 0000000 (222.248.0.0 = Netzwerk-ID)
Im Beispiel werden beim ANDing für Quell- und Zielhost jeweils gleiche Ergebnisse erzielt, der Ziel-Host muss sich somit im lokalen Netzwerk befinden.
Bei einer Standard-Subnet-Mask sind alle der Netzwerk-ID entsprechenden Bits auf 1 eingestellt. Der Dezimalwert beträgt in jedem Oktett 255. Sämtliche der Host-ID entsprechenden Bits sind auf 0 eingestellt.
Mit Hilfe des so genannten Subnettings kann ein Netzwerk mehreren physischen Segmenten zugeordnet werden. Darüber hinaus können verschiedene Netzwerktechnologien kombiniert, die Anzahl adressierbarer Hosts erhöht und die Netzwerkbelastung verringert werden. Beim Subnetting werden nicht alle der Netzwerk-ID entsprechenden Bits auf 1 eingestellt. Je nach Anzahl Subnets und darin vorkommender Hosts werden bestimmte Bits auf 0 gesetzt. Auf diese Weise entstehen Subnet Masks, bei denen der Dezimalwert der Oktette für die Netzwerk-ID nicht 255 beträgt.
In privaten Netzwerken ist Subnetting nicht erforderlich. Aus diesem Grund soll an dieser Stelle nicht weiter darauf eingegangen werden.
Einem Host muss neben der IP-Adresse und der Subnet Mask auch ein Standard-Gateway zugewiesen werden, um mit einem Host in einem anderen Netzwerk kommunizieren zu können. TCP/IP sendet Pakete für Remote-Netzwerke an das Standard-Gateway, s. Pkt 6. Es versteht sich von selbst, dass das Standard-Gateway zum lokalen Netzwerk des anfragenden Host gehören und auch die gleiche Netzwerk-ID haben muss.
Grundsätzlich ist die Kommunikation im Internet mittels TCP/IP direkt über die IP-Adresse möglich. Anstatt die Suchseite www.google.de mit dem entsprechenden Hostnamen aufzurufen, ist dies auch direkt mit der entsprechenden IP möglich: 72.14.221.104. IP-Adressen sind jedoch nicht so einprägsam wie Namen. Auch aus diesem Grund wurde DNS als Namensschema für das Internet entwickelt. DNS ist mit einem Telefonbuch vergleichbar, mit dessen Hilfe die Verbindung zwischen Host-Computern anhand eines Namens hergestellt werden kann.
Wird eine Internetseite unter Verwendung des auf dem DNS (Domain Name System) basierenden Hostnamens aufgerufen, muss von dem Hostnamen zunächst die entsprechende IP-Adresse ermittelt werden. Diese Aufgabe erfüllen DNS-Server.
Der Namensraum des DNS ist eine hierarchische Gruppierung von Namen in einer umgekehrt baumähnlichen Struktur.
Beispiel: www.google.de
Bei dem letzten Teil des Domain-Name, im Beispiel »de«, handelt es sich um die so genannte Top-Level-Domain. Es ist die höchste Hierarchieebene im Internet (Stammdomain). Weitere Top-Level-Domains sind z. B.: com, edu, org, net, gov, mil sowie die Länderkennungen mit zwei Buchstaben: de, it, us, uk, ...
Top-Level-Domains können Domains der unteren Hierarchieebene und Host umfassen, z. B. »www.google.de« (Host: www).
Domains der unteren Hierarchieebene können Sub-Domains und Hosts umfassen, z. B. »www.subdomain.google.com«.
Die Kommunikation zwischen Hosts wird von Programmen ausgeführt. Auf einem Host können mehrere Programme gleichzeitig ausgeführt werden, z. B. Webserver/-browser, E-Mail-Server/-Client, FTP-Server/-Client oder auch das Diagnosetool PING. Ports dienen dazu, gleichzeitig auf einem Host bestehende Verbindungen den betreffenden Programmen zuordnen zu können. Die Ports sind 16-Bit-Zahlen (Portnummern) und durchgehend von 1 bis 65535 nummeriert.
Ports von 0 bis 1023 sind reserviert und werden von der IANA vergeben, IANA: well known ports. Die Reservierung von Ports für bestimmte Anwendung ermöglicht es, dass ein Benutzer ohne Kenntnis des verwendeten Ports Verbindung zu einem fremden Host aufnehmen kann. So richtet z. B. jeder Webbrowser Anfragen an einen fremden Webserver immer an den für diese Anwendung festgelegten Port 80.
Die Portreservierung der IANA ist nicht verbindlich. Jeder Administrator kann z. B. einen Webserver (reservierter Port: 80) auch auf einem beliebigen anderen Port laufen lassen. Dies führt dann allerdings dazu, dass ein Benutzer Informationen von diesem Webserver nur dann erhalten kann, wenn er den festgelegten Port kennt und bei der Anfrage angibt.
Adresseingabe bei Verwendung des reservierten Ports 80 (explizite Angabe nicht erforderlich):
http://www.domain.de/pub/page.html
Adresseingabe bei Verwendung eines nicht reservierten Ports, Portangabe erforderlich:
http://www.domain.de:1234/pub/page.html
Die in den 70er Jahren entwickelte IP-Adressierung - IPv4 - basiert auf einer 32 Bit langen Adresse, die ca. 4 Milliarden Adressen ermöglicht. Schon in den 90er Jahren war dieser Adressraum zu klein geworden. Auch aus diesem Grund wurden mehrere Adressbereiche definiert, die in jedem privaten Netzwerk und somit mehrfach verwendet werden können, wie z. B. der Adressbereich 192.168.0.1 bis 192.168.255.254. Bei dessen Verwendung wird häufig die Subnet-Mask 255.255.255.0 genutzt. Mit dieser Subnet Mask wird das dritte Oktett der Netzwerk-ID zugeordnet und mit einem beliebigen, festen Wert belegt, z. B. 192.168.0.x. Das vierte und letzte Oktett bildet die Host-ID und ermöglicht die Adressierung von 253 Host, was für sehr viele Anwendungsfälle ausreichend ist. Eine solche Adressierung ist zugleich transparent und sehr einfach zu administrieren.
Die mehrfache Verwendung privater Adressen ist möglich, weil für diese festgelegt ist, dass im Internet Adressen dieser Bereiche nicht geroutet werden. Innerhalb des betreffenden Netzwerkes ermöglicht die Verwendung der privaten Netzwerk-IDs die Kommunikation der Hosts, für die Kommunikation mit Remotehosts wird deren IP-Adress mittels NAT verschleiert, siehe nächster Punkt.
Soll den Hosts eines privaten Netzwerks der Zugang zum Internet ermöglicht werden, ist dies nur mit Hilfe eines Routers möglich. Der Router besitzt eine öffentliche IP-Adresse. Steht eine feste IP-Adresse für den Internetzugang zur Verfügung, wird diese im Router eingegeben. Private Nutzer und kleine Firmen wählen sich jedoch in der Regel über das Telefonnetz (Fest- oder Handynetz) oder per DSL bei einem Internet Service Provider (ISP), wie z. B. 1&1, AOL oder T-Online, mit Zugangsdaten ein und erhalten bei jeder Einwahl für eine begrenzte Zeitdauer eine öffentliche IP-Adresse.
Die öffentliche IP-Adresse wird vom Router an dessen Netzwerkschnittstelle zum Internet verwendet (bei einem DSL-Zugang am DSL-Anschluss). Ein Router besitzt weitere Netzwerkschnittstellen, zum privaten Netzwerk: Ethernet (LAN), ggf. auch WLAN und USB. Diesen Netzwerkschnittstellen ist jeweils eine gesonderte IP-Adresse des privaten Netzes zugeordnet. Der Router erhält alle Anfragen der Hosts aus dem lokalen Netz an Remote-Hosts und versendet diese mit seiner öffentlichen IP-Adresse ins Internet, speichert aber, welcher Host aus dem privaten Netz die Information angefordert hat. Der Remote-Host erhält die Anfrage mit der öffentlichen IP-Adresse des Routers und sendet die Antwort an diese IP-Adresse zurück. Der Router kann die Antwort anhand der gespeicherten Informationen dem anfragenden, lokalen Host zuordnen und an diesen weiterleiten. Für die Hosts im privaten Netz geht die Adressumsetzung transparent von Statten.
Mit Hilfe von NAT können Hosts in einem privaten Netzwerk Verbindungen zu Remote-Hosts, z. B. im Internet, aufbauen und Daten mit diesen austauschen. Umgekehrt aber können Remote-Hosts aus dem Internet nicht von sich aus die Verbindung zu einem Host in einem privaten Netz aufbauen, weil sie keine Adressierungsmöglichkeit haben; die private IP-Adresse von Hosts in einem privaten Netzwerk wird nicht geroutet. Für solch einen Verbindungsaufbau, z. B. zum Webserver einer IP-Kamera (Webcam) in einem privaten Netzwerk, ist die Einrichtung einer Portfreigabe auf dem Router dieses Netzwerkes notwendig. Dabei wird zunächst ein freier Port auf dem Router freigegeben. Diesem wird dann die IP-Adresse des Host in dem privaten Netzwerk und des Ports, auf dem die Anwendung des Host in dem privaten Netzwerk läuft, zugeordnet.
Mit der Portfreigabe wird eine Anwendung für Internetnutzer als Serverdienste zur Verfügung gestellt, sie besteht aus drei Angaben:
Anfragen an den Host im privaten Netzwerk müssen mit der Portfreigabe des Routers ergänzt werden, Beispiel mit Hostnamen: http://beispielhost.dyndns.net:8080/, mit IP-Adresse: http://111.112.113.114:8080/
Private Nutzer des Internets und kleine Firmen nutzen das Internet in der Regel über einen Internet Service Provider (ISP) über den sie nicht permanent unter einer festen IP-Adresse mit dem Internet, sondern unter einer dynamisch vergebenen IP-Adresse verbunden sind. Bei jeder Einwahl wird eine neue IP-Adresse vergeben. Auf diese Weise werden die rar gewordenen IP-Adressen optimal genutzt.
Dynamic DNS ist ein Internetdienst, der es ermöglicht, dass ein Router, und ggf. ein an diesen angeschlossener Host (z. B. eine Webcam), mit sich ständig ändernder IP-Adresse nach jeder Interneteinwahl immer unter einem feststehenden Namen aus dem Internet erreichbar ist.
Um diesen Dienst nutzen zu können, muss Ihr Router Dynamic DNS unterstützen. Weiterhin müssen Sie sich bei einem Dynamic DNS-Service registrieren (z. B.: www.dyndns.org). Dabei vereinbaren Sie einen feststehenden Hostnamen, unter dem Ihr Router aus dem Internet erreichbar sein soll. Außerdem legen Sie einen Benutzernamen und ein Kennwort fest.
Die Benutzerdaten beim DNS-Service müssen Sie in ihrem Router für dessen Aktualisierungsmitteilungen speichern. Nach jeder Interneteinwahl übermittelt der Router die neue IP-Adresse in Form einer Aktualisierungsmitteilung an den Dynamic DNS-Service. Beim Dynamic DNS-Service wird dann dem Domainnamen die neue IP-Adresse zugeordnet.
Auch bei Nutzung einer Flatrate zu einem günstigen Privattarif gilt in der Regel nichts Anderes. Hier erfolgt meistens nach 24 Stunden durch den ISP eine Zwangsunterbrechung des Internetzugangs für wenige Sekunden. Aufgrund der Zwangsunterbrechung ändert sich auch bei einer Flatrate täglich die öffentliche IP-Adresse des Routers.
Die Windows-Betriebssysteme stellen folgende Dienstprogramme zur Fehlerbehebung bei TCP/IP zur Verfügung:
Die Diagnosetools können durch Eingabe des entsprechenden Namens in der Eingabeaufforderung (DOS-Box) gestartet werden. Ohne weitere Parameter werden meistens die verfügbaren Parameter und Schreibkonventionen dargestellt.
Das Diagnosedienstprogramm PING ist ein sehr leistungsfähiges und vielseitiges Tool. Mit Hilfe von PING können Sie stufenweise die einzelnen Schichten von TCP/IP testen. Gehen Sie bei Verbindungsproblemen wie folgt vor:
Ping für 127.0.0.1 (Loopback-Adresse) ausführenWird Ping für die Loopback-Adresse erfolgreich ausgeführt, ist TCP/IP ordnungsgemäß installiert und geladen. Der Test ist nicht von der korrekten Installation eines Netzwerkadapters abhängig.
Ping für die eigene IP-Adresse
Wird Ping für eine eigene IP-Adresse erfolgreich ausgeführt, ist der entsprechende Netzwerkadapter (eine Netzwerkkarte, ein WLAN-Adapter) korrekt installiert und eingerichtet. Der Netzwerkadapter muss nicht mit einem Netzwerk physisch verbunden sein.
PING für die IP-Adresse des Standard-Gateways
Verläuft dieser Test erfolgreich, ist die Kommunikation innerhalb des lokalen Netzwerks und zum Standard-Gateway sichergestellt.
Verläuft der Test nicht erfolgreich, sollten Sie zunächst die IP-Adresse, Subnet Masks und IP-Adresse des Standard-Gateways überprüfen. Danach sollten Sie diese Angaben auf dem Standard-Gateway überprüfen.
Eine Fehlermöglichkeit ist auch die mehrfache Vergabe einer IP-Adresse (bei manueller Vergabe, keine Nutzung von DHCP).
PING für die IP-Adresse eines Remote-Host
Verläuft dieser Test erfolgreich, funktioniert die Kommunikation zum WAN (Internet) ordnungsgemäß; Standard-Gateway, Remote-Host und Router für die Verbindung arbeiten korrekt.
PING für einen Hostnamen
Verläuft PING unter Verwendung eines Hostnamens anstelle einer IP-Adresse erfolgreich, ist für den getesteten Host auch die Adresse eines DNS-Server gespeichert. Die Namensauflösung funktioniert ordnungsgemäß.
Beispiel, Ping an IP-Adresse von google.de:
ping 72.14.221.104
Beispiel, Ping an den Hostnamen von google.de:
ping www.google.de
Hinweis
Hosts eines privaten Netzwerks können Sie nur innerhalb des privaten Netzwerks anpingen. Senden Sie PING an die öffentliche IP-Adresse eines privaten Netzwerkes, wird diese Anforderung an den Router übermittelt, dem die öffentliche IP-Adresse zugeordnet ist. Für die Anwendung PING ist ein bestimmter Port festgelegt (Port 7), dieser ist nicht konfigurierbar. Sie können deshalb keinen anderen Port angegeben, für den ggf. auf dem Router eine Freigabe eingerichtet wurde, um mit PING einen Host innerhalb des privaten Netzwerks hinter dem Router zu erreichen.
Online
Buch
© Olaf Nensel. Alle Rechte vorbehalten. Letzte Änderung: 2009-04-25 18:58:02