diff --git a/my-project/docs/组播协议/NORM.md b/my-project/docs/组播协议/NORM.md index c01c943..3d343bb 100644 --- a/my-project/docs/组播协议/NORM.md +++ b/my-project/docs/组播协议/NORM.md @@ -14,7 +14,7 @@ NORM 实例是指 NORM 会话的连续段上下文中的单个节点。当节点 ## NORM消息格式 NORM 有两个通用消息类,即发送方消息和接收方消息。NORM 发送方消息类型为:NORM_DATA、NORM_INFO 和 NORM_CMD。 NORM 接收方消息类型为:NORM_NACK、NORM_ACK 和 NORM_REPORT。 所有 NORM 消息都由一个必需的公共标头、一个消息类型标头和一个有效负载(数据)部分组成。可以在标头和有效负载部分之间插入一个可选的扩展字段,用于指定正在使用的纠错编码、拥塞控制算法或其他会话管理信息。 -![image.png](https://cdn.nlark.com/yuque/0/2024/png/26101762/1711956390592-79a5de74-32f8-4b77-8023-0cd85639b0e1.png#averageHue=%23a9fefd&clientId=ued9d297e-f39f-4&from=paste&height=201&id=u3666ea93&originHeight=301&originWidth=1006&originalType=binary&ratio=1.5&rotation=0&showTitle=false&size=22186&status=done&style=none&taskId=u5dbd3bc1-2251-4229-91cc-1259a640090&title=&width=670.6666666666666) +![image.png](/my-project/docs/组播协议/image/norm1.png) ### NORM公用消息头 ![image.png](https://cdn.nlark.com/yuque/0/2024/png/26101762/1711956131849-d4dc6675-1736-486d-b32a-0d20bfc95a21.png#averageHue=%23a2dcef&clientId=ued9d297e-f39f-4&from=paste&height=123&id=ue7c4a6e9&originHeight=184&originWidth=999&originalType=binary&ratio=1.5&rotation=0&showTitle=false&size=14707&status=done&style=none&taskId=ue80298ce-97ea-4b6e-b084-d3cce36bbdf&title=&width=666) **版本(4 位)** @@ -187,6 +187,7 @@ NORM通过使用两种前向纠错编码方案(系统码和非系统码)来 ### 可扩展性和NACK管理 面向 NACK 的组播通信容易受到 NACK 内爆的影响。如果大量接收方同时发送NACK,这可能会使发送方以及整个网络不堪重负。NORM 使用 NACK 抑制机制来防止 NACK 内爆。 当接收方检测到它在发送方的 NORM 传输中丢失了数据时,它会启动 NACK(否定确认)过程: + 1. 接收方假设其他一个或多个接收方也丢失了相同的数据,并且可能已经向发送方发送了 NACK。 2. 接收方进入一个基于随机退避算法的等待期。这个超时持续时间由“随机退避”算法定义,根据发送方在其传输的消息中传输的“grtt”、“backoff”和“gsize”字段的信息进行控制。 3. 在等待期间,接收方继续接收和评估来自发送方的修复消息,并且抑制自己的 NACK。 diff --git a/my-project/docs/组播协议/image/norm1.png b/my-project/docs/组播协议/image/norm1.png new file mode 100644 index 0000000..b84abd4 Binary files /dev/null and b/my-project/docs/组播协议/image/norm1.png differ diff --git a/my-project/docs/组播协议/image/norm2.png b/my-project/docs/组播协议/image/norm2.png new file mode 100644 index 0000000..406c590 Binary files /dev/null and b/my-project/docs/组播协议/image/norm2.png differ diff --git a/my-project/docs/组播协议/image/norm3.png b/my-project/docs/组播协议/image/norm3.png new file mode 100644 index 0000000..660e99d Binary files /dev/null and b/my-project/docs/组播协议/image/norm3.png differ diff --git a/my-project/docs/组播协议/image/norm4.png b/my-project/docs/组播协议/image/norm4.png new file mode 100644 index 0000000..0b13dc2 Binary files /dev/null and b/my-project/docs/组播协议/image/norm4.png differ diff --git a/my-project/docs/组播协议/image/norm5.png b/my-project/docs/组播协议/image/norm5.png new file mode 100644 index 0000000..d531d14 Binary files /dev/null and b/my-project/docs/组播协议/image/norm5.png differ diff --git a/my-project/docs/组播协议/image/norm6.png b/my-project/docs/组播协议/image/norm6.png new file mode 100644 index 0000000..cc3a437 Binary files /dev/null and b/my-project/docs/组播协议/image/norm6.png differ diff --git a/my-project/docs/组播协议/image/norm7.png b/my-project/docs/组播协议/image/norm7.png new file mode 100644 index 0000000..cd7b00d Binary files /dev/null and b/my-project/docs/组播协议/image/norm7.png differ diff --git a/my-project/docs/组播协议/image/norm8.png b/my-project/docs/组播协议/image/norm8.png new file mode 100644 index 0000000..d86ae97 Binary files /dev/null and b/my-project/docs/组播协议/image/norm8.png differ