2013年12月6日 星期五

MS SQL的備份與還原

將資料庫備份是 DBA 最重要的任務之一。備份和仔細的還原計劃可在系統失效時將資料還原。DBA 的責任是保持系統的執行狀態,並在失效時盡快還原所有的服務。系統停止運作會造成許多不便,有時更要付出昂貴的代價,因此在系統停止運作時得很快的取得取得資料庫備份。

有些技術會對系統失效的還
原有幫助,如叢集和容錯磁碟子系統,但是還是比不上一個好的計劃和可靠的備份。
備份、還原和復原資料庫的主題十分重要,本文中將學習如何還原資料庫,以及備份資料庫的幾種方法。另外不同資料庫之間的轉換,以MySQL資料庫匯入MSSQL資料庫為例,至於MSSQL資料庫匯出為MySQL資料庫則只要將目的與來源端交換即可。
備份和還原的3種方法:分為執行SQL指令碼、利用備份還原精靈及直接複製資料庫檔案再執行附加動作等3種方法


方法一、利用SQL指令碼

備份:對test資料庫進行備份,產生*.sql檔案
(1) 點選產生SQL指令碼
(2) 勾選編寫所有物件
(3) 檔案命名存檔即完成備份作業
還原:利用Query Analyzer工具開啟test.sql檔,對新增的tset資料庫執行SQL指令
(1) 新增test資料庫
(2) 利用Query Analyzer工具執行SQL指令碼
方法二、利用備份還原精靈

備份:對tset資料庫進行備份作業
(1) 點選備份資料庫
(2) 點選新增
(3) 設定裝置名稱及備份檔案名稱後點選確定即完成備份作業
還原:將產生的test01.BAK備份檔案,還原到新增的test資料庫
(1) 新增test資料庫
(2) 點選還原資料庫
(3) 選擇之前新增的資料庫後點選”選擇裝置”
(4) 點選新增
(5) 選擇備份檔案
(6) 點選確定
(7) 點選選項,可更改資料庫檔案路徑,後按確定即完成資料庫還原
方法三、利用附加資料庫檔案

備份:對test資料庫進行備份,先停用SQL server服務,到資料庫檔案存放路徑(預設為C:\Program Files\Microsoft SQL Server\MSSQL\Data)複製tset資料庫Data及Log檔案
(1) 先將SQL Server服務停止
(2) 將要備份的資料庫檔案及Log檔案複製
還原:啟用SQL server服務,將複製的資料庫檔案已附加方式還原
(1) 點選附加資料庫
(2) 選擇資料庫MDF檔,可自行更改資料庫存放路徑,指定擁有者後按確定即完成還原作業。
將MySQL資料庫匯入MSSQL資料庫
(1) 安裝MyODBC,讓MSSQL可透過ODBC技術來存取MySQL
(2) 點選匯入資料
(3) 點選新增
(4) 選擇系統資料來源
(5) 選擇MySQL ODBC 3.51 Driver
(6) 命名DSN,輸入MySQL IP、資料庫名稱、user name及 密碼。
(7) 選擇剛剛新增的DSN後按下一步
(8) 選擇SQL Server,指定伺服器,輸入使用者名稱密碼,選擇要還原的資料庫後按下一步。
(9) 選擇複製來源資料庫
(10) 全選後按下一步
(11) 選擇立即執行後按下一步即完成匯入作業。

規劃VPN

企業經理人與MIS
隨著跨區、跨縣、跨國企業的發展,產業「地球村化」的時代已正式降臨,VPN漸成企業商業與協同應用的重要選擇。傳統上系統維護是由企業MIS人員負責, 然而,對於公司內的資訊部門人員而言,工作已有愈形複雜的趨勢。試想,一個100人規模的公司,MIS的人員配置可能只有2~3人,但是所要擔負的工作卻 異常繁瑣,包含著電腦週邊設備維護管理、網路正常運作的維護、資訊系統的開發與維護、網路安全的維護。每天還可能有一些意外的驚喜,讓MIS人員疲於奔 命。如果不幸該企業分公司的地點不止一個,而是遍佈台灣,甚至廣及世界各地,這還會嚴重影響到公司的生產力。為了降低MIS人力在可預期避免危機上的過度 浪費,使其人力得到充分運用,企業經理人必須未雨綢繆,一旦考慮採用VPN,就應該同時規劃當下與未來6到12個月該做的事,在未來評估 ROI(Return on Investment)和TCO(Total Cost of Ownership)、擬定決策、提升效益的流程中,才能順暢無阻。

VPN的規劃面向與思考邏輯

網路規劃並沒有所謂最完美的規劃,只有最適當的規劃。對於規劃VPN,企業經理人有四個必須自問的面向:效能、彈性、安全性、經濟性。
一 效能
目前常用的VPN 架構(產品)分成:
1. Frame Relay(Layer 2,Switching 架構)。
2. ATM(Layer 2,ATM Cell Switching 架構)。
3. MPLS(Layer 2+,IP Switching 架構)。
4. IPSec、L2TP、PPTP(這三種通訊協定皆為點對點邏輯隧道技術,包含資料加密、身分認證技術、密鑰管理技術等結合)。
企業經理人能選用的架構雖然多,但是目前以IP Base的MPLS技術較被重視採用,其原因如下:
Standard-適用於現有網路架構標準(設備無須更新)
Simple-客戶端架構簡單,適用於大型至小型的VPN需求、維護管理成本低
Security-具有訊框傳送(Frame Relay)同等級的安全性
Future-整合 IP Qos 與 流量控管工程(Traffic Engineering)
Felix-無須提供虛擬電路(相對於FR/ATM)
效能上頻寬是另一常見考量。一旦頻寬使用率持續居高不下,企業經理人第一時間該考慮的是清查網管系統的流量紀錄,去除不必要流量並嘗試重導封包傳輸;必要時可採用負載平衡的設備,透過多條對外頻寬以處理頻寬不足問題。效益考量下,經理人不應無前提且無限制的擴充電路頻寬。
二 彈性
VPN的迷人之處,在於相較Internet環境,VPN提供了一個品質保障的頻寬來滿足語音與視訊的傳輸需求,也相對的降低電話費、差旅費的耗用,並增 加溝通(包含教育訓練)頻率,藉以提升公司的競爭力;建置初期,當然不見得也不建議將所有的加值服務一口氣囫圇吞棗建置完畢,但企業經理人必須清楚其 VPN未來是否能彈性的擴充語音與視訊等加值服務,並且自問,長期來看,數據、視訊與語音是分開好,還是整合在單一的VPN解決方案上較符合需求。

三 安全性
雖然VPN是一個完全封閉式的網路,但是企業經理人要明瞭,並非建立起VPN的網路環境後就可以高枕無憂,仍需要許多的配套措施來完成網路安全的防禦機制,原因如下:
1. 對外Internet 需要出口:出口必須透過防火牆(firewall)與Internet 做接觸,所以Internet 上的入侵攻擊事件仍有可能穿透防火牆。目前駭客的入侵手法不斷翻新,經理人除了必須確保VPN架構在企業做內部資料傳輸的安全性,還需要考慮安全上其他可能入侵的管道。
2. E-mail , Web server 對外(對內)的service 需要開放:所以這方面的相關防禦機制仍需建立。
3. Extranet 的通道需要規劃:越來越多企業擁有B2B的網路架構環境,處理自己內部的資料安全固然刻不容緩,如何規劃一個安全的Extranet 環境也是一個重要的課題。簡單而言,該以企業既有的防火牆兼顧Extranet的潛在危機,還是另外購置一套防火牆保護?這是企業遲早必須面臨的課題。
4. 移動式的辦公環境需要防護:隨著筆記型電腦的普及,辦公室內潛在的移動式上網設備與管道,都有可能成為病毒與入侵攻擊事件的跳板。
四 經濟性
規劃網路時,首重成本效益分析。就企業VPN整體建置而言,確實能為企業降低總持有成本,並相對提升資訊的應用效能。以擴充性來檢視VPN,新增節點的成本相較於專線而言便宜50%以上,維護的成本也較低。以MPLS VPN來看,新增一點只需要一路專線(或ADSL)加入,在單純的IP環境下,透過ISP的IP管理即可(如圖)。

網路整體的政策,需配合公司整體維運的考量而設計,事前做好資產評估與風險評估,甚至災難復原計畫。因為資訊化的腳步不斷往前,許多公司賴以生存的關鍵技術或資料都已經資訊化,應該要有相當的投資去建置這樣的系統與政策。 VPN 產業別的特殊需要
市場上不同產業別對於VPN會有不同觀點與衍生需求,這點企業經理人在歸劃本身產業的VPN建置時應有自覺:

製造業
製造業多半在許多地點有不同的生產線,常涵蓋台灣本島甚或全球其他國家,再以總部設在台灣的方式掌控全局。透過VPN可以導入ERP、語音服務、視訊服務,並以此降低營運成本,減少差旅的費用與風險。

服務業
包括餐飲業、百貨零售業、連鎖便利商店的服務業,每天的進出貨、庫存狀況,可透過VPN連線建置,做即時資料處理,若有導入POS系統,更可以在VPN上 做安全與快速的資料交換。此外,導入語音整合的服務可以突顯出VPN建置的邊際效益,讓點對點電話互撥免費。

物流業
物流業有其產業的獨特性,必須全省(跨國)分佈據點,掌控供需時間的敏感度必須極高,也因此資料的快速傳遞,乃是物流業競爭力的展現。導入VPN以後,可 以用最少的人力,建置100個點以上的VPN網路環境。透過有經驗的ISP,能讓複雜度高的網路環境更易於維護。
實際應用
以下為某跨國製造業(A公司)在VPN建置上的實例與架構-
該公司為傳統製造業,生產工廠在大陸、美洲、東南亞(下方圖形只舉一個工廠做說明),既有網路環境以Internet 方式做資料傳遞,並有遠端連線上來的user 做線上查詢。
其產業挑戰為:
1. Internet 資料安全問題。
2. 大陸工廠的ERP資料有回傳台灣需求。
3. 總公司資料量太大,對外頻寬不容斷線。
4. 有資料庫異地備援與分散流量需求。
5. 各點透過不同ISP 申請Internet,管理不易。
該公司企業經理人與ISP(Seednet)經過討論後,其規劃決策如下:
1. 建立大陸工廠連回台灣的VPN網路環境(如下圖所示)。
2. 總公司與分公司透過 MPLS VPN 整合。
3. 總公司為因應其他分公司的資料量,另外透過一路市內專線承接分公司來的流量,將資料量與通往大陸端的國際加值VPN流量分開。
4. 原有設備(router、firewall)可以繼續沿用。
5. 資料庫主機代管在同一ISP,並透過 IDC-MPLS VPN 與各點界接,如此一來可以確保各分公司存取資料庫的品質,達到分散流量的目的。
6. 資料庫主機代管在透過ISP的專屬式防火牆服務(IDC Firewall service)讓Internet user 進來存取資料。
7. 總公司內設置另一部資料庫主機作為備援系統,藉以達到異地備援的目的。
8. 該ISP具有產品整合經驗,透過7x24小時的網管監控服務,其主機代管、MPLS VPN、防火牆代管與兩岸VPN能單一窗口進行障礙排除。
結論:
企業經理人並非全知全能,也不必要做到全知全能,在決策過程中,首先要確定建置VPN所必須達到的目標重點,並規劃其每項建置目標在時間軸上的優先順序, 其次,要懂得去借重ISP的建置經驗。麻煩的是,雖然每家ISP都會搬弄ROI的公式,但是樣板化公式很難同時適用於各企業獨一無二的網路架構;每個人都 知道MPLS VPN應該是種最經濟的VPN建置方式,但就是有些ISP在結果上讓它更複雜且更難以維護,反而提高了持有成本。因此,找尋一個對VPN產品組合有豐富規 劃建置經驗的ISP就是一件最重要的大事。 第一課:節費之道在於簡化。選擇一個簡化便於維護的VPN架構,就能揮別MIS人力的不必要浪費。簡化流程,跳脫事必躬親的決策思維,讓一個有豐富經驗的ISP,協助你將觸角深入經濟效益的核心。

http://eservice.seed.net.tw/class/class47.html

VPN 新趨勢 MPLS VPN(1)

何謂VPN?
「虛擬私有網路(VPN)」,簡單的說,就是指在公眾網路架構上所建立的企業網路,且此企業網路擁有與私有網路相同的安全、管理及效能等條件。VPN乃是原有專線式企業私有廣域網路的替代方案。
 
企業VPN解決方案的種類
《一》私有網路(Private Network)
以租用實體電路的方式,建立企業內點對點的通訊網路,頻寬使用效能低(通常不超過50%),須自行管理的封閉網路,總公司埠(port)密度高,建置成本昂貴。
《二》虛擬私有網路(Virtual Private Network)
ISP建置X.25、Frame-Relay或ATM的網路架構,以虛擬電路(Virtual Circuit)在實體電路上建立連線,達到end to end VPN,連結可提供頻寬保證(CIR),但不易替客戶建置完全網狀連結(Fully-Meshed)之網路架構,並且缺乏Intranet、Extranet、Remote Access的完成整合能力。
《三》IP VPN
IP網路環境中結合Tunneling、Encryption、Authentication Access技術建立的虛擬內部網路。可輕鬆建置完全網狀連結(Fully-Meshed)容易擴充,並且具備Intranet、Extranet或 Remote Access的完全整合能力。這種Layer 3 VPN的解決方案是透過IP Tunnel 建立VPN連線,而IP tunnel技術是將Private IP包在Public IP之後,透過一個公眾網路連結,但還是有Security問題,因此利用IP Security機制將資料封包加密,以達到資料保密的功能。
《四》MPLS VPN
上述企業VPN解決方案的Function都有一些不完美之處,傳統VPN 都是建構在Layer 2的ATM or Frame-Relay網路上,所以服務提供者(ISP)需要建構其Layer 2 Backbone。在IP網路越來越普遍的今天,實在不需再做此方面的擴充,另外在Layer 2骨幹網路提供的VPN解決方案中,在建置及維護VC方面是比較複雜的同時如果要擴展Extranet的網路需求時,則會有相當的困難度。然而Layer 3的IP VPN解決方案,其Security 和QoS上在透過公眾網路時將無法確知效果,所以傳統Layer 2及Layer 3皆有其發展上的限制及問題,於是MPLS VPN解決方案應運而生,其結合了Layer 2及Layer 3的優勢,可以很容易的提供VPN/Intranet/Extranet/Inter-AS VPN,,並且透過MPLS TE(Traffic Engineering)及MPLS Qos的功能保障傳輸的品質。
 
MPLS VPN Connection Model
P router(LSR):MPLS網路中的core,負責做 Label Switching。
PE router(ELSR):MPLS網路中的edge,負責連接客戶端router,負責將客戶的Packet加上Label。
CE router:客戶端router。
 
PE Router維護兩份獨立的Routing Table
《一》Global Routing Table
和骨幹網路透過IGP交換彼此的路由資訊,包含了所有PE Router、P Router的Routes。
《二》VRF(VPN Routing & Forwarding)
每個VRF對應到各自VPN客戶的Routes,每個VPN客戶的Routes是各自分開獨立的,也就是說PE Router會根據不同的VPN客戶切割分配不同的Routing Table給它,彼此不會互相影響。
 
分散在各地的PE Router如何交換客戶VPN的Routing information?
《Solution 1》
對於每個客戶獨立執行一個IGP的路由協定,來攜帶客戶的VPN routing information通過骨幹P Router 到達另一節點的PE router交換彼此資訊。
缺點:
not scale而且P router需要擁有所有客戶的routing information浪費資源。
《Solution 2》
執行一個路由協定,攜帶所有客戶的VPN routing information通過骨幹P Router到達另一節點的PE router交換彼此資訊。
缺點:
P router需要擁有所有客戶的routing information浪費資源。
《Solution 3》
執行一個路由協定,攜帶所有客戶的VPN routing information直接和另一節點的PE router交換彼此資訊,並在骨幹中利用MPLS label來交換PE router間的封包。
優點:
P router不需要擁有客戶的routing information,而且可以達成具有Scalability的目的。
 
選用那一種路由協定來攜帶及交換PE Router間客戶VPN路由資訊?
客戶的routing Information是很多的,唯一能攜帶大量routing information的路由協定就只有BGP,而且BGP也可以直接在PE router間交換客戶的routes。
 
《一》RD(Route Distinguisher)值簡介
在企業VPN中,很多的情況都有IP重覆使用的問題,如果有兩個VPN客戶使用了相同的網段,那要如何在使用單一路由協定(BGP)下的PE router,區分是不同的客戶的網段,因此在BGP路由協定中加入一些新的Attribute(屬性),將原來客戶的routing information延伸附加RD這個屬性值,使其客戶的routing information是唯一的。
RD是一個長度64bits的數字,附加於IPv4位址的前面使其達到絕對唯一(global unique),這樣組合長度為96bits的位址表示法稱為VPNv4。這種VPNv4的位址表示法,只用於PE router之間藉由BGP路由協定來交換,而這種BGP路由協定能支援除了IPv4位址表示法外的其他位址表示法(VPNv4)我們稱之為Multi-protocol BGP。所以在一個簡單的企業VPN架構中,每個客戶都需要有一個RD值,藉以區分每個客戶。
《二》RT(Route Targets)值簡介
Route Targets是額外附加在VPNv4 BGP routes的Attribute(屬性),用來表示所屬的VPN,例如某一個客戶端的site可能需要參與或加入一個以上的VPN,而RD值無法顯示出 要參與或加入那些VPN,所以需要一個新的方法來顯示出這個VPNv4 BGP routes所屬的VPN,RT這個屬性值就是用在MPLS VPN結構中,支援複雜的VPN型態。
Route Targets是利用延伸原本BGP communities的屬性來使用,我們稱這個屬性為Extended communities。
 
《三》RT(Route Targets)如何運作
  1. Export route targets
    表示其加入成為那一個VPN的成員,也就是說當客戶的routes被轉換成VPNv4時會再附加這個屬性。
  2. Import route targets
    每個MPLS VPN客戶的VRF都可選擇要收入什麼樣的routing進入這個VPN客戶的virtual routing table。
結語
本篇文章先描述了現行企業VPN的各種解決方案的特性及優缺點,並且說明發展MPLS VPN技術的原因及其在未來的優勢,接著進一步詳述MPLS VPN的Connection Model及其中P router和PE router的角色。在PE router中為了使企業客戶的routing information各自獨立,設計了VRF的概念,另外更進一步探討如何利用Modified 的BGP路由協定(MP-BGP)來攜帶及交換各節點PE router所擁有的企業VPN routing information,使企業VPN客戶位於全省各節點的網路能夠互通,此外為了解決不同企業VPN客戶中,有很多的情況都有IP重覆使用的問題,因此在routing information中加入了RD的屬性,最後描述為了更彈性的規劃客戶的某個節點可以加入一個以上的VPN群組,而新增了RT這個屬性,由RT值來決定某個節點是否要和另一個節點網路互通,這個概念類似於區域網路的VLAN。 http://eservice.seed.net.tw/class/class14-1.html   

VPN 新趨勢 MPLS VPN(2)

MPLS VPN相對於IP VPN的優勢
MPLS VPN很容易provisioning,而且有最佳化的routing,RD的設計可以避免不同VPN客戶IP位址重覆的問題,RT值的加入可規劃複雜型式的VPN架構,是其他企業VPN解決方案所無法做到的。
 
MPLS VPN routing information建立的過程
《一》IP網路路由的建立
利用routing protocol(例如IGP)交換各個router的routing information。
《二》MPLS網路的建立
MPLS網路中的PE router或P router間利用LDP(Label Distribution Protocol)來交換彼此的Label Information,PE1到PE2 的LSP(Label Switching Path)在Packet傳送前就已決定。
《三》MPLS VPN網路的建立
利用MP-BGP的路由協定來攜帶及交換不同PE router間的客戶VPN routes。PE2將收到CE2的MPLS VPN routes(10.1.1.0/24)放入VRF VPN-A中,並將此VPN routes加上RD值組成VPNv4的format,另外再加上RT值,VPN label等屬性值以Mp-iBGP的協定傳送給PE1 router,PE1 router收到來自PE2 router的VPN-v4 updat將其中的IP address取出放入VRF VPN-A的routing table內並且advertised to CE1。
 
MPLS VPN封包傳遞的過程
《一》在PE1將進入MPLS網路的客戶端Packet加上VPN label及IGP label
當PE1收到來自CE1的IP packet,得知Packet的Destination IP是10.1.1.27立刻查詢VPN-A的VRF routing table,發現要到10.1.1.0/24的next-hop ip是192.72.238.1,而且要在IP header的前端加上VPN label以區別是來自不同的VPN客戶。另外再根據Label Forwarding Table可以查出要到next-hop ip 192.72.238.1要使用IGP label=41才能Forwarding到MPLS的網路中,所以在VPN label的前端再加上IGP label,這樣才能順利的依循著之前定好的LSP(Label Switching Path)將Packet送達PE2。
《二》在MPLS網路中P router負責做Label Swap
P1 routers收到來自PE1的Packet,先查看Packet中最外面的Label header也就是IGP label其值為41,再根據本身的Label Forwarding Table得知,凡是In的Packet IGP Label=41的Packet要送出P1 router到下一個節點P2時,要將IGP label 41置換成31再送出Packet。
《三》Penultimate Hop Popping
在PE1到PE2的LSP path中P2是penultimate hop的角色,他會收到來自PE2透過LDP協定的通知說要把Packet中外層的IGP label先拿掉,以減輕PE2工作的負擔。
《四》PE2負責去除VPN label並送到所屬VPN客戶的interface
當PE2收到來自P2的封包,先查詢得知其VPN label=28,並得知此VPN label=28相對應的VRF為VPN-A這個客戶,進一步得知要將Packets送往那一個interface,因此PE2的工作程序是One single lookup、Label is popped and packet sent to IP neighbor。
 
結語
本篇文章主要是詳細介紹MPLS VPN如何利用MP-iBGP這個協定來交換各個PE router間客戶的VPN routes,其中應用了新的format VPNv4來攜帶客戶的VPN routes,另外引進了BGP extended community的觀念做Modified,產生了RT這個屬性值以做為建立不同企業或合作夥伴間彈性的Extranet網路架構,最後舉例說明一個 MPLS VPN客戶的Packets如何在MPLS網路中傳送,並到達客戶的另一節點的區域網路,其中可以看到MPLS VPN技術利用VPN label來區別來自不同的VPN客戶的封包,以達到VPN客戶的網路私密性。
 http://eservice.seed.net.tw/class/class14-2.html

MPLS概說 reference by Seetnet

什麼是MPLS
多重通訊協定標籤交換傳輸(Multi-Protocol Label Switching)是由IETF 所發展出來的Network Standard。它是實現寬頻網際網路最熱門的技術;其目的是要提供一個更具彈性、擴充性及效率更高的IP層交換技術。
MPLS 是一種整合了標籤交換架構與網路層的路由機制的技術,最基本的概念是將進入MPLS Network 的封包(Packet)配置一個固定長度的標籤(Label),在MPLS Network中Packet會根據標籤(Label) 做Forwarding , 由Label來決定Packet在網路上的路徑,不會再看 Layer 3的 IP Header(標頭)。
傳統IP Network 的運作方式
Packet在一般的IP Network傳遞時,路由器的運作是以所謂的"Store and Forward"的程序來做Packet路由的選擇及轉送,所以當路由器收到一個Packet時,會先儲存Packet 、分析路由、轉送Packet 到下一個適當的路由器,而當此路由器又收到下一個Packet 要傳送到相同的目的地時,它必須重覆執行相同的程序(儲存、分析、轉送),這樣是很沒有效率的而且會耗用路由器大量的CPU處理能力及記憶體空間,此外傳 統的路由器是以軟體的處理方式轉送IP 封包,而MPLS的技術則是引用與ATM交換技術類似的標籤交換(Label Switching)技術,簡化了路由器的轉送功能直接利用Switching Fabric以線上速度(Line Speed)來轉送封包(Packet)到達目的地。
MPLS Label 的Format及插入Packet的位置
Label是一個4Bytes、固定長度、locally-significant identifier類似在ATM網路中VPI(Virtual Path Identifier)/VCI(Virtual Circuit Identifier)或是Frame-Relay網路中的DLCI(Data Link Circuit Identifier),Label是被插入於Packet的第二層資料鏈結層(data link layer)與第三層網路層(network layer)Header之間。
MPLS Network 的組成
MPLS 網路是由多個具有標籤交換能力的路由器LSR(Label Switch Router)互相連結所組成,根據在MPLS網路內扮演角色的不同LSR可以分為三種類型:
(1) Ingress LSR:負責將進入MPLS網路的IP Packet貼上標籤(Push Label)
(2) Core LSR:LSR則位於MPLS網路的核心,負責做標籤轉換(Label Swap)
(3) Egress LSR:當封包要離開MPLS網路到一般IP網路時,負責去除標籤( Pop Label)。


Label Assignment and Distribution的過程
  1. LSR Routing Table的建立:在MPLS網路中所有的LSR利用routing protocol來交換路由資訊,建立自己的IP Routing Table,並根據Routing Table 建立自己的FIB(Forwarding Information Base),此時的FIB中並沒有Label的資訊。
  2. LSR Allocating Label過程: 當LSR路由器開始啟動MPLS功能時,會根據由IGP(如RIP、OSPF)學來的路由表(Routing Table)內容,對於使用相同處理方式、相同path、到達相同目的地IP subnet的Routing entry 做彙整(aggregation)及分類後Assign Label。
  3. LSR 初步建立自己的LIB及LFIB:將前面步驟Allocating 的local Label資訊儲存於LIB(Label Information Base)和LFIB(Label Forwarding Information Base)中,此時的LFIB中只有local Label 的資訊並沒有outgoing Label 的資訊。
  4. LSR Label Distribution過程:LSR將他Local assign的Label資訊傳送(Distribution)給相鄰的LSR,不論這相鄰的LSR是local LSR的downstream或upstream 都會傳送,而Label Distribution 靠的是相鄰的LSR間要執行LDP(Label Distribution Protocol)的協定,來互相交換彼此的Label資訊。另外談到LDP 的特性,MPLS Device 會send/receive LDP,LDP 透過Discovery 去和Neighbor溝通對方是否有啟動MPLS及交換Label information,而LDP是用UDP protocol去discovery neighbor,並利用 TCP 去去交換彼此Label information。
  5. LSR收到相鄰LSR送來的Lable資訊做資訊的彙整過程:最後每個LSR 根據接收到相鄰LSR送來的Label 資訊後,新增這些Label資訊於自己的LIB中,並根據routing table得到的最佳路徑,獲知到某網段的Next-hop LSR 所送來的Label資訊,插入到LFIB的outgoing Label資料結構中。
Packet在MPLS網路中傳送的過程
  1. Ingress LSR(Router A):IP Packet 進入MPLS網路的第一顆LSR路由器稱為Ingress LSR,當IP Packet 進入Ingress LSR 首先會查看Packet中的Destination IP address,並且在FIB中lookup 是否有符合的IP network ,如果有則進一步查看FIB中相對應的Label欄位其值為何?(例如:IP =X ,Label=25 ),當Packet從Ingress LSR 送出時,會在此Packet中打上Label=25的標示,再傳送出去。
  2. Core LSR (Router B):當帶有Label=25的Packet傳到Router B時,Router B會查看(lookup)他的LFIB的資料,看看是否有Inbound Label=25的entry,如果有則再查看此entry中Outgoing Label的欄位值為何?(例如 Outgoing Label=47),所以Packet中的Label快速的被置換(Label=25 aLabel=47)並往下一個節點傳送出去。
  3. Egress LSR(Router C):當帶有Label=47的Packet傳到Router C時,Router C會查看(lookup)他的LFIB的資料,看看是否有Inbound Label=47的entry,如果有則再查看此entry中Outgoing Label的欄位值為何?(例如 Outgoing Label=Pop),所以Packet中的Label被移除,此時已離開MPLS網路再進入到IP的網路中,因此重新查看Packet中的Destination IP address為何?並查看其FIB以決定Packet要傳送的下一個節點 。
在MPLS網路中Egress LSR double lookup的問題
由於Egress LSR不但要查看LFIB中的資料以便移除Packet 中的Label,而且還要查看FIB中的資料以決定將Packet往IP網路的下一個節點傳送,這樣的作法會使Egress LSR 的負擔太重,而且對傳送有Label的封包也不是最有效的方式。
Penultimate Hop Popping
所以解決的方式就是在原來Egress LSR前一個節點就把Label移除,最後一顆Router 只要做IP lookup 就好了,此種運作方式稱為Penultimate Hop Popping。
結語
本篇文章從一開始介紹傳統路由器在IP 路由傳送封包的運作缺點及描述發展MPLS技術的優勢,並且說明整個MPLS 技術的運作原理,從MPLS Label的format介紹及Label在封包標頭位置的解說,到整個MPLS網路中各個不同角色LSR的運作方式,在其中更詳細的探討Label 如何被Assignment及 相鄰LSR之間如何交換彼此的Label Information的過程,另外更舉例說明封包在MPLS網路中從Push(加上)Label,一直到離開MPLS網路前Pop(去除)Label的 詳細過程,最後則探討為何封包在離開MPLS網路的前一個節點(Hop)就要先Pop(去除)Label的原因。

http://eservice.seed.net.tw/class/class0801c.html