3.2.1 File Objects Represent Transport Addresses

TDI supports both unreliable connectionless and reliable connection-oriented data transfer.

Unreliable connectionless data can be sent to one or a group of processes that have opened a particular transport address on a remote node. When sending unreliable connectionless data, as datagrams, the sender need only identify the target remote-node address for the process or group of processes for them to receive each such datagram.

Reliable connection-oriented data transfers can be sent between two processes if an endpoint-to-endpoint connection (also called a virtual circuit) has been established between them. An endpoint-to-endpoint connection is a one-to-one association between two, and only two, processes. To establish such a connection, one process must identify the process with which it wants to establish the connection. Each such process must have opened a transport address and a connection endpoint on its respective network node and associated its connection endpoint with the open transport address. For more information about connection endpoints, see Section 3.2.2.

The TDI entity used to identify a specific process, or a specific group of processes is one or more open process-specific file object(s) that represent a particular transport address. Such a file object contains transport-supplied pointers to driver-maintained state that identifies the specific process and the node on which that process resides. The state a "routable" transport, such as TCP/IP, Mcsxns, AppleTalk and NWLink, maintains about such an address also contains information that identifies the network (or subnet) on which the node resides.

Certain TDI-defined transport address types accommodate explicit or implicit indications of whether the address identifies a single process (unique address), or can identify a group of processes (group address). In the case of a group address, the TDI-defined address can contain information that identifies the specific processes, that is, the node on which the process resides, and the network (or subnet) on which the node resides.

A number of address types are supported by TDI. The following describes the format and usage of three commonly-used TDI address types: