JP3736293B2 - Service quality control method and device service quality control program in encrypted communication - Google Patents

Service quality control method and device service quality control program in encrypted communication Download PDF

Info

Publication number
JP3736293B2
JP3736293B2 JP2000163682A JP2000163682A JP3736293B2 JP 3736293 B2 JP3736293 B2 JP 3736293B2 JP 2000163682 A JP2000163682 A JP 2000163682A JP 2000163682 A JP2000163682 A JP 2000163682A JP 3736293 B2 JP3736293 B2 JP 3736293B2
Authority
JP
Japan
Prior art keywords
service
kernel
quality control
processing
communication
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.)
Expired - Fee Related
Application number
JP2000163682A
Other languages
Japanese (ja)
Other versions
JP2001344228A (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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2000163682A priority Critical patent/JP3736293B2/en
Publication of JP2001344228A publication Critical patent/JP2001344228A/en
Application granted granted Critical
Publication of JP3736293B2 publication Critical patent/JP3736293B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、暗号化通信におけるサービス品質制御方法及び装置及びサービス品質制御プログラムを格納した記憶媒体に係り、特に、インターネットのようなパケット交換型ネットワークにおいて、IPsecなどを用いて暗号化通信を行うことにより、セキュアかつ、リアルタイム性などサービス品質を保証した通信サービスを提供する場合に、これらの通信サービスの品質を制御するための暗号化通信におけるサービス品質制御方法及び装置及びサービス品質制御プログラムを格納した記憶媒体に関する。
【0002】
【従来の技術】
従来から、サービス品質を制御する方法として、ネットワークの通信品質を制御する方法及び、OSにおけるサービスプロセスの品質(優先度)を制御する方法の2つが存在する。ネットワークの通信品質を制御する方法として、IntServ やDiffServなどがあり、それぞれIntServ は、帯域予約を行う帯域確保型の通信品質制御方式であり、DiffServは、優先制御型の通信品質制御方式である。
【0003】
また、OSにおけるユーザプロセスの品質(優先度)を制御する方法としては、時分割方式や実時間プロセスと時分割プロセスに分けてスケジュールする方式などがある。
【0004】
また、インターネットにおいて、暗号化技術を用いてセキュアな通信を提供する方法として、IPsec、SSL、TLS、S/MIMEなどが挙げられる。それぞれ適用範囲が異なり、それぞれIPsecは、IP層、SSL、TLSは、Transport層、S/MIMEはアプリケーション層(電子メール)である。通常、SSL,TLS,S/MIMEにおける暗号化処理はユーザプロセス空間で行われる。一方、IPsecは、通常IPの拡張として導入されるため、ソフトウェアにより実現する場合には、暗号処理もカーネル内で行われる。本発明では、IPsecのような暗号通信が対象となる。
【0005】
【発明が解決しようとする課題】
従来、OSにおいて、カーネルは、キーボードやディスクなどのI/Oバウンドな処理がメインである。通常I/Oバウンドな処理は、軽く短い処理である。しかし、パケット暗号化処理をカーネル内部において行わせることにより、CPUバウンドな重たい処理をカーネルに行わせることになる。従って、カーネルが長時間CPUを占有することになる。通常のOSでは、カーネルによる処理は、ユーザプロセスによる処理よりも優先させるという特徴がある。また、OSにおける通信サービスは、カーネル内部による通信処理とユーザプロセス空間におけるサーバプロセスの処理の2つから行われる。
【0006】
以上のようなことから、次のような場合に、優先度逆転(Priority Inversion)の問題が発生する。
【0007】
優先度の高いサービスと低いサービスを共に暗号化通信を用いて同時に提供する場合において、優先度の高いサービスのユーザプロセス空間におけるサーバプロセスの処理よりも、優先度の低いサービスのカーネル内部によるパケット処理の方が優先されてしまい、優先度の高いサービスと優先度の低いサービスの品質制御が正しく行われないという問題がある。
【0008】
本発明は、上記の点に鑑みなされたもので、暗号化通信を用いたサービスを行う場合に、優先度に応じたサービス品質の制御を正しく行うことが可能な暗号化通信におけるサービス品質制御方法及び装置及びサービス品質制御プログラムを格納した記憶媒体を提供することを目的とする。
【0009】
【課題を解決するための手段】
本発明(請求項1)は、パケットを暗号化することによってセキュアな通信を行う際に、暗号復号化処理をカーネル内で行い、かつ、マルチCPU及びカーネルにおけるマルチスレッドサポートしているOSを用いて、サービスの品質を保証した通信を行うための暗号化通信におけるサービス品質制御方法であって、
ユーザプロセス空間のサービスを行うサーバプロセスとカーネル空間において、入力されたパケットをサービスの種類に応じてクラス分けするクラス分けステップと、
クラス分けされたそれぞれのクラスに割り当てるCPU数を制御し、クラス分けされたパケットのうち、優先度の低いパケットの暗号復号処理を前記カーネル空間よりも優先度の低いユーザプロセス空間のプロセスによって処理する制御ステップと、を行う。
【0012】
本発明(請求項)は、パケットを暗号化することによってセキュアな通信を行う際に、暗号復号化処理をカーネル内で行い、かつ、マルチCPU及びカーネルにおけるマルチスレッドサポートしているOSを用いて、サービスの品質を保証した通信を行うための暗号化通信におけるサービス品質制御装置であって、
ユーザプロセス空間のサービスを行うサーバプロセスとカーネル空間において、入力されたパケットをサービスの種類に応じてクラス分けするクラス分け手段と、
クラス分けされたそれぞれのクラスに割り当てるCPU数を制御し、クラス分けされたパケットのうち、優先度の低いパケットの暗号復号処理を前記カーネル空間よりも優先度の低いユーザプロセス空間のプロセスによって処理するパケット処理手段と、を有する。
【0014】
発明(請求項)は、パケットを暗号化することによってセキュアな通信を行う際に、暗号復号化処理をカーネル内で行い、かつ、マルチCPU及びカーネルにおけるマルチスレッドサポートしているOSを用いて、サービスの品質を保証した通信を行うためのサービス品質制御プログラムを格納した記憶媒体であって、
上記の請求項1記載のサービス品質制御方法を実現するための処理をコンピュータに実行させるプログラムを格納した記憶媒体である。
【0017】
上記のように、本発明は、カーネルにおけるパケット処理とユーザプロセス空間における処理のそれぞれに割り当てるCPU数を制限することにより、サービスの品質を制御することが可能となる。
【0018】
また、パケットをサービスの種類に応じてクラス分けし、それぞれのクラスに割り当てるCPU数を制限することにより、カーネル内における通信品質を制御することが可能となる。
【0019】
また、クラス分けされたうち、優先度の低いパケットの暗号・復号処理をユーザプロセス空間のプロセスによって処理することにより、優先度を下げて通信品質を制御することが可能となる。
【0020】
【発明の実施の形態】
図1は、本発明のサービス品質制御装置の構成を示す。
【0021】
同図に示すサービス品質制御装置は、ネットワークインタフェース20に接続されるカーネル100およびサーバプロセス12を包含するユーザプロセス空間10により構成される。
【0022】
カーネル100は、入力クラス分け部110、パケット処理部120、出力クラス分け部130から構成される。同図では、入力クラス分け部110と出力クラス分け部130を分けて示しているが、1つのクラス分け部として構築してもよい。
【0023】
入力クラス分け部110は、ネットワークインタフェース20から入力されたパケットを優先度に応じてクラス分けし、クラス別入力キュー101に設定する。
【0024】
パケット処理部120は、クラス別入力キュー101または、クラス別出力キー103に設定されたキューに入れられたパケットを処理する。パケット処理は、それぞれに割り当てられたCPU数までの範囲の並列度に基づいて処理を行う。パケット処理のCPU数の制限方法については後述する。また、場合によっては、ユーザプロセス空間10の暗号処理プロセスに暗号処理を引き渡し、処理してもらうことも可能である。
【0025】
出力クラス分け部130は、ユーザプロセス空間10内のサーバプロセス12から取得したパケットを優先度に応じてクラス分けし、クラス別出力キュー103に設定する。暗号化されたパケットのクラス分けの処理については後述する。
最初に入力に関する動作について説明する。
【0026】
図2は、本発明の入力動作のフローチャートである。
【0027】
ステップ101) 入力クラス分け部110において、ネットワークインタフェース20からパケットを取得する。
【0028】
ステップ102) 入力クラス分け部110は、受け取ったパケットを優先度に応じて入力キューに分別する。このとき、暗号化されたパケットを受け取った場合の処理については後述する。
【0029】
ステップ103) 次に、パケット処理部120において、担当するキューに入れられたパケットの処理を行う。各処理は、それぞれに割り当てられたCPU数までの範囲の並列度で処理を行う。パケット処理のCPU数の制限方法については後述する。場合によっては、ユーザプロセス空間10の暗号処理プロセスに暗号処理を引き渡し、処理してもらう。
【0030】
ステップ104) 入力キュー102を介して、ユーザプロセス空間10の各プロセス(サーバプロセス12または、暗号プロセス)に渡される。
【0031】
ステップ105) 各サーバプロセス12は、通常のOSのプロセススケジューリングに備えられた機能により、優先度制御が行われる。サーバプロセス12の優先度制御に関しては後述する。
【0032】
次に、出力動作について説明する。
【0033】
図3は、本発明の出力動作のフローチャートである。
【0034】
ステップ201) ユーザプロセス空間10の各サーバプロセス12は、通常のOSのプロセススケジューリングに備えられた機能により、優先度制御が行われる。優先度制御されたパケットを出力クラス分け部130に転送する。なお、サーバプロセス12の優先度制御に関しては後述する。
【0035】
ステップ202) 出力クラス分け部130は、サーバプロセス12から送り出されたパケットは、クラス分け処理により優先度に応じた出力キューに分別され、クラス分け出力キュー103に設定される。暗号化されたパケットのクラス分け方法に関しては、後述する。
【0036】
ステップ203) パケット処理部120は、該当するクラス別出力キュー103に設定されたパケットの処理を行う。各処理は、それぞれに割り当てられたCPU数までの範囲の並列度に基づいて処理を行う。パケット処理のCPU数の制限方法については後述する。場合によっては、ユーザプロセス空間10の暗号処理プロセスに暗号処理を引き渡し、処理してもらう。
【0037】
ステップ204) パケット処理が終わったパケットは、出力キュー104に設定され、ネットワークインタフェース20を介して出力される。
【0038】
【実施例】
以下、図面と共に本発明の実施例を説明する。
【0039】
以下の実施例では、まず、8つのCPUを備えた計算機を用いて、IPsecによる暗号化通信を用いて、3つのサービスを提供する場合を例にして説明を行う。
【0040】
それぞれのサービスは、主に、ユーザプロセス空間のサーバプロセス12とカーネル100内におけるパケット処理部120により行われる。3つのサービスをサービスA,サービスB,サービスCとする。
【0041】
本実施例における前提条件は以下の通りである。
【0042】
図4は、本発明の一実施例のサービス品質制御装置の構成を示す。
−サービスAのユーザプロセス空間におけるサーバプロセス12は、『サーバプロセスa』であり、優先度は『低』である。
−サービスBのユーザプロセス空間におけるサーバプロセス12は、『サーバプロセスb』であり、優先度は『中』である。
−サービスCのユーザプロセス空間におけるサーバプロセス12は、『サーバプロセスc』であり、優先度は『高』である。
−サービスAのカーネル100内の処理は、『パケット処理a』によって行われ、優先度は『低』である。パケット処理aの暗号処理は、『暗号処理プロセスd』を用いて行われる。
−サービスBのカーネル100内の処理は、『パケット処理b』によって行われ、優先度は『中』である。
−サービスcのカーネル100内の処理は、『パケット処理c』によってによって行われ、優先度は『高』である。
−カーネル100内の処理に関して、それぞれパケット処理aには1つ、パケット処理bには2つ、パケット処理cには3つまでCPUが制限されている。
【0043】
以下に、具体的な実現方法に関して説明する。
【0044】
▲1▼ クラス分け方法:
入力クラス分け部110及び出力クラス分け部130におけるクラス分け方法を以下に示す。
【0045】
IPsecによる通信では、暗号鍵や復号鍵などの情報をSA(Security Association)と呼ばれる情報として保持する。各パケット毎にこのSAをソースアドレス、ディスティネーションアドレス、SPIなどから探索し、暗号化や復号化処理を行う。このSAに優先度情報を記述しておく。
【0046】
図5は、本発明の一実施例のクラス分けを説明するための図である。
【0047】
入力クラス分け部110、出力クラス分け部130は、同図に示すように、パケット分類部111、メータリング部112、マーキング部113、シェーピング部114、及びキュー管理部115から構成される。
【0048】
クラス分け処理方法(入力クラス分け部110、出力クラス分け部130における処理)は、通常QoSルータのパケットフォーワードと同様の方法により行う。図5のように、まず、パケット分類部111において、上記のようにSAの探索を行い、そのSAにある優先度情報を元に、マーキング部113においてパケットに優先度情報を書き込む。それと同時に、メータリング部112において、優先度クラス毎にトラフィックの観測をしており、過剰なトラフィックが流れる場合には、シェーピング部114においてパケットの破棄、もしくは、マーキング部113において、優先度を下げたマークを付与するなどの処理を行う。その後に、キュー管理部115において、各優先度に合わせたキューに入れられる。
【0049】
▲2▼ CPU数の制限方法:
パケット処理部120において、それぞれ利用可能なCPU数を制限しておく。この制限方法は、当該パケット処理部120が起こせるスレッドの数を制限することにより実現する。具体的には、現在実行中のスレッド数を表す変数を用意しておき、その数が限度を超えたら空くまで処理を止めるという方法による。
【0050】
▲3▼ サーバプロセス12の優先度制御:
ユーザプロセス空間10におけるサーバプロセス12の優先度制御は、通常のOSに用意されている優先度制御方法を試用する。UNIXの場合では、nice値により、優先度制御を行う。
【0051】
▲4▼ ユーザプロセス空間10における暗号処理プロセスによる処理:
カーネル100内のパケット処理部120からユーザプロセス空間10へ暗号化もしくは、復号化するパケットを引き渡す。そして、カーネル空間より優先度の低いユーザプロセス空間において、しかもniceによりユーザプロセス空間10においても優先度が付与された状態で、パケットの暗号処理を行う。処理を終えたパケットは、再びカーネル100内部のパケット処理部120に戻す。
【0052】
また、上記の実施例は、図4に基づいて説明したが、カーネル内のクラス分け部110、130及びパケット処理部120の処理をプログラムとして構築し、サービス品質制御装置として利用されるコンピュータに接続されるディスク装置や、フロッピーディスク、CD−ROM等の可搬記憶媒体に格納しておき、本発明を実施する際にインストールすることにより、容易に本発明を実現することが可能である。
【0053】
なお、本発明は、上記の実施例に限定されることなく、特許請求の範囲内において、種々変更・応用が可能である。
【0054】
【発明の効果】
上述のように、本発明によれば、OSにおいて、ユーザプロセス空間のサーバプロセスとカーネル空間におけるパケット処理を割り当てるCPU数を制限すること、及び本来、カーネル内部で行う処理をユーザプロセス空間における暗号処理プロセスを用いることにより、サービス品質を制御することにより、暗号化通信によるセキュアかつリアルタイムなどのサービスの品質を保証した通信サービスを提供する場合に有効である。例えば、NTPのような時刻配送サービスと、ファイル転送サービスの両者を暗号化通信により提供する場合などである。
【0055】
今後は、インターネットにおいてセキュリティを考慮することは当然のこととなり、IPsecがその標準として使われることが予想される。従って、そのような場合において、本発明のようなサービス品質制御は重要になることが予想される。
【図面の簡単な説明】
【図1】本発明のサービス品質制御装置の構成図である。
【図2】本発明の入力動作のフローチャートである。
【図3】本発明の出力動作のフローチャートである。
【図4】本発明の一実施例のサービス品質制御装置の構成図である。
【図5】本発明の一実施例のクラス分けを説明するための図である。
【符号の説明】
10 ユーザプロセス空間
12 サーバプロセス
20 ネットワークインタフェース
100 カーネル
101 クラス別入力キュー
102 入力キュー
103 クラス別出力キュー
104 出力キュー
110 入力クラス分け部
111 パケット分類部
112 メーリング部
113 マーキング部
114 シェーピング部
115 キュー管理部
120 パケット処理部
130 出力クラス分け部
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a service quality control method and apparatus in encrypted communication, and a storage medium storing a service quality control program, and in particular, performs encrypted communication using IPsec or the like in a packet switched network such as the Internet. Stores a service quality control method and apparatus in encrypted communication and a service quality control program for controlling the quality of the communication service when providing a communication service that guarantees the service quality such as real-time property in a secure manner The present invention relates to a storage medium.
[0002]
[Prior art]
Conventionally, there are two methods for controlling service quality: a method for controlling communication quality of a network and a method for controlling quality (priority) of a service process in an OS. There are IntServ, DiffServ, and the like as methods for controlling the communication quality of the network. IntServ is a bandwidth securing type communication quality control method for performing bandwidth reservation, and DiffServ is a priority control type communication quality control method.
[0003]
In addition, as a method for controlling the quality (priority) of the user process in the OS, there are a time division method, a method of scheduling divided into a real time process and a time division process.
[0004]
Moreover, IPsec, SSL, TLS, S / MIME, etc. are mentioned as a method of providing secure communication using encryption technology on the Internet. The application ranges are different, respectively, IPsec is an IP layer, SSL and TLS are transport layers, and S / MIME is an application layer (e-mail). Usually, encryption processing in SSL, TLS, and S / MIME is performed in the user process space. On the other hand, since IPsec is usually introduced as an extension of IP, when implemented by software, cryptographic processing is also performed in the kernel. In the present invention, encryption communication such as IPsec is targeted.
[0005]
[Problems to be solved by the invention]
Conventionally, in an OS, the kernel is mainly I / O bound processing such as a keyboard and a disk. Normally, I / O bound processing is light and short processing. However, by causing packet encryption processing to be performed inside the kernel, CPU-bound heavy processing is performed by the kernel. Therefore, the kernel occupies the CPU for a long time. A normal OS has a feature that processing by a kernel is given priority over processing by a user process. In addition, the communication service in the OS is performed by two processes, that is, communication processing in the kernel and server process in the user process space.
[0006]
From the above, the problem of priority inversion occurs in the following cases.
[0007]
When both high-priority services and low-priority services are provided simultaneously using encrypted communication, packet processing is performed by the kernel of the low-priority service, rather than the server process in the user process space of the high-priority service There is a problem that quality control is not performed correctly for services with high priority and services with low priority.
[0008]
The present invention has been made in view of the above points, and in performing a service using encrypted communication, a service quality control method in encrypted communication capable of correctly performing service quality control according to priority. It is another object of the present invention to provide a storage medium storing an apparatus and a service quality control program.
[0009]
[Means for Solving the Problems]
In the present invention (Claim 1), when performing secure communication by encrypting a packet, encryption / decryption processing is performed in the kernel, and a multi-CPU and an OS that supports multi-thread in the kernel are used. A service quality control method in encrypted communication for performing communication with guaranteed service quality,
A classification step for classifying an input packet according to the type of service in a kernel process and a server process that performs a service in the user process space ;
The number of CPUs assigned to each classified class is controlled, and encryption / decryption processing of packets with low priority among the classified packets is processed by a process in the user process space having a lower priority than the kernel space. And a control step.
[0012]
The present invention (Claim 2 ) uses an OS that performs encryption / decryption processing in the kernel and performs multi-thread support in the kernel when performing secure communication by encrypting the packet. A service quality control apparatus in encrypted communication for performing communication with guaranteed service quality,
Classifying means for classifying the input packet according to the type of service in the kernel process and the server process that performs the service in the user process space ;
The number of CPUs assigned to each classified class is controlled, and encryption / decryption processing of packets with low priority among the classified packets is processed by a process in the user process space having a lower priority than the kernel space. Packet processing means.
[0014]
The present invention (Claim 3 ) uses an OS that performs encryption / decryption processing in the kernel and performs multi-CPU and multi-thread support in the kernel when performing secure communication by encrypting the packet. A storage medium storing a service quality control program for performing communication with guaranteed service quality,
A storage medium storing a program for causing a computer to execute processing for realizing the service quality control method according to claim 1.
[0017]
As described above, according to the present invention, the quality of service can be controlled by limiting the number of CPUs allocated to packet processing in the kernel and processing in the user process space.
[0018]
Also, by classifying packets according to the type of service and limiting the number of CPUs assigned to each class, it is possible to control the communication quality in the kernel.
[0019]
In addition, by performing encryption / decryption processing of a low priority packet among the classified classes by a process in the user process space, it is possible to control the communication quality by lowering the priority.
[0020]
DETAILED DESCRIPTION OF THE INVENTION
FIG. 1 shows the configuration of a service quality control apparatus of the present invention.
[0021]
The service quality control apparatus shown in FIG. 1 includes a user process space 10 including a kernel 100 and a server process 12 connected to a network interface 20.
[0022]
The kernel 100 includes an input classification unit 110, a packet processing unit 120, and an output classification unit 130. In the figure, the input classifying unit 110 and the output classifying unit 130 are shown separately, but they may be constructed as one classifying unit.
[0023]
The input classification unit 110 classifies the packet input from the network interface 20 according to the priority and sets the packet in the class-specific input queue 101.
[0024]
The packet processing unit 120 processes a packet put in the queue set in the class-specific input queue 101 or the class-specific output key 103. The packet processing is performed based on the degree of parallelism in the range up to the number of CPUs assigned to each. A method for limiting the number of CPUs for packet processing will be described later. In some cases, it is also possible to deliver the cryptographic process to the cryptographic process in the user process space 10 for processing.
[0025]
The output classifying unit 130 classifies the packets acquired from the server process 12 in the user process space 10 according to the priority, and sets the packets in the class-specific output queue 103. The process for classifying the encrypted packet will be described later.
First, operations related to input will be described.
[0026]
FIG. 2 is a flowchart of the input operation of the present invention.
[0027]
Step 101) The input classification unit 110 acquires a packet from the network interface 20.
[0028]
Step 102) The input classifying unit 110 sorts the received packets into input queues according to priority. At this time, processing when an encrypted packet is received will be described later.
[0029]
Step 103) Next, the packet processing unit 120 processes the queued queue. Each process is performed with a parallelism in a range up to the number of CPUs allocated to each process. A method for limiting the number of CPUs for packet processing will be described later. In some cases, the cryptographic process is delivered to the cryptographic process in the user process space 10 for processing.
[0030]
Step 104) It is passed to each process (server process 12 or cryptographic process) in the user process space 10 via the input queue 102.
[0031]
Step 105) Each server process 12 is subjected to priority control by a function provided for normal OS process scheduling. The priority control of the server process 12 will be described later.
[0032]
Next, the output operation will be described.
[0033]
FIG. 3 is a flowchart of the output operation of the present invention.
[0034]
Step 201) Each server process 12 in the user process space 10 is subjected to priority control by a function provided for normal OS process scheduling. The priority-controlled packet is transferred to the output classification unit 130. The priority control of the server process 12 will be described later.
[0035]
Step 202) The output classification unit 130 classifies the packets sent from the server process 12 into output queues according to the priority by classification processing, and sets them in the classification output queue 103. A method of classifying encrypted packets will be described later.
[0036]
Step 203) The packet processing unit 120 processes the packet set in the corresponding class output queue 103. Each processing is performed based on the degree of parallelism in the range up to the number of CPUs allocated to each processing. A method for limiting the number of CPUs for packet processing will be described later. In some cases, the cryptographic process is delivered to the cryptographic process in the user process space 10 for processing.
[0037]
Step 204) The packet that has undergone packet processing is set in the output queue 104, and is output via the network interface 20.
[0038]
【Example】
Embodiments of the present invention will be described below with reference to the drawings.
[0039]
In the following embodiment, first, description will be given by taking as an example a case where three services are provided using encrypted communication by IPsec using a computer having eight CPUs.
[0040]
Each service is mainly performed by the server process 12 in the user process space and the packet processing unit 120 in the kernel 100. The three services are service A, service B, and service C.
[0041]
The preconditions in the present embodiment are as follows.
[0042]
FIG. 4 shows the configuration of a service quality control apparatus according to an embodiment of the present invention.
The server process 12 in the user process space of service A is “server process a”, and the priority is “low”.
The server process 12 in the user process space of service B is “server process b”, and the priority is “medium”.
The server process 12 in the user process space of service C is “server process c”, and the priority is “high”.
-Processing in the kernel 100 of service A is performed by "packet processing a", and the priority is "low". The encryption process of the packet process a is performed using “encryption process d”.
-Processing in the kernel 100 of service B is performed by "packet processing b", and the priority is "medium".
-Processing in the kernel 100 of the service c is performed by "packet processing c", and the priority is "high".
Regarding the processing in the kernel 100, the CPU is limited to one for packet processing a, two for packet processing b, and three for packet processing c.
[0043]
Hereinafter, a specific implementation method will be described.
[0044]
(1) Classification method:
A classification method in the input classification unit 110 and the output classification unit 130 will be described below.
[0045]
In communication by IPsec, information such as an encryption key and a decryption key is held as information called SA (Security Association). For each packet, the SA is searched from the source address, destination address, SPI, etc., and encryption or decryption processing is performed. The priority information is described in this SA.
[0046]
FIG. 5 is a diagram for explaining classification according to an embodiment of the present invention.
[0047]
As shown in the figure, the input classification unit 110 and the output classification unit 130 include a packet classification unit 111, a metering unit 112, a marking unit 113, a shaping unit 114, and a queue management unit 115.
[0048]
The classification processing method (processing in the input classification unit 110 and the output classification unit 130) is performed by the same method as the packet forwarding of the normal QoS router. As shown in FIG. 5, first, the packet classification unit 111 searches for the SA as described above, and based on the priority information in the SA, the marking unit 113 writes the priority information to the packet. At the same time, the metering unit 112 observes traffic for each priority class. If excessive traffic flows, the shaping unit 114 discards the packet or the marking unit 113 lowers the priority. Perform processing such as adding new marks. Thereafter, the queue management unit 115 puts them in a queue that matches each priority.
[0049]
(2) How to limit the number of CPUs:
In the packet processing unit 120, the number of CPUs that can be used is limited. This limiting method is realized by limiting the number of threads that the packet processing unit 120 can wake up. Specifically, a variable representing the number of currently executing threads is prepared, and when the number exceeds the limit, the process is stopped until it becomes empty.
[0050]
(3) Priority control of server process 12:
For the priority control of the server process 12 in the user process space 10, a priority control method prepared in a normal OS is tried. In the case of UNIX, priority control is performed based on the nice value.
[0051]
(4) Processing by the cryptographic processing process in the user process space 10:
A packet to be encrypted or decrypted is transferred from the packet processing unit 120 in the kernel 100 to the user process space 10. Then, the packet encryption processing is performed in the user process space having a lower priority than the kernel space, and in the state where the priority is also given in the user process space 10 by the nice. The packet that has been processed is returned to the packet processing unit 120 inside the kernel 100 again.
[0052]
The above embodiment has been described with reference to FIG. 4. However, the processing of the classifying units 110 and 130 and the packet processing unit 120 in the kernel is constructed as a program and connected to a computer used as a service quality control device. It is possible to easily realize the present invention by storing it in a portable storage medium such as a disk device, a floppy disk, or a CD-ROM, and installing it when implementing the present invention.
[0053]
The present invention is not limited to the above-described embodiments, and various modifications and applications are possible within the scope of the claims.
[0054]
【The invention's effect】
As described above, according to the present invention, in the OS, the number of CPUs to which the packet process in the kernel process and the server process in the user process space is limited, and the process originally performed in the kernel is encrypted in the user process space. It is effective when providing a communication service that guarantees secure and real-time service quality by encrypted communication by using the process and controlling the service quality. For example, there is a case where both a time delivery service such as NTP and a file transfer service are provided by encrypted communication.
[0055]
In the future, it will be natural to consider security on the Internet, and IPsec is expected to be used as the standard. Therefore, in such a case, it is expected that service quality control as in the present invention will be important.
[Brief description of the drawings]
FIG. 1 is a configuration diagram of a service quality control apparatus of the present invention.
FIG. 2 is a flowchart of an input operation according to the present invention.
FIG. 3 is a flowchart of the output operation of the present invention.
FIG. 4 is a configuration diagram of a service quality control apparatus according to an embodiment of the present invention.
FIG. 5 is a diagram for explaining classification according to an embodiment of the present invention.
[Explanation of symbols]
DESCRIPTION OF SYMBOLS 10 User process space 12 Server process 20 Network interface 100 Kernel 101 Input queue according to class 102 Input queue 103 Output queue according to class 104 Output queue 110 Input classification part 111 Packet classification part 112 Mailing part 113 Marking part 114 Shaping part 115 Queue management part 120 packet processing unit 130 output classification unit

Claims (3)

パケットを暗号化することによってセキュアな通信を行う際に、暗号復号化処理をカーネル内で行い、かつ、マルチCPU及びカーネルにおけるマルチスレッドサポートしているOSを用いて、サービスの品質を保証した通信を行うための暗号化通信におけるサービス品質制御方法であって、
ユーザプロセス空間のサービスを行うサーバプロセスとカーネル空間において、入力されたパケットをサービスの種類に応じてクラス分けするクラス分けステップと、
クラス分けされたそれぞれのクラスに割り当てるCPU数を制御し、クラス分けされたパケットのうち、優先度の低いパケットの暗号復号処理を前記カーネル空間よりも優先度の低いユーザプロセス空間のプロセスによって処理するパケット処理ステップと、
を行う
ことを特徴とする暗号化通信におけるサービス品質制御方法。
When performing secure communication by encrypting packets, encryption / decryption processing is performed in the kernel, and communication that guarantees the quality of service using a multi-CPU and an OS that supports multi-thread in the kernel A quality of service control method in encrypted communication for performing
A classification step for classifying an input packet according to the type of service in a kernel process and a server process that performs a service in the user process space ;
The number of CPUs assigned to each classified class is controlled, and encryption / decryption processing of packets with low priority among the classified packets is processed by a process in the user process space having a lower priority than the kernel space. A packet processing step;
Service quality control method for encrypted communication, wherein the <br/> be performed.
パケットを暗号化することによってセキュアな通信を行う際に、暗号復号化処理をカーネル内で行い、かつ、マルチCPU及びカーネルにおけるマルチスレッドサポートしているOSを用いて、サービスの品質を保証した通信を行うための暗号化通信におけるサービス品質制御装置であって、
ユーザプロセス空間のサービスを行うサーバプロセスとカーネル空間において、入力されたパケットをサービスの種類に応じてクラス分けするクラス分け手段と、
クラス分けされたそれぞれのクラスに割り当てるCPU数を制御し、クラス分けされたパケットのうち、優先度の低いパケットの暗号復号処理を前記カーネル空間よりも優先度の低いユーザプロセス空間のプロセスによって処理するパケット処理手段と、
を有することを特徴とする暗号化通信におけるサービス品質制御装置。
When performing secure communication by encrypting packets, encryption / decryption processing is performed in the kernel, and communication that guarantees the quality of service using a multi-CPU and an OS that supports multi-thread in the kernel A service quality control apparatus in encrypted communication for performing
Classifying means for classifying the input packet according to the type of service in the kernel process and the server process that performs the service in the user process space ;
The number of CPUs assigned to each classified class is controlled, and encryption / decryption processing of packets with low priority among the classified packets is processed by a process in the user process space having a lower priority than the kernel space. Packet processing means;
QoS controller in encrypted communication, characterized in that it comprises a.
パケットを暗号化することによってセキュアな通信を行う際に、暗号復号化処理をカーネル内で行い、かつ、マルチCPU及びカーネルにおけるマルチスレッドサポートしているOSを用いて、サービスの品質を保証した通信を行うためのサービス品質制御プログラムを格納した記憶媒体であって、
前記請求項1記載のサービス品質制御方法を実現するための処理をコンピュータに実行させるプログラムを格納したことを特徴とするサービス品質制御プログラムを格納した記憶媒体。
When performing secure communication by encrypting packets, encryption / decryption processing is performed in the kernel, and communication that guarantees the quality of service using a multi-CPU and an OS that supports multi-thread in the kernel A storage medium storing a service quality control program for performing
A storage medium storing a service quality control program, wherein a program for causing a computer to execute processing for realizing the service quality control method according to claim 1 is stored.
JP2000163682A 2000-05-31 2000-05-31 Service quality control method and device service quality control program in encrypted communication Expired - Fee Related JP3736293B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000163682A JP3736293B2 (en) 2000-05-31 2000-05-31 Service quality control method and device service quality control program in encrypted communication

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000163682A JP3736293B2 (en) 2000-05-31 2000-05-31 Service quality control method and device service quality control program in encrypted communication

Publications (2)

Publication Number Publication Date
JP2001344228A JP2001344228A (en) 2001-12-14
JP3736293B2 true JP3736293B2 (en) 2006-01-18

Family

ID=18667404

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000163682A Expired - Fee Related JP3736293B2 (en) 2000-05-31 2000-05-31 Service quality control method and device service quality control program in encrypted communication

Country Status (1)

Country Link
JP (1) JP3736293B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101330072B1 (en) 2013-07-12 2013-11-18 (주)아울시스템즈 Method and system for restoring data in database

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7376082B2 (en) * 2002-12-31 2008-05-20 International Business Machines Corporation Quality of service for iSCSI
KR100678223B1 (en) 2003-03-13 2007-02-01 삼성전자주식회사 Method and apparatus for packet transmitting in a communication system
US7774593B2 (en) 2003-04-24 2010-08-10 Panasonic Corporation Encrypted packet, processing device, method, program, and program recording medium
JP4551112B2 (en) * 2003-04-24 2010-09-22 パナソニック株式会社 ENCRYPTED PACKET PROCESSING DEVICE, METHOD, PROGRAM, AND PROGRAM RECORDING MEDIUM
WO2007125942A1 (en) 2006-04-26 2007-11-08 Nippon Telegraph And Telephone Corporation Load control device and its method
WO2018220702A1 (en) * 2017-05-30 2018-12-06 三菱電機株式会社 Management system, management method and management program
WO2022102086A1 (en) * 2020-11-13 2022-05-19 日本電信電話株式会社 Network card and packet-processing method

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5600822A (en) * 1994-04-05 1997-02-04 International Business Machines Corporation Resource allocation synchronization in a parallel processing system
JPH08251196A (en) * 1995-03-15 1996-09-27 Toshiba Corp Parallel computer
US5896141A (en) * 1996-07-26 1999-04-20 Hewlett-Packard Company System and method for virtual device access in a computer system
JPH10222382A (en) * 1997-02-04 1998-08-21 Mitsubishi Electric Corp Device driver installation system
JPH10326287A (en) * 1997-05-23 1998-12-08 Mitsubishi Corp System and device for digital content management
JP3595143B2 (en) * 1997-12-22 2004-12-02 三菱電機株式会社 Communication attribute setting and communication volume processing
JPH11249917A (en) * 1998-02-27 1999-09-17 Nec Corp Parallel computers, their batch processing method, and storage medium
US6253321B1 (en) * 1998-06-19 2001-06-26 Ssh Communications Security Ltd. Method and arrangement for implementing IPSEC policy management using filter code
EP1032869A1 (en) * 1998-09-25 2000-09-06 Hughes Electronics Corporation An apparatus for providing a secure processing environment

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101330072B1 (en) 2013-07-12 2013-11-18 (주)아울시스템즈 Method and system for restoring data in database

Also Published As

Publication number Publication date
JP2001344228A (en) 2001-12-14

Similar Documents

Publication Publication Date Title
US7499457B1 (en) Method and apparatus for enforcing packet destination specific priority using threads
US7089294B1 (en) Methods, systems and computer program products for server based type of service classification of a communication request
US9225659B2 (en) Method and apparatus for scheduling a heterogeneous communication flow
US7420976B2 (en) System directing flow of packets by-passing policy-based application for processing by policy engine according to action specification in policy cache
US20080267177A1 (en) Method and system for virtualization of packet encryption offload and onload
US9864633B2 (en) Network processor having multicasting protocol
US7290028B2 (en) Methods, systems and computer program products for providing transactional quality of service
US7746783B1 (en) Method and apparatus for monitoring packets at high data rates
EP1440545B1 (en) Method and system for packet ordering for parallel packet transform processing
US20080043756A1 (en) Method and system for network configuration for virtual machines
US7715416B2 (en) Generalized serialization queue framework for protocol processing
US20030231632A1 (en) Method and system for packet-level routing
US9712374B1 (en) Network services resource management
EP1817875B1 (en) Terminal of portable internet system and method of transmitting uplink data in terminal
JP2004532559A (en) Policy gateway
KR20060092757A (en) Adaptive queue mechanism for efficient real-time packet transfer and adaptive queue establishment system thereof
JP3736293B2 (en) Service quality control method and device service quality control program in encrypted communication
CN112165435A (en) Bidirectional flow control method and system based on network service quality of virtual machine
US20090198826A1 (en) Apparatus and method for passing metadata in streams modules
US7697434B1 (en) Method and apparatus for enforcing resource utilization of a container
CN111970149B (en) Shared bandwidth implementation method based on hardware firewall QOS
Radhakrishnan Linux–advanced networking overview version 1
Yau et al. Migrating sockets-end system support for networking with quality of service guarantees
CN113722103A (en) Encryption card calling control method and communication equipment
Liu Design and implementation of Vo IPQoS model combining IntServ and DiffServ based on network processor IXP2400

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20041118

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20041207

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050117

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20051017

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091104

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101104

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101104

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111104

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees