📄 rfc904.txt
字号:
Poll commands recieved
P3 30 sec interval between Request or Cease command
retransmissions
P4 1 hr interval during which state variables are
maintained in the absence of commands or
responses in the Down and Up states.
P5 2 min interval during which state variables are
maintained in the absence of responses in the
Acquisition and Cease states
Parameters P4 and P5 are used only if the abort-timer option is
implemented. Parameter P4 establishes how long the machine will remain
in the Down and Up states in the absence of commands or responses and
would ordinarily be set to sustain state information while the neighbor
is dumped and restarted, for example. Parameter P5 establishes how long
the machine will remain in the Acquisition or Cease states in the
absence of responses and would ordinarily be set in the same order as
the expected value of T3 variables.
Following is a list of other parameters of interest.
Name Active Passive Description
-----------------------------------------------
j 3 1 neighbor-up threshold
k 1 4 neighbor-down threshold
The j and k parameters establish the "noise immunity" of the
neighbor-reachability protocol described later. The values in the
Active column are suggested if the gateway elects to do hello polling,
while the values in the Passive column are suggested otherwise.
3.3. Events
Following is a list of events that can cause state transitions in
the model.
Exterior Gateway Protocol Formal Specification Page 7
D.L. Mills
Name Event
----------------------------------------------------------------------
Up At least j neighbor-reachability indications have been
received within the last T3 seconds.
Down At most k neighbor-reachabilitiy indications have been
received within the last T3 seconds.
Request Request command has been received.
Confirm Confirm command has been received.
Refuse Refuse response has been received.
Cease Cease command has been received.
Cease-ack Cease-ack response has been received.
Hello Hello command has been received.
I-H-U I-H-U response has been received.
Poll Poll command has been received.
Update Update response has been received.
Start Start event has been recognized due to system or
operator intervention.
Stop/t3 Stop event has been recognized due to (a) system or
operator intervention or (b) expiration of the abort
timer t3.
t1 Timer t1 has counted down to zero.
t2 Timer t2 has counted down to zero.
There is one special event, called a neighbor-reachability
indication, which occurs when:
1. The gateway is operating in the active mode (hello polling enabled)
and either a Confirm, I-H-U or Update response is received.
2. The gateway is operating in the passive mode (hello polling
disabled) and either a Hello or Poll command is received with the
"Up state" code in the Status field.
3.4. State Transition Table
The following table summarizes the state transitions that can occur
in response to the events listed above. Transitions are shown in the
form n/a, where n is the next state and a represents the action.
Exterior Gateway Protocol Formal Specification Page 8
D.L. Mills
0 Idle 1 Aqsn 2 Down 3 Up 4 Cease
+-----------+-----------+-----------+-----------+-----------+
Up |0 |1 |3/Poll |3 |4 |
Down |0 |1 |2 |2 |4 |
Request |2/Confirm *|2/Confirm |2/Confirm |2/Confirm |4/Cease |
Confirm |0/Cease **|2 |2 |3 |4 |
Refuse |0/Cease **|0 |2 |3 |4 |
Cease |0/Cease-ack|0/Cease-ack|0/Cease-ack|0/Cease-ack|0/Cease-ack|
Cease-ack |0 |1 |2 |3 |0 |
Hello |0/Cease **|1 |2/I-H-U |3/I-H-U |4 |
I-H-U |0/Cease **|1 |2/Process |3/Process |4 |
Poll |0/Cease **|1 |2 |3/Update |4 |
Update |0/Cease **|1 |2 |3/Process |4 |
Start |1/Request |1/Request |1/Request |1/Request |4 |
Stop/t3 |0 |0 |4/Cease |4/Cease |0 |
t1 |0 |1/Request |2/Hello |3/Hello |4/Cease |
t2 |0 |1 |2 |3/Poll |4 |
+-----------+-----------+-----------+-----------+-----------+
Note *: The transition shown applies to the case where the
neighbor-acquisition request is accepted. The transition "0/Refuse"
applies to the case where the request is rejected.
Note **: The Cease action shown is optional.
3.5. State Transitions and Actions
The following table describes in detail the transitions of the
state machine and the actions evoked.
Next Message
Event State Sent Actions
------------------------------------------------------------------------
Idle State (0)
Request 2 Confirm Initialize state variables and
Hello reset timer t1 to T1 seconds and
reset timer t3 to P5 seconds.
(or) 0 Refuse Return resources.
Cease 0 Cease-ack Return resources.
Start 1 Request Reset timer t1 to P3 seconds and
reset timer t3 to P5 seconds.
Acquisition State (1)
Request 2 Confirm Initialize state variables and
Hello reset timer t1 to T1 seconds and
reset timer t3 to P5 seconds.
Confirm 2 Hello Initialize state variables and
Exterior Gateway Protocol Formal Specification Page 9
D.L. Mills
reset timer t1 to T1 seconds and
reset timer t3 to P5 seconds.
Refuse 0 Stop timers and return
resources.
Cease 0 Cease-ack Stop timers and return
resources.
Start 1 Request Reset timer t1 to P3 seconds and
reset timer t3 to P5 seconds.
Stop/t3 0 Stop timers and return
resources.
t1 1 Request Reset timer t1 to P3 seconds.
Down State (2)
Note: Reset timer t3 to P4 seconds on receipt of a reachability
indication.
Up 3 Poll Reset timer t2 to T2 seconds.
Request 2 Confirm Reinitialize state variables and
Hello reset timer t1 to T1 seconds and
reset timer t3 to P5 seconds.
Cease 0 Cease-ack Stop timers and return
resources.
Hello 2 I-H-U
I-H-U 2 Process neighbor-reachability
info.
Start 1 Request Reset timer t1 to P3 seconds and
reset timer t3 to P5 seconds.
Stop/t3 4 Cease Reset timer t1 to P3 seconds and
reset timer t3 to P5 seconds.
t1 2 Hello Reset timer t1 to T1 seconds.
Up State (3)
Note: Reset timer t3 to P4 seconds on receipt of a reachability
indication.
Down 2 Stop timer t2.
Request 2 Confirm Renitialize state variables and
Hello reset timer t1 to T1 seconds and
reset timer t3 to P5 seconds.
Cease 0 Cease-ack Stop timers and return
resources.
Hello 3 I-H-U
I-H-U 3 Process neighbor-reachability
info.
Poll 3 Update
Update 3 Process net-reachability info.
Start 1 Request Reset timer t1 to P3 seconds and
reset timer t3 to P5 seconds.
Stop/t3 4 Cease Reset timer t1 to P3 seconds and
reset timer t3 to P5 seconds.
Exterior Gateway Protocol Formal Specification Page 10
D.L. Mills
t1 3 Hello Reset timer t1 to T1 seconds.
t2 3 Poll Reset timer t2 to T2 seconds.
Cease State (4)
Request 4 Cease
Cease 0 Cease-ack Stop timers and return
resources.
Cease-ack 0 Stop timers and return
resources.
Stop/t3 0 Stop timers and return
resources.
t1 4 Cease Reset timer t1 to P3 seconds.
4. Functional Description
This section contains detailed descriptions of the various
procedures and algorithms used to manage the protocol.
4.1. Managing the State Variables
The state variables which characterize the protocol are summarized
in Section 3.1. This section describes the detailed management of these
variables, including sequence numbers, polling intervals and timers.
4.1.1. Sequence Numbers
All EGP commands and replies carry a sequence number. The state
variable R records the last sequence number received in a command from
that neighbor. The current value of R is used as the sequence number
for all replies and indications sent to the neighbor until a command
with a different sequence number is received from that neighbor.
Implementors are free to manage the sequence numbers of the
commands sent; however, it is suggested that a separate send state
variable S be maintained for each EGP neighbor and that its value be
incremented just before the time an Poll command is sent and at no other
times. The actions upon receipt of a response or indication with
sequence number not equal to S is not specified; however, it is
recommended these be discarded.
4.1.1. Polling Intervals
As part of the Request/Confirm exchange a set of polling intervals
are established including T1, which establishes the interval between
Hello command retransmissions, and T2, which establishes the interval
between Poll retransmissions.
Each gateway configuration is characterized by a set of fixed
parameters, including P1, which specifies the minimum polling interval
Exterior Gateway Protocol Formal Specification Page 11
D.L. Mills
at which it will respond to Hello commands, and P2, which specifies the
minimum polling interval at which it will respond to Poll commands. P1
and P2 are inserted in the Hello Interval (S1) and Poll Interval (S2)
fields, respectively, of Request commands and Confirm responses.
A gateway receiving a Request command or Confirm response uses the
S1 and S2 fields in the message to calculate its own T1 and T2 state
variables, respectively. Implementors are free to perform this
calculation in arbitrary ways; however, the following constraints must
be observed:
1. If T1 < S1 the neighbor may discard Hello commands. If T2 < S2 the
neighbor may discard Poll commands.
2. The time window T3 in which neighbor-reachability indications are
counted is dependent on T1. In the case where two neighbors select
widely differing values for their T3 state variables, the
neighbor-reachability algorithm may not work properly. This can be
avoided if T1 > max(P1, S1).
3. If either S1 or S2 or both are unacceptable for some reason (e.g.
exceed useful limits), the neighbor may either send a Refuse
response or declare a Stop event, depending on state.
It is suggested that T3 be computed as four times the value of T1,
giving a window of four neighbor-reachability indications, which has
been found appropriate in the experimental implementations.
Implementors may choose to make T3 a fixed parameter in those cases
where the path between the neighbors has well-known characteristics.
Note that, if a gateway attempts to send Hello commands near the
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -