Upload
others
View
8
Download
0
Embed Size (px)
Citation preview
Network Platform for Creating Services over Virtualized Networks
August 24, 2012
Toru HasegawaKDDI R&D Labs.
Outline
IntroductionToy Block Programming Environment Network PlatformExample ServiceConclusionAcknowledgement
2copyright by KDDI R&D Labs., The University of Tokyo, NEC and HITACHI
Introduction
Virtual Network Service Infrastructure Project 1)
The goal is to develop a network virtualization platform ofachieving all the requirements below
Funded by NICT, from 2011 to 2015
Requirements to Network Virtualization 2)
Isolation of resources, Security, Scalability, Evolvability,Performance, Programmability and Management
Network Platform for Flexibly-Programmable AdvancedService Composition over Virtualization Network Sub-project
The goal is to develop the technologies of supportingprogrammability and management
KDDI R&D Labs, The University of Tokyo, Hitachi and NEC
3
1) http://www.nict.go.jp/en/nrh/nwgn/nwgn-virtualnetwork.html2) A. Nakao, “Network Virtualization as Foundation for Enabling New Network Architectures and Applications,” IEICE Transactions
on Communications, Vol. E93B, Issue 3, pp. 454-457, March 2010.
Network Platform for Creating Services over Virtualized Networks
What’s a network platform?Programming and execution environment where anyone can easilyprogram network services in a slice over a virtualized network
Goals of PlatformProgrammability
Toy block programming environment wherein a service is programmed astoy blocks would be assembled
Service: a collection of network functions of nodes
The main objective is to encourage a service designer to re-use of codesimplemented by others instead of implementing them for themselves
Codes of implementing protocol mechanisms.
ManagementExecution environment where toy blocks are distributed to nodes in a slicereduces burdens of service
Extending slices to different domains (Federation) in order to provide largescale tests
4copyright by KDDI R&D Labs., The University of Tokyo, NEC and HITACHI
Architecture: Toy Block Programming Framework
5copyright by KDDI R&D Labs. and The University of Tokyo
Interface Layer
Composite Layer
Component Layer
UserInterface
Component
Component Component
ComponentComponent
Interface
Input
Output
Assembling blocks
FunctionalUnit
Distributed to node slivers in a slice
∑= deSliversBlocksOfNoService
Toy Block Programming Framework: Current and Future
Current : Modular Framework like (ex) SILO, RNA, x-kernelFocuses on a program run on a single nodeBlocks (modules) areassembled in a single nodeThe frameworks supportshow blocks in a node areconnected
6
L2/PHY
L2/PHY
L2/PHY L2/PHYL2/PHY
L2/PHYL2/PHY
L2/PHYIPTCPDHT
IPTCPDHT
IPTCPDHT IP IP
TCPSMC
IPTCPDHT
IPTCPSMC
IP
VMVM
VM VM VM
VMVM
VM
unreliable datagram deliveryreliable transport
DHT SMC
Future :Focuses on program run on multiple nodes for providing a service ex) DHT service, SMC serviceBlocks (Functional Units) on different nodes are assembled to a serviceThe framework supports howblocks in multiple nodes areconnected.
Interface checking blocksin multiple nodes
TCP TCP TCPIP IP IPIP
SMC (Secure Multiparty Computation)DHT (Distributed Hash Table)
VM (Virtual Machine)
copyright by KDDI R&D Labs
Overview of Network Platform
7copyright by KDDI R&D Labs., The University of Tokyo, NEC and HITACHI
SliceExchange
Point
Domain B
スライス
(仮想ネットワーク)
Domain A
Slice
Service DesignTool
Programming a service as toy
blocks would be assembled
Federation to other virtual
networks
Node Sliver(Virtual node)
Node
ServiceDeployment
Tool
Distributing functional units to virtual nodes in a
slice
Access networkControl
Accomodating mobile devices
Functional Unit
Flow of Programming and Deploying a Service
8
eth0 eth1
eth0 eth1
eth0 eth1
eth0 eth1
Node 4
Node 3
Node 2
Node 1
TCPIPeth
Programmer(Programming a Block)
ServiceDesigner
ServiceDesign Tool
ServiceOperator
Service Deployment Tool
Slice DesignerBlock Definition
(XMLFile)
Slice Definition(XMLFile)
eth0 eth1
eth0 eth1
eth0 eth1
eth0 eth1
TCP
IP
IPTCP
IP
IP
Node 4
Node 3
Node 2
Node 1
Service Blueprint(XMLFile)
copyright by KDDI R&D Labs. and The University of Tokyo
Service Design Tool
9
Service Blueprint Design Tool− Editing a service blue print− Outputting an XML file of service
blue print
Service Layout Plan Design Tool− Reading a slice definition and a
service blueprint− Outputting a file specifying which
blocks are allocated to which nodes
Service Blueprint Design Tool
Service Layout Plan Design Tool
Invocation, edition
copyright by KDDI R&D Labs. and The University of Tokyo
Implementation of Network Platform
10
NodeSliver
NodeSliver
Link Sliver
ServiceControl Node
Physical Network
Control Plane forDistributing Blocks
Slice(Virtual Network)
Service Blurprint Service Blueprint
Virtualized Network Infrastructure
Network Platform
Service
…End User
ServiceController
Node Sliver
NodeSliver
LinuxKernel
Node SliverContoller
Library
Block
sshd
Block Block
Click
BlockBlock Block
ServiceOperator
copyright by KDDI R&D Labs. and The University of Tokyo
Service Deployment Tool
11
BlockClick Block ex.) IP Routing Control, Routing Table SearchUser Process Block (Socket Program) ex.) Web server, Trans-coder
Kernel Leve;Click Driver
ServiceController
Node SliverController
eth0 eth1 eth2 eth3 eth4
TCP/IPStack
eth
ControlPlane
sshd↑ User Space
↓ Kernel Space
To Other Node Slivers
Link Sliver
TCP,UDP/IP Satck
User LevelClick Driver
UserProcessBlock
UserProcessBlock
Service ControlNode
Node Sliver
ClickBlock
ClickBlock
ClickBlock
ClickClock
copyright by KDDI R&D Labs. and The University of Tokyo
How a service is deployed
12
Service Operator Service Controller
Node SliverController
Resource Allocation
Node Sliver(sshd)Slice Definition
OK①Slice Creation
Service InvocationService Invocation
InvocationOK
OKOK
③Service Invocation
OK
Service Allocation Plan, Slice Definition, Block Definition
Node Sliver ControllerInstall and Invoke
Block denifinition
OK
②Service Deployment
Install
OKOK
Control port Information Request
Control Port Information
Block
… … … … … …
Virtualized Network Infrastructure
copyright by KDDI R&D Labs. and The University of Tokyo
13
Slice Exchange Point (1)
GW SEP Core
Virtualized NetworkInfrastructure A
GW
Virtualized NetworkInfrastructure B
Common APIs Common APIsAPIs ProprietaryTo Infrastructure A
APIs ProprietaryTo Infrastructure B
Slice Slice
Federated slice across the two infrastructures
Controller ContollerSlice Exchange Point (SEP)
GW : Gate Way SEP : Slice Exchange Point
copyright by KDDI R&D Labs. and HITACHI
Slice Exchange PointSEP enables the federation (slice creation/deletion/modification,resource information exchange) between heterogeneousvirtualization infrastructures.SEP introduced the common APIs to federate many types ofinfrastructures.
14copyright by KDDI R&D Labs. and HITACHI
Slice Exchange Point (2)
Common APIs for SEP(Slice creation/deletion/
modification, resource info, etc)
APIs ProprietaryTo Infrastructure A
(Slice creation/deletion/modification,
resource info, etc)
Control systemPlatform-A
Data-planeconversion
APIs/parametersconversion
differentialabsorptionfunction
GW SEPCORE
Slices(Node slivers, Link slivers)
Implementation StatusThe prototype implementation of platform is done.
The prototypes of service design/deployment tools have been implemented. The prototype of SEP has been implemented, too.
Implementing services over the platform is on going.Disaster Victim Information Query ServiceService wherein functional units (blocks) are replicated or reducedIntelligent Cache Serviceetc.
15
Service Example 1: Disaster Victim Information Discovery
16
Query service provides how many disaster victims are at which evacuation sites
When a disaster occurs, a slice for victim information discovery is created
Disaster victims uploads at which evacuation sites they are
Such information pieces are searched and collected by the collectors and then are finally stored at the store
Rescue Person
Web Browser
Wireless-link
Ad-hoc link
Slice
Node Sliver
Query Sever
InformationCollector
InformationStore
InformationCollector
InformationCollector
copyright by KDDI R&D Labs
17
Service Blueprint
Rescue Person
TCP/IP
TCP/IP
Web Browser
Apache Query Interface
TCP/IP
InformationStore
Informationmanager
InformationCollector
Victim
Name resolver
Name server
eth0
eth1
Query Sever
CGI
eth2
INET,Stream INET,Stream
eth1
INET,Stream
eth2
MySQLSQL/UNIX Stream
TCP/IP
Informationcollector
eth1
INET,Stream
eth2
MySQLSQL/UNIX Stream
dynamic DNS/INET StreamINET, Dgram
TCP/IP
eth0
Client for victim
Slice
copyright by KDDI R&D Labs
Example Service 2: Replication and Reduction of FUs
18
Replicating or Reducing FUs (peers) during their executiondepending the load of nodes
(Sample service)BitTorrent-like network is created andits structure changes depending on the load of download.
FU(Peer)
FU(Tracker)
FU(Peer)
Service Controller
FU(Peer)
Slice
copyright by KDDI R&D Labs. and NEC
Replicating FUsat high load
Consolidating FUs at low load
19
Motivation: Dynamism in Allocating Blocks
Virtual network service infrastructure need allow a service to be provisioned so that network resources are utilized optimally
Function Units (FUs) are replicated when the load is increasing.FUs are reduced when the load is decreasing.FU is relocated to a suitable node sliver after a user moves to another location
However, such dynamisms introduce complexities into the infrastructure. Thus, these are performed by FUs themselves, so far.
FU replication needs initial settings of added FU to fit the on-going service provisioning.FU reduction needs preparation to migrate processed user accesses to remaining FUs.FU relocation needs combination of FU initial settings and migration of user accesses.
20
How FU is replicated in on-going service
Service Operator Service ControllerNode SliverController
Node Sliver(sshd)
④Dynamic replication
Node Sliver Controller
Install and Invoke
Block denifinition Install
Replication req.
OK
Block
… … … … … …Virtualized Network
Infrastructure
Node SliverController
Node Sliver(sshd) Block
Replication request (block id)
Selecting Service Definition
OK
(Begin to run)
Initial settings for replica FU
Service InvocationInvocation
OKOK
Replication res.Replication response (block id)
Same procedure as service
deployment
ConclusionProposal of network platform for creating services over virtualized networks
A new service is easily and lightly programmed in a sliceA service is deployed in a slice covering different types of virtual networks
Openness of programming and execution environmentOpen APIRich sample functional units (blocks)
The prototype is implemented The experiments over the JGN-X Testbed are planned
21
Acknowledgements
Network Platform Project for Virtualized Networks
funded by NICTFrom 2011 to 2015.
CollaboratorsKDDI R&D Laboratories, Inc.The University of TokyoNECHITACHI
22copyright by KDDI R&D Labs., The University of Tokyo, NEC and HITACHI