8.2.2. Машина конечных состояний
- Состояние Idle
Изначально FSM узла BGP находится в состоянии Idle (далее машина конечных состояний узла BGP будет обозначаться для краткости BGP FSM).
В этом состоянии BGP FSM отвергает все входящие соединения BGP для данного узла. Никаких ресурсов не выделено. В ответ на событие ManualStart (1) или AutomaticStart (3) локальная система будет:
- инициализировать все ресурсы BGP для соединения с партнером;
- устанавливать ConnectRetryCounter = 0;
- запускать таймер ConnectRetryTimer с начальным значением;
- инициировать соединение TCP с другим узлом BGP;
- прослушивать соединения, инициированные удаленными узлами BGP;
- переходить в состояние Connect.
События ManualStop (Событие 2) и AutomaticStop (Событие 8) игнорируются в состоянии Idle.
В ответ на событие ManualStart_with_PassiveTcpEstablishment (4) или AutomaticStart_with_PassiveTcpEstablishment (5) локальная система будет:
- инициализировать все ресурсы BGP;
- устанавливать ConnectRetryCounter = 0;
- запускать таймер ConnectRetryTimer с начальным значением;
- прослушивать соединения, инициированные удаленными узлами BGP;
- переходить в состояние Active.
Точное значение ConnectRetryTimer определяется локально, но его следует делать достаточно большим для того, чтобы прошла инициализация TCP.
Если атрибут DampPeerOscillations имеет значение TRUE, в состоянии Idle возможны три события:
- AutomaticStart_with_DampPeerOscillations (Событие 6),
- AutomaticStart_with_DampPeerOscillations_and_PassiveTcpEstablishment (Событие 7),
- IdleHoldTimer_Expires (Событие 13).
Эти события будут использоваться локальной системой для предотвращения осцилляций. Метод предотвращения постоянных осцилляций выходит за пределы данного документа.
Любое другое событие (9-12, 15-28) в состоянии Idle не приводит к смене состояния локальной системы.