30、网络架构设计与原型实现解析

网络架构设计与原型实现解析

1 组件设计与可部署网络架构

1.1 组件设计

在组件设计阶段,我们要为每个网络单元(Netlet)中的不同功能块(FB)选择合适的软件(SW)组件。通常会优先选用现成的组件,如果当前标准解决方案和协议中没有合适的,就需要考虑对现有标准方案进行扩展,或者参考相关研究活动。以下是为特定示例中各功能块实现所选组件的概述:
| 功能块(FB) | 组件 | 注释/参考 |
| — | — | — |
| SGP - Info | 见注释 | 对应NetInf节点架构中特定版本的INI |
| SGP - Flow | N/A | 流是端到端的 |
| SGP - CEP | BGP | - |
| SGP - Knowledge | 见注释 | 在基于CBA的分层原型中实现了“精简版” |
| SGP - Governance | 见注释 | 在基于CBA的分层原型中实现了“精简版”,更复杂的实现可基于网络组合概念 |
| Ni - IO + Io - MG + Io - MG_prot | 见注释 | 对应NetInf节点架构中与IO发布和存储相关的实体 |
| Ni - IO + Io - MG + Co - AD + Io - MG_prot | 见注释 | 对应NetInf节点架构中与IO缓存和存储相关的实体,Co - AD可实现为SATO端口 |
| Fl - EP + Fl - EP_prot | TCP | - |
| Fl - RO + Flo - RO_prot | N/A | TCP是端到端的 |
| Pa - EP + Pa - EP_prot | IP | - |
| Pa - RO + Pa - RO_prot | 域内路由协议,如OSPF、IS - IS | - |
| To - DB + Tr - MO + Knowledge_prot | 见注释 | To - DB可视为扩展的DNS,Tr - MO可使用GAP实现 |
| AAA + Po - EN + Sl - MA + Governance_prot | 见注释 | AAA功能可用基于DIAMETER的解决方案定义,Po - EN可使用策略框架实现 |
| Self∗properties | 见注释 | 自组织能力已集成到基于CBA的分层原型中 |

1.2 可部署网络架构

可部署网络架构由一组分层组成,每个分层的功能块按节点类型分类到网络单元中,最后通过选择合适的组件来实现这些功能块。网络架构的部署具有高度自动化的特点,这得益于分层的自管理特性,这些特性集中体现在每个网络单元的Self∗properties功能块中。

对于简化示例,自动部署过程可描述为:动态了解每个(虚拟化)节点的特性,然后根据这些信息在网络的每个节点中激活合适的网络单元。节点的加入和离开会被Self∗properties功能块检测到,它会重新安排网络拓扑,并在新节点中安装合适的网络单元。

不同网络对网络单元的需求有所不同,除了数据传输网络单元(Data Transport Netlet)是个人用户设备特有的外,其他网络都需要各种网络单元。同时,仅充当网络提供商角色的网络元素不需要与信息层相关的功能(如Ni - IO、Ni - MG和Ni - MG_prot),因此网络单元设计应提供两种不同版本的控制网络单元(Control Netlet)。

值得注意的是,转接运营商(Transit Carrier)将充当全局名称解析器的角色。这是因为分层可以根据一组标准操作进行组合,在这个用例中,各个网络的知识分层相互组合,转接运营商的知识分层与其他网络的知识分层通过聚合操作组合,从而使转接运营商掌握所有参与网络中信息对象的位置信息。

1.3 结论

通过一个业务用例,我们从业务场景出发,明确了相关角色、可能的参与者和用户,进而定义了业务级需求和技术需求。以这些技术需求为输入,经过一系列细化步骤,包括分层和网络单元的设计以及软件组件的选择,最终得出了可部署的网络架构。

从宏观的网络级组件(分层)逐步细化到微观的网络单元和软件组件的过程是直接且易于理解的,有望实现高度自动化的设计工具。不过,还需要进一步研究来建立业务级需求和技术需求之间的正式关联,以实现从业务创建到部署的全流程无缝衔接。

2 网络架构的设计、运行与部署原型

2.1 网络架构生命周期的三个关键部分

网络架构的生命周期主要包括三个部分:使用现有构建块进行协议(网络单元)的工具支持设计、使用开放灵活的框架(节点架构守护程序)对设计的网络单元进行测试和评估,以及使用虚拟网络(VNet)管理环境将架构部署到虚拟网络中。这三个部分相互独立又紧密协作,体现了集成架构设计的优势,一个阶段的结果可无缝作为下一阶段的输入,并且可以根据评估结果直接反馈到上一阶段。

2.2 设计 - Netlet编辑器

Netlet编辑器是支持网络架构师进行设计的原型工具,它利用现有协议构建块的模型来辅助网络单元的设计。这些构建块的描述可用于在存储库中存储构建块信息,并实现构建块之间的依赖和约束检查。该工具能减轻网络架构师的工作负担,但架构师仍需具备网络技术和设计方面的专业知识才能构建合适的协议。由于协议组合本身的复杂性,完全自动化的运行时组合方法并不可行,尤其是在涉及安全属性等重要约束时。不过,这些方法也可以作为网络单元来实现,使用Netlet编辑器只是网络单元设计的一种方式。

Netlet编辑器的目标是将设计阶段的活动与实际执行环境联系起来。编辑器中的大多数构建块模型在节点架构原型中有对应的实现,使用该工具设计的组合网络单元可以半自动化地为节点架构原型创建。目前虽然仍在开发中,但已经存在一些初步的网络单元配置生成器。

Netlet编辑器的实现基于Eclipse插件和图形编辑框架(GEF),其主要特点是能够自动聚合构建块的属性,如处理延迟、能耗等。这使得协议设计者能够在实现和模拟之前,提前估计组合协议的性能,并判断是否满足约束条件,还可以与其他解决方案进行性能比较。设计工具会生成一个配置文件,根据该文件,网络单元会自动由现有构建块构建而成,生成的网络单元可以在节点架构中实例化,并且由于其基于协议无关的需求应用接口,现有应用无需修改即可使用新的网络单元。

2.3 运行 - 节点架构原型

节点架构原型实现了未来网络节点和终端系统的架构概念,为运行不同架构的协议提供了平台,同时支持模拟环境,便于对新协议和架构进行测试和评估。

2.3.1 实现概述

为了实现最佳性能和代码可移植性,节点架构框架采用C++实现。用户可以先在用户空间测试代码,然后轻松将其集成到基于C/C++的模拟器(如OMNeT++ v4)中。

节点架构守护程序是核心系统,提供了网络单元存储库、网络单元选择器和网络访问管理器等基本组件。它与目标系统的系统包装器接口,能够加载和实例化特定架构的多路复用器和网络单元,这些组件都编译为共享库,由守护程序加载。

2.3.2 系统包装器

系统包装器为访问底层操作系统的服务(如定时器、线程、网络收发等)提供必要的抽象。当前实现主要针对OMNeT++和支持Boost ASIO库的真实系统(如Linux、BSD等)。这使得可以在模拟器中测试和评估实现,并在真实系统上运行相同的代码。

OMNeT++系统包装器还可选支持INET/INETMANET框架和移动性框架2,因此这些框架中的任何拓扑和移动性场景都可用于节点架构。

在演示设置中,网络适配器使用UDP套接字实现,可完全在用户空间运行。由于节点架构内部实现了协议处理,因此技术上不需要使用操作系统的TCP/IP栈。为此,创建了PCAP包装器作为传输和接收原始数据包的替代方法,它可以避免使用操作系统的TCP/IP栈。数据帧在操作系统将数据包传递给网络接口卡驱动程序之前注入,并在网络驱动程序接收到数据包后立即收集。虽然无法绕过第2层MAC协议(因为大部分功能在网络接口卡的固件中实现),但这提供了使用现有网络设备模拟未来网络数据传输的最接近方式。

2.3.3 消息处理

节点架构内的实体通过特殊的消息传递接口进行通信,这一概念主要是为了在网络单元和构建块实现中透明地支持多线程。根据主机系统的需求和特性,可以动态选择线程数量。

2.3.4 网络单元

目前,该原型有多个可用的网络单元,包括与数据传输、路由和信令相关的。在数据传输方面,有一个简单的传输网络单元,仅为应用多路复用添加一个头部。为了演示实时视频传输,还构建了两个特殊的视频传输网络单元:一个针对低带宽进行了优化,另一个使用前向纠错(FEC)信息实现更可靠的视频传输。这两个网络单元都由四个构建块组成,其中只有两个不同。

路由网络单元可以自动发现路由,包括一个仅发现直接邻居的简单路由网络单元,以及两个针对移动自组织网络优化的路由网络单元:AODV(自组织按需距离矢量协议)和OLSR(优化链路状态路由协议)。这些路由网络单元可以互换使用,并为上述传输网络单元提供转发信息。

2.3.5 对移动性和动态适应的支持

该原型非常注重移动性相关场景,一方面通过OMNeT++移动性和INET框架提供支持,另一方面通过AODV和OLSR实现提供支持。未来的工作将分析节点架构作为编程框架在协议比较和迁移中的优势。例如,在给定的移动自组织场景中,反应式路由协议(如AODV)可能比主动式路由协议(如OLSR)更合适。可以通过模拟大型网络来获取做出适当决策所需的信息,并将这些信息附加到路由网络单元上。在部署节点架构守护程序时,可以根据实际场景选择“最佳”的路由网络单元。

由于自组织网络本质上是动态的,当前网络场景可能在活动连接期间发生变化,这可能需要在运行时调整协议的参数,例如减少Hello消息之间的时间间隔以获取更及时的信息。因此,未来的研究问题包括设计调整/优化接口、开发微调协议特定参数的算法以及对这些算法进行评估。

下面是网络架构设计与部署的流程图:

graph LR
    A[业务需求] --> B[技术需求]
    B --> C[分层和Netlet设计]
    C --> D[组件选择]
    D --> E[可部署网络架构]
    E --> F[Netlet设计]
    F --> G[Node Architecture测试评估]
    G --> H[VNet部署]

综上所述,通过组件设计和原型实现,我们可以看到网络架构的设计和部署是一个复杂而系统的过程,从业务需求出发,经过多个阶段的细化和实现,最终得到可运行的网络架构。同时,原型的开发和测试为未来网络架构的优化和改进提供了重要的实践经验。

3 通用路径与信息网络原型

3.1 通用路径与信息网络原型概述

通用路径概念主要用于路由、转发和传输,而信息网络原型则围绕信息对象的处理。这两个原型相互补充,为构建更高效、灵活的网络架构提供了有力支持。

3.2 通用路径原型

通用路径原型旨在实现高效的路由、转发和传输机制。它可以根据不同的网络需求和场景,灵活地选择合适的路径进行数据传输。以下是通用路径原型的一些关键特点:
- 灵活性 :能够适应多种网络拓扑和流量模式,动态调整路径以优化性能。
- 可扩展性 :可以方便地集成新的路由算法和转发策略,以满足不断变化的网络需求。
- 高效性 :通过优化路径选择和数据传输过程,提高网络的吞吐量和响应速度。

3.3 信息网络原型

信息网络原型主要关注信息对象的存储、检索和共享。它提供了一种以信息为中心的网络架构,使得信息的获取更加便捷和高效。以下是信息网络原型的一些主要功能:
- 信息存储 :提供可靠的信息存储机制,确保信息的安全性和完整性。
- 信息检索 :支持快速、准确的信息检索,使用户能够方便地获取所需信息。
- 信息共享 :促进信息在不同节点之间的共享,提高信息的利用率。

3.4 通用路径与信息网络原型的结合

将通用路径原型与信息网络原型结合起来,可以充分发挥两者的优势,实现更高效的网络通信。例如,在信息检索过程中,可以利用通用路径原型选择最优的路径来传输信息请求和响应,提高检索效率。同时,信息网络原型可以为通用路径原型提供更准确的信息对象位置信息,帮助其做出更合理的路径选择。

以下是通用路径与信息网络原型结合的工作流程表格:
| 步骤 | 操作 | 涉及原型 |
| — | — | — |
| 1 | 用户发起信息检索请求 | 信息网络原型 |
| 2 | 信息网络原型确定信息对象位置 | 信息网络原型 |
| 3 | 通用路径原型选择最优路径传输请求 | 通用路径原型 |
| 4 | 请求到达信息存储节点 | 信息网络原型 |
| 5 | 信息存储节点返回信息响应 | 信息网络原型 |
| 6 | 通用路径原型选择最优路径传输响应 | 通用路径原型 |
| 7 | 用户接收信息响应 | 信息网络原型 |

4 集成原型与QoS保障

4.1 集成原型概述

集成原型展示了通用路径和网络内管理概念的结合,特别关注服务质量(QoS)方面。通过将这两个概念集成,能够实现更精细的网络资源管理和更可靠的服务保障。

4.2 通用路径与网络内管理的集成

通用路径提供了灵活的路由和传输机制,而网络内管理则侧重于对网络资源的监控和控制。将两者集成可以实现以下目标:
- 资源优化 :根据网络流量和应用需求,动态分配网络资源,提高资源利用率。
- QoS保障 :通过对网络流量的分类和调度,确保不同应用的QoS需求得到满足。
- 故障恢复 :在网络出现故障时,能够快速检测并切换到备用路径,保证服务的连续性。

4.3 QoS保障机制

在集成原型中,QoS保障是一个重要的目标。以下是一些常见的QoS保障机制:
- 流量分类 :根据应用的重要性和带宽需求,将网络流量分为不同的类别。
- 带宽分配 :为不同类别的流量分配相应的带宽资源,确保高优先级应用的带宽需求得到满足。
- 调度算法 :采用合适的调度算法,如加权公平排队(WFQ),对不同类别的流量进行调度,保证公平性和及时性。

以下是集成原型中QoS保障的工作流程图:

graph LR
    A[流量进入网络] --> B[流量分类]
    B --> C[带宽分配]
    C --> D[调度算法]
    D --> E[数据传输]
    E --> F[QoS监测]
    F --> G{是否满足QoS要求}
    G -- 是 --> H[继续传输]
    G -- 否 --> I[调整策略]
    I --> C

4.4 总结与展望

通过对通用路径与信息网络原型以及集成原型的研究和实现,我们看到了构建未来网络架构的可能性。这些原型为解决当前网络面临的一些问题提供了新的思路和方法。然而,要实现真正实用的网络架构,还需要进一步的研究和改进。

未来的研究方向包括:
- 进一步优化原型性能 :通过不断改进算法和机制,提高原型的效率和可靠性。
- 拓展应用场景 :将原型应用到更多的实际场景中,验证其在不同环境下的有效性。
- 加强标准化工作 :推动相关技术的标准化,促进不同系统之间的互操作性。

随着网络技术的不断发展,我们相信这些原型将为未来网络的发展奠定坚实的基础,带来更高效、便捷的网络通信体验。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值