實例解釋MPLS的原理
MPLS的原理其實十分簡單,舉個例子:
|-----CE1------>PE1------>P1------->P2----->PE2---->CE2----|
網段10.0.0.0 包+標記1+標記2 包+標記1+標記3 包+標記1 包 網段192.168.1.0
1.首先CE1接收到發往192.168.1.0的IP數據包,查詢路由表,把該IP數據包發送到PE1。
2.PE1收到IP數據包後,查詢VRF和與之相應的CEF表,爲數據包打上標記1。然後PE1繼續查詢全局CEF表,這個CEF表是對應整個P而言,不是某個VRF的。獲知要把數據發往192.168.1.0 網段,下一跳是PE2,如果發送到PE2,那麼就要打上由P1向下遊通知的標記2。所以該IP包被打上了兩個標記。標記1和標記2
3.P1接收到標記包後,分析外層的標記,把外層標記換成3,傳遞發送給P2。
4.P2和P1一樣做同樣的操作,由於次末中繼彈出機制,P2去掉標記2,直接把只帶有一個標記1的標記包發送到PE2。
5.PE2收到標記包後,分析標記頭,由於該標記1是它本地產生的,而且是本地唯一的,所以PE2去掉標記,釋放出IP包,發送到自己的對應網段上去。
6.CE2收到IP數據包後,查找路由表,把數據發送到192.168.1.0網段上。
7.至此,一個數據報文傳遞過程結束
|-----CE1------>PE1------>P1------->P2----->PE2---->CE2----|
網段10.0.0.0 包+標記1+標記2 包+標記1+標記3 包+標記1 包 網段192.168.1.0
1.首先CE1接收到發往192.168.1.0的IP數據包,查詢路由表,把該IP數據包發送到PE1。
2.PE1收到IP數據包後,查詢VRF和與之相應的CEF表,爲數據包打上標記1。然後PE1繼續查詢全局CEF表,這個CEF表是對應整個P而言,不是某個VRF的。獲知要把數據發往192.168.1.0 網段,下一跳是PE2,如果發送到PE2,那麼就要打上由P1向下遊通知的標記2。所以該IP包被打上了兩個標記。標記1和標記2
3.P1接收到標記包後,分析外層的標記,把外層標記換成3,傳遞發送給P2。
4.P2和P1一樣做同樣的操作,由於次末中繼彈出機制,P2去掉標記2,直接把只帶有一個標記1的標記包發送到PE2。
5.PE2收到標記包後,分析標記頭,由於該標記1是它本地產生的,而且是本地唯一的,所以PE2去掉標記,釋放出IP包,發送到自己的對應網段上去。
6.CE2收到IP數據包後,查找路由表,把數據發送到192.168.1.0網段上。
7.至此,一個數據報文傳遞過程結束