分享
 
 
 

RFC121 - Network on-line operators

王朝other·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

Network Working Group M. Krilanovich

Request for Comments: 121 Computer Research Lab, UCSB

NIC: 5833 21 April 1971

NETWORK ON-LINE OPERATORS

PREFACE

The operators described in this document have been implemented within

UCSB's On-Line System and make the Network (via the NCP) Accessible

to On-Line System users.

A set of operators is provided to facilitate the use of the Network

by On-Line System users. The operators are defined on LVL I on

system 'NET', and serve an an interface between the users and the

Network Control Program (NCP), which supervises all Network

operations at this site.

A concept fundamental to On-Line System Network operations is that of

a completion code variable. Associated with each socket that is not

in the closed state is a unique variable, called a completion code

variable. This variable serves two purpose: it identifies the local

socket referenced, and upon completion of the operation it contains a

completion code to indicate the outcome of the operation to the user.

It may be used at any time for any purpose other than Network

operations. Its value at the beginning of a Network operation is

immaterial rather it is the variable itself that is important. In

all Network operations, whenever a completion code variable is called

for, the only acceptable type variable is a LO storage location,

either case 1 or case 2.

In those operations requiring a socket to be specified by its socket

identifier, the following format is used: the site number of UCSB is

always used for local sockets, and so this item is never specified.

The site number of a foreign socket, if specified, must be a positive

integer or a LO storage location, and must be less then 256 in value.

If not specified, the site number of a foreign socket will default to

the site number of UCSB. A socket number is specified as an integer,

either unsigned, in which case it is assumed to be positive, or with

an eXPlicit minus sign, or a LO storage location, of any value.

Negative socket numbers are represented internally in two's

complement form and therefore for the purpose of the gender of a

socket, a socket number is even or odd according to whether its

absolute value is even or odd, respectively.

In all operations involving the On-Line System Network operators,

there are certain conventions concerning the format of the data sent

and received. The data is grouped in 'messages' consisting of three

fields, op code, length, an text, in that order. The op code is one

byte in length and is a code which indicates how the text field is to

be interpreted. The length field is two bytes long, and gives the

length, in bits, of the text field, which contains the actual data.

(The op code and length fields together are termed a header.)

The following op codes are presently defined:

op code meaning

0 This op code is a NOP. No text field exists, and the

contents of the length field are unpredictable. (This

op code is used mainly as a delimiter.)

1 The text field contains EBCDIC characters, one

character per byte. The On-Line System operators

consider the characters as intended for display as

soon as the text field has been received.

2 The text contains codes for keypushes, one byte per

key. The On-Line operators consider the keys as

intended for execution as soon as the text field has

been received.

3 The same as for an op code of 2, except that the On-

Line operators consider that the execution of the keys

will be delayed until all data for that receive

operation has been received.

The standard format of data sent or received by the On-Line System

operators is a string of messages, with the last message indicated by

a header with a NOP op code, called a trailer. These conventions are

the default situation; any of them may be overridden by appropriate

programming. Following is a description of each operator, its

function and key sequence.

(1) OPEN

By invoking this operator, the user requests that the specified

local socket be removed from the closed state and thus be prepared

to participate in data transfer. There are three distinct

operations that can be performed by this operator and these are

described below:

(A) CONNECT

By invoking this operator, the user requests that the specified

local socket be logically connected to the specified foreign

socket, and that transfer of data be enabled between the two

sockets. Processing at the terminal is suspended until the

foreign sockets either accepts or rejects the connection

attempt. This operation is valid only when the local socket is

in the closed state.

The key sequence is as follows:

UP Q1 Q2,Q3[,Q4] RETURN

where

Q1 is the completion code variable to be associated with the

local socket.

Q2 is the socket number of the local socket.

Q3 is the socket number of the foreign socket.

Q4 is the site number of the foreign socket.

The following completion codes are possible for this operation:

0, The operation was successful and the connection has been

established

4, The specified completion code variable is already

assigned to a socket; the operation was suppressed

8, The specified local socket is not in the closed state;

the operation was suppressed

12, All communication paths to the specified foreign site

are in use; the operator was suppressed

16, Local resources are insufficient to support another

connection; the operation was suppressed

20, The connection attempt was rejected by the foreign

process

28, The specified foreign site is invalid; the operation was

suppressed

36, Either hardware at the foreign site is inoperative or

the NCP's counter-part at the foreign site does not exist

or has failed

40, Local and foreign sockets are both either send or

receive sockets; the operation was suppressed

44, By operator command, all Network operations were

terminated; the socket will be closed

60, An NCP control transmission error occurred; the

operation as suppressed

(B) LISTEN

This operation is a request for notification of any connection

attempt directed toward the specified local socket. Processing

at the terminal is suspended until such a call is received.

This operation is valid only when the designated local socket

is in the closed state.

The key sequence is as follows:

UP Q1 Q2 RETURN

where

Q1 is the completion code variable to be associated with the

local socket.

Q2 is the socket number of the local socket.

The following completion codes are possible for this

operation:

0, The operation was successful and a call has been received

4, The specified completion code variable is already

assigned to a socket; the operation was suppressed

8, The specified local socket is not in the closed state;

the operation was suppressed

12, Local resource are insufficient to support another

connection; the operation was suppressed

44, By operator command, all Network operations were

terminated; the socket will be closed

(C) ACCEPT

This operation accepts connection with the foreign socket whose

call caused successful completion of a previous LISTEN

operation by the specified local socket. After completion of

this operation, data may be transferred to or from the local

socket, depending on its gender. This operation is valid only

when the last operation referencing the local socket as a

LISTEN operation. Processing at the terminal is suspended

until the operation is completed.

The key sequence is as follows:

UP Q RETURN

where

Q is the completion code variable associated with the local

socket by a previous LISTEN operation.

The following completion codes are possible for this

operation:

0, The operation as successful, and the connection is

established

4, The specified local socket is in the closed state

(the NCP may have received an abort notification

from the foreign process); the operation was

suppressed

8, The previous operation specifying the designated

local socket was not a LISTEN; the operation was

suppressed

12, All communication paths to the specified foreign

site are in use; the socket has been returned to

the closed state

(2) CLOSE

This operation is a request that the specified local socket be

returned to the closed state. If the last operation involving

this socket was a LISTEN, this operation refuses the foreign

process connection attempt. If the last operation was a CONNECT,

the attempt is aborted. If a connection is established, any data

in transit form the local socket is allowed to reach the foreign

socket and to be either received or flushed before the local

socket is closed.

Processing at the terminal is suspended until the socket has been

returned to the closed state.

The key sequence is as follows:

DWN Q

where

Q is the completion code variable associated with the local

socket.

The following completion codes are possible for this

operation:

0, The operation was successful, and the socket has

been returned to the closed state

8, The specified completion code variable is not

currently assigned to a socket; the operation was

suppressed

12, The specified local socket is in the process of

being closed the operation was suppressed, but the

local socket will be closed

36, Either hardware at the foreign site is

inoperative, or the NCP's counterpart at the

foreign site does not exist or has failed

44, By operator command, all Network operations were

terminated; the socket will be closed

60, An NCP control transmission error occurred; the

operation was aborted

64, A transmission error occurred the operation was

aborted, but the socket will be closed

(3) SEND

This operation caused data to be sent to the foreign socket.

Processing at the terminal is suspended until the data has been

received by the foreign socket, or until it has been queued

locally by the NCP.

The possible key sequence are as follows:

STORE Q1 Q2 text Q2

STORE +Q1 Q2 text Q2

STORE -Q1 Q2 text Q2

STORE .Q1[X]Q3 RETURN

where

Q1 is the completion code variable associated with the local

socket.

Q2 is any key except RESET.

'Text' is a string of any length of any keys except Q2 and

RESET.

Q3 is an unsigned integer. If it is preceded by 'X', the

integer is assumed to be in hexadecimal.

[X]Q3 should have a value less then 256.

If Q1 is the first key after STORE, the keys comprising 'text' are

not executed but rather are sent as a one byte code per key, in

one or more standard messages. They are preceded by a header with

the op code which indicates keys to be executed as soon as they

are received, and followed by a trailer. If a '+' precedes Q1,

the headers and the text will be sent, but no trailer. If a '-'

precedes Q1, only the text will be sent. If a '.' precedes Q1,

[X]Q3 will be sent as a one byte number, with no header or

trailer.

The following completion codes are possible for this operation:

0, The operation was successful, and the data has been sent

4, The specified local socket is not a send socket; the

operation was suppressed

8, The specified completion code variable is not assigned to

a socket; the operation was suppressed

12, A previous send operation is in progress ;the operation

was suppressed

16, The connection is not fully open; the operation was

suppressed

20, The foreign socket terminated the connection before

completion of the send operation; not all the data was

transmitted

36, Either hardware at the foreign site is inoperative, or

the NCP's counterpart at the foreign site does not exist

or has failed

44, By operator command, all Network operations were

terminated the socket will be closed

52, One or more interrupts were received from the foreign

socket; the operation was suppressed

60, An NCP control transmission error occurred; the

operation was aborted and the socket will be closed

64, A transmission error occurred; the operation was aborted

and the socket will be closed

(4) RECEIVE

This operation causes data to be received from the foreign socket.

Processing at the terminal is suspended until the data sent by the

foreign socket has been received by the local socket and

processed.

The possible key sequences are as follows:

LOAD Q1

LOAD +Q1

LOAD -Q1 Q2, Q3 RETURN

LOAD .Q1 Q4 RETURN

where

Q1 is the completion code variable associated with the local

socket.

Q2 is a positive integer, or a LO storage location, less

then 256.

Q3 is a positive integer, or a LO storage location, less

than 65536

Q4 is a positive integer less than 5.

If Q1 is the first key after LOAD, one or more standard messages

will be received and executed. The data may or may not be

executed, as soon as it is received, depending on the op code.

Processing of manual keypushes is suspended until a trailer is

received. If Q1 is preceded by a '+', the operation is as above,

except that only one message, with no trailer, is received, and

the operation is only performed if there is data queued for the

local socket, ready to be received. ('LOAD +' is intended mainly

for use with the Network On-Line Interface.) If Q1 is preceded by

a '-', a string of text whose length, in bits, is Q3, is received

and processed according to the op code Q2. If a '.' precedes Q1,

Q4 bytes of data are read and placed, right justified, in the LO

accumulator.

The following completion codes are possible for this operation:

0, The operation was successful and the data has been

received

4, The specified local socket is not a receive socket; the

operation was suppressed

8, The specified completion code variable is not assigned to

a socket; the operation was suppressed

12, A previous receive operation is in progres; the

operation was suppressed

16, The connection is not fully open; the operation was

suppressed

20, The foreign socket terminated the connection before

completion of the receive operation; data is

unpredictable

36, Either hardware at the foreign site is inoperative, or

the NCP's counterpart at the foreign site does not exist

or has failed

44, By operator command, all Network operations were

terminated; the socket will be closed

52, One or more interrupts were received from the foreign

socket; the operation was suppressed

60, An NCP control transmission error occurred; the

operation was suppressed and the socket will be closed

200, There was no data queued for the local socket; the

operation was suppressed (applicable only to 'LOAD +')

(5) CHECK

This operation causes the status of the specified local socket to

be displayed. There is no completion code variable associated

with this operation, since it is always successful and the socket

is identified by its socket number. This operation is valid at

any time, and with one exception, noted below, is always completed

immediately.

The possible key sequences are as follows:

DISPLAY (Q RETURN...)...

DISPLAY (Q?)...

DISPLAY RETURN...

where

Q is the socket number of the local socket whose status is

to be displayed.

Successive RETURN'S will display the status of local sockets with

successively higher socket numbers, and once DISPLAY has been

pushed, it need not be pushed for subsequent occurrences of Q.

If Q is followed by a '?', processing at the terminal will be

suspended until the socket is not in the closed state, at which

time the status will be displayed. If the socket is not closed at

the time the '?' is pushed, response is as if the '?' were a

RETURN.

If DISPLAY is followed immediately by a RETURN, the status of all

non-closed sockets owned by the terminal is displayed, each

preceded by its associated completion code variable. If this

information is more than will fit on one tube, successive RETURN'S

will display the remainder of the information.

The status has the following format:

'lclno' 'mnem' 'fgnsite' 'fgnno' 'deficit'

where

'lclno' is the socket number of the local socket.

'mnem' is a mnemonic of up to eight characters for the

status.

'fgnsite' is the site number of the foreign socket, or

blank.

'fgnno' is the socket number of the foreign socket, or

blank.

'deficit' is the send/receive deficit in the form

'bytes.bits', or blank.

Following are the possible mnemonics, together with their

interpretations:

'MNEM' MEANING

______ _______

OPEN A connection is fully established.

No SEND/RECEIVE operation is in progress.

'fgnsite' and 'fgnno' are the site number and

the socket number of the connected socket.

'deficit' is the number of bits queued locally

at the socket by the NCP and available to

satisfy a future RECEIVE operation, or awaiting

output as the result of a previous SEND

operation.

LISTEN A LISTEN has been issued.

CONNECT A CONNECT has been issued. 'fngsite' and 'fgnno'

are the site and socket numbers of the foreign

socket.

DECISION A LISTEN has been completed. 'fgnsite' and

'fgnno' are the site and socket numbers of the

calling socket.

CALL(S) One or more calls have been received for the

local socket. No LISTEN or CONNECT has been

issued.

I/O A connection is fully established. A

SEND/RECEIVE operation is in progress. 'fgnsite'

and 'fgnno' are the site and socket numbers of

the connected socket. 'deficit' is the number of

bits yet to be sent or received.

CLOSED The socket is in the closed state.

<--DRAIN The foreign socket is attempting to close the

connection. The NCP has data yet to be read by

the local socket. 'fgnsite' and 'fgnno' are the

site and socket numbers of the connected socket.

'deficit' is the number of bits yet to be

received.

DRAINED The foreign socket is attempting to close the

connection. The NCP is awaiting arrival at the

foreign site of data currently in transit.

'fgnsite' and 'fgnno' are the site and socket

numbers of the connected socket.

CLOSING The local socket has issued a CLOSE. The NCP is

in the process of returning the local socket to

the closed state. 'fgnsite' and 'fgnno' are the

site and socket numbers of the connected socket.

DRAIN--> The local socket has issued a CLOSE. The NCP is

completing the last SEND operation before

returning the local socket to the closed state.

'fgnsite' and 'fgnno' are the site and socket

numbers of the connected socket. 'deficit' is

the number of bits the NCP has yet to transmit.

(6) IDENTIFY

This operation is used to identify a local socket by its

completion code variable. The operation is valid at any time, and

is always completed immediately. Since it is always successful,

there are no completion codes for the operation, and the contents

of the completion code variable are not changed.

The key sequence is:

ID Q...

where

Q is the completion code variable associated with the local

socket.

The response is a display of Q, followed by 'IS UNDEFINED' if the

socket is in the closed state, or the socket number associated

with it if it is not closed. After ID has been pushed once, it

need not be pushed again for subsequent occurrences of Q.

(7) PURGE

This operator is used to dissociate all completion code variables

from sockets, and to issue a CLOSE to all sockets currently in use

at the terminal. The operation is valid at any time, and is

always completed immediately. Since it is always successful.

there are no completion codes for the operation, and the contents

of the completion code variables are not changed.

The key sequence is:

DEL RETURN

(8) SIGNAL

This operation is used to convey a signal to the foreign process.

The significance of the signal is completely user-dependent. The

effect is that the next time the foreign socket attempts to

initiate a RECEIVE or SEND operation, the operation will be

suppressed, and a completion code supplied indicating that a

signal had been received. Processing at the terminal is suspended

until the signal has been sent to the foreign NCP. This operation

is valid only when the socket is fully open.

The key sequence is:

REFL Q

where

Q is the completion code variable associated with the local

socket.

The following completion codes are possible for this operation:

0, The operation was successful, and the signal has been

sent

4, The specified completion code variable is not assigned to

a socket; the operation was suppressed

8, The connection is not fully open;the operation was

suppressed

(9) CONVERSATIONAL CONTROLLER

This operator is intended primarily for use with the Network On-

Line Interface, and is used to carry on a 'conversation' with the

foreign process. Any data queued locally for the specified local

receive socket is received and displayed as characters. Any keys

pushed will be sent from the specified local send socket. The

user has the option of specifying whether or not upper keyboard

buttons are to be sent. In any case, the buttons ERASE, REPEAT,

ENTER, PRED, and RESET, will not be sent, and pushing any of

these, except RESET, will cause suspension of data reception until

a button other than these four is pushed. Pushing RESET always

terminates the operation.

The key sequence is as follows:

ARG [,] [-]Q1[-]Q2

where

Q1 is the completion code variable associated with the local

send socket.

Q2 is the completion code variable associated with the local

receive socket.

If ARG is followed by ',', both upper and lower keyboard buttons

will be sent, and the operation will be terminated only by pushing

RESET. If no ',' follows ARG, only lower keyboard buttons will be

sent, and the operation is terminated by pushing RESET or any

upper keyboard button. If a '-' precedes Q1, no headers will be

sent, and if a '-' precedes Q2, no headers will be received. In

any case, if headers are to be received, the operation is

terminated when a trailer is received, and a corresponding trailer

is sent if headers are to be sent.

The completion codes for the send socket are the same as for the

SEND operation, and the completion codes for the receive socket

are the same as for the RECEIVE operation. If a non-zero

completion code is found, a message is displayed, either 'OUTPUT

ERROR' or 'INPUT ERROR', depending on whether the send socket for

the receive socket encountered the non-zero completion code, and

the operation is terminated.

[ This RFCwas put into machine readable form for entry ]

[ into the online RFCarchives by Gruss Gottfried 01/98 ]

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有