网络原型实现:NetInf、GP及跨层QoS应用
在网络技术的不断发展中,各种创新的网络架构和协议不断涌现,以满足日益增长的网络需求。本文将介绍NetInf、GP(Generic Path)等网络原型的实现,并探讨它们在网络中的应用和优势。
1. NetInf节点与基础设施
NetInf(Network of Information)是一种以信息为中心的网络架构,其节点和基础设施的设计具有高度的灵活性和可扩展性。
1.1 NetInf节点架构
NetInf节点由多个组件构成,包括搜索、命名、名称解析、数据传输、存储、事件服务和信息模型等。每个组件可以根据灵活的插件概念,适配特定的服务和协议。
- 组件服务 :服务和协议被封装在组件服务中,一个组件可以包含多个组件服务,每个服务实现相同的接口,但实现方式可能不同。例如,解析组件可以有基于分布式哈希表(DHT)系统或广播的解析服务。
- 组件控制器 :负责在组件服务之间进行选择,并管理执行顺序。如解析控制器管理多个解析服务,可根据上下文选择合适的服务。
-
访问机制
:为了提供灵活的接口访问方式,NetInf原型扩展了信息中心节点接口,提供了三种访问机制:
- Java接口 :Java应用程序可以直接使用。
- HTTP代理接口 :适用于使用HTTP通信的应用,如Web浏览器插件。
- Google Protocol Buffers(Protobuf) :用于节点间通信,支持多种语言,实现不同语言编写的网络节点间的通信。
以下是NetInf节点访问机制的表格总结:
| 访问机制 | 适用场景 |
| ---- | ---- |
| Java接口 | Java应用程序 |
| HTTP代理接口 | HTTP通信应用(如Web浏览器插件) |
| Google Protobuf | 节点间通信 |
1.2 NetInf基础设施
NetInf基础设施由多个NetInf节点组成,这些节点通过NetInf API相互通信,形成信息中心网络(ICN)。
-
节点角色
:
- 普通节点 :通常扮演客户端角色,也可为其他节点提供服务。
- 专用节点 :构建ICN的基础设施。
-
基础设施组件
:
- 信息对象查找服务(IOLS) :是全局解析服务,根据给定的NetInf ID返回相应的信息对象(IO)。为了实现高可用性和可扩展性,采用基于FreePastry的DHT实现。
- 搜索服务 :根据属性查询返回一组NetInf ID,使用户可以根据描述性属性查找IO,而无需知道其ID。
下面是NetInf基础设施的mermaid流程图:
graph LR
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
A(NetInf节点):::process -->|NetInf API| B(ICN):::process
B --> C(普通节点):::process
B --> D(专用节点):::process
D --> E(IOLS):::process
D --> F(搜索服务):::process
2. 结合GP/NetInf原型
为了展示将GP架构与NetInf提供的信息中心网络相结合的强大功能,实现了一个用于GP架构的NetInf实体。
- 实体作用 :该实体在NetInf侧是NetInf节点的一部分,在GP侧加入NetInf隔离区,使NetInf节点能够利用GP架构的所有功能,如数据传输或名称解析。
-
应用场景
:
- 会话移动性 :在数据传输/流传输过程中,NetInf知道所有可下载/流式传输特定数据的定位器。当有更便宜或性能更好的定位器可用时,NetInf可以轻松发起GP端点迁移,实现数据传输源的无缝切换。
- 引导阶段 :NetInf在引导阶段使用GP名称解析机制,轻松找到支持NetInf的邻居节点的地址,提高了信息中心网络的健壮性和灵活性。
3. INM跨层QoS在通用路径中的应用
将网络内管理(INM)和通用路径(GP)两个概念相结合的原型,证明了在拥塞控制中应用跨层QoS的可行性。
3.1 背景与目标
未来互联网的一个主要挑战是确保为用户提供特定级别的服务质量(QoS)。将INM能力应用于GP,主要用于解决拥塞控制问题。当可用传输速率低于给定链路的最低阈值时,可以实例化基于网络编码(NC)的GP来维持服务级别协议(SLA)。
3.2 跨层QoS测试平台
为了应对拥塞,提出了一种新的范式,每个战略节点运行一个名为跨层QoS(CLQ)的软件包,用于服务质量管理。
- 接口类型 :CLQ有组织和协作两种接口,实现QoS参数和/或数据的跨层处理。
-
实现方法
:
- 自下而上方法 :收集流量参数,如可用传输速率、单向延迟、误码率等,通过协作接口在QoS模块之间交换。
- 自上而下方法 :通过INM平台和硬件驱动向硬件施加特定的传输速率,流量参数通过组织接口接收并通过协作接口发送到硬件。
CLQ的实现包括两部分:测量部分用C语言编写,发布部分作为基于Java的Open Services Gateway Initiative(OSGi)的捆绑包运行。NC-based GP模块也用C语言编写,与CLQ集成在所有战略节点中。
测试平台包括六个具有CLQ和NC功能的路由器(R1 - R6),运行在基于Linux的机器上,数据流量发生器(S1,S2)和目的地(D1,D2)由PC表示。
以下是CLQ实现方法的列表总结:
1.
自下而上方法
:
- 收集流量参数(可用传输速率、单向延迟、误码率)。
- 可直接从硬件驱动获取结果或使用专用工具进行测量。
- 通过协作接口交换流量参数。
2.
自上而下方法
:
- 通过INM平台和硬件驱动向硬件施加传输速率。
- 通过组织接口接收流量参数并发送到硬件。
下半部分
4. NC-based GP的应用原则
为了实现更好的拥塞控制,NC-based GP方案遵循以下三个原则:
4.1 实例化原则
基于INM提供的长期统计数据,识别存在NC解决方案且拥塞程度足够高的网络拓扑。在这些拓扑上实例化具有NC能力的GP,但仅在QoS感知路由不可行时启动NC操作。在测试平台中,由于网络拓扑固定,该原则进行了简化。
4.2 动态NC应用原则
INM持续监控链路和流量特征,当拥塞水平和链路传输特征的短期/中期统计数据表明NC-based GP是可行的解决方案时,触发相应操作。
4.3 动态流编码原则
由于实际流量的突发性,数据编码操作不能连续进行。提出的解决方案是,一旦NC操作激活,仅在有可用数据分组进行编码时执行编码操作,否则传输非编码分组,解码算法能够区分它们。仅当拓扑链路参数满足传输速率和延迟条件,且检测到长时间拥塞时,才激活NC操作。例如,在节点R5进行动态XOR流编码,在节点R3和R4进行解码。
以下是NC-based GP应用原则的表格总结:
| 原则 | 描述 |
| ---- | ---- |
| 实例化原则 | 根据INM长期统计数据,在合适拓扑实例化NC-based GP,QoS感知路由不可行时启动NC操作 |
| 动态NC应用原则 | INM持续监控,根据短期/中期统计数据触发NC-based GP |
| 动态流编码原则 | NC操作激活后,有数据分组时编码,否则传输非编码分组,满足条件时激活NC操作 |
5. 实验结果与分析
为了验证NC-based机制的有效性,进行了实验,发送两个视频流R1 - R5 - R6 - R4和R2 - R5 - R6 - R3,共享可能拥塞的链路R5 - R6。根据不同的拥塞情况和NC感知情况,设置了三种实验场景:
5.1 场景1:无拥塞,无NC感知
由于链路R5 - R6有足够的可用传输速率,目的地的体验质量非常好。
5.2 场景2:链路R5 - R6拥塞,无NC感知
共享链路R5 - R6拥塞,可用传输速率低于同时传输两个视频流所需的值(约1 Mbps),接收节点R3和R4的视频质量很差,丢包率约为20%。
5.3 场景3:链路R5 - R6拥塞,有NC感知
链路仍然拥塞,但当CLQ触发时,实例化NC-based GP。通过INM算法提前检测预拥塞并激活机制,接收节点R4收到的流量形状接近原始流量,丢包率降至约2%,体验质量良好。
以下是实验场景的mermaid流程图:
graph LR
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
A(实验开始):::process --> B(场景1: 无拥塞, 无NC感知):::process
A --> C(场景2: 拥塞, 无NC感知):::process
A --> D(场景3: 拥塞, 有NC感知):::process
B --> E(体验质量好):::process
C --> F(体验质量差, 丢包率约20%):::process
D --> G(体验质量好, 丢包率约2%):::process
6. 结论与未来展望
这些网络原型的实现证明了相关架构概念的优势。NetInf原型展示了资源使用优化、负载均衡、数据分发效率和安全特性等优势,而GP原型则体现了摆脱严格ISO/OSI分层带来的灵活性。将NetInf和GP原型集成,加深了对两者相互作用和优势互补的理解。
对于INM跨层QoS在GP中的应用,实验结果证明了基于网络编码的新拥塞控制方案的可行性和有效性。该原型适用于无法进行过度配置和/或重新路由的基础设施提供商,如农村无线网络。
未来,计划将NetInf和GP原型代码作为开源项目发布,以扩大其应用范围。对于NC-based GP,计划在MAC子层上实现,以提高性能,减少丢包率至1%以下,并提高视频流分辨率。在可扩展性方面,当检测到网络中的拥塞链路时,可以激活六节点蝴蝶拓扑,应用合作网络范式。
总之,这些网络原型的实现为未来网络的发展提供了有价值的参考和实践经验,有望在实际网络中得到更广泛的应用。
4. NC-based GP的应用原则
为了实现更好的拥塞控制,NC-based GP方案遵循以下三个原则:
4.1 实例化原则
基于INM提供的长期统计数据,识别存在NC解决方案且拥塞程度足够高的网络拓扑。在这些拓扑上实例化具有NC能力的GP,但仅在QoS感知路由不可行时启动NC操作。在测试平台中,由于网络拓扑固定,该原则进行了简化。
4.2 动态NC应用原则
INM持续监控链路和流量特征,当拥塞水平和链路传输特征的短期/中期统计数据表明NC-based GP是可行的解决方案时,触发相应操作。
4.3 动态流编码原则
由于实际流量的突发性,数据编码操作不能连续进行。提出的解决方案是,一旦NC操作激活,仅在有可用数据分组进行编码时执行编码操作,否则传输非编码分组,解码算法能够区分它们。仅当拓扑链路参数满足传输速率和延迟条件,且检测到长时间拥塞时,才激活NC操作。例如,在节点R5进行动态XOR流编码,在节点R3和R4进行解码。
以下是NC-based GP应用原则的表格总结:
| 原则 | 描述 |
| ---- | ---- |
| 实例化原则 | 根据INM长期统计数据,在合适拓扑实例化NC-based GP,QoS感知路由不可行时启动NC操作 |
| 动态NC应用原则 | INM持续监控,根据短期/中期统计数据触发NC-based GP |
| 动态流编码原则 | NC操作激活后,有数据分组时编码,否则传输非编码分组,满足条件时激活NC操作 |
5. 实验结果与分析
为了验证NC-based机制的有效性,进行了实验,发送两个视频流R1 - R5 - R6 - R4和R2 - R5 - R6 - R3,共享可能拥塞的链路R5 - R6。根据不同的拥塞情况和NC感知情况,设置了三种实验场景:
5.1 场景1:无拥塞,无NC感知
由于链路R5 - R6有足够的可用传输速率,目的地的体验质量非常好。
5.2 场景2:链路R5 - R6拥塞,无NC感知
共享链路R5 - R6拥塞,可用传输速率低于同时传输两个视频流所需的值(约1 Mbps),接收节点R3和R4的视频质量很差,丢包率约为20%。
5.3 场景3:链路R5 - R6拥塞,有NC感知
链路仍然拥塞,但当CLQ触发时,实例化NC-based GP。通过INM算法提前检测预拥塞并激活机制,接收节点R4收到的流量形状接近原始流量,丢包率降至约2%,体验质量良好。
以下是实验场景的mermaid流程图:
graph LR
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
A(实验开始):::process --> B(场景1: 无拥塞, 无NC感知):::process
A --> C(场景2: 拥塞, 无NC感知):::process
A --> D(场景3: 拥塞, 有NC感知):::process
B --> E(体验质量好):::process
C --> F(体验质量差, 丢包率约20%):::process
D --> G(体验质量好, 丢包率约2%):::process
6. 结论与未来展望
这些网络原型的实现证明了相关架构概念的优势。NetInf原型展示了资源使用优化、负载均衡、数据分发效率和安全特性等优势,而GP原型则体现了摆脱严格ISO/OSI分层带来的灵活性。将NetInf和GP原型集成,加深了对两者相互作用和优势互补的理解。
对于INM跨层QoS在GP中的应用,实验结果证明了基于网络编码的新拥塞控制方案的可行性和有效性。该原型适用于无法进行过度配置和/或重新路由的基础设施提供商,如农村无线网络。
未来,计划将NetInf和GP原型代码作为开源项目发布,以扩大其应用范围。对于NC-based GP,计划在MAC子层上实现,以提高性能,减少丢包率至1%以下,并提高视频流分辨率。在可扩展性方面,当检测到网络中的拥塞链路时,可以激活六节点蝴蝶拓扑,应用合作网络范式。
总之,这些网络原型的实现为未来网络的发展提供了有价值的参考和实践经验,有望在实际网络中得到更广泛的应用。
超级会员免费看

被折叠的 条评论
为什么被折叠?



