(57)【特許請求の範囲】
【請求項１】
複数のデータリンク層インタフェースを介した複数のリンクが夫々確立される場合に、これらの複数のデータリンク層インタフェースを管理する装置であって、
前記データリンク層よりも上位の層で作成されたパケットを受信する受信手段と、
前記パケットに含まれる情報と、データリンク層インタフェースの識別情報とを対応づけたエントリを記憶する記憶手段と、
転送対象の前記パケットの送信元と宛先との間の通信時間をデータリンク層インタフェース毎に計測する計測手段と、
計測された通信時間のうち、最も通信時間が短いデータリンク層インタフェースを検索し、前記記憶手段に記憶させる検索手段と、
前記複数のデータリンク層インタフェースの中から、送信対象の前記パケットに含まれた情報に対応するデータリンク層インタフェースの識別情報を読み出し、この識別情報に対応するデータリンク層インタフェースを前記パケットを転送すべきデータリンク層インタフェースとして選択する選択手段と、を備えるデータリンク層インタフェースの管理装置。
【請求項２】
前記計測手段及び前記検索手段は、前記選択手段が送信対象のパケットに含まれた情報からデータリンク層インタフェースを選択できない場合に、前記計測処理及び前記検索処理を実行する、請求項１に記載のデータリンク層インタフェースの管理装置。
【請求項３】
前記計測手段は、ピング（ｐｉｎｇ）コマンドを用いて、又はＴＣＰ接続要求を出す、又はＵＤＰポートへのパケット送信によって、前記データリンク層インタフェース毎の通信時間を計測する、請求項２に記載のデータリンク層インタフェースの管理装置。
【請求項４】
複数のデータリンク層インタフェースを介した複数のリンクを夫々確立する手段と、
送信対象のデータリンク層より上位のパケットを受信する受信手段と、前記パケットに含まれる情報と、データリンク層インタフェースの識別情報とを対応づけたエントリを記憶する記憶手段と、転送対象の前記パケットの送信元と宛先との間の通信時間をデータリンク層インタフェース毎に計測する計測手段と、計測された通信時間のうち、最も通信時間が短いデータリンク層インタフェースを検索し、前記記憶手段に記憶させる検索手段と、前記複数のデータリンク層インタフェースの中から、送信対象の前記パケットに含まれた情報に対応するデータリンク層インタフェースの識別情報を読み出し、この識別情報に対応するデータリンク層インタフェースを前記パケットを転送すべきデータリンク層インタフェースとして選択する選択手段と、を備えるデータリンク層インタフェースの管理装置と、
を備える端末装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数のデータリンク層インタフェースを用いて複数のリンクを確立し、通信を行う技術に関する。
【０００２】
【従来の技術】
近年、インターネットへのアクセス手段として、xDSL （x Digital Subscriber Line）が注目され、xDSL を用いたブロードバンド化が進んでいる。xDSL とは、既設のメタリック加入者線を利用し、高速データ通信を可能にする手段である。xDSL の中でも特に、ADSL（Asymmetric Digital Subscriber Line）を利用したインターネット接続が注目されている。
【０００３】
通常、ADSL の接続方式として、PPPoE（Point-to-Point Protocol over Ethernet, RFC2516）が使用される。PPPoE は、イーサネット（Ethernet）上でPPP パケットを転送するためのプロトコルである。PPP パケットとは、PPP（Point-to-Point Protocol, RFC1661）で使用されるパケットである。
【０００４】
PPP を用いた主流の接続方法では、まず、一以上のxSP（x Service Provider：サービスプロバイダ）から一つのxSP が選択される。そして、選択されたxSP に対してユーザ端末が接続される。
【０００５】
図１に、ユーザ端末が、PPPoE を用いてxSP のアクセスサーバ（ISP アクセスサーバ）に接続する様子を示す。PPP 接続は、エッジスイッチ２００，アクセスコンセントレータ３００とその間に位置するアクセス網ＡＮとを介して、ユーザ端末１００とISP アクセスサーバ４００間において１対１で行われる。
【０００６】
図２に、従来のPPPoE を用いたTCP/IP（Transmission Control Protocol/Internet Protocol）ネットワークにおけるデータ送信の様子を示す。図２において、各部１１１〜１１４，１２１〜１２３，１３１〜１３４，１４１〜１４２は、ユーザ端末１００内に備えられている。また、図３，４，５に夫々IP ヘッダ，PPP フレーム，Ethernet フレームのフォーマットを示す。
【０００７】
TCP（Transmission Control Protocol）スタック１１０あるいは不図示のUDP（User Datagram Protocol）スタックから、IP（Internet Protocol）スタック１２０へデータが渡される。すると、IP ヘッダ生成部１２１は、受け取ったデータに、図３に示すIP ヘッダを付加する。このとき、IP ヘッダ生成部１２１は、IP ヘッダとして、上位層から得た宛先IP アドレス（Destination Address），送信元IP アドレス（Source Address：自身のIP アドレス）を付加する。
【０００８】
次に、L2 インタフェース決定部１２３が、宛先IP アドレスをもとに、データの転送先を決定する。宛先IP アドレスと送信元IP アドレスとが同じサブネット内にある場合は、転送先を宛先IP アドレスとする。一方、宛先IP アドレスと送信元IP アドレスとが同じサブネット内に無い場合は、L2 インタフェース決定部１２３は、ルーティングテーブル１２２を検索し、データを転送すべきルータを決定する。そして、L2 インタフェース決定部１２３は、決定した転送先へ繋がるL2（Layer 2）インタフェース（例えばPPP1 インタフェース１３１ａ）に対して、IP ヘッダを付加して作ったIP パケットを送る。
【０００９】
この後、PPP フレーム生成部１３４，Ethernet ヘッダ生成部１４１が夫々、PPP カプセル化、Ethernet ヘッダの付加を行う。そして、Ethernet フレーム送信部１４２が、作られたフレームをプロトコルに従って送信する。図６に、各層におけるデータの概念図を示す。図６のように、各層におけるデータは入れ子状になっている。
【００１０】
現在、上記したブロードバンド技術を用いて、且つユーザの用途に応じて接続先xSP を切り替え可能な、インターネット接続技術に対する要望が高まっている。
【００１１】
ユーザ端末を複数の接続先に対して同時に接続することは、従来のPPPoE を用いることによって実現できる。しかしながら、従来のPPPoE を用いた複数接続では、用途に応じて接続先を変更することができないという問題点があった。ここで、この問題点について説明する。
【００１２】
図８に、従来のルーティングテーブルの例（ルーティングテーブル１２３ａ）を示す。また、図９に、従来のPPPoE を用いた複数接続の概念図を示す。ここで、Metric （メトリック）とは、経路の優先順位を示す値である。この値がより小さい経路が、より優先順位の高い経路であるとみなされる。
【００１３】
ユーザ端末１００が、複数の接続先に対して接続するために、新たにPPP リンクを確立する。すると、ルーティングテーブル１２２ａのエントリが図８のように書き換えられる。Iface（Inter face）の値がppp0 であるエントリが、最初の接続先（ISP-a アクセスサーバ４００ａ）へのルーティングエントリである。一方、Iface の値がppp1 であるエントリが、新たに書き加えられた、２番目の接続先（ISP-b アクセスサーバ４００ｂ）へのルーティングエントリである。
【００１４】
確かに、ユーザ端末１００は、複数の接続先（ISP-a アクセスサーバ４００ａ，ISP-b アクセスサーバ４００ｂ）に接続されている。しかし、ルーティングテーブル１２２がルーティングテーブル１２２ａ（図８）の状態である場合、ユーザ端末１００からのトラフィックは、Metric の値がより小さいppp1 のインタフェース、即ち、後から接続されたISP-b アクセスサーバ４００ｂへ送られる。このため、最初に接続されたISP-a アクセスサーバ４００ａにはトラフィックが流れず、用途に応じて接続先を変更することができなかった。
【００１５】
このような問題に対し、用途に応じて接続先を変える方法として、手動でルーティングテーブル１２２を書換える方法、又はその都度接続し直す方法がある。
【００１６】
前者の方法では、ユーザ端末１００の接続先を変更する際に、ユーザが自らルーティングテーブル１２２の内容（例えばMetric の値）を書き換える。こうすることにより、接続したい接続先に、トラフィックが流れるように設定する。
【００１７】
後者の方法では、ユーザ端末１００の接続先を変更する際に、現在の接続先との接続を切断する。切断後に、新たな接続先とユーザ端末１００とを接続する。
【００１８】
【発明が解決しようとする課題】
しかしながら、上記したいずれの方法を用いた場合も、明らかにユーザが行うべき処理量が増し、ユーザの負担が増大するという問題があった。
【００１９】
そこで本発明は、このような問題点を解決し、ユーザが行う通信の用途に応じて、自動的にPPP インタフェースを選択する装置を提供することを目的とする。
【００２０】
【課題を解決するための手段】
本発明は、上記目的を達成するために以下の構成を採用する。即ち、本発明は複数のデータリンク層インタフェースを介した複数のリンクが夫々確立される場合に、これらの複数のデータリンク層インタフェースを管理する装置であって、前記データリンク層よりも上位の層で作成されたパケットを受信する受信手段と、前記複数のデータリンク層インタフェースの中から、前記パケットを転送すべきデータリンク層インタフェースを、このパケットに含まれた情報に基づいて選択する選択手段と、を備える。
【００２１】
本発明によれば、複数のデータリンク層インタフェースを介して複数のリンクが夫々確立されると、受信手段が、データリンク層よりも上位の層で生成されたパケットを受信する。そして、選択手段が、このパケットに含まれた情報を参照し、この情報に基づいて、このパケットが転送されるべきデータリンク層インタフェースを選択する。
【００２２】
このため、パケットの情報に応じて、即ちユーザが実行しようとする通信の内容に応じて、データリンク層インタフェースが自動的に選択され、このデータリンク層インタフェースを介したリンクによる通信が実行される。
【００２３】
また本発明は、前記パケットに含まれる情報と、データリンク層インタフェースの識別情報とを対応づけたエントリを記憶する記憶手段をさらに備え、前記選択手段は、送信対象の前記パケットに含まれた情報に対応するデータリンク層インタフェースの識別情報を読み出し、この識別情報に対応するデータリンク層インタフェースを前記パケットを転送すべきデータリンク層インタフェースとして選択するように構成されても良い。
【００２４】
また本発明は、前記パケットに含まれた情報が、宛先ポート番号であるように構成されても良い。
【００２５】
本発明によれば、選択手段は、送信されるパケットの宛先ポート番号を参照し、この情報をもとに、通信に使用するデータリンク層インタフェースを選択する。
【００２６】
このため、ユーザが利用するアプリケーションに応じて、自動的にデータリンク層インタフェースが選択され、選択されたデータリンク層インタフェースを介して通信が実行されるる。
【００２７】
また本発明は、前記パケットに含まれた情報が、宛先ＩＰ（Ｉｎｔｅｒｎｅｔ
Ｐｒｏｔｏｃｏｌ）アドレスであるように構成されても良い。
【００２８】
本発明によれば、選択手段は、送信されるパケットの宛先ＩＰアドレスに対応付けられたデータリンク層インタフェースを選択する。
【００２９】
このため、送信するデータの宛先に応じて、自動的にデータリンク層インタフェースが選択され、選択されたデータリンク層インタフェースを介して通信が実行される。
【００３０】
また本発明は、前記パケットに含まれた情報が、トランスポート層のプロトコルの識別情報であるように構成されても良い。
【００３１】
本発明によれば、送信されるパケットのトランスポート層のプロトコルに対応付けられたデータリンク層インタフェースを選択する。
【００３２】
このため、通信に使用されるトランスポート層のプロトコルに応じて、自動的にデータリンク層インタフェースが選択され、選択されたデータリンク層インタフェースを介して通信が実行される。
【００３３】
また本発明は、送信対象のパケットの送信元と宛先との間の通信時間をデータリンク層インタフェース毎に計測する計測手段と、計測された通信時間のうち、最も通信時間が短いデータリンク層インタフェースを検索する検索手段とをさらに備え、前記選択手段は、前記パケットを転送すべきデータリンク層インタフェースとして、前記検索手段によって検索されたデータリンク層インタフェースを選択するように構成されても良い。
【００３４】
本発明によれば、計測手段が各データリンク層インタフェースを介して、送信元と宛先との通信時間を、各データリンク層インタフェース毎に計測する。検索手段が、計測した通信時間をもとに、最も通信時間の短い場合のデータリンク層インタフェースを検索し、選択手段がこのデータリンク層インタフェースを選択する。
【００３５】
このため、ある宛先へパケットが送信される際に、最も通信時間が短いデータリンク層インタフェースが自動的に選択され、このデータリンク層インタフェースを介してパケットが送信される。
【００３６】
また本発明は、複数のデータリンク層インタフェースを介した複数のリンクを夫々確立する手段と、送信対象のデータリンク層より上位のパケットを受信する受信手段と、前記複数のデータリンク層インタフェースの中から、前記パケットを転送すべきデータリンク層インタフェースを、このパケットに含まれた情報に基づいて選択する選択手段と、を備えるデータリンク層インタフェースの管理装置と、を備える端末装置であっても良い。
【００３７】
また本発明は、複数のデータリンク層インタフェースを介した複数のリンクが夫々確立される場合に、これらの複数のデータリンク層インタフェースを管理する装置が、前記リンクの何れかによって送信されるデータリンク層より上位のパケットを受信するステップと、前記管理する装置が、前記複数のデータリンク層インタフェースの中から、前記パケットを転送すべきデータリンク層インタフェースを、このパケットに含まれた情報に基づいて選択するステップと、を含むデータリンク層インタフェースの管理方法であっても良い。
【００３８】
【発明の実施の形態】
以下、本発明によるデータリンク層インタフェースの管理装置の実施形態について、図を用いて説明を行う。なお、実施形態の構成は例示であり、本発明は以下の実施形態の構成に限定されない。
【００３９】
まず、OSI 基本参照モデルのデータリンク層，ネットワーク層，及びトランスポート層について説明する。
【００４０】
データリンク層は、OSI 基本参照モデルの第二層であり、通信経路を構成する個々のリンクにおいて利用する通信手段を規定する。例として、PPP がある。
【００４１】
ネットワーク層は、OSI 基本参照モデルの第三層であり、ネットワーク内部を通過する経路を順に決定し、コンピュータ間を結びつける。例として、IP がある。
【００４２】
トランスポート層は、OSI 基本参照モデルの第四層であり、エンド・エンド間のマシン間での通信路を確立する。例として、TCP やUDP がある。
【００４３】
次に、PPP 及びTCP/IP を用いた通信技術について説明する。図１０に、ユーザ端末とISP アクセスサーバとが、PPP によって回線を確立するためのネゴシエーション（交渉）の手順を示す。まず、ユーザ端末１００ａが、LCP（Link Control Protocol）で、ISP アクセスサーバ４００とネゴシエーションを実行する。ユーザ端末１００ａは、ネゴシエーションの実行で、通信条件や認証方法など、通信自体に関する条件を決める。通信条件としては、例えば送信するパケットのサイズがある。そして、ユーザ端末１００ａが、ネゴシエーションで決められた通信条件で、ISP アクセスサーバ４００とのリンク（Link）を確立する。この後、必要に応じて、ネゴシエーションで決められた認証方法を用いて認証が行われる。認証方法には、PAP（Password Authentication Protocol）やCHAP（Challenge Handshake Authentication Protocol）等がある。
【００４４】
次に、ユーザ端末１００ａは、NCP（Network Control Protocol）で、上位層プロトコルで使用する条件をISP アクセスサーバ４００とネゴシエーションする。このとき、上位層プロトコルとしてIP が使用される場合は、IPCP（Internet Protocol Control Protocol：IP に対応するNCP）によって、ユーザ端末１００ａが使用するIP アドレスと、ISP アクセスサーバ４００自身のIP アドレスとが、ISP アクセスサーバ４００からユーザ端末１００ａに通知される。
【００４５】
次にTCP/IP について説明する。インターネットでは、標準プロトコルとして、TCP/IP が使用されている。図１１に、TCP ヘッダのフォーマットを示す。TCPやUDP では、上位アプリケーションを、夫々に固有のポート番号で識別する。頻繁に使用される上位アプリケーションに関しては、ウェルノウンポート番号（Well-Known Port Number）として、そのポート番号がRFC1700 で規定されている。図１２に、ウェルノウンポート番号の一部を示す。TCP 層では、ポート番号とIP アドレスとを組み合わせることによって、データストリームを区別する。
【００４６】
また、TCP では、データ転送の信頼性を高めるために、フロー制御や到達順序保証が行われる。フロー制御とは、ウィンドウサイズという値を用いて送信と受信の同期をとることである。ウィンドウサイズは、受信側が受信可能なデータのサイズを表す。送信元が、ウィンドウサイズよりも小さいサイズのデータを受信側に送信することによって、送受信の同期をとる。到達順序保証とは、送信元が送信した際のデータの順番を、受信側で同じ順番に編成することを保証することである。
【００４７】
〔第一実施形態〕
図１３に、本発明によるデータリンク層インタフェースの管理装置の第一実施形態のブロック図を示す。まず、各ブロックについての説明を行う。
【００４８】
〈システム構成〉
第一実施形態におけるデータリンク層インタフェースの管理装置は、大略すると、TCP スタック１１０，IP スタック１２０，PPP スタック１３０，Ethernet スタック１４０，及びIP スタック１２０とPPP スタック１３０との間に位置するPPP インタフェース管理部１５０から成る。そして、データリンク層インタフェースの管理装置は、情報処理装置からなるユーザ端末上に実現されている。
【００４９】
〈〈TCP スタック１１０〉〉
フロー制御部１１１は、ウィンドウサイズという値を用いて、上記したフロー制御を実行する。
【００５０】
到達順序保証部１１２は、上記した到達順序保証を実行する。
【００５１】
TCP ヘッダ生成部１１３は、TCP ヘッダを生成し、上位アプリケーションから受け取ったデータに対して付加する。TCP ヘッダのフォーマットは、図１１に示す通りである。
【００５２】
下位インタフェース１１４は、下位レイヤー（下位層）即ちIP スタック１２０へ、TCP ヘッダ生成部１１３が生成したデータ（TCP セグメント）を渡す。
【００５３】
〈〈IP スタック１２０〉〉
IP スタック１２０は、本発明の「データリンク層よりも上位の層」に相当する。
【００５４】
IP ヘッダ生成部１２１は、IP ヘッダを生成し、TCP スタック１１０から受け取ったTCP セグメントに対して付加することによって、IP パケットを生成する。IP ヘッダのフォーマットは、図３に示す通りである。
【００５５】
ルーティングテーブル１２２ｂは、データを転送すべき下位レイヤーのインタフェースを決定するためのテーブルである。ルーティングテーブル１２２ｂの例を図１４に示す。ルーティングテーブル１２２ｂは、PPP インタフェース１３１の違いを区別せず、全てのPPP インタフェース１３１を”pppx”いう仮想インタフェースとして定義する。
【００５６】
図１３に戻って、L2 インタフェース決定部１２３は、ルーティングテーブル１２２に基づき、転送先となる下位層のインタフェースを決定する。そして、決定した下位層のインタフェースにIP パケットを転送する。
【００５７】
〈〈PPP インタフェース管理部１５０〉〉
PPP インタフェーステーブル１５１は、IP スタック１２０から受け取ったIP パケットを転送するPPP インタフェース１３１（本発明の「データリンク層インタフェース」に相当）を決定するためのテーブルである。図１５に、第一実施形態におけるPPP インタフェーステーブル１５１の例として、PPP インタフェーステーブル１５１ａを示す。PPP インタフェーステーブル１５１ａは、IP パケットのTCP ヘッダに含まれるポート番号をキーとして、自IP アドレス（Source Address）とIP パケットを転送するPPP インタフェース１３１（Iface）とを検索するためのテーブルである。
【００５８】
図１３に戻って、PPP インタフェース選択部１５２は、PPP インタフェーステーブル１５１を検索することにより、IP スタック１２０から受信したIP パケットを転送するPPP インタフェース１３１を選択する（本発明の「受信手段」，「選択手段」に相当）。同時に、選択したPPP インタフェース１３１に対応する自IP アドレスを得る。PPP インタフェース選択部１５２は、選択したPPP インタフェース１３１に対応する自IP アドレスとIP パケットとを、IP ヘッダ書換部１５３へ渡す。そして、IP ヘッダ書換部１５３によってIP ヘッダが書き換えられたIP パケットを、選択したPPPインタフェース１３１へ転送する。
【００５９】
IP ヘッダ書換部１５３は、PPP インタフェース選択部１５２が選択したPPP インタフェース１３１に対応する自IP アドレスとIP パケットとを、PPP インタフェース選択部１５２から受け取る。そして、受け取ったIP パケットのIP ヘッダ及びTCP ヘッダに含まれる、送信元IP アドレスを示すフィールドの値を、PPPインタフェース選択部１５２から受け取った自IP アドレスの値に置き換える。そして、PPP ヘッダ書換部１５３は、IP パケットをPPP インタフェース選択部１５２に渡す。
【００６０】
〈〈PPP スタック１３０〉〉
PPP スタック１３０は、複数のPPP インタフェースの系からなり、各系が、PPP インタフェース１３１とPPP フレーム生成部１３２とを含む。
【００６１】
PPP インタフェース１３１は、PPP インタフェース管理部１５０から、IP パケットを受け取る。そして、PPP インタフェース１３１は、受け取ったIP パケットを、自身に対応するPPP フレーム生成部１３２へ渡す。
【００６２】
PPP フレーム生成部１３２は、自身に対応するPPP インタフェース１３１から受け取ったIP パケットをペイロードに持つPPP フレームを生成する。PPP フレームのフォーマットは、図４に示す通りである。PPP フレーム生成部１３２は、生成したPPP フレームを、Ethernet スタック１４０へ渡す。
【００６３】
〈〈Ethernet スタック１４０〉〉
Ethernet ヘッダ生成部１４１は、PPP スタック１３０から受け取ったPPP フレームに対して、Ethernet ヘッダを生成する。Ethernet ヘッダのフォーマットは、図５に示す通りである。Ethernet ヘッダ生成部１４１は、生成したEthernet ヘッダを、受け取ったPPP フレームに付加し、Ethernet フレームを生成する。そして、Ethernet ヘッダ生成部１４１は、生成したEthernet フレームを、Ethernet フレーム送信部１４２へ渡す。
【００６４】
Ethernet フレーム送信部１４２は、Ethernet ヘッダ生成部１４１から受け取ったEthernet フレームを、Ethernet へ送信する。
【００６５】
〈動作例〉
以下、ユーザが第一実施形態のユーザ端末１００ａを用いて、HTTP（Hyper Text Transfer Protocol：ポート番号８０）をISP-a アクセスサーバ４００ａに、POP3（Post Office Protocol Version 3：ポート番号１１０）をISP-b アクセスサーバ４００ｂに、夫々関連付けた場合の処理について説明する（図７参照）。処理の説明は、PPP リンクを確立する際の処理と、PPP リンクが確立した後にIP
データ送信を行う際の処理とに分けて説明する。
【００６６】
〈〈PPP リンク確立〉〉
まず、ユーザはユーザ端末１００ａを用いて、アクセス先として接続先ISP-a アクセスサーバ４００ａを、使用プロトコルとしてHTTP を夫々選択する。ユーザ端末１００ａは、選択されたISP-a アクセスサーバ４００ａに対し、PPP 接続を開始する。PPP 接続は、従来の手順に従って行い、PPP リンクを確立する。
【００６７】
このとき、ユーザ端末１００ａは、ISP-a アクセスサーバ４００ａから、自IPアドレスとして、131.113.39.55 を割り当てられる。また、PPP スタック１３０は、このPPP リンクに対し、"ppp0"（PPP0 インタフェース１３１ａ）を割り当てる。PPP スタック１３０は、ISP-a アクセスサーバ４００ａから割り当てられた自IP アドレス131.113.39.55 と、このリンクに割り当てたppp0 即ちPPP0 インタフェース１３１ａの識別情報"ppp0" とをPPP インタフェース管理部１５０へ渡す。
【００６８】
PPP インタフェース管理部１５０は、PPP インタフェーステーブル１５１ａに、"ppp0" 及びポート番号80 と、自IP アドレス131.113.39.55 とを、エントリとして記録する。そして、PPP スタック１３０は、IP スタック１２０へ、PPP リンク確立の結果として、仮想インタフェースの識別情報"pppx" と自IP アドレス131.113.39.55 とを返す。
【００６９】
次に、ユーザはユーザ端末１００ａを用いて、アクセス先として接続先ISP-b アクセスサーバ４００ｂを、使用プロトコルとしてPOP3 を夫々選択する。ユーザ端末１００ａは、選択されたISP-b アクセスサーバ４００ｂに対し、PPP 接続を行う。このとき、ユーザ端末１００ａは、ISP-b アクセスサーバ４００ｂから、自IP アドレスとして155.177.29.34 を割当てられる。また、PPP スタック１３０は、このリンクに対してppp1即ちPPP1インタフェース１３１ｂを割り当てる。PPP スタック１３０は、ISP-b アクセスサーバ４００ｂから割り当てられたIPアドレス155.177.29.34 と、このリンクに割り当てたPPP1 インタフェース１３１ｂとをPPP インタフェース管理部１５０へ渡す。
【００７０】
PPP インタフェーステーブル１５１ｂは、ppp1 及びポート番号110 と、自IP アドレス155.177.29.34 とを関連づけたエントリを新たに記憶する。そして、PPP スタック１３０は、IP スタック１２０へインタフェースpppx を返す。
【００７１】
図１４に、上記処理の後におけるルーティングテーブル１２２ｂを示す。また、図１５に、上記処理の後におけるPPP インタフェーステーブル１５１ａを示す。
【００７２】
〈〈IP データ送信〉〉
ユーザが、インターネット上のWWW サーバのポート80 へHTTP リクエストを送るとする。まず、IP ヘッダ生成部１２１は、TCP スタック１１０から渡されたデータ（TCP セグメント）にIP ヘッダを付与し、IP パケットを生成する。L2 インタフェース決定部１２３は、ルーティングテーブル１２２を参照し、送信先のL2 インタフェースを"pppx" に決定する。そして、L2 インタフェース決定部１２３は、"pppx"で指定される宛先、即ちPPP インタフェース管理部１５０へIPパケットを渡す。
【００７３】
PPP インタフェース選択部１５２は、IP スタック１２０から受け取ったIP パケットに含まれるTCP ヘッダの宛先ポート番号を参照する。次に、PPP インタフェース選択部１５２は、この宛先ポート番号、即ち80 をキーとして、PPP インタフェーステーブル１５１ａを検索する。PPP インタフェース選択部１５２は、検索の結果、自IP アドレスとして131.113.39.55 を、L2 インタフェースとして"ppp0" を、夫々得る。IP ヘッダ書換部１５３は、IP パケットのヘッダに含まれる送信元IP アドレスを、131.113.39.55 に書換える。そして、PPP インタフェース選択部１５２は、ヘッダが書き換えられたIP パケットを、PPP0 インタフェース１３１ａへ渡す。このあと、PPP スタック１３０以下では、従来通りの通信処理を実行する。また、データ受信時の処理は従来通りの方法を実行する。
【００７４】
第一実施形態によるデータリンク層インタフェースの管理装置によれば、所望のL2 インタフェースが、Metric の値に依存することなく選択される。
【００７５】
第一実施形態によるデータリンク層インタフェースの管理装置よれば、PPP インタフェース選択部１５２が、PPP インタフェーステーブル１５１ａを参照することにより、宛先ポート番号に対応した接続先へのPPP インタフェース１３１を選択する。そして、PPP インタフェース選択部１５２が、選択したPPP インタフェース１３１へIP パケットを渡す。
【００７６】
このため、IP パケットの宛先ポート番号に対応したPPP リンクが自動的に選択され、選択された接続先を経由して、IP パケットの送受信を行うことが可能となる。
【００７７】
図７に、ユーザ端末１００ａがユーザの用途に応じて接続先を切り換える様子を示す。このような技術により、ユーザが、自宅から会社のネットワークに接続して会社のメールを読み書きしながら、個人契約のISP 経由でWeb ブラウジングをすることが可能となる。
【００７８】
図１６，１７に、PPP インタフェーステーブル１５１の別の例として、PPP インタフェーステーブル１５１ｂ，PPP インタフェーステーブル１５１ｃを示す。第一実施形態のPPP インタフェーステーブル１５１は、そのPPP リンクを通じて通信を行いたい宛先IP アドレス（もしくはホスト名）をキーとして、自IP アドレスとPPP インタフェース１３１とを検索するためのテーブルとして構成しても良い（図１６参照）。同様に、第一実施形態のPPP インタフェーステーブル１５１は、そのPPP リンクを通じて通信を行いたいトランスポート層のプロトコル（例えば、TCP，UDP 等）をキーとして、自IP アドレスとPPP インタフェース１３１とを検索するためのテーブルとして構成しても良い（図１７参照）。
【００７９】
また、PPP インタフェーステーブル１５１は、上記した項目（宛先ポート番号，宛先IP アドレス，トランスポート層のプロトコル）のうち、複数の項目をもってキーとするように構成しても良い。例えば、宛先IP アドレスとポート番号との組み合わせをキーとして構成しても良い。
【００８０】
〔第二実施形態〕
図１８に、本発明によるデータリンク層インタフェースの管理装置の第二実施形態のブロック図を示す。以下、各ブロックについての説明を行う。ただし、第一実施形態で説明した構成要素と同様の構成要素については、同一の符号を付して説明を省く。
【００８１】
〈システム構成〉
第二実施形態によるデータリンク層インタフェースの管理装置は、大略すると、TCP スタック１１０とIP スタック１２０ａとPPP インタフェース管理部１５０ａとを含むTCP/IP スタック１６０，PPP スタック１３０，Ethernet スタック１４０から成る。ここで、TCP スタック１１０，PPP スタック１３０，及びEthernet スタック１４０の構成は第一実施形態と同様の構成であるため、説明を省く。
【００８２】
〈〈IP スタック１２０ａ〉〉
IP ヘッダ生成部１２１ａは、IP パケットの転送先を知るために、PPP インタフェース管理部１５０ａに転送先選択要求を送る。このとき、IP ヘッダ生成部１２１ａは、転送先選択要求とともに、PPP インタフェース管理部１５０ａに、宛先ポート番号を送る。
【００８３】
この結果IP ヘッダ生成部１２１ａは、PPP インタフェース管理部１５０ａから、要求応答として、IP パケットを転送する下位インタフェース（PPP インタフェース１３１）の識別情報を含む通知を得る。また、IP ヘッダ生成部１２１ａは、PPP インタフェース管理部１５０ａから、自IP アドレスの通知を得る。IP ヘッダ生成部１２１ａは、上記の情報を元にIP ヘッダを生成する。そして、IP ヘッダ生成部１２１ａは、生成したIP ヘッダを付加したIP パケットを、下位インタフェース１２４へ渡す。
【００８４】
下位インタフェース１２４は、IP ヘッダ生成部１２１ａから受け取ったIP パケットを、転送先となるPPP インタフェース１３１へ渡す。
【００８５】
〈〈PPP インタフェース管理部１５０ａ〉〉
PPP インタフェース選択部１５２ａは、IP ヘッダ生成部１２１ａから転送先選択要求を受け取ると、転送先選択要求と共に受け取る宛先ポート番号をキーとして、PPP インタフェーステーブル１５１を検索する。PPP インタフェース選択部１５２ａは、PPP インタフェーステーブル１５１から、自IP アドレスとPPP インタフェース１３１とを選択する。そして、PPP インタフェース選択部１５２ａは、選択したPPP インタフェース１３１を、要求応答として、IP ヘッダ生成部１２１ａへ通知する。また、PPP インタフェース選択部１５２ａは、選択した自IP アドレスを、自IP アドレス決定部１５４へ通知する。
【００８６】
自IP アドレス決定部１５４は、PPP インタフェース選択部１５２ａから通知された自IP アドレスを、IP ヘッダ生成部１２１ａへ通知する。
【００８７】
〈動作例〉
以下、ユーザが第二実施形態によるユーザ端末１００ａを用いて、HTTP（Hyper Text Transfer Protocol：ポート番号８０）をISP-a アクセスサーバ４００ａに、POP3（Post Office Protocol Version 3：ポート番号１１０）をISP-b アクセスサーバ４００ｂに、夫々関連付けた場合の処理について説明する（図７参照）。この処理は、PPP リンクを確立する際の処理と、PPP リンクが確立した後にIP データ送信を行う際の処理とに分けることができる。PPP リンクを確立する際の処理は第一実施形態と同様の処理となるため、説明を省く。
【００８８】
〈〈TCP/IP データ送信〉〉
ユーザが、インターネット上のPOP3 サーバからメールを読み出すとする。IP ヘッダ生成部１２１ａは、TCP スタック１１０からTCP セグメントを受け取る。IP ヘッダ生成部１２１ａは、受け取ったTCP セグメントのTCP ヘッダから、データの宛先ポート番号を読み出し、POP3 に対応するポート番号110 を得る。IP ヘッダ生成部１２１ａは、このポート番号110 とともに、転送先選択要求をPPP インタフェース管理部１５０ａへ渡す。
【００８９】
PPP インタフェース選択部１５２ａは、ポート番号110 をキーとしてPPPインタフェーステーブル１５１を検索して、自IP アドレスとして155.177.29.34 と、L2 インタフェースとしてppp1を選択する。そして、PPP インタフェース選択部１５２ａと自IP アドレス決定部１５４とが、夫々PPP インタフェースppp1 と自IP アドレス155.177.29.34 とを、IP ヘッダ生成部１２１ａへ通知する。
【００９０】
IP ヘッダ生成部１２１ａは、通知された情報を基に、IP ヘッダを作成し、このIP ヘッダを付加したIP パケットを生成する。そして、IP ヘッダ生成部１２１ａは、生成したIP パケットを下位インタフェース１２４を介して、PPP1 インタフェース１３１ｂへ渡す。PPPスタック１３０以下、従来通りの方法でデータが転送される。
【００９１】
第二実施形態によれば、IP ヘッダ生成部１２１ａは、宛先ポート番号に対応した、転送先のPPP インタフェース１３１と自IP アドレスとを選択し、この情報を基にIP ヘッダを生成する。そして、下位インタフェース１２４は、生成されたIP ヘッダが付加されたIP パケットを、該当するPPP インタフェース１３１へ渡す。
【００９２】
このため、データの宛先ポート番号に対応したPPP リンクが自動的に選択され、このPPP リンクの接続先を経由して、データの送受信が行われる。
〔第三実施形態〕
まず、本発明によるデータリンク層インタフェースの管理装置の第三実施形態で使用されるping コマンドについて説明する。TCP/IP ネットワークの接続性を検査する方法にping コマンドを使う方法がある。ping コマンドは、IP パケットが、通信先まで到達可能か否かを調べるために利用される。ping コマンドは、ICMP （Internet Control Message Protocol, RFC792 ）を用いる。ping コマンドは、診断パケットとして、エコー要求をネットワーク上の宛先に伝送する。エコー要求は、パケットが宛先に到達したか否かを、宛先となるノードに強制的に応答させる。この応答があれば、宛先のノードは存在し、少なくともネットワーク層レベルでアクティブになっていることが確認される。また、宛先からの応答時間を測定することによって、宛先までの伝送時間を計測することができる。
【００９３】
〈システム構成〉
図１９に、本発明によるデータリンク層インタフェースの管理装置の第三実施形態のブロック図を示す。まず、各ブロックについての説明を行う。ただし、第一実施形態と同様の構成については、説明を省く。即ち、TCP スタック１１０，IP スタック１２０，PPP スタック１３０，Ethernet スタック１４０についての説明を省く。
【００９４】
〈〈PPP インタフェース管理部１５０ｂ〉〉
PPP インタフェーステーブル１５１は、図１６に示すPPP インタフェーステーブル１５１ｂのように構成される。即ち、PPP インタフェーステーブル１５１は、宛先IP アドレスをキーとして、自IP アドレスとIP パケットを転送するPPP インタフェース１３１とを検索するためのテーブルとして構成される。
【００９５】
PPP インタフェース選択部１５２ｂは、不図示の不揮発性メモリに、選択しうるPPP インタフェース１３１の識別情報を全て記憶する。即ち、PPP インタフェース選択部１５２ｂは、リンクが確立しているPPP インタフェース１３１と、該当するPPP インタフェース１３１を介して接続しているアクセスサーバ４００から割り当てられている自IP アドレスとを関連づけて、不揮発性メモリに記憶する。  PPP インタフェース選択部１５２ｂは、IP スタック１２０から受け取ったIP パケットの宛先IP アドレスをキーとして、PPP インタフェーステーブル１５１ｂを検索する。この宛先IP アドレスをキーとしたエントリが、PPP インタフェーステーブル１５１ｂに記憶されている場合、PPP インタフェース選択部１５２ｂは、第一実施形態のPPP インタフェース選択部１５２と同様の動作を実行する。
【００９６】
一方、この宛先IP アドレスをキーとしたエントリが、PPP インタフェーステーブル１５１ｂに記憶されていない場合、PPP インタフェース選択部１５２ｂは、この宛先IP アドレスに対して、ping を送信する。このとき、不揮発性メモリに記憶する全てのPPP インタフェース１３１を介して、宛先IP アドレスにping を送信する。
【００９７】
PPP インタフェース選択部１５２ｂは、このping コマンドによって、各PPP インタフェース１３１を介した場合の応答時間、即ち各アクセスサーバ４００を経由した場合の宛先IP アドレスの示すサーバの応答時間（本発明の「通信時間」に相当）を計測する（本発明の「計測手段」に相当）。そして、PPP インタフェース選択部１５２ｂは、この応答時間が最も小さいPPP インタフェース１３１と宛先IP アドレスとを対応付けて、PPP インタフェーステーブル１５１ｂに書き込む（本発明の「検索手段」に相当）。
【００９８】
〈動作例〉
図２０は、第三実施形態によるネットワークの様子を示す図である。以下、図１９及び２０を用いて、ユーザが第三実施形態によるユーザ端末１００ａを用いて、ISP-a アクセスサーバ４００ａとISP-b アクセスサーバ４００ｂとを利用する通信処理について説明する。処理の説明は、PPP リンクを確立する際の処理と、PPP リンクが確立した後にIP データ送信を行う際の処理とに分けて説明する。
【００９９】
〈〈PPP リンク確立〉〉
まず、ユーザ端末１００ａは、接続先ISP-a アクセスサーバ４００ａに対してPPP 接続を開始し、従来の方法を用いてPPP リンクの確立を行う。このときユーザ端末１００ａは、ISP-a アクセスサーバ４００ａから、131.113.39.55 のIP アドレスを割り当てられる。PPP インタフェース選択部１５２ｂは、このPPP リンクに対し、PPP0 インタフェース１３１ａを割り当てる。PPP インタフェース選択部１５２ｂは、ppp0 とIP アドレス131.113.39.55 とを関連づけて、自身が備える不揮発性メモリに記憶する。そして、PPP インタフェース管理部１５０ｂは、IP スタック１２０へ、PPP リンク確立の結果として、インタフェースpppx と自IP アドレスとを返す。
【０１００】
次に、ユーザ端末１００ａは、同様の処理を実行して、ISP-b アクセスサーバ４００ｂに対するPPP 接続を行う。ISP-b アクセスサーバ４００ｂは、IP アドレス155.177.29.34 を、ユーザ端末１００ａに割り当てる。PPP インタフェース選択部１５２ｂは、このリンクに対して、PPP1 インタフェース１３１ｂを割り当てる。ここで、PPP インタフェース選択部１５２ｂは、PPP1 インタフェース１３１ｂとIP アドレス155.177.29.34 とを関連づけて、不揮発性メモリに記憶する。そして、PPP インタフェース管理部１５０ｂは、IP スタック１２０へ、インタフェースpppx を返す。上記処理の結果、ルーティングテーブル１２２は、図１４のようになる。
【０１０１】
〈〈IP データ送信〉〉
まず、IP ヘッダ生成部１２１は、TCP スタック１１０から渡されたTCP セグメントにIP ヘッダを付与し、IP パケットを生成する。L2 インタフェース決定部１２３は、ルーティングテーブル１２２を参照し、送信先のL2 インタフェースをpppx に決定する。そして、L2 インタフェース決定部１２３は、pppx、即ちPPP インタフェース管理部１５０ｂへIP パケットを渡す。
【０１０２】
PPP インタフェース選択部１５２ｂは、IPヘッダ内に含まれる宛先IP アドレスをキーとして、PPP インタフェーステーブル１５１ｂを検索する。PPP インタフェーステーブル１５１ｂに、この宛先IP アドレスをキーとしたエントリがある場合、PPP インタフェース選択部１５２ｂは、第一実施形態のPPP インタフェース選択部１５２と同様の動作を行う。
【０１０３】
一方、PPP インタフェーステーブル１５１ｂに、この宛先IP アドレスをキーとしたエントリが無い場合、PPP インタフェース選択部１５２ｂは、自身が備える不揮発性メモリに記憶する全てのPPP インタフェース、即ちPPP0 インタフェース１３１ａ，PPP1 インタフェース１３１ｂを経由し、宛先IP アドレスに該当するノード（例えばISP-b アクセスサーバ４００ｂ）へ対してping パケットを生成、送信する。
【０１０４】
PPP インタフェース選択部１５２ｂは、各ping パケットに対応する応答を受け取ると、各PPP インタフェース１３１を経由したping パケットの応答時間を比較する。PPP インタフェース選択部１５２ｂは、この応答時間が最も小さいPPP インタフェース１３１及びこれに対応する自IP アドレスと、宛先IP アドレスとを関連づけたエントリを、PPP インタフェーステーブル１５１ｂに追加する。そして、追加したエントリの内容をIP ヘッダ書換部１５３へ渡し、IP ヘッダ書換部１５３によって作成されたIP パケットを、このエントリに含まれるPPP インタフェース１３１へ転送する。PPP スタック１３０以降は、第一実施形態と同様の手段でパケットを転送する。
【０１０５】
第三実施形態によれば、ping の実行により、宛先IP アドレス毎に、各PPP インタフェース１３１経由による応答時間が計測される。そして、宛先IP アドレス毎に、最も応答時間の短いPPP インタフェース１３１が自動的に選択され、選択されたPPP インタフェース１３１を経由して宛先サーバへデータが送信される。
【０１０６】
このため、応答時間が最も短いPPP インタフェース１３１を経由して自動的に宛先サーバにデータが送信される。
【０１０７】
また、第三実施形態のPPP インタフェーステーブル１５１ｂは、あるエントリがこのPPP インタフェーステーブル１５１ｂに登録されてから、あらかじめ決められた時間が経過すると、このエントリを削除するように構成しても良い。
【０１０８】
ある宛先サーバへの、各PPP インタフェース１３１を経由した応答時間は、宛先サーバまでの経路の状況変化に応じて変化する。上記した構成により、この変化に対応し、PPP インタフェーステーブル１５１ｂを最適なテーブルとして維持することが可能となる。
【０１０９】
また、第三実施形態では、ping を使用して応答時間を計測したが、TCP 接続要求を出したり、UDP ポートへなんらかのパケットを送信することによって応答時間を計測しても良い。
【０１１０】
〔第四実施形態〕
〈システム構成〉
図２１に、本発明による第四実施形態のブロック図を示す。まず、各ブロックについての説明を行う。ただし、第二実施形態と同様の構成については、説明を省く。即ち、TCP スタック１１０，PPP スタック１３０，Ethernet スタック１４０は第二実施形態と同様の構成をとるため、説明を省く。
【０１１１】
〈〈IP スタック１２０ｂ〉〉
IP ヘッダ生成部１２１ｂは、IP パケットの転送先を知るために、PPP インタフェース管理部１５０ｃに転送先選択要求を送る。このとき、転送先選択要求とともに、IP パケットの転送先となる宛先IP アドレスをPPP インタフェース管理部１５０ｃに送る。
【０１１２】
この結果IP ヘッダ生成部１２１ｂは、PPP インタフェース管理部１５０ｃから、要求応答として、IP パケットの転送先として選択された下位インタフェース（PPP インタフェース１３１）の通知を得る。また、IP ヘッダ生成部１２１ｂは、PPP インタフェース管理部１５０ｃから、自IP アドレスを通知される。
【０１１３】
IP ヘッダ生成部１２１ｂは、上記の情報を元にIP ヘッダを生成する。そして、IP ヘッダ生成部１２１ｂは、生成したIP ヘッダを付加したIP パケットを、下位インタフェース１２４へ渡す。
【０１１４】
〈〈PPP インタフェース管理部１５０ｃ〉〉
PPP インタフェーステーブル１５１は、図１６に示すPPP インタフェーステーブル１５１ｂのように構成される。即ち、PPP インタフェーステーブル１５１は、宛先IP アドレスをキーとして、自IP アドレスとPPP インタフェース１３１とを検索するためのテーブルとして構成される。
【０１１５】
PPP インタフェース選択部１５２ｃは、不図示の不揮発性メモリに、選択しうるPPP インタフェース１３１を全て記憶する。即ち、PPP インタフェース選択部１５２ｃは、リンクが確立しているPPP インタフェース１３１と、該当するPPP インタフェース１３１を介して接続しているアクセスサーバ４００から割り当てられている自IP アドレスとを関連づけて、不揮発性メモリに記憶する。
【０１１６】
PPP インタフェース選択部１５２ｃは、IP ヘッダ生成部１２１ｂから転送先選択要求を受け取ると、転送先選択要求と共に受け取る宛先IP アドレスをキーとして、PPP インタフェーステーブル１５１ｂを検索する。
【０１１７】
この宛先IP アドレスをキーとしたエントリが、PPP インタフェーステーブル１５１ｂに記憶されている場合、PPP インタフェース選択部１５２ｃは、第二実施形態のPPP インタフェース選択部１５２ａと同様の動作を実行する。
【０１１８】
一方、この宛先IP アドレスをキーとしたエントリが、PPP インタフェーステーブル１５１ｂに記憶されていない場合、PPP インタフェース選択部１５２ｃは、この宛先IP アドレスに対して、pingを送信する。このとき、不揮発性メモリに記憶する全てのPPP インタフェース１３１を介して、宛先IP アドレスにping を送信する。
【０１１９】
PPP インタフェース選択部１５２ｃは、このping コマンドによって、各PPP インタフェース１３１を介した場合の応答時間、即ち各アクセスサーバ４００を経由した場合の宛先IP アドレスの示すサーバの応答時間を計測する。そして、PPP インタフェース選択部１５２ｃは、この応答時間が最も小さいPPP インタフェース１３１と宛先IP アドレスとを対応付けて、PPP インタフェーステーブル１５１ｂに書き込む。そして、PPP インタフェース選択部１５２ｃは、応答時間が最も小さいPPP インタフェース１３１を要求応答として、IP ヘッダ生成部１２１ｂに通知し、さらに自IP アドレス決定部１５４へ、このPPP インタフェースに対応する自IP アドレスを通知する。
【０１２０】
〈動作例〉
以下、ユーザが第四実施形態によるユーザ端末１００ａを用いて、ISP-a アクセスサーバ４００ａとISP-b アクセスサーバ４００ｂとを利用する通信処理について説明する（図２０参照）。処理の説明は、PPP リンクを確立する際の処理と、PPP リンクが確立した後にIP データ送信を行う際の処理とに分けて説明する。
【０１２１】
〈〈PPP リンク確立〉〉
まず、ユーザ端末１００ａは、接続先ISP-a アクセスサーバ４００ａに対してPPP 接続を開始し、従来の方法を用いてPPP リンクの確立行う。このときユーザ端末１００ａは、ISP-a アクセスサーバ４００ａから、131.113.39.55 のIP アドレスを割り当てられる。PPP インタフェース選択部１５２ｃは、このリンクに対し、PPP0 インタフェース１３１ａを割り当てる。PPP インタフェース選択部１５２ｃは、ppp0 とIP アドレス131.113.39.55 とを関連づけて、自身が備える不揮発性メモリに記憶する。そして、PPP インタフェース管理部１５０ｃは、IPスタック１２０へ、PPP リンク確立の結果として、インタフェースpppx と自IP
アドレスとを返す。
【０１２２】
次に、ユーザ端末１００ａは、同様の処理を実行して、ISP-b アクセスサーバ４００ｂ対するPPP 接続を行う。ISP-b アクセスサーバ４００ｂは、IP アドレス155.177.29.34 を、ユーザ端末１００ａに割り当てる。PPP インタフェース選択部１５２ｃは、このリンクに対して、PPP1 インタフェース１３１ｂを割り当てる。ここで、PPP インタフェース選択部１５２ｃは、PPP1 インタフェース１３１ｂとIP アドレス155.177.29.34 とを関連づけて、不揮発性メモリに記憶する。そして、PPP インタフェース管理部１５０ｃは、IP スタック１２０へ、インタフェースpppx を返す。
【０１２３】
〈〈TCP/IP データ送信〉〉
IP ヘッダ生成部１２１ｂは、TCP スタック１１０からTCP セグメントを受け取ると、PPP インタフェース管理部１５０ｃに対して、転送先選択要求と宛先IPアドレスとを送る。PPP インタフェース選択部１５２ｃは、受け取った宛先IP アドレスをキーとして、PPPインタフェーステーブル１５１ｂを検索する。PPP インタフェーステーブル１５１ｂに、この宛先IP アドレスをキーとしたエントリがある場合、PPP インタフェース選択部１５２ｃは、第二実施形態のPPP インタフェース選択部１５２と同様の動作を行う。
【０１２４】
一方、PPP インタフェーステーブル１５１ｂに、この宛先IP アドレスをキーとしたエントリが無い場合、PPP インタフェース選択部１５２ｃは、自身が備える不揮発性メモリに記憶される全てのPPP インタフェース、即ちPPP0 インタフェース１３１ａ，PPP1 インタフェース１３１ｂを経由し、宛先IP アドレスへ対してping パケットを生成、送信する。
【０１２５】
PPP インタフェース選択部１５２ｃは、各インタフェース１３１を経由したping パケットの応答時間を比較する。PPP インタフェース選択部１５２ｃは、この応答時間が最も小さいPPP インタフェース１３１及びこれに対応する自IP アドレスと、宛先IP アドレスとを関連づけたエントリを、PPP インタフェーステーブル１５１ｂに追加する。
【０１２６】
そして、PPP インタフェース選択部１５２ｃは、自IP アドレス131.113.39.55を自IP アドレス決定部１５４へ、決定したPPP0 インタフェース１３１ａをIP ヘッダ生成部１２１ｂへ、夫々送る。これ以降の処理は、第二実施形態と同様の動作を行う。
【０１２７】
第四実施形態によれば、ping の実行により、宛先IP アドレス毎に、各PPP インタフェース１３１経由による応答時間が計測される。そして、宛先IP アドレス毎に、最も応答時間の短いPPP インタフェース１３１が自動的に選択され、選択されたPPP インタフェース１３１を経由して宛先サーバへデータが送信される。
【０１２８】
このため、応答時間が最も短いPPP インタフェース１３１を経由して自動的に宛先サーバにデータが送信される。
【０１２９】
また、第四実施形態のPPP インタフェーステーブル１５１ｂは、あるエントリがこのPPP インタフェーステーブル１５１ｂに登録されてから、あらかじめ決められた時間が経過すると、このエントリを削除するように構成しても良い。
【０１３０】
ある宛先サーバへの、各PPP インタフェース１３１を経由した応答時間は、宛先サーバまでの経路の状況変化に応じて変化する。上記した構成により、この変化に対応し、PPP インタフェーステーブル１５１ｂを最適なテーブルとして維持することが可能となる。
【０１３１】
また、第四実施形態では、ping を使用して応答時間を計測したが、TCP 接続要求を出したり、UDP ポートへなんらかのパケットを送信することによって応答時間を計測しても良い。
【０１３２】
〔その他〕
本発明は、以下のように特定することができる。
【０１３３】
（付記１）  複数のデータリンク層インタフェースを介した複数のリンクが夫々確立される場合に、これらの複数のデータリンク層インタフェースを管理する装置であって、前記データリンク層よりも上位の層で作成されたパケットを受信する受信手段と、前記複数のデータリンク層インタフェースの中から、前記パケットを転送すべきデータリンク層インタフェースを、このパケットに含まれた情報に基づいて選択する選択手段と、を備えるデータリンク層インタフェースの管理装置。
【０１３４】
（付記２）  前記パケットに含まれる情報と、データリンク層インタフェースの識別情報とを対応づけたエントリを記憶する記憶手段をさらに備え、前記選択手段は、送信対象の前記パケットに含まれた情報に対応するデータリンク層インタフェースの識別情報を読み出し、この識別情報に対応するデータリンク層インタフェースを前記パケットを転送すべきデータリンク層インタフェースとして選択する、付記１に記載のデータリンク層インタフェースの管理装置。
【０１３５】
（付記３）  前記パケットに含まれた情報が、宛先ポート番号である、付記１に記載のデータリンク層インタフェースの管理装置。
【０１３６】
（付記４）  前記パケットに含まれた情報が、宛先ＩＰ（ＩｎｔｅｒｎｅｔＰｒｏｔｏｃｏｌ）アドレスである、付記１に記載のデータリンク層インタフェースの管理装置。
【０１３７】
（付記５）  前記パケットに含まれた情報が、トランスポート層のプロトコルの識別情報である、付記１に記載のデータリンク層インタフェースの管理装置。
【０１３８】
（付記６）  ネットワーク層のパケットを生成しこのパケットの転送先のデータリンク層インタフェースを特定して転送するネットワーク層処理部と、前記複数のデータリンク層インタフェースとの間に介在し、前記ネットワーク層処理部によって特定される仮想のデータリンク層インタフェースとして送信対象に相当するネットワーク層のパケットを前記受信手段で受信し、前記選択手段が選択したデータリンク層インタフェースに前記ネットワーク層のパケットを転送する、付記１に記載のデータリンク層インタフェースの管理装置。
【０１３９】
（付記７）  前記選択手段は、ネットワーク層のパケットを生成しこのパケットの転送先のデータリンク層インタフェースを特定して転送するネットワーク層処理部から、送信対象のネットワーク層のパケットの転送先に相当するデータリンク層インタフェースを選択する旨の選択要求を受け取り、前記選択手段が選択したデータリンク層インタフェースを前記ネットワーク層処理部に通知する、付記１に記載のデータリンク層インタフェースの管理装置。
【０１４０】
（付記８）  送信対象のパケットの送信元と宛先との間の通信時間をデータリンク層インタフェース毎に計測する計測手段と、計測された通信時間のうち、最も通信時間が短いデータリンク層インタフェースを検索する検索手段とをさらに備え、前記選択手段は、前記パケットを転送すべきデータリンク層インタフェースとして、前記検索手段によって検索されたデータリンク層インタフェースを選択する、付記１に記載のデータリンク層インタフェースの管理装置。
【０１４１】
（付記９）  前記計測手段及び前記検索手段は、前記選択手段が送信対象のパケットに含まれた情報からデータリンク層インタフェースを選択できない場合に、前記計測処理及び前記検索処理を実行する、付記８に記載のデータリンク層インタフェースの管理装置。
【０１４２】
（付記１０）  前記計測手段は、ピング（ｐｉｎｇ）コマンドを用いて前記データリンク層インタフェース毎の通信時間を計測する、付記８に記載のデータリンク層インタフェースの管理装置。
【０１４３】
（付記１１）  複数のデータリンク層インタフェースを介した複数のリンクを夫々確立する手段と、送信対象のデータリンク層より上位のパケットを受信する受信手段と、前記複数のデータリンク層インタフェースの中から、前記パケットを転送すべきデータリンク層インタフェースを、このパケットに含まれた情報に基づいて選択する選択手段と、を備えるデータリンク層インタフェースの管理装置と、を備える端末装置。
【０１４４】
（付記１２）  複数のデータリンク層インタフェースを介した複数のリンクが夫々確立される場合に、これらの複数のデータリンク層インタフェースを管理する装置が、前記リンクの何れかによって送信されるデータリンク層より上位のパケットを受信するステップと、前記管理する装置が、前記複数のデータリンク層インタフェースの中から、前記パケットを転送すべきデータリンク層インタフェースを、このパケットに含まれた情報に基づいて選択するステップと、を含むデータリンク層インタフェースの管理方法。
【０１４５】
【発明の効果】
本発明によれば、ユーザが実行しようとする通信の内容に応じて、データリンク層インタフェースが自動的に選択され、このデータリンク層インタフェースを介したリンクによる通信を自動的に実行することが可能となる。
【図面の簡単な説明】
【図１】  ＰＰＰｏＥによる接続イメージを示す図である。
【図２】  ＴＣＰ／ＩＰネットワーク（ＰＰＰｏＥ）におけるデータ送信を示す図である。
【図３】  ＩＰヘッダフォーマットを示す図である。
【図４】  ＰＰＰフレームフォーマット（ＨＤＬＣ互換）を示す図である。
【図５】  Ｅｔｈｅｒｎｅｔフレームフォーマット（ＰＰＰｏＥ）を示す図である。
【図６】  各層におけるデータ構造を示す図である。
【図７】  本発明における複数ＰＰＰ接続のイメージを示す図である。
【図８】  従来のルーティングテーブルを示す図である。
【図９】  従来技術による複数ＰＰＰ接続のイメージである。
【図１０】  ＰＰＰネゴシエーションの手順を示す図である。
【図１１】  ＴＣＰヘッダフォーマットを示す図である。
【図１２】  代表的なサービス名とポート番号とを示す図である。
【図１３】  第一実施形態を示すブロック図である。
【図１４】  仮想インタフェースを含んだルーティングテーブルを示す図である。
【図１５】  宛先ポート番号を持つＰＰＰインタフェーステーブルを示す図である。
【図１６】  宛先ＩＰアドレスを持つＰＰＰインタフェーステーブルを示す図である。
【図１７】  トランスポート層プロトコルによるＰＰＰインタフェーステーブルを示す図である。
【図１８】  第二実施形態を示すブロック図である。
【図１９】  第三実施形態を示すブロック図である。
【図２０】  ｐｉｎｇコマンドによる応答時間計測の様子を示す図である。
【図２１】  第四実施形態を示すブロック図である。
【符号の説明】
１００，１００ａ      ユーザ端末
２００                エッヂスイッチ
３００                アクセスコンセントレータ
４００                ＩＳＰアクセスサーバ
４００ａ              ＩＳＰ−ａアクセスサーバ
４００ｂ              ＩＳＰ−ｂアクセスサーバ
５００                宛先ノード
ＡＮ                  アクセス網
１１０                ＴＣＰスタック
１１１                フロー制御部
１１２                到着順序保証部
１１３                ＴＣＰヘッダ生成部
１１４                下位インタフェース
１２０                ＩＰスタック
１２１                ＩＰヘッダ生成部
１２２                ルーティングテーブル
１２３                Ｌ２インタフェース決定部
１２４                下位インタフェース
１３０                ＰＰＰスタック
１３１（１３１ａ）    ＰＰＰ０インタフェース
１３１（１３１ｂ）    ＰＰＰ１インタフェース
１３２（１３２ａ）    ＰＰＰフレーム生成部
１３２（１３２ｂ）    ＰＰＰフレーム生成部
１４０                Ｅｔｈｅｒｎｅｔスタック
１４１                Ｅｔｈｅｒｎｅｔヘッダ生成部
１４２                Ｅｔｈｅｒｎｅｔフレーム送信部
１５０                ＰＰＰインタフェース管理部
１５１                ＰＰＰインタフェーステーブル
１５２                ＰＰＰインタフェース選択部
１５３                ＩＰヘッダ書換部
１５４                自ＩＰアドレス決定部
１６０                ＴＣＰ／ＩＰスタック
【図１】
0003999968.tif 000002
【図２】
0003999968.tif 000003
【図３】
0003999968.tif 000004
【図４】
0003999968.tif 000005
【図５】
0003999968.tif 000006
【図６】
0003999968.tif 000007
【図７】
0003999968.tif 000008
【図８】
0003999968.tif 000009
【図９】
0003999968.tif 000010
【図１０】
0003999968.tif 000011
【図１１】
0003999968.tif 000012
【図１２】
0003999968.tif 000013
【図１３】
0003999968.tif 000014
【図１４】
0003999968.tif 000015
【図１５】
0003999968.tif 000016
【図１６】
0003999968.tif 000017
【図１７】
0003999968.tif 000018
【図１８】
0003999968.tif 000019
【図１９】
0003999968.tif 000020
【図２０】
0003999968.tif 000021
【図２１】
0003999968.tif 000022