One document matched: draft-hancock-nsis-reliability-00.txt
NSIS Working Group
Internet Draft Robert Hancock
Siemens/
Roke Manor Research
Document: draft-hancock-nsis-reliability-00.txt
Expires: February 2004 August 2003
Reliability Functions in the NSIS Transport Layer Protocol
Status of this Memo
This document is an Internet-Draft and is in full conformance with
all provisions of Section 10 of RFC2026.
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 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/ietf/1id-abstracts.txt
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html.
Abstract
The Next Steps in Signaling working group is developing a protocol
suite for signaling information about a data flow along its path in
the network. The lower layer in the protocol suite, the NSIS
Transport Layer Protocol (NTLP) is intended to provide a generally
useful transport service for such signaling messages.
There is a long-running open question about how much (if at all) the
NTLP should provide reliable message transport. There is a large
amount of confusion about what this question even means, let alone
how to answer it. This document identifies the possible reliability
requirements for signaling protocols in general, based on past
evaluations of RSVP and research in soft-state protocol performance.
It makes a proposal for what kind of reliable transport functionality
should be supported in the NTLP, and discusses some of the resulting
impacts and constraints on the NTLP design.
R. Hancock Expires - February 2004 [Page 1]
NTLP Reliability August 2003
Table of Contents
1 Introduction ...................................................2
2 Signaling Reliability: Fundamental Concepts ....................3
2.1 What does 'Reliability' Mean? ............................3
2.2 Classification of Signaling Messages .....................4
2.3 Where is Reliability Required? ...........................6
2.4 What Reliability Semantics are Appropriate? ..............7
3 Practical and Theoretical Performance Results ..................8
3.1 Message Loss Rates .......................................8
3.1.1 Raw Packet Loss Rates ..................................8
3.1.2 Impact of Fragmentation ................................9
3.1.3 Distribution of 'p' Over the Path ......................9
3.2 Trigger Message Delivery ................................10
3.3 Refresh Message Delivery ................................11
3.4 Experience from Other Protocols .........................12
4 Reliability Architectural Options .............................12
4.1 Uni-Directional Staged Refresh Timers ...................13
4.2 Network Engineering .....................................13
4.3 Upper-Layer Feedback ....................................14
5 NTLP Design Implications ......................................15
5.1 Intermediate NSIS Nodes .................................15
5.2 Multiplexing, Head of Line Blocking, and Message Ordering16
5.3 Congestion Control ......................................17
5.4 ACKs, NACKs, and Protocol State .........................17
5.5 Specific Link Layers ....................................17
6 Security Considerations .......................................18
7 Conclusions ...................................................18
References.......................................................19
Acknowledgments..................................................22
Author's Address.................................................22
Intellectual Property Considerations.............................22
Full Copyright Statement.........................................22
1 Introduction
The Next Steps in Signaling working group is developing a protocol
suite for signaling information about a data flow along its path in
the network. The lower layer in the protocol suite, the NSIS
Transport Layer Protocol (NTLP) is intended to provide a generally
useful transport service for such signaling messages. The actual
signaling messages are in general originated within upper layer
signaling applications, each having their own NSIS Signaling Layer
Protocol (NSLP), the role of the NTLP is primarily just to move these
messages around the network to the appropriate nodes. The general
description of the NSIS protocol suite, including its layering
structure, is provided in [1].
R. Hancock Expires - February 2004 [Page 2]
NTLP Reliability August 2003
There is a long-running open question about how much reliability is
needed in signaling messages, especially in the context of a soft-
stage signaling model; the particular question relevant to the NSIS
framework is how much the NTLP should provide reliable message
transport, if at all. There is a large amount of confusion about what
this question even means, let alone how to answer it. This document
identifies the possible reliability requirements for signaling
protocols in general, based on past evaluations of RSVP and research
in soft-state protocol performance. It makes a proposal for what kind
of reliable transport functionality should be supported in the NTLP,
and discusses some of the resulting impacts and constraints on the
NTLP design.
The structure of this document is as follows:
- Section 2 provides definitions and a framework for discussing
reliability requirements, including a classification of message
types, different types of reliability semantics, and which nodes
reliability is relevant between.
- Section 3 provides highlights of the limited amount of 'research'
(modeling, simulation, and practical experience) relevant to the
reliability question. Most of this work relates to 'unmodified' RSVP
[2], although some also has comparisons with the RSVP transport layer
enhancements of [3].
- Section 4 discusses how required reliability functions could and
should be split between the layers in the NSIS protocol suite.
- Section 5 discusses the implications of reliability for the NTLP
design.
- Section 6 discusses the interactions between reliability and
security of the protocol suite, and the NTLP in particular.
- Section 7 concludes with a proposal about how to proceed on this
issue.
2 Signaling Reliability: Fundamental Concepts
The word 'reliability' has a number of connotations in the context of
transport protocols, principally avoidance of message loss, re-
ordering and duplication, and guarantee of data integrity. In the
following, we concentrate primarily on message loss issues, since
data integrity can be provided at the level of individual messages;
the other properties can often be provided unilaterally if wanted by
extensions at the receiver, but in general it will be signaling
application dependent exactly how useful they are anyway.
2.1 What does 'Reliability' Mean?
It is a generally accepted fact that at least some signaling
applications have a requirement that they should manage state in the
network in a 'reliable' way, because they actually care about setting
R. Hancock Expires - February 2004 [Page 3]
NTLP Reliability August 2003
up network state in a specific way. However, there are still several
ways in which 'reliability' can be achieved from the signaling
application's perspective. In particular, there are two
(complementary) options:
1. Sending periodic refresh messages as in [2] can be considered a
reliability mechanism. The messages could even be sent at a higher
rate during an 'initialisation' period (a technique outlined in [2]
and formalized in [3]).
2. Getting explicit protocol-level feedback about the 'success' of a
signaling message and using that (or its absence) to repeat the
message is probably the more traditional way in which 'reliability'
is understood. This functionality was added to RSVP in [3].
The discussion of soft-state management in the development of the
NSIS framework seems to have established that where method (1) is
appropriate it should be implemented within the signaling
application, and places no specific requirements on the NTLP other
than to deliver individual messages. In addition, there is no dispute
that some signaling applications will want to have some messages
delivered with no reliability at all, and the NTLP should provide
such a service. Therefore, the question on the table is:
"Should the NTLP provide a message delivery service which uses
explicit feedback within the protocol to improve the reliability of
operation of the overall signaling application."
2.2 Classification of Signaling Messages
We can classify the messages produced by a soft-state-based signaling
application into 3 basic types, which will have different reliability
requirements. These types are as follows:
1. 'Trigger' messages are signaling messages which ultimately cause
an externally visible change in packet treatment for a particular
data flow. Examples are installing a reservation for QoS resources
for a flow, or opening a firewall pinhole, or modifying or removing
such reservations or firewall configurations. Triggers have to be
propagated all the way along the path that needs the state change
(and maybe all the way back, e.g. RSVP PATH/RESV).
Trigger messages can loosely be distinguished as causing 'hard' or
'soft' changes; for example, a QoS trigger merely changes the
performance of the network in handling a flow, whereas a firewall
trigger will probably affect whether the flow is possible at all.
However, even 'soft' triggers may have 'hard' consequences (e.g. in
generating accounting records in the QoS case) and, therefore, we
R. Hancock Expires - February 2004 [Page 4]
NTLP Reliability August 2003
won't worry about this distinction. The goal for our signaling
transport solution is that messages which have the significance of a
trigger are rapidly delivered to all nodes which need to see them.
As well as initialization (where loss delays session establishment by
a refresh period) and termination (where loss delays resource release
by a cleanup period), there may be circumstances where two
independent triggers need to be sent mid-session. This might be to
modify a reservation path in a mobility scenario or carry out some
merging operations. Such triggers have to be sequenced reliably, and
in particular the first delivered promptly. Without positive
feedback, race conditions occur; these are not just pathological
cases but are observed 'in the wild' (e.g. the RSVP merging
discussion in [4]).
2. 'Refresh' messages are signaling messages which confirm existing
state within a node (e.g. extending a cleanup timer) but which don't
otherwise affect flow treatment. Refresh messages can be generated
and absorbed at each signaling node (the RSVP approach), or only at
flow endpoints (e.g. as in several alternative QoS signaling
proposals, such as YESSIR[5] and Boomerang[6]). In either case, loss
of a certain number K (often K=3) of successive messages causes any
reservation state to be removed at that node and (in the RSVP case)
along the remainder of the path.
Normally, the problem of lost refresh messages is ignored, since the
probability of losing several messages in sequence can be made very
small. However, there is at least an indirect relationship with the
reliability question, since K must be large enough to reduce the risk
of losing a session to an acceptable level. This means that either
the cleanup period after session termination is very long if a
teardown 'trigger' message is not used (or lost), or the refresh
period must be reduced, thereby increasing the message processing
load.
3. Signaling applications may produce other types of message, which
aren't triggers or refreshes, and/or have no well-defined reliability
requirements (e.g. messages which provide notification of errors that
may be transient). We won't analyse the impact of such messages,
other than to note that they may exist.
The basic question of this document is:
"What role should the NTLP play in ensuring prompt execution of
signaling triggers, and how should it handle signaling refreshes to
minimize network load and session failure?"
R. Hancock Expires - February 2004 [Page 5]
NTLP Reliability August 2003
2.3 Where is Reliability Required?
Logically, reliability is an attribute of the manner of communication
between a pair of nodes, implicitly incorporating any intermediate
nodes between them which are taking part in that communication. The
question is, which nodes should we consider reliability between:
1. The endpoints of the data flow - this is not possible in general,
since these nodes might not even be NSIS-aware.
2. The 'outermost' signaling-application-aware nodes on the data path
- on the assumption that if triggers and refreshes are delivered
appropriately over this scope, all other signaling nodes will also
automatically be in step as well.
3. Any pair of adjacent signaling-application-aware nodes - so
signaling operations (triggering and refreshing) can be done with
appropriate performance locally, even if there is no end-to-end
change.
4. Any pair of adjacent NSIS-aware nodes (even nodes not aware of the
particular signaling application in question). Note that since
(according to [1]) the NTLP does not store signaling application
state, these nodes cannot be message sources or sinks, and therefore
provision of the functionality at this level could only be considered
a backup to providing it at levels (2) or (3).
If NSIS is only interested in solutions where signaling state is
updated in response to end-to-end application requirements, then (2)
would probably be sufficient. However, at least some scenarios
require local adaptation to changed network conditions without
incurring end to end delays if possible (this 'local repair'
functionality can be found in the base RSVP specification [2]).
Logically, such local signaling exchanges might take place between
any pair of nodes which store (per-flow) signaling application state.
If anything, 'reliability' for such exchanges is even more important
than for end-to-end exchanges, since the former occur mid-session
where latency is critical, whereas the latter occur mainly at session
start and end where latency is much less of an issue. In addition,
while reliability only between adjacent NTLP peers might be desirable
for NTLP-internal operations, it is not directly required as the
mechanism for ensuring appropriate delivery of signaling application
messages (and may even be sub-optimal as a mechanism for that).
Therefore, the assumption from this section is:
"The appropriate delivery of signaling application triggers and
refreshes needs to be ensured between pairs of adjacent signaling
application aware nodes (which store per-flow state); the problem
cannot be forced out to data flow senders and receivers or their
signaling proxies."
R. Hancock Expires - February 2004 [Page 6]
NTLP Reliability August 2003
2.4 What Reliability Semantics are Appropriate?
There are several possible 'classes' of reliability that can be
considered for the delivery of a signaling message by the NTLP.
Informally, and roughly in order, they are:
Class 0: No reliability - the NTLP just accepts the message at the
message generator and makes a single attempt to deliver it, with no
feedback on success or failure. This class is included for
completeness and to emphasise that it will be core NTLP functionality
whatever else we do (it may also be the class that signaling
applications use, for example, for refresh messages).
Class 1: Reliable delivery - the NTLP undertakes to get the message
to the NTLP instance in the receiving signaling application node, or
to signal an error to the message generator. This will provide
recovery from network loss (due to congestion or corruption), but
there are no guarantees that the receiving signaling application has
started or finished processing the message (successfully or
otherwise). This is the level of reliability provided by e.g. TCP for
individual data segments.
Class 2a: Reliable execution - the NTLP delivers the message, and
returns an acknowledgement indicating how the message has been
processed at the signaling application level (e.g. that a reservation
has or has not actually been installed). Most sensible layering
designs would regard this type of acknowledgement as living in the
signaling application protocol (NSLP), since the semantics of
'success' and 'failure' are likely to be very application specific.
Class 2a is mentioned here to highlight that there may well need to
be acknowledgement at the signaling application level anyway,
regardless of what functionality the NTLP provides.
Class 2b: Hard state - the NTLP delivers the message which installs
the state, and the signaling application is then allowed to assume
that no further update messages are needed: the state will be removed
when explicitly torn down, and the NTLP will reliably detect loss of
a peer. Such functionality was indeed present in early versions of
[3] (see e.g. the 'Last_Refresh' flag in [7]). However, it has been
discussed (ad nauseam, literally) on the NSIS mailing list and agreed
that, even if such design approaches were reasonable, they would be
implemented in the signaling layer protocols without explicit NTLP
support; the NTLP will provide at most 'hints' about possible
neighbour state changes rather than reliable state change detection.
On the assumption that class 2a/2b should not be provided by the NTLP
acting alone, the question from this section is therefore:
R. Hancock Expires - February 2004 [Page 7]
NTLP Reliability August 2003
"Should the NTLP provide class 1 service (reliable message delivery),
in addition to unreliable delivery, given that application specific
acknowledgements will be handled by signaling application protocols
(NSLPs)?"
Note that we are also assuming that the selection of 'class 1' is
done by the generating NSLP instance on a per-message basis - i.e. it
is not a global NTLP configuration setting per node, nor does an NSLP
have to send all its message types the same way. Even for a given
NSLP and message type, the appropriate reliability class might depend
on local conditions.
3 Practical and Theoretical Performance Results
This section gathers together the available 'objective' information
about how much of a problem a purely unreliable message delivery
service is likely to be.
There is actually a disappointingly small amount of such information
about 'vanilla' RSVP, presumably because of its limited deployment.
So this section also includes a small discussion of how other
signaling protocols have evolved to cope with running over lossy
networks (section 3.4).
3.1 Message Loss Rates
3.1.1 Raw Packet Loss Rates
There is a moderate amount of literature on this subject [8,9,10,11],
which attempts to both characterize loss patterns and quantify them
on the basis of real measurements. Unfortunately, one implication of
the work is that packet loss patterns can have very complex
statistical behaviour, and attempting to quantify loss as a single
probability 'p' applying independently at the packet level is almost
certainly over-simplified. In particular, there is very substantial
variation between flows, between different destinations, and over
different time periods (especially distinguishing between quiet
periods and a 'busy hour'). However, a crude quantitative summary is
that while a very high proportion of flows suffer losses of around
p<0.01, a significant number (several %) suffer losses in the region
0.01<p<0.05, and loss rates of p>0.10 are not uncommon, especially
for some regions. An overall mean value of p=0.02-0.03 was apparently
typical in 1995 [9], falling to p<0.01 5 years later [10](but still
with around 1% of flows experiencing p>0.10). Another way of putting
this is that few flows experience loss, but if they do a figure of
p=0.03-0.05 is typical and seems to be stable over time.
R. Hancock Expires - February 2004 [Page 8]
NTLP Reliability August 2003
There are also ongoing 'live' Internet measurement activities;
collections of pointers are at [12,13], and some particular sites are
[14,15,16]. These latter sites tend to measure loss statistics for
low rate ping probes, and the results for this may be more applicable
to signaling traffic than TCP measurements. One site reports long
term loss rates of the order of p=0.04 but without much background
information; the IEPM site [14] reports lower averages but still p
around 0.03-0.04 in several parts of the network. (IEPM is also
measuring network performance between 'well-connected' academic and
research sites rather than the Internet as a whole.)
What level of 'p' we aim to cope with in NSIS is of course a value
judgment about how widely usable we would like NSIS signaling to be -
do we only care about operation in well-dimensioned networks, or do
we want functionality also even in 'network meltdown' situations. A
personal preference would be that:
"Signaling protocols should suffer only marginal performance
degradation in environments where source-destination packet loss
rates are in the region 3-5%; and the protocols should still function
somehow even if packet loss rates are >10%, although accepting that
user level applications will also probably function poorly in such
environments."
3.1.2 Impact of Fragmentation
The signaling message loss rate is the same as the packet loss rate
only if signaling messages fit into single network layer packets.
Crudely, in the absence of any reliability support, fragmentation
into F fragments expands the message loss rate from p to 1-(1-p)^F.
As an example, for an application generating a 2kbyte signaling
message that had hit a link with around a 576byte MTU, we would be
wanting 'reasonable' performance in the face of a 11-18% message loss
rate, and some continued functioning in the face of a 35% message
loss rate.
(This calculation may be pessimistic if packet loss is really
dominated by losing bursts of sequential packets. But there is
general acceptance (see [17]) that fragmentation without reliability
is bad news for overall network performance, and it isn't clear how
else to quantify this effect.)
3.1.3 Distribution of 'p' Over the Path
The above values for 'p' refer to end-to-end packet loss rates.
However, in the case of NSIS, signaling messages are exchanged
between adjacent NSIS-aware peers, which will generally be just a
subset of the complete path. Therefore, the values of p given above
R. Hancock Expires - February 2004 [Page 9]
NTLP Reliability August 2003
will not necessarily be appropriate for use in calculations of the
effect of packet loss on signaling responsiveness.
However, in fact it is implied in several discussions of Internet
packet loss that the dominant contribution for p comes from a single
'bottleneck' link (or a very small number of them); for example, this
would be consistent with the high variability of p between different
paths. In other words, we can use the above values of p unchanged:
- trigger messages, which have to be propagated along enough of the
path to include the bottleneck, will have the corresponding
transaction fail with probability p
- refresh messages over the affected bottleneck link will be lost
with probability p, and this will be the dominant contribution to
premature session termination.
3.2 Trigger Message Delivery
The main problem caused by packet loss is delayed or lost execution
of trigger-induced state changes:
- failure of a trigger at state initialization or modification (e.g.
after a route change) will cause some session failure for at least
one further refresh period;
- failure of a trigger at state termination will lead to incorrect
state persisting in the network for at least one cleanup period
(usually some number of refresh periods).
An analysis specifically of RSVP flow setup is given in [18], which
gives a rather thorough derivation of formulae for the probability of
failing to set up a reservation during the first refresh period, and
the expected number of refresh periods required; some simulation
results are also given. The results given are the intuitively
reasonable ones, for example that only around (1-p)^2 of sessions
will be set up successfully by the first round of messages (the
exponent 2 arises because RSVP requires both a PATH and RESV
message). For our 'typical' environments, this corresponds to a
success rate of 90-94% at p=0.03-0.05 (66-78% with fragmentation); at
p=0.10 the figures become 81% (42%). Such success rates would
probably be considered unacceptable for many applications, which is
the origin of all the RSVP extensions to improve startup behaviour,
such as [3]. (Of course, they only apply to flow paths which
experience such loss rates, which may be only a small proportion of
the total; however, that proportion might well include the whole busy
hour every weekday, for example.)
A more abstract analysis of soft-state protocols in general in
provided in [19]. The model (using queuing theory) is not directly
based on RSVP, but is applicable to the NSIS problem space. The
authors introduce a metric for the 'level of consistency' in the
R. Hancock Expires - February 2004 [Page 10]
NTLP Reliability August 2003
system, and show how adding NACK feedback improves this consistency
even at low-moderate loss rates (from 90% to nearly 100% at p=0.05
for a system parametrisation typical of voice calls), and maintains
good values even at very high values of p.
Of course, none of this proves either way whether reliability is
required in the signaling protocol. Potential users have to make up
their own minds based on their impression of the figures.
3.3 Refresh Message Delivery
The effect of using unreliable refresh message delivery is that the
network must be prepared to retain state during a cleanup period
longer than a single refresh period to allow for lost refreshes. The
cleanup period is measured as some number K of refresh periods. To
remove state before this cleanup period requires an explicit trigger
(a teardown).
If K successive refreshes are lost the session will also be lost.
Assuming that the session has been successfully initialized, the
probability that this has happened by the Nth refresh period is
roughly 1-(1-p^K)^(N-K).
(A more exact answer to within O(p^N) is given by the expression
1-(1-a)/(1-p)
1 - a^N ------------- where a is near 1 and satisfies
1-K(1-a)/a a=1-(1-p)(p/a)^K.)
To make this concrete, the likelihood of a premature cleanup for a 3
minute session, K=3 and 30 second refreshes is <0.05% for p=0.05,
quadrupling for a 10 minute call. Fragmentation would be an unusual
requirement for refreshes (assuming that the receiving node is
prepared to retain per-flow state instead), but for completeness the
rates rise to 2% and 9% respectively in that case.
It is certainly not the intention of this section to argue that soft-
state refresh messages should be delivered reliably (or, in reality,
maintaining a high delivery probability regardless of network
behaviour for user traffic). An equally reasonable approach is simply
to increase the value of K to 4 or 5. However, unless the refresh
period is reduced (increasing signaling load), this will likewise
increase the cleanup period and hence the importance of reliable
teardown delivery.
R. Hancock Expires - February 2004 [Page 11]
NTLP Reliability August 2003
3.4 Experience from Other Protocols
RSVP is not the only soft-state protocol; other examples are PIM [20]
and SAP [21]; ROHC [22] also uses soft state mechanisms in one of its
modes of operation. Neither PIM nor SAP contain any mechanisms for
feedback and retransmission (which are of course hard to provide in
the multicast environment in any case); the updated PIM specification
[23] does contain some additional reliability mechanisms, and in any
case, PIM is less dependent on the prompt delivery of trigger
messages at initialization than protocols such as RSVP. ROHC is able
to function without feedback, but this mode of operation is usually
reserved for unidirectional links; feedback is used in other modes to
indicate that particular decompression state has been established or
as negative acknowledgements to indicate that it is invalid and must
be refreshed. When feedback is used, the hardness of the state
becomes discretionary for the decompressor, which can use NACKs to
signal that state refresh is required.
In the unicast routing area, the original protocols (RIP, EGP) were
soft-state protocols based on periodically repeated advertisements.
For other than trivial networks, they have been replaced by protocols
(OSPF, BGP) with much better resilience to packet loss (among of
course a very large number of other extensions in functionality). It
seems clear that the protocol designers preferred to avoid having to
worry about detecting and recovering from message loss at the same
time as specifying the parts of the protocol specific to the routing
application, and in each case, retransmission is provided as a fairly
self-contained lower protocol (sub-)layer. However, the end result
(that BGP in particular is essentially a hard-state protocol) may
also not be the best guidance for NSIS protocol development. A
similar evolution has taken place in the AAA environment, from the
UDP-based RADIUS [24] which relies on a fairly simple application
layer retransmission strategy to DIAMETER [25] which uses a fully
reliable lower transport layer. The need for and justification of
using of a separate reliable transport is discussed (somewhat
inconclusively) in [26] and [27].
This set of comparisons does not prove that reliability (of any sort)
is needed in a new signaling protocol. However, it does probably
strongly imply that the problem of packet loss in the Internet cannot
be ignored as 'too rare to bother about' during protocol design,
however tempting that may be.
4 Reliability Architectural Options
Even accepting that some form of reliability is needed, there are
still several options for how to provide it.
R. Hancock Expires - February 2004 [Page 12]
NTLP Reliability August 2003
4.1 Uni-Directional Staged Refresh Timers
One option is simply to forget about using feedback at all, and use
exponentially backed-off refreshes to minimize session initiation
latency. This is one of the components of the RSVP extensions in [3],
and similar techniques are used in some other protocols such as CRTP
[28].
The design rationale and benefits of the approach for the RSVP
extensions are discussed in more detail in the original paper that
proposed them [29]; however, the approach provides most benefit when
coupled with feedback messages (MESSAGE_ID_ACK), and the authors of
that paper regard the particular solution eventually designed as
something that could be done much better if backwards compatibility
was not a requirement (see [30] and [31] for this and further
discussion).
Particular issues are
- the complex interactions between staged refresh timer management
and other events taking place within the signaling application
(section 2.1 of [31]);
- the fact that for short flows, using an initial rapid refresh is a
non-trivial increase in network load. (This is much less of an issue
in the MPLS environment, for which [3] is ideal.)
4.2 Network Engineering
If the network can be engineered so that signaling messages are not
lost even when other (data) packets, a lot of the reliability problem
goes away. In a context where the purpose of signaling is to
guarantee loss-free data transport (i.e. QoS) to applications, this
is a logically reasonable position, and was a background assumption
in RSVP design: just use the same mechanism to provide QoS for
signaling.
The NSIS environment is different. Some signaling will be in support
of loss-tolerant flows, either real-time flows which can repair lost
packets [32,33], or non-real-time flows using retransmission. The
purpose of the signaling could be to guarantee the throughput in some
remote part of the network (while accepting a degree of local packet
loss), or to maintain a middlebox configuration. In addition, each
reservation has a cost (maybe a monetary cost) to maintain, reducing
the attraction of signaling for signaling flows; configuring a non-
signaled mechanism for prioritizing signaling traffic opens up an
avenue for abuse of the network by other traffic.
We should not rule out engineering the network to minimize loss of
signaling traffic; however, we should not depend on it to make
R. Hancock Expires - February 2004 [Page 13]
NTLP Reliability August 2003
signaling work in the first place, especially considering the barrier
this would place in the way of initial deployment.
4.3 Upper-Layer Feedback
Another option is that one could have the NTLP provide only an
unacknowledged service, and initiate any necessary retransmissions
from the signaling application (possibly based on end-to-end feedback
only). There are some attractions to this approach, especially given
that applications will often have feedback messages anyway, and
indeed it is modeled in some detail in [18].
The following issues would remain with such an approach (the most
serious ones at the end):
- Handling both transport and application state within the signaling
application is still a source of complication, which is probably
unnecessary.
- Compared to the NTLP, the signaling application is insulated from
knowledge about network performance, and is much less able to make
accurate judgements about sensible retransmissions timers or rates.
In particular, any signaling application would know only about timing
information for its own messages, whereas the NTLP naturally would
have a wider view.
- Relying on end-to-end feedback (e.g. using an RSVP RESV as an
implicit acknowledgement for a PATH) forces the management of per-
flow state to get messages back through the network, or forces the
endpoints to establish a separate (secure) relationship to exchange
such feedback. This would hurt applications which process per-flow
messages but which only need to store per-class state at interior
nodes.
- Handling retransmission within the signaling application is very
inefficient given the decision to handle fragmentation in the NTLP,
since only complete messages (rather than fragments) would be
retransmitted. (There were good, independent reasons to handle
fragmentation in the NTLP, and this should not be seen as an excuse
to re-open that argument.)
- Application layer feedback (if it exists) probably has different
semantics from transport layer feedback, because it reports the
result of much more processing (e.g. executing admission control
algorithms, policy/AAA control checks, even user interaction). For
the same reason, very different timeouts should probably apply. In
other words, an application should not expect feedback at the
application layer for several seconds, but if the reason for lack of
feedback was a lost message, several seconds is much too long to wait
to retransmit it.
- In particular, end-to-end application layer RTT estimation will
have to be much more cautious than hop-by-hop NTLP RTT estimation.
This is at least partly because in some cases the signaling
R. Hancock Expires - February 2004 [Page 14]
NTLP Reliability August 2003
application could have a hard time working out where the 'end' really
is (if there is some chain of proxies before an NSIS unaware flow
endpoint). Therefore, the NTLP will be much more prompt in recovering
from message losses.
My conclusion from this is that, in an ideal world for signaling
application designers, the NTLP would provide the (optional-to-use)
functionality of sending a message 'reliably' - that is, doing an
optimal job of retransmission (at the right time and only if
necessary) to make sure it arrived at the next node, or giving up and
reporting an error.
In other words, this functionality appears to be clearly useful and
correctly located in the NTLP rather than somewhere else. The
remaining question is whether it can actually be provided in a cost-
effective way.
5 NTLP Design Implications
The following sections describe some of the implications of
reliability for the NTLP design. They indicate some of the attributes
of what might be considered an 'appropriate' reliability service for
signaling messages in the NSIS context, and some possible constraints
on how it should be provided by the NLTP.
5.1 Intermediate NSIS Nodes
It's a consequence of the multi-application scope of NSIS that the
signaling path between two NSLP peers may cross other NSIS nodes with
no interest in that signaling application (or its messages), except
possibly to do some message translation or enforce a routing policy.
This situation is shown in Figure 1. Messages for NSLP A need to be
sent reliably from NE1 to NE4, and go through NE2 and NE3 on the way.
There are good arguments that the reliability aspects of NTLP
operation between NE1 and NE4 should not be forced to be processed
fully at NE2 and NE3. One reason is that this represents a processing
and state management burden on NE2 and NE3 which they do not benefit
from; another is that an acknowledgement generated by (for example)
NE2 to NE1 actually implies nothing about successful delivery to NE4,
and requires NE1 to trust that NE2 and NE3 will correctly carry out
any necessary retransmissions (in the face of node failures,
implementation bugs, and so on).
R. Hancock Expires - February 2004 [Page 15]
NTLP Reliability August 2003
+------+ +------+ +------+ +------+
| NE1 | | NE2 | | NE3 | | NE4 |
|+----+| | | |+----+| |+----+|
||NSLP|| | | ||NSLP|| ||NSLP||
|| A || | | || B || || A ||
|+----+| | | |+----+| |+----+|
| || | | | | | | || |
|+----+| |+----+| |+----+| |+----+|
====||NTLP||====||NTLP||====||NTLP||====||NTLP||====
|+----+| |+----+| |+----+| |+----+|
+------+ +------+ +------+ +------+
Figure 1: Signaling with Heterogeneous NSLPs
It would be preferable if acknowledgements were generated only at NE4
and forwarded transparently to NE1 (intermediate nodes could still
generate negative acknowledgements to speed up retransmission of lost
messages, and this might be a useful function in some specialized
environments). The implication of this is that the NTLP would have to
work in terms of messages that can be independently processed at
intermediate nodes, without terminating the complete transport
protocol within which they run.
5.2 Multiplexing, Head of Line Blocking, and Message Ordering
Compared to ordinary bulk data transmission, signaling messages
(especially triggers) may have some fairly short 'useful' lifespan,
beyond which delivering them makes no sense. The reliability
functions of the NTLP should respect this.
Where messages for multiple applications and/or sessions are
multiplexed over a single reliable link, messages for one
application/session might be held up due to losses of messages for
entirely unrelated applications/sessions. Ideally, the NTLP design
should avoid this, and allow independent delivery of unrelated
messages. This can either be done with multiple independent
associations, or with multiple streams within a single association
(sharing congestion control and RTT estimators, for example), as is
possible with SCTP.
A related issue is where a message has been retransmitted several
times (unsuccessfully), and as a result the application has generated
an updated message for the same application/session which is blocked
behind it. Further retransmissions of the original message are a
waste of time. The question of how persistent to make local
retransmissions has been discussed very intensively in the context of
TCP operation over link layers using ARQ, and the results can be
found in [34]; broadly, the conclusion is that fairly high
R. Hancock Expires - February 2004 [Page 16]
NTLP Reliability August 2003
persistence is appropriate even if upper layers are also
retransmitting. The argument is complicated by the fact that TCP
reacts badly to re-ordering and high RTT variance (at least one of
which must be caused by ARQ); putting the bulk of retransmission
responsibility in the lower layer and insisting that upper layers are
reordering tolerant would make the performance tradeoffs much less
complex.
What does seem to be clear is that, in the NSIS context, the NTLP
probably need not enforce ordering between messages (the receiving
signaling application can do this if and when it wants), but it
ideally would provide feedback at the sender about the fact that a
message has been discarded as impossible to deliver. (If nothing
else, many messages will be genuinely impossible to deliver, e.g.
because there is no peer to deliver them to, and this certainly has
to be reported.)
5.3 Congestion Control
It is assumed that any protocol implementing a retransmission
strategy would have to do so in a congestion sensitive way. Any other
approach would probably not be credible.
5.4 ACKs, NACKs, and Protocol State
There are several variant methods techniques to achieve reliable
message delivery. The sender can retransmit on not receiving a per-
message ACK in a given period; it can retransmit on receiving a per-
message NACK; and it can set up some protocol state (a transport
layer session) with its peer, within which combinations or more
advanced variants can be used (e.g. acknowledgements for ranges of
sequence numbers).
All of these have different trade-offs. A pure ACK approach can be
lightweight at the receiver but requires RTT tracking at the sender;
a pure NACK approach requires more synchronization or is less
effective at spotting all message losses (e.g. trigger losses).
Setting up a transport layer session has a cost in setup latency, but
this cost can be shared over all signaling exchanges between two NTLP
peers; it is also generally easier to protect against DoS attacks in
a session based approach. The choice between these approaches is
really a matter of NTLP detailed design.
5.5 Specific Link Layers
There are well known and exhaustively analysed issues in running
certain transport protocols over certain types of link layer
(specifically, TCP over wireless links, as discussed in [35]). Some
R. Hancock Expires - February 2004 [Page 17]
NTLP Reliability August 2003
of these problems are intrinsic to attempting to achieve certain
functionality - for example, to have retransmissions necessarily
implies the overhead of header fields for message identification -
whereas others may be artifacts of a particular protocol design
approach or constraint. In any case, NTLP design work would have to
assess the possibility of using variant approaches in different
environments (e.g. as mentioned in [31]), or exploiting the work done
in optimizing standard protocols for operation over such links (as
in, for example, [36]).
6 Security Considerations
Adding any functionality to the NTLP means intrinsically that there
is a greater number of threats it can be sensitive to, but also the
additional functionality may provide protection against some security
threats.
In our case, an adversary may attempt a variety of denial of service
attacks on the NTLP by forcing nodes to create state associated with
managing reliability. An adversary may attempt to forge feedback
messages (positive or negative acknowledgements) to modify
retransmission behaviour. Such issues are common to transport
protocols in general, and detailed discussions can be found in the
security considerations sections of modern transport protocols such
as SCTP [37] and DCCP [38]. The complexity and subtlety of these
discussions implies that it would be best if possible to implement
reliability functions in the NTLP by re-using as much as possible of
existing transport protocol concepts.
7 Conclusions
The conclusion of this draft is that it is appropriate for the NTLP
to provide a reliable message delivery service, which would be
optional for signaling applications to use. The role of such a
service would be limited to ensuring rapid delivery of messages to
the nodes where they are to be processed in signaling applications,
and not to provide any application-layer state synchronization
service or hard-state support. Such a reliability service should if
possible be implemented in a way which can be transparent to
intermediate NSIS nodes which don't take part in the signaling
application; it will probably require congestion control in the NTLP
as a consequence.
R. Hancock Expires - February 2004 [Page 18]
NTLP Reliability August 2003
References
1 Hancock, R., I. Freytsis, G. Karagiannis, J. Loughney, S. van den
Bosch, "Next Steps in Signaling: Framework", draft-ietf-nsis-fw-
03.txt (work in progress), June 2003
2 Braden, R. et al., "Resource ReSerVation Protocol (RSVP) --
Version 1 Functional Specification", RFC 2205, September 1997
3 Berger, L., D. Gan, G. Swallow, P. Pan, F. Tommasi, S. Molendini,
"RSVP Refresh Overhead Reduction Extensions", RFC2961, April 2001
4 Baugher, M., and S. Jarrar, "Test Results of the Commercial
Internet Multimedia Trials", ACM SIGCOMM Computer Communication
Review, January 1997
5 Pan, P. and H. Schulzrinne, "YESSIR: A Simple Reservation
Mechanism for the Internet", In the Proceedings of NOSSDAV,
Cambridge, UK, July 1998.
6 G. Feher, K. Nemeth, M. Maliosz, I. Cselenyi, J. Bergkvist,
D. Ahlard, T. Engborg, "Boomerang: A Simple Protocol for Resource
Reservation in IP Networks", IEEE RTAS, 1999
7 Berger, L., D. Gan, G. Swallow, "RSVP Refresh Reduction
Extensions", (expired i-d), March 1999, available at
http://www.watersprings.org/pub/id/draft-berger-rsvp-refresh-
reduct-00.txt
8 Borella, M., D. Swider, S. Uludag, G. Brewster, "Internet packet
loss: Measurements and implications for End-to-End QoS," in
Proceedings of International Conference on Parallel Processing,
August 1998
9 Paxson, V., "End-to-End Internet packet dynamics", ACM SIGCOMM'97,
September 1997
10 Zhang, Y., V. Paxson, and S. Shenker, "The Stationarity of
Internet Path Properties: Routing, Loss, and Throughput", ACIRI
Technical Report, May 2000
11 Paxson., V. "Measurements and Analysis of End-to-End Internet
Dynamics", PhD thesis, University of California, Berkeley, April
1997
R. Hancock Expires - February 2004 [Page 19]
NTLP Reliability August 2003
12 Schulzrinne, H., "Internet Performance and Traffic Measurements",
at http://www.cs.columbia.edu/~hgs/internet/performance.html
13 Floyd, S., "Measurement Studies of End-to-End Congestion Control
in the Internet", at http://www.icir.org/floyd/ccmeasure.html
14 Internet End-to-End Performance Monitoring, "The PingER Project",
at http://www-iepm.slac.stanford.edu/pinger/
15 "The Internet Traffic Report", at
http://www.internettrafficreport.com/main.html
16 "Internet Average", at http://average.matrixnetsystems.com/
17 Kent, C. A., J. C. Mogul, "Fragmentation Considered Harmful",
Proceedings of ACM SIGCOMM, pages 390-401, August 1987
18 Mathy, L., D. Hutchinson, S. Simpson, "Modelling and Improving
Flow Establishment in RSVP", Protocols for High Speed Networks,
August 1999
19 Raman, S., and S. McCanne, "A Model, Analysis, and Protocol
Framework for Soft State-Based Communication", SIGCOMM Symposium
on Communications Architectures and Protocols, August 1999
20 Estrin, D., D. Farinacci, A. Helmy, D. Thaler, S. Deering, M.
Handley, V. Jacobson, C. Liu, P. Sharma, L. Wei, " Protocol
Independent Multicast-Sparse Mode (PIM-SM): Protocol
Specification", RFC2362, June 1998
21 Handley, M., C. Perkins, E. Whelan "Session Announcement
Protocol", RFC2974, October 2000
22 Bormann, C., C. Burmeister, M. Degermark, H. Fukushima, H. Hannu,
L-E. Jonsson, R. Hakenberg, T. Koren, K. Le, Z. Liu, A.
Martensson, A. Miyazaki, K. Svanbro, T. Wiebke, T. Yoshimura, H.
Zheng, "RObust Header Compression (ROHC): Framework and four
profiles: RTP, UDP, ESP, and uncompressed", RFC 3095, July 2001
23 Fenner, W., M. Handley, H. Holbrook, I. Kouvelas, "Protocol
Independent Multicast - Sparse Mode (PIM-SM): Protocol
Specification (Revised)", draft-ietf-pim-sm-v2-new-07.txt (work in
progress), March 2003
24 Rigney, C., S. Willens, A. Rubens, W. Simpson, "Remote
Authentication Dial In User Service (RADIUS)", RFC 2865, June 2000
R. Hancock Expires - February 2004 [Page 20]
NTLP Reliability August 2003
25 Calhoun, P., J. Loughney, E. Guttman, G. Zorn, J. Arkko, "Diameter
Base Protocol", draft-ietf-aaa-diameter-17.txt (work in progress),
December 2002
26 Aboba, B., P. Calhoun, S. Glass, T. Hiller, P. McCann, H. Shiino,
G. Zorn, G. Dommety, C. Perkins, B. Patil, D. Mitton, S. Manning,
M. Beadles, P. Walsh, X. Chen, S. Sivalingham, A. Hameed, M.
Munson, S. Jacobs, B. Lim, B. Hirschman, R. Hsu, Y. Xu, E.
Campbell, S. Baba, E. Jaques, "Criteria for Evaluating AAA
Protocols for Network Access", RFC 2989, November 2000
27 Mitton, D., M. St.Johns, S. Barkley, D. Nelson, B. Patil, M.
Stevens, B. Wolff, "Authentication, Authorization, and Accounting:
Protocol Evaluation", RFC 3127, June 2001
28 Casner, S., and V. Jacobson, "Compressing IP/UDP/RTP Headers for
Low-Speed Serial Links", RFC 2508, February 1999
29 Pan, P., and H. Schulzrinne, "Staged Refresh Timers for RSVP",
Proceedings of Global Internet, November 1997
30 http://www1.ietf.org/mail-archive/working-
groups/nsis/current/msg02483.html
31 Pan, P., H. Schulzrinne, "An Evaluation on RSVP Transport
Mechanism", draft-pan-nsis-rsvp-transport-01.txt (work in
progress), July 2003
32 Li, A., F. Liu, J. Villasenor, J.H. Park, D.S. Park, Y.L. Lee, J.
Rosenberg, H. Schulzrinne, "An RTP Payload Format for Generic FEC
with Uneven Level Protection", draft-ietf-avt-ulp-07.txt (work in
progress), November 2002
33 Liebl, G., M. Wagner, J. Pandel, W. Weng, "An RTP Payload Format
for Erasure-Resilient Transmission of Progressive Multimedia
Streams", draft-ietf-avt-uxp-05.txt (work in progress), March 2003
34 Fairhurst, G., L. Wood "Advice to link designers on link Automatic
Repeat reQuest (ARQ)", RFC 3366, August 2002
35 Dawkins, S., G. Montenegro, M. Kojo, V. Magret, N. Vaidya, "End-
to-end Performance Implications of Links with Errors", RFC 3155,
August 2001
R. Hancock Expires - February 2004 [Page 21]
NTLP Reliability August 2003
36 Inamura, H., G. Montenegro, R. Ludwig, A. Gurtov, F. Khafizov,
"TCP over Second (2.5G) and Third (3G) Generation Wireless
Networks", RFC 3481, February 2003
37 Stewart, R., Q. Xie, K. Morneault, C. Sharp, H. Schwarzbauer, T.
Taylor, I. Rytina, M. Kalla, L. Zhang, V. Paxson, "Stream Control
Transmission Protocol", RFC 2960, October 2000
38 Kohler, E., M. Handley, S. Floyd, J. Padhye, "Datagram Congestion
Control Protocol (DCCP)", draft-ietf-dccp-spec-04.txt (work in
progress), June 2003
Acknowledgments
Andrew McDonald and Hannes Tschofenig provided some valuable feedback
on this draft during preparation. Abbie Surtees verified the
mathematics, and Mark West explained RFCs 3095 and 3366 (in so far as
this is possible). In addition, due thanks should be given to the
members of the NSIS working group as a whole, whose >200 email
messages on the subject have formed part of the input for this work.
Author's Address
Robert Hancock
Roke Manor Research
Old Salisbury Lane
Romsey
SO51 0ZN
United Kingdom
email: robert.hancock@roke.co.uk
Intellectual Property Considerations
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.
R. Hancock Expires - February 2004 [Page 22]
NTLP Reliability August 2003
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.
Full Copyright Statement
"Copyright (C) The Internet Society (2003). All Rights Reserved. This
document and translations of it may be copied and furnished to
others, and derivative works that comment on or otherwise explain it
or assist in its implementation may be prepared, copied, published
and distributed, in whole or in part, without restriction of any
kind, provided that the above copyright notice and this paragraph are
included on all such copies and derivative works. However, this
document itself may not be modified in any way, such as by removing
the copyright notice or references to the Internet Society or other
Internet organizations, except as needed for the purpose of
developing Internet standards in which case the procedures for
copyrights defined in the Internet Standards process must be
followed, or as required to translate it into languages other than
English.
The limited permissions granted above are perpetual and will not be
revoked by the Internet Society or its successors or assigns. This
document and the information contained herein is provided on an "AS
IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK
FORCE DISCLAIMS 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.
R. Hancock Expires - February 2004 [Page 23]
| PAFTECH AB 2003-2026 | 2026-04-23 09:14:32 |