RFC 1159

Message Send Protocol

๐Ÿ“… published June 1990, from ietf

Message Send Protocol ๐Ÿ’–

okay bestie, RFC 1159 is Message Send Protocol, written by R. Nelson of Clarkson University ๐ŸŽ€ and dated June 1990. It's an Experimental Protocol ๐Ÿงช, and the header doesn't list any RFCs it obsoletes or updates โœจ.

Status of this Memo โœจ

this RFC suggests an Experimental Protocol for the Internet community ๐Ÿฆ‹. Hosts on the Internet that choose to implement a Message Send Protocol may experiment with this protocol ๐Ÿงช. For the standardization state and status of this protocol, check the current edition of the "IAB Official Protocol Standards" ๐Ÿ“š. Distribution of this memo is unlimited ๐Ÿ’….

Discussion ๐ŸŒธ

the Message Send Protocol is used to send a short message to a given user on a given terminal on a given host ๐Ÿ’Œ. It's giving the same energy as Unix's write command, which is limited to the users on that host ๐Ÿ™ˆ. On some hosts this service is also known as "SEND" ๐Ÿ“ฃ.

As the Internet grows, more and more people are using hosts that don't run TCP/IP at all times ๐ŸŒ. These hosts may be able to use a simple protocol that can be implemented in a subset of TCP/IP ๐Ÿงš. The Message Send Protocol is one such protocol โœจ.

note that a message sending protocol is already defined using TCP ๐Ÿ‘€. The SMTP protocol includes a "SEND" command that will direct mail to a user's terminal ๐Ÿ“ฌ. SMTP's SEND is not useful in this instance because TCP requires quite a bit of code ๐Ÿ’€. For the purposes of standardization, we will include a TCP based Message Send Service ๐Ÿซถ.

TCP Based Message Send Service ๐Ÿ”Œ

one message send service is defined as a connection based application on TCP ๐Ÿ”Œ. A server listens for TCP connections on TCP port 18 ๐Ÿ‘‚. Once a connection is established, a short message is sent by the client out the connection (and any data received by the client is thrown away) ๐Ÿ—‘๏ธ. The client closes the connection after sending the message ๐Ÿ’œ.

UDP Based Message Send Service ๐Ÿฆ‹

another message send service is defined as a datagram based application on UDP ๐Ÿ“ฆ. A server listens for UDP datagrams on UDP port 18 ๐Ÿ‘‚. When a datagram is received by the server, an answering datagram is sent back to the client containing exactly the same data ๐Ÿ”.

Message Syntax ๐ŸŽ€

the message should consist of several parts ๐Ÿงฉ. The first part is a single octet indicating the protocol revision, currently decimal 65, 'A' ๐Ÿ”ข. The second part is the name of the user that the message is directed to ๐Ÿ’Œ. This and the remaining parts are null-terminated, and consist of eight-bit characters ๐Ÿงฎ. Do not strip the eighth bit of the characters ๐Ÿšซ. The third part is the name of the terminal ๐Ÿ–ฅ๏ธ. The fourth part is the actual message ๐Ÿ’ฌ.

the total length of the message shall be less than 512 octets ๐Ÿ“. This includes all four parts, and any terminating nulls ๐Ÿงท.

if the terminal part is empty, then "the right" terminal is chosen ๐Ÿ–ฅ๏ธ. If the user part is empty, then the message is written on the console ๐Ÿ“บ.

if this protocol is changed, the revision number will be changed ๐Ÿ”ข. In no case will any of the four parts be removed ๐Ÿซถ.

Advisories โš ๏ธ

it is advisable for servers to strip escape sequences before sending them to actual terminals. Some terminals can do nasty things when you send them certain escape sequence ๐Ÿ’€.

in both the TCP and UDP versions of the service, checksums are always used โœ….

Security Considerations ๐Ÿšจ

Security issues are not addressed in this memo. ๐Ÿ˜ญ Please keep that in mind before you deploy anything ๐Ÿ™.

Author's Address ๐Ÿ’Œ

Russell Nelson, Educational Computing System, Clarkson University, Potsdam, NY 13699-5730 ๐ŸŽ“

Phone: (315) 268-6455 ๐Ÿ“ž

EMail: nelson@sun.soe.clarkson.edu ๐Ÿ’œ

๐Ÿ“ฆ where this page comes from