The present invention relates to a network relaying apparatus and a network relaying method, or in particular to a network relaying apparatus including a router of a computer network system which is capable of searching at high speed for a destination of a packet input and a network relaying search method.
Generally, in a network system, a network relaying apparatus such as a router or a bridge is used for connecting a plurality of networks. The router checks the destination address of a packet received from a network or a subnet connected, determines the destination of the packet, and transfers the packet to a network or a subnet which is connected with the destination router or host.
FIG. 13 is a diagram showing a configuration of a conventional network relaying apparatus. In FIG. 13, a router 100 includes a routing manager (RM) 110, router buses 120, network interfaces (NIF) 130 and ports 140. Each port 140 is connected to an appropriate network 150.
Each network interface 130 receives a packet from a network connected to the port 140, and transmits the received packet through the router bus 120 to the routing manager 110. The routing manager 110 includes a routing table for holding the routing information, and using this routing information, determines the network 150 of the destination from the address of the packet received, and transmits the packet to the network interface 130 of the port 140 connected to the network 150. The network interface 130 that has received the packet from the routing manager 110 sends out the packet to the destination network 150. The routing manager 110 updates and maintains the routing information held in the routing table based on the header information of the packet received, and has the function of overall management of the router 100.
An explanation will be given of the route search process for searching for a port outputting the next address to which the packet is to be transferred upon receipt of the packet and outputting the packet. Normally, the route search uses a route search table (routing table) prepared from the component definition information and the information obtained by exchange between the routers. The routing table is for searching the information (next hop information) as to the output port, the next hop address and whether the network is directly connected or not with a set of the network address and the network mask length as a key.
As another conventional system, JP-A-05-199230 (U.S. Pat. Ser. No. 5,434,863) discloses an internet-work system and a communication network system which can flexibly meet the size requirement of the network without adversely affecting the high-speed routing process. In these systems, a router manager and a plurality of routing accelerator modules are coupled to each other with a high-speed bus Also, each routing accelerator is connected with a plurality of independent communication ports. In these conventional systems, a plurality of the routing accelerators makes possible a high-speed routing and by adding the routing accelerators, the requirement for increasing the network size can be easily met.
The conventional router, however, cannot meet the requirement of the high speed lines such as the high-speed LAN (local area network) and the wide band ISDN (Integrated Services Digital Network) and ATM (asynchronous transfer mode) that have recently found applications. Also, the conventional router with only one routing means has the disadvantage that the number of ports and the communication traffic that can be supported are limited. It is therefore difficult to expand the configuration of the port menu of the router to a large size smoothly or to improve the performance in keeping with the port traffic volume.
Also, with the increase of internet users, the number of flows that the router is required to detect is on the increase. Therefore, it is necessary to set a multiplicity of flow conditions in the router. The increased traffic and the increased line speed of the internet, on the other hand, requires a shorter processing time per packet in the router. Even in the case where the number of set flow conditions is increased, therefore, the QoS (quality of service) control and the filter operation must be carried out at a high speed on the part of the router.
In setting flow conditions, on the other hand, a great variety of flow conditions set as desired by the router manager must be flexibly handled. The prior art fails to take this point into account.
In view of the above-mentioned points, an object of the present invention is to provide a network relaying apparatus and method for routing packets at high speed while assuring a high communication quality of service (QoS), a high reliability and security.
Another object of the invention is to provide a network relaying apparatus and method in which the flow conditions including the information for identifying users, the protocol information and the priority information can be set in great amounts, and in keeping with the increase in the line speed and the flow conditions, the flow can be detected at high speed so that the control operation for the communication quality including QoS control and filter can be realized.
Still another object of the invention is to provide a network relaying apparatus and method in which the control operation flexibly meeting a great variety of flow conditions including the priority control, discard control and band control can be performed at high speed by improving the description of the flow conditions and the combination of the information including the source and the transfer destination.
According to this invention, as described above, there are provided a network relaying apparatus and method for routing packets at high speed while at the same time assuring a high communication quality (QoS), a high reliability and tight security.
Also, according to this invention, the flow conditions including the information for identifying the users, the protocol information and the priority information can be set in great amounts in keeping with the increase in line speed and flow conditions, and the flow can be detected at high speed for realizing a high-speed QoS control and filtering. Further, the high-speed control operation flexibly meeting a great variety of flow conditions including the priority control, the discard control and the band control is made possible by improving the descriptiveness of the flow conditions and the combination of the information including the source and the transfer destination. Further, according to this invention, jobs of different categories (such as basic jobs and information jobs) can be combined into a single network.
According to one aspect of the invention, there is provided a network relaying apparatus comprising:
at least a network interface connected with at least a network;
at least a routing processor including a packet buffer for storing input packets and a flow search table set separately for each of the input or output line number with action information corresponding to the information including the packet source and the packet transfer destination as an entry;
a routing manager for managing the internal components of the system; and
a connector for connecting the routing manager and each of a plurality of the routing processors;
wherein the network interface outputs the input packet from the network to the routing processor; and
wherein the routing processor includes means for storing the input packet from the network interface in a buffer memory, means for searching the transfer destination of the input packet stored in the packet buffer based on the stored header information, means for searching and reading only the entry corresponding to the input or output line number of the packet by referring to the flow search table, means for determining whether the information including the packet source and the packet transfer destination are coincident with the reference conditions in the entry read out, means for determining, in the case of coincidence, the control operation for the communication quality including the order of priority of packet transfer and the possibility of transfer in accordance with the action information in the entry, and means for outputting the input packet stored in the packet buffer and the output packet produced according to the header information, to the connector and the network interface.
According to another aspect of the invention, there is provided a network relaying method for outputting the input packet input from a network to a transfer destination in a network relaying apparatus comprising at least a network interface connected to at least a network, at least a routing processor for routing the packet input from the network interface, a routing manager for managing the internal components of the system, and a connector for connecting the routing manager and each of a plurality of the routing processors;
wherein the routing processor includes:
means for setting the action information corresponding to the information including the packet source and the packet transfer destination as an entry separately for each input or output line number in a flow search table;
means for storing the input packet in a buffer memory;
means for searching for a transfer destination of the input packet stored in the packet buffer based on the stored header information;
means for searching and reading only the entry corresponding to the input or output line number of the packet by referring to the flow search table;
means for determining whether the information including the packet source and the packet transfer destination coincides with the reference conditions in the read entry;
means for determining, in the case of a coincidence, the control operation for the communication quality including the priority of packet transfer or the possibility of transfer based on the action information in the entry; and
means for outputting the input packet stored in the packet buffer and the output packet produced by the header information to the connector or the network interface.