第十章:APDU 序列号
在IEC 104(即IEC 60870-5-104)协议中,发送序列号和接收序列号主要用于确保数据传输的可靠性和顺序性。它们的主要作用包括以下几点:
- 数据传输的确认:
- 发送序列号(S/SN,Send Sequence Number)用于标识发送的数据帧。每当发送一帧数据时,发送序列号会递增。
- 接收方在接收到数据帧后,会通过接收序列号(R/RN,Receive Sequence Number)确认已经成功接收到的最后一帧的数据。发送方会根据接收序列号来判断哪些数据帧已经被确认接收。
- 保证数据的顺序性:
- 发送序列号确保了数据帧在发送过程中的顺序,而接收序列号则保证了接收过程中的顺序性。这有助于接收方按照正确的顺序重组数据。
- 数据重传机制:
- 如果发送方在一定时间内没有收到接收方的确认(即没有看到期望的接收序列号),则发送方可以判断某些数据帧可能丢失或出错,从而触发重传机制,重新发送这些数据帧。
- 流量控制:
- 接收序列号还可以用于流量控制,帮助发送方调节发送速率,避免接收方的缓冲区溢出。
简而言之,发送序列号和接收序列号在IEC 104协议中起到了数据确认、顺序保证、重传机制和流量控制的作用,从而确保了通信的可靠性和稳定性。
未受干扰的编号 I 格式 APDU 序列
V(S)
= 发送状态变量(发送序列号)V(R)
= 接收状态变量(接收序列号)Ack
= 表示 DTE 已正确接收所有 I 格式 APDU,编号不超过此编号I(a,b)
= 具有 a 发送序列号和 b 接收序列号的 I 格式 APDUS(b)
= 具有 b 接收序列号的 S 格式 APDUU
= U 格式 APDU
由 S 格式 APDU 确认的未受干扰的编号 I 格式 APDU 序列
编号 I 格式 APDU 序列混乱
如果最后一个 I 格式 APDU 未被确认,则超时
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.redisant.cn/