Internet DRAFT - draft-jian-ccamp-multinodes-rsvp-restart
draft-jian-ccamp-multinodes-rsvp-restart
Network Working Group JiangWeilian(ZTE Corporation)
FengJun(ZTE Corporation)
Internet-Draft CuiYing(ZTE Corporation)
Expires: May 20, 2006 KongYong(ZTE Corporation)
LuoJian(ZTE Corporation)
November 20, 2005
Mechanism of multiple adjacent nodes RSVP
graceful restart Simultaneously
draft-jian-ccamp-multinodes-rsvp-restart-00
Status of this Memo
This document is an Internet-Draft and is subject to all provisions
of Section 5 of RFC3209, Section 9 of RFC3473.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as
Internet-Drafts.
By submitting this Internet-Draft, each author represents that any
applicable patent or other IPR claims of which he or she is aware
have been or will be disclosed, and any of which he or she becomes
aware will be disclosed, in accordance with Section 6 of BCP 79.
Internet-Drafts are draft documents valid for a maximum of six
months and may be updated, replaced, or obsoleted by other
documents at any time. It is inappropriate to use Internet-Drafts
as reference material or to cite them other than as "work in
progress."
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/1id-abstracts.html
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html
This Internet-Draft will expire on May 20, 2006.
Copyright Notice
Copyright (C) The Internet Society (2005). All Rights Reserved.
Luojian Expires: May 2006 [Page 1]
Internet-Draft draft-jian-ccamp-multinodes-rsvp-restart-00 Oct. 2005
Abstract
Based on the RSVP graceful restart defined in the RFC3473, RFC3209,
Node ID RSVP Hello:A Clarification Statement (draft-ietf-ccamp-rsvp
-node-id-based-hello-02) and the Extensions to GMPLS RSVP Graceful
Restart (draft-ietf-ccamp-rsvp-restart-ext-05), this document puts
forward extension to solve the problem for the restart node to
actively inform RSVP graceful restart to the neighbor, and further
provides the relevant mechanism to support recovery processing of
RSVP graceful restart at simultaneous restart of multiple adjacent
nodes.
Table of Contents
1. Conventions used in this document. . . . . . . . . . . . . . 3
2. Terms and abbreviation . . . . . . . . . . . . . . . . . . . 3
3. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . 3
4. Actively Informing Neighbor
of RSVP GR Capability by Restarted Node . . . . . . . . . . . 4
4.1 Adopting Multicast Address . . . . . . . . . . . . . . . . . 4
4.2 Adopting Hot Backup . . . . . . . . . . . . . . . . . . . . . 5
5. RSVP GR Processing at Simultaneous Restart
of Multiple Adjacent Nodes . . . . . . . . . . . . . . . . 5
5.1 Multiple Adjacent Restart Nodes are Intermediate
Nodes of the Tunnel . . . . . . . . . . . . . . . . . . . . . 5
5.2 Multiple Adjacent Restart Nodes Contain
Tunnel Tail Node . . . . . . . . . . . . . . . . . . . . . . 7
5.3 Multiple Adjacent Restart Nodes Contain
Tunnel Head Node. . . . . . . . . . . . .. . . . . . . . . 7
5.4 Multiple Adjacent Restart Nodes Contain
All the Tunnel Nodes. . . . . . . . . . . . . . . . . . . . . 9
6. References . . . . . . . . . . . . . . . . . . . . . . . . 9
Luojian Expires: May 2006 [Page 2]
Internet-Draft draft-jian-ccamp-multinodes-rsvp-restart-00 Oct. 2005
1 Conventions used in this document
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in
this document are to be interpreted as described in [RFC-2119].
2 Terms and abbreviation
Suppose the reader is familiar with terms defined in [RFC3209],
[RFC3473].
3 Overview
In the RSVP Graceful Restart defined in Section 9 of RFC3473, the
Hello mechanism defined by RFC3209 is extended to support GR
(Graceful Restart) capability informing and fault detection between
RSVP neighbors. It aims to define Resatrt_Cap object for Hello
extension to carry GR capability parameter and inform it to the
neighbor through Hello message interaction.
The Hello mechanism defined by RFC3209 defines the message
destination address and source address as the inter-neighbor
interface IP address in turn. In draft-ietf-ccamp-rsvp-node-id-based
-hello-02, the extension defines that the destination address and
source address of Hello message supporting GR are TE RouterID of
respective nodes.
Then, the restart node is usually at a passive position. Only after
it receives the RSVP GR Hello message from the neighbor, will it
inform the neighbor of its GR capability b returning the ACK message.
For restart of a single node, GR capability informing in the passive
mode is also acceptable.
If multiple adjacent nodes restart at the same time, however, these
nodes cannot learn about the GR capability from each other. This
document puts forward the solution of using the multicast address as
destination address or adopting the hot backup technology to
implement active informing of restarted node RSVP GR capability, and
further provides the relevant mechanism to support recovery
processing of RSVP GR at simultaneous restart of multiple adjacent
nodes.
Luojian Expires: May 2006 [Page 3]
Internet-Draft draft-jian-ccamp-multinodes-rsvp-restart-00 Oct. 2005
4 Actively Informing Neighbor of RSVP GR Capability by Restarted Node
4.1 Adopting Multicast Address
After the node restarts and makes sure it supports RSVP GR Recovery,
it can periodically send the GR HELLO message outward in the 1/2
RecoveryTime through all the RSVP interfaces to inform its GR
capability. Main field data composing the GR HELLO request message:
The destination IP address is multicast address (IPv4: 224.0.0.2;
IPv6: FF02:0:0:0:0:0:0:2).
The source IP address is the local TE RouterID.
The source instance value is the created value (the neighbors
under different interfaces can be the same).
The destination instance value is 0.
The Restart time value of Restart_Cap object is the local
configuration value.
The Recovery time of Restart_Cap object is the local configuration
value.
The R digit value of Capability object is 1 (it indicates the node
supports receiving of the RecoveryPath message).
The T digit value of Capability object is 1 (it indicates the node
supports sending of the RecoveryPath message).
The S digit value of Capability object is 0 (it indicates the node
does not support abstract refreshing message; for support, it can
be set as 1).
The Reserved digit value of Capability object is 0.
When the neighbor receives the GR HELLO request message with this
destination address as multicast address, it can first use the
informed source RouterID as the neighbor RouterID and local RouterID
to query if the corresponding HELLO instance exists:
If the instance does not exist, it will create a corresponding
instance, save the GR capability parameter informed by the peer,
and confirms restart of the peer node based on the fact that the
destination IP address is the multicast address. According to the
informed GR capability parameter, it confirms that the peer is in
the Recovery stage, replies the ACK message to the restart
neighbor based on its GR capability, and then creates the
corresponding Recovery Timer.
Luojian Expires: May 2006 [Page 4]
Internet-Draft draft-jian-ccamp-multinodes-rsvp-restart-00 Oct. 2005
If the instance exists, it will save the GR capability parameter
informed by the peer, and reply the ACK message to the restart
neighbor based on its GR capability.
After receiving the ACK reply message from the neighbor, the restart
node can create the corresponding GR Hello instance in accordance
with the information in the message. By now, the GR Hello relation
between the restart node and neighbor node is reestablished.
If the destination IP address of the GR HELLO request message
received by the restart node from its neighbor is also the multicast
address, it means that the neighbor node is also a restart node. In
this case, it similarly creates a corresponding instance, saves the
GR capability parameter informed by the peer, confirms that the peer
node is restarted and in the Recovery stage, and creates the
corresponding Recovery Timer.
After 1/2RecoveryTime, the restart node must stop sending of the GR
Hello message with the destination IP address as multicast address.
In stead, it just implements GR Hello communication according to the
created GR Hello instance.
4.2 Adopting Hot Backup
If the node conducts hot backup of key data for the established GR
HELLO instance, such as the neighbor RouterID, local RouterID, source
instance value, destination instance value, outgoing interface and
the next-hop address.
Then, the restart node, after hot backup switching and restart, can
get the hot backup GR HELLO instance data before restart, and
actively constitute a GR Hello instance based on these data to send
a new GR Hello message to inform the neighbor. Then, it
reestablishes the GR HELLO relation with the neighbor node.
5 RSVP GR Processing at Simultaneous Restart of Multiple Adjacent Nodes
Suppose Tunnel1 is established along with the LSR1-LSR2-LSR3-LSR4
path. LSR1, LSR2, LSR3 and LSR4 all support RSVP GR, and all the
nodes support sending and receiving of the Recovery Path message.
5.1 Multiple Adjacent Restart Nodes are Intermediate Nodes of the Tunnel
Suppose LSR2 and LSR3 start at the same time.
LSR1 and LSR4 enter the Restart stage, and they send the GR Hello
message to LSR2 and LSR3 in turn.
Luojian Expires: May 2006 [Page 5]
Internet-Draft draft-jian-ccamp-multinodes-rsvp-restart-00 October 2005
After the LSR2 and LSR3 restart, they will enter the GR Recovery
stage according to the configuration. With the method described in
Section 4, a GR Hello relation can be set up between LSR2 and LSR3,
and they can learn that the peer party is in the GR Recovery stage.
At the same time, LSR1 and LSR4 will send the GR Hello request
message to LSR2 and LSR3 in turn, and LSR2 and LSR3 will create
the corresponding GR HELLO instance, respond to the request messages
from LSR1 and LSR4, inform the peer party of support to GR, and then
enter the Recovery stage together.
After that, LSR1 will send the Path message with Recovery Label
object to LSR2. (if sending and receiving of RecoveryPath message are
supported, LSR4 will also send the RecoveryPath message to LSR3).
After receiving the Path message with Recovery Label object, LSR2
will check if the corresponding PSB exists. Suppose it cannot be
found, but the corresponding entry is found from the MPLS forwarding
table, LSR2 will create the corresponding PSB.
However, because the GR Hello relation has been established between
LSR2 and LSR3, and they learn that the peer part is in the GR
Recovery stage, then LSR2 can send the Path message carrying Recovery
Label object to LSR3. Here, the outgoing label and outgoing interface
are obtained by query of the forwarding table, and the next-hop
address can be obtained through the ERO object of Path message sent
upstream.
After receiving the Path message carrying Recovery Label object from
the restart node LSR2, LSR3 will find out if the corresponding PSB
exists according to the received Path message. Suppose it is not
found, but the corresponding entry is found from the MPLS forwarding
table. Then, LSR3 creates the corresponding PSB, constitutes the
Path message containing Suggested Label object and sends it to the
downstream LSR4.
After receiving the Path refreshing message containing Suggested
Label object from the restart node LSR3, LSR4 resolves the incoming
label of LSP for recovery through the Suggested_Label object in
the Path message. Then, it matches the corresponding RSB, refreshes
(clears) the stale flag for the corresponding forwarding table
entry, and triggers the corresponding Resv message to send it to
LSR3.
LSR3 receives the Resv message from LSR4, creates RSB and associates
the corresponding PSB. Now, both the incoming label and outgoing
label are refreshed. LSR3 clears the stale flag for the corresponding
forwarding entry and sends the Resv message to LSR2.
Luojian Expires: May 2006 [Page 6]
Internet-Draft draft-jian-ccamp-multinodes-rsvp-restart-00 October 2005
LSR2 receives the Resv message from LSR3, creates RSB and associates
the corresponding PSB. Now, both the incoming label and outgoing
label are refreshed. LSR2 clears the stale flag for the corresponding
forwarding entry and sends the Resv message to LSR1.
LSR1 receives the Resv message, refreshes RSB, and clears the stale
flag of relevant protocol state. Now, Tunnel1 is completely
recovered.
5.2 Multiple Adjacent Restart Nodes Contain Tunnel Tail Node
Suppose LSR2, LSR3 and LSR4 start at the same time.
LSR1 enters the Restart stage, and it sends the GR Hello message to
LSR2.
After LSR2, LSR3 and LSR4 all restart, they will enter the GR
Recovery stage according to the configuration. With the method
described in Section 4, a GR Hello relation can be set up between
LSR2, LSR3 and LSR4, and they can learn that the peer party is in
the GR Recovery stage.
At the same time, LSR1 will send the GR Hello request message to
LSR2, and LSR2 will create the corresponding GR HELLO instance,
respond to the request messages from LSR1, inform the peer party of
support to GR, and then enter the Recovery stage together.
After that, LSR1 will send the Path message with Recovery Label
object to LSR2.
The following handing is the same as the description in Section
5.1. The Path message is sent to LSR3. After handing by LSR3, the
Path carrying Recovery Label object is sent to LSR4, instead of the
Path message carrying Suggested Label object.
Then, LSR4 sends the Resv message upstream, and each hop is
recovered in turn along with the upstream path till LSR1. Finally,
Tunnel1 is completely recovered.
5.3 Multiple Adjacent Restart Nodes Contain Tunnel Head Node
Suppose LSR1, LSR2 and LSR3 start at the same time.
LSR4 enters the Restart stage, and it sends the GR Hello message to
LSR3.
After LSR1, LSR2 and LSR3 all restart, they will enter the GR
Recovery stage according to the configuration. With the method
described in Section 4, a GR Hello relation can be set up between
LSR1, LSR2 and LSR3, and they can learn that the peer party is in
the GR Recovery stage.
Luojian Expires: May 2006 [Page 7]
Internet-Draft draft-jian-ccamp-multinodes-rsvp-restart-00 October 2005
At the same time, LSR4 will send the GR Hello request message to
LSR3, and LSR3 will create the corresponding GR HELLO instance,
respond to the request messages from LSR4, inform the peer party of
support to GR, and then enter the Recovery stage together.
After that, only LSR4 will send the Recovery Path message to LSR3.
(therefore, we suppose all the nodes support sending and receiving
of the Recovery Path message.)
When receiving the RecoveryPath message from the assistant node
LSR4, LSR3 will find out if the corresponding PSB exists according
to the received PATH message. Suppose it is not found, but the
corresponding entry is found from the MPLS forwarding table. Then,
LSR3 creates the corresponding PSB (possibly the original Path
message should have the RRO object, which can be used to get the
previous-hop address and recover the ERO containing the previous-hop
address), and constitutes the Path message containing Suggested Label
object to send it to the downstream LSR4 and wait for the Resv
message from LSR4.
After receiving the Path refreshing message containing Suggested
Label object from the restart node LSR3, LSR4 resolves the incoming
label of LSP for recovery through the Suggested_Label object in the
Path message. Then, it matches the corresponding RSB, refreshes
(clears) the stale mark for the corresponding forwarding table entry,
and triggers the corresponding Resv message to send it to LSR3.
After receiving the Resv message from LSR4, LSR3 creates the
corresponding RSB, and refreshes (clears) the stale flag for the
corresponding forwarding table entry. Then, LSR3 will send the
Recovery Path message to LSR2.
The same as handling of LSR3, LSR2, after receiving the RecoveryPath
message from LSR3, will create the corresponding PSB, constitute the
Path message containing Suggested Label object to send it to the
downstream LSR3 and wait for the Resv message from LSR3.
After receiving the Resv message from LSR3, LSR2 creates the
corresponding RSB, and refreshes (clears) the stale flag for the
corresponding forwarding table entry. Then, LSR2 will send the
Recovery Path message to LSR1.
Similarly, LSR1 creates the corresponding PSB and RSB, and refreshes
(clears) the stale flag for the corresponding forwarding table entry.
Now, Tunnel1 is completely recovered.
Luojian Expires: May 2006 [Page 8]
Internet-Draft draft-jian-ccamp-multinodes-rsvp-restart-00 October 2005
5.4 Multiple Adjacent Restart Nodes Contain All the Tunnel Nodes
Suppose LSR1, LSR2, LSR3 and LSR4 start at the same time.
After LSR1, LSR2, LSR3 and LSR4 all restart, they will enter the GR
Recovery stage according to the configuration. With the method
described in Section 4, a GR Hello relation can be set up between
LSR1, LSR2, LSR3 and LSR4, and they can learn that the peer party is
in the GR Recovery stage.
However, none of the four LSRs has the Tunnel1 protocol state data
before restart, so they cannot constitute any recovery Path message
to be sent to the neighbor. In this case, Tunnel1 can only wait for
reestablishment of LSR1 after the GR Recovery stage ends.
6 References
[RFC3209] Awduche, D., et al., "Extensions to RSVP for LSP
Tunnels", December 2001.
[RFC3473] Berger, L., et al., "Generalized Multi-Protocol Label
Switching (GMPLS) Signaling Resource ReserVation
Protocol-Traffic Engineering (RSVP-TE) Extensions",
January 2003.
[RFC1112] Deering, S., "Host Extensions for IP Multicasting",
Stanford University, August 1989.
[RFC2375] Hinden, R., et al., "IPv6 Multicast Address Assignments",
July 1998.
IANA ˇ°INTERNET MULTICAST ADDRESSESˇ±, September 2005
[draft-ietf-ccamp-rsvp-node-id-based-hello-02]
Zafar Ali, et al.,"Node ID based RSVP Hello: A
Clarification Statement", September 2005.
[draft-ietf-ccamp-rsvp-restart-ext-05]
Satyanarayana, et al., "Extension to GMPLS RSVP Graceful
Restart", September 2005.
Luojian Expires: May 2006 [Page 9]
Internet-Draft draft-jian-ccamp-multinodes-rsvp-restart-00 October 2005
Authors Addresses
JiangWeilian
No.68 Zijinghua Road, Yuhuatai District
Nanjing, China
Phone: +86-025-52871644
Email: jiang.weilian@zte.com.cn
FengJun
No.68 Zijinghua Road, Yuhuatai District
Nanjing, China
Phone: +86-025-52871631
Email: feng.jun99@zte.com.cn
CuiYing
No.68 Zijinghua Road, Yuhuatai District
Nanjing, China
Phone: +86-025-52871631
Email: cui.ying@zte.com.cn
KongYong
No.68 Zijinghua Road, Yuhuatai District
Nanjing, China
Phone: +86-025-52871177
Email: kong.yong@zte.com.cn
LuoJian
No.68 Zijinghua Road, Yuhuatai District
Nanjing, China
Phone: +86-025-51803814
Email: luo.jian@zte.com.cn
Comments are solicited and should be addressed to the working
group's mailing list at ccamp@ops.ietf.org and/or the author(s).
Luojian Expires: May 2006 [Page 10]
Internet-Draft draft-jian-ccamp-multinodes-rsvp-restart-00 October 2005
Intellectual Property Statement
The IETF takes no position regarding the validity or scope of any
intellectual property or other rights that might be claimed to
pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights
might or might not be available; neither does it represent that it
has made any effort to identify any such rights. Information on the
IETF's procedures with respect to rights in standards-track and
standards-related documentation can be found in BCP-11. Copies of
claims of rights made available for publication and any assurances of
licenses to be made available, or the result of an attempt made to
obtain a general license or permission for the use of such
proprietary rights by implementers or users of this specification can
be obtained from the IETF Secretariat.
The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary
rights, which may cover technology that may be required to practice
this standard. Please address the information to the IETF Executive
Director.
Disclaimer of Validity
This document and the information contained herein are provided on an
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Full Copyright Statement
Copyright (C) The Internet Society (2005).
This document is subject to the rights, licenses and restrictions
contained in BCP 78, and except as set forth therein, the authors
retain all their rights.
Acknowledgments
The authors would like to thank XuZhijun, DuKe, ZhuXinhua,
ChenJianye and all the other people who have contributed to this
draft, and also would like to thank all the future participants for
their comments and suggestions.
Luojian Expires: May 2006 [Page 11]
Internet-Draft draft-jian-ccamp-multinodes-rsvp-restart-00 October 2005