gpg: Signature made Tue Apr 25 22:37:29 2006 UTC using RSA key ID A3B7934B
gpg: Can't check signature: public key not found
On Wednesday 26 April 2006 00:05, Matthew Toseland wrote:
> > > - ARKs. If you can connect to one node, it can tell your other peers
> > > what your new address is via an Address Resolution Key or similar
> > > mechanism.
> >
> > Sounds interesting. We should discuss this in more detail. Could you
> > please describe was is already available and what should be implemented.
>
> ARKs were once implemented in 0.5, and didn't work (because routing
> didn't work). The idea is simply that you have an updatable key
> associated with each node, (on 0.7 it would be a USK), which contains
> the node's current reference. The identity and pubkey should not change,
> but the physical.udp can. When we have connected to the network but
> can't connect to all our peers, we look up our neighbour's ARKs (these
> are included on their references or are generated from their pubkeys),
> to find what their new IP is. This is designed as an in-freenet
> substitute for dyndns (which is blocked in China), but obviously doesn't
> work if you can't get a single connection up.
Sounds interesting. However, I think if I apply for SoC it would be enough if
I work on STUN and UPnP.
>
> > > Now, with regards to STUN, this is a mechanism whereby you can contact
> > > a well known server to discover your own IP address, and those of any
> > > NATs, in order to do hole punching? Note that if you can contact ANY of
> > > your peers, you can discover your IP anyway, tell your other peers what
> > > your IP is, and connect to them... Nonetheless, STUN support does sound
> > > useful (provided that STUN servers are widely deployed, that STUN
> > > clients are widely deployed, and that the way Freenet uses it will not
> > > distinguish it from other STUN clients). Is it feasible to do this in
> > > Java? Does it require raw packets? And is there already a (java)
> > > library out there to do it? (Less duplicated code => less bugs)!
> >
> > STUN does not only tell you your official ip address, instead it also
> > tells you what kind of NAT is in-between you and your communication peer.
> > This information can be helpful to setup a communication between two
> > hosts that are behind NATs.
>
> That is potentially useful yes; it could tell us that we are on the same
> LAN as the node, and we could publish our LAN address to our darknet
> peers.
I agree.
>
> > Yes, STUN is easily doable with Java. All you need are UDP packets. I
> > already started implementing a STUN library a few month ago because I
> > would like to use such a library in another tool. So far, the basic stuff
> > is implemented. However, I would like to develop additional features.
>
> Excellent. There aren't any existing libraries we could use? There are
> for UP&P...
A few month ago, I was looking for a STUN library. During my search I found
one STUN library. The library was a quick hack and unmaintained, so I decided
to develop my own STUN library.
There are a few UPnP-libraries out there. I think one of my SoC tasks should
be to evaluate the different libraries. If a particular library is
appropriate (regarding features, sourcecode quality, and license) I should
add this library. If I cannot find an appropriate library (probably very
unlikely) I should develop my own UPnP-library.