Upload
wanderson-paim
View
130
Download
2
Embed Size (px)
Citation preview
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)