There are two major disadvantages of the previous deployment scheme. First, reusable-IP hosts are still unreachable from hosts that do not belong to CMU's intranet. Second, deployment requires upgrading CMU's local DNS servers and thus requires CMU's consent.
It is possible to overcome both of these short-comings by using a technique called delayed binding at the expense of lowered performance. The basic idea is that, a waypoint does not need to know the identity of the initiator to accept a request. It can accept the request optimistically and wait for the connection from the initiator to arrive, and only at that time admission control is performed and the actual binding is created.
Under this scheme, reusable-IP networks will use a common domain name
suffix that is independent of any organization, say avesnet.net. Waypoints and AVES-aware DNS servers are
independently deployed for the avesnet.net domain. No upgrade to
any existing DNS server is needed. When a DNS query is received by an
AVES-aware DNS server for avesnet.net, although the initiator's
IP address () is no longer known, the AVES-aware DNS server can
still select a waypoint
and send it a SETUP message containing
,
, and
(the IP address of the initiator's
local DNS server). Without knowing
,
can no longer perform
the admission control test stated in
Section 3.3.1. However,
can make use of whatever
information it has and decide whether to accept the request (in the
simplest case,
always accepts the request). If
accepts the
request, it replies with an ACCEPT message, and immediately enters a
wait state for a short period of time,
, and executes
the algorithm shown in Figure 6. During this time,
does not accept other in-coming SETUP requests. Thus, requests are
serialized.
In summary, during this wait state, when a new connection from some
initiator arrives (indicated by a TCP SYN packet or any non-TCP
packet),
is potentially the initiator that
is waiting for.
Thus,
checks to see if
violates the admission control
criterion (note that
in Figure 6
denotes a waypoint translation table entry as defined in
Section 3.3.1). If so, the packet must be rejected,
and
is recorded in the set
of violators. If later a
new connection from initiator
arrives, and
does not violate
the admission control criterion, and
has no existing translation
table entry for
, then a new translation table entry is created for
and bound to responder
. Upon exiting the wait state,
connections from initiators in
must be rejected for a
time period
to force these initiators to retry their
connections. Note that
should not be too large or it may
negatively affect future requests from the same initiator.
We have fully implemented delayed binding in our prototype system and it works well (see Section 5 for details). Since this technique is independent of organizational boundaries, it is actually feasible for our prototype system to provide service to reusable-IP networks outside of CMU.
One disadvantage of delayed binding is that connections need to be
retried whenever an admission control violation is
committed. Fortunately, when the number of waypoints is greater than
the average number of simultaneous sessions opened by an initiator,
the chance of this can be kept small. Another disadvantage is that the
peak rate at which
the whole system can accept new sessions is limited to
sessions per second, where
is the number of IP addresses assigned
to waypoints. Our prototype system, with 50 IP addresses and a
of 2 seconds, can accept 25 sessions per second. While this
is quite reasonable for CMU's DSL users, we do not advocate the use of
our system to serve a popular web server. Other limitations regarding
security and state consistency are discussed in
Section 6.