REFERAT-MenüDeutschGeographieGeschichteChemieBiographienElektronik
 EnglischEpochenFranzösischBiologieInformatikItalienisch
 KunstLateinLiteraturMathematikMusikPhilosophie
 PhysikPolitikPsychologieRechtSonstigeSpanisch
 SportTechnikWirtschaftWirtschaftskunde  



TCP - IP-Protokolle und Dienste


















PRRV-Referat


TCP/IP-Protokolle

und Dienste






1. Einführung zu TCP/IP

1.1 Client-Server Prinzip


Spricht man heutzutage von "Internet", so fällt unweigerlich auch das Schlagwort "Client/Server". Dahinter verbirgt sich ein grundlegender Ansatz für den Aufbau von Internet-Anwendungen, bei der die Funktionalität in zwei separate Bereiche getrennt werden: Einen Client, der durch eine Client-Anwendungssoftware repräsentiert und von Internet-Anwendern genutzt wird, um einen bestimmten Dienst in Anspruch zu nehmen.

Einen Server, der durch eine Server-Software realisiert wird und die vom Client genutzte Funktionalität zur Verfügung stellt.


Der Informationsaustausch zwischen dem Server- und dem Clientprozeß erfolgt über die TCP/IP - Protokolle. Der Clientprozeß ist meistens mit einem Benutzerinterface verbunden und wird nur bei Bedarf gestartet, während der Server bereits auf Anforderungen "wartet" und falls notwendig auch mehrere Client-Prozesse parallel bedienen kann.


Wenn nun ein Client Dienste eines Servers anfordert, so geschieht dies über Ports. Der Client versucht, den Server auf einem je nach Protokoll unterschiedlich definierten Port anzusprechen. Bei well-known-services (z.B.: ftp) ist dieser Port immer gleich (z.B.: 21 für FTP). Die Port-Zuordnungspaare (Port/Protokoll) werden in einer eigenen Liste, die auf dem Server abgespeichert ist, festgelegt.

Der Server nimmt die Anforderungen eines Clients entgegen und leitet sie vom Standard-Port auf einen freien anderen Port um, über den der Client von einem Child-Prozeß des Serverdaemons dann ungestört bedient werden kann. Die Paare IP-Adresse/PortID müssen vom Serverprozeß verwaltet werden.




Abbildung : Client/Server-Prinzip am Beispiel HTTP

 


1.2 Was ist nun TCP/IP?


"TCP/IP" ist eine Sammlung von Protokollen, die (nicht nur) im globalen Internet ihre Anwendung finden. Den Namen bezieht es aus den zwei fundamentalen Protokollen dieser Sammlung, nämlich TCP und IP. Andere Protokolle sind zum Beispiel UDP und ICMP. Diese arbeiten zusammen, um Basis-Netzwerk-Funktionen bereitzustellen, die von vielen anderen Applikationsprotokollen genützt werden, um bestimmte Ziele zu erreichen. TCP/IP wurde ursprünglich von der ARPA (Advanced Research Projects Agency) des DoD (US Department of Defense) definiert.


Das TCP/IP besteht aus 4 Ebenen:

Netzwerkebene (Ebene 1):
besteht aus Protokollen, die für die Datenübertragung über ein spezielles Medium benötigt werden (z.B.: Ethernet, Token Ring etc.).


Internetebene (Ebene 2):
besteht aus dem Internetprotokoll IP, das die Datagramme überträgt, ARP, RIP


Übertragungsebene (Ebene 3):
besteht aus Protokollen, die Verbindungen zwischen Rechnern aufbauen, abbauen und aufrechterhalten können.


Anwendungsebene (Ebene 4):
besteht aus den Anwendungsprotokollen.



Abbildung : 4-Schichten-Modell

 





1.3 Definition der TCP/IP - Protokolle


Alle Protokolle der TCP/IP - Suite sind durch Requests For Comments (RFC's) definiert. Diese Dokumente sind (im Gegensatz zu z.B. IEEE-Protokolldefinitionen) für jedermann frei zugänglich.


RFC's können von jedem intelligenten Menschen erstellt und übermittelt werden. Standard RFC's sind oft das Produkt vieler Wochen und Monate laufender Diskussionen zwischen interessierten Parteien. Diese Diskussionen werden auf offenen Mailing Lists ausgetragen und sind ebenfalls für jedermann zugänglich.

Der RFC-Aufnahmenprozeß wird von der IESG (Internet Engineering Steering Group) unter Mitsprache der IETF (IE Task Force) gemanagt.


Nicht alle RFC's definieren TCP/IP Standards. Einige RFC's beinhalten Hintergrundinformationen, einige stellen Tips zur Verfügung, einige wiederum zeigen Schwachstellen von Protokollen auf.


Alle RFC's können auf dem offiziellen Archiv von InterNIC unter http://ds.internic.net/rfc bzw. auf demselben FTP-Server gefunden werden. Die über 2000 RFC's sind numeriert, zum Beispiel wird Telnet in RFC 818 und 854 beschrieben.



2. TCP/IP - Systemprotokolle

2.1 IP (Internet Protocol)


Das IP befindet sich eine Schicht unter dem TCP und erhält somit beim Senden vom TCP die Datensegmente mit den Adressen des Zielrechners. IP adressiert den Zielrechner und zerteilt die Datenpakete in einzelne Fragmente, die mit einem Header und dessen Prüfsumme versehen werden.


wichtigste Merkmale:

einfach, ungesichert, unzuverlässig

maximal 64KB Paketgröße


2.2 TCP (Transmission Control Protocol)


Wie es der Name bereits verrät, ist das TCP ein verbindungsorierntiertes End-to-End Protokoll, das die zu übertragenden Daten in numerierte Datenblöcke zerlegt und als Datagramme überträgt. Das TCP des Empfängers setzt diese in der richtigen Reihenfolge zusammen und fordert eventuell verlorengegangene Pakete nochmals an.


wichtigste Merkmale:

verbindungsorientiert

gesichterte Übertragung (Prüfsummen etc.)

dynamische Anpassung der Datenblöcke zur bestmöglichen Netzauslastung


2.3 UDP (User Datagram Protocol)


UDP stellt eine Anwendungsschnittstelle zum IP dar und sorgt für eine verbindungslose Kommunikation zwischen zwei entfernten Anwendungsprozessen. Es dient als "Multiplexer / Demultiplexer" für Ports zum Senden und Empfangen von Datagrammen über dieselben. Es besitzt einen sehr geringen Overhead und ist sehr "dünn" gestaltet. Dafür geschieht der Datenaustausch selbst außerordentlich schnell. Die Anwendung muß sich um die Fehlerbehandlung kümmern, da UDP die Daten mit nur einer unzureichenden Checksumme versieht (falls diese Funktion überhaupt aktiviert ist).

UDP wird vor allem vom FTP, DNS, RPS, NCS und SNMP verwendet.


2.4 ARP (Address Resolution Protocol) und RARP


ARP erledigt die Umsetzung logischer 32-Bit-Internetadressen in 48-Bit-MAC-Hardware-Ethernet-Adressen. Dazu wird ein Request als Broadcast ins Netz geschickt und die sich angesprochen gefühlte Station antwortet dann mit seiner Ethernet-Adresse.

RARP (Reverse ARP) funktioniert umgekehrt: Damit kann zum Beispiel eine laufwerkslose Station ("diskless Client"), die ihre Internet-Adresse nicht lokal speichern kann, ihre eigene Internet-Adresse erfragen.

ARP ist kein echtes IP-Protokoll, da dessen Datagramme keinen IP-Header besitzen.




2.5 ICMP (Internet Control Message Protocol)


Dieses Protokoll dient zur Übertragung von Fehlermeldungen und Steuerinformationen. Wird von den IP-Modulen bei der Datagrammverarbeitung ein Fehler entdeckt, dann wird an den Absender über IP eine ICMP-Meldung geschickt.

Das ICMP wird nur von Protokollen der unteren Ebenen und nicht von Anwendungen selbst verwendet. Ausnahmen sind jedoch ping und traceroute.

ICMP ist ebenfalls ein sehr einfach (sogar einfacher als UDP) gehaltenes Protokoll.


2.6 RIP (Routing Information Protocol)


Das RIP wird verwendet, um Routing-Informationen auszutauschen und zu aktualisieren. Jeder Gateway sendet in regelmäßigen Abständen seine Routing-Tabelle als Broadcast. Diese Nachricht wird von anderen Gateways abgehört und alle Routing-Tabellen somit auf den neuesten Stand gebracht.


3. Anwendungs-Protokolle (Dienste)


Neben den Systemprotokollen, die "Low-Level-Dienste" bereitstellen, gibt es eine Vielzahl anderer Protokolle, die die verschiedensten Aufgaben erledigen:


3.1 HTTP (Hypertext Transfer Protocol)


ist zweifelsohne eines der weltweit meistgenutzten Protokolle. Es ermöglicht die einfach und schnelle Übertragung verteilter Informationen. Dabei ist es sehr allgemein gehalten und basiert auf einem objektorientierten Ansatz. Ebenso besitzt es die Fähigkeit, Daten zu typisieren. HTTP basiert auf der Verwendung von URLs, die jedes Objekt im Internet eindeutig identifizieren.


3.2 Telnet


Telnet ermöglicht eine allgemeine, bidirektionale, 8-Bit-orientierte Verbindung zwischen Terminal und Hostrechner. Der Telnet Server akzeptiert Daten vom Client und vermittelt diese dem Betriebssystem in einer Art und Weise, als würden die Daten direkt am Terminal eingegeben werden. Antworten des Server-Betriebssystems werden ebenfalls zur Anzeige an den Telnet-Client übermittelt.

Zur sicheren Datenübertragung wird das TCP verwendet.


3.3 FTP (File Transfer Protocol)


Mit FTP ist es möglich, Filesysteme auf anderen Rechnern anzusprechen und Datenfiles entweder im Text- oder Binärformat über das TC-Protokoll zu übertragen.

Das Prinzip der FTP-Kommunikation beruht auf der Nutzung von zwei verschiedenen TCP-Kanälen, nämlich dem Kommandokanal und dem Datenkanal.

Neben den grundlegenden PUT und GET-Kommandos verfügt FTP auch über einige Datei-Management- und Benutzer-Authentifizierungs-Funktionen.

3.4 SMTP (Simple Mail Transfer Protocol)


SMTP ist ein sehr einfaches Protokoll zum Versand von E-Mails und basiert auf dem TCP. Dazu baut der Sender eine Verbindung zum Empfänger auf und führt nach erhält einer bestätigenden Rückmeldung den Nachrichtenaustausch durch. Angegeben wird dabei Absender (automatisch), Empfänger und die zu verschickende Nachricht. Beispiel: Unix-Kommando "mail".


3.5 POP3 (Post Office Protocol 3)


Wie in einem Postamt nehmen hier Server Nachrichten für User entgegen und speichern Sie in dessen Mailbox. Um an die Daten des Postfaches zu gelangen, bedient man sich meist des POP3-Protokolls, das dem SMTP sehr ähnlich ist. Zusätzlich muß eine Authentifizierung (Username und Paßwort) erfolgen.

Auf eine Mailbox wird in 3 Phasen zugegriffen: Authorization (Identifikation), Transaction (Holen und Löschen von Nachrichten) und Update (Datenbereinigung am Server).


3.6 IMAP (Internet Message Access Protocol)


Der Unterschied von IMAP zu anderen Protokollen liegt darin, daß man mit IMAP auf entfernte Messages zugreifen kann, als wären sie lokal gespeichert, ohne daß Dateien oder Nachrichten hin- und hergeschickt werden müssen. Beim herkömmlichen POP3 zum Beispiel werden die Nachrichten lokal gespeichert und danach vom Server gelöscht, um diese offline zu bearbeiten. Das birgt aber auch den Nachteil, daß diese Messages nur mehr von einem Rechner (bzw. User-Workspace) aus bearbeitet werden können. Nicht so bei IMAP.

Das Protokoll beinhaltet Operationen für das Erstellen, Löschen und Umbenennen von Mailboxen, Lesen und Löschen von Mails sowie eine Suchfunktion.


3.7 NNTP (Network News Transfer Protocol)


Neben dem Verschicken einfacher Mails, die an wenige Benutzer gerichtet sind, existiert auch ein "News-System". Dabei nimmt ein zentraler Server (News-Server) Nachrichten ähnlich einem "Schwarzen Brett" auf und macht sie mehr oder weniger interessierten Benutzern zugänglich. Darüber hinaus besteht auch die Möglichkeit, Nachrichten zwischen verschiedenen Servern auszutauschen (USENET).

Die gebräuchlichsten Befehle sind POST (Nachricht schicken), GROUP (Gruppe wählen), ARTICLE (Artikel wählen), LIST (Newsgroups anzeigen) und NEWGROUPS <zeit> (nur Infos neuer Gruppen anzeigen).


3.8 NFS (Network File System)


NFS erlaubt den Zugriff auf Daten eines Computers (Server) durch andere Computer (Clients), als ob die Daten auf einem Client-Laufwerk zu finden wären. Dadurch können Daten, die von vielen Benutzern geteilt werden, ohne Aufwand zentral verwaltet werden, auch findet NFS bei Diskless Clients Anwendung.

NFS kann über verschiedene Transportprotokolle abgewickelt werden, im allgemeinen wird aber UDP oder TCP verwendet.

Dasselbe Konzept wie bei NFS wird auch beim Drucken auf anderen Rechnern verwendet - Stichwort: Remote Printing.


3.9 X-Window-Systeme


Das X-Window-System (gebräuchlichste Version: X11R6) erlaubt den Zugriff auf ein virtuelles X-Terminal eines X-Servers von einem Client-Computer aus. Als Transportprotokoll wird auch hier wieder das TCP verwendet.


3.10 SNMP (Simple Network Managing Protocol)


Dieses Protokoll stellt Mittel zum Management und Monitoring von bestimmten Systemen über ein Netzwerk bereit. SNMP definiert Abfragen und Kommandos und sammelt Reaktionen und Events der Zielsysteme.


3.11 DNS (Domain Name System)


DNS übersetzt auf Anfrage numerische IP-Adressen (z.B.: 192.112.170.243) in für jeden Sterblichen lesbare Namen (www.pizzahut.com). DNS verwendet UDP für kleinere Abfragen und TCP für größere Datenmengen.


3.12 NTP (Network Time Protocol)


Das "Netzwerk-Zeit-Protokoll" wird zur Synchronisation von Computer-Echtzeituhren in bestimmten Computersystemen verwendet. NTP verwendet UDP.


3.13 Berkeley Remote - Kommandos


sind UNIX-Kommandos, die auf der kalifornischen Berkeley-Universität entwickelt wurden und deren Namen alle mit ,r' beginnen. Es sind dies unter anderem:

RLOGIN: Einloggen auf einem Remote-Rechner

RSH: Starten einer Remote-Shell auf einem anderen Computer

REXEC: Ausführen eines Programms auf einem anderen Rechner

RCP: Remote Copy


In allen Fällen wird auf die Ressourcen eines Remote-Computers zugegriffen, es geschehen Remote Procedure Calls (RPC). Dies geschieht vor allem, um die Fähigkeiten leistungsfähiger(er) Rechner auszunutzen.


Vorsicht: R-Kommandos verlangen nur bei der ersten Aktion nach login-Informationen Sicherheitsrisiken!






Haupt | Fügen Sie Referat | Kontakt | Impressum | Nutzungsbedingungen