LDP会话状态机
LDP會話包括以下五種狀態(tài):
1,non existent:LDP會話的最初狀態(tài)。在此狀態(tài)下,雙方互相發(fā)送 Hello 消息,選舉主動方,當(dāng)收到 TCP連接建立成功事件后狀態(tài)變?yōu)?initialized。
2,initialized:該狀態(tài)下分為主動方和被動方兩種情況。
? 主動方發(fā)送 Initialization消息,轉(zhuǎn)向 OPENsent 狀態(tài),等待對方回應(yīng)Initialization消息。
? 被動方等待主動方發(fā)給自己的 Initialization 消息。如果收到 Initialization消息,且相關(guān)的參數(shù)可以接受,則發(fā)送 Initialization 消息和 Keepalive 消息,轉(zhuǎn)向OPENREC 狀態(tài)。
? 如果主動方和被動方在此狀態(tài)下收到任何非 Initialization 消息或等待超時,則轉(zhuǎn)向 NON EXISTENT 狀態(tài)。
3,opensent:主動方發(fā)送 Initialization 消息后的狀態(tài),在此狀態(tài)等待被動方回應(yīng)Initialization消息和 Keepalive 消息。
? 如果收到 Initialization 消息中的參數(shù)可以接受,則轉(zhuǎn)向 OPENREC 狀態(tài)。
? 如果收到 Initialization 消息中的參數(shù)不能接受或 Initialization消息超時,則斷開TCP連接轉(zhuǎn)向 NON EXISTENT 狀態(tài)。
4,openrec:在此狀態(tài)無論是主動方和被動方都是發(fā)送 Keepalive 消息后的狀態(tài),在等待對方回應(yīng) Keepalive 消息。
? 只要收到 Keepalive 消息就轉(zhuǎn)向 OPERATIONAL 狀態(tài)。
? 如果收到其他消息或 Keepalive 超時,則轉(zhuǎn)向 NON EXISTENT 狀態(tài)。
5,OPERATIONAL:此狀態(tài)表明 LDP會話已經(jīng)建立。在此狀態(tài)下可以發(fā)送或接收所有其他的 LDP消息。在此狀態(tài)如果 Keepalive 超時或收到致命錯誤的 Notification消息(如 Shutdown 消息) ,或自己主動發(fā)送 Shutdown 消息結(jié)束會話,都會轉(zhuǎn)向NON EXISTENT 狀態(tài)。
總結(jié)
- 上一篇: php 打开pdf文件附件,pdf里怎么
- 下一篇: hdu 4126(prim+树形dp)