rfc909.txt

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

TXT
2,217
字号
















     Page 2



     LDP Specification                             General Description



                                 CHAPTER 2


                            General Description



     2.1  Motivation

          LDP is an  application  protocol  that  provides  a  set  of
     commands  used  by  application programs for loading, dumping and
     debugging target machines across a network.

          The goals of this protocol are shown in the following list:


          o   The protocol should support various processor types  and
              operating  systems.   Overhead  and complexity should be
              minimized for simpler cases.


          o   The protocol should provide support for applications  in
              which  more  than  one  user  can  debug the same target
              machine.  This implies an underlying transport mechanism
              that supports multiple connections between a host-target
              pair.


          o   LDP should have a minimal subset of  commands  for  boot
              loading  and dumping.  Target machine implementations of
              these applications are often restricted in the amount of
              code-space  they  may  take.   The  services  needed for
              loading and dumping  should  be  provided  in  a  small,
              easily implemented set of commands.


          o   There should be a means for communicating exceptions and
              errors from the target LDP process to the host process.


          o   LDP should allow the application to implement a full set
              of debugging functions without crippling the performance
              of the target's application (i.e., PSN,  PAD,  gateway).
              For  example,  a  breakpoint  mechanism  that  halts the
              target machine while breakpoint commands are  sent  from
              the  host  to the target is of limited usefulness, since
              the target will  be  unable  to  service  the  real-time



                                                                Page 3



     RFC-909                                                 July 1984



              demands of its application.



     2.2  Relation to Other Protocols

          LDP is an application protocol that fits  into  the  layered
     internet  protocol environment. Figure 1 illustrates the place of
     LDP in the protocol hierarchy.





                  +------------------------------+
                  |              LDP             |        Application
                  +------------------------------+        Layer
                        |                  |
                        |                  |
                        |                  |
                  +---------+          +---------+
                  |   RDP   |    or    |  TCP    |        Transport Layer
                  +---------+          +---------+
                    | or |                |
                    |    |                |
                    |  +--------------------+
                    |  |  Internet Protocol |             Internetwork
                    |  +--------------------+             Layer
                    |              |
                  +------------------------------+
                  |    Network Access Protocol   |        Network Layer
                  +------------------------------+


                        Relation to Other Protocols
                                 Figure 1














     Page 4



     LDP Specification                             General Description



     2.2.1  Transport Service Requirements

          LDP requires that the underlying transport layer:



          o   allow connections to be opened by specifying  a  network
              (or  internet)  address.   Support  passive  and  active
              opens.

          o   for each connection, specify the maximum message size.

          o   provide a mechanism for sending and  receiving  messages
              over an open connection.

          o   deliver messages reliably and in sequence

          o   support multiple connections, and  distinguish  messages
              associated  with  different connections.  This is only a
              requirement where LDP is  expected  to  support  several
              users at the same time.

          o   explictly return the outcome (success/failure)  of  each
              request  (open,  send,  receive), and provide a means of
              querying the  status  of  a  connection  (unacknowledged
              message count, etc.).


          Data is passed from the application program to the LDP  user
     process  in  the  form of commands.  In the case of an LDP server
     process, command responses originate in LDP itself.  Below LDP is
     the  transport  protocol.  The  Reliable  Data  Protocol  (RDP --
     RFC 908) is the recommended transport procotol.  Data  is  passed
     across  the  LDP/RDP interface in the form of messages.  (TCP may
     be used in place of RDP, but it will be  less  efficient  and  it
     will  require  more  resources  to implement.)  An internet layer
     (IP) normally comes between RDP and the network  layer,  but  RDP
     may exchange data packets directly with the network layer.

          Figure  2  shows  the  flow  of  data  across  the  protocol
     interfaces:









                                                                Page 5



     RFC-909                                                 July 1984





                               +------+
                               |      |
                               |Appli-|
                               |cation|
                               |      |
                               +------+
                                  ^
                       Commands   |
                                  V
                               +------+
                               |      |
                               | LDP  |
                               |      |
                               +------+
                                  ^
                       Messages   |
                                  V
                               +-----+
                               |     |
                               | RDP |
                               |     |
                               +-----+
                                  ^
                       Segments   |
                                  V
                                +----+
                                |    |
                                | IP |
                                |    |
                                +----+
                                  ^
                       Datagrams  |
                                  V
                              ?  *     !
                           $  =      ^   +
                             *
                          >    Internet
                            ,            ?
                                 !    )
                              *   %     $


                   Form of Data Exchange Between Layers
                                 Figure 2




     Page 6



     LDP Specification                             General Description





















































                                                                Page 7



     RFC-909                                                 July 1984





















































     Page 8



     LDP Specification                              Protocol Operation



                                 CHAPTER 3


                            Protocol Operation



     3.1  Overview

          An LDP session consists  of  an  exchange  of  commands  and
     responses  between an LDP user process and an LDP server process.
     Normally,  the  user  process  resides  on  a  host  machine   (a
     timesharing  computer  used  for network monitoring and control),
     and the server process resides on a  target  machine  (PSN,  PAD,
     gateway,  etc.).   Throughout  this document, host and target are
     used  as  synonyms  for  user   process   and   server   process,
     respectively,  although  in  some implementations (the Butterfly,
     for example) this  correspondence  may  be  reversed.   The  host
     controls  the  session  by  sending commands to the target.  Some
     commands elicit responses, and all commands may elicit  an  error
     reply.

          The protocol contains five classes  of  commands:  protocol,
     data  transfer,  management,   control  and breakpoint.  Protocol
     commands are used to verify the command sequencing mechanism  and
     to handle erroneous commands.  Data transfer commands involve the
     transfer of data from one place to another, such  as  for  memory
     examine/deposit,  or  loading.  Management  commands are used for
     creating   and   deleting   objects   (processes,    breakpoints,
     watchpoints,  etc.)  in the target machine.  Control commands are
     used to control the execution of  target  code  and  breakpoints.
     Breakpoint commands are used to control the execution of commands
     inside breakpoints and watchpoints.



     3.2  Session Management

          An LDP session consists of a series of commands sent from  a
     host  LDP  to  a  target  LDP,  some  of which may be followed by
     responses from the target.  A session begins when a host opens  a
     transport  connection to a target listening on a well known port.
     LDP uses RDP port number zzz or TCP port number  yyy.   When  the
     connection  has been established, the host sends a HELLO command,
     and the target  replies  with  a  HELLO_REPLY.   The  HELLO_REPLY
     contains  parameters that describe the target's implementation of
     LDP, including protocol  version,  implementation  level,  system



                                                                Page 9



     RFC-909                                                 July 1984



     type,  and  address format.  The session terminates when the host
     closes the underlying  transport  connection.   When  the  target
     detects  that the transport connection has been closed, it should
     deallocate any resources dedicated to the session.

          The target process is the passive partner in an LDP session,
     and  it  waits for the host process to terminate the session.  As
     an implementation consideration, either LDP  or  the   underlying
     transport  protocol  in  the  target  should  have  a  method for
     detecting if the host process  has  died.   Otherwise,   an   LDP
     target  that  supported  only  one  connection  could be rendered
     useless by a host that crashed in the  middle of a session.   The
     problem  of  detecting  half-dead  connections  can be avoided by
     taking a different tack:  the target could allow new  connections

⌨️ 快捷键说明

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