JP2017017477A - 通信装置、通信方法、および、通信プログラム - Google Patents

通信装置、通信方法、および、通信プログラム Download PDF

Info

Publication number
JP2017017477A
JP2017017477A JP2015131241A JP2015131241A JP2017017477A JP 2017017477 A JP2017017477 A JP 2017017477A JP 2015131241 A JP2015131241 A JP 2015131241A JP 2015131241 A JP2015131241 A JP 2015131241A JP 2017017477 A JP2017017477 A JP 2017017477A
Authority
JP
Japan
Prior art keywords
application
packet
network
data
identification information
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.)
Granted
Application number
JP2015131241A
Other languages
English (en)
Other versions
JP6540283B2 (ja
Inventor
智之 曾根
Tomoyuki Sone
智之 曾根
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2015131241A priority Critical patent/JP6540283B2/ja
Priority to EP16171674.1A priority patent/EP3113421B1/en
Priority to US15/171,574 priority patent/US20170005930A1/en
Priority to CN201610437647.XA priority patent/CN106330717A/zh
Publication of JP2017017477A publication Critical patent/JP2017017477A/ja
Application granted granted Critical
Publication of JP6540283B2 publication Critical patent/JP6540283B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/70Virtual switches
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0272Virtual private networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/04Protocols specially adapted for terminals or networks with limited capabilities; specially adapted for terminal portability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/563Data redirection of data network streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/302Route determination based on requested QoS
    • H04L45/306Route determination based on the nature of the carried application

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】異なるプライベートネットワーク中の装置間でのデータの送受信を簡便にする。
【解決手段】通信装置は、受信部、データ処理部、ルーティングテーブル、送信部を備える。受信部は、複数のネットワークのいずれかからパケットを受信する。データ処理部は、パケットを処理するとともに、パケットを用いて取得したデータの中継先のネットワークで送受信されるパケットの処理に使用するアプリケーションである使用アプリケーションを特定する。ルーティングテーブルは、複数のネットワークの各々について、ネットワークで使用される転送経路と、ネットワークで送受信されるパケットを処理するアプリケーションの識別情報を対応付ける。送信部は、データを含む送信パケットを生成すると共に、ルーティングテーブル中で使用アプリケーションを識別する識別情報に対応付けられている転送経路を用いて、送信パケットを送信する。
【選択図】図1

Description

本発明は、通信装置と通信装置で行われる通信に関する。
通信機器の小型化や無線技術の発展に伴い、通信機器を搭載した機械やセンサを含むネットワークを用いて情報収集が行われることが増えてきている。また、このようなネットワークでは、プライベートネットワークが使用されることが多い。プライベートネットワーク中の装置は、ゲートウェイにデータを送信し、ゲートウェイが適宜、データをサーバなどに通知する。ゲートウェイがプライベートネットワークに存在しないサーバと通信する場合、ゲートウェイとサーバとの間の通信を中継するルータなどによって、適宜、ネットワークアドレス変換(NAPT、Network Address Port Translation)が行われる。また、あるプライベートネットワークで得られたデータを別のプライベートネットワークで使用する場合には、異なるプライベートネットワーク中の装置間での通信が発生しうる。異なるプライベートネットワーク中の装置間での通信の際も、適宜、プライベートネットワーク同士を接続するルータによってネットワークアドレス変換が行われる。
関連する技術として、常時接続用ゲートウェイと一時接続用ゲートウェイ装置を記憶する経路指定テーブルを備える端末装置が考案されている(例えば、特許文献1など)。この端末装置と通信先の間の通信は常時接続用ゲートウェイを経由して行われるが、常時接続用ゲートウェイを介した経路が使用できない場合に一時接続用ゲートウェイ装置を用いた経路が使用される。さらに、送信側の情報処理装置が、送信側から宛先へのネットワーク上のルータの経由順を指定した経路指定情報を付してデータを送信するネットワーク通信システムも考案されている(例えば、特許文献2など)。また、各ノードがノードの物理的な位置情報とノード上で動作するアプリケーションの識別子を対応付けて記憶する分散システムが提案されている(例えば、特許文献3など)。この分散システムでは、第1のノード上で動作するアプリケーションが第2のノード上で動作するアプリケーションと通信する際に、アプリケーションの識別情報に基づいてノードの位置情報を抽出し、位置情報から通信手段を判定する。
特開2002−158665号公報 特開2005−45535号公報 国際公開第2011/045919号
あるプライベートネットワークで得られたデータを別のプライベートネットワークで使用する場合、異なるプライベートネットワーク中の装置間でのデータの受け渡しが発生する。この場合、ネットワークアドレス変換を利用した通信が行われることが多いが、ネットワークアドレス変換を用いても通信が困難なケースも存在する。例えば、送信元装置に割り当てられたプライベートIPアドレスと宛先装置に割り当てられたプライベートIPアドレスが一致すると、送信されたパケットは、ネットワークアドレス変換の対象とならずに、送信元の装置に戻ってしまう。一方、ネットワークアドレス変換を行わずに、経路中の中継装置を個別に設定することにより異なるプライベートネットワーク中の装置間での通信を行うことも困難である。
本発明は、1つの側面では、異なるプライベートネットワーク中の装置間でのデータの送受信を簡便にすることを目的とする。
1つの態様では、通信装置は、受信部、データ処理部、ルーティングテーブル、送信部を備える。受信部は、複数のネットワークのいずれかからパケットを受信する。データ処理部は、前記パケットを処理するとともに、前記パケットを用いて取得したデータの中継先のネットワークで送受信されるパケットの処理に使用するアプリケーションである使用アプリケーションを特定する。ルーティングテーブルは、前記複数のネットワークの各々について、前記ネットワークで使用される転送経路と、前記ネットワークで送受信されるパケットを処理するアプリケーションの識別情報を対応付ける。送信部は、前記データを含む送信パケットを生成すると共に、前記ルーティングテーブル中で前記使用アプリケーションを識別する識別情報に対応付けられている転送経路を用いて、前記送信パケットを送信する。
1つの側面として、異なるネットワーク中の装置間で簡便にデータの送受信を行なうことができる。
実施形態にかかる通信方法の例を説明する図である。 通信装置の構成の例を説明する図である。 通信装置のハードウェア構成の例を説明する図である。 通信装置とネットワークの接続の例を説明する図である。 管理情報の例を示す図である。 通信装置でのパケットの受信処理の例を説明するフローチャートである。 入出力されるデータ中の情報要素の例を説明する図である。 ルーティングテーブルの例を示す図である。 通信装置でのパケットの送信処理の例を説明するフローチャートである。
図1は、実施形態にかかる通信方法の例を説明する図である。図1のケースC1に示すように、ネットワークN1〜N3の別個のプライベートネットワークが形成されているとする。各ネットワークでのプライベートIPアドレスの割り当ては、他のネットワークでのアドレスの割り当てを考慮して行われていないため、同じプライベートIPアドレスが複数の装置に割り当てられることがある。例えば、ネットワークN1中の通信装置5a、ネットワークN2の通信装置5b、および、ネットワークN3中の通信装置5cに同一のプライベートIPアドレスが割り当てられているとする。以下、通信装置5a〜5cに割り当てられたアドレスをPAと記載する。さらに、ネットワークN1〜N3のネットワークアドレスはいずれも同じ値(IPnet)であるとする。
次に、通信装置5aで得られたデータを通信装置5bと通信装置5cに通知するために、図1のケースC2に示すように、ネットワークN1〜N3が通信装置10に接続されたとする。ケースC2の例では、通信装置10は、インタフェースIF1〜IF3を有し、ネットワークN1にはインタフェースIF1、ネットワークN2にはインタフェースIF2、ネットワークN3にはインタフェースIF3を介して接続されている。また、ネットワークN1で送受信されるパケットはアプリケーションA1、ネットワークN2で送受信されるパケットはアプリケーションA2、ネットワークN3で送受信されるパケットはアプリケーションA3で処理されるものとする。通信装置10では、アプリケーションA1〜A3が動作可能であり、アプリケーションA1〜A3は、それぞれのアプリケーションが、処理対象のパケットに対して行う処理の情報を含んでいる。
通信装置10は、通信装置5aからインタフェースIF1を介して、パケットP1を受信したとする。パケットP1の送信元アドレスは、通信装置5aのプライベートIPアドレス(PA)である。通信装置10は、パケットP1を、ネットワークN1で送受信されるパケットを処理するためのアプリケーションA1により処理する。ここで、パケットP1に対する処理は、パケットの終端であっても良く、また、パケットの終端とパケットのペイロードに格納されたデータに対する処理であっても良い。
通信装置10は、パケットP1に対する処理によって得られたデータの中継先のネットワークで使用されるアプリケーションを特定する。パケットP1に対する処理によって得られたデータが通信装置5b、5cに中継される場合、中継先のネットワークはネットワークN2、N3である。通信装置10は、中継対象のデータを含む送信パケットを、中継先の各ネットワークに対応した形式で生成する。図1の例では、ネットワークN2宛てにパケットP2、ネットワークN3宛てにパケットP3が生成されている。また、パケットP2の宛先である通信装置5bとパケットP3の宛先である通信装置5cには、プライベートIPアドレスとしてPAが割り当てられているので、パケットP2、P3のいずれでも宛先アドレスはPAとなる。
通信装置10は、接続先の各ネットワークへの転送処理に使用する通信経路とインタフェースを、テーブルT1に示すように、各ネットワークで送受信されるパケットの処理に使用するアプリケーションの識別情報に対応付けて記憶している。ここで、ネットワークN1〜N3のネットワークアドレスはいずれも同じ値であるので、経路情報だけでは、いずれのエントリの情報が転送処理に使用可能であるかは分からない。
通信装置10は、パケットP2がアプリケーションA2で処理されるネットワークN2宛てのパケットであるため、アプリケーションA2の識別情報に対応付けられた経路情報を用いて、パケットP2をインタフェースIF2から送信する。一方、パケットP3がアプリケーションA3で処理されるネットワークN3宛てのパケットであるため、通信装置10は、アプリケーションA3の識別情報に対応付けられた経路情報を用いて、パケットP3をインタフェースIF3から送信する。このため、パケットP2、P3のいずれの宛先アドレスもPAであり、ネットワークN2、N3のいずれのネットワークアドレスもIPnetであるにもかかわらず、通信装置10は、パケットP2を通信装置5b、パケットP3を通信装置5cに送信できる。
このように、プライベートアドレスが同じ複数のプライベートネットワークが通信装置10に接続されると、通信装置10は、各々のネットワーク中のパケットを処理するアプリケーションの情報と経路情報の組み合わせから、経路を決定する。このため、プライベートネットワーク間を、通信装置10を介して接続することにより、NAPTによってもデータを中継することが困難であったプライベートネットワーク間の装置の間のテータ中継が簡単になる。
さらに、通信装置10は、プライベートアドレス中の通信装置5から受信したパケットを処理して、他のネットワークへのデータの中継を行うかも判定している。このため、各プライベートネットワーク中の通信装置5は、他のプライベートアドレス中の装置にデータを通知するかを判定しなくてもよいため、通信装置5中の装置の処理負荷も軽減される。
<装置構成>
図2は、通信装置10の構成の例を説明する図である。通信装置10は、インタフェース11(11a、11b)、通信処理部20(20a、20b)、ルーティングテーブル25(25a、25b)、データ処理部30(30a、30b)、記憶部40を備える。なお、図2は一例であり、通信装置10が備えるインタフェース11、通信処理部20、ルーティングテーブル25、データ処理部30の数は任意である。例えば、図1で説明したように、通信処理部20、ルーティングテーブル25、データ処理部30は、それぞれ1つずつ通信装置10に備えられていても良い。
図2以降は、視覚的に分かりやすくするために、インタフェース11、通信処理部20、ルーティングテーブル25、データ処理部30がそれぞれ2つ以上の同数である場合を例として図示する。また、対応付けられているアプリケーションごとに、末尾のアルファベットが同じ符号になるように番号が振られている。例えば、アプリケーションA1で処理されるパケットは、インタフェース11a、通信処理部20a、ルーティングテーブル25a、データ処理部30aを用いて処理される。一方、アプリケーションA2で処理されるパケットは、インタフェース11b、通信処理部20b、ルーティングテーブル25b、データ処理部30bを用いて処理される。
インタフェース11は、通信装置10と通信装置10の接続先の装置との間でパケットの送受信を行う。通信処理部20は、送信処理部22と受信処理部23を備える。送信処理部22は、データ処理部30から入力されたデータを含む送信パケットを生成する。さらに、送信処理部22は、ルーティングテーブル25を参照して、インタフェース11を介したパケットの送信処理を行う。なお、図2のように、アプリケーションごとに通信処理部20等が設けられている場合、ルーティングテーブル25は、送信処理部22が送信するパケットを処理するアプリケーションに対応付けられた情報が含まれている。例えば、ルーティングテーブル25aには、インタフェース11aの接続先のネットワークに関する経路情報が含まれており、ルーティングテーブル25bには、インタフェース11bの接続先のネットワークに関する経路情報が含まれている。
データ処理部30は、パケットを終端し、適宜、パケットに含まれているデータを処理する。例えば、あるアプリケーションのプログラムを用いて実現されているデータ処理部30は、そのアプリケーションによって、パケットから得られたデータを処理する。さらに、データ処理部30は、アプリケーションのプログラム等での設定に応じて、他のプログラム等にデータの引き渡しや他のプログラムの呼び出しを行う。他のプログラムの呼び出しに使用するAPI(Application Programming Interface)なども、適宜、データ処理部30で実現される。データ処理部30は、他のプログラムへのデータの引き渡しの際に、引き渡し先のアプリケーションの識別情報とともに、データを記憶部40に格納する。また、データ処理部30は、データ処理部30を実現しているアプリケーションの識別情報に対応付けられたデータを、記憶部40から取得し、送信処理の対象のデータとして送信処理部22に出力する。
図3は、通信装置10のハードウェア構成の例を説明する図である。通信装置10は、プロセッサ101、メモリ102、バス103、ネットワーク接続装置104を備える。なお、図3の例では、図を見やすくするために、プロセッサ101、メモリ102、ネットワーク接続装置104を1つずつ図示しているが、プロセッサ101、メモリ102、ネットワーク接続装置104の数は任意である。例えば、通信装置10が接続するプライベートネットワークごとに異なるネットワーク接続装置104が使用される場合、通信装置10は、通信装置10が接続可能なプライベートネットワークと同数のネットワーク接続装置104を備える。
プロセッサ101は、CPU(Central Processing Unit)を含む任意の処理回路である。プロセッサ101は、メモリ102をワーキングメモリとして使用して、プログラムを実行することにより、様々な処理を実行する。メモリ102には、RAM(Random Access Memory)が含まれ、さらに、ROM(Read Only Memory)等の不揮発性のメモリも含まれる。ROMには、プログラムが格納される。さらに、メモリ102は、適宜、ハードディスクなどの外部記憶装置を含んでも良い。バス103は、プロセッサ101、メモリ102、ネットワーク接続装置104を、互いにデータの入出力が可能になるように接続する。通信装置10において、プロセッサ101は、データ処理部30として動作する。メモリ102は、記憶部40として動作する。また、メモリ102は、ルーティングテーブル25やプロセッサ101の処理に用いられるデータ、プロセッサ101に読み込まれるプログラムなどを保持する。さらに、ネットワーク接続装置104は、インタフェース11として動作する。通信処理部20は、プロセッサ101とネットワーク接続装置104により実現され得る。
<実施形態>
図4は、通信装置10とネットワークの接続の例を説明する図である。図4に示す通信装置10は、PAN(Personal Area Network)60、FAN(Field Area Network)70、ゲートウェイ80、キャリア網90に接続されているとする。通信装置10は、ゲートウェイ80を介してインターネット85と接続されている。ゲートウェイ80は、通信装置10がインターネット85と通信する場合のデフォルトゲートウェイとして動作する。通信装置10に接続されているキャリア網90では、キャリア側から各ユーザにプライベートIPアドレスが割り当てられ、各ユーザの端末は、割り振られたプライベートIPアドレスを用いて通信するものとする。
図4では、送信処理部22と受信処理部23が、各アプリケーションの通信に使用されるソケット21により実現される場合の例を示す。通信部12は、インタフェース11(11c〜11f)と通信処理部20を有する。また、図4の例では、データ処理部30の各々は、ベース終端部31、API32、アプリケーション処理部33を有する。ベース終端部31は、入力されたパケットを終端し、得られたデータをアプリケーション処理部33に出力する。アプリケーション処理部33は、適宜、データを処理し、他のアプリケーションで処理されるデータをAPI32に出力する。API32は、入力されたデータを、そのデータの受け渡し先となるアプリケーションの識別情報に対応付けて記憶部40に出力する。
ここで、アプリケーションの識別情報は、データが送受信されるプライベートネットワークと、データを処理するアプリケーションの組み合わせごとに一意に特定される値である。例えば、PAN60で送受信されるデータとFAN70で送受信されるデータの処理に同じ種類のプログラムが使用されたとする。この場合でも、PAN60で送受信されるデータを処理するアプリケーションと、FAN70で送受信されるデータを処理するアプリケーションとに割り当てられるアプリケーション識別情報は互いに異なる。管理部50は、通信装置10が接続されているネットワークと、データの処理に使用されるアプリケーションの関係を管理する。管理部50は、適宜、ソケット21c〜21fが使用する管理情報(図5)を生成する。
図4の例では、データ処理部30cとソケット21cは、PAN60から得られたデータの処理に使用するアプリケーション(アプリケーションa1)に関する処理を行う。ベース終端部31cは、PAN60からインタフェース11cを介して受信したパケットを終端する。API32cは、アプリケーションa1が他のアプリケーションへデータを引き渡す際の処理を行う。アプリケーション処理部33cはアプリケーションa1での処理を実現する。ソケット21cは、適宜、ルーティングテーブル25cを用いてパケットの送信処理を行う。
同様に、データ処理部30d、ソケット21d、ルーティングテーブル25d、インタフェース11dは、FAN70との間で送受信するパケットの処理や、FAN70から得られたデータの処理に使用される。FAN70から得られたデータの処理には、アプリケーションa2が使用されるとする。データ処理部30e、ソケット21e、ルーティングテーブル25e、インタフェース11eは、ゲートウェイ80を介して送受信するパケットの処理や、受信パケット中のデータの処理に使用される。ゲートウェイ80を介して受信したパケット中のデータの処理には、アプリケーションb1が使用されるとする。データ処理部30f、ソケット21f、ルーティングテーブル25f、インタフェース11fは、キャリア網90を介して送受信するパケットの処理や、キャリア網90を介して得られたデータの処理に使用される。キャリア網90を介して受信したパケット中のデータの処理には、アプリケーションb2が使用されるとする。
なお、図4では、4つのネットワークに接続されているときの通信装置10の動作を説明しやすくするため、インタフェース11c〜11fが通信装置10に備えられている場合を示すが、通信装置10中のインタフェース11の数は任意に変更され得る。
以下、通信装置10を介してプライベートネットワーク間でデータが中継される様子を、プライベートネットワークからのデータの受信と、通信装置10からのパケットの送信処理に分けて説明する。以下の例では、PAN60はBLT(Bluetooth(登録商標) Low Energy)を利用した位置特定サービスのネットワーク、FAN70が特定小電力無線を利用して街灯の点灯を制御するアドホックネットワークであるとする。PAN60には、通信装置61a〜61cが含まれており、FAN70には、通信装置71a〜71cが含まれている。FAN70の処理対象の街灯は、位置特定サービスで特定されたユーザの位置に応じて点灯されるとする。また、通信装置10は、位置特定サービスにより位置が特定されるユーザAの位置を、キャリア網90中でプライベートIPアドレスが割り当てられたスマートフォンのユーザBに通知するものとする。
図4の例では、PAN60、FAN70、キャリア網90のいずれのネットワークアドレスも192.168.0.0に設定されているとする。さらに、通信装置10とゲートウェイ80の間の接続を含むネットワークのアドレスも、192.168.0.0であるとする。すなわち、図4の例では、通信装置10が備えるインタフェース11c〜11fのいずれが含まれているネットワークのアドレスも192.168.0.0であるが、インタフェース11c〜11fは互いに異なるネットワークに属している。また、通信装置61aと通信装置71aのいずれにも、192.168.0.2がプライベートIPアドレスとして割り当てられているとする。同様に、通信装置61bと通信装置71bには192.168.0.3が割り当てられ、通信装置61cと通信装置71cには、192.168.0.4が割り当てられているとする。
PAN60では、通信装置61aがゲートウェイとして動作し、FAN70では、通信装置71aがゲートウェイとして動作するとする。通信装置61aと通信装置10の間と、通信装置71aと通信装置10の間は、それぞれ、Ethernet(登録商標)で接続されている。また、図4の例では、ゲートウェイ80と通信装置10の間もEthernet(登録商標)で接続されている。インタフェース11fは、UART(Universal Asynchronous Receiver Transmitter)やUSB(Universal Serial Bus)を介して接続された3Gモジュールなどであり、キャリア網90中の装置との間での無線通信に使用される。
(1)プライベートネットワークからのデータの受信
ユーザAが端末を携帯しながら移動したことにより、ユーザAの端末が通信装置61bの通信エリアに入ったとする。すると、ユーザAの端末は、通信装置61bに通知信号を送信する。通信装置61bは、通知信号を受信すると、ユーザAが通信装置61bの周辺にいることを通知するための通知パケットを生成し、通知パケットを通信装置61aに送信する。通知パケットのフォーマットやPAN60内での通信手順は、PANによる任意の既知の通信が適用され得る。通信装置61aは、通信装置61bの通信エリアにユーザAが位置することを通知するための通知パケットを通信装置10に送信する。このとき、通信装置61aと通信装置10のインタフェース11cの間の通信は、プライベートネットワークでの通信である。
インタフェース11cは、受信したパケットをソケット21cに出力する。ソケット21cは、管理部50で生成された管理情報を用いて、入力されたパケットを処理するデータ処理部30を特定する。
図5は、管理情報の例を示す図である。管理情報は、物理インタフェースの識別番号、ポート番号、アプリケーション識別情報を対応付けている。ここで、物理インタフェースはインタフェース11であり、管理情報中のポート番号は受信パケットの論理ポート番号である。以下、インタフェース11cにはIF1、インタフェース11dにはIF2、インタフェース11eにはIF3、インタフェース11fにはIF4の識別情報が割り当てられているとする。
各ソケット21は、パケットの受信に使用したインタフェース11と論理ポート番号の組み合わせを用いて、受信パケット中のデータを処理するアプリケーションを特定する。例えば、通信装置10がインタフェース11cを介して通信装置61aから受信したパケットの宛先ポート番号が80番であるとする。この場合、ソケット21cは、パケットの受信に使用した物理インタフェースの識別情報がIF1で宛先ポート番号が80であることから、受信パケット中のデータはアプリケーションa1で処理されると判定する。アプリケーションa1で処理されるパケットは、データ処理部30cで処理される。そこで、ソケット21cは、受信パケットをベース終端部31cに出力する。ベース終端部31cは、入力されたパケットを終端し、ペイロードの情報をアプリケーション処理部33cに出力する。アプリケーション処理部33cは、入力されたデータを処理する。
図6は、通信装置10でのパケットの受信処理の例を説明するフローチャートである。通信装置10は、インタフェース11でパケットを受信する(ステップS1)。ソケット21は、パケットを受信した物理インタフェースとパケット中の宛先ポート番号の組み合わせを取得する(ステップS2)。ソケット21は、組み合わせに対応するアプリケーションを特定し、特定したアプリケーションでの処理の際に使用するベース終端部31にパケットを出力する(ステップS3)。ベース終端部31は、パケットを処理し、ペイロードをアプリケーション処理部33に出力する(ステップS4)。
(2)通信装置10からのパケットの送信処理
図4を参照しながら説明したパケットの受信処理の例では、アプリケーション処理部33cは、通信装置61aから受信した通知パケット中のデータを処理することにより、ユーザAが通信装置61bの周辺に位置していることを特定する。アプリケーション処理部33cは、FAN70で制御されている街灯の位置を表す情報を予め記憶しており、PAN60中の装置から通知されたユーザの位置情報に応じて、点灯させる街灯の位置を特定する。アプリケーション処理部33cは、各街灯について、その街灯の制御に使用可能な通信装置71の情報も保持している。アプリケーション処理部33cは、これらの情報を用いて、ユーザAの位置の近傍の所定範囲に位置する街灯を点灯させるための制御情報を送信する対象の通信装置71を特定する。図4の例では、アプリケーション処理部33cは、ユーザAの近傍の街灯を点灯させるために、通信装置71bを通信先に選択したとする。すると、アプリケーション処理部33cは、通信装置71bに送信するデータを生成する。
アプリケーション処理部33cは、さらに、PAN60から位置情報が通知される可能性のあるユーザの情報と、位置情報を通知する他の装置の情報とを対応付けたテーブルや、位置情報の通知に使用される情報も保持しているとする。図4の例では、PAN60からユーザAの位置情報が通知されると、ユーザAの位置情報を、キャリア網90中でユーザBが使用するスマートフォン91(図示せず)に通知することが特定されたとする。アプリケーション処理部33cは、スマートフォン91に送信するデータを生成する。
図7は、入出力されるデータ中の情報要素の例を説明する図である。図7のD1は、通信装置10から送信される送信パケット中のペイロードであり、アプリケーション処理部33が他の装置に中継する対象としているデータである。図4を参照しながら説明した例では、アプリケーション処理部33cは、通信装置71b、スマートフォン91の各々に向けて送信するパケットのデータを各装置へのペイロードとして生成している。
中継対象のデータが得られると、アプリケーション処理部33cは、各データがいずれのアプリケーションで処理されるかを特定する。なお、アプリケーション処理部33cは、予め、通信先の装置に応じて、データの中継先となるアプリケーション処理部33を特定するための情報を保持している。例えば、各アプリケーション処理部33は、データの中継先がPAN60中の装置の場合はデータ処理部30c、データの中継先がFAN70の場合はデータ処理部30dが処理を行うことを認識している。同様に、各アプリケーション処理部33は、データの中継先がインターネット85中の装置の場合はデータ処理部30e、データの中継先がキャリア網90の場合はデータ処理部30fが処理を行うことも認識している。このような情報を用いて、アプリケーション処理部33cは、通信装置71b向けのペイロードをアプリケーション処理部33dに出力することを決定する。同様に、アプリケーション処理部33cは、スマートフォン91宛てのペイロードをアプリケーション処理部33fに出力することを決定する。
各アプリケーション処理部33は、通信装置10で動作しているアプリケーション処理部33で実行されているアプリケーションの識別情報を予め記憶しており、ペイロードと中継先のアプリケーションの識別情報を対応付けて、API32に出力する。なお、アプリケーション処理部33は、ペイロードと中継先のアプリケーションの識別情報の組み合わせに、さらに、宛先のアドレスなどの情報も対応付けてAPI32に出力する。
図7のD2は、アプリケーション処理部33がAPI32に出力するデータの例を図示している。例えば、アプリケーション処理部33cは、スマートフォン91宛てのペイロードをアプリケーション処理部33fに出力することを決定する。ここで、アプリケーション処理部33fで実行されているアプリケーションの識別情報がb2であるとする。すると、アプリケーション処理部33cは、スマートフォン91宛てのパケットのペイロードとアプリケーション識別情報=b2という情報を対応付けて、API32cに出力する。同様に、通信装置71b宛ての情報も処理される。例えば、アプリケーション処理部33bで実行されるアプリケーションの識別情報がa2であるとする。この場合、アプリケーション処理部33cは、通信装置71b宛てのパケットのペイロードとアプリケーション識別情報=a2という情報の組み合わせをAPI32cに出力する。API32cは、ペイロードとアプリケーション識別情報の組み合わせが入力されると、入力された情報を記憶部40に出力する。なお、通信装置61b宛てのデータやスマートフォン91宛てのデータには、データの宛先アドレスなどの情報も対応付けられている。
ベース終端部31c〜31fは、各々の処理対象のアプリケーションの識別情報に対応付けられたデータが記憶部40に格納されているかを、定期的に確認する。各ベース終端部31は、処理対象のアプリケーションの識別情報に対応付けられたデータが記憶部40に格納されている場合、そのデータを取得して、送信パケットを生成する。例えば、API32cの処理により、通信装置71b、スマートフォン91の各々に宛てたデータが、各データの処理に使用されるアプリケーションの識別子とともに記憶部40に記憶されている。すると、ベース終端部31dは、アプリケーション識別情報=a2に対応付けられたデータと、宛先アドレスなどの情報を取得する。ベース終端部31dは、取得したデータや宛先アドレスの情報を用いて、通信装置71b宛ての送信パケットを生成する。
図7のP11は、ベース終端部31dによって生成される送信パケットの例である。ベース終端部31dは、記憶部40から取得した情報から、アプリケーション識別情報を除去し、送信対象のデータ(ペイロード)に送信処理に使用されるヘッダを付加する。P11の例では、IPヘッダがペイロードに付加されている。IPヘッダには、バージョン情報、ヘッダ長、サービスタイプ、全データ長、パケット識別子、フラグ、フラグメントオフセット、生存時間、プロトコル、チェックサム、送信元IPアドレス、宛先IPアドレス、オプションが含まれる。通信装置71b宛てのパケットの送信元アドレスは、FAN70との通信に使用されるインタフェース11dに割り当てられたアドレスである。このため、通信装置71b宛てのパケットのアドレス情報は、以下の通りになる。
送信元IPアドレス:192.168.0.1(インタフェース11d)
宛先IPアドレス :192.168.0.3(通信装置71b)
ベース終端部31fも同様に記憶部40にアクセスすることにより、アプリケーション識別情報=b2に対応付けられたデータと、宛先アドレスなどの情報を取得する。ベース終端部31dは、取得したデータや宛先アドレスの情報を用いて、スマートフォン91宛ての送信パケットを生成する。スマートフォン91に割り当てられたアドレスが192.168.0.3であるとする。すると、スマートフォン91宛てのパケットのアドレス情報は以下の通りになる。
送信元IPアドレス:192.168.0.1(インタフェース11f)
宛先IPアドレス :192.168.0.3(スマートフォン91)
以上の説明では、アプリケーション処理部33が他のアプリケーションにデータを引き渡す場合の処理を説明したが、アプリケーション処理部33が生成したデータが他のアプリケーションに出力されないこともある。例えば、アプリケーション処理部33は、中継対象のデータが送信パケットと同じネットワークに宛てて中継される場合、中継対象のデータを他のアプリケーションに引き渡さずに処理することを決定する。この場合、アプリケーション処理部33は、中継対象のデータをベース終端部31に出力する。従って、ベース終端部31は、図7のD1に示すように、ペイロードとなる情報を取得する。アプリケーション処理部33からデータを取得したベース終端部31は、図7のP11と同様のフォーマットの送信パケットを生成する。
ベース終端部31は、送信パケットを生成すると、生成した送信パケットをベース終端部31と同じアプリケーションの処理を行うソケット21に出力する。例えば、ベース終端部31dは、通信装置71b宛てに生成した送信パケットを、ソケット21dに出力する。ソケット21dは、ルーティングテーブル25dを参照する。
図8は、ルーティングテーブル25の例を示す図である。図4に示すように各アプリケーションに応じて異なるルーティングテーブル25が生成されるシステムでは、図8のルーティングテーブル25c〜25fが生成されている。ルーティングテーブル25cはPAN60へのルーティングに使用されるテーブルであり、ルーティングテーブル25dはFAN70へのルーティングに使用されるテーブルである。同様に、ルーティングテーブル25eはゲートウェイ80を介してインターネット85に送信されるパケットの送信処理に使用され、ルーティングテーブル25fはキャリア網90への送信処理に使用される。各ルーティングテーブルには、転送先のネットワークのネットワークアドレスを特定する情報と転送先の情報が含まれている。図4に示すように、通信装置10に、ネットワークアドレスが同じ4つのネットワークが接続している場合、通信装置10は、ルーティングテーブル25c〜25fに示すように、同じネットワークアドレスを用いた転送情報を記録している。しかし、図8に示すように、個々のネットワークの転送情報には、そのネットワークで送受信されるパケットを処理するアプリケーションの識別情報が対応付けられている。このため、ソケット21は、同じプライベートアドレスを用いている複数のネットワークを、アプリケーション識別情報で区別することができる。
図8では、理解しやすくするために、宛先IPアドレスの欄にカッコ書きで、アプリケーション識別情報を用いて特定される宛先のプライベートネットワークを示す。また、インタフェースやゲートウェイについても同様に、アプリケーション識別情報を用いて特定される装置に割り振られた符号を、カッコ書きで示す。以下、アプリケーション識別子を用いた各ルーティングテーブル25の解釈の具体例を説明する。
例えば、ルーティングテーブル25dは、FAN70で送受信されるパケットの処理に使用されるアプリケーション(アプリケーション識別情報=a2)に対応付けられた経路情報を含む。ルーティングテーブル25dは、宛先IPアドレスとネットマスクを用いて、ネットワークアドレスが192.168.0.0のネットワークへの経路の情報を示している。アプリケーション識別情報=a2で識別されるアプリケーションでパケットが処理され、ネットワークアドレスが192.168.0.0であるネットワークは、FAN70である。このため、ルーティングテーブル25dは、FAN70への転送経路を示している。ルーティングテーブル25dにおいて、ネットワークアドレス=192.168.0.0のネットワークに送信する際のインタフェースのアドレスは192.168.0.1であり、ゲートウェイのアドレスは192.168.0.2である。ここで、ルーティングテーブル25d中の情報は、アプリケーション識別情報=a2に対応付けられていることから、FAN70との通信の際の情報である。このため、ルーティングテーブル25d中のインタフェース(192.168.0.1)はインタフェース11dを指し、ルーティングテーブル25d中のゲートウェイ(192.168.0.2)は、通信装置71aを意味する。
同様に、ルーティングテーブル25fは、キャリア網90の情報を処理するアプリケーション(アプリケーション識別情報=b2)に対応付けられているので、宛先IPアドレスの192.168.0.0はキャリア網90を示す。また、ルーティングテーブル25fでは、インタフェース(192.168.0.1)はインタフェース11fを指し、ゲートウェイ(192.168.0.2)は、キャリア網90中のゲートウェイ装置(図示せず)を意味する。
ルーティングテーブル25eは、インターネット85宛ての情報を処理するアプリケーション(アプリケーション識別情報=b1)に対応付けられているので、宛先IPアドレスの192.168.0.0はゲートウェイ80を含むネットワークを示す。また、ルーティングテーブル25eでは、インタフェース(192.168.0.1)はインタフェース11eを指し、ゲートウェイ(192.168.0.2)は、ゲートウェイ80を意味する。
ルーティングテーブル25cは、PAN60宛ての情報を処理するアプリケーション(アプリケーション識別情報=a1)に対応付けられているので、宛先IPアドレスの192.168.0.0はPAN60を示す。また、ルーティングテーブル25cでは、インタフェース(192.168.0.1)はインタフェース11cを指し、ゲートウェイ(192.168.0.2)は、通信装置61aを意味する。
通信装置71b宛ての送信パケットを処理するソケット21dは、ソケット21dが処理するパケットを、アプリケーション識別情報=a2で識別されるアプリケーションが処理することを予め認識しているので、ルーティングテーブル25dを参照する。なお、ソケット21dには、予め、ソケット21dからの送信パケットの出力先はインタフェース11dであることが記憶されていてもよい。ソケット21dは、ルーティングテーブル25dを参照することにより、送信パケットをインタフェース11dに出力する。なお、送信パケットの転送先とアドレスの情報は以下のようになる。
送信元IPアドレス:192.168.0.1(インタフェース11d)
宛先IPアドレス :192.168.0.3(通信装置71b)
転送先 :192.168.0.2(通信装置71a)
通信装置10からパケットを受信した通信装置71aは、パケットを通信装置71bに転送する。ここで、通信装置71b宛てのパケットは、通信装置71bが管理する街灯の点灯を要求する制御パケットである。このため、通信装置71bは、受信パケットを処理することにより、通信装置71bが管理する街灯を点灯する。従って、ユーザAの位置の周辺の街灯が点灯される。
次に、スマートフォン91宛てのパケットの転送処理について説明する。スマートフォン91宛ての送信パケットを処理するソケット21fは、ソケット21fが処理するパケットを、アプリケーション識別情報=b2で識別されるアプリケーションが処理することを予め認識しているので、ルーティングテーブル25fを参照する。ソケット21fは、ルーティングテーブル25fを参照することにより、送信パケットをインタフェース11fに出力する。なお、送信パケットの転送先とアドレスの情報は以下のようになる。
送信元IPアドレス:192.168.0.1(インタフェース11f)
宛先IPアドレス :192.168.0.3(スマートフォン91)
転送先:192.168.0.2(キャリア網90中のゲートウェイ)
通信装置10からパケットを受信したキャリア網90中のゲートウェイは、パケットをスマートフォン91に転送する。ここで、スマートフォン91宛てのパケットは、ユーザAの位置情報を通知する情報である。スマートフォン91は、受信したパケット中の情報を適宜、画面に表示するなどの処理を行うことにより、スマートフォン91を使用しているユーザBに、ユーザAの位置を通知する。
以上の説明では、アプリケーション処理部33がデータをAPI32に引き渡す場合を例として説明したが、実装によっては、ベース終端部31がデータをAPI32に出力してもよい。この場合、送信データは、いずれのネットワーク宛ての場合も、アプリケーションの識別情報との組み合わせとして、ベース終端部31に出力される。図9では、一例として、送信データがベース終端部31で振り分けられる場合の処理の例を図示する。
図9は、通信装置10でのパケットの送信処理の例を説明するフローチャートである。ベース終端部31は、送信対象のデータに対応付けられたアプリケーションの識別情報が、処理対象のネットワークに対応付けられたアプリケーションの識別情報であるかを判定する(ステップS11)。データに対応付けられた識別情報がベース終端部31自身の処理対象のネットワークに対応付けられたアプリケーションの識別情報ではない場合、ベース終端部31はAPI32にデータと識別情報を出力する(ステップS11でNo)。API32は、入力されたデータを、複数のネットワークへの転送データを記憶する領域(記憶部40)に、アプリケーションの識別情報に対応付けて記憶する(ステップS12)。アプリケーションの識別情報に対応付けられたベース終端部31は、記憶部40から送信対象のデータを取得する(ステップS13)。ベース終端部31は、アプリケーションの識別情報に対応付けられたネットワーク用のパケットを生成し、ソケット21に出力する(ステップS14)。ソケット21は、アプリケーションの識別情報に対応付けられたルーティングテーブル25に従って送信処理を行う(ステップS15)。
一方、データに対応付けられた識別情報がベース終端部31自身の処理対象のネットワークに対応付けられたアプリケーションの識別情報である場合、ステップS14以降の処理が行われる(ステップS11でYes)。
このように、プライベートアドレスが同じ複数のプライベートネットワークが通信装置10に接続されると、通信装置10は、各々のネットワーク中のパケットを処理するアプリケーションの情報と経路情報の組み合わせから、経路を決定する。このため、NAPTによってもデータを中継することが困難であったプライベートネットワーク間の装置の間のテータ中継が、通信装置10を用いることにより簡単に行われる。
さらに、通信装置10では、アプリケーション処理部33での処理の内容は、通信装置10に読み込ませるプログラムに応じて任意に変更され得る。以上の例では、アプリケーション処理部33cは、受信したデータを用いた処理を行って、受信パケットのペイロード中のデータとは異なるデータを生成しているが、アプリケーション処理部33ではデータの処理が行われなくてもよい。この場合、アプリケーション処理部33は、受信データを他のネットワークの処理に使用されているアプリケーション宛ての送信データとして扱うことにより、データを他のアプリケーションに引き渡す。すると、プライベートネットワーク間でのデータの転送処理が行われることになる。
なお、通信装置10のベンダは、通信装置10を用いたネットワークのサービスを提供するオペレータがアプリケーション処理部33での処理を自由に設計できるように、設計することもできる。この場合、オペレータは、ユーザに提供しようとするサービスに応じたプログラムを通信装置10に読み込ませることにより、所望のサービスを提供するアプリケーション処理部33を通信装置10中のプロセッサ101により実現できる。
<その他>
なお、実施形態は上記に限られるものではなく、様々に変形可能である。以下にその例をいくつか述べる。
図5の例では、物理インタフェースの各々に対して1つのアプリケーションが登録されている場合を図示しているが、各物理インタフェースに複数のアプリケーションが対応付けられても良い。この場合、図8に示す各ネットワークのルーティングテーブル25には、そのネットワークで送受信されるパケットの処理を行う可能性のある全てのアプリケーションの識別情報に対応付けられる。例えば、PAN60において送受信されるパケットが、アプリケーション識別情報=a1のアプリケーションの他に、アプリケーション識別情報=a5のアプリケーションにも処理されるとする。この場合、図8のルーティングテーブル25cのアプリケーション識別情報の欄には、a1とa5が対応付けられる。
図4で示したネットワークの例は一例であり、通信装置10に接続される一部のネットワークではネットワークアドレスが異なっていてもよい。また、図5の管理情報や図8に示したルーティングテーブル25などのテーブル中に含まれる情報要素は、実装に応じて変更され得る。
図2や図4を参照した説明では、アプリケーションの識別子ごとに異なる複数のルーティングテーブル25が使用される場合を例としたが通信装置10が保持するルーティングテーブル25は1つであっても良い。通信装置10が1つのルーティングテーブル25を保持する場合、送信処理部22は、ルーティングテーブル25のうち、送信対象のパケットを処理するアプリケーションの識別情報に対応付けられている情報を検索対象とする。
なお、以上の説明では、通信装置10は、プライベートネットワーク間のデータの中継処理を行う場合について説明したが、通信装置10は、通信装置10で生成したデータをプライベートネットワーク中の装置に送信しても良い。
上述の実施形態に関し、さらに以下の付記を開示する。
(付記1)
複数のネットワークのいずれかからパケットを受信する受信部と、
前記パケットを処理するとともに、前記パケットを用いて取得したデータの中継先のネットワークで送受信されるパケットの処理に使用するアプリケーションである使用アプリケーションを特定するデータ処理部と、
前記複数のネットワークの各々について、前記ネットワークで使用される転送経路と、前記ネットワークで送受信されるパケットを処理するアプリケーションの識別情報を対応付けたルーティングテーブルと、
前記データを含む送信パケットを生成すると共に、前記ルーティングテーブル中で前記使用アプリケーションを識別する識別情報に対応付けられている転送経路を用いて、前記送信パケットを送信する送信部と、
を備えることを特徴とする通信装置。
(付記2)
前記複数のネットワークのいずれかに接続された複数のインタフェースを備え、
前記複数のインタフェースの各々は、前記インタフェースを介して接続されるネットワークで送受信されるパケットを処理するアプリケーションの識別情報と対応付けられ、
前記送信部は、前記送信パケットに含まれるデータに対する前記使用アプリケーションの識別情報に対応付けられたインタフェースから、前記送信パケットを送信する
ことを特徴とする付記1に記載の通信装置。
(付記3)
前記複数のネットワークは、第1のプライベートネットワークと、前記第1のプライベートネットワークと同じネットワークアドレスが割り当てられた第2のプライベートネットワークを含み、
前記ルーティングテーブルは、第1のアプリケーションを識別する第1の識別情報に前記第1のプライベートネットワークを対応付けるとともに、第2のアプリケーションを識別する第2の識別情報に前記第2のプライベートネットワークを対応付け、
前記送信部は、前記ルーティングテーブルを参照することにより、前記第1の識別情報に対応付けられたデータを、前記第1のプライベートネットワークに送信し、前記第2の識別情報に対応付けられたデータを、前記第2のプライベートネットワークに送信する
ことを特徴とする付記1または2に記載の通信装置。
(付記4)
複数のネットワークに接続された通信装置が、
前記複数のネットワークのいずれかからパケットを受信し、
前記パケットを処理し、
前記パケットを用いて取得したデータの中継先のネットワークで送受信されるパケットの処理に使用するアプリケーションである使用アプリケーションを特定し、
前記データを含む送信パケットを生成し、
前記複数のネットワークの各々について、前記ネットワークで使用される転送経路と、前記ネットワークで送受信されるパケットを処理するアプリケーションの識別情報を対応付けたルーティングテーブル中で、前記使用アプリケーションを識別する識別情報に対応付けられている転送経路を用いて、前記送信パケットを送信する
処理を行うことを特徴とする通信方法。
(付記5)
前記複数のネットワークのいずれかに接続された複数のインタフェースの各々は、前記インタフェースを介して接続されるネットワークで送受信されるパケットを処理するアプリケーションの識別情報と対応付けられ、
前記送信パケットに含まれるデータに対する前記使用アプリケーションの識別情報に対応付けられたインタフェースから、前記送信パケットを送信する
処理を前記通信装置が行うことを特徴とする付記4に記載の通信方法。
(付記6)
前記複数のネットワークは、第1のプライベートネットワークと、前記第1のプライベートネットワークと同じネットワークアドレスが割り当てられた第2のプライベートネットワークを含み、
前記ルーティングテーブルは、第1のアプリケーションを識別する第1の識別情報に前記第1のプライベートネットワークを対応付けるとともに、第2のアプリケーションを識別する第2の識別情報に前記第2のプライベートネットワークを対応付け、
前記ルーティングテーブルを参照することにより、前記第1の識別情報に対応付けられたデータを、前記第1のプライベートネットワークに送信し、前記第2の識別情報に対応付けられたデータを、前記第2のプライベートネットワークに送信する
処理を前記通信装置が行うことを特徴とする付記4または5に記載の通信方法。
(付記7)
複数のネットワークに接続された通信装置に、
前記複数のネットワークのいずれかからパケットを受信し、
前記パケットを処理し、
前記パケットを用いて取得したデータの中継先のネットワークで送受信されるパケットの処理に使用するアプリケーションである使用アプリケーションを特定し、
前記データを含む送信パケットを生成し、
前記複数のネットワークの各々について、前記ネットワークで使用される転送経路と、前記ネットワークで送受信されるパケットを処理するアプリケーションの識別情報を対応付けたルーティングテーブル中で、前記使用アプリケーションを識別する識別情報に対応付けられている転送経路を用いて、前記送信パケットを送信する
処理を行わせることを特徴とする通信プログラム。
(付記8)
前記複数のネットワークのいずれかに接続された複数のインタフェースの各々は、前記インタフェースを介して接続されるネットワークで送受信されるパケットを処理するアプリケーションの識別情報と対応付けられ、
前記送信パケットに含まれるデータに対する前記使用アプリケーションの識別情報に対応付けられたインタフェースから、前記送信パケットを送信する
処理を前記通信装置に行わせることを特徴とする付記7に記載の通信プログラム。
(付記9)
前記複数のネットワークは、第1のプライベートネットワークと、前記第1のプライベートネットワークと同じネットワークアドレスが割り当てられた第2のプライベートネットワークを含み、
前記ルーティングテーブルは、第1のアプリケーションを識別する第1の識別情報に前記第1のプライベートネットワークを対応付けるとともに、第2のアプリケーションを識別する第2の識別情報に前記第2のプライベートネットワークを対応付け、
前記ルーティングテーブルを参照することにより、前記第1の識別情報に対応付けられたデータを、前記第1のプライベートネットワークに送信し、前記第2の識別情報に対応付けられたデータを、前記第2のプライベートネットワークに送信する
処理を前記通信装置に行わせることを特徴とする付記7または8に記載の通信プログラム。
5、61、71 通信装置
10 通信装置
11 インタフェース
12 通信部
20 通信処理部
21 ソケット
22 送信処理部
23 受信処理部
25 ルーティングテーブル
30 データ処理部
31 ベース終端部
32 API
33 アプリケーション処理部
40 記憶部
50 管理部
80 ゲートウェイ
85 インターネット
90 キャリア網
101 プロセッサ
102 メモリ
103 バス
104 ネットワーク接続装置

Claims (5)

  1. 複数のネットワークのいずれかからパケットを受信する受信部と、
    前記パケットを処理するとともに、前記パケットを用いて取得したデータの中継先のネットワークで送受信されるパケットの処理に使用するアプリケーションである使用アプリケーションを特定するデータ処理部と、
    前記複数のネットワークの各々について、前記ネットワークで使用される転送経路と、前記ネットワークで送受信されるパケットを処理するアプリケーションの識別情報を対応付けたルーティングテーブルと、
    前記データを含む送信パケットを生成すると共に、前記ルーティングテーブル中で前記使用アプリケーションを識別する識別情報に対応付けられている転送経路を用いて、前記送信パケットを送信する送信部と、
    を備えることを特徴とする通信装置。
  2. 前記複数のネットワークのいずれかに接続された複数のインタフェースを備え、
    前記複数のインタフェースの各々は、前記インタフェースを介して接続されるネットワークで送受信されるパケットを処理するアプリケーションの識別情報と対応付けられ、
    前記送信部は、前記送信パケットに含まれるデータに対する前記使用アプリケーションの識別情報に対応付けられたインタフェースから、前記送信パケットを送信する
    ことを特徴とする請求項1に記載の通信装置。
  3. 前記複数のネットワークは、第1のプライベートネットワークと、前記第1のプライベートネットワークと同じネットワークアドレスが割り当てられた第2のプライベートネットワークを含み、
    前記ルーティングテーブルは、第1のアプリケーションを識別する第1の識別情報に前記第1のプライベートネットワークを対応付けるとともに、第2のアプリケーションを識別する第2の識別情報に前記第2のプライベートネットワークを対応付け、
    前記送信部は、前記ルーティングテーブルを参照することにより、前記第1の識別情報に対応付けられたデータを、前記第1のプライベートネットワークに送信し、前記第2の識別情報に対応付けられたデータを、前記第2のプライベートネットワークに送信する
    ことを特徴とする請求項1または2に記載の通信装置。
  4. 複数のネットワークに接続された通信装置が、
    前記複数のネットワークのいずれかからパケットを受信し、
    前記パケットを処理し、
    前記パケットを用いて取得したデータの中継先のネットワークで送受信されるパケットの処理に使用するアプリケーションである使用アプリケーションを特定し、
    前記データを含む送信パケットを生成し、
    前記複数のネットワークの各々について、前記ネットワークで使用される転送経路と、前記ネットワークで送受信されるパケットを処理するアプリケーションの識別情報を対応付けたルーティングテーブル中で、前記使用アプリケーションを識別する識別情報に対応付けられている転送経路を用いて、前記送信パケットを送信する
    処理を行うことを特徴とする通信方法。
  5. 複数のネットワークに接続された通信装置に、
    前記複数のネットワークのいずれかからパケットを受信し、
    前記パケットを処理し、
    前記パケットを用いて取得したデータの中継先のネットワークで送受信されるパケットの処理に使用するアプリケーションである使用アプリケーションを特定し、
    前記データを含む送信パケットを生成し、
    前記複数のネットワークの各々について、前記ネットワークで使用される転送経路と、前記ネットワークで送受信されるパケットを処理するアプリケーションの識別情報を対応付けたルーティングテーブル中で、前記使用アプリケーションを識別する識別情報に対応付けられている転送経路を用いて、前記送信パケットを送信する
    処理を行わせることを特徴とする通信プログラム。
JP2015131241A 2015-06-30 2015-06-30 通信装置、通信方法、および、通信プログラム Active JP6540283B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2015131241A JP6540283B2 (ja) 2015-06-30 2015-06-30 通信装置、通信方法、および、通信プログラム
EP16171674.1A EP3113421B1 (en) 2015-06-30 2016-05-27 Application based routing device, method, and program
US15/171,574 US20170005930A1 (en) 2015-06-30 2016-06-02 Communication device and communication method
CN201610437647.XA CN106330717A (zh) 2015-06-30 2016-06-17 通信装置、通信方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015131241A JP6540283B2 (ja) 2015-06-30 2015-06-30 通信装置、通信方法、および、通信プログラム

Publications (2)

Publication Number Publication Date
JP2017017477A true JP2017017477A (ja) 2017-01-19
JP6540283B2 JP6540283B2 (ja) 2019-07-10

Family

ID=56087161

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015131241A Active JP6540283B2 (ja) 2015-06-30 2015-06-30 通信装置、通信方法、および、通信プログラム

Country Status (4)

Country Link
US (1) US20170005930A1 (ja)
EP (1) EP3113421B1 (ja)
JP (1) JP6540283B2 (ja)
CN (1) CN106330717A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018143181A1 (ja) 2017-02-02 2018-08-09 株式会社フジクラ 光検出器および光検出器の製造方法
JP2022518475A (ja) * 2019-03-11 2022-03-15 華為技術有限公司 パケット処理方法および装置、デバイス、ならびにシステム

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109275151B (zh) * 2017-07-17 2020-12-08 华为技术有限公司 一种通信方法、设备和系统
CN108418758B (zh) * 2018-01-05 2021-01-29 网宿科技股份有限公司 一种单包识别方法及流量引导方法
US11838977B2 (en) * 2020-06-19 2023-12-05 Asustek Computer Inc. Method and apparatus for performing link identifier update procedure in a wireless communication system
CN112333788B (zh) * 2020-11-13 2022-10-11 武汉虹旭信息技术有限责任公司 N2接口切换场景下的会话管理方法及装置
CN115022225B (zh) * 2022-05-31 2023-11-10 东风电驱动系统有限公司 报文转发方法、装置、设备及可读存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006147183A (ja) * 2004-11-16 2006-06-08 Mitsubishi Electric Building Techno Service Co Ltd 照明制御システム
JP2011198117A (ja) * 2010-03-19 2011-10-06 Fujitsu Ltd サーバ装置、ネットワークアクセス方法およびコンピュータプログラム
JP2012003937A (ja) * 2010-06-16 2012-01-05 Chugoku Electric Power Co Inc:The 街灯制御システム
WO2012157112A1 (ja) * 2011-05-19 2012-11-22 富士通株式会社 ゲートウェイ装置、ゲートウェイ装置の通信方法、ノード装置、ノード装置の通信方法、及び通信システム
WO2013146885A1 (ja) * 2012-03-28 2013-10-03 日本電気株式会社 通信システム、上位レイヤスイッチ、制御装置、スイッチ制御方法及びプログラム
US20150055657A1 (en) * 2008-12-24 2015-02-26 Palo Alto Networks, Inc. Application based packet forwarding
WO2015025235A1 (en) * 2013-08-23 2015-02-26 Koninklijke Philips N.V. Control of a lighting system

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030041238A1 (en) * 2001-08-15 2003-02-27 International Business Machines Corporation Method and system for managing resources using geographic location information within a network management framework
US7031327B2 (en) * 2001-08-24 2006-04-18 Permeo Technologies, Inc. Network application association
JP3965160B2 (ja) * 2003-01-21 2007-08-29 三星電子株式会社 相異なる私設網に位置したネットワーク装置間の通信を支援するネットワーク接続装置
US7949785B2 (en) * 2003-03-31 2011-05-24 Inpro Network Facility, Llc Secure virtual community network system
US7769004B2 (en) * 2003-09-26 2010-08-03 Surgient, Inc. Network abstraction and isolation layer for masquerading machine identity of a computer
US20060198374A1 (en) * 2005-03-07 2006-09-07 Sbc Knowledge Ventures, L.P. Special format computer network address for use with a computer network
US7894432B2 (en) * 2005-04-09 2011-02-22 Audiocodes, Inc. Apparatus and method creating virtual routing domains in an internet protocol network
US8526463B2 (en) * 2005-06-01 2013-09-03 Qualcomm Incorporated System and method to support data applications in a multi-homing, multi-mode communication device
GB0513316D0 (en) * 2005-06-29 2005-08-03 Symbian Software Ltd Scoping of IPV4 addresses
US7609701B2 (en) * 2006-02-22 2009-10-27 Zheng Yang Communication using private IP addresses of local networks
US8843657B2 (en) * 2006-04-21 2014-09-23 Cisco Technology, Inc. Using multiple tunnels by in-site nodes for securely accessing a wide area network from within a multihomed site
US8149840B2 (en) * 2008-06-02 2012-04-03 Huawei Technologies Co., Ltd. Method, system and processor for processing network address translation service
CN103532818B (zh) * 2013-10-24 2017-02-15 福建师范大学 一种vpn链路可达性的快速测试方法
CN103533103A (zh) * 2013-10-31 2014-01-22 成都西加云杉科技有限公司 基于网络地址转换的通信方法和装置
RU2658181C2 (ru) * 2014-03-31 2018-06-19 Телефонактиеболагет Лм Эрикссон (Пабл) Обработка потоков трафика в коммуникационной системе
US10244003B2 (en) * 2014-09-25 2019-03-26 Microsoft Technology Licensing, Llc Media session between network endpoints

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006147183A (ja) * 2004-11-16 2006-06-08 Mitsubishi Electric Building Techno Service Co Ltd 照明制御システム
US20150055657A1 (en) * 2008-12-24 2015-02-26 Palo Alto Networks, Inc. Application based packet forwarding
JP2011198117A (ja) * 2010-03-19 2011-10-06 Fujitsu Ltd サーバ装置、ネットワークアクセス方法およびコンピュータプログラム
JP2012003937A (ja) * 2010-06-16 2012-01-05 Chugoku Electric Power Co Inc:The 街灯制御システム
WO2012157112A1 (ja) * 2011-05-19 2012-11-22 富士通株式会社 ゲートウェイ装置、ゲートウェイ装置の通信方法、ノード装置、ノード装置の通信方法、及び通信システム
WO2013146885A1 (ja) * 2012-03-28 2013-10-03 日本電気株式会社 通信システム、上位レイヤスイッチ、制御装置、スイッチ制御方法及びプログラム
WO2015025235A1 (en) * 2013-08-23 2015-02-26 Koninklijke Philips N.V. Control of a lighting system

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018143181A1 (ja) 2017-02-02 2018-08-09 株式会社フジクラ 光検出器および光検出器の製造方法
JP2022518475A (ja) * 2019-03-11 2022-03-15 華為技術有限公司 パケット処理方法および装置、デバイス、ならびにシステム
JP7234384B2 (ja) 2019-03-11 2023-03-07 華為技術有限公司 パケット処理方法および装置、デバイス、ならびにシステム

Also Published As

Publication number Publication date
EP3113421B1 (en) 2018-09-05
CN106330717A (zh) 2017-01-11
US20170005930A1 (en) 2017-01-05
EP3113421A1 (en) 2017-01-04
JP6540283B2 (ja) 2019-07-10

Similar Documents

Publication Publication Date Title
JP6540283B2 (ja) 通信装置、通信方法、および、通信プログラム
RU2009141603A (ru) Механизм обнаружения сервера
CN106507414B (zh) 报文转发方法及装置
WO2017163645A1 (ja) 通信制御装置、無線機、通信制御システム、通信制御方法及びプログラム
JP2016086219A (ja) 中継装置、中継システム、中継方法、及び、プログラム
CN107770087A (zh) 物联网基于连接数量的路由器切换方法及装置
CN109076022B (zh) 网络地址转换装置、设置请求装置、通信系统、通信方法和存储程序的存储介质
US9521586B2 (en) Mobile communication system, communication system, node, flow-control network, and communication-control method
JP4844159B2 (ja) 無線装置、ネットワーク及び通信方法
US9866524B2 (en) Home gateway apparatus and packet transfer method
EP3176985A1 (en) Control device and control method
CN106878182B (zh) 一种数据传输方法及设备
CN109041022B (zh) 一种网络管理方法、蓝牙模块、介质及计算机
CN102821055A (zh) 板间通信的方法
US8923311B2 (en) Communication system and method
JP6904846B2 (ja) 通信装置、通信装置の制御方法、および、プログラム
JP6253813B2 (ja) 国識別情報付加装置及び国識別情報付加方法及びプログラム
JP6256471B2 (ja) 通信装置、通信方法、及びプログラム
JP7176237B2 (ja) 情報伝送方法、装置及び電子機器
CN114157601B (zh) 一种报文传输方法、装置及存储介质
KR101469244B1 (ko) 수신된 데이터에서의 불필요한 패킷 제거 장치 및 방법
US20170265067A1 (en) Communication terminal device and transmission and reception method therefor, and recording medium containing computer program
JP6976199B2 (ja) 情報処理サーバおよび情報処理方法
JP4810445B2 (ja) 移動端末およびパケット送信処理方法
WO2015052870A1 (ja) 端末装置、端末装置制御方法、および端末装置制御プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180306

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190111

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190122

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190320

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190527

R150 Certificate of patent or registration of utility model

Ref document number: 6540283

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150