JP6477084B2 - Communication device and communication method - Google Patents

Communication device and communication method Download PDF

Info

Publication number
JP6477084B2
JP6477084B2 JP2015056133A JP2015056133A JP6477084B2 JP 6477084 B2 JP6477084 B2 JP 6477084B2 JP 2015056133 A JP2015056133 A JP 2015056133A JP 2015056133 A JP2015056133 A JP 2015056133A JP 6477084 B2 JP6477084 B2 JP 6477084B2
Authority
JP
Japan
Prior art keywords
flow
cookie information
entry
controller
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2015056133A
Other languages
Japanese (ja)
Other versions
JP2016178420A (en
Inventor
藤本 剛
剛 藤本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
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 Corp filed Critical NEC Corp
Priority to JP2015056133A priority Critical patent/JP6477084B2/en
Priority to PCT/JP2016/000738 priority patent/WO2016147548A1/en
Publication of JP2016178420A publication Critical patent/JP2016178420A/en
Application granted granted Critical
Publication of JP6477084B2 publication Critical patent/JP6477084B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、通信装置、通信方法に関し、特に、フローに対して課金を行う通信装置、通信方法に関する。   The present invention relates to a communication device and a communication method, and more particularly to a communication device and a communication method that charge for a flow.

近年、集中制御型のネットワークアーキテクチャが提案されている。集中制御型のネットワークアーキテクチャの例として、オープンフロー(OpenFlow)と呼ばれる技術がある(例えば、特許文献1,2、非特許文献1,2)。オープンフローは、オープンフローコントローラ(OpenFlow Controller)と、オープンフロースイッチ(OpenFlow Switch)と、で実現される。   In recent years, a centralized control type network architecture has been proposed. As an example of the centralized control type network architecture, there is a technique called OpenFlow (for example, Patent Documents 1 and 2, Non-Patent Documents 1 and 2). OpenFlow is realized by an OpenFlow Controller and an OpenFlow Switch.

オープンフローコントローラは、オープンフロースイッチのフローテーブルに対し、フロー毎の処理内容を記述したフローエントリを設定する。オープンフロースイッチは、パケットを受信すると、そのパケットに対応するフローのフローエントリに従い、受信したパケットの処理を行う。なお、受信したパケットに対応するフローのフローエントが設定されていない場合は、そのフローエントリをオープンフローコントローラが設定する。   The OpenFlow controller sets a flow entry describing the processing content for each flow in the flow table of the OpenFlow switch. When the OpenFlow switch receives a packet, the OpenFlow switch processes the received packet according to the flow entry of the flow corresponding to the packet. Note that if the flow corresponding to the received packet is not set, the OpenFlow controller sets the flow entry.

また、フローに対して課金を行う技術も提案されている(例えば、特許文献3)。特許文献3に記載の技術は、フロー毎に、パケット数やバイト数をカウントし、パケット数の総和やバイト数の総和を基に課金情報を生成する。さらに特許文献3に記載の技術は、複数のフローを1つのフローグループとし、フローグループ毎に、パケット数やバイト数をカウントし、パケット数の総和やバイト数の総和を基に課金情報を生成することも行う。   Also, a technique for charging for a flow has been proposed (for example, Patent Document 3). The technique described in Patent Document 3 counts the number of packets and the number of bytes for each flow, and generates billing information based on the total number of packets and the total number of bytes. Furthermore, the technology described in Patent Document 3 defines a plurality of flows as one flow group, counts the number of packets and the number of bytes for each flow group, and generates billing information based on the total number of packets and the total number of bytes. Also do.

国際公開第2012/098786号International Publication No. 2012/098786 国際公開第2012/133060号International Publication No. 2012/133060 特開2002−374251号公報JP 2002-374251 A

“OpenFlow Switch Specification”、Version 1.1.0 Implemented (Wire Protocol 0x02)、2011年2月28日“OpenFlow Switch Specification”, Version 1.1.0 Implemented (Wire Protocol 0x02), February 28, 2011 “OpenFlow Switch Specification”、Version 1.3.4(Protocol version 0x04)、2014年3月27日“OpenFlow Switch Specification”, Version 1.3.4 (Protocol version 0x04), March 27, 2014

オープンフローにおいて、フローに対する課金を行う場合、上述した特許文献3に記載の技術を適用することも考えられる。特許文献3に記載の技術によれば、フロー毎又はフローグループ毎に、パケット数の総和やバイト数の総和を基に課金情報を生成する。そのため、フロー毎又はフローグループ毎に課金を行うことができる。   In the open flow, when charging for a flow, the technique described in Patent Document 3 described above may be applied. According to the technique described in Patent Literature 3, billing information is generated for each flow or flow group based on the total number of packets and the total number of bytes. Therefore, it is possible to charge for each flow or each flow group.

しかし、特許文献3に記載の技術は、フローグループ毎に課金を行う場合、同じフローグループに属するフローについては、パケット数やバイト数をまとめてカウントしており、フロー毎に、パケット数やバイト数をカウントしてはいないと考えられる。そのため、同じフローグループに属するフロー毎に、課金レートを変えたい場合に、これに対応することができないという問題がある。   However, in the technique described in Patent Document 3, when charging is performed for each flow group, the number of packets and the number of bytes are collectively counted for flows belonging to the same flow group. It is thought that the number is not counted. For this reason, there is a problem in that it is not possible to cope with a change in charging rate for each flow belonging to the same flow group.

そこで本発明の目的の1つは、上述した課題を解決し、複数のフロー毎に課金レートが設定されている場合にも、複数のフロー全体に対して、フロー毎の課金レートで課金を行うことができる通信装置、通信方法を提供することにある。   Accordingly, one of the objects of the present invention is to solve the above-described problem and charge the entire plurality of flows at the charging rate for each flow even when the charging rate is set for each of the plurality of flows. It is to provide a communication apparatus and a communication method that can be used.

一態様において、通信装置は、フロー毎に、該フローを識別するマッチ条件と、該マッチ条件にマッチしたパケットの統計情報と、該マッチ条件にマッチしたパケットの処理内容を表すインストラクションと、該フローに割り当てられたフロークッキー情報と、を記述したフローエントリが設定されるフローテーブルを備えたスイッチと、フロー毎に、該フローを識別するマッチ条件と、該フローに割り当てられたフロークッキー情報と、該フローに課金を行う際の課金レートと、を記述した課金エントリが設定される課金テーブルを備えたコントローラと、を含む。ここで、前記フロークッキー情報は、複数のフローに同じフロークッキー情報が割り当て可能である。前記スイッチは、前記フローテーブルのいずれかのフローエントリのマッチ条件にマッチするパケットを受信した場合、該フローエントリのインストラクションに従って、前記受信したパケットの処理を行うと共に、該フローエントリの統計情報を更新する。前記コントローラは、特定のフロークッキー情報が割り当てられたフロー全体に対する課金額を計算する場合、前記スイッチから、前記特定のフロークッキー情報が割り当てられたフロー毎の統計情報を取得すると共に、前記課金テーブルから、前記特定のフロークッキー情報が割り当てられたフロー毎の課金レートを取得し、取得したフロー毎の統計値及び課金レートを基に前記課金額を計算する。   In one aspect, for each flow, the communication device includes a match condition that identifies the flow, statistical information of a packet that matches the match condition, an instruction that indicates processing contents of the packet that matches the match condition, and the flow A switch having a flow table in which a flow entry describing the flow entry is set, a match condition for identifying the flow for each flow, flow cookie information assigned to the flow, And a controller including a charging table in which a charging entry describing the charging rate for charging the flow is set. Here, as the flow cookie information, the same flow cookie information can be assigned to a plurality of flows. When the switch receives a packet that matches a match condition of any flow entry in the flow table, the switch processes the received packet according to the instruction of the flow entry and updates the statistical information of the flow entry. To do. When calculating the charge amount for the entire flow to which the specific flow cookie information is assigned, the controller acquires, from the switch, statistical information for each flow to which the specific flow cookie information is assigned, and the charge table Then, a charging rate for each flow to which the specific flow cookie information is assigned is acquired, and the charging amount is calculated based on the acquired statistical value and charging rate for each flow.

一態様において、通信方法は、スイッチに、フロー毎に、該フローを識別するマッチ条件と、該マッチ条件にマッチしたパケットの統計情報と、該パケットの処理内容と、該フローに割り当てられたフロークッキー情報と、を記述したフローエントリが設定されるフローテーブルを設け、コントローラに、フロー毎に、該フローを識別するマッチ条件と、該フローに割り当てられたフロークッキー情報と、該フローに課金を行う際の課金レートと、を記述した課金エントリが設定される課金テーブルを設ける。ここで、前記フロークッキー情報は、複数のフローに同じフロークッキー情報が割り当て可能である。前記スイッチが、前記フローテーブルのいずれかのフローエントリのマッチ条件にマッチするパケットを受信した場合、該フローエントリの処理内容に従って、前記受信したパケットの処理を行うと共に、該フローエントリの統計情報を更新する。前記コントローラが、特定のフロークッキー情報が割り当てられたフロー全体に対する課金額を計算する場合、前記スイッチから、前記特定のフロークッキー情報が割り当てられたフロー毎の統計情報を取得すると共に、前記課金テーブルから、前記特定のフロークッキー情報が割り当てられたフロー毎の課金レートを取得し、取得したフロー毎の統計値及び課金レートを基に前記課金額を計算する。   In one aspect, a communication method includes: a switch, for each flow, a matching condition that identifies the flow; statistical information of a packet that matches the matching condition; processing content of the packet; and a flow assigned to the flow A flow table in which a flow entry describing cookie information is set is provided, and for each flow, a match condition for identifying the flow, flow cookie information assigned to the flow, and charging for the flow are provided in the controller. A billing table is provided in which a billing entry describing the billing rate when performing the billing is set. Here, as the flow cookie information, the same flow cookie information can be assigned to a plurality of flows. When the switch receives a packet that matches the match condition of any flow entry in the flow table, the switch processes the received packet according to the processing content of the flow entry, and displays statistical information of the flow entry. Update. When the controller calculates a charge amount for the entire flow to which the specific flow cookie information is assigned, the controller obtains statistical information for each flow to which the specific flow cookie information is assigned, and the charge table Then, a charging rate for each flow to which the specific flow cookie information is assigned is acquired, and the charging amount is calculated based on the acquired statistical value and charging rate for each flow.

上述した態様によれば、複数のフロー毎に課金レートが設定されている場合にも、複数のフロー全体に対して、フロー毎の課金レートで課金を行うことができるという効果が得られる。   According to the above-described aspect, even when a charging rate is set for each of a plurality of flows, there is an effect that it is possible to charge the entire plurality of flows at a charging rate for each flow.

実施形態1の通信装置の構成例を示す図である。1 is a diagram illustrating a configuration example of a communication device according to a first embodiment. 非特許文献1に記載されたフローエントリの例を示す図である。It is a figure which shows the example of the flow entry described in the nonpatent literature 1. 非特許文献2に記載されたフローエントリの例を示す図である。It is a figure which shows the example of the flow entry described in the nonpatent literature 2. FIG. 実施形態1,2で使用するマッチ条件の例を示す図である。It is a figure which shows the example of the match conditions used in Embodiment 1,2. 実施形態1,2で使用する課金テーブルの例を示す図である。It is a figure which shows the example of the accounting table used in Embodiment 1,2. 実施形態2のゲートウェイ装置の構成例を示す図である。It is a figure which shows the structural example of the gateway apparatus of Embodiment 2. FIG. 実施形態2のゲートウェイ装置の周辺構成例を示す図である。It is a figure which shows the peripheral structural example of the gateway apparatus of Embodiment 2. FIG. 実施形態2のゲートウェイ装置の動作例を示すシーケンス図である。FIG. 10 is a sequence diagram illustrating an operation example of the gateway device according to the second embodiment.

以下、図面を参照して本発明の実施形態について説明する。
(1)実施形態1
図1に、本実施形態の通信装置10の構成例を示す。図1に示される通信装置10は、スイッチ11と、コントローラ12と、を備えている。また、スイッチ11は、フローテーブル111を備え、コントローラ12は、課金テーブル121を備えている。なお、スイッチ11は、オープンフロースイッチで実現可能であり、コントローラ12は、オープンフローコントローラで実現可能である。
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
(1) Embodiment 1
FIG. 1 shows a configuration example of the communication apparatus 10 of the present embodiment. A communication device 10 illustrated in FIG. 1 includes a switch 11 and a controller 12. The switch 11 includes a flow table 111, and the controller 12 includes a charging table 121. The switch 11 can be realized by an open flow switch, and the controller 12 can be realized by an open flow controller.

フローテーブル111は、フロー毎のフローエントリを複数設定可能なテーブルである。図2に、非特許文献1に記載されたフローエントリの例を示す。図2に示されるフローエントリは、以下のフィールドを含んでいる。
・Match Fields
・Counters
・Instructions
The flow table 111 is a table in which a plurality of flow entries for each flow can be set. FIG. 2 shows an example of a flow entry described in Non-Patent Document 1. The flow entry shown in FIG. 2 includes the following fields:
・ Match Fields
・ Counters
・ Instructions

また、図3に、非特許文献2に記載されたフローエントリの例を示す。図3に示されるフローエントリは、以下のフィールドを含んでいる。
・Match Fields
・Priority
・Counters
・Instructions
・Timeouts
・Cookie
・Flags
FIG. 3 shows an example of the flow entry described in Non-Patent Document 2. The flow entry shown in FIG. 3 includes the following fields:
・ Match Fields
・ Priority
・ Counters
・ Instructions
・ Timeouts
・ Cookie
・ Flags

本実施形態においては、フローテーブル111のフローエントリには、“Match Fields”に相当するマッチ条件と、“Counters”に相当する統計情報と、“Instructions”に相当するインストラクションと、“Cookie”に相当するフロークッキー情報と、が少なくとも記述されるとする。マッチ条件は、フローを識別する条件であり、パケットのヘッダ情報と照合される。図4に、本実施形態で使用するマッチ条件の例を示す。図4に示されるマッチ条件は、非特許文献2に示されるマッチ条件の中から幾つかのマッチ条件を抜粋したものに相当し、以下のフィールドを含んでいる。
・Ingress Port
・Ether source
・Ether dst
・Ether type
・VLAN id
・VLAN priority
・IP src
・IP dst
・IP proto
・IP ToS bits
・TCP/UDP src port
・TCP/UDP dst port
In the present embodiment, the flow entry of the flow table 111 corresponds to a match condition corresponding to “Match Fields”, statistical information corresponding to “Counters”, an instruction corresponding to “Instructions”, and “Cookie”. And at least the flow cookie information to be described. The match condition is a condition for identifying a flow, and is checked against packet header information. FIG. 4 shows an example of match conditions used in the present embodiment. The match condition shown in FIG. 4 corresponds to an excerpt of some match conditions from the match conditions shown in Non-Patent Document 2, and includes the following fields.
・ Ingress Port
・ Ether source
・ Ether dst
・ Ether type
・ VLAN id
・ VLAN priority
・ IP src
・ IP dst
・ IP proto
・ IP ToS bits
・ TCP / UDP src port
・ TCP / UDP dst port

統計情報は、マッチ条件にマッチしたパケットの統計値(パケット量(byte)、パケット数等)を表す情報である。統計情報は、マッチ条件にマッチしたパケットを受信した場合に更新される。インストラクションは、マッチ条件にマッチしたパケットの処理内容(転送、破棄等)を表す情報である。   The statistical information is information representing statistical values (packet amount (byte), number of packets, etc.) of packets that match the matching condition. The statistical information is updated when a packet that matches the matching condition is received. The instruction is information indicating the processing content (transfer, discard, etc.) of the packet that matches the matching condition.

フロークッキー情報は、フローに割り当てられたクッキーを表す情報である。なお、図2に示される非特許文献1に記載のフローエントリには、cookieが示されてないが、実際にはフローに括りついたcookieがメッセージ構造体には存在している。また、非特許文献1のA.3.4 Modify State Messagesの章においては、struct ofp_flow_modにてcookieが指定可能なことが記載されている。また、非特許文献1のA.3.6 Read State Messagesの章においては、struct ofp_stats_request に含まれるbodyに設定されるstruct ofp_flow_stats_requestの中でcookieを指定可能なことが記載されている。   The flow cookie information is information representing a cookie assigned to the flow. Note that the flow entry described in Non-Patent Document 1 shown in FIG. 2 does not show a cookie, but actually a cookie attached to the flow exists in the message structure. Further, in the section of A.3.4 Modify State Messages of Non-Patent Document 1, it is described that a cookie can be specified by struct ofp_flow_mod. Also, in the section of A.3.6 Read State Messages in Non-Patent Document 1, it is described that a cookie can be specified in a struct ofp_flow_stats_request set in a body included in a struct ofp_stats_request.

課金テーブル121は、フロー毎の課金エントリを複数設定可能なテーブルである。なお、課金テーブル121には、将来的に発生すると予想されるフロー等を含む所定のフローの課金エントリが事前に設定されている。図5に、本実施形態で使用する課金テーブル121の例を示す。本実施形態においては、課金テーブル121の課金エントリには、マッチ条件と、フロークッキー情報と、課金レートと、が少なくとも記述されるとする。マッチ条件は、フローを識別する条件であり、パケットのヘッダ情報と照合される。なお、課金テーブル121のマッチ条件は、フローテーブル111のマッチ条件に相当する。フロークッキー情報は、フローに割り当てられたクッキーを表す情報である。課金レートは、フローに課金を行う際の課金レートである。なお、図5においては、フローテーブル111の統計情報がパケット量(byte)である場合の課金レートが示されている。また、図5においては、“*”は、値が任意であるanyを意味している。   The billing table 121 is a table in which a plurality of billing entries for each flow can be set. In the billing table 121, billing entries for predetermined flows including flows that are expected to occur in the future are set in advance. FIG. 5 shows an example of the billing table 121 used in this embodiment. In the present embodiment, it is assumed that at least a match condition, flow cookie information, and a charging rate are described in the charging entry of the charging table 121. The match condition is a condition for identifying a flow, and is checked against packet header information. Note that the match condition of the accounting table 121 corresponds to the match condition of the flow table 111. The flow cookie information is information representing a cookie assigned to the flow. The billing rate is a billing rate when billing the flow. Note that FIG. 5 shows a charging rate when the statistical information of the flow table 111 is a packet amount (byte). Further, in FIG. 5, “*” means any whose value is arbitrary.

ここで、フローテーブル111及び課金テーブル121に記述されるフロークッキー情報は、複数のフローに同じフロークッキー情報が割り当て可能である。例えば、複数のフロー全体に対して課金を行う場合には、これら複数のフローに同じフロークッキー情報を割り当てることができる。例えば、図5においては、送信元IPアドレス(IP src)が“192.168.2.1”で、宛先IPアドレス(IP dst)が“192.168.4.1”であるフロー(以下、フロー#1と適宜称す)と、送信元IPアドレスが“192.168.2.1”で、宛先IPアドレスが“192.168.5.1”であるフロー(以下、フロー#2と適宜称す)と、が存在する。これらフロー#1,#2には、同じフロークッキー情報(Cookie)“0000 0000 0000 0002”が割り当てられている。   Here, the flow cookie information described in the flow table 111 and the billing table 121 can assign the same flow cookie information to a plurality of flows. For example, when charging is performed for all of a plurality of flows, the same flow cookie information can be assigned to the plurality of flows. For example, in FIG. 5, a flow whose source IP address (IP src) is “192.168.2.1” and whose destination IP address (IP dst) is “192.168.4.1” (hereinafter referred to as flow # 1 as appropriate). There is a flow (hereinafter referred to as flow # 2 as appropriate) having a source IP address “192.168.2.1” and a destination IP address “192.168.5.1”. The same flow cookie information (Cookie) “0000 0000 0000 0002” is assigned to these flows # 1 and # 2.

スイッチ11は、フローテーブル111のいずれかのフローエントリのマッチ条件にマッチするパケットを受信した場合、そのフローエントリのインストラクションに従って、受信したパケットの処理を行うと共に、そのフローエントリの統計情報を更新する。   When the switch 11 receives a packet that matches the match condition of any flow entry in the flow table 111, the switch 11 processes the received packet and updates the statistical information of the flow entry according to the instruction of the flow entry. .

コントローラ12は、特定のフロークッキー情報が割り当てられたフロー全体に対する課金額を計算する場合、スイッチ11から、特定のフロークッキー情報が割り当てられたフロー毎の統計情報を取得すると共に、課金テーブル121から、その特定のフロークッキー情報が割り当てられたフロー毎の課金レートを取得する。そして、コントローラ12は、その特定のフロークッキー情報が割り当てられたフロー毎の統計情報及び課金レートを基に課金額を計算する。   When calculating the charge amount for the entire flow to which the specific flow cookie information is assigned, the controller 12 obtains statistical information for each flow to which the specific flow cookie information is assigned from the switch 11 and from the charge table 121. The charge rate for each flow to which the specific flow cookie information is assigned is acquired. Then, the controller 12 calculates the charge amount based on the statistical information and the charge rate for each flow to which the specific flow cookie information is assigned.

上述したように本実施形態においては、フローテーブル111及び課金テーブル121に記述されるフロークッキー情報は、複数のフローに同じフロークッキー情報が割り当て可能である。コントローラ12は、特定のフロークッキー情報が割り当てられたフロー全体に対する課金額を計算する場合、スイッチ11から、特定のフロークッキー情報が割り当てられたフロー毎の統計情報を取得すると共に、課金テーブル121から、その特定のフロークッキー情報が割り当てられたフロー毎の課金レートを取得する。そして、コントローラ12は、特定のフロークッキー情報が割り当てられたフロー毎の統計情報及び課金レートを基に課金額を計算する。したがって、特定のフロークッキー情報が割り当てられた複数のフローについては、これら複数のフロー毎の統計情報及び課金レートを基に、これら複数のフロー全体に対する課金額を計算することができる。これにより、複数のフロー毎に課金レートが設定されている場合にも、複数のフロー全体に対して、フロー毎の課金レートで課金を行うことができる。   As described above, in the present embodiment, the flow cookie information described in the flow table 111 and the billing table 121 can be assigned the same flow cookie information to a plurality of flows. When calculating the charge amount for the entire flow to which the specific flow cookie information is assigned, the controller 12 obtains statistical information for each flow to which the specific flow cookie information is assigned from the switch 11 and from the charge table 121. The charge rate for each flow to which the specific flow cookie information is assigned is acquired. Then, the controller 12 calculates a charging amount based on the statistical information and the charging rate for each flow to which specific flow cookie information is assigned. Therefore, for a plurality of flows to which specific flow cookie information is assigned, the charging amount for all of the plurality of flows can be calculated based on the statistical information and the charging rate for each of the plurality of flows. As a result, even when a charging rate is set for each of a plurality of flows, it is possible to charge the entire plurality of flows at a charging rate for each flow.

(2)実施形態2
本実施形態は、実施形態1の通信装置10をゲートウェイ装置に適用したものである。図6に、本実施形態のゲートウェイ装置20の構成例を示す。図2に示されるゲートウェイ装置20は、イーサネット(登録商標)、Wi−Fi(Wireless Fidelity。登録商標)、セルラーのネットワークを相互に接続するものである。ゲートウェイ装置20は、スイッチ21と、コントローラ22と、通信I/F(Interface)23−1〜23−4と、を備えている。ここで、通信I/F23−1,23−2はイーサネット(登録商標)のネットワークに対応し、通信I/F23−3はWi−Fi(登録商標)のネットワークに対応し、通信I/F23−4はセルラーのネットワークに対応している。また、スイッチ21は、フローテーブル211を備え、コントローラ22は、課金テーブル221を備えている。なお、スイッチ21は、オープンフロースイッチで実現可能であり、コントローラ22は、オープンフローコントローラで実現可能である。図7に、本実施形態のゲートウェイ装置20の周辺構成例を示す。ゲートウェイ装置20は、周辺の端末30−1〜30−4と接続されている。なお、図7において、各構成要素の名称の下の数字はIPアドレスを表している。また、端末30−1〜30−4は、ゲートウェイ装置20内の通信I/F23−1〜23−4とそれぞれ接続されるとする。
(2) Embodiment 2
In the present embodiment, the communication device 10 of the first embodiment is applied to a gateway device. FIG. 6 shows a configuration example of the gateway device 20 of the present embodiment. The gateway device 20 shown in FIG. 2 connects an Ethernet (registered trademark), a Wi-Fi (Wireless Fidelity (registered trademark)), and a cellular network to each other. The gateway device 20 includes a switch 21, a controller 22, and communication I / F (Interface) 23-1 to 23-4. Here, the communication I / Fs 23-1 and 23-2 correspond to an Ethernet (registered trademark) network, the communication I / F 23-3 corresponds to a Wi-Fi (registered trademark) network, and the communication I / F 23- 4 corresponds to a cellular network. The switch 21 includes a flow table 211, and the controller 22 includes a charging table 221. The switch 21 can be realized by an open flow switch, and the controller 22 can be realized by an open flow controller. FIG. 7 shows a peripheral configuration example of the gateway device 20 of the present embodiment. The gateway device 20 is connected to peripheral terminals 30-1 to 30-4. In FIG. 7, the numbers below the names of the components represent IP addresses. The terminals 30-1 to 30-4 are connected to the communication I / Fs 23-1 to 23-4 in the gateway device 20, respectively.

フローテーブル211及び課金テーブル221は、実施形態1のフローテーブル111及び課金テーブル121とそれぞれ同様である。また、フローテーブル211及び課金テーブル221に記述されるフロークッキー情報は、実施形態1と同様に、複数のフローに同じフロークッキー情報が割り当て可能である。   The flow table 211 and the charging table 221 are the same as the flow table 111 and the charging table 121 of the first embodiment, respectively. In addition, the flow cookie information described in the flow table 211 and the billing table 221 can assign the same flow cookie information to a plurality of flows as in the first embodiment.

スイッチ21は、端末30−1〜30−4からパケットを受信すると、フローテーブル211から、受信したパケットにマッチ条件がマッチするフローエントリを検索する。スイッチ21は、フローエントリが検索された場合は、そのフローエントリの統計情報を更新すると共に、そのフローエントリのインストラクションに従って、受信したパケットの処理を行う。一方、スイッチ21は、フローエントリが検索されない場合は、受信したパケットをコントローラ22に転送する。   When receiving a packet from the terminals 30-1 to 30-4, the switch 21 searches the flow table 211 for a flow entry whose matching condition matches the received packet. When the flow entry is searched, the switch 21 updates the statistical information of the flow entry and processes the received packet according to the instruction of the flow entry. On the other hand, when the flow entry is not searched, the switch 21 transfers the received packet to the controller 22.

コントローラ22は、スイッチ21からパケットを受信すると、課金テーブル221から、受信したパケットにマッチ条件がマッチする課金エントリを検索する。コントローラ22は、課金エントリが検索された場合は、そのパケットのインストラクションを決定し、マッチ条件、決定したインストラクション、及び、その課金エントリと同じフロークッキー情報を記述した新規のフローエントリを生成し、生成したフローエントリをスイッチ21のフローテーブル211に設定する。このように、コントローラ22は、フローテーブル211にフローエントリを設定する場合、マッチ条件、インストラクション、及びフロークッキー情報を記述したフローエントリを設定し、フローエントリの統計情報は、スイッチ21が構成する。なお、コントローラ22は、スイッチ21から受信したパケットにマッチ条件がマッチする課金エントリが検索されない場合は、受信したパケットのインストラクションとして“破棄”を記述した新規のフローエントリを生成し、フローテーブル211に設定するが、このフローエントリにはフロークッキー情報は記述しない。   When the controller 22 receives a packet from the switch 21, the controller 22 searches the charging table 221 for a charging entry whose matching condition matches the received packet. When the charging entry is retrieved, the controller 22 determines the instruction of the packet, generates a new flow entry describing the matching condition, the determined instruction, and the same flow cookie information as the charging entry, and generates The flow entry is set in the flow table 211 of the switch 21. Thus, when setting the flow entry in the flow table 211, the controller 22 sets the flow entry describing the match condition, the instruction, and the flow cookie information, and the statistical information of the flow entry is configured by the switch 21. Note that if a charging entry whose matching condition matches the packet received from the switch 21 is not found, the controller 22 generates a new flow entry describing “discard” as an instruction of the received packet, and stores it in the flow table 211. Although set, flow cookie information is not described in this flow entry.

コントローラ22は、特定のフロークッキー情報が割り当てられたフロー全体に対する課金額を計算する場合、スイッチ21から、特定のフロークッキー情報が割り当てられたフロー毎の統計情報を取得すると共に、課金テーブル221から、その特定のフロークッキー情報が割り当てられたフロー毎の課金レートを取得する。そして、コントローラ22は、その特定のフロークッキー情報が割り当てられたフロー毎に、そのフローの統計情報で示される統計値とそのフローの課金レートとを乗算し、各フローの乗算結果を加算して課金額を計算する。   When calculating the charge amount for the entire flow to which the specific flow cookie information is assigned, the controller 22 obtains statistical information for each flow to which the specific flow cookie information is assigned from the switch 21 and from the charge table 221. The charge rate for each flow to which the specific flow cookie information is assigned is acquired. Then, for each flow to which the specific flow cookie information is assigned, the controller 22 multiplies the statistical value indicated by the statistical information of the flow by the charging rate of the flow, and adds the multiplication result of each flow. Calculate the billing amount.

以下、本実施形態のゲートウェイ装置20において、スイッチ21が、フローテーブル211にマッチ条件がマッチしないパケットを受信した場合の動作について、図8を参照して説明する。ここでは、フローテーブル211の統計情報がパケット量(byte)であり、課金テーブル221の状態が図5の状態であるものとする。   Hereinafter, in the gateway device 20 of this embodiment, an operation when the switch 21 receives a packet whose match condition does not match the flow table 211 will be described with reference to FIG. Here, it is assumed that the statistical information of the flow table 211 is the packet amount (byte), and the state of the accounting table 221 is the state of FIG.

まず、スイッチ21は、端末30−1から、端末30−3宛のパケットを受信すると(ステップA1)、そのパケットのヘッダ情報を参照し、フローテーブル211から、そのパケットにマッチ条件がマッチするフローエントリを検索する。しかし、ここでは、フローエントリが検索されないものとする。そのため、スイッチ21は、端末30−1から受信したパケットの処理内容を問い合わせるためのOFPT_PACKET_INメッセージに、そのパケットを格納し、そのOFPT_PACKET_INメッセージをコントローラ22に送信する(ステップA2)。   First, when the switch 21 receives a packet addressed to the terminal 30-3 from the terminal 30-1 (step A1), the switch 21 refers to the header information of the packet, and from the flow table 211, a flow whose matching condition matches the packet. Search for an entry. However, here, it is assumed that the flow entry is not searched. Therefore, the switch 21 stores the packet in the OFPT_PACKET_IN message for inquiring about the processing content of the packet received from the terminal 30-1, and transmits the OFPT_PACKET_IN message to the controller 22 (step A2).

コントローラ22は、スイッチ21からOFPT_PACKET_INメッセージを受信すると、そのOFPT_PACKET_INメッセージに格納されたパケットのヘッダ情報を参照する。そして、コントローラ22は、課金テーブル221から、そのパケットにマッチ条件がマッチする課金エントリを検索する。ここでは、課金テーブル221には、送信元IPアドレスが端末30−1の“192.168.2.1”で、宛先IPアドレスが端末30−3の“192.168.4.1”であるフロー#1の課金エントリが存在する。そのため、コントローラ22は、パケットのインストラクションを端末30−3への転送に決定する。そして、コントローラ22は、フロー#1のマッチ条件、決定したインストラクション、及びフロー#1の課金エントリと同じフロークッキー情報“0000 0000 0000 0002”を記述したフロー#1のフローエントリを設定するための情報を、OFPT_PACKET_INメッセージに対するOFPT_FLOW_MODメッセージに格納する。そして、コントローラ22は、そのOFPT_FLOW_MODメッセージをスイッチ21に送信する(ステップA3)。   When receiving the OFPT_PACKET_IN message from the switch 21, the controller 22 refers to the header information of the packet stored in the OFPT_PACKET_IN message. Then, the controller 22 searches the charging table 221 for a charging entry whose matching condition matches the packet. Here, the accounting table 221 includes an accounting entry for flow # 1 whose source IP address is “192.168.2.1” of the terminal 30-1 and whose destination IP address is “192.168.4.1” of the terminal 30-3. To do. Therefore, the controller 22 determines the packet instruction to be transferred to the terminal 30-3. Then, the controller 22 sets information for setting the flow entry of the flow # 1 describing the match condition of the flow # 1, the determined instruction, and the flow cookie information “0000 0000 0000 0002” that is the same as the accounting entry of the flow # 1. Is stored in the OFPT_FLOW_MOD message for the OFPT_PACKET_IN message. Then, the controller 22 transmits the OFPT_FLOW_MOD message to the switch 21 (step A3).

スイッチ21は、コントローラ22からOFPT_FLOW_MODメッセージを受信すると、フローテーブル211に新規のフロー#1のフローエントリを設定する。これにより、このフローエントリには、フロークッキー情報“0000 0000 0000 0002”が記述されることになる。また、フローテーブル211には、フロー#1を構成するパケットにマッチ条件がマッチするフローエントリが存在することになったため、スイッチ21は、端末30−1から受信したパケットを端末30−3に転送する(ステップA4)。そのため、スイッチ21は、以降に、端末30−1から、端末30−3宛のパケットを受信した場合は、コントローラ22にOFPT_PACKET_INメッセージを送信することなく、そのパケットを端末30−3に転送し(ステップA5)、統計情報のパケット量を計上していく。また、ここでは、端末30−1から受信した、端末30−4宛のパケット(フロー#2を構成するパケット)にマッチ条件がマッチするフローエントリが、フローテーブル211に存在するものとする。そのため、スイッチ21は、端末30−1から、端末30−4宛のパケットを受信した場合も、コントローラ22にOFPT_PACKET_INメッセージを送信することなく、そのパケットを端末30−4に転送し(ステップA6)、統計情報のパケット量を計上していく。   When the switch 21 receives the OFPT_FLOW_MOD message from the controller 22, the switch 21 sets a flow entry for the new flow # 1 in the flow table 211. As a result, the flow cookie information “0000 0000 0000 0002” is described in this flow entry. In addition, since the flow table 211 includes a flow entry that matches the matching condition with the packet constituting the flow # 1, the switch 21 transfers the packet received from the terminal 30-1 to the terminal 30-3. (Step A4). Therefore, when the switch 21 subsequently receives a packet addressed to the terminal 30-3 from the terminal 30-1, the switch 21 forwards the packet to the terminal 30-3 without transmitting an OFPT_PACKET_IN message to the controller 22 ( Step A5), the packet amount of statistical information is counted. Here, it is assumed that there is a flow entry in the flow table 211 that matches the matching condition with the packet addressed to the terminal 30-4 (packet constituting the flow # 2) received from the terminal 30-1. Therefore, even when the switch 21 receives a packet addressed to the terminal 30-4 from the terminal 30-1, the switch 21 transfers the packet to the terminal 30-4 without transmitting the OFPT_PACKET_IN message to the controller 22 (step A6). The amount of statistical information packets will be counted.

その一方、コントローラ22は、フローテーブル211にフロー#1のフローエントリを設定した後、フロー#1と同じフロークッキー情報“0000 0000 0000 0002”が割り当てられたフロー全体に対する課金額を計算する時間になると、不図示のタイマを起動する(ステップA7)。そして、コントローラ22は、タイマが満了すると(ステップA8)、フロークッキー情報“0000 0000 0000 0002”を指定し、そのフロークッキー情報が設定されたフロー毎の統計情報を要求するOFPT_STATS_REQUEST(OFPST_FLOW)メッセージをスイッチ21に送信する(ステップA9)。   On the other hand, after setting the flow entry of flow # 1 in the flow table 211, the controller 22 calculates the charge amount for the entire flow to which the same flow cookie information “0000 0000 0000 0002” as the flow # 1 is assigned. Then, a timer (not shown) is started (step A7). When the timer expires (step A8), the controller 22 designates the flow cookie information “0000 0000 0000 0002” and sends an OFPT_STATS_REQUEST (OFPST_FLOW) message requesting statistical information for each flow in which the flow cookie information is set. It transmits to the switch 21 (step A9).

スイッチ21は、コントローラ22からOFPT_STATS_REQUEST(OFPST_FLOW)メッセージを受信すると、フローテーブル211から、そのOFPT_STATS_REQUEST(OFPST_FLOW)メッセージで指定されたフロークッキー情報“0000 0000 0000 0002”が割り当てられたフロー毎の統計情報を取得する。ここでは、フロー#1、#2毎の統計情報を取得する。そして、スイッチ21は、OFPT_STATS_REQUEST(OFPST_FLOW)メッセージに対するOFPT_STATS_REPLYメッセージにフロー#1、#2毎の統計情報を格納し、そのOFPT_STATS_REPLYメッセージをコントローラ22に送信する(ステップA10)。   When the switch 21 receives the OFPT_STATS_REQUEST (OFPST_FLOW) message from the controller 22, the switch 21 displays the statistical information for each flow to which the flow cookie information “0000 0000 0000 0002” specified by the OFPT_STATS_REQUEST (OFPST_FLOW) message is assigned from the flow table 211. get. Here, statistical information for each flow # 1 and # 2 is acquired. Then, the switch 21 stores the statistical information for each flow # 1 and # 2 in the OFPT_STATS_REPLY message for the OFPT_STATS_REQUEST (OFPST_FLOW) message, and transmits the OFPT_STATS_REPLY message to the controller 22 (step A10).

コントローラ22は、スイッチ21からOFPT_STATS_REPLYメッセージを受信すると、そのOFPT_STATS_REPLYメッセージからフロー#1、#2毎の統計情報を取り出す。そして、コントローラ22は、課金テーブル221から、フロークッキー情報“0000 0000 0000 0002”が割り当てられたフロー#1、#2毎の課金レートを取得する。ここでは、フロー#1の課金レートは“\0.002”で、フロー#2の課金レートは“\0.003”である。そのため、コントローラ22は、まず、フロー#1について、フロー#1の統計情報として示されるパケット量と課金レート“\0.002”とを乗算する。続いて、コントローラ22は、フロー#2について、フロー#2の統計情報として示されるパケット量と課金レート“\0.003”とを乗算する。そして、コントローラ12は、2つのフロー#1、#2についての乗算結果を加算して、2つのフロー#1、#2全体に対する課金額を計算する。   When the controller 22 receives the OFPT_STATS_REPLY message from the switch 21, the controller 22 extracts the statistical information for each flow # 1, # 2 from the OFPT_STATS_REPLY message. Then, the controller 22 acquires from the charging table 221 the charging rate for each flow # 1, # 2 to which the flow cookie information “0000 0000 0000 0002” is assigned. Here, the charging rate of flow # 1 is “¥ 0.002”, and the charging rate of flow # 2 is “¥ 0.003”. Therefore, the controller 22 first multiplies the packet amount indicated by the statistical information of the flow # 1 by the accounting rate “¥ 0.002” for the flow # 1. Subsequently, for the flow # 2, the controller 22 multiplies the packet amount indicated as the statistical information of the flow # 2 by the charging rate “¥ 0.003”. Then, the controller 12 adds the multiplication results for the two flows # 1 and # 2, and calculates the billing amount for the entire two flows # 1 and # 2.

上述したように本実施形態においては、フローテーブル211及び課金テーブル221に記述されるフロークッキー情報は、複数のフローに同じフロークッキー情報が割り当て可能である。コントローラ22は、特定のフロークッキー情報が割り当てられたフロー全体に対する課金額を計算する場合、スイッチ21から、特定のフロークッキー情報が割り当てられたフロー毎の統計情報を取得すると共に、課金テーブル221から、その特定のフロークッキー情報が割り当てられたフロー毎の課金レートを取得する。そして、コントローラ12は、特定のフロークッキー情報が割り当てられたフロー毎に、そのフローの統計情報で示される統計値とそのフローの課金レートとを乗算し、各フローの乗算結果を加算して課金額を計算する。したがって、特定のフロークッキー情報が割り当てられた複数のフローについては、これら複数のフロー毎の統計情報及び課金レートを基に、これら複数のフロー全体に対する課金額を計算することができる。これにより、複数のフロー毎に課金レートが設定されている場合にも、複数のフロー全体に対して、フロー毎の課金レートで課金を行うことができる。   As described above, in the present embodiment, the same flow cookie information can be assigned to a plurality of flows as the flow cookie information described in the flow table 211 and the accounting table 221. When calculating the charge amount for the entire flow to which the specific flow cookie information is assigned, the controller 22 obtains statistical information for each flow to which the specific flow cookie information is assigned from the switch 21 and from the charge table 221. The charge rate for each flow to which the specific flow cookie information is assigned is acquired. Then, for each flow to which specific flow cookie information is assigned, the controller 12 multiplies the statistical value indicated by the statistical information of the flow by the charging rate of the flow, adds the multiplication result of each flow, and assigns it. Calculate the amount. Therefore, for a plurality of flows to which specific flow cookie information is assigned, the charging amount for all of the plurality of flows can be calculated based on the statistical information and the charging rate for each of the plurality of flows. As a result, even when a charging rate is set for each of a plurality of flows, it is possible to charge the entire plurality of flows at a charging rate for each flow.

なお、本発明は上記実施形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
例えば、上記実施形態においては、コントローラは、スイッチに新規のフローが発生し、スイッチからOFPT_PACKET_INメッセージを受信したことを契機に、そのフローのフローエントリをOFPT_FLOW_MODメッセージでフローテーブルに設定している。しかし、コントローラは、課金テーブルに課金エントリが設定されている所定のフローのフローエントリを事前にフローテーブルに設定しても良い。
In addition, this invention is not limited to the said embodiment, It is possible to change suitably in the range which does not deviate from the meaning.
For example, in the above embodiment, the controller sets the flow entry of the flow in the flow table with the OFPT_FLOW_MOD message when a new flow occurs in the switch and the OFPT_PACKET_IN message is received from the switch. However, the controller may set a flow entry of a predetermined flow in which a charging entry is set in the charging table in the flow table in advance.

また、上記実施形態においては、コントローラは、OFPT_FLOW_MODメッセージでフローのフローエントリをフローテーブルに設定した後にタイマを起動している。しかし、コントローラは、それより前の所定のタイミングでタイマを事前に起動しても良い。所定のタイミングとは、OFPT_PACKET_INメッセージを受信した時点でも良いし、その前でも良い。この場合、課金額を計算するフロークッキー情報は、新規に発生したフローに割り当てられたフロークッキー情報には限定されない。   In the above embodiment, the controller starts the timer after setting the flow entry of the flow in the flow table with the OFPT_FLOW_MOD message. However, the controller may start the timer in advance at a predetermined timing. The predetermined timing may be when the OFPT_PACKET_IN message is received or before that. In this case, the flow cookie information for calculating the charge amount is not limited to the flow cookie information assigned to a newly generated flow.

また、上記実施形態においては、コントローラは、タイマが満了した後に、スイッチにOFPT_STATS_REQUESTメッセージを送信して、スイッチから統計情報を取得している。しかし、コントローラは、タイマを用いず、所望のタイミングで統計情報を取得しても良い。   In the above embodiment, after the timer expires, the controller transmits an OFPT_STATS_REQUEST message to the switch to acquire statistical information from the switch. However, the controller may acquire statistical information at a desired timing without using a timer.

また、上記実施形態においては、コントローラは、OFPT_STATS_REQUEST(OFPST_FLOW)メッセージでフロークッキー情報を指定し、指定したフロークッキー情報が割り当てられたフローの統計情報のみを取得している。しかし、非特許文献1においては、OFPT_STATS_REQUEST(OFPST_FLOW)メッセージは、フロークッキー情報を指定できないメッセージ構造となっている。そのため、コントローラは、OFPT_STATS_REQUEST(OFPST_FLOW)メッセージでフロークッキー情報を指定せず、OFPT_STATS_REPLYメッセージで全フローのフロー毎の統計情報を取得しても良い。また、この場合、コントローラは、全フローの統計情報をフィルタリングして、特定のフロークッキー情報が割り当てられたフロー毎の統計情報を抽出して課金額を計算しても良い。   In the above embodiment, the controller designates flow cookie information with an OFPT_STATS_REQUEST (OFPST_FLOW) message, and acquires only the statistical information of the flow to which the designated flow cookie information is assigned. However, in Non-Patent Document 1, the OFPT_STATS_REQUEST (OFPST_FLOW) message has a message structure that cannot specify flow cookie information. Therefore, the controller may acquire statistical information for each flow of all flows with the OFPT_STATS_REPLY message without specifying the flow cookie information with the OFPT_STATS_REQUEST (OFPST_FLOW) message. In this case, the controller may filter the statistical information of all flows, extract the statistical information for each flow to which specific flow cookie information is assigned, and calculate the billing amount.

また、上記実施形態においては、コントローラは、フロークッキー情報を指定し、指定したフロークッキー情報が割り当てられたフローの統計情報を取得している。しかし、コントローラは、所定のビットマスクを用意し、フロークッキー情報を指定するだけでなく、所定のビットマスクを指定しても良い。所定のビットマスクは、フロークッキー情報と同じビット数のビット列とする。この場合、スイッチは、フロークッキー情報をビット列ごとに所定のビットマスクと論理積演算する。スイッチは、コントローラから指定されたフロークッキー情報だけでなく、上記の論理積演算の演算結果が所定のビットマスクと同じビット列になるフロークッキー情報も、特定のフロークッキー情報とする。そして、スイッチは、特定のフロークッキー情報が割り当てられているフローを全て抽出し、抽出したフロー毎の統計情報をコントローラに返す。この場合、コントローラから指定されたフロークッキー情報が異なっていても、ビットマスクで指定したビットが設定されたフローの統計情報も取得することができる。   Moreover, in the said embodiment, the controller designates flow cookie information and acquires the statistical information of the flow to which the designated flow cookie information was allocated. However, the controller may prepare a predetermined bit mask and specify not only the flow cookie information but also a predetermined bit mask. The predetermined bit mask is a bit string having the same number of bits as the flow cookie information. In this case, the switch performs an AND operation on the flow cookie information with a predetermined bit mask for each bit string. The switch uses not only the flow cookie information specified by the controller but also the flow cookie information in which the result of the logical product operation is the same bit string as the predetermined bit mask as the specific flow cookie information. Then, the switch extracts all flows to which specific flow cookie information is assigned, and returns statistical information for each extracted flow to the controller. In this case, even if the flow cookie information specified by the controller is different, the statistical information of the flow in which the bit specified by the bit mask is set can also be acquired.

また、上記実施形態においては、フローエントリの統計情報をパケット量(byte)としているが、パケット数としても良い。   In the above embodiment, the flow entry statistical information is the packet amount (byte), but it may be the number of packets.

また、上記実施形態においては、フローをIPアドレスで識別し、IPアドレスで識別されるユーザ単位で課金が可能な例を挙げているが、フローテーブルのマッチ条件の記述により、様々な単位で課金を行うことが可能である。以下に例を挙げる。   In the above embodiment, an example is given in which a flow is identified by an IP address, and charging can be performed for each user identified by the IP address. However, charging is performed in various units depending on the description of the match condition in the flow table. Can be done. Examples are given below.

例えば、単一のデバイスを複数のユーザで使用している状況で、ユーザ単位で課金を行う場合を考える。この場合、複数のユーザが同じIPアドレスを使用してパケットを送信するため、IPアドレスではユーザを識別することができない。そこで、この場合は、ユーザ毎に宛先ポート(TCP/UDP dst port)を分けることで、フローを識別することが可能になる。   For example, consider a case where charging is performed on a per-user basis in a situation where a single device is used by a plurality of users. In this case, since a plurality of users transmit packets using the same IP address, the user cannot be identified by the IP address. Therefore, in this case, the flow can be identified by dividing the destination port (TCP / UDP dst port) for each user.

また、複数のデバイスをグループ分けして、グループ単位で課金を行う場合を考える。この場合、グループ毎に使用するVLAN(Virtual Local Area Network)識別子(VLAN id)を分けることで、フローを識別することが可能になる。   Also, consider a case where a plurality of devices are grouped and charging is performed in units of groups. In this case, a flow can be identified by dividing a VLAN (Virtual Local Area Network) identifier (VLAN id) used for each group.

また、サービス単位で課金を行う場合を考える。例えば、端末30−3がサーバ機能を備え、端末30−3から端末30−1にサービスを提供することが考えられる。この場合、サービス毎に宛先IPアドレス(IP dst)を分けるか、または、宛先ポート(TCP/UDP dst port)を分けることで、フローを識別することが可能になる。   Also, consider a case where charging is performed on a service basis. For example, it is conceivable that the terminal 30-3 has a server function and provides a service from the terminal 30-3 to the terminal 30-1. In this case, the flow can be identified by dividing the destination IP address (IP dst) for each service or dividing the destination port (TCP / UDP dst port).

また、端末が接続してきた通信I/Fに応じて課金を行う場合を考える。この場合、受信ポート(Ingress Port)を参照することで、フローを識別することが可能になる。   Consider a case where charging is performed according to the communication I / F to which the terminal is connected. In this case, the flow can be identified by referring to the reception port (Ingress Port).

また、上記実施形態においては、通信装置にコントローラ及びスイッチの両方を設けているが、コントローラ及びスイッチは、別々の装置に設けても良い。   Moreover, in the said embodiment, although both the controller and the switch were provided in the communication apparatus, you may provide a controller and a switch in a separate apparatus.

また、通信装置における処理は、CPU(Central Processing Unit)にコンピュータプログラムを実行させることにより実現されても良い。プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えば、フレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば、光磁気ディスク)、CD−ROM(Compact Disk-Read Only Memory)、CD−R(CD-Recordable)、CD−R/W(CD-ReWritable)、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(random access memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されても良い。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバなどの有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。   Further, the processing in the communication device may be realized by causing a CPU (Central Processing Unit) to execute a computer program. The program may be stored using various types of non-transitory computer readable media and supplied to a computer. Non-transitory computer readable media include various types of tangible storage media. Examples of non-transitory computer-readable media are magnetic recording media (for example, flexible disks, magnetic tapes, hard disk drives), magneto-optical recording media (for example, magneto-optical disks), CD-ROMs (Compact Disk-Read Only Memory). CD-R (CD-Recordable), CD-R / W (CD-ReWritable), semiconductor memory (for example, mask ROM, PROM (Programmable ROM), EPROM (Erasable PROM), flash ROM, RAM (random access memory) )including. Further, the program may be supplied to the computer by various types of temporary computer readable media. Examples of transitory computer readable media include electrical signals, optical signals, and electromagnetic waves. The temporary computer-readable medium can supply the program to the computer via a wired communication path such as an electric wire and an optical fiber, or a wireless communication path.

10 通信装置
11 スイッチ
111 フローテーブル
12 コントローラ
121 課金テーブル
20 ゲートウェイ装置
21 スイッチ
211 フローテーブル
22 コントローラ
221 課金テーブル
23−1〜23−4 通信I/F
30−1〜30−4 端末
DESCRIPTION OF SYMBOLS 10 Communication apparatus 11 Switch 111 Flow table 12 Controller 121 Charge table 20 Gateway apparatus 21 Switch 211 Flow table 22 Controller 221 Charge table 23-1 to 23-4 Communication I / F
30-1 to 30-4 terminal

Claims (11)

フロー毎に、該フローを識別するマッチ条件と、該マッチ条件にマッチしたパケットの統計情報と、該マッチ条件にマッチしたパケットの処理内容を表すインストラクションと、該フローに割り当てられたフロークッキー情報と、を記述したフローエントリが設定されるフローテーブルを備えたスイッチと、
フロー毎に、該フローを識別するマッチ条件と、該フローに割り当てられたフロークッキー情報と、該フローに課金を行う際の課金レートと、を記述した課金エントリが設定される課金テーブルを備えたコントローラと、を含み、
前記フロークッキー情報は、複数のフローに同じフロークッキー情報が割り当て可能であり、
前記スイッチは、前記フローテーブルのいずれかのフローエントリのマッチ条件にマッチするパケットを受信した場合、該フローエントリのインストラクションに従って、前記受信したパケットの処理を行うと共に、該フローエントリの統計情報を更新し、
前記コントローラは、特定のフロークッキー情報が割り当てられたフロー全体に対する課金額を計算する場合、前記スイッチから、前記特定のフロークッキー情報が割り当てられたフロー毎の統計情報を取得すると共に、前記課金テーブルから、前記特定のフロークッキー情報が割り当てられたフロー毎の課金レートを取得し、取得したフロー毎の統計値及び課金レートを基に前記課金額を計算する、通信装置。
For each flow, a matching condition for identifying the flow, statistical information of a packet that matches the matching condition, an instruction that indicates processing contents of the packet that matches the matching condition, and flow cookie information assigned to the flow A switch having a flow table in which a flow entry describing
A charging table is provided in which a charging entry describing a matching condition for identifying the flow, flow cookie information assigned to the flow, and a charging rate for charging the flow is set for each flow. A controller, and
The flow cookie information can assign the same flow cookie information to a plurality of flows,
When the switch receives a packet that matches a match condition of any flow entry in the flow table, the switch processes the received packet according to the instruction of the flow entry and updates the statistical information of the flow entry. And
When calculating the charge amount for the entire flow to which the specific flow cookie information is assigned, the controller acquires, from the switch, statistical information for each flow to which the specific flow cookie information is assigned, and the charge table To obtain a charging rate for each flow to which the specific flow cookie information is assigned, and calculate the charging amount based on the acquired statistical value and the charging rate for each flow.
前記コントローラは、前記特定のフロークッキー情報が割り当てられたフロー毎に、該フローの統計情報で示される統計値と該フローの課金レートとを乗算し、各フローの乗算結果を加算することで前記課金額を計算する、請求項1に記載の通信装置。   The controller, for each flow to which the specific flow cookie information is assigned, multiplies the statistical value indicated by the statistical information of the flow by the charging rate of the flow, and adds the multiplication result of each flow to The communication apparatus according to claim 1, wherein a charge amount is calculated. 前記課金テーブルには、所定のフローの課金エントリが事前に設定されており、
前記コントローラは、前記課金テーブルに課金エントリが設定されたフローのフローエントリを前記フローテーブルに設定する場合、該フローエントリには、該課金エントリと同じフロークッキー情報を記述する、請求項1又は2に記載の通信装置。
In the billing table, a billing entry for a predetermined flow is set in advance,
The controller, when setting a flow entry of a flow for which a charging entry is set in the charging table in the flow table, describes the same flow cookie information as the charging entry in the flow entry. The communication apparatus as described in.
前記コントローラは、前記スイッチに新規のフローが発生した場合に、該フローのフローエントリとして、前記マッチ条件、前記処理内容、及び前記フロークッキー情報を記述したフローエントリを、前記フローテーブルに設定する、請求項3に記載の通信装置。   The controller sets, in the flow table, a flow entry describing the match condition, the processing content, and the flow cookie information as a flow entry of the flow when a new flow occurs in the switch. The communication apparatus according to claim 3. 前記コントローラは、前記フローテーブルに新規のフローのフローエントリを設定した場合、該フローに割り当てられたフロークッキー情報を前記特定のフロークッキー情報とする、請求項4に記載の通信装置。   5. The communication apparatus according to claim 4, wherein when the flow entry of a new flow is set in the flow table, the controller uses the flow cookie information assigned to the flow as the specific flow cookie information. 前記コントローラは、前記フローテーブルに新規のフローのフローエントリを設定した後に、タイマを起動し、該タイマが満了した後に、前記課金額を計算する、請求項5に記載の通信装置。   The communication device according to claim 5, wherein the controller starts a timer after setting a flow entry of a new flow in the flow table, and calculates the billing amount after the timer expires. 前記コントローラは、前記所定のフローのフローエントリとして、前記マッチ条件、前記処理内容、及び前記フロークッキー情報を記述したフローエントリを、前記フローテーブルに事前に設定する、請求項3に記載の通信装置。   The communication device according to claim 3, wherein the controller sets in advance in the flow table a flow entry describing the match condition, the processing content, and the flow cookie information as the flow entry of the predetermined flow. . 前記コントローラは、前記スイッチに対し、前記特定のフロークッキー情報を指定し、前記スイッチから、指定した前記特定のフロークッキー情報が割り当てられたフロー毎の統計情報を取得する、請求項1から7のいずれか1項に記載の通信装置。   8. The controller according to claim 1, wherein the controller specifies the specific flow cookie information for the switch, and obtains statistical information for each flow to which the specified specific flow cookie information is assigned from the switch. The communication apparatus of any one of Claims. 前記コントローラは、前記スイッチから、全フローのフロー毎の統計情報を取得し、取得した統計情報の中から、前記特定のフロークッキー情報が割り当てられたフロー毎の統計情報を抽出する、請求項1から7のいずれか1項に記載の通信装置。   The controller acquires statistical information for each flow of all flows from the switch, and extracts statistical information for each flow to which the specific flow cookie information is assigned from the acquired statistical information. 8. The communication device according to any one of 1 to 7. 前記コントローラは、
前記フロークッキー情報と同じビット数のビット列である所定のビットマスクを用意し、
前記フロークッキー情報をビット列ごとに前記所定のビットマスクと論理積演算をした場合に、該演算結果が該所定のビットマスクと同じビット列になるフロークッキー情報も前記特定のフロークッキー情報とする、請求項1から9のいずれか1項に記載の通信装置。
The controller is
Prepare a predetermined bit mask that is a bit string of the same number of bits as the flow cookie information,
When the flow cookie information is ANDed with the predetermined bit mask for each bit string, the flow cookie information whose operation result is the same bit string as the predetermined bit mask is also the specific flow cookie information. Item 10. The communication device according to any one of Items 1 to 9.
スイッチに、フロー毎に、該フローを識別するマッチ条件と、該マッチ条件にマッチしたパケットの統計情報と、該パケットの処理内容と、該フローに割り当てられたフロークッキー情報と、を記述したフローエントリが設定されるフローテーブルを設け、
コントローラに、フロー毎に、該フローを識別するマッチ条件と、該フローに割り当てられたフロークッキー情報と、該フローに課金を行う際の課金レートと、を記述した課金エントリが設定される課金テーブルを設け、
前記フロークッキー情報は、複数のフローに同じフロークッキー情報が割り当て可能であり、
前記スイッチが、前記フローテーブルのいずれかのフローエントリのマッチ条件にマッチするパケットを受信した場合、該フローエントリの処理内容に従って、前記受信したパケットの処理を行うと共に、該フローエントリの統計情報を更新し、
前記コントローラが、特定のフロークッキー情報が割り当てられたフロー全体に対する課金額を計算する場合、前記スイッチから、前記特定のフロークッキー情報が割り当てられたフロー毎の統計情報を取得すると共に、前記課金テーブルから、前記特定のフロークッキー情報が割り当てられたフロー毎の課金レートを取得し、取得したフロー毎の統計値及び課金レートを基に前記課金額を計算する、通信方法。
A flow that describes, for each flow, a match condition for identifying the flow, statistical information of a packet that matches the match condition, processing contents of the packet, and flow cookie information assigned to the flow. Provide a flow table where entries are set,
A charging table in which a charging entry describing a matching condition for identifying the flow, flow cookie information assigned to the flow, and a charging rate for charging the flow is set for each flow in the controller Provided,
The flow cookie information can assign the same flow cookie information to a plurality of flows,
When the switch receives a packet that matches the match condition of any flow entry in the flow table, the switch processes the received packet according to the processing content of the flow entry, and displays statistical information of the flow entry. Updated,
When the controller calculates a charge amount for the entire flow to which the specific flow cookie information is assigned, the controller obtains statistical information for each flow to which the specific flow cookie information is assigned, and the charge table The communication method of acquiring a charging rate for each flow to which the specific flow cookie information is assigned, and calculating the charging amount based on the acquired statistics and charging rate for each flow.
JP2015056133A 2015-03-19 2015-03-19 Communication device and communication method Active JP6477084B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015056133A JP6477084B2 (en) 2015-03-19 2015-03-19 Communication device and communication method
PCT/JP2016/000738 WO2016147548A1 (en) 2015-03-19 2016-02-12 Communication apparatus and communication method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015056133A JP6477084B2 (en) 2015-03-19 2015-03-19 Communication device and communication method

Publications (2)

Publication Number Publication Date
JP2016178420A JP2016178420A (en) 2016-10-06
JP6477084B2 true JP6477084B2 (en) 2019-03-06

Family

ID=56919988

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015056133A Active JP6477084B2 (en) 2015-03-19 2015-03-19 Communication device and communication method

Country Status (2)

Country Link
JP (1) JP6477084B2 (en)
WO (1) WO2016147548A1 (en)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3230671B2 (en) * 1999-01-14 2001-11-19 日本電気株式会社 Packet billing device
CN1303781C (en) * 2004-04-01 2007-03-07 华为技术有限公司 Accounting and controlling method for grouped data service
JPWO2011040511A1 (en) * 2009-09-30 2013-02-28 日本電気株式会社 Billing processing system, network switch, network management server, billing processing method, and billing processing program

Also Published As

Publication number Publication date
JP2016178420A (en) 2016-10-06
WO2016147548A1 (en) 2016-09-22

Similar Documents

Publication Publication Date Title
JP5717057B2 (en) Network system, controller, switch, and traffic monitoring method
CN110703817B (en) Control method, device and system for statistical flow
US20140140211A1 (en) Classification of traffic for application aware policies in a wireless network
JP5915729B2 (en) Control device, communication system, and communication device control method
EP3076612B1 (en) Packet processing methods and nodes
JP6256591B2 (en) Communication apparatus and traffic control method
US10554661B2 (en) Methods, systems, and computer readable media for providing access network session correlation for policy control
JP2015528228A (en) Method, system, and computer-readable medium for providing an integrated OpenFlow controller for a policy and charging rules function (PCRF)
KR102067439B1 (en) Method and apparatus for providing quality of service in software defiend neworking network
JP5858141B2 (en) Control device, communication device, communication system, communication method, and program
US20160380899A1 (en) Method and apparatus for dynamic traffic control in sdn environment
JP6472876B2 (en) Computer program, apparatus and storage medium
CN106713162B (en) Method and device for counting BGP community attributes or expanding community attribute flow values
JPWO2012081721A1 (en) Communication system, node, packet transfer method and program
JP6477084B2 (en) Communication device and communication method
JPWO2013062070A1 (en) Control device, communication system, virtual network management method and program
CN104363176A (en) Message control method and equipment
JP6409640B2 (en) Communication device and communication method
JP4222565B2 (en) Congestion control method, congestion control device, tagging device, and discarding device
JP2018038002A (en) Policy management system, policy management method, and policy management device
EP3160080A1 (en) Method, apparatus and system for configuring quality of service (qos) parameters
WO2015074198A1 (en) Flow table processing method and apparatus
JP5703111B2 (en) Communication system and apparatus
WO2023056784A1 (en) Data collection method, communication apparatus and communication system
JP5947762B2 (en) Communication policy rule changing system and communication policy rule changing method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180208

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180828

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190108

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190121

R150 Certificate of patent or registration of utility model

Ref document number: 6477084

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150