RFC 323
Formation of Network Measurement Group (NMG)
Formation of Network Measurement Group (NMG) π¦
Okay bestie, this is RFC 323 π It's dated March 23, 1972, and it was written by Vint Cerf of UCLA-NMC, who was also the Chairman of NMG π It's numbered NIC 9630 in the NIC system. The original doesn't list a category or status, and it doesn't obsolete or update any other RFC.
The whole doc is about the NMG group's first meeting, which happened on March 17, 1972, at MIT project MAC π Here's who was in the room:
A. Bhushan - MIT/DMCG
V. Cerf - UCLA/NMC, Chairman, NMG
S. Crocker - ARPA/IPT
J. Forgie - LL/TX-2
R. Metcalfe - MIT/HARV/DMCG
M. Padlipsky - MIT/MULTICS
J. Postel - UCLA/NMC
J. Winett - LL/67
The point of the meeting was to talk about the measurements they already had and the ones they were planning, for how the network and HOSTs behave π§ Let's go!! π₯
1. Measurement Link #'s π
Okay so after what the doc calls a "ridiculously long discussion" (iconic π), they agreed to give links 159-191 to network measurement only. See RFC #317 for more. They also split them up like this:
159-174 HOST DISCARD; co-operating HOSTS receiving messages on
these links will throw them away without generating an
error message.
175-190 To be allocated as needed by V. Cerf - UCLA/NMC.
191 To be used by IMPs to send measurement traffic
obtained from IMP statistics packages.
So basically, HOSTs that want to help with the HOST discard service should change their NCPs so they throw away every message that comes in on links 159-174. They shouldn't send an error back to the source HOST, because no connection is open on these links anyway π Literally no drama.
2. Process Discard π§
Even though nobody brought it up at the meeting, C. Kline at UCLA suggested a PROCESS DISCARD, also with some well-known socket number π The goal is to study how Process-Process behavior works on the network. Main character energy for sure β¨
It would be super convenient if every co-operating HOST wrote a Process Discard program that just sits and waits for ICP on some standard socket number. Before anyone picks a number, though, there has to be a full survey of the well-known socket numbers at each HOST. Until then, no socket number gets proposed (see RFC #322) πΈ
3. NCP Statistics π
At the meeting it was clear that a few sites had already instrumented their NCPs, just out of curiosity π Joel Winett at Lincoln Labs (360/67) is the big one here. He's tracking every connection that local TELNET users start, and he gathers these stats per connection:
- a) Network connect time
- b) NCP CPU time
- c) Number of reads or writes on connection
- d) Time stamps on:
- first RFC, last RFC, first close, last close.
- e) Number of messages and bits transmitted
- f) Log of errors sent or received
MULTICS keeps summary stats too: how many regular (type 0) messages were sent and received, and how many irregular messages (anything that isn't type 0) were sent or received π
The NWG agreed to build a minimal NCP instrumentation procedure. It collects, for each HOST, data from a standard 24 hour period (for example, local midnight to local midnight) π Here's what it grabs:
- a. Total bits sent to HOST
- b. Total bits received from HOST
- c. Total messages sent to HOST
- d. Total messages received from HOST and optionally
- e. Average Round Trip delay on send connections to HOST
Only standard open connections (the ones that use the standard NCP protocol) count here. Measurement links and experimental NCP links don't, and link 0 is totally off the table π ββοΈ
There's also an optional measurement that gathers the distribution of message types over link 0 across ALL HOSTs, not broken down by HOST. It's meant to show how much control messages are being used, and ALLOC should be super prevalent π¦
The stats from the last 24 hour sample period should be available from a process with a well-known (to be specified) socket number. It supports ICP and sends back one message in this format π
16 16
+----------+------------+
word 0 | Day # | Time |
+----------+------------+
| |
1 - 365 (6 on leap year) |______
|
Time in minutes at which sample was
started. Ranges from 0 (midnight) to 1439.
8 8
+--------+------+-------+----------+
word 1 | Source | Byte | N | Format |
| Host | Size | | |
+--------+------+-------+----------+
| | | |_____________
___________| | | |
| | | |
Network | | +-----+-----+--+--+--+--+
Host number | | | | |C |R |B |M |
| | +-----+-----+--+--+--+--+
| | | | | |
| | | | | message
| number of HOST | | | statistics
| related entries | | |
| in message | | |__byte
| | | statistics
| | |
number of bits per | |__average
byte in byte statistics | round-trip
| time
|
|__control
message
distribution
The rest of the words depend on the Format byte setting, so here's how those are laid out π
<-------32--------->
+---------------------+
| Foreign HOST # | always present
/ +---------------------+
| | messages received | if FORMAT bit M set
| +---------------------+
| | Bytes received | if FORMAT bit B set
N of these | +---------------------+
entries | | message sent | if FORMAT bit M set
| +---------------------+
| | Bytes sent | if FORMAT bit B set
| +---------------------+
\ | Average delay | if FORMAT bit R set
+---------------------+
This is average RFNM
delay in milliseconds
8 24
+-------+---------------+
| type | Count | if FORMAT bit C set these
+-------+---------------+ are link 0 control message
| | | distributions for the
+-------+---------------+ sample period, cumulative
| | | over all HOSTs. If a type is
+-------+---------------+ not present, its count is
| | | assumed to be 0.
+-------+---------------+
| | |
+-------+---------------+
| | |
+-------+---------------+
| . | . |
. .
. .
+-------+---------------+
|type | Count |
+-------+---------------+
The process that sends these stats keeps going until the whole sample has been sent, and then it closes both connections π The process that asked for the connection in the first place should keep allocating space while it's available, until it gets a close request on the open connections. Then it answers with matching closes. The sending process shouldn't close until it has received a RFNM for the last message it wants to send π«Ά
More coming in part 2, so stay tuned πβ¨
6. Artificial traffic generator β¨
Okay so UCLA and Lincoln Labs both tried artificial traffic generators as a way to test network capacity π§. At Lincoln Labs, J. Forgie used the 360/67 to generate traffic from a normal user process. Depending on system load, he could keep traffic rates anywhere from 4800 bps to 38K bps π . UCLA has had a generator for about a year and got transmission rates around 75K bps by using multiple links for parallel transmission π₯.
The NWG is obsessed with the idea of having these generators available at several HOSTs so they can artificially load the network π«Ά. Ideally, generators could be started by a TELNET-like protocol and would let you specify:
- a) Link #'s to send on
- b) Destination: HOST's or IMP's discard
- c) Inter-arrival time distribution for messages sent on each link (i.e. possibly different distribution for each link). Or at least average IAT for assumed exponential distribution. An average IAT of 0 would imply RFNM driven traffic
- d) Message length distribution, or average, or fixed length for each link.
It would also be super helpful to accumulate average round-trip times and total bits sent for the duration of the experiment π.
At UCLA, the traffic generator lets you specify:
- a) message header (includes link #)
- b) message length (for each link) - distribution (can be constant for each link)
- c) message inter-arrival time - distribution for each link
- d) Duration of generation in seconds
We can also send imperative commands to the program to stop message generation prematurely π. Throughput and average response times (Round Trip delays) are automatically accumulated for each link and get published at the end of the experiment π.
A more sophisticated version will also let you specify the ICP socket number for the Process Discard experiments π. The idea is to have a bunch of artificial traffic generators at different sites and be able to start them up remotely from UCLA/NMC during a measurement experiment. More details of the desired generator will be published in another RFC π.
7. Measurements at other sites πΈ
People at sites that aren't mentioned here may have done some measurement work too, and the NWG totally encourages them to publish their results π. If anyone is interested in co-operating with the NWG on making NCP measurements (or what-have-you), please get in touch with:
Vint Cerf
UCLA-NMC Computer Science Department
3804 Boelter Hall
Los Angeles, California 90024
(213) 825-4864
(213) 825-2368
[This RFC was put into machine readable form for entry]
[into the online RFC archives by HοΏ½lοΏ½ne Morin, ViagοΏ½nie, 12/99]
π¦ where this page comes from
- ietf: rfc323 1972-03
- π girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms