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 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 2
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 3
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 4
5 NodeOS NodeOS Tilman Wolf
6 ANEP Header ANEP Header – ANEP (general AN) • Layered approach: – Particular EE – IP Tilman Wolf
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 7
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 payload identity protection SANTS Protected Packet header static (code & data) variable data credential(s) digital signature hop-hop integrity Tilman Wolf 8
Routing and Path Selection Routing and Path Selection • Processing is essential part of communication – Path needs to be chosen to traverse processing nodes Active Pipe Description mapping onto link costs processing physical network costs 6 7 4 Physical 5 2 3 4 5 Network 3 candidate sites 3 3 5 2 for second step 4 6 1 1 3 candidate sites for first step Tilman Wolf 9
Real- -World AN Application World AN Application Real • WaveVideo multicast with congestion adaptation • WaveVideo encoding: RGB C b C r Y LL HL LH HH LL HL LH HH HL LH HH LL LL HL LH HH Tilman Wolf 10
Scaling with sub bands Scaling with sub bands RGB C b C r Y X X X LL HL LH HH X X X Decoded Image LL HL LH HH X X X LH LL HL HH X X X Tilman Wolf 11
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 12
WaveVideo under Congestion under Congestion WaveVideo Active queuing Lossless PSNR (dB) Passive queuing Tilman Wolf 13
WaveVideo Visualization Visualization WaveVideo Drop across all sub bands Drop occurs in high frequency sub bands Tilman Wolf 14
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 15
Next Class Next Class • Introduction of Network Processors – Read chapters 11 & 12 Tilman Wolf 16
Recommend
More recommend