JP2006324815A - 通信装置、データ読出方法およびデータ読出プログラム - Google Patents

通信装置、データ読出方法およびデータ読出プログラム Download PDF

Info

Publication number
JP2006324815A
JP2006324815A JP2005144615A JP2005144615A JP2006324815A JP 2006324815 A JP2006324815 A JP 2006324815A JP 2005144615 A JP2005144615 A JP 2005144615A JP 2005144615 A JP2005144615 A JP 2005144615A JP 2006324815 A JP2006324815 A JP 2006324815A
Authority
JP
Japan
Prior art keywords
header
extension
type
length
packet
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.)
Granted
Application number
JP2005144615A
Other languages
English (en)
Other versions
JP4511993B2 (ja
Inventor
Nobuyuki Tanazawa
伸行 棚沢
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Platforms Ltd
Original Assignee
NEC AccessTechnica Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC AccessTechnica Ltd filed Critical NEC AccessTechnica Ltd
Priority to JP2005144615A priority Critical patent/JP4511993B2/ja
Publication of JP2006324815A publication Critical patent/JP2006324815A/ja
Application granted granted Critical
Publication of JP4511993B2 publication Critical patent/JP4511993B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】ヘッダが基本ヘッダと拡張ヘッダで構成され、かつ拡張ヘッダが任意の数だけ基本ヘッダに連結されるようなヘッダ構造を有するパケットで拡張ヘッダの種類や数が変動してもこれに柔軟に対応して各種の通信処理を行うことができる通信装置と、これを使用したデータ読出方法およびデータ読出プログラムを得ること。
【解決手段】第1および第2のヘッダ長情報格納部206、207には次ヘッダ値に対応させて拡張ヘッダのヘッダ長に関する情報が予め格納される。テーブル登録処理部205は、エントリテーブル203へのポート番号の登録の対象となるパケットについて、先頭から順に基本ヘッダおよび各拡張ヘッダに記述された次ヘッダ値を取得し、第1および第2のヘッダ長情報格納部206、207を使用して各拡張ヘッダのヘッダ長を特定する。ヘッダ長の累積値が、ポート番号格納領域のパケット先頭からのオフセットとなる。
【選択図】図2

Description

本発明は、パケットを受信する通信装置とこれを使用したデータ読出方法およびデータ読出プログラムに係わり、特にIPv6パケットのように基本ヘッダに必要に応じて拡張ヘッダが追加されるパケットを受信する通信装置とこれを使用したデータ読出方法およびデータ読出プログラムに関する。
インターネットに代表されるパケット通信によるネットワークでは、その急速な普及と使用形態の多様化に伴い、セキュリティ確保やルーティング経路の指定等、通信制御に多種多様な機能を付加できることへの期待が高まっている。
現在インターネットを含む多くのIP(Internet Protocol)網では、標準の通信プロトコルとしてIPv4(Internet Protocol version 4)が使用されている。IPv4では、パケットのヘッダ内に通信機能を拡張するための情報を記述するオプションフィールドと呼ばれる可変長の領域を追加できるようにしている。しかしながら、オプションフィールドを使用するとヘッダ全体も可変長となり転送処理速度を低下させる等の理由から、多くのルータではオプションフィールドが使用されていないIPパケットを優先的に転送するようになっている。したがって、IPv4では各種の機能を積極的に付加することが難しい。
そこで、パケットのヘッダを、ルーティングに使用する領域と通信機能を拡張するための可変長の領域とに区分けし、拡張機能の追加の柔軟性と転送処理の効率化とを両立させることが考えられている。次世代のインターネットプロトコルとして提案されているIPv6(Internet Protocol version 6)では、この考え方に沿って、ルーティングに使用されるパケットのヘッダを固定長の基本ヘッダとその後ろに必要に応じて連結される各種の拡張ヘッダから構成することにしている。
ところで、パケットのヘッダへの情報の追加によってではなく、パケットのペイロード部の特定の領域に格納されている情報を使用して通信の機能拡張を実現することも従来より行われている(たとえば特許文献1参照)。たとえば、IPパケットのペイロード部に格納されるTCP(Transmission Control Protocol)ヘッダに記述されているポート番号は、IPアドレスの補助アドレスとして使用される情報である。また、TCPヘッダはIPパケットのペイロード部の先頭に配置され、ポート番号はTCPヘッダの先頭の領域に記述されるようになっている。この従来の提案では、転送の対象となるIPパケットについてこのポート番号を取得し、ポート番号に応じてIPパケットのルーティングの際のフィルタリングを行うようになっている。他にも、たとえば同じIPアドレスを割り当てた複数の通信端末に、異なるポート番号を割り当てることによって、個別の通信を実現させることもできる。
特開2001−333493号公報(第0022段落、図3)
前記したパケットのヘッダの情報を使用した通信の機能拡張に、このようなペイロード部の特定の領域に格納される情報を使用した通信の機能拡張を組み合わせれば、更にきめ細やかな通信制御を実現することが可能となる。ペイロード部の特定の領域に格納される情報を参照するには、そのパケットにおけるペイロード部の開始位置を判別する必要がある。ペイロード部の開始位置は、IPパケットのヘッダ長が分かれば判別できる。IPv4の場合には、ヘッダは可変長となっているものの、前記したようにヘッダ内にオプションフィールドが存在しており、ヘッダにはヘッダ長が記述されている。
しかしながら、前記したIPv6のパケットのように、ヘッダが基本ヘッダと任意の数の拡張ヘッダで構成される場合、追加される拡張ヘッダに応じてヘッダ長が異なってくる。したがって、このようなパケットではペイロード部に至るまでのデータ長の判別が容易ではない。
そこで本発明の目的は、ヘッダが基本ヘッダと拡張ヘッダで構成され、かつ拡張ヘッダが任意の数だけ基本ヘッダに連結されるようなヘッダ構造を有するパケットで拡張ヘッダの種類や数が変動してもこれに柔軟に対応して各種の通信処理を行うことができる通信装置と、これを使用したデータ読出方法およびデータ読出プログラムを提供することにある。
本発明では、(イ)受信したパケットのヘッダにおける予め定めた領域から、このヘッダを基本ヘッダとしてその後に任意の数の拡張ヘッダが連結される場合のそれぞれの拡張ヘッダの種類を判別する種類判別手段と、(ロ)それぞれの種類別に拡張ヘッダの形式に関する情報を記憶する拡張ヘッダ内容記憶手段と、(ハ)種類判別手段によって種類が判別できなかった拡張ヘッダが存在したとき、これを外部に通知する通知手段と、(ニ)拡張ヘッダ内容記憶手段に、拡張ヘッダの種類と形式に関する情報を追加するための記憶内容追加入力手段とを通信装置に具備させる。
すなわち本発明では、パケットのヘッダを基本ヘッダとしてその後に連結される拡張ヘッダのそれぞれの種類別に、その拡張ヘッダの形式に関する情報を記憶する拡張ヘッダ内容記憶手段を備えている。そして、受信したパケットのヘッダにおける予め定めた領域から、基本ヘッダの後に任意の数の拡張ヘッダが連結される場合のそれぞれの拡張ヘッダの種類を判別するようになっている。すなわち、種類を判別することによってその拡張ヘッダの形式に関する情報を取得することができるようになっている。しかしながら、パケットのヘッダに存在する拡張ヘッダの種類が拡張ヘッダ内容記憶手段に記憶されていない種類であった場合には、その拡張ヘッダの形式に関する情報を取得することができない。そこで、種類が判別できなかった拡張ヘッダが存在したときにはこれを外部に通知するとともに、拡張ヘッダの種類と形式に関する情報を拡張ヘッダ内容記憶手段に追加できるようにしている。これにより、ヘッダが基本ヘッダと拡張ヘッダで構成され、新規の種類の拡張ヘッダが受信パケットのヘッダに存在している場合にでも、その拡張ヘッダの形式に関する情報を取得することができる。
本発明では、(イ)受信したパケットのヘッダにおける予め定めた領域から、このヘッダを基本ヘッダとしてその後に任意の数の拡張ヘッダが連結される場合のそれぞれの拡張ヘッダの種類を判別する種類判別手段と、(ロ)それぞれの種類別に拡張ヘッダの形式に関する情報を記憶する拡張ヘッダ内容記憶手段と、(ハ)種類判別手段によって種類が判別できなかった拡張ヘッダについてその形式に関する情報を要求する要求パケットを生成して送出する要求パケット送出手段と、(ニ)送出した要求パケットに対する応答パケットが返送されてきたとき、これを基に判別された新たな種類の拡張ヘッダとその形式に関する情報を拡張ヘッダ内容記憶手段に追加する記憶内容追加手段とを通信装置に具備させる。
すなわち本発明では、パケットのヘッダを基本ヘッダとしてその後に連結される拡張ヘッダのそれぞれの種類別に、その拡張ヘッダの形式に関する情報を記憶する拡張ヘッダ内容記憶手段を備えている。そして、受信したパケットのヘッダにおける予め定めた領域から、基本ヘッダの後に任意の数の拡張ヘッダが連結される場合のそれぞれの拡張ヘッダの種類を判別するようになっている。すなわち、種類を判別することによってその拡張ヘッダの形式に関する情報を取得することができるようになっている。しかしながら、パケットのヘッダに存在する拡張ヘッダの種類が拡張ヘッダ内容記憶手段に記憶されていない種類であった場合には、その拡張ヘッダの形式に関する情報を取得することができない。そこで、種類が判別できなかった拡張ヘッダが存在したときにはその拡張ヘッダについてその形式に関する情報を要求する要求パケットを生成して送出する。そして、これに対応する応答パケットが返送されてくるとこれを基に判別された新たな種類の拡張ヘッダとその形式に関する情報を拡張ヘッダ内容記憶手段に追加するようにしている。これにより、ヘッダが基本ヘッダと拡張ヘッダで構成され、新規の種類の拡張ヘッダが受信パケットのヘッダに存在している場合にでも、その拡張ヘッダの形式に関する情報を通信によって取得することができる。
本発明では、(イ)受信したパケットのヘッダにおける予め定めた領域から、このヘッダを基本ヘッダとしてその後に任意の数の拡張ヘッダが連結される場合の最初の拡張ヘッダの種類を記述した情報を読み出す第1の情報読出手段と、(ロ)拡張ヘッダの種類とヘッダ長をそれぞれ対応付けて記憶した種類ヘッダ長対応記憶手段と、(ハ)それぞれの拡張ヘッダにおける予め定めた領域から、次に連結される拡張パケットが存在する場合のその拡張ヘッダの種類を記述した情報を読み出す第2の情報読出手段と、(ニ)第1の情報読出手段によって拡張ヘッダの種類を記述した情報が読み出されたとき、種類ヘッダ長対応記憶手段によって対応する最初の拡張ヘッダのヘッダ長を算出して基本ヘッダのヘッダ長に加算し、これ以降に連結されているそれぞれの拡張ヘッダに対しては第2の情報読出手段によって拡張ヘッダの種類を記述した情報が読み出されるたびにこれら拡張ヘッダのヘッダ長をこれに累算するヘッダ長累算手段と、(ホ)このヘッダ長累算手段によってパケットの基本ヘッダおよびすべての拡張ヘッダにより構成されるヘッダの全長が求められたとき、これを基準としてこのヘッダに続くデータの読み出しを行うデータ読出手段とを通信装置に具備させる。
すなわち本発明では、パケットのヘッダを基本ヘッダとしてその後に連結される拡張ヘッダのそれぞれの種類別にヘッダ長を対応付けて記憶した種類ヘッダ長対応記憶手段を備えている。そして、受信したパケットのヘッダにおける予め定めた領域から、このヘッダの基本ヘッダの後に任意の数の拡張ヘッダが連結される場合の最初の拡張ヘッダの種類を記述した情報を読み出すとともに、更にそれぞれの拡張ヘッダにおける予め定めた領域から、次に連結される拡張パケットが存在する場合のその拡張ヘッダの種類を記述した情報を読み出す。そして、種類が読み出されるたびに、種類ヘッダ長対応記憶手段によって各拡張ヘッダのヘッダ長を算出し、これを基本ヘッダのヘッダ長に累算していく。この累算によって該当するパケットの基本ヘッダおよびすべての拡張ヘッダにより構成されるヘッダの全長が求められたとき、これを基準としてこのヘッダに続くデータの読み出しを行うようになっている。これにより、受信するパケットのヘッダが基本ヘッダと拡張ヘッダで構成され、かつ拡張ヘッダが任意の数だけ基本ヘッダに連結されるようなヘッダ構造を有するパケットで拡張ヘッダの種類や数が変動する場合でも、パケットのヘッダ長を容易に判別することができる。
本発明では、(イ)受信したパケットのヘッダにおける予め定めた領域から、このヘッダを基本ヘッダとしてその後に任意の数の拡張ヘッダが連結される場合の最初の拡張ヘッダの種類を記述した情報を読み出す第1の情報読出ステップと、(ロ)拡張ヘッダの種類を記述した情報が読み出されると、その情報が指し示す拡張ヘッダにおける予め定めた領域から、その拡張ヘッダの次に連結される拡張ヘッダが存在する場合のその連結される拡張ヘッダの種類を記述した情報を読み出す第2の情報読出ステップと、(ハ)第1の情報読出ステップおよび第2の情報読出ステップで拡張ヘッダの種類を記述した情報が読み出されるごとに、拡張ヘッダの種類とヘッダ長をそれぞれ対応付けて記憶した種類ヘッダ長対応記憶手段によって対応する拡張ヘッダのヘッダ長を算出する拡張ヘッダ長算出ステップと、(ニ)この拡張ヘッダ長算出ステップでパケットのすべての拡張ヘッダのヘッダ長が算出されると、その算出された各ヘッダ長および基本ヘッダのヘッダ長を合計してパケットの基本ヘッダおよびすべての拡張ヘッダにより構成されるヘッダの全長を求めるヘッダ長判別ステップと、(ホ)このヘッダ長判別ステップで求められたヘッダの全長を基準としてこのヘッダに続くデータの読み出しを行うデータ読出ステップとをデータ読出方法に具備させる。
すなわち本発明では、まず受信したパケットのヘッダにおける予め定めた領域から、このヘッダを基本ヘッダとしてその後に任意の数の拡張ヘッダが連結される場合の最初の拡張ヘッダの種類を記述した情報を読み出す。また、拡張ヘッダの種類を記述した情報が読み出されると、その情報が指し示す拡張ヘッダにおける予め定めた領域から、その拡張ヘッダの次に連結される拡張ヘッダが存在する場合のその連結される拡張ヘッダの種類を記述した情報を読み出すようになっている。これにより、パケットの基本ヘッダの後に連結される各拡張ヘッダの種類を判別することができる。そして、拡張ヘッダの種類を記述した情報が読み出されるごとに、拡張ヘッダの種類とヘッダ長をそれぞれ対応付けて記憶した種類ヘッダ長対応記憶手段によって対応する拡張ヘッダのヘッダ長を算出するため、最終的にはパケットのすべての拡張ヘッダのヘッダ長が算出される。パケットのすべての拡張ヘッダのヘッダ長が算出されると、その算出された各ヘッダ長および基本ヘッダのヘッダ長を合計してパケットの基本ヘッダおよびすべての拡張ヘッダにより構成されるヘッダの全長を求め、これを基準としてこのヘッダに続くデータの読み出しを行う。これにより、受信するパケットのヘッダが基本ヘッダと拡張ヘッダで構成され、かつ拡張ヘッダが任意の数だけ基本ヘッダに連結されるようなヘッダ構造を有するパケットで拡張ヘッダの種類や数が変動する場合でも、パケットのヘッダ長を容易に判別することができる。
本発明では、通信装置を構成するコンピュータに、(イ)受信したパケットのヘッダにおける予め定めた領域から、このヘッダを基本ヘッダとしてその後に任意の数の拡張ヘッダが連結される場合の最初の拡張ヘッダの種類を記述した情報を読み出す第1の情報読出処理と、(ロ)拡張ヘッダの種類を記述した情報が読み出されると、その情報が指し示す拡張ヘッダにおける予め定めた領域から、その拡張ヘッダの次に連結される拡張ヘッダが存在する場合のその連結される拡張ヘッダの種類を記述した情報を読み出す第2の情報読出処理と、(ハ)第1の情報読出処理および第2の情報読出処理で拡張ヘッダの種類を記述した情報が読み出されるごとに、拡張ヘッダの種類とヘッダ長をそれぞれ対応付けて記憶した種類ヘッダ長対応記憶手段によって対応する拡張ヘッダのヘッダ長を算出する拡張ヘッダ長算出処理と、(ニ)この拡張ヘッダ長算出処理でパケットのすべての拡張ヘッダのヘッダ長が算出されると、その算出された各ヘッダ長および基本ヘッダのヘッダ長を合計してパケットの基本ヘッダおよびすべての拡張ヘッダにより構成されるヘッダの全長を求めるヘッダ長判別処理と、(ホ)このヘッダ長判別処理で求められたヘッダの全長を基準としてこのヘッダに続くデータの読み出しを行うデータ読出処理とをデータ長読出プログラムによって実行させる。
すなわち本発明では、通信装置を構成するコンピュータに、まず受信したパケットのヘッダにおける予め定めた領域から、このヘッダを基本ヘッダとしてその後に任意の数の拡張ヘッダが連結される場合の最初の拡張ヘッダの種類を記述した情報を読み出させる。また、拡張ヘッダの種類を記述した情報が読み出されると、その情報が指し示す拡張ヘッダにおける予め定めた領域から、その拡張ヘッダの次に連結される拡張ヘッダが存在する場合のその連結される拡張ヘッダの種類を記述した情報を読み出させるようになっている。これにより、パケットの基本ヘッダの後に連結される各拡張ヘッダの種類を判別することができる。そして、拡張ヘッダの種類を記述した情報が読み出されるごとに、拡張ヘッダの種類とヘッダ長をそれぞれ対応付けて記憶した種類ヘッダ長対応記憶手段によって対応する拡張ヘッダのヘッダ長を算出させるため、最終的にはパケットのすべての拡張ヘッダのヘッダ長が算出される。パケットのすべての拡張ヘッダのヘッダ長が算出されると、その算出された各ヘッダ長および基本ヘッダのヘッダ長を合計させてパケットの基本ヘッダおよびすべての拡張ヘッダにより構成されるヘッダの全長を求めさせるとともに、これを基準としてこのヘッダに続くデータの読み出しを行わせる。これにより、受信するパケットのヘッダが基本ヘッダと拡張ヘッダで構成され、かつ拡張ヘッダが任意の数だけ基本ヘッダに連結されるようなヘッダ構造を有するパケットで拡張ヘッダの種類や数が変動する場合でも、パケットのヘッダ長を容易に判別させることができる。また、このようなプログラムをインストールすることで、汎用あるいは既存の通信装置でもこのような機能を簡単に実現することができる。
以上説明したように本発明によれば、パケットの基本ヘッダの後に任意の数の拡張ヘッダが連結される場合のそれぞれの拡張ヘッダの種類を判別し、その拡張ヘッダのヘッダ長といった形式に関する情報を取得できるようになっている。これにより、たとえば基本ヘッダに拡張ヘッダが必要に応じて追加されるIPv6パケットのように、受信するパケットのヘッダが基本ヘッダと拡張ヘッダで構成され、かつ拡張ヘッダが任意の数だけ基本ヘッダに連結されるようなヘッダ構造を有するパケットで拡張ヘッダの種類や数が変動する場合でも、パケットのヘッダ長を判別するといった処理が可能となる。したがって、ポート番号を利用したルーティング等、通信装置で行われるパケットのペイロード部に格納された情報を利用する各種処理の高速化を実現することができる。
以下実施例につき本発明を詳細に説明する。
図1は、本発明の一実施例による通信装置を使用した通信システムの構成を表わしたものである。この通信システム100では、次世代のインターネットプロトコルとして提案されているIPv6を地域を限定して運用するIPv6適用LAN(Local Area Network)101に、通信装置としての宅内接続装置102を介して、住宅内に配置されることを想定して構築された宅内ネットワーク103が接続されている。また、宅内ネットワーク103には、パーソナルコンピュータとしての第1〜第kの通信端末1041〜104kが配置されている。宅内接続装置102は、宅内ネットワーク103のIPv6適用LAN101への接続ポイントとなっており、IETF(the Internet Engineering Task Force)で標準化された通信プロトコルであるIPv6を使用してパケットの転送処理を行う装置である。また、宅内ネットワーク103にはディスプレイ等の表示装置やキーボード等の入力装置を供えた管理装置105が配置されており、ネットワーク管理者が宅内接続装置102への各種設定や宅内接続装置102の状態の監視等を行うことができるようになっている。
この通信システム100で使用されるパケットの図示しないペイロード部には、IPアドレスの補助アドレスであるポート番号が格納されるようになっている。第1〜第kの通信端末1041〜104kはそれぞれ、IPアドレスとこのポート番号とを組み合わせたソケットと呼ばれるアドレス情報を使用して、複数の相手先と同時に通信を行うことを可能としている。また、自端末のIPアドレスを宛先とするパケットが送られてきても、その宛先ポート番号が通信を行っている相手先に対応付けて設定したポート番号と一致しない場合には、自端末のセキュリティを確保するためにそのパケットを使用した処理を行うことなく廃棄するようになっている。
このような第1〜第kの通信端末1041〜104kで廃棄されてしまうようなパケットは、ネットワーク負荷の軽減のためにも、できるだけ宅内ネットワーク103上を転送されないようにすることが望ましい。そこで宅内接続装置102は、宅内ネットワーク103側から送られてくるパケットで使用されているソケットを、第1〜第kの通信端末1041〜104kによる通信で実際に使用されているソケットとして扱う。そして、このソケット以外を宛先とするパケットがIPv6適用LAN101側から送られた場合には、その宛先の通信端末104で結局は廃棄されてしまう可能性が高いとして、宅内ネットワーク103に送出しないようにする。
図2は、宅内接続装置の構成を表わしたものである。宅内接続装置102は、宅内ネットワーク103とIPv6適用LAN101との間でパケットの転送処理を行うパケット転送処理部202を備えている。このパケット転送処理部202には、IPv6適用LAN101側から受け取ったパケットを宅内ネットワーク103側へ転送するか否かを判別するために使用するエントリテーブル203が接続されている。パケット転送処理部202には、更に宅内ネットワーク103側からIPv6適用LAN101側へと転送されるパケットを複製して一時的に記憶するパケット記憶部204が接続されている。また、このパケット記憶部204に記憶されたパケットを参照してエントリテーブル203へのエントリの登録を行うテーブル登録処理部205が備えられており、エントリテーブル203およびパケット記憶部204に接続されている。
このテーブル登録処理部205には、更にIPv6のパケットのヘッダに必要に応じて付加される拡張ヘッダについて、そのヘッダ長やヘッダ長が格納される位置および後に説明する次ヘッダ値が格納される位置といったヘッダの形式に関する情報をそれぞれ格納する第1のヘッダ長情報格納部206および第2のヘッダ長情報格納部207が接続されている。第1のヘッダ長情報格納部206は、IETFで既に標準化されている種類の拡張ヘッダのヘッダ長についての情報を格納するようになっている。第2のヘッダ長情報格納部207は、通信システム100内で独自にあるいは通信システム100内の特定の通信端末間でのみ定めた種類の拡張ヘッダのヘッダ長についての情報を格納するようになっている。また、第2のヘッダ長情報格納部207は、IETFで新たな種類の拡張ヘッダが標準化された場合にはその種類の拡張ヘッダのヘッダ長についての情報も格納するようになっている。これら第1のヘッダ長情報格納部206や第2のヘッダ長情報格納部207に格納される情報の更新は、図1に示した管理装置105から行えるようになっている。
宅内接続装置102は、図示しないCPU(中央処理装置)と制御プログラムを格納したROM(Read Only Memory)等の記憶媒体、RAM(Random Access Memory)等の作業用メモリならびに通信制御部等のハードウェアによって構成されている。すなわち、制御プログラムをCPUが実行することで前記した各機能部が実現するようになっている。また、第1のヘッダ長情報格納部206および第2のヘッダ長情報格納部207は、指定されたデータ列を内部に格納された各データ列と比較し、一致するデータ列に対応して格納された情報のアドレスをCPUに返すことによってその情報の取り出しを可能にするCAM(Content Addressable Memory)を備えている。
パケット転送処理部202は、図1に示す宅内ネットワーク103およびIPv6適用LAN101に接続してこれらを介してイーサネット(登録商標)フレームの送受信を行うようになっており、これによって宅内ネットワーク103とIPv6適用LAN101との間のパケットの転送を実現している。パケット記憶部204は、パケット転送処理部202により宅内ネットワーク103側からIPv6適用LAN101側へと転送される各パケットを複製して記憶する。そして、テーブル登録処理部205は、パケット記憶部204に記憶されたパケットから、ポート番号とIPアドレスとを組み合わせたソケットを送信元と宛先の両方について取得し、これをエントリテーブル203にエントリさせる。パケット転送処理部202は、IPv6適用LAN101側から受け取ったパケットについては、そのポート番号とIPアドレスとの組み合わせに対応するエントリがエントリテーブル203に存在するか否かを判別し、存在しない場合には転送せずに廃棄するようになっている。各エントリは、一定期間が経過すると削除されるようになっており、エントリテーブル203の肥大化を防止している。
このように、まずパケット記憶部204に記憶されたパケットからポート番号とIPアドレスとを取得する必要がある。しかしながら、IPv6ではそのヘッダに応じて拡張ヘッダが付加されるようになっており、IPv4のように総ヘッダ長を示す情報がヘッダに記述されておらず、ポート番号の位置の特定が難しい。そこで、この実施例では各拡張ヘッダに付加される次の拡張ヘッダについての情報に着目することで、迅速にIPヘッダのヘッダ長を判別し、効率良くポート番号を取得することを実現する。
図3は、パケット記憶部に記憶されるパケットの構成を表わしたものである。パケット記憶部204に記憶されるパケット231は、IPv6のプロトコルに準拠したIPパケットであり、先頭から順に、IPv6ヘッダ232と、TCPヘッダ251あるいはUDP(User Data Protocol)ヘッダ256から成るトランスポート層ヘッダ233と、アプリケーション層データ234が連結された構成となっている。
図4は、パケット記憶部に記憶されるパケットのIPv6ヘッダの構成を表わしたものである。IPv6ヘッダ232には、先頭から8バイトを除いた次の16バイトの領域に送信元IPアドレス241が格納され、続く次の16バイトの領域に宛先IPアドレス242が格納される。ただし、第1〜第kの通信端末1041〜104kを含む通信システム100の各通信端末に割り当てられているIPアドレスのデータ長は4バイトとなっているものとする。このため、ここでは送信元IPアドレス241の後半の4バイトと宛先IPアドレス242の後半4バイトの領域のみ使用されるようになっている。IPv6ヘッダ232の先頭から宛先IPアドレス242までの部分が、IPv6のルーティングに使用されるヘッダであり、この後に拡張ヘッダが連結される場合にはこの部分は基本ヘッダとして扱われる。この部分を基本ヘッダ243と呼ぶものとする。
IPv6ヘッダ232では更にこの基本ヘッダ243の後に続けて、経路記録、フラグメント、認証あるいは暗号化といった各種の拡張ヘッダ244を適宜追加できるようになっている。追加される拡張ヘッダ244の種類や個数は不特定であり、複数の拡張ヘッダ244が追加される場合には数珠繋がりにこれらが連結されるようになっている。ここでは、基本ヘッダ243の後ろにn個の拡張ヘッダ2441〜244nがこの順序で連結されているものとする。
これらの拡張ヘッダ244および図3のトランスポート層ヘッダ233に配置されるTCPヘッダ251やUDPヘッダ256には、その種類ごとに次ヘッダ値と呼ばれる識別番号が予め割り当てられている。そして、IPv6ヘッダ232の先頭から6バイトを除いた次の8ビットの領域には、拡張ヘッダ244のうち基本ヘッダ243の次に配置された拡張ヘッダ244、すなわちここでは第1の拡張ヘッダ2441に割り当てられた次ヘッダ値245が格納される。また、各拡張ヘッダ244には、図示しないが同様に自己の次に配置された拡張ヘッダに割り当てられた次ヘッダ値を格納するための領域がそれぞれ用意されている。したがって、たとえばIPv6ヘッダ232の最後に配置された第nの拡張ヘッダ244nの次ヘッダ値には、図3のトランスポート層ヘッダ233に配置されたTCPヘッダ251あるいはUDPヘッダ256に割り当てられた次ヘッダ値のうち該当するものが格納される。
図5は、パケット記憶部に記憶されるパケットのTCPヘッダの構成を表わしたものである。TCPヘッダ251には、先頭から2バイトの領域に送信元ポート番号252が格納され、次の2バイトの領域に宛先ポート番号253が格納されるようになっている。
図6は、パケット記憶部に記憶されるパケットのUDPヘッダの構成を表わしたものである。UDPヘッダ256も、図5に示したTCPヘッダ251と同様に、先頭から2バイトの領域に送信元ポート番号257が格納され、次の2バイトの領域に宛先ポート番号258が格納されるようになっている。
図7は、パケット記憶部に記憶されるパケットのエントリテーブルへの登録の対象となる部分を説明するためのものである。ここで、図4に示したn個の拡張ヘッダ2441〜244nの各ヘッダ長の総和を拡張ヘッダ長aとする。図2のエントリテーブル203には、パケット231のIPv6ヘッダ232の送信元IPアドレス241および宛先IPアドレス242と、図5に示したTCPヘッダ251の送信元ポート番号252および宛先ポート番号253あるいは図6に示したUDPヘッダ256の送信元ポート番号257および宛先ポート番号258とを登録するようになっている。したがって、パケット231の先頭261から20バイトを除いた次の4バイトの部分、先頭261から36バイトを除いた次の4バイトの部分、そして先頭261から40バイトと更に拡張ヘッダ長aを除いた次の4バイトの部分を取得し、これを登録するようにすればよい。
しかしながら、拡張ヘッダ長aを判別できなければ、トランスポート層ヘッダ233の送信元ポート番号252、257と宛先ポート番号253、258を正しく取得することができない。そこで、図2に示すテーブル登録処理部205は、パケット記憶部204に記憶されたパケット231を参照して拡張ヘッダ長aの演算を行い、その演算結果を使用して各データの取得と登録を行う。
図8は、テーブル登録処理部のテーブル登録処理の流れを表わしたものである。テーブル登録処理部205は、パケット記憶部204に新たなパケット231のデータが記憶されるのを監視するようになっている(ステップS301)。新たなパケット231のデータが記憶されると(Y)、何番目の拡張ヘッダ244に格納された次ヘッダ値についての処理を実行中であるかを表わす拡張ヘッダ番号mと、拡張ヘッダ244のヘッダ長の累積を表わす累積ヘッダ長bを、それぞれ初期化するとともに、パケット231の基本ヘッダ243から次ヘッダ値245を取得する。ここで拡張ヘッダ番号mには初期値「1」を、累積ヘッダ長bには初期値「0」をそれぞれ設定する(ステップS302)。そして、取得した次ヘッダ値245に該当する情報が、図2に示す第1のヘッダ長情報格納部206に格納されているか否かを判別する(ステップS303)。具体的には、一致する次ヘッダ値が存在し、なおかつその次ヘッダ値に対応付けられた有効な情報が存在するか否かを判別する。
図9は、IETFで既に標準化されている拡張ヘッダの種類と次ヘッダ値との対応付けを表わしたものである。ここでは、たとえばルータで参照される情報を格納するホップバイホップオプションヘッダには次ヘッダ値「0」が、ルーティングに使用されるルーティングヘッダには次ヘッダ値「43」がそれぞれ対応付けられている。また、拡張ヘッダではないが、TCPヘッダ251には次ヘッダ値「6」が、UDPヘッダ256には次ヘッダ値「17」がそれぞれ対応付けられている。
図10は、第1のヘッダ長情報格納部に格納される内容を表わしたものである。第1のヘッダ長情報格納部206には、図9に示した次ヘッダ値ごとに、該当する拡張ヘッダ244の先頭からヘッダ長を格納する領域の開始位置までのビット数としてのヘッダ長領域オフセットと、そのヘッダ長を格納する領域のビット数としてのヘッダ長領域サイズとが対応付けて格納されている。また、固定長の拡張ヘッダ244の次ヘッダ値の場合には、その固定ヘッダ長が対応付けて格納されている。
たとえば、ホップバイホップオプションヘッダを示す次ヘッダ値「0」には、ヘッダ長領域オフセット「8ビット」と、ヘッダ長領域サイズ「8ビット」が対応付けられている。これは、その拡張ヘッダ244の先頭から8ビットを除いた次の8ビットの領域にその拡張ヘッダ244自身のヘッダ長が格納されていることを示している。ただし、このヘッダ長は図7に示した拡張ヘッダ長aを算出するためのものである。したがって、TCPヘッダ251とUDPヘッダ256についてはそのヘッダ長を算入しないため、これらを示す次ヘッダ値「6」および「17」には、それぞれ固定ヘッダ長「0ビット」が対応付けられている。また、たとえば認証ヘッダを示す次ヘッダ値「51」には、ヘッダ長領域オフセット「8ビット」とヘッダ長領域サイズ「8ビット」だけでなく、固定ヘッダ長「96ビット」が対応付けられている。これは、「96ビット」にその拡張ヘッダ244の先頭から8ビットを除いた次の8ビットの領域に格納された値を加算した値がヘッダ長を表わすことを示している。
更に、第1のヘッダ長情報格納部206には、該当するヘッダの先頭から次ヘッダ値を格納する領域の開始位置までのビット数としての次ヘッダ値領域オフセットと、その次ヘッダ値を格納する領域のビット数としての次ヘッダ値領域サイズとが対応付けて格納されている。これにより、各ヘッダのどの領域にそのヘッダの次に連結されるヘッダの種類を表わす次ヘッダ値が格納されているかを特定することができる。たとえば、認証ヘッダを示す次ヘッダ値「51」には、次ヘッダ値領域オフセット「0ビット」と次ヘッダ値領域サイズ「8ビット」が対応付けられている。これは、認証ヘッダの先頭の8ビットに次ヘッダ値が格納されていることを示している。
図8に戻って説明を続ける。取得した次ヘッダ値に該当する情報が図10に示した第1のヘッダ長情報格納部206に存在する場合(ステップS303:Y)、その情報を基に対応するヘッダのヘッダ長を取得して累積ヘッダ長bに加算する(ステップS304)。具体的には、固定ヘッダ長が対応付けられている場合にはこれを取得し、ヘッダ長領域オフセットおよびヘッダ長領域サイズが対応付けられている場合にはこれらが示す領域に格納されている値を取得し、両方が対応付けられている場合には両方で得られた値を合算する。ここでは、ステップ303で次ヘッダ値「0」が取得されたとする。すなわち、これは第1の拡張ヘッダ2441がホップバイホップオプションヘッダであることを示しており、図10を参照することによって、ホップバイホップオプションヘッダの先頭から8バイトを除いた次の8バイトに格納されたヘッダ長が累積ヘッダ長bに加算される。
まだ拡張ヘッダ長aに算入すべき拡張ヘッダ244が残っている場合、すなわち次のヘッダがまだTCPヘッダ251とUDPヘッダ256のいずれでもない場合には(ステップS305:N)、第1の拡張ヘッダ2441の中の次ヘッダ値の領域を特定する(ステップS306)。TCPヘッダ251またはUDPヘッダ256であるか否かの判別は、たとえばステップS302で取得した次ヘッダ値がこれらを示す値「6」または値「17」のいずれかに該当するか否かによって判別することができる。また、第1の拡張ヘッダ2441の中の次ヘッダ値の領域の特定は、ステップ302で基本ヘッダ243から取得された次ヘッダ値に対応付けられた次ヘッダ値領域オフセットおよび次ヘッダ値領域サイズとを取得することによって行われる。そして、第1の拡張ヘッダ2441のステップS306で特定された領域から次ヘッダ値を取得し(ステップS307)、拡張ヘッダ番号mを1つ増加させて第2の拡張ヘッダ2442へと処理を移す(ステップS308)。そしてステップS303へ戻り、取得した次ヘッダ値に一致する次ヘッダ値が図10に示した第1のヘッダ長情報格納部206に格納されているか否かの判別を行う。
ここで、第1の拡張ヘッダ2441の次に配置された第2の拡張ヘッダ2442が、まだIETFで標準化されていない新規の種類、すなわち図10に格納されていない種類であったとする。このような新規の種類の拡張ヘッダ244についての各種情報は、前記したように第2のヘッダ長情報格納部207に格納されるようになっている。
図11は、第2のヘッダ長情報格納部に格納される内容を表わしたものである。第2のヘッダ長情報格納部207には第1のヘッダ長情報格納部206に格納された種類以外の種類の拡張ヘッダ244について、第1のヘッダ長情報格納部206と同様に、ヘッダ長領域オフセットとヘッダ長領域サイズ、あるいは固定ヘッダ長がそれぞれ対応付けて格納されている。更に、次ヘッダ値領域オフセットと次ヘッダ値領域サイズも同様に対応付けて格納されている。
図8に戻って説明を続ける。第2の拡張ヘッダ2442に割り当てられた次ヘッダ値は第1のヘッダ長情報格納部206に格納されていないため(ステップS303:N)、次に図11に示した第2のヘッダ長情報格納部207に該当する情報が存在するか否かを判別する(ステップS309)。ここで該当する情報が存在する場合には(Y)、ステップS304へ進み、同様に対応付けられた情報を基に対応するヘッダのヘッダ長を取得して累積ヘッダ長bに加算する。第2の拡張ヘッダ2442に割り当てられた次ヘッダ値として「101」が取得されたとすると、「101」は、図11で明らかなように第2のヘッダ長情報格納部207に該当する情報が格納されているため、対応するヘッダ長を取得して累積ヘッダ長bに加算されることになる。ステップS303からステップS308までの処理は、すべての拡張ヘッダ244のヘッダ長の累積ヘッダ長bへの加算が完了するまで繰り返される。
ヘッダ長を取得する対象となっているヘッダがTCPヘッダ251あるいはUDPヘッダ256となると(ステップS305:Y)、パケット記憶部204から該当するパケット231の送信元IPアドレス241および宛先IPアドレス242を取得し、エントリテーブル203にエントリを作成する(ステップS310)。更に、すべての拡張ヘッダ244のヘッダ長の加算が完了した累積ヘッダ長bを図7に示した拡張ヘッダ長aとして決定し、パケット213の先頭261から40バイト+aを除いた次の4バイトの領域に格納されたデータを取得する。そして、これを送信元ポート番号252と宛先ポート番号253としてエントリに追加する(ステップS311)。そして、再び新たなパケット231がパケット記憶部204に記憶されるのを待機する(リターン)。なお、基本ヘッダ243のデータ長40バイトを累積ヘッダ長bの初期値としておくようにしておき、ステップS311ではパケット231の先頭261から累積ヘッダ長bを除いた次の4バイトからデータを取得するようにしてもよい。
一方、いずれかの拡張ヘッダ244について、第1のヘッダ長情報格納部206にも第2のヘッダ長情報格納部207にも該当する次ヘッダ値が存在しなかった場合、あるいは存在していてもこれに対応するヘッダ長が格納されておらずヘッダ長を取得できなかった場合には(ステップS303:N、ステップS309:N)、拡張ヘッダ長aを演算することができない。したがって、図1に示す管理装置105にエラーが発生した旨を表示させてネットワーク管理者に通知し(ステップS312)、再び新たなパケット231がパケット記憶部204に記憶されるのを待機する(リターン)。
たとえば、図9に示したヘッダの種類のうちESP(Encapsulating Security Payload)ヘッダは、その内容が暗号化されヘッダ長の判別を行うことができないため、第1のヘッダ長情報格納部206では図10に示したように対応する次ヘッダ値「50」は情報なしの状態となっている。また、次ヘッダなしの場合に対応する次ヘッダ値「59」も、同様に情報なしの状態となっている。このような場合には、ヘッダ長が取得されないとしてステップS312へと進むことになる。なお、エラー通知を行う際に、そのエラーの原因を併せて図1に示す管理装置105に通知するようにしてもよい。具体的には、たとえばESPヘッダを示す次ヘッダ値「50」の場合にはLAN2のTAG6の「H1ERROR」に表示し、次ヘッダなしを示す次ヘッダ値「59」の場合にはLAN2のTAG6の「H2ERROR」に表示するようにする。
このようにして、LAN102側からIPv6適用LAN101側へと転送される各パケット231からソケットが取得され、エントリテーブル203にエントリが作成される。パケット転送処理部202は、IPv6適用LAN101側から受け取った各パケット231について、その宛先IPアドレス242と宛先ポート番号253に該当するエントリがエントリテーブル203に存在するか否かを判別する。そして、存在すれば宅内ネットワーク103側への転送を行い、存在しなければ転送せずにそのまま廃棄する。
IPv6適用LAN101側から受け取ったパケット231からの宛先ポート番号253の取得は、図8で説明した手順を適用してもよいし、宛先IPアドレス242をまずパケット231から取得してその宛先IPアドレス242に対応する宛先ポート番号253をエントリテーブル203からピックアップし、その宛先ポート番号253に一致するデータ列がパケット231に存在するか否かを判別するようにしてもよい。また、パケット記憶部204へのパケット231の記憶を宅内ネットワーク103側から受信したパケットに該当するエントリが存在しない場合にのみ行うようにしてもよい。また、エントリテーブル203に登録しようとするエントリに一致するエントリが既にエントリテーブル203に存在する場合には、その既に存在するエントリを削除してから新たに登録するようにしてもよい。あるいは、パケット記憶部204へのパケット231の記憶を指定された期間のみに実行し、次に記憶が行われるまでは各エントリを保持するようにしてもよい。
以上説明したようにこの実施例では、第1のヘッダ長情報格納部206や第2のヘッダ長情報格納部207に、各ヘッダの種類に割り当てられた次ヘッダ値に対応付けて、該当するヘッダのヘッダ長に関する情報を予め格納する。そして、パケット231の先頭から順に各ヘッダに記述された次ヘッダ値を取得してこれを第1のヘッダ長情報格納部206あるいは第2のヘッダ長情報格納部207で検索し、次ヘッダ値を取得したヘッダの次に連結されたヘッダの長さを特定する。そして特定された各ヘッダ長を累積し、取得した次ヘッダ値がTCPパケットあるいはUDPパケットを示すものであれば、そこまでの累積値に基本ヘッダ243のヘッダ長を加算した値をポート番号が記述されている領域のパケット231の先頭からのオフセットとし、その領域からポート番号を取得する。これにより、必要に応じて拡張ヘッダが連結しその後ろにポート番号が記述されるIPv6のパケットであっても、そのヘッダ長を判別し、ポート番号を効率良く短時間で取得することが可能となり、ポート番号を活用した通信のファストパスに寄与することができる。また、IPアドレスと併せて取得することで、ソケットとして取得しこれをエントリテーブルに登録することができる。
また、IPv6の拡張ヘッダには将来的な機能追加によって新たな拡張ヘッダの種類が標準化される可能性があるが、第2のヘッダ長情報格納部207を用意することによってこのような新規の拡張ヘッダの種類にも柔軟に対応させることができる。また、既に標準化されている拡張ヘッダを格納した第1のヘッダ長情報格納部206を先に検索するので、IETFで既に標準化されている拡張ヘッダが多く使用されるような場合にはエントリテーブルへの登録処理を迅速に行うことができる。
<本発明の変形例>
以上説明した実施例では、いずれかの拡張ヘッダについて第1のヘッダ長情報格納部にも第2のヘッダ長情報格納部にも該当する次ヘッダ値が存在しなかった場合、図1に示す管理装置105にエラーが発生した旨を表示させるようにした。このような場合、その次ヘッダ値を併せて通知すれば、その次ヘッダ値に対応する各種情報をネットワーク管理者が入手してこれを第2のヘッダ長情報格納部に登録でき、次からはエントリテーブルへの登録が可能となる。
図12は、本発明の変形例による通信装置としての宅内接続装置の構成を表わしたものであり、実施例の図2に対応するものである。そこで、図2と同一部分には同一符号を付し、これについての説明を省略する。この宅内接続装置402には、図2に示したテーブル登録処理部205に替えて、これとは異なる内容のテーブル登録処理を行うテーブル登録処理部405を備えている。なお、この宅内接続装置402は実施例1の図1に示した通信システム100と同様の通信システムに配置されており、宅内接続装置202と同様に宅内ネットワーク103をIPv6適用LAN101に接続しているものとする。
図13は、テーブル登録処理部のテーブル登録処理の流れを表わしたものであり、実施例の図8に対応するものである。そこで、図8と同一部分には同一ステップ番号を付し、これについての説明を省略する。テーブル登録処理部405は、ステップS302あるいはステップS307で次ヘッダ値を取得すると、第1のヘッダ長情報格納部206か第2のヘッダ長情報格納部207に一致する次ヘッダ値が存在するか否かを判別する(ステップS551)。一致する次ヘッダ値が存在し(Y)、更に固定ヘッダ長等が格納されておりヘッダ長が取得可能であれば(ステップS552:Y)、ステップ304へ進みそのヘッダ長を取得して累積ヘッダ値に加算する。ヘッダ長が取得できない場合には(ステップS552:N)、図1に示す管理装置105にヘッダ長が取得できずにエントリテーブルへの登録が行えない旨を表示させ、これをネットワーク管理者に通知する(ステップS553)。
一方、第1のヘッダ長情報格納部206と第2のヘッダ長情報格納部207のいずれにも一致する次ヘッダ値が存在しない場合には(ステップS551:N)、管理装置105にその次ヘッダ値とその次ヘッダ値に対応する情報の第2のヘッダ長情報格納部207への格納が必要である旨を表示させてこれをネットワーク管理者に通知する(ステップS554)。具体的には、第2のヘッダ長情報格納部206への情報の登録を要求するメッセージを付加するとともに次ヘッダ値を格納した要求パケットを生成し、パケット転送処理部202を使用して管理装置105へ送信する。これにより、ネットワーク管理者に第2のヘッダ長情報格納部207への該当する情報の新規格納を促すことができる。そして、要求パケットに対応して管理装置105から応答パケットが送られてくると、パケット転送処理部202を使用してこれを受信し、格納された情報を第2のヘッダ長情報格納部207に登録する。すると、以後その種類の拡張ヘッダ244が追加されたパケット231を受信したときに、テーブル登録処理部405はそのパケット231からソケットを取得してエントリテーブル203に登録することが可能となる。
以上説明したようにこの変形例では、第1のヘッダ長情報格納部206と第2のヘッダ長情報格納部207のいずれにも存在しない次ヘッダ値がパケット231から取得された場合には、その次ヘッダ値を通知してネットワーク管理者に該当する情報の新規登録を促すようにした。これにより、新規の拡張ヘッダがIPv6に次々に追加されるような場合でも、ネットワーク管理者がその次ヘッダ値をヒントに対応する拡張ヘッダに関する情報を調べて格納させ、宅内接続装置402に格納される情報をこのような新規の拡張ヘッダ244の追加に追従させていくことができる。
なお、たとえば新規で追加される拡張ヘッダ244についてヘッダ長に関する情報が格納される領域が統一されていれば、次ヘッダ値を取得した拡張ヘッダ244の次の拡張ヘッダ224からヘッダ長を取得し、これを自動で第2のヘッダ長情報格納部207に格納させるようにしてもよい。更に、次ヘッダ値が格納される領域も統一されていれば、次ヘッダ値も併せて格納させることができる。
また、以上説明した実施例および変形例では、地域的に限定された通信システムでIPv6が運用される場合への適用について説明したが、将来IPv6がインターネットの標準プロトコルとなった場合には、インターネットへの適用を含めたグローバルな実用化が可能である。また、IPv6のパケットだけでなく、ヘッダを構成する拡張ヘッダがパケットごとに異なるような他の各種パケットに適用できることはもちろんである。
本発明の一実施例による通信装置を使用した通信システムの構成を表わしたシステム構成図である。 本発明の実施例による宅内接続装置の構成を表わした構成図である。 本発明の実施例によるパケット記憶部に記憶されるパケットの構成を表わした説明図である。 本発明の実施例によるパケット記憶部に記憶されるパケットのIPv6ヘッダの構成を表わした説明図である。 本発明の実施例によるパケット記憶部に記憶されるパケットTCPヘッダの構成を表わした説明図である。 本発明の実施例によるパケット記憶部に記憶されるパケットのUDPヘッダの構成を表わした説明図である。 本発明の実施例によるパケット記憶部に記憶されるパケットのエントリテーブルへの登録の対象となる部分を説明するための説明図である。 本発明の実施例によるテーブル登録処理部のテーブル登録処理の流れを表わした流れ図である。 IETFで既に標準化されている拡張ヘッダの種類と次ヘッダ値との対応付けを表わした説明図である。 本発明の実施例による第1のヘッダ長情報格納部に格納される内容を表わした説明図である。 本発明の実施例による第2のヘッダ長情報格納部に格納される内容を表わした説明図である。 本発明の変形例による通信装置としての宅内接続装置の構成を表わした構成図である。 本変形例によるテーブル登録処理部のテーブル登録処理の流れを表わした流れ図である。
符号の説明
100 通信システム
101 IPv6適用LAN
102、402 宅内接続装置
103 宅内ネットワーク
104 通信端末
105 管理装置
202 パケット転送処理部
203 エントリテーブル
204 パケット記憶部
205、405 テーブル登録処理部
206 第1のヘッダ長情報格納部
207 第2のヘッダ長情報格納部

Claims (8)

  1. 受信したパケットのヘッダにおける予め定めた領域から、このヘッダを基本ヘッダとしてその後に任意の数の拡張ヘッダが連結される場合のそれぞれの拡張ヘッダの種類を判別する種類判別手段と、
    それぞれの種類別に拡張ヘッダの形式に関する情報を記憶する拡張ヘッダ内容記憶手段と、
    前記種類判別手段によって種類が判別できなかった拡張ヘッダが存在したとき、これを外部に通知する通知手段と、
    前記拡張ヘッダ内容記憶手段に、拡張ヘッダの種類と形式に関する情報を追加するための記憶内容追加入力手段
    とを具備することを特徴とする通信装置。
  2. 受信したパケットのヘッダにおける予め定めた領域から、このヘッダを基本ヘッダとしてその後に任意の数の拡張ヘッダが連結される場合のそれぞれの拡張ヘッダの種類を判別する種類判別手段と、
    それぞれの種類別に拡張ヘッダの形式に関する情報を記憶する拡張ヘッダ内容記憶手段と、
    前記種類判別手段によって種類が判別できなかった拡張ヘッダについてその形式に関する情報を要求する要求パケットを生成して送出する要求パケット送出手段と、
    送出した要求パケットに対する応答パケットが返送されてきたとき、これを基に判別された新たな種類の拡張ヘッダとその形式に関する情報を拡張ヘッダ内容記憶手段に追加する記憶内容追加手段
    とを具備することを特徴とする通信装置。
  3. 受信したパケットのヘッダにおける予め定めた領域から、このヘッダを基本ヘッダとしてその後に任意の数の拡張ヘッダが連結される場合の最初の拡張ヘッダの種類を記述した情報を読み出す第1の情報読出手段と、
    拡張ヘッダの種類とヘッダ長をそれぞれ対応付けて記憶した種類ヘッダ長対応記憶手段と、
    それぞれの拡張ヘッダにおける予め定めた領域から、次に連結される拡張パケットが存在する場合のその拡張ヘッダの種類を記述した情報を読み出す第2の情報読出手段と、
    前記第1の情報読出手段によって拡張ヘッダの種類を記述した情報が読み出されたとき、前記種類ヘッダ長対応記憶手段によって対応する最初の拡張ヘッダのヘッダ長を算出して前記基本ヘッダのヘッダ長に加算し、これ以降に連結されているそれぞれの拡張ヘッダに対しては前記第2の情報読出手段によって拡張ヘッダの種類を記述した情報が読み出されるたびにこれら拡張ヘッダのヘッダ長をこれに累算するヘッダ長累算手段と、
    このヘッダ長累算手段によって前記パケットの前記基本ヘッダおよびすべての拡張ヘッダにより構成されるヘッダの全長が求められたとき、これを基準としてこのヘッダに続くデータの読み出しを行うデータ読出手段
    とを具備することを特徴とする通信装置。
  4. 前記種類ヘッダ長対応記憶手段に対応する種類の拡張ヘッダが存在しないとき、その新たな種類の拡張ヘッダのヘッダ長を要求するヘッダ長要求パケットを生成して送出するヘッダ長要求パケット送出手段を具備することを特徴とする請求項3記載の通信装置。
  5. 前記ヘッダ長要求パケット送出手段によってヘッダ長要求パケットが送出されたとき、これに応答する応答パケットを受信する応答パケット受信手段と、
    この応答パケット受信手段が受信した応答パケットから新たな種類の拡張パケットとそのヘッダ長の組み合わせを前記種類ヘッダ長対応記憶手段に記憶させる追加記憶手段
    とを具備することを特徴とする請求項4記載の通信装置。
  6. 前記データ読出手段はポート番号を読み出すポート番号読出手段であり、前記基本ヘッダからアドレス情報を読み出すアドレス情報読出手段と、このアドレス情報読出手段から読み出したアドレス情報と前記ポート番号読出手段によって読み出されたポート番号を組み合わせてルーティングのためのルーティング情報を作成するルーティング情報作成手段を更に具備することを特徴とする請求項3記載の通信装置。
  7. 受信したパケットのヘッダにおける予め定めた領域から、このヘッダを基本ヘッダとしてその後に任意の数の拡張ヘッダが連結される場合の最初の拡張ヘッダの種類を記述した情報を読み出す第1の情報読出ステップと、
    拡張ヘッダの種類を記述した情報が読み出されると、その情報が指し示す拡張ヘッダにおける予め定めた領域から、その拡張ヘッダの次に連結される拡張ヘッダが存在する場合のその連結される拡張ヘッダの種類を記述した情報を読み出す第2の情報読出ステップと、
    前記第1の情報読出ステップおよび第2の情報読出ステップで拡張ヘッダの種類を記述した情報が読み出されるごとに、拡張ヘッダの種類とヘッダ長をそれぞれ対応付けて記憶した種類ヘッダ長対応記憶手段によって対応する拡張ヘッダのヘッダ長を算出する拡張ヘッダ長算出ステップと、
    この拡張ヘッダ長算出ステップで前記パケットのすべての拡張ヘッダのヘッダ長が算出されると、その算出された各ヘッダ長および前記基本ヘッダのヘッダ長を合計して前記パケットの前記基本ヘッダおよびすべての拡張ヘッダにより構成されるヘッダの全長を求めるヘッダ長判別ステップと、
    このヘッダ長判別ステップで求められたヘッダの全長を基準としてこのヘッダに続くデータの読み出しを行うデータ読出ステップ
    とを具備することを特徴とするデータ読出方法。
  8. 通信装置を構成するコンピュータに、
    受信したパケットのヘッダにおける予め定めた領域から、このヘッダを基本ヘッダとしてその後に任意の数の拡張ヘッダが連結される場合の最初の拡張ヘッダの種類を記述した情報を読み出す第1の情報読出処理と、
    拡張ヘッダの種類を記述した情報が読み出されると、その情報が指し示す拡張ヘッダにおける予め定めた領域から、その拡張ヘッダの次に連結される拡張ヘッダが存在する場合のその連結される拡張ヘッダの種類を記述した情報を読み出す第2の情報読出処理と、
    前記第1の情報読出処理および第2の情報読出処理で拡張ヘッダの種類を記述した情報が読み出されるごとに、拡張ヘッダの種類とヘッダ長をそれぞれ対応付けて記憶した種類ヘッダ長対応記憶手段によって対応する拡張ヘッダのヘッダ長を算出する拡張ヘッダ長算出処理と、
    この拡張ヘッダ長算出処理で前記パケットのすべての拡張ヘッダのヘッダ長が算出されると、その算出された各ヘッダ長および前記基本ヘッダのヘッダ長を合計して前記パケットの前記基本ヘッダおよびすべての拡張ヘッダにより構成されるヘッダの全長を求めるヘッダ長判別処理と、
    このヘッダ長判別処理で求められたヘッダの全長を基準としてこのヘッダに続くデータの読み出しを行うデータ読出処理
    とを実行させることを特徴とするデータ読出プログラム。
JP2005144615A 2005-05-17 2005-05-17 通信装置、データ読出方法およびデータ読出プログラム Expired - Fee Related JP4511993B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005144615A JP4511993B2 (ja) 2005-05-17 2005-05-17 通信装置、データ読出方法およびデータ読出プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005144615A JP4511993B2 (ja) 2005-05-17 2005-05-17 通信装置、データ読出方法およびデータ読出プログラム

Publications (2)

Publication Number Publication Date
JP2006324815A true JP2006324815A (ja) 2006-11-30
JP4511993B2 JP4511993B2 (ja) 2010-07-28

Family

ID=37544180

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005144615A Expired - Fee Related JP4511993B2 (ja) 2005-05-17 2005-05-17 通信装置、データ読出方法およびデータ読出プログラム

Country Status (1)

Country Link
JP (1) JP4511993B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010097452A (ja) * 2008-10-17 2010-04-30 Fuji Xerox Co Ltd 電力制御装置及びプログラム
JP2011514776A (ja) * 2008-03-03 2011-05-06 サムスン エレクトロニクス カンパニー リミテッド 無線通信システムにおける制御情報を送受信する方法及び装置
KR101490608B1 (ko) 2013-07-24 2015-02-06 삼성전자주식회사 무선 통신 시스템에서 제어 정보를 송수신하는 방법 및 장치

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101800750B (zh) 2010-03-03 2012-04-18 华为技术有限公司 数据传输方法、装置及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11261649A (ja) * 1998-03-12 1999-09-24 Hitachi Ltd データ処理装置及びそれを適用したルータ・ブリッジ
JP2000174811A (ja) * 1998-12-02 2000-06-23 Nec Corp サービス属性割り当て方法とネットワーク機器
JP2006135574A (ja) * 2004-11-05 2006-05-25 Fujitsu Ltd パケット伝送装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11261649A (ja) * 1998-03-12 1999-09-24 Hitachi Ltd データ処理装置及びそれを適用したルータ・ブリッジ
JP2000174811A (ja) * 1998-12-02 2000-06-23 Nec Corp サービス属性割り当て方法とネットワーク機器
JP2006135574A (ja) * 2004-11-05 2006-05-25 Fujitsu Ltd パケット伝送装置

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011514776A (ja) * 2008-03-03 2011-05-06 サムスン エレクトロニクス カンパニー リミテッド 無線通信システムにおける制御情報を送受信する方法及び装置
KR101455393B1 (ko) * 2008-03-03 2014-10-27 삼성전자주식회사 무선 통신 시스템에서 제어 정보를 송수신하는 방법 및 장치
US9001776B2 (en) 2008-03-03 2015-04-07 Samsung Electronics Co., Ltd. Method and apparatus for transmitting/receiving control information in a wireless communication system
US9008037B2 (en) 2008-03-03 2015-04-14 Samsung Electronics Co., Ltd Method and apparatus for transmitting/receiving control information in a wireless communication system
US9980252B2 (en) 2008-03-03 2018-05-22 Smsung Electronics Co., Ltd Method and apparatus for transmitting/receiving control information in a wireless communication system
US10299253B2 (en) 2008-03-03 2019-05-21 Samsung Electronics Co., Ltd Method and apparatus for transmitting/receiving control information in a wireless communication system
US10595305B2 (en) 2008-03-03 2020-03-17 Samsung Electronics Co., Ltd Method and apparatus for transmitting/receiving control information in a wireless communication system
US11252700B2 (en) 2008-03-03 2022-02-15 Samsung Electronics Co., Ltd Method and apparatus for transmitting/receiving control information in a wireless communication system
US11622345B2 (en) 2008-03-03 2023-04-04 Samsung Electronics Co., Ltd Method and apparatus for transmitting/receiving control information in a wireless communication system
JP2010097452A (ja) * 2008-10-17 2010-04-30 Fuji Xerox Co Ltd 電力制御装置及びプログラム
KR101490608B1 (ko) 2013-07-24 2015-02-06 삼성전자주식회사 무선 통신 시스템에서 제어 정보를 송수신하는 방법 및 장치

Also Published As

Publication number Publication date
JP4511993B2 (ja) 2010-07-28

Similar Documents

Publication Publication Date Title
CN111095881B (zh) 用于分段路由网络信令和分组处理的方法及装置
US10587492B2 (en) Method and apparatus for tracing paths in service function chains
US7451227B2 (en) Method for path MTU discovery on IP network and apparatus thereof
WO2019210769A1 (en) Explicit routing with network function encoding
Claise Rfc 3954: Cisco systems netflow services export version 9
JP5880570B2 (ja) マッピングサーバ装置、ネットワークシステム、パケット転送方法およびプログラム
JP4814489B2 (ja) 階層化ヘッダ付きのパケットの処理方法、システム及びコンピュータ製品
CN113411258B (zh) 报文处理方法及装置
JP4330520B2 (ja) 通信装置
JP6195014B2 (ja) 通信システム、通信方法、中継装置、および、通信プログラム
JP4511993B2 (ja) 通信装置、データ読出方法およびデータ読出プログラム
JP6623849B2 (ja) 通信装置、通信システム、通信制御装置、通信方法、及び、通信制御方法
KR20130099199A (ko) 통신 시스템, 노드, 패킷 전송 방법 및 프로그램을 기록한 컴퓨터 판독가능 기록 매체
JP2010193146A (ja) 通信装置および通信システム
US20230327983A1 (en) Performance measurement in a segment routing network
WO2004019561A1 (ja) イーサネット(r)におけるフレーム転送方法及びノード
JP2017123522A (ja) 通信装置、制御装置、通信システム、および、通信方法
US10256992B2 (en) Tunnel encapsulation
EP1491004A1 (en) Method for path mtu discovery on ip network and apparatus thereof
TW200425685A (en) Packet forwarding method and system
JP6347177B2 (ja) 転送装置、制御装置、および、通信方法
JP6977690B2 (ja) 転送装置および転送方法
JP4418409B2 (ja) プレミアパケット識別装置、端末装置、プレミアパケット識別システムおよびプレミアパケット識別方法
JP2019033363A (ja) 通信装置、通信装置の制御方法、および、プログラム
KR100666948B1 (ko) 아이피 버전 6 패킷 처리 장치 및 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080416

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100409

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100507

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

Free format text: PAYMENT UNTIL: 20130514

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees