provinet : an open platform for programmable virtual network management @ compsac2013

41
Wanderson Paim de Jesus Juliano A. Wickboldt and Lisandro Z. Granville ProViNet: An Open Pla>orm for Programmable Virtual Network Management 2013 July 24th. Kyoto, Japan. Computer Networks UFRGS

Upload: wanderson-paim

Post on 20-Jul-2015

128 views

Category:

Technology


2 download

TRANSCRIPT

Wanderson)Paim)de)Jesus)Juliano(A.(Wickboldt(and(Lisandro(Z.(Granville(

ProViNet:((An(Open(Pla>orm(for(Programmable(

Virtual(Network(Management(

2013((July(24th.(Kyoto,(Japan.(

Computer)Networks)UFRGS&

INDEX(

1.   Introduc4on)2.   Conceptual)Solu4on)3.   Prototype)4.   Experimental)Verifica4on)

5.   Final)Remarks)

ProViNet:((An(Open(Pla>orm(for(Programmable(Virtual(Network(Management(

1 ProViNet:((An(Open(Pla>orm(for(Programmable(Virtual(Network(Management(

INTRODUCTION

PROGRAMMABLE NETWORKS

3(

Programmable)Network)(Campbell,)1999))

•  Quickly(creaRng,(deploying,(and(managing(novel(inSnetwork(services(in(response(to(emerging(demands(

(

Network)Virtualiza4on)(Chowdhurry)and)Boutaba,)2008))

•  Allows(the(coexistence(of(mulRples(virtual(networks(over(the(same(physical(infrastructure(

)

Programmable)Virtual)Network)

•  Isolated(virtual(network(layers(with(programmable(control(logic(

Basic)Concepts)

1 ProViNet:((An(Open(Pla>orm(for(Programmable(Virtual(Network(Management(

INTRODUCTION

SOFTWARE-DEFINED NETWORKING

SDN)

[ONF(WhitePaper,(2013](

Business(ApplicaRons(

APPLICATION(LAYER(

CONTROL(LAYER( SDN(Control(So^ware( Network(Services(

Control(Data(Plane(interface((e.g.,(OpenFlow)(

INFRASTRUCTURE(LAYER(

Network(Device( Network(Device( Network(Device(

Network(Device(Network(Device(

1 ProViNet:((An(Open(Pla>orm(for(Programmable(Virtual(Network(Management(

INTRODUCTION

RESEARCH CHALLENGES

How)to)foster)Future)Network)innova4on)with)SDN?)

Business(ApplicaRons(

APPLICATION(LAYER(

Where)to)run)Business)Applica4ons?)

•  Physical(Servers?(Virtual(Machines?)

How)to)manage)these)applica4ons?)

Who)will)develop)such)Business)Applica4ons?)

•  Outsource?(Add(this(to(Network(Administrators(duty(list?)

In)which)language)level)these)applica4ons)should)be)coded?)

What)is)a)good)business)model)for)Applica4on)Layer?)

INDEX(

1.   Introduc4on)2.   Conceptual)Solu4on)3.   Prototype)4.   Experimental)Verifica4on)

5.   Final)Remarks)

ProViNet:((Uma(Plataforma(para(Gerenciamento((de(Redes(Virtuais(Programáveis(

6(

2 ProViNet:((An(Open(Pla>orm(for(Programmable(Virtual(Network(Management(

CONCEPTUAL SOLUTION

BUSINESS MODEL

7([Chowdhury(and(Boutaba,(2008](

Network(VirtualizaRon(Business(Model(

Service)Provider)

End)User)

Infrastructure)Provider)

Broker)

2 ProViNet:((An(Open(Pla>orm(for(Programmable(Virtual(Network(Management(

CONCEPTUAL SOLUTION

BUSINESS MODEL

8(

Business(ApplicaRons(

APPLICATION(LAYER(

CONTROL(LAYER(SDN(Control(So^ware( Network(Services(

Control(Data(Plane(interface((e.g.,(OpenFlow)(

INFRASTRUCTURE(LAYER(

Network(Device( Network(Device( Network(Device(

Network(Device(Network(Device(

Network(VirtualizaRon(Environment( So^wareSDefined(Networking(

Service)Provider)

End)User)

Infrastructure)Provider)

Broker)

2 ProViNet:((An(Open(Pla>orm(for(Programmable(Virtual(Network(Management(

CONCEPTUAL SOLUTION

BUSINESS MODEL

9(

Business(ApplicaRons(

APPLICATION(LAYER(

CONTROL(LAYER(SDN(Control(So^ware( Network(Services(

Control(Data(Plane(interface((e.g.,(OpenFlow)(

INFRASTRUCTURE(LAYER(

Network(Device( Network(Device( Network(Device(

Network(Device(Network(Device(

End)User)

Broker)

2 ProViNet:((An(Open(Pla>orm(for(Programmable(Virtual(Network(Management(

CONCEPTUAL SOLUTION

BUSINESS MODEL

10(

Business(ApplicaRons(

APPLICATION(LAYER(

CONTROL(LAYER(SDN(Control(So^ware( Network(Services(

Control(Data(Plane(interface((e.g.,(OpenFlow)(

INFRASTRUCTURE(LAYER(

Network(Device( Network(Device( Network(Device(

Network(Device(Network(Device(

End)User)

Broker)

End(User(ApplicaRons(

2 ProViNet:((An(Open(Pla>orm(for(Programmable(Virtual(Network(Management(

CONCEPTUAL SOLUTION

BUSINESS MODEL

11(

Business(ApplicaRons(

APPLICATION(LAYER(

CONTROL(LAYER(SDN(Control(So^ware( Network(Services(

End)User)

End(User(ApplicaRons(

Network(Programming(as(a(Service(

From(the(Service(Provider(point(of(view(

2 ProViNet:((An(Open(Pla>orm(for(Programmable(Virtual(Network(Management(

CONCEPTUAL SOLUTION

ProViNet PLATFORM

12(

End)User)

ProViNet(Pla>orm(

Infrastructure)Provider)

VIRTUAL(INFRASTRUCTURE(PROVIDER(

2 ProViNet:((An(Open(Pla>orm(for(Programmable(Virtual(Network(Management(

CONCEPTUAL SOLUTION

BUSINESS MODEL

13(

REST(API(CTL(master(

CTL(slave(

...( UserS1(Control(Cluster(

CTL(master(

CTL(slave(

...(

...(

...(

...(

UserSn(Control(Cluster(

NBAPI(

END(USERS(

End(User(Interfaces(

Network(ApplicaRons(Management(

PVN(Control(

SBAPI(

ProViNet(Core(

Scalable(Control(Plane(

Slices(of(Programmable(Virtual(Network(

2 ProViNet:((An(Open(Pla>orm(for(Programmable(Virtual(Network(Management(

CONCEPTUAL SOLUTION

PVN CONTROL

14(

Managing)SDN)controllers)at)SCP)

•  Create,(Delete,(Start,(Stop(Controller(instances(

Resource)requests)to)the)Virtual)Infrastructure)Provider)

How)to)textually)represent)Virtual)Network)resources?)

•  Virtual(Resources(and(InterconnecRon(Networks(DescripRon(Language((VXDL)(

VIRTUAL(INFRASTRUCTURE(PROVIDER(

PVN(Control(

VXDL(

Scalable(Control(Plane((SCP)(

Programmable)Virtual)Network)Control)

CTL(

master(

CTL(

slave(...( UserS1(

Control(Cluster(

CTL(

master(

CTL(

slave(...(

...(

...(

...(

UserSn(Control(Cluster(

Network(ApplicaRons(Management(

2 ProViNet:((An(Open(Pla>orm(for(Programmable(Virtual(Network(Management(

CONCEPTUAL SOLUTION

Network Application Management

15(

Stores(and(executes(network(applicaRons(

Northbound(API(to(the(master(controller(

Southbound(API(to(the(vSwitches(

Isola4on)

•  Different(Control(Clusters(for(each(user(

Scalability)

•  Controllers(are(running(in(a(Scalable(Virtual(Environment(

CTL(master(

CTL(slave(

...( UserS1(Control(Cluster(

CTL(master(

CTL(slave(

...(

...(

...(

...(

UserSn(Control(Cluster(

NBAPI(

SBAPI(

2 ProViNet:((An(Open(Pla>orm(for(Programmable(Virtual(Network(Management(

CONCEPTUAL SOLUTION

NBAPI DISPATCHER

16(

Network)Applica4on)execu4ng)approach)

Available(Services(

Services(ExecuRon(Queue( NBAPI(Dispatcher(

Controller(URL(

Input(Parameters(

Service(outputs(

...( CTL(

ProViNet(Web(GUI( vSwitches(

SBAPI(

GUI(

Input(Parameters(

2 ProViNet:((An(Open(Pla>orm(for(Programmable(Virtual(Network(Management(

CONCEPTUAL SOLUTION

END USER INTERFACES

17(

PVN&Control&related)Interfaces)•  Request(virtual(network(infrastructures(

•  Manage(controllers(at(Scalable(Control(Plane(

Network&Applica8ons&Management&related)interfaces)•  Manage(control(plane(available(services(

•  Users(Access(and(Project(Management(

•  Network(ApplicaRon(Coding(

END(USERS(

End(User(Interfaces(

Interfaces)

2 ProViNet:((An(Open(Pla>orm(for(Programmable(Virtual(Network(Management(

CONCEPTUAL SOLUTION

Network Application Management

18(

Programming(Granularity(

Programming(Simplicity(

GRANULARITY(

Per(packet(control(

Per(flow(control(

Per(service(control(

SIMPLICITY(

Set(rouRng(rules,(priority((

Check(packet(payload(and(headers((DPI)(

Challenge)of)Programming)Abstrac4ons)

Start/Stop(services,(set(Parameters(

2 ProViNet:((An(Open(Pla>orm(for(Programmable(Virtual(Network(Management(

CONCEPTUAL SOLUTION

Network Application Management

19(

Programming(Granularity(

Programming(Simplicity(

GRANULARITY(

Per(packet(control(

Per(flow(control(

Per(service(control(

SIMPLICITY(

Set(rouRng(rules,(priority((

Check(packet(payload(and(headers((DPI)(

Challenge)of)Programming)Abstrac4ons)

Start/Stop(services,(set(Parameters(

2 ProViNet:((An(Open(Pla>orm(for(Programmable(Virtual(Network(Management(

CONCEPTUAL SOLUTION

Network Application Management

20(

Programming(Granularity(

Programming(Simplicity(

GRANULARITY(

Per(packet(control(

Per(flow(control(

Per(service(control(

SIMPLICITY(

Set(rouRng(rules,(priority((

Check(packet(payload(and(headers((DPI)(

Challenge)of)Programming)Abstrac4ons)

Start/Stop(services,(set(Parameters(

2 ProViNet:((An(Open(Pla>orm(for(Programmable(Virtual(Network(Management(

CONCEPTUAL SOLUTION

NETWORK APP COMPOSER

BPMN(Network(Programming(

LoadBa

lancer(

Firewall((((

Broadcast(

Datacenter(

NETWORK(SERVICES(

2 ProViNet:((An(Open(Pla>orm(for(Programmable(Virtual(Network(Management(

CONCEPTUAL SOLUTION

NETWORK APP COMPOSER

Example(of(BPMN(Network(ApplicaRon(

Set(Firewall(Rules(+(

Get(Firewall(Log( Send(eSmail(+(

Intrusion(Detector(

Set(Firewall(Rules(+(

Get(Firewall(Log(

Intrusion(Detector(

Remote(Services(

Local(Services(

Intrusion(detected?(

No(Yes(

Wait(5min(

Send(eSmail(+(

INDEX(

1.   Introduc4on)2.   Conceptual)Solu4on)3.   Prototype)4.   Experimental)Verifica4on)

5.   Final)Remarks)

ProViNet:((An(Open(Pla>orm(for(Programmable(Virtual(Network(Management(

3 ProViNet:((An(Open(Pla>orm(for(Programmable(Virtual(Network(Management(

PROTOTYPE

TECHNOLOGIES

24(

VIRTUAL(INFRASTRUCTURE(PROVIDER(

REST(API(CTL(master(

CTL(slave(

...( UserS1(Control(Cluster(

CTL(master(

CTL(slave(

...(

...(

...(

...(

UserSn(Control(Cluster(

NBAPI(

END(USERS(

End(User(Interfaces(

Network(ApplicaRons(Management(

PVN(Control(

SBAPI(

ProViNet(Core(

Scalable(Control(Plane(

Slices(of(Programmable(Virtual(Network(

WireIt

HyFS(

3 ProViNet:((An(Open(Pla>orm(for(Programmable(Virtual(Network(Management(

PROTOTYPE

NETWORK APP COMPOSER

25(

ProViNet)Composer)Interface)by:(WireIt(Javascript(Library(

3 ProViNet:((An(Open(Pla>orm(for(Programmable(Virtual(Network(Management(

PROTOTYPE

ProViNet Dashboard

26(

Scalable(Control(Plane(

Infrastructure(Provider(:(Virtual(Network(Slices(

Network(ApplicaRons(

INDEX(

1.   Introduc4on)2.   Conceptual)Solu4on)3.   Prototype)4.   Experimental)Verifica4on)

5.   Final)Remarks)

ProViNet:((An(Open(Pla>orm(for(Programmable(Virtual(Network(Management(

End\User)access)policy)

•  Inaccessible,(Restricted(Access,(Accessible(

Network)Topology)Restric4ons)

•  Physically(dependent,(Physically(independent,(Virtually(limited(

Resource)Descrip4on)

•  VIDL(compaRble,(VIDL(incompaRble(

Resource)Request)Method)

•  OneSbySone(requests,(All(at(once(request,(Both(

Target)Public)

•  Researchers,(Cloud(Operators,(EndSUsers(

Evalua4on)Criteria)

4 ProViNet:((An(Open(Pla>orm(for(Programmable(Virtual(Network(Management(

EXPERIMENTAL VERIFICATION

QUALITATIVE

28(

4 ProViNet:((An(Open(Pla>orm(for(Programmable(Virtual(Network(Management(

EXPERIMENTAL VERIFICATION

QUALITATIVE

29(

ProViNet)OFELIA)Control)))Framework)Criteria)

1(S(EndSUser(access(policy(

4(S(Resource(Request(Method(

5(S(Target(Public(

3(S(Resource(DescripRon(

2(S(Network(Topology(RestricRons(

Accessible(

Physically(Independent(

VIDL(CompaRble(

All(at(once(request(

End(Users(

Restricted(Access(

Physically(Dependent(

VIDL(not(CompaRble(

OneSbySone(request(

Researchers(

4 ProViNet:((An(Open(Pla>orm(for(Programmable(Virtual(Network(Management(

EXPERIMENTAL VERIFICATION

QUALITATIVE

ProViNet) CITRIX)DVS))Criteria)

Restricted(Access(

Virtually(Limited(

VIDL(not(CompaRble(

OneSbySone(request(

Cloud(Operators(

1(S(EndSUser(access(policy(

4(S(Resource(Request(Method(

5(S(Target(Public(

3(S(Resource(DescripRon(

2(S(Network(Topology(RestricRons(

Accessible(

Physically(Independent(

VIDL(CompaRble(

All(at(once(request(

End(Users(

4 ProViNet:((An(Open(Pla>orm(for(Programmable(Virtual(Network(Management(

EXPERIMENTAL VERIFICATION

QUANTITATIVE

31(

Case(Study:(

))6)(Hosts())4((vSwitches(10((Links())2((Controllers(

4 ProViNet:((An(Open(Pla>orm(for(Programmable(Virtual(Network(Management(

EXPERIMENTAL VERIFICATION

QUANTITATIVE

32(

Ttotal = Tupload + Tctl_request + Tvxdl_edit + TVIP

Control(Pool(PVN(Control(EndSUser( VIP(

Request(Controllers(Instances(

Return(controller(instances(informaRons(

Upload(VXDL(file(and(set(redundancy(level(

Request(Virtual(Infrastructure((VXDL)(

Status(of(the(request(and(virtual(machine(access(informaRon(

Add(controller(instances(informaRon(to(VXDL(file(

Save(and(show(access(data(

Tupload)

Tctl_request)

Tedit_vxdl)

TVIP)

Virtual(Infrastructure(request(and(control(plane(configuraRon(sequence(diagram(

4 ProViNet:((An(Open(Pla>orm(for(Programmable(Virtual(Network(Management(

EXPERIMENTAL VERIFICATION

BOOTSTRAP & CONFIGURATION

33(

0.0293s( 0.0388s(

Tupload Tctl_request) Tvxdl_edit TVIP) Ttotal)

49.6581s( 43.0345s( 92,7608s(

Table(I(Bootstrap(and(ConfiguraRon(performance(

4 ProViNet:((An(Open(Pla>orm(for(Programmable(Virtual(Network(Management(

EXPERIMENTAL VERIFICATION

QUANTITATIVE

34(

Add(Flow( 0.1480s(

NBAPI)Request) Average)Time)

List(Flow( 0.0619s(

Delete(Flow( 0.1246s(

Table(II(NBAPI(Dispatcher(performance(

INDEX(

1.   Introduc4on)2.   Conceptual)Solu4on)3.   Prototype)4.   Experimental)Verifica4on)

5.   Final)Remarks)

ProViNet:((An(Open(Pla>orm(for(Programmable(Virtual(Network(Management(

5 ProViNet:((An(Open(Pla>orm(for(Programmable(Virtual(Network(Management(

FINAL REMARKS

REVIEW & CONCLUSIONS

36(

Review:))

•  Computer(Networks(have(always(been(a(tough(environment(for(innovaRon(

•  Programmable(Virtual(Network,(more(precisely(SDN(is(a(promising(soluRon(to(reverse(the(network(ossificaAon(state(

•  However(the(End(Users(are(considered(just(service(consumers(in(the(current(business(models(

•  We(propose(a(novel(business(model(in(which(the(End(User(is(able(to(develop(its(own(network(soluRons(

•  To(support(such(business(model(we(propose(a(management(pla>orm(called(ProViNet(

Conclusions:))

•  The(pla>orm(prototype(has(shown(the(technical(viability(of(the(model)

•  Different(from(other(proposals(ProViNet(focus(in(the(End(Users(and(promote((innovaRon(by(expanding(the(amount(of(potenRal(innovators(

5 ProViNet:((An(Open(Pla>orm(for(Programmable(Virtual(Network(Management(

FINAL REMARKS

FUTURE WORK

37(

Network)Applica4on)Executor:))

•  Define(a(standard(output(for(network(programming,(such(as(BPEL,(so(enabling(exisRng(tools(to(run(network(applicaRons(

Control)Plane)Management:))

•  Improve(High(Availability(policies(

Virtual)Infrastructure)Provider:))

•  Define(a(standard(communicaRon(protocol(for(VIP(requests,(such(as(Eucatools,(Amazon(Web(Services(

5 ProViNet:((An(Open(Pla>orm(for(Programmable(Virtual(Network(Management(

FINAL REMARKS

FUTURE WORK

38(

Open)Source:))

•  hqp://github.com/computerSnetworksSufrgs/provinet(

Research)Community:))

•  hqp://www.futureinternet.br(

Prototype)Screencast:))

•  YouTube:(“ProViNet(–(SDN(Management(Pla>orm”(

Following)ProViNet)

?(Question(

THANK YOU! �

| KYOTO - JAPAN(JULY 24th, 2013([email protected]( |

Wanderson)Paim)de)Jesus)Juliano(A.(Wickboldt(and(Lisandro(Z.(Granville(

ProViNet:((An(Open(Pla>orm(for(Programmable(

Virtual(Network(Management(

2013((July(24th.(Kyoto,(Japan.(

Computer)Networks)UFRGS&