一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于深度包检测技术的SD-WAN流量识别方法与流程

2022-11-19 17:02:26 来源:中国专利 TAG:

基于深度包检测技术的sd-wan流量识别方法
技术领域
1.本发明涉及网络技术领域,具体是一种基于深度包检测技术的sd-wan流量识别方法。


背景技术:

2.常见的企业应用可以分为生产类、管理类、协同类、社交类等等,而不同类型的企业应用对带宽和链路质量的要求也各有不同。比如,邮件、ftp文件这种生产类应用允许丢包但对带宽要求高,应选择成本较低的internet链路;实时语音、视频这种协同类应用对链路的延迟、抖动和丢包率等问题低容忍,应选择质量较好的mpls链路。传统的wan组网将不同类型的企业应用在相同的链路上,链路质量变化时需要运维人员手动调整网络转发路径等问题,不仅增加了网络的使用成本,也影响了企业用户的使用体验。sd-wan作为一种低成本、高灵活性的广域网解决方案,提供了智能路径控制功能,结合深度包检测技术(dpi)对数据包按应用类型进行识别、分类,以实现针对不同的应用请求选择最佳的入网方式和传输链路。
3.传统的dpi部署方式是把dpi嵌入到各种网络设备中,但在不同的硬件平台上就会增加额外的成本。将dpi模块化后引入sd-wan系统的控制层中,避免了重复布置,降低了dpi的成本开销;在sd-wan控制器和dpi模块之间引入转发设备,对需要识别的流量镜像到dpi从而避免了对全部流量的识别,减小了dpi模块的工作压力。


技术实现要素:

4.本发明的目的在于一种基于深度包检测技术的sd-wan流量识别方法,在sd-wan系统的控制层中部署dpi模块,对边缘节点(企业分公司)发送的数据包进行流量识别、分类,基于识别结果结合策略表生成流表下发给ucpe来控制后续数据包的转发,从而实现基于流量类型自动最佳链路选择。为减少无效的识别工作,提高了dpi模块的识别效率,将转发设备嵌入在sd-wan控制器和dpi模块之间,在不影响数据正常传输的情况下,通过转发设备把需要进行流量识别的数据包镜像到dpi模块中,避免了对全部流量的识别,实现了流量识别的灵活选择。
5.本发明的目的可以通过以下技术方案实现:一种基于深度包检测技术的sd-wan流量识别方法,包括以下步骤:步骤一:网络层中的边缘节点(企业分公司)发送的数据包通过本地部署的通用客户端设备(ucpe)传送至控制层的转发设备;步骤二:转发设备根据管理层的sd-wan控制器策略,判断接收的数据包是否需要识别,若是,将输入的流量镜像到dpi模块中;步骤三:流量进入到dpi模块后,经特征提取、协议分析后,将解析的结果上传给sd-wan控制器;步骤四:基于解析结果结合策略表,sd-wan控制器下发流表给对应的ucpe,从而根
据企业应用类别实现最佳链路选择。
6.进一步的,转发设备包括:物理形式为支持openflow协议的交换机,转发设备与sd-wan控制器之间存在双向链接,上层链接通过nefconf或of-config接口与sd-wan控制器建立,用于sd-wan控制转发指令的下发;下层链接通过支持openflow协议的端口建立,用于数据包的传送。
7.进一步的,转发设备的工作流程包括:当企业分支发送的数据包经ucpe传送至转发设备,通过下层链接输送给sd-wan控制,根据既定的策略判断数据包是否需要解析;若不需要解析,则由sd-wan控制器直接生成流表完成流量引导;若需要解析,则由sd-wan通过上层链接下发控制指令给转发设备中的流量镜像模块,将数据镜像发送给dpi模块执行后续的流量识别。
8.相较于传统的sd-wan控制器与dpi设备直连的方式,转发设备的引入实现了流量识别的灵活选择,对需要识别的流量镜像到dpi执行识别工作,并不影响数据的正常传输,同时也避免了对全部流量的识别,有效提高了dpi模块的工作效率。
9.进一步的,dpi模块执行流量识别的具体过程包括:当获取到原数据包后,首先对流量的特征进行提取,得到流量所携带的载荷,载荷包括源ip地址、源port端口、目的ip地址、目的port端口和应用层的特征头信息,然后将事先编写好的网络协议特征模式(规则库)与流量进行匹配,最后将匹配结果发送至sd-wan控制器,与现有策略表进行比对后生成流表,下发至用户所在的网络层ucpe执行后续的数据包转发工作。
10.进一步的,对流量的特征提取的具体过程包括:对获取的数据包进行格式转换,转换成可以用脚本自动读取的数据存储语言,然后根据事先编写的脚本(java、python等机器语言)对数据进行分类,归类成ip地址、port端口、固定字符串以及http规则。
11.进一步的,匹配过程包括:采用正则表达式对提取到的http规则中的多个字符串进行过滤,然后基于wm算法进行匹配,将多个模式串作为一个集合同时处理,实现一次扫描就能匹配多个特征字符串。若匹配成功,输出匹配结果至sd-wan控制器生成对应应用类型的流表,以实现数据包的高效传输;若匹配失败,则sd-wan控制器对此类应用进行记录,由技术人员对应用类型进行分析并重新编写规则库。
12.与现有技术相比,本发明的有益效果是:将dpi功能模块后嵌入到sd-wan控制器中,避免了传统dpi部署方式额外硬件开支。在sd-wan控制器和dpi模块之间引入转发设备,对需要识别的流量由控制器下达转发命令,实现dpi模块对流量的选择性接收,提高了dpi模块的识别效率。通过特征提取、协议分析对数据包的应用类型进行识别,结合sd-wan控制器的集中控制优势,对不同的企业应用实现最佳的入网方式和链路选择。
附图说明
13.图1是基于dpi的sd-wan系统结构图。
14.图2是基于dpi的sd-wan工作流程图。
具体实施方式
15.如图1所示,一种基于深度包检测技术的sd-wan流量识别方法,包括以下步骤:步骤一:网络层中的边缘节点(企业分公司)发送的数据包通过本地部署的通用客户端设备(ucpe)传送至控制层的转发设备;步骤二:转发设备将数据包传送给sd-wan控制器,由控制器判断接收的数据包是否需要识别,若是,下发转发指令给转发设备将输入的流量镜像到dpi模块;步骤三:流量进入到dpi模块后,经特征提取、协议分析后,将解析的结果上传给sd-wan控制器;步骤四:基于解析结果结合策略表,sd-wan控制器下发流表给对应的ucpe,从而根据企业应用类别实现最佳链路选择。
16.需要进一步说明的是,转发设备包括:物理形式为支持openflow协议的交换机,转发设备与sd-wan控制器之间存在双向链接,上层链接通过nefconf或of-config接口与sd-wan控制器建立,用于sd-wan控制转发指令的下发;下层链接通过支持openflow协议的端口建立,用于数据包的传送。
17.在具体实施过程中,转发设备的具体工作流程包括:基于下层链接通道传送数据包给sd-wan控制器,控制器通过既定策略判断数据包是否需要dpi识别。若是,则通过上层链接下达转发命令给转发设备,将流量镜像到连接dpi模块的端口执行流量识别;若否,则由sd-wan控制器直接生成流表下发至本地ucpe执行后续的数据转发。
18.需要进一步说明的是,在具体实施过程中,sd-wan控制器判断数据包是否需要dpi识别的既定策略包括:数据包经过ucpe时,内置的应用分类模块将其分为关键类和非关键数类,同时在数据包首部加上不同的标记(关键类记为1,非关键类记为0),通过转发设备再将数据包传送给sd-wan控制器,通过对数据包的包头进行识别,对关键数据包下发转发指令给转发设备,对非关键数据包由sd-wan控制器根据网络拓扑和链路动态情况指定转发路径,从而生成相应的流表下发至本地ucpe执行后续的数据转发。该策略实现了流量识别的灵活选择,减轻了dpi模块的工作压力,提高了dpi识别效率。
19.需要进一步说明的是,在具体实施过程中,流量识别过程包括:数据包进入dpi模块后,通过收包模块获取镜像的报文数据,然后对数据包进行特征提取,得到ip地址、port端口、固定字符串以及http规则。对提取到的http规则与事先编写好的网络协议特征模式(规则库)进行匹配,将匹配结果反馈给sd-wan控制器。结合既定策略生成流表下发给对应的企业分支所在ucpe执行后续的数据转发。
20.需要进一步说明的是,在具体实施过程中,特征提取的具体过程包括:将输入的数据包转换成可以用脚本自动读取的数据存储语言,然后根据事先编写的(java、python等机器语言)脚本对流量进行分类,归类成ip地址、port端口、固定字符串以及http规则。
21.需要进一步说明的是,在具体实施过程中,规则库的设计过程包括:考虑到http协议头规则易于提取且格式相对固定,规则库的书写可以直接采用http格式,即app编号(app id)、app名称(app name)、业务行为编号(sub_app id)、业务行
为名称(sub_app name)等。为了更好地对企业应用类型进行分类,根据企业用户需求对企业应用按应用分类和业务行为两个层次进行编号,按应用分类分为生产类01、管理类02、协同类03、社交类04等;按业务行为分为文字001、图片002、语音003、视频004、文件005、位置006、表情007等;同时对企业应用进行编号,微信001、企业微信002、腾讯会议003、qq004、钉钉005、飞信006等。例如,位于企业分部的用户欲采用腾讯会议与位于总部的用户开视频会议,通过本地部署的ucpe发送数据请求,经特征提取后获得包内的host、url、referer等特征头信息,采用正则匹配对上述特征头信息与规则库进行匹配,得到数据包对应的app id为03003,app naem为tengxunhuiyi,sub_app id为004,业务行为名称为“视频通话”。对数据包中提取的http规则与规则库进行匹配,从而实现对数据包按应用类型进行分类。
22.需要进一步说明的是,在具体实施过程中,匹配过程包括:采用正则表达式中的对提取到的http规则进行过滤,用“.”、“*”、“ ”、“{}”等元字符来对复杂的特征进行简单的描述,对过滤后的规则采用wm算法进行匹配。首选建立三个表格:shift表、hash表和prefix表;shift表用于在扫描文本串的时候,根据读入字符串决定可以跳过的字符数;hash表用于存储尾块字符散列值相同的模式串。prefix表用于存储尾块字符散列值相同的模式串的首块字符散列值。在待匹配的目标字符串中提取合适的块字符,根据hash函数计算其对应的hash值,再与规则库中的模式串进行匹配,匹配完成后查询shift表决定字符移动距离。若数值大于0,后移距离为shift[x]个字符,并跳转到计算hash值;若数值小于0,计算位于数值小于0位置之前的字符串的哈希值,查找hash表并根据表中的指针指向模式树链表,若模式树链表中值与文本字符串相同,则说明模式树与文本串可能匹配,进一步比较,若匹配成功,输出匹配结果;若匹配失败,则利用shift表决定跳跃距离,实现跳跃式匹配,继续比较,直到文本串的末位字符。匹配成功的http规则便与规则库中编写好的应用类型相对应,将应用类型发送至sd-wan控制器,对匹配成功的数据包执行生成相应的流表执行后续的转发工作;对于匹配失败的http规则,由sd-wan控制器予以记录,并由技术人员对其进行解析,然后将该规则加入规则库中以完成对规则库的更新。
[0023]
以上实施例仅用以说明本发明的技术方法而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方法进行修改或等同替换,而不脱离本发明技术方法的精神和范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献