ECE 697J Advanced Topics Advanced Topics ECE 697J in Computer - - PowerPoint PPT Presentation

ece 697j advanced topics advanced topics ece 697j in
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

Tilman Wolf 1

ECE 697J ECE 697J – – Advanced Topics Advanced Topics in Computer Networks in Computer Networks

Active Networks 10/09/03

slide-2
SLIDE 2

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”
slide-3
SLIDE 3

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?
slide-4
SLIDE 4

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

slide-5
SLIDE 5

Tilman Wolf 5

NodeOS NodeOS

slide-6
SLIDE 6

Tilman Wolf 6

ANEP Header ANEP Header

  • Layered approach:

– IP – ANEP (general AN) – Particular EE

slide-7
SLIDE 7

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?

slide-8
SLIDE 8

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

slide-9
SLIDE 9

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

slide-10
SLIDE 10

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

slide-11
SLIDE 11

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

slide-12
SLIDE 12

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
slide-13
SLIDE 13

Tilman Wolf 13

WaveVideo WaveVideo under Congestion under Congestion

PSNR (dB)

Passive queuing Lossless Active queuing

slide-14
SLIDE 14

Tilman Wolf 14

WaveVideo WaveVideo Visualization Visualization

Drop occurs in high frequency sub bands Drop across all sub bands

slide-15
SLIDE 15

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

slide-16
SLIDE 16

Tilman Wolf 16

Next Class Next Class

  • Introduction of Network Processors

– Read chapters 11 & 12