CN108768721A - 一种基于包暂存的主备vnf切换技术 - Google Patents

一种基于包暂存的主备vnf切换技术 Download PDF

Info

Publication number
CN108768721A
CN108768721A CN201810515851.8A CN201810515851A CN108768721A CN 108768721 A CN108768721 A CN 108768721A CN 201810515851 A CN201810515851 A CN 201810515851A CN 108768721 A CN108768721 A CN 108768721A
Authority
CN
China
Prior art keywords
packet
memory module
node
data packet
vnf
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201810515851.8A
Other languages
English (en)
Other versions
CN108768721B (zh
Inventor
林蓉平
叶力文
罗钐
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
University of Electronic Science and Technology of China
Original Assignee
University of Electronic Science and Technology of China
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by University of Electronic Science and Technology of China filed Critical University of Electronic Science and Technology of China
Priority to CN201810515851.8A priority Critical patent/CN108768721B/zh
Publication of CN108768721A publication Critical patent/CN108768721A/zh
Application granted granted Critical
Publication of CN108768721B publication Critical patent/CN108768721B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0668Management of faults, events, alarms or notifications using network fault recovery by dynamic selection of recovery network elements, e.g. replacement by the most appropriate element after failure
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明属于网络功能虚拟化NFV领域,具体为一种以及包暂存的主备VNF切换技术。本发明通过对被保护的VNF实例增设一个存储模块,存储模块连接到原始节点的前任和保护节点,存储模块负责包暂存。原始节点发生失效时,存储模块将其数据包缓存队列中保存的相应数据包副本发送至保护节点,当缓存队列清空后,系统控制层将修改网络路由配置,使得后续用户数据被导向至保护节点,然后恢复网络的运行,网络服务得以正常进行。本发明实现了VNF实例失效时对丢失的数据包进行恢复并保证不乱序,使得网络中的用户数据得以保全,网络服务可以正常提供。

Description

一种基于包暂存的主备VNF切换技术
技术领域
本发明属于网络功能虚拟化(NFV)领域,具体为一种基于包暂存的主备VNF切换技术,涉及主备虚拟网络功能(VNF)切换时避免数据包丢失的技术。
背景技术
网络功能虚拟化技术使得虚拟网络功能实例可部署在通用计算平台,但由于通用计算平台不具备电信级的可靠性,这些虚拟网络功能实例的可靠性也相对偏低,达不到传统网络硬件设备所提供的可靠性。
因此,在NFV环境中一般将多个相同功能的VNF实例形成主备模式,提高网络服务的可靠性。当主实例失效时,用于备份的VNF实例能被快速激活并启用,恢复网络服务提供。但备份VNF实例激活过程中,由于失效VNF实例仍会收到部分待处理的数据包(on-the-flypacket),造成这部分数据包的丢失,影响网络服务的正常提供。
在已有的方案中,并没有对此类数据包的丢失做专门研究,而是借助上层网络协议进行处理(如TCP丢包重传)。但在NFV环境中,由于VNF实例失效,主实例无法进行正常的丢包检查,并反馈丢包情况。只有当目的端收到后续的数据包时才能发现丢包,然后启用上层协议进行丢包信息反馈,而在网络拓扑较大较复杂的情况下,这类操作会引发大量的包重传,浪费大量的网络带宽,且造成较高的延时。为此在VNF实例失效时的主备切换过程中保证on-the-fly packet不丢失、不乱序成为一个待解决的问题。
发明内容
针对上述问题,为解决在VNF实例失效时能对丢失的数据包进行恢复并保证不乱序的问题,本发明提供了一种基于包暂存的主备VNF切换技术。
具体方案如下:
当用户请求到达时,系统会对它进行映射和资源分配,即选取网络中的符合要求的VNF实例(即原始节点)对用户请求进行服务,为保证服务的可靠性会选取同类型的节点作为冗余(即保护节点),在此基础上,需要对被保护的VNF实例增设一个存储模块,存储模块同时连接到原始节点的前任和保护节点。
所述存储模块负责包暂存,其结构如图2所示,包含一个队列管理器和数据包缓存队列,队列管理器负责对各个队列中的元素进行更新、删除和转发等操作,数据包缓存队列则负责缓存用户数据包。
所述数据包缓存队列的数目和大小可根据具体网络环境进行调整,一个缓存队列同时只被一个VNF实例使用。当存在多个缓存队列时,一个存储模块可以同时被多个VNF实例共享使用。
原始节点正常工作时:
在用户数据到达原始节点前,会经由前端转发设备(交换机等)进行复制操作后将副本发送至存储模块加入到其中一个缓存队列中并记录相关信息。原始节点正确处理完成收到的用户数据后,处理完成的数据包会再次由后继转发设备进行复制,分别将数据包和副本发送至下一功能节点和存储模块,存储模块的队列管理器会将收到的数据包与缓存队列中的数据包进行比对,根据数据包中的头部信息删除队列中已过期的数据包。
原始节点发生失效时:
系统控制层在检测到VNF失效后,会立即通知原始节点前端的转发设备暂停转发,并同时对存储模块发布指令;存储模块在收到系统控制层指令后,会将其数据包缓存队列中保存的相应数据包副本发送至保护节点,当缓存队列清空后,系统控制层将修改网络路由配置,使得后续用户数据被导向至保护节点,然后恢复网络的运行,网络服务得以正常进行。
所述相应数据包副本为原始节点失效时到系统检测到失效期间丢失的on-the-fly packet,即存储模块中保存的还未过期的数据包副本。
本发明通过对被保护的VNF实例增设一个存储模块,存储模块连接到原始节点的前任和保护节点。存储模块负责数据包暂存。原始节点发生失效时,存储模块将其数据包缓存队列中保存的相应数据包副本发送至保护节点,当缓存队列清空后,系统控制层将修改网络路由配置,使得后续用户数据被导向至保护节点,然后恢复网络的运行,网络服务得以正常进行。
综上所述,本发明实现了VNF实例失效时对丢失的数据包进行恢复并保证不乱序,使得网络中的用户数据得以保全,网络服务可以正常提供。
附图说明
图1为方案流程图;
图2为设计的存储模块的抽象结构图;
图3为NSH头部格式;
图4为VXLAN-gpe+NSH的封装格式;
图5为实施例的拓扑示意图;
图6-1为原始节点正常工作的时序图;
图6-2为原始节点失效的时序图。
具体实施方式
下面将结合附图和上述方案对本发明做进一步的详细描述。
图5给出的实施例网络拓扑结构示意,存在多个支持Openflow协议的SDN交换机,每台SDN交换机上挂载着一台x86服务器,而负责提供网络服务的VNF实例则被托管于运行在x86服务器上的虚拟机之中。控制平面图中未给出,主要包含SDN网络控制器和VNF管理器两个部分,前者负责对SDN交换机进行控制和流表的下发,后者则负责对VNF实例进行管理和编排以及状态监控。
本实施例中的用户数据采取的是VXLAN-gpe+NSH的形式进行封装操作,格式如图4所示。图3给出了NSH的详细结构,其中SPI(Servive Path Identifier)和SI(Serviceindex)两个字段分别标识了具体的服务功能链和服务功能节点。
实施例模拟的场景为一条服务功能链的一部分,如图5中网络拓扑所示,一条SFC请求的一部分为→FW→IDS→,即用户数据包需依次通过防火墙和入侵检测两个功能节点,其中FW0为选取的原始节点,FW1为保护节点,而Storage表示设计的存储模块,IDS则为下一跳功能节点。
下面将分两种情况对本方案的实施例进行描述。
第一种情况,原始节点FW0正常工作:
1、用户数据包会首先从SDN交换机SW1的A1端口进入(数据包中SPI字段为10,SI字段为254),SW1通过匹配数据包的NSH头部信息与自身流表项,首先进行一次复制操作,而后将原始数据包通过D1端口发出,交付至工作节点FW0处,同时将副本发送通过C1端口发出,最终交付至存储模块Storage处;
2、Storage收到数据包副本后,读取NSH头中的SPI和SI字段,得到10/254,并扫描已存入数据的缓存队列,检查有无标识着10/255或是10/254的缓存队列,发现没有后,将收到的副本存入一空闲的缓存队列中,并加上SPI和SI信息;
3、FW0正确处理完用户数据包后,SI字段会被修改,即处理完后的数据包的SPI和SI应变为10/253,数据包经由SW1的D1端口回到SW1,SW1收到后比对流表项,再进行一次复制操作,将原始数据包通过B1端口发出,交付至下一功能节点,同时将副本通过C1端口发出,再次送至存储模块Storage处;
4、Storage收到处理完成的数据包副本后,同样读取其SPI和SI字段,得到10/253,而后扫描已存入数据的缓存队列,发现存在标识着10/254的缓存队列,于是将队列中与收到的数据包序号相同的移出队列并丢弃。
注:存储模块Storage中存在着一个大小可随包速调整的窗口,当收到数据包后会先填满窗口,再对整个窗口的数据进行操作,存入时将整个窗口的数据包依次放入缓存队列,删除过期数据包时,先读取将窗口中最末的数据包的序号,在将缓存队列中该序号以及之前的所有数据包均移出并丢弃,以提高效率避免反复比对数据包序号。
第二种情况,原始节点FW0失效时:
1、FW0失效时,控制平面的VNF管理器通过对VNF实例的状态监控会得知这一情况,但这段时间内已有部分用户数据包由SW1通过D1端口发出,即前文所述on-fly数据包,这部分数据包由于FW0失效而丢失。VNF管理器会立刻将FW0失效的信息告知网络控制器,网络控制器知晓后首先通知SW1停止向D1端口发送数据包并暂时阻塞A1端口;
2、VNF管理器同时命令存储模块Storage将缓存队列10/254中的数据包副本全部发送至保护节点FW1处,在本实施例中Storage和FW1挂载于同一x86服务器,可直接通过Server3上的OVS直接转发,当队列中最后一份数据包副本发送出去后,存储模块Storage会生成一份完成报告(完成报告不指明目的)并发出,同时Storage将已经清空的队列标注的SPI和SI信息擦除,将其状态置为空闲(以便其他功能节点使用)。SW3收到该完成报告时由于无法匹配其流表项,于是将完成报告交付至网络控制器处;
3、网络控制器收到完成报告后下发新的流表至SW1,将原先发往SW0的用户数据流重定向至FW1,并打开SW1的A1端口,恢复网络运行。

Claims (2)

1.一种基于包暂存的主备VNF切换技术,具体如下:
当用户请求到达时,系统会对它进行映射和资源分配,即选取网络中的符合要求的VNF实例,即原始节点对用户请求进行服务,为保证服务的可靠性会选取同类型的节点作为冗余,即保护节点;在此基础上,对被保护的VNF实例增设一个存储模块,存储模块同时连接到原始节点的前任和保护节点;
所述存储模块负责包暂存,包含一个队列管理器和数据包缓存队列,队列管理器负责对各个队列中的元素进行更新、删除和转发等操作,数据包缓存队列则负责缓存用户数据包;
原始节点正常工作时:
在用户数据到达原始节点前,会经由前端转发设备进行复制操作后将副本发送至存储模块加入到其中一个缓存队列中并记录相关信息;原始节点正确处理完成收到的用户数据后,处理完成的数据包会再次由后继转发设备进行复制,分别将数据包和副本发送至下一功能节点和存储模块,存储模块的队列管理器会将收到的数据包与缓存队列中的数据包进行比对,根据数据包中的头部信息删除队列中已过期的数据包。
原始节点发生失效时:
系统控制层在检测到VNF失效后,会立即通知原始节点前端的转发设备暂停转发,并同时对存储模块发布指令;存储模块在收到系统控制层指令后,会将其数据包缓存队列中保存的相应数据包副本发送至保护节点,当缓存队列清空后,系统控制层将修改网络路由配置,使得后续用户数据被导向至保护节点,然后恢复网络的运行,网络服务得以正常进行;所述相应数据包副本为原始节点失效时到系统检测到失效期间丢失的on-the-flypacket。
2.如权利要求1所述基于包暂存的主备VNF切换技术,其特征在于:所述数据包缓存队列的数目和大小可根据具体网络环境进行调整,一个缓存队列同时只被一个VNF实例使用。当存在多个缓存队列时,一个存储模块可以同时被多个VNF实例共享使用。
CN201810515851.8A 2018-05-25 2018-05-25 一种基于包暂存的主备vnf切换技术 Expired - Fee Related CN108768721B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810515851.8A CN108768721B (zh) 2018-05-25 2018-05-25 一种基于包暂存的主备vnf切换技术

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810515851.8A CN108768721B (zh) 2018-05-25 2018-05-25 一种基于包暂存的主备vnf切换技术

Publications (2)

Publication Number Publication Date
CN108768721A true CN108768721A (zh) 2018-11-06
CN108768721B CN108768721B (zh) 2021-02-02

Family

ID=64006541

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810515851.8A Expired - Fee Related CN108768721B (zh) 2018-05-25 2018-05-25 一种基于包暂存的主备vnf切换技术

Country Status (1)

Country Link
CN (1) CN108768721B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109586982A (zh) * 2019-01-04 2019-04-05 北京邮电大学 一种功能备份方法及装置
CN111338806A (zh) * 2020-05-20 2020-06-26 腾讯科技(深圳)有限公司 一种业务控制方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101355458A (zh) * 2008-09-01 2009-01-28 中兴通讯股份有限公司 一种在链路中传递链路物理连接状态信息的方法和装置
CN105591801A (zh) * 2015-08-11 2016-05-18 杭州华三通信技术有限公司 一种虚拟网络功能vnf故障处理方法及vnf管理设备
US20170371692A1 (en) * 2016-06-22 2017-12-28 Ciena Corporation Optimized virtual network function service chaining with hardware acceleration
CN107870829A (zh) * 2016-09-24 2018-04-03 华为技术有限公司 一种分布式数据恢复方法、服务器、相关设备及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101355458A (zh) * 2008-09-01 2009-01-28 中兴通讯股份有限公司 一种在链路中传递链路物理连接状态信息的方法和装置
CN105591801A (zh) * 2015-08-11 2016-05-18 杭州华三通信技术有限公司 一种虚拟网络功能vnf故障处理方法及vnf管理设备
US20170371692A1 (en) * 2016-06-22 2017-12-28 Ciena Corporation Optimized virtual network function service chaining with hardware acceleration
CN107870829A (zh) * 2016-09-24 2018-04-03 华为技术有限公司 一种分布式数据恢复方法、服务器、相关设备及系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109586982A (zh) * 2019-01-04 2019-04-05 北京邮电大学 一种功能备份方法及装置
CN111338806A (zh) * 2020-05-20 2020-06-26 腾讯科技(深圳)有限公司 一种业务控制方法及装置

Also Published As

Publication number Publication date
CN108768721B (zh) 2021-02-02

Similar Documents

Publication Publication Date Title
CN103155497B (zh) 通信系统、控制设备、节点、处理规则设置方法以及程序
CN105122730B (zh) 用于快速链路故障处理的系统和方法
CN104734878B (zh) 软件定义联网灾难恢复的方法和系统
US6760859B1 (en) Fault tolerant local area network connectivity
KR101758207B1 (ko) 서비스 기능 체이닝을 이용하는 네트워크 패킷 처리 장치 및 이의 제어 방법
JP5033856B2 (ja) ネットワーク構成の想定のための装置、システム
CN104717081B (zh) 一种网关功能的实现方法及装置
JP5883743B2 (ja) パケット通信網における通信途絶時間短縮方法
CN102098226A (zh) 通信装置及通信系统
JP6604336B2 (ja) 情報処理装置、情報処理方法、及び、プログラム
CN107925633A (zh) 数据中心资源跟踪
CN106059791A (zh) 一种存储系统中业务的链路切换方法和存储设备
CN105791175A (zh) 软件定义网络中控制传输资源的方法及设备
US7092982B2 (en) Storage system with method of minimizing redundant transmissions over a plurality of communication paths
JP2004013215A (ja) ストレージシステム、ストレージサブシステム、および、それらを含む情報処理システム
CN104660457A (zh) 网络元件及用于管理该网络元件的控制器
CN106341251A (zh) 基于双主控的主备倒换方法及装置
CN101179510B (zh) 用于虚拟交换系统的主备链路负荷分担方法和装置
CN108768721A (zh) 一种基于包暂存的主备vnf切换技术
JP4895972B2 (ja) リングプロトコル高速切替方法およびその装置
JP7405494B2 (ja) 障害がある多層リンク復旧方法およびコントローラ
JP2019159812A (ja) 制御装置、制御方法、プログラムおよび通信システム
CN109561025A (zh) 一种信息处理方法以及相关设备
US11349702B2 (en) Communication apparatus, system, rollback method, and non-transitory medium
CN104348737B (zh) 一种组播报文的传输方法及交换机

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20210202

CF01 Termination of patent right due to non-payment of annual fee