Patent Publication Number: US-9413628-B2

Title: Network relay node device, network relay method, and recording medium

Description:
CROSS-REFERENCE TO RELATED APPLICATION 
     This application is a continuation application of International Application PCT/JP2010/002397 filed on Mar. 31, 2010 and designated the U.S., the entire contents of which are incorporated herein by reference. 
    
    
     FIELD 
     The embodiments discussed herein are related to a network relay node technique for relaying communication between a first network and a second network having a communication protocol different from the communication protocol of the first network. 
     BACKGROUND 
     The first network is a network, for example, an ad hoc network for connection of communication units directly or through another communication unit by cable or by wireless without using a network connection device such as a router, an access point, a base station, etc. 
     Furthermore, the second network having a protocol different from the protocol of the first network is a network, for example, a LAN (local area network) for collecting various types of information from a node as a terminal configuring, for example, an ad hoc network. In the second network, communication units are connected through, for example, a network connection device. 
     As a configuration in which the first and second networks are connected, for example, a switch in a LAN is connected to a network relay node as a communication unit in an ad hoc network, and is connected to a server computer as a communication unit in a LAN (hereafter simply referred to as a “server”). Then, the server in the LAN controls each node in the ad hoc network or collects information from each node. 
     As an example of the configuration above, a server for collecting the sensor information in the LAN collects various types of sensor information from a node in an ad hoc network operating as sensor equipment. 
     With the above-mentioned configuration in which the first and second networks are connected, assume that broadcast information is transmitted from the server in the second network to the first network. 
     For example, in  FIG. 1 , the broadcast information transmitted from a server  1  in the LAN is received by a switch SW. After recognizing the broadcast information, the SW transmits the broadcast information to the node B in the connected ad hoc network. After receiving the broadcast information, the node B transmits the broadcast information to all ports connected to the local node, for example, to the node A and other nodes. 
     In this case, in the first network such as an ad hoc network etc., each node configuring the network has a mesh-shaped connection configuration. Therefore, a route is physically looped. When the communication information is looped, normal routing is not performed. However, a system in which the communication information passing through the route is not looped although the route is physically looped is incorporated into the first network. 
     In the communication system capable of communicating independent of the protocol of a network layer between an ad hoc network and a communication device on a LAN segment connected to the ad hoc network, there is a technique of determining a communication device as a destination of a frame from the path table to the communication device in the ad hoc network (for example, the patent document 1).
     Patent Document 1: Japanese Laid-open Patent Publication No. 2006-279168   

     SUMMARY 
     According to an aspect of the embodiments, a network relay node device for relay from a first network to a second network having a protocol different from a protocol of the first network through a switch includes: an identical segment information generation control unit for generating identical segment information for identification of another relay node device belonging to a same segment as a local device in the second network; and a loop suppression control unit for suppressing a loop of a communication including the switch by broadcasting a received broadcast frame only to a connection port of the first network if the identical segment information is detected in identification source node information acquired from a header of the broadcast frame when the broadcast frame is received from a connection port of the first network. 
     The object and advantages of the invention will be realized and attained by means of the elements and combinations particularly pointed out in the claims. 
     It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory and are not restrictive of the invention. 
    
    
     
       BRIEF DESCRIPTION OF DRAWINGS 
         FIG. 1  is a configuration of a certain network; 
         FIG. 2  is an explanatory view ( 1 ) of the problem with the duplex connection; 
         FIG. 3  is an explanatory view ( 2 ) of the problem with the duplex connection; 
         FIG. 4  is an example of a configuration of the network system according to the embodiment; 
         FIG. 5  is an explanatory view of the STP system; 
         FIG. 6  is a configuration of the connection port of a node; 
         FIGS. 7A, 7B, and 7C  are explanatory views of an entering operation on the identical segment table according to the embodiment; 
         FIG. 8  is an example of a configuration of data of a “LAN side link-up notification” command; 
         FIG. 9  is an example of a configuration of data of a Ping request command and reply; 
         FIG. 10  is an explanatory view of a process of inputting a broadcast frame according to the embodiment; 
         FIG. 11  is a configuration of the hardware of a node; 
         FIG. 12  is a block diagram of the function of a node; 
         FIGS. 13A and 13B  are flowcharts of the entering, updating, and deleting processes of the identical segment table; 
         FIG. 14  is a practical example of the network system according to the embodiment; and 
         FIG. 15  is a configuration of hardware capable of realizing the embodiment. 
     
    
    
     DESCRIPTION OF EMBODIMENTS 
     In interconnecting the above-mentioned first and second networks, the connection between the server etc. in the second network and the node in the first network may need to be duplex. 
     As an example of the duplex configuration above, there is a configuration illustrated in  FIG. 2 . In  FIG. 2 , a server  1  and a server  2  are connected to a switch SW in a LAN, and a node A and a node B in an ad hoc network are connected to the switch SW. That is, in  FIG. 2 , the server on the LAN side is duplexed, and the node on the ad hoc network side is duplexed. 
     With the configuration, for example, assume that an ARP request is transmitted by the server  1  to acquire a MAC address of the server  2  (S 1  in  FIG. 2 ). An ARP (Address Resolution Protocol) is a protocol used to acquire a MAC (Media Access Control) address from an IP (Internet Protocol) address in the Ethernet environment. An ARP request is broadcast information. In each device which has received an ARP request, and when the ARP request is not addressed to the local node, the ARP request is further transmitted to a port other than the reception port connected to the local device. When the ARP request is addressed to the local node, each device notifies the transmitter of the ARP request of the MAC address of the local device. As a result, the server  1  normally acquires the MAC address, and performs a communication with the server  2  using the MAC address of the server  2 . 
     Upon receipt of the ARP request, the SW transmits the ARP request to all ports other than the port which has received the ARP request (S 2  in  FIG. 2 ). 
     The ARP requests are received by the nodes A and B. Since the ARP requests are not addressed to the nodes A and B, the ARP requests are further transmitted to all ports of the SW other than the ports of the SW which have received the ARP requests (S 3  in  FIG. 2 ). 
     In this case, for example, the ARP request transmitted by the SW to the node A may be returned to the SW through the node B, thereby generating a loop. In the network connection device and the server of the SW in the second network, the network goes down if a loop is generated in the network, and a communication is not correctly established. Therefore, the server  1  does not receive a reply to the ARP request from the server  2 , and is not informed of the MAC address of the server  2 . 
     Thus, with the network configuration illustrated in  FIG. 2 , it is difficult to suppress the loop between the first network and the second network. Accordingly, it is hard to generate a duplex configuration as illustrated in  FIG. 2 . However, it is possible to generate a duplex configuration in which the first and second networks and the nodes A and B as illustrated in  FIG. 3  are one-to-one connected. However, in the case of the configuration illustrated in  FIG. 3 , for example, if a fault occurs in the route  1 , the server  1  does not access any point. 
     An aspect of the embodiments aim at realizing a duplex configuration for suppressing a loop with a high degree of freedom and with a load of a network designer reduced in connecting the first network such as an ad hoc network etc. to the second network such as a LAN etc. 
     The embodiments are described below in detail with reference to the attached drawings. 
       FIG. 4  is a network system according to an embodiment of the present invention. 
     An ad hoc network  401  configures the first network in which nodes as communication units are interconnected directly or through another node. 
     A LAN (Local Area Network)  402  configures the second network in which, for example, the servers  1  and  2  as communication units are interconnected through a switch SW as a network connection device. 
     In a relay network portion  403 , the switch SW interconnects the nodes A and B as relay nodes which operate as gateways for collecting the information about all nodes in the ad hoc network  401  to the servers  1  and  2  in the LAN  402 . That is, the nodes A and B on the ad hoc network  401  side are duplexed and the servers  1  and  2  on the LAN  402  side are also duplexed. 
     To avoid the above-mentioned problem of a loop of the communication information in the duplexed inter-connection in the first and second networks, there is a technique using a switch having the STP (Spanning Tree Protocol) function. 
       FIG. 5  is an explanatory view of the STP system. 
     In the STP function, a loop state of the communication information is detected by transmitting special data called a BPDU (Bridge Protocol Data Unit). Thus, a specific route, for example, a route  501  is set as a constant route, and other routes, for example, a route  502  is cut off so that it is not to be used normally, and defined as a bypass in case a fault occurs. Thus, the nodes A and B are duplexed, and a loop of information communications is suppressed even when there is a physical loop among the switch SW and the nodes A and B. 
     However, with the duplex configuration using the STP function, as illustrated in  FIG. 5 , the servers  1  and  2  do not communicate with each node in the ad hoc network in a normal operation only through the route  501  using the node A. That is, the server  1  or  2  does not directly communicate with the node B. Therefore, in the normal operation, the duplex configuration in which, for example, the server  1  directly communicates with the node A or B, and simultaneously the server  2  directly communicates with the node A or B is not realized. 
     Therefore, when it is assumed that a switch with the STP function is used, difficult to sufficiently correspond to the duplex configuration with a high degree of freedom. 
       FIG. 6  is a configuration of the connection port of a node  601  corresponding to each relay node of the ad hoc network  401  illustrated in  FIG. 4  according to the present embodiment. The node  601  includes a LAN port  602  for connection to the switch SW illustrated in  FIG. 4 , and a plurality of (for example, four) trunk ports  603  for connection to a plurality of nodes in the ad hoc network  401 . 
       FIGS. 7A through 7C  are explanatory views of the entering operation of the identical segment table according to the present embodiment. 
     According to the present embodiment, the nodes A and B ( FIG. 4 ) respectively form identical segment tables  701 A and  701 B indicating the nodes A and B belong to the identical segment as illustrated in  FIGS. 7B and 7C . Belonging to the identical segment refers to a connection under the condition that a broadcast frame transmitted in the second network can be received. 
     For example, assume that a LAN port  602 A of the node A is in a non-link-up state, and a LAN port  602 B of the node B is in a linked-up state. The non-link-up state refers to a state in which the LAN port  602 A has not yet been opened in a communication enabled state. 
     When the LAN port  602 A links up, the node A broadcasts a LAN side link up notification command from a trunk port  603 A of the node A to the trunk port of another node (step S 1  in  FIG. 7A ). According to the command, the node B is informed of the IP address of the LAN port  602 A of the node A, and that the LAN port  602 A of the node A has linked up. 
     In  FIG. 7A , upon receipt of the LAN side link up notification command from any trunk port  603 B, the node B issues an echo request packet, for example, a Ping request command from the LAN port  602 B to the node A through the switch SW (step S 2  in  FIG. 7A ). The Ping request command from the node B is received by the node A which has transmitted the LAN side link up notification command through the connected route. As described below, the node B receives an echo reply packet, for example, a Ping reply command from the node A (step S 4 ), and confirms that Ping has received by the node A, thereby recognizing that the nodes A and B are connected between the LAN ports  602 A and  602 B. 
     As illustrated in  FIG. 7A , when the node A first transmits the LAN side link up notification command, and receives the Ping request command from the node B (step S 2  in  FIG. 7A ), it writes the ad hoc address of the node B as illustrated in  FIG. 7B  to the identical segment table  701 A of the local node (step S 3   a ). 
     Simultaneously, the node A returns a Ping reply from the LAN port to the node B (step S 4  in  FIG. 7A ). Upon receipt of the Ping reply from the node A through the LAN port (step S 4  in  FIG. 7A )), the node B is informed that the node A exists in the identical segment. Thus, the node B writes the ad hoc address of the node A to the identical segment table  701 B of the local node as illustrated in  FIG. 7C  (step S 3   b ). 
     Under the control above, the information is protected from being looped when the broadcast information is input. 
       FIG. 8  is an example of a data configuration in which the LAN side link up notification command is an ad hoc command. In  FIG. 8 , a GD (global destination) field refers to a destination node ID on the ad hoc network  401  ( FIG. 4 ) side. During the broadcast, the value of the GD field is Oxffffff. A GS (global source) field refers to a source node ID of the ad hoc network  401 . A Type field refers to a data type. In this field, a value corresponding to the LAN side link up notification. A FID field refers to a frame identification ID. In this field, a sequential number is added to each frame. A TTL field refers to a frame retention time. A Length field refers to a frame length of a Body field portion. A FCS field refers to a frame check sequence for error correction of the ad hoc header (from the GD field to the Length) portion. A Body field refers to an IP address of the local node (the node A in this example). 
       FIG. 9  is an example of a data configuration of the Ping request command and the Ping reply command as a reply of the request command. The Ping request command and the reply to the request is realized as an ICMP (Internet Control Message Protocol) message. In  FIG. 9 , the TYPE field refers to the type of an ICMP message. In this field, a value indicating Ping is set. A code field refers to a Ping request command or a Ping reply. A checksum field is a field for an error check. An inherent header refers to a header inherent to each type of ICMP. An ICMP message field is variable length, and indicates the ad hoc address of the local node (the node B in this example) in the present embodiment. The ICMP header configured by the above-mentioned TYPE, code, checksum, and inherent header fields, and the ICMP message field configures an ICMP frame for a Ping request command. An IP header, a MAC header, and a Body potion (data and FCS) are further added to the ICMP frame, thereby configuring a transmission data. 
     As a destination IP address to be added to the IP header, an IP address of the node whose LAN port has been linked up is set. The IP address is acquired from the Body field of the received LAN side link up notification command. 
     The ad hoc address of the node B is acquired from the ICMP message field of the received Ping request command. The ad hoc address of the node A is acquired from the ICMP message field of the received Ping reply. 
     A data configuration example of the Ping reply is similar to that illustrated in  FIG. 9 , a value indicating the Ping reply is set in the command field, and the ad hoc address of the node A is set in the ICMP message field. 
     Next, the loop suppressing process performed when a broadcast frame is input according to the present embodiment is described with reference to  FIG. 10 . 
     Assume that the identical segment tables  701 A and  701 B illustrated in  FIGS. 7B and 7C  have been set in the nodes A and B respectively. 
     In this state, for example, a broadcast frame is transmitted from the server  2 , and reaches the node B through the switch SW (step S 5  in  FIG. 10 ). Although the broadcast frame also reaches the node A through the SW, the following operation is the same between both nodes. Therefore, only the node B is explained here. 
     The node B adds an ad hoc header  1001  to a MAC frame  1002  as a broadcast frame received from the LAN port, and transmits it from each trunk port  603  (displayed by simplifying the trunk port  603  in  FIG. 6 ). The frame reaches each node, for example, one trunk port of the node A (step S 6  in  FIG. 10 ). 
     Each node, for example, the node A recognizes a broadcast frame in a frame received from any trunk port. The data configuration of the ad hoc header of the frame is similar to a data configuration example of the LAN side link up notification command illustrated in  FIG. 8 . That is, the GD field refers to a destination node ID. In the broadcast frame, the value of 0xffffff is set. By recognizing the setting, the broadcast frame is recognized. The GS field refers to a source node ID. If the received frame is a broadcast frame received from the node B, the ID of the node B is added to the field. Therefore, the node A is informed of the ad hoc address of the node B. 
     If each node, for example, the node A has recognized that the broadcast frame has been received by one trunk port, then the identical segment table  701 A held by the local node is searched using the source node ID acquired from the received frame. As a result, if a hit is acquired by the search, each node does not transmit a received frame to the LAN port  602 , but broadcasts it only to each trunk port  603  other than the receiving trunk port (step S 7  in  FIG. 10 ). In the case of node A, the ad hoc address of the source node B is hit. Thus, the node A does not transmit the received broadcast frame to the LAN port  602 , but transmits it only to each trunk port  603 . Thus, the loop of the broadcast frame is suppressed. That is, the broadcast frame from the server  2  is broadcast to the node A through the node B, but the loop from the node A to the node B through the switch SW is suppressed. Therefore, according to the embodiment of the present invention illustrated in  FIG. 10 , with the configuration in which the nodes A and B are multiplexed, the loop of the information is suppressed although there is a physical loop through the nodes A and B and the switch. Each node does not perform the process of searching the above-mentioned identical segment table for the frame received from the LAN port. 
     In addition to the above-mentioned basic operation, the first and second controlling processes described below are performed according to the present embodiment. 
     As the first controlling process, the process of maintaining the latest information about the identical segment table is performed. 
     First, as the operation reverse to step S 1  in  FIG. 7A  above, any node broadcasts the LAN side link disconnection notification command to each trunk port when the LAN port disconnects its link, and completely clears the information in its identical segment table. The data configuration example of the LAN side link disconnection notification command is similar to that of the LAN side link up notification illustrated in  FIG. 8 . However, the value corresponding to the LAN side link disconnection notification is set in the TYPE field. From the value of the GS field of the command, other nodes are informed of the ad hoc address of the node in which the link disconnection of the LAN port has occurred. The other nodes delete the ad hoc address of the node from the identical segment table held by each of them. 
     In addition, the LAN side link up notification command transmitted by the operation is periodically transmitted not only during the activation of each node. In addition, the transmission interval of the command is varied by a setting. When each node receives the LAN side link up notification command, the ad hoc address information is overwritten to maintain the latest state of each table on the mutually identical segment table by communicating the Ping request command and reply as in the cases in S 2  and S 4  in  FIG. 7A . 
     As the second controlling process, immediately after the LAN port linkup, the following controlling process is performed. That is, immediately after the linkup of the LAN port, there is the timing with which the communication of the Ping request command or the preparation of the identical segment table has not been performed. In this case, if the broadcast information is received or transmitted, a loop occurs. To avoid this, according to the present embodiment, for example, a guard period of several hundreds mS (millisecond) is set after detecting the linkup of the LAN port, and no broadcast information entering from the LAN port of another node is accepted in the period. The guard period is varied by a setting. 
     In the above-mentioned explanation of the present embodiment, there are two nodes on the ad hoc network side connected to the switch SW as illustrated in  FIGS. 4  through  10 . However, the technique disclosed according to the present embodiment is not limited to the case above, but the operation is performed as in the case above although two or more nodes are connected to the switch SW on the LAN  402  side. That is, for example, on the segment table of the node A, the ad hoc addresses of the plurality of nodes are stored, and the loop to the plurality of nodes is suppressed. 
     Although the servers  1  and  2  are multiplexed, the server  1  is connected to the node A through the switch SW, and the server  2  is connected to the node B through the switch SW. In this case, as described above, the loop of the information is avoided although there is a looped physical communication path of the switch SW and the nodes A and B. Therefore, according to the present embodiment, when the servers  1  and  2  and/or the nodes A and B are multiplexed, a load distribution is performed between the nodes A and B. Furthermore, the server  1  collects information from, for example, a network through the node A, and the server  2  controls an ad hoc network through the node B. Therefore, the function distribution is performed between the servers  1  and  2  or the nodes A and B. 
     The functions according to the embodiments above are described below. 
     1. Each relay node in an ad hoc network holds an identical segment table. The relay node includes a port for the second network such as a LAN etc. in addition to the port for the first network for an ad hoc network etc., and has the capability of relaying the information between the first and second networks. 
     2. The relay node in the ad hoc network broadcasts the LAN side linkup notification command storing the IP address of the local node to each trunk port of the local node when the LAN port of the local node links up, or periodically after the linkup. 
     Upon receipt of the LAN side link up notification command, the relay node in the ad hoc network transmits a Ping request command storing the ad hoc address of the local node to the LAN port of the local node at the IP address stored in the command. Then, it monitors the Ping reply corresponding to the Ping request command on the LAN port side. Upon receipt of the Ping reply, it enters (or overwrites) the ad hoc address stored in the commanding the identical segment table stored in the local node. 
     Upon receipt of a Ping request command from the LAN port, the relay node in the ad hoc network enters (or overwrites) the ad hoc address storing the command in the identical segment table held in the local node. Then, it transmits the Ping reply storing the ad hoc address of the local node to the LAN port of the local node at the source IP address stored in the received Ping request command. 
     3. When the LAN port of the local node disconnects the link, the relay node in the ad hoc network broadcasts the LAN side link disconnection notification command storing the IP address of the local node to each trunk port of the local node, and completely clears its identical segment table. 
     Upon receipt of the LAN side link disconnection notification command, the relay node in the ad hoc network deletes the source ad hoc address of the command from the identical segment table held by the local node. 
     4. The relay node in the ad hoc network adds the ad hoc header to the broadcast frame extracted from the LAN port, and transmits the frame from each trunk port. 
     Each relay node recognizes the broadcast frame from the destination node ID in the frequency received from any trunk port. Upon recognition of the broadcast frame, each relay node searches the identical segment table held by the local node using the source node ID which is acquired from the received frame. As a result, when the search makes a hit, each relay node does not transmit the received frame to the LAN port, but broadcasts it only to each trunk port. 
     With the above-mentioned four functions, a user of the network having the configuration of the first network such as an ad hoc network etc. connected to the second network such as a LAN etc. uses a connection configuration of a high degree of freedom without considering the loop of the communication information even using a duplexed relay network portion. 
     The effect of the present embodiment is summarized below with reference to the technique of using the STP function in  FIG. 5 . 
     a. Generally, a switch with the STP function is expensive, but a switch having the STP function is provided. 
     b. Not everybody has a high level of skill to set the STP function. According to the present embodiment, no skill is needed to set the function because a loop protection function is incorporated into the relay nodes A and B. 
     c. With the STP function, a connection is made from the switch SW to only one node A (or node B). Therefore, for example, when a different instruction is issued to each node in the ad hoc network  401  from each of the servers  1  and  2  in the LAN  402 , the communication load is concentrated on one node A (or node B) if there is only one node available, thereby restricting the amount of data to be processed. Specifically when the ad hoc network  401  is a sensor network, the network size is limited if there is only one node to communicate with the LAN  402 . In the present embodiment, the nodes A and B simultaneously communicate with the servers  1  and  2 . Therefore, the load is distributed. 
     Furthermore, with the STP function, when the servers  1  and  2  perform the process having a different purpose, the servers  1  and  2  are not simultaneously connected to the two nodes A and B, thereby restricting the function of the system. According to the present embodiment, the function of a multiplexed server and a multiplexed node is distributed. 
     d. In the STP system, when there arises a fault in the route  501  of the node A, the route  501  is to be switched to the route  502  including the node B which has not been used. A switching time of several tens of or 50 seconds is taken to switch routes. There is also an RSTP (Rapid Spanning Tree Protocol) as an improved method, but it also requires a switching time of about one second at worst. 
     Since the switch SW and the routes of the nodes A and B are already used in the present embodiment, the route switching time is very short when a fault occurs. 
     As described above, the present embodiment suppresses the communication loop of the information even when there is a physical loop among the nodes A and B and the switch SW in the relay network portion including the duplexed relay nodes A and B in the first network and the switch of the second network having a protocol different from that of the first network. Furthermore, according to the present embodiment, although the relay node is duplexed and the server is not duplexed, the effects a, b, and d work on the technique having the STP function illustrated in  FIG. 5 . Furthermore, in the present embodiment illustrated in  FIG. 10 , when the server and the relay node are multiplexed, the effect c above works in addition to the effects a, b, and d above on the technique of the STP function. 
       FIG. 11  is a configuration of the hardware of the node  601  in  FIG. 6  according to the present embodiment.  FIG. 12  is a block diagram of the function of the node  601 . In  FIG. 12 , the corresponding portions in  FIG. 11  are assigned the identical reference numerals. 
     A cable ad hoc port  1106  corresponds to the trunk port  603  in  FIG. 6 , and inputs and outputs the communication information communicated with other nodes. The cable ad hoc port  1106  is terminated by a PHY (PHYsical Layer Device)  1104  including PHY  1  through  4  for encoding or decoding a transmission/reception frame. The portion configured by the cable ad hoc port  1106  and the PHY  1104  is functionally configured by a reception unit  1208  and a transmission unit  1209  as illustrated in  FIG. 12 . Each of reception ports  1208 - 1  through  1208 - x  of the reception unit  1208  performs a decoding operation etc. for each cable ad hoc port  1106 . Each of transmission ports  1209 - 1  through  1209 - x  of the transmission unit  1209  performs an encoding operation etc. for each cable ad hoc port  1106 . The transmission information is provided for each of the transmission ports  1209 - 1  through  1209 - x  through a buffer unit  1210  implemented in SDRAM (Synchronous Dynamic Random Access Memory)  1110 . The frame data output and input to and from the PHY  1104  is connected to a FPGA (Field Programmable Gate Array)  1101  through the connection line of an MII (media independent interface)  1117 . 
     A general-purpose LAN port  1107  corresponds to the LAN port  602  illustrated in  FIG. 6 , and is terminated by an L2SW (layer 2 switch)  1103 . 
     The operation state of each transmission/reception port in the PHY  1104  is monitored by a port monitor unit  1202  in the FPGA  1101 . 
     A reception frame control unit  1203  in the FPGA  1101  performs the process of receiving the frame data received by each of the reception ports  1208 - 1  through  1208 - x  in the PHY  1104 . 
     When the received frame data is to be processed by the local node, the frame data received by the reception frame control unit  1203  is passed to an MPU (Micro Processing Unit)  1102  through the connection line of an MII  1114 . The data is processed by an upper layer processing unit  1211  configured by the MPU  1102  and DDR2-SDRAM (Double-Data-Rate 2 Synchronous Dynamic Random Access Memory)  1111  controlled thereby, or flash memory (FLASH)  1112 . 
     A port selection unit  1205  in the FPGA  1101  selects a transmitting port for the frame data received by the reception frame control unit  1203 , and passes the data to a transmission frame control unit  1204 . In this case, a port selection unit  1205  selects the transmitting port based on the contents of each routing table etc. in a table storage unit  1201  controlled by a table control unit  1206 . In the present embodiment, the table storage unit  1201  also functions as a storage unit for storing an identical segment table as identical segment information. 
     The transmission frame control unit  1204  outputs and transmits the frame data received from the port selection unit  1205  to the transmission port specified by the port selection unit  1205  through the buffer unit  1210 . 
     The table control unit  1206  enters, updates, and deletes various types of information on each routing table in the table storage unit  1201  or the identical segment table according to the present embodiment based on the transmission/reception state of the reception frame control unit  1203  and the transmission frame control unit  1204 . In addition, the table control unit  1206  updates and deletes data on each routing table etc. in the table storage unit  1201  based on the timing state of a timer  1207 . 
     The table storage unit  1201  is configured by CAM (content Addressable Memory)  1108  and SRAM (Static Random Access Memory)  1109  and SRAM (Static Random Access Memory)  1109 . Using the associable memory function of the CAM  1108 , a high-speed search is performed on various tables in the SRAM  1109 . The identical segment table according to the present embodiment is also implemented therein. Based on the control of the table control unit  1206 , an ad hoc address is searched, entered, updated, or deleted using the associable array function of the CAM  1108  on the identical segment table in the SRAM  1109 . 
     The transmission frame control unit  1204  issues a transmit instruction to the L2SW  1103  through the MII  1116  in  FIG. 11  when the frame data is to be transmitted to the general-purpose LAN port  1107 . On the other hand, the frame data received by the L2SW  1103  from the general-purpose LAN port  1107  is received by the reception frame control unit  1203  in the FPGA  1101  from the MII  1116 , or after decoded by a PHY  1105 , it is received by the upper layer processing unit  1211  through an MII  1115 . 
       FIGS. 13A and 13B  are operation flowcharts of the entering, updating, and deleting processes of the identical segment table. The operation flowcharts are realized as, for example, the function of the table control unit  1206  in the FPGA  1101  illustrated in  FIG. 12 . 
     In  FIG. 13A , the processes in steps S 1301  through S 1303  relate to the process of transmitting a LAN side link up notification command. 
     First, the state of the general-purpose LAN port  1107  is checked (step S 1301 ). If the general-purpose LAN port  1107  is in the link disconnection state, the determining process is repeatedly performed. The determining process is the process of the table control unit  1206  determining the monitor result of the port monitor unit  1202 . 
     If the state of the general-purpose LAN port  1107  refers to link up, the table control unit  1206  in  FIG. 12  controls the port selection unit  1205  in the guard period of, for example, several hundreds mS as described above as the second controlling process to stay in the wait state so that the broadcast information received from the general-purpose LAN port  1107  of another node is not accepted (step S 1302 ). 
     Afterwards, by the table control unit  1206  in  FIG. 12  controlling the port selection unit  1205 , the LAN side link up notification command is broadcast to each transmission port of the cable ad hoc port  1106  (step S 1303 ). Thus, the above-mentioned controlling process in step S 1  in  FIG. 7A  is realized. 
     Next, steps S 1304  through S 1306  refer to the processes processed after transmitting the LAN side link up notification command. 
     First, the table control unit  1206  issues an inquiry to the reception frame control unit  1203  to determine whether or not a Ping request command addressed to the local node has been received from the general-purpose LAN port  1107  through the L2SW  1103  (step S 1304 ). 
     If the determination in step S 1304  is NO, control is passed to step S 1307 . 
     If the Ping request command is received, and the determination in step S 1304  is YES, the table control unit  1206  writes the ad hoc address of the node stored in the Ping request command to the identical segment table stored in the table storage unit  1201  (step S 1305 ). Thus, a part of the above-mentioned controlling process as S 2  in  FIG. 7A  is realized. 
     Then, the table control unit  1206  controls the port selection unit  1205  to return a Ping reply from the L2SW  1103  through the general-purpose LAN port  1107  (step S 1306 ). In this case, in response to the Ping reply, the table control unit  1206  sets the value indicating the Ping reply in the command field, and sets the ad hoc address of the local node in the ICMP message field ( FIG. 9 ). Thus, a part of the above-mentioned controlling process is realized as S 3  in  FIG. 7A . 
     Next, the processes in steps S 1307  through S 1310  are the process of receiving the LAN side link up notification command. 
     First, the table control unit  1206  issues an inquiry to the reception frame control unit  1203  to determine whether or not the LAN side link up notification command has been received from the cable ad hoc port  1106  through the reception unit  1208  (step S 1307 ). 
     If the determination in step S 1307  is NO, control is passed to step S 1311 . 
     If the LAN side link up notification command is received and the determination in step S 1307  is YES, then the table control unit  1206  controls the port selection unit  1205 , and transmits a Ping request command from the L2SW  1103  through the general-purpose LAN port  1107  (step S 1308 ). In this case, in response to the Ping request command, the table control unit  1206  sets the value indicating the Ping request in the command field, and sets the ad hoc address of the local node in the ICMP message field ( FIG. 9 ). In addition, as a destination IP address added to the IP header ( FIG. 9 ), the IP address acquired from the Body field of the LAN side linkup notification command is set. The IP address relates to the linkup originating node. Thus, a part of the above-mentioned controlling process as S 2  in  FIG. 7A  is realized. 
     Then, the table control unit  1206  issues an inquiry to the reception frame control unit  1203  to determine for a specified period whether or not the Ping reply addressed to the local node has been received from the general-purpose LAN port  1107  through the L2SW  1103  (step S 1309 ). 
     If no Ping reply is received in the specified period, the identical segment table is not operated in response to the LAN side link up notification command, but control is returned to step S 1304 . 
     In response to the Ping reply, and if the determination in step S 1309  is YES, the table control unit  1206  writes the ad hoc address of the node stored in the Ping reply to the identical segment table in the table storage unit  1201  (step S 1310 ). Thus, apart of the above-mentioned controlling process is realized as S 3  in  FIG. 7A . Afterwards, control is returned to step S 1304 . 
     The processes in steps S 1311  and S 1312  are a receiving process of a LAN side link disconnection notification command. 
     First, the table control unit  1206  issues an inquiry to the reception frame control unit  1203  to determine whether or not the LAN side link disconnection notification command has been received from the cable ad hoc port  1106  through the reception unit  1208  (step S 1311 ). 
     If the determination in step S 1311  is NO, control is passed to step S 1313 . 
     If the LAN side link disconnection notification command is received and the determination in step S 1311  is YES, then the table control unit  1206  deletes the ad hoc address of the link disconnection originating node from the identical segment table held in the table storage unit  1201  (step S 1312 ). The address is acquired from the GS field of the LAN side link disconnection notification command. Afterwards, control is returned to step S 1304 . 
     The processes in steps S 1313  through S 1315  are a transmitting process for the LAN side link disconnection notification command. 
     First, the state of the general-purpose LAN port  1107  is checked (step S 1313 ). The determining process is performed by the table control unit  1206  to determine a monitor result of the port monitor unit  1202 . 
     If the general-purpose LAN port  1107  is in a link up state, control is passed to step S 1316 . 
     When the general-purpose LAN port  1107  enters the link disconnection state, the table control unit  1206  completely clears the contents of the identical segment table in the table storage unit  1201  (step S 1314 ). 
     Then, the table control unit  1206  in  FIG. 12  controls the port selection unit  1205  to broadcast the LAN side link disconnection notification command to each transmission port of the cable ad hoc port  1106  (step S 1315 ). 
     The process in step S 1316  is a process of periodically reporting the LAN side link up notification command. In this step, if a specified time has passed from the time of the previous command transmission, the process similar to the process in step S 1303  is performed. That is, by the table control unit  1206  in  FIG. 12  controlling the port selection unit  1205 , the LAN side link up notification command is broadcast to each transmission port of the cable ad hoc port  1106 . 
       FIG. 14  is an example of a practical configuration of the network system according to the present embodiment. In  FIG. 14 , a switch  1406  in a relay network  1403  is connected to nodes  1407 A and  1407 B as relay nodes to be the gateway in an ad hoc network  1401 . Furthermore, servers  1404 - 1  and  1404 - 2  etc. are connected to the switch  1405  etc. The node  1407 A collects data from another node group  1408 A in the ad hoc network  1401 , and transmits the data to the servers  1404 - 1  and  1404 - 2  through the switches  1406  and  1405  etc. The node  1407 B collects data from another node group  1408 B in the ad hoc network  1401 , and transmits the data to the servers  1404 - 1  and  1404 - 2  through the switches  1406  and  1405 . Thus, the duplex configuration of the servers  1404 - 1  and  1404 - 2  and the switches  1407 A and  1407 B is realized. 
     In the above-mentioned embodiment, for example, the table storage unit  1201  in  FIG. 12  functions as a storage unit for storing the identical segment information as an identical segment table. 
     For example, the node  601  for performing the operation in S 7  in  FIG. 10  and the table control unit  1206  in  FIG. 12  function as a loop suppressing unit. 
     For example, the node  601  for performing the operation in S 1  in  FIG. 7A  and the table control unit  1206  in  FIG. 12  for performing the processes in step S 1301  through S 1303  in  FIG. 13A  function as a linkup notification unit. 
     For example, the node  601  for performing the operations in S 2  and S 3  in  FIG. 7A  and the table control unit  1206  in  FIG. 12  for performing the processes in steps S 1307  through S 1310 , and S 1304  through S 1306  in  FIG. 13A  function as an attainment confirmation unit and an identical segment generation and update unit. 
     For example, the table control unit  1206  in  FIG. 12  for performing the processes in steps S 1311  through S 1315  in  FIG. 13B  functions as a link disconnection control unit. 
       FIG. 15  is an example of a hardware configuration of the computer capable of realizing the above-mentioned system as a software process. 
     The computer illustrated in  FIG. 15  includes a CPU  1501 , memory  1502 , an input/output device  1503 , an external storage device  1505 , a portable recording medium drive device  1506  into which a portable recording medium  1509  is inserted, and a communication interface  1507 , and these components are interconnected through a  1508 . The configuration illustrated in  FIG. 15  is an example of a computer capable of realizing the above-mentioned system, and the computer is not limited to the configuration. 
     The CPU  1501  performs the entire control of the computer. The memory  1502  is memory such as RAM etc. for temporarily storing a program or data stored in the external storage device  1505  or the portable recording medium  1509  when the program is executed, the data is updated, etc. The CPU  1501  performs the entire control by reading the program to the memory  1502  and executing the program. 
     The input/output device  1503  detects the inputting operation by a user using a keyboard, a mouse, etc., notifies the CPU  1501  of the detection result, and outputs the data transmitted by the control of the CPU  1501  to a display device and a printer device. 
     The external storage device  1505  is, for example, a hard disk storage device, and is mainly used in storing various types of data and programs. 
     The portable recording medium drive device  1506  accommodates the portable recording medium  1509  such as an optical disk, SDRAM, CompactFlash, etc., and functions as an auxiliary to the external storage device  1505 . 
     The communication interface  1507  is to connect a communication circuit of, for example, a LAN (Local Area Network), or a WAN (Wide Area Network). 
     The system according to the present embodiment is realized by the CPU  1501  executing the program provided with the function realized as illustrated according to the flowchart illustrated in  FIGS. 13A and 13B . The program is recorded on the external storage device  1505  and the portable recording medium  1509  and distributed, or acquired from a network through the communication interface  1507 . 
     A duplex configuration at a high degree of freedom is realized by suppressing a loop of a relay network portion including the first network connected to the second network having a protocol different from that of the first network with a reduced load of a network designer. 
     All examples and conditional language recited herein are intended for pedagogical purposes to aid the reader in understanding the invention and the concepts contributed by the inventor to furthering the art, and are to be construed as being without limitation to such specifically recited examples and conditions, nor does the organization of such examples in the specification relate to a showing of the superiority and inferiority of the invention. Although the embodiments of the present invention have been described in detail, it should be understood that the various changes, substitutions, and alterations could be made hereto without departing from the spirit and scope of the invention.