CN103685009B - 数据包的处理方法、控制器及系统 - Google Patents
数据包的处理方法、控制器及系统 Download PDFInfo
- Publication number
- CN103685009B CN103685009B CN201210318795.1A CN201210318795A CN103685009B CN 103685009 B CN103685009 B CN 103685009B CN 201210318795 A CN201210318795 A CN 201210318795A CN 103685009 B CN103685009 B CN 103685009B
- Authority
- CN
- China
- Prior art keywords
- data packet
- switch
- forwarding rule
- packet
- 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.)
- Active
Links
- 238000003672 processing method Methods 0.000 title abstract description 8
- 230000009471 action Effects 0.000 claims abstract description 72
- 238000000034 method Methods 0.000 claims abstract description 35
- 238000012545 processing Methods 0.000 claims description 25
- 230000032683 aging Effects 0.000 claims description 22
- 230000005540 biological transmission Effects 0.000 abstract description 22
- 238000010586 diagram Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
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/18—Loop-free operations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/1863—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast comprising mechanisms for improved reliability, e.g. status reports
- H04L12/1877—Measures taken prior to transmission
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/1886—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with traffic restrictions for efficiency improvement, e.g. involving subnets or subdomains
-
- 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/12—Avoiding congestion; Recovering from congestion
-
- 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/32—Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例公开了数据包的处理方法、控制器及系统,该方法包括:控制器接收交换机上报的未匹配到转发规则的数据包;在确定所述数据包的类型为广播数据包后,为所述数据包生成转发规则,所述转发规则包括动作属性为丢弃;发送所述数据包的转发规则给所述交换机,以便所述交换机再次接收所述数据包时,根据所述转发规则的动作属性丢弃所述数据包。由于本发明无需对交换机的端口进行屏蔽,就可以避免网络中的广播风暴,因此对于全连通网络来说,保证了端口的转发能力和网络中可用传输链路的数量,相应提高了网络中传输链路的利用率。
Description
技术领域
本发明涉及网络通信技术领域,特别是涉及数据包的处理方法、控制器及系统。
背景技术
通常数据中心采用全连通网络结构,以提高网络通信效率,一种全连通网络的结构可以为:不同层上的交换机两两相连,最底层每个交换机连接一定数量的主机。当网络中的交换机收到广播数据包时,需要在该交换机所属虚拟局域网(Virtual Local AreaNetwork,VLAN)内,除了接收端口外的所有端口上对广播数据包进行洪泛(flooding)。但是,当全连通网络中存在环路时,广播数据包可能在所形成的环路上进行重复广播,从而引起广播风暴。
全连通网络可以基于软件定义的网络(Software Defined Network,SDN)技术实现。应用SDN技术的网络中通常包括若干网络设备和对这些网络设备进行控制的控制器。SDN的核心是将网络设备(如交换机)的控制面和数据转发面进行分离,其中数据转发面基于转发表(Flow Table)进行数据转发,控制面通过提供接口应用程序编程接口(Application Programming Interface,API)供控制器(Controller)进行控制。在SDN网络中,交换机内的路由表初始时为空,当接收到的数据包在交换机的路由表内找不到匹配的转发规则时,交换机通过上报数据包到控制器请求转发规则,根据控制器下发的转发规则对数据包进行转发,并将该转发规则保存到路由表中,通常控制器默认下发给交换机的转发规则为广播该数据包。参见图1,为基于SDN的全连通网络架构示意图:图1中,每个S代表一个交换机(Switch),交换机分为两层,分别为核心交换机和接入交换机,每个h代表一个与接入交换机相连的主机(host)。其中,控制器(Controller)与每个交换机相连,不同层上的交换机两两相连,每个接入交换机连接两个主机。
为了避免广播风暴,现有技术中可以采用生成树协议(Spanning Tree Protocol,STP)对网络中的数据进行广播。采用STP时,对网络中的交换机按照树形结构构造网络拓扑,从树形结构中选择一个交换机作为根桥设备,从根桥设备开始,各个交换机逐级形成一棵树,根桥设备定时发送配置报文,非根桥设备接收配置报文后,重新计算配置信息,并对配置报文进行转发,如果某台交换机可以从两个以上的端口接收到配置报文,则该交换机到根桥设备的传输链路不止一条,该交换机与根桥设备之间形成了转发环路。此时,该交换机选择一个端口,并屏蔽其它端口,从而消除网络中的转发环路。
发明人在对现有技术的研究中发现,由于交换机需要通过屏蔽端口克服广播风暴的发生,因此抑制了网络中端口的转发能力,对于全连通网络来说,相当于减少了网络中可用传输链路的数量,从而降低了网络中传输链路的利用率。
发明内容
本发明实施例中提供了数据包的处理方法、控制器及系统,以解决现有技术中采用STP抑制广播风暴,导致网络链路的利用率降低的问题。
为了解决上述技术问题,本发明实施例公开了如下技术方案:
第一方面,提供一种数据包的处理方法,所述方法包括:
控制器接收交换机上报的未匹配到转发规则的数据包;
在确定所述数据包的类型为广播数据包后,为所述数据包生成转发规则,所述转发规则包括动作属性为丢弃;
发送所述数据包的转发规则给所述交换机,以便所述交换机再次接收所述数据包时,根据所述转发规则的动作属性丢弃所述数据包。
结合第一方面,在第一种可能的实现方式中,所述转发规则还包括:
老化时间,以便所述交换机在所述老化时间内再次接收所述数据包时丢弃所述数据包。
结合第一方面,或第一种可能的实现方式,在第二种可能的实现方式中,所述在确定所述数据包的类型为广播数据包后,还包括:
确定所述数据包的属性信息与设置的属性信息匹配时,执行所述根据所述数据包生成转发规则;其中,
所述设置的属性信息包括至少一种下述信息:协议类型、源地址、目的地址、源端口号、目的端口号、虚拟局域网标识VLAN ID、VLAN优先级、以太网类型。
结合第一方面,或第一种可能的实现方式,在第三种可能的实现方式中,所述发送所述数据包的转发规则给所述交换机之前,还包括:设置所述数据包的动作属性为广播;
将所述数据包发送给所述交换机,以便所述交换机根据所述数据包的动作属性广播所述数据包。
结合第一方面,或第一种可能的实现方式,或第二种可能的实现方式,或第三种可能的实现方式,在第四种可能的实现方式中,所述转发规则中包括至少一种所述数据包的下述信息:协议类型、源地址、目的地址、源端口号、目的端口号、VLAN ID、VLAN优先级、以太网类型、服务类型。
第二方面,提供一种控制器,所述控制器包括:
接收单元,用于接收交换机上报的未匹配到转发规则的数据包;
确定单元,用于确定所述接收单元接收到的数据包的类型为广播数据包;
生成单元,用于在所述确定单元确定所述数据包的类型为广播数据包后,为所述数据包生成转发规则,所述转发规则包括动作属性为丢弃;
发送单元,用于发送所述生成单元生成的所述数据包的转发规则给所述交换机,以便所述交换机再次接收所述数据包时,根据所述转发规则的动作属性丢弃所述数据包。
结合第二方面,在第一种可能的实现方式中,所述生成单元生成的转发规则中还包括:老化时间,以便所述交换机在所述老化时间内再次接收所述数据包时丢弃所述数据包。
结合第二方面,或第一种可能的实现方式,在第二种可能的实现方式中,所述确定单元,还用于确定所述数据包的属性信息与设置的属性信息匹配时,触发所述生成单元执行为所述数据包生成转发规则;其中,
所述设置的属性信息包括至少一种下述信息:协议类型、源地址、目的地址、源端口号、目的端口号、VLAN ID、VLAN优先级、以太网类型。
结合第二方面,或第一种可能的实现方式,在第三种可能的实现方式中,还包括:
设置单元,用于设置所述接收单元接收到的所述数据包的动作属性为广播;
所述发送单元,还用于将由所述设置单元设置了动作属性为广播的所述数据包发送给所述交换机,以便所述交换机根据所述数据包的动作属性广播所述数据包。
第三方面,提供一种数据包的处理系统,所述系统包括本发明实施例描述的控制器和与所述控制器相连的多个交换机,所述多个交换机组成环形网络,所述多个交换机中的任意一个交换机为第一交换机;
所述第一交换机,用于接收所述控制器发送的数据包的转发规则,所述数据包的转发规则的动作属性为丢弃;还用于在再次接收到所述数据包后,根据所述数据包的转发规则的动作属性丢弃所述数据包。
本发明实施例中,交换机接收数据包,且未匹配到数据包的转发规则时,向控制器上报该数据包,控制器确定该数据包为广播数据包时,为所述数据包生成转发规则,转发规则包括动作属性为丢弃,将该转发规则发送给交换机。由于该交换机位于全连通网络中,在该交换机再次接收到该数据包时,该交换机能够匹配到该数据包的转发规则,并且根据该数据包的转发规则的动作属性丢弃该数据包,从而防止了该交换机对该数据包的重复广播,阻止了广播风暴的产生。同时,由于本发明无需对交换机的端口进行屏蔽,就可以避免网络中的广播风暴,因此对于全连通网络来说,保证了端口的转发能力和网络中可用传输链路的数量,相应提高了网络中传输链路的利用率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为基于SDN的网络架构示意图;
图2为本发明数据包的处理方法的一个实施例流程图;
图3为本发明数据包的处理方法的另一个实施例流程图;
图4A为本发明实施例应用的一个全连通网络中的交换机连接示意图;
图4B为结合图4A的本发明数据包的处理方法的另一个实施例流程图;
图5为应用本发明实施例的一个网络架构示意图;
图6为本发明控制器的实施例框图;
图7为本发明数据包的处理装置的实施例框图;
图8为本发明数据包的处理系统的实施例框图。
具体实施方式
本发明如下实施例提供了数据包的处理方法、控制器及系统。
为了使本技术领域的人员更好地理解本发明实施例中的技术方案,并使本发明实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明实施例中技术方案作进一步详细的说明。
参见图2,为本发明数据包的处理方法的一个实施例流程图,该实施例从控制器侧描述了对数据包进行广播的过程:
步骤201:控制器接收交换机上报的未匹配到转发规则的数据包。
当交换机未匹配到数据包的转发规则时,说明该数据包为交换机首次接收到的数据包,此时交换机将数据包上报给控制器,请求控制器为该数据包下发转发策略。
步骤202:在确定所述数据包的类型为广播数据包后,为所述数据包生成转发规则,所述转发规则包括动作属性为丢弃。
由于广播数据包会引发全连通网络中的广播风暴,因此本实施例中控制器需要对数据包的类型进行识别,以便针对广播数据包进行处理。其中,在识别数据包的类型时,可以依据数据包的目的MAC(Medium/Media Access Control,介质访问控制)地址,当目的MAC地址为全为“F”时,则可以确定该数据包的类型为广播数据包。
其中,由于交换机上报的数据包为该交换机首次接收到的该数据包,因此控制器可以为该数据包生成后续作为该数据包的转发策略的转发规则,该转发规则中可以包括至少一种该数据包的下述信息:协议类型、源地址、目的地址、源端口号、目的端口号、虚拟局域网(Virtual Local Area Network,VLAN)标识(ID)、VLAN优先级、以太网类型、服务类型,该转发规则中可以不包括该数据包在交换机上的入端口;同时,该转发规则中还包括动作属性为丢弃;可选的,转发规则中还可以包括老化时间。
可选的,由于广播数据包还可以进一步细分为不同类型的广播数据包,因此本实施例中控制器还可以在识别出数据包为广播数据包后,进一步将广播数据包的属性信息与预先设置的属性信息进行匹配,以便满足用户对特定类型广播数据包的处理需求。其中,设置的属性信息可以包括至少一种下述信息:协议类型、源地址、目的地址、源端口号、目的端口号、VLAN ID、VLAN优先级、以太网类型。例如,对于都为广播数据包的地址解析协议(Address Resolution Protocol,ARP)数据包和动态主机设置协议(Dynamic HostConfiguration Protocol,DHCP)数据包,如果用户自定义需要对ARP数据包应用本发明实施例,则可以预先设置ARP数据包的属性信息,当接收到的数据包为广播数据包时,进一步确认该数据包的属性信息是否与ARP数据包的属性信息匹配,当匹配时,说明该广播数据包为ARP数据包,则根据该ARP数据包生成转发规则。
步骤203:发送所述数据包的转发规则给所述交换机,以便所述交换机再次接收所述数据包时,根据所述转发规则的动作属性丢弃所述数据包。
本实施例中,对于交换机首次上报的该数据包,控制器可以通过设置该数据包的动作属性为广播,并将设置后的数据包下发给交换机,以便控制交换机对该数据包进行广播;当控制器将转发规则发送给交换机后,交换机可以保存该转发规则,后续交换机根据转发规则中包括的信息确认再次接收到该数据包时,可以根据该转发规则中包括的动作属性丢弃再次接收到的数据包,从而避免网络中的广播风暴。
进一步,当转发规则中还包括老化时间时,则交换机可以在该老化时间内再次接收到该数据包时丢弃该数据包。
由上述实施例可见,交换机接收数据包,且未匹配到数据包的转发规则时,向控制器上报该数据包,控制器在确定该数据包为广播数据包后,为所述数据包生成转发规则,转发规则包括动作属性为丢弃,将该转发规则发送给交换机。由于交换机位于全连通网络中,在该交换机再次接收到数据包时,该交换机能够匹配到该数据包的转发规则,并且根据该数据包的转发规则的动作属性丢弃该数据包,从而防止了该交换机对该数据包的重复广播,阻止了广播风暴的产生。同时,由于本发明无需对交换机的端口进行屏蔽,就可以避免网络中的广播风暴,因此对于全连通网络来说,保证了端口的转发能力和网络中可用传输链路的数量,相应提高了网络中传输链路的利用率。
参见图3,为本发明数据包的处理方法的另一个实施例流程图,该实施例从交换机侧描述了对数据包进行广播的过程:
步骤301:交换机接收数据包。
步骤302:当未匹配到该数据包的转发规则时,向控制器上报该数据包。
当交换机未匹配到数据包的转发规则时,说明该数据包为交换机首次接收到的数据包,此时交换机将数据包上报给控制器,请求控制器为该数据包下发转发策略。
步骤303:接收控制器发送的为该数据包生成的转发规则,该转发规则为控制器确定该数据包的类型为广播数据包后,为该数据包生成的转发规则,该转发规则包括动作属性为丢弃。
由于广播数据包会引发全连通网络中的广播风暴,因此本实施例中控制器需要对数据包的类型进行识别,以便针对广播数据包进行处理。其中,在识别数据包的类型时,可以依据数据包的目的MAC地址,当目的MAC地址为全为“F”时,则可以确定该数据包的类型为广播数据包。
其中,由于交换机上报的数据包为该交换机首次接收到的该数据包,因此控制器可以根据该数据包生成后续作为该数据包的转发策略的转发规则,该转发规则中可以包括至少一种该数据包的下述信息:协议类型、源地址、目的地址、源端口号、目的端口号、VLANID、VLAN优先级、以太网类型、服务类型,该转发规则中可以不包括该数据包在交换机上的入端口;同时,该转发规则中还包括动作属性为丢弃;可选的,转发规则中还可以包括老化时间。
可选的,由于广播数据包还可以进一步细分为不同类型的广播数据包,因此本实施例中控制器还可以在识别出数据包为广播数据包后,进一步将广播数据包的属性信息与预先设置的属性信息进行匹配,以便满足用户对特定类型广播数据包的处理需求。其中,设置的属性信息可以包括至少一种下述信息:协议类型、源地址、目的地址、源端口号、目的端口号、VLAN ID、VLAN优先级、以太网类型。
本实施例中,对于交换机首次上报的数据包,控制器可以设置该数据包的动作属性为广播,并将设置后的数据包下发给交换机,交换机根据该数据包的动作属性在网络中广播该数据包;当交换机接收到控制器根据该数据包生成的转发规则后,交换机可以保存该转发规则。
步骤304:当再次接收到该数据包时,根据转发规则中包括的动作属性丢弃该数据包。
当交换机根据转发规则中包括的信息确认再次接收到该数据包时,可以根据该转发规则中包括的动作属性丢弃再次接收到的数据包,从而避免网络中的广播风暴。
由上述实施例可见,交换机接收数据包,且未匹配到数据包的转发规则时,向控制器上报该数据包,控制器在确定该数据包为广播数据包后,为所述数据包生成转发规则,转发规则包括动作属性为丢弃,将该转发规则发送给交换机。由于交换机位于全连通网络中,在该交换机再次接收到数据包时,该交换机能够匹配到该数据包的转发规则,并且根据该数据包的转发规则的动作属性丢弃该数据包,从而防止了该交换机对该数据包的重复广播,阻止了广播风暴的产生。同时,由于本发明无需对交换机的端口进行屏蔽,就可以避免网络中的广播风暴,因此对于全连通网络来说,保证了端口的转发能力和网络中可用传输链路的数量,相应提高了网络中传输链路的利用率。
参见图4A,为本发明实施例应用的一个全连通网络中的交换机连接示意图。图4A中,在核心交换机包括交换机1,和交换机2,接入交换机包括交换机3和交换机4,其中交换机1和交换机2分别连接交换机3和交换机4,每个交换机上都包括端口1和端口2。图4A中,端口之间连接的实线表示交换机之间的链路连接,虚线表示在上述链路上传输的数据包的流向。图4A中示出的四个交换机均与控制器相连,其中控制器未在图4A中示出。
参见图4B,为本发明数据包的广播方法的第三实施例流程图,该实施例结合图4A详细描述数据包的处理过程:
步骤401:交换机接收数据包。
结合图4A,假设交换机4的端口2接收到数据包。
步骤402:交换机未匹配到该数据包的转发规则,向控制器上报该数据包。
假设交换机4的端口2接收到的数据包为该交换机4首次接收到的数据包,因此交换机4未匹配到该数据包的转发规则,交换机4将该数据包上报给控制器,请求控制器为该数据包下发转发策略。
步骤403:控制器确定该数据包为广播数据包,且确定该数据包的属性信息与设置的属性信息匹配。
当控制器识别数据包的目的MAC地址全为“F”时,可以确定该数据包为广播数据包;然后,控制器将该广播数据包的属性信息与预先设置的属性信息进行匹配,该设置的属性信息可以包括至少一种下述信息:协议类型、源地址、目的地址、源端口号、目的端口号、VLAN ID、VLAN优先级、以太网类型。假设本实施例中,用户预先设置的属性信息为协议类型ARP,则控制器在识别出广播数据包后,进一步确定该广播数据包的协议类型为ARP时,再执行后续步骤404。
步骤404:控制器设置该数据包的动作属性为广播,并为该数据包生成转发规则,该转发规则中包括动作属性为丢弃,以及老化时间。
本实施例中,对于交换机4首次上报的数据包,控制器设置该数据包的动作属性为广播,以便交换机4可以对该首次接收到的数据包进行广播。并且,控制器为交换机4接收到的该数据包生成转发规则,该转发规则中可以包括至少一种该数据包的下述信息:协议类型、源地址、目的地址、源端口号、目的端口号、VLAN ID、VLAN优先级、以太网类型、服务类型,该转发规则中可以不包括该数据包在交换机上的入端口;在生成该转发规则时还包括动作属性为丢弃,以及老化时间,以便后续交换机4再次接收到该数据包时,可以根据该动作属性,在设置的老化时间内丢弃再次接收到的该数据包。
步骤405:控制器发送该数据包以及该数据包的转发规则给交换机。
步骤406:交换机根据数据包的动作属性广播控制器发送的数据包,并且在转发规则的老化时间内再次接收到该数据包时,根据该转发规则包括的动作属性丢弃该数据包。
结合图4A,对于交换机4在步骤402中上报的数据包,交换机4可以在接收到控制器下发的该数据包后,根据该数据包内设置的动作属性,通过端口1广播该数据包;后续当交换机4再次接收到与转发规则中的信息匹配的该数据包,且还未超过该转发规则的老化时间时,则交换机4可以丢弃该数据包,从而避免网络中的广播风暴。
图4A中,当交换机将接收到的数据包通过端口1广播到交换机2的端口1时,则交换机2执行与前述交换机4一致的过程,同理,交换机3和交换机1在接收到按照图4B中的数据包的传输流向所传输的数据包时,执行与前述交换机4一致的过程,在此不再赘述。
由上述实施例可见,交换机接收数据包,且未匹配到数据包的转发规则时,向控制器上报该数据包,控制器在确定该数据包为广播数据包后,为所述数据包生成转发规则,转发规则包括动作属性为丢弃,将该转发规则发送给交换机。由于交换机位于全连通网络中,在该交换机再次接收到数据包时,该交换机能够匹配到该数据包的转发规则,并且根据该数据包的转发规则的动作属性丢弃该数据包,从而防止了该交换机对该数据包的重复广播,阻止了广播风暴的产生。同时,由于本发明无需对交换机的端口进行屏蔽,就可以避免网络中的广播风暴,因此对于全连通网络来说,保证了端口的转发能力和网络中可用传输链路的数量,相应提高了网络中传输链路的利用率。
参见图5,为应用本发明实施例的一个网络架构示意图。图5中,控制器分别连接交换机S1、S2、S3、S4、S5和S6,S3连接主机h21和h22,S4连接主机h23和h24,S5连接主机h25和h26,S6连接h27和h28。其中,假设主机21在网络中发送ARP请求数据包,用于请求h27的MAC地址,且ARP请求数据包为需要应用本发明实施例进行控制的广播数据包。下面结合图5,描述应用本发明实施例的一种数据包的处理实例,该处理过程基于SDN技术的Openflow(开放流)实现,其处理过程具体如下:
主机h21将ARP请求数据包发到交换机S3;
交换机S3查找ARP请求数据包的转发规则,当交换机S3未查找到与该ARP请求数据包相匹配的转发规则时,因此以Openflow中定义的“PacketIn”形式向控制器上报该ARP请求数据包,向控制器请求转发策略;
控制器接收到ARP请求数据包后,通过该ARP请求数据包学习主机h21的源MAC地址和源IP地址,并通过该ARP请求数据包的协议类型“0x0806”识别出该数据包为ARP数据包,因此设定此ARP请求数据包的action(动作属性)为广播,并将此ARP请求数据包以Openflow中定义的“PacketOut”的形式发给交换机S3,同时根据该ARP请求数据包生成精确匹配的转发规则,该转发规则中可以不包括该数据包在交换机上的入端口,并设置转发规则的动作属性为丢弃,且可以设定转发规则的老化时间为5s(秒),该转发规则中可以包括11个元组,后续当交换机S3再次接收到的数据包匹配该转发规则中的11个元组时,则丢弃该数据包,以防止广播风暴的发生,其中,该转发规则包括的11个元组的示例可以如下所示:
match=OFMatch[dl_dst=ff:ff:ff:ff:ff:ff,dl_src=00:00:00:00:00:16,dl_type=0x806,dl_vlan=0xffff,dl_vpcp=0,nw_dst=10.0.0.32,nw_src=10.0.0.22,nw_proto=1,nw_tos=0,tp_dst=1,tp_src=0];其中,第一个元组dl_dst表示以太网目的地址(Ethernet destination address),第二个元组dl_src表示以太网源地址(Ethernetsource address),第三个元组dl_type表示以太网帧类型(Ethernet frame type),第四个元组dl_vlan表示VLAN ID,第五个元组dl_vpcp表示VLAN优先级(VLAN priority),第六个元组nw_dst表示目的IP地址(IP destination address),第七个元组nw_src表示源IP地址(IP source address),第八个元组nw_proto表示网络层协议类型或者低8位是ARP操作码(IP protocol or lower 8 bits of ARP Operation code),第九个元组nw_tos表示IP服务类型(IP Type of Service),第十个元组tp_dst表示传输控制协议(TransmissionControl Protocol,TCP)或用户数据报协议(User Datagram Protocol,UDP)目的端口号(TCP/UDP destination port),第十一个元组tp_src表示TCP或UDP源端口号(TCP/UDPsource port);
交换机S3按照数据包的传输流向将该ARP请求数据包传输到主机h27所接入的交换机S6,上述传输过程中涉及的每个交换机在接收到该ARP请求数据包时,执行与交换机S3一致的过程,在此不再赘述;
交换机S6将ARP请求数据包广播到主机h27后,得到主机h27发送的ARP回复数据包,交换机S6中没有与该ARP回复数据包匹配的转发规则,则向控制器上报该ARP回复数据包,请求该ARP回复数据包的转发策略;
控制器接收到ARP回复数据包后,根据已经学习到的主机h21的源MAC地址和源IP地址,配置ARP回复数据包以单播方式传输到主机h21,从而实现主机h21对主机h27的MAC地址的学习。
与本发明数据包的处理方法的实施例相对应,本发明还提供了控制器、数据包的处理装置、交换机及数据包的处理系统的实施例。这些实施例为用于执行前述方法实施例的控制器、装置、交换机及系统,相关描述可以参见前述对于方法实施例的描述。
参见图6,为本发明控制器的实施例框图:
该控制器包括:接收单元610、确定单元620、生成单元630和发送单元640。
其中,接收单元610,用于接收交换机上报的未匹配到转发规则的数据包;
确定单元620,用于确定所述接收单元610接收到的数据包的类型为广播数据包;
生成单元630,用于在所述确定单元620确定所述数据包的类型为广播数据包后,为所述数据包生成转发规则,所述转发规则包括动作属性为丢弃;
发送单元640,用于发送所述生成单元630生成的所述数据包的转发规则给所述交换机,以便所述交换机再次接收所述数据包时,根据所述转发规则的动作属性丢弃所述数据包。
可选的,所述生成单元630生成的转发规则中还包括:老化时间,以便所述交换机在所述老化时间内再次接收所述数据包时丢弃所述数据包。
可选的,所述确定单元620,还可以用于确定所述数据包的属性信息与设置的属性信息匹配时,触发所述生成单元630执行为所述数据包生成转发规则;其中,所述设置的属性信息包括至少一种下述信息:协议类型、源地址、目的地址、源端口号、目的端口号、VLANID、VLAN优先级、以太网类型。
可选的,所述控制器还可以包括(图6中未示出):设置单元,用于设置所述接收单元610接收到的所述数据包的动作属性为广播;所述发送单元640,还用于将由所述设置单元设置了动作属性为广播的所述数据包发送给所述交换机,以便所述交换机根据所述数据包的动作属性广播所述数据包。
由上述实施例可见,控制器接收交换机上报的未匹配到转发规则的数据包,在确定该数据包为广播数据包后,为所述数据包生成转发规则,转发规则包括动作属性为丢弃,将该转发规则发送给交换机。由于交换机位于全连通网络中,在该交换机再次接收到数据包时,该交换机能够匹配到该数据包的转发规则,并且根据该数据包的转发规则的动作属性丢弃该数据包,从而防止了该交换机对该数据包的重复广播,阻止了广播风暴的产生。同时,由于本发明无需对交换机的端口进行屏蔽,就可以避免网络中的广播风暴,因此对于全连通网络来说,保证了端口的转发能力和网络中可用传输链路的数量,相应提高了网络中传输链路的利用率。
参见图7,为本发明实施例公开的一种数据包的处理装置:
该处理装置包括:至少一个通信总线710、至少一个网络接口720、存储器730和至少一个处理器740,:
其中,通信总线710,用于连接该处理装置中各部件,包括网络接口720、存储器730和处理器740等,以实现上述各个部件之间的通信;
网络接口720,用于实现接入网络;
存储器730包括:
接收单元731,用于接收交换机上报的未匹配到转发规则的数据包;
确定单元732,用于确定所述接收单元731接收到的数据包的类型为广播数据包;可选的,所述确定单元732,还可以用于确定所述数据包的属性信息与设置的属性信息匹配时,触发所述生成单元733执行为所述数据包生成转发规则;其中,所述设置的属性信息包括至少一种下述信息:协议类型、源地址、目的地址、源端口号、目的端口号、VLAN ID、VLAN优先级、以太网类型;
生成单元733,用于在所述确定单元732确定所述数据包的类型为广播数据包后,为所述数据包生成转发规则,所述转发规则包括动作属性为丢弃;可选的,所述生成单元733生成的转发规则中还可以包括老化时间,以便所述交换机在所述老化时间内再次接收所述数据包时丢弃所述数据包。
发送单元734,用于发送所述生成单元733生成的所述数据包的转发规则给所述交换机,以便所述交换机再次接收所述数据包时,根据所述转发规则的动作属性丢弃所述数据包。
可选的,所述存储器730还可以包括(图7中未示出):设置单元,用于设置所述接收单元731接收到的所述数据包的动作属性为广播;所述发送单元734,还用于将由所述设置单元设置了动作属性为广播的所述数据包发送给所述交换机,以便所述交换机根据所述数据包的动作属性广播所述数据包。
处理器740,用于执行所述存储器730中各个单元的功能。
由上述实施例可见,控制器接收交换机上报的未匹配到转发规则的数据包,在确定该数据包为广播数据包后,为所述数据包生成转发规则,转发规则包括动作属性为丢弃,将该转发规则发送给交换机。由于交换机位于全连通网络中,在该交换机再次接收到数据包时,该交换机能够匹配到该数据包的转发规则,并且根据该数据包的转发规则的动作属性丢弃该数据包,从而防止了该交换机对该数据包的重复广播,阻止了广播风暴的产生。同时,由于本发明无需对交换机的端口进行屏蔽,就可以避免网络中的广播风暴,因此对于全连通网络来说,保证了端口的转发能力和网络中可用传输链路的数量,相应提高了网络中传输链路的利用率。
参见图8,为本发明数据包的处理系统的实施例框图:
该系统包括:如前述实施例中所示的控制器810和与该控制器810相连的多个交换机820,所述多个交换机820组成环形网络,所述多个交换机820中的任意一个交换机为第一交换机821。图8中为了示例方便,示出了三个交换机820,且设其中一个交换机为本实施例中所描述的第一交换机821。
其中,所述第一交换机821,用于接收所述控制器810发送的数据包的转发规则,所述数据包的转发规则的动作属性为丢弃;还用于在再次接收到所述数据包后,根据所述数据包的转发规则的动作属性丢弃所述数据包。
上述实施例中关于控制器810的具体描述,可以参见前述图6和图7所示的实施例,在此不再赘述。
由上述实施例可见,交换机接收数据包,且未匹配到数据包的转发规则时,向控制器上报该数据包,控制器在确定该数据包为广播数据包后,为所述数据包生成转发规则,转发规则包括动作属性为丢弃,将该转发规则发送给交换机。由于该交换机位于全连通网络中,在该交换机再次接收到该数据包时,该交换机能够匹配到该数据包的转发规则,并且根据该数据包的转发规则的动作属性丢弃该数据包,从而防止了该交换机对该数据包的重复广播,阻止了广播风暴的产生。同时,由于本发明无需对交换机的端口进行屏蔽,就可以避免网络中的广播风暴,因此对于全连通网络来说,保证了端口的转发能力和网络中可用传输链路的数量,相应提高了网络中传输链路的利用率。
本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述的本发明实施方式,并不构成对本发明保护范围的限定。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种数据包的处理方法,其特征在于,所述方法包括:
控制器接收交换机上报的未匹配到转发规则的数据包;
在确定所述数据包的类型为广播数据包后,为所述数据包生成转发规则,所述转发规则包括数据包的动作属性为丢弃;
发送所述数据包的转发规则给所述交换机,以便所述交换机再次接收所述数据包时,根据所述转发规则中规定的数据包的动作属性丢弃所述数据包;
其中,所述发送所述数据包的转发规则给所述交换机之前,还包括:
设置所述数据包的动作属性为广播;
将所述数据包发送给所述交换机,以便所述交换机根据所述数据包的动作属性广播所述数据包。
2.根据权利要求1所述的方法,其特征在于,所述转发规则还包括:
老化时间,以便所述交换机在所述老化时间内再次接收所述数据包时丢弃所述数据包。
3.根据权利要求1或2所述的方法,其特征在于,所述在确定所述数据包的类型为广播数据包后,还包括:
确定所述数据包的属性信息与设置的属性信息匹配时,执行为所述数据包生成转发规则;其中,所述设置的属性信息包括至少一种下述信息:协议类型、源地址、目的地址、源端口号、目的端口号、虚拟局域网标识VLAN ID、VLAN优先级、以太网类型。
4.根据权利要求1所述的方法,其特征在于,所述转发规则中包括至少一种所述数据包的下述信息:协议类型、源地址、目的地址、源端口号、目的端口号、VLAN ID、VLAN优先级、以太网类型、服务类型。
5.一种控制器,其特征在于,所述控制器包括:
接收单元,用于接收交换机上报的未匹配到转发规则的数据包;
确定单元,用于确定所述接收单元接收到的数据包的类型为广播数据包;
生成单元,用于在所述确定单元确定所述数据包的类型为广播数据包后,为所述数据包生成转发规则,所述转发规则包括数据包的动作属性为丢弃;
发送单元,用于发送所述生成单元生成的所述数据包的转发规则给所述交换机,以便所述交换机再次接收所述数据包时,根据所述转发规则中规定的数据包的动作属性丢弃所述数据包;
其中,还包括:
设置单元,用于设置所述接收单元接收到的所述数据包的动作属性为广播;
所述发送单元,还用于将由所述设置单元设置了动作属性为广播的所述数据包发送给所述交换机,以便所述交换机根据所述数据包的动作属性广播所述数据包。
6.根据权利要求5所述的控制器,其特征在于,所述生成单元生成的转发规则中还包括:老化时间,以便所述交换机在所述老化时间内再次接收所述数据包时丢弃所述数据包。
7.根据权利要求5或6所述的控制器,其特征在于,
所述确定单元,还用于确定所述数据包的属性信息与设置的属性信息匹配时,触发所述生成单元执行为所述数据包生成转发规则;其中,所述设置的属性信息包括至少一种下述信息:协议类型、源地址、目的地址、源端口号、目的端口号、VLAN ID、VLAN优先级、以太网类型。
8.一种数据包的处理系统,其特征在于,包括如权利要求5-7任一所述的控制器和与所述控制器相连的多个交换机,所述多个交换机组成环形网络,所述多个交换机中的任意一个交换机为第一交换机;
所述第一交换机,用于接收所述控制器发送的数据包的转发规则,所述数据包的转发规则的动作属性为丢弃;还用于在再次接收到所述数据包后,根据所述数据包的转发规则的动作属性丢弃所述数据包。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210318795.1A CN103685009B (zh) | 2012-08-31 | 2012-08-31 | 数据包的处理方法、控制器及系统 |
PCT/CN2013/071327 WO2014032413A1 (zh) | 2012-08-31 | 2013-02-04 | 数据包的处理方法、控制器及系统 |
US14/616,825 US9571382B2 (en) | 2012-08-31 | 2015-02-09 | Method, controller, and system for processing data packet |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210318795.1A CN103685009B (zh) | 2012-08-31 | 2012-08-31 | 数据包的处理方法、控制器及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103685009A CN103685009A (zh) | 2014-03-26 |
CN103685009B true CN103685009B (zh) | 2017-04-26 |
Family
ID=50182432
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210318795.1A Active CN103685009B (zh) | 2012-08-31 | 2012-08-31 | 数据包的处理方法、控制器及系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9571382B2 (zh) |
CN (1) | CN103685009B (zh) |
WO (1) | WO2014032413A1 (zh) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103812779B (zh) * | 2012-11-08 | 2018-03-09 | 华为技术有限公司 | 洪泛的处理方法、装置 |
CN103888369B (zh) * | 2014-04-10 | 2019-02-05 | 广州市高科通信技术股份有限公司 | 以太网通信方法、系统和sdn交换机 |
CN105099942B (zh) | 2014-04-30 | 2019-05-03 | 华为技术有限公司 | 一种数据包处理方法及设备 |
WO2015166979A1 (ja) * | 2014-05-01 | 2015-11-05 | 日本電気株式会社 | 通信装置、制御装置、通信システム、受信パケットの処理方法、通信装置の制御方法及びプログラム |
CN104394083B (zh) * | 2014-09-22 | 2017-12-15 | 华为技术有限公司 | 转发表项处理的方法、报文转发的方法及其装置和系统 |
CN104660511B (zh) * | 2015-01-16 | 2018-04-06 | 新华三技术有限公司 | 一种sdn网络中多播报文的传输方法和设备 |
EP3309999B1 (en) | 2015-07-20 | 2020-01-15 | Huawei Technologies Co., Ltd. | Timing processing method and apparatus for flow entry |
US10986039B2 (en) * | 2015-11-11 | 2021-04-20 | Gigamon Inc. | Traffic broker for routing data packets through sequences of in-line tools |
EP3408977B1 (en) * | 2016-01-27 | 2021-03-24 | Innovasic, Inc. | Ethernet frame injector |
TWI599204B (zh) * | 2016-01-28 | 2017-09-11 | 神雲科技股份有限公司 | 伺服器的封包過濾方法及基板管理控制器 |
KR102342734B1 (ko) * | 2017-04-04 | 2021-12-23 | 삼성전자주식회사 | Sdn 제어 장치 및 이의 데이터 패킷의 전송 룰 설정 방법 |
TWI639325B (zh) | 2017-09-01 | 2018-10-21 | 財團法人工業技術研究院 | 自動配置的交換機、自動配置交換機的方法、交換機自動部署的軟體定義網路系統及其方法 |
CN109672594B (zh) * | 2017-10-13 | 2021-12-03 | 中国电信股份有限公司 | IPoE报文处理方法、装置及宽带远程接入服务器 |
US11888899B2 (en) * | 2018-01-24 | 2024-01-30 | Nicira, Inc. | Flow-based forwarding element configuration |
CN110651450B (zh) * | 2018-04-27 | 2021-05-07 | 华为技术有限公司 | 一种网络及网络管理方法 |
WO2019226715A1 (en) * | 2018-05-21 | 2019-11-28 | Promptlink Communications, Inc. | Techniques for assessing a customer premises equipment device |
WO2020051862A1 (zh) * | 2018-09-14 | 2020-03-19 | 华为技术有限公司 | 一种避免广播风暴的方法和装置 |
CN110753006A (zh) * | 2019-09-17 | 2020-02-04 | 优刻得科技股份有限公司 | 一种数据处理方法、装置及电子设备 |
CN113687925B (zh) * | 2021-07-22 | 2023-09-29 | 成都鲁易科技有限公司 | 设备操作处理方法及装置、存储介质、计算机设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1996939A (zh) * | 2006-12-29 | 2007-07-11 | 华为技术有限公司 | 报文访问控制的方法、转发引擎和通信设备 |
CN101917298A (zh) * | 2010-09-02 | 2010-12-15 | 杭州华三通信技术有限公司 | 一种基于vlan的环路监测方法和设备 |
CN102215170A (zh) * | 2011-06-08 | 2011-10-12 | 中兴通讯股份有限公司 | 抑制网络风暴的方法及处理器 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040153520A1 (en) * | 2002-12-23 | 2004-08-05 | Johan Rune | Bridging between a bluetooth scatternet and an ethernet LAN |
US20050268331A1 (en) * | 2004-05-25 | 2005-12-01 | Franck Le | Extension to the firewall configuration protocols and features |
EP1847071A4 (en) * | 2005-01-26 | 2010-10-20 | Internet Broadcasting Corp B V | MULTI-DIFFUSION IN LAYERS AND EXACT ATTRIBUTION OF BANDWIDTH AND PRIORIZATION OF PACKETS |
US20080130503A1 (en) * | 2006-12-01 | 2008-06-05 | Gideon Kaempfer | Method and system for forwarding ethernet frames over redundant networks with all links enabled |
CN102196365A (zh) | 2011-04-25 | 2011-09-21 | 北京交通大学 | 一种抑制网络广播风暴的方法和装置 |
-
2012
- 2012-08-31 CN CN201210318795.1A patent/CN103685009B/zh active Active
-
2013
- 2013-02-04 WO PCT/CN2013/071327 patent/WO2014032413A1/zh active Application Filing
-
2015
- 2015-02-09 US US14/616,825 patent/US9571382B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1996939A (zh) * | 2006-12-29 | 2007-07-11 | 华为技术有限公司 | 报文访问控制的方法、转发引擎和通信设备 |
CN101917298A (zh) * | 2010-09-02 | 2010-12-15 | 杭州华三通信技术有限公司 | 一种基于vlan的环路监测方法和设备 |
CN102215170A (zh) * | 2011-06-08 | 2011-10-12 | 中兴通讯股份有限公司 | 抑制网络风暴的方法及处理器 |
Also Published As
Publication number | Publication date |
---|---|
US20150156107A1 (en) | 2015-06-04 |
CN103685009A (zh) | 2014-03-26 |
WO2014032413A1 (zh) | 2014-03-06 |
US9571382B2 (en) | 2017-02-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103685009B (zh) | 数据包的处理方法、控制器及系统 | |
US10305696B2 (en) | Group bundling priority dissemination through link-state routing protocol in a network environment | |
EP2904745B1 (en) | Method and apparatus for accelerating forwarding in software-defined networks | |
US9197568B2 (en) | Method for providing quality of service in software-defined networking based network and apparatus using the same | |
KR101317969B1 (ko) | 링크 애그리게이션 방법 및 노드 | |
US10924409B2 (en) | Method for implementing load balancing, apparatus, and network system | |
US10356037B2 (en) | Address resolution rewriting | |
EP2843906B1 (en) | Method, apparatus, and system for data transmission | |
US8879549B2 (en) | Clearing forwarding entries dynamically and ensuring consistency of tables across ethernet fabric switch | |
EP3082309A1 (en) | Sdn controller, data centre system and router connection method | |
CN102685006A (zh) | 一种转发数据报文的方法及装置 | |
EP3157214B1 (en) | Method, device and system for switching switch modes | |
WO2016107379A1 (zh) | 一种发送报文的方法和装置 | |
WO2013026384A1 (zh) | 业务数据传输的方法、网络节点及系统 | |
EP3313031B1 (en) | Sdn-based arp realization method and apparatus | |
CN101789949B (zh) | 一种实现负荷分担的方法和路由设备 | |
KR20220160639A (ko) | 메시지 인터랙션 방법, 장치, 설비 및 저장 매체 | |
JPWO2013141340A1 (ja) | 制御装置、通信装置、通信システム、通信方法及びプログラム | |
EP2728797A1 (en) | Message processing method, device and system | |
CN108882064B (zh) | 一种基于gpon系统的端口数据包发送方法及系统 | |
WO2015039616A1 (zh) | 一种报文处理方法及设备 | |
WO2014057977A1 (ja) | 通信ノード、通信システム、制御装置、パケット転送方法及びプログラム | |
US8467311B2 (en) | Method and system for avoiding flooding of packets in switches | |
US10541914B2 (en) | Data packet forwarding method and network device | |
WO2015032261A1 (zh) | 路由更新方法和路由设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |