This document describes the Nx Networks implementation of the AppleTalk" protocol. It includes the following sections:
AppleTalk Overview
The AppleTalk Protocol Stack
Features Supported
Configuration Procedures
AppleTalk Commands
AppleTalk Overview
At the basic level of the AppleTalk network, connected devices are known as nodes. Nodes can be personal computers, file servers, print servers, and routers. At the next level are networks. A network is a group of nodes connected to a single logical cable. Groups of networks connected by routers or bridges comprise an internet. User-defined groups of nodes from one or more networks within an internet are zones.
The Nx Networks implementation of AppleTalk supports Ethernet, Token Ring, and FDDI LAN connections and PPP, Frame Relay, and ISDN WAN connections. Figure 5 shows a sample of an AppleTalk internet.
Figure 5 Sample AppleTalk Internet
AppleTalk Addressing
AppleTalk nodes use a 24-bit internet address. A 16-bit network number and an 8-bit node number (node ID). The node ID is an 8-bit number that, when combined with the AppleTalk network number of a node, uniquely identifies each node on a network. Values 0, 254, and 255 are invalid.
Network Range
You can assign more than one network number to an AppleTalk network by assigning a network range. The network range is set of consecutive network numbers. Each network within the AppleTalk internet is assigned a unique, non-overlapping network range. This allows you to have more than 253 devices on one network. Each network can have (253 x network range) nodes.
Dynamic Addressing
AppleTalk uses dynamic addressing. With this process, AppleTalk hosts on the network negotiate a device's node number. A node first tries the node number that was its most recent address. If that value is not available, the node then searches for the next available address. If it reaches 254 without finding an available node number, it tries the next network number in the range.
Seed Routers
With dynamic addressing, you do not need to specify all fields of an AppleTalk address to configure a router. If a preconfigured AppleTalk router, known as seed router, is on the network, it supplies network numbers for new routers. The seed router sends out the address information to all other routers on its connected network. The seed router must come up first and verify the configuration of the other routers. If the configuration is valid, the other routers start functioning. Routers that are not seed routers must first communicate with a seed router before they can function.
As long as one seed router exists on each the network, you do not need to configure the other interfaces and routers connected to that cable because they obtain their routing information from the seed. There are usually several seed routers on a network in case one of them fails. Also, a router can be a seed router for some or all of its network interfaces.
Nonseed Routers
A nonseed router cannot begin routing until the router determines its network number. If you set the network number to zero, the interface does not send any packets until it receives a valid network number. Upon receiving a Routing Table Maintenance Protocol (RTMP) update, the router is informed of the network number for the interface receiving the packet with the update. Every table update contains the network number of the network on which the packet was sent. Through this exchange, the router determines the network number of the receiving interface.
The AppleTalk Protocol Stack
Figure 6 shows the AppleTalk
protocols that this implementation supports along with the corresponding Open
Systems Interconnection (OSI) protocol layers.
Figure 6 AppleTalk Protocol Stack and
Corresponding OSI Protocol Layer
These protocols are described in the next sections.
TLAP and ELAP
This implementation supports TLAP and ELAP at the data link layer to transmit AppleTalk packets on Token Ring and Ethernet networks. LocalTalk Link Access Protocol (LLAP) is not supported.
AARP
Each node on the network must have a unique hardware address, for example, a 48-bit Ethernet node address.
Ethernet node addresses are derived from the hardware address or from a user-defined initial address. When an Ethernet AppleTalk node dynamically assigns a node address, the AARP probe confirms that the address is unique. If the address is not unique, it selects a new address. AARP maintains a set of AppleTalk protocol-to-hardware address mappings for the AppleTalk protocol. AARP stores and updates these address mappings in an address mapping table.
DDP
This network layer protocol is responsible for forwarding AppleTalk packets from a source node to a destination node.
RTMP
RTMP specifies how AppleTalk maintains the routing table for the entire internet.
Every 10 seconds RTMP transmits packets with good and suspect entries to routing tables in connected routers. The routers receive these packets and update the corresponding entries to good or suspect. Every 20 seconds RTMP also updates the age of each entry in the routing table. Entries with a state of good become suspect and entries with a state of suspect become bad. After an entry has been bad for 20 seconds, RTMP deletes the entry.
RTMP updates and maintains routing table hop counts, and it deletes all entries with a hop count of 16 or greater.
Hosts can send RTMP request packets to a router on an internet to learn the local network number. The router responds with an RTMP response packet.
NBP
AppleTalk uses entity names to specify the function, attributes, and location of an entity in a network. The Name Binding Protocol maps these human- readable names to machine-readable addresses.
An entity name is an 8-bit ASCII character string that has three fields: object, type, and zone. Each of these fields is a string of not more than 32 characters.
Object is the type of service offered by the entity, such as printing, file sharing, or mail service.
Type specifies the attributes of the entity, such as a laser printer.
Zone identifies the location of the entity.
ZIP
ZIP allows routers to learn zone names. It keeps a list of zone names and associated network numbers in the Zone Information Table (ZIT).
ZIP requires routers to transmit ZIP queries every ten seconds for each network in the routing table that does not have a zone name. If the receiving router knows the zone name and network number mapping, it responds with a ZIP Reply packet. Using this query-reply method, eventually all the routers will have identical information in their ZITs. Hosts obtain ZIT data by sending and receiving ATP packets to and from the router.
Features Supported
This section describes the following features supported in this implementation of AppleTalk:
Zone name filtering restricts access to zones by filtering the zones that are visible to clients. This feature enhances security, and, since users are presented with a limited number of zones from which to choose, it increases usability.
While zone name filtering lets you partially filter a network, network number filtering lets you completely filter a network. This further increases security and makes administrating the internet easier.
See Setting Up Zone Filters and Setting Up Network Filters for information on how to configure zone and network number filters.
Split-horizon Routing
The RTMP broadcasts routing
information every 10 seconds. In large internetworks where many routers are connected
to a backbone, RTMP packets can take up a significant portion of available bandwidth.
Split-horizon routing, which is enabled as a default on the router, reduces the
size of RTMP packets. To do so, it does not send routing information out of the
same port in which it was received. It removes these entries from the RTMP packet.
However, in a partially-meshed Frame Relay network, as shown in Figure 7, the routers at the branches cannot communicate with each other unless the router at headquarters broadcasts all routing information to all other routers. In this case, you need to disable split-horizon on the Frame Relay interface at headquarters. You should leave split-horizon enabled at each of the branches to keep them from generating unnecessary traffic.
Figure 7 Partially-Meshed Frame Relay Network
In partially-meshed Frame Relay networks, you should configure addresses for the AppleTalk interfaces. This prevents the AppleTalk protocol from attempting to dynamically learn addresses, which can fail on partially-meshed Frame Relay networks.
Half Routers
When you connect an interface to a serial line, you can set up the interface as a half router. In half-router mode, the serial line connection is invisible to other routers, but it still transmits AppleTalk routing information and data packets. If you have a half router at one end of a serial line, you must configure the router interface at the other end of the serial line as a half router. This feature makes the router interoperable with other vendor's half routers.
Figure 8 Sample Half Router Configuration
To set up a router interface as a half router, set the network number and node number to zero (0), which are the default settings. Do not assign a zone name to the interface.
Configuration Procedures
This section describes how to configure AP2. The tasks you need to perform are
To access the AP2 configuration prompt enter protocol ap2 at the Config> prompt.
Config>protocol ap2
AP2 protocol user configuration
AP2 config>
AP2 config>enable ap2
AP2 config>enable interface 1
Note: Do not set a network range or a node number for half routers. See Half Routers for more information.
AP2 config>set net-range
Interface # [0]? 1
First Network range number (1-65279, or 0 to delete) []? 1
Last Network range number (1-165279) []? 5
Enter the same first and last values for a single numbered network.
AP2 config>set node-number
Interface # [0]? 1
Node number (decimal) []? 23
AP2 config>add zone
Interface # [0]? 1
Zone name []? Finance
AP2 config> prompt.
Setting Up Zone Filters
Zone filtering lets you filter zones in each direction on each interface. To filter incoming packets, set up an input filter. To filter outgoing packets, set up an output filter. The interface does not re-advertise filtered zone information in the direction that you define. To set up a zone filter:
To add an input zone filter, use the add zfilter in command.
To add an output zone filter, use the add zfilter out command.
The software prompts you for the interface number and the name of the zone that you want to filter.
AP2 config>add zfilter in
Interface # [0]? 1
Zone name []? Admin
To enable an input zone filter, enter enable zfilter in.
To enable an output zone filter, enter enable zfilter out.
The software prompts you for the interface number and for whether or not the filter is inclusive or exclusive. Inclusive filters forward only the zone information in a filter. Exclusive filters block only the zone information in a filter.
AP2 config>enable zfilter in
Interface # [0]? 1
INCLUSIVE/EXCLUSIVE [INCLUSIVE]? exc
Figure 9 Sample AppleTalk Internet
Example 1
This example explains how to filter the Manufacturing zone from all other networks. To do so, you would set up an input filter on Interface 1 of Router A to exclude the Manufacturing zone.
AP2 config>add zfilter in
Interface # [0]? 1
Zone name []? Manufacturing
AP2 config>enable zfilter in
Interface # [0]? 1
INCLUSIVE/EXCLUSIVE [INCLUSIVE]? exc
Example 2
This example shows how to filter the Manufacturing zone from Network 11-15, but still allow the Manufacturing zone to be visible on Network 1-5. To do so, you would set up an output filter on Interface 3 of Router A to exclude Manufacturing zone information from being forwarded out of Interface 3. The interface will continue to advertise Manufacturing zone information over interfaces 0 and 1 on Router A, making it visible on Network 1-5.
AP2 config>add zfilter out
Interface # [0]? 3
Zone name []? Manufacturing
AP2 config>enable zfilter out
Interface # [0]? 3
INCLUSIVE/EXCLUSIVE [INCLUSIVE]? exc
Example 3
This example shows how to set up a filter so that the Admin zone is visible on all networks, but the Finance zone is not visible to the rest of the internet.
AP2 config>add zfilter in
Interface # [0]? 0
Zone name []? Admin
AP2 config>enable zfilter in
Interface # [0]? 0
INCLUSIVE/EXCLUSIVE [INCLUSIVE]? inc
Setting Up Network Filters
Network filters are similar to zone filters, except they let you filter an entire network. To set up a network filter, follow these steps:
AP2 config>add nfilter out
Interface # [0]? 0
First Network range number (decimal)[0]? 11
Last Network range number (decimal) [0]? 15
The network range you enter here must match the range that you assigned to that network.
AP2 config>enable nfilter in
Interface # [0]? 0
INCLUSIVE/EXCLUSIVE [INCLUSIVE]? exc
Figure 10 Sample AppleTalk Internet
AP2 config>add nfilter out
Interface # [0]? 2
First Network range number (decimal) [0]? 6
Last Network range number (decimal) [0]? 10
AP2 config>enable nfilter out
Interface # [0]? 0
INCLUSIVE/EXCLUSIVE [INCLUSIVE]? exc
Enabling Checksumming
As the default, the router does not compute DDP checksums of packets it originates. To enable checksumming, use the enable checksum command.
AppleTalk Commands
Table 10 summarizes and
the next sections explain the AppleTalk commands.
Press Space twice after you type a command to display the available options for each command.
[C] means the command is available at the AP2 config> prompt.
[M] means the command is available at the AP2> prompt. To display the AP2> prompt, enter protocol ap2 at the Monitor> prompt.
| Command | Function |
|---|---|
| Add [C] | Adds zone names, network filters, and zone filters to an interface. |
| Cache [M] | Displays the cache table entries. |
| Clear-Counters [M] | Clears all cache usage counters and packet overflow counters. |
| Counters [M] | Displays the overflow count of AppleTalk packets for each interface. |
| Delete [C] | Deletes the zone names, interfaces, network filters, and zone filters. |
| Disable [C] | Disables interfaces, checksumming, split-horizon routing, network filters, zone filters, or globally disables AP2. |
| Dump [M] | Displays the current state of the routing table for all networks in the internet and their associated zone names. |
| Enable [C] | Enables interfaces, checksumming, split-horizon routing, network filters, zone filters, or globally enables AppleTalk. |
| Exit [C] [M] | Returns to the previous prompt. |
| Interface [M] | Displays the current addresses of the interfaces. |
| List [C] | Displays the current AppleTalk configuration. |
| Set [C] | Sets the cache size, network range, and node number. |
Add [C]
Adds a zone name to an interface, adds a zone name as the default for the interface, or adds network and zone filters.
Interface # [0]? 0
Zone name []? Finance
If you add more than one default to an interface, the last one added overrides the previous default. If you do not add a default, the first zone name added using the zone command is the default.
Interface # [0]? 0
Zone name []? Headquarters
Interface # [0]? 0
First Network range number (decimal) [0]? 1
Last Network range number (decimal) [0]? 10
Interface # [0]? 0
First Network range number (decimal) [0]? 11
Last Network range number (decimal) [0]? 20
Interface # [0]? 1
Zone name []? Marketing
Interface # [0]? 0
Zone name []? Corporate
cache
Destination Net Number Usage Next Hop
122/2 2 1 127/5
138/5 1 0 127/5
23/7 1 1 Direct
Clear-Counters [M]
Clears all cache usage counters and packet overflow counters that you display using the cache command and counters command.
clear-counters
Counters [M]
Displays the number of packet overflows on each network interface that sends and receives AppleTalk packets. Counters also displays the number of times the AppleTalk forwarder input queue was full when the interface received packets.
counters
APL2 Input Packet Overflows
Net Count
FR/0 0
Eth/1 4
PPP/2 22
TKR/3 0
Interface # [0]? 2
Zone name []? corporate
Interface # [0]? 0
First Network range number (decimal) [0]? 1
Last Network range number (decimal) [0]? 12
Interface # [0]? 0
First Network range number (decimal) [0]? 11
Last Network range number (decimal) [0]? 20
Interface # [0]? 1
Zone name []? Marketing
Interface # [0]? 1
Zone name []? Marketing
Disable [C]
Disables AP2 on all interfaces or on a specified interface, disables checksumming, filtering, or split horizon routing.
checksum
Specifies that the router does not compute the checksum in packets it generates.
interface
Disables AppleTalk on the specified interface.
Interface # [0]? 2
Interface # [0]? 2
Interface # [0]? 2
Interface # [0]? 1
Interface # [0]? 1
Example: disable split-horizon-routing
Interface # [0]? 1
dump
Dest Net Cost Stat Next hop Source Zone
10-19 0 Dir 0/0 "Ethertalk", "Sales"
40-49 1 Good 10/13 "Marketing",
"CustomrSer","TokenTalk"
20-29 2 Sspct 10/13 "Fuchsia", "Backbone",
"Engineering","MKTING"
View for interface 0
Dest net Cost State Next hop Zone
214-214 1 Good 152/152 "fddi-214"
153-153 0 Dir "eth153"
152-152 0 Dir "ser152"
3 entries
Enable [C]
Globally enables AP2 on the router or on a specified interface, enables checksumming, network or zone filters, and split-horizon routing.
checksum
Causes the router to checksum all AP2 packets it forwards.
interface
Enables the router to send AppleTalk Phase 2 packets over specific interfaces.
Interface # [0]? 1
Interface # [0]? 1
INCLUSIVE/EXCLUSIVE [INCLUSIVE]? inc
Interface # [0]? 1
INCLUSIVE/EXCLUSIVE [INCLUSIVE]? exc
Interface # [0]? 0
INCLUSIVE/EXCLUSIVE [INCLUSIVE]? inc
Interface # [0]? 0
INCLUSIVE/EXCLUSIVE [INCLUSIVE]? inc
Example: enable split-horizon-routing
Interface # [0]? 1
exit
Interface [M]
Displays the addresses of all interfaces in the router on which AP2 is enabled. If the interface is disabled, this command shows that status.
interface
Interface Addresses
PPP/0 0/1 on net 1000-1000 default zone "SerialLine"
Eth/0 10/52 on net 10-19 default zone "Sales"
SL/1 0/0 in startup range
TKR/0 0/0 on net 20-29 default zone "Backbone"
Eth/0 1/30 on net 1-5 default zone "marketing"
Input Net filters inclusive 1-5
Output Zone filters inclusive "finance"
Output Net filters exclusive 1-5
list
APL2 globally enabled
Checksumming disabled
Cache size 500
List of configured interfaces:
Interface netrange/ node Zone
0 1000-1000/ 1 "SerialLine" (Def)
Input ZFilters disabled
Input NFilters (inclusive)
Output ZFilters disabled
Output NFilters disabled
Split-horizon-routing enabled
1 10-19/ 52 "EtherTalk","Sales"(Def)
Input ZFilters disabled
Input NFilters (inclusive)
Output ZFilters disabled
Output NFilters disabled
Split-horizon-routing enabled
2 unseeded net/ 0
Input ZFilters disabled
Input NFilters (inclusive)
Output ZFilters disabled
Output NFilters disabled
Split-horizon-routing disabled
Set [C]
Defines the cache-size of fastpath, the network range of seed routers, and the node number.
You can set cache size from 100 to 10,000. You need to change this default only for very large networks. Although not recommended, setting the cache-size to zero disables the fastpath feature and no memory is used for the cache. Each cache-size entry uses 36 bytes of memory.
number of cache entries (100-10000), or 0 to disable [500]? 700
Enter the same first and last values for a single numbered network. To delete the network range for the interface and turn the seeded router into an unseeded router, enter zero for the first and last numbers.
Interface # [0]? 1
First Network range number(1-65279, or 0 to delete)[0]? 1
Last Network range number (1-65279) [0]? 15
Interface # [0]? 2
Node number (1-253, or 0 to delete) []? 45