Router Products Configuration Guide
Configuring AppleTalk

Table Of Contents

Configuring AppleTalk

Cisco's Implementation of AppleTalk

Standard AppleTalk Services

Enhancements to Standard AppleTalk

AppleTalk Phase 1 and Phase 2

AppleTalk Addresses

Configuration Guidelines and Compatibility Rules

AppleTalk Configuration Task List

Enable AppleTalk Routing

Enable AppleTalk Routing on the Router

Enable Concurrent Routing and Bridging

Manually Configure an Interface

Dynamically Configure an Interface

Dynamically Configure a Nonextended Interface

Dynamically Configure an Extended Interface

Configure Transition Mode

Create an AppleTalk Routing Process

Control Access to AppleTalk Networks

Create Access Lists

Create Filters

Create Data Packet Filters

Create Routing Table Update Filters

Create GetZoneList (GZL) Filters

Enable ZIP Reply Filters

Enable Partial Zone Filters

Configure the Name Display Facility

Set Up Special Configurations

Configure AURP

Configure Free-Trade Zones

Configure SNMP in AppleTalk Networks

Configure AppleTalk Tunneling

Configure AppleTalk MacIP

Configure IPTalk

Configure IP Encapsulation of AppleTalk Packets

Specify the UDP Port Ranges

Configure SMRP over AppleTalk

Configure AppleTalk Control Protocol for PPP

Tune AppleTalk Network Performance

Control Routing Updates

Disable the Processing of Routed RTMP Packets

Enable RTMP Stub Mode

Disable the Transmission of Routing Updates

Prevent the Advertisement of Routes to Networks with No Associated Zones

Set Routing Table Update Timers

Assign Proxy Network Numbers

Disable Checksum Generation and Verification

Control the AppleTalk ARP Table

Control the Delay between ZIP Queries

Log Significant Network Events

Disable Fast Switching

Configure AppleTalk Enhanced IGRP

Cisco's Enhanced IGRP Implementation

Enhanced IGRP Configuration Task List

Enable AppleTalk Enhanced IGRP

Disable Redistribution of Routing Information

Adjust the Interval between Hello Packets and the Hold Time

Disable Split Horizon

Adjust the Active State Time for Enhanced IGRP Routes

Log Enhanced IGRP Neighbor Adjacency Changes

Configure the Percentage of Link Bandwidth Used by Enhanced IGRP

Configure AppleTalk Interenterprise Routing

Enable AppleTalk Interenterprise Routing

Remap Network Numbers

Control Hop Count

Configure AppleTalk over WANs

Monitor and Maintain the AppleTalk Network

Monitor and Maintain the AppleTalk Network Using Router Commands

Monitor the AppleTalk Network Using Network Monitoring Packages

AppleTalk Configuration Examples

Configuring an Extended AppleTalk Network Example

Configuring a Nonextended AppleTalk Network Example

Configuring a Nonextended Network in Discovery Mode Example

Transition Mode Example

AppleTalk Access List Examples

Defining an Access List to Filter Data Packets

Defining an Access List to Filter Incoming Routing Table Updates

Comparison of Alternative Segmentation Solutions

Defining an Access List to Filter NBP Packets

Configuring Partial Zone Advertisement

GZL and ZIP Reply Filter Examples

Hiding and Sharing Resources with Access List Examples

Establishing a Free-Trade Zone Example

Restricting Resource Availability

Implicit Configuration of the Admin and Test-Lab Zones

MacIP Examples

SNMP Example

Proxy Network Number Example

AppleTalk Enhanced IGRP Example

AppleTalk Enhanced IGRP Bandwidth Configuration Example

AppleTalk Interenterprise Routing Example

AppleTalk Interenterprise Routing over AURP Example

Configure AppleTalk Control Protocol Example

AppleTalk over DDR Example

IPTalk Example


Configuring AppleTalk


AppleTalk is a local-area network (LAN) system that was designed and developed by Apple Computer, Inc. It can run over Ethernet, Token Ring, and Fiber Data Distributed Interface (FDDI) networks and over Apple's proprietary twisted-pair media access system (LocalTalk). AppleTalk specifies a protocol stack comprising several protocols that direct the flow of traffic over the network.

Apple Computer uses the name AppleTalk to refer to the Apple network protocol architecture. Apple Computer refers to the actual transmission media used in an AppleTalk network as LocalTalk, TokenTalk (AppleTalk over Token Ring), EtherTalk (AppleTalk over Ethernet), and FDDITalk (AppleTalk over FDDI).

This chapter describes how to configure AppleTalk and provides configuration examples. For a complete description of the commands mentioned in this chapter, refer to the "AppleTalk Commands" chapter in the Router Products Command Reference publication.

Cisco's Implementation of AppleTalk

Cisco routers support AppleTalk Phase 1 and AppleTalk Phase 2. For AppleTalk Phase 2, Cisco routers support both extended and nonextended networks. Cisco's implementation of AppleTalk can route packets over Ethernet, Token Ring, and FDDI LANs, and over X.25, High-Level Data Link Control (HDLC), Frame Relay, and Switched Multimegabit Data Service (SMDS) wide-area networks (WANs).


Note   One or more of the commands that previously appeared this chapter have been replaced by new commands. See the Router Products Command Reference publication for command information. The old commands continue to perform their normal function in the current release, but support for them will cease in future releases.


Cisco routers also support AppleTalk Enhanced IGRP. AppleTalk Enhanced IGRP provides the following features:

Automatic redistribution. By default, AppleTalk RTMP routes are automatically redistributed into Enhanced IGRP, and AppleTalk Enhanced IGRP routes are automatically redistributed into RTMP. If desired, you can turn off redistribution. You can also completely turn off AppleTalk Enhanced IGRP and AppleTalk RTMP on the router or on individual interfaces.

Configuration of routing protocols on individual interfaces.You can configure interfaces that have been configured for AppleTalk to use either RTMP, Enhanced IGRP, or both routing protocols. If two neighboring routers are configured to used both RTMP and Enhanced IGRP, the Enhanced IGRP routing information will supersede the RTMP information. However, both routers will continue to send RTMP routing updates. This feature allows you to control the excessive bandwidth usage of RTMP on WAN links. Because a WAN link is a point-to-point link, there are no other devices on the link, and hence, there is no need to run RTMP to perform end-node router discovery. Using Enhanced IGRP on WAN links allows you to save bandwidth and, in the case of PSDNs, traffic charges.

Standard AppleTalk Services

The Cisco implementation of AppleTalk supports the following standard AppleTalk protocols:

AppleTalk Address Resolution Protocol (AppleTalk ARP)

Datagram Delivery Protocol (DDP)

Routing Table Maintenance Protocol (RTMP)

Name Binding Protocol (NBP)

Zone Information Protocol (ZIP)

AppleTalk Echo Protocol (AEP)

AppleTalk Transaction Protocol (ATP)

AARP, DDP, and RTMP provide end-to-end connectivity between internetworked nodes. AARP maps AppleTalk node addresses to the addresses of the underlying data link, thus making it possible for AppleTalk to run on several data links. DDP provides socket-to-socket delivery of packets. RTMP establishes and maintains routing tables.

NBP and ZIP maintain node name and zone information. NBP maps network names to AppleTalk addresses. ZIP tracks which networks are in which zones.

AEP is an echo, or ping-type, protocol. It generates packets that test the reachability of network nodes.

ATP is a reliable transport protocol that provides data acknowledgment and retransmission for transaction-based applications, such as file services provided by the AppleTalk Filing Protocol (AFP) and print services provided by the Printer Access Protocol (PAP).

Our software provides support for the AppleTalk MIB variables as described in RFC 1243. We provide support for the following AppleTalk protocols: AppleTalk Resolution Protocol (ARP), AppleTalk Port Group, AppleTalk Datagram Delivery Protocol (DDP), AppleTalk Routing Table Maintenance Protocol (RTMP), AppleTalk Zone Information Protocol (ZIP), AppleTalk Name Binding Protocol (NBP), and AppleTalk Echo Group.

Enhancements to Standard AppleTalk

The Cisco AppleTalk implementation includes the following enhancements to standard AppleTalk:

Support for EtherTalk 1.2 and EtherTalk 2.0 without the need for translation or transition routers.

Support for WAN protocols, including SMDS, Frame Relay, X.25, and HDLC.

Configurable protocol constants (examples include controlling the aging of entries in the routing table and controlling the AARP interval and number of retransmissions).

No software limits on the number of zones or routes.

MacTCP support via a MacIP server.

Support of IPTalk, which provides Internet Protocol (IP) encapsulation of AppleTalk, IPTalk, and the Columbia AppleTalk Package (CAP).

Access control for filtering network traffic by network number, by NBP entity names, filtering routing table updates, and filtering GetZoneList (GZL) responses.

Integrated node name support to simplify AppleTalk network management.

Interactive access to AEP and NBP provided by the ping command.

Configured (seed) and discovered interface configuration.

Support for the AppleTalk Responder, which is used by network monitoring packages such as InterĀ·Poll.

SNMP over AppleTalk.

Encapsulation (tunneling) of AppleTalk RTMP packets over an IP backbone.

Support for AppleTalk static routes.

SMRP over AppleTalk

AppleTalk, like many network protocols, makes no provisions for network security. The design of the AppleTalk protocol architecture requires that security measures be implemented at higher application levels. Cisco supports AppleTalk distribution lists, allowing control of routing updates on a per-interface basis. This security feature is similar to those that Cisco provides for other protocols.

Note that Cisco's implementation of AppleTalk does not forward packets with local source and destination network addresses. This behavior does not conform with the definition of AppleTalk in Apple Computer's Inside AppleTalk publication. However, this behavior is designed to prevent any possible corruption of the AARP table in any AppleTalk node that is performing MAC-address gleaning.

A Cisco router may receive equivalent routes advertised by neighboring routers with one router giving an AppleTalk Phase 1 form of the route, for example, 101, and another giving an AppleTalk Phase 2 form of the route, for example, 101-101. When neighboring routers advertise equivalent overlapping routes to a router, the router always uses the AppleTalk Phase 2 form of the route and discards the AppleTalk Phase 1 route.

AppleTalk Phase 1 and Phase 2

There are two versions, or phases, of AppleTalk. AppleTalk Phase 1 and AppleTalk Phase 2 are implementations of the AppleTalk protocol stack, especially the routing portions of the stack.

AppleTalk Phase 1, the earlier version, supports a single physical network that can have one network number and be in one zone. This network can have up to 254 devices, which can consist of 127 end nodes and 127 servers. AppleTalk Phase 2, the more recent version, supports multiple logical networks on a single physical network. This means that one cable segment can have multiple network numbers. Each logical network in Phase 2 can support up to 253 devices, with no restrictions on the type of devices. Also, in AppleTalk Phase 2 a network can be in more than one zone.

AppleTalk Phase 2 introduced the concepts of extended and nonextended networks. These terms refer to the media-level encapsulation and cable addressing used on a network segment attached to a router interface. While the concepts of extended and nonextended networks do not exist in AppleTalk Phase 1, Phase 1 can be thought of as a nonextended network.

compares the capabilities of AppleTalk Phase 1 and Phase 2.

Table 15-1 AppleTalk Phase 1 and Phase 2

Capability
AppleTalk Phase 1
AppleTalk Phase 2
Networks, nodes, and zones
   

Number of logical networks (cable segments)

1

Unlimited

Maximum number of devices

2541

2532

Maximum number of end nodes

127

Does not apply3

Maximum number of servers

127

Does not apply

Number of zones in which a network can be

14

1 (nonextended)
255 (extended)

Media-level encapsulation
   

Nonextended network

Does not apply

Yes

Extended network

Does not apply

Yes

Cable addressing

Does not apply; uses network numbers

Single network number (nonextended)

Cable range of 1 or more (extended)

1 The node addresses 0 and 255 are reserved.

2 The node addresses 0, 254, and 255 are reserved.

3 There is no restriction on the types of devices. There can be a total of 253 end nodes and servers.

4 In terms of zones, an AppleTalk Phase 1 network can be thought of as a nonextended AppleTalk Phase 2 network.


Routers running Software Releases 8.2 and later support AppleTalk Phase 1 and Phase 2.

AppleTalk Addresses

An AppleTalk address consists of a network number and a node number expressed in decimal in the format network.node.

The network number identifies a network, or cable segment. A network is a single logical cable. Although the logical cable is frequently a single physical cable, bridges can be used to interconnect several physical cables. The network number is a 16-bit decimal number that must be unique throughout the entire AppleTalk internetwork. In AppleTalk Phase 1, networks are identified by a single network number that corresponds to a physical network. In AppleTalk Phase 2, networks are identified by a cable range that corresponds to one or more logical networks. In Phase 2, a single cable can have multiple network numbers. A cable range is either one network number or a contiguous sequence of several network numbers in the format start-end. For example, the cable range 4096-4096 identifies a logical network that has a single network number, and the cable range 10-12 identifies a logical network that spans three network numbers. In both AppleTalk Phase 1 and Phase 2, the network number 0 is reserved.

The node number identifies the node, which is any device connected to the AppleTalk network. The node number is an 8-bit decimal number that must be unique on that network. In AppleTalk Phase 1, node numbers 1 through 127 are for user nodes, node numbers 128 through 254 are for servers, and node numbers 0 and 255 are reserved. In AppleTalk Phase 2, you can use node numbers 1 through 253 for any nodes attached to the network. Node numbers 0, 254, and 255 are reserved.

The following is an example of an AppleTalk network address:

3.45

In this example, the network number is 3 and the node number is 45. You enter both numbers in decimal. Our software also displays them in decimal.

A zone is a logical group of networks. The networks in a zone can be contiguous or noncontiguous. A zone is identified by a zone name, which can be up to 32 characters long and can include standard characters as well as AppleTalk special characters. To include a special character, type a colon followed by two hexadecimal characters that represent the special character in the Macintosh character set. In AppleTalk Phase 2, an extended network can have up to 255 zones, and a nonextended network can have only one zone. An AppleTalk Phase 1 network can have only one zone.

Configuration Guidelines and Compatibility Rules

AppleTalk Phase 1 and AppleTalk Phase 2 networks are incompatible and cannot run simultaneously on the same internetwork. As a result, all routers in an internetwork must support AppleTalk Phase 2 before the network can use Phase 2 routing. If your internetwork has a combination of AppleTalk Phase 1 and Phase 2 routers, you must observe the compatibility rules described in this section. Note, however, that you do not need to upgrade all end nodes in order to use the features provided by our AppleTalk enhancements.

Follow these guidelines when configuring an extended AppleTalk network on our router if any router in your AppleTalk internetwork supports only nonextended AppleTalk (that is, if any routers are Phase 1 routers). If you do not follow these guidelines, unpredictable behavior might result.

The cable range must be one (for example, 23-23).

Each AppleTalk network can be a member of only one zone.

When using Cisco routers with other vendors' implementations of AppleTalk, follow these guidelines:

In order for a Macintosh with an Ethernet card to support extended AppleTalk, the Macintosh must be running EtherTalk Version 2.0 or later. This restriction does not apply to Macintoshes with only LocalTalk interfaces.

Shiva FastPath routers must run K-Star Version 8.0 or later and must be explicitly configured for extended AppleTalk.

Apple's Internet Router software Version 2.0 supports a transition mode for translation between nonextended AppleTalk and extended AppleTalk on the same network. Transition mode requires the Apple upgrade utility and a special patch file from Apple.

AppleTalk Configuration Task List

To configure AppleTalk routing, complete the tasks in the following sections. At a minimum, you must enable AppleTalk routing. The remaining tasks are optional.

Enable AppleTalk Routing

Create an AppleTalk Routing Process

Control Access to AppleTalk Networks

Configure the Name Display Facility

Set Up Special Configurations

Configure AppleTalk Control Protocol for PPP

Tune AppleTalk Network Performance

Configure AppleTalk Enhanced IGRP

Configure AppleTalk Interenterprise Routing

Configure AppleTalk over WANs

Monitor and Maintain the AppleTalk Network

See the end of this chapter for configuration examples.

Enable AppleTalk Routing

To enable AppleTalk routing, first enable it on the router, then configure each interface for AppleTalk. These are the only three tasks you must perform when configuring AppleTalk routing.

To configure an interface for AppleTalk, assign an AppleTalk address or cable range to the interface and then assign one or more zone names to the interface. You can perform these tasks either manually or dynamically.

You can also enable our routers to perform transition mode routing from nonextended to extended AppleTalk.

You can route AppleTalk on some interfaces and transparently bridge it on other interfaces simultaneously. To do this, you must enable concurrent routing and bridging.

Enable AppleTalk Routing on the Router

To enable AppleTalk routing on the router, perform the following task in global configuration mode:

Task
Command

Enable AppleTalk routing.

appletalk routing


For an example of how to enable AppleTalk routing, see the section "Configuring an Extended AppleTalk Network Example" later in this chapter.

Enable Concurrent Routing and Bridging

To enable concurrent routing and bridging for the router, perform the following task in global configuration mode:

Task
Command

Enable concurrent routing and bridging for the router.

bridge crb1

1 This command is documented in the "Transparent Bridging Commands" chapter of the Router Products Command Reference publication.


Manually Configure an Interface

You can manually configure an interface for nonextended or extended AppleTalk routing.

To manually configure an interface for nonextended AppleTalk routing, perform the following tasks in interface configuration mode:

Task
Command

Step 1 Assign an AppleTalk address to the interface.

appletalk address network.node

Step 2 Assign a zone name to the interface.

appletalk zone zone-name


For an example of how to configure an interface for nonextended AppleTalk routing, see the section "Configuring a Nonextended AppleTalk Network Example" later in this chapter.

After you assign the address and zone name, the interface will attempt to verify them with another operational router on the connected network. If there are any discrepancies, the interface will not become operational. If there are no neighboring operational routers, the router will assume the interface's configuration is correct, and the interface will become operational.

To manually configure an interface for extended AppleTalk routing, perform the following tasks in interface configuration mode:

Task
Command

Step 1 Assign a cable range to an interface.

appletalk cable-range cable-range [network.node]

Step 2 Assign a zone name to the interface.

appletalk zone zone-name


You can assign more than one zone name to a cable range. If you do so, the first name you assign is considered to be the default zone. You can define up to 255 zones.

After you assign the address and zone names, the interface will attempt to verify them with another operational router on the connected network. If there are any discrepancies, the interface will not become operational. If there are no neighboring operational routers, the router will assume the interface's configuration is correct, and the interface will become operational.

Dynamically Configure an Interface

If a nonextended or an extended interface is connected to a network that has at least one other operational AppleTalk router, you can dynamically configure the interface using discovery mode. In discovery mode, an interface acquires information about the attached network from an operational router and then uses this information to configure itself.

Using discovery mode to configure interfaces saves time if the network numbers, cable ranges, or zone names change. If this happens, you need to make the changes only on one operational router.

Discovery mode is useful when you are changing a network configuration or when you are adding a router to an existing network.


Note   Discovery mode does not run over serial lines.


If there is no operational router on the attached network, you must manually configure the interface as described in the previous sections. Also, if a discovery mode interface is restarted, another operational router must be present before the interface will become operational.

A nondiscovery-mode interface (also called a seed router) starts up as follows. The seed router acquires its configuration from memory. (If the stored configuration is not completely specified when you assign an AppleTalk address to an interface or which you assign a cable range and a zone name to an interface, the interface will not start up. If the stored configuration is completely specified, the interface will attempt to verify the stored configuration with another router on the attached network.). If there is any discrepancy, the interface will not start up. If there are no neighboring operational routers, the router will assume the interface's stored configuration is correct, and the interface will become operational.

Using discovery mode does not affect an interface's ability to respond to configuration queries from other routers on the connected network once the interface becomes operational.

When activating discovery mode, you do not need to assign a zone name. The interface will acquire the zone name from another interface.


Caution   
Do not enable discovery mode on all routers on a network. If you do and all routers restart simultaneously (for instance, after a power failure), the network will be inaccessible until you manually configure at least one router.

Dynamically Configure a Nonextended Interface

You can activate discovery mode on a nonextended interface in one of two ways, depending on whether you know the network number of the attached network.

In the first method, you immediately place the interface into discovery mode by specifying an AppleTalk address of 0.0. Use this method when you do not know the network number of the attached network. To use this method, perform the following task in interface configuration mode:

Task
Command

Place the interface into discovery mode by assigning it the AppleTalk address 0.0.

appletalk address 0.0


For an example of how to configure discovery mode using this method, see the section "Configuring a Nonextended Network in Discovery Mode Example."

In the second method, you first assign an address to the interface and then explicitly enable discovery mode. Use this method when you know the network number of the attached network. Note, however, that you are not required to use this method when you know the network number. To use this method, perform the following tasks in interface configuration mode:

Task
Command

Step 1 Assign an AppleTalk address to the interface.

appletalk address network.node

Step 2 Place the interface into discovery mode.

appletalk discovery


Dynamically Configure an Extended Interface

You can activate discovery mode on an extended interface in one of two ways, depending on whether you know the cable range of the attached network.

In the first method, you immediately place the interface into discovery mode by specifying a cable range of 0-0. Use this method when you do not know the network number of the attached network. To use this method, perform the following task in interface configuration mode:

Task
Command

Place the interface into discovery mode by assigning it the cable range 0-0.

appletalk cable-range 0-0


In the second method, you first assign cable ranges and then explicitly enable discovery mode. Use this method when you know the cable range of the attached network. Note, however, that you are not required to use this method if you know the cable range. To use this method, perform the following tasks in interface configuration mode:

Task
Command

Step 1 Assign an AppleTalk address to the interface.

appletalk cable-range cable-range [network.node]

Step 2 Place the interface into discovery mode.

appletalk discovery


Configure Transition Mode

Our router can route packets between extended and nonextended AppleTalk networks that coexist on the same cable. This type of routing is referred to as transition mode.

To use transition mode, you must have two router ports connected to the same physical cable. One port is configured as a nonextended AppleTalk network, and the other port is configured as an extended AppleTalk network. Each port must have a unique network number, because you are routing between two separate AppleTalk networks: the extended network and the nonextended network.

To configure transition mode, you must have two ports on the same router that are connected to the same physical cable. You configure one port as a nonextended AppleTalk network by performing the following tasks in interface configuration mode:

Task
Command

Step 1 Assign an AppleTalk address to the interface.

appletalk address network.node

Step 2 Assign a zone name to the interface.

appletalk zone zone-name


You configure the second port as an extended AppleTalk network by performing the following tasks in interface configuration mode:

Task
Command

Step 1 Assign an AppleTalk cable range to the interface.

appletalk cable-range cable-range [network.node]

Step 2 Assign a zone name to the interface.

appletalk zone zone-name


When you enter interface configuration mode, the type of interface must be the same for both ports (for example, both could be Ethernet) and the interface number must be different (for example, 0 and 1).

For an example of how to configure transition mode, see the section "Transition Mode Example" later in this chapter.

Create an AppleTalk Routing Process

You can configure the RTMP or Enhanced IGRP routing protocols on any interface. You can also configure the AURP routing protocol on a tunnel interface. To create an AppleTalk routing process, perform the following task in interface configuration mode:

Task
Command

Create an AppleTalk routing process.

appletalk protocol {aurp | eigrp | rtmp}


For an example of how to create an AppleTalk routing process using Enhanced IGRP, see the section "AppleTalk Enhanced IGRP Example" later in this chapter.

Control Access to AppleTalk Networks

An access list is a list of AppleTalk network numbers, zones, or NBP named entities that is maintained by the router and used to control access to or from specific zones, networks, NBP named entities, or groups of NBP named entities.

The router supports two general types of AppleTalk access lists:

AppleTalk-style access lists, which are based on AppleTalk zones or NBP named entities.

IP-style access lists, which are based on network numbers.

AppleTalk-style access lists regulate the internetwork using zone names and NBP named entities. Zone names and NBP named entities are good control points because they allow for network-level abstractions that users can access. You can express zones names either explicitly or by using generalized argument keywords. Thus, using AppleTalk zone name access lists simplifies network management and allows for greater flexibility when adding segments, because reconfiguration requirements are minimal.

NBP named entities allow you to control access at the object level. Using NBP named entities, you can permit or deny NBP packets from a class of objects based on the type portion of the NBP tuple name, from a particular NBP named entity based on the object portion of the NBP tuple name, or from all NBP named entities within a particular area based on the zone portion of the NBP tuple name. You can fully or partially qualify an NBP tuple name to refine the access control by specifying one, two, or three parts of the NBP name tuple as separate access list entries tied together by the same sequence number.

The main advantage of AppleTalk-style access lists is that they allow you to define access regardless of the existing network topology or any changes in future topologies—because they are based on zones and NBP named entities. A zone access list is effectively a dynamic list of network numbers. The user specifies a zone name, but the effect is as if the user had specified all the network numbers belonging to that zone. An NBP named entity access list provides a means of controlling access at the network entity level.

IP-style access lists control network access based on network numbers. This feature can be useful in defining access lists that control the disposition of networks that overlap, are contained by, or exactly match a specific network number range. One class of problem addressed by the use of IP-style access lists involves the potential assignment of conflicting network numbers to different networks. You can use an access list to restrict the network numbers and zones that a department can advertise, thereby limiting advertisement to an authorized set of networks. In general, AppleTalk-style access lists are insufficient for this application.

In general, however, using IP-style access lists is not recommended because the controls are not optimal: they ignore the logical mapping provided by AppleTalk zones. One problem with IP-style access lists is that when you add networks to a zone, you must reconfigure each secure router. Another problem is that because anyone can add network segments (for example, if one group of users gets a LaserWriter and installs a Cayman GatorBox, this creates a new network segment), the potential for confusion and misconfiguration is significant.

You can combine zone, network, and NBP named entity entries in a single access list. Network filtering is performed first, then zone filtering is applied to the result. However, for optimal performance, access lists should not include both zones (AppleTalk-style) and numeric network (IP-style) entries. NBP filtering is performed first, followed by network filtering, and then zone filtering.

You can filter the following types of AppleTalk packets:

NBP packets from specific sources

Data packets

Routing table updates

GetZoneList (GZL) requests


Note   These types of filters are completely independent of each other. This means that if, for example, you apply a data packet filter to an interface, that filter has no effect on incoming routing table updates or GZL requests that pass through that interface. The exception to this is that outgoing routing update filters can affect GZL updates.


AppleTalk network access control differs from that of other protocols in that the order of the entries in an access list is not important. However, keep the following constraints in mind when defining access lists:

You must design and type access list entries properly to ensure that entries do not overlap each other. An example of an overlap is if you were to enter a "permit network xxx" command and then enter a "deny network xxx" command. If you do enter entries that overlap, the last one you entered overwrites and removes the previous one from the access list. In the example earlier in this paragraph, this means that the "permit network" statement would be removed from the access list when you typed the "deny network" statement.

Each access list always has a method for handling packets or routing updates that do not satisfy any of the access control statements in the access list.

To explicitly specify how you want these packets or routing updates to be handled, use the access-list other-access global configuration command when defining access conditions for networks and cable ranges, use the access-list additional-zones global configuration command when defining access conditions for zones, and use the access-list other-nbps global configuration command when defining access conditions for NBP packets from named entities. If you use one of these commands, it does not matter where in the list you place it: the router software automatically places the access-list other-access, access-list additional-zones, and access-list other-nbps commands at the end of the access list. (With other protocols, you must type the equivalent commands last.)

If you do not explicitly specify how to handle packets or routing updates that do not satisfy any of the access control statements in the access list, the packets or routing updates are automatically denied access and, in the case of data packets, are discarded.

You perform the following tasks to control access to AppleTalk networks. These tasks are described in the sections that follow.


Step 1 Create access lists.

Step 2 Create filters.

Create Access Lists

An access list defines the conditions used to filter packets sent in to or out of the interface. Each access list is identified by a number. All access-list commands that specify the same access-list number create a single access list.

A single access list can contain any number and any combination of access-list commands. You can include network and cable range access-list commands, zone access-list commands, and NBP named entity access-list commands in the same access list. However, you can specify only one each of the commands that specify default actions to take if none of the access conditions are matched. For example, a single access list can include only one access-list other-access command to handle networks and cable ranges that do not match the access conditions, only one access-list additional-zones command to handle zones that do not match the access conditions, and only one access-list other-nbps command to handle NBP packets from named entities that do not match the access conditions.

You can also prioritize the order in which outgoing packets destined for a specific zone are queued based on the access list number.

To create access lists that define access conditions for networks and cable ranges (IP-style access lists), perform one or more of the following tasks in global configuration mode:

Task
Command

Define access for a single network number.

access-list access-list-number {deny | permit} network network

Define access for a single cable range.

access-list access-list-number {deny | permit} cable-range cable-range [broadcast-deny | broadcast-permit]

Define access for an extended or a nonextended network that overlaps any part of the specified range.

access-list access-list-number {deny | permit} includes cable-range

Define access for an extended or a nonextended network that is included entirely within the specified range.

access-list access-list-number {deny | permit} within cable-range [broadcast-deny | broadcast-permit]

Define the default action to take for access checks that apply to network numbers or cable ranges.

access-list access-list-number {deny | permit} other-access


To create access lists that define access conditions for zones (AppleTalk-style access lists), perform one or more of the following tasks in global configuration mode:

Task
Command

Define access for a zone.

access-list access-list-number {deny | permit} zone zone-name

Define the default action to take for access checks that apply to zones.

access-list access-list-number {deny | permit} additional-zones


To assign a priority in which packets destined for a specific zone will be queued based on the zone access list, perform the following task in global configuration mode:

Task
Command

Define access for a single network number.

priority-list list-number protocol protocol-name {high | medium | normal | low} list access-list-number1

1 This command is documented in the "System Management Commands" chapter in the Router Products Command Reference publication.


For examples of how to create access lists, see the sections "AppleTalk Access List Examples" and "Hiding and Sharing Resources with Access List Examples" later in this chapter.

To create access lists that define access conditions for NBP packets from particular NBP named entities, classes of NBP named entities, or NBP named entities within particular zones, perform one or more of the following tasks in global configuration mode:

Task
Command

Define access for an NBP named entity, type of named entity, or named entities within a specific zone.

access-list access-list-number {deny | permit} nbp seq {type | object | zone} string

Define the default action to take for access checks that apply to NBP named entities.

access-list access-list-number {deny | permit} other-nbps


For an example of how to create NBP packet filtering access lists, see the section "Defining an Access List to Filter NBP Packets" later in this chapter.

Create Filters

A filter examines specific packets that pass through an interface and permits or denies them based on the conditions defined in the access lists that have been applied to that interface.

You can filter the following types of AppleTalk packets:

Data packets

NBP packets

Routing table updates

GetZoneList (GZL) requests

You can apply one of each type of filter to each interface, for a total of three filters per interface. Each filter can use the same access list or different access lists.

Data packet filters and incoming routing table update filters use access lists that define conditions for networks and cable ranges. NBP packet filters use access lists that define conditions for NBP named entities. Outgoing routing update filters use access lists that define conditions for networks, cable ranges, and zones. GZL filters use access lists that define conditions for zones only.

The following sections explain the tasks for creating AppleTalk filters.

Create Data Packet Filters

A data packet filter checks data packets being sent out an interface. If the packets' source network or cable range has access denied, these packets are discarded.

Data packet filters use access lists that define conditions for networks and cable ranges only. They ignore any zone information that might be in the access list.

When you apply a data packet filter to an interface, you should ensure that all networks or cable ranges within a zone are governed by the same filters.

To create a data packet filter, perform the following tasks:


Step 1 Create a network-only access list.

Step 2 Apply a data packet filter to an interface.

To create a network-only access list, perform one or more of the following tasks in global configuration mode:

Task
Command

Define access for a single network number.

access-list access-list-number {deny | permit} network network

Define access for a single cable range.

access-list access-list-number {deny | permit} cable-range cable-range

Define access for an extended or a nonextended network that overlaps any part of the specified range.

access-list access-list-number {deny | permit} includes cable-range

Define access for an extended or a nonextended network that is included entirely within the specified range.

access-list access-list-number {deny | permit} within cable-range

Define the default action to take for access checks that apply to network numbers or cable ranges.

access-list access-list-number {deny | permit} other-access


To apply the data packet filter to an interface, perform the following task in interface configuration mode:

Task
Command

Apply the data packet filter to the interface.

appletalk access-group access-list-number


For an example of how to create data packet filters, see the section "AppleTalk Access List Examples" later in this chapter.

Create Routing Table Update Filters

Routing table update filters control which updates the local routing table accepts and which routes the local router advertises in its routing updates. You create distribution lists to control the filtering of routing updates.

Filters for incoming routing updates use access lists that define conditions for networks and cable ranges only. Filters for outgoing routing updates use access lists that define conditions for networks and cable ranges, and for zones.

When filtering incoming routing updates, each network number and cable range in the update is checked against the access list. If you have not applied an access list to the interface, all network numbers and cable ranges in the routing update are added to the routing table. If an access list has been applied to the interface, only network numbers and cable ranges that are not explicitly or implicitly denied are added to the routing table:

The following conditions are also applied when filtering routing updates generated by the local router:

The network number or cable range is not a member of a zone that is explicitly or implicitly denied.

If partial zone processing is disabled (the default), the network number or cable range is not a member of a zone that contains other denied network numbers or cable ranges.

To create a filter for routing table updates received on an interface, perform the following tasks:


Step 1 Create an access list.

Step 2 Apply a routing table update filter to an interface.

To create an access list, perform one or more of the following tasks in global configuration mode:

Task
Command

Define access for a single network number.

access-list access-list-number {deny | permit} network network

Define access for a single cable range.

access-list access-list-number {deny | permit} cable-range cable-range

Define access for an extended or a nonextended network that overlaps any part of the specified range.

access-list access-list-number {deny | permit} includes cable-range

Define access for an extended or a nonextended network that is included entirely within the specified range.

access-list access-list-number {deny | permit} within cable-range

Define the default action to take for access checks that apply to network numbers or cable ranges.

access-list access-list-number {deny | permit} other-access



Caution   
Ensure that access lists used to filter incoming routing updates do not contain any zone entries. If they do, these entries might cause undefined behavior.

To apply the filter to incoming routing updates on an interface, perform the following task in interface configuration mode:

Task
Command

Apply the routing update filter.

appletalk distribute-list access-list-number in


For an example of how to create a filter for incoming routing table updates, see the section "AppleTalk Access List Examples."

To create a filter for routing table updates sent out on an interface, perform the following tasks:


Step 1 Create an access list.

Step 2 Apply a routing table update filter to an interface.

To create an access list, perform one or more of the following tasks in global configuration mode:

Task
Command

Define access for a single network number.

access-list access-list-number {deny | permit} network network

Define access for a single cable range.

access-list access-list-number {deny | permit} cable-range cable-range

Define access for an extended or a nonextended network that overlaps any part of the specified range.

access-list access-list-number {deny | permit} includes cable-range

Define access for an extended or a nonextended network that is included entirely within the specified range.

access-list access-list-number {deny | permit} within cable-range

Define the default action to take for access checks that apply to network numbers or cable ranges.

access-list access-list-number {deny | permit} other-access

Define access for a zone.

access-list access-list-number {deny | permit} zone zone-name

Define the default action to take for access checks that apply to zones.

access-list access-list-number {deny | permit} additional-zones


To apply a filter to routing updates sent out on an interface, perform the following task in interface configuration mode:

Task
Command

Apply the routing update filter.

appletalk distribute-list access-list-number out



Note   AppleTalk zone access lists on an EIGRP interface will not filter the distribution of EIGRP routes. When the appletalk distribute-list out command is applied to an EIGRP interface, any access-list zone commands in the specified access list will be ignored.


Create GetZoneList (GZL) Filters

The Macintosh Chooser uses ZIP GZL requests to compile a list of zones from which the user can select services. Any router on the same network as the Macintosh can respond to these requests with a GZL reply. You can create a GZL filter on the router to control which zones the router mentions in its GZL replies. This has the effect of controlling the list of zones that are displayed by the Chooser.

When defining GZL filters, you should ensure that all routers on the same network filter GZL replies identically. Otherwise, the Chooser will list different zones depending upon which router responded to the request. Also, inconsistent filters can result in zones appearing and disappearing every few seconds when the user remains in the Chooser. Because of these inconsistencies, you should normally apply GZL filters only when all routers in the internetwork are our routers, unless the other vendors' routers have a similar feature.

When a ZIP GZL reply is generated, only zones that satisfy the following conditions are included:

If partial zones are permitted, at least one network number or cable range that is a member of the zone is explicitly or implicitly permitted.

If partial zones are not permitted (the default), all network numbers or cable ranges that are members of the zone are explicitly or implicitly permitted.

The zone is explicitly or implicitly permitted.

Replies to GZL requests also are filtered by any outgoing routing update filter that has been applied to the same interface. You need to apply a GZL filter only if you want additional filtering to be applied to GZL replies. This filter is rarely needed except to eliminate zones that do not contain user services.

Using a GZL filter is not a complete replacement for anonymous network numbers. In order to prevent users from seeing a zone, all routers must implement the GZL filter. If there are any routers on the network from other vendors, the GZL filter will not have a consistent effect.

To create a GZL filter, perform the following tasks:


Step 1 Create an access list.

Step 2 Apply a GZL filter to an interface.

To create an access list, perform one or more of the following tasks in global configuration mode:

Task
Command

Define access for a zone.

access-list access-list-number {deny | permit} zone zone-name

Define the default action to take for access checks that apply to zones.

access-list access-list-number {deny | permit} additional-zones


To apply the GZL filter to an interface, perform the following task in interface configuration mode:

Task
Command

Apply the GZL filter.

appletalk getzonelist-filter access-list-number


For an example of how to create a GZL filters, see the section "GZL and ZIP Reply Filter Examples" later in this chapter.

Enable ZIP Reply Filters

ZIP reply filters limit the visibility of zones from routers in unprivileged regions throughout the internetwork. These filters filter the zone list for each network provided by a router to neighboring routers to remove restricted zones.

ZIP reply filters apply to downstream routers, not to end stations on networks attached to the local router. With ZIP reply filters, when downstream routers request the names of zones in a network, the local router replies with the names of visible zones only. It does not reply with the names of zones that have been hidden with a ZIP reply filter. To filter zones from end stations, use GZL filters.

To create a ZIP reply filter, perform the following tasks:


Step 1 Create an access list.

Step 2 Apply a ZIP reply filter to an interface.

To create an access list, perform one or both of the following tasks in global configuration mode:

Task
Command

Define access for a zone.

access-list access-list-number {deny | permit} zone zone-name

Define the default action to take for access checks that apply to zones.

access-list access-list-number {deny | permit} additional-zones


To apply the ZIP reply filter to an interface, perform the following task in interface configuration mode:

Task
Command

Apply the ZIP reply filter.

appletalk zip-reply-filter access-list-number


For an example of how to create GZL and ZIP reply filters, see the section "GZL and ZIP Reply Filter Examples" later in this chapter.

Enable Partial Zone Filters

If access to any network in a zone is denied, access to that zone is also denied by default. However, if you enable partial zones, access to other networks in that zone is no longer denied.

The permitting of partial zones provides IP-style access control. If enabled, the access control list behavior associated with prior software releases is restored. In addition, NBP cannot ensure consistency and uniqueness of name bindings.

If you permit partial zones, AppleTalk cannot maintain consistency for the nodes in the affected zones, and the results are undefined. With this option enabled, an inconsistency is created for the zone, and several assumptions made by some AppleTalk protocols are no longer valid.

To enable partial zone filters, perform the following task in global configuration mode:

Task
Command

Permit access to networks in a zone in which access to another network in that zone is denied.

appletalk permit-partial-zones


Permitting partial zones affects the outgoing routing update and GZL filters.

Configure the Name Display Facility

The AppleTalk Name Binding Protocol (NBP) associates AppleTalk network entity names (that is, AppleTalk network-addressable services) with network addresses. NBP allows you to specify descriptive or symbolic names for entities instead of their numerical addresses. When you specify the name of an AppleTalk device, NBP translates the device's entity name into the device's network address. The name binding process includes name registration, name confirmation, name deletion, and name lookup.

Node addresses can change frequently because AppleTalk uses dynamic addresses. Therefore, NBP associates numerical node addresses with aliases that continue to reference the correct addresses if the addresses change. These node addresses do not change very frequently because each device keeps track of the last node number it was assigned. Typically, node numbers change only if a device is shut down for an extended period of time or if it is moved to another network segment.

To control the router's name display facility, perform one or both of the following tasks in global configuration mode:

Task
Command

Specify which service types are retained in the name cache.

appletalk lookup-type service-type

Set the interval between service pollings by the router on its AppleTalk interfaces.

appletalk name-lookup-interval seconds


Set Up Special Configurations

To set up special configurations, perform the tasks in the following sections, as appropriate:

Configure AURP

Configure Free-Trade Zones

Configure SNMP in AppleTalk Networks

Configure AppleTalk Tunneling

Configure AppleTalk MacIP

Configure IPTalk

Configure SMRP over AppleTalk

Configure AURP

The AppleTalk Update-based Routing Protocol (AURP) is a standard Apple Computer routing protocol that provides enhancements to the AppleTalk routing protocols that are compatible with AppleTalk Phase 2. The primary function of AURP is to connect two or more noncontiguous AppleTalk internets that are separated by a non-AppleTalk network, such as IP. In these configurations, you would want to use AURP instead of RTMP, because AURP sends fewer routing packets than RTMP.

You configure AURP on a tunnel interface. Tunneling encapsulates an AppleTalk packet inside an IP packet, which is sent across the backbone to a destination router. The destination router then extracts the AppleTalk packet and, if necessary, routes it to an AppleTalk network. The encapsulated packet benefits from any features normally applied to IP packets, including fragmentation, default routes, and load balancing.

After you configure an AppleTalk domain for AppleTalk interenterprise features, you can apply the features to a tunnel interface configured for AURP by assigning the domain number to the interface.

To configure AURP, perform the following tasks, beginning in global configuration mode:

Task
Command

Enable route redistribution.

appletalk route-redistribution

Configure an interface to be used by the tunnel.

interface type number1

Configure an IP address.

p address ip-address mask2

Configure tunnel interface.

interface tunnel number1

Create an AURP routing process.

appletalk protocol aurp

Specify the interface out which the encapsulated packets will be sent.

tunnel source {ip-address | type number}1

Specify the IP address of the router at the far end of the tunnel.

tunnel destination {hostname | ip-address}1

Enable AURP tunneling.

tunnel mode aurp1

1 This command is documented in the "Interface Commands" chapter of the Router Products Command Reference publication.

1 2. This command is documented in the "IP Commands" chapter in the Router Products Command Reference publication.


You can configure AURP on a tunnel interface to inherit AppleTalk interenterprise routing remapping, hop count reduction, and loop detections characteristics configured for a specific AppleTalk domain. To do so, these features must first be configured for the AppleTalk domain using the commands described in the tasks "Enable AppleTalk Interenterprise Routing," "Remap Network Numbers," and "Control Hop Count" within the section "Configure AppleTalk Interenterprise Routing."

To configure AURP for AppleTalk interenterprise routing features, perform the following tasks starting in global configuration mode:

Task
Command

Specify the tunnel interface.

interface tunnel number1

Create an AURP routing process.

appletalk protocol aurp

Enable AURP tunneling.

tunnel mode aurp1

Specify the tunnel interface.

interface tunnel number

Specify the interface out which the encapsulated packets will be sent.

tunnel source {ip-address | type number}1

Specify the IP address of the router at the far end of the tunnel.

tunnel destination {hostname | ip-address}1

Assign the number of the predefined AppleTalk domain which the AppleTalk interenterprise features are configure to the tunnel interface configured for AURP.

appletalk domain-group domain-number

1 This command is documented in the "Interface Commands" chapter of the Router Products Command Reference publication.


For an example of how to configure AURP on a tunnel interface to inherit AppleTalk interenterprise routing features for a specific AppleTalk domain, see the section "AppleTalk Interenterprise Routing Example" later in this chapter.

By default, AURP sends routing updates every 30 seconds. To modify this interval, perform the following task in global configuration mode: