This application claims priority from Korean Patent Application No. 10-2005-0029096, which was filed on Apr. 7, 2005 in the Korean Intellectual Property Office, the disclosure of which is incorporated herein by reference in its entirety.
1. Field of the Invention
Apparatuses and methods consistent with the present invention relate to a method and apparatus for detecting a topology of nodes and bridges that constitute a network.
2. Description of the Related Art
In a communication network, the term a “bridge” refers to, but is not limited to, a product which connects one Local Area Network (LAN) to another LAN that uses the same protocol, such as Ethernet or Token Ring. Workstations that are connected to each LAN can take advantage of the expansion of their respective LAN without changing the protocol thereof. A bridge operates in such a way as to examine respective messages on a LAN, accept messages to be transmitted within the same LAN, and pass over messages to be transmitted to other LANs which are connected thereto.
On networks connected through a bridge, the addresses of computers or nodes have no specific relationship with actual locations. For this reason, although all messages are transmitted to all addresses on networks, the messages are accepted only by destination nodes. The bridge checks which addresses reside on which networks, and previously prepares a table so that the messages are precisely transferred to other networks. Such a table is referred to as a filtering database.
Since networks connected through a bridge are generally connected to LANs and broadcast all messages, unnecessary network traffic may flood a network in the case of a large network. For this reason, routing networks, such as the Internet, allow messages or packets to be transferred in one direction, not in all directions, by assigning addresses to respective nodes.
In the datalink layer of a network, the bridge copies data frames from a network to a subsequent network along a communication line.
Entities, which are connected to the bridge and communicate, are called nodes. In the construction of a network, a plurality of bridges may be located between the nodes. As a result, in order to manage networks, it is necessary to manage a topology of bridges and to obtain information about the connections between nodes and bridges.
The information about the connection of node 1 (201) and node 2 (202) to port 1 and the Media Access Control (MAC) addresses of node 1 (201) and node 2 (202) are stored in storage unit 191. The information about the connection of node 3 (203) to port 2 and the MAC address of node 3 (203) are stored in storage unit 192. The bridge 100 determines whether data received through port 1 is to be transferred to a node connected to port 2. If the data is to be transferred to the node connected to port 2, the bridge 100 transfers the data, which is received through port 1, to port 2. In contrast, if the data is not to be transferred to the node connected to port 2, the bridge discards the data. If there is a plurality of ports, and data received through a specific port is not to be transferred to some port other than the specific port, the bridge 100 uses a mechanism for discarding the data.
If node 1 (201) transmits data to node 2 (202), the bridge 100 does not hand over the data, which is received through port 1, to port 2. Since node 1 (201) and node 2 (202) are connected to the same line, node 2 (202) can receive the data. Meanwhile, if node 1 (201) transmits data to node 3 (203), the bridge 100 transmits the data through port 2 because the information about the connection of node 3 (203) to port 2 is stored in storage unit 192.
Conventionally, in order to detect the topology of a bridge, a spanning tree protocol is used. The detection of the topology prevents a loop from being generated in a network that is composed of bridges, thereby preventing messages from being excessively transmitted through the loop. Detailed information about the spanning tree protocol is specified in IEEE 802.1d. The operation of the spanning tree is illustrated in
The term “root ports” refers to, but is not limited to, ports connected to the root bridge. Then, the root cost is calculated by adding up the costs of the bridges on the path to the root bridge. Furthermore, a designated bridge 104, which is in charge of communication from respective broadcast segments to the root bridge, is selected. Finally, a blocking port is selected. The term “blocking port” refers to, but is not limited to, a port that has no need to transmit data because the data is transmitted through some other port. Since a designated bridge 104 exists, the bridge 102 has no need to transmit any data, and thus has a blocking port.
Through the above-described process, looping in which a message is repeatedly and unnecessarily transmitted is prevented and the message can be transmitted through an optimal path.
However, the above-described protocol is used to detect a topology of bridges and prevent looping, not to detect a topology of nodes which constitute a network. Furthermore, the protocol used in a router is used only for routing and cannot detect a bridge in an actual sub-network. Particularly, a bridge, which constitutes part of a small-sized network, such as a home network, may not support complicated protocols, so that a method of simply detecting and managing a topology of bridges and nodes is needed.
Accordingly, the present invention relates to detecting and managing information about a topology of bridges and nodes which constitute a network.
The present invention also relates to managing a network without adding a complicated protocol to a bridge on a small-sized network such as a home network.
An aspect of the present invention provides a method and apparatus for detecting a topology of nodes and bridges that constitute a network.
The method of detecting topologies of nodes and bridges constituting a network, according to an exemplary embodiment of the present invention, includes the operations of transmitting a message requesting mode switching to the nodes which constitute the network; transmitting check messages to the nodes; receiving reception node information, which results from reception of the check messages by the nodes, from the nodes; calculating information about connection of nodes to each line from the reception node information; and extracting information about the topology of bridges and nodes based on the connection information and the reception node information.
The method of detecting a topology of nodes and bridges, according to another exemplary embodiment of the present invention, includes the operations of receiving a message requesting mode switching from a first node; receiving check messages from a second node in a switched mode; and transmitting reception node information having receiver information of the received check messages, to a third node.
The network apparatus according to another exemplary embodiment of the present invention, includes a message generation unit for generating a message requesting mode switching and check messages; a transmission unit for transmitting the messages to the nodes; a reception unit for receiving reception node information which results from reception of the check messages by the nodes, from the nodes; a connection information calculation unit for calculating information about connection of the nodes to each node from the reception node information; and a topology information extraction unit for extracting information about topology of bridges and nodes based on the connection information and the reception node information.
The aspects, features and advantages of the present invention will be more clearly understood from the following detailed description of exemplary embodiments of the present invention taken in conjunction with the accompanying drawings, in which:
Reference now should be made to the accompanying drawings, in which the same reference numerals are used throughout the different drawings to designate the same or similar components.
First, several terms used in the present specification are briefly described below. It should be noted that the following description is given only for purposes of illustration so as to assist one of ordinary skill in the art to understand the aspects of the present invention, and does not limit the scope of the present invention.
The term “node” refers to, but is not limited to, each of the devices that constitute a network, and includes, for instance, a computer, a notebook, a fax machine, etc. Furthermore, nodes may also include home appliances, for example, a TV, a refrigerator or an audio device.
The term “promiscuous mode” refers to, but is not limited to, a mode in which a node unconditionally receives packets or frames that are transmitted or received through a corresponding line even if the data is not targeted for the node. As a result, the node can receive frames that are transmitted to other nodes. Promiscuous mode is generally used at an agent node that manages a network and monitors traffic. When promiscuous mode is entered, the node can sense data to be received by other nodes which are physically connected to a single line. That is, promiscuous mode enables the node to read all data packets transmitted and received through the line to which the node is connected.
The term “topology” refers generally to, but is not limited to, the connections of nodes. Topology information represents the configuration and method in which many devices connected to a network are implemented. Using topology information, the overload of a network can be prevented and transmission quality can be properly adjusted. The topology of bridges and nodes can be known using the flows shown in
In
First, node 1 (211) transmits a message to bridge 1 (111) in a unicast manner. Since the bridge 1 (111) knows that node 1 (211) has been connected to port 1a, which is connected to a line 501, the bridge 1 (111) does not transmit a check message to port 2a. The construction of a filtering database having information about the connections between ports and nodes will be described below. As a result, the check message, which is transmitted by node 1 (211) to the bridge 1 (111), is sensed only by the bridge 1 (111).
Meanwhile, when node 1 (211) transmits a check message to node 2 (212), the check message is transmitted through the bridge 1 (111) and a line 502 to node 2 (212). Therefore, the check message, which is transmitted by node 1 (211), is transmitted to the line 502, so that node 3 (213), which is in promiscuous mode, can receive the check message. Therefore, node 2 (212) and node 3 (213) both receive the check message targeted for node 2 (212). Meanwhile, since bridge 2 (112) knows that node 2 (212) is connected to the line 502, which is connected to port 1b through the filtering database, the bridge 2 (112) does not transmit a check message to a line 503 through port 2b. As a result, although node 4 (214) is in promiscuous mode, node 4 (214) cannot receive the check message targeted for node 2 (212) because the check message is not transmitted through the line 503. Of course, for node 1 (211), a check message is transmitted, so that node 1 (211), which is in promiscuous mode, can also receive the check message.
In the same manner as described above, when node 1 (211) transmits a check message to node 3 (213), both node 2 (212) and node 3 (213) receive the check message. Of course, since node 1 (211) transmits the check message, node 1 (211), which is in promiscuous mode, can also receive the check message. Similarly, since the check message is not transmitted to node 4 (214) through bridge 2 (112), node 4 (214) cannot receive the check message targeted for node 3 (213) even if node 4 (214) is in promiscuous mode.
Next, node 1 (211) transmits the check message to node 4 (214). The check message is received by node 4 (214) through bridge 1 (111), the line 501, bridge 2 (112) and the line 502. Therefore, node 1 (211), node 2 (212), node 3 (213) and node 4 (214), which are connected to the line 501, the line 502 and the line 503, respectively, all receive the check message targeted for node 4 (214).
After the completion of the transmission of the check messages to all nodes, the results of the reception of the check messages are received, and the configuration of nodes and bridges is examined. This is described below with reference to
The nodes 1 (211), 2 (212), 3 (213) and 4 (214) each collect information about the receivers of received check messages. Since node 1 (211) has sensed check messages targeted for node 1 (211), node 2 (212), node 3 (213) and node 4 (214), this information can be represented as set S1={1, 2, 3, 4}. Si is a set of the reception node numbers of check messages which have been sensed by node i. Therefore, set S2 is {2, 3, 4}, set S3 is {2, 3, 4} and set S4 is {4}. Nodes 1 (211), 2 (212), 3 (213) and 4 (214) transmit the reception node information S1, S2, S3 and S4, which are collected by themselves, to master node 1 (211). Node 1 (211) then checks which nodes constitute a line and between which lines bridges are connected based on the collected information, and extracts a topology of bridges and the connections between nodes.
In
As described with reference to
For example, in
Meanwhile, when node 1 (211) transmits a check message to node 4 (214) in a unicast manner, node 1 (211) transmits an ARP packet with the IP address or identifier of node 4 (214) set therein because node 1 (211) also does not know the MAC address of node 4 (214). The ARP packet can be transmitted to the entire network, but a response to it is made only by node 4 (214). Since the response to the ARP packet is transmitted through bridge 2 (112), bridge 2 (112) can determine that node 2 (212) is reachable through the port 2b. As a result, bridge 2 (112) sets information about node 4 (214) in the filtering database of the port 2b. Similarly, since the response to the ARP packet is transmitted through bridge 1 (111) to node 1 (211), information about the fact that node 4 (214) is reachable through port 2a of bridge 1 (111) is set. When the filtering database is filled with information about the nodes, data is not unnecessarily transmitted to other lines. For example, when node 1 (211) transmits data to node 3 (213), bridge 1 (111) passes the data therethrough, but bridge 2 (112) does not pass the data therethough.
At operation S10, it is determined that Fi is 0. If Fi is 0, it represents the fact that set Pi, to which i node belongs, has been obtained, so the process proceeds to the next node i+1. However, if Fi is not 0, operation S20 of obtaining Pi is performed.
At operation S21, node i is added to Pi. The reason for this is that it is natural that node i is connected to the line connected to node i. Next, the connection of nodes next to node i are examined. At this time, the reason why the nodes next to node i are examined is that nodes prior to node i have undergone operation S20. To examine nodes ranging from a node next to node i to node n, the factor j is used. First, it is examined whether Fj is 0. If Fj is 0, it implies that Pj for node j has already been obtained. That is, since node k prior to node i has included j in the process of obtaining Pk, the process need not proceed. If Fj is not 0 but −1, the Pj for node j does not belong to other Pk groups, so that Si and Sj are compared with each other.
Since, Si is connected to the same line as Sj, if Si is identical to Sj, Fj is set to 0 and node j is added to Pi at operation S22. Fj is set to 0, so that subsequent repetitive calculation can be prevented. Furthermore, operation S20 is also performed on the next node. As a result, nodes connected to the same node are grouped. Based on the results obtained in
Meanwhile, since set P, which represents information about nodes that share lines, has been obtained, it is necessary to calculate the topology of a bridge which connects lines.
The results calculated by the algorithm of
From the above results, it can be known that a bridge exists between a line to which node 1 (211) is connected, and a line to which node 3 (213) is connected. Furthermore, it can be known that a bridge exists between a line to which node 2 (212) and node 3 (213) are connected, and a line to which node 4 (214) is connected. From matrix B, topology information about the locations of bridges between nodes can be known.
The algorithm of
The master node transmits a check message at operation S112. At this time, the check message is transmitted in a unicast manner, so that one check message is transmitted to one node. Transmission in a unicast manner implies the transmission of one message with one node set to a receiver. Since all nodes have been switched to promiscuous mode, each node can receive messages that are transmitted to other nodes that are connected to the same line. When check messages are transmitted to all nodes in a unicast manner, respectively, each node can receive a check message targeted for itself or messages targeted for other nodes of a line to which the node is combined or connected, and can generate reception node information by collecting information about the receivers of the messages.
The master node receives the reception node information from other nodes at operation S114. An example of the reception node information is Si in
In
For example, when transmitting a start message at a specific time, a first node designates, in the start message, a second node to transmit a check message. Then, after other nodes have been switched to promiscuous mode, the second node can transmit the check message. Furthermore, the reception node information, which is created by each node that has received the check message, is transmitted to the third node, so that the third node can perform calculation. This is enabled by including the IP or identification information of the third node in the check message or the start message. As a result, the steps of
Furthermore, it may be unnecessary to transmit a start message. For instance, each node may be set such that it obtains topology information at predetermined time intervals. Then, when the predetermined time is reached, all of the nodes automatically switch to promiscuous mode, and the node that is master node transmits a check message. Furthermore, reception node information is received from each node, which receives the check message, and operations S116 and S118 of
The terms “unit” or “module” as used herein, refers to, but is not limited to, a software or hardware component, such as a Field Programmable Gate Array (FPGA) or an Application Specific Integrated Circuit (ASIC), which performs certain tasks. A module may advantageously be configured to reside on the addressable storage medium and may be configured to execute on one or more processors. Thus, a module may include, by way of example, components, such as software components, object-oriented software components, class components and task components, processes, functions, attributes, procedures, subroutines, segments of program code, drivers, firmware, microcode, circuitry, data, databases, data structures, tables, arrays, and variables. The functionality provided for in the components and modules may be combined into fewer components and modules or further separated into additional components and modules. Furthermore, the components and modules can be implemented to execute on one or more central processing units (CPUs) in a device or on a security multimedia card.
The term “network apparatus” refers to, but is not limited to, an apparatus capable of transmitting and receiving data with other apparatuses. Herein, a network apparatus includes, for example, a refrigerator, a television, and a microwave oven having a communication function, which constitute a home network, in addition to a computer, a notebook, a Personal Digital Assistant (PDA), a FAX machine, etc. Furthermore, a network apparatus includes the above-described node. As shown in
The message generation unit 291 generates a start message requesting other nodes to switch an operation mode so as to extract topology, and generates a check message to be transmitted to each node. The transmission unit 292 transmits the generated messages to other nodes. In an exemplary embodiment, a start message requesting mode switching is transmitted in a broadcast manner, so that all nodes can receive the start message. Meanwhile, the check message, which will be transmitted to each node, may be transmitted in a unicast manner, so that only the node designated as a receiver can receive the check message. The nodes, which are switched to promiscuous mode according to an exemplary embodiment of the present invention, can receive check messages which are transmitted to other nodes connected to the same line.
The reception unit 293 receives reception node information, which is generated and transmitted by nodes that receive the check messages, and transmits it to the connection information calculation unit 294. The connection information calculation unit 294 calculates the connections of nodes to each line based on the reception node information. For example, the algorithm of
When obtaining the information about the connection of respective nodes, the topology information extraction unit 295 extracts the information about a topology of bridges and nodes. The topology information is information about the existence of each bridge between node connections and the connections of nodes to each bridge.
The present invention can detect information about the topology of bridges and nodes that constitute a network.
The present invention can manage a network without adding a complicated protocol to a bridge on a small-sized network such as a home network.
Although exemplary embodiments of the present invention have been disclosed for illustrative purposes, those skilled in the art will appreciate that various modifications, additions and substitutions are possible, without departing from the scope and spirit of the invention as defined by the accompanying claims.
Number | Date | Country | Kind |
---|---|---|---|
10-2005-0029096 | Apr 2005 | KR | national |