上面敘述到了,MPLS技術是ip技術和ATM技術的融合。LSR和ATM-LSR上實現標簽的生成和分發是有點不同的。
2.3.1 包模式(Packet Mode)下的標簽的分配和分發
對于實現包模式MPLS網絡中,是下游LSR獨立生成路由條目和標簽的綁定,并且是主動分發出去的。 
如上圖,所有LSR上啟動了LDP協議。以LSR-B為例,它已經通過路由協議獲得網絡X的路由了,一旦啟動LDP協議,LSR-B立即查找路由表,假如X網絡的路由是由IGP路由協議學到的,則在LIB表中為通向X網絡的路由生成一個本地標簽25,由于LSR-B和LSR-A、LSR-C、LSR-E形成了LDP鄰居關系,所以下游LSR-B會主動給所有的鄰居發送這個X=25的路由條目和標簽的綁定!LSR-A、LSR-E、LSR-C會把該路由條目和標簽的綁定放置到本地的LIB表中,再結合本地的路由表,在FIB表中生成有關X網絡的“網絡地址->出標簽”條目,在LFIB中生成有關X網絡的“進標簽->出標簽”條目。所有的LSR上都如此操作。最終的結果使整個MPLS網絡內部所有LSR上達到路由表、LIB表、FIB表、LFIB表的動態平衡。
假如LSR-A接收到要去X網段的數據,由于LSR-A處在MPLS網絡的邊緣,必須查找FIB表,對接收到的IP包,做標簽插入操作。對于LSR-B,LSR-C則純粹是分析標簽包,對包頭的標簽做轉換,在轉發標簽包而已。數據到了LSR-D,該邊緣LSR會去掉標簽包中的標簽,再對恢復的IP包做轉發!如下圖: 
2.3.2
信元模式(Cell Mode)下的標簽分配和分發
在信元模式下,下游ATM-LSR接收到了上游ATM-LSR標簽綁定請求后,下游受控分配標簽,被動向上游分發標簽。如下圖 
最上游的LSR-A向ATM-LSR-B發起對網絡X的標簽求情,ATM-LSR-B再向ATM-LSR-C發請求,最后請求到達LSR-D,LSR-D生成本地對X網絡的標簽1/37,把該標簽告訴ATM-LSR-C,C做同樣操作,這樣一步一步到達LSR-A。最終生成一條從A->B->C->D的LSP(Label Switch Path)。這樣假如A收到要到X網絡的數據,A就把IP數據包分割成帶有標簽的信元,通過ATM接口發送到B,接下來B和C就純粹做ATM信元的轉發,到了D后再把信元組合成IP數據包,發向網絡X。
在此要強調的假如要組建以ATM交換機為核心的MPLS網絡,那么在ATM網絡的邊緣必須設置路由器,原因在于ATM交換機只轉發信元,無法處理用戶數據IP包。當然上面也提到要在ATM交換機上實現MPLS功能,必須在ATM交換機的信令控制部分加入路由協議,而路由信息包往往是打在IP包中的,如RIP,OSPF,BGP等路由協議。ATM交換機為了確保這些以IP包形式傳遞的路由信息能夠在ATM交換機間傳遞,使用了專門的帶外連接通道或者帶內的治理VC。
2.4 BGP協議在MPLS網絡中的非凡應用
上面提到LSR根據路由表分配標簽時,只對從IGP協議獲得的路由條目分配標簽。原因何在?這是有非凡意義的!看下圖:

整個Transit AS中啟動MPLS交換。保證ISP2和LSR-Border2之間的網段發布到Transit AS內部的IGP路由協議中,對ISP1和LSR-Border2之間的網段也做同樣的要求。前面提到過LSR為路由條目分配標簽時,只對從IGP學來的路由分配標簽,而網絡1.2.3.4是被發布到Transit AS內部的IGP路由協議中了,可以肯定在Border1處是可以獲得Core1告訴它有關1.2.3.4網絡的標簽23。LSR-Border1,LSR-Border2之間形成IBGP鄰居關系,通過BGP協議,LSR-Border2把從ISP2處學來的10.0.0.0/8這條路由告訴給LSR-Border1,這條路由的下一跳地址是1.2.3.4,這樣一來讓LSR-Border1得知要給網絡10.0.0.0/8發送數據,先把數據發送到1.2.3.4這個網絡來。1.2.3.4被綁定了標簽23,所以在生成FIB表時,也給10.0.0.0/8這個網段綁定一個標簽23。這樣,假如有數據從ISP1穿越Transit AS到達ISP2,在Border1處就會給IP包插上23這個標簽,把生成的標簽包轉發到Core1,Core1就只要分析標簽頭做標簽包的轉發就可以了!由于Transit AS內部核心路由器不必要運行BGP協議,這樣一來,MPLS網絡的核心路由器就不會知道外部用戶的路由,縮小了核心路由器的路由表,提高了搜索效率。大家也看到,由于打上了標簽,IP包頭是不會在核心路由器被分析的,即使IP包頭含有10.0.0.1這樣的私有IP地址,也會因為只分析標簽的原因被正常轉發,這就是服務提供商提供VPN服務所追求的。當然在此必須重聲,LSP在整個Transit AS不能被斷開,假如斷開,標簽包就恢復成IP包,而核心路由器是不含用戶路由的,最終導致數據包的丟失。
BGP在MPLS網絡中的作用為我們提供了VPN服務打開了方便之門,但也應該意識到VPN服務兩個最基本的要求是1.用戶可以獨立規劃IP地址;2.安全性非常重要!看下圖: 
以上為兩個VPN實例,PE1(PE=PRovider Edge device)上分別接了CE1 (CE=Customer Edge device)和CE3,但是CE1和CE3上帶到IP地址相同的網 段10.1.2.0/8,很明顯假如不對PE1路由器做修改,PE1只能認為往10.1.2.0/8的數據要么從S0出,要么從S1出,這樣的話,不是CE1就是CE3就更本收不到從PE1發來的前往10.1.2.0/8網段的數據!
假如不對BGP4協議做修改,那么PE2和PE3發送給的PE1的有關10.1.1.0/8網絡的路由更新就有可比性,PE1最終會選擇一條路由,認為或是PE2或者PE3是發送數據到10.1.1.0/8的必經路由器。這樣假如CE1帶的10.1.2.0/8網段上的主機給10.1.1.0/8網段上的主機發送數據時,可能會發到CE4所帶的10.1.1.0/8的網段上,這樣造成了數據泄露。
所以,為了使LSR能提供基于MPLS的VPN服務,還必須對此類設備做修改
新聞熱點
疑難解答