CN110381025B - 一种软件定义防火墙系统的实现方法 - Google Patents

一种软件定义防火墙系统的实现方法 Download PDF

Info

Publication number
CN110381025B
CN110381025B CN201910516727.8A CN201910516727A CN110381025B CN 110381025 B CN110381025 B CN 110381025B CN 201910516727 A CN201910516727 A CN 201910516727A CN 110381025 B CN110381025 B CN 110381025B
Authority
CN
China
Prior art keywords
data packet
packet
sdn controller
openflow switch
firewall
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.)
Active
Application number
CN201910516727.8A
Other languages
English (en)
Other versions
CN110381025A (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.)
Zhejiang University ZJU
Original Assignee
Zhejiang University ZJU
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 Zhejiang University ZJU filed Critical Zhejiang University ZJU
Priority to CN201910516727.8A priority Critical patent/CN110381025B/zh
Publication of CN110381025A publication Critical patent/CN110381025A/zh
Application granted granted Critical
Publication of CN110381025B publication Critical patent/CN110381025B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种软件定义防火墙系统的实现方法,属于计算机网络技术领域,该方法是OpenFlow交换机与SDN控制器建立连接,接收table‑miss流表项和初始流表项;OpenFlow交换机将数据包发送到SDN控制器;SDN控制器中的状态检测过滤模块结合防火墙规则和数据包的状态对TCP数据包进行状态检测过滤,并维护一张状态连接表;SDN控制器中的包过滤模块根据防火墙规则对无状态IP协议数据包进行包过滤,并下发流表项到OpenFlow交换机以指导后续数据包处理。该方法能够针对不同协议类型的数据包分别进行无状态的包过滤和有状态的状态检测过滤,实现了状态防火墙功能,并且包过滤通过下发流表项减少SDN控制器的运算量,此外该方法在实现状态检测过滤时不需要修改OpenFlow协议,具有更高的通用性。

Description

一种软件定义防火墙系统的实现方法
技术领域
本发明属于计算机网络技术领域,具体地涉及一种软件定义防火墙系统的实现方法。
背景技术
SDN(软件定义网络)提出将网络设备的控制平面和数据平面分离的思想,将原本运行在专有硬件设备中的软件部分剥离出来,使得网络设备成为不再运行任何网络协议的白盒设备,只负责网络数据包的匹配转发。OpenFlow协议是OpenFlow交换机与控制器通信的一种标准南向接口协议。SDN技术使得网络设备的控制平面可编程,通过控制器集中对网络设备进行管控,从而极大的方便了网络的配置管理,并且降低了硬件设备的成本,缩短网络功能升级的周期。
SDN技术的出现使得防火墙能够以软件形式运行在控制层,通过下发安全策略到网络设备实现防火墙的功能。目前,Floodlight控制器具有一个防火墙模块,防火墙模块实现了一个无状态的包过滤防火墙,它通过监控网络流的首个数据包,实现访问控制功能,然而这种纯无状态的防火墙无法根据网络数据包的状态对数据包进行过滤,具有较大的局限性,比如,它无法实现内外网的单向TCP访问。王娟等人在SDN控制器和OpenFlow交换机中增加状态表,通过修改OpenFlow协议,实现了在SDN控制器和OpenFlow交换机之间同步状态连接表,然而该方法需要修改OpenFlow协议,在实际应用中,需要对OpenFlow交换机的硬件进行修改,增加了数据层对数据包处理的复杂度,此外,该方法对网络中所有类型数据包都进行状态检测,对于无状态的协议的数据包如UDP协议数据包,采用建立虚连接的方法,增加了SDN控制器和OpenFlow交换机额外的负担。
发明内容
本发明的目的在于针对以上技术的不足,基于SDN架构提出一种软件定义防火墙系统的实现方法,该方法能够针对不同协议类型的数据包分别进行无状态的包过滤和有状态的状态检测过滤。
本发明解决其技术问题所采取的技术方案是:一种软件定义防火墙系统的实现方法,包括以下步骤:
(1)OpenFlow交换机与SDN控制器建立连接,SDN控制器向OpenFlow交换机下发一条table-miss流表项,所述table-miss流表项的匹配域为全匹配,动作为上送到SDN控制器,优先级为0,SDN控制器中的状态检测过滤模块向OpenFlow交换机下发一条初始流表项,所述初始流表项的匹配域为TCP,动作为上送到SDN控制器,优先级大于0;
(2)网络数据包经过OpenFlow交换机,匹配OpenFlow交换机中动作为上送到SDN控制器的流表项,被OpenFlow交换机封装为packet-in消息发送给SDN控制器;
(3)SDN控制器接收到packet-in消息并进行处理,处理过程为:SDN控制器中的消息解码模块提取packet-in消息包含的数据包,并提取数据包的IP协议字段以判断IP协议类型,SDN控制器中的包过滤模块和状态检测过滤模块根据防火墙规则库模块中的防火墙规则对不同IP协议类型的数据包进行相应处理。
进一步地,步骤3中所述数据包的IP协议类型为无状态协议,消息解码模块将数据包发送给包过滤模块,进行如下步骤:SDN控制器中包过滤模块接收到数据包,将数据包与防火墙规则进行匹配,若成功匹配的防火墙规则的预设动作为拒绝则丢弃数据包,并下发一条丢弃流表项到发送该数据包OpenFlow交换机,所述丢弃流表项优先级大于0;若成功匹配的防火墙规则的预设动作为允许,则下发一条转发流表项到发送该数据包的OpenFlow交换机,所述转发流表项优先级大于0,并将数据包封装为packet-out消息发送回OpenFlow交换机。
进一步地,步骤3中所述数据包的IP协议类型为TCP协议,消息解码模块将数据包发送给状态检测过滤模块,进行如下步骤:SDN控制器中状态检测过滤模块接收到TCP协议数据包,从数据包中提取TCP标志位;
(3.1)当TCP标志位为SYN=1,ACK=0时,进行如下步骤:状态检测过滤模块将数据包与防火墙规则进行匹配,若成功匹配的防火墙规则的预设动作为拒绝则丢弃数据包,若成功匹配的防火墙规则的预设动作为允许,则对数据包的目的MAC地址进行学习和查找相应的OpenFlow交换机端口,将数据包封装为packet-out消息发送给OpenFlow交换机,并在状态连接表中添加该数据包所属的TCP连接,所述状态连接表记录TCP连接,所述TCP连接包括TCP连接的源IP、目的IP、源端口、目的端口、计时器、计数器。
(3.2)当TCP标志位为FIN=0,ACK=1或FIN=1时,进行如下步骤:状态检测过滤模块将数据包与状态连接表匹配,若不存在匹配的TCP连接,则丢弃数据包;若存在匹配的TCP连接,则对数据包的目的MAC地址进行学习和查找相应的OpenFlow交换机端口,将数据包封装为packet-out消息发送给OpenFlow交换机,并更新所匹配的TCP连接。
进一步地,所述防火墙规则库模块存储防火墙规则,网络管理员通过防火墙规则管理应用能够增加、删除、查询防火墙规则库模块中的防火墙规则,所述防火墙规则包括防火墙规则的优先级、匹配域和动作。
进一步地,所述包过滤模块和状态检测过滤模块将数据包与防火墙规则匹配时,按照防火墙规则优先级从高到低的顺序进行匹配。
进一步地,所述TCP连接初始化时,计时器开始计时,计数器的值为2;当TCP连接匹配到某个数据包,计时器被置0,当TCP连接的计时器计时时间超过一分钟,状态连接表删除该TCP连接;当TCP连接匹配到某个处于连接关闭状态的数据包,若计数器的值为2,则将计数器值减1,否则删除该TCP连接。
与现有的技术相比,本发明的有益效果是:
1.本发明提出并设计了一种将无状态过滤和有状态过滤结合的软件定义防火墙系统的实现方法,系统对于TCP数据包采用有状态的状态检测过滤方法,在控制器中维护一张状态连接表来记录当前网络中的TCP连接对,使得系统具有状态防火墙的功能;同时,对于TCP之外的无状态协议类型的数据包,采用包过滤的方法,SDN控制器仅需要对每条流的首包进行过滤处理并下发流表项指导后续数据包的转发,减少了SDN控制器的运算量。
2.本发明的软件定义防火墙系统在实现状态检测过滤时不需要修改OpenFlow协议,具有更高的通用性。
3.本发明的软件定义防火墙系统还扩展了上层防火墙规则管理应用,使得网络管理员可以通过防火墙规则管理应用方便地部署防火墙规则。
附图说明
图1为本发明的软件定义防火墙系统总体结构示意图;
图2为本发明的系统对数据包进行过滤的流程图;
图3为防火墙系统实施组网图。
具体实施方式
下面结合说明书附图对本发明创造做进一步的详细说明。
如图1所示,本发明所采用的系统是:一种软件定义防火墙系统,包括SDN控制器、OpenFlow交换机、防火墙规则管理应用模块、SDN控制器还包括消息解码模块、包过滤模块、状态检测过滤模块、防火墙规则库模块;
防火墙规则管理应用模块位于SDN控制器的上层,为网络管理员提供增加、删除、查询防火墙规则的功能,它是基于防火墙规则库模块提供的REST接口进行开发;
防火墙规则库模块存储防火墙规则,向防火墙规则管理应用提供REST接口,防火墙规则管理应用通过调用REST接口可以增加、删除、查询防火墙规则库模块中存储的防火墙规则;
OpenFlow交换机:OpenFlow交换机与SDN控制器通过OpenFlow协议进行通信,接收SDN控制器下发的流表项,并按照流表项处理经过它的数据包,OpenFlow交换机按照白皮书的规定标准模式工作,不需要对它进行额外修改;
SDN控制器:SDN控制器与OpenFlow交换机通过标准的OpenFlow协议进行通信,SDN控制器至少为网络提供基本的转发功能;
消息解码模块:消息解码模块负责提取来自于OpenFlow交换机的packet-in消息中包含的数据包,提取数据包头部的IP协议字段,根据IP协议字段判断数据包IP协议类型,如果数据包的IP协议类型为TCP协议,将数据包发送给状态检测过滤模块,如果数据包的IP协议类型为无状态协议,例如UDP协议等,则将数据包发送给包过滤模块;
包过滤模块:包过滤模块接收来自消息解码模块的无状态协议数据包,从数据包中提取头部信息与防火墙规则进行匹配,若成功匹配的防火墙规则的预设动作为拒绝则直接丢弃数据包,并下发一条丢弃流表项到发送该数据包OpenFlow交换机,所述丢弃流表项优先级大于0,匹配域可以由数据包头部的若干字段值组成,动作为DROP,若成功匹配的防火墙规则的预设动作为允许,则下发一条转发流表项到发送该数据包的OpenFlow交换机,所述转发流表项优先级大于0,匹配域可以由数据包头部的若干字段值组成,动作为OUTPUT,并将数据包封装为packet-out消息发送回OpenFlow交换机,所述转发流表项或丢弃流表项可以指导后续数据包的转发;
状态检测过滤模块:状态检测模块在SDN控制器与OpenFlow交换机建立连接时下发初始流表项到OpenFlow交换机的流表0,所述初始流表项的匹配域为TCP,动作为上送到SDN控制器,这一步的目的是将所有TCP数据包交给SDN控制器处理;状态检测过滤模块还维护一张状态连接表,状态连接表存放TCP连接;状态检测过滤模块接收来自消息解码模块的TCP协议数据包,从数据包中提取TCP标志位,当标志位SYN=1,ACK=0,提取数据包头部信息与防火墙规则匹配,若成功匹配的防火墙规则的预设动作为拒绝则丢弃数据包,若成功匹配的防火墙规则的预设动作为允许则对数据包的目的MAC地址进行学习,在已知的网络拓扑中查找与目的MAC地址相连接的OpenFlow交换机端口,将数据包封装为packet-out消息发送到相应的OpenFlow交换机端口,并在状态连接表中添加该数据包所属的TCP连接;当标志位FIN=0,ACK=1或标志位FIN=1,提取数据包头部信息与状态连接表匹配,若存在相匹配的TCP连接,则对数据包的目的MAC地址进行学习,在已知的网络拓扑下查找与目的MAC地址相连接的OpenFlow交换机端口,并更新状态连接表,若不存在相匹配的TCP连接,则丢弃数据包;
流表项包括流表项的优先级、匹配域、有效时间和动作;
防火墙规则包括防火墙规则的优先级、匹配域和动作,防火墙规则的动作为允许或拒绝;
包过滤模块和状态检测过滤模块将数据包与防火墙规则匹配时,按照防火墙规则优先级从高到低的顺序进行匹配;
TCP连接包括TCP连接的源IP、目的IP、源端口、目的端口、计时器、计数器,TCP连接初始化时计时器开始计时,计数器的值为2;当TCP连接匹配到某个数据包,计时器被置0,当TCP连接的计时器计时时间超过一分钟,状态连接表删除该TCP连接;当TCP连接匹配到某个处于连接关闭状态的数据包,若计数器的值为2,则将计数器值减1,否则删除该TCP连接;
如图2所示,本发明还提供一种上述软件定义防火墙系统的实现方法,包括以下步骤:
(1)OpenFlow交换机与SDN控制器建立连接,SDN控制器向OpenFlow交换机下发一条table-miss流表项,所述table-miss表项的匹配域为全匹配,动作为上送到SDN控制器,优先级为0,SDN控制器中的状态检测过滤模块向OpenFlow交换机下发一条初始流表项,所述初始流表项的匹配域为TCP,动作为上送到SDN控制器,优先级大于0;
(2)网络数据包经过OpenFlow交换机,匹配OpenFlow交换机中动作为上送到SDN控制器的流表,被OpenFlow交换机封装为packet-in消息发送给SDN控制器;
(3)SDN控制器接收到packet-in消息,SDN控制器中的消息解码模块提取packet-in消息包含的数据包,并提取数据包的IP协议字段以判断IP协议类型,如果数据包的IP协议类型为无状态协议,消息解码模块将数据包发送给包过滤模块,进行如下步骤:SDN控制器中包过滤模块接收到数据包,将数据包与防火墙规则进行匹配,若成功匹配的防火墙规则的预设动作为拒绝则丢弃数据包,并下发一条丢弃流表项到发送该数据包OpenFlow交换机,所述丢弃流表项优先级大于0,若成功匹配的防火墙规则的预设动作为允许,则下发一条转发流表项到发送该数据包的OpenFlow交换机,所述转发流表项优先级大于0,并将数据包封装为packet-out消息发送回OpenFlow交换机。如果数据包的IP协议类型为TCP协议,消息解码模块将数据包发送给状态检测过滤模块,进行如下步骤:SDN控制器中状态检测过滤模块接收到TCP协议数据包,从数据包中提取TCP标志位:当TCP标志位为SYN=1,ACK=0时,进行如下步骤:状态检测过滤模块将数据包与防火墙规则进行匹配,若成功匹配的防火墙规则的预设动作为拒绝则丢弃数据包,若成功匹配的防火墙规则的预设动作为允许则在状态连接表中添加该数据包所属的TCP连接,并对数据包的目的MAC地址进行学习和查找相应的OpenFlow交换机端口,将数据包封装为packet-out消息发送给OpenFlow交换机,所述状态连接表记录TCP连接,所述TCP连接包括TCP连接的源IP、目的IP、源端口、目的端口、计时器、计数器。当TCP标志位为FIN=0,ACK=1或FIN=1时,进行如下步骤:状态检测过滤模块将数据包与状态连接表匹配,若不存在匹配的TCP连接,则丢弃数据包;若存在匹配的TCP连接,并对数据包的目的MAC地址进行学习和查找相应的OpenFlow交换机端口,将数据包封装为packet-out消息发送给OpenFlow交换机,并更新所匹配的TCP连接。
所述防火墙规则库模块是网络管理员通过防火墙规则管理应用来添加防火墙规则,所述防火墙规则库模块存储防火墙规则,所述防火墙规则管理应用能够增加、删除、查询防火墙规则库模块中的防火墙规则,所述防火墙规则包括防火墙规则的优先级、匹配域和动作。所述包过滤模块和状态检测过滤模块将数据包与防火墙规则匹配时,按照防火墙规则优先级从高到低的顺序进行匹配。
实施例
下面结合具体的实施例对本发明作进一步说明。如图3所示,两台主机h1和h2通过OpenFlow交换机相连,两台主机的IP地址分别是10.0.0.1/24和10.0.0.2/24,MAC地址分别是00:00:00:00:00:01和00:00:00:00:00:02,OpenFlow交换机与SDN控制器相连。
1.针对TCP数据包的状态防火墙实现
网络管理员通过防火墙添加如表1所示的防火墙规则(防火墙允许h1主动访问h2,拒绝h2主动访问h1)
表1防火墙规则
优先级 源IP地址 目的IP地址 协议类型 动作
2 10.0.0.1 10.0.0.2 TCP Allow
1 10.0.0.2 10.0.0.1 TCP Deny
当h1向h2发起TCP连接时,h1首先发送一个SYN请求包,该包经过OpenFlow交换机时匹配到初始流表项,被交换机packet-in至SDN控制器,此时SDN控制器中的消息解码模块将该SYN数据包提取出来并发送给状态检测过滤模块,由于该SYN数据包的标志位是“SYN=1,ACK=0”,说明是第一次发起TCP连接,提取该数据包的源IP地址、目的IP地址和协议类型(10.0.0.1,10.0.0.2,TCP)与防火墙规则匹配,刚好匹配到优先级为2的防火墙规则,该规则的动作为Allow,代表允许交换机转发该数据包,提取出数据包的目的MAC地址(00:00:00:00:00:02),由于SDN控制器具有网络拓扑信息,根据网络拓扑可以查找到MAC地址(00:00:00:00:00:02)对应的OpenFlow交换机端口,将数据包封装为packet-out消息发送给OpenFlow交换机,然后提取该数据包的源IP地址、目的IP地址、源端口、目的端口,在状态连接表中添加一条新的TCP连接。h2收到该SYN请求包后,回复一个SYN,ACK数据包,同样被packet-in至SDN控制器,由于该数据包的标志位是“FIN=0,ACK=1”,说明不是第一次发起连接,提取该数据包的源IP地址、目的IP地址、源端口、目的端口与状态连接表匹配,发现存在相匹配的TCP连接,因此将数据包封装为packet-out消息发送给OpenFlow交换机,更新状态连接表。此后h1和h2都能够通过类似的方法进行TCP通信。
当h2向h1发起TCP连接时,h2发送的SYN请求包在SDN控制器中与防火墙规则相匹配时,由于该数据包的源IP地址、目的IP地址和协议类型(10.0.0.1,10.0.0.2,TCP)与优先级为1的规则匹配,该规则的动作为Deny,代表拒绝交换机转发该数据包,因此该SYN请求包直接被丢弃,h1无法接受到TCP连接请求,h2和h1无法进行TCP通信。
2.针对无状态数据包的包过滤防火墙实现,以UDP数据包为例
网络管理员通过防火墙添加表2所示的防火墙规则(防火墙允许h1向h2发送UDP数据包,拒绝h2向h1发送UDP数据包)
表2防火墙规则
优先级 源IP地址 目的IP地址 协议类型 动作
2 10.0.0.1 10.0.0.2 UDP Allow
1 10.0.0.2 10.0.0.1 UDP Deny
当h1向h2发送UDP数据包,包经过OpenFlow交换机时匹配到table-miss流表项,被交换机packet-in至SDN控制器,此时SDN控制器中的消息解码模块将该UDP数据包提取出来并发送给包过滤模块,包过滤模块提取该数据包的源IP地址、目的IP地址和协议类型(10.0.0.1,10.0.0.2,UDP)与防火墙规则匹配,刚好匹配到优先级为2的防火墙规则,该规则的动作为Allow,代表允许交换机转发该数据包,向OpenFlow交换机下发一条转发流表项,转发流表项可以设置硬件超时时间,并把该UDP数据包封装成packet-out消息发送回OpenFlow交换机,在转发流表项的有效时间内,h1后续向h2发送的UDP数据包都会匹配该转发流表项,直接被交换机转发,不会再被packet-in到SDN控制器。因此减少了SDN控制器的计算量。
当h2向h1发送UDP数据包时,数据包在SDN控制器中匹配优先级为1的防火墙规则,该规则的动作为Deny,代表拒绝交换机转发该数据包,因此该UDP数据包直接被丢弃,SDN控制器下发一条丢弃流表项,在丢弃流表项有效时间内,h2后续向h1发送的UDP数据包都会匹配该丢弃流表项,直接被交换机丢弃,不会再被packet-in到SDN控制器。
上述实施例用来解释说明本发明,而不是对本发明进行限制,在本发明的精神和权利要求的保护范围内,对本发明作出的任何修改和改变,都落入本发明的保护范围。

Claims (4)

1.一种软件定义防火墙系统的实现方法,其特征在于,包括以下步骤:
(1)OpenFlow交换机与SDN控制器建立连接,SDN控制器向OpenFlow交换机下发一条table-miss流表项,所述table-miss流表项的匹配域为全匹配,动作为上送到SDN控制器,优先级为0,SDN控制器中的状态检测过滤模块向OpenFlow交换机下发一条初始流表项,所述初始流表项的匹配域为TCP,动作为上送到SDN控制器,优先级大于0;
(2)网络数据包经过OpenFlow交换机,匹配OpenFlow交换机中动作为上送到SDN控制器的流表项,被OpenFlow交换机封装为packet-in消息发送给SDN控制器;
(3)SDN控制器接收到packet-in消息并进行处理,处理过程为:SDN控制器中的消息解码模块提取packet-in消息包含的数据包,并提取数据包的IP协议字段以判断IP协议类型,SDN控制器中的包过滤模块和状态检测过滤模块根据防火墙规则库模块中的防火墙规则对不同IP协议类型的数据包进行相应处理;
所述数据包的IP协议类型为无状态协议,消息解码模块将数据包发送给包过滤模块,进行如下步骤:SDN控制器中包过滤模块接收到数据包,将数据包与防火墙规则进行匹配,若成功匹配的防火墙规则的预设动作为拒绝则丢弃数据包,并下发一条丢弃流表项到发送该数据包OpenFlow交换机,所述丢弃流表项优先级大于0;若成功匹配的防火墙规则的预设动作为允许,则下发一条转发流表项到发送该数据包的OpenFlow交换机,所述转发流表项优先级大于0,并将数据包封装为packet-out消息发送回OpenFlow交换机;
所述数据包的IP协议类型为TCP协议,消息解码模块将数据包发送给状态检测过滤模块,进行如下步骤:SDN控制器中状态检测过滤模块接收到TCP协议数据包,从数据包中提取TCP标志位;
(3.1)当TCP标志位为SYN=1,ACK=0时,进行如下步骤:状态检测过滤模块将数据包与防火墙规则进行匹配,若成功匹配的防火墙规则的预设动作为拒绝则丢弃数据包,若成功匹配的防火墙规则的预设动作为允许,则对数据包的目的MAC地址进行学习和查找相应的OpenFlow交换机端口,将数据包封装为packet-out消息发送给OpenFlow交换机,并在状态连接表中添加该数据包所属的TCP连接,所述状态连接表记录TCP连接,所述TCP连接包括TCP连接的源IP、目的IP、源端口、目的端口、计时器、计数器;
(3. 2)当TCP标志位为FIN=0, ACK=1或FIN=1时,进行如下步骤:状态检测过滤模块将数据包与状态连接表匹配,若不存在匹配的TCP连接,则丢弃数据包;若存在匹配的TCP连接,则对数据包的目的MAC地址进行学习和查找相应的OpenFlow交换机端口,将数据包封装为packet-out消息发送给OpenFlow交换机,并更新所匹配的TCP连接。
2.根据权利要求1所述的实现方法,其特征在于,所述防火墙规则库模块存储防火墙规则,网络管理员通过防火墙规则管理应用能够增加、删除、查询防火墙规则库模块中的防火墙规则,所述防火墙规则包括防火墙规则的优先级、匹配域和动作。
3.根据权利要求1所述的实现方法,其特征在于,所述包过滤模块和状态检测过滤模块将数据包与防火墙规则匹配时,按照防火墙规则优先级从高到低的顺序进行匹配。
4.根据权利要求1所述的实现方法,其特征在于,所述TCP连接初始化时,计时器开始计时,计数器的值为2;当TCP连接匹配到某个数据包,计时器被置0,当TCP连接的计时器计时时间超过一分钟,状态连接表删除该TCP连接;当TCP连接匹配到某个处于连接关闭状态的数据包,若计数器的值为2,则将计数器值减1,否则删除该TCP连接。
CN201910516727.8A 2019-06-14 2019-06-14 一种软件定义防火墙系统的实现方法 Active CN110381025B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910516727.8A CN110381025B (zh) 2019-06-14 2019-06-14 一种软件定义防火墙系统的实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910516727.8A CN110381025B (zh) 2019-06-14 2019-06-14 一种软件定义防火墙系统的实现方法

Publications (2)

Publication Number Publication Date
CN110381025A CN110381025A (zh) 2019-10-25
CN110381025B true CN110381025B (zh) 2020-08-04

Family

ID=68250352

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910516727.8A Active CN110381025B (zh) 2019-06-14 2019-06-14 一种软件定义防火墙系统的实现方法

Country Status (1)

Country Link
CN (1) CN110381025B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112351034B (zh) * 2020-11-06 2023-07-25 科大讯飞股份有限公司 防火墙设置方法、装置、设备及存储介质
CN112769829B (zh) * 2021-01-11 2022-10-04 科大讯飞股份有限公司 云物理机的部署方法、相关设备及可读存储介质
CN113810361A (zh) * 2021-07-15 2021-12-17 赛姆科技(广东)有限公司 一种无ip防火墙的快速部署管理方法
CN114205130A (zh) * 2021-12-03 2022-03-18 紫光云(南京)数字技术有限公司 一种防火墙对象策略规则优先级的实现方法
US11722570B1 (en) * 2022-05-13 2023-08-08 Microsoft Technology Licensing, Llc Sharing SDN policy state information between SDN appliances

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104348819A (zh) * 2013-08-07 2015-02-11 上海宽带技术及应用工程研究中心 一种软件定义网络中的防火墙系统及其实现方法
CN106572103A (zh) * 2016-10-28 2017-04-19 桂林电子科技大学 一种基于sdn网络架构的隐藏端口检测方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9237129B2 (en) * 2014-05-13 2016-01-12 Dell Software Inc. Method to enable deep packet inspection (DPI) in openflow-based software defined network (SDN)
CN104104561B (zh) * 2014-08-11 2017-09-22 武汉大学 一种基于OpenFlow协议的SDN防火墙状态检测方法及系统
CN106411820B (zh) * 2015-07-29 2019-05-21 中国科学院沈阳自动化研究所 一种基于sdn架构的工业通信流传输安全控制方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104348819A (zh) * 2013-08-07 2015-02-11 上海宽带技术及应用工程研究中心 一种软件定义网络中的防火墙系统及其实现方法
CN106572103A (zh) * 2016-10-28 2017-04-19 桂林电子科技大学 一种基于sdn网络架构的隐藏端口检测方法

Also Published As

Publication number Publication date
CN110381025A (zh) 2019-10-25

Similar Documents

Publication Publication Date Title
CN110381025B (zh) 一种软件定义防火墙系统的实现方法
WO2021207922A1 (zh) 报文传输方法、装置及系统
EP1300993B1 (en) Method and apparatus for enabling access on a network switch
EP3076612B1 (en) Packet processing methods and nodes
US9001827B2 (en) Methods for configuring network switches
EP2541854B1 (en) Hybrid port range encoding
EP2773073B1 (en) Entry generation method, message receiving method, and corresponding device and system
EP3593498B1 (en) Router device using flow duplication
EP2604006B1 (en) Method and apparatus for packet processing and a preprocessor
WO2015074324A1 (zh) 一种数据包快速转发方法及装置
US20020131411A1 (en) Classification and tagging rules for switching nodes
EP2823605A1 (en) Methods of operating forwarding elements including shadow tables and related forwarding elements
JP2000349851A (ja) パケット転送装置
EP3844911B1 (en) Systems and methods for generating network flow information
US20130294449A1 (en) Efficient application recognition in network traffic
US11646976B2 (en) Establishment of fast forwarding table
CN106685827B (zh) 一种下行报文的转发方法及ap设备
CN105591989B (zh) 一种协议报文上送cpu的芯片实现方法
WO2016058261A1 (zh) 一种基于网络的扁平路由的实现方法
US20150113146A1 (en) Network Management with Network Virtualization based on Modular Quality of Service Control (MQC)
US8934489B2 (en) Routing device and method for processing network packet thereof
CN112600752A (zh) 一种默认策略路由的芯片实现方法、数据报文的芯片处理方法及装置
US9270593B2 (en) Prediction based methods for fast routing of IP flows using communication/network processors
US11606719B2 (en) Application identification and path selection at a wireless access point for local network traffic breakout
US11950139B2 (en) Application identification and path selection at a wireless access point for local network traffic breakout

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