📄 rfc3215.txt
字号:
d) Otherwise, ignore the message.
2.3. ATM Switch LSR with VC-merge
2.3.1 VC-merge
A VC-merge capable LSR can map multiple incoming labels (VPI/VCI)
into one outgoing label. It is possible that this LSR can only merge
a limited number of incoming labels into a single outgoing label. As
described in [2], suppose, for example, that due to some hardware
limitation a node is capable of merging four incoming labels into a
single outgoing label. Suppose however, that this particular node
has six incoming labels arriving at it for a particular FEC. In this
case, this node may merge these into two outgoing labels.
When an upstream LSR has a limited merging capability, it is
difficult for a downstream LSR to know how many labels should be
assigned to each FEC. In this case, downstream-on-demand is
recommended.
2.3.2 Control Block
There are 3 types of control blocks involved: Upstream LSP Control
Block, Downstream LSP Control Block, and Next Hop Trigger Control
Block.
Boscher, et al. Informational [Page 31]
RFC 3215 LDP State Machine January 2002
There is one Upstream LSP Control Block for each LDP-REQUEST
received.
There is one Downstream LSP Control Block for each unique LDP-REQUEST
sent to a downstream LSR. There can be multiple Downstream LSP
Control Blocks per FEC in an LSR. This can be the result of an
upstream LSR asking for a label for an FEC. This LSR must assign a
unique upstream label and it can not merge this upstream label into
an existing downstream label for this FEC.
There is one Next Hop Trigger Control Block for each FEC for which a
better next hop has been detected and the LSR has decided to switch
to this better next hop. It could be the result of "local repair" or
"global repair" if the LSR is the ingress LSR of the LSP.
A Downstream LSP Control Block contains a list of pointers to
Upstream LSP Control Blocks or the Next Hop Trigger Control Block.
This means that this LSR has decided to map the multiple labels
listed in the Upstream LSP Control Blocks and the Next Hop Trigger
Control Block into a single label listed in the Downstream LSP
Control Block.
An Upstream LSP Control Block may contain the following information:
- Upstream LDP Session Identifier
- State
- Upstream Label (assigned by this LSR)
- Downstream LSP Control Block pointer
- Upstream LDP Request ID (assigned by the upstream LSR in
downstream-on-demand mode)
- Next_Hop_Trigger_Block pointer
Upstream Label and Upstream LDP Session Identifier can be used to
locate a unique Upstream LSP Control Block.
If an LSR is using downstream-on-demand mode, it can use the Upstream
LDP Request ID and the Upstream LDP Session Identifier to locate a
unique Upstream LSP Control Block.
Boscher, et al. Informational [Page 32]
RFC 3215 LDP State Machine January 2002
An Next_Hop_Trigger LSP Control Block may contain the following
information:
- Upstream LSP Control Block pointer, that points to the one that
is needed to switch over to the better next hop
- State
- Downstream LSP Control Block pointer
A Downstream LSP Control Block may contain the following information:
- FEC
- State
- Downstream LDP Session Identifier
- list of pointers to the Upstream LSP Control Blocks or the
Trigger_Control_Blocks that are merged at this LSR for this FEC
- Downstream Label (assigned by the downstream LSR)
- Downstream Label Request ID (assigned by the LSR itself if it
is using downstream-on-demand mode)
Downstream Label, Downstream LDP Session Identifier can be used to
locate a unique Downstream LSP Control Block.
If an LSR is using downstream-on-demand mode, it can also use the
Downstream Label Request ID and the Downstream LDP Session Identifier
to locate a unique Downstream LSP Control Block.
The following diagram details the relationship between these 2 types
of control blocks:
For example, the LSR has decided to merge 3 LDP-REQUESTs of a FEC
from upstream LSR1, LSR2, LSR3 into one LDP-REQUEST and sent it to a
downstream LSR4.
Boscher, et al. Informational [Page 33]
RFC 3215 LDP State Machine January 2002
+---------------------+
| |
| Upstream_LSP_Control|
| _Block for Upstream|------+
| LSR1 | |
+---------------------+ |
|
+---------------------+ |
| | |
| Upstream_LSP_Control| | (merged into)
| _Block for Upstream |------+
| LSR2 | |
+---------------------+ | +------------------------------+
| | |
+---------------------+ +--->| Downstream LSP Control Block |
| Next_Hop_Trigger_ | | | for Downstream LSR4 |
| LSP Control Block |------+ | |
| | +------------------------------+
+---------------------+
2.3.3 State Machines for Downstream-on-demand Mode
The following sections describe the state machines used in
downstream-on-demand mode.
2.3.3.1 State of the Upstream LSP Control Block's State Machine for
Downstream-on-demand Mode
-- IDLE
This is the initial LSP state.
-- RESPONSE_AWAITED
This state means that the LSR has received and processed an LDP-
REQUEST from an upstream LSR, and 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 34]
RFC 3215 LDP State Machine January 2002
2.3.3.2 Events of the Upstream LSP Control Block's State Machine for
Downstream-on-demand Mode
-- LDP Request
The LSR receives an LDP-REQUEST from an upstream LSR.
-- Internal Downstream Mapping
This event is sent by one Downstream LSP Control Block's state
machine. This Downstream LSP Control Block is the merged Downstream
LSP Control Block of this Upstream LSP Control Block. The event is
the result of receiving an LDP-MAPPING by the Downstream LSP Control
Block's state machine.
-- LDP Release
The LSR receives an LDP-RELEASE from an upstream LSR.
-- Internal Downstream Withdraw
This event is sent by one Downstream LSP Control Block's state
machine. This Downstream LSP Control Block is the merged Downstream
LSP Control Block of this Upstream LSP Control Block. The event is
the result of receiving an LDP-WITHDRAW by the Downstream LSP Control
Block's state machine.
-- LDP Upstream Abort
The LSR receives an LDP-ABORT from an upstream LSR.
-- Internal Downstream NAK
This event is sent by one Downstream LSP Control Block's state
machine. This Downstream LSP Control Block is the merged Downstream
LSP Control Block of this Upstream LSP Control Block. The event is
the result of receiving an LDP-NAK by the Downstream LSP Control
Block's state machine, or it detects an error.
-- Upstream Lost
The LSR loses the LDP session with its upstream LDP peer.
-- Internal New NH
The LSR detects there is better next hop and decides to establish the
lsp through this better next hop.
Boscher, et al. Informational [Page 35]
RFC 3215 LDP State Machine January 2002
-- Internal Re-Cross-Connect
This event is used to trigger splicing into a different downstream
LSP. This can happens when it is switched over to a better LSP
through the new next hop.
2.3.3.3 State Transitions of the Upstream LSP Control Block's State
Machine for Downstream-on-demand Mode
+-------------------+
| |
+-------->| IDLE |<-------------------+
| | | |
| +-------------------+ |
|(LDP Abort) | |
|(Internal |(LDP Request) |
| Downstream NAK) | |
|(Upstream Lost) | (Upstream Lost) |
| v (LDP Release) |
| +-------------------+ |
| | | |
+---------| RESPONSE_AWAITED | |
| | |
+-------------------+ |
| |
|(Internal Downstream |
| mapping) |
| |
v |
+-------------------+ |
| | |
| ESTABLISHED |------->------------+
| | |
+-------------------+ |
| |
| |
|(Internal Downstream Withdraw) |
|(Internal Downstream NAK) |
v |
+-------------------+ (LDP Upstream |
| | Abort) |
|RELEASE_AWAITED |------->------------+
| |
+-------------------+
Boscher, et al. Informational [Page 36]
RFC 3215 LDP State Machine January 2002
2.3.3.4 Upstream LSP Control Block's State Machine for Downstream-on-
demand Mode
2.3.3.4.1 State -- "IDLE"
State: IDLE
Event: LDP Request
New State: Depends upon the action routine.
Actions:
If this LSR is the LSP Egress or Proxy Egress [2],
Then:
choose an upstream label, allocate the resources, connect this
upstream label to the local IP forwarding module, send an LDP-
MAPPING upstream with the upstream label and go to the state
`ESTABLISHED'.
else
Obtain a next hop (or interface). Find a Downstream LSP
Control Block that has the same FEC and the same next hop and
also is able to merge more input labels. If not found, create
a new Downstream LSP Control Block with the state `IDLE'.
If the state of the Downstream LSP Control Block is
`ESTABLISHED', choose an upstream label, connect the upstream
label with the downstream label and send an LDP-MAPPING
upstream with the upstream label, and go to the state
`ESTABLISHED'.
If the state of Downstream LSP Control Block is not
`ESTABLISHED', set the state of the Upstream LSP Control Block
to `RESPONSE_AWAITED'. If the LSR use the independent control
mode [2], choose an upstream label, and send an LDP-MAPPING
upstream.
Pass the event `Internal AddUpstream' to the Downstream LSP
Control Block's state machine.
If unable to process the request for any reason, issue an LDP-NAK
to the sender with the appropriate error code, go to IDLE and
delete the control block.
State: IDLE
Boscher, et al. Informational [Page 37]
RFC 3215 LDP State Machine January 2002
Event: Internal Downstream Mapping
New State: IDLE
Actions:
Ignore the event. It is an internal implementation error.
State: IDLE
Event: LDP Release
New State: IDLE
Actions:
Ignore the event. It is an internal implementation error.
State: IDLE
Event: Internal Downstream Withdraw
New State: IDLE
Actions:
Ignore the event. It is an internal implementation error.
State: IDLE
Event: LDP Upstream Abort
New State: IDLE
Actions:
Ignore the event. It is an internal implementation error.
State: IDLE
Event: Internal Downstream NAK
New State: IDLE
Actions:
Ignore the event. It is an internal implementation error.
Boscher, et al. Informational [Page 38]
RFC 3215 LDP State Mac
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -