|
Description  |
|
|
BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention generally relates to a communication apparatus of a
network. More specifically, the present invention relates to a transfer
destination determining process apparatus for selecting an optimum
transfer path where a plurality of datagram transfer paths are provided.
2. Description of the Related Art
Conventionally, apparatuses for connecting plural networks to each other,
such as LANs to repeat datagram data, bridges and routers are known in
this field.
The bridge apparatus connect these plural networks in the data link layer
(especially, media access sub-layer: MAC) in the open system
interconnection (OSI) reference model ruled in the International
Organization for Standard (ISO). And the router apparatus connect these
plural networks to each other in the network layer corresponding to the
upper grade layer as to the data link layer.
Currently, since the Internet is popularized, strong demands are rapidly
made so as to perform the Internet communications in more broad-range
networks.
FIG. 12 is a block diagram for indicating a structural example of a
broad-range Internet network.
The broad-range Internet network shown in FIG. 12 is arranged by a large
number of enterprise-used LANs as subscriber networks, provider networks,
and a core network. This core network is used to connect these networks to
each other in order to transfer IP datagrams sent from users to
destinations over medium/long distances.
The core network shown in this drawing is operated by mainly a large-scaled
public communication industry (carrier) and so on. This core network
constitutes a major portion of the Internet in such a broad-range network
and carrying Internet traffics concentrated from domestic/foreign regions
and connecting enterprise-used networks and provider networks.
Then, an edge apparatus is located at a relay point to connect an
enterprise-used network, or a provider network with the core network and
is arranged at an input/output part with respect to the core network.
The core network is constituted by a plurality of communication
apparatuses, for instance, a high speed router, or an ATM switching
apparatus (ATM-SW) when an ATM transfer operation is employed.
Also, in a core network a data communication is executed that when a IP
datagram is received, a communication path from an edge apparatus of a
data source to an edge apparatus of a data destination is determined, and
the data is transferred by each repeating communication apparatus to a
proper transfer destination.
In a repeating communication apparatus, it is required to judge a transfer
destination for each received datagram via a network to transfer based
upon routing table information for determining a transfer destination,
which is previously provided in the apparatus.
In general, this judging process operation is executed based upon an
address indicated by an address field contained in the reception datagram
data.
For instance, in a router, a judgment is made with reference to a
destination IP address of received datagram. Conventionally, a transfer
destination with respect to a destination IP address is uniquely
determined.
However, it may be expected in the near future, in order to provide high
graded services, plural paths in which datagrams are transferred are
provided, and a transfer path is selected depending upon a load of a
network in each of network appliances.
Then, a desirable transfer destination must be flexibly determined without
being concentrated to a specific route provided in a network in order to
equalize traffics.
Also, in a conventional client/server system containing a plurality of
servers capable of executing actual process operations in response to
requests issued form clients, such a load distributing apparatus has been
proposed. That is, this load distributing apparatus is arranged at a
pre-stage of these servers, and distributes the requests issued from the
clients in accordance with loads of the servers to be transferred. As one
of such load distributing systems, Japanese Laid-open Patent Application
No. Hei-10-19862 discloses the server apparatus. Referring now to
drawings, this conventional technique will be explained.
FIG. 14 is an explanatory diagram of a client/server system used to explain
the conventional technique.
FIG. 14A represents a server arrangement constituted by a front-end server
(FEP), and also a plurality of back-end servers (BEPs). The front-end
server receives a request issued from a client, and distributes the
received request to a plurality of servers provided at a post stage
thereof. The plural back-end servers (BEP) perform actual process
operations in response to the request sent from the client. The
above-explained FEP server determines a transfer destination node of the
request in accordance with a sort of requested service, and transfers the
request to a properly determined BEP, taking account of a load
distribution.
In this case, a flow of an IP datagram will be referred to as a "flow". The
respective flows are discriminated from each other based upon a
transmission source, a transmission destination IP (Internet protocol)
address, a protocol, a TCP/UDP port number, and the like.
Then, when a desirable transfer destination is determined, this
client/server system is controlled in such a manner that this desirable
transfer destination can be uniquely determined in the unit of such a flow
by registering/managing the BEP node identifier information equal to the
transfer destination with respect to the transmission source IP address
and the transmission source port number within an IP header, which is such
information used to uniquely discriminate the flow in the IPv4 datagram.
FIG. 14B indicates an allocated transfer route list on which transfer
routes of requests allocated to the respective clients are recorded. In
this list, there are provided a service identifier using a port number as
a destination of a request, another service identifier using a source IP
address and a port number of a source port, and further a transfer
destination BEP node identifier using an IP address of a BEP node in a
transfer destination.
Then, when the client sends the request to the FEP server, while using as a
key such a pair of the source IP address/source port number which
corresponds to the identifier of the request-issuing client and the
destination port number of the layer 4, the identifier of the BEP node of
the allocated transfer destination is searched by employing the allocated
route list. Thus the BEP node of the transfer destination i s determined.
In the conventional system described in Japanese Laid-open Patent
Application No. Hei-10-198642, since the combination between the transfer
destination information and the IP address/port number of the layer 4,
which correspond to the information used to uniquely discriminate the
desirable flow is registered into the table, the servers of the transfer
destinations are allocated, so that the load distribution can be realized.
However, in accordance with this conventional system, the load distribution
can be hardly realized in the case that the network routes are allocated
in the router of the core network, and/or a total number of
clients/servers capable of providing the services is increased.
This is because all of the information about the transfer destinations have
been registered into the table, and the transfer destination information
corresponds to such information capable of uniquely discriminating the
desirable flow. As a result, when a total number of flows to be
discriminated is increased, the memory capacity is largely increased.
Also, the time duration required to retrieve as to whether or not the
transfer destination information has already been registered into the
table is increased.
SUMMARY OF THE INVENTION
In accordance with the present invention, in order to perform a load
distribution in a network level, when a plurality of transfer destination
subjects are present as a transfer destination of a datagram, while the
same collected flows are transferred to the same transfer destinations,
the transfer destinations are allocated with respect to each of the
collected flows, so that a load distribution can be realized.
At this time, even when it may be predicted that a large number of flows
are produced as in an apparatus employed in a core network, the present
invention has an object to conduct such a system capable of establishing a
relative relationship between flows and transfer destinations in a high
speed with a small memory capacity so as to realize a load distribution
process operation.
While utilizing only a portion of information capable of discriminating a
flow contained in a header of a datagram, a transfer destination
determining process apparatus according to the present invention
determines either a transfer destination or a route (path) to the transfer
destination. As a result, this transfer destination determining process
apparatus determines the desirable transfer destination with respect to
each of the flows.
In other words, in the transfer destination determining process apparatus
of the present invention, the transfer destination routes are stored into
a table capable of relating the flows to the transfer destination routes
with respect to each of the collected flows which are determined by a
portion of information capable of discriminating these flows. The
necessary memory capacity may be reduced. It should be understood in this
specification that a "collected flow" is equal to a set of datagrams
having the same qualities, which are transferred to the same edge
apparatus. Depending upon operation/management system of a core network,
the unit of this flow is set by employing grouping information, for
example, a specific user unit, or a communication service level, namely
information used to group predetermined collected flows.
For instance, as one concrete setting example, a collected flow may be made
of a set of such datagrams having the same qualities and transferred to
the same edge apparatus. It should be understood that even when traffics
used to transfer datagrams to the same edge apparatus are employed in
order to improve the flexibility of traffic controls, such a control is
available to allocate these traffics to a plurality of lines by setting a
plurality of collected flows.
Concretely speaking, subdivisions of these flows may be set in
correspondence with operation policy of a carrier. In general, the
following relationship may be established; a total number of flows
descriminatable based upon an IP address and a QOS request>a total
number of collected flows>same QOS and same edge apparatus.
A transfer destination determining process apparatus, according to the
present invention, is featured by comprising:
means for judging as to whether a transfer destination of a received IP
datagram is equal to a single path for uniquely setting the transfer
destination of said received IP datagram, or a multi-path for determining
a proper transfer destination from a plurality of transfer destinations
based upon address information of the received IP datagram;
means for determining a transfer destination of a multi-path with respect
to this datagram in such a manner that when this transfer destination of
the multi-path is determined, a collected flow corresponding to a unit for
determining the transfer destination is judged by using a combination with
flow discrimination information which reflects QOS information of this
datagram; and the transfer destination is determined by referring to a
collected flow table for registering/storing paths which should be
transferred in response to sorts of these collected flows; and
means for determining a transfer destination in such a way that when
information corresponding to this collected flow is not yet registered
into the collected flow table, setting order of the respective paths and
also traffic information are read from a multi-path table which stores
therein to all of plural transfer paths for constituting the respective
multi-paths; one transfer path is determined from the read information;
the datagram is transferred based upon this determined one transfer path
and furthermore a transfer path corresponding to this determined collected
flow is registered into a collected flow table; and as to collected flows
which are subsequently received, transfer destinations thereof are
determined with reference to the collected flow table.
BRIEF DESCRIPTION OF THE DRAWINGS
For a better understanding of the present invention, a reference is made of
a detailed description to be read in conjunction with the accompanying
drawings, in which:
FIG. 1 is a schematic block diagram for showing an arrangement of a
datagram transfer apparatus 4 according to a first embodiment of the
present invention;
FIG. 2 is a schematic block diagram for indicating an arrangement of a
datagram transfer apparatus 4 according to another embodiment of the
present invention;
FIG. 3 is a schematic block diagram for illustrating a structural example
of a communication destination determining process apparatus according to
the first embodiment of the present invention;
FIG. 4 represents the IPv6 header format;
FIG. 5 is an explanatory diagram for explaining an application example to a
router network in the first embodiment of the present invention;
FIG. 6 is an explanatory diagram for explaining an example applied to an IP
over ATM network in the first embodiment of the present invention;
FIG. 7 is an explanatory diagram for explaining a structural example of a
collected flow table in the first embodiment of the present invention;
FIG. 8 is a structural example of a multi-path table in the first
embodiment of the present invention;
FIG. 9 is a structural example of a multi-path table in the second
embodiment of the present invention;
FIG. 10 is a schematic block diagram for representing a structural example
of a communication destination determining process apparatus in a fourth
embodiment of the present invention;
FIG. 11 shows a structural example to a collected flow table in the fourth
embodiment of the present invention;
FIG. 12 is a schematic block diagram for indicating a structure of a
broad-range Internet network;
FIG. 13 is an explanatory diagram for explaining a conceptional idea of a
single path and also of a multi-path; and
FIG. 14A is an explanatory diagram for explaining the conventional
client/server system; and FIG. 14B is an explanatory diagram for
explaining the allocated path list in the FEP server in the prior art.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
Next, embodiment modes of the present invention will now be described in
detail with reference to the drawings.
A datagram transfer apparatus of the present invention is mounted on either
an edge apparatus of the Internet network or a communication control
apparatus installed in a core network. The datagram transfer apparatus
determines a transfer destination of received data, and transmits the
received data to the determined transfer destination.
First Datagram Transfer Apparatus
FIG. 1 is a block diagram of an arrangement of a datagram transfer
apparatus 4 according to a first embodiment of the present invention.
The datagram transfer apparatus 4 is arranged by a protocol terminating
apparatus provided on the reception side, a transfer destination
determining process apparatus, and a protocol terminating apparatus
provided on the transmission side. The protocol terminating apparatus of
the reception end terminates a protocol of a received IP datagram. The
transfer destination determining process apparatus determines a transfer
destination as to this received IP datagram. The protocol terminating
apparatus of the transmission end transmits the IP datagram to the
designated transfer destination.
In other words, the datagram transfer apparatus 4 according to this first
embodiment is constituted by a plurality of reception-sided protocol
terminating apparatuses 2a, 2b, 2c, - - - , 2n; a plurality of
transmission-sided protocol terminating apparatuses 3a, 3b, 3c, - - - ,
3n; and also a transmission destination determining process apparatus 1
for connecting the respective protocol terminating apparatuses to each
other.
Then, the protocol terminating apparatuses 2a, 2b, 2c, - - - , 2n terminate
layers such as an IP layer lower than, or equal to a layer 3 with respect
to the received datagram, and transfer the datagram to the communication
destination determining process apparatus 1.
The transfer destination determining process apparatus 1 determines a
desirable transfer destination with reference to a destination address
contained in a datagram received from the protocol terminating apparatuses
2a, 2b, 2c, - - - , 2n, and then transfers the received datagram to the
corresponding protocol terminating apparatuses 3a, 3b, 3c, - - - , 3n.
In particular, in such a case that a plurality of transfer destination
subjects are present, the datagram transfer operation to plural transfer
destinations is realized in such a way that a portion of flow
discrimination information capable of discriminating a flow contained in a
received datagram is made in correspondence with a desirable transfer
destination.
When the protocol terminating apparatuses 3a, 3b, 3c, - - - , 3n receive
information used to define both a datagram and a transfer destination from
the transfer destination determining process apparatus 1, the protocol
terminating apparatuses 3a, 3b, 3c, - - - , 3n set a layer lower than, or
equal to a layer 3 based upon this information for defining the transfer
destination, and transfers this datagram to an external network.
The protocol terminating apparatuses 3a, 3b, 3c, - - - , 3n are logically
constituted by a plurality of protocol terminating apparatuses.
Alternatively, all of the respective protocol terminating apparatuses, or
some of these protocol terminating apparatuses may be constituted by the
same hardware circuits.
Concretely speaking, in the case that a layer 2 is equal to an ATM, since a
path is established with respect to a virtual destination every VP
(Virtual Path), each of these VPs is logically terminated by a single
protocol terminating apparatus. It is physically conceivable that an
apparatus for terminating a single physical line terminates a plurality of
VPs.
Logically speaking, the protocol terminating apparatuses 2a, 2b, 2c, - - -
, 2n provided on the reception side, and also the protocol terminating
apparatuses 3a, 3b, 3c, - - - , 3n provided on the transmission side own
independent functions, i.e., the reception function and the transmission
function, respectively. Since the respective protocol terminating
apparatuses are physically constituted by the same hardware circuits,
these protocol terminating apparatuses may alternatively support
bidirectional communications.
In the embodiment of FIG. 1, the datagram transfer apparatus 4 owns one set
of the transfer destination determining process apparatus 1.
Alternatively, as shown in FIG. 2, the respective protocol terminating
apparatuses 2a, 2b, 2c, 2d may be connected to the exclusively-used
transfer destination determining process apparatuses 1 in an one-to-one
correspondence.
FIG. 3 is a block diagram for indicating a structural example of the
above-explained transfer destination determining apparatus 1.
The transfer destination determining process apparatus 1 for determining a
transfer destination as to a received IP datagram is arranged by a header
extracting process unit 10, a route solving process unit 11, a flow
managing unit 12, a path selecting process unit 13, an output apparatus
selecting unit 14, a collected flow table 120, and a multi-path table 130.
Now, contents of process operations executed in the respective process
units will be summarized.
When an IP datagram (D) is entered from any one of these protocol
terminating apparatuses 2a, 2b, 2c, - - - , 2n, the header extracting
process unit 10 extracts a destination IP address (A) and flow
discrimination information (F). The destination IP address (A) is used to
determine a transfer path from a header of this datagram (D). The flow
discrimination information (F) is used to discriminate a flow.
Then, the destination IP address (A) is outputted to the route solving
process unit 11 so as to solve the transfer destination path, and the flow
discrimination information (F) is outputted to the flow managing unit (12)
in order to discriminate the flow.
It is now assumed that the flow discrimination information (F) for
discriminating a flow to be extracted is such flow discrimination
information which can be discriminated by a specific bit of a value saved
in a flow label field of the header information of the IP datagram (D).
All of the flow labels need not be read, but only the portions for saving
several bits, which are required to be distributed/transferred, are read
out. For instance, in order to avoid such a fact that the IP addresses in
the presently available IPv4 are exhausted, in the IPv6 in which the
address region is extended to 128 bits, the flow label field for
discriminating the flow is owned in the header information (detailed
description thereof will be explained later with reference to FIG. 4). In
accordance with the present invention, there is no need to extract all of
the information saved in the 20-bit field of the flow label used to
uniquely the flow in the IPv6 header, but only such information of a
preselected partial portion may be extracted which is required to
transfer/distribute the datagram to a plurality of paths.
In embodiments of the present invention, a description is made of an IP
datagram transfer operation mainly based upon the IPv6 protocol.
In the route solving process unit 11 into which a destination IP address
(A) is entered, a transfer destination path is solved by the destination
IP address (A), namely where the received datagram is transmitted.
Then, the subsequent process operations are made different from each other,
depending upon a single path and a multi-path as the transfer destination
path to be solved. That is, in the single path, the transfer destination
is uniquely determined. In the multi-path, a plurality of transfer
destination subjects are present, and it is required to determine that the
received datagram is transferred to which transfer path.
In this case, concepts about such a single path and a multi-path will now
be explained with reference to FIG. 13.
FIG. 13 is an explanatory diagram for explaining the concepts about the
single path and the multi-path.
The following case is considered in FIG. 13. That is, the Internet
communication is carried out from a terminal T10 belonging to an
enterprise-used LAN:L1 which is connected to an edge apparatus E1, to
another terminal T20 belonging to another enterprise-used LAN:L2 which is
connected to a core network via an edge apparatus E4. Similarly, it is now
assumed that an Internet communication may be performed between a terminal
T30 belonging to a LAN:L3 and the terminal T20 via another edge apparatus
E3 and the edge apparatus E4.
Setting as to whether a single path, or a multi-path is selected is carried
out by an operation manager of a core network with respect to, for
example, data transferred between specific edge apparatuses. In such a
case that since an edge apparatus of a data transfer destination can be
specified by a destination IP address contained in an IP datagram, it is
possible to discriminate that either the single path or the multi-path is
set with reference to the destination IP address. Then, the multi-path is
set to the most important line and such a section where an occurrence of
congestion is expected.
For example, a more stable data communication service may be provided by
setting the multi-path in accordance with the following manner. That is,
as to data which is directed from the edge apparatus E1 connected to the
LAN L1 to the edge apparatus E4 connected to the LAN L2, while a plurality
of transfer destinations are determined as detour paths for distributing
traffics, or failure detour paths, the data communication between L1 and
L2 is carried by that any one of the plural paths can be selected in
response to conditions of the core network.
In a concrete explanation, when the edge apparatus E1 receives the data
transmitted from the terminal T10 belonging to the LAN L1, the edge
apparatus E1 transmits the data to such a transfer path which is judged as
an optimum path by the transfer destination determining process apparatus
of the present invention. Also, in N1, N2, N3 corresponding to the
repeating apparatus, the data is transferred to a path which is previously
determined by this destination, so that the data may be transmitted via
the edge apparatus E4 to the terminal T20.
On the other hand, when it is so determined that a datagram is communicated
in a single path between the LAN:L3 and the LAN:L2, a transfer destination
is uniquely determined.
That is, assuming now that the above-described datagram is always
communicated between the LAN:L3 and the LAN:L2 via the edge apparatus E3,
the repeating apparatuses N5 and N6, and the edge apparatus E4, the edge
apparatus E3 which has received the data from the terminal T30 belonging
to the LAN:L3 transmits the data to the repeating apparatus N5 as the
transfer destination, and performs the data communication only through a
path of P4 indicated in FIG. 13.
As described above, each of the edge apparatuses having the transfer
destination determining process apparatus of the present invention can
make such a discrimination, namely, each edge apparatus can determine as
to whether the data is previously transferred via the single path, or the
multi-path in response to a destination IP address of the received data
during operation.
In other words, in the transfer destination determining process apparatus,
as to the received datagram, whether the received datagram is transferred
via the single path or the multi-path every designation IP address may be
discriminated by referring to such information previously registered by
the operation manager of the network. This method capable of
discriminating the single path number and the multi-path number to be
transferred from the IP address information maybe realized by the
following discriminating method. That is, in the edge apparatus equipped
with the transfer destination determining apparatus, both the address
information of each user and the transfer path are transmitted via either
the single path or the multi-path. Otherwise, while a table for storing
thereinto the corresponding information is held, the discrimination is
made by referring to the above-described table based upon the address
information of the received datagram.
That is to say, while a correspondence list (not shown) is saved in the
edge apparatus, the edge apparatus may determine as to whether the
received datagram is transferred via the single path, or the multi-path by
referring to this correspondence list based upon the destination IP
address of the received IP datagram. This correspondence list registers
therein such a decision condition as to whether the received datagram is
transferred via the single path, or the multi-path with respect to each of
the predetermined IP addresses, or the predetermined IP network addresses
based upon discrimination information which is previously determined
between a user (corresponding to subscriber) and a carrier.
Alternatively, another discriminating method may be used, depending upon
the operation thereof. That is, the below-mentioned discrimination
information is superimposed on the header information of the IPdatagram,
and the resultant header information is transmitted from the subscriber.
Then, the transfer destination processing apparatus reads this
discrimination information used to determine whether or not the received
datagram is transferred via the single path, or whether or not the
transfer destination is determined as the multi-path.
As previously explained, the route solving process unit 11 employed in the
transfer destination determining process apparatus 1 shown in FIG. 3 can
make such a judgement between the single path whose transfer destination
can be uniquely determined and the multi-path having a plurality of
transfer destinations based upon the destination IP address (A). Also, a
multi-path number is set to each of the multi-paths. This multi-path
number is equal to a discrimination number of a multi-path, which is
discriminatable in a core network during operation.
Then, in the route solving process unit 11, when this route solving process
unit 11 judges that the transfer destination is the single path based upon
the destination IP address (A), since the transfer destination can be
uniquely determined, a transfer path (P) corresponding to this destination
IP address (A) is outputted to the output apparatus selecting unit 14.
Also, when the path solving process operation unit 11 judges that the
transfer destination is the multi-path, since there are plural transfer
path subjects, this path solving process operation unit 11 judges which
transfer path is used.
Subsequently, a concrete example of the transfer destination determining
process operation in the case that the transfer destination of the
received datagram (D) is the multi-path will now be described.
When the route solving process unit 11 judges that the transfer destination
is the multi-path based upon the destination IP address (A) extracted from
the received datagram (D), the route solving process unit 11 extracts the
multi-path number (N) and then outputs the extracted multi-path number (N)
to the flow managing unit 12. The multi-path number (N) corresponds to
information for discriminating the route having the multi-path.
Upon input of the multi-path number (N), the flow managing unit 12 refers
to the collected flow table 120 based upon both the flow discrimination
information (F) entered from the header extracting process unit 10 and the
multi-path number (N) in order to check as to whether or not the transfer
path (P) corresponding to a set of the flow discrimination information (F)
and the multi-path number (N) is registered.
The collected flow table 120 stores thereinto the transfer paths with
respect to the sets of the multi-path numbers (N) and the flow
discrimination information (F). If such a transfer path (P) with respect
to the set between the flow discrimination information (F) and the
multi-path number (N) which are notified from the flow managing unit 12 is
stored in this collected flow table 120, then this transfer path (P) is
read to be notified to the flow managing unit 12. In the case that the
transfer path (P) is notified from the collected flow table 120 to the
flow managing unit 12, this flow managing unit 12 can determine and
transmit the transfer destination of the received IP datagram by supplying
this transfer path (P) to the output apparatus selecting unit 14.
Also, in such a case that the transfer path (P) corresponding to these
multi-path number (N) and flow discrimination information (F) is not
stored in the collected flow table 120, when this fact is notified from
the collected flow table 120, the flow managing unit 12 outputs both the
multi-path number (N) and the flow discrimination information (F) to the
path selecting process unit 13.
As previously explained, the collected flow table 120 stores thereinto the
transfer paths (P) corresponding to both the multi-path numbers (N) and
the flow discrimination information (F) When the above-described various
information stored in the collected flow table is not read by the flow
managing unit for a time period longer than, or equal to a predetermined
time period, the stored information is deleted from this collected flow
table 120.
As other cases that no corresponding transfer path is stored in the
collected flow table 120, the following cases are conceivable. That is, in
the initial stage of the network operation, and the extension/change of
the facilities, while the data related to the relevant IP datagram is not
transferred, the transfer destination information is not yet registered in
the collected flow table.
As explained above, in the case that the corresponding transfer path
information is not yet stored in the collected flow table 120, when the
multi-path number (N) and the flow discrimination information (F) are
notified from the flow managing unit 12 to the path selecting process unit
13, this path selecting process unit 13 refers to the multi-path table 130
so as to determine one transfer path (P) among a plurality of paths set as
the mu | | |