【技术实现步骤摘要】
本专利技术涉及网络功能虚拟化领域,软件定义网络
,特别涉及一种基于网络功能虚拟化场景的流迁移方法及系统。
技术介绍
随着网络体系结构演进与业务持续发展,网络中部署越来越多的专用设备,例如防火墙、入侵检测、接入认证等安全设备,负载均衡、TCP加速等性能提升设备,这些设备部署数量甚至与路由交换设备同一量级。这些专用设备大量部署不仅增加购买与运营成本,提升管理运维难度,而且研发周期长,无法满足网络及应用的快速创新与动态部署要求。网络功能虚拟化(Network Functions Virtualization,NFV)通过在软件实现在通用服务器虚拟机(Virtual Machine,VM)动态按需部署专用设备功能,引起工业界与学术界的广泛关注。NFV支持网络功能基于通用硬件的软件化部署,相比于传统专用硬件的网络功能(Middlebox),其优势是服务链和处理资源的按需分配与灵活调度,从而降低建设成本并提高服务能力,例如,当防火墙处理流量过载时,可将其负载(处理的流)动态、实时地分配到其他通用资源进行处理(scale out操作);当多个网络功能负载较轻存在资源碎片时,可将其合并从而降低能耗(scale in操作),在NFV中,大多数网络功能对数据包的处理是基于流状态的,而某些数据包也会触发流状态的更新,这就要求在进行流迁移时,源和目标网络功能的相关流状态保持一致,从而确保迁移后目标网络功能对流处理的正确性。为解决流迁移状态一致性问题,一种被动的方法(Gember A,Krishnamurthy A,John S S,et al.Stratos:A netw ...
【技术保护点】
一种基于网络功能虚拟化场景的流迁移方法,其特征在于,包括步骤1,在源网络功能处与目标网络功能处分别部署源流迁移处理单元与目标流处理单元,并通过所述的源流迁移处理单元与网络交换设备在数据包包头内设置两位标签,将数据包标记为四类,包括normal类、in‑fly类、last in‑fly类、redirect类,所述的目标流迁移处理单元使用基于所述标签的分类器将所述的normal类、in‑fly类、last in‑fly类、redirect类数据包进行分类;步骤2,在所述源流迁移处理单元与所述目标迁移处理单元中分别部署源状态机与目标状态机,获取并记录当前迁移状态,所述源状态机根据所述当前迁移状态对数据包进行标记与转发,所述目标状态机根据所述当前迁移状态与包处理规则将所述normal类、in‑fly类、last in‑fly类、redirect类数据包分别放置于所述目标流处理单元中的默认缓存,in‑fly类的环形缓存与redirect类的环形缓存,最终通过默认缓存交付于目标网络功能处。
【技术特征摘要】
1.一种基于网络功能虚拟化场景的流迁移方法,其特征在于,包括步骤1,在源网络功能处与目标网络功能处分别部署源流迁移处理单元与目标流处理单元,并通过所述的源流迁移处理单元与网络交换设备在数据包包头内设置两位标签,将数据包标记为四类,包括normal类、in-fly类、last in-fly类、redirect类,所述的目标流迁移处理单元使用基于所述标签的分类器将所述的normal类、in-fly类、last in-fly类、redirect类数据包进行分类;步骤2,在所述源流迁移处理单元与所述目标迁移处理单元中分别部署源状态机与目标状态机,获取并记录当前迁移状态,所述源状态机根据所述当前迁移状态对数据包进行标记与转发,所述目标状态机根据所述当前迁移状态与包处理规则将所述normal类、in-fly类、last in-fly类、redirect类数据包分别放置于所述目标流处理单元中的默认缓存,in-fly类的环形缓存与redirect类的环形缓存,最终通过默认缓存交付于目标网络功能处。2.如权利要求1所述的基于网络功能虚拟化场景的流迁移方法,其特征在于,所述normal类是默认值的数据包、所述in-fly类与所述last in-fly类是由源网络功能处的流迁移处理单元标记的数据包,redirect类是由网络转发设备进行标记的数据包。3.如权利要求1所述的基于网络功能虚拟化场景的流迁移方法,其特征在于,所述步骤2包括:当所述目标状态机处于“正常”状态时:所述“正常”状态下,当收到“流迁移开始命令事件”时,状态变为“M1”,执行的操作是创建redirect类和in-fly类的环形缓存,打开包分类器,并将所有类型的数据包放入到默认缓存中并发送给目标网络功能处。4.如权利要求3所述的基于网络功能虚拟化场景的流迁移方法,其特征在于,所述步骤2还包括“M1”状态:当收到“状态安装完成事件”时,所述“M1”状态迁移为“MS1”状态,执行操作为将in-fly类的环形缓存中的数据包推送到默认缓存中,并释放in-fly类的环形缓存;当收到redirect类的数据包时,所述“M1”状态迁移为“M2”状态,执行操作为升级流表,并将in-fly类的数据包与redirect类的数据包分别缓存到各自队列中;“M2”状态:当收到“状态安装完成事件”时,所述“M2”状态迁移为“MS2”状态,执行操作为将in-fly类的环形缓存中的数据包推送到默认缓存
\t中,并释放in-fly类的环形缓存;当收到last in-fly类的数据包时,所述“M2”状态迁移为“M3”状态,执行操作为丢弃last in-fly类的数据包,并将in-fly类的数据包与redirect类的数据包分别缓存到各自队列中;“M3”状态:当收到“状态安装完成事件”时,所述“M3”状态迁移为“MS3”状态,执行操作为将in-fly类与redirect类的环形缓存中的数据包推送到默认缓存中,并释放in-fly类与redirect类的环形缓存,并将in-fly类的数据包与redirect类的数据包分别缓存到各自队列中,并丢弃last in-fly类的数据包。5.如权利要求4所述的基于网络功能虚拟化场景的流迁移方法,其特征在于,“MS1”状态:当收到redirect类的数据包时,所述“MS1”状态迁移为“MS2”状态,执行操作为升级流表,并将in-fly类的数据包与redirect类的数据包分别缓存到各自队列中;“MS2”状态:当收到last in-fly类的数据包时,所述“MS2”状态迁移为“MS3”状态,执行操作为将redirect类的环形缓存中的数据包推送到默认缓存中,并释放redirect类的环形缓存,并将in-fly类的数据包与redirect类的数据包分别缓存到各自队列中;“MS3”状态:在所述“MS3”状态时,所述“MS3”状态迁移为“正常”状态,执行操作为关闭包分类功能,并且迁移结束,并将in-fly类的数据包与redirect类的数据包分别缓存到各自队列中,并丢弃last in-fly类的数据包。6.一种基于网...
【专利技术属性】
技术研发人员:王阳,李振宇,贺鹏,谢高岗,
申请(专利权)人:中国科学院计算技术研究所,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。