确认讯息也称为ACK讯息,是在电脑网路电信总线通讯协定的一部份,是设备或是行程发出的讯息,表示接收端之前已收到资料。否定应答也称为NAK讯息或是NACK讯息[1]则是接收端发出,拒绝之前收到资料,或是表示之前收到资料有误的讯息。确认讯息和NAK讯息可以让发送端知道接收端的情形,以便发送端对应调整状态。

许多通讯协定中会有检查码来验证负载以及信头的完整性。检查码可以用来检查资料是否受损。若接收到的讯息,其检查码是无效的(依照规则算出的检查码和讯息中的检查码不同),接收方可以知道其中有资料受损。若有检查码的通讯协定,接收方在收到检查码无效的资料时,不会回复ACK讯息,或是会回复NAK讯息。

ACK字元

编辑

ASCII中有包括ACK字元(00001102或616),接收端可以传送此字元表示接收成功,也有NAK 字元(00101012或1516),接收端可以传送此字元表示无法接收,或是接收失败[2]Unicode中有这些字元的可视符号:U+2406(␆)和U+2415(␕)。

通讯协定中的使用

编辑

许多通讯协定是以ACK讯息为基础,表示其接收方收到讯息后会回复ACK讯息。网际网路的传输控制协议(TCP)就是以ACK为基础的通讯协定。电脑用TCP通讯时,收到网路封包会回复一个有ACK讯息的封包。TCP协定允许ACK讯息放在反方向传送的资料中。

有些通讯协定要针对每一个封包回复ACK讯息。而其他通讯协定(像是TCP及ZMODEM)允许传送方在接收到ACK讯息前,可以传送出多个封包。若网路的频宽时延乘积大,而且有大量资料要传输,有必要使用此作法。

ARQ(自动重传请求)协议中也有用到确认讯息,确认帧会配合收到的帧进行编号,然后送回发送端,发送端可以知道是否有遗漏的封包。

也有些通讯协定将ACK整合在其栏位中,例如控制区域网路(CAN)中就有应答(ACK)位元,设备收到资料后需在此栏位回应,若没有回应,即为通讯错误[3]

相关条目

编辑

参考资料

编辑
  1. ^ Negative-Acknowledgment (NACK)-Oriented Reliable Multicast (NORM) Building Blocks. November 2004. RFC 3941. 
  2. ^ Control characters in ASCII and Unicode. [2020-03-04]. (原始内容存档于2021-11-19). 
  3. ^ Controller Area Network (CAN) 概述. National Instruments Corporation. 2009-09-09 [2015-09-07].