|
|
Zeile 87: |
Zeile 87: |
|
| |
|
|
| |
|
|
| |
| = Wikipedia =
| |
| == Unterscheidungsmerkmale ==
| |
| {| class="wikitable sortable options"
| |
| |-
| |
| ! Option !! Beschreibung
| |
| |-
| |
| | Richtung || Findet die Kommunikation nur in eine ''Richtung'' statt, spricht man von [[Duplex (Nachrichtentechnik)|Simplex]], fließen die Daten wechselweise in beide Richtungen, von [[Duplex (Nachrichtentechnik)|Halbduplex]] oder gleichzeitig in beide Richtungen, von [[Vollduplex]].
| |
| |-
| |
| | Taktsignal || Wird die Kommunikation über ein [[Taktsignal]] ''synchronisiert'', spricht man von [[Synchrone Datenübertragung|synchroner Datenübertragung]], ansonsten von asynchroner Datenübertragung.
| |
| |-
| |
| | Anzahl von Parteien || Die ''Anzahl von Parteien'', die an der [[Kommunikation]] teilnehmen: Gibt es für eine Übermittlung immer nur einen Empfänger, spricht man von [[Unicast]], bei Übertragungen an mehrere Teilnehmer von [[Multicast]].
| |
| * Wird das Paket an alle gesandt, so ist es ein [[Broadcast]].
| |
| |-
| |
| | Stellung || ''Stellung'' der Kommunikationsteilnehmer: Sind diese untereinander gleichberechtigt, spricht man von [[Peer-to-Peer]] oder symmetrischer, anderenfalls von asymmetrischer Kommunikation.
| |
| * Das am weitesten verbreitete asymmetrische Modell ist das [[Client-Server-System]], bei dem ein Dienstanbieter (der [[Server]]) Anfragen von verschiedenen [[Client]]s bearbeitet (wobei es immer die Clients sind, die die Kommunikation initiieren, d. h. einen [[Kanal (Informationstheorie)|Kanal]] öffnen).
| |
| |-
| |
| | Synchrone Kommunikation || Wird nach einer Anfrage auf ''Antwort'' gewartet, spricht man von [[Synchrone Kommunikation|synchroner Kommunikation]], andernfalls von [[Asynchrone Kommunikation|asynchroner Kommunikation]].
| |
| |-
| |
| | Paketorientierte Kommunikation || Während einer ''paketorientierten Kommunikation'' werden [[Nachricht]]en bzw. [[Datenpaket]]e übertragen, beim ''Streaming'' wird mit einem kontinuierlichen [[Datenstrom]] einzelner Zeichen gearbeitet.
| |
| |-
| |
| | Verbindungsoriente Kommunikation || Bei ''verbindungsorientierten (connection oriented) Protokollen'' wird durch spezielle Paketsequenzen der Anfang und das Ende einer Verbindung definiert.
| |
| |}
| |
|
| |
| Innerhalb einer solchen Verbindung wird durch das Protokoll meistens gewährleistet, dass Pakete in einer bestimmten Reihenfolge ankommen und/oder sichergestellt, dass die Pakete nochmals gesendet werden, falls sie nicht angekommen sind (zum Beispiel TCP). ''Verbindungslose (connectionless) Protokolle'' bieten diesen Komfort nicht, haben aber einen geringeren Overhead (zum Beispiel [[User Datagram Protocol|UDP]], [[Real-Time Transport Protocol|RTP]]).
| |
|
| |
| == Aufgaben ==
| |
| ; Aufgaben eines Netzwerkprotokolls
| |
| * Ob sie in einem bestimmten Protokoll abgebildet sind, wird durch dessen Einsatzzweck bestimmt.
| |
| * Ein sicherer und zuverlässiger Verbindungsaufbau zwischen den an der Kommunikation beteiligten Computern ([[Handshake]])
| |
| * Das verlässliche Zustellen von Paketen
| |
| * Wiederholtes Senden nicht angekommener Pakete
| |
| * Zustellen der Datenpakete an den/die gewünschten Empfänger
| |
| * Das Sicherstellen einer fehlerfreien Übertragung ([[Prüfsumme]])
| |
| * Das Zusammenfügen ankommender Datenpakete in der richtigen Reihenfolge
| |
| * Das Verhindern des Auslesens durch unbefugte Dritte (durch [[Kryptografie]])
| |
| * Das Verhindern der Manipulation durch unbefugte Dritte (durch [[Message Authentication Code|MACs]] oder [[elektronische Signatur]]en)
| |
|
| |
| == Beispiel ==
| |
| Anhand des Verbindungsaufbau-Prozederes des TCP-Protokolls soll ein einfaches praktisches Beispiel gezeigt werden ([[Handshake]]-Verfahren).
| |
|
| |
| # Zunächst schickt Computer 1 ein [[Datenpaket]], in dem steht, dass er eine Verbindung zu Computer 2 aufbauen möchte.
| |
| # Darauf antwortet Computer 2, dass er dazu bereit ist.
| |
| # Computer 1 bestätigt anschließend Computer 2, dass er verstanden hat, dass Computer 2 bereit ist.
| |
|
| |
| Die Verbindung ist damit hergestellt, und der eigentliche Datenaustausch kann beginnen, im Beispiel eine Dateiübertragung auf Anwendungsebene.
| |
|
| |
| # Computer 1 schickt ein Datenpaket, in dem angefragt wird, welche Dateien verfügbar sind.
| |
| # Darauf antwortet Computer 2 mit einer Liste der verfügbaren Dateien.
| |
| # Computer 1 schickt ein Datenpaket, in dem eine bestimmte Datei angefordert wird.
| |
| # Darauf antwortet Computer 2, dass die Datei existiert, beschreibt die Datei und beginnt mit der Übertragung.
| |
|
| |
| == Protokolle zur Datenübermittlung ==
| |
| ; Es gibt eine Reihe von grundsätzlichen Protokollen, die den Datenverkehr in einem Netzwerk regeln
| |
| * Sie werden vom Netzwerkstack – einem speziellen Systemprogramm – allen weiteren Programmen auf diesem Rechner zur Verfügung gestellt.
| |
| * Diese Protokolle dienen als Standard für die Datenübermittlung zwischen unterschiedlichen Systemen, dienen aber keiner Anwendung durch den Benutzer.
| |
| * Dabei legt man sich in der Regel auf eines dieser Protokolle für ein Netzwerk fest.
| |
| * Für das Internet wird die [[Internetprotokollfamilie]] verwendet, vor allem TCP/IP und UDP.
| |
|
| |
| {| class="wikitable"
| |
| |-
| |
| ! Netzwerkprotokoll !! Vorteile !! Nachteile
| |
| |-
| |
| !colspan="3"| [[OSI-Modell|Schicht-3&4]]-Protokolle
| |
| |-
| |
| | [[Transmission Control Protocol/Internet Protocol|TCP/IP]] und [[User Datagram Protocol|UDP]]
| |
| ||
| |
| * routingfähig
| |
| * IP sorgt dafür, dass das Datenpaket sein Ziel erreicht; TCP oder UDP kontrollieren die Datenübertragung
| |
| * an keinen Hersteller gebunden, aber von allen akzeptiert
| |
| * ist sowohl in LANs als auch in WANs nutzbar
| |
| * für komplizierte (TCP) und einfache (UDP) Übertragungen geeignet
| |
| ||
| |
| * verhältnismäßig großer Stack, ungünstig für sehr einfache oder kleine ([[Eingebettetes System|eingebettete]]) Systeme
| |
| * UDP eher für kleine Datenpakete, deren Zustellung nicht kritisch ist
| |
| * TCP eher für große Übertragungen oder Datenströme mit garantierter Fehlerfreiheit
| |
| |-
| |
| | [[Internetwork Packet Exchange|IPX]]/[[Sequenced Packet Exchange|SPX]]
| |
| ||
| |
| * routingfähig
| |
| * wird von vielen Betriebssystemen unterstützt
| |
| ||
| |
| * nicht für große Netzwerke geeignet, da Routen nicht zusammengefasst werden können
| |
| * SPX: schlechte [[Wide Area Network|WAN]]-Leistung, da nur jeweils ein Paket angefordert wird (vgl. [[TCP Receive Window]])
| |
| * bei Nicht-Novellnetzwerken nicht zu empfehlen
| |
| * Unterstützung nach [[Microsoft Windows XP]]/[[Microsoft Windows Server 2003]] eingestellt
| |
| |-
| |
| | [[NetBEUI]]
| |
| ||
| |
| * wenig [[Overhead (EDV)|Overhead]]
| |
| * entsprechend einfach zu konfigurieren und einzurichten
| |
| ||
| |
| * nur für sehr kleine Netzwerke geeignet
| |
| * nicht routingfähig
| |
| * nicht im Internet einsetzbar
| |
| * Unterstützung nach [[Microsoft Windows 2000]] eingestellt
| |
| |-
| |
| | [[AppleTalk]]
| |
| ||
| |
| * komfortabel
| |
| * große Bedienerfreundlichkeit
| |
| * einfache Fehleranalyse
| |
| * leichte Erweiterbarkeit
| |
| * leicht einzurichten
| |
| ||
| |
| * nur für kleine Netzwerke geeignet
| |
| * geringer [[Datendurchsatz]] bei schnelleren Verbindungen (>10 Mbit/s)
| |
| * nur von Apple-Betriebssystemen genutzt, inzwischen durch TCP/IP ersetzt
| |
| |-
| |
| | [[BACnet]]
| |
| ||
| |
| * speziell für [[Gebäudeleittechnik]]
| |
| * schnelle Kommunikation
| |
| ||
| |
| * nur für elementare Daten
| |
| * fast keine Verwendung in anderen Bereichen
| |
| |}
| |
|
| |
| == Protokolle für bestimmte Anwendungen ==
| |
| ; Die Funktionen der Protokolle bauen aufeinander auf
| |
| * Transportprotokolle bereiten den Übertragungsweg für von ihnen prinzipiell unabhängige Anwendungsprotokolle
| |
| * Das stellt sicher, dass Anwendungsprogramme auf unterschiedlichen Systemen untereinander kommunizieren können, sobald diese Systeme in der Lage sind, auf irgendeine Art eine Verbindung herzustellen.
| |
| * So regelt etwa das [[Internet Protocol]] die weltweit eindeutige Adressierung von Rechnern
| |
| * Diese Adressierung nutzen dann beispielsweise das [[Transmission Control Protocol]] zur Datenübertragung und das [[Simple Mail Transfer Protocol]] zum Übermitteln von E-Mails
| |
|
| |
| ; Dieser schichtweise Aufbau der Protokolle wird mithilfe des [[OSI-Modell]]s dargestellt
| |
|
| |
| ; Auch dienen Anwendungsprotokolle als Standard für die Übertragung zwischen unterschiedlichen Programmen gleichen Typs.
| |
|
| |
| ; Bekannte Beispiele
| |
| * Laden von [[Webseite]]n – [[Hypertext Transfer Protocol|HTTP]]
| |
| * Abholen von [[E-Mail]]s – [[Post Office Protocol|POP]] oder [[Internet Message Access Protocol|IMAP]]
| |
| * Übertragung von Dateien – [[File Transfer Protocol|FTP]], [[BitTorrent]] oder viele andere
| |
|
| |
| == Geschichte ==
| |
| ; In der Anfangszeit der Vernetzung von Computern gestaltete sich die Datenübertragung schwierig, denn damit ein Computer einen anderen versteht, werden Regelwerke benötigt.
| |
| * Zunächst wurden sie in den Anwendungsprogrammen nur für den jeweiligen Nutzungszweck [[Implementierung|implementiert]] – mit dem Nachteil, dass dieses Programm an die vorhandene Netzwerktechnik und das Anwendungsprogramm auf der bzw.
| |
| * den Gegenseiten angepasst werden musste.
| |
| * Daraus folgte, dass oft nur gleiche Systeme untereinander kompatibel waren, was nicht zuletzt von Herstellern auch genutzt wurde, um die Kunden auch zu weiteren Anschaffungen ihrer Produkte zu animieren.
| |
| * Mit stetigen Neuentwicklungen und der Größe der Netzwerke stieg jedoch auch ihre [[Heterogenität]], so dass sich die Forderung nach universell einsetzbarer Technik und Programmauswahl immer weiter durchsetzte.
| |
| * Dadurch wurden in den späten 1970er- und in den 1980er-Jahren von Computerherstellern modularisierte Protokolle entwickelt, die von nun an in abgeschlossenen Rechnernetzen als Übertragungsstandards galten.
| |
|
| |
| ; Im Jahr 1968 wurden auf Veranlassung des amerikanischen Verteidigungsministeriums (DoD) von der staatlichen Forschungseinrichtung [[Advanced Research Project Agency|ARPA]] Versuche durchgeführt, mit denen grundlegende Erkenntnisse über die Funktionsweise von Rechnernetzen gewonnen werden sollten.
| |
| * Als praktisches Ergebnis wurde 1969 das [[ARPANET]]-Projekt aufgelegt, das die transparente Übertragung von Daten zwischen unterschiedlichen Teilnehmersystemen ermöglichen sollte – unabhängig von der Strecke, dem Medium oder dem Umstand der Übertragung.
| |
| * Ab 1983 hatte sich im ARPANET die [[Internetprotokollfamilie]] als Sammlung zusammenhängender Standards zuverlässiger und leistungsfähiger Datenübertragung durchgesetzt.
| |
| * Sie wird auch verwendet, nachdem das ARPANET als [[Internet]] der Öffentlichkeit zugänglich wurde, und gilt dadurch, dass viele Computer spätestens seit den 2000er Jahren mit dem Internet in Verbindung stehen, als Quasistandard für viele Netzwerkanwendungen.
| |
|
| |
|
| [[Kategorie:Netzwerk/Protokoll]] | | [[Kategorie:Netzwerk/Protokoll]] |