JP2005064673A - プロトコル処理装置 - Google Patents
プロトコル処理装置 Download PDFInfo
- Publication number
- JP2005064673A JP2005064673A JP2003289970A JP2003289970A JP2005064673A JP 2005064673 A JP2005064673 A JP 2005064673A JP 2003289970 A JP2003289970 A JP 2003289970A JP 2003289970 A JP2003289970 A JP 2003289970A JP 2005064673 A JP2005064673 A JP 2005064673A
- Authority
- JP
- Japan
- Prior art keywords
- protocol processing
- reception
- protocol
- processing
- permission condition
- 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.)
- Pending
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
【課題】 通信を行うホスト数が多い場合にも照合すべきアドレス数を増やす必要がないプロトコル処理装置を提供する。
【解決手段】 CPU1は、プロトコル処理を行うプロトコル処理手段130と、アプリケーション処理を行うアプリケーション処理手段140とを備える。また、CPU1内において、プロトコル処理手段130とイーサネットコントローラ4との間には受信処理許可判定手段150が介在し、受信処理許可判定手段150には計測手段160が接続される。受信処理許可判定手段150は、受信したイーサネットフレームをプロトコル処理手段130に渡すかどうかを判定する。アプリケーション処理手段140においてイーサネットフレームのプロトコル処理を許可する送信元ホストのイーサネットアドレスは、記憶装置2に予め登録されている。
【選択図】 図4
【解決手段】 CPU1は、プロトコル処理を行うプロトコル処理手段130と、アプリケーション処理を行うアプリケーション処理手段140とを備える。また、CPU1内において、プロトコル処理手段130とイーサネットコントローラ4との間には受信処理許可判定手段150が介在し、受信処理許可判定手段150には計測手段160が接続される。受信処理許可判定手段150は、受信したイーサネットフレームをプロトコル処理手段130に渡すかどうかを判定する。アプリケーション処理手段140においてイーサネットフレームのプロトコル処理を許可する送信元ホストのイーサネットアドレスは、記憶装置2に予め登録されている。
【選択図】 図4
Description
本発明は、TCP(Transmission Control Protocol)、UDP(User Datagram Protocol)、IP(Internet Protocol)等の通信プロトコル(以下では単にプロトコルと呼ぶ)に関し、特に、その受信処理に要する処理量を低減することのできるプロトコル処理装置に関するものである。
近年、インターネットの普及により、TCP/UDP/IP等のインターネット関連のプロトコルについては、携帯情報端末等の組み込み機器への応用が増えてきている。一般に、組み込み機器では消費電力やコストに制限があるため、比較的に動作周波数と処理性能とが低いCPUで使用される場合が多い。そのため、組み込み機器で通信を行う場合には、通信アプリケーション(以下では単にアプリケーションとも呼ぶ)のプログラムの動作を妨げないように、プロトコル処理に要するCPU負荷を低減することが必要である。
一般に、受信したパケットのプロトコル処理に要する処理量は、パケットの送信に要する処理量に比べて制御が困難である。これは、送信の場合は、自ホストが内蔵するアプリケーション・プログラムからの要求に基づき処理が行われるのに対し、受信の場合は、他ホストから受信するパケットの数に処理量が依存するからである。
受信パケットには、他ホストから自ホスト宛てに送信されたパケットだけではなく、ネットワーク上に流れるブロードキャストパケットのように、同一ネットワーク上の全てのホストに宛てて送信されたパケットも含まれる。ネットワーク上にはこのように様々なパケットが流れているため、ある期間に自ホスト宛てのパケット(特にブロードキャストパケット)が集中すると、受信パケットのプロトコル処理に要するCPU負荷が一時的に増加する。これにより、アプリケーション処理もしくはプロトコル処理に要する処理性能が不足しアプリケーションの動作を妨げる可能性がある。これは、特に、リアルタイム性の要求される音声や映像等のデータをやりとりする通信アプリケーション等においては、問題となる。例えば音声データの通信を行うVoIP(Voice over Internet Protocol)アプリケーションにおいては、規定された期間内に完了できなくなるので、音声通信の品質が劣化してしまう場合がある。
上記の問題点を解決するために、CPUにおいて、パケットの受信処理を行うプロトコル処理手段と、受信処理を行われたパケットでアプリケーションを動作させるアプリケーション処理手段との間に、パケットを蓄積するためのバッファを設けることが考えられる。受信したパケットをこのバッファにある程度蓄積してからアプリケーション処理手段に渡すようにすることで、プロトコル処理に要するCPU負荷の変動の影響を低減することができる。しかし、バッファにパケットが蓄積されると蓄積された時間に応じて遅延が発生するので、リアルタイム性の要求される通信アプリケーションにおいては、この遅延が問題となる。例えば、上記のVoIP等の音声データ通信をやりとりする場合には聴感上問題となる。
また上記の問題点を解決するために、CPUにおいて、優先度の低い通信アプリケーションを一時的に無効にして処理量を低減することも考えられる。しかし、例えば全ての通信アプリケーションがUDP上で動作する場合等には、受信したパケットがVoIPパケットであるかどうかを判定するためには、UDP層以下のプロトコル処理、例えばイーサネット(登録商標:以下同様)等の物理層およびデータリンク層、IP層、UDP層が必要となってしまう。そのため、アプリケーション処理に要する処理量は低減できるが、プロトコル処理に要する処理量は低減できないという問題点があった。
特許文献1には、これらの問題点を解決するために、受信処理を許可するホストのアドレスを予め内部に格納(登録)しておくプロトコル処理装置の例が示されている。このプロトコル処理装置においては、パケットを受信したときには、そのパケットの送信元アドレスと、予め登録されたホストのアドレスとを比較・照合して、一致した場合には通常のプロトコル処理を行い、一致しない場合には通常のプロトコル処理を行うことなくパケットを破棄することにより、プロトコル処理に要する処理量を低減している。
特許文献1に示されるプロトコル処理装置においては、予め登録されていないホストからのパケットは破棄されてしまうので、通信を行う可能性のあるホストのアドレスを全て登録しておく必要がある。そのため、不特定のホストまたは比較的多数の特定のホストと通信を行うような場合には、照合すべきアドレス数が増えることによりプロトコル処理に要する処理量が増えてしまい、優先度の高いアプリケーションの動作が妨げられる可能性が高くなるという問題点があった。
本発明は、以上の問題点を解決するためになされたものであり、通信を行うホスト数が多い場合にも照合すべきアドレス数を増やす必要がないプロトコル処理装置を提供することを目的とする。
上記の課題を解決するために、請求項1に記載の発明に係るプロトコル処理装置は、ネットワークからパケットを受信するネットワークコントローラと、受信したパケットが、受信処理を許可すべき受信処理許可条件を満たすかどうかを判定する受信処理許可判定手段と、前記受信処理許可条件を満たすパケットに対してプロトコル処理を行うプロトコル処理手段と、プロトコル処理を行った前記受信処理条件を満たさないパケットの合計個数を計測する計測手段とを備え、前記プロトコル処理手段は、前記合計個数が所定の個数に達するまでは前記受信処理許可条件を満たさないパケットに対してもプロトコル処理を行う。
また、請求項2に記載の発明に係るプロトコル処理装置は、ネットワークからパケットを受信するネットワークコントローラと、受信したパケットが、受信処理を許可すべき受信処理許可条件を満たすかどうかを判定する受信処理許可判定手段と、前記受信処理許可条件を満たすパケットに対してプロトコル処理を行うプロトコル処理手段と、プロトコル処理を行った前記受信処理条件を満たさないパケットの合計データサイズを計測する計測手段とを備え、前記プロトコル処理手段は、前記合計データサイズが所定のデータサイズに達するまでは前記受信処理許可条件を満たさないパケットに対してもプロトコル処理を行う。
請求項1に記載の発明に係るプロトコル処理装置は、ネットワークからパケットを受信するネットワークコントローラと、受信したパケットが、受信処理を許可すべき受信処理許可条件を満たすかどうかを判定する受信処理許可判定手段と、前記受信処理許可条件を満たすパケットに対してプロトコル処理を行うプロトコル処理手段と、プロトコル処理を行った前記受信処理条件を満たさないパケットの合計個数を計測する計測手段とを備え、前記プロトコル処理手段は、前記合計個数が所定の個数に達するまでは前記受信処理許可条件を満たさないパケットに対してもプロトコル処理を行うので、通信を行うホスト数が多い場合にも照合すべきアドレス数を増やす必要がない。
また、請求項2に記載の発明に係るプロトコル処理装置は、ネットワークからパケットを受信するネットワークコントローラと、受信したパケットが、受信処理を許可すべき受信処理許可条件を満たすかどうかを判定する受信処理許可判定手段と、前記受信処理許可条件を満たすパケットに対してプロトコル処理を行うプロトコル処理手段と、プロトコル処理を行った前記受信処理条件を満たさないパケットの合計データサイズを計測する計測手段とを備え、前記プロトコル処理手段は、前記合計データサイズが所定のデータサイズに達するまでは前記受信処理許可条件を満たさないパケットに対してもプロトコル処理を行うので、請求項1に記載の発明に係るプロトコル処理装置の効果に加えて、プロトコル処理の負荷がパケットの個数よりもデータサイズにより大きく依存する場合には、実施の形態1よりも精度よくプロトコル処理における処理量を制御することができる。
<実施の形態1>
実施の形態1に係るプロトコル処理装置は、ネットワークから受信したパケットが、受信処理を許可すべき受信処理許可条件を満たすかどうかを判定し、受信処理許可条件を満たさないパケットに対しても、受信処理を行ったパケット(プロトコル処理を行ったパケット)の合計個数が所定の個数に達するまでは受信処理を行う(プロトコル処理を行う)ものである。以下では、図1に示されるような構成のPDA(Personal Digital Assistants)等からなるホストを例に説明する。また、以下の説明においては、ネットワークの例としてイーサネットを用い、パケットの例としてイーサネットフレーム(以下では単にフレームとも呼ぶ)を用いる。
実施の形態1に係るプロトコル処理装置は、ネットワークから受信したパケットが、受信処理を許可すべき受信処理許可条件を満たすかどうかを判定し、受信処理許可条件を満たさないパケットに対しても、受信処理を行ったパケット(プロトコル処理を行ったパケット)の合計個数が所定の個数に達するまでは受信処理を行う(プロトコル処理を行う)ものである。以下では、図1に示されるような構成のPDA(Personal Digital Assistants)等からなるホストを例に説明する。また、以下の説明においては、ネットワークの例としてイーサネットを用い、パケットの例としてイーサネットフレーム(以下では単にフレームとも呼ぶ)を用いる。
図1において、ホスト10は、CPU1と、記憶装置2と、コネクタ3と、イーサネットコントローラ4と、LCD(Liquid Crystal Display)5と、タッチパネル6とを備える。
CPU1は、所定のプログラムに従い動作する。記憶装置2は、ROMやRAM等を備え、プログラムや処理途中の演算結果等を格納する。コネクタ3は、PDAとネットワーク(イーサネット)とを物理的に接続するためのものである。イーサネットコントローラ4は、LSI等からなり、ネットワークとのインターフェースを行うためのものである(ネットワークコントローラ)。イーサネットコントローラ4は、パケットの送受信時には割り込み信号を発生させCPU4に通知する。LCD5は、マン・マシン・インターフェース用の出力装置であり、タッチパネル6は、マン・マシン・インターフェース用の入力装置である。図1に示されるPDA内部において、各装置は、アドレスバス7とデータバス8とを用いて、アドレス信号とデータ信号とをそれぞれ入出力している。
図2は、本発明の実施の形態1に係るプロトコル処理方法およびプロトコル処理装置が用いられるネットワーク(イーサネット)の例を示した構成図である。
図2において、ホスト10〜50は、イーサネット100を介して互いに接続されている。ホスト10とホスト20との間では、UDPプロトコルを用いて、リアルタイムに音声データの通信を行う通信アプリケーションVoIPを行っている場合の例が示されている。ここで、ホスト10は、比較的に処理性能の低いCPUにより、プロトコル処理とアプリケーション処理とを行っているPDA等の携帯情報端末である。また、リアルタイム性の要求される通信アプリケーションVoIPは、優先度が最も高いアプリケーションであるものとする。
ここで、図3,4を用いて、ホスト10がイーサネット100からパケットを受信した場合のプロトコル処理の例を説明する。図3は、イーサネットフレームの構成を示したものである。また図4は、ホスト10のCPUを動作させるプログラムの構成を示したものである。
図3に示すように、イーサネットフレームはイーサネットヘッダ部とイーサネットデータ部とから構成される。イーサネットデータ部はIPデータグラムを含み、IPデータグラムはIPヘッダ部とIPデータ部とから構成される。IPデータ部はUDPデータグラムを含み、UDPデータグラムはUDPヘッダ部とUDPデータ部とから構成される。
また、図4に示すように、CPUを動作させるプログラムは、プロトコル処理を行うプロトコル処理手段130と、アプリケーション処理を行うアプリケーション処理手段140とを備える。プロトコル処理手段130は、イーサネット処理手段131と、IP処理手段132と、UDP処理手段133とを有する。またアプリケーション処理手段140は、例えば、アプリケーション処理手段141〜143を有する。ここで、アプリケーション処理手段141は音声データの通信(VoIP)を行うためのものであり、アプリケーション処理手段142は、UDPデータグラムを用いてアドレスの自動割り当て(DHCP:Dynamic Host Configuration Protocol)を行うためのものである。また、アプリケーション処理手段143は、UDPデータグラムを用いてホストの名前を割り当てる(NetBIOS:NETwork Basic Input/Output System)ためのものである。
また、図4のCPU1内において、プロトコル処理手段130とイーサネットコントローラ4との間には受信処理許可判定手段150が介在し、受信処理許可判定手段150には計測手段160が接続される。
次に、図4を用いて、ホスト10がイーサネット100からイーサネットフレームを受信した場合のプロトコル処理について説明する。
図4において、まず、イーサネットコントローラ4は、イーサネット100のケーブル上で自局宛てのイーサネットフレームが伝送されているのを検出すると、このイーサネットフレームに対して、誤り検出処理等を行う。その後に、イーサネットコントローラ4は、CPU1に対して、イーサネットフレームを受信したことを割り込み等により通知する。
次に、受信処理許可判定手段150は、イーサネットコントローラ4からの割り込み信号等により起動され、受信したイーサネットフレームをプロトコル処理手段130に渡すかどうかを、後述する手順により判定する。イーサネットフレームをプロトコル処理手段130に渡すと判定された場合には、以下の手順によりプロトコル処理が行われる。
即ち、プロトコル処理手段130において、イーサネット処理手段131では、受信したイーサネットフレームをイーサネットコントローラ4から読み出し、イーサネットヘッダ部を解析し、イーサネットデータ部にIPデータグラムが含まれているかどうかを判断する。IPデータグラムが含まれている場合にはIPデータグラムを抽出しIP処理手段132に渡す。IP処理手段132では、IPヘッダ部を解析し、IPデータ部にUDPデータグラムが含まれているかどうかを判断する。UDPデータグラムが含まれている場合には、IPヘッダ部に含まれている送信元IPアドレスやUDPデータグラムを抽出し、UDP処理手段133に渡す。UDP処理手段133では、UDPヘッダ部を解析し、UDPヘッダ部に含まれている宛先ポート番号と、UDPデータ部とを抽出する。そして、この宛先ポート番号に対応する、アプリケーション処理手段140に含まれるアプリケーション処理手段141〜143のうちのいずれかに、UDPデータグラム受信の通知を行い、送信元IPアドレス、UDPヘッダ部に含まれる情報、UDPデータ部等からなるデータを渡す。そして、受信の通知を受けたアプリケーション処理手段は、渡されたデータに応じて各アプリケーション処理を行う。
次に、図2において、ホスト10とホスト20との間でアプリケーションVoIPにより音声データを通信中のある時点において、ホスト30,50からアプリケーションDHCPのブロードキャストパケットが送信され、ホスト40からアプリケーションNetBIOSのブロードキャストパケットが送信され、ホスト20からアプリケーションVoIPのパケットが送信され、ホスト10が、DHCPアプリケーション、NetBIOSアプリケーション、VoIPアプリケーションの順にパケットを受信した場合について説明する。
このとき、ホスト10は、プロトコル処理を行うまでは、これらがアプリケーション処理手段141〜143のうちのいずれ宛てのパケットであるか判断できない。従って、まずアプリケーションDHCP及びアプリケーションNetBIOSのパケットのプロトコル処理を行った後に、アプリケーションVoIPのパケットのプロトコル処理が行われることになる。しかし、ホスト10は比較的に処理性能の低いCPU1を内蔵しているので、このようにパケットを集中的に受信した場合には、アプリケーションVoIPのパケットのプロトコル処理が遅れてしまい、前述したように音声通信の品質が劣化してしまう場合がある。
以下では、図5に示されるフローチャートを用いて、図4に示される受信処理許可判定手段150及び計測手段160の動作の例について説明する。ここで、アプリケーション処理手段140において通信するホストすなわちイーサネットフレームの受信処理を許可する送信元ホストの、イーサネットアドレスとしては、EADDRacpt0〜EADDRacpt3の4種類が記憶装置2に予め登録されているものとする。また、記憶装置2は、受信処理許可判定の周期となる所定の期間Tと、期間Tの計測を開始した時刻T0と、現在の時刻T1とを記憶する。さらに、記憶装置2は、期間Tの間に受信処理許可の条件を満たさないフレームを受信した場合でもプロトコル処理を行うフレーム数N0と、期間Tの間に受信した受信処理許可の条件を満たさないフレーム数N1とを記憶する。
まず、ステップS1において、初期化処理が実行される。具体的には、計測手段160は、N1として0を設定する。
次に、ステップS2に進み、イーサネットコントローラ4からの受信割り込み要求を待つ。ステップS2において受信割り込み要求を受け付けた場合には、待ちは解除され、ステップS3に進む。
次に、ステップS3において、イーサネットコントローラ4から受信したイーサネットフレームのイーサネットヘッダ部を読み出す。
次に、ステップS4に進み、イーサネットヘッダ部から送信元イーサネットアドレスEADDRsrcを抽出する。
次に、ステップS5に進み、予め登録されているEADDRacpt0〜EADDRacpt3の4種類のうちのいずれか1つの値とEADDRsrcの値とが一致するかどうかを判定する。1つでも一致すると判定した場合には、ステップS6に進み、プロトコル処理手段130へイーサネットフレームの受信を通知し、ステップS2へ進む。ステップS5において、全く一致しないと判定した場合には、ステップS7に進む。
次に、ステップS7において、(T1−T0)とTとの比較を行うことにより、計測手段160がフレーム数N1の計測を開始してから期間T以上経過したかどうかを判定する。(T1−T0)がTに満たない場合には、期間Tを経過していないので、ステップS8に進む。
次に、ステップS8において、計測手段160は、フレーム数N1に1を加算してフレーム数N1を更新した後に、ステップS11に進む。
ステップS7において、(T1−T0)がT以上の場合には、期間Tを経過しているので、ステップS9に進む。
次に、ステップS9において、計測手段160は、フレーム数N1を初期化(今回受信したフレーム数1を設定)し、ステップS10に進む。
次に、ステップS10において現在の時刻T1を期間Tの計測を開始した時刻T0として設定した後に、ステップS11に進む。
次に、ステップS11において、フレーム数N1とフレーム数N0との比較を行う。N1がN0以下の場合には、ステップS6に進み、N1がN0を越える場合には、ステップS2に進む。
以上のステップS1〜S11の手順により、予め登録されたホストから受信したイーサネットフレームについては優先的に受信処理される。また、予め登録されていないホストから受信したイーサネットフレームについても、期間Tの間にフレーム数N0に達するまでは受信処理可能となる。従って、アプリケーションの負荷とアプリケーションで使用する通信パケット数に応じた負荷によりN0を適切に設定すれば、アプリケーションの動作を妨げずに、且つ、予め登録されていないホストからのイーサネットフレームも受信処理が可能となる。
このように、本発明の実施の形態に係るプロトコル処置装置においては、予め登録されていないホストからのイーサネットフレームも受信処理が可能である。従って、不特定のホストまたは比較的多数の特定のホストからの通信要求を受け付けることができるので、通信を行うホスト数が多い場合にも照合すべきアドレス数を増やす必要がないという効果を有する。
また、上記の説明においては、ステップS11においてN1がN0を越える場合には、イーサネットフレームの受信処理を行わないが、このイーサネットフレームを記憶装置2に記憶しておき、所定の優先順位より優先度の低いタスクで受信処理を行うようにしてもよい。このときステップS5,S11からステップS6に進む場合には、イーサネットフレームは所定の優先順位より優先度の高い受信処理を行われる。この所定の優先順位としては、例えば、前述の複数のアプリケーションのうち最も優先度が低いアプリケーション等の優先順位を用いることが考えられる。これにより、記憶装置2の使用量が増加する可能性はあるものの、受信したイーサネットフレームのうち受信処理を行われないイーサネットフレームの数を低減することができるという効果がある。
<実施の形態2>
図6は、本発明の実施の形態2に係るプロトコル処理方法を示すフローチャートである。図6は、実施の形態1の図5のフローチャートにおいて、フレーム数N0,N1に代えて、パケットのデータサイズを用いたものである。以下では、パケットのデータサイズとして、フレームサイズV0,V1を用いて説明する。
図6は、本発明の実施の形態2に係るプロトコル処理方法を示すフローチャートである。図6は、実施の形態1の図5のフローチャートにおいて、フレーム数N0,N1に代えて、パケットのデータサイズを用いたものである。以下では、パケットのデータサイズとして、フレームサイズV0,V1を用いて説明する。
記憶装置2は、期間Tの間に受信処理許可の条件を満たさないフレームを受信した場合でもプロトコル処理を行うフレームサイズV0と、期間Tの間に受信した受信処理許可の条件を満たさないフレームサイズV1とを、記憶する。
図6のフローチャートは、以下の点において、図5のフローチャートとは異なっている。
即ち、ステップS3において、イーサネットコントローラ4から受信したイーサネットフレームのイーサネットヘッダ部を読み出す際に、フレームサイズVrcvも併せて読み出す。
また、ステップS8において、計測手段160は、フレーム数N1に1を加算してフレーム数N1を更新する代わりに、フレームサイズV1にVrcvを加算してフレームサイズV1を更新する。
また、ステップS9において、計測手段160は、フレーム数N1を初期化(今回受信したフレーム数1を設定)する代わりに、フレームサイズを初期化(今回受信したフレームサイズVrcvを設定)する。
上記以外の点については、図6のフローチャートは図5のフローチャートと同様であるので、説明を省略する。
このように、本実施の形態に係るプロトコル処理装置においては、実施の形態1におけるフレーム数N0,N1に代えて、フレームサイズV0,V1を用いている。従って、実施の形態1の効果に加えて、プロトコル処理の負荷がフレーム数よりもフレームサイズにより大きく依存する場合には、実施の形態1よりも精度よくプロトコル処理における処理量を制御することができるという効果を有する。
<実施の形態3>
図7は、本発明の実施の形態3に係るプロトコル処理方法を示すフローチャートである。図7は、実施の形態1の図5のフローチャートにおいて、イーサネットアドレスEADDRacpt0〜EADDRacpt3に代えて、ポート番号UPORTacpt0〜UPORTacpt1を用いたものである。
図7は、本発明の実施の形態3に係るプロトコル処理方法を示すフローチャートである。図7は、実施の形態1の図5のフローチャートにおいて、イーサネットアドレスEADDRacpt0〜EADDRacpt3に代えて、ポート番号UPORTacpt0〜UPORTacpt1を用いたものである。
記憶装置2は、イーサネットフレームの受信処理を許可するアプリケーションに対応した2種類のポート番号UPORTacpt0〜UPORTacpt1を、予め登録する。
図7のフローチャートは、以下の点において、図5のフローチャートとは異なっている。
即ち、ステップS3において、イーサネットコントローラ4から受信したイーサネットフレームに含まれるUDPデータグラムのUDPヘッダ部を読み出す。
また、ステップS4において、UDPヘッダ部から宛先ポート番号UPORTdstを抽出する。
また、ステップS5において、予め登録されているUPORTacpt0〜UPORTacpt1の2種類のうちのいずれか1つの値とUPORTdstの値とが一致するかどうかを判定する。
上記以外の点については、図7のフローチャートは図5のフローチャートと同様であるので、説明を省略する。
このように、本実施の形態に係るプロトコル処理方法においては、実施の形態1におけるイーサネットアドレスEADDRacpt0〜EADDRacpt3に代えて、ポート番号UPORTacpt0〜UPORTacpt1を用いているので、予め登録されたアプリケーション宛のイーサネットフレームについては優先的に受信処理される。また、予め登録されていないアプリケーション宛のイーサネットフレームについても、期間Tの間にフレーム数N0に達するまでは受信処理可能となる。従って、アプリケーションの負荷とアプリケーションで使用する通信パケット数に応じた負荷によりN0を適切に設定すれば、アプリケーションの動作を妨げずに、且つ、予め登録されていないアプリケーション宛てのイーサネットフレームも受信処理が可能となる。よって、アプリケーションに優先度をつけて実行することが可能であるという効果を有する。
なお、図7のフローチャートにおいては、フレーム数N0,N1を用いて説明を行っているが、フレーム数N0,N1に代えて、フレームサイズV0,V1を用いてもよい。
<実施の形態4>
図8は、本発明の実施の形態4に係るプロトコル処理方法を示すフローチャートである。図8は、実施の形態1の図5のフローチャートにおいて、イーサネットアドレスEADDRacpt0〜EADDRacpt3に代えて、IPアドレスIADDRacpt0〜IADDRacpt1とポート番号UPORTacpt0〜UPORTacpt1とを用いたものである。
図8は、本発明の実施の形態4に係るプロトコル処理方法を示すフローチャートである。図8は、実施の形態1の図5のフローチャートにおいて、イーサネットアドレスEADDRacpt0〜EADDRacpt3に代えて、IPアドレスIADDRacpt0〜IADDRacpt1とポート番号UPORTacpt0〜UPORTacpt1とを用いたものである。
記憶装置2は、イーサネットフレームの受信処理を許可する送信元ホストの2種類のIPアドレスIADDRacpt0〜IADDRacpt1と、イーサネットフレームの受信処理を許可するアプリケーションに対応した2種類のポート番号UPORTacpt0〜UPORTacpt1とを、予め登録する。ここで、IPアドレスとポート番号とは組み合わせられ、両方が一致したかどうかで判定が行われるものとする。ここで、IPアドレスとポート番号との組み合わせは、例えば、(IADDRacpt0,UPORTacpt0)、(IADDRacpt1,UPORTacpt0)、(IADDRacpt0,UPORTacpt1)のような3通りで登録されているものとする。
図8のフローチャートは、以下の点において、図5のフローチャートとは異なっている。
即ち、ステップS3において、イーサネットコントローラ4から受信したイーサネットフレームに含まれるIPデータグラムのIPヘッダ部および、イーサネットフレームに含まれるUDPデータグラムのUDPヘッダ部を読み出す。
また、ステップS4において、IPヘッダ部から送信元IPアドレスIADDRsrcを、UDPヘッダ部から宛先ポート番号UPORTdstを、それぞれ抽出する。
また、ステップS5において、予め登録されている(IADDRacpt0,UPORTacpt0)、(IADDRacpt1,UPORTacpt0)、(IADDRacpt0,UPORTacpt1)の3種類のうちのいずれか1つの組み合わせと(IADDRsrc,UPORTdst)の組み合わせとが一致するかどうかを判定する。
上記以外の点については、図8のフローチャートは図5のフローチャートと同様であるので、説明を省略する。
このように、本実施の形態に係るプロトコル処理装置においては、実施の形態1におけるイーサネットアドレスEADDRacpt0〜EADDRacpt3に代えて、IPアドレスIADDRacpt0〜IADDRacpt1とポート番号UPORTacpt0〜UPORTacpt1と組み合わせを用いている。従って、アプリケーションの負荷とアプリケーションで使用する通信パケット数に応じた負荷によりN0を適切に設定すれば、アプリケーションの動作を妨げずに、且つ、予め登録されていないホストからのイーサネットフレームや予め登録されていないアプリケーション宛てのイーサネットフレームも受信処理が可能となる。よって、送信元アドレスと宛先アプリケーションとの組み合わせにより優先度をつけて実行することが可能であるという効果を有する。
なお、図8のフローチャートにおいては、フレーム数N0,N1を用いて説明を行っているが、フレーム数N0,N1に代えて、フレームサイズV0,V1を用いてもよい。
<実施の形態5>
実施の形態1において、受信処理を許可するホストとして登録されているイーサネットアドレスは、例えば図9に示すように、各ホスト毎に異なる登録番号で登録されている。そのため、登録されているイーサネットアドレスのうちのいずれか1つの値と、受信したイーサネットフレームに含まれる送信元アドレスEADDRsrcとが一致するかどうかを判定するには、登録されているイーサネットアドレスの先頭から順に、EADDRsrcと一致するか順次比較してゆく必要がある。そのため、登録されているホスト数が増えた場合には、登録するイーサネットアドレスの数も増えるので、それに伴いプロトコル処理の処理量が増加してしまう。
実施の形態1において、受信処理を許可するホストとして登録されているイーサネットアドレスは、例えば図9に示すように、各ホスト毎に異なる登録番号で登録されている。そのため、登録されているイーサネットアドレスのうちのいずれか1つの値と、受信したイーサネットフレームに含まれる送信元アドレスEADDRsrcとが一致するかどうかを判定するには、登録されているイーサネットアドレスの先頭から順に、EADDRsrcと一致するか順次比較してゆく必要がある。そのため、登録されているホスト数が増えた場合には、登録するイーサネットアドレスの数も増えるので、それに伴いプロトコル処理の処理量が増加してしまう。
そこで、実施の形態5においては、図9に示すように、登録されているイーサネットアドレスが連続している場合には、図10に示すように、例えば開始アドレスと終了アドレスとからなりアドレス範囲を示すようなデータ形式で登録する。そして、登録されているアドレスと一致するかどうかの判定については、受信したイーサネットフレームに含まれる送信元アドレスEADDRsrcが、開始アドレス以上でかつ終了アドレス以下の場合に一致したと判定し、そうでない場合には一致していないと判定する。
これにより、登録されているホストのイーサネットアドレスが多い場合で、且つ、そのアドレスが連続している場合には、登録されているアドレスと一致するかどうかの判定に要する処理量を低減することができる。
なお、図10には、1組のアドレス範囲が登録されているが、1組に限らず、複数組のアドレス範囲を登録してもよい。
また、登録されているアドレスのうち他のアドレスと連続していないアドレスについては、他のアドレス範囲を示すデータ形式と整合させるために、開始アドレスと終了アドレスとして同一のアドレスを有する1組のアドレス幅として登録してもよい。
<実施の形態6>
実施の形態1〜5においては、受信処理許可の判定を行うアドレスやポート番号は、予め記憶装置2に静的に登録されていたが、実施の形態6においては、アプリケーションにより動的にこれらの値の登録や削除を可能とする。
実施の形態1〜5においては、受信処理許可の判定を行うアドレスやポート番号は、予め記憶装置2に静的に登録されていたが、実施の形態6においては、アプリケーションにより動的にこれらの値の登録や削除を可能とする。
図11は、本実施の形態に係るプロトコル処理装置が備えるCPUにおいて動作するアプリケーションの構成を示している。図11は、図4のCPU1内に条件変更手段170を追加し、記憶装置2を制御させた構成となっている。条件変更手段170を用いることにより、アプリケーションから動的に記憶装置2に記憶されたアドレスやポート番号の値の登録や削除が可能となる。例えば、VOIP等の音声通信アプリケーションの動作が正常に行われない場合には、条件変更手段170は、記憶装置2を制御し、データ通信アプリケーションの条件が厳しくなるよう設定を変更する。これにより、音声通信アプリケーションの優先度を高め、正常に動作させることができる。
このように、本実施の形態に係るプロトコル処理装置が備えるCPU1は、アプリケーションによりアドレスやポート番号の登録内容が動的に変更される。従って、優先度の高いアプリケーションで必要となるイーサネットフレームの受信処理許可の判定を動的に変更することが可能となるので、実施の形態1〜5に効果に加えて、優先度の高いアプリケーションの動作が妨げられる可能性が低くなる。
<実施の形態7>
実施の形態1〜6においては、受信処理許可判定手段150は常に動作していたが、実施の形態7においては、アプリケーションにより動的に、受信処理許可判定手段150を動作させる(有効モード)か動作させない(無効モード)かを変更可能とする。
実施の形態1〜6においては、受信処理許可判定手段150は常に動作していたが、実施の形態7においては、アプリケーションにより動的に、受信処理許可判定手段150を動作させる(有効モード)か動作させない(無効モード)かを変更可能とする。
図12は、本実施の形態に係るプロトコル処理装置が備えるCPUにおいて動作するアプリケーションの構成を示している。図12は、図4のCPU1内にモード変更手段180を追加し、記憶装置2を制御させた構成となっている。モード変更手段180を用いることにより、アプリケーションから動的に記憶装置2に記憶された受信処理許可判定手段150の動作モードを変更できる。例えば、受信するパケット数(又はパケットサイズ)が少ない場合には、モード変更手段180は、記憶装置2を制御し、受信処理許可判定手段150を動作させないように設定を変更する。これにより、受信処理許可判定手段150による処理量を低減することができる。
このように、本実施の形態に係るプロトコル処理装置が備えるCPU1は、アプリケーションにより受信処理許可判定手段150の動作モードが動的に変更される。従って、各アプリケーションの優先度が同一である場合等には、受信処理許可判定手段150における処理量を低減することができる。
<実施の形態8>
実施の形態1〜7においては、受信したイーサネットフレームの内容と、登録されている条件とが一致する場合にはそのイーサネットフレームに対して優先的に受信処理を行っているが、この判定論理を反転させてもよい。
実施の形態1〜7においては、受信したイーサネットフレームの内容と、登録されている条件とが一致する場合にはそのイーサネットフレームに対して優先的に受信処理を行っているが、この判定論理を反転させてもよい。
実施の形態1の図5と実施の形態2の図6において判定論理を反転させたフローチャートを図13,14に示す。図13,14では、ステップS5において、受信処理許可条件に代えて、受信処理を許可しない受信処理不許可条件を用い、この受信処理不許可条件を満たさないイーサネットフレームに対して優先的に受信処理を行っている。即ち、図13においては、N0,N1に代えて、期間Tの間に受信処理不許可の条件を満たすフレームを受信した場合でもプロトコル処理を完了させるフレーム数N0’と、期間Tの間に受信した受信処理不許可の条件を満たすフレーム数N1’を用いる。また、図14においては、V0,V1に代えて、期間Tの間に受信処理不許可の条件を満たすフレームを受信した場合でもプロトコル処理を完了させるフレームサイズV0’と、期間Tの間に受信した受信処理不許可の条件を満たすフレームサイズV1’を用いて判定を行っている。従って、例えば、優先的に受信処理すべきイーサネットフレームのアドレス数が、優先的に受信処理しないイーサネットフレームのアドレス数に比較して非常に多い場合には、受信処理許可判定手段150における処理量を低減することができる。
ここで、ステップS5以外の工程については、実施の形態1〜7と同様の手順で動作するので、それらの詳細な説明は省略する。
このように、本実施の形態にプロトコル処理装置においては、実施の形態1〜7において判定論理を反転させている。従って、例えば、優先的に受信処理すべきイーサネットフレームのアドレス数が、優先的に受信処理しないイーサネットフレームのアドレス数に比較して非常に多い場合には、受信処理許可判定手段150における処理量を低減することができる。
なお、図13,14のフローチャートにおいては、送信元アドレスを用いて説明を行っているが、送信元アドレスに代えて、宛先ポート番号等を用いてもよい。即ち、実施の形態1〜7の全てにおいて、判定論理を反転させることが可能である。
1 CPU、2 記憶装置、3 コネクタ、4 イーサネットコントローラ、5 LCD、6 タッチパネル、7 アドレスバス、8 データバス、10〜50 ホスト、100 イーサネット、130 プロトコル処理手段、131 イーサネット処理手段、132 IP処理部、133 UDP処理手段、140〜143 アプリケーション処理手段、150 受信処理許可判定手段、160 計測手段、170 条件変更手段、180 モード変更手段。
Claims (14)
- ネットワークからパケットを受信するネットワークコントローラと、
受信したパケットが、受信処理を許可すべき受信処理許可条件を満たすかどうかを判定する受信処理許可判定手段と、
前記受信処理許可条件を満たすパケットに対してプロトコル処理を行うプロトコル処理手段と、
プロトコル処理を行った前記受信処理条件を満たさないパケットの合計個数を計測する計測手段と
を備え、
前記プロトコル処理手段は、
前記合計個数が所定の個数に達するまでは前記受信処理許可条件を満たさないパケットに対してもプロトコル処理を行う
プロトコル処理装置。 - ネットワークからパケットを受信するネットワークコントローラと、
受信したパケットが、受信処理を許可すべき受信処理許可条件を満たすかどうかを判定する受信処理許可判定手段と、
前記受信処理許可条件を満たすパケットに対してプロトコル処理を行うプロトコル処理手段と、
プロトコル処理を行った前記受信処理条件を満たさないパケットの合計データサイズを計測する計測手段と
を備え、
前記プロトコル処理手段は、
前記合計データサイズが所定のデータサイズに達するまでは前記受信処理許可条件を満たさないパケットに対してもプロトコル処理を行う
プロトコル処理装置。 - 請求項1に記載のプロトコル処理装置であって、
前記合計個数は、所定の時間毎に初期化される
プロトコル処理装置。 - 請求項2に記載のプロトコル処理装置であって、
前記合計データサイズは、所定の時間毎に初期化される
プロトコル処理装置。 - 請求項1に記載のプロトコル処理装置であって、
前記プロトコル処理手段は、
前記合計個数が所定の個数に達した後は前記受信処理許可条件を満たさないパケットに対してプロトコル処理を行わない
プロトコル処理装置。 - 請求項2に記載のプロトコル処理装置であって、
前記プロトコル処理手段は、
前記合計データサイズが所定のデータサイズに達した後は前記受信処理許可条件を満たさないパケットに対してプロトコル処理を行わない
プロトコル処理装置。 - 請求項1に記載のプロトコル処理装置であって、
前記プロトコル処理手段は、
前記合計個数が所定の個数に達した後は前記受信処理許可条件を満たさないパケットに対して所定の優先順位より低い優先度でプロトコル処理を受け付ける
プロトコル処理装置。 - 請求項2に記載のプロトコル処理装置であって、
前記プロトコル処理手段は、
前記合計データサイズが所定のデータサイズに達した後は前記受信処理許可条件を満たさないパケットに対して所定の優先順位より低い優先度でプロトコル処理を受け付ける
プロトコル処理装置。 - 請求項1乃至請求項8のいずれかに記載のプロトコル処理装置であって、
前記受信処理許可判定手段は、
受信した前記パケットに含まれる送信元アドレスが、受信処理を許可すべき所定のホストのアドレスであるかどうかを前記受信許可条件として判定する
プロトコル処理装置。 - 請求項1乃至請求項8のいずれかに記載のプロトコル処理装置であって、
前記受信処理許可判定判定手段は、
受信した前記パケットに含まれる送信元アドレスが、受信処理を許可すべき所定のホストのアドレス範囲に含まれるかどうか前記受信許可条件としてを判定する
プロトコル処理装置。 - 請求項1乃至請求項10のいずれかに記載のプロトコル処理装置であって、
前記受信処理許可判定手段は、
受信した前記パケットに含まれる宛先ポート番号が、受信処理を許可すべきアプリケーションに対応するかどうかを判定する
プロトコル処理装置。 - 請求項1乃至請求項11のいずれかに記載のプロトコル処理装置であって、
前記受信処理許可条件を動的に変更する条件変更手段
をさらに備えるプロトコル処理装置。 - 請求項1乃至請求項11のいずれかに記載のプロトコル処理装置であって、
前記受信処理許可判定手段を動作させるかさせないかを動的に変更するモード変更手段をさらに備えるプロトコル処理装置。 - 請求項1乃至請求項13のいずれかに記載のプロトコル処理装置であって、
前記受信処理許可条件に代えて、受信処理を許可しない受信処理不許可条件を用い、判定論理を反転させた
プロトコル処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003289970A JP2005064673A (ja) | 2003-08-08 | 2003-08-08 | プロトコル処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003289970A JP2005064673A (ja) | 2003-08-08 | 2003-08-08 | プロトコル処理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005064673A true JP2005064673A (ja) | 2005-03-10 |
Family
ID=34368133
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003289970A Pending JP2005064673A (ja) | 2003-08-08 | 2003-08-08 | プロトコル処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005064673A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016536892A (ja) * | 2013-11-28 | 2016-11-24 | ▲華▼▲為▼終端有限公司Huawei Device Co., Ltd. | ハートビートメッセージを送信するための方法、及び携帯端末 |
-
2003
- 2003-08-08 JP JP2003289970A patent/JP2005064673A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016536892A (ja) * | 2013-11-28 | 2016-11-24 | ▲華▼▲為▼終端有限公司Huawei Device Co., Ltd. | ハートビートメッセージを送信するための方法、及び携帯端末 |
US10154106B2 (en) | 2013-11-28 | 2018-12-11 | Huawei Device (Dongguan) Co., Ltd. | Method for sending heartbeat message and mobile terminal |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8996718B2 (en) | TCP-aware receive side coalescing | |
US20090086736A1 (en) | Notification of out of order packets | |
US7987307B2 (en) | Interrupt coalescing control scheme | |
US8743877B2 (en) | Header processing engine | |
JP2007142629A (ja) | 応答通信機器及びarp応答通信機器 | |
JP2007243595A (ja) | ネットワーク制御装置および制御方法 | |
JP2005269314A (ja) | マルチキャストパケット読出し制御方法及び装置 | |
JP2009031954A (ja) | データ処理装置およびデータ転送方法 | |
US8495241B2 (en) | Communication apparatus and method therefor | |
JP2006325054A (ja) | Tcp/ip受信処理回路及びそれを具備する半導体集積回路 | |
US9584400B2 (en) | Method and apparatus for selecting a router in an infinite link network | |
US8576861B2 (en) | Method and apparatus for processing packets | |
JP2009080584A (ja) | プロトコル処理装置及び制御方法 | |
US20070053290A1 (en) | Packet attribute based prioritization | |
US7761587B2 (en) | Apparatus and method for transmitting packet IP offload | |
WO2019224860A1 (ja) | 通信装置、通信方法及び通信プログラム | |
US20080192742A1 (en) | Communication Control Apparatus, Receiver Apparatus, Integrated Circuit, and Communication Control Method | |
JP2007274056A (ja) | データグラム再組立装置 | |
JP2006303765A (ja) | Tcp/ip送信処理回路及びそれを具備する半導体集積回路 | |
JP2007067515A (ja) | Lanスイッチ及びmacアドレス学習方法並びにプログラム | |
CN111262798B (zh) | 一种信息处理方法、设备及计算机存储介质 | |
JP2005064673A (ja) | プロトコル処理装置 | |
JP2005260415A (ja) | ネットワーク中継装置 | |
JP5729938B2 (ja) | 通信装置およびその制御方法 | |
US8902756B2 (en) | Packet transfer processing device, packet transfer processing method, and packet transfer processing program |