预览加载中,请您耐心等待几秒...
1/3
2/3
3/3

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

基于OpenFlow的网络虚拟化功能的设计和实现的任务书 任务书 一、任务背景 近年来,随着云计算、大数据、物联网等技术的快速发展和普及,数据中心规模不断扩大,网络虚拟化成为了数据中心网络设计中不可或缺的一环。网络虚拟化通过将物理网络资源划分成多个虚拟网络,为不同的租户或应用提供独立的网络服务,从而提高网络资源利用率,降低网络运营成本,增强了网络的灵活性和可扩展性。 基于OpenFlow的网络虚拟化技术,可以通过对OpenFlow协议的扩展和定制,实现对于网络拓扑结构的虚拟化和服务隔离。OpenFlow协议是由Stanford大学和其他企业合作开发的一种网络交换机控制协议,通过对于交换机数据包转发控制的灵活性和智能性来提高网络管理和控制的效率。 二、任务内容 本次任务是基于OpenFlow的网络虚拟化功能的设计和实现。目标是开发一个可拓展的、高效的、具有服务隔离能力的虚拟网络系统,满足大规模数据中心的网络虚拟化需求。该系统需要具备以下几个方面的能力: 1.虚拟网络划分和配置:虚拟网络能够被动态地划分和配置,通过管理员或API对于虚拟网络划分策略进行管理和调整。 2.虚拟网络拓扑管理:虚拟网络采用拓扑结构来描述各个虚拟网络之间的联系和依赖,管理员能够可视化地管理整个虚拟网络。 3.流量控制和服务质量控制:虚拟网络能够通过OpenFlow协议实现流量控制和服务质量控制,管理员能够快速配置网络策略和规则。 4.服务隔离:不同的租户或应用之间需要进行服务隔离,保证网络的安全性和稳定性。 三、开发技术 本次任务需要基于OpenFlow协议进行开发,对于OpenFlow协议进行扩展和定制。主要使用的开发技术应该包含以下内容: 1.编程语言:选择Python、Java、C++等可广泛使用的编程语言,具备较强的可移植性和易于维护的优点。 2.OpenFlow控制器:选择较为成熟的OpenFlow控制器,例如OpenDayLight、ONOS等,以便实现对网络的控制和管理。 3.数据库:选择适合大规模数据中心网络的数据库,例如MySQL、PostgreSQL等,以便保存网络拓扑和配置信息。 4.Web框架:选择适合本次任务要求的Web框架,例如Django、Flask等,用于实现Web界面。 四、任务进度 本次任务分为以下几个阶段: 1.熟悉OpenFlow协议基本原理和控制器框架,了解网络虚拟化的基本原理和概念。 2.根据任务要求,创建虚拟网络划分和配置模块,虚拟网络拓扑管理模块,流量控制和服务质量控制模块。 3.实现服务隔离功能,进行系统测试和调试,撰写项目文档和项目报告。 五、任务要求 1.任务代码和文档应该遵循开源协议,代码应该结构清晰,易于维护。 2.程序要能够正常运行,满足任务要求,具备较高的可拓展性和扩展性。 3.系统需要具有良好的用户界面和用户体验,管理员和用户能够快速上手操作。 4.任务最后提交要求提交项目代码和项目文档,项目文档应该详细描述系统实现的核心思想、技术难点和解决方案,同时提供API文档和项目架构图。 六、参考资料 1.《SDN网络虚拟化技术指南》 2.《OpenFlow协议与SDN网络架构》 3.OpenFlow官方文档 4.ONOS官方文档 5.OpenDayLight官方文档