Tilman Wolf 1
ECE 697J Advanced Topics Advanced Topics ECE 697J in Computer - - PowerPoint PPT Presentation
ECE 697J Advanced Topics Advanced Topics ECE 697J in Computer - - PowerPoint PPT Presentation
ECE 697J Advanced Topics Advanced Topics ECE 697J in Computer Networks in Computer Networks Active Networks 10/09/03 Tilman Wolf 1 Dynamic Functionality Dynamic Functionality Networks implement various packet processing
Tilman Wolf 2
Dynamic Functionality Dynamic Functionality
- Networks implement various packet processing functions
- These applications change over time
– New protocols – New application – Etc.
- We need a mechanism to easily deploy such functions
– Without need for hardware replacement – Without complex administration – Packets should be able to “choose” functions
- One approach are “Active Networks”
Tilman Wolf 3
Active Networks Active Networks
- Basic idea: packets carry processing code
– Processing code describes how to handle packet – Node/router executes code on packet data
- Routers need to provide processing infrastructure
– Unified, interoperable programming interface/language – Safe, efficient execution environment
- Two approaches:
– Capsule approach: each packet carries code – Programmable router: preinstalled functions, packet selects
- What are the major challenges here?
Tilman Wolf 4
Some AN Research Some AN Research
- Active Network Architecture
– NodeOS for Interoperability – Execution Environments
- Packet format
– Active Network Encapsulation Protocol
- Programming Languages
– Java bytecode – PLAN & SNAP
Tilman Wolf 5
NodeOS NodeOS
Tilman Wolf 6
ANEP Header ANEP Header
- Layered approach:
– IP – ANEP (general AN) – Particular EE
Tilman Wolf 7
Programming Languages Programming Languages
- Java bytecode:
– Easy to use (executes on Java VM) – Problems?
- Alternative: PLAN & SNAP
– PLAN (Packet Language for Active Networks) – SNAP (Safe and Nimble Active Packets) – Very restrictive constructs
- No backward jumps
- No loops
– Achieves resource bounds proportional to packet size – Problems?
- Yet another approach:
– Kernel module without any constraints – Problems?
Tilman Wolf 8
Security for Active Networks Security for Active Networks
- Packets need to be encrypted in a special way to
support hop-by-hop processing: General Crypto Protected Packet header static (code & data) variable data credential(s) digital signature
hop-hop integrity
SANTS Protected Packet header payload identity protection
Tilman Wolf 9
Routing and Path Selection Routing and Path Selection
- Processing is essential part of communication
– Path needs to be chosen to traverse processing nodes
mapping onto physical network
candidate sites for second step link costs processing costs
Active Pipe Description
6 1 4 5 3 3 3 1 3 2 4 7 6 4 2 5 3 5
Physical Network
candidate sites for first step
Tilman Wolf 10
Real Real-
- World AN Application
World AN Application
- WaveVideo multicast with congestion adaptation
- WaveVideo encoding:
RGB Y Cb Cr LL HL LH HH
HH LH HL LL HH LH HL LL HH LH HL LL
Tilman Wolf 11
Scaling with sub bands Scaling with sub bands
LL HL LH HH Y Cb Cr
HH LH HL LL
RGB LL HL LH HH
Decoded Image
X X X
X X X
X X X
X X X
Tilman Wolf 12
Congestion Control Congestion Control
- Each subband is sent in a separate packet
– Header information indicates subband level
- When link becomes congested
– Drop high-frequency packets – Keep low-frequency packets
- Decision is per-packet and needs local information
– End-to-end approach is more difficult
- Simple scheme but highly effective
Tilman Wolf 13
WaveVideo WaveVideo under Congestion under Congestion
PSNR (dB)
Passive queuing Lossless Active queuing
Tilman Wolf 14
WaveVideo WaveVideo Visualization Visualization
Drop occurs in high frequency sub bands Drop across all sub bands
Tilman Wolf 15
Active Networks Summary Active Networks Summary
- Active Networks allow dynamic programmability
– “Capsules” with Java bytecode – Programmable routers with predefined functions
- Lots of system issues need to be solved
– Save and secure execution – Resource sharing – Programming abstractions – Interoperability
- Good idea but too dynamic
– Not every end-user (or application) can program the network
- Concepts that have come from AN research
– Some more or less programmable functions on routers – Need for high-performance processing platforms: Network Processors
Tilman Wolf 16
Next Class Next Class
- Introduction of Network Processors
– Read chapters 11 & 12