Transport Protocol Independence of Sun RPC - NFS

This is a discussion on Transport Protocol Independence of Sun RPC - NFS ; Folks, Chapter 29 (NFS: Network File System) of Stevens' "TCP/IP Illustrated, Volume 1" says: "2. If an unreliable protocol such as UDP is used, details like timeout and retransmission are handled by the RPC package. This simplifies the user application." ...

+ Reply to Thread
Results 1 to 8 of 8

Thread: Transport Protocol Independence of Sun RPC

  1. Transport Protocol Independence of Sun RPC

    Folks,

    Chapter 29 (NFS: Network File System) of Stevens' "TCP/IP Illustrated,
    Volume 1" says:

    "2. If an unreliable protocol such as UDP is used, details like
    timeout and retransmission are handled by the RPC package. This
    simplifies the user application."


    However, I've been reading the Sun RPC specification (RFC 1831), and
    it says:

    "It is important to point out that RPC does not try to implement any
    kind of reliability and that the application may need to be aware of
    the type of transport protocol underneath RPC. If it knows it is
    running on top of a reliable transport such as TCP [6], then most of
    the work is already done for it. On the other hand, if it is running
    on top of an unreliable transport such as UDP [7], it must implement
    its own time-out, retransmission, and duplicate detection policies as
    the RPC protocol does not provide these services."

    Am I missing something, or is it that both explanations do not match?


    --
    Fernando Gont
    e-mail: fernando@ANTISPAM.gont.com.ar

    [To send a personal reply, please remove the ANTISPAM tag]

  2. Re: Transport Protocol Independence of Sun RPC

    Fernando Gont wrote:

    > Am I missing something, or is it that both explanations do not match?


    They don't match but they may not be refering to the same RPC package.

    Stevens may be talking in general which Sun is talking about a specific
    RPC package.

    Guy
    -- --------------------------------------------------------------------
    Guy Dawson I.T. Manager Crossflight Ltd
    gnues@crossflight.co.uk


  3. Re: Transport Protocol Independence of Sun RPC

    On Thu, 25 Sep 2003 17:41:37 +0100, Guy Dawson
    wrote:

    >> Am I missing something, or is it that both explanations do not match?

    >They don't match but they may not be refering to the same RPC package.
    >Stevens may be talking in general which Sun is talking about a specific
    >RPC package.


    No, he's talking about Sun RPC.

    --
    Fernando Gont
    e-mail: fernando@ANTISPAM.gont.com.ar

    [To send a personal reply, please remove the ANTISPAM tag]

  4. Re: Transport Protocol Independence of Sun RPC


    On TCP/IP, Sun RPC does not do any error recoverying.
    On UDP/P, it does.


    Vernon Schryver vjs@rhyolite.com

  5. Re: Transport Protocol Independence of Sun RPC

    On 25 Sep 2003 15:33:10 -0600, vjs@calcite.rhyolite.com (Vernon
    Schryver) wrote:

    >On TCP/IP, Sun RPC does not do any error recoverying.
    >On UDP/P, it does.


    According to the spec, it doesn't:

    "....On the other hand, if it is running
    on top of an unreliable transport such as UDP [7], it must implement
    its own time-out, retransmission, and duplicate detection policies as
    the RPC protocol does not provide these services."


    --
    Fernando Gont
    e-mail: fernando@ANTISPAM.gont.com.ar

    [To send a personal reply, please remove the ANTISPAM tag]

  6. Re: Transport Protocol Independence of Sun RPC



    Fernando Gont wrote:
    > On 25 Sep 2003 15:33:10 -0600, vjs@calcite.rhyolite.com (Vernon
    > Schryver) wrote:
    >
    >
    >>On TCP/IP, Sun RPC does not do any error recoverying.
    >>On UDP/P, it does.

    >
    >
    > According to the spec, it doesn't:
    >
    > "....On the other hand, if it is running
    > on top of an unreliable transport such as UDP [7], it must implement
    > its own time-out, retransmission, and duplicate detection policies as
    > the RPC protocol does not provide these services."


    There is no inconsistency here. The RFC is dealing with the on-wire protocol,
    which does not have any error recovery or retransmission built into it,
    such as TCP has, while Stevens is referring to a specific *implementation*
    and API, which can and does provide such recovery and retransmission on
    behalf of the client.
    --
    blu

    Lesson from the blackout of 2003:
    The power grid is THE most critical infrastructure, upon which all
    others depend, and nobody really knows how it works.
    --------------------------------------------------------------------------------
    Brian Utterback - Solaris Sustaining (NFS/Naming) - Sun Microsystems Inc.,
    Ph/VM: 781-442-1343, Em:brian.utterback-at-ess-you-enn-dot-kom


  7. Re: Transport Protocol Independence of Sun RPC

    On Thu, 02 Oct 2003 11:29:06 -0400, Brian Utterback
    wrote:

    >>>On TCP/IP, Sun RPC does not do any error recoverying.
    >>>On UDP/P, it does.

    >> According to the spec, it doesn't:
    >> "....On the other hand, if it is running
    >> on top of an unreliable transport such as UDP [7], it must implement
    >> its own time-out, retransmission, and duplicate detection policies as
    >> the RPC protocol does not provide these services."

    >There is no inconsistency here. The RFC is dealing with the on-wire protocol,


    Sorry, what do you mean by "the on-wire protocol"?


    >which does not have any error recovery or retransmission built into it,
    >such as TCP has, while Stevens is referring to a specific *implementation*
    >and API, which can and does provide such recovery and retransmission on
    >behalf of the client.


    The RFC 1057, for example, talked about "Sun RPC", so.... are Stevens'
    book and the RFC talking about different things, really?


    --
    Fernando Gont
    e-mail: fernando@ANTISPAM.gont.com.ar

    [To send a personal reply, please remove the ANTISPAM tag]

  8. Re: Transport Protocol Independence of Sun RPC

    Fernando Gont wrote in message news:...
    > The RFC 1057, for example, talked about "Sun RPC", so.... are Stevens'
    > book and the RFC talking about different things, really?


    Probably talking about the same thing.

    Sun (ONC) RPC over UDP deals with retransmissions because UDP
    is unreliable. But eventually an RPC request over UDP will
    give up. ONC RPC over TCP will typically send the request just once
    over the TCP connection, and rely on the TCP to deal with low level
    retries. If the TCP connection breaks (or if the application server
    neglects to respond ... very bad form but it happens), then eventually
    the RPC over TCP times out as well.

    Even the Transport-Independent RPC code in System V Release 4 and
    Solaris treats connection oriented and connection less transports
    differently; this imposes a burden on applications to understand
    that they are dealing with two different models.

+ Reply to Thread