WO2012111833A1 - 通信システム、ルータ、スイッチングハブ、および通信方法 - Google Patents

通信システム、ルータ、スイッチングハブ、および通信方法 Download PDF

Info

Publication number
WO2012111833A1
WO2012111833A1 PCT/JP2012/053889 JP2012053889W WO2012111833A1 WO 2012111833 A1 WO2012111833 A1 WO 2012111833A1 JP 2012053889 W JP2012053889 W JP 2012053889W WO 2012111833 A1 WO2012111833 A1 WO 2012111833A1
Authority
WO
WIPO (PCT)
Prior art keywords
switching hub
relay device
router
communication
communication port
Prior art date
Application number
PCT/JP2012/053889
Other languages
English (en)
French (fr)
Inventor
博之 新井田
Original Assignee
ヤマハ株式会社
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 ヤマハ株式会社 filed Critical ヤマハ株式会社
Priority to CN201280009491.5A priority Critical patent/CN103503383B/zh
Publication of WO2012111833A1 publication Critical patent/WO2012111833A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks

Definitions

  • This invention relates to a technology for supporting operation management of a LAN (Local Area Network).
  • local LANs In recent years, companies have established LANs (hereinafter referred to as local LANs) at each branch office, etc., and connected these local LANs to an IP (Internet Protocol) network such as the Internet via a router. Building is generally done.
  • IP Internet Protocol
  • a local LAN is often configured by cascading a plurality of switching hubs, and a communication terminal used by each user (for example, a company employee) is connected to any one of those switching hubs.
  • the router is a relay device that performs transfer control of packets (data transmission / reception unit in the third layer) according to the communication protocol of the third layer (network layer) in the OSI (Open Systems Interconnection) reference model.
  • the switching hub is a relay device that performs transfer control of a frame (data transmission / reception unit in the second layer) according to the communication protocol of the second layer (data link layer) in the OSI reference model, and is also called an L2 switch.
  • Patent Document 1 discloses a technique for delivering a MAC (Media Access Control) address table between switching hubs included in a LAN and searching for a communication terminal by referring to the stored contents of the MAC address table.
  • the MAC address is a hardware identifier that uniquely identifies each communication device in the second layer of the OSI reference model.
  • the MAC address table is a table provided in a relay device such as a switching hub or router, and stores the port identifier of the communication port that received the frame in association with the transmission source MAC address of the frame received by the relay device. Is to do.
  • a larger LAN includes a larger number of communication terminals and switching hubs, and the connection relationship between the switching hubs is often complicated. For this reason, the importance of searching for communication terminals increases as the LAN becomes larger.
  • the technique disclosed in Patent Document 1 has a problem that application becomes more difficult as the LAN becomes larger. This is because as the size of a LAN increases and the number of switching hubs included in the LAN increases, the load due to the transfer of the MAC address table between the switching hubs increases, and the original data communication performed via the LAN (for example, This is because there is a high possibility of adversely affecting data communication between communication terminals accommodated in the LAN.
  • the present invention has been made in view of the above problems, and grasps to which switching hub a communication terminal accommodated in the network is connected without applying an excessive load to the network under the router.
  • the purpose is to provide a technology that makes this possible.
  • an aspect of the present invention provides a communication system including a router as a relay device and one or more switching hubs as a relay device included in a network under the router.
  • At least one of the plurality of switching hubs and each of the routers each include a hardware identifier for uniquely identifying a communication terminal that has transmitted a frame addressed to itself and a port identifier of a communication port that has received the frame
  • an adjacent relay device table that stores a hardware identifier of a relay device that is a transfer source of a frame received via the communication port in association with a port identifier of the communication port.
  • the router communicates with the at least one switching hub.
  • the router Based on the adjacent relay device information storage processing means for acquiring and storing the stored contents of the device table and the hardware identifier indicating the communication terminal to be searched or another identifier uniquely converted to the hardware identifier, the router A communication port specifying means for specifying a communication port corresponding to the communication terminal from the stored contents of the address table of the router, and whether or not a switching hub is connected to the communication port specified by the communication port specifying means. If the connection destination of the communication port is determined not to be a switching hub, the search target communication terminal is connected to the router. A first connection relay device determining means for informing the communication port and a communication port specified by the communication port specifying means.
  • Connection destination candidate selecting means for selecting the switching hub as a connection destination candidate of the search target communication terminal when it is determined by the first connection relay device determining means that the connection destination is a switching hub
  • Inquiry means for querying the switching hub selected by the connection destination candidate selection means for the communication port corresponding to the communication terminal to be searched in the switching hub, and a response from the switching hub of the inquiry destination by the inquiry means Determining whether or not the connection destination of the communication port is another switching hub with reference to the storage content of the adjacent relay device table acquired by the adjacent relay device information storage means from the switching hub of the inquiry destination, If the connection destination of the communication port is not another switching hub, the search While the target communication terminal notifies that it is connected to the switching hub of the inquiry destination, when the connection destination of the communication port is another switching hub, the other switching hub is set as a new candidate.
  • Second connection relay device determination means for reselecting and performing processing by the inquiry means, and the at least one switching hub stores the contents stored in the adjacent relay device table of the at least one switching hub
  • the communication port corresponding to the communication terminal for the inquiry is specified from the stored contents of the address table of the at least one switching hub.
  • a communication port notifying means for returning the communication.
  • the router determines whether or not the search target terminal is connected to each of the switching hubs on the communication path from the router to the search target communication terminal, thereby determining the connection destination of the communication terminal.
  • a switching hub is identified.
  • the MAC address table is not transferred between the router and the switching hub, and an excessive load is not applied to the network under the router.
  • the hardware identifier is a MAC (Media Access Control) address
  • the other identifier uniquely converted to the hardware identifier is an IP (Internet Protocol) address
  • the router is a subordinate A DHCP (Dynamic Host Configuration Protocol) server means for assigning an IP address to a communication terminal accommodated in the network and performing mutual conversion between the IP address and the MAC address of the communication terminal;
  • the communication port specifying means converts the IP address of the communication terminal to be searched into a MAC address by the DHCP server means, and specifies the communication port corresponding to the communication terminal from the MAC address and the contents stored in the address table of the router. It is characterized by doing.
  • the hardware identifier is a MAC (Media Access Control) address
  • the other identifier uniquely converted to the hardware identifier is a host name
  • the router is a subordinate network.
  • a DHCP (Dynamic Host Configuration Protocol) server means for allocating an IP (Internet Protocol) address to a communication terminal accommodated in the communication terminal and performing mutual conversion between the IP address and the MAC address of the communication terminal; DNS (Domain Name System) server means for performing mutual conversion between the host name of the terminal and the IP address, and the address address reference means determines the host name of the communication terminal to be searched by the DNS server means.
  • the IP address is converted into an IP address, and the IP address is converted to M by the DHCP server means.
  • Into a C address and identifies the communication port corresponding to the communication terminal and a corresponding MAC address and store the contents of the router in the address table.
  • an IP address is easier for a person to understand than a MAC address
  • a host name is easier for a person to understand than an IP address.
  • the communication terminal to be searched can be specified by an IP address or host name that is easier to understand than the MAC address, an advantage that convenience is improved can be obtained.
  • the one or more switching hubs may include a switching hub that does not have the adjacent relay device table.
  • a conventional switching hub is included in the network, it is possible to search for communication terminals connected to the switching hub having the adjacent relay device table.
  • another aspect of the present invention provides a communication system including a router as a relay device and one or more switching hubs as a relay device included in a network under the router.
  • At least one of the one or more switching hubs and each of the routers includes a hardware identifier for uniquely identifying a communication terminal that has transmitted a frame addressed to the own device, and a communication port that has received the frame
  • An address table for storing the port identifiers in association with each other, an adjacent relay device table for storing the hardware identifier of the relay device that is the transfer source of the frame received via the communication port in association with the port identifier of the communication port, and
  • the router has a hardware identifier indicating a communication terminal to be searched Or a first communication port specifying means for specifying a communication port corresponding to the communication terminal in the router from the stored contents of the address table of the router, based on another identifier uniquely converted into the hardware identifier.
  • the first connection relay device determining means for notifying that the communication terminal to be searched is connected to the router, and the first communication port specifying means
  • the first connection relay device determining means determines that the connection destination of the communication port specified by is a switching hub
  • Connection destination candidate selection means for selecting the switching hub as a connection destination candidate for the search target communication terminal, and whether or not the search target communication terminal is connected to the switching hub selected by the connection destination candidate selection means
  • Inquiry means for inquiring and a switching hub to which the inquiry means inquires that the communication terminal to be searched is connected, the connection destination of the communication terminal to be searched is the switching hub If there is a response indicating that another switching hub should be a new inquiry destination, the other switching hub is selected as a connection destination candidate of the search target communication terminal.
  • Second connection relay device determination means that performs the processing by the inquiry means again, and the at least one switching hub has a front
  • a second communication port specifying means for specifying a communication port corresponding to the communication terminal involved in the inquiry from the stored contents of the address table of the at least one switching hub, and the second communication It is determined whether another switching hub is connected to the communication port specified by the port specifying means based on the stored contents of the adjacent relay device table of the at least one switching hub, and the other switching hub is connected If it is determined that the other switching hub should be a new inquiry destination, the router is returned to the router. If it is determined that the other switching hub is not connected, the search target A communication terminal responding to the router that it is connected to the at least one switching hub.
  • Communication system comprising: the cause determining means, and to provide.
  • another aspect of the present invention is a router as a relay device that has a switching hub as a relay device in a subordinate network and connects the network and another network,
  • a communication interface unit having a plurality of communication ports, a hardware identifier that uniquely identifies a communication terminal that has transmitted a frame addressed to the router, and a port identifier of the communication port that has received the frame are stored in association with each other.
  • An address table a neighboring relay device table storing a hardware identifier of a relay device that is a transfer source of a frame received via the communication port in association with a port identifier of each of the plurality of communication ports, the router, From a switching hub having the same type of address table and adjacent relay device table, the switch Based on the storage means for acquiring and storing the stored contents of the adjacent relay device table of the mobile hub and the hardware identifier indicating the communication terminal to be searched or another identifier uniquely converted to the hardware identifier.
  • Communication port specifying means for specifying the corresponding communication port from the stored contents of the address table, and whether or not the connection destination of the communication port specified by the communication port specifying means is a switching hub included in the subordinate network Is determined based on the contents stored in the adjacent relay device table, and if it is determined that the communication terminal is not a switching hub, a first notification that the search target communication terminal is connected to the router is performed.
  • connection destination of the communication port specified by the connection relay device determining means and the communication port specifying means is a switching hub If it is determined by the first connection relay device determination means, the connection destination candidate selection means for selecting the switching hub as a connection destination candidate of the communication terminal to be searched, and the connection relay device determination means Inquiry means for inquiring a communication port corresponding to the communication terminal to be searched for the selected switching hub, and the connection destination of the communication port returned from the inquiry destination switching hub is the other switching hub.
  • a router characterized by
  • the communication system described above can be configured by combining such a router with a switching hub having the address table and the adjacent relay device table and having the adjacent relay device notification means and the communication port notification means. Further, as another aspect of the present invention, an aspect in which a communication method having the same steps as the above-described units can be considered.
  • another aspect of the present invention is a switching hub as a relay device included in a network under a router as a relay device, and a communication interface unit having a plurality of communication ports;
  • An address table that stores a hardware identifier that uniquely identifies a communication terminal that has transmitted a frame addressed to the switching hub and a port identifier of a communication port that has received the frame, and the plurality of communication ports.
  • the adjacent relay device table storing the hardware identifier of the relay device that is the transfer source of the frame received via the communication port in association with each port identifier of the frame, and the stored contents of the adjacent relay device table are notified to the router
  • Adjacent relay device notification means and an inquiry frame transmitted from the router, Identifying the corresponding communication port from the stored contents of the address table, triggered by the reception of an inquiry frame containing the hardware identifier of the communication terminal to be searched and inquiring the reception port of the frame transmitted from the communication terminal
  • a communication port notifying means for returning the specified result to the router
  • FIG. 6 is a diagram for describing frame transfer control processing, adjacent relay device notification frame transmission processing, and communication port notification frame transmission processing executed by a switching engine unit 520 of the switching hub 50.
  • FIG. It is a figure which shows the data structure of the flame
  • 6 is a flowchart showing a flow of terminal search processing executed by a routing engine unit 620 of a router 60.
  • FIG. 5 is a diagram for explaining operations of a switching hub 50 and a router 60.
  • FIG. 5 is a diagram for explaining operations of a switching hub 50 and a router 60.
  • It is a figure which shows an example of the storage content of the MAC address table of the switching hub 50 and the router 60.
  • FIG. It is a figure which shows an example of the communication sequence in the search process of a communication terminal. It is a figure which shows the structural example of LAN1B of 2nd Embodiment of this invention.
  • FIG. 1 is a diagram illustrating a configuration example of a LAN 1A that is a communication system according to a first embodiment of this invention.
  • the LAN 1A is a local LAN laid at a company branch, for example, and is connected to an IP network (not shown) such as the Internet by a router 60.
  • the LAN 1A serves as a communication system in the branch, and constitutes an in-company information system in the company together with the LAN in the base laid in another branch. As shown in FIG.
  • the LAN 1A includes four switching hubs (switching hubs 50A, 50B, 50C, and 50D), two communication terminals (communication terminals 40A and 40B), and one operation terminal 30. , Including. As shown in FIG. 1, a switching hub 50A and an operation terminal 30 are connected to the router 60, and a switching hub 50B is connected to the switching hub 50A. Switching hubs 50C and 50D are connected to switching hub 50B. Communication terminal 40A is connected to switching hub 50C, and communication terminal 40B is connected to switching hub 50D.
  • Each of the operation terminal 30 and the communication terminals 40A and 40B is, for example, a personal computer.
  • the operation terminal 30 is used to cause the operation manager of the LAN 1A to perform various operations for operation management of the LAN 1A.
  • the communication terminals 40A and 40B are accommodated in the LAN 1A by being connected to any switching hub included in the LAN 1A.
  • Each of the communication terminals 40A and 40B accommodated in the LAN 1A is connected to another communication device (for example, another communication terminal accommodated in the LAN 1A, a communication terminal accommodated in another local LAN, or an IP network). Packet communication in accordance with the IP.
  • FIG. 1 illustrates the case where two communication terminals 40 are accommodated in the network under the router 60 (ie, LAN 1A), three or more communication terminals 40 may be accommodated in the LAN 1A. Of course, only one communication terminal 40 may be accommodated.
  • the switching hub 50 is a relay device that relays data communication in a second layer (data link layer) that is a protocol layer lower than IP.
  • the router 60 is a relay device that relays data communication in the network layer, and serves as a default gateway of the LAN 1A. If the destination IP address of the packet received from the IP network is one of the communication terminals 40A or 40B, the router 60 transfers the packet to the subordinate LAN 1A, and the destination IP address is the communication terminal 40A.
  • the router 60 functions as a default gateway of the LAN 1A as described above, the LAN 1A may be hereinafter referred to as a “network under the router 60”.
  • the router 60 in FIG. 1 has a DHCP server function and a DNS server function. With this DHCP server function, the router 60 assigns an IP address to each of the terminals when the operation terminal 30 or the communication terminal 40 is connected to the LAN 1A, and performs mutual conversion between the IP address and the MAC address of each terminal. The router 60 performs mutual conversion between the host name and the IP address assigned to the operation terminal 30 or the communication terminal 40 by the DNS server function.
  • each relay device that is, the router 60 and the switching hub 50 included in the LAN 1A is executed in the process of executing data communication (that is, frame transmission / reception and transfer control) according to the communication protocol of the second layer. )
  • the adjacent relay device is another relay device that has transferred a frame to the relay device
  • the adjacent relay device for the router 60 is the switching hub 50A
  • the adjacent relay devices for the switching hub 50A are the router 60 and the switching hub 50B.
  • the adjacent relay devices for the switching hub 50B are the switching hubs 50A, 50C and 50D
  • the adjacent relay device for the switching hub 50C (or 50D) is the switching hub 50B.
  • each of the switching hubs 50 detects the adjacent relay device of its own device and notifies the router 60 of the detection result, while the router 60 indicates the adjacent relay device of each switching hub 50.
  • Information is stored for each switching hub 50.
  • the operation manager operates the MAC address, IP address, or host name of the terminal (in this embodiment, communication terminal 40A or communication terminal 40B: hereinafter, search target terminal) for which the connection destination is desired to be specified.
  • the router 60 is instructed via the terminal 30, the router 60 communicates with each switching hub 50 to identify the connection destination of the search target terminal, and informs the operation terminal 30 of the identification result. Thereby, the said operation manager can grasp
  • the search target terminal can be specified by the IP address or the host name, the convenience is improved as compared with the mode in which the search target terminal can be specified only by the MAC address.
  • the switching hub 50 and the router 60 that clearly show the features of the present embodiment will be mainly described.
  • FIG. 2 is a block diagram showing the configuration of the switching hub 50.
  • the switching hub 50 includes a communication interface (hereinafter referred to as I / F) unit 510, a switching engine unit 520, and a storage unit 530.
  • I / F communication interface
  • the communication I / F unit 510 has a plurality of communication ports. Each of the plurality of communication ports is connected to another communication device (in this embodiment, either the router 60, another switching hub 50, or the communication terminal 40) via a communication cable such as 100BASE-T. Is done. Each of the plurality of communication ports is assigned a unique port identifier (for example, a port number) for each communication port, and each communication port can be uniquely identified using the port identifier.
  • the communication I / F unit 510 provides a frame received via each communication port to the switching engine unit 520, and transmits a frame provided from the switching engine unit 520 from a communication port instructed by the switching engine unit 520.
  • the storage unit 530 includes, for example, a volatile memory such as a RAM (Random Access Memory) and a non-volatile memory such as an EPROM (Erasable Programmable Read Only Memory) (none of which is shown in FIG. 2).
  • a volatile memory such as a RAM (Random Access Memory)
  • a non-volatile memory such as an EPROM (Erasable Programmable Read Only Memory) (none of which is shown in FIG. 2).
  • firmware program for causing the switching engine unit 520 to execute processing that clearly shows the characteristics of the switching hub of the present invention is stored in advance.
  • the volatile memory is used by the switching engine unit 520 as a work area when executing the firmware.
  • the volatile memory serves as a buffer for temporarily storing frames received by the communication I / F unit 510, and the volatile memory further includes a MAC address table in FIG. 2 and the adjacent relay apparatus table of FIG. 2 are stored.
  • the MAC address table in FIG. 2 is not particularly different from that of a conventional switching hub.
  • This MAC address table stores the port identifier of the communication port that received the frame in association with the transmission source MAC address of the frame received by the communication I / F unit 510.
  • the writing of the MAC address and the port identifier to the MAC address table is performed along with the frame transfer control.
  • the transmission source MAC address (that is, the frame)
  • the MAC address of the communication terminal 40) and the port identifier of the receiving port of the frame are associated and written into the MAC address table.
  • a process of writing the transmission source MAC address of the frame (that is, the MAC address of the router 60) and the port identifier of the reception port of the frame in association with each other is performed. Is called.
  • the stored contents of the MAC address table are used when frame transfer control based on the destination MAC address is performed.
  • a connection destination identifier is stored in association with each port identifier of a plurality of communication ports included in the communication I / F unit 510.
  • the connection destination identifier indicates whether or not the connection destination of the communication port associated with the connection destination identifier is an adjacent relay device, and when the connection destination is an adjacent relay device, This is information that uniquely indicates an adjacent relay device.
  • the adjacent relay device is another relay device (in this embodiment, the router 60 or another switching hub 50) that has transferred a frame to the switching hub 50.
  • the port identifier of the communication port connected to the adjacent relay device is associated with the MAC address of the adjacent relay device as a connection destination identifier, and other communication devices other than the adjacent relay device (in this embodiment)
  • the communication port to which the communication terminal 40) is connected or the communication port not connected to another communication device is associated with NULL (0x00) as the connection destination identifier.
  • This adjacent relay device table is generated in a state where each connection destination identifier is set to NULL when a power source (not shown) of the switching hub 50 is turned on. Then, along with relaying a predetermined specific frame, the stored contents of the table are updated (that is, the connection destination identifier corresponding to the port identifier of the communication port to which the adjacent relay device is connected is set to the adjacent Rewriting to the MAC address of the relay device).
  • the adjacent relay device notification frame transmitted by each switching hub 50 to notify the router 60 of the stored contents of the adjacent relay device table as the specific frame, and the adjacent relay Two types of request frames that the router 60 multicasts to the subordinate LAN 1A to request transmission of the device notification frame are determined in advance.
  • the switching engine unit 520 is, for example, a CPU (Central Processing Unit).
  • the switching engine unit 520 functions as a control center of the switching hub 50 by executing the firmware stored in the storage unit 530.
  • the switching engine unit 520 operating according to this firmware executes the processing shown in the flowchart of FIG. 3 every time a frame is received via any one of the communication ports.
  • FIG. 3 there are three processes executed by the switching engine unit 520 in accordance with the firmware: a frame transfer control process, an adjacent relay device notification frame transmission process, and a communication port notification frame transmission process.
  • a data structure of a frame transmitted / received in the LAN 1A will be described.
  • FIG. 4A is a diagram showing a data structure of a general frame transmitted / received in the LAN 1A.
  • the frame has a header portion and a payload portion.
  • the header part stores a transmission destination MAC address, a transmission source MAC address, and a type identifier.
  • the multicast address is set as the destination MAC address
  • the MAC address of the router 60 is set as the source MAC address. This is because the request frame is multicast from the router 60 toward the subordinate LAN 1A.
  • the MAC address of the router 60 is set as the transmission destination MAC address, and the MAC address of the switching hub 50 of the transmission source is set as the transmission source MAC address. This is because the adjacent relay device notification frame is unicast from the switching hub 50 to the router 60 as described above.
  • the type identifier is an identifier indicating the type of data (packet) stored in the payload portion.
  • the features of the present embodiment are remarkably shown in addition to the request frame and the adjacent relay device notification frame, Communication port notification frame.
  • the inquiry frame is a frame that the router 60 unicasts to inquire the switching hub 50 of the port identifier of the communication port corresponding to the communication terminal designated as the search target, and the communication port notification frame is the inquiry frame. This is a frame returned (unicast) by the switching hub 50 to the router 60 as a response to the frame.
  • a value (0xe812) for distinguishing these four types of frames from other frames is set in the header portions of the four types of frames that clearly show the features of the present embodiment.
  • the request frame and the adjacent relay device notification frame may be collectively referred to as “adjacent relay device information collection frame”.
  • FIG. 4B shows the data structure of the payload portion of the request frame.
  • the destination MAC address, the source MAC address, the frame type identifier, and the transfer source identifier are written in the payload portion of the request frame.
  • the destination MAC address and source MAC address written in the payload portion of the request frame are the same as those written in the header portion of the request frame.
  • the frame type identifier is an identifier indicating which of the above-described four types of frames. A different value is set in the frame type identifier for each of the four types of frames.
  • a value indicating a request frame is set in the frame type identifier of the payload portion of the request frame.
  • the transmission source identifier is set with the MAC address of the transmission source when the request frame is transmitted, and is rewritten to the MAC address of the switching hub 50 that performed the transfer every time the frame is transferred by the switching hub 50. It is done.
  • FIG. 4C is a diagram showing the data structure of the payload portion of the adjacent relay device notification frame.
  • adjacent relay device information is written in the payload portion of the adjacent relay device notification frame in addition to the transmission destination MAC address, the transmission source MAC address, the frame type identifier, and the transfer source identifier. .
  • the frame type identifier of the payload portion of the adjacent relay device notification frame a value that clearly indicates that the frame is the adjacent relay device notification frame is set.
  • the adjacent relay device information in the payload portion includes the stored contents of the adjacent relay device table of the switching hub 50 that is the transmission source of the adjacent relay device notification frame at the time of transmission of the adjacent relay device notification frame (that is, the switching hub).
  • a list of port identifiers for all 50 communication ports and connection destination identifiers corresponding to the port identifiers) is written.
  • the transmission destination MAC address, transmission source MAC address, and transfer source identifier written in the payload portion of the adjacent relay device notification frame are the same as those in the request frame.
  • FIG. 4D shows the data structure of the payload portion of the inquiry frame.
  • a destination MAC address, a source MAC address, a frame type identifier, and a search target identifier are written in the payload portion of the inquiry frame.
  • a value that clearly indicates that the frame is an inquiry frame is set in the frame type identifier of the payload portion of the inquiry frame.
  • the search target identifier is an identifier for uniquely identifying a communication terminal designated as a search target (in this embodiment, the MAC address of the communication terminal).
  • FIG. 4E shows the data structure of the payload portion of the communication port notification frame. As shown in FIG.
  • the destination MAC address, the source MAC address, the frame type identifier, and the connection destination port identifier are written in the payload portion of the communication port notification frame.
  • a value that clearly indicates that the frame is a communication port notification frame is set in the frame type identifier of the payload portion of the communication port notification frame.
  • the communication port notification frame is a frame returned by the switching hub 50 that has received the inquiry frame as a response to the inquiry frame, and is a port associated with the search target identifier in the MAC address table of the switching hub.
  • An identifier is written as the connection destination port identifier.
  • the destination MAC address and the source MAC address written in the payload portion of these inquiry frame and communication port notification frame were also written in the respective header portions as in the request frame (or the adjacent relay device notification frame). Is the same.
  • the above is the data structure of the frame transmitted / received in the LAN 1A.
  • step SA100 processing contents of the frame transfer control process, the adjacent relay device notification frame transmission process, and the communication port notification frame transmission process.
  • step SA100 When the determination result in step SA100 is “Yes”, switching engine unit 520 executes the communication port notification frame transmission process (step SA110), and conversely, the determination result in step SA100 is “No”. In some cases, a frame transfer control process is executed as shown in FIG. Prior to step SA100, it is determined whether or not the received frame is any of the above-described four types of frames (that is, whether or not the type identifier of the header portion of the received frame is 0xe812).
  • step SA100 may be performed when the type identifier of the received frame is 0xe812.
  • the frame transfer control process includes transfer control based on the destination MAC address (step SA170).
  • the transfer control based on the transmission destination MAC address of the received frame is a unicast address in which the transmission destination MAC address is not a unicast address or the transmission destination MAC address is not stored in the MAC address table.
  • the received frame is flooded, while when the destination MAC address is a unicast address stored in the MAC address table, it is stored in the MAC address table in association with the MAC address.
  • the received frame is transmitted only from the communication port indicated by the port identifier.
  • a MAC address that is not a unicast address includes a multicast address or a broadcast address.
  • flooding means sending the received frame from all communication ports other than the communication port that received the received frame.
  • the transfer control based on the destination MAC address is not particularly different from that in the conventional switching hub. In other words, in the conventional switching hub, only the transfer control based on the destination MAC address (the process of step SA170) is executed as the frame transfer control process.
  • the frame transfer control process of the present embodiment includes the processes of steps SA120 to SA140 in addition to the process of step SA170.
  • the switching engine unit 520 first determines whether the received frame is an adjacent relay device information collection frame (that is, a request frame or an adjacent relay device notification frame). It is determined by referring to the frame type identifier of the payload portion of the received frame (step SA120). Specifically, when the frame type identifier of the received frame is a value indicating a request frame or a value indicating an adjacent relay device notification frame, the switching engine unit 520 is an adjacent relay device information collection frame. Judge that there is.
  • step SA120 When the determination result in step SA120 is “No”, the switching engine unit 520 executes the process in step SA170 described above to end the frame transfer control process, and conversely, the determination result in step SA120. Is “Yes”, the processing after step SA130 is executed.
  • step SA130 executed when the determination result in step SA120 is “Yes”, the switching engine unit 520 associates the adjacent relay device information collection frame with the port identifier of the communication port that has received the adjacent relay device information collection frame in the adjacent relay device table.
  • the stored connection destination identifier is rewritten with the transfer source identifier written in the payload portion of the frame.
  • the switching engine unit 520 rewrites the transfer source identifier of the received adjacent relay device information collection frame with the MAC address of the own device (step SA140).
  • the switching engine unit 520 determines whether or not the received frame is a request frame with reference to the frame type identifier of the payload portion of the received frame (step SA150), and the determination result If Yes, the adjacent relay device notification frame transmission process (step SA160) is further executed. In this adjacent relay device notification frame transmission process, the switching engine unit 520 generates the above-described adjacent relay device notification frame and transmits (unicasts) it to the router 60.
  • the switching engine unit 520 displays the inquiry frame.
  • the MAC address table of the own device is searched using the search target identifier written in the payload part of the search key as a search key, and the port identifier stored in the MAC address table is specified in association with the MAC address indicated by the search target identifier .
  • the switching engine unit 520 generates a communication port notification frame in which the port identifier is written as a connection destination port identifier in the payload portion, and returns (unicast) the inquiry frame to the transmission source of the inquiry frame.
  • the port identifier and the MAC address are written to the MAC address table in accordance with the frame transfer control.
  • the communication terminal 40 When the communication terminal 40 is connected to the LAN 1A, the communication terminal 40 always multicasts (or broadcasts) an ARP frame for specifying the MAC address of the router 60 as a default gateway. For this reason, the MAC address of the communication terminal 40 is always registered in the MAC address table of each switching hub 50. Therefore, as long as the communication terminal 40 is designated as a search target, in this communication port notification frame transmission process, the communication port corresponding to the search target identifier is always specified.
  • the above is the configuration of the switching hub 50.
  • FIG. 5 is a block diagram showing a configuration of the router 60.
  • the router 60 includes a communication I / F unit 610, a routing engine unit 620, and a storage unit 630.
  • the communication I / F unit 610 has a plurality of ports like the communication I / F unit 510 of the switching hub 50, and a unique port identifier is assigned to each port.
  • An IP network (not shown in FIG. 1), the switching hub 50A, and the operation terminal 30 are connected to three of the plurality of ports. Similar to communication I / F unit 510, communication I / F unit 610 provides a frame received via each communication port to routing engine unit 620, while a frame provided from routing engine unit 620 is provided by routing engine unit 620. Send out from the specified communication port.
  • the storage unit 630 includes a volatile memory such as a RAM and a nonvolatile memory such as an EPROM (not shown).
  • Firmware is stored in the nonvolatile memory.
  • the volatile memory is used by the routing engine unit 620 as a work area when executing the firmware, and serves as a buffer for temporarily storing received frames (or packets). .
  • the volatile memory stores the routing table shown in FIG. 5, the MAC address table for the router 60, and the adjacent relay device table.
  • the routing engine unit 620 is a CPU (Central Processing Unit) like the switching engine unit 520 of the switching hub 50.
  • the routing engine unit 620 executes firmware stored in the storage unit 630 and functions as a control center of the router 60.
  • the routing engine unit 620 executes DHCP server processing, DNS server processing, packet transfer control processing, multicast processing, adjacent relay device information storage processing, and terminal search processing according to the firmware.
  • the DHCP server process is a process for realizing the DHCP server function
  • the DNS server process is a process for realizing the DNS server function
  • the packet transfer control process is a process for transferring the packet based on the transmission destination IP address of the packet received via the communication I / F unit 610 and the stored contents of the routing table.
  • the multicast process is a process of multicasting the request frame to the network under the router 60 (that is, the LAN 1A). Although details will be described later, in this embodiment, this multicast processing is periodically executed every time a predetermined time T (for example, 3 seconds) elapses after the power of the router 60 (not shown) is turned on.
  • a predetermined time T for example, 3 seconds
  • the adjacent relay device information storage process is executed every time an adjacent relay device notification frame is received.
  • the routing engine unit 620 uses the connection destination identifier stored in the adjacent relay device table of the own device in association with the port identifier of the communication port that received the adjacent relay device notification frame. Overwrite with the transfer source identifier of the relay device notification frame, and use the adjacent relay device information written in the payload portion of the adjacent relay device notification frame as the adjacent relay device table of the transmission source of the frame, the transmission source MAC address of the frame And is written in the storage unit 630 (if already written, it is overwritten with new neighboring relay device information).
  • the adjacent relay device table of each switching hub 50 stored in the storage unit 630 in this way is used in terminal search processing described later.
  • FIG. 6 is a flowchart showing the flow of the terminal search process.
  • This terminal search process is a process that is executed when a search target terminal is designated by an operation on the operation terminal 30, and is searched for in any of the relay devices (that is, the router 60 and the switching hub 50) included in the LAN 1A. This is processing for identifying whether the target terminal is connected.
  • the routing engine unit 620 first stores the contents stored in the adjacent relay device table of the own device and the adjacent relay device table of each switching hub 50 written in the storage unit 630 by the adjacent relay device information storage process. It is determined whether or not there is a contradiction in the connection relationship between the relay devices represented by the contents (step SB100).
  • the adjacent relay device table of the switching hub 50A includes A state in which the MAC address of the switching hub 50B is not stored.
  • step SB100 When the determination result in step SB100 is “Yes” (that is, when there is a contradiction), the routing engine unit 620 notifies the operation terminal 30 of a message that preparation for enabling terminal search is in progress. (Step SB170) and the execution of the terminal search process is terminated. On the other hand, when the determination result in step SB100 is “No”, the routing engine unit 620 executes the processing after step SB110 in FIG. Thus, the reason why the processing after step SB110 is not executed when there is a contradiction in the connection relationship of each relay device is to avoid erroneous determination of the connection destination of the search target terminal due to the contradiction. . This point will be described in detail in the operation example of this embodiment.
  • step SB110 which is subsequently executed when the determination result in step SB100 is “No”, the routing engine unit 620 determines whether or not there is a communication port corresponding to the search target terminal. The determination is made based on the stored contents. As described above, as a method of specifying the search target terminal, there are a mode in which the terminal is specified by the MAC address, a mode in which the IP address is specified, and a mode in which the host name is specified. When the search target terminal is designated by the MAC address, the communication port corresponding to the search target terminal depends on whether or not there is a communication port whose port identifier is stored in the MAC address table in association with the MAC address. What is necessary is just to determine the presence or absence.
  • the IP address is converted into a MAC address by the DHCP server function described above, and a port identifier is stored in the MAC address table in association with the MAC address. It may be determined whether or not there is a communication port.
  • the host name is converted into an IP address by the DNS server function, and further, the MAC address table is converted by the DHCP server function into a MAC address. The presence / absence of the corresponding communication port may be determined by referring to the stored contents.
  • step SB110 determines whether the search target terminal is connected to the candidate relay device. If the determination result in step SB110 is “No”, the routing engine unit 620 informs the operation terminal 30 that the search target terminal is not accommodated in the subordinate network (step SB180), and this terminal The search process is terminated. On the other hand, if the determination result in step SB110 is “Yes”, the routing engine unit 620 selects the port identifier of the communication port as a candidate port identifier, and selects its own device as a connection destination candidate of the search target terminal. (Hereinafter referred to as a candidate relay device) is selected (step SB120). Then, the routing engine unit 620 searches the adjacent relay device table of the candidate relay device using the candidate port identifier as a search key (step SB130), and determines whether the search target terminal is connected to the candidate relay device.
  • a candidate relay device search key
  • Step SB140 More specifically, the routing engine unit 620 associates with the same port identifier as the candidate port identifier, and if the connection destination identifier stored in the adjacent relay device table of the candidate relay device is NULL, the search target terminal It is determined that the candidate relay device is connected.
  • step SB140 When the determination result in step SB140 is “Yes” (that is, when it is determined that the search target terminal is connected to the candidate relay device), the routing engine unit 620 connects the search target terminal to the candidate relay device. The operation terminal 30 is notified (step SB190) that this is done, and the terminal search process is terminated. On the other hand, when the determination result in step SB140 is “No”, the routing engine unit 620 reselects the relay device indicated by the connection destination identifier as a new candidate relay device, and the new candidate relay device. An inquiry frame is transmitted to the apparatus (step SB150).
  • the routing engine unit 620 updates the candidate port identifier with the connection destination port identifier written in the payload portion of the communication port notification frame returned from the new candidate relay device (step SB160), and after step SB130.
  • steps SB120 to SB140 are executed only once without executing steps SB150 and SB160. It is notified that (router 60) is connected to the search target terminal (first connection relay device determination).
  • step SB150 and step SB160 are executed at least once to reselect candidate relay devices.
  • step SB190 it is notified that one of the switching hubs 50 is connected to the search target terminal (second connection relay device determination).
  • the above is the configuration of the router 60.
  • FIG. 7 the communication port is indicated by a black circle, and the port number of the communication port is indicated by a number with #.
  • the connection destination identifiers in the adjacent relay device tables of the router 60 and each switching hub 50 are NULL cleared.
  • the connection destination of the search target terminal is specified based on the contents stored in the MAC address table and the adjacent relay device table of the router 60 and each switching hub 50. Therefore, prior to specifying the connection destination of the search target terminal, the MAC address of each adjacent relay device is stored in the adjacent relay device table, and the stored contents of the adjacent relay device table of each switching hub 50 are notified to the router 60. It is necessary to keep it.
  • the router 60 and each switching hub 50 to perform the operation described below, the MAC address of the adjacent relay device is stored in each adjacent relay device table, and each switching hub 50 to the router 60 is stored. Notification of the stored contents of the adjacent relay device table is realized.
  • the routing engine unit 620 of the router 60 multicasts the request frame at a time T0 when a predetermined time T has elapsed after the power (not shown) of the router 60 is turned on.
  • the request frame multicasted from the router 60 in this manner is first received by the switching hub 50A.
  • the reason is as follows.
  • the frame received by the switching hub 50A from the router 60 is a request frame, and a value indicating that the frame is the request frame is set in the frame type identifier of the payload portion. Therefore, the determination result of step SA100 in FIG. 3 is “No”, the determination result of step SA120 is “Yes”, and the determination result of step SA150 is also “Yes”. Therefore, the processes of steps SA130, SA140, SA160 and SA170 in FIG. 3 are executed.
  • step SA160 the adjacent relay device notification frame in which the stored content of the updated adjacent relay device table by the processing in step SA130 is written as adjacent relay device information is unicast from the switching hub 50A to the router 60.
  • step SA170 the request frame in which the transfer source identifier has been rewritten by the processing in step SA140 is flooded. This is because the destination MAC address of the request frame is a multicast address as described above. The request frame flooded in this way is received by the switching hub 50B.
  • the adjacent relay device notification frame which is rewritten by the transfer source identifier (that is, the MAC address of the switching hub 50A) and in which the stored contents of the rewritten adjacent relay device table is written as the adjacent relay device information, is unicast to the router 60.
  • the switching engine unit 520 of the switching hub 50B performs flooding of a request frame in which the transfer source identifier is rewritten to the MAC address of the switching hub 50B.
  • the request frames flooded in this way are received by the switching hubs 50C and 50D, respectively.
  • the adjacent relay device notification frame written as is unicast to the router 60.
  • the switching hubs 50C and 50D also perform a process of flooding a request frame in which the transfer source identifier is rewritten to the MAC address of the own device. However, since the switching hub is not connected to the downstream side of the switching hubs 50C and 50D, the request frames are not transferred thereafter.
  • the contents stored in the adjacent relay device table of each of the switching hubs 50A, 50B, 50C, and 50D are in the state shown in FIG.
  • An adjacent relay device notification frame in which the stored contents of each adjacent relay device table is written as adjacent relay device information is unicast from each switching hub 50 to the router 60.
  • the stored contents of the adjacent relay device table of each switching hub 50 are indicated by balloons (the same applies to FIG. 9).
  • the process of SA170 is executed.
  • the frame received by the switching hub 50B from the switching hub 50C is an adjacent relay device notification frame, and a value indicating that the frame is an adjacent relay device notification frame is set in the frame type identifier of the payload portion. ing. Therefore, in the process executed by the switching engine unit 520 when the frame is received (the process shown in the flowchart of FIG. 3), the determination result in step SA100 is “No”, while the determination result in step SA120 is “ Yes, and the determination result in step SA150 is “No”. Therefore, the processes of steps SA130, SA140, and SA170 in FIG. 3 are executed.
  • the MAC address of the hub 50C is rewritten, and the transfer source identifier of the received frame is rewritten to the MAC address of the switching hub 50B by the process of step SA140.
  • the switching engine unit 520 of the switching hub 50B executes the processes of steps SA130, SA140, and SA170 in FIG. .
  • the switching engine unit 520 of the switching hub 50A When the switching engine unit 520 of the switching hub 50A receives the adjacent relay device notification frame transmitted from the switching hub 50B (or the adjacent relay device notification frame transferred by the switching hub 50B), the switching engine unit 520 similarly performs step SA130 of FIG. , SA140 and SA170 are executed.
  • the transfer source identifier of the adjacent relay device notification frame is rewritten to the MAC address of the own device and transferred to the router 60.
  • the adjacent relay device information written in the adjacent relay device notification frame received by the router 60 from each switching hub 50 is stored in the adjacent relay device table shown in FIG. This corresponds to not the stored contents but the stored contents of the adjacent relay apparatus table shown in FIG. Only the connection relationship between the router 60 and the switching hub 50A is represented in a consistent manner between the stored contents of the adjacent relay apparatus table of the router 60 shown in FIG. 9 and the stored contents of the adjacent relay apparatus table of each switching hub 50 shown in FIG. And other connections are inconsistent. For example, although the MAC address of the switching hub 50B is not stored in the adjacent relay device table of the switching hub 50A, the MAC address of the switching hub 50A is stored in the adjacent relay device table of the switching hub 50B.
  • step SB100 Becomes “Yes”, and only notification that preparation is in progress is made.
  • each switching hub 50 executes the same processing as described above.
  • the adjacent relay device information corresponding to the stored contents of the adjacent relay device table shown in FIG. Has been written. Therefore, when the adjacent relay device notification frame for the request frame multicasted at time T0 + T (that is, the second multicast if the multicast at time T0 is the first) is received, it is stored in the storage unit 630 of the router 60.
  • the adjacent relay device table (the adjacent relay device table of the router 60 and the adjacent relay device table of each switching hub 50) represents the connection relationship between the router 60 and each switching hub 50 without contradiction.
  • the determination result in step SB100 is “No”, and the routing engine unit 620 executes the processing after step SB110.
  • ⁇ A-2-2 Communication terminal search operation>
  • the search of the communication terminal 40A is performed under the situation where the stored contents of the adjacent relay device table of the router 60 and each switching hub 50 are in the state shown in FIG. An operation performed by the hub 50 will be described.
  • the contents stored in the MAC address tables of the router 60 and the switching hub 50 are controlled by the transfer control of the ARP packet transmitted from the communication terminal 40A for MAC address resolution of the router 60. Is as shown in FIG.
  • the routing engine unit 620 automatically stores the contents stored in the adjacent relay device table of each switching hub 50 stored in the storage unit 630. It is determined whether or not there is a contradiction in the connection relationship represented by the stored contents of the adjacent relay device table of the device (step SB100). As described above, if the stored contents of the adjacent relay device tables of the router 60 and each switching hub 50 are in the state shown in FIG. 9, there is no contradiction in the connection relationship represented by these adjacent relay device tables. Therefore, the determination result in step SB100 is “No”, and the processing after step SB110 is executed. As shown in FIG.
  • step SB110 the routing engine unit 620 executes the processing after step SB120.
  • step SB130 the routing engine unit 620 searches the adjacent relay device table of the candidate relay device (that is, the adjacent relay device table of the router 60), and acquires the connection destination identifier corresponding to the candidate port identifier.
  • step SB140 the routing engine unit 620 reselects the switching hub 50A as a candidate relay device and transmits an inquiry frame (step SB150). That is, in this operation example, as shown in FIG. 11, the inquiry frame Q010 is transmitted from the router 60 to the switching hub 50A. In the payload portion of the inquiry frame Q010, the MAC address of the communication terminal 40A is written as a search target identifier.
  • the switching engine unit 520 of the switching hub 50A executes communication port notification frame transmission processing (FIG. 3: step SA110).
  • step SA110 communication port notification frame transmission processing
  • the determination in step SB100 is performed in order to avoid such an erroneous determination. In this embodiment, in order to avoid the occurrence of the erroneous determination as described above, the routing engine unit 620 performs the determination in step SB100.
  • step SB100 and the notification process (step SB170) when the determination result is Yes may be omitted.
  • the MAC address of the communication terminal 40A is written as a search target identifier, as in the inquiry frame Q010.
  • the routing engine unit 620 When receiving the communication port notification frame R020 returned from the switching hub 50B, the routing engine unit 620 connects to the connection destination written in the payload portion of the communication port notification frame R020 as in the case of receiving the communication port notification frame R010.
  • the routing engine unit 620 is written in the payload portion of the communication port notification frame R030 in the same manner as when the communication port notification frame R010 or R020 is received.
  • step SB140 executed for the fourth time in this operation example is “Yes”, and the routing engine unit 620 indicates that the search target terminal (that is, the communication terminal 40A) is connected to the switching hub 50C.
  • Step SB190 the operation manager of the LAN 1A grasps that the search target terminal (communication terminal 40A) is connected to the switching hub 50C.
  • the MAC address table is not transferred between the router 60 and each switching hub 50, an excessive load is not applied to the network under the router 60.
  • FIG. 12 is a block diagram illustrating a configuration example of the LAN 1B according to the second embodiment of this invention.
  • LAN 1B differs from LAN 1A in that it has a switching hub 500 in place of switching hub 50B and that communication terminal 40C is connected to switching hub 500.
  • the switching hub 500 is a conventional switching hub, and is different from the switching hub 50 in that only the frame transfer control based on the transmission destination MAC address of the received frame (that is, the process of step SA170 in FIG. 3) is executed.
  • the communication terminal 40C is a general personal computer like the communication terminal 40A and the communication terminal 40B.
  • the request frame transferred from the switching hub 50A to the switching hub 500 is transferred to the switching hubs 50C and 50D without rewriting the transfer source identifier. Therefore, the MAC address of the switching hub 50A is written in the adjacent relay device table of each of the switching hubs 50C and 50D in association with the port identifier of the communication port to which the switching hub 500 is connected.
  • the adjacent relay device notification frame returned from each of the switching hubs 50C and 50D to the router 60 is transferred to the switching hub 50A by the switching hub 500 without rewriting the transfer source identifier.
  • the switching engine unit 520 of the switching hub 50A receives the adjacent relay device notification frame transmitted from each of the switching hubs 50C and 50D via the communication port to which the switching hub 500 is connected, and these adjacent relay device notification frames.
  • the content stored in the adjacent relay device table is updated every time. That is, the content of the update performed in response to the previously received one of the adjacent relay device notification frames transmitted from each of the switching hubs 50C and 50D depends on the content of the update performed in response to the one received later. Overwritten.
  • the switching hub 50D is included in the port identifier of the communication port to which the switching hub 500 is connected.
  • the MAC address of the switching hub 50A is associated with the port identifier of the communication port to which the switching hub 500 is connected. That is, a contradiction arises in the connection relationship between the switching hub 50A and the switching hub 50C.
  • the switching hub 50A when the latter of the adjacent relay device notification frames returned by each of the switching hubs 50C and 50D in response to the request frame multicasted first from the router 60 reaches the switching hub 50A first.
  • the port identifier of the communication port to which the switching hub 500 is connected is the switching hub. Only 50C MAC addresses are associated.
  • the MAC address of the switching hub 50A is associated with the port identifier of the communication port to which the switching hub 500 is connected. That is, a contradiction arises in the connection relationship between the switching hub 50A and the switching hub 50D.
  • step SB100 in FIG. 6 it is possible to specify the connection destination of either the communication terminal 40A or the communication terminal 40B.
  • the connection destination of the communication terminal 40A cannot be specified accurately. The reason is as follows.
  • the port identifier of the communication port to which the switching hub 500 is connected is stored in association with the MAC address of the communication terminal 40A. This is because the ARP frame transmitted from the communication terminal 40A reaches the switching hub 50A through flooding by the switching hub 500. Therefore, when the router 60 transmits an inquiry frame in which the MAC address of the communication terminal 40A is written as a search target identifier to the switching hub 50A, the switching hub 50A sets the port identifier of the communication port to which the switching hub 500 is connected to the connection destination. The communication port notification frame written as the port identifier is returned to the router 60.
  • the MAC address of the switching hub 50D is stored in the adjacent relay device table of the switching hub 50A in association with the port identifier. Therefore, the router 60 transmits an inquiry frame in which the MAC address of the communication terminal 40A is written as a search target identifier to the switching hub 50D.
  • the port identifier of the communication port to which the switching hub 500 is connected is stored in association with the MAC address of the communication terminal 40A.
  • the ARP frame transmitted from the communication terminal 40A reaches the switching hub 50D through flooding by the switching hub 500. Therefore, the switching hub 50D returns a communication port notification frame in which the port identifier of the port identifier of the communication port to which the switching hub 500 is connected as a connection destination port identifier is written back to the router 60.
  • the MAC address of the switching hub 50A is stored in the adjacent relay device table of the switching hub 50D in association with the port identifier, an inquiry frame has already been transmitted to the switching hub 50A, and again the switching hub 50A.
  • the connection destination of the communication terminal 40B is accurately set. It cannot be specified. Similarly, the communication terminal 40C connected to the switching hub 500 cannot be searched.
  • a conventional switching hub when included in the network under the router 60, a communication terminal connected to the conventional switching hub cannot be searched, but the network is connected to the switching hub 50. It does not mean that the search for a communication terminal that is present cannot be performed at all.
  • the search for the communication terminals accommodated in the network cannot be performed at all. If at least one switching hub 50 according to the present invention is included, a search for a communication terminal connected to the switching hub 50 can be performed. Also in this embodiment, since the MAC address table is not transferred between the router 60 and each switching hub 50, an excessive load is not applied to the network under the router 60.
  • the router 60 periodically executes request frame multicasting at predetermined time intervals, while the switching hub 50 sends the adjacent relay device notification frame to the router 60 when the request frame is received.
  • the request frame may be multicast to the router 60 when a predetermined type of packet is received.
  • the router 60 is caused to transmit a request frame when receiving the ARP packet for resolving the MAC address of the own device.
  • the fact that a new ARP packet has been received means that a new communication terminal has been connected to the network under the router 60.
  • the new switching hub 50 is connected to the existing switching hub 50, and the new communication terminal is connected to the new switching hub 50.
  • the router 60 is made to transmit a request frame when a new ARP packet is received, even if a new switching hub 50 is added as a new communication terminal is connected, It becomes possible to search for the new communication terminal.
  • the router 60 also serves as a DHCP server as in each of the above embodiments, a request frame is triggered when a packet requesting IP address assignment is received from a subordinate communication terminal. You may make it multicast.
  • the adjacent relay device notification frame is transmitted to the switching hub 50 when the request frame is received.
  • the adjacent relay device notification frame may be transmitted to the switching hub 50 periodically at predetermined time intervals.
  • a transfer source identifier may be assigned to a predetermined part and multicasted. This is because each switching hub 50 stores the MAC address of the adjacent relay device on the upstream side (the side close to the router 60) in the adjacent relay device table.
  • the router 60 selects a new candidate relay device, but the switching hub 50 can also perform the selection.
  • the switching engine unit 520 performs the following processing. That is, the switching engine unit 520 searches the MAC address table of its own device using the search target identifier written in the payload portion of the inquiry frame as a search key, and stores the MAC address table in association with the search target identifier. Get the port identifier. Next, the switching engine unit 520 searches its own MAC address table using the port identifier as a search key, and acquires a connection destination identifier corresponding to the port identifier.
  • the switching engine unit 520 unicasts to the router 60 the communication port notification frame in which the connection destination identifier is written in the payload portion. If the connection destination identifier written in the payload portion of the communication port notification frame is NULL in the router 60, the search target terminal is connected to the switching hub 50 that is the transmission source of the communication port notification frame. If the connection destination identifier is a value other than NULL, an inquiry frame is transmitted using the switching hub 50 indicated by the connection destination identifier as a new candidate relay device. The process is executed. In such an aspect, it is not essential to store the adjacent relay device table of each switching hub 50 in the router 60.
  • the routing engine unit 620 determine whether the contents stored in the adjacent relay device table of each switching hub 50 are inconsistent with each other (that is, determine whether the communication terminal can be searched).
  • the adjacent relay device table of each switching hub 50 may be stored in the router 60.
  • the processing load in the switching hub 50 is higher than that in each of the above embodiments by the amount of searching for the adjacent relay device table, the switching hub 50 having a sufficiently high processing capability is used. Needless to say, there is a need.
  • the adjacent relay device notification frame in which the adjacent relay device information is written in the payload portion is returned to each switching hub 50.
  • the request frame received for the (N + 1) th request frame When responding, an adjacent relay device notification frame in which data indicating that there is no change in the adjacent relay device information instead of the adjacent relay device information is written in the payload portion may be returned.
  • the router 60 has a DHCP server function and a DNS server function. However, if a DHCP server and DNS server separate from the router 60 are provided in the network under the router 60 and the router 60 can access these servers, the router 60 functions as a DHCP server. It is not necessary to have a DNS server function. That is, the DHCP server function and the DNS server function are not essential for the router of the present invention.
  • the IP address is dynamically allocated to each communication terminal 40 by the DHCP server function of the router 60. . Even when the IP address is fixedly assigned to each communication terminal 40 and the search target terminal is designated by the fixedly assigned IP address, the communication is started from the IP address by using the ARP.
  • the MAC address of the terminal can be obtained. Further, in each of the above-described embodiments, the MAC address is used as a hardware identifier for uniquely identifying each communication device in the second layer. However, a new hardware identifier different from the MAC address is defined, and the identifier May be used.
  • the frame transfer control processing, the adjacent relay device notification frame transmission processing, and the communication port notification frame transmission processing that clearly show the characteristics of the switching hub of the present invention are realized by software.
  • each of the frame transfer control means for executing the frame transfer control process, the adjacent relay apparatus notification means for executing the adjacent relay apparatus notification frame transmission process, and the communication port notification means for executing the communication port notification frame transmission process is used as an electronic circuit or the like.
  • the switching hub 50 may be configured by incorporating these units in place of the switching engine unit 520.
  • the multicast processing, the adjacent relay device storage processing, and the terminal search processing may be realized by hardware such as an electronic circuit.
  • the frame is adjacent based on the frame type identifier written in the payload portion of the frame (or based on the type identifier of the header portion and the frame type identifier of the payload portion).
  • the determination may be performed depending on whether or not a transfer source identifier is assigned. For example, when collecting neighboring relay device information using frames transmitted and received according to the existing communication protocol in the second layer, based on the frame type identifier (or the header type identifier and the payload frame This is because the above determination cannot be made (based on the type identifier).
  • the transfer source identifier (or the transfer source identifier and the adjacent relay device information) may be written in an empty area of the header portion of the frame.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Small-Scale Networks (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

 ルータ配下のネットワークに過剰な負荷をかけることなく、当該ネットワークに収容される通信端末の接続先のスイッチングハブを特定する。ルータと当該ルータ配下の各スイッチングハブの各々についての隣接中継装置テーブルを記憶させておく。ルータは、探索対象の端末に対応する通信ポートをMACアドレステーブルを参照して特定し、当該通信ポートに対応するスイッチングハブを自装置の隣接中継装置テーブルを参照して特定する。次いで、ルータは当該スイッチングハブを接続先候補として上記端末に対応する通信ポートを問い合わせ、当該通信ポートの接続先が他のスイッチングハブであるか否かを当該スイッチングハブの隣接中継装置テーブルの格納内容を参照して判定する。そして、他のスイッチングハブである場合には当該他のスイッチングハブを新たな接続先候補として再度上記問い合わせを行う。

Description

通信システム、ルータ、スイッチングハブ、および通信方法
 この発明は、LAN(Local Area Network)の運用管理を支援する技術に関する。
 近年、企業等においては、支店などの各拠点にLAN(以下、拠点内LAN)を敷設し、これら拠点内LANをルータによってインターネットなどのIP(Internet Protocol)網に接続して企業内情報システムを構築することが一般に行われている。このような拠点内LANは複数のスイッチングハブをカスケード接続して構成されることが多く、各ユーザ(例えば、企業の従業者)の使用する通信端末はそれらスイッチングハブの何れかに接続される。ここで、ルータとは、OSI(Open Systems Interconnection)参照モデルにおける第3層(ネットワーク層)の通信プロトコルにしたがってパケット(第3層におけるデータの送受信単位)の転送制御を行う中継装置である。また、スイッチングハブとは、OSI参照モデルにおける第2層(データリンク層)の通信プロトコルにしたがってフレーム(第2層におけるデータの送受信単位)の転送制御を行う中継装置であり、L2スイッチとも呼ばれる。
 企業内情報システム(或いは、その構成要素の通信システムである各拠点内LAN)の運用管理や保守を行う際には、各通信端末が何れのスイッチングハブに接続されているのかを把握することができると便利である。このため、各通信端末が何れのスイッチングハブに接続されているのかを把握すること(以下、通信端末の探索)を可能にする技術が種々提案されている。例えば、特許文献1には、LANに含まれる各スイッチングハブ間でMAC(Media Access Control)アドレステーブルの受け渡しを行い、それらMACアドレステーブルの格納内容を参照して通信端末の探索を行う技術が開示されている。ここで、MACアドレスとは、OSI参照モデルの第2層において各通信装置を一意に識別するハードウェア識別子である。また、MACアドレステーブルとは、スイッチングハブやルータなどの中継装置が備えるテーブルであり、これら中継装置が受信したフレームの送信元MACアドレスに対応付けて当該フレームを受信した通信ポートのポート識別子を格納するためのものである。
日本国特開2010-171502号公報
 一般に、大規模なLANほど、多数の通信端末およびスイッチングハブを含み、各スイッチングハブの接続関係も複雑であることが多い。このため、LANが大規模化するほど、通信端末の探索に対する重要性は高まる。しかし、特許文献1に開示された技術には、LANが大規模化するほど適用が困難になる、といった問題点がある。何故ならば、LANが大規模化して当該LANに含まれるスイッチングハブの数が増えるほど、スイッチングハブ間のMACアドレステーブルの受け渡しによる負荷が高くなり、LANを介して行われる本来のデータ通信(例えば、LANに収容される通信端末間のデータ通信)に悪影響をおよぼす可能性が高くなるからである。
 本発明は上記課題に鑑みて為されたものであり、ルータ配下のネットワークに過剰な負荷をかけることなく、当該ネットワークに収容される通信端末が何れのスイッチングハブに接続されているのかを把握することを可能にする技術を提供することを目的とする。
 上記課題を解決するために本発明の一態様は、中継装置としてのルータと、前記ルータの配下のネットワークに含まれる中継装置としての1または複数のスイッチングハブとを含む通信システムにおいて、前記1または複数のスイッチングハブのうち少なくとも1つのスイッチングハブと前記ルータの各々は、自装置へ宛ててフレームの送信を行った通信端末を一意に識別するハードウェア識別子と当該フレームを受信した通信ポートのポート識別子とを対応付けて格納するアドレステーブルと、通信ポートのポート識別子に対応付けて当該通信ポートを介して受信したフレームの転送元の中継装置のハードウェア識別子を格納する隣接中継装置テーブルと、を有し、前記ルータは、前記少なくとも1つのスイッチングハブから当該隣接中継装置テーブルの格納内容を取得し記憶する隣接中継装置情報記憶処理手段と、探索対象の通信端末を示すハードウェア識別子または当該ハードウェア識別子に一意に変換される他の識別子を基に、前記ルータにおいて当該通信端末に対応する通信ポートを前記ルータのアドレステーブルの格納内容から特定する通信ポート特定手段と、前記通信ポート特定手段により特定された通信ポートにスイッチングハブが接続されているか否かを前記ルータの前記隣接中継装置テーブルの格納内容を参照して判定し、当該通信ポートの接続先はスイッチングハブではないと判定される場合には、前記探索対象の通信端末は前記ルータに接続されている旨の報知を行う第1の接続中継装置判定手段と、前記通信ポート特定手段によって特定された通信ポートの接続先はスイッチングハブであると前記第1の接続中継装置判定手段によって判定された場合には、当該スイッチングハブを前記探索対象の通信端末の接続先の候補として選択する接続先候補選択手段と、前記接続先候補選択手段によって選択されたスイッチングハブに対して、当該スイッチングハブにおいて前記探索対象の通信端末に対応する通信ポートを問い合せる問合せ手段と、前記問合せ手段による問い合せ先のスイッチングハブから返答された通信ポートの接続先が他のスイッチングハブであるか否かを、当該問い合せ先のスイッチングハブから前記隣接中継装置情報記憶手段によって取得した隣接中継装置テーブルの格納内容を参照して判定し、当該通信ポートの接続先が他のスイッチングハブではない場合には、前記探索対象の通信端末は当該問い合せ先のスイッチングハブに接続されている旨の報知を行う一方、当該通信ポートの接続先が他のスイッチングハブである場合には、当該他のスイッチングハブを新たな候補として選択し直し、前記問合せ手段による処理を行う第2の接続中継装置判定手段と、を有し、前記少なくとも1つのスイッチングハブは、前記少なくとも1つのスイッチングハブの前記隣接中継装置テーブルの格納内容を前記ルータへ通知する隣接中継装置通知手段と、前記ルータの問合せ手段による問い合せに応じて、当該問い合せにかかる通信端末に対応する通信ポートを前記少なくとも1つのスイッチングハブのアドレステーブルの格納内容から特定して返信する通信ポート通知手段と、を有することを特徴とする通信システムを提供する。
 本発明の一態様によれば、ルータから探索対象の通信端末へ至る通信経路のスイッチングハブの各々について当該探索対象端末の接続有無の判定が当該ルータによって行われ、これによって通信端末の接続先のスイッチングハブが特定される。これにより、ルータおよびスイッチングハブ間で、例えばMACアドレステーブルの受け渡しが行われることはなく、ルータ配下のネットワークに過剰な負荷がかかることはない。
 より好ましい態様においては、前記ハードウェア識別子はMAC(Media Access Control)アドレスであり、前記ハードウェア識別子に一意に変換される他の識別子はIP(Internet Protocol)アドレスであり、前記ルータは、配下のネットワークに収容される通信端末に対してIPアドレスの割り当てを行うとともに、当該IPアドレスと当該通信端末のMACアドレスとの相互変換を行うDHCP(Dynamic Host Configuration Protocol)サーバ手段を有しており、前記通信ポート特定手段は、探索対象の通信端末のIPアドレスを前記DHCPサーバ手段によってMACアドレスに変換し、当該MACアドレスと前記ルータのアドレステーブルの格納内容とから当該通信端末に対応する通信ポートを特定することを特徴とする。
 また、別の好ましい態様においては、前記ハードウェア識別子はMAC(Media Access Control)アドレスであり、前記ハードウェア識別子に一意に変換される他の識別子はホスト名であり、前記ルータは、配下のネットワークに収容される通信端末に対してIP(Internet Protocol)アドレスの割り当てを行うとともに、当該IPアドレスと当該通信端末のMACアドレスとの相互変換を行うDHCP(Dynamic Host Configuration Protocol)サーバ手段と、当該通信端末のホスト名とIPアドレスとの相互変換を行うDNS(Domain Name System)サーバ手段と、を有しており、前記アドレスアドレス参照手段は、探索対象の通信端末のホスト名を前記DNSサーバ手段によってIPアドレスに変換し、さらに、当該IPアドレスを前記DHCPサーバ手段によってMACアドレスに変換し、当該MACアドレスと前記ルータのアドレステーブルの格納内容とから当該通信端末に対応する通信ポートを特定することを特徴とする。
 これらの態様によれば、IPアドレスまたはホスト名を指定して通信端末を探索することが可能になる。一般に、IPアドレスはMACアドレスに比較して人が理解し易く、ホスト名はIPアドレスよりもさらに人が理解し易い。上記の態様によれば、MACアドレスよりも理解し易いIPアドレスまたはホスト名によって探索対象の通信端末を指定することができるため、利便性が向上する、といった効果が得られる。
 また、前記1または複数のスイッチングハブには、前記隣接中継装置テーブルを有さないスイッチングハブが含まれていてもよい。本発明の一態様においては、たとえネットワーク内に従来のスイッチングハブが含まれていたとしても、前記隣接中継装置テーブルを有るスイッチングハブに接続されている通信端末の探索は可能である。
 また、上記課題を解決するために本発明の別の態様は、中継装置としてのルータと、前記ルータの配下のネットワークに含まれる中継装置としての1または複数のスイッチングハブとを含む通信システムにおいて、前記1または複数のスイッチングハブのうち少なくとも1つのスイッチングハブと前記ルータの各々は、自装置へ宛ててフレームの送信を行った通信端末を一意に識別するハードウェア識別子と当該フレームを受信した通信ポートのポート識別子とを対応付けて格納するアドレステーブルと、通信ポートのポート識別子に対応付けて当該通信ポートを介して受信したフレームの転送元の中継装置のハードウェア識別子を格納する隣接中継装置テーブルと、を有し、前記ルータは、探索対象の通信端末を示すハードウェア識別子または当該ハードウェア識別子に一意に変換される他の識別子を基に、前記ルータにおいて当該通信端末に対応する通信ポートを前記ルータのアドレステーブルの格納内容から特定する第1の通信ポート特定手段と、前記第1の通信ポート特定手段により特定された通信ポートにスイッチングハブが接続されているか否かを前記ルータの前記隣接中継装置テーブルの格納内容を参照して判定し、当該通信ポートの接続先はスイッチングハブではないと判定される場合には、前記探索対象の通信端末は前記ルータに接続されている旨の報知を行う第1の接続中継装置判定手段と、前記第1の通信ポート特定手段によって特定された通信ポートの接続先はスイッチングハブであると前記第1の接続中継装置判定手段によって判定された場合には、当該スイッチングハブを前記探索対象の通信端末の接続先の候補として選択する接続先候補選択手段と、前記接続先候補選択手段によって選択されたスイッチングハブに対して前記探索対象の通信端末の接続の有無を問い合せる問合せ手段と、前記問合せ手段の問い合せ先のスイッチングハブから前記探索対象の通信端末を接続している旨の返答があった場合には、前記探索対象の通信端末の接続先は当該スイッチングハブである旨の報知を行う一方、他のスイッチングハブを新たな問い合せ先とすべき旨の返答があった場合には、当該他のスイッチングハブを前記探索対象の通信端末の接続先の候補として選択し直して前記問合せ手段による処理を行う第2の接続中継装置判定手段と、を有し、前記少なくとも1つのスイッチングハブは、前記ルータからの問い合せに応じて、当該問い合せにかかる通信端末に対応する通信ポートを前記少なくとも1つのスイッチングハブのアドレステーブルの格納内容から特定する第2の通信ポート特定手段と、前記第2の通信ポート特定手段により特定された通信ポートに他のスイッチングハブが接続されているか否かを前記少なくとも1つのスイッチングハブの隣接中継装置テーブルの格納内容に基づいて判定し、他のスイッチングハブが接続されていると判定される場合には、当該他のスイッチングハブを新たな問い合せ先とすべき旨を前記ルータに返答し、他のスイッチングハブが接続されていないと判定される場合には、前記探索対象の通信端末は前記少なくとも1つのスイッチングハブに接続されている旨を前記ルータに返答する問合せ判定手段と、を有することを特徴とする通信システム、を提供する。
 上述の態様によれば、新たな候補中継装置の選択をルータではなく、スイッチングハブに行わせることで、スイッチングハブの隣接中継装置テーブルの内容をルータに記憶させる必要がなくなる。
 また、上記課題を解決するために本発明の別の態様は、配下のネットワークに中継装置としてのスイッチングハブを有し、該ネットワークと他のネットワークとを接続する中継装置としてのルータであって、複数の通信ポートを備えた通信インタフェース部と、前記ルータへ宛ててフレームの送信を行った通信端末を一意に識別するハードウェア識別子と当該フレームを受信した通信ポートのポート識別子とを対応付けて格納するアドレステーブルと、前記複数の通信ポートの各々のポート識別子に対応付けて当該通信ポートを介して受信したフレームの転送元の中継装置のハードウェア識別子を格納する隣接中継装置テーブルと、前記ルータと同種のアドレステーブルおよび隣接中継装置テーブルを有するスイッチングハブから該スイッチングハブの隣接中継装置テーブルの格納内容を取得し記憶する記憶手段と、探索対象の通信端末を示すハードウェア識別子または当該ハードウェア識別子に一意に変換される他の識別子を基に、当該通信端末に対応する通信ポートを前記アドレステーブルの格納内容から特定する通信ポート特定手段と、前記通信ポート特定手段にて特定された通信ポートの接続先が前記配下のネットワークに含まれるスイッチングハブであるか否かを、前記隣接中継装置テーブルの格納内容に基づいて判定し、スイッチングハブではないと判定される場合には、前記探索対象の通信端末は前記ルータに接続されている旨の報知を行う第1の接続中継装置判定手段と、前記通信ポート特定手段にて特定された通信ポートの接続先がスイッチングハブであると前記第1の接続中継装置判定手段によって判定された場合には、当該スイッチングハブを前記探索対象の通信端末の接続先の候補として選択する接続先候補選択手段と、前記接続中継装置判定手段にて選択されたスイッチングハブに対して、前記探索対象の通信端末に対応する通信ポートを問い合せる問合せ手段と、前記問合せ手段の問い合せ先のスイッチングハブから返答された通信ポートの接続先が他のスイッチングハブであるか否かを、前記記憶手段に記憶されている当該スイッチングハブについての前記隣接中継装置テーブルの格納内容を参照して判定し、当該通信ポートの接続先が他のスイッチングハブではない場合には、前記探索対象の通信端末は当該問い合せ先のスイッチングハブに接続されている旨の報知を行う一方、当該通信ポートの接続先が他のスイッチングハブである場合には、当該他のスイッチングハブを新たな候補として選択し直して前記問合せ手段による処理を行う第2の接続中継装置判定手段と、を有することを特徴とするルータ、を提供する。
 このようなルータと、上記アドレステーブルおよび隣接中継装置テーブルを備えかつ隣接中継装置通知手段および通信ポート通知手段を有するスイッチングハブと、を組み合わせて、前述した通信システムを構成することができる。また、本発明の別の態様としては、上述の各手段と同様のステップを有する通信方法を提供する態様も考えられる。
 また、上記課題を解決するために本発明の別の態様は、中継装置としてのルータ配下のネットワークに含まれる、中継装置としてのスイッチングハブであって、複数の通信ポートを備えた通信インタフェース部と、前記スイッチングハブへ宛ててフレームの送信を行った通信端末を一意に識別するハードウェア識別子と当該フレームを受信した通信ポートのポート識別子とを対応付けて格納するアドレステーブルと、前記複数の通信ポートの各々のポート識別子に対応付けて当該通信ポートを介して受信したフレームの転送元の中継装置のハードウェア識別子を格納する隣接中継装置テーブルと、前記隣接中継装置テーブルの格納内容を前記ルータに通知する隣接中継装置通知手段と、前記ルータから送信された問い合せフレームであって、探索対象の通信端末のハードウェア識別子を内包し当該通信端末から送信されたフレームの受信ポートを問い合せる旨の問い合せフレームを受信したことを契機として、該当する通信ポートを前記アドレステーブルの格納内容から特定してその特定結果を前記ルータに返答する通信ポート通知手段と、を有することを特徴とするスイッチングハブを提供する。このようなスイッチングハブを上記ルータと組み合わせることで、前述した通信システムを構築することができるからである。なお、上述の各手段と同様のステップを有する通信方法を提供する態様も勿論考えられる。
本発明の第1実施形態のLAN1Aの構成例を示す図である。 LAN1Aに含まれるスイッチングハブ50の構成例を示す図である。 スイッチングハブ50のスイッチングエンジン部520が実行するフレーム転送制御処理、隣接中継装置通知フレーム送信処理、および通信ポート通知フレーム送信処理を説明するための図である。 LAN1Aにおいて送受信されるフレームのデータ構造を示す図である。 LAN1AをIP網に接続するルータ60の構成例を示す図である。 ルータ60のルーティングエンジン部620が実行する端末探索処理の流れを示すフローチャートである。 LAN1Aにおける通信端末40、スイッチングハブ50およびルータ60の各々の通信ポートの接続関係の一例を示す図である。 スイッチングハブ50およびルータ60の動作を説明するための図である。 スイッチングハブ50およびルータ60の動作を説明するための図である。 スイッチングハブ50およびルータ60のMACアドレステーブルの格納内容の一例を示す図である。 通信端末の探索過程における通信シーケンスの一例を示す図である。 本発明の第2実施形態のLAN1Bの構成例を示す図である。
 以下、図面を参照しつつ、この発明の実施形態について説明する。
<A:第1実施形態>
<A-1:構成>
 図1は、本発明の第1実施形態の通信システムであるLAN1Aの構成例を示す図である。このLAN1Aは、例えば企業の支店に敷設される拠点内LANであり、ルータ60によってインターネットなどのIP網(図示省略)に接続される。このLAN1Aは、上記支店内における通信システムの役割を果たす一方、他の支店に敷設される拠点内LANとともに上記企業における企業内情報システムを構成する。図1に示すように、LAN1Aは、4台のスイッチングハブ(スイッチングハブ50A、50B、50C、および50D)と、2台の通信端末(通信端末40Aおよび40B)と、1台の操作端末30と、を含んでいる。図1に示すように、ルータ60にはスイッチングハブ50Aと操作端末30とが接続されており、スイッチングハブ50Aにはスイッチングハブ50Bが接続されている。そして、スイッチングハブ50Bにはスイッチングハブ50Cと50Dとが接続されており、スイッチングハブ50Cには通信端末40Aが、スイッチングハブ50Dには通信端末40Bが各々接続されている。
 操作端末30、通信端末40Aおよび40Bの各々は、例えばパーソナルコンピュータである。操作端末30はLAN1Aの運用管理のための各種操作をLAN1Aの運用管理者に行わせるためのものである。通信端末40Aおよび40Bは、LAN1Aに含まれる何れかのスイッチングハブに接続されることで、当該LAN1Aに収容される。LAN1Aに収容された通信端末40Aおよび40Bの各々は、他の通信装置(例えば、LAN1Aに収容されている他の通信端末や他の拠点内LANに収容されている通信端末、或いはIP網に接続されているWWWサーバなど)との間でIPにしたがったパケット通信を行う。以下、通信端末40Aおよび40Bの各々を区別する必要がない場合には、「通信端末40」と表記する。なお、図1ではルータ60の配下のネットワーク(すなわち、LAN1A)に2台の通信端末40が収容される場合について例示されているが、3台以上の通信端末40がLAN1Aに収容されても良く、また、通信端末40が1台だけ収容されている態様であっても勿論良い。
 図1のスイッチングハブ50A、50B、50Cおよび50Dの各々は同一の構成を有している。以下では、これら4台のスイッチングハブの各々を区別する必要がない場合には、「スイッチングハブ50」と表記する。スイッチングハブ50は、IPよりも下位のプロトコル階層である第2層(データリンク層)においてデータ通信を中継する中継装置である。ルータ60は、ネットワーク層においてデータ通信を中継する中継装置であり、LAN1Aのデフォルトゲートウェイの役割を果たす。ルータ60は、IP網から受信したパケットの送信先IPアドレスが通信端末40Aまたは40Bの何れかのものであれば、そのパケットを配下のLAN1Aへと転送し、その送信先IPアドレスが通信端末40Aまたは40Bの何れのものでもない場合にはルーティングテーブルの格納内容にしたがって他のルータへ転送する。このようにルータ60はLAN1Aのデフォルトゲートウェイとして機能するため、以下ではLAN1Aのことを「ルータ60の配下のネットワーク」と呼ぶ場合がある。加えて、図1のルータ60は、DHCPサーバ機能とDNSサーバ機能とを有している。このDHCPサーバ機能によって、ルータ60は、操作端末30或いは通信端末40のLAN1Aへの接続を契機としてこれら各端末にIPアドレスを割り当て、当該IPアドレスと各端末のMACアドレスとの相互変換を行う。また、ルータ60は、DNSサーバ機能によって、操作端末30或いは通信端末40に付与されたホスト名とIPアドレスとの相互変換を行う。
 図1に示すLAN1Aにおいては、第2層の通信プロトコルにしたがったデータ通信(すなわち、フレームの送受信および転送制御)の実行過程において、LAN1Aに含まれる各中継装置(すなわち、ルータ60およびスイッチングハブ50)に、隣接中継装置を検出させる。ここで、隣接中継装置とは、当該中継装置に対してフレームの転送を行った他の中継装置のことであり、LAN1Aにおいては当該中継装置に直結されている他の中継装置のことである。例えば、LAN1Aにおいては、ルータ60についての隣接中継装置はスイッチングハブ50Aであり、スイッチングハブ50Aについての隣接中継装置はルータ60およびスイッチングハブ50Bである。また、スイッチングハブ50Bについての隣接中継装置はスイッチングハブ50A、50Cおよび50Dであり、スイッチングハブ50C(或いは50D)についての隣接中継装置はスイッチングハブ50Bである。
 図1に示すLAN1Aにおいては、スイッチングハブ50の各々は、自装置の隣接中継装置を検出し、その検出結果をルータ60へ通知する一方、ルータ60は、各スイッチングハブ50の隣接中継装置を示す情報をスイッチングハブ50毎に記憶する。そして、LN1Aにおいては、運用管理者によって、接続先の特定を所望する端末(本実施形態では、通信端末40Aまたは通信端末40B:以下、探索対象端末)のMACアドレス、IPアドレス或いはホスト名が操作端末30を介してルータ60に指示されると、ルータ60は各スイッチングハブ50と通信して当該探索対象端末の接続先を特定し、その特定結果を操作端末30に報知させる。これにより、上記運用管理者は、探索対象端末が何れのスイッチングハブ50に接続されているのかを把握することができるのである。このように本実施形態では、探索対象端末をIPアドレスやホスト名で指定することができるため、MACアドレスのみでしか探索対象端末を指定できない態様に比較して利便性が向上するのである。以下、本実施形態の特徴を顕著に示すスイッチングハブ50およびルータ60を中心に説明する。
<A-1-1:スイッチングハブ50の構成>
 図2は、スイッチングハブ50の構成を示すブロック図である。図2に示すように、スイッチングハブ50は、通信インタフェース(以下、I/F)部510、スイッチングエンジン部520、および記憶部530を有している。
 通信I/F部510は、複数の通信ポートを有している。これら複数の通信ポートの各々には、例えば100BASE-Tなどの通信ケーブルを介して他の通信装置(本実施形態では、ルータ60や他のスイッチングハブ50、或いは通信端末40の何れか)が接続される。これら複数の通信ポートの各々には、通信ポート毎に固有のポート識別子(例えば、ポート番号)が予め割り当てられており、当該ポート識別子を用いて各通信ポートを一意に識別することができる。通信I/F部510は、各通信ポートを介して受信したフレームをスイッチングエンジン部520に与える一方、スイッチングエンジン部520から与えられるフレームを同スイッチングエンジン部520によって指示された通信ポートから送出する。
 記憶部530は、例えばRAM(Random Access Memory)などの揮発性メモリとEPROM(Erasable Programmable Read Only Memory)などの不揮発性メモリとを含んでいる(図2では、何れも図示略)。この不揮発性メモリには、本発明のスイッチングハブの特徴を顕著に示す処理をスイッチングエンジン部520に実行させるためのファームウェア(プログラム)が予め記憶されている。一方、揮発性メモリは、上記ファームウェアを実行する際のワークエリアとしてスイッチングエンジン部520によって利用される。また、上記揮発性メモリは、通信I/F部510によって受信されたフレームを一時的に記憶しておくためのバッファの役割を果たし、さらに、この揮発性メモリには、図2のMACアドレステーブルと同図2の隣接中継装置テーブルとが格納される。
 図2のMACアドレステーブルは、従来のスイッチングハブが有するものと特段に変るところはない。このMACアドレステーブルには、通信I/F部510によって受信したフレームの送信元MACアドレスに対応付けて当該フレームを受信した通信ポートのポート識別子が格納される。MACアドレステーブルへのMACアドレスおよびポート識別子の書き込みは、フレーム転送制御に伴って行われる。例えば、ルータ60のMACアドレス解決のために通信端末40から送信されたフレーム(ペイロード部にARP(Address Resolution Protocol)パケットが書き込まれたフレーム)の転送過程では、当該フレームの送信元MACアドレス(すなわち、通信端末40のMACアドレス)と当該フレームの受信ポートのポート識別子とを対応付けてMACアドレステーブルに書き込む処理が行われる。一方、当該フレームに対する応答フレームの転送過程では、当該フレームの送信元MACアドレス(すなわち、ルータ60のMACアドレス)と当該フレームの受信ポートのポート識別子とを対応付けてMACアドレステーブルに書き込む処理が行われる。このMACアドレステーブルの格納内容は、送信先MACアドレスに基づくフレームの転送制御を行う際に利用される。
 隣接中継装置テーブルには、通信I/F部510が有する複数の通信ポートの各々のポート識別子に対応付けて接続先識別子が格納される。ここで、接続先識別子とは、当該接続先識別子を対応付けられている通信ポートの接続先が隣接中継装置であるか否かを示すとともに、当該接続先が隣接中継装置である場合には当該隣接中継装置を一意に示す情報である。前述したように隣接中継装置とは、当該スイッチングハブ50に対してフレームの転送を行った他の中継装置(本実施形態では、ルータ60或いは他のスイッチングハブ50)のことである。本実施形態では、隣接中継装置に接続されている通信ポートのポート識別子には接続先識別子として当該隣接中継装置のMACアドレスが対応付けられ、隣接中継装置以外の他の通信装置(本実施形態では、通信端末40)が接続さている通信ポート、或いは他の通信装置に接続されていない通信ポートには接続先識別子としてNULL(0x00)が対応付けられる。
 この隣接中継装置テーブルは、スイッチングハブ50の電源(図示略)が投入されたことを契機として、各接続先識別子をNULLとした状態で生成される。そして、予め定められた特定のフレームの中継を行うことに伴って、当該テーブルの格納内容の更新(すなわち、隣接中継装置が接続されている通信ポートのポート識別子に対応する接続先識別子を当該隣接中継装置のMACアドレスに書き換えること)が行われる。詳細については後述するが、本実施形態では、上記特定のフレームとして、隣接中継装置テーブルの格納内容をルータ60に通知するために各スイッチングハブ50が送信する隣接中継装置通知フレームと、当該隣接中継装置通知フレームの送信を要求するためにルータ60が配下のLAN1A内にマルチキャストする要求フレームの2種類が予め定められている。
 スイッチングエンジン部520は、例えばCPU(Central Processing Unit)である。スイッチングエンジン部520は、記憶部530に記憶されているファームウェアを実行することで、スイッチングハブ50の制御中枢として機能する。このファームウェアにしたがって作動しているスイッチングエンジン部520は、何れかの通信ポートを介してフレームを受信するたびに図3のフローチャートに示す処理を実行する。図3に示すように、上記ファームウェアにしたがってスイッチングエンジン部520が実行する処理としては、フレーム転送制御処理、隣接中継装置通知フレーム送信処理、および通信ポート通知フレーム送信処理の3つが挙げられる。以下、これら3つの処理の処理内容の詳細な説明に先立って、LAN1Aにおいて送受信されるフレームのデータ構造について説明しておく。
 図4(A)は、LAN1Aにおいて送受信される一般的なフレームのデータ構造を示す図である。図4(A)に示すように、フレームは、ヘッダ部と、ペイロード部とを有している。ヘッダ部には、送信先MACアドレス、送信元MACアドレス、種別識別子が格納される。例えば、前述した要求フレームの場合は、送信先MACアドレスにはマルチキャストアドレスがセットされ、送信元MACアドレスにはルータ60のMACアドレスがセットされる。要求フレームはルータ60から配下のLAN1Aに向けてマルチキャストされるからである。また、隣接中継装置通知フレームの場合は、送信先MACアドレスにはルータ60のMACアドレスがセットされ、送信元MACアドレスにはその送信元のスイッチングハブ50のMACアドレスがセットされる。前述したように、隣接中継装置通知フレームは、スイッチングハブ50からルータ60へユニキャストされるからである。
 種別識別子とは、ペイロード部に格納されているデータ(パケット)の種類等を示す識別子である。本実施形態にてスイッチングハブ50とルータ60との間で送受信されるフレームのうち、本実施形態の特徴を顕著に示すものとしては、要求フレームおよび隣接中継装置通知フレームの他に、問い合せフレームと通信ポート通知フレームとが挙げられる。ここで、問い合せフレームとは、探索対象として指定された通信端末に対応する通信ポートのポート識別子をスイッチングハブ50に問い合せるためにルータ60がユニキャストするフレームであり、通信ポート通知フレームとは当該問い合せフレームに対する応答としてスイッチングハブ50がルータ60に返信(ユニキャスト)するフレームである。これら本実施形態の特徴を顕著に示す4種類のフレームのヘッダ部には、これら4種類のフレームを他のフレームと識別するための値(0xe812)がセットされる。なお、以下では、上記4種類のフレームのうち、要求フレームと隣接中継装置通知フレームとを「隣接中継装置情報収集用フレーム」と総称する場合がある。
 図4(B)は、要求フレームのペイロード部のデータ構造を示す図である。図4(B)に示すように、要求フレームのペイロード部には、送信先MACアドレス、送信元MACアドレス、フレーム種別識別子、および転送元識別子が書き込まれる。要求フレームのペイロード部に書き込まれる送信先MACアドレスおよび送信元MACアドレスは、同要求フレームのヘッダ部に書き込まれているものと同一である。フレーム種別識別子とは、当該フレームが前述した4種類のフレームの何れであるかを示す識別子である。フレーム種別識別子には上記4種類のフレーム毎に異なる値がセットされる。要求フレームのペイロード部のフレーム種別識別子には、要求フレームであることを示す値がセットされる。転送元識別子には、要求フレームの送信の際にはその送信元のMACアドレスがセットされ、スイッチングハブ50によって当該フレームの転送が行われるたびに当該転送を行ったスイッチングハブ50のMACアドレスに書き換えられる。
 図4(C)は、隣接中継装置通知フレームのペイロード部のデータ構造を示す図である。図4(C)に示すように、隣接中継装置通知フレームのペイロード部には、送信先MACアドレス、送信元MACアドレス、フレーム種別識別子、および転送元識別子の他に、隣接中継装置情報が書き込まれる。隣接中継装置通知フレームのペイロード部のフレーム種別識別子には、当該フレームが隣接中継装置通知フレームであることを明示する値がセットされる。また、同ペイロード部の隣接中継装置情報には、当該隣接中継装置通知フレームの送信時点における当該隣接中継装置通知フレームの送信元のスイッチングハブ50の隣接中継装置テーブルの格納内容(すなわち、当該スイッチングハブ50の全ての通信ポートについてのポート識別子と当該ポート識別子に対応する接続先識別子のリスト)が書き込まれる。なお、隣接中継装置通知フレームのペイロード部に書き込まれる送信先MACアドレス、送信元MACアドレスおよび転送元識別子については要求フレームにおけるものと同様である。
 図4(D)は、問い合せフレームのペイロード部のデータ構造を示す図である。図4(D)に示すように、問い合せフレームのペイロード部には、送信先MACアドレス、送信元MACアドレス、フレーム種別識別子、および探索対象識別子が書き込まれる。問い合せフレームのペイロード部のフレーム種別識別子には、当該フレームが問い合せフレームであることを明示する値がセットされる。探索対象識別子とは、探索対象として指定された通信端末を一意に識別する識別子(本実施形態では、当該通信端末のMACアドレス)である。図4(E)は、通信ポート通知フレームのペイロード部のデータ構造を示す図である。図4(E)に示すように、通信ポート通知フレームのペイロード部には、送信先MACアドレス、送信元MACアドレス、フレーム種別識別子、および接続先ポート識別子が書き込まれる。通信ポート通知フレームのペイロード部のフレーム種別識別子には、当該フレームが通信ポート通知フレームであることを明示する値がセットされる。前述したように、通信ポート通知フレームは問い合せフレームを受信したスイッチングハブ50が当該問い合せフレームに対する応答として返信するフレームであり、当該スイッチングハブのMACアドレステーブルにおいて上記探索対象識別子に対応付けられているポート識別子が上記接続先ポート識別子として書き込まれる。これら問い合せフレームおよび通信ポート通知フレームのペイロード部に書き込まれる送信先MACアドレスおよび送信元MACアドレスについても、要求フレーム(或いは隣接中継装置通知フレーム)におけるものと同様、各々のヘッダ部に書き込まれていたものと同一である。
 以上がLAN1Aにおいて送受信されるフレームのデータ構造である。
 次いで、図3を参照しつつ、フレーム転送制御処理、隣接中継装置通知フレーム送信処理、および通信ポート通知フレーム送信処理の処理内容を説明する。図3に示すように、スイッチングエンジン部520は、通信I/F部510の何れかの通信ポートを介してフレームを受信すると、当該受信フレームが自装置へ宛ててルータ60から送信された問い合せフレームであるか否かを、当該受信フレームのヘッダ部の送信先MACアドレスおよび同ペイロード部のフレーム種別識別子を参照して判定する(ステップSA100)。すなわち、送信先MACアドレスが自装置のMACアドレスであり、かつフレーム種別識別子が問い合せフレームであることを示す値である場合に上記ステップSA100の判定結果は“Yes”となる。そして、スイッチングエンジン部520は、ステップSA100の判定結果が“Yes”である場合には、通信ポート通知フレーム送信処理(ステップSA110)を実行し、逆に、ステップSA100の判定結果が“No”である場合には、図3に示すように、フレーム転送制御処理を実行する。なお、受信フレームが前述した4種類のフレームの何れかであるか否か(すなわち、受信フレームのヘッダ部の種別識別子が0xe812であるか否か)の判定をステップSA100に先立って行い、その判定結果が“No”である場合(すなわち、受信フレームの種別識別子が0xe812ではない場合)には、SA170の処理を実行し、逆に、当該判定の判定結果が“Yes”である場合(すなわち、受信フレームの種別識別子が0xe812である場合)に上記ステップSA100の判定を行うようにしても勿論良い。
 図3に示すように、フレーム転送制御処理は、その送信先MACアドレスに基づく転送制御(ステップSA170)を含んでいる。ここで、受信フレームの送信先MACアドレスに基づく転送制御とは、当該送信先MACアドレスがユニキャストアドレスではない場合、または当該送信先MACアドレスがMACアドレステーブルに格納されていないユニキャストアドレスである場合には、当該受信フレームのフラッディングを行う一方、当該送信先MACアドレスがMACアドレステーブルに格納されたユニキャストアドレスである場合には、当該MACアドレスに対応付けてMACアドレステーブルに格納されているポート識別子の示す通信ポートのみから当該受信フレームを送出することである。ここでユニキャストアドレスではないMACアドレスとしては、マルチキャストアドレスまたはブロードキャストアドレスが挙げられる。また、フラッディングとは、受信フレームを受信した通信ポート以外の全ての通信ポートから当該受信フレームを送出することである。この送信先MACアドレスに基づく転送制御については従来のスイッチングハブにおけるものと特段に変るところはない。換言すれば、従来のスイッチングハブでは、フレーム転送制御処理として上記送信先MACアドレスに基づく転送制御(ステップSA170の処理)のみが実行されるのである。
 本実施形態のフレーム転送制御処理は、ステップSA170の処理の他に、ステップSA120~SA140の処理を含んでいる。図3に示すように、本実施形態のフレーム転送制御処理では、スイッチングエンジン部520は、まず、受信フレームが隣接中継装置情報収集用フレーム(すなわち、要求フレーム或いは隣接中継装置通知フレーム)であるか否かを当該受信フレームのペイロード部のフレーム種別識別子を参照して判定する(ステップSA120)。具体的には、スイッチングエンジン部520は、受信フレームのフレーム種別識別子が要求フレームを示す値または隣接中継装置通知フレームを示す値である場合には、当該受信フレームは隣接中継装置情報収集用フレームであると判定する。そして、スイッチングエンジン部520は、ステップSA120の判定結果が“No”である場合には、前述したステップSA170の処理を実行して本フレーム転送制御処理を終了し、逆に、ステップSA120の判定結果が“Yes”である場合には、ステップSA130以降の処理を実行する。
 ステップSA120の判定結果が“Yes”である場合に実行されるステップSA130では、スイッチングエンジン部520は、隣接中継装置情報収集用フレームを受信した通信ポートのポート識別子に対応付けて隣接中継装置テーブルに格納されている接続先識別子を、当該フレームのペイロード部に書き込まれている転送元識別子によって書き換える。次いで、スイッチングエンジン部520は、受信した隣接中継装置情報収集用フレームの転送元識別子を自装置のMACアドレスに書き換える(ステップSA140)。次いで、スイッチングエンジン部520は、図3に示すように、受信フレームが要求フレームであるか否かを当該受信フレームのペイロード部のフレーム種別識別子を参照して判定し(ステップSA150)、その判定結果がYesである場合には、さらに、隣接中継装置通知フレーム送信処理(ステップSA160)を実行する。この隣接中継装置通知フレーム送信処理では、スイッチングエンジン部520は、前述した隣接中継装置通知フレームを生成し、ルータ60に送信(ユニキャスト)する。
 一方、ステップSA100の判定結果が“Yes”である場合(すなわち、受信フレームが自装置宛の問い合せフレームである場合)に実行される通信ポート通知フレーム送信処理では、スイッチングエンジン部520は、問い合せフレームのペイロード部に書き込まれている探索対象識別子を検索キーとして自装置のMACアドレステーブルを検索し、当該探索対象識別子の示すMACアドレスに対応付けてMACアドレステーブルに格納されているポート識別子を特定する。そして、スイッチングエンジン部520は、当該ポート識別子を接続先ポート識別子としてペイロード部に書き込んだ通信ポート通知フレームを生成し、問い合せフレームの送信元に返信(ユニキャスト)する。前述したように、MACアドレステーブルへのポート識別子およびMACアドレスの書き込みは、フレームの転送制御に伴って行われる。LAN1Aに通信端末40が接続されると、当該通信端末40はデフォルトゲートウェイであるルータ60のMACアドレスを特定するためのARPフレームを必ずマルチキャスト(或いは、ブロードキャスト)する。このため、通信端末40のMACアドレスは各スイッチングハブ50のMACアドレステーブルに必ず登録されている。したがって、通信端末40が探索対象として指定される限り、この通信ポート通知フレーム送信処理では、探索対象識別子に対応する通信ポートが必ず特定されるのである。
 以上がスイッチングハブ50の構成である。
<A-1-2:ルータ60の構成>
 図5は、ルータ60の構成を示すブロック図である。図5に示すように、ルータ60は、通信I/F部610、ルーティングエンジン部620および記憶部630を有している。通信I/F部610は、スイッチングハブ50の通信I/F部510と同様に複数のポートを有しており、各ポートには固有のポート識別子が割り当てられている。これら複数のポートのうちの3つに、IP網(図1では図示略)、スイッチングハブ50Aおよび操作端末30が各々接続される。通信I/F部610は、通信I/F部510と同様、各通信ポートを介して受信したフレームをルーティングエンジン部620に与える一方、ルーティングエンジン部620から与えられるフレームを同ルーティングエンジン部620によって指示された通信ポートから送出する。
 記憶部630も、スイッチングハブ50の記憶部530と同様に、RAMなどの揮発性メモリとEPROMなどの不揮発性メモリを含んでいる(図示略)。この不揮発性メモリにはファームウェアが格納されている。本実施形態では、このファームウェアにしたがってルーティングエンジン部620を作動させることによって本実施形態の特徴を顕著に示すルータ60の機能が実現される。一方、揮発性メモリは、上記ファームウェアを実行する際のワークエリアとしてルーティングエンジン部620によって利用されるとともに、受信したフレーム(或いは、パケット)を一時的に蓄積しておくためのバッファの役割を果たす。また、当該揮発性メモリには、図5に示すルーティングテーブル、当該ルータ60についてのMACアドレステーブルおよび隣接中継装置テーブルの各テーブルが格納される。
 ルーティングエンジン部620は、スイッチングハブ50のスイッチングエンジン部520と同様、CPU(Central Processing Unit)である。ルーティングエンジン部620は、記憶部630に記憶されているファームウェアを実行し、ルータ60の制御中枢として機能する。ルーティングエンジン部620は上記ファームウェアにしたがって、DHCPサーバ処理、DNSサーバ処理、パケット転送制御処理、マルチキャスト処理、隣接中継装置情報記憶処理、および端末探索処理、を実行する。
 記憶部630に記憶されているファームウェアにしたがってルーティングエンジン部620が実行する6つの処理のうち、DHCPサーバ処理、DNSサーバ処理、およびパケット転送制御処理の3つについては従来のものと特段に変るところはない。すなわち、DHCPサーバ処理とはDHCPサーバ機能を実現する処理であり、DNSサーバ処理とはDNSサーバ機能を実現する処理である。そして、パケット転送制御処理は、通信I/F部610を介して受信したパケットの送信先IPアドレスとルーティングテーブルの格納内容とに基づいて当該パケットの転送を行う処理である。
 マルチキャスト処理は、ルータ60の配下のネットワーク(すなわち、LAN1A)に向けて要求フレームをマルチキャストする処理である。詳細については後述するが、本実施形態では、このマルチキャスト処理はルータ60の電源(図示略)投入後、所定時間T(例えば、3秒)が経過する毎に周期的に実行される。
 隣接中継装置情報記憶処理は隣接中継装置通知フレームを受信する度に実行される処理である。この隣接中継装置情報記憶処理では、ルーティングエンジン部620は、隣接中継装置通知フレームを受信した通信ポートのポート識別子に対応付けて自装置の隣接中継装置テーブルに記憶されている接続先識別子を当該隣接中継装置通知フレームの転送元識別子で上書きするとともに、当該隣接中継装置通知フレームのペイロード部に書き込まれている隣接中継装置情報を当該フレームの送信元の隣接中継装置テーブルとして当該フレームの送信元MACアドレスと対応付けて記憶部630に書き込む(既に、書き込み済みであれば、新たな隣接中継装置情報で上書きする)。このようにして記憶部630に格納される各スイッチングハブ50の隣接中継装置テーブルは、後述する端末探索処理にて利用される。
 図6は、端末探索処理の流れを示すフローチャートである。
 この端末探索処理は、操作端末30に対する操作によって探索対象端末を指定されたことを契機として実行される処理であり、LAN1Aに含まれる中継装置(すなわち、ルータ60およびスイッチングハブ50)の何れに探索対象端末が接続されているのかを特定する処理である。図6に示すように、ルーティングエンジン部620は、まず、自装置の隣接中継装置テーブルの格納内容と隣接中継装置情報記憶処理により記憶部630に書き込んだ各スイッチングハブ50の隣接中継装置テーブルの格納内容とが表す各中継装置の接続関係に矛盾があるか否かを判定する(ステップSB100)。ここで、各中継装置の接続関係に矛盾があるとは、例えばスイッチングハブ50Bの隣接中継装置テーブルにはスイッチングハブ50AのMACアドレスが格納されているものの、スイッチングハブ50Aの隣接中継装置テーブルにはスイッチングハブ50BのMACアドレスが格納されていないような状態をいう。
 ステップSB100の判定結果が“Yes”である場合(すなわち、矛盾がある場合)には、ルーティングエンジン部620は、端末探索を可能とするための準備中である旨のメッセージを操作端末30に報知(ステップSB170)させて、当該端末探索処理の実行を終了する。逆に、ステップSB100の判定結果が“No”である場合には、ルーティングエンジン部620は、図6のステップSB110以降の処理を実行する。このように、各中継装置の接続関係に矛盾がある場合にステップSB110以降の処理を実行しないようにしたのは、上記矛盾に起因する探索対象端末の接続先の誤判断を回避するためである。この点については本実施形態の動作例において詳細に説明する。
 ステップSB100の判定結果が“No”である場合に後続して実行されるステップSB110では、ルーティングエンジン部620は、探索対象端末に対応する通信ポートが有るか否かを、自装置のMACアドレステーブルの格納内容に基づいて判定する。前述したように、探索対象端末の指定の仕方としては、当該端末のMACアドレスにより指定する態様や、IPアドレスにより指定する態様、ホスト名により指定する態様がある。探索対象端末がMACアドレスによって指定された場合には、当該MACアドレスに対応付けてMACアドレステーブルにポート識別子が格納されている通信ポートが有るか否かによって、当該探索対象端末に対応する通信ポートの有無を判定すれば良い。また、探索対象端末がIPアドレスによって指定された場合には、前述したDHCPサーバ機能によって当該IPアドレスをMACアドレスに変換し、当該MACアドレスに対応付けてMACアドレステーブルにポート識別子が格納されている通信ポートが有るか否かを判定すれば良い。同様に、探索対象端末がホスト名によって指定された場合には、当該ホスト名をDNSサーバ機能によってIPアドレスに変換し、さらに当該IPアドレスをDHCPサーバ機能によってMACアドレスに変換した後に、MACアドレステーブルの格納内容を参照して該当する通信ポートの有無を判定するようにすれば良い。
 ステップSB110の判定結果が“No”であれば、ルーティングエンジン部620は、探索対象端末は配下のネットワークには収容されていない旨のメッセージを操作端末30に報知させて(ステップSB180)、本端末探索処理を終了する。逆に、ステップSB110の判定結果が“Yes”である場合には、ルーティングエンジン部620は、該当通信ポートのポート識別子を候補ポート識別子として選択するとともに、自装置を探索対象端末の接続先の候補(以下、候補中継装置)として選択する(ステップSB120)。そして、ルーティングエンジン部620は、候補ポート識別子を検索キーとして当該候補中継装置の隣接中継装置テーブルを検索し(ステップSB130)、探索対象端末が当該候補中継装置に接続されているか否かを判定する(ステップSB140)。より詳細に説明すると、ルーティングエンジン部620は、候補ポート識別子と同一のポート識別子に対応付けて候補中継装置の隣接中継装置テーブルに格納されている接続先識別子がNULLであれば探索対象端末は当該候補中継装置に接続されていると判定する。
 ステップSB140の判定結果が“Yes”である場合(すなわち、探索対象端末は候補中継装置に接続されていると判定した場合)には、ルーティングエンジン部620は、探索対象端末は候補中継装置に接続されている旨を操作端末30に報知(ステップSB190)させて、本端末探索処理を終了する。これに対して、ステップSB140の判定結果が“No”である場合には、ルーティングエンジン部620は、当該接続先識別子の示す中継装置を新たな候補中継装置として選択し直し、当該新たな候補中継装置へ宛てて問い合せフレームを送信する(ステップSB150)。そして、ルーティングエンジン部620は、上記新たな候補中継装置から返信されてくる通信ポート通知フレームのペイロード部に書き込まれている接続先ポート識別子で候補ポート識別子を更新し(ステップSB160)、ステップSB130以降の処理を繰り返し実行する。
 すなわち、仮に探索対象端末が自装置(すなわちルータ60)に接続されているとすれば、ステップSB150およびステップSB160を実行することなく、ステップSB120~SB140を1回のみ実行され、ステップSB190において自装置(ルータ60)が探索対象端末に接続されている旨が通知される(第1の接続中継装置判定)。あるいは、仮に探索対象端末が自装置(すなわちルータ60)ではなくスイッチングハブ50に接続されているとすれば、ステップSB150およびステップSB160を少なくとも1回実行し候補中継装置の選択し直しが行われることによって、ステップSB190においていずれかのスイッチングハブ50が探索対象端末に接続されている旨が通知される(第2の接続中継装置判定)。
 以上がルータ60の構成である。
<A-2:動作>
 以下、ルータ60と各スイッチングハブ50とが8つの通信ポートを有し、図7に示すように相互に接続されている場合を例にとって本実施形態の動作を説明する。図7では、通信ポートを黒塗りの丸印で示し、当該通信ポートのポート番号を#付の数字で表記した。図7に示すように、ルータ60のポート番号=1の通信ポートにはスイッチングハブ50Aが接続されており、スイッチングハブ50Aから見ればルータ60はスイッチングハブ50Aのポート番号=8の通信ポートに接続されている。
 図7に示すように、スイッチングハブ50Aのポート番号=7の通信ポートにはスイッチングハブ50Bが接続されており、スイッチングハブ50Bから見ればスイッチングハブ50Aはスイッチングハブ50Bのポート番号=5の通信ポートに接続されている。スイッチングハブ50Bのポート番号=4の通信ポートにはスイッチングハブ50Cが接続されており、同ポート番号=6の通信ポートにはスイッチングハブ50Dが接続されている。スイッチングハブ50Cから見れば、スイッチングハブ50Bはポート番号=3の通信ポートに接続されており、スイッチングハブ50Dから見れば、スイッチングハブ50Bはポート番号=2の通信ポートに接続されている。そして、通信端末40Aはスイッチングハブ50Cのポート番号=7の通信ポートに接続されており、通信端末40Bはスイッチングハブ50Dのポート番号=8の通信ポートに接続されている。また、以下に説明する動作の開始時点では、ルータ60および各スイッチングハブ50の隣接中継装置テーブルの接続先識別子はNULLクリアされている。
<A-2-1:隣接中継装置情報収集動作>
 前述したように、本実施形態のLAN1Aでは、ルータ60および各スイッチングハブ50のMACアドレステーブルおよび隣接中継装置テーブルの格納内容に基づいて探索対象端末の接続先の特定が行われる。このため、探索対象端末の接続先の特定に先立って、隣接中継装置テーブルに各々の隣接中継装置のMACアドレスを格納し、さらに各スイッチングハブ50の隣接中継装置テーブルの格納内容をルータ60に通知しておく必要がある。本実施形態では、ルータ60および各スイッチングハブ50に以下に説明する動作を実行させることで、各々の隣接中継装置テーブルへの隣接中継装置のMACアドレスの格納、およびルータ60への各スイッチングハブ50の隣接中継装置テーブルの格納内容の通知が実現される。
 ルータ60のルーティングエンジン部620は、ルータ60の電源(図示略)投入後、所定時間Tが経過した時刻T0において要求フレームをマルチキャストする。このようにしてルータ60からマルチキャストされる要求フレームは、まず、スイッチングハブ50Aによって受信される。スイッチングハブ50Aのスイッチングエンジン部520は、ポート番号=8の通信ポートを介して上記要求フレームを受信し、図3のステップSA130、SA140、SA160およびSA170の処理を実行する。その理由は以下の通りである。本動作例においてスイッチングハブ50Aがルータ60から受信するフレームは要求フレームであり、そのペイロード部のフレーム種別識別子には当該フレームが要求フレームであることを示す値がセットされている。このため、図3のステップSA100の判定結果は“No”になり、同ステップSA120の判定結果は“Yes”になり、同ステップSA150の判定結果も“Yes”になる。したがって、図3のステップSA130、SA140、SA160およびSA170の処理が実行されるのである。
 ステップSA130の処理が実行されるため、ポート番号=8に対応づけてスイッチングハブ50Aの隣接中継装置テーブルに格納されている接続先識別子は、受信フレームに付与されている転送元識別子(すなわち、ルータ60のMACアドレス)によって書き換えられる。また、当該受信フレームの転送元識別子はステップSA140の処理によってスイッチングハブ50AのMACアドレスに書き換えられる。ステップSA160では、ステップSA130の処理による更新後の隣接中継装置テーブルの格納内容を隣接中継装置情報として書き込んだ隣接中継装置通知フレームがスイッチングハブ50Aからルータ60にユニキャストされる。そして、ステップSA170では、ステップSA140の処理によって転送元識別子の書き換えが行われた要求フレームのフラッディングが行われる。前述したように、要求フレームの送信先MACアドレスはマルチキャストアドレスだからである。このようにしてフラッディングされた要求フレームは、スイッチングハブ50Bによって受信される。
 スイッチングハブ50Bのスイッチングエンジン部520も同様に、スイッチングハブ50Aから転送された要求フレームを受信すると、図3のステップSA130、SA140、SA160およびSA170の処理を実行する。より詳細に説明すると、スイッチングハブ50Bのスイッチングエンジン部520は、自装置の隣接中継装置テーブルにおいてポート番号=5に対応する接続先識別子を、スイッチングハブ50Aから転送された要求フレームに付与されている転送元識別子(すなわち、スイッチングハブ50AのMACアドレス)によって書き換え、当該書き換え後の隣接中継装置テーブルの格納内容を隣接中継装置情報として書き込んだ隣接中継装置通知フレームをルータ60にユニキャストする。加えて、スイッチングハブ50Bのスイッチングエンジン部520は、転送元識別子をスイッチングハブ50BのMACアドレスに書き換えた要求フレームのフラッディングを行う。このようにしてフラッディングされた要求フレームはスイッチングハブ50Cおよび50Dによって各々受信される。
 スイッチングハブ50C(或いは50D)のスイッチングエンジン部520も同様に、スイッチングハブ50Bから転送された要求フレームを受信すると、図3のステップSA130、SA140、SA160およびSA170の処理を実行する。より詳細に説明すると、スイッチングハブ50Cは、スイッチングハブ50Bによって転送された要求フレームを受信すると、自装置の隣接中継装置テーブルにおいてポート番号=3に対応する接続先識別子を、スイッチングハブ50Bから転送された要求フレームに付与されている転送元識別子(すなわち、スイッチングハブ50BのMACアドレス)によって書き換え、当該書き換え後の隣接中継装置テーブルの格納内容を隣接中継装置情報として書き込んだ隣接中継装置通知フレームをルータ60にユニキャストする。
 同様に、スイッチングハブ50Dも、隣接中継装置テーブルにおいてポート番号=2に対応する接続先識別子を、スイッチングハブ50BのMACアドレスによって書き換え、当該書き換え後の隣接中継装置テーブルの格納内容を隣接中継装置情報として書き込んだ隣接中継装置通知フレームをルータ60にユニキャストする。なお、スイッチングハブ50Cおよび50Dは、転送元識別子を自装置のMACアドレスに書き換えた要求フレームをフラッディングする処理も行う。しかし、スイッチングハブ50Cおよび50Dよりも下流側にスイッチングハブは接続されていないため、以降、これら要求フレームの転送が行われることはない。
 以上説明したように、ルータ60からマルチキャストされた要求フレームの転送制御を行う過程でスイッチングハブ50A、50B、50C、および50Dの各々の隣接中継装置テーブルの格納内容は図8に示す状態となり、これら各隣接中継装置テーブルの格納内容を隣接中継装置情報として書き込んだ隣接中継装置通知フレームが各スイッチングハブ50からルータ60にユニキャストされる。なお、図8では、各スイッチングハブ50の隣接中継装置テーブルの格納内容が吹き出しで示されている(図9についても同様)。
 次いで、隣接中継装置通知フレームの転送制御に伴って行われる隣接中継装置テーブルの更新について説明する。スイッチングハブ50Bのスイッチングエンジン部520は、スイッチングハブ50Cからルータ60へユニキャストされた隣接中継装置通知フレームを、ポート番号=4の通信ポートを介して受信すると、図3のステップSA130、SA140、およびSA170の処理を実行する。本動作例においてスイッチングハブ50Bがスイッチングハブ50Cから受信するフレームは隣接中継装置通知フレームであり、そのペイロード部のフレーム種別識別子には当該フレームが隣接中継装置通知フレームであることを示す値がセットされている。このため、当該フレームを受信したときにスイッチングエンジン部520が実行する処理(図3のフローチャートに示す処理)では、ステップSA100の判定結果は“No”になる一方、同ステップSA120の判定結果は“Yes”になり、同ステップSA150の判定結果は“No”になる。したがって、図3のステップSA130、SA140、およびSA170の処理が実行されるのである。
 ステップSA130の処理が実行されるため、ポート番号=4に対応付けてスイッチングハブ50Bの隣接中継装置テーブルに格納されている接続先識別子は、受信フレームに付与されている転送元識別子(すなわち、スイッチングハブ50CのMACアドレス)によって書き換えられ、当該受信フレームの転送元識別子はステップSA140の処理によってスイッチングハブ50BのMACアドレスに書き換えられる。そして、ステップSA170では、ステップSA140の処理によって転送元識別子の書き換えが行われた隣接中継装置通知フレームがポート番号=5の通信ポートを介して送出される。スイッチングハブ50Dからルータ60へユニキャストされた隣接中継装置通知フレームを受信した場合についても同様に、スイッチングハブ50Bのスイッチングエンジン部520は、図3のステップSA130、SA140、およびSA170の処理を実行する。その結果、スイッチングハブ50Bの隣接中継装置テーブルにおいてポート番号=6に対応する接続先識別子は受信フレームに付与されている転送元識別子(すなわち、スイッチングハブ50DのMACアドレス)によって書き換えられ、当該受信フレームは転送元識別子の書き換えを経た後に、ポート番号=5の通信ポートを介して送出される。
 スイッチングハブ50Aのスイッチングエンジン部520は、スイッチングハブ50Bから送信された隣接中継装置通知フレーム(或いは、スイッチングハブ50Bによって転送された隣接中継装置通知フレーム)を受信すると、同様に、図3のステップSA130、SA140、およびSA170の処理を実行する。スイッチングハブ50Aは、隣接中継装置テーブルにおいてポート番号=7に対応する接続先識別子を、スイッチングハブ50Bから受信した隣接中継装置通知フレームに付与されている転送元識別子(すなわち、スイッチングハブ50BのMACアドレス)によって書き換え、当該隣接中継装置通知フレームの転送元識別子を自装置のMACアドレスに書き換えてルータ60に転送する。ルータ60は、スイッチングハブ50Aから転送された隣接中継装置通知フレームをポート番号=1の通信ポートを介して受信すると、自装置の隣接中継装置テーブルにおいて当該ポート番号に対応する接続先識別子を当該フレームに付与されている転送元識別子で書き換える。
 以上説明したように、他のスイッチングハブ50からルータ60へ送信された隣接中継装置通知フレームの転送制御を行う過程で、スイッチングハブ50Aおよび50Bの各々の隣接中継装置テーブルの格納内容は図8に示す状態から図9に示す状態へと更新される。
 ここで注目すべき点は、以上に説明した動作において、ルータ60が各スイッチングハブ50から受信する隣接中継装置通知フレームに書き込まれている隣接中継装置情報は、図9に示す隣接中継装置テーブルの格納内容ではなく、図8に示す隣接中継装置テーブルの格納内容に対応しているという点である。図9に示すルータ60の隣接中継装置テーブルの格納内容と図8に示す各スイッチングハブ50の隣接中継装置テーブルの格納内容とでは、ルータ60とスイッチングハブ50Aとの接続関係のみが矛盾なく表されており、他の接続関係には矛盾が生じている。例えば、スイッチングハブ50Aの隣接中継装置テーブルにはスイッチングハブ50BのMACアドレスは格納されていないにもかかわらず、スイッチングハブ50Bの隣接中継装置テーブルにはスイッチングハブ50AのMACアドレスが格納されている、といった具合である。このため、図8に示す状態の各スイッチングハブ50の隣接中継装置テーブルを記憶部630に格納した時点でルータ60に対して探索対象の通信端末が指示されても、前述したステップSB100の判定結果は“Yes”となり、準備中である旨の報知のみが為される。
 そして、時刻T0からさらに所定時間Tが経過すると、ルーティングエンジン部620は、要求フレームをマルチキャストし、各スイッチングハブ50は上記と同様の処理を実行する。時刻T0+Tにおいてルータ60から送信された要求フレームに対する応答として各スイッチングハブ50が返信する隣接中継装置通知フレームの各々には、図9に示す隣接中継装置テーブルの格納内容に対応する隣接中継装置情報が書き込まれている。このため、時刻T0+Tにおいてマルチキャストした要求フレーム(すなわち、時刻T0におけるマルチキャストを1回目とすれば、2回目のマルチキャスト)に対する隣接中継装置通知フレームを受信した時点でルータ60の記憶部630に格納される隣接中継装置テーブル(ルータ60の隣接中継装置テーブルおよび各スイッチングハブ50の隣接中継装置テーブル)は、ルータ60と各スイッチングハブ50の接続関係を矛盾なく表すものとなる。この状態において、探索対象端末が指示されると、ステップSB100の判定結果は“No”となり、ルーティングエンジン部620は、ステップSB110以降の処理を実行する。
<A-2-2:通信端末探索動作>
 次いで、ルータ60および各スイッチングハブ50の隣接中継装置テーブルの格納内容が図9に示す状態となっている状況下で通信端末40Aの探索を行う場合を例にとって、この探索過程においてルータ60およびスイッチングハブ50が実行する動作を説明する。なお、以下に説明する動作の開始時点では、ルータ60のMACアドレス解決のために通信端末40Aから送信されたARPパケットの転送制御によって、ルータ60およびスイッチングハブ50の各々のMACアドレステーブルの格納内容は、図10に示すようになっている。
 図10に示すように、ルータ60のMACアドレステーブルには、通信端末40AのMACアドレスに対応付けてポート番号=1が格納されている。スイッチングハブ50AのMACアドレステーブルには、通信端末40AのMACアドレスに対応付けてポート番号=7が格納されている。スイッチングハブ50BのMACアドレステーブルには、通信端末40AのMACアドレスに対応付けてポート番号=4が格納されている。スイッチングハブ50CのMACアドレステーブルには、通信端末40AのMACアドレスに対応付けてポート番号=7が格納されている。そして、スイッチングハブ50DのMACアドレステーブルには、通信端末40AのMACアドレスに対応付けてポート番号=2が格納されている。
 ルーティングエンジン部620は、操作端末30を介して探索対象端末(すなわち、通信端末40A)を指定されると、記憶部630に格納されている各スイッチングハブ50の隣接中継装置テーブルの格納内容と自装置の隣接中継装置テーブルの格納内容とが表す接続関係に矛盾があるか否かを判定する(ステップSB100)。前述したように、ルータ60および各スイッチングハブ50の隣接中継装置テーブルの格納内容が図9に示す状態となっていれば、これら隣接中継装置テーブルの表す接続関係に矛盾はない。したがって、ステップSB100の判定結果は“No”となり、ステップSB110以降の処理が実行される。図10に示すように、ルータ60のMACアドレステーブルには、通信端末40AのMACアドレスに対応付けてポート番号=1が格納されている。このため、ステップSB110の判定結果は“Yes”になり、ルーティングエンジン部620は、ステップSB120以降の処理を実行する。このステップSB120では、ルーティングエンジン部620は、候補ポート識別子としてポート番号=1を選択し、さらに自装置を候補中継装置として選択する。そして、ステップSB130では、ルーティングエンジン部620は、候補中継装置の隣接中継装置テーブル(すなわち、ルータ60の隣接中継装置テーブル)を検索し、候補ポート識別子に対応する接続先識別子を取得する。
 図9を参照すれば明らかなように、通信端末40Aの探索開始時点では、ルータ60の隣接中継装置テーブルには候補ポート識別子(ポート番号=1)に対応付けてスイッチングハブ50AのMACアドレスが格納されている。このため、ステップSB140の判定結果は“No”となり、ルーティングエンジン部620は、スイッチングハブ50Aを候補中継装置として選択し直して問い合せフレームを送信する(ステップSB150)。つまり、本動作例では、図11に示すように、ルータ60からスイッチングハブ50Aへ宛てて問い合せフレームQ010が送信される。この問い合せフレームQ010のペイロード部には、探索対象識別子として通信端末40AのMACアドレスが書き込まれている。
 スイッチングハブ50Aのスイッチングエンジン部520は、問い合せフレームQ010を受信すると、通信ポート通知フレーム送信処理(図3:ステップSA110)を実行する。スイッチングハブ50AのMACアドレステーブルには通信端末40AのMACアドレスに対応付けてポート番号=7が格納されている(図10参照)。このため、スイッチングハブ50Aのスイッチングエンジン部520は、図11に示すように、接続先ポート識別子としてポート番号=7を書き込んだ通信ポート通知フレームR010をルータ60に返信する。
 ルーティングエンジン部620は、通信ポート通知フレームR010を受信すると、当該通信ポート通知フレームのペイロード部に書き込まれている接続先ポート識別子(すなわち、ポート番号=7)を新たな候補ポート識別子として選択し(図6:ステップSB160)、ステップSB130以降の処理を再度実行する。この時点の候補中継装置はスイッチングハブ50Aであるため、本動作例において2度目に実行するステップSB130の処理では、ルーティングエンジン部620は、候補中継装置の隣接中継装置テーブル(すなわち、スイッチングハブ50Aの隣接中継装置テーブル)を検索し、候補ポート識別子(すなわち、ポート番号=7)に対応する接続先識別子を取得する。
 図9を参照すれば明らかなように、スイッチングハブ50Aの隣接中継装置テーブルには候補ポート識別子(ポート番号=7)に対応付けてスイッチングハブ50BのMACアドレスが格納されている。このため、本動作例において2度目に実行されるステップSB140の判定結果も“No”となり、ルーティングエンジン部620は、スイッチングハブ50Bを候補中継装置として選択し直して問い合せフレームQ020を送信する(図11参照)。仮に、スイッチングハブ50Aの隣接中継装置テーブルとして図9のものではなく、図8のものがルータ60の記憶部630に格納されていたとすれば、図8のスイッチングハブ50Aの隣接中継装置テーブルにおいて、候補ポート識別子(ポート番号=7)に対応付けられている接続先識別子はNULLであり、ステップSB140の判定結果は“Yes”となって、探索対象端末はスイッチングハブ50Aに接続されている旨の報知が為される。しかし、この報知内容が誤りであることは、図1を参照すれば明らかである。ステップSB100の判定は、このような誤判断の発生を回避するために行われるのである。なお、本実施形態では、上記のような誤判断の発生を回避するために、ステップSB100の判定をルーティングエンジン部620に行わせたが、要求フレームのマルチキャストの間隔が充分に短く、要求フレームのマルチキャストが2回行われることに先立って通信端末の探索が行われることがほとんど無い場合、或いは、通信端末の探索を何度か繰り返し行ううちに正しい結果が得られれば充分な場合には、ステップSB100の判定およびその判定結果がYesである場合の報知処理(ステップSB170)を省略しても良い。
 この問い合せフレームQ020のペイロード部には、問い合せフレームQ010と同様に、探索対象識別子として通信端末40AのMACアドレスが書き込まれている。スイッチングハブ50Bにおいては、前述したスイッチングハブ50Aと同様の処理が実行される。より詳細に説明すると、スイッチングハブ50BのMACアドレステーブルには通信端末40AのMACアドレスに対応付けてポート番号=4が格納されている(図10参照)。このため、図11に示すように、スイッチングハブ50Bからルータ60へ宛てて、接続先ポート識別子としてポート番号=4をペイロード部に書き込んだ通信ポート通知フレームR020が送信される。ルーティングエンジン部620は、スイッチングハブ50Bから返信された通信ポート通知フレームR020を受信すると、通信ポート通知フレームR010を受信した場合と同様に、通信ポート通知フレームR020のペイロード部に書き込まれている接続先ポート識別子(すなわち、ポート番号=4)を新たな候補ポート識別子として選択し(図6:ステップSB160)、ステップSB130以降の処理を再度実行する。本動作例において3度目に実行されるステップSB130の処理では、ルーティングエンジン部620は、候補中継装置の隣接中継装置テーブル(すなわち、スイッチングハブ50Bの隣接中継装置テーブル)を検索し、候補ポート識別子(すなわち、ポート番号=4)に対応する接続先識別子を取得する。
 図9を参照すれば明らかなように、スイッチングハブ50Bの隣接中継装置テーブルには候補ポート識別子(ポート番号=4)に対応付けてスイッチングハブ50CのMACアドレスが格納されている。このため、本動作例において3度目に実行されるステップSB140の判定結果も“No”となり、ルーティングエンジン部620は、スイッチングハブ50Cを候補中継装置として選択し直して問い合せフレームQ030を送信する(図11参照)。この問い合せフレームQ030のペイロード部には、問い合せフレームQ010およびQ020と同様に、探索対象識別子として通信端末40AのMACアドレスが書き込まれている。
 スイッチングハブ50Cにおいても、前述したスイッチングハブ50Aおよび50Bと同様の処理が実行される。より詳細に説明すると、スイッチングハブ50CのMACアドレステーブルには通信端末40AのMACアドレスに対応付けてポート番号=7が格納されている(図10参照)。このため、図11に示すように、スイッチングハブ50Cからルータ60へ宛てて、接続先ポート識別子としてポート番号=7をペイロード部に書き込んだ通信ポート通知フレームR030が送信される。ルーティングエンジン部620は、スイッチングハブ50Cから返信された通信ポート通知フレームR030を受信すると、通信ポート通知フレームR010やR020を受信した場合と同様に、通信ポート通知フレームR030のペイロード部に書き込まれている接続先ポート識別子(すなわち、ポート番号=7)を新たな候補ポート識別子として選択し(図6:ステップSB160)、ステップSB130以降の処理を再度実行する。本動作例において4度目に実行されるステップSB130の処理では、ルーティングエンジン部620は、候補中継装置の隣接中継装置テーブル(すなわち、スイッチングハブ50Cの隣接中継装置テーブル)を検索し、候補ポート識別子(すなわち、ポート番号=7)に対応する接続先識別子を取得する。
 図9を参照すれば明らかなように、スイッチングハブ50Cの隣接中継装置テーブルにおいて候補ポート識別子(ポート番号=7)に対応付けられている接続先識別子はNULLである。このため、本動作例において4度目に実行されるステップSB140の判定結果は“Yes”となり、ルーティングエンジン部620は、探索対象端末(すなわち、通信端末40A)はスイッチングハブ50Cに接続されている旨の報知を行う(図6:ステップSB190)。この報知によってLAN1Aの運用管理者は、探索対象端末(通信端末40A)がスイッチングハブ50Cに接続されているということを把握するのである。
 以上説明したように、本実施形態によれば、ルータ60および各スイッチングハブ50間でMACアドレステーブルの受け渡しを行うことなく、ルータ60の配下のネットワーク(すなわち、LAN1A)に収容される通信端末の探索を行うことが可能になる。このように、本実施形態では、ルータ60および各スイッチングハブ50間でMACアドレステーブルの受け渡しは行われないのであるから、ルータ60の配下のネットワークに過剰な負荷がかかることはない。
<B:第2実施形態>
 図12は、本発明の第2実施形態のLAN1Bの構成例を示すブロック図である。
 図12と図1とを対比すれば明らかように、LAN1Bはスイッチングハブ50Bに換えてスイッチングハブ500を有する点と、このスイッチングハブ500に通信端末40Cが接続されている点が、LAN1Aと異なる。スイッチングハブ500は、従来のスイッチングハブであって、受信したフレームの送信先MACアドレスに基づくフレームの転送制御(すなわち、図3のステップSA170の処理)のみを実行する点がスイッチングハブ50と異なる。通信端末40Cは、通信端末40Aや通信端末40Bと同様に一般的なパーソナルコンピュータである。
 LAN1Bにおいては、スイッチングハブ50Aからスイッチングハブ500に転送された要求フレームは転送元識別子を書き換えられることなく、スイッチングハブ50Cおよび50Dに転送される。このため、スイッチングハブ50Cおよび50Dの各々の隣接中継装置テーブルには、スイッチングハブ500が接続されている通信ポートのポート識別子に対応付けて、スイッチングハブ50AのMACアドレスが書き込まれる。
 スイッチングハブ50Cおよび50Dの各々からルータ60へ返信される隣接中継装置通知フレームについても同様に、転送元識別子を書き換えられることなくスイッチングハブ500によってスイッチングハブ50Aに転送される。スイッチングハブ50Aのスイッチングエンジン部520は、スイッチングハブ50Cおよび50Dの各々から送信された隣接中継装置通知フレームを、スイッチングハブ500が接続されている通信ポートを介して受信し、これら隣接中継装置通知フレームを受信する度に隣接中継装置テーブルの格納内容を更新する。つまり、スイッチングハブ50Cおよび50Dの各々から送信される隣接中継装置通知フレームのうち先に受信したものに応じて行われた更新の内容は後から受信したものに応じて行われた更新の内容によって上書きされる。
 このため、例えば、ルータ60から1回目にマルチキャストされた要求フレームに応じてスイッチングハブ50Cおよび50Dの各々が返信する隣接中継装置通知フレームのうち前者が先にスイッチングハブ50Aに到達する場合には、2回目の要求フレームのマルチキャストに応じてスイッチングハブ50Aが返信する隣接中継装置通知フレームに含まれている隣接中継装置情報では、スイッチングハブ500が接続されている通信ポートのポート識別子にはスイッチングハブ50DのMACアドレスのみが対応付けられている。一方、ルータ60がスイッチングハブ50Cから受信する隣接中継装置情報においては、スイッチングハブ500が接続されている通信ポートのポート識別子に対応付けてスイッチングハブ50AのMACアドレスが対応付けられている。つまり、スイッチングハブ50Aとスイッチングハブ50Cとの接続関係に矛盾が生じる。
 これに対して、ルータ60から1回目にマルチキャストされた要求フレームに応じてスイッチングハブ50Cおよび50Dの各々が返信する隣接中継装置通知フレームのうちの後者が先にスイッチングハブ50Aに到達する場合には、2回目の要求フレームのマルチキャストに応じてスイッチングハブ50Aが返信する隣接中継装置通知フレームに含まれている隣接中継装置情報では、スイッチングハブ500が接続されている通信ポートのポート識別子にはスイッチングハブ50CのMACアドレスのみが対応付けられている。一方、ルータ60がスイッチングハブ50Dから受信する隣接中継装置情報においては、スイッチングハブ500が接続されている通信ポートのポート識別子に対応付けてスイッチングハブ50AのMACアドレスが対応付けられている。つまり、スイッチングハブ50Aとスイッチングハブ50Dとの接続関係に矛盾が生じる。このように、スイッチングハブ50Cおよび50Dの各々が返信する隣接中継装置通知フレームのうち何れが先にルータ60に到達したとしても、スイッチングハブ50Aとスイッチングハブ50C(或いは50D)との接続関係に矛盾が生じる。このため、図6のステップSB100の判定結果は常にYesとなり、通信端末の探索を行うことはできないのである。
 もっとも、図6のステップSB100の判定を行わないようにすれば、通信端末40Aまたは通信端末40Bの何れか一方の接続先を特定することは可能である。例えば、スイッチングハブ50Cから送信された隣接中継装置通知フレームの方がスイッチングハブ50Dから送信されたものより先にスイッチングハブ50Aに到達した場合には、通信端末40Bの探索を行うことは可能であるが、通信端末40Aの接続先を正確に特定することはできない。その理由は以下の通りである。
 スイッチングハブ50AのMACアドレステーブルには、通信端末40AのMACアドレスに対応付けてスイッチングハブ500が接続されている通信ポートのポート識別子が格納されている。通信端末40Aから送信されたARPフレームはスイッチングハブ500によるフラッディングを経てスイッチングハブ50Aに到達するからである。このため、ルータ60がスイッチングハブ50Aに探索対象識別子として通信端末40AのMACアドレスを書き込んだ問い合せフレームを送信すると、スイッチングハブ50Aは、スイッチングハブ500が接続されている通信ポートのポート識別子を接続先ポート識別子として書き込んだ通信ポート通知フレームをルータ60に返信する。一方、スイッチングハブ50Aの隣接中継装置テーブルには、前述したように、上記ポート識別子に対応付けてスイッチングハブ50DのMACアドレスが格納されている。このため、ルータ60はスイッチングハブ50Dに探索対象識別子として通信端末40AのMACアドレスを書き込んだ問い合せフレームを送信する。
 スイッチングハブ50DのMACアドレステーブルには、通信端末40AのMACアドレスに対応付けてスイッチングハブ500が接続されている通信ポートのポート識別子が格納されている。前述したように、通信端末40Aから送信されたARPフレームはスイッチングハブ500によるフラッディングを経てスイッチングハブ50Dに到達するからである。このため、スイッチングハブ50Dは、スイッチングハブ500が接続されている通信ポートのポート識別子のポート識別子を接続先ポート識別子として書き込んだ通信ポート通知フレームをルータ60に返信する。スイッチングハブ50Dの隣接中継装置テーブルには、当該ポート識別子に対応付けてスイッチングハブ50AのMACアドレスが格納されているが、スイッチングハブ50Aには既に問い合せフレームを送信済みであり、再度、スイッチングハブ50Aに問い合せフレームを送信したとしても、堂々巡りになるだけである。このように、既に問い合せフレームを送信済みのスイッチングハブ50に対して再度同一の問い合せフレームを送信することとなった場合には、この時点で通信端末の探索を打ち切り、探索対象の通信端末は当該スイッチングハブ50に接続されていると判定することも考えられる。しかし、当該探索対象の通信端末の接続先が正確に特定されていないことは言うまでもない。これが、スイッチングハブ50Cから送信された隣接中継装置通知フレームの方がスイッチングハブ50Dから送信されたものより先にスイッチングハブ50Aに到達した場合には、通信端末40Aの接続先を正確に特定することができない理由である。同様の理由により、スイッチングハブ50Dから送信された隣接中継装置通知フレームの方がスイッチングハブ50Cから送信されたものより先にスイッチングハブ50Aに到達した場合には、通信端末40Bの接続先を正確に特定することはできない。同様に、スイッチングハブ500に接続されている通信端末40Cの探索を行うこともできない。
 このように、ルータ60の配下のネットワークに従来のスイッチングハブが含まれている場合には、従来のスイッチングハブに接続されている通信端末を探索することはできないものの、スイッチングハブ50に接続されている通信端末の探索についてはその探索を全く行えないという訳ではない。また、上述したような堂々巡りが発生した場合には、その発生を根拠に、その発生箇所に1乃至複数台の従来のスイッチングハブが存在している可能性があると類推することもできる。
 ルータ60の配下のネットワークに含まれるスイッチングハブの全てが従来のものであれば、当該ネットワークに収容される通信端末の探索を全く行えないことは言うまでもないが、LAN1Bを構成する複数のスイッチングハブのなかに本発明に係るスイッチングハブ50が少なくとも1台含まれていれば、当該スイッチングハブ50に接続されている通信端末の探索を行うことはできる。なお、本実施形態においても、ルータ60および各スイッチングハブ50間でMACアドレステーブルの受け渡しは行われないのであるから、ルータ60の配下のネットワークに過剰な負荷がかかることはない。
<C:変形>
 以上、本発明の第1および第2実施形態について説明したが、これら各実施形態に以下に述べる変形を加えても勿論良い。
(1)上述した各実施形態では、要求フレームのマルチキャストを所定時間間隔で周期的にルータ60に実行させる一方、スイッチングハブ50には、要求フレームの受信を契機として隣接中継装置通知フレームをルータ60に返信させた。しかし、周期的なマルチキャストに加えて(或いは、周期的なマルチキャストに換えて)、予め定められた所定種類のパケットの受信を契機としてルータ60に要求フレームをマルチキャストさせても良い。
 例えば、自装置のMACアドレス解決のためにARPパケットを受信したことを契機としてルータ60に要求フレームを送信させるのである。新たにARPパケットを受信したということは、ルータ60の配下のネットワークに新たな通信端末が接続されたことを意味する。このように新たな通信端末が追加接続される場合には、既存のスイッチングハブ50に対して新たなスイッチングハブ50を接続し、当該新たなスイッチングハブ50に当該新たな通信端末が接続される場合もある。新たなARPパケットの受信を契機としてルータ60に要求フレームを送信させるようにすれば、新たな通信端末の接続に伴って新たなスイッチングハブ50が追加されるような場合であっても、迅速に当該新たな通信端末の探索を行うことが可能になる。なお、上記各実施形態のように、ルータ60がDHCPサーバの役割を兼ねている場合には、IPアドレスの割り当てを要求する旨のパケットを配下の通信端末から受信したことを契機として要求フレームをマルチキャストさせても良い。
(2)上述した各実施形態では、要求フレームの受信を契機としてスイッチングハブ50に隣接中継装置通知フレームを送信させた。しかし、所定時間間隔で周期的に隣接中継装置通知フレームをスイッチングハブ50に送信させるようにしても良い。このように、隣接中継装置通知フレームを周期的にスイッチングハブ50に送信させる態様においては、ルータ60から要求フレームをマルチキャストする必要はなく、ルータ60から配下のLANに向けてマルチキャストするフレームのうちの予め定められた一部のものに転送元識別子を付与してマルチキャストさせるようにすれば良い。各スイッチングハブ50に上流側(ルータ60に近い側)の隣接中継装置のMACアドレスを隣接中継装置テーブルに格納させるためである。
(3)上述した各実施形態では、新たな候補中継装置の選択をルータ60に行わせたが、スイッチングハブ50に行わせることも可能である。具体的には、問い合せフレームを受信した場合に、スイッチングエンジン部520に以下の処理を行わせるのである。すなわち、スイッチングエンジン部520は、問い合せフレームのペイロード部に書き込まれている探索対象識別子を検索キーとして自装置のMACアドレステーブルを検索し、当該探索対象識別子に対応付けてMACアドレステーブルに格納されているポート識別子を取得する。次いで、スイッチングエンジン部520は、上記ポート識別子を検索キーとして自装置のMACアドレステーブルを検索し、当該ポート識別子に対応する接続先識別子を取得する。そして、スイッチングエンジン部520は、この接続先識別子をペイロード部に書き込んだ通信ポート通知フレームをルータ60にユニキャストするのである。そして、ルータ60には、上記通信ポート通知フレームのペイロード部に書き込まれている接続先識別子がNULLであれば、探索対象端末は当該通信ポート通知フレームの送信元のスイッチングハブ50に接続されていると判定してその旨を報知する処理を実行させ、逆に上記接続先識別子がNULL以外の値であれば、当該接続先識別子の示すスイッチングハブ50を新たな候補中継装置として問い合せフレームを送信する処理を実行させるのである。このような態様においては、各スイッチングハブ50の隣接中継装置テーブルをルータ60に記憶させておくことは必須ではない。しかし、各スイッチングハブ50の隣接中継装置テーブルの格納内容が相互に矛盾しているか否かをルーティングエンジン部620に判定させる(すなわち、通信端末の探索が可能であるか否かを判定させる)ために、各スイッチングハブ50の隣接中継装置テーブルをルータ60に記憶させるようにしても勿論良い。ただし、このような態様では、スイッチングハブ50における処理負荷が隣接中継装置テーブルの検索を行う分だけ上記各実施形態に比較して高くなるため、スイッチングハブ50として充分に処理能力の高いものを用いる必要があることは言うまでもない。
(4)上述した各実施形態では、要求フレームを受信するたびに隣接中継装置情報をペイロード部に書き込んだ隣接中継装置通知フレームを各スイッチングハブ50に返信させた。しかし、N(自然数)回目の要求フレームの受信からN+1回目の要求フレームの受信までの間に隣接中継装置テーブルの格納内容に変化がない場合には、当該N+1回目に受信した要求フレームに対して応答する際に、隣接中継装置情報に換えて隣接中継装置情報に変化がないことを示すデータをペイロード部に書き込んだ隣接中継装置通知フレームを返信させるようにしても良い。なお、隣接中継装置情報に変化がないことを示すデータがペイロード部に書き込まれた隣接中継装置通知フレームを受信した場合には、ルーティングエンジン部620に隣接中継装置情報の上書き更新を行わせる必要がないことは言うまでも無い。
(5)上述した各実施形態では、ルータ60がDHCPサーバ機能とDNSサーバ機能とを有していた。しかし、ルータ60の配下のネットワーク内に当該ルータ60とは別個のDHCPサーバおよびDNSサーバが設けられており、ルータ60からこれらサーバに対してアクセス可能な態様であれば、ルータ60がDHCPサーバ機能およびDNSサーバ機能を有する必要はない。つまり、本発明のルータにとってDHCPサーバ機能とDNSサーバ機能は必須ではない。また、上述した各実施形態では、ルータ60が有するDHCPサーバ機能によって動的に各通信端末40にIPアドレスを割り振ったが、各通信端末40にIPアドレスを固定的に割り振っておいても勿論良い。各通信端末40にIPアドレスが固定的に割り振られ、かつ固定的に割り振られたIPアドレスによって探索対象端末が指定される場合であっても、ARPを利用することで、当該IPアドレスから同通信端末のMACアドレスを求めることは可能だからである。また、上述した各実施形態では、第2層において各通信装置を一意に識別するためのハードウェア識別子としてMACアドレスを用いたが、MACアドレスとは異なる新たなハードウェア識別子を定義し、当該識別子を用いるようにしても良い。
(6)上述した各実施形態では、本発明のスイッチングハブの特徴を顕著に示すフレーム転送制御処理、隣接中継装置通知フレーム送信処理、および通信ポート通知フレーム送信処理をソフトウェアにより実現した。しかし、フレーム転送制御処理を実行するフレーム転送制御手段、隣接中継装置通知フレーム送信処理を実行する隣接中継装置通知手段、および通信ポート通知フレーム送信処理を実行する通信ポート通知手段の各々を電子回路などのハードウェアで構成し、スイッチングエンジン部520に換えてこれら各手段を組み込んでスイッチングハブ50を構成しても勿論良い。ルータ60についても、同様に、マルチキャスト処理、隣接中継装置記憶処理、および端末探索処理の各処理を電子回路などのハードウェアによって実現しても勿論良い。
(7)上述した各実施形態では、フレームのペイロード部に書き込まれているフレーム種別識別子に基づいて(或いは、ヘッダ部の種別識別子とペイロード部のフレーム種別識別子とに基づいて)、当該フレームが隣接中継装置情報収集用のものであるか否かを判定したが、転送元識別子が付与されているか否かによって当該判定を行っても良い。例えば、第2層における既存の通信プロトコルにしたがって送受信されるフレームを利用して隣接中継装置情報を収集する際には、フレーム種別識別子に基づいて(或いは、ヘッダ部の種別識別子とペイロード部のフレーム種別識別子とに基づいて)上記判定を行うことはできないからである。なお、既存の通信プロトコルにしたがって送受信されるフレームを利用する態様においては、当該フレームのヘッダ部の空き領域に転送元識別子(或いは転送元識別子と隣接中継装置情報)を書き込むようにすれば良い。
 本出願は、2011年2月18日出願の日本特許出願(特願2011-033919)に基づくものであり、その内容はここに参照として取り込まれる。
 1A,1B…LAN、30…操作端末、40A,40B,40C…通信端末、50A,50B,50C,50D,500…スイッチングハブ、60…ルータ、510,610…通信I/F部、520…スイッチングエンジン部、530,630…記憶部、620…ルーティングエンジン部。

Claims (11)

  1.  中継装置としてのルータと、前記ルータの配下のネットワークに含まれる中継装置としての1または複数のスイッチングハブとを含む通信システムにおいて、
     前記1または複数のスイッチングハブのうち少なくとも1つのスイッチングハブと前記ルータの各々は、
     自装置へ宛ててフレームの送信を行った通信端末を一意に識別するハードウェア識別子と当該フレームを受信した通信ポートのポート識別子とを対応付けて格納するアドレステーブルと、
     通信ポートのポート識別子に対応付けて当該通信ポートを介して受信したフレームの転送元の中継装置のハードウェア識別子を格納する隣接中継装置テーブルと、を有し、
     前記ルータは、
     前記少なくとも1つのスイッチングハブから当該隣接中継装置テーブルの格納内容を取得し記憶する隣接中継装置情報記憶処理手段と、
     探索対象の通信端末を示すハードウェア識別子または当該ハードウェア識別子に一意に変換される他の識別子を基に、前記ルータにおいて当該通信端末に対応する通信ポートを前記ルータのアドレステーブルの格納内容から特定する通信ポート特定手段と、
     前記通信ポート特定手段により特定された通信ポートにスイッチングハブが接続されているか否かを前記ルータの前記隣接中継装置テーブルの格納内容を参照して判定し、当該通信ポートの接続先はスイッチングハブではないと判定される場合には、前記探索対象の通信端末は前記ルータに接続されている旨の報知を行う第1の接続中継装置判定手段と、
     前記通信ポート特定手段によって特定された通信ポートの接続先はスイッチングハブであると前記第1の接続中継装置判定手段によって判定された場合には、当該スイッチングハブを前記探索対象の通信端末の接続先の候補として選択する接続先候補選択手段と、
     前記接続先候補選択手段によって選択されたスイッチングハブに対して、当該スイッチングハブにおいて前記探索対象の通信端末に対応する通信ポートを問い合せる問合せ手段と、
     前記問合せ手段による問い合せ先のスイッチングハブから返答された通信ポートの接続先が他のスイッチングハブであるか否かを、当該問い合せ先のスイッチングハブから前記隣接中継装置情報記憶手段によって取得した隣接中継装置テーブルの格納内容を参照して判定し、当該通信ポートの接続先が他のスイッチングハブではない場合には、前記探索対象の通信端末は当該問い合せ先のスイッチングハブに接続されている旨の報知を行う一方、当該通信ポートの接続先が他のスイッチングハブである場合には、当該他のスイッチングハブを新たな候補として選択し直し、前記問合せ手段による処理を行う第2の接続中継装置判定手段と、を有し、
     前記少なくとも1つのスイッチングハブは、
     前記少なくとも1つのスイッチングハブの前記隣接中継装置テーブルの格納内容を前記ルータへ通知する隣接中継装置通知手段と、
     前記ルータの問合せ手段による問い合せに応じて、当該問い合せにかかる通信端末に対応する通信ポートを前記少なくとも1つのスイッチングハブのアドレステーブルの格納内容から特定して返信する通信ポート通知手段と、を有する
     ことを特徴とする通信システム。
  2.  前記ハードウェア識別子はMAC(Media Access Control)アドレスであり、前記ハードウェア識別子に一意に変換される他の識別子はIP(Internet Protocol)アドレスであり、
     前記ルータは、配下のネットワークに収容される通信端末に対してIPアドレスの割り当てを行うとともに、当該IPアドレスと当該通信端末のMACアドレスとの相互変換を行うDHCP(Dynamic Host Configuration Protocol)サーバ手段を有しており、
     前記通信ポート特定手段は、探索対象の通信端末のIPアドレスを前記DHCPサーバ手段によってMACアドレスに変換し、当該MACアドレスと前記ルータのアドレステーブルの格納内容とから当該通信端末に対応する通信ポートを特定する
     ことを特徴とする請求項1に記載の通信システム。
  3.  前記ハードウェア識別子はMAC(Media Access Control)アドレスであり、前記ハードウェア識別子に一意に変換される他の識別子はホスト名であり、
     前記ルータは、配下のネットワークに収容される通信端末に対してIP(Internet Protocol)アドレスの割り当てを行うとともに、当該IPアドレスと当該通信端末のMACアドレスとの相互変換を行うDHCP(Dynamic Host Configuration Protocol)サーバ手段と、当該通信端末のホスト名とIPアドレスとの相互変換を行うDNS(Domain Name System)サーバ手段と、を有しており、
     前記アドレス参照手段は、探索対象の通信端末のホスト名を前記DNSサーバ手段によってIPアドレスに変換し、さらに、当該IPアドレスを前記DHCPサーバ手段によってMACアドレスに変換し、当該MACアドレスと前記ルータのアドレステーブルの格納内容とから当該通信端末に対応する通信ポートを特定する
     ことを特徴とする請求項1に記載の通信システム。
  4.  前記1または複数のスイッチングハブには、前記隣接中継装置テーブルを有さないスイッチングハブが含まれる
     ことを特徴とする請求項1乃至3のいずれかに記載の通信システム。
  5.  中継装置としてのルータと、前記ルータの配下のネットワークに含まれる中継装置としての1または複数のスイッチングハブとを含む通信システムにおいて、
     前記1または複数のスイッチングハブのうち少なくとも1つのスイッチングハブと前記ルータの各々は、
     自装置へ宛ててフレームの送信を行った通信端末を一意に識別するハードウェア識別子と当該フレームを受信した通信ポートのポート識別子とを対応付けて格納するアドレステーブルと、
     通信ポートのポート識別子に対応付けて当該通信ポートを介して受信したフレームの転送元の中継装置のハードウェア識別子を格納する隣接中継装置テーブルと、を有し、
     前記ルータは、
     探索対象の通信端末を示すハードウェア識別子または当該ハードウェア識別子に一意に変換される他の識別子を基に、前記ルータにおいて当該通信端末に対応する通信ポートを前記ルータのアドレステーブルの格納内容から特定する第1の通信ポート特定手段と、
     前記第1の通信ポート特定手段により特定された通信ポートにスイッチングハブが接続されているか否かを前記ルータの前記隣接中継装置テーブルの格納内容を参照して判定し、当該通信ポートの接続先はスイッチングハブではないと判定される場合には、前記探索対象の通信端末は前記ルータに接続されている旨の報知を行う第1の接続中継装置判定手段と、
     前記第1の通信ポート特定手段によって特定された通信ポートの接続先はスイッチングハブであると前記第1の接続中継装置判定手段によって判定された場合には、当該スイッチングハブを前記探索対象の通信端末の接続先の候補として選択する接続先候補選択手段と、
     前記接続先候補選択手段によって選択されたスイッチングハブに対して前記探索対象の通信端末の接続の有無を問い合せる問合せ手段と、
     前記問合せ手段の問い合せ先のスイッチングハブから前記探索対象の通信端末を接続している旨の返答があった場合には、前記探索対象の通信端末の接続先は当該スイッチングハブである旨の報知を行う一方、他のスイッチングハブを新たな問い合せ先とすべき旨の返答があった場合には、当該他のスイッチングハブを前記探索対象の通信端末の接続先の候補として選択し直して前記問合せ手段による処理を行う第2の接続中継装置判定手段と、を有し、
     前記少なくとも1つのスイッチングハブは、
     前記ルータからの問い合せに応じて、当該問い合せにかかる通信端末に対応する通信ポートを前記少なくとも1つのスイッチングハブのアドレステーブルの格納内容から特定する第2の通信ポート特定手段と、
     前記第2の通信ポート特定手段により特定された通信ポートに他のスイッチングハブが接続されているか否かを前記少なくとも1つのスイッチングハブの隣接中継装置テーブルの格納内容に基づいて判定し、他のスイッチングハブが接続されていると判定される場合には、当該他のスイッチングハブを新たな問い合せ先とすべき旨を前記ルータに返答し、他のスイッチングハブが接続されていないと判定される場合には、前記探索対象の通信端末は前記少なくとも1つのスイッチングハブに接続されている旨を前記ルータに返答する問合せ判定手段と、を有する
     ことを特徴とする通信システム。
  6.  配下のネットワークに中継装置としてのスイッチングハブを有し、該ネットワークと他のネットワークとを接続する中継装置としてのルータであって、
     複数の通信ポートを備えた通信インタフェース部と、
     前記ルータへ宛ててフレームの送信を行った通信端末を一意に識別するハードウェア識別子と当該フレームを受信した通信ポートのポート識別子とを対応付けて格納するアドレステーブルと、
     前記複数の通信ポートの各々のポート識別子に対応付けて当該通信ポートを介して受信したフレームの転送元の中継装置のハードウェア識別子を格納する隣接中継装置テーブルと、
     前記ルータと同種のアドレステーブルおよび隣接中継装置テーブルを有するスイッチングハブから該スイッチングハブの隣接中継装置テーブルの格納内容を取得し記憶する記憶手段と、
     探索対象の通信端末を示すハードウェア識別子または当該ハードウェア識別子に一意に変換される他の識別子を基に、当該通信端末に対応する通信ポートを前記アドレステーブルの格納内容から特定する通信ポート特定手段と、
     前記通信ポート特定手段にて特定された通信ポートの接続先が前記配下のネットワークに含まれるスイッチングハブであるか否かを、前記隣接中継装置テーブルの格納内容に基づいて判定し、スイッチングハブではないと判定される場合には、前記探索対象の通信端末は前記ルータに接続されている旨の報知を行う第1の接続中継装置判定手段と、
     前記通信ポート特定手段にて特定された通信ポートの接続先がスイッチングハブであると前記第1の接続中継装置判定手段によって判定された場合には、当該スイッチングハブを前記探索対象の通信端末の接続先の候補として選択する接続先候補選択手段と、
     前記接続中継装置判定手段にて選択されたスイッチングハブに対して、前記探索対象の通信端末に対応する通信ポートを問い合せる問合せ手段と、
     前記問合せ手段の問い合せ先のスイッチングハブから返答された通信ポートの接続先が他のスイッチングハブであるか否かを、前記記憶手段に記憶されている当該スイッチングハブについての前記隣接中継装置テーブルの格納内容を参照して判定し、当該通信ポートの接続先が他のスイッチングハブではない場合には、前記探索対象の通信端末は当該問い合せ先のスイッチングハブに接続されている旨の報知を行う一方、当該通信ポートの接続先が他のスイッチングハブである場合には、当該他のスイッチングハブを新たな候補として選択し直して前記問合せ手段による処理を行う第2の接続中継装置判定手段と、
     を有することを特徴とするルータ。
  7.  中継装置としてのルータ配下のネットワークに含まれる、中継装置としてのスイッチングハブであって、
     複数の通信ポートを備えた通信インタフェース部と、
     前記スイッチングハブへ宛ててフレームの送信を行った通信端末を一意に識別するハードウェア識別子と当該フレームを受信した通信ポートのポート識別子とを対応付けて格納するアドレステーブルと、
     前記複数の通信ポートの各々のポート識別子に対応付けて当該通信ポートを介して受信したフレームの転送元の中継装置のハードウェア識別子を格納する隣接中継装置テーブルと、
     前記隣接中継装置テーブルの格納内容を前記ルータに通知する隣接中継装置通知手段と、
     前記ルータから送信された問い合せフレームであって、探索対象の通信端末のハードウェア識別子を内包し当該通信端末から送信されたフレームの受信ポートを問い合せる旨の問い合せフレームを受信したことを契機として、該当する通信ポートを前記アドレステーブルの格納内容から特定してその特定結果を前記ルータに返答する通信ポート通知手段と、
     を有することを特徴とするスイッチングハブ。
  8.  配下のネットワークに中継装置としてのスイッチングハブを有し、該ネットワークと他のネットワークとを接続する中継装置としてのルータにおける通信方法であって、
     前記ルータへ宛ててフレームの送信を行った通信端末を一意に識別するハードウェア識別子と当該フレームを受信した通信ポートのポート識別子とを対応付けて格納するアドレステーブルを記憶するとともに、各通信ポートのポート識別子に対応付けて当該通信ポートを介して受信したフレームの転送元の中継装置のハードウェア識別子を格納する隣接中継装置テーブルを記憶し、
     前記ルータと同種のアドレステーブルおよび隣接中継装置テーブルを有するスイッチングハブから該スイッチングハブの隣接中継装置テーブルの格納内容を取得して記憶する記憶ステップと、
     探索対象の通信端末を示すハードウェア識別子または当該ハードウェア識別子に一意に変換される他の識別子を基に、当該通信端末に対応する通信ポートを前記ルータのアドレステーブルの格納内容から特定する通信ポート特定ステップと、
     前記通信ポート特定ステップにて特定された通信ポートの接続先が前記配下のネットワークに含まれるスイッチングハブであるか否かを、前記隣接中継装置テーブルの格納内容に基づいて判定し、スイッチングハブではないと判定される場合には、前記探索対象の通信端末は前記ルータに接続されている旨の報知を行う第1の接続中継装置判定ステップと、
     前記通信ポート特定ステップにて特定された通信ポートの接続先がスイッチングハブであると前記第1の接続中継装置判定ステップにて判定された場合には、当該スイッチングハブを前記探索対象の通信端末の接続先の候補として選択する接続先候補選択ステップと、
     前記接続先候補選択ステップにて選択されたスイッチングハブに対して、前記探索対象の通信端末に対応する通信ポートを問い合せる問合せステップと、
     前記問合せステップの問い合せ先のスイッチングハブから返答された通信ポートの接続先が他のスイッチングハブであるか否かを、当該問い合せ先のスイッチングハブについての前記隣接中継装置テーブルの格納内容を参照して判定し、当該通信ポートの接続先が他のスイッチングハブではない場合には、前記探索対象の通信端末は当該問い合せ先のスイッチングハブに接続されている旨の報知を行う一方、当該通信ポートの接続先が他のスイッチングハブである場合には、当該他のスイッチングハブを新たな候補として選択し直して前記問合せステップを行う第2の接続中継装置判定ステップと、
     を実行させることを特徴とする通信方法。
  9.  中継装置としてのルータ配下のネットワークに含まれる、中継装置としてのスイッチングハブにおける通信方法であって、
     前記スイッチングハブに宛ててフレームの送信を行った通信端末を一意に識別するハードウェア識別子と当該フレームを受信した通信ポートのポート識別子とを対応付けてを格納するアドレステーブルを記憶するとともに、各通信ポートのポート識別子に対応付けて当該通信ポートを介して受信したフレームの転送元の中継装置のハードウェア識別子を格納する隣接中継装置テーブルを記憶し、
     前記隣接中継装置テーブルの格納内容を前記ルータに通知し、
     前記ルータから送信された問い合せフレームであって、探索対象の通信端末のハードウェア識別子を内包し当該通信端末から送信されたフレームの受信ポートを問い合せる旨の問い合せフレームを受信したことを契機として、該当する通信ポートを前記アドレステーブルの格納内容から特定してその特定結果を前記ルータに返答する
     ことを特徴とする通信方法。 
  10.  中継装置としてのルータと、前記ルータの配下のネットワークに含まれる中継装置としての1または複数のスイッチングハブとを含む通信システムにおける通信方法であって、
     前記1または複数のスイッチングハブのうち少なくとも1つのスイッチングハブと前記ルータの各々に、自装置へ宛ててフレームの送信を行った通信端末を一意に識別するハードウェア識別子と当該フレームを受信した通信ポートのポート識別子とを対応付けて格納するアドレステーブルと、通信ポートのポート識別子に対応付けて当該通信ポートを介して受信したフレームの転送元の中継装置のハードウェア識別子を格納する隣接中継装置テーブルと、を記憶させるテーブル記憶ステップと、
     前記スイッチングハブによって記憶された隣接中継装置テーブルの格納内容を、前記スイッチングハブから前記ルータに送信し、前記ルータに記憶させる隣接中継装置情報記憶処理ステップと、
     探索対象の通信端末を示すハードウェア識別子または当該ハードウェア識別子に一意に変換される他の識別子を基に、前記ルータにおいて当該通信端末に対応する通信ポートを前記ルータのアドレステーブルの格納内容から特定する通信ポート特定ステップと、
     前記通信ポート特定ステップにより特定された通信ポートにスイッチングハブが接続されているか否かを前記ルータの前記隣接中継装置テーブルの格納内容を参照して判定し、当該通信ポートの接続先はスイッチングハブではないと判定される場合には、前記探索対象の通信端末は前記ルータに接続されている旨の報知を行う第1の接続中継装置判定ステップと、
     前記通信ポート特定ステップによって特定された通信ポートの接続先はスイッチングハブであると前記第1の接続中継装置判定ステップによって判定された場合には、当該スイッチングハブを前記探索対象の通信端末の接続先の候補として選択する接続先候補選択ステップと、
     前記接続先候補選択ステップによって選択されたスイッチングハブに対して、当該スイッチングハブにおいて前記探索対象の通信端末に対応する通信ポートを問い合せる問合せステップと、
     前記ルータの問合せステップによる問い合せに応じて、当該問い合せにかかる通信端末に対応する通信ポートを前記スイッチングハブのアドレステーブルの格納内容から特定して前記ルータに返信する通信ポート通知ステップと、
     前記通信ポート通知ステップにおいて返答された通信ポートの接続先が他のスイッチングハブであるか否かを、当該問い合せ先のスイッチングハブから前記隣接中継装置情報記憶ステップによって取得した隣接中継装置テーブルの格納内容を参照して判定し、当該通信ポートの接続先が他のスイッチングハブではない場合には、前記探索対象の通信端末は当該問い合せ先のスイッチングハブに接続されている旨の報知を行う一方、当該通信ポートの接続先が他のスイッチングハブである場合には、当該他のスイッチングハブを新たな候補として選択し直し、前記問合せステップによる処理を行う第2の接続中継装置判定ステップと、を有する
     ことを特徴とする通信方法。
  11.  中継装置としてのルータと、前記ルータの配下のネットワークに含まれる中継装置としての1または複数のスイッチングハブとを含む通信システムにおける通信方法であって、
     前記1または複数のスイッチングハブのうち少なくとも1つのスイッチングハブと前記ルータの各々に、自装置へ宛ててフレームの送信を行った通信端末を一意に識別するハードウェア識別子と当該フレームを受信した通信ポートのポート識別子とを対応付けて格納するアドレステーブルと、通信ポートのポート識別子に対応付けて当該通信ポートを介して受信したフレームの転送元の中継装置のハードウェア識別子を格納する隣接中継装置テーブルと、を記憶させるテーブル記憶ステップと、
     探索対象の通信端末を示すハードウェア識別子または当該ハードウェア識別子に一意に変換される他の識別子を基に、前記ルータにおいて当該通信端末に対応する通信ポートを前記ルータのアドレステーブルの格納内容から特定する第1の通信ポート特定ステップと、
     前記第1の通信ポート特定ステップにより特定された通信ポートにスイッチングハブが接続されているか否かを前記ルータの前記隣接中継装置テーブルの格納内容を参照して判定し、当該通信ポートの接続先はスイッチングハブではないと判定される場合には、前記探索対象の通信端末は前記ルータに接続されている旨の報知を行う第1の接続中継装置判定ステップと、
     前記第1の通信ポート特定ステップによって特定された通信ポートの接続先はスイッチングハブであると前記第1の接続中継装置判定ステップによって判定された場合には、当該スイッチングハブを前記探索対象の通信端末の接続先の候補として選択する接続先候補選択ステップと、
     前記接続先候補選択ステップによって選択されたスイッチングハブに対して、当該スイッチングハブにおいて前記探索対象の通信端末に対応する通信ポートを問い合せる問合せステップと、
     前記問合せステップによる前記ルータからの問い合せに応じて、当該問い合せにかかる通信端末に対応する通信ポートを前記スイッチングハブのアドレステーブルの格納内容から特定する第2の通信ポート特定ステップと、
     前記第2の通信ポート特定ステップにより特定された通信ポートに他のスイッチングハブが接続されているか否かを前記スイッチングハブの隣接中継装置テーブルの格納内容に基づいて判定し、他のスイッチングハブが接続されていると判定される場合には、当該他のスイッチングハブを新たな問い合せ先とすべき旨を前記ルータに返答し、他のスイッチングハブが接続されていないと判定される場合には、前記探索対象の通信端末は前記スイッチングハブに接続されている旨を前記ルータに返答する問合せ判定ステップと、
     前記問合せステップの問い合せ先のスイッチングハブから前記探索対象の通信端末を接続している旨の返答があった場合には、前記探索対象の通信端末の接続先は当該スイッチングハブである旨の報知を行う一方、他のスイッチングハブを新たな問い合せ先とすべき旨の返答があった場合には、当該他のスイッチングハブを前記探索対象の通信端末の接続先の候補として選択し直して前記問合せステップによる処理を行う第2の接続中継装置判定ステップと、を有する
     ことを特徴とする通信方法。
PCT/JP2012/053889 2011-02-18 2012-02-17 通信システム、ルータ、スイッチングハブ、および通信方法 WO2012111833A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201280009491.5A CN103503383B (zh) 2011-02-18 2012-02-17 通信***、路由器、交换式集线器及通信方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2011033919A JP5691612B2 (ja) 2011-02-18 2011-02-18 通信システム、ルータ、スイッチングハブ、およびプログラム
JP2011-033919 2011-02-18

Publications (1)

Publication Number Publication Date
WO2012111833A1 true WO2012111833A1 (ja) 2012-08-23

Family

ID=46672743

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2012/053889 WO2012111833A1 (ja) 2011-02-18 2012-02-17 通信システム、ルータ、スイッチングハブ、および通信方法

Country Status (3)

Country Link
JP (1) JP5691612B2 (ja)
CN (1) CN103503383B (ja)
WO (1) WO2012111833A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109842591B (zh) * 2017-11-27 2021-08-13 北京聚利科技有限公司 集线器间通信的方法及用于集线器间通信的***
CN113364891B (zh) * 2020-03-03 2023-07-18 瑞昱半导体股份有限公司 网络通信装置以及网络映像表的操作方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11122284A (ja) * 1997-10-15 1999-04-30 Toshiba Corp ネットワーク管理システム及び管理プログラムを記録した記録媒体
JP2001320393A (ja) * 2000-05-02 2001-11-16 Melco Inc 集線装置およびこれを用いたネットワーク管理装置
JP2005236893A (ja) * 2004-02-23 2005-09-02 Nippon Telegr & Teleph Corp <Ntt> 端末位置検知装置、端末位置検知方法、端末位置検知プログラム、および記録媒体

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW586285B (en) * 2001-12-31 2004-05-01 Inventec Corp System and method for identifying user's physical location
US7734760B2 (en) * 2003-02-14 2010-06-08 Intel Corporation Estimating the location of a network client using a media access control address
JP4256834B2 (ja) * 2004-11-16 2009-04-22 株式会社日立製作所 不正機器の接続位置特定装置および接続位置特定方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11122284A (ja) * 1997-10-15 1999-04-30 Toshiba Corp ネットワーク管理システム及び管理プログラムを記録した記録媒体
JP2001320393A (ja) * 2000-05-02 2001-11-16 Melco Inc 集線装置およびこれを用いたネットワーク管理装置
JP2005236893A (ja) * 2004-02-23 2005-09-02 Nippon Telegr & Teleph Corp <Ntt> 端末位置検知装置、端末位置検知方法、端末位置検知プログラム、および記録媒体

Also Published As

Publication number Publication date
CN103503383B (zh) 2016-08-10
JP2012175294A (ja) 2012-09-10
CN103503383A (zh) 2014-01-08
JP5691612B2 (ja) 2015-04-01

Similar Documents

Publication Publication Date Title
US10708856B2 (en) Gateway advertisement in a wireless mesh
US7181503B2 (en) Apparatus and method of searching for DNS server in outernet
US6507873B1 (en) Network address assigning system
US8457014B2 (en) Method for configuring control tunnel and direct tunnel in IPv4 network-based IPv6 service providing system
US8385230B2 (en) Automatic network address assignment in a wireless mesh
US7486670B2 (en) Method for packet communication and computer program stored on computer readable medium
US20070091908A1 (en) Communication device and communication control method using efficient echonet address determination scheme
US7356016B2 (en) System and method for deleting tunnelling in connection between mobile node and correspondent node
US10255621B2 (en) Services advertisement in a wireless mesh
KR20060084749A (ko) 모바일 네트워크 시스템에서 멀티캐스트를 이용한핸드오버 방법
JP2004193844A (ja) 移動端末を収容できるパケット転送装置
JP2004515967A (ja) ネットワークエンドデバイスの物理的ロケーションを自動的に識別するシステム
CN104618243A (zh) 路由方法、装置及***、网关调度方法及装置
JP2003258838A (ja) 通信装置およびネットワークシステム
JP3806094B2 (ja) ルータ装置、ネットワークアドレス管理システム、ネットワークアドレス管理方法及びネットワークアドレス管理プログラム
CN101888338A (zh) 信息转发方法及网关
CN109413226A (zh) 一种实现零代理ip快速漫游的***及方法
JP4292897B2 (ja) 中継装置とポートフォワード設定方法
JP5691612B2 (ja) 通信システム、ルータ、スイッチングハブ、およびプログラム
JP5750933B2 (ja) 通信システム、スイッチングハブ、ルータおよびプログラム
CN103931218B (zh) 用于数据传输的方法和本地网络实体
CN104935677A (zh) 一种nat64资源获取方法及获取/分配装置
Park et al. DNS configuration in IPv6: approaches, analysis, and deployment scenarios
WO2008069504A1 (en) Method for configuring control tunnel and direct tunnel in ipv4 network-based ipv6 service providing system
CN102098352A (zh) 在IPv4和IPv6混合网络环境支持主机移动性的网络***和方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 12747453

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 12747453

Country of ref document: EP

Kind code of ref document: A1