⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rfc442.txt

📁 著名的RFC文档,其中有一些文档是已经翻译成中文的的.
💻 TXT
📖 第 1 页 / 共 2 页
字号:
where 13P(2) is interpreted to mean message #13, priority number(2).   Note that there are only 2 classes of messages, priority and non-   priority, and that the priority numbers simply allow ordering at the   destination of multiple outstanding priority transmissions from the   same site.   If HOSTs use link numbers to de-multiplex messages to processes, then   it would be a mistake to arbitrarily assign short messages priority.   If a file transmission were carried out such that the last short   message had priority, the file might not enter the receiving HOST in   the same order it was sent!ACK Mechanism   IMPs treat their physical channels (phone lines) as if they were   pairs of simplex communications paths.  Each IMPSYS has a sender and   receiver module for each full duplex channel.  Each module has an   "ODD/EVEN" bit which is used to keep track of the state of the last   packet on the line.  The object is for the sender module to "block" a   channel until the corresponding receiver has received a packet   indicating that the send packet was received on the other end (i.e.   an acknowledgment).Cerf                                                            [Page 4]RFC 442        The Current Flow-Control Scheme for IMPSYS   January 1973   In the present system, acknowledgments are separate IMP-IMP packets.   In the new system, they are a single bit in a packet flowing in the   opposite direction on the reverse path of a full duplex channel.   Every packet sent between IMPs has an ACK bit and an OE bit, as shown   below.                         P                              A                          O                              C                           E                              K               +-------+-----+------------------------+-----+----------+typical packet |       |     |                        |     |          |               |       |     |                        |     |          |               +-------+-----+------------------------+-----+----------+   We need some terminology: Let POE be the packet OE bit, and SOE, ROE   be the send module OE bit and Receive module OE bit respectively.   For two IMPs, A and B, we distinguish SOE/A and SOE/B as the two send   module OE bits at IMPs A and B respectively.   The rules of operation are as follow:   Sender   ------   if ACK != SOE then do nothing   --   else SOE <- !SOE (i.e. flip SOE bit) and free channel.   ----   Receiver   --------   if POE = ROE then packet is a duplicate so throw it away.   --   else ROE <- !ROE   ----   Whenever a packet is sent by the sent module, its two bits, POE and   ACK are set up by:                        POE <- SOE                        ACK <- ROE   The mechanism is designed to use real traffic to accomplish the   acknowledgment protocol by piggy-backing the ACK bits in the header   of real packets.  If there is no real packet waiting for transmission   in the opposite direction, a fake packet is assembled which carries   the ACK, but which is not acknowledged by the receiving side.Cerf                                                            [Page 5]RFC 442        The Current Flow-Control Scheme for IMPSYS   January 1973   We give an example of the operation of this mechanism between two   IMPs.                     IMP A                           IMP B                     -----                           -----                   ROE | SOE                       ROE | SOE                       |           POE   ACK           |                       |         +-----------+         |IMP A blocks send    1 | 0    (1)|  0      1 |->     1 | 0 IMP B NOPS,channel.               |         +-----------+         |   flips ROE                       |                               |                       |           POE   ACK           |                       |         +-----------+         |IMP A frees send     0 | 1     <-|  0      0 |(2)    0 | 0 IMP B blockschannel,               |         +-----------+         |   channel forFlips SOE              |                               |   new traffic                       |           POE   ACK           |IMP A blocks send      |         +-----------+  crashes|channel                |      (3)|  1      0 |->or gets|                       |         +-----------+  lost   |                       |                               |                       |           POE   ACK           |IMP A detects packet   |         +-----------+         |duplicate (POE=ROE)  0 | 1     <-|  0      0 |(2)    0 | 0 IMP Bso does not change     |         +-----------+         |  retransmits noSOE bit.               |                               |  ACK received                       |           POE   ACK           |IMP A retransmits      |         +-----------+         |   IMP B flipspacket 3               |      (3)|  1      0 |->     1 | 1 SOE, unblocks                       |         +-----------+         |   channel, and                       |                               |   flips ROE.                       |           POE   ACK           |IMP A flips ROE,       |         +-----------+         |      flips SOE      1 | 0     <-|  1      1 |(4)      |                       |         +-----------+         |                       |                               |   In fact each send/receive module has 8 OE bits, so up to 8 packets   can be outstanding in either direction.How things really work   Actually, a single send module is responsible for trying to transmit   packets out on the 8 pseudo-channels.  Each channel has a two-bit   state (in addition to an OE bit).  Each channel is either FREE or IN   USE and if IN USE, it may be sending OLD or NEW packet.Cerf                                                            [Page 6]RFC 442        The Current Flow-Control Scheme for IMPSYS   January 1973 start state                                      F = free        |                                         I = in use        V                                         X = don_t care       +-----+                 +------+           N = new packet       |  FX | --------------> | I, N |           O = old packet       +-----+                 +------+          ^                       |          |                       |          |                       |          |                       |   ACK    |                       | received |                       |          |                       V          |                   +------+          +-------------------| I, O |---+                              +------+   |                                  ^      | re-transmissions                                  +------+   Between IMPs, packets are sent repeatedly, until they are   acknowledged.  However, the choice of what to send is ordered by   priority as follows:      1. Priority Packets (as marked by HOST)      2. Non-Priority Packet      3. Unacknowledged packets (on I,O state channels)      4. Others   It was pointed out that a heavy load of type (1) and (2) traffic   might prevent retransmissions from occurring at all, and W. Crowther   responded that the bug would be fixed by a 125 ms time-out which   forces retransmission of old packets in class (3).   Note that each packet must carry a "pseudo-channel" number to   identify the POE-to-channel association, and 8 ACK bits (which are   positionally associated with the pseudo-channels).  Thus a single   packet can ACK up to 8 packets at once.          [This RFC was put into machine readable form for entry]     [into the online RFC archives by Helene Morin, Via Genie, 12/99]Cerf                                                            [Page 7]

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -