Abstract:
There is provided a packet transmission device which comprises a packet transfer processing part and a control part. The packet transfer processing part includes a table memory comprising a path selection table, a link status table, and a node status table. In these tables, information of each of paths, links, and nodes are stored and linked each other. A link/node status monitoring part in the control part monitors a packet outputted from the packet transfer processing part transmission and detects a fault occurred in a transmission of the packet. The fault is reflected on the information of paths in the tables only by updating the information of links and nodes and the path for packets outputted from the device is assigned in a short time.

Description:
BACKGROUND OF THE INVENTION 
       [0001]    1. Field of the Invention 
         [0002]    The present invention relates to a packet transmission device, and more particularly, relates to a packet transmission device that enables to switch Pseudo Wires (PW) in a Multi-protocol Label Switching (MPLS) network at a high speed. 
         [0003]    2. Description of the Related Art 
         [0004]    In recent years, service such as Pseudo Wire Emulation Edge to Edge (PWE3) that virtually provides a point-to-point Ethernet® line on a MPLS line has been provided. Moreover, as high-speed and reliable MPLS networks are required, techniques that enable quick fault recovery less than or equal to 50 msec on the MPLS line such as Fast ReRoute (FRR) that reroutes a traffic at a high speed (less than or equal to 50 msec) when a fault occurred on a physical link of a network have been applied. A technique that enables quick fault recovery on a network is described in Japanese Laid-open Patent Publication No. 10-117175. Hereinafter, in order to facilitate understanding of the technique, a fault recovery method by FRR used in known MPLS networks will be described with reference to  FIG. 11 . Further, a known packet transmission device will be described with reference to  FIGS. 12 to 15 . 
         [0005]      FIG. 11  is a system chart illustrating an example of a known MPLS network configuration and fault recovery method. In  FIG. 11 , in a PWE3 in the known MPLS network, links established between packet transmission devices (Provider Edges; hereinafter, referred to as PE) have several Label Switch Paths (LSPs) respectively. In a fault recovery by FRR, protection paths are provided to avoid points (link, node) where faults can occur on protection target work paths. 
         [0006]    In the example shown in  FIG. 11 , paths established from a PE  50  through a PE  51  to a PE  52  are the protection target work paths. In preparation for an occurrence of a fault between the PE  50  and the PE  51 , protection paths from the PE  50  through a PE  53  to the PE  52  are provided. The number of the links and paths (LSPs) on the protection paths are the same as those on the work paths. 
         [0007]    If a fault occurs between the PE  50  and the PE  51 , the PE  50  that is disposed at a branch point performs a switching operation. The PE  52  that is disposed at a point where the paths merge again receives a label for a work path and a label for a protection path. Accordingly, the fault recovery is achieved when the PE  50  simply switches the label for the work path to that for the protection path. 
         [0008]    In such a case, conventionally, the PE disposed at the branch point switches all of the LSPs that constitute the link when a fault occurs by the configurations and operation shown in  FIGS. 12 to 15 . 
         [0009]      FIG. 12  is a block diagram illustrating an example of a configuration of the known packet transmission device (PE) shown in  FIG. 11 . As shown in  FIG. 12 , the known PE includes a packet transfer processing part  60  and control part  70  as a basic configuration. 
         [0010]    The packet transfer processing part  60  includes an input packet interface (input packet IF)  61 , a flow identification part  62 , a transfer destination control part  63 , an output packet interface (output packet IF)  64 , and a table memory  65  that stores a transfer destination information table  65   a.    
         [0011]    In the packet transfer processing part  60 , a flow number of a packet that is taken by the input packet IF  61  from an input path is identified in the flow identification part  62 . According to the flow number, the transfer destination control part  63  acquires transfer destination information from the transfer destination information table  65   a , and determines an output path of the output packet IF  64 . 
         [0012]    A link/node status monitoring part  71  provided in the control part  70  constantly monitors status of link/node shown by the output packet IF  64  of the packet transfer processing part  60 , and reflects the acquired link/node status on the transfer destination information table  65   a  provided in the packet transfer processing part  60 . 
         [0013]    Hereinafter, detailed description will be made.  FIG. 13  illustrates an example of a configuration of the transfer destination information table shown in  FIG. 12 . As shown in  FIG. 13 , the transfer destination information table  65   a  stores flow number # 1  to flow number #M as addresses, and also stores transfer destination paths respectively. The number # 1  to the flow number #M are flow numbers of the packet identified by the flow identification part  62 . 
         [0014]    The link/node status monitoring part  71  provided in the control part  70 , by following a procedure shown in  FIG. 14 , updates the transfer destination information table  65   a  provided in the packet transfer processing part  60 .  FIG. 14  is a flowchart illustrating an operation of the link/node status monitoring part provided in the control part shown in  FIG. 12 . In  FIG. 14 , a monitoring method of link status is described. It is noted that monitoring of node status is also performed in a similar procedure and a similar processing. In  FIG. 14 , steps that show the processing procedure are simply abbreviated as “ST”. This is applied in each flowchart shown below. 
         [0015]    In  FIG. 14 , in ST  41 , the link/node status monitoring part  71  stands by coming of timing for monitoring the output packet IF  64 . At a timing for monitoring the output packet IF  64 , (ST  41 : Yes), the link/node status monitoring part  71  monitors status of the output packet IF  64  and acquires information whether the output packet IF  64  is in active status or in inactive status (ST  42 ). Then, the link/node status monitoring part  71  accesses to the transfer destination information table  65   a , and according to the status of the link (active or inactive), updates all transfer destination paths associated with the link (ST  43 ). In ST  43 , for example, in a case where two paths (LSPs) are established in one link, two transfer destination paths of the paths are overwritten. Then, the process returns to ST  41 , and the link/node status monitoring part  71  stands by coming of a next monitoring timing. 
         [0016]      FIG. 15  is a view illustrating an operation of the packet transfer processing part shown in  FIG. 12 . In  FIG. 15 , for example, the input packet IF  61  takes in a packet of a flow # 10  from an input path. Then, the flow identification part  62  identifies a flow of the packet received from the input packet IF  61  and determines a number “ 10 ”, and outputs the determined flow number “ 10 ” to the transfer control part  63  together with the received packet. 
         [0017]    In the above-described transfer destination information table  65   a  that is overwritten by the link/node status monitoring part  71  provided in the control part  70 , a transfer destination path “ 4000 ” is stored in the flow # 10  (address). Then, the transfer destination control part  63  acquires the transfer destination information # 4000  from the transfer destination information table  65   a  based on the flow number # 10  received from the flow identification part  62 . Then the transfer destination control part  63  determines an output path of the output packet IF  64  based on the acquired transfer destination information # 4000 , and instructs the output packet IF  64  to output the packet. 
         [0018]    As described above, in the known fault recover method, if a fault occurred in a link or node, the PE performs the switching processing on the all paths (LSPs) in the link or node. In the known MPLS network, only several paths (LSPs) are established in one link. Accordingly, even if a fault occurs in one link or node, it is enough to change transfer destination information of the several paths. Therefore, it is possible to strictly keep the restriction that the fault recover time is to be less than or equal to 50 msec. 
         [0019]    However, in a MPLS network ( FIG. 16 ) to be established, if the above-mentioned known fault recover method is applied, it is not possible to strictly keep the restriction that the fault recover time is to be less than or equal to 50 msec. 
         [0020]      FIG. 16  is a system chart illustrating a configuration of the MPLS network and an operation in a case where the known fault recover method is applied. As shown in  FIG. 16 , in the configuration of the MPLS network to be established according to the present invention, similarly to the case in  FIG. 11 , protection paths of a PE  80  through a PE  83  to a PE  82  are provided with respect to work paths of the PE  80  through a PE  81  to the PE  82 . However, the number of the paths (LSPs) constituting links established between a PE and a PE is largely different from that of the known configuration. In a PWE3 in the MPLS network of the present invention, each link includes several thousands of paths (LSPs). 
         [0021]    In such a case, in the PE  80  to PE  83  formed in a similar configuration to that of the known PE  50  to PE  53 , if a fault recovery is performed, when a fault occurs in a link, transfer destination information of the several thousands of paths has to be changed. Accordingly, it is difficult to strictly keep the restriction that the fault recover time is to be less than or equal to 50 msec. 
         [0022]      FIG. 17  is a view illustrating local repair required in the MPLS network.  FIG. 18  is a view illustrating global repair required in the MPLS network. In the MPLS network to be established, a PE that is disposed at a branch point between a work path and a protection path is expected, as shown in  FIG. 17 , to correspond to not only local repair in which only a path status between neighbor PEs is checked and paths are switched, as shown in  FIG. 18 , but also expected to correspond to global repair in which a path status of foregoing PEs is checked and paths are switched. 
       SUMMARY 
       [0023]    The present invention has been made in view of the above, and an object of the present invention is to provide a packet transmission device capable of performing high-speed fault recovery even in a network in which a huge number of paths are set. 
         [0024]    Another object of the present invention, in the above-described invention, is to provide a packet transmission device capable of performing path switching corresponding to not only local repair but also global repair. 
         [0025]    In order to achieve the above-described objects, a packet transmission device according to one of the embodiments of the present invention is provided. The packet transmission device performs switching between a work path and a protection path of pseudo wire in a MPLS network. The packet transmission device includes a path selection table in which link numbers and transfer destination information in the work path and the protection path are associated and set with each other for each flow number included in a packet to be transferred, a table memory for storing a link status table in which the link numbers and status of the link are associated and set with each other, path selection processing means for acquiring link numbers of the work path and the protection path from the path selection table based on a flow number of a packet taken from an input path, referring to the link status table, selecting the work path or the protection path whose link status is active, and acquiring transfer destination information of the selected path from the path selection table, transfer control means for transmitting the received packet to an output path determined based on the transfer destination information acquired by the path selection processing means, and monitoring means for monitoring link status of each output path and updating the link status table based on whether the link is active or inactive. 
         [0026]    The monitoring means updates only the link status stored in the link numbers in the link status table. The path selection processing means performs path selection using the link status table updated by the monitoring means. Accordingly, when a link fault occurs, all paths in the fault link can be switched at a time. 
         [0027]    Further more in the packet transmission device described above, in the path selection table, a valid bit indicating whether the path is valid or invalid in the work path and the protection path is added for each of the flow numbers, the path selection processing means acquires the valid bits of the work path and the protection path from the path selection table based on the flow number of the packet taken from the input path, if both of the valid bits of the work path and the protection path are valid, acquires link numbers of the work path ant the protection path from the path selection table based on the flow number of the packet taken from the input path and refers to the link status table, selects the work path or the protection path whose link status is active, acquires transfer destination information of the selected path from the path selection table, if one of the valid bit of the work path and the protection path indicates valid, selects the valid path, and acquires transfer destination information of the selected path from the path selection table. 
         [0028]    According to the embodiment described above, in addition to the path selection corresponding to local repair, path selection corresponding to global repair can also be performed. 
         [0029]    According to another aspect of the present invention, a packet transmission device performs switching between a work path and a protection path of pseudo wire in a MPLS network. The packet transmission device includes a path selection table in which node numbers and transfer destination information in the work path and protection path are associated and set with each other for each flow number included in a packet to be transferred, a table memory for storing a node status table in which the node numbers and status indicating whether the nodes are active or inactive are associated and set with each other, path selection processing means for acquiring node numbers of the work path and protection path from the path selection table based on a flow number of a packet taken from an input path, referring to the node status table, selecting the work path or the protection path whose node status is active, and acquiring transfer destination information of the selected path from the path selection table, transfer control means for transmitting the received packet to an output path determined based on the transfer destination information acquired by the path selection processing means, and monitoring means for monitoring node status of each output path and updating the node status table based on whether the node is active or inactive. 
         [0030]    According to the another aspect, the monitoring means updates only the node status stored in the node numbers in the node status table. The path selection processing means performs path selection using the node status table updated by the monitoring means. Accordingly, when a node fault occurs, all paths in the fault node can be switched at a time. 
         [0031]    According to still another aspect of the present invention, in the packet transmission device above described, in the path selection table, a valid bit indicating whether the path is valid or invalid in the work path and the protection path is added for each of the flow numbers, the path selection processing means acquires the valid bits of the work path and the protection path from the path selection table based on the flow number of the packet taken from the input path, if both of the valid bits of the work path and the protection path are valid, acquires node numbers of the work path ant the protection path from the path selection table based on the flow number of the packet taken from the input path and refers to the node status table, selects the work path or the protection path whose node status is active, acquires transfer destination information of the selected path from the path selection table, if one of the valid bit of the work path and the protection path indicates valid, selects the valid path, and acquires transfer destination information of the selected path from the path selection table. 
         [0032]    According to the still another aspect of the present invention, in addition to the path selection corresponding to local repair described above, path selection corresponding to global repair can also be performed. 
         [0033]    According to yet another aspect of the present invention, the packet transmission device further includes table display means for outputting contents of the various tables stored in the table memory on a display screen. 
         [0034]    According to the aspect described above, it is possible to provide the contents of the various tables to operators or system administrators at a time of operation. Accordingly, maintainability can be ensured. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0035]      FIG. 1  is a block diagram illustrating a configuration of a packet transmission device (PE) according to a first embodiment of a packet transmission device according to the present invention; 
           [0036]      FIG. 2A  illustrates an example of a configuration of a path selection table shown in  FIG. 1 ,  FIG. 2B  illustrates an example of a configuration of a link status table shown in  FIG. 1 , and  FIG. 2C  illustrates an example of a configuration of a node status table shown in  FIG. 1 ; 
           [0037]      FIG. 3  is a flowchart illustrating an operation of a link/node status monitoring part provided in a control part shown in  FIG. 1 ; 
           [0038]      FIG. 4  is a flowchart illustrating an operation of a path selection processing part shown in  FIG. 1 ; 
           [0039]      FIG. 5  is a view illustrating an operation of a packet transfer processing part shown in  FIG. 1 ; 
           [0040]      FIG. 6  is a block diagram illustrating a configuration of a packet transmission device (PE) according to a second embodiment of a packet transmission device according to the present invention; 
           [0041]      FIG. 7A  illustrates an example configuration of a path selection table shown in  FIG. 6 ; 
           [0042]      FIG. 7B  illustrates an example configuration of the link status table shown in  FIG. 6 ; 
           [0043]      FIG. 7C  illustrates an example configuration of the node status table shown in  FIG. 6 ; 
           [0044]      FIG. 8  is a flowchart illustrating an operation of a path selection processing part shown in  FIG. 6 ; 
           [0045]      FIG. 9  is a block diagram illustrating a configuration of a packet transmission device (PE) according to a third embodiment of a packet transmission device according to the present invention; 
           [0046]      FIG. 10  illustrates a display example of table contents that is displayed by a table display part shown in  FIG. 9  on a screen of a personal computer; 
           [0047]      FIG. 11  is a system chart illustrating an example of a known MPLS network configuration and fault recovery method; 
           [0048]      FIG. 12  is a block diagram illustrating an example of a configuration of a known packet transmission device (PE) shown in  FIG. 11 ; 
           [0049]      FIG. 13  illustrates an example of a configuration of a transfer destination information table shown in  FIG. 12 ; 
           [0050]      FIG. 14  is a flowchart illustrating an operation of a link/node status monitoring part shown in  FIG. 12 ; 
           [0051]      FIG. 15  is a view illustrating an operation of a packet transfer processing part shown in  FIG. 12 ; 
           [0052]      FIG. 16  is a system chart illustrating a configuration of a MPLS network established according to the present invention and an operation in a case where a known fault recover method is applied; 
           [0053]      FIG. 17  is a view illustrating local repair required in a MPLS network; and 
           [0054]      FIG. 18  is a view illustrating global repair required in a MPLS network. 
       
    
    
     DESCRIPTION OF THE PREFERRED EMBODIMENTS 
       [0055]    Preferred embodiments of the packet transmission device according to the present invention will be described in detail with reference to drawings below. 
       First Embodiment 
       [0056]      FIG. 1  is a block diagram illustrating a configuration of a packet transmission device (PE) according to a first embodiment of a packet transmission device according to the present invention. The packet transmission device according to the present invention is used as a router or a switch in a MPLS network, for example, shown in  FIG. 16 , the network in which several thousands of paths are established in one link. 
         [0057]    As shown in  FIG. 1 , the PE according to the first embodiment includes a packet transfer processing part  10  and a control part  20  as a basic configuration. 
         [0058]    The packet transfer processing part  10  includes an input packet interface (input packet IF)  11 , a flow identification part  12 , a path selection processing part  13 , a transfer destination control part  14 , an output packet interface (output packet IF)  15 , and a table memory  16 . The table memory  16  stores a path selection table  16   a , a link status table  16   b , and a node status table  16   c.    
         [0059]    In the packet transfer processing part  10 , a flow number of a packet that is taken by the input packet IF  11  from an input path is identified in the flow identification part  12 . According to the flow number, the path selection processing part  13  acquires corresponding information (transfer destination information, link status, and node status) from various tables ( 16   a ,  16   b ,  16   c ) in the table memory  16 . Then, the transfer destination control part  63  determines an output path of the output packet IF  15  based on the information (transfer destination information, link status, and node status) received from the path selection processing part  13 . 
         [0060]    A link/node status monitoring part  21  provided in the control part  20  constantly monitors status of link/node shown by the output packet IF  15  of the packet transfer processing part  10 , and reflects the acquired link/node status on the status table ( 16   b ,  16   c ) provided in the packet transfer processing part  10 . 
         [0061]    Hereinafter, detailed description will be made. First, the example of the configuration of various tables shown in  FIG. 1  will be described.  FIG. 2A  is an example of a configuration of the path selection table  16   a , and  FIG. 2B  is an example of a configuration of the link status table  16   b .  FIG. 2C  is an example of a configuration of the node status table  16   c.    
         [0062]    As shown in  FIG. 2A , the path selection table  16   a  stores flow number # 1  to flow number #M as addresses, and also stores pairs of a work path and a protection path respectively. Both of the work paths and the protection paths store “link numbers #”, “node numbers #”, and “transfers destination information (paths)”. The “link numbers #” show addresses (# 1  to #N) of the link status table  16   b  in the configuration shown in  FIG. 2B . The “node numbers #” show addresses (# 1  to #O) of the link status table  16   c  in the configuration shown in  FIG. 2C . 
         [0063]    As shown in  FIG. 2B , the link status table  16   b  stores link number # 1  to link number #N as addresses, and also stores, for example, one of logical values 0 that show active status and logical values 1 that show inactive status respectively. Further, as shown in  FIG. 2C , the link status table  16   c  stores node number # 1  to node number # 0  as addresses, and also stores, for example, one of logical values 0 that show active status and logical values 1 that show inactive status respectively. 
         [0064]    The link/node status monitoring part  21  provided in the control part  20 , by following a procedure shown in  FIG. 3 , updates the link status table  16   b  and the link status table  16   c  provided in the packet transfer processing part  10 .  FIG. 3  is a flowchart illustrating an operation of the link/node status monitoring part shown in  FIG. 1 . In  FIG. 3 , a monitoring method of link status is described. It is noted that monitoring of node status is performed in a similar procedure and a similar processing. 
         [0065]    In  FIG. 3 , in ST  1 , the link/node status monitoring part  21  stands by a coming of timing for monitoring a link/node status shown by the output packet IF  15 . At a timing for monitoring the link/node status shown by the output packet IF  15 , (ST  1 : Yes), the link/node status monitoring part  21  monitors and acquires the link/node status shown by the output packet IF  14  (ST  2 ). Then, the link/node status monitoring part  21  determines whether the acquired link status is in active status or inactive status (ST  3 ). If it is determined that the acquired link status is active (ST  3 : Yes), the link status table  16   b  is updated using the acquired link number as an address, and the link status (active=0) as data (ST  4 ). Then, the process returns to ST  1 , and the link/node status monitoring part  21  stands by a coming of next monitoring timing. 
         [0066]    If it is determined that the acquired link status is inactive (ST  3 : No), the link status table  16   b  is updated using the acquired link number as an address, and the link status (inactive=1) as data (ST  5 ). Then, the process returns to ST  1 , and the link/node status monitoring part  21  stands by a coming of next monitoring timing. 
         [0067]    It is to be noted that in the MPLS network according to the present invention, several thousands of paths are established in one link, and as mentioned in the description of the known MPLS network, generally, a plurality of paths (LPSs) are established in one link. Then, in a plurality of flow numbers, even if “transfer destination information (paths)” differ one another, “link numbers #” may be the same one another. Accordingly, if the link/node status monitoring part  21 , for example, in the above example, updates the link status of a link number # in the link status table only once, all paths in the link are updated. 
         [0068]    The path selection processing part  13 , by the procedure shown in  FIG. 4 , performs a path selection using the link status table  16   b  and the node status table  16   c  that are updated by the link/node status monitoring part  21  provided in the control part  20  as described above.  FIG. 4  is a flowchart illustrating operation of the path selection processing part shown in  FIG. 1 . In  FIG. 4 , in order to facilitate understanding, the description has been made by focusing the link stats between the link status and the node status. 
         [0069]    In  FIG. 4 , in ST  10 , it is determined whether a link of a work path is active or not based on the link status table  16   b  that is referred to in the “link number #” in the work path read out from the path selection table  16   a  using the flow number received from the flow identification part  12 . 
         [0070]    As a determination result in ST  10 , if it is determined that the link of the work path is active (ST  10 : Yes), the work path is selected (ST  11 ), and the path selection processing is ended. That is, the “link number” and the “transfer destination information (path)” at the flow number in the work path is read out from the selection table  16   a , and the information is given to the transfer control part  14 . 
         [0071]    As a determination result in ST  10 , on the other hand, if it is determined that the link of the work path is inactive (ST  10 : No), according to the procedure similar to that in ST  10 , whether a link of a protection path is active or not is determined based on the link status table  16   b  that is referred to in the “link number #” in the protection path read out from the path selection table  16   a  using the flow number received from the flow identification part  12  (ST  12 ). 
         [0072]    Then, as a result in ST  12 , if it is determined that the link of the protection path is active (ST  12 : Yes) the protection path is selected (ST  13 ), and the path selection processing is ended. That is, the “link number” and the “transfer destination information (path)” at the flow number in the protection path are read out from the selection table  16   a , and the information is given to the transfer control part  14 . On the other hand, if it is determined that the protection path is inactive (ST  12 : No), the work path is forcibly selected (ST  11 ), and the path selection processing is ended. 
         [0073]      FIG. 5  is a view illustrating an operation of the packet transfer processing part shown in  FIG. 1 . In  FIG. 5 , in order to facilitate understanding, between the two status tables ( 16   b ,  16   c ), only the link status table  16   b  is focused and described. 
         [0074]    In  FIG. 5 , for example, the input packet IF  11  takes a packet of a flow # 10  from an input path, the flow identification part  12  identifies the flow of the packet received form the input packet IF  11  and determines a number “ 10 ”, and outputs the determined flow number “ 10 ” to the path selection processing part  13  together with the received packet. 
         [0075]    On the path selection table  16   a , although transfer destination information (paths) of  4000 ,  4001 , and  4002  corresponding to work paths of # 10 , # 1000 , and # 2000  differ with each other, they have a same corresponding link number # 500 . Similarly, transfer destination information (paths) of  3000 ,  3001 , and  3002  corresponding to protection paths of # 10 , # 1000 , and # 2000  differ with each other, however, they have a same corresponding link number # 100 . 
         [0076]    The path selection processing part  13  acquires the link number  500  of the work path and the link number  100  of the protection path from the path selection table  16   a  based on the flow number “ 10 ”. Then, the path selection processing part  13  acquires a link status from the link status table  16   b  using the acquired link number  500  and the link number  100  as addresses. The link status at the link number  500  is 1 (inactive), and the link status at the link number  100  is 0 (active). Accordingly, the path selection processing part  13  selects the protection path, and notifies information (link number # 100 , transfer destination information # 3000 ) at the protection path to the transfer destination control part  14 . 
         [0077]    The transfer destination control part  14  determines an output path of the output packet IF  15  based on the transfer destination information # 3000  of the protection path, the information is received from the path selection processing part  13 , and outputs the packet. 
         [0078]    In the example shown in  FIG. 5 , originally, since the link status at the address (# 500 ) on the link status table  16   b  was 0 (active), the path selection processing part  13  selected the link number # 500  (transfer destination information # 4000 ) and the transfer destination control part  14  determined the output path based on the transfer destination information # 4000 . In this state, a path selection to be performed when a fault occurs at the link number # 500  (transfer destination information # 4000 ), and the link/node status monitoring part  21  changes only the link status at the address (# 500 ) on the link status table  16   b  from 0 (active) to 1 (inactive) is shown. 
         [0079]    As described above, according to the first embodiment, the link status and the node status are respectively stored on the tables, the link status and the node status are constantly monitored, and respective status tables are updated. Accordingly, if a fault occurs, without considering the number of the paths in each link or each node, it is enough to perform only a switching processing of the link status or the node status of the link where the fault occurred. Therefore, the packet transmission device (PE) according to the first embodiment, the device is disposed at the branch point of the work path and the protection path refers to the status tables updated in such way, and can switch the all paths in the fault link or the fault node at a time from the work path to the protection path. The time necessary for the switching is very short. 
         [0080]    Accordingly, in the MPLS network according to the present invention, the network in which a huge number of paths of thousands of paths are established in each link, it is possible to largely reduce the path switching time as compared with that of the known path switching method, and keep the restriction that the path switching time is less than or equal to 50 msec. 
         [0081]    It is noted that the fault recovery described in the first embodiment corresponds to the local repair shown in  FIG. 17 . With respect to the global repair shown in  FIG. 18 , a configuration described in a second embodiment can be applied. 
       Second Embodiment 
       [0082]      FIG. 6  is a block diagram illustrating a configuration of a packet transmission device (PE) according to the second embodiment of a packet transmission device according to the present invention. In the second embodiment, in addition to the local repair described in the first embodiment, an example of a configuration that can correspond to the global repair is shown. In  FIG. 6 , the same reference numbers are applied to structural elements the same or similar to those shown in  FIG. 1  (first embodiment). In this description, parts concerning to the second embodiment will be mainly described. 
         [0083]    As shown in  FIG. 6 , the packet transmission device (PE) according to the second embodiment has a packet transfer processing part  30  in place of the packet transfer processing part  10  of the configuration shown in  FIG. 1  (first embodiment). In the packet transfer processing part  30 , the path selection processing part  13  shown in  FIG. 1  (first embodiment) is changed to a path selection processing part  31 , and the table memory  16  is changed to a table memory  32 . In the table memory  32 , the path selection table  16   a  is changed to a path selection table  32   a.    
         [0084]    Now, examples of configurations of various tables shown in  FIG. 6  will be described.  FIG. 7B  is an example of a configuration of the link status table  16   b , and  FIG. 7C  is an example of a configuration of the node status table  16   c . The configurations are similar to those in the first embodiment, and accordingly, their descriptions will be omitted. 
         [0085]    In the path selection table  32   a  according to the second embodiment, as shown in  FIG. 7A , in the work path and the protection path, in addition to the “link number #”, “node number #”, and “transfer destination path information”, valid bits V that show “valid” or “invalid” of the paths are added. The valid bits V, for example, show “valid” if a logical value is 0, and show “invalid” if the logical value is 1. The valid bits V are transmitted from a management center, or the like, and written by the control part  20 . 
         [0086]    The path selection processing part  31  can perform a path selection at the global repair using the valid bit V in addition to the path selection at the local repair described in the first embodiment. Hereinafter, a description will be made with reference to  FIG. 8 . In  FIG. 8 , similarly to  FIG. 4 , between the link status and the node status, the link status is focused and described. 
         [0087]      FIG. 8  is a flowchart illustrating an operation of the path selection processing part shown in  FIG. 6 . In  FIG. 8 , in ST  20 , it is determined whether a valid bit V in a work path read out from the path selection table  32   a  is valid or invalid based on a flow number received from the flow identification part  12 . 
         [0088]    As a result of the determination in ST  20 , in both cases that it is determined that the valid bit V is valid (ST  20 : Yes) and the valid bit V is invalid (ST  20 : No), based on the flow number received from the flow identification part  12 , it is determined whether the valid bit V in the protection path read out from the path selection table  32   a  is valid or invalid (ST  21 , ST  26 ). 
         [0089]    If it is determined that the valid bit V in the work path is valid (ST  20 : Yes), and the valid bit V in the protection path is valid (ST  21 : Yes), a processing similar to the processing (local repair) in  FIG. 4  is performed. 
         [0090]    That is, if the valid bit V in the protection path is valid (ST  21 : Yes), whether the ring of the work path is active or inactive is determined (ST  22 ) based on the link status table  16   b  that is referred to using the “link number #” and “node number #” in the work path read out from the path selection table  32   a  based on the flow number received from the flow identification part  12 . 
         [0091]    As a result of determination in ST  22 , if it is determined that the link of the work path is active (ST  22 : Yes), the work path is selected (ST  23 ), and the path selection processing is ended. On the other hand, if it is determined that the link of the work path is inactive (ST  22 : No), using a similar procedure to that in ST  22 , whether the link of the protection path is active or inactive is determined (ST  24 ) based on the link status table  16   b  that is referred to using the “link number #” in the protection path read out from the path selection table  16   a  based on the flow number received from the flow identification part  12 . 
         [0092]    As a result of the determination in ST  24 , if it is determined that the link of the protection path is active (ST  24 : Yes), the protection path is selected (ST  25 ), and the path selection processing is ended. On the other hand, if it is determined that the link of the protection path is inactive (ST  24 : No), the work path is forcibly selected (ST  23 ), and the path selection processing is ended. 
         [0093]    On the other hand, if it is determined that the valid bit V in the work path is valid (ST  20 : Yes), and the valid bit V in the protection path is invalid (ST  21 : No), the work path is forcibly selected (ST  23 ), and the path selection processing is ended. If it is determined that the valid bit V in the work path is invalid (ST  20 : No), and the valid bit V in the protection path is valid (ST  26 : Yes), the protection path is forcibly selected (ST  25 ), and the path selection processing is ended. 
         [0094]    Accordingly, if the valid bit V is valid in one of the work path and protection path, the valid path is forcibly selected, and the global repair is performed. If it is determined that the valid bit V in the work path is invalid (ST  20 : No), and the valid bit V in the protection path is also invalid (ST  26 : No), the packet is discarded (ST  27 ), and the path selection processing is ended. 
         [0095]    As described above, the valid bit is added on each flow number, and the path selection method is switched depending on whether the valid bit V is valid in both of the work path and the protection path or the valid bit is valid in one of the paths. Accordingly, the device can correspond to not only the local repair in which fault recovery between neighbor PEs is possible, but also the global repair in which network fault recovery other than neighbor PEs is possible. 
       Third Embodiment 
       [0096]      FIG. 9  is a block diagram illustrating a configuration of a packet transmission device (PE) according to a third embodiment of a packet transmission device according to the present invention. In  FIG. 9 , the same reference numbers are applied to structural elements the same or similar to those shown in  FIG. 1  (first embodiment). In this description, parts concerning to the third embodiment will be mainly described. 
         [0097]    As shown in  FIG. 9 , the packet transmission device (PE) according to the third embodiment has a control part  40  in place of the control part  20  of the configuration shown in  FIG. 1  (first embodiment). In the control part  40 , a table display part  41  is added, and to the table display part  41 , a personal computer  42  is connected. 
         [0098]      FIG. 10  illustrates a display example of table contents that is displayed on a screen of the personal computer by the table display part shown in  FIG. 9 . The table display part  41  receives a command from the personal computer  42 , reads contents in the table memory  16 , for example, contents of the path selection table  16   a , and displays the contents on the display screen of the personal computer  42 , for example, in a style shown in  FIG. 10 . 
         [0099]    As described above according to the third embodiment, it is possible to provide the contents of the work path and the protection path to operators or system administrators at the time of operation. Accordingly, even in the MPLS network in which several thousands of paths (LSPs) are established in one link, maintainability can be ensured and improved. It is noted that in the third embodiment, the example is applied to the first embodiment, however, the example can be similarly applied to the second embodiment. 
         [0100]    As described above, the packet transmission device according to the present invention is effective in switching a line from a work path to a protection path at a high speed when a fault occurred in a MPLS network. Especially, the packet transmission device is suitable for a MPLS network in which a huge number of paths, several thousands of paths, are set in one link to keep a restriction of fault recovery time. 
         [0101]    Further, the packet transmission device according to the present invention is effective in switching paths in a MPLS network that corresponds to not only local repair but also global repair.