[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: active networking in ns



At 14:09 15/10/99 +0200, you wrote:
>
>Are you talking about PANAMA's AN package for ns (Diane Kiwior)? I also
studied
>this implementation, but it looks quite specific to reliable multicast, and I
>found it difficult to apply to a more generic context.

Yes, I'm talking about PANAMA's AN pkg. But while it's true that it is
somewhat oriented towards multicast, it is also true that you can use
it with any other active protocol. I was a bit reluctant to use it at
first because I need to simulate large, complex networks and so I wanted
to remove everything not needed for my own protocol. I mean, my problem
was NOT that the pkg was not generic enought, but rather that I wanted
to keep things as simple as possible (to keep the overhead low).

>Therefore I started working on a generic implementation of Active
Networking in
>ns, which is intended to be as simple&stupid as possible, while fitting
the goals
>of enabling generic active network packets to be transmitted and executed,
using
>the IP-like packet forwarding model of ns. My simulation does not require
>modifying the classifier for the moment, although I guess that for
optimisation
>purposes I'll probably end up by doing it.
>
>What I do is to define "execution environment" agents (implemented as a
subclass
>of Agent/Message) that send "capsules" among themselves. These "capsules" are
>simply Agent/Message packets in which the "message" is the code to be
executed.
>For the moment the code I send is only the name of a tcl procedure
followed by
>parameters (therefore code loading/caching is not simulated). Using this
it is
>surprisingly simple to implement typical AN examples such as ping, multicast,
>etc.

A very interesting approach. This way you don't need to modify ns internals;
only define a new Agent (a generic active agent) while the details of the
active protocol being simulated are specified in Tcl code.

>For the moment I solve the routing problem by having the execution
environments
>"cheat": they look at the global ns static routing tables to find the next
"EE

So you can not use session or dynamic routing.

>hop" on the path towards a destination EE. A more elegant solution would
be to
>deploy an active routing protocol using IP as the link layer, but since I
don't
>need sophisticated routing at the moment, I can live with the "cheating"
>solution. The drawback of this solution is that I cannot benefit from IP
>multicast, so the multicast trees are not optimal, the same as when using
MBONE
>tunnels.
>
>If you and/or other people are interested I am glad to make my implementation
>available, but in this case I need some time to prepare a neat version for
>distribution...

I would really like to have a look at it, although I don't know if
this approach is better than PANAMA's for my particular purposes.
The only problem is that I need to complete the simulation stage
before the beginning of november, when I will be starting the
implementation of my protocol under MIT's ants toolkit.

Do you have a rough idea about how long would it take you to have
your code ready for distribution?

Regards,
G.

--
Guillermo Rodriguez Garcia
<[email protected]>