ヘッダ圧縮パケット処理方法及び装置
【課題】圧縮ヘッダのパケットを処理する方法及び装置における、処理効率向上及びメモリ削減を実現できる技術を提供する。
【解決手段】本ヘッダ圧縮パケット通信装置101は、ヘッダ圧縮パケット処理部102、UDP/IPプロトコル処理部103、アプリケーション処理部104、セッション情報記憶部106などを有する。本装置は、圧縮ヘッダをフルヘッダに展開せずに、ヘッダ圧縮パケットの送受信処理を行う。セッション情報記憶部106に、チェックサム計算に係わる固定部チェックサム値を含ませたセッション情報が格納される。固定部チェックサム値は、フルヘッダの固定部情報から計算される。本装置内の各処理部でセッション情報を共用する。
【解決手段】本ヘッダ圧縮パケット通信装置101は、ヘッダ圧縮パケット処理部102、UDP/IPプロトコル処理部103、アプリケーション処理部104、セッション情報記憶部106などを有する。本装置は、圧縮ヘッダをフルヘッダに展開せずに、ヘッダ圧縮パケットの送受信処理を行う。セッション情報記憶部106に、チェックサム計算に係わる固定部チェックサム値を含ませたセッション情報が格納される。固定部チェックサム値は、フルヘッダの固定部情報から計算される。本装置内の各処理部でセッション情報を共用する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワーク等の通信システムにおけるデータ送受信に関し、特に、ヘッダ圧縮技術を用いたパケット処理に関する。
【背景技術】
【0002】
近年、ビルや家庭内の空調機器、照明機器、センサ等の制御系機器などの機器に対して、ネットワークを利用した高機能化と、その応用サービス・システムのニーズが高まっている。例えば、人感センサや温湿度センサが周辺情報を空調機器や照明機器に伝送し、電源のオン・オフや設定温度・照度の調整を自動で行う遠隔制御機能などである。
【0003】
このようにネットワークを介して情報を伝送する場合、対象となる情報・データ(ユーザデータと称する)に、送信元や受信先を特定するための情報などを示すヘッダを付加し、パケット化して伝送する方法が主流となっている。例えば、IP(Internet Protocol)ネットワーク上でパケットを伝送する際には、IPが通信プロトコルとして利用される。IPのヘッダは、IPv4の場合は20バイト、IPv6の場合は40バイトのデータ量である。
【0004】
これらヘッダのデータ量は、ユーザデータのデータ量にかかわらず一定であるため、ユーザデータのデータ量が少ない場合は、パケットの大部分をヘッダが占めることとなる。特に上述の制御系機器の遠隔制御では、概してユーザデータのデータ量は少ない。
【0005】
パケットのヘッダは、本来送受信の対象であるユーザデータではないため、ヘッダの占める割合が大きくなることは好ましいことではない。このため、ヘッダ本来の情報(フルヘッダ)のうち、固定的な情報を除いて構成(作成)した新たなヘッダである圧縮ヘッダを利用して、伝送データ量を少なくする方法が適用されることも多い。
【0006】
ヘッダ圧縮の方式には、IETF(Internet Engineering Task Force)で規定された複数の種類が存在する。例えば、プロトコルセットとしてTCP/UDP/IP、RTP/UDP/IPを対象としたIPヘッダ圧縮(非特許文献1)や、低消費電力ネットワーク上でIPv6パケットを伝送する規格である6LoWPAN(IPv6 over Low Power WPAN)で利用される方式(非特許文献2)等である。
【0007】
6LoWPANのパケット処理では、UDP/IPv6の60バイトのヘッダを、最小で8バイトにまで圧縮することが可能である(図7)。
【0008】
また、非特許文献1の圧縮ヘッダ(IPヘッダ圧縮)を用いる手法(第1の技術とする)では、パケット(ユーザデータ)に対し、通常(圧縮ヘッダ無し)の形式のヘッダとほぼ同様の構成であるフルヘッダを散発的に付加し、それ以外の大部分のパケット(ユーザデータ)に対しては圧縮ヘッダを付加する。これにより、UDP/IPv6の60バイトのヘッダを最小で4バイトにまで圧縮でき、伝送する情報量を減少する(図8)。
【0009】
また、非特許文献1のヘッダ圧縮パケットを処理する技術に対応する一構成例として、特開2005−252855号公報(特許文献1)に開示されているものがある。
【特許文献1】特開2005−252855号公報
【非特許文献1】“IP Header Compression(RFC 2507)”、M. Degermark, B. Nordgren and S. Pink、IETF、February,1999
【非特許文献2】“Transmission of IPv6 Packets over IEEE 802.15.4 Networks draft-ietf-6lowpan-format-04(work in progress)”、G. Montenegro and N. Kushalnagar、IETF、August, 2006
【発明の開示】
【発明が解決しようとする課題】
【0010】
前記第1の技術のような従来技術では、ヘッダ圧縮パケットの送受信において、圧縮ヘッダをフルヘッダに展開(再構成)してチェックサム計算等のプロトコル処理を行うので、データコピー等が発生し、その分メモリを消費し、処理効率が良くない、という問題がある。これは詳しくは以下である。
【0011】
前記従来の構成(第1の技術)では、圧縮ヘッダの中にCID(Context Identifier:コンテキスト識別子)情報が格納されており(図8)、その情報をもとに、散発的に伝送されるフルヘッダとの関連付けを行っている。また、ヘッダ圧縮パケットを受信した際、圧縮ヘッダ中の情報であるCIDと、セッション情報記憶部に格納されている、該当CIDに関連付けられた該当セッション情報とを利用して、通常の形式(圧縮しない形式)のフルヘッダ(第1の技術では疑似UDP/IPヘッダ)を一旦構成し、チェックサム計算(誤り検出)等のプロトコル処理(ネットワークプロトコル処理)を行っている。そのため、セッション情報記憶部に格納されている該当セッション情報を、フルヘッダを構成(展開)するためのメモリ空間へデータコピーしなければならない。また、ヘッダ圧縮パケットを送信する際も、上記受信の際と同様に、フルヘッダの構成のためのデータコピーが発生する。上記フルヘッダの構成及びデータコピーのために、ワーキングメモリが必要になる。また、伝送される大部分のパケットが圧縮ヘッダであり、その圧縮ヘッダを送受信する度に前記データコピーが発生する。そのため、パケット処理装置内のプロトコル処理効率が良くない。換言すれば、パケット処理時間が長くなり、通信処理速度が低減する。
【0012】
本発明は以上のような問題に鑑みてなされたものであり、その目的は、上記のような問題を解決し、圧縮ヘッダのパケットを処理する方法及び装置における、処理効率向上及びメモリ削減を実現できる技術を提供することにある。
【課題を解決するための手段】
【0013】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次のとおりである。前記目的を達成するために、本発明は、通信システムにおける、フルヘッダの代わりにフルヘッダよりもデータ量が少なくなるように圧縮(省略)構成されたヘッダ情報(圧縮ヘッダ)が付加されたデータ(ユーザデータ)からなるパケットデータ(ヘッダ圧縮パケット)を送受信処理する方法及び装置であって、以下の構成を特徴とする。
【0014】
本ヘッダ圧縮パケット処理方法は、ネットワーク等に対してヘッダ圧縮パケットを送受信する処理(ヘッダ圧縮パケット処理)、及び、トランスポート層及びネットワーク層に対応のプロトコル処理の工程を有して構成される。また、本ヘッダ圧縮パケット処理装置は、ネットワーク等に対してヘッダ圧縮パケットを送受信する処理(ヘッダ圧縮パケット処理)、及び、トランスポート層及びネットワーク層に対応のプロトコル処理の手段を有して構成される。またその他、上位のアプリケーション処理などの手段(工程)を備えてもよい。また、本装置内のいずれかの箇所には、セッション情報及びその他関連情報のテーブルを格納するセッション情報記憶手段(メモリ)を設ける。本装置内の各処理手段(工程)が、セッション情報記憶手段のテーブルの情報を共用する構成である。
【0015】
セッション情報記憶手段のテーブルには、通信相手を特定するアドレス情報等を含む、通信相手とのセッション情報(換言すれば複数のパケットの送受信のフローに係わる情報)が格納される。なおその格納の際にセッション情報を作成することは条件ではなく、外部からセッション情報が与えられてもよい。セッション情報は、そのセッション情報を識別する情報(セッション識別子)を含むまたは関連付けされる。また、本テーブルのセッション情報に対し、ユーザデータを授受するアプリケーション(上位の処理部)を識別する情報(アプリケーション識別子)などが関連付けまたは含まれる。本装置内の各処理部が、セッション識別子などを用いて、テーブルの情報を共用する。
【0016】
加えて、本テーブルには、チェックサム計算等の誤り検出処理の部分値(処理途中値であり最終的な計算値とは異なる)である、固定部チェックサム値(第1の計算値)を格納する。固定部チェックサム値は、フルヘッダのうちの固定部情報から計算される。フルヘッダのうちの固定部情報は、圧縮ヘッダではほぼ省略される可能性が高い情報である。これに対し、同様の処理の部分値である、可変部チェックサム値(第2の計算値)は、フルヘッダのうちの可変部情報から計算される。
【0017】
本構成により、送受信パケットがヘッダ圧縮パケットである場合、本装置内の各処理部が自身の処理を行う際に、セッション情報記憶手段から、圧縮ヘッダに対応する該当セッション情報を入手して利用できる。また、フルヘッダには含まれるが圧縮ヘッダでは省略される情報に関しても、フルヘッダ相当の情報に対するチェックサム計算(誤り検出処理)を行うことができる。よって、本処理方法及び装置では、ヘッダ圧縮パケットのみの伝送であっても、パケット送受信及びプロトコル処理を遂行できる。
【0018】
本処理方法及び装置では、ヘッダ圧縮パケットを或る通信相手に初めて送信する際には、対応するセッション情報を、セッション情報記憶手段のテーブルに格納する。圧縮ヘッダを構成する際は、このテーブルから必要な情報のみを取り出して利用する。また、既にテーブル内に情報として存在する通信相手に対しヘッダ圧縮パケットを送信する際には、引き続きそのテーブル内の該当セッション情報を利用する。
【0019】
ヘッダ圧縮パケットを受信した際は、そのパケットの圧縮ヘッダに格納されている情報と、セッション情報記憶手段のテーブル内の該当セッション情報とを比較する。既にテーブル内に該当セッション情報が存在する場合、そのセッション情報の識別子を本装置内の各処理部で受け渡し、該当セッション情報が存在しない場合、テーブル内に新たにセッション情報を格納し、そのセッション情報の識別子を本装置内の各処理部で受け渡す。このように、テーブル内の情報を装置内の各処理部で共用することにより、各処理部が必要なときに必要な情報のみを利用することができる。
【0020】
また、本処理装置及び方法では、フルヘッダ(一例として疑似UDP/IPヘッダ)内の固定部情報に対する部分的なチェックサム計算を予め行い、その結果である固定部チェックサム値(第1の計算値)をセッション情報記憶手段のテーブルに格納しておく(新たな通信相手に初めてパケットを送信する際など)。フルヘッダに含まれる固定部情報は、ほぼ省略されて圧縮ヘッダには含まれない場合が多いが(例えば6LoWPAN)、圧縮ヘッダのチェックサム計算を行う際に、テーブルに格納してある第1の計算値を利用することにより、わざわざ疑似ヘッダ(フルヘッダ)を構成することなく、第1と第2の計算値を合わせることでチェックサム計算を行うことができる。上記構成により、圧縮ヘッダをフルヘッダに一切展開することなく、チェックサム計算等のプロトコル処理を含むパケット処理を行うことができる。
【0021】
本ヘッダ圧縮パケット処理方法は、例えば以下の構成である。本処理方法では、ヘッダ圧縮パケットの送受信に関する誤り検出処理として、フルヘッダのうちの、固定部情報についての第1の計算値と、可変部情報についての第2の計算値とを計算処理し、第1の計算値をセッション情報記憶手段に格納し、第2の計算値を含んだ圧縮ヘッダをユーザデータに付加したヘッダ圧縮パケットを構成(作成)する。そして、ヘッダ圧縮パケットの送受信の際、圧縮ヘッダに含まれる第2の計算値とセッション情報記憶手段の第1の計算値とを用いて誤り検出処理を行う。また、第1と第2の計算値を時間的に別のタイミングで計算し、後でそれら両者を加算等することにより、誤り検出処理の計算値を得る。ヘッダ圧縮パケットの送受信の際に、計算処理した第2の計算値と、セッション情報記憶手段に格納されている第1の計算値とを用いて、誤り検出処理の計算値を得る。
【0022】
また、本ヘッダ圧縮パケット処理装置は、例えば以下の構成である。本処理装置は、セッション情報記憶手段と、ヘッダ圧縮パケットの送受信に関する誤り検出処理では、第1の計算値と第2の計算値とを計算処理し、第1の計算値をセッション情報記憶手段のセッション情報に含んで格納し、第2の計算値を含んだ圧縮ヘッダをユーザデータに付加したヘッダ圧縮パケットを構成し、ヘッダ圧縮パケットの送受信の際、圧縮ヘッダに含まれる第2の計算値とセッション情報記憶手段の第1の計算値とを用いて誤り検出処理を行うことを含む、ヘッダ圧縮パケット処理及びプロトコル処理を行う手段とを有する。
【0023】
また、ヘッダ圧縮パケット処理及びプロトコル処理を行う手段は、ヘッダ圧縮パケットを送信する際に、セッション情報をもとに圧縮ヘッダを構成する処理と、ヘッダ圧縮パケットを受信する際に、受信したヘッダ圧縮パケットの圧縮ヘッダとセッション情報記憶手段に格納されているセッション情報とをもとに圧縮ヘッダの情報を解釈する処理と、を行う圧縮ヘッダ処理手段(105)と、フルヘッダのうちの誤り検出処理の第1の計算値と第2の計算値とを用いて誤り検出処理の部分値を計算する部分値計算手段(107)と、誤り検出処理の第2の計算値を計算する処理(108)と、ヘッダ圧縮パケットを送信する際に、ユーザデータを送受信するアプリケーションの識別情報と、セッション情報記憶手段に格納されているセッション情報とを比較し、セッション情報の識別情報を抽出し、ヘッダ圧縮パケットを受信した際に、セッション情報の識別情報及びアプリケーションの識別情報に関連付けられたアプリケーションにユーザデータを受け渡す処理(109)と、を行うネットワーク層及びトランスポート層のプロトコル処理手段とを有する。
【発明の効果】
【0024】
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下のとおりである。本発明によれば、圧縮ヘッダのパケットを処理する方法及び装置における、処理効率向上及びメモリ削減を実現できる。特に、圧縮ヘッダからフルヘッダを構成(展開)する必要なくプロトコル処理を行うので、パケット処理時間が短く通信処理速度を向上でき、またデータコピーに必要なメモリが不要になる。
【発明を実施するための最良の形態】
【0025】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一部には原則として同一符号を付し、その繰り返しの説明は省略する。
【0026】
<従来技術例>
以下、図7〜図11を用いて、本発明及び実施の形態を従来技術と比較してわかりやすく説明するために、ヘッダ圧縮形式や装置構成例などに係わる各従来技術について簡単に説明する。
【0027】
<ヘッダ圧縮(6LoWPAN)>
図7を用いて、フルヘッダ及び圧縮ヘッダの一例として、6LoWPANの場合を説明する。図7において、6LoWPAN圧縮ヘッダ401は、圧縮ヘッダ符号402、圧縮IPv6ヘッダ403、圧縮UDPヘッダ404から構成されている。
【0028】
圧縮ヘッダ符号402は、6LoWPANにおけるフルヘッダ(UDP/IPv6フルヘッダ(図8の501)に対応する)に含まれる情報(例として、情報406、情報407)から省略せずに圧縮ヘッダ部(403,404)に格納する情報を示す、2バイトの情報405である。圧縮ヘッダ符号402の情報405は、IPv6ヘッダ(図8の503)の圧縮情報(圧縮ヘッダに格納する情報)を示す符号:HC1と、UDPヘッダ(図8の504)の圧縮情報を示す符号:HC2とから構成される。情報406は、図8のIPv6ヘッダ503のうちの一部、情報407は、図8のUDPヘッダ504のうちの一部である。
【0029】
圧縮IPv6ヘッダ403は、IPv6におけるホップ数、送信元アドレス、受信先アドレス、トラフィッククラス、フローラベル、及び次ヘッダの39バイトの情報406をもとに構成される。実際のパケットの圧縮IPv6ヘッダ403には、これらの情報406の中から前記HC1で指定されたもののみを含む、2〜39バイトの可変長の情報である。
【0030】
圧縮UDPヘッダ404は、UDPにおける送信元ポート番号、受信先ポート番号、データ長、及びチェックサムの8バイトの情報407をもとに構成される。実際のパケットの圧縮UDPヘッダ404には、これらの情報407の中から前記HC2で指定されたもののみを含む、4〜8バイトの可変長の情報である。
【0031】
これらの構成により、6LoWPANのパケット処理では、UDP/IPv6の60バイトのヘッダ(図8の501)を、6LoWPAN圧縮ヘッダ401のように最小で8バイト(2+2+4=8バイト)にまで圧縮することが可能である。
【0032】
なお、圧縮IPv6ヘッダ403及び圧縮UDPヘッダ404の中で、圧縮ヘッダ符号402で指定されない情報、即ちフルヘッダに対して圧縮(省略)により欠落した情報であっても、それらは不変的な情報や他の情報から導出可能なものであるため、フルヘッダに完全に復元可能である。
【0033】
なお、6LoWPAN自体は、フルヘッダと圧縮ヘッダの両方の処理が可能であるが、本実施の形態では、6LoWPANにおける圧縮ヘッダを扱う。
【0034】
<ヘッダ圧縮(UDP/IP)>
図8を用いて、RFC2507(非特許文献1)におけるUDP/IPv6フルヘッダ501及びその圧縮ヘッダ502の構成を説明する。UDP/IPv6フルヘッダ501は、RFC2460で規定されているIPv6ヘッダ503とUDPヘッダ504とを組み合わせて成るものである。
【0035】
UDP/IPv6フルヘッダ501におけるレングス(レングス#1,#2)部分に、CID(Context Identifier:コンテキスト識別子)505含む情報が書き込まれるものである(図示していない)。なお、レングス#1,#2は、通常(圧縮ヘッダ無し)のヘッダ形式のUDP/IPv6ヘッダの場合では、ペイロード長及びデータグラム長がそれぞれ書き込まれる部分であり、CID505は書き込まれない。CID505は、従来技術として、フローを特定するための識別情報、換言すればフルヘッダを特定するための識別情報である。なお、レングス#1,#2内のCID505と、圧縮ヘッダ502内のCID505とで対応付け可能である。
【0036】
圧縮ヘッダ502は、通常(圧縮ヘッダ無し)のUDP/IPv6ヘッダを構成する情報のうち、可変的な部分であるチェックサムとCID505とを含む情報から構成されるものである。
【0037】
前記RFC2507(非特許文献1)の圧縮ヘッダを用いる手法(第1の技術)では、通常(圧縮ヘッダ無し)の形式とほぼ同様の構成であるフルヘッダを散発的に付加し、それ以外の大部分のパケットに対しては圧縮ヘッダを付加する。これにより、UDP/IPv6の60バイトのヘッダを最小で4バイトにまで圧縮でき、伝送する情報・データ量を減少する。
【0038】
なお、公知技術であるチェックサム(チェックサム計算)は、データ送受信における誤り検出方法の1つである。即ち、送信側では、対象データの各ブロックの数値の合計などをとり、それ(チェックサム値)を対象データに付加して送信する。受信側では、受信データから同様にチェックサム値を計算し、それと受信チェックサム値とが一致するかどうかを検査する。両者が異なる場合、伝送路で対象データに誤りが生じていることになる。
【0039】
<疑似UDP/IPヘッダ>
図9において、後述の従来技術例の処理に係わる、疑似UDP/IPヘッダ601の構成を示している。疑似UDP/IPヘッダ601は、疑似IPヘッダ602とUDPヘッダ603から構成される。疑似UDP/IPヘッダ601及びユーザデータを16ビットずつ加算して得られる総和の1の補数が、チェックサム値である。疑似UDP/IPヘッダ601は、ネットワーク上での伝送は行われず、チェックサム計算処理のために構成される。疑似IPヘッダ602は、チェックサム計算処理に必要な情報のみで構成される。なお、疑似ヘッダとは、当該情報をネットワークで伝送しないことからそのように呼称している。
【0040】
<ヘッダ圧縮パケット処理装置例>
図10,図11を用いて、前記特許文献1記載の従来技術例であるヘッダ圧縮パケット処理及び装置について簡単に説明する。図10,図11に示す構成例は、図8のパケット及びヘッダ構成を処理する一例となっている。これら構成は、ヘッダ圧縮パケットの受信処理の場合を示している。
【0041】
図10における本従来技術例のヘッダ圧縮パケット処理装置(ヘッダ圧縮パケット受信装置901)の概略構成を示している。ヘッダ圧縮パケット受信装置901は、PPPフレーム受信部902、圧縮ヘッダ受信処理部903、UDP/IP受信処理部904、疑似UDP受信処理部905、セッション情報記憶部906、及びユーザデータ出力部907から構成されている。ユーザデータ出力部907から、それぞれのUDP/IPアプリケーション908に対して出力する。
【0042】
図11の詳細構成において、圧縮ヘッダ受信処理部903は、フルヘッダ受信部1001、圧縮ヘッダ受信部1002、及びコンテキスト情報記憶部1003から構成されている。UDP/IP受信処理部904は、IP受信処理部1004、及びUDP受信処理部1005から構成されている。疑似UDP受信処理部905は、チェックサム確認部1007、及び疑似UDP/IPヘッダ生成部1008から構成されている。
【0043】
PPPフレーム受信部902は、外部装置から送信されてきたPPPフレームを受信し、その中に含まれるPPPヘッダを解析する。
【0044】
圧縮ヘッダ受信処理部903は、ユーザデータに付加されているヘッダが、フルヘッダであるか圧縮ヘッダであるかを判断・区分して、後段の処理部でそれぞれに対し異なる処理を行わせる。
【0045】
UDP/IP受信処理部904は、フルヘッダ即ち通常のUDP/IPヘッダが付加されているパケット(UDP/IPパケット)を処理(UDP/IP受信処理)し、当該パケットに対応するアプリケーション(908)を選定する。
【0046】
疑似UDP受信処理部905は、圧縮ヘッダ(CIDとチェックサムを含む)と、セッション情報記憶部906に格納されているセッション情報とから、図9の疑似UDP/IPヘッダ601を生成して受信処理(疑似UDP受信処理)を行い、当該パケットに対応するアプリケーション(908)を選定する。
【0047】
セッション情報記憶部906は、IPアドレスとUDPポート番号との組み合わせに対応するセッション情報、及び対応するアプリケーションを識別する情報(アプリケーション識別子:AIDとする)を記憶する。
【0048】
ユーザデータ出力部907は、受信したユーザデータを、指定されたUDP/IPアプリケーション908へと出力する。
【0049】
次に、本従来技術例のパケット受信時の動作の概略を説明する。パケットを受信した際には、PPPフレーム受信部902が、これに付加されているヘッダが圧縮ヘッダであるかフルヘッダであるかを判断する。フルヘッダが付加されているユーザデータについては、フルヘッダ受信部1001に渡す。フルヘッダ受信部1001では、そのフルヘッダに含まれる情報と、セッション情報を特定するための識別情報(セッション識別子:SIDとする)とを比較して、そのフルヘッダが付加されているユーザデータの受け渡し先となるアプリケーション(908)を選択する。この際、チェックサム確認部1006において、そのヘッダ中のチェックサムを確認(計算)し、受信したパケットに誤りが無いかを検査する。そのチェックサム計算の結果、異常が無ければ、UDP/IP受信処理部904は、ユーザデータ出力部907に、ユーザデータとアプリケーション識別子(AID)とを渡す。それと共に、コンテキスト情報記憶部1003に、セッション識別子(SID)と、フルヘッダ中のコンテキスト識別子(CID)とを、関連付けて記憶する。
【0050】
一方、圧縮ヘッダが付加されている際には、PPPフレーム受信部902は、そのパケットを、圧縮ヘッダ受信部1002に渡す。圧縮ヘッダ受信部1002では、圧縮ヘッダからCIDを抽出し、そのCIDに関連付けられたSIDを、コンテキスト情報記憶部1003から読み出す。そして、読み出したSIDに対応したセッション情報に基づいて、一旦、疑似UDP/IPヘッダ601を生成し、そのSID及び疑似UDP/IPヘッダ601を、疑似UDP受信処理部905に渡す。疑似UDP受信処理部905(チェックサム確認部1007)では、フルヘッダの場合と同様にチェックサムの計算を行い、異常が無ければ、そのセッション情報に基づいて圧縮ヘッダが付加されていたユーザデータを受け渡すアプリケーション(908)を決定し、ユーザデータ出力部907にそのユーザデータ及びAIDを渡す。このような構成例により、圧縮ヘッダが付加されたパケットの処理が可能である。
【0051】
<問題点等>
しかしながら、上述した従来技術は、本実施の形態の技術と、ヘッダ圧縮パケットを処理する点で共通するが、フルヘッダを処理する点などで異なる。前記従来の構成(第1の技術)では、圧縮ヘッダの中にCID情報が格納されており(図8)、その情報をもとに、散発的に伝送されるフルヘッダとの関連付けを行っていた。しかしながら、6LoWPANのように、パケットに付加される全てのヘッダが圧縮ヘッダであるような場合、前記第1の技術のようにフルヘッダを処理する装置構成はそもそも不要である。
【0052】
また、前記第1の技術では、ヘッダ圧縮パケットを受信した際、圧縮ヘッダ中の情報であるCIDと、セッション情報記憶部に格納されている、該当CIDに関連付けられた該当セッション情報とを利用して、通常の形式(圧縮しない形式)のフルヘッダ(第1の技術では疑似UDP/IPヘッダ601)を一旦構成し、チェックサム計算等のプロトコル処理を行う。そのため、セッション情報記憶部に格納されている該当セッション情報を、フルヘッダを構成するためのメモリ空間へデータコピーしなければならない。また、ヘッダ圧縮パケットを送信する際も、セッション情報からフルヘッダを構成し、チェックサム計算等を行い、圧縮ヘッダを構成して送信するので、上記ヘッダ圧縮パケット受信の際と同様のデータコピーが発生していた。フルヘッダの構成(展開)及びデータコピーのためには、ワーキングメモリが必要になる。
【0053】
また、前記第1の技術では、伝送される大部分のパケットが圧縮ヘッダであり、その圧縮ヘッダを送受信する度に前記データコピーが発生する。そのため、パケット処理装置内のプロトコル処理効率が良くない。換言すれば、パケット処理時間が長くなり、通信処理速度が低減する。
【0054】
<実施の形態>
上述した技術を踏まえ、図1〜図6、並びに前記従来技術例と共通の図7〜図9を用いて、本発明の一実施の形態におけるヘッダ圧縮パケット処理方法及びその方法を用いるヘッダ圧縮パケット処理装置を説明する。本方法及び装置では、特徴として、6LoWPANにおけるパケット(ヘッダ圧縮パケット)の送受信(送信・受信の両方)の機能を備える構成において、本装置内の各処理部で、固定部チェックサム値を含ませたセッション情報を共用する。そして、各パケットの送受信の際のプロトコル処理では、可変部チェックサム値を計算し、固定部チェックサム値と加算することで、チェックサム値を取得する。これにより、圧縮ヘッダを一切フルヘッダに展開することなく、ヘッダ圧縮パケットの送受信処理が実現される。
【0055】
<概略構成>
図1において、本実施の形態のヘッダ圧縮パケット処理装置であるヘッダ圧縮パケット通信装置(通信装置と略称する)101の概略構成を示している。通信装置101は、主に、ヘッダ圧縮パケット処理部102、UDP/IPプロトコル処理部103、及びアプリケーション処理部104から構成されている。
【0056】
ヘッダ圧縮パケット処理部102は、圧縮ヘッダ処理部105、セッション情報記憶部106、及びチェックサム部分値加算部107から構成されている。UDP/IPプロトコル処理部103は、チェックサム計算部108、及びUDP/IP処理部109から構成されている。アプリケーション処理部104は、UDP/IPを利用するそれぞれのUDP/IPアプリケーション110(110−1,110−2,110−3)を含むものである。
【0057】
本通信装置101は、特徴的な部位は、ヘッダ圧縮パケット処理部102、UDP/IPプロトコル処理部103である。本通信装置101は、ソフトウェア/ハードウェア(回路ICなど)で実装構成されるが、どの部分をIC化するか等、実装詳細は各種可能である。また、各処理部は、分けずに1つの処理部として構成することもできる。また、各処理部内には、圧縮ヘッダの処理に必要な分のワークメモリ(図示しない)等も有する。
【0058】
セッション情報記憶部106には、図2のようなセッション情報(セッション情報テーブル)が格納される。なお、圧縮ヘッダ処理部105、UDP/IP処理部109等では、必要に応じてセッション情報を作成することが可能である。
【0059】
UDP/IPプロトコル処理部103は、トランスポート層/ネットワーク層処理部に相当する。ヘッダ圧縮パケット処理部102は、上位のUDP/IPプロトコル処理部103(トランスポート層/ネットワーク層処理部)と下位の図示しない物理/MAC層との間に設ける適応部(アダプタ)である。
【0060】
なお、説明の必要に応じて、P:パケット(ヘッダ圧縮パケット)、D:ユーザデータ、H1:フルヘッダ、H2:圧縮ヘッダ、S:セッション情報、C:チェックサム値などとして表す。
【0061】
<詳細構成>
次に、図2において、通信装置101の詳細構成を示している。特にパケット処理例における各処理部間のデータ・情報の受け渡しも示している。圧縮ヘッダ処理部105は、ネットワークからパケット(P)を受信し、あるいはネットワークへとパケット(P)を送信する、処理部位である。圧縮ヘッダ処理部105は、パケット(P)を送信する際には、セッション情報(S)をもとに、圧縮ヘッダ(H2)を構成(作成)する。また、圧縮ヘッダ処理部105は、パケット(P)を受信した際には、セッション情報(S)と、圧縮ヘッダ(H2)が付加されたパケット(P)とをもとに、圧縮ヘッダ(H2)の情報を解釈する。
【0062】
セッション情報記憶部106のセッション情報テーブルには、セッション情報(S)、更にそれに対応付けされるアプリケーション識別子(AID)等の情報を格納する。本例では、セッション情報(S)としては、セッション識別子(SID)(当該セッション情報(S)内に含む)、送信元IPアドレス(A1)、受信先IPアドレス(A2)、送信元UDPポート番号(n1)、受信先UDPポート番号(n2)、及び、固定部チェックサム値(Ca)から構成される。本セッション情報テーブル内には、従来技術例で用いるCIDは不要である。なお、本セッション情報テーブルのデータ構造は、図2に示すものに限定されるものではない。
【0063】
セッション情報記憶部106では、パケット(P)を送信する際には、UDP/IP処理部109から受け取ったセッション情報(S)がセッション情報テーブルに記憶され、パケット(P)を受信した際には、圧縮ヘッダ処理部105から受け取ったセッション情報(S)がセッション情報テーブルに記憶される。
【0064】
チェックサム部分値加算部107は、パケット(P)を送信する際には、UDP/IP処理部109から受け取ったチェックサム値(C)に、セッション情報記憶部106から受け取ったチェックサム部分値(C1)を加算し、パケット(P)を受信した際には、圧縮ヘッダ処理部105から受け取ったチェックサム値(C)に、セッション情報記憶部106から受け取ったチェックサム部分値(C1)を加算する、処理部位である。
【0065】
チェックサム計算部108は、チェックサム計算の対象となるデータ(チェックサム計算対象データ:C2)を、UDP/IP処理部109から受け取り、チェックサム計算し、チェックサム計算結果(C3)を返答する。
【0066】
UDP/IP処理部109は、パケット(P)の送受信の際に、チェックサム計算やアプリケーション判断などのプロトコル処理を行い、対応するUDP/IPアプリケーション110とユーザデータ(D)の受け渡しを行う処理部位である。
【0067】
セッション情報(S)は、アドレス(A1,A2)やポート番号(n1,n2)を主にして、加えて、固定部チェックサム値(Ca)が含まれる。固定部チェックサム値(Ca)は、チェックサム部分値、即ち、パケット(P)のチェックサム処理の部分的な処理途中の計算値である。更に、これらのセッション情報(S)(特に受信先UDPポート番号:n2)に対して、アプリケーション識別子(AID)が対応付けされる例である。
【0068】
従来技術では、パケットの送受信の都度、パケットの全部のデータに対してチェックサム処理を行っている。一方、本実施の形態では、フルヘッダ(H1)のうちの固定部の情報のみを予めチェックサム処理して固定部チェックサム値(Ca)としてセッション情報テーブルに格納しておき、各部で共用する。そして、パケット送受信の際は、圧縮ヘッダ(H2)に含まれる、フルヘッダ(H1)の可変部の情報を、その都度チェックサム処理し、固定部チェックサム値(Ca)と可変部チェックサム値(Cb)との両者を加算して完全なチェックサム値(C)を得るものである。
【0069】
<送信処理動作>
次に、図3,図4を用いて、本実施の形態における、圧縮ヘッダ(H2)を付加したユーザデータ(D)からなるヘッダ圧縮パケット(P)の送受信処理の概略動作を説明する。
【0070】
まず、図3のフローにおいて、パケット(ユーザデータ)の送信処理の動作を説明する。S301(Sは処理ステップを表す)において、UDP/IPアプリケーション110は、送信するユーザデータ(D)を、UDP/IP処理部109に渡す。
【0071】
S302において、UDP/IP処理部109は、UDP/IPアプリケーション110から受け取ったユーザデータ(D)、及び図9の疑似UDP/IPヘッダ601の可変部情報であるデータ長を、チェックサム計算対象データ(C2)として、チェックサム計算部108に渡す。チェックサム計算部108は、これらのデータ(C2)から、可変部チェックサム値(Cb)を計算し、その結果(C3)を、UDP/IP処理部109に返答する。
【0072】
S303において、UDP/IP処理部109は、ユーザデータ(D)を受け取ったUDP/IPアプリケーション110から判断したセッション情報(S)がセッション情報記憶部106のテーブルに既に存在しているか否かを確認する。存在している場合(Y)は、S308に進み、それ以外の場合(N)は、S304に進む。
【0073】
S304において、UDP/IP処理部109は、ユーザデータ(D)を受け取ったUDP/IPアプリケーション110から判断したセッション情報(S)をセッション情報記憶部106のテーブルに格納し、セッション識別子(SID)をセッション情報記憶部106から受け取る。
【0074】
次にS305において、UDP/IP処理部109は、セッション情報記憶部106のテーブルに、疑似UDP/IPヘッダ601の固定部情報である、送信元IPアドレス(A1)、受信先IPアドレス(A2)、送信元UDPポート番号(n1)、次ヘッダ、及び受信先UDPポート番号(n2)から計算した固定部チェックサム値(Ca)が、既に存在しているか否かを確認する。存在している場合(Y)は、S308に進み、それ以外の場合(N)は、S306に進む。
【0075】
S306において、UDP/IP処理部109は、疑似UDP/IPヘッダ601の固定部情報を、チェックサム計算対象データ(C2)としてチェックサム計算部108に渡す。チェックサム計算部108は、これらのデータ(C2)から固定部チェックサム値(Ca)を計算し、その結果(C3)を、UDP/IP処理部109に返答する。
【0076】
S307において、UDP/IP処理部109は、S306で計算した固定部チェックサム値(Ca)を、セッション識別子(SID)に関連するセッション情報テーブルに格納する。
【0077】
S308において、チェックサム部分値加算部107は、UDP/IP処理部109から、セッション識別子(SID)と可変部チェックサム値(Cb)及びユーザデータ(D)を受け取る。そして、セッション情報テーブルからセッション識別子(SID)に関連する固定部チェックサム値(Ca)を取り出し、それに可変部チェックサム値(Cb)を加算し、圧縮ヘッダ(H2)に格納するチェックサム値(C)を算出する。そして、セッション識別子(SID)、チェックサム値(C)、及びユーザデータ(D)を、圧縮ヘッダ処理部105に渡す。
【0078】
S309において、圧縮ヘッダ処理部105は、セッション識別子(SID)に関連するセッション情報(S)、チェックサム値(C)、及びユーザデータ(D)から、圧縮ヘッダ(H2)を生成し、圧縮ヘッダ(H2)を付加したユーザデータ(D)からなるヘッダ圧縮パケット(P)をネットワークへ送信する。
【0079】
<受信処理動作>
次に、図4のフローにおいて、パケット(ユーザデータ)の受信処理の動作を説明する。S401において、圧縮ヘッダ処理部105は、ネットワークから受信したヘッダ圧縮パケット(P)から、セッション情報(S)である、送信元IPアドレス(A1)、受信先IPアドレス(A2)、送信元UDPポート番号(n1)、及び受信先UDPポート番号(n2)を取り出す。
【0080】
S402において、圧縮ヘッダ処理部105は、受信したヘッダ圧縮パケット(P)のセッション情報(S)がセッション情報記憶部106のテーブルに既に存在しているか否かを確認する。存在している場合(Y)は、セッション識別子(SID)、受信したヘッダ圧縮パケット(P)内のチェックサム値(C)、及びユーザデータ(D)を、チェックサム部分値加算部107に渡し、S404に進み、それ以外の場合(N)は、S403に進む。
【0081】
S403において、圧縮ヘッダ処理部105は、受信パケット(P)のセッション情報(S)を、セッション情報記憶部106のテーブルに格納し、セッション識別子(SID)をセッション情報記憶部106から受け取り、セッション識別子(SID)、受信パケット(P)内のチェックサム値(C)、及びユーザデータ(D)を、チェックサム部分値加算部107に渡す。
【0082】
S404において、チェックサム部分値加算部107は、セッション情報記憶部106のテーブルに、疑似UDP/IPヘッダ601の固定部情報である、送信元IPアドレス(A1)、受信先IPアドレス(A2)、送信元UDPポート番号(n1)、次ヘッダ、及び受信先UDPポート番号(n2)から計算した固定部チェックサム値(Ca)が、既に存在しているか否かを確認する。存在している場合(Y)は、S407に進み、それ以外の場合(N)は、S405に進む。
【0083】
S405において、チェックサム部分値加算部107は、受信パケット(P)の疑似UDP/IPヘッダ601の固定部情報についての固定部チェックサム値(Ca)を計算する。
【0084】
S406において、チェックサム部分値加算部107は、S405で計算した固定部チェックサム値(Ca)を、セッション識別子(SID)に関連するセッション情報テーブルに格納する。
【0085】
S407において、チェックサム部分値加算部107は、受信パケット(P)のチェックサム値即ちチェックサム部分値(C1)に対し、セッション情報テーブルからセッション識別子(SID)に関連する固定部チェックサム値(Ca)を取り出し、チェックサム値部分値(C1)に加算する。そして、その加算結果であるチェックサム部分値(C1)、セッション識別子(SID)、及びユーザデータ(D)を、UDP/IP処理部109に渡す。
【0086】
S408において、UDP/IP処理部109は、疑似UDP/IPヘッダ601の可変部情報であるデータ長、及びチェックサム部分値加算部107から受け取ったユーザデータ(D)を、チェックサム計算対象データ(C2)としてチェックサム計算部108に渡す。チェックサム計算部108は、これらのデータ(C2)から可変部チェックサム値(Cb)を計算し、その結果(C3)を、UDP/IP処理部109に返答する。
【0087】
S409において、UDP/IP処理部109は、受信パケット(P)のチェックサム値即ちチェックサム部分値(C1)に、S408で計算した可変部チェックサム値(Cb)を加算する。
【0088】
S410において、UDP/IP処理部109は、S409で計算したチェックサム計算結果が0(OK)であるか否かを確認する。0(OK)である場合(Y)は、S412に進み、それ以外(NG)の場合(N)は、S411に進む。S411において、UDP/IP処理部109は、受信パケット(P)のユーザデータ(D)を破棄し、受信処理を終了する。
【0089】
S412において、UDP/IP処理部109は、セッション情報テーブルからセッション識別子(SIv)に関連するアプリケーション識別子(AID)を取り出し、対応するUDP/IPアプリケーション110にユーザデータ(D)を渡し、受信処理を終了する。
【0090】
<効果>
本実施の形態による主な効果としては以下である。従来技術では、圧縮ヘッダを含むパケットを受信した際には、そのパケットのヘッダをフルヘッダ(一例として疑似UDP/IPヘッダ601)に展開し、プロトコル処理を行っている。また、圧縮ヘッダを含むパケットを送信する場合も同様にフルヘッダを処理している。そのため、圧縮ヘッダを処理する際には、セッション情報テーブルから必要な情報を取り出し、フルヘッダを構成するためのデータコピーや、フルヘッダの格納のためのメモリ空間が必要であった。
【0091】
これに対し、本通信装置101では、圧縮ヘッダ(H2)を含むヘッダ圧縮パケット(P)を送受信する際、本装置内の各処理部がセッション情報記憶部106のセッション情報テーブルから必要な情報のみを取り出すことで、フルヘッダ(H1)に相当する疑似UDP/IPヘッダ601に展開(構成)する必要は無い。また、チェックサム計算(誤り検出処理)においても、疑似UDP/IPヘッダ601の固定部情報に対する固定部チェックサム値(Ca)をセッション情報テーブルに格納することで、チェックサム計算時の加算回数を削減する。これにより、同じ通信相手、即ち過去に通信しセッション情報テーブルにセッション情報(S)が格納されている相手と通信する際のチェックサム計算処理を軽減している。
【0092】
従って、本通信装置101及び方法では、圧縮ヘッダ(H2)を含むパケット(P)を送受信する際の送受信処理を軽減して処理時間の短縮及び処理速度を向上することができ、本通信装置101に具備する必要なメモリ(ワークメモリやセッション情報記憶部106を含む)が少なくて済む。
【0093】
<変形例>
図5,図6において、上述した一実施の形態(第1の構成)のヘッダ圧縮パケット処理装置(通信装置101)の別の構成(変形例)を示している。これらは、セッション情報記憶部106の位置が異なる。これらの構成における、各処理部の機能やヘッダ圧縮パケット(P)の送受信処理の動作等は同様である。
【0094】
図5において、第2の構成における通信装置101Bは、ヘッダ圧縮パケット処理部102B、UDP/IPプロトコル処理部103B、アプリケーション処理部104を有し、ヘッダ圧縮パケット処理部102Bではなく、UDP/IPプロトコル処理部103B内に、セッション情報記憶部106Bを有する。例えば、圧縮ヘッダ処理部105は、UDP/IPプロトコル処理部103B内のセッション情報記憶部106Bにアクセスして情報を読み書きする。
【0095】
図6において、第3の構成における通信装置101Cは、ヘッダ圧縮パケット処理部102C、UDP/IPプロトコル処理部103C、アプリケーション処理部104を有し、ヘッダ圧縮パケット処理部102C及びUDP/IPプロトコル処理部103Cの外に、セッション情報記憶部106Cを有する。例えば、圧縮ヘッダ処理部105やUDP/IP処理部109は、通信装置101内にあるセッション情報記憶部106Bにアクセスして情報を読み書きする。
【0096】
<その他>
上記の他に可能な構成などについて説明する。他の構成として、ヘッダ圧縮パケット(P)の送信・受信の処理の一方の機能のみを備える装置構成も可能である。
【0097】
また、例えば圧縮ヘッダ処理部105に、処理対象パケットについて圧縮ヘッダ(H2)かフルヘッダ(H1)かを判断する機能、及び対応するフルヘッダ処理部を追加した構成にすれば、圧縮ヘッダ(H2)だけでなくフルヘッダ(H1)の送受信等の処理も合わせて可能となる。
【0098】
また、本構成で適用可能な圧縮ヘッダ形式としては、6LoWPANに限定されない。また、本構成で適用可能な通信プロトコルとしては、UDP/IPに限定されず、例えばTCP/IP等も可能である。
【0099】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることは言うまでもない。
【産業上の利用可能性】
【0100】
本発明は、例えば無線通信システムにおけるパケットデータ通信を行う装置などに利用可能である。
【図面の簡単な説明】
【0101】
【図1】本発明の一実施の形態におけるヘッダ圧縮パケット通信装置の構成を示す図である。
【図2】本発明の一実施の形態のヘッダ圧縮パケット通信装置において、主要部(ヘッダ圧縮パケット処理部及びUDP/IPプロトコル処理部)の詳細構成を示す図である。
【図3】本発明の一実施の形態のヘッダ圧縮パケット通信装置において、ユーザデータ送信処理(ヘッダ圧縮パケット送信処理)の動作フローを示す図である。
【図4】本発明の一実施の形態のヘッダ圧縮パケット通信装置において、ヘッダ圧縮パケット受信処理(ユーザデータ受信処理)の動作フローを示す図である。
【図5】本発明の一実施の形態のヘッダ圧縮パケット通信装置において、ヘッダ圧縮パケット通信装置の別の構成(その1)を示す図である。
【図6】本発明の一実施の形態のヘッダ圧縮パケット通信装置において、ヘッダ圧縮パケット通信装置の別の構成(その2)を示す図である。
【図7】従来技術例である、及び本発明の一実施の形態で扱う、6LoWPANにおける圧縮ヘッダ(6LoWPAN圧縮ヘッダ)の構成を示す図である。
【図8】従来技術例である、及び本発明の一実施の形態で参照する、UDP/IPv6フルヘッダ及びその圧縮ヘッダの構成を示す図である。
【図9】従来技術例である、及び本発明の一実施の形態で参照する、疑似UDP/IPヘッダの構成を示す図である。
【図10】従来技術例における、ヘッダ圧縮パケット受信装置の構成を示す図である。
【図11】従来技術例における、ヘッダ圧縮パケット受信装置の詳細構成を示す図である。
【符号の説明】
【0102】
101,101B,101C…ヘッダ圧縮パケット通信装置(ヘッダ圧縮パケット処理装置)、102,102B,102C…ヘッダ圧縮パケット処理部、103,103B,103C…UDP/IPプロトコル処理部、104…アプリケーション処理部、105…圧縮ヘッダ処理部、106,106B,106C…セッション情報記憶部、107…チェックサム部分値加算部、108…チェックサム計算部、109…UDP/IP処理部、110(110−1,110−2,110−3)…アプリケーション(UDP/IPアプリケーション)、401…6LoWPAN圧縮ヘッダ、402…圧縮ヘッダ符号、403…圧縮IPv6ヘッダ、404…圧縮UDPヘッダ、405…情報、406…情報、407…情報、501…UDP/IPv6フルヘッダ、502…圧縮ヘッダ(UDP/IPv6圧縮ヘッダ)、503…IPv6ヘッダ、504…UDPヘッダ、505…CID(コンテキスト識別子)、601…疑似UDP/IPヘッダ、602…疑似IPヘッダ、603…UDPヘッダ、901…ヘッダ圧縮パケット受信装置、902…PPPフレーム受信部、903…圧縮ヘッダ受信処理部、904…UDP/IP受信処理部、905…疑似UDP受信処理部、906…セッション情報記憶部、907…ユーザデータ出力部、908…UDP/IPアプリケーション、1001…フルヘッダ受信部、1002…圧縮ヘッダ受信部、1003…コンテキスト情報記憶部、1004…IP受信処理部、1005…UDP受信処理部、1006,1007…チェックサム確認部、1008…疑似UDP/IPヘッダ生成部。
【技術分野】
【0001】
本発明は、ネットワーク等の通信システムにおけるデータ送受信に関し、特に、ヘッダ圧縮技術を用いたパケット処理に関する。
【背景技術】
【0002】
近年、ビルや家庭内の空調機器、照明機器、センサ等の制御系機器などの機器に対して、ネットワークを利用した高機能化と、その応用サービス・システムのニーズが高まっている。例えば、人感センサや温湿度センサが周辺情報を空調機器や照明機器に伝送し、電源のオン・オフや設定温度・照度の調整を自動で行う遠隔制御機能などである。
【0003】
このようにネットワークを介して情報を伝送する場合、対象となる情報・データ(ユーザデータと称する)に、送信元や受信先を特定するための情報などを示すヘッダを付加し、パケット化して伝送する方法が主流となっている。例えば、IP(Internet Protocol)ネットワーク上でパケットを伝送する際には、IPが通信プロトコルとして利用される。IPのヘッダは、IPv4の場合は20バイト、IPv6の場合は40バイトのデータ量である。
【0004】
これらヘッダのデータ量は、ユーザデータのデータ量にかかわらず一定であるため、ユーザデータのデータ量が少ない場合は、パケットの大部分をヘッダが占めることとなる。特に上述の制御系機器の遠隔制御では、概してユーザデータのデータ量は少ない。
【0005】
パケットのヘッダは、本来送受信の対象であるユーザデータではないため、ヘッダの占める割合が大きくなることは好ましいことではない。このため、ヘッダ本来の情報(フルヘッダ)のうち、固定的な情報を除いて構成(作成)した新たなヘッダである圧縮ヘッダを利用して、伝送データ量を少なくする方法が適用されることも多い。
【0006】
ヘッダ圧縮の方式には、IETF(Internet Engineering Task Force)で規定された複数の種類が存在する。例えば、プロトコルセットとしてTCP/UDP/IP、RTP/UDP/IPを対象としたIPヘッダ圧縮(非特許文献1)や、低消費電力ネットワーク上でIPv6パケットを伝送する規格である6LoWPAN(IPv6 over Low Power WPAN)で利用される方式(非特許文献2)等である。
【0007】
6LoWPANのパケット処理では、UDP/IPv6の60バイトのヘッダを、最小で8バイトにまで圧縮することが可能である(図7)。
【0008】
また、非特許文献1の圧縮ヘッダ(IPヘッダ圧縮)を用いる手法(第1の技術とする)では、パケット(ユーザデータ)に対し、通常(圧縮ヘッダ無し)の形式のヘッダとほぼ同様の構成であるフルヘッダを散発的に付加し、それ以外の大部分のパケット(ユーザデータ)に対しては圧縮ヘッダを付加する。これにより、UDP/IPv6の60バイトのヘッダを最小で4バイトにまで圧縮でき、伝送する情報量を減少する(図8)。
【0009】
また、非特許文献1のヘッダ圧縮パケットを処理する技術に対応する一構成例として、特開2005−252855号公報(特許文献1)に開示されているものがある。
【特許文献1】特開2005−252855号公報
【非特許文献1】“IP Header Compression(RFC 2507)”、M. Degermark, B. Nordgren and S. Pink、IETF、February,1999
【非特許文献2】“Transmission of IPv6 Packets over IEEE 802.15.4 Networks draft-ietf-6lowpan-format-04(work in progress)”、G. Montenegro and N. Kushalnagar、IETF、August, 2006
【発明の開示】
【発明が解決しようとする課題】
【0010】
前記第1の技術のような従来技術では、ヘッダ圧縮パケットの送受信において、圧縮ヘッダをフルヘッダに展開(再構成)してチェックサム計算等のプロトコル処理を行うので、データコピー等が発生し、その分メモリを消費し、処理効率が良くない、という問題がある。これは詳しくは以下である。
【0011】
前記従来の構成(第1の技術)では、圧縮ヘッダの中にCID(Context Identifier:コンテキスト識別子)情報が格納されており(図8)、その情報をもとに、散発的に伝送されるフルヘッダとの関連付けを行っている。また、ヘッダ圧縮パケットを受信した際、圧縮ヘッダ中の情報であるCIDと、セッション情報記憶部に格納されている、該当CIDに関連付けられた該当セッション情報とを利用して、通常の形式(圧縮しない形式)のフルヘッダ(第1の技術では疑似UDP/IPヘッダ)を一旦構成し、チェックサム計算(誤り検出)等のプロトコル処理(ネットワークプロトコル処理)を行っている。そのため、セッション情報記憶部に格納されている該当セッション情報を、フルヘッダを構成(展開)するためのメモリ空間へデータコピーしなければならない。また、ヘッダ圧縮パケットを送信する際も、上記受信の際と同様に、フルヘッダの構成のためのデータコピーが発生する。上記フルヘッダの構成及びデータコピーのために、ワーキングメモリが必要になる。また、伝送される大部分のパケットが圧縮ヘッダであり、その圧縮ヘッダを送受信する度に前記データコピーが発生する。そのため、パケット処理装置内のプロトコル処理効率が良くない。換言すれば、パケット処理時間が長くなり、通信処理速度が低減する。
【0012】
本発明は以上のような問題に鑑みてなされたものであり、その目的は、上記のような問題を解決し、圧縮ヘッダのパケットを処理する方法及び装置における、処理効率向上及びメモリ削減を実現できる技術を提供することにある。
【課題を解決するための手段】
【0013】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次のとおりである。前記目的を達成するために、本発明は、通信システムにおける、フルヘッダの代わりにフルヘッダよりもデータ量が少なくなるように圧縮(省略)構成されたヘッダ情報(圧縮ヘッダ)が付加されたデータ(ユーザデータ)からなるパケットデータ(ヘッダ圧縮パケット)を送受信処理する方法及び装置であって、以下の構成を特徴とする。
【0014】
本ヘッダ圧縮パケット処理方法は、ネットワーク等に対してヘッダ圧縮パケットを送受信する処理(ヘッダ圧縮パケット処理)、及び、トランスポート層及びネットワーク層に対応のプロトコル処理の工程を有して構成される。また、本ヘッダ圧縮パケット処理装置は、ネットワーク等に対してヘッダ圧縮パケットを送受信する処理(ヘッダ圧縮パケット処理)、及び、トランスポート層及びネットワーク層に対応のプロトコル処理の手段を有して構成される。またその他、上位のアプリケーション処理などの手段(工程)を備えてもよい。また、本装置内のいずれかの箇所には、セッション情報及びその他関連情報のテーブルを格納するセッション情報記憶手段(メモリ)を設ける。本装置内の各処理手段(工程)が、セッション情報記憶手段のテーブルの情報を共用する構成である。
【0015】
セッション情報記憶手段のテーブルには、通信相手を特定するアドレス情報等を含む、通信相手とのセッション情報(換言すれば複数のパケットの送受信のフローに係わる情報)が格納される。なおその格納の際にセッション情報を作成することは条件ではなく、外部からセッション情報が与えられてもよい。セッション情報は、そのセッション情報を識別する情報(セッション識別子)を含むまたは関連付けされる。また、本テーブルのセッション情報に対し、ユーザデータを授受するアプリケーション(上位の処理部)を識別する情報(アプリケーション識別子)などが関連付けまたは含まれる。本装置内の各処理部が、セッション識別子などを用いて、テーブルの情報を共用する。
【0016】
加えて、本テーブルには、チェックサム計算等の誤り検出処理の部分値(処理途中値であり最終的な計算値とは異なる)である、固定部チェックサム値(第1の計算値)を格納する。固定部チェックサム値は、フルヘッダのうちの固定部情報から計算される。フルヘッダのうちの固定部情報は、圧縮ヘッダではほぼ省略される可能性が高い情報である。これに対し、同様の処理の部分値である、可変部チェックサム値(第2の計算値)は、フルヘッダのうちの可変部情報から計算される。
【0017】
本構成により、送受信パケットがヘッダ圧縮パケットである場合、本装置内の各処理部が自身の処理を行う際に、セッション情報記憶手段から、圧縮ヘッダに対応する該当セッション情報を入手して利用できる。また、フルヘッダには含まれるが圧縮ヘッダでは省略される情報に関しても、フルヘッダ相当の情報に対するチェックサム計算(誤り検出処理)を行うことができる。よって、本処理方法及び装置では、ヘッダ圧縮パケットのみの伝送であっても、パケット送受信及びプロトコル処理を遂行できる。
【0018】
本処理方法及び装置では、ヘッダ圧縮パケットを或る通信相手に初めて送信する際には、対応するセッション情報を、セッション情報記憶手段のテーブルに格納する。圧縮ヘッダを構成する際は、このテーブルから必要な情報のみを取り出して利用する。また、既にテーブル内に情報として存在する通信相手に対しヘッダ圧縮パケットを送信する際には、引き続きそのテーブル内の該当セッション情報を利用する。
【0019】
ヘッダ圧縮パケットを受信した際は、そのパケットの圧縮ヘッダに格納されている情報と、セッション情報記憶手段のテーブル内の該当セッション情報とを比較する。既にテーブル内に該当セッション情報が存在する場合、そのセッション情報の識別子を本装置内の各処理部で受け渡し、該当セッション情報が存在しない場合、テーブル内に新たにセッション情報を格納し、そのセッション情報の識別子を本装置内の各処理部で受け渡す。このように、テーブル内の情報を装置内の各処理部で共用することにより、各処理部が必要なときに必要な情報のみを利用することができる。
【0020】
また、本処理装置及び方法では、フルヘッダ(一例として疑似UDP/IPヘッダ)内の固定部情報に対する部分的なチェックサム計算を予め行い、その結果である固定部チェックサム値(第1の計算値)をセッション情報記憶手段のテーブルに格納しておく(新たな通信相手に初めてパケットを送信する際など)。フルヘッダに含まれる固定部情報は、ほぼ省略されて圧縮ヘッダには含まれない場合が多いが(例えば6LoWPAN)、圧縮ヘッダのチェックサム計算を行う際に、テーブルに格納してある第1の計算値を利用することにより、わざわざ疑似ヘッダ(フルヘッダ)を構成することなく、第1と第2の計算値を合わせることでチェックサム計算を行うことができる。上記構成により、圧縮ヘッダをフルヘッダに一切展開することなく、チェックサム計算等のプロトコル処理を含むパケット処理を行うことができる。
【0021】
本ヘッダ圧縮パケット処理方法は、例えば以下の構成である。本処理方法では、ヘッダ圧縮パケットの送受信に関する誤り検出処理として、フルヘッダのうちの、固定部情報についての第1の計算値と、可変部情報についての第2の計算値とを計算処理し、第1の計算値をセッション情報記憶手段に格納し、第2の計算値を含んだ圧縮ヘッダをユーザデータに付加したヘッダ圧縮パケットを構成(作成)する。そして、ヘッダ圧縮パケットの送受信の際、圧縮ヘッダに含まれる第2の計算値とセッション情報記憶手段の第1の計算値とを用いて誤り検出処理を行う。また、第1と第2の計算値を時間的に別のタイミングで計算し、後でそれら両者を加算等することにより、誤り検出処理の計算値を得る。ヘッダ圧縮パケットの送受信の際に、計算処理した第2の計算値と、セッション情報記憶手段に格納されている第1の計算値とを用いて、誤り検出処理の計算値を得る。
【0022】
また、本ヘッダ圧縮パケット処理装置は、例えば以下の構成である。本処理装置は、セッション情報記憶手段と、ヘッダ圧縮パケットの送受信に関する誤り検出処理では、第1の計算値と第2の計算値とを計算処理し、第1の計算値をセッション情報記憶手段のセッション情報に含んで格納し、第2の計算値を含んだ圧縮ヘッダをユーザデータに付加したヘッダ圧縮パケットを構成し、ヘッダ圧縮パケットの送受信の際、圧縮ヘッダに含まれる第2の計算値とセッション情報記憶手段の第1の計算値とを用いて誤り検出処理を行うことを含む、ヘッダ圧縮パケット処理及びプロトコル処理を行う手段とを有する。
【0023】
また、ヘッダ圧縮パケット処理及びプロトコル処理を行う手段は、ヘッダ圧縮パケットを送信する際に、セッション情報をもとに圧縮ヘッダを構成する処理と、ヘッダ圧縮パケットを受信する際に、受信したヘッダ圧縮パケットの圧縮ヘッダとセッション情報記憶手段に格納されているセッション情報とをもとに圧縮ヘッダの情報を解釈する処理と、を行う圧縮ヘッダ処理手段(105)と、フルヘッダのうちの誤り検出処理の第1の計算値と第2の計算値とを用いて誤り検出処理の部分値を計算する部分値計算手段(107)と、誤り検出処理の第2の計算値を計算する処理(108)と、ヘッダ圧縮パケットを送信する際に、ユーザデータを送受信するアプリケーションの識別情報と、セッション情報記憶手段に格納されているセッション情報とを比較し、セッション情報の識別情報を抽出し、ヘッダ圧縮パケットを受信した際に、セッション情報の識別情報及びアプリケーションの識別情報に関連付けられたアプリケーションにユーザデータを受け渡す処理(109)と、を行うネットワーク層及びトランスポート層のプロトコル処理手段とを有する。
【発明の効果】
【0024】
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下のとおりである。本発明によれば、圧縮ヘッダのパケットを処理する方法及び装置における、処理効率向上及びメモリ削減を実現できる。特に、圧縮ヘッダからフルヘッダを構成(展開)する必要なくプロトコル処理を行うので、パケット処理時間が短く通信処理速度を向上でき、またデータコピーに必要なメモリが不要になる。
【発明を実施するための最良の形態】
【0025】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一部には原則として同一符号を付し、その繰り返しの説明は省略する。
【0026】
<従来技術例>
以下、図7〜図11を用いて、本発明及び実施の形態を従来技術と比較してわかりやすく説明するために、ヘッダ圧縮形式や装置構成例などに係わる各従来技術について簡単に説明する。
【0027】
<ヘッダ圧縮(6LoWPAN)>
図7を用いて、フルヘッダ及び圧縮ヘッダの一例として、6LoWPANの場合を説明する。図7において、6LoWPAN圧縮ヘッダ401は、圧縮ヘッダ符号402、圧縮IPv6ヘッダ403、圧縮UDPヘッダ404から構成されている。
【0028】
圧縮ヘッダ符号402は、6LoWPANにおけるフルヘッダ(UDP/IPv6フルヘッダ(図8の501)に対応する)に含まれる情報(例として、情報406、情報407)から省略せずに圧縮ヘッダ部(403,404)に格納する情報を示す、2バイトの情報405である。圧縮ヘッダ符号402の情報405は、IPv6ヘッダ(図8の503)の圧縮情報(圧縮ヘッダに格納する情報)を示す符号:HC1と、UDPヘッダ(図8の504)の圧縮情報を示す符号:HC2とから構成される。情報406は、図8のIPv6ヘッダ503のうちの一部、情報407は、図8のUDPヘッダ504のうちの一部である。
【0029】
圧縮IPv6ヘッダ403は、IPv6におけるホップ数、送信元アドレス、受信先アドレス、トラフィッククラス、フローラベル、及び次ヘッダの39バイトの情報406をもとに構成される。実際のパケットの圧縮IPv6ヘッダ403には、これらの情報406の中から前記HC1で指定されたもののみを含む、2〜39バイトの可変長の情報である。
【0030】
圧縮UDPヘッダ404は、UDPにおける送信元ポート番号、受信先ポート番号、データ長、及びチェックサムの8バイトの情報407をもとに構成される。実際のパケットの圧縮UDPヘッダ404には、これらの情報407の中から前記HC2で指定されたもののみを含む、4〜8バイトの可変長の情報である。
【0031】
これらの構成により、6LoWPANのパケット処理では、UDP/IPv6の60バイトのヘッダ(図8の501)を、6LoWPAN圧縮ヘッダ401のように最小で8バイト(2+2+4=8バイト)にまで圧縮することが可能である。
【0032】
なお、圧縮IPv6ヘッダ403及び圧縮UDPヘッダ404の中で、圧縮ヘッダ符号402で指定されない情報、即ちフルヘッダに対して圧縮(省略)により欠落した情報であっても、それらは不変的な情報や他の情報から導出可能なものであるため、フルヘッダに完全に復元可能である。
【0033】
なお、6LoWPAN自体は、フルヘッダと圧縮ヘッダの両方の処理が可能であるが、本実施の形態では、6LoWPANにおける圧縮ヘッダを扱う。
【0034】
<ヘッダ圧縮(UDP/IP)>
図8を用いて、RFC2507(非特許文献1)におけるUDP/IPv6フルヘッダ501及びその圧縮ヘッダ502の構成を説明する。UDP/IPv6フルヘッダ501は、RFC2460で規定されているIPv6ヘッダ503とUDPヘッダ504とを組み合わせて成るものである。
【0035】
UDP/IPv6フルヘッダ501におけるレングス(レングス#1,#2)部分に、CID(Context Identifier:コンテキスト識別子)505含む情報が書き込まれるものである(図示していない)。なお、レングス#1,#2は、通常(圧縮ヘッダ無し)のヘッダ形式のUDP/IPv6ヘッダの場合では、ペイロード長及びデータグラム長がそれぞれ書き込まれる部分であり、CID505は書き込まれない。CID505は、従来技術として、フローを特定するための識別情報、換言すればフルヘッダを特定するための識別情報である。なお、レングス#1,#2内のCID505と、圧縮ヘッダ502内のCID505とで対応付け可能である。
【0036】
圧縮ヘッダ502は、通常(圧縮ヘッダ無し)のUDP/IPv6ヘッダを構成する情報のうち、可変的な部分であるチェックサムとCID505とを含む情報から構成されるものである。
【0037】
前記RFC2507(非特許文献1)の圧縮ヘッダを用いる手法(第1の技術)では、通常(圧縮ヘッダ無し)の形式とほぼ同様の構成であるフルヘッダを散発的に付加し、それ以外の大部分のパケットに対しては圧縮ヘッダを付加する。これにより、UDP/IPv6の60バイトのヘッダを最小で4バイトにまで圧縮でき、伝送する情報・データ量を減少する。
【0038】
なお、公知技術であるチェックサム(チェックサム計算)は、データ送受信における誤り検出方法の1つである。即ち、送信側では、対象データの各ブロックの数値の合計などをとり、それ(チェックサム値)を対象データに付加して送信する。受信側では、受信データから同様にチェックサム値を計算し、それと受信チェックサム値とが一致するかどうかを検査する。両者が異なる場合、伝送路で対象データに誤りが生じていることになる。
【0039】
<疑似UDP/IPヘッダ>
図9において、後述の従来技術例の処理に係わる、疑似UDP/IPヘッダ601の構成を示している。疑似UDP/IPヘッダ601は、疑似IPヘッダ602とUDPヘッダ603から構成される。疑似UDP/IPヘッダ601及びユーザデータを16ビットずつ加算して得られる総和の1の補数が、チェックサム値である。疑似UDP/IPヘッダ601は、ネットワーク上での伝送は行われず、チェックサム計算処理のために構成される。疑似IPヘッダ602は、チェックサム計算処理に必要な情報のみで構成される。なお、疑似ヘッダとは、当該情報をネットワークで伝送しないことからそのように呼称している。
【0040】
<ヘッダ圧縮パケット処理装置例>
図10,図11を用いて、前記特許文献1記載の従来技術例であるヘッダ圧縮パケット処理及び装置について簡単に説明する。図10,図11に示す構成例は、図8のパケット及びヘッダ構成を処理する一例となっている。これら構成は、ヘッダ圧縮パケットの受信処理の場合を示している。
【0041】
図10における本従来技術例のヘッダ圧縮パケット処理装置(ヘッダ圧縮パケット受信装置901)の概略構成を示している。ヘッダ圧縮パケット受信装置901は、PPPフレーム受信部902、圧縮ヘッダ受信処理部903、UDP/IP受信処理部904、疑似UDP受信処理部905、セッション情報記憶部906、及びユーザデータ出力部907から構成されている。ユーザデータ出力部907から、それぞれのUDP/IPアプリケーション908に対して出力する。
【0042】
図11の詳細構成において、圧縮ヘッダ受信処理部903は、フルヘッダ受信部1001、圧縮ヘッダ受信部1002、及びコンテキスト情報記憶部1003から構成されている。UDP/IP受信処理部904は、IP受信処理部1004、及びUDP受信処理部1005から構成されている。疑似UDP受信処理部905は、チェックサム確認部1007、及び疑似UDP/IPヘッダ生成部1008から構成されている。
【0043】
PPPフレーム受信部902は、外部装置から送信されてきたPPPフレームを受信し、その中に含まれるPPPヘッダを解析する。
【0044】
圧縮ヘッダ受信処理部903は、ユーザデータに付加されているヘッダが、フルヘッダであるか圧縮ヘッダであるかを判断・区分して、後段の処理部でそれぞれに対し異なる処理を行わせる。
【0045】
UDP/IP受信処理部904は、フルヘッダ即ち通常のUDP/IPヘッダが付加されているパケット(UDP/IPパケット)を処理(UDP/IP受信処理)し、当該パケットに対応するアプリケーション(908)を選定する。
【0046】
疑似UDP受信処理部905は、圧縮ヘッダ(CIDとチェックサムを含む)と、セッション情報記憶部906に格納されているセッション情報とから、図9の疑似UDP/IPヘッダ601を生成して受信処理(疑似UDP受信処理)を行い、当該パケットに対応するアプリケーション(908)を選定する。
【0047】
セッション情報記憶部906は、IPアドレスとUDPポート番号との組み合わせに対応するセッション情報、及び対応するアプリケーションを識別する情報(アプリケーション識別子:AIDとする)を記憶する。
【0048】
ユーザデータ出力部907は、受信したユーザデータを、指定されたUDP/IPアプリケーション908へと出力する。
【0049】
次に、本従来技術例のパケット受信時の動作の概略を説明する。パケットを受信した際には、PPPフレーム受信部902が、これに付加されているヘッダが圧縮ヘッダであるかフルヘッダであるかを判断する。フルヘッダが付加されているユーザデータについては、フルヘッダ受信部1001に渡す。フルヘッダ受信部1001では、そのフルヘッダに含まれる情報と、セッション情報を特定するための識別情報(セッション識別子:SIDとする)とを比較して、そのフルヘッダが付加されているユーザデータの受け渡し先となるアプリケーション(908)を選択する。この際、チェックサム確認部1006において、そのヘッダ中のチェックサムを確認(計算)し、受信したパケットに誤りが無いかを検査する。そのチェックサム計算の結果、異常が無ければ、UDP/IP受信処理部904は、ユーザデータ出力部907に、ユーザデータとアプリケーション識別子(AID)とを渡す。それと共に、コンテキスト情報記憶部1003に、セッション識別子(SID)と、フルヘッダ中のコンテキスト識別子(CID)とを、関連付けて記憶する。
【0050】
一方、圧縮ヘッダが付加されている際には、PPPフレーム受信部902は、そのパケットを、圧縮ヘッダ受信部1002に渡す。圧縮ヘッダ受信部1002では、圧縮ヘッダからCIDを抽出し、そのCIDに関連付けられたSIDを、コンテキスト情報記憶部1003から読み出す。そして、読み出したSIDに対応したセッション情報に基づいて、一旦、疑似UDP/IPヘッダ601を生成し、そのSID及び疑似UDP/IPヘッダ601を、疑似UDP受信処理部905に渡す。疑似UDP受信処理部905(チェックサム確認部1007)では、フルヘッダの場合と同様にチェックサムの計算を行い、異常が無ければ、そのセッション情報に基づいて圧縮ヘッダが付加されていたユーザデータを受け渡すアプリケーション(908)を決定し、ユーザデータ出力部907にそのユーザデータ及びAIDを渡す。このような構成例により、圧縮ヘッダが付加されたパケットの処理が可能である。
【0051】
<問題点等>
しかしながら、上述した従来技術は、本実施の形態の技術と、ヘッダ圧縮パケットを処理する点で共通するが、フルヘッダを処理する点などで異なる。前記従来の構成(第1の技術)では、圧縮ヘッダの中にCID情報が格納されており(図8)、その情報をもとに、散発的に伝送されるフルヘッダとの関連付けを行っていた。しかしながら、6LoWPANのように、パケットに付加される全てのヘッダが圧縮ヘッダであるような場合、前記第1の技術のようにフルヘッダを処理する装置構成はそもそも不要である。
【0052】
また、前記第1の技術では、ヘッダ圧縮パケットを受信した際、圧縮ヘッダ中の情報であるCIDと、セッション情報記憶部に格納されている、該当CIDに関連付けられた該当セッション情報とを利用して、通常の形式(圧縮しない形式)のフルヘッダ(第1の技術では疑似UDP/IPヘッダ601)を一旦構成し、チェックサム計算等のプロトコル処理を行う。そのため、セッション情報記憶部に格納されている該当セッション情報を、フルヘッダを構成するためのメモリ空間へデータコピーしなければならない。また、ヘッダ圧縮パケットを送信する際も、セッション情報からフルヘッダを構成し、チェックサム計算等を行い、圧縮ヘッダを構成して送信するので、上記ヘッダ圧縮パケット受信の際と同様のデータコピーが発生していた。フルヘッダの構成(展開)及びデータコピーのためには、ワーキングメモリが必要になる。
【0053】
また、前記第1の技術では、伝送される大部分のパケットが圧縮ヘッダであり、その圧縮ヘッダを送受信する度に前記データコピーが発生する。そのため、パケット処理装置内のプロトコル処理効率が良くない。換言すれば、パケット処理時間が長くなり、通信処理速度が低減する。
【0054】
<実施の形態>
上述した技術を踏まえ、図1〜図6、並びに前記従来技術例と共通の図7〜図9を用いて、本発明の一実施の形態におけるヘッダ圧縮パケット処理方法及びその方法を用いるヘッダ圧縮パケット処理装置を説明する。本方法及び装置では、特徴として、6LoWPANにおけるパケット(ヘッダ圧縮パケット)の送受信(送信・受信の両方)の機能を備える構成において、本装置内の各処理部で、固定部チェックサム値を含ませたセッション情報を共用する。そして、各パケットの送受信の際のプロトコル処理では、可変部チェックサム値を計算し、固定部チェックサム値と加算することで、チェックサム値を取得する。これにより、圧縮ヘッダを一切フルヘッダに展開することなく、ヘッダ圧縮パケットの送受信処理が実現される。
【0055】
<概略構成>
図1において、本実施の形態のヘッダ圧縮パケット処理装置であるヘッダ圧縮パケット通信装置(通信装置と略称する)101の概略構成を示している。通信装置101は、主に、ヘッダ圧縮パケット処理部102、UDP/IPプロトコル処理部103、及びアプリケーション処理部104から構成されている。
【0056】
ヘッダ圧縮パケット処理部102は、圧縮ヘッダ処理部105、セッション情報記憶部106、及びチェックサム部分値加算部107から構成されている。UDP/IPプロトコル処理部103は、チェックサム計算部108、及びUDP/IP処理部109から構成されている。アプリケーション処理部104は、UDP/IPを利用するそれぞれのUDP/IPアプリケーション110(110−1,110−2,110−3)を含むものである。
【0057】
本通信装置101は、特徴的な部位は、ヘッダ圧縮パケット処理部102、UDP/IPプロトコル処理部103である。本通信装置101は、ソフトウェア/ハードウェア(回路ICなど)で実装構成されるが、どの部分をIC化するか等、実装詳細は各種可能である。また、各処理部は、分けずに1つの処理部として構成することもできる。また、各処理部内には、圧縮ヘッダの処理に必要な分のワークメモリ(図示しない)等も有する。
【0058】
セッション情報記憶部106には、図2のようなセッション情報(セッション情報テーブル)が格納される。なお、圧縮ヘッダ処理部105、UDP/IP処理部109等では、必要に応じてセッション情報を作成することが可能である。
【0059】
UDP/IPプロトコル処理部103は、トランスポート層/ネットワーク層処理部に相当する。ヘッダ圧縮パケット処理部102は、上位のUDP/IPプロトコル処理部103(トランスポート層/ネットワーク層処理部)と下位の図示しない物理/MAC層との間に設ける適応部(アダプタ)である。
【0060】
なお、説明の必要に応じて、P:パケット(ヘッダ圧縮パケット)、D:ユーザデータ、H1:フルヘッダ、H2:圧縮ヘッダ、S:セッション情報、C:チェックサム値などとして表す。
【0061】
<詳細構成>
次に、図2において、通信装置101の詳細構成を示している。特にパケット処理例における各処理部間のデータ・情報の受け渡しも示している。圧縮ヘッダ処理部105は、ネットワークからパケット(P)を受信し、あるいはネットワークへとパケット(P)を送信する、処理部位である。圧縮ヘッダ処理部105は、パケット(P)を送信する際には、セッション情報(S)をもとに、圧縮ヘッダ(H2)を構成(作成)する。また、圧縮ヘッダ処理部105は、パケット(P)を受信した際には、セッション情報(S)と、圧縮ヘッダ(H2)が付加されたパケット(P)とをもとに、圧縮ヘッダ(H2)の情報を解釈する。
【0062】
セッション情報記憶部106のセッション情報テーブルには、セッション情報(S)、更にそれに対応付けされるアプリケーション識別子(AID)等の情報を格納する。本例では、セッション情報(S)としては、セッション識別子(SID)(当該セッション情報(S)内に含む)、送信元IPアドレス(A1)、受信先IPアドレス(A2)、送信元UDPポート番号(n1)、受信先UDPポート番号(n2)、及び、固定部チェックサム値(Ca)から構成される。本セッション情報テーブル内には、従来技術例で用いるCIDは不要である。なお、本セッション情報テーブルのデータ構造は、図2に示すものに限定されるものではない。
【0063】
セッション情報記憶部106では、パケット(P)を送信する際には、UDP/IP処理部109から受け取ったセッション情報(S)がセッション情報テーブルに記憶され、パケット(P)を受信した際には、圧縮ヘッダ処理部105から受け取ったセッション情報(S)がセッション情報テーブルに記憶される。
【0064】
チェックサム部分値加算部107は、パケット(P)を送信する際には、UDP/IP処理部109から受け取ったチェックサム値(C)に、セッション情報記憶部106から受け取ったチェックサム部分値(C1)を加算し、パケット(P)を受信した際には、圧縮ヘッダ処理部105から受け取ったチェックサム値(C)に、セッション情報記憶部106から受け取ったチェックサム部分値(C1)を加算する、処理部位である。
【0065】
チェックサム計算部108は、チェックサム計算の対象となるデータ(チェックサム計算対象データ:C2)を、UDP/IP処理部109から受け取り、チェックサム計算し、チェックサム計算結果(C3)を返答する。
【0066】
UDP/IP処理部109は、パケット(P)の送受信の際に、チェックサム計算やアプリケーション判断などのプロトコル処理を行い、対応するUDP/IPアプリケーション110とユーザデータ(D)の受け渡しを行う処理部位である。
【0067】
セッション情報(S)は、アドレス(A1,A2)やポート番号(n1,n2)を主にして、加えて、固定部チェックサム値(Ca)が含まれる。固定部チェックサム値(Ca)は、チェックサム部分値、即ち、パケット(P)のチェックサム処理の部分的な処理途中の計算値である。更に、これらのセッション情報(S)(特に受信先UDPポート番号:n2)に対して、アプリケーション識別子(AID)が対応付けされる例である。
【0068】
従来技術では、パケットの送受信の都度、パケットの全部のデータに対してチェックサム処理を行っている。一方、本実施の形態では、フルヘッダ(H1)のうちの固定部の情報のみを予めチェックサム処理して固定部チェックサム値(Ca)としてセッション情報テーブルに格納しておき、各部で共用する。そして、パケット送受信の際は、圧縮ヘッダ(H2)に含まれる、フルヘッダ(H1)の可変部の情報を、その都度チェックサム処理し、固定部チェックサム値(Ca)と可変部チェックサム値(Cb)との両者を加算して完全なチェックサム値(C)を得るものである。
【0069】
<送信処理動作>
次に、図3,図4を用いて、本実施の形態における、圧縮ヘッダ(H2)を付加したユーザデータ(D)からなるヘッダ圧縮パケット(P)の送受信処理の概略動作を説明する。
【0070】
まず、図3のフローにおいて、パケット(ユーザデータ)の送信処理の動作を説明する。S301(Sは処理ステップを表す)において、UDP/IPアプリケーション110は、送信するユーザデータ(D)を、UDP/IP処理部109に渡す。
【0071】
S302において、UDP/IP処理部109は、UDP/IPアプリケーション110から受け取ったユーザデータ(D)、及び図9の疑似UDP/IPヘッダ601の可変部情報であるデータ長を、チェックサム計算対象データ(C2)として、チェックサム計算部108に渡す。チェックサム計算部108は、これらのデータ(C2)から、可変部チェックサム値(Cb)を計算し、その結果(C3)を、UDP/IP処理部109に返答する。
【0072】
S303において、UDP/IP処理部109は、ユーザデータ(D)を受け取ったUDP/IPアプリケーション110から判断したセッション情報(S)がセッション情報記憶部106のテーブルに既に存在しているか否かを確認する。存在している場合(Y)は、S308に進み、それ以外の場合(N)は、S304に進む。
【0073】
S304において、UDP/IP処理部109は、ユーザデータ(D)を受け取ったUDP/IPアプリケーション110から判断したセッション情報(S)をセッション情報記憶部106のテーブルに格納し、セッション識別子(SID)をセッション情報記憶部106から受け取る。
【0074】
次にS305において、UDP/IP処理部109は、セッション情報記憶部106のテーブルに、疑似UDP/IPヘッダ601の固定部情報である、送信元IPアドレス(A1)、受信先IPアドレス(A2)、送信元UDPポート番号(n1)、次ヘッダ、及び受信先UDPポート番号(n2)から計算した固定部チェックサム値(Ca)が、既に存在しているか否かを確認する。存在している場合(Y)は、S308に進み、それ以外の場合(N)は、S306に進む。
【0075】
S306において、UDP/IP処理部109は、疑似UDP/IPヘッダ601の固定部情報を、チェックサム計算対象データ(C2)としてチェックサム計算部108に渡す。チェックサム計算部108は、これらのデータ(C2)から固定部チェックサム値(Ca)を計算し、その結果(C3)を、UDP/IP処理部109に返答する。
【0076】
S307において、UDP/IP処理部109は、S306で計算した固定部チェックサム値(Ca)を、セッション識別子(SID)に関連するセッション情報テーブルに格納する。
【0077】
S308において、チェックサム部分値加算部107は、UDP/IP処理部109から、セッション識別子(SID)と可変部チェックサム値(Cb)及びユーザデータ(D)を受け取る。そして、セッション情報テーブルからセッション識別子(SID)に関連する固定部チェックサム値(Ca)を取り出し、それに可変部チェックサム値(Cb)を加算し、圧縮ヘッダ(H2)に格納するチェックサム値(C)を算出する。そして、セッション識別子(SID)、チェックサム値(C)、及びユーザデータ(D)を、圧縮ヘッダ処理部105に渡す。
【0078】
S309において、圧縮ヘッダ処理部105は、セッション識別子(SID)に関連するセッション情報(S)、チェックサム値(C)、及びユーザデータ(D)から、圧縮ヘッダ(H2)を生成し、圧縮ヘッダ(H2)を付加したユーザデータ(D)からなるヘッダ圧縮パケット(P)をネットワークへ送信する。
【0079】
<受信処理動作>
次に、図4のフローにおいて、パケット(ユーザデータ)の受信処理の動作を説明する。S401において、圧縮ヘッダ処理部105は、ネットワークから受信したヘッダ圧縮パケット(P)から、セッション情報(S)である、送信元IPアドレス(A1)、受信先IPアドレス(A2)、送信元UDPポート番号(n1)、及び受信先UDPポート番号(n2)を取り出す。
【0080】
S402において、圧縮ヘッダ処理部105は、受信したヘッダ圧縮パケット(P)のセッション情報(S)がセッション情報記憶部106のテーブルに既に存在しているか否かを確認する。存在している場合(Y)は、セッション識別子(SID)、受信したヘッダ圧縮パケット(P)内のチェックサム値(C)、及びユーザデータ(D)を、チェックサム部分値加算部107に渡し、S404に進み、それ以外の場合(N)は、S403に進む。
【0081】
S403において、圧縮ヘッダ処理部105は、受信パケット(P)のセッション情報(S)を、セッション情報記憶部106のテーブルに格納し、セッション識別子(SID)をセッション情報記憶部106から受け取り、セッション識別子(SID)、受信パケット(P)内のチェックサム値(C)、及びユーザデータ(D)を、チェックサム部分値加算部107に渡す。
【0082】
S404において、チェックサム部分値加算部107は、セッション情報記憶部106のテーブルに、疑似UDP/IPヘッダ601の固定部情報である、送信元IPアドレス(A1)、受信先IPアドレス(A2)、送信元UDPポート番号(n1)、次ヘッダ、及び受信先UDPポート番号(n2)から計算した固定部チェックサム値(Ca)が、既に存在しているか否かを確認する。存在している場合(Y)は、S407に進み、それ以外の場合(N)は、S405に進む。
【0083】
S405において、チェックサム部分値加算部107は、受信パケット(P)の疑似UDP/IPヘッダ601の固定部情報についての固定部チェックサム値(Ca)を計算する。
【0084】
S406において、チェックサム部分値加算部107は、S405で計算した固定部チェックサム値(Ca)を、セッション識別子(SID)に関連するセッション情報テーブルに格納する。
【0085】
S407において、チェックサム部分値加算部107は、受信パケット(P)のチェックサム値即ちチェックサム部分値(C1)に対し、セッション情報テーブルからセッション識別子(SID)に関連する固定部チェックサム値(Ca)を取り出し、チェックサム値部分値(C1)に加算する。そして、その加算結果であるチェックサム部分値(C1)、セッション識別子(SID)、及びユーザデータ(D)を、UDP/IP処理部109に渡す。
【0086】
S408において、UDP/IP処理部109は、疑似UDP/IPヘッダ601の可変部情報であるデータ長、及びチェックサム部分値加算部107から受け取ったユーザデータ(D)を、チェックサム計算対象データ(C2)としてチェックサム計算部108に渡す。チェックサム計算部108は、これらのデータ(C2)から可変部チェックサム値(Cb)を計算し、その結果(C3)を、UDP/IP処理部109に返答する。
【0087】
S409において、UDP/IP処理部109は、受信パケット(P)のチェックサム値即ちチェックサム部分値(C1)に、S408で計算した可変部チェックサム値(Cb)を加算する。
【0088】
S410において、UDP/IP処理部109は、S409で計算したチェックサム計算結果が0(OK)であるか否かを確認する。0(OK)である場合(Y)は、S412に進み、それ以外(NG)の場合(N)は、S411に進む。S411において、UDP/IP処理部109は、受信パケット(P)のユーザデータ(D)を破棄し、受信処理を終了する。
【0089】
S412において、UDP/IP処理部109は、セッション情報テーブルからセッション識別子(SIv)に関連するアプリケーション識別子(AID)を取り出し、対応するUDP/IPアプリケーション110にユーザデータ(D)を渡し、受信処理を終了する。
【0090】
<効果>
本実施の形態による主な効果としては以下である。従来技術では、圧縮ヘッダを含むパケットを受信した際には、そのパケットのヘッダをフルヘッダ(一例として疑似UDP/IPヘッダ601)に展開し、プロトコル処理を行っている。また、圧縮ヘッダを含むパケットを送信する場合も同様にフルヘッダを処理している。そのため、圧縮ヘッダを処理する際には、セッション情報テーブルから必要な情報を取り出し、フルヘッダを構成するためのデータコピーや、フルヘッダの格納のためのメモリ空間が必要であった。
【0091】
これに対し、本通信装置101では、圧縮ヘッダ(H2)を含むヘッダ圧縮パケット(P)を送受信する際、本装置内の各処理部がセッション情報記憶部106のセッション情報テーブルから必要な情報のみを取り出すことで、フルヘッダ(H1)に相当する疑似UDP/IPヘッダ601に展開(構成)する必要は無い。また、チェックサム計算(誤り検出処理)においても、疑似UDP/IPヘッダ601の固定部情報に対する固定部チェックサム値(Ca)をセッション情報テーブルに格納することで、チェックサム計算時の加算回数を削減する。これにより、同じ通信相手、即ち過去に通信しセッション情報テーブルにセッション情報(S)が格納されている相手と通信する際のチェックサム計算処理を軽減している。
【0092】
従って、本通信装置101及び方法では、圧縮ヘッダ(H2)を含むパケット(P)を送受信する際の送受信処理を軽減して処理時間の短縮及び処理速度を向上することができ、本通信装置101に具備する必要なメモリ(ワークメモリやセッション情報記憶部106を含む)が少なくて済む。
【0093】
<変形例>
図5,図6において、上述した一実施の形態(第1の構成)のヘッダ圧縮パケット処理装置(通信装置101)の別の構成(変形例)を示している。これらは、セッション情報記憶部106の位置が異なる。これらの構成における、各処理部の機能やヘッダ圧縮パケット(P)の送受信処理の動作等は同様である。
【0094】
図5において、第2の構成における通信装置101Bは、ヘッダ圧縮パケット処理部102B、UDP/IPプロトコル処理部103B、アプリケーション処理部104を有し、ヘッダ圧縮パケット処理部102Bではなく、UDP/IPプロトコル処理部103B内に、セッション情報記憶部106Bを有する。例えば、圧縮ヘッダ処理部105は、UDP/IPプロトコル処理部103B内のセッション情報記憶部106Bにアクセスして情報を読み書きする。
【0095】
図6において、第3の構成における通信装置101Cは、ヘッダ圧縮パケット処理部102C、UDP/IPプロトコル処理部103C、アプリケーション処理部104を有し、ヘッダ圧縮パケット処理部102C及びUDP/IPプロトコル処理部103Cの外に、セッション情報記憶部106Cを有する。例えば、圧縮ヘッダ処理部105やUDP/IP処理部109は、通信装置101内にあるセッション情報記憶部106Bにアクセスして情報を読み書きする。
【0096】
<その他>
上記の他に可能な構成などについて説明する。他の構成として、ヘッダ圧縮パケット(P)の送信・受信の処理の一方の機能のみを備える装置構成も可能である。
【0097】
また、例えば圧縮ヘッダ処理部105に、処理対象パケットについて圧縮ヘッダ(H2)かフルヘッダ(H1)かを判断する機能、及び対応するフルヘッダ処理部を追加した構成にすれば、圧縮ヘッダ(H2)だけでなくフルヘッダ(H1)の送受信等の処理も合わせて可能となる。
【0098】
また、本構成で適用可能な圧縮ヘッダ形式としては、6LoWPANに限定されない。また、本構成で適用可能な通信プロトコルとしては、UDP/IPに限定されず、例えばTCP/IP等も可能である。
【0099】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることは言うまでもない。
【産業上の利用可能性】
【0100】
本発明は、例えば無線通信システムにおけるパケットデータ通信を行う装置などに利用可能である。
【図面の簡単な説明】
【0101】
【図1】本発明の一実施の形態におけるヘッダ圧縮パケット通信装置の構成を示す図である。
【図2】本発明の一実施の形態のヘッダ圧縮パケット通信装置において、主要部(ヘッダ圧縮パケット処理部及びUDP/IPプロトコル処理部)の詳細構成を示す図である。
【図3】本発明の一実施の形態のヘッダ圧縮パケット通信装置において、ユーザデータ送信処理(ヘッダ圧縮パケット送信処理)の動作フローを示す図である。
【図4】本発明の一実施の形態のヘッダ圧縮パケット通信装置において、ヘッダ圧縮パケット受信処理(ユーザデータ受信処理)の動作フローを示す図である。
【図5】本発明の一実施の形態のヘッダ圧縮パケット通信装置において、ヘッダ圧縮パケット通信装置の別の構成(その1)を示す図である。
【図6】本発明の一実施の形態のヘッダ圧縮パケット通信装置において、ヘッダ圧縮パケット通信装置の別の構成(その2)を示す図である。
【図7】従来技術例である、及び本発明の一実施の形態で扱う、6LoWPANにおける圧縮ヘッダ(6LoWPAN圧縮ヘッダ)の構成を示す図である。
【図8】従来技術例である、及び本発明の一実施の形態で参照する、UDP/IPv6フルヘッダ及びその圧縮ヘッダの構成を示す図である。
【図9】従来技術例である、及び本発明の一実施の形態で参照する、疑似UDP/IPヘッダの構成を示す図である。
【図10】従来技術例における、ヘッダ圧縮パケット受信装置の構成を示す図である。
【図11】従来技術例における、ヘッダ圧縮パケット受信装置の詳細構成を示す図である。
【符号の説明】
【0102】
101,101B,101C…ヘッダ圧縮パケット通信装置(ヘッダ圧縮パケット処理装置)、102,102B,102C…ヘッダ圧縮パケット処理部、103,103B,103C…UDP/IPプロトコル処理部、104…アプリケーション処理部、105…圧縮ヘッダ処理部、106,106B,106C…セッション情報記憶部、107…チェックサム部分値加算部、108…チェックサム計算部、109…UDP/IP処理部、110(110−1,110−2,110−3)…アプリケーション(UDP/IPアプリケーション)、401…6LoWPAN圧縮ヘッダ、402…圧縮ヘッダ符号、403…圧縮IPv6ヘッダ、404…圧縮UDPヘッダ、405…情報、406…情報、407…情報、501…UDP/IPv6フルヘッダ、502…圧縮ヘッダ(UDP/IPv6圧縮ヘッダ)、503…IPv6ヘッダ、504…UDPヘッダ、505…CID(コンテキスト識別子)、601…疑似UDP/IPヘッダ、602…疑似IPヘッダ、603…UDPヘッダ、901…ヘッダ圧縮パケット受信装置、902…PPPフレーム受信部、903…圧縮ヘッダ受信処理部、904…UDP/IP受信処理部、905…疑似UDP受信処理部、906…セッション情報記憶部、907…ユーザデータ出力部、908…UDP/IPアプリケーション、1001…フルヘッダ受信部、1002…圧縮ヘッダ受信部、1003…コンテキスト情報記憶部、1004…IP受信処理部、1005…UDP受信処理部、1006,1007…チェックサム確認部、1008…疑似UDP/IPヘッダ生成部。
【特許請求の範囲】
【請求項1】
フルヘッダの代わりにデータ量が少なくなるように圧縮構成された圧縮ヘッダが付加されたユーザデータからなるヘッダ圧縮パケットが伝送される通信システムで用いられる、前記ヘッダ圧縮パケットを送信する処理及び受信する処理を含むパケット処理を行う装置におけるヘッダ圧縮パケット処理方法であって、
前記装置内に備えるセッション情報記憶手段に、前記ユーザデータの送受信先を特定する情報を含むセッション情報が格納され、その情報を前記装置内の各処理部で共用し、
前記ヘッダ圧縮パケットの送受信に関する誤り検出処理として、前記フルヘッダのうちの、固定部情報についての第1の計算値と、可変部情報についての第2の計算値とを計算処理し、前記第1の計算値を前記セッション情報記憶手段に格納し、前記第2の計算値を含んだ前記圧縮ヘッダを前記ユーザデータに付加した前記ヘッダ圧縮パケットを構成し、
前記ヘッダ圧縮パケットの送受信の際、前記圧縮ヘッダに含まれる前記第2の計算値と前記セッション情報記憶手段の前記第1の計算値とを用いて前記誤り検出処理を行うことを特徴とするヘッダ圧縮パケット処理方法。
【請求項2】
請求項1記載のヘッダ圧縮パケット処理方法において、
前記ヘッダ圧縮パケットを送信する処理において、前記第2の計算値を計算し、前記セッション情報記憶手段に当該通信相手に対応するセッション情報が格納されていない場合は当該セッション情報を格納し、前記第1の計算値が格納されていない場合はそれを計算して格納し、前記セッション情報記憶手段の前記セッション情報を用いて、前記第1の計算値と前記第2の計算値とを用いて前記誤り検出処理の計算値とし、前記誤り検出処理の計算値を含んだ前記圧縮ヘッダを構成し、それを前記ユーザデータに付加して前記ヘッダ圧縮パケットを構成して当該通信相手に送信し、
前記ヘッダ圧縮パケットを受信する処理において、当該通信相手から受信した前記ヘッダ圧縮パケットの前記圧縮ヘッダの情報を解釈してセッション情報を取り出し、前記セッション情報記憶手段に、その取り出したセッション情報に対応する該当セッション情報が格納されていない場合は、その取り出したセッション情報を格納し、前記セッション情報記憶手段に、その取り出したセッション情報に対応する前記第1の計算値が格納されていない場合は、それを計算して格納し、前記受信したヘッダ圧縮パケットにおける前記誤り検出処理の計算値における前記第2の計算値に対し、前記セッション情報記憶手段に格納されている前記第1の計算値を用いて前記誤り検出処理を行い、その結果を確認して前記ユーザデータを得ることを特徴とするヘッダ圧縮パケット処理方法。
【請求項3】
請求項1記載のヘッダ圧縮パケット処理方法において、
前記誤り検出処理は、チェックサム計算処理であり、前記第1の計算値は、固定部チェックサム値であり、前記第2の計算値は、可変部チェックサム値であり、前記第1と第2の計算値を加算することによりチェックサム計算値を得ることを特徴とするヘッダ圧縮パケット処理方法。
【請求項4】
請求項1記載のヘッダ圧縮パケット処理方法において、
前記第1の計算値の計算処理を予め行って、前記第1の計算値を前記セッション情報記憶手段のセッション情報に含んでもしくは関連付けて格納しておき、
前記ヘッダ圧縮パケットの送受信の際に、計算処理した前記第2の計算値と、前記セッション情報記憶手段に格納されている前記第1の計算値とを用いて、前記誤り検出処理の計算値を得ることを特徴とするヘッダ圧縮パケット処理方法。
【請求項5】
請求項1記載のヘッダ圧縮パケット処理方法において、
前記ヘッダ圧縮パケットを新たな通信相手に対して初めて送信する際または受信した際には、前記ヘッダ圧縮パケットの前記圧縮ヘッダの情報に対応する前記セッション情報を前記セッション情報記憶手段に格納し、以後そのセッション情報を同じ通信相手に対して使用することを特徴とするヘッダ圧縮パケット処理方法。
【請求項6】
請求項1記載のヘッダ圧縮パケット処理方法において、
前記セッション情報記憶手段に格納される情報は、当該セッション情報の識別情報、前記ヘッダ圧縮パケットの送信元ネットワーク層アドレス、送信元トランスポート層ポート番号、受信先ネットワーク層アドレス、受信先トランスポート層ポート番号、前記第1の計算値、及び前記アプリケーションの識別情報を有することを特徴とするヘッダ圧縮パケット処理方法。
【請求項7】
フルヘッダの代わりにデータ量が少なくなるように圧縮構成された圧縮ヘッダが付加されたユーザデータからなるヘッダ圧縮パケットが伝送される通信システムで用いられる、前記ヘッダ圧縮パケットを送信する処理及び受信する処理を含むパケット処理を行うヘッダ圧縮パケット処理装置であって、
前記ユーザデータの送受信先を特定する情報を含むセッション情報が格納されその情報が本装置内の各処理部で共用されるセッション情報記憶手段と、
前記ヘッダ圧縮パケットの送受信に関する誤り検出処理では、前記フルヘッダのうちの、固定部情報についての第1の計算値と、可変部情報についての第2の計算値とを計算処理し、前記第1の計算値を前記セッション情報記憶手段に格納し、前記第2の計算値を含んだ前記圧縮ヘッダを前記ユーザデータに付加した前記ヘッダ圧縮パケットを構成し、前記ヘッダ圧縮パケットの送受信の際、前記圧縮ヘッダに含まれる前記第2の計算値と前記セッション情報記憶手段の前記第1の計算値とを用いて前記誤り検出処理を行うことを含む、ヘッダ圧縮パケット処理及びプロトコル処理を行う手段とを有することを特徴とするヘッダ圧縮パケット処理装置。
【請求項8】
請求項7記載のヘッダ圧縮パケット処理装置において、
前記ヘッダ圧縮パケット処理及びプロトコル処理を行う手段は、
前記ヘッダ圧縮パケットを送信する際に、前記セッション情報をもとに前記圧縮ヘッダを構成する処理と、前記ヘッダ圧縮パケットを受信する際に、受信したヘッダ圧縮パケットの前記圧縮ヘッダと前記セッション情報記憶手段に格納されている前記セッション情報とをもとに前記圧縮ヘッダの情報を解釈する処理と、を行う圧縮ヘッダ処理手段と、
前記フルヘッダのうちの前記誤り検出処理の前記第1の計算値と前記第2の計算値とを用いて前記誤り検出処理の部分値を計算する部分値計算手段と、
前記誤り検出処理の前記第2の計算値を計算する処理と、前記ヘッダ圧縮パケットを送信する際に、前記ユーザデータを送受信するアプリケーションの識別情報と、前記セッション情報記憶手段に格納されている前記セッション情報とを比較し、前記セッション情報の識別情報を抽出し、前記ヘッダ圧縮パケットを受信した際に、前記セッション情報の識別情報及び前記アプリケーションの識別情報に関連付けられたアプリケーションに前記ユーザデータを受け渡す処理と、を行うネットワーク層及びトランスポート層のプロトコル処理手段と、を有することを特徴とするヘッダ圧縮パケット処理装置。
【請求項9】
請求項7記載のヘッダ圧縮パケット処理装置において、
前記誤り検出処理は、チェックサム計算処理であり、前記第1の計算値は、固定部チェックサム値であり、前記第2の計算値は、可変部チェックサム値であり、前記第1と第2の計算値を加算することによりチェックサム計算値を得ることを特徴とするヘッダ圧縮パケット処理装置。
【請求項10】
請求項7記載のヘッダ圧縮パケット処理装置において、
前記ヘッダ圧縮パケット処理及びプロトコル処理を行う手段は、
前記第1の計算値の計算処理を予め行って、前記第1の計算値を前記セッション情報記憶手段のセッション情報に含んでもしくは関連付けて格納しておき、
前記ヘッダ圧縮パケットの送受信の際に、計算処理した前記第2の計算値と、前記セッション情報記憶手段に格納されている前記第1の計算値とを用いて、前記誤り検出処理の計算値を得ることを特徴とするヘッダ圧縮パケット処理装置。
【請求項11】
請求項7記載のヘッダ圧縮パケット処理装置において、
前記ヘッダ圧縮パケットを新たな通信相手に対して初めて送信する際または受信した際には、前記ヘッダ圧縮パケットの前記圧縮ヘッダの情報に対応する前記セッション情報を前記セッション情報記憶手段に格納し、以後そのセッション情報を同じ通信相手に対して使用することを特徴とするヘッダ圧縮パケット処理装置。
【請求項12】
請求項7記載のヘッダ圧縮パケット処理装置において、
前記セッション情報記憶手段に格納される情報は、当該セッション情報の識別情報、前記ヘッダ圧縮パケットの送信元ネットワーク層アドレス、送信元トランスポート層ポート番号、受信先ネットワーク層アドレス、受信先トランスポート層ポート番号、前記第1の計算値、及び前記アプリケーションの識別情報を有することを特徴とするヘッダ圧縮パケット処理装置。
【請求項1】
フルヘッダの代わりにデータ量が少なくなるように圧縮構成された圧縮ヘッダが付加されたユーザデータからなるヘッダ圧縮パケットが伝送される通信システムで用いられる、前記ヘッダ圧縮パケットを送信する処理及び受信する処理を含むパケット処理を行う装置におけるヘッダ圧縮パケット処理方法であって、
前記装置内に備えるセッション情報記憶手段に、前記ユーザデータの送受信先を特定する情報を含むセッション情報が格納され、その情報を前記装置内の各処理部で共用し、
前記ヘッダ圧縮パケットの送受信に関する誤り検出処理として、前記フルヘッダのうちの、固定部情報についての第1の計算値と、可変部情報についての第2の計算値とを計算処理し、前記第1の計算値を前記セッション情報記憶手段に格納し、前記第2の計算値を含んだ前記圧縮ヘッダを前記ユーザデータに付加した前記ヘッダ圧縮パケットを構成し、
前記ヘッダ圧縮パケットの送受信の際、前記圧縮ヘッダに含まれる前記第2の計算値と前記セッション情報記憶手段の前記第1の計算値とを用いて前記誤り検出処理を行うことを特徴とするヘッダ圧縮パケット処理方法。
【請求項2】
請求項1記載のヘッダ圧縮パケット処理方法において、
前記ヘッダ圧縮パケットを送信する処理において、前記第2の計算値を計算し、前記セッション情報記憶手段に当該通信相手に対応するセッション情報が格納されていない場合は当該セッション情報を格納し、前記第1の計算値が格納されていない場合はそれを計算して格納し、前記セッション情報記憶手段の前記セッション情報を用いて、前記第1の計算値と前記第2の計算値とを用いて前記誤り検出処理の計算値とし、前記誤り検出処理の計算値を含んだ前記圧縮ヘッダを構成し、それを前記ユーザデータに付加して前記ヘッダ圧縮パケットを構成して当該通信相手に送信し、
前記ヘッダ圧縮パケットを受信する処理において、当該通信相手から受信した前記ヘッダ圧縮パケットの前記圧縮ヘッダの情報を解釈してセッション情報を取り出し、前記セッション情報記憶手段に、その取り出したセッション情報に対応する該当セッション情報が格納されていない場合は、その取り出したセッション情報を格納し、前記セッション情報記憶手段に、その取り出したセッション情報に対応する前記第1の計算値が格納されていない場合は、それを計算して格納し、前記受信したヘッダ圧縮パケットにおける前記誤り検出処理の計算値における前記第2の計算値に対し、前記セッション情報記憶手段に格納されている前記第1の計算値を用いて前記誤り検出処理を行い、その結果を確認して前記ユーザデータを得ることを特徴とするヘッダ圧縮パケット処理方法。
【請求項3】
請求項1記載のヘッダ圧縮パケット処理方法において、
前記誤り検出処理は、チェックサム計算処理であり、前記第1の計算値は、固定部チェックサム値であり、前記第2の計算値は、可変部チェックサム値であり、前記第1と第2の計算値を加算することによりチェックサム計算値を得ることを特徴とするヘッダ圧縮パケット処理方法。
【請求項4】
請求項1記載のヘッダ圧縮パケット処理方法において、
前記第1の計算値の計算処理を予め行って、前記第1の計算値を前記セッション情報記憶手段のセッション情報に含んでもしくは関連付けて格納しておき、
前記ヘッダ圧縮パケットの送受信の際に、計算処理した前記第2の計算値と、前記セッション情報記憶手段に格納されている前記第1の計算値とを用いて、前記誤り検出処理の計算値を得ることを特徴とするヘッダ圧縮パケット処理方法。
【請求項5】
請求項1記載のヘッダ圧縮パケット処理方法において、
前記ヘッダ圧縮パケットを新たな通信相手に対して初めて送信する際または受信した際には、前記ヘッダ圧縮パケットの前記圧縮ヘッダの情報に対応する前記セッション情報を前記セッション情報記憶手段に格納し、以後そのセッション情報を同じ通信相手に対して使用することを特徴とするヘッダ圧縮パケット処理方法。
【請求項6】
請求項1記載のヘッダ圧縮パケット処理方法において、
前記セッション情報記憶手段に格納される情報は、当該セッション情報の識別情報、前記ヘッダ圧縮パケットの送信元ネットワーク層アドレス、送信元トランスポート層ポート番号、受信先ネットワーク層アドレス、受信先トランスポート層ポート番号、前記第1の計算値、及び前記アプリケーションの識別情報を有することを特徴とするヘッダ圧縮パケット処理方法。
【請求項7】
フルヘッダの代わりにデータ量が少なくなるように圧縮構成された圧縮ヘッダが付加されたユーザデータからなるヘッダ圧縮パケットが伝送される通信システムで用いられる、前記ヘッダ圧縮パケットを送信する処理及び受信する処理を含むパケット処理を行うヘッダ圧縮パケット処理装置であって、
前記ユーザデータの送受信先を特定する情報を含むセッション情報が格納されその情報が本装置内の各処理部で共用されるセッション情報記憶手段と、
前記ヘッダ圧縮パケットの送受信に関する誤り検出処理では、前記フルヘッダのうちの、固定部情報についての第1の計算値と、可変部情報についての第2の計算値とを計算処理し、前記第1の計算値を前記セッション情報記憶手段に格納し、前記第2の計算値を含んだ前記圧縮ヘッダを前記ユーザデータに付加した前記ヘッダ圧縮パケットを構成し、前記ヘッダ圧縮パケットの送受信の際、前記圧縮ヘッダに含まれる前記第2の計算値と前記セッション情報記憶手段の前記第1の計算値とを用いて前記誤り検出処理を行うことを含む、ヘッダ圧縮パケット処理及びプロトコル処理を行う手段とを有することを特徴とするヘッダ圧縮パケット処理装置。
【請求項8】
請求項7記載のヘッダ圧縮パケット処理装置において、
前記ヘッダ圧縮パケット処理及びプロトコル処理を行う手段は、
前記ヘッダ圧縮パケットを送信する際に、前記セッション情報をもとに前記圧縮ヘッダを構成する処理と、前記ヘッダ圧縮パケットを受信する際に、受信したヘッダ圧縮パケットの前記圧縮ヘッダと前記セッション情報記憶手段に格納されている前記セッション情報とをもとに前記圧縮ヘッダの情報を解釈する処理と、を行う圧縮ヘッダ処理手段と、
前記フルヘッダのうちの前記誤り検出処理の前記第1の計算値と前記第2の計算値とを用いて前記誤り検出処理の部分値を計算する部分値計算手段と、
前記誤り検出処理の前記第2の計算値を計算する処理と、前記ヘッダ圧縮パケットを送信する際に、前記ユーザデータを送受信するアプリケーションの識別情報と、前記セッション情報記憶手段に格納されている前記セッション情報とを比較し、前記セッション情報の識別情報を抽出し、前記ヘッダ圧縮パケットを受信した際に、前記セッション情報の識別情報及び前記アプリケーションの識別情報に関連付けられたアプリケーションに前記ユーザデータを受け渡す処理と、を行うネットワーク層及びトランスポート層のプロトコル処理手段と、を有することを特徴とするヘッダ圧縮パケット処理装置。
【請求項9】
請求項7記載のヘッダ圧縮パケット処理装置において、
前記誤り検出処理は、チェックサム計算処理であり、前記第1の計算値は、固定部チェックサム値であり、前記第2の計算値は、可変部チェックサム値であり、前記第1と第2の計算値を加算することによりチェックサム計算値を得ることを特徴とするヘッダ圧縮パケット処理装置。
【請求項10】
請求項7記載のヘッダ圧縮パケット処理装置において、
前記ヘッダ圧縮パケット処理及びプロトコル処理を行う手段は、
前記第1の計算値の計算処理を予め行って、前記第1の計算値を前記セッション情報記憶手段のセッション情報に含んでもしくは関連付けて格納しておき、
前記ヘッダ圧縮パケットの送受信の際に、計算処理した前記第2の計算値と、前記セッション情報記憶手段に格納されている前記第1の計算値とを用いて、前記誤り検出処理の計算値を得ることを特徴とするヘッダ圧縮パケット処理装置。
【請求項11】
請求項7記載のヘッダ圧縮パケット処理装置において、
前記ヘッダ圧縮パケットを新たな通信相手に対して初めて送信する際または受信した際には、前記ヘッダ圧縮パケットの前記圧縮ヘッダの情報に対応する前記セッション情報を前記セッション情報記憶手段に格納し、以後そのセッション情報を同じ通信相手に対して使用することを特徴とするヘッダ圧縮パケット処理装置。
【請求項12】
請求項7記載のヘッダ圧縮パケット処理装置において、
前記セッション情報記憶手段に格納される情報は、当該セッション情報の識別情報、前記ヘッダ圧縮パケットの送信元ネットワーク層アドレス、送信元トランスポート層ポート番号、受信先ネットワーク層アドレス、受信先トランスポート層ポート番号、前記第1の計算値、及び前記アプリケーションの識別情報を有することを特徴とするヘッダ圧縮パケット処理装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2008−141466(P2008−141466A)
【公開日】平成20年6月19日(2008.6.19)
【国際特許分類】
【出願番号】特願2006−325480(P2006−325480)
【出願日】平成18年12月1日(2006.12.1)
【出願人】(503121103)株式会社ルネサステクノロジ (4,790)
【Fターム(参考)】
【公開日】平成20年6月19日(2008.6.19)
【国際特許分類】
【出願日】平成18年12月1日(2006.12.1)
【出願人】(503121103)株式会社ルネサステクノロジ (4,790)
【Fターム(参考)】
[ Back to top ]