Specification
Description
Title of Invention: COMMUNICATION APPARATUS, CONTROL
APPARATUS, COMMUNICATION SYSTEM, COMMU¬
NICATION CONTROL METHOD, AND COMPUTER
PROGRAM
Field
[0001] (CROSS-REFERENCE TO RELATED APPLICATIONS)
The present invention is based upon and claims the benefit of the priority of Japanese
patent application No. 201 1-206459, filed on September 21, 201 1, the disclosure of
which is incorporated herein in its entirety by reference thereto.
The present invention relates to a communication apparatus, a control apparatus, a
communication system, a communication control method, and a computer program. In
particular, it relates to a communication apparatus, a control apparatus, a commu
nication system, a communication control method, and a computer program that
process an incoming packet in accordance with a control operation from a control
apparatus.
Background
[0002] Recently, a technique referred to as OpenFlow has been proposed (see Patent
Literature 1 and Non Patent Literatures 1 and 2). OpenFlow recognizes commu
nications as end-to-end flows and performs path control, failure recovery, load
balancing, and optimization on a per-flow basis. An OpenFlow switch specified in Non
Patent Literature 2 has a secure channel for communication with an OpenFlow
controller and operates according to a flow table suitably added or rewritten by the
OpenFlow controller. In a flow table, a set of the following three is defined for each
flow: match fields that define conditions for matching a packet header; statistical in
formation (counters); and instructions that define processing contents (see Fig. 16).
[0003] For example, if the OpenFlow switch receives a packet (data packet in Fig. 17), the
OpenFlow switch searches the flow table for an entry having a match field that
matches header information of the incoming packet. If the OpenFlow switch finds an
entry matching the incoming packet as a result of the search, the OpenFlow switch
updates the statistical information (counters) and processes the incoming packet based
on a processing content (transmission, flooding, drop, etc. of a packet from a specified
port) written in the instruction field of the entry. If the OpenFlow switch does not find
an entry matching the incoming packet as a result of the search, the OpenFlow switch
requests the OpenFlow controller to set an entry via the secure channel. Namely, the
OpenFlow switch requests the OpenFlow controller to determine the processing
content of the incoming packet ("Packet-In" in Fig. 17). The OpenFlow switch receives
a flow entry corresponding to the request and updates the flow table ("FlowMod" in
Fig. 17). Thus, by using an entry stored in the flow table as a processing rule, the
OpenFlow switch executes packet forwarding.
Citation List
Patent Literature
[0004] PTL 1: International Patent Publication No. WO2008/095010
Non Patent Literature
[0005] NPL 1: Nick McKeown, and seven others, "OpenFlow: Enabling Innovation in
Campus Networks", [online], [Searched on July 26, 2011], Internet
NPL 2: "OpenFlow Switch Specification" Version 1.1.0 Implemented (Wire Protocol
0x02) [online], [Searched on July 26, 201 1], Internet
Summary
Technical Problem
[0006] The disclosures of above patent and non-patent literatures are incorporated herein in
their entirety by reference thereto. The following analyses are given by the present
invention. The OpenFlow switch in NPLs 1 and 2 has a function of deleting a flow
entry if a certain period of time elapses after the flow entry is set or if no relevant
packets are supplied for a certain period of time. This deletion is executed based on a
hard timeout value and an idle timeout value set for each flow (see "timeout" in Fig. 17
and 5.7 FLOW Removal in NPL 2).
[0007] While NPLs 1 and 2 disclose deletion of a flow entry based on a timer, if a flow
entry is deleted only based on a timer, flexibility of flow control is insufficient,
counted as a problem.
[0008] Thus there is a need to realize more flexible flow control.
Solution to Problem
[0009] According to a first aspect, there is provided a communication apparatus. The com
munication apparatus comprises: a packet processing unit that processes an incoming
packet based on a processing rule corresponding to the incoming packet among a
plurality of processing rules set from a control apparatus; a statistical value mea
surement unit that measures a statistical value obtained from a processing amount cor
responding to each of the plurality of processing rules; and a processing rule
management unit that determines whether or not each of the processing rules is
effective based on the statistical value.
[0010] According to a second aspect of the present invention, there is provided a control
apparatus. The control apparatus comprises: a management unit that generates a
processing rule for a packet; and a communication unit that transmits the processing
rule to a communication apparatus. The communication apparatus processes an
incoming packet based on a processing rule corresponding to the incoming packet
among a plurality of processing rules set, measures a statistical value obtained from a
processing amount corresponding to each of the plurality of processing rules, and de
termines whether or not each of the processing rules is effective based on the statistical
value.
[001 1] According to a third aspect of the present invention, there is provided a commu
nication system. The communication system includes: a control apparatus that
generates a processing rule for a packet; and a communication apparatus. The commu
nication apparatus comprises: a packet processing unit that processes an incoming
packet based on a processing rule corresponding to the incoming packet among a
plurality of processing rules set from the control apparatus; a statistical measurement
unit that measures a statistical value obtained from a processing amount corresponding
to each of the plurality of processing rules; and a processing rule management unit that
determines whether or not each of the processing rules is effective based on the sta
tistical value.
[0012] According to a fourth aspect of the present invention, there is provided a commu
nication control method. The communication control method comprises: processing an
incoming packet based on a processing rule corresponding to the incoming packet
among a plurality of processing rules set from a control apparatus; measuring a sta
tistical value obtained from a processing amount corresponding to each of the plurality
of processing rules; and determining whether or not each of the processing rules is
effective based on the statistical value. This method is associated with a certain
machine, that is, a communication apparatus processing a packet based on a processing
rule set by a predetermined control apparatus.
[0013] According to a fifth aspect of the present invention, there is provided a program. The
program causes a communication apparatus that processes an incoming packet based
on a processing rule corresponding to the incoming packet among a plurality of
processing rules set from a control apparatus to execute processes of: measuring a sta
tistical value obtained from a processing amount corresponding to each of the plurality
of processing rules; and determining whether or not each of the processing rules is
effective based on the statistical value. Meanwhile, this program can be recorded in a
computer-readable storage medium which is non-transitory. That is, the present
invention may be embodied as a computer program product.
Advantageous Effects of Invention
[0014] According to the present disclosure, instead of causing a control apparatus to grasp
and analyze a communication amount per processing rule of each communication
apparatus, the communication apparatus executes a detailed control operation based on
the communication amount. Thus the present disclosure contributes to the need in the
art.
Brief Description of Drawings
[0015] [fig.l]Fig. 1 illustrates a configuration example of a communication system according
to an exemplary embodiment.
[fig.2]Fig. 2 illustrates a configuration example of a processing rule stored in a packet
forwarding node according to an exemplary embodiment.
[fig.3]Fig. 3 illustrates a configuration example of a communication system according
to a first exemplary embodiment.
[fig.4]Fig. 4 is a block diagram illustrating a configuration example of a packet
forwarding node according to the first exemplary embodiment.
[fig.5]Fig. 5 illustrates configuration examples of processing rules stored in a packet
forwarding node according to the first exemplary embodiment.
[fig.6]Fig. 6 is a block diagram illustrating a configuration example of a control
apparatus according to the first exemplary embodiment.
[fig.7]Fig. 7 is a sequence diagram illustrating an operation example of the commu
nication system according to the first exemplary embodiment of the present invention.
[fig.8]Fig. 8 illustrates a configuration example of a communication system according
to a second exemplary embodiment.
[fig.9]Fig. 9 is a block diagram illustrating a configuration example of a commu
nication terminal according to the second exemplary embodiment
[fig. 10] Fig. 10 illustrates configuration examples of processing rules stored in the com
munication terminal according to the second exemplary embodiment
[fig. 1l]Fig. 11 is a sequence diagram illustrating an operation example of the commu
nication system according to the second exemplary embodiment
[fig. 12] Fig. 12 is a block diagram illustrating a configuration example of a control
apparatus according to a third exemplary embodiment.
[fig.l3]Fig. 13 is a sequence diagram illustrating an operation example of a commu
nication system according to a fourth exemplary embodiment
[fig. 14] Fig. 14 is a sequence diagram illustrating an operation example of a commu
nication system according to the fourth exemplary embodiment.
[fig.l5]Fig. 15 illustrates configuration examples of processing rules stored in a packet
forwarding node according to a fifth exemplary embodiment
[fig. 16] Fig. 16 illustrates a configuration example of a flow entry stored in an
OpenFlow switch in NPL 2.
[fig.l7]Fig. 17 is a sequence diagram illustrating an operation example from flow entry
setting to flow entry deletion by timeout in NPL 2.
[fig.l8]Fig. 18 illustrates a general configuration example of a communication
apparatus according to an exemplary embodiment.
[fig. 19] Fig. 19 illustrates a general configuration example of a control apparatus
according to an exemplary embodiment.
Description of Embodiments
First, an outline of one exemplary embodiment will be described with reference to
the drawings. In the following outline the reference signs are presented solely for better
understanding and not intended to limit to the illustrated modes. As illustrated in Fig.
1, one exemplary embodiment can be realized by a configuration including a commu
nication terminal 30, packet forwarding nodes 10 communicating with a server 40, and
a control apparatus 20 controlling these packet forwarding nodes 10. In the following
outline, the reference characters added to various elements are merely used as
examples to facilitate understanding of the present disclosure. Namely, these reference
characters are not intended to limit the present disclosure to the modes illustrated in the
drawings. In addition, the above communication apparatus corresponds to a packet
forwarding node. Fig. 18 illustrates a general configuration example of a commu
nication apparatus according to an exemplary embodiment. As illustrated in Fig. 18, a
communication apparatus of an exemplary embodiment can be realized by a con
figuration including a packet processing unit 200, a statistical value measurement unit
201 and a processing rule management unit 202. The packet processing unit 200
processes an incoming packet based on a processing rule corresponding to the
incoming packet among a plurality of processing rules set from a control apparatus.
The statistical value measurement unit 201 measures a statistical value obtained from a
processing amount corresponding to each of the plurality of processing rules. The
processing rule management unit 202 determines whether or not each of the processing
rules is effective based on the statistical value. Fig. 19 illustrates a general con
figuration example of a control apparatus according to an exemplary embodiment. As
illustrated in Fig. 19, a control apparatus of an exemplary embodiment can be realized
by a configuration including a management unit 203 and a communication unit 204.
The management unit 203 generates a processing rule for a packet. The commu
nication unit 204 transmits said processing rule to a communication apparatus that
processes an incoming packet based on a processing rule corresponding to the
incoming packet among a plurality of processing rules set, measures a statistical value
obtained from a processing amount corresponding to each of said plurality of
processing rules, and determines whether or not each of the processing rules is
effective based on said statistical value.
[0017] Fig. 2 illustrates a configuration example of a processing rule 100 stored in a packet
forwarding node 10 in Fig. 1. The configuration in Fig. 2 is only an example, and
therefore, the configuration of the processing rule is not limited to that illustrated in
Fig. 2. The control apparatus 20 sets the processing rule 100 in a packet forwarding
node 10. The difference from a flow entry stored in the OpenFlow switch in NPL 2 i l
lustrated in Fig. 16 is that, instead of a timeout value, an expiration condition 101 is set
in the processing rule 100. The control apparatus 20 sets the processing rule 100 in a
packet forwarding node 10. The packet forwarding node 10 refers to the match fields
in the processing rules 100, to search for a processing rule 100 matching the incoming
packet, and processes the packet in accordance with the instructions in the retrieved
processing rule 100. The statistical information (counters) in the processing rule 100 is
updated based on packet processing. If no processing rule 100 corresponding to the
incoming packet exists, the packet forwarding node 10 requests the control apparatus
20 to set a processing rule.
[0018] For example, as the expiration (or invalidation) condition in the processing rule, a
threshold indicating a statistical value processable based on the processing rule is set.
Of course, as in NPL 2, a time-out value for determining whether a certain period of
time has elapsed after a processing rule is set or whether no relevant packets have been
supplied for a certain period of time may be set.
[0019] The packet forwarding node 10 includes: a packet processing unit processing a
packet in accordance with a processing rule matching an incoming packet; and a sta
tistical value measurement unit measuring a statistical value based on the processing
rule statistical information (counter) up dated based on packet processing. Namely, the
statistical value measurement unit measures a statistical value corresponding to packet
processing executed by a predetermined processing rule. For example, the statistical
value is the number of packets or bytes processed in accordance with a predetermined
processing rule. Namely, the statistical value is the amount of communication corre
sponding to packets processed in accordance with predetermined processing rules. The
statistical value measurement unit may measure a statistical value for each processing
rule. Alternatively, the statistical value measurement unit may measure a statistical
value that can be obtained based on each of the packet processing amounts by a
plurality of processing rules. The statistical value measurement unit may measure a
statistical value that can be obtained based on the packet processing amount by a
processing rule matching a predetermined condition, among the plurality of processing
rules stored in the packet forwarding node 10. By measuring a statistical value that can
be obtained based on the packet processing amounts by the plurality of processing
rules, the statistical value measurement unit can measure the amount of communication
executed by the communication apparatus. For example, the packet processing unit
may be realized by using a mechanism similar to that of the OpenFlow switch in NPLs
1 and 2.
[0020] In addition, the packet forwarding node 10 according to one exemplary embodiment
deletes or invalidates a processing rule based on an expiration condition. The packet
forwarding node 10 includes a processing rule management unit that voids (deletes or
invalidates, for example) a relevant processing rule, for example, if a statistical value
indicated in the statistical information (counters) exceeds a threshold set in the ex
piration condition in the relevant processing rule. The processing rule management unit
compares a statistical value obtained based on the packet processing amounts by a
plurality of processing rules with the expiration conditions in the processing rules. If a
statistical value matches an expiration condition, the processing rule management unit
voids (deletes or invalidates, for example) a processing rule corresponding to the ex
piration condition. Alternatively, if the statistical value matches an expiration
condition, the processing rule management unit may rewrite the packet process defined
in the processing rule corresponding to the expiration condition to a packet discarding
process. Namely, the processing rule management unit determines whether each
processing rule is valid or not based on a statistical value.
[0021] With this configuration, after communication between the communication terminal
30 and the server 40 is allowed in accordance with a processing rule, if a prede
termined data amount is exceeded, the processing rule is deleted. As a result, the
packet forwarding node 10 discards a subsequent packet addressed to the server 40
from the communication terminal 30 or forwards the subsequent packet to the control
apparatus 20 and requests the control apparatus 20 to set a processing rule. Namely, by
deleting a processing rule based on a data amount, the packet forwarding node 10 can
block communication of subsequent packets transmitted from the communication
terminal 30. Alternatively, the control apparatus 20 can set a processing rule so that
subsequent packets from the communication terminal 30 are forwarded through a
narrowband communication path. Thus, according to one exemplary embodiment,
flexible flow control based on a communication amount can be executed.
[0022] The threshold set in the expiration condition field in each processing rule may be a
predetermined value. Alternatively, when setting a processing rule, the control
apparatus 20 may determine the threshold. In addition, the control apparatus 20
specifies the target packets whose communication amount is measured by using the
match fields, the control apparatus 20 may delete or invalidate a processing rule based
on the communication amount of the target packets.
[0023] While, in the above example, the packet forwarding node 10 deletes or invalidates a
processing rule based on the communication amount, the communication terminal 30
may delete or invalidate a processing rule based on the communication amount. The
same applies to the following exemplary embodiments described below. Examples of
the communication terminal 30 include a mobile phone, a personal computer, a mobile
router, and the like. One exemplary embodiment is applicable to a communication
apparatus such as the packet forwarding node 10 or the communication terminal 30.
[0024] The communication terminal 30 stores the processing rule 100 set by the control
apparatus 20 and processes a packet based on the processing rule 100. The commu
nication terminal 30 stores the processing rule 100 including the expiration (or in
validation) condition 101 and deletes or invalidates a processing rule based on the ex
piration condition 101. In the above configuration example, the expiration condition is
included in the processing rule. However, the expiration condition may be set in the
packet forwarding node, separately from the processing rule.
[0025]
A communication apparatus, as mentioned in the first aspect above.
The communication apparatus,
wherein the processing rule management unit determines whether or not each of the
processing rules is effective by comparing the statistical value with a predetermined
judgment (or reference) condition.
The communication apparatus,
wherein the processing rule management unit determines whether or not each of the
processing rules is effective by comparing the statistical value with a predetermined
judgment condition included in each of the processing rules.
The communication apparatus,
wherein the judgment condition is a predetermined threshold; and the processing rule
management unit voids a processing rule, the statistical value of which exceeds the
predetermined threshold.
The communication apparatus,
wherein the predetermined threshold is included in the processing rule set by the
control apparatus.
The communication apparatus,
wherein the processing rule management unit notifies the control apparatus that the
processing rule management unit has voided the processing rule.
The communication apparatus,
wherein the notifying includes information indicating that the processing rule has
been voided based on the statistical value.
The communication apparatus,
wherein the processing rule management unit notifies the control apparatus that the
statistical value satisfies the predetermined judgment condition, and voids a processing
rule, the statistical value of which satisfies the predetermined judgment condition,
based on a response of the control apparatus to the notifying.
The communication apparatus,
wherein the processing rule management unit voids the processing rule by rewriting a
packet processing content of the processing rule to packet dropping.
The communication apparatus,
comprising: a first processing rule table storing a processing rule for executing flow
control based on the statistical value; and a second processing rule table storing a
processing rule for determining a processing content applied to a packet judged in the
first processing rule table to be capable of communicating.
A control apparatus, as mentioned in the second aspect above.
The control apparatus,
wherein the communication unit transmits a predetermined judgment (or reference)
condition for determining by the communication terminal whether or not each of the
processing rules is effective to the communication terminal.
The control apparatus,
wherein the communication unit lets a predetermined judgment condition for de
termining whether or not each of the processing rules is effective be included in the
processing rule, and transmits the processing rule to the communication terminal.
A communication system, as mentioned in the third aspect above.
A communication control method, as mentioned in the fourth aspect above.
A program, as mentioned in the fifth aspect above.
[01 16] In addition, in the above exemplary embodiments, a processing rule is deleted by
using an expiration condition of the processing rule. However, the processing content
of the processing rule may be rewritten to packet drop or the like.
[0117] The entire disclosures of the above PTL and NPLs are incorporated herein by
reference thereto. Variations and adjustments of the exemplary embodiments are
possible within the scope of the overall disclosure (including the claims) of the present
invention and based on the basic technical concept of the present invention. Various
combinations and selections of various disclosed elements (elements in each claim,
example, drawing, etc.) are possible within the scope of the claims of the present
invention. That is, the present invention of course includes various variations and mod
ifications that could be made by those skilled in the art according to the overall
disclosure including the claims and the technical concept.
Reference Signs List
10, 10-1 to 10-3 packet forwarding node
11, 204 communication unit
12 table management unit
13 table database (table DB)
14 forward processing unit
20, 20A, 20B control apparatus
2 1 expiration (invalidation) condition management unit
2 1A contract information management unit
22 communication terminal location management unit
23 topology management unit
24 path and action calculation unit
25 packet forwarding node management unit
26 processing rule database (processing rule DB)
27, 202 processing rule management unit
28 control message processing unit
29 node communication unit
30, 30A communication terminal
32 protocol stack unit
33 packet forwarding function unit
40 server
50 accounting server
100 processing rule
101 expiration (invalidation) condition
141 table search unit
142 action execution unit
200 packet processing unit
201 statistical value measurement unit
202 processing rule management unit
203 management unit
3 11 to 3 1n application unit
PCT/JP2012/006012
Claims
A communication apparatus, comprising:
a packet processing unit that processes an incoming packet based on a
processing rule corresponding to the incoming packet among a plurality
of processing rules set from a control apparatus;
a statistical value measurement unit that measures a statistical value
obtained from a processing amount corresponding to each of said
plurality of processing rules; and
a processing rule management unit that determines whether or not each
of the processing rules is effective based on said statistical value.
The communication apparatus according to claim 1, wherein
said processing rule management unit determines whether or not each
of the processing rules is effective by comparing said statistical value
with a predetermined judgment condition.
The communication apparatus according to claim 1, wherein
said processing rule management unit determines whether or not each
of the processing rules is effective by comparing said statistical value
with a predetermined judgment condition included in each of the
processing rules.
The communication apparatus according to claim 2 or 3, wherein
said judgment condition is a predetermined threshold; and
said processing rule management unit voids a processing rule, said sta
tistical value of which exceeds the predetermined threshold.
The communication apparatus according to claim 4, wherein
said predetermined threshold is included in the processing rule set by
said control apparatus.
The communication apparatus according to any one of claims 1 to 5,
wherein
said processing rule management unit notifies said control apparatus
that said processing rule management unit has voided said processing
rule.
The communication apparatus according to claim 6, wherein
said notifying includes information indicating that said processing rule
has been voided based on said statistical value.
The communication apparatus according to any one of claims 2 to 7,
wherein
said processing rule management unit notifies said control apparatus
WO 2013/042375 PCT/JP2012/006012
that said statistical value satisfies said predetermined judgment
condition, and voids a processing rule, said statistical value of which
satisfies said predetermined judgment condition, based on a response of
said control apparatus to said notifying.
[Claim 9] The communication apparatus according to any one of claims 1 to 8,
wherein
said processing rule management unit voids the processing rule by
rewriting a packet processing content of said processing rule to packet
dropping.
[Claim 10] The communication apparatus according to any one of claims 1 to 9,
further comprising:
a first processing rule table that stores a processing rule for executing
flow control based on said statistical value; and
a second processing rule table that stores a processing rule for de
termining a processing content applied to a packet judged in said first
processing rule table to be capable of communicating.
[Claim 11] A control apparatus, comprising:
a management unit that generates a processing rule for a packet; and
a communication unit that transmits said processing rule to a commu
nication apparatus, wherein
the communication apparatus processes an incoming packet based on a
processing rule corresponding to the incoming packet among a plurality
of processing rules set, measures a statistical value obtained from a
processing amount corresponding to each of said plurality of processing
rules, and determines whether or not each of the processing rules is
effective based on said statistical value.
[Claim 12] The control apparatus according to claim 11, wherein
said communication unit transmits a predetermined judgment condition
for determining by said communication terminal whether or not each of
the processing rules is effective to said communication terminal.
[Claim 13] The control apparatus according to claim 11, wherein
said communication unit lets a predetermined judgment condition for
determining whether or not each of the processing rules is effective be
included in said processing rule, and transmits said processing rule to
said communication terminal.
[Claim 14] A communication system, including:
a control apparatus that generates a processing rule for a packet; and
a communication apparatus, comprising:
WO 2013/042375 PCT/JP2012/006012
a packet processing unit that processes an incoming packet based on a
processing rule corresponding to the incoming packet among a plurality
of processing rules set from the control apparatus;
a statistical measurement unit that measures a statistical value obtained
from a processing amount corresponding to each of said plurality of
processing rules; and
a processing rule management unit that determines whether or not each
of the processing rules is effective based on said statistical value.
[Claim 15] A communication control method, comprising:
processing an incoming packet based on a processing rule corre
sponding to the incoming packet among a plurality of processing rules
set from a control apparatus;
measuring a statistical value obtained from a processing amount corre
sponding to each of said plurality of processing rules; and
determining whether or not each of the processing rules is effective
based on said statistical value.
[Claim 16] A program, causing a communication apparatus that processes an
incoming packet based on a processing rule corresponding to the
incoming packet among a plurality of processing rules set from a
control apparatus to execute processes of:
measuring a statistical value obtained from a processing amount corre
sponding to each of said plurality of processing rules; and
determining whether or not each of the processing rules is effective
based on said statistical value.