U.S. patent application number 11/875202 was filed with the patent office on 2008-10-16 for label switching system.
This patent application is currently assigned to Fujitsu Limited. Invention is credited to Yasushi Sasagawa.
Application Number | 20080253379 11/875202 |
Document ID | / |
Family ID | 18534734 |
Filed Date | 2008-10-16 |
United States Patent
Application |
20080253379 |
Kind Code |
A1 |
Sasagawa; Yasushi |
October 16, 2008 |
LABEL SWITCHING SYSTEM
Abstract
A packet router in a label switching system includes a logical
router configuring module for logically dividing a label switching
router (LSR) into a plurality of LSRs each having a label switching
function, and a module for specifying, when setting a label
switched path on the basis of an explicit route specified, a port
or a port group of an egress node. With this construction, a label
switching architecture in an ATM network for actualizing MPLS
(label switching) can be mapped to an ATM-Switch base system
architecture, and a granularity of function (Constraint Base
Routing) of specifying a variety of routes provided by MPLS can be
attained.
Inventors: |
Sasagawa; Yasushi;
(Kawasaki-shi, JP) |
Correspondence
Address: |
KATTEN MUCHIN ROSENMAN LLP
575 MADISON AVENUE
NEW YORK
NY
10022-2585
US
|
Assignee: |
Fujitsu Limited
Kawasaki-shi
JP
|
Family ID: |
18534734 |
Appl. No.: |
11/875202 |
Filed: |
October 19, 2007 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
09696674 |
Oct 25, 2000 |
7336648 |
|
|
11875202 |
|
|
|
|
Current U.S.
Class: |
370/395.5 |
Current CPC
Class: |
H04L 45/60 20130101;
H04L 12/66 20130101; H04L 45/10 20130101; H04L 41/08 20130101; H04L
41/0823 20130101; H04L 45/507 20130101 |
Class at
Publication: |
370/395.5 |
International
Class: |
H04L 12/56 20060101
H04L012/56 |
Foreign Application Data
Date |
Code |
Application Number |
Jan 11, 2000 |
JP |
2000-006160 |
Claims
1. (canceled)
2. An explicit routing method in a label switching system,
comprising: a step of flooding, as topology data, a set of an
intra-system port and an IP address allocated to the port, or a set
of a port group among a plurality of groups into which the ports
are divided, and an IP address allocated to the port group; and a
step of managing the topology data flooded from other system and,
when setting a label switched path on the basis of an explicit
route specified, explicitly specifying a port or a port group of an
egress node, and a port or a port group of a relay node on the
basis of the received topology data.
3. An explicit routing method in a label switching system,
comprising: a step of flooding, as topology data, a set of an
intra-system port and an IP address allocated to the port, or a set
of a port group among a plurality of groups into which the ports
are divided, and an IP address allocated to the port group.
4. An explicit routing method in a label switching system,
comprising: a step of flooding, as topology data, a set of an
intra-system port and an IP address allocated to the port, or a set
of a port group among a plurality of groups into which the ports
are divided, and an IP address allocated to the port group by use
of Opaque LSA of OSPF protocol.
5-12. (canceled)
13. A packet router in a label switching system, comprising: a
module for flooding, as topology data, a set of an intra-system
port and an IP address allocated to the port, or a set of a port
group among a plurality of groups into which the ports are divided,
and an IP address allocated to the port group; and a module for
managing the topology data flooded from other system and, when
setting a label switched path on the basis of an explicit route
specified, explicitly specifying a port or a port group of an
egress node, and a port or a port group of a relay node on the
basis of the received topology data.
14. A packet router in a label switching system, comprising: a
module for flooding, as topology data, a set of an intra-system
port and an IP address allocated to the port, or a set of a port
group among a plurality of groups into which the ports are divided,
and an IP address allocated to the port group.
15. A packet router in a label switching system, comprising: a
module for flooding, as topology data, a set of an intra-system
port and an IP address allocated to the port, or a set of a port
group among a plurality of groups into which the ports are divided,
and an IP address allocated to the port group by use of Opaque LSA
of OSPF protocol.
16-22. (canceled)
Description
BACKGROUND OF THE INVENTION
[0001] The present invention relates generally to a label switching
system, and more particularly to an explicit routing method and a
packet router in this label switching system.
[0002] The label switching is a key technology for actualizing an
Intranet/Internet backbone oriented high-speed transfer, traffic
load sharing and band control on a full scale. The label switching
also functions to match a routing process at an IP level (Layer 3)
with a switching process on a lower layer (Layer 2) where ATM, a
frame relay, Ethernet etc are conducted, and perform packet
forwarding (transmission, exchange and transfer) on Layer 2
according to [labels] attached to IP packets.
[0003] Standardization of this label switching are now being
promoted as MPLS (Multi Protocol Label Switching) by MPLS-WG of
IETF (Internet Engineering Task Force). Further, ITU (International
Telecommunication Union) also examines the use of MPLS in IP over
ATM (IP/ATM) in the public network.
[0004] Generally, the label switching has such a characteristic
that the data can be transferred at a high speed, a scalability can
be obtained, and a traffic can be easily controlled. An ATM-LSR
(ATM Label Switching Router) for actualizing the label switching in
the ATM network uses VPI (Virtual Path Identifier) for identifying
VP (Virtual Path) and VCI (Virtual Channel Identifier) for
identifying VC (Virtual Channel) as labels, and IP packets are
mapped (interworking) to ATM layer (Layer 2).
[0005] Taking into consideration a situation wherein a great number
of ATM networks have already been developed in the field and a
multiplicity of ATM systems have been put on the market, for
developing the label switching in a real network, it is of much
importance to contrive how the existing ATM-Switch architecture is
mapped to the label switching. It is also desired that the label
switching exhibiting a high compatibility with the existing
ATM-Switch architecture, be actualized.
[0006] On the other hand, traffic engineering (load sharing)
conceived as one of most important applications of MPLS aims at
utilizing an efficient and reliable network and at the same time
optimizing an activity ratio of network resources. What is
requested for attaining this is a (Constraint Base Routing)
function of specifying a variety of routes without being limited to
the IP routing with respect to MPLS.
[0007] Moreover, it is desired for actualizing optimization of the
traffic engineering that the traffic engineering be capable of
gasping an activity state of the network resources with a variety
of hyper structures. Accordingly, the variety of granularity are
likewise required of the (CR) function of specifying the many
routes provided by MPLS.
[0008] It is herein considered to design an architecture for
actualizing an LSR (Label Switching Router) as an edge device of
MPLS on ATM-Switch base. What is herein focused on is a method of
mounting an IP/MPLS forwarding function.
[0009] FIGS. 1, 2 and 3 each show an example of architecture of the
LSR as the MPLS edge device on ATM-Switch base, wherein the label
switching architecture is mapped intact.
[0010] The example of architecture shown in FIG. 1 includes a
method of incorporating the IP/MPLS forwarding function into a CPU.
According to this method, however, the CPU analyzes the packets,
searches a routing table and edits a packet header, and therefore
high-speed forwarding can not be actualized.
[0011] What is given in the example of architecture shown in FIG. 2
is such a method that the IP/MPLS forwarding function (hardware) is
mounted at a pre-stage of the CPU, the CPU controls the IP/MPLS
forwarding function on the basis of data about results of executing
a label distribution protocol and a routing protocol, the IP/MPLS
forwarding function resultantly short-cuts the CPU, and the
high-speed forwarding is thus actualized.
[0012] According to this method, when actualized based on the ATM
switch, a common unit needs a new piece of hardware, and there is a
problem in terms of a mounting space and a mounting cost as
well.
[0013] What is given in the example of architecture shown in FIG. 3
is such a method that the IP/MPLS forwarding function (hardware) is
mounted in each adapter (an external interface: a package
containing one or a plurality of ports, which corresponds to a port
group), the CPU controls the IP/MPLS forwarding function on the
basis of the data about the results of executing the label
distribution protocol and the routing protocol, the IP/MPLS
forwarding function resultantly short-cuts the CPU, and the
high-speed forwarding is thus actualized.
[0014] This method needs an addition of functions to the adapter
(the problems in terms of mounting is smaller than a change in the
common unit), and, as in the example of architecture shown in FIG.
2, there exists the problem in terms of the mounting space and the
mounting cost. Further, both of the adapter at an ingress for the
packets and the adapter at an egress for the packets terminate the
IP/MPLS, which is redundant control.
[0015] An example of architecture shown in FIG. 4 may be considered
as an eclectic design of architecture between FIG. 2 and FIG. 3.
This is a method, wherein the IP/MPLS forwarding function
(hardware) is mounted in an egress for the packets, i.e., in the
adapter provided toward a non-MPLS network, the CPU controls the
IP/MPLS forwarding function on the basis of the data about the
results of executing the label distribution protocol and the
routing protocol, the IP/MPLS forwarding function resultantly
short-cuts the CPU, and the high-speed forwarding is thus
actualized.
[0016] This method needs an addition of functions to the adapter
(the problems in terms of mounting is smaller than the change in
the common unit), and, as in the examples of architecture shown in
FIGS. 2 and 3, there exists the problem in terms of the mounting
space and the mounting cost. On the system, however, IP/MPLS is
terminated by only the adapter at the egress for the packets, and
hence the redundant control is not required, which is more
advantageous than the example of architecture shown in FIG. 3.
[0017] Herein, the label distribution protocol of MPLS will be
described. The label distribution protocol is roughly categorized
into the following two types as routing methods.
[0018] (1) Hop by hop routing: A route is determined (routing) hop
by hop based on a routing table.
[0019] (2) Constraint Base Routing: This is explicit routing by an
ingress node on the basis of routing data and other various items
of data, and is also routing in which a variety of system resources
such as QoS etc are specified.
[0020] Further, the following three protocols are the typical label
distribution protocols.
[0021] (1) LDP (Label Distribution Protocol: Note that this herein
indicates a specific protocol.)
[0022] This is a protocol for best-effort communications by hop by
hop routing.
[0023] (2) CR-LDP (Constraint-Based LSP Setup using LDP)
[0024] This is the label distribution protocol capable of
performing the explicit routing and QoS communications etc, and is
an extension version of LDP.
[0025] (3) RSVP Extensions (Extensions to RSVP for LSP Tunnels)
[0026] This is the label distribution protocol capable of
performing the explicit routing and QoS communications etc, and is
an extension version of RSVP.
[0027] It is to be noted that OSPF (Open Shortest Path First) is a
routing protocol in FIGS. 1 through 4, and is one type of interior
gateway protocol (IGP). Further, a forwarder, which terminates MPLS
and IP, actualizes MPLS forwarding for the MPLS network and
actualizes IP forwarding for the IP network (non-MPLS network).
[0028] FIG. 5 shows an example of sequence of the hop by hop
routing. As shown in FIG. 5, according to the hop by hop routing,
an ingress LSR (an Edge-LSR in an MPLS domain) that detects a
trigger for setting an LSP (Label Switched Path) sets, in Label
Request message, an FEC (Forwarding Equivalence Class: This
indicates an aggregation of packets passing though the LSP, and, at
the present, an address prefix having a length of 0.about.32 bits
and a full host address are defined as FEC elements, and the FEC is
an aggregation of the FEC elements.) corresponding to the LSP to be
set. The ingress LSR then determines NEXT HOP by searching the
routing table with the FEC serving as key data, and transmits Label
Request message to this NEXT HOP.
[0029] A relay node (an ATM-LSR in an MPLS domain) receiving Label
Request message determines NEXT HOP by searching the routing table
with the FEC in the received message serving as key data, and
transmits Label Request message to this NEXT HOP.
[0030] An egress LSR (an Edge-LSR in an MPLS domain) receiving
Label Request message recognizes that the egress LSR is the egress
by searching the routing table with FEC in the received message
serving as key data, then determines a label used for the LSP,
subsequently sets the LSP and also sets the label in Label Mapping
message, and transmits it to an upstream LSR.
[0031] The relay LSR receiving Label Mapping message sets an LSP to
a downstream LSR, determines a label with respect to the upstream
LSR which is used for this LSP, then sets the LSP and also sets
this label in Label Mapping message, and transmits it to the
upstream LSR.
[0032] The ingress LSR receiving Label Mapping message sets an LSP
to the downstream LSR. The setting of the LSP from the ingress LSR
down to the egress LSR is thus completed.
[0033] FIG. 6 shows an example of sequence of explicit routing
based on CR-LDP. The followings are larger differences of this
example from FIG. 5. The ingress LSR detecting the trigger for
setting the LSP (Label Switched Path) determines a plurality of
LSRs through which the LSP set by a local policy and so forth based
on topology data etc passes, then explicitly sets the LSRs in Label
Request message (the FEC set at this time is generally "CRLSP"
additionally defined by CR-LSP, and it is indicated that the FEC
corresponding to this LSP dynamically changes). The ingress LSR
similarly determines NEXT HOP by the local policy etc, transmits
Label Request message to this NEXT HOP. The relay LSR receiving
Label Request message determines NEXT HOP on the basis of the
explicit route in the received message, and the egress LSR
receiving Label Request message recognizes from the explicit route
in the received message that the same LSR itself is an egress.
[0034] FIG. 7 shows an example of sequence of explicit routing
based on RSVP Extensions. The followings are large differences of
this example from FIG. 6. LDP explicitly sets a session on TCP,
while RSVP Extensions tacitly set the session. Label Request
message and Label Mapping message are replaced respectively with
Path message and Reserve message.
[0035] In the LSR adopting the system architecture shown in FIG. 4,
if considering the LSP based on the label distribution protocol,
the MPLS architecture can not be mapped well to the system
architecture shown in FIG. 4 for reasons which follow.
[0036] (1) According to a concept of MPLS that is being now
developed in IETF, the egress node terminates MPLS, then determines
an output port in accordance with IP routing (forwarding), and
forwards the packets.
[0037] (2) According to Explicit Routing (based on both of CR-LDP
and RSVP Extensions) of MPLS that is nor being developed in IETF, a
node or an aggregation of nodes through which the packets pass, is
or are specified.
[0038] (3) In the system architecture shown in FIG. 4, an IP
forwarding engine is mounted in the adapter, and hence it is
required that not the egress node but the adapter of the egress
node terminates IP/MPLS.
[0039] To be specific, the label distribution protocols of both of
hop by hop routing and Explicit Routing are incapable of indicating
an intra-system specified adapter or port, and it is therefore
unfeasible to set the LSP in which the specified adapter of the
egress node is a terminal.
[0040] In the case of hop by hop routing based on LDP, FEC is
specified in Label Request message, and, according to a present
version of LDP, only one FEC element is allowed as FEC in the
message. Therefore, the egress node is capable of specifying the
egress node from this FEC.
[0041] Further, as described above, a minimum unit of a hyper
structure for specifying the explicit route of present MPLS, is a
node. It might be herein considered that the hyper structure
capable of specifying a given port and a given group of the node in
addition to the specifying on the node basis.
SUMMARY OF THE INVENTION
[0042] Accordingly, it is a primary object of the present invention
to provide an explicit routing method and a packet router that are
capable of mapping a label switching architecture in an ATM network
which actualizes MPLS (Label Switching) to an ATM-Switch base
system architecture, and attaining a granularity of function
(Constraint Base Routing) of specifying a variety of routes
provided by MPLS.
[0043] Namely, the present invention aims at providing a design of
how the MPLS architecture is mapped to the packet router (LSR)
taking an architecture shown in FIG. 4, and of how this packet
router is mapped to the MPLS architecture in terms of a mounting
space and a mounting cost. To describe it in greater details, the
present invention aims at designing how an egress adapter
terminates MPLS in the packet router if this packet router is an
egress of MPLS.
[0044] It is another object of the present invention to support a
granularity capable of specifying a given port and a given port
group in addition to the specifying on a node basis when specifying
an explicit route of MPLS.
[0045] To accomplish the above objects, a first explicit routing
method in a label switching system according to the present
invention, comprises a step of logically dividing a label switching
router(LSR) into a plurality of LSRs each having a label switching
function, and a step of specifying, when setting a label switched
path on the basis of an explicit route specified, a port or a port
group of an egress node.
[0046] A second explicit routing method in a label switching system
according to the present invention comprises a step of flooding, as
topology data, a set of an intra-system port and an IP address
allocated to the port, or a set of a port group among a plurality
of groups into which the ports are divided, and an IP address
allocated to the port group, and a step of managing the topology
data flooded from other system and, when setting a label switched
path on the basis of an explicit route specified, explicitly
specifying a port or a port group of an egress node, and a port or
a port group of a relay node on the basis of the received topology
data.
[0047] A third explicit routing method in a label switching system
according to the present invention comprises a step of flooding, as
topology data, a set of an intra-system port and an IP address
allocated to the port, or a set of a port group among a plurality
of groups into which the ports are divided, and an IP address
allocated to the port group.
[0048] A fourth explicit routing method in a label switching system
according to the present invention comprises a step of flooding, as
topology data, a set of an intra-system port and an IP address
allocated to the port, or a set of a port group among a plurality
of groups into which the ports are divided, and an IP address
allocated to the port group by use of Opaque LSA of OSPF
protocol.
[0049] A fifth explicit routing method in a label switching system
according to the present invention comprises a step of explicitly
specifying, when setting a label switched path on the basis of an
explicit route specified, a port or a port group of an egress node,
and a port or a port group of a relay node.
[0050] A sixth explicit routing method in a label switching system
according to the present invention may further comprise a step of
specifying a port or a port group of the egress node by setting an
IP address corresponding to the port or the port group of the
egress node in final ER-HOP-TLV in ER-TLVs in Label Request Message
of CR-LDP, and a step of specifying a port or a port group of the
relay node by setting an IP address corresponding to the port or
the port group of the relay node in intermediate ER-HOP-TLV in
ER-TLVs in Label Request Message of the CR-LDP.
[0051] A seventh explicit routing method in a label switching
system according to the present invention may further comprise a
step of specifying the port or the port group of the egress node
and the port or the port group of the relay node by adding an
intra-system port number or an intra-system port group number in
ER-HOP-TLV in ER-TLVs in Label Request Message of CR-LDP.
[0052] An eighth explicit routing method in a label switching
system according to the present invention may further comprise a
step of explicating a port through which data should pass per
system and specifying a port or a port group of the egress node by
use of resource class TLV with ER-TLV in Label Request Message of
CR-LDP being used as ER-HOP-TLV.
[0053] A ninth explicit routing method in a label switching system
according to the present invention may further comprise a step of
specifying a port or a port group of the egress node by setting an
IP address corresponding to the port or the port group of the
egress node in final Subject-object in Explicit Route Objects in a
path message of RSVP protocol extended for setting a label switched
path in MPLS protocol, and a step of specifying a port or port
group of the relay node by setting an IS address corresponding to
the port or the port group of the relay node in intermediate
Subject-object in Explicit Route Objects in the path message of the
RSVP protocol.
[0054] A tenth explicit routing method in a label switching system
according to the present invention may further comprise a step of
specifying a port or a port group of the egress node and a port or
a port group of the relay node by adding an intra-system port
number or an intra-system port group number in Subject-object in
Explicit Route Objects in the path message of RSVP protocol
extended for setting the label switched path in MPLS protocol.
[0055] An eleventh explicit routing method in a label switching
system according to the present invention comprises a step of
specifying an MPLS explicit route by adding, to an IP-over-MPLS
(IP/MPLS)forwarding function of one specified egress-and-ingress
port group, a communication function with the IP/MPLS forwarding
function of an intra-system other port group, and a forwarding
function to the intra-system other port group.
[0056] A first packet router in a label switching system according
to the present invention comprises a logical router configuring
module for logically dividing a label switching router (LSR) into a
plurality of LSRs each having a label switching function, and a
module for specifying, when setting a label switched path on the
basis of an explicit route specified, a port or a port group of an
egress node.
[0057] A second packet router in a label switching system according
to the present invention comprises a module for flooding, as
topology data, a set of an intra-system port and an IP address
allocated to the port, or a set of a port group among a plurality
of groups into which the ports are divided, and an IP address
allocated to the port group, and a module for managing the topology
data flooded from other system and, when setting a label switched
path on the basis of an explicit route specified, explicitly
specifying a port or a port group of an egress node, and a port or
a port group of a relay node on the basis of the received topology
data.
[0058] A third packet router in a label switching system according
to the present invention comprises a module for flooding, as
topology data, a set of an intra-system port and an IP address
allocated to the port, or a set of a port group among a plurality
of groups into which the ports are divided, and an IP address
allocated to the port group.
[0059] A fourth packet router in a label switching system according
to the present invention comprises a module for flooding, as
topology data, a set of an intra-system port and an IP address
allocated to the port, or a set of a port group among a plurality
of groups into which the ports are divided, and an IP address
allocated to the port group by use of Opaque LSA of OSPF
protocol.
[0060] A fifth packet router in a label switching system according
to the present invention comprises a module for explicitly
specifying, when setting a label switched path on the basis of an
explicit route specified, a port or a port group of an egress node,
and a port or a port group of a relay node.
[0061] A sixth packet router in a label switching system according
to the present invention may further comprise a module for
specifying a port or a port group of the egress node by setting an
IP address corresponding to the port or the port group of the
egress node in final ER-HOP-TLV in ER-TLVs in Label Request Message
of CR-LDP, and a module for specifying a port or a port group of
the relay node by setting an IP address corresponding to the port
or the port group of the relay node in intermediate ER-HOP-TLV in
ER-TLVs in Label Request Message of the CR-LDP.
[0062] A seventh packet router in a label switching system
according to the present invention may further comprise a module
for specifying the port or the port group of the egress node and
the port or the port group of the relay node by adding an
intra-system port number or an intra-system port group number in
ER-HOP-TLV in ER-TLVs in Label Request Message of CR-LDP.
[0063] An eighth packet router in a label switching system
according to the present invention may further comprise a module
for explicating a port through which data should pass per system
and specifying a port or a port group of the egress node by use of
resource class TLV with ER-TLV in Label Request Message of CR-LDP
being used as ER-HOP-TLV.
[0064] A ninth packet router in a label switching system according
to the present invention may further comprise a module for
specifying a port or a port group of the egress node by setting an
IP address corresponding to the port or the port group of the
egress node in final Subject-object in Explicit Route Objects in a
path message of RSVP protocol extended for setting a label switched
path in MPLS protocol, and a module for specifying a port or port
group of the relay node by setting an IP address corresponding to
the port or the port group of the relay node in intermediate
Subject-object in Explicit Route Objects in the path message of the
RSVP protocol.
[0065] A tenth packet router in a label switching system according
to the present invention may further comprise a module for
specifying a port or a port group of the egress node and a port or
a port group of the relay node by adding an intra-system port
number or an intra-system port group number in Subject-object in
Explicit Route Objects in the path message of RSVP protocol
extended for setting the label switched path in MPLS protocol.
[0066] An eleventh packet router in a label switching system
according to the present invention comprises a module for
specifying an MPLS explicit route by adding, to an IP/MPLS
forwarding function of one specified egress-and-ingress port group,
a communication function with the IP-over-MPLS (IP/MPLS) forwarding
function of an intra-system other port group, and a forwarding
function to the intra-system other port group.
[0067] According to the present invention, it is feasible to
actualize MPLS on the packet router taking the architecture of
mounting an IP/MPLS forwarder in an adapter at an egress for
packets in terms of a mounting space and a mounting cost. As a
result, MPLS utilizing the existing system architecture can be
easily mounted.
[0068] Further, according to the present invention, when setting an
explicit LSP, it is possible to attain routing elaborate enough to
specify the ports or the port groups of the relay node and of the
egress node. As a result, there is yielded a effect of expanding a
range of utilizing an application making use of MPLS such as
traffic engineering etc.
BRIEF DESCRIPTION OF THE DRAWINGS
[0069] These objects and advantages of the present invention will
become more apparent and more readily appreciated from the
following detailed description of the presently preferred exemplary
embodiments, taken in conjunction with the accompanying drawings of
which:
[0070] FIG. 1 is a block diagram showing an example of architecture
of a conventional LSR;
[0071] FIG. 2 is a block diagram showing an example of architecture
of the conventional LSR;
[0072] FIG. 3 is a block diagram showing an example of architecture
of the conventional LSR;
[0073] FIG. 4 is a block diagram showing an example of architecture
of the conventional LSR;
[0074] FIG. 5 is an explanatory view showing a conventional label
distribution sequence;
[0075] FIG. 6 is an explanatory view showing the conventional label
distribution sequence;
[0076] FIG. 7 is an explanatory view showing the conventional label
distribution sequence;
[0077] FIG. 8 is a block diagram showing an architecture of an LSR
in a first embodiment of the present invention;
[0078] FIG. 9 is a block diagram showing a detailed architecture of
an LSR in the first embodiment;
[0079] FIG. 10 is an explanatory flowchart showing an operation of
the LSR in the first embodiment;
[0080] FIG. 11 is a block diagram showing an architecture of the
LSR in a second embodiment of the present invention;
[0081] FIG. 12 is a block diagram showing a detailed architecture
of the LSR in the second embodiment;
[0082] FIG. 13 is an explanatory chart showing an example of
definition of Opaque LSA of OSPF;
[0083] FIG. 14 is an explanatory chart showing an example of
definitions of Label Request Message of CR-LDP, ER-TLV, ER-HOP-TLV
and resource class TLV;
[0084] FIG. 15 is an explanatory chart showing an example of
definitions of Label Request Message of CR-LDP, ER-TLV, ER-HOP-TLV
and resource class TLV;
[0085] FIG. 16 is an explanatory chart showing an example of
additional definition of ER-HOP-TLV;
[0086] FIG. 17 is an explanatory chart showing an example of
definitions of Path Message of RSVP Extension, and Explicit-Route
Object and IPv4 Subobject;
[0087] FIG. 18 is an explanatory chart showing an example of
additional definition of Subobject of Explicit-Route Object;
[0088] FIG. 19 is an explanatory flowchart showing an operation of
the LSR in the second embodiment;
[0089] FIG. 20 is an explanatory flowchart showing the operation of
the LSR in the second embodiment;
[0090] FIG. 21 is an explanatory flowchart showing the operation of
the LSR in the second embodiment;
[0091] FIG. 22 is a block diagram showing an architecture of the
LSR in a third embodiment of the present invention;
[0092] FIG. 23 is a block diagram showing a detailed architecture
of a forwarder in the LSR in the third embodiment;
[0093] FIG. 24 is a block diagram showing a detailed architecture
of a forwarder (X) in the LSR in the third embodiment; and
[0094] FIG. 25 is a block diagram showing a detailed architecture
of the forwarder(X) in the LSR in the third embodiment.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0095] Embodiments of the present invention will hereinafter be
described with reference to the accompanying drawings.
First Embodiment
[0096] A label switching router (LSR) classified as a packet router
in a first embodiment of the present invention, will be explained
referring to FIGS. 8, 9 and 10 in combination. FIGS. 8 and 9 show
an architecture of the LSR. FIG. 10 shows a processing
flowchart.
[0097] A label switching router (LSR) 10 in the first embodiment
adopts an architecture of logically mounting a plurality of LSRs in
a system. The independent LSR is logically defined corresponding to
each adapter (corresponding to a port group) within the LSR 10, and
each adapter within the system is recognized as an independent LSR
by other LSRs.
[0098] As shown in FIG. 8, an architecture of the LSR 10 is that
adapters 1 and 2 are connected to an MPLS network (ATM), and
adapters 3 and 4 are connected to a non-MPLS network (Ethernet).
With respect to this LSR 10, LSR 1, LSR 2, LSR 3 and LSR 4 are
defined as logical LSRs, and the respective LSRs are connected in
full-mesh, corresponding to the adapters 1, 2, 3 and 4.
[0099] Based on this architecture, communications (based on a
routing protocol, and a label distribution protocol) with other
LSRs are performed. At this time, the LSR 1, LSR 2 are not
connected to the non-MPLS network, and it may therefore be
sufficient that the LSR 1 and LSR 2 each incorporate a function as
a relay node. The LSR 1 and LSR 2 have neither a necessity of
terminating the LSP nor a necessity of incorporating an IP/MPLS
forwarding function, accordingly.
[0100] Other LSRs are thereby capable of recognizing the LSR 10 as
the independent LSR 1, LSR 2, LSR 3, LSR 4, and, when setting the
LSP for transferring packets which are to be forwarded to a network
connected to the LSR 3. The LSP can be set with the LSR 3 serving
as an egress node. Namely, the LSP can be terminated by the adapter
3.
[0101] To describe it in greater details, as shown in FIG. 9, the
logical LSRs 1, 2, 3 and 4 are defined corresponding to the
adapters, and further a component for managing each of the logical
LSRs is defined.
[0102] With these definitions, the respective logical LSRs 1, 2, 3
and 4 are capable of independently operating with respect to an
outside system. Inside the system, a logical LSR management module
11 manages and integrates the logical LSRs 1, 2, 3 and 4, whereby a
function as one single LSR can be attained.
[0103] Traffic engineering is classified as one of most useful
applications of the MPLS, and aims at optimizing an activity ratio
of network resources and optimizing a forwarding performance of the
traffic. A traffic engineering processing module 12, based on a
database managed by a topology data management module 13,
calculates an optimal set route of the LSP, detects triggers for
adding, changing and deleting the route, and determines a flow of
allocating to the set LSP.
[0104] Further, the traffic engineering processing module 12, based
on the results given above, indicates a label switching processing
module 14 to set, add, change and delete the LSP, and allocate and
change the flow to the LSP. Moreover, the traffic engineering
processing module 12 receives a result of processing and a report
on the LSP set in response to a request made by other LSR from the
label switching processing module 14, and reflects this result in
the database of the topology data management module 13. A part of
the whole of the flow allocating process to the LSP may be executed
by an MPLS forwarder on the adapter.
[0105] The label switching processing module 14, in accordance with
an indication given from the traffic engineering processing module
12, requests the logical LSRs 1, 2, 3 and 4 to set, add, change and
delete the LSP via the logical LSR management module 11. Further,
the label switching processing module 14 receives other LSR's
requests for setting, adding, changing and deleting the LSP from
the LSR management module 11 via the logical LSRs 1, 2, 3 and 4,
and requests the logical LSRs 1, 2, 3 and 4 to execute these
processes via the logical LSR management module 11.
[0106] When executing those processes, labels are caught and
released by communications with a label management module 15, and
at the same time a switch driver 16 is requested to execute
switching from an input label to an output label. Furthermore, an
MPLS forwarding table is updated by communications with an MPLS
forwarding table management module 17, and a part of copies of the
MPLS forwarding table to the logical LSRs 1, 2, 3 and 4 via the
logical LSR management module 11.
[0107] The logical LSR management module 11 controls the
communications with the logical LSRs 1, 2, 3 and 4, and executes
mutual translations between a logical architecture and a physical
architecture with respect to the communications between the label
switching processing module 14 and the logical LSRs 1, 2, 3 and 4.
To be more specific, the logical LSR management module 1 maps a
physical-architecture-based request given from the label switching
processing module 14 to the logical architecture, and notifies the
logical LSRs 1, 2, 3, 4 of this mapping. Reversely, the logical LSR
management module 11 maps logical-architecture-based requests given
from the logical LSRs 1, 2, 3, 4 to the physical architecture, and
notifies the label switching processing module 14 of this
mapping.
[0108] The label management module 15, the topology data management
module 13, the IP routing table management module 18 and the MPLS
forwarding table management table 17, manage the respective
databases thereof, and provide functions of searching and updating
these databases.
[0109] The switch driver 16 controls an ATM switch Fabric (core
switch), and sets and deletes the LSP. An adapter #n driver 19
provides the logical LSRs 1, 2, 3 and 4 with an adapter control
function.
[0110] The label switching processing modules 20 in the logical
LSRs 3 and 4 manage the whole of the logical LSRs 1, 2, 3, 4, and
execute a virtual label switching process in response to
indications given from the logical LSRs 1, 2, 3 and 4. That is, the
label switching processing module 14 and the logical LSR management
module 11 carry out operations of managing the intra-system LSPs,
allocating the labels, performing switch control, and updating the
IP routing table and the MPLS forwarding table, and controls a
protocol process with outside LSRs.
[0111] IP routing protocol processing modules 21 in the logical
LSRs 3 and 4, execute the processes of protocols such as OSPF,
RIP2, BGP4 etc. A topology data flooding processing module 22
executes a protocol process relative to a flood of the topology
data for the traffic engineering independently of the topology
process pertaining to the IP routing. Mounting thereof may,
however, also be what is integrated as a protocol into which the
routing protocol of the IP routing protocol processing module 21 is
extended.
[0112] The label distribution protocol processing modules 23 in the
logical LSRs 3 and 4 execute a label distribution protocol such as
LDP, CR-LDP, RSVP Extension etc. A forwarder control module 24
controls a forwarder mounted into the adapter. That is, the
forwarder control module 24 initializes and updates an IP
forwarding table and an MPLS forwarding table that are possessed by
the forwarder.
[0113] Further, the label switching processing modules 20, the IP
routing protocol processing modules 21, the topology data flooding
processing modules 22, the label distribution protocol processing
modules 23 and the forwarder control modules 24 in the logical LSRs
1 and 2, are the same functions as those modules in the logical
LSRs 3 and 4. Note that the logical LSRs 1 and 2 do not terminate
the MPLS/IP, and hence the forwarder control modules 24 have no
necessity of being operated.
[0114] With the above architecture (a software architecture may
also be taken) adopted, as a result, an explicit route with a
specified egress adapter of the egress node can be set.
Second Embodiment
[0115] The label switch router (LSR) serving as a packet router in
a second embodiment of the present invention will be described with
reference to FIGS. 11, 12, 13 through 18, 19, 20 and 21 in
combination. FIGS. 11 and 12 show an architecture of the label
switch router (LSR). FIGS. 13 through 18 show examples of a variety
of definitions of the protocols for the traffic engineering. FIGS.
19, 20 and 21 are flowcharts showing the processes.
[0116] A label switching router (LSR) 30 in the second embodiment
takes such an architecture that the intra-system adapters can be
specified.
[0117] As shown in FIG. 11, the LSR 30 has a database stored with
various items of topology data of the network. The LSR 30
incorporates a function of flooding the topology data on the basis
of the database, and a function of updating the database on the
basis of the flooded topology data. Further, the LSR 30 has a label
distributing function (LSO setting function) by which an explicit
route is specified based on the database.
[0118] Further, the LSR 30 incorporates a function (1) of
rearranging ports and an aggregation of the ports into groups and
thus managing the ports, a function (2) of flooding the port and/or
a group number of the port to an address of a connection
destination network, a function (3) of structuring the flooding
data including the above item (2) into a database, a function (4)
of determining, based on the database in the item (3), an explicit
route inclusive of the port or the port group in addition to nodes
through which the packets pass, and a function (5) of distributing
the labels by giving the explicit route determined in the item
(3).
[0119] The topology data sub-itemized down to the port groups or
the ports of the relay node and the egress node can be managed at
an ingress node, and it is feasible to set not only a port group of
the egress node or an LSP with the specified port but also a port
group or a port of the relay node through which the packets
pass.
[0120] To explain it in full depth, as shown in FIG. 12, in an LSR
30, management functions corresponding to the respective ports and
the port group (corresponding to the adapters) of other system and
the self-system, are added to the components indicated by hatching.
In this LSR 30, a port management is carried out in the way of
allocating ports 1, 2 to a port group 1, ports 3, 4 to a port group
2, ports 5, 6 to a port group 3, and ports 7, 8 to a port group
4.
[0121] Moreover, what is added to the LSR 30 is a function of
flooding a port or/and a group number of the port to an address of
a connection destination network. At the present, the function of
flooding the topology data is supported by the routing protocol
such as OSPF etc. There is further made a proposal of adding a
function to OSPF and flooding the topology data for the traffic
engineering (independently of the topology data for the IP routing)
(which involves the use of Opaque LSA (Link State Advertisement) of
OSPF).
[0122] This example is illustrated in FIG. 13. This type of LSA is
newly defined and then flooded, whereby each system receives LSA
from other system and, as a result, the topology data for the
traffic engineering can be obtained. A link and an interface in
FIG. 13 correspond to the ports.
[0123] Basically, this is used, however, this concept is further
extended, and the port group is added to Sub-TVLV defined in FIG.
13. To give an example of the definition, sub-TVLV type: 7, length
(octets): 1, value (octet): 4, name: port group number. Further, a
port group number is allocated to a resource class TLV. Thus, the
port group number is defined, whereby the port group number can be
flooded. This function is incorporated into a topology data
flooding processing module 31.
[0124] A function of converting the flooding data into a database
is added to the LSR 30. In addition to the topology data for the
traffic engineering, which are flooded with opaque LSA of OSPF
shown in FIG. 13, the port group numbers flooded by the topology
data flooding processing module 31 are also converted into a
database. This function is incorporated into the topology data
management module 32 and the traffic engineering processing module
33.
[0125] In the LSR 30, a function of determining the explicit route
inclusive of the port or the port group is added. Based on the
databases of the topology data management module 32 and of the
traffic engineering processing module 33, the explicit route of the
LSP from the ingress node to the output port of the egress node, is
determined by a local policy or a managerial selection. This
function is incorporated into the traffic engineering processing
module 33.
[0126] Further, in the LSR 30, the following function of
distributing the labels by explicating the port or the port group,
is added.
[0127] (1) ER HOP TLV in Label Request Message of CR-LDP shown in
FIGS. 14 and 15 specifies a node (system) through which essentially
the LSP passes. This is extensively defined, and final ER HOP TLV
in ER TLVs shall indicate an output port group of the egress
node.
[0128] The ingress node, based on the determination of the explicit
route, specifies an IP address (corresponding to any one of ports
in the port group) corresponding to the output port group of the
egress node in final ER HOP TLV in ER TLVs in the Label Request
Message.
[0129] The egress node specifies an output port in accordance with
the IP address indicated in final ER HOP TLV in ER TLVs in Label
Request Message, and may further specify a port group to which that
port belongs.
[0130] (2) IPv4 Subobject in EXPLICIT-ROUTE object in Path Message
of RSVP Extension shown in FIG. 17, specifies a node (system)
through which essentially the LSP passes. This is extensively
defined, and final IPv4 Subobject in EXPLICIT ROUTE object shall
indicate an output port group of an egress node. This is RSVP
Extension version in the item (1).
[0131] (3) As shown in FIG. 16, the port and the port group (a link
and a link group) are additionally defined in ER HOP type of ER HOP
TLV, and further a port and port group (link and link group) ELV is
additionally defined.
[0132] The ingress node, based on the determination of the explicit
route, specifies an output port group number or/and port number of
the egress node in final ER HOP TLV in ER TLVs in Label Request
Message by use of the port an port group (link and link group)
TLV.
[0133] Further, as the necessity arises, the egress node may
specify a port and a port group passing through the relay node in
intermediate ER HOP TLV by use of the port and port group (link and
link group) TLV.
[0134] (4) As shown in FIG. 18, the port and the port group (the
link and the link group) are additionally defined in Subobject type
of EXPLICIT_ROUTE object, and further port and port group (link and
link group) Subobject is additionally defined. This is RSVP
Extension version in the item (3).
[0135] (5) As shown in FIG. 16, a resource class is additionally
defined in ER Hop type of ER HOP TLV. Further, resource class TLV
shown in FIG. 15 is used as ER HOP TLV.
[0136] The ingress node, based on the determination of the explicit
route, uses resource class TLV in final ER HOP TLV in ER TLVs in
Label Request Message, and specifies an output port group number of
the egress node.
[0137] The egress node may specify an output port group number from
the output port group number indicated by final ER HOP TLV in ER
TLVs in Label Request Message.
[0138] Further, as the necessity arises, resource class TLV is used
in intermediate ER HOP TLV, whereby a port group passing through a
relay node can be specified.
[0139] The topology data sub-itemized down to the port groups or
the ports of the relay node and the egress node can be managed at
the ingress node, and it is feasible to set an LSP with the
specified port group or port of the egress node, and to specify the
port group or port of the relay node through which the packets
pass.
[0140] Note that the same components of the LSR 30 shown in FIG. 12
as those of the LSR 10 shown in FIG. 9 are marked with the same
reference numerals.
Third Embodiment
[0141] The label switching router (LSR) classified as the packet
router in a third embodiment of the present invention, will be
explained referring to FIGS. 22, 23, 24, and 25 in combination.
[0142] A label switching router (LSR) 40 in the third embodiment
takes such an architecture that an egress adapter within the system
is capable of executing internal shuttling. As shown in FIG. 22,
the LSR 40 has, in the system architecture illustrated in FIG. 2,
an addition of the following functions to one specified egress
adapter. That is, these functions are a function (1) of setting a
connection with other egress adapter via an ATM switch, a function
(2) conducting IP forwarding to other adapters in addition to the
intra-adapter ports (which uses the connection given in the item
(1), and a function (3) of adding routing data to other adapters to
a routing table that is referred in the item (2).
[0143] With these functions added, the setting of the explicit LSP
can be actualized neither by changing a basic framework (in terms
of mounting) of the system architecture shown in FIG. 2 nor by the
ingress node specifying (managing) the adapters of the egress
node.
Example of Architecture of IP/MPLS Forwarder
[0144] FIG. 23 shows an example of architecture of an IP/MPLS
forwarder in the LSR 40 illustrated in FIG. 22. In an IP/MPLS
forwarder 50, a driver/receiver 51 transmits and receives the data
to and from an external interface (ATM/Ether). The received data is
stored in a buffer 52, the driver/receiver 51 transfers the
control, wherein an address and a size of the received data are set
as output data. When in a data transmitting process, the
driver/receiver 51 transmits the data stored in the buffer 52,
wherein the address and the size thereof are set as input data.
[0145] The buffer 52 is stored with the received data and also
edited data (transmitted data). The IP routing table 53 is a copy
of a part of the IP routing table possessed by the LSR 40 body, and
contains ports 1.about.n as output destination ports. An MPLS
forwarding table (Label Information Base) 54 is a copy of a part of
the MPLS forwarding table possessed by the LSR 40 body, and
contains VCs 1.about.n as output destination ports.
[0146] A table updating processing module 55 executes a process of
updating the IP routing table 53 and the MPLS forwarding table 54
in response to an indication given from an LSR body control unit. A
cellulating module (packet deassembling module) 56 cellulates the
packets which have already been edited, and indicates the driver 58
to transmit the cells by specifying a VC. A decellulating module
(packet assembling module) 57 decellulates the received cells from
the receiver 58, and assembles them into packets on the buffer
52.
[0147] A packet editing module 59 executes a process of editing an
IP header and an MPLS header of the packet. An IP forwarding
processing module 60 determines a packet transmitting destination
with reference to the IP routing table 53, and indicates the packet
editing module 61 to edit the IP header. An MPLS forwarding
processing module 62 determines a packet transmitting destination
with reference to the MPLS forwarding table 54, and indicates the
packet editing module 61 to edit an MPLS header.
First Example of Architecture of IP/MPLS Forwarder (X)
[0148] FIG. 24 shows a first example of architecture of the IP/MPLS
forwarder (X) in the LSR 40 illustrated in FIG. 22. An IP/MPLS
forwarder (X) 70 actualizes the setting of the explicit LSP neither
by changing the basic framework (in terms of mounting) of the
system architecture shown in FIG. 2 nor by the ingress node
specifying (managing) the adapters of the egress node.
[0149] Functions of this IP/MPLS forwarder (X) 70, which are to be
added to the architecture of the IP/MPLS forwarder 50 shown in FIG.
23, will be explained. An IP routing table 71 is a copy of a part
of the IP routing table possessed by the LSR body, and contains
ports 1.about.n as output destination ports and VCs 1.about.n. A
packet editing module 72 executes a process of editing the IP
header and the MPLS header. Responding to indications given from
the IP forwarding processing module 73, there are, however, a case
where the packet editing module 72 indicates the driver 51 to
transmit the edited packets to the port n, and a case where the
packet editing module 72 indicates a conflict control module 74 to
transmit the edited packets to she virtual channel (VC) n.
[0150] An IP forwarding processing module 73 determines a packet
transmitting destination with reference to the IP routing table 71,
and indicates the packet editing module 72 to edit the IP header.
On this occasion, the IP forwarding processing module 72 explicates
whether the transmitting destination is the port nor the VC n. The
conflict control module 74 controls a conflict between shuttle
packets inputted from the port n and from the VC n, and executes
scheduling of the input packets to the cellulating module 56.
Second Example of Architecture of IP/MPLS Forwarder (X)
[0151] FIG. 25 shows a second example of architecture of the
IP/MPLS forwarder (X) in the LSR 40 illustrated in FIG. 22.
Functions of this IP/MPLS forwarder (X) 80, which are to be added
to the architecture of the IP/MPLS forwarder 50 shown in FIG. 23,
will be explained.
[0152] Drivers/receivers 81, 82 transmit and receive the data to
and from the outside interface (ATM/Ether). The received data are
stored in a buffer 83. The drivers/receivers 81, 82 transfer the
control, wherein addresses and sizes of the received data are set
as output data. When in the data transmitting process, the
drivers/receivers 81, 82 transmit the data stored in the buffer 83,
wherein the addresses and the sizes thereof are set as input data.
In this architecture, however, the drivers/receivers 81, 82 are
operated only for data shuttling, and do not therefore receive the
data from outside.
[0153] Although only a few embodiments of the present invention
have been described in detail above, those skilled in the art will
readily appreciate that many modifications are possible in the
preferred embodiments without departing from the novel teachings
and advantages of the present invention. Accordingly, all such
modifications are intended to be included within the scope of the
present invention as defined by the following claims.
* * * * *