This commit is contained in:
nicc@gfex.com.cn
2024-04-15 09:46:45 +08:00
parent e5c6a8da92
commit 8c577e7d8e

View File

@@ -153,28 +153,31 @@ NORM_REPORT消息可能包含的信息包括但不限于
## NORM协议操作
### 一般操作
通用 NORM 协议操作的详细过程:
1、在建立 NORM 会话之后,发送方将一个 NORM 对象分割成一个按顺序编号的序列。这些分段被传输为 NORM_DATA 消息。除了数据内容外NORM_DATA 消息还带有唯一标识符和 FEC 标识符。发送方还可以发送与 NORM_DATA 内容相关联的带外 NORM_INFO 消息,允许接收方确定相应内容的性质,从而允许应用级别控制接收节点在会话中的参与。与此同时,发送方会定期发送 NORM_CMD(CC) 消息,根据需要收集用于拥塞控制和其他会话管理活动所需的反馈信息。
2、当接收方从发送方检测到丢失的内容时它们可以尝试使用 FEC 机制进行修复。如果修复成功,则接收方将不会发送 NORM_NACK 消息给发送方。利用顺序编号的序列信息,接收方指定缺失的内容
3、当发送方接收到 NACKs 时,它会聚合修复请求,并发送与顺序编号的序列信息相关联的适当修复
4、当发送方到达修复请求的末尾时它会发送一个 NORM_CMD(FLUSH) 消息,指示传输的临时结束
1. 在建立 NORM 会话之后,发送方将一个 NORM 对象分割成一个按顺序编号的序列。这些分段被传输为 NORM_DATA 消息。除了数据内容外NORM_DATA 消息还带有唯一标识符和 FEC 标识符。发送方还可以发送 NORM_DATA 内容相关联的带外 NORM_INFO 消息,允许接收方确定相应内容的性质,从而允许应用级别控制接收节点在会话中的参与。与此同时,发送方会定期发送 NORM_CMD(CC) 消息,根据需要收集用于拥塞控制和其他会话管理活动所需的反馈信息
2. 当接收方从发送方检测到丢失的内容时,它们可以尝试使用 FEC 机制进行修复。如果修复成功,则接收方将不会发送 NORM_NACK 消息给发送方。利用顺序编号的序列信息,接收方指定缺失的内容
3. 当发送方接收到 NACKs 时,它会聚合修复请求,并发送与顺序编号的序列信息相关联的适当修复
4. 当发送方到达修复请求的末尾时,它会发送一个 NORM_CMD(FLUSH) 消息,指示传输的临时结束。
在通用操作的背景下NORM 具有特定的机制来解决会话控制、拥塞控制、流量控制、可靠性和 NACK 管理。
### 会话控制
尽管 NORM 不像 TCP 那样是面向连接的协议,但它确实具有面向连接和无连接的特征。
1、NORM 的连接特性和无连接特性NORM 协议在某种程度上具有连接导向和无连接的特性。它不像 TCP 那样需要进行显式的连接设置(如三次握手),但发送方和接收方必须事先知道对方的地址和端口号,以便加入会话或者重新建立连接。这种特性使得 NORM 协议在网络中断后能够快速恢复会话,并且允许接收方在会话进行时加入。
2、状态维护以确保可靠传输尽管 NORM 是一种类似 UDP 的无连接协议,但它仍然需要维护一些状态信息来确保数据的可靠传输。这些状态信息可以帮助发送方和接收方进行数据的丢失检测和修复,以确保数据的完整性
3、NORM_CMD 消息子类型的保留NORM 协议预留了一系列 NORM_CMD 消息的子类型,以支持可能在未来开发的会话控制协议。这意味着 NORM 协议具有一定的灵活性,可以根据需要引入新的控制协议来满足不同的需求
1. NORM 的连接特性和无连接特性NORM 协议在某种程度上具有连接导向和无连接的特性。它不像 TCP 那样需要进行显式的连接设置(如三次握手),但发送方和接收方必须事先知道对方的地址和端口号,以便加入会话或者重新建立连接。这种特性使得 NORM 协议在网络中断后能够快速恢复会话,并且允许接收方在会话进行时加入
2. 状态维护以确保可靠传输:尽管 NORM 是一种类似 UDP 的无连接协议,但它仍然需要维护一些状态信息来确保数据的可靠传输。这些状态信息可以帮助发送方和接收方进行数据的丢失检测和修复,以确保数据的完整性
3. NORM_CMD 消息子类型的保留NORM 协议预留了一系列 NORM_CMD 消息的子类型,以支持可能在未来开发的会话控制协议。这意味着 NORM 协议具有一定的灵活性,可以根据需要引入新的控制协议来满足不同的需求。
### 拥塞控制
NORM 使用了一种 TCP-Friendly 拥塞控制方案,使其能够与 TCP 和其他传输协议公平地共享可用带宽。这意味着当 NORM 和 TCP 同时存在于网络中时,它们会共同占用网络带宽,并且不会对彼此造成过度的影响。这种拥塞控制方案基于 RFC4654 中描述的 TCP-Friendly Multicast Congestion ControlTFMCC协议规范的方法进行了适应。已经证明该方法能够有效地与 TCP 和组播数据流一起使用。
1、TCP-Friendly 拥塞控制方案NORM 协议采用了一种称为 TCP-Friendly 的拥塞控制方案。这意味着 NORM 能够在与 TCP 和其他传输协议共享网络带宽时保持公平性,即它不会过度占用网络带宽,也不会对 TCP 的性能造成不利影响。
2、基于计算的拥塞控制方法该拥塞控制方案是基于计算的发送方的传输速率取决于通过 NORM_CMD(CC) 消息收集的数据包丢失估计和往返时间。这些信息有助于确定网络中的瓶颈,并相应地调整发送方的传输速率,以适应网络的变化
3、拥塞控制假设与 TCP 类似NORM 假设数据包丢失是由于网络中的缓冲区溢出引起的。因此,当数据包丢失率达到一定水平时,发送方会自动减少传输速率,以避免进一步的数据包丢失。然而,在无线网络中,数据包丢失通常是由于比特错误或网络争用引起的,而不仅仅是缓冲区溢出。这可能会导致 NORM 的拥塞控制在无线网络中存在一些限制
4、速率控制机制的独立性NORM 的速率控制机制与其其他组件(例如可靠性机制、流量控制机制)是相分离的。因此,可以通过使用其他算法和适当的标头扩展来替换 NORM 的速率控制机制。这增加了 NORM 协议的灵活性,使其能够根据不同的网络环境和需求进行定制和调整
1. TCP-Friendly 拥塞控制方案NORM 协议采用了一种称为 TCP-Friendly 的拥塞控制方案。这意味着 NORM 能够在与 TCP 和其他传输协议共享网络带宽时保持公平性,即它不会过度占用网络带宽,也不会对 TCP 的性能造成不利影响
2. 基于计算的拥塞控制方法:该拥塞控制方案是基于计算的,发送方的传输速率取决于通过 NORM_CMD(CC) 消息收集的数据包丢失估计和往返时间。这些信息有助于确定网络中的瓶颈,并相应地调整发送方的传输速率,以适应网络的变化
3. 拥塞控制假设:与 TCP 类似NORM 假设数据包丢失是由于网络中的缓冲区溢出引起的。因此,当数据包丢失率达到一定水平时,发送方会自动减少传输速率,以避免进一步的数据包丢失。然而,在无线网络中,数据包丢失通常是由于比特错误或网络争用引起的,而不仅仅是缓冲区溢出。这可能会导致 NORM 的拥塞控制在无线网络中存在一些限制
4. 速率控制机制的独立性NORM 的速率控制机制与其其他组件(例如可靠性机制、流量控制机制)是相分离的。因此,可以通过使用其他算法和适当的标头扩展来替换 NORM 的速率控制机制。这增加了 NORM 协议的灵活性,使其能够根据不同的网络环境和需求进行定制和调整。
### 流量控制
NORM 有四个流量控制选项,允许 NORM 发送方管理到 NORM 接收方的传输速率,以确保接收方不会超载。
1、显式水印。使用此选项,发送方请求来自特定一组接收方的积极确认,确认当前传输中指定点或水印的成功接收。如果所有接收方都确认成功接收了水印,发送方可以继续发送新数据。
2、隐式水印。这个选项基于接收方集合没有负面确认NACK修复请求。发送方使用 NORM_CMD(FLUSH) 来提醒接收方通过指示的水印进行任何需要修复的 NACK消息。然后发送方等待刷新完成。如果没有 NACK 消息,发送方假定水印已完成,可以继续发送新数据。
3、基于定时器的流量控制。这个选项根据组往返时间GRTT和 NACK 活动来保持传输数据并限制修复窗口的推进。设置一个最小的、可适应的时间限制,在此之后发送方可以继续发送新数据。这个时间限制基于发送方估计的 GRTT 和无NACK消息。
4、禁用。禁用流量控制机制,允许发送方以最快方式推进传输数据。
1. 显式水印。使用此选项,发送方请求来自特定一组接收方的积极确认,确认当前传输中指定点或水印的成功接收。如果所有接收方都确认成功接收了水印,发送方可以继续发送新数据。
2. 隐式水印。这个选项基于接收方集合没有负面确认NACK修复请求。发送方使用 NORM_CMD(FLUSH) 来提醒接收方通过指示的水印进行任何需要修复的 NACK消息。然后发送方等待刷新完成。如果没有 NACK 消息,发送方假定水印已完成,可以继续发送新数据。
3. 基于定时器的流量控制。这个选项根据组往返时间GRTT和 NACK 活动来保持传输数据并限制修复窗口的推进。设置一个最小的、可适应的时间限制,在此之后发送方可以继续发送新数据。这个时间限制基于发送方估计的 GRTT 和无NACK消息。
4. 禁用。禁用流量控制机制,允许发送方以最快方式推进传输数据。
水印:数据同步的水印描述了一个预定义格式的对象,为试图建立增量/增量同步的两个系统/数据集提供了一个参考值;在水印值之后创建、修改或删除的被查询数据源中的任何对象都将被归类为“高于水印”,并应返回给请求数据的客户端。
### 可靠性
NORM通过使用两种前向纠错编码方案系统码和非系统码来确保可靠的传输。
@@ -184,10 +187,10 @@ NORM通过使用两种前向纠错编码方案系统码和非系统码
### 可扩展性和NACK管理
面向 NACK 的组播通信容易受到 NACK 内爆的影响。如果大量接收方同时发送NACK这可能会使发送方以及整个网络不堪重负。NORM 使用 NACK 抑制机制来防止 NACK 内爆。
当接收方检测到它在发送方的 NORM 传输中丢失了数据时,它会启动 NACK否定确认过程
1、接收方假设其他一个或多个接收方也丢失了相同的数据,并且可能已经向发送方发送了 NACK。
2、接收方进入一个基于随机退避算法的等待期。这个超时持续时间由“随机退避”算法定义根据发送方在其传输的消息中传输的“grtt”、“backoff”和“gsize”字段的信息进行控制。
3、在等待期间,接收方继续接收和评估来自发送方的修复消息,并且抑制自己的 NACK。
4、如果在等待期结束时,接收方没有收到足够的修复信息,它就会启动自己的 NACK。
5、如果 NORM 会话发生在组播路由环境中NACK 将被传输给发送方以及网络中的所有其他节点。
6、如果 NORM 会话不是在组播路由环境中进行的NACK 将被传输给发送方,发送方立即重新将其发送到网络中的所有其他节点。
1. 接收方假设其他一个或多个接收方也丢失了相同的数据,并且可能已经向发送方发送了 NACK。
2. 接收方进入一个基于随机退避算法的等待期。这个超时持续时间由“随机退避”算法定义根据发送方在其传输的消息中传输的“grtt”、“backoff”和“gsize”字段的信息进行控制。
3. 在等待期间,接收方继续接收和评估来自发送方的修复消息,并且抑制自己的 NACK。
4. 如果在等待期结束时,接收方没有收到足够的修复信息,它就会启动自己的 NACK。
5. 如果 NORM 会话发生在组播路由环境中NACK 将被传输给发送方以及网络中的所有其他节点。
6. 如果 NORM 会话不是在组播路由环境中进行的NACK 将被传输给发送方,发送方立即重新将其发送到网络中的所有其他节点。
NORM 的 NACK 抑制机制,结合其 FEC 机制,使得 NORM 组播组可以扩展到非常大的组,同时保持可靠性。