← Back to team overview

p2psp team mailing list archive

Re: GSoC' 15 Idea: NAT traversal using UDP hole punching

 

Hi!

2015-03-19 0:51 GMT+01:00 Cristóbal Medina López <
cristobalmedinalopez@xxxxxxxxx>:


>> According to your possible project ideas page, you would like to have
>> NAT traversal configured e.g. via UPnP (idea 10) to be implemented in
>> your software.
>> So now my question is, if it would be useful to the P2PSP project to
>> implement UDP hole punching and UDP tunneling, in Python or somehow as a
>> "set of rules" or protocol, to provide NAT traversal without UPnP
>> requirements?
>>
>>
> I'm sure that Vicente can provide more details of this project than me but
> I think that the ideal solution would be to work with any type of NAT.
> However it is not an easy task. Symmetric NATs are a big barrier. Thus, an
> implementation of the internet gateway device protocol could be useful (and
> enough) in order to work with most of NATs. I don't see it as a set of
> rules.
>
>
The P2PSP (like any other communication protocol) is defined by a
collection of rules. The main objective of grouping these rules into
disjoint sets is to facilitate the implementation by taking profit of the
advantages of the object-oriented programming and in particular, of the
inheritance. For example, if we some P2PSP community is going to stream in
a reliable network, IP multicast is not available and all hosts can see
each other directly (without NATs), the only class that need to be used is
DBS (or IMS if IP multicast can be used). However, if some hosts will be
behind "easy" NATs, the FNS class should be instantiated (see for example
the file splitter_fns.py), which obviously inherits from DBS (which defines
the most basic behaviour). This makes easier the life of the P2PSP
implementors and network administrators.

Summarising: new set of rules (in the form of Python classes) are always
welcome because they minimal affect to the rest of set of rules and can
extend the protocol functionality, without obscuring the implementation.
And of course, any improvement in the NAT's war is also interesting for us.

Regards,
Vi.

-- 
Vicente González Ruiz
Depto de Informática
Escuela Técnica Superior de Ingeniería
Universidad de Almería

Carretera Sacramento S/N
04120, La Cañada de San Urbano
Almería, España

e-mail: vruiz@xxxxxx
http://www.ual.es/~vruiz
tel: +34 950 015711
fax: +34 950 015486

Follow ups

References