Important: The information in this document is obsolete and should not be used for new development.
Glossary
'adev' file See AppleTalk connection file.ADSP See AppleTalk Data Stream Protocol.
AEP See AppleTalk Echo Protocol.
AEP Echoer The implementation of the AppleTalk Echo Protocol (AEP) on each node that uses the AEP Echoer or echoer socket; the AEP Echoer listens for packets received through this socket and sends a copy of them back to
the sender. Applications use the AEP Echoer to measure the round-trip packet delivery time in analyzing network performance.AFP See AppleTalk Filing Protocol.
alternate interface The first version of the AppleTalk Pascal interfaces. The alternate interface was replaced with the current version of AppleTalk Pascal interfaces, which was originally referred to as the preferred interface.
AppleTalk connection file A file of type
'adev'
that contains a link-access protocol implementation for a data link (ELAP for EtherTalk, for example).AppleTalk Data Stream Protocol (ADSP) A connection-oriented protocol that provides a reliable, full-duplex, byte-stream service between any two sockets in an AppleTalk internet. This protocol appears to its clients to maintain an open pipeline between two entities on an AppleTalk internet. Either entity can write a stream of bytes to the pipeline or read data
bytes from the pipeline. ADSP is a symmetrical protocol.AppleTalk Echo Protocol (AEP) A simple protocol that allows a node to send a packet
to the echoer socket of any other node in an AppleTalk internet and receive an echoed copy
of that packet in return. AEP is implemented
in each node as a DDP client process that is referred to in this book as the AEP Echoer.AppleTalk Filing Protocol (AFP) A protocol that allows users to share data files and applica-
tion programs that reside in a shared file server.AppleTalk internet A type of network in which more than one AppleTalk network are intercon-
nected through routers. An AppleTalk internet can consist of a mix of LocalTalk, TokenTalk, EtherTalk, and FDDITalk networks, or it can consist of more than one network of a single type, such as several LocalTalk networks.AppleTalk Manager A collection of the application programming interfaces to the AppleTalk protocols.
AppleTalk multivendor architecture See multivendor architecture.
AppleTalk protocol stack The AppleTalk networking system, which consists of a number of protocols arranged in layers.
AppleTalk Secure Data Stream Protocol (ASDSP) A superset of ADSP that includes authentication and encryption features.
AppleTalk Session Protocol (ASP) A protocol that provides asymmetric session support. It uses the services of ATP to establish, maintain, and break down the session.
AppleTalk Transaction Protocol (ATP) A transport protocol that provides a loss-free transaction service between sockets. ATP allows for the exchange of a limited amount of data
in which a client requester application sends a request to a client responder application that
can satisfy the request and respond to it. Because it is transaction-based, ATP does not incur the overhead entailed in establishing, maintaining, and breaking a connection that is associated
with connection-oriented protocols, such as ADSP. ATP provides reliable delivery of data.AppleTalk transition A change in AppleTalk's current state or function, such as an AppleTalk driver being opened or closed or a network connection or link being dropped, that can affect active AppleTalk applications.
AppleTalk Transition Queue (ATQ) An operating-system queue that the LAP Manager maintains that can notify an application each time an AppleTalk driver is opened or closed or each time certain other network-related transitions occur.
ASDSP See AppleTalk Secure Data Stream Protocol.
ASP See AppleTalk Session Protocol.
asymmetrical session A session in which only one end of the connection can control the commu-
nication. One end of the connection makes a request to which the other end can only respond.asynchronous execution A mode of executing a routine in which the system returns control to the calling program directly after the program calls the routine so that the calling program can continue with other processing while the routine is either queued for execution or completes execution.
at-least-once transaction A type of ATP trans-
action that ensures that the responder application receives every request directed to it at least once. This type of ATP transaction allows for the possibility of a responder application receiving duplicate requests. Compare with exactly-once (XO) transaction.ATP See AppleTalk Transaction Protocol.
ATP sequence number The bitmap/sequence number field of the header, when the ATP packet is a response packet. The ATP sequence number is used to identify the sequential position of
the response packet in the complete response message; ATP uses the sequence number to manage and handle lost or out-of-sequence response packets.authentication process A process that ASDSP performs to positively identify two parties who want to communicate over a secure ADSP connection. The process, which is a kind of handshake, involves the use of a session key.
best-effort delivery The level of reliability for the data delivery services that a connectionless protocol offers. The network attempts to deliver packets that meet certain requirements, such as containing a valid destination address, but it does not inform the sender when it is unable to deliver the packet; nor does it attempt to recover from error conditions and packet loss.
bitmap/sequence number An ATP header field that is 8 bits long, the use and significance
of which depend on whether the ATP packet
is a request packet or a response packet. For
request packets, this is the transaction bitmap;
for response packets, this is the ATP sequence number.CCB See connection control block, command control block.
checksum A calculated value based on the contents of a packet's header and data informa-
tion. A checksum is used to verify that the packet contents have not been corrupted by memory or data bus errors within routers on the internet.client In AppleTalk, a protocol that uses the services of another protocol in order to carry out some functions. An application or process that uses the services of a protocol is also considered a client of the protocol.
closed connection A connection state in which both connection ends have terminated the connection and disposed of the connection information that each maintains. Compare half-open connection, open connection.
command block A data structure specifying an AFP command and its parameters that the .XPP driver sends to an AFP server to be executed.
The XPP parameter block for theAFPCommand
function contains a pointer to the command block.command control block (CCB) An array at the end of the XPP parameter block that the .XPP driver uses internally to build the data structures, parameter blocks, and buffer data structures (BDS) that it needs to make function calls to the .ATP driver.
connection control block (CCB) A data structure that is used by ADSP to store state information about the connection end.
connection end The combination of a socket and the ADSP information maintained by a socket client for establishing and maintaining a session. The client applications associated with either end of a connection can communicate with each other over the session connection.
connectionless network A network over which an application or process can directly send and receive data one packet at a time without having to first set up a session or connection. A connectionless network is also referred to as a packet-oriented network or datagram network. A protocol can also be connectionless.
connection listener A socket that accepts open-connection requests and passes them along to its client, a connection server process, for further processing. A connection listener can also deny an open request.
connection-oriented protocol A protocol that requires that a path or session be established over which the two communicating parties at either end of the connection can send and receive data. The process of establishing a session often requires that the two parties identify themselves in a handshake.
connection server A routine that accepts an open-connection request passed to it by a connection listener and selects a socket to respond to the request.
connection state One of three conditions that define the association between two connection ends: open connection, closed connection, and half-open connection.
connectivity The ability to connect to one or another type of data link or network. The connec-
tivity infrastructure includes the communication hardware and the associated link-access proto-
cols for controlling access to the hardware links.credentials Information that is required to prove that the potential users of both ends of an ASDSP connection are who they claim to be before ASDSP can establish an authenticated session between the two ends. This information includes the session key, the initiator's identity, and an intermediary, if one is used.
datagram See packet.
Datagram Delivery Protocol (DDP) A connec-
tionless AppleTalk protocol that provides best-
effort delivery. DDP, which is implemented at
the network level, transfers datagrams between sockets over an AppleTalk internet with each packet carrying its destination internet socket address. See also packet.datagram network See connectionless network.
DDP See Datagram Delivery Protocol.
destination service access point (DSAP) An 802.2 packet header field that is used to differen-
tiate between different protocols using the 802.2 interface in a single node. One service access point, $AA, is reserved for use by protocols that are not standard IEEE protocols.DSAP See destination service access point.
dynamically assigned socket One of two classes of sockets that DDP maintains. When an application opens a socket without specifying a number within the range of statically assigned sockets, DDP dynamically assigns the application a socket from a pool of available sockets. See also statically assigned socket.
echoer socket On every node, the statically assigned DDP socket, socket number 4, that
AEP uses to receive packets sent from other nodes over DDP and echo those packets back
to the sending node. See also AEP Echoer, AppleTalk Echo Protocol.Echo Reply packet A packet sent from the AEP Echoer to the originator of the Echo Request packet. Whenever the AEP Echoer receives an Echo Request packet, it modifies the function field, which is the first byte in the packet's data portion, setting it to a value of 2 to indicate that the packet is now a reply packet, then it calls DDP to send a copy of the packet back to the socket from which it originated. See also Echo Request Packet.
Echo Request packet A packet send to the AEP Echoer from a DDP client. The first byte of the data portion of the packet serves as a function field. When this byte is set to 1, the packet is an Echo Request packet. When the AEP Echoer receives an Echo Request packet, it modifies the function field to now identify the packet as an Echo Reply packet. Then the AEP Echoer calls DDP to send a copy of the packet back to the socket from which it originated. See also Echo Reply packet.
ELAP See EtherTalk Link-Access Protocol.
encryption The process of encoding data based on an algorithm that makes the data unreadable by anyone other than the intended recipient.
entity name A name that is associated with a network entity to register that entity with NBP. An entity name consists of three fields: object, type, and zone.
Ethernet Phase 1 packets The original style of Ethernet packet as defined by the IEEE 802.3 protocol. If the value of the last 2 bytes in the packet header is greater than 1500, the packet is an Ethernet Phase 1 packet.
Ethernet Phase 2 packets The style of Ethernet packet defined by the IEEE 802.2 protocol. If the value of the last 2 bytes in the header is less
than or equal to 1500, the packet is an Ethernet Phase 2 packet.EtherTalk The data link that allows an AppleTalk network to be connected by
Ethernet cables.EtherTalk Link-Access Protocol (ELAP) The AppleTalk link-access protocol used in an EtherTalk network. ELAP is built on top of the standard Ethernet data-link layer.
exactly-once (XO) transaction A type of ATP transaction that ensures that the responder application receives a specific request only once.
extended addressing A method of addressing that allows an extended network to use a range of network numbers. In principle, extended addressing allows an extended network to have over 16 million (224) nodes. In any specific implementation, the hardware or software might limit the network to fewer nodes.
extended DDP header See long DDP header.
extended network An AppleTalk network that allows addressing of more than 254 nodes. An extended network can support multiple zones.
FDDITalk The data link that allows an AppleTalk network to be connected by FDDI fiber-optic cables.
FDDITalk Link-Access Protocol (FLAP) The AppleTalk link-access protocol used in an FDDITalk network. FLAP is built on top of the standard FDDI data-link layer.
fiber optics The thin transparent fibers of glass or plastic in which data is transmitted through light pulses.
flagship name A personalized name that users can enter to identify their nodes when they are connected to an AppleTalk network. The flagship name is different from the Chooser name that a node uses for server-connection identification.
Flagship Naming Service A feature that allows users to specify a flagship name to identify
their nodes when the node is connected to an AppleTalk network.FLAP See FDDITalk Link-Access Protocol.
forward reset The event that occurs when
one connection end cancels delivery of all outstanding data to the other connection end, causing ADSP to discard all data in the send queue, all data in transit to the remote connection end, and all data in the other connection end's receive queue that the client has not yet read.frame A group of bits that form a discrete transmission unit that is sent between data-link protocol implementations across an AppleTalk internet. Each frame includes its own addressing and control information in the header. The first several bits in a frame form the header, followed by the message data, and ending with a check sequence for error detection. A DDP datagram or packet is enclosed within a frame to transmit the packet at the data-link layer. Whether the data-
link type is LocalTalk, TokenTalk, EtherTalk, or FDDITalk, all data-link frames are constructed as LLAP (LocalTalk Link-Access Protocol) frames because that is the frame format that AppleTalk recognizes and expects to receive.full-duplex dialog A transmission method that permits simultaneous two-way communication.
functional address A token ring hardware address that is shared by a subset of nodes on
a particular data link.function field The first byte of the data portion of a packet sent to or from the AEP Echoer that indicates whether the packet is an Echo Request packet (1) or an Echo Reply packet (2).
half-duplex dialog A transmission method that permits communication in either direction, but in only one direction at a time.
half-open connection A connection state in which one connection end is established but the other connection end is unreachable or has disposed of its connection information. Compare closed connection, open connection.
handshake The exchange of predetermined signals between two processes engaged in establishing a connection.
header The information that comes at the beginning of a frame or a packet before the message text. It often includes control and addressing information.
hop count The number of internet routers
that a datagram passes through in transit to
its destination; each internet router counts as
one hop.initiator The ASDSP client application of a connection end that retrieves information from an authentication server and makes a request
to open a session.intermediary A proxy that has used the
AuthTradeProxyForCredentials
function to obtain from the AOCE server the credentials used in the authentication process that is required to establish an ASDSP session.internet address See internet socket address.
internet socket address The combination of the socket number, the node ID, and the network number associated with an application or process. An internet socket address provides a unique identifier for any socket in the AppleTalk internet.
intranode delivery An AppleTalk feature that allows two programs running on the same node to communicate with each other through AppleTalk protocols. The AppleTalk
PSetSelfSend
function enables or disables intranode delivery.LAP Manager See Link-Access Protocol Manager.
link A data transmission medium shared by nodes and used for communication among these nodes. A link forms the basis for networking these nodes.
Link-Access Protocol (LAP) Manager A set of operating-system utilities that makes it possible for the user to select among AppleTalk connec-
tion files by using the Network control panel to specify which network is to be used for the node's AppleTalk connection. The LAP Manager provides for AppleTalk's data-link independence.link independence The ability to connect to various types of data links that are installed on
a node and to switch among those data links.Logical Link Control (LLC) A data-link standard defined by the Institute of Electrical and Electronics Engineers (IEEE) for use on Ethernet, token ring, FDDI, and certain other data links.
At the physical level, these protocols include the 802.3 CSMA/CD protocol, the 802.4 token bus protocol, and the 802.5 token ring protocol. At
the data-link level, you access these protocols through the IEEE 802.2 Logical Link Control (LLC) protocol.long DDP header A DDP packet header that includes the source node ID as well as the destination node ID.
multicast address A hardware address that is shared by a subset of nodes on a particular data link--an Ethernet network, a token ring network, or an FDDI network. A multicast address is used to send directed broadcasts to this group of nodes rather than to all nodes on the data link.
multinode A node ID that an application or process can acquire that is in addition to the standard user-node ID that is assigned to a system when it connects to an AppleTalk network. Multi-
nodes are used by special-purpose applications that receive and process AppleTalk packets in a custom manner instead of passing them directly on to a higher-level AppleTalk protocol for processing.multinode application An application that uses a multinode to receive DDP packets from and send them to another multinode or socket on an AppleTalk network. A multinode application typically implements custom processing of an AppleTalk packet. A multinode application cannot pass a packet on to a higher-level AppleTalk protocol for processing because a multinode is not connected to the AppleTalk protocol stack above the data-link layer. Multinode applications must include a receive routine to read in a packet's contents.
multinode architecture A part of the AppleTalk protocol stack that implements a feature that allows an application or process to acquire multinode IDs. Multinodes allow a single system to appear and act as multiple nodes on an AppleTalk network. The multinode architecture is not connected to the AppleTalk protocol stack above the data-link level, and applications that use it cannot access the higher-level AppleTalk protocols, such as ADSP, from a multinode.
multivendor architecture An AppleTalk feature that allows for multiple brands of Ethernet, token ring, and FDDI network interface controllers to be installed and used on a single node at the same time.
Name-Binding Protocol (NBP) An AppleTalk protocol that provides a way to map user-
friendly names associated with applications and processes to their machine-readable addresses. Users can choose an application based on its
NBP name, and applications and processes can contact another application or process based on its address.names table A table that NBP builds on each node; the table contains the name and internet address of each entity in that node that is registered with NBP.
NBP See Name-Binding Protocol.
NBP names directory The collection of NBP names tables on all the nodes in an internet.
network architecture The design or assemblage of the various components of
a network into a unified structure.network number A 16-bit number used to indicate the AppleTalk network that a node is connected to.
network number range For an extended network, the range of network numbers that
are valid for use by nodes on a particular AppleTalk network.network-visible entity A network entity that is registered with NBP. After the entity is registered, it is made visible and is available to other entities throughout the network.
node A data-link addressable entity on an AppleTalk network. All physical devices on
an AppleTalk network, such as personal computer workstations, printers, and Macintosh computers acting as file servers, print servers, and routers, are nodes.node ID An 8-bit number assigned to a node
on an AppleTalk network that is used to identify that node in conjunction with the network number. A node ID is part of the addressing information used to deliver packets across a network or internet.nonextended network An AppleTalk network that is assigned only one network number and supports only one zone. LocalTalk is an example of a nonextended network.
object The field of an NBP entity name that identifies the user of the system or the system itself, in the case of a server.
open connection An association or connection set up between two sockets in which both ends have been established so that data can flow between them.
packet A unit of data that is sent as a unit within a frame from one node to another across a network or internet. A packet includes a header portion that contains addressing and control information and a data portion that contains the message text. The terms packet and datagram are synonymous.
packet-oriented network See connectionless network.
peer-to-peer communication A connection in which both ends have equal control over the exchange of data and either end can begin or end the session.
peer-to-peer session See symmetrical session.
preferred interface The AppleTalk interface standard designed to be similar to that of the Device Manager and the File Manager. Its routines use parameter blocks to pass input and output values. The interface glue code converts the parameter block values into a Device Manager control call to the appropriate AppleTalk
device driver.private key A number that is derived from a password and used by an encryption algorithm. The ASDSP initiator and recipient each have a private key, which is used in the authentication process. The private key is also called a user key or client key.
protocol A formalized set of rules that net-
worked computers use to communicate. Network software developers implement these rules in programs that carry out the functions specified by the protocol. AppleTalk consists of a number of protocols, many of which are implemented
in drivers.protocol discriminators A series of hierarchical type fields in a packet header that incrementally distinguish for which protocol handler a packet is intended. The value of a higher field can affect the possible values of a field that follows it.
protocol handler A piece of assembly-language code that controls the reception of packets of a given protocol type that are delivered to a node. A protocol handler receives packets for a specific protocol type much like a socket listener receives packets for a specific socket. The data link determines the type of the packet and passes it on to the appropriate protocol handler.
read-header area (RHA) A buffer that is internal to the .MPP driver. When the .MPP driver receives a frame containing a DDP packet, the .MPP driver's interrupt handler moves the frame's first 3 bytes (the frame header) into the read-header area (RHA). Eight bytes of the RHA are then available for the application's use.
receive queue An ADSP buffer in which the local connection end receives and stores bytes
of data from the remote connection end until
the local connection end's client application
reads them.receive routine A software process that a multinode application must include in order to read in the contents of packets delivered to that multinode. Because the .MPP driver passes values in registers to a multinode application's receive routine when the .MPP driver calls the routine, receive routines must be written in assembly language.
recipient The ASDSP client application of the connection end that receives the request and the information from the server.
reliable delivery of data The services a protocol provides that include error checking and recovery from error or packet loss.
requester An ATP application that transmits a request for some action to be performed to an ATP responder application that carries out the action and transmits a response reporting
the outcome.responder An ATP application that carries
out a request sent to it from an ATP requester application, and then transmits a response to
the requester returning the resulting data or reporting the outcome.response message A message comprising up to eight packets that the responder client applica-
tion can send to the requester client application. ATP maintains and manages the correct sequence of these packets.router Software that interconnects AppleTalk networks to create a single, large, dispersed AppleTalk internet.
Routing Table Maintenance Protocol (RTMP) An AppleTalk protocol that provides routers with a means of managing routing tables used to determine how to forward a packet from one socket to another across an internet based on the packet's destination network number.
RTMP See Routing Table Maintenance Protocol.
secure session An ADSP session that uses ASDSP to perform an authentication process in which the identities of the users at both ends of the connection are verified. Users can exchange data over a secure session, and direct ASDSP to encrypt the data before transmitting it and decrypt the data before delivering to the recipient.
send queue A buffer in which ADSP stores the bytes of data being sent until the remote connection end acknowledges their receipt.
server node ID A node ID that falls within
the numeric range of 128-254 ($80-$FE). An application or process must explicitly request a node ID within the server range by making an extendedOpen
call and setting to 1 the high bit (bit 31) of the extensionioMix
field.session A logical (as opposed to physical) connection between two entities on an internet.
session control block (SCB) A block of memory that an ASP workstation client application must allocate for the .XPP driver
to use internally to manage a session.session establishment The process of setting up a connection over which a dialog between two applications or processes can occur. Session-
oriented protocols provide this service.session key A unique key that the AOCE authentication server generates and returns to the ASDSP initiator in a secure manner. The authentication server generates the session key exclusively for use by the authentication process for the session that the initiator attempts to open. The session key is valid for a limited time only.
session listening socket (SLS) A socket that the ASP server uses to listen for incoming session requests.
session reference number A unique session identifier that ASP assigns to a session that it opens successfully. The ASP server uses this number to distinguish between communication from various concurrent sessions.
SNAP See subnetwork access protocol.
socket A piece of software that serves as an addressable entity on a node. Applications and processes send and receive data through sockets. See also statically assigned socket, dynamically assigned socket.
socket client An application or process that is associated with a socket and that sends and receives data through the socket.
socket listener A piece of assembly-language code that a socket client application provides
that receives datagrams that are addressed to
that socket.socket number An 8-bit number that identifies a socket. A socket number is one of the three parts that together constitute an AppleTalk internet address.
socket table A table that DDP builds and maintains that contains entries for open sockets; each entry identifies the socket number and the socket listener that are associated with it.
state dependence A condition in which a response to a request is dependent on a
previous request.statically assigned socket One of the two classes of sockets that DDP maintains. To use a statically assigned socket, an application must request a specific socket number. Statically assigned sockets have numbers in the range of 1-127. See also dynamically assigned socket.
subnetwork access protocol (SNAP) An 802.2 packet header field that is used to discriminate for which protocol family a packet with a DSAP of $AA is intended.
symmetrical session A session in which both ends of the connection have equal control over the communication. Both ends can send and receive data at the same time and initiate or terminate the session. A symmetrical session is also referred to as a peer-to-peer session.
synchronous execution A mode of executing a routine in which the routine is executed as soon as possible and the calling program is prevented from doing any other processing until the routine completes execution.
TLAP See TokenTalk Link-Access Protocol.
TokenTalk The data link that allows an AppleTalk network to be connected by token
ring cables.TokenTalk Link-Access Protocol (TLAP) The AppleTalk link-access protocol used in a TokenTalk network. TLAP is built on top of the standard token ring data-link layer.
transaction The exchange of data between
two ATP client applications in which the requester application sends a request to the responder application to perform. The exchange of data is limited to the request-response interaction, and the response data is bound to the request data by a transaction ID.transaction-based protocol A communications protocol in which one socket client transmits a request for some action and the other socket client carries out the action and transmits a response.
transaction bitmap The bitmap/sequence number field of the header, when the ATP packet is a request packet. The transaction bitmap identifies the number of buffers that a requester application has reserved for the response data.
transition An AppleTalk event, such as an AppleTalk driver being opened or closed, that can affect an AppleTalk application.
transition event handler routine A developer-
supplied routine that the LAP Manager calls
to handle a transition event. Entries in the AppleTalk Transition Queue contain a field that holds a pointer to the transition event handler routine.transport protocol A protocol that includes services that determine how data is to be transferred across an AppleTalk internet.
tuple The NBP name and internet socket address pair that an entity provides to register itself with NBP. NBP adds the tuple as a names table entry to its names table.
type The field of an NBP entity name that is used to identify the type of service that the entity provides. Entities of the same type can find potential partners by looking up addresses of other entities that are registered with NBP based on the type portion of the name.
user node ID A node ID that falls within the numeric range of 1-127 ($01-$7F). Unless a program explicitly requests assignment of a
node ID within the server range, AppleTalk dynamically assigns a user node ID to a system when an application or process on that system opens AppleTalk.write-data structure A data structure that contains a series of pairs of length words and pointers. Each pair indicates the length and location of a portion of the data that constitutes the packet to be sent over the network.
ZIP table A zone information table that contains a complete mapping of network numbers to zone names for an AppleTalk internet. Each AppleTalk internet router maintains a ZIP table.
zone A logical grouping of nodes in an AppleTalk internet. A zone is typically used
to identify an affiliation between a group of nodes, such as a group of nodes belonging to a particular department within an organization.Zone Information Protocol (ZIP) An AppleTalk protocol that maintains the mapping between zone names and network numbers and provides applications and processes with access to
zone names.zone name hint The name of the parameter stored in RAM that is the last zone to which
the node belonged.