CN105099920A - 一种设置sdn流表项的方法和装置 - Google Patents
一种设置sdn流表项的方法和装置 Download PDFInfo
- Publication number
- CN105099920A CN105099920A CN201510124353.7A CN201510124353A CN105099920A CN 105099920 A CN105099920 A CN 105099920A CN 201510124353 A CN201510124353 A CN 201510124353A CN 105099920 A CN105099920 A CN 105099920A
- Authority
- CN
- China
- Prior art keywords
- list item
- message
- class
- class list
- address
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/64—Hybrid switching systems
- H04L12/6418—Hybrid transport
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/38—Flow based routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/54—Organization of routing tables
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/25—Routing or path finding in a switch fabric
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9026—Single buffer per packet
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种设置SDN流表项的方法,包括:接收报文并在本地查找与该报文的地址信息匹配的流表项;在确定报文匹配的流表项为缺省流表项时,根据缺省流表项将所述报文发送至SDN控制器;根据所述报文的源地址、目的地址和入端口在本地设置第一流表项,其中该第一流表项的优先级高于缺省流表项,且该第一流表项的动作为丢弃。通过本发明,可以有效缓解交换机上重复设置SDN流表项的问题。
Description
背景技术
SDN(SoftwareDefinedNetwork,软件定义网络)网络是一种新型的网络架构,其通过将传统的交换机、路由器等网络设备的控制平面与数据平面分离开来,从而实现了网络流量的灵活控制,为核心网络及应用的创新提供了良好的平台。其中,OpenFlow协议是众多用于实现SDN技术的一种开放式协议。随着网络技术的进步,SDN技术得以不断发展,但仍存在很多需要进一步优化之处。
发明内容
本发明提供一种设置SDN流表项的方法和装置,通过本发明,可以有效缓解交换机上重复设置SDN流表项的问题。
本发明公开的技术方案是这样的:
一种设置SDN流表项的方法,应用于SDN交换机上,所述方法包括:
接收主机发送的报文并在本地查找与该报文的地址信息匹配的流表项;
在确定所述报文匹配的流表项为缺省流表项时,根据缺省流表项将所述报文发送至SDN控制器,
根据所述报文的源地址、目的地址和入端口在本地设置第一流表项,其中该第一流表项的优先级高于缺省流表项,且该第一流表项的动作为非转发动作。
进一步地,所述方法还包括:
保存来自所述控制器下发的所述报文的第二流表项,其中该第二流表项的优先级高于所述第一流表项;
在确定收到的第二流表项的地址信息与所述第一流表项的地址信息匹配时,删除与该第二流表项匹配的第一流表项。
进一步地,所述非转发动作为将主机发送的报文丢弃或者将所述报文缓存到与第一流表项对应的缓存队列中。
进一步地,当所述非转发动作为将主机发送的报文缓存到与第一流表项对应的缓存队列中时,该方法还包括:
为生成的第一流表项分配对应的缓存队列;
将该报文缓存到与第一流表项对应的缓存队列中。
进一步地,所述方法还包括:
在确定收到的第二流表项的地址信息与所述第一流表项的地址信息匹配时,先根据该第二流表项对与第一流表项匹配的已缓存的报文进行处理,然后删除该第一流表项。
进一步地,所述方法还包括:
设置第一流表项时,为该第一流表项设定第一预定老化时长;在第一预定老化时长到达时删除所述第一流表项。
进一步地,所述方法还包括:
为所述第二流表项设置第二预定老化时长,其中第一预定老化时长小于第二流表项的第二预定老化时长。
本发明同时公开了一种设置SDN流表项的装置,该装置应用于SDN交换机上,包括:
收发单元,用于接收主机发送的报文并在本地查找与该报文的地址信息匹配的流表项;
匹配单元,用于在确定报文匹配的流表项为缺省流表项时,根据缺省流表项将所述报文发送至SDN控制器,
设置单元,用于根据所述报文的源地址、目的地址和入端口在本地设置第一流表项,其中该第一流表项的优先级高于缺省流表项,且该第一流表项的动作为非转发动作。
进一步地,所述设置单元还用于,
保存来自所述控制器下发的主机发送的报文的第二流表项,其中该第二流表项的优先级高于所述第一流表项;
在确定收到的第二流表项的地址信息与所述第一流表项的地址信息匹配时,删除与该第二流表项匹配的第一流表项。
进一步地,所述非转发动作为将主机发送的报文丢弃或者将主机发送的报文缓存到与第一流表项对应的缓存队列中。
进一步地,当所述非转发动作为缓存到与第一流表项对应的缓存队列中时,该装置还包括缓存单元,用于:
为生成的第一流表项分配对应的缓存队列;
将该报文缓存到与第一流表项对应的缓存队列中。
进一步地,所述设置单元还用于,
在确定收到的第二流表项的地址信息与所述第一流表项的地址信息匹配时,先根据该第二流表项对与第一流表项匹配的已缓存主机发送的报文进行处理,然后删除该第一流表项。
进一步地,所述装置还包括定时单元,用于:
在设置第一流表项时,为该第一流表项设定第一预定老化时长;在第一预定老化时长到达时删除所述第一流表项。
进一步地,所述定时单元还用于,
为所述第二流表项设置第二预定老化时长,其中,
第一预定老化时长小于第二流表项的第二预定老化时长。
与现有持术相比较,本发明可以有效缓解交换机上重复设置SDN流表项的问题。
附图说明
图1示出了本发明包括交换机以及控制器的SDN网络的结构示意图;
图2示出了本发明设置SDN流表项的流程示意图;
图3示出了本发明在SDN网络中实现报文转发过程的示意图;
图4示出了本发明运行设置SDN流表项装置的交换机设备硬件架构图;
图5示出了本发明设置SDN流表项装置的功能模块图。
具体实施方式
图1示出了SDN网络的结构示意图。该SDN网络包括SDN控制器11(以下简称“控制器”)以及位于SDN网络中提供报文转发服务的SDN交换机12,13,14(以下简称“交换机”)。其中所述交换机12包括处理器121、存储器122、转发芯片123以及内部总线124。所述交换机13以及交换机14可以采用同样的硬件结构。在另外一个例子中,交换机是通过虚拟化的方式实现的虚拟交换机。控制器11是整个SDN网络的控制中心,通过下发各种流表项,控制交换机如何转发外部进入的各种数据报文。值得注意的是,交换机并不是狭义的交换机概念,其可以是各种能够基于SDN协议工作的网络设备,比如路由器,防火墙等等,只不过这些设备的名称在各种流行的SDN协议(比如Openflow协议)中被统一命名为交换机,因此本公开提到的交换机是一个广义网络设备的概念。
请参考图2,在一个例子中,本公开提供一种SDN流表项的设置方法,该方法可以有效缓解重复设置SDN流表项,该方法应用在交换机上,包括如下步骤:
步骤201,接收报文并在本地查找与该报文的地址信息匹配的流表项;
步骤202,在确定报文匹配的流表项为缺省流表项时,根据缺省流表项将所述报文发送至SDN控制器;
步骤203,根据所述报文的源地址、目的地址和报文的入端口信息在本地设置第一流表项,其中该第一流表项的优先级高于缺省流表项,且该第一流表项的动作为丢弃。
例如,在一个例子中,交换机12加入到SDN网络之后,其会按照一些预定的机制来发现控制器11,并与控制器11建立连接。在交换机12连接至控制器11之后,控制器11可以与交换机12进行基本交互,在交换机12本地设置的缺省流表项,譬如Openflow协议中的MissRule表项。在交换机投入运行之后,此时交换机12的转发芯片123(在其他例子中,也可以是一个软件实现的报文转发模块)内部只有MissRule这样的缺省流表项,因此对于第一个数据报文的转发来说,转发芯片123查找流表项时会匹配到MissRule表项,由于MissRule表项的动作是默认的上送控制器,因此将报文将被发送至控制器。
事实上MissRule表项并不是转发芯片123用来提供报文转发服务的表项,在查找表项过程中,其匹配的优先级通常是最低的,也就是说通常只有在没有查找到有用的高优先级的流表项后,才会匹配到MissRule表项。根据本公开提供的方案,在这个例子中,除了根据MissRule表项将转发过程中与其他高优先级流表项匹配失败的报文发送至控制器外,此时处理器121还可以针对该报文设置优先级比MissRule表项高的第一流表项。第一流表项的通常包括地址信息以及对应的动作,地址信息可以包括源地址、目的地址和入端口,而动作则是非转发动作。这里所说的地址信息实际上是定义了多个同类报文的共同特征。请参考表1的示例,这些地址信息也可以被称为报文的流特征信息,其通常来自于报文的头部,可以包括地址、端口、协议特征等等,其作用是用来帮助转发芯片123识别同一个报文流中的报文。
在一个例子中,非转发动作为丢弃,也就是说匹配到第一流表项的报文将会被丢弃。请参考表1,表1中的动作则表示交换机12的转发芯片123应该如何处理这个报文,此处第一流表项的动作为对其丢弃。在表1的示例中,交换机可根据该第一流表项丢弃相同入端口后续接收的具有同样地址信息的报文。
源地址 | 目的地址 | 入端口 | 动作 |
192.168.1.2 | 192.168.1.5 | 12 | 丢弃 |
表1
由于控制器服务于多个交换机,因此对于上送到控制器的报文,控制器通常需要一定的时间进行处理,在控制器的处理结果没有下发给交换机之前,如果交换机继续发送具有相同地址信息的报文给控制器,导致控制器反复进行相同的处理。在这个例子中,由于交换机设置了第一流表项,那么具有相同地址信息的同类报文不会反复被发送到控制器,否则,可能引发控制器反复做做很多同样的处理,这会消耗控制器的处理资源。在某些极端的情况下,攻击者可能利用这个特点来发送对控制器的攻击,消耗掉控制器的处理资源。
在另外一个例子中,所述非转发动作为将报文缓存到与第一流表项对应的缓存队列中。具体来说,在设置第一流表项时,可以相应为该第一流表项分配对应的缓存队列。同样的道理,在控制器的处理结果没有下发给交换机之前,如果交换机继续发送具有相同地址信息的报文给控制器,导致控制器反复进行相同的处理。在这个例子中,由于交换机设置了第一流表项,那么具有相同地址信息的同类报文被缓存到同一个缓存队列中,因而不会反复被发送到控制器。从以上两个例子可以看出,第一流表项可以有效防范这种潜在的消耗控制器处理资源的攻击行为。
在一个例子中,当控制器完成对报文处理之后,其通常会产生一个第二流表项,第二流表项对于交换机而言是用来处理上述报文转发的依据。当第二流表项被交换机收到之后,处理器121可以将这个第二流表项设置在转发芯片123内部存储器上或软件转发模块的表项空间中,第二流表项的动作可以转发或者丢弃,甚至更为复杂的动作,以下以第二流表项的动作是转发动作为例进行说明,转发动作可以形象地理解为”从某个指定的出端口发送出去”。于是转发芯片123对于后续具有相同地址信息的报文就可以直接进行转发处理了。
在另外一个例子中,考虑到存储流表项的资源通常比较有限,处理器121可以为第二流表项设定第二预定老化时长,另外,处理器121在将第二流表项设置到转发芯片123(或转发模块)前,先查找是否具有相同地址信息的第一流表项,如果有,则将该第一流表项删除,或者通过修改第一流表项的方式来设置第二流表项,即用第二流表项覆盖掉第一流表项,同样达到删除第一流表项的目标,因为此时第一流表项已经完成了其使命,可以被删除掉。
在一个例子中,若第一流表项中的动作是缓存动作,在确定收到的第二流表项的地址信息与所述第一流表项的地址信息匹配时,可以在删除与该第二流表项匹配的第一流表项前,先将第一流表项对应的缓存队列中的被缓存起来的报文处理掉,此时可以根据第二流表项来处理这些报文,因为第二流表项是控制器发送给交换机的,用来指导交换机如何处理这些具有特定地址信息的报文。第二流表项的动作可以是丢弃,也可以转发,甚至可以包括多种动作在内的组合式动作。一般来说,大部分第二流表项的动作是转发,此时交换机可以根据第二流表项将这些缓存起来的报文发送出去,这样可以降低报文丢弃引发的服务/连接中断风险。一般来说,由于TCP等上层协议具有可靠性保障机制,因此短时间内缓存若干个报文一般不会导致连接/服务中断。
在又一个例子中,在部分情况下,控制器11也可能因没有办法立刻生成第二流表项,交换机无法立刻收到第二流表项。此时如果第一流表项仍然会起作用,将导致交换机接收的报文长时间转发不出去(可以是丢弃,也可以是缓存)。为了避免部分情况下第一流表项长时间起作用,处理器121在设置第一流表项时,为其设定了一个比较短的第一预定老化时长,在一个例子中,第一预定老化时长通常远小于第二流表项的第二预定老化时长。前者可能是小于10秒,比如5秒;而后者通常大于1分钟,比如2分钟。
第一流表项的老化过程同样可以通过老化定时器来实现,当老化定时器超时的时候,转发芯片123可以自动删除该第一流表项。删除第一流表项之后,具有同样地址信息的报文再次到达交换机时将会重复前述处理流程,比如在步骤202匹配到缺省流表项而再次被上送到控制器11,当然,此时新的第一流表项也会再次设置,由于经过了一段时间,此时控制器11可能有足够时间来生成第二流表项。当然,如果控制器11还是没有办法立刻生成第二流表项,则再次进行上述循环处理。
下面以一种典型场景为例进行讲解。请参考图3所示的示意图,基于本公开的一个例子如下:
如图3所示,假定当前的SDN网络包括控制器30和多个交换机,比如交换机31、交换机32、交换机33、交换机34、交换机35和交换机36,其中交换机34连接至主机3421,交换机36连接至主机3621。控制器30为交换机31-36分别生成MissRule表项并发往各交换机。
交换机34的端口(Port)342接收来自主机3421的报文1,其中,源IP地址为IP1、源MAC地址为MAC1、目的IP地址为IP2、目的MAC地址为MAC2。交换机34未查到目的IP地址IP2和目的MAC地址MAC2匹配的流表项,根据MissRule表项将收到的报文1发往至控制器30。
交换机34根据报文1的入端口342、源地址以及目的地址设置第一流表项,比如:{源IP地址=IP1、源MAC地址=MAC1、目的IP地址=IP2、目的MAC地址=MAC2、入端口=Port342,动作=丢弃},在其他例子中,这里的动作也可以是缓存到一个对应的缓存队列中。
假设交换机34与控制器30的转发路径上的交换机32和交换机31收到交换机发往控制器30的报文1,则交换机32以及交换机31以同样的方式根据MissRule表项将报文1发往控制器30并根据报文1的源地址、目的地址以及入端口设置对应的第一流表项。
控制器30根据收到的报文1的源IP地址IP1、源MAC地址MAC1以及入端口342生成Host表项,且未查找到报文1的目的IP地址IP2和目的MAC地址MAC2相匹配的Host表项,此时无法立刻生成第二流表项,于是控制器30在当前的交换机实例中广播该接收到的报文1。
当交换机36的端口362收到来自主机3621的报文2,其中,源IP地址为IP2,源MAC地址为MAC2,目的IP地址为IP1、目的MAC地址为MAC1,显然报文2是对报文1的应答报文。
交换机36未查到目的IP地址IP1和目的MAC地址MAC1匹配的流表项,根据MissRule表项将该报文2发往控制器30。交换机36根据报文2的入端口362、源地址以及目的地址设置第一流表项,比如:{源IP地址=IP2、源MAC地址=MAC2、目的IP地址=IP1、目的MAC地址=MAC1、入端口=Port362,动作=丢弃},在其他例子中,这里的动作也可以是缓存到一个对应的缓存队列中。
同样的道理,假设交换机36与控制器30的转发路径上的交换机33和交换机35收到交换机发往控制器30的报文2时,则交换机33以及交换机35同样的方式根据MissRule表项将报文2发往控制器30并根据报文2的源地址、目的地址以及入端口设置第一流表项。
控制器30收到交换机36发来的报文2,根据报文的源IP地址IP2、源MAC地址MAC2和入端口362,生成相应的Host表项。控制器30根据报文2的目的IP地址IP1和目的MAC地址MAC1查找到匹配的Host表项(即主机3421的Host表项),确定报文2从交换机34的端口342输出发送给主机3421。
控制器30根据SDN网络拓扑计算报文2的转发路径,譬如:交换机36-交换机35-交换机33-交换机32-交换机34。
控制器30根据计算的转发路径,分别为转发路径上的各交换机计算对应的报文2的第二流表项。控制器30根据转发路径为交换机36生成报文2的第二流表项,比如:{源IP地址=IP2、源MAC地址=MAC2、目的IP地址=IP1、目的MAC地址=MAC1、出端口=Port361}。值得注意的是:这里的“出端口=Port361”实际意思是从Port361转发出去,表示流表项的动作。控制器30根据转发路径为交换机34生成报文2的对应的第二流表项,比如:{源IP地址=IP2、源MAC地址=MAC2、目的IP地址=IP1、目的MAC地址=MAC1、出端口=Port342}。控制器30为报文2的转发路径上的交换机35、交换机33、交换机32设置对应的第二流表项的方式类似,在此不再重复。
控制器30生成的这些第二流表项将发送给报文2对应的转发路径上的各交换机。交换机36收到来自控制器30的流表项,查找到源IP地址IP2、源MAC地址MAC2、目的IP地址IP1以及目的MAC地址MAC1匹配的第一流表项的地址信息:{源IP地址=IP2、源MAC地址=MAC2、目的IP地址=IP1、目的MAC地址=MAC1、入端口=Port362},在一个例子中,根据收到的报文2的第二流表项将第一流表项修改为{源IP地址=IP2、源MAC地址=MAC2、目的IP地址=IP1、目的MAC地址=MAC1、出端口=Port361}这样的第二流表项,相当于删除掉对应报文2的的第一流表项。交换机35、交换机33、修改第一流表项的方式类似,在此不再重复。值得注意的是,如果此时即将被删除的第一流表项对应的缓存队列中有被缓存起来的报文2,则可以根据报文2的第二流表项将这些报文2处理掉,在这里个例子中具体为将这些报文2从Port361转发出去。
同样,交换机34收到来自控制器30的报文2的第二流表项,记录报文2的第二流表项,比如:{源IP地址=IP2、源MAC地址=MAC2、目的IP地址=IP1、目的MAC地址=MAC1、出端口=Port342}。交换机32记录报文2的流表项的方式类似,在此不再重复。
当交换机36通过端口362再次收到报文2时,根据报文2的第二流表项{源IP地址=IP2、源MAC地址=MAC2、目的IP地址=IP1、目的MAC地址=MAC1、出端口=Port361}转发报文2。这样,报文2沿着转发路径发往交换机34。交换机34根据流表项{源IP地址=IP2、源MAC地址=MAC2、目的IP地址=IP1、目的MAC地址=MAC1、出端口=Port342}将报文2发往主机3421。
交换机34的报文1的第一流表项的预设老化时长到达之前,交换机34根据第一流表项丢弃或者缓存端口342收到报文1,从而避免在老化时长内,重复向控制器30重复发送报文1,也防止控制器30为报文1重复生成相同的流表项,相应的提高了控制器30的处理效率。
交换机34删除老化时长到达报文1的的第一流表项后,比如:{源IP地址=IP1、源MAC地址=MAC1、目的IP地址=IP2、目的MAC地址=MAC2、入端口=Port342,动作=丢弃}。当交换机34的端口342再次收到报文1时,根据MissRule表项将报文1发往控制器30,设置第一流表项,比如:{源IP地址=IP1、源MAC地址=MAC1、目的IP地址=IP2、目的MAC地址=MAC2、入端口=Port342,动作=丢弃},在其他例子中,这里的动作也可以是将报文1缓存到一个对应的缓存队列中。
控制器30根据交换机34发来的报文1,查找到源IP地址IP1、源MAC地址MAC2和入端口362对应的未老化的Host表项,则不再重复生成相应的Host表项。控制器30根据报文的目的IP地址IP2和目的MAC地址MAC2查找到匹配的Host表项,确定报文1从交换机36的端口362发送至主机3621。
控制器30根据SDN网络拓扑计算报文1的转发路径,譬如:交换机34-交换机32-交换机33-交换机35-交换机36。
控制器30根据计算的报文1的转发路径,分别为报文1的转发路径上的各交换机计算流表项。控制器30根据转发路径为交换机34生成报文1的第二流表项,比如:{源IP地址=IP1、源MAC地址=MAC1、目的IP地址=IP2、目的MAC地址=MAC2、出端口=Port341}。控制器30根据转发路径为交换机36生成报文1的第二流表项,比如:{源IP地址=IP1、源MAC地址=MAC1、目的IP地址=IP2、目的MAC地址=MAC2、出端口=Port362}。
控制器30为报文1的转发路径上的交换机32、交换机33、交换机352生成第二流表项的方式类似,在此不再重复。控制器30生成的这些第二流表项发往对应报文1的转发路径上的各交换机。交换机34收到来自控制器30的报文1的第二流表项,查找到源IP地址IP1、源MAC地址MAC1、目的IP地址IP2以及目的MAC地址MAC2匹配的第一流表项{源IP地址=IP1、源MAC地址=MAC1、目的IP地址=IP2、目的MAC地址=MAC2、入端口=Port342},根据收到的报文1的第二流表项将第一流表项修改为{源IP地址=IP1、源MAC地址=MAC1、目的IP地址=IP2、目的MAC地址=MAC2、出端口=Port341}的第二流表项。交换机32、33、35修改第一流表项的方式类似。在其他例子中,还可以相应低将缓存队列里的报文处理掉在此不再重复。
同样,交换机36收到来自控制器30的报文1的第二流表项,记录报文1的第二流表项{源IP地址=IP1、源MAC地址=MAC1、目的IP地址=IP2、目的MAC地址=MAC2、出端口=Port362}。报文1的转发路径上的交换机32、交换机33、交换机35记录接收到的第二流表项,具体内容在此不再重复。交换机35、33记录流表项的方式类似,在此不再重复。
当交换机34通过端口342再次收到报文1时,根据第二流表项{源IP地址=IP1、源MAC地址=MAC1、目的IP地址=IP2、目的MAC地址=MAC2、出端口=Port341}转发报文。这样,报文1沿着转发路径发往交换机36的端口361。交换机36根据第二流表项{源IP地址=IP1、源MAC地址=MAC1、目的IP地址=IP2、目的MAC地址=MAC2、出端口=Port362}将报文1发往主机3621。
虽然第二流表项可以在交换机内部设定的第二预定老化时长到达时被删除掉,但是应注意,各个交换机设定的第二预定老化时长可能各不相同,在另一个例子中,第二流表项还可以在控制器30的控制下进行老化,向交换机发送流表项老化消息,要求交换机删除与流表项老化消息对应的第二流表项。比如说控制器30删除老化时长到达(比如5分钟)的Host表项,并通知相应的交换机36和34删除流表项,以确保流量停止后自动删除对应的流表项。通过这些丰富的老化机制可以进一步节约交换机转发芯片或者转发模块的内部存储资源,避免当前没有作用的流表项占用这些存储资源。
对应于上述方法,本发明还提供一种设置SDN流表项的装置,所述装置应用在SDN交换机上。如图4所示,本发明提供的运行设置SDN流表项的装置的交换机通常包括CPU41、存储器42、网络接口43以及内部总线44。其中,本发明设置流表项装置进一步如图5所示,从功能上划分,所述装置50包括:
收发单元510,用于接收主机发送的报文并在本地查找与该报文的地址信息匹配的流表项;
匹配单元520,用于在确定报文匹配的流表项为缺省流表项时,根据缺省流表项将所述报文发送至SDN控制器,
设置单元530,用于根据所述报文的源地址、目的地址和入端口在本地设置第一流表项,其中该第一流表项的优先级高于缺省流表项,且该第一流表项的动作为非转发动作。
进一步地,所述设置单元530还用于,
保存来自所述控制器下发的主机发送的报文的第二流表项,其中该第二流表项的优先级高于所述第一流表项;
在确定收到的第二流表项的地址信息与所述第一流表项的地址信息匹配时,删除与该第二流表项匹配的第一流表项。
进一步地,所述非转发动作为将主机发送的报文丢弃或者将主机发送的报文缓存到与第一流表项对应的缓存队列中。
进一步地,当所述非转发动作为缓存到与第一流表项对应的缓存队列中时,该装置还包括缓存单元,用于:
为生成的第一流表项分配对应的缓存队列;
将该报文缓存到与第一流表项对应的缓存队列中。
进一步地,所述设置单530元还用于,
在确定收到的第二流表项的地址信息与所述第一流表项的地址信息匹配时,先根据该第二流表项对与第一流表项匹配的已缓存主机发送的报文进行处理,然后删除该第一流表项。
进一步地,所述装置还包括定时单元,用于:
在设置第一流表项时,为该第一流表项设定第一预定老化时长;在第一预定老化时长到达时删除所述第一流表项。
进一步地,所述定时单元还用于,
为所述第二流表项设置第二预定老化时长,其中,
第一预定老化时长小于第二流表项的第二预定老化时长。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (14)
1.一种设置SDN流表项的方法,应用于SDN交换机上,其特征在于,所述方法包括:
接收主机发送的报文并在本地查找与该报文的地址信息匹配的流表项;
在确定所述报文匹配的流表项为缺省流表项时,根据缺省流表项将所述报文发送至SDN控制器,
根据所述报文的源地址、目的地址和入端口在本地设置第一流表项,其中该第一流表项的优先级高于缺省流表项,且该第一流表项的动作为非转发动作。
2.根据权利要求1所述的方法,其特征在于,还包括:
保存来自所述控制器下发的所述报文的第二流表项,其中该第二流表项的优先级高于所述第一流表项;
在确定收到的第二流表项的地址信息与所述第一流表项的地址信息匹配时,删除与该第二流表项匹配的第一流表项。
3.根据权利要求1所述的方法,其特征在于,所述非转发动作为将主机发送的报文丢弃或者将所述报文缓存到与第一流表项对应的缓存队列中。
4.根据权利要求1或3所述的方法,其特征在于,当所述非转发动作为将主机发送的报文缓存到与第一流表项对应的缓存队列中时,该方法还包括:
为生成的第一流表项分配对应的缓存队列;
将该报文缓存到与第一流表项对应的缓存队列中。
5.根据权利要求4所述的方法,其特征在于,
在确定收到的第二流表项的地址信息与所述第一流表项的地址信息匹配时,先根据该第二流表项对与第一流表项匹配的已缓存的报文进行处理,然后删除该第一流表项。
6.根据权利要求2所述的方法,其特征在于,还包括:
设置第一流表项时,为该第一流表项设定第一预定老化时长;在第一预定老化时长到达时删除所述第一流表项。
7.根据权利要求6所述的方法,其特征在于,其中所述第二流表项被设置了第二预定老化时长,其中第一预定老化时长小于第二流表项的第二预定老化时长。
8.一种设置SDN流表项的装置,应用于SDN交换机上,其特征在于,所述装置包括:
收发单元,用于接收主机发送的报文并在本地查找与该报文的地址信息匹配的流表项;
匹配单元,用于在确定报文匹配的流表项为缺省流表项时,根据缺省流表项将所述报文发送至SDN控制器,
设置单元,用于根据所述报文的源地址、目的地址和入端口在本地设置第一流表项,其中该第一流表项的优先级高于缺省流表项,且该第一流表项的动作为非转发动作。
9.根据权利要求8所述的装置,其特征在于,设置单元还用于,
保存来自所述控制器下发的主机发送的报文的第二流表项,其中该第二流表项的优先级高于所述第一流表项;
在确定收到的第二流表项的地址信息与所述第一流表项的地址信息匹配时,删除与该第二流表项匹配的第一流表项。
10.根据权利要求8所述的装置,其特征在于,所述非转发动作为将主机发送的报文丢弃或者将主机发送的报文缓存到与第一流表项对应的缓存队列中。
11.根据权利要求8或者10所述的装置,其特征在于,当所述非转发动作为缓存到与第一流表项对应的缓存队列中时,该装置还包括缓存单元,用于:
为生成的第一流表项分配对应的缓存队列;
将该报文缓存到与第一流表项对应的缓存队列中。
12.根据权利要求8所述的装置,其特征在于,所述设置单元还用于,
在确定收到的第二流表项的地址信息与所述第一流表项的地址信息匹配时,先根据该第二流表项对与第一流表项匹配的已缓存主机发送的报文进行处理,然后删除该第一流表项。
13.根据权利要求8所述的装置,其特征在于,所述装置还包括定时单元,用于:
在设置第一流表项时,为该第一流表项设定第一预定老化时长;在第一预定老化时长到达时删除所述第一流表项。
14.根据权利要求8所述的装置,其特征在于,所述定时单元还用于,
为所述第二流表项设置第二预定老化时长,其中,
第一预定老化时长小于第二流表项的第二预定老化时长。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510124353.7A CN105099920A (zh) | 2014-04-30 | 2015-03-20 | 一种设置sdn流表项的方法和装置 |
US15/307,878 US10075374B2 (en) | 2014-04-30 | 2015-04-29 | Setting SDN flow entries |
PCT/CN2015/077782 WO2015165399A1 (en) | 2014-04-30 | 2015-04-29 | Setting sdn flow entries |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410184141 | 2014-04-30 | ||
CN201510124353.7A CN105099920A (zh) | 2014-04-30 | 2015-03-20 | 一种设置sdn流表项的方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105099920A true CN105099920A (zh) | 2015-11-25 |
Family
ID=54358183
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510124353.7A Pending CN105099920A (zh) | 2014-04-30 | 2015-03-20 | 一种设置sdn流表项的方法和装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10075374B2 (zh) |
CN (1) | CN105099920A (zh) |
WO (1) | WO2015165399A1 (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105827628A (zh) * | 2016-04-29 | 2016-08-03 | 上海斐讯数据通信技术有限公司 | 一种基于软件定义网络的防源地址欺骗的方法 |
CN105915467A (zh) * | 2016-05-17 | 2016-08-31 | 清华大学 | 一种面向软件定义的数据中心网络流量均衡方法及装置 |
CN105933225A (zh) * | 2016-04-20 | 2016-09-07 | 上海斐讯数据通信技术有限公司 | 一种基于sdn的策略路由方法和系统 |
CN107360043A (zh) * | 2017-08-25 | 2017-11-17 | 中国联合网络通信集团有限公司 | 一种在sdn中更改转发设备配置信息的方法及装置 |
TWI618387B (zh) * | 2016-02-24 | 2018-03-11 | Method for improving packet processing of virtual switch | |
CN109450797A (zh) * | 2018-11-15 | 2019-03-08 | 新华三云计算技术有限公司 | 一种报文转发方法、装置和计算机设备 |
WO2019085907A1 (zh) * | 2017-10-30 | 2019-05-09 | 华为技术有限公司 | 一种基于软件定义网络的数据发送方法、装置及系统 |
CN109802891A (zh) * | 2019-02-22 | 2019-05-24 | 盛科网络(苏州)有限公司 | 一种提高大象流流表利用率的方法及装置 |
CN111294280A (zh) * | 2018-12-07 | 2020-06-16 | 中国电信股份有限公司 | 消息查重方法和装置、数据转发方法、设备和系统 |
CN111884871A (zh) * | 2020-06-30 | 2020-11-03 | 苏州浪潮智能科技有限公司 | 一种交换机丢弃报文检测的方法和设备 |
CN112887209A (zh) * | 2019-11-30 | 2021-06-01 | 华为技术有限公司 | 关于数据传输的表项建立方法及相关设备 |
CN113347100A (zh) * | 2021-05-31 | 2021-09-03 | 平安科技(深圳)有限公司 | 数据流传输方法、装置、计算机设备及存储介质 |
CN113595822A (zh) * | 2021-07-26 | 2021-11-02 | 北京恒光信息技术股份有限公司 | 一种数据包管理方法、系统和装置 |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107005433B (zh) * | 2015-07-20 | 2020-05-19 | 华为技术有限公司 | 一种流表项的定时处理方法及装置 |
US11196671B2 (en) * | 2015-10-27 | 2021-12-07 | Cisco Technology, Inc. | Layer 2 channel selection |
US10291555B2 (en) * | 2015-11-17 | 2019-05-14 | Telefonaktiebolaget Lm Ericsson (Publ) | Service based intelligent packet-in buffering mechanism for openflow switches by having variable buffer timeouts |
US10645009B2 (en) * | 2016-03-18 | 2020-05-05 | Futurewei Technologies, Inc. | Method and apparatus for programmable buffers in mobile networks |
US10121011B2 (en) | 2016-11-16 | 2018-11-06 | The United States Of America As Represented By The Secretary Of The Air Force | Apparatus, method and article of manufacture for partially resisting hardware trojan induced data leakage in sequential logics |
CN108696434B (zh) | 2017-04-11 | 2022-01-14 | 华为技术有限公司 | 一种转发数据报文的方法、设备和系统 |
TWI642285B (zh) * | 2018-02-02 | 2018-11-21 | 思銳科技股份有限公司 | 網路交換機的主機狀態偵測方法與系統 |
US10541918B2 (en) * | 2018-02-22 | 2020-01-21 | Juniper Networks, Inc. | Detecting stale memory addresses for a network device flow cache |
US11252096B2 (en) | 2019-06-20 | 2022-02-15 | Microsoft Technology Licensing, Llc | Network flow state management for connectionless protocol(s) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101127695A (zh) * | 2006-08-17 | 2008-02-20 | 中兴通讯股份有限公司 | 一种减少网络流量无效传递的处理方法 |
CN102325077A (zh) * | 2011-05-25 | 2012-01-18 | 杭州华三通信技术有限公司 | 分支机构间的通信方法及分支机构的出口路由器 |
CN102685006A (zh) * | 2012-05-03 | 2012-09-19 | 中兴通讯股份有限公司 | 一种转发数据报文的方法及装置 |
CN103259725A (zh) * | 2012-02-21 | 2013-08-21 | 华为技术有限公司 | 报文发送方法和网络设备 |
US20140098669A1 (en) * | 2012-10-08 | 2014-04-10 | Vipin Garg | Method and apparatus for accelerating forwarding in software-defined networks |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2786429A1 (en) | 2010-01-06 | 2011-07-14 | Nec Corporation | Communication control system and communication control method |
US9197548B2 (en) * | 2012-08-15 | 2015-11-24 | Dell Products L.P. | Network switching system using software defined networking applications |
US9197568B2 (en) | 2012-10-22 | 2015-11-24 | Electronics And Telecommunications Research Institute | Method for providing quality of service in software-defined networking based network and apparatus using the same |
CN103152271B (zh) | 2013-04-03 | 2015-07-29 | 清华大学 | 一种基于内容的数据中心网络路由转发方法 |
US20150249572A1 (en) * | 2014-03-03 | 2015-09-03 | Futurewei Technologies, Inc. | Software-Defined Network Control Using Functional Objects |
-
2015
- 2015-03-20 CN CN201510124353.7A patent/CN105099920A/zh active Pending
- 2015-04-29 WO PCT/CN2015/077782 patent/WO2015165399A1/en active Application Filing
- 2015-04-29 US US15/307,878 patent/US10075374B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101127695A (zh) * | 2006-08-17 | 2008-02-20 | 中兴通讯股份有限公司 | 一种减少网络流量无效传递的处理方法 |
CN102325077A (zh) * | 2011-05-25 | 2012-01-18 | 杭州华三通信技术有限公司 | 分支机构间的通信方法及分支机构的出口路由器 |
CN103259725A (zh) * | 2012-02-21 | 2013-08-21 | 华为技术有限公司 | 报文发送方法和网络设备 |
CN102685006A (zh) * | 2012-05-03 | 2012-09-19 | 中兴通讯股份有限公司 | 一种转发数据报文的方法及装置 |
US20140098669A1 (en) * | 2012-10-08 | 2014-04-10 | Vipin Garg | Method and apparatus for accelerating forwarding in software-defined networks |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI618387B (zh) * | 2016-02-24 | 2018-03-11 | Method for improving packet processing of virtual switch | |
CN105933225A (zh) * | 2016-04-20 | 2016-09-07 | 上海斐讯数据通信技术有限公司 | 一种基于sdn的策略路由方法和系统 |
CN105827628A (zh) * | 2016-04-29 | 2016-08-03 | 上海斐讯数据通信技术有限公司 | 一种基于软件定义网络的防源地址欺骗的方法 |
CN105915467B (zh) * | 2016-05-17 | 2019-06-18 | 清华大学 | 一种面向软件定义的数据中心网络流量均衡方法及装置 |
CN105915467A (zh) * | 2016-05-17 | 2016-08-31 | 清华大学 | 一种面向软件定义的数据中心网络流量均衡方法及装置 |
CN107360043A (zh) * | 2017-08-25 | 2017-11-17 | 中国联合网络通信集团有限公司 | 一种在sdn中更改转发设备配置信息的方法及装置 |
WO2019085907A1 (zh) * | 2017-10-30 | 2019-05-09 | 华为技术有限公司 | 一种基于软件定义网络的数据发送方法、装置及系统 |
CN109450797A (zh) * | 2018-11-15 | 2019-03-08 | 新华三云计算技术有限公司 | 一种报文转发方法、装置和计算机设备 |
CN109450797B (zh) * | 2018-11-15 | 2021-06-08 | 新华三云计算技术有限公司 | 一种报文转发方法、装置和计算机设备 |
CN111294280B (zh) * | 2018-12-07 | 2022-03-15 | 中国电信股份有限公司 | 消息查重方法和装置、数据转发方法、设备和系统 |
CN111294280A (zh) * | 2018-12-07 | 2020-06-16 | 中国电信股份有限公司 | 消息查重方法和装置、数据转发方法、设备和系统 |
CN109802891A (zh) * | 2019-02-22 | 2019-05-24 | 盛科网络(苏州)有限公司 | 一种提高大象流流表利用率的方法及装置 |
CN109802891B (zh) * | 2019-02-22 | 2021-09-10 | 苏州盛科通信股份有限公司 | 一种提高大象流流表利用率的方法及装置 |
CN112887209A (zh) * | 2019-11-30 | 2021-06-01 | 华为技术有限公司 | 关于数据传输的表项建立方法及相关设备 |
US11929913B2 (en) | 2019-11-30 | 2024-03-12 | Huawei Technologies Co., Ltd. | Method for creating data transmission entry and related device |
CN112887209B (zh) * | 2019-11-30 | 2023-06-20 | 华为技术有限公司 | 关于数据传输的表项建立方法及相关设备 |
CN111884871A (zh) * | 2020-06-30 | 2020-11-03 | 苏州浪潮智能科技有限公司 | 一种交换机丢弃报文检测的方法和设备 |
CN113347100A (zh) * | 2021-05-31 | 2021-09-03 | 平安科技(深圳)有限公司 | 数据流传输方法、装置、计算机设备及存储介质 |
CN113595822A (zh) * | 2021-07-26 | 2021-11-02 | 北京恒光信息技术股份有限公司 | 一种数据包管理方法、系统和装置 |
CN113595822B (zh) * | 2021-07-26 | 2024-03-22 | 北京恒光信息技术股份有限公司 | 一种数据包管理方法、系统和装置 |
Also Published As
Publication number | Publication date |
---|---|
US20170063689A1 (en) | 2017-03-02 |
US10075374B2 (en) | 2018-09-11 |
WO2015165399A1 (en) | 2015-11-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105099920A (zh) | 一种设置sdn流表项的方法和装置 | |
EP3142310B1 (en) | Method, device, and system for configuring flow entries | |
CN109361606B (zh) | 一种报文处理系统及网络设备 | |
CN101304389B (zh) | 报文处理方法、装置和系统 | |
CN104954245A (zh) | 业务功能链处理方法及装置 | |
CN104702438B (zh) | Pe设备管理方法以及装置 | |
CN108600109B (zh) | 一种报文转发方法和装置 | |
CN103532672A (zh) | 一种sdn网络中分片报文乱序的处理方法及应用 | |
EP3313031B1 (en) | Sdn-based arp realization method and apparatus | |
CN107547346B (zh) | 一种报文传输方法和装置 | |
CN104378299A (zh) | 流表项处理方法以及装置 | |
CN104702509A (zh) | 一种隔离sdn协议报文和数据报文的方法及装置 | |
US6560237B1 (en) | Packet order assurance mechanism | |
CN109587082A (zh) | 一种基于Linux操作系统的报文异步转发系统及方法 | |
CN109120556B (zh) | 一种云主机访问对象存储服务器的方法及系统 | |
US10104018B2 (en) | Method, apparatus, and system for controlling forwarding of service data in virtual network | |
US20150055662A1 (en) | Internet group management protocol (igmp) leave message processing synchronization | |
US9537764B2 (en) | Communication apparatus, control apparatus, communication system, communication method, method for controlling communication apparatus, and program | |
CN104735000A (zh) | OpenFlow信令控制方法及装置 | |
CN106921553A (zh) | 在虚拟网络中实现高可用的方法及系统 | |
CN104168186B (zh) | 一种基于网桥的报文转发方法及系统 | |
CN108337181B (zh) | 一种交换网拥塞管理方法和装置 | |
CN109005120B (zh) | 一种报文处理方法及网络设备 | |
WO2016082573A1 (zh) | 一种堆叠系统的报文转发方法、装置及堆叠设备 | |
CN112511440A (zh) | 报文转发方法、系统、存储介质和电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Applicant after: Xinhua three Technology Co., Ltd. Address before: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Applicant before: Huasan Communication Technology Co., Ltd. |
|
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20151125 |