
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 狀態。
