TCP/IP-Protokolle und Dienste

Werbung
HTBLuVA Wiener Neustadt
Abteilung EDVO
Babenbergerring 5a
2700 Wiener Neustadt
PRRV-Referat
TCP/IP-Protokolle
und Dienste
Martin Karastojanoff / 5 AD
Version 1.2 / Dezember 1998
Karastojanoff / 5 AD
TCP/IP Protokolle und Dienste
Dezember 1998
Inhaltsverzeichnis
1. EINFÜHRUNG ZU TCP/IP ..........................................3
1.1
CLIENT-SERVER PRINZIP ................................................................................... 3
1.2
WAS IST "TCP/IP"? .......................................................................................... 3
1.3
DEFINITION DER TCP/IP - PROTOKOLLE............................................................. 4
2. TCP/IP – SYSTEMPROTOKOLLE .............................5
2.1
IP (INTERNET PROTOCOL)................................................................................. 5
2.2
TCP (TRANSMISSION CONTROL PROTOCOL) ...................................................... 5
2.3
UDP (USER DATAGRAM PROTOCOL) ................................................................. 5
2.4
ARP (ADDRESS RESOLUTION PROTOCOL) UND RARP ....................................... 5
2.5
ICMP (INTERNET CONTROL MESSAGE PROTOCOL)............................................. 6
2.6
RIP (ROUTING INFORMATION PROTOCOL) .......................................................... 6
3. ANWENDUNGS-PROTOKOLLE (DIENSTE) ............6
3.1
HTTP (HYPERTEXT TRANSFER PROTOCOL) ....................................................... 6
3.2
TELNET ............................................................................................................ 6
3.3
FTP (FILE TRANSFER PROTOCOL) ..................................................................... 6
3.4
SMTP (SIMPLE MAIL TRANSFER PROTOCOL) ..................................................... 7
3.5
POP3 (POST OFFICE PROTOCOL 3) .................................................................. 7
3.6
IMAP (INTERNET MESSAGE ACCESS PROTOCOL) ............................................... 7
3.7
NNTP (NETWORK NEWS TRANSFER PROTOCOL)................................................ 7
3.8
NFS (NETWORK FILE SYSTEM) ......................................................................... 7
3.9
X-W INDOW -SYSTEME ....................................................................................... 8
3.10 SNMP (SIMPLE NETWORK MANAGING PROTOCOL)............................................. 8
3.11 DNS (DOMAIN NAME SYSTEM) .......................................................................... 8
3.12 NTP (NETWORK TIME PROTOCOL) .................................................................... 8
3.13 BERKELEY REMOTE - KOMMANDOS .................................................................... 8
890.rtf
Seite 2
Karastojanoff / 5 AD
TCP/IP Protokolle und Dienste
Dezember 1998
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 InternetAnwendern 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 1: 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.
890.rtf
Seite 3
Karastojanoff / 5 AD
TCP/IP Protokolle und Dienste
Dezember 1998
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 2: 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.
890.rtf
Seite 4
Karastojanoff / 5 AD
TCP/IP Protokolle und Dienste
Dezember 1998
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.
890.rtf
Seite 5
Karastojanoff / 5 AD
TCP/IP Protokolle und Dienste
Dezember 1998
2.5 ICMP (Internet Control Message Protocol)
Dieses Protokoll dient zur Übertragung von Fehlermeldungen und Steuerinformationen. Wird von den IPModulen bei der Datagrammverarbeitung ein Fehler entdeckt, dann wird an den Absender über IP eine ICMPMeldung 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 ServerBetriebssystems 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.
890.rtf
Seite 6
Karastojanoff / 5 AD
TCP/IP Protokolle und Dienste
Dezember 1998
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 „NewsSystem“. 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.
890.rtf
Seite 7
Karastojanoff / 5 AD
TCP/IP Protokolle und Dienste
Dezember 1998
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!
890.rtf
Seite 8
Herunterladen