Top Banner
1 Mobile Broadband Communication Lab Mobile Broadband Communication Lab NETKIT (A Software Component- Based Approach to Programmable Network) Yunho Jung Mobile Broadband Communication Lab in Konkuk Univ
42
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Netkit

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

Page 2: Netkit

1

I. Programmable Network

III. Component based computational

model

V. NETKIT Architecture

VII. Examples Using NETKIT

Page 3: 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

Page 4: Netkit

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.

Page 5: Netkit

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)

Page 6: Netkit

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

Page 7: Netkit

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

Page 8: Netkit

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

Page 9: Netkit

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

Page 10: Netkit

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

Page 11: Netkit

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

Page 12: Netkit

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

Page 13: Netkit

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

Page 14: Netkit

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

Page 15: Netkit

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

Page 16: Netkit

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.

Page 17: Netkit

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

Page 18: Netkit

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

Page 19: Netkit

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

Page 20: Netkit

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

Page 21: Netkit

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

Page 22: Netkit

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 ….

Page 23: Netkit

23 Mobile Broadband Communication LabMobile Broadband Communication Lab

1. What is NETKIT

2. NETKIT implementation

III. NETKIT architecture

Page 24: Netkit

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)

Page 25: 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

Page 26: Netkit

26 Mobile Broadband Communication LabMobile Broadband Communication Lab

What is NETKITIII. NETKIT architecture

Page 27: Netkit

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

Page 28: Netkit

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

Page 29: Netkit

29 Mobile Broadband Communication LabMobile Broadband Communication Lab

Simple Network with two routersIV. Examples using NETKIT

Network topology high level view

Page 30: Netkit

30 Mobile Broadband Communication LabMobile Broadband Communication Lab

Simple Network with two routersIV. Examples using NETKIT

Network topology configuration details

Page 31: Netkit

31 Mobile Broadband Communication LabMobile Broadband Communication Lab

Simple Network with two routersIV. Examples using NETKIT

Step1 -Virtual Network Setup

Page 32: Netkit

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

Page 33: Netkit

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

Page 34: Netkit

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

Page 35: Netkit

35 Mobile Broadband Communication LabMobile Broadband Communication Lab

Understanding ARPIV. Examples using NETKIT

Network topology high level view

Page 36: Netkit

36 Mobile Broadband Communication LabMobile Broadband Communication Lab

Understanding ARP IV. Examples using NETKIT

Network topology configuration details

Page 37: Netkit

37 Mobile Broadband Communication LabMobile Broadband Communication Lab

Understanding ARPIV. Examples using NETKIT

Step1 -Virtual Network Setup

Page 38: Netkit

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)

Page 39: Netkit

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

Page 40: Netkit

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

Page 41: Netkit

41 Mobile Broadband Communication LabMobile Broadband Communication Lab

Understanding ARPIV. Examples using NETKIT

Step 4 –understanding the whole picture

Page 42: Netkit

42 Mobile Broadband Communication LabMobile Broadband Communication Lab