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

📄 rfc1134.txt

📁 改文件中包含了三个协议
💻 TXT
📖 第 1 页 / 共 5 页
字号:
   Open (6)      In the Open state, a connection exists and data may be      communicated over the link.  The Restart timer is not running in      the Open state.      In normal operation, only two events cause transitions out of the      Open state.  Upon receipt of a Close command, a Terminate-Request      is transmitted, the Restart timer is started, and the Closing      state is entered.  Upon receipt of a Terminate-Request, a      Terminate-Ack is transmitted and the Closed state is entered.      Upon receipt of an Echo-Request, an Echo-Reply is transmitted.      Similarly, Echo-Reply and Discard-Request packets are silently      discarded or processed as expected.  All other events cause      immediate transitions out of the Open state and should be handled      as if the state machine were in the Listen state.   Closing (7)      In the Closing state, an active attempt is made to close the      connection.  A Terminate-Request has been sent and the Restart      timer is running, but a Terminate-Ack has not yet been received.      Upon receipt of a Terminate-Ack, the Closed state is immediately      entered.  Upon the expiration of the Restart timer, a new      Terminate-Request is transmitted and the Restart timer is      restarted.  After the Restart timer has expired Max-Restart times,      this action may be skipped, and the Closed state may be entered.      Max-Restart MUST be a configurable parameter.      Since there is an outstanding Terminate-Request in the Closing      state, special care must be taken to implement the Passive-Open      event; otherwise, it is possible for the LCP peer to think the      connection is open.  Processing of the Passive-Open event should      be postponed until there is reasonable assurance that the peer is      not open.  In particular, the implementation should wait until the      state machine would normally transition to the Closed state      because of a Receive-Terminate-Ack event or Max-Restart Timeout      events.Perkins                                                        [Page 18]RFC 1134                          PPP                      November 19894.2.  Loop Avoidance   Note that the protocol makes a reasonable attempt at avoiding   Configuration Option negotiation loops.  However, the protocol does   NOT guarantee that loops will not happen.  As with any negotiation,   it is possible to configure two PPP implementations with conflicting   policies that will never converge.  It is also possible to configure   policies which do converge, but which take significant time to do so.   Implementors should keep this in mind and should implement loop   detection mechanisms or higher level timeouts.  If a timeout is   implemented, it MUST be configurable.   For example, implementations could take care to avoid Configure-   Request or Terminate-Request livelocks by using a Max-Retries   counter.  A Configure-Request livelock could occur when an   originating PPP sends and re-sends a C-R without receiving a reply   (e.g., the receiving PPP entity may have died).  A Terminate-Request   livelock could occur when the originating PPP sends and re-sends a   T-R without receiving a Terminate-Ack (e.g., the T-A may have been   lost, but the remote PPP may have already terminated).  Max-Retries   indicates the number of packet retransmissions that are allowed   before there is reasonable assurance that a livelock situation   exists.  Max-Retries MUST also be configurable, but should default to   ten (10) retransmissions.4.3  Packet Format   Exactly one Link Control Protocol packet is encapsulated in the   Information field of PPP Data Link Layer frames where the Protocol   field indicates type hex c021 (Link Control Protocol).   A summary of the Link Control Protocol packet format is shown below.   The fields are transmitted from left to right.       0                   1                   2                   3       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+      |     Code      |  Identifier   |            Length             |      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+      |    Data ...      +-+-+-+-+   Code      The Code field is one octet and identifies the kind of LCP packet.      LCP Codes are assigned as follows:Perkins                                                        [Page 19]RFC 1134                          PPP                      November 1989         1       Configure-Request         2       Configure-Ack         3       Configure-Nak         4       Configure-Reject         5       Terminate-Request         6       Terminate-Ack         7       Code-Reject         8       Protocol-Reject         9       Echo-Request         10      Echo-Reply         11      Discard-Request   Identifier      The Identifier field is one octet and aids in matching requests      and replies.   Length      The Length field is two octets and indicates the length of the LCP      packet including the Code, Identifier, Length and Data fields.      Octets outside the range of the Length field should be treated as      Data Link Layer padding and should be ignored on reception.   Data      The Data field is zero or more octets as indicated by the Length      field.  The format of the Data field is determined by the Code      field.   Regardless of which Configuration Options are enabled, all LCP   packets are always sent in the full, standard form, as if no   Configuration Options were enabled.  This ensures that LCP   Configure-Request packets are always recognizable even when one end   of the link mistakenly believes the link to be Open.   This document describes Version 1 of the Link Control Protocol.  In   the interest of simplicity, there is no version field in the LCP   packet.  If a new version of LCP is necessary in the future, the   intention is that a new Data Link Layer Protocol field value should   be used to differentiate Version 1 LCP from all other versions.  A   correctly functioning Version 1 LCP implementation will always   respond to unknown Protocols (including other versions) with an   easily recognizable Version 1 packet, thus providing a deterministic   fallback mechanism for implementations of other versions.Perkins                                                        [Page 20]RFC 1134                          PPP                      November 19894.3.1.  Configure-Request   Description      A LCP implementation wishing to open a connection MUST transmit a      LCP packet with the Code field set to 1 (Configure-Request) and      the Options field filled with any desired changes to the default      link Configuration Options.      Upon reception of a Configure-Request, an appropriate reply MUST      be transmitted.   A summary of the Configure-Request packet format is shown below.  The   fields are transmitted from left to right.    0                   1                   2                   3    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+   |     Code      |  Identifier   |            Length             |   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+   | Options ...   +-+-+-+-+   Code      1 for Configure-Request.   Identifier      The Identifier field should be changed on each transmission.  On      reception, the Identifier field should be copied into the      Identifier field of the appropriate reply packet.   Options      The options field is variable in length and contains the list of      zero or more Configuration Options that the sender desires to      negotiate.  All Configuration Options are always negotiated      simultaneously.  The format of Configuration Options is further      described in a later section.4.3.2.  Configure-Ack   Description      If every Configuration Option received in a Configure-Request is      both recognizable and acceptable, then a LCP implementation should      transmit a LCP packet with the Code field set to 2 (Configure-Perkins                                                        [Page 21]RFC 1134                          PPP                      November 1989      Ack), the Identifier field copied from the received Configure-      Request, and the Options field copied from the received      Configure-Request.  The acknowledged Configuration Options MUST      NOT be reordered or modified in any way.      On reception of a Configure-Ack, the Identifier field must match      that of the last transmitted Configure-Request, or the packet is      invalid.  Additionally, the Configuration Options in a Configure-      Ack must match those of the last transmitted Configure-Request, or      the packet is invalid.  Invalid packets should be silently      discarded.      Reception of a valid Configure-Ack indicates that all      Configuration Options sent in the last Configure-Request are      acceptable.   A summary of the Configure-Ack packet format is shown below.  The   fields are transmitted from left to right.    0                   1                   2                   3    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+   |     Code      |  Identifier   |            Length             |   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+   | Options ...   +-+-+-+-+   Code      2 for Configure-Ack.   Identifier      The Identifier field is a copy of the Identifier field of the      Configure-Request which caused this Configure-Ack.   Options      The Options field is variable in length and contains the list of      zero or more Configuration Options that the sender is      acknowledging.  All Configuration Options are always acknowledged      simultaneously.4.3.3.  Configure-Nak   Description      If every element of the received Configuration Options isPerkins                                                        [Page 22]RFC 1134                          PPP                      November 1989      recognizable but some are not acceptable, then a LCP      implementation should transmit a LCP packet with the Code field      set to 3 (Configure-Nak), the Identifier field copied from the      received Configure-Request, and the Options field filled with only      the unacceptable Configuration Options from the Configure-Request.      All acceptable Configuration Options should be filtered out of the      Configure-Nak, but otherwise the Configuration Options from the      Configure-Request MUST NOT be reordered.  Each of the nak'd      Configuration Options MUST be modified to a value acceptable to      the Configure-Nak sender.  Finally, an implementation may be      configured to require the negotiation of a specific option.  If      that option is not listed, then that option may be appended to the      list of nak'd Configuration Options in order to request the remote      end to list that option in its next Configure-Request packet.  The      appended option must include a value acceptable to the Configure-      Nak sender.      On reception of a Configure-Nak, the Identifier field must match      that of the last transmitted Configure-Request, or the packet is      invalid and should be silently discarded.      Reception of a valid Configure-Nak indicates that a new      Configure-Request should be sent with the Configuration Options      modified as specified in the Configure-Nak.   A summary of the Configure-Nak packet format is shown below.  The   fields are transmitted from left to right.    0                   1                   2                   3    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+   |     Code      |  Identifier   |            Length             |   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+   | Options ...   +-+-+-+-+   Code      3 for Configure-Nak.   Identifier      The Identifier field is a copy of the Identifier field of the      Configure-Request which caused this Configure-Nak.   Options      The Options field is variable in length and contains the list of

⌨️ 快捷键说明

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