Ref: 10710048 Title: Node limitation of Localtalk vs. Ethernet Date: 7/7/88 Copyright 3Com Corporation, 1991. All rights reserved. This is a fairly detailed description of the node limitation on Appletalk vs. Ethernet support for Macs. 3+Mac has an incredible advantage over all other Mac networking schemes - AppleShare, TOPS, Novell (presumably, since theirs will be an AppleShare server): since 3Com uses unique Ethernet addresses when on Ethernet media instead of "EtherTalk" addresses, we have no 254-node limitation. Combine this with our use of larger read/write packets, and our ability to connect your PC's to Macs and servers over Ethernet instead of requiring use of slow LocalTalk cards for Mac integration, and we clearly have a huge advantage in large Ethernet installations, as well as expandability no one else can match. The following explains how EtherTalk handles node addressing. AppleTalk on a 10Mb Ethernet network is a bit different from AppleTalk on a 230.4K LocalTalk network. The following attempts to provide enough information to understand how AppleTalk and Ethernet interact and why there exists a limit of 254 AppleTalk devices on an Ethernet network. There is also some information on Ethernet packets and addresses. Q: Why is EtherTalk (AppleTalk devices on Ethernet) limited to 254 devices on an Ethernet network? A: AppleTalk protocol addressing only allocates 254 node addresses on any AppleTalk network. Thus there is a maximum of 254 nodes on an AppleTalk network running on Ethernet. Q: Why is it not possible to run multiple AppleTalk networks over the same coax cable? A: Philosophically, AppleTalk is a no-brain network installation. You connect a device onto any AppleTalk network and it figures out how to send packets to other AppleTalk devices. On 230.4Kb LocalTalk networks this invisible setup characteristic is what makes AppleTalk so easy to use. On 10 MB Ethernet networks Apple has chosen to keep this invisible setup feature. The AppleTalk protocol that makes the network setup invisible is one of the reasons why multiple AppleTalk network numbers cannot exist on the same physical network. Invisible network setup on power-up on Ethernet network: When an AppleTalk device on Ethernet is first powered on, it must defend its node number. For example, say the last time it was powered on its AppleTalk node number was 43. It sends an Ethernet packet (not 802.3 packet) of type EtherTalk (type 809B) to the Ethernet broadcast address. Inside the Ethernet packet is an AppleTalk packet addressed to node number 43. The newly powered device is calling out to its own address to see if any other device responds back. If another device responds back then our new device knows that node address 43 is taken and it must try another node number. So our new AppleTalk device, lets call it MacNew, on Ethernet sends an AppleTalk packet to node number 43 inside an Ethernet broadcast of type EtherTalk. Let's assume there is already a device on Ethernet with AppleTalk node number 43; let's call it MacOld. On MacOld, the real AppleTalk node number 43 hears the Ethernet broadcast, sees that it is an EtherTalk packet, and reads it. Upon further examination of the EtherTalk packet it sees that the packet is addressed to AppleTalk node number 43 from node number 43. Since it is AppleTalk node number 43 it must respond back to the newly powered-on device that is claiming node 43 as its address. MacOld looks in its small table to find the Ethernet address of AppleTalk node 43. Since it is AppleTalk node 43 knows it does not know the Ethernet address of the other AppleTalk node 43. It sends an Ethernet packet of type AARP (Apple Address Resolution Protocol, type 80F3) to the Ethernet broadcast address. Inside the AARP packet is a request for the Ethernet address of AppleTalk node 43. MacNew hears the Ethernet broadcast, sees that it is an AARP packet and reads it. Upon further examination of the AARP packet it sees that it is addressed to node 43 and has been sent by a device with MacOld's Ethernet address. MacNew sends an Ethernet AARP packet back to MacOld's ethernet address saying that it is node number 43. Included in MacNew's packet is its Ethernet address. MacOld hears an Ethernet packet addressed specifically to it, reads it, and finds that it contains the Ethernet address of the AppleTalk node claiming node 43. MacOld then directs an Ethernet packet to MacNew's Ethernet address that contains an AppleTalk packet addressed to node 43 saying that AppleTalk node number 43 is taken. MacNew receives the EtherTalk packet and starts the whole process over again with a new randomly chosen node number; let's assume node number 76. Summary of why there can be only 254 AppleTalk nodes on Ethernet: You suggested that there was no reason you couldn't have multiple network numbers on the same Ethernet coax. Since packets get sent to a different network the number could be ignored by devices on the other network number. When a device first powers on it does not know its node number or network number. MacNew called out to node 43. If there are two network numbers on the same Ethernet, which network number would it be calling out to? Which node 43 should respond? Which network is it supposed to be on? Since each network number can be in a different zone (and thus a different departmental section), it cannot randomly pick a network number. You could insert a setup file on each EtherTalk device that gives it a starting network number but the need to do this would eliminate the ability for invisible network setup. Eliminating the invisible network setup and opting for the requirement of a setup file still doesn't solve all the problems. How do two devices on different network numbers communicate? You would need an AppleTalk bridge that can connect to two separate AppleTalk networks through the same port. Life quickly gets very confusing if the same physical media is going to have multiple AppleTalk network numbers. AppleTalk communications on Ethernet: The user on MacNew (AppleTalk node 76) pulls down Chooser, selects the AppleShare server icon, to find a list of all the AppleShare servers. MacNew sends out an Ethernet broadcast packet of type EtherTalk addressed to the AppleTalk broadcast address requesting all AppleTalk devices of type AFPServer to respond. (AppleShare servers have the AppleTalk type of AFPServer which stands for Apple Filing Protocol.) MacOld is an AFPServer. MacOld reads the Ethernet broadcast, reads to contents since it is type EtherTalk, sees that it is an AppleTalk broadcast for type AFPServer and that it is from AppleTalk node 76. MacOld looks in its small table for the Ethernet address of AppleTalk node 76. Since the small table does not have that information, MacOld sends an Ethernet broadcast packet of type AARP to AppleTalk node 76. MacNew reads the Ethernet broadcast, reads the contents since it is type AARP, and sees that it is a request for the Ethernet address of AppleTalk node 76. MacNew responds with an AARP packet sent to the Ethernet address of MacOld, the device that sent the AARP packet. MacOld adds to its small table the Ethernet address of AppleTalk node 76. MacOld then sends an Ethernet packet to MacNew containing an EtherTalk packet to node 76 from node 43 giving MacOld's name and saying that it is an AFPServer. MacNew adds to its small table the Ethernet address of AppleTalk node 43. MacOld's name appears in the Chooser window. The user at MacNew selects MacOld in the Chooser window. The Chooser desk accessory stores the AppleTalk node name and address of the MacOld AFPServer. General comments on addresses: There are two types of "Ethernet". There is "IEEE 802.3 Ethernet" and there is "Xerox Ethernet". They differ in that 802.3 replaced the Xerox "type" field with a length field. Otherwise they are the same. Now it turns out that the types assigned by Xerox are numbers that would be illegal lengths if read according to 802.3. There are only a few types that could be legal lengths. So you can tell the difference between Xerox and 802.3 packets and use both Ethernet protocols on the same coax cable with no problems (except for the few types that could be read as valid lengths). Xerox assigns types to make sure that no two types use the same type identifier. Ethernet addresses are assigned by the manufacturer of the Ethernet device/card. Each Ethernet connection has a 6-byte Ethernet address. The first 3 bytes are assigned by IEEE to a specific manufacturer for a nominal fee. The second 3 bytes are uniquely assigned by the manufacturer. Thus, every Ethernet connection comes from the factory with what amounts to a unique social security number. The Ethernet address small tables mentioned earlier are not permanent. The information is aged. This means that OldMac will update NewMac's address after a certain length of time. If NewMac does not respond to the update request, its address is deleted from the small table. DECnet uses Ethernet as a network. DECnet network management requires that the DECnet software be allowed to alter the Ethernet address (device social security number) if it needs to. I don't know why it would want to alter the unique Ethernet address. I don't know if the device remembers its old address or if the newly assigned address wipes it out completely. The future of the 254 EtherTalk node limit: Large Ethernet networks typically contain many more than 254 devices. Companies that have large Ethernets buy large numbers of Mac2s. It stands to reason that someday there will be a solution for the large Mac2 customers that need to connect more than 254 EtherTalk nodes onto their Ethernet backbone.