Protokoll

Ein Protokoll besteht aus einer Reihe von Regeln und Vereinbarungen über das Übertragen von Informationen in einem Netzwerk. Durch diese Regeln werden der Inhalt, das Format, die Wiederholungsrate,  die Reihenfolge und die Fehlerkontrolle der im Netzwerk ausgetauschten Nachrichten und Daten festgelegt.  Protokolle regeln durch Syntax, Semantik und Synchronisation die Kommunikationen in Netzwerken (Netzwerkprotokoll) und in der Hardware und Software.  In Protokollen wird die physische Verbindung geregelt, die Art und Weise der Verbindung, die Datenflusskontrolle (Handshaking), das Fehlerkorrekturverfahren, die Fehleridentifizierung und Fehlerprotokollierung (Logging und Fehlerausgabe)  sowie die Formatierung des Inhaltes einer Übertragung. Weiterhin werden Verhaltensweisen bei Auftreten einer Unterbrechung der Konnektion festgelegt. 

Internetprotokolle, Protokollstapel und Referenzmodell
Der Erfolg des Internet hängt wesentlich von den zugrundeliegenden Protokollen ab. Die Grundlegensten sind TCP (Transmission Control Protocol) und IP (Internet Protocol).  Protokolle treten häufig als Protokollstapel (Kombination von Protokollen) und in Schichten als Referenzmodell auf (z.B. OSI-Schichtenmodell). Ein Referenzmodell ist eine Softwarearchitektur anhand der sich auch die Prinzipien einer solchen ablesen  lassen wie Datenkapselung, Modularität und Geheimnisprinzip. Die saubere Definition der Schnittstellen, der Handshake und die Daten- und Kommunikationskontrolle sind dabei wesentlich.  Protokolle kommen auch als Protokollfamilie (Internetprotokollfamilie), als Softwarschnittstelle oder API oder als Konvention (z.B. Aufrufkonvention, Calling Convention) vor.  Bekannte Protokolle neben den bereits erwähnten sind: UDP, NNTP, SNTP, IMAP, POP, SMTP, L2TP, SSH, FTP, Telnet, HTTP, UDS oder DHCP.                                       
Siehe auch:    TCP-IP   HTTP   FTP   Transfer-Protocol   Ethernet   Token-Ring   POP3   IPv6   IMAP4   Übertragungsprotokoll


  Es wurden weitere Begriffe gefunden:


  TCP-IP-Referenzmodell

Das TCP/IP-Referenzmodell ist ein Refernzmodell für die Internetprotokollfamilie.  Es handelt sich um Schichten, welche die Kommunikation in TCP/IP Netzwerken gliedern. Das TCP/IP-Referenzmodell ist auf die Internet-Protokolle zugeschnitten.  Die Internet-Protokolle vermitteln Datenpakete über mehrere Punkt-zu-Punkt-Verbindungen (sogenannte Hops) weiter. Auf dieser Grundlage stellen sie Verbindungen zwischen Netzwerkteilnehmern über mehrere Hops her.  Die Schichten sind: (von unten nach oben) Netzwerkschicht (entspricht OSI 1-2), Internetschicht (OSI 3, Beispiel: ARP, IPv4, IPv6), Transportschicht (OSI 4, Beispiel: TCP), Anwendungsschicht (OSI 5-7, Beispiel: HTTP).                                                   
Siehe auch:    OSI-Schichtenmodell   Internetprotokollfamilie   TCP-IP   protokoll   ARP   IPv4   IPv6   HTTP   

  FTP

File Transfer Protocol. FTP ist ein Netzwerkprotokoll zur Übertragung von Dateien im Internet und in lokalen Netzwerken, bei denen das TCP/IP-Protokoll zur Anwendung kommt. FTP befindet sich auf Schicht 7 des OSI-Schichtenmodells  (Application Layer/Anwendungsschicht). Via FTP kann man Daten von einem Client zu einem Server oder vice versa übertragen oder auch clientgesteuert zwischen 2 Servern. Bei FTP wird für die Datenübertragung und die Steuerung jeweils eine eigene Leitung  verwendet. Ein Standard Port für eine FTP Sitzung ist der Port 21 (Control Port des Servers): der FTP-Client beginnt eine FTP Sitzung, indem er eine Verbindung zum Port 21 (bzw. den jeweiligen Control Port des Servers) über TCP aufbaut.  Der FTP-Client sendet über diese Leitung Befehle zum Server, die dieser nach einer eventuellen Authentifizierung mit einem Statuscode quittiert. Die Übertragung der Daten und Verzeichnislisten erfolgt separat über den Data Port (standardmässig Port 20).  Hierbei wird i.d.R. pro Vorgang eine TCP-Verbindung verwendet.

FTP-Modi: Active Mode und Passive Mode
Dabei gibt es zwei verschiedene Modi eine solche Verbindung aufzubauen: den Active Mode (Aktives FTP)  und den Passive Mode (passives FTP): der Active Mode (Aktives FTP)  zeichnet sich dadurch aus, dass der FTP-Client einen zufälligen Port öffnet und dem Server über diesen Port die Port Nummer und seine IP-Adresse durch das PORT-Kommando mitteilt. Es handelt sich hierbei i.d.R. um einen Port  des Clients von Port 1023 an aufwärts. Beim Passive Mode (passives FTP) sendet der FTP-Client ein PASV-Kommando an den Server, woraufhin dieser einen Port öffnet und die Port Nummer mitsamt seiner IP-Adresse an den Client übermittelt. Diese Port  Nummer wird dann zum Server Port, der Client Port ist i.d.R. eine Port Nummer ab 1023 aufwärts.

FXP
Es kann aber auch FXP vorliegen (File Exchange Protocol): beim FXP werden Dateien zwischen  2 FTP-Servern ausgetaucht, ohne dass sie über einen FTP Client laufen müssen. Dabei wird der Active und Passive Mode gleichzeitig eingesetzt: Ein FTP-Client sendet an einen FTP-Server ein PASV-Kommando (Passive Mode):  daraufhin erhält er die Port Nummer des Server Ports und die IP-Adresse des FTP-Servers. Danach sendet der FTP-Client ein PORT-Kommando an einen zweiten FTP-Server (Active Mode); jedoch enthält dieses PORT-Kommando  als Argument nicht die eigene IP-Adresse und Port Nummer, sondern die Antwort des ersten FTP-Servers, wodurch der zweite FTP-Server eine Verbindung zum ersten FTP-Server aufbaut. Um die Datenübertragung zu starten sendet der  FTP-Client das RETR-Kommando an den zweiten FTP-Server und das STOR-Kommando an den ersten FTP-Server. Falls einer der Server keinen Passive Mode unterstützt, kann auf dem anderen Server ein PASV-Kommando ausgeführt werden (Alternative Mode).  Die FXP-Übertragungen können durch den CPSV-Befehl (statt PASV) oder durch SSCN (Set Secured Client Negotiation) sicherer gemacht werden. Diese Methoden sind jedoch anfällig für Man-in-the Middle Attacken, da die Zertifikate nicht  überprüft werden.

FTP und Sicherheit
Um FTP sicherer zu machen kann man Secure FTP (Secure File Transfer Protocol),  SSH File Transfer Protocol (SFTP: eine Weiterentwicklung von Secure Copy) verwenden, oder gar ein anderes Protokoll: MBS/IP (Multi-purpose  Business Security over IP). Bei diesen Massnahmen ist es möglich, die FTP-Übertragungen mittels SSL oder TLS zu verschlüsseln. 

Anonymous FTP und WebFTP
Beim Anonymous FTP, welches oft von Bildungseinrichtungen oder Anbietern sogenannter FTP-Mirrors eingerichtet wird,  existiert neben den üblichen Benutzerkonten ein Konto "anonymous" oder "ftp", in das man sich ohne (oder beliebiges) Passwort einloggen kann. Beim WebFTP wird der Zugriff auf FTP-Server via HTTP ermöglicht.                     
Siehe auch:    HTTP   Client-Server   TCP-IP   OSI-Schichtenmodell   protokoll   netzwerk   

  Common-Internet-File-System

Das Common Internet File System (CIFS) wurde 1996 von Microsoft vorgestellt und ist eine Erweiterung und Weiterentwicklung des Server Message Block-Protocols (SMB-Protocol). In einem Netzwerk mit Servern und Clients regelt  CIFS die gemeinsame Benutzung von Internet- und Intranetdateien. CIFS basiert auf NetBIOS over TCP/IP (NetBT oder NBT) und SMB.  Ausser der Datei- und Druckerfreigabe verfügt CIFS über Dienste wie Windows-RPC (Remote Procedure Call) oder den NT-Domänendienst. Die  Namensauflösung erfolgt über den NBT-Broadcast (NetBIOS over TCP/IP-Broadcast) bzw. den NBT Name Service oder DNS (Domain Name System).                                                   
Siehe auch:    Server-Message-Block-Protocol   netzwerk   TCP-IP   NetBIOS   Domain-Name-Service   NetBIOS-over-TCP-IP   Client-Server   windows   Microsoft   RPC

  Hypertext-Coffee-Pot-Control-Protocol

Hypertext Coffee Pot Control Protocol (HTCPCP) ist ein Protokoll, das zur Fernsteuerung und -überwachung von Kaffeemaschinen dient :-) Es wurde im RFC-2324 (Requests For Comments) definiert.  Es wurde auch einmal tatsächlich implementiert! In den Requests for Comments wird öfter auch mal Schabernack getrieben. So wurde in RFC-1149 ein Internet Protocol over Avian Carriers (IPoAC)  (Vogelbasiertes Internet-Protokoll) vorgeschlagen. Das IPoAC ist ein drahtloses Netzwerkprotokoll für Punkt-zu-Punkt Verbindungen. Es findet vor allem in Metropolitan Area Networks Verwendung. Geringe Wartungs- und Produktionskosten, die  Avian Carrier sind selbstreproduzierbar. Das IPoAC verfügt über Selbstheilungskräfte, intrinsische Kollisionsvermeidung und eine Wegfindungsfunktion, die ohne Router auskommt. Die Avian Carrier können sogar Würmer aufspüren und vernichten und aus Spam  und Würmern Energie produzieren. Nachteil sind die langen Ping-Antwortzeiten. Deswegen eignet es sich nicht unbedingt für Online-Realtime-Egoshooter-Multiplayer Spiele, eher für Online Schach ohne Uhr. Ausserdem läuft es ständig Gefahr von dem  HAWK-System abgefangen zu werden. In RFC-2795 wurde die Unendlich-Viele Affen-Theorie diskutiert: wie kann eine unendliche Anzahl von Affen koordiniert werden, so dass die Werke von Shakespeare entstehen?                                               
Siehe auch:    Requests-for-Comments   Jonathan-Postel   HTTP   RFC-822   Java   

  SOAP

Simple Object Access Protocol. Eine XML Grammatik (ähnlich XML-RPC), welche die plattformunabhängige Kommunikation von Applikationen über das Internet ermöglicht.  Diese Spezifikation und Referenzimplementierung für Remote Procedure Calls (RPC) zwischen Internetanwendungen wurde in Anlehnung an die CORBA-Spezifikation (Common Object Request Broker Architecture) entwickelt.  SOAP unterstützt Mechanismen des Procedure Callings wie beispielsweise Exception Handling, sowie weitere Transportprotokolle neben HTTP mit TCP (UDP, HTTPS, XML,...).                                                     
Siehe auch:    CORBA   RPC   XML   HTTP   TCP-IP   UDP   OSI-Schichtenmodell   

  Fibre-Channel

Fibre Channel (FC) ist ein Protokoll um Hochgeschwindigkeits-Netzwerke mit Daten zu versorgen. FC ist geeignet für Massenspeicher und Netzwerke. Es handelt sich um einen offenen Standard, der durch die ANSI und die OSI  definiert wurde. Es werden höhere Protokolle wie das IP-Protocol, ATM (Asynchronous Transfer Mode), IEEE 802, SCSI oder HIPPI (High Performance Parallel Interface) unterstützt. Fibre Channel war konzipiert,  um Fast Ethernet, LAN-Backbones und FDDI zu ersetzen. FC verfügt über eine serielle Übertragungstechnologie, geringe Latenzen und Fehlerraten und ist in die Hardware integriert. Neben dem Datentransport wird die die Übertragung der Daten geregelt.  In FC ist jedoch kein eigener Befehlssatz implementiert. Fibre Channel kümmert sich ausschliesslich um den Transport der Datenpakete zwischen den Endteilnehmern.  Es wird oft bei SAN-Netzwerken (Storage Area Network) eingesetzt. Fibre Channel wird über Kupfer oder Glasfaser betrieben und erreicht Geschwindigkeiten zwischen 3 und 8 GB/s.  Fibre Channel ordnet jedem Netzwerkteilnehmer einen World Wide Node Name (WWNN) zu. Ports werden mit einem World Wide Port Name (WWPN) versehen. Bei diesen Identifizierungsmerkmalen handelt es sich um einen (hexadezimalen) 64-Bit Code. 

Fibre Channel Topologien
Es gibt unterschiedliche Fibre Channel Topologien:  Die Fibre Channel Switches Fabric stellt eine Punkt-zu-Punkt Verbindung zwischen den Netzwerk-Teilnehmern her.  Bei FC-SW werden die Netzwerk-Endteilnehmer über einen Channel Switch oder Director verbunden.  Die Fibre Channel Arbitrated Loop stellt einen logischen Bus dar, und wird oft in Clustern und bei SANs verwendet. Es können 2 ^ 7 -1 Endteilnehmer versorgt werden. 

Fibre-Channel Switches, Disk Arrays
Bei SAN-Netzwerken die auf Fibre Channel basieren spielen Fibre-Channel Switches eine zentrale Rolle.  FC-Switches stellen die Verbindung her zwischen den Hosts und den Storage-Systemen. Dabei handelt es sich um Backup-Systeme  oder beispielsweise Disk-Arrays. Disk Arrays verfügen über mehrere Festplattensysteme (Plattensubsystem), mit deren Kapazität Server versorgt werden. Bei Disk Arrays stehen verschiedene Features wie RAID, Storage-Virtualisierung oder  Partitionspiegelungen zur Verfügung.                               
Siehe auch:    SAN   Festplatte   Cluster   Host-Bus-Adapter   LAN   Backbone   Ethernet   FDDI   

  Link-State-Protokoll

Das Link-State-Protokoll wird von Routern im Internet verwendet um deren Datenbasis mit Wegeinformationen auszustatten.  Link State setzt CIDR (Classeless Inter Domain Routing) und Subnetmasken sowie Variable Length of Subnet Mask (VLSM) ein.

Routing-Informationen 
Das Link State Protokoll wird insbesondere eingesetzt, wenn sich Routing-Informationen oft ändern: neue Routing-Wege werden beim Link-State durch Link State Announcements bzw Advertisements über Multicast zwischen  aufeinanderfolgenden Routern bekannt gemacht und in die komplexen Routing-Tabellen eingetragen.  In den jeweiligen Routing-Datenbanken wird das gesamte Wegesystems des jeweiligen Netzes eingetragen.  Link-State arbeitet mit einem Link-State-Algorithmus der höhere Speicherkapazitäten als der Distance Vector Algorithmus einsetzt.  Konkret wird eine Shortest-Path-First-Algorithmus implementiert der auf einem Shortest-Path-First-Baum basiert.  Ein SPF-Baum ist ein Graph mit einem minimalen Spannbaum.  Die Routing-Bereitschaft in der Nachbarschaft wird durch das Hello-Protokoll ermittelt.  Der Link-State-Algorithmus ist eine Implementierung des Dijkstra-Algorithmus. Ein wichtiges Link-State-Protokoll ist Open Shortest Path First.                                       
Siehe auch:    Multicast   Subnetmaske   Router   

  IPv4
IPv4 Header: Type of Service, Fragment Offset, Time-to-Live, Version, IHL, Flags, Prüfsumme, Quell-IP-Adresse, Ziel-IP-Adresse IPv4 Header: Type of Service, Fragment Offset, Time-to-Live, Version, IHL, Flags, Prüfsumme, Quell-IP-Adresse, Ziel-IP-Adresse
IPv4 ist das gegenwärtig verwendete IP-Protokoll im Internet. Es hat einen 32-Bit Adressraum und kann damit ca. 4,295 Milliarden Rechner adressieren. Die IP-Adressen werden dezimal in 4 Blöcken notiert: jeder Block umfasst 8-Bit und damit einen  Wertebereich von 0 bis 255, z. B. 80.237.132.122. 

IP-Adressen und Protokolle
Die IP-Adresse eines Rechners in einem Netzwerk muss eindeutig sein. IPv4 ist ein geroutetes Protokoll und ist anzusiedeln auf der Internetschicht (Schicht 2) des TCP/IP Referenzmodells bzw. der  Vermittlungsschicht (Network, Schicht 3) des ISO-OSI Schichtenmodells. Auf IPv4 setzen weitere Protokolle auf, wie z. B. TCP, UDP oder ICMP. 

IP-Adressraum
IPv4 ist in 5 Klassen unterteilt (A-Netz, B-Netz, C-Netz, D-Netz, E-Netz) die sich hauptsächlich in der  Aufteilung der IPv4 Adressen unterscheiden. Eine IPv4 Adresse wird aufgeteilt in eine Netz-ID und eine Host-ID. Je grösser die Netz-ID, desto mehr Netze können adressiert werden (und desto weniger  Rechner innerhalb eines Netzes). Je grösser die Host-ID, desto mehr Rechner können innerhalb eines Netzes adressiert werden (und desto geringer ist die Anzahl der  konfigurierbaren Netze). Die Aufteilung in Klassen entspricht also den unterschiedlichen Bedürfnissen der Netzteilnehmer. Das Klasse A Netz verfügt über eine Netz-ID von 7 Bit und eine Host-ID von 24 Bit.  Das erste Bit ist eine Null zur Identifikation eines Klasse A Netzes. Die Adressen reichen von 0.0.0.0 bis 127.255.255.255. Die maximale Anzahl adressierbarer Rechner ist 2 ^ 24 - 2.  Zwei Adressen fallen weg, da die erste Adresse für die Identifikation des Netzes selber gebraucht wird und die letzte Adresse für einen Broadcast reserviert ist (damit können alle Netzteilnehmer auf einmal adressiert werden). Das Class A Netz verfügt  über 128 konfigurierbare Netze die ihrerseits jeweils 16.777.214 Rechner ansteuern können. Klasse A Netze sind grossen Organisationen (meist aus den USA) und Ländern vorbehalten. Ein Klasse B Netz hat eine Netz-ID von 14 Bit (Klasse C 21 Bit) und eine  Host ID von 16 Bit (Klasse C 8 Bit). Die Anzahl der Netze bei Klasse B (Adressbereich: 128.0.0.0 - 191.255.255.255) beträgt 16348 (Klasse C (Adressbereich: 192.0.0.0 bis 223.255.255.255) 2.097.152), die Anzahl  der Hosts pro Netz 65.534 (Klasse C 254). Das Klasse D Netz (224.0.0.0/4 bis 239.255.255.255) ist für Multicast-Gruppen reserviert und das Klasse E-Netz für zukünftige Anwendungen. 

Classless-Inter-Domain-Routing
Mit Einführung des Classless Inter-Domain Routing  (CIDR) 1996 ist das Klassenkonzept eigentlich überholt, da CIDR die Anzahl der Routingtabellen drastisch verringert und den 32 Bit Adressraum besser einsetzt. Das CIDR verwendet nur noch eine Netzmaske zur Aufteilung der 32 Bit Adresse in Netz- und  Host-ID (Subnetting und Supernetting entfällt) und führt bei der Notation Suffixe ein: der Suffix gibt die Anzahl der 1 Bit Anteile der Netzmaske an, z. B.: 192.168.2.7/24 entspricht der Notation 192.168.2.7 mit der Netzmaske 255.255.255.0.  In dualer Notation der Netzmaske 11111111.11111111.11111111.00000000 gibt es 3 x 8 = 24 1-Bit-Stellen. Bei IPv4 gibt es Sonderadressen: 10.0.0.0/8 ist ein privates Netzwerk der Klasse A, 14.0.0.0/8 ist ein öffentliches Datennetzwerk,  127.0.0.0/8: Localhost bzw. lokaler Computer, 192.168.0.0/16: privates Netzwerk der Klasse C (z. B. Heimnetzwerk oder internes Firmennetzwerk hinter einem Router für kleinere Firmen) oder 255.255.255.255 ist für Broadcast reserviert. 

Subnetzmasken
Um grössere Netzwerke  besser zu administrieren, den Datendurchsatz zu verbessern oder heterogene Netzwerktopologien besser zu verbinden hat man Subnetzmasken eingeführt: die Host-ID der IPv4 Adresse wird in 2 Teile unterteilt: die Host-ID und die Subnet-ID. 

Supernetting 
Das Gegenteil ist das Supernetting: um eine grössere Anzahl von Hosts in einem Netz zu adressieren wird die Netz-ID verkleinert und die Host-ID vergrössert. 

IPv4 und IPv6 - Koexistenz
IPv4 koexistiert noch lange Zeit mit IPv6 (bis ca. 2025). Da die IPv4 Adressen nicht mehr ausreichen werden, um alle Rechner mit IP-Adressen zu versorgen, wird es zu einer baldigen Umstellung auf IPv6 im Internet kommen  (vgl IPv6 Tag am 8 Juni 2011). Viele Jahre lang werden IPv4 und IPv6 nebeneinander und auch gleichzeitig zur Verfügung stehen, z.B. im Dual-Stack Betrieb bzw. in Form einer hybriden Implementierung.  Die heutige Form von IPv4 ist übrigens nur aus historischen Gründen im 32-Bit Adressraum angesiedelt um den in den 60er und 70er Jahren, während der Entstehungsphase des IPv4 Protokoll knappen Speicherplatz entgegen zu kommen. Laut Vinton Cerf hatte  man schon in den 70ern einen 64- bzw. 128-Bit Adressraum anvisiert, der jedoch aus den besagten Gründen nicht für IPv4 verwirklicht wurde.  Techniken um IPv6 Adressen in einem IPv4 Netzwerk zu transportieren sind Tunneling und IPv4-to-IPv6 Mapping.  Bei der Tunnelung von IPv6 Paketen in IPv4 -Netzwerken wird 6to4 (STF, Six to Four) als Protokoll eingesetzt.  Eine weitere Möglichkeit, um IPV6-Pakete zuTunneln, ist das Kommunikationsprotokoll Teredo. 
Siehe auch:    IPv4-Technologien   IPv6   IP-Fragmentierung   IP-Adresse   Datenpaket   Internetprotokollfamilie   6to4   Teredo   subnetting   Nameserver