(57)【特許請求の範囲】
【請求項１】
運用ポリシの異なるネットワーク境界で用いられかつゲートウェイコントローラからポリシ設定が行われるＳＢＣ（Ｓｅｓｓｉｏｎ  Ｂｏｒｄｅｒ  Ｃｏｎｔｒｏｌｌｅｒ）機能を備えたネットワーク機器であって、
前記ＳＢＣ機能に、前記ゲートウェイコントローラから登録された変換後のＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）アドレス／ポート番号の設定を無視しかつ加入者端末から受信したパケットの送信元ＩＰアドレス／送信元ポート番号を当該加入者端末に対してパケットを送信する時の宛先ＩＰアドレス／宛先ポート番号として設定するトラバーサル機能を実装し、
前記トラバーサル機能は、前記加入者端末からの通信にＬＡＴＣＨ／ＲＥＬＡＴＣＨが設定されている場合に前記ゲートウェイコントローラから登録された変換後のＩＰアドレス／ポート番号の設定を無視しかつ前記加入者端末から受信したパケットの送信元ＩＰアドレス／送信元ポート番号を当該加入者端末に対してパケットを送信する時の宛先ＩＰアドレス／宛先ポート番号として使用するＩＰ  ＮＡＰＴ（Ｎｅｔｗｏｒｋ  Ａｄｄｒｅｓｓ  Ｐｏｒｔ  Ｔｒａｎｓｌａｔｉｏｎ）トラサーバル機能であり、
前記ＩＰ  ＮＡＰＴトラサーバル機能は、パケットを変換する処理を高速に行うハードウェア処理機能と、前記ハードウェア処理機能に対して少なくとも前記ＩＰアドレスの払い出し処理を行うソフトウェア処理機能と、前記ゲートウェイコントローラからポリシとして前記ＬＡＴＣＨ及び前記ＲＥＬＡＴＣＨのいずれかが登録されるフローテーブルと、前記フローテーブルに前記ゲートウェイコントローラから前記ＬＡＴＣＨ及び前記ＲＥＬＡＴＣＨのいずれかが設定されている時に特別な処理として前記パケットを前記ソフトウェア処理機能に送信する手段とを含むことを特徴とするネットワーク機器。
【請求項２】
前記ソフトウェア処理機能は、受け取ったパケットが前記ＬＡＴＣＨ及びＲＥＬＡＴＣＨのいずれかが前記ポリシとして設定されているのを認識すると、そのパケットの送信元ＩＰアドレス／ポート番号を学習し、その内容と前記ゲートウェイコントローラから登録された設定ポリシの内容とをセッションテーブルに登録し、
前記ハードウェア処理機能は、前記セッションテーブルの登録内容を基に前記パケットを変換する処理を行うことを特徴とする請求項１記載のネットワーク機器。
【請求項３】
前記ソフトウェア処理機能は、通信中に前記加入者端末からのパケットの送信元ＩＰアドレス／送信元ポート番号が変更された場合に前記セッションテーブルの登録情報の削除と、前記送信元ＩＰアドレス／送信元ポート番号の変更後に最初に受信したパケットの送信元ＩＰアドレス／送信元ポート番号を学習し、その内容と前記ゲートウェイコントローラから登録された設定ポリシの内容とを前記セッションテーブルに登録することを特徴とする請求項２記載のネットワーク機器。
【請求項４】
請求項１から請求項３のいずれかに記載のネットワーク機器を含むことを特徴とするネットワーク。
【請求項５】
運用ポリシの異なるネットワーク境界で用いられかつゲートウェイコントローラからポリシ設定が行われるＳＢＣ（Ｓｅｓｓｉｏｎ  Ｂｏｒｄｅｒ  Ｃｏｎｔｒｏｌｌｅｒ）機能を備えたネットワーク機器に用いるＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）  ＮＡＰＴ（Ｎｅｔｗｏｒｋ  Ａｄｄｒｅｓｓ  Ｐｏｒｔ  Ｔｒａｎｓｌａｔｉｏｎ）機能の実装方法であって、
前記ＳＢＣ機能に、前記ゲートウェイコントローラから登録された変換後のＩＰアドレス／ポート番号の設定を無視しかつ加入者端末から受信したパケットの送信元ＩＰアドレス／送信元ポート番号を当該加入者端末に対してパケットを送信する時の宛先ＩＰアドレス／宛先ポート番号として設定するトラバーサル機能を実装し、
前記トラバーサル機能は、前記加入者端末からの通信にＬＡＴＣＨ／ＲＥＬＡＴＣＨが設定されている場合に前記ゲートウェイコントローラから登録された変換後のＩＰアドレス／ポート番号の設定を無視しかつ前記加入者端末から受信したパケットの送信元ＩＰアドレス／送信元ポート番号を当該加入者端末に対してパケットを送信する時の宛先ＩＰアドレス／宛先ポート番号として使用するＩＰ  ＮＡＰＴトラサーバル機能であり、
前記ＩＰ  ＮＡＰＴトラサーバル機能として、パケットを変換する処理を高速に行うハードウェア処理機能と、前記ハードウェア処理機能に対して少なくとも前記ＩＰアドレスの払い出し処理を行うソフトウェア処理機能と、前記ゲートウェイコントローラからポリシとして前記ＬＡＴＣＨ及び前記ＲＥＬＡＴＣＨのいずれかが登録されるフローテーブルに前記ゲートウェイコントローラから前記ＬＡＴＣＨ及び前記ＲＥＬＡＴＣＨのいずれかが設定されている時に特別な処理として前記パケットを前記ソフトウェア処理機能に送信する機能とを実装することを特徴とするＩＰ  ＮＡＰＴ機能の実装方法。
【請求項６】
前記ソフトウェア処理機能が、受け取ったパケットが前記ＬＡＴＣＨ及びＲＥＬＡＴＣＨのいずれかが前記ポリシとして設定されているのを認識すると、そのパケットの送信元ＩＰアドレス／ポート番号を学習し、その内容と前記ゲートウェイコントローラから登録された設定ポリシの内容とをセッションテーブルに登録し、
前記ハードウェア処理機能が、前記セッションテーブルの登録内容を基に前記パケットを変換する処理を行うことを特徴とする請求項５記載のＩＰ  ＮＡＰＴ機能の実装方法。
【請求項７】
前記ソフトウェア処理機能が、通信中に前記加入者端末からのパケットの送信元ＩＰアドレス／送信元ポート番号が変更された場合に前記セッションテーブルの登録情報の削除と、前記送信元ＩＰアドレス／送信元ポート番号の変更後に最初に受信したパケットの送信元ＩＰアドレス／送信元ポート番号を学習し、その内容と前記ゲートウェイコントローラから登録された設定ポリシの内容とを前記セッションテーブルに登録することを特徴とする請求項６記載のＩＰ  ＮＡＰＴ機能の実装方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はネットワーク機器、ネットワーク及びそれらに用いるＩＰ  ＮＡＰＴ機能の実装方法に関し、特にネットワーク間での通信を行う際に用いられるＳＢＣ（Ｓｅｓｓｉｏｎ  Ｂｏｒｄｅｒ  Ｃｏｎｔｒｏｌｌｅｒ）機能に関する。
【背景技術】
【０００２】
ＩＰ（Ｉｎｔｅｒｎｗｔ  Ｐｒｏｔｏｃｏｌ）電話をはじめとしたＶｏＩＰ（Ｖｏｉｃｅ  ｏｖｅｒ  ＩＰ）サービスにおいては、異なるポリシを持つネットワーク間での通信を行う場合、セキュアな観点からＳＢＣが必要とされている。
【０００３】
ＳＢＣとは、運用ポリシの異なるネットワーク境界で用いられるゲートウェイの総称で、ＩＰパケットのＮＡＰＴ（Ｎｅｔｗｏｒｋ  Ａｄｄｒｅｓｓ  Ｐｏｒｔ  Ｔｒａｎｓｌａｔｉｏｎ）、フィルタリング、ＳＩＰ（Ｓｅｓｓｉｏｎ  Ｉｎｉｔｉａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）等のＶｏＩＰ用シグナリングプロトコルやメディア通信プロトコルのファイアウォール機能、ＱｏＳ（Ｑｕａｌｉｔｙ  ｏｆ  Ｓｅｒｖｉｃｅ）制御、品質保証機能、課金機能、犯罪対策用盗聴機能等の機能をＧＣからの制御によって提供する装置である。
【０００４】
一般に、ＳＢＣがＧＣ（Ｇａｔｅｗａｙ  Ｃｏｎｔｒｏｌｌｅｒ）よりＮＡＴ（Ｎｅｔｗｏｒｋ  Ａｄｄｒｅｓｓ  Ｔｒａｎｓｌａｔｉｏｎ）／ＮＡＰＴ処理の設定を受けた場合、変換するＩＰアドレス／ポート番号も同時に設定されることが多い。ここで、ＧＣとは、ＩＴＵ−Ｔ勧告Ｈ．２４８のシグナリングプロトコルを用いて、ＳＢＣに対してポリシ設定を行うものである。ポリシとは、ある制御を行うために対象のパケットを特定すること、及びその対象パケットに対する制御アクションを示すことである。
【０００５】
尚、ＮＡＰＴ処理については、下記の特許文献１に記載されている。つまり、ＮＡＰＴ処理は、プライベートＩＰアドレスを有するノードが、グローバルＩＰアドレスを有するノードを通信を行う際、これら両アドレス間でのアドレス変換処理である。
【特許文献１】特開２００７−０９６９０９号公報（段落「０００３」〜「００１６」）
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上記のＨ．２４８プロトコルをサポートするＳＢＣは、Ｈ．２４８プロトコルの仕様上、ＣＰＥ（Ｃｕｓｔｏｍｅｒ  Ｐｒｅｍｉｓｅｓ  Ｅｑｕｉｐｍｅｎｔ）やＩＰ  ＮＡＰＴ装置にパケットを送信する際に使用する宛先ＩＰアドレス／ポート番号をＧＣより指定されることが前提となっている。
【０００７】
しかしながら、ＧＣはＣＰＥやＩＰ  ＮＡＰＴ装置がＳＢＣとの通信に使用しているＩＰアドレス／ポート番号を正確に知ることができない。これは、通常のＩＰ  ＮＡＰＴ装置が通信に用いるＩＰアドレス／ポート番号として、ある範囲内のＩＰアドレス／ポート番号の中からその時に使用されていないものを、その通信開始時にアサインするためである。
【０００８】
このため、例え同じユーザが同じ通信を行ったとしても、その通信タイミングによっては、ＩＰ  ＮＡＰＴ装置の通信状況といった装置状態によって、その通信に使用するＩＰアドレス／ポート番号が今回の通信と前回の通信とで別のものになってしまう。そして、その時の通信に使用するＩＰアドレス／ポート番号をＧＣが知ることはできない。これはＣＰＥの場合も、ＩＰ  ＮＡＰＴ装置と同様である。
【０００９】
したがって、上記のＨ．２４８プロトコルをサポートするＳＢＣは、加入者端末とＳＢＣとの間にあるネットワーク内に、不特定多数のＣＰＥやＩＰ  ＮＡＰＴ装置がある場合、ＳＢＣのサービスを提供することができなくなるという課題がある。
【００１０】
そこで、本発明の目的は上記の問題点を解消し、加入者端末とＳＢＣとの間にあるネットワーク内に、不特定多数のＣＰＥやＩＰ  ＮＡＰＴ装置がある場合でも、ＳＢＣのサービスを提供することができるネットワーク機器、ネットワーク及びそれらに用いるＩＰ  ＮＡＰＴ機能の実装方法を提供することにある。
【課題を解決するための手段】
【００１１】
本発明によるネットワーク機器は、運用ポリシの異なるネットワーク境界で用いられかつゲートウェイコントローラからポリシ設定が行われるＳＢＣ（Ｓｅｓｓｉｏｎ  Ｂｏｒｄｅｒ  Ｃｏｎｔｒｏｌｌｅｒ）機能を備えたネットワーク機器であって、
前記ＳＢＣ機能に、前記ゲートウェイコントローラから登録された変換後のＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）アドレス／ポート番号の設定を無視しかつ加入者端末から受信したパケットの送信元ＩＰアドレス／送信元ポート番号を当該加入者端末に対してパケットを送信する時の宛先ＩＰアドレス／宛先ポート番号として設定するトラバーサル機能を実装し、
前記トラバーサル機能は、前記加入者端末からの通信にＬＡＴＣＨ／ＲＥＬＡＴＣＨが設定されている場合に前記ゲートウェイコントローラから登録された変換後のＩＰアドレス／ポート番号の設定を無視しかつ前記加入者端末から受信したパケットの送信元ＩＰアドレス／送信元ポート番号を当該加入者端末に対してパケットを送信する時の宛先ＩＰアドレス／宛先ポート番号として使用するＩＰ  ＮＡＰＴ（Ｎｅｔｗｏｒｋ  Ａｄｄｒｅｓｓ  Ｐｏｒｔ  Ｔｒａｎｓｌａｔｉｏｎ）トラサーバル機能であり、
前記ＩＰ  ＮＡＰＴトラサーバル機能は、パケットを変換する処理を高速に行うハードウェア処理機能と、前記ハードウェア処理機能に対して少なくとも前記ＩＰアドレスの払い出し処理を行うソフトウェア処理機能と、前記ゲートウェイコントローラからポリシとして前記ＬＡＴＣＨ及び前記ＲＥＬＡＴＣＨのいずれかが登録されるフローテーブルと、前記フローテーブルに前記ゲートウェイコントローラから前記ＬＡＴＣＨ及び前記ＲＥＬＡＴＣＨのいずれかが設定されている時に特別な処理として前記パケットを前記ソフトウェア処理機能に送信する手段とを含んでいる。
【００１２】
本発明によるネットワークは、上記のネットワーク機器を含むことを特徴とする。
【００１３】
本発明によるＩＰ  ＮＡＰＴ機能の実装方法は、運用ポリシの異なるネットワーク境界で用いられかつゲートウェイコントローラからポリシ設定が行われるＳＢＣ（Ｓｅｓｓｉｏｎ  Ｂｏｒｄｅｒ  Ｃｏｎｔｒｏｌｌｅｒ）機能を備えたネットワーク機器に用いるＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）  ＮＡＰＴ（Ｎｅｔｗｏｒｋ  Ａｄｄｒｅｓｓ  Ｐｏｒｔ  Ｔｒａｎｓｌａｔｉｏｎ）機能の実装方法であって、
前記ＳＢＣ機能に、前記ゲートウェイコントローラから登録された変換後のＩＰアドレス／ポート番号の設定を無視しかつ加入者端末から受信したパケットの送信元ＩＰアドレス／送信元ポート番号を当該加入者端末に対してパケットを送信する時の宛先ＩＰアドレス／宛先ポート番号として設定するトラバーサル機能を実装し、
前記トラバーサル機能は、前記加入者端末からの通信にＬＡＴＣＨ／ＲＥＬＡＴＣＨが設定されている場合に前記ゲートウェイコントローラから登録された変換後のＩＰアドレス／ポート番号の設定を無視しかつ前記加入者端末から受信したパケットの送信元ＩＰアドレス／送信元ポート番号を当該加入者端末に対してパケットを送信する時の宛先ＩＰアドレス／宛先ポート番号として使用するＩＰ  ＮＡＰＴトラサーバル機能であり、
前記ＩＰ  ＮＡＰＴトラサーバル機能として、パケットを変換する処理を高速に行うハードウェア処理機能と、前記ハードウェア処理機能に対して少なくとも前記ＩＰアドレスの払い出し処理を行うソフトウェア処理機能と、前記ゲートウェイコントローラからポリシとして前記ＬＡＴＣＨ及び前記ＲＥＬＡＴＣＨのいずれかが登録されるフローテーブルに前記ゲートウェイコントローラから前記ＬＡＴＣＨ及び前記ＲＥＬＡＴＣＨのいずれかが設定されている時に特別な処理として前記パケットを前記ソフトウェア処理機能に送信する機能とを実装すしている。
【発明の効果】
【００１４】
本発明は、上記のような構成及び動作とすることで、加入者端末とＳＢＣとの間にあるネットワーク内に、不特定多数のＣＰＥやＩＰ  ＮＡＰＴ装置がある場合でも、ＳＢＣのサービスを提供することができるという効果が得られる。
【発明を実施するための最良の形態】
【００１５】
次に、本発明の実施例について図面を参照して説明する。
【実施例１】
【００１６】
図１は本発明の一実施例によるネットワークの構成を示すブロック図である。図１において、本発明の一実施例は、ＩＴＵ−Ｔ（Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｔｅｌｅｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｕｎｉｏｎ−Ｔｅｌｅｃｏｍｍｕｎｉｃａｔｉｏｎ  ｓｔａｎｄｉｚａｔｉｏｎ  ｓｅｃｔｏｒ）勧告Ｈ．２４８プロトコルによってネットワーク上のＧＣ（Ｇａｔｅｗａｙ  Ｃｏｎｔｒｏｌｌｅｒ：ゲートウェイコントローラ）２から制御されるＳＢＣ（Ｓｅｓｓｉｏｎ  Ｂｏｒｄｅｒ  Ｃｏｎｔｒｏｌｌｅｒ）装置１上において、ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）  ＮＡＰＴ（Ｎｅｔｗｏｒｋ  Ａｄｄｒｅｓｓ  Ｐｏｒｔ  Ｔｒａｎｓｌａｔｉｏｎ）トラバーサル（ｔｒａｖｅｒｓａｌ）機能を実装することを特徴としている。
【００１７】
ここで、ＧＣ２とは、ＩＴＵ−Ｔ勧告Ｈ．２４８のシグナリングプロトコルを用いて、ＳＢＣ装置１に対してポリシ設定を行うものである。また、ＳＢＣ装置１とは、運用ポリシの異なるネットワーク境界で用いられるゲートウェイの総称で、ＩＰパケットのＮＡＰＴ、フィルタリング、ＳＩＰ（Ｓｅｓｓｉｏｎ  Ｉｎｉｔｉａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）等のＶｏＩＰ（Ｖｏｉｃｅ  ｏｖｅｒ  ＩＰ）用シグナリングプロトコルやメディア通信プロトコルのファイアウォール機能、ＱｏＳ（Ｑｕａｌｉｔｙ  ｏｆ  Ｓｅｒｖｉｃｅ）制御、品質保証機能、課金機能、犯罪対策用盗聴機能等の機能をＧＣ２からの制御によって提供する装置である。
【００１８】
さらに、ポリシとは、ある制御を行うために対象のパケットを特定すること、及びその対象パケットに対する制御アクションを示すことである。さらにまた、ＩＰ  ＮＡＰＴトラバーサル機能とは、ＩＴＵ−Ｔ勧告Ｈ．２４８．３７（ＩＰ  ＮＡＰＴ  ｔｒａｖｅｒｓａｌ  ｐａｃｋａｇｅ）によって実現されるＬＡＴＣＨ、ＲＥＬＡＴＣＨの２つの機能である。
【００１９】
一般に、ＳＢＣ装置がＧＣよりＮＡＴ／ＮＡＰＴ処理の設定を受けた場合、変換するＩＰアドレス／ポート番号も同時に設定されることが多い。しかしながら、あるユーザからの通信にＬＡＴＣＨ／ＲＥＬＡＴＣＨが設定されている場合には、ＧＣから登録された変換後のＩＰアドレス／ポート番号の設定を無視し、ＳＢＣ装置がそのユーザから受信したパケットの送信元ＩＰアドレス／送信元ポート番号を、ＳＢＣ装置がそのユーザに対してパケットを送信する時の宛先ＩＰアドレス／宛先ポート番号として使用する。ＲＥＬＡＴＣＨの設定がされている場合には、上記の処理を、対象通信の送信元ＩＰアドレス／送信元ポート番号が変更される毎に行う。
【００２０】
図１において、ＳＢＣ装置１は、実際にＩＰ  ＮＡＰＴトラバーサル機能を実装しており、Ｈ．２４８制御部１１とパケット処理部（ハードウェア）１２とパケット処理部（ソフトウェア）１３とを備えている。また、ＳＢＣ装置１はルータ５，６とネットワーク１０２，１０３とを介して加入者端末（Ａ，Ｂ）３，４に接続されている。
【００２１】
Ｈ．２４８制御部１１はネットワーク１０１を介して接続されるＧＣ２から、Ｈ．２４８を利用した制御信号を受信し、それから判別した設定ポリシのパケット処理部（ハードウェア）１２及びパケット処理部（ソフトウェア）１３への登録処理を行う。登録内容はフローテーブル１５と呼ばれるデータベースに格納される。
【００２２】
パケット処理部（ハードウェア）１２はパケット処理専用のデバイスを使用することで高速なパケット処理を行う。パケット処理部（ソフトウェア）１３はパケット処理部（ハードウェア）１２で処理を行うことができないパケット処理を行う。
【００２３】
ここで、パケット処理部（ハードウェア）１２はパケットを変換する処理を高速に行うが、パケットのどのエリアをどのような値で書換えるかという具体的な指示は、ソフトウェアからハードウェアに行う必要がある。これに該当する処理としては、例えばＮＡＰＴに、使用するＩＰアドレスを払い出す処理がある。これは、最初のパケットをＳＢＣ装置１が受信した時に、ＳＢＣ装置１がその通信に対してＮＡＰＴ処理に使用するＩＰアドレス／ポート番号を決定する処理である。
【００２４】
一般的に、上記の処理は、ＳＢＣ装置１に、事前に複数のＩＰアドレス／ポート番号をプールしておき、払い出し要求がきた時点で未使用のＩＰアドレス／ポート番号をアサインする処理である。このような処理は、通常のパケット処理部（ハードウェア）１２において行うことはできない。
【００２５】
尚、上記のＩＰアドレス／ポート番号の払い出しと同時に、パケット処理部（ソフトウェア）１３からパケット処理部（ハードウェア）１２に対しては、「このユーザから送信されたこの種類の通信は、このＩＰアドレス／ポート番号を使用してＮＡＰＴ処理を行う」というような登録が行われる。これによって、最初のパケット以降のパケットに対しては、パケット処理部（ハードウェア）１２にて高速に処理されることとなる。
【００２６】
セッションテーブル１４は、パケットフローの特定に必要な情報と、受信したパケットに対してパケット処理部（ハードウェア）１２及びパケット処理部（ソフトウェア）１３の処理内容を格納するデータベースである。ここで、パケットフローの特定に必要な情報とは、送信元ＩＰアドレス／送信元ポート番号、宛先ＩＰアドレス／宛先ポート番号、パケットのプロトコル種別のことである。
【００２７】
図２は図１のパケット処理部（ハードウェア）１２の論理的なパケット処理フローを示す図である。この図２においては、ＩＰ  ＮＡＰＴトラバーサル機能実装以前の通信パケットの処理フローを示している。この図２を参照してパケット処理部（ハードウェア）１２によるＩＰ  ＮＡＰＴトラバーサル機能実装以前の通信パケットの処理フローについて説明する。
【００２８】
ＳＢＣ装置１は、加入者端末（Ａ）３が送信したパケットを、ネットワーク１０２とルータ５とを介して受信すると、セッションテーブルチェック部１２１にて、そのパケットの送信元ＩＰアドレス／ポート番号、宛先ＩＰアドレス／ポート番号、Ｌ４（Ｌａｙｅｒ  ４）プロトコルをキーにしてセッションテーブル１４を検索し、登録情報の有無を確認する。セッションテーブルチェック部１２１は登録情報が存在した場合、その情報にしたがってポリシ変換を行う。
【００２９】
セッションテーブルチェック部１２１は登録情報が無かった場合、そのパケットをフローテーブルチェック部１２２に渡す。フローテーブルチェック部１２２はフローテーブル１５を検索し、そのパケットに対してＧＣ２より設定ポリシが登録されているかを確認する。フローテーブルチェック部１２２は設定ポリシが登録されていれば、その内容にしたがってパケット処理を行う。
【００３０】
フローテーブルチェック部１２２は設定情報が無かった場合、そのパケットをパケット処理部１２３に渡す。パケット処理部１２３はフィルタテーブル１６の検索処理を行い、そのフィルタテーブル１６に設定された内容にしたがってパケット処理を行う。
【００３１】
各ブロックで処理が終わったパケットは、フォワーディング部１２４にてフォワーディングされてＳＢＣ装置１の外へ送出され、ルータ６とネットワーク１０３とを介して加入者端末（Ｂ）４へと送信される。
【００３２】
図３及び図４は図１のパケット処理部（ハードウェア）１２及びパケット処理部（ソフトウェア）１３のパケット処理フローを示す図である。これら図３及び図４を参照してパケット処理部（ハードウェア）１２及びパケット処理部（ソフトウェア）１３によるパケット処理フローについて説明する。
【００３３】
本装置がある加入者端末（Ａ）３に対してＬＡＴＣＨ／ＲＥＬＡＴＣＨの設定を有効とするのは、その加入者端末（Ａ）３に対してＧＣ２よりＬＡＴＣＨ／ＲＥＬＡＴＣＨ処理を行う内容の設定ポリシが登録された場合である。ＧＣ２より設定ポリシを含むパケットをＨ．２４８制御部１１が受信すると、その設定ポリシの設定内容をフローテーブル１５に登録する。
【００３４】
今回、フローテーブル１５に登録する設定ポリシには、“ＬＡＴＣＨ”もしくは“ＲＥＬＡＴＣＨ”という設定が含まれているものとする。図３において、ＧＣ２よりＬＡＴＣＨ設定されている加入者端末（Ａ）３から、ある加入者端末（Ｂ）４に対して行う通信の最初のパケットをＳＢＣ装置１が受信した時、ＳＢＣ装置１内のパケット処理フローを点線で示し、その処理について以下説明する。
【００３５】
このパケットは、加入者端末（Ａ）３から加入者端末（Ｂ）４に対しての通信のうち、ＳＢＣ装置１が受信した最初のパケットであり、またこのパケットに対して行う処理が確定されていないため、セッションテーブル１４にはこのパケットに関しての登録はされていない。そのため、セッションテーブルチェック部１２１ではミスヒット（ＭＩＳＳＨＩＴ）となり、次の処理としてフローテーブルチェック部１２２によるチェック処理を行う。
【００３６】
この通信は既にＧＣ２よりポリシ設定が行われているため、フローテーブルチェック部１２２によるチェック処理ではヒット（ＨＩＴ）となり、本来ならば図２で規定されている処理フローにしたがって処理を行うこととなる。
【００３７】
しかしながら、フローテーブルチェック部１２２は、フローテーブル１５にＧＣ２から設定された“ＬＡＴＣＨ”もしくは“ＲＥＬＡＴＣＨ”というポリシが登録されているため、特別な処理として本パケットをパケット処理部（ソフトウェア）１３に送信する。同時に、フローテーブルチェック部１２２は、送信したパケットが“ＬＡＴＣＨ”もしくは“ＲＥＬＡＴＣＨ”を行うパケットであることもパケット処理部（ソフトウェア）１３に通知する。
【００３８】
パケット処理部（ソフトウェア）１３は、ソフトウェア処理１３１にて、受け取ったパケットが“ＬＡＴＣＨ”もしくは“ＲＥＬＡＴＣＨ”とポリシ設定されているのを認識すると、そのパケットの送信元ＩＰアドレス／ポート番号を学習する。
【００３９】
この時点で、加入者端末（Ａ）３から加入者端末（Ｂ）４へのパケットフローを識別するための情報が確定するため、パケット処理部（ソフトウェア）１３は、その内容とＧＣ２より登録された設定ポリシの内容とをセッションテーブル１４に登録する。
【００４０】
セッションテーブル１４への登録が完了した後、パケット処理部（ソフトウェア）１３はＧＣ２より登録された設定ポリシにしたがってパケットのポリシ変換を行い、そのパケットを加入者端末（Ｂ）４に向けて送出する。
【００４１】
これ以降の加入者端末（Ａ）３から加入者端末（Ｂ）４へのパケットは、パケット処理部（ハードウェア）１２のセッションテーブルチェック部１２１によるチェック処理にてヒットするようになるため、ハードウェアを用いた高速なパケット処理が可能となる。
【００４２】
また、ＳＢＣ装置１では、上記のセッションテーブル１４への登録と同時に、加入者端末（Ｂ）４から加入者端末（Ａ）３に対しての通信パケットに関しての内容のセッションテーブル１４への登録を行う。
【００４３】
その際に、ＳＢＣ装置１から加入者端末（Ａ）３に対して送信する際のパケットの宛先ＩＰアドレス／宛先ポート番号は、ＧＣ２から登録された設定ポリシにある設定ではなく、先ほど学習した送信元ＩＰアドレス／ポート番号とする。
【００４４】
図４には、ＧＣ２よりＲＥＬＡＴＣＨ設定されている加入者端末（Ａ）３からある加入者端末（Ｂ）４に対して、通信を行っている最中に、加入者端末（Ａ）３の送信元ＩＰアドレス／送信元ポート番号が変更された場合のＳＢＣ装置１内のパケット処理フローを示している。この処理について、以下説明する。
【００４５】
加入者端末（Ａ）３の送信元ＩＰアドレス／ポート番号が変更された後、最初にＳＢＣ装置１が受信したパケットは、上記のＬＡＴＣＨ処理の際に加入者端末（Ａ）３から受信した最初のパケットと同等であると見なすことが可能である。
【００４６】
そのため、セッションテーブルチェック部１２１ではミスヒット判定となり、フローテーブルチェック部１２２ではヒット判定となるため、図２で規定されている処理フローにしたがって処理を行うこととなる。
【００４７】
しかしながら、本実施例では、フローテーブル１５にＧＣ２から設定された“ＬＡＴＣＨ”もしくは“ＲＥＬＡＴＣＨ”というポリシが登録されているため、例外的な処理として、パケット処理部（ハードウェア）１２は本パケットをパケット処理部（ソフトウェア）１３に送信する。同時に、パケット処理部（ハードウェア）１２は“ＬＡＴＣＨ”もしくは“ＲＥＬＡＴＣＨ”を行うパケットであることも通知する。
【００４８】
パケット処理部（ソフトウェア）１３は、ソフトウェア処理１３１にて、受け取ったパケットが“ＬＡＴＣＨ”もしくは“ＲＥＬＡＴＣＨ”とポリシ設定されていると認識すると、そのパケットの送信元ＩＰアドレス／ポート番号を学習する。
【００４９】
この時点で、加入者端末（Ａ）３から加入者端末（Ｂ）４への通信パケットを識別するための情報が確定するため、パケット処理部（ソフトウェア）１３は、その内容とＧＣ２より登録された設定ポリシの内容とを、セッションテーブル１４に登録する。ここで、パケットを識別するための情報とは、送信元ＩＰアドレス／送信元ポート番号、宛先ＩＰアドレス／宛先ポート番号、パケットのプロトコル種別のことである。
【００５０】
また、パケット処理部（ソフトウェア）１３は、ＲＥＬＡＴＣＨ処理を行う前に、加入者端末（Ａ）３が使用していた送信元ＩＰアドレス／ポート番号で登録していたセッションテーブル１４の登録情報の削除を、上記のセッションテーブル１４への登録処理と同時に行う。
【００５１】
同時に、パケット処理部（ソフトウェア）１３は、加入者端末（Ｂ）４から加入者端末（Ａ）３に対しての通信パケットに関するセッションテーブル１４の登録内容の変更を行う。具体的には、ＳＢＣ装置１から加入者端末（Ａ）３に対して送信する際のパケットの宛先ＩＰアドレス／宛先ポート番号を、上記で学習したＩＰアドレス／ポート番号に変更する。
【００５２】
セッションテーブル１４への登録が完了した後、パケット処理部（ソフトウェア）１３はＧＣ２より登録された設定ポリシにしたがってパケットのポリシ変換を行い、そのパケットを加入者端末（Ｂ）４に向けて送出する。
【００５３】
これ以降、加入者端末（Ａ）３から加入者端末（Ｂ）４へのパケットは、パケット処理部（ハードウェア）１２のセッションテーブルチェック部１２１にてヒットするようになるため、ハードウェアを用いた高速なパケット処理が可能となる。
【００５４】
上記のように、本実施例では、これらの一連の処理をＳＢＣ装置１に実装することによって、ＳＢＣ装置１においてＩＰ  ＮＡＰＴトラバーサル機能を実現することが可能となる。
【００５５】
このように、本実施例では、ＳＢＣ機能を有する装置に対して、既存の処理を流用してＩＰ  ＮＡＰＴトラバーサル機能を実装することで、小規模な改造でＩＰ  ＮＡＰＴトラバーサル機能を実現することができる。
【００５６】
また、本実施例では、ＩＰ  ＮＡＰＴトラバーサル機能をＳＢＣ装置１が実装することで、加入者端末とＳＢＣ装置との間にＣＰＥやＩＰ  ＮＡＰＴ装置がある場合でも、Ｈ．２４８制御プロトコルを使用したＳＢＣサービスの提供を可能とすることで、ＳＢＣ装置１を使用して接続されるネットワークの構成を柔軟なものとすることができる。
【図面の簡単な説明】
【００５７】
【図１】本発明の一実施例によるネットワークの構成を示すブロック図である。
【図２】図１のパケット処理部（ハードウェア）の論理的なパケット処理フローを示す図である。
【図３】図１のパケット処理部（ハードウェア）及びパケット処理部（ソフトウェア）のパケット処理フローを示す図である。
【図４】図１のパケット処理部（ハードウェア）及びパケット処理部（ソフトウェア）のパケット処理フローを示す図である。
【符号の説明】
【００５８】
１  ＳＢＣ装置
２  ＧＣ
３  加入者端末（Ａ）
４  加入者端末（Ｂ）
５，６  ルータ
１１  Ｈ．２４８制御部
１２  パケット処理部（ハードウェア）
１３  パケット処理部（ソフトウェア）
１４  セッションテーブル
１５  フローテーブル
１６  フィルタテーブル
１０１〜１０３  ネットワーク
１２１  セッションテーブルチェック部
１２２  フローテーブルチェック部
１２３  パケット処理部
１２４  フォワーディング部
１３１  ソフトウェア処理
【図１】
0005034728.tif 000002
【図２】
0005034728.tif 000003
【図３】
0005034728.tif 000004
【図４】
0005034728.tif 000005