Drucken

Netz: TCP/IP

Die Protokolle der TCP/IP Familie wurden für den Datenaustausch in heterogenen Rechnernetzen (d.h. Rechner verschiedener Hersteller mit unterschiedlichen Betriebssystemen) entwickelt. TCP steht für „Transmission Control Protocol“ und IP für „Internet Protocol“. Die Protokollspezifikationen sind in sogenannten RFC Dokumenten (= Request for Comment) festgeschrieben und veröffentlicht.

Das 7-Schichten Referenzmodell existiert nur als Erklärungsmodell der Netzwerkfunktionen. Tatsächlich sind die einzelnen Schichten nur oberflächlich definiert und es existieren zahlreiche Erweiterungen zwischen den Ebenen. Sie sind aber für das Verständnis bedeutungslos.

OSI Schicht Internet Protokolle
5-7AnwendungRailware: Fahren, Schalten und Melden, Zugübergaben, SystemsynchronisationRailware: Statistiken, Logbücher, Uhren
4TransportTransmission Control Protocol (TCP)User Datagram Protocol (UDP)
3NetzwerkInternet Protocol (IP)
2SicherungEthernet, Token Ring, PPP
1Phys. ÜbertragungTwisted Pair, Koax Kabel, Funk, ISDN

TCP/IP im OSI Modell


Die Schichten 5 bis 7 des OSI- Standards werden hier in einer Anwendungsschicht zusammengefasst, da die Anwendungsprogramme meist direkt mit der Transportschicht kommunizieren. Dies ist auch bei Railware der Fall.

In Schicht 4 befindet sich außer TCP, welches verbindungsorientierten, gesicherten Datentransport ermöglicht, auch UDP (User Datagram Protocol), in welchem verbindungsloser und ungesicherter Transport festgelegt ist. Beide Protokolle erlauben durch die Einführung sogenannter Ports den gleichzeitigen Zugriff mehrerer Anwendungsprogramme auf ein und dieselbe Maschine.

In Schicht 3 ist das verbindungslose Internet-Protokoll? (IP) angesiedelt. Datenpakete werden auf den Weg geschickt, ohne dass auf eine Empfangsbestätigung gewartet werden muss. Hier werden auch die IP- Adressen festgelegt. Auch das Routing findet hier statt, das heißt die Wegesteuerung eines Paketes von einem Netz ins andere. Ebenfalls in diese Ebene integriert sind die ARP Protokolle (ARP = Address Resolution Protocol), die zur Auflösung (Umwandlung) einer logischen IP- Adresse in eine physikalische Adresse (z.B. Ethernet) dienen und dazu sogenannte Broadcasts (Datenpakete, durch die alle angeschlossenen Stationen angesprochen werden) verwenden. ICMP, ein Protokoll, welches den Austausch von Kontroll- und Fehlerpaketen im Netz ermöglicht, ist ebenfalls in dieser Schicht realisiert.

Die Schichten 1 und 2 (z. B. Ethernet CSMA/CD, FDDI, SLIP, PPP) sind gegenüber Schicht 3 völlig transparent und brauchen hier nicht näher betrachtet zu werden.
Der große Vorteil der TCP/IP Protokollfamilie ist die einfache Realisierung von verknüpften Netzwerken. Einzelne lokale Netze werden über Router verbunden. Die Rechner können daher über mehrere Teilnetze hinweg miteinander kommunizieren.

IP - Internet Protokoll

Auf der Netzwerkschicht aufbauend liegt die Internet-Schicht?, die die erste Abstraktionsschicht vom Transportmechanismus darstellt. Auf dieser Schicht 3 stellt das Internet-Protokoll? (IP) den grundlegenden Netzdienst zur Verfügung, den Versand von Datenpaketen, sogenannten Datagrammen, über verschiedene Netze hinweg. Die Netzwerkschicht hat keine Information darüber, von welcher Art die Daten sind, die sie befördert. Nehmen wir als Beispiel das Ethernet: Von der Ethernetkarte werden die vom Netz kommenden Daten an die Treibersoftware für die Karte weitergereicht. Diese interpretiert einen Teil dieser Daten als IP- Header und den Rest als Datenteil eines IP- Paketes. Auf diese Weise ist der IP- Header innerhalb eines Ethernet-Paketes? eingekapselt. Aber auch das IP- Paket selbst enthält wieder ein Datenpaket für eine höhere Protokollebene (TCP), dessen Header auf der IP- Ebene als Bestandteil der Daten erscheint. Man kann sich das so vorstellen, wie die russischen Puppen, die ineinandergeschachtelt sind. Die kleinste Puppe ganz innen repräsentiert die Nutzdaten, alle außen herum geschachtelten Puppen sind „Protokoll- Verpackung“.



IP ist ein verbindungsloses Protokoll. Es ist also nicht notwendig, eine IP- Verbindung zu einem Rechner zu „öffnen“, bevor man Daten zu diesem Rechner senden kann, sondern es genügt, das IP- Paket einfach abzusenden und darauf zu vertrauen, dass es schon ankommen wird. Bei einem verbindungsorientierten Protokoll wird beim Öffnen einer Verbindung getestet, ob der Zielrechner überhaupt erreichbar ist. Ein verbindungsloses Protokoll macht das nicht und kann demnach auch nicht garantieren, dass ein Datenpaket überhaupt beim Empfänger ankommt. IP garantiert auch nicht, dass von einem einmal abgeschickten Datenpaket nur eine Kopie beim Empfänger ankommt oder dass in einer bestimmten Reihenfolge abgeschickte Datenpakete auch wieder in dieser Reihenfolge empfangen werden. Ein zuverlässiger verbindungsorientierter Dienst wird in der darüber liegenden TCP- Ebene realisiert.

Die Adressen, die in IP (auch im Internet) verwendet werden, bestehen aus einer 32 Bit langen Zahl. Damit sich die Zahl leichter darstellen lässt, unterteilt man sie in 4 Bytes (zu je 8 Bit). Diese Bytes werden dezimal notiert und durch Punkte getrennt. Zum Beispiel:

141.84.101.2

129.187.10.25


Bei dieser Adresse werden zwei Teile unterschieden, die Netzwerkadresse und die Rechneradresse, wobei unterschiedlich viele Bytes für beide Adressen verwendet werden: Die Bereiche für die Netzwerkadresse ergeben sich durch die Zuordnung der ersten Bits der ersten Zahl, die eine Erkennung von Netzklassen möglich machen.

Netzklassen


Klasse A – NetzKlasse B - NetzKlasse C - Netz
Netz-ID8 Bit = 1 Byte16 Bit = 2 Byte24 Bit = 3 Byte
Host-ID24 Bit = 3 Byte16 Bit = 2 Byte8 Bit = 1 Byte
Netzmaske255.0.0.0255.255.0.0255.255.255.0
Wertebereich (theoretisch)0.0.0.0 bis 127.255.255.255128.0.0.0 bis 191.255.255.255192.0.0.0 bis 223.255.255.255
Anzahl der Netze128163842097152
Anzahl Rechner im Netz1677721665536256

Netzklassen


Besondere Adressklassen


Klasse DKlasse E
Adressklassen-ID4 Bit = "1110"5 Bit = "11110"
Wertebereich224.0.0.0 bis 239.255.255.255240.0.0.0 bis 247.255.255.255
Anwendungenfür Multicast- Gruppen (streaming)reservierte Adressen für Zukünftiges


Besondere Netzklassen


Grundsätzlich gilt:
  • Alle Rechner mit der gleichen Netzwerkadresse gehören zu einem Netz und sind untereinander erreichbar.
  • Zur Koppelung von Netzen unterschiedlicher Adresse wird eine spezielle Hardware- oder Softwarekomponente, ein sogenannter Router, benötigt.
  • Je nach Zahl der zu koppelnden Rechner wird die Netzwerkklasse gewählt.

In einem Netz der Klasse C können z.B. 254 verschiedene Rechner gekoppelt werden (Rechneradressen 1 bis 254). Die Adresse 0 wird für die Identifikation des Netzes benötigt und die Adresse 255 für Broadcast- Meldungen.

Die Netzwerkadresse 127.0.0.1 bezeichnet den eigenen lokalen Rechner. Sie dient der Konsistenz der Netzwerksoftware (jeder Rechner ist über seine Adresse ansprechbar) und Testzwecken.

Damit man nun lokale Netze ohne Internetanbindung mit TCP/IP betreiben kann, ohne „offizielle“ IP Nummern beantragen zu müssen und um einzelne Rechnerverbindungen testen zu können, gibt es einen ausgesuchten Nummernkreis, der von keinen Router nach außen gegeben wird. Diese „privaten“ Adressen sind im RFC 1597 festgelegt. Es gibt ein Class-A Netz, 16 Class-B Netze und 254 Class-C Netze:

Class-A Netz: 10.0.0.0 bis 10.255.255.255

Class-B Netze: 172.16.0.0 bis 172.31.255.255

Class-C Netze: 192.168.0.0 bis 192.168.255.255


Zusätzlich ist noch das folgende Class-B Netz für private Netze reserviert, das von Apple- und Microsoft-Clients? verwendet wird, sofern kein DHCP- Server zur Verfügung steht. Das Verfahren heißt APIPA (Automatic Private IP Addressing):

169.254.0.0 bis 169.254.255.255


Netzmasken

Die Netzmaske dient dem Rechner dazu, die Zuordnung von Netzwerk- und Rechner- Teil vorzunehmen. Sie hat denselben Aufbau wie eine IP- Adresse (32 Bit bzw. 4 Byte). Per Definition sind alle Bit des Netzwerk- Teils auf 1 zu setzen, alle Bit des Rechner- Teils auf 0. Für die obigen Adressklassen hat die Netzmaske demnach folgendes Aussehen:

Adress-KlasseNetzmaske (binär)Netzmaske (dezimal)
Class A11111111.00000000.00000000.00000000255.0.0.0
Class B11111111.11111111.00000000.00000000255.255.0.0
Class C11111111.11111111.11111111.00000000255.255.255.0

Netzmasken


Diese Netzmaske kann manuell überschrieben werden. Eine Netzmaske für ein Netz der Klasse C lautet daher 255.255.255.0. Das bedeutet, dass die ersten drei Bytes die Netzadresse angeben und das vierte Byte die Rechner adressiert. Eine Netzmaske mit dem Wert 255.255.0.0 würde folglich ein Netz der Klasse B angeben und für ein C-Netz? steht die Maske 255.255.255.0.

UDP - User Datagramm Protokoll

UDP ist ein einfaches Schicht-4 Protokoll, das einen nicht zuverlässigen, verbindungslosen Transportdienst ohne Datenflusskontrolle zur Verfügung stellt. UDP ermöglicht zwischen zwei Stationen mehrere unabhängige Kommunikationsbeziehungen: Die Identifikation der beiden Prozesse einer Verbindung geschieht (wie auch bei TCP) durch Port- Nummern (kurz Ports), die allgemein bekannten Anwendungen fest zugeordnet sind. Es lassen sich aber auch Ports dynamisch vergeben oder bei einer Anwendung durch verschiedene Ports deren Verhalten steuern. Die Transporteinheiten werden "UDP- Datagramme" oder "User Datagramme" genannt.

TCP - Transmission Control Protokoll

Welches übergeordnete Protokoll der Transportschicht das Datenpaket erhält, steht im Protokoll- Feld eines jeden IP- Paketes. Jedes Protokoll der Transportschicht bekommt eine eindeutige Identifikationsnummer zugewiesen, anhand der die IP- Schicht entscheiden kann, wie weiter mit dem Paket zu verfahren ist. Eines der wichtigsten Protokolle der Transportschicht ist TCP. Die Aufgabe von TCP ist es, die oben geschilderten Defizite von IP zu verbergen. Für den TCP- Benutzer soll es nicht mehr sichtbar sein, dass die darunter liegenden Protokollschichten Datenpakete versenden, sondern der Benutzer soll mit einem Datenstrom wie bei einer normalen Datei arbeiten können. TCP garantiert vor allen Dingen den korrekten Transport der Daten - jedes Paket kommt nur einmal, fehlerfrei und in der richtigen Reihenfolge an. Zusätzlich können bei TCP mehrere Programme die Verbindung zwischen zwei Rechnern quasi gleichzeitig nutzen. TCP teilt die Verbindung in viele virtuelle Kanäle (Ports) auf, die im zeitmultiplex mit Daten versorgt werden. Nur so ist es möglich, dass beispielsweise mehrere Benutzer eines Rechners zur selben Zeit das Netz in Anspruch nehmen können oder dass man mit einer einzigen Wählverbindung zum Provider gleichzeitig E-Mail? empfangen und Dateien per FTP übertragen kann.

Dieses Protokoll implementiert also einen verbindungsorientierten, sicheren Transportdienst. Die Sicherheit wird durch positive Rückmeldungen (acknowledgements) und Wiederholung fehlerhafter Blöcke erreicht. Fast alle Standardanwendungen vieler Betriebssysteme nutzen TCP und das darunter liegende IP als Transportprotokoll, weshalb man die gesamte Protokollfamilie allgemein unter 'TCP/IP' zusammenfasst. TCP lässt sich in lokalen und weltweiten Netzen einsetzen, da IP und die darunter liegenden Schichten mit den unterschiedlichsten Netzwerk- und Übertragungssystemen arbeiten können (Ethernet, Funk, serielle Leitungen, etc.).

Wie bei allen verbindungsorientierten Diensten muss zunächst eine virtuelle Verbindung aufgebaut und bei Beendigung der Kommunikation wieder abgebaut werden. „Verbindungsaufbau“ bedeutet hier eine Vereinbarung beider Stationen über die Modalitäten der Übertragung. Ausgangs- und Endpunkte einer virtuellen Verbindung werden wie bei UDP durch Ports identifiziert. Allgemein verfügbare Dienste werden über „well known“ Ports (fest zugeordnete Portnummern) erreichbar. Andere Portnummern werden beim Verbindungsaufbau vereinbart.

Portnummern

Durch die Verwendung von Portnummern können mehrere Applikationen quasi gleichzeitig auf Netzwerkdienste zugreifen. Sie dienen den Treibern der Netzwerkkarten zur Identifikation und Weiterleitung eingehender Datagramme.

Die Portnummern lassen sich in drei Kategorien einteilen: bekannte Ports (well known Ports), registrierte Ports (registered Ports) und private Ports (private Ports).

Well Known Ports liegen zwischen 0 und 1023.
Registered Ports von 1024 bis 49151
Private Ports von 49152 und 65535

Alle bekannten Ports (z.B. 80 für HTTP) werden von einem internationalen Gremium (IANA) festgelegt und dienen in der Regel gängigen Betriebs- und Netzwerkfunktionen. Jedermann kann sich eigene Ports registrieren lassen.

Portnummernvergabe

Hier eine Auswahl von reservierten Ports (Stand Feb. 2004):

KeywordDecimalDescription
0/tcpReserved
0/udpReserved
tcpmux1/tcpTCP Port Service Multiplexer
echo7/tcpEcho
discard9/tcpDiscard
systat11/tcpActive Users
daytime13/tcpDaytime (RFC 867)
ftp-data20/tcpFile Transfer Default Data
ftp21/tcpFile Transfer Control
ssh22/tcpSSH Remote Login Protocol
telnet23/tcpTelnet
smtp25/tcpSimple Mail Transfer
time37/tcpTime
name42/tcpHost Name Server
nameserver42/tcpHost Name Server
nicname43/tcpWho Is
domain53/tcpDomain Name Server
tacacs-ds65/tcpTACACS-Database Service
sql*net66/tcpOracle SQL*NET
tftp69/tcpTrivial File Transfer
gopher70/tcpGopher
http80/tcpWorld Wide Web HTTP
kerberos88/tcpKerberos
npp92/tcpNetwork Printing Protocol
supdup95/tcpSUPDUP
auth113/tcpAuthentication Service
nntp119/tcpNetwork News Transfer Protocol
imap143/tcpInternet Message Access Protocol
snmp161/tcpSNMP
snmp161/udpSNMP
netware-ip396/tcpNovell Netware over IP
https443/tcphttp protocol over TLS/SSL


Hier eine Übersicht einiger frei verfügbarer Ports (Stand Feb. 2004):

Keyword Decimal Description
- - ---
# 6970-6997 Unassigned
# 8955-8998 Unassigned
# 9901-9908 Unassigned
# 10081-10100 Unassigned
# 10104-10112 Unassigned
# 10117-10127 Unassigned
# 10129-10251 Unassigned
# 10253-10259 Unassigned
# 10261-10287 Unassigned
# 10991-10999 Unassigned
# 11112-11200 Unassigned
# 11322-11366 Unassigned
# 11372-11599 Unassigned
# 11601-11719 Unassigned
# 11721-11750 Unassigned
# 11752-11966 Unassigned
# 11968-11999 Unassigned
# 13784-13817 Unassigned
# 13823-14000 Unassigned
# 14002-14032 Unassigned
# 14035-14140 Unassigned
# 14142-14144 Unassigned
# 14146-14148 Unassigned
# 14150-14935 Unassigned
# 15001-15344 Unassigned
# 15346-15362 Unassigned
# 15364-16160 Unassigned

Von Railware genutzte Portnummern

In Railware wurden in der Frühzeit bekannte Portnummern verwendet, die sich heute leider mit reservierten Diensten überschneiden können. Derartige Überscheidungen äußern sich im Fehlverhalten in den Netzwerkfunktionen von Railware und sind nur durch fachkundige Nutzung eines Netzwerkmonitors herauszufinden.

Darum wird empfohlen, auf allen beteiligten Rechnern mittels des Programms ProfiParam?.exe eindeutige und freie Portnummern einzustellen. Am einfachsten ist es, wenn man vor die vierstelligen Portnummern eine oder zwei "1" oder "2" vorstellt. Dann befindet man sich in der Regel in einem gesicherten Bereich.


Portnummern in Profi Parameter


UDP Port Statistik
Über diesen Port werden Statistiken und Meldungen in den Betriebslogbüchern der Betriebsrechner an das Programm „CentralLog“ gesandt.

UDP Port Spy Management
Dieser Port wird für das Spy Management System verwendet. Mittels des Spy Management können Start und Stop der Programme und des Zugbetriebs, einige Änderungen des Zugbetriebs und der Shutdown der PCs ferngesteuert werden.

UDP Port Zentraluhr
Die Normaluhren empfangen über diesen Port die aktuelle Uhrzeit von der Zentraluhr. Diese Information wird einmal pro Minute übertragen.

UDP Port Lichtuhr
Ein optional im Leitrechner installiertes Lichtsystem oder ein gleichartiges Kopplungsprogramm zu bestehenden Lichtsteuerungen synchronisiert über diesen Port die aktuelle Tageszeit. In aller Regel werden hier volle Stunden übertragen.

TCP Port Gleisübergang
Im dezentralen Betriebsmode tauschen die einzelnen Betriebsrechner benötigte Informationen zur Reservierung und Freigabe von Fahrstraßen, der Blocksteuerung, einer optionalen Gleisumschaltung und den Zug- und Fahrdaten aus. Ein eventuell installierter Leitrechner ist hieran nicht beteiligt.

TCP Port DC Control Unit
Dieser Port wird zur Kommunikation mit speziellen im Handel nicht frei erhältlichen Boostern und DCC Controlboards benötigt, die eine eigene Netzwerkschnittstelle besitzen.

Zu dieser Seite haben beigesteuert: admin und Andrea Hinz15080 Punkte  .
Page last modified on Mittwoch 06 April, 2011 12:58CEST by admin.
Der Inhalt dieser Seite unterliegt folgenden Lizenzbestimmungen: Copyright.

Suche

in: