支援不同網際網路供應商路由之線路備援機制
林耀仁 黃政欽 范慶達
育達商業技術學院資訊管理研究所
Email: {lyr, 94310009, 94310007}@ydu.edu.tw
摘要
資訊科技的進步帶動網際網路迅速發展,而網 際網路則將數以千萬的電腦連結起來,成為彼此間 資訊傳遞最快捷的途徑,然而每個網路的連結,都 是透過不同家的 ISP 業者所提供的網路線路,因此 網路中斷的因素有可能會發生在 ISP 的設備、光纖 骨幹中斷或是機房維護等,因此在網管人員無法得 知路由中斷的可能位置時,就無法快速處置。 本 論 文 在 於 利 用 連 接 兩 家 以 上 的 網 路 線 路 商,透過路由探測與網路服務偵測的方式,更精確 的診斷出故障的詳細位置及原因,並避免一般的線 路備援採取的通透式模式(Transparent mode)所造成 的單點錯誤(Single Points Of Failure ,SPOF)問 題並應用多重網路(Multi-homing)機制的精神完成 符合校園網路使用的線路備援架構。此架構將研究出一個能夠自動將網路流量區 分為內部流量與外部流量,以自動導流的方式,完 成 校 園 網 路 (Campus Network) 的 容 錯 能 力 (Fault tolerance),提高網路故障的處理效率。並以模組化 方式建置此系統,透過相關模組的建立,可以提供 網路節點的測試、網路狀態即時回報、網路中斷立 即回報、外對內連線與內對外連線的自動切換,以 有效減少管理者的負擔,並使用開放式作業系統實 作於校園網路上,以驗證此機制的可行性。 關鍵字:通透式模式、單點錯誤、多重網路、容錯 能力
Abstract
Progress of information technology takes the Internet connecting millions of computers and providing high speed communication to grow rapidly. But each node is connected by independent ISP, a network broken maybe occurred within an ISP and a network manager of a user site cannot hold it. For example, devices within an ISP break, fiber backbones break, and machines of an ISP maintain.
This study uses probing routes and ISPs to diagnose correct location and occurrence of a broken point based on dual connections to two ISPs. It also avoids the Single Points of Failure (SPOF) problem comes from transparent mode of other systems. We adopt the spirit of multi-homing to satisfy necessaries of campus networks.
This paper presents an architecture which can identify inbound and outbound flows, directs flows to
be Fault Torrance, and improve efficiency while network have something wrong. Our implementation is a modularized system for reducing overload of managers; related modules provide functions of node testing, real-time report of network status, on-time notification while network breakdown, and auto-switch of inbound and outbound flows. We use open-sourced operation system and apply it on campus network.
Keywords: Transparent mode, Single Points Of
Failure, Multi-homing, Fault tolerance
1. 前言
在網際網路蓬勃發展的今日,網路服務已成為 校園提升競爭力的重要工具,尤其以近年來各大專 院校所提倡的遠距教學應用更是重要,因此如何擁 有穩定而可靠的網際網路服務已經是當前各大專 院 校 面 臨 的重 要 課 題 。而 校 園 網 路的 主 要 骨 幹 TANet,就負擔著把各級學校與其他 ISP 連接的重 要角色,因此我們可以把每個連線單位,看作是一 個獨立的 ISP,彼此透過 TANet 或 TWAREN 的骨幹進 行連接與路由交換(圖 1)。 然而校園內的網路流量是相當多且複雜的,這 些流量可能來自研究單位、縣市網與其他種類的連 線單位;因此如果在對外骨幹中有任何一個設備, 因為機房維修、設備故障與線路中斷等因素,都有 可能使得部份連線出現異常,例如連接不到某個 ISP 所提供的網站或網路服務等,雖然目前已有 ISP 業者提供多路由的線路備援方式,透過 BGP 等網路 路由通訊協定進行線路備援的動作,但這些動作通 常都是 ISP 與 ISP 之間透過動態路由的方式來達成 的,而一般的網路使用者僅能被動配合,無法主動 進行線路偵測與備援的動作,而一般使用者若僅是 採用一般的 Multi-homing 策略,即藉由多條專線及 多 ISP 之連線服務,也僅能用來處理自身網路問 題,無法了解外部連線的狀況與效能。並且光是 TANet 整體對外頻寛就高達 90362.66Mbits(表 1)以 上的總頻寛,而各級大專院校也因為界接新世代骨 幹網路,使得對外頻寛由原先的 T1、E1、T3 等頻 寛,擴增到 200Mbits 到 10Gbis 不等的對外頻寛。 若僅利用坊間所使用的 Multi-homing 設備進行線路 備援常會出現 SPOF 的風險。 為了有效處理如此這些網路流量及以更少的 網路斷線時間,找到某條連線或某個 ISP 出現的問 題,自動嘗試透過其他備援的 ISP 線路連接到有問題的線路或以即時通報的方式顯示,並以路由器基 礎(Router-base)的方式,以不改變現有網路架構的 方式來達到支援不同網路供應商路由之目的,本論 文 將 透 過 目 的 端 網 路 位 置 轉 換 (Destination NAT)、來源端網路位置轉換(Source NAT)與 DNS 機 制的交互運用,並再利用相關模組的研究完成此一 架構,以有效減輕 MIS 部門人員之工作量,並利用 校園網路環境以驗證本研究之可行性。 圖 1 TWAREN 骨幹架構圖[1] 表 1 TANet 九十五年四月份對外頻寛統計[2] HiNet 26246 TWGate 1000 ASNet 16033.3 KGEx 1000 Giga 11000 EBIX 1000 TWAREN 10000 NCREE 1000 TFN 5710 NHRINet 1000 Seednet 5400 NCIC 951 EBT/APOL 4500 GSN 244.74 So-net 3622.08 TWNAP 54 TTN 1600 TWIX 1.54 總對外頻寛 90362.66 單位/Mbits
2. 文獻探討
當網路服務提供者(ICP ,Internet Content Provider)與網路使用者位於不同的 ISP 業者時, 封包的傳遞會透過兩家所屬的不同網路路由器上 進行封包交換,因此在這兩個路由器上,就會出現 單點失敗(Single Point of Failure)的問題,而 線路備援部份則分為 outbound 與 inbound 兩種, outbound 部份主要在處理網路使用者上網之用, inbound 則在處理伺服器端對外的服務,如何保持 不間斷,而 outbound 目前已有不錯的解決方案, 因此本研究將針對 inbound 部份做個介紹,內容的 2.1 將針對目前的 inbound 備援機制做個說明,2.2 將概述現有的網路線路中斷偵測方式做個說明。 2.1 Inbound 線路備援 在 Multi-homing 的主要概念下,提供一個網 路環境可以擁有兩個以上的對外連結,因此提供, 容 錯 性 (Fault-tolerance) 、 負 載 平 衡 (Load Balancing) 與 服 務 提 供 者 選 擇 (Provider Selection)等功能[3],因此針對 Inbound 的備援 可以分為以下幾種: (1)冗餘備援(Redundant Link)方式(圖 2):此 線路備援方式是在 ISP 支援的情況下,在使 用者端的路由器上,以路由交換的方式,在 路由器上設定兩筆 routing table 往 ISP, 將其中主要的線路距離值(distance)設為 較小,備援線路則設為較大,在線路沒有中 斷時使用主線路,在線路中斷時,則提供備 援路由供使用。
ISP
ISP
Backup Link Default Link Server Farm 圖 2 冗餘備援 (2)DNS 為主 (DNS-Base)方式(圖 3):此種線路 備援原理,是基於網路服務大部份都是以 FQDN(Fully Qualified Domain Name)來表 示,因此只需先在 Root DNS 註冊兩筆 DNS 主機位置,DNS 解析就會以 RR(Round Robin) 方式提供網路名稱解析的服務,當主要線路 中斷時,就可以利用此機制,提供線路備 援,也就是當線路中斷時,主要的 DNS 伺服 器會發生無法回應的情形,這時就利用未斷 線線路上的備用 DNS 進行回應,並回應網路 使用者的網路服務要求,這種方式也是目前 較常見的 Inbound 線路備援方式,並且在此 種類型中,也衍生出以下幾種類型的線路備 援模式。Backup ISPS Backup ISPS Default ISP Default ISP Backup Link Default Link Server Farm Root DNS 註冊兩個DNS IP 圖 3 DNS 為主 (DNS-Base) a. Dual Public IP 模式(圖 4):在此 模式中,不論是主要線路或是備用線 路都是提供 Public IP 供伺服器設 定,因此伺服器端須要設定兩個 IP 位置,這種做法也就是 Multi-homing 技術中的 Host-Based 運作方法[3]。
Backup ISPS
Backup ISPS
Default ISP
Default ISP
Backup Link Default Link Server Farm Root DNS 註冊兩個DNS IP 210.243.60.X/24 203.68.137.X/24 DNS2 DNS1 圖 4 Dual Public IP 模式 b. DNS-Base 結合 NAT 混合模式(圖 5):在此模式中,是以 a 模式結合 NAT(network address translation) 的技術在主要線路未中斷時,NAT 設 備以穿透(Pass-Through)的方式提 供外部連線,在主要線路中斷時,以 NAT 設備內含的 DNS 伺服器進 IP 轉 換,可以提供真實網路位置(Public IP )、私有網路位置(Private IP) 與服務埠(Service Port)之間的線 路轉換。 Backup ISPS Backup ISPS Default ISP Default ISP Backup Link Default Link Server Farm Root DNS 註冊兩個DNS IP 1.DNS 2.NAT 圖 5 DNS-Base 結合 NAT 混合模式 2.2 網路線路中斷偵測方式 在 Inbound 的線路備援機制中,錯誤偵測 (Fault-Detection)是相當重要的一環,以參考資料 [4][5][6]大約可以分為以下幾種偵測方式:(1) 使 用 ICMP(Internet Control Message Protocol)技術進行檢測:利用網路工具 Ping、traceroute 等 ICMP 指令來進行網路 探測,以確定網路是否斷線。 (2)使用 TCP Connection 協定進行檢測:借由 TCP 連線建立的特性,來偵測測試線路中的 遠端的電腦是否處在連線的狀況中(圖 6)。 (3)使用代理人機制檢測(圖 7):於各網路路由 器節點施放一個代理設備(Agents)利用此 設備來收集該點或是代理設備間的的網路 連線狀況,並將,所收集到的資料回傳給 伺服器進行處理與分析。 (4)使用資料搜尋機制檢測(圖 8):直接使用偵 測主機的資料,例如 URL 網頁資料檢索比 對、資料庫資料檢核、FTP 資料傳輸與 DNS 查詢等方式直接進行網路測試,以得到網 路目前的運作狀態。 Server Client SYN SYN/ACK ACK 連線建立 圖 6 TCP Connection 協定進行檢測機制
Database Server
Agents
圖 7 使用代理人機制檢測
WEB Server 2.TCP 連線建立 Client
4.伺服器提供資料 3.要求提供資料 1.建立目的端取得資料規則 5.完成偵測 Database 圖 8 使用資料搜尋機制檢測
3.運作流程
本系統運作流程(圖 9)以達到支援外部供應商 路由為基礎目前對每個工具的運用已做初步的測 試,已確定可以達到系統運作的功能,未來當系統 完成時,將以每個步驟都以可以達到系統自動化運 作為目的,以下針對每個流程作更詳細的步驟介紹 與程序說明: 步驟 1:將以 DNS 伺服器中的 FQDN 資料結合 ICMP 協定中 Traceroute 功能等工具依預先設定 的外部網路路徑資料(表 2),自動進行判斷 路由狀況與外部端點的情況,如果發現線 路中斷的情形就進行下一個步驟的判斷。 表 2 主要 ISP 網路路徑圖ISP1(Hinet) ISP2(TFN) ISP3(SPARQ) 203.68.137.254 172.31.255.253 203.68.12.158 211.22.38.222 220.128.2.66 220.128.2.109 211.22.35.1 61.219.38.89 203.68.137.254 172.31.255.253 203.68.12.158 203.72.36.26 60.199.3.153 61.30.127.210 61.31.194.247 211.78.208.252 61.30.238.38 203.68.137.254 172.31.255.253 203.68.12.158 140.113.0.130 203.68.12.10 203.72.36.204 211.78.149.81 211.78.150.65 211.78.129.42 211.78.130.120 211.78.130.140 步驟 2:依照預先收集的骨幹端資料,再次判斷是 否為骨幹端中斷,如果是骨幹端的完全中 斷就代表網路完全無法對外連通,這時就 必須進入到下一個步驟進行緊急情況處 置,若僅是部份的 ISP 發生中斷就開始嘗 試針對部份網域的備援處理(圖 10),透過 其他家 ISP 所提供的路由備援,將網路流 量導引至目的 ISP 完成備援,若是仍無法 完成備援就,改以自動即時網頁顯示的方 式來顯示中斷點的位置提供給網路使用者 了解。 步驟 3:進入此步驟時,就代表主要網路骨幹已完 全中斷,因此就必須要啟動路由調整機 制,使內部的網路伺服器資料能夠正常提 供給外部網路使用者使用,因此透過以路 由模式(Route-base)的方式,以系統上的 DNS 服務,並配合 IPtables 工具所提供的 位置轉換(圖 11),自動化的改變網路封包 的走向,達到 inbound 的備援目的,而內 對外的流量也透過此機制連至 NAT 主機完 成 Outbound 的備援,並立即以電子郵件通 知管理者,並在網路上即時提供訊息予網 路使用者了解。 步驟 4:系統自動判斷主要路由線路中斷情形是否 解除,如果未解除就必需一直進行偵測, 直到線路恢復為止。 步驟 5:如果線路恢復了,就立即自動調整回原先 的路由,並即時以電子郵件方式通知管理 者和在即時網頁中提供網路恢復狀況的訊 息予網路使用者了解。 圖 9 運作流程圖
圖 10 Outbound 運作流程圖 Default ISP Default ISP Backup ISPS Backup ISPS Server Farm Server Farm 1 192.168.0.1->192.168.3.1 2 192.168.3.1->192.168.0.1 網路位置轉換表 192.168.0.1 192.168.1.1 192.168.3.1 圖 11 Inbound 運作流程圖
4.系統架構與設計
為達到支援不同網際網路供應商路由之線路 備援機制之目的,並避免與其他備援機制易發生 SPOF 的錯誤與無法處理部份 ISP 中斷之問題,本論 文係以研究出可以處理不同網路供應商路由線路 的錯誤偵測與自動化處理機制,並以 TANet 校園骨 幹為測試環境,建構一個自動化的線路備援的系 統。 4.1 系統架構 整個系統的主要使用的工具為 BIND (Berkeley Internet Name Domain) 、 IPTABLES 、 Terminal Services Tools 與 Linux 作業平台,系統之整體功 能架構,將利用模組化的方式來運作,以下就是各 模組介紹(圖 12): (1) 使用者圖形介面模組:提供使用者圖形介面來 管理系統。 (2) 使用者認證模組:做為辦別使用者身份與管理 權限之用。 (3) 網際網路供應商路由設定模組:設定各網際網 路供應商路由內容。 (4) 網路路由測試與設定模組:提供路由測試項目 與測試規則。 (5) 網路狀態即時回報模組:網際網路供應商路由 出現問題時,提供即時回報之功能。 (6) 故障自動切換模組:網路故障時,自動切換至 備援線路,以減低網路中斷所造成的使用者不 便。 (7) 資料庫模組:提供儲存系統所需的各種資料與 規則。 (8)SNMP 控制模組:用以了解系統有權控制的路由 器與交換器內可供參考的資料。 網路狀況即 時回報模組 網路路由測試 與設定模組 網際供應商路 由設定模組 使用者認證模組 使用者圖形界面 故障自動 切換模組 資料庫模組 圖 12 系統整體功能架構圖 4.2 系統設計 本研究系統設計包含路由器運作作業、線路偵 測作業、線路轉換作業與 DNS 設計作業四個運作功 能等,目前已使用相關工具完成的測試,已確定系 統運作原理已可以正常運作,本系統設計分述如下 (圖 13): (1)路由器運作作業 將路由器內部的運作方式進行調整,並將 不合適的路由規則進行變更,以符合系統未來 遇到線路中斷時,可以自動化的進行線路變 更,整體規則如下(圖 14): a. 將所有路由封包出口集中於一部對外的路 由器上。 b. 設定 SNMP 監聴服務,供 SNMP 模組確實掌握 各路由器的狀態。 Default ISP Default ISP Server Farm Root DNS 註冊兩個 DNS IP Backup ISPS Backup ISPS 線路備 援系統 DNS 1 1 203.68.137.254 2 172.31.255.253 3 203.68.12.158 4 211.22.38.214 5 220.128.2.62 6 220.128.2.117 7 211.22.35.81 8 211.22.41.113 9 202.43.196.244 10 202.43.195.13 路由檢測表 Other ISP 1Other ISP 1 Other ISP 2Other ISP 2
外部路由器 圖 14 系統架構圖 (2)線路偵測作業(圖 15) 預期將以 ICMP 與資料搜尋機制交互運用的 方式來偵測網路是否中斷,並將偵測結果轉換 為線路轉換階段的基礎:
開始 提供原始DNS資 料給網路使用者 網路檢測 DNS2資料庫 DNS1資料庫 提供備援DNS資 料給網路使用者 是 否 開始 a.在網路路由上建立路由表,並以網頁方式呈 現,並以不同顏色顯示線路狀態。 b.不能使用路由探測方式測試網路狀態時,以 DNS Request 方式先設定位於路由節點上的 DNS 主機資料進行查詢,如得到資料就表示該 節點未中斷。 (3)線路轉換作業 在線路中斷時,須提供網路流量轉換至備 援線路之上,因此就必須先設定好不同狀況所 要進行的動作,當線路中斷時,就可以自動進 行轉換至適當的線路上。 圖 16 DNS 回應架構圖 整體系統架構,將以圖 16 為初期規劃的系統 架構,以減少 SPOF 的方式設計此架構,利用線路 檢核的方式偵測網路連線是否正常,並透過 SNMP 模 組 獲 得 轉換 後 的 路 由器 與 備 援 主機 的 負 載 情 況,以確實掌握目前的運作機制是否正常。 (4) DNS 設計作業(圖 16) DNS 的運作在 Inbound 線路備援上佔有相 當大的份量,設計上將以不影響現有的 DNS 伺 服器運作為原則,僅在 Root DNS 上增加一筆下 游的 DNS 伺服器 IP 位置,當系統建置後將依以 下規則進行。 5.結論與討論 Rule1:未中斷前備份 DNS 不提供服務供提供主要 的 DNS 主機以 Cache Mode 方式回覆查詢。 Rule2:備份 DNS 結合 NAT 機制,以使用原伺服器 IP 而不需增加 IP 為原則。 本研究架構利用目前 Multi-homing 架構的精 神來完成支援不同網際網路供應商路由之線路備 援機制,並利用開放式的作業環境架構實作此系 統,希望能夠借由此系統的開發,有效減少網路管 理人員的負擔與中斷時可能對使用者造成的不便 目前此系統架構已先行使用相關工具完成小型的 測試模型,已確定系統能夠正確運作,但相關的量 測數據則因系統尚未完整架構,因此無法提出詳細 的量測資料,目前在測試時出現以下問題,尚無法 提出解決方法,為使系統能正常運作,先將此議題 放在系統建置完成之後,再行處理。 (1)網路服務提供者(ISP)與網路內容提供者(ICP) 的對外網路中斷時。 (2)出現多重障礙時(例如備援線路與外部 DNS 伺 服器發生故障等)。 本系統架構除了提供 Inbound 的線路備援外, 也必須考量 SPOF 的問題與部份 ISP 中斷的處理, 因此為確認此論文所提供的系統架構能夠正確完 成問題的解決,未來將在系統完成時,將以實際的 環境進行測試,並實地完成系統開發並與網路使用 者的使用狀況建立評估指標,以檢討改進本系統。 圖 14 運作功能圖 Ok Ok Ok Ok Ok Ok Ok Ok Ok Ok 1 203.68.137.254 2 172.31.255.253 3 203.68.12.158 4 211.22.38.214 5 220.128.2.62 6 220.128.2.117 7 211.22.35.81 8 211.22.41.113 9 202.43.196.244 10 202.43.195.13 狀態 位置 Ok Ok Ok Ok Ok Ok Ok Ok Ok Ok 1 203.68.137.254 2 172.31.255.253 3 203.68.12.158 4 211.22.38.214 5 220.128.2.62 6 220.128.2.117 7 211.22.35.81 8 211.22.41.113 9 202.43.196.244 10 202.43.195.13 狀態 位置 NCU NUU Hinet EDU Seed 網家 節點 Ok Ok Ok Ok Ok Ok 1 www.ncu.edu.tw 2 www.nuu.edu.tw 3 www.hinet.net 4 www.edu.tw 5 www.seed.net.tw 6 ww.pchome.com.tw . . . . 狀態 位置 NCU NUU Hinet EDU Seed 網家 節點 Ok Ok Ok Ok Ok Ok 1 www.ncu.edu.tw 2 www.nuu.edu.tw 3 www.hinet.net 4 www.edu.tw 5 www.seed.net.tw 6 ww.pchome.com.tw . . . . 狀態 位置 路由檢測表 DNS查詢表
參考文獻
[1] TWAREN, http://noc.twaren.net/ [2] TWNIC,http://map.twnic.net.tw/[3] Po-Chou Su and Jenn-Lien Chu, “IPv6
Multi-homing and Home Network Technology” CCL TECHNICAL JOURNAL, December 2005. 圖 15 檢測機制
[4] AscenLink,http://www.ascenvision.com.tw/ [5] Hostmonitor, http://www.ks-soft.net/
[6] Li-Der Chou and Chia-June Hong, “Multiple Mobile Agents Based Network Fault Diagnoses Systems in Multihomed Networks” Journal of Internet Technology, Vol. 6, NO. 2, pp.143-148 , April 2005.