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

Re: conceptual questions





> Ok. Suppose then that it's not a sink, but instead an agent of another
> transport-level protocol. And that this agent receives packets from 
> other agents.
> Would ns allow me to set an upper-bound rate in the capacity of the 
> transport agent at this host, so that i could simulate implosion,
> or i'd simulate this within the code of the transport agent itself?
> 

Present ns version does not put any limits on the capacity on the absorption
of the agents. (I'm not familiar with SRM agents as such. You should check it
out yourself). But it should not be a big problem to add any such routines
to the code.

>how could i relate this to current ip routers? in a discussion with someone 
 else about simulations and routers, i am told...
 
> > 1/ a single shared buffer pool is to osimple - lots of router
> > implementations have a n-tier pool of common fixed length buffers -
> > e.g. minimum, average and max MTU buffers (for TCP ack, 40byte+mac
> > header, for average - say 576+ headers, and for max, depends on
> > interfaces.....ATM might be 9128, ether 1546 etc)
> >
> > 2/ can do congestion control on input queues in SOME newer routers
> > 
> > 3/the time to get a packet between input queue and output queue MAY be
> > varialbe with long tai l(e.g .shared bus router, or router where the
> > bus is preemtpted for the CPU to get at memory for a long computation
> > such as dijkstra SPF, as in some cisco models....)
> 
> 
> could you please comment that with ns in mind?
> 

ns Node does not emulate a real ip router. For e.g. they are no separate input 
and output buffers. THere are no forwarding delays. However, for most 'protocol' 
testing and sorts those things are not important or can be approximated. But if 
you 
do want to simulate specific forwarding delays etc. it provides ample 
flexibility to do so. For e.g. if you want to add a input buffer or forwarding 
delays you can inherit objects from queue or connector respectively and tune 
them to do what you want.

The above three functions you had mentioned at present are not in ns. But even 
with my limited knowledge about ns I can safely say that you could actually put
in those into the ns code. (Most of the times I get by by trying to simulate the 
effect than actually tweaking ns modules to look like real routers. For e.g. I 
could potentially add forwarding delays to the link delays if forwarding delays 
is not what I'm investigating). However, if you are keen on doing these to ns 
code then there are two things I suggest you look into closely and that should
be very helpful.

1. Kevin's implementation of CBQ. A great exaple of how to use simple ns modules 
and obtain any complex structure you want.
2. Node implementation for multicast siulation. It should help you in figuring
out how add things to a node/router.

good luck
kedar