XYLOMENOS et al.: A SURVE Y OF INFORMATION-CENTRIC NETWORKING RESEARCH 1029
AS 1
Tier-1 AS
AS 2
RH
AS 3
Publisher
Subscriber
(
8
)
(
9
)
(
1
0
)
(
1
1
)
Register Message
Find Message
Client-Provider Link
Peering Link
Data
(8-11)
(1-3)
(4-7)
RH
RH
RH
(
1
)
(2)
(
3
)
(
4
)
(
6
)
(
7
)
Router
Router
Router
Router
(
5
)
Fig. 2. The DONA architecture. RH stands for Resolution Handler.
principal (arrow 1). The RH then propagates this registration
to the RHs in its parent and peering domains, following
the established routing policies (arrows 2-3), causing each
intermediate RH to store a mapping between the object’s name
and the address of the RH that forwarded the registration. As a
result, registrations are replicated in RHs all the way up to the
tier-1 providers and, since all tier-1 providers are peers with
each other, RHs located at tier-1 providers are aware of all
registrations in the entire network. Publishers can also issue
wildcard R
EGISTER messages to notify the RH hierarchy that
they can provide all possible data items for a specific principal.
In order to locate an item, a subscriber sends a F
IND
message to its local RH, which also propagates this message
to its parent according to its routing policies, until a match-
ing registration entry is found (arrows 4-5). At that point,
requests follow the pointers created by the registrations in
order to eventually reach the publisher (arrows 6-7). Since
tier-1 providers are aware of all objects in the network, this
process is guaranteed to succeed if the requested name exists.
Subscribers can also issue wildcard F
IND messages to ask for
immutable data with a specific label, regardless of its purveyor.
Data routing can be either decoupled or coupled with name
resolution. In the decoupled option, when a F
IND message
reaches an appropriate publisher, the d ata can be directly sent
to the subscriber using regular IP routing and forwarding. The
actual data transmission will follow the established routing
policies for traffic between the publisher’s and the subscriber’s
AS’s. This requires global IP addresses, which are nearly
exhausted, so DONA also offers a coupled option which relies
on domain-local IP addresses only. In the coupled option
the F
IND messages g ather path-labels as they move from
RH to RH, indicating the sequence of AS’s crossed by the
request. When the request reaches the publisher, these path-
labels are simply used in the reverse or der to retrace the
path towards the subscriber (arrows 8-11). While the coupled
option obviates the need for global IP addresses and large BGP
routing tables, since all pa th-labels have a local meaning, it
enforces symmetric routing (at least, at the AS level) between
requests and responses, which is not necessarily the case with
regular BGP routing.
DONA can also support multicast channels, by allowing
F
IND messages to be cached in RHs for a specified period
of time and sending information updates in response to these
messages until they expire. When additional F
IND messages
for the same information are received by the RH, they are
merged into a single entry with multiple pa th-labels for the
responses, thus creating a multicast distribution tree. Note that
this can only work with the coupled option, as it requires data
to follow the reverse AS path taken by the F
IND messages.
3) Caching: DONA supports on-path caching via the RH
infrastructure. A RH that decides to cache a requested data
object can replace the source IP address of an incoming
F
IND request with its own IP address, before forwarding the
message to the next RH. As a result, any response will surely
traverse the current RH, thus the data returned will be cached
there. If path-labels are used, the data always return via the
intermediate RHs, who can then decide whether to cache the
information or not. If a subsequent F
IND message requesting
the same object reaches a caching RH, the RH can directly
return the data to the subscriber. Information may also be
replicated off-path, provided that each purveyor registers the
information through its local RH. A RH receiving multiple