3.2 系統設計
3.2.3 Database / Data warehouse 設計
3.2.3.1 netflow 資料庫之資料表格關連圖
圖 7 netflow 資料庫之資料表關連圖
netflow 是會經常變動的資料表,一旦路由器收集到了一定程度的流量資料後,不管 是用自動或是人工的方式,這些流量資料將被塞入 netflow 資料表中,所以它是會不斷地 增加的資料表。另外還有用來記錄所有路由器介面的 Interface 資枓表,負責記錄 IP 基 本資料的 IP 資料表,記錄常用到的 Port Service 的 Port 資料表,以及用來記錄封包所 使用的網路協定之 Protocol 資料表。下一章節將會對以上這些資料表的詳細內容與用途 做說明。
3.2.3.2 table schema
NetFlow 資料庫內有五個重要的資料表格,分別為 netflow、IP、Port、Interface 以 及 Protocol。
表 3 netflow table schema
(c)tablename : Port
資料表格主要功能:主要儲存常用的 Network Port service 之基本資料,包含了 6 個 欄位。
表 5 Port table schema
(d)tablename : Interface
資料表格主要功能:主要儲存公司現有路由器中所設定之所有 Interface 之基本資 料,包含了 3 個欄位。
表 6 Interface table schema
欄位名稱 資料型態 資料長度 是否允許 Null 值 欄位說明 If_item Numeric 9 流水號
If_name Nvarchar 30 路由器之 Interface 名稱 Description Nvarchar 100 ˇ 備註用
(e)tablename : Protocol
表 7 Protocol table schema
欄位名稱 資料型態 資料長度 是否允許 Null 值 欄位說明
Item Numeric 9 識別碼
ProtocolNO Int 4 網路協定所使用的協定編
號
(例如:6;代表的就是 tcp 的協定編號)
Name Varchar 150 網路協定的名稱
(例如:tcp) Description Varchar 200 ˇ 備註用
3.2.3.3 dw_netflow 資料倉儲與各維度量值之設計
圖 8 dw_netflow 資料倉儲各維度架構圖
在 dw_netflow 資料倉儲裡有一個名為 dw_netflow 的事實資料表,用來儲存 netflow 資料表內經過整理過後的資料,insert_exdw_netflow store procedure 就是設計專門用 來將 netflow 內的資料轉化為 dw_netflow 格式的程式;另外還有 6 個維度資料表,分別 為 Interface、Protocol、Port、IP、時間以及 Region,(如圖 8 所示)。
Interface 的 If_item 欄位是用來和 dw_netflow 資料表內的 SrcIfID 欄位做關連的。
Protocol 的 item 欄位是用來和 dw_netflow 資料表內的 ProtocolID 欄位做關連。
Port 的 Port_item 欄位是用來和 dw_netflow 資料表內的 DesPID 欄位做關連。
IP 的 item 欄位是用來和 dw_netflow 資料表內的 DestIPID 欄位做關連。
Region 的 areaID 欄位是用來和 dw_netflow 資料表內的 directionID 欄位做關連。
時間維度則是使用 dw_netflow 資料表內的 StartTime 做為依據。
3.2.3.3.3 事實資料表設計 (a)事實資料表名稱:dw_netflow
資料來源:ex_netflow
索引欄位:SrcIfID,來自 Interface 資料表 SrcIPID,來自 IP 資料表
Pcount,來自 ex_netflow 資料表 DirectionID,來自 area 資料表 SQL 敘述:使用 Store Procedure 產生
Store Procedure Name : insert_exdw_netflow
Insert_exdw_netflow Store Procedure 程式碼:(請參考附錄一)
下面的表格,列出了 dw_netflow 事實資料表的資料綱要以及主索引鍵欄位。
表 8 dw_netflow table schema
欄位名稱 資料型態 資料長度 是否允許 null 值 欄位說明 .目的地 Interface 的代號 DestIPid Numeric 9 .來自 IP 資料表
(a) 維度資料表名稱: Port
(b)維度資料表名稱: Interface
請參考下面的表格,列出 Interface 維度資料表的綱要以及主索引鍵欄位。
表 11 IP 維度資料表資料欄位
(d)維度資料表名稱: Protocol
請參考下面的表格,列出 Protocol 維度資料表的綱要以及主索引鍵欄位。
表 13 Region 維度資料表資料欄位
欄位名稱 資料型態 資料長度 是否允許 null 值 欄位說明
AreaID Int 4 .主索引鍵
0:流出的資料/公司外部 1:流入的資料/公司內部
Area Char 30 OUT:流出的資料
IN:流入的資料 Description Char 50 ˇ 備註用
3.2.3.3.5 資料移轉部份
設計每日由系統自動將 source database 轉至 data warehouse。
dw_netflow 資料表: 將 Store procedure 設定每 10 分鐘自動由 netflow table 將近 10 分鐘的 raw data 轉入 dw_netflow table。
其它的資料表: 包括了 Port、Interface、IP、Region、Protocol 等五個資料表,由於 資料的變動性較小,管理者可以自行透過資料庫軟體做新增或修改的動 作,或是撰寫新增修改的網頁介面,方便更新與管理。