WO2009098819A1 - 通信システム - Google Patents

通信システム Download PDF

Info

Publication number
WO2009098819A1
WO2009098819A1 PCT/JP2008/072317 JP2008072317W WO2009098819A1 WO 2009098819 A1 WO2009098819 A1 WO 2009098819A1 JP 2008072317 W JP2008072317 W JP 2008072317W WO 2009098819 A1 WO2009098819 A1 WO 2009098819A1
Authority
WO
WIPO (PCT)
Prior art keywords
flow
flow information
packet
cache
registered
Prior art date
Application number
PCT/JP2008/072317
Other languages
English (en)
French (fr)
Inventor
Hideyuki Shimonishi
Original Assignee
Nec Corporation
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 Nec Corporation filed Critical Nec Corporation
Priority to JP2009552388A priority Critical patent/JPWO2009098819A1/ja
Publication of WO2009098819A1 publication Critical patent/WO2009098819A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/741Routing in networks with a plurality of addressing schemes, e.g. with both IPv4 and IPv6

Definitions

  • the present invention relates to a communication system that relays packets.
  • network traffic is monitored, a flow that generates a large amount of traffic is specified, and traffic is restricted only for this flow.
  • a method is shown in which an attack is detected based on information such as traffic volume, and a filter for limiting the rate at the firewall is set based on the detected attack. .
  • the amount of communication allowed for each flow is determined in advance or dynamically, and when the traffic volume of the flow exceeds this amount, the traffic is restricted. is there.
  • a method is described in which a bandwidth is fairly distributed among all flows sharing an output line, and traffic exceeding a determined amount is full of queues. It is discarded when it becomes.
  • the network node needs to hold flow information corresponding to the number of flows to be controlled.
  • the flow information represents information related to the flow.
  • the capacity that can hold the flow information is limited. For this reason, the network node cannot hold all the flow information when the number of flows to be controlled is large. Therefore, it is not possible to appropriately limit traffic for all flows.
  • Japanese Patent Application Laid-Open No. 2006-60599 discloses an application service rejection attack prevention method. This method protects an end node installed in an IP network from a DoS attack or a DDoS attack on TCP targeting a process of layer 5 or higher of the end node.
  • a firewall apparatus installed in an exit line to an end node of an edge node that accommodates an end node performs filtering based on field information of layer 4 and below (first process). After the first process, the TCP process is temporarily terminated on behalf of the end node, and after performing the 3-way-handshake process, the traffic is transferred to the end node (second process).
  • the traffic having the end node address as the transmission destination address is monitored for each transmission source address, and an attack is detected based on layer 4 or lower information and a countermeasure is requested (third process). Traffic restriction is performed on the flow designated by the request from the third process (fourth process).
  • Japanese Patent Laid-Open No. 11-041316 discloses a data output control method.
  • the data output control method has a plurality of queues, stores input data in appropriate queues based on their attributes, and outputs data from these queues to a single output line.
  • a plurality of lists for storing queue numbers are used so that at most one same queue number exists in the entire list.
  • the queue is included in an appropriate list according to at least one of the data output availability status and priority of the queue. Stores the queue number.
  • an appropriate list When outputting data to the output line, an appropriate list is selected, a queue number is extracted from the head of the list, and one piece of data is transmitted from the queue of the extracted number. If the queue has data other than the output data, the queue number is stored in an appropriate list according to the condition. A reset operation is performed to change the condition of each queue and move the queue number between lists at regular intervals or whenever a specific list becomes empty.
  • an object of the present invention is to enable communication to appropriately limit traffic for all flows even when the capacity capable of holding flow information corresponding to the number of flows to be controlled is limited in the network node. To provide a system.
  • the communication system of the present invention includes a network node that relays packets and a control server connected to the network node.
  • the packet includes flow information regarding the flow to which the packet belongs.
  • the control server includes a flow table in which a plurality of pieces of flow information are registered, and a notification flow determination unit.
  • the network node includes a packet monitoring unit that receives a packet as a received packet, a flow cache in which a part of the flow information is registered, a packet discard unit, and a cache replacement unit. Yes.
  • part of the flow information registered in the flow cache includes a packet discard rate.
  • the packet discarding unit of the network node transmits the received packet as a transmission packet, and the matching flow information is registered in the flow cache The received packet is discarded according to the packet discard rate of the matching flow information.
  • the notification flow determination unit of the control server periodically selects one flow information as selected flow information from among a plurality of flow information registered in the flow table.
  • the network node cache replacement unit adds the packet discard rate for the selected flow information to the selected flow information and registers it in the flow cache if the flow cache capacity is empty, and if the flow cache capacity is not empty, One piece of flow information registered in the cache is deleted, and the packet discard rate for the selected flow information is added to the selected flow information and registered in the flow cache.
  • the flow information held by the network node can be reduced. For this reason, a network node can be configured at low cost.
  • the flow information held by the network node is frequently replaced. For this reason, according to the communication system of the present invention, even if the capacity capable of holding flow information corresponding to the number of flows to be controlled is limited in the network node, traffic is appropriately limited for all flows. be able to.
  • FIG. 1 shows the configuration of a communication system according to the first embodiment of the present invention.
  • FIG. 2 is a block diagram showing the configuration of the control server 1 and the network node 2 of the communication system according to the first embodiment of the present invention.
  • FIG. 3 is a flowchart showing the operation of the communication system according to the first exemplary embodiment of the present invention.
  • FIG. 4 is a block diagram showing the configuration of the control server 1 and the network node 2 of the communication system according to the second embodiment of the present invention.
  • FIG. 5 is a block diagram showing the configuration of the control server 1 and the network node 2 of the communication system according to the third embodiment of the present invention.
  • FIG. 1 shows the configuration of a communication system according to the first embodiment of the present invention.
  • FIG. 2 is a block diagram showing the configuration of the control server 1 and the network node 2 of the communication system according to the first embodiment of the present invention.
  • FIG. 3 is a flowchart showing the operation of the communication system according to the first exemplary embodiment of the present
  • FIG. 6 is a block diagram showing the configuration of the control server 1 and the network node 2 of the communication system according to the fourth embodiment of the present invention.
  • FIG. 7 shows the configuration of a communication system according to the fifth embodiment of the present invention.
  • FIG. 8 is a block diagram showing the configuration of the control server 1 and the network node 2 of the communication system according to the fifth embodiment of the present invention.
  • FIG. 9 is a flowchart showing the operation of the communication system according to the fifth exemplary embodiment of the present invention.
  • FIG. 1 shows the configuration of a communication system according to the first embodiment of the present invention.
  • the communication system includes a control server 1 and a network node 2.
  • the control server 1 is a computer, and includes an execution unit 11 that is a CPU (Central Processing Unit) and a storage unit 12 that is a recording medium.
  • the storage unit 12 stores a computer program 13 to be executed by the control server 1.
  • the execution unit 11 reads the computer program 13 from the storage unit 12 and executes it when the control server 1 is activated.
  • the network node 2 is a computer, and includes an execution unit 21 that is a CPU, a storage unit 22 that is a recording medium, and a flow cache 2-3.
  • the storage unit 22 stores a computer program 23 to be executed by the network node 2.
  • the execution unit 21 reads the computer program 23 from the storage unit 22 and executes it when the network node 2 is activated.
  • FIG. 2 is a block diagram showing the configuration of the control server 1 and the network node 2 of the communication system according to the first embodiment of the present invention.
  • the storage unit 12 of the control server 1 includes a flow table 1-2, and the computer program 13 includes a bandwidth limit setting unit 1-1, a notification flow determination unit 1-3, and a discard rate determination unit 1-4. .
  • the control server 1 is connected to the network node 2.
  • the computer program 23 of the network node 2 includes a packet monitoring unit 2-1, a cache replacement unit 2-2, and a packet discard unit 2-4.
  • the network node 2 relays packets.
  • the packet includes flow information regarding the flow to which the packet belongs.
  • the flow information is added to the packet header.
  • a plurality of pieces of flow information including a reception band and a limited band are registered.
  • Part of the flow information registered in the flow cache 2-3 includes a packet discard rate Di.
  • the packet monitoring unit 2-1 of the network node 2 receives the packet as a received packet and outputs it to the packet discarding unit 2-4 and the control server 1.
  • the bandwidth limit setting unit 1-1 of the control server 1 measures the reception bandwidth when the received packet is received by the packet monitoring unit 2-1, and estimates the bandwidth limit at that time to obtain the flow information of the received packet.
  • the reception band and the limit band are added and registered in the flow table 1-2. That is, the reception band and the limit band of the flow information of the reception packet are updated.
  • the notification flow determination unit 1-3 of the control server 1 selects one flow from a plurality of pieces of flow information registered in the flow table 1-2 according to a predetermined first probability (hereinafter, probability Pi).
  • Information is periodically selected as selection flow information i.
  • the probability Pi represents the probability that one flow information is selected as the selected flow information i from a plurality of pieces of flow information registered in the flow table 1-2.
  • the discard rate determination unit 1-4 determines a predetermined second probability (hereinafter, probability Di) as the packet discard rate Di for the selected flow information i.
  • the packet discard rate Di represents the probability for discarding the received packet from all the packets belonging to the selected flow information i (specific flow).
  • the discard rate determination unit 1-4 outputs the selected flow information i and the packet discard rate Di to the network node 2.
  • the cache replacement unit 2-2 of the network node 2 checks whether there is a free capacity in the flow cache 2-3. When the capacity of the flow cache 2-3 is empty, the cache replacement unit 2-2 adds the packet discard rate Di for the selected flow information i to the selected flow information i and registers it in the flow cache 2-3. When there is no free space in the flow cache 2-3, the cache replacement unit 2-2 performs a partial registration in the flow cache 2-3 according to a predetermined third probability (hereinafter, probability Rj). One flow information of the flow information is deleted, and the packet discard rate Di for the selected flow information i is added to the selected flow information i and registered in the flow cache 2-3.
  • the probability Rj represents the probability that one piece of flow information j is selected and deleted from some pieces of flow information registered in the flow cache 2-3.
  • the packet discard unit 2-4 of the network node 2 checks whether or not matching flow information that matches the flow information of the received packet is registered in the flow cache 2-3. When the matching flow information is not registered in the flow cache 2-3, the packet discard unit 2-4 transmits the received packet as a transmission packet. When the matching flow information is registered in the flow cache 2-3, the packet discard unit 2-4 discards the received packet according to the packet discard rate Di of the matching flow information.
  • FIG. 3 is a flowchart showing the operation of the communication system according to the first embodiment of the present invention. Here, the operation of the present embodiment will be described with reference to FIGS. 2 and 3.
  • the packet monitoring unit 2-1 of the network node 2 receives the packet as a received packet (step S1), and outputs the packet to the packet discard unit 2-4 and the control server 1 (step S2).
  • the limited bandwidth setting unit 1-1 of the control server 1 measures the reception bandwidth when a received packet is received by the packet monitoring unit 2-1. In addition, the limited bandwidth setting unit 1-1 estimates the limited bandwidth of the flow to which the received packet belongs, based on the header (flow information) of the received packet, for example, using the packet length, sampling probability, number of acquired packets, and the like.
  • the restricted bandwidth setting unit 1-1 adds the received bandwidth and the restricted bandwidth to the flow information of the received packet, and registers them in the flow table 1-2 (step S6).
  • the limited bandwidth may be a fixed value preset for each service or a fair bandwidth that is dynamically calculated.
  • the fair bandwidth is the bandwidth of the output line divided by the number of flows that are currently communicating, but if there is a flow that is communicating in a bandwidth lower than the fair bandwidth, It may be assigned to other flows.
  • the packet discard unit 2-4 of the network node 2 checks whether or not matching flow information that matches the flow information of the received packet is registered in the flow cache 2-3 (step S3).
  • the packet discard unit 2-4 transmits (passes) the received packet as a transmission packet (step S4).
  • the packet discard unit 2-4 determines the received packet according to the packet discard rate Di registered in the flow cache 2-3. Discard (step S5).
  • the notification flow determination unit 1-3 of the control server 1 selects the flow information to be registered in the flow cache as the selected flow information i from the plurality of flow information registered in the flow table 1-2 according to the probability Pi. (Step S7).
  • the discard rate determination unit 1-4 determines the probability Di as the packet discard rate Di for the selected flow information i.
  • the packet discard rate Di is not a target discard rate related to the selected flow information i but a discard rate applied only while the selected flow information i is registered in the flow cache 2-3. Since the selected flow information i is not always registered in the flow cache 2-3 at all times, the packet discard rate Di generally needs to be set larger than the target discard rate for the selected flow information i.
  • the discard rate determining unit 1-4 outputs the selected flow information i and the packet discard rate Di to the network node 2 (step S8).
  • the cache replacement unit 2 of the network node 2 checks whether there is an empty entry in the flow cache 2-3 (step S9). That is, it is checked whether or not the capacity of the flow cache 2-3 is free.
  • the cache replacement unit 2-2 adds the packet discard rate Di for the selected flow information i to the selected flow information i to add the flow cache 2-3. (Step S11).
  • step S9-NO When there is no empty entry (step S9-NO), it is used for one piece of flow information registered in the flow cache 2-3 and the existing packet discard rate according to the probability Rj.
  • the entry is deleted (step S10), and the packet discard rate Di for the selected flow information i is added to the selected flow information i as new information in an empty place and registered in the flow cache 2-3 (step S11).
  • step S11 After step S11 is executed, step S7 and subsequent steps are executed.
  • the probability Pi, the packet discard rate Di, and the probability Rj described above can be arbitrarily set and can be considered in various ways.
  • a probability obtained by applying an exponential function or a logarithmic function to the probability Pi and the packet discard rate Di may be used.
  • the control server 1 includes the flow table 1-2 in which a plurality of flow information is registered, and the network node 2 includes a plurality of flow information.
  • the flow cache 2-3 in which a part of the flow information is registered is provided. Therefore, according to the communication system according to the first embodiment of the present invention, the flow information held by the network node 2 can be reduced. For this reason, the network node 2 can be configured at low cost.
  • the control server 1 periodically sets one flow information as the selected flow information i from among a plurality of flow information registered in the flow table 1-2.
  • the network node 2 deletes one piece of flow information from a part of the flow information registered in the flow cache 2-3 and registers the selected flow information i in the flow cache 2-3. Yes. In this way, the flow information held by the network node is frequently replaced. Therefore, according to the communication system according to the first embodiment of the present invention, even if the capacity capable of holding the flow information corresponding to the number of flows to be controlled is limited in the network node 2, it is appropriate for all the flows. Traffic can be restricted.
  • FIG. 4 is a block diagram showing the configuration of the control server 1 and the network node 2 of the communication system according to the second embodiment of the present invention.
  • the computer program 13 of the control server 1 further includes a network node distribution unit 1-5 and a network node registration unit 1-6 in addition to the configuration of the first embodiment.
  • the computer program 23 of the network node 2 further includes a control server distribution unit 2-5 in addition to the configuration of the first embodiment.
  • (First configuration) A configuration in which a plurality of network nodes 2 are connected to one control server 1
  • (Second configuration) A configuration in which one network node 2 is connected to a plurality of control servers 1
  • the communication method between the control server 1 and the network node 2 is different. This difference will be described below.
  • the control server 1 is connected to a plurality of network nodes 2. Therefore, a plurality of flow information including a reception band and a limited band is registered in the flow table 1-2 of the control server 1 in association with a plurality of identification information.
  • the plurality of identification information is information for identifying the plurality of network nodes 2, respectively.
  • the control server distribution units 2-5 of the plurality of network nodes 2 receive the received packets received by the packet monitoring units 2-1 of the plurality of network nodes 2, respectively, and identification information for identifying the plurality of network nodes 2, respectively. Output to the control server 1. At this time, a plurality of received packets and a plurality of identification information are output from the plurality of network nodes 2, respectively.
  • the network node registration unit 1-6 of the control server 1 refers to the flow table 1-2 and notifies the distribution unit 2-5 that the plurality of pieces of identification information are information output from the plurality of network nodes 2, respectively. To do.
  • the bandwidth limit setting unit 1-1 measures the reception bandwidth for a plurality of received packets output from the plurality of network nodes 2, estimates the bandwidth limit, and determines the received packets output from the plurality of network nodes 2.
  • a reception band and a limited band are added to the flow information, and registered in the flow table 1-2 in association with the identification information output from the plurality of network nodes 2.
  • the network node distribution unit 1-5 of the control server 1 determines the selected flow information i selected by the notification flow determination unit 1-3 and the discard rate determination unit 1-4 for the plurality of network nodes 2.
  • the packet discard rate Di is output to each of the plurality of network nodes 2.
  • the cache replacement units 2-2 of the plurality of network nodes 2 check whether there is a free capacity in the flow cache 2-3 of the plurality of network nodes 2, respectively. When the capacity of the flow cache 2-3 is empty, the cache replacement unit 2-2 adds the packet discard rate Di for the selected flow information i to the selected flow information i and registers it in the flow cache 2-3.
  • the cache replacement unit 2-2 executes one of the pieces of flow information registered in the flow cache 2-3 according to a predetermined probability Rj.
  • the information is deleted, and the packet discard rate Di for the selected flow information i is added to the selected flow information i and registered in the flow cache 2-3.
  • the network node 2 is connected to a plurality of control servers 1. Therefore, a plurality of flow information, a plurality of reception bands, and a plurality of restricted bands are registered in the flow tables 1-2 of the plurality of control servers 1 in association with the identification information.
  • the identification information is information for identifying the network node 2. In other words, a specific network node 2 can occupy and use the plurality of control servers 1, and other network nodes 2 cannot use a plurality of control servers 1 occupied by the specific network node 2. It has become.
  • the control server distribution unit 2-5 of the network node 2 outputs the received packet received by the packet monitoring unit 2-1 and identification information for identifying its own network node 2 to the plurality of control servers 1.
  • the network node registration units 1-6 of the plurality of control servers 1 refer to the flow tables 1-2 of the plurality of control servers 1, respectively, and identify that the identification information is information output from a specific network node 2. Notification to part 2-5.
  • the limited bandwidth setting unit 1-1 of the plurality of control servers 1 measures the reception bandwidth for the received packet output from the network node 2, estimates the limited bandwidth, and determines the received packet output from the network node 2. A reception band and a limited band are added to the flow information, and are registered in the flow tables 1-2 of the plurality of control servers 1 in association with the identification information output from the network node 2.
  • the network node distribution unit 1-5 of the plurality of control servers 1 respectively selects the selected flow information i selected by the notification flow determination unit 1-3 of the plurality of control servers 1 and the plurality of controls for the network node 2.
  • the packet discard rate Di determined by the discard rate determination unit 1-4 of the server 1 is output to the network node 2.
  • the cache replacement unit 2-2 of the network node 2 checks whether there is a free capacity in the flow cache 2-3. When the capacity of the flow cache 2-3 is empty, the cache replacement unit 2-2 adds the packet discard rate Di for the selected flow information i to the selected flow information i and registers it in the flow cache 2-3.
  • the cache replacement unit 2-2 executes one of the pieces of flow information registered in the flow cache 2-3 according to a predetermined probability Rj.
  • the information is deleted, and the packet discard rate Di for the selected flow information i is added to the selected flow information i and registered in the flow cache 2-3.
  • the number of control servers 1 is determined.
  • one network node 2 is connected to a plurality of control servers 1 (second configuration)
  • FIG. 5 is a block diagram showing the configuration of the control server 1 and the network node 2 of the communication system according to the third embodiment of the present invention.
  • the computer program 13 of the control server 1 further includes a non-control flow discard rate determining unit 1-7 in addition to the configuration of the first embodiment.
  • the computer program 23 of the network node 2 further includes a node state monitoring unit 2-6 in addition to the configuration of the first embodiment.
  • the node status monitoring unit 2-6 of the network node 2 outputs status information indicating the status of its own network node 2 to the control server 1. Therefore, the status information indicates that the flow information is not registered in the flow cache 2-3 for the received packet received by the packet monitoring unit 2-1.
  • the non-control flow discard rate determination unit 1-7 of the control server 1 determines the packet discard rate for the flow information of the received packet and outputs it to the network node 2.
  • the packet discard unit 2-4 of the network node 2 discards the packet from the non-control flow discard rate determination unit 1-7 when the matching flow information that matches the flow information of the received packet is registered in the flow cache 2-3. The received packet is discarded according to the rate and the packet discard rate Di of the matching flow information.
  • the packet discard unit 2-4 differs in processing when a packet belonging to flow information (flow) that is not registered in the flow cache 2-3 arrives. This difference will be described below.
  • the node status monitoring unit 2-6 of the network node 2 monitors the status such as the queue length and the total input bandwidth in its own network node 2, and transmits this to the control server 1 as status information.
  • the non-control flow discard rate determination unit 1-7 of the control server 1 calculates a packet discard rate when a packet belonging to flow information (flow) not registered in the flow cache 2-3 arrives. This packet discard rate is calculated from the state represented by the state information and the state (reception band, limited band) of a plurality of flow information stored in the flow table 1-2.
  • the packet discard unit 2-4 of the network node 2 discards the packet from the non-control flow discard rate determining unit 1-7 when the matching flow information matching the flow information of the received packet is not registered in the flow cache 2-3.
  • the received packet is discarded according to the rate and the packet discard rate Di of the matching flow information.
  • the received packet is discarded at a discard rate obtained by adding the packet discard rate from the non-control flow discard rate determining unit 1-7 to the packet discard rate Di registered in the flow cache 2-3.
  • FIG. 6 is a block diagram showing the configuration of the control server 1 and the network node 2 of the communication system according to the fourth embodiment of the present invention.
  • the computer program 13 of the control server 1 includes a limited bandwidth determination unit 1-8 instead of the discard rate determination unit 1-4 in the first embodiment.
  • the computer program 23 of the network node 2 includes a shaper processing unit 2-7 instead of the packet discarding unit 2-4 in the first embodiment.
  • the limited bandwidth determination unit 1-8 of the control server 1 determines a second limited bandwidth that is smaller than the value represented by the first limited bandwidth, which is the limited bandwidth estimated by the limited bandwidth setting unit 1-1, by a predetermined value. This is because the packet is not discarded during a period not registered in the flow cache 2-3, and is compensated for by setting a low limited bandwidth during the period registered in the flow cache 2-3.
  • the limited bandwidth determination unit 1-8 outputs the selected flow information i and the second limited bandwidth to the network node 2.
  • part of the flow information registered in the flow cache 2-3 is not the packet discard rate but the second limited bandwidth.
  • the cache replacement unit 2-2 of the network node 2 checks whether there is a free capacity in the flow cache 2-3. When the capacity of the flow cache 2-3 is free, the cache replacement unit 2-2 adds the second limited bandwidth for the selected flow information i to the selected flow information i and registers it in the flow cache 2-3. When there is no free space in the flow cache 2-3, the cache replacement unit 2-2 deletes one piece of flow information from a part of the flow information registered in the flow cache 2-3 according to the probability Rj. The second limited bandwidth for the selected flow information i is added to the selected flow information i and registered in the flow cache 2-3.
  • the shaper processing unit 2-7 of the network node 2 checks whether or not matching flow information that matches the flow information of the received packet is registered in the flow cache 2-3. When the matching flow information is not registered in the flow cache 2-3, the shaper processing unit 2-7 transmits the received packet as a transmission packet. When the coincidence flow information is registered in the flow cache 2-3, the shaper processing unit 2-7 receives the reception bandwidth when the received packet is received by the packet monitoring unit 2-1, and the matching flow information 2 If the received bandwidth of the received packet is higher than the second restricted bandwidth of the matching flow information, the received packet is discarded.
  • the shaper processing unit 2-7 has a process of monitoring the bandwidth limit of packets belonging to the selected flow information i (specific flow). Join.
  • the fluctuation of the limited band is large, the followability is high in executing the control for discarding the received packet as compared with the first embodiment.
  • FIG. 7 shows the configuration of a communication system according to the fifth embodiment of the present invention.
  • the communication system includes a control server 1 and a network node 2.
  • FIG. 8 is a block diagram showing the configuration of the control server 1 and the network node 2 of the communication system according to the fifth embodiment of the present invention.
  • the computer program 13 of the control server 1 includes a Bloom filter creation unit 1-9 instead of the notification flow determination unit 1-3 in the first embodiment.
  • the network node 2 includes a Bloom filter holding unit 2-9 instead of the flow cache 2-3 in the first embodiment.
  • the computer program 23 of the network node 2 includes a Bloom filter replacement unit 2-8 instead of the cache replacement unit 2-2 in the first embodiment.
  • the existing bloom filter is registered in the bloom filter holding unit 2-9.
  • the discard rate determining unit 1-4 of the control server 1 determines a plurality of packet discard rates Di for a plurality of pieces of flow information registered in the flow table 1-2.
  • the Bloom filter creation unit 1-9 creates a Bloom filter including a plurality of bits each representing a plurality of packet discard rates.
  • the Bloom filter creation unit 1-9 outputs the Bloom filter to the network node 2.
  • the Bloom filter replacement unit 2-8 of the network node 2 deletes the existing Bloom filter registered in the Bloom filter holding unit 2-9 and registers the Bloom filter in the Bloom filter holding unit 2-9.
  • the packet discard unit 2-4 determines a packet discard rate for the flow information of the received packet as a selected packet discard rate based on the Bloom filter registered in the Bloom filter holding unit 2-9, and according to the selected packet discard rate, Discard the received packet.
  • the Bloom filter is a filter configured with a bitmap of N bits (N is an integer of 2 or more) as the plurality of bits, and each N bit corresponds to a plurality of pieces of flow information (a plurality of flows).
  • the Bloom filter creation unit 1-9 determines a numerical value from 1 to N by applying i to a hash function for certain flow information i (i is an integer satisfying 1 ⁇ x ⁇ N), and sets a bit corresponding to this numerical value to “ Set to 1 ”. As a result, the Bloom filter can determine whether or not each flow is included with a small number of bits.
  • FIG. 9 is a flowchart showing the operation of the communication system according to the fifth embodiment of the present invention. Here, the operation of the present embodiment will be described with reference to FIGS. 8 and 9.
  • the packet monitoring unit 2-1 of the network node 2 receives the packet as a received packet (step S1), and outputs the packet to the packet discard unit 2-4 and the control server 1 (step S2).
  • the bandwidth limit setting unit 1-1 of the control server 1 measures the reception bandwidth when the received packet is received by the packet monitoring unit 2-1. Further, the limited bandwidth setting unit 1-1 estimates the limited bandwidth at that time.
  • the restricted bandwidth setting unit 1-1 adds the received bandwidth and the restricted bandwidth to the flow information of the received packet, and registers them in the flow table 1-2 (step S6).
  • the packet discard unit 2-4 of the network node 2 specifies each of the plurality of bits of the plurality of Bloom filters using a hash function for the flow information of the received packet. Then, it is checked whether or not this bit is set to “1” for the plurality of stored Bloom filters, and the ratio set to “1” is calculated (step S21). Next, the maximum packet discard rate notified from the control server 1 is multiplied by the above ratio, and the received packet is stochastically discarded based on the packet discard rate (step S22). That is, in this embodiment, the Bloom filter is a unit for efficiently storing the packet discard rate for each flow. Compared to the first embodiment, there are problems that packets are erroneously discarded due to collision of hash values and the setting granularity of the packet discard rate is rough. Therefore, more aggressive control is possible.
  • the discard rate determination unit 1-4 of the control server 1 calculates a plurality of packet discard rates for a plurality of pieces of flow information registered in the flow table 1-2 (step S23). Unlike the calculation of the packet discard rate in the first embodiment, this packet discard rate is obtained by dividing the limited bandwidth by the arrival bandwidth, that is, the target packet discard rate. Then, the Bloom filter creation unit 1-9 determines the maximum discard rate representing the maximum value from the plurality of packet discard rates, and generates a Bloom filter including a plurality of bits each representing the plurality of packet discard rates ( Step S24).
  • the Bloom filter creation unit 1-9 writes “1” to each of the plurality of bits of the Bloom filter with a probability of a value obtained by dividing the packet discard rate in the flow information corresponding to the bit by the maximum discard rate. That is, for a flow with the highest discard rate, the corresponding bit is always set to “1”, and for a flow set to a discard rate that is half the maximum discard rate, the corresponding bit is “1” with a probability of 50%. Write. This is calculated for all bits, and the created Bloom filter is output to the network node 2.
  • the bloom filter replacement unit 2-8 of the network node 2 deletes the existing bloom filter (steps S25-NO and S26), and registers the bloom filter in the bloom filter holding unit 2-9 (step S27).
  • the Bloom filter creating unit 1-9 may create a plurality of Bloom filters in advance and output them to the network nodes in order.
  • a plurality of existing bloom filters are registered in the bloom filter holding unit 2-9 of the network node 2.
  • the Bloom filter replacement unit 2-8 checks whether there is a free space in the Bloom filter holding unit 2-9 (step S25). When the capacity of the bloom filter holding unit 2-9 is empty (step S25-YES), the bloom filter replacing unit 2-8 registers the bloom filter in the bloom filter holding unit 2-9 (step S27). When there is no free space in the bloom filter holding unit 2-9 (step S25-NO), the bloom filter replacing unit 2-8 uses the plurality of existing blooms registered in the bloom filter holding unit 2-9 according to the probability Rj. One of the existing bloom filters is deleted (step S26), and the bloom filter is registered in the bloom filter holding unit 2-9 (step S27).
  • step S27 After step S27 is executed, step S23 and subsequent steps are executed.
  • the flow information held by the network node 2 can be reduced to 1 bit per flow. For this reason, a large amount of flow information can be held in the network node 2 at low cost.
  • this flow information is frequently updated. As a result, finer control is realized. For example, for a flow to be controlled with the maximum value, a bit corresponding to the flow information is always set to always control the flow. On the other hand, for a flow to be controlled at 1/10 of the maximum value, a bit corresponding to the flow information may be set at a rate of once every 10 times when the flow information is periodically updated.
  • control server 1 and the network node 2 are separated, but a configuration in which these are integrated may be used.
  • the configuration of the control server 1 is provided in the network node 2, and communication between the control server 1 and the network node 2 is performed using an internal bus inside the network node 2.
  • the unit for handling traffic is described as each flow, but is not limited to this. There are various units for handling traffic, such as for each flow, for each user, and for each terminal.
  • the method of the present invention can be applied not only for each flow but also for each user or each terminal.

Landscapes

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

Abstract

 制御サーバは、フローテーブルに登録されている複数のフロー情報の中から、1つのフロー情報を選択フロー情報として定期的に選択し、ネットワークノードは、フローキャッシュに登録されている一部のフロー情報のうちの1つのフロー情報を削除し、選択フロー情報をフローキャッシュに登録している。このように、ネットワークノードが保持するフロー情報は、頻繁に入れ替えが行われる。このため、ネットワークノードにおいて、制御したいフローの数に相当するフロー情報を保持することができる容量が制限されても、全てのフローについて適切にトラヒックの制限を行うことができる。  

Description

通信システム
 本発明は、パケットの中継を行う通信システムに関する。
 ネットワークにおいて、大量のトラヒックに起因する問題が深刻になっている。例えば、特定のフローに対して大量のトラヒックを発生させることによって、そのフローの通信を阻害する攻撃(サービス拒否攻撃)や、P2P(Peer to Peer)などのアプリケーションによって、特定のフローに対して大量のトラヒックを恒常的に発生させて、そのフローの通信品質を劣化させてしまう問題などが挙げられる。これらの問題に対処するため、従来は主に以下の2方式が用いられてきた。
 第一の方式では、ネットワークのトラヒックを監視し、大量のトラヒックを発生させるフローを特定し、このフローに対してのみトラヒックの制限を行う方式である。例えば、特開2006-60599号公報に示される方式では、トラヒック量などの情報を基に攻撃を検出し、これに基づいてファイヤーウォールにてレートを制限するフィルタを設定する方式が示されている。
 第二の方式では、フロー毎に通信を許可する量を予め決定しておき、あるいは動的に決定しておき、フローのトラヒック量がこの量を超えた場合にはトラヒックの制限を行う方式である。例えば特開平11-041316号公報に示される方式では、出力回線を共有する全てのフロー間で公平に帯域を分配する方式が述べられており、決定された量を超えたトラヒックは、キューがいっぱいになったところで廃棄される。
 以上の2つの従来方式では、ネットワークノードが、制御したいフローの数に相当するフロー情報を保持しておく必要がある。フロー情報は、フローに関する情報を表している。しかしながら、高速なネットワークノードでは、フロー情報を保持することができる容量が制限される。このため、ネットワークノードは、制御したいフローの数が多い場合は、これらのフロー情報を全て保持することができない。従って、全てのフローについて適切にトラヒックの制限を行うことができない。
 上記文献について紹介する。
 特開2006-60599号公報には、アプリケーションサービス拒絶攻撃防御方法が開示されている。この方法は、IPネットワーク内に設置されるエンドノードを、該エンドノードのレイヤ5以上の処理をターゲットとするTCP上のDoS攻撃またはDDoS攻撃から防御するものである。この方法では、エンドノードを収容するエッジノードの該エンドノードへの出口回線に設置されたファイヤーウォール装置が、レイヤ4以下のフィールド情報を基にフィルタリングを行う(第1の処理)。第1の処理の後、エンドノードの代理でTCPの処理を一旦終端し、3ウェイ-ハンドシェーク処理を行ってからエンドノードへトラヒックを転送する(第2の処理)。エンドノードのアドレスを送信先アドレスとするトラヒックを発信元アドレスごとに監視し、レイヤ4以下の情報に基づいて攻撃を検知し対処を依頼する(第3の処理)。第3の処理からの依頼により指定されたフローに対してトラヒックの制限を行う(第4の処理)。
 特開平11-041316号公報には、データ出力制御方法が開示されている。データ出力制御方法は、複数の待ち行列を有し、入力データをその属性に基づいて適切な待ち行列に格納し、これらの待ち行列から単一の出力回線にデータを出力するものである。この方法では、待ち行列の番号を格納する複数のリストを使用し、同一の待ち行列番号は全リスト中に高々1つのみ存在するようにする。入力データを待ち行列に格納する際、該待ち行列が入力データ以外のデータを持たなければ、該待ち行列のデータ出力可否状態および優先度の内の少なくとも1つの条件に応じて適切なリストに該待ち行列番号を格納する。データを出力回線に出力する際には、適切なリストを選択してそのリストの先頭から待ち行列番号を取り出し、取り出した番号の待ち行列からデータを1つ送出する。該待ち行列が、出力したデータ以外のデータを持てば前記条件により適切なリストに該待ち行列番号を格納する。一定時間毎に、もしくは特定のリストが空になる毎に、各待ち行列の前記条件の変更と、リスト間での待ち行列番号の移動とを行うリセット動作を行う。
 上述したシステムでは、全てのフローについて適切にトラヒックの制限を行うことができない、という課題がある。従って、本発明の目的は、ネットワークノードにおいて、制御したいフローの数に相当するフロー情報を保持することができる容量が制限されても、全てのフローについて適切にトラヒックの制限を行うことができる通信システムを提供することにある。
 本発明の通信システムは、パケットの中継を行うネットワークノードと、ネットワークノードに接続された制御サーバと、を具備している。パケットは、パケットが属するフローに関するフロー情報を含んでいる。制御サーバは、複数のフロー情報が登録されたフローテーブルと、通知フロー決定部と、を具備している。ネットワークノードは、パケットを受信パケットとして受信するパケット監視部と、複数のフロー情報のうちの一部のフロー情報が登録されたフローキャッシュと、パケット破棄部と、キャッシュ置き換え部と、を具備している。ここで、フローキャッシュに登録されている一部のフロー情報はパケット廃棄率を含んでいる。ネットワークノードのパケット破棄部は、受信パケットのフロー情報と一致する一致フロー情報がフローキャッシュに登録されていない場合、受信パケットを送信パケットとして送信し、一致フロー情報がフローキャッシュに登録されている場合、一致フロー情報のパケット廃棄率に従って受信パケットを破棄する。制御サーバの通知フロー決定部は、フローテーブルに登録されている複数のフロー情報の中から、1つのフロー情報を選択フロー情報として定期的に選択する。ネットワークノードのキャッシュ置き換え部は、フローキャッシュの容量に空きがある場合、選択フロー情報に対するパケット廃棄率を選択フロー情報に付加してフローキャッシュに登録し、フローキャッシュの容量に空きがない場合、フローキャッシュに登録されている一部のフロー情報のうちの1つのフロー情報を削除し、選択フロー情報に対するパケット廃棄率を選択フロー情報に付加してフローキャッシュに登録する。本発明の通信システムによれば、ネットワークノードが保持するフロー情報を削減することができる。このため、低コストでネットワークノードを構成することができる。また、ネットワークノードが保持するフロー情報は、頻繁に入れ替えが行われる。このため、本発明の通信システムによれば、ネットワークノードにおいて、制御したいフローの数に相当するフロー情報を保持することができる容量が制限されても、全てのフローについて適切にトラヒックの制限を行うことができる。
 上記発明の目的、効果、特徴は、添付される図面と連携して実施の形態の記述から、より明らかになる。
図1は、本発明の第1実施形態による通信システムの構成を示している。 図2は、本発明の第1実施形態による通信システムの制御サーバ1及びネットワークノード2の構成を示すブロック図である。 図3は、本発明の第1実施形態による通信システムの動作を示すフローチャートである。 図4は、本発明の第2実施形態による通信システムの制御サーバ1及びネットワークノード2の構成を示すブロック図である。 図5は、本発明の第3実施形態による通信システムの制御サーバ1及びネットワークノード2の構成を示すブロック図である。 図6は、本発明の第4実施形態による通信システムの制御サーバ1及びネットワークノード2の構成を示すブロック図である。 図7は、本発明の第5実施形態による通信システムの構成を示している。 図8は、本発明の第5実施形態による通信システムの制御サーバ1及びネットワークノード2の構成を示すブロック図である。 図9は、本発明の第5実施形態による通信システムの動作を示すフローチャートである。
 以下に添付図面を参照して、本発明の実施形態による通信システムについて詳細に説明する。
 (第1実施形態)
 図1は、本発明の第1実施形態による通信システムの構成を示している。通信システムは、制御サーバ1と、ネットワークノード2と、を具備している。
 制御サーバ1は、コンピュータであり、CPU(Central Processing Unit)である実行部11と、記録媒体である記憶部12と、を具備している。記憶部12には、制御サーバ1に実行させるためのコンピュータプログラム13が記憶されている。実行部11は、制御サーバ1が起動するときなどにコンピュータプログラム13を記憶部12から読み取って実行する。
 ネットワークノード2は、コンピュータであり、CPUである実行部21と、記録媒体である記憶部22と、フローキャッシュ2-3と、を具備している。記憶部22には、ネットワークノード2に実行させるためのコンピュータプログラム23が記憶されている。実行部21は、ネットワークノード2が起動するときなどにコンピュータプログラム23を記憶部22から読み取って実行する。
 図2は、本発明の第1実施形態による通信システムの制御サーバ1及びネットワークノード2の構成を示すブロック図である。
 制御サーバ1の記憶部12は、フローテーブル1-2を備え、そのコンピュータプログラム13は、制限帯域設定部1-1、通知フロー決定部1-3、廃棄率決定部1-4を含んでいる。制御サーバ1は、ネットワークノード2に接続されている。
 ネットワークノード2のコンピュータプログラム23は、パケット監視部2-1、キャッシュ置き換え部2-2、パケット廃棄部2-4を含んでいる。ネットワークノード2は、パケットの中継を行う。パケットは、パケットが属するフローに関するフロー情報を含んでいる。フロー情報は、パケットのヘッダに付加されている。
 フローテーブル1-2には、受信帯域と制限帯域とを含む複数のフロー情報が登録されている。
 フローキャッシュ2-3には、複数のフロー情報のうちの一部のフロー情報が登録されている。フローキャッシュ2-3に登録されている一部のフロー情報はパケット廃棄率Diを含んでいる。
 ネットワークノード2のパケット監視部2-1は、パケットを受信パケットとして受信し、パケット破棄部2-4と制御サーバ1とに出力する。制御サーバ1の制限帯域設定部1-1は、パケット監視部2-1により受信パケットが受信されたときの受信帯域を計測し、そのときの制限帯域を推測して、受信パケットのフロー情報に受信帯域と制限帯域とを付加してフローテーブル1-2に登録する。即ち、受信パケットのフロー情報の受信帯域と制限帯域とを更新する。
 制御サーバ1の通知フロー決定部1-3は、フローテーブル1-2に登録されている複数のフロー情報の中から、予め決められた第1の確率(以下、確率Pi)に従って、1つのフロー情報を選択フロー情報iとして定期的に選択する。確率Piは、フローテーブル1-2に登録されている複数のフロー情報の中から、1つのフロー情報が選択フロー情報iとして選択される確率を表している。廃棄率決定部1-4は、予め決められた第2の確率(以下、確率Di)を、選択フロー情報iに対するパケット廃棄率Diとして決定する。パケット廃棄率Diは、選択フロー情報i(特定のフロー)に属する全てのパケットの中から、受信パケットを廃棄するための確率を表している。廃棄率決定部1-4は、選択フロー情報iとパケット廃棄率Diとをネットワークノード2に出力する。
 ネットワークノード2のキャッシュ置き換え部2-2は、フローキャッシュ2-3の容量に空きがあるか否かを調べる。フローキャッシュ2-3の容量に空きがある場合、キャッシュ置き換え部2-2は、選択フロー情報iに対するパケット廃棄率Diを選択フロー情報iに付加してフローキャッシュ2-3に登録する。フローキャッシュ2-3の容量に空きがない場合、キャッシュ置き換え部2-2は、予め決められた第3の確率(以下、確率Rj)に従って、フローキャッシュ2-3に登録されている一部のフロー情報のうちの1つのフロー情報を削除し、選択フロー情報iに対するパケット廃棄率Diを選択フロー情報iに付加してフローキャッシュ2-3に登録する。確率Rjは、フローキャッシュ2-3に登録されている一部のフロー情報の中から、1つのフロー情報jが選択されて削除される確率を表している。
 ネットワークノード2のパケット破棄部2-4は、受信パケットのフロー情報と一致する一致フロー情報がフローキャッシュ2-3に登録されているか否かを調べる。上記一致フロー情報がフローキャッシュ2-3に登録されていない場合、パケット破棄部2-4は、受信パケットを送信パケットとして送信する。上記一致フロー情報がフローキャッシュ2-3に登録されている場合、パケット破棄部2-4は、上記一致フロー情報のパケット廃棄率Diに従って、受信パケットを破棄する。
 図3は、本発明の第1実施形態による通信システムの動作を示すフローチャートである。ここでは、図2及び図3を参照して、本実施形態の動作について説明する。
 まず、ネットワークノード2にパケットが到着したときの動作について説明する。
 ネットワークノード2のパケット監視部2-1は、パケットを受信パケットとして受信し(ステップS1)、パケット破棄部2-4と制御サーバ1とに出力する(ステップS2)。
 制御サーバ1の制限帯域設定部1-1は、パケット監視部2-1により受信パケットが受信されたときの受信帯域を計測する。また、制限帯域設定部1-1は、受信パケットのヘッダ(フロー情報)を基に、例えばパケット長やサンプリング確率や取得パケット数などを用いて、受信パケットが属するフローの制限帯域を推定する。制限帯域設定部1-1は、受信パケットのフロー情報に受信帯域と制限帯域とを付加してフローテーブル1-2に登録する(ステップS6)。この制限帯域はサービス毎に予め設定された固定値や、動的に計算される公平帯域を用いればよい。公平帯域とは、出力回線の帯域を、現在通信を行っているフロー数で割ったものであるが、公平帯域よりも低い帯域で通信を行っているフローがある場合、この差分の帯域については他のフローに割り当ててよいものとする。
 そして、ネットワークノード2のパケット破棄部2-4は、受信パケットのフロー情報と一致する一致フロー情報がフローキャッシュ2-3に登録されているか否かを調べる(ステップS3)。上記一致フロー情報がフローキャッシュ2-3に登録されていない場合(ステップS3-YES)、パケット破棄部2-4は、受信パケットを送信パケットとして送信する(通過させる)(ステップS4)。上記一致フロー情報がフローキャッシュ2-3に登録されている場合(ステップS3-NO)、パケット破棄部2-4は、フローキャッシュ2-3に登録されているパケット廃棄率Diに従って、受信パケットを破棄する(ステップS5)。
 次に、ネットワークノード2のフローキャッシュ2-3に登録された内容が更新されるときの動作について説明する。
 制御サーバ1の通知フロー決定部1-3は、フローテーブル1-2に登録されている複数のフロー情報の中から、確率Piに従ってフローキャッシュに登録すべきフロー情報を選択フロー情報iとして選択する(ステップS7)。次に、廃棄率決定部1-4は、確率Diを、選択フロー情報iに対するパケット廃棄率Diとして決定する。ここで、パケット廃棄率Diは、選択フロー情報iに関する目標廃棄率ではなく、選択フロー情報iがフローキャッシュ2-3に登録されている間にのみ適用される廃棄率である。選択フロー情報iは必ずしもいつでもフローキャッシュ2-3に登録されているとは限らないため、一般的にパケット廃棄率Diは選択フロー情報iに対する目標廃棄率よりも大きく設定する必要がある。そして、廃棄率決定部1-4は、選択フロー情報iとパケット廃棄率Diとをネットワークノード2に出力する(ステップS8)。
 ネットワークノード2のキャッシュ置き換え部2は、フローキャッシュ2-3のエントリに空きがあるか否かを調べる(ステップS9)。即ち、フローキャッシュ2-3の容量に空きがあるか否かを調べる。フローキャッシュ2-3のエントリに空きがある場合(ステップS9-YES)、キャッシュ置き換え部2-2は、選択フロー情報iに対するパケット廃棄率Diを選択フロー情報iに付加してフローキャッシュ2-3に登録する(ステップS11)。エントリに空きがない場合(ステップS9-NO)、確率Rjに従って、フローキャッシュ2-3に登録されている一部のフロー情報のうちの1つのフロー情報と既存パケット廃棄率とに使用されているエントリを削除し(ステップS10)、空いた場所に新規の情報として、選択フロー情報iに対するパケット廃棄率Diを選択フロー情報iに付加してフローキャッシュ2-3に登録する(ステップS11)。
 ステップS11が実行された後、ステップS7以降が実行される。
 以上で述べた確率Pi、パケット廃棄率Di、確率Rjは、任意に設定することができ、何通りも考えられる。
 例えば、確率Piについては、上記の選択フロー情報、制限帯域、受信帯域をそれぞれi、Bi、Liとしたとき、
・選択フロー情報iに対して一律の確率Pi{Pi=固定値A(0≦A≦1)}、
・選択フロー情報iの受信帯域Biに比例した確率Pi{Pi=f1(Bi)、0≦f1≦1}、
・選択フロー情報iの制限帯域Biと受信帯域Liとの差分に比例した確率Pi{Pi=f2(Bi-Li)、0≦f2≦1}、
・選択フロー情報iに対して予め定められたパケット廃棄率Hiに応じた確率Pi{Pi=f3(Hi)、0≦f3≦1}、
・選択フロー情報iをフローキャッシュ2-3に前回登録した時刻Tiから、現在時刻Tまでの経過時間に応じた確率Pi{Pi=f4(T-Ti)、0≦f4≦1}、
・選択フロー情報iを含むパケットを受信した時刻Aiから、現在時刻Tまでの経過時間に応じた確率Pi{Pi=f5(1/(T-Ai))、0≦f5≦1}、
のいずれかが挙げられる。
 また、パケット廃棄率Diについては、上記の選択フロー情報、制限帯域、受信帯域をそれぞれi、Bi、Liとしたとき、
・選択フロー情報iに対して一律の確率Di{Di=固定値A(0≦A≦1)}、
・選択フロー情報iの受信帯域Biに比例した確率Di{Di=f1(Bi)、0≦f1≦1}、
・選択フロー情報iの制限帯域Biと受信帯域Liとの差分に比例した確率Di{Di=f2(Bi-Li)、0≦f2≦1}、
・選択フロー情報iに対して予め定められたパケット廃棄率Hiに応じた確率Di{Di=f3(Hi)、0≦f3≦1}、
・選択フロー情報iをフローキャッシュ2-3に前回登録した時刻Tiから、現在時刻Tまでの経過時間に応じた確率Di{Di=f4(T-Ti)、0≦f4≦1}、
・選択フロー情報iを含むパケットを受信した時刻Aiから、現在時刻Tまでの経過時間に応じた確率Di{Di=f5(1/(T-Ai))、0≦f5≦1}、
のいずれかが挙げられる。
 また、確率Rjについては、上記の選択フロー情報、パケット廃棄率をそれぞれi、Diとしたとき、
・選択フロー情報iに対して一律の確率Ri{Ri=固定値C(0≦C≦1)}、
・パケット廃棄率Diに比例した確率Ri{Ri=g1(1/Di)、0≦g1≦1}、
・選択フロー情報iをフローキャッシュ2-3に前回登録した時刻Tiから、現在時刻Tまでの経過時間に応じた確率Ri{Ri=g2(T-Ti)、0≦g2≦1}、
・選択フロー情報iを含むパケットを受信した時刻Aiから、現在時刻Tまでの経過時間に応じた確率Ri{Ri=g3(1/(T-Ai))、0≦g3≦1}、
のいずれかが挙げられる。
 また、確率Piやパケット廃棄率Diについては、確率Piやパケット廃棄率Diに対して指数関数や対数関数を適用した確率を用いても良い。
 例えば、ある選択フロー情報i(特定のフロー)に属する全てのパケットの中から、受信パケットを20%廃棄したい場合を考える。選択フロー情報iに対する確率Piの割合が10%であったとすれば、制御サーバ1からネットワークノード2へのフロー情報の通知のうち、10回に1回は選択フロー情報iが通知されることになる。ここで、フローキャッシュ2-3の容量のうちの、フロー情報が登録される容量を5フローとし、ランダムに書き換えられるとすると、フローキャッシュ2-3に選択フロー情報iが登録されている確率は50%となる。従って、パケット廃棄率Diを40%と設定すれば、選択フロー情報i(特定のフロー)に属するパケット全体のパケット廃棄率を20%とすることが可能である。
 以上の説明により、本発明の第1実施形態による通信システムによれば、制御サーバ1は、複数のフロー情報が登録されたフローテーブル1-2を具備し、ネットワークノード2は、複数のフロー情報のうちの一部のフロー情報が登録されたフローキャッシュ2-3を具備している。従って、本発明の第1実施形態による通信システムによれば、ネットワークノード2が保持するフロー情報を削減することができる。このため、低コストでネットワークノード2を構成することができる。
 また、本発明の第1実施形態による通信システムによれば、制御サーバ1は、フローテーブル1-2に登録されている複数のフロー情報の中から、1つのフロー情報を選択フロー情報iとして定期的に選択し、ネットワークノード2は、フローキャッシュ2-3に登録されている一部のフロー情報のうちの1つのフロー情報を削除し、選択フロー情報iをフローキャッシュ2-3に登録している。このように、ネットワークノードが保持するフロー情報は、頻繁に入れ替えが行われる。このため、本発明の第1実施形態による通信システムによれば、ネットワークノード2において、制御したいフローの数に相当するフロー情報を保持することができる容量が制限されても、全てのフローについて適切にトラヒックの制限を行うことができる。
 (第2実施形態)
 第2実施形態では、第1実施形態と重複する説明を省略する。
 図4は、本発明の第2実施形態による通信システムの制御サーバ1及びネットワークノード2の構成を示すブロック図である。
 制御サーバ1のコンピュータプログラム13は、第1実施形態の構成に加えて、更に、ネットワークノード振り分け部1-5、ネットワークノード登録部1-6を含んでいる。
 ネットワークノード2のコンピュータプログラム23は、第1実施形態の構成に加えて、更に、制御サーバ振り分け部2-5を含んでいる。
 本実施形態では、
(第1の構成)1つの制御サーバ1に対して複数のネットワークノード2が接続された構成、
(第2の構成)複数の制御サーバ1に対して1つのネットワークノード2が接続された構成、
において、制御サーバ1とネットワークノード2間の通信方式が異なる。以下ではこの相違点について説明する。
 (第1の構成)
 まず、1つの制御サーバ1に対して複数のネットワークノード2が接続された構成の場合の説明を行う。
 制御サーバ1は、複数のネットワークノード2に接続されている。そこで、制御サーバ1のフローテーブル1-2には、複数の識別情報に対応付けて、受信帯域と制限帯域とを含む複数のフロー情報が登録されている。複数の識別情報は、それぞれ、複数のネットワークノード2を識別するための情報である。
 複数のネットワークノード2の制御サーバ振り分け部2-5は、それぞれ複数のネットワークノード2のパケット監視部2-1により受信された受信パケットと、それぞれ複数のネットワークノード2を識別する識別情報と、を制御サーバ1に出力する。このとき、複数のネットワークノード2から、それぞれ、複数の受信パケットと複数の識別情報とが出力される。制御サーバ1のネットワークノード登録部1-6は、フローテーブル1-2を参照して、複数の識別情報がそれぞれ複数のネットワークノード2から出力された情報であることを振り分け部2-5に通知する。制限帯域設定部1-1は、複数のネットワークノード2から出力された複数の受信パケットに対して受信帯域を計測し、制限帯域を推測して、複数のネットワークノード2から出力された受信パケットのフロー情報に受信帯域と制限帯域とを付加し、複数のネットワークノード2から出力された識別情報に対応付けてフローテーブル1-2に登録する。
 制御サーバ1のネットワークノード振り分け部1-5は、複数のネットワークノード2に対して、通知フロー決定部1-3により選択された選択フロー情報iと、廃棄率決定部1-4により決定されたパケット廃棄率Diと、をそれぞれ複数のネットワークノード2に出力する。複数のネットワークノード2のキャッシュ置き換え部2-2は、それぞれ複数のネットワークノード2のフローキャッシュ2-3の容量に空きがあるか否かを調べる。フローキャッシュ2-3の容量に空きがある場合、キャッシュ置き換え部2-2は、選択フロー情報iに対するパケット廃棄率Diを選択フロー情報iに付加してフローキャッシュ2-3に登録する。フローキャッシュ2-3の容量に空きがない場合、キャッシュ置き換え部2-2は、予め決められた確率Rjに従って、フローキャッシュ2-3に登録されている一部のフロー情報のうちの1つのフロー情報を削除し、選択フロー情報iに対するパケット廃棄率Diを選択フロー情報iに付加してフローキャッシュ2-3に登録する。
 (第2の構成)
 次に、複数の制御サーバ1に対して1つのネットワークノード2が接続された構成の場合の説明を行う。
 ネットワークノード2は、複数の制御サーバ1に接続されている。そこで、複数の制御サーバ1のフローテーブル1-2には、識別情報に対応付けて、複数のフロー情報と、複数の受信帯域と、複数の制限帯域と、が登録されている。識別情報は、ネットワークノード2を識別するための情報である。即ち、特定のネットワークノード2が上記の複数の制御サーバ1を占有して使用することができ、他のネットワークノード2は、特定のネットワークノード2が占有する複数の制御サーバ1を使用できないようになっている。
 ネットワークノード2の制御サーバ振り分け部2-5は、パケット監視部2-1により受信された受信パケットと、自身のネットワークノード2を識別する識別情報と、を複数の制御サーバ1に出力する。複数の制御サーバ1のネットワークノード登録部1-6は、それぞれ複数の制御サーバ1のフローテーブル1-2を参照して、識別情報が特定のネットワークノード2から出力された情報であることを振り分け部2-5に通知する。複数の制御サーバ1の制限帯域設定部1-1は、ネットワークノード2から出力された受信パケットに対して受信帯域を計測し、制限帯域を推測して、ネットワークノード2から出力された受信パケットのフロー情報に受信帯域と制限帯域とを付加し、ネットワークノード2から出力された識別情報に対応付けて、それぞれ複数の制御サーバ1のフローテーブル1-2に登録する。
 複数の制御サーバ1のネットワークノード振り分け部1-5は、ネットワークノード2に対して、それぞれ複数の制御サーバ1の通知フロー決定部1-3により選択された選択フロー情報iと、それぞれ複数の制御サーバ1の廃棄率決定部1-4により決定されたパケット廃棄率Diと、をネットワークノード2に出力する。ネットワークノード2のキャッシュ置き換え部2-2は、フローキャッシュ2-3の容量に空きがあるか否かを調べる。フローキャッシュ2-3の容量に空きがある場合、キャッシュ置き換え部2-2は、選択フロー情報iに対するパケット廃棄率Diを選択フロー情報iに付加してフローキャッシュ2-3に登録する。フローキャッシュ2-3の容量に空きがない場合、キャッシュ置き換え部2-2は、予め決められた確率Rjに従って、フローキャッシュ2-3に登録されている一部のフロー情報のうちの1つのフロー情報を削除し、選択フロー情報iに対するパケット廃棄率Diを選択フロー情報iに付加してフローキャッシュ2-3に登録する。
 以上の説明により、本発明の第2実施形態による通信システムによれば、1つの制御サーバ1に対して複数のネットワークノード2が接続された構成(第1の構成)では制御サーバ1の台数を削減する効果があり、複数の制御サーバ1に対して1つのネットワークノード2が接続された構成(第2の構成)では複数の制御サーバ1の各々のおける付加を分散できる効果がある。
 (第3実施形態)
 第3実施形態では、第1実施形態と重複する説明を省略する。
 図5は、本発明の第3実施形態による通信システムの制御サーバ1及びネットワークノード2の構成を示すブロック図である。
 制御サーバ1のコンピュータプログラム13は、第1実施形態の構成に加えて、更に、非制御フロー廃棄率決定部1-7を含んでいる。
 ネットワークノード2のコンピュータプログラム23は、第1実施形態の構成に加えて、更に、ノード状態監視部2-6を含んでいる。
 ネットワークノード2のノード状態監視部2-6は、自身のネットワークノード2の状態を表す状態情報を制御サーバ1に出力する。そこで、状態情報が、パケット監視部2-1により受信された受信パケットに対してフロー情報がフローキャッシュ2-3に登録されていないことを表している。この場合、制御サーバ1の非制御フロー廃棄率決定部1-7は、受信パケットのフロー情報に対するパケット廃棄率を決定し、ネットワークノード2に出力する。ネットワークノード2のパケット破棄部2-4は、受信パケットのフロー情報と一致する一致フロー情報がフローキャッシュ2-3に登録されている場合、非制御フロー廃棄率決定部1-7からのパケット廃棄率と上記一致フロー情報のパケット廃棄率Diとに従って、受信パケットを破棄する。
 本実施形態では、パケット廃棄部2-4において、フローキャッシュ2-3に登録されていないフロー情報(フロー)に属するパケットが到着した場合の処理が異なる。以下ではこの相違点について説明する。
 まず、ネットワークノード2のノード状態監視部2-6では、自身のネットワークノード2内のキュー長や合計入力帯域などの状態を監視し、これを状態情報として制御サーバ1に送信する。制御サーバ1の非制御フロー廃棄率決定部1-7は、フローキャッシュ2-3に登録されていないフロー情報(フロー)に属するパケットが到着した場合のパケット廃棄率を計算する。このパケット廃棄率は、状態情報が表す状態やフローテーブル1-2に格納されている複数のフロー情報の状態(受信帯域、制限帯域)より計算するものとする。例えば、状態情報が表す状態を用いてパケット廃棄率=max(0、(1-回線帯域/合計入力レート))と計算しても良いし、本方式によってネットワークノード2を通過する帯域の推定値(制限帯域)の合計を用いてパケット廃棄率=max(0、(1-回線帯域/推定値))を計算しても良い。
 ネットワークノード2のパケット廃棄部2-4は、受信パケットのフロー情報と一致する一致フロー情報がフローキャッシュ2-3に登録されていない場合、非制御フロー廃棄率決定部1-7からのパケット廃棄率と上記一致フロー情報のパケット廃棄率Diとに従って、受信パケットを廃棄する。ここで、フローキャッシュ2-3に登録されているパケット廃棄率Diに対して上記非制御フロー廃棄率決定部1-7からのパケット廃棄率を上乗せした廃棄率で、受信パケットを廃棄する。
 (第4実施形態)
 第4実施形態では、第1実施形態と重複する説明を省略する。
 図6は、本発明の第4実施形態による通信システムの制御サーバ1及びネットワークノード2の構成を示すブロック図である。
 制御サーバ1のコンピュータプログラム13は、第1実施形態における廃棄率決定部1-4に代えて、制限帯域決定部1-8を含んでいる。
 ネットワークノード2のコンピュータプログラム23は、第1実施形態におけるパケット廃棄部2-4に代えて、シェイパ処理部2-7を含んでいる。
 制御サーバ1の制限帯域決定部1-8は、制限帯域設定部1-1により推測される制限帯域である第1制限帯域が表す値よりも所定値だけ小さい第2制限帯域を決定する。これはフローキャッシュ2-3に登録されていない期間のパケット廃棄を行わないため、フローキャッシュ2-3に登録されている期間は低い制限帯域を設定することでその埋め合わせを行うためである。制限帯域決定部1-8は、選択フロー情報iと第2制限帯域とをネットワークノード2に出力する。
 ここで、フローキャッシュ2-3に登録されている一部のフロー情報は、パケット廃棄率ではなく、第2制限帯域である。
 ネットワークノード2のキャッシュ置き換え部2-2は、フローキャッシュ2-3の容量に空きがあるか否かを調べる。フローキャッシュ2-3の容量に空きがある場合、キャッシュ置き換え部2-2は、選択フロー情報iに対する第2制限帯域を選択フロー情報iに付加してフローキャッシュ2-3に登録する。フローキャッシュ2-3の容量に空きがない場合、キャッシュ置き換え部2-2は、確率Rjに従って、フローキャッシュ2-3に登録されている一部のフロー情報のうちの1つのフロー情報を削除し、選択フロー情報iに対する第2制限帯域を選択フロー情報iに付加してフローキャッシュ2-3に登録する。
 ネットワークノード2のシェイパ処理部2-7は、受信パケットのフロー情報と一致する一致フロー情報がフローキャッシュ2-3に登録されているか否かを調べる。上記一致フロー情報がフローキャッシュ2-3に登録されていない場合、シェイパ処理部2-7は、受信パケットを送信パケットとして送信する。上記一致フロー情報がフローキャッシュ2-3に登録されている場合、シェイパ処理部2-7は、パケット監視部2-1により受信パケットが受信されたときの受信帯域と、上記一致フロー情報の第2制限帯域とを比較し、受信パケットの受信帯域が上記一致フロー情報の第2制限帯域よりも高い場合、受信パケットを破棄する。
 本発明の第4実施形態による通信システムによれば、第1実施形態に対して、シェイパ処理部2-7において選択フロー情報i(特定のフロー)に属するパケットの制限帯域を監視するという処理が加わる。一方、制限帯域の変動が大きい場合には第1実施形態と比較して受信パケットを廃棄する制御を実行する上で追従性が高い。
 (第5実施形態)
 図7は、本発明の第5実施形態による通信システムの構成を示している。通信システムは、制御サーバ1と、ネットワークノード2と、を具備している。
 図8は、本発明の第5実施形態による通信システムの制御サーバ1及びネットワークノード2の構成を示すブロック図である。
 制御サーバ1のコンピュータプログラム13は、第1実施形態における通知フロー決定部1-3に代えて、ブルームフィルタ作成部1-9を含んでいる。
 ネットワークノード2は、第1実施形態におけるフローキャッシュ2-3に代えて、ブルームフィルタ保持部2-9を備えている。ネットワークノード2のコンピュータプログラム23は、第1実施形態におけるキャッシュ置き換え部2-2に代えて、ブルームフィルタ置き換え部2-8、を含んでいる。
 ブルームフィルタ保持部2-9には、既存ブルームフィルタが登録されている。
 制御サーバ1の廃棄率決定部1-4は、フローテーブル1-2に登録されている複数のフロー情報に対してそれぞれ複数のパケット廃棄率Diを決定する。ブルームフィルタ作成部1-9は、複数のパケット廃棄率をそれぞれ表す複数のビットを含むブルームフィルタを生成する。ブルームフィルタ作成部1-9は、ブルームフィルタをネットワークノード2に出力する。
 ネットワークノード2のブルームフィルタ置き換え部2-8は、ブルームフィルタ保持部2-9に登録されている既存ブルームフィルタを削除し、ブルームフィルタをブルームフィルタ保持部2-9に登録する。パケット破棄部2-4は、ブルームフィルタ保持部2-9に登録されているブルームフィルタに基づいて、受信パケットのフロー情報に対するパケット廃棄率を選択パケット廃棄率として決定し、選択パケット廃棄率に従って、受信パケットを破棄する。
 ブルームフィルタは、上記の複数のビットとしてNビット(Nは2以上の整数)のビットマップで構成されるフィルタであり、Nビットがそれぞれ複数のフロー情報(複数のフロー)に対応する。ブルームフィルタ作成部1-9は、あるフロー情報i(iは、1≦x≦Nを満たす整数)についてiをハッシュ関数にかけて1~Nまでの数値を決定し、この数値に対応するビットを“1”に設定する。これにより、ブルームフィルタでは、少ないビット数で、それぞれのフローが含まれているかどうかの判定が可能である。
 図9は、本発明の第5実施形態による通信システムの動作を示すフローチャートである。ここでは、図8及び図9を参照して、本実施形態の動作について説明する。
 まず、ネットワークノード2にパケットが到着したときの動作について説明する。
 ネットワークノード2のパケット監視部2-1は、パケットを受信パケットとして受信し(ステップS1)、パケット破棄部2-4と制御サーバ1とに出力する(ステップS2)。制御サーバ1の制限帯域設定部1-1は、パケット監視部2-1により受信パケットが受信されたときの受信帯域を計測する。また、制限帯域設定部1-1は、そのときの制限帯域を推定する。制限帯域設定部1-1は、受信パケットのフロー情報に受信帯域と制限帯域とを付加してフローテーブル1-2に登録する(ステップS6)。
 ネットワークノード2のパケット破棄部2-4は、受信パケットのフロー情報についてハッシュ関数を用いて複数のブルームフィルタの複数のビットの各々を特定する。そして、保持している複数のブルームフィルタに対してこのビットが“1”に設定されているかどうかを調べ、“1”に設定されている割合を計算する(ステップS21)。次に、制御サーバ1から通知された最大パケット廃棄率に対して上記割合を乗じ、このパケット廃棄率を基に確率的に受信パケットを廃棄する(ステップS22)。すなわち本実施形態においてブルームフィルタは、フロー毎のパケット廃棄率を効率的に格納するための部である。第1実施形態と比較すると、ハッシュ値の衝突により誤ってパケットを廃棄するという問題やパケット廃棄率の設定粒度が荒いという問題はあるが、特定のフローだけでなく全てのフロー情報をネットワークノード2で保持可能であるため、より積極的な制御が可能である。
 次に、ネットワークノード2のフローキャッシュ2-3に登録された内容が更新されるときの動作について説明する。
 制御サーバ1の廃棄率決定部1-4は、フローテーブル1-2に登録されている複数のフロー情報に対してそれぞれ複数のパケット廃棄率を計算する(ステップS23)。このパケット廃棄率は、第1実施形態におけるパケット廃棄率の計算とは異なり、制限帯域を到着帯域で割ったもの、すなわち目標とするパケット廃棄率である。そして、ブルームフィルタ作成部1-9は、複数のパケット廃棄率の中から、最大値を表す最大廃棄率を決定し、複数のパケット廃棄率をそれぞれ表す複数のビットを含むブルームフィルタを生成する(ステップS24)。このとき、ブルームフィルタ作成部1-9は、ブルームフィルタの複数のビットの各々に、そのビットに対応するフロー情報におけるパケット廃棄率を最大廃棄率で割った値の確率で“1”を書き込む。即ち、最も廃棄率の高いフローについては、対応するビットが常に“1”に設定され、最大廃棄率の半分の廃棄率に設定されたフローは、対応するビットに50%の確率で“1”を書き込む。これを全てのビットについて計算し、作成したブルームフィルタをネットワークノード2に出力する。
 ネットワークノード2のブルームフィルタ置き換え部2-8は、既存ブルームフィルタを削除し(ステップS25-NO、S26)、ブルームフィルタをブルームフィルタ保持部2-9に登録する(ステップS27)。
 ここで、毎回ブルームフィルタを作成する処理コストが問題になるならば、ブルームフィルタ作成部1-9は、予め複数のブルームフィルタを作成しておき、これを順番にネットワークノードに出力すればよい。
 この場合、ネットワークノード2のブルームフィルタ保持部2-9には、複数の既存ブルームフィルタが登録されている。ブルームフィルタ置き換え部2-8は、ブルームフィルタ保持部2-9の容量に空きがあるか否かを調べる(ステップS25)。ブルームフィルタ保持部2-9の容量に空きがある場合(ステップS25-YES)、ブルームフィルタ置き換え部2-8は、ブルームフィルタをブルームフィルタ保持部2-9に登録する(ステップS27)。ブルームフィルタ保持部2-9の容量に空きがない場合(ステップS25-NO)、ブルームフィルタ置き換え部2-8は、確率Rjに従って、ブルームフィルタ保持部2-9に登録されている複数の既存ブルームフィルタのうちの1つの既存ブルームフィルタを削除し(ステップS26)、ブルームフィルタをブルームフィルタ保持部2-9に登録する(ステップS27)。
 ステップS27が実行された後、ステップS23以降が実行される。
 以上の説明により、本発明の第5実施形態による通信システムによれば、ネットワークノード2が保持するフロー情報を1フローあたり1ビットに削減できる。このため、大量のフロー情報を低コストでネットワークノード2に保持することができる。ここで、ネットワークノード2に保持されるフロー情報は1フローあたり1ビットしかないため、制御をかけるかどうかの2値判断のみであるが、本発明においては、このフロー情報を頻繁に更新することにより、より細粒度な制御を実現する。例えば、最大値で制御をかけたいフローについては常にフロー情報に対応するビットを立てておいて常に制御がかかるようにする。一方、最大値の1/10で制御をかけたいフローについてはフロー情報を定期的に更新するにあたって10回に1回の割合でフロー情報に対応するビットを立てればよい。
 なお、本発明では、制御サーバ1とネットワークノード2が分離した構成であるが、これらが一体となった構成でも良い。この場合、制御サーバ1の構成はネットワークノード2内に設けられ、制御サーバ1とネットワークノード2間の通信は、ネットワークノード2内部の内部バスを用いて通信する。
 また、本発明では、トラヒックを扱う単位として、フロー毎と表記しているが、これに限定されない。トラヒックを扱う単位としては、フロー毎やユーザ毎、端末毎など様々な単位がある。本発明の方式では、フロー毎だけでなく、ユーザ毎や端末毎にも適応可能である。
 以上、実施形態を参照して本発明を説明したが、本発明は上記実施形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
 この出願は、2008年2月4日に出願された特許出願番号2008-024334号の日本特許出願に基づいており、その出願による優先権の利益を主張し、その出願の開示は、引用することにより、そっくりそのままここに組み込まれている。

Claims (18)

  1.  パケットの中継を行うネットワークノードと、
     前記ネットワークノードに接続された制御サーバと、
    を具備し、
     前記パケットは、前記パケットが属するフローに関するフロー情報を含み、
     前記制御サーバは、
     複数のフロー情報が登録されたフローテーブル、
    を具備し、
     前記ネットワークノードは、
     前記パケットを受信パケットとして受信するパケット監視部と、
     前記複数のフロー情報のうちの一部のフロー情報が登録されたフローキャッシュと、ここで、前記フローキャッシュに登録されている前記一部のフロー情報はパケット廃棄率を含み、
     前記受信パケットの前記フロー情報と一致する一致フロー情報が前記フローキャッシュに登録されていない場合、前記受信パケットを送信パケットとして送信し、前記一致フロー情報が前記フローキャッシュに登録されている場合、前記一致フロー情報の前記パケット廃棄率に従って前記受信パケットを破棄するパケット破棄部と、
    を具備し、
     前記制御サーバは、
     前記フローテーブルに登録されている前記複数のフロー情報の中から、1つのフロー情報を選択フロー情報として定期的に選択する通知フロー決定部、
    を更に具備し、
     前記ネットワークノードは、
     前記フローキャッシュの容量に空きがある場合、前記選択フロー情報に対する前記パケット廃棄率を前記選択フロー情報に付加して前記フローキャッシュに登録し、前記フローキャッシュの容量に空きがない場合、前記フローキャッシュに登録されている前記一部のフロー情報のうちの1つのフロー情報を削除し、前記選択フロー情報に対する前記パケット廃棄率を前記選択フロー情報に付加して前記フローキャッシュに登録するキャッシュ置き換え部、
    を更に具備する通信システム。
  2.  前記制御サーバの前記通知フロー決定部は、予め決められた第1の確率に従って、定期的に前記選択フロー情報を選択する、
    請求の範囲1に記載の通信システム。
  3.  前記制御サーバは、
     予め決められた第2の確率を、前記選択フロー情報に対する前記パケット廃棄率として決定する廃棄率決定部、
    を更に具備する請求の範囲2に記載の通信システム。
  4.  前記制御サーバは、
     前記パケット監視部により前記受信パケットが受信されたときの受信帯域を計測し、そのときの制限帯域を推測して、前記受信パケットの前記フロー情報に前記受信帯域と前記制限帯域とを付加して前記フローテーブルに登録する制限帯域設定部、
    を更に具備し、
     前記フローテーブルには、複数の前記フロー情報が登録され、
     前記第1の確率は、前記選択フロー情報、前記制限帯域、前記受信帯域をそれぞれi、Bi、Liとしたとき、
     前記選択フロー情報iに対して一律の確率Pi{Pi=固定値A(0≦A≦1)}、
     前記選択フロー情報iの前記受信帯域Biに比例した確率Pi{Pi=f1(Bi)、0≦f1≦1}、
     前記選択フロー情報iの前記制限帯域Biと前記受信帯域Liとの差分に比例した確率Pi{Pi=f2(Bi-Li)、0≦f2≦1}、
     前記選択フロー情報iに対して予め定められたパケット廃棄率Hiに応じた確率Pi{Pi=f3(Hi)、0≦f3≦1}、
     前記選択フロー情報iを前記フローキャッシュに前回登録した時刻Tiから、現在時刻Tまでの経過時間に応じた確率Pi{Pi=f4(T-Ti)、0≦f4≦1}、
     前記選択フロー情報iを含むパケットを受信した時刻Aiから、現在時刻Tまでの経過時間に応じた確率Pi{Pi=f5(1/(T-Ai))、0≦f5≦1}、
     前記第1の確率に対して指数関数や対数関数を適用した確率、
    のいずれかである、
    請求の範囲2又は3に記載の通信システム。
  5.  前記制御サーバは、
     前記パケット監視部により前記受信パケットが受信されたときの受信帯域を計測し、そのときの制限帯域を推測して、前記受信パケットの前記フロー情報に前記受信帯域と前記制限帯域とを付加して前記フローテーブルに登録する制限帯域設定部、
    を更に具備し、
     前記フローテーブルには、複数の前記フロー情報が登録され、
     前記第2の確率は、前記選択フロー情報、前記制限帯域、前記受信帯域をそれぞれi、Bi、Liとしたとき、
     前記選択フロー情報iに対して一律の確率Di{Di=固定値A(0≦A≦1)}、
     前記選択フロー情報iの前記受信帯域Biに比例した確率Di{Di=f1(Bi)、0≦f1≦1}、
     前記選択フロー情報iの前記制限帯域Biと前記受信帯域Liとの差分に比例した確率Di{Di=f2(Bi-Li)、0≦f2≦1}、
     前記選択フロー情報iに対して予め定められたパケット廃棄率Hiに応じた確率Di{Di=f3(Hi)、0≦f3≦1}、
     前記選択フロー情報iを前記フローキャッシュに前回登録した時刻Tiから、現在時刻Tまでの経過時間に応じた確率Di{Di=f4(T-Ti)、0≦f4≦1}、
     前記選択フロー情報iを含むパケットを受信した時刻Aiから、現在時刻Tまでの経過時間に応じた確率Di{Di=f5(1/(T-Ai))、0≦f5≦1}、
     前記第2の確率に対して指数関数や対数関数を適用した確率、
    のいずれかである、
    請求の範囲3に記載の通信システム。
  6.  前記ネットワークノードのキャッシュ置き換え部は、
     前記フローキャッシュの容量に空きがない場合、
     予め決められた第3の確率に従って、前記フローキャッシュに登録されている前記一部のフロー情報のうちの1つのフロー情報を削除し、
     前記選択フロー情報に対する前記パケット廃棄率を前記選択フロー情報に付加して前記フローキャッシュに登録する、
    請求の範囲4又は5に記載の通信システム。
  7.  前記第3の確率は、前記選択フロー情報、前記パケット廃棄率をそれぞれi、Diとしたとき、
     前記選択フロー情報iに対して一律の確率Ri{Ri=固定値C(0≦C≦1)、0≦g1≦1}、
     前記パケット廃棄率Diに比例した確率Ri{Ri=g1(1/Di)}、
     前記選択フロー情報iを前記フローキャッシュに前回登録した時刻Tiから、現在時刻Tまでの経過時間に応じた確率Ri{Ri=g2(T-Ti)、0≦g2≦1}、
     前記選択フロー情報iを含むパケットを受信した時刻Aiから、現在時刻Tまでの経過時間に応じた確率Ri{Ri=g3(1/(T-Ai))、0≦g3≦1}、
    のいずれかである、
    請求の範囲6に記載の通信システム。
  8.  前記制御サーバは、複数の前記ネットワークノードに接続され、
     前記ネットワークノードは、
     前記パケット監視部により受信された前記受信パケットと、自身の前記ネットワークノードを識別する識別情報と、を前記制御サーバの前記制限帯域設定部に出力する制御サーバ振り分け部、
    を更に具備し、
     前記フローテーブルには、複数の前記識別情報に対応付けて、前記複数のフロー情報が登録され、
     前記制御サーバの制限帯域設定部は、
     前記複数のネットワークノードから出力された複数の前記受信パケットに対して前記受信帯域を計測し、前記制限帯域を推測して、前記複数のネットワークノードから出力された前記受信パケットの前記フロー情報に前記受信帯域と前記制限帯域とを付加し、前記複数のネットワークノードから出力された前記識別情報に対応付けて前記フローテーブルに登録し、
     前記制御サーバは、
     前記複数のネットワークノードに対して、前記通知フロー決定部により選択された前記選択フロー情報と、前記廃棄率決定部により決定された前記パケット廃棄率と、をそれぞれ前記複数のネットワークノードの前記キャッシュ置き換え部に出力するネットワークノード振り分け部、
    を更に具備する請求の範囲4~7のいずれかに記載の通信システム。
  9.  前記ネットワークノードは、複数の前記制御サーバに接続され、
     前記ネットワークノードは、
     前記パケット監視部により受信された前記受信パケットを前記制御サーバの前記制限帯域設定部に出力する制御サーバ振り分け部、
    を更に具備し、
     前記複数の制御サーバの制限帯域設定部は、
     前記ネットワークノードから出力された前記受信パケットに対して前記受信帯域を計測し、前記制限帯域を推測して、前記ネットワークノードから出力された前記受信パケットの前記フロー情報に前記受信帯域と前記制限帯域とを付加し、それぞれ前記複数の制御サーバの前記フローテーブルに登録し、
     前記複数の制御サーバは、
     前記ネットワークノードに対して、それぞれ前記複数の制御サーバの前記通知フロー決定部により選択された前記選択フロー情報と、それぞれ前記複数の制御サーバの前記廃棄率決定部により決定された前記パケット廃棄率と、を前記ネットワークノードの前記キャッシュ置き換え部に出力するネットワークノード振り分け部、
    を更に具備する請求の範囲4~7のいずれかに記載の通信システム。
  10.  前記ネットワークノードは、
     自身の前記ネットワークノードの状態を表す状態情報を前記制御サーバに出力するノード状態監視部、
    を更に具備し、
     前記制御サーバは、
     前記状態情報が、前記パケット監視部により受信された前記受信パケットに対して前記フロー情報が前記フローキャッシュに登録されていないことを表す場合、前記受信パケットの前記フロー情報に対する前記パケット廃棄率を決定し、前記ネットワークノードの前記パケット破棄部に出力する非制御フロー廃棄率決定部、
    を更に具備し、
     前記パケット破棄部は、
     前記受信パケットの前記フロー情報と一致する前記一致フロー情報が前記フローキャッシュに登録されている場合、前記非制御フロー廃棄率決定部からの前記パケット廃棄率と前記一致フロー情報の前記パケット廃棄率とに従って、前記受信パケットを破棄する、
    請求の範囲3~7のいずれかに記載の通信システム。
  11.  前記制御サーバは、
     前記廃棄率決定部に代えて、制限帯域決定部、
    を具備し、
     前記制限帯域決定部は、前記制限帯域設定部により推測される前記制限帯域である第1制限帯域が表す値よりも所定値だけ小さい第2制限帯域を決定し、
     前記フローキャッシュに登録されている前記一部のフロー情報は、パケット廃棄率に代えて、前記第2制限帯域を含み、
     前記ネットワークノードの前記キャッシュ置き換え部は、
     前記フローキャッシュの容量に空きがある場合、前記選択フロー情報に対する前記第2制限帯域を前記選択フロー情報に付加して前記フローキャッシュに登録し、
     前記フローキャッシュの容量に空きがない場合、前記フローキャッシュに登録されている前記一部のフロー情報のうちの1つのフロー情報を削除し、前記選択フロー情報に対する前記第2制限帯域を前記選択フロー情報に付加して前記フローキャッシュに登録し、
     前記ネットワークノードは、
     前記パケット破棄部に代えて、シェイパ処理部、
    を具備し、
     前記シェイパ処理部は、
     前記受信パケットの前記フロー情報と一致する前記一致フロー情報が前記フローキャッシュに登録されていない場合、前記受信パケットを送信パケットとして送信し、
     前記一致フロー情報が前記フローキャッシュに登録されている場合、前記パケット監視部により前記受信パケットが受信されたときの前記受信帯域と、前記一致フロー情報の前記第2制限帯域とを比較し、前記受信パケットの前記受信帯域が前記一致フロー情報の前記第2制限帯域よりも高い場合、前記受信パケットを破棄する、
    請求の範囲4に記載の通信システム。
  12.  前記制御サーバは、
     前記通知フロー決定部に代えて、ブルームフィルタ作成部、
    を具備し、
     前記制御サーバの前記廃棄率決定部は、
     前記フローテーブルに登録されている前記複数のフロー情報に対してそれぞれ複数の前記パケット廃棄率を決定し、
     前記ブルームフィルタ作成部は、前記複数のパケット廃棄率をそれぞれ表す複数のビットを含むブルームフィルタを生成し、
     前記ネットワークノードは、
     前記フローキャッシュ、前記キャッシュ置き換え部に代えて、
     既存ブルームフィルタが登録されたブルームフィルタ保持部と、
     前記既存ブルームフィルタを削除し、前記ブルームフィルタを前記ブルームフィルタ保持部に登録するブルームフィルタ置き換え部と、
    を具備し、
     前記ネットワークノードのパケット破棄部は、
     前記ブルームフィルタ保持部に登録されている前記ブルームフィルタに基づいて、前記受信パケットの前記フロー情報に対する前記パケット廃棄率を選択パケット廃棄率として決定し、前記選択パケット廃棄率に従って、前記受信パケットを破棄する、
    請求の範囲3に記載の通信システム。
  13.  前記ブルームフィルタ保持部には、複数の前記既存ブルームフィルタが登録され、
     前記ブルームフィルタ置き換え部は、
     前記ブルームフィルタ保持部の容量に空きがある場合、前記ブルームフィルタを前記ブルームフィルタ保持部に登録し、
     前記ブルームフィルタ保持部の容量に空きがない場合、前記ブルームフィルタ保持部に登録されている前記複数の既存ブルームフィルタのうちの1つの既存ブルームフィルタを削除し、前記ブルームフィルタを前記ブルームフィルタ保持部に登録する、
    請求の範囲12に記載の通信システム。
  14.  前記制御サーバは、前記ネットワークノード内に設けられる、
    請求の範囲1~13のいずれかに記載の通信システム。
  15.  請求の範囲1~14のいずれかに記載の通信システムに使用されるネットワークノード。
  16.  請求の範囲1~14のいずれかに記載の通信システムに使用される制御サーバ。
  17.  複数のフロー情報が登録されたフローテーブルと、前記複数のフロー情報のうちの一部のフロー情報が登録されたフローキャッシュと、を用いて、パケットの中継を行う中継方法であって、
     前記パケットを受信パケットとして受信するステップと、ここで、前記パケットは、前記パケットが属するフローに関するフロー情報を含み、前記フローキャッシュに登録されている前記一部のフロー情報はパケット廃棄率を含み、
     前記受信パケットの前記フロー情報と一致する一致フロー情報が前記フローキャッシュに登録されていない場合、前記受信パケットを送信パケットとして送信するステップと、
     前記一致フロー情報が前記フローキャッシュに登録されている場合、前記一致フロー情報の前記パケット廃棄率に従って前記受信パケットを破棄するステップと、
     前記フローテーブルに登録されている前記複数のフロー情報の中から、1つのフロー情報を選択フロー情報として定期的に選択するステップと、
     前記フローキャッシュの容量に空きがある場合、前記選択フロー情報に対する前記パケット廃棄率を前記選択フロー情報に付加して前記フローキャッシュに登録するステップと、
     前記フローキャッシュの容量に空きがない場合、前記フローキャッシュに登録されている前記一部のフロー情報のうちの1つのフロー情報を削除し、前記選択フロー情報に対する前記パケット廃棄率を前記選択フロー情報に付加して前記フローキャッシュに登録するステップと、
    を具備する中継方法。
  18.  複数のフロー情報が登録されたフローテーブルと、前記複数のフロー情報のうちの一部のフロー情報が登録されたフローキャッシュと、を具備し、パケットの中継を行うコンピュータに適用され、
     前記パケットを受信パケットとして受信するステップと、ここで、前記パケットは、前記パケットが属するフローに関するフロー情報を含み、前記フローキャッシュに登録されている前記一部のフロー情報はパケット廃棄率を含み、
     前記受信パケットの前記フロー情報と一致する一致フロー情報が前記フローキャッシュに登録されていない場合、前記受信パケットを送信パケットとして送信するステップと、
     前記一致フロー情報が前記フローキャッシュに登録されている場合、前記一致フロー情報の前記パケット廃棄率に従って前記受信パケットを破棄するステップと、
     前記フローテーブルに登録されている前記複数のフロー情報の中から、1つのフロー情報を選択フロー情報として定期的に選択するステップと、
     前記フローキャッシュの容量に空きがある場合、前記選択フロー情報に対する前記パケット廃棄率を前記選択フロー情報に付加して前記フローキャッシュに登録するステップと、
     前記フローキャッシュの容量に空きがない場合、前記フローキャッシュに登録されている前記一部のフロー情報のうちの1つのフロー情報を削除し、前記選択フロー情報に対する前記パケット廃棄率を前記選択フロー情報に付加して前記フローキャッシュに登録するステップと、
    の各ステップを前記コンピュータに実行させるコンピュータプログラムが記憶され、前記コンピュータプログラムを前記コンピュータが読み取り可能な記録媒体。
PCT/JP2008/072317 2008-02-04 2008-12-09 通信システム WO2009098819A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009552388A JPWO2009098819A1 (ja) 2008-02-04 2008-12-09 通信システム

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2008-024334 2008-02-04
JP2008024334 2008-02-04

Publications (1)

Publication Number Publication Date
WO2009098819A1 true WO2009098819A1 (ja) 2009-08-13

Family

ID=40951902

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2008/072317 WO2009098819A1 (ja) 2008-02-04 2008-12-09 通信システム

Country Status (2)

Country Link
JP (1) JPWO2009098819A1 (ja)
WO (1) WO2009098819A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012060336A (ja) * 2010-09-08 2012-03-22 Nec Commun Syst Ltd 帯域制御システム、帯域制御装置及びそれらに用いる帯域制御ルールの運用方法
JP2012147104A (ja) * 2011-01-07 2012-08-02 Hitachi Ltd ネットワークノード
WO2016056217A1 (ja) * 2014-10-07 2016-04-14 日本電気株式会社 測定装置、測定システム、測定方法、および、プログラム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11168511A (ja) * 1997-09-12 1999-06-22 Lucent Technol Inc パケット検証方法
JP2004140618A (ja) * 2002-10-18 2004-05-13 Yokogawa Electric Corp パケットフィルタ装置および不正アクセス検知装置
JP2005217823A (ja) * 2004-01-30 2005-08-11 Nippon Telegr & Teleph Corp <Ntt> 通信網におけるレート制御方法およびレート制御システム
JP2007129430A (ja) * 2005-11-02 2007-05-24 Nippon Telegr & Teleph Corp <Ntt> 輻輳制御方法、輻輳制御プログラム、および、輻輳制御システム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11168511A (ja) * 1997-09-12 1999-06-22 Lucent Technol Inc パケット検証方法
JP2004140618A (ja) * 2002-10-18 2004-05-13 Yokogawa Electric Corp パケットフィルタ装置および不正アクセス検知装置
JP2005217823A (ja) * 2004-01-30 2005-08-11 Nippon Telegr & Teleph Corp <Ntt> 通信網におけるレート制御方法およびレート制御システム
JP2007129430A (ja) * 2005-11-02 2007-05-24 Nippon Telegr & Teleph Corp <Ntt> 輻輳制御方法、輻輳制御プログラム、および、輻輳制御システム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012060336A (ja) * 2010-09-08 2012-03-22 Nec Commun Syst Ltd 帯域制御システム、帯域制御装置及びそれらに用いる帯域制御ルールの運用方法
JP2012147104A (ja) * 2011-01-07 2012-08-02 Hitachi Ltd ネットワークノード
WO2016056217A1 (ja) * 2014-10-07 2016-04-14 日本電気株式会社 測定装置、測定システム、測定方法、および、プログラム
JPWO2016056217A1 (ja) * 2014-10-07 2017-08-10 日本電気株式会社 測定装置、測定システム、測定方法、および、プログラム

Also Published As

Publication number Publication date
JPWO2009098819A1 (ja) 2011-05-26

Similar Documents

Publication Publication Date Title
US8891543B1 (en) Method and system for processing packets in a network device
EP3399723B1 (en) Performing upper layer inspection of a flow based on a sampling rate
US10924374B2 (en) Telemetry event aggregation
EP2670085B1 (en) System for performing Data Cut-Through
JP6015342B2 (ja) 情報処理方法、プログラム、情報処理装置、及び情報処理システム
JP4988632B2 (ja) パケット中継装置およびトラフィックモニタシステム
JP2009175889A (ja) 帯域制御機能を有する負荷分散装置およびその設定方法
CN110944016B (zh) DDoS攻击检测方法、装置、网络设备及存储介质
US8111700B2 (en) Computer-readable recording medium storing packet identification program, packet identification method, and packet identification device
US10291518B2 (en) Managing flow table entries for express packet processing based on packet priority or quality of service
US8792366B2 (en) Network packet latency measurement
WO2009098819A1 (ja) 通信システム
US10044632B2 (en) Systems and methods for adaptive credit-based flow
KR101737516B1 (ko) 공평한 대역 할당 기반 패킷 스케줄링 방법 및 장치
EP3186927A1 (en) Improved network utilization in policy-based networks
JP5611171B2 (ja) パケット処理方法及びパケット処理装置
US8005106B2 (en) Apparatus and methods for hybrid fair bandwidth allocation and drop precedence
KR20120055947A (ko) 가입자 인지 플로우별 QoS 제공 방법 및 장치
EP3382542A1 (en) Allocating processing requests between servers
EP3468111B1 (en) Method for transmitting load information about path and network node
JP4915345B2 (ja) 試験装置測定システム
CN108989239B (zh) 过载保护方法及装置、控制器及存储介质
JP6802763B2 (ja) 中継装置及び帯域制御方法
JP6829156B2 (ja) ネットワーク負荷分散装置および方法
US11528230B2 (en) Transmission device, method, and recording medium

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: 08872117

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2009552388

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: 08872117

Country of ref document: EP

Kind code of ref document: A1