relationship between DCE/RPC and NT Named Pipes.
Luke Kenneth Casson Leighton
lkcl at samba-tng.org
Wed Jan 9 17:15:16 GMT 2002
On Wed, Jan 09, 2002 at 05:16:43PM +1030, Richard Sharpe wrote:
> >Richard Sharpe wrote:
> I contend that SMB is not (an) RPC (protocol), it is simply a remote
> access protocol. MS have, however, used SMB as a transport for their RPC
> mechanism, which is DCE/RPC.
you are correct. the transport that SMB implements is
called "Named Pipes". look up the MSDN starting with
Named Pipes are basically the following features:
- the caller's user security context may be transferred
to the server application, for the server application
to use as it sees fit
- guaranteed, ordered transaction-based message passing,
where the maximum message size is negotiable.
basically, it's an incredibly powerful system, and unix
has ***nothing*** remotely resembling it.
unix doesn't even support the concept of a remote user
in order for a remote user to be relevant over a named pipe,
for pity's sake!
unix supports TCP (guaranteed and ordered data delivery)
and it supports UDP (guaranteed message sizes) but it doesn't
and NT "Named Pipes" do.
which is why microsoft decided to use them as a transport
and it's worthwhile pointing this out again: that's the
*only* relationship between named pipes and dce/rpc.
one uses the other.
there _is_ no special MSRPC-namedpipe-interdependent-
in other words, it is possible to implement NamedPipes
in SAMBA-3, knowing absolutely _nothing_ about dce/rpc
_whatsoever_, and then to give the API functions to
a dce/rpc developer and say, "write a transport plugin
module for your dce/rpc runtime environment that uses
_this_ api", and they can.
but - and i'll say it again - without that "Named Pipe"
API in SAMBA-3, there's absolutely _no_ point in any
further discussion, as no progress can be made.
More information about the samba-technical