JP7476974B2 - 転送装置、転送方法および転送プログラム - Google Patents
転送装置、転送方法および転送プログラム Download PDFInfo
- Publication number
- JP7476974B2 JP7476974B2 JP2022553342A JP2022553342A JP7476974B2 JP 7476974 B2 JP7476974 B2 JP 7476974B2 JP 2022553342 A JP2022553342 A JP 2022553342A JP 2022553342 A JP2022553342 A JP 2022553342A JP 7476974 B2 JP7476974 B2 JP 7476974B2
- Authority
- JP
- Japan
- Prior art keywords
- packet
- outer header
- information
- unit
- header
- 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
Links
- 238000012546 transfer Methods 0.000 title claims description 67
- 238000000034 method Methods 0.000 title claims description 31
- 238000012217 deletion Methods 0.000 claims description 57
- 230000037430 deletion Effects 0.000 claims description 57
- 238000004891 communication Methods 0.000 description 24
- 238000010586 diagram Methods 0.000 description 20
- 238000012545 processing Methods 0.000 description 14
- 238000005538 encapsulation Methods 0.000 description 10
- 238000004458 analytical method Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 4
- 230000010365 information processing Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- RTZKZFJDLAIYFH-UHFFFAOYSA-N Diethyl ether Chemical compound CCOCC RTZKZFJDLAIYFH-UHFFFAOYSA-N 0.000 description 2
- 239000002775 capsule Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000010454 slate Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4633—Interconnection of networks using encapsulation techniques, e.g. tunneling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/50—Routing or path finding of packets in data switching networks using label swapping, e.g. multi-protocol label switch [MPLS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Description
本発明は、転送装置、転送方法および転送プログラムに関する。
従来、経済化の観点から、パケットのL3-L4ヘッダやL7ペイロードを分析し何等かの処理を行うNSF(Network Service Function)を、分散的ではなく集約的にネットワーク内に配備した上で、通信を転送してNSF適用をする技術が期待されている。
一方、転送のためにカプセリング技術を使う網では、集約地点のパケットにカプセルヘッダが付与されており、NSFが当該ヘッダに対応してない場合等、NSFの集約的な網配備ができない場合があった。そこで、カプセルヘッダの除去、再カプセル化を行う技術が提案されている(特許文献1~2、非特許文献1~5参照)。
FD.io VPP, "SRv6 endpoint to SR-unaware appliance via static proxy (End.AS), "Towards Deep Learning Models Resistant to Adversarial Attacks", [online], [2020年9月1日検索]、インターネット<URL: https://docs.fd.io/vpp/18.04/srv6_as_plugin_doc.html>
Lily Guo, "Analysis of Service Function Chaining for Carrier Grade Networks," 信学技報, NS2014-256, Vol.114, No.477, pp.463-468.
Yukito Ueno, "SRv6 Tagging Proxy", [online], arXiv:1901.08573v3 [cs.LG] ,2019年6月, [2020年9月1日検索]、インターネット<URL: https://datatracker.ietf.org/meeting/106/materials/slides-106-spring-sessa-srv6-tagging-proxy-00.pdf>
A. Mayer, S. Salsano, P. L. Ventre, A. Abdelsalam, L. Chiaraviglio and C. Filsfils, "An Efficient Linux Kernel Implementation of Service Function Chaining for legacy VNFs based on IPv6 Segment Routing", 2019 IEEE Conference on Network Softwarization (NetSoft), Paris, France, 2019, pp. 333-341, doi: 10.1109/NETSOFT.2019.8806652
FD.io VPP, "SRv6 endpoint to SR-unaware appliance via dynamic proxy (End.AD) ", [online], [2020年9月1日検索]、インターネット<URL: https://docs.fd.io/vpp/18.04/srv6_ad_plugin_doc.html>
しかしながら、従来技術では、集約したNSFでのパケットの分析等の処理を低コストで行うことが困難な場合がある。例えば、事前にカプセルのアウターヘッダとインナーヘッダとの対応付けが必要な場合がある。あるいは、再カプセル化の際、インナーパケットがlocalアドレスの場合にアウターヘッダの再付与ミスが発生する場合がある。または、vlanヘッダやIPパケットのTos値等にアウターヘッダの検索キーを付与して、サービスに影響を及ぼす場合がある。
本発明は、上記に鑑みてなされたものであって、集約したNSFでパケットの分析等の処理を低コストで行うことを目的とする。
上述した課題を解決し、目的を達成するために、本発明に係る転送装置は、カプセル化されたパケットのアウターヘッダを削除する際に、該アウターヘッダとアウターヘッダの情報を含むフィールドとを、該パケットに含める削除部と、受信したパケットを再カプセル化する際に、前記フィールドから取り出した前記アウターヘッダの情報を用いて該パケットにアウターヘッダを付加する付加部と、を有することを特徴とする。
本発明によれば、集約したNSFでパケットの分析等の処理を低コストで行うことが可能となる。
以下、図面を参照して、本発明の一実施形態を詳細に説明する。なお、この実施形態により本発明が限定されるものではない。また、図面の記載において、同一部分には同一の符号を付して示している。
[転送装置の概要]
図1は、転送装置の概要を説明するための図である。図1に示すように、本実施形態の転送装置10は、ネットワークNを介して他のネットワーク装置からカプセル化されたパケットを受信した場合に、カプセルヘッダ(アウターヘッダ)を削除して、NSF20に転送する。
図1は、転送装置の概要を説明するための図である。図1に示すように、本実施形態の転送装置10は、ネットワークNを介して他のネットワーク装置からカプセル化されたパケットを受信した場合に、カプセルヘッダ(アウターヘッダ)を削除して、NSF20に転送する。
その際に、転送装置10は、例えば、パケットやアウターヘッダのキャッシュを行うことなく、アウターヘッダとアウターヘッダの情報を含むフィールドとを、該パケットに含める。あるいは、パケットとインナーパケットの情報とを対応付ける情報を記憶部14に記憶させる。またいは、アウターヘッダとインナーパケットの情報とを対応付ける情報を記憶部14に記憶させる。
NSF20は、パケット(インナーパケット)のL3-L4ヘッダやL7ペイロードを分析し何等かの処理を行って、転送装置10にパケットを返送する。
転送装置10は、NSF20からパケットを受信した場合に、上記のフィールドから取り出したアウターヘッダの情報を用いて、アウターヘッダを再付与する再カプセル化を行い、ネットワークNを介して他のネットワーク装置に転送する。または、転送装置10は、記憶部から取り出したパケットに、対応付けられたインナーパケットの情報を用いて、アウターヘッドを再付与し、ネットワークNを介して他のネットワーク装置に転送する。あるいは、転送装置10は、記憶部から取り出したインナーパケットの情報に対応付けられたアウターヘッダを再付与し、ネットワークNを介して他のネットワーク装置に転送する。
[転送装置の構成]
図2は、転送装置の概略構成を例示する模式図である。図2に例示するように、転送装置10は、パソコン等の汎用コンピュータで実現され、通信制御部13、記憶部14、および制御部15を備える。
図2は、転送装置の概略構成を例示する模式図である。図2に例示するように、転送装置10は、パソコン等の汎用コンピュータで実現され、通信制御部13、記憶部14、および制御部15を備える。
通信制御部13は、NIC(Network Interface Card)等で実現され、ネットワークを介したサーバ等の外部の装置と制御部15との通信を制御する。例えば、通信制御部13は、転送対象のデータを管理する管理装置等と制御部15との通信を制御する。
記憶部14は、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現され、後述する転送処理に用いられるパケットやアウターヘッダ等が記憶される。なお、記憶部14は、通信制御部13を介して制御部15と通信する構成でもよい。
制御部15は、CPU(Central Processing Unit)やNP(Network Processor)やFPGA(Field Programmable Gate Array)等を用いて実現され、メモリに記憶された処理プログラムを実行する。これにより、制御部15は、図2に例示するように、削除部15aおよび付加部15bとして機能する。なお、これらの機能部は、それぞれが異なるハードウェアに実装されてもよい。また、制御部15は、その他の機能部を備えてもよい。
[第1の実施形態]
第1の実施形態の転送装置10において、削除部15aは、カプセル化されたパケットのアウターヘッダを削除する際に、該アウターヘッダとアウターヘッダの情報を含むフィールドとを、該パケットに含める。このフィールドとは、具体的には、後述するプロキシヘッダまたはTrailerである。またこの場合に、アウターヘッダの情報は、該アウターヘッダの長さとプロトコル種別とを含む。
第1の実施形態の転送装置10において、削除部15aは、カプセル化されたパケットのアウターヘッダを削除する際に、該アウターヘッダとアウターヘッダの情報を含むフィールドとを、該パケットに含める。このフィールドとは、具体的には、後述するプロキシヘッダまたはTrailerである。またこの場合に、アウターヘッダの情報は、該アウターヘッダの長さとプロトコル種別とを含む。
また、付加部15bは、受信したパケットを再カプセル化する際に、上記のフィールドから取り出したアウターヘッダの情報を用いて該パケットにアウターヘッダを付加する。これにより、転送装置10は、キャッシュ検索の処理負荷およびキャッシュ用メモリを不要とし、低コストで集約したNSFにパケットを転送することが可能となる。
ここで、図3および図4は、第1の実施形態の転送装置の処理を説明するための図である。例えば、図3に示すように、削除部15aは、プロキシヘッダをインナーパケットに組み込む。具体的には、削除部15aは、図3(b)に示すように定義されたプロキシヘッダに、アウターヘッダの長さとプロトコル種別を含める。また、削除部15aは、図3(a)、(c)に示すように、インナーパケットのヘッダ(インナーヘッダ)にプロキシヘッダと削除したアウターヘッダとを組み込んで、通信制御部13を介してNSF20に転送する。
この場合に、付加部15bは、図3(a)、(c)に示すように、NSF20から通信制御部13を介して受信したパケットのプロキシヘッダとアウターヘッダとを用いて、このプロキシヘッダとアウターヘッダを削除したパケットに、アウターヘッダを付加して、通信制御部13を介して他のネットワーク装置に転送する。
ここで、プロトコル種別は、例えばIPv4またはIPv6である。削除部15aは、受信したパケットのプロトコル種別を示すイーサヘッダに応じて、プロキシヘッダを設定する。具体的には、プロトコル種別がIPv4の場合には、削除部15aは、図3(d)に示すように、インナーパケットのオプション領域のデータ部に、プロキシヘッダとアウターヘッダを挿入する。その後、削除部15aは、アウターヘッダを削除するデカプセルを行う。また、削除部15aは、チェックサム計算によりパケットの整合性をとる。
この場合に、付加部15bは、インナーパケットのオプション領域のプロキシヘッダとアウターヘッダとを用いて、アウターヘッダを付加する再カプセル化を行うとともに、オプション領域を削除する。また、付加部15bは、チェックサム計算によりパケットの整合性をとる。
また、プロトコル種別がIPv6の場合には、削除部15aは、図3(e)に示すように、拡張ヘッダのオプション領域にプロキシヘッダとアウターヘッダとを挿入する。その後、削除部15aは、アウターヘッダを削除するデカプセルを行う。また、削除部15aは、チェックサム計算によりパケットの整合性をとる。
この場合に、付加部15bは、インナーパケットの拡張ヘッダのプロキシヘッダとアウターヘッダとを用いて、アウターヘッダを付加する再カプセル化を行うとともに、拡張ヘッダを削除する。また、付加部15bは、チェックサム計算によりパケットの整合性をとる。これにより、転送装置10は、ペイロード分析に影響なく、容易に再カプセル化を行うことが可能となる。
または、図4に示すように、削除部15aは、後述するTrailerをパケットの末尾に付加する。具体的には、削除部15aは、図4(b)に示すように定義されたTrailerに、アウターヘッダの長さとプロトコル種別を含める。また、削除部15aは、図4(a)、(c)、(d)に示すように、インナーパケットの末尾にTrailerと削除したアウターヘッダとを組み込んで、通信制御部13を介してNSF20に転送する。
この場合に、付加部15bは、図4(a)、(c)、(e)に示すように、NSF20から通信制御部13を介して受信したパケットのTrailerとアウターヘッダとを用いて、このTrailerとアウターヘッダを削除したパケットに、アウターヘッダを付加して、通信制御部13を介して他のネットワーク装置に転送する。これにより、転送装置10は、インターネット資源を管理するIANAへの資源登録をせずとも再カプセル化を行うことが可能となる。
[第2の実施形態]
第2の実施形態の転送装置10において、削除部15aは、カプセル化されたパケットのアウターヘッダを削除する際に、該パケットとインナーパケットの情報とを対応付ける情報を記憶部14に記憶させる。この場合に、付加部15bは、受信したパケットを再カプセル化する際に、記憶部14から取り出したパケットに、対応付けられたインナーパケットの情報を用いてアウターヘッダを付加する。
第2の実施形態の転送装置10において、削除部15aは、カプセル化されたパケットのアウターヘッダを削除する際に、該パケットとインナーパケットの情報とを対応付ける情報を記憶部14に記憶させる。この場合に、付加部15bは、受信したパケットを再カプセル化する際に、記憶部14から取り出したパケットに、対応付けられたインナーパケットの情報を用いてアウターヘッダを付加する。
この場合において、インナーパケットの情報は、5-tuple、インナーパケット全体のハッシュ値、またはインナーパケット内の所定のビット列のハッシュ値のいずれか1つである。
ここで、図5~図7は、第2の実施形態の転送装置の処理を説明するための図である。例えば、図5に示すように、削除部15aは、カプセル化されたパケットのアウターヘッダを削除する際に、パケットとインナーパケットの5-tupleとを対応付ける。具体的には、削除部15aは、図5(a)に示すように、パケットを記憶部14のパケット保存領域に保存するとともに、パケット保存領域のポインタとインナーパケットの5-tupleとを対応付ける対応付けハッシュ表を記憶部14に保存する。
詳細には、図5(b)に示すように、削除部15aは、アウターヘッダを削除する前のパケット全体をパケット保存領域に保存し、ポインタを取得する。また、削除部15aは、インナーパケットの5-tupleと取得したポインタとを対応付けハッシュ表に登録する。また、削除部15aは、アウターヘッダを削除したインナーパケットを、通信制御部13を介してNSFに転送する。
この場合に、付加部15bは、受信したパケットを再カプセル化する際に、図5(a)に示すように、パケット保存領域と対応付けハッシュ表とを検索し、受信したパケットの5-tupleに対応するパケットを取得する。
詳細には、図5(b)に示すように、受信したパケットの5tupleに対応するポインタを対応付けハッシュ表から取得して、取得したポインタによりパケット保存領域から取得したパケットを、通信制御部13を介して他のネットワーク装置に送信する。なお、受信したパケットが記憶部14に記憶されていない場合には、付加部15bは、パケットを破棄する。
このように、パケットとインナーパケットの5-tupleとを対応付けることにより、転送装置10は、再カプセル化の処理コストを削除することが可能となる。
または、図6に示すように、削除部15aは、カプセル化されたパケットのアウターヘッダを削除する際に、パケットとインナーパケットのハッシュ値とを対応付ける。具体的には、削除部15aは、図6(a)に示すように、パケットを記憶部14のパケット保存領域に保存するとともに、パケット保存領域のポインタとインナーパケットのハッシュ値とを対応付ける対応付けハッシュ表を記憶部14に保存する。
詳細には、図6(b)に示すように、削除部15aは、アウターヘッダを削除する前のパケット全体をパケット保存領域に保存し、ポインタを取得する。また、削除部15aは、インナーパケットのハッシュ値と取得したポインタとを対応付けハッシュ表に登録する。また、削除部15aは、アウターヘッダを削除したインナーパケットを、通信制御部13を介してNSFに転送する。
この場合に、付加部15bは、受信したパケットを再カプセル化する際に、図6(a)に示すように、パケット保存領域と対応付けハッシュ表とを検索し、受信したパケットのハッシュ値に対応するパケットを取得する。
詳細には、図6(b)に示すように、受信したパケットのハッシュ値に対応するポインタを対応付けハッシュ表から取得して、取得したポインタによりパケット保存領域から取得したパケットを、通信制御部13を介して他のネットワーク装置に送信する。なお、受信したパケットが記憶部14に記憶されていない場合には、付加部15bは、パケットを破棄する。
このように、パケットとインナーパケットのハッシュ値とを対応付けることにより、転送装置10は、アウターヘッダの再付与ミスを低減することが可能となる。
また、図7に示すように、削除部15aは、カプセル化されたパケットのアウターヘッダを削除する際に、パケットとインナーパケット内の所定のビット列のハッシュ値とを対応付ける。具体的には、削除部15aは、図7(a)に示すように、パケットを記憶部14のパケット保存領域に保存するとともに、パケット保存領域のポインタとインナーパケット内の所定のビット列のハッシュ値とを対応付ける対応付けハッシュ表を記憶部14に保存する。
詳細には、図7(b)に示すように、削除部15aは、アウターヘッダを削除する前のパケット全体をパケット保存領域に保存し、ポインタを取得する。また、削除部15aは、指定したインナーパケット内のビット列のハッシュ値と取得したポインタとを対応付けハッシュ表に登録する。また、削除部15aは、アウターヘッダを削除したインナーパケットを、通信制御部13を介してNSFに転送する。
この場合に、付加部15bは、受信したパケットを再カプセル化する際に、図7(a)に示すように、パケット保存領域と対応付けハッシュ表とを検索し、受信したパケット内の所定のビット列のハッシュ値に対応するパケットを取得する。
詳細には、図7(b)に示すように、受信したパケット内の指定したビット列のハッシュ値に対応するポインタを対応付けハッシュ表から取得して、取得したポインタによりパケット保存領域から取得したパケットを、通信制御部13を介して他のネットワーク装置に送信する。なお、受信したパケットが記憶部14に記憶されていない場合には、付加部15bは、パケットを破棄する。
このように、パケットとインナーパケット内の所定のビット列のハッシュ値とを対応付けることにより、転送装置10は、アウターヘッダの再付与ミス率を低減することが可能となる。
[第3の実施形態]
第3の実施形態の転送装置10において、削除部15aは、カプセル化されたパケットのアウターヘッダを削除する際に、該アウターヘッダとインナーパケットの情報とを対応付ける情報を記憶部14に記憶させる。この場合に、付加部15bは、受信したパケットを再カプセル化する際に、記憶部14から取り出したインナーパケットの情報に対応付けられたアウターヘッダを付加する。
第3の実施形態の転送装置10において、削除部15aは、カプセル化されたパケットのアウターヘッダを削除する際に、該アウターヘッダとインナーパケットの情報とを対応付ける情報を記憶部14に記憶させる。この場合に、付加部15bは、受信したパケットを再カプセル化する際に、記憶部14から取り出したインナーパケットの情報に対応付けられたアウターヘッダを付加する。
この場合に、インナーパケットの情報は、インナーパケットのハッシュ値、またはインナーパケット内の所定のビット列のハッシュ値のいずれかである。
ここで、図8および図9は、第3の実施形態の転送装置の処理を説明するための図である。例えば、削除部15aは、図8に示すように、カプセル化されたパケットのアウターヘッダを削除する際に、アウターヘッダとインナーパケットのハッシュ値とを対応付ける。具体的には、削除部15aは、図8(a)に示すように、アウターヘッダを記憶部14のアウターヘッダ保存領域に保存するとともに、アウターヘッダ保存領域のポインタとインナーパケットのハッシュ値とを対応付ける対応付けハッシュ表を記憶部14に保存する。
詳細には、図8(b)に示すように、削除部15aは、アウターヘッダをアウターヘッダ保存領域に保存し、ポインタを取得する。また、削除部15aは、インナーパケットのハッシュ値と取得したポインタとを対応付けハッシュ表に登録する。また、削除部15aは、アウターヘッダを削除したインナーパケットを、通信制御部13を介してNSFに転送する。
この場合に、付加部15bは、受信したパケットを再カプセル化する際に、図8(a)に示すように、アウターヘッダ保存領域と対応付けハッシュ表とを検索し、受信したパケットのハッシュ値に対応するアウターヘッダを取得する。
詳細には、図8(b)に示すように、受信したパケットのハッシュ値に対応するポインタを対応付けハッシュ表から取得して、取得したポインタによりアウターヘッダ保存領域からアウターヘッダを取得する。そして、付加部15bは、アウターヘッダを付加したパケットを、通信制御部13を介して他のネットワーク装置に送信する。なお、受信したパケットのアウターヘッダが記憶部14に記憶されていない場合には、付加部15bは、パケットを破棄する。
このように、アウターヘッダとインナーパケットのハッシュ値とを対応付けることにより、転送装置10は、消費メモリを低減することが可能となる。
また、削除部15aは、図9に示すように、カプセル化されたパケットのアウターヘッダを削除する際に、アウターヘッダとインナーパケット内の所定のビット列のハッシュ値とを対応付ける。具体的には、削除部15aは、図9(a)に示すように、アウターヘッダを記憶部14のアウターヘッダ保存領域に保存するとともに、アウターヘッダ保存領域のポインタとインナーパケット内の所定のビット列のハッシュ値とを対応付ける対応付けハッシュ表を記憶部14に保存する。
詳細には、図9(b)に示すように、削除部15aは、アウターヘッダをアウターヘッダ保存領域に保存し、ポインタを取得する。また、削除部15aは、インナーパケット内の指定したビット列のハッシュ値と取得したポインタとを対応付けハッシュ表に登録する。また、削除部15aは、アウターヘッダを削除したインナーパケットを、通信制御部13を介してNSFに転送する。
この場合に、付加部15bは、受信したパケットを再カプセル化する際に、図9(a)に示すように、アウターヘッダ保存領域と対応付けハッシュ表とを検索し、受信したパケット内の指定した所定のビット列のハッシュ値に対応するアウターヘッダを取得する。
詳細には、図9(b)に示すように、受信したパケット内の指定したビット列のハッシュ値に対応するポインタを対応付けハッシュ表から取得して、取得したポインタによりアウターヘッダ保存領域からアウターヘッダを取得する。そして、付加部15bは、アウターヘッダを付加したパケットを、通信制御部13を介して他のネットワーク装置に送信する。が記憶部14に記憶されていない場合には、付加部15bは、パケットを破棄する。
このように、アウターヘッダとインナーパケット内の所定のビット列のハッシュ値とを対応付けることにより、転送装置10は、アウターヘッダの再付与ミスを低減することが可能となる。
[転送処理]
次に、図10を参照して、本実施形態に係る転送装置10による転送処理について説明する。図10は、転送処理手順を示すシーケンス図である。図10のシーケンスは、転送装置10がパケットを受信したタイミングで開始される。
次に、図10を参照して、本実施形態に係る転送装置10による転送処理について説明する。図10は、転送処理手順を示すシーケンス図である。図10のシーケンスは、転送装置10がパケットを受信したタイミングで開始される。
まず、転送装置10がネットワークNを介して他のネットワーク装置からカプセル化されたパケットを受信した場合に、削除部15aが、カプセル化されたパケットのアウターヘッダを削除して、NSFに転送する(ステップS1)。
その際に、削除部15aは、該アウターヘッダとアウターヘッダの情報を含むフィールドとを、インナーパケットまたはパケットの末尾に含める。この場合に、アウターヘッダの情報は、該アウターヘッダの長さとプロトコル種別とを含む。
例えば、削除部15aは、アウターヘッダの長さとプロトコル種別を含むプロキシヘッダをインナーパケットに組み込む。あるいは、削除部15aは、アウターヘッダの長さとプロトコル種別を含むTrailerをパケットの末尾に付加する。
また、転送装置10がNSFからパケットを受信した場合に、付加部15bが、受信したパケットを再カプセル化して、ネットワークNを介して他のネットワーク装置に転送する(ステップS2)。その際に、付加部15bは、フィールドから取り出したアウターヘッダの情報を用いて該パケットにアウターヘッダを付加する。これにより、一連の転送処理が終了する。
または、削除部15aは、カプセル化されたパケットのアウターヘッダを削除する際に、該パケットとインナーパケットの情報とを対応付ける情報を記憶部14に記憶させる。この場合に、付加部15bは、受信したパケットを再カプセル化する際に、記憶部から取り出したパケットに、対応付けられたインナーパケットの情報を用いてアウターヘッダを付加する。この場合において、インナーパケットの情報は、5-tuple、インナーパケットのハッシュ値、またはインナーパケット内の所定のビット列のハッシュ値のいずれか1つである。
あるいは、削除部15aは、カプセル化されたパケットのアウターヘッダを削除する際に、該アウターヘッダとインナーパケットの情報とを対応付ける情報を記憶部14に記憶させる。この場合に、付加部15bは、受信したパケットを再カプセル化する際に、記憶部14から取り出したインナーパケットの情報に対応付けられたアウターヘッダを付加する。この場合において、インナーパケットの情報は、インナーパケットのハッシュ値、またはインナーパケット内の所定のビット列のハッシュ値のいずれかである。
[転送処理の効果]
次に、図11は、転送処理の効果を説明するための図である。図11(α)に示すように、従来のスタティックキャッシュでは、アウターヘッダとインナーヘッダとを事前に対応付けしておくことが必要である。一方、ダイナミックキャッシュにおいて、図11(β)、(γ)に示すように、vlanヘッダやIPヘッダToS値にアウターヘッダの検索キーを付与する方法では、vlanやインナーパケットが変化するため、サービスに影響がある。
次に、図11は、転送処理の効果を説明するための図である。図11(α)に示すように、従来のスタティックキャッシュでは、アウターヘッダとインナーヘッダとを事前に対応付けしておくことが必要である。一方、ダイナミックキャッシュにおいて、図11(β)、(γ)に示すように、vlanヘッダやIPヘッダToS値にアウターヘッダの検索キーを付与する方法では、vlanやインナーパケットが変化するため、サービスに影響がある。
また、アウターヘッダの検索キーを付与しない方法において、図11(δ)に示すように、宛先IPを検索キーとすると、インナーパケットがds-lite等のローカルアドレスである場合に、アウターヘッダの再付与ミスが発生する場合があった。また、図11(ε)に示すように、インナーパケットの5-tupleを検索キーとしても、同様に、インナーパケットがds-lite等のローカルアドレスである場合に、アウターヘッダの再付与ミスが発生する場合があった。そこで、アウターヘッダをキャッシュすると、再カプセル化の処理コストがかかるという問題があった。そもそも、キャッシュを行う方式では、キャッシュ用のメモリを確保する必要がある。
これに対し、本実施形態の転送装置10において、削除部15aが、カプセル化されたパケットのアウターヘッダを削除する際に、該アウターヘッダとアウターヘッダの情報を含むフィールドとを、該パケットに含める。また、付加部15bが、受信したパケットを再カプセル化する際に、フィールドから取り出したアウターヘッダの情報を用いて該パケットにアウターヘッダを付加する。この場合において、アウターヘッダの情報は、該アウターヘッダの長さとプロトコル種別とを含む。
具体的には、転送装置は、図11(a)、(b)に例示するように、パケットのアウターヘッダを削除する際に、パケットやアウターヘッダのキャッシュを行うことなく、アウターヘッダとアウターヘッダの情報を含むフィールドとを、該パケットに含める。例えば、図11(a)に示すように、アウターヘッダの情報を示すプロキシヘッダとアウターヘッダとをインナーパケットに埋め込むことにより、転送装置10は、ペイロード分析に影響なく、容易に再カプセル化を行うことが可能となる。また、図11(b)に示すように、ペイロードの末尾にアウターヘッダの情報を示すTrailerとアウターヘッダとを埋め込むことにより、転送装置10は、インターネット資源を管理するIANAを介さずに再カプセル化を行うことが可能となる。
または、転送装置10では、削除部15aは、カプセル化されたパケットのアウターヘッダを削除する際に、該パケットとインナーパケットの情報とを対応付ける情報を記憶部14に記憶させる。この場合に、付加部15bは、受信したパケットを再カプセル化する際に、記憶部14から取り出したパケットに、対応付けられたインナーパケットの情報を用いてアウターヘッダを付加する。この場合において、インナーパケットの情報は、5-tuple、インナーパケットのハッシュ値、またはインナーパケット内の所定のビット列のハッシュ値のいずれか1つである。
具体的には、転送装置10は、図11(c)、(d)、(e)に例示すように、パケットのアウターヘッダを削除する際に、パケットとインナーパケットの情報とを対応付ける情報を記憶部に記憶させる。例えば、図11(c)に示すように、パケットとインナーパケットの5-tupleとを対応付けることにより、転送装置10は、再カプセル化の処理コストを削除することが可能となる。また、図11(d)に示すように、パケットとインナーパケットのハッシュ値とを対応付けることにより、転送装置10は、アウターヘッダの再付与ミスを低減することが可能となる。また、図11(e)に示すように、パケットとインナーパケット内の所定のビット列のハッシュ値とを対応付けることにより、転送装置10は、アウターヘッダの再付与ミスを低減することが可能となる。
または、転送装置10において、削除部15aは、カプセル化されたパケットのアウターヘッダを削除する際に、該アウターヘッダとインナーパケットの情報とを対応付ける情報を記憶部14に記憶させる。この場合に、付加部15bは、受信したパケットを再カプセル化する際に、記憶部14から取り出したインナーパケットの情報に対応付けられたアウターヘッダを付加する。この場合において、インナーパケットの情報は、インナーパケットのハッシュ値、またはインナーパケット内の所定のビット列のハッシュ値のいずれかである。
具体的には、転送装置10は、図11(f)、(g)に例示すように、該アウターヘッダとインナーパケットの情報とを対応付ける情報を記憶部14に記憶させる。例えば、図11(f)に示すように、アウターヘッダとインナーパケットのハッシュ値とを対応付けることにより、転送装置10は、消費メモリを低減することが可能となる。また、図11(g)に示すように、アウターヘッダとインナーパケット内の所定のビット列のハッシュ値とを対応付けることにより、転送装置10は、アウターヘッダの再付与ミスを低減することが可能となる。
このように、上記実施形態の転送装置10の転送処理によれば、集約したNSFでパケットの分析等の処理を低コストで行うことが可能となる。
[プログラム]
上記実施形態に係る転送装置10が実行する処理をコンピュータが実行可能な言語で記述したプログラムを作成することもできる。一実施形態として、転送装置10は、パッケージソフトウェアやオンラインソフトウェアとして上記の転送処理を実行する転送プログラムを所望のコンピュータにインストールさせることによって実装できる。例えば、上記の転送プログラムを情報処理装置に実行させることにより、情報処理装置を転送装置10として機能させることができる。また、その他にも、情報処理装置にはスマートフォン、携帯電話機やPHS(Personal Handyphone System)等の移動体通信端末、さらには、PDA(Personal Digital Assistant)等のスレート端末等がその範疇に含まれる。また、転送装置10の機能を、クラウドサーバに実装してもよい。
上記実施形態に係る転送装置10が実行する処理をコンピュータが実行可能な言語で記述したプログラムを作成することもできる。一実施形態として、転送装置10は、パッケージソフトウェアやオンラインソフトウェアとして上記の転送処理を実行する転送プログラムを所望のコンピュータにインストールさせることによって実装できる。例えば、上記の転送プログラムを情報処理装置に実行させることにより、情報処理装置を転送装置10として機能させることができる。また、その他にも、情報処理装置にはスマートフォン、携帯電話機やPHS(Personal Handyphone System)等の移動体通信端末、さらには、PDA(Personal Digital Assistant)等のスレート端末等がその範疇に含まれる。また、転送装置10の機能を、クラウドサーバに実装してもよい。
図12は、転送プログラムを実行するコンピュータの一例を示す図である。コンピュータ1000は、例えば、メモリ1010と、CPU1020と、ハードディスクドライブインタフェース1030と、ディスクドライブインタフェース1040と、シリアルポートインタフェース1050と、ビデオアダプタ1060と、ネットワークインタフェース1070とを有する。これらの各部は、バス1080によって接続される。
メモリ1010は、ROM(Read Only Memory)1011およびRAM1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、ハードディスクドライブ1031に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1041に接続される。ディスクドライブ1041には、例えば、磁気ディスクや光ディスク等の着脱可能な記憶媒体が挿入される。シリアルポートインタフェース1050には、例えば、マウス1051およびキーボード1052が接続される。ビデオアダプタ1060には、例えば、ディスプレイ1061が接続される。
ここで、ハードディスクドライブ1031は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093およびプログラムデータ1094を記憶する。上記実施形態で説明した各情報は、例えばハードディスクドライブ1031やメモリ1010に記憶される。
また、転送プログラムは、例えば、コンピュータ1000によって実行される指令が記述されたプログラムモジュール1093として、ハードディスクドライブ1031に記憶される。具体的には、上記実施形態で説明した転送装置10が実行する各処理が記述されたプログラムモジュール1093が、ハードディスクドライブ1031に記憶される。
また、転送プログラムによる情報処理に用いられるデータは、プログラムデータ1094として、例えば、ハードディスクドライブ1031に記憶される。そして、CPU1020が、ハードディスクドライブ1031に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して、上述した各手順を実行する。
なお、転送プログラムに係るプログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1031に記憶される場合に限られず、例えば、着脱可能な記憶媒体に記憶されて、ディスクドライブ1041等を介してCPU1020によって読み出されてもよい。あるいは、転送プログラムに係るプログラムモジュール1093やプログラムデータ1094は、LAN(Local Area Network)やWAN(Wide Area Network)等のネットワークを介して接続された他のコンピュータに記憶され、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
以上、本発明者によってなされた発明を適用した実施形態について説明したが、本実施形態による本発明の開示の一部をなす記述および図面により本発明は限定されることはない。すなわち、本実施形態に基づいて当業者等によりなされる他の実施形態、実施例および運用技術等は全て本発明の範疇に含まれる。
10 転送装置
13 通信制御部
14 記憶部
15 制御部
15a 削除部
15b 付加部
13 通信制御部
14 記憶部
15 制御部
15a 削除部
15b 付加部
Claims (8)
- カプセル化されたパケットのアウターヘッダを削除する際に、該アウターヘッダとアウターヘッダの情報を含むフィールドとを、該パケットに含める削除部と、
受信したパケットを再カプセル化する際に、前記フィールドから取り出した前記アウターヘッダの情報を用いて該パケットにアウターヘッダを付加する付加部と、
を有することを特徴とする転送装置。 - 前記アウターヘッダの情報は、該アウターヘッダの長さとプロトコル種別とを含むことを特徴とする請求項1に記載の転送装置。
- カプセル化されたパケットのアウターヘッダを削除する際に、該パケットとインナーパケットの情報とを対応付ける情報を記憶部に記憶させる削除部と、
受信したパケットを再カプセル化する際に、前記記憶部から取り出した前記パケットに、対応付けられた前記インナーパケットの情報を用いてアウターヘッダを付加する付加部と、
を有することを特徴とする転送装置。 - 前記インナーパケットの情報は、5-tuple、インナーパケットのハッシュ値、またはインナーパケット内の所定のビット列のハッシュ値のいずれか1つであることを特徴とする請求項3に記載の転送装置。
- カプセル化されたパケットのアウターヘッダを削除する際に、該アウターヘッダとインナーパケットの情報とを対応付ける情報を記憶部に記憶させる削除部と、
受信したパケットを再カプセル化する際に、前記記憶部から取り出した前記インナーパケットの情報に対応付けられた前記アウターヘッダを付加する付加部と、
を有することを特徴とする転送装置。 - 前記インナーパケットの情報は、インナーパケットのハッシュ値、またはインナーパケット内の所定のビット列のハッシュ値のいずれかであることを特徴とする請求項5に記載の転送装置。
- 転送装置が実行する転送方法であって、
カプセル化されたパケットのアウターヘッダを削除する際に、該アウターヘッダとアウターヘッダの情報とを含むフィールドを、該パケットに含める削除工程と、
受信したパケットを再カプセル化する際に、前記フィールドから取り出した前記アウターヘッダの情報を用いて該パケットにアウターヘッダを付加する付加工程と、
を含んだことを特徴とする転送方法。 - カプセル化されたパケットのアウターヘッダを削除する際に、該アウターヘッダとアウターヘッダの情報とを含むフィールドを、該パケットに含める削除ステップと、
受信したパケットを再カプセル化する際に、前記フィールドから取り出した前記アウターヘッダの情報を用いて該パケットにアウターヘッダを付加する付加ステップと、
をコンピュータに実行させるための転送プログラム。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2020/037274 WO2022070348A1 (ja) | 2020-09-30 | 2020-09-30 | 転送装置、転送方法および転送プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2022070348A1 JPWO2022070348A1 (ja) | 2022-04-07 |
JP7476974B2 true JP7476974B2 (ja) | 2024-05-01 |
Family
ID=80949910
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022553342A Active JP7476974B2 (ja) | 2020-09-30 | 2020-09-30 | 転送装置、転送方法および転送プログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US20240015049A1 (ja) |
JP (1) | JP7476974B2 (ja) |
WO (1) | WO2022070348A1 (ja) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005136684A (ja) | 2003-10-30 | 2005-05-26 | Nippon Telegr & Teleph Corp <Ntt> | データ転送方法とtcpプロキシ装置およびそれを用いたネットワークシステム |
JP2006121434A (ja) | 2004-10-21 | 2006-05-11 | Nec Access Technica Ltd | Atm通信装置およびその通信方法 |
JP2008295964A (ja) | 2007-06-04 | 2008-12-11 | Heiwa Corp | 遊技機 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4478700B2 (ja) * | 2007-05-28 | 2010-06-09 | シャープ株式会社 | ネットワークベースipモビリティプロトコルを利用した通信システム、制御装置、ルータ及びその通信方法 |
-
2020
- 2020-09-30 US US18/029,507 patent/US20240015049A1/en active Pending
- 2020-09-30 WO PCT/JP2020/037274 patent/WO2022070348A1/ja active Application Filing
- 2020-09-30 JP JP2022553342A patent/JP7476974B2/ja active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005136684A (ja) | 2003-10-30 | 2005-05-26 | Nippon Telegr & Teleph Corp <Ntt> | データ転送方法とtcpプロキシ装置およびそれを用いたネットワークシステム |
JP2006121434A (ja) | 2004-10-21 | 2006-05-11 | Nec Access Technica Ltd | Atm通信装置およびその通信方法 |
JP2008295964A (ja) | 2007-06-04 | 2008-12-11 | Heiwa Corp | 遊技機 |
Also Published As
Publication number | Publication date |
---|---|
JPWO2022070348A1 (ja) | 2022-04-07 |
WO2022070348A1 (ja) | 2022-04-07 |
US20240015049A1 (en) | 2024-01-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20190245809A1 (en) | System and method for message handling in a network device | |
US8650326B2 (en) | Smart client routing | |
US8121146B2 (en) | Method, apparatus and system for maintaining mobility resistant IP tunnels using a mobile router | |
US7706367B2 (en) | Integrated tunneling and network address translation: performance improvement for an interception proxy server | |
US9787581B2 (en) | Secure data flow open information analytics | |
US9847940B2 (en) | Control method, packet processing device, and storage medium | |
JP2021500802A (ja) | 第1のパケットアプリケーション分類のためのシステムおよび方法 | |
CN110505244B (zh) | 远程隧道访问技术网关以及服务器 | |
US10178068B2 (en) | Translating network attributes of packets in a multi-tenant environment | |
US20240089317A1 (en) | Method and electronic device for accessing service device in local area network | |
WO2023186109A1 (zh) | 节点访问方法以及数据传输系统 | |
US8509235B2 (en) | Layer-2 packet return in proxy-router communication protocol environments | |
JP7476974B2 (ja) | 転送装置、転送方法および転送プログラム | |
Cong et al. | Ceupf: Offloading 5g user plane function to programmable hardware base on co-existence architecture | |
US20230179563A1 (en) | Methods and Systems for Efficient Virtualization of Inline Transparent Computer Networking Devices | |
US11451513B2 (en) | Notification device and notification method | |
US20170149663A1 (en) | Control device, communication system, control method, and non-transitory recording medium | |
CN110289979B (zh) | 桥接器及网络的管理方法 | |
CN113497767A (zh) | 传输数据的方法、装置、计算设备及存储介质 | |
WO2022001666A1 (zh) | 建立vxlan隧道的方法及相关设备 | |
Johansson et al. | Supporting user mobility with peer-to-peer-based application mobility in heterogeneous networks | |
US10938778B2 (en) | Route reply back interface for cloud internal communication | |
CN113890789B (zh) | 适用于数据中心的udp隧道流量的分流方法、流量转发方法 | |
WO2022252569A1 (zh) | 报文处理方法、装置及系统 | |
Novo | Enabling CoAP-Based Communication across Network Boundaries: Challenges and Solutions |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230110 |
|
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: 20240319 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20240401 |