25
2012/01/18 トポロジーデータベースを利用した ネットワークの自動設定変更 2012118IA研和歌山 京都大学情報学研究科 寺本 泰大 京都大学学術情報メディアセンター 岡部 寿男 株式会社 IIJ イノベーションインスティテュート 新 1

Ia20120118 teramoto

Embed Size (px)

Citation preview

Page 1: Ia20120118 teramoto

2012/01/18

トポロジーデータベースを利用したネットワークの自動設定変更

2012年1月18日 IA研和歌山京都大学情報学研究科 寺本 泰大

京都大学学術情報メディアセンター 岡部 寿男株式会社 IIJ イノベーションインスティテュート 新 麗

1

Page 2: Ia20120118 teramoto

大規模ネットワークの抱える課題

✤ ネットワークの巨大化・複雑化により手動での管理が困難に

⇒ソフトウェアによる制御

✤ 様々な機器やアーキテクチャによって構成されソフトウェアによる制御が困難

✤ さらに従来のアーキテクチャではコンフィグが各機器に分散し構成の把握が困難

仮想スイッチ

VM VM

仮想スイッチ

VM VM

仮想スイッチ

VM VM

仮想スイッチ

VM VM

インターネット

インターネット

サーバー

エッジスイッチ

コアスイッチ

ルーター

Open vSwitch(OpenFlow)

C社製スイッチ(C社規格のNETCONF)

B社製スイッチ(独自のインターフェイス)

A社製ルーター(A社規格のNETCONF)

XenServer

2

Page 3: Ia20120118 teramoto

従来のアーキテクチャによらないネットワーク制御の試み✤ ネットワーク管理を柔軟かつ容易に行うため様々なアーキテクチャが考案されてきた

ラベル パケット

MPLS Switch

Controller

OpenFlow Switch

ラベルによるトラフィック制御 コントローラーによるフロー制御

ネットワークの集中制御

OpenFlow

機器ごとのコンフィグ

機器ごとのコンフィグ

コントローラープログラム

従来のネットワーク MPLS-TE SoftwareDefinedNetwork(SDN)

負荷分散

3

Page 4: Ia20120118 teramoto

ネットワークサービスとアーキテクチャのギャップ

4

ラベル パケット

MPLS Switch

Controller

OpenFlow Switch

実現したいサービスVLAN、アクセス制御、etc・・

ラベルによるトラフィック制御 コントローラーによるフロー制御

ネットワークの集中制御

OpenFlow

機器ごとのコンフィグ

機器ごとのコンフィグ

コントローラープログラムネットワーク管理者

従来のネットワーク MPLS-TE SoftwareDefinedNetwork(SDN)

負荷分散

✤ しかし依然としてネットワーク管理者の実現したいサービスとの間には溝が存在

構成の把握コンフィグの設定

MPLSの設定コンフィグの設定

OpenFlowへの対応プログラム

Page 5: Ia20120118 teramoto

ネットワークサービスとアーキテクチャのギャップ

5

ラベル パケット

MPLS Switch

Controller

OpenFlow Switch

実現したいサービスVLAN、アクセス制御、etc・・

ラベルによるトラフィック制御 コントローラーによるフロー制御

ネットワークの集中制御

OpenFlow

機器ごとのコンフィグ

機器ごとのコンフィグ

コントローラープログラムネットワーク管理者

従来のネットワーク MPLS-TE SoftwareDefinedNetwork(SDN)

負荷分散

✤ しかし依然としてネットワーク管理者の実現したいサービスとの間には溝が存在

構成の把握コンフィグの設定

MPLSの設定コンフィグの設定

OpenFlowへの対応プログラム手段は異なるが

目的はあまり変化しない

Page 6: Ia20120118 teramoto

Service Defined Network(SvDN)の提案

✤ ネットワークをネットワーク構成に依存しない「サービス」によって定義

ラベル パケット

MPLS Switch

Controller

OpenFlow Switch

サービス記述

ラベルによるトラフィック制御 コントローラーによるフロー制御

ネットワークの集中制御

従来のネットワーク MPLS-TE OpenFlow

機器ごとのコンフィグ

機器ごとのコンフィグ

コントローラープログラム

ネットワークの抽象化(Service API)ネットワーク管理者

記述

6

Page 7: Ia20120118 teramoto

本研究の内容

✤ ネットワークシステムをサービス記述により管理するService Defined Network(SvDN)の提案

✤ VLANを用いて構成される基本的な構成のネットワークについてSvDNシステムのプロトタイプ

✤ ネットワーク機器のコンフィグの抽象化

✤ トポロジーDBを利用したネットワークトポロジーの抽象化

✤ サービス記述はJavaのプログラムとして実装

ネットワークトポロジーの抽象化

SvDN Service API

サービス記述(Java)

従来のネットワーク7

Page 8: Ia20120118 teramoto

Service Defined Networkによるネットワーク管理のパラダイムシフト✤ ネットワークシステム環境によらないネットワークシステム管理手法の実現

✤ サービス記述言語によってネットワークシステムの振る舞いを定義

✤ 従来は個々のハードウェアのコンフィグやソフトウェアプログラム

✤ 1つのサービス記述から、環境に合わせてネットワークシステムの設定内容(コンフィグ)を導出

✤ 従来は人が環境に応じてコンフィグを考える必要があった

8

インターネット

実現したいサービスからコンフィグを人手で構成

インターネット

サービスを記述実現したいサービスから自動的にコンフィグを生成

従来のネットワーク

提案手法

VLAN X VLAN XVLANを通したい

VLAN X

VLAN X

VLAN X

VLAN X

VLAN X

VLAN X

Page 9: Ia20120118 teramoto

SvDNの実現のための障壁✤ サービス記述から機器のコンフィグに反映させたいが・・

✤ ネットワーク機器への設定方法が機器によって大きく異なる

⇒ネットワーク機器への設定手段の抽象化

✤ 複数の機器にまたがる設定を行うためにはネットワークトポロジーを把握している必要がある

⇒トポロジーデータベースの作成

インターネット

サービス記述

コンフィグ

???

ネットワークを構成する機器の種類やトポロジーが分からない

9

Page 10: Ia20120118 teramoto

ネットワーク機器設定の抽象化

10

Page 11: Ia20120118 teramoto

ネットワーク機器への設定✤ ネットワークは様々な機器によって構成される

✤ 機器ごとに設定手段や、機能が大きく異なる・・✤ 従来のネットワークはソフトウェアからの設定には不向きな構造

VLANアクセスフィルタリング

SNMP …

A社製スイッチ

VLAN …

B社製スイッチ

telnet・NETCONF・SNMP SSH・telnet

機器ごとに対応するのは大変

11

Page 12: Ia20120118 teramoto

ネットワーク機器への設定✤ ネットワークは様々な機器によって構成される

✤ 機器ごとに設定手段や、機能が大きく異なる・・✤ 従来のネットワークはソフトウェアからの設定には不向きな構造

VLANアクセスフィルタリング

SNMP …

A社製スイッチ

VLAN …

B社製スイッチ

telnet・NETCONF・SNMP SSH・telnet

機器ごとに対応するのは大変

設定方法の抽象化が必要

12

Page 13: Ia20120118 teramoto

ネットワーク機器設定の抽象化

VLANアクセスフィルタリング

SNMP …

A社製スイッチ

VLAN …

B社製L3スイッチ

telnet・NETCONF・SNMP SSH・telnet

VLANアクセスフィルタリング SNMP …

C, Java, CLI, etc…

✤ ネットワーク機器の機能のモデル化及びAPIの策定

設定手段の統一化

機器を意識しないで設定が行える

機能のモデル化APIの策定

13

Page 14: Ia20120118 teramoto

ネットワーク機器設定の抽象化

VLANアクセスフィルタリング

SNMP …

A社製スイッチ

VLAN …

B社製L3スイッチ

telnet・NETCONF・SNMP SSH・telnet

VLANアクセスフィルタリング SNMP …

C, Java, CLI, etc…機能のモデル化APIの策定

設定手段の統一化

機器を意識しないで設定が行える

機器の設定手段や機能の違いを吸収

✤ ネットワーク機器の機能のモデル化及びAPIの策定

14

Page 15: Ia20120118 teramoto

ネットワーク機器設定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・・

Page 16: Ia20120118 teramoto

トポロジーデータベースの作成

16

Page 17: Ia20120118 teramoto

ネットワークトポロジーの管理

✤ サービス記述からネットワーク構成に応じたコンフィグを生成するためには、ネットワークトポロジーの厳密な状態の管理が必要

✤ LLDPなどの隣接機器の情報を取得するプロトコルが存在するが…

✤ 完全なトポロジー情報を取得するためには、全ての機器がプロトコルに対応している必要がある

✤ ある状態を取得しても、その構成が正しいものなのかどうか判別出来ない(設定ミスなど)

→トポロジーデータベースによるトポロジー情報の管理17

Page 18: Ia20120118 teramoto

トポロジーデータベースの設計

✤ ネットワーク機器の設定や接続情報をデータベーステーブルに保存

✤ 静的なネットワークの状態管理

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

Page 19: Ia20120118 teramoto

ネットワークの構成のRDBによる管理

✤ 以下のようなトポロジーデータベースを設計

ネットワークIDネットワーク情報

ネットワーク

機器情報ドライバー名

機器VLAN IDVLAN情報

VLANVLAN割り当てIPアドレス

VLAN設定情報

ポート番号ポート名

ポート情報

接続元ポート接続先ポート

ポート接続

ポートVLAN IDVLAN種別

ポートVLAN

VLANアドレス/マスク

スタティックルーティング

トポロジーDBのER図(簡略版) 19

Page 20: Ia20120118 teramoto

SvDNによるシステム設計

20

Page 21: Ia20120118 teramoto

SvDNによるシステム設計

✤ SvDNによるシステム設計手順

1.サービスの構想 … どのような事を実現したいのか構想

2.ポリシーの定義 … 振る舞いを具体的に定義(ドキュメント)

3.サービスを記述 … 定義した挙動をサービス記述として記述を行う

21

Page 22: Ia20120118 teramoto

某K大学のサービス構成案

✤ IRCサーバーに対して定期的に数GbpsにもなるDoS攻撃が発生

✤ 根幹の回線は10GEだが、サーバーに繋がる通信線は1GE

✤ 1GEの帯域が埋まりIRCサーバーだけでなく、他の端末までも通信不能に

インターネット

10G

1G

Dos攻撃

IRCサーバー

帯域が埋まって通信不能に

22

Page 23: Ia20120118 teramoto

サービスの構想✤ 高帯域のSYNフラッド攻撃を防ぐためのサービスの構想とポリシーの定義を行う

✤ ネットワークポリシー

1. バックボーン付近では、他の帯域が混ざり検出が困難なため、検出はIRCサーバーで行う

2. IRCサーバーが攻撃を検出するとネットワークを管理するサーバーに対して帯域制限を要求

3. フィルタリングは10G回線に繋がる根幹のルーター(スイッチ)に対して行う

4. そうすれば、IRCサーバーへ確立した通信や他のネットワーク端末の通信を行う事が出来る

5. 攻撃の無い時は帯域制限をかけない

インターネット

10G

1G

IRCサーバー

IRCサーバー宛のSYNを帯域制限

帯域制限を要求

SvDNサーバー

DoS攻撃

攻撃を検出

23

Page 24: Ia20120118 teramoto

サービスの記述✤ (将来的に)サービス記述言語による振る舞いの記述

✤ IRCサーバーがSYNフラッド攻撃を検出

✤ トポロジーDBを利用し、IRCサーバーに最も近い10G回線に繋がるQoSの設定の出来るルーター(スイッチ)を探索

✤ ルーターに対してIRCサーバー宛のSYNを帯域制限(QoS)

✤ SYNの帯域が閾値を下回る

✤ QoSを解除

インターネット

10G

1G

IRCサーバー

IRCサーバー宛のSYNを帯域制限

帯域制限を要求

SvDNサーバー

DoS攻撃

攻撃を検出

トポロジーDB

サービス記述

24

Page 25: Ia20120118 teramoto

まとめと課題✤ まとめ

✤ トポロジーDBを利用したネットワーク管理

✤ Service Defined Network(SvDN)の提案

✤ サービス記述言語によるネットワーク管理

✤ SvDNシステムのプロトタイプ実装

✤ 課題

✤ モデル化を進めより多くの機器や機能に対応

✤ 設計例のちゃんとした実装と実環境における実験

✤ サービス記述言語の定義 25