LDP会话状态机


LDP会话包括以下五种状态: 
1,non existent:LDP会话的最初状态。在此状态下,双方互相发送 Hello 消息,选举主动方,当收到 TCP连接建立成功事件后状态变为 initialized。 

2,initialized:该状态下分为主动方和被动方两种情况。 
−  主动方发送 Initialization消息,转向 OPENsent 状态,等待对方回应Initialization消息。 
−  被动方等待主动方发给自己的 Initialization 消息。如果收到 Initialization消息,且相关的参数可以接受,则发送 Initialization 消息和 Keepalive 消息,转向OPENREC 状态。 
−  如果主动方和被动方在此状态下收到任何非 Initialization 消息或等待超时,则转向 NON EXISTENT 状态。

3,opensent:主动方发送 Initialization 消息后的状态,在此状态等待被动方回应Initialization消息和 Keepalive 消息。 
−  如果收到 Initialization 消息中的参数可以接受,则转向 OPENREC 状态。 
−  如果收到 Initialization 消息中的参数不能接受或 Initialization消息超时,则断开TCP连接转向 NON EXISTENT 状态。 

4,openrec:在此状态无论是主动方和被动方都是发送 Keepalive 消息后的状态,在等待对方回应 Keepalive 消息。 
−  只要收到 Keepalive 消息就转向 OPERATIONAL 状态。 
−  如果收到其他消息或 Keepalive 超时,则转向 NON EXISTENT 状态。 
5,OPERATIONAL:此状态表明 LDP会话已经建立。在此状态下可以发送或接收所有其他的 LDP消息。在此状态如果 Keepalive 超时或收到致命错误的 Notification消息(如 Shutdown 消息) ,或自己主动发送 Shutdown 消息结束会话,都会转向NON EXISTENT 状态。

posted @ 2020-04-20 08:40  cyrusxx  阅读(982)  评论(0编辑  收藏  举报