OSF DCE Application Development Guide--Core Components
RPC Fundamentals
12.2 Communications Protocols
A communications link depends on a set of communications protocols. A
communications protocol is a clearly defined set of operational rules and procedures for
communications.
Communications protocols include a transport protocol (from the Transport Layer of the
OSI network architecture) such as the Transmission Control Protocol (TCP) or the User
Datagram Protocol (UDP); and the corresponding network protocol (from the OSI
Network Layer) such as the Internet Protocol (IP).
For an RPC client and server to communicate, their RPC runtimes must use at least one
identical communications protocol, including a common RPC protocol, transport
protocol, and network protocol. An RPC protocol is a communications protocol that
supports the semantics of the DCE RPC API and runs over specific combinations of
transport and network protocols. DCE RPC provides two RPC protocols: the
connectionless RPC protocol and the connection-oriented RPC protocol.
• Connectionless (Datagram) RPC protocol
This protocol runs over a connectionless transport protocol such as UDP. The
connectionless protocol supports broadcast calls.
• Connection-oriented RPC protocol
This protocol runs over a connection-oriented transport protocol such as TCP.
Each binding uses a single RPC protocol and a single pair of transport and network
protocols. Only certain combinations of communications protocols are functionally valid
(are actually useful for interoperation); for instance, the RPC connectionless protocol
cannot run over connection-oriented transport protocols such as TCP. DCE RPC
supports the following combinations of communications protocols (as provided by OSF):
• RPC connection-oriented protocol over the Internet Protocol Suite, Transmission
Control Protocol (TCP/IP)
• RPC connectionless protocol over the Internet Protocol Suite, User Datagram
Protocol (UDP/IP)
12.3 Binding Information
Binding information includes a set of information that identifies a server to a client or a
client to a server. Each instance of binding information contains all or part of a single
address. The RPC runtime maintains binding information for RPC servers and clients.
To make a specific instance of locally maintained binding information available to a
given server or client, the runtime creates a local reference known as a binding handle.
Servers and clients use binding handles to refer to binding information in runtime calls or
remote procedure calls. A server obtains a complete list of its binding handles from its
RPC runtime. A client obtains one binding handle at a time from its RPC runtime. Figure
12-1 illustrates a binding.
124245 Tandem Computers Incorporated 12−3