JP2013042370A - Communication device - Google Patents

Communication device Download PDF

Info

Publication number
JP2013042370A
JP2013042370A JP2011178028A JP2011178028A JP2013042370A JP 2013042370 A JP2013042370 A JP 2013042370A JP 2011178028 A JP2011178028 A JP 2011178028A JP 2011178028 A JP2011178028 A JP 2011178028A JP 2013042370 A JP2013042370 A JP 2013042370A
Authority
JP
Japan
Prior art keywords
communication
packet
unit
middleware
communication device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2011178028A
Other languages
Japanese (ja)
Other versions
JP5632806B2 (en
Inventor
Kunihiro Suzuki
邦弘 鈴木
Daisuke Yokota
大輔 横田
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 JP2011178028A priority Critical patent/JP5632806B2/en
Publication of JP2013042370A publication Critical patent/JP2013042370A/en
Application granted granted Critical
Publication of JP5632806B2 publication Critical patent/JP5632806B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

PROBLEM TO BE SOLVED: To facilitate system shift of a communication device including a communication middleware while reducing the cost.SOLUTION: A communication device (101) performs a processing of generating and transmitting a second packet capsulated by attaching header information specified to go through a new (second) communication middleware (encapsulation processing 105 or the like), on the basis of a first packet via an old (first) communication middleware by data of a communication application, when the data is transmitted between communication devices having new and old communication middlewares. The communication device (101) has a header rewrite unit 206 which rewrites destination address information of a header at the first packet in a received packet to information with the destination being own device when receiving the data.

Description

  The present invention relates to a communication device, and more particularly, to communication middleware included in the communication device.

  For example, railway operation management systems and financial systems will become larger and more complicated by system expansion and integration with other systems, even if the system (information processing system) is small at the beginning. There are many. 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”, “system migration”, etc.), the scale of those systems increases. As the number of correction points increases, development costs become enormous.

  A general problem in system migration (in particular, change of communication middleware) will be described with reference to FIG. FIG. 17 shows a case where the system shifts from the communication device 1701 of the old system to the communication device 1706 of the new system. The configuration as shown in the communication device 1701 of the old system is general. That is, a communication application 1702 that provides various services operates on the old communication middleware 1703 that is a communication platform unique to the system. When the communication application 1702 operates and transmits data to a communication partner, the communication I 170 is used using the old communication middleware 1703 and protocol stack 1704 (protocol group such as TCP and IP) located in the lower layer. Data packets (frames, etc.) are sent to the network via / F1705 (I / F: interface).

  Here, consider a case where the system is shifted from the old system to the new system, and the communication middleware of the communication apparatus is switched from the old communication middleware 1703 to the new communication middleware 1707.

  While the system scale is small, it is common to change the communication middleware and switch the communication application 1702 to a new one. However, when the system scale is large, the development cost of the communication application 1702 becomes enormous as described above. Therefore, in order to reduce the development cost, it is desirable to use the communication application 1702 of the old system also in the communication apparatus 1706 of the new system.

  As described above, the communication application 1702 of the old system is developed on the assumption that it operates on the old communication middleware 1703. Therefore, when the system is changed, as shown in the lower side (1706) of FIG. 17, in order to operate the communication application 1702 on the new communication middleware 1708 of the new system, the old communication middleware 1703 and the new communication middleware 1708 It is necessary to provide an old and new middle conversion unit 1707 that compensates for the difference.

  In a large-scale system, rather than recreating all of the communication applications 1702, it is less expensive to develop a new and old middle conversion unit 1707. However, the development cost of the old and new middle converter 1707 is still high. For example, the old and new middle conversion unit 1707 includes at least (1) an interface part with the communication application 1702, (2) an interface part with the new communication middleware 1708, and (3) each of the old communication middleware 1703 and the new communication middleware 1708. The function about the part which simulates the internal behavior (time-out condition etc.) of is required. In particular, in order to develop the part (3) above, it is necessary to be familiar with the internal operations of the old communication middleware 1703 and the new communication middleware 1708 in detail. Inefficient from the viewpoint of reusability of the program of the communication application 1702.

  Regarding the above problem, as a prior art example, there are JP-A-2008-078966 (Patent Document 1), Non-Patent Document 1, and the like.

  In Patent Document 1, an encapsulation device (tunneling device) that encapsulates a packet transmitted from an old system communication device is provided between the old system communication device and a network. The encapsulating apparatus transmits each encapsulated packet to the network via the new communication middleware of the new system. Also, the encapsulating device decapsulates (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.

  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 the routing table and the like so that all communications pass through the virtual Ethernet I / F. The communication device 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.

  As described above, in the techniques described in Patent Document 1 and Non-Patent Document 1, a newly developed object passes a packet (Ethernet frame) of an 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 1707 that mutually converts the old communication middleware and the new communication middleware is developed, the technical difficulty is low and the development cost can be greatly reduced.

JP 2008-078966 A1

Todai, "Internal structure of SoftEther", [online], [Search September 7, 2010], Internet <URL: http://www.softether.co.jp/jp/company/media/academic/ data / softetherpaper002.pdf>

  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.

  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 effort to change the system settings (IP address, etc.) of the old system and to consider restrictions on the IP address when designing a new system (for example, it must not overlap with the IP address of the old system).

  Also, in order to reduce the risk of system migration, a method may be used in which the entire communication device is not switched to a new device at once, but is switched in stages over a certain period of time. In that case, until the migration is completely completed, packets of the IP address of the old system and the packet of the IP address of the new system will be mixed on the same network. There is sex. Such a problem that a plurality of IP addresses coexist on a single network cannot be solved by Non-Patent Document 1 and Patent Document 1.

  In view of the above, the main object of the present invention is related to system transition of communication devices (change from old communication middleware to new communication middleware, etc.), change of IP address etc. (system setting) as described above, and hardware A technology that enables communication applications that send and receive information via the old communication middleware to send and receive information via the new communication middleware (in other words, ease of system migration and cost reduction) Is to provide.

  A representative form of the present invention is a communication apparatus constituting a communication system (communication apparatus having communication middleware and a function of transmitting and receiving data to and from other communication apparatuses) via a network. And having the following configuration.

  (1A) When this communication apparatus transmits the target first data as a packet (such as a frame) from the first communication apparatus that is the transmission-side apparatus to the second communication apparatus that is the other apparatus on the reception side As a transmission function, a first header including address information (information corresponding to a protocol to be used) specifying the second communication device as a destination is added to the first data of interest, and the first packet (before encapsulation) A first packet creating unit that performs a process for creating a first packet, and a first packet that executes a predetermined first process related to the communication middleware of the first communication device and the protocol to be used, using the first packet. A second packet encapsulated by adding a second header including address information designating the second communication device (its communication middleware) as a destination to the processing unit and the first packet; A second packet creation unit that performs a process for creating a second packet, and a second packet is used to execute a predetermined second process related to the communication middleware of the first communication device and the protocol to be used. And a second processing unit that transmits to the network (second communication device).

  The communication device receives a second data as a packet from the second communication device, which is the other device on the transmission side, to the first communication device, which is the own device on the reception side, as a reception function. The second packet received from the second communication device) is subjected to predetermined third processing relating to the communication middleware of the first communication device and the protocol to be used, and the first header is removed by decapsulation. A third processing unit that performs processing to extract the packet, remove the first header from the first packet, and extract target first data; and the first packet in the second packet received through the communication middleware of the first communication device Is rewritten with the address information of the first communication device that is the receiving device's own device. The Tsu bets having a header rewriting section which performs processing to receive the own device.

  (2A) This communication device is a transmission function in the case of transmitting the target first data as a packet from the first communication device that is the transmission-side device to the second communication device that is the other device on the reception side. Adding a first header including address information for designating the second communication device as a destination to the first data of interest, a first packet creation unit that performs processing to create a first packet, and a first packet And a first processing unit that executes predetermined processing relating to the communication middleware of the first communication device and the protocol to be used, and an address that designates the second communication device (the communication middleware) as the destination in the first packet. A second packet creation unit that performs processing for creating a second packet encapsulated with a second header including information, and communication middleware of the first communication device using the second packet; Predetermined processing is executed of a protocol that use, it has a second processing unit that transmits the second packet to the network (second communication device), a.

  The communication device receives a second data as a packet from the second communication device, which is the other device on the transmission side, to the first communication device, which is the own device on the reception side, as a reception function. The second packet received from the second communication device) is subjected to a predetermined third process relating to the communication middleware of the first communication device and the protocol to be used, and the second header is removed to release the encapsulation. And a third processing unit that performs processing of taking out the first packet, removing the first header from the first packet, and taking out the target first data.

  This communication device has a router crossing determination unit that determines whether or not a packet to be transmitted communicates via a router of the network by comparing communication information, and a second communication device on the receiving side as a transmission function. In order to obtain the destination address information, the ARP is used to encapsulate the IP address information of the second communication device that is the destination of the header of the packet to be transmitted as the IP address information of the destination of the second header of the second packet. A packet holding unit that temporarily holds the transmission target packet until a second packet is generated and transmitted by the ARP request, and an ARP response to the ARP request is received; The address information of the second communication device as the destination of the header of the packet is included in the second packet by the ARP response received from the second communication device. Rewritten by less information has a diversion unit for transmitting the write changed packet, the.

  This communication apparatus has, as a reception function, the IP address of the first communication apparatus including the address information of the own apparatus requested by the ARP request when the packet received from the network is the second packet by the ARP request. A fourth processing unit configured to generate and transmit a second packet by an ARP response, in which the information is encapsulated as IP address information of a destination of the second header of the second packet;

  (1B) In the communication device according to (1A), a first packet creation unit, a first processing unit, a second packet creation unit, a second processing unit, and a third function of the reception function The following elements are included in the processing unit. The communication apparatus includes a first communication middleware execution unit that executes first communication middleware corresponding to the old communication middleware, a second communication middleware execution unit that executes second communication middleware corresponding to the new communication middleware, and the first communication. Connects to a network, a communication application execution unit that executes communication applications that operate on middleware and processes target data, a protocol processing unit that passes information between the first and second communication middleware via a socket interface, and a network Virtual communication, which is a virtual communication interface that performs processing to exchange packet data and information between a physical communication interface unit that transmits and receives packets and a protocol processing unit and the following encapsulation processing unit instead of a network An interface unit and the communication interface A Department, virtual communication interface unit, and the second interposed between the communication middleware execution unit to exchange data and information of the packet, and encapsulation processing unit that controls processing relating to packet encapsulation, the. The communication apparatus manages communication information including an IP address and a protocol, information indicating the correspondence between the communication information of the first communication middleware and the communication information of the second communication middleware as table information, and performs virtual communication. An IP address is assigned only to the interface part. The encapsulation processing unit includes the header rewriting unit, and the header rewriting unit includes a first packet in the second packet received through the second communication middleware of the second communication middleware executing unit at the time of reception. By rewriting the destination address information of the first header of the packet portion with the address information of the first communication device, processing is performed for receiving the first data of the target of the first packet by the own device.

  (2B) The communication apparatus includes: a first packet creation unit for the transmission function; a first processing unit; a second packet creation unit; a second processing unit; a third processing unit for the reception function; The following elements are included in the processing unit. The communication apparatus includes a first communication middleware execution unit that executes first communication middleware corresponding to the old communication middleware, a second communication middleware execution unit that executes second communication middleware corresponding to the new communication middleware, and the first communication. Connects to a network, a communication application execution unit that executes communication applications that operate on middleware and processes target data, a protocol processing unit that passes information between the first and second communication middleware via a socket interface, and a network Virtual communication, which is a virtual communication interface that performs processing to exchange packet data and information between a physical communication interface unit that transmits and receives packets and a protocol processing unit and the following encapsulation processing unit instead of a network An interface unit and the communication interface A Department, virtual communication interface unit, and the second interposed between the communication middleware execution unit to exchange data and information of the packet, and encapsulation processing unit that controls processing relating to packet encapsulation, the. The communication apparatus manages communication information including an IP address and a protocol, information indicating the correspondence between the communication information of the first communication middleware and the communication information of the second communication middleware as table information, and performs virtual communication. The IP address is assigned only to the interface unit. The encapsulation processing unit includes the router crossing determination unit, the packet holding unit, and the destination change unit as the transmission function, and includes the fourth processing unit as the reception function. .

  According to a typical embodiment of the present invention, a communication application that transmits / receives information via the old communication middleware without changing the IP address or adding hardware without changing the IP address, etc. Information can be transmitted and received even through middleware (implementation of system migration and cost reduction).

It is a figure which shows the functional block structural example of the communication apparatus of one embodiment of this invention. 3 is a diagram illustrating a detailed configuration of an encapsulation processing unit of the communication apparatus according to Embodiment 1. FIG. It is a figure which shows the hardware structural example of a communication apparatus. It is a figure which shows the example of a protocol management table. It is a figure which shows the example of a communication information corresponding table. It is a figure which shows the message | telegram in case a new apparatus transmits data to a new apparatus. It is a figure which shows the communication flow in case a new apparatus transmits data to a new apparatus. It is a figure which shows the message | telegram in case a new apparatus transmits data to an old apparatus. It is a figure which shows the communication flow in case a new apparatus transmits data to an old apparatus. It is a figure which shows the message | telegram in case an old apparatus transmits data to a new apparatus. It is a figure which shows the communication flow in case an old apparatus transmits data to a new apparatus. 6 is a diagram illustrating a detailed configuration of an encapsulation processing unit of a communication device according to Embodiment 2. FIG. It is a figure which shows the message | telegram (1) of the data transmission from a new apparatus to a new apparatus. It is a figure which shows the communication flow (1) of the data transmission from a new apparatus to a new apparatus. It is a figure which shows the message | telegram (2) of the data transmission from a new apparatus to a new apparatus. It is a figure which shows the communication flow (2) of the data transmission from a new apparatus to a new apparatus. It is a figure which shows the prior art example regarding system transfer.

  Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. For the sake of explanation, it is assumed that “first packet”: a normal packet before encapsulation, and “second packet”: a packet after encapsulation. Also, “first communication middleware (M1)”: old communication middleware in system transition, and “second communication middleware (M2)”: new communication middleware in system transition. In the following embodiment, the encapsulation target packet (data) is assumed to be an Ethernet frame in layer 2 as referred to in the OSI model.

<Embodiment 1>
A communication apparatus and system according to Embodiment 1 of the present invention will be described with reference to FIGS. This is a case in which new communication middleware is installed in addition to the old communication middleware in at least some of the plurality of communication devices in the system in accordance with the system transition. In this system configuration, in the first embodiment, in particular, the communication device (“new device”) in which the new communication middleware is installed is the second in the packet (second packet) received via the network from the communication device on the transmission side. A header rewriting unit (206 in FIG. 2, 105b in FIG. 7, etc.) that rewrites the header information (destination information) of one packet part with the header information (destination information) of the second packet part and receives it as information addressed to itself. Have.

[Communication device (function)]
With reference to FIG. 1, an outline of the communication apparatus and its system according to the first embodiment will be described. The communication devices 101 are connected so that they can communicate with each other via the network 102. The communication device 101 has both functions of transmitting and receiving data (packets). The entire system includes at least two communication devices 101 on the transmission side and the reception side. At least a part of the plurality of communication devices 101 in the system is a new device (a configuration in which the new communication middleware (106) is added in addition to the old communication middleware (104)), and the other communication devices 101 are old. This is a device (a configuration in which only the old communication middleware (104) is mounted). The communication application (103) of the old device is diverted to the communication application (103) of the new device. For example, new devices are introduced in stages, such as 1 out of 10 units, 5 units, and 10 units, and the system is migrated through a mixed state of old and new communication devices 101. In the present embodiment, the network 102 is configured by a plurality of subnets connected by a router 113 or the like. The network 102 is a LAN, WAN, or the like that supports Ethernet, TCP / IP, or the like.

  The communication apparatus 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 108, a communication I / F 109, and protocol management. The configuration includes a table 110, a communication information correspondence table 112, and the like. Although not shown, the communication apparatus 101 is mounted with other general elements such as an OS. The communication device 101 may be regarded as various information processing devices such as a PC having a communication function.

  The communication application execution unit 103 provides a predetermined service (various services) to another communication device (101) or requests a predetermined service (various services) from another communication device (101). The communication application program to be executed is executed. Note that there may be not only one 103 but also a plurality of 103. A communication application program (hereinafter, “application”, “APP”, etc. in the case of abbreviation) executed in 103 corresponds to the communication application 1702 in the configuration of FIG. 17, and the first communication middleware executed in the first communication middleware execution unit 104. Operates on (old communication middleware before system migration).

  The first communication middleware execution unit 104 (hereinafter referred to as “first (old) communication middleware” (M1) or the like for short) provides a function commonly used when 103 APPs (a plurality of APPs) are executed. Execute the program to be 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 first communication middleware execution unit 104 uses an old communication protocol, and corresponds to the old communication middleware 1703 in FIG.

  The second communication middleware execution unit 106 (hereinafter referred to as “second (new) communication middleware” (M2) or the like for short) has a function commonly used when APP is executed, like the first communication middleware. Execute the provided program. The program executed in the second communication middleware execution unit 106 uses a new communication protocol, corresponds to the new communication middleware 1708 in FIG. 17, and performs communication protocol processing different from that of the first communication middleware execution unit 104. Run.

  In the case of transmission, the encapsulation processing unit 105 checks (confirms) a transmission packet (such as “Ethernet frame”) received from the virtual communication I / F 108, determines whether encapsulation is necessary, and requires encapsulation. Packet (the first packet to be encapsulated (required)) is passed to the second communication middleware execution unit 106 and does not need to be encapsulated (the packet not to be encapsulated (unnecessary), already encapsulated) In the case of the second packet, etc.), the process of transmitting via the communication I / F 109 as it is is performed. In the case of reception, the encapsulation processing unit 105 performs header rewriting processing on the received packet received through the communication I / F 109 or the second communication middleware execution unit 106 as necessary, and then passes the packet to the virtual communication I / F 108. Perform processing. The detailed configuration of 105 will be described later (FIG. 2).

  The protocol stack 107 is a program group (protocol processing unit) that performs predetermined protocol processing such as TCP, UDP, and IP. Reference numeral 107 can exchange transmission / reception information via the socket I / F between the first communication middleware execution unit 104 and the second communication middleware execution unit 106, and communicates with the virtual communication I / F 108.

  The virtual communication I / F 108 is a virtual communication interface unit that simulates the communication I / F function with software, and is treated equivalently to a normal communication interface (communication I / F 109 or the like) from the OS. However, the normal communication interface (109) is associated (implemented) with specific communication hardware and exchanges transmission / reception packets with the hardware, whereas the virtual communication I / F 108 is configured with a specific software program. It is associated (implemented) and exchanges the program and transmission / reception packets. In the present embodiment, 108 is implemented by software together with the encapsulation processing unit 105 and the like. 108 cooperates with the encapsulation processing unit 105 and the protocol stack 107, passes a transmission packet (Ethernet frame) passed from the protocol stack 107 to the encapsulation processing 105, and receives data passed from the encapsulation processing unit 105. It is regarded as a packet (Ethernet frame) and passed to the protocol stack 107.

  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 the network 102 via the associated (implemented) hardware. Send to. 109 passes the packet (Ethernet frame) received from the network 102 to the encapsulation processing unit 105.

  The virtual communication I / F 108 and the communication I / F 109 are treated equivalently when viewed from the OS. However, in the present embodiment, system setting information (communication information) such as an IP address is transmitted only to the virtual communication I / F 108. Assigned, and not assigned to the communication I / F 109. As a result, only the virtual communication I / F 108 is recognized as the only communication interface from the protocol stack 107, and the communication I / F 109 transmits a packet (Ethernet frame) between the network 102 and the encapsulation processing unit 105. Will only provide the function to transfer.

  The protocol management table 110 and the communication information correspondence table 112 are information (management information) referred to by the communication device 101 (encapsulation processing unit 105 and the like). Although details will be described later, the information in the protocol management table 110 (FIG. 4) is stored in the encapsulation processing unit 105 (especially, the encapsulation determination unit 203 when a transmission packet is received from the virtual communication I / F 108). It is used when determining whether or not to be converted. The information of the communication information correspondence table 112 (FIG. 5) is included in the transmission packet (first packet) by the encapsulation processing unit 105 (particularly, the middle transmission unit 205 when receiving the transmission packet from the encapsulation determination unit 203). When acquiring communication information of the second communication middleware (M2) of the destination communication device associated therewith from the communication information of the first communication middleware (M1) of the destination communication device (that is, when creating the second packet). Used for etc.

[Encapsulation processing unit]
Next, the detailed configuration of the encapsulation processing unit 105 will be described with reference to FIG. 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, a middle transmission unit 205, and a header rewriting unit 206. A solid line indicates a data flow at the time of transmission, and a broken line indicates a data flow at the time of reception. A1 and the like indicate explanatory data / information and processing steps.

  The RAW receiving unit 201 receives a received packet (Ethernet frame) arriving at the communication I / F 109 via the network 102 by RAW reception from the communication I / F 109 (A1), and passes the frame to the virtual I / F 108 as it is (A2). The process is performed.

  The middle receiving unit 202 performs a process of passing the application data (decapsulated Ethernet frame (first packet)) (A3) passed from the header rewriting unit 206 to the virtual communication I / F 108 as it is (A4). .

  At the time of transmission, the encapsulation determination unit 203 checks and determines the packet (transmission packet) (A5) received from the virtual communication I / F 108, and passes it to the middle transmission unit 205 when encapsulation is necessary (A6 ), When the encapsulation is unnecessary, a process of passing to the RAW transmission unit 204 (A7) is performed.

  The middle transmitting unit 205 performs processing such as adding header information (FIG. 6 and the like) described later to the packet (A6) received from the encapsulation determining unit 203 and passing it to the second communication middleware executing unit 106 (A8). (In other words, providing instruction information for encapsulation).

  The RAW transmission unit 204 performs processing such as passing the packet (A7) received from the encapsulation determination unit 203 to the communication I / F 109 (A9).

  Upon reception, the header rewriting unit 206 receives a packet (received packet) from the second communication middleware executing unit 106 (A10), performs a header rewriting process described later, and then passes the packet to the middle receiving unit 202 ( Processing such as A3) is performed.

[Communication device (hardware)]
Next, the hardware configuration of the communication apparatus 101 (FIG. 1) will be described with reference to FIG. The communication device 101 includes a host CPU 301 that performs various processes, a host memory 302, a peripheral I / F 303, a storage device 304, a communication I / F 109, a bus 307, and the like. Elements 301 to 304, 109, and the like are communicably connected via a bus 307.

  The host CPU 301 is a processor that executes a program. 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. The peripheral I / F 303 is an interface for connecting to various peripheral devices such as an input / output device such as a mouse, a keyboard, and a monitor, and an external storage such as a USB memory. The storage device 304 includes a magnetic disk device, a flash ROM, and the like, and stores an OS, various drivers, various application programs, and various information used by the programs (for example, information set by an administrator or a maintenance person). ing.

  The communication I / F 109 provides an interface when the communication apparatus 101 communicates with another communication apparatus 101 via the network 102. In particular, the communication I / F 109 can be implemented by specific independent communication hardware (for example, an Ethernet controller chip) such as a network interface card or a board. In FIG. 3, only one communication I / F 109 is shown, but two or more may be used.

  Each of the functional elements (103 to 108, 109) shown in FIG. 1 is software program processing or the like in the hardware configuration of FIG. 3 (a program stored in the storage device 304 is read into the host memory 302 and read by the host CPU 301) Etc.). As described above, 109 may be implemented by independent hardware. Further, tables (management information) such as the protocol management table 110 and the communication information target table 112 in FIG. 1 are stored in the storage device 304, for example.

[Table (1)]
Information stored in the protocol management table 110 will be described with reference to FIG. The protocol management table 110 in FIG. 4 stores information such as a packet type 410, an IP address 401, a port number 402, and a protocol 403 that are referred to when transmitting a packet. This table information may be set in advance by an administrator or a maintenance person of the communication device 101, may be set by a program that exchanges protocol information with each communication device 101 individually, or all the communication devices 101. It may be set by inquiring a server that collectively manages the protocol information.

  The column of the packet type 410 stores information indicating the type of packet, and examples include “IP” indicating an IP packet, “ARP” indicating an ARP (Address Resolution Protocol) packet, and the like. The column of the IP address 401 stores IP address information for identifying the communication apparatus 101 that is the transmission destination (destination) of the packet.

  The port number 402 column stores the port number of the transmission destination (destination) of the packet. The port number is generally used for identifying a communication service (for example, FTP, HTTP, etc.). In this embodiment, this port number is used as one piece of information for specifying the communication middleware (104, 106), communication application (103), etc., which are the destinations of the packets (this also relates to a service ID described later). . Even if the transmission destination is the same communication apparatus 101, the type of communication service (communication middleware and communication application) can be specified and changed by using different port numbers (and service IDs).

  The column of the protocol 403 stores information indicating the type of processing (protocol to be used) to be applied to the packet. If a protocol name is specified (eg “protocol A”, “protocol B”, etc.), this means (setting) that packet encapsulation using that protocol is necessary, otherwise it is For example, when “RAW transmission” is designated, it means (set) that the packet is transmitted as it is (encapsulation is not necessary). In FIG. 4, three types (RAW transmission, protocol A, protocol B) are described in 403, but the present invention is not limited to this.

  In the example of FIG. 4, in the row 421, using the IP packet, the destination communication device (101) whose IP address is “191.168.0.1” and the communication middleware (for example, specified by the port number “80”) When communication is performed using a certain new communication middleware), transmission (RAW transmission) is performed without performing encapsulation (due to encapsulation). On the other hand, in the line 422, communication is performed using the IP packet and the communication apparatus having the same IP address “191.168.0.1” as 421 and the communication middleware (for example, some old communication middleware) specified by the port number “23”. Indicates that it is necessary to encapsulate the packet using “protocol A”. In the line 423, when an IP packet is used to communicate with a communication device having an IP address “191.168.0.2” different from 421 using communication middleware designated by the same port number “23” as 422, encapsulation is performed. This means that the data is transmitted as it is without performing. In the row 424, the * mark of the port number 402 represents that any port number may be used. The row 425 indicates that an ARP packet (frame) is transmitted as it is without being encapsulated regardless of its address.

  The table format of FIG. 4 is an example, and other information items may be managed to realize the same function. For example, communication middleware ID, communication application ID, encapsulation necessity flag information, and the like may be associated and managed.

[Table (2)]
Next, information stored in the communication information correspondence table 112 will be described with reference to FIG. The communication information correspondence table 112 of FIG. 5 stores communication information 501 of the first communication middleware (M1) and communication information 502 of the second communication middleware (M2) associated therewith. Each column (501, 502) includes information such as an IP address, a port number, and a service ID in detail.

  In FIG. 5, for example, in the row 521, when the IP address is “X”, the port number is “Y”, and the service ID is “Z” as the communication information of the first communication middleware included in the transmission packet, As communication information of the second communication middleware required for transmission using the communication middleware, the IP address is “X” (same), the port number is “y” (different), and the service ID is “z” (different). Represents that.

  Here, since the IP address is an address assigned to the virtual communication I / F 108 of the destination communication apparatus 101, the first (old) communication middleware (501) and the second (new) communication middleware ( 502) is the same value. On the other hand, the port number is used to uniquely identify communication middleware including new / old distinction in the present embodiment. Therefore, the port numbers of 501 and 502 are different values.

  Further, in the present embodiment, the service ID is used as an ID indicating where the transmission destination communication middleware delivers the transmission packet. In particular, it is used to specify which communication application (103) providing which service is delivered. In the present embodiment, for example, when the port number indicates the first communication middleware (M1), the service ID indicates the communication application execution unit 103 (specific APP), and the port number indicates the second communication middleware ( When M2) is indicated, the encapsulation processing unit 105 is indicated. The service ID is not limited to the above. For example, when M2 communicates with APP without going through 105, the service ID may indicate APP when the port number indicates M2.

  The information is not limited to the example of communication information (IP address, port number, service ID) managed in the table (112), but may be any information that can understand the correspondence between the first communication middleware (M1) and the second communication middleware (M2). Good.

  By using the table information as in the examples of FIGS. 4 and 5, in this system, the communication device (101), the communication middleware (104, 106) including the new / old distinction, the communication application (103), etc. Identify and grasp the correspondence, and based on this, packet encapsulation is performed as necessary.

[Processing sequence 1 (new → new)]
Next, a processing sequence of encapsulated communication at the time of data transmission from the new apparatus to the new apparatus after the transition to the new system will be described with reference to FIGS. 7 shows encapsulated communication when data is transmitted from the first communication device A (101a) on the transmission side which is the new device in FIG. 7 to the second communication device B (101b) on the reception side which is also the new device. . Each of the communication devices A and B is configured to include a new device, that is, a first communication middleware execution unit 104 and a second communication middleware execution unit 106 (same as FIG. 1). Note that the IP address of the communication device A is “A”, the MAC address is “a”, the IP address of the communication device B is “B”, the MAC address is “b”, the IP address of the router 113 is “R”, and the MAC address is Let it be represented by “r”. S1 and the like indicate communication (processing) steps.

  FIG. 6 shows a telegram such as a packet (change thereof) when data is transmitted from the new device (A) to the new device (B) corresponding to the communication flow of FIG. The rows indicated by reference numerals such as 601 correspond to the reference numerals attached to the arrows in FIG. Although it is a rough division, P1: first packet and P2: second packet are shown. H1 indicates the header of the first packet P1, D1 indicates the data of the first packet P1, H2 indicates the header of the second packet P2, and D2 indicates the data of the second packet P2. The first packet P1 becomes data (D2) encapsulated by the second packet P2. The “data” column of D1 indicates target data (application data or the like) to be stored in the first packet P1. h1 to h8 indicate headers corresponding to layers and the like. The “first IP” (h3) or the like designates an IP address. In “first TCP” (h2) or the like, a port number is designated. A “first MAC” (h4) or the like designates a MAC address. “Arbitrary” indicates arbitrarily specified information according to a predetermined format. “Unique” indicates information uniquely determined based on the table (110, 112) or the like. For example, “unique” in the “first TCP” header (h2) stores a port number indicating a specific communication middleware. “B”, “r”, and the like are simplified examples of specific values such as addresses.

  (S1) In FIG. 7, first, the communication application execution unit 103a (APP) of the communication device A sends application data (data to be stored in the first packet) to the first communication middleware execution unit 104a (M1). ) (601). At this time, 103a delivers information for designating the first communication middleware execution unit 104b (M1) (of the communication apparatus B) that is the transmission destination of the data (601) together with the data (601) to 104a. . Here, the information for designating the transmission destination (M1) includes the IP address “B” of the communication apparatus B and the port number (referred to as “Pm1”) that identifies 104b (M1). Information corresponding to the communication information 501 (stored value) of the first communication middleware in the communication information correspondence table 112 of FIG.

  (S2) Next, the first communication middleware execution unit 104a (M1) assigns the information of the arbitrary first middle header (h1) to the application data (601), and uses this as application data (602) to create a protocol. It is transferred to the stack 107a. At this time, 104a designates information including the IP address “B” of the communication apparatus B and the port number “Pm1” indicating 104b (M1) to the protocol stack 107a.

  (S3) Next, the protocol stack 107a uses the IP address “B” of the communication apparatus B designated from 104a as information of the IP header (first IP header: h3), and uses the port number “Pm1” as the TCP header ( As information of the first TCP header: h2), it is added to the application data (602), and further, information of the destination MAC address (first MAC: h4) of the packet is also added, and a packet for transmission (Ethernet frame) ( First packet) (603) is generated. In this case (FIG. 7), since the communication device A and the communication device B are connected via the router 113, the packet 107a is connected to the communication device B via the router 113 in order to communicate with the communication device B. ) The MAC address “r” of the router 113 is set in the transmission destination MAC address (first MAC: h4) of (603). Finally, 107a passes this transmission packet (first packet) (603) to the virtual communication I / F 108a.

  (S4) Next, the virtual communication I / F 108a passes the transmission packet (603) received from the 107a to the encapsulation processing unit 105a as it is.

  (S5) Next, the encapsulation processor 105a receives destination information (communication) included in the IP header (first IP header: h3) and TCP header (first TCP header: h2) of the transmission packet (603) received from the above 108a. Whether or not to encapsulate the transmission packet (603) by referring to the protocol management table 110 (FIG. 4) using the IP address “B” of the device B and the port number “Pm1” indicating 104b) (Necessary / unnecessary) is determined (processing by the encapsulation determination unit 203). As described above, the determination can be made based on the value of the protocol 403 in the table (110). As in this example (FIG. 7), the communication apparatus 101 (B) as the communication partner is a new apparatus having the second communication middleware execution unit 106 (that is, the new communication middleware (M2)), and the destination of the transmission packet is When the port number indicates the old communication middleware (M1), the protocol (for example, “for communication with the new communication middleware”) is encapsulated in the protocol 403 column of the protocol management table 110. Protocol A ") is specified. Therefore, in this case, the encapsulation processing unit 105a determines that the packet is to be encapsulated (necessary), and sends the transmission packet (603) (P1) to the application data (603) to the second communication middleware execution unit 106a. Pass as (D2). At this time, 105a is information (IP address “B”, 106b (M2) indicating the port number (“Pm2”) for designating the second communication middleware execution unit 106b (M2) of the destination communication device B. ) Including the data (603), and the data (603).

  (S6) Next, the second communication middleware execution unit 106a assigns the information of the arbitrary second middle header (h5) to the application data (603), and uses this as application data (604) to the protocol stack 107a. hand over. At this time, 106a designates information including the IP address “B” and the port number “Pm2” indicating 106b (M2) to 107a.

  (S7) Next, the protocol stack 107a uses the IP address “B” designated from 106b as information of the IP header (second IP header: h7), and uses the port number “Pm2” as the TCP header (second TCP header). : H6) information is added to the application data (604), the destination MAC address of the packet (second MAC: h8) is also added, and a transmission packet (605) is generated. The received packet (second packet) (605) is transferred to the virtual communication I / F 108a. Here, the IP address 107a assigned to the application data (604) as the second IP header (h7) is the IP address “B” assigned to the virtual communication I / F 108b of the transmission destination communication device B. This is the same as the IP address 107a in (S3) assigned to the application data (602) as the first IP header (h3). In addition, the address 107a assigns to the application data (604) as the second MAC (h8) is the MAC address “r” of the router 113, and 107a is the first MAC (first data (602) in the application data (602). It is the same as the address “r” given as h4).

  (S8) Next, the virtual communication I / F 108a passes the transmission packet (605) as it is to the encapsulation processing unit 105a.

  (S9) Next, the encapsulation processor 105a receives the destination information (second IP header: h6) and the destination information (second TCP header: h6) included in the transmission packet (605) received from the above 105a. Whether or not to encapsulate the transmission packet (605) by referring to the protocol management table 110 (FIG. 4) using the IP address “B” and the port number “Pm2” indicating 106b (M2)) (Necessary / unnecessary) is determined (processing by the encapsulation determination unit 203).

  Here, the communication apparatus 101 (B) of the communication partner is a new apparatus having the second communication middleware execution unit 106 (M2), and the destination port number “Pm2” stored in the TCP header is the second communication middleware (M2 In the protocol 403 column of the protocol management table 110, the transmission packet is designated to be transmitted as it is (capsule transmission) without being encapsulated (due to being encapsulated). Therefore, the encapsulation processing unit 105a (203) determines that encapsulation is not necessary, and passes the transmission packet (605) as it is to the communication I / F 109a.

  (S10) Next, the communication I / F 109a sends the transmission packet (605) to the network 102.

  (S11) The router 113 refers to the information of the second MAC header (h8) of the packet (605) sent from the network 102. Here, since the MAC address “r” of the router 113 is stored in the second MAC (h8), the router 113 receives the packet (605) addressed to itself. Further, the router 113 refers to the address information of the second IP (h7) of the packet (605). Here, since the IP address “B” of the communication device B is stored in the second IP (h7), the router 113 changes the information of the second MAC (h8) of the packet (605) from “r” to the communication device. A packet (606) rewritten with the MAC address “b” of B is created, and the packet (606) is transferred to the communication apparatus B (sent to the network 102).

  (S12) When the communication I / F 109b of the communication apparatus B (101b) receives the packet (606) from the router 113 of the network 102, it passes the received packet (606) to the encapsulation processing unit 105b as it is.

  (S13) Next, the encapsulation processing unit 105b passes the received packet (606) as it is to the virtual communication I / F 108b.

  (S14) Next, the virtual communication I / F 108b passes the received packet (606) to the protocol stack 107b.

  (S15) Next, the protocol stack 107b performs protocol processing on the received packet (606), and extracts the application data portion (607) of the received packet (606). Then, according to the designation (port number) by the TCP header (second TCP header: h6) of the received packet (606), the application data portion (607) is transferred to the second communication middleware execution unit 106b (M2).

  (S16) Next, the second communication middleware execution unit 106b (M2) removes the second header (second middle header: h5) from the application data (607) received from the above 107b (decapsulation), and the rest (First packet) (608) is transferred to the encapsulation processing unit 105b.

  (S17) Next, when the encapsulation processing unit 105b passes the packet (608) received from 106b (M2) to the virtual communication I / F 108b, the header rewriting unit 206 performs processing of the first MAC (h4). A packet (608 ′) whose address is rewritten unconditionally to the MAC address “b” of itself (communication device B) (from the MAC address “r” of the router 113) is created and transferred to the virtual communication I / F 108b. . This is because when the communication device A and the communication device B connected via the router 113 perform encapsulated communication, the packet is directly transferred to the virtual communication I / F 108 without rewriting the first MAC (h4). In this case, the MAC address “r” of the router 113 remains stored as the destination of the first MAC (h4) of the packet, and the virtual communication I / F 108 is addressed to the router 113 and is not addressed to its own device (B). This is to prevent the packet from being discarded because it is determined that there is no packet.

  (S18) Next, the virtual communication I / F 108b passes the packet (608 ') received from 105b to the protocol stack 107b.

  (S19) Next, the protocol stack 107b performs protocol processing on the packet (608 ′) received from the above-described 108b, extracts the application data portion (609) of the packet (608 ′), and extracts it as the packet (608 608 ′) to the first communication middleware execution unit 104b (M1) according to the information (port number) of the TCP header (first TCP header: h2).

  (S20) Next, the first communication middleware execution unit 104b (M1) removes the first middle header (h1) from the application data (609) received from the 107b and executes the application data (610) as a communication application. It is passed to the unit 103b (APP) (note that the APP is identified by referring to the service ID as necessary as described above). As described above, data is transmitted from the transmission source APP (103a) to the transmission destination APP (103b) from the new apparatus to the new apparatus using the encapsulated communication (second packet) via M2.

[Processing sequence 2 (new → old)]
Next, a processing sequence of unencapsulated communication at the time of data transmission from the new apparatus to the old apparatus after the transition to the new system will be described with reference to FIGS. Unencapsulated communication (capsule) when data is transmitted from the first communication device C (101c) on the transmission side, which is the new device in FIG. 9, to the second communication device D (101d) on the reception side, which is the old device Communication without communication). The communication device C includes a first communication middleware execution unit 104 (104c) and a second communication middleware execution unit 106 (106c). The communication device D includes the first communication middleware execution unit 104 (104d) but does not include the second communication middleware execution unit 106. Note that the IP address of the communication device C is “C”, the MAC address is “c”, the IP address of the communication device D is “D”, and the MAC address is “d”. FIG. 8 shows a message corresponding to FIG. 9 when data is transmitted from the new device (C) to the old device (D), and the way of viewing is the same as FIG.

  (S1) In FIG. 9, first, the communication application execution unit 103c (APP) of the communication device C (101c) passes application data (801) to the first communication middleware execution unit 104c (M1). At this time, 103c receives information (IP address “D”, port number “Pm1” indicating 104d (M1)) for specifying the first communication middleware execution unit 104d (M1) of the transmission destination (communication device D). 501 corresponding information) is transferred to 104c together with the data (801).

  (S2) Next, the first communication middleware execution unit 104c (M1) assigns the information of the arbitrary first middle header (h1) to the application data (801), and uses this as application data (802), and the protocol stack 107c. At this time, 104c (M1) designates information including the IP address “D” and the port number “Pm1” to 107c.

  (S3) Next, the protocol stack 107c uses the IP address “D” designated from 104c (M1) as information of the IP header (first IP header: h3) and uses the port number “Pm1” as the TCP header (first header). 1 TCP header: h2) information is added to the application data (802), and further the destination MAC address of the packet (first MAC: h4) is also added to the transmission packet (Ethernet frame) (first Packet) (803). Here, since the communication device C and the communication device D are connected via the router 113, the 107c transmits the packet (Ethernet frame) (803) in order to communicate with the communication device D via the router 113. The MAC address “r” of the router 113 is set to the destination MAC address (first MAC: h4). Finally, 107c passes the packet (803) to the virtual communication I / F 108c.

  (S4) Next, the virtual communication I / F 108c passes the transmission packet (803) as it is to the encapsulation processing unit 105c.

  (S5) Next, the encapsulation processing unit 105c performs destination information (IP address “D”) included in the IP header (first IP header: h3) and TCP header (first TCP header: h2) of the transmission packet (803). ”And the port number“ Pm1 ”), the protocol management table 110 (FIG. 4) is referred to and it is determined whether or not the packet (803) is to be encapsulated. If the communication apparatus 101 (D) as the communication partner is an old apparatus that does not have the second communication middleware execution unit 106 (M2), the protocol management table 110 in the protocol 403 column does not encapsulate the packet as it is. It is designated to transmit (RAW transmission). Therefore, here, 105c determines that the encapsulation is not performed, and passes the packet (803) to the communication I / F 109c as it is.

  (S6) Next, the communication I / F 109c sends the transmission packet (803) to the network 102.

  (S7) The router 113 refers to the information of the first MAC (h4) of the packet (803) sent to the network 102. Since the first MAC (h4) stores the MAC address “r” of the router 113, the router 113 receives the packet (803) addressed to itself. Further, the router 113 refers to the address of the first IP (h3) of the packet 803. Here, since the IP address “D” of the communication device D is stored as the address of the first IP (h3), the router 113 transmits the information of the first MAC (h4) of the packet (803) to the communication device D. A packet (804) rewritten to the MAC address “d” is created and transferred to the communication apparatus D.

  (S8) Upon receiving the packet (804) from the router 113 of the network 102, the communication I / F 109d of the communication device D (101d) passes the received packet (804) to the protocol stack 107d.

  (S9) Next, the protocol stack 107d performs protocol processing on the packet (804) received from the 109d, extracts the application data portion (805) of the packet (804), and extracts the application data (805). The packet is transmitted to the first communication middleware execution unit 104d (M1) according to the designation (port number) of the TCP header (first TCP header: h2) of the packet (804).

  (S10) Next, the first communication middleware execution unit 104d (M1) removes the first header (first middle header: h1) from the application data (805) received from the 107d, and the remaining part (application data ) (806) is passed to the communication application execution unit 103d (APP) (refer to the service ID as necessary as described above). As described above, data is transmitted from the transmission source APP (103c) to the transmission destination APP (103d) from the new apparatus to the old apparatus using the first packet.

[Processing sequence 3 (old → new)]
Next, a processing sequence of unencapsulated communication at the time of data transmission from the old device to the new device will be described with reference to FIGS. 11 illustrates unencapsulated communication when data is transmitted from the first communication device E (101e) on the transmission side which is the old device in FIG. 11 to the second communication device F (101f) on the reception side which is the new device. . The communication device E includes the first communication middleware execution unit 104 (104e), but does not include the second communication middleware execution unit 106. The communication device F includes a first communication middleware execution unit 104 (104f) and a second communication middleware execution unit 106 (106f). The IP address of the communication device E is “E”, the MAC address is “e”, the IP address of the communication device F is “F”, and the MAC address is “f”. FIG. 10 shows a message corresponding to FIG. 11 when data is transmitted from the old device (E) to the new device (F).

  (S1) In FIG. 11, first, the communication application execution unit 103e (APP) of the communication device E (101e) passes application data (1001) to the first communication middleware execution unit 104e (M1). At this time, 103e is information (IP address "F", port number indicating "104m (M1)" ("Pm1") for designating the first communication middleware execution unit 104f (M1) of the transmission destination (communication device F) 501 corresponding information) including the data) is transferred to 104e together with the data (1001).

  (S2) Next, the first communication middleware execution unit 104e (M1) assigns the information of the arbitrary first middle header (h1) to the application data (1001), and uses this as application data (1002), and the protocol stack 107e. At this time, 104e (M1) designates information including the IP address “F” and the port number “Pm1” to 107e.

  (S3) Next, the protocol stack 107e uses the IP address “F” designated from 104e (M1) as information of the IP header (first IP header: h3), and uses the port number “Pm1” as the TCP header (first header). 1 TCP header: h2) information is added to the application data (1002), and the destination MAC address of the packet (first MAC: h4) is also added, and the packet for transmission (Ethernet frame) (first Packet) (1003). Here, since the communication device E and the communication device F are connected via the router 113, the 107e transmits the packet (Ethernet frame) (1003) in order to communicate with the communication device F via the router 113. The MAC address “r” of the router 113 is set to the destination MAC address (first MAC: h4). Finally, 107e passes the packet (1003) to the virtual communication I / F 108e.

  (S4) Next, the virtual communication I / F 109e sends the transmission packet (1003) to the network 102.

  (S5) The router 113 refers to the information of the first MAC (h4) of the packet (1003) sent to the network 102. Here, since the MAC address “r” of the router 113 is stored in the first MAC (h4), the router 113 receives the packet (1003). Further, the router 113 refers to the address of the first IP (h3) of the packet (1003). Here, since the IP address “F” of the communication device F is stored as the address of the first IP (h3), the router 113 changes the first MAC (h4) of the packet (1003) to the MAC address “of the communication device F”. A packet (1004) rewritten to f ″ is created, and the packet (1004) is transferred to the communication apparatus F.

  (S6) Upon receiving the packet (1004) from the router 113 of the network 102, the communication I / F 109f of the communication device F (101f) passes the packet (1004) to the encapsulation processing unit 105f as it is.

  (S7) Next, the encapsulation processing unit 105f passes the packet (1004) received from the 109f to the virtual communication I / F 108f as it is.

  (S8) Next, the virtual communication I / F 108f passes the packet (1004) received from 105f to the protocol stack 107f.

  (S9) Next, the protocol stack 107f performs protocol processing on the packet (1004) received from the above 108f, extracts the application data portion (1005), and extracts the application data (1005) from the packet (1004). In accordance with the designation (port number) of the first TCP header (h2) of the first communication middleware 104f (M1).

  (S10) Next, the first communication middleware execution unit 104f (M1) removes the first header (first middle header: h1) from the application data (1005) and removes the remaining portion (application data) (1006). The data is passed to the communication application execution unit 103f (APP) (refer to the service ID as necessary as described above). As described above, data is transmitted from the transmission source APP (103e) to the transmission destination APP (103f) from the old device to the new device using the first packet.

[Effects]
As described above, in the communication apparatus 101 of the present embodiment, an IP address or the like is assigned only to the virtual communication I / F 108, and all communication is set to pass through the virtual communication I / F 108 and the encapsulation processing unit 105.・ It is composed. The communication apparatus 101 transmits the first packet (P1) of the old communication middleware (M1) via the new communication middleware (M2) based on the processing of the encapsulation processing unit 105 (encapsulation determination unit 203 and the like) during data transmission. The second packet (P2) is encapsulated and transmitted. In addition, when receiving data, the communication apparatus 101 (decapsulates the second packet (P2) via the received new communication middleware (M2) based on the processing of the encapsulation processing unit 105 (header rewriting unit 206 and the like). And return to the first packet (P1) of the old communication middleware (M1). At that time, the header rewriting unit 206 automatically rewrites the header information (destination information) and receives it as information addressed to itself (the header information (particularly the MAC address information) of the first packet portion is the destination information of the second packet portion). (105b in FIG. 7, S16 (608), S17 (608 ′), etc.).

  In the first embodiment, in each packet transmission / reception process (communication process in the case where the old apparatus is included) shown in FIGS. 9 and 11, whether or not the communication apparatus 101 on the reception side and the transmission side is a new apparatus is concerned. The IP address assigned to the virtual communication I / F 108 is used for the IP header (first IP header: h3) of the packet. That is, it can be seen that packets can be transmitted and received by continuing to use the previous IP address without the need to change the IP address with the transition to the new system.

  According to the first embodiment, in a system including the communication device 101, the old communication middleware (M1) of the old system can be used without changing the IP address or the like (system setting information) or adding dedicated hardware (encapsulation device or the like). The communication application (APP) that transmits / receives data via () can be transmitted / received even if the communication application (APP) is used as it is (via the new communication middleware (M2)) of the new system. That is, there are effects such as easy system migration and cost reduction.

<Embodiment 2>
A second embodiment of the present invention will be described with reference to FIGS. In the second embodiment, in the same manner as the first embodiment, in the case where the new communication middleware (M2) is implemented in addition to the old communication middleware (M1) in the plurality of communication devices 101 in the system in accordance with the system transition, This is a configuration having different means for achieving the same object and effect as in the first embodiment. The basic configuration of the communication apparatus 101 according to the second embodiment is the same as that of the first embodiment (FIG. 1), and the processing of the encapsulation processing unit 105 is different. In the first embodiment, the receiving side has a configuration for changing (rewriting) the destination information of the first packet part, whereas in the second embodiment, the new device in which the new communication middleware (M2) is mounted is On the transmission side, there is a means for changing the destination information of the first packet part (FIG. 12, 207 to 209, etc.) depending on whether or not the communication is via the router (113) before transmitting the packet. In particular, in the transmission source communication device using ARP, in order to obtain the MAC address information of the destination (reception side) communication device, an ARP request (in which the IP address of the destination communication device is encapsulated as a second packet) ARP request) is generated and transmitted (eg, 1323 in FIG. 13). On the other hand, the destination (reception side) communication device returns an ARP reply (ARP response) encapsulating the IP address of the transmission source communication device as the second packet (eg, 1333 in FIG. 15). As a result, the source communication device can acquire the MAC address information of the destination communication device, and transmits the temporarily held transmission packet to the destination communication device using the MAC address information. Can receive the packet.

[Encapsulation processing unit]
A detailed configuration of the encapsulation processing unit 105 of the communication apparatus 101 according to the second embodiment will be described with reference to FIG. The encapsulation processing unit 105 in the second embodiment includes a RAW reception unit 201, a middle reception unit 202, an encapsulation determination unit 203, a RAW transmission unit 204, a middle transmission unit 205, a router crossing determination unit 207, a packet holding unit 208, And the destination changing unit 209 (the header rewriting unit 206 in FIG. 2 is not provided).

  Upon reception, 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 (A1), and passes the frame to the virtual I / F 108 as it is. Processing such as (A2) is performed.

  At the time of transmission, the encapsulation determination unit 203 refers to the protocol management table 110 (FIG. 4), checks (confirms) the packet (A5) received from the virtual communication I / F 108, and determines whether or not encapsulation is necessary. If the received packet (A5) has already been encapsulated by the second communication middleware (M2) (encapsulated) and if it is determined that encapsulation is not required (a3), the packet is sent to the RAW When it is determined that encapsulation is necessary (including the case where the received packet is not yet encapsulated by the second communication middleware (M2) (not encapsulated) (a4), It passes to the judgment part 207.

  However, in the case where the packet (A5) received from 108 is an ARP request or an ARP response (hereinafter referred to as an ARP frame unless otherwise specified for the ARP request, the ARP response, or both). Determines whether encapsulation is necessary by comparing the internal destination IP address of the ARP frame with the IP address set in the virtual communication I / F 108 without referring to the protocol management table 110 (FIG. 4). To do. 203, when the destination IP address in the ARP frame and the set IP address of 108 have the same network address (which is partial information of the whole), the ARP frame is stored in the own communication device. Since it is an ARP frame addressed to another communication apparatus connected to the connected network (102), it is determined that encapsulation is not necessary. Reference numeral 203 denotes another communication device straddling the router 113 (other communication connected to a different subnet via the router 113) when the destination IP in the ARP frame and the set IP address of the 108 are different from each other. Since it is an ARP frame addressed to (device), it is determined that encapsulation is necessary. 203 determines that the encapsulation is not necessary (a3), passes the ARP frame to the RAW transmission unit 204, and determines that the encapsulation is necessary (a4), passes the ARP frame to the router straddling determination unit 207.

  The RAW transmission unit 204 passes the packets (a3, a5) received from the encapsulation determination unit 203 and the packet holding unit 208 to the communication I / F 109 as they are (A9).

  The router crossing determination unit 207 checks / determines whether or not the packet (a4) received from the encapsulation determination unit 203 performs communication across the router 113 described above. 207 compares the network address part of the destination IP address stored in the first IP (h3) of the packet (a4) received from 203 with the network address part of the IP address set in the virtual communication I / F 108. If they are not the same value, it is determined that the packet (a4) communicates across the router 113 (with router crossing) (a6). Similarly, when the above part has the same value, 207 determines that the packet (a4) is not communication across the router 113 (no router crossing) (a7). When there is router straddling (a6), the packet 207 transfers the packet to the packet holding unit 208, and when there is no router straddling (a7), the packet is transferred to the middle transmission unit 205. However, if the packet (a4) received from 203 is an ARP frame, 207 determines that the ARP frame has already been communicated across the router 113 in 203, so the middle transmission unit 205 unconditionally. hand over.

  When the packet holding unit 208 receives a packet from the router crossing determination unit 207 (a6), the packet holding unit 208 sends a corresponding ARP request (a8) to the middle transmission unit in order to acquire the MAC address information of the communication apparatus 101 of the communication partner. It passes to 205. Thereafter, 208 holds the packet (a6) received from 207 until the ARP response (a2) (from the communication partner) is received or until the ARP response times out. When 208 receives an ARP response (a2) from the middle receiving unit 202 (from the communication partner), the MAC address information of the ARP response (that is, the communication partner) and the held packet To the destination changing unit 209 (a9). If the ARP response to the ARP request times out, 208 passes only the held packet to the RAW transmission unit 204 (a5).

  The destination changing unit 209 rewrites the information of the first MAC (h4) of the packet (a9) received from 208 above with the source MAC address information of the ARP response received from 208 similarly (that is, changes the destination). . Next, 209 passes the packet (a10) in which the first MAC (h4) is rewritten to the middle transmission unit 205.

  When receiving, when the message (A10) passed from the second communication middleware executing unit 106 is an ARP response, the middle receiving unit 202 passes the ARP response to the packet holding unit 202 (a2) and is passed from 106 When the electronic message (A10) is other than an ARP response, that is, when it is an ARP request, application data, or the like, the electronic message is directly transferred to the virtual communication I / F 108 (a1).

  The middle transmission unit 205 transmits a packet (a7) including an ARP response received from the router crossing determination unit 207, a packet (a10) received from the destination change unit 209, and an ARP request (from the packet holding unit 208) during transmission. Each of a8) is passed to the second communication middleware execution unit 106. At that time, as in the first embodiment, 205 includes information (IP address and port number indicating 106 (M2) for designating the second communication middleware execution unit 106 (M2) of the transmission destination in FIG. 112) (502 equivalent information) is added and passed to 106.

  However, when the ARP frame is passed to the above 106 (a7), 205 is the destination IP stored in the ARP frame as information for designating the second communication middleware execution unit 106 (M2) of the transmission destination. Address information is passed to 106. This makes it possible to create an ARP frame in which the IP address of the destination communication device is encapsulated as the second packet.

[Processing sequence (new → new)]
Next, using FIG. 13 to FIG. 16, in the second embodiment, the encapsulated communication process when data is transmitted from the new device (communication device A) after the migration to the new system to the new device (communication device B) A sequence will be described. 14 and 16 both include a first communication middleware execution unit 104 (M1) and a second communication middleware execution unit 106 (M2) (similar to FIG. 7). .

  (S1) In FIG. 14, first, the communication application execution unit 103a (APP) of the communication device A passes application data (1301) to the first communication middleware execution unit 104a (M1). At this time, 103a is information (IP address “B” and port number (“Pm1”) indicating 104b (M1) for specifying the first communication middleware execution unit 104b (M1) of the transmission destination (communication device B). ) Is passed to 104a together with the data (1301).

  (S2) Next, the first communication middleware execution unit 104a (M1) assigns the information of an arbitrary first middle header (h1) to the application data (1301), and uses this as application data (1302) to create a protocol stack. 107a. At this time, 104a designates information including the IP address “B” and the port number “Pm1” shown to 107a.

  (S3) Next, the protocol stack 107a uses the IP address “B” designated from 104a as information of the IP header (first IP header: h3), and uses the same port number “Pm1” as the TCP header (first TCP header: h2) information is added to the application data (1302), and the destination MAC address (first MAC: h4) of the packet is also added, and the transmission packet (Ethernet frame) (first packet) (1303) is added. ) Is generated. Here, since the communication device A and the communication device B are connected via the router 113, the communication unit 107 a transmits the packet (Ethernet frame) (1303) in order to communicate with the communication device B via the router 113. The MAC address “r” of the router 113 is set to the destination MAC address (first MAC: h4). Finally, 107a passes the packet (1303) to the virtual communication I / F 108a.

  (S4) Next, the virtual communication I / F 108a passes the transmission packet (1303) received from 107a to the encapsulation processing unit 105a as it is.

  (S5) Next, the encapsulation processing unit 105a sends destination information (IP address “B”) included in the IP header (first IP header: h3) and TCP header (first TCP header: h2) of the transmission packet (1303). ”And the port number“ Pm1 ”), the protocol management table 110 (FIG. 4) is referenced to determine whether the packet (1303) is necessary. Here, it is determined that encapsulation is necessary.

  In this example, since the transmission packet (1303) has the first IP (h3) addressed to the communication device B and has a router straddling, the encapsulation processing unit 105a holds the transmission packet (1303) as a packet. 13 temporarily holds the ARP request (1321) shown in FIG. 13 to the second communication middleware execution unit 106a (M2) (note that the value of the first MAC (h4) of 1321 is a broadcast address). At that time, 105a is a destination IP address “B” and a port number stored in the ARP frame as information for designating the second communication middleware execution unit 106b (M2) of the transmission destination (communication device B). “Pm1” is passed to 106a.

  (S6) Next, the second communication middleware execution unit 106a (M2) attaches an arbitrary second middle header (h5) to the ARP request (1321), and uses this as the application data (1322) as a protocol stack 107a. To pass. At this time, 106a (M2) designates information including the IP address “B” and the port number “Pm1” to 107a.

  (S7) Next, the protocol stack 107a uses the IP address “B” designated from 106a as information of the IP header (second IP header: h7) and the port number “Pm1” as a TCP header (second TCP header: h6) information is added to the application data (1322), and the destination MAC address (second MAC: h8) of the packet is also added to the transmission packet (encapsulated second packet) ( 1323) and the packet (1323) is passed to the virtual communication I / F 108a. Note that the communication device A and the communication device B are connected via the router 113, and the communication device A and the communication device B allow mutual communication via the router 113. The MAC address “r” of the router 113 is set to the transmission destination MAC address (second MAC: h8) of (1323).

  After (S8 to S10), the transmission packet (1323) is transmitted from the virtual communication I / F 108a to the router via the encapsulation processing unit 105a and the communication I / F 109a, as in the example of the first embodiment. 113 is reached.

  (S11) The router 113 refers to the address of the second IP (h7) of the received packet (1323). Here, since the IP address “B” of the communication device B is stored as the address of the second IP (h7), the router 113 stores the information (“r”) of the second MAC (h8) of the packet (1323). ) Is rewritten to the MAC address “b” of the communication apparatus B, and the packet (1324) is created and transferred to the communication apparatus B.

  Similarly to the above (S12 to S14) and thereafter, the packet (1324) is passed to the protocol stack 107b via the communication I / F 109b, the encapsulation processing unit 105b, and the virtual communication I / F 108b of the communication apparatus B.

  (S15) The protocol stack 107b performs protocol processing on the received packet (1324), and extracts the application data portion (1325) of the packet (1324). Then, according to the designation (port number) of the TCP header (second TCP header: h6) of the packet (1324), the application data portion (1325) is transferred to the second communication middleware execution unit 106b (M2).

  (S16) Next, the second communication middleware executing unit 106b (M2) removes the second header (second middle header: h5) from the application data (1325) received from the 107b, and the remaining part, that is, the ARP The request (1326) is passed to the encapsulation processing unit 105b.

  (S17) Next, the encapsulation processing unit 105b transfers the ARP request (1326) received from 106b to the virtual communication I / F 108b as it is.

  (S18) Next, the virtual communication I / F 108b passes the ARP request (1326) received from 105b to the protocol stack 107b.

  (S19) Subsequently, in FIG. 16, the protocol stack 107b receives the ARP request (1326) and returns the ARP response (1331) shown in FIG. To / F108b. The ARP response (1331) includes the MAC address information “b” of the own device (B).

  (S20, S21) Next, the virtual communication I / F 108b passes the ARP response (1331) to the encapsulation processing unit 105b, and passes it from the encapsulation processing unit 105b to the second communication middleware execution unit 106b (M2).

  (S22) The second communication middleware execution unit 106b (M2) assigns information of an arbitrary second header (second middle header: h5) to the ARP response (1331), and uses this as application data (1332). It is passed to the protocol stack 107b. At this time, 106b designates information including the IP address “A” of communication apparatus A and the port number “Pm2” indicating 106a (M2) to 107b.

  (S23) Next, the protocol stack 107b uses the IP address “A” designated from 106b as information of the IP header (second IP header: h7) and the port number “Pm2” as a TCP header (second TCP header: h6) information is added to the application data (1332), and further the destination MAC address (second MAC: h8) information of the packet is added to generate a transmission packet (1333), and the packet (1333 ) To the virtual communication I / F 108b. Note that the communication device A and the communication device B are connected via the router 113, and the communication device A and the communication device B allow mutual communication via the router 113. Therefore, as in the first embodiment, 107b indicates the packet. The MAC address “r” of the router 113 is set to the transmission destination MAC address (first MAC: h8) of (1333).

  After (S24 to S26), the transmission packet (1333) reaches the router 113 from the virtual communication I / F 108b via the encapsulation processing unit 105b and the communication I / F 109b as described above.

  (S27) Also in the router 113, a packet (1334) in which the information of the second MAC (h8) of the packet (1333) is rewritten to the MAC address “a” of the communication device A is created and transferred to the communication device A as described above. To do.

  (S28 to S30) When the communication I / F 109a of the communication apparatus A receives the packet (1334) from the router 113, the received packet (1334) is transmitted via the encapsulation processing unit 105a and the virtual communication I / F 108a. It is passed to the protocol stack 107a.

  (S31) Next, the protocol stack 107a performs protocol processing on the received packet (1334), and extracts the application data portion (1335) of the packet (1334). Then, according to the designation (port number) of the TCP header (second TCP header: h6) of the packet (1334), the application data portion (1335) is transferred to the second communication middleware execution unit 106a (M2).

  (S32) Next, the second communication middleware executing unit 106a (M2) removes the second header (second middle header: h5) from the application data (1335) received from the above 107a, and the remaining part, that is, the ARP The response (1336) is passed to the encapsulation processing unit 105a.

  (S33) Upon receiving the ARP response (1336) from the above 106a, the encapsulation processing unit 105a obtains information on the destination MAC (h4) of the packet (FIG. 13, 1303) held in the packet holding unit 208 described above. Then, the destination changing unit 209 creates a packet (FIG. 15, 1304) rewritten with the source MAC address of the ARP response (1336) (that is, the MAC address “b” of the communication apparatus B of the communication partner). Then, the encapsulation processing unit 105a (209, 205, etc.) passes the packet (1304) to the second communication middleware execution unit 106a (M2). At this time, 105a receives information (IP address “B” and port number “Pm2” indicating 106b (M2) for designating the second communication middleware execution unit 106b (M2) of the transmission destination (communication device B)). Information) is transferred to 106a together with the data (1304).

  (S34) The second communication middleware execution unit 106a (M2) assigns information of an arbitrary second middle header (h5) to the data (1304), and passes this to the protocol stack 107a as application data (1305). . At this time, 106a designates information including the IP address “B” and the port number “Pm2” to 107a.

  (S35) Next, the protocol stack 107a uses the IP address “B” designated from 106b as information of the IP header (second IP header: h7), and uses the same port number “Pm2” as the TCP header (second TCP header: h6) information is added to the application data (1305) and further the destination MAC address (second MAC: h8) information of the packet is added to generate a transmission packet (1306), and the virtual communication I To / F108a. Here, the IP address 107a assigned to the application data (1305) as the second IP header (h7) is the IP address “B” assigned to the virtual communication I / F 108b of the destination communication device B, It is the same as the IP address that 107a assigned to (S4) as the first IP header (h3) in the application data (1303). Further, the address given by 107a as the second MAC (h8) to the application data (1305) is the MAC address “r” of the router 113, and 107a is the first MAC (h4) in the application data (1303) first (S4). Is the same as the address “r” assigned as.

  (S36 to S38) The virtual communication I / F 108a passes the packet (1306) passed from the above 107a to the encapsulation processing unit 105a, and similarly passes from 105a to the router 113 via the communication I / F 109a.

  (S39) Also in the router 113, a packet (1307) in which the second MAC (h8) of the packet (1306) is rewritten to the MAC address “b” of the communication device B is created and transferred to the communication device B as described above.

  (S40 to S42) Upon receiving the packet (1307) from the router 113, the communication I / F 109b of the communication apparatus B passes the packet to the encapsulation processing unit 105b. Similarly, from 105b via the virtual communication I / F 108b, the protocol stack 107b.

  (S43) Next, the protocol stack 107b performs protocol processing on the received packet (1307), and extracts the application data portion (1308) of the packet (1307). Then, according to the designation (port number) of the TCP header (second TCP header: h6) of the packet (1307), the application data portion (1308) is transferred to the second communication middleware execution unit 106b (M2).

  (S44) Next, the second communication middleware execution unit 106b (M2) removes the second header (second middle header: h5) from the application data (1308) received from the above 107b, and the remaining portion (first Packet) (1309) is passed to the encapsulation processing unit 105b.

  (S45) Next, the encapsulation processing unit 105b passes the packet (1309) received from the above 106b to the virtual communication I / F 108b.

  (S46) Next, in the virtual communication I / F 108b, the MAC address to which the address of the first MAC (h4) of the packet (1309) received from 105b is assigned by the virtual communication I / F 108b (of the communication device B) Since it matches with “b”, the packet (1309) is received. Then, 108b passes the packet (1309) to the protocol stack 107b.

  (S47) Next, the protocol stack 107b performs protocol processing on the packet (1309) received from the above-described 108b, extracts the application data portion (1310) of the packet (1309), and extracts the application data (1310). The packet is sent to the first communication middleware execution unit 104b (M1) according to the designation (port number) of the TCP header (first TCP header: h2) of the packet (1309).

  (S48) Next, the first communication middleware execution unit 104b (M1) removes the first middle header (h1) from the application data (1310) received from the 107b, and uses the data (1311) as the communication application execution unit. 103b (APP) (refer to the service ID as necessary as described above). As described above, in the data transmission from the new apparatus to the new apparatus, the transmission destination APP (103a) uses the encapsulated communication (second packet) via M2 and the ARP processing is interposed to transmit the data from the new apparatus to the new apparatus. Data is transmitted to the APP (103b).

[Effects]
As described above, in the communication apparatus 101 according to the second embodiment, at the time of transmission, the new apparatus determines whether the communication is via the router 113 by the encapsulation processing unit 105 (207 to 209, etc.) before transmitting the packet. In response to this, a process of changing the destination information (MAC address) of the first packet part is performed. In particular, for a transmission packet (held packet) passing through the router 113, the transmission source communication device (A) encapsulates the IP address of the destination communication device (B) as the destination IP of the second packet (P2). The request is transmitted (1323, etc.), and the destination communication device (B) responds with an ARP response encapsulating the IP address of the source communication device (A) as the destination IP of the second packet (P2). Reply (1333 etc.). As a result, the transmission source communication device (A) changes the destination (MAC address) of the transmission packet (holding packet) with the MAC address of the destination communication device (B) acquired by the ARP response, and transmits the destination packet. The communication device (B) can receive the packet.

  In the second embodiment, in the case of transmission from the new device to the old device and in the case of transmission from the old device to the new device, the encapsulation processing unit 105 determines that the packet does not require encapsulation. Therefore, the operation is the same as that of the first embodiment (FIGS. 9 and 11).

  As described above, in the second embodiment, the same effects as those of the first embodiment (ease of system migration and cost reduction) can be obtained.

  As a modification of the second embodiment, the following processing (repeated omission of ARP communication by recording ARP information) may be performed. In the communication apparatus 101 on the transmission side, the ARP response (1336) in FIG. 15 is recorded in the form of a table (eg, ARP information table) on a memory (such as the host memory 302 in FIG. Before sending the ARP request (1321) of FIG. 13, if the ARP response (1336) from the (destination) communication apparatus is already received (in the past) with reference to the table information, The MAC address of the communication device that is the source (destination) of the ARP response (1336) recorded in the table above without transmitting the ARP request (1321) or holding the transmission packet Rewrite with information. As a result, since the exchange of the ARP request and the ARP response described above only needs to be performed at the first communication, it is possible to suppress unnecessary communication and ensure communication responsiveness.

  As mentioned above, the invention made by the present inventor has been specifically described based on the embodiment. However, the present invention is not limited to the embodiment, and various modifications can be made without departing from the scope of the invention. Needless to say.

  The present invention can be used for various information processing systems (communication systems), VPNs (virtual private networks), and the like configured to include a communication device using communication middleware.

  DESCRIPTION OF SYMBOLS 101 ... Communication apparatus, 102 ... Network, 103 ... Communication application execution part, 104 ... 1st communication middleware execution part, 105 ... Encapsulation processing part, 106 ... 2nd communication middleware execution part, 107 ... Protocol stack, 108 ... Virtual communication I / F, 109 ... Communication I / F, 110 ... Protocol management table, 112 ... Communication information correspondence table, 113 ... Router, 201 ... RAW receiving unit, 202 ... Middle receiving unit, 203 ... Encapsulation determining unit, 204 ... RAW Transmission unit 205... Middle transmission unit 206. Header rewriting unit 207. Router crossing determination unit 208. Packet holding unit 209.

Claims (12)

  1. A communication device including a communication middleware and having a function of transmitting and receiving data to and from another communication device via a network,
    The communication device
    As a transmission function in the case of transmitting the target first data as a packet from the first communication device which is the own device on the transmission side to the second communication device which is the other device on the reception side,
    A first packet creation unit that performs a process of creating a first packet by attaching a first header including address information that designates the second communication device as a destination to the first data of interest;
    A first processing unit that executes predetermined first processing relating to communication middleware of the first communication device and a protocol to be used, using the first packet;
    A second packet creation unit for performing processing for creating a second packet encapsulated by attaching a second header including address information designating the second communication device as a destination to the first packet;
    A second processing unit that executes predetermined second processing relating to communication middleware of the first communication device and a protocol to be used by using the second packet, and transmits the second packet to the network. And
    As a reception function when receiving the target second data as a packet from the second communication device which is the other device on the transmission side to the first communication device which is the own device on the reception side,
    The second packet received from the network is subjected to predetermined third processing relating to communication middleware of the first communication device and a protocol to be used, and the first header is removed to release the first packet by decapsulation. A third processing unit that performs a process of taking out the packet, removing the first header from the first packet, and taking out the first data of the object;
    The destination address information of the first header of the portion of the first packet in the second packet received through the communication middleware of the first communication device is based on the address information of the first communication device that is the receiving device's own device. A communication device comprising: a header rewriting unit that performs a process of allowing the device to receive the first packet by rewriting.
  2. A communication device including a communication middleware and having a function of transmitting and receiving data to and from another communication device via a network,
    The communication device
    As a transmission function in the case of transmitting the target first data as a packet from the first communication device which is the own device on the transmission side to the second communication device which is the other device on the reception side,
    A first packet creation unit that performs a process of creating a first packet by attaching a first header including address information that designates the second communication device as a destination to the first data of interest;
    A first processing unit that executes predetermined processing relating to communication middleware of the first communication device and a protocol to be used, using the first packet;
    A second packet creation unit for performing processing for creating a second packet encapsulated by attaching a second header including address information designating the second communication device as a destination to the first packet;
    A second processing unit that executes predetermined processing relating to communication middleware of the first communication device and a protocol to be used by using the second packet, and transmits the second packet to the network;
    As a reception function when receiving the target second data as a packet from the second communication device which is the other device on the transmission side to the first communication device which is the own device on the reception side,
    The second packet received from the network is subjected to predetermined third processing relating to communication middleware of the first communication device and a protocol to be used, and the first header is removed to release the first packet by decapsulation. A third processing unit that performs processing to take out the packet, remove the first header from the first packet, and take out the first data of the target,
    As the transmission function,
    A router straddling determination unit that determines whether a packet to be transmitted is communicated via a router of the network by comparing communication information;
    In order to obtain the destination address information of the second communication device on the receiving side, the ARP is used to obtain the IP address information of the second communication device at the destination of the header of the packet to be transmitted as the second address of the second packet. Create and transmit the second packet by the ARP request encapsulated as the IP address information of the 2 header destination, and temporarily hold the packet to be transmitted until an ARP response to the ARP request is received A packet holding unit;
    The address information of the second communication device that is the destination of the header of the packet to be transmitted that is held is rewritten by the address information included in the second packet by the ARP response received from the second communication device. And a destination changing unit that transmits the rewritten packet,
    As the reception function, when the packet received from the network is the second packet by the ARP request, the IP address information of the first communication device including the address information of the own device requested by the ARP request And a fourth processing unit that creates and transmits a second packet based on an ARP response, which is encapsulated as IP address information of a destination of the second header of the second packet.
  3. The communication device according to claim 1.
    As elements constituting the first packet creation unit of the transmission function, the first processing unit, the second packet creation unit, the second processing unit, and the third processing unit of the reception function,
    A first communication middleware execution unit that executes first communication middleware corresponding to the old communication middleware;
    A second communication middleware execution unit that executes second communication middleware corresponding to the new communication middleware;
    A communication application execution unit that executes a communication application that operates on the first communication middleware and processes the target data;
    A protocol processing section for passing information between the first and second communication middleware via a socket interface;
    A physical communication interface unit connected to the network for transmitting and receiving packets;
    A virtual communication interface unit that is a virtual communication interface that performs a process of exchanging packet data and information between the protocol processing unit and the following encapsulation processing unit instead of the network;
    An encapsulation processing unit that is interposed between the communication interface unit, the virtual communication interface unit, and the second communication middleware execution unit to exchange packet data and information and perform control processing related to packet encapsulation. And
    Managing communication information including an IP address and a protocol and information indicating a correspondence relationship between the communication information of the first communication middleware and the communication information of the second communication middleware as table information;
    Assigning the IP address only to the virtual communication interface unit,
    The encapsulation processing unit includes the header rewriting unit, and the header rewriting unit receives the first packet in the second packet received through the second communication middleware of the second communication middleware executing unit at the time of reception. Rewriting the destination address information of the first header of the packet portion with the address information of the first communication device, and performing processing for receiving the first data of the target of the first packet by the own device; A communication device.
  4. The communication device according to claim 2.
    As elements constituting the first packet creation unit, the first processing unit, the second packet creation unit, the second processing unit, the third processing unit of the reception function, and the fourth processing unit of the transmission function,
    A first communication middleware execution unit that executes first communication middleware corresponding to the old communication middleware;
    A second communication middleware execution unit that executes second communication middleware corresponding to the new communication middleware;
    A communication application execution unit that executes a communication application that operates on the first communication middleware and processes the target data;
    A protocol processing section for passing information between the first and second communication middleware via a socket interface;
    A physical communication interface unit connected to the network for transmitting and receiving packets;
    A virtual communication interface unit that is a virtual communication interface that performs a process of exchanging packet data and information between the protocol processing unit and the following encapsulation processing unit instead of the network;
    An encapsulation processing unit that is interposed between the communication interface unit, the virtual communication interface unit, and the second communication middleware execution unit to exchange packet data and information and perform control processing related to packet encapsulation. And
    Managing communication information including an IP address and a protocol and information indicating a correspondence relationship between the communication information of the first communication middleware and the communication information of the second communication middleware as table information;
    Assigning the IP address only to the virtual communication interface unit,
    The encapsulation processing unit includes the router crossing determination unit, the packet holding unit, and the destination change unit as the transmission function, and includes the fourth processing unit as the reception function. A communication device characterized by the above.
  5. The communication device according to claim 3.
    At the time of the transmission, the virtual packet is created as the first packet through the processing of the first communication middleware execution unit and the protocol processing unit based on the target first data from the communication application. Passed to the encapsulation processing unit through the interface unit, the encapsulation processing unit determines the necessity of encapsulation according to the protocol to be used and the communication middleware through the received packet based on the table information, If necessary in the above determination, a second packet is created from the first packet through the processing of the second communication middleware execution unit and the protocol processing unit according to the instruction of the encapsulation processing unit, and the second packet is Passed to the encapsulation processing unit through the virtual communication interface unit, unnecessary in the determination If the the packet, then RAW transmitted through the communication interface unit,
    At the time of reception, the second packet received through the communication interface unit is received from the second packet through the processing of the encapsulation processing unit, the virtual communication interface unit, the protocol processing unit, and the second communication middleware execution unit. The first packet is extracted and passed to the encapsulation processing unit, and the encapsulation processing unit processes the virtual communication interface unit, the protocol processing unit, and the first communication middleware execution unit based on the received first packet. And passing the first data of the object to the communication application.
  6. The communication device according to claim 5.
    At the time of the transmission, the virtual packet is created as the first packet through the processing of the first communication middleware execution unit and the protocol processing unit based on the target first data from the communication application. Passed to the encapsulation processing unit through the interface unit, the encapsulation processing unit determines the necessity of encapsulation according to the protocol to be used and the communication middleware through the received packet based on the table information, If necessary in the above determination, a second packet is created from the first packet through the processing of the second communication middleware execution unit and the protocol processing unit according to the instruction of the encapsulation processing unit, and the second packet is Passed to the encapsulation processing unit through the virtual communication interface unit, unnecessary in the determination If the the packet, then RAW transmitted through the communication interface unit,
    At the time of reception, the second packet received through the communication interface unit is received from the second packet through the processing of the encapsulation processing unit, the virtual communication interface unit, the protocol processing unit, and the second communication middleware execution unit. The first packet is taken out and passed to the encapsulation processing unit, and the encapsulation processing unit performs processing of the virtual communication interface unit, the protocol processing unit, and the first communication middleware execution unit based on the received packet. Passing the first data of the object to the communication application.
  7. The communication device according to claim 3.
    Destination address information rewritten by the header rewriting unit at the time of reception is MAC address information.
  8. The communication device according to claim 4, wherein
    Destination address information exchanged by the ARP is MAC address information.
  9. The communication device according to claim 3 or 4,
    As the table information,
    A first table storing a packet type, an IP address of a destination communication device, a port number indicating a destination communication middleware, and information indicating a protocol to be used or RAW transmission;
    Information including an IP address and a port number as information indicating the correspondence between the communication information of the first communication middleware that is the old communication middleware in the communication device and the communication information of the second communication middleware that is the new communication middleware associated therewith And a second table for storing the communication device.
  10. The communication device according to claim 3 or 4,
    The encapsulation processing unit instructs information including an IP address of a destination communication device and a port number indicating a destination communication middleware when the first packet and the second packet are created based on the table information. A communication device.
  11. The communication device according to claim 3 or 4,
    In the case of the transmission, the first communication device that is the transmission-side device is a new device that includes the first communication middleware and the second communication middleware, and the second communication device that is the other device on the reception side is the first device. In the case of an old device having one communication middleware and no second communication middleware,
    The first communication device converts the target first data from the communication application into the first communication middleware execution unit, the protocol processing unit, the virtual communication interface unit, the encapsulation processing unit, and the communication. Through the processing of the interface unit, send to the network as the first packet,
    The second communication device transmits the first packet received from the network to the communication application execution unit as the first data of the target through the processing of the communication interface unit, the protocol processing unit, and the first communication middleware execution unit. Let's get
    In the case of the reception, the second communication device that is the other device on the transmission side is the old device that has the first communication middleware and does not have the second communication middleware, and is the first communication that is the own device on the reception side. When the device is a new device having the first communication middleware and the second communication middleware,
    The second communication device transmits the target second data from the communication application to the network as the first packet through the processes of the first communication middleware execution unit, the protocol processing unit, and the communication interface unit. ,
    The first communication device processes the first packet received from the network by the communication interface unit, the encapsulation processing unit, the virtual communication interface unit, the protocol processing unit, and the first communication middleware execution unit. And causing the communication application execution unit to acquire the second data as the target.
  12. The communication device according to claim 4, wherein
    Means for recording information on the ARP response exchanged between communication devices using the ARP, and referring to the information on the ARP response before transmitting the second packet according to the ARP request; Means for rewriting the address information of the destination of the packet to be transmitted using the address information of the past ARP response when there is information on the past ARP response from the communication device that is the destination of the packet, A communication apparatus characterized by omitting repetition of communication using ARP depending on the configuration.
JP2011178028A 2011-08-16 2011-08-16 Communication device Active JP5632806B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011178028A JP5632806B2 (en) 2011-08-16 2011-08-16 Communication device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011178028A JP5632806B2 (en) 2011-08-16 2011-08-16 Communication device

Publications (2)

Publication Number Publication Date
JP2013042370A true JP2013042370A (en) 2013-02-28
JP5632806B2 JP5632806B2 (en) 2014-11-26

Family

ID=47890344

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011178028A Active JP5632806B2 (en) 2011-08-16 2011-08-16 Communication device

Country Status (1)

Country Link
JP (1) JP5632806B2 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005323316A (en) * 2004-05-11 2005-11-17 Nippon Telegr & Teleph Corp <Ntt> Gateway apparatus
JP2006506839A (en) * 2002-11-13 2006-02-23 トムソン ライセンシングThomson Licensing Method and apparatus for supporting 6-4 tunneling protocol through network address translation mechanism
JP2008078966A (en) * 2006-09-21 2008-04-03 Nec Corp Communication system, tunneling device, communication method, and program

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006506839A (en) * 2002-11-13 2006-02-23 トムソン ライセンシングThomson Licensing Method and apparatus for supporting 6-4 tunneling protocol through network address translation mechanism
JP2005323316A (en) * 2004-05-11 2005-11-17 Nippon Telegr & Teleph Corp <Ntt> Gateway apparatus
JP2008078966A (en) * 2006-09-21 2008-04-03 Nec Corp Communication system, tunneling device, communication method, and program

Also Published As

Publication number Publication date
JP5632806B2 (en) 2014-11-26

Similar Documents

Publication Publication Date Title
US10142127B2 (en) Methods and systems to offload overlay network packet encapsulation to hardware
EP3020164B1 (en) Support for virtual extensible local area network segments across multiple data center sites
US20190190770A1 (en) Enhanced Network Virtualization using Metadata in Encapsulation Header
US10439843B2 (en) Method and system for virtual and physical network integration
JP2016171591A (en) Provision of logical networking function for managed computer network
CN104335532B (en) The method and apparatus for routing the packet to the far-end address of Virtual Switch Instance
CN103200069B (en) A kind of method and apparatus of Message processing
US10574484B2 (en) Method for implementing residential gateway service function, and server
US20190245809A1 (en) System and method for message handling in a network device
US8407366B2 (en) Interconnecting members of a virtual network
US9008097B2 (en) Network interface controller supporting network virtualization
CN102447618B (en) Route switching method in a kind of LISP network and device thereof
JP3749720B2 (en) Device and method for connecting between network devices in different home networks
US6816890B2 (en) Gateway apparatus with LAC function
US6839346B1 (en) Packet switching apparatus with high speed routing function
KR100992300B1 (en) A method for supporting ip network interconnectivity between partitions in a virtualized environment
CN107646185A (en) Operation, management and processing (OAM) in data center environment is covered
JP6024474B2 (en) Multi-tenant system, management apparatus, management program, and control method of multi-tenant system
CN105099779B (en) Multi-tenant cloud platform framework
JP4231773B2 (en) VRRP technology that maintains the confidentiality of VR
EP1753180B1 (en) Server for routing a connection to a client device
US10110490B2 (en) Method and apparatus for forwarding packet
US8493851B2 (en) Method and system for offloading tunnel packet processing in cloud computing
EP3080957B1 (en) Establishing a data transfer connection
KR101840904B1 (en) Virtualization gateway between virtualized and non-virtualized networks

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130814

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140528

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140610

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140728

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140930

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141010

R150 Certificate of patent or registration of utility model

Ref document number: 5632806

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150