envi-based openflow gui v.0.5

31
ENVI-based OpenFlow GUI v.0.5 Sungho Shin, Namgon Kim, and Juwon Park Networked Media Lab. GIST, Korea May 11, 2010

Upload: jaimin

Post on 25-Jan-2016

50 views

Category:

Documents


1 download

DESCRIPTION

ENVI-based OpenFlow GUI v.0.5. Sungho Shin, Namgon Kim, and Juwon Park Networked Media Lab. GIST, Korea May 11, 2010. Contents. Goals Drag & Drop Flow Management Flow Monitoring Testbed Configuration Networking service UI. GOALS. 3. NetOpen RA. ENVI-based OpenFlow GUI. Drag & Drop. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: ENVI-based OpenFlow GUI v.0.5

ENVI-based OpenFlow GUIv.0.5

Sungho Shin, Namgon Kim, and Juwon ParkNetworked Media Lab. GIST, Korea

May 11, 2010

Page 2: ENVI-based OpenFlow GUI v.0.5

Contents

โ€ข Goalsโ€ข Drag & Drop

โ€ข Flow Management

โ€ข Flow Monitoring

โ€ข Testbed Configuration

โ€ข Networking service UI

Page 3: ENVI-based OpenFlow GUI v.0.5

GOALS

3

Page 4: ENVI-based OpenFlow GUI v.0.5

NetOpen RATunneling-basedConnectivity

DeviceMonitoring

FlowMonitoring

FlowControl

QoS-aware Routing

Level 1NetFPGA-based Capsulator (point-to-point)

Flow path control over GUI (Button, Manually)

Level 2FlowVisor support

~05/31NetFPGA-based Capsulator (point-to-multipoint)

Report traffic delivery rate for each tunnel to OpenFlow controller

Display traffic rate of each flow for each OpenFlow switch

Flow path control over GUI (Drag & Drop)

Develop a NOX application service gathering available BW from OpenFlow switches

Lev.3

3-1 ~07/31

1) Turn on/off capsulator operation2) Dynamic tunnel configuration

Report traffic delivery rate for each port and slice

Dynamic topology generation by configuring capsulator

Implement BW-aware routing algorithm as a NOX application service

3-2 ~08/30 Port Scheduler

Visualization of multiple virtualized testbeds (FlowVisor)

Flow path control for each slice

Develop new application scenario

NetOpen + MediaX

07/01 ~

Page 5: ENVI-based OpenFlow GUI v.0.5

ENVI-based OpenFlow GUI

Level1-1 (~Feb.) Level1-2 Level2

Flow Control

Flow & Route selection using GUI

๋งˆ์šฐ์Šค์™€ ๋ฒ„ํŠผ์„ ์ด์šฉํ•œ ์ฃผ์–ด์ง„ flow ์— ๋Œ€ํ•œ route ๋ณ€๊ฒฝ ( ๋‹จ์ผ ํ”Œ๋กœ์šฐ ์ƒํ™ฉ ๊ฐ€์ • )

๋‹ค์ค‘ ํ”Œ๋กœ์šฐ ์ƒํ™ฉ์—์„œ GUI ์ƒ์—์„œ ๋งˆ์šฐ์Šค๋ฅผ ํ†ตํ•ด ํ”Œ๋กœ์šฐ๋ฅผ ์„ ํƒํ•˜๊ณ  , ์„ ํƒ๋œ ํ”Œ๋กœ์šฐ์˜ ๊ฒฝ๋กœ๋ฅผ ๋งˆ์šฐ์Šค ๋“œ๋ž˜๊ทธ ์•ก์…˜์œผ๋กœ ๊ฒฐ์ •

FlowSpace ๋ณ„๋กœ Level2์˜ ๊ธฐ๋Šฅ ์ ์šฉ ํ™•์ธ

Route update

์ฃผ์–ด์ง„ flow ์— ๋Œ€ํ•ด ์ฃผ์–ด์ง„ route ๋ฅผ ์ด์šฉํ•˜๋„๋ก ์ œ์–ดํ•˜๋Š” NOX ์‘์šฉ ๊ฐœ๋ฐœ

์ฃผ์–ด์ง„ flow ์— ๋Œ€ํ•ด ๊ฐ€๋Šฅํ•œ ๋ชจ๋“  ๊ฒฝ๋กœ์˜ ๋ชฉ๋ก ์ œ๊ณต๊ธฐ๋Šฅ ์ถ”๊ฐ€

FlowSpace ๋ณ„๋กœ Level2์˜ ๊ธฐ๋Šฅ ์ ์šฉ ํ™•์ธ

Monitoring

Visualization ENVI ๊ธฐ๋ฐ˜์œผ๋กœ Topology ๋ฐ Flow ๊ฐ€์‹œํ™”

์‚ฌ์šฉ์ž๊ฐ€ ์„ ํƒํ•œ OF Switch ์˜ internal status ํ‘œ์‹œ & Level1์˜ ๊ฐ€์‹œํ™” ๊ฒฐ๊ณผ์— network monitoring info. ํ‘œํ˜„

DataNOX ์˜ routing component ์™€ Flowdb๋ฅผ ํ†ตํ•ด Topology(OpenFlow switches, end nodes, links) & Flow ์ •๋ณด ์ˆ˜์ง‘

OF Switch ์˜ internal status & Network monitoring info. (BW, delay)

FlowVisor ๋กœ๋ถ€ํ„ฐFlowSpace ์˜ ์ •๋ณด์ˆ˜์ง‘

Configurationssh ๋ฅผ ํ†ตํ•œ ์›๊ฒฉ์ง€์—์„œ์˜ OF Controller, OF Switch ํ”„๋กœ์„ธ์Šค ์‹คํ–‰๊ณผ end ์—์„œ์˜ ํ”Œ๋กœ์šฐ ์ƒ์„ฑ์„ ์œ„ํ•œ ๋ช…๋ น ์‹คํ–‰

Tunneling configuration support

FlowVisor Configuration

Page 6: ENVI-based OpenFlow GUI v.0.5

Drag & Drop

Page 7: ENVI-based OpenFlow GUI v.0.5

โ€ข Level 1โ€“ End1 ๊ณผ End2 ์‚ฌ์ด์˜ Path ๋ชฉ๋ก์€ ์ œ๊ณต๋œ๋‹ค๊ณ 

๊ฐ€์ •โ€ข Level 2

โ€“ End1 ๊ณผ End2 ์‚ฌ์ด์˜ Path ๋ชฉ๋ก์„ ๊ตฌํ•˜๋Š” ํ•จ์ˆ˜ ์ œ๊ณต

Page 8: ENVI-based OpenFlow GUI v.0.5

Topology 01

โ€ข Available Paths between End01 and End02โ€“ Path 1: A-Cโ€“ Path 2: A-B-C

P1 P1

End01 End02

AC

B

Page 9: ENVI-based OpenFlow GUI v.0.5

Topology 01 - ๋‚ด๋ถ€๋กœ์งโ€ข ๊ธฐ๋ณธ ๋กœ์ง

โ€“ OpenFlow ๋งˆ๋‹ค ๊ณ ์œ ์˜ id (datapath id) ์„ ๊ฐ€์ง€๊ณ  ์žˆ์Œ .โ€“ ํ”Œ๋กœ์šฐ๋ฅผ OpenFlow ๋…ธ๋“œ๋กœ drag & drop & mouse hover ๋ฅผ ํ•˜์˜€์„ ๊ฒฝ์šฐ id ๋ฅผ ๋น„๊ตํ•˜์—ฌ

๋‹ค๋ฅธ ํ”Œ๋กœ์šฐ์˜ ๊ฒฝ๋กœ๋กœ ๋ณ€๊ฒฝโ€ข Case1: Path 1 ์—์„œ Path2 ๋กœ์˜ ํ”Œ๋กœ์šฐ ๋ณ€๊ฒฝ

โ€“ ์กฐ๊ฑด : A-C ์‚ฌ์ด์˜ ํ”Œ๋กœ์šฐ๋ฅผ select ํ•˜์—ฌ OpenFlow ๋…ธ๋“œ๋กœ drag ํ•˜์˜€์„ ๊ฒฝ์šฐโ€ข B ๋…ธ๋“œ๋กœ hover : B ๋…ธ๋“œ์˜ dpid ์™€ ๋น„๊ต

โ€“ if(gm.getHovered().toSting().equals(โ€œ b ์˜ dpid) : ์ฐธ์ด๋ฉด ๋ณ€๊ฒฝ ๋ฉ”์„ธ์ง€ ์‹คํ–‰

โ€ข Case2: Path 2 ์—์„œ Path1 ๋กœ์˜ ํ”Œ๋กœ์šฐ ๋ณ€๊ฒฝโ€“ ์กฐ๊ฑด : A-B ์‚ฌ์ด , B-C ์˜ ์‚ฌ์ด ํ”Œ๋กœ์šฐ๋ฅผ select ํ•˜์—ฌ OpenFlow ๋…ธ๋“œ๋กœ drag ํ•˜์˜€์„ ๊ฒฝ์šฐ

โ€ข A ๋…ธ๋“œ ๋˜๋Š” C ๋…ธ๋“œ๋กœ hover : A ๋…ธ๋“œ ๋˜๋Š” C ๋…ธ๋“œ์˜ dpid ๋น„๊ตโ€“ else if(gm.getHovered().toString().equals(โ€œa ์˜ dpidโ€)||

gm.getHovered().toString().equals(โ€œc ์˜ dpidโ€)) : ์ฐธ์ด๋ฉด ๋ณ€๊ฒฝ ๋ฉ”์„ธ์ง€ ์‹คํ–‰

โ€ข Case3: ๋‚˜๋จธ์ง€ ์กฐ๊ฑด์˜ ๊ฒฝ์šฐโ€“ ์ž˜๋ชป๋œ ํ”Œ๋กœ์šฐ์˜ ๋ณ€๊ฒฝ ์กฐ์ž‘์œผ๋กœ ๊ฐ„์ฃผํ•˜์—ฌ , System error ๋ฉ”์„ธ์ง€ ์ถœ๋ ฅ

Page 10: ENVI-based OpenFlow GUI v.0.5

Topology 02

โ€ข Available Paths between End01 and End02โ€“ Path 1: A-C-Eโ€“ Path 2: A-B-C-Eโ€“ Path 3: A-C-D-Eโ€“ Path 4: A-B-C-D-E

P1P1

End01 End02

A

B

C

D

E

Question-Flow ๋ฅผ Path1 ์—์„œ Path2 ๋กœ ์ด๋™์‹œํ‚ค๋ ค ํ•˜๋Š” ๊ฒฝ์šฐ , ํ™”๋ฉด์ƒ์—๋Š” ์–ด๋–ป๊ฒŒ ํ‘œ์‹œ๋˜๋Š”๊ฐ€ ? (1) ์ธ๊ฐ€ ? (2) ์ธ๊ฐ€ ? ์™œ ๊ทธ๋ ‡๊ฒŒ ๋˜๋Š”๊ฐ€ ?-์ฆ‰ , ํ”„๋กœ๊ทธ๋žจ ๋‚ด๋ถ€์ ์œผ๋กœ ๊ฐ€๋Šฅํ•œ ๊ฒฝ๋กœ์˜ ๋ชฉ๋ก์€ ์ œ๊ณต๋˜์—ˆ๋‹ค๊ณ  ๊ฐ€์ •ํ–ˆ์„ ๋•Œ ๊ทธ ์ค‘ ์–ด๋Š ๊ฒƒ์„ ์„ ํƒํ•  ๊ฒƒ์ธ๊ฐ€์˜ ๋ฌธ์ œ์ž„

(1)

(2)

Page 11: ENVI-based OpenFlow GUI v.0.5

Topology 02 - ๋‚ด๋ถ€๋กœ์งโ€ข ํ˜„์žฌ์˜ Drag/Drop ์€ one hop ๋‹จ์œ„๋กœ ์ œ๊ณต๋œ๋‹ค๊ณ  ์ดํ•ด๋จโ€ข Case1: Path 1 ์—์„œ Path2 ๋กœ์˜ ํ”Œ๋กœ์šฐ ๋ณ€๊ฒฝโ€ข ์ด ๊ฒฝ์šฐ๋Š” (1) ์˜ ๊ฒฝ์šฐ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค . ์กฐ๊ฑด์€ ์ฆ‰ A-C ์‚ฌ์ด์˜ ํ”Œ๋กœ์šฐ๋ฅผ select ํ•˜์—ฌ B ๋…ธ๋“œ๋กœ drag

ํ•˜์˜€์„ ๊ฒฝ์šฐ ์ž…๋‹ˆ๋‹ค .

โ€ข Case2: Path 1 ์—์„œ Path3 ๋กœ์˜ ํ”Œ๋กœ์šฐ ๋ณ€๊ฒฝโ€ข ์ด ๊ฒฝ์šฐ์˜ ์กฐ๊ฑด์€ C-E ์‚ฌ์ด์˜ ํ”Œ๋กœ์šฐ๋ฅผ select ํ•˜์—ฌ D ๋…ธ๋“œ๋กœ drag ํ•˜์˜€์„ ๊ฒฝ์šฐ ์ž…๋‹ˆ๋‹ค .

โ€ข Case3: Path 1 ์—์„œ Path4 ๋กœ์˜ ํ”Œ๋กœ์šฐ ๋ณ€๊ฒฝโ€ข ์ด ๊ฒฝ์šฐ์˜ ์กฐ๊ฑด์€ A-C ์‚ฌ์ด์˜ ํ”Œ๋กœ์šฐ๋ฅผ select ํ•˜์—ฌ B ๋…ธ๋“œ๋กœ drag ํ•˜์—ฌ path2 ๋กœ ๋ณ€๊ฒฝํ›„ , C-E

์‚ฌ์ด์˜ ํ”Œ๋กœ์šฐ๋ฅผ select ํ•˜๊ณ  D ๋…ธ๋“œ๋กœ drag ํ•˜์—ฌ Path4 ๋กœ ๋ณ€๊ฒฝ์ž…๋‹ˆ๋‹ค .

โ€ข ๋˜๋Š” C-E ์‚ฌ์ด์˜ ํ”Œ๋กœ์šฐ๋ฅผ select ํ•˜๊ณ  D ๋…ธ๋“œ๋กœ drag ํ•˜์—ฌ , Path3 ๋กœ ๋ณ€๊ฒฝํ›„ , A-C ์‚ฌ์ด์˜ ํ”Œ๋กœ์šฐ๋ฅผ select ํ•˜์—ฌ B ๋…ธ๋“œ๋กœ drag ํ•˜์—ฌ Path4 ๋กœ ๋ณ€๊ฒฝํ•ฉ๋‹ˆ๋‹ค .

โ€ข ๋‘ ๋ฒˆ์— ๊ฑธ์ณ์„œ ์ง„ํ–‰ํ•ด์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ์œผ๋กœ ์ดํ•ด๋จ

โ€ข ๊ฐ Case ์—์„œ์˜ ์กฐ๊ฑด์ด์™ธ์„œ ๋™์ž‘์ด ๋˜์ง€ ์•Š๊ฒŒ ํ•˜๋Š” ๊ฒ๋‹ˆ๋‹ค .โ€“ ์ž˜๋ชป๋œ ๋™์ž‘์œผ๋กœ ๊ฐ„์ฃผํ•˜๊ณ  , ๋ณ€๊ฒฝ ๋ฉ”์„ธ์ง€ ์ „๋‹ฌ์„ ํ•˜์ง€ ์•Š์œผ๋ฉฐ , system error ๋ฉ”์„ธ์ง€ ์ถœ๋ ฅ

Page 12: ENVI-based OpenFlow GUI v.0.5

Topology 02 - ๊ตฌํ˜„โ€ข ์ด๋ฅผ ์œ„ํ•ด์„œ๋Š”

โ€“ ๊ฐ OpenFlow id (OpenFlow switch id ๋กœ ์ˆ˜์ • )

โ€“ ๊ฐ ๋…ธ๋“œ ์‚ฌ์ด์— ํ˜•์„ฑ๋œ flow id (OpenFlow switch ์‚ฌ์ด์— ํ˜•์„ฑ๋œ flow id ๋กœ ์ˆ˜์ • )

โ€“ ๋‚ด๋ถ€์ ์ธ ๊ฐ€๋Šฅํ•œ ๊ฒฝ๋กœ์˜ ๋ชฉ๋ก ์ž‘์„ฑ ( ์ด๊ฑด ์ด๋ฏธ ๊ฐ€์ •์—์„œ ์ œ๊ณต๋œ๋‹ค๊ณ  ํ–ˆ์Œ )

โ€ข ํ˜„์žฌ OpenFlow Switch id( ๊ณ ์ •๊ฐ’ ) ๋งŒ์„ ์ด์šฉํ•ด์„œ Path ์˜ ๊ฒฝ๋กœ๋ฅผ ๋ณ€๊ฒฝํ•ด ์ฃผ๋Š” ๋ฐฉ๋ฒ•์„ ์ง„ํ–‰ํ•˜์˜€์Šต๋‹ˆ๋‹ค .

โ€“ OpenFlow switch ๋ผ๊ณ  ํ‘œํ˜„โ€ข ์˜ˆ๋ฅผ ๋“ค๋ฉด

โ€“ Path1 ์—์„œ Path2 ๋กœ์˜ ๋ณ€๊ฒฝ์€ ( ์–ด๋–ค ์œ„์น˜ ) ์— ์žˆ๋Š” ํ”Œ๋กœ์šฐ๋ฅผ select ํ•ด์„œ B ๋…ธ๋“œ๋กœ drag ํ•˜์˜€์„ ๊ฒฝ์šฐ ๋ณ€๊ฒฝโ€“ Path1 ์—์„œ Path3 ์œผ๋กœ์˜ ๋ณ€๊ฒฝ์€ ( ์–ด๋–ค ์œ„์น˜ ) ์— ์žˆ๋Š” ํ”Œ๋กœ์šฐ๋ฅผ select ํ•ด์„œ D ๋…ธ๋“œ๋กœ drag ํ•˜์˜€์„ ๊ฒฝ์šฐ ๋ณ€๊ฒฝโ€“ Question) ์„ ํƒ๋œ flow ์˜ id ๋Š” ์•Œ์ง€ ๋ชปํ•˜๋Š”๊ฐ€ ?

โ€ข ํ”Œ๋กœ์šฐ์˜ id ๋ฅผ ์ ์šฉํ•˜์ง€ ์•Š์€ ์ด์œ ๋Š” ํ”Œ๋กœ์šฐ์˜ id ์ •๋ณด๊ฐ€ ๊ณ ์ •์ ์ธ๊ฒƒ์ด ์•„๋‹ˆ๋ผ , ํ”Œ๋กœ์šฐ๊ฐ€ ์ƒ๊ธธ๋•Œ๋งˆ๋‹ค ๋ณ€๊ฒฝ์ด ๋˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค . ( ์ฆ‰ ์˜ˆ๋ฅผ ๋“ค๋ฉด A-C ์‚ฌ์ด์˜ ํ”Œ๋กœ์šฐ์˜ id ๊ฐ€ ์•„๋‹ˆ๋ผ , A-C ์‚ฌ์ด์— ํ”Œ๋กœ์šฐ๊ฐ€ ์ƒ์„ฑ๋  ๋•Œ๋งˆ๋‹ค id ๊ฐ€ ๋ณ€๊ฒฝ์ด ๋ฉ๋‹ˆ๋‹ค .)

โ€ข Question) ๋งŒ์•ฝ flow ๊ฐ€ ์ผ์ •์‹œ๊ฐ„ ์ด์ƒ ์ง€์†๋œ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜๋ฉด , flow id ๊ฐ€ ๊ณ ์ •์ด๋ผ๊ณ  ๊ฐ€์ •ํ•  ์ˆ˜ ์žˆ๋‚˜ ?

โ€ข ์ด ๋ถ€๋ถ„์€ ์ฐจํ›„์— ์ƒ๊ฐ์„ ์ข€ ๋” ํ•ด๋ด์•ผ ๊ฒ ์Šต๋‹ˆ๋‹ค .

โ€ข ๊ธˆ์ผ๊นŒ์ง€ OpenFlow id ๋ฅผ ์ด์šฉํ•ด ๋ณ€๊ฒฝํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ ์šฉํ•˜์˜€๊ณ  ,

โ€ข ๊ฐ OpenFlow id ๋กœ drag ํ•˜์˜€์„ ๊ฒฝ์šฐ 3 ์˜ ๋‚ด์šฉ์„ ์ ์šฉํ•˜๋Š” ๋ถ€๋ถ„์„ ๋‚ด์ผ ์ง„ํ–‰ํ•  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค .

Page 13: ENVI-based OpenFlow GUI v.0.5

Topology 03

โ€ข Available Paths between End01 and End02โ€“ Path 1: A-B-C-Dโ€“ Path 2: A-E-F-H-Dโ€“ Path 3: A-E-G-H-D

P1P1

End01 End02

A

B C

DE

Question-Flow ๋ฅผ Path3 ์—์„œ Path2 ๋กœ ์ด๋™์‹œํ‚ค๋ ค ํ•˜๋Š” ๊ฒฝ์šฐ , ํ™”๋ฉด์ƒ์—๋Š” (1) ์—์„œ (2) ๋กœ ํ‘œํ˜„๋˜๋Š”๊ฐ€ ?- ๋˜ Path2 ์—์„œ Path1 ์œผ๋กœ ์ด๋™์‹œํ‚ค๋Š” ๊ฒฝ์šฐ ํ™”๋ฉด์ƒ์— (2) ์—์„œ (3) ์œผ๋กœ ํ‘œํ˜„ํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅํ•œ๊ฐ€ ?-๊ทธ๋ฆฌ๊ณ  , ํ™”๋ฉด์ƒ์— ๋ณด์ด๋Š” ๊ฒƒ์€ ์‚ฌ์šฉ์ž์˜ drag ์•ก์…˜์— ๋Œ€ํ•œ ๊ฒฐ๊ณผ์ด๊ณ  , ์‹ค์ œ ํ† ํด๋กœ์ง€์— ๋ฐ˜์˜๋˜๋Š” ๊ฒƒ์€ drop ์•ก์…˜์˜ ๊ฒฐ๊ณผ์ธ๋ฐ ์ด๋ฅผ ๊ตฌ๋ณ„ํ•˜์—ฌ ๋™์ž‘ํ•˜๋„๋ก ๊ตฌํ˜„๋˜์—ˆ๋Š”๊ฐ€ ?

F

GH

(1)

(2)

(3)

Page 14: ENVI-based OpenFlow GUI v.0.5

Topology X

P1 P2 P1 P2

End01 End02

Page 15: ENVI-based OpenFlow GUI v.0.5

Google Map Example

โ€ข http://maps.google.com/maps?f=d&source=embed&saddr=Europa+Dr,+Chapel+Hill,+Orange,+North+Carolina+27514&daddr=35.924853,-79.035044+to:218+Conner+Dr,+Chapel+Hill,+NC+27514&hl=en&geocode=FfMgJAIdUgBK-ykXJRX4ucKsiTHuLtOE3TPLYw%3B%3BFZdFJAId0xtK-ymxQGObrcKsiTG9p3Hfi1e3XQ&mra=dpe&mrcr=0&mrsp=1&sz=15&via=1&sll=35.927425,-79.034&sspn=0.019495,0.038581&ie=UTF8&ll=35.927425,-79.034&spn=0.019495,0.038581

Page 16: ENVI-based OpenFlow GUI v.0.5

Daum Map Example

โ€ข http://local.daum.net/map/index.jsp?SP=RIS&sX=463590&sY=480672&eX=466301&eY=477891&map_type=TYPE_MAP&map_hybrid=true&sName=%B1%A4%C1%D6%B0%FA%C7%D0%B1%E2%BC%FA%BF%F8&eName=%B7%D4%B5%A5%B8%B6%C6%AE+%C3%B7%B4%DC%C1%A1

Page 17: ENVI-based OpenFlow GUI v.0.5

FLOW MANAGEMENT

16

Page 18: ENVI-based OpenFlow GUI v.0.5

Flow Management

โ€ข ๊ฐ ์Šค์œ„์น˜์˜ flow table entry ์—๋Š” ๋™์ผํ•œ ์ •๋ณด๊ฐ€ ๋“ค์–ด๊ฐ€์ง€๋งŒ , ๊ฐ ์Šค์œ„์น˜์—์„œ๋Š” ์ด๋ฅผ ๋‹ค๋ฅธ id๋กœ ๊ด€๋ฆฌํ•œ๋‹ค

โ€ข Controller ๋‚˜ GUI ์ž…์žฅ์—์„œ Flow ๋“ค์„ manage ํ•˜๊ธฐ ์œ„ํ•ด id ๋ฅผ ํ• ๋‹นํ•ด์•ผ ํ•œ๋‹ค

โ€ข ์ผ๋‹จ์€ ํ˜„์žฌ GUI ์— ์ด๋Ÿฐ management ๊ฐ€ ์–ด๋–ป๊ฒŒ ์ด๋ฃจ์–ด์ง€๊ณ  ์žˆ๋Š”์ง€ ํŒŒ์•…ํ•ด์•ผ ํ•œ๋‹ค

17

Page 19: ENVI-based OpenFlow GUI v.0.5

Daum Map Example

Page 20: ENVI-based OpenFlow GUI v.0.5

Flow Monitoring

Page 21: ENVI-based OpenFlow GUI v.0.5

Levels of Flow Monitoring

Level Content

1.1

- ์Šค์œ„์น˜ ์„ ํƒ์‹œ ํ•ด๋‹น ์Šค์œ„์น˜๊ฐ€ ์ง€๋‹Œ ํ”Œ๋กœ์šฐ์˜ ๋ชฉ๋ก์„ ๋ณด์—ฌ์ฃผ๊ณ  , ๊ทธ ์ค‘ ํ•˜๋‚˜๋ฅผ ์„ ํƒํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•œ๋‹ค - GUI ๋ ˆ๋ฒจ์—์„œ ๊ฐ€๋Šฅํ•ด์•ผ ํ•จ , ์Šค์œ„์น˜์˜ ๋ชจ๋‹ˆํ„ฐ๋ง ๊ฒฐ๊ณผ๊ฐ€ GUI ์—์„œ ํ‘œํ˜„๋œ๋‹ค๋Š” ์ ์— ์ฐจ์ด๊ฐ€ ์žˆ์Œ ( ์Šค์œ„์น˜ ์ˆ˜์ค€์˜ ๋ชจ๋‹ˆํ„ฐ๋ง์€ ์ถฉ๋‚จ๋Œ€์˜ ๊ฒฐ๊ณผ๋ฌผ์„ ์ด์šฉํ•  ์ˆ˜ ์žˆ์Œ )

1.2.- ์Šค์œ„์น˜์˜ ์ •๋ณด ํ‘œ์‹œ ( ํฌํŠธ๋ณ„ ๋Œ€์—ญํญ ์‚ฌ์šฉ๋Ÿ‰์€ device monitoring)- ์„ ํƒ๋œ ํ”Œ๋กœ์šฐ์˜ ๋Œ€์—ญํญ ์‚ฌ์šฉ๋Ÿ‰์„ ์ถœ๋ ฅํ•จ

2.1

- Ver. 1.1. ์˜ ํ”Œ๋กœ์šฐ ๋ชฉ๋ก์ค‘ ํ•˜๋‚˜๋ฅผ ์„ ํƒํ•˜๋ฉด , ๋‹ค๋ฅธ ์Šค์œ„์น˜๋“ค ๋‚ด์—์„œ ๋™์ผํ•œ ํ”Œ๋กœ์šฐ entry ๋ฅผ ์ฐพ์•„ ํ‘œํ˜„- ์ฆ‰ , Flow ๋ชฉ๋ก ์ค‘ ํ•˜๋‚˜๋ฅผ ์„ ํƒํ•˜๋ฉด , ํ•ด๋‹น ํ”Œ๋กœ์šฐ์˜ ๋„คํŠธ์›Œํฌ ๊ฒฝ๋กœ๊ฐ€ ํ‘œ์‹œ๋˜์–ด์•ผ ํ•จ- ์ด ๋ถ€๋ถ„์€ ํ˜„์žฌ ํ™”๋ฉด์— ๋ณด์—ฌ์ง€๋Š” ํ”Œ๋กœ์šฐ๊ฐ€ ์‹ค์ œ๋กœ ์šฐ๋ฆฌ๊ฐ€ manage ํ•  ์ˆ˜ ์žˆ๋Š” ์ˆ˜์ค€์˜ ๊ฒƒ์ด๋ƒ๋Š” ๊ฒƒ๊ณผ ๊ด€๋ จ๋จ- ์ฆ‰ , ํ™‰๋‹จ์œ„์˜ ํ”Œ๋กœ์šฐ๊ฐ€ ํ‘œํ˜„๋œ ๊ฒƒ์ด ๋งˆ์น˜ ํ•˜๋‚˜์ธ ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ด๋Š” ๊ฒƒ๊ณผ ์‹ค์ œ๋กœ ๊ทธ๊ฒƒ์ด ํ•˜๋‚˜์˜ flow object ๋กœ ๊ด€๋ฆฌ๊ฐ€ ๋˜๋Š” ๊ฒƒ๊ณผ๋Š” ์ฐจ์ด๊ฐ€ ์žˆ์Œ

19

Page 22: ENVI-based OpenFlow GUI v.0.5

Wish Listโ€ข ๊ฐ ์Šค์œ„์น˜์˜ flow ๋ชฉ๋ก

โ€“ ๊ฐ ์Šค์œ„์น˜๋ฅผ ์„ ํƒ์‹œ ์Šค์œ„์น˜์˜ ์ •๋ณด์™€ ํ•จ๊ป˜ ์Šค์œ„์น˜๋ฅผ ํ†ต๊ณผํ•˜๋Š” flow ๋ชฉ๋ก์„ ํ‘œํ˜„โ€ข Flow Table ์ •๋ณด๋ฅผ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ๋Š”๊ฐ€ ?

โ€“ Flow Table ์˜ ์ •๋ณด๋ฅผ ์ˆ˜์ง‘ ๋ฐฉ๋ฒ•โ€ข 1. ๊ฐ OpenFlow switch ์˜ โ€˜ ./dpctl dump-flowsโ€™ ๋ฅผ ํ†ตํ•ด ์ˆ˜์ง‘โ€ข 2. NOX ๋ฅผ ํ†ตํ•œ ๋ฐฉ๋ฒ•

โ€“ 1 ๊ณผ 2 ์˜ ๊ตฌ์ฒด์ ์ธ ๋ฐฉ๋ฒ• ??

โ€ข Flow ๋ณ„ ๋„คํŠธ์›Œํฌ ํŠน์„ฑโ€“ ๋Œ€์—ญํญ ์‚ฌ์šฉ๋Ÿ‰ (bps)โ€“ Loss ๋‚˜ delay ํ™•์ธ ๊ฐ€๋Šฅํ•œ๊ฐ€ ?โ€“ Java ์˜ sigar ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ํ™œ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•

โ€ข sigar ๋ฅผ ํ†ตํ•ด cup, memory, tx,rx ์˜ ์ •๋ณด ๋“ฑ์„ ์ˆ˜์ง‘ํ•  ์ˆ˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค .โ€“ sigar ์˜ ์–ด๋–ค ๋ชฉ๋ก์ด ์žˆ๊ณ  , ์–ด๋–ค ๋ชฉ๋ก์„ ํ™œ์šฉํ•  ๊ฒƒ์ธ๊ฐ€ ?

โ€ข ํ† ํด๋กœ์ง€ ์ „์ฒด์˜ flow ๋ชฉ๋กโ€“ ๋ฐœ์ƒ๋œ flow ์˜ ๋ชฉ๋ก์„ ํ‘œํ˜„

โ€ข End-to-End network monitoringโ€“ Available bandwidth ??

โ€ข End-to-End flow monitoringโ€“ Delay, loss ?? (End ๋ฅผ ์ด์šฉํ•œ ์ œ์–ด ์†”๋ฃจ์…˜์„ ํ†ตํ•ด์„œ ๊ฐ€๋Šฅ , ping, iperf)

โ€ข End-to-End Network monitoring ์€ ์ถฉ๋‚จ๋Œ€์ชฝ์˜ ์ •๋ณด๋ฅผ GUI ์— ์–ด๋–ค์‹์œผ๋กœ ํ‘œํ˜„์„ ํ•  ๊ฒƒ์ธ๊ฐ€ ?โ€ข End-to-End flow monitoring ์€ ์ƒ๊ฐ์„ ์ข€ ๋” ํ•ด๋ด์•ผ ํ•  ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค .

Page 23: ENVI-based OpenFlow GUI v.0.5

Testbed Configuration

Page 24: ENVI-based OpenFlow GUI v.0.5

Wish List

โ€ข ํ…Œ์ŠคํŠธ๋ฒ ๋“œ๋‚ด์˜ ๋ชจ๋“  ๋จธ์‹ ์— ๋Œ€ํ•œโ€“ ์›๊ฒฉ์ ‘์† / ์‹œ๋™ / ์žฌ์‹œ๋™ / ์ข…๋ฃŒ /โ€“ ํ”„๋กœ์„ธ์Šค์‹œ์ž‘ / ์ข…๋ฃŒ

โ€ข Controllerโ€ข FlowVisorโ€ข OFSwitchโ€ข Endhost

โ€ข ์Šค์œ„์น˜์˜ ๋ชฉ๋ก ์„ ํƒ์„ ํ†ตํ•œ ์ƒˆ๋กœ์šด topology ๊ตฌ์„ฑโ€“ Flowvisor ์ด์šฉ

โ€ข Tunnelingโ€“ ์‚ฌ์šฉํ•  Tunneling solution ์„ ํƒ ๋ฐ ์„ค์ •

Page 25: ENVI-based OpenFlow GUI v.0.5

โ€ข ์žฅ์น˜์˜ ์ถ”๊ฐ€ / ์ œ๊ฑฐโ€“ ์ƒˆ๋กœ์šด ์žฅ์น˜๋ฅผ ์ถ”๊ฐ€ (host, netfpga, of switch,

controller)โ€“ SNAC ์ฒ˜๋Ÿผ ํƒญ์„ ์—ฌ๋Ÿฌ๊ฐœ ๋งŒ๋“ค์–ด์„œ

โ€ข ํ•œ ํƒญ์—๋Š” ์žฅ์น˜์˜ ๋ชฉ๋ก์„ ๋ณด์—ฌ์ฃผ๊ณ  ( ์ถ”๊ฐ€ / ์ œ๊ฑฐ๋„ ์—ฌ๊ธฐ์—์„œ )

โ€ข ๋‹ค๋ฅธ ํƒญ์—์„œ๋Š” ์žฅ์น˜๋“ค ์‚ฌ์ด์˜ ์—ฐ๊ฒฐ๊ด€๊ณ„๋ฅผ ๋ณด์—ฌ์คŒโ€ข ํ•ด๋‹น ์žฅ์น˜๊ฐ€ ๋‹ค๋ฅธ ์žฅ์น˜์™€ ์–ด๋–ป๊ฒŒ ์—ฐ๊ฒฐ๋˜์–ด์žˆ๋Š”์ง€์˜

์ •๋ณด๋Š” controller ๋ฅผ ํ†ตํ•ด์„œ ์•Œ ์ˆ˜ ์žˆ์Œ

23

์†์œผ๋กœ GUI ์˜ ๋ชจ์Šต์„ ๊ทธ๋ ค๋ณด์ž

Page 26: ENVI-based OpenFlow GUI v.0.5

์žฅ์น˜๋ชฉ๋ก tab

24

Page 27: ENVI-based OpenFlow GUI v.0.5

ํ”Œ๋กœ์šฐ ๋ชฉ๋ก tab

25

Page 28: ENVI-based OpenFlow GUI v.0.5

Physical network substrate tab & Virtual Network tab

โ€ข Physical network substrate tab

โ€“ ๋ชจ๋“  switch ์™€ end host ๊ฐ€ ์–ด๋–ป๊ฒŒ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋Š”์ง€๋ฅผ ํ‘œํ˜„

โ€“ Flowvisor ์™€ Controller ๋„ ํ‘œํ˜„๋จ

โ€“ ์ด ํƒญ์—์„œ switch ๋“ค์„ ์„ ํƒํ•˜๊ณ  , ์ด๋“ค์„ flowvisor ๋ฅผ ํ†ตํ•ด controller ์™€ ์—ฐ๊ฒฐํ•˜์—ฌ virtual network ๋ฅผ ์ƒ์„ฑ

โ€ข Virtual network tab

โ€“ Flowvisor ๋ฅผ ํ†ตํ•ด ๊ตฌ์„ฑ๋œ ๊ฐ€์ƒ์˜ ๋„คํŠธ์›Œํฌ๋ฅผ ํ‘œํ˜„ํ•˜๊ณ  ๊ด€๋ฆฌ

26

Page 29: ENVI-based OpenFlow GUI v.0.5

Review

โ€ข Ngkim> testbed configuration ui ๋กœ์„œ ํ•„์š”ํ•œ ๊ธฐ๋Šฅ๋“ค์„ ์ข€ ๋” ๊ตฌ์ฒด์ ์œผ๋กœ ์ ์–ด ๋ณด์•˜์Œโ€“ ํ˜„์žฌ ์ ์–ด๋†“์€ ๊ฒƒ์ฒ˜๋Ÿผ ๋ฐ”๋กœ ๊ตฌํ˜„ํ•˜๋ ค๊ณ  ํ•˜๊ธฐ๋ณด๋‹ค๋Š”

๋‹จ์œ„ ๊ธฐ๋Šฅ๋ณ„๋กœ ๊ตฌํ˜„ํ•˜๊ณ  , ์ถ”ํ›„์— ํ†ตํ•ฉํ•˜๋Š” ํ˜•ํƒœ๋กœ ์ง„ํ–‰

โ€ข ๋‹จ์œ„ ๊ธฐ๋Šฅ์—์„œ๋„ ์ผ๋‹จ command line, ๊ทธ ํ›„ guiโ€ข ๊ตฌํ˜„ํ•  ๊ธฐ๋Šฅ ์ค‘ ์šฐ์„  ์ˆœ์œ„๋ฅผ ๊ฒฐ์ •ํ•  ํ•„์š”๊ฐ€ ์žˆ์Œ

27

Page 30: ENVI-based OpenFlow GUI v.0.5

NETWORKING SERVICE UI

28

Page 31: ENVI-based OpenFlow GUI v.0.5

Networking Service UI

โ€ข NetOpen UI Software (Version 0.2)

โ€“ NetOpen RA ์˜ Software-defined (Programmable & Virtualized) Networking ์„œ๋น„์Šค์— ๋Œ€ํ•œ ๊ฐ€์‹œํ™” ( ๋ชจ๋‹ˆํ„ฐ๋ง ๊ฒฐ๊ณผ ) ๋ฐ ์ œ์–ด๋ฅผ ์œ„ํ•œ ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค

โ€“ (Version 0.1.1) Packet Routing Service ๊ฐœ๋ฐœโ€“ (Version 0.1.2) Tunneling Service ๊ฐœ๋ฐœโ€“ (Version 0.1.3) Packet Routing Service ์™€ Tunneling Serivce ์˜ ์—ฐ๋™

โ€ข ๋ชฉํ‘œโ€“ ๊ฐ€์žฅ ๋จผ์ € packet routing service ๋ฅผ ๊ฐœ๋ฐœํ•˜์—ฌ OF substrate ๋ฅผ ํ†ตํ•ด ์—ฐ๊ฒฐ๋œ

end ์‚ฌ์ด์˜ ์—ฐ๊ฒฐ์„ฑ์„ ์ œ๊ณตํ•˜๊ณ  ,

โ€“ ๋‹ค์Œ์œผ๋กœ tunneling service ๋ฅผ ๊ฐœ๋ฐœํ•˜์—ฌ ์ง์ ‘ ์—ฐ๊ฒฐ๋˜์ง€ ์•Š์€ OF substrate ์‚ฌ์ด์˜ ์—ฐ๊ฒฐ์„ ์ œ๊ณตํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•˜๋ฉฐ ,

โ€“ ์ตœ์ข…์œผ๋กœ๋Š” ์ด ๋‘˜์„ ํ•„์š”์— ๋”ฐ๋ผ ์ˆ˜๋™์œผ๋กœ ์—ฐ๋™ํ•˜์—ฌ ํ™•์žฅ๋œ ๋„คํŠธ์›Œํฌ์˜ ์—ฐ๊ฒฐ์„ฑ์„ ์ œ๊ณต

29