📄 rfc2642.txt
字号:
+----------+ or Inactivity Timer +-----------+ | Hello | Rcvd | | V +-----< [pt-to-pt?] | yes | | | no | V | +----------+ 1-Way +----------+ | | Init | <-------- | >= 2-way | | +----------+ +----------+ | | | 2-Way | | Rcvd | +-------+ AdjOK? +------------+ | +----------------> | 2-Way | <------- | >= ExStart | | | (no adjacency) +-------+ no +------------+ | | | V | +---------+ Seq Number Mismatch +-------------+ +----> | ExStart | <--------------------- | >= Exchange | +---------+ or BadLSReq +-------------+ | Negotiation | Done | V +----------+ | Exchange | +----------+ | Exchange | +--------+ Done +----------------------> | Full | | (request list empty) +--------+ | ^ V | +---------+ Loading Done | | Loading | -----------------------> +---------+ Figure 2: Neighbor State MachineKane Informational [Page 26]RFC 2642 Cabletron's VLS Protocol Specification August 1999 2-Way In this state, communication between the two switches is bidirectional. This is the most advanced state short of beginning to establish an adjacency. On a multi-access link, the designated switch and the backup designated switch are selected from the set of neighbors in state 2-Way or greater. ExStart This state indicates that the two switches have begun to establish an adjacency by determining which switch is the master, as well as the initial sequence number for Database Descriptor packets. Neighbor conversations in this state or greater are called adjacencies. Exchange In this state, the switches are exchanging Database Description packets. (See Section 7.2 for a complete description of this process.) All adjacencies in the Exchange state or greater are used by the distribution procedure (see Section 8.2), and are capable of transmitting and receiving all types of VLSP routing packets. Loading In this state, the local switch is sending Link State Request packets to the neighbor asking for the more recent advertisements that were discovered in the Exchange state. Full In this state, the two switches are fully adjacent. These adjacencies will now appear in switch link and network link advertisements generated for the link.4.2 Events Causing Neighbor State Changes The state of a neighbor conversation changes due to neighbor events. This section describes these events. Neighbor events are shown as arrows in Figure 2, the graphic representation of the neighbor state machine. For more information on the neighbor state machine, see Section 4.3.Kane Informational [Page 27]RFC 2642 Cabletron's VLS Protocol Specification August 1999 Hello Received This event is generated when a Hello packet has been received from a neighbor. 2-Way Received This event is generated when the local switch sees its own switch ID listed in the neighbor's Hello packet, indicating that bidirectional communication has been established between the two switches. Negotiation Done This event is generated when the master/slave relationship has been successfully negotiated and initial packet sequence numbers have been exchanged. This event signals the start of the database exchange process (see Section 7.2). Exchange Done This event is generated when the database exchange process is complete and both switches have successfully transmitted a full sequence of Database Description packets. (For more information on the database exchange process, see Section 7.2.) BadLSReq This event is generated when a Link State Request has been received for a link state advertisement that is not contained in the database. This event indicates an error in the synchronization process. Loading Done This event is generated when all Link State Updates have been received for all out-of-date portions of the database. (See Section 7.3.) AdjOK? This event is generated when a decision must be made as to whether an adjacency will be established or maintained with the neighbor. This event will initiate some adjacencies and destroy others.Kane Informational [Page 28]RFC 2642 Cabletron's VLS Protocol Specification August 1999 Seq Number Mismatch This event is generated when a Database Description packet has been received with any of the following conditions: o The packet contains an unexpected sequence number. o The packet (unexpectedly) has the Init bit set. o The packet has a different Options field than was previously seen. These conditions all indicate that an error has occurred during the establishment of the adjacency. 1-Way This event is generated when bidirectional communication with the neighbor has been lost. That is, a Hello packet has been received from the neighbor in which the local switch is not listed. KillNbr This event is generated when further communication with the neighbor is impossible. Inactivity Timer This event is generated when the inactivity timer has expired, indicating that no Hello packets have been received from the neighbor in SwitchDeadInterval seconds. This timer is used only on broadcast (multi-access) links. LLDown This event is generated by the lower-level switch discovery protocols and indicates that the neighbor is now unreachable.4.3 Neighbor State Machine This section presents a detailed description of the neighbor state machine. Neighbor states (see Section 4.1) change as the result of various events (see Section 4.2). However, the effect of each event can vary, depending on the current state of the conversation with the neighbor. For this reason, the state machine described in this section is organized according to the current neighbor state and the occurring event. For each state/event pair, the new neighbor state is listed, along with a description of the required processing.Kane Informational [Page 29]RFC 2642 Cabletron's VLS Protocol Specification August 1999 Note that when the neighbor state changes as a result of an interface Neighbor Change event (see Section 3.2), it may be necessary to rerun the designated switch selection algorithm. In addition, if the interface associated with the neighbor conversation is in the DS state (that is, the local switch is the designated switch), changes in the neighbor state may cause a new network link advertisement to be originated (see Section 8.1). When the neighbor state machine must invoke the interface state machine, it is invoked as a scheduled task. This simplifies processing, by ensuring that neither state machine executes recursively. State(s): Down Event: Hello Received New state: Depends on the interface type Action: If the interface type of the associated link is point-to-point, change the neighbor state to ExStart. Otherwise, change the neighbor state to Init and start the inactivity timer for the neighbor. If the timer expires before another Hello packet is received, the neighbor switch is declared dead. State(s): Init or greater Event: Hello Received New state: No state change Action: If the interface type of the associated link is point-to-point, determine whether this notification is for a different neighbor than the one previously seen. If so, generate an Interface Down event for the associated interface, reset the interface type to broadcast and generate an Interface Up event. Note: This procedure of generating an Interface Down event and changing the interface type to broadcast is also executed if the neighbor for whom the notification was received is running an older version of the protocol software (see Section 6.1). In previous versions of the protocol, all interfaces were treated as if they were broadcast. If the interface type is broadcast, reset the inactivity timer for the neighbor.Kane Informational [Page 30]RFC 2642 Cabletron's VLS Protocol Specification August 1999 State(s): Init Event: 2-Way Received New state: Depends on action routine Action: Determine whether an adjacency will be formed with the neighbor (see Section 6.4). If no adjacency is to be formed, change the neighbor state to 2-Way. Otherwise, change the neighbor state to ExStart. Initialize the sequence number for this neighbor and declare the local switch to be master for the database exchange process. (See Section 7.2.) State(s): ExStart Event: Negotiation Done New state: Exchange Action: The Negotiation Done event signals the start of the database exchange process. See Section 7.2 for a detailed description of this process. State(s): Exchange Event: Exchange Done New state: Depends on action routine Action: If the neighbor Link state request list is empty, change the neighbor state to Full. This is the adjacency's final state. Otherwise, change the neighbor state to Loading. Begin sending Link State Request packets to the neighbor requesting the most recent link state advertisements, as discovered during the database exchange process. (See Section 7.2.) These advertisements are listed in the link state request list associated with the neighbor. State(s): Loading Event: Loading Done New state: Full Action: No action is required beyond changing the neighbor state to Full. This is the adjacency's final state.Kane Informational [Page 31]RFC 2642 Cabletron's VLS Protocol Specification August 1999 State(s): 2-Way Event: AdjOK? New state: Depends on action routine Action: If no adjacency is to be formed with the neighboring switch (see Section 6.4), retain the neighbor state at 2-Way. Otherwise, change the neighbor state to ExStart. Initialize the sequence number for this neighbor and declare the local switch to be master for the database exchange process. (See Section 7.2.) State(s): ExStart or greater Event: AdjOK? New state: Depends on action routine Action: If an adjacency should still be formed
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -