Reaves.dev

v0.1.0

built using

Phoenix v1.7.12

Active Networks

Stephen M. Reaves

::

2024-03-11

Notes about Lecture 5d for CS-6210

Summary

Routing on the Internet

Active routing means finding “next-hop” by executing code, rather than by looking it up in a table.

How can we write the code and distribute it over all hardware the Internet runs on? Who can write this code?

How to Implement?

vision implementation

ANTS Toolkit

Active Node Transfer System

Application level package, adds ANTS Header to payload (to make capsule)

Some routers have ANTS Hardware. If they do, they can process ANTS Header and do more advanced routing. If not, the regular IP header is processed normally.

Active networks are only at edges of network

ANTS Capsule + API

Gheader2IP hdrversiontypeprevhdrpayload

ANTS API

int getAddress();
ChannelObject getChannel();
Extension findExtension(String ext);
long time();

// Store code associated with "type"
Object put(Object key, Object val, int age);
Object get(Object key);
Object remove(Object key);

// Routing
void routeForNode(Capsule c, int n);
void deliverToApp(Capsule c, int a);
void log(String msg);

Capsule Implementation

Action on Capsule Arrival:

Potential Apps

Pros and Cons

Feasible