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

📄 rfc904.txt

📁 RFC 相关的技术文档
💻 TXT
📖 第 1 页 / 共 5 页
字号:
Network Working Group                                   D.L.  MillsRequest for Comments:  904                              April 1984             Exterior Gateway Protocol Formal Specification0.  Status of this Memo     This RFC is the specification of the Exterior Gateway Protocol(EGP).  This document updates RFCs 827 and 888.  This RFC specifies astandard for the DARPA community.  Interactions between gateways ofdifferent autonomous systems in the ARPA-Internet must follow this protocol.1.  Introduction     This document is a formal specification of the Exterior GatewayProtocol (EGP), which is used to exchange net-reachability informationbetween Internet gateways belonging to the same or different autonomoussystems.  The specification is intended as a reference guide forimplementation, testing and verification and includes suggestedalgorithmic parameters suitable for operation over a wide set ofconfigurations, including the ARPANET and many local-networktechnologies now part of the Internet system.     Specifically excluded in this document is discussion on thebackground, application and limitations of EGP, which have beendiscussed elsewhere (RFC-827, RFC-888).  If, as expected, EGP evolves toinclude topologies not restricted to tree-structures and to incorporatefull routing capabilities, this specification will be amended orobsoleted accordingly.  However, it is expected that, as new featuresare added to EGP, the basic protocol mechanisms described here willremain substantially unchanged, with only the format and interpretationof the Update message (see below) changed.     Section 2 of this document describes the nomenclature used, whileSection 3 describes the state-machine model, including events, actions,parameters and state transitions.  Section 4 contains a functionaldescription of the operation of the machine, together with specificprocedures and algorithms.  Appendix A describes the EGP messageformats, while Appendix B contains a summary of the minor differencesbetween these and the formats described in RFC-888.  Appendix C presentsa reachability analysis including a table of composite state transitionsfor a system of two communicating EGP gateways.1.1.  Summary and Overview     EGP exists in order to convey net-reachability information betweenneighboring gateways, possibly in different autonomous systems.  Theprotocol includes mechanisms to acquire neighbors, monitor neighborreachability and exchange net-reachability information in the form ofUpdate messages.  The protocol is based on periodic polling usingHello/I-Heard-You (I-H-U) message exchanges to monitor neighborreachability and Poll commands to solicit Update responses.     Specification of EGP is based on a formal model consisting of aExterior Gateway Protocol Formal Specification                    Page 2D.L. Millsfinite-state automaton with defined events, state transitions andactions.  The following diagram shows a simplified graphicalrepresentation of this machine (see Section 3.4 for a detailed statetransition table).          +-------+          |       |---------------+---------------+    +---->| Idle  |               A               A    |     |       |-----------+   |               |    |     +-------+           |   |               |    |       |   A     Request |   | Cease         | Cease    | Start |   | Cease       |   |               |    |       V   | Refuse      V   |               |    |     +-------+ Confirm +-------+    Up   +-------+    |     |       |-------->|       |-------->|       |    |     | Aqsn  |         | Down  |   Down  |  Up   |    |     |       |----+    |       |<--------|       |    |     +-------+    |    +-------+         +-------+    |                  |        |                 |    | Stop             |        |                 |    | Cease-ack        | Stop   | Stop            | Stop    |     +-------+    |        |                 |    |     |       |    V        V                 V    +-----| Cease |<---+--------+-----------------+          |       |          +-------+     Following is a brief summary and overview of gateway operations bystate as determined by this model.Idle State (0)    In the Idle state the gateway has no resources (table space)    assigned to the neighbor and no protocol activity of any kind is in    progress.  It responds only to a Request command or a Start event    (system or operator initiated) and ignores all other commands and    responses.  The gateway may optionally return a Cease-ack response    to a Cease command in this state.    Upon receipt of a Request command the gateway initializes the state    variables as described in Section 3.1, sends a Confirm response and    transitions to the Down state, if resource committments permit, or    sends a Refuse response and returns to the Idle state if not.  Upon    receipt of a Start event it sends a Request command and transitions    to the Acquistion state.Acquisition State (1)    In the Acquisition state the gateway periodically retransmits    Request commands.  Upon receiving a Confirm response it initializesExterior Gateway Protocol Formal Specification                    Page 3D.L. Mills    the state variables and transitions to the Down state.  Upon    receiving a Refuse response it returns to the Idle state.  The    gateway does not send any other commands or responses in this state,    since not all state variables have yet been initialized.Down State (2)    In the Down state the gateway has received a Request command or a    Confirm response has been received for a previously sent Request.    The neighbor-reachability protocol has declared the neighbor to be    down.  In this state the gateway processes Request, Cease and Hello    commands and responds as required.  It periodically retransmits    Hello commands if enabled.  It does not process Poll commands and    does not send them, but may optionally process an unsolicited Update    indication.Up State (3)    In the Up state the neighbor-reachability protocol has declared the    neighbor to be up.  In this state the gateway processes and responds    to all commands.  It periodically retransmits Hello commands, if    enabled, and Poll commands.Cease State (4)    A Stop event causes a Cease command to be sent and a transition to    the Cease state.  In this state the gateway periodically retransmits    the Cease command and returns to the Idle state upon receiving a    Cease-ack response or a another Stop event.  The defined state    transitions are designed to ensure that the neighbor does with high    probability receive the Cease command and stop the protocol.     In following sections of this document document a state machinewhich can serve as a model for implementation is described.  It mayhappen that implementators may deviate from this model while conformingto the protocol specification;  however, in order to verify conformanceto the specification, the state-machine model is intended as thereference model.     Although not mentioned specifically in this document, it should beunderstood that all Internet gateways must include support for theInternet Control Message Protocol (ICMP), specifically ICMP Redirect andICMP Destination Unreachable messages.2.  Nomenclature     The following EGP message types are recognized in this document.The format of each of these messages is described in Appendix A.Exterior Gateway Protocol Formal Specification                    Page 4D.L. Mills        Name            Function        ------------------------------------------------------        Request         request acquisition of neighbor and/or                        initialize polling variables        Confirm         confirm acquisition of neighbor and/or                        initialize polling variables        Refuse          refuse acquisition of neighbor        Cease           request de-acquisition of neighbor        Cease-ack       confirm de-acquisition of neighbor        Hello           request neigbor reachability        I-H-U           confirm neigbor reachability        Poll            request net-reachability update        Update          net-reachability update        Error           error     EGP messages are classed as commands which request some action,responses, which are sent to indicate the status of that action, andindications, which are similar to responses, but may be sent at anytime.  Following is a list of commands along with their possibleresponses.        Command         Corresponding Responses        ---------------------------------------        Request         Confirm, Refuse, Error        Cease           Cease-ack, Error        Hello           I-H-U, Error        Poll            Update, Error     The Update and Error messages are classed both as responses andindications.  When sent in reply to a previous command, either of thesemessages is classed as a response.  In some circumstances an unsolicitedUpdate message can be sent, in which case it is classed as anindication.  The use of the Error message other than as a response to aprevious command is a topic for further study.3.  State Machine     This section describes the state-machine model for EGP, includingthe variables and constants which establish the state at any time, theevents which cause the state transitions, the actions which result fromthese transitions and the state-transition table which defines thebehavior.3.1.  State Variables     The state-machine model includes a number of state variables whichestablish the state of the protocol between the gateway and each of itsneighbors.  Thus, a gateway maintaining EGP with a number of neighborsmust maintain a separate set of these state variables for each neighbor.The current state, events and actions of the state machine apply to eachExterior Gateway Protocol Formal Specification                    Page 5D.L. Millsneighbor separately.     The model assumes that system resources, including the set of statevariables, are allocated when the state machine leaves the Idle state,either because of the arrival of a Request specifying a new neighboraddreess, or because of a Start event specifying a new neighbor address.When either of these events occur the values of the state variables areinitialized as indicated below.  Upon return to the Idle state allresources, including the set of state variables, are deallocated andreturned to the system.  Implementators may, of course, elect todedicate resources and state variables permananently.     Included among the set of state variables are the following whichdetermine the state transitions of the model.  Initial values for all ofthe variables except the send sequence number S are set during theinitial Request/Confirm exchange.  The initial value for S is arbitrary.        Name    Function        --------------------------------------------------------------        R       receive sequence number        S       send sequence number        T1      interval between Hello command retransmissions        T2      interval between Poll command retransmissions        T3      interval during which neighbor-reachability                indications are counted        M       hello polling mode        t1      timer 1 (used to control Request, Hello and Cease                command retransmissions)        t2      timer 2 (used to control Poll command retransmissions)        t3      timer 3 (abort timer)Additional state variables may be necessary to support various timer andsimilar internal housekeeping functions.  The function and management ofthe cited variables are discussed in Section 4.3.2.  Fixed Parameters     This section defines several fixed parameters which characterizethe gateway functions.  Included is a suggested value for each parameterbased on experimental implementations in the Internet system.  Thesevalues may or may not be appropriate for the individual configuration.     Following is a list of time-interval parameters which controlretransmissions and other time-dependent functions.Exterior Gateway Protocol Formal Specification                    Page 6D.L. Mills        Name    Value   Description        --------------------------------------------------------------        P1      30 sec  minimum interval acceptable between successive                        Hello commands received        P2      2 min   minimum interval acceptable between successive

⌨️ 快捷键说明

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