RFC36 protocol annotation

zhaozj2021-02-16  42

Organization: China Interactive Publishing Network (http://www.china-pub.com/)

RFC Document Chinese Translation Program (http://www.china-pub.com/compters/emook/aboutemook.htm)

E-mail: Ouyang@china-pub.com

Translator: McSewang Mcsewang@21cn.com)

Translation time: 2001-6-10

Copyright: This Chinese translation copyright belongs to China Interactive Publishing Network. Can be used for non-commercial use free reprint, but must

Keep the translation and copyright information of this document.

Network Working Group S.

Crocker

REQUEST for Comments: 36 16 March 1970

Agreement annotation

(RFC36 Protocol Notes)

I. General view

---------------------------

The network protocol provides three conveniences:

Connection establishment

2. Flow control

3. Connect

"Reconnect" is separated from "connection establishment", on the one hand due to its complexity, on the other hand due to

I have not yet touched a complete agreement with this concept.

Connection establishment

---------------------------------------------------------------------------------------------------------------------------------------

The operation of the connection is basically the same as the NWG / RFC # 33. The main change is to provide independent facilities

A more complete exchange of exchanges makes it easier than the facilities that do not include the exchange process.

Below is a probably the connection establishment:

1. Process Pa in Host A seizures the socket SA and requests to establish a connection with the socket SB. Process PA through one

A system call to complete this.

2. At the same time, the process PB in the host B seizes the socket SB and requests to establish a connection with the socket SA.

3. In response to the request of the process PA, the network protocol program (NACPA) in the host A, send one

"Request - Connection (RFC) command to host B. B The NCPB in the host sends a similar command to the main

Machine A. Without the default order, NCPB can send commands to NCPA before or after receiving commands from the NCPA.

4. NCPA and NCPB know that the connection is to receive an RFC command and receive it.

After the RFNM is established. They then advertise the process PA and PB respectively, and the connection has been established. One must

The principle that must be adhered is or by the SA as a sender interface, SB is a receiver interface, or the opposite

condition. This situation is sometimes referred to as "SA and SB must form 'transmission / reception' pair"

5. The transmission process can be made immediately.

Flow control

---------------------------------------------------------------------------------------------------------------------------------------

In order to prevent the transmission process, the receiving process can stop the data stream is very necessary (*).

Stream control is integrated into the network RFNM processing. When a receiver host wants to limit the flow transfer on a single line,

The host sends a dedicated message to its IMP, making the next RFNM on that link being corrected. Sender host

The message is interpreted as a RFNM, as a request to stop sending. A mandatory control command is returned.

When the recipient host is ready to receive again, it sends a command (RSM) to tell the sender host to send again.

-------------------------------------------------- -

(*) BB & N insists that unlimited buffering mechanisms should be provided. This is certainly possible to be an appropriate strategy: But this is completely opposite my way of thinking, and I design on the protocol is based on this assumption: only the receiving end of each connection is available.

A small buffer.

Join

-------------------------------

Due to many reasons, it is necessary to convert one (or two) connected terminals from one port to another. this is

It is easy to implement, depending on the various limits applied to the conversion process. For the biggest satisfaction, I present "move" here

The program is re-connected ", that means that the renewal process can occur even after the start of the streaming. Most of the situation

In the case of the cost of this program is much higher than what it actually needs, the following advantages are required:

1. Provide all different forms of swap connections.

2. The reacting process does not introduce the extra overhead of the message process sent through a connection, that is, all overhead

During the implementation of the agreement.

II. data structure

----------------------------

1. Connection table

2. Process table

3. Input link table

4. Output link table

5. Link allocation table

Connection table

------------------

This table holds all information belonging to the local port (no matter whether it is occupied by some connection, it occupies its connection

Where is the state in which it is. The entrance entries are typed by local ports, but other tables also have pointers to this table. (See the process

Table, input link tables and output link tables. )

Each entry includes the following information:

a) Local port (key)

b) Foreign ports

c) link

d) connection status

e) flow state and buffer control

f) Pointer to the user process

g) Reconnect control status

h) Waiting for the call queue

The local port is a 32-bit number. If an entry of a particular port does not exist, it will be generated as a null value.

Foreign ports are a 40-bit number. This field will not be assigned if no connection is established.

The link is an 8-bit number that is the link from the sender to the receiver to the receiver. A set of interfaces and exhausted

When the low is 0, it is the receiving port.

The connection status refers to whether a link is open, and so on. The following is possible:

a) The local process has requested a link.

b) A link has been requested a link.

c) Connection establishment

d) again in progress

e) Close wait

f) Reconnect waiting

Flow status and buffer control refer to verifying the transmission and approved termination, suspending and recovery commands of RFNM, and keeping data

Tracking flowing out.

A pointer to the user process is required when the process has requested a connection.

If the connection is in progress, keep track of the order sequence is necessary. The port occupied by the renewable process or

It is an endpoint or an intermediate point. If it is an intermediate point, it is necessary to put the other to join the same.

The 8-bit names of the middle point in the process are stored and the reception of the END and RDY commands is recorded.

Finally, if the RFC ("Request --- Connection" Command) is received when the port is occupied or there is no process, RFC is received.

The stack queue is pressed in the named local port in accordance with the principle of "advanced first out".

Process table

----------------------

This table links a process and a socket port. It is used to make system calls.

Input link table

----------------------

This table linked to the receiving link with the local socket port. It is used to determine the direction of the introduced message. Output link table

----------------------

This table associates the send link with the local set port. It is used to explain the RFNM and RSM commands.

Link allocation table

----------------------

The link is allocated by the recipient. This table shows which links are idle.

III. control commands

-----------------------

Command order

0

1 or

2

3

4

5

6

7

8

Order

No

Format: NOP

NOP is x '00'

Uses: This command is included in the integrity and convenience.

Request connection

Format:

Or

is X'01 '

is a 32-bit socket port number code belongs to the sender

is a 32-bit socket port number code belongs to the recipient

is an 8-bit link number

and must be sent / received to appear.

is included, and when the is a receiver socket port.

Uses: This command is used to initialize a connection. When the two hosts have been exchanged in a way that the same (reversed)

When the RFC command is determined. The link is allocated by the recipient.

shut down

Format:

is X'02 '

and The same is the same for

Uses: This command is used to block a connection. It is also used to stop the establishment of a connection or to reject one

begging. This situation occurs when there is no connection between the two socket ports of the name, or is

When it is connected in the process being connected. At this point, should be discarded.

restore

Format:

is X'03 '

Uses: This command is built by a receiver host to cause the sender to recover on the link that has already pointed out the name.

transmission. When a send host receives a special representative of RFNM, it will delay

give away. (Special RFNM is generated by the IMP of the recipient based on its host.)

time out

Format:

is X'04 '

Uses: This command is sent by the sender's host to confirm that it has stopped sending through the specified link. If a command is received, the transfer will be restored.

Ultimate terminal

Format:

is X'05 '

is a 32-bit socket port number code belongs to the sender

is a 32-bit socket port number code belongs to the recipient

and make up a send / receive pair.

A connection is determined between them.

is a 40-bit socket port number code as the type.

Uses: If a process determines how to connect it with a receiving port and a send port

Self-short, NCP sends two commands - one in each direction. Everyone has

Socket> Initialized .

Once a command is received, NCP checks its . If

Has been occupied by a redistribution, this command is passed to a new and

Socket>. However, before it is passed, is compared to the new . Such as

If they are equal, they found a loop, and the two ports will be closed.

If is not occupied by a redistribution, it is marked as an endpoint of a reconnection chain.

And one will be sent back.

If the named connection is not performed, a will be sent back and will be discarded.

Finally found

Format:

is X'06 '

is an 8-bit link number

is a 40-bit port number

Uses: This command indicates which port is the end point of the renewal link. It is generated in and passing

Some intermediate ports are returned to another terminal port. If is a send port,

refers to a message between the sender of the sender host and the receiving port of the receiver host

connection. If is a receiving port, refers to the transmission of the receiver host

A link between the receiving port of the port and the sender host. ("Send" and "Receive" refer to

This control command is transmitted. )

complete

Format:

is X'07 '

is an 8-bit link number

Uses: This command is sent from a send port to a receiving port to indicate that all news has been passed.

Send it, "re-connect" may happen.

Assign new link

Format:

is X'08 '

Uses: This command improves a "re-connection". When the receiving port has received a it is from one

The receiving port is sent to a send port. A new connection is assigned and transmitted.

[This RFC WAS PUT INTO MACHINE READABLE FORM for Entry]

[INTO THE ONLINE RFC Archives BY Marc Blanchett 3/00] RFC36 Protocol Notes Protocol Note

1

RFC Document Chinese Translation Program

转载请注明原文地址:https://www.9cbs.com/read-27243.html

New Post(0)