[Ns-developers] GSoC '10: Click Modular Router Integration

Lalith Suresh suresh.lalith at gmail.com
Sat Mar 6 05:15:04 PST 2010


Hello Ruben,

On Fri, Feb 26, 2010 at 1:53 AM, Ruben Merz
<ruben at net.t-labs.tu-berlin.de>wrote:

> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Hi Lalith
>
> On 2/25/10 8:01 PM, Lalith Suresh wrote:
> > Hello all,
> >
> > I'll be applying to ns-3 for GSoC '10. Out of the many (very interesting)
> > projects that are listed on the wiki, I've narrowed myself down to ns-3
> > Click.
> >
> > I've read one of the papers regarding Click and I'm slowly getting an
> idea
> > of it's possible implementation in ns-3. A single Router object can hold
> a
> > graph of Element objects depending on push-pull links between elements.
> > Primitive Element classes can be implemented (queues for instance), which
> > could be used to form complex Elements using appropriate methods. A layer
> > around the simulator scheduler could be used intelligently to handle the
> > Click work list. Timer objects could be used for the Click timers
> > themselves. I'm still figuring things out though. :)
> >
> > There was also a post on the ns-3-users list by a user who found that the
> > ns-2 implementation of Click had some limitations which made it difficult
> to
> > use. In this regard, can you please suggest some details I shouldn't
> > overlook so that these limitations can be avoided in the new design? I'll
> > also be going through the ns-2 version before I finalise my proposal.
> >
> > Please keep the suggestions flowing so that I can prepare my proposal as
> > early as possible. :)
>
> A few suggestions:
>
> - - Read the ns-click paper and read their source code
> - - An ns-3/Click simulator should handle both wired and wireless
> interfaces
> - - An ns-3/Click simulator should be able to deliver layer 3 packet to
> the layer 2 or layer 2 packets to the physical layer
> - - An ns-3/Click simulator should allow any ns-3 traffic generator and
> transport to be used (as far as I remember, you can't have TCP with the
> current ns-click
> - - Each node in the simulator should be able to run a specific Click
> configuration
>
> Best
> Ruben
>
> - --
> Ruben Merz                   Deutsche Telekom Laboratories
> http://www.net.t-labs.tu-berlin.de/people/ruben_merz.shtml
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.10 (Darwin)
> Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
>
> iQEcBAEBAgAGBQJLhtwzAAoJEF+2tk4uvSJPUoYIAIuNVZf3XgzgsGojqEJgKro4
> buT5oWSpRVvfuaKuLR0I9PXngiBpSTTxZT37ArblMNBknSNPcN/+w+I59SPLK2sL
> SqkWwopCjhZMuyR6/8+rUyLUGjWmglLm/j4WEbrc05LMRxgVer/5EQXvyO9nBv+I
> lfKbUCIWGJ68LkuZY0PXnOLIsYuPS587zjOHC/SqdkphtgzLJO9xvxAVvvxJpKCH
> 0dMw5Lo+GiEPANq4664oGB73gRC0QBqap54LjmgYW8szuSx6PgCPsOlmdSQnxEiq
> n0u3fW1SC7rX0dwCM1hhANj0IDilPf9QAKVS/IF+CuSBCBsVsV9IjvTbr2KBIpc=
> =0A4S
> -----END PGP SIGNATURE-----
>

Thanks Ruben! I've been through the material you suggested. I've gotten a
better idea of the problem right now. A few things from my side:

1) As is used in the current implementation, we'll need to implement new
Click elements to get packets from the Simulator Devices (FromSimDevice,
ToSimDevice, which should replace FromDevice and SimDevice elements
respectively). A Kernel tap device is used to send packets from Click to the
layer above it on the stack (towards the application).
2) The reason why TCP isn't supported in nsclick is because with ns-2, Raw
Packets had to be enforced since Click understands only wire frame format
packets. In ns-3, this shouldn't be much of a problem since packet headers
are Serialized/Deserialized.
3) A new API should be implemented to allow Click to talk with the ns-3
Simulation environment. This includes tracking events, and using the
Simulator Time (that is, the value given by Simulator::Now() instead of
gettimeofday() to refer to the current time).
4) In an nsclick network interface, a ClickQueue is used between the LL and
MAC layers. I'm a little confused about this and I am trying to figure it
out.

-- 
Thanks and regards,
Lalith Suresh
Department of Computer Engineering
Malaviya National Institute of Technology, Jaipur
+91-9982190365 , www.lalith.in


More information about the Ns-developers mailing list