netkit
TRANSCRIPT
1 Mobile Broadband Communication LabMobile Broadband Communication Lab
NE TKIT
(A S o ftwa re Co m p o ne n t- B a s e d Ap p ro a c h to P ro g ra m m a b le Ne two rk)
Yunho Jung
Mo b ile B ro a d b a n d Co m m un ic a tio n La b in Ko n kuk Un iv
1
I. Programmable Network
III. Component based computational
model
V. NETKIT Architecture
VII. Examples Using NETKIT
3 Mobile Broadband Communication LabMobile Broadband Communication Lab
1. What is Programmable Network?
2. Active Network paradigm
3. Open signaling Paradigm
4. Run-time Reconfiguration
5. Current Paradigm
I. Programmable Network
4 Mobile Broadband Communication LabMobile Broadband Communication Lab
Why come out Increasing demand to add new services to networks or to customize existing network
services to match new application needs.
What is Programmable Network?I. Programmable Network
Simplify the deployment of new network services, leading to networks that explicitly support the
process of service creation and deployment.
5 Mobile Broadband Communication LabMobile Broadband Communication Lab
Architecture
What is Programmable NetworkI. Programmable Network
Transport plane
Managem
ent planeC
ontrol plane
Coordination
Application services
In-band functions
Hardware abstraction
Communication
modelComputation
modelHardware abstraction :
Minimal OS functionality for
support higher lever
network programmability
In-band functions :
Low level, in-band, fine-
grained, packet forwarding
(highly performance
critical)
Application services :
Programs in the Active
Network sense and act on
pre-selected flow
Coordination:
Out-of-band signaling
protocols
(RSVP, dPVN coordination
protocols)
6 Mobile Broadband Communication LabMobile Broadband Communication Lab
Generalized Programmable Network Frameworks
What is Programmable NetworkI. Programmable Network
Node Kernel
Node HW
Network Programming Environment
Programmable Network Architecture
Node Kernel
ComputationalModel
CommunicationModel
Nodeinterfaces
Networkprogramminginterfaces
Node HW
7 Mobile Broadband Communication LabMobile Broadband Communication Lab
Active Network ParadigmI. Programmable Network
Applications have insufficient information about the network to make informed decisions- e.g.) where can I get more bandwidth
Service providers have little control over how their traffic is handled- No customization
Implication to active network
8 Mobile Broadband Communication LabMobile Broadband Communication Lab
Active Network Dynamic deployment of new Internet services Focus on stratum 1(hardware abstraction) and stratum 3(application services) Active packets that execute on ‘active nodes’.
■ What does it mean to make the nodes active?What does it mean to make the nodes active? Packets carry codePackets carry code Next hop determined by executing code in a router (i.e. actively as opposed to passive Next hop determined by executing code in a router (i.e. actively as opposed to passive
table lookuptable lookup
Active Network ParadigmI. Programmable Network
9 Mobile Broadband Communication LabMobile Broadband Communication Lab
Security Un-trusted user code execution in core routers Do not provide a general framework addressing the security concerns of Network Operators or do
so by developing heavy security architectures that strongly penalize performance.
Performance Sharing control and communication network resources among several parties needs coordination in
the form of middleware actors, resource managements.
Unified interface It is impossible to foresee all the ways in which networking might evolve, programming interfaces,
if not carefully designed, are in themselves a restriction to innovation
Active Network ParadigmI. Programmable Network
10 Mobile Broadband Communication LabMobile Broadband Communication Lab
Open Signaling Routers export ‘control interfaces’ through which they can be remotely (re)configured by
out-of-band, application specific, signaling, protocols. Easier to deploy, easier to secure, and typically performs better that Java0based active
networking system Focus on stratum 2 and stratum 4
Out-of-band Active Down-loadable modules are dynamically installed onto routers through some out-of-band
mechanism. Deploy-ability and security vulnerability approach
Open Signaling ParadigmI. Programmable Network
11 Mobile Broadband Communication LabMobile Broadband Communication Lab
run-time reconfiguration• Support the subsequent reconfiguration of a running system. • To accommodate newly discovered services in a ubiquitous computing environment• To reconfigure an ad-hoc network• To adjust the resource allocated to a dynamic private virtual network• Still fail to adequately support the management of system integrity over reconfiguration
operations. (e.g. Firewall rule, resource allocation problem like starvation)
use of reflection model (flexible) Checking the integrity of coordination control code being downloaded into an execution
environment Dynamic reconfiguration of downloaded control code Reconfiguration through dynamic linking
Run-time ConfigurationI. Programmable Network
12 Mobile Broadband Communication LabMobile Broadband Communication Lab
Transport plane
Managem
ent planeC
ontrol plane
Coordination(OS, Alan)
Application services(AN, Alan)
In-band functions(OS)
Hardware abstraction(OSKIT,SCOUT)
Communication
modelComputation
model
Current ParadigmI. Programmable Network
- language, platform, and paradigm-independent programming model that can be uniformly applied in all strata
-Flexible support for both the configuration and run-time reconfiguration in all strata
13 Mobile Broadband Communication LabMobile Broadband Communication Lab
1. NETKIT Proposal
2. Component-Based Model
3. Reflective Meta-Models
4. Component Frameworks
5. Potential Benefits
I I. Component based approach
14 Mobile Broadband Communication LabMobile Broadband Communication Lab
A globally applied component based approach A Language-, platform-, and paradigm-independent component based programming
model Uniformly applicable in all four strata without performance delay
Built-in generic and flexible support for management Both configuration and reconfiguration of mechanisms and services in all strata
NETKIT ProposalII. Component based Approach
Three pronged approach
15 Mobile Broadband Communication LabMobile Broadband Communication Lab
Component Technology System element offering a predefined service or event, and able to communicate with
other components. Components are packaged in a binary form and can be dynamically deployed within an
address space. With component technology, one can configure and reconfigure systems by adding,
removing or replacing their constituent components. Increased reusability, dynamic extensibility, improved understandability, reduced
development costs, and better support for long term system evolution.
Component-Based ModelII. Component based Approach
NETKIT Purpose To provide a lightweight, non-distributed, language independent component model Independent of any such infrastructure Apply ubiquitously
16 Mobile Broadband Communication LabMobile Broadband Communication Lab
Component-Based ModelII. Component based Approach
Interface• Strongly typed and consist of a set of data-typed definitions and operation signature• Programming-language-independent interface(e.g. OMG IDL or Miscrosoft IDL)
Receptacle• ‘Anti-interface’; whereas an interface expresses a unit of service provision, a receptacle expresses a unit of
service requirement•Used to make explicit a dependency of one component on another
Binding• Associations between receptacles and interfaces that reside in the same capsule.• Implemented minimally and with negligible or low overhead• bindings are abstract, there is no prescription of a particular underlying implementation.
17 Mobile Broadband Communication LabMobile Broadband Communication Lab
Component-Based ModelII. Component based Approach
Capsules• Provide a run-time environment for a set of component instances that are mutually participating in
bindings• Provide generic services for dynamically loading and unloading components, and for creating and
destroying bindings.• Third-party manners; available from outside the capsule to support external third-party loading and
binding
Why use Capsules• Can be possible to render the (un)loading and (un)binding of components subject to security
constraints and safety constraints
• Capsules form the basis of a generic component model that, in turn, serves as the basis for any
desired programmable networking functionality
18 Mobile Broadband Communication LabMobile Broadband Communication Lab
Component-Based ModelII. Component based Approach
Portability problem for support wide range or hardware platforms• Some platforms will suffer sub-optimal performance
• A standard API precludes the exploitation of specialised platform-specific hardware
• The work involved in porting a comprehensive API is likely to be significant in itself.
How can solve Portability problem• Radical micro-kernel architectures
• Define two levels of portability
- component model is kept as simple as possible, and relies on an absolute minimum of system support
- All further system-oriented and hardware specific functionality is implemented in terms of the
component model itself
Benefit • Easily ported and deployed
• Do not need service change, if requirements change/evolve
19 Mobile Broadband Communication LabMobile Broadband Communication Lab
Reflective Architecture Provides tools for handling reflective computation explicitly.
Access to data representing the system itself. Guarantee the causal connection between these data and the aspects of the system.
Reflection is that meta-models relate to the underlying system.
Reflective Meta-ModelsII. Component based Approach
Meta-models are causally connected Adaption
: To change behavior along dimensions that are foreseen at deployment time
Extension: To add new behavior unforeseen at deployment time
Inspection: Inspect current configurations need when adaption and extension process
20 Mobile Broadband Communication LabMobile Broadband Communication Lab
Reflective Meta-ModelsII. Component based Approach
Architecture meta-model• Inspection, adaptation and extension of component composition
Interception meta-model• pre- and post method call interception of invocation being made across bindings
Interface meta-model• Navigation of interfaces, receptacles on a component, inspection of interface/receptacle signatures
Resources meta-model• Represent types and quantities of resource
21 Mobile Broadband Communication LabMobile Broadband Communication Lab
Component FrameworksII. Component based Approach
What is Component Frameworks “CFs are collections of rules and interfaces that govern the interaction of components
‘plugged into’ them “ – Szyperski CFs are targeted at a specific domain and embody ‘rules and interfaces’ that make
sense in that domain. Domain-specific ‘life-support environment’ for plug-in components.
Benefit of Component Frameworks CFs can be loaded/unloaded dynamically. Hierarchical composition. CFs can also provide CF-specific reflective meta-models that embody domain specific
semantics
22 Mobile Broadband Communication LabMobile Broadband Communication Lab
Potential BenefitsII. Component based Approach
NETKIT propose a globally Component-based approach to programmable networking Uniform programming model . (Components everywhere) Reflective meta-models. (flexibility, openness).
Component frameworks (structure, constraint)
Approach already validated in reflective middleware environment
Potential benefits Vertical integration Language and system independence Fundamental support for the management of configuration and reconfiguration Support for multiple programmable networking paradigms, and framework for integration of
existing techniques, software ….
23 Mobile Broadband Communication LabMobile Broadband Communication Lab
1. What is NETKIT
2. NETKIT implementation
III. NETKIT architecture
24 Mobile Broadband Communication LabMobile Broadband Communication Lab
What is NETKITIII. NETKIT architecture
Computer networks are quite complex Several device Several interfaces. Several protocols running Physical interconnections originate complex topologies
How to perform experiments Performing experiments may be unfeasible The current used network cannot be exploited for experiments Network equipments are expensive
Simulation vs. emulation Simulation systems aim at reproducing the performance of the real-life system (e.g.
NS-2) Emulation systems aim at accurately reproducing the functionalites of a real-life
system (configurations, architectures, protocols), with limited attention to performance (e.g. NETKIT)
25 Mobile Broadband Communication LabMobile Broadband Communication Lab
What is NETKITIII. NETKIT architecture
What is NETKIT? A set of tools and commands that can be used to easily set up a virtual computer
network NETKIT (most) command are implemented as scripts
A ready-to-use file-system that is exploited as a pattern for creating the file system of each virtual machine
Most commonly used networking tools are already installed in this file-system
A User Mode Linux(UML) that is used as kernel for virtual machines UML is a Linux kernel that can be executed as a user process on a standard Linux box
26 Mobile Broadband Communication LabMobile Broadband Communication Lab
What is NETKITIII. NETKIT architecture
27 Mobile Broadband Communication LabMobile Broadband Communication Lab
NETKIT ImplementationIII. NETKIT architecture
Unified component concept A multi-address-space capsule CF
Offers a powerful and general means of abstracting over tightly coupled but heterogeneous hardware
A plug-in loader CF Third-party loading in address spaces other
A plug-in binder CF Bind itself to the newly-loaded component without being aware of different form itself
28 Mobile Broadband Communication LabMobile Broadband Communication Lab
1. Simple network with two routers
2. Understanding ARP when routers are involved
IV. Examples using NETKIT
29 Mobile Broadband Communication LabMobile Broadband Communication Lab
Simple Network with two routersIV. Examples using NETKIT
Network topology high level view
30 Mobile Broadband Communication LabMobile Broadband Communication Lab
Simple Network with two routersIV. Examples using NETKIT
Network topology configuration details
31 Mobile Broadband Communication LabMobile Broadband Communication Lab
Simple Network with two routersIV. Examples using NETKIT
Step1 -Virtual Network Setup
32 Mobile Broadband Communication LabMobile Broadband Communication Lab
Simple Network with two routersIV. Examples using NETKIT
Step2 –inspecting routing tables Both routers and PCs don’t know how to reach network that are not directly connected
to them Directly connected networks are automatically inserted into the routing table when the
corresponding interface is brought up
33 Mobile Broadband Communication LabMobile Broadband Communication Lab
Simple Network with two routersIV. Examples using NETKIT
Step3 –default routes on PCs To fix the problem we could specify the default route on the PCs Directly connected networks are automatically inserted into the routing table when the
corresponding interface is brought up
34 Mobile Broadband Communication LabMobile Broadband Communication Lab
Simple Network with two routersIV. Examples using NETKIT
Step4 –route setting But routers don’t know each other.
So, configuration a static route into R1 and R2
35 Mobile Broadband Communication LabMobile Broadband Communication Lab
Understanding ARPIV. Examples using NETKIT
Network topology high level view
36 Mobile Broadband Communication LabMobile Broadband Communication Lab
Understanding ARP IV. Examples using NETKIT
Network topology configuration details
37 Mobile Broadband Communication LabMobile Broadband Communication Lab
Understanding ARPIV. Examples using NETKIT
Step1 -Virtual Network Setup
38 Mobile Broadband Communication LabMobile Broadband Communication Lab
Understanding ARPIV. Examples using NETKIT
Step2 –Inspecting the ARP cache (local traffic)
Communications are usually bi-directional The Receiver of the ARP request learns the mac address of the other party, to avoid a
new ARP in opposite direction(standard behavior, see rfc 826)
39 Mobile Broadband Communication LabMobile Broadband Communication Lab
Understanding ARPIV. Examples using NETKIT
Step3 –Inspecting the ARP cache (non local traffic)
When IP traffic is addressed outside the local network, the sender needs the MAC address of the router
ARP requests can get replies only within the local network
40 Mobile Broadband Communication LabMobile Broadband Communication Lab
Understanding ARPIV. Examples using NETKIT
Step3 –Inspecting the ARP cache (non local traffic) What about routers? Routers perform ARP too (hence have ARP cache) anytime they have to send IP
packet on an ethernet LAN ARP requests can get replies only within the local network
41 Mobile Broadband Communication LabMobile Broadband Communication Lab
Understanding ARPIV. Examples using NETKIT
Step 4 –understanding the whole picture
42 Mobile Broadband Communication LabMobile Broadband Communication Lab