Title: User Programmable Virtualized Networks
1User Programmable Virtualized Networks
- Rudolf Strijkers
- Promotor Rob Meijer
2About
- PhD research on next-generation Internet
- March 2007
- Center for Intelligent Observation Systems (CIOS)
- A Cooperation between TNO and the University of
Amsterdam - TNO ICT
- Intelligent Sensor Networks Program
- Rob Meijer, Judith Boertjens
- University of Amsterdam
- Systems and Network Engineering (SNE) working
group - Cees de Laat
- Current work continuation of Master project at
TNO - The Network is in the Computer
3Introduction
- Networks
- Internet model
- User Programmable Virtualized Networks
- Implementation
- Applications
- Demonstration Algebraic manipulation
- Future work
4Networks
- Traditional approachapplication un-aware
- Best/constant -effort
- End-to-end
- Sensor networks stimulate new research
- How does the sensor know where the application
is? - Coldest path?!
Sensor
Traditional
5Internet model
- Concept network details are abstracted away
- Hierarchy
- Layered model
- Multicast breaks the model(!)
- End-to-end protocols may fail
- Transport extensions
- Network layer extensions
- Implementation
- From MAC to transport in Kernel
- Network layer autonomous OSPF, RIP
- Application layer application-specific(!)
application
transport
multicast
network
MAC
6UPVN Model
- The UPVN model defines the relation between
applications and network - Interface
- Transformation
- Relation between components
- Both the network and applications are virtualized
- Network behavior is part of the application
- Application behavior is part of the network
Application
NC
NetworkElement
AC
7User Programmable Virtualized Networks (UPVNs)
- Implementation of the model yields different
types of networks
- Morphable networks
- Topology changing
- Flexible networks
- Support for network manipulation with ACs
plug-ins - Adaptive/Programmable networks
- Full virtualization NCs
Application
...
NC
NC
NetworkElement
NetworkElement
NetworkElement
AC
AC
AC
AC
...
8The network is in the computer
def prepare _at_l.info("prepare")
"entered prepare phase" res
loop_over_path ne, port
ne.reserve_token_route(_at_transobj, _at_id)
_at_l.info("prepare") "result of prepare
res" res end def
commit_transaction _at_l.info("commit")
"committing..." loop_over_path ne,
port ne.set_token_route(_at_transobj,
port, _at_id, _at_action) end def
rollback_transaction _at_l.info("rollback")
"entered rollback phase"
loop_over_path ne, port
ne.unset_token_route(_at_transobj, _at_id)
end def loop_over_path proc
_at_l.info("loop") "iterating over network
elements" begin nep
DRbObject.new(nil, _at_proxy)
_at_path.each l ne
nep.get_ne_by_name(l.endpoints0.owner.name)
return FAIL if ne nil
return FAIL if yield(ne,l.endpoints1)
false rescue DRbConnError
return FAIL end
SUCCESS end
PIN/PDC PPBAC
PIN/PDC PPBAC
PIN/PDC PPBAC
PIN/PDC PPBAC
PIN/PDC PPBAC
PIN/PDC PPBAC
9Implementation
- The network is software, everything is possible
- Service-oriented architecture
- Reuse, Service encapsulation
- Web services
- Dynamic management of components and interface
- Service Discovery
- All nodes support reflection recursive service
discovery - Access to a single node enables manipulation of
the full network - Agents
- Grid architecture
- Peer-to-peer
- Mobile code
- Traffic manipulation
- Workflows
- TinyDB
- Traffic engineering
- Ad-hoc
- OO
- ...
?
?
?
?
10ImplementationArchitecture
Application
- Low-level
- Linux 2.6 Kernel Netfilter
- User space packet queuing
- High-level in Ruby
- Web services
- Acs
- AC management
- Service discovery
- Communication
- Message passing between AC
- RPC through web services for Application Network
interaction
NCs webservices
Network Element
AC Components
AC
AC
AC
Packet AC
Ethernet Input
Ethernet Output
11ImplementationToken Networking
- Answer to bad administration
- Labeling
- Behavior(label)
- AAA, QoS, multicast, Application-specific
services - UPVN capable token router
- In FreeBSD kernel (almost done)
- On dedicated NPUs (gtGbps) (under development)
- Work of Leon Gommans at SNE
Application fd socket(AF_INET, SOCK_STREAM,
0) setsockopt(fd, IPPROTO_IP, IP_TOKEN,green)
write(fd, buf, length)
12Applications Large-scale Telecommunication
- E-Science applications need high performance
networking - Example SCARIe
- The network has to provide some kind of API or
paradigm to claim the required resources -gt UPVN - Dynamic resource reservation of topology and QoS
13Applications Adaptive Sensor Telecommunication
- Telecommunication adapts to the environment and
application demands - Real-time network optimization
IJkdijk A Dike monitoring and conditioning system
14ApplicationsDefense
- Anticipate on attacks by rearranging the network
(possibly to a less optimal state) - Interaction with intelligent systems (camera,
audio, radar)
15Future work
- PhD Thesis Framework for algebraic and
numerical manipulation of networks - Algorithms
- How to map topological requirements to the
network? - Framework technologies
- Integrate linear programs and their solvers with
UPVN - Compilers
- Applications
- Mathematica is a showcase
16Algebraic Manipulation of Networks
- Example of a UPVN application
- UPVN interface to Mathematica
Example session
Introduction
17Thank you
- References
- R.J. Strijkers, The Network is in the Computer,
MSc Thesis, 2006 - R.J. Meijer, R.J. Strijkers, L. Gommans, C. de
Laat, User Programmable Virtualized Networks,
e-Science06, 2006