JP2012129897A - Communication device - Google Patents

Communication device Download PDF

Info

Publication number
JP2012129897A
JP2012129897A JP2010281143A JP2010281143A JP2012129897A JP 2012129897 A JP2012129897 A JP 2012129897A JP 2010281143 A JP2010281143 A JP 2010281143A JP 2010281143 A JP2010281143 A JP 2010281143A JP 2012129897 A JP2012129897 A JP 2012129897A
Authority
JP
Japan
Prior art keywords
communication
packet
unit
communication device
execution unit
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.)
Pending
Application number
JP2010281143A
Other languages
Japanese (ja)
Inventor
Yoichi Nakamoto
与一 中本
Tomokazu Ebata
智一 江端
Minoru Koizumi
稔 小泉
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2010281143A priority Critical patent/JP2012129897A/en
Publication of JP2012129897A publication Critical patent/JP2012129897A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Small-Scale Networks (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

PROBLEM TO BE SOLVED: To implement migration from old communication middleware to new communication middleware easily and at low cost.SOLUTION: A communication device comprises: a first packet creation part creating a first packet by encapsulating data by using a destination address designating another communication device; a processing part executing predetermined processing by using the first packet; a second packet creation part creating a second packet by encapsulating again the first packet by using the destination address; and a transmission part transmitting the second packet to the other communication device.

Description

通信装置が備える通信ミドルウェアに関する。   The present invention relates to communication middleware provided in a communication device.

鉄道の運行管理システムや金融システムは、そのシステムの立ち上げ当初は小規模であっても、システム拡張や他システムとの統合等により、大規模化かつ複雑化していくことが多い。そして、システムを構成する装置の高性能化や技術の進歩に合わせてシステムを更新する(以降、「新システムに移行する」または「システム移行する」とも表現する)場合には、それらのシステム規模が大きくなるに従って修正箇所が多岐にわたるため、開発コストが膨大となる。   Railway operation management systems and financial systems are often large and complicated due to system expansion and integration with other systems, even if the system is small at the beginning. And if the system is updated as the performance of the devices that make up the system increases and the technology advances (hereinafter also referred to as “migrating to a new system” or “system migrating”), the scale of those systems The development cost becomes enormous because the number of corrections is diversified as the value increases.

ここで、システム移行(特に、通信ミドルウェアの変更)における一般的な問題について、図19を用いて説明する。   Here, a general problem in system migration (in particular, change of communication middleware) will be described with reference to FIG.

図19は、旧システムの通信装置1901から、新システムの通信装置1906にシステム移行を行うケースを示している。旧システムの通信装置1901に示すような構成は、一般的なものである。すなわち、様々なサービスを提供する通信アプリケーション1902が、システム固有の通信基盤である旧通信ミドルウェア1903上で動作する。そして、通信アプリケーション1902が動作してデータを通信相手に送信する際には、その下位の階層に位置する旧通信ミドルウェア1903およびプロトコルスタック1904(TCP(Transmission Control Protocol)、IP(Internet Protocol)等のプロトコル群)を用いて、通信I/F(Interface)1905を介して、ネットワークにパケットを送出する。
ここで、旧システムから新システムへシステム移行し、通信ミドルウェアを旧通信ミドルウェア1903から新通信ミドルウェア1907に切り替える場合を考えてみる。
FIG. 19 shows a case where system transition is performed from the communication device 1901 of the old system to the communication device 1906 of the new system. The configuration shown in the communication device 1901 of the old system is a general one. That is, a communication application 1902 that provides various services operates on the old communication middleware 1903 that is a communication infrastructure unique to the system. When the communication application 1902 operates to transmit data to a communication partner, the old communication middleware 1903 and protocol stack 1904 (TCP (Transmission Control Protocol), IP (Internet Protocol), etc.) located in the lower hierarchy are used. A packet is transmitted to a network via a communication interface (I / F) 1905 using a protocol group.
Here, consider a case where the system is shifted from the old system to the new system, and the communication middleware is switched from the old communication middleware 1903 to the new communication middleware 1907.

システム規模が小さい間は、通信ミドルウェアを変更するとともに通信アプリケーション1902を新しいものに切り替えることが一般的である。しかし、システム規模が大きい場合、通信アプリケーション1902の開発コストが膨大なものとなってしまう。そのため、開発コストを抑えるために、旧システムの通信アプリケーション1902を新システムの通信装置1906でも流用することが望まれる。   While the system scale is small, it is common to change the communication middleware and switch the communication application 1902 to a new one. However, when the system scale is large, the development cost of the communication application 1902 becomes enormous. For this reason, in order to reduce development costs, it is desirable to use the communication application 1902 of the old system in the communication apparatus 1906 of the new system.

前記したように、旧システムの通信アプリケーション1902は、旧通信ミドルウェア1903上で動作することを前提に開発されている。そこで、システム移行した場合には、図19の下段に示すように、通信アプリケーション1902を新システムの新通信ミドルウェア1908上で動作させるために、旧通信ミドルウェア1903と新通信ミドルウェア1908との差異を補う新旧ミドル変換部1908を設ける必要がある。   As described above, the communication application 1902 of the old system is developed on the assumption that it operates on the old communication middleware 1903. Therefore, when the system is migrated, the difference between the old communication middleware 1903 and the new communication middleware 1908 is compensated in order to run the communication application 1902 on the new communication middleware 1908 of the new system as shown in the lower part of FIG. It is necessary to provide an old and new middle conversion unit 1908.

大規模システムにおいては、通信アプリケーション1902をすべて作り替えるよりは、新旧ミドル変換部1908を新規に開発する方が開発コストは少なくてすむ。しかしながら、それでも、新旧ミドル変換部1908の開発コストは、依然として大きい。例えば、新旧ミドル変換部1908は、少なくとも、(1)通信アプリケーション1902とのI/F(Interface)部分、(2)新通信ミドルウェア1908とのI/F部分、(3)旧通信ミドルウェア1903および新通信ミドルウェア1908それぞれの内部の挙動(タイムアウトの条件等)を模擬する部分、についての機能を必要とする。特に、前記(3)の開発を行うためには、旧通信ミドルウェア1903および新通信ミドルウェア1908の内部の動作を詳細まで熟知している必要があるため、多大な時間を費やすことになるので、通信アプリケーション1902のプログラムの再利用性の観点から効率が悪い。   In a large-scale system, the development cost of the new and old middle conversion unit 1908 is lower than the case where the entire communication application 1902 is recreated. However, the development cost of the old and new middle conversion unit 1908 is still high. For example, the old and new middle conversion unit 1908 includes at least (1) an I / F (Interface) portion with the communication application 1902, (2) an I / F portion with the new communication middleware 1908, (3) the old communication middleware 1903 and the new A function is required for the part that simulates the internal behavior (timeout conditions, etc.) of each communication middleware 1908. In particular, in order to carry out the development of (3), it is necessary to be familiar with the internal operations of the old communication middleware 1903 and the new communication middleware 1908 in detail. Inefficient from the viewpoint of reusability of the program of the application 1902.

前記問題を解決するために、例えば、特許文献1では、旧システムの通信装置とネットワークとの間に、旧システムの通信装置から送信されるパケットをカプセル化するカプセル化装置(トンネリング装置)を設ける。そして、カプセル化装置は、カプセル化した各パケットを、新システムの新通信ミドルウェア経由でネットワークに送信する。また、カプセル化装置は、ネットワークから受信したカプセル化されたパケットをデカプセル化して、旧システムのパケットを抽出し、旧システムの通信装置に送信する。   In order to solve the above problem, for example, in Patent Document 1, an encapsulation device (tunneling device) that encapsulates a packet transmitted from the communication device of the old system is provided between the communication device of the old system and the network. . Then, the encapsulating apparatus transmits each encapsulated packet to the network via the new communication middleware of the new system. Further, the encapsulating device decapsulates the encapsulated packet received from the network, extracts the packet of the old system, and transmits it to the communication device of the old system.

また、例えば、非特許文献1では、仮想Ethernet I/F(Ethernetは登録商標)を通信装置自身に備え、通信装置単体で旧システムのパケットをカプセル化する技術が公開されている。具体的には、その通信装置は、仮想Ethernet I/Fに新たなIPアドレスを割り当てて、すべての通信が仮想Ethernet I/Fを経由するようにルーティングテーブル等の設定を行う。そして、通信装置は、旧システムのパケット(Ethernetフレーム)を仮想Ethernet I/Fを介してカプセル化して新通信ミドルウェアに渡すことで、新システムのパケットを送信することができるようになる。   Further, for example, Non-Patent Document 1 discloses a technology in which a virtual Ethernet I / F (Ethernet is a registered trademark) is provided in a communication device itself, and a packet of an old system is encapsulated by the communication device alone. Specifically, the communication device assigns a new IP address to the virtual Ethernet I / F, and sets a routing table or the like so that all communications pass through the virtual Ethernet I / F. Then, the communication apparatus can transmit the packet of the new system by encapsulating the packet (Ethernet frame) of the old system via the virtual Ethernet I / F and passing it to the new communication middleware.

このように、特許文献1や非特許文献1に記載の技術では、新規に開発する対象が、新通信ミドルウェア経由で受信した旧システムのパケット(Ethernetフレーム)を旧システムに渡す部分(前記(1)の部分)、およびパケット(Ethernetフレーム)を新通信ミドルウェアに渡す部分(前記(2)の部分)のみとなる。そのため、旧通信ミドルウェアと新通信ミドルウェアを相互変換する新旧ミドル変換部2107を開発する場合に比べて、技術難易度も低く、開発コストも大幅に削減することが可能となる。   As described above, in the techniques described in Patent Literature 1 and Non-Patent Literature 1, a newly developed object passes a packet (Ethernet frame) of the old system received via the new communication middleware to the old system (the above (1 )) And a part (the part (2)) for passing a packet (Ethernet frame) to the new communication middleware. Therefore, compared with the case where the old and new middle conversion unit 2107 that mutually converts the old communication middleware and the new communication middleware is developed, the technical difficulty level is low and the development cost can be greatly reduced.

特開2008−078966号公報JP 2008-078966 A1

登大遊、“SoftEther の内部構造”、[online]、[平成22年9月7日検索]、インターネット<URL:http://www.softether.co.jp/jp/company/media/ academic/data/softetherpaper002.pdf>Todai Dai, “Internal structure of SoftEther”, [online], [Search September 7, 2010], Internet <URL: http://www.softether.co.jp/jp/company/media/ academic / data / softetherpaper002.pdf>

背景技術に記載したように、特許文献1に開示されている技術では、旧システムのシステム設定(IPアドレス等)は全く変更せずに、カプセル化装置を設置するだけで新システムへの移行が可能となる。しかしながら、カプセル化装置が通信装置の台数分だけ必要となり、ハードウェアコストが膨大になるという問題が生じる。   As described in the background art, in the technique disclosed in Patent Document 1, the system setting (IP address, etc.) of the old system is not changed at all, and the transition to the new system can be performed only by installing the encapsulation device. It becomes possible. However, there is a problem that encapsulating devices are required for the number of communication devices, resulting in a huge hardware cost.

また、非特許文献1に開示されている技術では、通信装置単体で新システムへの移行が可能であるため、追加のハードウェアコストは不要となる。しかし、仮想Ethernet I/Fは、OSからは物理Ethernet I/Fと同じように認識されるため、物理Ethernet I/Fと異なるIPアドレスを設定する必要がある。したがって、旧システムのシステム設定変更や、新システム設計時にIPアドレスの制約を考慮しなければならない(旧システムのIPアドレスと重複してはいけない等)といった手間が生じる。   Further, with the technology disclosed in Non-Patent Document 1, since it is possible to move to a new system with a single communication device, no additional hardware cost is required. However, since the virtual Ethernet I / F is recognized by the OS in the same manner as the physical Ethernet I / F, it is necessary to set an IP address different from that of the physical Ethernet I / F. Therefore, it takes time and labor to change the system settings of the old system and to take into account IP address restrictions when designing the new system (for example, it must not overlap with the IP address of the old system).

また、システム移行リスクを小さくするために、一気に全通信装置を新装置に切替えるのではなく、一定期間をかけて数台ずつ段階的に切替える方法を取ることもある。その場合、完全に移行が完了するまでは、同一ネットワーク上に、旧システムのIPアドレスのパケットと新システムのIPアドレスのパケットが混在することになり、一般的なルータやスイッチでは対応できない可能性がある。このような単一ネットワーク上に複数のIPアドレスが混在する問題は、特許文献1や非特許文献1では解決することができない。   Also, in order to reduce the risk of system migration, instead of switching all communication devices to a new device at once, a method may be used in which several units are switched in stages over a certain period. In that case, until the migration is completely completed, the packets of the IP address of the old system and the IP address of the new system will be mixed on the same network, which may not be supported by general routers and switches. There is. Such a problem that a plurality of IP addresses coexist on a single network cannot be solved by Patent Document 1 and Non-Patent Document 1.

従ってIPアドレスの変更やハードウェアの追加なしに、旧通信ミドルウェアを介して情報を送受信する通信アプリケーションが、新通信ミドルウェアを介してでも情報を送受信できるようにする技術が求められている。   Therefore, there is a need for a technique that enables a communication application that transmits and receives information via the old communication middleware to transmit and receive information via the new communication middleware without changing the IP address or adding hardware.

通信装置は、データを他の通信装置を指定した宛先アドレスを用いてカプセル化して、第1パケットを作成する第1パケット作成部と、第1パケットを用いて所定の処理を実行する処理部と、第1パケットを当該宛先アドレスを用いて再びカプセル化して、第2パケットを作成する第2パケット作成部と、第2パケットを当該他の通信装置へ送信する送信部を有する。   A communication device encapsulates data using a destination address that designates another communication device to create a first packet, and a processing unit that executes a predetermined process using the first packet And a second packet creation unit that encapsulates the first packet again using the destination address to create a second packet, and a transmission unit that transmits the second packet to the other communication device.

IPアドレスの変更やハードウェアの追加無く、旧通信ミドルウェアを介してデータを送受信する通信アプリケーションが、新通信ミドルウェアを介してでもデータを送受信できるようになる。   Without changing the IP address or adding hardware, communication applications that send and receive data via the old communication middleware can send and receive data via the new communication middleware.

通信装置の機能ブロック構成の一例を示す図である。It is a figure which shows an example of the functional block structure of a communication apparatus. カプセル化処理部105の機能ブロック構成の一例を示す図である。3 is a diagram illustrating an example of a functional block configuration of an encapsulation processing unit 105. FIG. 通信装置のハードウェア構成の一例を示す図である。It is a figure which shows an example of the hardware constitutions of a communication apparatus. 接続先アドレス、ポートに対応する通信プロトコルを管理するテーブルの一例を示す図である。It is a figure which shows an example of the table which manages the communication protocol corresponding to a connecting point address and a port. Ethernetフレームの一例を示す図である。It is a figure which shows an example of an Ethernet frame. 通信情報対応テーブルの一例を示す図である。It is a figure which shows an example of a communication information corresponding table. 新装置が新装置にデータを送信する場合の通信フローの一例を示す図である。It is a figure which shows an example of a communication flow in case a new apparatus transmits data to a new apparatus. 新装置が旧装置にデータ送信する場合の通信フローの一例を示す図である。It is a figure which shows an example of a communication flow in case a new apparatus transmits data to an old apparatus. 旧装置が新装置にデータ送信する場合の通信フローの一例を示す図である。It is a figure which shows an example of a communication flow in case an old apparatus transmits data to a new apparatus. RAW受信部が実行する処理の一例を示すフローチャートである。It is a flowchart which shows an example of the process which a RAW receiving part performs. ミドル受信部が実行する処理の一例を示すフローチャートである。It is a flowchart which shows an example of the process which a middle receiving part performs. カプセル化判定部が実行する処理の一例を示すフローチャートである。It is a flowchart which shows an example of the process which an encapsulation determination part performs. RAW送信部が実行する処理の一例を示すフローチャートである。It is a flowchart which shows an example of the process which a RAW transmission part performs. ミドル送信部が実行する処理の一例を示すフローチャートである。It is a flowchart which shows an example of the process which a middle transmission part performs. RAW受信部が実行する処理の一例を示すフローチャートである。It is a flowchart which shows an example of the process which a RAW receiving part performs. ミドル受信部が実行する処理の一例を示すフローチャートである。It is a flowchart which shows an example of the process which a middle receiving part performs. RAW送信部が実行する処理の一例を示すフローチャートである。It is a flowchart which shows an example of the process which a RAW transmission part performs. 通信装置の機能ブロック構成の一例を示す図である。It is a figure which shows an example of the functional block structure of a communication apparatus. システム移行の一例を示す図である。It is a figure which shows an example of system transfer.

実施形態の一例(以降、「本実施形態」と称す。)について、適宜図面を参照しながら詳細に説明する。
<第1実施形態>
第1実施形態では、システム移行にともなって、システム内の複数の通信装置の一部に、旧通信ミドルウェアに加え新通信ミドルウエアが実装された場合について説明する。なお、ここではカプセル化対象のパケットは、OSIモデルで言うところのレイヤ2であるEthernetフレームを想定する。
(通信装置の機能)
本実施形態における通信装置の機能について、図1を用いて説明する。
An example of an embodiment (hereinafter referred to as “this embodiment”) will be described in detail with reference to the drawings as appropriate.
<First Embodiment>
In the first embodiment, a case will be described in which new communication middleware is installed in addition to the old communication middleware in some of a plurality of communication devices in the system in accordance with system migration. Here, it is assumed that the packet to be encapsulated is an Ethernet frame that is layer 2 in the OSI model.
(Function of communication device)
The function of the communication apparatus in this embodiment will be described with reference to FIG.

図1に示すように、本実施形態における通信装置101は、互いに、ネットワーク102を介して通信できるように接続されている。なお、ネットワーク102は、IP網として説明するが、これに限られることはない。また、通信に用いる信号は、例えば、電気、光、電波、音等のいずれかまたはそれらの組み合わせであっても構わない。   As shown in FIG. 1, the communication devices 101 in the present embodiment are connected so as to communicate with each other via a network 102. The network 102 is described as an IP network, but is not limited to this. The signal used for communication may be, for example, any one of electricity, light, radio waves, sound, or a combination thereof.

通信装置101は、通信アプリケーション実行部103、第1通信ミドルウェア実行部104、カプセル化処理部105、第2通信ミドルウェア実行部106、プロトコルスタック107、仮想通信I/F(Interface)108、通信I/F109、プロトコル管理テーブル110、および通信情報対応テーブル112を備えている。通信アプリケーション実行部103は、種々のサービスを他の通信装置に提供したり、他の通信装置に対して種々のサービスを要求したりする通信アプリケーションプログラムを実行する。   The communication device 101 includes a communication application execution unit 103, a first communication middleware execution unit 104, an encapsulation processing unit 105, a second communication middleware execution unit 106, a protocol stack 107, a virtual communication I / F (Interface) 108, a communication I / F109, a protocol management table 110, and a communication information correspondence table 112 are provided. The communication application execution unit 103 executes a communication application program that provides various services to other communication devices and requests various services from other communication devices.

なお、通信アプリケーション実行部103において実行される通信アプリケーションプログラム(以降の説明では、APPとも称する。)は、図19に示した通信アプリケーション1902に相当し、第1通信ミドルウェア実行部104において実行される第1通信ミドルウェア(システム移行前の旧通信ミドルウェア)上で動作する。   Note that a communication application program (also referred to as APP in the following description) executed in the communication application execution unit 103 corresponds to the communication application 1902 shown in FIG. 19, and is executed in the first communication middleware execution unit 104. It operates on the first communication middleware (old communication middleware before system transition).

第1通信ミドルウェア実行部104は、複数のAPPが実行されるときに、共通に使用される機能を提供するプログラムを実行する。例えば、当該プログラムは、ソケットI/Fを備えており、一般的に、認証や暗号化等のセキュリティ機能や、ソケットの初期化や終了処理等の複雑な通信処理機能等を有している。なお、第1通信ミドルウェア実行部104において実行されるプログラムは、旧通信プロトコルを用いるものであって、図19に示した旧通信ミドルウェア1903に相当する。   The first communication middleware execution unit 104 executes a program that provides a commonly used function when a plurality of APPs are executed. For example, the program includes a socket I / F, and generally has a security function such as authentication and encryption, a complicated communication processing function such as socket initialization and termination processing, and the like. Note that the program executed in the first communication middleware execution unit 104 uses the old communication protocol, and corresponds to the old communication middleware 1903 shown in FIG.

カプセル化処理部105は、仮想通信I/F108から受け取った送信パケット(以降、フレーム、Ethernetフレームとも呼ぶ)をチェックし、カプセル化が必要なカプセル化対象のパケットである場合は第2通信ミドルウェア実行部106に渡し、カプセル化の必要がないカプセル化対象外のパケットである場合はそのまま通信I/F109経由で送信する。また、通信I/F109や第2通信ミドルウェア実行部106から受け取った受信パケットを、仮想通信I/F108に渡す。カプセル化処理部105の詳細構成については図2で説明する。   The encapsulation processing unit 105 checks the transmission packet (hereinafter also referred to as a frame or an Ethernet frame) received from the virtual communication I / F 108, and executes the second communication middleware if it is a packet to be encapsulated that requires encapsulation. If the packet is not encapsulated and does not need to be encapsulated, it is transmitted as it is via the communication I / F 109. Further, the received packet received from the communication I / F 109 or the second communication middleware execution unit 106 is transferred to the virtual communication I / F 108. The detailed configuration of the encapsulation processing unit 105 will be described with reference to FIG.

第2通信ミドルウェア実行部106は、複数のAPPが実行されるときに、共通に使用される機能を提供するプログラムを実行する。例えば、当該プログラムは、ソケットI/Fを備えており、一般的に、認証や暗号化等のセキュリティ機能や、ソケットの初期化や終了処理等の複雑な通信処理機能等を有している。なお、第2通信ミドルウェア実行部106において実行されるプログラムは、新通信プロトコルを用いるものであって、図19に示した新通信ミドルウェア1908に相当し、第2通信ミドルウェア実行部106は第1通信ミドルウェア実行部104とは異なる通信プロトコル処理を実行する。   The second communication middleware execution unit 106 executes a program that provides a commonly used function when a plurality of APPs are executed. For example, the program includes a socket I / F, and generally has a security function such as authentication and encryption, a complicated communication processing function such as socket initialization and termination processing, and the like. The program executed in the second communication middleware execution unit 106 uses a new communication protocol, and corresponds to the new communication middleware 1908 shown in FIG. 19, and the second communication middleware execution unit 106 Communication protocol processing different from the middleware execution unit 104 is executed.

プロトコルスタック107は、プロトコル処理を行うプログラム群(例えば、TCP、UDP(User Datagram Protocol)、IP等)である。プロトコルスタック107は、第1通信ミドルウェア実行部104および第2通信ミドルウェア実行部106との間で、ソケットI/Fを介して送受信情報を受け渡すことができる。   The protocol stack 107 is a program group (for example, TCP, UDP (User Datagram Protocol), IP, etc.) that performs protocol processing. The protocol stack 107 can pass transmission / reception information between the first communication middleware execution unit 104 and the second communication middleware execution unit 106 via the socket I / F.

仮想通信I/F108は、通信I/F機能をソフトウェアで模擬した仮想的な通信I/Fであり、OS(Operating System)からは通常の通信I/F(通信I/F109等)と等価に扱われる。ただし、通常の通信I/Fが特定の通信用ハードウェア(例えば、Ethernetコントローラチップなど)と関連づけられて、そのハードウェアと送受信パケットの受け渡しを行うのに対し、仮想通信I/F108は特定のプログラムと関連づけられ、そのプログラムと送受信パケットの受け渡しを行う。本実施例では、仮想通信I/F108は、カプセル化処理部105と関連づけられ、プロトコルスタック107から渡された送信パケット(Ethernetフレーム)をカプセル化処理105に渡す。また、カプセル化処理部105から渡されたデータを受信パケット(Ethernetフレーム)とみなしてプロトコルスタック107に渡す。   The virtual communication I / F 108 is a virtual communication I / F that simulates the communication I / F function with software, and is equivalent to a normal communication I / F (communication I / F 109, etc.) from the OS (Operating System). Be treated. However, a normal communication I / F is associated with specific communication hardware (for example, an Ethernet controller chip, etc.) and sends / receives packets to / from that hardware, whereas a virtual communication I / F 108 has a specific communication hardware. It is associated with a program, and exchanges transmission / reception packets with the program. In this embodiment, the virtual communication I / F 108 is associated with the encapsulation processing unit 105 and passes the transmission packet (Ethernet frame) passed from the protocol stack 107 to the encapsulation processing 105. The data passed from the encapsulation processing unit 105 is regarded as a received packet (Ethernet frame) and passed to the protocol stack 107.

通信I/F109は、カプセル化処理部105から渡された送信パケット(Ethernetフレーム)に対し、チェックサム計算など送信に必要な処理を行い、関連づけられているハードウェア経由でネットワーク102に送信する。また、ネットワーク102から受信したパケット(Ethernetフレーム)をカプセル化処理部105に渡す。   The communication I / F 109 performs processing necessary for transmission, such as checksum calculation, on the transmission packet (Ethernet frame) passed from the encapsulation processing unit 105 and transmits it to the network 102 via associated hardware. Further, the packet (Ethernet frame) received from the network 102 is passed to the encapsulation processing unit 105.

なお、前述したように、仮想通信I/F108および通信I/F109はOSから見たら等価に扱われるが、本実施例ではIPアドレスを仮想通信I/F108のみに割り当て、通信I/F109にはIPアドレスを割り当てない。これにより、プロトコルスタック107からは唯一の通信I/Fとして仮想通信I/F108だけが認識されるようになり、通信I/F109は、ネットワーク102とカプセル化処理部105との間でEthernetフレームを転送する機能だけを提供するようになる。   As described above, the virtual communication I / F 108 and the communication I / F 109 are treated equivalently when viewed from the OS, but in this embodiment, an IP address is assigned only to the virtual communication I / F 108, and the communication I / F 109 Do not assign an IP address. As a result, only the virtual communication I / F 108 is recognized as the only communication I / F from the protocol stack 107, and the communication I / F 109 transmits an Ethernet frame between the network 102 and the encapsulation processing unit 105. Only the function to transfer will be provided.

プロトコル管理テーブル110、通信情報対応テーブル112は、カプセル化処理部105で参照される情報である。詳細については後段にて説明する。
(カプセル化処理部の詳細)
次に、カプセル化処理部105の詳細構成について図2を用いて説明する。
The protocol management table 110 and the communication information correspondence table 112 are information referred to by the encapsulation processing unit 105. Details will be described later.
(Details of encapsulation processing unit)
Next, a detailed configuration of the encapsulation processing unit 105 will be described with reference to FIG.

カプセル化処理部105は、RAW受信部201、ミドル受信部202、カプセル化判定部203、RAW送信部204、ミドル送信部205から構成されている。   The encapsulation processing unit 105 includes a RAW reception unit 201, a middle reception unit 202, an encapsulation determination unit 203, a RAW transmission unit 204, and a middle transmission unit 205.

RAW受信部201は、ネットワーク102経由で通信I/F109に到着した受信パケット(Ethernetフレーム)を通信I/F109からRAW受信で受け取り、そのEthernetフレームをそのまま仮想通信I/F108に渡す処理を行う。RAW受信部201の処理の詳細は図10に示す。   The RAW reception unit 201 receives a received packet (Ethernet frame) that has arrived at the communication I / F 109 via the network 102 by RAW reception from the communication I / F 109, and performs processing to pass the Ethernet frame as it is to the virtual communication I / F 108. Details of the processing of the RAW reception unit 201 are shown in FIG.

ミドル受信部202は、第2通信ミドルウェア実行部から渡されたアプリケーションデータ(デカプセル化されたEthernetフレーム)を、そのまま仮想通信I/F108に渡す処理を行う。ミドル受信部202の処理の詳細は図11に示す。   The middle receiving unit 202 performs a process of passing the application data (decapsulated Ethernet frame) passed from the second communication middleware executing unit to the virtual communication I / F 108 as it is. Details of the processing of the middle receiving unit 202 are shown in FIG.

カプセル化判定部203は、仮想通信I/F108から受信したパケットをチェックして、カプセル化すべきパケットである場合には、ミドル送信部205に渡し、カプセル化不要なパケットである場合にはRAW送信部204に渡す。カプセル化判定部203の処理の詳細は、図12に示す。   The encapsulation determination unit 203 checks the packet received from the virtual communication I / F 108, and if it is a packet to be encapsulated, passes it to the middle transmission unit 205. To the unit 204. Details of the processing of the encapsulation determination unit 203 are shown in FIG.

ミドル送信部205はカプセル化判定部203から受け取ったパケットに後述のヘッダを付与して第2通信ミドルウエア実行部106に渡す。ミドル送信部205の処理の詳細は図14に示す。   The middle transmission unit 205 adds a header described later to the packet received from the encapsulation determination unit 203 and passes the packet to the second communication middleware execution unit 106. Details of the processing of the middle transmission unit 205 are shown in FIG.

RAW送信部204はカプセル化判定部203から受け取ったパケットを通信I/F109に渡す。RAW送信部204の処理の詳細は図13に示す。
(通信装置のハードウェア構成)
次に、通信装置101のハードウェア構成について、図3を用いて説明する(適宜、図1参照)。
The RAW transmission unit 204 passes the packet received from the encapsulation determination unit 203 to the communication I / F 109. Details of the processing of the RAW transmission unit 204 are shown in FIG.
(Hardware configuration of communication device)
Next, the hardware configuration of the communication apparatus 101 will be described with reference to FIG. 3 (see FIG. 1 as appropriate).

通信装置101は、各種処理を行うホストCPU(Central Processing Unit)301、ホストメモリ302、周辺I/F303、記憶装置304、通信I/F305、およびバス307から構成される。そして、ホストCPU301、ホストメモリ302、周辺I/F310、記憶装置304、および通信I/F305は、バス307を介して通信可能に接続されている。   The communication device 101 includes a host CPU (Central Processing Unit) 301 that performs various processes, a host memory 302, a peripheral I / F 303, a storage device 304, a communication I / F 305, and a bus 307. The host CPU 301, the host memory 302, the peripheral I / F 310, the storage device 304, and the communication I / F 305 are communicably connected via a bus 307.

ホストCPU301は、プログラムを実行するプロセッサである。   The host CPU 301 is a processor that executes a program.

ホストメモリ302は、ホストCPU301がプログラムを実行する際に、ワーキングメモリおよび入出力データの一時バッファとして用いられる。   The host memory 302 is used as a working memory and a temporary buffer for input / output data when the host CPU 301 executes a program.

周辺I/F303は、マウス、キーボード、モニタ等の入出力装置や、USB(Universal Serial Bus)メモリ等の外部ストレージ等の各種周辺機器、と接続するためのインタフェースである。   The peripheral I / F 303 is an interface for connecting to input / output devices such as a mouse, a keyboard, and a monitor, and various peripheral devices such as an external storage such as a USB (Universal Serial Bus) memory.

記憶装置304は、磁気ディスク装置、フラッシュROM(Read Only Memory)等から構成され、OS、各種ドライバ、各種アプリケーションプログラムや、プログラムで使用される各種情報(例えば、管理者または保守者によって設定される情報等)を格納している。   The storage device 304 includes a magnetic disk device, a flash ROM (Read Only Memory), and the like, and is set by the OS, various drivers, various application programs, and various information used in the programs (for example, an administrator or a maintenance person). Information).

通信I/F305は、通信装置101がネットワーク102を介して他の通信装置101と通信を行う際のインタフェースを提供する。通信I/F305は、例えば、NIC(Network Interface Card)であっても良い。   The communication I / F 305 provides an interface when the communication device 101 communicates with another communication device 101 via the network 102. The communication I / F 305 may be, for example, a NIC (Network Interface Card).

なお、図3では、通信I/F305は、1つしか記載していないが、2つ以上であっても構わない。   In FIG. 3, only one communication I / F 305 is shown, but two or more may be used.

図1に示した通信アプリケーション実行部103、第1通信ミドルウェア実行部104、カプセル化処理部105、第2通信ミドルウェア実行部106、プロトコルスタック107、仮想通信I/F108、通信I/F109は各々、記憶装置304に格納されたプログラムがホストメモリ302に読み込まれてホストCPU301によって実行されることにより、構成される機能要素である。尚、図1に示した通信I/F109の機能は図3に示す通信I/F305上に実装される。また、図1に示したプロトコル管理テーブル110、通信情報対象テーブル112は記憶装置304に格納されている。
(プロトコル管理テーブル)
プロトコル管理テーブル110に格納される情報について、図4を用いて説明する(適宜、図1参照)。
The communication application execution unit 103, the first communication middleware execution unit 104, the encapsulation processing unit 105, the second communication middleware execution unit 106, the protocol stack 107, the virtual communication I / F 108, and the communication I / F 109 shown in FIG. It is a functional element configured by a program stored in the storage device 304 being read into the host memory 302 and executed by the host CPU 301. Note that the function of the communication I / F 109 shown in FIG. 1 is implemented on the communication I / F 305 shown in FIG. Further, the protocol management table 110 and the communication information target table 112 illustrated in FIG. 1 are stored in the storage device 304.
(Protocol management table)
Information stored in the protocol management table 110 will be described with reference to FIG. 4 (see FIG. 1 as appropriate).

プロトコル管理テーブル110は、パケットを送信する際の、パケット種別410、IPアドレス401、ポート番号402、プロトコル403を格納している。プロトコル管理テーブル110は、カプセル化判定部203が仮想通信I/F108から送信パケットを受け取ったときに、その送信パケットをカプセル化すべきか否か判断する際に用いられる。なお、本テーブルの情報は、通信装置101の管理者または保守者等によって予め設定されてもよいし、各装置と個別にプロトコル情報をやりとりするプログラムによって設定されてもよいし、全装置のプロトコル情報をまとめて管理しているサーバに問い合わせて設定してもよい。   The protocol management table 110 stores a packet type 410, an IP address 401, a port number 402, and a protocol 403 when transmitting a packet. The protocol management table 110 is used when the encapsulation determining unit 203 receives a transmission packet from the virtual communication I / F 108 and determines whether or not the transmission packet should be encapsulated. The information in this table may be set in advance by an administrator or maintenance person of the communication device 101, may be set by a program that exchanges protocol information with each device individually, or the protocol of all devices. It may be set by inquiring to a server that collectively manages information.

パケット種別410の列はパケットの種別を格納している領域であり、パケット種別の例としては、IPパケットであることを示すIP、ARP(Address Resolution Protocol)パケットであることを示すARP等がある。   The column of packet type 410 is an area for storing the type of packet. Examples of the packet type include IP indicating an IP packet, ARP indicating an ARP (Address Resolution Protocol) packet, and the like. .

IPアドレス401の列は、パケットの送信先の通信装置101を識別するIPアドレスを格納している領域である。   The column of the IP address 401 is an area that stores an IP address for identifying the communication device 101 that is the transmission destination of the packet.

ポート番号402の列は、パケットの宛先ポート番号を格納している領域である。ポート番号は一般に、通信サービス(FTP(File Transfer Protocol)、HTTP(HyperText Transfer Protocol)等)を識別するのに用いられ、送信先が同じ通信装置101であっても、異なるポート番号を用いることによって、通信サービスの種別を変更することができる。本実施形態では、ポート番号はパケットの宛先通信ミドルウェアを特定するのに用いられる。   The port number 402 column is an area for storing the destination port number of the packet. The port number is generally used to identify a communication service (FTP (File Transfer Protocol), HTTP (HyperText Transfer Protocol), etc.), and by using different port numbers even if the transmission destination is the same communication device 101. The type of communication service can be changed. In this embodiment, the port number is used to specify the destination communication middleware of the packet.

プロトコル403の列は、当該パケットに施す処理の種類を示す情報を格納している領域である。プロトコル名が指定されている場合(プロトコルA、プロトコルB等)は当該プロトコルを用いたパケットのカプセル化が必要であることを意味し、「RAW送信」が指定されている場合にはパケットをそのまま送信することを意味している。   The protocol 403 column is an area in which information indicating the type of processing to be performed on the packet is stored. When a protocol name is specified (protocol A, protocol B, etc.), it means that the packet must be encapsulated using that protocol. When “RAW transmission” is specified, the packet is left as it is. Means to send.

図4において、例えば、行404は、IPパケットを用いて、IPアドレスが192.168.0.1の通信装置と、ポート番号80番で指定される当該通信装置の通信ミドルウェアで通信を行う場合、カプセル化を行わずにそのままパケットを送信(RAW送信)することを表している。他方行405は、IPパケットを用いて、IPアドレスが192.168.0.1の通信装置(即ち同じ通信装置)と、ポート番号23番で指定される当該通信装置の通信ミドルウェアで通信を行う場合、プロトコルAを用いたパケットのカプセル化が必要であることを表している。また行408は、ARPパケットはそのアドレスに関わらずカプセル化を行わずそのまま送信することを表している。   In FIG. 4, for example, a line 404 is a case where communication is performed using a communication device having an IP address of 192.168.0.1 and communication middleware of the communication device specified by the port number 80 using an IP packet. This indicates that the packet is transmitted as it is without being encapsulated (RAW transmission). The other line 405 uses an IP packet to communicate with a communication device having an IP address of 192.168.0.1 (that is, the same communication device) using the communication middleware of the communication device specified by port number 23. In this case, the packet encapsulation using the protocol A is necessary. A row 408 represents that the ARP packet is transmitted without being encapsulated regardless of the address.

なお、図4では、プロトコル403には、3種類のプロトコル(RAW送信、プロトコルA、プロトコルB)を記載しているが、1種類であっても、3種類以上であっても構わない。また、ポート番号402に記載されている*印は、任意のポート番号で構わないことを表している。
(通信情報対応テーブル)
次に、通信情報対応テーブル112に格納される情報について、図6を用いて説明する。
In FIG. 4, the protocol 403 describes three types of protocols (RAW transmission, protocol A, protocol B), but may be one type or three or more types. In addition, the * mark described in the port number 402 indicates that any port number may be used.
(Communication information correspondence table)
Next, information stored in the communication information correspondence table 112 will be described with reference to FIG.

通信情報対応テーブル112は、第1通信ミドルウェアの通信情報601と、第2通信ミドルウェアの通信情報602を格納している。そして、通信情報対応テーブル112は、ミドル送信部205がカプセル化判定部203から送信パケットを受け取ったときに、送信パケットに含まれる送信先通信装置の第1通信ミドルウェアの通信情報から、それに対応する送信先通信装置の第2通信ミドルウェアの通信情報を取得するために用いられる。   The communication information correspondence table 112 stores communication information 601 of the first communication middleware and communication information 602 of the second communication middleware. Then, when the middle transmission unit 205 receives the transmission packet from the encapsulation determination unit 203, the communication information correspondence table 112 corresponds to the communication information of the first communication middleware of the transmission destination communication device included in the transmission packet. Used to acquire communication information of the second communication middleware of the destination communication device.

図6において、例えば行603では、送信パケットに含まれる第1通信ミドルウェアの通信情報が、IPアドレスがIP_A、ポート番号がB、サービスIDがCの場合、第2通信ミドルウェアを用いて送信するために必要な第2通信ミドルウェアの通信情報が、IPアドレスがIP_A、ポート番号がb、サービスIDがcであることを表している。ここで、IPアドレスは送信先通信装置の仮想通信I/Fに割り当てられているアドレスであるから、第1通信ミドルウェアでも第2通信ミドルウェアでも同じ値となるが、ポート番号は通信ミドルウェアを一意に特定するのに用いられるため、異なる値となる。またサービスIDは、送信先の通信ミドルウェアが送信パケットをどこに引き渡すかを示すIDであり、本実施形態の場合にはポート番号が第1通信ミドルウェアを示している場合にはサービスIDは通信アプリケーション実行部を、ポート番号が第2通信ミドルウェアを示している場合にはサービスIDはカプセル化処理部を示す。しかしながら必ずしもこれに限られるものではい。例えば第2通信ミドルウェアがカプセル化処理部を介さずに通信アプリケーション実行部と通信する場合には、ポート番号が第2通信ミドルウェアを示している場合にサービスIDは当該通信アプリケーション実行部を示す。   In FIG. 6, for example, in line 603, when the communication information of the first communication middleware included in the transmission packet is transmitted using the second communication middleware when the IP address is IP_A, the port number is B, and the service ID is C. The communication information of the second communication middleware necessary for the above indicates that the IP address is IP_A, the port number is b, and the service ID is c. Here, since the IP address is an address assigned to the virtual communication I / F of the destination communication device, the same value is used for both the first communication middleware and the second communication middleware, but the port number uniquely identifies the communication middleware. Because it is used for identification, it has a different value. The service ID is an ID indicating where the transmission destination communication middleware delivers the transmission packet. In the case of this embodiment, the service ID is the communication application execution when the port number indicates the first communication middleware. When the port number indicates the second communication middleware, the service ID indicates the encapsulation processing unit. However, it is not necessarily limited to this. For example, when the second communication middleware communicates with the communication application execution unit without going through the encapsulation processing unit, the service ID indicates the communication application execution unit when the port number indicates the second communication middleware.

なお、ここでは通信情報の例としてIPアドレスやポート番号を挙げているが、これに限るものではなく、第1通信ミドルウェアと第2通信ミドルウェアの対応が分かる情報であれば良い。
(新装置から新装置へのデータ送信時のカプセル化通信処理シーケンス)
次に、新システムに移行後の通信装置A101aから新システムに移行後の通信装置B101bにデータを送信する際のカプセル化通信処理シーケンスを、図5と図7を用いて説明する。ここで、通信装置A101aおよび通信装置B101bは共に第1通信ミドルウェア実行部104及び第2通信ミドルウェア実行部106を有している。
Here, IP addresses and port numbers are given as examples of communication information. However, the present invention is not limited to this, and any information can be used as long as the information indicates the correspondence between the first communication middleware and the second communication middleware.
(Encapsulated communication processing sequence during data transmission from new device to new device)
Next, an encapsulated communication processing sequence when data is transmitted from the communication apparatus A101a after the transition to the new system to the communication apparatus B101b after the transition to the new system will be described using FIG. 5 and FIG. Here, both the communication device A 101a and the communication device B 101b have a first communication middleware execution unit 104 and a second communication middleware execution unit 106.

まず、通信装置A101aの通信アプリケーション実行部103aが、第1通信ミドルウェア実行部104aにアプリケーションデータ501を渡す。この際、通信アプリケーション実行部103aは、送信先の第1通信ミドルウェア実行部104bを指定するための情報(通信装置B101bのIPアドレス、第1通信ミドルウェア実行部104bのポート番号を含む、図6の第一ミドルの通信情報601に相当する情報)を一緒に第1通信ミドルウェア実行部104aに渡す。   First, the communication application execution unit 103a of the communication device A 101a passes the application data 501 to the first communication middleware execution unit 104a. At this time, the communication application execution unit 103a includes information for specifying the transmission destination first communication middleware execution unit 104b (including the IP address of the communication device B101b and the port number of the first communication middleware execution unit 104b in FIG. 6). Information corresponding to the first middle communication information 601) is passed to the first communication middleware execution unit 104a.

次に、第1通信ミドルウェア実行部104aは、受け取った送信先の第1通信ミドルウェア実行部104bを指定するための情報を第1ヘッダとして受け取ったアプリケーションデータ501に付与し、これをアプリケーションデータ502としてプロトコルスタック107aに渡す。この際、第1通信ミドルウェア実行部104aは通信装置B101bのIPアドレスと第1通信ミドルウェア実行部104bのポート番号をプロトコルスタックに指定する。   Next, the first communication middleware execution unit 104a gives information for designating the received first communication middleware execution unit 104b to the received application data 501 as a first header, which is used as application data 502. Passed to protocol stack 107a. At this time, the first communication middleware execution unit 104a designates the IP address of the communication device B 101b and the port number of the first communication middleware execution unit 104b in the protocol stack.

次に、プロトコルスタック107aは、受け取った通信装置B101bのIPアドレスをIPヘッダ(第1IPヘッダ)として、ポート番号をTCPヘッダ(第1TCPヘッダ)として受け取ったアプリケーションデータ502に付与し、さらにパケットの送信先MACアドレス(第1MAC)も付与して送信用のパケット(Ethernetフレーム)503を生成する。この送信用パケット503をプロトコルスタック107aは仮想通信I/F108aに渡す。   Next, the protocol stack 107a assigns the received IP address of the communication apparatus B 101b as the IP header (first IP header) and the port number as the TCP header (first TCP header) to the received application data 502, and further transmits the packet. A destination MAC address (first MAC) is also assigned to generate a transmission packet (Ethernet frame) 503. The protocol stack 107a passes this transmission packet 503 to the virtual communication I / F 108a.

次に、仮想通信I/F108aは、受け取った送信用のパケット503をそのままカプセル化処理部105aに渡す。   Next, the virtual communication I / F 108a passes the received transmission packet 503 as it is to the encapsulation processing unit 105a.

次に、カプセル化処理部105aは、送信パケット503のIPヘッダ(第1IPヘッダ)及びTCPヘッダ(第1TCPヘッダ)に含まれる宛先情報(通信装置B101bのIPアドレスおよび第1通信ミドルウェア実行部104bを指定するポート番号)を用いてプロトコル管理テーブル110を参照し、当該送信パケットに対してカプセル化を行うか否かを判断する。   Next, the encapsulation processing unit 105a stores the destination information (the IP address of the communication device B 101b and the first communication middleware execution unit 104b) included in the IP header (first IP header) and the TCP header (first TCP header) of the transmission packet 503. By referring to the protocol management table 110 using the designated port number), it is determined whether or not the transmission packet is to be encapsulated.

通信相手が第2通信ミドルウェア実行部106を有する(即ち新通信ミドルウェアを有する)通信装置であって、送信パケットの宛先ポート番号が第1通信ミドルウェアを示す場合、プロトコル管理テーブル110のプロトコル欄403には当該送信パケットをカプセル化するためのプロトコルが指定されている。従って、カプセル化処理部105aはカプセル化を行うと判断し、第2通信ミドルウェア実行部106aに仮想通信I/F108aから受信した送信用パケット503をアプリケーションデータ503として渡す。この際カプセル化処理部105aは、通信情報対応テーブル112を参照して送信先の第2通信ミドルウェア実行部106bを指定するための情報(通信装置B101bのIPアドレス、第2通信ミドルウェア実行部106bのポート番号を含む、図6の第2ミドルの通信情報602に相当する情報)を取得し、これを一緒に第2通信ミドルウェア実行部106aに渡す。   When the communication partner is a communication apparatus having the second communication middleware execution unit 106 (that is, having a new communication middleware) and the destination port number of the transmission packet indicates the first communication middleware, the protocol column 403 of the protocol management table 110 is displayed. Specifies a protocol for encapsulating the transmission packet. Therefore, the encapsulation processing unit 105a determines that the encapsulation is performed, and passes the transmission packet 503 received from the virtual communication I / F 108a to the second communication middleware execution unit 106a as application data 503. At this time, the encapsulation processing unit 105a refers to the communication information correspondence table 112 to specify information for specifying the second communication middleware execution unit 106b as the transmission destination (the IP address of the communication device B 101b, the second communication middleware execution unit 106b 6) (information corresponding to the second middle communication information 602 in FIG. 6 including the port number) is acquired and passed to the second communication middleware execution unit 106a.

次に、第2通信ミドルウェア実行部106aは、受け取った送信先の第2通信ミドルウェア実行部106bを指定するための情報を第2ヘッダとして受け取ったアプリケーションデータ503に付与し、これをアプリケーションデータ504としてプロトコルスタック107aに渡す。この際、第2通信ミドルウェア実行部106aは通信装置B101bのIPアドレスと第2通信ミドルウェア実行部106bのポート番号をプロトコルスタックに指定する。   Next, the second communication middleware execution unit 106a gives information for designating the received second communication middleware execution unit 106b as the second header to the received application data 503, which is used as application data 504. Passed to protocol stack 107a. At this time, the second communication middleware executing unit 106a designates the IP address of the communication device B 101b and the port number of the second communication middleware executing unit 106b in the protocol stack.

次に、プロトコルスタック107aは、受け取った通信装置B101bのIPアドレスをIPヘッダ(第2IPヘッダ)として、ポート番号をTCPヘッダ(第2TCPヘッダ)として受け取ったアプリケーションデータ504に付与し、さらにパケットの送信先MACアドレス(第2MAC)も付与して送信用のパケット(カプセル化済み)505を生成し、仮想通信I/F108aに生成したパケットを渡す。尚、ここでプロトコルスタック107aがアプリケーションデータ504にIPヘッダ(第2IPヘッダ)として付与したIPアドレスは、送信先通信装置B101bの仮想通信I/Fに割り当てられたIPアドレスであり、先にプロトコルスタック107aがアプリケーションデータ502にIPヘッダ(第1IPヘッダ)として付与したIPアドレスと同じものである。   Next, the protocol stack 107a assigns the received IP address of the communication apparatus B 101b as the IP header (second IP header) and the port number as the TCP header (second TCP header) to the received application data 504, and further transmits the packet. A destination MAC address (second MAC) is also assigned to generate a transmission packet (encapsulated) 505, and the generated packet is passed to the virtual communication I / F 108a. Here, the IP address assigned by the protocol stack 107a to the application data 504 as an IP header (second IP header) is an IP address assigned to the virtual communication I / F of the transmission destination communication device B 101b. 107a is the same as the IP address assigned to the application data 502 as an IP header (first IP header).

次に、仮想通信I/F108aは、送信用のパケット505をそのままカプセル化処理部105aに渡す。   Next, the virtual communication I / F 108a passes the transmission packet 505 as it is to the encapsulation processing unit 105a.

次に、カプセル化処理部105aは、受け取った送信用パケット505のIPヘッダ(第2IPヘッダ)及びTCPヘッダ(第2TCPヘッダ)に含まれる宛先情報(通信装置B101bのIPアドレスおよび第2通信ミドルウェア実行部106bを指定するポート番号)を用いてプロトコル管理テーブル110を参照し、当該送信パケット505に対してカプセル化を行うか否かを判断する。   Next, the encapsulation processing unit 105a receives the destination information (the IP address of the communication device B 101b and the second communication middleware execution) included in the IP header (second IP header) and TCP header (second TCP header) of the received transmission packet 505. The protocol management table 110 is referred to using the port number that designates the unit 106b), and it is determined whether or not the transmission packet 505 is to be encapsulated.

通信相手が第2通信ミドルウェア実行部106を有する(即ち新通信ミドルウェアを有する)通信装置であって、TCPヘッダに格納された宛先ポート番号が第2通信ミドルウェアを示す場合、プロトコル管理テーブル110のプロトコル欄403には当該送信パケットをカプセルせずにそのまま送信するよう指定されている。従って、カプセル化処理部105aはカプセル化不要と判断し、送信用パケット505をそのまま通信I/F109aに渡す。   When the communication partner is a communication device having the second communication middleware execution unit 106 (that is, having a new communication middleware) and the destination port number stored in the TCP header indicates the second communication middleware, the protocol of the protocol management table 110 A field 403 specifies that the transmission packet is transmitted as it is without being encapsulated. Therefore, the encapsulation processing unit 105a determines that encapsulation is not necessary, and passes the transmission packet 505 as it is to the communication I / F 109a.

次に、通信I/F109aは、送信用パケット505をネットワーク経由で通信装置B101bの通信I/F109bに送信する。   Next, the communication I / F 109a transmits the transmission packet 505 to the communication I / F 109b of the communication apparatus B 101b via the network.

次に、通信装置B101bの通信I/F109bは、ネットワークからパケット505を受信し、その受信パケットをそのままカプセル化処理部105bに渡す。   Next, the communication I / F 109b of the communication apparatus B 101b receives the packet 505 from the network and passes the received packet to the encapsulation processing unit 105b as it is.

次に、カプセル化処理部105bは、受信パケット505をそのまま仮想通信I/F108bに渡す。   Next, the encapsulation processing unit 105b passes the received packet 505 as it is to the virtual communication I / F 108b.

次に、仮想通信I/F108bは、受信パケット505をプロトコルスタック107bに渡す。   Next, the virtual communication I / F 108b passes the received packet 505 to the protocol stack 107b.

次に、プロトコルスタック107bは、受信パケット505に対してプロトコル処理を行い、受信パケット505のアプリケーションデータ部分504を取り出す。そして、受信パケット505のTCPヘッダ(第2TCPヘッダ)による指定に従って、取り出したアプリケーションデータ部分504を第2通信ミドルウェア実行部106bに渡す。   Next, the protocol stack 107b performs protocol processing on the received packet 505, and extracts the application data portion 504 of the received packet 505. Then, in accordance with the designation by the TCP header (second TCP header) of the received packet 505, the extracted application data portion 504 is transferred to the second communication middleware execution unit 106b.

次に、第2通信ミドルウェア実行部106bは、受け取ったアプリケーションデータ504から第2ヘッダを外して、残りの部分503をカプセル化処理部105bに渡す。   Next, the second communication middleware execution unit 106b removes the second header from the received application data 504 and passes the remaining portion 503 to the encapsulation processing unit 105b.

次に、カプセル化処理部105bは、受け取ったパケット503を仮想通信I/F108bに渡す。   Next, the encapsulation processing unit 105b passes the received packet 503 to the virtual communication I / F 108b.

次に、仮想通信I/F108bは、受け取ったパケット503をプロトコルスタック107bに渡す。   Next, the virtual communication I / F 108b passes the received packet 503 to the protocol stack 107b.

次に、プロトコルスタック107bは、受け取ったパケット503に対しプロトコル処理を行い、パケット503のアプリケーションデータ部分502を取り出して、これをパケット503のTCPヘッダ(第1TCPヘッダ)に従って第1通信ミドルウェア実行部104bに渡す。   Next, the protocol stack 107b performs protocol processing on the received packet 503, extracts the application data portion 502 of the packet 503, and extracts it from the first communication middleware execution unit 104b according to the TCP header (first TCP header) of the packet 503. To pass.

次に、第1通信ミドルウェア実行部104bは、受け取ったアプリケーションデータ502から第1ヘッダを外して、通信アプリケーション実行部103bに渡す。
(新装置から旧装置へのデータ送信時の非カプセル化通信処理シーケンス)
次に、新システムに移行後の通信装置C101cから、旧システムの通信装置D801dにデータを送信する際の非カプセル化通信処理シーケンスを、図5と図8を用いて説明する。ここで、通信装置C101cは第1通信ミドルウェア実行部104及び第2通信ミドルウェア実行部106を有しており、通信装置D101dは第1通信ミドルウェア実行部104は有するが第2通信ミドルウェア実行部106は有していない。
Next, the first communication middleware execution unit 104b removes the first header from the received application data 502 and passes it to the communication application execution unit 103b.
(Decapsulated communication processing sequence when sending data from the new device to the old device)
Next, an unencapsulated communication processing sequence when data is transmitted from the communication device C101c after the transition to the new system to the communication device D801d of the old system will be described with reference to FIGS. Here, the communication device C101c includes a first communication middleware execution unit 104 and a second communication middleware execution unit 106, and the communication device D101d includes the first communication middleware execution unit 104 but the second communication middleware execution unit 106 I don't have it.

まず、通信装置C101cの通信アプリケーション実行部103cが、第1通信ミドルウェア実行部104cにアプリケーションデータ501を渡す。この際、通信アプリケーション実行部103cは、送信先の第1通信ミドルウェア実行部104dを指定するための情報(通信装置D101dのIPアドレス、第1通信ミドルウェア実行部104dのポート番号を含む、図6の第一ミドルの通信情報601に相当する情報)を一緒に第1通信ミドルウェア実行部104cに渡す。   First, the communication application execution unit 103c of the communication device C101c passes the application data 501 to the first communication middleware execution unit 104c. At this time, the communication application execution unit 103c includes information for specifying the transmission destination first communication middleware execution unit 104d (including the IP address of the communication device D101d and the port number of the first communication middleware execution unit 104d in FIG. 6). Information corresponding to the first middle communication information 601) is passed to the first communication middleware execution unit 104c together.

次に、第1通信ミドルウェア実行部104cは、受け取った送信先の第1通信ミドルウェア実行部104dを指定するための情報を第1ヘッダとして受け取ったアプリケーションデータ501に付与し、これをアプリケーションデータ502としてプロトコルスタック107cに渡す。この際、第1通信ミドルウェア実行部104cは通信装置D101dのIPアドレスと第1通信ミドルウェア実行部104dのポート番号をプロトコルスタックに指定する。   Next, the first communication middleware execution unit 104c gives the received application data 501 with information for designating the received first communication middleware execution unit 104d as the first header, which is used as application data 502. Pass to protocol stack 107c. At this time, the first communication middleware execution unit 104c designates the IP address of the communication device D101d and the port number of the first communication middleware execution unit 104d in the protocol stack.

次に、プロトコルスタック107cは、受け取った通信装置D101dのIPアドレスをIPヘッダ(第1IPヘッダ)として、ポート番号をTCPヘッダ(第1TCPヘッダ)として受け取ったアプリケーションデータ502に付与し、さらにパケットの送信先MACアドレス(第1MAC)も付与して送信用のパケット(Ethernetフレーム)503を生成し、仮想通信I/F108cに生成したパケットを渡す。   Next, the protocol stack 107c assigns the received IP address of the communication device D101d as the IP header (first IP header) and the port number as the TCP header (first TCP header) to the received application data 502, and further transmits the packet. A destination MAC address (first MAC) is also assigned to generate a transmission packet (Ethernet frame) 503, and the generated packet is passed to the virtual communication I / F 108c.

次に、仮想通信I/F108cは、送信用のパケット503をそのままカプセル化処理部105cに渡す。 次に、カプセル化処理部105cは、送信パケット503のIPヘッダ(第1IPヘッダ)及びTCPヘッダ(第1TCPヘッダ)に含まれる宛先情報(通信装置D101dのIPアドレスおよび第1通信ミドルウェア実行部104dを指定するポート番号)を用いてプロトコル管理テーブル110を参照し、当該送信パケットに対してカプセル化を行うか否かを判断する。通信相手が第2通信ミドルウェア実行部106を有していない通信装置である場合、プロトコル管理テーブル110のプロトコル欄403には、当該送信パケットをカプセル化せずそのまま送信(RAW送信)するよう指定されている。従って、カプセル化処理部105cはカプセル化処理を行わないと判断し、送信用パケット503をそのまま通信I/F109cに渡す。 次に、通信I/F109cは、送信用パケット503をネットワーク経由で通信装置D801dの通信I/F109dに送信する。   Next, the virtual communication I / F 108c passes the transmission packet 503 as it is to the encapsulation processing unit 105c. Next, the encapsulation processing unit 105c stores the destination information (the IP address of the communication device D101d and the first communication middleware execution unit 104d) included in the IP header (first IP header) and the TCP header (first TCP header) of the transmission packet 503. By referring to the protocol management table 110 using the designated port number), it is determined whether or not the transmission packet is to be encapsulated. When the communication partner is a communication apparatus that does not have the second communication middleware execution unit 106, the protocol column 403 of the protocol management table 110 is designated to transmit the transmission packet as it is without being encapsulated (RAW transmission). ing. Accordingly, the encapsulation processing unit 105c determines that the encapsulation processing is not performed, and passes the transmission packet 503 as it is to the communication I / F 109c. Next, the communication I / F 109c transmits the transmission packet 503 to the communication I / F 109d of the communication device D801d via the network.

次に、通信装置D801dの通信I/F109dは、ネットワークからパケット503を受信し、その受信パケットをプロトコルスタック107dに渡す。   Next, the communication I / F 109d of the communication device D801d receives the packet 503 from the network and passes the received packet to the protocol stack 107d.

次に、プロトコルスタック107dは、受け取ったパケットに対しプロトコル処理を行い、パケットのアプリケーションデータ502部分を取り出して、このアプリケーションデータ502をパケット503のTCPヘッダ(第1TCPヘッダ)の指定に従って第1通信ミドルウェア実行部104dに渡す。   Next, the protocol stack 107d performs protocol processing on the received packet, extracts the application data 502 portion of the packet, and uses the application data 502 as the first communication middleware according to the designation of the TCP header (first TCP header) of the packet 503. Passed to the execution unit 104d.

次に、第1通信ミドルウェア実行部104dは、受け取ったアプリケーションデータ502から第1ヘッダを外して、残りの部分501を通信アプリケーション実行部103dに渡す。
(旧装置から新装置へのデータ送信時の非カプセル化通信処理シーケンス)
次に、旧システムの通信装置E801eから、新システムに移行後の通信装置F101fにデータを送信する際の非カプセル化通信処理シーケンスを、図5と図9を用いて説明する。ここで、通信装置E101eは第1通信ミドルウェア実行部104は有するが第2通信ミドルウェア実行部106は有しておらず、通信装置F101fは第1通信ミドルウェア実行部104及び第2通信ミドルウェア実行部106を有する通信装置である。
Next, the first communication middleware execution unit 104d removes the first header from the received application data 502 and passes the remaining portion 501 to the communication application execution unit 103d.
(Decapsulated communication processing sequence when sending data from the old device to the new device)
Next, an unencapsulated communication processing sequence when data is transmitted from the communication device E801e of the old system to the communication device F101f after the transition to the new system will be described with reference to FIGS. Here, the communication device E101e has the first communication middleware execution unit 104 but not the second communication middleware execution unit 106, and the communication device F101f has the first communication middleware execution unit 104 and the second communication middleware execution unit 106. Is a communication device.

まず、通信装置E801eの通信アプリケーション実行部103eが、第1通信ミドルウェア実行部104eにアプリケーションデータ501を渡す。この際、通信アプリケーション実行部103eは、送信先の第1通信ミドルウェア実行部104fを指定するための情報(通信装置F101fのIPアドレス、第1通信ミドルウェア実行部104fのポート番号を含む、図6の第一ミドルの通信情報601に相当する情報)を一緒に第1通信ミドルウェア実行部104fに渡す。   First, the communication application execution unit 103e of the communication device E801e passes application data 501 to the first communication middleware execution unit 104e. At this time, the communication application execution unit 103e includes information for specifying the destination first communication middleware execution unit 104f (including the IP address of the communication device F101f and the port number of the first communication middleware execution unit 104f in FIG. 6). Information corresponding to the communication information 601 of the first middle) is passed to the first communication middleware executing unit 104f together.

次に、第1通信ミドルウェア実行部104eは、受け取った送信先の第1通信ミドルウェア実行部104fを指定するための情報を第1ヘッダとして受け取ったアプリケーションデータ501に付与し、これをアプリケーションデータ502としてプロトコルスタック107eに渡す。この際、第1通信ミドルウェア実行部104eは通信装置F101fのIPアドレスと第1通信ミドルウェア実行部104fのポート番号をプロトコルスタックに指定する。   Next, the first communication middleware executing unit 104e gives the received application data 501 with information for designating the received first communication middleware executing unit 104f as the first header, and this is given as application data 502. Passed to protocol stack 107e. At this time, the first communication middleware execution unit 104e designates the IP address of the communication device F101f and the port number of the first communication middleware execution unit 104f in the protocol stack.

次に、プロトコルスタック107eは、受け取った通信装置F101fのIPアドレスをIPヘッダ(第1IPヘッダ)として、ポート番号をTCPヘッダ(第1TCPヘッダ)として受け取ったアプリケーションデータ502に付与し、さらにパケットの送信先MACアドレス(第1MAC)も付与して送信用のパケット(Ethernetフレーム)503を生成し、通信I/F109eに生成したパケット503を渡す。   Next, the protocol stack 107e assigns the received IP address of the communication device F101f as the IP header (first IP header) and the port number as the TCP header (first TCP header) to the received application data 502, and further transmits the packet. A destination MAC address (first MAC) is also assigned to generate a transmission packet (Ethernet frame) 503, and the generated packet 503 is passed to the communication I / F 109e.

次に、通信I/F109eは、送信用パケット503をネットワーク経由で通信装置F101fの通信I/F109fに送信する。   Next, the communication I / F 109e transmits the transmission packet 503 to the communication I / F 109f of the communication device F101f via the network.

次に、通信装置F801fの通信I/F109fは、ネットワークからパケット503を受信し、その受信パケットをそのままカプセル化処理部105fに渡す。 次に、カプセル化処理部105fは、受信パケット503をそのまま仮想通信I/F108fに渡す。   Next, the communication I / F 109f of the communication device F801f receives the packet 503 from the network and passes the received packet to the encapsulation processing unit 105f as it is. Next, the encapsulation processing unit 105f passes the received packet 503 as it is to the virtual communication I / F 108f.

次に、仮想通信I/F108fは、受信パケット503をプロトコルスタック107fに渡す。   Next, the virtual communication I / F 108f passes the received packet 503 to the protocol stack 107f.

次に、プロトコルスタック107fは、受信パケット503に対してプロトコル処理を行い、受信パケットのアプリケーションデータ部分502を取り出して、受信パケット503の第1TCPヘッダの指定に従ってこのアプリケーションデータ部分502を第1通信ミドルウェア実行部104fに渡す。   Next, the protocol stack 107f performs protocol processing on the received packet 503, extracts the application data portion 502 of the received packet, and converts the application data portion 502 into the first communication middleware according to the designation of the first TCP header of the received packet 503. Passed to the execution unit 104f.

次に、第1通信ミドルウェア実行部104fは、受け取ったアプリケーションデータ502から第1ヘッダを外して、残りの部分501を通信アプリケーション実行部103fに渡す。   Next, the first communication middleware execution unit 104f removes the first header from the received application data 502 and passes the remaining portion 501 to the communication application execution unit 103f.

図7から図9に示すパケットの送受信処理においては、受信側通信装置及び送信側通信装置が第2通信ミドルウェア実行部106を有する新システムへの移行後の通信装置であるか否かに関わらず、IPヘッダには仮想通信I/Fに割り当てられたIPアドレスが用いられている。即ち、本実施形態においては、新システムへの移行に伴いIPアドレスを変更する必要はなく、従前のIPアドレスを使い続けてもパケットの送受信が可能であることが分かる。
(第1の実施形態におけるRAW受信部のフローチャート)
次に、第1の実施形態において、カプセル化処理部105内のRAW受信部201が実行する、パケット受信時の処理フローを、図10を用いて説明する。
In the packet transmission / reception processing shown in FIGS. 7 to 9, regardless of whether or not the receiving communication device and the transmitting communication device are communication devices after the transition to the new system having the second communication middleware execution unit 106. In the IP header, an IP address assigned to the virtual communication I / F is used. That is, in the present embodiment, it is not necessary to change the IP address in accordance with the transition to the new system, and it can be seen that packets can be transmitted and received even if the previous IP address is continuously used.
(Flowchart of the RAW receiver in the first embodiment)
Next, a processing flow at the time of packet reception executed by the RAW reception unit 201 in the encapsulation processing unit 105 in the first embodiment will be described with reference to FIG.

ステップ1001でRAW受信部201は、通信I/F109から受信パケット(Ethernetフレーム)をRAW受信(そのまま受信)する。   In step 1001, the RAW reception unit 201 receives a received packet (Ethernet frame) from the communication I / F 109 in RAW (received as it is).

ステップ1002でRAW受信部201は、受信したパケット(Ethernetフレーム)を仮想通信I/F108に渡す。本処理終了後、ステップ1001に戻る。
(第1の実施形態におけるミドル受信部のフローチャート)
次に、第1の実施形態において、カプセル化処理部105内のミドル受信部202が実行する、パケット受信時の処理フローを、図11を用いて説明する。
In step 1002, the raw reception unit 201 passes the received packet (Ethernet frame) to the virtual communication I / F 108. After this process is completed, the process returns to step 1001.
(Flowchart of the middle receiving unit in the first embodiment)
Next, a processing flow at the time of packet reception executed by the middle reception unit 202 in the encapsulation processing unit 105 in the first embodiment will be described with reference to FIG.

ステップ1101でミドル受信部202は、第2通信ミドルウェア実行部106からアプリケーションデータ(即ちデカプセル化後のEthernetフレーム)を受信する。   In step 1101, the middle reception unit 202 receives application data (that is, an Ethernet frame after decapsulation) from the second communication middleware execution unit 106.

ステップ1102でミドル受信部202は、受信したEthernetフレームの宛先MACアドレスをチェックする。もし宛先がユニキャストアドレスであれば、ステップ1104へ進む。ユニキャストアドレスでなければ、ステップ1105へ進む。   In step 1102, the middle receiving unit 202 checks the destination MAC address of the received Ethernet frame. If the destination is a unicast address, go to Step 1104. If it is not a unicast address, go to Step 1105.

ステップ1104でミドル受信部202は、Ethernetフレームの宛先MACアドレスを自身の仮想通信I/F108のMACアドレスに書換える。   In step 1104, the middle receiving unit 202 rewrites the destination MAC address of the Ethernet frame with the MAC address of its own virtual communication I / F 108.

ステップ1105でミドル受信部202は、Ethernetフレームを仮想通信I/F108に渡す。本処理終了後、ステップ1101に戻る。
(第1の実施形態におけるカプセル化判定部のフローチャート)
次に、第1の実施形態において、カプセル化処理部105内のカプセル化判定部203が実行する、パケット送信時の処理フローを、図12を用いて説明する。
In step 1105, the middle receiving unit 202 passes the Ethernet frame to the virtual communication I / F 108. After this processing is completed, the process returns to step 1101.
(Flowchart of encapsulation determination unit in the first embodiment)
Next, a processing flow at the time of packet transmission executed by the encapsulation determination unit 203 in the encapsulation processing unit 105 in the first embodiment will be described with reference to FIG.

ステップ1201でカプセル化判定部203は、仮想通信I/F108から送信パケット(Ethernetフレーム)を取得する。   In step 1201, the encapsulation determination unit 203 acquires a transmission packet (Ethernet frame) from the virtual communication I / F 108.

ステップ1202でカプセル化判定部203は、取得したEthernetフレームをカプセルすべきか否か判断する。この判定は、受信したEthernetフレームのIPヘッダ及びTCPヘッダに指定された宛先情報を用いてプロトコル管理テーブル110を参照することにより、行われる。   In step 1202, the encapsulation determination unit 203 determines whether or not the acquired Ethernet frame should be encapsulated. This determination is made by referring to the protocol management table 110 using the destination information specified in the IP header and TCP header of the received Ethernet frame.

もしカプセル化不要のEthernetフレームであれば、ステップ1204へ進む。カプセル化が必要なEthernetフレームであれば、ステップ1207へ進む。   If the Ethernet frame does not require encapsulation, the process proceeds to step 1204. If the Ethernet frame needs to be encapsulated, the process proceeds to step 1207.

ステップ1204でカプセル化判定部203は、RAW送信部204にEthernetフレームを渡す。本処理終了後、ステップ1201に戻る。   In step 1204, the encapsulation determination unit 203 passes the Ethernet frame to the RAW transmission unit 204. After this process is completed, the process returns to step 1201.

ステップ1207でカプセル化判定部203は、ミドル送信部205にEthernetフレームを渡す。この際でカプセル化判定部203は、送信先の第2通信ミドルウェア実行部を指定するための情報(送信先通信装置のIPアドレス、第2通信ミドルウェア実行部106のポート番号を含む、図6の第2ミドルの通信情報602に相当する情報)を一緒にミドル送信部205に渡す。本処理終了後、ステップ1201に戻る。
(第1の実施形態におけるRAW送信部のフローチャート)
次に、第1の実施形態において、カプセル化処理部105内のRAW送信部204が実行する、パケット送信時の処理フローを、図13を用いて説明する。
In step 1207, the encapsulation determination unit 203 passes the Ethernet frame to the middle transmission unit 205. At this time, the encapsulation determination unit 203 includes information for specifying the second communication middleware execution unit of the transmission destination (including the IP address of the transmission destination communication device and the port number of the second communication middleware execution unit 106 of FIG. Information corresponding to the second middle communication information 602) is passed to the middle transmitter 205 together. After this process is completed, the process returns to step 1201.
(Flow chart of the RAW transmission unit in the first embodiment)
Next, a processing flow at the time of packet transmission executed by the RAW transmission unit 204 in the encapsulation processing unit 105 in the first embodiment will be described with reference to FIG.

ステップ1301でRAW送信部204は、カプセル化判定部105からEthernetフレームを取得する。   In step 1301, the RAW transmission unit 204 acquires an Ethernet frame from the encapsulation determination unit 105.

ステップ1302でRAW送信部204は、通信I/F109を用いて、取得したEthernetフレームをRAW送信(そのまま送信)する。本処理終了後、ステップ1301に戻る。
(第1の実施形態におけるミドル送信部のフローチャート)
次に、第1の実施形態において、カプセル化処理部105内のミドル送信部205が実行する、パケット送信時の処理フローを、図14を用いて説明する。
In step 1302, the RAW transmission unit 204 RAW-transmits (transmits as it is) the acquired Ethernet frame using the communication I / F 109. After this processing is completed, the process returns to step 1301.
(Flowchart of middle transmission unit in the first embodiment)
Next, a processing flow at the time of packet transmission executed by the middle transmission unit 205 in the encapsulation processing unit 105 in the first embodiment will be described with reference to FIG.

ステップ1401でミドル送信部は、カプセル化判定部からEthernetフレームを取得する。   In step 1401, the middle transmission unit acquires an Ethernet frame from the encapsulation determination unit.

ステップ1402でミドル送信部は、EthernetフレームのIPヘッダおよびTCIPヘッダに含まれるアドレス情報(送信先通信装置のIPアドレスおよび当該通信装置の第1通信ミドルウェアを識別するポート番号)を取得する。   In step 1402, the middle transmission unit acquires address information (the IP address of the transmission destination communication device and the port number for identifying the first communication middleware of the communication device) included in the IP header and TCIP header of the Ethernet frame.

ステップ1403でミドル送信部は、取得した送信先通信装置のIPアドレスおよび第1通信ミドルウェアを識別するポート番号から、通信情報対応テーブル112を参照し、送信先通信装置の第2通信ミドルウェアに向けてEthernetフレームを送信するために必要な、送信先通信装置のIPアドレスおよび当該通信装置の第2通信ミドルウェアを識別するポート番号を取得する。   In step 1403, the middle transmission unit refers to the communication information correspondence table 112 based on the acquired IP address of the transmission destination communication device and the port number for identifying the first communication middleware, toward the second communication middleware of the transmission destination communication device. An IP address of a destination communication device and a port number for identifying the second communication middleware of the communication device, which are necessary for transmitting the Ethernet frame, are acquired.

ステップ1404でミドル送信部は、第2通信ミドルウェア実行部に対し、ステップ1403で取得した送信先通信装置のIPアドレスおよび当該通信装置の第2通信ミドルウェアのポート番号を引き渡し、ステップ1401で受信したEthernetフレームをひとまとまりのアプリケーションデータと見なして送信するよう指示を出す。本ステップ終了後、ステップ1401に戻る。   In step 1404, the middle transmission unit delivers the IP address of the transmission destination communication device acquired in step 1403 and the port number of the second communication middleware of the communication device to the second communication middleware execution unit, and the Ethernet received in step 1401. Instruct the frame to be transmitted as a group of application data. After completion of this step, the process returns to step 1401.

<第2実施形態>
第2実施形態では、カプセル化対象のパケットとして、OSIモデルで言うところのレイヤ3であるIPデータグラム(以下、IPパケット)を想定した例について説明する。なお、第2実施形態の通信装置101のシステム構成は、第1実施形態のシステム構成(図1および図2)と同じであるため、説明は省略する。
Second Embodiment
In the second embodiment, an example in which an IP datagram (hereinafter referred to as an IP packet) that is Layer 3 as referred to in the OSI model is assumed as a packet to be encapsulated will be described. Note that the system configuration of the communication apparatus 101 according to the second embodiment is the same as the system configuration (FIGS. 1 and 2) according to the first embodiment, and a description thereof will be omitted.

以下、第1実施形態と機能が異なる、仮想通信I/F108、RAW受信部201、ミドル受信部202、カプセル化判定部203、RAW送信部204、ミドル送信部205について、説明する。   Hereinafter, the virtual communication I / F 108, the RAW reception unit 201, the middle reception unit 202, the encapsulation determination unit 203, the RAW transmission unit 204, and the middle transmission unit 205 that have different functions from the first embodiment will be described.

第2実施形態の仮想通信I/F108は、カプセル化対象がIPパケットであるため、カプセル化処理部105と、Ethernetフレームではなく、IPパケットのやりとりを行う。
(第2の実施形態におけるRAW受信部のフローチャート)
次に、第2の実施形態において、カプセル化処理部105内のRAW受信部201の、パケット受信時の処理フローを、図15を用いて説明する。
Since the encapsulation target is an IP packet, the virtual communication I / F 108 of the second embodiment exchanges an IP packet with the encapsulation processing unit 105 instead of an Ethernet frame.
(Flowchart of RAW receiver in the second embodiment)
Next, a processing flow at the time of packet reception of the RAW reception unit 201 in the encapsulation processing unit 105 in the second embodiment will be described with reference to FIG.

ステップ1501でRAW受信部201は、通信I/F109からEthernetフレームをRAW受信する。   In step 1501, the RAW reception unit 201 receives an Ethernet frame from the communication I / F 109 as RAW data.

ステップ1502でRAW受信部201は、受信したEthernetフレームの宛先MACアドレスをチェックし、正しいEthernetフレームかをチェックする。   In step 1502, the RAW reception unit 201 checks the destination MAC address of the received Ethernet frame, and checks whether the Ethernet frame is correct.

ステップ1503でRAW受信部201は、受信したEthernetフレームからIPパケットを抽出する。   In step 1503, the RAW reception unit 201 extracts an IP packet from the received Ethernet frame.

ステップ1504でRAW受信部201は、抽出したIPパケットを仮想通信I/F108に渡す。
(第2の実施形態におけるミドル受信部のフローチャート)
次に、第2の実施形態において、カプセル化処理部105内のミドル受信部202の、パケット受信時の処理フローを、図16を用いて説明する。
In step 1504, the RAW reception unit 201 passes the extracted IP packet to the virtual communication I / F 108.
(Flowchart of the middle receiving unit in the second embodiment)
Next, in the second embodiment, a processing flow at the time of packet reception of the middle reception unit 202 in the encapsulation processing unit 105 will be described with reference to FIG.

ステップ1601でミドル受信部202は、第2通信ミドルウェア実行部からアプリケーションデータ(=カプセル化前のIPパケット)を受信する。   In step 1601, the middle receiving unit 202 receives application data (= IP packet before encapsulation) from the second communication middleware executing unit.

ステップ1602でミドル受信部202は、受信したIPパケットを仮想通信I/F109に渡す。
(第2の実施形態におけるカプセル化判定部のフローチャート)
第2の実施形態における、カプセル化処理部105内のカプセル化判定部203の、パケット送信時の処理フローについては、図12のEthernetフレームをIPパケットに読み替えれば同様の処理フローとなるため、説明を省略する。
(第2の実施形態におけるRAW送信部のフローチャート)
次に、第2の実施形態における、カプセル化処理部105内のRAW送信部204の、パケット送信時の処理フローを、図17を用いて説明する。
In step 1602, the middle receiving unit 202 passes the received IP packet to the virtual communication I / F 109.
(Flowchart of encapsulation determination unit in the second embodiment)
In the second embodiment, the processing flow at the time of packet transmission of the encapsulation determination unit 203 in the encapsulation processing unit 105 is the same processing flow if the Ethernet frame in FIG. 12 is replaced with an IP packet. Description is omitted.
(Flowchart of RAW transmission unit in the second embodiment)
Next, a processing flow at the time of packet transmission of the RAW transmission unit 204 in the encapsulation processing unit 105 in the second embodiment will be described with reference to FIG.

ステップ1701でRAW送信部204は、カプセル化判定部からIPパケットを取得する。   In step 1701, the RAW transmission unit 204 acquires an IP packet from the encapsulation determination unit.

ステップ1702でRAW送信部204は、Ethernetフレームを作成する。このとき送信元MACアドレスには自身の仮想通信I/F108のMACアドレスを使用する。また、宛先MACアドレスは、宛先IPアドレスから、プロトコルスタックと同様にARP処理によって取得しても良いし、ARPテーブル相当のテーブルを独自に管理しておき、それを参照してもよい。   In step 1702, the RAW transmission unit 204 creates an Ethernet frame. At this time, the MAC address of its own virtual communication I / F 108 is used as the source MAC address. Further, the destination MAC address may be acquired from the destination IP address by ARP processing in the same manner as the protocol stack, or a table corresponding to the ARP table may be managed independently and referred to.

ステップ1703でRAW送信部204は、通信I/Fを用いて、ステップ1702で作成したEthernetフレームをRAW送信する。本処理が終了すると、ステップ1701に戻る。
(第2の実施形態におけるミドル送信部のフローチャート)
第2の実施形態における、カプセル化処理部105内のミドル送信部205の、パケット送信時の処理フローについては、図14のEthernetフレームをIPパケットに読み替えれば同様の処理フローとなるため、説明を省略する。
In step 1703, the RAW transmission unit 204 RAW-transmits the Ethernet frame created in step 1702 using the communication I / F. When this process ends, the process returns to step 1701.
(Flowchart of middle transmission unit in the second embodiment)
The processing flow at the time of packet transmission of the middle transmission unit 205 in the encapsulation processing unit 105 in the second embodiment will be the same processing flow if the Ethernet frame in FIG. Is omitted.

<第3実施形態>
図18を用いて、二重化通信を行う例を説明する。
<Third Embodiment>
An example in which duplex communication is performed will be described with reference to FIG.

図18に示す通信装置101は、第2通信ミドルウェア実行部106が2重化通信機能を提供するケースを示している。なお、図18に示す各機能ブロックは、それぞれ図1に示す各機能ブロックと同様の構成を有しているため、同じ符号を付している。   A communication apparatus 101 illustrated in FIG. 18 illustrates a case where the second communication middleware execution unit 106 provides a duplex communication function. Each functional block shown in FIG. 18 has the same configuration as each functional block shown in FIG.

図18において、通信装置101は、異なるネットワークアドレス体系のネットワークA(例えば、192.168.1.*)およびネットワークB(例えば、10.232.10.*)に接続されている。そして、仮想通信I/F108AにはネットワークAに所属するIPアドレス(例えば、192.168.0.1)が割り当てられており、仮想通信I/F108BにはネットワークBに属するIPアドレス(例えば、10.232.10.1)が割り当てられている。   In FIG. 18, the communication apparatus 101 is connected to a network A (for example, 192.168.1. *) And a network B (for example, 10.232.10. *) Having different network address systems. The virtual communication I / F 108A is assigned an IP address (eg, 192.168.0.1) belonging to the network A, and the virtual communication I / F 108B is assigned an IP address (eg, 10.232.10.1) belonging to the network B. Assigned.

2重か通信機能を有する通信装置同士がパケットを送受信する際に実行する処理の中で、第1実施形態とは異なる処理を以下に説明する。その他の処理については第1実施形態と同様である。   Of the processes executed when the communication apparatuses having dual or communication functions transmit and receive packets, processes different from the first embodiment will be described below. Other processes are the same as those in the first embodiment.

第1通信ミドルウェア実行部104はアプリケーション実行部103から受信したアプリケーションデータ501に第1ヘッダを付与する。第1ヘッダには、通信相手の通信装置の2つの仮想通信I/Fに割当られた2つのIPアドレスのうち、任意の一方のIPアドレスと、通信相手の通信装置の第1通信ミドルウェアを識別するポート番号が含まれる。   The first communication middleware execution unit 104 adds a first header to the application data 501 received from the application execution unit 103. The first header identifies one of the two IP addresses assigned to the two virtual communication I / Fs of the communication partner communication device and the first communication middleware of the communication partner communication device. Port number to be included.

こうして作成されたアプリケーションデータ502を第1通信ミドルウェア実行部104はプロトコルスタック107へ引き渡す。このとき、第1ヘッダに付与したIPアドレスとポート番号を第1通信ミドルウェア実行部104は指定する。   The first communication middleware execution unit 104 delivers the application data 502 created in this way to the protocol stack 107. At this time, the first communication middleware execution unit 104 specifies the IP address and the port number assigned to the first header.

プロトコルスタックは、指定されたIPアドレスを第1IPヘッダに、指定されたポート番号を第1TCPヘッダに有し、更に第1MACアドレスが付与された送信パケット503を作成しこれをいずれか一方の仮想通信I/Fを介してカプセル化処理部105に渡す。   The protocol stack creates a transmission packet 503 having the designated IP address in the first IP header, the designated port number in the first TCP header, and further assigned with the first MAC address. The data is transferred to the encapsulation processing unit 105 via the I / F.

カプセル化処理部105では実施例1と同様プロトコル管理テーブルを用いてカプセル化の要否が判断される。この場合、カプセル化要と判断されるので、カプセル化処理部105は送信パケット503を第2通信ミドルウェア実行部106に引き渡す。この際、カプセル化処理部105は、通信相手の通信装置に割り当てられた2つのIPアドレスと当該通信装置の第2通信ミドルウェアの識別情報(ポート番号)も一緒に第2通信ミドルウェア実行部106に通知する。   In the encapsulation processing unit 105, the necessity of encapsulation is determined using the protocol management table as in the first embodiment. In this case, since it is determined that encapsulation is necessary, the encapsulation processing unit 105 delivers the transmission packet 503 to the second communication middleware execution unit 106. At this time, the encapsulation processing unit 105 sends the two IP addresses assigned to the communication device of the communication partner and the identification information (port number) of the second communication middleware of the communication device together to the second communication middleware execution unit 106. Notice.

第2通信ミドルウェア実行部106は、カプセル化処理部105から送信用のアプリケーションデータ(=カプセル化前の送信パケット)503を受信すると、これを複製する。そして、通信相手の通信装置のIPアドレスと当該通信装置の第2通信ミドルウェア実行部106のポート番号とを有する第2ヘッダを、オリジナルのアプリケーションデータ503とその複製各々に付与することによって、カプセル化する。この際、オリジナルのアプリケーションデータ503に付与される第2ヘッダと複製に付与される第2ヘッダに含まれているIPアドレスは、同じ通信装置に割り当てられている異なるIPアドレス(すなわち、通信相手の通信装置の2つの仮想通信I/Fに割り当てられている異なるIPアドレス)である。   When receiving the application data for transmission (= transmission packet before encapsulation) 503 from the encapsulation processing unit 105, the second communication middleware execution unit 106 duplicates it. Then, the second header having the IP address of the communication device of the communication partner and the port number of the second communication middleware execution unit 106 of the communication device is added to the original application data 503 and each of the duplicates, thereby encapsulating To do. At this time, the IP address included in the second header assigned to the original application data 503 and the second header assigned to the duplicate are different IP addresses assigned to the same communication device (that is, the communication partner's IP address). Different IP addresses assigned to the two virtual communication I / Fs of the communication device).

そして、第2通信ミドルウェア実行部106は、各々異なるIPアドレスを第2ヘッダに有する2つのパケット504を、プロトコルスタック107に渡す。この際、第2通信ミドルウェア実行部106は、各通信パケット504の第2ヘッダに格納されたIPアドレス及びポート番号を、当該通信パケット504の宛先としてプロトコルスタックに通知する。   Then, the second communication middleware execution unit 106 passes two packets 504 each having a different IP address in the second header to the protocol stack 107. At this time, the second communication middleware executing unit 106 notifies the protocol stack of the IP address and port number stored in the second header of each communication packet 504 as the destination of the communication packet 504.

パケット504にはプロトコルスタック107によって第2MAC、第2IPヘッダ、第2TCPヘッダが付与される。ここで第2IPヘッダ及び第2TCPヘッダに格納されるのは第2通信ミドルウェア実行部106から指定されたIPアドレス及びポート番号である。こうして作成された2つの通信パケット505は、各々異なる仮想通信I/F108Aまたは仮想通信I/F108Bに渡され、更にカプセル化処理部105によって、各々異なる通信I/F109Aまたは通信I/F109Bに渡されて、RAW送信される。そして、2重化送信されたカプセル化パケットは、異なるネットワーク経由で送信先の通信装置101に到着する。   The packet 504 is given a second MAC, a second IP header, and a second TCP header by the protocol stack 107. Here, the IP address and the port number designated by the second communication middleware execution unit 106 are stored in the second IP header and the second TCP header. The two communication packets 505 created in this way are each passed to different virtual communication I / F 108A or virtual communication I / F 108B, and further passed to different communication I / F 109A or communication I / F 109B by the encapsulation processing unit 105. RAW transmission. Then, the double-encapsulated encapsulated packet arrives at the destination communication device 101 via a different network.

異なるネットワークから当該2重化されたカプセル化パケットを受信した通信装置101では、カプセル化処理部105を介して2つの仮想化通信I/F各々が自身のIPアドレスを宛先に持つパケット505を受信する。このIPパケットはプロトコルスタック107によってMACアドレス、第2IPヘッダ、第2TCPヘッダが外され、第2通信ミドルウェア実行部106がプロトコルスタック107から、2重化されたアプリケーションデータ(=デカプセル化後の受信パケット)504を受け取る。   In the communication apparatus 101 that has received the duplicated encapsulated packet from different networks, each of the two virtual communication I / Fs receives the packet 505 whose destination is its own IP address via the encapsulation processing unit 105. To do. This IP packet has the MAC address, the second IP header, and the second TCP header removed by the protocol stack 107, and the second communication middleware execution unit 106 receives the duplicated application data (= received packet after decapsulation) from the protocol stack 107. ) 504 is received.

第2通信ミドルウェア106は、2つの受信パケット504各々から第2ヘッダが外し、エラー等の異常の有無を判定する。そして、異常のないアプリケーションデータ(=デカプセル化後の受信パケット)503をカプセル化処理部105に渡す。なお、第2通信ミドルウェア実行部106は、受信した2つのアプリケーションデータ503の内異常のないアプリケーションデータのみをカプセル化処理部105に引き渡す。2つのアプリケーションデータの双方ともに異常がない場合は、いずれか一方(例えば、後着パケット)を破棄し他方のみをカプセル化処理部105に渡す。その後の処理は第1の実施形態と同様である。   The second communication middleware 106 removes the second header from each of the two received packets 504, and determines whether there is an abnormality such as an error. Then, application data (= received packet after decapsulation) 503 having no abnormality is passed to the encapsulation processing unit 105. Note that the second communication middleware execution unit 106 passes only the application data having no abnormality in the received two application data 503 to the encapsulation processing unit 105. When there is no abnormality in both of the two application data, either one (for example, late arrival packet) is discarded and only the other is passed to the encapsulation processing unit 105. Subsequent processing is the same as in the first embodiment.

尚、第3実施形態ではデータが2重化されて送受信される例を説明したが、発明はこれに限られるものではなく、3重化以上の多重化がなされる構成であっても構わない。   In the third embodiment, an example in which data is duplicated and transmitted / received has been described. However, the present invention is not limited to this, and it may be configured to be multiplexed more than triple. .

また、本実施例では、ネットワークAおよびネットワークBが異なるアドレス体系の場合を例に説明したが、同一アドレス体系のネットワークであってもよく、その場合は仮想通信I/F108Aおよび仮想通信I/F108Bは同一ネットワークに属するIPアドレスが割り当てられる。また、本実施例では、通信I/Fが2つの場合を例に説明したが、3つ以上であってもよい。   Further, in this embodiment, the case where the network A and the network B have different address systems has been described as an example, but the same address system may be used. In this case, the virtual communication I / F 108A and the virtual communication I / F 108B Are assigned IP addresses belonging to the same network. In this embodiment, the case where there are two communication I / Fs has been described as an example, but three or more may be used.

また、第1実施形態、第2実施形態、および第3実施形態において説明した、各通信装置101は、一般的なコンピュータに、前記した各部のプログラムを実行させることで実現することができる。このプログラムは、通信回線を介して提供することが可能であるし、CD−ROM(Compact Disc-Read Only Memory)等の記録媒体に書き込んで配布することも可能である。   Further, each communication device 101 described in the first embodiment, the second embodiment, and the third embodiment can be realized by causing a general computer to execute the program of each unit described above. The program can be provided via a communication line, or can be written and distributed on a recording medium such as a CD-ROM (Compact Disc-Read Only Memory).

101…通信装置
102…ネットワーク
103…通信アプリケーション実行部
104…第1通信ミドルウェア実行部
105…カプセル化処理部
106…第2通信ミドルウェア実行部
107…プロトコルスタック
108…仮想通信I/F
109…通信I/F
110…プロトコル管理テーブル
112…通信情報対応テーブル
201…RAW受信部
202…ミドル受信部
203…カプセル化判定部
204…RAW送信部
205…ミドル送信部
301…ホストCPU
302…ホストメモリ
303…周辺I/F
304…記憶装置
305…通信I/F
306…バス
1901…旧システムの通信装置
1902…通信アプリケーション
1903…旧通信ミドルウェア
1904…プロトコルスタック
1905…通信I/F
1906…新システムの通信装置
1907…新旧ミドル変換部
1908…新通信ミドルウェア
101 ... Communication device
102 ... Network
103 ... Communication application execution part
104 ... 1st communication middleware execution part
105 ... Encapsulation processing unit
106… Second communication middleware execution unit
107 ... Protocol stack
108… Virtual communication I / F
109… Communication I / F
110: Protocol management table
112 ... Communication information correspondence table
201 ... RAW receiver
202 ... Middle receiver
203 ... Encapsulation judgment unit
204 ... RAW transmission section
205 ... Middle transmitter
301 ... Host CPU
302 ... Host memory
303… Peripheral I / F
304 ... Storage device
305 ... Communication I / F
306 ... Bus
1901 ... Old system communication device
1902: Communication application
1903 ... Old communication middleware
1904: Protocol stack
1905 Communication I / F
1906 ... New system communication device
1907… New and old middle converter
1908 ... New communication middleware

Claims (11)

他の通信装置と通信する通信装置であって、
データを当該他の通信装置を指定した宛先アドレスを用いてカプセル化して、第1パケットを作成する第1パケット作成部と、
当該第1パケットを用いて所定の処理を実行する処理部と、
当該第1パケットを当該宛先アドレスを用いて再びカプセル化して、第2パケットを作成する、第2パケット作成部と、
当該第2パケットを当該他の通信装置へ送信する送信部を有する通信装置。
A communication device that communicates with other communication devices,
A first packet creating unit that encapsulates data using a destination address that specifies the other communication device and creates a first packet;
A processing unit that executes predetermined processing using the first packet;
Re-encapsulating the first packet using the destination address to create a second packet, a second packet creation unit;
A communication apparatus having a transmission unit for transmitting the second packet to the other communication apparatus.
請求項1記載の通信装置であって、宛先アドレス毎に第2パケット作成の要否を指定した管理テーブルを有しており、
前記処理部は、前記管理テーブルを参照して、前記第1パケット作成部が作成した第1パケットに含まれる宛先アドレスに基いて当該第1パケットを前記第2パケット作成部がカプセル化すべきか否か判断する通信装置。
The communication apparatus according to claim 1, further comprising a management table that specifies whether or not the second packet needs to be created for each destination address,
The processing unit refers to the management table, and whether or not the second packet creation unit should encapsulate the first packet based on a destination address included in the first packet created by the first packet creation unit A communication device that determines whether or not.
請求項2記載の通信装置であって、前記処理部が前記第1パケットに対するカプセル化は不要であると判断した場合に、前記送信部は当該第1パケットを前記他の通信装置へ送信する通信装置。   The communication device according to claim 2, wherein when the processing unit determines that encapsulation of the first packet is unnecessary, the transmission unit transmits the first packet to the other communication device. apparatus. 請求項1記載の通信装置であって、更に、
第2パケットを他の通信装置から受信した場合に、当該第2パケットを当該通信装置自身のアドレスでデカプセル化して第1パケットを抽出する第1パケット抽出部と、
当該第1パケットを当該通信装置自身のアドレスで再びデカプセル化してデータを抽出するデータ抽出部とを有する通信装置。
The communication device according to claim 1, further comprising:
When receiving the second packet from another communication device, a first packet extraction unit that decapsulates the second packet with the address of the communication device itself and extracts the first packet;
A communication device having a data extraction unit that decapsulates the first packet again with the address of the communication device itself and extracts data.
通信アプリケーションとの間でアプリケーションデータの受け渡しを行い、第1通信プロトコルを用いる第1通信ミドルウェア実行部と、
第2通信プロトコルを用いる第2通信ミドルウェア実行部と、
前記第1通信ミドルウェア実行部および前記第2通信ミドルウェア実行部からの指示に基いて通信パケットの処理を実行するプロトコルスタック部と、
前記プロトコルスタック部との間で通信パケットの受け渡しを行う仮想通信インタフェース部と、
前記仮想通信インタフェース部とネットワークに接続された通信インタフェース部との間で通信パケットの受け渡しを行う処理部とを有しており、
前記第1通信ミドルウェア実行部の指示に基いて、前記プロトコルスタック部は、アプリケーションデータの送信先通信装置の仮想通信インタフェースに割り当てられた第1IPアドレスと当該送信先通信装置の第1通信ミドルウェア実行部に割り当てられた第1ポート番号とを当該アプリケーションデータに付与して第1通信パケットを作成し、当該第1通信パケットを前記仮想通信インタフェース部に渡し、
前記仮想通信インタフェース部から前記第1通信パケットを受信した前記処理部は、当該第1通信パケットを前記第2通信ミドルウェア実行部に渡し、
前記第2通信ミドルウェア実行部は前記第1通信パケットを前記プロトコルスタック部に渡し、
前記プロトコルスタック部は、前記第2通信ミドルウェア実行部の指示に基いて、前記第1IPアドレスと前記送信先通信装置の第2通信ミドルウェア実行部に割り当てられた第2ポート番号とを前記第1通信パケットに付与して第2通信パケットを作成して前記仮想通信インタフェース部に渡し、
前記仮想通信インタフェース部と前記処理部とを経由して前記第2通信パケットを受信した前記通信インタフェース部は、当該第2通信パケットを前記ネットワークに送信する通信装置。
A first communication middleware execution unit that passes application data to and from a communication application and uses a first communication protocol;
A second communication middleware execution unit that uses the second communication protocol;
A protocol stack unit that executes communication packet processing based on instructions from the first communication middleware execution unit and the second communication middleware execution unit;
A virtual communication interface unit that exchanges communication packets with the protocol stack unit;
A processing unit that transfers a communication packet between the virtual communication interface unit and a communication interface unit connected to a network,
Based on an instruction from the first communication middleware execution unit, the protocol stack unit includes a first IP address assigned to the virtual communication interface of the application data transmission destination communication device and the first communication middleware execution unit of the transmission destination communication device. The first port number assigned to the application data is assigned to create the first communication packet, the first communication packet is passed to the virtual communication interface unit,
The processing unit that has received the first communication packet from the virtual communication interface unit passes the first communication packet to the second communication middleware execution unit,
The second communication middleware execution unit passes the first communication packet to the protocol stack unit,
The protocol stack unit, based on an instruction from the second communication middleware execution unit, displays the first IP address and a second port number assigned to the second communication middleware execution unit of the transmission destination communication device. Create a second communication packet attached to the packet and pass to the virtual communication interface unit,
The communication device that receives the second communication packet via the virtual communication interface unit and the processing unit transmits the second communication packet to the network.
請求項5記載の通信装置であって、
前記処理部は、前記第1通信パケットに付与されている前記第1IPアドレス及び前記第1ポート番号とに基いて、当該第1通信パケットを前記第2通信ミドルウェア実行部若しくは前記通信インタフェース部のいずれに引き渡すか判断する通信装置。
The communication device according to claim 5,
The processing unit determines whether the first communication packet is sent to the second communication middleware execution unit or the communication interface unit based on the first IP address and the first port number assigned to the first communication packet. A communication device that determines whether or not to hand over.
請求項6記載の通信装置であって、
前記処理部が前記第1通信パケットを前記通信インタフェース部に引き渡すと判断した場合に、当該処理部から当該第1通信パケットを受信した当該通信インタフェース部は、当該第1通信パケットを前記ネットワークに送信する通信装置。
The communication device according to claim 6, wherein
When the processing unit determines to deliver the first communication packet to the communication interface unit, the communication interface unit that has received the first communication packet from the processing unit transmits the first communication packet to the network. Communication device.
請求項5記載の通信装置であって、
前記通信インタフェース部、前記処理部、及び前記仮想通信インタフェース部を介して前記プロトコルスタックが第2通信パケットを受信した場合に、当該プロトコルスタックは当該第2通信パケットから第1通信パケットを抽出して当該第1通信パケットを当該第2通信パケットに付与された第2ポート番号が示す前記第2通信ミドルウェア実行部に渡し、
前記第2通信ミドルウェア実行部と前記仮想通信インタフェース部とを介して前記第1通信パケットを受信した前記プロトコルスタックは、当該第1通信パケットからアプリケーションデータを抽出して、当該アプリケーションデータを当該第1通信パケットに付与された第1ポート番号が示す前記第1通信ミドルウェア実行部に渡す通信装置。
The communication device according to claim 5,
When the protocol stack receives the second communication packet via the communication interface unit, the processing unit, and the virtual communication interface unit, the protocol stack extracts the first communication packet from the second communication packet. Pass the first communication packet to the second communication middleware execution unit indicated by the second port number given to the second communication packet,
The protocol stack that has received the first communication packet via the second communication middleware execution unit and the virtual communication interface unit extracts application data from the first communication packet, and extracts the application data from the first communication packet. A communication device for passing to the first communication middleware execution unit indicated by a first port number assigned to a communication packet.
請求項5記載の通信装置であって、
前記通信インタフェース部、前記処理部、及び前記仮想通信インタフェース部を介して前記プロトコルスタックが第1通信パケットを受信した場合に、当該プロトコルスタックは、当該第1通信パケットからアプリケーションデータを抽出して、当該アプリケーションデータを当該第1通信パケットに付与された第1ポート番号が示す前記第1通信ミドルウェア実行部に渡す通信装置。
The communication device according to claim 5,
When the protocol stack receives the first communication packet via the communication interface unit, the processing unit, and the virtual communication interface unit, the protocol stack extracts application data from the first communication packet, A communication device that passes the application data to the first communication middleware execution unit indicated by a first port number assigned to the first communication packet.
請求項5に記載の通信装置であって、
更に前記第1IPアドレスとは異なるIPアドレスが付与された他の仮想通信インタフェース部と、他の通信インタフェース部とを有しており、
前記第2通信ミドルウェア実行部は、前記第1通信パケットの複製である複製第1通信パケットを作成して前記プロトコルスタック部に渡し、
前記プロトコルスタック部は、前記第2通信ミドルウェア実行部の指示に従って、前記送信先通信装置が有する他の仮想通信インタフェース部に割り当てられた第2IPアドレスと前記第2ポート番号とを前記複製第1通信パケットに付与して他の第2通信パケットを生成して、前記他の仮想通信インタフェース部に渡し、
前記他の仮想通信インタフェース部と前記処理部とを介して前記他の第2通信パケットを受信した前記他の通信インタフェース部は、当該他の第2通信パケットを前記ネットワークへ送信する通信装置。
The communication device according to claim 5,
Furthermore, it has another virtual communication interface unit provided with an IP address different from the first IP address, and another communication interface unit,
The second communication middleware execution unit creates a duplicate first communication packet that is a duplicate of the first communication packet and passes it to the protocol stack unit,
The protocol stack unit, in accordance with an instruction from the second communication middleware execution unit, sets the second IP address and the second port number assigned to another virtual communication interface unit included in the destination communication device to the duplicate first communication. Generate other second communication packet by giving to the packet, and pass to the other virtual communication interface unit,
The other communication interface unit that has received the other second communication packet via the other virtual communication interface unit and the processing unit transmits the other second communication packet to the network.
請求項10記載の通信装置であって、
前記通信インタフェース部と前記処理部と前記仮想通信インタフェース部とを介して第2通信パケットを、前記他の通信インタフェース部と前記処理部と前記他の仮想通信インタフェース部とを介して他の第2通信パケットを受信した前記プロトコルスタック部は、前記第2通信パケットから第1通信パケットを抽出し、前記他の第2通信パケットから複製第1通信パケットを抽出し、当該第1通信パケットと当該複製第1通信パケットとを前記第2通信ミドルウェア実行部に渡し、
前記第2通信ミドルウェア実行部は、前記第1通信パケットと前記複製通信パケットとを用いて、エラーチェック処理を実行し、いずれか一方を前記処理部に渡す通信装置。
The communication device according to claim 10,
The second communication packet is transmitted through the communication interface unit, the processing unit, and the virtual communication interface unit, and the second communication packet is transmitted through the other communication interface unit, the processing unit, and the other virtual communication interface unit. The protocol stack unit that has received the communication packet extracts the first communication packet from the second communication packet, extracts the duplicate first communication packet from the other second communication packet, and extracts the first communication packet and the duplicate Pass the first communication packet to the second communication middleware execution unit,
The communication device, wherein the second communication middleware execution unit executes an error check process using the first communication packet and the duplicate communication packet, and passes either one to the processing unit.
JP2010281143A 2010-12-17 2010-12-17 Communication device Pending JP2012129897A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010281143A JP2012129897A (en) 2010-12-17 2010-12-17 Communication device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010281143A JP2012129897A (en) 2010-12-17 2010-12-17 Communication device

Publications (1)

Publication Number Publication Date
JP2012129897A true JP2012129897A (en) 2012-07-05

Family

ID=46646423

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010281143A Pending JP2012129897A (en) 2010-12-17 2010-12-17 Communication device

Country Status (1)

Country Link
JP (1) JP2012129897A (en)

Similar Documents

Publication Publication Date Title
CN113132201B (en) Communication method and device between VPCs
CN108449282B (en) Load balancing method and device
CN104506408B (en) The method and device of data transfer based on SDN
EP2385660B1 (en) Method and system for offloading tunnel packet processing in cloud computing
US6799220B1 (en) Tunneling management messages over a channel architecture network
US20150180959A1 (en) Network interface controller supporting network virtualization
JP4764737B2 (en) Network system, terminal and gateway device
WO2014136864A1 (en) Packet rewriting apparatus, control apparatus, communication system, packet transmitting method and program
CN104272668A (en) Layer-3 overlay gateways
JP2014003692A (en) Providing logical networking functionality for managed computer networks
US7269661B2 (en) Method using receive and transmit protocol aware logic modules for confirming checksum values stored in network packet
JP2005167435A (en) Vrrp technology sustaining confidentiality of vr
JP4789425B2 (en) Route table synchronization method, network device, and route table synchronization program
CN106534178A (en) System and method for realizing RapidIO network universal socket
WO2016180020A1 (en) Message processing method, device and system
WO2015003295A1 (en) Communication method, device and system in virtual domain
KR20040066924A (en) Architecture for emulating an ethernet network interface card
JP5018969B2 (en) COMMUNICATION CONTROL PROGRAM, COMMUNICATION CONTROL DEVICE, COMMUNICATION CONTROL SYSTEM, AND COMMUNICATION CONTROL METHOD
CN111565237B (en) Network parameter determination method and device, computer equipment and storage medium
KR101794719B1 (en) Method and system for ip address virtualization in sdn-based network virthalization platform
JP2003258859A (en) Communication system, communicating method, transferring device and network managing device
CN113472625B (en) Transparent bridging method, system, equipment and storage medium based on mobile internet
JP2012129897A (en) Communication device
US9819594B2 (en) Information processing system and controlling method and controlling device for the same
JP5632806B2 (en) Communication device

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20120521