Microsoft RPC (Microsoft Remote Procedure Call) is a modified version of DCE/RPC. Additions include partial support for UCS-2 (but not Unicode) strings, implicit handles, and complex calculations in the variable-length string and structure paradigms already present in DCE/RPC.

Example

edit

The DCE 1.0 reference implementation only allows such constructs as size_is(len), or possibly size_is(len-1). MSRPC allows much more complex constructs such as size_is(len / 2 - 1) and even length_is ((max & ~0x7) + 0x7), a common expression in DCOM IDL files.

Use

edit

MSRPC was used by Microsoft to seamlessly create a client/server model in Windows NT, with very little effort. For example, the Windows Server domains protocols are entirely MSRPC based, as is Microsoft's DNS administrative tool. Microsoft Exchange Server 5.5's administrative front-ends are all MSRPC client/server applications, and its MAPI was made more secure by "proxying" MAPI over a set of simple MSRPC functions that enable encryption at the MSRPC layer without involving the MAPI protocol.

History

edit

MSRPC is derived from the Distributed Computing Environment 1.2 reference implementation from the Open Software Foundation, but has been copyrighted by Microsoft. DCE/RPC was originally commissioned by the Open Software Foundation, an industry consortium to set vendor- and technology-neutral open standards for computing infrastructure. None of the Unix vendors (now represented by the Open Group), wanted to use the complex DCE or such components as DCE/RPC at the time.

Microsoft's Component Object Model is based heavily on MSRPC, adding interfaces and inheritance. The marshalling semantics of DCE/RPC are used to serialize method calls and results between processes with separate address spaces, albeit COM did not initially allow network calls between different machines.

With Distributed Component Object Model (DCOM), COM was extended to software components distributed across several networked computers. DCOM, which originally was called "Network OLE", extends Microsoft's COM, and provides the communication substrate under Microsoft's COM+ application server infrastructure.

References

edit
  • Shirley, John; Rosenberry, Ward (1995). Microsoft RPC programming guide. O'Reilly & Associates, Inc. Open Book. ISBN 1-56592-070-8.
  • Luke Kenneth Casson Leighton (1999). DCE/RPC over SMB: Samba and Windows NT Domain Internals. Sams. ISBN 1-57870-150-3.
edit
  • MSRPC at MSDN
  • [1], a chapter on MSRPC from a technical article by Jean-Baptiste Marchand.

📚 Artikel Terkait di Wikipedia

Component Object Model

was the same as the MAPI ABI (released in 1992), and like it was based on MSRPC and ultimately on the Open Group's DCE/RPC. COM was created to replace DDE

DCE/RPC

called "MSRPC", is integrated into Windows NT. MSRPC is derived from the DCE 1.1 reference implementation. Samba contains an implementation of MSRPC that

Inter-process communication

anonymous pipes, named pipes, Local Procedure Call, MailSlots, Message loop, MSRPC, .NET Remoting, and Windows Communication Foundation (WCF) Novell's SPX

Magic number (programming)

begins with FF 53 4D 42, or \xFFSMB at the start of the SMB request. In the MSRPC protocol used by Microsoft Windows, each TCP-based request begins with 05

Samba (software)

which has been somewhat superseded by SMB3. DCE/RPC or more specifically, MSRPC, the Network Neighborhood suite of protocols A WINS server also known as

Distributed Component Object Model

Procedure Calls) – more specifically Microsoft's enhanced version, known as MSRPC. In terms of the extensions it added to COM, DCOM had to solve the problems

NTLMSSP

authentication, HTTP Negotiate authentication (e.g. IIS with IWA turned on) and MSRPC services. The NTLMSSP and NTLM challenge-response protocol have been documented

Remote procedure call

Windows platform. It has been superseded by WCF. The Microsoft DCOM uses MSRPC which is based on DCE/RPC The Open Software Foundation DCE/RPC Distributed