Upload
keisuke-ishibashi
View
558
Download
0
Tags:
Embed Size (px)
Citation preview
2012/01/18
トポロジーデータベースを利用したネットワークの自動設定変更
2012年1月18日 IA研和歌山京都大学情報学研究科 寺本 泰大
京都大学学術情報メディアセンター 岡部 寿男株式会社 IIJ イノベーションインスティテュート 新 麗
1
大規模ネットワークの抱える課題
✤ ネットワークの巨大化・複雑化により手動での管理が困難に
⇒ソフトウェアによる制御
✤ 様々な機器やアーキテクチャによって構成されソフトウェアによる制御が困難
✤ さらに従来のアーキテクチャではコンフィグが各機器に分散し構成の把握が困難
仮想スイッチ
VM VM
仮想スイッチ
VM VM
仮想スイッチ
VM VM
仮想スイッチ
VM VM
インターネット
インターネット
サーバー
エッジスイッチ
コアスイッチ
ルーター
Open vSwitch(OpenFlow)
C社製スイッチ(C社規格のNETCONF)
B社製スイッチ(独自のインターフェイス)
A社製ルーター(A社規格のNETCONF)
XenServer
2
従来のアーキテクチャによらないネットワーク制御の試み✤ ネットワーク管理を柔軟かつ容易に行うため様々なアーキテクチャが考案されてきた
ラベル パケット
MPLS Switch
Controller
OpenFlow Switch
ラベルによるトラフィック制御 コントローラーによるフロー制御
ネットワークの集中制御
OpenFlow
機器ごとのコンフィグ
機器ごとのコンフィグ
コントローラープログラム
従来のネットワーク MPLS-TE SoftwareDefinedNetwork(SDN)
負荷分散
3
ネットワークサービスとアーキテクチャのギャップ
4
ラベル パケット
MPLS Switch
Controller
OpenFlow Switch
実現したいサービスVLAN、アクセス制御、etc・・
ラベルによるトラフィック制御 コントローラーによるフロー制御
ネットワークの集中制御
OpenFlow
機器ごとのコンフィグ
機器ごとのコンフィグ
コントローラープログラムネットワーク管理者
従来のネットワーク MPLS-TE SoftwareDefinedNetwork(SDN)
負荷分散
✤ しかし依然としてネットワーク管理者の実現したいサービスとの間には溝が存在
構成の把握コンフィグの設定
MPLSの設定コンフィグの設定
OpenFlowへの対応プログラム
ネットワークサービスとアーキテクチャのギャップ
5
ラベル パケット
MPLS Switch
Controller
OpenFlow Switch
実現したいサービスVLAN、アクセス制御、etc・・
ラベルによるトラフィック制御 コントローラーによるフロー制御
ネットワークの集中制御
OpenFlow
機器ごとのコンフィグ
機器ごとのコンフィグ
コントローラープログラムネットワーク管理者
従来のネットワーク MPLS-TE SoftwareDefinedNetwork(SDN)
負荷分散
✤ しかし依然としてネットワーク管理者の実現したいサービスとの間には溝が存在
構成の把握コンフィグの設定
MPLSの設定コンフィグの設定
OpenFlowへの対応プログラム手段は異なるが
目的はあまり変化しない
Service Defined Network(SvDN)の提案
✤ ネットワークをネットワーク構成に依存しない「サービス」によって定義
ラベル パケット
MPLS Switch
Controller
OpenFlow Switch
サービス記述
ラベルによるトラフィック制御 コントローラーによるフロー制御
ネットワークの集中制御
従来のネットワーク MPLS-TE OpenFlow
機器ごとのコンフィグ
機器ごとのコンフィグ
コントローラープログラム
ネットワークの抽象化(Service API)ネットワーク管理者
記述
6
本研究の内容
✤ ネットワークシステムをサービス記述により管理するService Defined Network(SvDN)の提案
✤ VLANを用いて構成される基本的な構成のネットワークについてSvDNシステムのプロトタイプ
✤ ネットワーク機器のコンフィグの抽象化
✤ トポロジーDBを利用したネットワークトポロジーの抽象化
✤ サービス記述はJavaのプログラムとして実装
ネットワークトポロジーの抽象化
SvDN Service API
サービス記述(Java)
従来のネットワーク7
Service Defined Networkによるネットワーク管理のパラダイムシフト✤ ネットワークシステム環境によらないネットワークシステム管理手法の実現
✤ サービス記述言語によってネットワークシステムの振る舞いを定義
✤ 従来は個々のハードウェアのコンフィグやソフトウェアプログラム
✤ 1つのサービス記述から、環境に合わせてネットワークシステムの設定内容(コンフィグ)を導出
✤ 従来は人が環境に応じてコンフィグを考える必要があった
8
インターネット
実現したいサービスからコンフィグを人手で構成
インターネット
サービスを記述実現したいサービスから自動的にコンフィグを生成
従来のネットワーク
⇒
提案手法
VLAN X VLAN XVLANを通したい
VLAN X
VLAN X
VLAN X
VLAN X
VLAN X
VLAN X
SvDNの実現のための障壁✤ サービス記述から機器のコンフィグに反映させたいが・・
✤ ネットワーク機器への設定方法が機器によって大きく異なる
⇒ネットワーク機器への設定手段の抽象化
✤ 複数の機器にまたがる設定を行うためにはネットワークトポロジーを把握している必要がある
⇒トポロジーデータベースの作成
インターネット
サービス記述
コンフィグ
???
ネットワークを構成する機器の種類やトポロジーが分からない
9
ネットワーク機器設定の抽象化
10
ネットワーク機器への設定✤ ネットワークは様々な機器によって構成される
✤ 機器ごとに設定手段や、機能が大きく異なる・・✤ 従来のネットワークはソフトウェアからの設定には不向きな構造
VLANアクセスフィルタリング
SNMP …
A社製スイッチ
VLAN …
B社製スイッチ
telnet・NETCONF・SNMP SSH・telnet
機器ごとに対応するのは大変
11
ネットワーク機器への設定✤ ネットワークは様々な機器によって構成される
✤ 機器ごとに設定手段や、機能が大きく異なる・・✤ 従来のネットワークはソフトウェアからの設定には不向きな構造
VLANアクセスフィルタリング
SNMP …
A社製スイッチ
VLAN …
B社製スイッチ
telnet・NETCONF・SNMP SSH・telnet
機器ごとに対応するのは大変
設定方法の抽象化が必要
12
ネットワーク機器設定の抽象化
VLANアクセスフィルタリング
SNMP …
A社製スイッチ
VLAN …
B社製L3スイッチ
telnet・NETCONF・SNMP SSH・telnet
VLANアクセスフィルタリング SNMP …
C, Java, CLI, etc…
✤ ネットワーク機器の機能のモデル化及びAPIの策定
設定手段の統一化
機器を意識しないで設定が行える
機能のモデル化APIの策定
13
ネットワーク機器設定の抽象化
VLANアクセスフィルタリング
SNMP …
A社製スイッチ
VLAN …
B社製L3スイッチ
telnet・NETCONF・SNMP SSH・telnet
VLANアクセスフィルタリング SNMP …
C, Java, CLI, etc…機能のモデル化APIの策定
設定手段の統一化
機器を意識しないで設定が行える
機器の設定手段や機能の違いを吸収
✤ ネットワーク機器の機能のモデル化及びAPIの策定
14
ネットワーク機器設定APIの設計
✤ 機器の持つ機能をモデル化し、インターフェイス(API)を定義
✤ ドライバーでインターフェイスを実装する事により、設定方法や文法の違いを吸収
✤ URIによる機器の識別
✤ 今回はVLAN、アクセスフィルタをモデル定義
API
cisco+netconf://130.54.10.X/
130.54.10.X
cisco+netconfdriver
VLAN
juniper+sshdriver
VLAN
VLAN Filtering …
NETCONF
Driver
Filtering…
15
VLANモジュール・VLAN一覧を取得・タグ/アンタグVLANの設定・削除・etc・・
トポロジーデータベースの作成
16
ネットワークトポロジーの管理
✤ サービス記述からネットワーク構成に応じたコンフィグを生成するためには、ネットワークトポロジーの厳密な状態の管理が必要
✤ LLDPなどの隣接機器の情報を取得するプロトコルが存在するが…
✤ 完全なトポロジー情報を取得するためには、全ての機器がプロトコルに対応している必要がある
✤ ある状態を取得しても、その構成が正しいものなのかどうか判別出来ない(設定ミスなど)
→トポロジーデータベースによるトポロジー情報の管理17
トポロジーデータベースの設計
✤ ネットワーク機器の設定や接続情報をデータベーステーブルに保存
✤ 静的なネットワークの状態管理
Router A
Router B Router C
A1
B1
A2
C1
VLAN ID : 01
VLAN ID : 02
[A1,A2][(A1,B1),(A2,C1)][01,02]
Equipment(A)
(A1,B1)A1AB1B
PortConnection(A2,C1)A2AC1C
A1PortA2
0101[A1][ ]
VLAN0202[A2][ ]
0201(A1,B1) (A1,B1)
18
ネットワークの構成のRDBによる管理
✤ 以下のようなトポロジーデータベースを設計
ネットワークIDネットワーク情報
ネットワーク
機器情報ドライバー名
機器VLAN IDVLAN情報
VLANVLAN割り当てIPアドレス
VLAN設定情報
ポート番号ポート名
ポート情報
接続元ポート接続先ポート
ポート接続
ポートVLAN IDVLAN種別
ポートVLAN
VLANアドレス/マスク
スタティックルーティング
トポロジーDBのER図(簡略版) 19
SvDNによるシステム設計
20
SvDNによるシステム設計
✤ SvDNによるシステム設計手順
1.サービスの構想 … どのような事を実現したいのか構想
2.ポリシーの定義 … 振る舞いを具体的に定義(ドキュメント)
3.サービスを記述 … 定義した挙動をサービス記述として記述を行う
21
某K大学のサービス構成案
✤ IRCサーバーに対して定期的に数GbpsにもなるDoS攻撃が発生
✤ 根幹の回線は10GEだが、サーバーに繋がる通信線は1GE
✤ 1GEの帯域が埋まりIRCサーバーだけでなく、他の端末までも通信不能に
インターネット
10G
1G
Dos攻撃
IRCサーバー
帯域が埋まって通信不能に
22
サービスの構想✤ 高帯域のSYNフラッド攻撃を防ぐためのサービスの構想とポリシーの定義を行う
✤ ネットワークポリシー
1. バックボーン付近では、他の帯域が混ざり検出が困難なため、検出はIRCサーバーで行う
2. IRCサーバーが攻撃を検出するとネットワークを管理するサーバーに対して帯域制限を要求
3. フィルタリングは10G回線に繋がる根幹のルーター(スイッチ)に対して行う
4. そうすれば、IRCサーバーへ確立した通信や他のネットワーク端末の通信を行う事が出来る
5. 攻撃の無い時は帯域制限をかけない
インターネット
10G
1G
IRCサーバー
IRCサーバー宛のSYNを帯域制限
帯域制限を要求
SvDNサーバー
DoS攻撃
攻撃を検出
23
サービスの記述✤ (将来的に)サービス記述言語による振る舞いの記述
✤ IRCサーバーがSYNフラッド攻撃を検出
✤ トポロジーDBを利用し、IRCサーバーに最も近い10G回線に繋がるQoSの設定の出来るルーター(スイッチ)を探索
✤ ルーターに対してIRCサーバー宛のSYNを帯域制限(QoS)
✤ SYNの帯域が閾値を下回る
✤ QoSを解除
インターネット
10G
1G
IRCサーバー
IRCサーバー宛のSYNを帯域制限
帯域制限を要求
SvDNサーバー
DoS攻撃
攻撃を検出
トポロジーDB
サービス記述
24
まとめと課題✤ まとめ
✤ トポロジーDBを利用したネットワーク管理
✤ Service Defined Network(SvDN)の提案
✤ サービス記述言語によるネットワーク管理
✤ SvDNシステムのプロトタイプ実装
✤ 課題
✤ モデル化を進めより多くの機器や機能に対応
✤ 設計例のちゃんとした実装と実環境における実験
✤ サービス記述言語の定義 25