CN106411791A - Icmp分片报文重组方法及转发方法、控制器及交换机 - Google Patents

Icmp分片报文重组方法及转发方法、控制器及交换机 Download PDF

Info

Publication number
CN106411791A
CN106411791A CN201610802934.6A CN201610802934A CN106411791A CN 106411791 A CN106411791 A CN 106411791A CN 201610802934 A CN201610802934 A CN 201610802934A CN 106411791 A CN106411791 A CN 106411791A
Authority
CN
China
Prior art keywords
icmp
message
packet
fragment message
controller
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.)
Pending
Application number
CN201610802934.6A
Other languages
English (en)
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.)
Shanghai Feixun Data Communication Technology Co Ltd
Original Assignee
Shanghai Feixun Data Communication Technology Co Ltd
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 Shanghai Feixun Data Communication Technology Co Ltd filed Critical Shanghai Feixun Data Communication Technology Co Ltd
Priority to CN201610802934.6A priority Critical patent/CN106411791A/zh
Publication of CN106411791A publication Critical patent/CN106411791A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9057Arrangements for supporting packet reassembly or resequencing

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供了一种ICMP分片报文重组方法及转发方法、控制器及交换机,其中,在该ICMP分片报文重组方法中包括:S110控制器接收交换机上报的ICMP分片报文;S120控制器基于接收到的ICMP分片报文生成分片重组动态表;S130控制器基于生成的分片重组动态表对接收到的ICMP分片报文进行重组生成ICMP报文;S140控制器基于生成的ICMP报文对转发路径上的最大传输单元进行重新分配;S150控制器将流表下发至交换机实现后续ICMP报文的转发。有效避免了交换机直接将攻击ICMP分片报文丢弃之后同时将合法ICMP分片报文一并丢弃的问题,对用户数据进行了有效的保护。

Description

ICMP分片报文重组方法及转发方法、控制器及交换机
技术领域
本发明涉及通信技术领域,尤其涉及一种ICMP分片报文重组方法、一种ICMP分片报文转发方法、一种控制器以及一种交换机。
背景技术
ICMP(Internet Control Message Protocol)是Internet控制报文协议,其是TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/因特网互联协议)协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。具体,该控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。
一般来说,网络中传输的ICMP报文都不大,对于不同的***,能够传输的ICMP报文的大小也不一样,以测试网络的运行状态,检测网络转发路径的稳定性。
在网络运行过程中,若ICMP报文过大,超出了网络的MTU(Maximum TransmissionUnit,最大传输单元),会分成几个ICMP分片来进行发送。但是,在网络正常运行中,一般不会出现ICMP分片报文,大部分情况下是由于网络攻击导致的。若网络中存在大流量的ICMP分片报文,不但会占用宝贵的带宽资源,而且会导致***性能严重下降,甚至无法正常工作。
传统的交换机能够识别并且过滤ICMP分片报文,在使能ICMP分片报文过滤功能之后,正常转发和上送CPU(Central Processing Unit,中央处理器)的ICMP分片报文都会被直接丢弃,算法示意图如图1所示,其中,图示中的S1、S2、S3以及S4分别为交换机,具体,当交换机S4识别出客户端传输的为ICMP分片报文,则随即将其丢弃。但是,若这些ICMP分片报文不是攻击报文,无疑用户将会丢失数据。
发明内容
针对上述问题,本发明提供了一种ICMP分片报文重组方法、一种ICMP分片报文转发方法、一种控制器以及一种交换机,有效解决了现有技术中将合法ICMP分片报文丢弃的问题。
本发明提供的技术方案如下:
一种基于SDN的ICMP分片报文重组方法,该SDN中包括一控制器及多个交换机,该ICMP分片报文重组方法中包括:
S110控制器接收交换机上报的ICMP分片报文;
S120控制器基于接收到的ICMP分片报文生成分片重组动态表;
S130控制器基于生成的分片重组动态表对接收到的ICMP分片报文进行重组生成ICMP报文;
S140控制器基于生成的ICMP报文对转发路径上的MTU值进行重新分配;
S150控制器将流表下发至交换机实现后续ICMP报文的转发。
在本技术方案中,控制器将将接收到的报文进行重组之后进行转发,以此避免网络中存在大量的ICMP分片报文,占用宝贵的宽带资源;同时避免了交换机直接将攻击ICMP分片报文丢弃之后同时将合法ICMP分片报文一并丢弃的问题,对用户数据进行了有效的保护。
进一步优选地,在步骤S120中具体包括:
S121提取ICMP分片报文的源IP(Internet Protocol,网络之间互连的协议)地址和目的IP地址;
S122基于提取的源IP地址和目的IP地址生成分片重组动态表。
进一步优选地,在步骤S120中,所述分片重组动态表中包括:ICMP分片报文的源IP地址、目的IP地址以及报文处理类型;所述报文处理类型包括:报文重组类型和报文丢弃类型。
在本技术方案中,在分片重组动态表中配置好处理器接收到ICMP分片报文之后的报文处理类型,这样,处理器接收到ICMP分片报文之后即可能够判断出如何处理该ICMP分片报文,提高处理器的效率。
进一步优选地,在步骤S130中具体包括:
根据ICMP分片报文的转发路径判断其报文处理类型;
若判断该ICMP分片报文属于报文重组类型,则控制器对接收到的ICMP分片报文进行重组生成ICMP报文后转入步骤S140;
若判断该ICMP分片报文属于报文丢弃类型,则控制器向上报该ICMP分片报文的交换机下发流表,丢弃后续ICMP分片报文。
在本技术方案中,根据ICMP分片报文所属的报文处理类型对其进行处理,以此将攻击ICMP分片报文(不合法ICMP分片报文)进行丢弃,并将合法ICMP分片报文进行重组,之后重新计算整个网络的MTU值并重新分配各转发路径的MTU值,实现对重组得到的ICMP报文的转发。有效解决了交换机将合法ICMP分片报文丢弃的问题,同时提高到了整个网络的转发效率。
进一步优选地,在步骤S150之后还包括:
S160控制器向报文发送者反馈ICMP差错报文,并生效分配后个转发路径的MTU值。
本发明还提供了一种基于SDN的ICMP分片报文转发方法,所述SDN中包括一控制器及多个交换机,所述ICMP分片报文转发方法中包括:
S210交换机接收控制器下发的流表;
S220交换机接收数据报文,并将其与流表进行匹配;
S230交换机基于数据报文的匹配结果,进一步判断该数据报文是否为ICMP分片报文;
S240若判断出该数据报文为ICMP分片报文,则进一步判断该ICMP分片报文的报文处理类型;
S250交换机基于ICMP分片报文所属的报文处理类型对ICMP分片报文进行重组生成ICMP报文;
S260交换机根据流表中最新分配的MTU值对重组后的ICMP报文进行转发。
在本技术方案中,在交换机中根据控制器下发的流表对接收到的数据报文进行判断,若该数据报文为ICMP报文,则直接根据最新分配的MTU值进行转发。若其为ICMP分片报文则进行重组后进行转发,以此避免网络中存在大量的ICMP分片报文,占用宝贵的宽带资源;同时避免了交换机直接将攻击ICMP分片报文丢弃之后同时将合法ICMP分片报文一并丢弃的问题,对用户数据进行了有效的保护。
进一步优选地,在步骤S210中接收的流表中的匹配字段包括:源IP地址、目的IP地址、报文重组类型以及报文丢弃类型;
在步骤S240中:
若判断ICMP分片报文属于报文丢弃类型,则丢弃该ICMP分片报文;
若判断ICMP分片报文属于报文重组类型,则缓存ICMP分片报文并进行重组处理之后转入步骤S250。
在本技术方案中,交换机根据ICMP分片报文所属的报文处理类型对其进行处理,以此将攻击ICMP分片报文进行丢弃,并将合法ICMP分片报文进行重组,之后根据最新分配的MTU值实现对重组得到的ICMP报文的转发。有效解决了交换机将合法ICMP分片报文丢弃的问题,同时提高到了整个网络的转发效率。
本发明还提供了一种应用于SDN的控制器,该控制器与至少一个交换机连接,包括:
动态表项生成模块,基于接收到的ICMP分片报文生成分片重组动态表;
第一报文重组模块,基于动态表项生成模块生成的分片重组动态表对接收到的ICMP分片报文进行重组生成ICMP报文;
MTU值分配模块,基于第一报文重组模块生成的ICMP报文对转发路径上的MTU值进行重新分配;
流表下发模块,将流表下发至交换机实现后续ICMP报文的转发。
在本技术方案中,控制器将将接收到的报文进行重组之后进行转发,以此避免网络中存在大量的ICMP分片报文,占用宝贵的宽带资源;同时避免了交换机直接将攻击ICMP分片报文丢弃之后同时将合法ICMP分片报文一并丢弃的问题,对用户数据进行了有效的保护。
进一步优选地,所述动态表项生成模块中包括:
地址提取单元,用于提取ICMP分片报文的源IP地址和目的IP地址;
表项生成单元,用于基于地址提取单元提取的源IP地址和目的IP地址生成分片重组动态表。
进一步优选地,所述分片重组动态表中包括:ICMP分片报文的源IP地址、目的IP地址以及报文处理类型;所述报文处理类型包括:报文重组类型和报文丢弃类型。
在本技术方案中,在分片重组动态表中配置好处理器接收到ICMP分片报文之后的报文处理类型,这样,处理器接收到ICMP分片报文之后即可能够判断出如何处理该ICMP分片报文,提高处理器的效率。
进一步优选地,所述控制器中还包括第一判断模块,用于根据ICMP分片报文的转发路径判断其报文处理类型;
若所述第一判断模块判断ICMP分片报文属于报文重组类型,则第一报文重组模块对接收到的ICMP分片报文进行重组生成ICMP报文;
若所述第一判断模块判断ICMP分片报文属于报文丢弃类型,则流表下发模块向上报该ICMP分片报文的交换机下发流表,丢弃后续ICMP分片报文;
和/或,所述控制器中还包括差错报文反馈模块;
第一报文重组模块对接收到的ICMP分片报文进行重组生成ICMP报文之后,差错报文反馈模块向报文发送者反馈ICMP差错报文。
在本技术方案中,根据ICMP分片报文所属的报文处理类型对其进行处理,以此将攻击ICMP分片报文(不合法ICMP分片报文)进行丢弃,并将合法ICMP分片报文进行重组,之后重新计算整个网络的MTU值并重新分配各路径的MTU值,实现对重组得到的ICMP报文的转发。有效解决了交换机将合法ICMP分片报文丢弃的问题,同时提高到了整个网络的转发效率。
本发明还提供了一种应用于SDN的交换机,该交换机中包括:
流表匹配模块,用于将接收到数据报文与上述控制器下发的流表进行匹配;
第二判断模块,基于流表匹配模块的匹配结果,进一步数据报文是否为ICMP分片报文及判断ICMP分片报文的报文处理类型;
第二报文重组模块,基于第二判断模块判断的报文处理类型对ICMP分片报文进行重组生成ICMP报文;
报文转发模块,根据流表中最新分配的MTU值对第二报文重组模块重组后的ICMP报文进行转发。
在本技术方案中,在交换机中根据控制器下发的流表对接收到的ICMP分片报文进行重组后进行转发,以此避免网络中存在大量的ICMP分片报文,占用宝贵的宽带资源;同时避免了交换机直接将攻击ICMP分片报文丢弃之后同时将合法ICMP分片报文一并丢弃的问题,对用户数据进行了有效的保护。
进一步优选地,控制器下发的流表中的匹配字段包括:源IP地址、目的IP地址、报文丢弃类型以及报文重组类型;
若第二判断模块判断ICMP分片报文属于报文丢弃类型,则丢弃该ICMP分片报文;
若第二判断模块判断ICMP分片报文属于报文重组类型,则缓存ICMP分片报文之后第二报文重组模块对其进行重组,之后报文转发模块基于最新分配的MTU值对重组后的ICMP报文进行转发。
在本技术方案中,交换机根据ICMP分片报文所属的报文处理类型对其进行处理,以此将攻击ICMP分片报文进行丢弃,并将合法ICMP分片报文进行重组,之后根据最新分配的MTU值实现对重组得到的ICMP报文的转发。有效解决了交换机将合法ICMP分片报文丢弃的问题,同时提高到了整个网络的转发效率。
附图说明
下面将以明确易懂的方式,结合附图说明优选实施方式,对上述特性、技术特征、优点及其实现方式予以进一步说明。
图1为现有技术中交换机对ICMP分片报文进行处理的硬件结构示意图;
图2为本发明中ICMP分片报文重组方法一种实施方式流程示意图;
图3为本发明中Experimenter报文的报文格式示意图;
图4为本发明中ICMP分片报文重组方法另一种实施方式流程示意图;
图5为本发明中ICMP分片报文转发方法流程示意图;
图6为本发明中控制器一种实施方式结构示意图;
图7为本发明中控制器另一种实施方式结构示意图;
图8为本发明中控制器另一种实施方式结构示意图;
图9为本发明中交换机结构示意图;
图10为本发明中ICMP分片报文转发一种具体实施方式***结构示意图。
附图标号说明:
100-控制器,110-动态表项生成模块,120-第一报文重组模块,130-MTU值分配模块,140-流表下发模块,150-第一判断模块,160-差错报文反馈模块,200-交换机,210-流表匹配模块,220-第二判断模块,230-第二报文重组模块,240-报文转发模块。
具体实施方式
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对照附图说明本发明的具体实施方式。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,并获得其他的实施方式。
如图2所示为本发明提供的基于SDN的ICMP分片报文重组方法一种实施方式流程示意图,其中,该SDN中包括一控制器及多个交换机。从图中可以看出,在该ICMP分片报文重组方法中包括:S110控制器接收交换机上报的ICMP分片报文;S120控制器基于接收到的ICMP分片报文生成分片重组动态表;S130控制器基于生成的分片重组动态表对接收到的ICMP分片报文进行重组生成ICMP报文;S140控制器基于生成的ICMP报文对转发路径上的MTU值进行重新分配;S150控制器将流表下发至交换机实现后续ICMP报文的转发。
具体来说,控制器在接收到交换机上报的ICMP分片报文之后,随即提取该ICMP分片报文的源IP地址和目的IP地址;并基于提取到的源IP地址和目的IP地址生成分片重组动态表。然后控制器根据生成的分片重组动态表重组ICMP分片报文,并重新计算网络的MTU值;之后,控制器根据ICMP分片报文的目的IP地址计算报文转发路径,并根据报文转发路径对转发路径上的MTU值进行重新分配。最后控制器将流表下发至转发路径上的交换机,并生效各报文转发路径分配后的MTU值,以此,转发路径上的交换机根据流表实现后续ICMP报文的转发。
更具体来说,如表1所示,在上述分片重组动态表中配置项包括:ICMP分片报文的源IP地址、目的IP地址以及报文处理类型;其中,源IP地址表明数据流(包括ICMP分片报文)的源IP地址;目的IP地址表面数据流的目的IP地址;报文处理类型包括:报文重组类型和报文丢弃类型,具体,报文重组类型为重组并重新计算整个网络的MTU值,报文丢弃类型为直接丢弃ICMP分片报文。另外,在该分片重组动态表中,报文处理类型默认为报文重组类型。
表1:分片重组动态表
基于此,在步骤S130中具体包括:根据ICMP分片报文的转发路径判断其报文处理类型。若判断该ICMP分片报文属于报文重组类型,则控制器对接收到的ICMP分片报文进行重组生成ICMP报文后转入步骤S140;若判断该ICMP分片报文属于报文丢弃类型,则控制器向上报该ICMP分片报文的交换机下发流表,丢弃后续同一转发路径的ICMP分片报文。
要说明的是,控制器中要实现上述目的,如表2所示,该控制器应支持基于SDN的ICMP分片报文重组配置任务序列,具体包括:基于数据流的ICMP分片重组动态表及基于SDN的ICMP分片报文重组算法功能打开或关闭。基于此,若整个网络中出现较多的ICMP分片报文,并需要对其进行进一步处理,则基于该ICMP分片报文重组配置任务序列打开基于SDN的ICMP分片报文重组算法功能;若不需要对网络中的ICMP分片报文进行处理,则关闭相应的功能。
表2:ICMP分片报文重组配置任务序列
另外,在本实施方式中,我们对交换机到控制器的私有扩展Experimenter报文做出说明,具体格式如图3所示。从图中可以看出,在该Experimenter报文中,包括:Version(版本号)、Type(数据类型)、Length(数据长度)、Transaction ID(事务ID号)、Experimenter值(图示中Experimenter)、Experimenter类型(图示中Experimenter Type)、端口号(如图示中的Port 1、……、Port n)以及各端口号对应的MTU值,具体在该Experimenter报文中,上报的端口号支持128个,即n=128。更进一步来说,交换机向控制器上报ICMP分片报文的过程中,该Experimenter值为255(表示需要向ONF(Open NetworkingFoundation,开放网络基金会)组织申请),Experimenter类型为1(表示数据方向为从交换机到控制器),且该私有Experimenter报文由交换机上报给控制器。
对上述实施方式进行改进得到本实施方式,如图4所示,在该ICMP分片报文重组方法中包括:S110控制器接收交换机上报的ICMP分片报文;S120控制器基于接收到的ICMP分片报文生成分片重组动态表;S130控制器基于生成的分片重组动态表对接收到的ICMP分片报文进行重组生成ICMP报文;S140控制器基于生成的ICMP报文对转发路径上的MTU值进行重新分配;S150控制器将流表下发至交换机实现后续ICMP报文的转发;S160控制器向报文发送者反馈ICMP差错报文,并生效分配后的MTU值。
具体来说,控制器在接收到交换机上报的ICMP分片报文之后,随即提取该ICMP分片报文的源IP地址和目的IP地址;并基于提取到的源IP地址和目的IP地址生成分片重组动态表。随后,计算ICMP分片报文的转发路径,并基于此判断该ICMP分片报文的报文处理类型。具体,若判断该ICMP分片报文属于报文丢弃类型,则控制器向上报该ICMP分片报文的交换机下发流表,丢弃后续同一转发路径的ICMP分片报文。若判断该ICMP分片报文属于报文重组类型,则控制器对接收到的ICMP分片报文进行重组生成ICMP报文后重新计算网络的MTU值,并根据报文转发路径对转发路径上的MTU值进行重新分配。最后,控制器将流表下发至转发路径上的交换机并向报文发送者反馈ICMP差错报文,同时生效各报文转发路径分配后的MTU值,以此,转发路径上的交换机根据流表实现后续ICMP报文的转发。
如图5所示为本发明中提供的基于SDN的ICMP分片报文转发方法的流程示意图,具体,在该ICMP分片报文转发方法中包括:S210交换机接收控制器下发的流表;S220交换机接收数据报文,并将其与流表进行匹配;S230交换机基于数据报文的匹配结果,进一步判断该数据报文是否为ICMP分片报文;S240若判断出该数据报文为ICMP分片报文,则进一步判断该ICMP分片报文的报文处理类型;S250交换机基于ICMP分片报文所属的报文处理类型对ICMP分片报文进行重组生成ICMP报文;S260交换机根据流表中最新分配的MTU值对重组后的ICMP报文进行转发。
具体,在步骤S220中,交换机中根据数据报文中IP头中的MF字段或IP头中的OFFSET字段来判断该数据报文是ICMP报文还是ICMP分片报文,具体,若IP头中的MF字段不为0或者IP头OFFSET字段不为0,则表示该数据报文为ICMP分片报文。更具体来说,若判断出该数据报文为ICMP报文,则直接根据流表中最新分配的MTU值对接收到的ICMP报文进行转发。若判断出该数据报文为ICMP分片报文,则进一步判断该ICMP分片报文的报文处理类型,进入步骤S250。
具体来说,如表3所示,上述流表中的匹配字段(表中Match字段)包括:源IP地址、目的IP地址、报文重组类型以及报文丢弃类型,其中,对于匹配字段为“源IP地址,目的IP地址,报文丢弃类型”来说,动作字段为“丢弃报文”,具体描述为“报文直接被丢弃”;对于匹配字段为“源IP地址,目的IP地址,报文重组类型”来说,动作字段为“重组报文,转发报文”,具体描述为“缓存分片报文,进行重组处理;根据最新分配的MTU值,转发报文”。
基于此,在本实施方式中,在步骤S240中:若判断ICMP分片报文属于报文丢弃类型,则丢弃该ICMP分片报文;若判断ICMP分片报文属于报文重组类型,则缓存ICMP分片报文并进行重组处理之后转入步骤S240。另外,从以上描述可知,由该流表实际上是控制器中下发的,故除了交换机中支持流表的扩充,控制器中同样支持流表的扩充,以控制器基于接收到的ICMP分片报文生成表3所示的扩充流表并下发至转发路径上的交换机中。
表3:流表
如图6所示为本发明提供的控制器一种实施方式结构示意图,具体该控制器应用于上述ICMP分片报文重组方法,且该控制器100与至少一个交换机200连接。从图中可以看出,在该控制器100中包括:动态表项生成模块110、第一报文重组模块120、MTU值分配模块130以及流表下发模块140,其中,第一报文重组模块120与动态表项生成模块110连接,MTU值分配模块130与第一报文重组模块120连接,流表下发模块140与MTU值分配模块130连接。进一步来说,在该动态表项生成模块中包括:相互连接的地址提取单元和表项生成单元,其中,地址提取单元用于提取ICMP分片报文的源IP地址和目的IP地址;表项生成单元基于地址提取单元提取的源IP地址和目的IP地址生成分片重组动态表。
在工作过程中,动态表项生成模块110在接收到交换机上报的ICMP分片报文之后,随即地址提取单元提取该ICMP分片报文的源IP地址和目的IP地址;之后表项生成单元基于提取到的源IP地址和目的IP地址生成分片重组动态表。随后,第一报文重组模块120根据生成的分片重组动态表重组ICMP分片报文,并重新计算网络的MTU值;之后,MTU值分配模块130根据ICMP分片报文的目的IP地址计算报文转发路径,并根据报文转发路径对转发路径上的MTU值进行重新分配。最后,流表下发模块140将流表下发至转发路径上的交换机,并生效各报文转发路径分配后的MTU值,以此,转发路径上的交换机根据流表实现后续ICMP报文的转发。
更具体来说,如表1所示,在上述分片重组动态表中配置项包括:ICMP分片报文的源IP地址、目的IP地址以及报文处理类型;其中,源IP地址表明数据流(包括ICMP分片报文)的源IP地址;目的IP地址表面数据流的目的IP地址;报文处理类型包括:报文重组类型和报文丢弃类型,具体,报文重组类型为重组并重新计算整个网络的MTU值,报文丢弃类型为直接丢弃ICMP分片报文。另外,在该分片重组动态表中,报文处理类型默认为报文重组类型。
基于此,对上述实施方式进行改进得到本实施方式,如图7所示,在本实施方式中,控制器100中除了包括动态表项生成模块110、第一报文重组模块120、MTU值分配模块130以及流表下发模块140之外,还包括第一判断模块150,用于根据ICMP分片报文的转发路径判断其报文处理类型。
具体,在工作过程中,若第一判断模块150根据ICMP分片报文的转发路径判断其报文处理类型。若判断出该ICMP分片报文属于报文重组类型,则第一报文重组模块120对接收到的ICMP分片报文进行重组生成ICMP报文;若第一判断模块150判断ICMP分片报文属于报文丢弃类型,则流表下发模块140向上报该ICMP分片报文的交换机200下发流表,丢弃后续同一转发路径的ICMP分片报文;
对上述实施方式进行改进得到本实施方式,如图8所示,在本实施方式中,控制器100中除了包括动态表项生成模块110、第一报文重组模块120、MTU值分配模块130、流表下发模块140以及第一判断模块150之外,还包括差错报文反馈模块160。在工作过程中,第一报文重组模块120对接收到的ICMP分片报文进行重组生成ICMP报文之后,差错报文反馈模块160向报文发送者反馈ICMP差错报文。
在工作过程中,动态表项生成模块110在接收到交换机上报的ICMP分片报文之后,随即地址提取单元提取该ICMP分片报文的源IP地址和目的IP地址;之后表项生成单元基于提取到的源IP地址和目的IP地址生成分片重组动态表。接着,第一判断模块150根据ICMP分片报文的转发路径判断其报文处理类型。若第一判断模块150判断ICMP分片报文属于报文丢弃类型,则流表下发模块140向上报该ICMP分片报文的交换机200下发流表,丢弃后续同一转发路径的ICMP分片报文;若判断出该ICMP分片报文属于报文重组类型,则第一报文重组模块120对接收到的ICMP分片报文进行重组生成ICMP报文,并重新计算网络的MTU值;之后,MTU值分配模块130根据ICMP分片报文的目的IP地址计算报文转发路径,并根据报文转发路径对转发路径上的MTU值进行重新分配。最后,流表下发模块140将流表下发至转发路径上的交换机,并使用差错报文反馈模块160向报文发送者反馈ICMP差错报文,同时生效各报文转发路径分配后的MTU值,以此,转发路径上的交换机根据流表实现后续ICMP报文的转发。
如图9所示为本发明提供的交换机200,应用于上述ICMP分片报文的转发方法,具体该交换机200中包括:流表匹配模块210、第二判断模块220、第二报文重组模块230以及报文转发模块240,其中,第二判断模块220与流表匹配模块210连接,第二报文重组模块230与第二判断模块220连接,报文转发模块240与第二报文重组模块230连接。
在工作过程中,首先,流表匹配模块210将接收到ICMP分片报文与控制器100下发的流表进行匹配;之后,第二判断模块220基于流表匹配模块210的匹配结果,进一步数据报文是否为ICMP分片报文,若判断出该数据报文为ICMP报文,则报文转发模块240直接根据流表中最新分配的MTU值对接收到的ICMP报文进行转发。若判断出为ICMP分片报文(数据报文中IP头中的MF字段不为0或者IP头OFFSET字段不为0),则进一步判断ICMP分片报文的报文处理类型;接着,第二报文重组模块230基于第二判断模块220判断的报文处理类型对ICMP分片报文进行重组生成ICMP报文;最后,报文转发模块240根据流表中最新分配的MTU值对第二报文重组模块230重组后的ICMP报文进行转发。
具体来说,如表3所示,上述流表中的匹配字段(表中Match字段)包括:源IP地址、目的IP地址、报文重组类型以及报文丢弃类型,其中,对于匹配字段为“源IP地址,目的IP地址,报文丢弃类型”来说,动作字段为“丢弃报文”,具体描述为“报文直接被丢弃”;对于匹配字段为“源IP地址,目的IP地址,报文重组类型”来说,动作字段为“重组报文,转发报文”,具体描述为“缓存分片报文,进行重组处理;根据最新分配的MTU值,转发报文”。
以此,若第二判断模块220判断ICMP分片报文属于报文丢弃类型,则直接丢弃该ICMP分片报文;若第二判断模块220判断ICMP分片报文属于报文重组类型,则缓存ICMP分片报文之后第二报文重组模块230对其进行重组,之后报文转发模块240基于最新分配的MTU值对重组后的ICMP报文进行转发。另外,从以上描述可知,由该流表实际上是控制器中下发的,故除了交换机中支持流表的扩充,控制器中同样支持流表的扩充,以控制器基于接收到的ICMP分片报文生成表3所示的扩充流表并下发至转发路径上的交换机中。
作为一个完整的实施例中,如图10所示(图示中箭头方向表示信号流动方向),在该实施例中,包括交换机100(如图示中的S0、S1、S2以及S3),控制器200、客户端以及服务器。
在该实施例中,假定客户端中发送了大小为500字节的ICMP分片报文(图示中步骤①);控制器在接收到该ICMP分片报文之后,判定其为报文重组类型之后对ICMP分片报文进重组后得到大小为1000字节的ICMP报文,则控制器开始计算整个转发路径的MTU值,并基于重组后ICMP报文的大小对转发路径上的MTU值重新分配(图示中步骤②),将转发路径的MTU值更新为1000字节,并下发流表至各交换机中,之后向客户端中反馈ICMP差错报文(图示中步骤③)。
之后,若客户端中直接产生大小为1000字节的ICMP报文(非分片)(图示中步骤④),则SDN直接将该ICMP报文进行转发至服务器。若交换机S0中接收到大小为500字节的ICMP分片报文,基于控制器下发的流表对接收到的ICMP分片报文进行匹配,同样对其报文处理类型进行判断,若判断出为报文重组类型,则对其进行重组得到大小为1000字节的ICMP报文进行相应路径上的转发。
应当说明的是,上述实施例均可根据需要自由组合。以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (13)

1.一种基于软件定义网络的ICMP分片报文重组方法,其特征在于,所述软件定义网络中包括一控制器及多个交换机,所述ICMP分片报文重组方法中包括:
S110控制器接收交换机上报的ICMP分片报文;
S120控制器基于接收到的ICMP分片报文生成分片重组动态表;
S130控制器基于生成的分片重组动态表对接收到的ICMP分片报文进行重组生成ICMP报文;
S140控制器基于生成的ICMP报文对转发路径上的最大传输单元进行重新分配;
S150控制器将流表下发至交换机实现后续ICMP报文的转发。
2.如权利要求1所述的ICMP分片报文重组方法,其特征在于,在步骤S120中具体包括:
S121提取ICMP分片报文的源IP地址和目的IP地址;
S122基于提取的源IP地址和目的IP地址生成分片重组动态表。
3.如权利要求1或2所述的ICMP分片报文重组方法,其特征在于,在步骤S120中,所述分片重组动态表中包括:ICMP分片报文的源IP地址、目的IP地址以及报文处理类型;所述报文处理类型包括:报文重组类型和报文丢弃类型。
4.如权利要求3所述的ICMP分片报文重组方法,其特征在于,在步骤S130中具体包括:
根据ICMP分片报文的转发路径判断其报文处理类型;
若判断该ICMP分片报文属于报文重组类型,则控制器对接收到的ICMP分片报文进行重组生成ICMP报文后转入步骤S140;
若判断该ICMP分片报文属于报文丢弃类型,则控制器向上报该ICMP分片报文的交换机下发流表,丢弃后续ICMP分片报文。
5.如权利要求1或2或4所述的ICMP分片报文重组方法,其特征在于,在步骤S150之后还包括:
S160控制器向报文发送者反馈ICMP差错报文,并生效分配后的最大传输单元。
6.一种基于软件定义网络的ICMP分片报文转发方法,其特征在于,所述软件定义网络中包括一控制器及多个交换机,所述ICMP分片报文转发方法中包括:
S210交换机接收控制器下发的流表;
S220交换机接收数据报文,并将其与流表进行匹配;
S230交换机基于数据报文的匹配结果,进一步判断该数据报文是否为ICMP分片报文;
S240若判断出该数据报文为ICMP分片报文,则进一步判断该ICMP分片报文的报文处理类型;
S250交换机基于ICMP分片报文所属的报文处理类型对ICMP分片报文进行重组生成ICMP报文;
S260交换机根据流表中最新分配的最大传输单元对重组后的ICMP报文进行转发。
7.如权利要求6所述的ICMP分片报文转发方法,其特征在于,在步骤S210中接收的流表中的匹配字段包括:源IP地址、目的IP地址、报文重组类型以及报文丢弃类型;
在步骤S240中:
若判断ICMP分片报文属于报文丢弃类型,则丢弃该ICMP分片报文;
若判断ICMP分片报文属于报文重组类型,则缓存ICMP分片报文并进行重组处理之后转入步骤S250。
8.一种应用于软件定义网络的控制器,其特征在于,所述控制器与至少一个交换机连接,所述控制器中包括:
动态表项生成模块,基于接收到的ICMP分片报文生成分片重组动态表;
第一报文重组模块,基于动态表项生成模块生成的分片重组动态表对接收到的ICMP分片报文进行重组生成ICMP报文;
最大传输单元分配模块,基于第一报文重组模块生成的ICMP报文对转发路径上的最大传输单元进行重新分配;
流表下发模块,将流表下发至交换机实现后续ICMP报文的转发。
9.如权利要求8所述的控制器,其特征在于,
所述动态表项生成模块中包括:
地址提取单元,用于提取ICMP分片报文的源IP地址和目的IP地址;
表项生成单元,用于基于地址提取单元提取的源IP地址和目的IP地址生成分片重组动态表。
10.如权利要求8或9所述的控制器,其特征在于,
所述分片重组动态表中包括:ICMP分片报文的源IP地址、目的IP地址以及报文处理类型;所述报文处理类型包括:报文重组类型和报文丢弃类型。
11.如权利要求10所述的控制器,其特征在于,所述控制器中还包括第一判断模块,用于根据ICMP分片报文的转发路径判断其报文处理类型;
若所述第一判断模块判断ICMP分片报文属于报文重组类型,则第一报文重组模块对接收到的ICMP分片报文进行重组生成ICMP报文;
若所述第一判断模块判断ICMP分片报文属于报文丢弃类型,则流表下发模块向上报该ICMP分片报文的交换机下发流表,丢弃后续ICMP分片报文;
和/或,所述控制器中还包括差错报文反馈模块;
第一报文重组模块对接收到的ICMP分片报文进行重组生成ICMP报文之后,差错报文反馈模块向报文发送者反馈ICMP差错报文。
12.一种应用于软件定义网络的交换机,其特征在于,所述交换机中包括:
流表匹配模块,用于将接收到数据报文与权利要求8-11任意一项所述控制器下发的流表进行匹配;
第二判断模块,基于流表匹配模块的匹配结果,进一步数据报文是否为ICMP分片报文及判断ICMP分片报文的报文处理类型;
第二报文重组模块,基于第二判断模块判断的报文处理类型对ICMP分片报文进行重组生成ICMP报文;
报文转发模块,根据流表中最新分配的最大传输单元对第二报文重组模块重组后的ICMP报文进行转发。
13.如权利要求12所述的交换机,其特征在于,控制器下发的流表中的匹配字段包括:源IP地址、目的IP地址、报文丢弃类型以及报文重组类型;
若第二判断模块判断ICMP分片报文属于报文丢弃类型,则丢弃该ICMP分片报文;
若第二判断模块判断ICMP分片报文属于报文重组类型,则缓存ICMP分片报文之后第二报文重组模块对其进行重组,之后报文转发模块基于最新分配的最大传输单元对重组后的ICMP报文进行转发。
CN201610802934.6A 2016-09-05 2016-09-05 Icmp分片报文重组方法及转发方法、控制器及交换机 Pending CN106411791A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610802934.6A CN106411791A (zh) 2016-09-05 2016-09-05 Icmp分片报文重组方法及转发方法、控制器及交换机

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610802934.6A CN106411791A (zh) 2016-09-05 2016-09-05 Icmp分片报文重组方法及转发方法、控制器及交换机

Publications (1)

Publication Number Publication Date
CN106411791A true CN106411791A (zh) 2017-02-15

Family

ID=57999542

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610802934.6A Pending CN106411791A (zh) 2016-09-05 2016-09-05 Icmp分片报文重组方法及转发方法、控制器及交换机

Country Status (1)

Country Link
CN (1) CN106411791A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110213204A (zh) * 2018-03-13 2019-09-06 腾讯科技(深圳)有限公司 攻击防护方法及装置、设备及可读存储介质
CN118101348A (zh) * 2024-04-26 2024-05-28 南京理工大学 一种面向不良网站流量分片行为的检测与处理方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101217540A (zh) * 2008-01-04 2008-07-09 杭州华三通信技术有限公司 报文隧道分片的自适应调整方法、装置和***
CN101640635A (zh) * 2009-07-31 2010-02-03 北京师范大学 一种6over4隧道中避免报文重组的方法及***
CN101645851A (zh) * 2009-09-03 2010-02-10 中兴通讯股份有限公司 一种ip分片报文的重组方法和装置
US7995522B2 (en) * 2007-07-13 2011-08-09 Hitachi, Ltd. Base station and packet transfer equipment
CN102404186A (zh) * 2010-09-09 2012-04-04 杭州华三通信技术有限公司 一种报文分片重组的方法及装置
CN103491096A (zh) * 2013-09-29 2014-01-01 中国科学院信息工程研究所 一种IPv6分片报文抗攻击重组方法及装置
CN103532672A (zh) * 2013-10-22 2014-01-22 芮雄丽 一种sdn网络中分片报文乱序的处理方法及应用

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7995522B2 (en) * 2007-07-13 2011-08-09 Hitachi, Ltd. Base station and packet transfer equipment
CN101217540A (zh) * 2008-01-04 2008-07-09 杭州华三通信技术有限公司 报文隧道分片的自适应调整方法、装置和***
CN101640635A (zh) * 2009-07-31 2010-02-03 北京师范大学 一种6over4隧道中避免报文重组的方法及***
CN101645851A (zh) * 2009-09-03 2010-02-10 中兴通讯股份有限公司 一种ip分片报文的重组方法和装置
CN102404186A (zh) * 2010-09-09 2012-04-04 杭州华三通信技术有限公司 一种报文分片重组的方法及装置
CN103491096A (zh) * 2013-09-29 2014-01-01 中国科学院信息工程研究所 一种IPv6分片报文抗攻击重组方法及装置
CN103532672A (zh) * 2013-10-22 2014-01-22 芮雄丽 一种sdn网络中分片报文乱序的处理方法及应用

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
NETWORK WORKING GROUP: "INTERNET CONTROL MESSAGE PROTOCAL", 《NETWORK WORKING GROUP》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110213204A (zh) * 2018-03-13 2019-09-06 腾讯科技(深圳)有限公司 攻击防护方法及装置、设备及可读存储介质
CN110213204B (zh) * 2018-03-13 2022-09-23 腾讯科技(深圳)有限公司 攻击防护方法及装置、设备及可读存储介质
CN118101348A (zh) * 2024-04-26 2024-05-28 南京理工大学 一种面向不良网站流量分片行为的检测与处理方法

Similar Documents

Publication Publication Date Title
US7725938B2 (en) Inline intrusion detection
WO2018133454A1 (zh) 远程服务访问路径控制方法和相关设备
KR20180041953A (ko) 인공지능을 이용하여 DDoS 공격을 탐지하는 소프트웨어 정의 네트워크 및 이에 포함되는 컨트롤러
US10931711B2 (en) System of defending against HTTP DDoS attack based on SDN and method thereof
CN110191065B (zh) 基于软件定义网络的高性能负载均衡***与方法
Chen et al. Comprehensive understanding of TCP Incast problem
Khanna et al. Adaptive selective verification: An efficient adaptive countermeasure to thwart dos attacks
WO2008034000A1 (en) Systems and methods of improving performance of transport protocols in a multi-path environment
CN104486243A (zh) 数据传输方法、设备及***
US20230010837A1 (en) Fault diagnosis method and apparatus thereof
EP4387184A1 (en) Method, apparatus and system for determining network optimization policy
CN106411791A (zh) Icmp分片报文重组方法及转发方法、控制器及交换机
M. Abdelmoniem et al. Reducing latency in multi-tenant data centers via cautious congestion watch
CN113438182B (zh) 一种基于信用的流量控制***和流量控制方法
CN102427452B (zh) 同步报文发送方法、装置和网络设备
CN113612698A (zh) 一种数据包发送方法及装置
US11055166B2 (en) Covertly storing a payload of data within a network
US20230047971A1 (en) Packet transmission method and communication device
KR100733830B1 (ko) 광대역 네트워크에서의 분산 서비스 거부 공격 탐지 및대응 방법
US8098688B1 (en) Methods and apparatus for optimizing network management traffic using dynamic SNMP packet resizing
WO2010081321A1 (zh) 实现上送速率动态联动的方法、装置和***
CN113162911B (zh) 基于sdn网络控制器的多协议兼容的数据交互方法及装置
CN101064671A (zh) 一种基于p2p技术的网络视频信号的处理方法
WO2015070427A1 (zh) 维护关联ma设置方法、装置及***
CN111327590A (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
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20170215

WD01 Invention patent application deemed withdrawn after publication