交換機、路由器、網橋和區域網/路由器/MPLS
MPLS 代表多協議標籤交換,它是一種最初由思科開發的協議,後來被標準化為 IEEE 標準。它是一種協議,用於透過骨幹網路提供對使用其他協議的資料的透明訪問。
MPLS 有時被稱為“第 2.5 層”。這在資料包的包裝方式中最為明顯(例如,在 IP-over-Ethernet 中,MPLS 資料位於乙太網幀頭和 IP 資料包之間),但它也是對協議整體概念的描述。MPLS 不提供路由,而是使用其他內部路由協議(iBGP、IS-IS、OSPF 或其他)來路由資料包。但它也不是完全的第 2 層協議,因為它依賴於現有的第 2 層來進行資料的幀封裝以及節點之間的通訊。MPLS 可以確定性地控制資料流向,而第 2 層交換無法做到這一點。
早期推動 MPLS 的因素之一是,MPLS 下的資料包交換可以在硬體中高效地實現,而 IP 路由則不能(當時)。現在情況已經不再如此。從這個意義上說,MPLS 只是將路由表“烘焙”到高效能交換基礎設施中的一種方法。雖然這在 MPLS 的早期發展中發揮了一定作用,但現在已經不再相關了。
MPLS 可以透過任何第 2 層協議交換任何第 3 層協議。因此,它適用於在網路中提供骨幹,在該網路中,許多不同的協議(包括尚未指定的未來協議)可能需要透過骨幹傳輸。以前,這種事情只有透過幀中繼或 ATM 才能實現。
MPLS 也可以透過骨幹傳輸第 2 層資料包,因為內容會被忽略。這意味著任何第 2 層協議都可以透過 MPLS 傳輸,稱為 AToM(任何傳輸透過 MPLS)
ATM 最初被認為是 IP 作為端到端網路的潛在替代品,但它從未實現。然而,ATM 仍然被廣泛用作廣域網網路。現在 IP 統治著網際網路,因此有必要透過這些現有的 ATM 網路傳輸 IP。有幾種針對 ATM 上的 IP 實現的特定解決方案,但它們都難以實現,而 MPLS 可以替代所有這些解決方案。
BGP(例如)提供了透過使用路由對映和社群等來定製資料流向的方式。但這實現起來很繁瑣且不透明。MPLS 可以讓不同的資料流透過網路以不同的路由進行交換,非常靈活,並且可以非常直接地控制。
MPLS 具有分層結構,允許資料包被封裝在無限數量的額外容器中。只有最外層的標籤在任何時候都起著透過網路路由資料包的作用,因此您可以使用它來將流量透過網路的一部分進行隧道傳輸,而忽略資料包內部的內容。
標籤內部的資料包內容完全被 MPLS 忽略。這意味著您可以在 MPLS 標籤中封裝一個完整的乙太網幀(並在其外部再新增一層第 2 層幀),並將整個乙太網幀在網路中不變地傳遞,模擬跨越長距離和多個路由跳躍的第 2 層廣播域中的線纜。
有兩種型別的 VPN
- 覆蓋
- 對等
在覆蓋模型中,服務提供商在網路中設定了客戶路由器之間的鏈路。客戶路由器透過這些鏈路直接對等,而不與服務提供商的路由器對等。
在對等模型中,服務提供商的路由器與客戶的路由器對等。這需要服務提供商做更多的工作,因為提供商邊緣路由器需要根據客戶網路的變化進行更新。
覆蓋模型曾經是提供 VPN 的最常見方式,但 MPLS 使提供對等 VPN 變得更加簡單。
LDP 是用於在 MPLS 網路中分發標籤的協議(RSVP 和 MP-BGP 也可以分發標籤)。它基於 TDP,一種思科專有協議。LDP 與 TDP 相似,已經完全取代了 TDP。
LDP 不會選擇路由,它只是為透過其他方式確定的路由分發標籤。對於 IP over MPLS 的情況,使用 LDP 進行標記的路由將透過標準 IP 路由協議確定。這種最簡單的形式主要是一種過時的東西(儘管它是一個令人驚訝的年輕的東西);在路由器無法進行線速 IP 路由的時候,用標籤替換路由可以提高效能。如今,更有趣的情況是,使用 MPLS 交換“路由”而不是標準 IP 路由,例如 VPN 或流量工程。這將涉及另一個協議來做出決策,然後使用 LDP 來協調標籤。
分發標籤有兩種主要模式:下行非請求和下行按需。按需形式可以節省路由器上的記憶體,因為只傳輸所需的標籤。但是,DU 形式收斂速度更快。現在路由器往往有足夠的記憶體,因此 DU 形式更常見(思科對 LC-ATM 使用 DoD,但對其他所有內容使用 DU)。
標籤保留模式
[edit | edit source]在保守標籤保留模式下,路由器只儲存與特定FEC的下一跳相關的繫結。也就是說,對於每個FEC,一次只保留一個標籤(在LFIB中程式設計的標籤)。在自由標籤保留模式下,路由器儲存它接收的任何繫結。
LSP控制模式
[edit | edit source]有兩種控制模式:有序和獨立。在獨立控制模式下,LSRs為其路由表中的任何路由交換標籤。這很容易理解和推理,但它的缺點是意味著LSP的不同部分將在不同的時間啟動。可能是流量可以跨越網路到達一個沒有設定標籤繫結的路由器,此時路由器無法對資料包採取正確的操作。這可能會導致路由器回退到更慢的IPv4路由(例如,在軟體中)。有序控制模式導致僅為直接連線或已經與下一跳路由器建立標籤的路由分配標籤。
FECs
[edit | edit source]LDP基於轉發等價類(FEC)的概念。FEC由一類流量定義,所有流量都將以相同的方式處理。一個明顯的例子是所有具有特定字首的目標地址的IP資料包,但它可以是任何其他可以以LDP發言者都同意的方式定義的東西。兩個LSR之間的偽線將充當FEC。
LDP對等
[edit | edit source]LDP路由器透過將HELLO訊息作為UDP組播資料包傳送到“子網上的所有路由器”組播地址來發現彼此,因此不需要顯式設定對等路由器的地址。當收到HELLO訊息時,接收路由器會保留資料包來自的地址。HELLO資料包包含一個保持時間,即HELLO訊息之間的時間長度。如果超過此時間,對等將被視為已失敗。
每個LSR都有一個LDP ID,它由4位元組標識路由器和2位元組標識使用的標籤空間。4位元組路由器ID實際上是一個IPv4地址,儘管它不用於訊息傳遞;唯一的要求是它是唯一的。標籤空間的零表示平臺範圍的標籤空間,而非零值表示每個介面的標籤空間。
在Cisco IOS中,路由器ID實際上被視為IP地址,路由器檢查地址是否在路由表中。