第十八章
IP Switching Technology
由於
ATM 網路通訊技術之動態頻寬配置、低傳輸延遲、獨享頻寬以及保証服務品質等優點,使它非常適用於多媒體和即時性的應用。另外,由於能同時提供光纖、雙絞線、同軸電纜等不同的傳輸媒介上,使它可以應用在區域網路、都會型網路及廣域網路上。因此,ATM 已被認定為未來網路世界領域中的最重要的技術之一。ATM網路扮演廣域網路的骨幹網路似乎已經成為定局。未來寬頻整合數位網路 (B-ISDN) 將逐漸建置ATM網路。然而目前網際網路上最重要的通訊協定是IP。兩者是完全不同的型態。ATM是連結導向式網路,而IP則是屬於非連結導向式傳輸。如何在ATM網路上傳送IP數據包 (datagrams) 是極為重要的課題。在第十七章中曾提及區域網路仿效 (LAN Emulation) 的技術。此技術屬於第二層技術,因此並沒有特別針對第三層之通訊協定設計,任何第三層之通訊協定(如IP, IPX)都可以利用區域網路仿效技術在ATM網路上傳送資料。 IP over ATM(IPOA)的技術屬於第三層技術,是專門為傳送IP數據包而設計。雖然這兩種技術都可以用來傳送IP數據包,不過相關網路設備 (執行區域網路仿效的橋接器,執行IPOA的路徑器) 卻需要相當龐大的軟體。在研發過程及程式執行的效率上都呈現極大的負擔。 目前有一新興的網路交換技術稱之為「網際網路通訊協定交換技術」(IP Switching Technology)。此技術完全揚棄了ATM 網路連接導向(connection oriented) 的特性;將 IP 和快速的 ATM 交換機硬體加以整合,保留了 IP 不用預先建立連線的特性。 IP Switching 在 ATM 硬體中使用「軟性」狀態 (Soft State) — 藉由在 ATM 交換機內建立交換表 (Switch Table)-來暫存 IP 繞路的決定;使得未來屬於同一條 「IP 資料流」(IP Flow) 的封包都直接由ATM 交換機上的硬體交換出去,不必再經由第三層的 IP 軟體作繞路的工作。如此結合了 IP所具備的簡單、可擴充性、穩健性等優點和 ATM 網路的速度與高頻寬等特性。 然而,網路使用者已投入相當多的經費與人力於傳統的網路上(包含硬體設備及應用軟體)。雖然 ATM 有許多優點,但是在網路建置演進的過程中,亦須考慮既有的網路配置。因此,評估設計出一套能將傳統區域網路 ( Ethernet 網路、FDDI 網路或者是無線區域網路 ) 與 ATM 骨幹網路之間互相連結之硬體架構,稱作「ATM 邊端集線器」 ( ATM Edge Hub ),及軟体系統,將會成未來網路技術領域中的一項重要工作。 首先,雖然交換技術已能提供遠高於傳統路徑器所能提供的總和頻寬,但是目前卻只能透過橋接器,用區域網路仿效的技術與ATM 網路相連。不但在區域網路仿效上的伺服器-如區域網路伺服器 (LANE Server, LES)、廣播與未知伺服器 (Broadcast and Unknown Server, BUS) 容易成為資料傳送的瓶頸,影響網路傳送效能;而且因為廣播與未知伺服器 (BUS) 的廣播特性使得由區域網路仿效所成的網路不具備擴充性。此外,雖然已經有人提出了很多方法嘗試讓 IP 能在 ATM 的交換網路上作 IP 的繞路,如 IPOA 、 Multi-Protocol over ATM (簡稱 MPOA, 由 ATM Forum 所制訂) 等等,但這些技術不但未臻成熟且相當複雜。因為ATM 網路是連線導向,而現存的網路通訊協定卻絕大多數是不用事先建立連線的,所以這些方法在嘗試整合以上兩者之間的不一致時,往往要耗費大量的成本與複雜的程式。而
IP 在過去幾年的成長非常迅速。目前的研究顯示:在適切的設計下,IP 對於即時和多媒體應用程式的支援程度並不亞於 ATM。目前的焦點多在於將 IP 群播的能力應用在多媒體和視訊會議的應用程式上;此外,一般咸信:將架構在無連線導向模式下運作的 IP,加上以軟性狀態來管理網路交通流量的軟體設計能夠建構出更為穩固且更具彈性的整合型服務網路。IP
交換技術最早由 Ipsilon 公司所提出。其他公司則陸陸續續提出相關的技術,例如 Cisco 公司的 Tag Switching 技術, IBM 公司的Aggregate Route-Based IP Switching (ARIS) 技術, Cascade 公司的IP Navigator 技術,Bay 公司的Switch Node 技術,Toshiba 公司的 Cell Switch Router (CSR) 技術,3COM 公司的 Fast IP技術,Cabletron 公司的 Secure IP 技術,Nbase 公司的 Direct IP 技術, Newbridge 公司的Vivid Switched Routing 技術,RND 公司的 PowerIP 技術等等。雖然各家廠商相競提出IP交換技術,但主要觀念還是由 Ipsilon 的技術延伸而來。百家爭鳴的結果就是彼此間互通困難,使用者無所適從。有鑑於此,IETF於是成立了一個工作小組來制訂第三層網路交換技術的標準:「多重協定標籤交換技術」(Multi-Protocol Label Switching, 簡稱 MPLS)。此技術除了能交換 IP 數據包外,也可以處理其他第三層通訊協定,如 IPX, AppleTalk, DECnet 等等。本章將探討
IP 交換技術:將 IP 直接架構在 ATM 的硬體上,卻保留了 IP 無連線導向的運作模式。 IP 交換技術完全丟棄了 ATM 原本具連接導向特性的通訊協定架構,卻將快速的 ATM 硬體和 IP 加以緊密的結合。IP 交換技術最大的特點在於它完全不需要 ATM 原本建立連線的協定- Signaling Protocol(如ATM Forum 制定之 Q.2931)-或是任何 ATM 與 IP 網址的解釋協定(Address Resolution Protocol);它只需要標準的 IP 選徑通訊協定協定(IP Routing Protocols,如RIP, OSPF, MOSPF 等等)-而這些選徑通訊協定協定早已經在網際網路上經過千錘百鍊、完整測試。交換技術藉著將所有傳輸的資料完全由硬體交換出去而能提供高網路頻寬。因此交換機在路徑器的彈性與交換機的速度之間難以兩全:路徑器能夠將自網路上接收到的每一個封包分別對其做出的選徑決定-也就是各封包之間的選徑是獨立的;而交換機則需要在資料能夠傳輸前,預先建立此資料傳輸連線所需的硬體交換表-如
ATM網路上以Q.2931的Signaling通訊協定建立傳輸連線。簡言之,採用ATM交換技術的原因在於:ATM不但提供了實體網路層頻寬和交換機容量的擴充性;而且其硬體規格也已標準化。網際網路今日能夠如此成功的主要原因在於
IP無連線導向的特性。以通訊協定而言,IP 除了要求底層賴以傳送數據包的網路能夠將數據包往欲送達的目的地方向傳送外,IP對底層的網路沒有任何其他的假設-如此不但使得 IP 能夠在範圍廣泛的底層網路技術的上運作,且網路上多種通訊服務也能藉由改進陽春版的網路選徑服務而獲得。數據包選徑並不需要記錄個別資料連線的狀態,這種特性使得IP具有令人驚異的容錯能力。在連線導向的網路裡,其連線建立程式的程式碼中約有
90%是在進行錯誤情況的處理;這些錯誤處理程式幾乎不可能經過完整的測試,也不會完全正確無誤。而一個在網路中使用「軟性狀態」(Soft state)-週期性的去更新網路現在的狀態-的處理方法,非但幾乎涵蓋了所有可能的錯誤情況,同時也提供了一個非常簡單的錯誤回復機制。所謂「
IP資料流」(IP Flow)是指由某一特定的封包發送端傳送到某一目的地(或某些目的地,如果是群播的話)的一連串封包;這些封包擁有同樣的路徑和相同的處理策略。IP 資料流之於無連線導向網路一如通訊連線在連線導向的網路中所扮演的角色一般。在 IPv6 的封包標頭中包含了資料流識別碼-Flow ID,不但使得 IPv6 封包選徑的處理更為迅速,而且也能以資料流為單位預先保留網路資源,進而提供傳輸服務品質的保證。IP
雖是無連線導向的網路,但其上層的應用程式卻有很多都是應用連線導向式的傳輸層通訊協定(如 TCP)。因此,為了使 IP 對應至 ATM 上時達成最好的效率,當我們在判斷是否要為任何特定的 IP 資料流建立端點對端點的 ATM 連線時,我們也必須同時考慮 IP 上層應用程式的特性;或者至少也要考慮傳輸層通訊協定的特性。如果能為攜帶即時傳輸資料、有傳輸服務品質要求,以及存在時間比較長的資料流建立個別專屬的 ATM 連線的話,這些資料流在網路上傳輸的封包處理將更有效率。相反的,像存在時間短暫、資料庫查詢的資料流則最好全部都從路徑器間預先建立好、所有的資料流共用的 ATM 連線來傳送。由路徑器間預先建立、共享的連線所傳送的封包都像傳統無連線的IP封包一樣:封包一段一段地讓路徑器為個別的封包作選徑。譬如像 DNS (Domain Name Service) 的查詢:每一次查詢都僅是兩個方向各一個封包的交換-使用者詢問和伺服器回答的封包-因此 DNS 的查詢應該直接被轉送至網路上,不必為其建立特別專屬的 ATM 連線。 為網路上每一個 IP 資料流建立一條專屬的 ATM 連線,不但會給 ATM 連線建立協定很高的負荷,也會增加網路上簡單的 「詢問-回答」(query-response)的網路查詢服務增加不必要的延遲(為了等待連線的建立)。IP
的規模能變得如此龐大的原因之一是它的無連線導向特性: 如果適當連接的網路中一台路徑器當機或是一段網路斷線,IP 會選新的路,繞過毀壞的網路部份。然而在 ATM 網路所建立的點對點的連線中,若是同樣的網路硬體錯誤發生時,所有經過此毀壞網路段的連線都會斷線而必須從新建立,重新建立所有相關連線的動作將使 ATM 連線建立協定的負荷加重;而其他未經過此連毀壞斷的ATM連線,也會因為網路拓樸架構改變,使得其連線狀態變得不是處於最佳化狀態;甚至在網路狀態尚未針對新的網路拓樸架構全面更新前,會出現路徑迴路的現象。顯然為了要充分利用資料鏈結層的交換技術,並提供傳輸品質的保證,繞路狀態相關資訊應儲存在交換機內;然而,若要
IP的簡易性和穩固性,這些狀態資訊應該做區域性(local)的獨立儲存,同時這些繞路狀態也應該是軟性而非硬性的狀態。 所謂的「軟性狀態」(Soft State)是指網路為了提升效能而記錄的狀態資訊,它只是為了增加網路運作的效能而不會影響網路的正常運作與否。軟性狀態通常需要週期性的更新網路上的狀態,以便能夠從錯誤的舊狀態中自動回復。軟性狀態的觀念也使得無連線導向的 ATM 架構更為具體化。圖
18-1所示為ATM交換機的一般架構。每一個輸入埠(Input Port)都有個硬體查詢表(Hardware Lookup Table),藉由自此輸入埠中所接收到的 ATM 細胞標頭中的VPI/VCI欄位來直接存取其在此硬體查詢表中位置。在此硬體查詢表中,若其中的欄位是記錄有關於單向點對點的傳輸資料,那此欄位中將會記錄著細胞所要送往的輸出埠(Output Port) 和往下一段繼續傳送時所要換上的新的VPI/VCI標籤以及其他諸如服務品質的資訊。這些欄位是在使用者當初經由連線建立通訊協定和交換機的控制處理器(Control Processor)建立連線時,由交換機上的控制處理器所填入;換句話說,控制處理器上不但需要執行 「連線建立通訊協定程式」,也要執行「繞路選徑」的協定,才能為使用者建立點對點的連線。圖
18-1 ATM交換機架構然而,一個高效能的路徑器其架構和
ATM 交換機的架構非常類似:每一個輸入埠也有個硬體查詢表,藉由送達此輸入埠的封包標頭相關欄位來直接存取其在此硬體查詢表中位置;而此位置將會記錄著所收到的封包應自哪個網路界面卡繼續傳送出去,以及其他與處理封包相關的資訊。在這個查詢表中的欄位都是由路徑器上的控制處理器所填寫;此處理器上也必須執行繞路協定,才能為各個封包做選徑,決定封包的輸出埠。路徑器和交換機最大的差別在於:路徑器將輸入埠的查詢表當作快取(
cache)。也就是說,如果路徑器的輸入埠收到一筆封包,但是在它查詢表中找不到此封包的相關資訊(由封包標頭所提供的的欄位來查詢),那這筆封包就會被傳送給路徑器的控制處理器去做選徑,而當控制處理器做完封包的選徑處理的決定後,它也會將結果記錄在路徑器對應的硬體查詢表內。此外,這些查詢表所記錄的資訊也會定時做更新 ,以因應網路的拓樸架構的變動。軟性狀態的資訊是記錄在路徑器各輸入埠的查詢表中;這些快取放在輸入埠的目的是為了加快封包的處理速度,不會影響路徑器實際上是無連線導向的本質。既然路徑器和交換機的基本架構是如此相似,那麼
ATM 交換機內的輸入埠硬體查詢表示否可以如路徑器般當作快取-將表中的資訊當作記錄著軟性狀態的私有快取(Local Cache)-使用呢?因為ATM直接在網路的第二層硬體上完成資料的傳送-在資料鏈結層直接將資料交換出去,也就是所謂的硬體路徑 -所以它才能提供高頻寬與服務品質的保證。因此只要我們能將正確的資訊載入 ATM 交換機內的輸入埠查詢表,那麼究竟資料傳送的路徑是以連線導向式的硬性狀態,或是無連線導向快取式的軟性狀態傳送並無任何分別。18.3 IP交換技術
18.3.1 IP
交換技術網路硬體架構IP
交換技術硬體架構如圖18-2所示。其中最主要的元件包含:「IP交換機」 (IP Switch),「IP交換機控制器」 (IP Switch Controller),及「IP交換機通訊閘」 (IP Switch Gateway)。IP交換機是最核心的部份,包含交換機的硬體平台 (Switching Fabric),主要任務是進行細胞之交換工作。IP交換機控制器則負責控制交換機之運作,例如設定細胞交換對照表。IP交換機控制器另外也扮演網際網路中之路徑器角色。藉由選徑通訊協定 (Routing protocol, 如RIP, OSPF等等) 建立路徑表。在IP數據包尚未以交換形式傳送前,IP交換機控制器負責以「儲存轉送」 (store-and-forward) 的方式傳送數據包。IP交換機通訊閘則負責將傳統網路連接上ATM網路。IP交換機通訊閘也扮演網際網路中之路徑器角色,負責轉送傳統網路之封包至ATM網路(或反向)。圖
18-2 IP交換技術硬體架構18.3.2 IP
交換技術軟體架構IP
交換技術軟體架構如圖18-3所示。IP交換機,控制器,及通訊閘都不需要原本的ATM軟體。如Q.2931 Signaling、 區域網路仿效軟體(LANE Server/Client) 和 Classical IP over ATM等等。但凡是和直接連上此 IP交換網路的主機都必須安裝「IP 資料流管理協定」(IP Flow Management Protocol, RFC 1953,簡稱IFMP), 使下游節點可以送出IFMP 轉向訊息給上游節點,要求上游節點對某些正在傳送的 IP 資料流自新建立的虛擬通道傳送後續的封包,進行 IP 資料流的轉向。 對建立點對點的 ATM 連線而直接連上 IP 交換機網路的 IP Switch Host 或 IP Switch Server 而言,它只需要安裝 IFMP 的通訊協定驅動程式,能與和其建立預設轉送虛擬通道的 IP 交換機控制器交換控制訊息即可;但是對需要控制 ATM 交換機的 IP 交換機控制器 而言,其 AAL 5 上不但要有 IFMP 以便與其上下游節點交換 IFMP 的訊息,也同時必須要安裝 「通用交換機管理協定」 (General Switch Management Protocol, RFC 1987﹐簡稱 GSMP) 以便讓 IP 交換機控制器 能在需要時控制 ATM 交換機:例如在 IP 交換機控制器決定對某些 IP 資料流作捷徑 (Cut-through) 交換時,它會用 GSMP 控制 ATM 交換機,為上游節點和下游節點建立新的虛擬通道以便進行捷徑交換。至於當作傳統網路和 ATM 網路間溝通橋樑的 IP 交換機通訊閘,其通訊協定架構除了與 ATM 端交換訊息的 IFMP 外,自然也需要有能在傳統網路上收送訊框 MAC 通訊協定。圖
18-3 IP交換技術軟體架構18.3.3
標籤化的 IP 資料流IP
交換技術的目標是在高速的交換機硬體平台上植入 IP:採用標準的 ATM 硬體平台,但將原本架在上面 ATM Forum 的控制軟體完全替換掉(不要 MPOA,也不要Q.2931),以便能讓交換機以無連線導向的方式運作。其結果將會是一個擁有交換機硬體的路徑器:能夠將繞路資訊當成快取儲存在交換機硬體上;這就是IP交換技術-一旦繞路資訊已經儲存在交換機的硬體內時,屬於同一資料流的封包就能不必再經由路徑器,而直接從硬體交換出去。圖18-4 顯示了 IP交換機的 ATM 組態。圖
18-4 IP交換機之 ATM 組態18.3.4 IP
交換機的設計IP
交換機所採用的 ATM 交換機硬體平台一如圖18-5 所示,但是將硬體平台上在 AAL-5 以上所執行的控制軟體完全移除,這包括了連線建立通訊協定、繞路協定、區域網路仿效伺服器和所有的網址解釋伺服器;而以標準的 IP 路徑器軟體取而代之。至於 IP交換機所需要定義的新軟體有:一個將IP資料流和 ATM 的虛擬通道(Virtual Channels)連結在一起的 IFMP。l
l
一個能對 IP 資料流分類,決定哪些資料流應該要直接由硬體交換的資料流分類程式(Flow Classifier)。l
一個能控制 ATM 交換機硬體的驅動程式:能夠遵照 ATM 控制處理器的命令填寫 ATM 交換機內輸入埠的硬體交換表以建立或中斷ATM硬體的虛擬通道。在此為GSMP。圖
18-5 IP交換機之網路架構當系統剛啟動時,在控制處理器上執行的
IP 繞路軟體會與其所有相鄰的 IP交換機主機(Host/Switch)上的 IP 繞路軟體建立一條預設(default)的 ATM 虛擬通道。這條建立的預設通道被用來當作一段一段轉送IP封包的無連線通道,其角色一如傳統的 IP 繞路時,所經過的底層實體網路連線,只是這時經過的是 ATM 網路預設的虛擬通道。此時 IP 交換機已能在網路的第三層轉送 IP封包;但是如果要充分利用交換硬體的速度,我們必須能夠讓某些IP資料流自另外的 ATM 虛擬通道傳送-指定新的 VPI/VCI 給要作硬體交換的 IP資料流。如果沒有這項機制,那麼 IP 交換機就真的成了純粹的IP路徑器。18.3.5
資料流管理通訊協定(IFMP)如果控制處理器決定要把某個資料流做硬體交換,那它就會從接收這條資料流封包的輸入埠中選出一個新的標籤;也就是指定新的接收的
VPI/VCI。如圖18-6 所示, 輸入埠為 port i 而新的標籤則為 Label x。圖
18-6 交換式資料流的建立過程在此我們假設所有的虛擬通道都具單向性(
unidirectional),所以每一段順著資料流傳送方向的ATM標籤範圍(VPI/VCI range)是由其下游的接收端節點的資料流輸入埠所管理。同時控制處理器也會在它自己與交換機相連的控制埠(Control Port, 圖18-6中之 port c)選出一個新的標籤(Label x’);然後IP交換機控制器會藉由控制 ATM 交換機的驅動程式,把輸入埠 port i 的 label x 對映到控制埠 port c 的 label x’。在將交換機輸入埠
port i 的轉換表對應完成後,IP交換機控制器就送一個IFMP 的轉向訊息(Redirection Message) 給其資料流上游(Upstream) 的節點 (就是與接收封包的輸入埠相連的節點,也就是圖18-8中與 port i相連的節點。這個 IFMP 轉向訊息帶有 label x、資料流識別碼(Flow ID)和一個轉向的持續時間(lifetime)。資料流識別碼是由封包標頭中足以辨識這個欲轉向資料流的欄位所組成。這個轉向訊息要求其上游的IP Switch主機(host/router)將以後標頭欄位與這個IFMP 轉向訊息中所帶的資料流識別碼完全相同的封包,都自這個轉向訊息中所指定的 ATM虛擬通道(虛擬通道) 傳送過來,也就是用 Label x 的 ATM虛擬通道傳送未來屬於同一條資料流得封包。至於轉向訊息中所帶的持續時間則是指定這條轉向的虛擬通道 x 所持續的時間;除非這條資料流的上游節點在這段持續時間指定的時間內又再收到IFMP 轉向訊息,重新設定新的持續時間,而將它的狀態更新,否則一旦持續時間所指定的虛擬通道持續時間時限一過,這條資料流就應該不再虛擬通道 x傳送封包,而該回復到之前從預設的轉送通道上傳送封包,而上游節點此時也應該更新這條資料流與虛擬通道 x的關係(由應該使用Label x傳送封包變為不再使用Label x傳送)。在送出
IFMP 轉向訊息後,這條資料流的封包將會自 port c 的虛擬通道 x’ 送至交換機控制器;此時所收到的封包仍然必須經過 AAL-5 做重組然後交給 IP轉送軟體做轉送的動作,但是這個過程會因為上一次的轉送相關資訊已被儲存在路徑器的軟體中,而能用ATM VPI/VCI 的Label x’直接存取,不用再呼叫路徑器的軟體而加快交換機控制器轉送封包的動作。交換真正的好處會在當這條資料流的下游節點也執行同樣的轉向演算法時顯現出來:當這個路徑器從
port j接到從與其相鄰的下游接點所傳送的IFMP 轉向訊息,要求將這條資料流改向到虛擬通道 y (圖18-6 中的 port j, Label y)時,這個路徑器就可以讓這條資料流以後要傳送的封包在 ATM 硬體內直接交換出去:路徑器是藉著控制ATM交換機硬體的驅動程式 (例如GSMP) 將 (port i, Label x)的虛擬通道直接對映到(port j, Label y);至此後,這條資料流所屬的封包都將直接從輸入埠的虛擬通道x 直接交換到輸出埠的虛擬通道 y 去,而不用再經由 AAL-5 重組封包,然後送往交換機控制器處理了。當
IP 交換機接到轉向訊息並且也決定轉向該條資料流,它也會改變該條資料流的封包的封裝(Encapsulation)方式。IP 封包在預設的虛擬通道上傳送時的封裝方式是 AAL-5 上標準的 LLC/SNAP 封裝方式;而在轉向的虛擬通道中傳送的IP 資料流封包,其標頭中所有拿來當作辨識資料流的欄位-也就是組成 Flow ID的欄位-都被在虛擬通道傳送端的 IP 交換機控制器給移除之後,剩下的封包標頭和封包資料再經 AAL-5 的封裝,才從轉向的虛擬通道傳送給其下游節點。這些被移除的封包標頭欄位,由送出 IFMP 轉向訊息給其上游節點,要求上游節點將轉向訊息所指定資料流自新的虛擬通道上傳送的路徑器負責將這欄位儲存起來。而原來完整的封包則可以在儲存這些欄位的路徑器上重新還原出來:藉由封包送進路徑器時的 VPI/VCI Label 直接存取儲存這些欄位的表格。這麼做是基於網路存取安全性的考量:可以讓 IP 交換機在不用檢視每一個封包的內容的情況下,扮演防火牆(Firewall)的角色-它可以防止使用者與置於防火牆之後的主機建立交換式的轉向資料流後,然後更改其傳送的IP封包標頭,而存取未經授權使用的主機位址。基本上,每一個
IP 交換機都會有個在背景執行的定期更新計時器(Refresh Timer)。每當這個更新計時器的時限一過,IP 交換機控制器就會檢視每一條IP 資料流的狀態。如果這條資料流從上次檢視到這次再檢視的期間內仍然有封包在傳送的話(在這段期間內仍繼續收到封包),這條資料流的狀態就會被更新。資料流狀態更新的程序是:再送一個 IFMP 轉向訊息給這條資料流的上游節點;這個轉向訊息中除了 Flow ID與轉向的虛擬通道標籤 (VPI/VCI) 與上次傳送的轉向訊息完全一模一樣外,還帶有一個新的資料流重改向持續時間。另一方面,要是交換機控制器檢視資料流狀態後的結果顯示:這條資料流在兩次檢視之間的時間內都沒有資料的流動的話(在這段時間內都沒有收到屬於這條資料流的封包),這條資料流的狀態就會由已交換之虛擬通道還原到預設的轉送虛擬通道上傳送封包;同時 IP 交換機控制器也會送出一個 IFMP Reclaim Message 給這條資料流的上游節點,通知它不要再用這條虛擬通道傳送資料-也就是要收回上游使用此(VPI, VCI) 標籤的使用權-等到上游節點送回IFMP Reclaim Ack Message,確認上游已釋放這條資料流所使用的標籤之後,才能清除這條資料流的狀態。此外,當 IP 交換機控制器發現它可用的ATM標籤快耗盡時,IFMP Reclaim Message 也可以被用來通知上游釋放使用(VPI, VCI)的虛擬通道,以收回 ATM Label 的使用權。對於已經標籤過但還未直接做硬體交換的資料流,若要判斷是否最近有資料的流動,IP交換機控制器可以直接查詢它自己為這些資料流所做的記錄;但若是對已經在進行交換動作的資料流,IP交換機控制器就得查詢 ATM 的硬體才能得知是否這些已交換的資料流仍有資料在它們所專用 虛擬通道 上的傳送。IP
交換機控制器在接到 IFMP 轉向訊息後,對於是否要對其所指定的資料流做交換的動作,完全是這個控制器自己區域的決定,並不會影響這條資料流的傳送:如果決定接受下游節點的要求,將轉向訊息上所指定的資料流轉向的話,其操作如上文所述;但是如果決定不要重改向這條資料流,那就不要理會所收到有關這條資料流的 IFMP 轉向訊息,仍然繼續從預設的轉送虛擬通道上將屬於這條資料流的封包傳送出去給下游節點,而下游節點指定給這條資料流的虛擬通道也會因為更新計時器的時限過了,卻發現沒有自此條虛擬通道中接收到任何資料,而自動將這條虛擬通道釋放出來。換句話說,因為更新計時器的作用,所以 IFMP 轉向訊息並不需要有訊息確認的動作(Ack):因為第一個自指定轉向的虛擬通道中收到的封包就表示上游節點已經接受了剛剛 IFMP 轉向訊息的要求。此外,這套資料流管理協定(IFMP)在使用者-網路界面(UNI, User-Network Interface)和網路-節點界面(NNI, Network-Network Interface)間並無不同,不需要像ATM的Signaling通訊協定為這兩個界面各寫一個版本。18.3.6
通用交換機管理協定(GSMP)對於
IP 交換機而言,與 IFMP 佔有同等地位的是 GSMP。因為當資料流分類完成後,IP 交換機控制器就得靠 GSMP 向 ATM 交換機提出建立與釋放虛擬通道的要求,以便讓 IP 交換機控制器能在需要對已歸類過的 IP 資料流建立新的 ATM第二層的硬體交換連線時控制 ATM 交換機(設定交換機內各個輸入埠的硬體交換表)。如在對 IP 資料流轉向時,為上游節點和下游節點建立新的虛擬通道,以便進行硬體交換的工作;IP 交換機控制器必須能夠正確地設定 ATM 交換機內的硬體交換表-填入適當的 (Input Port, VPI/VCI) 與(Output Port, VPI’/VCI’)的對應關係,為轉向的資料流建立硬體交換通道,讓更多的 IP 封包直接從 ATM 交換機交換出去。GSMP
是 IP 交換機控制器對 ATM 交換機作管理的通訊協定,其目的是希望能讓 IP 交換機控制器控制所有具備 GSMP 驅動程式的ATM 交換機硬體平台;為一種主從架構、詢答式的協定(Master-Slave, Request-Response Protocol):由交換機控制器向交換機發出指令,ATM 交換機只在動作完成或失敗後,向交換機控制器報告結果為成功或失敗。GSMP 具備的功能如下:對
ATM 交換機要求建立連線或釋放該條連線。對一個群播增加新節點或刪除既存的節點。
管理交換機的通訊埠。
要求獲得交換機參數設定的資訊以及獲得交換機對各虛擬通道資料流量的統計資訊,為交換機控制器提供是否
IP 資料流仍有封包在轉向的虛擬通道中傳送的判斷依據。GSMP
所有的訊息皆加上 AAL-5 LLC/SNAP 的封包標頭頭後,以AAL-5 的細胞傳輸,其訊息格式如圖18-7 所示。MSB:Bit 31 |
LSB: Bit 0 |
||
LLC (AA-AA-03) |
|||
SNAP(00-00-00-88-0C) |
|||
GSMP Message |
|||
Pad (0 – 47 octets) |
|||
AAL-5 CPCS-PDU Trailer (8 octets) |
圖18-7 GSMP 訊息格式
18.3.7 IP
交換機運作流程交換機控制器的基本操作如下 ( 參考圖18-8至圖18-12):ATM IP
(1) IP
交換機控制器在與上游節點(Up-stream Node)連接的預設虛擬通道上收到來自上游節點送來的 IP 封包,並將其轉送至連接到上游節點的預設虛擬通道上(如圖18-8)。在對 IP 封包作轉向時,IP 交換機控制器也對每一個收到的 IP 封包進行資料流分類的工作。圖
18-8 IP交換機預設運作模式若
IP 交換機控制器決定對一特定的資料流進行轉向,則 IP 交換機控制器藉由 IFMP 送一個轉向訊息給上游節點,通知上游節點以後用新的虛擬通道來傳送將來同屬此一條被 IP 交換機控制器所選定的 IP 資料流的封包, 如圖18-9。上游節點在收到此 IFMP 轉向訊息後將此已被標籤過的 IP 資料流自新的交換機控制器(新的VPI/VCI) 將此標籤過之 IP 資料流送出(如圖18-10)。圖
18-9 IFMP轉向訊息圖
18-10 IP 交換機控制器將選取之資料流貼上標籤下游節點也要求
(藉由 IFMP) 此 IP 交換機控制器由新的虛擬通道傳送剛才被選定的 IP 資料流(如圖18-11)。圖
18-11 下游節點也標籤此資料流當 IP 交換機控制器發現其上下游的節點都已轉向此已標籤之 IP資料流,則此 IP 交換機控制器藉由 GSMP 更改其所控制 ATM交換機內的交換表,使得此標籤之 IP資料流直接由輸入埠交換至輸出埠。之後此IP 資料流後續的封包可以根據交換機內交換表的對應關係(( Input port、VPI/VCI) 交換至(Output port、新的VPI/VCI )) 直接將細胞送至輸出埠,同時也換上新的 VPI/VCI。此時已完成”捷徑” 交換—直接自ATM交換機交換出去,不需要再經過原本 IP 交換機控制器的 IP 繞路軟體及控制流程(如圖18-12)。(4)
圖
18-12 捷徑交換完成後細胞以 ATM 硬體的速度交換 以上所介紹的是一部IP交換機與其上下游交換機之間的運作情形,在包含許多IP交換機的網路環境下則仍然依此模式運作。在捷徑尚未建立前細胞都必須先交由IP交換機控制器處理 (將屬於同一封包的細胞組合成原來的封包後查詢路徑表來決定輸出阜然後再將此封包切割成細胞經由預設之虛擬通道傳送給下一個IP交換機), 如圖18-13(a) 所示。當傳輸路徑上的每一個IP交換機都建立捷徑後則起始工作站所送出的細胞都以硬體交換的方式傳送, 如圖18-13(b) 所示。值得注意的是,起始工作站所送出的細胞並不是等到傳輸路徑上的每一個IP交換機都建立捷徑後才開始以硬體交換的方式傳送,只要一個IP交換機建立捷徑, 該IP交換機就可以開始以硬體交換的方式傳送細胞。事實上,屬於一個資料流的頭幾個封包在往前衝的時候,其先前所經過的路線也將依序建立捷徑,等到這幾個封包到達目的地工作站時整條捷徑也接近建立完成。這有點像鑽地鼠鑽地道一樣,鑽地鼠通常會經由挖地道的方式到達目的地,可是挖地道的過程中為了保持正確的方向鑽地鼠可能須常常探出頭來看看。此探頭看的動作就像是經由IP交換機控制器一樣(選擇方向)。等到鑽地鼠到達目的地時地道也已經挖掘完成。捷徑完成前
捷徑完成後
圖
18-13 IP交換機網路運作範例
IP
資料流的分類(Flow Classification) 是依據 IP/TCP/UDP 標頭的某些欄位,其中大部分都是上層的IP選徑軟體在對封包進行轉送時所要參考到的欄位: 像服務類別(Type of Service)、通訊協定(Protocol)、來源位址(Source Address)、目的地位址(Destination Address)、來源地Socket埠號(Source Port)、目的地Socket埠號(Destination Port)等等。如果有兩個封包所擁有的上述的標頭欄位都完全一樣的話,那麼這兩個封包就是屬於同一條 IP 資料流。我們可以依照標頭欄位組成的不同而定義出各種不同形態的資料流,而這些資料流間應該要做某種程度的排序,這樣才能讓同時符合多種資料流型態的資料流可以決定哪一個最適合自己的歸類。當自預設的轉送虛擬通道接收到一個封包時,它們會經過
AAL-5重組並往上送給控制處理器做一般正常的選徑處理;像決定這個封包應該轉送至哪裡、哪個輸出埠等等。但是與此同時,處理器也對這個封包做資料流歸類的處理,以判斷將來若再收到屬於同一個資料流的封包是否應該要直接自 ATM 硬體交換出去,或是繼續讓路徑器軟體替它一段一段的轉送。資料流的分類是各主機自己區域性的策略決定,不必每個交換機都相同(事實上不同廠商的交換機可能有不同的實作方式)。資料流分類程式藉由檢視封包標頭的欄位,以及自己的策略表來決定是否要將這資料流做硬體交換。例如:藉由檢視一些已經註冊過、廣為人知的
Socket 埠號(Source Port或Destination Port),我們可以知道這個資料流上層的應用程式是什麼,像 FTP 傳送資料的連線的 Destination Port 是 20;而某個主機上的資料流分類程式可能決定讓屬於 FTP 的「資料傳送連線」(Data Connection)做硬體交換,而 FTP 的「控制連線」(Control Channel)或 DNS 詢問服務的封包就直接由預設通道繼續轉送出去。在
IP交換機運作的關鍵技術在於如何適當的對 IP 封包進行捷徑交換。如果所有的 IP 封包都經由預設虛擬通道傳送,則IP 交換機控制器扮演的正是對 IP 封包進行 「儲存轉送」的傳統路徑器的角色,無法利用到 ATM 硬體交換技術的高頻寬,此時 IP 交換機控制器的封包處理能力將成為網路瓶頸。反之,若是對所有的 IP 資料流都建立一條虛擬通道進行捷徑交換的話,則對於一些交通量少(如DNS Query)、偶爾出現(如SMTP)的資料流卻易形成系統資源的浪費,因為等新的虛擬通道建好了,也許此資料流所有的封包也送完了,卻仍會繼續佔用ATM VPI/VCI一段時間,直到這條虛擬通道的持續時間結束,由控制器將其收回系統。資料流分類的目的在於讓網路上傳輸量大(如
FTP)或傳送時間較長(如Telnet)的 IP 資料流能直接在 ATM 硬體做捷徑 交換,至於傳輸量小(如SMTP)、傳送時間短(如DNS Query) 的 IP 資料流就仍然經由 IP 交換機控制器作儲存轉送的處理。借由觀察 IP/TCP/UDP標頭中的欄位,如註冊過的網路服務種類 (Registered and well-known TCP/UDP Port Number)、通訊協定 (Protocol is stream-oriented TCP or not)、封包來源(Source IP address) 和目的地(Destination IP address)等,可對 IP 層的資料流作分類。在 IP 交換機控制器中,對 IP 資料流分類,決定未來被歸類為同種類的資料流的後續封包是否要直接交換出去。表
18-1列出哪些在網路上傳送的封包應該要被歸類為資料流以及一般不是屬於資料流的網路資料流。 表18-1 長時間與短時間資料流Flow-Oriented Traffic |
Short-Lived Traffic |
File transfer protocol (FTP) data |
Domain Name Service (DNS) query |
Telnet data |
Simple Mail Transfer Protocol (SMTP) data |
HyperText Transmission Protocol (HTTP) data |
Simple Network Management Protocol (SNMP)queries |
Web image downloads |
Point-of-presence (POP) |
Multimedia audio/video |
Network Timing Protocol (NTP) |
若再以網路服務協定細分,表
18-2中有勾號標記的的欄位則列出了哪些通訊協定所傳送的資料流應該被歸類為:“值得特別建立一條ATM虛擬通道,直接做硬體上的交換“。但是如果直接以表18-2 所列的公開 TCP埠號 (well known TCP Port Number) 來做資料流的分類會有實際操作上的困難:因為上列的TCP 埠號可能都是伺服器端開的Passive Socket,用來等候來自用戶端的TCP連線;等到一旦用戶端和伺服器端建立TCP的連線後,它們之間真正用來傳送資料流的TCP Socket 埠號都不會是上述的Socket埠號-伺服器端會另開一個Socket埠號去和用戶端建立真正的TCP連線。譬如說:Web伺服器上HTTP Daemon的埠號是80,Client端會先連上Web伺服器的socket port 80,然後Web伺服器會產生另一個子行程(child process) ,開一個新的Socket和用戶端建立連線,然後這個新的子行程就以這個新指定的Socket和用戶端做HTTP文件的下載;而伺服器端HTTP daemon所在的port 80在產生出一個新的子行程後,就繼續回到等候用戶端連線的模式(Listen())。此外,這種分類法則並不具備通用性:一旦有新的網路服務埠號加入,就必需修改其資料流分類對照查詢表。 表18-2以交換方式處理之通訊協定Protocol |
Port |
Protocol |
Port |
||
IP in IP |
4 |
TCP netbios |
139 |
4 |
|
TCP ftp-data |
20 |
4 |
TCP login |
513 |
4 |
TCP ftp-control |
21 |
TCP cmd |
514 |
4 |
|
TCP telnet |
23 |
4 |
TCP audio |
1397 |
4 |
TCP smtp |
25 |
TCP AOL |
5190 |
4 |
|
TCP gopher |
70 |
4 |
TCP X-11 |
4 |
|
TCP http |
80 |
4 |
UDP dns |
53 |
|
TCP POP-v3 |
110 |
UDP ntp |
123 |
||
TCP authent |
113 |
UDP snmp |
161 |
||
TCP nntp |
119 |
4 |
清華大學資訊工程學系高速網路實驗室已建立一個以
ATM 網路為基礎的 IP 交換技術實驗平台。如圖18-14 所示,本實驗平台骨幹網路部份目前包含三部ATM交換機(一部 Fore/ASX200, 兩部 DEC GigaSwitch/ATM)。針對每部交換機,我們實作了一對的 IP 交換機通訊閘 (IP Switch Gateway) 及 IP 交換機控制器 (IP Switch Controller)。其中 IP 交換機通訊閘負責將 Ethernet 連結上此 ATM IP 交換機網路。 IP 交換機通訊閘及交換機控制器的硬體平台則為工研院電通所開發之ATM/EtherSwitch (包含一個ATM埠 (155 Mbps) 及八個埠之EtherSwitch)。 此硬體平台之 CPU 為 Intel i960 CA/CF, 作業系統則為美國 US Software 公司所研發之即時作業系統:SuperTask。我們在此硬體平台上自行開發軟體。其中 IP 交換機通訊閘包含下列軟體:IPv4, IPv6
RIP, OSPF
DVMRP, IGMP, RSVP
IFMP
而
IP 交換機控制器則包含下列軟體:IPv4, IPv6
RIP, OSPF
DVMRP, IGMP, RSVP
IFMP, GSMP
圖
18-14 清華大學資工系IP交換技術實驗平台IP
交換機不像IPOA 或區域網路仿效軟體般需要集中式的路徑伺服器,因為在此架構上執行的是純粹IP,而IP的繞路是各個散佈在網路上的路徑器自己依據當時所處的網路狀態所做出的分散式的、獨立的決定。在目前網際網路或是區域網路上傳送的仍然是以IP的封包為主的情況下,而傳統的路徑器仍以IP選徑軟體對IP的封包進行儲存轉送,易形成網路傳輸上的瓶頸。而交換技術雖提供了遠高於路徑器的總和頻寬,目前卻只提供了橋接的方法;其他各式各樣希望能讓IP在ATM交換技術下傳送的方法 (如 IPOA,MPOA) 不但複雜且仍未發展成熟。而IP交換機整合了無連線導向的IP和ATM交換技術的硬體,讓屬於同一條資料流的IP 封包能直接用硬體交換出去而不必再靠上層的IP 軟體繞路;因此IP交換技術結合了IP的簡單和可靠性以及ATM的速度與頻寬。此外,若比較IP交換技術和MPOA的複雜度:為支援IP交換技術所需的通訊協定驅動程式-IFMP或GSMP-其原始程式碼少於10,000行;而支援複雜的MPOA通訊協定需要Q.2931 Signaling、PNNI再加上MPOA本身,這些程式至少要幾十萬行。習題
IP
交換技術結合了IP軟體的優點與ATM交換機硬體的優點。請說明這兩者的優點為何。IP
交換技術主要包含以下之三種元件,請說明各元件的功能為何。交換機 (IP Switch)IP
IP
交換機控制器 (IP Switch Controller)IP
交換機通訊閘 (IP Switch Gateway)請說明
IP交換技術中如何由原來為儲存轉送 (store-and-forward)的運作模式轉變成捷徑交換模式。 何謂「資料流」(Data flow)?IP交換技術如何辨識及處理資料流?何謂
「軟性狀態」 (Soft-state)?其特性為何?請說明
IP交換網路的軟體架構。IP交換機 (IP Switch),IP交換機控制器 (IP Switch Controller),IP交換機通訊閘 (IP Switch Gateway) 各須支援哪些軟體?「
IP 資料流管理協定」(IP Flow Management Protocol, IFMP) 的功能為何?如何運作?「通用交換機管理協定」
(General Switch Management Protocol, GSMP) 的功能為何?如何運作?請說明資料流分類的原則。分類不佳對於交換機的效率有何影響?