CN106506264A - 一种基于sdn的自定义数据包采样方法 - Google Patents
一种基于sdn的自定义数据包采样方法 Download PDFInfo
- Publication number
- CN106506264A CN106506264A CN201610929876.3A CN201610929876A CN106506264A CN 106506264 A CN106506264 A CN 106506264A CN 201610929876 A CN201610929876 A CN 201610929876A CN 106506264 A CN106506264 A CN 106506264A
- Authority
- CN
- China
- Prior art keywords
- sampling
- packet
- controller
- sample
- switch
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/02—Capturing of monitoring data
- H04L43/022—Capturing of monitoring data by sampling
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于SDN的自定义数据包采样方法。本方法为:1)在控制器中设置一采样模块,控制器根据上层应用发来的采样配置信息对指定交换机进行配置;2)当控制器接收上层应用发来的采样开始指令时,将其发送给指定交换机;3)交换机收到采样开始指令时,启动设置的定时器,根据配置对每一数据包进行筛选,得到满足匹配规则的数据包,然后按照配置的采样方式从筛选出的数据包中提取所需内容,输出到指定端口;4)当控制器接收上层应用发来的采样停止指令时,根据采样停止指令向指定交换机下发采样停止指令;交换机收到停止采样指令时,停止采样并取消定时器。本发明不但保证采样内容更加精确,而且能最大程度的减小数据包的大小。
Description
技术领域
本发明属于计算机网络领域,涉及一种采样方法,更为具体地,涉及一种面向SDN的自定义数据包采样方法。
背景技术
网络数据包采样目的在于以少量的信息量来获取网络的状态信息,对网络通信进行监控,以及对网络的一些异常情况进行处理,现今随着互联网的快速普及和网络攻击行为的频繁出现,保护网络的运行安全也成为数据包采样、进而达到监控的另一个重要目的。而现有传统网络,通常是通过数据镜像或根据定义好的协议格式对数据包进行信息采集,采样除了需要对交换机进行复杂的配置或额外的硬件支持外,采样得到的数据包和所需信息相比,或由于协议格式限定,采样内容不能灵活定义,导致采样数据不精确按需所取,导致数据包过大,数据部分包含了许多无用的信息,导致当数据包流量很大时给带宽带来了很大压力,最终在保证所需信息完整的情况下尽量减小数据包大小的能力都是有限的。
目前涉及到基于SDN数据包采样的方法的专利是201410827207.6,该专利采样的方式是针对完整数据包进行采样,其中虽然涵盖了所有有用特征,但是除有用特征外还包含了许多其他无用信息,不能根据需求最小化采样内容,没有充分利用SDN特性。基于SDN自定义数据包采样方法通过对现有OpenFlow指令集进行扩展来实现采样过程中各参数的自定义设置,最终实现灵活完整的采样功能,SDN技术能够为该采样方法的实现提供支撑。其将复杂的网络设备一分为二,转发功能由单一的硬件来实现,称之为数据面,而较为复杂的控制、管理、服务由软件来实现,称之为控制面,使原先完全分布式的架构转变成完全集中或者逻辑集中/半集中式的架构。通过控制面进行采样配置指令、采样起始指令的下发并对采样的具体参数进行设定,从而实现了可自定义的采样方法,在实现按需采样的同时最小化采样数据包大小。
发明内容
针对现有技术中存在的技术问题,本发明的目的在于提供一种基于SDN的自定义数据包采样方法,本发明支持使用自定义参数进行数据包指定采样。
本发明基于SDN技术来实现的自定义采样功能可以针对包括筛选规则、采样交换机、采样数据包类型、采样时间、采样数据包输出端口、采样内容进行自定义设置,并在筛选规则和采样内容部分达到最小单位为位的匹配,即可按位设定筛选规则(即需要采样内容的位移及采样长度),以及按位输出所采内容,同时还支持指定长度的包头采样。在控制器和交换机上进行修改,分别添加采样模块,使得控制器和交换机实现通过控制器下发指令,在数据层灵活采样,且这种采样方式为用户提供不同采样方式,使用户可以在按需采样的前提下,不但保证采样内容更加精确,还剔除了其他不相关内容,从而最大程度的减小数据包的大小。
一方面,本发明提供了一种基于SDN的数据包自定义采样方法,该方法包括:
1)控制器接收到来自上层应用的采样信息,控制器对其进行解析,得到相关参数,下发采样指令到指定的交换机中;
a)所述的基于SDN的自定义是指针对SDN网络中,控制器收到来自上层应用的采样信息,通过控制器中采样模块的对上层应用信息的识别解析、指令生成以及指令下发的功能,当收到上层应用的信息时,进行信息识别和参数解析,利用参数生成采样配置指令,并下发指令到指定交换机,其中用来进行采样配置的采样配置信息的格式如下:指令名称;–i采样间隔;–v一次采样时长;–p输出端口;–s采样交换机ID;-l匹配规则;–o采样内容;–h包头长度。
i.所述解析来自上层应用的采样配置信息解析得到的参数,是指指定的采样交换机、采样方式以及下发给交换机的配置参数。
ii.所述的控制器下发以及交换机收到的采样配置指令为OFSampleConfigRequest,指令格式为:outputPort(16B)、headLen(16B)、SamplingInterval(32B)、SamplingValueTime(32B)、matchFieldNum(16B)、offsetArr(16B*matchFieldNum)、lenArr(16B*matchFieldNum)、maskArr(16B*matchFieldNum)、outFieldNum(16B)outOffsetArr(16B*outFieldNum)outLenArr(16B*outFieldNum),通过解析得到相应参数,分别是输出端口、包头采样长度、采样间隔、采样时长、匹配偏移量、匹配长度、匹配掩码、输出字段个数、输出字段位移以及输出字段长度,并在交换机上进行相关配置各参数。
iii.所述采样方式包括包头采样和字段采样或者共同使用,包头采样,是指对指定长度的包头内容进行采样,是连续的;字段采样,是指将数据包中指定的字段进行采样,可以是间隔的,且可以是一个字段或多个字段。
iv.所述的采样时间包括一次采样时长及采样间隔。
v.所述采样匹配规则,可以为多个字段,其中每个字段包含偏移量、长度以及掩码,通过偏移量和长度来确定数据包中用来匹配的数据,将该段数据和掩码进行匹配来判断是否满足采样要求,当满足采样要求后,对该数据包内容进行采样处理,其中采样过程为利用输出字段个数、输出字段位移以及输出字段长度进行数据的复制与输出操作。
vi.所述采样数据包输出端口,是指交换机将采样内容输出的指定端口。
vii.所述采样内容,若采样方式为包头采样,则采样内容为采样长度,从数据包起始位置开始,对指定长度的数据包内容进行指定输出;若采样方式为字段采样,则采样内容为每个字段的偏移量、采样长度,通过偏移量和长度确定数据包的某几位进行拼接和指定输出。
2)交换机上的采样设置完成后,控制器收到来自上层应用的采样信息,通过控制器中采样模块的对上层应用信息的识别解析,进行信息识别和参数解析,利用参数生成采样起止指令,并下发指令到指定交换机,使交换机执行相应动作。其中用来控制采样起止的采样信息格式如下:指令名称–t1(采样开始)或者指令名称–t0(采样停止)。
i.所述交换机开始采样是指交换机通过采样配置指令设定定时器,当交换机收到开始采样指令时,启动定时器,周期性的利用匹配规则对每一个数据包进行筛选,满足匹配规则的数据包按照指定的采样方式,对该数据包取所需内容,最终输出到指定端口。
ii.所述交换机停止采样是指交换机收到停止采样指令时,取消定时器,终止一切采样行为。
另一方面,本发明提供了一种基于SDN的自定义数据包采样***。同时由于本发明依赖于SDN机制,因此采用主流控制器软件和交换机协议。
1)接收来自上层应用的采样信息;
2)判断采样信息类型,并解析采样信息,向指定交换机下发相应指令;
3)若交换机收到采样配置指令,配置交换机,等待采样开始指令;
4)交换机在采样配置完成后,若收到采样开始指令,则定时的将采样的指定内容输出到指定端口;若收到停止指令时,终止一切采样,等待下次采样。
与现有技术相比,本发明的有益效果:
本发明能够利用SDN的特性实现支持自定义设置采样,从而实现对数据包按需采样,并且不对源数据包的完整性和执行过程有任何影响,增加了采样的灵活性,可控性并减小了采样结果大小,减轻了数据层面上传输的压力,该方法能够对SDN网络数据层面的数据进行采样来及时了解网络现状,并对一些攻击检测提供数据支持。
附图说明
图1是***运行流程示意图;
图2是控制器内自定义采样模块的流程图;
图3是交换机内自定义采样过程的流程图;
图4是自定义采样的流程图。
具体实施方式
为使本发明的实施例的目的、技术方案和优点更加清楚,下面进一步结合附图对本发明作详细描述。
1.图1是本发明的***运行流程图。如图1所示,所述方法包括:
1)控制器内自定义采样模块,控制器接收到来自上层应用的采样信息,进行类型判断及解析操作,该子***的输出为采样配置、采样开始/采样停止指令;
2)交换机接收并解析指令,若得到的是采样配置指令,用自定义参数配置交换机;若得到的是开始采样指令,在完成配置的前提下,对满足采样要求的数据包的指定内容进行采样处理;若得到的是停止采样指令,在开始采样的前提下,停止采样过程,该子***的输出为采样结果。
2.图2是本发明的控制器内自定义采样模块的具体流程:
1)控制器接收到来自上层应用的采样配置信息;
a)采样配置信息的格式为:指令名称–i采样间隔;–v一次采样时长;–p输出端口;–s采样交换机ID;-l匹配规则;–o采样内容;–h包头长度。其中采样间隔单位为ms,不写单位;一次采样时长单位为ms,不写单位;采样交换机ID可以有多个用逗号隔开;匹配规则可有多个用分号隔开,每个字段包括字段长度,偏移量,掩码三个部分组成,分别用逗号隔开;采样内容可有多个用分号隔开,每个字段包括字段长度,偏移量两个部分,分别用逗号隔开;包头长度为包头采样方式下指定输出的包头长度,以-开头的七个参数必须都有,顺序可以互换。
b)采样开始信息为:1;采样停止信息为:0。
2)控制器根据指令格式解析指令中各参数;
3)控制器将解析出来的参数作为指令参数,下发相应扩展的OpenFlow指令下发到响应交换机中。
3.图3是本发明的交换机内自定义采样过程的具体流程:
1)接收指令,判断指令类型,如果是采样配置指令,解析得到配置参数,配置交换机,继续等待;如果是开始采样指令,且交换机已经配置完成,开始进行采样;
2)按照匹配规则筛选数据包,并对其指定部分进行采样;
3)将采样结果按照指定的输出端口输出;
4)接收指令,判断指令类型,如果是结束采样指令,则停止采样。
4.图4是本发明的自定义采样的流程图的具体流程:
a)控制器收到北向应用发来采样配置指令,对指令进行解析,当指令格式正确,解析得到的参数完整,将相关参数作为采样配置指令参数,下发到参数中指定的交换机中去;控制器下发给交换机的采样配置指令包括采样时间参数、输出端口,数据包匹配规则,采样内容参数,由控制器下发采样配置指令到指定交换机中;控制器收到北向应用发来的开始/停止采样指令,对指令进行解析,下发开始/停止采样指令到交换机中去;
b)收到指令的交换机对指令进行解析,如果是采样配置指令,用解析得到的参数对采样过程进行相应配置;如果是采样开始/停止指令,则开始/停止采样;
2)开始采样时,交换机判断是否是可采样时间,如果是则进行下一步,否则将数据包放回到正常流程当中;
3)判断数据包是否符合采样数据包的匹配规则,如果是则进行下一步,否则将数据包放回到正常流程当中;
4)按照参数指定的内容对数据包相应部分进行复制,并生成采样结果数据包;
5)根据参数指定的输出端口将生成的采样结果数据包输出;
6)将未做任何改动的原数据包放回到交换机的正常流程中。
综上所述,本发明的基于SDN技术数据包自定义采样方法与***通过SDN控制平面与数据平面相分离的特性,实现在自定义时间内灵活的采集所需信息,并按照指定端口输出。该方法能够在大幅度的压缩采样结果的大小的同时,保证采样数据的精确性,获取网络的状态信息,对网络通信进行监控,使网络的一些异常情况得到及时处理。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明在SDN中的实现过程,以上实施例仅用以说明本发明的技术方案而非对其进行限制,本领域的普通技术人员可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明的精神和范围,本发明的保护范围应以权利要求书所述为准。
Claims (7)
1.一种基于SDN的自定义数据包采样方法,其步骤为:
1)在控制器中设置一采样模块,控制器根据上层应用发来的采样配置信息对指定交换机进行配置;
2)当控制器接收上层应用发来的采样开始指令时,控制器根据采样开始指令向指定交换机下发采样开始指令;
3)交换机收到采样开始指令时,启动设置的定时器,根据步骤1)配置对每一数据包进行筛选,得到满足匹配规则的数据包,然后按照配置的采样方式从筛选出的数据包中提取所需内容,输出到指定端口;
4)当控制器接收上层应用发来的采样停止指令时,控制器根据采样停止指令向指定交换机下发采样停止指令;交换机收到停止采样指令时,停止采样并取消定时器。
2.如权利要求1所述的方法,其特征在于,所述采样配置信息包括:采样交换机、采样方式以及下发给采样交换机的配置参数。
3.如权利要求2所述的方法,其特征在于,所述配置参数包括:输出端口、包头采样长度、采样间隔、采样时长、匹配偏移量、匹配长度、匹配掩码、输出字段个数、输出字段位移以及输出字段长度。
4.如权利要求2所述的方法,其特征在于,所述采样方式包括包头采样和或字段采样。
5.如权利要求4所述的方法,其特征在于,步骤3)中,从筛选出的数据包中提取所需内容的方法为:若采样方式为包头采样,则从数据包起始位置开始提取设定长度的数据;若采样方式为字段采样,则根据数据包中每个字段的偏移量、采样长度来确定每个字段用来匹配的数据,然后将各字段的采样内容拼接作为该数据包的采样数据。
6.如权利要求1所述的方法,其特征在于,所述采样开始指令中包含交换机标识信息,控制器根据采样开始指令中的交换机标识信息向指定交换机下发采样开始指令;所述采样停止指令中包含交换机标识信息,控制器根据采样停止指令中的交换机标识信息向指定交换机下发采样停止指令。
7.如权利要求1所述的方法,其特征在于,所述匹配规则包括若干采样字段,每个采样字段包含偏移量、长度以及掩码;通过偏移量和长度来确定数据包中用来匹配的数据,然后将该段数据和掩码进行匹配来判断是否满足采样要求,当满足采样要求后,对该数据包内容进行采样处理,其中采样过程为利用输出字段个数、输出字段位移以及输出字段长度进行数据的复制与输出操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610929876.3A CN106506264B (zh) | 2016-10-31 | 2016-10-31 | 一种基于sdn的自定义数据包采样方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610929876.3A CN106506264B (zh) | 2016-10-31 | 2016-10-31 | 一种基于sdn的自定义数据包采样方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106506264A true CN106506264A (zh) | 2017-03-15 |
CN106506264B CN106506264B (zh) | 2019-11-19 |
Family
ID=58319271
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610929876.3A Active CN106506264B (zh) | 2016-10-31 | 2016-10-31 | 一种基于sdn的自定义数据包采样方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106506264B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110191306A (zh) * | 2018-06-06 | 2019-08-30 | 浙江宇视科技有限公司 | 一种基于sdn的数据业务传送优化方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103036653A (zh) * | 2012-12-26 | 2013-04-10 | 华中科技大学 | 一种对OpenFlow网络进行网络编码的方法 |
CN104301129A (zh) * | 2013-07-16 | 2015-01-21 | 上海宽带技术及应用工程研究中心 | 一种软件定义网络中的动态主机配置方法及*** |
CN104580173A (zh) * | 2014-12-25 | 2015-04-29 | 广东顺德中山大学卡内基梅隆大学国际联合研究院 | 一种sdn异常检测与阻截方法及*** |
CN104580168A (zh) * | 2014-12-22 | 2015-04-29 | 华为技术有限公司 | 一种攻击数据包的处理方法、装置及*** |
-
2016
- 2016-10-31 CN CN201610929876.3A patent/CN106506264B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103036653A (zh) * | 2012-12-26 | 2013-04-10 | 华中科技大学 | 一种对OpenFlow网络进行网络编码的方法 |
CN104301129A (zh) * | 2013-07-16 | 2015-01-21 | 上海宽带技术及应用工程研究中心 | 一种软件定义网络中的动态主机配置方法及*** |
CN104580168A (zh) * | 2014-12-22 | 2015-04-29 | 华为技术有限公司 | 一种攻击数据包的处理方法、装置及*** |
CN104580173A (zh) * | 2014-12-25 | 2015-04-29 | 广东顺德中山大学卡内基梅隆大学国际联合研究院 | 一种sdn异常检测与阻截方法及*** |
Non-Patent Citations (1)
Title |
---|
陈晓兵 等: "面向工业控制网络的***方案", 《信息网络安全》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110191306A (zh) * | 2018-06-06 | 2019-08-30 | 浙江宇视科技有限公司 | 一种基于sdn的数据业务传送优化方法及装置 |
CN110191306B (zh) * | 2018-06-06 | 2022-02-01 | 浙江宇视科技有限公司 | 一种基于sdn的数据业务传送优化方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN106506264B (zh) | 2019-11-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102291272B (zh) | 设备或网络的远程动态测试方法及装置 | |
EP2493124B1 (en) | Implementing method and device for virtual local area network stack accessing virtual private wire service | |
CN106357534A (zh) | 一种基于sdn的流量监控***及方法 | |
CN104270309B (zh) | 一种ip ran设备下实现多跳bfd的方法 | |
CN109617923A (zh) | 一种智能变电站过程层网络报文过滤转发装置 | |
CN106850616B (zh) | 利用sdn技术解决分布式防火墙网络一致更新的方法 | |
CN104883631B (zh) | 网络数据包获取***及获取方法 | |
EP3694155B1 (en) | Communication system, communication device, and communication method | |
CN105119911B (zh) | 一种基于sdn流的安全认证方法及*** | |
CN111314228A (zh) | 一种支持时间敏感网络功能的plc控制*** | |
CN106506264A (zh) | 一种基于sdn的自定义数据包采样方法 | |
CN110430073A (zh) | 一种基于抽象业务原子操作的异构***自动化运维方法 | |
CN107770181A (zh) | 一种机器人***的交互方法、交互处理装置及*** | |
CN106230753B (zh) | 端口扩展器pe下行端口控制方法和装置 | |
CN106445859A (zh) | 一种单板上多个处理器调试口复用切换方法和装置 | |
CN106850331A (zh) | 一种交通领域的带同步时钟功能的以太网发帧装置 | |
CN106878178B (zh) | 流表下发方法、***及控制器 | |
CN106774428A (zh) | 一种脑电波无人机控制方法 | |
WO2016101546A1 (zh) | 操作维护管理功能的实现方法及装置 | |
CN107179763A (zh) | 一种利用udp协议传输实现卫星控制***单机故障的模拟方法 | |
CN105516116B (zh) | 一种基于ForCES控制件控制OpenFlow交换机的***及协议转换方法 | |
CN107290988A (zh) | 机器人及其示教器通信***和方法 | |
CN113612627B (zh) | 一种应用于智慧灯杆的协议适配处理方法及*** | |
CN109995674B (zh) | 一种可编程sdn交换机*** | |
CN113965470B (zh) | 一种航空信息网络实验仿真*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | 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 |