本備忘錄的狀態
本備忘錄提供了Internet社區的一些信息,但并沒有具體講述任何一種Internet
標準。本備忘錄的發布不受任何限制。
版權聲明
Copyright(C)TheInternetSociety(1997).AllRightsReserved.
IESG注重:
這個協議既不是IETF工作組的一個產品,也不是一個標準的追蹤文檔。此協議不必須從標
準追蹤文檔中所收到的廣泛的、并且深刻的社區評論中獲益。
摘要
此文檔提供了一種用來網絡層分組轉發的新型方法的縱覽,此方法被稱為標簽交換。本文檔
將描述標簽交換體系結構的兩個主要組成部分:轉發和控制組件。當現有的網絡層路由協議
加入綁定和發布用來控制的標簽機制時,用簡單的標志交換(label-swapping)技術可以
完成轉發。標簽交換能保留ip的分級特性,并且也有助于改進IP網絡的可升級性。當標簽
交換不依靠ATM時,它就可以直接應用于ATM交換。本文檔將描述一定范圍內的標簽交
換應用以及特定應用場景。
目錄
1.介紹 2
2.標簽交換部分 3
3.轉發部分 3
3.1標簽封裝 4
4.控制部分 4
4.1基于目的地的路由 5
4.2路由層技術 6
4.3組播 7
4.4靈活路由(清楚路由) 8
5.ATM上的標簽交換 8
6.服務質量 9
7標簽交換移植策略 9
8.總結 10
9.安全考慮 10
10知識產權考慮 10
11.致謝 10
12.作者地址 10
1.介紹
持續的Internet發展要求Internet服務提供商們(ISP)能提供更多的帶寬。然而,對更
多帶寬的推動因素不僅僅是Internet的發展,而且也來自于正在顯現的多媒體應用的要
求。對更多帶寬的要求又轉過來要求路由器對組播和單播通信來說都能有更高的轉發性能
(每秒的所發的分組數)。
Internet的發展也要求改良Internet路由系統的分級特性。包含單個路由器所維護的路由
信息量的能力,以及建立一個層次路由技術的能力都是支持一個高品質、可升級的路由系
統所必須的。
我們看到了在改進轉發性能的同時,也需要增加支持組播的路由功能,需要答應對如何路
由通信進行更靈活的控制,以及需要提供建立一個路由層技術的能力。此外,有一個能支
持更完善地發展以滿足新的和日見突出要求的路由系統正變得越來越重要。
標簽交換是一種為這些挑戰提供了一種有效解決方法的技術。標簽交換結合了網絡層路由提
供的靈活性和豐富功能以及標志交換轉發范例所提供的簡單性。標簽交換轉發范例(標志
交換)的簡單性能在保持有競爭力的價格/性能的同時改良轉發性能。通過將一個標簽粘到
一個寬泛的轉發粒度上,同樣的轉發范例就可以用來支持許多種路由功能,諸如基于目的地
的路由、路由層技術、組播、以及靈活路由控制。最終,在保留同樣轉發范例的同時,簡單
轉發的連接,寬泛的轉發粒度,以及進一步發展路由功能的能力能使一個路由系統更完善地
發展以滿足新的和日益顯現的要求。
本文檔的其余部分組織如下:第二節介紹了標簽交換的主要組件:轉發和控制。第三節描
述了轉發部分,而第四節講述了控制部分。第五節形容了標簽交換怎樣和ATM一起使用。第
六節描述了使用標簽交換以幫助提供一些質量服務。第七節簡要講述了可能的應用場景。
第八節對這些結果進行總結。
2.標簽交換部分
標簽交換由兩部分組成:轉發和控制。轉發部分使用分組所攜帶的標簽信息(標簽)和標簽
交換所維護的標簽轉發信息來執行分組轉發。控制部分則負責在一組互聯的標簽交換體系中
維護正確的標簽轉發信息。
3.轉發部分
標簽交換使用的基本的轉發部分范例是基于標志交換概念的。當一個標簽交換收到一個帶標
簽的分組時,此交換在它的標簽信息基地(TagInformationBaseTIB)中使用這個標簽
作為索引。TIB中的每個輸入端口都包括一個輸入標簽,以及一個或更多這種形式的子輸入
端口(輸出標簽、輸出接口、和輸出鏈路層信息)。假如此交換發現一個輸入端口帶有的輸
入標簽與在這個分組里攜帶的標簽一致的話,那么對于這個輸入端口里每一個子輸入端口
(輸出標簽、輸出接口、和輸出連接層信息),交換都將用輸出標簽來替換分組里的標簽,
并且用輸出鏈路層信息來替換分組里的鏈路層信息
(如MAC地址),以及在輸出接口上轉發這個分組。
從上面對轉發部分的描述我們可以作出幾個結論。首先,轉發判決是基于一種精確匹配算
法,此算法使用一固定長度且相當短的,用做索引的標簽。相對于傳統上用在網絡層里的
的長匹配轉發來說,這樣做能使用一種簡化的轉發程序,而且反過來又能得到更高的轉發性
能(每秒轉發的分組數更多)。這種轉發程序是足夠簡單的以致于甚至答應以一種直接的硬
件實現。
第二個結論是轉發判決與標簽的轉發粒度無關。例如,應用在單播和組播上的轉發算法是一
樣的,盡管一個單播輸入端口僅有一個子輸入端口(輸出標簽、輸出接口、和輸出連接級信
息),而一個組播輸入端口則可能有一個或多個子輸入端口(輸出標簽、輸出接口、和輸出
鏈路層信息)。(對于多路連接來說,輸出鏈路層信息在這種情形下將分組括一個組播MAC
地址。)這就例證了為什么帶標簽轉發的同樣轉發范例能被用于支持不同的路由功能(如單
播,組播,等等)。
因而這個簡化轉發程序從本質上減弱了標簽轉發的控制部分。新的路由(控制)功能就能在
沒有發布轉發范例的前提下很輕易得得以應用。這也意味著在加入新路由功能時重新優化轉
發性能(通過修改硬件和軟件)將不是必需的。
3.1標簽封裝
一個分組里可以以幾種方式來攜帶標簽信息:
1)作為一個小的“薄片”標簽頭嵌入第二層和網絡層頭之間;
2)假如第二層頭提供足夠的語義的話(例如,如下所將要提到的ATM),則作為第二層頭
的一部分。
3)作為網絡層頭的一部分(例如,使用適當修改過語義的IPv6里的流程標志域
(FlowLabelfield)。
因此實際上標簽交換是可能在任何媒介類型上,包括點到點連接,多路連接,以及ATM,
得以實現。
我們也得出標簽轉發部分是與網絡層無關的結論。對一個特定的網絡層協議使用非凡的控制
部分能使使用不同網絡層協議的標簽交換可用。
4.控制部分
在一個標簽和網絡層路由(路由器)之間綁定的概念對標簽交換來說是必需的。為了提供比
較好的分級特性,同時也提供多種路由功能,標簽交換需要支持寬泛的轉發粒度。一種極端
情況是一個標簽(綁定)被連結到一組路由上去(更明確地說是連結到這個組中路由的網絡
層可抵達信息(NetworkLayerReachabilityInformation)上)。另一個極端就是一個標
簽被綁定到單個應用流上(如一個RSVP流)。一個標簽也能被綁定到一個組播樹上。
控制部分對創建標簽綁定負責,然后在標簽交換當中發布標簽綁定信息。這個控制部分是由
一些模塊的集合組成的,每個模塊都被設計來支持一種特定的路由功能。假如要支持新的路
由功能就得添加新的模塊。下面將講述幾種模塊。
4.1基于目的地的路由
這一小節我們將描述標簽交換是如何支持基于目的地的路由,并追述一個使用基于目的地路
由的路由器是如何作出一個轉發判決的。這個轉發判決是基于單個分組所攜帶的目的地地址
以及由此路由器維護的轉發信息基地(ForwardingInformationBaseFIB)所儲有的信息
之上的。一個路由器通過使用這個路由器從路由協議上(如OSPF、BGP)收到的信息來建立
它自己FIB。
為了支持帶標簽交換的基于目的地路由,一個標簽交換就象一個路由器一樣參與到路由協議
(如OSPF、BGP)之中,并用它從這些協議收到的信息建立它的FIB。
有三種答應的標簽分配和標簽信息基地(TIB)治理的方法:(a)下游標簽分配,(b)
依照需要的下游標簽分配,以及(c)上游標簽分配。在所有這些方法中,一個交換都要
分配標簽并將它們綁定到它們FIB里的地址前綴上。在下游分配中,這個在分組里攜帶的
標簽被產生并綁定到在連結下游末端處(相對于數據流的方向)轉發的一個前綴上。在上
游分配里,標簽被分配并綁定在連接的上游末端處。“依照需要”分配意思是當標簽被上
游轉換要求去分配時,標簽將只能被下游交換分配和發布。方法(b)和(c)在ATM網絡里
是最有用的(見第5節)。請注重在下游分配中,一個交換要為創建能應用到輸入數據分組
上的標簽綁定以及收到從它的鄰近交換來的輸出分組的標簽綁定而負責。在上游分配中,
一個交換要為創建輸出標簽的標簽綁定(即應用到離開交換的數據分組上的標簽)和收到
從它的鄰近交換來的輸入標簽的標簽綁定而負責。
下游標簽分配方案運作如下:對于這個交換FIB里的每一個路由,交換分配一個標簽,并創
建一個輸入端口,這個端口在在它的標簽信息基地(TIB)里粘有已被設為已分配標簽的輸
入標簽,以及接著發布在(輸入)標簽和到鄰近標簽交換的路由之間進行綁定的消息。這種
消息的發布既可以通過把綁定放在現有路由協議的頂部來實現,也可以通過使用一個孤立的
標簽發布協議[TDP]來實現。當標簽交換為一個路由收到標簽綁定信息,且這個信息是由這
個路由的下一跳來組織時,此交換把這個標簽(作為綁定信息的一部分被攜帶)放進和此路
由相連的TIB輸入端口的輸出標簽里。這樣就創建了輸出標簽和路由之間的綁定。
依照需要的下游標簽分配方案運作如下:對于交換的FIB中的每一個路由來說,交換將校驗
此路由的下一跳。然后交換給下一跳發布一個對此路由的一個標簽綁定的請求(通過TDP)。
當下一跳收到這個請求時,下一跳分配一個標簽,并創建一個在標簽信息基地(TIB)里粘
有已被設為已分配標簽的輸入標簽的輸入端口,以及接著返回在(輸入)標簽和到發送原始
請求交換的路由之間進行綁定的消息。當交換收到這個綁定信息時,此交換在它的TIB里創
建一個輸入端口,并把輸入端口里的輸出標簽設置為從下一跳收到的值。
上游標簽分配方案運作如下:假如一個標簽交換有一個或多個點到點接口,那么對于FIB
里
的每個路由來說,交換分配一個標簽,并創建一個在標簽信息基地(TIB)里粘有已被設為
已分配標簽的輸入標簽的輸入端口,以及接著發布給下一跳(通過TDP)在(輸入)標簽和
路由之間進行綁定的消息。這些路由是通過這些接口中的一個到達下一跳。當下一跳的標簽
轉換收到標簽綁定信息時,這個交換放置這個標簽(作為此綁定信息的一部分被攜帶)到和
粘在此路由上的TIB輸入端口的輸入標簽位置上。
一旦一個TIB輸入端口上既有輸入和輸出標簽,則標簽交換能轉發分組給路由,這些路由是
粘有使用標簽交換轉發算法(正如第5節里形容的一樣)標簽的。
當一個標簽交換在輸出標簽和路由之間建立一個綁定時,這個交換在安置它自己的TIB之
外,
也用此綁定信息對它的FIB進行升級。這樣做能使交換在先前未標簽的分組上加上標簽。
為了理解與基于目的地路由聯系的標簽交換的分級特性,我們注重到一個標簽交換必須維護
的標簽總數不能比交換FIB里路由的數目多。并且在某些情況下,單個標簽要和一組路由相
連,而不是只和一個路由相連。所以,假如標簽被分配到單個流時將需要更少的組態。
通常來說,一個標簽交換將試圖把它帶所有路由輸入輸出標簽的TIB安置到它能被抵達的地
方,以使所有的分組能被簡單的標志交換所轉發。所以標簽配置是由拓撲(路由)推動的,
而不是由通信來決定的,即一個FIB輸入端口的存在促成標簽配置,而不是由于數據分組的
抵達而促成標簽配置。
使用粘在路由上的標簽而不是粘在流上的標簽,也意味著沒有必要對所有流執行流分類步驟
去決定是否給一個流分配標簽。這樣反過來又簡化了所有方案,并且當出現通信模式改變時
可以使其更強壯和穩定。
注重到當標簽交換被用于支持基于目的地的路由時,標簽交換不會完全排除執行正常網絡層
轉發的需要。首先,在一個先前沒有標簽的分組上加一個標簽需要正常的網絡層轉發。這個
功能可以由第一跳路由器來實現,或者由在能夠參與標簽交換的路徑上第一個路由器來實
現。另外,不管什么時候一個標簽交換在單個標簽里集成了一個路由集合(例如,通過使用
分層路由技術的方法)且這些路由沒有共享一個下一跳,交換都需要為攜帶標簽的分組執行
網絡層協議。但是可以觀察到的是路由集成的位置數要比必須做轉發判決的位置數要少,而
且更通常的是集成僅被應用于一個標簽交換所維護的一子集路由,所以通常分組轉發的大多
數時間都是用標簽交換算法。
4.2路由層技術
IP路由體系結構模型把一個網絡作為一些路由域的集合。在一個域里,路由是通過內部路
由(如OSPF)來提供的,而跨域的路由是由外部路由(如BGP)來提供的。但是在攜帶運輸
通
信域(例如,由Internet服務提供商形成的域)里的所有路由器不是得維護內部路由提供
的信息就是得維護外部路由提供的信息。這樣就造成了一些問題。首先大量的這些信息并不
是無關緊要的,所有這就增加了對路由器所需資源的額外要求。并且路由信息體積的增加也
增加了路由集中時間。反過來這些問題也降低了系統的全部性能。
標簽交換答應減弱內部和外部路由的功能,以使在一個域邊緣的標簽交換只需要去維護外部
路由提供的路由信息,而同時域內部的所有交換則去維護域內部路由提供的信息(通常都比
外部路由信息少很多)。反過來說,這樣做就減少了路由在非邊緣交換上的加載,也縮短了
路由集中時間。
為了支持這種功能,標簽交換答應一個分組不是攜帶一個標簽而是攜帶組織為堆棧的一套標
簽。標簽交換既能在堆棧頂部交換標簽或者推出標簽,也能交換標簽并推一個或更多標簽進
入堆棧。
當不同域里的標簽交換之間轉發分組時,分組里的標簽堆棧只包含一個標簽。但是當在單個
域里轉發分組時,分組里的標簽堆棧就不只有一個標簽,而是兩個了(第二個標簽是由域入
口邊緣處的標簽交換推入的。堆棧頂部的標簽提供分組轉發信息給一個合適的出口邊緣處的
標簽交換,同時堆棧里的下一個標簽在這個出口交換處提供正確的分組轉發信息。然后這個
堆棧被此出口交換和倒數第二個(相對于這個出口交換來說)交換推出。
這個場景中使用的控制器件和使用基于目的地路由的控制器件很相似。事實上,唯一要害
性不同在于這個場景中的標簽綁定信息是分布在實際鄰近標簽交換之間以及在單個域里邊
緣標簽交換之間。另外也可以觀察到后者(分布在邊緣交換之間)一般都伴隨一個非常小
的BGP外延(通過一個分立的標簽綁定BGP特性)。
4.3組播
組播路由的實質是生成樹的概念。組播路由過程(如PIM)要建立這些樹(帶有作為葉子的
接收器件)負責,與此同時,組播轉發要為轉發在這些樹之間的組播分組而負責。
為了支持一個有標簽交換的組播轉發功能,每個標簽交換按如下方式將一個標簽和一個組播
樹粘到一起。當標簽交換創建一個組播轉發輸入端口(既是為了一個共享樹也是為了一個特
殊資源樹)以及這個端口的輸出接口列表時,交換也創建了本地標簽(每個輸出端口一
個)。此交換在它的TIB里創建一個輸入端口并利用這個信息為每個輸出接口進行配置(輸
出標簽,輸出接口,輸出MAC頭),并放置一個本地產生的標簽在輸出標簽域里。這樣就在
一個組播樹和標簽之間創建了一個綁定。然后此交換在每個和輸入端口相連的輸出端口上發
布標簽(和此接口相連)和樹之間進行綁定的消息。
當標簽交換收到一個組播樹和從另一個標簽交換來的標簽之間綁定時,并且假如另一個交換
時上游鄰居(相對于組播樹來說),本地交換就把在綁定里攜帶的標簽放進和這個樹相連的
TIB輸入端口的輸入標簽器件里。
當一組標簽交換通過一個多路子網互連時,組播的標簽分配過程必須在這些交換里進行調
整。在所有別的情況時,組播標簽的分配過程應該和用基于目的地路由的標簽分配過程一
致。
4.4靈活路由(清楚路由)
基于目的地路由的基本特性之一是從一個分組得來的用來轉發這個分組的唯一信息是目的
地地址。雖然這個性質使可高度升級的路由成為可能,但它也限制了對分組采用實際路徑施
加影響的能力。這也反過來限制了在多路連接中均分通信量的能力,即將負載從利用率高的
連接移開,并移到利用率低的連接上。對于支持不同級別服務的Internet服務提供商(ISP)
來說,基于目的地的路由也限制了他們分立與這些級別所使用的連接相關聯的不同級別的能
力。今天,一些ISP使用幀中繼或ATM來消除由基于目的地路由所強加的限制。因為靈活的
標簽粒度,所以標簽交換能不使用幀中繼或ATM就消除這些限制。
為了沿與基于目的地路由所決定的路徑不同的路徑提供轉發,標簽交換的控制器件在標簽交
換里安裝標簽綁定,這些標簽交換不相應于基于目的地路由的路徑。
5.ATM上的標簽交換
因為標簽轉發范例是基于標志交換的,并且ATM轉發也是基于標志交換的,那么標簽交換技
術就能通過實現標簽交換的控制器件而很輕易地被應用于ATM交換機上。
標簽交換所需的標簽信息能被攜帶在VCI域里。盡管VPI域的大小限制了它所參與的網絡的
大小,但是假如需要兩層標記的話,那么VPI域也能被使用。然而對大多數一層標記來說,
VCI
就足夠了。
為了獲得必需的控制信息,交換應該能(最低程度上)平等參與到網絡層路由協議(如
OSPF,BGP)中。但是假如此交換必需去執行路由信息集合,接著必需去支持基于目的地
路由的話,則此交換應當也能對一些通信片段執行網絡層轉發。
在ATM交換上支持帶標簽交換的基于目的地路由功能可能需要交換不是去維護一個,而是維
護幾個粘在一個路由(或者是有相同下一跳的一組路由器)上的標簽。必須要做的是避免從
不同上游標簽交換到達的分組發生交錯,并且并發地發送到同一個下一跳。依照需求的下游
標簽分配和上游標簽分配方案都能被用做標簽分配以及在ATM交換機上的TIB維護過程。
所以,ATM交換能支持標簽交換,但是最低限度它需要實現網絡層路由協議,以及在此交換
上的標簽交換控制器件,可能也需要支持一些網絡層轉發。
在ATM交換機上實現標簽交換能夠簡化ATM交換和路由的集成,即一個能標簽交換的ATM
交換
可以對鄰近路由顯現成一個路由。這樣就提供了一個可行的,更可升級性的選擇給這個覆蓋
模型,并且也移去了對ATM地址、路由和發送信號方案的需要。因為在4.1節里形容的基于
目的地轉發方式是由拓撲學推動的,而不是由通信量推動的,所以這種對ATM交換方法的應
用不會增加很多的安裝費用,也不會依靠數據流的壽命。
在ATM交換機上實現標簽交換不會排除在同一個交換上支持一個傳統ATM控制平面(如
PNNI)的能力。標簽交換和ATM控制平面這兩種組成器件都能在“夜間行船”(ShipsInthe
Night)模式(具有VPI/VCI空間和別的參與資源導致器件之間沒有相互作用)下運行。
6.服務質量
需要兩種機制提供一定的服務質量以使分組通過一個路由器或一個標簽交換。首先我們需要
把分組區分成不同的級別。其次我們需要保證分組的處理是能夠提供給每個級別的分組合適
的QOS特征(帶寬,遺失,等等)。
在分組第一次被區分后標簽交換提供了一種簡單的方法給分組標上屬于一個特定級別的記
號。最初的區分是通過使用攜帶在網絡層或更高層頭里的信息來完成的。一個對應于分級結
果的標簽將被應用到這個分組上。然后標好標簽的分組就能被標簽交換路由器在路由器的路
徑里有效處理而不需要再做區分。實際分組的時間計劃和隊列主要是正交的,這里的要害在
于標簽交換能使用簡單的邏輯去發現識別分組應該怎樣被預定的狀態。
用于QOS目的的標簽交換地準確使用很大程度上依靠于怎樣運用QOS。假如使用RSVP去要
求一個級別分組確定QOS的話,那么分配一個相應于每個RSVP交談的標簽給一個標簽交換
上所安裝的狀態就將是必要的。這可以通過TDP或RSVP的外延來完成。
7標簽交換移植策略
因為標簽交換是執行在一對鄰近的標簽交換之間的,并且也因為標簽綁定信息能分布在一成
對的基礎之上,所以能夠以一種相當簡單的增強模式引入標簽交換。例如,一旦一對鄰近的
路由器被改變成標簽交換的話,每一個交換都把預定分組標記到另一個交換上,這樣就能使
另一個交換使用標簽交換。因為標簽交換和路由器使用同一個路由協議,所以標簽交換的引
入不會影響路由器。事實上,在一個路由器看來,一個連接到這個路由器上的標簽交換就起
了一個路由器的作用。
隨著越來越多的路由器被升級為可以使用標簽交換,標簽交換所提供的功能范圍也在擴展。
例如,一旦在一個域里的所有路由器都升級到可以支持標簽交換的話,那么開始使用路由層
技術的功能就將成為可能。
8.總結
在這篇文檔里我們形容了標簽交換技術。標簽交換沒有被局限到一種特定網絡層協議上,它
是一種多協議解決方案。標簽交換的轉發器件應該是足夠簡單以促進高性能的轉發,并可以
在高性能的轉發硬件如ATM交換機上得以實現。控制器件應該是足夠靈活的以便支持廣泛的
路由功能,諸如基于目的地的路由、組播路由、層次路由技術、以及清楚定義路由。通過允
許粘有標簽的寬泛轉發粒度,我們提供了可升級和功能豐富的路由。將寬泛的轉發粒度和把
控制器件發展為與轉發器件基本無關的能力結合在一起就能產生一個解決方案以便能
完美地引入新的路由功能以便符合迅速發展計算機網絡環境的要求。
9.安全考慮
本文檔不討論安全問題
10知識產權考慮
Cisco系統可以尋求本文檔所發布之部分或全部技術的專利或別的知識產權保護。假如任何
從
本文檔里派生的標準為授予Cisco系統一個或多個專利所保護的話,Cisco打算公布這些專
利
并授權這些專利能被合理且無差別條件使用。
11.致謝
感謝AnthonyAlles,FredBaker,PaulDoolan,DinoFarinacci,GuyFedorkow,Jeremy
Lawrence,ArthurLin,MorganLittlewood,KeithMcCloghrie,andDanTappan為本工
作所做的重要貢獻。
12.作者地址
YakovRekhter
CiscoSystems,Inc.
170TasmanDrive
SanJose,CA,95134
EMail:yakov@cisco.com
BrUCeDavie
CiscoSystems,Inc.
250ApolloDrive
Chelmsford,MA,01824
EMail:bsd@cisco.com
DaveKatz
CiscoSystems,Inc.
170TasmanDrive
SanJose,CA,95134
EMail:dkatz@cisco.com
EricRosen
CiscoSystems,Inc.
250ApolloDrive
Chelmsford,MA,01824
EMail:erosen@cisco.com
GeorgeSwallow
CiscoSystems,Inc.
250ApolloDrive
Chelmsford,MA,01824
EMail:swallow@cisco.com
新聞熱點
疑難解答