TCP/IP-Netzwerkprotokolle

Im unserem heutigen Informationszeitalter, in dem Google, Facebook und Skype überall und jederzeit verfügbar sind, wird oft vergessen, dass dies alles auf globalen Netzwerken und vor allem auf eindeutigen Netzwerkprotokollen beruht.

Allgemein formuliert ist ein Netzwerkprotokoll:

„Eine exakte Vereinbarung (Protokoll), nach der Daten zwischen Computern bzw. Prozessen ausgetauscht werden, die durch ein Netz miteinander verbunden sind.“

Grundlage für die unterschiedlichen Netzwerkprotokolle, ist das so genannte OSI-Schichtenmodell, das in der nächsten Tabelle dargestellt wird und am besten von unten nach oben gelesen wird.

OSI-SchichtOSI-Schicht-NameTCP/IP-SchichtBeispiel
7AnwendungenAnwendungenHTTP, FTP, SMTP, POP, Telnet, OPC UA
6Darstellung(=OSI 5–7)
5SitzungSOCKS
4TransportTransportTCP, UDP, SCTP
3VermittlungInternetIP (IPv4,IPv6)
2SicherungNetzzugangEthernet, Token Bus, Token Ring, FDDI
1Bitübertragung(=OSI 1–2)

Das Internetprotokoll oder besser gesagt, die gesamte Internetprotokollfamilie ist hierbei eine spezielle Ansammlung von ca. 500 Netzwerkprotokollen, die auf Basis des OSI-Schichtenmodell, die Basis für die Netzkommunikation des Internet darstellen.
Die Aufgabe des TCP/IP-Referenzmodell ist dabei speziell, einen Datenaustausch über die Grenzen des lokalen Netzwerkes hinaus zu ermöglichen (Internetworking). Es wird dabei aber weder der Zugriff auf ein Übertragungsmedium noch die Datenübertragungstechnik definiert. Vielmehr sind die Internet-Protokolle dafür zuständig, Datenpakete über mehrere Punkt-zu-Punkt-Verbindungen (Hops) weiterzuvermitteln und auf dieser Basis Verbindungen zwischen Netzwerkteilnehmern über mehrere Hops herzustellen.
Für jedes einzelne TCP/IP-Protokoll wurde ein Request for Comments (kurz RFC) festgelegt. Ein RFC beinhaltet eine Reihe von technischen und organisatorischen Dokumenten, des jeweiligen zu beschreibenden Netzwerk-Protokolls.

Wichtige TCP/IP-Protokolle sind unter anderem:

  • RFC 821 (SMTP)
  • RFC 854 (Telnet)
  • RFC 868 (NTP)
  • RFC 959 (FTP)
  • RFC 1939 (POP3)
  • RFC 1945 (HTTP 1.0)
  • RFC 2616 (HTTP 1.1)
  • RFC 2818 (HTTPS)
  • RFC 2821 (SMTP)
  • RFC 3501 (IMAP 4)
  • RFC 4511 (LDAP)

Durch den Einsatz von TCP/IP-Verbindungen, können Verbindungen zu einem Host aufgebaut werden. Der Host kann entweder als IP-Adresse oder als Name angegeben werden. Bei der Verwendung eines Namens wird die IP-Adresse von einem DNS-Server bereitgestellt.
Der Austausch von Nachrichten erfordert dabei häufig ein gleichzeitiges Zusammenspiel verschiedener TCP/IP-Protokolle. Den einzelnen TCP/IP-Protokollen werden daher unterschiedliche Ports zugeordnet.

TCP/IP Protokollverwendeter Port
FTP21
TELNET23
SMTP25
HTTP80
HTTPS443
POP3110

Im RFC werden vor allem Standardkommunikationskommandos definiert, die von einem Client oder Server, der ein TCP/IP-Protokoll verwendet, verarbeitet werden sollten.

Hier z.B. eine Tabelle der Kommandos, die vom RFC für das TCP/IP-Protokoll POP3 festgelegt wurden:

KommandoBeschreibung
USER xxxwählt den Benutzernamen bzw. das Benutzerkonto auf dem E-Mail-Server.
PASS xxxübergibt das Passwort in Klartext.
STATliefert den Status der Mailbox, u.a. die Anzahl aller E-Mails im Postfach und deren Gesamtgröße (in Byte).
LIST (n)liefert die Anzahl und die Größe der (n-ten) E-Mail(s).
RETR nholt die n-te E-Mail vom E-Mail-Server.
DELE nlöscht die n-te E-Mail am E-Mail-Server.
NOOPkeine Funktion, der Server antwortet mit +OK.
RSETsetzt alle DELE-Kommandos zurück.
QUITbeendet die aktuelle POP3-Sitzung und führt alle DELE-Kommandos durch.
APOPsichere Anmeldung, s.u.
TOP n xruft den Header und die ersten x Zeilen der n-ten Mail ab.
UIDL nzeigt die eindeutige ID der E-Mail an.

Anhand der in den jeweiligen RFCs festgelegten Definitionen, ist es auch mit CONZEPT 16, durch Zuhilfenahme der CONZEPT 16 eigenen Socket Befehle, einfach möglich, RFC konforme TCP/IP-Netzwerkprotokolle, client- und serverseitig selbst zu realisieren.

Beispiel:

Unter Zuhilfenahme der RFC Befehle USER und PASS wird eine Verbindung zu einem POP3 E-Mailserver hergestellt.

// *********************************************************************
// * Es wird eine Verbindung zu einem E-Mail Server (POP3) hergestellt *
// *********************************************************************
@A+
@C+

sub Pop_Command
(
  aHdl          : handle;
  aCmd          : alpha;
  VAR aResult   : alpha;
)
{
  if (StrLen(aCmd) > 0)
  {
    try
    {
      aHdl->SckWrite(_SckLine,aCmd);
      aHdl->SckRead(_SckReadMax,aResult,4096);
      if (!(aResult =* '+*'))
        ErrSet(_ErrGeneric);
    }

    if (ErrGet() != _ErrOk)
      aHdl->SckClose();
  }
}


sub Pop_Login
(
  var aHdl      : handle;
  aUser         : alpha;
  aPassword     : alpha;
  aServer       : alpha;
)
: logic

local
  {
    tPort       : word;
    tResult     : alpha(4096);
  }

{
  tPort # 110;
  try
  {
    aHdl # SckConnect(aServer,tPort);
    aHdl->Pop_Command('USER ' + aUser    ,VAR tResult);
    aHdl->Pop_Command('PASS ' + aPassword,VAR tResult);
    return(true);
  }
  return(false);
}


main

  local
  {
    tHdl          : handle;
    tServer       : alpha;
    tUser         : alpha;
    tPassword     : alpha;
  }

{
  tServer   # 'pop.googlemail.com';
  tUser     # '';
  tPassword # '123456789';

  if (Pop_Login(var tHdl,tUser,tPassword,tServer))
  {
    WinDialogBox(0,'', 'Verbindung hergestellt!', 0, 0, 0);
    tHdl->SckClose();
  }
  else
    WinDialogBox(0,'', 'Verbindung nicht hergestellt!', 0, 0, 0);
}

// *********************************************************************

In der CONZEPT 16 – Code Library im Bereich Schnittstellen / Sockets befinden sich weitere Beispiele, die exemplarisch die Realisierungen von TCP/IP-Protokollen veranschaulichen.
Es existieren Beispiele zu den TCP/IP-Protokollen:

  • FTP
  • HTTP
  • POP3
  • Telnet
  • Time (NTP)

Schreiben Sie einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Leave the field below empty!

IHRE EVALUIERUNGSLIZENZ - JETZT ANFORDERN!

TESTEN SIE DIE CONZEPT 16 VOLLVERSION - UNVERBINDLICH und KOSTENFREI

Melden Sie sich bei unserem Newsletter an

Anrede*
     
Zustimmung zur Datenverarbeitung gem. DSGVO*



WordPress Cookie-Hinweis von Real Cookie Banner