WikiPatents - Community Patent Review
Create Free Account  |  License or Sell Your Patent  |  WikiPatents Marketplace  |  WikiPatents Blog
Username:  Password:  
    
Advanced Search
Internetworking apparatus for connecting plural network systems and communication network system composed of plural network systems mutually connected    
United States Patent5434863   
Link to this pagehttp://www.wikipatents.com/5434863.html
Inventor(s)Onishi; Katsuyoshi (Yokohama, JP); Ikeda; Naoya (Ebina, JP); Takada; Osamu (Sagamihara, JP); Koyama; Toshiaki (Zama, JP); Enomoto; Hiromichi (Hadano, JP)
AbstractAn internetworking apparatus which handles a scale of a network flexibly without degrading high speed operation. A router manager and a plurality of routing accelerator modules for performing routing are connected to one another through a high speed bus, and a plurality of communication ports are connected to the respective routing accelerators independently of one another. The plurality of routing accelerators can perform the routing for reception data packet at high speed. If more routing accelerators are provided, the disposal to the networks having a small scale to a large scale can be readily realized.
   














 Title Information Submit all comments and votes
 
Patent Text Patent PDF Print Page Summary File History
Plain text PDF images Print Summary File History
Drawing from US Patent 5434863
Internetworking apparatus for connecting plural network systems and

     communication network system composed of plural network systems

     mutually connected - US Patent 5434863 Drawing
Internetworking apparatus for connecting plural network systems and communication network system composed of plural network systems mutually connected
Inventor     Onishi; Katsuyoshi (Yokohama, JP); Ikeda; Naoya (Ebina, JP); Takada; Osamu (Sagamihara, JP); Koyama; Toshiaki (Zama, JP); Enomoto; Hiromichi (Hadano, JP)
Owner/Assignee     Hitachi, Ltd. (Tokyo, JP)
Patent assignment
All assignments
Publication Date     July 18, 1995
Application Number     07/935,919
PAIR File History     Application Data   Transaction History
Image File Wrapper   Patent Term   Fees
Litigation
Filing Date     August 27, 1992
US Classification    
Int'l Classification    
Examiner     Olms; Douglas W.
Assistant Examiner     Patel; Ajit
Attorney/Law Firm     Antonelli, Terry, Stout & Kraus
Address
Parent Case    
Priority Data     Aug 30, 1991 [JP] 3-219610
USPTO Field of Search    
Patent Tags     internetworking connecting plural network and communication network composed plural network systems mutually connected
   
Enter a comma (,) or semicolon (;) between multiple tag words/phrases.
Describe this patent:
 Amusing   
 Clever   
 Complex   
 Efficient   
 Historic   
 Important   
 Innovative   
 Interesting   
 Practical   
 Simple   
[no votes]
Patent WIKI

Share information and news about this patent, including information and news about the technology, inventors, company, ligation and licensing.

 References Submit all comments and votes
 
*references marked with an asterisk below are user-added references
 U.S. References
 
Add a new US reference:  
ReferenceRelevancyCommentsReferenceRelevancyComments
5177737
Daudelin
370/364
Jan,1993

[0 after 0 votes]
5088090
Yacoby

Feb,1992

[0 after 0 votes]
5027350
Marshall
370/401
Jun,1991

[0 after 0 votes]
5010546
Kato
370/469
Apr,1991

[0 after 0 votes]
4872162
Tanaka
370/402
Oct,1989

[0 after 0 votes]
4972409


Dec,1969

[0 after 0 votes]
 Foreign References
 Other References
 Market Review Submit all comments and votes
   
Market Size
Estimate the gross annual revenues of the relevant market sector:
> $10B
$5B - $10B
$2B - $5B
$500M - $2B
$100M - $500M
$10M - $100M
$1M - $10M
$500K - $1M
$100K - $500K
< $100K
[No votes]
$0
 
$0   $2.5B   $5B   $7.5B   $10B
Market Share
Estimate the percentage of the relevant market sector this invention will capture:
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%
Reasonable Royalty
What percentage of gross sales should the inventor or assignee be paid?
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%
Public's "Guesstimation" of Royalty Value
Market SizeN/A[No votes]
xMarket ShareN/A[No votes]
xReasonable RoyaltyN/A[No votes]

N/A

License Availablity
If you are NOT the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
License Availablity
If you ARE the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
Competitive Advantage
Does this invention have a significant competitive advantage over similar technologies?
Yes

No



[No votes]
Most helpful competitive advantage comment
[No comments]

Commercial Alternatives
Are there viable commercial alternatives for this invention?
Yes

No



[No votes]
Most helpful commercial alternative comment
[No comments]

 Technical Review Submit all comments and votes
 Claims Submit all comments and votes
 


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.
 Description Submit all comments and votes
 


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