JensMuellerRestricted: Difference between revisions

From
Jump to navigation Jump to search
mNo edit summary
mNo edit summary
Line 1: Line 1:
=Problems with smn-1=
* eth0 IP: 192.168.3.12
* wlan0 MAC: 00:0E:8E:01:A6:8B

=Routing in Wireless Multi Hop Networks=
=Routing in Wireless Multi Hop Networks=
Routing in wireless Networks
Routing in wireless Networks

Revision as of 12:58, 16 March 2006

Problems with smn-1

  • eth0 IP: 192.168.3.12
  • wlan0 MAC: 00:0E:8E:01:A6:8B

Routing in Wireless Multi Hop Networks

Routing in wireless Networks Things to consider

  • Negative effects
    • self interference
  • Postive effects
    • Broadcast nature

Optimizing problems:

  • Minimizing transmissions (via Network Coding and ExOR)
  • Minimizing collisions (difficult: extended RTS/CTS? and using 802.11 non overlapping channels)

We optimize the traffic only. We could also optimize the route discovery and route maintainance, but we assume this is less important (seen the entire traffic).

Engineering

Routingprotokolle aus Nachrichtensicht Layer 3 - Flooding - Multicast - Unicast

Layer 2 - Broadcast (lokal) - Multicast - Unicast

Die Idee ist, dass alle Routingprotokolle Nachrichten versenden müssen. In diese Nachrichten-Elemente steckt man dann nur noch den Payload.

Cruise Control

I set up CruiseControl for continous integration. At the moment only JiST+ExOR is under control. Go to CruiseControl on brn-suse093-1 to get an impression. Other projects (E.g. click) will be added soon.

Need to added further project with dependencies to CruiseControl. E.g.:

  • click (i386, mips)
  • madwifi (-"-)

IvyCruise - dependencies with Cruise Control

My paper base

  • The paper "Click vs. Linux: Two Efficient Open-Source IP Network Stacks for Software Routers" [1] compares the Linux IP stack with Click (runnung an IP stack). They assume a router running on cheap PC hardware performs better than a router with specialized hardware. Different measurements are done and in summary Click performs better. (But this is not surprising.)

The paper was published under a project called "University Experiment of an Open Router" [2], which "focuses on building a flexible and high-performance packet switch around a Personal Computer (PC) architecture with a free hardware/software implementation".


Gateway

This is about the implementation of self-configuring internet access for BRN using Click mainly. (Need to explain design and implementation here (from the official gateway wiki site).)

Planned versions:

  • GatewayTester:
    • ICMP ping based
    • User traffic based
    • DNS query based
    • Challenge response based (with other mesh nodes)
  • Handling of TCP:
    • A GatewaySelector, which respects open TCP connections
    • A centralized "master" gateway (mesh gateways tunnel packets to)
    • Maybe handing TCP connections over to other mesh node?

ToDO

  • Recognize and handle NATed gateways
  • Is the GatewaySelector able to determine, if a mesh node is a gateway?
  • User feedback via LEDs

Further and dependent issues:

  • Connecting mesh nodes via ip tunnels
  • Connection mesh nodes via ethernet
  • Difficult to recognize, if an attached node is a client or a mesh node?

Known problems

  • Tried to implement an element by inheritance (a diamond), which is possible in C++. But it did not worked in Click. Maybe somebody has a working example. I tried virtual and so on, but it did not compile. In Click's configure method, you can only get an element. I wanted to convert an element of type A to type B without knowing the precise type of the given element.
    E
   / \
  /   \
 /     \
A       B
 \     /
  \   /
   \ /
    ?

This is not possible (my experience), since I don't know what ? is. I would need to cast the given element of type E to ? and then cast ? to A. You can use the delegation pattern to bypass the diamond.

WRAP and LEDs

Sentry5 - the netgear SoC (system on a chip)

Crpyto Acceleration in Linux

Embed Click into JiST

Planned to be done via JNI.

Nsclick

+-----------+ | | | MAC | | | +-----------+

       |
       | wie FromHost ()
       +------------------> +-----------+
                            |           |
                            |   Click   |
               ToDevice     |           |
              +------------ +-----------+
              |                     ^
              |                     |
              |                     |
              V                     |
       +-------------+              |
       |             |              |
       |     PHY     +--------------+
       |             |   FromDevice
       +-------------+

Scratch