Zone Information Request Packet
The data receiver can obtain zone information for known networks on
the data sender's local internet at any time, by sending it a Zone
Information Request packet, or ZI-Req. A ZI-Req lists the numbers of
networks for which the data receiver is requesting zone information.
IMPORTANT: To prevent other exterior routers on a tunnel from sending
endless streams of ZI-Req packets across the tunnel-causing what is
referred to as a ZIP storm-an exterior router must not export
information about a network until it has a complete zone list for
that network.
Zone Information Response Packets
When the data sender receives a ZI-Req, it responds by sending
unsequenced Zone Information Response packets, or ZI-Rsp, to the data
receiver. Zone information is transaction data-thus, its reliable
delivery is not guaranteed. Figure 3-8 shows a zone-information
request/response dialog between a data sender and a data receiver.
<<Figure 3-8 Zone-information request/response dialog>>
Recovering Lost Zone Information
A data receiver enters a network-to-zone list association in its
routing table for each network for which it receives a ZI-Rsp packet.
If a data receiver that requested zone information for a network does
not receive a complete zone list for that network, it must retransmit
ZI-Req packets, requesting zone information for that network, until
it receives that network's complete zone information.
To determine if any ZI-Rsp packets were lost, the data receiver
periodically scans its routing table for networks for which the
associated zone lists are incomplete-that is, for zone lists that do
not include all zones associated with the networks. The data receiver
sends a ZI-Req to each data sender from which it received incomplete
zone information, listing the numbers of networks for which it has
incomplete zone lists. The data sender responds to zone information
requests by sending ZI-Rsp packets containing the requested
information to the data receiver.
Using AURP-Tr for Initial Information Exchange
The following sections describe the use of AURP-Tr-the default
transport-layer service for AURP-for initial information exchange.
OPEN REQUEST PACKET: An exterior router sends an Open-Req packet to
request that an AURP-Tr one-way connection with another exterior
router be established
specify the connection ID for that connection
pass the AURP version number, SUI flags, and optional data to the
other exterior router
If the exterior router does not receive an Open-Rsp from the exterior
router to which it sent an Open-Req, it must retransmit the Open-Req.
OPEN RESPONSE PACKET: When using AURP-Tr, an exterior router sends an
Open-Rsp to
acknowledge that a one-way connection has been established
reject a connection
return information about its environment, as well as any optional
data, to the exterior router from which it received an Open-Req
If an exterior router receives an Open-Req on a one-way connection
that is already open-that is, if it receives an Open-Req with the
same connection ID as an open one-way connection-an Open-Rsp sent
previously may have been lost. The exterior router receiving the
duplicate Open-Req should send a duplicate Open-Rsp to the sending
exterior router, unless it has already received some other packet on
the connection-such as an RI-Req-indicating the existence of a fully
established connection.
ROUTING INFORMATION RESPONSE PACKETS: When responding to a request
for routing information using AURP-Tr, an exterior router sends a
sequence of RI-Rsp packets to the exterior router requesting the
information. However, an exterior router's complete list of network
numbers often fits in a single RI-Rsp packet. Each RI-Rsp packet
contains the following information:
Connection ID: The connection ID identifies the specific one-way
connection to which a packet belongs.
Sequence number: The sequence number identifies an individual packet
on a connection. Packets on a connection are numbered starting with
the number 1.
The data sender sending routing information must wait for the data
receiver to acknowledge that it has received each RI-Rsp packet in
the sequence-by sending an RI-Ack packet-before sending the next RI-
Rsp packet. Each RI-Rsp contains a flag that indicates whether it is
the last packet in the sequence. In the last RI-Rsp in the sequence,
this flag is set to 1. If the data sender receives no acknowledgment
of an RI-Rsp from the data receiver within a specified period of
time, it must retransmit the RI-Rsp.
ROUTING INFORMATION RESPONSE PACKETS: When an exterior router
receives an RI-Rsp, it verifies the packet's connection ID and
sequence number. The connection ID must be the same as that in the
Open-Req. The sequence number must be either
the last sequence number received, indicating that the previous
acknowledgment was lost or delayed, and that this is a duplicate
RI-Rsp the next number in the sequence, indicating that this
RI-Rsp contains new routing information
If the connection ID or sequence number is invalid, the data receiver
discards the packet. Figure 3-9 shows a dialog between a data sender
and a data receiver in which the data receiver requests routing
information, the data sender responds by sending its routing
information, and the data receiver acknowledges the data sender's
response. If the data sender receives no acknowledgment, it sends
duplicate RI-Rsp packets until the data receiver responds with an
acknowledgment.
<<Figure 3-9 Routing-information request/response/acknowledgment
dialog>>
Once the data receiver has verified the information in the RI-Rsp, it
responds with a Routing Information Acknowledgment packet, or RI-Ack,
which contains the following information:
Connection ID: The connection ID is the same as that in the RI-Rsp
packet.
Sequence number: The sequence number is the same as that in the RI-
Rsp packet.
Send zone information flag: The state of the send zone information
(SZI) flag in an RI-Ack packet indicates whether the RI-Ack packet
doubles as a ZI-Req packet. If the SZI flag is set to 1, the data
receiver sends the zone information associated with the networks
about which it sent routing information in the previous RI-Rsp.
Figure 3-10 shows a data receiver sending zone information to a data
sender in response to a ZI-Req and in response to an RI-Ack, which
optimizes the data flow.
When the data sender receives an RI-Ack, it verifies that the RI-Ack
corresponds to the outstanding RI-Rsp-that is, both packets have the
same connection ID and sequence number. Once the data sender has
verified the information in the RI-Ack, it responds by sending the
next RI-Rsp in the sequence, if any.
<<Figure 3-10 Nonoptimized and optimized flows of zone information>>
ZONE INFORMATION RESPONSE PACKETS: If the data sender receives an
RI-Ack with its SZI flag set to 1, it responds by sending ZI-Rsp
packets that contain the zone information associated with the
networks about which it sent routing information in the RI-Rsp being
acknowledged-just as it would if it received a ZI-Req for those
networks.
The data sender sends RI-Rsp and ZI-Rsp packets as independent data
streams. It sends RI-Rsp packets as sequenced data and ZI-Rsp packets
as transaction data. If the data sender receives an RI-Ack with its
SZI flag set to 1, it sends an unsequenced series of ZI-Rsp packets
that contain the following information:
Connection ID: The connection ID is the same as that in the
associated RI-Req.
Network number and zone list tuples: The exterior router sends the
zone information associated with each network number in the
corresponding RI-Rsp.
Reobtaining Routing Information
An exterior router can reobtain another exterior router's complete
routing information at any time, by sending an RI-Req packet. An
exterior router might need to reobtain complete routing information
for a one-way connection on which it is the data receiver under the
following circumstances:
During the initial routing-information exchange, the exterior
router set the SUI flags in the Open-Req to disable updates. The
exterior router can subsequently poll the other exterior router on
the connection by sending an RI-Req to that exterior router to
determine whether any of its routing information has changed.
The exterior router set the SUI flags to request updates, but
suspects that the routing information for the other exterior router
on the connection is incorrect or obsolete. The exterior router
should send an RI-Req to the other exterior router to obtain its
complete, updated routing information.
Whenever an exterior router receives an RI-Req from an exterior
router requesting updated routing information, it responds by sending
RI-Rsp packets, just as it does when it first receives an RI-Req. The
data sender also resets the SUI flags for that one-way connection, so
they correspond to those in the RI-Req.
If the data sender is sending other sequenced update information when
it receives an RI-Req, it cannot respond to the RI-Req until the data
receiver acknowledges the last outstanding packet in the sequence.
If AURP uses an underlying transport-layer service that does not
provide reliable delivery, such as AURP-Tr, it may be necessary for
the data receiver to retransmit an RI-Req.
Updating Routing Information
Once an exterior router receives the routing and zone information for
another exterior router's local internet, if the receiving exterior
router has set the SUI flags in the Open-Req to request updates, the
data sender notifies the data receiver of any subsequent changes to
that information.
Informed-Routers List
An exterior router maintains an informed-routers list containing the
network address of each exterior router that has requested dynamic
updating of routing information. Once an exterior router has sent
routing information for its local internet to other exterior routers
on the tunnel, it must reliably send updated routing information to
all accessible exterior routers in its informed-routers list whenever
its routing information changes.
Sending Routing Information Update Packets
An exterior router communicates changes in its routing information by
sending Routing Information Update, or RI-Upd, packets to another
exterior router. When the routing information for an exterior
router's local internet changes, the exterior router need not send an
RI-Upd immediately. Generally, an exterior router buffers the update
information, then sends updates periodically. The exterior router
must wait at least an update interval between sending updates. The
value of this update interval
cannot be less than ten seconds
should be specifiable by a network administrator
It is possible that more than one update event for a particular
network might occur within one update interval. One of these events
might supercede another-for example, a Network Added event followed
by a Network Deleted event for the same network. In this case, the
exterior router can represent the two events logically as one event.
Under AURP, an exterior router can have only one event pending for a
given network. An exterior router can combine any series of events
for a network into a single pending event. In Figure 3-11, a state
diagram shows the update event that an exterior router should have
pending for a network, based on the other events that have occurred
during the update interval.
<<Figure 3-11 A state diagram showing pending update events>>
Four of the states correspond to four pending update events. Two
states indicate that no update event is pending:
Net Up-indicates that no update event is pending for a network
in the exterior router's local internet
Net Down-indicates that no update event is pending for a network in
another exterior router's local internet or the network does not
exist
A single RI-Upd packet may contain different types of update events-
for example, several Network Added events and several Network Deleted
events. For information about update events, see the section
"Routing-Information Update Events" later in this chapter.
A data sender should send an RI-Upd packet to an exterior router in
its informed-routers list only if the packet contains one or more
update events of a type indicated by the SUI flags of the last Open-
Req or RI-Req received from that exterior router. Because an RI-Upd
that contains one or more events of a type requested by an exterior
router may also contain events of types not requested, an exterior
router must be able to handle events of all types. Thus, a data
sender can send an RI-Upd that contains various types of update
events to all exterior routers that have requested update events of
any of those types.
Sending Updates Following the Initial Exchange of Routing Information
While a data sender has update events pending-that is, when update
events have occurred but the data sender has not yet sent RI-Upd
packets for those events-another exterior router may establish a new
connection with the data sender. The data sender must present
consistent routing information to all exterior routers on the tunnel,
on both existing connections and any new connections. For example, if
a pending update event indicated that a new network had become
available, the newly connected exterior router could be informed of
that network's presence on the internet either by
sending it an RI-Rsp packet including routing information for the
new network
sending it an RI-Rsp packet that does not include routing
information for the new network, then sending it the RI-Upd packet
that includes the pending update event
AURP does not specify a scheme for sending update information
following the initial exchange of routing information on a new
connection. However, the Appendix, "Implementation Details,"
describes one possible method of doing this.
Using AURP-Tr to Update Routing Information
The following sections describe the use of AURP-Tr for sending
routing-information updates.
ROUTING INFORMATION UPDATE PACKETS: Each RI-Upd packet contains the
following information:
Connection ID: The connection ID identifies the specific one-way
connection to which the RI-Upd belongs.
Sequence number: The sequence number identifies an individual RI-Upd
on a connection.
If an update cannot be contained in one RI-Upd packet, the data
sender must send a sequence of RI-Upd packets. While the data sender
need not wait for the duration of an update interval before sending
each RI-Upd packet in a sequence, it must wait for the data receiver
to acknowledge that it has received the RI-Upd packet that is
currently outstanding before sending the next RI-Upd packet in the
sequence.
If the data sender sending an RI-Upd does not receive an
acknowledgment, or RI-Ack, from the data receiver within a specified
period of time, the data sender should periodically retransmit the
RI-Upd until it receives an acknowledgment from the data receiver.
Once the data sender retransmits the RI-Upd a specified number of
times, if it does not receive an RI-Ack, it should assume that the
one-way connection on which it is the data sender is down. For more
information about routers going down, see the section "Using AURP-Tr
to Detect Routers Going Down" later in this chapter.
ROUTING INFORMATION ACKNOWLEDGMENT PACKET: When a data receiver
receives an RI-Upd, it verifies the packet's connection ID and
sequence number. The connection ID must be the same as that in the
Open-Req for the connection. The sequence number must be either:
the last sequence number received, indicating that the previous
acknowledgment was lost or delayed, and that this is a duplicate
RI-Upd
the next number in the sequence, indicating that the RI-Upd
contains new routing information
If the sequence number has any other value, the data receiver ignores
the RI-Upd. Once the data receiver has verified the RI-Upd packet's
connection ID and sequence number, it responds by sending a Routing
Information Acknowledgment packet, or RI-Ack, which contains the
following information:
Connection ID: The connection ID is the same as that in the RI-Upd
packet.
Sequence number: The sequence number is the same as that in the RI-
Upd packet.
Figure 3-12 shows a data receiver responding to an RI-Upd by sending
an RI-Ack.
<<Figure 3-12 A routing-information update/acknowledgment dialog>>
When a data sender receives an RI-Ack, it verifies that the RI-Ack
corresponds to the outstanding RI-Upd-that is, both packets have the
same connection ID and sequence number. Once the data sender has
verified the information in the RI-Ack, it responds by sending the
next RI-Upd in the sequence, if any.
Routing-Information Update Events
An RI-Upd packet may contain any of five different types of routing-
information update events. The following sections describe these
events.
NETWORK ADDED EVENT: An exterior router sends a Network Added (NA)
event under the following circumstances:
A new network that appears in the exterior router's routing table
is in the exterior router's local internet and is not hidden-that
is, it is an exported network.
The port through which an exterior router accesses a network
changes from a tunneling port to another port on the router
and the network is not hidden.
If a network in an exterior router's routing table becomes accessible
across the tunnel, the exterior router does not send an NA event. An
exterior router sends only split-horizoned routing information to
other exterior routers on the tunnel.
An NA event lists the network numbers associated with the new network
and the network's distance in hops. Another exterior router can
request the zone information associated with the new network at any
time by sending a ZI-Req, once it receives an RI-Upd containing an NA
event for the network.
When using AURP-Tr, an exterior router can request zone information
for new networks by setting the SZI bit in an RI-Ack that it sends in
response to an RI-Upd. If a data sender receives an RI-Ack with its
SZI flag set to 1, the data sender sends the zone information
associated with each new network for which it sent an NA event in the
RI-Upd.
Figure 3-13 shows a data receiver responding to an RI-Upd by sending
an RI-Ack in which the SZI bit is set to 1, optimizing the flow of
zone information by causing the data sender to respond with a ZI-Rsp.
<<Figure 3-13 An optimized flow of zone information>>
NETWORK DELETED EVENT: An exterior router sends a Network Deleted
(ND) event if an exported network that was formerly accessible
through its local internet no longer appears in its routing table. An
ND event lists the network numbers associated with the deleted
network.
NETWORK ROUTE CHANGE EVENT: An exterior router sends a Network Route
Change (NRC) event if the path to an exported network through its
local internet changes to a path through a tunneling port, causing
split-horizoned processing to eliminate that network's routing
information. An NRC event lists the network numbers associated with
the network to which the path changed.
NETWORK DISTANCE CHANGE EVENT: An exterior router sends a Network
Distance Change (NDC) event if the distance to an exported network
accessible through its local internet changes. An NDC event indicates
the network to which the distance changed and the network's distance
in hops. An exterior router must send an NDC event even if the
distance to a network changes to 15 hops. The exterior router that
receives an NDC event with a hop count of 15 should process that
event just as it would an ND event.
ZONE NAME CHANGE EVENT: This event is reserved for future use.
Processing Update Events
According to the architectural model, a data receiver that is
processing an event contained in an RI-Upd packet updates the
corresponding information in its central routing table. For example,
if a data receiver receives an RI-Upd containing an ND event or an
NRC event, it sets the corresponding network's routing-table entry to
BAD. The data receiver then initiates a notify-neighbor process, by
sending RTMP data packets that identify bad entries in its routing
table to routers on its local internet.
Processing Inconsistent Update Events
If the data receiver's copy of the data sender's routing table does
not match that in the data sender's current routing table, it is
possible that the data receiver might receive an RI-Upd containing an
event that is incongruous with its current routing-table information.
For example, this might occur if the information in the data sender's
routing table were changing during its initial exchange of routing
information with the data receiver, as described in the section
"Sending Updates Following the Initial Exchange of Routing
Information" earlier in this chapter. The data receiver might receive
an RI-Upd that contains an ND, NRC, or NDC event for a network not
known to be in the data sender's routing table; or an NA event for a
network already known to be in its routing table. The data receiver
should
ignore ND and NRC events for unknown networks
process an NDC event for an unknown network as an NA event
process an NA event for a known network as an NDC event
Maintaining a Central Routing Table
According to the architectural model, an exterior router maintains a
separate routing table for each other exterior router on a tunnel. In
a typical implementation, however, an exterior router maintains a
central routing table that contains information about each path to
each network known to that exterior router-including its port, next
internet router (IR), and distance in hops.
If no loops exist across a tunnel, an exterior router can reach a
network that is accessible through that tunnel through only one
exterior router, as shown in Figure 3-14. Such a network is
accessible neither through the exterior router's local internet nor
through any other exterior router on the tunnel. Thus, the central
routing table would contain only one path for that network.
If a loop exists across a tunnel, an exterior router may be able to
access a network through two or more exterior routers on the tunnel,
or through both its local internet and an exterior router. Thus, when
a loop exists across a tunnel, the central routing table may contain
more than one path for each network. Figure 3-14 shows two examples
of internets on which loops exist.
<<Figure 3-14 Internets with and without loops>>
Maintaining an Alternative-Paths List
If a loop exists across a tunnel and an exterior router maintains a
single central routing table, that table must include an
alternative-paths list for each network known to the exterior router.
This alternative-paths list contains the routing information that an
exterior router might otherwise maintain in separate routing tables
for the other exterior routers on a tunnel. An entry for each
alternative path to a network consists of the address of the
alternative next IR for that network and the network's distance
through that next IR.
Because RTMP periodically retransmits information about alternative
paths, the exterior router's alternative-paths list needs to provide
information only about alternative paths to networks across tunneling
ports. Thus, the alternative-paths list for a network provides
complete information about all paths to that network across tunnels-
but not necessarily about all paths through the exterior router's
local internet.
An exterior router must maintain an alternative-paths list, because
once a data sender has reliably sent routing information to a data
receiver, the data sender does not retransmit that information. Even
though a path may not currently be the optimal path to a network, an
exterior router must maintain information about that path, in the
event that it later becomes the optimal path.
NOTE: Zone information is unaffected by the path taken to a network.
Therefore, an exterior router need not maintain duplicate zone
information in the alternative-paths list.
Using the Alternative-Paths List in Event Processing
An exterior router uses its alternative-paths list when processing
events.
PROCESSING A NETWORK ADDED EVENT: If an exterior router receives an
NA event, it searches its central routing table for the network
indicated in the event.
If the exterior router finds no entry for that network in its
central routing table, it creates a new entry using the routing
information contained in the NA event.
If the exterior router finds an existing entry for that network in
its central routing table and the next IR for that entry is not
the exterior router that sent the event, it determines whether the
NA event provides a better path to that network.
If the NA event provides a better path to the network or the
state of the routing-table entry for that network is BAD, the
exterior router replaces the current entry with the routing
information contained in the NA event. In the current entry, if
the path to the network is through a tunnel, as indicated by
the next IR, the exterior router transfers the current entry to
the network's alternative-paths list.
If the NA event does not provide a better path to the network,
the exterior router adds the routing information contained in
the NA event to the alternative-paths list for the network.
If the exterior router finds an existing entry for that network,
in which the next IR is the exterior router that sent the event,
the exterior router should process the NA event just as it would
an NDC event.
PROCESSING A NETWORK DELETED EVENT: If an exterior router receives
an ND event, it searches its central routing table for the network
indicated in the event.
If the exterior router finds no entry for that network in its
central routing table, it ignores the event. See the section
"Processing Inconsistent Update Events" earlier in this chapter.
If the exterior router that is the data receiver determines that
the exterior router that sent the ND event is the next IR for that
network and there is an alternative-paths list for the network, the
data receiver replaces the network's current routing information
with the entry in the network's alternative-paths list that
provides the shortest distance to that network and removes that
entry from the network's alternative-paths list. If the network's
alternative-paths list contains more than one entry providing the
distance that constitutes the shortest distance to the network, the
data receiver can use any of those entries.
If the exterior router that is the data receiver determines that
the exterior router that sent the ND event is the next IR for that
network and there is no alternative-paths list for the network, the
data receiver sets the network's routing-table entry to BAD, then
initiates a notify-neighbor process.
If the exterior router that is the data receiver determines that
the exterior router that sent the ND event is not the next IR for
that network, the data receiver searches that network's
alternative-paths list for an entry in which the next IR is the
data sender and removes that entry from the list.
PROCESSING A NETWORK ROUTE CHANGE EVENT: If an exterior router
receives an NRC event, it processes that event as an ND event.
Generally, an NRC event should not cause an exterior router to set
the state of a network's routing-table entry to BAD. An NRC event
indicates that the data sender has an alternative path to the network
through the tunnel. The data receiver either is already aware of or
will soon discover this alternative path.
PROCESSING A NETWORK DISTANCE CHANGE EVENT: If an exterior router
receives an NDC event with a hop count of 15, it processes that event
just as it would an ND event. Otherwise, it searches its central
routing table for the network indicated in the event.
If the exterior router finds no entry for that network in its
central routing table, it processes that event as an NA event.
If the exterior router that is the data receiver determines that
the exterior router that sent the NDC event is the next IR for the
network, the data receiver replaces the distance to that network
that is currently in its central routing table with the distance
indicated in the NDC event.
If the exterior router that is the data receiver determines that
the exterior router that sent the NDC event is not the next IR for
the network, the data receiver
replaces the distance in the corresponding entry in the network's
alternative-paths list with the distance indicated in the NDC event
creates an entry in the alternative-paths list that contains the
routing information in the NDC event, if it finds no entry for that
network in the alternative-paths list
Finally, regardless of whether the central routing table indicates
that the exterior router that sent the NDC event is the network's
next IR, the data receiver compares the distances in entries in the
network's alternative-paths list to the distance in its central
routing table. If an entry in the alternative-paths list contains a
shorter path to the network, the exterior router transfers that entry
to the central routing table. This ensures that the exterior router's
central routing table contains the shortest path to the network.
If the data receiver replaces the entry currently in its central
routing table with that in the NDC event and the current entry
provides a path to the network through a tunnel, the data receiver
transfers the current entry to the network's alternative-paths
list.
If the data receiver transfers an entry in the network's
alternative-paths list to its central routing table, it removes
that entry from the alternative-paths list.
RESPONDING TO EVENTS IN THE LOCAL INTERNET: An exterior router that
uses AURP must respond appropriately to events that originate in its
local internet. Such events occur when the routing information for a
network in the exterior router's local internet changes and another
path to that network exists through the tunnel. An exterior router
handles such events as follows:
If the exterior router replaces the current routing-table entry for
a network with routing information provided by an event originating
in its local internet-that is, provided by RTMP-and the current
path to the network is through a tunnel, the exterior router
transfers the current entry to the network's alternative-paths
list.
If the exterior router sets the state of a routing-table entry to
BAD or removes an entry from its central routing table, the
exterior router replaces that entry with the entry in the
alternative-paths list that provides the shortest distance to the
network in the entry being replaced.
If the distance to a network in the exterior router's local
internet changes, the exterior router compares the distances in
entries in the network's alternative-paths list to the distance in
its central routing table. If an entry in the alternative-paths
list provides a shorter distance to the network, the exterior
router transfers that entry to its central routing table. This
ensures that the exterior router's central routing table contains
the shortest path to the network.
Router-Down Notification
Prior to going down, or becoming inactive, an exterior router must
notify all other exterior routers in its informed-routers list that
it is going down. An exterior router does this by using the
underlying transport-layer service to close its connection with each
exterior router.
Sending a Router Down Packet
Optionally, an exterior router can send a Router Down packet, or RD
packet, to each exterior router before it goes down. An RD packet
contains an error code that indicates the exterior router's reason
for terminating its connection with each exterior router.
Generally, only the exterior router functioning as the data sender on
a one-way connection sends RD packets. However, if just a single
one-way connection exists between two exterior routers, the exterior
router functioning as the data receiver on that connection can send
an RD packet.
Using AURP-Tr to Notify Other Routers That a Router Is Going Down
When using AURP-Tr, an exterior router sends an RD packet to
notify another exterior router that it is terminating a connection
pass an error code that indicates its reason for terminating the
connection
As shown in Figure 3-15, once the data receiver verifies the RD
packet's connection ID, it acknowledges that it received the RD
packet by sending an RI-Ack. Then, the data sender terminates the
connection.
<<Figure 3-15 Acknowledging an RD packet>>
If a Router Goes Down Without Notifying Other Routers
If an exterior router crashes or goes down without sending an RD
packet, or becomes inaccessible due to a network problem, other
exterior routers on the tunnel must be able to discover that the
exterior router is down. Generally, the underlying transport-layer
service provides a mechanism for informing an exterior router that an
exterior router in its informed-routers list has gone down or become
inaccessible.
If an exterior router determines that another exterior router is
down, it must
remove that exterior router from its informed-routers list
remove that exterior router's routing information from all of its
routing tables
close any one-way connections with that exterior router
If an exterior router rediscovers an exterior router that had
previously gone down, it must again exchange initial routing
information with that exterior router.
Using AURP-Tr to Detect Routers Going Down
An exterior router using AURP-Tr associates a last-heard-from timer
with each exterior router from which it has received routing
information-that is, with each one-way connection on which it is the
data receiver. Each time the exterior router receives an RI-Rsp, RI-
Upd, or ZI-Rsp over a connection-verifying that its connection with
the data sender is still active-it resets the last-heard-from timer
for that connection.
For each one-way connection on which it is the data receiver, the
exterior router has a last-heard-from timeout value. If a
connection's last-heard-from timer reaches that timeout value, the
data receiver sends a Tickle packet over that connection. If the data
sender on the connection is still accessible, it responds with a
Tickle-Ack, as shown in Figure 3-16. When the data receiver receives
the Tickle-Ack, it resets the last-heard-from timer for that
connection. If the data receiver receives no Tickle-Ack-even after
retransmitting the Tickle several times-it assumes that the
connection is down.
<<Figure 3-16 Acknowledging a Tickle packet>>
If the exterior router determines that the connection is down and an
associated one-way connection exists on which it is the data sender,
it should send a null RI-Upd over that connection to determine
whether that one-way connection is still active.
If the data receiver on the connection is still accessible, it
responds with an RI-Ack, as shown in Figure 3-17. If the data sender
receives no RI-Ack-even after retransmitting the null RI-Upd several
times-it determines that the one-way connection on which it is the
data sender is also down.
<<Figure 3-17 Acknowledging an RI-Upd packet>>
The value of the last-heard-from timeout should be configurable. The
minimum last-heard-from timeout should be 30 seconds. If a
connection's last-heard-from timeout is greater than two minutes-the
tickle-before-data time-and the data receiver has not reset the
connection's last-heard-from timer for at least this tickle-before-
data time, the data receiver must send a Tickle to the data sender
before forwarding an AppleTalk data packet to it. If the data sender
on the connection is still accessible, it responds with a Tickle-Ack.
When the data receiver receives the Tickle-Ack, it resets the last-
heard-from timer for that connection. If the data receiver receives
no Tickle-Ack, even after retransmitting the Tickle, it assumes that
the data sender is no longer accessible and closes the connection.
Obtaining Zone Information
AURP supports two commands that allow an exterior router to obtain
routing information for zones rather than for networks-the Get Domain
Zone List (GDZL) command and the Get Zone Nets (GZN) command. These
commands constitute request/response transactions, and are similar to
ZI-Req and ZI-Rsp. An exterior router sends these commands
unsequenced over a connection.
NOTE: Under AURP, the implementation of the Get Domain Zone List
command and the Get Zone Nets command in an exterior router is
optional. However, an exterior router must at least be able to
return an error to a GDZL-Req or a GZN-Req.
Get Domain Zone List Command
The Get Domain Zone List command, or GDZL, allows an exterior router
to obtain a zone list for an internet. As shown in Figure 3-18, GDZL
functions similarly to the ZIP GetZoneList command. However, a GDZL-
Rsp returns a split-horizoned zone list-that is, it returns only the
zones in the exterior router's local internet, rather than the
exterior router's entire zone list. A GDZL-Rsp does not return zones
in networks that are accessible through the tunnel, unless those
zones are also in networks that are accessible through the exterior
router's local internet.
<<Figure 3-18 Get Domain Zone List request/response dialog>>
Get Zone Nets Command
The Get Zone Nets command, or GZN, allows an exterior router to
obtain a list of the networks in an exterior router's local internet
that are associated with a particular zone name. As shown in Figure
3-19, GZN functions similarly to ZI-Req and ZI-Rsp, but a GZN-Req
packet contains a single zone name and GZN-Rsp packets contain
network tuples that have the same format as the tuples in an RI-Rsp.
A GZN-Rsp returns network tuples only for networks that are
accessible through the exterior router's local internet.
<<Figure 3-19 Get Zone Nets request/response dialog>>
Using AURP-Tr to Process Sequence Numbers
When an exterior router acting as a data receiver sends an Open-Req
to establish a one-way connection, it expects the data sender to
respond by sending sequenced data packets, starting with the sequence
number 1. The data receiver's response to each packet that it
receives depends on the packet's sequence number:
Whenever the data receiver receives an RI-Rsp, RI-Upd, or RD packet
that has the expected sequence number and connection ID, it sends
an RI-Ack packet having that sequence number, then increases the
sequence number that it expects by one, until the sequence number
reaches 65,535. Sequence numbers wrap around and the sequence
number 0 is reserved, so the sequence number 1 follows 65,535.
Thus, when comparing sequence numbers, an exterior router
interprets the sequence number 65,535 as one less than the sequence
number 1.
If the data receiver expects sequence number n and receives a
packet with the sequence number n-1, that packet was delayed and is
a duplicate of another packet already received. The data receiver
must retransmit an RI-Ack packet, because the data sender may not
have received the RI-Ack packet previously sent-that is, the RI-Ack
may have been lost.
If the data receiver expects sequence number n and receives a
packet with the sequence number n+1, it should discard the packet
and terminate the one-way connection on which it is the data
receiver. Because AURP-Tr supports only one outstanding
transaction at a time, the receipt of such a packet indicates that
the connection is out of sync.
If the data receiver expects sequence number n and receives a
packet with a sequence number other than n-1, n, or n+1, the packet
was delayed and is a duplicate of another packet already received.
The data receiver need not send an RI-Ack, because the data sender
must have received an RI-Ack for that sequence number prior to
sending a packet with the sequence number n-1. The data receiver
should discard the packet.
NOTE: If the sequence numbers have not wrapped around, a sequence
number greater than n+1 indicates that the connection is out of sync.
Using AURP-Tr to Process Connection IDs
If an exterior router acting as either a data receiver or a data
sender on a one-way connection receives a packet from an exterior
router with which it has a one-way connection, it checks the
connection ID in the packet to verify that the packet was sent on
that connection. If the packet contains a connection ID that does not
match that expected for the connection, the exterior router discards
the packet.
If a data sender receives an Open-Req from an exterior router with
which it already has a connection and the connection ID does not
match that for the connection already established, it should not
discard the packet without verifying whether the connection is still
active. The receipt of such a packet may indicate that the data
receiver on the connection has been restarted and has opened a new
one-way connection, without first terminating its original
connection. The exterior router acting as the data sender should send
a null RI-Upd over the connection to determine whether it is still
active. If the data sender receives an RI-Ack in response to the null
RI-Upd, it discards the Open-Req and the original connection remains
active. If the data sender receives no RI-Ack after retransmitting
the null RI-Upd, it closes the original connection, then sends an
Open-Rsp to the next Open-Req received.
NOTE: An exterior router can act as the data sender on only a single
one-way connection between itself and a given exterior router. That
is, multiple one-way connections in the same direction cannot exist
between two exterior routers.
When establishing a one-way connection with a given data sender, a
data receiver using AURP-Tr must send an Open-Req that has a
different connection ID from that used in its last connection with
the data sender. Otherwise, if the last connection to the data sender
had terminated abnormally and the new connection used the same
connection ID, the data sender might determine that the last
connection was still active and interpret the Open-Req as a
retransmission of the Open-Req for the last connection. The data
sender might respond to the Open-Req by sending an Open-Rsp or ignore
the Open-Req, but would not open a new connection.
If a data receiver's implementation of AURP-Tr cannot guarantee the
use of different connection IDs on successive connections with a
given data sender, the data receiver must send an RI-Req immediately
after it establishes a connection with a data sender. If the data
sender already has a connection with the data receiver, it will send
an RI-Rsp with a sequence number other than 1. The data receiver
should then terminate that connection and open a new connection using
a different connection ID.
Using Retransmission Timers Under AURP-Tr
When an AppleTalk tunnel exists through a foreign network's internet,
the delay and loss characteristics of the tunnel's underlying foreign
network system complicate the setting of retransmission timers. A
physical connection can be built between two exterior routers using
different media-for example, a single Ethernet LAN, a fast point-to-
point link, an IP internet, or a slow link over an asynchronous
modem. It is important to minimize performance degradation due to
packets being dropped or delayed by the underlying foreign network
system
the inefficient use of the underlying foreign network system's
resources due to excessive retransmissions
Most higher-level transport-layer services provide guaranteed packet
delivery. It is not necessary to retransmit AURP packets when using
such transport-layer services. When using AURP-Tr, an exterior router
should employ an adaptive retransmission algorithm whenever possible.
An adaptive retransmission strategy like that used in TCP
maintains the estimated times required to send a packet and receive
an acknowledgment-that is, average round-trip times
maintains standard deviations from the average round-trip times
derives retransmission timers from the average round-trip times
While AURP does not specify an adaptive retransmission algorithm,
the use of such an algorithm is recommended.
NOTE: Often, long intervals exist between AURP packets sent
successively on a connection by an exterior router-for example,
between RI-Upd packets. Therefore, an adaptive retransmission
algorithm used with AURP should give more weight to packets sent
recently over a connection than would be appropriate for a general
data-stream protocol like TCP.
When an exterior router initially opens a connection, no transaction
history is available. It is recommended that the retransmission
algorithm use a truncated, exponential backoff scheme for the initial
Open-Req sequence, because the exterior router with which the data
receiver is establishing a connection may be inaccessible or down. An
exterior router should not retransmit an Open-Req at a rate faster
than once every two seconds.
Hiding Local Networks From Remote Networks
As described in the section "Hiding Local Networks From Tunnels" in
Chapter 2, a network administrator can configure an exterior router
to hide specific networks in its local internet from networks
connected to other exterior routers on the tunnel. When exchanging
routing information with other exterior routers on the tunnel, the
exterior router exports no routing information for hidden networks in
its local internet to exterior routers from which those networks are
hidden.
An exterior router using AURP does not include routing information
for hidden networks in RI-Rsp, RI-Upd, or GZN-Rsp packets sent to
exterior routers from which those networks are hidden. The exterior
router also excludes from GDZL-Rsp packets any zones that appear only
in the zone lists of hidden networks.
To maintain network-level security, an exterior router should discard
any AppleTalk data packet sent to a network in its local internet by
an exterior router from which that network is hidden.
NOTE: An exterior router hides a network by excluding the routing
information for that network from RI-Rsp, RI-Upd, GZN-Rsp, and GDZL-
Rsp packets. However, network management packets-such as RTMP Route
Data Response (RDR) packets that are not split horizoned, and Simple
Network Management Protocol (SNMP) packets-should include the routing
information for hidden networks. For detailed information about the
effects of AURP on network management, see the section "Network
Management" in Chapter 4.
AURP Packet Format
An exterior router encapsulates both AURP packets and AppleTalk data
packets using the same headers. Before forwarding AURP packets across
a tunnel, an exterior router encapsulates the AURP packets in packets
of the tunnel's underlying foreign network system-by adding the
headers required by that network system. For more information about
these headers, see the sections "Forwarding Data," "AppleTalk Data-
Packet Format," and "AppleTalk Data-Packet Format for IP Tunneling"
in Chapter 2.
When using AURP-Tr in conjunction with TCP/IP, an exterior router
encapsulates AURP packets in UDP packets prior to forwarding them
across an IP tunnel through UDP port 387. When another exterior
router on the tunnel receives the UDP packets at UDP port 387, it