WO2011081020A1 - ネットワークシステム、コントローラ、ネットワーク制御方法 - Google Patents

ネットワークシステム、コントローラ、ネットワーク制御方法 Download PDF

Info

Publication number
WO2011081020A1
WO2011081020A1 PCT/JP2010/072581 JP2010072581W WO2011081020A1 WO 2011081020 A1 WO2011081020 A1 WO 2011081020A1 JP 2010072581 W JP2010072581 W JP 2010072581W WO 2011081020 A1 WO2011081020 A1 WO 2011081020A1
Authority
WO
WIPO (PCT)
Prior art keywords
packet
switch
entry
information
network
Prior art date
Application number
PCT/JP2010/072581
Other languages
English (en)
French (fr)
Inventor
杉田 貴英
Original Assignee
日本電気株式会社
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 日本電気株式会社 filed Critical 日本電気株式会社
Priority to JP2011547496A priority Critical patent/JP5673557B2/ja
Publication of WO2011081020A1 publication Critical patent/WO2011081020A1/ja
Priority to US13/200,756 priority patent/US8611220B2/en

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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks

Definitions

  • the present invention relates to a network system and a control method thereof.
  • the present invention relates to a network system including an appliance having a packet discard function and a control method thereof.
  • An appliance is a network device that performs specific processing on network traffic.
  • a firewall is an appliance having a function of discarding specified packets.
  • the firewall refers to a preset rule (policy), and discards the received packet when the received packet matches a condition specified by the rule.
  • policy preset rule
  • Japanese Patent Application Laid-Open No. 2006-67078 discloses an IP router.
  • the IP router includes attack detection means, transfer means, and filter means.
  • the attack detection means detects an attack targeting a server on the Internet.
  • the transfer means transfers the attack detection information to a management apparatus that monitors the entire network and grasps the situation.
  • the filter means specifies and controls an attack flow corresponding to a specific bit pattern in accordance with an instruction from the management device.
  • Patent Document 2 Japanese Patent Laid-Open No. 2007-201966 discloses a management server.
  • the management server is connected to a plurality of packet relay apparatuses each having a plurality of ports.
  • the management server includes a topology information storage unit, a flow information reception unit, and a flow start point search unit.
  • the topology information storage unit stores connection relation information of a plurality of ports of a plurality of packet relay apparatuses.
  • the flow information receiving unit receives flow information specifying a traffic flow and input port information indicating an input port from a plurality of packet relay apparatuses.
  • the flow start point search unit searches the start point of the traffic flow based on the input port information, the flow information, and the connection relation information.
  • each time an appliance having a packet discard function receives a packet determines whether or not the received packet should be discarded. If the determination result is discard, the appliance discards the received packet. However, the continued supply of packet traffic to be discarded to the appliance results in wasted appliance resources and network bandwidth.
  • One object of the present invention is to prevent waste of appliance resources and network bandwidth in a network system including an appliance having a packet discard function.
  • a network system in one aspect of the present invention, includes appliances and switches arranged in the network, and a controller connected to the appliances and switches.
  • the switch includes a flow table. Each entry in the flow table indicates a match condition and an action to be performed on a packet that matches the match condition.
  • the switch sets an entry in the flow table in response to entry setting information sent from the controller.
  • the switch receives the received packet, the switch refers to the flow table, and performs the action specified by the entry matching the received packet on the received packet.
  • the appliance has a packet discard function, and when discarding a packet, the appliance sends packet discard information, which is information about the discarded packet, to the controller.
  • the controller performs switch control processing in response to the packet discard information.
  • the controller selects the target switch from the network, creates entry setting information for instructing creation of an entry that discards a packet belonging to the same flow as the discarded packet, and stores the created entry setting information. Send to target switch.
  • a controller connected to an appliance and a switch arranged in a network is provided.
  • the switch includes a flow table. Each entry in the flow table indicates a match condition and an action to be performed on a packet that matches the match condition.
  • the switch sets an entry in the flow table in response to entry setting information sent from the controller.
  • the switch receives the received packet, the switch refers to the flow table, and performs the action specified by the entry matching the received packet on the received packet.
  • the appliance has a packet discard function, and when discarding a packet, the appliance sends packet discard information, which is information about the discarded packet, to the controller.
  • the controller includes a storage device that stores packet discard information and a processing device that performs switch control processing in response to the packet discard information.
  • the processing device selects the target switch from the network, creates entry setting information for instructing creation of an entry that discards a packet belonging to the same flow as the discarded packet, and creates the created entry setting information. Is sent to the target switch.
  • a method for controlling a network in which appliances and switches are arranged includes a flow table. Each entry in the flow table indicates a match condition and an action to be performed on a packet that matches the match condition.
  • the switch sets an entry in the flow table in response to the entry setting information.
  • the switch receives the received packet, the switch refers to the flow table, and performs the action specified by the entry matching the received packet on the received packet.
  • the switch control processing includes (B1) selecting a target switch from the network, and (B2) creating entry setting information instructing creation of an entry that discards a packet belonging to the same flow as the discarded packet; (B3) transmitting the created entry setting information to the target switch.
  • a control program for causing a computer to execute control processing of a network in which appliances and switches are arranged.
  • the switch includes a flow table. Each entry in the flow table indicates a match condition and an action to be performed on a packet that matches the match condition.
  • the switch sets an entry in the flow table in response to the entry setting information.
  • the switch receives the received packet, the switch refers to the flow table, and performs the action specified by the entry matching the received packet on the received packet.
  • FIG. 1 is a block diagram schematically showing the configuration of a network system according to an embodiment of the present invention.
  • FIG. 2 shows an example of a flow table included in the switch according to the present embodiment.
  • FIG. 3 is a block diagram showing a configuration of the controller according to the present embodiment.
  • FIG. 4 shows an example of a network connection relationship in the present embodiment.
  • FIG. 5 shows an example of connection information in the present embodiment.
  • FIG. 6 is a flowchart showing processing according to the present embodiment.
  • FIG. 7 is a conceptual diagram showing processing according to the present embodiment.
  • FIG. 8 is a flowchart showing step S100 in the present embodiment.
  • FIG. 9 is a flowchart showing step S200 in the present embodiment.
  • FIG. 10 shows an example of conversion from packet discard information to entry setting information in the present embodiment.
  • FIG. 10 shows an example of conversion from packet discard information to entry setting information in the present embodiment.
  • FIG. 11 shows another example of conversion from packet discard information to entry setting information in the present embodiment.
  • FIG. 12 is a flowchart showing step S300 in the present embodiment.
  • FIG. 13 is a flowchart showing a modification of the processing according to the present embodiment.
  • FIG. 14 is a flowchart showing a modification of the processing according to the present embodiment.
  • FIG. 1 schematically shows a configuration of a network system 1 according to the present embodiment.
  • the network system 1 according to the present embodiment is applied to a data center, for example.
  • the network system 1 includes a server 10, an appliance 100, and a switch 300.
  • the appliance 100 and the switch 300 constitute an appliance-switch network.
  • Server 10 is connected to the appliance-switch network.
  • the appliance-switch network is further connected to an external network outside the network system 1.
  • the appliance (network appliance) 100 is a network device that executes specific processing on network traffic.
  • the appliance 100 has a “packet discard function”.
  • the appliance 100 refers to a preset rule (policy), and when the received packet matches the condition specified by the rule, the appliance 100 discards the received packet.
  • policy preset rule
  • Examples of the appliance 100 include a firewall, a web application firewall (WAF: Web Application Firewall), an intrusion prevention system (IPS), a mail security device, and the like.
  • the switch 300 performs switch processing such as packet transfer. More specifically, the switch 300 includes a flow table TBL as shown in FIG. Each entry of the flow table TBL indicates “match condition (flow identification information)” and “action”.
  • the “match condition” includes a combination of parameters such as an input port of a packet, a source MAC address, a destination MAC address, a source IP address, a destination IP address, a source port number, and a destination port number.
  • the flow is also defined by a combination of these parameters. That is, the “match condition” is also flow identification information that defines a flow.
  • “Action” indicates processing performed on a packet that matches the matching condition. Examples of “action” include packet output to a designated port, packet discard, and the like.
  • the switch 300 When receiving the packet, the switch 300 refers to the flow table TBL and searches for an entry that matches the received packet. Specifically, the switch 300 searches the flow table TBL by extracting the header information of the received packet and using the input port and header information of the received packet as a search key. An entry indicating a matching condition that matches the search key is a matching entry that matches the received packet. When the received packet matches the match condition of any entry, that is, when a match entry is found, the switch 300 performs an “action” specified by the match entry on the received packet.
  • the network system 1 further includes a controller 200 for controlling traffic on the network.
  • the controller 200 is connected to each appliance 100 and each switch 300 arranged in the network via a control line (indicated by a broken line in FIG. 1).
  • the controller 200 receives information from the appliance 100 and the switch 300 via the control line, and controls the appliance 100 and the switch 300 via the control line.
  • the controller 200 has a function of setting the contents of the flow table TBL of each switch 300 via the control line. Specifically, the controller 200 creates “entry setting information” instructing entry setting (addition, change, deletion, etc.), and sends the entry setting information to the target switch 300.
  • the target switch 300 that has received the entry setting information sets (adds, changes, deletes, etc.) the entry in its own flow table TBL in accordance with the entry setting information.
  • the controller 200 can control the operation of the switch 300 through the setting of the contents of the flow table TBL, thereby appropriately controlling the network traffic.
  • Openflow An example of an interface method between the controller 200 and the switch 300 for realizing such processing is Openflow (see http://www.openflowswitch.org/).
  • Openflow Controller is the controller 200
  • Openflow Switch is each switch 300.
  • Controller FIG. 3 is a block diagram showing a configuration of the controller 200 according to the present embodiment.
  • the controller 200 includes a processing device 201, a storage device 202, and a communication device 203.
  • the processing device 201 includes a CPU (Central Processing Unit).
  • the storage device 202 includes, for example, a RAM (Random Access Memory) and an HDD (Hard Disk Drive).
  • the communication device 203 includes, for example, a network card that performs communication with the outside.
  • the storage device 202 stores packet discard information DRP, entry setting information ENT, connection information CON, and the like.
  • Packet discard information DRP is information relating to packets discarded by the appliance 100 having a packet discard function. Details will be described later.
  • the entry setting information ENT is information for instructing the target switch 300 to set an entry (addition, change, deletion, etc.) as described above.
  • Connection information CON indicates the connection relation of the network. That is, the connection information CON indicates a connection relationship (topology) between components such as the server 10, the appliance 100, and the switch 300.
  • FIG. 4 shows an example of the network connection relationship
  • FIG. 5 shows an example of the connection information CON in the case of FIG.
  • the connection information CON indicates connection source identification information, each port of the connection source, identification information of a connection destination connected to the connection source port, and a port. Examples of connection source and connection destination identification information include a MAC address and an IP address.
  • the controller 200 can obtain the connection information CON by using, for example, LLDP (Link Layer Discovery Protocol) defined by IEEE 802.1AB.
  • LLDP Link Layer Discovery Protocol
  • the processing apparatus 201 performs “network control processing” according to the present embodiment. More specifically, as illustrated in FIG. 3, the processing device 201 includes an appliance communication unit 210, a switch selection unit 220, an information conversion unit 230, a network control unit 240, and a switch communication unit 250. These functional blocks are realized by the processing device 201 executing the control program PROG.
  • the control program PROG is a computer program executed by a computer (processing device 201) and is stored in the storage device 202.
  • the control program PROG may be stored in a computer readable recording medium.
  • FIGS. 6 and 7 are flowchart and a conceptual diagram showing processing according to the present embodiment. An overview of the processing according to the present embodiment will be described with reference to FIGS.
  • Step S100 As shown in FIG. 7, the transmission source 50 transmits a packet.
  • the packet reaches the appliance 100 through the switch 300.
  • the appliance 100 has a packet discard function, and discards a received packet in some cases.
  • the appliance 100 sends packet discard information DRP, which is information regarding the discarded packet, to the controller 200.
  • Step S200 The controller 200 performs “switch control processing” in response to the packet discard information DRP. Specifically, the controller 200 selects any one of the switches 300 on the path between the transmission source 50 and the appliance 100 as a “target switch”. Further, the controller 200 creates entry setting information ENT that instructs creation of an entry that drops a packet that belongs to the same flow as the discarded packet. That is, the controller 200 converts the packet discard information DRP into the corresponding entry setting information ENT. Then, the controller 200 transmits the entry setting information ENT to the target switch 300. That is, the controller 200 instructs the target switch 300 to discard a packet that belongs to the same flow as the discarded packet.
  • Step S300 The target switch 300 that has received the entry setting information ENT sets an entry in its own flow table TBL according to the entry setting information ENT. Specifically, the target switch 300 creates an entry that drops packets belonging to the same flow as the discarded packets in the appliance 100. As a result, subsequent packets belonging to the flow are discarded by the target switch 300.
  • FIG. 8 is a flowchart showing in more detail step S ⁇ b> 100 performed by the appliance 100.
  • Step S110 When the appliance 100 receives the packet, the appliance 100 refers to a preset rule (policy) and checks whether the received packet matches the condition specified by the rule. When the received packet matches the condition specified by the rule, the received packet is discarded.
  • policy a preset rule
  • Step S120 When the packet is discarded (step S110; Yes), the appliance 100 records information regarding the discarded packet in a log.
  • a log function can be realized by “syslog” which is generally adopted in many appliances.
  • Step S130 Furthermore, the appliance 100 transmits the log information recorded in step S120 to the controller 200 as packet discard information DRP. Such a transmission function can also be realized by “syslog”.
  • FIG. 9 is a flowchart showing in more detail step S200 performed by the controller 200 (see FIG. 3).
  • Step S210 The appliance communication unit 210 of the processing device 201 receives (acquires) the packet discard information DRP from the appliance 100 through the communication device 203.
  • the appliance communication unit 210 stores the packet discard information DRP in the storage device 202.
  • the processing device 201 performs the following “switch control processing (steps S220 to S240)”.
  • Step S220 The switch selection unit 220 of the processing device 201 selects the target switch 300 from the network. At this time, the switch selection unit 220 selects the switch 300 as close as possible to the discard packet transmission source 50 as the target switch 300. For this purpose, the switch selection unit 220 selects the target switch 300 by the following method.
  • the switch selection unit 220 reads the packet discard information DRP and connection information CON (see FIG. 5) from the storage device 202.
  • the packet discard information DRP includes information related to the source 50 of the discarded packet (hereinafter referred to as “source information”). Examples of the transmission source information include a transmission source IP address.
  • the switch selection unit 220 refers to the transmission source information and connection information CON (step S221). Thereby, the switch selection unit 220 checks whether or not the switch 300 connected to the transmission source 50 exists in the network (step S222).
  • the switch selection unit 220 selects the switch 300 as the target switch 300 (step S223).
  • the switch selection unit 220 selects the switch 300 connected to the external network as the target switch 300 (step S224).
  • the switch selection unit 220 can select the switch 300 closest to the transmission source 50 as the target switch 300.
  • the target switch As an example, consider a case where a client 20 (transmission source) in an external network transmits a packet to the server 10-1 in the network system 1 according to the present embodiment. It is assumed that the packet is transferred from the external network to the appliance 100-1 via the switches 300-4 and 300-1, and discarded in the appliance 100-1. If FIG. 5 is referred, the switch 300 connected to the client 20 which is a transmission source will not be found (step S222; No). Accordingly, the switch 300-4 connected to the external network is selected as the target switch (step S224). That is, the switch 300-4 closest to the transmission source in the network system 1 is selected as the target switch.
  • the server 10-3 transmission source in the network system 1 according to the present embodiment transmits a packet toward an external network. It is assumed that the packet is transferred from the server 10-3 to the appliance 100-1 via the switches 300-2 and 300-1, and discarded in the appliance 100-1. Here, it is assumed that the server 10-3 is infected with a virus and is sending attack traffic.
  • the switch 300-2 is connected to the server 10-3 that is the transmission source (step S222; Yes). Accordingly, the switch 300-2 is selected as the target switch (step S223). That is, the switch 300-2 closest to the transmission source in the network system 1 is selected as the target switch.
  • the switch selection unit 220 selects the switch 300 closest to the transmission source 50 as the target switch 300 regardless of whether the transmission source 50 is in the internal network or the external network. This means that unnecessary traffic is stopped as close as possible to the transmission source 50, which leads to efficient use of network bandwidth.
  • Step S230 The information conversion unit 230 of the processing device 201 reads the packet discard information DRP from the storage device 202. Then, the information conversion unit 230 creates entry setting information ENT based on the packet discard information DRP. The created entry setting information ENT instructs the target switch 300 to create an entry that discards a packet belonging to the same flow as the discarded packet in the appliance 100. That is, the information conversion unit 230 converts the packet discard information DRP into entry setting information ENT corresponding to the packet discard information DRP. The information conversion unit 230 stores the created entry setting information ENT in the storage device 202.
  • FIG. 10 shows an example of conversion from the packet discard information DRP to the entry setting information ENT.
  • the appliance 100 that discarded the packet is a firewall.
  • Source IP address (src IP: X.X.X.X)
  • destination IP address (dst IP: Y.Y.Y.Y)
  • source port number (src port: 1234) included in entry match conditions
  • the destination port number (dst port: 5678) are known from the packet discard information DRP.
  • the controller 200 knows that the switch 300 is installed on the IP network, the Ethernet type is set to 0x800 (IPv4). Since the source MAC address, the destination MAC address, and the VLAN ID are not described in the packet discard information DRP, they are set to “Any (*)”.
  • the input port (input switch port) is a port number of the target switch 300 connected to an external network or a transmission source, and is obtained in step S220.
  • the action is set to “drop” meaning packet discard.
  • FIG. 11 shows another example of conversion from the packet discard information DRP to the entry setting information ENT.
  • the appliance 100 that has discarded the packet is an intrusion prevention system (IPS) that inspects a multi-layer including the application layer.
  • IPS intrusion prevention system
  • Step S240 The network control unit 240 reads the entry setting information ENT created in step S230 from the storage device 202. Then, the network control unit 240 passes the entry setting information ENT to the switch communication unit 250, and instructs the switch communication unit 250 to transmit the entry setting information ENT to the target switch 300 selected in step S220. The switch communication unit 250 transmits the entry setting information ENT to the target switch 300 through the communication device 203.
  • FIG. 12 is a flowchart showing in more detail step S300 performed by the target switch 300.
  • Step S310 The target switch 300 receives entry setting information ENT from the controller 200.
  • Step S320 The target switch 300 sets an entry in its own flow table TBL according to the entry setting information ENT. Specifically, the target switch 300 creates an entry that discards a packet belonging to the same flow as the discarded packet in the appliance 100 (see FIGS. 10 and 11).
  • FIGS. 13 and 14 show a modification of the processing according to the present embodiment.
  • the following processing is further executed after the above-described switch control processing (steps S220 to S240).
  • step S300 When the entry setting in the target switch 300 (step S300) is successful (step S250; Yes), the network control unit 240 of the processing device 201 performs step S260.
  • step S260 the network control unit 240 instructs the appliance 100 that has discarded the packet to invalidate the rule relating to the flow to which the discarded packet belongs. This rule invalidation instruction is sent to the appliance 100 via the appliance communication unit 210 and the communication device 203.
  • the appliance 100 receives a rule invalidation instruction from the controller 200 (step S410; Yes).
  • appliance 100 invalidates the rule (step S420).
  • invalidating the corresponding rule means that the corresponding rule is removed from the target to be referred (searched) during the appliance process. Thereby, the load when the appliance 100 performs appliance processing thereafter is reduced.
  • the switch 300 closest to the transmission source 50 is selected as the target switch 300 regardless of whether the transmission source 50 of the discarded packet is in the internal network or the external network.
  • unnecessary traffic can be stopped as close as possible to the transmission source 50.
  • the network bandwidth can be used more efficiently.
  • Patent Document 1 and Patent Document 2 only attack traffic from the outside is assumed. In that case, if a device such as IPS such as IPS is provided in one place, unnecessary traffic can be eliminated. However, in a cloud environment, it is necessary to consider attacks from internal machines. Considering efficient use of the data center network, it is desirable to eliminate unnecessary traffic near the transmission source. However, it is not easy to know at the switch level where the host is connected. In the present embodiment, as described above, regardless of whether the transmission source is an internal network or an external network, unnecessary traffic can be eliminated at a position closest to the transmission source.
  • the present embodiment performs a multi-layer inspection including not only the appliance 100 that inspects L4 such as a firewall but also L7 such as an intrusion prevention system.
  • the appliance 100 can also be supported. Even if the appliance 100 only inspects L4 or less, it may be an attack by inspecting up to the application layer up to L7. For this reason, it is important to perform inspection in a multilayer including not only L4 but also up to L7.
  • the appliance 100 creates packet discard information DRP when packet discard is performed, and transmits the packet discard information DRP to the controller 200.
  • Such processing can be realized by “syslog” generally adopted in many appliances. That is, it is not necessary to modify the existing appliance in order to realize the processing according to the present embodiment. It is also possible to support multi-vendors.

Abstract

 パケット廃棄機能を有するアプライアンスは、パケットを廃棄した場合、廃棄パケットに関する情報であるパケット廃棄情報をコントローラへ送る。コントローラは、パケット廃棄情報に応答してスイッチ制御処理を行う。スイッチ制御処理において、コントローラは、ネットワークの中から対象スイッチを選択し、廃棄パケットと同じフローに属するパケットを廃棄するようなエントリの作成を指示するエントリ設定情報を作成し、作成したエントリ設定情報を対象スイッチに送信する。対象スイッチは、コントローラから送られるエントリ設定情報に応答して、自身のフローテーブル内のエントリを設定する。

Description

ネットワークシステム、コントローラ、ネットワーク制御方法
 本発明は、ネットワークシステムとその制御方法に関する。特に、本発明は、パケット廃棄機能を有するアプライアンスを備えるネットワークシステムとその制御方法に関する。
 アプライアンス(ネットワークアプライアンス)は、ネットワークトラヒックに対して特定の処理を実行するネットワーク装置である。例えば、ファイアウォールは、指定されたパケットを廃棄する機能を有するアプライアンスである。具体的には、ファイアウォールは、予め設定されているルール(ポリシ)を参照し、受信パケットが当該ルールで指定された条件にマッチした場合、その受信パケットを廃棄する。これにより、サーバへの不正アクセスや攻撃を防止することができる。
 インターネット上のサーバに対する攻撃への対策に関連する技術として、次のものが知られている。
 特許文献1(特開2006-67078号公報)には、IPルータが開示されている。そのIPルータは、攻撃検知手段と、転送手段と、フィルタ手段とを備える。攻撃検知手段は、インターネット上のサーバを標的にした攻撃を検知する。攻撃が検知されると、転送手段は、攻撃検知情報を、ネットワーク全体の監視および状況把握を行う管理装置へ転送する。フィルタ手段は、管理装置からの指示に従って、特定のビットパターンと一致する攻撃フローに対して、該攻撃フローの特定および制御を行う。
 特許文献2(特開2007-201966号公報)には、管理サーバが開示されている。管理サーバは、それぞれ複数のポートを有する複数のパケット中継装置と接続されている。この管理サーバは、トポロジ情報記憶部と、フロー情報受信部と、フロー起点検索部とを有する。トポロジ情報記憶部は、複数のパケット中継装置の複数のポートの接続関係情報を記憶する。フロー情報受信部は、複数のパケット中継装置からトラフィックフローを特定するフロー情報と入力ポートを示す入力ポート情報とを受信する。フロー起点検索部は、入力ポート情報、フロー情報及び接続関係情報に基づいて、トラフィックフローの起点を検索する。
特開2006-67078号公報 特開2007-201966号公報
 上述の通り、パケット廃棄機能を有するアプライアンスは、パケットを受信する毎に、当該受信パケットを廃棄すべきか否かを判定する。そして、判定結果が廃棄の場合、アプライアンスは、当該受信パケットを廃棄する。しかしながら、廃棄されるべきパケットのトラフィックが当該アプライアンスに供給され続けることは、アプライアンス資源及びネットワーク帯域幅の浪費を招く。
 本発明の1つの目的は、パケット廃棄機能を有するアプライアンスを備えるネットワークシステムにおいて、アプライアンス資源及びネットワーク帯域幅の浪費を防ぐことにある。
 本発明の1つの観点において、ネットワークシステムが提供される。そのネットワークシステムは、ネットワーク中に配置されたアプライアンス及びスイッチと、それらアプライアンス及びスイッチに接続されたコントローラと、を備える。スイッチは、フローテーブルを備える。フローテーブルの各エントリは、マッチ条件と、マッチ条件にマッチするパケットに対して行われるアクションを示す。スイッチは、コントローラから送られるエントリ設定情報に応答して、フローテーブル内のエントリを設定する。スイッチは、受信パケットを受信するとフローテーブルを参照し、その受信パケットにマッチするエントリで指定されるアクションを受信パケットに対して実施する。アプライアンスは、パケット廃棄機能を有し、パケットを廃棄した場合、廃棄されたパケットに関する情報であるパケット廃棄情報をコントローラへ送る。コントローラは、パケット廃棄情報に応答してスイッチ制御処理を行う。スイッチ制御処理において、コントローラは、ネットワークの中から対象スイッチを選択し、廃棄パケットと同じフローに属するパケットを廃棄するようなエントリの作成を指示するエントリ設定情報を作成し、作成したエントリ設定情報を対象スイッチに送信する。
 本発明の他の観点において、ネットワーク中に配置されたアプライアンス及びスイッチに接続されるコントローラが提供される。スイッチは、フローテーブルを備える。フローテーブルの各エントリは、マッチ条件と、マッチ条件にマッチするパケットに対して行われるアクションを示す。スイッチは、コントローラから送られるエントリ設定情報に応答して、フローテーブル内のエントリを設定する。スイッチは、受信パケットを受信するとフローテーブルを参照し、その受信パケットにマッチするエントリで指定されるアクションを受信パケットに対して実施する。アプライアンスは、パケット廃棄機能を有し、パケットを廃棄した場合、廃棄されたパケットに関する情報であるパケット廃棄情報をコントローラへ送る。コントローラは、パケット廃棄情報が格納される記憶装置と、パケット廃棄情報に応答してスイッチ制御処理を行う処理装置と、を備える。スイッチ制御処理において、処理装置は、ネットワークの中から対象スイッチを選択し、廃棄パケットと同じフローに属するパケットを廃棄するようなエントリの作成を指示するエントリ設定情報を作成し、作成したエントリ設定情報を対象スイッチに送信する。
 本発明の更に他の観点において、アプライアンス及びスイッチが配置されたネットワークの制御方法が提供される。スイッチは、フローテーブルを備える。フローテーブルの各エントリは、マッチ条件と、マッチ条件にマッチするパケットに対して行われるアクションを示す。スイッチは、エントリ設定情報に応答して、フローテーブル内のエントリを設定する。スイッチは、受信パケットを受信するとフローテーブルを参照し、その受信パケットにマッチするエントリで指定されるアクションを受信パケットに対して実施する。本発明に係る制御方法は、(A)アプライアンスにおいてパケットが廃棄された場合、廃棄されたパケットに関する情報であるパケット廃棄情報を取得することと、(B)パケット廃棄情報に応答してスイッチ制御処理を行うことと、を含む。スイッチ制御処理は、(B1)ネットワークの中から対象スイッチを選択することと、(B2)廃棄パケットと同じフローに属するパケットを廃棄するようなエントリの作成を指示するエントリ設定情報を作成することと、(B3)作成したエントリ設定情報を対象スイッチに送信することと、を含む。
 本発明の更に他の観点において、アプライアンス及びスイッチが配置されたネットワークの制御処理をコンピュータに実行させる制御プログラムが提供される。スイッチは、フローテーブルを備える。フローテーブルの各エントリは、マッチ条件と、マッチ条件にマッチするパケットに対して行われるアクションを示す。スイッチは、エントリ設定情報に応答して、フローテーブル内のエントリを設定する。スイッチは、受信パケットを受信するとフローテーブルを参照し、その受信パケットにマッチするエントリで指定されるアクションを受信パケットに対して実施する。本発明に係る制御処理は、(A)アプライアンスにおいてパケットが廃棄された場合、廃棄されたパケットに関する情報であるパケット廃棄情報を取得することと、(B)パケット廃棄情報に応答してスイッチ制御処理を行うことと、を含む。スイッチ制御処理は、(B1)ネットワークの中から対象スイッチを選択することと、(B2)廃棄されたパケットと同じフローに属するパケットを廃棄するようなエントリの作成を指示するエントリ設定情報を作成することと、(B3)作成したエントリ設定情報を対象スイッチに送信することと、を含む。
 本発明によれば、パケット廃棄機能を有するアプライアンスを備えるネットワークシステムにおいて、アプライアンス資源及びネットワーク帯域幅の浪費を防ぐことが可能となる。
 上記及び他の目的、長所、特徴は、次の図面と共に説明される本発明の実施の形態により明らかになるであろう。
図1は、本発明の実施の形態に係るネットワークシステムの構成を概略的に示すブロック図である。 図2は、本実施の形態に係るスイッチが有するフローテーブルの一例を示している。 図3は、本実施の形態に係るコントローラの構成を示すブロック図である。 図4は、本実施の形態におけるネットワーク接続関係の一例を示している。 図5は、本実施の形態における接続情報の一例を示している。 図6は、本実施の形態に係る処理を示すフローチャートである。 図7は、本実施の形態に係る処理を示す概念図である。 図8は、本実施の形態におけるステップS100を示すフローチャートである。 図9は、本実施の形態におけるステップS200を示すフローチャートである。 図10は、本実施の形態におけるパケット廃棄情報からエントリ設定情報への変換の一例を示している。 図11は、本実施の形態におけるパケット廃棄情報からエントリ設定情報への変換の他の例を示している。 図12は、本実施の形態におけるステップS300を示すフローチャートである。 図13は、本実施の形態に係る処理の変形例を示すフローチャートである。 図14は、本実施の形態に係る処理の変形例を示すフローチャートである。
 添付図面を参照して、本発明の実施の形態を説明する。
 1.ネットワークシステム
 図1は、本実施の形態に係るネットワークシステム1の構成を概略的に示している。本実施の形態に係るネットワークシステム1は、例えば、データセンターに適用される。
 ネットワークシステム1は、サーバ10、アプライアンス100及びスイッチ300を備えている。アプライアンス100及びスイッチ300は、アプライアンス-スイッチネットワークを構成している。サーバ10は、そのアプライアンス-スイッチネットワークに接続されている。アプライアンス-スイッチネットワークは更に、ネットワークシステム1の外部の外部ネットワークに接続されている。
 アプライアンス(ネットワークアプライアンス)100は、ネットワークトラフィックに対して特定の処理を実行するネットワーク装置である。本実施の形態において、アプライアンス100は「パケット廃棄機能」を有する。具体的には、アプライアンス100は、予め設定されているルール(ポリシ)を参照し、受信パケットが当該ルールで指定された条件にマッチした場合、その受信パケットを廃棄する。アプライアンス100としては、ファイアウォール、Webアプリケーションファイアウォール(WAF:Web Application Firewall)、侵入防止システム(IPS:Intrusion Prevention System)、メールセキュリティ装置等が例示される。
 スイッチ300は、パケット転送等のスイッチ処理を行う。より詳細には、スイッチ300は、図2に示されるようなフローテーブルTBLを備えている。フローテーブルTBLの各エントリは、「マッチ条件(フロー識別情報)」と「アクション」を示している。「マッチ条件」は、パケットの入力ポート、送信元MACアドレス、宛先MACアドレス、送信元IPアドレス、宛先IPアドレス、送信元ポート番号、宛先ポート番号などのパラメータの組み合わせで構成される。尚、フローもそれらパラメータの組み合わせで定義される。つまり、「マッチ条件」は、フローを規定するフロー識別情報でもある。「アクション」は、マッチ条件にマッチするパケットに対して行われる処理を示す。「アクション」としては、指定ポートへのパケット出力、パケット廃棄等が挙げられる。
 スイッチ300は、パケットを受信すると、フローテーブルTBLを参照し、当該受信パケットにマッチするエントリを検索する。具体的には、スイッチ300は、受信パケットのヘッダ情報を抽出し、受信パケットの入力ポート及びヘッダ情報を検索キーとして用いることにより、フローテーブルTBLの検索を行う。その検索キーと一致するマッチ条件を示すエントリが、受信パケットにマッチするマッチエントリである。受信パケットがいずれかのエントリのマッチ条件にマッチした場合、すなわち、マッチエントリが見つかった場合、スイッチ300は、そのマッチエントリで指定される「アクション」を受信パケットに対して実施する。
 ネットワークシステム1は、更に、ネットワークにおけるトラフィックを制御するためのコントローラ200を備えている。コントローラ200は、ネットワーク中に配置されている各アプライアンス100及び各スイッチ300に対して、制御回線(図1中、破線で示されている)を介して接続されている。コントローラ200は、制御回線を介してアプライアンス100やスイッチ300から情報を受け取り、また、制御回線を介してアプライアンス100やスイッチ300を制御する。
 例えば、コントローラ200は、制御回線を介して、各スイッチ300のフローテーブルTBLの内容を設定する機能を有する。具体的には、コントローラ200は、エントリの設定(追加、変更、削除等)を指示する「エントリ設定情報」を作成し、そのエントリ設定情報を対象スイッチ300に送る。エントリ設定情報を受け取った対象スイッチ300は、そのエントリ設定情報に従って、自身のフローテーブルTBL内のエントリの設定(追加、変更、削除等)を行う。このように、コントローラ200は、フローテーブルTBLの内容の設定を通してスイッチ300の動作を制御し、それにより、ネットワークトラフィックを適宜制御することができる。
 このような処理を実現するためのコントローラ200とスイッチ300との間のインタフェース方式としては、例えば、Openflow(http://www.openflowswitch.org/を参照)が挙げられる。この場合、「Openflow Controller」がコントローラ200となり、「Openflow Switch」が各スイッチ300となる。
 2.コントローラ
 図3は、本実施の形態に係るコントローラ200の構成を示すブロック図である。コントローラ200は、処理装置201、記憶装置202、及び通信装置203を備えている。処理装置201は、CPU(Central Processing Unit)を含む。記憶装置202は、例えば、RAM(Random Access Memory)やHDD(Hard Disk Drive)を含む。通信装置203は、例えば、外部との通信を行うネットワークカードを含む。
 記憶装置202には、パケット廃棄情報DRP、エントリ設定情報ENT、接続情報CON等が格納される。
 パケット廃棄情報DRPは、パケット廃棄機能を有するアプライアンス100によって廃棄されたパケットに関する情報である。詳細は後述される。
 エントリ設定情報ENTは、上述の通り、対象スイッチ300に対してエントリの設定(追加、変更、削除等)を指示する情報である。
 接続情報CONは、ネットワークの接続関係を示す。つまり、接続情報CONは、サーバ10、アプライアンス100、スイッチ300といった構成要素間の接続関係(トポロジ)を示す。図4は、ネットワーク接続関係の一例を示しており、図5は、図4の場合の接続情報CONの一例を示している。図5の例において、接続情報CONは、接続元の識別情報、その接続元の各ポート、その接続元ポートに接続されている接続先の識別情報及びポートを示している。接続元や接続先の識別情報としては、MACアドレスやIPアドレスが挙げられる。尚、コントローラ200は、例えば、IEEE802.1ABで規定されているLLDP(Link Layer Discovery Protocol)を利用することによって、接続情報CONを取得することができる。
 処理装置201は、本実施の形態に係る「ネットワーク制御処理」を行う。より詳細には、図3に示されるように、処理装置201は、アプライアンス通信部210、スイッチ選択部220、情報変換部230、ネットワーク制御部240、及びスイッチ通信部250を備えている。これら機能ブロックは、処理装置201が制御プログラムPROGを実行することにより実現される。制御プログラムPROGは、コンピュータ(処理装置201)によって実行されるコンピュータプログラムであり、記憶装置202に格納される。制御プログラムPROGは、コンピュータ読み取り可能な記録媒体に格納されていてもよい。
 3.処理フロー
 3-1.概要
 図6及び図7のそれぞれは、本実施の形態に係る処理を示すフローチャート及び概念図である。図6及び図7を参照して、本実施の形態に係る処理の概要を説明する。
 ステップS100:
 図7に示されるように、送信元50がパケットを送信する。そのパケットは、スイッチ300を通してアプライアンス100に到達する。アプライアンス100は、パケット廃棄機能を有しており、場合によっては受信パケットを廃棄する。パケットを廃棄した場合、アプライアンス100は、当該廃棄パケットに関する情報であるパケット廃棄情報DRPを、コントローラ200に送る。
 ステップS200:
 コントローラ200は、パケット廃棄情報DRPに応答して「スイッチ制御処理」を行う。具体的には、コントローラ200は、送信元50とアプライアンス100との間の経路上のいずれかスイッチ300を、「対象スイッチ」として選択する。また、コントローラ200は、廃棄パケットと同じフローに属するパケットを廃棄(drop)するようなエントリの作成を指示するエントリ設定情報ENTを作成する。つまり、コントローラ200は、パケット廃棄情報DRPを、それに対応するエントリ設定情報ENTに変換する。そして、コントローラ200は、そのエントリ設定情報ENTを対象スイッチ300に送信する。すなわち、コントローラ200は、対象スイッチ300に対して、廃棄パケットと同じフローに属するパケットを廃棄するよう指示する。
 ステップS300:
 エントリ設定情報ENTを受け取った対象スイッチ300は、そのエントリ設定情報ENTに従って、自身のフローテーブルTBL内にエントリを設定する。具体的には、対象スイッチ300は、アプライアンス100における廃棄パケットと同じフローに属するパケットを廃棄(drop)するようなエントリを作成する。その結果、当該フローに属する後続パケットは、対象スイッチ300によって廃棄されることになる。
 このように、本実施の形態によれば、アプライアンス100によってあるフローに属するパケットが廃棄された場合、同一フローに属する後続パケットは、アプライアンス100に転送されることなく、対象スイッチ300によって廃棄されることになる。その結果、廃棄されるべきフローのトラフィックがアプライアンス100に供給され続けることがなくなる。従って、アプライアンス資源及びネットワーク帯域幅の浪費が防止される。アプライアンス資源及びネットワーク帯域幅を効率的に使用することが可能となる。
 3-2.詳細なフロー
 図8は、アプライアンス100により行われるステップS100をより詳しく示すフローチャートである。
 ステップS110:
 アプライアンス100は、パケットを受け取ると、予め設定されているルール(ポリシ)を参照し、受信パケットが当該ルールで指定された条件にマッチするか否かを調べる。受信パケットが当該ルールで指定された条件にマッチした場合、その受信パケットを廃棄する。
 ステップS120:
 パケットを廃棄した場合(ステップS110;Yes)、アプライアンス100は、その廃棄パケットに関する情報をログに記録する。尚、このようなログ機能は、多くのアプライアンスにおいて一般に採用されている“syslog”により実現可能である。
 ステップS130:
 更に、アプライアンス100は、上記ステップS120において記録されたログ情報をパケット廃棄情報DRPとして、コントローラ200に送信する。尚、このような送信機能も“syslog”により実現可能である。
 図9は、コントローラ200(図3参照)により行われるステップS200をより詳しく示すフローチャートである。
 ステップS210:
 処理装置201のアプライアンス通信部210は、通信装置203を通して、アプライアンス100からパケット廃棄情報DRPを受信(取得)する。アプライアンス通信部210は、パケット廃棄情報DRPを記憶装置202に格納する。このパケット廃棄情報DRPに応答して、処理装置201は、次のような「スイッチ制御処理(ステップS220~S240)」を行う。
 ステップS220:
 処理装置201のスイッチ選択部220は、ネットワークの中から対象スイッチ300を選択する。このとき、スイッチ選択部220は、廃棄パケットの送信元50になるべく近いスイッチ300を対象スイッチ300として選択する。そのために、スイッチ選択部220は、次のような方法で対象スイッチ300を選択する。
 まず、スイッチ選択部220は、パケット廃棄情報DRP及び接続情報CON(図5参照)を記憶装置202から読み出す。パケット廃棄情報DRPは、廃棄パケットの送信元50に関する情報(以下、「送信元情報」と参照される)を含んでいる。送信元情報としては、送信元IPアドレス等が挙げられる。スイッチ選択部220は、その送信元情報と接続情報CONを参照する(ステップS221)。それにより、スイッチ選択部220は、送信元50に接続されているスイッチ300がネットワーク中に存在するか否かを調べる(ステップS222)。
 送信元50に接続されたスイッチ300がネットワーク中に存在している場合(ステップS222;Yes)、スイッチ選択部220は、当該スイッチ300を対象スイッチ300として選択する(ステップS223)。一方、送信元50に接続されたスイッチ300がネットワーク中に無い場合(ステップS222;No)、それは、送信元50が外部ネットワークに存在することを意味する。従って、スイッチ選択部220は、外部ネットワークに接続されているスイッチ300を対象スイッチ300として選択する(ステップS224)。このような方法によって、スイッチ選択部220は、送信元50に最も近いスイッチ300を対象スイッチ300として選択することができる。
 図4を参照して、対象スイッチの選択例を説明する。一例として、外部ネットワークのクライアント20(送信元)が、本実施の形態に係るネットワークシステム1中のサーバ10-1宛にパケットを送信する場合を考える。そのパケットは、外部ネットワークからスイッチ300-4及び300-1を経由してアプライアンス100-1に転送され、アプライアンス100-1において破棄されたとする。図5を参照すると、送信元であるクライアント20に接続されているスイッチ300は見当たらない(ステップS222;No)。従って、外部ネットワークに接続されているスイッチ300-4が対象スイッチとして選択される(ステップS224)。すなわち、ネットワークシステム1中で送信元に最も近いスイッチ300-4が対象スイッチとして選択される。
 別の例として、本実施の形態に係るネットワークシステム1中のサーバ10-3(送信元)が、外部ネットワークに向けてパケットを送信する場合を考える。そのパケットは、サーバ10-3からスイッチ300-2及び300-1を経由してアプライアンス100-1に転送され、そのアプライアンス100-1において破棄されたとする。ここでは、サーバ10-3がウイルスに感染し、攻撃トラヒックを送信している場合を想定している。図5を参照すると、送信元であるサーバ10-3にはスイッチ300-2が接続されていることが分かる(ステップS222;Yes)。従って、当該スイッチ300-2が対象スイッチとして選択される(ステップS223)。すなわち、ネットワークシステム1中で送信元に最も近いスイッチ300-2が対象スイッチとして選択される。
 このように、スイッチ選択部220は、送信元50が内部ネットワークにあろうが外部ネットワークにあろうが、その送信元50に最も近いスイッチ300を対象スイッチ300として選択する。これは、送信元50になるべく近い位置で不要なトラフィックを止めることを意味し、ネットワーク帯域幅の効率的な利用につながる。
 ステップS230:
 処理装置201の情報変換部230は、パケット廃棄情報DRPを記憶装置202から読み出す。そして、情報変換部230は、そのパケット廃棄情報DRPに基づいて、エントリ設定情報ENTを作成する。作成されるエントリ設定情報ENTは、アプライアンス100における廃棄パケットと同じフローに属するパケットを廃棄するようなエントリの作成を、対象スイッチ300に対して指示する。つまり、情報変換部230は、パケット廃棄情報DRPを、それに応じたエントリ設定情報ENTに変換する。情報変換部230は、作成したエントリ設定情報ENTを記憶装置202に格納する。
 図10は、パケット廃棄情報DRPからエントリ設定情報ENTへの変換の一例を示している。ここでは、パケットを廃棄したアプライアンス100は、ファイアウォールである。エントリのマッチ条件に含まれる送信元IPアドレス(src IP:X.X.X.X)、宛先IPアドレス(dst IP:Y.Y.Y.Y)、送信元ポート番号(src port:1234)、及び宛先ポート番号(dst port:5678)は、パケット廃棄情報DRPから分かる。また、コントローラ200は、スイッチ300がIPネットワーク上に設置されていることを知っているので、Ethernet typeを0x800(IPv4)に設定している。送信元MACアドレス、宛先MACアドレス、VLAN IDに関しては、パケット廃棄情報DRPに記載がないため、“Any(*)”に設定されている。入力ポート(input switch port)は、外部ネットワークあるいは送信元に接続されている上記対象スイッチ300のポート番号であり、上記ステップS220において得られている。アクション(action)は、パケット廃棄を意味する「drop」に設定される。
 図11は、パケット廃棄情報DRPからエントリ設定情報ENTへの変換の他の例を示している。ここでは、パケットを廃棄したアプライアンス100は、アプリケーションレイヤまでを含むマルチレイヤを検査する侵入防止システム(IPS)である。図10の場合と同様に変換処理が可能であることが分かる。本実施の形態は、ファイアウォールのようなL4を検査するアプライアンス100のみならず、侵入防止システムのようなL7までを含むマルチレイヤの検査を行うアプライアンス100にも対応することができることに留意されたい。
 ステップS240:
 ネットワーク制御部240は、ステップS230で作成されたエントリ設定情報ENTを記憶装置202から読み出す。そして、ネットワーク制御部240は、エントリ設定情報ENTをスイッチ通信部250に渡し、そのエントリ設定情報ENTをステップS220で選択された対象スイッチ300へ送信するよう指示する。スイッチ通信部250は、通信装置203を通して、エントリ設定情報ENTを対象スイッチ300に送信する。
 図12は、対象スイッチ300により行われるステップS300をより詳しく示すフローチャートである。
 ステップS310:
 対象スイッチ300は、コントローラ200からエントリ設定情報ENTを受け取る。
 ステップS320:
 対象スイッチ300は、そのエントリ設定情報ENTに従って、自身のフローテーブルTBL内にエントリを設定する。具体的には、対象スイッチ300は、アプライアンス100における廃棄パケットと同じフローに属するパケットを廃棄するようなエントリを作成する(図10、図11参照)。
 その後、当該フローに属する後続パケットは、アプライアンス100に転送されることなく、対象スイッチ300によって廃棄されることになる。
 3-3.変形例
 図13及び図14は、本実施の形態に係る処理の変形例を示している。変形例では、上述のスイッチ制御処理(ステップS220~S240)の後、更に次のような処理が実行される。
 対象スイッチ300におけるエントリ設定(ステップS300)が成功した場合(ステップS250;Yes)、処理装置201のネットワーク制御部240は、ステップS260を実施する。ステップS260において、ネットワーク制御部240は、パケットを廃棄したアプライアンス100に対して、当該廃棄パケットが属するフローに関するルールの無効化を指示する。このルール無効化指示は、アプライアンス通信部210及び通信装置203を介して、当該アプライアンス100に送られる。
 アプライアンス100は、コントローラ200からルール無効化指示を受け取る(ステップS410;Yes)。そのルール無効化指示に従って、アプライアンス100は、該当ルールを無効化にする(ステップS420)。ここで、該当ルールを無効にするとは、アプライアンス処理時に参照(検索)される対象から該当ルールを外すという意味である。これにより、その後、アプライアンス100がアプライアンス処理を行う際の負荷が軽減される。
 4.効果
 以上に説明されたように、本実施の形態によれば、アプライアンス100によってあるフローに属するパケットが廃棄された場合、同一フローに属する後続パケットは、アプライアンス100に転送されることなく、対象スイッチ300によって廃棄されることになる。その結果、廃棄されるべきフローのトラフィックがアプライアンス100に供給され続けることがなくなる。従って、アプライアンス資源及びネットワーク帯域幅の浪費が防止される。アプライアンス資源及びネットワーク帯域幅を効率的に使用することが可能となる。
 また、本実施の形態によれば、廃棄パケットの送信元50が内部ネットワークにあろうが外部ネットワークにあろうが、その送信元50に最も近いスイッチ300が対象スイッチ300として選択される。これにより、その送信元50になるべく近い位置で不要なトラフィックを止めることが可能となる。その結果、ネットワーク帯域幅を更に効率的に使用することが可能となる。
 上述の特許文献1、特許文献2では、外部からの攻撃トラヒックのみを想定している。その場合、1箇所にIPSなどMitigator等の装置を配備すれば不要トラヒックの排除はできた。しかし、クラウド環境になると、内部マシンからの攻撃も考慮する必要がある。データセンター内ネットワークの効率利用を考えると、不要なトラヒックは送信元に近いところで排除することが望ましい。しかし、どこにホストが接続されているかをスイッチレベルで容易に把握することはできない。本実施の形態では、上述の通り、送信元が内部ネットワークにあろうが外部ネットワークにあろうが、その送信元に最も近い位置で不要なトラフィックを排除することができる。
 更に、図10及び図11で示されたように、本実施の形態は、ファイアウォールのようなL4を検査するアプライアンス100のみならず、侵入防止システムのようなL7までを含むマルチレイヤの検査を行うアプライアンス100にも対応することができる。アプライアンス100がL4以下の検査をしただけでは攻撃ではなくとも、L7までのアプリケーションレイヤまで検査して攻撃とわかる場合がある。そのため、L4に限定せず、L7までを含むマルチレイヤでの検査をすることは重要である。
 また、本実施の形態において、アプライアンス100は、パケット廃棄を行った場合にパケット廃棄情報DRPを作成し、そのパケット廃棄情報DRPをコントローラ200に送信している。このような処理は、多くのアプライアンスにおいて一般に採用されている“syslog”により実現可能である。すなわち、本実施の形態に係る処理を実現するために、既存のアプライアンスを改造する必要はない。マルチベンダに対応することも可能である。
 以上、本発明の実施の形態が添付の図面を参照することにより説明された。但し、本発明は、上述の実施の形態に限定されず、要旨を逸脱しない範囲で当業者により適宜変更され得る。
 本出願は、2010年1月4日に出願された日本国特許出願2010-000252を基礎とする優先権を主張し、その開示の全てをここに取り込む。

Claims (8)

  1.  ネットワーク中に配置されたアプライアンス及びスイッチと、
     前記アプライアンス及び前記スイッチに接続されたコントローラと
     を備え、
     前記スイッチは、フローテーブルを備え、
     前記フローテーブルの各エントリは、マッチ条件と、前記マッチ条件にマッチするパケットに対して行われるアクションを示し、
     前記スイッチは、前記コントローラから送られるエントリ設定情報に応答して、前記フローテーブル内のエントリを設定し、
     前記スイッチは、受信パケットを受信すると前記フローテーブルを参照し、前記受信パケットにマッチするエントリで指定される前記アクションを前記受信パケットに対して実施し、
     前記アプライアンスは、パケット廃棄機能を有し、パケットを廃棄した場合、前記廃棄されたパケットに関する情報であるパケット廃棄情報を前記コントローラへ送り、
     前記コントローラは、前記パケット廃棄情報に応答してスイッチ制御処理を行い、
     前記スイッチ制御処理において、前記コントローラは、前記ネットワークの中から対象スイッチを選択し、前記廃棄されたパケットと同じフローに属するパケットを廃棄するようなエントリの作成を指示する前記エントリ設定情報を作成し、前記作成したエントリ設定情報を前記対象スイッチに送信する
     ネットワークシステム。
  2.  請求項1に記載のネットワークシステムであって、
     前記コントローラは、前記ネットワークの接続関係を示す接続情報が格納される記憶装置を備え、
     前記パケット廃棄情報は、前記廃棄されたパケットの送信元に関する情報を含み、
     前記コントローラは、前記パケット廃棄情報及び前記接続情報を参照することにより、前記送信元に最も近いスイッチを前記対象スイッチとして選択する
     ネットワークシステム。
  3.  請求項2に記載のネットワークシステムであって、
     前記送信元に接続されたスイッチが前記ネットワーク中に存在する場合、前記コントローラは、当該スイッチを前記対象スイッチとして選択し、
     前記送信元に接続されたスイッチが前記ネットワーク中に存在しない場合、前記コントローラは、外部ネットワークに接続されているスイッチを前記対象スイッチとして選択する
     ネットワークシステム。
  4.  請求項1乃至3のいずれか一項に記載のネットワークシステムであって、
     前記スイッチ制御処理の後、前記コントローラは、前記アプライアンスに対して、前記廃棄されたパケットが属するフローに関するルールの無効化を指示する
     ネットワークシステム。
  5.  ネットワーク中に配置されたアプライアンス及びスイッチに接続されるコントローラであって、
      前記スイッチは、フローテーブルを備え、
      前記フローテーブルの各エントリは、マッチ条件と、前記マッチ条件にマッチするパケットに対して行われるアクションを示し、
      前記スイッチは、前記コントローラから送られるエントリ設定情報に応答して、前記フローテーブル内のエントリを設定し、
      前記スイッチは、受信パケットを受信すると前記フローテーブルを参照し、前記受信パケットにマッチするエントリで指定される前記アクションを前記受信パケットに対して実施し、
      前記アプライアンスは、パケット廃棄機能を有し、パケットを廃棄した場合、前記廃棄されたパケットに関する情報であるパケット廃棄情報を前記コントローラへ送り、
     前記コントローラは、
     前記パケット廃棄情報が格納される記憶装置と、
     前記パケット廃棄情報に応答してスイッチ制御処理を行う処理装置と
     を備え、
     前記スイッチ制御処理において、前記処理装置は、前記ネットワークの中から対象スイッチを選択し、前記廃棄されたパケットと同じフローに属するパケットを廃棄するようなエントリの作成を指示する前記エントリ設定情報を作成し、前記作成したエントリ設定情報を前記対象スイッチに送信する
     コントローラ。
  6.  請求項5に記載のコントローラであって、
     前記記憶装置には更に、前記ネットワークの接続関係を示す接続情報が格納され、
     前記パケット廃棄情報は、前記廃棄されたパケットの送信元に関する情報を含み、
     前記処理装置は、前記パケット廃棄情報及び前記接続情報を参照することにより、前記送信元に最も近いスイッチを前記対象スイッチとして選択する
     コントローラ。
  7.  アプライアンス及びスイッチが配置されたネットワークの制御方法であって、
      前記スイッチは、フローテーブルを備え、
      前記フローテーブルの各エントリは、マッチ条件と、前記マッチ条件にマッチするパケットに対して行われるアクションを示し、
      前記スイッチは、エントリ設定情報に応答して、前記フローテーブル内のエントリを設定し、
      前記スイッチは、受信パケットを受信すると前記フローテーブルを参照し、前記受信パケットにマッチするエントリで指定される前記アクションを前記受信パケットに対して実施し、
     前記制御方法は、
     前記アプライアンスにおいてパケットが廃棄された場合、前記廃棄されたパケットに関する情報であるパケット廃棄情報を取得することと、
     前記パケット廃棄情報に応答してスイッチ制御処理を行うことと
     を含み、
     前記スイッチ制御処理は、
     前記ネットワークの中から対象スイッチを選択することと、
     前記廃棄されたパケットと同じフローに属するパケットを廃棄するようなエントリの作成を指示する前記エントリ設定情報を作成することと、
     前記作成したエントリ設定情報を前記対象スイッチに送信することと
     を含む
     制御方法。
  8.  アプライアンス及びスイッチが配置されたネットワークの制御処理をコンピュータに実行させる制御プログラムが記録された記録媒体であって、
      前記スイッチは、フローテーブルを備え、
      前記フローテーブルの各エントリは、マッチ条件と、前記マッチ条件にマッチするパケットに対して行われるアクションを示し、
      前記スイッチは、エントリ設定情報に応答して、前記フローテーブル内のエントリを設定し、
      前記スイッチは、受信パケットを受信すると前記フローテーブルを参照し、前記受信パケットにマッチするエントリで指定される前記アクションを前記受信パケットに対して実施し、
     前記制御処理は、
     前記アプライアンスにおいてパケットが廃棄された場合、前記廃棄されたパケットに関する情報であるパケット廃棄情報を取得することと、
     前記パケット廃棄情報に応答してスイッチ制御処理を行うことと
     を含み、
     前記スイッチ制御処理は、
     前記ネットワークの中から対象スイッチを選択することと、
     前記廃棄されたパケットと同じフローに属するパケットを廃棄するようなエントリの作成を指示する前記エントリ設定情報を作成することと、
     前記作成したエントリ設定情報を前記対象スイッチに送信することと
     を含む
     記録媒体。
PCT/JP2010/072581 2010-01-04 2010-12-15 ネットワークシステム、コントローラ、ネットワーク制御方法 WO2011081020A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2011547496A JP5673557B2 (ja) 2010-01-04 2010-12-15 ネットワークシステム、コントローラ、ネットワーク制御方法
US13/200,756 US8611220B2 (en) 2010-01-04 2011-09-30 Network system, controller, and network control method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2010000252 2010-01-04
JP2010-000252 2010-01-04

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US13/200,756 Continuation US8611220B2 (en) 2010-01-04 2011-09-30 Network system, controller, and network control method

Publications (1)

Publication Number Publication Date
WO2011081020A1 true WO2011081020A1 (ja) 2011-07-07

Family

ID=44226432

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2010/072581 WO2011081020A1 (ja) 2010-01-04 2010-12-15 ネットワークシステム、コントローラ、ネットワーク制御方法

Country Status (3)

Country Link
US (1) US8611220B2 (ja)
JP (1) JP5673557B2 (ja)
WO (1) WO2011081020A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150334032A1 (en) * 2012-12-28 2015-11-19 Nec Corporation Control apparatus, communication system, communication node control method, and program
US20150341266A1 (en) * 2012-12-19 2015-11-26 Nec Corporation Communication node, control apparatus, method for management of control information entries and program
JP2018037835A (ja) * 2016-08-31 2018-03-08 日本電信電話株式会社 攻撃判定装置および攻撃判定方法

Families Citing this family (66)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9001824B2 (en) 2010-05-18 2015-04-07 Brocade Communication Systems, Inc. Fabric formation for virtual cluster switching
US9769016B2 (en) 2010-06-07 2017-09-19 Brocade Communications Systems, Inc. Advanced link tracking for virtual cluster switching
US9716672B2 (en) 2010-05-28 2017-07-25 Brocade Communications Systems, Inc. Distributed configuration management for virtual cluster switching
US8867552B2 (en) 2010-05-03 2014-10-21 Brocade Communications Systems, Inc. Virtual cluster switching
US8989186B2 (en) 2010-06-08 2015-03-24 Brocade Communication Systems, Inc. Virtual port grouping for virtual cluster switching
US9270486B2 (en) 2010-06-07 2016-02-23 Brocade Communications Systems, Inc. Name services for virtual cluster switching
US9246703B2 (en) 2010-06-08 2016-01-26 Brocade Communications Systems, Inc. Remote port mirroring
US9628293B2 (en) 2010-06-08 2017-04-18 Brocade Communications Systems, Inc. Network layer multicasting in trill networks
US9806906B2 (en) 2010-06-08 2017-10-31 Brocade Communications Systems, Inc. Flooding packets on a per-virtual-network basis
US8446914B2 (en) 2010-06-08 2013-05-21 Brocade Communications Systems, Inc. Method and system for link aggregation across multiple switches
US9608833B2 (en) 2010-06-08 2017-03-28 Brocade Communications Systems, Inc. Supporting multiple multicast trees in trill networks
US9807031B2 (en) 2010-07-16 2017-10-31 Brocade Communications Systems, Inc. System and method for network configuration
US9270572B2 (en) 2011-05-02 2016-02-23 Brocade Communications Systems Inc. Layer-3 support in TRILL networks
US9407533B2 (en) 2011-06-28 2016-08-02 Brocade Communications Systems, Inc. Multicast in a trill network
US8948056B2 (en) 2011-06-28 2015-02-03 Brocade Communication Systems, Inc. Spanning-tree based loop detection for an ethernet fabric switch
US9401861B2 (en) 2011-06-28 2016-07-26 Brocade Communications Systems, Inc. Scalable MAC address distribution in an Ethernet fabric switch
US8885641B2 (en) 2011-06-30 2014-11-11 Brocade Communication Systems, Inc. Efficient trill forwarding
US9736085B2 (en) 2011-08-29 2017-08-15 Brocade Communications Systems, Inc. End-to end lossless Ethernet in Ethernet fabric
JP2013070325A (ja) * 2011-09-26 2013-04-18 Nec Corp 通信システム、通信装置、サーバ、通信方法
US9699117B2 (en) 2011-11-08 2017-07-04 Brocade Communications Systems, Inc. Integrated fibre channel support in an ethernet fabric switch
US9450870B2 (en) 2011-11-10 2016-09-20 Brocade Communications Systems, Inc. System and method for flow management in software-defined networks
US8995272B2 (en) 2012-01-26 2015-03-31 Brocade Communication Systems, Inc. Link aggregation in software-defined networks
JP2013161122A (ja) * 2012-02-01 2013-08-19 Canon Inc データ処理装置、情報処理方法、及びプログラム
US9742693B2 (en) 2012-02-27 2017-08-22 Brocade Communications Systems, Inc. Dynamic service insertion in a fabric switch
US9154416B2 (en) 2012-03-22 2015-10-06 Brocade Communications Systems, Inc. Overlay tunnel in a fabric switch
EP2824875B1 (en) * 2012-04-12 2017-08-02 Huawei Technologies Co., Ltd. Information receiving and sending methods and apparatuses
US9374301B2 (en) 2012-05-18 2016-06-21 Brocade Communications Systems, Inc. Network feedback in software-defined networks
US10277464B2 (en) 2012-05-22 2019-04-30 Arris Enterprises Llc Client auto-configuration in a multi-switch link aggregation
EP2853066B1 (en) 2012-05-23 2017-02-22 Brocade Communications Systems, Inc. Layer-3 overlay gateways
US9602430B2 (en) 2012-08-21 2017-03-21 Brocade Communications Systems, Inc. Global VLANs for fabric switches
US9401872B2 (en) 2012-11-16 2016-07-26 Brocade Communications Systems, Inc. Virtual link aggregations across multiple fabric switches
KR20150098619A (ko) * 2012-12-17 2015-08-28 엘지전자 주식회사 무선랜 시스템에서 서비스 발견 방법 및 장치
US9413691B2 (en) 2013-01-11 2016-08-09 Brocade Communications Systems, Inc. MAC address synchronization in a fabric switch
US9350680B2 (en) 2013-01-11 2016-05-24 Brocade Communications Systems, Inc. Protection switching over a virtual link aggregation
US9548926B2 (en) 2013-01-11 2017-01-17 Brocade Communications Systems, Inc. Multicast traffic load balancing over virtual link aggregation
US9565113B2 (en) 2013-01-15 2017-02-07 Brocade Communications Systems, Inc. Adaptive link aggregation and virtual link aggregation
US9565099B2 (en) 2013-03-01 2017-02-07 Brocade Communications Systems, Inc. Spanning tree in fabric switches
US9401818B2 (en) 2013-03-15 2016-07-26 Brocade Communications Systems, Inc. Scalable gateways for a fabric switch
US9699001B2 (en) 2013-06-10 2017-07-04 Brocade Communications Systems, Inc. Scalable and segregated network virtualization
US9565028B2 (en) 2013-06-10 2017-02-07 Brocade Communications Systems, Inc. Ingress switch multicast distribution in a fabric switch
US9806949B2 (en) 2013-09-06 2017-10-31 Brocade Communications Systems, Inc. Transparent interconnection of Ethernet fabric switches
US9912612B2 (en) 2013-10-28 2018-03-06 Brocade Communications Systems LLC Extended ethernet fabric switches
CN104660565B (zh) * 2013-11-22 2018-07-20 华为技术有限公司 恶意攻击的检测方法和装置
US9548873B2 (en) 2014-02-10 2017-01-17 Brocade Communications Systems, Inc. Virtual extensible LAN tunnel keepalives
US10581758B2 (en) 2014-03-19 2020-03-03 Avago Technologies International Sales Pte. Limited Distributed hot standby links for vLAG
US10476698B2 (en) 2014-03-20 2019-11-12 Avago Technologies International Sales Pte. Limited Redundent virtual link aggregation group
US10063473B2 (en) 2014-04-30 2018-08-28 Brocade Communications Systems LLC Method and system for facilitating switch virtualization in a network of interconnected switches
US9800471B2 (en) 2014-05-13 2017-10-24 Brocade Communications Systems, Inc. Network extension groups of global VLANs in a fabric switch
US10616108B2 (en) 2014-07-29 2020-04-07 Avago Technologies International Sales Pte. Limited Scalable MAC address virtualization
US9544219B2 (en) 2014-07-31 2017-01-10 Brocade Communications Systems, Inc. Global VLAN services
US9807007B2 (en) 2014-08-11 2017-10-31 Brocade Communications Systems, Inc. Progressive MAC address learning
US9524173B2 (en) 2014-10-09 2016-12-20 Brocade Communications Systems, Inc. Fast reboot for a switch
US9699029B2 (en) 2014-10-10 2017-07-04 Brocade Communications Systems, Inc. Distributed configuration management in a switch group
US9628407B2 (en) 2014-12-31 2017-04-18 Brocade Communications Systems, Inc. Multiple software versions in a switch group
US9626255B2 (en) 2014-12-31 2017-04-18 Brocade Communications Systems, Inc. Online restoration of a switch snapshot
US9942097B2 (en) 2015-01-05 2018-04-10 Brocade Communications Systems LLC Power management in a network of interconnected switches
US10003552B2 (en) 2015-01-05 2018-06-19 Brocade Communications Systems, Llc. Distributed bidirectional forwarding detection protocol (D-BFD) for cluster of interconnected switches
US9807005B2 (en) 2015-03-17 2017-10-31 Brocade Communications Systems, Inc. Multi-fabric manager
US10038592B2 (en) 2015-03-17 2018-07-31 Brocade Communications Systems LLC Identifier assignment to a new switch in a switch group
US10579406B2 (en) 2015-04-08 2020-03-03 Avago Technologies International Sales Pte. Limited Dynamic orchestration of overlay tunnels
US10439929B2 (en) 2015-07-31 2019-10-08 Avago Technologies International Sales Pte. Limited Graceful recovery of a multicast-enabled switch
US10171303B2 (en) 2015-09-16 2019-01-01 Avago Technologies International Sales Pte. Limited IP-based interconnection of switches with a logical chassis
US9912614B2 (en) 2015-12-07 2018-03-06 Brocade Communications Systems LLC Interconnection of switches based on hierarchical overlay tunneling
US10237090B2 (en) 2016-10-28 2019-03-19 Avago Technologies International Sales Pte. Limited Rule-based network identifier mapping
CN108965038A (zh) * 2018-10-17 2018-12-07 盛科网络(苏州)有限公司 通过acl快速定位特定流报文丢弃原因的方法及装置
US20230198676A1 (en) * 2021-12-17 2023-06-22 Juniper Networks, Inc. Packet drop monitoring in a virtual router

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09270813A (ja) * 1996-04-01 1997-10-14 Hitachi Cable Ltd パケットフィルタ機能付きルータ装置
JP2006279691A (ja) * 2005-03-30 2006-10-12 Fujitsu Ltd 不正アクセス探索方法及び装置
JP2007201966A (ja) * 2006-01-30 2007-08-09 Alaxala Networks Corp トラフィック制御方式、装置及びシステム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006067078A (ja) 2004-08-25 2006-03-09 Nippon Telegr & Teleph Corp <Ntt> ネットワークシステムおよび攻撃防御方法
US9083609B2 (en) * 2007-09-26 2015-07-14 Nicira, Inc. Network operating system for managing and securing networks
WO2010115060A2 (en) * 2009-04-01 2010-10-07 Nicira Networks Method and apparatus for implementing and managing virtual switches

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09270813A (ja) * 1996-04-01 1997-10-14 Hitachi Cable Ltd パケットフィルタ機能付きルータ装置
JP2006279691A (ja) * 2005-03-30 2006-10-12 Fujitsu Ltd 不正アクセス探索方法及び装置
JP2007201966A (ja) * 2006-01-30 2007-08-09 Alaxala Networks Corp トラフィック制御方式、装置及びシステム

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150341266A1 (en) * 2012-12-19 2015-11-26 Nec Corporation Communication node, control apparatus, method for management of control information entries and program
US9843516B2 (en) * 2012-12-19 2017-12-12 Nec Corporation Communication node, control apparatus, method for management of control information entries and program
US20150334032A1 (en) * 2012-12-28 2015-11-19 Nec Corporation Control apparatus, communication system, communication node control method, and program
US10305811B2 (en) * 2012-12-28 2019-05-28 Nec Corporation Control apparatus, communication system, communication node control method, and program
JP2018037835A (ja) * 2016-08-31 2018-03-08 日本電信電話株式会社 攻撃判定装置および攻撃判定方法

Also Published As

Publication number Publication date
JP5673557B2 (ja) 2015-02-18
US20120020220A1 (en) 2012-01-26
JPWO2011081020A1 (ja) 2013-05-09
US8611220B2 (en) 2013-12-17

Similar Documents

Publication Publication Date Title
JP5673557B2 (ja) ネットワークシステム、コントローラ、ネットワーク制御方法
JP5645139B2 (ja) ネットワークシステム、コントローラ、ネットワーク制御方法
JP5648926B2 (ja) ネットワークシステム、コントローラ、ネットワーク制御方法
JP5557066B2 (ja) スイッチシステム、モニタリング集中管理方法
US20170111231A1 (en) System and method for communication
JP5672558B2 (ja) ネットワークシステム、ネットワーク制御装置、及び制御方法
JP4757163B2 (ja) レイヤ2ループ検出装置、レイヤ2ループ検出システムおよびレイヤ2ループ検出方法
WO2013115177A1 (ja) ネットワークシステム、及びトポロジー管理方法
JP6387195B2 (ja) 通信装置及びシステム及び方法
EP2482497B1 (en) Data forwarding method, data processing method, system and device thereof
JP6433865B2 (ja) 通信装置
KR20090091144A (ko) 네트워크 시스템에서의 경로 mtu 탐색
WO2005109797A1 (ja) ネットワーク攻撃対策方法、ネットワーク攻撃対策装置及びネットワーク攻撃対策プログラム
JP2008136049A (ja) ネットワーク中継システム、および、ネットワーク中継システムにおける方法
US20130275620A1 (en) Communication system, control apparatus, communication method, and program
JP2011159247A (ja) ネットワークシステム、コントローラ、ネットワーク制御方法
JP2013070325A (ja) 通信システム、通信装置、サーバ、通信方法
CN102546587B (zh) 防止网关系统会话资源被恶意耗尽的方法及装置
US11159533B2 (en) Relay apparatus
JP2010193083A (ja) 通信システムおよび通信方法
US8505096B2 (en) Methods of, and apparatus for, monitoring traffic emanating from a source in a network
JP5542240B2 (ja) ルーティングのための方法、ならびに関連するルーティングデバイスおよび宛先デバイス
US20200213356A1 (en) Malware inspection support system and malware inspection support method
JP6746541B2 (ja) 転送システム、情報処理装置、転送方法及び情報処理方法
US11316888B2 (en) Malware inspection support system and malware inspection support method

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 10840878

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2011547496

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 10840878

Country of ref document: EP

Kind code of ref document: A1