Virtualizing Network IO on EndHost OS Takashi taka

  • Slides: 48
Download presentation
Virtualizing Network I/O on End-Host OS Takashi “taka” Okumura Department of Computer Science University

Virtualizing Network I/O on End-Host OS Takashi “taka” Okumura Department of Computer Science University of Pittsburgh

Who’s taka? . D. h D/P M • A Ph. D. student • Working

Who’s taka? . D. h D/P M • A Ph. D. student • Working with Dr. Mosse' • Semantics-aware Control of Medical Network • Virtualization of network I/O on end-host OS

Network Control on End-host OS • Traffic Management tool for system administrators – –

Network Control on End-host OS • Traffic Management tool for system administrators – – Dummynet, IPFW, ALTQ, PF, netfilter, etc. . . Privileged Instructions Lack of Resource Protection Model Static Configuration Flat Queue Structure • It is Traffic Management model for intermediate-nodes

The Traffic Control model limits network control technology • Why don’t we have a

The Traffic Control model limits network control technology • Why don’t we have a standard API even for bandwidth control? ? • Why do we need to be a root, just to control its own traffic? ? • Why can’t we realize access control per-application basis on Unix? ? Dummynet, IPFW, ALTQ, PF, LARTC, etc. . . • Why can’t we use Extension Header of IPv 6, for existing applications? We cannot simply port the router model onto end-node. . .

What can we do ?

What can we do ?

Fundamental Problem Dissociation of Resource Management model and Network Control Model

Fundamental Problem Dissociation of Resource Management model and Network Control Model

CPU Resource Management Before AFTER nice + renice

CPU Resource Management Before AFTER nice + renice

Network Resource Management Before AFTER Virtualization of Network Interface!!

Network Resource Management Before AFTER Virtualization of Network Interface!!

Hierarchical Management Flexible Control Granularity

Hierarchical Management Flexible Control Granularity

Example 1 : netnice pid = 1234 512 Kbps % netnice 1234 512 Kbps

Example 1 : netnice pid = 1234 512 Kbps % netnice 1234 512 Kbps

Example 2 : sh sh ftp 2 Mbps % ftp. freebsd. org @2 Mbps

Example 2 : sh sh ftp 2 Mbps % ftp. freebsd. org @2 Mbps

Various Controls through hierarchical virtualization Fair Queuing Packet shaping Priority Queuing Independent Packet Schedulers

Various Controls through hierarchical virtualization Fair Queuing Packet shaping Priority Queuing Independent Packet Schedulers

Integration of Qo. S and Security Control Proxy libpcap Diverting Interface Netnice Packet Filter

Integration of Qo. S and Security Control Proxy libpcap Diverting Interface Netnice Packet Filter ctrl BPF&libpcap Compatible Packet Filter (Firewall)

The almighty primitive for network control • • Various Controls in a single framework

The almighty primitive for network control • • Various Controls in a single framework Resource Protection Sophisticated API Integration of Network Control – – Bandwidth Management Queuing Control Firewall/Packet Filter Packet Capture

Intermission - Project Status -

Intermission - Project Status -

India Gate, Bombay (Mumbai)

India Gate, Bombay (Mumbai)

Why did Taka go to India? • Loves Indian Food! • To collaborate with

Why did Taka go to India? • Loves Indian Food! • To collaborate with Indian Hackers! Gate Taka

Netnice ORG an Opensource Project • Kernel Development - Porting • Application Development -

Netnice ORG an Opensource Project • Kernel Development - Porting • Application Development - Porting • (Research Division; discussed later)

Kernel Development • • Free. BSD 4 Linux Net. BSD Open. BSD Free. BSD

Kernel Development • • Free. BSD 4 Linux Net. BSD Open. BSD Free. BSD 5 Mac. OS X Windows 97% 50% 70% 80% 90% 5% 1% We want Alpha/Beta testers!!!

Applications • • • Firewall Builder Netnice Daemon 3 D-tcpdump Apache module inetd

Applications • • • Firewall Builder Netnice Daemon 3 D-tcpdump Apache module inetd

Firewall Builder for Netnice • Firewall Rule Builder GUI Rule Code Root VIF Rule

Firewall Builder for Netnice • Firewall Rule Builder GUI Rule Code Root VIF Rule Builder

Scripting Network Control Java netniced Scrip t !!

Scripting Network Control Java netniced Scrip t !!

The Netnice Daemon: netniced 11 Mbps n n Hosts 11 Mbps Wireless Network var

The Netnice Daemon: netniced 11 Mbps n n Hosts 11 Mbps Wireless Network var vif = system. get_root(“wi 0”); var node = new Tupple(1); function timer() { vif. bandwidth = 11 * Mbps / node. size(); }

3 D-TCPDUMP • 3 D Network Analysis/ Visualization Tool libpcap ctrl

3 D-TCPDUMP • 3 D Network Analysis/ Visualization Tool libpcap ctrl

Apache: mod_netnice

Apache: mod_netnice

inetd ftp telnet # cat /etc/inetd. conf ftp tcp ftpd -l telnet tcp telnetd @32

inetd ftp telnet # cat /etc/inetd. conf ftp tcp ftpd -l telnet tcp telnetd @32 K/sec shell tcp rshd @32 K/sec # inetd @1 Mbps # 32 Kbps 1 Mbps Configuration of services and their resource should be integrated

Got bored?

Got bored?

Existing Primitives • Traffic Management tool for system administrators – – Dummynet, IPFW, ALTQ,

Existing Primitives • Traffic Management tool for system administrators – – Dummynet, IPFW, ALTQ, PF, LARTC, etc. . . Privileged Instructions Lack of Resource Protection Model Static Configuration Flat Queue Structure • Each primitive has particular objective, and had control application just for that particular purpose

Hierarchical Virtual Network Interface • Generic OS service for end-host oriented network control –

Hierarchical Virtual Network Interface • Generic OS service for end-host oriented network control – Serves as a programming construct – Works for a variety of purposes – Extends the limit of end-host oriented network control • But, we need to extend the limit, much more. . .

Research

Research

TOPICS • • • Architecture Compiler Algorithm Operating System Artificial Intelligence

TOPICS • • • Architecture Compiler Algorithm Operating System Artificial Intelligence

Architecture Dynamic Extension of Protocol Stack by Virtual Machine technology

Architecture Dynamic Extension of Protocol Stack by Virtual Machine technology

Protocol Stack Virtualization BSD Linux Windows VM VM VM Performance?

Protocol Stack Virtualization BSD Linux Windows VM VM VM Performance?

Compiler for High-performance Firewall

Compiler for High-performance Firewall

Firewall Instrumentation allow 192. 9. 200. 123 Filter Rule BPF code IA 32 code

Firewall Instrumentation allow 192. 9. 200. 123 Filter Rule BPF code IA 32 code packets NIC if (p[12: 4] == 0 xa 209 e 081) return accept; else return reject;

Algorithm Distributed Caching and Traffic Control Algorithm for Fermi FS

Algorithm Distributed Caching and Traffic Control Algorithm for Fermi FS

Distributed Caching and Traffic Control Off-line Jobs L 2 worker Storage L 1 Buffer

Distributed Caching and Traffic Control Off-line Jobs L 2 worker Storage L 1 Buffer On-line Jobs 1 job / 396 ns n = 96 Distributed Hash Table (P 2 P) technology?

Operating System Coupled Scheduling Mechanism for CPU and Network

Operating System Coupled Scheduling Mechanism for CPU and Network

CPU Scheduling + Network Control High Low • High Priority Jobs – Higher Network

CPU Scheduling + Network Control High Low • High Priority Jobs – Higher Network Priority • Lower Priority Jobs – Lower Network Priority

Artificial Intelligence Traffic Control based on Semantics analysis of on-going communication

Artificial Intelligence Traffic Control based on Semantics analysis of on-going communication

Semantics-Aware Medical Network • Needs for better fairness, safety, and security – ex) Resource

Semantics-Aware Medical Network • Needs for better fairness, safety, and security – ex) Resource contention between traffic for. . . • Emergency Case (such as Acute MI) • Common cold

Semantics Aware Medical Network Hospital Ambulance Node • Each node understands traffic semantics and

Semantics Aware Medical Network Hospital Ambulance Node • Each node understands traffic semantics and controls packets accordingly

Straightforward Approach ? ? • Hop-by-hop routing • Packet Dropping ? • Encripted Payload

Straightforward Approach ? ? • Hop-by-hop routing • Packet Dropping ? • Encripted Payload • Stateful Inspection • What if we analyze the traffic semantics at the intermediate nodes?

Cooperation of End-nodes and Intermediate-nodes • Hop-by-hop routing • Packet Dropping • Encripted Payload

Cooperation of End-nodes and Intermediate-nodes • Hop-by-hop routing • Packet Dropping • Encripted Payload • Stateful Inspection • What if the end-nodes attach semantics information they analyze onto each packet…?

Fairness by Agent model We may realize “fair” and “efficient” semantics-aware network. . .

Fairness by Agent model We may realize “fair” and “efficient” semantics-aware network. . . • What if we prepare “fair” agents, and let the end -users select one for semantics analysis?

To realize such a technology, we need an end-node mechanism! which allows analysis of

To realize such a technology, we need an end-node mechanism! which allows analysis of flows at flexible granularity and active control of them just monitored.