Open Programmable Architecture 
for Java-enabled Network Devices 
Tal Lavian 
Technology Center 
Nortel Networks 
tlavian@NortelNetworks.com 
Santa Clara University 9/29/99 1
Programmable Network Devices 
Openly Programmable devices enable 
new types of intelligence on the 
network 
Santa Clara University 9/29/99 2
Santa Clara University 9/29/99 3 
Agenda 
• Local Computation 
• New types of applications 
• Architecture 
• API’s 
• Summary
Changing the Rules of the Game 
• Move Turing Machine onto 
device 
—Add local intelligence to network 
Santa Clara University 9/29/99 4 
devices 
while (true) { 
doLocalProcessingOnDevice 
() 
}
Technology Concept 
Applet 
Web Server Web Browser 
The JVM is in the Browser 
DDoowwnnllooaadd aapppplliiccaattiioonnss ffoorr llooccaall pprroocceessssiinngg 
non-bundled application 
Reversed Applet 
Server 
Santa Clara University 9/29/99 5
The Web Changed Everything 
Santa Clara University 9/29/99 6 
• Browsers 
—Introducing JVM to 
browsers allowed dynamic 
loading of Java Applets to 
end stations 
• Routers 
—Introducing JVM to routers 
allows dynamic loading of 
Java Oplets to routers 
This Capability WILL Change Everything
Accomplishments 
—JVM on a silicon-based Routing Switch 
—ORE - Oplet Run-time Environment 
—Java-enabled Device Architecture 
—Java SNMP MIB API 
—Implementation of Network Forwarding 
API 
—All of this enables implementation of 
Dynamic Classification in Silicon- 
Based Forwarding 
Santa Clara University 9/29/99 7
Santa Clara University 9/29/99 8 
Paradigm Shift 
• Supports distributed 
computing applications 
in which network 
devices participate 
— router to router 
— server to router 
• Supports Intelligent 
Agents 
• Supports Mobile Agents 
Java-based 
Application 
Java-based 
Application 
Java-based 
Application
EExxaammppllee:: DDoowwnnllooaaddiinngg IInntteelllliiggeennccee 
Network Device 
JVM 
OS 
Monitor 
Santa Clara University 9/29/99 9 
Dynamic 
loading 
HW 
React 
Authentication 
Security 
Intelligence 
application
Security and Stability 
• secure download of Java Applications 
• safe execution environment 
—insulate core router applications from dynamically 
loaded applications 
Santa Clara University 9/29/99 10
Device-based Intelligence 
• Static-vs-Dynamic Agents 
Santa Clara University 9/29/99 11 
—Static 
– SNMP set/get mechanisms 
– Telnet, User Interfaces (cli, web, etc…) 
—Dynamic closed-loop interaction on nodes 
– capable of dealing with new and difficult situations 
– autonomous and rational properties. 
– dynamically system monitoring & modification 
– report status and trends
Santa Clara University 9/29/99 12 
Agenda 
• Local Computation 
• New types of applications 
• Architecture 
• API’s 
• Summary
New Types of Applications 
• Mobile Agents 
• Local Intelligence for NMS 
• Collaboration among routers 
• Router & Server Collaboration 
• E-commerce 
Santa Clara University 9/29/99 13
Santa Clara University 9/29/99 14 
Mobile Agents 
• Intrusion Detection - Hacker Chaser 
• Trace-route for Layer 2 
• Mobile Connectivity Mapper
Local Intelligence for NMS: 
Diagnostic Agents 
• Download Intelligent Agent 
monitor from NMS to the 
device. 
• Wait for threshold. 
• Might be complex conditions 
• Trend analysis 
• Send “condition exceeded” 
event to NMS. 
• Automatic download 
appropriate application 
• Application takes action. 
Extensive access 
to internal resources 
Monitor 
Complex Condition 
Exceeded 
Appropriate 
Application 
Download 
Download 
No more 
polling 
NMS 
router 
Santa Clara University 9/29/99 15
Application Layer Collaboration Among 
Routers and Servers 
• Application aware routing 
• Server farm load balancing 
— server state monitored 
— rerouting based on congestion/load 
• Auctioning Applications 
Santa Clara University 9/29/99 16
Applications Aware Forwarding 
Business logic based operation 
changes 
• Resize forwarding queues 
• Modify congestion control algorithm 
• Adjust Packet Scheduling 
• Change routing table 
Santa Clara University 9/29/99 17
Santa Clara University 9/29/99 18 
Agenda 
• Local Computation 
• New type of applications 
• Architecture 
• API’s 
• Summary
ORE - Oplet Run-time Environment 
Service B 
ORE 
Oplet 2 
Santa Clara University 9/29/99 19 
Service A 
JVM 
Oplet 1 
Service C 
Why ORE?
NNooddee AArrcchhiitteeccttuurree 
JNI 
ORE Service 
Device HW 
Oplet 
JVM 
Operating System 
Santa Clara University 9/29/99 20 
C/C++ 
API 
Java 
API 
Device 
Code Oplet Runtime Env 
Device 
Drivers 
JFWD API 
Download
Architecture Issues 
• Green Threads -vs- Native Threads 
—Native threads: 
– provides non-interference between Java 
applications 
– difficult thread-to-thread communication 
and sharing of data between threads 
– creates a dependency on underlying RTOS 
– multiple JVM instances consume resources 
—Green Threads 
– single JVM must manage CPU & memory 
resources between concurrently running 
threads 
Santa Clara University 9/29/99 21
Evolution of Router Architecture 
LLiinnee ccaarrdd 
((ffoorrwwaarrddiinngg 
bbuuffffeerriinngg)) 
RRoouuttiinngg ssooffttwwaarree 
ww// rroouutteerr OOSS 
LLiinnee ccaarrdd 
((ffoorrwwaarrddiinngg 
bbuuffffeerriinngg)) 
LLiinnee ccaarrdd 
((ffoorrwwaarrddiinngg 
bbuuffffeerriinngg)) 
LLiinnee ccaarrdd 
((ffoorrwwaarrddiinngg 
bbuuffffeerriinngg)) 
Added scalability, 
Flexibility, 
extensibility 
Santa Clara University 9/29/99 22 
RRoouuttiinngg ssooffttwwaarree 
ww// CCOOTTSS OOSS 
OOSS 
CCPPUU BBuuffffeerr 
mmeemmoorryy 
NNII aass 
lliinnee ccaarrdd 
NNII aass 
lliinnee ccaarrdd 
NNII aass 
lliinnee ccaarrdd 
...... 
RRoouuttiinngg 
CCPPUU 
BBuuffffeerr 
mmeemmoorryy 
CCeennttrraalliizzeedd,, 
CCPPUU--bbaasseedd MMooddeell 
DDiissttrriibbuutteedd,, 
lliinnee--ccaarrdd bbaasseedd MMooddeell 
CCoonnttrrooll ++ FFoorrwwaarrddiinngg 
FFuunnccttiioonnss ccoommbbiinneedd CCoonnttrrooll sseeppaarraatteedd 
FFrroomm ffoorrwwaarrddiinngg
Explicit Separation of Control Plane from 
Data Forwarding 
Control 
Element 
Forwarding 
Routing 
Shared 
Memory 
Forwarding 
Element 
Forwarding 
Element 
Forwarding 
Element 
Packet 
Flow 
Forwarding 
Forwarding 
Forwarding 
Forwarding/ 
Flow/filter 
Table 
Traditional device 
CPU Download 
Santa Clara University 9/29/99 23 
Line Card 
Line Card
Separation of Control and 
Forwarding Planes 
Control 
Plane 
Santa Clara University 9/29/99 24 
CCeennttrraalliizzeedd,, 
CCPPUU--bbaasseedd RRoouutteerr 
FFoorrwwaarrddiinngg--PPrroocceessssoorrss 
bbaasseedd RRoouutteerr 
Routing 
SW 
CCoonnttrrooll ++ FFoorrwwaarrddiinngg 
FFuunnccttiioonnss ccoommbbiinneedd Control separated 
FFrroomm ffoorrwwaarrddiinngg 
CPU 
CPU 
Forwarding 
Processor 
Forwarding 
Processor 
Forwarding 
Processor 
Slow Wire Speed
Open Networking Architecture 
IP Telephony 
VPN 
Server Operating System 
Network Services Protocol 
Network Services Objects 
Network OS 
Connect Transport Interface 
Real-time OS 
Network Si 
Unified policy-based management 
Application 
server 
Control 
element 
Forwarding 
element 
Santa Clara University 9/29/99 25 
Vertical Proprietary 
Networking Box Level 
Hardware 
Proprietary Apps 
Proprietary NOS 
Custom Switch ASIC’s 
Today 
Open 
Policy Server 
Firewall
DDyynnaammiicc CCoonnffiigguurraattiioonn ooff FFoorrwwaarrddiinngg 
RRuulleess 
CPU 
Santa Clara University 9/29/99 26 
Forwarding 
Processor 
Forwarding 
Processor 
Forwarding 
Processor 
Forwarding 
Processor 
Forwarding 
Rules 
SW 
HW 
Forwarding 
Rules 
Forwarding 
Rules 
Forwarding 
Rules 
AN Apps
RReeaall--ttiimmee ffoorrwwaarrddiinngg SSttaattss aanndd MMoonniittoorrss 
AN Apps 
CPU 
SW 
HW 
Forwarding 
Rules 
Forwarding 
Processor 
Statistics 
&Monitors 
Forwarding 
Rules 
Forwarding 
Processor 
Statistics 
&Monitors 
Santa Clara University 9/29/99 27 
Forwarding 
Rules 
Forwarding 
Processor 
Statistics 
&Monitors
DDyynnaammiicc -- OOnn tthhee FFllyy CCoonnffiigguurraattiioonn 
Forwarding 
Processor 
Forwarding 
Processor 
Santa Clara University 9/29/99 28 
Packet 
Policy 
Filters 
AN Apps 
Packet 
Packet 
Filte 
r
AAccttiivvee NNeettwwoorrkkss PPaacckkeett 
CCaappttuurree 
CPU 
Santa Clara University 9/29/99 29 
Forwarding 
Processor 
Forwarding 
Processor 
Forwarding 
Processor 
Forwarding 
Processor 
AN Apps 
JFWD to 
Divert or Copy 
Wire Speed 
Packet
Scaling up Active Networks Routing 
Protocol to commercial networks 
• OOvveerrccoommee tthhee nneeeedd ttoo pprreeddeeffiinnee tthhee nneexxtt hhoopp 
• No need to know AN topology a head of time 
• Divert/CarbonCopy specific packets to control 
plane (e.g. packets on ANEP port ) 
• Wire speed of all other packets 
• End to end forwarding 
• Future: Active Networks Routing Protocols 
Santa Clara University 9/29/99 30
MMiixxeedd TTooppoollooggyy ooff AANN ssyysstteemm 
- AN Node - Non AN Node 
NO need to know the AN topology ahead of time 
Santa Clara University 9/29/99 31
VViirrttuuaall TTooppoollooggyy ooff AANN ssyysstteemm 
- AN Node - Non AN Node 
NO need to know the AN topology ahead of time 
Santa Clara University 9/29/99 32
Java Environment 
• Green Threads -- Present RTOS 
with single unified task that 
includes: 
—Java VM (JVM) 
—Java Resource Manager (JRM) 
– thread scheduling 
– manages CPU utilization 
–JVM time-slice is managed by the JRM 
preemptive thread scheduler 
– internal memory manager (intercepts 
“new”) 
– garbage collection with priority based on 
available memory 
Santa Clara University 9/29/99 33
Non-Interference w/ Single JVM 
• Multiple threads compete for 
resources 
—memory 
—CPU 
—persistent storage 
• Denial-of-service attacks possible 
—memory or CPU consumption attacks 
—trusted/untrusted service interactions 
Santa Clara University 9/29/99 34
Santa Clara University 9/29/99 35 
Why Java 
• Reuse security mechanisms 
—byte-code verifier 
—security manager 
—classloader 
• System stability 
—constrains applications to the JVM 
—Prohibits native code applications 
• Extensible, portable, & distributable 
services
But Java is slooowwwww 
• Not appropriate in the 
fast-path data forwarding 
plane 
—forwarding is done by ASICs 
—packet processing not affected 
• Java applications run on 
the CPU 
—Packets destined for Java 
application are pushed into the 
control plane 
Santa Clara University 9/29/99 36
Strong Security in the new model 
• The new concept is secure to add 3rd 
party code to network devices 
—Digital Signature 
—Administrative “Certified Optlet” 
—No access out of the JVM space 
—No pointers that can do harm 
—Access only to the published API 
—Verifier - only correct code can be loaded 
—Class loader access list 
—JVM has run time bounds, type, and execution 
Santa Clara University 9/29/99 37 
checking
Old model Security (C/C++) 
• Old model: Not safe to add 3rd party 
code 
—Dangerous, C/C++ Pointers 
– Can touch sensitive memory location 
—Risk: Memory allocations and Free 
– Allocation without freeing (leaks) 
– Free without allocation (core dump !!!! ) 
• Limited security in SNMP 
Santa Clara University 9/29/99 38
Santa Clara University 9/29/99 39 
Agenda 
• Openness 
• Local Computation 
• New types of applications 
• Architecture 
• API’s 
• Summary
An Open Service API Example 
—SNMP API for Network Management 
– generated automatically 
– allows device-based applications to 
query MIB 
– device-based application -- query 
local MIB 
– report trends or significant events 
– initiate downloading of problem 
specific diagnostic code 
– take corrective action 
Santa Clara University 9/29/99 40
MIB API Example 
Client Bean 
Java 
Virtual 
Machine 
Client API 
Abstract Variable Interface 
MIB Map 
Native Variable Interface 
SNMP PDU Layer 
Instrumentation 
& Annotation 
Layer 
Real Time Operating System 
Processor and other Hardware 
•API uses a MIB Map to 
dispatch requests to variable 
access routines 
•Different parts of the MIB 
tree can be serviced by 
different mechanisms 
•Two main schemes: 
•An ad hoc interface to the 
SNMP instrumentation layer 
•A generic SNMP loopback 
Santa Clara University 9/29/99 41
Santa Clara University 9/29/99 42 
Agenda 
• Openness 
• Local Computation 
• New type of applications 
• Architecture 
• API’s 
• Summary
Summary 
• Programmable 
—Turing Machine on network devices 
—dynamic agents vs. static agents 
—dynamic loading 
—strong security 
• Openness - successfully proven 
paradigm 
—Facilitates innovation 
—Domain experts - virtual development community 
• Enabling Technology for the 
Revolution 
Santa Clara University 9/29/99 43
This is only the first step 
1903 the Wright brothers 
Compare to this first flight and look 
where aviation is today 
Santa Clara University 9/29/99 44

Open Programmable Architecture for Java-enabled Network Devices

  • 1.
    Open Programmable Architecture for Java-enabled Network Devices Tal Lavian Technology Center Nortel Networks tlavian@NortelNetworks.com Santa Clara University 9/29/99 1
  • 2.
    Programmable Network Devices Openly Programmable devices enable new types of intelligence on the network Santa Clara University 9/29/99 2
  • 3.
    Santa Clara University9/29/99 3 Agenda • Local Computation • New types of applications • Architecture • API’s • Summary
  • 4.
    Changing the Rulesof the Game • Move Turing Machine onto device —Add local intelligence to network Santa Clara University 9/29/99 4 devices while (true) { doLocalProcessingOnDevice () }
  • 5.
    Technology Concept Applet Web Server Web Browser The JVM is in the Browser DDoowwnnllooaadd aapppplliiccaattiioonnss ffoorr llooccaall pprroocceessssiinngg non-bundled application Reversed Applet Server Santa Clara University 9/29/99 5
  • 6.
    The Web ChangedEverything Santa Clara University 9/29/99 6 • Browsers —Introducing JVM to browsers allowed dynamic loading of Java Applets to end stations • Routers —Introducing JVM to routers allows dynamic loading of Java Oplets to routers This Capability WILL Change Everything
  • 7.
    Accomplishments —JVM ona silicon-based Routing Switch —ORE - Oplet Run-time Environment —Java-enabled Device Architecture —Java SNMP MIB API —Implementation of Network Forwarding API —All of this enables implementation of Dynamic Classification in Silicon- Based Forwarding Santa Clara University 9/29/99 7
  • 8.
    Santa Clara University9/29/99 8 Paradigm Shift • Supports distributed computing applications in which network devices participate — router to router — server to router • Supports Intelligent Agents • Supports Mobile Agents Java-based Application Java-based Application Java-based Application
  • 9.
    EExxaammppllee:: DDoowwnnllooaaddiinngg IInntteelllliiggeennccee Network Device JVM OS Monitor Santa Clara University 9/29/99 9 Dynamic loading HW React Authentication Security Intelligence application
  • 10.
    Security and Stability • secure download of Java Applications • safe execution environment —insulate core router applications from dynamically loaded applications Santa Clara University 9/29/99 10
  • 11.
    Device-based Intelligence •Static-vs-Dynamic Agents Santa Clara University 9/29/99 11 —Static – SNMP set/get mechanisms – Telnet, User Interfaces (cli, web, etc…) —Dynamic closed-loop interaction on nodes – capable of dealing with new and difficult situations – autonomous and rational properties. – dynamically system monitoring & modification – report status and trends
  • 12.
    Santa Clara University9/29/99 12 Agenda • Local Computation • New types of applications • Architecture • API’s • Summary
  • 13.
    New Types ofApplications • Mobile Agents • Local Intelligence for NMS • Collaboration among routers • Router & Server Collaboration • E-commerce Santa Clara University 9/29/99 13
  • 14.
    Santa Clara University9/29/99 14 Mobile Agents • Intrusion Detection - Hacker Chaser • Trace-route for Layer 2 • Mobile Connectivity Mapper
  • 15.
    Local Intelligence forNMS: Diagnostic Agents • Download Intelligent Agent monitor from NMS to the device. • Wait for threshold. • Might be complex conditions • Trend analysis • Send “condition exceeded” event to NMS. • Automatic download appropriate application • Application takes action. Extensive access to internal resources Monitor Complex Condition Exceeded Appropriate Application Download Download No more polling NMS router Santa Clara University 9/29/99 15
  • 16.
    Application Layer CollaborationAmong Routers and Servers • Application aware routing • Server farm load balancing — server state monitored — rerouting based on congestion/load • Auctioning Applications Santa Clara University 9/29/99 16
  • 17.
    Applications Aware Forwarding Business logic based operation changes • Resize forwarding queues • Modify congestion control algorithm • Adjust Packet Scheduling • Change routing table Santa Clara University 9/29/99 17
  • 18.
    Santa Clara University9/29/99 18 Agenda • Local Computation • New type of applications • Architecture • API’s • Summary
  • 19.
    ORE - OpletRun-time Environment Service B ORE Oplet 2 Santa Clara University 9/29/99 19 Service A JVM Oplet 1 Service C Why ORE?
  • 20.
    NNooddee AArrcchhiitteeccttuurree JNI ORE Service Device HW Oplet JVM Operating System Santa Clara University 9/29/99 20 C/C++ API Java API Device Code Oplet Runtime Env Device Drivers JFWD API Download
  • 21.
    Architecture Issues •Green Threads -vs- Native Threads —Native threads: – provides non-interference between Java applications – difficult thread-to-thread communication and sharing of data between threads – creates a dependency on underlying RTOS – multiple JVM instances consume resources —Green Threads – single JVM must manage CPU & memory resources between concurrently running threads Santa Clara University 9/29/99 21
  • 22.
    Evolution of RouterArchitecture LLiinnee ccaarrdd ((ffoorrwwaarrddiinngg bbuuffffeerriinngg)) RRoouuttiinngg ssooffttwwaarree ww// rroouutteerr OOSS LLiinnee ccaarrdd ((ffoorrwwaarrddiinngg bbuuffffeerriinngg)) LLiinnee ccaarrdd ((ffoorrwwaarrddiinngg bbuuffffeerriinngg)) LLiinnee ccaarrdd ((ffoorrwwaarrddiinngg bbuuffffeerriinngg)) Added scalability, Flexibility, extensibility Santa Clara University 9/29/99 22 RRoouuttiinngg ssooffttwwaarree ww// CCOOTTSS OOSS OOSS CCPPUU BBuuffffeerr mmeemmoorryy NNII aass lliinnee ccaarrdd NNII aass lliinnee ccaarrdd NNII aass lliinnee ccaarrdd ...... RRoouuttiinngg CCPPUU BBuuffffeerr mmeemmoorryy CCeennttrraalliizzeedd,, CCPPUU--bbaasseedd MMooddeell DDiissttrriibbuutteedd,, lliinnee--ccaarrdd bbaasseedd MMooddeell CCoonnttrrooll ++ FFoorrwwaarrddiinngg FFuunnccttiioonnss ccoommbbiinneedd CCoonnttrrooll sseeppaarraatteedd FFrroomm ffoorrwwaarrddiinngg
  • 23.
    Explicit Separation ofControl Plane from Data Forwarding Control Element Forwarding Routing Shared Memory Forwarding Element Forwarding Element Forwarding Element Packet Flow Forwarding Forwarding Forwarding Forwarding/ Flow/filter Table Traditional device CPU Download Santa Clara University 9/29/99 23 Line Card Line Card
  • 24.
    Separation of Controland Forwarding Planes Control Plane Santa Clara University 9/29/99 24 CCeennttrraalliizzeedd,, CCPPUU--bbaasseedd RRoouutteerr FFoorrwwaarrddiinngg--PPrroocceessssoorrss bbaasseedd RRoouutteerr Routing SW CCoonnttrrooll ++ FFoorrwwaarrddiinngg FFuunnccttiioonnss ccoommbbiinneedd Control separated FFrroomm ffoorrwwaarrddiinngg CPU CPU Forwarding Processor Forwarding Processor Forwarding Processor Slow Wire Speed
  • 25.
    Open Networking Architecture IP Telephony VPN Server Operating System Network Services Protocol Network Services Objects Network OS Connect Transport Interface Real-time OS Network Si Unified policy-based management Application server Control element Forwarding element Santa Clara University 9/29/99 25 Vertical Proprietary Networking Box Level Hardware Proprietary Apps Proprietary NOS Custom Switch ASIC’s Today Open Policy Server Firewall
  • 26.
    DDyynnaammiicc CCoonnffiigguurraattiioonn ooffFFoorrwwaarrddiinngg RRuulleess CPU Santa Clara University 9/29/99 26 Forwarding Processor Forwarding Processor Forwarding Processor Forwarding Processor Forwarding Rules SW HW Forwarding Rules Forwarding Rules Forwarding Rules AN Apps
  • 27.
    RReeaall--ttiimmee ffoorrwwaarrddiinngg SSttaattssaanndd MMoonniittoorrss AN Apps CPU SW HW Forwarding Rules Forwarding Processor Statistics &Monitors Forwarding Rules Forwarding Processor Statistics &Monitors Santa Clara University 9/29/99 27 Forwarding Rules Forwarding Processor Statistics &Monitors
  • 28.
    DDyynnaammiicc -- OOnntthhee FFllyy CCoonnffiigguurraattiioonn Forwarding Processor Forwarding Processor Santa Clara University 9/29/99 28 Packet Policy Filters AN Apps Packet Packet Filte r
  • 29.
    AAccttiivvee NNeettwwoorrkkss PPaacckkeett CCaappttuurree CPU Santa Clara University 9/29/99 29 Forwarding Processor Forwarding Processor Forwarding Processor Forwarding Processor AN Apps JFWD to Divert or Copy Wire Speed Packet
  • 30.
    Scaling up ActiveNetworks Routing Protocol to commercial networks • OOvveerrccoommee tthhee nneeeedd ttoo pprreeddeeffiinnee tthhee nneexxtt hhoopp • No need to know AN topology a head of time • Divert/CarbonCopy specific packets to control plane (e.g. packets on ANEP port ) • Wire speed of all other packets • End to end forwarding • Future: Active Networks Routing Protocols Santa Clara University 9/29/99 30
  • 31.
    MMiixxeedd TTooppoollooggyy ooffAANN ssyysstteemm - AN Node - Non AN Node NO need to know the AN topology ahead of time Santa Clara University 9/29/99 31
  • 32.
    VViirrttuuaall TTooppoollooggyy ooffAANN ssyysstteemm - AN Node - Non AN Node NO need to know the AN topology ahead of time Santa Clara University 9/29/99 32
  • 33.
    Java Environment •Green Threads -- Present RTOS with single unified task that includes: —Java VM (JVM) —Java Resource Manager (JRM) – thread scheduling – manages CPU utilization –JVM time-slice is managed by the JRM preemptive thread scheduler – internal memory manager (intercepts “new”) – garbage collection with priority based on available memory Santa Clara University 9/29/99 33
  • 34.
    Non-Interference w/ SingleJVM • Multiple threads compete for resources —memory —CPU —persistent storage • Denial-of-service attacks possible —memory or CPU consumption attacks —trusted/untrusted service interactions Santa Clara University 9/29/99 34
  • 35.
    Santa Clara University9/29/99 35 Why Java • Reuse security mechanisms —byte-code verifier —security manager —classloader • System stability —constrains applications to the JVM —Prohibits native code applications • Extensible, portable, & distributable services
  • 36.
    But Java isslooowwwww • Not appropriate in the fast-path data forwarding plane —forwarding is done by ASICs —packet processing not affected • Java applications run on the CPU —Packets destined for Java application are pushed into the control plane Santa Clara University 9/29/99 36
  • 37.
    Strong Security inthe new model • The new concept is secure to add 3rd party code to network devices —Digital Signature —Administrative “Certified Optlet” —No access out of the JVM space —No pointers that can do harm —Access only to the published API —Verifier - only correct code can be loaded —Class loader access list —JVM has run time bounds, type, and execution Santa Clara University 9/29/99 37 checking
  • 38.
    Old model Security(C/C++) • Old model: Not safe to add 3rd party code —Dangerous, C/C++ Pointers – Can touch sensitive memory location —Risk: Memory allocations and Free – Allocation without freeing (leaks) – Free without allocation (core dump !!!! ) • Limited security in SNMP Santa Clara University 9/29/99 38
  • 39.
    Santa Clara University9/29/99 39 Agenda • Openness • Local Computation • New types of applications • Architecture • API’s • Summary
  • 40.
    An Open ServiceAPI Example —SNMP API for Network Management – generated automatically – allows device-based applications to query MIB – device-based application -- query local MIB – report trends or significant events – initiate downloading of problem specific diagnostic code – take corrective action Santa Clara University 9/29/99 40
  • 41.
    MIB API Example Client Bean Java Virtual Machine Client API Abstract Variable Interface MIB Map Native Variable Interface SNMP PDU Layer Instrumentation & Annotation Layer Real Time Operating System Processor and other Hardware •API uses a MIB Map to dispatch requests to variable access routines •Different parts of the MIB tree can be serviced by different mechanisms •Two main schemes: •An ad hoc interface to the SNMP instrumentation layer •A generic SNMP loopback Santa Clara University 9/29/99 41
  • 42.
    Santa Clara University9/29/99 42 Agenda • Openness • Local Computation • New type of applications • Architecture • API’s • Summary
  • 43.
    Summary • Programmable —Turing Machine on network devices —dynamic agents vs. static agents —dynamic loading —strong security • Openness - successfully proven paradigm —Facilitates innovation —Domain experts - virtual development community • Enabling Technology for the Revolution Santa Clara University 9/29/99 43
  • 44.
    This is onlythe first step 1903 the Wright brothers Compare to this first flight and look where aviation is today Santa Clara University 9/29/99 44