AppleTalk Tunnels allow AppleTalk packets to pass over foreign transports (most often TCP/IP or a point-to-point link) by encapsulating the data.
AppleTalk Tunnels are introduced to a network when AppleTalk routing is not desired on segments of the network, or when no transport for AppleTalk exists for the data link (i.e. when a bridge or router does not support AppleTalk). The key factor in the success of an AppleTalk Tunnelling protocol is the optimisation of RTMP traffic across a potentially slow or busy network.
The first AppleTalk Tunnelling protocol was developed at Stanford University and is commonly known by the name "atalkd". This implementation requires the participation of a UNIX host and static routing tables must be maintained by hand. A stand-alone, dynamic tunnelling protocol was developed by Cayman in 1989 and is generally known as "Cayman Tunnels".
Cayman Tunnels are designed as an AppleTalk half-bridge through TCP/IP. While Cayman Tunnels are easy to implement, the protocol does not support RTMP traffic reduction or optimisation.
The majority of AppleTalk Tunnels in use today run the Cayman Tunnels protocol. Besides Cayman's own GatorBox products, Farallon's StarRouter and InterRoute/5 also implement Cayman Tunnels.
Apple released a specification for the AppleTalk Update Routing Protocol (AURP) which was designed to solve many AppleTalk routing problems, of which tunnelling was only one.
A group of AppleTalk routing vendors proposed an alternative standard, Dr. Pepper, which focused on AppleTalk tunnelling. This group is now incorporated as the AppleTalk Networking Forum (ANF), whose objective is to define standards for future AppleTalk-based protocols.
RTMP vs. AURP vs. Dr. Pepper
As WAN links are normally much slower than the LANs they are connecting together, it is very important to keep traffic as low as possible. In order to achieve this two alternatives to RTMP in AppleTalk have been developed.
What does RTMP (Router Table Management Protocol) do? RTMP defines the rules for information exchange between AppleTalk routers so they can maintain their routing tables. These routing tables are used to define which packets go to which routers in order to allow two devices on different AppleTalk networks to communicate. With RTMP a status packet is sent from a router to every other router every ten seconds. If you have a lot of routers on your networks this can soon add up to a considerable amount of traffic in its own right. The other problem besides sheer weight of traffic, is that some WAN links charge based on the amount of traffic transferred (e.g. X.25). You therefore don't want to have traffic which costs you money and which does not give you any benefits.
Because of these problems, two alternative schemes have been developed, these being AURP (AppleTalk Update based Routing Protocol), and Dr. Pepper.
In Dr. Pepper, RTMP traffic is reduced by sending packets at a larger interval than the protocol standard 10 seconds. This interval is set through negotiation between the two tunnel ends.
In the tunnelling portion of the AURP specification, RTMP traffic is not reduced but replaced by AURP. RTMP is used as the routing protocol for local networks while AURP is used for wide-area or tunnel connected networks. AURP is designed to reduce traffic by only sending change information, and deleting the need for the transmission of data at fixed intervals. AURP also addresses other factors, such as auto renumbering of networks to avoid conflicts, and hop count reduction (AppleTalk only allows packets to travel a certain number of hops; AURP can get round this by resetting a packet's hop count back to zero).