Internet Draft
INTERNET-DRAFT Werner Almesberger
Tiziana Ferrari
Jean-Yves Le Boudec
ICA, EPFL-DI, Switzerland
November 1997
Scalable Resource Reservation for the Internet
<draft-almesberger-srp-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 inappropriate to use Internet-
Drafts as reference material or to cite them other than as
"work in progress."
To view the entire list of current Internet-Drafts, please check
the "1id-abstracts.txt" listing contained in the Internet-Drafts
Shadow Directories on ftp.is.co.za (Africa), ftp.nordu.net
(Europe), munnari.oz.au (Pacific Rim), ds.internic.net (US East
Coast), or ftp.isi.edu (US West Coast).
1. Abstract
Current resource reservation architectures for multimedia networks
don't scale well for a large number of flows. We propose a new
architecture that aggregates flows on each link in the network.
Therefore, the network has no knowledge of individual flows, and
resource management functions traditionally implemented in the
network (such as flow acceptance control) are delegated to hosts.
2. Introduction
Many resource reservation architectures and protocols that have been
proposed for integrated service networks borrow heavily from the
architecture of the telephony network:
- routers or switches between the communicating hosts are required
to store per-flow state information
- reservations, once granted, are stringent and conformance of
traffic is carefully controlled (policing)
- most of the difficult work (e.g. admission control) is entirely
Almesberger, Ferrari & Le Boudec Expires 5/98 [Page 1]
INTERNET-DRAFT draft-almesberger-srp-01.txt November 1997
handled by the network
The general intention is to provide a network service that is as
deterministic as possible. While a highly deterministic service is
certainly attractive, the complexity and lack of scalability of the
aforementioned architectures and protocols makes their usefulness for
many applications questionable. Particularly Internet telephony
creates a need for very inexpensive means to obtain a dependable
quality of service for a very large number of concurrent flows.
This goal can be achieved by aggregating flows so that the
reservation mechanism only needs to be aware of a comparably small
number of (aggregated) flows. The architecture we propose in this
paper goes even beyond concepts for aggregation on top of traditional
reservation architectures (e.g. [1] for ATM) in that it makes
aggregation the standard behaviour of the network and not a special
case requiring additional protocol activity. It differs from
approaches ensuring relative fairness (e.g. [2] and [3]) in that
admission control is an integral part of it.
In short, our reservation model works as follows. A source that
wishes to make a reservation (for example for Internet telephony)
starts by sending data packets marked with a REQUEST flag to the
destination. These packets are forwarded normally by routers, who
also take a flow admission decision on each of them. After enough
REQUEST packets have been sent, the source learns from the
destination its estimate of how much of the reservation has been
accepted in the network. The source may then send data packets marked
with a RESERVED flag at the accepted rate. Routers that have
admitted, and thus forwarded, REQUEST packets have committed to have
enough resources to accept subsequent RESERVED packets sent by the
source at the accepted rate. The accepted rate is computed
independently by sources and routers, using a "learn by example"
procedure. The accepted rate is guaranteed as long as there is a
minimum activity by the source. The reservation disappears by timeout
after the source has stayed idle for a while. Figure 1 shows an
idealized view of our model, and a more detailed example is given in
section "Reservation example". The initial data packets sent by the
source can be thought of as "sticky": once a router has accepted some
of them at a given rate, it must continue to accept packets at the
same rate until the source becomes idle.
Almesberger, Ferrari & Le Boudec Expires 5/98 [Page 2]
INTERNET-DRAFT draft-almesberger-srp-01.txt November 1997
Reservation
(Bandwidth)
^
|
|Rsv Rsv use and Rsv
|setup refresh timeout
|<--->|<------------>|<-->|
| / = REQUEST
| _______________.....
| / | __ = RESERVED
| / |
| / | .. = No traffic
| / |
|/ |
+-----------------------------> Time
Figure 1: Idealized reservation procedure.
A key feature of our proposal is that routers do not keep state
information per flow; routers only remember their reservation
commitments globally per output port. This is made possible by two
features:
- routers rely on end-systems not to exceed their accepted rates;
- routers maintain reservations by learning, namely, by monitoring
the actual reserved traffic.
We discuss these two design directions in the rest of this section.
Section "Architecture overview" describes the fundamental
architecture. Section "Additional aspects" elaborates on that and
also points out areas where more research is needed. The paper
concludes with section "Conclusion".
2.1 The TCP case
For best-effort traffic, the Internet has illustrated that network
internals can be simple: besides routing, which has grown
significant complexity, there are no "intelligent" services inside
the network. Responsibility for congestion control is given
entirely to the end systems (e.g. TCP), which are in turn expected
to have some degree of complexity of their own. Also, instead of
providing stringent isolation among users, the Internet relies on
guided cooperation.
Applying this approach to resource reservation means to let end
systems perform flow acceptance control and to trust them not to
exceed the agreed upon reservations. In order to protect the
network from errors in application programs, the reservation
protocol handling needs to be implemented in the networking kernel
of the operating system.
Almesberger, Ferrari & Le Boudec Expires 5/98 [Page 3]
INTERNET-DRAFT draft-almesberger-srp-01.txt November 1997
If needed, policing functions can be implemented per flow at some
network access points; we believe that such policing is not needed
at inter-carrier exchanges, or in general anywhere beyond Internet
access points.
Because flow acceptance control is inherently flow-specific,
delegating it to end systems is a requirement for enabling routers
to efficiently aggregate arbitrary flows.
The proposed architecture slightly extends the traditional
Internet design by introducing the concept of packet types to
distinguish reserved traffic from best-effort traffic. This also
allows routers to give more precise admission control indications
than just a simple forward-or-discard decision.
2.2 Adaptive applications
The desire to run multimedia applications over the current
best-effort Internet with all its imperfections has motivated the
development of increasingly sophisticated adaptive applications
[4,5]. Adaptive applications tolerate variations in packet loss
rates, in bandwidth, and in delay.
Of course, even adaptive applications have certain minimum
requirements. This is typically a minimum bandwidth, below which
no useful operation is possible. If additional bandwidth is
available, it is used to improve the service (e.g. better audio
quality).
The proposed architecture aims mainly to ensure that adaptive
applications can obtain their minimum bandwidth. The service goals
are similar to the ones of the INTSERV controlled-load service
[6]: Availability of enough bandwidth is guaranteed but all other
parameters (such as delay, loss rate, etc.) remain unspecified,
although an application can assume that they are in a "reasonable"
range.
The presence of adaptive applications also implies that there is
usually enough best-effort traffic in the network that only a
small fraction of the total bandwidth will be used for reserved
traffic and that resource shortage for reserved traffic will be an
infrequent situation.
2.3 Learning by example
New reservations are set up by sending data packets with a REQUEST
flag. When a router accepts such requests, it predicts the arrival
of future packets and changes its reservation state accordingly.
Because the reservation information is sent directly with the
Almesberger, Ferrari & Le Boudec Expires 5/98 [Page 4]
INTERNET-DRAFT draft-almesberger-srp-01.txt November 1997
data, the reservation and the actual traffic are automatically
synchronized.
Central to our proposal is the concept of an estimation module
used by sources, routers, and destinations. Assuming that sources
emit traffic in regular periodic patterns, a simple implementation
could just count the number of requests during a time interval and
use that to predict the increase of total reserved bandwidth. Note
that the period of a source must be reasonably short compared to
the observation interval for such measurements to be meaningful.
The same principle is also used to detect decreases in the use of
reserved bandwidth: Routers monitor the amount of reserved traffic
and adjust reservations automatically if sources reduce their
bandwidth or stop sending.* We describe this simple implementation
in sections "Reservation dynamics" and "Reservation example".
* A discussion of measurement-based admission control for
similar purposes can be found in [7].
3. Architecture overview
The proposed architecture uses two protocols to manage reservations:
a reservation protocol to establish and maintain them, and a feedback
protocol to inform the sender about the reservation status.
Data and reservations
|
+--------+ +--------+ | +--------+ +--------+
| | | | | | | | |
| |----->| Router |---...-->| Router |----->| |
| Sender | | | | | |Receiver|
| | +--------+ +--------+ | |
| |<------------------...-------------------| |
+--------+ | +--------+
|
Feedback
Figure 2: Network structure overview.
Figure 2 illustrates the operation of the two protocols:
- Data packets with reservation information are sent from the
sender to the receiver. The reservation information is processed
by routers. They may modify the reservation information or they
may also discard packets.
- The receiver sends feedback information back to the sender.
Almesberger, Ferrari & Le Boudec Expires 5/98 [Page 5]
INTERNET-DRAFT draft-almesberger-srp-01.txt November 1997
Routers only forward this information; they don't need to process
it.
Routers monitor the effectively present reserved traffic and adjust
their reservations accordingly.
3.1 Reservation protocol
The reservation protocol is used in the direction from the sender
to the receiver. It is processed by the sender, the receiver, and
the routers between them. In order to simplify processing of the
reservation protocol, the reservation information is represented
as a packet type which is included in normal data packets.*
* The encoding is yet unspecified. One possible approach is to
define a new IP option to carry the packet type.
The reservation protocol uses three packet types:
RESERVED The reservation has already been established (and
confirmed). The packet of type RESERVED uses that reservation.
REQUEST A reservation is needed for packets like the current
one, but a reservation has not yet been confirmed (e.g.
because no request was sent yet or because the feedback hasn't
reached the sender yet).
BEST EFFORT No reservation is needed.
Packet types are initially assigned by the sender, as shown in
figure 3. A traffic source (i.e. the application) specifies for
each packet if that packet needs a reservation. If no reservation
is necessary, the packet is simply sent as BEST-EFFORT. If a
reservation is needed, the protocol entity checks if an already
established reservation covers the current packet. If yes, the
packet is sent as RESERVED. Otherwise, an additional reservation
is requested by sending the packet with the REQUEST flag.
Application | Protocol stack
|
|
| +-------------+ Yes
Needs reservation -------->| Reservation |--------> RESERVED
| |established ?|--------> REQUEST
| +-------------+ No
Doesn't need |
reservation --------------------------------------> BEST-EFFORT
|
Figure 3: Initial packet type assignment by sender.
Almesberger, Ferrari & Le Boudec Expires 5/98 [Page 6]
INTERNET-DRAFT draft-almesberger-srp-01.txt November 1997
Each router performs the following processing (see also figure
4):
- If a REQUEST can be accepted, the reservation is made and the
packet is forwarded unchanged. Otherwise, its type is set to
BEST-EFFORT and best-effort processing is performed.
- If a RESERVED packet is received, the router verifies that a
suitable reservation exists. This is normally the case and the
packet is forwarded unchanged and with priority over
best-effort traffic. If no reservation exists, either a
protocol error or a route change has occurred (see section
"Route changes"). In order to stabilize the reservation, the
packet type is changed to REQUEST and request processing is
performed.*
Furthermore, BEST-EFFORT packets may be discarded during
congestion.
* Considering that RESERVED packets will "magically" become
requests if necessary, one may be tempted at this point to
avoid the use of a REQUEST packet type entirely. At least in
the given framework, this does not work. Requests are needed
to isolate already established reservations from increases or
new reservations: if packets from "old" and "new" reservations
were both of type RESERVED, a router experiencing resource
shortage had no way of knowing which ones to degrade or even
to discard and it would consequently also penalize the "old"
reservations.
+-------------+ Yes
RESERVED ---------->| Reservation |---------> RESERVED
|established ?|
+-------------+
| No
v
+-------------+ Yes
REQUEST ----------->| Reservation |---------> REQUEST
| possible ? |
+-------------+
| No
v
+-------------+ Yes
BEST-EFFORT ------->| Resources |---------> BEST-EFFORT
| available ? |
+-------------+
| No
X
Figure 4: Packet type processing by routers.
Almesberger, Ferrari & Le Boudec Expires 5/98 [Page 7]
INTERNET-DRAFT draft-almesberger-srp-01.txt November 1997
Note that the reservation protocol may "tunnel" through routers
that don't implement reservations. This allows the use of
unmodified equipment in parts of the network which are dimensioned
such that congestion is not a problem.
The receiver does no packet-type specific processing. Instead, it
counts incoming packets and sends feedback to the sources.
3.2 Feedback protocol
The feedback protocol is used to convey information on the success
of reservations and on the network status from the receiver to the
sender. Unlike the reservation protocol, the feedback protocol
does not need to be interpreted by routers, because they can
determine the reservation status from the sender's choice of
packet types.
Feedback information is collected by the receiver and it is
periodically sent to the sender. The feedback consists of the
receiver's estimate of the current reservation. The receiver
computes this estimate by executing an algorithm like the one
routers use to estimate the actual resource use. Additional
information can be included in feedback messages to improve
stability and to provide additional information on network
performance, e.g. the loss rate along the path or the round-trip
time.
The reservation estimated by the receiver is an upper bound for
the rate at which the sender may send requests and is used by the
function that decides if packets are sent as RESERVED or as
REQUEST.
Receivers collect feedback information independently for each
sender and senders maintain the reservation state independently
for each receiver. Note that, if more than one flow to the same
destination exists, attribution of reservations is a local
decision at the source.
The feedback mechanism can be implemented on top of a protocol
like RTCP [8].
3.3 Reservation dynamics
Reservations are set up for the traffic profile reflected by the
requests sent by the source. A router can for instance count the
number of requests it receives (and accepts) during a certain
observation interval and use this as an estimate for the bandwidth
that will be used in future intervals of the same duration.
In addition to requests for new reservations, the use of existing
Almesberger, Ferrari & Le Boudec Expires 5/98 [Page 8]
INTERNET-DRAFT draft-almesberger-srp-01.txt November 1997
reservations needs to be measured too. This way, reservations of
sources that stop sending or that decrease their sending rate can
automatically be removed. The use of reservations can be simply
measured by counting the number of RESERVED packets that are
received in a certain interval.
With such measurements for time t, the amount of resources to
reserve at time t+1 can be predicted as follows:
reserve(t+1) = requests(t)+rsv_seen(t)
with requests(t) being the sum of the resources requested and
rsv_seen(t) being the resources used by reserved traffic, both
measured during the observation interval starting at time t.
To compensate for deviations caused by delay variations, spurious
packet loss (e.g. in a best-effort part of the network), etc.,
reservations can be "held" for more than one observation interval.
This can be accomplished by remembering the observed traffic over
several intervals and using the maximum of these values. With a
hold time of h observation intervals, the reservation is computed
as follows:
reserve(t+1) = max(requests(t-h+1)+
rsv_seen(t-h+1),...,
requests_t+rsv_seen_t)
The definition and evaluation of the algorithms for reservation
calculation in hosts and routers is still ongoing work. The
formulas above should serve only as examples.
[ Figure 5: Algorithms in the senders, routers, and receivers. ]
We call this algorithm an estimator, since it attempts to
estimate, based on past traffic, the resources that will need to
be reserved in the future. Figure 5 shows how the estimator
algorithm is used in all network elements:
- Senders use the estimator for an optimistic prediction of the
reservation the network will perform for the traffic they
emit. This, in conjunction with feedback received from the
receiver, is used to decide whether to send REQUEST or
RESERVED packets.
- Routers use the estimator for packet-wise admission control
and also to detect anomalies (see section "Route changes").
- In receivers, the estimator is fed with the received traffic
and it generates a (conservative) estimate of the reservation
at the last router. This is sent as feedback to the source.
A source always uses the minimum of the (optimistic) estimation of
the reservation at the next router and the (conservative)
feedback.
Almesberger, Ferrari & Le Boudec Expires 5/98 [Page 9]
INTERNET-DRAFT draft-almesberger-srp-01.txt November 1997
As described in section "Reservation protocol", a sender keeps on
sending requests until successful reservation setup is indicated
with a feedback packet. This means that the sender sends more
requests than needed if the round-trip-time is greater than the
observation interval. Routers can detect this by the lack of
RESERVED packets and they consequently refrain from increasing the
reservation. The feedback that is returned to the sender may also
show an increased number of requests.* The sender must not
interpret those requests as a direct increase of the reservation,
because the routers didn't either. Instead, the sender uses the
same algorithm as the routers to correct the feedback information
accordingly.
* Some of them can, however, also be refused in the network and
either become best-effort or even get discarded.
3.4 Resource reservation in a router
This section gives an example of how resource reservation can be
handled in a simple router where only output buffer space is
controlled. Depending on its architecture, a real router may have
to take the status and utilization of many other components into
account.
Figure 6 illustrates the packet processing in the example router:
After passing the router fabric, the reservation information in
each packet is examined and acted upon (see section "Reservation
protocol"). Packets of type REQUEST or RESERVED are put into the
queue for reserved traffic. All other packets are put into the
best-effort queue or they are discarded. The queues are emptied by
a scheduler which gives priority to the reserved traffic queue.
[ Figure 6: Example router. ]
Placing the reservation mechanisms directly before the output
queues naturally leads to aggregation: since the critical resource
at this point is queue space, one can for instance express
reservations as allocations of such space within a given interval.
The sum of the allocations then corresponds to the aggregate
bandwidth, which is reserved on that port.
[ Figure 7: Reservation control in router. ]
Detection of malfunction can be improved without impacting
scalability by calculating reservations not only for each output
port, but for each input and output port pair (which is called an
"intersection" in figure 7).
3.5 Reservation example
Almesberger, Ferrari & Le Boudec Expires 5/98 [Page 10]
INTERNET-DRAFT draft-almesberger-srp-01.txt November 1997
In this section, we illustrate the operation of the reservation
mechanism in a very simple example. The network we use is shown in
figure 8: the sender sends over a delay-less link to the router,
which performs the reservation and forwards the traffic over a
link with a delay of two time units to the receiver. The receiver
periodically returns feedback to the sender.
[ Figure 8: Example network configuration. ]
The bandwidth reservation in the router and the reservation that
has been acknowledged in a feedback message from the receiver are
measured. In figure 9, they are shown with a thin continuous line
and a thick dashed line, respectively. The packets emitted by the
source are indicated by arrows on the reservation line. A full
arrow head corresponds to REQUEST packets, an empty arrow head
corresponds to RESERVED packets. For simplicity, the sender and
the router use exactly the same observation interval in this
example, and the feedback rate is constant.
[ Figure 9: Protocol operation example. ]
The source sends one packet per time unit. First, the source can
only send requests and the router reserves some resources for each
of them. At point (1), the router discovers that it has
established a reservation for six packets in four time units, but
that the source has only sent four packets. Therefore, it corrects
its estimate and proceeds. The first feedback message reaches the
sender at point (2). It indicates a reservation level of five
packets in four time units (i.e. the estimate at the receiver at
the time when the feedback was sent), so the sender can now send
RESERVED packets instead of REQUESTs. At point (3), the next
observation interval ends at the router and the estimate is
corrected once more. Finally, the second feedback arrives at point
(4), indicating the final rate of four packets in four time units.
The reservation does no change after that.
4. Additional aspects
This section describes further details of the proposed reservation
architecture and discusses areas requiring further research.
4.1 Starvation
Reservation establishment is incremental. It is therefore possible
for a sender to obtain only a fraction of the required resources
if a shortage occurs before all the requests have been accepted.
This can lead to starvation if several senders (unsuccessfully)
compete for same resource for an extended period of time.
A sender can react to this situation in the following ways:
Almesberger, Ferrari & Le Boudec Expires 5/98 [Page 11]
INTERNET-DRAFT draft-almesberger-srp-01.txt November 1997
- give up and report reservation failure to the application
- try to proceed with the partial reservation (e.g. if the
shortage occurred during an attempt to increase an older
reservation)
- back off and try again later
In the latter case, the sender has to wait for the hold time plus
a random delay before sending new requests. The random delay
should be exponentially increased on repeated reservation failures
to the same destination.
4.2 Generation of inelastic best-effort traffic
Degrading REQUEST packets to BEST-EFFORT during resource shortage
is desirable, because it allows the communicating hosts to easily
distinguish a mere reservation failure from a total communication
breakdown.
Unfortunately, blindly converting all REQUEST packets to
BEST-EFFORT may have disastrous effects on other best-effort
traffic: since a sender emits requests at the full rate of the
desired reservation, the resulting inelastic best-effort traffic
would be grossly unfair with respect to protocols like TCP, which
perform end-to-end congestion control (see also [9]).
If the network implements a packet type for inelastic best-effort
traffic* or generally a lower priority type than normal
best-effort traffic, that type should be used when degrading
REQUEST packets. Otherwise, a more aggressive discard policy has
to be used for those packets. This could for instance be modulated
by measuring congestion-controlled traffic (e.g. TCP) flowing to
the same destination.
* Such a type would for instance have service characteristics
like a low delay but a higher loss probability.
4.3 Route changes
Like most other reservation architectures, the proposed one may
fail to provide the promised service if there is a route change.
Architectural means to reduce the number of route changes to the
absolutely necessary minimum (e.g. "route pinning" [10]) are
outside the scope of this paper.
Once a route change occurs, e.g. due to a link failure, it
typically has the following effects: The traffic is redirected to
a path on which no prior reservation exists ( b, c). In order to
limit the impact of this, the first router that detects the change
should change RESERVED packets to REQUEST. In figure 10, routers
A and B can orderly try to establish reservations on links a and
Almesberger, Ferrari & Le Boudec Expires 5/98 [Page 12]
INTERNET-DRAFT draft-almesberger-srp-01.txt November 1997
b (and on all downstream links) if router A changes the type of
redirected packets. Note that A cannot distinguish older reserved
traffic sharing the path via a and b from redirected traffic and
that it may therefore degrade RESERVED packets of the former to
requests.
[ Figure 10: Route change example. ]
A further anomaly can occur, if the original path and the
redirected path merge again further downstream ( d): The original
reservation and the new requests that were generated to repair the
reservation can collide and yield an artificially high
reservation. This is similar to the time-to-feedback problem
discussed in section "Reservation dynamics" and the same
mechanisms can be used to overcome it.
4.4 Discussion of the estimation module
We have presented in section "Reservation dynamics" an estimation
module based on counting the number of bytes in request and
reservation packets per time interval. We discuss now some
implications of this estimation module. The estimated bandwidth
required for one output for the tth time interval is reserve(t).
Call T the length of the time interval. If the estimation is
correct, this means that an arrival curve for the aggregate flow
is a(u) = (T + u ) reserve(t). If the aggregate flow is served at
a line rate c, this implies that the maximum delay variation for
this flow is T/(reserve(t)*c) [11]. With this estimation module,
the value of T is thus linked to the delay imposed on reserved
traffic. This is undesirable, because we may want to choose a
large value for T in order to smooth out jitter, without
increasing the delay.
It is possible to modify the estimation module as follows in order
to remove this dependency. In section "Reservation dynamics",
define requests(t) as the phdeterministic effective bandwidth for
a delay bound D [11] of the flow of requests over the tth time
interval, and rsv_seen(t) the deterministic effective bandwidth
for the same delay bound D of the flow of reservations. The
deterministic effective bandwidth is the amount of bandwidth that
is required to serve an observed flow within a given delay bound.
This modification makes the estimation module more complex, but it
makes it possible to have an observation interval T much larger
than the delay bound D. A more detailed analysis of the estimation
module is the object of current research.
4.5 Multicast
The reservation mechanism described can be slightly extended to a
multicast scenario. The extensions concern the feedback and the
Almesberger, Ferrari & Le Boudec Expires 5/98 [Page 13]
INTERNET-DRAFT draft-almesberger-srp-01.txt November 1997
reservation protocol at the source. They are needed to cope with
several problems which are typical in a multicast environment:
- the joining mechanism: how to establish reservations to a new
group member without affecting the reservation already in
place;
- transparency: events like route instability, topology changes,
joining and leaving of some group members and situations like
heterogeneous connectivity should only affect their limited
scope. They should be completely transparent to the remaining
session members and also to the connections established by
other applications.
- feedback implosion: the feedback protocol which works well in
a unicast scenario does not scale well in a multicast
environment.
Establishing reservations in a multicast tree The mechanism
described here to build up reservations in a multicast context
fits for multicast routing algorithms in which sources do not
flood traffic periodically to the network. In this way
reservations (REQUEST and RESERVED packets) can be restricted to
the links belonging to the multicast tree.
The source starts sending request messages to the multicast
routers which explicitly joined the group as a reply to the source
register message. Members of a session are divided into two sets:
1. joining members, forming the REQUEST multicast group;
2. "old" members, forming the RESERVED multicast group.
This distinction is necessary in order to make the joining
operation transparent to the hosts and to the branches already
belonging to the session.* The purpose of this division is to
forward REQUEST packets only on the path from the nearest
multicast router belonging to the reserved group to the new
member, as shown in figure 11.
Almesberger, Ferrari & Le Boudec Expires 5/98 [Page 14]
INTERNET-DRAFT draft-almesberger-srp-01.txt November 1997
* New members cannot join directly the reserved group because
this would have the effect of injecting RESERVED packets into
links on which the corresponding amount of resources was not
allocated before. Since routers have no means to distinguish
"legal" from "illegal" packets, non-conforming data would
affect other reservations already in place. Vice versa, the
sending of REQUEST packets would have the effect of increasing
the reservation level on the trunks already belonging to the
reserved tree.
[Source] [...] and // = on RESERVED tree
// \\ <...> and / = on REQUEST tree
// \\
[Router] [Router]
// \ \
// \ \
[Member]
/ \
/ \
Figure 11: Request and reserved multicast group.
The join request is issued hop-by-hop toward a multicast router
already on the reserved tree. Routers already receiving reserved
traffic start sending the multicast traffic to the member after
receiving the join request. In addition to that, they also switch
the RESERVED flag to REQUEST. Members of the request group can
compare their reservation estimate to the target amount indicated
by the source. If the reservation offered is acceptable, then the
member can leave the request group and join the reserved group.*
* This mechanism requires that the interval between the leaving
and the joining is small compared to the life time of the
reservation just established.
This mechanism can be implemented by associating two multicast
addresses to the two distinct groups. The addresses can be
different only in the least significant bit - for example it can
be 0 for the request group and 1 for the reserved group. Then, the
algorithm executed by the multicast router when a multicast packet
is received, is the following:
if ((pck_addr is multicast) and
(pck_type == rsvd)) {
forward pck to reserved group;
if (router is in the request group) {
newpck = copy(pck);
newpck_type = req;
Almesberger, Ferrari & Le Boudec Expires 5/98 [Page 15]
INTERNET-DRAFT draft-almesberger-srp-01.txt November 1997
forward newpck to request group;
}
}
Transparency In a network with bottlenecks the algorithm should
avoid that the link with worst connectivity (e.g. with the lowest
bandwidth availability) limits the reservation offered to each
member of the group. To cope with this heterogeneity multicast
members could be grouped into separate sets and layered coding
[12] could be used.
Hosts which can apply for the same reservation level, are
associated to different multicast groups. All the receivers are
included in a common multicast tree for the distribution of the
fundamental coding layer, then other coding layers can be added to
it. The traffic distribution of each layer can be implemented
through the reserved and request group described above and each
member can join several groups at the same time depending on the
quality of its connectivity.
Feedback The problem of feedback implosion is solved by simply not
sending any explicit feedback but by using group membership as an
implicit indicator instead. The multicast source can fix an a
priori value for the minimum amount of reservations required to
forward the traffic of a given coding layer. After joining the
request group the receiver does flow acceptance control. If the
estimated reservation is acceptable compared to the target set by
the source, then it can leave the REQUEST group and join the
RESERVED, otherwise it leaves the REQUEST group and gives up. So,
the absence of a reserved group of a session can mean two things:
no members have joined the request group yet or no members can
accept the reservation offered.
Since the source does not receive any feedback, it can statically
fix the reservation threshold of each multicast group. If that
amount of resources can not be allocated, hosts will leave both
groups, the multicast trees disappear and the (partial)
reservations time out.
5. Conclusion
We have proposed a new scalable resource reservation architecture for
the Internet. Our architecture achieves scalability for a large
number of concurrent flows by aggregating flows at each link. This
aggregation is made possible by entrusting traffic control decisions
to end systems - an idea borrowed from TCP. Reservations are
controlled with estimation algorithms, which predict future resource
usage based on previously observed traffic. Furthermore, protocol
processing is simplified by attaching the reservation control
Almesberger, Ferrari & Le Boudec Expires 5/98 [Page 16]
INTERNET-DRAFT draft-almesberger-srp-01.txt November 1997
information directly to data packets.
We did not present a conclusive specification but rather described
the general concepts, and gave examples for basic implementations of
core elements of the architecture. Further research is needed to
resolve open issues needed for a comprehensive specification and to
improve efficiency, robustness, and versatility of the algorithms and
procedures outlined in this paper.
6. References
[1] Gauthier, Eric; Giordano, Silvia; Le Boudec, Jean-Yves.
Reduce Connection Awareness,
http://lrcwww.epfl.ch/scone/scone_paper2.ps, Technical Report
95/145, DI-EPFL, September 1995.
[2] Floyd, Sally; Jacobson, Van. Link-sharing and Resource
Management Models for Packet Networks, IEEE/ACM Transactions on
Networking, Vol. 3 No. 4, pp. 365-386, August 1995.
[3] Liebeherr, Joerg; Akyildiz, Ian F.; Sarkar, Debapriya.
Bandwidth Regulation of Real-Time Traffic Classes in
Internetworks, Computer Networks and ISDN Systems, Vol. 28, No.
6, April 1996, pp. 855 - 872.
[4] Diot, Christophe; Huitema, Christian; Turletti, Thierry.
Multimedia Applications should be Adaptive,
ftp://www.inria.fr/rodeo/diot/nca-hpcs.ps.gz, HPCS'95 Workshop,
August 1995.
[5] Bolot, Jean; Turletti, Thierry. Adaptive Error Control For
Packet Video in the Internet, Proceedings of IEEE ICIP '96, pp.
232-239, September 1996.
[6] Wroclawski, John. Specification of the Controlled-Load
Network Element Service (work in progress), Internet Draft
draft-ietf-intserv-ctrl-load-svc-05.txt, May 1997.
[7] Floyd, Sally. Comments on Measurement-based Admissions
Control for Controlled-Load Services,
ftp://ftp.ee.lbl.gov/papers/admit.ps.Z, July 1996.
[8] RFC1889: Schulzrinne, Henning; Casner, Stephen L.; Frederick,
Ron; Jacobson, Van. RTP: A Transport Protocol for Real-Time
Applications, IETF, January 1996.
[9] Floyd, Sally; Fall, Kevin. Router Mechanisms to Support
End-to-End Congestion Control,
ftp://ftp.ee.lbl.gov/papers/collapse.ps, Technical report, LBL,
February 1997.
[10] RFC1633; Braden, Bob; Clark, David; Shenker, Scott.
Integrated Services in the Internet Architecture: an Overview.,
IETF, June 1994.
[11] Le Boudec, Jean-Yves. Network calculus made easy,
http://lrcwww.epfl.ch/PS_files/d4paper.ps, Technical Report
96/218, EPFL-DI, submitted to IEEE TIT, December 1996.
[12] McCanne, Steven; Jacobson, Van; Vetterli, Martin.
Receiver-driven Layered Multicast, ACM SIGCOMM '96, August 1996.
Almesberger, Ferrari & Le Boudec Expires 5/98 [Page 17]
INTERNET-DRAFT draft-almesberger-srp-01.txt November 1997
7. Author's address
Werner Almesberger
Jean-Yves Le Boudec
Institute for computer Communications and Applications
Swiss Federal Institute of Technology (EPFL)
CH-1015 Lausanne
Switzerland
email: almesber,leboudec@lrc.di.epfl.ch
Tiziana Ferrari
DEIS, University of Bologna
viale Risorgimento, 2
I-40136 Bologna
Italy
and
Italian National Inst. for Nuclear Physics/CNAF
viale Berti Pichat, 6/2
I-40127 Bologna
Italy
email: ferrari@lrc.di.epfl.ch
Almesberger, Ferrari & Le Boudec Expires 5/98 [Page 18]