Internet Engineering Task Force P. Pan/H. Schulzrinne/R. Guerin
INTERNET DRAFT IBM/Columbia University/IBM
21 November 1997
Staged Refresh Timers for RSVP
draft-pan-rsvp-timer-00.txt
Status of This Memo
This document is an Internet-Draft. 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.
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 not appropriate to use Internet Drafts as
reference material, or to cite them other than as a ``working draft''
or ``work in progress.''
To learn the current status of any Internet-Draft, please check
the ``1id-abstracts.txt'' listing contained in the internet-drafts
Shadow Directories on ds.internic.net (US East Coast), nic.nordu.net
(Europe), ftp.isi.edu (US West Coast), or munnari.oz.au (Pacific
Rim).
Abstract
The current resource Reservation Protocol (RSVP) design has
no reliability mechanism for the delivery of control messages.
Instead, RSVP relies on periodic refresh between routers to
maintain reservation states. This approach has several problems
in a congested network. End systems send Path and Resv messages
to set up RSVP connections. If the first Path or Resv message
from an end system is accidentally lost in the network, a copy of
the message will not be retransmitted until the end of a refresh
interval, causing a delay of 30 seconds or more until a reservation
is established. If a congested link causes a tear-down message
(PathTear or ResvTear) to be dropped, the corresponding reservation
will not be removed from the routers until the RSVP cleanup timer
expires.
Pan/Schulzrinne/Guerin Expires 26 May 1998 [Page i]
Internet Draft RSVP Timer 21 November 1997
We present an RSVP enhancement called staged refresh timers to
support fast and reliable message delivery that ensures hop-by-hop
delivery of control messages without violating the soft-state design.
The enhancement is backwards-compatible and can be easily added to
current implementations. The new approach can speed up the delivery
of trigger messages while reducing the amount of refresh messages.
The approach is also applicable to other soft-state protocols.
The performance benefits of this approach are explored in [PS97].
Pan/Schulzrinne/Guerin Expires 26 May 1998 [Page ii]
Internet Draft RSVP Timer 21 November 1997
Contents
Status of This Memo i
Abstract i
1. Introduction 1
2. Terminology 2
2.1. Sending and Receiving Nodes . . . . . . . . . . . . . . . 2
2.2. Trigger and Refresh Message . . . . . . . . . . . . . . . 2
3. Protocol Mechanisms 3
3.1. Outline of Operation . . . . . . . . . . . . . . . . . . 3
3.2. Time Parameters . . . . . . . . . . . . . . . . . . . . . 3
3.3. Staged Refresh . . . . . . . . . . . . . . . . . . . . . 4
4. Protocol Extension 5
4.1. Common Header . . . . . . . . . . . . . . . . . . . . . . 5
4.2. Echo-Reply Messages . . . . . . . . . . . . . . . . . . . 6
4.2.1. PathAck Messages . . . . . . . . . . . . . . . . 6
4.2.2. PathTearAck Messages . . . . . . . . . . . . . . 7
4.2.3. ResvAck Messages . . . . . . . . . . . . . . . . 7
4.2.4. ResvTearAck Messages . . . . . . . . . . . . . . 7
5. Special Considerations 8
5.1. Backward Compatibility . . . . . . . . . . . . . . . . . 8
5.2. Computing Cleanup Timeout Values . . . . . . . . . . . . 8
5.3. Handling of Tear-Down Messages . . . . . . . . . . . . . 9
5.4. Operation in an NBMA Environment . . . . . . . . . . . . 9
6. Discussion 11
A. Appendix: Processing Rules 12
A.1. Modification to the Existing Rules . . . . . . . . . . . 13
A.1.1. PATH MESSAGE ARRIVES: . . . . . . . . . . . . . . 13
A.1.2. PATHTEAR MESSAGE ARRIVES: . . . . . . . . . . . . 14
A.1.3. RESV MESSAGE ARRIVES: . . . . . . . . . . . . . . 15
A.1.4. RESVTEAR MESSAGE ARRIVES: . . . . . . . . . . . . 15
A.2. Processing Rules for New Messages . . . . . . . . . . . . 16
A.2.1. PATHACK MESSAGE ARRIVES . . . . . . . . . . . . . 16
A.2.2. PATHTEARACK MESSAGE ARRIVES . . . . . . . . . . . 17
A.2.3. RESVACK MESSAGE ARRIVES . . . . . . . . . . . . . 18
A.2.4. RESVTEARACK MESSAGE ARRIVES . . . . . . . . . . . 18
Pan/Schulzrinne/Guerin Expires 26 May 1998 [Page iii]
Internet Draft RSVP Timer 21 November 1997
A.2.5. PATH ACK . . . . . . . . . . . . . . . . . . . . 18
A.2.6. RESV ACK . . . . . . . . . . . . . . . . . . . . 19
Pan/Schulzrinne/Guerin Expires 26 May 1998 [Page iv]
Internet Draft RSVP Timer 21 November 1997
1. Introduction
The Reservation Protocol (RSVP) [ZDE+93, BZB+97] has been designed
to exchange resource reservation information among routers in an
internet. One of its advantages is that it relies on soft state
to maintain reservation state in each router: Reservations will
disappear by themselves if they are not refreshed periodically. This
avoids orphan reservations and allows reservations to adapt quickly
to routing changes, without involvement of the end systems. End
systems send explicit tear-down messages to speed up the removal of
reservations when routes change or the application exits.
RSVP sends its control messages as IP datagrams with no reliability
guarantee. It relies on the periodic refresh messages from hosts
and routers to handle the occasional loss of a Path or Resv message.
Each RSVP host or router maintains a cleanup timer. A state is
deleted if no refresh messages arrive before the expiration of a
cleanup timeout interval.
Packet losses in the current Internet can be frequent, unfortunately.
In today's Internet multicast backbone (Mbone), the packet loss rate
[YKT96] is approximately 1-2% on average, and can occasionally reach
20% or more on congested links. The existing RSVP message delivery
mechanism will not work well in such an environment. For example,
when a user tries to make a reservation over the network, if the
first reservation request (Resv message) is lost due to congestion,
it will not be retransmitted over the congested link until the next
refresh cycle arrives. The default refresh interval is 30 seconds.
Thus, the first few seconds of, say, a multimedia flow may experience
degraded quality of service as packets are carried on a best-effort
basis rather than as a reserved flow. Unfortunately, packet loss is
more likely to delay reservations just when needed most, i.e., when
packet loss rates for best-effort service are high.
RSVP soft states are managed hop-by-hop, i.e., no network entities
other than the node that sent the original refresh message can
retransmit a refresh message. Thus, a user cannot accelerate the
reservation process by retransmitting RSVP messages.
RSVP also does not retransmit tear-down messages. If, for example,
a user tries to remove a reservation, and the message (ResvTear) is
lost, the reservation will remain in place until it times out, by
default after 90 seconds. If holding a reservation incurs costs,
the user will have to pay for the extra time that has been spent
waiting for the reservation time-out. Also, network resources are
used inefficiently. Network providers will have to account for this
uncertainty in their billing policies.
Pan/Schulzrinne/Guerin Expires 26 May 1998 [Page 1]
Internet Draft RSVP Timer 21 November 1997
In this document, we propose a simple RSVP extension that provides
a mechanism to deliver RSVP messages faster and more reliably, that
is backward compatible with the existing implementations, and that
reduces the number of refreshes among routers, contributing to
protocol scalability.
2. Terminology
2.1. Sending and Receiving Nodes
A sending node is a router or host that generates RSVP messages. A
receiving node is defined as the RSVP router or host that is one RSVP
hop away from a sending node. In a shared-media or non-broadcast
multiple access (NBMA) network such as an ATM subnet, a sending node
may have multiple receiving nodes. In some cases, not all routers
between sending and receiving nodes implement RSVP. We refer to these
networks as non-RSVP clouds.
2.2. Trigger and Refresh Message
In RSVP, control traffic can be categorized into two types: trigger
and refresh messages. Trigger messages are generated by an RSVP
host or a router due to state changes. Such state changes include
the initiation of a new state, a route change that altered the
reservation paths, or a reservation modification by a downstream
router. Path, Resv, PathTear and ResvTear serve as RSVP trigger
messages.
Refresh messages, on the other hand, contain replicated state
information generated by a router to maintain state. As indicated in
the introduction, RSVP periodically refreshes state for robustness.
For instance, if the RSVP daemon on a router crashes and resets,
it loses all RSVP state information. However, since its neighbor
routers send copies of RSVP state information periodically, the
router can recover the lost states within one refresh interval. A
refresh message can be either a Path or Resv message.
The RSVP routing interface [Zap96, GSE97] can detect state changes,
so that refresh messages are not needed to update router reservation
states. If the RSVP daemon is reasonably reliable, refresh messages
are more of a safety mechanism than actually used for network
operation and can thus be sent very infrequently, in the range of
hours instead of 30 seconds. This greatly reduces the traffic and
processing impact of RSVP messages and makes RSVP signaling at least
as efficient as circuit-switched setup protocols. However, this
requires that trigger messages are delivered reliably.
Pan/Schulzrinne/Guerin Expires 26 May 1998 [Page 2]
Internet Draft RSVP Timer 21 November 1997
3. Protocol Mechanisms
3.1. Outline of Operation
We propose the following feedback mechanism for RSVP trigger message
delivery: When sending an RSVP trigger message, a node inserts a new
echo-request flag into the RSVP common header of the message. Upon
reception, a receiving node acknowledges the arrival of the message
by sending back an echo-reply. When the sending node receives this
echo-reply for a Path or Resv message, it will automatically scale
back the refresh rate for these messages for the flow. If the
trigger message was a flow tear-down, no more tear-down messages are
sent, just as in the current RSVP specification. Until the echo
reply is received, the sending node will retransmit the trigger
message. The interval between retransmissions is governed by a
staged refresh timer. The staged refresh timer starts at a small
interval which increases exponentially until it reaches a threshold.
From that point on, the sending node will use a fixed timer to
refresh Path and Resv messages and stop re-transmitting tear-down
messages. This mechanism is designed so that the message load is
only slightly larger than in the current specification even if a node
does not support this staged refresh timer.
3.2. Time Parameters
The new extension makes the use of the following time parameters.
All parameters should be modifiable per interface.
Fast refresh interval Rf:
Rf is the initial retransmission interval for trigger messages.
After sending the message for the first time, the sending node
will schedule a retransmission after Rf seconds. The value of
Rf could be as small as the round trip time (RTT) between a
sending and a receiving node, if known. Unless a node knows
that all receiving nodes support echo-replies, a slightly
larger value of, for example, 3 seconds is suggested.
Slow refresh interval Rs:
The sending node retransmits with this interval after it
has determined that the receiving nodes support the RSVP
echo-reply. To reduce the number of unnecessary refreshes in
a stable network, Rs can be set to a large value. The value
of Rs can be set for each egress interface. Throughout the
remainder of the document we assume a value of 15 minutes for
Rs.
Pan/Schulzrinne/Guerin Expires 26 May 1998 [Page 3]
Internet Draft RSVP Timer 21 November 1997
Fixed refresh interval R:
A node retransmits the trigger message with the interval Rf*(1
+ Delta)**i until the refresh interval reaches the fixed
refresh interval R or an echo reply has been received. If
no reply has been received, the node continues to retransmit
refreshes every R seconds. We choose a value for R of 30
seconds, the same value as the refresh interval in the current
RSVP specification.
Increment value Delta:
Delta governs the speed with which the sender increases
the refresh interval. The ratio of two successive refresh
intervals is (1 + Delta). We arbitrarily set Delta to 0.30,
which is also the the same value as the Slew.Max parameter that
has been defined in RSVP to increase the retransmission and
timeout interval for long-lived flows using local repairs.
3.3. Staged Refresh
After a sending node transmits a trigger message, it will immediately
schedule a retransmission after Rf seconds. If it receives
echo-replies, the sending node will change the refresh interval to
Rs. Otherwise, it will retransmit the message after (1 + Delta)*Rf
seconds. The staged retransmission will continue until either
echo-replies are received, or the refresh interval has been increased
to R.
The implementation of staged refresh is simple. A sending node can
use the following algorithm when the RSVP refresh timer for state
(flow) k has expired:
if (Rk < R) {
Rk = Rk * (1 + Delta);
send out a refresh message;
wake up in state k after Rk seconds;
exit;
}
else { /* no reply from receivers for too long: */
Rk = R;
if (the state k is for a tear-down message) {
clean up state k;
exit;
}
else {
Pan/Schulzrinne/Guerin Expires 26 May 1998 [Page 4]
Internet Draft RSVP Timer 21 November 1997
send out a refresh message;
wake up state k after Rk seconds;
exit;
}
}
Asynchronously, when a sending node receives echo-replies from the
receiving nodes, it will change the refresh interval Rk to Rs for
state k.
4. Protocol Extension
The proposed mechanism requires several minor modifications to the
current version of RSVP: a new bit is defined in the flag field of
the RSVP common header, and four new message types are created for
echo-reply. The echo reply messages are simple copies of the message
to be confirmed, with the message type changed. While Path messages
are generated end-to-end, Path echo-replies are hop-by-hop, using the
previous hop (PHOP) field from the message.
4.1. Common Header
For Path, Resv, PathTear and ResvTear messages, there is an
additional echo-request flag in the RSVP common header. Four
additional new messages have also been defined to support feedback.
Pan/Schulzrinne/Guerin Expires 26 May 1998 [Page 5]
Internet Draft RSVP Timer 21 November 1997
The format of the RSVP common-header is:
0 1 2 3
+-------------+-------------+-------------+-------------+
| Vers | Flags| Msg Type | RSVP Checksum |
+-------------+-------------+-------------+-------------+
| Send_TTL | (Reserved) | RSVP Length |
+-------------+-------------+-------------+-------------+
Flags: 4 bits
0x01: echo-request flag.
Msg Type: 8 bits
8 = PathAck
9 = PathTearAck
10 = ResvAck
11 = ResvTearAck
4.2. Echo-Reply Messages
4.2.1. PathAck Messages
The format of a PathAck message is as follows:
<PathAck Message> ::= <Common Header> [ <INTEGRITY> ]
<SESSION> <RSVP_HOP>
[ <sender descriptor> ]
<sender descriptor> ::= <SENDER_TEMPLATE> [ <SENDER_TSPEC> ]
[ <ADSPEC> ]
The RSVP_HOP object of each PathAck message contains the IP address
of the interface through which the Path message was received and the
LIH (Logical Interface Handle) which was carried in the Path message.
The destination address in IP header is the address stored in the
RSVP_HOP object of the original Path message.
Pan/Schulzrinne/Guerin Expires 26 May 1998 [Page 6]
Internet Draft RSVP Timer 21 November 1997
4.2.2. PathTearAck Messages
The format of a PathTearAck message is as follows:
<PathTearAck Message> ::= <Common Header> [ <INTEGRITY> ]
<SESSION> <RSVP_HOP>
[ <sender descriptor> ]
<sender descriptor> ::= <SENDER_TEMPLATE> [ <SENDER_TSPEC> ]
[ <ADSPEC> ]
The RSVP_HOP object of each PathTearAck message contains the IP
address of the interface through which the PathTear message was
received and the LIH of which was carried in the PathTear message.
The destination address in IP header is the address stored in the
RSVP_HOP object of the original PathTear message.
4.2.3. ResvAck Messages
<ResvAck Message> ::= <Common Header> [<INTEGRITY>]
<SESSION> <RSVP_HOP>
[ <SCOPE> ] <STYLE>
<flow descriptor list>
<flow descriptor list> ::= (see RSVP specification, RFC2205)
The RSVP_HOP (i.e., the PHOP) object contains the IP address of the
interface through which the Resv message was received. It also
carries the corresponding LIH.
4.2.4. ResvTearAck Messages
<ResvTearAck Message> ::= <Common Header> [<INTEGRITY>]
<SESSION> <RSVP_HOP>
Pan/Schulzrinne/Guerin Expires 26 May 1998 [Page 7]
Internet Draft RSVP Timer 21 November 1997
[ <SCOPE> ] <STYLE>
<flow descriptor list>
<flow descriptor list> ::= (see RSVP specification, RFC2205)
The RSVP_HOP (i.e., the PHOP) object contains the IP address of the
interface through which the ResvTear message was received. It also
carries the corresponding LIH.
5. Special Considerations
5.1. Backward Compatibility
Backward compatibility is one of the main objectives in our design.
One cannot assume that both sending and receiving nodes on a link
will support the extension simultaneously.
In the current RSVP specification, sending nodes refresh the soft
states with fixed timers. In our design, sending nodes rely on echo
request/reply mechanism to ``learn'' about the status of receiving
nodes. If a sending node does not receive echo replies from the
receiving nodes after several tries, it will assume the receiving
nodes do not support the new extension, and switch its refresh
interval to a fixed value. The RSVP operation is not affected at the
receiving nodes.
5.2. Computing Cleanup Timeout Values
Each RSVP Path and Resv message carries a refresh interval in its
TIME_VALUES object. Receiver nodes use the refresh interval to
compute the cleanup timeout interval that governs the lifetime of
reservation state that has not been refreshed. Generally, the
cleanup timeout interval is a small multiple of refresh interval.
In the staged refresh design, a sending node initially places
the slow refresh timer, Rs, in the Path or Resv message. For the
receiving nodes that do not support the new extension, the sending
node will insert R in the refresh messages after the actual refresh
interval has been increased to R. If the receiving nodes do support
the new extension, they will set the cleanup timeout interval based
on Rs.
Pan/Schulzrinne/Guerin Expires 26 May 1998 [Page 8]
Internet Draft RSVP Timer 21 November 1997
5.3. Handling of Tear-Down Messages
RSVP uses PathTear and ResvTear messages to tear-down path and
reservation states, respectively. According to the current
specification, sending nodes only generate one tear-message per flow.
If the message is accidentally dropped along the way, the reserved
resource will not be released until the cleanup timer expires.
However, receiving duplicate tear-down messages at a receiving node
should not impact the operation of RSVP in a proper implementation.
In our RSVP extension, we have altered the processing rules for
tear-down messages at the sending node. Instead of deleting the
state after a tear-down message is sent, a sending node will release
all resource allocated to the state, and mark the state as closing.
The state information is saved for message retransmission. The
entire state information will be removed when echo-replies are
received, or when the sending node realizes that the receiving nodes
do not support the extension.
5.4. Operation in an NBMA Environment
For a multicast RSVP session in a non-broadcast multiple access
(NBMA) network (such as ATM), a sending node may not know the total
number of receiving nodes for a Path or PathTear message at an egress
interface. Therefore, a sending node cannot simply switch to the
longer refresh timer Rs based on having received echo-replies.
Pan/Schulzrinne/Guerin Expires 26 May 1998 [Page 9]
Internet Draft RSVP Timer 21 November 1997
Path
+-------------+ ------> +----+
| a |----------------| R3 |
| | +----+
| |
| | Path
+---+ | | ------> +----+
| S |-----------| Router b |----------------| R2 |
+---+ -----> | | <------ +----+
Path | | PathAck
| |
| |
| | Path
| | ------> +----+
| c |----------------| R1 |
+-------------+ <------ +----+
PathAck
Figure-1: Path/PathAck in an NBMA network
For example, as shown in Figure-1, if the receiving node R3 does
not support the new RSVP extension, the sending node S should not
change to the longer refresh interval Rs, even though it has received
echo-replies from R1 and R2.
In this case, a sending node has two alternatives:
- It can query a local database such as the ARP or MARS server
to find out the exact number of the next-hop receivers. It
then switches to a longer refresh interval after receiving
echo-replies from all receiving nodes.
- Since Path messages are mainly used for traffic advertisement
purposes, the sending node may not need to use staged refresh
timers for Path messages. In an NBMA network, the staged refresh
time mechanism would only make sense for the message delivery of
Resv, ResvTear and PathTear messages.
In case of PathTear message, a sending node always knows all the
receiving nodes that have made reservations. The following rules can
be used:
Pan/Schulzrinne/Guerin Expires 26 May 1998 [Page 10]
Internet Draft RSVP Timer 21 November 1997
- A sending node stops re-transmitting PathTear messages once it
receives echo-replies from all its known next-hop receivers at an
egress interface.
- Otherwise, the sending node generates PathTear messages using
staged refresh timer until the refresh interval is increased to
the fixed refresh rate R. Then it stops re-transmitting.
PathTear
+-------------+ ------> +----+
| a |----------------| R3 |
| | +----+
| |
| | PathTear
+---+ | | ------> +----+
| S |-----------| Router b |----------------| R2 |
+---+ -----> | | <------ +----+
PathTear | | PathTearAck
| |
| |
| | PathTear
| | ------> +----+
| c |----------------| R1 |
+-------------+ <------ +----+
PathTearAck
Figure-2: PathTear/PathTearAck in an NBMA network
An example is shown in Figure-2. R1, R2 and R3 are the receiving
nodes to S. Initially, the sender S had the reservation state
information for receiving node R1 and R2. Since R3 did not make
any reservation, S would not know the existence of R3 from its
RSVP database. After sending the first PathTear message, S will
retransmit the message until it has received echo replies from R1 and
R2. After which, S stops generating PathTear messages.
6. Discussion
We believe that RSVP message delivery mechanism requires some
degree of reliability guarantee to make RSVP useful for individual
applications rather than reserving ``pipes''. One way of improving
reliability is to grant some minimal bandwidth for RSVP messages
to protect them from congestion losses, as suggested in the RSVP
Pan/Schulzrinne/Guerin Expires 26 May 1998 [Page 11]
Internet Draft RSVP Timer 21 November 1997
specification [BZB+97]. However, this may require additional
functionality at both sending and receiving nodes and does not help
if RSVP messages have to traverse non-RSVP clouds. It is also not
clear how this can be achieved in a backward-compatible manner.
In this paper, we presented a mechanism called staged refresh timers
that enhances the current RSVP message delivery and is completely
backward compatible. Staged refresh timers are easy to add to
RSVP router and host implementations and save both processing and
bandwidth overhead.
The staged refresh timer mechanism is an example of state management
that falls somewhere between ``classical'' handshake-based
reliability as found in ATM signaling, for example, and purely
timer-based soft-state protocols such as the original RSVP proposal
[ZDE+93], delta-t [Wat89] or IGMPv1 [Dee89]. An approach similar
to staged refresh is also being used by the Session Initiation
Protocol [HSS97] to confirm state establishment. Generally speaking,
experience has shown that state management is greatly simplified
by requiring only one message (in each direction) to establish
state, rather than going through several intermedia states. State
establishment messages should be idempotent and should contain a
globally (spatially and temporally) unique state label, so that
retransmissions of the same message can be ignored.
Since only neighboring routers are involved in the reliability
mechanism described here, these routers can easily estimate
round-trip times, thus further tightening the retransmission
interval, if desired.
While staged refresh timers improve scalability, RSVP remains
a rather complex protocol. Alternative approaches to reserve
reservation [CW97, PS98] may offer better scaling properties.
A. Appendix: Processing Rules
We outline a set of algorithms to illustrate how the new scheme
works. The notations and definitions such as PSB and RSB are defined
in [BZ97]. However, this should not be considered as the actual
implementation requirements.
Pan/Schulzrinne/Guerin Expires 26 May 1998 [Page 12]
Internet Draft RSVP Timer 21 November 1997
A.1. Modification to the Existing Rules
A.1.1. PATH MESSAGE ARRIVES:
Two additional steps that are required during Path message
processing:
1. reply PathAck message back to a sending node;
2. use staged refresh timer to send Path if the PSB is new or
changed.
Reference Algorithm:
Assume the message arrives on interface InIf.
After message sanity checks:
o Search for a path state block (PSB) whose (session, sender_template)
pair matches the corresponding objects in the message, and whose
ingress interface matches InIf.
o If there is no matching PSB, then:
1. Create a new PSB.
2. Update all relevant information to the PSB.
o Otherwise (there is a matching PSB):
- Update all relevant information to the PSB.
o If the echo-request flag is set in the common-header, and the
echo-reply option is enabled for the ingress interface InIf:
- Execute the PATH ACK sequence (below) for the PHOP in PSB.
o Continue the Path message processing.
o If the PSB is new or modified, then:
1. Update the PSB's refresh timer to fast refresh interval Rf.
2. Execute the PATH REFRESH sequence.
Pan/Schulzrinne/Guerin Expires 26 May 1998 [Page 13]
Internet Draft RSVP Timer 21 November 1997
A.1.2. PATHTEAR MESSAGE ARRIVES:
The router can reply a PathTearAck message to the sending node,
release allocated resource and relay tear-down message downstream
with staged refresh timer.
During the process of PathTear message, unlike what's in the current
RSVP specification, where a state is deleted as a result, the state
is marked as PathTear_Pending in the new scheme. It will be deleted
by either the arrival of PathTearAck messages, or clean-up timer
expiration.
Reference Algorithm:
Assume the message arrives on interface InIf.
After message sanity checks:
o Search for a PSB whose (Session, Sender_Template) pair matches
the corresponding objects in the message, and the ingress
interface matches to InIf.
o If there is no matching PSB:
- Drop the message and return.
o If the echo-request flag is set in the common-header, and the
echo-reply option is enabled for the ingress interface,
- Execute the PATH ACK sequence (below) for the PHOP in PSB.
o Forward a copy of the PathTear message to each egress interface
listed in the PSB.
o If the PSB is marked as Pathtear_Pending, (that is, a repeated
PathTear message from upstream)
- Drop the message and return.
o Otherwise, (i.e., the Pathtear_Pending flag in the PSB is off):
1. Insert a Pathtear_Pending flag into the PSB.
2. Release all resource associated to the PSB.
3. Update the PSB's refresh timer to fast refresh interval Rf.
Pan/Schulzrinne/Guerin Expires 26 May 1998 [Page 14]
Internet Draft RSVP Timer 21 November 1997
o Drop the message and return.
A.1.3. RESV MESSAGE ARRIVES:
Similar to the modified Path processing rule, the new extension
requires a router to reply an acknowledgment message and schedule
refreshes with staged refresh timer.
Reference Algorithm:
After message sanity checks:
o Find all reservation state blocks (RSB's) that are corresponding
to the flows defined in the message.
- Execute RESV ACK sequence (below) to the NHOP in the message.
o Continue the Resv message processing.
o For all the RSB's that are new or modified,
1. Update their refresh interval to fast refresh interval Rf.
2. Execute RESV REFRESH sequence.
A.1.4. RESVTEAR MESSAGE ARRIVES:
The router will send an echo-reply to the sending node, and schedule
refreshes with the staged refresh timer.
During the process of the message, resource that is associated with
the state should be released and marked as pending. The state
information is finally removed during the processing of ResvTearAck
message or timer expiration.
Reference Algorithm:
After message sanity checks:
o Find all PSB's that are corresponding to the flows defined in
Pan/Schulzrinne/Guerin Expires 26 May 1998 [Page 15]
Internet Draft RSVP Timer 21 November 1997
the message.
- Execute RESV ACK sequence (below) to the NHOP in the message.
o Continue the ResvTear message processing.
o For all the RSB's that are described the ResvTear message:
1. If a RSB is not marked with Resvtear\_Pending flag:
- remove the reserved resource indicated in the RSB.
- mark the RSB to be Resvtear\_Pending.
- mark the RSB's refresh interval to fast interval Rf.
2. Execute RESV REFRESH sequence to forward ResvTear messages
upstream.
o Drop the message and return.
A.2. Processing Rules for New Messages
A.2.1. PATHACK MESSAGE ARRIVES
From SESSION, SENDER_TEMPLATE and egress interface information, a
router finds the corresponding state and changes the refresh rate to
a slower one.
Reference Algorithm:
Assume the message arrives on interface OutIf.
o Search for a path state block (PSB) whose (session, sender_template)
pair matches the corresponding objects in the message, and
whose egress interface matches OutIf.
o If there is no matching PSB, then:
- Drop the message and return.
o Otherwise (there is a matching)
- Set the refresh timer of the PSB to slow refresh interval Rs.
Pan/Schulzrinne/Guerin Expires 26 May 1998 [Page 16]
Internet Draft RSVP Timer 21 November 1997
o Drop the message and return.
A.2.2. PATHTEARACK MESSAGE ARRIVES
From SESSION, SENDER_TEMPLATE and egress interface, a router finds
the corresponding state. However the state can not be removed until
the router has received acknowledgments from all known next-hop
routers of the RSVP flow.
Reference Algorithm:
Assume the message arrives on interface OutIf.
o Search for a path state block (PSB) whose (session, sender_template)
pair matches the corresponding objects in the message, and whose
egress interface matches OutIf.
o If there is no matching PSB, then:
- drop the message and return.
o Find the RSB that matches the PSB. (The resource associated
with the RSB should has been released during PathTear processing
time.)
- remove the RSB.
o Search for all RSB that matches this PSB.
- If no more RSB could be found, then:
- remove the PSB and return.
- Otherwise, (there may still be reserved flows downstream):
- return.
Pan/Schulzrinne/Guerin Expires 26 May 1998 [Page 17]
Internet Draft RSVP Timer 21 November 1997
A.2.3. RESVACK MESSAGE ARRIVES
Find all the states that are described in the message, and switches
their refresh timer to a slower one.
Reference Algorithm:
After message sanity checks:
o Find all the RSB's that are corresponding to the flows defined
in the message.
- Set the refresh timer of the RSB's to slow refresh interval Rs.
o Drop the message and return.
A.2.4. RESVTEARACK MESSAGE ARRIVES
Find the corresponding states, and remove them.
Reference Algorithm:
After message sanity checks:
o Find all RSB's that are corresponding to the flows defined in
the message.
- Delete the RSB's.
o Drop the message and return.
A.2.5. PATH ACK
This sequence sends a PathAck or a PathTearAck towards a particular
previous hop. It is invoked from either PATH MESSAGE ARRIVES, or
PATHTEAR MESSAGE ARRIVES sequence.
o Copy SESSION object and sender descriptor from the received
Path (or PathTear) message into the PathAck (or PathTearAck)
Pan/Schulzrinne/Guerin Expires 26 May 1998 [Page 18]
Internet Draft RSVP Timer 21 November 1997
message being built.
o Insert into its RSVP_HOP object the ingress interface address
and the LIH for the interface.
o Insert the PHOP address (from the Path/PathTear message) as the
destination address into the IP header being built.
o Update the RSVP common-header and IP header.
o Send the message out.
A.2.6. RESV ACK
This sequence sends a ResvAck or a ResvTearAck towards a particular
next hop. It is invoked from either RESV MESSAGE ARRIVES, or
RESVTEAR MESSAGE ARRIVES sequence.
o Copy SESSION, STYLE, SCOPE (if WF style), and the flow
descriptor list from the received Resv (or ResvTear) message
into the Resv (or ResvTearAck) message being built.
o Insert into its RSVP_HOP objet the egress interface address and
the LIH for the interface.
o Insert the NHOP address (from the Resv/ResvTear message) as the
destination address into the IP header being built.
o Update the RSVP common-header and IP header.
o Send the message out.
References
[BZ97] R. Braden and L. Zhang. Resource reservation protocol
(rsvp) -- version 1 message processing rules. RFC 2209,
Internet Engineering Task Force, September 1997.
[BZB+97] R. Braden, L. Zhang, S. Berson, S. Herzog, and S. Jamin.
Resource reservation protocol (RSVP) -- version 1
Pan/Schulzrinne/Guerin Expires 26 May 1998 [Page 19]
Internet Draft RSVP Timer 21 November 1997
functional specification. , Internet Engineering Task
Force, September 1997.
[CW97] D. Clark and J. Wroclawski. An approach to service
allocation in the internet. Internet Draft, Internet
Engineering Task Force, August 1997. Work in progress.
[Dee89] S. Deering. Host extensions for IP multicasting. STD 5,
RFC 1112, Internet Engineering Task Force, August 1989.
[GSE97] R. Guerin, Kamat S., and Rosen E. Extended rsvp-routing
interface. Internet Draft, Internet Engineering Task
Force, July 1997. Work in progress.
[HSS97] Mark Handley, Henning Schulzrinne, and Eve Schooler. SIP:
Session initiation protocol. Internet Draft, Internet
Engineering Task Force, July 1997. Work in progress.
[PS97] Ping Pan and Henning Schulzrinne. Staged refresh timers
for RSVP. In Global Internet'97, Phoenix, Arizona,
November 1997. also IBM Research Technical Report TC20966.
[PS98] Ping P. Pan and Henning Schulzrinne. YESSIR: A simple
reservation mechanism for the Internet. In IBM Research
Technical Report TC20967, 1998.
[Wat89] Richard W. Watson. The Delta-t transport protocol:
Features and experience. In Harry Rudin and Robin
Williamson, editors, First IFIP WG6.1/WG6.4 International
Workshop on Protocols for High-Speed Networks, pages 3--17,
Z rich, Switzerland, May 1989.
[YKT96] Maya Yajnik, Jim Kurose, and Don Towsley. Packet loss
correlation in the MBone multicast network. In Proceedings
of Global Internet, London, England, November 1996.
[Zap96] Daniel Zappala. RSRR: a routing interface for RSVP.
Internet Draft (expired), Internet Engineering Task Force,
November 1996. Work in progress.
[ZDE+93] Lixia Zhang, Stephen Deering, Deborah Estrin, Scott
Shenker, and Daniel Zappala. RSVP: a new resource
ReSerVation protocol. IEEE Network, 7(5):8--18, September
1993.
Pan/Schulzrinne/Guerin Expires 26 May 1998 [Page 20]
Internet Draft RSVP Timer 21 November 1997
Authors' Address
Ping Pan
IBM T.J. Watson Research Center
P.O. Box 704
Yorktown Heights, NY 10598
USA
Phone: +1 914 784-6579
Email: pan@watson.ibm.com
Henning Schulzrinne
Dept. of Computer Science
Columbia University
1214 Amsterdam Avenue
New York, NY 10027
USA
electronic mail: schulzrinne@cs.columbia.edu
Roch Guerin
IBM T.J. Watson Research Center
P.O. Box 704
Yorktown Heights, NY 10598
USA
Phone: +1 914 784-7038
Email: guerin@watson.ibm.com
Pan/Schulzrinne/Guerin Expires 26 May 1998 [Page 21]