软件定义网络技术发展探究

(整期优先)网络出版时间:2021-12-16
/ 2


软件定义网络技术发展探究

张昊

国网福建省电力有限公司信息通信分公司, 福建 福州 350000

摘要:软件定义网络的显著特征即转控分离,实现控制平面的中央控制,通信协议简化网络间传输设备工作量,具有软件编程功能,北向接口可与多应用程序连接。但软件定义网络并非是以用户的安全性和隐秘性为基础开发的,因此在通信中外来攻击者可以通过报文分析获取通信用户的敏感信息。在SDN网络通信中,用户匿名对于防止外部攻击和保护用户隐私非常重要。

鉴于匿名通信技术在当前软件定义网络中面临众多挑战,本文提出了软件定义网络匿名通信关键技术研究。通过包头改写技术实现发送方的身份匿名,通过生成唯一的哈希值来代替原包头中的敏感信息,并采用随机路径定流量变异技术实现路径的定期改变,使本文方案具有更高的安全性和可信性。

关键词:匿名通信;软件定义网络;路由路径

引言

传统的网络运作方式存在着很大的弊端,网络所使用的一切设备都需要技术人员进行手工维护,或者采取传统的网络管理软件辅助人工展开维护工作。这种方式会导致网络的运维效率大大降低,同时由于其所耗费的人力、物力增加了运维的成本。传统的网络业务是割接而成的,新业务的上线周期也会比较长,如果面临一些比较大的业务,在展开割接切换工作的时候会涉及到一些复杂的操作。而SDN却与之不同,最主要的特征就是集群化,可以利用虚拟软件来定义数据,之后再通过图形的方式直观地呈现出来,不论是新业务上线还是后期的运维工作都会非常便利。

1传统网络架构存在问题

随着企业规模的发展,传统网络架构渐渐开始无法跟上步伐,逐渐出现了以下问题:

(1)业务流量模型不清晰。随着网络的发展、各种新技术的产生,数据中心内部、服务器之间协同处理、计算,导致由东向西的流量逐渐增大,超过了由南向北的流量。而传统三层架构服务器间交换,都要过三层核心,多层转发,增大了网络的延迟,还浪费了核心宝贵的资源。与此同时,我们将业务拆分成多个模块,并部署在不同的区域中,由于应用的不断发展,模块的数量越来越多,模块之间的调用越来越频繁,可能一次完整的应用流程需要经历数十个模块,模块之间的频繁调用大大消耗了网络设备的资源。

(2)横向扩展能力不足。传统数据中心使用STP技术,虽然上联多根链路,但都是主备关系,仅有一根链路能跑流量,无法承载数据中心日益增长的业务。尽管后续使用了相关的EthernetChannel、堆叠、VSS等技术,来达到链路冗余的需求,但是堆叠、EthernetChannel不可能无限地进行扩展。

(3)广播域过于庞大。随着业务的发展,计算资源被池化。为了使得计算资源可以任意分配,需要一个巨大的二层网络架构。整个数据中心网络都是多个L2广播域,这样,服务器可以在规定的区域地点创建、迁移,而不需要对IP地址或者默认网关做修改。不断地业务扩展,造就了一个巨大的二层广播域,一旦出现一点问题就造成巨大的网络问题,导致业务中断,业务的高可用性就无法保证。

2软件工程技术的趋势

2.1持续性集成

持续性集成(ContinuousIntegration)是一种软件开发实践,目的在于验证集成的正确性并及早地发现错误的存在。开发人员在完成代码编写之后会向版本控制库提交这些代码,并且在提交之前会在本地展开一次私有构建确保代码修改不出现其它问题。此时集成服务器CI会一直对版本变更情况进行检测,一旦有变更情况产生,CI服务器就会在版本控制库选择代码然后到集成服务器上执行构建脚本进行软件编译、单元测试、代码检查、文档生成等。在完成此类工作之后CI服务器再根据构建结果进行反馈,包括提交某些BUG信息等,并继续监控代码变更情况等待下一次持续集成过程。

持续性集成的意义在于确保迭代开发环节的整体质量。现代网络软件工程行业变得更加多元化和复杂化,其中的开发业务也随之产生了改变,会更加关注需求和分析的相互作用。自动化的持续集成能够显著保障代码质量,并且在已有的配置管理模块当中完成集成和自动build的步骤,结合软件开发的具体要求展开检测并生成报表内容。对于专业化的软件开发人员来说,软件工程的规模化要求不断提升,应重视实践环节并规划已经开发完成的项目做好战略部署。

2.2迭代化

工作效率的保障是网络软件工程技术的核心内容与要求,对于软件工程人员而言,工作效率始终是密切关注的问题,因此软件系统的开发时间成为了控制管理工作的核心内容。为了缩短开发周期,迭代化开发成为了软件开发环节的重点,对于人员的协调能力和测试能力也提出了新的要求,逐渐形成了以敏捷为基础的导向方式。

对于一个项目来说,在为一个问题开发解决方案的过程当中会涉及到不同类型的活动行为,此时我们需要正确地分析那些需要解决的问题然后重新设计方案并收集需求,最终将这些需求转换在设计范畴之内。最后在对方案进行设计测试后活动结果,这一顺序相对自然。但如果要将规模进行扩大,那么所有的开发环节和测试环节都面临着某些关键问题。这要求我们利用迭代思想在计划内的每一个环节(或版本内容)进行验证和评估,从客观演示的范围内以减少项目可能存在的各类风险,建立一个更加完整的解决方案。

3SDN的网络优势

3.1集中化的网络控制

该网络可以将控制平面进行集中控制,它的中央控制器就具备这个功能,通过对网络资源的全局信息进行获取,还可以按照各个业务的需要分配和优化资源,例如QoS以及负载均衡等。对这些信息进行集中控制之后,网络所使用的各个设备都需要中央控制器统一进行管理,极大促进了管理效率的提升,同时有利于网络接电的部署与维护工作的展开。

3.2控制平面与转发平面解耦合

SDN与传统的网络相比最大的不同就是,传统网络中的控制和转发平面是紧密耦合在一起的,它们被集中在各个独立的盒子中进行管理,由于控制平面被分散在网络的各个节点上,所以就导致没有办法对全局的情况进行把控。SDN中的控制模板是从物理硬件中抽离出来的,再由网络层进行虚拟化的处理,这样可以将底层物理转发的差异屏蔽,为重新建构一个虚拟的网络创造了条件。所以该网络中的物理资源被整合成为了一个资源池,极大地满足了各个业务对网络资源的需求,可以按需分配资源,切实加大了网络资源调动的灵活性。

3.3业务流量的明确划分

将原有业务划分从一个应用一个区域的划分方式,在使用SDN后,变更为一个服务体系作为一个区域进行划分(例如:APP区域、数据库区域、中间件区域等)。在每个区域中划分多个EndpointGroup(以下简称EPG)来准确区分业务模块,更清晰地了解业务之间的访问关系。

结语

在运维过程中引入SDN技术,只需通过图形化的界面,统一调度、维护网络中的业务数据,即可实现环路检测、路径探测、切换业务流等操作,运维方便快捷。智能化、可视化、自动化,是后期SDN网络运行维护的主要方式,降低传统网络维护中的成本以及提升网络运维的效率。

参考文献

[1]朱金奇,孙华志,黄永鑫,等.软件定义网络中延迟满足的路由选择与实时调度更新[J].软件学报,2019,30(11):3440-3456.

[2]罗定福,李艳.三层交换机与路由器连接的技术研究[J].佛山科学技术学院学报(自然科学版),2013,31(2):52-54.

[3]吴艳辉,王伟平陈建二.匿名通信研究综述[J].小型微型计算机系统,2007,28(4):583-588.