JP4672350B2 - パケット長制御装置及び該方法並びにルータ装置 - Google Patents

パケット長制御装置及び該方法並びにルータ装置 Download PDF

Info

Publication number
JP4672350B2
JP4672350B2 JP2004352525A JP2004352525A JP4672350B2 JP 4672350 B2 JP4672350 B2 JP 4672350B2 JP 2004352525 A JP2004352525 A JP 2004352525A JP 2004352525 A JP2004352525 A JP 2004352525A JP 4672350 B2 JP4672350 B2 JP 4672350B2
Authority
JP
Japan
Prior art keywords
packet
communication
ipsec
packet length
communication 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.)
Active
Application number
JP2004352525A
Other languages
English (en)
Other versions
JP2006165847A (ja
Inventor
健治 藏前
智樹 高添
秀和 黒木
良幸 鈴木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Panasonic Electric Works Co Ltd
Original Assignee
Panasonic Corp
Matsushita Electric Works 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 Panasonic Corp, Matsushita Electric Works Ltd filed Critical Panasonic Corp
Priority to JP2004352525A priority Critical patent/JP4672350B2/ja
Publication of JP2006165847A publication Critical patent/JP2006165847A/ja
Application granted granted Critical
Publication of JP4672350B2 publication Critical patent/JP4672350B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、IPsecを適用した通信パケットのパケット長を制御するパケット長制御装置及びパケット長制御方法に関する。そして、このようなパケット長制御装置を備えるルータ装置に関する。
1969年に米国のARPANET(Advanced Research Projects Agency Network)から始まったインターネットは、1970年代から1980年代にかけてインターネットの基幹技術であるTCP/IP(Transmission Control Protocol/Internet Protocol)が開発・導入され、1990年代の商用サービスの開始とWWW(World Wide Web)技術の開発とをきっかけに爆発的に利用が拡大した。このインターネットは、オープンなネットワークであるため、データの盗聴・改ざん等の危険があり、これを回避するために、近年IPsecと呼ばれるIPにセキュリティ機能を与える技術が開発された。このIPsecは、データの完全性と送信元の装置の認証を行うAH(Authentication Header、認証ヘッダ)と、さらにデータの完全性と送信元の装置の認証に加えてデータの暗号化も行うESP(Encapsulating Security Payload)との2つのプロトコルを主に備えて構成されている。
一方、ネットワーク層の通信プロトコルにIP(Internet Protocol)を用いるネットワークの通信では、下位層のデータリンク層における最大転送単位(Maximum Transmission Unit、以下、「MTU」と略記する。)がそのデータリンク層に用いられる通信プロトコルに応じて決まっているため、IPは、送信すべきデータを下位層のこのMTUに収まるように分割して送信する必要がある。このようなIPにおけるデータ分割は、一般に、IPフラグメンテーションと呼ばれる。
このIPフラグメンテーションの処理が発生すると、IPフラグメンテーションの処理を実行する処理時間が必要となるため、データ転送効率が低下することになる。そして、IPフラグメンテーションの処理は、ルータ装置に負担がかかるため、他の通信パケットの中継処理に支障が出る場合もある。さらに、フラグメント化されたデータグラムが1つでも失われると、IPに再送制御の機能がないので、元のデータを全て送り直さなければならない。一方、IPのバージョン4(以下、「IPv4」と略記する。)では、ルータ装置がIPフラグメンテーションを実行し得るが、IPのバージョン6(以下、「IPv6」と略記する。)では、ルータ装置は、規約によりIPフラグメンテーションを実行しない。
このような事情から通信経路の途中でIPフラグメンテーションの実行を不要にするために、送信元の装置は、送信先の装置までの通信経路におけるMTU(これを一般にPath MTU(パス・エムティユ、経路MTU、以下、「PMTU」と略記する。)と呼ぶ。)を予め探索し、探索したPMTU以下に通信パケットをフラグメント化して送信することが行われる。なお、PMTUは、IPv4ではRFC1191に規定され、IPv6ではRFC1981に規定されている。
このPMTUの探索は、Path MTU Discovery(パス・エムティユ・ディスカバリ、経路MTU探索、以下、「PMTU探索」と略記する。)と呼ばれる機能によって実現される。
IPv4の場合は、このPMTU探索では、まず、送信元の装置は、最初にサイズの大きなIPデータグラムの分割禁止フラグをオン(分割禁止フラグ=1)に設定して当該IPデータグラムを送信する。これを受信したルータ装置では、次の中継先の経路におけるMTUを参照し、IPフラグメンテーションの実行が必要であるか否かを判断する。IPフラグメンテーションの実行が必要である場合において、分割禁止フラグがオンにされているので、ルータ装置は、受信したIPデータグラムを破棄し、ICMP(Internet Control Message Protocol)の到達不能メッセージを送信元の装置に返信する。この到達不能メッセージには、次の中継先の経路におけるMTUが格納されており、この到達不能メッセージを受信した送信元の装置は、この到達不能メッセージによって通知されたMTU以下にIPデータグラムをフラグメント化して送信する。送信元の装置は、これを送信先の装置にIPデータグラムが届くまで繰り返すことによって、PMTUを探索する。
一方、IPv6の場合は、まず、送信元の装置は、最初にサイズの大きなIPデータグラムを送信する。これを受信したルータ装置では、次の中継先の経路におけるMTUを参照し、IPフラグメンテーションの実行が必要であるか否かを判断する。IPフラグメンテーションの実行が必要である場合において、IPv6では途中経路におけるパケット分割は禁止されているので、ルータ装置は、受信したIPデータグラムを破棄し、ICMPv6(Internet Control Message Protocol Version 6)のパケットサイズ超過メッセージを送信元の装置に返信する。このパケットサイズ超過メッセージには、次の中継先の経路におけるMTUが格納されており、このパケットサイズ超過メッセージを受信した送信元の装置は、このパケットサイズ超過メッセージによって通知されたMTU以下にIPデータグラムをフラグメント化して送信する。送信元の装置は、これを送信先の装置にIPデータグラムが届くまで繰り返すことによって、PMTUを探索する。
また、非特許文献1には、トンネルを用いた通信におけるPMTUの処理方法が定義されており、そして、特許文献1には、ICMPエコーリクエストパケットを利用したPMTUの見積もり値を検出する方法が開示されている。
トンネルは、2個のネットワークにそれぞれ含まれるノード間に、その間に在る別のネットワーク上に設けられる仮想的なリンクである。トンネルでは、送信すべき通信パケットは、一方のネットワークの出口におけるノードで別のネットワークにおける通信プロトコルのフレームまたはパケットでカプセル化され、別のネットワークを通過し(即ちトンネルを通過し)、他方のネットワークの入口におけるノードでデカプセル化され元の通信パケットに戻す技術である。
特開2001−251353号公報 "RFC2893 Transition Mechanisms for IPv6 Hosts and Routers",[online],JP−NIC,[平成16年6月1日検索]、インターネット<http://rfc−jp.nic.ad.jp/>
とろこで、IPsecを用いる場合において、上述のPMTU探索では、IPsecにおける拡張ヘッダやESPトレーラや認証データの可変長部分が考慮されていないため、得られたPMTUを用いたとしてもIPsecの通信経路において必ずしもIPフラグメンテーションが実行されないとは限らない。
そして、非特許文献1に記載の方法は、通信パケットの増加分が固定長で決まっている場合にのみ利用可能な方式であるため、SA(Security Association)の内容及びカプセル化前における通信パケットのパケット長に応じて動的に通信パケットの増加分が変化するIPsecのトンネルに用いることは困難である。
また、送信元の装置は、送信元自身ではなく通信経路の途中において適用されるIPsecのSAを知ることができない。即ち、ICMPパケットを送信して応答があった場合には、送信元の装置は、送信時のICMPパケットのパケット長にPMTUを設定することによって、送信先の装置と通信することは可能となる。しかしながら、通信パケットのパケット長は、このように設定したPMTUが用いられたとしてもIPsecのSAに関し必ずしもPMTUの範囲で最大であるとは限らない。従って、通信パケットのパケット長は、特許文献1の方法で見積もったPMTUが用いられたとしてもIPsecのSAに関し必ずしもPMTUの範囲で最大であるとは限らない。
本発明は、上述の事情に鑑みて為された発明であり、IPsecを利用した通信パケットのパケット長がPMTUの範囲で最大になるように最適化するパケット長制御装置及びパケット長制御方法を提供することを目的とする。そして、このようなパケット長制御装置を備えるルータ装置を提供することを目的とする。
上述の目的を達成するために、本発明の一態様に係るパケット長制御装置はIPsecのセキュリティポリシデータベースを記憶するSPD記憶部とIPsecのセキュリティアソシエーションデータベースを記憶するSAD記憶部とIPsecを適用して通信パケットを送信する場合に、前記IPsecを適用した通信パケットのパケット長を計算する計算式をIPのバージョンの種類、IPsecのIPsecプロトコルモードの種類、ESPの暗号化アルゴリズムの種類、ESPの認証データのサイズ及びAHの認証データのサイズに対応付けて記憶するパケット長計算式記憶部と、IPsecを適用して通信パケットを送信する場合に、前記IPsecを適用した通信パケットが通信経路の途中でIPフラグメンテーションされない範囲における最大の前記通信パケットのパケット長を計算する最大パケット長計算部とを備え、前記最大パケット長計算部は前記通信パケットに適用されるIPのバージョンを抽出し前記SPD記憶部のセキュリティポリシデータベースから前記通信パケットに適用されるIPsecプロトコルモードを抽出し前記SAD記憶部のセキュリティアソシエーションデータベースから前記通信パケットに適用されるESPの暗号化アルゴリズム、ESPの認証データのサイズ及びAHの認証データのサイズを抽出しこれら抽出したIPのバージョン、IPsecのIPsecプロトコルモード、ESPの暗号化アルゴリズム、ESPの認証データのサイズ及びAHの認証データのサイズに対応する計算式を前記パケット長計算式記憶部から選択し該選択した計算式に基づいて前記通信パケットが通信経路の途中でIPフラグメンテーションされない範囲における最大の前記通信パケットのパケット長を計算することを特徴とする。
そして、上述のパケット長制御装置において、前記最大パケット長計算部によって前記通信パケットのパケット長が計算された後に、前記最大パケット長計算部によって計算された前記通信パケットのパケット長でデータリンク層における最大転送単位を設定するMTU設定部をさらに備えることを特徴とする。
また、本発明の一態様に係る、IPsecが利用可能なルータ装置は、第1ネットワークとの間で通信パケットを送受信する第1インターフェース部と、第1ネットワークとは異なる第2ネットワークとの間で通信パケットを送受信する第2インターフェース部と、通信パケットのパケット長を制御する上述のパケット長制御装置とを備え、ルーティングする通信パケットにIPsecを適用する場合に、前記パケット長制御装置で該通信パケットが通信経路の途中でIPフラグメンテーションされない範囲における最大の該通信パケットのパケット長を計算し、該計算したパケット長で該通信パケットをルーティングすることを特徴とする。
さらに、複数のネットワークに対応することができるようにする観点から、上述のルータ装置において、前記第1及び第2インターフェース部の何れか一方は、物理的な及び/又は論理的な複数のインターフェースを備えることを特徴とする。
そして、本発明の一態様に係る、通信パケットのパケット長を制御するパケット長制御方法は、前記通信パケットに適用されるIPのバージョンを抽出するステップと、セキュリティポリシデータベースから前記通信パケットに適用されるIPsecプロトコルモードを抽出するステップと、セキュリティアソシエーションデータベースから前記通信パケットに適用されるESPの暗号化アルゴリズム、ESPの認証データのサイズ及びAHの認証データのサイズを抽出するステップと、IPsecを適用して通信パケットを送信する場合に、前記IPsecを適用した通信パケットのパケット長を計算する計算式をIPのバージョンの種類、IPsecのIPsecプロトコルモードの種類、ESPの暗号化アルゴリズムの種類、ESPの認証データのサイズ及びAHの認証データのサイズに対応付けて記憶するパケット長計算式記憶部から、これら抽出したIPのバージョン、IPsecのIPsecプロトコルモード、ESPの暗号化アルゴリズム、ESPの認証データのサイズ及びAHの認証データのサイズに対応する計算式を選択するステップと、該選択した計算式に基づいて前記通信パケットが通信経路の途中でIPフラグメンテーションされない範囲における最大の前記通信パケットのパケット長を計算するステップとを備えることを特徴とする。
このような構成のパケット長制御装置及びパケット長制御方法は、IPsecを適用して通信パケットを送信する場合に、前記IPsecを適用した通信パケットが通信経路の途中でIPフラグメンテーションされない範囲における最大の前記通信パケットのパケット長を計算する。このため、IPsecを適用した通信パケットのパケット長がPMTUの範囲で最大になるように最適化され得る。そして、途中経路でパケットのフラグメンテーションが許可されていないIPv6に適用することでIPv6の場合に通信することができないという事態も生じない。また、IPフラグメンテーションの処理を実行する処理時間が不要となるため、データ転送効率が向上し、ルータ装置に負担がかかることもない。さらに、フラグメント化によるデータグラムの喪失もないので元のデータを全て送り直す事態も生じない。
以下、本発明に係る実施形態を図面に基づいて説明する。なお、各図において同一の符号を付した構成は、同一の構成であることを示し、その説明を省略する。
まず、本実施形態に係るネットワーク及びIPsecルータ装置の構成について説明する。図1は、実施形態におけるネットワークの全体構成を示す図である。図2は、IPsecルータ装置を含むネットワークの構成を示すブロック図である。
図1において、ネットワーク1は、所謂ネットワーク層の通信プロトコルとしてIPを利用する複数のネットワーク2、3を備えて構成される通信網である。ネットワーク1を構成するネットワーク2、3の中には、トンネル12によってIPsecを利用した通信パケットを送受信するIPsecルータ装置11を含むIPvxのネットワーク2と、当該トンネル12が設定されるIPvyのネットワーク3とがある。
IPvxのネットワーク2は、例えば、1又は複数の機器等が通信線によって接続されたローカル・エリア・ネットワーク(Local Area Network、LAN)、及び、これら機器を遠隔に監視及び/又は制御する遠隔監視制御装置を含むLAN等である。図1では、3個のIPvxのネットワーク2−A、2−B、2−Cが示されており、各IPvxのネットワーク2−A、2−B、2−Cは、各IPsecルータ装置11−A、11−B、11−Cをそれぞれ含む。そして、IPsecルータ装置11−AとIPsecルータ装置11−Bとの間であってIPvyのネットワーク3−A中に設定されたトンネル12−AB、及び、IPsecルータ装置11−AとIPsecルータ装置11−Cとの間であってIPvyのネットワーク3−B中に設定されたトンネル12−ACが示されている。IPvxは、IPのバージョンがxであることを示し、そして、IPvyは、IPのバージョンがyであることを示す。本明細書の作成時においてIPのバージョンは、バージョン4(x=4、y=4)及びバージョン6(x=6、y=6)が知られている。
そのため、x=4及びy=4の場合には、トンネル12−AB、12−ACは、IPv4のネットワークがIPv4のネットワーク上に設定するトンネルであるIPv4 over IPv4のトンネルとなる。また、x=4及びy=6の場合には、トンネル12−AB、12−ACは、IPv4のネットワークがIPv6のネットワーク上に設定するトンネルであるIPv4 over IPv6のトンネルとなる。x=6及びy=6の場合には、トンネル12−AB、12−ACは、IPv6のネットワークがIPv6のネットワーク上に設定するトンネルであるIPv6 over IPv6のトンネルとなる。そして、x=6及びy=4の場合には、トンネル12−AB、12−ACは、IPv6のネットワークがIPv4のネットワーク上に設定するトンネルであるIPv6 over IPv4のトンネルとなる。
なお、本明細書において、総称する場合にはアルファベットの添え字を省略した参照符号で示し、個別の構成を指す場合には添え字を付した参照符号で示す。また、IPsecにおいて、通常、IPsecのIPsecプロトコルモードがトンネルモードの場合における通信経路をトンネルと呼んでいるが、本明細書において、IPsecプロトコルモードがトンネルモードの場合及びトランスポートモードを適用した通信経路上にIPvx over IPvyトンネルを適用した通信経路をトンネルと呼ぶこととする。
ネットワーク1は、例えば、電話網、ディジタル通信網及び無線通信網等であり、所定の通信プロトコルを用いて情報を収容した通信信号が伝送される。本実施形態では、ネットワーク1は、通信プロトコルにHTTP(Hyper Text Transfer Protocol)、FTP(File Transfer Protocol)、TCP(Transmission Control Protocol)、UDP(User Datagram Protocol)及びIP(Internet Protocol)等のインターネットプロトコル群が用いられてインターネットを構成する。
IPvxのネットワーク2に含まれるIPsecルータ装置11は、本実施形態では、例えば、IPvxのネットワーク2と別のネットワークであるIPvyのネットワーク3との境界に配置され、IPvyのネットワーク3から送信されてきた通信パケット、当該IPsecルータ装置11が属するIPvxのネットワーク2内から送信されて来た通信パケット、及び、当該IPsecルータ装置11自身が送信する通信パケット等をルーティング(経路選択)すると共に、他のIPvxのネットワーク2内に在るIPsecルータ装置11との間にIPvx over IPvyトンネル(以下、「IPvx−IPvyトンネル」と略記する。)を設定する装置である。図1に示す例では、IPvxのネットワーク2−A内のIPsecルータ装置11−AとIPvxのネットワーク2−B内のIPsecルータ装置11−Bとの間にIPvx−IPvyトンネル12−ABが設定され、そして、IPvxのネットワーク2−A内のIPsecルータ装置11−AとIPvxのネットワーク2−C内のIPsecルータ装置11−Cとの間にIPvx−IPvyトンネル12−ACが設定されている。
IPsecルータ装置11は、図2に示す例では、一戸建て住宅、集合住宅、公共施設、オフィスビル等の建造物内に構成されるIPvxのネットワーク2内に含まれると共に、IPvyのネットワーク3に接続されている。IPvxのネットワーク2は、IPsecルータ装置11、電気をエネルギー源として稼動する1又は複数の機器13(13−a、13−b、・・・)、及び、IPsecルータ装置11と機器13とを接続する通信線14を備えて、例えば、イーサネット(Ethernet、登録商標)を利用したIPvxのイントラネットを構成している。
機器13は、IPsecルータ装置11と通信線14を介して通信を行う通信部51と、機器13の機能を実行する機能部52とを備えて構成され、機能部52の状態(例えば、電源のオン・オフ、稼動状態、故障状態等)をネットワーク1に含まれる他のネットワーク内の遠隔監視制御装置等に通信線14及びIPsecルータ装置11を介して通信部51を用いて送信すると共に、機能部52の状態を制御する制御命令をネットワーク1に含まれる他のネットワーク内の遠隔監視制御装置等からIPsecルータ装置11及び通信線14を介して通信部51を用いて受信し制御命令の通りに制御するものである。制御命令は、例えば、遠隔監視制御装置等にアクセスする携帯電話やPDA(Personal Digital Assistants)やパーソナルコンピュータ等の端末装置から送信される。機能部52は、機器13が、例えば、ガスの使用量を計量するガスメータである場合には、ガスの使用量を計量する計量機能である。機器13は、ガスメータの他に、例えば、電気の使用量を計量する電気メータ、及び、水道の使用量を計量する水道メータ等の計量メータ、照明器具及び空調装置等の住戸環境やオフィス環境等を調整する装置、煙センサ、温度センサ及び湿度センサ等のセンサ、電子錠装置等の住戸設備、テレビジョン、ビデオテープレコーダ、DVDレコーダ及び洗濯機等の家電製品、コンピュータ等の情報処理装置、電話機及びファクシミリ装置等の通信機器、そして、脈拍計、体温計、血中酸素濃度計及び心電図計等の医療機器等である。
IPsecルータ装置11は、図2に示すように、ローカル・エリア・ネットワーク側インターフェース部(以下、「LAN側IF部」と略記する。)21と、制御部22と、記憶部23と、入力部24と、論理インターフェース部(以下、「論理IF部」と略記する。)25と、ワイド・エリア・ネットワーク側インターフェース部(以下、「WAN側IF部」と略記する。)26とを備えて構成される。
LAN側IF部21は、当該IPsecルータ装置11が属するIPvxのネットワーク2内における機器13との間で通信線14を介して通信パケットを送受信するインターフェース回路であり、例えば、イーサネットカード等である。入力部24は、PMTU探索の使用の可否の情報や、IPvx−IPvyトンネルを設定するために必要な情報等の各種情報を当該IPsecルータ装置11に入力する装置であり、例えば、テンキーやキーボード等である。なお、入力内容を確認するために液晶表示装置等の表示部をさらに備えてもよい。論理IF部25は、LAN側IF部21と制御部22との間に配置され、IPvx−IPvyトンネルを構築するための論理的なインターフェースである。WAN側IF部26は、ネットワーク1を構成する他のネットワークとの間で通信パケットを送受信するインターフェース回路であり、例えば、イーサネットカード、56Kモデム、ターミナルアダプタ、ADSLモデム等である。
記憶部23は、パケット長計算式を記憶するパケット長計算式記憶部41、セキュリティポリシデータベース(Security Policy Database、以下、「SPD」と略記する。)を記憶するSPD記憶部42、及び、セキュリティアソシエーションデータベース(Security Association Database、以下、「SAD」と略記する。)を記憶するSAD記憶部43を備え、パケット長計算式を用いて通信パケットのパケット長を最適化するパケット長計算プログラム、インターネットを利用するためのプログラム、通信パケットのルーティングを行うルーティングプログラム等の各種プログラム、及び、各種プログラムの実行中に生じる情報等の各種情報を記憶する。記憶部23は、例えば、RAM(Random Access Memory)等の揮発性のメモリ、及び、ROM(Read Only Memory)や書換え可能なEEPROM(Electrically Erasable Programmable Read Only Memory)等の不揮発性のメモリを備えて構成される。
パケット長計算式は、IPsecを適用して通信パケットを送信する場合に、IPsecを適用した通信パケットが通信経路の途中でIPフラグメンテーションされない範囲における最大のオリジナルな通信パケットのパケット長を計算するための計算式である。
IPsecのIPsecプロトコルモードには、トランスポートモード及びトンネルモードである。図3は、トランスポートモードにおける通信パケットのフォーマットを示す図である。図3(A)は、IPv6の通信パケットのフォーマットを示し、図3(B)は、IPv4のトランスポートモードを適用したIPv6−IPv4の通信パケットのフォーマットを示し、そして、図3(C)は、IPv6のトランスポートモードを適用したIPv6−IPv6の通信パケットのフォーマットを示す。図4は、トンネルモードにおける通信パケットのフォーマットを示す図である。図4(A)は、IPv6の通信パケットのフォーマットを示し、図4(B)は、トンネルモードを適用したIPv6−IPv4の通信パケットのフォーマットを示し、そして、図4(C)は、トンネルモードを適用したIPv6−IPv6の通信パケットのフォーマットを示す。
なお、本実施形態においてWAN側で送受信されるIPパケットについては、説明を簡略化するために、フラグメント、ESP(Encapslating Security Payload)及びAH(Authentication Header)以外の拡張ヘッダが存在しない場合について説明しているが、拡張ヘッダが存在する場合においても同様に取り扱うことが可能である。
まず、トランスポートモードの場合について説明する。トランスポートモードは、トランスポート層の通信パケットをIPsecによってカプセル化し、認証や暗号化の対象とするものである。IPv6の通信パケット60のフォーマットは、図3(A)に示すように、IPv6ヘッダを収容するIPv6ヘッダ部61と、このIPv6ヘッダ部61以外のデータを収容するデータ部62とを備えて構成される。
本実施形態では、トランスポートモードの場合では、IPv6の通信パケット60にIPvx−IPvyトンネルを適用した後にトランスポートモードを適用する。そのため、IPv4のトランスポートモードを適用したIPv6−IPv4の通信パケット70aは、図3(B)に示すように、IPv4ヘッダを収容するIPv4ヘッダ部71と、AHを収容するAHヘッダ部72aと、ESPヘッダを収容するESPヘッダ部73aと、元の通信パケット60におけるIPv6ヘッダ部61及びデータ部62と、ESPトレーラ74aと、ESP認証データを収容するESP認証データ部75aとを備えて構成される。そして、元の通信パケット60におけるIPv6ヘッダ部61及びデータ部62と、ESPトレーラ74aとが暗号化される。一方、IPv6のトランスポートモードを適用したIPv6−IPv6の通信パケット70bは、図3(C)に示すように、IPv6ヘッダを収容するIPv6ヘッダ部76と、AHを収容するAHヘッダ部72bと、ESPヘッダを収容するESPヘッダ部73bと、元の通信パケット60におけるIPv6ヘッダ部61及びデータ部62と、ESPトレーラ74bと、ESP認証データを収容するESP認証データ部75bとを備えて構成される。そして、元の通信パケット60におけるIPv6ヘッダ部61及びデータ部62と、ESPトレーラ74bとが暗号化される。
次に、トンネルモードについて説明する。トンネルモードは、通信パケット全体をIPsecによってカプセル化し、認証や暗号化の対象とするものである。IPv6の通信パケット60’のフォーマットは、図4(A)に示すように、IPv6ヘッダを収容するIPv6ヘッダ部61と、拡張IPv6ヘッダを収容する拡張ヘッダ部63と、データを収容するデータ部64とを備えて構成される。トンネルモードを適用したIPv6−IPv4の通信パケット80aは、図4(B)に示すように、トンネル用のIPv4ヘッダを収容するトンネルIPv4ヘッダ部81と、AHヘッダを収容するAHヘッダ部82aと、ESPヘッダを収容するESPヘッダ部83aと、元の通信パケット60’におけるIPv6ヘッダ部61、拡張IPv6ヘッダ部63及びデータ部64と、ESPトレーラ84aと、ESP認証データを収容するESP認証データ部85aとを備えて構成される。また、トンネルモードを適用したIPv6−IPv6の通信パケット80bは、図4(C)に示すように、トンネル用のIPv6ヘッダを収容するトンネルIPv6ヘッダ部87と、AHヘッダ部82bと、ESPヘッダ部83bと、元の通信パケット60’におけるIPv6ヘッダ部61、拡張IPv6ヘッダ部63及びデータ部64と、ESPトレーラ84bと、ESP認証データ部85bとを備えて構成される。そして、元の通信パケット60’におけるIPv6ヘッダ部61、拡張IPv6ヘッダ部63及びデータ部64と、ESPトレーラ84a、84bとが暗号化される。
また、暗号化アルゴリズムの種類別に見ると、例えば、IV(Initialization Vector、初期化ベクタ)の無い64ビット(bit)ブロック暗号の場合では、オーバヘッドは、ESPヘッダを収容するESPヘッダ部、パディング(Padding)を収容するパディング部、パディング長を収容するパディング長部及び次ヘッダ番号を収容する次ヘッダ番号部を備えて構成される。ESPヘッダ部は、8バイト(byte)であり、パディング部は、0〜7バイトの変動値であり、パディング長部及び次ヘッダ番号部は、1バイトである。このIVの無い64ビットブロック暗号は、例えば、DES(Data Encryption Standard)、3DES、IDEA(International Data Encryption Algorithm)、Blowfish及びCAST−128における各ECB(Electric CodeBook)モードがある。また例えば、IVの有る64ビットブロック暗号の場合では、オーバヘッドは、8バイトのESPヘッダ部、IVを収容する8バイトのIV部、0〜7バイトで変動するパディング部1バイトのパディング長部及び1バイトの次ヘッダ番号部を備えて構成される。このIVの有る64ビットブロック暗号は、例えば、DES、3DES、IDEA、Blowfish及びCAST−128における各CBC(Cipher Block Chaining)モード、各CFB(Cipher FeedBack)モード、各OFB(Output-FeedBack)モード及び各CTR(CounTeR)モードがある。また例えば、IVの無い128ビットブロック暗号の場合では、オーバヘッドは、8バイトのESPヘッダ部、0〜15バイトで変動するパディング部、1バイトのパディング長部及び1バイトの次ヘッダ番号部を備えて構成される。このIVの無し128ビットブロック暗号は、例えば、AES、Twofish、CAST−256及びCamelliaにおける各ECBモードがある。また例えば、IVの有る128ビットブロック暗号の場合では、オーバヘッドは、8バイトのESPヘッダ部、IVを収容する8バイトのIV部、0〜15バイトで変動するパディング部、1バイトのパディング長部及び1バイトの次ヘッダ番号部を備えて構成される。このIVの有り128ビットブロック暗号は、例えば、AES、Twofish、CAST−256及びCamelliaにおける各CBCモード、各CFBモード、各OFBモード及び各CTRモードがある。なお、パディング部のバイト長は、規格上0〜255バイトまで可能であるが、実施形態におけるブロック暗号のバイト数に応じた変動幅になっている。
認証データのサイズ別に見ると、例えば、認証データのサイズが64ビットの場合において、オーバヘッドは、AHの場合では8バイトの認証データを内包した認証ヘッダを収容する20バイトの認証ヘッダ部を備えて構成され、ESPの場合では認証データを収容する8バイトの認証データ部を備えて構成される。認証データのサイズが64ビットになるのは、例えばDES−MACである。また例えば、認証データのサイズが96ビットの場合において、オーバヘッドは、AHの場合では12バイトの認証データを内包した認証ヘッダを収容する24バイトの認証データ部を備えて構成され、ESPの場合では認証データを収容する12バイトの認証データ部を備えて構成される。認証データのサイズが96ビットになるのは、例えばHMAC−MD5、HMAC−SHA−1、HMAC−RIPEMD−160及びAES−MACである。また例えば、認証データのサイズが128ビットの場合において、オーバヘッドは、AHの場合では16バイトの認証データを内包した認証ヘッダを収容する28バイトの認証データ部を備えて構成され、ESPの場合では認証データを収容する16バイトの認証データ部を備えて構成される。
従って、IPsecを適用して通信パケットを送信する場合、IPのバージョンの違い、IPsecのIPsecプロトコルモードの違い、ESPの暗号化アルゴリズムの違い、ESPの認証データのサイズ及びAHの認証データのサイズに応じて通信パケットのパケット長が変動することになる。
ここで、IPsecが適用される前のオリジナルの通信パケットのサイズ(パケット長)をSとすると、トランスポートモードの場合では、最大のパケット長は、各場合に応じて次の式1−1乃至式1−3によって計算される。
まず、AHのみを適用するトランスポートモードの場合では、最大パケット長は、次の式1−1によって計算される。
通信パケット長={S−(IPヘッダ長)}
+(IPヘッダ長)
+(AHヘッダ長) ・・・(式1−1)
但し、AHヘッダ長は、AH認証データを含むものであり、12バイト+AH認証データ長である。
次に、ESPのみを適用するトランスポートモードの場合では、最大パケット長は、次の式1−2によって計算される。
通信パケット長=[{S−(IPヘッダ長)
+(初期化ベクタ長)
+(ESPトレーラパディング長さフィールド長)
+(ESPトレーラ次ヘッダ番号フィールド長)
}÷(ESP暗号化ブロック長)
]×(ESP暗号化ブロック長)
+(IPヘッダ長)
+(ESPヘッダ長)
+(ESP認証データ長) ・・・(式1−2)
但し、初期化ベクタ長は、存在しない場合は0である。
次に、AH及びESPを共に適用するトランスポートモードの場合では、最大パケット長は、次の式1−3によって計算される。
通信パケット長=[{S−(IPヘッダ長)
+(初期化ベクタ長)
+(ESPトレーラパディング長さフィールド長)
+(ESPトレーラ次ヘッダ番号フィールド長)
}÷(ESP暗号化ブロック長)
]×(ESP暗号化ブロック長)
+(IPヘッダ長)
+(AHヘッダ長)
+(ESPヘッダ長)
+(ESP認証データ長) ・・・(式1−3)
但し、AHヘッダ長は、AH認証データを含むものであり、12バイト+AH認証データ長であり、初期化ベクタ長は、存在しない場合は0である。
ここで、[ ]は、[ ]内の計算結果に端数が生じた場合に正数値に繰り上げる計算子である。例えば[10÷8]=[1.25]=2であり、また例えば[12÷5]=[2.4]=3である。以下も同様である。
一方、トンネルモードの場合では、最大のパケット長は、各場合に応じて次の式2−1乃至式2−3によって計算される。
まず、AHのみを適用するトンネルモードの場合では、最大パケット長は、次の式2−1によって計算される。
通信パケット長=S+(外部IPヘッダ長)
+(AHヘッダ長) ・・・(式2−1)
但し、AHヘッダ長は、AH認証データを含むものであり、12バイト+AH認証データ長である。
次に、ESPのみを適用するトンネルモードの場合では、最大パケット長は、次の式2−2によって計算される。
通信パケット長=[{S+(初期化ベクタ長)
+(ESPトレーラパディング長さフィールド長)
+(ESPトレーラ次ヘッダ番号フィールド長)
}÷(ESP暗号化ブロック長)
]×(ESP暗号化ブロック長)
+(外部IPヘッダ長)
+(ESPヘッダ長)
+(ESP認証データ長) ・・・(式2−2)
但し、初期化ベクタ長は、存在しない場合は0である。
次に、AH及びESPを共に適用するトンネルモードの場合では、最大パケット長は、次の式2−3によって計算される。
通信パケット長=[{S+(初期化ベクタ長)
+(ESPトレーラパディング長さフィールド長)
+(ESPトレーラ次ヘッダ番号フィールド長)
}÷(ESP暗号化ブロック長)
]×(ESP暗号化ブロック長)
+(外部IPヘッダ長)
+(AHヘッダ長)
+(ESPヘッダ長)
+(ESP認証データ長) ・・・(式2−3)
但し、AHヘッダ長は、AH認証データを含むものであり、12バイト+AH認証データ長であり、初期化ベクタ長は、存在しない場合は0である。なお、IPv4のIPヘッダ長は、20バイトの固定長として計算している。また、当然のことながら、トランスポートモードでもトンネルモードでもAH及びESPを共に適用しない場合におけるパケット長は、IPsec自体が非適用となるから、Sである。
上述の具体的な場合ごとに式1−1、式1−2、式1−3、式2−1、式2−2又は式2−3を適用すると、表1乃至表8のようになる。表1及び表2は、IPv4トランスポートモードの場合におけるパケット長を求める計算式を示す表である。表3及び表4は、IPv6トランスポートモードの場合におけるパケット長を求める計算式を示す表である。表5及び表6は、IPv4−IPv4及びIPv6−IPv4トンネルモードの場合におけるパケット長を求める計算式を示す表である。表7及び表8は、IPv4−IPv6及びIPv6−IPv6トンネルモードの場合におけるパケット長を求める計算式を示す表である。
ここで、表1乃至表8には、ESPを適用しない場合(ESP無)に、ESPを適用する場合(ESP有)であって暗号化アルゴリズムの種類別(暗号:暗号化アルゴリズムの種類名)ごとに、及び、ESPを適用する場合であって認証データのサイズ別(認証:ICV サイズ(64ビット、96ビット、128ビット))ごとに、それぞれ、AHの適用が無い場合(AH無)、AHが適用され認証データのサイズが64ビットの場合(AH有 ICV 64ビット)、AHが適用され認証データのサイズが96ビットの場合(AH有 ICV 96ビット)、及び、AHが適用され認証データのサイズが128ビットの場合(AH有 ICV 128ビット)に対応する最大通信パケット長を計算する計算式が対応する各欄にそれぞれ示されている。さらに、表1乃至表8の各欄には、計算式に加えてS=1500バイトの場合における当該計算式による例も記載されている。なお、表1乃至表4では、IVの無い64ビット(ビット)ブロック暗号は、「IV無64ビット」と略記され、IVの有る64ビットブロック暗号は、「IV有64ビット」と略記され、IVの無し128ビットブロック暗号は、「IV無128ビット」と略記され、そして、IVの有り128ビットブロック暗号は、「IV有128ビット」と略記されている。
Figure 0004672350
Figure 0004672350
Figure 0004672350
Figure 0004672350
Figure 0004672350
Figure 0004672350
Figure 0004672350
Figure 0004672350
例えば、表1において、IPv4トランスポートモードの場合であって、ESPは、IVの有る128ビットかつ認証データ(ICV)なしであり、AHは、認証データ(ICV)のサイズが64ビットである場合では、最大通信パケット長は、[(S−2)÷16]×16+48によって計算され、S=1500バイトの場合には1552バイトである。また例えば、表3において、IPv6トランスポートモードの場合であって、ESPは、IVの有る128ビットかつ認証データ(ICV)なしであり、AHは、認証データ(ICV)のサイズが64ビットである場合では、最大通信パケット長は、[(S−22)÷16]×16+68によって計算され、S=1500バイトの場合には1564バイトである。また例えば、表5において、IPv4−IPv4及びIPv6−IPv4トンネルモードの場合であって、ESPは、IVの有る128ビットかつ認証データ(ICV)なしであり、AHは、認証データ(ICV)のサイズが64ビットである場合では、最大通信パケット長は、[(S+18)÷16]×16+48によって計算され、S=1500バイトの場合には1568バイトである。そして、また例えば、表7において、IPv4−IPv6及びIPv6−IPv6トンネルモードの場合であって、ESPは、IVの有る128ビットかつ認証データ(ICV)ないであり、AHは、認証データ(ICV)のサイズが64ビットの場合では、最大通信パケット長は、[(S+2)÷16]×16+84によって計算され、S=1500バイトの場合には1588バイトである。
パケット長計算式記憶部41には、表1乃至表8に示す各欄の各計算式がIPのバージョンの種類、IPsecのIPsecプロトコルモードの種類、ESPの暗号化アルゴリズムの種類、ESPの認証データのサイズ及びAHの認証データのサイズに対応付けて記憶されている。
SPDは、IP通信パケットの処理方法とIP通信パケットを特定するための情報(セレクタ)とを対応付けて登録するデータベースである。セレクタは、セキュリティポリシ番号、送信元IPアドレス範囲、宛先IPアドレス範囲、送信元ポート番号範囲、宛先ポート番号範囲、トランスポート層プロトコルであり、これらの組み合わせに対応付けて入出力の方向、アクション、セキュリティプロトコル、セキュリティプロトコルのパラメータ、ポリシレベル等のポリシが登録されている。IP通信パケットの処理方法は、IP通信パケットの破棄、IPsec不適用の通過及びIPsec適用の通過である。
SADは、通信パケットにIPsecを適用する場合に必要となる情報を登録したデータベースであり、IPsecルータ装置11がトンネル12の接続先のIPsecルータ装置11との間で、IKE(Internet Key Exchange)を用いて暗号化アルゴリズム及び認証アルゴリズムのそれぞれについて、提示、決定及び暗号鍵の交換等を行うネゴシエーションを実行して決定したSAを登録するデータベースである。SAは、接続元から接続先及び接続先から接続元のそれぞれについて確立される。SAのパラメータの種類は、IPsecプロトコルの種類(AH、ESP)、SAを識別するためのSPI(Security Parameter Index、セキュリティパラメータインデックス)、送信元IPアドレス範囲、宛先IPアドレス範囲、送信元ポート番号範囲、宛先ポート番号範囲、トランスポート層プロトコル、セキュリティプロトコル、プロトコルモード、シーケンス番号、シーケンス番号オーバフローフラグ、SAの有効期限、認証アルゴリズム、認証鍵、暗号化アルゴリズム、暗号化鍵等である。
なお、各種情報や各種プログラムが記憶部23に記憶されていない場合には、これら各種情報や各種プログラムは、これらを記録したCD−ROMやDVD−ROM等の記録媒体を用いて図略のドライブ装置を介してインストールされたり、これら各種情報や各種プログラムを管理するサーバからネットワーク1を介してダウンロードされることによってインストールされたりしてもよい。
制御部22は、各種プログラムを実行することによって通信パケットのルーティングやIPsecを適用して通信パケットを送信する場合にIPsecを適用した通信パケットが通信経路の途中でIPフラグメンテーションされない範囲における最大のオリジナルな通信パケットのパケット長の計算等を行ってIPsecルータ装置11全体を制御するものであり、機能的に、通信パケットのルーティングを行うルーティング部31、IPsecを適用して通信パケットを送信する場合にIPsecを適用した通信パケットが通信経路の途中でIPフラグメンテーションされない範囲における最大のオリジナルな通信パケットのパケット長を計算する最大パケット長計算部32、LAN側IF部21のMTU値の設定を行うMTU設定部33、及び、通信パケットにIPsecを適用する処理を行うIPsec処理部34を備える。制御部22は、例えば、マイクロプロセッサ及びその周辺回路等を備えて構成される。
本実施形態に係るIPsecルータ装置11は、トンネルモードの場合は同時に複数のトンネルが設定可能であり、さらにLAN側IF部21と制御部22との間に論理的なインターフェースである複数の論理IF部25を生成することによって、トランスポートモードの場合に複数のトンネルが設定可能に構成され、この論理IF部25を生成する場合はさらにトンネルモード、トランスポートモード共に、各トンネルごとに異なるMTU値を設定可能に構成されている。これら複数の論理IF部25は、生成した論理IF部25に付与された識別子である論理IFデバイス名ごとに管理される。そして、トンネルが同時に複数設定されている場合には、制御部22は、各トンネルを時分割で運用する。
次に、本実施形態に係る、IPsecを適用した通信においてIPsecを適用する前のオリジナルな通信パケットのパケット長をPMTUの範囲で可能な限り最大に最適化する最大パケット長最適化動作について説明する。
図5乃至図8は、最大パケット長計算部の動作を示すフローチャート(その1乃至その4)である。
ルーティング部31は、トンネル12を用いて接続先のIPsecルータ装置11にIPsecを適用して通信パケットを送信する場合に、最大パケット長計算部32に当該通信パケットのパケット長を計算させる。
図5乃至図8において、最大パケット長計算部32は、WAN側IF部26の設定及び本フローチャートの適用対象であるトンネルに対応するSPDに格納されたSPの設定を参照することによってWAN側IF部26のIPの種別(IPのバージョン)を検出する(S11)。
検出の結果、IPの種別がIPv4である場合(IPv4)には、最大パケット長計算部32は、MinWMTUをIPv4のMTUにおける最小値に、WIHLを最小のIPv4ヘッダ長に、WFHLを0にそれぞれ設定する(S12)。ここで、MinWMTUは、WAN側IF部26におけるメディア規定のMTUの最小値であり、IPv4の場合では68バイトであり、IPv6の場合では1280バイトである。WIHLは、WAN側IF部26におけるIPの種別に応じたIPヘッダ長であり、IPv4の場合では20バイトであり、IPv6の場合では40バイトである。なお、IPv4の場合は、オプションが無い場合の最小のヘッダ長としている。WFHLは、WAN側IF部26におけるIPの種別に応じたフラグメントヘッダ長であり、IPv4の場合では0バイトであり、IPv6の場合では8バイトである。なお、IPv4の場合は、これが存在しないため、0としている。また、上記各値は、本特許出願の時点における最新の仕様に基づいた値である。
次に、最大パケット長計算部32は、入力部24からの設定に基づいてPMTU探索を使用するか否かを判断する(S13)。判断の結果、PMTU探索を使用する場合(YES)には、最大パケット長計算部32は、PMTU探索を実行し、PMTU探索で得られたPMTUの値をWMTUとし(S14)、後述の処理S21を実行する。一方、判断の結果、PMTU探索を使用しない場合(NO)には、最大パケット長計算部32は、WAN側IF部26におけるLink・MTU(リンク・MTU)の値をWMTUとし(S17)、処理S21を実行する。ここで、WMTUは、WAN側IF部26におけるMTUの値である。
一方、処理S11における検出の結果、IPの種別がIPv6である場合(IPv6)には、最大パケット長計算部32は、MinWMTUをIPv6のMTUにおける最小値に、WIHLを最小のIPv6ヘッダ長に、WFHLをフラグメントヘッダ長にそれぞれ設定する(S15)。そして、最大パケット長計算部32は、PMTU探索を実行し、PMTU探索で得られたPMTUの値をWMTUとし(S16)、後述の処理S21を実行する。
処理S21において、最大パケット長計算部32は、WMTU<MinWMTUであるか否かを判断する。判断の結果、WMTU<MinWMTUである場合(YES)には、WMTU、即ち、WAN側IF部26におけるMTUの値が不正であるか、あるいは、経路のPMTUの値が不正であるので、最大パケット長計算部32は、パケット長の計算を中断し、本処理を終了する。一方、判断の結果、WMTU≧MinWMTUである場合(NO)には、WMTUは正常であるので、最大パケット長計算部32は、LAN側IF部21におけるIPの種別(IPのバージョン)を検出する(S22)。
検出の結果、IPの種別がIPv4である場合(IPv4)には、最大パケット長計算部32は、MinLMTUをIPv4のMTUにおける最小値に設定し(S23)、後述の処理S31を実行する。ここで、MinLMTUは、LAN側IF部21におけるMTUの最小値であり、IPv4の場合では68バイトであり、IPv6の場合では1280バイトである。なお、この値は、本特許出願の時点における最新の仕様に基づいた値である。一方、検出の結果、IPの種別がIPv6である場合(IPv6)には、最大パケット長計算部32は、MinLMTUをIPv6のMTUにおける最小値に設定し(S24)、処理S31を実行する。
処理S31において、最大パケット長計算部32は、ルーティング部31が送信しようとしている通信パケットに適用するIPsecにおけるIPsecプロトコルモードの種別をSPD記憶部42におけるSPDを参照することによって取得する。
次に、最大パケット長計算部32は、当該通信パケットに適用するIPsecにおけるESP及びAHの暗号化アルゴリズムの種別及び認証アルゴリズムの種別をSAD記憶部43におけるSADを参照することによって取得する(S32)。
次に、最大パケット長計算部32は、収集したWAN側インターフェース部26のIPの種別(バージョン)、IPsecにおけるプロトコルモードの種別、ESPの暗号化アルゴリズムの種別、ESPの認証アルゴリズムの種別及びAHの認証アルゴリズムの種別に基づいてパケット長計算式記憶部41の記憶内容を参照することによって、最大パケット長を計算する計算式を取得する(S33)。
次に、最大パケット長計算部32は、IPvx−IPvyの論理IF部25を使用するか否かを判断する(S34)。
判断の結果、IPvx−IPvyの論理IF部25を使用しない場合(NO)には、最大パケット長計算部32は、後述の処理S61を実行する。一方、判断の結果、IPvx−IPvyの論理IF部25を使用する場合(YES)には、最大パケット長計算部32は、使用するIPvx−IPvyの論理IF部25の種別を判別する(S41)。
判断の結果、使用するIPvx−IPvyの論理IF部25の種別がIPv4−IPv4又はIPv6−IPv4である場合(IPvx−IPv4(xは4又は6))には、最大パケット長計算部32は、VIHLを最小のIPv4ヘッダ長に設定し(S42)、後述の処理S44を実行する。一方、判断の結果、使用するIPvx−IPvyの論理IF部25の種別がIPv4−IPv6又はIPv6−IPv6である場合(IPvx−IPv6(xは4又は6))には、最大パケット長計算部32は、VIHLをIPv6ヘッダ長に設定し(S43)、後述の処理S44を実行する。ここで、VIHLは、IPvx−IPvyの論理IF部25におけるトンネル外部のIPの種別に応じたIPヘッダ長であり、IPv4の場合では20バイトであり、IPv6の場合では40バイトである。なお、これら各値は、本特許出願の時点における最新の仕様に基づいた値である。
処理S44において、最大パケット長計算部32は、処理S33で取得した計算式による算出値がWMTU以下であって最大となるカプセル化前のパケット長S(IPsecが適用される前のオリジナルな通信パケットのパケット長S)を算出する。そして、最大パケット長計算部32は、算出したこの最大のIPsec適用前のパケットにおけるパケット長SからVIHLを減算し、この減算した値をLMTUとする。
次に、最大パケット長計算部32は、LMTU<MinLMTUであるか否かを判断する(S45)。判断の結果、LMTU≧MinLMTUである場合(NO)には、最大パケット長計算部32は、後述の処理S49を実行する。一方、判断の結果、LMTU<MinLMTUである場合(YES)には、最大パケット長計算部32は、処理S33で取得した計算式による算出値が(n(WMTU−WIHL−WFHL)+WIHL)以下であって最大となるカプセル化前のパケット長S(IPsecが適用される前のオリジナルな通信パケットのパケット長S)を算出する。そして、最大パケット長計算部32は、算出したこの最大のパケット長SからVIHLを減算し、この減算した値をLMTUとする(S46)。ここで、nは、LMTUがMinLMTU以上となる+2以上の最小の整数である。
次に、最大パケット長計算部32は、LMTU>(LAN側IF部21のメディアにおける規定MTUの最大値)であるか否かを判断する(S47)。判断の結果、LMTU≦(LAN側IF部21のメディアにおける規定MTUの最大値)である場合(NO)には、最大パケット長計算部32は、処理S49を実行する。一方、判断の結果、LMTU>(LAN側IF部21のメディアにおける規定MTUの最大値)である場合(YES)には、最大パケット長計算部32は、LAN側IF部21のメディアにおける規定MTUの最大値をLMTUに設定し(S48)、処理S49を実行する。
処理S49において、最大パケット長計算部32は、IPvx−IPvyの論理IF部25におけるMTUの値をLMTUに設定する。
次に、最大パケット長計算部32は、LAN側IF部21のMTU<LMTUであるか否かを判断する(S50)。判断の結果、LAN側IF部21のMTU≧LMTUである場合(NO)には、最大パケット長計算部32は、本処理を終了する。一方、判断の結果、LAN側IF部21のMTU<LMTUである場合(YES)には、最大パケット長計算部32は、LAN側IF部21のMTU値をMTU設定部33を介してLMTUに設定し(S51)、本処理を終了する。
一方、処理S34の判断の結果、IPvx−IPvyの論理IF部25を使用しない場合(NO)には、最大パケット長計算部32は、処理S33で取得した計算式による算出値がWMTU以下であって最大となるカプセル化前のパケット長S(IPsecが適用される前のオリジナルな通信パケットのパケット長S)を算出する(S61)。
次に、最大パケット長計算部32は、LMTU<MinLMTUであるか否かを判断する(S62)。判断の結果、LMTU≧MinLMTUである場合(NO)には、最大パケット長計算部32は、後述の処理S66を実行する。一方、判断の結果、LMTU<MinLMTUである場合(YES)には、最大パケット長計算部32は、処理S33で取得した計算式による算出値が(n(WMTU−WIHL−WFHL)+WIHL)以下であって最大となるカプセル化前のパケット長S(IPsecが適用される前のオリジナルな通信パケットのパケット長S)を算出し、この算出した値をLMTUとする(S63)。ここで、nは、LMTUがMinLMTU以上となる+2以上の最小の整数である。
次に、最大パケット長計算部32は、LMTU>(LAN側IF部21のメディアにおける規定MTUの最大値)であるか否かを判断する(S64)。判断の結果、LMTU≦(LAN側IF部21のメディアにおける規定MTUの最大値)である場合(NO)には、最大パケット長計算部32は、処理S66を実行する。一方、判断の結果、LMTU>(LAN側IF部21のメディアにおける規定MTUの最大値)である場合(YES)には、最大パケット長計算部32は、LAN側IF部21のメディアにおける規定MTUの最大値をLMTUに設定し(S65)、処理S66を実行する。
処理S66において、最大パケット長計算部32は、LAN側IF部21のMTU>LMTUであるか否かを判断する。判断の結果、LAN側IF部21のMTU≦LMTUである場合(NO)には、最大パケット長計算部32は、本処理を終了する。一方、判断の結果、LAN側IF部21のMTU>LMTUである場合(YES)には、最大パケット長計算部32は、LAN側IF部21のMTU値をMTU設定部33を介してLMTUに設定し(S67)、本処理を終了する。
そして、ルーティング部31は、IPsecが適用される前のオリジナルな通信パケットが、LAN側IF部21又は論理IF部に新たなMTUの値が設定されたことで、パケット長は、この値以下になっているので、この通信パケットにIPsec処理部34でIPsecを適用して接続先のIPsecルータ装置11に送信する。
このように動作することによって、本実施形態に係るIPsecルータ装置11は、IPsecを適用したIPvx−IPvyトンネル12を用いて通信パケットを送信する場合において、当該通信パケットに適用されるIPのバージョン、IPsecのIPsecプロトコルモード、ESPの暗号化アルゴリズム、ESPの認証データのサイズ及びAHの認証データのサイズに応じて、当該通信パケットのパケット長を最適にすることができる。また、IPフラグメンテーションが行われないので、IPvx−IPv6トンネルの場合でも通信ができないといった事態を避けることができる。そして、IPフラグメンテーションの処理を実行する処理時間が不要となるため、データ転送効率が向上する。そして、IPフラグメンテーションの処理が不要であるのでルータ装置に負担をかけることがない。さらに、フラグメント化によるデータグラムの喪失もないので元のデータを全て送り直す事態も生じない。
次に、本発明を適用した場合と適用しない場合との比較を具体例を示しつつ説明する。
図9は、一具体例のトンネルにおける本発明を適用した通信パケットのパケット長の最適化の様子を説明する図である。図9(A)は、オリジナルな通信パケットを示し、図9(B)は、カプセル化後の通信パケット(トンネル適用)を示し、図9(C)は、通信経路を伝送中における通信パケットの様子を示す。図10は、一具体例のトンネルにおける本発明を適用しない通信パケットのパケット長の最適化の様子を説明する図である。図10(A)は、オリジナルな通信パケットを示し、図10(B)は、カプセル化後の通信パケット(トンネル適用)を示し、そして、図10(C)は、通信経路を伝送中における通信パケットの様子を示す。
まず、第1に、例えば、IPsecを適用したIPv6−IPv6トンネルを用いてトンネルモードでTCP接続により合計10000バイトのデータを連続して送信する場合について説明する。ここで、ESPの暗号化アルゴリズムは、DESのECBモード(即ち、IV無し64ビットブロック暗号)であり、ESPの認証方式及びAHの認証方式は、HMAC−MD5(即ち、認証データのサイズが96ビット)であるとする。また、LAN側IF部21及びWAN側IF部26は、以下の具体例も同様に、イーサネットカードであるとする。即ち、LAN側IF部21及びWAN側IF部26のMTUは、1500バイトである。
このような場合において本発明を適用する場合では、表4における計算式[(S+2)÷8]×8+84用いられることとなり、最大パケット長計算部32は、図5乃至図8に示す処理S11乃至処理S67を実行することによって、[(S+2)÷8]×8+84=1500解かれ、IPsecを適用する前のオリジナルな通信パケットのパケット長S=1414を計算することとなる。IPv6ヘッダを収容するIPv6ヘッダ部が40バイトであり、TCPヘッダを収容するTCPヘッダ部が20バイトであるから、データを収容するデータ部は、1354バイトと計算される。
よって、図9(A)に示すように、合計10000バイトのデータは、40バイトのIPv6ヘッダ部111、20バイトのTCPヘッダ部112及び1354バイトのデータ部113からなる1414バイトの通信パケット101が7個、そして、40バイトのIPv6ヘッダ部111、20バイトのTCPヘッダ部112及び522バイトのデータ部113’からなる582バイトの通信パケット101’が1個となる。これら7個の通信パケット101と1個の通信パケット101’の総バイト数は、10480バイトである。なお、イーサフレームを含めると総バイト数は、10624バイトである。
このため、図9(B)に示すように、7個の1414バイトの各通信パケット101は、カプセル化後、40バイトのIPv6ヘッダ部121、AHを収容する24バイトのAHヘッダ部122、ESPヘッダを収容する8バイトのESPヘッダ部123、1414バイトの通信パケット101が暗号化され収容される1416バイトの暗号化ペイロード部124及び認証データが収容される12バイトの認証データ部125からなる1500バイトの通信パケット102になる。そして、1個の582バイトの通信パケット101’は、カプセル化後、40バイトのIPv6ヘッダ部121、24バイトのAHヘッダ部122、8バイトのESPヘッダ部123、582バイトの通信パケット101’が暗号化され収容される584バイトの暗号化ペイロード部124’及び12バイトの認証データ部125からなる668バイトの通信パケット102’になる。カプセル化後におけるこれら7個の通信パケット102と1個の通信パケット102’の総バイト数は、11168バイトである。なお、イーサフレームを含めると総バイト数は、11312バイトである。
従って、カプセル化後の図9(B)に示す各通信パケット102、102’は、図9(C)に示すように、IPv6−IPv6トンネルを伝送中においてIPフラグメンテーションが行われない。
一方、上述の場合において本発明が適用されない場合には、図10(A)に示すように、合計10000バイトのデータは、40バイトのIPv6ヘッダ部131、20バイトのTCPヘッダ部132及び1440バイトのデータ部133からなる1500バイトの通信パケット103が6個、そして、40バイトのIPv6ヘッダ部131、20バイトのTCPヘッダ部132及び1360バイトのデータ部133’からなる1420バイトの通信パケット103’が1個になる。これら6個の通信パケット103と1個の通信パケット103’の総バイト数は、10420バイトである。なお、イーサフレームを含めると総バイト数は、10546バイトである。
このため、図10(B)に示すように、6個の1500バイトの各通信パケット103は、カプセル化後、40バイトのIPv6ヘッダ部141、24バイトのAHヘッダ部142、8バイトのESPヘッダ部143、1500バイトの通信パケット103が暗号化され収容される1504バイトの暗号化ペイロード部144(2バイトのパディングデータ145を含む)及び12バイトの認証データ部146からなる1588バイトの通信パケット104になる。そして、1個の1420バイトの通信パケット103’は、カプセル化後、40バイトのIPv6ヘッダ部141、24バイトのAHヘッダ部142、8バイトのESPヘッダ部143、1420バイトの通信パケット103’が暗号化され収容される1424バイトの暗号化ペイロード部144’(2バイトのパディングデータ145を含む)及び12バイトの認証データ部146からなる1508バイトの通信パケット104’になる。
従って、図10(C)に示すように、各通信パケット104、104’は、IPフラグメンテーションが行われる。即ち、6個の1588バイトの各通信パケット104は、1452バイトのフラグメント断片#1と、96バイトのフラグメント断片#2にフラグメント化され、1個の1508バイトの通信パケット104’は、1452バイトのフラグメント断片#3と、16バイトのフラグメント断片#4にフラグメント化される。そして、各フラグメント断片#1〜#4に40バイトのIPv6ヘッダ部151及びフラグメントヘッダ収容する8バイトのフラグメントヘッダ部152が付加され、それぞれ通信パケット105、105’、105”、105”’となる。これら通信パケット105、105’、105”、105”’の総バイト数は、11428バイトである。なお、イーサフレームを含めると総バイト数は、11680バイトである。
以上より、上述の場合において、本発明を適用した場合と本発明を適用しない場合とを比較すると、通信パケットのパケット長が最大に最適化されることにより、11428−11168=260バイトだけ伝送すべきバイト数が少なくなり、データ転送効率が向上する。なお、イーサフレームまで考慮した場合では、11680−11312=368バイトだけ伝送すべきバイト数が少なくなる。一方、無駄は、本発明を適用した場合では無いが、本発明を適用しない場合では、断片化されたパケットが本来送信可能な大きさのパケットのサイズより小さいことによるものが1356×6=8136バイトと、送信されるデータ内部にESPのパディングフィールドを含むことによるものが2×6+2=14バイトの合計8150バイトである。
図11は、他の具体例のトンネルにおける本発明を適用した通信パケットのパケット長の最適化の様子を説明する図である。図11(A)は、オリジナルな通信パケットを示し、図11(B)は、カプセル化(IPv6−IPv4トンネル適用後、IPsecIPv4トランスポートモード)後の通信パケット(トンネル適用)を示し、そして、図11(C)は、通信経路を伝送中における通信パケットの様子を示す。図12は、他の具体例のトンネルにおける本発明を適用しない通信パケットのパケット長の最適化の様子を説明する図である。図12(A)は、オリジナルな通信パケットを示し、図12(B)は、カプセル化後の通信パケット(トンネル適用)を示し、そして、図12(C)は、通信経路を伝送中における通信パケットの様子を示す。
次に、第2に、例えば、IPsecを適用したIPv6−IPv4トンネルを用いてIPv4のトランスポートモードでTCP接続により合計10000バイトのデータを連続して送信する場合について説明する。ここで、ESPの暗号化アルゴリズムは、DESのECBモード(即ち、IV無し64ビットブロック暗号)であり、ESPの認証方式及びAHの認証方式は、HMAC−MD5(即ち、認証データのサイズが96ビット)であるとする。
このような場合において本発明を適用する場合では、表1における計算式[(S−18)÷8]×8+64が用いられることとなり、最大パケット長計算部32は、図5乃至図8に示す処理S11乃至処理S67を実行することによって、[(S−18)÷8]×8+64=1500が解かれ、S=1430を計算することとなる。IPv6ヘッダ部の40バイト及びTCPヘッダ部の20バイトが差し引かれ、データ部は、1370バイトと計算される。
よって、図11(A)に示すように、合計10000バイトのデータは、40バイトのIPv6ヘッダ部211、20バイトのTCPヘッダ部212及び1370バイトのデータ部213からなる1430バイトの通信パケット201が7個、そして、40バイトのIPv6ヘッダ部211、20バイトのTCPヘッダ部212及び410バイトのデータ部213’からなる470バイトの通信パケット201’が1個となる。これら7個の通信パケット201と1個の通信パケット201’の総バイト数は、10480バイトである。なお、イーサフレームを含めると総バイト数は、10624バイトである。
このため、図11(B)に示すように、7個の1430バイトの各通信パケット201は、カプセル化(IPv6−IPv4トンネル適用後、IPsecIPv4トランスポートモード)後、20バイトのIPv4ヘッダ部221、24バイトのAHヘッダ部222、8バイトのESPヘッダ部223、1430バイトの通信パケット201が暗号化され収容される1432バイトの暗号化ペイロード部224及び12バイトの認証データ部225からなる1496バイトの通信パケット202になる。そして、1個の470バイトの通信パケット201’は、カプセル化後、20バイトのIPv4ヘッダ部221、24バイトのAHヘッダ部222、8バイトのESPヘッダ部223、470バイトの通信パケット201’が暗号化され収容される472バイトの暗号化ペイロード部224’及び12バイトの認証データ部225からなる536バイトの通信パケット202’になる。カプセル化後におけるこれら7個の通信パケット202と1個の通信パケット202’の総バイト数は、11008バイトである。なお、イーサフレームを含めると総バイト数は、11152バイトである。
従って、カプセル化後の図11(B)に示す各通信パケット202、202’は、図11(C)に示すように、IPv6−IPv4トンネルを伝送中においてIPフラグメンテーションが行われない。
一方、上述の場合において本発明が適用されない場合には、図12(A)に示すように、合計10000バイトのデータは、40バイトのIPv6ヘッダ部231、20バイトのTCPヘッダ部232及び1440バイトのデータ部233からなる1500バイトの通信パケット203が6個、そして、40バイトのIPv6ヘッダ部231、20バイトのTCPヘッダ部232及び1360バイトのデータ部233’からなる1420バイトの通信パケット203’が1個になる。これら6個の通信パケット203と1個の通信パケット203’との総バイト数は、10420バイトである。なお、イーサフレームを含めると総バイト数は、10546バイトである。
このため、図12(B)に示すように、6個の1500バイトの各通信パケット203は、カプセル化後、20バイトのIPv4ヘッダ部241、24バイトのAHヘッダ部242、8バイトのESPヘッダ部243、1500バイトの通信パケット203が暗号化され収容される1504バイトの暗号化ペイロード部244(2バイトのパディングデータ245を含む)及び12バイトの認証データ部246からなる1568バイトの通信パケット204になる。そして、1個の1420バイトの通信パケット203’は、カプセル化後、20バイトのIPv4ヘッダ部241、24バイトのAHヘッダ部242、8バイトのESPヘッダ部243、1420バイトの通信パケット203’が暗号化され収容される1424バイトの暗号化ペイロード部244’(2バイトのパディングデータ245を含む)及び12バイトの認証データ部246からなる1488バイトの通信パケット204’になる。
従って、図12(C)に示すように、6個の1568バイトの各通信パケット204は、IPフラグメンテーションが行われる。即ち、6個の1568バイトの各通信パケット204は、1480バイトのフラグメント断片#1と、68バイトのフラグメント断片#2とにフラグメント化される。そして、各フラグメント断片#1、#2に20バイトのIPv4ヘッダ部251が付加され、それぞれ通信パケット205、205’となる。これら通信パケットの総バイト数は、11016バイトである。なお、イーサフレームを含めると総バイト数は、11250バイトである。
以上より、上述の場合において、本発明を適用した場合と本発明を適用しない場合とを比較すると、通信パケットのパケット長が最大に最適化されることにより、11016−11008=8バイトだけ伝送すべきバイト数が少なくなり、データ転送効率が向上する。なお、イーサフレームまで考慮した場合では、11250−11152=98バイトだけ伝送すべきバイト数が少なくなる。一方、無駄は、本発明を適用した場合では(1500-1496)×7=28バイトであるが、本発明を適用しない場合では、断片化されたパケットが本来送信可能な大きさのパケットのサイズより小さいことによるものが1412×6=8472バイトと、送信されるデータ内部にESPのパディングフィールドを含むことによるものが2×6+2=14バイトの合計8486バイトである。
図13は、他の具体例のトンネルにおける本発明を適用した通信パケットのパケット長の最適化の様子を説明する図である。図13(A)は、元の通信パケットを示し、図13(B)は、カプセル化後の通信パケット(トンネル適用)を示し、そして、図13(C)は、通信経路を伝送中における通信パケットの様子を示す。
次に、第3に、例えば、IPsecを適用したIPv6−IPv4トンネルを用いてIPv4のトランスポートモードでTCP接続により合計10000バイトのデータを連続して送信する場合について説明する。ここで、ESPの暗号化アルゴリズムは、AESのECBモード(即ち、IV無し64ビットブロック暗号)であり、ESPの認証方式及びAHの認証方式は、HMAC−MD5(即ち、認証データのサイズが96ビット)であるとする。
このような場合において本発明を適用する場合では、表1における計算式[(S−18)÷16]×16+64が用いられることとなり、最大パケット長計算部32は、図5乃至図8に示す処理S11乃至処理S67を実行することによって、[(S−18)÷16]×16+64=1500が解かれ、S=1422を計算することとなる。IPv6ヘッダ部の40バイト及びTCPヘッダ部の20バイトが差し引かれ、データ部は、1362バイトと計算される。
よって、図13(A)に示すように、合計10000バイトのデータは、40バイトのIPv6ヘッダ部311、20バイトのTCPヘッダ部312及び1362バイトのデータ部313からなる1422バイトの通信パケット301が7個、そして、40バイトのIPv6ヘッダ部311、20バイトのTCPヘッダ部312及び466バイトのデータ部313’からなる526バイトの通信パケット301’が1個となる。これら7個の通信パケット301と1個の通信パケット301’との総バイト数は、10480バイトである。なお、イーサフレームを含めると総バイト数は、10624バイトである。
このため、図13(B)に示すように、7個の1422バイトの各通信パケット301は、カプセル化(IPv6−IPv4トンネル適用後、IPsecIPv4トランスポートモード)後、20バイトのIPv4ヘッダ部321、24バイトのAHヘッダ部322、8バイトのESPヘッダ部323、1422バイトの通信パケット301が暗号化され収容される1424バイトの暗号化ペイロード部324及び12バイトの認証データ部325からなる1488バイトの通信パケット302になる。そして、1個の526バイトの通信パケット301’は、カプセル化後、20バイトのIPv4ヘッダ部321、24バイトのAHヘッダ部322、8バイトのESPヘッダ部323、526バイトの通信パケット301’が暗号化され収容される528バイトの暗号化ペイロード部324’及び12バイトの認証データ部325からなる592バイトの通信パケット302’になる。カプセル化後におけるこれら7個の通信パケット302と1個の通信パケット302’との総バイト数は、11008バイトである。なお、イーサフレームを含めると総バイト数は、11152バイトである。
従って、カプセル化後の図13(B)に示す各通信パケット302、302’は、図13(C)に示すように、IPv6−IPv4トンネルを伝送中においてIPフラグメンテーションが行われない。
一方、上述の場合において本発明が適用されない場合には、図12に示す各場合と同様であるので、その説明を省略する。
以上より、上述の場合において、本発明を適用した場合と本発明を適用しない場合とを比較すると、通信パケットのパケット長が最大に最適化されることにより、11016−11008=8バイトだけ伝送すべきバイト数が少なくなり、データ転送効率が向上する。なお、イーサフレームまで考慮した場合では、11250−11152=98バイトだけ伝送すべきバイト数が少なくなる。一方、無駄は、本発明を適用した場合では(1500−1488)×7=84バイトであるが、本発明を適用しない場合では、断片化されたパケットが本来送信可能な大きさのパケットのサイズより小さいことによるものが1412×6=8472バイトと、送信されるデータ内部にESPのパディングフィールドを含むことによるものが2×6+2=14バイトの合計8486バイトである。
なお、上述の実施形態では、IPsecルータ装置11は、1個の物理的なWAN側IF部26を備える構成について説明したが、複数個の物理的なWAN側IF部26を備えることによって複数の他のIPsecルータ装置11へ複数のIPvx−IPvyトンネルをそれぞれ同時に設定するように構成してもよい。
図14は、複数のWAN側インターフェース部を備えるIPsecルータ装置を含むネットワークの構成を示すブロック図である。
図14において、IPsecルータ装置11’は、LAN側IF部21と、制御部22と、記憶部23と、入力部24と、論理IF部25と、複数のWAN側IF部26(26−0、26−1、・・・、26−n)とを備えて構成される。これらLAN側IF部21、制御部22、記憶部23、入力部24、論理IF部25及びWAN側IF部26は、WAN側IF部26が複数であって各WAN側IF部26−0、26−1、・・・、26−nを識別するための識別子である物理IFデバイス名が各WAN側IF部26−0、26−1、・・・、26−nにそれぞれ付与され。この物理IFデバイス名に基づいてWAN側IF部26ごとに最大パケット長最適化動作を行うことを除き、上述したLAN側IF部21、制御部22、記憶部23、入力部24、論理IF部25及びWAN側IF部26とそれぞれ同様であるので、その説明を省略する。また、最大パケット長最適化動作は、各WAN側IF部26−0、26−1、・・・、26−nに対して上述と同様に行えばよいので、その説明を省略する。
そして、上述の実施形態において、例えば、動的ルーティング(ダイナミックルーティング)を採用している場合等のように、通信経路における最大パケット長が動的に変化する場合にその変化に対応することができるようにする観点から、上述の最大パケット長最適化動作を定期的に実行することが好ましい。
さらに、上述の実施形態では、IPsecを利用可能なIPsecルータ装置の場合について説明したが、これに限定されるものではなく、例えば、通信パケットのルーティングを行うルーティング機能に加えてプロトコル変換を行う機能をさらに備えてもよい。
実施形態におけるネットワークの全体構成を示す図である。 IPsecルータ装置を含むネットワークの構成を示すブロック図である。 トランスポートモードにおける通信パケットのフォーマットを示す図である。 トンネルモードにおける通信パケットのフォーマットを示す図である。 最大パケット長計算部の動作を示すフローチャート(その1)である。 最大パケット長計算部の動作を示すフローチャート(その2)である。 最大パケット長計算部の動作を示すフローチャート(その3)である。 最大パケット長計算部の動作を示すフローチャート(その4)である。 一具体例のトンネルにおける本発明を適用した通信パケットのパケット長の最適化の様子を説明する図である。 一具体例のトンネルにおける本発明を適用しない通信パケットのパケット長の最適化の様子を説明する図である。 他の具体例のトンネルにおける本発明を適用した通信パケットのパケット長の最適化の様子を説明する図である。 他の具体例のトンネルにおける本発明を適用しない通信パケットのパケット長の最適化の様子を説明する図である。 他の具体例のトンネルにおける本発明を適用した通信パケットのパケット長の最適化の様子を説明する図である。 複数のWAN側インターフェース部を備えるIPsecルータ装置を含むネットワークの構成を示すブロック図である。
符号の説明
1 ネットワーク
2 IPvxのネットワーク
3、4 IPvyのネットワーク
12 トンネル
11、11’ IPsecルータ装置
21 ローカル・エリア・ネットワーク側インターフェース部
22、22’ 制御部
23 記憶部
24 入力部
25 内部インターフェース部
26 ワイド・エリア・ネットワーク側インターフェース部
32 最大パケット長計算部
41 設定トンネル情報記憶部
41 パケット長計算式記憶部
42 セキュリティポリシデータベース記憶部
43 セキュリティアソシエーションデータベース記憶部

Claims (5)

  1. IPsecのセキュリティポリシデータベースを記憶するSPD記憶部と
    IPsecのセキュリティアソシエーションデータベースを記憶するSAD記憶部と
    IPsecを適用して通信パケットを送信する場合に、前記IPsecを適用した通信パケットのパケット長を計算する計算式をIPのバージョンの種類、IPsecのIPsecプロトコルモードの種類、ESPの暗号化アルゴリズムの種類、ESPの認証データのサイズ及びAHの認証データのサイズに対応付けて記憶するパケット長計算式記憶部と
    IPsecを適用して通信パケットを送信する場合に、前記IPsecを適用した通信パケットが通信経路の途中でIPフラグメンテーションされない範囲における最大の前記通信パケットのパケット長を計算する最大パケット長計算部とを備え、
    前記最大パケット長計算部は
    前記通信パケットに適用されるIPのバージョンを抽出し
    前記SPD記憶部のセキュリティポリシデータベースから前記通信パケットに適用されるIPsecプロトコルモードを抽出し
    前記SAD記憶部のセキュリティアソシエーションデータベースから前記通信パケットに適用されるESPの暗号化アルゴリズム、ESPの認証データのサイズ及びAHの認証データのサイズを抽出し
    これら抽出したIPのバージョン、IPsecのIPsecプロトコルモード、ESPの暗号化アルゴリズム、ESPの認証データのサイズ及びAHの認証データのサイズに対応する計算式を前記パケット長計算式記憶部から選択し
    該選択した計算式に基づいて前記通信パケットが通信経路の途中でIPフラグメンテーションされない範囲における最大の前記通信パケットのパケット長を計算すること
    を特徴とするパケット長制御装置。
  2. 前記最大パケット長計算部によって前記通信パケットのパケット長が計算された後に、前記最大パケット長計算部によって計算された前記通信パケットのパケット長でデータリンク層における最大転送単位を設定するMTU設定部をさらに備えること
    を特徴とする請求項1に記載のパケット長制御装置。
  3. IPsecが利用可能なルータ装置において、
    第1ネットワークとの間で通信パケットを送受信する第1インターフェース部と、
    第1ネットワークとは異なる第2ネットワークとの間で通信パケットを送受信する第2インターフェース部と、
    通信パケットのパケット長を制御する請求項1又は請求項2に記載のパケット長制御装置とを備え、
    ルーティングする通信パケットにIPsecを適用する場合に、前記パケット長制御装置で該通信パケットが通信経路の途中でIPフラグメンテーションされない範囲における最大の該通信パケットのパケット長を計算し、該計算したパケット長で該通信パケットをルーティングすること
    を特徴とするルータ装置。
  4. 前記第1及び第2インターフェース部の何れか一方は、物理的な及び/又は論理的な複数のインターフェースを備えること
    を特徴とする請求項3に記載のルータ装置。
  5. 通信パケットのパケット長を制御するパケット長制御方法において、
    前記通信パケットに適用されるIPのバージョンを抽出するステップと、
    セキュリティポリシデータベースから前記通信パケットに適用されるIPsecプロトコルモードを抽出するステップと、
    セキュリティアソシエーションデータベースから前記通信パケットに適用されるESPの暗号化アルゴリズム、ESPの認証データのサイズ及びAHの認証データのサイズを抽出するステップと、
    IPsecを適用して通信パケットを送信する場合に、前記IPsecを適用した通信パケットのパケット長を計算する計算式をIPのバージョンの種類、IPsecのIPsecプロトコルモードの種類、ESPの暗号化アルゴリズムの種類、ESPの認証データのサイズ及びAHの認証データのサイズに対応付けて記憶するパケット長計算式記憶部から、これら抽出したIPのバージョン、IPsecのIPsecプロトコルモード、ESPの暗号化アルゴリズム、ESPの認証データのサイズ及びAHの認証データのサイズに対応する計算式を選択するステップと、
    該選択した計算式に基づいて前記通信パケットが通信経路の途中でIPフラグメンテーションされない範囲における最大の前記通信パケットのパケット長を計算するステップとを備えること
    を特徴とするパケット長制御方法。
JP2004352525A 2004-12-06 2004-12-06 パケット長制御装置及び該方法並びにルータ装置 Active JP4672350B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004352525A JP4672350B2 (ja) 2004-12-06 2004-12-06 パケット長制御装置及び該方法並びにルータ装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004352525A JP4672350B2 (ja) 2004-12-06 2004-12-06 パケット長制御装置及び該方法並びにルータ装置

Publications (2)

Publication Number Publication Date
JP2006165847A JP2006165847A (ja) 2006-06-22
JP4672350B2 true JP4672350B2 (ja) 2011-04-20

Family

ID=36667380

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004352525A Active JP4672350B2 (ja) 2004-12-06 2004-12-06 パケット長制御装置及び該方法並びにルータ装置

Country Status (1)

Country Link
JP (1) JP4672350B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4713881B2 (ja) * 2004-12-16 2011-06-29 パナソニック電工株式会社 トンネル自動設定装置、トンネル自動設定方法及びトンネル自動設定プログラム
JP2008035272A (ja) 2006-07-28 2008-02-14 Canon Inc 情報処理システム及び当該システムにおけるデータ通信方法
JP5315622B2 (ja) * 2007-03-22 2013-10-16 日本電気株式会社 通信システム及び該システムに用いられる通信方法、通信プログラム
JP6151906B2 (ja) * 2012-10-10 2017-06-21 キヤノン株式会社 通信装置及びその制御方法
KR101922980B1 (ko) * 2017-02-02 2018-11-28 주식회사 시큐아이 네트워크 장치 및 그의 패킷 송신 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002044135A (ja) * 2000-07-25 2002-02-08 Mitsubishi Electric Corp 暗号装置及び暗号通信システム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002044135A (ja) * 2000-07-25 2002-02-08 Mitsubishi Electric Corp 暗号装置及び暗号通信システム

Also Published As

Publication number Publication date
JP2006165847A (ja) 2006-06-22

Similar Documents

Publication Publication Date Title
JP3793083B2 (ja) トンネリングおよび補償を使用するネットワーク・アドレス翻訳によりセキュリティを与えるための方法および装置
US7215667B1 (en) System and method for communicating IPSec tunnel packets with compressed inner headers
Snader VPNs Illustrated: Tunnels, VPNs, and IPsec
US7143282B2 (en) Communication control scheme using proxy device and security protocol in combination
AU743258B2 (en) Improved network security device
US9300634B2 (en) Mobile IP over VPN communication protocol
Granjal et al. Network‐layer security for the Internet of Things using TinyOS and BLIP
JP5516571B2 (ja) 通信方法、通信システム、匿名化装置、サーバ
EP1580958A1 (en) Internet protocol tunnelling using templates
JPH09252323A (ja) 通信システムおよび通信装置
CN101529805A (zh) 中间设备
CN109981820B (zh) 一种报文转发方法及装置
KR101386809B1 (ko) 다중 mtu를 설정하는 모바일 디바이스 및 이를 이용한 데이터 전송 방법
US7346926B2 (en) Method for sending messages over secure mobile communication links
Bellovin Probable plaintext cryptanalysis of the IP security protocols
JP2007036834A (ja) 暗号装置、プログラム、記録媒体、および方法
JP4672350B2 (ja) パケット長制御装置及び該方法並びにルータ装置
Kouachi et al. Per packet flow anonymization in 6lowpan iot networks
WO2012171379A1 (zh) 实现ipsec在ah模式下nat穿越的方法、设备及系统
CN111683093A (zh) 基于IPv6网络的动态隐蔽通信方法
JP2006191205A (ja) 通信装置及び通信方法、通信システム
JP6075871B2 (ja) ネットワークシステム、通信制御方法、通信制御装置及び通信制御プログラム
JP2005167608A (ja) 暗号通信装置、暗号通信方法、コンピュータプログラム、及びコンピュータ読み取り可能な記録媒体
Herrero et al. Network and Transport Layers
Savola IPv6 site multihoming using a host-based shim layer

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071121

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100118

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100126

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100323

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101005

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101125

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 4672350

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20140128

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250