• 沒有找到結果。

支援IPv4/IPv6之校務行政系統應用程式閘道器設計

N/A
N/A
Protected

Academic year: 2021

Share "支援IPv4/IPv6之校務行政系統應用程式閘道器設計"

Copied!
5
0
0

加載中.... (立即查看全文)

全文

(1)

支援 IPv4/IPv6 之校務行政系統應用程式閘道器設計

張繼元 李忠昇 陳偉銘 紀新洲

國立東華大學 電子計算機中心

{andrew, majorlee, wmchen, hcchi}@mail.ndhu.edu.tw

摘要

隨著科技的突飛猛進,電腦化作業已成為極其 普遍的作業要求,資料庫與網際網路的結合應用更 是與日常生活息息相關 [1, 6]。在校園內的校務行政 電腦化上,有效開發網際網路資料庫應用系統(如 網路選課、學籍系統等),可使學校內的教職員生 透過各項方便的設計節省時間,同時也可避免 人為 疏忽所發生的錯誤。由於網際網路使用人口的迅速 成長,突顯出網路頻寬不足、網路 IPv4 位址不夠用 等問題,NAT 在解決網路位址嚴重不足的議題上尚 未獲得完全的解決方案,使得下一代網際網路通訊 協定( IPv6)成為世界各國積極研發的對象。本文 章中將提出一套適用於 IPv4/IPv6 網路環境下之校 務 行 政 系 統 應 用 程 式 閘 道 器 ( APS-ALG , APplication Server - Application Level Gateway),使 得在 IPv4 及 IPv6 網路環境下皆能方便使用校園網 路的各項服務系統。

關鍵詞:Client/Server,資料庫技術, Three-Tiers 架 構,IPv6,APS-ALG。

Abstract

Database applications are the most popular services in the Internet. Current database systems only support IPv4 environment. For the IPv6 users, additional transition technology and devices are necessary to access the IPv4 database resources. For the systems under the campus, the APS-ALG mechanism is proposed to provide the IPv6 users to access IPv4 database services without additional hardware cost.

Keywords : Client/Server, Three-Tiers architecture, IPv6, APS-ALG.

1. 前言

電腦化作業是現代社會中各行各業普遍採用 的作業方式,其中尤其以資料庫與網際網路的結合 應用最為廣泛,其成長也最為快速。在校園內的校 務 行 政 電 腦 化 推 展 上 , 大 多 會 採 用 主 從 架 構 (Client/Server)或多層式架構( Multi-Tier),以單 獨的應用程式或網頁之型式來提供服務。有效開發 網際網路資料庫應用系統(如網路選課、課務系 統、學籍系統、圖書館系統等),可使學校內的教 職員生透過網路便利的連線,操作各項功能以節省 人工作業及等待之時間,同時也可避免人為疏忽所 發生的錯誤。 隨著網際網路的日益普及,造成使用人口迅速 成長,卻也突顯出網路頻寬不足、網路位址不夠用 等問題。近年來無線通訊產品的生活化與網路家電 產品的興起等,再再都揭櫫著未來 All IP 環境的可 能性。如此多的設備與應用需要透過網際網路,其 需求遠超過原本 IPv4 通訊協定制定時所能容許的 最大數量,網路位址的嚴重不足與殷切需求,使得 下一代網際網路通訊協定( IPv6)[8, 13, 14]成為世 界各國積極研發的對象,而 IPv6 也是解決網路位址 不足及行動通訊問題的閃亮之星。 雖然 IPv6 有著許多的優點,然而在現實面上, 由於目前全球網際網路的環境,無論是硬體設備或 軟體應用程式,仍然是以 IPv4 佔最大多數,而 IPv6 的推展不可能一蹴可幾,可以預期的是 IPv4/IPv6 將會有很長的一段共存之過渡時間。目前 IPv6 網路 之佈建技術已相當成熟,國內許多網路中心、研究 機構、學術單位、網路服務業者大多已鋪設有 IPv6 網路環境或具備有 IPv6 網路連線能力,但是現階段 的資料庫系統都只支援 IPv4,很多資料庫應用服務 都無法順利提供給 IPv6 網路使用者。本校的校務行 政電腦化系統已推展多年,這些應用服務大多是架 構在 IPv4 網路下的三層式( Three-Tiers)服務架構 [7],如何讓 IPv6 網路上的使用者能使用到 IPv4 網 路資料庫上的服務,同時又不需對現有環境做額外 的 設 備 投 資 是 本 研 究 之 重 點 , 藉 由 設 計 支 援 IPv4/IPv6 網 路 之 校 務 行 政 系 統 應 用 程 式 閘 道 器 (APS-ALG),將可以有效達成我們的訴求目標。 本文後續章節內容如下:第二節介紹本校之校 務行政系統架構,第三節描述 IPv4 與 IPv6 網路互 通之機制與方法,第四節說明所提之 APS-ALG 架 構,最後則是結論。

2. 國立東華大學校務行政系統架構

本 校 校 務 行 政 系 統 採 取 所 謂 的 三 層 式 (Three-Tiers)架構 [7],如圖 1 所示,在資料庫端 與使用者端中間架設了三台應用程式伺服器及一 台負載平衡伺服器( Load Balance Broker)。此三台 應用程式伺服器及負載平衡伺服器的作業系統平 台採用 Windows XP 或 Windows 2000,系統內安裝 有 我 們 自 行 設 計 的 應 用 程 式 介 面 服 務 程 式 (Application Interface Service),作為使用者端與應用

(2)

程式伺服器的連線(TCP/IP Session)以及應用程式伺 服器與資料庫端連線(Database Session)的一個管理 者角色,後端可啟用多台資料庫伺服器,其作業系 統平台是 Windows 2000,資料庫管理系統程式則是 採用 MS SQL 7.0,應用程式伺服器及資料庫伺服 器的部分可視實際需要再做調配彈性增加。 整個系統架構具下列的特點: (1) 三層式架構 為 了 有 效 的 解 決 傳 統 二 層 式 ( Two-Tiers ) Client/Server 架構下,單一較大型資料庫伺服器之 價格昂貴、擴充不易問題及多台較小型資料庫伺服 器之資料一致性困難、系統複雜度高等問題,我們 在資料庫伺服器與使用者端之間架設了一層稱之 為應用程式伺服器(Application Server) 的機器,其 功能類似代理伺服器( Proxy Server),利用這層應 用程式伺服器負責協調使用者端與各資料庫之間 的連線存取動作。 有了應用程式伺服器,使用者端要到資料庫伺 服器內存取一筆資料時,必須先連線到應用程式伺 服器,然後再由應用程式伺服器實際向資料庫伺服 器存取資料,由於多了應用程式伺服器的緩衝,資 料庫伺服器的負載情形便可和緩許多,而為了進一 步降低資料庫伺服器的負載,也必須讓部份執行作 業由使用者端及應用程式伺服器端分擔,才能有效 提昇整體效能。 資料庫 伺服器 應用程式伺服器 資料庫 伺服器 使用者端 使用者端 應用程式伺服器 應用程式伺服器 資料庫 伺服器 ˙ ˙ ˙ 圖 1 IPv4 環 境 下 三 層 式 校 務 行 政 系 統 架 構 圖 (2) 系統擴充容易且成本合理 隨著學校的成長,教職員生人數的增加,對於 系統能力與容量的需求將愈來愈大,系統擴充將是 無法避免的問題,如何降低擴充的成本、系統複雜 度與困難度將是重要的課題。我們所設計的三層式 架構,隨著學校教職員生的增加,系統並不需要大 幅度的更動,只要再添購一至二台 PC 電腦作為應 用程式伺服器,就可以輕易的提升連線容量,因應 多人同時上線的需求。 (3) 有效的負載平衡 在 Three-Tiers 架構下,因為應用程式伺服器 直接面對使用者端,為了避免系統中某台應用程式 伺服器,因為承受過大流量導致當機或資料毀損, 除了採購更高等級的伺服器外,採用多台應用程式 伺服器來分擔網路連線的壓力是不錯的選擇。 為了能讓使用者端來的連線能平均分配到每 一台應用程式伺服器上,我們採用一台專門機器 (Load Balance Broker)負責紀錄每一台應用程式 伺服器之負載情形,並針對目前的負載情形提供連 線時的詢問功能,當使用者端要進行連線時,會先 詢問 Broker 後,再決定連上哪一台應用程式伺服 器。另外,當連線過於擁塞或 Broker 發生故障,無 法在一定時間內回應時,則進一步採用隨機亂數選 取應用程式伺服器的方式,由使用者端先產生一隨 機亂數以決定連上哪一台應用程式伺服器,待連上 選定的應用程式伺服器之後,先向該伺服器詢問目 前負載情形,如果負載情形尚可就能進行後續系統 作業,如果負載情形嚴重,則使用者端將重新產生 亂數以決定連接到其他應用程式伺服器。隨機亂數 選取的方式雖無法精確的掌控每台應用程式伺服 器的負載情形,但仍可保持一定而有效的負載平 衡,且不會因任何一台機器發生故障而影響整體系 統的運行。 (4) 統一且便利的 Web 使用者操作模式 由於電腦的普及與網際網路的流行,上網已非 難事,為了增加系統的實用性及整體運用的靈活 度,可以在任何地方上網操作這項特性是必須的, 而 Web 使用者環境則是現在最廣為流傳使用之方 式。 在開發使用者操作介面時,為了能將網路資料 庫程式架構在 Web 瀏覽的模式上,以及使用者介 面統一與版本控制容易等因素,我們考量了 CGI 程 式 、 Java 語 言 、 Active Server Page (ASP) 或 DCOM/ActiveX 為基礎的 Multi-Tier 架構後,決定 以 ActiveX 的架構自行開發專門的網路應用資料庫 物件,以滿足我們的各項要求[9]。整個網路應用資 料庫物件分為應用程式伺服器端的 Server物件與使 用者端的 Client 物件之設計,而使用者端應用程式 主體的開發則採用 ActiveX Form 物件之型式。 採用 ActiveX 架構 擁有下列幾項特點: a. ActiveX 物件的程式設計環境佳,有很多程 式語言都可以輕易的製作,而且有許多可供 利用的物件,能夠大大提高系統開發的速 度。 b. ActiveX 為 機 械 碼 型 態 程 式 , 具 執 行 速 度 快、程式體積小等特性,在整個系統的架構 下能分擔較多的工作,提高整體系統效能。 c. ActiveX 物件可以很輕易的追蹤紀錄使用者 的使用資訊,諸如使用者何時登入、使用那 一台電腦進行操作等,連 MAC Address、

(3)

CPU ID 等資訊都能夠紀錄下來。 d. ActiveX 對 於 介 面 週 邊 設 備 具 有 良 好 的 支 援,所有校務行政系統中所需要的表格,皆 能夠在網路上直接列印,且印製出的表格精 緻好看,而不會像是使用 HTML 語法所產 生較粗糙的 Hard Copy 畫面。 e. 採用物件化設計網路應用資料庫元件,系統 程式的開發變得很容易撰寫及維護。 (5) 資料傳遞具有高度的安全性 傳統使用 CGI 方式所設計網頁應用程式,由於 許多操作過程中的參數資料會經由 URL 文字內容 傳遞,造成其安全性上的問題,容易被有心人士從 中觀察竊取資料。 我們在設計網路應用資料庫物件的同時已封 裝了所有網路介面並加入自行開發加密處理的部 份,當資料在網路上傳遞時,是經過加密處理過後 的資訊,即使有心人士使用專門的網路封包攔截工 具來竊取資料,其所得到的資料也不易被破解,因 此,整個系統的運作就具有高度的安全性。 目前使用 ActiveX 物件雖然仍面臨到無法跨越 其他作業系統平台的問題,但由於大多數的人普遍 仍是使用微軟的 Windows 系統平台,因此在校務行 政系統的運行上,對於 ActiveX 平台的支援程度, 將不會成為太大的問題。有關跨平台的問題之解決 方式,我們有思考到現階段只需要將使用者端的程 式改寫成 Java 語言程式則可迎刃而解。

3. IPv4 與 IPv6 網路的互通與轉換機制[2-5,

11]

由於 IPv6 網路存在已久,目前全球網際網路 的環境無論是硬體設備或軟體應用程式,仍然是以 IPv4 佔最大多數, IPv4/IPv6 將會有很長的一段共 存之過渡時間。現階段在推展 IPv6 方面,必須能讓 IPv4/IPv6 的應用能互通與轉換,才能有效且快速推 動 IPv6 的發展。 以下簡要說明 IPv4 與 IPv6 網路互通與轉換之 機制: (1) 雙重協定(Dual-Stack)架構 雙 重 協 定 是 指 在 軟 體 以 及 硬 體 上 同 時 支 援 IPv4 與 IPv6 二種通訊協定,則這一台機器不管與 IPv4 環境的電腦或 IPv6 環境的電腦都能夠正常通 訊。 (2) 隧道技術(Tunneling) 當通訊的二端都是 IPv6 網路環境而中間要透 過 IPv4 網路環境時,使用隧道技術是十分簡便之方 式。其原理為當 IPv6 封包要進入 IPv4 網路環境時, 將 IPv6 封包整個當作資料,而於其前頭另加上 IPv4 的標頭(Header),然後才透過 IPv4 網路環境傳送 到對方。當資料要離開 IPv4 網路環境進入 IPv6 網 路環境時,再將 IPv4 的標頭移除,還原回原本的 IPv6 封包,再傳送到目標端。 (3) 轉換技術(Translation) 此部分包括有下列各項技術: a. 網 路 位 址 與 協 定 轉 換 ( Network Address Translation - Protocol Translation,NAT-PT) [10] NAT-PT 是相當複雜的一種機制,NAT-PT 系統 中必須先設定好一份位址集區(Address Pool)以及 封包轉換所需要的 IPv6 子網路或 Prefix 資訊。當 IPv4 與 IPv6 網路間要通訊時,首先要從位址集區 中尋找一個可用的 IPv4 位址來代替 IPv6 目的位址 並建立 IPv4/IPv6 位址間的對應關係,而 NAT-PT 必須在 DNS-ALG[12]的協助下才能完成自動建立 網路位址對應關係的功能。位址對應關係建立好之 後,NAT-PT 要做的事就是通訊協定(IPv4/IPv6)的轉 換,並同時參照 IPv4/IPv6 位址對應關係將 IP 位址 改成與連線對應的 IP 位址,最後封包資料就會轉變 成為 IPv4 封包或 IPv6 封包,並順利地再對應的網 路環境中傳遞。 b. 嵌入通訊協定堆疊(BIS)與嵌入應用程式 (BIA)機制 嵌入通訊協定堆疊( BIS,Bump -In-the-Stack) 及嵌入應用程式( BIA,Bump-In-the-Application) 機制是由作業系統層級在網路層( Network Layer) 之下或傳輸層( Transport Layer)之上,架構一層分 析與轉換 IPv4/IPv6 封包資料之層級,主要處理的 動作有名稱解析、IPv4/IPv6位址對應轉換、標頭資 料修改及 API 函式功能轉換等,如此,則原有的一 些 IPv4 應用程式不需要做任何的修改便能在 IPv6 網路環境上運行。若不想更動作業系統的話,也可 以採用中介軟體(Middleware)開發的方式,提供 需要 IPv4/IPv6 轉換的終端機器使用。

c. 應用層閘道器( Application Level Gateway, ALG) ALG 是針對特定的應用程式,在該應用程式中 撰寫 IPv4 與 IPv6 連線資料間之溝通與轉換,例如: DNS-ALG、 FTP-ALG、SIP-ALG 等。由於是針對 特定應用,因此只會處理與該應用有關的封包資 訊,無法全面提供給所有的網路應用服務。另外因 為是在應用程式中做處理,所以針對 IPv4/IPv6 的 轉換方式及轉換動作的涵蓋範圍,則會隨各別的應 用程式設計而有所不同。

4. 應用程式閘道器(APS-ALG,

APplication Server - Application Level

Gateway)

現階段的資料庫系統都只支援 IPv4,很多已開 發 完 成 之 資 料 庫 應 用 服 務 無 法 直 接 順 利 提 供 給 IPv6 網路的使用者。本校的校務行政電腦化系統已 推展多年,這些應用服務大多是架構在 IPv4 網路下

(4)

的三層式(Three-Tiers)服務架構,由於是採用自 行開發之專門的網路應用資料庫物件,因此,在考 量 IPv6 網路使用者操作之議題上,我們專注於如何 讓 IPv6 網路上的使用者能使用到 IPv4 網路資料庫 上的服務,同時又不需對現有環境做額外的設備投 資。藉由設計支援 IPv4/IPv6 網路之校務行政系統 應用程式閘道器( APS-ALG),將可以有效達成我 們的訴求目標。 圖 2 顯示 IPv4/IPv6 環境下三層式校務行政系 統架構圖,應用程式伺服器端支援 IPv4/IPv6 雙重 環境,資料庫伺服器端則為單純的 IPv4 環境,而使 用者端不管使用 IPv4 環境或 IPv6 環境都能經由應 用程式伺服器來連線資料庫。 圖 2 IPv4/IPv6 環境下三層式校務行政系統架構圖 圖 3 顯示 ALG 系統在 IPv4與 IPv6 網路中運作 時,不同網路層級間封包流向之過程。ALG 系統所 扮 演 的 角 色 便 是 將 二 種 網 路 通 訊 協 定 ( IPv4 及 IPv6)透過應用層程式的處理,使得雙方連線得以 對應,資料得以順暢中繼與傳遞(relay)。 Application Level TCP IPv6

ALG Application Level

TCP IPv4 TCP IPv6 TCP IPv4 Translator (ALG)

Host (IPv6) Host (IPv4)

圖 3 IPv4/IPv6 環 境 下 ALG 系 統 資 料 流 本校自行開發的網路應用資料庫物件分為應 用程式伺服器端的 Server 物件與使用者端的 Client 物件二項,在設計上面要把 APS-ALG 的功能實作 在 Server 端物件,同時此 Server 物件要能處理 IPv4 及 IPv6 的封包資料,而使用者端的 Client 物件則要 修改為支援 IPv6 協定。運用新修改過的物件,再重 新編譯及小幅修改應用程式伺服器程式以及使用 者端的 ActiveX Form 應用程式便可。 採用 APS-ALG 的設計方式有下列優點: (1) IPv4 與 IPv6 環境的使用者都可以連線存取 到資料庫服務。 (2) 不需要添購額外的設備來做 IPv4/IPv6 的轉 換。 (3) 由於中間不需要經過其他設備轉換,不會增 加額外的延遲時間。 (4) 應用服務佈建容易,只需要能連線上網頁即 可。 (5) IPv4/IPv6 間轉換動作透明化,使用者不需要 了解所使用的網路環境是 IPv4 還是 IPv6, 也不需要做額外的設定。 (6) 單一 APS-ALG 可能會形成效能上的瓶頸, 但由於我們採多台應用程式伺服器的架構 來做負載平衡,因此較不會有效能瓶頸之問 題。 (7) ALG 的最大問題是只能針對特定的應用,不 能全面用於所有網路服務。但對於校務行政 系統而言,這些都是自行開發之應用程式, 是用途十分特定的應用,因此很適合採用 ALG 的設計方式。 圖 4 顯示 IPv6 環境下 的使用者界面連線應用 程式伺服器後,取得 IPv4 環境下資料庫內容之成果 畫面。 圖 4 使 用 APS-ALG 架 構 之 使 用 者 端 程 式 畫 面

5. 結論

雖然網路上的應用程式不可能每一個程式都 撰寫各自的 ALG 介面來支援於 IPv6 上之應用,但 針對本校的校務行政系統而言,由於是採用自行開 發的網路應用資料庫物件所設計出之程式,在如何 讓 IPv6 網路上的使用者能使用 IPv4 網路資料庫服 務之議題上,採用支援 IPv4/IPv6 網路之應用程式 閘道器(APS-ALG)的設計是非常合適且節省成本 的。我們只需要小幅度修改應用程式伺服器的服務 程式及使用者端應用程式,就可以有效達成我們所 訴求之目標,而且不需要對現有環境做額外的設備

(5)

投資(前題是 IPv6 的網路環境已有佈建)。 整體的系統架構,在 IPv4 網路方面的應用已 實際於東華大學上線運 行多年,而 APS-ALG 的設 計開發已有初步成果,使用 APS-ALG 的架構預期 將可把校務行政系統的應用順利擴展到 IPv6 的網 路使用者上。

參考文獻

[1] 施威銘研究室, "Microsoft SQL Server 2000 管 理實務",旗標,2001。 [2] 陳冠宏, "IPv6 與 IPv4 轉換技術分析",工研院 經資中心 -產 業 情 報 網 ,March 2003。 (Online available, http://ieknet.itri.org.tw/commentary/ example/4-1.jsp)。 [3] 陳懷恩,"邁向 IPv6 之路- 移轉機制 (I)",RUN!PC 雜誌, August 2003。 [4] 陳懷恩,蘇家永,"邁向 IPv6 之路- 移轉機制 (II)",RUN!PC 雜誌, September 2003。 [5] 陳懷恩,蘇家永,"邁向 IPv6 之路- 移轉機制 (III)",RUN!PC 雜誌, October 2003。 [6] 黃能富, "區域網路與高速網路",維科出版社, 1998。 [7] 趙涵捷,陳偉銘,高台茜,王金龍,"高效率低 成本易擴充的網路選課系統 ",Information and Education ( 資 訊 與 教 育 ), vol. 84, pp. 71-79, August 2001.

[8] A. Conta and S. Deering, "Internet Control Message Protocol (ICMPv6) for the Internet Protocol Version 6 (IPv6) Specification," RFC2463, December 1998.

[9] Daniel Appleman 著,陳鴻志譯, "Visual Basic 5 ActiveX 元件設計", 碁峰資訊,1997。 [10] G. Tsirtsis et al., "Network Address Translation -

Protocol Translation (NAT-PT)," RFC 2766, February 2000.

[11] M. Nakajima, N. Kobayashi, "IPv4/IPv6 Translation Technology," FUJITSU Sci. Tech. J., vol. 40, no. 1, pp. 159-169, June 2004.

[12] P. Srisuresh et al., "DNS extensions to Network Address Translators (DNS_ALG)," RFC 2694, September 1999.

[13] R. Hinden and S. Deering, "Internet Protocol Version 6 (IPv6) Addressing Architecture," RFC 3513, April 2003.

[14] R. Hinden and S. Deering, "Internet Protocol Version 6 (IPv6) Specification," RFC 2460, December 1998.

數據

圖  3 IPv4/IPv6 環 境 下 ALG 系 統 資 料 流   本校自行開發的網路應用資料庫物件分為應 用程式伺服器端的 Server 物件與使用者端的 Client 物件二項,在設計上面要把 APS-ALG 的功能實作 在 Server 端物件,同時此 Server 物件要能處理 IPv4 及 IPv6 的封包資料,而使用者端的 Client 物件則要 修改為支援 IPv6 協定。運用新修改過的物件,再重 新編譯及小幅修改應用程式伺服器程式以及使用 者端的 ActiveX Form 應用程式便可

參考文獻

相關文件

▸ 學校在收集學生的個人資料前,必須徵得學生的同意,並向所

聽、說、讀、寫,以 及分析、評價等能力 例:設計課業,讓學生 應用所學,並運用各

微算機原理與應用 第6

z請利用 struct 記錄 Bob 和 Alice 的相關資訊 z列印出 Bob 及 Alice 分別花多少錢. z再列印出

private void closeBTN_Click(object sender, System.EventArgs

zCount 屬性–取得項目個數 zAdd 方法–新增項目. zRemove 方法–移除指定項目

National Taiwan University July 9, 2005 Page 5..

private void answerLB Click(object sender private void answerLB_Click(object sender,. System.EventArgs