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

📄 rfc3215.txt

📁 RFC 的详细文档!
💻 TXT
📖 第 1 页 / 共 5 页
字号:






Network Working Group                                         C. Boscher
Request for Comments: 3215                                     P. Cheval
Category: Informational                                          Alcatel
                                                                   L. Wu
                                                                   Cisco
                                                                 E. Gray
                                                               Sandburst
                                                            January 2002


                           LDP State Machine

Status of this Memo

   This memo provides information for the Internet community.  It does
   not specify an Internet standard of any kind.  Distribution of this
   memo is unlimited.

Copyright Notice

   Copyright (C) The Internet Society (2002).  All Rights Reserved.

Abstract

   This document provides state machine tables for ATM (Asynchronous
   Transfer Mode) switch LSRs.  In the current LDP specification, there
   is no state machine specified for processing LDP messages. We think
   that defining a common state machine is very important for
   interoperability between different LDP and CR-LDP implementations.

   We begin in section 1 by defining a list of terminologies.  Then in
   section 2, we propose two sets of state machine tables for ATM switch
   LSRs that use downstream-on-demand mode, one method can be used for
   non-vc merge capable ATM LSRs, while the other one can be used for
   the vc-merge capable ATM LSRs.  In section 3, we provides a state
   machine for downstream unsolicited mode ATM LSRs.

   We focus on the LDP state machines and the associated control blocks
   used for establishing and maintaining LSPs.  We do not describe state
   machines for the "LDP controller" that is in charge of LDP session
   initialization, address mapping messages management, routing
   interface, etc. that is defined in the LDP specification.

   Even though the state machines in this document are specific for
   ATM-LSR, they can be easily adapted for other types of LSRs.






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


Table Of Contents

   1. Terminology ...................................................  4
   2. State Machine for Downstream-on-Demand Mode ...................  4
   2.1 An LSR's Behavior in the Case of a Next Hop Change ...........  4
   2.2. ATM Switch LSR with No VC-merge Capability ..................  5
   2.2.1 LSP Control Block ..........................................  5
   2.2.2 States .....................................................  7
   2.2.3 Events .....................................................  8
   2.2.4 State Transitions ..........................................  9
   2.2.5 State Machine .............................................. 10
   2.2.5.1 State -- "IDLE" .......................................... 10
   2.2.5.2 State -- "RESPONSE_AWAITED" .............................. 13
   2.2.5.3 State -- "ESTABLISHED" ................................... 16
   2.2.5.4 State -- "RELEASE_AWAITED" ............................... 21
   2.2.6 Handling the Next Hop Change ............................... 23
   2.2.6.1 Next Hop Trigger Control Block ........................... 24
   2.2.6.2 States ................................................... 24
   2.2.6.3 Events ................................................... 24
   2.2.6.4 State Transition for next hop change ..................... 25
   2.2.6.5 State Machine ............................................ 25
   2.2.6.5.1 State -- "IDLE" ........................................ 25
   2.2.6.5.2 State -- "NEW_NH_RETRY" ................................ 27
   2.2.6.5.3 State -- "NEW_NH_RESPONSE_AWAITED" ..................... 28
   2.2.7 LDP Related Message Handling ............................... 29
   2.3. ATM Switch LSR with VC-merge ................................ 31
   2.3.1 VC-merge ................................................... 31
   2.3.2 Control Block .............................................. 31
   2.3.3   State Machines for Downstream-on-demand Mode ............. 34
   2.3.3.1 State of the Upstream LSP Control Block's State Machine
           for Downstream-on-demand Mode ............................ 34
   2.3.3.2 Events of the Upstream LSP Control Block's State Machine
           for Downstream-on-demand Mode ............................ 35
   2.3.3.3 State Transitions of the Upstream LSP Control Block's State
           Machine for Downstream-on-demand Mode .................... 36
   2.3.3.4 Upstream LSP Control Block's State Machine
           for Downstream-on-demand Mode ............................ 37
   2.3.3.4.1 State -- "IDLE" ........................................ 37
   2.3.3.4.2 State -- "RESPONSE_AWAITED" ............................ 39
   2.3.3.4.3 State -- "ESTABLISHED" ................................. 42
   2.3.3.4.4 State -- "RELEASE_AWAITED" ............................. 45
   2.3.3.5 State of the Downstream LSP Control Block's State Machine
           for Downstream-on-demand Mode ............................ 47
   2.3.3.6 Events of the Downstream LSP Control Block's State Machine
           for Downstream-on-demand Mode ............................ 47
   2.3.3.7 State Transitions of the Downstream LSP Control Block's
           State Machine for Downstream-on-demand mode .............. 48




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


   2.3.3.8 Downstream LSP Control Block's State Machine for
           Downstream-on-demand Mode ................................ 49
   2.3.3.8.1 State -- "IDLE" ........................................ 48
   2.3.3.8.2 State -- "RESPONSE_AWAITED" ............................ 50
   2.3.3.8.3 State -- "ESTABLISHED" ................................. 52
   2.3.3.9 State of the Next_Hop_Trigger_Control_Block's State
           Machine for Downstream-on-demand Mode .................... 53
   2.3.3.10 Events of the Next_Hop_Trigger_Control_Block's State
            Machine for Downstream-on-demand Mode ................... 53
   2.3.3.11 State Transitions of the Next_Hop_Trigger_Control_Block's
            State Machine for Downstream-on-demand Mode ............. 55
   2.3.3.12 State Machine ........................................... 55
   2.3.3.12.1 State -- "IDLE" ....................................... 55
   2.3.3.12.2 State -- "NEW_NH_RETRY" ............................... 57
   2.3.3.12.3 State -- "NEW_NH_RESPONSE_AWAITED" .................... 58
   2.3.4 LDP Related Message Processing ............................. 59
   3. State Machine for Downstream Unsolicited ...................... 61
   3.1 Control Block ................................................ 61
   3.2 States of the Upstream LSP Control Block's State Machine
       for Downstream Mode .......................................... 62
   3.3 Events of the Upstream LSP Control Block's State Machine
       for Downstream Mode .......................................... 62
   3.4 State Transitions of Upstream LSP Control Block's State
       Machine for Downstream Mode .................................. 64
   3.5 Upstream LSP Control Block's State Machine for
       Downstream Mode .............................................. 65
   3.5.1 : State -- "IDLE" .......................................... 65
   3.5.2 : State -- "ESTABLISHED" ................................... 66
   3.5.3 : State -- "RELEASE_AWAITED" ............................... 67
   3.5.4 : State -- "RESOURCE_AWAITED" .............................. 69
   3.6 State of the Downstream LSP Control Block's State Machine
       for Downstream Mode .......................................... 70
   3.7 Events of the Downstream LSP Control Block's State Machine
       for Downstream Mode .......................................... 70
   3.8 State Transitions of Downstream LSP Control Block's State
       Machine for Downstream Mode .................................. 71
   3.9 Downstream LSP Control Block's State Machine
       for Downstream Mode .......................................... 71
   3.9.1 : State -- "IDLE" .......................................... 71
   3.9.2 : State -- "ESTABLISHED" ................................... 73
   3.10 LDP Related Message Processing for downstream mode .......... 74
   4. Security Considerations ....................................... 75
   5. Acknowledgements .............................................. 76
   6. References .................................................... 76
   7. Authors' Address .............................................. 77
   8. Full Copyright Statement ...................................... 78





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


1. Terminology

   -  LDP-REQUEST: LDP Label Request message

   -  LDP-MAPPING: LDP Label Mapping message

   -  LDP-WITHDRAW: LDP Label Withdraw message

   -  LDP-RELEASE: LDP Label Release message

   -  LDP-ABORT: LDP Abort message used to abort a LSP setup.

   -  LDP-NAK: LDP Notification message used to reject an LDP message.

2. State Machine for Downstream-on-Demand Mode

   In this document, we provide two sets of state machines: one for the
   ATM LSR that does not have VC-merge capability, and the other for the
   ATM LSR that does have VC-merge capability.

   State machine descriptions are given in terms of control blocks,
   states, events, response actions and state transitions.  Control
   blocks contain the information that is required to support handling
   of events.  A control block may also contain any additional
   information that is required either of any specific implementation or
   in support of other required functions.  In every case, additional
   information required to support the procedures defined in the LDP
   specification [4] or management objects defined in the LDP MIB [3]
   would be stored in a specific LDP implementation - either as part of
   the control block structure or in some other way.

   The state machines cover both independent LSP control and ordered LSP
   control.

   Loop detection and loop prevention messages will be processed as
   specified in [4].  The impact of loop detection and loop prevention
   messages on state transitions is left for further study.

2.1 An LSR's Behavior in the Case of a Next Hop Change

   When there is a topology change and an LSR detects a new better next
   hop for an LSP, it may behave in 2 different ways:

   1) It tries to do a "local repair".  This means that it extends the
      LSP through the new next hop, releases the old path from this LSR
      forward and then splices into this newly extended LSP.





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


   2) If the LSP is created with the "pinned" option (CR-LDP[5]), the
      LSR ignores the new next hop change, and the LSP stays unchanged.
      The LSR may decide to send an LDP-MAPPING containing attributes
      for this New Next Hop (NH) that have changed.

2.2. ATM Switch LSR with No VC-merge Capability

   In an MPLS domain where some ATM LSRs do not have VC-merge
   capability, downstream-on-demand mode is required for these ATM LSRs
   [1].  Also, "conservative label retention mode" is required in this
   case [1].

   For each LSP, there are 2 kinds of state machines involved:

   1) the LSP Control Block and its state machine that can be used to
      handle normal LSP setup.  It is created when the LSR receives a
      new LDP Request and it is deleted when the LSP of this request is
      torn down.

   2) the Next Hop Trigger Control Block and its state machine that is
      used to handle switching over to a better LSP through a different
      next hop.  It is created when the LSR decides to switch over to a
      better next hop and it is deleted when the LSR finishes switching
      over to the better next hop.  This state machine uses a timer (and
      has corresponding states) to ensure that switch over occurs in a
      timely fashion after a routing transient has had time to
      stabilize.

2.2.1 LSP Control Block

   For each LSP, an LSP Control Block is defined that may contain the
   following information:

      -  Upstream Label Request ID (assigned by the upstream LSR), that
         is the 'Message Id' in the Label Request Message received from
         the upstream LSR.

      -  Downstream Label Request ID (assigned by this LSR itself), that
         is 'Message Id' in the Label Request Message sent to the
         downstream LSR.

      -  Upstream LDP Identifier

      -  Downstream LDP Identifier

      -  State

      -  FEC



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


      -  Upstream Label (assigned by this LSR)

      -  Downstream Label (assigned by the downstream LSR)

      -  Trigger Control Block Pointer, (Only used at the ingress LSR of
         a LSP) that points to the control block that triggers setting
         up this LSP or tearing down this LSP.

      -  Next Hop Control Block Pointer, that points to the control
         block that is used for switching over to a better LSP.

   The following index combinations can be used to locate a unique LSP
   Control Block:

      -  Downstream Label and Downstream LDP Identifier, or

      -  Upstream Label and Upstream LDP Identifier, or

      -  Downstream Label Request ID and Downstream LDP Identifier

      -  Upstream Label Request ID and Upstream LDP Identifier

   Here is the relationship between different control blocks, the detail
   definition of Next Hop Trigger Control Block is described in section
   2.2.6.

   For example, an LSP that transits through (LSR-A, LSR-B, LSR-C, LSR-
   D):

      LSR-A ----> LSR-B ---> LSR-C ---> LSR-D

   The control blocks in LSR-A are:

                  +-----------------------+
                  | Trigger Control Block |
                  |  (e.g, by config)     |
                  +-----------------------+
                             ^
                             |(Trigger Control block pointer)
                             |
                             |
                  +-----------------------+
                  | LSP Control Block     |
                  +-----------------------+

   When LSR-B detects a better next hop to LSR-D through LSR-E,  and  it
   decides to switch over to it, so control blocks in LSR-B are:




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


                +-----------------------+
                | LSP Control Block     |
                | (original LSP)        |
                +-----------------------+
             (LSP      ^  |
              Control  |  | (Next Hop Trigger Control Block Pointer)
              Block    |  |
              Pointer) |  v
                +--------------------------------+
                | Next Hop Trigger Control Block |
                +--------------------------------+
                       ^  |
             (Trigger  |  | (New Next Hop LSP
               Control |  |  Control Block Pointer)
               Block   |  |
               Pointer)|  |
                       |  v
                +------------------------+
                | LSP Control Block      |
                | (for LSP: LSR-B, LSR-E,|
                |   LSR-D)               |
                +------------------------+

2.2.2   States

   This section describes the various states that are used in the state
   machine for the ATM non VC-merge LSR.

   -- IDLE

   This is the initial LSP state, when the LSP Control Block is created.

   -- RESPONSE_AWAITED

   This state means that the LSR has received and processed an LDP-
   REQUEST from an upstream LSR, or it has received an internal set up
   request.  It has sent a new LDP-REQUEST towards a downstream LSR.
   The LSR is waiting for the LDP-MAPPING from the downstream LSR.

   -- ESTABLISHED

   This state means that the LSR has received the LDP-MAPPING from the
   downstream LSR and the LSP is up and operational.

   -- RELEASE_AWAITED

   This state means that the LSR has sent a LDP-WITHDRAW upstream and is
   waiting for the LDP-RELEASE before freeing up the label resource.



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


2.2.3 Events

   -- LDP Request

   The LSR receives an LDP-REQUEST from an upstream LSR.

   -- LDP Mapping

   The LSR receives an LDP-MAPPING from a downstream LSR.

   -- LDP Release

   The LSR receives an LDP-RELEASE from an upstream LSR.

   -- LDP Withdraw

   The LSR receives an LDP-WITHDRAW from a downstream LSR.

   -- LDP Upstream Abort

   The LSR receives an LDP-ABORT from an upstream LSR.

   -- LDP Downstream NAK The LSR receives an LDP-NAK (notification) from
   an downstream LSR.

   -- Upstream Lost

   The LSR loses its LDP session with an upstream LDP peer.

⌨️ 快捷键说明

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