在日常生活中,網際網路是不可或缺的,每個人都會使用,嚴然已經成為生活 的必需品。
以正面意義來說,會使用網際網路來繳費、收發電子信件、上網購物或者是拍 賣物品…等。在政府機關與一般的企業,與民眾的互動也都是在網際網路上,像是 縣政府公告颱風來襲停班停課資訊、某公司舉辦回饋消費者的活動…等。
網際網路已經在不知不覺中,深入了我們的生活之中,根據台灣網路資訊中心 從民國92 年七月到民國 99 年一月的統計資料顯示出[1],在個人上網方面從 57.23%
成長到72.56%,如圖 1.1。
圖 1. 1 個人曾經上網比例趨勢圖[1]
在個人整體接觸網路的時間,使用時間越長的人也有明顯的增加趨勢,如圖1.2。
圖 1. 2 個人整體接觸網路時間趨勢圖[1]
在家庭可上網方面,也從54.4%成長為 76.79%,如圖 1.3。
圖 1. 3 家庭可上網比例趨勢圖[1]
以上的數據,再再顯示出網路使用率的提高,連帶的會使得使用者希望使用的 品質也提高。
在網路資訊安全方面,常見的網路攻擊有入侵偵測(Intrusion Detection)、駭客攻 擊(Hacker Attack)、系統滲透(System Penetration)、阻斷服務攻擊(Denial of Service, DOS)…等。根據美國電腦安全組織(Computer Security Institute, CSI)從 1990 年到 2003 年所做的調查顯示出[2],阻斷服務攻擊的事件發生率從 31%成長為 42%;系 統入侵的由30%提升至 36%,病毒的攻擊在這五年期間一直保持在 82%以上。
圖 1. 4 在每年 12 個月中,攻擊類型或濫用偵測的統計結果[2]
當 使 用 者 使 用 網 際 網 路(Internet) 來 搜 尋 資 料 或 查 詢 訊 息 時 , 會 先 在 URL(Universal Resource Locator)輸入指定的網址,也就是網域名稱(Domain Name),
但是在網路的世界中與電腦連結是使用網際網路通訊協定位址(Internet Protocol Address, IP Address)來做辨識的,因此會透過一台有網域名稱與 IP Address 對應資料 的主機,又稱網域名稱伺服器(Domain Name System, DNS)來查詢指定網址對應的 IP Address。
網路資料的傳遞中,資料是以封包(Packet)結構為單位來進行交換的,封包內會 記錄著封包發送給對方所需要的訊息和傳送給接收端的訊息資料內容。在網路上資 料的傳遞就像是寄一封信,地址就像是 IP Address,信就像是封包,試想如果一封 信上沒有地址就像是封包沒有IP Address 那麼怎麼知道該封包是誰發送的又是誰要 接收的,因此IP Address 在整個資料的傳遞上是不可或缺的[3]。
IP Lookup 是用來幫助找出當前的 IP Address 或者是其它任一個 IP Address 的資
訊。在路由器封包轉送機制上,根據目的地位址(Destination Address)對路由表 (Routing Table)作比對,決定該封包的下一個路由器(Next-hop),這比對的工作稱之 為IP Lookup。
常見的IP Lookup 方法是將字首(Prefix)按照 Patricia Tree(簡稱 PAT Tree)的方式 建構出轉送表(Forwarding Table),再將相對應字首和輸出埠號(Port)的資訊存放在二 元樹(Binary Tree)的節點(Node)中,利用這個結構來搜尋最長字首匹配(Longest Matching Prefix)。
最長字首匹配(Longest Matching Prefix),指的是在路由器上執行目的地位址與 路由表的比對,必須選出字首最長且符合目的地位址最佳的值;路由表指的是路由 在運作時所建立或更新的表單;轉送表,指的是原本路由表的資訊再加上一些額外 的附加訊息,可以幫助IP Lookup 搜尋時所用的表單。
在CIDR(Classless Inter-Domain Routing)的技術被提出後,IPv4 在網路上的路由 表,每筆輸入的值都包含了字首、字首長度(Prefix Length)和 Next-hop 等三個欄位,
字首代表的是目的地位址,字首長度表示的是目的地位址的長度(0~31),當字首長 度為0 時,則表示其對應的 Next-hop 是預設路由(Default Route) [4]。
舉 例 來 說 , 某 個 路 由 表 內 有 [203.64/16, A] 、 [203.64.128/24, B] 和 [203.64.128.120/32, C]等三筆輸入值。假設第一筆進入的封包其目的地位址為 203.64.120.8,那麼對照上面三筆數值之後的結果會得到最符合的只有[203.64/16, A] , 因 此 Next-hop 為 A 。 接 著 , 如 果 第 二 筆 進 入 的 封 包 的 目 的 地 位 址 為 203.64.128.120,那麼這三筆數值都會符合,但因為第三筆的字首長度最長,表示其 優先權最高,因此Next-hop 為 C。
圖 1. 5 最長字首匹配(Longest Matching Prefix)範例
不論是在找尋攻擊者或者是攻擊來源,都是需要搜尋 IP Address,因此,IP Lookup 是重要的。在常見的 IP Lookup 作 IP Address 比對時,使用的是從頭到尾的 比對方式,在本文中提出一種非循序式(non-sequential)的比對概念,主要是在原本 的樹狀結構上增加一些資訊,再搭配管線來應用,其目的是為了減少執行時的時間 成本花費與保持記憶體的平衡,進而提高IP Lookup 搜尋的速度。
本論文結構如下,第二章介紹之前的樹狀結構與近年來管線的相關研究。在第 三章中,介紹本文非循序式的比對概念與管線的應用。第四章,檢視本論文方法之 效能評估。第五章是為結論與未來展望。