rfc928.txt

来自「RFC 的详细文档!」· 文本 代码 · 共 1,198 行 · 第 1/5 页

TXT
1,198
字号
   A final preliminary:  all the designers and implementors of H-FPs
   present at the December meeting concurred that the true test of any
   protocol is how well it implements.  Therefore, until several
   implementations of the "new" protocol have been performed and
   assessed, it must be understood that the proposed protocol is
   precisely that:  a proposal, not a standard.

   Not too surprisingly, the first point on which consensus was reached
   is that there are three separable aspects (or "layers") to an H-FP:
   At bottom, there must be some physical means for conveying bits from
   Host to OPE and from OPE to Host.  As it has always been a premise of
   outboard processing that the Host's convenience is paramount, just
   what this physical layer is can vary:  typically, a bit-serial
   interface is customary, but parallel/DMA interfaces, if available for
   the Host and interfaceable to a given OPE, are fair game.  (So would
   teleporting the bits be, for that matter.)

   In the middle, there must be a layer to manage the multiplexing of
   network "connections" and the control of the flow between Host and
   OPE.  If we agree to call the lowest layer the Link and the middle
   layer the Channel, one thing which must be noted is that between the
   two of them, the Link and Channel layers must be responsible for
   reliably conveying the bits between Host and OPE. After all, an OPE'd
   Host should not be "weaker" than one with an inboard implementation
   of a robust Host-Host protocol such as TCP.  It should be noted that
   any Host which "comes with" a suitable implementation of the X.25
   interface protocol (where the definition of "suitable" is rather too
   complex to deal with here) could, given an OPE conditioned to accept
   it, quite cheerfully satisfy the requirements of the lower two
   layers. This is not to say that X.25 "is" the mechanization of H-FP's
   Link and Channel layers, however; merely that it could be used.  The
   protocol spec itself will detail an alternative, less cumbersome
   channel layer for Hosts which don't have or want X.25.

   The top layer of H-FP is the most important:  we refer to it as the
   Command layer.  Here is where the peer H-FP modules in a given Host
   and OPE communicate with each other. Indeed, the segregation of JUST
   multiplexing and flow control (plus reliability) into the Channel
   Layer is done--in addition to making it easier for Hosts that possess
   preexisting software/hardware which could be turned to the
   purpose--so as to clarify "what the H-FP is":  it's the commands and


Padlipsky                                                       [Page 5]



RFC 928                                                    December 1984
Introduction to H-FP


   responses of the Command layer wherewith the Host's processes are
   able to manipulate the outboard implementations of the members of a
   protocol suite. The use of the phrase "commands and responses" is
   rather significant, as it happens. For in the protocol to be proposed
   for DOD standardization, unlike all but one of its predecessors,
   binary encoded "headers" are not employed; rather, the H-FP commands
   are indeed ASCII strings, and the responses (following the practice
   of ARPANET FTP) ASCII-encoded numbers.

   There are various reasons for this departure, which initially stemmed
   from a desire to have the same NFE be usable for terminal traffic as
   well as Host offloading, but the one that seemed to dominate when
   consensus was arrived on it as the basis for the new standard is that
   it is very much in the original spirit of H-FP.  That is, if you want
   to "make things as easy as possible for the Host", it makes a great
   deal of sense to offload in a fashion that only requires some sort of
   scenario or script ("exec-com"/"command file"/"shell command" are
   approximations on some systems) in the Host, rather than requiring a
   program, possibly of more complexity than we would like. This is not
   to say that we envision all--or even most--Hosts will take the
   scenario approach to H-FP mechanization, but rather that the command
   orientation chosen allows for the possibility. (It would be useful to
   recall that the Channel layer does all the necessary
   multiplexing/demultiplexing, so that each channel's  metaphorical
   state machine--at least on the Host side--really has very little to
   worry about other than "doing its thing.")

   It should be noted that the proposed protocol provides a mechanism
   for offloading "all" protocols.  That is, although most "first
   generation NFEs" only handled ARPANET Reference Model Layers II and I
   (Host-Host and Network Interface--approximately ISO levels 4-1, with
   some of L5's functionality included when it comes to service
   identifications being handled via Well-Known Sockets in L II), it is
   assumed that OPEs will be evolved to handle L III offloading as well
   (ISO 5-7).  Indeed, it should also be noted that what is being
   addressed here is "the protocol", not "the" OPE.  More will be said
   on this topic below, and in the protocol spec itself, but it is
   important to realize from the outset that the H-FP being proposed is
   intended to be implementable by any number of OPE suppliers/vendors,
   so "an" OPE may or may not choose to implement, say, a given file
   transfer protocol, but provided it says so in proper H-FP terms and
   does offload some other protocols it's still an OPE in our sense of
   the term. (Cf. "Issues" and "Non-Issues", below.)






Padlipsky                                                       [Page 6]



RFC 928                                                    December 1984
Introduction to H-FP


Issues

   The following items are either in some sense still open issues or
   bear special emphasis:

   Command Approach

      The most striking feature of the new H-FP, especially to those who
      have seen older H-FPs, is the decision to employ
      character-oriented commands rather than the more conventional
      binary-oriented headers at the Command Layer.  As noted, the
      primary motivation was the report that the approach worked well
      when it was employed in an H-FP for the Platform Network called
      NAP (Network Access Protocol) [4]. In discussions with NAP's
      originator, Gerry Bailey, the author was convinced of the
      fundamental reasonableness of the approach, but of course that
      doesn't have to convince others.  Additional rationales emerged in
      discussions with Gary Grossman, the originator of the DCA/DTI
      H-FP [5], which is probably the best-known current H-FP and which
      furnished the default Channel Layer for the new one:  In the first
      place, the text approach makes parsing for the ends of
      variable-length parameters easier.  In the second place, it allows
      for the possibility of creating a terminal-supporting OPE in a
      very straightforward fashion should any OPE developer elect to do
      so.  (See below for more on the distinction between OPE developers
      and H-FP implementors.) Finally, there's nothing sacred about
      binary headers anyway, and just because the text approach is
      different doesn't make it "wrong".  So, although it's not out of
      the question that the new protocol should back off from the text
      approach if reviewers and/or implementors come up with compelling
      reasons for doing so, the already frequently encountered reaction
      of "it feels funny" isn't compelling.  (It was, indeed, the
      author's own initial reaction.)  Besides, "nobody" (not even Gary)
      really liked the top layer of the DCA/DTI H-FP.

   X.25 Appropriateness

      Of more concern than how text "feels" is whether X.25 "works".
      That is, we understand that many system proprietors would greatly
      prefer being able to use "off-the-shelf" software and hardware to
      the greatest extent feasible and still be able to do intercomputer
      networking according to DOD Standards, which is a major reason why
      we decided to take the H-FP commands out of the Channel Layer of
      the DCA/DTI H-FP even before we decided to encode them as text.
      However, it is by no means clear that any old vendor supplied
      "X.25" will automatically be usable as a new H-FP Channel and Link
      layer mechanization.  As noted, it all depends upon how Host


Padlipsky                                                       [Page 7]



RFC 928                                                    December 1984
Introduction to H-FP


      programs (the Command Layer/H-FP Protocol Interpreter in
      particular) are able to invoke X.25 on particular systems.  Also,
      there might be peculiarities in the handling of some constructs
      (the Group and Member fields--or whatever they're called--are a
      strong candidate) which could militate against getting JUST
      demultiplexing and flow control out of X.25-as-Channel
      Link/Layers.  For that matter, it's conceivable that on some
      systems only one process can "own" the presumed DCE, but there's
      no interprocess communication available between it and the
      processes that want to use H-FP.  What that all amounts to, then,
      is that we don't pretend to be sufficiently versed in the vagaries
      of vendor-idiosyncratic X.25 implementations to claim more than
      that we THINK the new H-FP Command Layer should fit "on top of"
      X.25 in a Host such that a suitably crafted OPE could look like a
      DCE to the low-level Host software and still be an OPE in our
      sense of the term.  Finally, some reports on bit-transfer rates
      attainable through typical X.25 interfaces give rise to concern as
      to whether such a lash-up would be "good" even if it were
      feasible.

      DCA/DTI Channel Layer Appropriateness

      The Channel Layer of the DCA/DTI H-FP has been implemented for a
      few Host types already, and is being implemented for others (in
      particular, as part of the DODIIS NFE project). A delicate
      decision is whether to alter the header structure (e.g.--and
      perhaps i.e.--to remove the now-superfluous command and response
      fields).  On the "con" side are the considerations that
      implementations DO exist, and that it's well specified.  On the
      "pro" side are that keeping the header as it is is in some sense
      "wasteful" and that somebody's going to have to go over the spec
      again anyway, to remove that which no longer applies.  (It should
      be noted that Gary Grossman was initially tempted to scuttle the
      Group and Member trick, but the presence of a similar
      dichotomizing in X.25 seems to rule that out.)  One of the
      interesting issues during the review phase of the new H-FP, then,
      will be the decision about which way to go on the Channel Layer
      header in its non-X.25 version.  (NOBODY considers going X.25
      only, be it noted.)  By the time the protocol is finalized, it
      will, of course, be made clear in the protocol spec, but I'll
      probably leave this in the final version of the Introduction just
      for historical interest anyway.

   Syntax

      Another point which probably needs close scrutiny during the
      review process is the "syntax" of the command lines.  Basically,


Padlipsky                                                       [Page 8]



RFC 928                                                    December 1984
Introduction to H-FP


      we just took our best shot, but without any claims that it's the
      best possible way to express things.  So comments and/or
      alternatives are earnestly solicited on this one.

   L III Offloading

      Contrary to the expectations of some, we are allowing for the
      offloading of Process/Applications Layer (ARPANET Reference Model
      L III) protocols.  Both Bailey and Grossman reported favorably on
      the feasibility of this. Two points should be made, however: It's
      perfectly fair for a GIVEN OPE implementation not to offload a
      given L III protocol, although it would presumably not sell as
      well as ones which did.  That is, we're not claiming that by
      inventing a mechanization of the feature in the spec we levy a
      constraint on everybody who implements "the protocol", (Cf.
      Fabrication under Non-Issues, below). Just as we were feeling our
      way on syntax in general, we're really feeling our way when it
      comes to the L III stuff.  (I'm not even sure I managed to convey

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?