p2psp team mailing list archive
-
p2psp team
-
Mailing list archive
-
Message #00264
Re: NAT Traversal Set of rules implementation
On Thu, Jul 23, 2015 at 10:32 PM Max Mertens <max.mail@xxxxxxxxxx> wrote:
> Hi everyone,
>
> now continuous hello packets between peers are implemented as well, next
> thing is the port prediction for sequentially allocating NATs.
> When testing the code, I noticed that the SYMPP<->SYMPP combination "does
> not work", i.e. the peers (apart from monitor) do not receive packets from
> each other.
> Theoretically it should work like this:
>
> - peer1, port 1234 sends "hello" to peer2, port 2345
> - NAT entry is created at peer1, but packet does not reach peer2
> because its NAT does not know peer1
> - peer2, port 2345 sends "hello" to peer1, port 1234
> - NAT entry is created at peer2, and packet reaches peer1 because a
> NAT entry was created before
>
> But when testing this on the virtual machines, the peers (apart from
> monitor) sometimes (i.e. in some test runs) do not receive any packet from
> each other, although hello packets are sent continuously from both sides.
> When running the nts_tests program with a splitter and two peers, I get
> the same result, that sometimes the peers receive messages from each other,
> and in some test runs not.
> The NAT entries of exactly the same test (nts_tests) run twice are as
> follows (output of netstat-nat):
> NAT of peer 1 when the connection works:
>
> Proto NATed Address Destination Address State
> udp 192.168.56.4:12252 192.168.57.6:12252
> ASSURED # to splitter
> udp 192.168.56.4:12252 192.168.57.5:12252
> ASSURED # to peer 2
>
> NAT of peer 2:
>
> Proto NATed Address Destination Address State
> udp 192.168.58.5:12252 192.168.57.6:12252
> ASSURED # to splitter
> udp 192.168.58.5:12252 192.168.57.4:12252
> ASSURED # to peer 1
>
> NAT of peer 1 when the connection does not work:
>
> Proto NATed Address Destination Address State
> udp 192.168.56.4:11242 192.168.57.6:11242
> ASSURED # to splitter
> udp 192.168.56.4:11242 192.168.57.5:11242
> UNREPLIED # to peer 2
>
> NAT of peer 2:
>
> Proto NATed Address Destination Address State
> udp 192.168.58.5:11242 192.168.57.6:11242
> ASSURED # to splitter
> udp 192.168.58.5:11242 192.168.57.4:11242
> UNREPLIED # to peer 1
>
> So something seems to be wrong in the NAT simulation. As packets are sent
> continuously between the peers to the correct ports, either I completely
> overlooked something or there has to be a bug in the linux
> netfilter/masquerading modules. The python network stack or the virtual
> machines cannot be the reason because the issue is NAT type specific. What
> do you think about this?
>
>
Hi again,
could be a problem of network congestion (using UDP sometimes routers and
NAT devices drop packets if they arrive without pause)? Maybe a time-stamp
in the debug outputs (such as the one you sent in your previous email)
could help.
Sorry, now I have not any other idea ...
Regards,
Vicente.
--
--
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
References
-
NAT Traversal Set of rules implementation
From: Max Mertens, 2015-06-06
-
Re: NAT Traversal Set of rules implementation
From: Max Mertens, 2015-06-14
-
Re: NAT Traversal Set of rules implementation
From: Vicente Gonzalez, 2015-06-15
-
Re: NAT Traversal Set of rules implementation
From: Max Mertens, 2015-06-21
-
Re: NAT Traversal Set of rules implementation
From: Vicente Gonzalez, 2015-06-22
-
Re: NAT Traversal Set of rules implementation
From: Max Mertens, 2015-06-24
-
Re: NAT Traversal Set of rules implementation
From: Vicente Gonzalez, 2015-06-25
-
Re: NAT Traversal Set of rules implementation
From: Max Mertens, 2015-06-25
-
Re: NAT Traversal Set of rules implementation
From: Max Mertens, 2015-06-28
-
Re: NAT Traversal Set of rules implementation
From: Vicente Gonzalez, 2015-06-29
-
Re: NAT Traversal Set of rules implementation
From: Max Mertens, 2015-07-01
-
Re: NAT Traversal Set of rules implementation
From: Max Mertens, 2015-07-02
-
Re: NAT Traversal Set of rules implementation
From: Vicente Gonzalez, 2015-07-03
-
Re: NAT Traversal Set of rules implementation
From: Max Mertens, 2015-07-03
-
Re: NAT Traversal Set of rules implementation
From: Max Mertens, 2015-07-08
-
Re: NAT Traversal Set of rules implementation
From: Vicente Gonzalez, 2015-07-09
-
Re: NAT Traversal Set of rules implementation
From: Max Mertens, 2015-07-11
-
Re: NAT Traversal Set of rules implementation
From: Vicente Gonzalez, 2015-07-13
-
Re: NAT Traversal Set of rules implementation
From: Max Mertens, 2015-07-13
-
Re: NAT Traversal Set of rules implementation
From: Max Mertens, 2015-07-17
-
Re: NAT Traversal Set of rules implementation
From: Max Mertens, 2015-07-22
-
Re: NAT Traversal Set of rules implementation
From: Max Mertens, 2015-07-23