J. Postel
IEN 177 ISI
24 March 1981
Comments on Action Items from the January Meeting
At the recent Internet Meeting a number of issues were raised as "action
items" [1]. Many of these can be resolved fairly simply. This note
describes the resolutions I propose. These topics may be further
discussed at future meetings or via IENs. Your comments are requested.
Action Items from RSRE:
1. Dynamic timeouts for retransmission in TCP.
Yes. The algorithm described by RSRE at the October 80 meeting
should be implemented. It will be included in the next edition of
the TCP specification.
The current best procedure for retransmission timeout is to
measure the time elapsed between sending a data octet with a
particular sequence number and receiving an ack that covers
that sequence number (thus one does not have to match sends and
acks one for one). Using that measured elapsed time as the
round trip time (RTT), compute a smoothed round trip time SRTT
as:
SRTT = ( ALPHA * SRTT ) + ( (1-ALPHA) * RTT )
And based on this, compute the retransmission timeout (RTO) as:
RTO = min[ BOUND, BETA * SRTT ]
Where BOUND is an upper bound on the time-out (e.g., 30
seconds), ALPHA is the smoothing factor (e.g., .8 to .9), and
BETA is a delay variance factor (e.g., 1.3 to 1.5).
2. Flag bit for copied options in IP fragments.
Yes. This makes good sense and will be done in the next edition
of the IP specification.
The option type octet is viewed as having three fields:
1 bit: copied flag (0=do not copy, 1=copy)
2 bits: option class
5 bits: option number
Postel [Page 1]
IEN 177
Comments on Action Items from the January Meeting
The options affected are: security, source routing (loose &
strict), and stream identifier.
3. Specification for strict source routing.
Yes. In the next edition of the IP specification there will be
two options: Loose Source Routing (LSR) and Strict Source Routing
(SSR). LSR will be the source routing currently specified which
allows arbitrary internet routing between the listed addresses.
SSR will have the same syntax, but will require that the next
listed address be the next internet node visited (where "internet
node" is a gateway or host), and that it be accessed via the net
in the listed address.
4. Standard addresses for Echo, Discard, and Character Generator
servers.
These already exist. Assigned Numbers [2] lists ports for both
UDP and TCP servers as follows:
PORT SERVER
---- ------
7 Echo
9 Discard
19 Character Generator
5. Techniques for preventing Silly Window Syndrome (SWS).
I am not sure we fully understand this yet, but it is clear that
very small window updates aggravate the situation. The next
edition of the TCP specification will include words of caution
about small window updates.
Perhaps it should say "don't update the window unless the
additional space exceeds X percent of the total buffer space
for this connection". Any suggestions for the value of X?
The sender can also try to stay out of SWS by only sending big
segments and waiting until the window is large enough to allow
it. If the sending user indicates an end of letter then the
data must be sent even if it is a small segment.
At the same time we don't want to delay the acknowledgment, so
when a small segment arrives and is accepted, the typical
response should be to send an acknowledgement without updating
the window.
It is also thought that the probing of a zero window with an octet
Postel [Page 2]
IEN 177
Comments on Action Items from the January Meeting
of new data may lead to SWS. Some consideration of probing with
the most recent octet of old data is in order. It is not clear
that this can be done reliably (does it matter?), or that an "old
data" probe will elicit new window information.
6. No changes to addressing for a while.
I am not sure we can do this. There is clearly a need to provide
for a large number of networks in the future. Vint's proposal for
alternate ways of cuttting up the 32-bit internet address may be
included in the next edition of the IP specification.
high order bits format
--------------- ------
0 7 bits of net, 24 bits of host
10 14 bits of net, 16 bits of host
110 21 bits of net, 8 bits of host
111 escape to extended addressing mode
A value of zero in the net field means this net. The extended
addressing mode is undefined as yet.
Action Items from NDRE:
1. A HDLC port on the SATNET gateway is needed.
A problem for Vint and BBN.
2. ARPANET availability must be improved.
A problem for Vint and DCA and BBN.
Action Items from MIT:
1. A maximum segment size TCP option is needed.
Yes. This can be included in the next edition of the TCP
specification. The syntax will be the same as the existing Buffer
Size option.
Action Items from DCEC:
1. How do we provide testing facilities to companies that develop
TCP products?
A problem for Vint and DCA.
Postel [Page 3]
IEN 177
Comments on Action Items from the January Meeting
2. How do we control transit traffic?
This is a difficult problem, and I only promised answers to the
easy ones. Right now the only information available for an IP
gateway to base a decsion on is the stuff in the IP header (source
and destination address, protocol, tos, security). In the current
situation, my approach would be to have a gateway that cares about
restricting transit traffic to have a list of approved sources and
have it simply discard and datagram from a source not on the list.
Action Items from BBN:
1. Rubber EOL and Buffer Size has implementation impact in TAC.
My understanding of this is that implementation of TCP in the TAC
is purposely not capable of handling rubber eol. A survey of some
implementers indicates that no implementaion sends the buffer size
option. This means that rubber eol never occurs. Vint suggests
deleting the buffer size option. This implies that all the rubber
eol stuff can go away. I am prepared to delete the buffer size
option and all references to the rubber properties of eol from the
next edition of the TCP specification. What do you say?
Questions from SDC:
1. Who supplies the "protocol" field for the IP header, IP or the
transport protocol?
This is an implementation specific issue. In the simplest case
the IP just dosen't care what the protocol field says so the upper
level protocol can supply it on each call. In a more controlled
operating system environment the IP would fill in the protocol
field in the individual datagrams sent based on some initial set
up call from the upper level protocol module which supplied the
value at that time.
2. What is the nature of the interaction between IP and GGP?
The nature of the interaction between IP and GGP can only be
described as friendly. Actually, at the meeting I discussed a set
of messages that combine the messages gateways send to hosts and
messages that hosts send to hosts about problems with datagrams
[3]. The plan is to establish this as a separate control protocol
for IP. The interaction between the control protocol module and
the IP module would be very intimate -- they would be the same
module.
Postel [Page 4]
IEN 177
Comments on Action Items from the January Meeting
3. Is source routing loose or strict?
Both. The current IP specification of the source routing option
is for the loose source routing. A similar option for strict
source routing will be documented.
Question from BBN:
1. How does IP interact with the local net, on errors, on flow
control, etc.?
Since IP is supposed to work with such radically different local
nets it is not clear there is an answer to this question.
Whatever information the local net hands back to the IP about
errors (e.g., non-delivery) should be communicated to the source
of the datagram.
Question from ISI:
1. What is the size and precision of time stamps used in internet
measurements? What is time zero?
One proposal is the number of milliseconds since midnight 1
January 1980 GMT modulo 2**32, in other words the low order 32
bits of that value (32 bits of milliseconds is approximately 49.7
days). The IP Timestamp Option now simply says it is 32 bits of
milliseconds, failing to mention what time zero is, or indicating
in any way who did the stamping. I propose to change the option
to include the internet address of the stamper and to specify time
zero as 1 January 1980. This will make the option 10 octets long
and allow at most 4 stamps in a datagram header. There is also no
way to indicate what datagrams are to be stamped. Possibly the
"stamper addresses" should be filled in by the source to indicate
which internet modules (gateways or hosts) are supposed to fill in
times.
Action Item for ISI:
1. A NIFTP-MAIL/MTP interface data structure should be defined soon.
Actually, this is a host specific issue of defining the internal
stored format for queued mail for multiple recipients. This
format may be used by both MTP and NIFTP-MAIL as well as a number
of user interface programs. ISI is working on it for TOPS20.
Postel [Page 5]
IEN 177
Comments on Action Items from the January Meeting
Question from ARPA:
1. There is a open question about mailbox addresses and the problem
of sending (and answering) mail to (from) mailboxes in other systems
(e.g., Internet, TELEMAIL, ONTYME).
The quick answer seems to depend on making another systems
structured address be one field in your own systems structured
address. Even so automatic derivation of reply addresses is hard.
Otherwise this is a tricky problem.
References
[1] Postel, J., "Internet Meeting Notes -- 28-29-30 January 1981",
IEN 175, USC/Information Sciences Institute, March 1981.
[2] Postel, J., "Assigned Numbers", RFC 776, USC/Information
Sciences Institute, January 1981.
[3] Postel, J., "What Every Host Should Know About GGP",
USC/Information Sciences Institute, January 1981.
Postel [Page 6]