(57)【特許請求の範囲】
【請求項１】
端末を広域ネットワークに接続する際に実行されるパケット転送制御方法であって、
上記端末から管理サーバに、該端末から上記広域ネットワークに送信される各パケットに適用すべき特定ヘッダ情報の割当要求パケットを送信し、
上記端末と上記管理サーバとの間の通信経路上に位置した通信装置が、上記端末への特定ヘッダ情報の割当数を管理しておき、該割当数に基いて上記特定ヘッダ情報割当要求パケットの上記管理サーバへの転送を制御し、上記端末への新たな特定ヘッダ情報の割当が、割当数の上限値を超えるものとなる場合は、上記端末からの受信パケットまたは上記管理サーバから該端末宛のパケットを廃棄し、
上記特定ヘッダ情報の割当要求パケットを受信した上記管理サーバが、上記端末に特定ヘッダ情報を割り当てることを特徴とするパケット転送制御方法。
【請求項２】
前記端末と前記広域ネットワークとの間の通信プロトコル手順が、ＰＰＰｏＥ（Point-to-Point Protocol over Ethernet）であり、前記特定ヘッダ情報が、ＰＰＰｏＥセッション識別子であることを特徴とする請求項１に記載のパケット転送制御方法。
【請求項３】
前記特定ヘッダ情報が、前記端末のＩＰアドレスであり、該ＩＰアドレスは、ＤＨＣＰを用いて前記管理サーバから前記端末に割り当てられることを特徴とする請求項１に記載のパケット転送制御方法。
【請求項４】
前記通信装置が、前記特定ヘッダ情報の割当数を上記端末の固定アドレスと対応づけて管理することを特徴とする請求項１に記載のパケット転送制御方法。
【請求項５】
前記端末の固定アドレスが、該端末のＭＡＣアドレスであることを特徴とする請求項４に記載のパケット転送制御方法。
【請求項６】
前記通信装置が、前記特定ヘッダ情報の既割当数に基づいて、前記端末への新たな特定ヘッダ情報の割当可否を判断し、上記新たな特定ヘッダ情報の割当が可と判断された場合に、前記特定ヘッダ情報の割当要求パケットを前記管理サーバに転送すると共に、前記固定アドレスを管理しておき、上記管理サーバから上記端末に通知される新たな特定ヘッダ情報を上記固定アドレスと対応付けて保持することを特徴とする請求項４に記載のパケット転送制御方法。
【請求項７】
前記通信装置が、前記特定ヘッダ情報の有効期限を示す時刻情報を記憶し、期限切れになった特定ヘッダ情報を自動的に削除し、上記削除された特定ヘッダ情報と対応する上記固定アドレスを送信元または宛先とする受信パケットを廃棄することを特徴とする請求項６に記載のパケット転送制御方法。
【請求項８】
前記通信装置が、パケットを受信した際、該受信パケットの送信元または宛先アドレスとなっている固定アドレスに対応した前記時刻情報を更新することを特徴とする請求項７に記載のパケット転送制御方法。
【請求項９】
前記通信装置が、端末毎に前記特定ヘッダ情報の既割当数を保持し、前記端末の前記ＰＰＰｏＥセッション識別子の既割当数が所定値に達していた時、上記端末から送信される新たなＰＰＰｏＥセッションの接続要求を受付不可と判断し、上記端末から送信されるＰＰＰｏＥディスカバリステージのパケットを廃棄することを特徴とする請求項２に記載のパケット転送制御方法。
【請求項１０】
前記通信装置が、端末毎に前記特定ヘッダ情報の既割当数を保持し、前記端末の前記ＰＰＰｏＥセッション識別子の既割当数が所定値に達していない時、上記端末から送信される新たなＰＰＰｏＥセッションの接続要求を受付可と判断し、該端末と前記管理サーバとの間で通信されるＰＰＰｏＥパケットを中継することを特徴とする請求項２に記載のパケット転送制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パケット転送装置およびパケット転送制御方法に関し、更に詳しくは、広域網であるインターネットに接続されたアクセス網において、ＩＳＰ（Internet Service Provider）に接続されるユーザ端末数の制限機能を備えたパケット転送装置およびパケット転送制御方法に関する。
【背景技術】
【０００２】
ユーザ端末からインターネットへのアクセス回線の広帯域化と、ネットワーク機能を搭載した各種家電機器の普及に伴って、単一ユーザが所有する複数の端末を同時にＩＳＰ（Internet Service Provider）の管理サーバに接続する要求が多くなっている。ここで「単一ユーザ」とは、ＩＳＰにおけるインターネット接続サービスの契約単位となるユーザを意味し、一般的には、１つのアクセス回線を介してＩＳＰに接続される個々の世帯を指す。
【０００３】
ユーザ端末をインターネットに接続するためには、各ユーザ端末にＩＰ（Internet Protocol）アドレスを割り当てる必要がある。ＩＰアドレスの割当ては、一般に、ＤＨＣＰ（Dynamic Host Configuration Protocol）やＰＰＰｏＥ（Point-to-Point Protocol over Ethernet）等の通信プロトコルに従って行われる。
【０００４】
ＤＨＣＰは、ユーザ端末がレイヤ２のサブネットワークに接続された時、そのサブネットワーク上の端末として妥当なＩＰアドレスをユーザ端末に動的に割り当てるための通信プロトコルである。また、ＰＰＰｏＥは、各ＩＳＰに所属するＢＡＳ（Broadband Access Server）とユーザ端末との間のＥｔｈｅｒｎｅｔ（登録商標）回線上に、ポイント・ツー・ポイントの仮想的なレイヤ２セッション（ＰＰＰｏＥセッション）を接続するための通信プロトコルである。この場合、各ユーザ端末には、ＰＰＰｏＥセッションを介して、ＰＰＰ（Point-to-Point Protocol）プロトコルによってＩＰアドレスが割り当てられる。
【０００５】
単一ユーザが複数の端末を所有する場合、各ユーザ端末は、例えば、ユーザ宅に設置されたホームルータ（レイヤ３のパケット中継装置）を経由してアクセス網に接続される接続形態と、レイヤ２のパケット中継装置であるハブを通してアクセス網に接続される接続形態がある。ＤＨＣＰやＰＰＰｏＥにおいて、ＩＳＰの管理サーバがＩＰアドレスを割り当てるクライアントは、前者の接続形態ではホームルータであり、後者の接続形態では個々のユーザ端末である。
【０００６】
例えば、ＤＨＣＰを適用した場合、前者の接続形態では、ＩＰアドレスはホームルータにのみ割り当てられるが、後者の接続形態では、ユーザが所有する複数の端末にそれぞれ個別のＩＰアドレスが割り当てられる。後者の接続形態にＰＰＰｏＥを適用した場合、ユーザが所有する複数の端末が、それぞれ個別にＰＰＰｏＥセッションを接続できる。ＰＰＰｏＥが適用される通信環境では、１台のクライアント（ユーザ端末またはホームルータ）が複数のＰＰＰｏＥセッションを必要とする場合がある。例えば、ＰＰＰｏＥセッション毎に異なったサービスを利用する場合や、同一クライアントを異なる複数のＩＳＰに接続する場合である。
【０００７】
以上のように、ＩＳＰが各ユーザに割り当てるＩＰアドレスの数や、同一ユーザが接続するＰＰＰｏＥセッションの数は、ユーザが所有する端末の数、ホームルータの有無、ユーザが利用したいサービスの種類などの条件によって異なる。しかしながら、各ユーザからのＩＰアドレスの割当て要求やＰＰＰｏＥセッションの接続要求を無制限に受け付けると、ＩＳＰの管理サーバであるＢＡＳまたはＤＨＣＰサーバにおける負荷が増大する。また、特定のユーザが多数のＩＰアドレスを使用すると、通信リソースの占有によって、ユーザ間での享有できる通信サービスに不公平が生じるため、ユーザ毎に、割当て可能なＩＰアドレス数や同時に接続可能なセッション数を制限する必要がある。
【０００８】
例えば、ユーザ端末とＩＳＰの管理サーバ（ＤＨＣＰサーバまたはＢＡＳ）が、ユーザ毎に個別のアクセス回線（物理的な回線、またはＶＬＡＮ：Virtual Local Area Network等の論理的な回線）で接続されたネットワーク構成の場合、管理サーバ側で、アクセス回線毎の割当てＩＰアドレスやセッション数を管理することにより、ユーザ毎の割当てＩＰアドレス数や接続セッション数を制限できる。
【０００９】
しかしながら、ユーザ端末が接続されたアクセス回線と管理サーバとの間にレイヤ２スイッチ（Ｌ２ＳＷ）を配置し、このＬ２ＳＷで複数ユーザのトラフィックを単一アクセス回線に集約して管理サーバに転送するネットワーク構成においては、管理サーバは、ユーザ毎に個別のアクセス回線を識別することができない。この場合、管理サーバ側では、ユーザ毎の割当てＩＰアドレス数や接続セッション数を制限することが不可能となる。
【００１０】
上述したＬ２ＳＷが適用されたアクセス網構成において、ユーザ毎の割当てＩＰアドレス数やセッション数の制限する従来技術として、例えば、次のものが知られている。
（１）ＩＳＰの管理サーバ（ＤＨＣＰサーバまたはＢＡＳ）とＬ２ＳＷとを連携させ、ユーザ端末からセッション接続要求パケットまたはＩＰアドレス割当て要求パケットを受信したＬ２ＳＷが、管理サーバに、要求パケットを受信したアクセス回線の識別情報を通知する方式。
（２）セッション接続手順に付随してユーザ認証を行う場合に、認証サーバが、ユーザ毎に割当て済みのＩＰアドレス数や接続中のセッション数を記憶しておき、これらの数が上限値に達したユーザからの新たなセッション接続要求を拒否する方式。
ＤＨＣＰを適用した通信環境において、方式（１）について述べた公知文献として、例えば、特許文献１がある。
【００１１】
【特許文献１】特開２０００−１１２８５２号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
然るに、上述した従来方式（１）、（２）は、何れもＩＳＰに所属する管理サーバ（ＤＨＣＰサーバ、ＢＡＳまたは認証サーバ）に適用されるものであり、Ｌ２ＳＷ単独でユーザへの割当てＩＰアドレス数や接続セッション数を制限するものではない。従来方式（１）は、Ｌ２ＳＷと管理サーバとの連携を前提としているため、例えば、Ｌ２ＳＷが、管理サーバの所属するＩＳＰとは独立した企業体によって運用され、Ｌ２ＳＷと管理サーバとの間の連携動作（アクセス回線の識別情報の通知）を保証できない場合、実現困難となる。
【００１３】
また、ＩＳＰの管理サーバには複数のＬ２ＳＷが接続され、ＩＳＰの管理サーバは、これらのＬ２ＳＷを介して多数のユーザ端末からセッションの接続要求やＩＰアドレスの割当て要求を受け付けているため、従来方式（１）、（２）は、接続ユーザ端末を制限するための処理負荷が管理サーバに集中するという問題がある。
【００１４】
本発明の目的は、ＩＳＰの管理サーバの負荷を軽減して、ユーザ毎の割当てＩＰアドレス数やＰＰＰｏＥセッション数を制限可能なパケット転送装置（Ｌ２ＳＷ）を提供することにある。
【課題を解決するための手段】
【００１５】
上記目的を達成するため、本発明のパケット転送装置は、
それぞれが少なくとも１つのユーザ端末と接続されたアクセス回線を収容する複数の第１インタフェース部と、ユーザ端末と広域ネットワークとの間の通信に必要な通信制御情報を管理する管理サーバと接続するための第２インタフェース部と、制御部とからなり、
上記制御部が、ユーザ端末の固定アドレスと対応して、該ユーザ端末が接続された第１インタフェース部を特定する接続ポート識別子と、管理サーバから該ユーザ端末に動的に割り当てられ、該ユーザ端末が各ユーザパケットに適用する特定ヘッダ情報との関係を示す複数のテーブルエントリからなる管理テーブルを備え、
上記制御部が、広域ネットワークとの通信に先立って各ユーザ端末が管理サーバとの間で実行する所定の通信プロトコル手順の実行中に、上記管理テーブルに基づいて、ユーザ端末への特定ヘッダ情報の割当て可否を判定し、特定ヘッダ情報の割当てが不可と判断されたユーザ端末については、該ユーザ端末からの受信パケット、または該ユーザ端末宛の上記管理サーバからの受信パケットを廃棄することを特徴とする。
【００１６】
更に詳述すると、本発明のパケット転送装置は、上記制御部が、ユーザ端末から、所定の通信プロトコル手順における最初のパケットを受信した時、上記管理テーブルに基づいて、該ユーザ端末への特定ヘッダ情報の割当て可否を判定し、特定ヘッダ情報の割当てが可と判断されたユーザ端末については、上記管理テーブルに該ユーザ端末の固定アドレスと対応した新たなテーブルエントリを追加しておき、上記管理サーバからユーザ端末に通知される特定ヘッダ情報をテーブルエントリに登録することを特徴とする。
【００１７】
上述した所定の通信プロトコル手順が、例えば、ＰＰＰｏＥ（Point-to-Point Protocol over Ethernet）の場合、管理テーブルに登録される固定アドレスはユーザ端末のＭＡＣアドレス、特定ヘッダ情報はＰＰＰｏＥセッション識別子となる。この場合、上記制御部は、上記管理テーブルに登録された同一接続ポート識別子をもつＰＰＰｏＥセッション識別子の個数が所定値に達していた時、上記接続ポート識別子をもつ第１インタフェース部に接続されたユーザ端末から発生する新たなＰＰＰｏＥセッションの接続要求を受付不可と判断し、該ユーザ端末から送信されたＰＰＰｏＥディスカバリステージのパケットを廃棄する。また、上記制御部は、上記管理テーブルに登録された同一接続ポート識別子をもつＰＰＰｏＥセッション識別子の個数が所定値以内にある時、同一ユーザ端末からの複数のＰＰＰｏＥセッション接続要求を受け入れ、該ユーザ端末と前記管理サーバとの間でＰＰＰｏＥパケットを中継する。
【００１８】
所定の通信プロトコル手順が、例えば、ＤＨＣＰ（Dynamic Host Configuration Protocol）の場合、管理テーブルに登録される固定アドレスはユーザ端末のＭＡＣアドレス、特定ヘッダ情報はユーザ端末のＩＰアドレスとなる。この場合、上記制御部は、管理テーブルに登録された同一接続ポート識別子をもつテーブルエントリの個数が所定値に達していた時、上記接続ポート識別子をもつ第１インタフェース部に接続されたユーザ端末から発生するＩＰアドレスの割当て要求を受付不可と判断し、ユーザ端末から送信されたＩＰアドレス取得のためのＤＨＣＰパケットを廃棄する。
【発明の効果】
【００１９】
本発明によれば、ＩＳＰの管理サーバと複数のユーザ端末との間に配置されるパケット転送装置（Ｌ２ＳＷ）が単独で、アクセス回線毎の割当てＩＰアドレス数や接続セッション数を制限できるため、ＩＳＰの管理サーバにおける負荷の集中を軽減することが可能となる。
【発明を実施するための最良の形態】
【００２０】
以下、図面を参照して本発明の実施例について説明する。
【実施例１】
【００２１】
図１は、本発明のパケット転送装置（レイヤ２スイッチ：Ｌ２ＳＷ）１０を含むネットワーク構成の第１の実施例を示す。
ここに示したネットワークは、Ｌ２ＳＷ１０に収容された複数のユーザ網ＮＷ（ＮＷ−Ａ、ＮＷ−Ｂ、ＮＷ−Ｃ、・・・）と、インターネットＩＰＮＷとからなり、Ｌ２ＳＷ１０は、ＩＳＰが管理するＢＡＳ（Broadband Access Server）３０を介して、インターネットＩＰＮＷに接続されている。ＢＡＳ３０には、インターネット接続要求元のユーザを認証するために認証サーバ３１が接続されている。但し、認証サーバ３１の機能は、ＢＡＳ３０に内蔵されていてもよい
ユーザ網ＮＷには、例えば、ＮＷ−Ａ、ＮＷ−Ｃのように、複数のユーザ端末２０（２０−Ａ１〜２０−Ａ２、２０−Ｃ１〜２０−Ｃ３）が、宅内ハブ２１（２１Ａ、２１Ｃ）を介して、Ｌ２ＳＷ１０に接続されるものと、ＮＷ−Ｂのように、ユーザ端末２０−Ｂ１が、アクセス回線５０Ｂを介してダイレクトにＬ２ＳＷ１０に接続されるものとがある。
ここで、例えば、ユーザ端末２０−Ｂ１の位置にホームルータを配置し、図示しない複数のユーザ端末をホームルータ経由でアクセス回線５０Ｂに接続してもよい。同様に、宅内ハブ２１の何れかの支線に、ホームルータを経由して複数のユーザ端末を接続してもよい。従って、以下の説明において、ユーザ端末２０には、このようなホームルータも含まれるものとする。
【００２２】
Ｌ２ＳＷ１０は、これらのユーザ網に接続されたアクセス回線５０ａ、５０ｂ、５０ｃ、・・・と、ＢＡＳ３０との接続回線５０ｕとを収容する各入出力ポート（入出力回線インタフェース）に対して、個別のポートＩＤ（Ｐａ、Ｐｂ、Ｐｃ、・・・Ｐｕ）を割り当てている。
【００２３】
各ユーザ端末２０は、Ｌ２ＳＷ１０を介して、ＢＡＳ３０との間でＰＰＰｏＥセッションの接続手順を実行する。ＰＰＰｏＥセッションの接続と、認証サーバ３１によるユーザ認証およびＩＰアドレス割当てに成功すると、各ユーザ端末２０は、セッション識別子（Ｓ−ＩＤ）と割当てＩＰアドレスとを適用して、ＰＰＰｏＥセッションを通してインターネットへのユーザパケットの送信が可能となる。ＢＡＳ３０は、ＰＰＰｏＥセッションから受信したユーザパケットをデカプセル化し、ＩＰパケット形式でインターネットＩＰＮＷに中継すると共に、インターネットＩＰＮＷから受信したＩＰパケットをＰＰＰｏＥヘッダでカプセル化し、宛先アドレスと対応したＰＰＰｏＥセッションに中継する。
【００２４】
本実施例では、Ｌ２ＳＷ１０が、ＰＰＰｏＥセッション管理テーブル４０を備え、このテーブルを参照して、各ユーザ端末とＢＡＳ３０との間での通信パケットの転送を制御することを特徴としている。ＰＰＰｏＥセッション管理テーブル４０には、図３で詳述するように、ＰＰＰｏＥセッションの接続を要求したユーザ端末の固定アドレス（ＭＡＣアドレス）と対応して、接続ポートＩＤと接続済みセッションの識別子（セッションＩＤ）とが記憶される。
【００２５】
Ｌ２ＳＷ１０は、ユーザ端末２０またはＢＡＳ３０からＰＰＰｏＥパケットを受信すると、受信パケットに付されたレイヤ２のヘッダ（ＭＡＣ）情報のみならず、ＰＰＰｏＥメッセージの種類も判定した上で、ＰＰＰｏＥセッション管理テーブル４０に従ったパケット転送制御を行う。例えば、ユーザ端末から新たＰＰＰｏＥセッションの接続要求パケットを受信した時、Ｌ２ＳＷ１０は、ＰＰＰｏＥセッション管理テーブル４０を参照して、当該ユーザ端末とＢＡＳ３０との間の接続済みのセッション数が予め決められた上限値に達しているか否かを判定する。
【００２６】
もし、接続済みセッション数が上限値に達していなければ、Ｌ２ＳＷ１０は、ユーザ端末のＭＡＣアドレスをもつ新たなテーブルエントリをＰＰＰｏＥセッション管理テーブル４０に登録して、受信パケットをＢＡＳ３０に転送する。接続済みセッション数が上限値に達していた場合、Ｌ２ＳＷ１０は、受信パケットを廃棄することによって、同一ユーザ端末が上限値を越えるセッションを接続するのを阻止する。新たなセッション接続を阻止するためには、Ｌ２ＳＷ１０が、新たなテーブルエントリをＰＰＰｏＥセッション管理テーブル４０に登録することなく、ＰＰＰｏＥセッションの接続要求パケットをＢＡＳ３０に転送しておき、ＢＡＳ３０から応答パケットを受信した時、該応答パケットに対応するテーブルエントリがＰＰＰｏＥセッション管理テーブル４０に未登録であることを理由に、受信パケットを廃棄するようにしてもよい。
【００２７】
図２は、本発明のＬ２ＳＷ１０の１実施例を示すブロック構成図である。
Ｌ２ＳＷ１０は、プロセッサ（制御部）１１と、プロセッサ１１が実行する各種のプログラムを格納したメモリ１２と、データメモリ１３と、複数対の入力回線インタフェース１４−ｉおよび出力回線インタフェース１５−ｉ（ｉ＝１〜ｎ）と、これらの要素を接続する内部バス１６とからなる。メモリ１２には、本発明に関係するプログラムとして、上りＰＰＰｏＥパケット処理ルーチン１００と、下りＰＰＰｏＥパケット処理ルーチン２００と、タイムアウト監視ルーチン３００が用意されている。また、メモリ１３には、前述したＰＰＰｏＥセッション管理テーブル４０と、その他のテーブルとして、例えば、パケット転送に必要なルーティング情報を定義したルーティングテーブルが用意されている。
【００２８】
入力回線インタフェース１４−ｉと出力回線インタフェース１５−ｉは、図１に示した回線５０Ａ〜５０Ｕの何れかに接続され、それぞれポートＩＤ（Ｐａ〜Ｐｕ）が割り当てられている。アクセス回線５０からの受信信号は、入力回線インタフェース１４−ｉで処理され、受信パケットに変換して入力バッファに一時的に蓄積される。
【００２９】
プロセッサ１１は、これらの入力回線インタフェースを循環的にアクセスし、入力バッファから受信パケットを順次に読み出す。プロセッサ１１は、ユーザ網に接続されたアクセス回線５０Ａ〜５０Ｃを収容している入力回線インタフェースからの受信パケットは、上りＰＰＰｏＥパケット処理ルーチン１００によって処理し、ＢＡＳ３０との接続回線を収容している入力回線インタフェース１４−ｎからの受信パケットは、下りＰＰＰｏＥパケット処理ルーチン２００によって処理する。上りＰＰＰｏＥパケット処理ルーチン１００と下りＰＰＰｏＥパケット処理ルーチン２００については、図８、図９を参照して後で詳述する。
【００３０】
図３は、ＰＰＰｏＥセッション管理テーブル４０の１例を示す。
ＰＰＰｏＥセッション管理テーブル４０は、ユーザ端末２０のＭＡＣアドレス４１と対応して、接続ポートＩＤ欄４２と、セッションＩＤ欄４３と、タイムアウト時刻欄４４とをもつ複数のテーブルエントリ４００−１、４００−２、・・・からなる。
【００３１】
接続ポートＩＤ欄４２は、ＭＡＣアドレス４１をもつユーザ端末と接続されたアクセス回線５０が収容された入力回線インタフェース１４のポートＩＤを示す。セッションＩＤ欄４３は、上記ユーザ端末とＢＡＳ３０との間に既に接続済みとなっているＰＰＰｏＥセッションの識別子を示す。本実施例では、個々のユーザ端末が同時に接続可能なＰＰＰｏＥセッションの個数に制限があり、各テーブルエントリ４００には、予め決められた上限値の範囲内で、セッションＩＤが登録される。タイムアウト時刻欄４４には、セッションＩＤと対応して、ＰＰＰｏＥセッションを自動的に切断するためのタイムアウト時刻が登録される。
【００３２】
上記ＰＰＰｏＥセッション管理テーブル４０には、Ｌ２ＳＷ１０が、ユーザ端末から最初のＰＰＰｏＥセッションの接続要求パケット（PPPoE Active Discovery Initiation：ＰＡＤＩ）を受信した時点で、ＭＡＣアドレス４１にユーザ端末のＭＡＣアドレス、接続ポートＩＤ欄４２に上記接続要求パケットの入力ポートＩＤを含む新たなテーブルエントリが追加される。セッションＩＤ欄４３には、ＢＡＳ３０からのセッションＩＤ割当て待ち状態にあることを示す予約コードが設定され、タイムアウト時刻欄４４には、現在時刻に所定時間を加えたタイムアウト時刻が設定される。上述したＰＰＰｏＥセッション管理テーブル４０への新たなテーブルエントリの追加は、上りＰＰＰｏＥパケット処理ルーチン１００によって行われる。
【００３３】
ＰＡＤＩパケットを受信した時、該パケットの送信元ＭＡＣアドレスをもつテーブルエントリが既に存在していた場合、ＰＰＰｏＥセッション管理テーブル４０への新たなテーブルエントリの追加はなく、既存のテーブルエントリに対して、上述したセッションＩＤ（予約コード）とタイムアウト時刻の値が追加される。上りＰＰＰｏＥパケット処理ルーチン１００は、ＰＡＤＩパケットの受信の都度、ＰＰＰｏＥセッション管理テーブル４０を参照し、受信パケットの送信元ＭＡＣアドレスと対応するセッションＩＤの個数をチェックすることによって、登録セッションＩＤの個数が既に上限値に達したユーザ端末からの新たなＰＰＰｏＥセッションの接続要求を阻止する
タイムアウト時刻欄４４の値は、当該ＰＰＰｏＥセッションでの通信パケットの受信の都度、上りＰＰＰｏＥパケット処理ルーチン１００および下りＰＰＰｏＥパケット処理ルーチン２００によって更新される。タイム監視ルーチン３００は、タイムアウト時刻欄４４を定期的にチェックし、タイムアウト時刻に達したセッションＩＤをＰＰＰｏＥセッション管理テーブル４０から自動的に削除する。１つのセッションＩＤの削除によって、セッションＩＤ欄４３が空になった場合、テーブルエントリそのものがＰＰＰｏＥセッション管理テーブル４０から削除される。
【００３４】
ここでは、セッションＩＤ毎に異なったタイムアウト時刻４４の値が設定されているが、タイムアウト時刻は、同一テーブルエントリ内の複数のセッションＩＤで共用してもよい。この場合、同一ユーザ端末が接続した全てのＰＰＰｏＥセッションでパケット通信が途絶えた時、タイムアウトが発生し、テーブルエントリがＰＰＰｏＥセッション管理テーブル４０から削除されることになる。
【００３５】
図１において、各ユーザ端末２０に付随して表示したＭＡＣとＳ−ＩＤの値は、各ユーザ端末のＭＡＣアドレスと、そのユーザ端末が接続中のＰＰＰｏＥセッションのセッションＩＤを示している。図３のテーブルエントリ４００−１〜４００−４は、それぞれユーザ端末２０−Ａ１、２０−Ｂ１、２０−Ｃ１、２０−Ｃ２によるＰＰＰｏＥセッションの接続状態を示している。
【００３６】
図４は、ＰＰＰｏＥのパケットフォーマットを示す。
ＰＰＰｏＥのパケットは、ＭＡＣヘッダ８１と、ＰＰＰｏＥヘッダ８２と、ＰＰＰｏＥペイロード８３とからなる。ＭＡＣヘッダ８１は、サブネット区間におけるパケットの宛先および送信元のアドレスを示す宛先ＭＡＣアドレス８１１および送信元ＭＡＣアドレス８１２と、ＭＡＣヘッダに続くパケットの形式を示すタイプ８１３と、その他の情報を含んでいる。ＰＰＰｏＥパケットの場合、タイプ８１３の値によって、ＭＡＣヘッダ８１の次にＰＰＰｏＥヘッダ８２が位置していることが判る。
【００３７】
ＰＰＰｏＥヘッダ８２は、パケット種別コード８２１と、セッション識別子（Ｓ−ＩＤ）８２２と、その他の情報項目を含んでいる。パケット種別コード８２１の値によって、ＰＰＰｏＥペイロード８３に含まれるパケット（メッセージ）の種類が特定される。セッションＩＤ値が未定の段階で送信されるＰＰＰｏＥパケット、例えば、ＰＡＤＩ、ＰＡＤＯ（PPPoE Active Discovery Offer）、ＰＡＤＲの場合、Ｓ−ＩＤ８２２には、セッションＩＤが未決定であることを示す値が設定される。既にセッションＩＤが決定している段階で送信されるＰＰＰｏＥパケット、例えば、ＰＡＤＳ（PPPoE Active Discovery Session-confirmation）、ＰＡＤＴ（PPPoE Active Discovery Terminate）およびセッションステージの通信パケットの場合、Ｓ−ＩＤ８２２の値によってＰＰＰｏＥセッションを識別できる。
【００３８】
ＰＰＰｏＥディスカバリステージの通信パケットは、ＰＰＰｏＥペイロード８３に新たなセッションに関する各種のパラメータ値を含み、ＰＰＰｏＥセッションステージ以降の通信パケットは、ＰＰＰｏＥペイロード８３に各種のＰＰＰパケットを含む。
【００３９】
図５は、ユーザ端末２０が、ＢＡＳ３０との間に新たなＰＰＰｏＥセッションを接続する場合のＬ２ＳＷ１０の動作を示す通信シーケンスを示す。
図５において、ステップＳＱ１〜ＳＱ８は、本発明が関係するＰＰＰｏＥディスカバリステージの通信シーケンスであり、ステップＳＱ９、ＳＱ１０、ＳＱ１１は、ＰＰＰｏＥディスカバリステージで接続されたＰＰＰｏＥセッションを通して行われるＰＰＰｏＥセッションステージの通信シーケンスを示している。
【００４０】
新たなＰＰＰｏＥセッションを接続する場合、ユーザ端末２０は、ＢＡＳ３０宛にＰＰＰｏＥのＰＡＤＩ（PPPoE Active Discovery Initiation）パケットを送信する（ＳＱ１）。Ｌ２ＳＷ１０は、ＰＡＤＩパケットを受信すると、ＰＰＰｏＥセッション管理テーブル４０を参照して、受信パケットの送信元ＭＡＣアドレスと接続ポートＩＤとで特定されるユーザ別の接続セッション数をチェックする（Ｓ１０）。ここで、もし、ＭＡＣアドレス４１が送信元ＭＡＣアドレスに一致するテーブルエントリがＰＰＰｏＥセッション管理テーブル４０に無ければ、Ｌ２ＳＷ１０は、送信元ＭＡＣアドレスをＭＡＣアドレス４１とする新たなテーブルエントリを追加した後、受信パケットをＢＡＳ３０に転送する（ＳＱ２）。
【００４１】
ＰＰＰｏＥセッション管理テーブル４０に、ＭＡＣアドレス４１が送信元ＭＡＣアドレスに一致するテーブルエントリが既に存在していた場合、Ｌ２ＳＷ１０は、接続セッション数が上限値に達していなければ、セッションＩＤ欄を予約した後、受信パケットをＢＡＳ３０に転送し、接続済みセッション数が上限値に達していれば、受信パケットを廃棄する。但し、受信したＰＡＤＩパケットをＢＡＳ３０に転送しておき、ＢＡＳ３０から応答パケットを受信した時、接続済みセッション数が上限値に達していることを理由に、応答パケットを廃棄するようにしてもよい。
【００４２】
ＢＡＳ３０は、ＰＡＤＩパケットを受信すると、応答パケットとして、ＰＰＰｏＥのＰＡＤＯ（PPPoE Active Discovery Offer）パケットを返信する（ＳＱ３）。Ｌ２ＳＷ１０は、ＢＡＳ３０からＰＡＤＯパケットを受信すると、受信パケットの宛先ＭＡＣアドレスに対応するテーブルエントリがＰＰＰｏＥセッション管理テーブル４０に登録されているか否かをチェックする（Ｓ１１）。宛先ＭＡＣアドレスを持つテーブルエントリが登録済みで、且つ、セッションＩＤ欄が予約済みであれば、Ｌ２ＳＷ１０は、受信パケットを宛先ＭＡＣアドレスと対応するポートＩＤをもつ出力回線インタフェースに出力する。これによって、ＰＡＤＯパケットが要求元のユーザ端末２０に転送される（ＳＱ４）。セッションＩＤ欄が予約されていなかった場合、または、宛先ＭＡＣアドレスと対応するテーブルエントリが未登録の場合、Ｌ２ＳＷ１０は、受信パケットを廃棄する。
【００４３】
ＰＡＤＯパケットを受信したユーザ端末２０は、次に、ＢＡＳ３０宛にＰＰＰｏＥのＰＡＤＲ（PPPoE Active Discovery request）パケットを送信する（ＳＱ５）。Ｌ２ＳＷ１０は、ＰＡＤＲを受信すると、ＰＰＰｏＥセッション管理テーブル４０をチェックし（Ｓ１２）、ＭＡＣアドレス４１が受信パケットの送信元ＭＡＣアドレスに一致するテーブルエントリが登録済みで、セッションＩＤ欄が予約済みの場合は、受信パケットをＢＡＳ３０に転送する（ＳＱ６）。送信元ＭＡＣアドレスに該当するテーブルエントリが未登録、またはセッションＩＤ欄の予約がなければ、Ｌ２ＳＷ１０は、受信パケットを廃棄する。
【００４４】
ＢＡＳ３０は、ＰＡＤＲパケットを受信すると、応答パケットとして、ＰＰＰｏＥのＰＡＤＳ（PPPoE Active Discovery Session-configuration）パケットを返信する（ＳＱ7）。Ｌ２ＳＷ１０は、ＢＡＳ３０からＰＡＤＳパケットを受信すると、ＰＰＰｏＥセッション管理テーブル４０から、受信パケットの宛先ＭＡＣアドレスと対応するテーブルエントリを検索し、受信したＰＡＤＳパケットが示すセッションＩＤをこのテーブルエントリに登録（Ｓ１３）した後、ＰＡＤＳパケットをユーザ端末２０に転送する（ＳＱ８）。ＰＡＤＳパケットを受信した場合も、送信元ＭＡＣアドレスに該当するテーブルエントリが未登録、またはセッションＩＤ欄の予約がなければ、Ｌ２ＳＷ１０は、受信パケットを廃棄する。
【００４５】
ＰＡＤＳパケットを受信したユーザ端末２０は、この後、ＢＡＳ３０との間で、ＰＰＰ
ｏＥセッションステージのＰＰＰリンクの確立手順（ＳＱ９）、ユーザ認証手順（ＳＱ１０）、ＩＰアドレス割当て手順（ＳＱ１１）を実行することによって、インターネット通信状態となる。
【００４６】
図６は、ＰＰＰｏＥセッションステージにおけるデータパケットの通信シーケンスを示す。ユーザ端末２０が送受信するデータパケット（ＰＰＰパケット）は、セッションＩＤ８２２を含むＰＰＰｏＥヘッダによってカプセル化されている。
【００４７】
ユーザ端末２０がデータパケットを送信すると（ＳＱ２１）、これを受信したＬ２ＳＷ１０が、ＰＰＰｏＥセッション管理テーブル４０をチェックし（Ｓ２０）、受信パケットの送信元ＭＡＣアドレスに該当するテーブルエントリに、受信パケットのセッションＩＤが登録済みであることを確認して、受信パケットをＢＡＳ３０に転送する（ＳＱ２２）。送信元ＭＡＣアドレスに該当するテーブルエントリが未登録の場合、または、受信パケットが示すセッションＩＤがテーブルエントリに未登録の場合、Ｌ２ＳＷ１０は、受信パケットを廃棄する。ＢＡＳ３０は、Ｌ２ＳＷ１０からデータパケットを受信すると、これをデカプセル化した後、インターネットに転送する。
【００４８】
一方、インターネット（例えば、Ｗｅｂサーバ）からユーザ端末２０宛に送信されたデータパケットは、ＢＡＳ３０によって、セッションＩＤ８２２を含むＰＰＰｏＥヘッダでカプセル化され、Ｌ２ＳＷ１０に送信される（ＳＱ２３）。Ｌ２ＳＷ１０は、ＢＡＳ１０からデータパケットを受信すると、ＰＰＰｏＥセッション管理テーブル４０をチェックし（Ｓ２１）、受信パケットの宛先ＭＡＣアドレスに該当するテーブルエントリに、受信パケットのセッションＩＤが登録済みであることを確認して、受信パケットをユーザ端末２０に転送する（ＳＱ２４）。宛先ＭＡＣアドレスに該当するテーブルエントリが未登録の場合、または、受信パケットが示すセッションＩＤがテーブルエントリに未登録の場合、Ｌ２ＳＷ１０は、受信パケットを廃棄する。
【００４９】
図７は、ＰＰＰｏＥセッション切断時の通信シーケンスを示す。
ＰＰＰｏＥセッション切断シーケンスは、ＰＰＰｏＥのセッションステージＳＱ３０と、それに続くＰＰＰｏＥのディスカバリステージに分けられる。
【００５０】
ユーザ端末２０側からセッションを切断する場合、ユーザ端末は、ＢＡＳ３０との間で、ＰＰＰｏＥのセッションステージＳＱ３０（ＩＰアドレスの解放手順とＰＰＰリンクの切断手順）を実行した後、ＢＡＳ３０宛にＰＰＰｏＥのＰＡＤＴ（PPoE Active Discovery Terminate）パケットを送信する（ＳＱ３１）。Ｌ２ＳＷ１０は、ＰＡＤＴパケットを受信すると、ＰＰｏＥセッション管理テーブル４０から、受信パケットの送信元ＭＡＣアドレスと対応するテーブルエントリを検索し、受信パケットが示すセッションＩＤを削除（Ｓ３１）した後、受信パケットをＢＡＳ３０に転送する（ＳＱ３２）。
【００５１】
尚、セッションＩＤの削除によって、上記テーブルエントリのセッションＩＤ欄４３が空になった場合、Ｌ２ＳＷ１０は、テーブルエントリそのものをＰＰｏＥセッション管理テーブル４０から削除する。
ＢＡＳ３０側からＰＰＰｏＥセッションを切断する場合も、図７と同様の手順で、ＰＰｏＥセッション管理テーブル４０のデータ削除とＰＡＤＴパケットの転送が行われる。
【００５２】
図８は、上りＰＰＰｏＥパケット処理ルーチン１００のフローチャートを示す。
Ｌ２ＳＷ１０のプロセッサ１１は、ユーザ網ＮＷと接続された入力回線インタフェース１４から受信パケットを読み出すと、ＰＰＰｏＥセッション管理テーブル４０から、ＭＡＣアドレス４１が受信パケットの送信元ＭＡＣアドレスと一致するテーブルエントリを検索する（ステップ１０１）。検索の結果（１０２）、ＭＡＣアドレスが一致するテーブルエントリが無かった場合、プロセッサ１１は、受信パケットの種類を判定し（１０３）、受信パケットがＰＡＤＩパケットでなければ、受信パケットを廃棄して（１２１）、このルーチンを終了する。
【００５３】
受信パケットがＰＡＤＩパケットの場合、プロセッサ１１は、受信パケットの入力ポートＩＤと同一の接続ポートＩＤ４２で、ＰＰＰｏＥセッション管理テーブル４０に登録済みのセッション数をカウントし、セッション数が予め決められた上限値ＭＡＸに達しているか否かを判定する（１０４）。セッション数が上限値に達していた場合は、プロセッサ１１は、受信パケットを廃棄して（１２１）、このルーチンを終了する。
【００５４】
セッション数が上限値未満の場合、プロセッサ１１は、ＭＡＣアドレス４１、接続ポートＩＤ４２に受信パケットの送信元ＭＡＣアドレスと入力ポートＩＤを含み、セッションＩＤ欄４３の１つの空きフィールドを予約した新たなテーブルエントリを生成し、これをＰＰＰｏＥセッション管理テーブル４０に追加する（１０５）。この後、プロセッサ１１は、予約されたセッションＩＤフィールドと対応するタイムアウト時刻４４を更新し（１１９）、受信パケットをＢＡＳ３０との接続回線５０Ｕが収容された出力回線インタフェース１５−ｎに中継し（１２０）、このルーチンを終了する。
【００５５】
ステップ１０２で、ＭＡＣアドレス４１が受信パケットの送信元ＭＡＣアドレスと一致するテーブルエントリが検索された場合、プロセッサ１１は、検索されたテーブルエントリが示す接続ポートＩＤ４２と、受信パケットの入力ポートＩＤを比較する（１０６）。ポートＩＤが一致した場合、プロセッサ１１は、受信パケットの種類を判定する（１０８）。ポートＩＤが不一致の場合は、プロセッサ１１は、モバイル型のユーザ端末が別のユーザ網に移動してパケットを送信したものと判断し、テーブルエントリの接続ポートＩＤ４２の値を受信パケットの入力ポートＩＤに変更（１０７）してから、受信パケットの種類を判定する（１０８）。但し、ポートＩＤが不一致の場合、破線で示すように、受信パケットを廃棄して（１２１）、このルーチンを終了するようにしてもよい。
【００５６】
ステップ１０８で、受信パケットがＰＡＤＩパケットの場合、プロセッサ１１は、受信パケットの入力ポートＩＤと同一の接続ポートＩＤ４２で、ＰＰＰｏＥセッション管理テーブル４０に登録済みのセッション数（セッションＩＤの個数）をカウントし、セッション数が予め決められた上限値に達しているか否かを判定する（１０９）。セッション数が上限値に達していた場合、プロセッサ１１は、受信パケットを廃棄して（１２１）、このルーチンを終了する。セッション数が上限値未満の場合、プロセッサ１１は、セッションＩＤ欄４３の１つの空きフィードを予約し（１１０）、これと対応するタイムアウト時刻を更新し（１１９）、受信パケットをＢＡＳ３０に中継して（１２０）、このルーチンを終了する。
【００５７】
受信パケットがＰＡＤＩパケットでなかった場合、プロセッサ１１は、受信パケットがＰＡＤＲパケットか否かを判定する（１１１）。受信パケットがＰＡＤＲパケットの場合、プロセッサ１１は、検索されたテーブルエントリのセッションＩＤ欄をチェックし（１１２）、セッションＩＤ欄が予約されていなければ、受信パケットを廃棄して（１２１）、このルーチンを終了する。セッションＩＤ欄が予約されていた場合、プロセッサ１１は、タイムアウト時刻を更新し（１１９）、受信パケットをＢＡＳ３０に中継して（１２０）、このルーチンを終了する。
【００５８】
ステップ１１１で、受信パケットがＰＡＤＲパケットでなかった場合、プロセッサ１１は、受信パケットがＰＡＤＴパケットか否かを判定する（１１３）。受信パケットがＰＡＤＴパケットの場合、プロセッサ１１は、受信したＰＡＤＴパケットが示す切断対象となるセッションＩＤが、テーブルエントリのセッションＩＤ欄４３に登録されているか否かを判定する（１１４）。もし、切断対象セッションＩＤがテーブルエントリに登録されていなければ、プロセッサ１１は、受信パケットを廃棄して（１２１）、このルーチンを終了する。
【００５９】
切断対象セッションＩＤがテーブルエントリに登録されていた場合、プロセッサ１１は、該テーブルエントリから切断対象セッションＩＤを削除し（１１５）、テーブルエントリの残りセッション数（ＩＤ数）を判定する（１１６）。残りセッション数がゼロでなければ、プロセッサ１１は、受信パケットをＢＡＳ３０に中継して（１２０）、このルーチンを終了する。セッションＩＤの削除によって、テーブルエントリの残りセッション数がゼロになった場合、プロセッサ１１は、テーブルエントリそのものをＰＰＰｏＥセッション管理テーブル４０から削除し（１１７）、受信パケットをＢＡＳ３０に中継して（１２０）、このルーチンを終了する。
【００６０】
ステップ１１３で、受信パケットがＰＡＤＴパケットでなかった場合、プロセッサ１１は、受信パケットが示すセッションＩＤが、テーブルエントリのセッションＩＤ欄４３に登録されているか否かを判定する（１１８）。もし、セッションＩＤがテーブルエントリに登録されていなければ、プロセッサ１１は、受信パケットを廃棄して（１２１）、このルーチンを終了し、セッションＩＤがテーブルエントリに登録されていた場合は、受信パケットが示すセッションＩＤと対応するタイムアウト時刻を更新し（１１９）、受信パケットをＢＡＳ３０に中継して（１２０）、このルーチンを終了する。
【００６１】
図９は、下りＰＰＰｏＥパケット処理ルーチン２００のフローチャートを示す。
Ｌ２ＳＷ１０のプロセッサ１１は、ＢＡＳ３０と接続された入力回線インタフェース１４−ｎから受信パケットを読み出すと、ＰＰＰｏＥセッション管理テーブル４０から、ＭＡＣアドレス４１が受信パケットの宛先ＭＡＣアドレスと一致するテーブルエントリを検索する（ステップ２０１）。検索の結果（２０２）、宛先ＭＡＣアドレスに該当するテーブルエントリが無かった場合、プロセッサ１１は、受信パケットを廃棄して（２１６）、このルーチンを終了する。
【００６２】
宛先ＭＡＣアドレスに該当するテーブルエントリが検索された場合、プロセッサ１１は、受信パケットの種類を判定する。受信パケットがＰＡＤＯパケットの場合（２０３）、プロセッサ１１は、上記テーブルエントリのセッションＩＤ欄４３をチェックし（２０４）、予約されていなければ、受信パケットを廃棄して（２１６）、このルーチンを終了する。セッションＩＤ欄４３が予約されていた場合、プロセッサ１１は、予約フィールドと対応するタイムアウト時刻を更新し（２１４）、受信パケットを宛先ＭＡＣアドレスと対応するユーザ網接続用の何れかの出力回線インタフェース１５に中継して（２１５）、このルーチンを終了する。
【００６３】
受信パケットがＰＡＤＳパケットの場合（２０５）、プロセッサ１１は、該ＰＡＤＳパケットが示す割当てセッションＩＤが上記テーブルエントリに既に登録済みか否かを判定する（２０６）。もし、登録済みであれば、プロセッサ１１は、上記テーブルエントリのタイムアウト時刻欄４４で、上記セッションＩＤと対応したタイムアウト時刻の値を更新し（２１４）、受信パケットを宛先ＭＡＣアドレスと対応するユーザ網接続用の何れかの出力回線インタフェース１５に中継して（２１５）、このルーチンを終了する。
【００６４】
ステップ２０６で、テーブルエントリに割当てセッションＩＤが未登録の場合、プロセッサは、上記テーブルエントリのセッションＩＤ欄４３をチェックし（２０７）、予約されていなければ、受信パケットを廃棄して（２１６）、このルーチンを終了する。セッションＩＤ欄４３が予約されていた場合、プロセッサ１１は、ＰＡＤＳパケットが示す割当てセッションＩＤをセッションＩＤ欄４３に登録し（２０８）、該セッションＩＤと対応するタイムアウト時刻を更新し（２１４）、受信パケットを宛先ＭＡＣアドレスと対応するユーザ網接続用の何れかの出力回線インタフェース１５に中継して（２１５）、このルーチンを終了する。
【００６５】
ステップ２０５で、受信パケットがＰＡＤＳパケットでなかった場合、プロセッサ１１は、受信パケットのセッションＩＤがテーブルエントリのセッションＩＤ欄４３に登録済みか否かを判定する（２０９）。もし、受信パケットのセッションＩＤが未登録の場合、プロセッサ１１は、受信パケットを廃棄して（２１６）、このルーチンを終了し、登録済みの場合は、受信パケットがＰＡＤＴパケットか否かを判定する（２１０）。
【００６６】
受信パケットがＰＡＤＴパケットの場合、プロセッサ１１は、ＰＡＤＳパケットが示すセッションＩＤをテーブルエントリから削除し（２１１）、該テーブルエントリの残りのセッション数（セッションＩＤの個数）をチェックする（２１２）。残りのセッション数がゼロでなければ、受信パケットを宛先ＭＡＣアドレスと対応するユーザ網接続用の何れかの出力回線インタフェース１５に中継して（２１５）、このルーチンを終了する。残りのセッション数がゼロとなった場合、プロセッサ１１は、上記テーブルエントリそのものをＰＰＰｏＥセッション管理テーブル４０から削除（２１３）した後、ステップ２１５を実行する。
【００６７】
ステップ２１０で、受信パケットがＰＡＤＴ以外のパケット（例えば、データパケット）の場合、プロセッサ１１は、受信パケットが示すセッションＩＤと対応するタイムアウト時刻を更新し（２１４）、受信パケットを宛先ＭＡＣアドレスと対応するユーザ網接続用の何れかの出力回線インタフェース１５に中継して（２１５）、このルーチンを終了する。
【実施例２】
【００６８】
図１０は、本発明のパケット転送装置（レイヤ２スイッチ：Ｌ２ＳＷ）１０を含むネットワーク構成の第２の実施例を示す。図１と比較すると、本実施例のネットワークは、Ｌ２ＳＷ１０が、ＩＰアドレス管理テーブル７０を備え、ルータ３２を介してインターネットＩＰＮＷに接続されたことに特徴がある。
【００６９】
ここで、ルータ３２は、ＤＨＣＰ（Dynamic Host Configuration Protocol）に従って、ユーザ端末２０に使用期限付きのＩＰアドレスの割当て／解放を行うＤＨＣＰサーバとしての機能を備えている。但し、ルータ３２の位置に、ＤＨＣＰリレーエージェントを配置してもよい。この場合、ルータ３２とは別にＤＨＣＰサーバを配置しておき、ユーザ端末２０とＤＨＣＰサーバが、ルータ３２（ＤＨＣＰリレーエージェント）を介して、ＤＨＣＰパケットを送受信することになる。
本実施例では、Ｌ２ＳＷ１０が、ＩＰアドレス管理テーブル７０を用いて、アクセス回線毎にユーザ端末への割当てＩＰアドレス数を制限し、ユーザ端末２０とルータ３２との間のパケット通信を制御する。
【００７０】
図１１は、実施例２に適用されるＬ２ＳＷ１０のブロック構成図である。
本実施例のＬ２ＳＷ１０は、図２に示したＬ２ＳＷと同一の構成要素からなり、メモリ１２に、プロセッサ１１が実行する本発明に関係するプログラムとして、上りパケット処理ルーチン４００、下りパケット処理ルーチン５００、リース期間監視ルーチン６００が用意されている。また、メモリ１３に、ＩＰアドレス管理テーブル７０を備えている。
【００７１】
上りパケット処理ルーチン４００は、ユーザ端末２０から受信したＩＰパケット（ＤＨＣＰパケットを含む）またはＡＲＰ（Address Resolution Protocol）パケットの転送を制御するためのプログラムであり、必要に応じてＩＰアドレス管理テーブル７０を更新し、ＩＰアドレス管理テーブル７０に従って、受信パケットのルータ３２への中継要否を判断する。
【００７２】
下りパケット処理ルーチン５００は、ルータ３２から受信したＩＰパケット（ＤＨＣＰパケットを含む）またはＡＲＰパケットのユーザ端末２０への転送を制御するためのプログラムであり、必要に応じてＩＰアドレス管理テーブル７０を更新し、ＩＰアドレス管理テーブル７０に従って、受信パケットのユーザ端末２０への中継要否を判断する。
【００７３】
図１２は、ＩＰアドレス管理テーブル７０の１例を示す。
ＩＰアドレス管理テーブル７０は、ユーザ端末２０のＭＡＣアドレス７１と対応して、接続ポートＩＤ７２と、割当てＩＰアドレス７３と、リース終了時刻７４とを示す複数のテーブルエントリ７００−１、７００−２、・・・からなる。
【００７４】
接続ポートＩＤ７２は、実施例１と同様、ＭＡＣアドレス７１をもつユーザ端末との接続されたアクセス回線が収容された入力回線インタフェースのポート識別子を示し、割当てＩＰアドレス７３は、ルータ３２が上記ユーザ端末に割り当てた期限付きのＩＰアドレスの値を示し、リース終了時刻７４は、割当てＩＰアドレスの有効期限を示している。
【００７５】
ＩＰアドレス管理テーブル７０には、Ｌ２ＳＷ１０が、ユーザ端末から接続要求（DHCP DISCOVER）パケットを受信した時、上りパケット処理ルーチン４００によって、新たなテーブルエントリが追加される。また、各テーブルエントリには、Ｌ２ＳＷ１０が、ユーザ端末からのＩＰアドレス割当て要求（DHCP REQUEST）に応答してルータ３２が返送するＩＰアドレス通知（DHCP ACK）パケットを受信した時、下りパケット処理ルーチン５００によって、割当てＩＰアドレス７３とリース終了時刻７４とが登録される。
【００７６】
リース終了時刻７４は、ユーザ端末からの要求によって延長可能であり、リース期間監視ルーチン６００によって定期的にチェックされる。リース終了時刻に達したテーブルエントリは、リース期間監視ルーチン６００によって、ＩＰアドレス管理テーブル７０から自動的に削除される。
実施例１では、一つのＭＡＣアドレス（ユーザ端末）に対して複数のセッションＩＤを割り当てることができたが、実施例２では、各ＭＡＣアドレス（ユーザ端末）に対して一つのＩＰアドレスが割り当てられる。
【００７７】
図１３は、本実施例でＬ２ＳＷ１０が送受信するデータパケットおよびＤＨＣＰパケットのフォーマットを示す。
Ｌ２ＳＷ１０がユーザ端末２０、またはルータ３２から受信するデータパケットおよびＤＨＣＰパケットは、ＭＡＣヘッダ８１と、ＩＰヘッダ８４と、ＩＰペイロード８５とからなる。ＩＰヘッダには、プロトコルタイプ８４１、送信元ＩＰアドレス８４２、宛先ＩＰアドレス８４３、その他の情報項目が含まれる。プロトコルタイプ８４１は、ＩＰペイロード８５に適用されるプロトコルを示しており、例えば、ＩＰペイロードがＵＤＰパケットを含む場合、プロトコルタイプ８４１には、ＵＤＰパケットを示す特定値が設定される。
【００７８】
ＤＨＣＰパケットは、ＵＤＰ（User Datagram Protocol）パケットの一種であり、図１４に示すように、ＩＰペイロード８５に、ＵＤＰヘッダ８６とＤＨＣＰメッセージ８７とを含む。ＵＤＰヘッダ８６には、送信元ポート番号８６１、宛先ポート番号８６２、その他の情報項目が含まれる。ＤＨＣＰパケットの場合、送信元ポート番号と宛先ポート番号は、ＤＨＣＰプロトコルを示す特定値が設定され、ＵＤＰヘッダ８６の後にＤＨＣＰ以外の別プロトコルのデータが続く場合は、そのプロトコルに対応した値が設定される。
【００７９】
ＤＨＣＰメッセージ８７は、割当てＩＰアドレス８７１、メッセージタイプ８７２、リース期間８７３、その他の情報項目が含まれる。割当てＩＰアドレス８７１は、ルータ３２がユーザ端末に割り当てたＩＰアドレス、または割当て候補ＩＰアドレスを示す。割当てＩＰアドレスが未定の場合は、未定であることを示す特定値が設定される。
【００８０】
メッセージタイプ８７２には、ＤＨＣＰメッセージのタイプ、例えば、「DISCOVER」、「OFFER」、「REQUEST」、「ACK」、「NAK」、「DECLINE」または「RELEASE」を示すコードが設定される。リース期間８７３には、ルータ３２がユーザ端末に割り当てたＩＰアドレスの有効期間を表す値（または希望値）が設定される。但し、リース期間８７３は、ＤＨＣＰメッセージの種類によっては不要となる。
【００８１】
図１５は、ユーザ端末が、ＩＰアドレスと対応するＭＡＣアドレスを知るための送信するＡＲＰパケットのフォーマットを示す。ＡＲＰパケットは、ＭＡＣヘッダ８１の後にＡＲＰメッセージＭを含んでいる。
【００８２】
図１６は、上りパケット処理ルーチン４００のフローチャートを示す。
Ｌ２ＳＷ１０のプロセッサ１１は、ユーザ網ＮＷと接続された入力回線インタフェース１４から受信パケットを読み出すと、ＩＰアドレス管理テーブル７０から、ＭＡＣアドレス７１が受信パケットの送信元アドレスと一致するテーブルエントリを検索する（ステップ４０１）。検索の結果（４０２）、送信元ＭＡＣアドレスに該当するテーブルエントリが無かった場合、プロセッサ１１は、受信パケットの種類を判定し（４０３）、受信パケットがDHCP DISCOVERパケットでなければ、受信パケットを廃棄して（４１４）、このルーチンを終了する。
【００８３】
受信パケットがDHCP DISCOVERパケットの場合、プロセッサ１１は、受信パケットの入力ポートＩＤと同一の接続ポートＩＤ７２で、ＩＰアドレス管理テーブル７０に登録済みの割当てＩＰアドレス数（テーブルエントリ数）をカウントし、割当てＩＰアドレス数が予め決められた上限値ＭＡＸに達しているか否かを判定する（４０４）。同一の接続ポートＩＤで割当てＩＰアドレス数が既に上限値に達していた場合、プロセッサ１１は、受信パケットを廃棄して（４１４）、このルーチンを終了する。
【００８４】
割当てＩＰアドレス数が未だ上限値に達していなければ、プロセッサ１１は、ＭＡＣアドレス７１と接続ポートＩＤ７２に、受信パケットの送信元ＭＡＣアドレスと入力ポートＩＤを含み、割当てＩＰアドレス７３とリソース終了時刻７４が空欄の新たなテーブルエントリを生成し、これをＩＰアドレス管理テーブル７０に追加する（４０５）。この後、プロセッサ１１は、受信パケットをルータ３２との接続回線を収容した出力回線インタフェース１５−ｎに中継して（４１３）、このルーチンを終了する。
【００８５】
ステップ４０２で、受信パケットの送信元ＭＡＣアドレスに該当するテーブルエントリが見つかった場合、プロセッサ１１は、検索されたテーブルエントリの接続ポートＩＤ７２と受信パケットの入力ポートＩＤとを比較する（４０６）。ポートＩＤが一致した場合、プロセッサ１１は、受信パケットの種類を判定し（４０８）、ポートＩＤが不一致の場合は、モバイル型のユーザ端末が別のユーザ網に移動してパケットを送信したものと理解して、上記テーブルエントリの接続ポートＩＤ７２の値を受信パケットの入力ポートＩＤに変更（４０７）してから、受信パケットの種類を判定する（４０８）。但し、ポートＩＤが不一致の場合、破線で示すように、受信パケットを廃棄して（４１４）、このルーチンを終了するようにしてもよい。
【００８６】
受信パケットがDHCP DISCOVERパケットの場合、プロセッサ１１は、同一のユーザ端末からDHCP DISCOVERパケットが再度送信されたものと理解して、上記テーブルエントリの割当てＩＰアドレス７３をクリア（４０９）した後、受信パケットをルータ３２との接続回線を収容した出力回線インタフェース１５−ｎに中継して（４１３）、このルーチンを終了する。
【００８７】
受信パケットが、ＩＰアドレス解放のためのDHCP DECLINEパケットまたはDHCP RELEASEパケットの場合（４１０）、プロセッサ１１は、上記テーブルエントリをＩＰアドレス管理テーブル７０から削除（４１２）した後、受信パケットをルータ３２との接続回線を収容した出力回線インタフェース１５−ｎに中継して（４１３）、このルーチンを終了する。
【００８８】
受信パケットが、DHCP DISCOVERパケット、DHCP DECLINEパケット、DHCP RELEASEパケットの何れにも該当しなかった場合、すなわち、ステップ４１０の判定結果がＮｏの場合、プロセッサ１１は、受信パケットをルータ３２との接続回線を収容した出力回線インタフェース１５−ｎに中継して（４１３）、このルーチンを終了する。
【００８９】
図１７は、下りパケット処理ルーチン５００のフローチャートを示す。
Ｌ２ＳＷ１０のプロセッサ１１は、ルータ３２と接続された入力回線インタフェース１４−ｎから受信パケットを読み出すと、ＩＰアドレス管理テーブル７０から、ＭＡＣアドレス７１が受信パケットの送信元アドレスと一致するテーブルエントリを検索する（ステップ５０１）。検索の結果（５０２）、宛先ＭＡＣアドレスに該当するテーブルエントリが無かった場合、プロセッサ１１は、受信パケットを廃棄して（５０９）、このルーチンを終了する。
【００９０】
宛先ＭＡＣアドレスに該当するテーブルエントリが見つかった場合、プロセッサ１１は、受信パケットの種類を判定する。受信パケットが、DHCP ACK（Acknowledge）パケットの場合（５０３）、プロセッサ１１は、上記テーブルエントリの割当てＩＰアドレス７３に、受信したDHCP ACKパケットが示す割当てＩＰアドレスの値を登録し（５０４）、上記テーブルエントリのリソース終了時刻７４に、現在時刻に上記DHCP ACKパケットが示すリース期間を加えた値を設定する（５０５）。この後、プロセッサ１１は、受信パケットを宛先ＭＡＣアドレスと対応する出力回線インタフェース１５に中継して（５０８）、このルーチンを終了する。
【００９１】
受信パケットが、DHCP NAK（Negative Acknowledge）パケットの場合（５０６）、プロセッサ１１は、ＩＰアドレス管理テーブル７０から上記検索テーブルエントリを削除し（５０７）、受信パケットを宛先ＭＡＣアドレスと対応する出力回線インタフェース１５に中継して（５０８）、このルーチンを終了する。受信パケットが、DHCP ACKパケット、DHCP NAKパケット以外のパケットの場合、プロセッサ１１は、受信パケットを宛先ＭＡＣアドレスと対応する出力回線インタフェース１５に中継して（５０８）、このルーチンを終了する。
【００９２】
図１８は、実施例２において、ユーザ端末２０が、Ｌ２ＳＷ１０を介して、ルータ（ＤＨＣＰサーバ）３２との間で行うＩＰアドレス割当てのための通信シーケンスを示す。
インターネットＩＰＮＷへのアクセスに先立って、ユーザ端末２０は、ルータ３２に、DHCP DISCOVERパケットを送信する（ＳＱ４１）。上記DHCP DISCOVERパケットを受信したＬ２ＳＷ１０は、上りパケット処理ルーチン４００を実行して、ＩＰアドレス管理テーブル７０を参照し、接続ポート当たりの割当てＩＰアドレスの個数をチェックし、割当てＩＰアドレス数が上限値に達していなければ、ＩＰアドレス管理テーブル７０に新たなテーブルエントリを追加して（Ｓ４０）、受信パケットをルータ３２に中継する（ＳＱ４２）。割当てＩＰアドレス数が上限値に達していれば、ユーザ要求は無視され、受信パケットは廃棄される。
【００９３】
ルータ３２は、上記DHCP DISCOVERパケットに応答して、DHCP OFFERパケットを返送する（ＳＱ４３）。上記DHCP OFFERパケットを受信したＬ２ＳＷ１０は、下りパケット処理ルーチン５００を実行してＩＰアドレス管理テーブル７０をチェックし、受信パケットの宛先ＭＡＣアドレスと対応するテーブルエントリが登録済みであることを確認して（Ｓ４１）、受信パケットをユーザ端末２０に中継する（ＳＱ４４）。
【００９４】
DHCP OFFERパケットを受信したユーザ端末２０は、次に、DHCP REQUESTパケットをルータ３２に送信する（ＳＱ４５）。上記DHCP REQUESTパケットは、Ｌ２ＳＷ１０によってルータ３２に中継され（ＳＱ４６）、ルータ３２は、上記DHCP REQUESTパケットに応答して、割当てＩＰアドレスとリース期間を指定したDHCP ACKパケットを返送する（ＳＱ４７）。Ｌ２ＳＷ１０は、上記DHCP ACKパケットを受信すると、ＩＰアドレス管理テーブルで宛先ＭＡＣアドレスに該当するテーブルエントリの有無をチェックし、受信パケットが示す割当てＩＰアドレスとリース期間をＩＰアドレス管理テーブルに登録（Ｓ４２）した後、受信パケットをユーザ端末２０に中継する（ＳＱ４８）。
【００９５】
ユーザ端末２０は、上記DHCP ACKパケットによって割当てＩＰアドレスを取得すると、ＡＲＰプロトコルに従って、上記割当てＩＰアドレスに対応するＭＡＣアドレスの問合せを行い、自端末以外に同一ＩＰアドレスをもつユーザ端末が存在していないことを確認して（ＳＱ５０）、インターネットＩＰＮＷとの通信を開始する。
【００９６】
図１９は、実施例２におけるユーザＩＰパケット（またはＡＲＰパケット）の通信シーケンスを示す。
ユーザ端末２０が、割当てＩＰアドレスを送信元ＩＰアドレスに適用して、ユーザＩＰパケットを送信すると（ＳＱ５１）、これを受信したＬ２ＳＷ１０は、上りパケット処理ルーチン４００を実行して、ＩＰアドレス管理テーブル７０を参照し（Ｓ５０）、受信パケットの送信元ＭＡＣアドレスに該当するテーブルエントリがＩＰアドレス管理テーブル７０に登録済みであることを確認して、受信パケットをルータ３２に中継する（ＳＱ５２）。
【００９７】
送信元ＭＡＣアドレスに該当するテーブルエントリがＩＰアドレス管理テーブル７０に未登録の場合、Ｌ２ＳＷ１０（上りパケット処理ルーチン４００）は、受信パケットを廃棄する。但し、上り方向の受信パケットをルータ３２に中継しておき、ルータ側から受信する下り方向のパケットを下りパケット処理ルーチン５００によって廃棄するようにしてもよい。
【００９８】
インターネットＩＰＮＷ上のサーバがユーザ端末２０宛に送信したＩＰパケットは、ルータ３２を介してＬ２ＳＷ１０に転送される（ＳＱ５３）。Ｌ２ＳＷ１０は、上記ＩＰパケットを受信すると、下りパケット処理ルーチン５００を実行して、ＩＰアドレス管理テーブル７０を参照し（Ｓ５１）、ＩＰアドレス管理テーブル７０に受信パケットの宛先ＭＡＣアドレスに該当するテーブルエントリが登録済みであることを確認して、受信パケットをユーザ端末２０に中継する（ＳＱ５４）。宛先ＭＡＣアドレスと対応するテーブルエントリがＩＰアドレス管理テーブル７０に未登録の場合、Ｌ２ＳＷ１０（下りパケット処理ルーチン５００）は、受信パケットを廃棄する。
【００９９】
図２０は、実施例２において、ユーザ端末２０が、Ｌ２ＳＷ１０を介して、ルータ（ＤＨＣＰサーバ）３２との間で行うＩＰアドレス解放のための通信シーケンスを示す。
ユーザ端末２０は、自分に割り当てられたＩＰアドレスを無効化または解放する時、ルータ３２宛に、DHCP DECLINEパケットまたはDHCP RELEASEパケットを送信する（ＳＱ６１）。DHCP DECLINEパケットは、ユーザ端末に割り当てられたＩＰアドレスが、ＡＲＰ手順によって、別のユーザ端末に割り当てられたＩＰアドレスと競合することが判明した時、ＩＰアドレスの割当てを無効にするために送信されるＤＨＣＰパケットであり、DHCP RELEASEパケットは、正常に割り当てられたＩＰパケットが不要になった時、ＩＰパケットを解放するために送信されるＤＨＣＰパケットである。
【０１００】
上記ＤＨＣＰパケットを受信したＬ２ＳＷ１０は、上りパケット処理ルーチン４００を実行して、受信パケットで解放要求されたＩＰアドレス（送信元ＭＡＣアドレスに対応するテーブルエントリ）をＩＰアドレス管理テーブル７０から削除（Ｓ６０）した後、受信パケットをルータ３２に中継する（ＳＱ６２）。
ＩＰアドレス管理テーブル７０からのテーブルエントリの削除は、上述したDHCP DECLINEパケットまたはDHCP RELEASEパケットの受信時以外に、例えば、リソース終了時刻に達した時、あるいは、ユーザ端末からのリース期間の延長要求がルータ３２によって拒否された時にも行われる。
【０１０１】
例えば、ユーザ端末２０が、リース期間の延長要求（DHCP REQUEST）パケットを送信すると（ＳＱ７１）、Ｌ２ＳＷ１０は、上りパケット処理ルーチン４００を実行して、受信パケットをルータ３２に中継する（ＳＱ７２）。ここで、ルータ３２が、リース期間の延長を拒否するDHCP NAKパケットを返送（ＳＱ７３）した場合、Ｌ２ＳＷ１０は、下りパケット処理ルーチン５００を実行し、ＩＰアドレス管理テーブル７０から、上記DHCP NAKパケットの宛先ＭＡＣアドレスと対応するテーブルエントリを削除して（Ｓ７０）、受信パケットをユーザ端末２０に中継する。
【０１０２】
以上の実施例では、ＩＳＰの管理サーバ（ＢＡＳや、ＤＨＣＰサーバとしての機能を備えたルータ）に１つのパケット転送装置（Ｌ２ＳＷ）１０が接続されたネットワーク構成（図１、図１０）について説明したが、実際の応用においては、管理サーバには、複数のパケット転送装置が接続され、これらのパケット転送装置を介して多数のユーザ端末が管理サーバと交信する。
【０１０３】
本発明の実施例によれば、各パケット転送装置（Ｌ２ＳＷ）１０が、それぞれ単独で、管理サーバに接続されるユーザ端末数をアクセス回線毎に制限することができるため、管理サーバの負荷を軽減することが可能となる。
また、本発明によれば、ＩＳＰの管理サーバとの連携を前提とすることなく、広域ネットワークであるインターネットへのユーザ端末の接続数を制限できるため、既存ネットワーク環境への導入が容易であり、例えば、同一ユーザがＩＰアドレスの割当て要求やセッション接続要求を大量に発信する不正なＤｏＳ（Denial of Service）攻撃に対する耐性を高めることが可能となる。
【０１０４】
尚、実施例では、Ｌ２ＳＷの各回線インタフェース部が、それぞれアクセス回線を介して個別のユーザ網に接続されたネットワーク構成について説明したが、本発明は、回線インタフェース部に収容される特定のアクセス回線が、例えば、ポートＶＬＡＮとタグＶＬＡＮとの変換機能を備えた別のＬ２ＳＷを介して、複数のユーザ網に接続されるネットワーク構成に対しても適用可能である。この場合、上記特定アクセス回線では複数のタグＶＬＡＮが多重化された状態となるため、例えば、図３に示したＰＰＰｏＥセッション管理テーブル４０において、上記特定アクセス回線の接続ポートＩＤについては、ポートＩＤとＶＬＡＮ−ＩＤとの組み合わせを適用することによって、ＶＬＡＮ毎にユーザ端末の接続数（ＰＰＰｏＥセッション数）を制限することが可能となる。
【０１０５】
また、実施例では、各アクセス回線に個別のユーザ端末、またはＨＵＢを介して複数のユーザ端末を接続したネットワーク構成について説明したが、本発明は、例えば、ＯＬＴ（Optical Line Terminal）に収容された各光ファイバをスプリッタで複数の支線光ファイバに分岐し、各支線光ファイバにＯＮＵ（Optical Network Unit）を介してユーザ端末を接続したＰＯＮ（Passive Optical Network）において、各光ファイバから受信したパケットを上位網との接続回線に多重化するためにＯＬＴに配置されるＬ２ＳＷに対しても適用できる。
【図面の簡単な説明】
【０１０６】
【図１】本発明のパケット転送装置（Ｌ２ＳＷ）を含むネットワーク構成の第１の実施例を示す図。
【図２】第１実施例に適用されるＬ２ＳＷ１０のブロック構成図。
【図３】第１実施例のＬ２ＳＷ１０が備えるＰＰＰｏＥセッション管理テーブル４０を示す図。
【図４】ＰＰＰｏＥパケットのフォーマット図。
【図５】第１実施例におけるＰＰＰｏＥセッション接続時のＬ２ＳＷの動作を示す通信シーケンス図。
【図６】第１実施例におけるＰＰＰｏＥセッションステージにおけるデータパケットの通信シーケンスを示す図。
【図７】第１実施例におけるＰＰＰｏＥセッションの切断時の通信シーケンスを示す図。
【図８】Ｌ２ＳＷ１０で実行される上りＰＰＰｏＥパケット処理ルーチン１００のフローチャート。
【図９】Ｌ２ＳＷ１０で実行される下りＰＰＰｏＥパケット処理ルーチン２００のフローチャート。
【図１０】本発明のパケット転送装置（Ｌ２ＳＷ）を含むネットワーク構成の第２の実施例を示す図。
【図１１】第２実施例に適用されるＬ２ＳＷ１０のブロック構成図。
【図１２】第２実施例のＬ２ＳＷ１０が備えるＩＰアドレス管理テーブル７０を示す図。
【図１３】第２実施例でＬ２ＳＷが送受信するパケットのフォーマット図。
【図１４】図１３のＩＰペイロード８７に含まれるＤＨＣＰパケットのフォーマット図。
【図１５】ＡＲＰパケットのフォーマット図。
【図１６】第２実施例のＬ２ＳＷ１０で実行される上りパケット処理ルーチン４００のフローチャート。
【図１７】第２実施例のＬ２ＳＷ１０で実行される下りパケット処理ルーチン５００のフローチャート。
【図１８】第２実施例におけるＩＰアドレス割当て時のＬ２ＳＷの動作を示す通信シーケンス図。
【図１９】第２実施例におけるデータパケットの通信シーケンスを示す図。
【図２０】第２実施例におけるＩＰアドレス解放のための通信シーケンスを示す図。
【符号の説明】
【０１０７】
ＮＷ：ユーザ網、ＩＰＮＷ：インターネット、１０：パケット転送装置（Ｌ２ＳＷ）、
１１：プロセッサ、１４：入力回線インタフェース、１５：出力回線インタフェース、
２０：ユーザ端末、２１：ＨＵＢ、３０：ＢＡＳ、３１：認証サーバ、
３２：ルータ（ＤＨＣＰサーバ）、４０：ＰＰＰｏＥセッション管理テーブル、
７０：ＩＰアドレス管理テーブル、１００：上りＰＰＰｏＥパケット処理ルーチン、
２００：下りＰＰＰｏＥパケット処理ルーチン、３００：タイムアウト監視ルーチン、
４００：上りパケット処理ルーチン、５００：下りパケット処理ルーチン、
６００：リース期間監視ルーチン。
【図１】
0004621259.tif 000002
【図２】
0004621259.tif 000003
【図３】
0004621259.tif 000004
【図４】
0004621259.tif 000005
【図５】
0004621259.tif 000006
【図６】
0004621259.tif 000007
【図７】
0004621259.tif 000008
【図８】
0004621259.tif 000009
【図９】
0004621259.tif 000010
【図１０】
0004621259.tif 000011
【図１１】
0004621259.tif 000012
【図１２】
0004621259.tif 000013
【図１３】
0004621259.tif 000014
【図１４】
0004621259.tif 000015
【図１５】
0004621259.tif 000016
【図１６】
0004621259.tif 000017
【図１７】
0004621259.tif 000018
【図１８】
0004621259.tif 000019
【図１９】
0004621259.tif 000020
【図２０】
0004621259.tif 000021