|
Claims  |
|
|
We claim:
1. An internetworking apparatus for connecting a plurality of networks to one another to forward packet data, comprising:
a main processor including means for managing said internetworking apparatus;
a plurality of routing accelerators connected to one another through a first connection bus, said routing accelerators mutually performing a forward routing of reception packet data received from one of said networks to a called network
determined based on address information of the reception packet data and a routing table stored therein, through said first connection bus; and
a plurality of communication port sections, connected to said routing accelerators through a second connection bus, provided independently to every routing accelerator, said communication port sections controlling the network connected thereto to
exchange packet data;
wherein said main processor is also connected to said first connection bus, and said main processor controls said routing accelerators through said first connection bus;
wherein said main processor and said routing accelerators are connected to one another through a third connection bus, and said third connection bus transmits control information including the routing table, and said first connection means
transmits the packet data.
2. An internetworking apparatus according to claim 1, further comprising another information processor connected to said third connection means for carrying out a partial function of said main processor.
3. An internetworking apparatus according to claim 1, further comprising another internetworking apparatus connected to said third connection bus, wherein the forwarding of the packet data between the communication ports in said internetworking
apparatus and the communication ports in said another internetworking apparatus is performed through said third connection bus.
4. An internetworking apparatus for connecting a plurality of networks to one another to forward packet data, comprising:
a main processor including means for managing said internetworking apparatus by receiving routing information to prepare a routing table and by distributing the routing table;
a plurality of routing accelerators connected to said main processor and connected to one another through a first connection bus, said routing accelerators mutually performing a forward routing of reception packet data to a called network
determined by address information of the reception packet data and the routing table stored therein, through said first connection means, said routing accelerators forwarding the routing information to said main processor through said first communication
bus;
a plurality of communication port sections connected to said routing accelerators through a second connection bus provided independently to every routing accelerator, said communication port sections controlling the network connected thereto to
receive packet data, said routing accelerators forwarding the routing information to said main processor through said first communication bus; and
one or more auxiliary processors, connected to said first connection bus so that said auxiliary processors are connected to said main processor and said plurality of routing accelerators, said auxiliary processors carrying out auxiliary
operations not performed by said main processor.
5. An internetworking apparatus according to claim 4, wherein the auxiliary processor carries out a protocol function of said main processor.
6. An internetworking apparatus for connecting a plurality of networks to one another to forward packet data, comprising:
a main processor including means for managing said. internetworking apparatus;
a plurality of routing accelerators connected to said main processor and connected to one another through a first connection bus, said routing accelerators mutually performing a forward routing of reception packet data received from one of said
networks to a called network determined by address information of the reception packet data and a routing table stored therein, through said first connection bus;
a plurality of communication port sections connected to said routing accelerators through a second connection bus provided independently to every routing accelerator, said communication port sections controlling the networks connected thereto to
exchange packet data; and
one or more auxiliary processors, connected to said plurality of routing accelerators through said fist connection bus, for carrying out auxiliary operations not performed by said main processor;
wherein the auxiliary processor includes means for processing the protocol which cannot be subjected to the forward routing by the routing accelerator, and the routing accelerator discriminates what kind of packet data the reception packet data
from the communication port section is, and in the case where the reception packet data is recognized to be a kind of packet data which cannot be subjected to routing, the reception packet data is transmitted to the auxiliary processor.
7. An internetworking apparatus for connecting a plurality of networks to one another to forward packet data, comprising:
a main processor including means for managing said internetworking apparatus;
a plurality of routing accelerators connected to said main processor and connected to one another through a first connection bus, said routing accelerators mutually performing a forward routing of reception packet data received from one of said
networks to a called network determined by address information of the reception packet data and a routing table stored therein, through said first connection bus;
a plurality of communication port sections connected to said routing accelerators through a second connection bus provided independently to every routing accelerator, said communication port sections controlling the networks connected thereto to
exchange packet data; and
one or more auxiliary processors, connected to said plurality of routing accelerators through said fist connection bus, for carrying out auxiliary operations not performed by said main processor;
wherein the auxiliary processor includes an interface circuit connected to another information processor or internetworking apparatus, and the routing accelerator utilizes the function of said another information processor or internetworking
apparatus through the auxiliary processor.
8. An internetworking apparatus for connecting a plurality of networks to one another to forward packet data, comprising:
a main processor including means for managing said internetworking apparatus;
a plurality of routing accelerators connected to said main processor and connected to one another through a first connection bus, said routing accelerators mutually performing a forward routing of reception packet data received from one of said
networks to a called network determined by address information of the reception packet data and a routing table stored therein, through said first connection bus;
a plurality of communication port sections connected to said routing accelerators through a second connection bus provided independently to every routing accelerator, said communication port sections controlling the networks connected thereto to
exchange packet data; and
one or more auxiliary processors, connected to said plurality of routing accelerators through said fist connection bus, for carrying out auxiliary operations not performed by said main processor;
wherein the auxiliary processor includes means for multiple-transmitting the data to all or a part of said plurality of routing accelerators, and each routing accelerator discriminates what kind of packet data the reception packet data from the
communication port section is, and in the case where the reception packet data is recognized to be a kind of packet data which cannot be subjected to routing, the reception packet data is transmitted to the auxiliary processor, and the auxiliary
processor multiple-transmits the reception packet data to other routing accelerators to perform the bridging to another network.
9. An internetworking apparatus for connecting a plurality of networks to one another to forward packet data, comprising:
a main processor including means for managing said internetworking apparatus;
a plurality of routing accelerators connected to said main processor and connected to one another through first connection bus, said routing accelerators mutually performing a forward routing of reception packet data received from one of the
networks through said first connection bus to a called network determined based on address information of the reception packet data and a routing table stored in the routing accelerators, said routing table being used by said routing accelerators to
perform forward routing of packet data; and
a plurality of communication port sections connected to said routing accelerators through a second connection bus provided independently to every routing accelerator, said communication port sections controlling the network connected thereto to
exchange packet data;
wherein said main processor further includes means for dynamically producing said routing table required for said routing accelerators to perform the forward routing of said reception packet data, said routing table being produced by exchanging
said routing table with another internetworking apparatus, and means for distributing said routing table to said plurality of routing accelerators, and
wherein said routing accelerators store said routing table.
10. An internetworking apparatus according to claim 9, wherein said main processor is also connected to said first connection means, and said main processor controls said routing accelerators through said first connection means.
11. An internetworking apparatus according to claim 9, wherein the routing accelerator includes a buffer for storing the packet data, and filtering assisting means for extracting, in parallel to the storage operation of said buffer, necessary
information from the packet data to perform the filtering of the packet data under predetermined conditions.
12. An internetworking apparatus according to claim 9, wherein the routing accelerator includes a buffer for storing the packet data, and routing assisting means for extracting necessary information from reception packet data to retrieve a
predetermined routing table.
13. An internetworking apparatus according to claim 9, wherein said routing accelerators each discriminates what kind of packet data the reception packet data from a communication port section is and recognizes that the reception packet data is
packet data which cannot be subjected to routing when it is found as a result of the discrimination that the reception packet data is not a kind of packet data which is supported by said routing accelerator, and in the case where it is recognized that
the reception packet data is a kind of packet data which cannot be subjected to routing, the reception packet data is transmitted to all of the other routing accelerators to perform bridging to another network.
14. An internetworking apparatus according to claim 13, wherein in the case where the routing accelerator recognizes the packet data which cannot be subjected to the routing, the reception packet data is also transmitted to the communication
port section or sections other than the communication port section which has received the reception packet data, out of said communication port sections connected to said routing accelerators.
15. An internetworking apparatus according to claim 9, wherein the routing accelerator registers for each communication port physical station address data of a communication system connected to a communication port corresponding to each
communication port section, and includes for said each communication port, filtering means for discarding the reception packet data of which address coincides with that of the station address data registered.
16. An internetworking apparatus according to claim 9, wherein said main processor further includes means for processing the protocol which cannot be subjected to the forward routing by the routing accelerator, and the routing accelerator
discriminates what kind of packet data the reception packet data from the communication port section is, and in the case where the reception packet data is recognized to be a kind of packet data which cannot be subjected to routing, the packet data is
transmitted to said main processor. |
|
|
|
|
Claims  |
|
|
Description  |
|
|
BACKGROUND OF THE INVENTION
The present invention relates to a communication network system for connecting a plurality of networks, and more particularly to an internetworking apparatus referred to as a router which connects a plurality of networks at network layer levels,
and an internetworking apparatus referred to as a router which has a router function of connecting a plurality of networks at network layer levels as well as a bridging function of connecting a plurality of networks at data link layer levels.
As for an apparatus for connecting a plurality of networks, there are known a bridge which performs cross connection in a data link layer (especially, a media access sub-layer) of a network system hierarchy, and a router which performs the cross
connection in a network layer as a layer having a rank higher than that of the bridge, or the like.
The bridge manages an MAC (Media Access Control) address, and judges whether or not a reception frame from a certain network (being also referred to as "reception packet data") is forwarded to other networks on the basis of the contents of the
destination MAC address in the reception frame and a filtering address table as forwarding control information.
Moreover, in the router as well, on the basis of the internetworking address in the reception frame and an address resolution table in the router, a predetermined route or an optimal route is selected to perform the forwarding processing of the
reception frame.
Incidentally, there are some kinds of protocol used in the network layer. As a typical example, there is well known an IP (Internet Protocol). In this IP protocol, an IP address is used as the internetworking address. Then, the MAC address of
the adjacent route corresponding to the destination IP address is written in the address resolution table.
Further, in recent years, an apparatus which has the router function as well as the bridging function has been developed to be used for the connection between the different kind networks. This apparatus is called a router. This router performs
the routing with respect to the frame data amenable to the protocol which is supported by the apparatus of interest, i.e., able to be subjected to the routing, out of the various protocols used in the network layer, thereby to perform the across
connection in the network layer. On the other hand, this router performs the forwarding processing of the frame data in the media access sub-layer, i.e., the bridging processing with respect to the frame data amenable to the protocol which is not
supported by the apparatus of interest, i.e., cannot be subjected to the routing.
As described above, the network apparatus, such as the bridging apparatus, the router and the router, is designed in such a way as to have at least two or more communication ports, and the processor for performing the above forwarding processing
called the routing or bridging.
As the prior art example having such a configuration, the general operation of the router will hereinbelow be further described in detail. The packet data which has been received from a certain communication port is stored in a buffer memory,
and then the packet data is subjected to the routing processing by the processor, whereby the router obtains a network to which the data will be transmitted. Then, by sending the packet data from another communication port corresponding to the
destination network, the router performs the routing of the packet data.
FIG. 2 is a diagram showing schematically a plurality of networks which are connected to one another through routers. In the figure, eight networks are connected to one another through five routers. Paying attention to a router A out of those
routers, networks A, B, C and D are connected to ports a, b, c and d of the router A, respectively. Now, if the data is intended to be sent from a terminal A1 in the network A to a terminal G2 in a network G connected to a router E, the packet data
addressed from the terminal A1 to the terminal G2 is transmitted with the physical destination address as an address for the port a of the router A. After receiving this packet data, the router A forwards the packet data to one of the networks B, C and
D, i.e., performing the routing processing. In order to perform this routing processing, the router A needs to know previously which of the networks B, C and D must the packet data addressed to the terminal G2 be forwarded to. In this example, on the
assumption that the packet data must be transmitted to the network B, i.e., the router B, the packet data is transmitted with the physical destination address as an address for the port e of the router B. The same routing is also performed in the routers
B and E, and thus finally, that packet data reaches the terminal G2.
As for the prior art for performing such a routing processing at high speed, there is given the technology disclosed in JP-A-62-181551. According to this technology, a buffer memory for storing the packet data received from one port, and a
buffer memory for storing the packet data received from the other port are provided separately and independently of each other, and the management of the buffer memorys is performed with the hardware.
Moreover, as for the prior art for performing the packet transmission between ports at high speed, there is given the technology disclosed in an article "OUTLINE OF TCP/IP AND INTERNET" p.17 issued on Dec. 19, 1990 by Net One Systems Co. Ltd.
According to this technology, a high speed bus is provided for the high speed port transmission.
In the above prior art technology, the following points will become problems.
Although the transmission of the packet data can be performed at high speed in the router according to the prior art, the means for performing the routing is provided only in one place. Therefore, the routing provides a limit, and thus there is
a limit to the number of ports capable of being supported and the communication traffic. Accordingly, it is difficult to smoothly extend the organization of the port menue and the like of the router from a small scale to a large scale and improve the
performance in correspondence to the port traffic or the number of ports.
Further, in recent years, there has been increased the necessity of the dynamic routing to recognize the configuration and the like of the network during the operation of the network to dynamically produce, add, change and delete the forward
information for the routing processing (in the above prior art example, the information for the forwarding which is assumed to be previously known by each router). That is, there is required the processing of a routing protocol (e.g., RIP (Routing
Information Protocol), OSPF (open Shortest Path First) and the like in the TCP/IP protocol group) for exchanging the information about the network between the routers. Further, the means for performing the routing in the prior art must also perform the
processing of a network management protocol (e.g., SNMP (Simple Network Management Protocol) and the like in the TCP/IP protocol group) for communicating the management information such as performance information of the router itself to the management
master station on the network. Therefore, the original forwarding performance cannot show sufficiently. Accordingly, it is difficult for the prior art router to cope with an FDDI (Fiber Distributed Data Interface) as a high speed LAN (Local Area
Network) of 100 Mbps (Mega bit per second) which has been developed in recent years, and a high speed line of 155 Mbps such as a broad-band ISDN (hereinafter, referred to as B-ISDN for short, when applicable) which is expected to come into wide use in
the future and an ATM (Asyncronized Transfer Mode) as one form thereof.
SUMMARY OF THE INVENTION
It is therefore an object of the present invention to provide an internetworking apparatus which is capable of performing the routing and the packet transmission and performing readily the extension of the scale and the improvement in the
performance.
It is another object of the present invention to provide an internetworking apparatus in which the data transmission during the bridging and the routing when provided with a facility as the above-mentioned brouter is taken into consideration.
It is still another object of the present invention to provide a router which is capable of being connected to the existing apparatus in order to increase the kinds of protocol which is capable of being processed.
In order to attain the above objects, an internetworking apparatus according to the present invention includes one or more routing accelerators for assisting a main processor to perform the routing.
Thus, the routing accelerator subjects the reception packet data to the routing, and transmits the data to other routing accelerators if necessary. That is, the routing accelerator discriminates the kind of the data frame. In the case where the
data frame is recognized to be amenable to the protocol which cannot be subjected to the routing, the data is transmitted to other routing accelerators in order to perform the bridging.
Further, in order to attain the above objects, the internetworking apparatus according to the present invention includes a first connection unit for connecting between the routing accelerators. The main processor as a router manager for managing
the whole internetworking apparatus is connected to the first connection unit. The network apparatus includes a second connection unit for connecting between a plurality of communication ports and the routing accelerator, which send or receive the data
to or from the network, independently of other routing accelerators.
Thus, after producing/changing a routing table for the routing, the router manager distributes the routing table to all of the routing accelerators. Each routing accelerator subjects the reception packet data from the communication ports
connected through the second connection unit to the routing on referring to the routing table distributed thereto, and transmits the data to the other routing accelerators using the first connection unit if necessary. That is, the routing accelerator
discriminates the kind of the data frame. Then, in the case where the data frame is recognized to be amenable to the protocol which can not be subjected to the routing, the data is transmitted to other routing accelerators in order to perform the
bridging. The routing accelerator which has received the data thus transmitted thereto transmits the packet data to the network using the communication ports connected through the second connection unit. Therefore, the internetworking apparatus of the
present invention can perform the routing/packet forwarding processing dispersedly with plural sets of routing accelerator and communication port section. Incidentally, the management frame addressed to the main processor by which the main processor is
to produce/change the routing table or communicate with the network management master is transmitted from the routing accelerator to the main processor using the first connection unit. Moreover, in the case where the routing accelerator receives the
reception data from the communication ports connected through the second connection unit, and then discriminates the kind of the data frame to recognize it to be amenable to the protocol which cannot be subjected to the routing, the data can be also
transmitted for the main processor. The main processor performs the routing if the protocol can be processed, and retransmits the data frame to a suitable destination routing accelerator, thereby to perform the routing of the packet data amenable to the
special protocol.
Further, in order to attain the above objects, the internetworking apparatus of the present invention includes a third connection unit for connecting between the main processor and the routing accelerators independently of the first connection
unit.
As a result, there are performed through the third connection unit the operation of distributing the routing table to all of the routing accelerators through the main processor, and the operation of transmitting the management frame addressed to
the main processor from the routing accelerator to the main processor.
Further, in order to attain the above objects, the internetworking apparatus of the present invention includes an auxiliary processor in addition to the main processor and the routing accelerators. Then, the auxiliary processor and the routing
accelerators are connected to one another through the first connection unit or the third connection unit. As for the functions of the auxiliary processor, for the purpose of extending the function, there are provided the multiple transmission function
for the bridging, the interface function to other apparatuses, and the function of processing the routing protocol which cannot be processed by the main processor.
As a result, the auxiliary processor assists the processing by the main processor, and the bridging function of the destination routing accelerator in correspondence to the multiple transmission function for the bridging, the interface function
to other apparatuses, the function of processing the routing protocol which cannot be processed by the main processor, and the like, in accordance with the facilities mounted to the auxiliary processor. For example, in the case where the auxiliary
processor assists the multiple transmission function for the bridging, when the routing accelerator receives the data frame amenable to the protocol which cannot be subjected to the routing, the routing accelerator transmits the frame data to be bridged,
to the auxiliary processor. After the auxiliary processor stores temporarily the frame data thus transmitted thereto in the buffer memory, the auxiliary processor transmits the data to all of the other routing accelerators through the first connection
unit.
Further, in order to attain the above objects, the internetworking apparatus of the present invention includes a buffer as a router circuit for storing the data in the routing accelerator, a filtering assisting unit for performing the filtering
under predetermined conditions in parallel to the storage operation, and a routing assisting unit for extracting the necessary information from the reception packet data to retrieve a routing table.
As a result, with the routing accelerator, the filtering assisting unit performs the filtering under the predetermined conditions in parallel to the operation of storing the reception packet data in the buffer to discard the packet data which
does not require the forwarding. With respect to the reception packet data which requires the forwarding, the processor and the routing assisting unit discriminate the destination thereof to transmit the packet to the routing accelerator which is to be
addressed.
Therefore, according to the present invention, the following effects can be obtained.
Since the router manager for performing the non-routing such as the facility of managing the network, and the routing accelerators for performing the routing are provided independently of one another, the routing accelerator can perform the
routing devotedly to provide the high speed operation.
Since a plurality of packet data can be subjected to the routing simultaneously by a plurality of routing accelerators, the routing as the whole apparatus can be performed at high speed. Moreover, since more routing accelerators can be provided,
the configuration of the router can be readily extended in correspondence to the necessary number of networks and the communication traffic.
Further, if the auxiliary processor of the present invention is used, it is also possible to perform the bridging at high speed and extend the function by connecting the present apparatus to the external system.
Therefore, according to the present invention, it is possible to realize the internetworking apparatus which has the scalability and performs the high speed routing and bridging.
BRIEF DESCRIPTION OF THE DRAWINGS
The present invention will be more apparent from the following detailed description, when taken in conjunction with the accompanying drawings, in which;
FIG. 1 is a block diagram showing a configuration of an internetworking system according to one embodiment of the present invention;
FIG. 2 is a diagram showing schematically a network system employing routers;
FIGS. 3A to 3D are respectively block diagram showing respective cases in the routing when one embodiment of the present invention is applied;
FIG. 4 is a block diagram showing a configuration of a routing accelerator according to one embodiment of the present invention;
FIG. 5 is a block diagram showing a configuration of an internetworking apparatus of one embodiment of the present invention in which a packet exclusive bus and a control data bus are separated from each other;
FIG. 6 is a block diagram showing a configuration of the internetworking apparatus in which a routing accelerator according to one embodiment of the present invention and the prior art router are coupled to each other;
FIG. 7 is a block diagram showing a configuration of the prior art router;
FIG. 8 is a block diagram showing a configuration of one embodiment of the present invention in which an auxiliary processor is provided;
FIG. 9 is a block diagram showing a configuration of the internetworking apparatus in which one embodiment of the present invention and an information processor are connected to each other through an external bus;
FIG. 10 is a block diagram showing a configuration of an external interface board according to one embodiment of the present invention;
FIG. 11 is a block diagram showing a case of the bridging when no bridging assisting section is provided in one embodiment of the present invention;
FIG. 12 is a block diagram showing a case of the bridging when a bridging assisting section is provided in one embodiment of the present invention;
FIG. 13 is a block diagram showing a configuration of the bridging assisting section according to one embodiment of the present invention;
FIG. 14 is a diagram showing an structure of routing information according to one embodiment of the present invention;
FIG. 15 is a diagram showing an organization of a routing table according to one embodiment of the present invention;
FIG. 16 is a flow chart showing the routing from a low rank to a high rank according to one embodiment of the present invention;
FIG. 17 is a flow chart showing an IP routing from a low rank to a high rank according to one embodiment of the present invention; and
FIG. 18 is a flow chart showing the routing from a high rank to a low rank according to one embodiment of the present invention.
DESCRIPTION OF THE PREFERRED EMBODIMENTS
Preferred embodiments of the present invention will hereinafter be described in detail with reference to the accompanying drawings. Incidentally, an internetworking apparatus of the present invention has a facility of the above-mentioned
brouter. However, in the following description, the routing as the original object will be mainly explained. Therefore, the apparatus will be referred to as a router.
1. Configuration of Router
First, the description will be given to the whole configuration of a router of one embodiment of the present invention on referring to FIG. 1. The router of the present embodiment has a plurality of modules for performing the routing. Thus, the
provision of more modules allows the performance of the system to be readily improved. Each module has one routing accelerator, and each routing accelerator has one or more communication ports. FIG. 1 is a block diagram showing the whole configuration
of the router. In FIG. 1, the reference numeral 1 designates a high speed router bus which has a throughput of 200 M Bytes/sec and acts as first connection means. To the router bus 1 is connected a router manager 2 which has a function of managing the
whole system and a function of producing/distributing a routing table and acts as a main processor. Further, to the router bus 1 can be connected routing accelerators 3 of 1 to 8 modules each of which has a function of performing the routing at high
speed. The router manager 2 distributes the routing table to the routing accelerators 3 each of which performs, on the basis of the routing table, the route selection of the reception packet data, i.e., the routing and transmits the packet data through
the router bus 1 to the routing accelerators 3 under which the called network is connected.
Further, in the low hierarchy of the routing accelerators 3, as buses of second connection means designated by the reference numeral 4, for example, there are provided EISA buses (Extended Industry Standard Architecture Buses) of 33 M Bytes/sec
4. To the buses are connected various communication control sections 51 to 56 (hereinafter, being also referred to as "ports", when applicable). Then, only one high speed communication port 51 of FDDI of 100 Mbps class as the communication port
corresponding to the throughput of the EISA bus is connected to the routing accelerator 3 with one-to-one correspondence. Similarly, only one communication poret 52 of ATM (B-ISDN) of 155 Mbps as the high speed line is also connected to the routing
accelerator 3. Moreover, with respect to the communication port for the medium or low speed communication, such as a communication port 53 of Ethernet as LAN of 100 Mbps, a communication port 54 of Token Ring LAN as LAN of 4 Mbps to 16 Mbps, or a
communication port 55 of N-ISDN as the line of 1.5 Mbps, since the capability of one routing accelerator 3 and the throughput of one EISA bus can correspond to a plurality of communication ports, in this case, two communication ports are connected to the
EISA bus. Incidentally, the routing accelerators 3 and the communication ports 51 to 56, which are paired with each other, may be mounted on the different substrates or the same substrate.
2. Routing
The description will hereinbelow be given to the routing in the router having the above basic configuration.
First, it is assumed that the router manager 2 distributes the routing table to all of the routing accelerators 3, and thus each routing accelerator 3 has the routing information. For example, the router manager 2 sends or receives the data to
or from other routers with the routing protocol such as the above RIP or OSPF, or accumulates the routing information by setting a suitable protocol previously and statically by a user.
This routing table is an aggregate of the routing information which shows the information for one routing every network address. Further, with respect to the so-called sub-networks which are obtained by partitioning the network addresses to be
operated as a plurality of networks of small scale, the routing information is defined every sub-network.
FIG. 14 is a diagram showing an example of one routing information. In this example, only the IP protocol is taken, and the added information such as the classification of the network service is omitted. In FIG. 14, a routing table 400 is made
up of a field 401 of an IP address for representing the destination network, subnet mask data 402 for representing subnet information of the destination network, an IP address 403 of a next-router, a sending interface 404 for forwarding the data to the
next-router, and a pointer 405 for a next-entry.
The sending interface 404 is, in the present embodiment, made up of an identification number (RA number) of the called RA (Routing Accelerator) and an identification number (LC number) of the port to be sent in the called RA. Moreover, the
pointer 405 for a next-entry is a necessary field in a structure aspect of the routing information in the inside of RA, but is meaningless when being distributed by the above RM (Router Manager).
The routing table as the aggregate of the routing information 400 in RA has an organization shown in FIG. 15 to perform the high speed retrieval. A hash function 410 projects a certain amount of data on a smaller amount of data. In the present
embodiment, for example, 24 bits of the network address portion out of the IP address is projected on 8 bits. Since the output of the hash function is 8 bits, the number of entries of a hash entry table 420 is 256. The pointer for the routing
information 400 corresponding to the result which is obtained by hashing the network address is stored in each entry in the hash entry table 420. The amount of data is compacted by the hash. Therefore, as the result of hashing the different network
address values, the resultant data becomes sometimes the same address value of 8 bits. Accordingly, as shown in FIG. 15, the routing information having the network address which will become the same result by hashing is coupled through pointers 405.
Incidentally, the procedure of retrieving the routing table corresponding to the IP address and the organization of the routing table, which have been just described above, is described in detail in an article 'Internetworking with TCP/IP VOLUME
II" by Douglas E. Comer (pp. 81 to 84). The present embodiment also employs the data structure in the routing table and RA thereof which are amenable to this technique.
FIGS. 3A to 3D are respectively diagrams showing cases of the various routing in the router of the present invention including plural modules/plural ports. Incidentally, in those figures, the manager 2, the routing accelerator 3, and each of the
communication ports 51 to 56 are represented by RM, RA and LC, respectively, for short.
A case 1 (FIG. 3A) shows the case of discard. The routing accelerator RA(A) stores temporarily the packet, which has been received by the communication port LC(a) provided thereunder, in the packet buffer, and then performs the filtering and the
routing. Then, as the result of performing the filtering/routing, in the case where the destination of the packet is addressed to the communication port LC(a) which has received the packet, the packet of interest is discarded.
A case 2 (FIG. 3B) shows the case where the routing is performed between the ports in the routing accelerator RA(A). The routing accelerator RA(A) stores temporarily the packet, which has been received by the communication port LC(a) provided
thereunder, in the packet buffer, and then performs the filtering and the routing. Then, as the result of performing the filtering/routing, in the case where the destination of the packet which has been received by the communication port LC(a) is
addressed to the communication port LC(a) under the routing accelerator RA(A), the reception packet of interest is returned to be transmitted to the communication port LC(b), thus performing the forwarding. In this case, only one routing accelerator
RA(A) acts as the router.
A case 3 (FIG. 3C) shows the case where the routing is performed between the routing accelerators RA(A) and RA(B) through the router bus. The routing accelerator RA(A) stores temporarily the packet, which has been received by the communication
port LC(a) provided thereunder, in the packet buffer, and then performs the filtering and the routing. Then, as the result of checking the destination of the reception packet by the routing accelerator RA(A), in the case where the destination is
addressed to the communication port LC(d) under the routing accelerator RA(B), the information for the packet transmission is exchanged between the routing accelerator RA(A) and the routing accelerator RA(B), so that the packet is transmitted from the
routing accelerator RA(A) to the routing accelerator RA(B).
A case 4(FIG. 3D) shows the case where the reception packet is a packet addressed to the router. The packet addressed to the router means the above-mentioned routing protocol frame (RIP or OSPF frame) or the frame data of the network management
protocol SNMP. The routing accelerator RA(A) stores temporarily the packet, which has been received by the communication port LC(a) provided thereunder, in the packet buffer, and then performs the filtering and the routing. Then, for example, in the
case where the destination IP address of the IP packet is an address of IP, the reception packet is transmitted to the router manager 2.
3. Configuration of Routing Accelerator
Next, the description will be given to a configuration of the routing accelerator 3.
FIG. 4 is a block diagram showing a configuration of the routing accelerator 3. The routing accelerator 3 is made up of a filtering assisting section 302 for filtering the reception packet with the hardware, a low rank processor 306 for taking
mainly the filtering under its charge, a local memory 305 for the low rank processor 306, a routing assisting section 308 for routing the reception packet with the hardware, a high rank processor 310 for taking mainly the routing under its charge, a
local memory 309 for the high rank processor 310, a command descriptor buffer 303 for exchanging the information between the filtering assisting section 302 and the low rank processor 306, or between the low rank processor 306 and the high rank processor
310, an address mapping assisting section 304 for mapping the network address (e.g., the IP address) on the physical address (e.g., the MAC address), an interface section 301 to the EISA bus 4, a packet buffer 307 and a router transmission control
section 311.
First, the description will be given to the routing along the data path from a low rank to a high rank through which the data is transmitted from a communication port 5 to a router bus 1 via the routing accelerator 3, on referring to FIG. 16.
All of the packets which have been received by the communication ports 5 are temporarily stored in the packet buffer 307 through the EISA bus interface section 301 by the DMA transmission which is performed by each communication port 5 (Step
1601). In parallel to the operation of transmitting the packets to the packet buffer 307, the filtering assisting section 302 extracts only the head portions of the packets which are required for the filtering to perform the comparison and the judgement
under predetermined conditions, thereby to perform the filtering. As the processing for the filtering, in the present embodiment, the type of the protocol to be treated, e.g., either TCP/IP or OSI is recognized. In the case of the type of the protocol
other than those protocols, the subsequent filtering/routing is not performed, but only the filtering as the bridging is performed (Step 1602). Incidentally, the types of the packets may be compared with the template as the address pattern corresponding
to the application which was set by a user to perform the filtering.
Th | | |