RFC 460

NCP survey

πŸ“… published February 1973, from ietf

RFC 460: NCP Survey πŸ¦‹

okay bestie, we're going back to the 1970s πŸ“Ό This is RFC 460, titled NCP Survey. It was written by Chuck S. Kline (CSK) at UCLA, filed as NIC 14415, and dated 13 February 1973. It comes from the Network Working Group. The original doesn't name a category or status, and it doesn't list anything it obsoletes or updates, so there's nothing to report there 🌸


1. Why This Survey Exists πŸ’Œ

This RFC is the first in a series that will ask for information about how the host to host protocol gets implemented 🧚 Sites are asked to reply to this RFC within two weeks, and one easy way to do it is to make a copy of this RFC at the NIC and put your replies in the right spots. The results will be published ✨

Send replies to nic ident CSK or to:

Charles Kline
Boelter Hall 3804
UCLA
405 Hilgard Ave.
Los Angeles, Cal. 90034

2. What's In Scope πŸŽ€

This particular RFC is about Network Control Programs (NCPs) πŸ’… Future RFCs will cover implementations of Telnet, RJE, etc. Future RFCs will deal with . implementations of Telnet, RJE, etc.

3. What Kline Means By "NCP" πŸ”₯

Before asking anything, Kline explains their concept of an NCP so everyone's on the same page πŸ“š

  • 3a An NCP is the part of the system that does the tasks needed for host to host protocol, as specified by document NIC 7104 (protocols notebook). πŸ’œ
  • 3b NCPs contain the following parts, though not necessarily as separate pieces:
    • 3b1 Code that handles connection establishment, including maintaining the rendezvous table (the table of open and pending connections) πŸ”—
    • 3b2 Code that handles transmission over open connections, including buffer management and sending allocate and giveback commands πŸ“¦
    • 3b3 Code that handles moving messages in and out of the Imp (sometimes called the Imp handler, and sometimes it's in a separate cpu) 🚚
    • 3b4 Other code, including measurements, initialization, etc. 🧹

4. How To Answer πŸ“

It's probably best to give this survey to the coder of the NCP or to another knowledgeable person 🫢 Write na (not applicable) wherever it fits. When a choice is required, circle the number of the right choice. Thank you, bestie πŸ’–

5. General Information 🌈

  • 5a Host Name: ----
  • 5b Site Number: ----
  • 5c Your name ----
  • 5d Main cpu is a ---- (360/75, PDP-10, B6700, etc.)
  • 5e Operating system in main cpu is ---- (tenex, os/360, etc.)
  • 5f Is documentation available on your NCP?
    • 5f1 user level (how to use NCP)
    • 5f2 system level (implementation)
    • 5f3 Is the documentation available at the NIC?

6. Imp Interface πŸ”Œ

  • 6a built:
    • 6a1 in house
    • 6a2 contracted to ----
  • 6b full or half duplex?
  • 6c maximum bandwidth is ---- baud in each direction

7. Coding of NCP πŸ’»

  • 7a ncp was written:
    • 7a1 in house
      • 7a1a written in ---- man-months
      • 7a1b Name of person who wrote NCP ----
      • 7a1c debugged in ---- man-weeks
      • 7a1d machine hours used in development and debugging of NCP ----
    • 7a2 contracted to ----
      • 7a2a contractor took ---- man-months
    • 7a3 supplied another site without modification by this site (specify site where NCP obtained from ------).
    • 7a4 supplied from another site but modified by this site for different system or for other reasons (specify site where NCP obtained from ------)
      • 7a4a modifications took ---- man-weeks
  • 7b NCP is maintained:
    • 7b1 in house (person's name ----)
    • 7b2 by another site (specify site ----)
  • 7c Size of NCP code:
    • 7c1 Total size of all NCP code (not tables or buffers) as described above
      • 7c1a ---- words of ---- bits per word
    • 7c2 size of code which initializes NCP (on system up or after NCP or NET crash)
      • 7c2a ---- words of ---- bits per word
    • 7c3 size of code which handles opening and closing of connections
      • 7c3a ---- words of ---- bits per word
    • 7c4 size of code which moves data from user process to Imp handler or from Imp handler to user process
      • 7c4a ---- words of ---- bits per word
    • 7c5 size of Imp handler code
      • 7c5a ---- words of ---- bits per word
    • 7c6 size of other code (explain what it is)
      • 7c6a ---- words of ---- bits per word
  • 7d Size of NCP tables:
    • 7d1 size of tables indexed by open connection (i.e. tables for control of open connections)
      • 7d1a ---- entries or ---- words per entry of ---- bits per word
    • 7d2 size of tables indexed by link (i.e. tables for link management and for quick association of an input message with a process)
      • 7d2a ---- entries of ---- words per entry of ---- bits per word
    • 7d3 size of other tables (explain)
      • 7d3a ---- entries of ---- words per entry of ---- bits per word

8. Host-Imp Communications πŸ›°οΈ

  • 8a Imp handling is performed in
    • 8a1 main cpu
    • 8a2 additional processor (specify machine ----)
  • 8b Imp handling is performed at:
    • 8b1 interrupt level by resident code
    • 8b2 scheduled process with resident code
    • 8b3 scheduled process with swappable code
  • 8c Number and size of buffers for the Imp handler (on input, number of buffers for messages before cpu will stop taking bits from imp. On output, number of buffers which may be queued before user processes will be blocked waiting for a free buffer)
    • 8c1 ---- output buffers for sending to net of ---- words of ---- bits per word
    • 8c2 ---- input buffers for receiving from net of ---- words of ---- bits per word

9. NCP-Imp Handler Communications 🀝

  • 9a NCP communicates with Imp handler by
    • 9a1 putting message on queue for handler and waking (unblocking) handler (i.e. shared memory approach)
    • 9a2 some other mechanism (explain)

10. NCP-User Communication 🫧

  • 10a Mechanism:
    • 10a1 special mechanism for network (i.e. different than files) using:
      • 10a1a shared resident memory
      • 10a1b shared non-resident (swappable memory or file)
      • 10a1c other (explain)
    • 10a2 similar to file io but network assigned rather than file (i.e. transparent to user process coding)
  • 10b Bytes sizes allowed (circle all)
    • 10b1 1 bit
    • 10b2 7 bit
    • 10b3 8 bit
    • 10b4 9 bit
    • 10b5 16 bit
    • 10b6 18 bit
    • 10b7 24 bit
    • 10b8 32 bit
    • 10b9 36 bit
    • 10b10 other (explain)

11. Buffer Space Allocations 🧺

  • 11a initial allocation when connection (receive) is opened
    • 11a1 ---- messages and ---- bits
  • 11b factors which will change this allocation
    • 11b1 up
    • 11b2 down
  • 11c conditions which would cause a giveback command to be sent

12. Protocol Facilities ⚑

  • 12a Errors
    • 12a1 Do you send error commands when you detect protocol errors?
    • 12a2 Do you log it (or take some other action) when you recieve error commands?
  • 12b Queuing
    • 12b1 do you allow queuing of connections (i.e. when an rts or str is received for which no request is pending, do you refuse it (send back a cls) or queue it? also do you queue when two or more requests match the same socket?)
      • 12b1a yes always
      • 12b1b no always
      • 12b1c yes for listens
      • 12b1d other (explain)
  • 12c Are there hooks (code) in the NCP for:
    • 12c1 NCP measurement
    • 12c2 Network measurement
    • 12c3 MSP and other protocol experiments
    • 12c4 Do any of these hooks allow a user process to send a message with a given leader or look at all messages which arrive with a given leader?

13. Time Outs ⏰

  • 13a How long will the NCP hold a request for connection (INIT or LISTEN) from a user process before timing out if not matched by an RTS or STR from the net ----
  • 13b How long will the NCP hold an STR or RTS received from the net before timing out and sending a CLS ----
  • 13c How long will the NCP wait after sending a reset or echo command before declaring the host dead (assuming you got a RFNM at least) ----
  • 13d Any other timeouts? (explain)

14. Measurements πŸ“Š

Have you made any measurements on the effect of network use on your system?

  • 14a effect of local users using telnet to go out to net
  • 14b effect of foreign users using your system via net
  • 14c bandwidth you have been able to achieve

15. Planned Changes πŸ› οΈ

Are any changes planned or in progress in the design or coding of your NCP? (explain)

16. Other Comments πŸ’¬

  • 16a Please feel free to add other comments on your NCP which you feel would be of interest to the network community. 🌟

[ This RFC was put into machine readable form for entry ] [ into the online RFC archives by Grant Bowman 11/97 ] πŸŽ‰

πŸ“¦ where this page comes from