Quittung (Datennetze) - Acknowledgement (data networks)

In Datennetzwerken , Telekommunikations- und Computerbussen ist eine Bestätigung ( ACK ) ein Signal , das zwischen kommunizierenden Prozessen , Computern oder Geräten weitergegeben wird, um die Bestätigung oder den Empfang einer Nachricht als Teil eines Kommunikationsprotokolls anzuzeigen . Die negative Bestätigung ( NAK oder NACK ) ist ein Signal, das gesendet wird, um eine zuvor empfangene Nachricht abzulehnen oder einen Fehler anzuzeigen. Quittungen und negative Quittungen informieren einen Sender über den Zustand des Empfängers, damit dieser seinen eigenen Zustand entsprechend anpassen kann.

Viele Protokolle enthalten Prüfsummen , um die Integrität der Nutzdaten und des Headers zu überprüfen . Prüfsummen werden verwendet, um Datenbeschädigungen zu erkennen. Wenn eine Nachricht mit einer ungültigen Prüfsumme empfangen wird (dh die empfangenen Daten hätten eine andere Prüfsumme als die Nachricht hatte), kann der Empfänger wissen, dass einige Informationen beschädigt wurden. Am häufigsten, wenn Prüfsummen verwendet werden, wird einer empfangenen beschädigten Nachricht entweder kein ACK-Signal zugestellt oder es wird ein NAK-Signal zugestellt.

Quittungszeichen

Der ASCII- Code enthält ein ACK-Zeichen (0000110 2 oder 6 16 ), das gesendet werden kann, um einen erfolgreichen Empfang anzuzeigen, und ein NAK-Zeichen (0010101 2 oder 15 16 ), das gesendet werden kann, um eine Unfähigkeit oder ein Fehlschlagen des Empfangs anzuzeigen. Unicode bietet sichtbare Symbole für diese Zeichen, U+2406 (␆) und U+2415 (␕).

Protokollnutzung

Viele Protokolle sind quittungsbasiert, dh sie bestätigen den Empfang von Nachrichten positiv. Das Transmission Control Protocol (TCP) des Internets ist ein Beispiel für ein bestätigungsbasiertes Protokoll. Wenn Computer über TCP kommunizieren, werden empfangene Pakete bestätigt, indem ein Paket mit einem gesetzten ACK-Bit zurückgesendet wird. Das TCP-Protokoll ermöglicht es, diese Bestätigungen in Daten aufzunehmen, die in die entgegengesetzte Richtung gesendet werden.

Einige Protokolle senden eine einzelne Bestätigung pro Informationspaket. Andere Protokolle wie TCP und ZMODEM ermöglichen die Übertragung vieler Pakete, bevor sie eine Bestätigung erhalten, ein Verfahren, das erforderlich ist, um Produktverbindungen mit hoher Bandbreitenverzögerung mit einer großen Anzahl von Bytes im Flug zu füllen .

Andere Protokolle sind NAK-basiert, dh sie reagieren nur auf Nachrichten, wenn ein Problem auftritt. Beispiele sind die zuverlässigsten Multicast- Protokolle, die ein NAK senden, wenn der Empfänger fehlende Pakete erkennt. Noch andere Protokolle verwenden sowohl NAKs als auch ACKs. Binary Synchronous Communications (Bisync) und Adaptive Link Rate (für energieeffizientes Ethernet ) sind Beispiele.

Noch andere Protokolle wie RC-5 , User Datagram Protocol (UDP) und X10- Protokolle führen eine blinde Übertragung ohne Bestätigung durch und übertragen oft dieselbe Nachricht mehrmals in der Hoffnung, dass mindestens eine Kopie der Nachricht durchkommt.

Die Quittierungsfunktion wird in der Funktion Automatische Wiederholungsanforderung (ARQ) verwendet. Quittungsrahmen werden in Abstimmung mit den empfangenen und dann an den Sender gesendeten Rahmen nummeriert. Dadurch kann der Sender einen Überlauf oder Unterlauf beim Empfänger vermeiden und auf verpasste Frames aufmerksam werden.

Bei binärer synchroner Kommunikation wird der NAK verwendet, um anzuzeigen, dass ein Übertragungsfehler in dem zuvor empfangenen Block erkannt wurde und dass der Empfänger bereit ist, eine erneute Übertragung dieses Blocks zu akzeptieren . Bisync verwendet kein einzelnes ACK-Zeichen, hat aber zwei Steuersequenzen für die abwechselnde Bestätigung von geraden/ungerade Blöcken.

Hardware-Quittierung

Einige Computerbusse haben einen dedizierten Bestätigungsdraht im Steuerbus, der verwendet wird, um Busoperationen zu bestätigen: DACK, der für ISA DMA verwendet wird ; DATACK wird im STEbus verwendet , dem Datenübertragungsbestätigungspin des Motorola 68000 , der den Titel DTACK Grounded usw. inspirierte . Einige Computerbusse bestätigen nicht immer jeden Schreibvorgang; einige oder alle Schreibvorgänge verwenden einen geposteten Schreibvorgang .

Der serielle I²C- Bus hat nach jedem Byte einen Zeitschlitz für ein Quittungsbit.

Siehe auch

Verweise

Externe Links