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
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 an 8-bit link number
is included, and when the
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:
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,
restore
Format:
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:
Uses: This command is sent by the sender's host to confirm that it has stopped sending through the specified link. If a
Ultimate terminal
Format:
A connection is determined between them.
Uses: If a process determines how to connect it with a receiving port and a send port
Self-short, NCP sends two Socket> Initialized Once a Has been occupied by a redistribution, this command is passed to a new Socket>. However, before it is passed, If they are equal, they found a loop, and the two ports will be closed. If And one If the named connection is not performed, a Finally found Format: is an 8-bit link number Uses: This command indicates which port is the end point of the renewal link. It is generated in Some intermediate ports are returned to another terminal port. If refers to a message between the sender of the sender host and the receiving port of the receiver host connection. If 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 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: Uses: This command improves a "re-connection". When the receiving port has received a 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