• 検索結果がありません。

JAIST Repository https://dspace.jaist.ac.jp/

N/A
N/A
Protected

Academic year: 2021

シェア "JAIST Repository https://dspace.jaist.ac.jp/"

Copied!
53
0
0

読み込み中.... (全文を見る)

全文

(1)

JAIST Repository

https://dspace.jaist.ac.jp/

Title ネットワーク構築と運用における設定情報の抽象化に

関する研究

Author(s) 廣瀬, 真人

Citation

Issue Date 2017‑03

Type Thesis or Dissertation Text version author

URL http://hdl.handle.net/10119/14160 Rights

Description Supervisor:篠田 陽一, 情報科学研究科, 修士

(2)

2017 3

(3)

1510046

: 2017 2

Copyright c⃝2017 by Masato Hirose

(4)

OSI

(5)
(6)

1 1

1.1 . . . 1

1.2 . . . 2

1.3 . . . 2

2 3 2.1 . . . 3

2.2 . . . 4

2.3 . . . 5

2.4 . . . 7

3 8 3.1 . . . 8

3.1.1 . . . 9

3.1.2 . . . 10

3.1.3 . . . 10

3.2 . . . 11

3.2.1 NDL . . . 12

3.2.2 INDL . . . 13

3.2.3 Multi-Layered Network Description Model . . . 13

3.2.4 YANG Data Model for Network Topology . . . 14

3.3 . . . 15

4 16

(7)

4.2.1 . . . 17

4.2.2 . . . 19

4.2.3 . . . 20

4.3 . . . 21

4.3.1 . . . 22

4.3.2 . . . 24

5 25 5.1 . . . 25

5.2 . . . 26

5.3 . . . 27

5.3.1 . . . 27

5.3.2 . . . 28

5.3.3 . . . 28

5.4 Prolog . . . 29

5.5 Prolog . . . 29

6 33 6.1 . . . 33

6.2 . . . 37

6.3 . . . 41

7 43 7.1 . . . 43

7.2 . . . 43

(8)

1

1.1

(9)

1.2

1.3

7 2

3 2

4

5 6 7

(10)

2

2.1

web

2012 2 Amazon

12

2013 KDDI

E

(11)

2.2

OS FreeBSD Linux OS

(12)

2.3

OSI

OSI 2.1

OSI 2.2

(13)

Application Presentation

Transport Network Data Link

Physical

Application Presentation

Transport Network Data Link

Physical

Application Protocol

Presentation Protocol

Transport Protocol

Network Protocol

Data Link Protocol

Physical Protocol

Session Session

Session Protocol

2.1: OSI

Application Presentation

Transport Network Data Link

Physical

Application Presentation

Transport Network Data Link

Physical

Application Protocol

Presentation Protocol

Transport Protocol

Network Protocol

Data Link Protocol

Physical Protocol

Session Session Protocol Session

Network Data Link

Physical

Network Protocol

Data Link Protocol

Physical Protocol

2.2: OSI

(14)

2.4

2.2 2.3

NETCONF

•

•

•

(15)

3

CLI

3.1

ping [6] traceroute [7] tcpdump [8]

3.1

(16)

設定情報

ソフトウェア

ハードウェア

ネットワークの動作

ネットワーク機器

書き換え

操作

3.1:

3.1.1

Ari

Batfish [2]

Sanjay VPN MTU

[3]

(17)

3.1.2

3.1.3

I/O MAC

Anteater [4]

Anteater

Anteater IPv4 SNMP

SAT( )

SAT

•

•

•

SAT SNMP

SAT

(18)

3.2

NDL VRD INDL YANG Data Model for Network Topology

Information Model (IM) Data Model (DM) IM

DM

DM

2.4

• :

• :

• :

(19)

3.2.1 NDL

NDL(Network Description Language) 2005

[9]

NDL RDF (Resource Description Frame-

work) RDF NDL

NDL

3.2 NDL

NDL

OSI Data Link LAN VLAN

Link

Location Device Interface

lacatedAt

connectedTo

hasInterface

capacity encodingType encodingLabel

name description

3.2: NDL topology scheme

(20)

3.2.2 INDL

INDL(Infrastructire and Network Description Language) 2012 [10]

INDL

NDL NDL NDL

3.3 INDL

Resource Service

Node Component

Processor

Component Storage

Component Switching Component Memory

Component

VirtualNode Link Interface

Node Network

Element

is-a

3.3: INDL

3.2.3 Multi-Layered Network Description Model

[11] G= (V, E)

3.4

(21)

IP MAC

Server A Firewall Server B

Layer 1 Layer 2 Layer 3 Layer 4 Layer 5 Service: HTTP

Application: Apache OS: Linux

IP: 192.168.0.1 MAC: 11:11:11:11:11:11

Service: HTTP Application: Apache OS: Solaris IP: 192.168.1.1 MAC: 22:22:22:22:22:22 IP: 192.168.0.2 IP: 192.168.1.2

HTTP Apache

192.168.0.1 Linux

11:11:11:11:11:11

Server A Firewall Server B

HTTP Apache HTTP

192.168.0.2 192.168.1.2 192.168.1.1 Solaris

22:22:22:22:22:22

3.4: Multi-Layered Network Description Model

3.2.4 YANG Data Model for Network Topology

YANG Data Model for Network Topology YANG(Yet Another Next Generation) IETF

[12]

YANG RFC6020[13]

NETCONF

YANG

(22)

3.3

[2][3]

web

(23)

4

4.1

(24)

4.2

OSI

4.2.1

4.1

4.2

Protocol Function

Protocol Function Pro-

(25)

Protocol Channel

Protocol Channel Protocol Function

Protocol Channel Protocol Function

Protocol Relay

Protocol Relay Protocol Channel

Protocol Relay Protocol Function

4.1: (IP)

(26)

Layer N

Device

Protocol Relay

Protocol Channel Protocol Channel

Protocol Function

4.2:

4.2.2

Protocol Function Protocol Channel

Protocol Function Protocol Channel

4.3

4.4 4.5 Protocol Function Protocol Channel

4.3: (MAC + IP)

(27)

Layer N+1

Layer N

Device

Protocol Channel

Dependency

4.4: Protocol Function

Layer N+1

Layer N

Device

Protocol Channel Dependency

4.5: Protocol Channel

4.2.3

VLAN 2.5

(28)

Protocol Function Protocol Channel

4.6:

4.3

Protocol Function Protocol Channel Protocol Relay

(29)

4.7

Protocol Function Protocol Channel Protocol Relay

Protocol Function Protocol Channel Protocol Relay 4.8

C A B C

E A B C D E

4.3.1

Protocol Function Protocol Channel Protocol Relay

•

•

Protocol Func- tion Protocol Relay

(30)

4.7:

Rule between A, B Rule between C, D

Rule between B, C Rule between D, E

Rule A Rule B Rule C Rule D Rule E

Layer A までの検査範囲 Layer B までの検査範囲 Layer Cまでの検査範囲 Layer D までの検査範囲 Layer E までの検査範囲

(31)

Protocol Channel

4.3.2

Protocol Function Protocol Channel

Protocol Function Protocol Channel

(32)

5

•

•

5.1

(33)

5.2

5.1

ANSIBLE [15] NETCONF/YANG [16]

設定情報

一貫性検査システム

ネットワーク機器群

検査

設定作業 設定情報の編集

問い合わせ

フィードバック

ルール

5.1:

(34)

5.3

•

•

•

5.3.1

3.2.4 YANG Data Model for Network Topology 5.2

VLAN IP

Protocol Function Protocol Channel Protocol Relay

(35)

Physical

Node A Node B Node C Datalink

VLAN Network Transport

Service

※ Dependencyは省略

5.2:

5.3.2

5.3.3

• C Protocol Function 1 Protocol Function 3

(36)

• B Device 1 Device 4

5.4 Prolog

Prolog

Prolog 1970

5.5 Prolog

Protocol Function Protocol Channel

Prolog 3

Multi-Layered Network Description Model [11] YANG Data Model for Network topology [12]

Physical

Physical Protocol Function Protocol Channel

LLDP

Physical

Physical Protocol Function Protocol

(37)

physical_func(Func_id, -1, Int_name, Config_id).

physical_chan(Chan_id, -1, [Func_id_a, Func_id_b]).

Data Link

Data Link Protocol Funtion

/ MAC MTU

Physical Protocol Function Protocol Channel Protocol Function

is_datalink_func(Func_id, Ref_func_id, Int_name, Device_id) :- include_datalink_config(Int_name, Device_id),

physical_function(Reference_func_id, _, Int_name, Device_id).

is_datalink_chan(Chan_id, Ref_Chan_id, [Func_id_a, Func_id_b]) :- datalink_func(Node_id_a, Ref_func_id_a, Int_name_a, Device_id_a), datalink_func(Node_id_b, Ref_func_id_b, Int_name_b, Device_id_b), physical_chan(Ref_chan_id, _, [Ref_func_id_a, Ref_func_id_b]), P = [Func_id_a, Func_id_b],

is_different_device(P), is_same_duplex(P),

is_different_macaddr(P), is_same_mtu(P),

is_same_speed(P).

VLAN

VLAN Protocol Function VLAN

VLAN ID Data Link

Protocol Function

VLAN Data Link Protocol Function

(38)

Protocol Channel Protocol Function

vlan_func(Func_id, Ref_Func_id, Int_name, Device_id, Type, Vlan_id) :- include_vlan_config(Int_name, Device_id, Type, Vlan_id),

datalink_func(Func_id, Ref_func_id, Int_name, Device_id).

vlan_chan(Chan_id, Ref_Chan_id, [Func_id_a, Func_id_b]) :-

vlan_func(Func_id_a, Ref_func_id_a, Int_name_a, Device_id_a, Type_a, Id_a), vlan_func(Func_id_b, Ref_func_id_b, Int_name_b, Device_id_b, Type_b, Id_b), datalink_chan(Ref_chan_id, _, [Ref_func_id_a, Ref_func_id_b]),

P = [Func_id_a, Func_id_b], is_vlan_reachable(P).

Network

Network Protocol Funtion IP

VLAN

Protocol Function Protocol Channel

Protocol Function IP

ip_func(Func_id, Ref_func_id, Int_name, Device_id) :- include_ip_config(Int_name, Device_id),

vlan_func(Func_id, _, Int_name, Device_id).

ip_chan(Chan_id, Ref_chan_id, [Func_id_a, Func_id_b], Duplex) :- ip_node(Func_id_a, Ref_func_id_a, Int_name_a, Device_id_a), ip_node(Func_id_b, Ref_func_id_b, Int_name_b, Device_id_b), P = [Func_id_a, Func_id_b],

vlan_chan(Ref_chan_id, _, [Ref_func_id_a, Ref_func_id_b]), is_different_device(P),

is_reachable_ipaddr(P).

(39)

Transport

Transport Protocol Funtion

IP Protocol

Function Protocol Channel Protocol

Function

is_transport_func(Funct_id, Ref_Func_id, Int_name, Device_id, Port, Acl) :- include_transport_config(Int_name, Device_id),

ip_func(Ref_func_id, _, Int_name, Device_id).

is_transport_chan(Chan_id, Ref_Chan_id, [Func_id_a, Func_id_b], Duplex) :- transport_func(Func_id_a, Ref_Func_id_a, Int_name_a, Device_id_a, _Port_a ,

Acl_a),

transport_func(Func_id_b, Ref_Func_id_b, Int_name_b, Device_id_b, _Port_b , Acl_b),

ip_chan(Ref_chan_id, _, [Ref_func_id_a, Ref_func_id_b], Duplex).

(40)

6

Physical

Data Link VLAN Network Transport

6.1

Protocol Relay

A HTTP

B HTTP 6.1

6.4 6.1 6.5 6.6

6.10

(41)

6.1:

config(Config_id, line_protocol(’eth0’, 1)).

config(Config_id, duplex(’eth0’, auto)).

config(Config_id, mac_address(’eth0’, ’14:10:9f:e2:db:61’)).

config(Config_id, mtu(’eth0’, 1500)).

config(Config_id, speed(’eth0’, auto)).

config(Config_id, client_port(’eth0’)).

config(Config_id, ip_address(’eth0’, ’192.168.10.10/24’)).

6.2:

config(Config_id, line_protocol(’ge-1/0/1’, 1)).

config(Config_id, duplex(’ge-1/0/1’, auto)).

config(Config_id, mac_address(’ge-1/0/1’, ’14:10:9f:e2:db:62’)).

config(Config_id, mtu(’ge-1/0/1’, 1500)).

config(Config_id, speed(’ge-1/0/1’, auto)).

config(Config_id, bridge_port(’ge-1/0/1’)).

config(Config_id, line_protocol(’ge-1/0/2’, 1)).

config(Config_id, duplex(’ge-1/0/2’, auto)).

config(Config_id, mac_address(’ge-1/0/2’, ’14:10:9f:e2:db:63’)).

config(Config_id, mtu(’ge-1/0/2’, 1500)).

config(Config_id, speed(’ge-1/0/2’, auto)).

config(Config_di, bridge_port(’ge-1/0/2’)).

(42)

6.3:

config(Config_id, line_protocol(’ge-1/0/1’, 1)).

config(Config_id, duplex(’ge-1/0/1’, auto)).

config(Config_id, mac_address(’ge-1/0/1’, ’14:10:9f:e2:db:62’)).

config(Config_id, mtu(’ge-1/0/1’, 1500)).

config(Config_id, speed(’ge-1/0/1’, auto)).

config(Config_id, router_port(’ge-1/0/1’)).

config(Config_id, ip_address(’ge-1/0/1’, ’192.168.10.1/24’)).

config(Config_id, line_protocol(’ge-1/0/2’, 1)).

config(Config_id, duplex(’ge-1/0/2’, auto)).

config(Config_id, mac_address(’ge-1/0/2’, ’14:10:9f:e2:db:63’)).

config(Config_id, mtu(’ge-1/0/2’, 1500)).

config(Config_id, speed(’ge-1/0/2’, auto)).

config(Config_id, router_port(’ge-1/0/2’)).

config(Config_id, ip_address(’ge-1/0/2’, ’10.0.0.1/16’)).

config(Config_id, ip_route(’192.168.10.0/24’, ’ge-1/0/1’)).

config(Config_id, ip_route(’10.0.0.0/16’, ’ge-1/0/2’)).

(43)

6.4:

config(1, line_protocol(’ge-1/0/1’, 1)).

config(1, duplex(’ge-1/0/1’, auto)).

config(1, mac_address(’ge-1/0/1’, ’14:10:9f:e2:db:62’)).

config(1, mtu(’ge-1/0/1’, 1500)).

config(1, speed(’ge-1/0/1’, auto)).

config(1, router_port(’ge-1/0/1’)).

config(1, ip_address(’ge-1/0/1’, ’192.168.10.1/24’)).

config(1, line_protocol(’ge-1/0/2’, 1)).

config(1, duplex(’ge-1/0/2’, auto)).

config(1, mac_address(’ge-1/0/2’, ’14:10:9f:e2:db:63’)).

config(1, mtu(’ge-1/0/2’, 1500)).

config(1, speed(’ge-1/0/2’, auto)).

config(1, router_port(’ge-1/0/2’)).

config(1, ip_address(’ge-1/0/2’, ’10.0.0.1/16’)).

config(1, ip_route(’192.168.10.0/24’, ’ge-1/0/1’)).

config(1, ip_route(’10.0.0.0/16’, ’ge-1/0/2’)).

config(1, ip_access_control(10, ’permit’, ’192.168.10.0/24’, ’any’, 80)).

(44)

A

A Data Link Protocol Relay VLAN

Protocol Function B

A Network Protocol Relay IP

VLAN Protocol Function

C

A Data Link Protocol Relay A

Network Protocol Relay Protocol Relay

D VLAN

C

A VLAN Protocol Relay

VLAN ID VLAN ID Protocol Function

VLAN VLAN

E

Firewall A Transport

Protocol Relay Protocol Relay

IP

OSPF BGP

6.2

(45)

6.1: A

6.2: B

6.3: C

6.4: D

6.5: E

(46)

Physical

Server A Bridge A Server B Datalink

VLAN Network Transport

Service

6.6: A

Physical

Server A Router A Server B Datalink

VLAN Network Transport

Service

6.7: B

Physical

Server A Router A Server B Datalink

VLAN Network Transport

Service

Bridge A

6.8: C

Physical

Server A L3 SwitchA Server B Datalink

VLAN Network Transport

Service

Bridge A

6.9: D

(47)

Physical

Server A Firewall A

(stateless)Server B Datalink

VLAN Network Transport

Service

Router A

6.10: E

• OS: MAC OS X 10.12.3

• CPU: 2.7GHz Intel Core i7 (4 core)

• Memory: 16GB 1600 MHz DDR3

• Processing system: SWI-Prolog

HTTP HTTP

HTTP HTTP

6.11

(48)

ISP

6.11:

6.3

(49)

Multi-Layered Network Description Language

YANG Data Model for Network Topology YANG

YANG NETCONF

Multi-Layered Network Description Language Multi-Layered Network Description Language

6.1

6.1:

Multi-Layerd NDL YANG Data Model

⃝ ⃝ ⃝

⃝ ⃝ △

/ ⃝ ⃝ ⃝

△ × ⃝

(50)

7

7.1

7.2

(51)

Muhammad Imran tariq

(52)

[1] , , , ,

[2] Ari Fogel, Luis Pedorosa, Meg Walraed-Sullivan, Proactive Network Configuration Validation with Batfish

[3] Sanjay Narain, Rajesh Talpade,Gary Levin, Network Configuration Validation [4] Haohui Mai, Ahmed Khurshid Rachit Agarwal, Matthew Caesar, P. Brighten God-

frey, Samuel T. King, Debugging the Data Plane with Anteater

[5] Jeroen van der Ham, Mattijs Ghijsen, Paola Grosso, Cees de Laat, Trends in Com- puter Network Modeling Towards the Future Internet

[6] ping, http://linuxjm.osdn.jp/html/netkit/man8/ping.8.html [7] traceroute, https://linux.die.net/man/8/traceroute

[8] tcpdump, http://www.tcpdump.org/tcpdump man.html

[9] Network Description Language, https://ivi.fnwi.uva.nl/sne/ndl/

[10] Mattijs Ghijsen, Jeroen van der Ham, Paola Grosso, Cosmin, Dumitru, Hao Zhu, Zhiming Zhao and Cees de Laat, A Semantic-Web Approach for Modeling Computing Infrastructures

[11] , , , , ,

(53)

[13] RFC6020, YANG - A Data Modeling Language for the Network Configuration Pro- tocol (NETCONF)

[14] , , , SDN/OpenFlow

[15] ANSIBLE, https://www.ansible.com [16] NETCONF, RFC6020, RFC6241

[17] SWI-Prolog, http://www.swi-prolog.org

参照

関連したドキュメント

Causation and effectuation processes: A validation study , Journal of Business Venturing, 26, pp.375-390. [4] McKelvie, Alexander & Chandler, Gaylen & Detienne, Dawn

Previous studies have reported phase separation of phospholipid membranes containing charged lipids by the addition of metal ions and phase separation induced by osmotic application

It is separated into several subsections, including introduction, research and development, open innovation, international R&D management, cross-cultural collaboration,

UBICOMM2008 BEST PAPER AWARD 丹   康 雄 情報科学研究科 教 授 平成20年11月. マルチメディア・仮想環境基礎研究会MVE賞

To investigate the synthesizability, we have performed electronic structure simulations based on density functional theory (DFT) and phonon simulations combined with DFT for the

During the implementation stage, we explored appropriate creative pedagogy in foreign language classrooms We conducted practical lectures using the creative teaching method

講演 1 「多様性の尊重とわたしたちにできること:LGBTQ+と無意識の 偏見」 (北陸先端科学技術大学院大学グローバルコミュニケーションセンター 講師 元山

Come with considering two features of collaboration, unstructured collaboration (information collaboration) and structured collaboration (process collaboration); we