⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rfc3215.txt

📁 RFC 的详细文档!
💻 TXT
📖 第 1 页 / 共 5 页
字号:
   Control Block and use the state machine of Next Hop Trigger Control
   Block to establish a new LSP through the better next hop.






Boscher, et al.              Informational                     [Page 23]

RFC 3215                   LDP State Machine                January 2002


2.2.6.1 Next Hop Trigger Control Block

   -- State

   -- LSP Control Block Pointer, that points to the original LSP control
   block.

   -- New Next Hop LSP Control Block Pointer, that points to the LSP
   Control Block that is setting up an LSP through the new next hop.

2.2.6.2 States

   -- IDLE

   This is the initial LSP state, when the Trigger_Control_Block is
   created.

   -- NEW_NH_RETRY

   This is the state where an LSR waits for a retry timer to expire and
   then tries to establish an LSP through a new next hop.

   -- NEW_NH_RESPONSE_AWAITED

   This is the state where an LSR is in the middle of establishing a new
   LSP through a new next hop.  It has triggered a LSP control block to
   send an LDP-REQUEST towards the new next hop and is waiting for the
   LDP-MAPPING.

2.2.6.3 Events

   -- Internal New NH

   The LSR detects there is a new next hop for a FEC.

   -- Internal Retry Timeout

   The LSP retry timer expires.

   -- Internal LSP UP

   The LSP to the new Next Hop is UP

   -- Internal LSP NAK

   The LSP through the new next hop could not get set up





Boscher, et al.              Informational                     [Page 24]

RFC 3215                   LDP State Machine                January 2002


   -- Internal Destroy

   This event is triggered when the LSR lost the LDP session with its
   upstream neighbor.

2.2.6.4 State Transition for next hop change

                     +---------------------+
                     |                     |
                     |     IDLE            |<------------+
                     |                     |             |
                     +---------------------+             |
                              |                          |
                              |                          |
                              | (Internal New NH)        |
                              |                          |
                              v                          |
                     +---------------------+             |
                     |                     |             |
                     |   NEW_NH_RETRY      |----------->-+
                     |                     | (Internal   |
                     +---------------------+  Destroy)   |
                              |                          |
                              |                          |
                              | (Internal retry timeout) |
                              |                          |
                              v                          |
                     +---------------------+             |
                     |                     | (Internal   |
                     | NEW_NH_RESPONSE     |  Destroy)   |
                     | _AWAITED            |----------->-+
                     |                     |             |
                     +---------------------+             |
                              |                          |
                              | (Internal LSP UP)        |
                              | (Internal LSP NAK)       |
                              +------------------------>-+

2.2.6.5 State Machine

2.2.6.5.1 State -- "IDLE"

   State:          IDLE

   Event:          Internal New NH

   New State:      NEW_NH_RETRY




Boscher, et al.              Informational                     [Page 25]

RFC 3215                   LDP State Machine                January 2002


   Actions:

      Start the LSP retry timer and go to the `NEW_NH_RETRY' state.

   State:          IDLE

   Event:          Internal retry timeout

   New State:      IDLE

   Actions:

      Ignore.  It is an internal implementation error.

   State:          IDLE

   Event:          Internal LSP UP

   New State:      IDLE

   Actions:

      Ignore.  It is an internal implementation error.

   State:          IDLE

   Event:          Internal LSP NAK

   New State:      IDLE

   Actions:

      Ignore.  It is an internal implementation error.

   State:          IDLE

   Event:          Internal destroy

   New State:      IDLE

   Actions:

      Ignore.  It is an internal implementation error.








Boscher, et al.              Informational                     [Page 26]

RFC 3215                   LDP State Machine                January 2002


2.2.6.5.2 State -- "NEW_NH_RETRY"

   State:          NEW_NH_RETRY

   Event:          Internal New NH

   New State:      NEW_NH_RETRY

   Actions:

      Restart the LSP retry timer.

   State:          NEW_NH_RETRY

   Event:          Internal retry timeout

   New State:      Depends on action routine.

   Actions:

      If the new next hop is the same one as the old next hop, go to
      IDLE and delete the control block.

      Otherwise, create an LSP control block that will try to establish
      a new LSP through the new next hop, send event `Internal Setup' to
      its state machine and go to NEW_NH_RESPONSE_AWAITED.

   State:          NEW_NH_RETRY

   Event:          Internal LSP UP

   New State:      NEW_NH_RETRY

   Actions:

      Ignore.  It is an internal implementation error.

   State:          NEW_NH_RETRY

   Event:          Internal LSP NAK

   New State:      NEW_NH_RETRY

   Actions:

      Ignore.  It is an internal implementation error.

   State:          NEW_NH_RETRY



Boscher, et al.              Informational                     [Page 27]

RFC 3215                   LDP State Machine                January 2002


   Event:          Internal destroy

   New State:      IDLE

   Actions:

      Stop the timer, go to IDLE and delete the control block.

2.2.6.5.3 State -- "NEW_NH_RESPONSE_AWAITED"

   State:          NEW_NH_RESPONSE_AWAITED

   Event:          Internal New NH

   New State:      NEW_NH_RETRY

   Actions:

      Restart the LSP retry timer, send `Internal destroy' to the
      control block of the LSP for the new next hop and go to the
      `NEW_NH_RETRY' state.

   State:          NEW_NH_RESPONSE_AWAITED

   Event:          Internal retry timeout

   New State:      NEW_NH_RESPONSE_AWAITED

   Actions:

      Ignore.  It is an internal implementation error.

   State:          NEW_NH_RESPONSE_AWAITED

   Event:          Internal LSP UP

   New State:      IDLE

   Actions:

      Send event `Internal cross-connect' event to the LSP control block
      of the new next hop.

      Send event `Internal destroy' event to the original LSP control
      block.

      Then go to IDLE and delete the control block.




Boscher, et al.              Informational                     [Page 28]

RFC 3215                   LDP State Machine                January 2002


   State:          NEW_NH_RESPONSE_AWAITED

   Event:          Internal LSP NAK

   New State:      IDLE

   Actions:

      Delete the control block.

   State:          NEW_NH_RESPONSE_AWAITED

   Event:          Internal destroy

   New State:      IDLE

   Actions:

      Send event `Internal destroy' the control block for the new LSP
      through the new next hop.

2.2.7 LDP Related Message Handling

   -  If an LSR receives an LDP-REQUEST from an upstream LSR:

      a) If this is a duplicate request, discard the message.  A
         duplicate request means that there is a LSP Control Block that
         has the same FEC, Upstream Label Request ID and Upstream Label
         Request ID and same Upstream LDP Session Identifier.

      b) Otherwise, create a new LSP Control Block, store the relevant
         information from the message into the control block, then pass
         the event `LDP Request' to its state machine.

   -  If an LSR receives an LDP-MAPPING from a downstream LSR:

      a) Extract the 'Label Request Message ID' field and from the LDP-
         MAPPING.

      b) Find an LSP Control Block that has the same Downstream Label
         Request ID and the same Downstream LDP Session Identifier.

      c) If an LSP Control Block is found, pass the event `LDP Mapping'
         to its state machine.

      d) If there is no matching LSP Control Block found, then try to
         find an LSP Control Block that has the same Downstream Label
         and the same Downstream LDP Session Identifier.



Boscher, et al.              Informational                     [Page 29]

RFC 3215                   LDP State Machine                January 2002


      e) If an LSP Control Block is found, pass the event `LDP Mapping'
         to its state machine.

      f) Otherwise, ignore the LDP-MAPPING and send a LDP-RELEASE
         downstream.

   -  If an LSR receives an LDP-RELEASE from an upstream LSR:

      a) Find an LSP Control Block that has the same Upstream Label and
         the same Upstream LDP Session Identifier.

      b) If an LSP Control Block is found, pass the event `LDP Release'
         to its state machine.

      c) Otherwise, ignore the message.

   -  If an LSR receives an LDP-WITHDRAW from a downstream LSR:

      a) Find an LSP Control Block that has the same Downstream Label
         and the same Downstream LDP Session Identifier.

      b) If an LSP Control Block is found, pass the event `LDP Withdraw'
         to its state machine.

      c) Otherwise, ignore the LDP-WITHDRAW and send a LDP-RELEASE
         downstream.

   -  If an upstream LDP peer is lost:

      a) Find all the LSP Control Blocks whose upstream LDP peer is that
         LSR.

      b) Then pass the event `Upstream Lost' to their state machines.

   -  If a downstream LDP peer is lost:

      a) Find all the LSP Control Blocks whose downstream LDP peer is
         that LSR.

      b) Then pass the event `Downstream Lost' to their state machines.

   -  If the LSR detects a new next hop for an FEC:

      For each LSP that needs "local repair", or it needs "global
      repair" and it is the ingress of the LSP, pass event "Internal New
      NH" to its state machine.





Boscher, et al.              Informational                     [Page 30]

RFC 3215                   LDP State Machine                January 2002


   -  If an LSR receives an LDP-Abort from an upstream LSR:

      a) Extract the LDP Request ID value from the LDP-Abort message.

      b) Find an LSP Control Block that has the same Upstream Label
         Request ID and the same Upstream LDP Session Identifier.

      c) If an LSP Control Block is found, pass the event `LDP Upstream
         Abort' to its state machine.

      d) Otherwise, ignore the message.

   -  If the LSR receives an LDP-NAK from a downstream LSR:

      a) Extract the LDP Request ID value from the LDP-NAK.

      b) Find an LSP Control Block that has the same Downstream Label
         Request ID and the same Downstream LDP Session Identifier.

      c) If an LSP Control Block is found, pass the event `LDP
         Downstream NAK' to its state machine.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -